Decoding codeword based on higher order information
AssigneeSK hynix Inc.
InventorsMeysam Asadi, Fan Zhang, Aman Bhatia
Life of this patent
Estimating the term…
Abstract
Techniques related to improving the decoding performance of codewords, such as LDPC codewords, are described. In an example, the error-correction capability of a decoding layer is improved, where the improvements may include lowering the error floor. To do so, higher order information is used in the decoding. Higher order information refers to, during the decoding of a variable node that is in error, using information that is not limited to the variable node and check nodes connected thereto, but includes information related to variable nodes that are also in error and connected to the variable node via satisfied check nodes and related to unsatisfied check nodes connected to such variable nodes.
Claims20
A method of decoding a low-density parity-check (LDPC) codeword, the method implemented by a computer system and comprising:
- determining, for a first variable node, a first set of one or more check nodes that are connected to the first variable node and that have parity check satisfied, and a second set of one or more check nodes that are connected to the first variable node and that have parity check unsatisfied, wherein the first variable node represents at least one bit of the LDPC codeword and is in error, the at least one bit corresponding to data being used by the computing system;
- determining, for the first variable node, a second variable node that is in error, connected to the first variable node via a check node of the first set, and at least two edges away from the first variable node;
- determining a third set of one or more check nodes that are connected to the second variable node and that have parity check unsatisfied;
- determining a bit-flipping decision on the at least one bit represented by the first variable node based on the second set and the third set;
- decoding the LDPC codeword based on the bit-flipping decision of the at least one bit;
- and
- correcting the data being used by the computing system based on the decoding of the LDPC codeword.
A computer system comprising:
- a memory storing a low-density parity-check (LDPC) codeword;
- and
- an LDPC decoder coupled with the memory and configured to:
- determine, for a first variable node, a first set of one or more check nodes that are connected to the first variable node and that have parity check satisfied and a second set of one or more check nodes that are connected to the first variable node and that have parity check unsatisfied, wherein the first variable node represents at least one bit of the LDPC codeword and is in error, the at least one bit corresponding to data being used by the computing system;
- determine, for the first variable node, a second variable node that is in error, connected to the first variable node via a check node of the first set, and at least two edges away from the first variable node;
- determine a third set of one or more check nodes that are connected to the second variable node and that have parity check unsatisfied;
- determine a bit-flipping decision on the at least one bit represented by the first variable node based on the second set and the third set;
- and
- decode the LDPC codeword based on the bit-flipping decision of the at least one bit, wherein the data being used by the computing system is corrected based on the decoding of the LDPC codeword.
A non-transitory computer readable storage medium storing instructions, that upon execution on a computer system, cause the computer system to perform operations comprising:
- determining, for a first variable node, a first set of one or more check nodes that are connected to the first variable node and that have parity check satisfied and a second set of one or more check nodes that are connected to the first variable node and that have parity check unsatisfied, wherein the first variable node represents at least one bit of a low-density parity-check (LDPC) codeword and is in error, the at least one bit corresponding to data being used by the computing system;
- determining, for the first variable node, a second variable node that is in error, connected to the first variable node via a check node of the first set, and at least two edges away from the first variable node;
- determining a third set of one or more check nodes that are connected to the second variable node and that have parity check unsatisfied;
- determining a bit-flipping decision on the at least one bit represented by the first variable node based on the second set and the third set;
- decoding the LDPC codeword based on the bit-flipping decision of the at least one bit;
- and
- correcting the data being used by the computing system based on the decoding of the LDPC codeword.
Dependencies are inferred from the claim text.