Bibliographische Detailangaben
| Titel: |
ERROR-CORRECTION DECODER EMPLOYING MULTIPLE CHECK-NODE ALGORITHMS |
| Document Number: |
20100241921 |
| Publikationsdatum: |
September 23, 2010 |
| Appl. No: |
12/680810 |
| Application Filed: |
April 08, 2009 |
| Abstract: |
In one embodiment, an LDPC decoder has a controller and one or more check-node units (CNUs). The CNUs generate check-node messages using a scaled min-sum algorithm, an offset min-sum algorithm, or a scaled and offset min-sum algorithm. Initially, the controller selects a scaling factor and an offset value. The scaling factor may be set to one for no scaling, and the offset value may be set to zero for no offsetting. If the decoder is unable to correctly decode a codeword, then (i) the controller selects a new scaling and/or offset value and (ii) the decoder attempts to correctly decode the codeword using the new scaling and/or offset value. By changing the scaling factor and/or offset value, LDPC decoders of the present invention may be capable of improving error-floor characteristics over LDPC decoders that use only fixed or no scaling factors or fixed or no offsetting factors. |
| Inventors: |
Gunnam, Kiran (San Jose, CA, US) |
| Claim: |
1. An apparatus comprising an error-correction (EC) decoder for decoding an EC-encoded codeword to recover a correct codeword, wherein: the decoder is adapted to generate a first set of messages based on an initial set of initial values generated by an upstream processor, wherein: the initial set corresponds to the EC-encoded codeword; and each initial value in the initial set corresponds to a different bit of the EC-encoded codeword; and the decoder comprises: one or more blocks adapted to convert the first set of messages into scaled-and-offset messages based on a scaling factor and an offset value; and a controller adapted to select the scaling factor and the offset value. |
| Claim: |
2. The apparatus of claim 1, wherein: the EC decoder comprises a variable-node unit adapted to generate variable-node messages; the first set of messages are the variable-node messages; and the one or more blocks (e.g., 310) are adapted to convert the variable-node messages into scaled-and-offset variable-node messages based on the scaling factor and the offset value. |
| Claim: |
3. The apparatus of claim 1, wherein: the EC decoder comprises a check-node unit adapted to generate check-node messages; the first set of messages are the check-node messages; and the one or more blocks (e.g., 346) are adapted to convert the check-node messages into scaled-and-offset check-node messages based on the scaling factor and the offset value. |
| Claim: |
4. The apparatus of claim 1, wherein: the EC decoder implements a min-sum algorithm; the EC decoder comprises a check-node unit adapted to generate first-minimum and second-minimum magnitude values of the min-sum algorithm; the first set of messages are the first-minimum and second-minimum magnitude values; and the one or more blocks (e.g., 334) are adapted to convert the first-minimum and second-minimum magnitude values into scaled-and-offset first-minimum and second-minimum magnitude values based on the scaling factor and the offset value. |
| Claim: |
5. The apparatus of claim 1, wherein: the controller is capable of setting the scaling factor to 1; and the controller is capable of setting the offset value to 0. |
| Claim: |
6. The apparatus of claim 1, wherein the one or more blocks comprise a scaling-and-offset block that performs both scaling and offsetting. |
| Claim: |
7. The apparatus of claim 1, wherein: the decoder is a low-density parity-check (LDPC) decoder; and the values received from the upstream processor are soft-output values having a hard-decision bit and one or more confidence-value bits. |
| Claim: |
8. The apparatus of claim 1, wherein the controller is adapted to (i) select an initial scaling factor and an initial offset value and (ii) subsequently modify at least one of the initial scaling factor and the initial offset value. |
| Claim: |
9. The apparatus of claim 8, wherein the controller modifies the at least one of the initial scaling factor and the initial offset value after the controller determines that the EC decoder does not converge on the correct codeword within a predetermined number of decoding iterations. |
| Claim: |
10. The apparatus of claim 8, wherein the controller is adapted to modify both the initial scaling factor and the initial offset value. |
| Claim: |
11. The apparatus of claim 8, wherein the controller is adapted to modify the initial scaling factor by incrementing the initial scaling factor by a specified scaling-factor increment. |
| Claim: |
12. The apparatus of claim 8, wherein the controller is adapted to modify the initial offset value by incrementing the initial offset value by a specified offset-value increment. |
| Claim: |
13. A method for decoding an error-correction (EC) encoded codeword to recover a correct codeword, the method comprising: (a) selecting a scaling factor and an offset value; (b) receiving an initial set of initial values from an upstream processor, wherein: the initial set corresponds to the EC-encoded codeword; and each initial value in the initial set corresponds to a different bit of the EC-encoded codeword; (c) generating a first set of messages based on the initial set of initial values; and (d) converting the first set of messages into scaled-and-offset messages based on the scaling factor and the offset value. |
| Claim: |
14. The method of claim 13, wherein: step (c) comprises generating variable-node messages as the first set of messages; and step (d) comprises converting the variable-node messages into scaled-and-offset variable-node messages based on the scaling factor and the offset value. |
| Claim: |
15. The method of claim 13, wherein: step (c) comprises generating check-node messages as the first set of messages; and step (d) comprises converting the check-node messages into scaled-and-offset check-node messages based on the scaling factor and the offset value. |
| Claim: |
16. The method of claim 13, wherein: step (c) comprises generating first-minimum and second-minimum magnitude values of a min-sum algorithm as the first set of messages; and step (d) comprises converting the first-minimum and second-minimum magnitude values into scaled-and-offset first-minimum and second-minimum magnitude values based on the scaling factor and the offset value. |
| Claim: |
17. The method of claim 13, wherein: step (a) comprises selecting an initial scaling factor and an initial offset value; step (d) comprises converting the first set of messages into scaled-and-offset messages based on the initial scaling factor and the initial offset value; and the method further comprises: (e) subsequently modifying at least one of the initial scaling factor and the initial offset value; (f) generating a second set of messages; and (g) converting the second set of messages into scaled-and-offset messages based on the initial scaling factor and the initial offset value as modified in step (e). |
| Claim: |
18. The method of claim 17, wherein the at least one of the initial scaling factor and the initial offset value is modified after determining that the method does not converge on the correct codeword within a predetermined number of decoding iterations. |
| Claim: |
19. The method of claim 13, wherein: the EC-encoded codeword is an LDPC-encoded codeword; and the values received from the upstream processor are soft-output values having a hard-decision bit and one or more confidence-value bits. |
| Claim: |
20. An apparatus for decoding an error-correction (EC) encoded codeword to recover a correct codeword, the apparatus comprising: (a) means for selecting a scaling factor and an offset value; (b) means for receiving an initial set of initial values from an upstream processor, wherein: the initial set corresponds to the EC-encoded codeword; and each initial value in the initial set corresponds to a different bit of the EC-encoded codeword; (c) means for generating a first set of messages based on the initial set of initial values; and (d) means for converting the first set of messages into scaled-and-offset messages based on the scaling factor and the offset value. |
| Current U.S. Class: |
714/752 |
| Current International Class: |
03; 06 |
| Dokumentencode: |
edspap.20100241921 |
| Datenbank: |
USPTO Patent Applications |