Patent classifications
H03M13/43
Memory controller and method for decoding memory devices with early hard-decode exit
A method and apparatus for decoding are disclosed. The method includes receiving a first Forward Error Correction (FEC) block of read values, starting a hard-decode process in which a number of check node failures is identified and, during the hard-decode process comparing the identified number of check node failures to a decode threshold. When the identified number of check node failures is not greater than the decode threshold the hard-decode process is continued. When the identified number of check node failures is greater than the decode threshold, the method includes: stopping the hard-decode process prior to completion of the hard-decode process; generating output indicating that additional reads are required; receiving one or more additional FEC blocks of read values, mapping the first FEC block of read values and the additional FEC blocks of read values into soft-input values; and performing a soft-decode process on the soft-input values.
Memory controller and method for decoding memory devices with early hard-decode exit
A method and apparatus for decoding are disclosed. The method includes receiving a first Forward Error Correction (FEC) block of read values, starting a hard-decode process in which a number of check node failures is identified and, during the hard-decode process comparing the identified number of check node failures to a decode threshold. When the identified number of check node failures is not greater than the decode threshold the hard-decode process is continued. When the identified number of check node failures is greater than the decode threshold, the method includes: stopping the hard-decode process prior to completion of the hard-decode process; generating output indicating that additional reads are required; receiving one or more additional FEC blocks of read values, mapping the first FEC block of read values and the additional FEC blocks of read values into soft-input values; and performing a soft-decode process on the soft-input values.
SCL PARALLEL DECODING METHOD AND APPARATUS AND DEVICE
Example successive cancellation list (SCL) parallel decoding methods and apparatus are described. One example method includes obtaining L.sub.1 first decoding paths of an (i−1).sup.th group of to-be-decoded bits after received data corresponds to P groups of to-be-decoded bits, where i is an integer, P is an integer greater than 1, 1<i≤P, and L.sub.1 is a positive integer. L.sub.3 third decoding paths is determined for each first decoding path, where a quantity of information bits in an i.sup.th group of to-be-decoded bits is n, n is a positive integer greater than or equal to 1, L.sub.3 is a positive integer, and L.sub.3<2.sup.n. At least one reserved decoding path of the i.sup.th group of to-be-decoded bits is determined from L.sub.1×L.sub.3 third decoding paths, where the at least one reserved decoding path includes a decoding result of the i.sup.th group of to-be-decoded bits.
SCL PARALLEL DECODING METHOD AND APPARATUS AND DEVICE
Example successive cancellation list (SCL) parallel decoding methods and apparatus are described. One example method includes obtaining L.sub.1 first decoding paths of an (i−1).sup.th group of to-be-decoded bits after received data corresponds to P groups of to-be-decoded bits, where i is an integer, P is an integer greater than 1, 1<i≤P, and L.sub.1 is a positive integer. L.sub.3 third decoding paths is determined for each first decoding path, where a quantity of information bits in an i.sup.th group of to-be-decoded bits is n, n is a positive integer greater than or equal to 1, L.sub.3 is a positive integer, and L.sub.3<2.sup.n. At least one reserved decoding path of the i.sup.th group of to-be-decoded bits is determined from L.sub.1×L.sub.3 third decoding paths, where the at least one reserved decoding path includes a decoding result of the i.sup.th group of to-be-decoded bits.
IMPROVING PERFORMANCE OF A BIT FLIPPING (BF) DECODER OF AN ERROR CORRECTION SYSTEM
Techniques are described for improving the decoding latency and throughput of an error correction system that includes a bit flipping (BF) decoder, where the BF decoder uses a bit flipping procedure. In an example, different decoding parameters are determined including any of a decoding number of a decoding iteration, a checksum of a codeword, a degree of a variable node, and a bit flipping threshold defined for the bit flipping procedure. Based on one or more of these decoding parameters, a decision can be generated to skip the bit flipping decoding procedure, thereby decreasing the decoding latency and increasing the decoding throughput. Otherwise, the bit flipping decoding procedure can be performed to compute a bit flipping energy and determine whether particular bits are to be flipped or not. Hence, the overall performance (e.g., bit error rate) is not significantly impacted.
IMPROVING PERFORMANCE OF A BIT FLIPPING (BF) DECODER OF AN ERROR CORRECTION SYSTEM
Techniques are described for improving the decoding latency and throughput of an error correction system that includes a bit flipping (BF) decoder, where the BF decoder uses a bit flipping procedure. In an example, different decoding parameters are determined including any of a decoding number of a decoding iteration, a checksum of a codeword, a degree of a variable node, and a bit flipping threshold defined for the bit flipping procedure. Based on one or more of these decoding parameters, a decision can be generated to skip the bit flipping decoding procedure, thereby decreasing the decoding latency and increasing the decoding throughput. Otherwise, the bit flipping decoding procedure can be performed to compute a bit flipping energy and determine whether particular bits are to be flipped or not. Hence, the overall performance (e.g., bit error rate) is not significantly impacted.
Performance of a bit flipping (BF) decoder of an error correction system
Techniques are described for improving the decoding latency and throughput of an error correction system that includes a bit flipping (BF) decoder, where the BF decoder uses a bit flipping procedure. In an example, different decoding parameters are determined including any of a decoding number of a decoding iteration, a checksum of a codeword, a degree of a variable node, and a bit flipping threshold defined for the bit flipping procedure. Based on one or more of these decoding parameters, a decision can be generated to skip the bit flipping decoding procedure, thereby decreasing the decoding latency and increasing the decoding throughput. Otherwise, the bit flipping decoding procedure can be performed to compute a bit flipping energy and determine whether particular bits are to be flipped or not. Hence, the overall performance (e.g., bit error rate) is not significantly impacted.
Performance of a bit flipping (BF) decoder of an error correction system
Techniques are described for improving the decoding latency and throughput of an error correction system that includes a bit flipping (BF) decoder, where the BF decoder uses a bit flipping procedure. In an example, different decoding parameters are determined including any of a decoding number of a decoding iteration, a checksum of a codeword, a degree of a variable node, and a bit flipping threshold defined for the bit flipping procedure. Based on one or more of these decoding parameters, a decision can be generated to skip the bit flipping decoding procedure, thereby decreasing the decoding latency and increasing the decoding throughput. Otherwise, the bit flipping decoding procedure can be performed to compute a bit flipping energy and determine whether particular bits are to be flipped or not. Hence, the overall performance (e.g., bit error rate) is not significantly impacted.
APPARATUS AND METHOD FOR ERROR RECOVERY IN MEMORY SYSTEM
A memory controller performs an error recovery operation. The controller performs a read operation on a select block using a select read level; decodes data associated with the read operation to generate a syndrome value; determines whether to stop, before a maximum number of iterations, the read operation and the decoding at the select read level, using the syndrome value; when it is determined to stop the read operation and the decoding at the select read level, selects a next read level in a sequence of read levels; and uses the next read level for a subsequent read operation.
APPARATUS AND METHOD FOR ERROR RECOVERY IN MEMORY SYSTEM
A memory controller performs an error recovery operation. The controller performs a read operation on a select block using a select read level; decodes data associated with the read operation to generate a syndrome value; determines whether to stop, before a maximum number of iterations, the read operation and the decoding at the select read level, using the syndrome value; when it is determined to stop the read operation and the decoding at the select read level, selects a next read level in a sequence of read levels; and uses the next read level for a subsequent read operation.