Techniques for low complexity turbo product code decoding

US9998148B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9998148-B2
Application numberUS-201615159331-A
CountryUS
Kind codeB2
Filing dateMay 19, 2016
Priority dateDec 1, 2015
Publication dateJun 12, 2018
Grant dateJun 12, 2018

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.

Techniques are described for decoding a codeword, including, obtaining a first message comprising a plurality of information bits and a plurality of parity bits, wherein the message corresponds to a turbo product code (TPC) comprising two or more constituent codes, wherein each constituent code corresponds to a class of error correcting codes capable of correcting a pre-determined number of errors, performing an iterative TPC decoding using at least one of a first decoder corresponding to a first constituent code and a second decoder corresponding to a second constituent code on the first message to generate a second message, determining if the decoding was successful. Upon determining that the TPC decoding was not successful, determining one or more error locations in the second message based on a third constituent code using a third decoder. The third decoder determines the one or more error locations in a predetermined number of clock cycles.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for decoding, comprising: a memory; a processor coupled to the memory, the processor configured to: obtain a first message comprising a plurality of information bits and a plurality of parity bits, wherein the first message corresponds to a turbo product code (TPC) comprising two or more constituent codes, wherein each constituent code corresponds to a class of error correcting codes capable of correcting a pre-determined number of errors; perform an iterative TPC decoding using at least one of a first decoder corresponding to a first constituent code and a second decoder corresponding to a second constituent code on the first message to generate a second message; determine if the iterative TPC decoding was successful; and upon determining that the TPC decoding was not successful, determine one or more error locations in the second message based on a third constituent code using a third decoder, wherein the third decoder determines the one or more error locations in a predefined number of clock cycles based on an additional iterative TPC decoding on the second message, wherein the additional iterative TPC decoding comprises: generating a syndrome of the third constituent code in an initial iteration based on the second message; updating a value of the syndrome by at least using the one or more error locations determined in the initial iteration; and decoding the second message in a next iteration based on the updated value of the syndrome. 2. The apparatus of claim 1 , wherein the third decoder determines the one or more error locations directly from one or more syndrome values without performing a search. 3. The apparatus of claim 1 , wherein the processor is further configured to: generate at least one of a first set of syndrome values corresponding to the first constituent code and a second set of syndrome values corresponding to the second constituent code based on the first message. 4. The apparatus of claim 3 , wherein the processor is further configured to: perform a first set of decoding operations corresponding to the first decoder on the first message using the first set of syndrome values to generate a third message; generate an adjusted set of syndrome values by adjusting at least one of the syndrome values in the second set of syndrome values based on the third message; and perform a second set of decoding operations corresponding to the second decoder on the third message using the adjusted set of syndrome values to generate the second message. 5. The apparatus of claim 1 , wherein the processor is further configured to: correct the second message based on the one or more error locations to generate a third message; iteratively perform decoding operations on the third message using at least one of the first decoder or the second decoder. 6. The apparatus of claim 1 , wherein one or more of the first constituent code or the second constituent code correspond to a Bose-Chaudhuri-Hocquenghem (BCH) code. 7. The apparatus of claim 1 , wherein the predefined number of clock cycles is less than or equal to two clock cycles. 8. A method for decoding, comprising: obtaining a first message comprising a plurality of information bits and a plurality of parity bits, wherein the first message corresponds to a turbo product code (TPC) comprising two or more constituent codes, wherein each constituent code corresponds to a class of error correcting codes capable of correcting a pre-determined number of errors; performing an iterative TPC decoding using at least one of a first decoder corresponding to a first constituent code and a second decoder corresponding to a second constituent code on the first message to generate a second message; determining if the iterative TPC decoding was successful; and upon determining that the TPC decoding was not successful, determining one or more error locations in the second message based on a third constituent code using a third decoder, wherein the third decoder determines the one or more error locations in a predefined number of clock cycles based on an additional iterative TPC decoding on the second message, wherein the additional iterative TPC decoding comprises: generating a syndrome of the third constituent code in an initial iteration based on the second message; updating a value of the syndrome by at least using the one or more error locations determined in the initial iteration; and decoding the second message in a next iteration based on the updated value of the syndrome. 9. The method of claim 8 , wherein the third decoder determines the one or more error locations directly from one or more syndrome values without performing a search. 10. The method of claim 8 , further comprising: generating at least one of a first set of syndrome values corresponding to the first constituent code and a second set of syndrome values corresponding to the second constituent code based on the first message. 11. The method of claim 10 , further comprising: performing a first set of decoding operations corresponding to the first decoder on the first message using the first set of syndrome values to generate a third message; generating an adjusted set of syndrome values by adjusting at least one of the syndrome values in the second set of syndrome values based on the third message; and performing a second set of decoding operations corresponding to the second decoder on the third message using the adjusted set of syndrome values to generate the second message. 12. The method of claim 8 , further comprising: correcting the second message based on the one or more error locations to generate a third message; iteratively performing decoding operations on the third message using at least one of the first decoder or the second decoder. 13. The method of claim 8 , wherein one or more of the first constituent code or the second constituent code correspond to a Bose-Chaudhuri-Hocquenghem (BCH) code. 14. The method of claim 8 , wherein the predefined number of clock cycles is less than or equal to two clock cycles. 15. A non-transitory processor-readable medium for decoding, comprising processor-readable instructions configured to cause one or more processors to: obtain a first message comprising a plurality of information bits and a plurality of parity bits, wherein the first message corresponds to a turbo product code (TPC) comprising two or more constituent codes, wherein each constituent code corresponds to a class of error correcting codes capable of correcting a pre-determined number of errors; perform an iterative TPC decoding using at least one of a first decoder corresponding to a first constituent code and a second decoder corresponding to a second constituent code on the first message to generate a second message; determine if the iterative TPC decoding was successful; and upon determining that the TPC decoding was not successful, determine one or more error locations in the second message based on a third constituent code using a third decoder, wherein the third decoder determines the one or more error locations in a predefined number of clock cycles based on an additional iterative TPC decoding on the second message, wherein the additional iterative TPC decoding comprises: generating a syndrome of the third constituent code in an initial iteration based on the second message; updating a value of the syndrome by at least using the one or more error locations determined in the initial iteration; and decoding the second message in a next iteration based on the updated value of the syndrome.

Assignees

Inventors

Classifications

  • with error correction codes in three or more dimensions, e.g. 3-dimensional product code where the bits are arranged in a cube · CPC title

  • H03M13/152Primary

    Bose-Chaudhuri-Hocquenghem [BCH] codes · CPC title

  • Determination and particular use of error location polynomials · CPC title

  • Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes · CPC title

  • Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance · 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 US9998148B2 cover?
Techniques are described for decoding a codeword, including, obtaining a first message comprising a plurality of information bits and a plurality of parity bits, wherein the message corresponds to a turbo product code (TPC) comprising two or more constituent codes, wherein each constituent code corresponds to a class of error correcting codes capable of correcting a pre-determined number of err…
Who is the assignee on this patent?
Sk Hynix Inc
What technology area does this patent fall under?
Primary CPC classification H03M13/152. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 12 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).