IP Library Granted Patent US 8,935,598
Granted Patent B1
US 8,935,598 · App. 13/797,444 · Granted Jan 13, 2015

System and method for adaptive check node approximation in LDPC decoding

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,935,598
App. No.
13/797,444
Granted
Jan 13, 2015
Kind
B1
Abstract

A low-density parity check (LDPC) decoder is provided for decoding low-density parity check (LDPC) encoded data wherein an adaptive check node approximation is performed at the check node processor utilizing the smallest magnitude log-likelihood ratio (LLR) and the second smallest magnitude log-likelihood ratio (LLR) to adapt to the current conditions at the check node.

Claims (39)

1. A method for decoding low-density parity check (LDPC) encoded data, the method comprising:

receiving a plurality of log-likelihood ratios (LLRs) at a decoder, each of the plurality of LLRs representing one of a plurality of bits of an LDPC encoded codeword;

identifying a smallest LLR from the plurality of received LLRs, the smallest magnitude LLR having the smallest magnitude of the plurality of received LLRs;

identifying a second smallest LLR from the plurality of received LLRs, the second smallest LLR having the second smallest magnitude of the plurality of received LLRs that is equal to or greater than the smallest LLR;

determining an adaptive check node approximation of the bits of the encoded codeword using the smallest LLR and the second smallest LLR; and

decoding the encoded codeword using the adaptive check node approximation of the bits of the encoded codeword to provide an estimate of the LDPC encoded codeword.

2. The method of claim 1 , wherein receiving a plurality of LLRs further comprises, receiving the plurality of LLRs from a nonvolatile memory storage module.

3. The method of claim 1 , wherein receiving a plurality of LLRs further comprises, receiving the plurality of LLRs at a check node processor of the decoder.

4. The method of claim 1 , further comprising identifying a predetermined number of smallest LLRs from the plurality of received LLRs.

5. The method of claim 1 , wherein determining the adaptive check node approximation using the using the smallest LLR and the second smallest LLR further comprises, accessing a look-up table comprising the sum-product approximations for all possible combinations of the smallest LLR and the second smallest LLR.

6. The method of claim 1 , wherein determining the sum-product approximation using the using the smallest LLR and the second smallest LLR further comprises, accessing a reduced look-up table comprising the sum-product approximations for all possible combinations of the smallest LLR and a reduced number of the second smallest LLR.

7. The method of claim 1 , wherein determining the adaptive check node approximation using the using the smallest LLR and the second smallest LLR further comprises, utilizing combinatorial decode logic to determine a sum-product approximation.

8. The method of claim 1 , wherein decoding the encoded codeword using the adaptive check node approximation to provide an estimate of the LDPC encoded codeword further comprises:

performing check node processing utilizing the adaptive check node approximation and passing the check node approximation results to the associated variable nodes;

performing variable node processing for check node processing result; and

performing a check of the estimate of the LDPC encoded codeword to determine if the codeword estimate is a valid codeword.

9. The method of claim 8 , further comprising, after performing a check of the estimate of the LDPC encoded codeword to determine if the codeword estimate is a valid codeword:

if the codeword estimate is a valid codeword, outputting the codeword estimate from the decoder; and

if the codeword estimate is not a valid codeword, initiating another iteration of the decoding process beginning with performing check node processing.

10. An LDPC decoder for decoding low-density parity check (LDPC) encoded data, the LDPC encoded data comprising a plurality of log-likelihood ratios (LLRs), each of the plurality of LLRs representing one of a plurality of bits of an LDPC codeword encoded using a parity check matrix, the decoder comprising at least one processor configured to perform variable node processing and check node processing, the at least one processor for determining an adaptive check node approximation of the LDPC codeword using a smallest magnitude LLR of the plurality of LLRs and a second smallest magnitude LLR of the plurality of LLRs that is equal to or greater than the smallest magnitude LLR.

11. The decoder of claim 10 , wherein the at least one processor comprises a check node processor that further comprises:

