Patent ID: 7191382

Claim:
A method for reading data from a non-volatile data storage medium, the data being organized in sectors having some predetermined number of bits, comprising the steps of: reading a sector from the medium and storing the sector data in volatile memory, using a first algorithm, operated on the basis of a first bit length, to generate check bits based on the sector data, the check bits being stored in the volatile memory, and detecting and identifying at least some errors in the data using a second algorithm that operates on the basis of symbols having a second bit length, wherein the data and check bits stored in the volatile memory do not change if no errors are found, but if errors are found, using the second algorithm to correct the data stored in the volatile memory, and using the first algorithm, operated on the basis of the second bit length, to correct the check bits stored in the volatile memory to reflect the error corrections, thus not requiring re-reading the sector from the volatile memory to correct the check bits stored in the volatile memory.