Patent ID: 6903887

Claim:
A method for encoding and decoding blocks having a predetermined number of sectors of data bytes to detect and correct data bytes in error in each sector of a block, the method comprising the steps of: (a) generating sector level check bytes for each sector in the block responsive to the data bytes in each sector according to a first level of an error correction code, and except when the write command is fragmented and is less than or equal to one multi-sector block of data bytes, generating block level check bytes for at least one sector in the block responsive to the sector level check bytes of at least two sectors, including the at least one sector, according to at least a second level of the error correction code; and (b) processing the block to detect and correct data bytes in error in each sector within the capability of the sector level check bytes, to detect and correct data bytes in error in the at least two sectors that exceed the correction capability of the sector level check bytes but within the correction capability of the block level check bytes, or to indicate that the data bytes in error in the at least two sectors exceed the correction capability of each of the sector level check bytes and the block level check bytes.