Layer specific LDPC decoder
First Claim
1. An apparatus to decode low-density parity check (LDPC) encoded data using a parity check matrix having a plurality of layers, comprising:
- a functional adjustment matrix containing functional adjustment parameters, each location in the functional adjustment matrix to provide a functional adjustment for a layer of the plurality of layers and an iteration of a plurality of iterations, the functional adjustment parameters including a first functional adjustment parameter for a first layer and a first iteration and a second functional adjustment parameter for a second layer and the first iteration, wherein the first functional adjustment parameter is different from the second functional adjustment parameter;
a check node processor coupled to the functional adjustment matrix, the check node processor having circuitry to perform check node processing on a plurality of values for each layer of the parity check matrix associated with a codeword utilizing an approximation to belief propagation, the check node processor configured to identify from the functional adjustment matrix a functional adjustment parameter for the particular layer and the particular iteration of the check node processing and configured to apply the identified functional adjustment parameter during the performing check node processing to alter the results of the check node processing;
a variable node processor coupled to the check node processor, the variable node processor having circuitry to perform variable node processing on a plurality of values for each layer of the parity check matrix associated with the codeword; and
a codeword estimate check processor coupled to the variable node processor, the codeword estimate check processor having circuitry to perform a check of an estimate of the codeword to determine if the estimate is valid.
6 Assignments
0 Petitions
Accused Products
Abstract
A method to decode low-density parity check (LDPC) encoded data using a parity check matrix having a plurality of layers, includes receiving a plurality of values at a decoder. Each value of the plurality of values represents one of a plurality of bits of an LDPC codeword encoded using the parity check matrix. The LDPC codeword is decoded using layered scheduling. A functional adjustment is applied to an approximation of belief propagation used during the decoding. At least one layer specific functional adjustment is used to provide an estimate of the codeword. An apparatus to decode low-density parity check (LDPC) encoded data using a parity check matrix having a plurality of layers includes a decoder. The decoder includes circuitry to decode, layer by layer, the LDPC encoded data utilizing functional adjustments and an algorithmic approximation to belief propagation to provide an estimate of the LDPC codeword. The functional adjustments include layer specific parameters for at least two layers of the parity check matrix associated with the codeword.
278 Citations
33 Claims
-
1. An apparatus to decode low-density parity check (LDPC) encoded data using a parity check matrix having a plurality of layers, comprising:
-
a functional adjustment matrix containing functional adjustment parameters, each location in the functional adjustment matrix to provide a functional adjustment for a layer of the plurality of layers and an iteration of a plurality of iterations, the functional adjustment parameters including a first functional adjustment parameter for a first layer and a first iteration and a second functional adjustment parameter for a second layer and the first iteration, wherein the first functional adjustment parameter is different from the second functional adjustment parameter; a check node processor coupled to the functional adjustment matrix, the check node processor having circuitry to perform check node processing on a plurality of values for each layer of the parity check matrix associated with a codeword utilizing an approximation to belief propagation, the check node processor configured to identify from the functional adjustment matrix a functional adjustment parameter for the particular layer and the particular iteration of the check node processing and configured to apply the identified functional adjustment parameter during the performing check node processing to alter the results of the check node processing; a variable node processor coupled to the check node processor, the variable node processor having circuitry to perform variable node processing on a plurality of values for each layer of the parity check matrix associated with the codeword; and a codeword estimate check processor coupled to the variable node processor, the codeword estimate check processor having circuitry to perform a check of an estimate of the codeword to determine if the estimate is valid. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A nonvolatile memory controller comprising:
-
an encoder configured to encode data using a low-density parity check (LDPC) matrix having a plurality of layers to generate a codeword; circuitry for storing a functional adjustment matrix containing functional adjustment parameters, each functional adjustment parameter corresponding to a layer of the plurality of layers and an iteration of a plurality of iterations, the functional adjustment parameters including a first functional adjustment parameter for a first layer and a first iteration and a second functional adjustment parameter for a second layer and the first iteration, wherein the first functional adjustment parameter is different from the second functional adjustment parameter; and a decoder having circuitry to perform check node processing on a plurality of values for each layer of the LDPC matrix associated with the codeword utilizing an approximation to belief propagation, the decoder configured to identify from the functional adjustment matrix a functional adjustment parameter for the particular layer and the particular iteration of the check node processing and configured to apply the identified functional adjustment parameter to alter the results of the check node processing, the decoder having circuitry to perform variable node processing on a plurality of values for each layer of the LDPC matrix associated with the codeword and having circuitry to perform a check of an estimate of the codeword to determine if the estimate is valid. - View Dependent Claims (26, 27, 28, 29)
-
-
30. A nonvolatile memory system comprising:
-
a plurality of nonvolatile memory devices; and a nonvolatile memory controller coupled to the nonvolatile memory devices, the nonvolatile memory controller including; an encoder configured to encode data using a low-density parity check (LDPC) matrix having a plurality of layers to generate a codeword; circuitry for storing in the nonvolatile memory system a functional adjustment matrix containing functional adjustment parameters, each functional adjustment parameter corresponding to a layer of the plurality of layers and an iteration of a plurality of iterations, the functional adjustment parameters including a first functional adjustment parameter for a first layer and a first iteration and a second functional adjustment parameter for a second layer and the first iteration, wherein the first functional adjustment parameter is different from the second functional adjustment parameter; and a decoder comprising; a check node processor coupled to the functional adjustment matrix, the check node processor having circuitry to perform check node processing on a plurality of values for each layer of the LDPC matrix associated with the codeword utilizing an approximation to belief propagation, the nonvolatile memory controller configured to identify from the functional adjustment matrix a functional adjustment parameter for the particular layer and the particular iteration of the check node processing and the check node processor configured to apply the identified functional adjustment parameter during the performing check node processing to alter the results of the check node processing; a variable node processor coupled to the check node processor, the variable node processor having circuitry to perform variable node processing on a plurality of values for each layer of the LDPC matrix associated with the codeword; and a codeword estimate check processor coupled to the variable node processor, the codeword estimate check processor having circuitry to perform a check of an estimate of the codeword to determine if the estimate is valid. - View Dependent Claims (31, 32, 33)
-
Specification