← Back to Patent Explorer
US5299208A Expired / Lapsed US ⏱️ 0.0 years remaining

Enhanced decoding of interleaved error correcting codes

Assignee: International Business Machines Corp
•
Filing: 1991-11-14
•
Granted: 1994-03-29
•
Expires: 2011-11-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Decoding power is enhanced by (1) flagging only those codewords where the ECC capability has been exceeded; (2) permitting codewords to be of any byte length (n) and codeword depth (λ) subject only to the requirement that n and λ be relatively prime; and (3) interleaving encoded bytes of successive codewords diagonally in a single continuous sequence to form an array with a toroidal topology so that all burst errors will be continuous from codeword to codeword, irrespective of where they occur in the array. These attributes assure that there will never be a problem with burst errors affecting≦λ rows because there is no "last row" and "first row".

Inventors

  • 👤 Miguel M. Blaum
  • 👤 Henricus C. Van Tilborg

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 21:56
CPC Classifications
H; H03; H03M; H03M13/00; H03M13/27; H03M13/2703; H03M13/2728; G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; H03M13/03; H03M13/05; H03M13/13; H03M13/15; H03M13/2721; H03M13/29; H03M13/37

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 264 words
A method of enhancing the capability of a decoder to correct multiple burst errors in codewords comprising encoded symbols interleaved with an ECC code, comprising the steps of: encoding codewords, each n symbols in length, in successive rows to create a series of rectangular blocks, each having λ rows of codewords, n and λ being integers and having values which are relatively prime, and the corresponding symbols of adjacent codewords in the respective rows of each block being aligned columnwise; and interleaving the symbols of successive codewords by reading them in one continuous diagonal sequence one block at a time to form an array with a toroidal topology in which the symbol at the trailing end of each block is followed by the symbol at the beginning of the succeeding block, so that all burst errors will be continuous from codeword to codeword and block to block, irrespective of where they occur in the array; decoding all codewords, correcting all correctable errors in all correctable codewords, and flagging only those codewords in which the error correction capability of the code is exceeded; examining at lest one codeword adjacent in time to each flagged codeword to identify the locations in error therein that have been corrected and successfully decoded; separating the identified locations in error into sets according to a preselected protocol; tentatively declaring, as erasures, errors in the flagged codeword at specific locations which are diagonally adjacent in time to different respective sets of said locations in error; and repeating the decoding step in an attempt to now correct and decode the flagged codeword.
Claim 2
Independent Claim 264 words
A method of enhancing the capability of a decoder to correct multiple burst errors in codewords comprising encoded symbols interleaved with an ECC code, comprising the steps of: encoding codewords, each n symbols in length, in successive rows to create a series of rectangular blocks, each having λ rows of codewords, n and λ being integers and having values which are relatively prime, and the corresponding symbols of adjacent codewords in the respective rows of each block being aligned columnwise; and interleaving the symbols of successive codewords by reading them in one continuous diagonal sequence one block at a time to form an array with a toroidal topology in which the symbol at the trailing end of each block is followed by the symbol at the beginning of the succeeding block, so that all burst errors will be continuous from codeword to codeword and block to block, irrespective of where they occur in the array; decoding all codewords, correcting all correctable errors in all correctable codewords, and flagging only those codewords in which the error correction capability of the code is exceeded; examining at lest one codeword adjacent in time to each flagged codeword to identify the locations in error therein that have been corrected and successfully decoded; separating the identified locations in error into sets according to a preselected protocol; tentatively declaring, as erasures, errors in the flagged codeword at specific locations which are diagonally adjacent in time to different respective sets of said locations in error; and repeating the decoding step in an attempt to now correct and decode the flagged codeword.
Claim 3
Dependent Claim 98 words
The method of claim 1, wherein (a i ,j)0≦j≦n-1 are the symbols of codeword i, 0≦i≦λ-1, and n and λ are relatively prime, interleave said symbols, and during the interleaving step, symbols of successive codewords are interleaved diagonally according to the following algorithm: (1) Make i=0 and j=0 (2) Write a i ,j (3) If i=λ-1 and j=n-1, go to step 5 (4) Else make i=<i+1>.sub.λ and j=<j+1> n and go to step 2 (5) End if this is the last block (6) Else execute steps 1-4 on succeeding block for generating the array with the toroidal topology.
Claim 4
Dependent Claim 52 words
The method of claim 1, wherein at least one of said sets comprises more than one location in error, and including the step of: declaring as erasures subsets of each set sequentially, one subset at a time, until error correction is achieved by treating the various specific locations in turn as erasures.
Claim 5
Dependent Claim 29 words
The method of claim 1, including the step of: treating as corrected codewords only those where a majority of the decoding step attempts indicated the errors to be correctable.
Claim 6
Independent Claim 133 words
A method of enhancing the capability of a decoder to correct multiple burst errors in codewords comprising encoded symbols interleaved with an ECC code, comprising the steps of: decoding all codewords, correcting all correctable errors in all correctable codewords, and flagging only those codewords in which the error correction capability of the code is exceeded; examining at least one codeword adjacent to each flagged codeword to identify the locations in error therein that have been corrected and successfully decoded; separating the identified locations in error into sets according to a preselected protocol; tentatively declaring, as erasures, specific locations in the flagged codeword which are diagonally adjacent in time to different respective sets of corrected locations in error; and repeating the decoding step in an attempt to now correct and decode the flagged codeword.
Claim 7
Independent Claim 133 words
A method of enhancing the capability of a decoder to correct multiple burst errors in codewords comprising encoded symbols interleaved with an ECC code, comprising the steps of: decoding all codewords, correcting all correctable errors in all correctable codewords, and flagging only those codewords in which the error correction capability of the code is exceeded; examining at least one codeword adjacent to each flagged codeword to identify the locations in error therein that have been corrected and successfully decoded; separating the identified locations in error into sets according to a preselected protocol; tentatively declaring, as erasures, specific locations in the flagged codeword which are diagonally adjacent in time to different respective sets of corrected locations in error; and repeating the decoding step in an attempt to now correct and decode the flagged codeword.
Claim 8
Independent Claim 288 words
An apparatus for encoding and decoding digital data transmitted over a communications channel and capable of decoding and correcting a plurality of burst errors, comprising: encoder means for encoding a digital data input into a stream of symbols forming codewords, each n symbols in length, in successive rows to create a series of rectangular blocks, each having λ rows of codewords, the values of λ and n being relatively prime and the corresponding symbol positions of codewords in the respective rows of each block being aligned columnwise; interleaver means for resequencing the encoded codewords into an interleaved symbol stream in which successive codewords are read as one continuous sequence to form an array with a toroidal topology in which the symbol at the trailing end of each block is followed by the symbol at the beginning of the succeeding block; modulator means for converting the interleaved symbol stream into a code transmitted to the channel; demodulator means for processing the code and reproducing the stream of symbols, degraded by any noise on the channel; deinterleaver means for generating a resequenced interleaved symbol stream by performing an operation inverse to that of said interleaver means; and a decoder for generating an estimate of said digital data input by (i) decoding the resequenced interleaved symbol stream, (ii) flagging only those codewords which were not decodable, (iii) declaring, as erasures, locations in a flagged codeword that are diagonally adjacent in time to corrected locations in error, the corrected locations in error being separated into sets according to a preselected protocol and the erasures being declared adjacent to different respective sets of these corrected locations in error, and (iv) again decoding in an attempt to now correct and decode the flagged codeword.
Claim 9
Independent Claim 288 words
An apparatus for encoding and decoding digital data transmitted over a communications channel and capable of decoding and correcting a plurality of burst errors, comprising: encoder means for encoding a digital data input into a stream of symbols forming codewords, each n symbols in length, in successive rows to create a series of rectangular blocks, each having λ rows of codewords, the values of λ and n being relatively prime and the corresponding symbol positions of codewords in the respective rows of each block being aligned columnwise; interleaver means for resequencing the encoded codewords into an interleaved symbol stream in which successive codewords are read as one continuous sequence to form an array with a toroidal topology in which the symbol at the trailing end of each block is followed by the symbol at the beginning of the succeeding block; modulator means for converting the interleaved symbol stream into a code transmitted to the channel; demodulator means for processing the code and reproducing the stream of symbols, degraded by any noise on the channel; deinterleaver means for generating a resequenced interleaved symbol stream by performing an operation inverse to that of said interleaver means; and a decoder for generating an estimate of said digital data input by (i) decoding the resequenced interleaved symbol stream, (ii) flagging only those codewords which were not decodable, (iii) declaring, as erasures, locations in a flagged codeword that are diagonally adjacent in time to corrected locations in error, the corrected locations in error being separated into sets according to a preselected protocol and the erasures being declared adjacent to different respective sets of these corrected locations in error, and (iv) again decoding in an attempt to now correct and decode the flagged codeword.

References Cited (Backward Citations)

US4559625A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-03-28 1997-09-27 1998-03-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-03-28 2001-09-27 2002-03-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-03-28 2005-09-27 2006-03-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag