Patent ID: 7178086

Claim:
A controller that corrects erroneous data bytes that are stored in a sector on a disk, wherein: the controller performs a first attempt to correct erroneous data bytes that are stored in a failed sector on the disk by decoding first level CRC and ECC bytes, if the first attempt to correct the erroneous data bytes is unsuccessful, the controller adds a long block membership (LBM) byte to the first level CRC and ECC bytes, the LBM byte indicating whether the failed sector is part of a long block that includes a plurality of sectors, the controller performs a second attempt to correct the erroneous data bytes by decoding second level ECC bytes, and if the second attempt to correct the data bytes is unsuccessful, the controller adds the LBM byte to the first level CRC and ECC bytes again and performs a third attempt to correct the erroneous data bytes by decoding the second level ECC bytes to generate corrected data bytes.