Stopping rules for turbo product codes

US9559727B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9559727-B1
Application numberUS-201514720566-A
CountryUS
Kind codeB1
Filing dateMay 22, 2015
Priority dateJul 17, 2014
Publication dateJan 31, 2017
Grant dateJan 31, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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 (

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9559727B1 cover?
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 codew…
Who is the assignee on this patent?
Sk Hynix Memory Solutions Inc
What technology area does this patent fall under?
Primary CPC classification H03M13/2975. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 31 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).