IP Library › Granted Patent US 8,464,142
Granted Patent B2
US 8,464,142 · App. 12/766,038 · Granted Jun 11, 2013

Error-correction decoder employing extrinsic message averaging

Inventors: Kiran Gunnam (San Jose, CA); Shaohua Yang (San Jose, CA); Changyou Xu (Fremont, CA)
Assignee: LSI Corporation
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,464,142
App. No.
12/766,038
Granted
Jun 11, 2013
Kind
B2
Abstract

In one embodiment, an LDPC decoder has a controller and an extrinsic log-likelihood (LLR) value generator. The extrinsic LLR value generator is selectively configurable to operate in either (i) a non-averaging mode that updates extrinsic LLR values without averaging or (ii) an averaging mode that updates extrinsic LLR values using averaging. Initially, the extrinsic LLR value generator is configured to generate non-averaged extrinsic LLR values, and the decoder attempts to recover an LDPC-encoded codeword using the non-averaged extrinsic LLR values. If the decoder is unable to recover the correct codeword, then (i) the controller selects the averaging mode, (ii) the extrinsic LLR value generator is configured to generate average extrinsic LLR values, and (iii) the decoder attempts to recover the correct codeword using the average extrinsic LLR values. Averaging the extrinsic LLR values may slow down the propagation of erroneous messages that lead the decoder to convergence on trapping sets.

Claims (54)

1. An apparatus comprising an error-correction decoder for recovering an error-correction-encoded codeword, the error-correction decoder comprising an extrinsic value generator adapted to:

(a) generate a current extrinsic value based on at least one check-node value, wherein the current extrinsic value corresponds to a bit of the error-correction-encoded codeword; and

(b) generate a current average extrinsic value based on the current extrinsic value and at least one previous extrinsic value, wherein the current average extrinsic value and the at least one previous extrinsic value correspond to the bit of the error-correction-encoded codeword.

2. The apparatus of claim 1 , wherein the extrinsic value generator comprises:

an adder that combines the current extrinsic value and the at least one previous extrinsic value to generate a sum; and

a multiplier that generates the current average extrinsic value based on the sum.

3. The apparatus of claim 1 , wherein the at least one previous extrinsic value is a previous average extrinsic value.

4. The apparatus of claim 1 , wherein the current average extrinsic value is provided from the error-correction decoder to a channel detector for use in improving channel detection.

5. The apparatus of claim 1 , wherein:

the error-correction decoder is a non-layered error-correction decoder; and

the current extrinsic value is generated by combining two or more check-node values.

6. The apparatus of claim 1 , wherein:

the error-correction decoder is a layered error-correction decoder; and

the current extrinsic value is updated for each of a plurality of sub-iterations, where each sub-iteration corresponds to a layer of a parity-check matrix used to decode the error-correction-encoded codeword.

7. The apparatus of claim 6 , wherein the error-correction decoder comprises:

a variable node unit that generates a variable-node message corresponding to the bit of the error-correction-encoded codeword;

a check-node unit that generates a check-node message corresponding to the bit of the error-correction-encoded codeword;

an adder that adds the variable-node message to the check-node message to generate a P value; and

an adder that subtracts a channel value corresponding to the bit of the error-correction-encoded codeword from the P value to generate the current extrinsic value.

8. The apparatus of claim 1 , wherein the extrinsic value generator is selectively configurable to operate in either one of (i) a non-averaging mode in which the current average extrinsic value is not generated and (ii) an averaging mode in which the current average extrinsic value is generated; and

the decoder further comprises a controller adapted to switch between the non-averaging mode and the averaging mode.

9. The apparatus of claim 8 , wherein the controller is adapted to:

(i) operate the extrinsic value generator in the non-averaging mode; and

(ii) switch the extrinsic value generator to the averaging mode to generate the current average extrinsic value, if the error-correction decoder fails to recover the error-correction-encoded codeword in the non-averaging mode.

10. The apparatus of claim 8 , wherein the controller is adapted to:

(i) operate the extrinsic value generator in the averaging mode;

(ii) determine a number of unsatisfied check nodes, if the error-correction decoder fails to recover the error-correction-encoded codeword in the non-averaging mode;

(iii) compare the number of unsatisfied check nodes to a specified threshold value; and

(iv) selectively switch, based on the comparison, the extrinsic value generator to the averaging mode to generate the current average extrinsic value.

11. The apparatus of claim 10 , wherein the controller switches the extrinsic value generator to the averaging mode if the comparison determines that the number of unsatisfied check nodes is less than the specified threshold value.

12. The apparatus of claim 1 , wherein the error-correction decoder is a low-density parity-check decoder.

13. An error-correction decoder implemented method for recovering an error-correction-encoded codeword, the method comprising:

(a) generating a current extrinsic value based on at least one check-node value, wherein the current extrinsic value corresponds to a bit of the error-correction-encoded codeword; and

(b) generating a current average extrinsic value based on the current extrinsic value and at least one previous extrinsic value wherein the current average extrinsic value and the at least one previous extrinsic value correspond to the bit of the error-correction-encoded codeword.

14. The method of claim 13 , wherein step (b) comprises:

(b1) combining the current extrinsic value and the at least one previous extrinsic value to generate a sum; and

(b2) generating the current average extrinsic value based on the sum.

15. The method of claim 13 , wherein the at least one previous extrinsic value is a previous average extrinsic value.

16. The method of claim 13 , comprising step (c) providing the current average extrinsic value from the error-correction decoder to a channel detector for use in improving channel detection.

17. The method of claim 13 , wherein:

the error-correction decoder performs non-layered error-correction decoding; and

step (a) comprises generating the current extrinsic value by combining two or more check-node values.

18. The method of claim 13 , wherein:

the error-correction decoder performs layered error-correction decoding; and

the current extrinsic value is updated for each of a plurality of sub-iterations, where each sub-iteration corresponds to a layer of a parity-check matrix used to decode the error-correction-encoded codeword; and

the method comprises:

generating a variable-node message corresponding to the bit of the error-correction-encoded codeword;

generating a check-node message corresponding to the bit of the error-correction-encoded codeword;

adding the variable-node message to the check-node message to generate a P value; and

subtracting a channel value corresponding to the bit of the error-correction-encoded codeword from the P value to generate the current extrinsic value.

19. The method of claim 13 , wherein the error-correction decoder is a low-density parity-check decoder.

20. An apparatus comprising an error-correction decoder for recovering an error-correction-encoded codeword, the apparatus comprising:

(a) means for generating a current extrinsic value based on at least one check-node value, wherein the current extrinsic value corresponds to a bit of the error-correction-encoded codeword; and

(b) means for generating a current average extrinsic value based on the current extrinsic value and at least one previous extrinsic value, wherein the current average extrinsic value and the at least one previous extrinsic value correspond to the bit of the error-correction-encoded codeword.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2010
From: GUNNAM, KIRAN; YANG, SHAOHUA; XU, CHANGYOU
To: LSI CORPORATION
Reel/Frame 024279/0219 →
Continuity (1)
Related Publication 20110264979A1 · Oct 27, 2011