Decoding device and error detection method
US-9524206-B2 · Dec 20, 2016 · US
US9559727B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9559727-B1 |
| Application number | US-201514720566-A |
| Country | US |
| Kind code | B1 |
| Filing date | May 22, 2015 |
| Priority date | Jul 17, 2014 |
| Publication date | Jan 31, 2017 |
| Grant date | Jan 31, 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.
Row decoding is performed on row codewords in an array in order to produce a row decoded array that includes row decoded column codewords. Column decoding is performed on the row decoded column codewords in order to produce a row and column decoded array that includes row and column decoded row codewords and row and column decoded column codewords. The number of row and column decoded row codewords that are not in a row codebook is determined and the number of row and column decoded column codewords that are not in a column codebook are determined. If the number not in the row codebook equals 0 and the number not in the column codebook equals 1, at least a data portion of the row and column decoded array is output.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a row decoder configured to perform row decoding on a plurality of row codewords in an array in order to produce a row-decoded array that includes a plurality of row-decoded column codewords; a column decoder configured to perform column decoding on the plurality of row-decoded column codewords in order to produce a row-decoded and column-decoded array that includes: (1) a plurality of row-decoded and column-decoded row codewords and (2) a plurality of row-decoded and column-decoded column codewords; and a turbo product code (TPC) decoding controller configured to: determine a number of row-decoded and column-decoded row codewords that are not in a row codebook; determine a number of row-decoded and column-decoded column codewords that are not in a column codebook; and output at least a data portion of the row-decoded and column-decoded array in the event: (1) the number of row-decoded and column-decoded row codewords not in the row codebook equals 0 and (2) the number of row-decoded and column-decoded column codewords not in the column codebook equals 1. 2. The system of claim 1 , wherein the system includes a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). 3. The system of claim 1 , wherein the TPC decoding controller is further configured to output at least the data portion of the row-decoded and column-decoded array in the event: (1) the number of row-decoded and column-decoded row codewords not in the row codebook equals 0 and (2) the number of row-decoded and column-decoded column codewords not in the column codebook equals 0. 4. The system of claim 3 , wherein: the system further includes a multiplexer that is configured to select between (1) read data from storage and (2) the row-decoded and column-decoded array output by the column decoder, wherein the row decoder inputs output of the multiplexer; and the TPC decoding controller is further configured to: determine if a maximum number of decoding attempts has been reached; in the event it is determined that the maximum number of decoding attempts has been reached, declare a decoding failure; and in the event it is determined that the maximum number of decoding attempts has not been reached, configure the multiplexer to select the row-decoded and column-decoded array output by the column decoder, wherein the row decoder performs row decoding on the plurality of row codewords in the row-decoded and column-decoded array. 5. The system of claim 1 , wherein a number of columns combined to generate a column codeword is less than a threshold. 6. The system of claim 1 , wherein the TPC decoding controller is further configured to: perform error checking on a data portion of the row-decoded and column-decoded array; output at least the data portion of the row-decoded and column-decoded array in the event: (1) the number of row-decoded and column-decoded row codewords not in the row codebook equals 0, (2) the number of row-decoded and column-decoded column codewords not in the column codebook equals 1, and (3) the data portion passes the error check; and not output the data portion of the row-decoded and column-decoded array in the event: (1) the number of row-decoded and column-decoded row codewords not in the row codebook equals 0, (2) the number of row-decoded and column-decoded column codewords not in the column codebook equals 1, and (3) the data portion does not pass the error check. 7. The system of claim 6 , wherein a number of columns combined to generate a column codeword is greater than or equal to a threshold. 8. The system of claim 6 , wherein: the plurality of row codewords include cyclic redundancy check (CRC) bits such that the row decoder is configured to perform row decoding on the CRC bits; and the plurality of column codewords include the CRC bits such that the column decoder is configured to perform column decoding on the CRC bits. 9. A method, comprising: performing row decoding on a plurality of row codewords in an array in order to produce a row-decoded array that includes a plurality of row-decoded column codewords; performing column decoding on the plurality of row-decoded column codewords in order to produce a row-decoded and column-decoded array that includes: (1) a plurality of row-decoded and column-decoded row codewords and (2) a plurality of row-decoded and column-decoded column codewords; determining a number of row-decoded and column-decoded row codewords that are not in a row codebook; determining a number of row-decoded and column-decoded column codewords that are not in a column codebook; and outputting at least a data portion of the row-decoded and column-decoded array in the event: (1) the number of row-decoded and column-decoded row codewords not in the row codebook equals 0 and (2) the number of row-decoded and column-decoded column codewords not in the column codebook equals 1. 10. The method of claim 9 , wherein the method is performed by a semiconductor device, including one or more of the following: an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). 11. The method of claim 9 , wherein the TPC decoding controller is further configured to output at least the data portion of the row-decoded and column-decoded array in the event: (1) the number of row-decoded and column-decoded row codewords not in the row codebook equals 0 and (2) the number of row-decoded and column-decoded column codewords not in the column codebook equals 0. 12. The method of claim 11 , further comprising: selecting between (1) read data from storage and (2) the row-decoded and column-decoded array output by the column decoder, wherein the row decoder inputs output of the multiplexer; determining if a maximum number of decoding attempts has been reached; in the event it is determined that the maximum number of decoding attempts has been reached, declaring a decoding failure; and in the event it is determined that the maximum number of decoding attempts has not been reached, configuring the multiplexer to select the row-decoded and column-decoded array output by the column decoder, wherein the row decoder performs row decoding on the plurality of row codewords in the row-decoded and column-decoded array. 13. The method of claim 9 , wherein a number of columns combined to generate a column codeword is less than a threshold. 14. The method of claim 9 , wherein the TPC decoding controller is further configured to: performing error checking on a data portion of the row-decoded and column-decoded array; outputting at least the data portion of the row-decoded and column-decoded array in the event: (1) the number of row-decoded and column-decoded row codewords not in the row codebook equals 0, (2) the number of row-decoded and column-decoded column codewords not in the column codebook equals 1, and (3) the data portion passes the error check; and not outputting the data portion of the row-decoded and column-decoded array in the event: (1) the number of row-decoded and column-decoded row codewords not in the row codebook equals 0, (2) the number of row-decoded and column-decoded column codewords not in the column codebook equals 1, and (3) the data portion does not pass the error check. 15. The method of claim 14 , wherein a number of columns combined to generate a column codeword is greater than or equal to a threshold. 16. The method of claim 14 , wherein: the plurality of row codewords include cyclic redundancy check (
Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes · CPC title
Iterative decoding (H03M13/2957 takes precedence) · CPC title
Judging correct decoding, e.g. iteration stopping criteria · CPC title
Bose-Chaudhuri-Hocquenghem [BCH] codes · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.