Patents by Inventor Naveen Muralimanohar

Naveen Muralimanohar has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10529394
    Abstract: Examples disclosed herein relate to a circuit having first and second analog processors and an analog-to-digital converter coupled to the first and second analog processors. The first analog processor provides a first analog signal having a voltage representing a function of a first vector and a second vector. The second analog processor provides a second analog signal having a voltage representing a function of a binary inverse of the first vector and the second vector. The analog-to-digital converter receives the first analog signal and the second analog signal, compares a signal selected from a group consisting of the first analog signal and the second analog signal to a reference voltage and based on the comparison to the reference voltage, determines a digital result representing the function of the first vector and the second vector.
    Type: Grant
    Filed: August 30, 2018
    Date of Patent: January 7, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Ali Shafiee Ardestani, Naveen Muralimanohar, Brent Buchanan
  • Publication number: 20200004648
    Abstract: While scheduled checkpoints are being taken of a cluster of active compute nodes distributively executing an application in parallel, a likelihood of failure of the active compute nodes is periodically and independently predicted. Responsive to the likelihood of failure of a given active compute node exceeding a threshold, the given active compute node is proactively migrated to a spare compute node of the cluster at a next scheduled checkpoint. Another spare compute node of the cluster can perform prediction and migration. Prediction can be based on both hardware events and software events regarding the active compute nodes.
    Type: Application
    Filed: June 29, 2018
    Publication date: January 2, 2020
    Inventors: Cong Xu, Naveen Muralimanohar, Harumi Kuno
  • Patent number: 10496855
    Abstract: A circuit includes an engine to compute analog multiplication results between vectors of a sub-matrix. An analog to digital converter (ADC) generates a digital value for the analog multiplication results computed by the engine. A shifter shifts the digital value of analog multiplication results a predetermined number of bits to generate a shifted result. An adder adds the shifted result to the digital value of a second multiplication result to generate a combined multiplication result.
    Type: Grant
    Filed: January 21, 2016
    Date of Patent: December 3, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Naveen Muralimanohar, Ben Feinberg
  • Publication number: 20190236111
    Abstract: Example implementations of the present disclosure relate to in situ transposition of the data values in a memory array. An example system may include a non-volatile memory (NVM) array, including a plurality of NVM elements, usable in performance of computations. The example system may include an input engine to input a plurality of data values for storage by a corresponding plurality of original NVM elements. The example system may further include a transposition engine to direct performance of the in situ transposition such that the plurality of data values remains stored by the original NVM elements.
    Type: Application
    Filed: January 27, 2016
    Publication date: August 1, 2019
    Inventors: Naveen Muralimanohar, Benjamin Feinberg, John Paul Strachan
  • Publication number: 20190238154
    Abstract: In some examples, a system performs a dynamic compression adaptation process that includes dynamically adjusting a compression algorithm used for performing data compression, and a location within an arrangement of different types of nodes at which the data compression is performed. Dynamically adjusting the compression algorithm and the location comprises selecting from among a plurality of different compression algorithms and from among locations at different nodes of the different types of nodes based on a state of the arrangement of different types of nodes and a characteristic of a workload for which the data compression is performed.
    Type: Application
    Filed: January 31, 2018
    Publication date: August 1, 2019
    Inventors: Naveen Muralimanohar, Cong Xu, Gregg B. Lesartre
  • Patent number: 10318420
    Abstract: A method to access a memory chip having memory banks includes processing read requests in a read queue, and when a write queue is filled beyond a high watermark, stopping the processing of the read requests in the read queue and draining the write queue until the write queue is under a low watermark. Draining the write queue include issuing write requests in an order based on information in the read queue. When the write queue is under the low watermark, the method includes stopping the draining of the write queue and again processing the read requests in the read queue.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: June 11, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Naveen Muralimanohar, Rajeev Balasubramonian
  • Patent number: 10303622
    Abstract: Techniques for writing data to a subset of memory devices are described. In one aspect, a block of data to be written to a line in a rank of memory may be received. The rank of memory may comprise a set of memory devices. The block of data may be compressed. The compressed block of data may be written to a subset of the memory devices that comprise the line. The unwritten portions of the line may not be used to store valid data.
    Type: Grant
    Filed: March 6, 2015
    Date of Patent: May 28, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Rajeev Balasubramonian, Naveen Muralimanohar, Gregg B. Lesartre, Paolo Faraboschi, Jishen Zhao
  • Patent number: 10289423
    Abstract: A system management controller with a consolidated memory is disclosed. The example computing device includes a processor to host an operating system and a system memory to be used by the processor to execute instructions. The computing device also includes a management controller to enable out-of-band management of the computing device. The management controller includes a consolidated memory device. A first memory block of the consolidated memory device is used by the management controller as a working memory and a second memory block of the consolidated memory device is used for long-term storage of programming instructions.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: May 14, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Vincent Nguyen, Chanh V. Hua, Ning Ge, Naveen Muralimanohar
  • Patent number: 10254988
    Abstract: Techniques for memory device writes based on mapping are provided. In one aspect, a block of data to be written to a line in a rank of memory may be received. The rank of memory may comprise multiple memory devices. The block of data may be written to a number of memory devices determined by the size of the block of data. A memory device mapping for the line may be retrieved. The mapping may determine the order in which the block of data is written to the memory devices within the rank. The block of data may be written to the memory devices based on the mapping.
    Type: Grant
    Filed: March 12, 2015
    Date of Patent: April 9, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Rajeev Balasubramonian, Gregg B. Lesartre, Robert Schreiber, Jishen Zhao, Naveen Muralimanohar, Paolo Faraboschi
  • Patent number: 10241971
    Abstract: Hierarchical computation on sparse matrix rows is disclosed. One example is a circuit including a sparse row processor to identify a sparse row of a matrix, where the identified row has a number of non-zero entries less than a threshold, associate a sub-vector of an input vector with a sub-row of the identified row, where the sub-row comprises the non-zero entries of the identified row, and where entries in the sub-vector correspond to the non-zero entries in the identified row in a multiplication operation, and map entries in the matrix to an engine formed from a memristor array. A stream buffer queues sub-vectors based on a position of associated sub-rows of identified sparse rows. The engine computes analog multiplication results between sub-rows and their associated sub-vectors, where each column of the array is configured to hierarchically compute multiple multiplication results based on the queue.
    Type: Grant
    Filed: December 15, 2016
    Date of Patent: March 26, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventor: Naveen Muralimanohar
  • Publication number: 20190065118
    Abstract: In an example, a method includes receiving input data and dividing the input data into a plurality of data portions, wherein the size of each data portion is based on a significance level. The input data may be assigned to at least one resistive memory array. Assigning the input data to at least one resistive memory array may comprises at least one of (i) assigning at least one data portion of the input data to be represented by a resistive memory array representing a number of bits, wherein the number of bits represented within the resistive memory array is based on the size of the at least one data portion; and (ii) processing each data portion of the input data with at least one resistive memory array.
    Type: Application
    Filed: March 31, 2016
    Publication date: February 28, 2019
    Inventors: Naveen MURALIMANOHAR, Ali SHAFIEE ARDESTANI, Ben FEINBERG
  • Publication number: 20190065117
    Abstract: In an example, a method comprises receiving a first matrix of values to be mapped to a resistive memory array, wherein each value in the matrix is to be represented as a resistance of a resistive memory element. An outlying value may be identified in the first matrix. At least one value of a portion of the first matrix containing the outlying value may be substituted with at least one substitute value to form a substituted first matrix.
    Type: Application
    Filed: March 31, 2016
    Publication date: February 28, 2019
    Inventors: Naveen Muralimanohar, Ali Shafiee Ardestani
  • Publication number: 20190042411
    Abstract: In an example, a method includes identifying, using at least one processor, data portions of a plurality of distinct data objects stored in at least one memory which are to be processed using the same logical operation. The method may further include identifying a representation of an operand stored in at least one memory, the operand being to provide the logical operation and providing a logical engine with the operand. The data portions may be stored in a plurality of input data buffers, wherein each of the input data buffers comprises a data portion of a different data object. The logical operation may be carried out on each of the data portions using the logical engine, and the outputs for each data portion may be stored in a plurality of output data buffers, wherein each of the outputs comprising data derived from a different data object.
    Type: Application
    Filed: March 31, 2016
    Publication date: February 7, 2019
    Inventors: Naveen Muralimanohar, Ali Shafiee Ardestani
  • Publication number: 20190034201
    Abstract: Examples disclosed herein include a dot product engine, which includes a resistive memory array to receive an input vector, perform a dot product operation on the input vector and a stored vector stored in the memory array, and output an analog signal representing a result of the dot product operation. The dot product engine includes a stored negation indicator to indicate whether elements of the stored vector have been negated, and a digital circuit to generate a digital dot product result value based on the analog signal and the stored negation indicator.
    Type: Application
    Filed: January 30, 2016
    Publication date: January 31, 2019
    Inventors: Naveen MURALIMANOHAR, Ali SHAFIEE ARDESTANI
  • Patent number: 10175906
    Abstract: In an example, in a method for encoding data within a crossbar memory array containing cells, bits of input data may be received. The received bits of data may be mapped to the cells in a row of the memory array, in which the cells are to be assigned to one of a low resistance state and a high resistance state. A subset of the mapped bits in the row may be grouped into a word pattern. The word pattern may be arranged such that more low resistance states are mapped to cells that are located closer to a voltage source of the row of the memory array than to cells that are located farther away from the voltage source.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: January 8, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Naveen Muralimanohar, Erik Ordentlich, Cong Xu
  • Publication number: 20180373674
    Abstract: Examples herein relate to convolution accelerators. An example convolution accelerator may include a transformation crossbar array programmed to calculate a Fourier Transformation of a first vector with a transformation matrix and a Fourier Transformation of a second vector with the transformation matrix. A circuit of the example convolution accelerator may multiply the Fourier Transformation of the first vector with the Fourier Transformation of the second vector to calculate a product vector. The example convolution accelerator may have an inverse transformation crossbar array programmed to calculate an Inverse Fourier Transformation of the product vector according to an inverse transformation matrix.
    Type: Application
    Filed: August 1, 2018
    Publication date: December 27, 2018
    Inventors: Miao Hu, John Paul Strachan, Naveen Muralimanohar
  • Publication number: 20180373902
    Abstract: A circuit includes an engine to compute analog multiplication results between vectors of a sub-matrix, An analog to digital converter (ADC) generates a digital value for the analog multiplication results computed by the engine. A shifter shifts the digital value of analog multiplication results a predetermined number of bits to generate a shifted result. An adder adds the shifted result to the digital value of a second multiplication result to generate a combined multiplication result.
    Type: Application
    Filed: January 21, 2016
    Publication date: December 27, 2018
    Inventors: Naveen Muralimanohar, Ben Feinberg
  • Publication number: 20180374520
    Abstract: Examples disclosed herein relate to a circuit having first and second analog processors and an analog-to-digital converter coupled to the first and second analog processors. The first analog processor provides a first analog signal having a voltage representing a function of a first vector and a second vector. The second analog processor provides a second analog signal having a voltage representing a function of a binary inverse of the first vector and the second vector. The analog-to-digital converter receives the first analog signal and the second analog signal, compares a signal selected from a group consisting of the first analog signal and the second analog signal to a reference voltage and based on the comparison to the reference voltage, determines a digital result representing the function of the first vector and the second vector.
    Type: Application
    Filed: August 30, 2018
    Publication date: December 27, 2018
    Inventors: Ali Shafiee Ardestani, Naveen Muralimanohar, Brent Buchanan
  • Patent number: 10146619
    Abstract: According to an example, a method for assigning redundancy in encoding data onto crossbar memory arrays is provided wherein each of said crossbar memory arrays include cells. The data may be allocated to a subset of the cells in multiple crossbar memory arrays. The redundancy for the data may then be assigned based on coordinates of the subset of cells within the multiple crossbar memory arrays onto which the data is allocated.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: December 4, 2018
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Naveen Muralimanohar, Erik Ordentlich, Amit S. Sharma
  • Publication number: 20180341623
    Abstract: A circuit is provided. In an example, the circuit includes a memory array that includes a plurality of memory cells to store a matrix and a plurality of data lines coupled to the plurality of memory cells to provide a first set of values of the matrix. The circuit includes a multiplier coupled to the plurality of data lines to multiply the first set of values by a second set of values to produce a third set of values. A summing unit is included that is coupled to the multiplier to sum the third set of values to produce a sum. The circuit includes a shifting unit coupled to the summing unit to shift the sum and to add the shifted sum to a running total.
    Type: Application
    Filed: August 1, 2018
    Publication date: November 29, 2018
    Inventors: Ali Shafiee Ardestani, Naveen Muralimanohar