Decoder supporting multiple code rates and code lengths for data storage systems
US-8966339-B1 · Feb 24, 2015 · US
US9548759B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9548759-B1 |
| Application number | US-201414554845-A |
| Country | US |
| Kind code | B1 |
| Filing date | Nov 26, 2014 |
| Priority date | Nov 26, 2013 |
| Publication date | Jan 17, 2017 |
| Grant date | Jan 17, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are provided for decoding low density parity check (LDPC) codes with different circulant sizes using common decoding circuitry. The systems and methods include receiving a plurality of codewords corresponding to an LDPC code and determining a circulant size associated with the plurality of received codewords. In response to determining the circulant size associated with the plurality of received codewords, the systems and methods partition processing resources of the common decoding circuitry into a plurality of cells based on the determined circulant size and processing the plurality of received codewords simultaneously using the plurality of cells.
Opening claim text (preview).
What is claimed is: 1. A method for decoding low density parity check (LDPC) codes with different circulant sizes using common decoding circuitry, the method comprising: receiving a plurality of codewords; determining, using control circuitry, one of a first mode of operation and a second mode of operation based on a circulant size associated with the plurality of received codewords, wherein: the first mode of operation is associated with receiving a plurality of codewords of a first LDPC code and the second mode of operation is associated with receiving a single codeword of a second LDPC code; in response to determining the circulant size associated with the plurality of received codewords, partitioning processing resources of the common decoding circuitry into a plurality of cells based on the determined circulant size; and processing the plurality of received codewords using the plurality of cells. 2. The method of claim 1 , wherein a number of cells in the plurality of cells is selected to be equal to a number of codewords in the plurality of received codewords. 3. The method of claim 1 , wherein processing the plurality of received codewords comprises processing the plurality of codewords using an iterative message-passing algorithm. 4. The method of claim 1 , wherein the plurality of codewords corresponds to the first LDPC code, the plurality of codewords is of a first type, and the method further comprises: receiving a codeword of a second type corresponding to the second LDPC code; determining a circulant size associated with the received codeword of the second type, wherein the circulant size associated with the received codeword of the second type is larger than the circulant size associated with the plurality of received codewords of the first type; in response to determining the circulant size associated with the received codeword of the second type, processing the received codeword of the second type jointly using the partitioned processing resources of the common decoding circuitry. 5. The method of claim 1 , wherein the first LDPC code is associated with a code rate of 75% and the second LDPC code is associated with a code rate of 85%. 6. The method of claim 1 , wherein the first LDPC code is associated with a circulant size that is smaller than a circulant size associated with the second LDPC code. 7. The method of claim 1 , wherein processing the plurality of codewords comprises: processing the plurality of codewords simultaneously using the plurality of cells to obtain a plurality of processed codewords; and circularly shifting the plurality of processed codewords using a circular shifter based on the determined circulant size associated with the plurality of codewords. 8. The method of claim 1 , wherein the circulant size associated with the plurality of codewords is determined based on a control signal. 9. The method of claim 1 , wherein processing the plurality of codewords comprises: determining whether an early termination criterion is satisfied, wherein the early termination criterion is based on the circulant size associated with the plurality of codewords. 10. A system for decoding low density parity check (LDPC) codes with different circulant sizes, the system comprising: common decoding circuitry configured to process a plurality of codewords; and control circuitry configured to: receive the plurality of codewords; determine one of a first mode of operation and a second mode of operation based on a circulant size associated with the plurality of received codewords, wherein: the first mode of operation is associated with receiving a plurality of codewords associated with a first LDPC code and the second mode of operation is associated with receiving a single codeword associated with a second LDPC code; partition processing resources of the common decoding circuitry into a plurality of cells based on the determined circulant size, in response to determining the circulant size associated with the plurality of received codewords; and cause the common decoding circuitry to process the plurality of received codewords using the plurality of cells. 11. The system of claim 10 , wherein a number of cells in the plurality of cells is selected to be equal to a number of codewords in the plurality of received codewords. 12. The system of claim 10 , wherein the common decoding circuitry is further configured to process the plurality of codewords using an iterative message-passing algorithm. 13. The system of claim 10 , wherein the plurality of codewords corresponds to the first LDPC code, the plurality of codewords is of a first type, and the control circuitry is further configured to: receive a codeword of a second type corresponding to the second LDPC code; determine a circulant size associated with the received codeword of the second type, wherein the circulant size associated with the received codeword of the second type is larger than the circulant size associated with the plurality of received codewords of the first type; and cause the common decoding circuitry to process the received codeword of the second type jointly using the partitioned processing resources of the common decoding circuitry, in response to determining the circulant size associated with the received codeword of the second type. 14. The system of claim 10 , wherein the first LDPC code is associated with a code rate of 75% and the second LDPC code is associated with a code rate of 85%. 15. The system of claim 10 , wherein the first LDPC code is associated with a circulant size that is smaller than a circulant size associated with the second LDPC code. 16. The system of claim 10 , wherein the common decoding circuitry is further configured to process the plurality of codewords by: processing the plurality of codewords simultaneously using the plurality of cells to obtain a plurality of processed codewords; and circularly shifting the plurality of processed codewords using a circular shifter based on the determined circulant size associated with the plurality of codewords. 17. The system of claim 10 , wherein the circulant size associated with the plurality of codewords is determined based on a control signal. 18. The system of claim 10 , wherein the control circuitry is further configured to: determine whether an early termination criterion is satisfied, wherein the early termination criterion is based on the circulant size associated with the plurality of codewords. 19. A method for decoding low density parity check (LDPC) codes with different circulant sizes using common decoding circuitry, the method comprising: receiving a plurality of codewords; determining, using control circuitry, a circulant size associated with the plurality of received codewords; in response to determining the circulant size associated with the plurality of received codewords, partitioning processing resources of the common decoding circuitry into a plurality of cells based on the determined circulant size; processing the plurality of codewords concurrently using the plurality of cells to obtain a plurality of processed codewords; and circularly shifting the plurality of processed codewords using a circular shifter based on the determined circulant size associated with the plurality of codewords. 20. A system for decoding low density parity check (LDPC) codes with different circulant sizes, the system comprising: common decoding circuitry configured to process a plurality of codewords; and control circuitry
using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs · CPC title
with iterative decoding · CPC title
Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices · CPC title
Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields · CPC title
Shuffled, staggered, layered or turbo decoding schedules · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.