Data storage device and method for data protection using XOR parity
AssigneeWestern Digital Technologies, Inc.
InventorsVarun Sharma, Vishal Sharma, Arun Thandapani
Life of this patent
Estimating the term…
Abstract
A data storage device includes a non-volatile memory and a data storage controller. The data storage controller is configured to generate first XOR parities based on first data of a first metablock of the non-volatile memory and store the first XOR parities in a second metablock of the non-volatile memory. The data storage controller is also configured to generate second XOR parities corresponding to second data of the second metablock. The second data includes two or more XOR parities of the first XOR parities. The data storage controller is further configured to store the second parities in a reserved portion of the first metablock.
Claims20
A data storage device comprising:
- a non-volatile memory;
- and
- a data storage controller coupled to the non-volatile memory and configured to:
- generate a first plurality of XOR parities based on first data of a first metablock of the non-volatile memory;
- store the first plurality of XOR parities in a second metablock of the non-volatile memory;
- generate a second plurality of XOR parities based on second data of the second metablock, wherein the second data includes two or more XOR parities of the first plurality of XOR parities;
- store the second plurality of XOR parities in a reserved portion of the first metablock;
- detect a failure in the first metablock resulting in data loss;
- and
- recover lost data of the first metablock using the second plurality of XOR parities.
A method for protecting data in a data storage device from failures, the method comprising:
- generating, using a data storage controller of the data storage device, a first plurality of XOR parities based on first data of a first metablock of a non-volatile memory of the data storage device;
- storing, using the data storage controller, the first plurality of XOR parities in a second metablock of the non-volatile memory;
- generating, using the data storage controller, a second plurality of XOR parities based on second data of the second metablock, wherein the second data includes two or more XOR parities of the first plurality of XOR parities;
- storing, using the data storage controller, the second plurality of XOR parities in a reserved portion of the first metablock;
- detecting, using the data storage controller, a failure in the first metablock resulting in data loss;
- and
- recovering, using the data storage controller, lost data of the first metablock using the second plurality of XOR parities.
An apparatus comprising:
- means for generating a first plurality of XOR parities based on first data of a first metablock of a non-volatile memory;
- means for storing the first plurality of XOR parities in a second metablock of the non-volatile memory;
- means for generating a second plurality of XOR parities based on second data of the second metablock, wherein the second data includes two or more XOR parities of the first plurality of XOR parities;
- means for storing the second plurality of XOR parities in a reserved portion of the first metablock;
- and
- means for detecting a failure in the first metablock resulting in data loss;
- and
- means for recovering lost data of the first metablock using the second plurality of XOR parities.
Dependencies are inferred from the claim text.