Controller, system and method for decoding codeword based on historical information
LDPC codewords may be decoded based on historical decoding information. In a decoding iteration, the value of flipping energy of a variable node in a codeword is computed based on information representing decoding of the codeword before the decoding iteration. A comparison result is obtained by comparing the value of flipping energy to a flipping energy threshold. The variable node is flipped in response to the comparison result satisfying a criterion.
1 . A method comprising:
in a decoding iteration, computing a value of flipping energy of a variable node in a codeword, based on information representing decoding of the codeword before the decoding iteration;
obtaining a comparison result by comparing the value of flipping energy to a flipping energy threshold; and
in response to the comparison result satisfying a criterion, flipping the variable node;
wherein computing the value of flipping energy comprises:
setting values of a first parameter and a second parameter based on an index of the decoding iteration;
setting values of a third parameter and a fourth parameter based on the information;
determining a value of a fifth parameter based on the values of the first parameter, the second parameter, the third parameter, the fourth parameter, and channel information of the variable node in the decoding iteration; and
normalizing the value of the fifth parameter as the value of flipping energy.
2 . The method of claim 1 , wherein the information comprises a time interval between the decoding iteration and a previous decoding iteration in which the variable node was flipped.
3 . The method of claim 1 , wherein the information comprises a previous value of flipping energy of the variable node in a previous decoding iteration.
4 . The method of claim 3 , wherein the variable node was flipped in the previous decoding iteration.
5 . The method of claim 1 , wherein the information comprises a time interval between the decoding iteration and a previous decoding iteration in which another variable node of the codeword was flipped; wherein the codeword comprises a check node whose value is a parity of a subset of variable nodes of the codeword and the variable node and the other variable node are both in the subset.
6 . The method of claim 1 , wherein the information comprises a previous value of flipping energy of another variable node of the codeword in a previous decoding iteration; wherein the codeword comprises a check node whose value is a parity of a subset of variable nodes of the codeword and the variable node and the other variable node are both in the subset.
7 . The method of claim 1 , wherein setting the values of the first parameter and the second parameter based on the index of the decoding iteration comprises comparing the index to an iteration index threshold.
8 . The method of claim 1 , wherein determining the value of the fifth parameter comprises determining whether channel mismatch is presence based on the channel information.
9 . The method of claim 1 , wherein the criterion is that the value of flipping energy is greater than the flipping energy threshold.
10 . The method of claim 1 , further comprising updating the flipping energy threshold based on check nodes of the codeword.
11 . The method of claim 1 , further comprising computing a syndrome weight of the codeword; in response to the syndrome weight being zero, transmitting the codeword to a host system.
12 . The method of claim 1 , further comprising receiving the codeword from a non-volatile memory.
13 . A controller, comprising a processor configured to implement the method of claim 1 .
14 . A system, comprising the controller of claim 13 , wherein the system is a solid-state drive (SSD), a flash drive, a mother board, a processor, a computer, a server, a gaming device, or a mobile device.
15 . A non-transitory machine-readable medium having information, wherein the information, when read by a hardware processor system, causes the hardware processor system to perform the method of claim 1 .