Claims
- 1. An error correction algebraic decoding method for correcting a combination of a burst of errors and random errors in a failed sector, comprising:
iteratively adding and removing an erasure (N−B) times until the entire failed sector has been scanned, where N denotes the number of bytes in the failed sector, and B denotes the length of the burst of errors in the failed sector; and wherein (B+2t) is less than, or equal to (R−1), where R denotes the number of check bytes in the failed sector, where t denotes the total number of random errors in the failed sector, resulting in a corrected sector at a decoding latency that is a generally linear function of the number of the check bytes R.
- 2. The method of claim 1, further comprising applying an initialization stage for receiving a plurality of syndromes and for generating a modified syndrome polynomial from the plurality of syndromes.
- 3. The method of claim 2, further comprising iteratively removing (R−B) erasures, using the modified syndrome polynomial.
- 4. The method of claim 3, further comprising calculating an error locator polynomial, assuming the initial existence of R erasures at a beginning of the failed sector.
- 5. The method of claim 4, further comprising determining if the error locator polynomial is valid.
- 6. The method of claim 5, wherein if the error locator polynomial is valid, adding the error locator polynomial to a solution list.
- 7. The method of claim 1, further comprising performing a cyclic redundancy check; and
selecting a valid burst and error locator and corresponding error values, to correct the failed sector.
- 8. The method of claim 3, wherein the initialization stage comprises calculating a syndrome polynomial S(x), as follows:
- 9. The method of claim 8, further comprising calculating an erasure polynomial E(x), as follows:
- 10. The method of claim 9, further comprising calculating a modified syndrome polynomial S(x)E, as follows:
- 11. The method of claim 10, wherein iteratively removing (R−B) erasures comprises calculating initial polynomial basis values [l1, l2] for solutions [B, t], as follows:
- 12. The method of claim 11, further comprising iteratively calculating the initial polynomial basis values [l1, l2] for all solutions [B, t], and removing corresponding erasures, as follows:
for i=B, . . . , R−1, [l1, l2]:=Remove Erasure ([l1, l2], αi); and wherein [l1] is comprised of vectors [v, q], and [l2] is comprised of vectors [u, p], as follows: [l1]=[v, q], and [l2]=[u, p], where v represents an error locator polynomial, q represents an error evaluation polynomial, u represents a previous error locator polynomial, and p represents a previous error evaluation polynomial.
- 13. The method of claim 4, wherein iteratively adding and removing the erasure (N−B) times comprises sequentially removing an erasure and adding an erasure for shifting a byte erasure.
- 14. The method of claim 13, wherein shifting the byte erasure comprises removing the byte erasure from an initial position along the failed sector.
- 15. The method of claim 14, wherein shifting the byte erasure further comprises adding a byte erasure at a distance R from the initial position.
- 16. The method of claim 15, wherein removing the byte erasure further comprises evaluating polynomials q0 and p0, as expressed below:
- 17. The method of claim 16, wherein removing the byte erasure further comprises inquiring if the following erasure removal condition is satisfied:
- 18. The method of claim 17, wherein if the erasure removal condition is satisfied, creating a combination of vectors l1 and l2, to selectively eliminate candidate erasure location β positions within the failed sector from valid solutions of an error evaluator polynomial, as follows:
- 19. The method of claim 17, wherein if the erasure removal condition is not satisfied, setting a value c and vectors [l1] and [l2], as follows:
- 20. The method of claim 17, wherein adding the byte erasure comprises using vectors.
- 21. The method of claim 20, wherein adding the byte erasure comprises setting polynomials v0 and u0, as expressed below:
- 22. The method of claim 21, wherein adding the byte erasure further comprises determining if the following erasure addition condition is satisfied:
- 23. The method of claim 22, wherein if the erasure addition condition is satisfied, creating a combination of vectors l1 and l2, to selectively eliminate candidate erasure location β positions within the failed sector from valid solutions of the error locator polynomial, as follows:
- 24. The method of claim 22, wherein if the erasure addition condition is not satisfied, setting a value c and vectors [l1] and [l2], as follows:
- 25. The method of claim 1, wherein the decoding latency is expressed as follows:
- 26. An error correction algebraic decoder for correcting a combination of a burst of errors and random errors in a failed sector, comprising:
a first set of instruction codes for iteratively adding and removing an erasure (N−B) times until the entire failed sector has been scanned, where N denotes the number of bytes in the failed sector, and B denotes the length of the burst of errors in the failed sector; and wherein (B+2t) is less than, or equal to (R−1), where R denotes the number of check bytes in the failed sector, where t denotes the total number of random errors in the failed sector, resulting in a corrected sector at a decoding latency that is a generally linear function of the number of the check bytes R.
- 27. The decoder of claim 26, further comprising a second set of instruction codes for applying an initialization stage, to receive a plurality of syndromes and to generate a modified syndrome polynomial from the plurality of syndromes.
- 28. The decoder of claim 27, further comprising a third set of instruction codes for iteratively removing (R−B) erasures, using the modified syndrome polynomial.
- 29. The decoder of claim 28, further comprising a fourth set of instruction codes for calculating an error locator polynomial, presuming the initial existence of R erasures at a beginning of the failed sector.
- 30. The decoder of claim 29, wherein if the error locator polynomial is valid, the error locator polynomial is added to a solution list.
- 31. The decoder of claim 26, further comprising a fifth set of instruction codes for performing a cyclic redundancy check, and for selecting a valid burst and error locator and corresponding error values, to generate the corrected sector.
- 32. The decoder of claim 26, wherein the decoding latency is expressed as follows:
- 33. An error correction decoder for correcting a combination of a burst of errors and random errors in a failed sector, comprising:
means for iteratively adding and removing an erasure (N−B) times until the entire failed sector has been scanned, where N denotes the number of bytes in the failed sector, and B denotes the length of the burst of errors in the failed sector; and wherein (B+2t) is less than, or equal to (R−1), where R denotes the number of check bytes in the failed sector, where t denotes the total number of random errors in the failed sector, resulting in a corrected sector at a decoding latency that is a generally linear function of the number of the check bytes R.
- 34. The decoder of claim 33, further comprising means for applying an initialization stage, to receive a plurality of syndromes and to generate a modified syndrome polynomial from the plurality of syndromes.
- 35. The decoder of claim 34, further comprising means for removing (R−B) erasures, using the modified syndrome polynomial.
- 36. The decoder of claim 35, further comprising means for calculating an error locator polynomial, presuming the initial existence of R erasures at a beginning of the failed sector.
- 37. The decoder of claim 36, wherein if the error locator polynomial is valid, adding the error locator polynomial is added to a solution list.
- 38. The decoder of claim 33, further comprising means for performing a cyclic redundancy check, and for selecting a valid burst and error locator and corresponding error values, to generate the corrected sector.
- 39. The decoder of claim 33, wherein the decoding latency is expressed as follows:
- 40. An error correction algebraic decoding method for correcting a combination of a burst of errors and random errors in a failed sector, comprising:
iteratively adding and removing an erasure (N−B) times until the entire failed sector has been scanned, where N denotes the number of bytes in the failed sector, and B denotes the length of the burst of errors in the failed sector; and wherein (B+2t) is less than, or equal to (R−1), where R denotes the number of check bytes in the failed sector, where t denotes the total number of random errors in the failed sector, resulting in a corrected sector.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is related to co-pending U.S. patent application, titled “Multiple Level (ML), Integrated Sector Format (ISF), Error Correction Code (ECC) Encoding And Decoding Processes For Data Storage Or Communication Devices And Systems,” Ser. No. 10/040,115, filed on Jan. 3, 2002, which is assigned to the same assignee as the present application.