Seeding mechanism for error detection codes
First Claim
1. An apparatus comprising:
- a processor configured to;
calculate and record EDC values for memory locations containing valid data based on a first set of seed values to an EDC function; and
calculate and record alternate EDC values for memory locations containing invalid data based on a second set of seed values to the EDC function;
the first set of seed values includes a first logical block address (LBA) value associated with the respective memory location containing valid data;
the second set of seed values includes a different LBA value than a second LBA value associated with the respective memory location containing invalid data;
calculate a modified EDC based on the second set of seed values;
compare a first error detection code (EDC) stored to a target memory location to the modified EDC to determine whether the target memory location contains valid data; and
return an indication that the target memory location does not contain valid data when the first EDC matches the modified EDC.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for a seeding mechanism for error detection codes. An error detection code may be generated using specifically modified seed input and stored to data sectors not containing valid data. A data storage device may determine if read attempts are directed to an invalid sector by analysis of the stored error detection code. In some embodiments, an apparatus may determine a first error detection code stored to a target data storage sector does not match a second error detection code calculated for the target data storage sector, compare the first error detection code to a modified error code value to determine whether the target data storage sector contains valid data, and return an indication that the target data storage sector does not contain valid data when the error detection code matches the modified error code value.
26 Citations
19 Claims
-
1. An apparatus comprising:
a processor configured to; calculate and record EDC values for memory locations containing valid data based on a first set of seed values to an EDC function; and calculate and record alternate EDC values for memory locations containing invalid data based on a second set of seed values to the EDC function; the first set of seed values includes a first logical block address (LBA) value associated with the respective memory location containing valid data; the second set of seed values includes a different LBA value than a second LBA value associated with the respective memory location containing invalid data; calculate a modified EDC based on the second set of seed values; compare a first error detection code (EDC) stored to a target memory location to the modified EDC to determine whether the target memory location contains valid data; and return an indication that the target memory location does not contain valid data when the first EDC matches the modified EDC. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A method comprising:
-
calculating and recording EDC values for memory locations containing valid data based on a first set of seed values to an EDC function; calculating and recording alternate EDC values for memory locations containing invalid data based on a second set of seed values to the EDC function; receiving a request to read a target memory location of a data storage device; calculating a modified EDC based on the second set of seed values; comparing a first error detection code (EDC) stored to the target memory location to the modified EDC to determine whether the target memory location contains valid data; and returning an indication that the target memory location does not contain valid data when the first EDC matches the modified EDC. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A memory device that stores instructions that, when executed, cause a processor to perform a method comprising:
-
calculating and recording EDC values for memory locations containing valid data based on a first set of seed values to an EDC function, the first set of seed values including a first logical block address (LBA) value associated with the respective memory location containing valid data; and calculating and recording alternate EDC values for memory locations containing invalid data based on a second set of seed values to the EDC function, the second set of seed values including includes a different LBA value than a second LBA value associated with the respective memory location containing invalid data; receiving a request to read a target memory location of a data storage device; calculating a modified EDC based on the second set of seed values; comparing a first error detection code (EDC) stored to the target memory location to the modified EDC to determine whether the target memory location contains valid data; and determining the target memory location does not contain valid data when the first EDC matches the modified EDC. - View Dependent Claims (16, 17, 18, 19)
-
Specification