IP Library Granted Patent US 8,448,041
Granted Patent B1
US 8,448,041 · App. 12/970,731 · Granted May 21, 2013

Multistage LDPC encoding

Inventors: Lingqi Zeng (San Jose, CA); Abhiram Prabhakar (Fremont, CA); Kin Man Ng (Cupertino, CA); Yu Kou (San Jose, 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,448,041
App. No.
12/970,731
Granted
May 21, 2013
Kind
B1
Abstract

Low-density parity-check (LDPC) encoding is performed by encoding input data using a first sub-matrix of a parity check matrix to obtain intermediate data. The parity check matrix includes the first sub-matrix and a second sub-matrix having a matrix inversion. The intermediate data is encoded using the matrix inversion of the second sub-matrix of the parity check matrix.

Claims (57)

1. A system for performing low-density parity-check (LDPC) encoding, comprising:

a first encoder configured to encode input data using a first sub-matrix of a parity check matrix to obtain intermediate data, wherein:

the parity check matrix includes the first sub-matrix and a second sub-matrix having a matrix inversion;

the parity check matrix is an m×n matrix;

the first sub-matrix is an m×(n−m) matrix; and

the matrix inversion of the second sub-matrix is an m×m matrix; and

a second encoder configured to encode the intermediate data using the matrix inversion of the second sub-matrix of the parity check matrix.

2. The system of claim 1 , wherein the parity check matrix includes a quasi-cyclic low-density parity-check (QC-LDPC) parity check matrix.

3. The system of claim 1 , wherein the parity check matrix is a full rank matrix.

4. The system of claim 1 , wherein:

the second encoder is configured to encode the intermediate data by generating parity data; and

the system further includes a combiner configured to combine the parity data with the input data to obtain LDPC encoded data.

5. The system of claim 1 further comprising storage configured to store the encoded intermediate data generated by the first encoder.

6. The system of claim 1 further comprising a first buffer and a second buffer, wherein the first buffer is configured to store in the first buffer a first set of intermediate data received from the first encoder while simultaneously the second buffer is configured to pass a second set of intermediate data from the second buffer to the second encoder.

7. The system of claim 1 , wherein the first encoder is configured to:

divide up the input data into a plurality of portions; and

repeatedly use the first encoder to encode each of the plurality of portions.

8. A system for performing low-density parity-check (LDPC) encoding, comprising:

a first encoder configured to encode input data using a first sub-matrix of a parity check matrix to obtain intermediate data, wherein the parity check matrix includes the first sub-matrix and a second sub-matrix having a matrix inversion; and

a second encoder configured to encode the intermediate data using the matrix inversion of the second sub-matrix of the parity check matrix, wherein the second encoder is configured to:

divide up the intermediate data into a plurality of portions; and

repeatedly use the second encoder to encode each of the plurality of portions.

9. A method for performing low-density parity-check (LDPC) encoding, comprising:

using a first encoder to encode input data using a first sub-matrix of a parity check matrix to obtain intermediate data, wherein the parity check matrix includes the first sub-matrix and a second sub-matrix having a matrix inversion; and

using a second encoder to encode the intermediate data using the matrix inversion of the second sub-matrix of the parity check matrix, including by:

dividing up the intermediate data into a plurality of portions; and

repeatedly using the second encoder to encode each of the plurality of portions.

10. The method of claim 9 further comprising storing data encoded using the method recited in claim 9 in magnetic disk storage.

11. The method of claim 9 , wherein the parity check matrix includes a quasi-cyclic low-density parity-check (QC-LDPC) parity check matrix.

12. The method of claim 9 , wherein the parity check matrix is a full rank matrix.

13. The method of claim 9 , wherein:

using the second encoder includes generating parity data; and

the method further includes combining the parity data with the input data to obtain LDPC encoded data.

14. The method of claim 9 further comprising storing the encoded intermediate data generated by the first encoder.

15. The method of claim 9 further comprising using a first buffer to store a first set of intermediate data received from the first encoder and using a second buffer to simultaneously pass a second set of intermediate data from the second buffer to the second encoder.

16. The method of claim 9 , wherein using the first encoder includes:

dividing up the input data into a plurality of portions; and

repeatedly using the first encoder to encode each of the plurality of portions.

17. A method for performing low-density parity-check (LDPC) encoding, comprising:

using a first encoder to encode input data using a first sub-matrix of a parity check matrix to obtain intermediate data, wherein:

the parity check matrix includes the first sub-matrix and a second sub-matrix having a matrix inversion;

the parity check matrix is an m×n matrix;

the first sub-matrix is an m×(n−m) matrix; and

the matrix inversion of the second sub-matrix is an m×m matrix; and

using a second encoder to encode the intermediate data using the matrix inversion of the second sub-matrix of the parity check matrix.

18. A computer program product for performing low-density parity-check (LDPC) encoding, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

encoding input data using a first sub-matrix of a parity check matrix to obtain intermediate data, wherein:

the parity check matrix includes the first sub-matrix and a second sub-matrix having a matrix inversion;

the parity check matrix is an m×n matrix;

the first sub-matrix is an m×(n−m) matrix; and

the matrix inversion of the second sub-matrix is an m×m matrix; and

encoding the intermediate data using the matrix inversion of the second sub-matrix of the parity check matrix.

19. A computer program product for performing low-density parity-check (LDPC) encoding, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

encoding input data using a first sub-matrix of a parity check matrix to obtain intermediate data, wherein the parity check matrix includes the first sub-matrix and a second sub-matrix having a matrix inversion; and

encoding the intermediate data using the matrix inversion of the second sub-matrix of the parity check matrix, including by:

dividing up the intermediate data into a plurality of portions; and

repeatedly using the second encoder to encode each of the plurality of portions.

Assignments (2)
CHANGE OF NAME Recorded Feb 25, 2013
From: LINK_A_MEDIA DEVICES CORPORATION
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 029872/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2011
From: ZENG, LINGQI; PRABHAKAR, ABHIRAM; NG, KIN MAN; KOU, YU
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 025696/0280 →
Continuity (1)
Provisional Application 61337287 · Feb 1, 2010