Multi-level error detection and correction technique for data storage recording device
AssigneeEcrix Corporation
InventorsRichard H. McAuliffe, Thomas E. Zaczek
Life of this patent
Estimating the term…
Abstract
A multi-level error correction technique for maintaining data integrity in a data recording/recovery device is presented. Data is stored in buffer packets in a segment of a data buffer before being recorded to a storage medium. Error correction codes are generated over a plurality of instances of a plurality of buffer packet patterns in the segment, and are recorded along with all of the buffer packets onto a storage medium. During data recovery from the storage medium, recovered error correction code packets are used to perform multi-level segment correction on the recovered data packets.
Claims13
An apparatus for verifying data recovered from a storage medium, said apparatus comprising:
- a data buffer comprising:
- a plurality of buffer packets arranged in an array comprising a plurality of instances of a plurality of buffer packet patterns;
- and
- a plurality of buffer error correction code (ECC) packet sets each corresponding to a respective one of said plurality of instances of said plurality of buffer packet patterns, wherein each of said ECC packet sets is used for error correction and comprises one or more buffer ECC packets that each contain an error correction code generated over each of said buffer packets in said corresponding instance of said respective buffer ECC packet;
- a read logic manager which receives a packet recovered from said storage medium, said packet comprising either a data packet or an error correction code (ECC) packet, performs packet-level error detection and/or correction across said packet, and, only if said packet-level error detection/correction indicates that said packet is error-free, places said packet in a buffer packet in said data buffer if said packet is a data packet and places said packet in a buffer ECC packet in said data buffer if said packet is an ECC packet;
- and
- a control processor which detects the existence of a correctable instance, said correctable instance comprising one of said instances of said plurality of buffer packet patterns that comprises a missing yet reconstructable packet, and causes said correctable instance to be corrected.
A storage medium for a recording/recovery device, said recording/recovery device comprising a data buffer, said data buffer comprising a plurality of buffer packets and a plurality of buffer error correction code (ECC) packets, said plurality of buffer packets comprising a plurality of instances of a plurality of buffer packet patterns, and said plurality of buffer ECC packets comprising a respective buffer ECC packet corresponding to each of a respective one of said plurality of instances of said plurality of buffer packet patterns and each containing an error correction code generated over each of said buffer packets in said corresponding instance of said respective buffer ECC packet, said storage medium comprising:
- a plurality of data packets, each of which comprises a packet-level error correction code (ECC) generated across said packet and is mapped to one each of said plurality of buffer packets and belonging to one or more of said plurality of instances of said plurality of buffer packet patterns;
- and
- a plurality of error correction code (ECC) packet sets, each corresponding to a respective one of said plurality of instances of said plurality of buffer packet patterns, wherein each of said ECC packet sets is used for error correction and comprises one or more of said buffer ECC packets that each contain an error correction code generated over each of said data packets mapped to said corresponding instance.
A method for correcting missing data from a segment of a data buffer, said segment comprising a plurality of buffer packets and a plurality of error correction code (ECC) packets, said plurality of buffer packets being arranged in an array comprising a plurality of instances of a plurality of buffer packet patterns, and said plurality of ECC packets comprising a plurality of buffer error correction code (ECC) packet sets each corresponding to a respective one of said plurality of instances of said plurality of buffer packet patterns, wherein each of said ECC packet sets is used for error correction and comprises one or more buffer ECC packets that each contain an error correction code generated over each of said buffer packets in said corresponding instance of said respective buffer ECC packet, said method comprising:
- determining whether any of said instances of said plurality of buffer packet patterns comprises a missing yet reconstructable packet;
- reconstructing said missing yet reconstructable packet;
- determining whether all of said buffer packets in said segment contain good data;
- and
- repeating said first determining step through said second determining step if all of said buffer packets in said segment do not yet contain good data.
Dependencies are inferred from the claim text.