Patent ID: 7162678

Claim:
A method of verifying errors in data retrieved from a storage medium, comprising: retrieving a plurality of data blocks from the storage medium; selecting a data set having data from multiple data blocks, wherein the data set includes a plurality of rows corresponding to the data blocks, and wherein a row has data from a data block corresponding to the row; retrieving one or more error correction codes (ECCs) from the storage medium, wherein the one or more ECCs correspond to the data set; retrieving a plurality of check sums from the storage medium, wherein a check sum corresponds to a data block; identifying data blocks retrieved from the storage medium having errors using the check sums corresponding to the data blocks; and when the number of data blocks identified as having errors is greater than the number of ECCs for the data set: selecting a first set of rows in the data set corresponding to the data blocks identified as having errors, wherein the number of rows in the first set of rows is equal to the number of ECCs for the data set and less than the number of data blocks identified as having errors, generating data for the first set of rows using the ECCs for the data set, and verifying the rows corresponding to the data blocks identified as having errors based on the generated data for the first set of rows.