an LLR magnitude identification circuit for identifying the smallest magnitude LLR and the second smallest magnitude LLR from the plurality of LLRs; and

a check node decode circuit coupled to the LLR magnitude identification circuit for determining the adaptive check node approximation of the codeword using the smallest LLR and the second smallest LLR identified by the LLR magnitude identification circuit.

12. The decoder of claim 10 , wherein the LDPC decoder comprises a look-up table comprising the sum-product approximations for all possible combinations of the smallest magnitude LLR and the second smallest magnitude LLR.

13. The decoder of claim 12 , wherein the look-up table is a reduced look-up table comprising the sum-product approximations for all possible combinations of the smallest LLR and a reduced number of the second smallest LLR.

14. The decoder of claim 10 , wherein the at least one processor comprises a check node processor that comprises combinatorial decode logic to determine the sum-product approximation of the codeword.

15. The decoder of claim 10 , wherein the at least one processor comprises a check node processor that determines the adaptive check node approximation of the LDPC codeword using a predetermined number of smallest magnitude LLRs of the plurality of LLRs.

16. The decoder of claim 10 , wherein the at least one processor comprises a check node processor, the decoder further comprising:

a variable node processor coupled to the check node processor, the variable node processor having circuitry for performing variable node processing from the check node approximation results; and

a codeword estimate check processor coupled to the variable node processor, the codeword estimate check processor having circuitry for performing a check of the estimate of the LDPC encoded codeword to determine if the codeword estimate is a valid codeword.

17. The decoder of claim 16 , further comprising circuitry for outputting the codeword estimate from the decoder if the codeword estimate is a valid codeword.

18. The decoder of claim 16 , further comprising an iteration counter comprising circuitry for initiating another iteration of the decoding process beginning with performing check node processing if the codeword estimate is not a valid codeword.

19. An LDPC decoder for decoding low-density parity check (LDPC) encoded data, the LDPC encoded data comprising a plurality of log-likelihood ratios (LLRs), each of the plurality of LLRs representing one of a plurality of bits of an LDPC codeword encoded using a parity check matrix, the decoder comprising:

a check node processor for determining an adaptive check node approximation of the LDPC codeword using a smallest magnitude LLR of the plurality of LLRs and a second smallest magnitude LLR of the plurality of LLRs that is equal to or greater than the smallest magnitude LLR;

a variable node processor coupled to the check node processor, the variable node processor having circuitry for performing variable node processing using the adaptive check node approximation; and

a codeword estimate check processor coupled to the variable node processor, the codeword estimate check processor having circuitry for performing a check of the estimate of the LDPC encoded codeword to determine if the codeword estimate is a valid codeword.

20. The decoder of claim 19 , wherein the check node processor further comprises:

an LLR magnitude identification circuit for identifying the smallest magnitude LLR and the second smallest magnitude LLR from the plurality of LLRs; and

a check node decode circuit coupled to the LLR magnitude identification circuit for determining the adaptive check node approximation of the codeword using the smallest LLR and the second smallest LLR identified by the LLR magnitude identification circuit.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME AND ADDRESS PREVIOUSLY RECORDED AT REEL: 037961 FRAME: 0519. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 15, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (US), INC.
Reel/Frame 038102/0874 →
CHANGE OF NAME Recorded Mar 1, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 037961/0519 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING AND RECEIVING PARTIES PREVIOUSLY RECORDED ON REEL 030832 FRAME 0604. ASSIGNOR(S) HEREBY CONFIRMS THE CONVEYING PARTY DATA: INTEGRATED DEVICE TECHNOLOGY, INC. TECEIVING: PMC-SIERRA US, INC. Recorded Jul 23, 2013
From: INTEGRATED DEVICE TECHNOLOGY, INC.
To: PMC-SIERRA US, INC.
Reel/Frame 030919/0040 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2013
From: PMC-SIERRA US, INC.
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 030832/0604 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2013
From: NORRIE, CHRISTOPHER I. W.
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 029977/0160 →