Patents by Inventor Minghai Qin

Minghai Qin 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).

  • Publication number: 20200321983
    Abstract: Systems and methods for dynamically encoding and decoding binary numbers using linear-time algorithms that encode and decode Hamming Distance-Based representations for the binary numbers are described. The binary numbers may correspond with integer values, such as 64-bit, 128-bit, or 256-bit integer values. In some cases, in response to detecting that a binary number is to be stored using a particular type of memory (e.g., a phase change memory), the binary number may first be encoded using a Hamming Distance-Based representation and then the encoded data may be written to the particular type of memory. The binary number may be encoded by generating a binary string or a binary array representing the binary number such that if one bit flips within the binary string or the binary array, the maximum distortion in the number is less than a threshold amount (e.g., less than 256).
    Type: Application
    Filed: June 23, 2020
    Publication date: October 8, 2020
    Applicant: Western Digital Technologies, Inc.
    Inventor: Minghai Qin
  • Publication number: 20200319967
    Abstract: Systems and methods for implementing data protection techniques with symbol-based variable node updates for binary low-density parity-check (LDPC) codes are described. A semiconductor memory (e.g., a NAND flash memory) may read a set of data from a set of memory cells, determine a set of data state probabilities for the set of data based on sensed threshold voltages for the set of memory cells, generate a valid codeword for the set of data using an iterative LDPC decoding with symbol-based variable node updates and the set of data state probabilities, and store the valid codeword within the semiconductor memory or transfer the valid codeword from the semiconductor memory. The iterative LDPC decoding may utilize a message passing algorithm in which outgoing messages from a plurality of multi-variable nodes are generated using incoming messages (e.g., log-likelihood ratios or L-values) from a plurality of check nodes.
    Type: Application
    Filed: June 23, 2020
    Publication date: October 8, 2020
    Applicant: Western Digital Technologies, Inc.
    Inventor: Minghai Qin
  • Publication number: 20200311512
    Abstract: Use of a NAND array architecture to realize a binary neural network (BNN) allows for matrix multiplication and accumulation to be performed within the memory array. A unit synapse for storing a weight of a BNN is stored in a pair of series connected memory cells. A binary input is applied as a pattern of voltage values on a pair of word lines connected to the unit synapse to perform the multiplication of the input with the weight by determining whether or not the unit synapse conducts. The results of such multiplications are determined by a sense amplifier, with the results accumulated by a counter.
    Type: Application
    Filed: June 15, 2020
    Publication date: October 1, 2020
    Applicant: SanDisk Technologies LLC
    Inventors: Won Ho Choi, Pi-Feng Chiu, Wen Ma, Minghai Qin, Gerrit Jan Hemink, Martin Lueker-Boden
  • Publication number: 20200264953
    Abstract: Systems and methods are disclosed for error correction in data storage devices. In some implementations, a method is provided. The method includes obtaining configuration data indicating a logical arrangement for a set of blocks. The logical arrangement includes rows and columns of blocks. The configuration data also indicates a number of row parity blocks in a set of row parity blocks and a number of diagonal parity blocks in a set of diagonal parity blocks. The method also includes configuring a set of storage devices based on the configuration data, wherein a first number of data blocks in the set of diagonal parity blocks is less than a second number of data blocks in a column.
    Type: Application
    Filed: February 20, 2019
    Publication date: August 20, 2020
    Inventor: Minghai QIN
  • Publication number: 20200257936
    Abstract: Exemplary methods and apparatus are disclosed that implement super-sparse image/video compression by storing image dictionary elements within a cross-bar resistive random access memory (ReRAM) array (or other suitable cross-bar NVM array). In illustrative examples, each column of the cross-bar ReRAM array stores the values for one dictionary element (such as one 4×4 dictionary element). Methods and apparatus are described for training (configuring) the cross-bar ReRAM array to generate and store the dictionary elements by sequentially applying patches from training images to the array using an unstructured Hebbian training procedure. Additionally, methods and apparatus are described for compressing an input image by applying patches from the input image to the ReRAM array to read out cross-bar column indices identifying the columns storing the various dictionary elements that best fit the image. This may be done in parallel using a set of ReRAM arrays.
    Type: Application
    Filed: February 13, 2019
    Publication date: August 13, 2020
    Inventors: Wen Ma, Minghai Qin, Won Ho Choi, Pi-Feng Chiu, Martin Lueker-Boden
  • Patent number: 10727872
    Abstract: Systems and methods for dynamically encoding and decoding binary numbers using linear-time algorithms that encode and decode Hamming Distance-Based representations for the binary numbers are described. The binary numbers may correspond with integer values, such as 64-bit, 128-bit, or 256-bit integer values. In some cases, in response to detecting that a binary number is to be stored using a particular type of memory (e.g., a phase change memory), the binary number may first be encoded using a Hamming Distance-Based representation and then the encoded data may be written to the particular type of memory. The binary number may be encoded by generating a binary string or a binary array representing the binary number such that if one bit flips within the binary string or the binary array, the maximum distortion in the number is less than a threshold amount (e.g., less than 256).
    Type: Grant
    Filed: March 23, 2018
    Date of Patent: July 28, 2020
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventor: Minghai Qin
  • Patent number: 10691537
    Abstract: Techniques are presented for efficiently storing deep neural network (DNN) weights or similar type data sets in non-volatile memory. For data sets, such as DNN weights, where the elements are multi-bit values, bits of the same level of significance from the elements of the data set are formed into data streams. For example, the most significant bit from each of the data elements are formed into one data stream, the next most significant bit into a second data stream, and so on. The different bit streams are then encoded with differing strengths of error correction code (ECC), with streams corresponding to more significant bits encoded with stronger ECC code than streams corresponding to less significant bits, giving the more significant bits of the data set elements a higher level of protection.
    Type: Grant
    Filed: October 12, 2018
    Date of Patent: June 23, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: Chao Sun, Minghai Qin, Dejan Vucinic
  • Publication number: 20200192970
    Abstract: An innovative low-bit-width device may include a first digital-to-analog converter (DAC), a second DAC, a plurality of non-volatile memory (NVM) weight arrays, one or more analog-to-digital converters (ADCs), and a neural circuit. The first DAC is configured to convert a digital input signal into an analog input signal. The second DAC is configured to convert a digital previous hidden state (PHS) signal into an analog PHS signal. NVM weight arrays are configured to compute vector matrix multiplication (VMM) arrays based on the analog input signal and the analog PHS signal. The NVM weight arrays are coupled to the first DAC and the second DAC. The one or more ADCs are coupled to the plurality of NVM weight arrays and are configured to convert the VMM arrays into digital VMM values. The neural circuit is configured to process the digital VMM values into a new hidden state.
    Type: Application
    Filed: June 25, 2019
    Publication date: June 18, 2020
    Inventors: Wen Ma, Pi-Feng Chiu, Minghai Qin, Won Ho Choi, Martin Lueker-Boden
  • Publication number: 20200174881
    Abstract: Systems and methods for implementing data protection techniques with symbol-based variable node updates for binary low-density parity-check (LDPC) codes are described. A semiconductor memory (e.g., a NAND flash memory) may read a set of data from a set of memory cells, determine a set of data state probabilities for the set of data based on sensed threshold voltages for the set of memory cells, generate a valid codeword for the set of data using an iterative LDPC decoding with symbol-based variable node updates and the set of data state probabilities, and store the valid codeword within the semiconductor memory or transfer the valid codeword from the semiconductor memory. The iterative LDPC decoding may utilize a message passing algorithm in which outgoing messages from a plurality of multi-variable nodes are generated using incoming messages (e.g., log-likelihood ratios or L-values) from a plurality of check nodes.
    Type: Application
    Filed: November 29, 2018
    Publication date: June 4, 2020
    Applicant: Western Digital Technologies, Inc.
    Inventor: Minghai Qin
  • Publication number: 20200134443
    Abstract: Systems and methods are disclosed for storing neural networks and weights for neural networks. In some implementations, a method is provided. The method includes storing a plurality of weights of a neural network comprising a plurality of nodes and a plurality of connections between the plurality of nodes. Each weight of the plurality of weights is associated with a connection of the plurality of connections. The neural network comprises a binarized neural network. The method also includes receiving input data to be processed by the neural network. The method further includes determining whether a set of weights of the plurality of weights comprises one or more errors. The method further includes refraining from using the set of weights to process the input data using the neural network in response to determining that the set of weights comprises the one or more errors.
    Type: Application
    Filed: October 29, 2018
    Publication date: April 30, 2020
    Inventor: Minghai QIN
  • Publication number: 20200117539
    Abstract: Techniques are presented for efficiently storing deep neural network (DNN) weights or similar type data sets in non-volatile memory. For data sets, such as DNN weights, where the elements are multi-bit values, bits of the same level of significance from the elements of the data set are formed into data streams. For example, the most significant bit from each of the data elements are formed into one data stream, the next most significant bit into a second data stream, and so on. The different bit streams are then encoded with differing strengths of error correction code (ECC), with streams corresponding to more significant bits encoded with stronger ECC code than streams corresponding to less significant bits, giving the more significant bits of the data set elements a higher level of protection.
    Type: Application
    Filed: October 12, 2018
    Publication date: April 16, 2020
    Applicant: Western Digital Technologies, Inc.
    Inventors: Chao Sun, Minghai Qin, Dejan Vucinic
  • Publication number: 20200099401
    Abstract: Systems and methods are disclosed for decoding data. A first block of data may be obtained from a storage medium or received from a computing device. The first block of data includes a first codeword generated based on an error correction code. A first set of likelihood values is obtained from a neural network. The first set of likelihood values indicates probabilities that the first codeword will be decoded into one of a plurality of decoded values. A second set of likelihood values is obtained from a decoder based on the first block of data. The second set of likelihood values indicates probabilities that the first codeword will be decoded into one of the plurality of decoded values. The first codeword is decoded to obtain a decoded value based on the first set of likelihood values and the second set of likelihood values.
    Type: Application
    Filed: September 25, 2018
    Publication date: March 26, 2020
    Inventor: Minghai QIN
  • Patent number: 10566048
    Abstract: Apparatus, systems, methods, and computer program products for managing refresh operations in memory devices are disclosed. An apparatus includes a memory device including a plurality of memory cells comprising an associated set of counters and a controller for the memory device. A controller is configured to randomly increment a counter associated with a memory cell in response to write disturbances for the memory cell. A controller is configured, in response to a counter being randomly incremented to a predetermined count, perform a refresh operation on a memory cell.
    Type: Grant
    Filed: November 13, 2017
    Date of Patent: February 18, 2020
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Minghai Qin, Won Ho Choi, Zvonimir Bandic
  • Patent number: 10552251
    Abstract: Disclosed include a device and a method for storing a neural network. The device includes a plurality of memory cells configured to store weights of the neural network. The plurality of memory cells may include one or more faulty cells. The device further includes a processor coupled to the plurality of memory cells. The processor is configured to construct the neural network based on a structure of the neural network and a subset of the weights stored by the plurality of memory cells. The subset of the weights may exclude another subset of the weights stored by one or more memory cells comprising the one or more faulty cells.
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: February 4, 2020
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Minghai Qin, Dejan Vucinic, Chao Sun
  • Publication number: 20200034697
    Abstract: Use of a NAND array architecture to realize a binary neural network (BNN) allows for matrix multiplication and accumulation to be performed within the memory array. A unit synapse for storing a weight of a BNN is stored in a pair of series connected memory cells. A binary input is applied as a pattern of voltage values on a pair of word lines connected to the unit synapse to perform the multiplication of the input with the weight by determining whether or not the unit synapse conducts. The results of such multiplications are determined by a sense amplifier, with the results accumulated by a counter.
    Type: Application
    Filed: March 28, 2019
    Publication date: January 30, 2020
    Applicant: SanDisk Technologies LLC
    Inventors: Won Ho Choi, Pi-Feng Chiu, Wen Ma, Minghai Qin, Gerrit Jan Hemink, Martin Lueker-Boden
  • Publication number: 20200012924
    Abstract: Enhanced techniques and circuitry are presented herein for artificial neural networks. These artificial neural networks are formed from artificial neurons, which in the implementations herein comprise a memory array having non-volatile memory elements. Neural connections among the artificial neurons are formed by interconnect circuitry coupled to input control lines and output control lines of the memory array to subdivide the memory array into a plurality of layers of the artificial neural network. Control circuitry is configured to transmit a plurality of iterations of an input value on input control lines of a first layer of the artificial neural network for inference operations by at least one or more additional layers. The control circuitry is also configured to apply an averaging function across output values successively presented on output control lines of a last layer of the artificial neural network from each iteration of the input value.
    Type: Application
    Filed: November 5, 2018
    Publication date: January 9, 2020
    Inventors: Wen Ma, Minghai Qin, Won Ho Choi, Pi-Feng Chiu, Martin Van Lueker-Boden
  • Publication number: 20190311267
    Abstract: The system described herein can include neural networks with noise-injection layers. The noise-injection layers can enable the neural networks to be trained such that the neural networks are able to maintain their classification and prediction performance in the presence of noisy data signals. Once trained, the parameters from the neural networks with noise-injection layers can be used in the neural networks of systems that include resistive random-access memory (ReRAM), memristors, or phase change memory (PCM), which use analog signals that can introduce noise into the system. The use of ReRAM, memristors, or PCM can enable large-scale parallelism that improves the speed and computational efficiency of neural network training and classification. Using the parameters from the neural networks trained with noise-injection layers, enables the neural networks to make robust predictions and calculations in the presence of noisy data.
    Type: Application
    Filed: June 28, 2018
    Publication date: October 10, 2019
    Inventors: Minghai Qin, Dejan Vucinic
  • Patent number: 10430329
    Abstract: A device having a controller configured to interface with a host, a storage class memory configured to interface with the controller and a flash memory configured to interface with the controller, wherein both the storage class memory and the flash memory are configured to store data, and wherein the controller is configured to separate the data according to latency critical data and non-latency critical data.
    Type: Grant
    Filed: June 23, 2017
    Date of Patent: October 1, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Chao Sun, Adam Manzanares, Minghai Qin, Dejan Vucinic, Frank R. Chu
  • Patent number: 10387303
    Abstract: A memory system (e.g. a solid state drive) includes one or more non-volatile memory die, a controller in communication with the memory die and a compute engine inside the memory system that is near the location of the data and can be used to perform common data manipulation operations.
    Type: Grant
    Filed: August 9, 2017
    Date of Patent: August 20, 2019
    Assignee: Western Digital Technologies, Inc.
    Inventors: Pankaj Mehra, Vidyabhushan Mohan, Seung-Hwan Song, Dejan Vucinic, Chao Sun, Minghai Qin, Arup De
  • Patent number: 10373528
    Abstract: The present disclosure generally relates to a method of burning a file in a memory device after the file has been read. Once a file has been read, an algorithm uses the memory device to create errors that the error correction code (ECC) cannot decode the error. In creating the error, the entire word line is destroyed physically rather than logically so that retrieving information from that particular word line is no longer possible. In creating the error, adjacent word lines are not affected. The error renders the file burned.
    Type: Grant
    Filed: December 14, 2016
    Date of Patent: August 6, 2019
    Assignee: Western Digital Technologies, Inc.
    Inventors: Zvonimir Z. Bandic, Robert Eugeniu Mateescu, Minghai Qin, Chao Sun