Extended error correction codes
First Claim
1. 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.
16 Assignments
0 Petitions
Accused Products
Abstract
Errors in data retrieved from a storage medium are verified by retrieving a plurality of data blocks from the storage medium. A data set having data from multiple data blocks is selected, where the data set includes a plurality of rows corresponding to the data bocks and a row has data from a data block corresponding to the row. One or more error correction codes (ECCs) are retrieved from the storage medium, where the one or more ECCs correspond to the data set. A plurality of check sums are retrieved from the storage medium, where a check sum corresponds to a data block. Data blocks retrieved from the storage medium having errors are identified using the check sums corresponding to the data blocks. When the number of data blocks identified as having errors is greater than the number of ECCs for the data set, a first set of rows in the data set corresponding to the data blocks identified as having errors is selected, where 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. Data for the first set of rows are generated using the ECCs for the data set, and the rows corresponding to the data blocks identified as having errors are verified based on the generated data for the first set of rows.
110 Citations
27 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system of verifying errors in data retrieved from a storage medium, comprising:
-
a data buffer including;
a plurality of data blocks retrieved from the storage medium, one or more error correction codes (ECCs) retrieved from the storage medium, and a plurality of check sums retrieved from the storage medium, wherein a check sum corresponds to a data block; and
a processor configured to;
select a data set having data from multiple data blocks in the data buffer, wherein the data set includes a plurality of rows corresponding to the data blocks, and wherein the one or more ECCs correspond to the data set, identify 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;
select 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, generate data for the first set of rows using the ECCs for the data set, and verify the rows corresponding to the data blocks identified as having errors based on the generated data for the first set of rows. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-readable storage medium containing computer executable instructions for causing a computer to verify errors in data retrieved from a storage medium comprising instructions for:
-
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. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
Specification