Patent classifications
H03M13/1111
Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines
A memory controller includes an interface and a processor. The interface communicates with memory cells organized in multiple Word Lines (WLs). The processor is configured to read a Code Word (CW) of an Error Correction Code (ECC) from a group of multiple memory cells belonging to a target WL, to calculate for a given memory cell (i) a first soft metric, depending on a first threshold voltage of a first neighbor memory cell in a first WL neighboring the target WL, and (ii) a second soft metric, depending on a second threshold voltage of a second neighbor memory cell in a second WL neighboring the target WL, to calculate a combined soft metric based on both the first and second soft metrics and assign the combined soft metric to the given memory cell, and to decode the CW based on the combined soft metric, to produce a decoded CW.
LAYERED SEMI PARALLEL LDPC DECODER SYSTEM HAVING SINGLE PERMUTATION NETWORK
The present invention relates to a layered semi-parallel LDPC decoder system having a single permutation network, and belongs to the field of decoder hardware design. The system comprises a layered decoding architecture of the single permutation network, a layered semi-parallel decoding architecture of the single permutation network, a pipeline design for layered semi-parallel decoding and a hardware framework of a layered semi-parallel LDPC decoder. The present invention removes a permutation network module between a check node and a variable node by modifying the cyclic shift value of each information block transferred from the variable node to the check node, i.e., the cyclic shift operation of the decoder can be completed through the single permutation network so as to reduce hardware resources of the decoder. A semi-parallel decoding structure is adopted, and meanwhile, a pipeline is added between half layers. Compared with a decoder with a layered full-parallel structure, a decoder with a semi-parallel structure has the degree of parallelism of a variable node equal to only half of the code length but can achieve ¾ of the throughput as well as reduce hardware resources by half.
BIT FLIPPING DECODER BASED ON SOFT INFORMATION
Methods, systems, and apparatuses include receiving a codeword stored in a memory device. Energy function values are determined for bits of the codeword based on soft information for the bits of the codeword. A bit of the codeword is flipped when the energy function values for a bit of the codeword satisfies a bit flipping criterion. A corrected codeword that results from the flipping of the bits is returned.
Optimal detection voltage obtaining method, reading control method and apparatus of memory
An optimal detection voltage obtaining method, a reading control method and an apparatus are provided. The method includes: obtain a plurality of first difference values and a plurality of second difference values, the second difference value characterizes a difference value of two detection voltages which are adjacent in numerical value, the first difference value characterizes a difference between numbers of memory cells whose threshold voltages respectively equal to the two detection voltages used by the second difference value; dividing the first difference by the second difference to obtain a plurality of tangent approximations; selecting a first tangent approximation and a second tangent approximation from the plurality of tangent approximations, the first tangent approximation is a positive number and the second tangent approximation is a negative number; calculating an optimal detection voltage according to the first tangent approximation, the second tangent approximation, a first detection voltage and a second detection voltage.
Recovering from hard decoding errors by remapping log likelihood ratio values read from NAND memory cells
Hard errors are determined for an unsuccessful decoding of codeword bits read from NAND memory cells via a read channel and input to a low-density parity check (LDPC) decoder. A bit error rate (BER) for the hard errors is estimated and BER for the read channel is estimated. Hard error regions are found using a single level cell (SLC) reading of the NAND memory cells. A log likelihood ratio (LLR) mapping of the codeword bits input to the LDPC decoder is changed based on the hard error regions, the hard error BER, and/or the read channel BER.
Low gate-count encoding algorithm and hardware of flexible rate GLDPC ECC
Systems, devices, and methods for encoding information bits for storage, including encoding information bits and balance bits to obtain a first bit chunk of a first arrangement; permuting the first bit chunk to obtain a second bit chunk of a second arrangement; encoding the second bit chunk to obtain a third bit chunk of the second arrangement; permuting a first portion of the third bit chunk to obtain a fourth bit chunk of the first arrangement, and encoding the fourth bit chunk to obtain a fifth bit chunk of the first arrangement; permuting a second portion of the third bit chunk, and adjusting the balance bits based on the fifth bit chunk and the permutated second portion of the third bit chunk; adjusting the first arrangement based on the adjusted balance bits, and obtaining a codeword based on the adjusted first arrangement; and transmitting the codeword to a storage device.
DECODING METHOD, AND MEMORY STORAGE APPARATUS AND MEMORY CONTROL CIRCUIT UNIT USING THE SAME
A decoding method for low density parity code is provided. The method includes performing an iterative decoding operation for a codeword, wherein a plurality of Log-Likelihood-Ratios correspond respectively to a plurality of data bits of the codeword; determining whether the iterative decoding operation is successful; determining whether a perturbation condition is met if the iterative decoding operation is not successful; performing protect operation for a first Log-Likelihood-Ratio among the Log-Likelihood-Ratios, and performing a perturbation operation for a plurality of second Log-Likelihood-Ratios among the Log-Likelihood-Ratios, wherein the second Log-Likelihood-Ratios are different to the first Log-Likelihood-Ratio; and re-performing the iterative decoding operation for the codeword after finishing the perturbation operation.
DECODING METHOD, MEMORY STORAGE DEVICE AND MEMORY CONTROL CIRCUIT UNIT
A decoding method, a memory storage device, and a memory control circuit unit are provided. The decoding method includes: reading a codeword from a memory module and estimating error level information of the codeword; inputting the codeword and the error level information to an error checking and correcting circuit through a first message channel and a second message channel respectively; determining whether the error level information meets a default condition; if yes, inputting the codeword to a first decoding engine of the error checking and correcting circuit for decoding; otherwise, inputting the codeword to a second decoding engine of the error checking and correcting circuit for decoding, wherein a power consumption of the first decoding engine is lower than that of the second decoding engine, and a decoding success rate of the first decoding engine is lower than that of the second decoding engine. Therefore, an operating flexibility for decoding may be improved.
ADAPTIVE READ THRESHOLD VOLTAGE TRACKING WITH BIT ERROR RATE ESTIMATION BASED ON NON-LINEAR SYNDROME WEIGHT MAPPING
Adaptive read threshold voltage tracking techniques are provided that employ bit error rate estimation based on a non-linear syndrome weight mapping. An exemplary device comprises a controller configured to determine a bit error rate for at least one of a plurality of read threshold voltages in a memory using a non-linear mapping of a syndrome weight to the bit error rate for the at least one of the plurality of read threshold voltages.
DECODING APPARATUS, RECEPTION APPARATUS, ENCODING METHOD AND RECEPTION METHOD
A decoding apparatus includes input circuitry configured to receive coded data; and decoding circuitry configured to decode the coded data to obtain decoded data. The coded data are generated by using an encoding process at an encoding apparatus. The encoding process includes: (i) repeatedly collecting first data blocks included in the decoded data to generate at least one second data block; (ii) dividing at least one third data block included in the decoded data into fourth data blocks; (iii) allocating fifth data blocks included in the decoded data to respective sixth data blocks without collecting the first data blocks or dividing the at least one third data block; and (iv) performing an error correcting encoding on the at least one second data block, the fourth data blocks, and the sixth data blocks in accordance with a coding rate selected from a plurality of coding rates to generate parity data.