IP Library Granted Patent US 8,572,463
Granted Patent B2
US 8,572,463 · App. 13/035,770 · Granted Oct 29, 2013

Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size

Inventors: Lingqi Zeng (San Jose, CA); Yu Kou (San Jose, CA); Kin Man Ng (Cupertino, CA); Kwok W. Yeung (Milpitas, CA)
Assignee: SK hynix memory solutions inc.
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,572,463
App. No.
13/035,770
Granted
Oct 29, 2013
Kind
B2
Abstract

In processing quasi-cyclic low-density parity-check (QC-LDPC) data, an input signal is received which includes decision and reliability information corresponding to unpadded data. Decision and reliability information corresponding to padded data is introduced into the input signal. Message passing is performed one or more times to obtain decoded data. This includes using (1) the decision and reliability information corresponding to the unpadded data and (2) the decision and reliability information corresponding to the padded data, where a preference is given to the decision and reliability information corresponding to the unpadded data over the decision and reliability information corresponding to the unpadded data during message passing. Zero padding is removed from the decoded data.

Claims (35)

1. A system for processing quasi-cyclic low-density parity-check (QC-LDPC) data, comprising:

a multiplexer configured to receive an input signal, which includes decision and reliability information corresponding to unpadded data, and introduce into the input signal decision and reliability information corresponding to padded data;

a decoder configured to perform message passing one or more times to obtain decoded data, including by using (1) the decision and reliability information corresponding to the unpadded data and (2) the decision and reliability information corresponding to the padded data, including by giving preference to the decision and reliability information corresponding to the padded data over the decision and reliability information corresponding to the unpadded data during message passing; and

a filter configured remove zero padding from the decoded data.

2. The system recited in claim 1 , wherein the unpadded data is associated with data that is stored on storage and the unpadded data is associated with data that is not stored on the storage.

3. The system recited in claim 2 further comprising:

a pad table configured to store information indentifying which locations on the storage are associated with, but do not contain, padded data; and

a controller configured to access the pad table and determine, based at least in part on the stored information in the pad table, whether the input signal is associated with, but does not contain, padded data, wherein the signal injector, decoder and filter are configured to operate in the event it is determined the input signal is associated with, but does not contain, padded data.

4. The system recited in claim 2 , wherein the storage includes one or more of the following: magnetic disk storage or Flash storage.

5. The system recited in claim 1 , wherein message passing includes one or more of the following: sum product algorithm (SPA), minimum sum, scaled minimum sum, or offset minimum sum.

6. The system recited in claim 1 further comprising a soft output detector configured to generate the decision and reliability information corresponding to the unpadded data.

7. The system recited in claim 6 , wherein the soft output detector includes a soft output Viterbi decoder.

8. The system recited in claim 1 , wherein the generator matrix (G) includes a plurality of circulants (G i,j ) and storing the generator matrix includes storing, for at least one of the plurality of circulants, one and only one vector from said at least one of the plurality of circulants.

9. The system recited in claim 1 , wherein the parity check matrix (H) includes a plurality of circulants (H i,j ) and storing the parity check matrix includes storing, for at least one of the plurality of circulants, one and only one vector from said at least one of the plurality of circulants.

10. The system recited in claim 1 , wherein the parity check matrix (H) includes a plurality of circulants (H i,j ) and storing the parity check matrix includes storing, for at least one of the plurality of circulants, the location(s) of the 1's in one and only one vector from said at least one of the plurality of circulants.

11. The system recited in claim 10 , wherein storing the location(s) of the 1's is performed in the event the number of 1's in the parity check matrix is less than b/(ceil(log 2 (b))) where b is the circulant size.

12. The system recited in claim 10 , wherein storing the location(s) of the 1's includes storing the location(s) in non base 2.

13. A method for processing quasi-cyclic low-density parity-check (QC-LDPC) data, comprising:

receiving an input signal, which includes decision and reliability information corresponding to unpadded data;

introducing into the input signal decision and reliability information corresponding to padded data;

using a low-density parity-check (LDPC) decoder to perform message passing one or more times to obtain decoded data, including by using (1) the decision and reliability information corresponding to the unpadded data and (2) the decision and reliability information corresponding to the padded data, including by giving preference to the decision and reliability information corresponding to the padded data over the decision and reliability information corresponding to the unpadded data during message passing; and

removing zero padding from the decoded data.

14. The method recited in claim 13 , wherein the unpadded data is associated with data that is stored on storage and the unpadded data is associated with data that is not stored on the storage.

15. The method recited in claim 14 further comprising:

storing, in a pad table, information which indentifies which locations on the storage are associated with, but do not contain, padded data; and

accessing the pad table and determining, based at least in part on the stored information in the pad table, whether the input signal is associated with, but does not contain, padded data, wherein the introducing, message passing and removing are configured to be performed in the event it is determined the input signal is associated with, but does not contain, padded data.

16. The method recited in claim 14 , wherein the storage includes one or more of the following: magnetic disk storage or Flash storage.

17. The method recited in claim 13 , wherein message passing includes one or more of the following: sum product algorithm (SPA), minimum sum, scaled minimum sum, or offset minimum sum.

18. The method recited in claim 13 further comprising using a soft output detector to generate the decision and reliability information corresponding to the unpadded data.

19. The method recited in claim 18 , wherein the soft output detector includes a soft output Viterbi decoder.

20. A computer program product for processing quasi-cyclic low-density parity-check (QC-LDPC) data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an input signal, which includes decision and reliability information corresponding to unpadded data;

introducing into the input signal decision and reliability information corresponding to padded data;

performing message passing one or more times to obtain decoded data, including by using (1) the decision and reliability information corresponding to the unpadded data and (2) the decision and reliability information corresponding to the padded data, including by giving preference to the decision and reliability information corresponding to the padded data over the decision and reliability information corresponding to the unpadded data during message passing; and

removing zero padding from the decoded data.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2013
From: LINK_A_MEDIA DEVICES CORPORATION
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 029891/0126 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2011
From: ZENG, LINGQI; KOU, YU; NG, KIN MAN; YEUNG, KWOK W.
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 026122/0538 →
Continuity (5)
Continuation In Part 12970731 · Dec 16, 2010
Provisional Application 61339564 · Mar 4, 2010
Provisional Application 61330627 · May 3, 2010
Provisional Application 61337287 · Feb 1, 2010
Related Publication 20110191653A1 · Aug 4, 2011