Iterating inner and outer codes for data recovery
First Claim
1. A method comprising:
- performing a first iteration of an inner code word error correction process including;
determining if an inner code can correct errors in a first selected inner code word of multiple inner code words;
when the inner code can correct the first selected inner code word, performing an inner code error correction on the first selected inner code word;
repeating the inner code word error correction process for another selected inner code word of the multiple inner code words;
performing a first iteration of an outer code word error correction process when there are uncorrected inner code words, including;
determining if an outer code can correct errors in a first selected outer code word of multiple outer code words wherein each symbol included in one of the inner code words is also included in one of the outer code words;
when the outer code can correct the first selected outer code word, performing an outer code error correction on the first selected outer code;
repeating the outer code word error correction process for another selected outer code word of the multiple outer code words; and
performing a second iteration of the inner code word error correction process when there are uncorrected outer code words.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage medium includes at least one data unit defining a plurality of symbol-based inner code words and a plurality of symbol-based outer code words. Each symbol included in one of the inner code words is also included in one of the outer code words. A processor is configured to perform a first iteration of inner code error correction on the plurality of symbol-based inner code words, a first iteration of outer code error correction on the plurality of symbol-based outer code words and a second iteration of inner code error correction on the plurality of symbol-based inner code words. In the first iteration of outer code error corrections, at least one of the outer code words is correctable. In the second iteration of inner code error correction, at least one of the inner code words is correctable.
-
Citations
20 Claims
-
1. A method comprising:
-
performing a first iteration of an inner code word error correction process including; determining if an inner code can correct errors in a first selected inner code word of multiple inner code words; when the inner code can correct the first selected inner code word, performing an inner code error correction on the first selected inner code word; repeating the inner code word error correction process for another selected inner code word of the multiple inner code words; performing a first iteration of an outer code word error correction process when there are uncorrected inner code words, including; determining if an outer code can correct errors in a first selected outer code word of multiple outer code words wherein each symbol included in one of the inner code words is also included in one of the outer code words; when the outer code can correct the first selected outer code word, performing an outer code error correction on the first selected outer code; repeating the outer code word error correction process for another selected outer code word of the multiple outer code words; and performing a second iteration of the inner code word error correction process when there are uncorrected outer code words. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10)
-
-
5. The method of 4, wherein if the errors in at least one of the selected outer code words fails to be corrected by the outer code, then perform the second iteration of the inner code word error correction process.
-
11. An apparatus comprising:
-
a data storage medium including at least one data unit defining a plurality of symbol-based inner code words and a plurality of symbol-based outer code words, wherein each symbol included in one of the inner code words is also included in one of the outer code words; a processor configured to perform a data recovery process including; determine if an inner code can correct errors in a selected inner code word of the plurality of symbol-based inner code words; when the inner code can correct the selected inner code word, perform inner code error correction on the selected inner code word; when the inner code cannot correct all errors in the plurality of symbol-based inner code words, determine if an outer code can correct errors in a selected outer code word of the plurality of symbol-based outer code words; when the outer code can correct the selected outer code word, perform outer code error correction on the selected outer code word; and when the outer code cannot correct all errors in the plurality of symbol-based outer code words, repeat the data recovery process. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
performing a data recovery process on data from a data storage medium including at least one data unit having a plurality of segments for storing data, the plurality of segments including k number of segments and r number of segments, each k and r segment including an inner code parity for providing inner code protection against errors within the segment and each r segment including outer code parity for providing outer code protection against inner code failures; associating the r number of segments with the k number of segments to derive a plurality of outer code words, wherein each outer code word contains m number of symbols from each segment for correcting m number of symbols in each outer code word; iteratively performing an error correction process by; determining if an inner code can correct errors in a first selected inner code word of the plurality of inner code words; when the inner code can correct errors in the first selected inner code word, then performing inner code error correction on the plurality of inner code words; when an error in at least one of the plurality of inner code words fails to be corrected by the inner code, then determining if an outer code can correct errors in a first selected outer code word of the plurality of outer code words; when the outer code can correct errors in the first selected outer code word, then performing outer code error correction on the plurality of outer code words; and when an error in at least one of the plurality of outer code words fails to be corrected by the outer code, then repeating the error correction process; wherein k, r and m are integers greater than or equal to 1. - View Dependent Claims (19, 20)
-
Specification