Data storage device employing data path protection using both LBA and PBA
AssigneeWestern Digital Technologies, Inc.
InventorsMei-Man L. Syu, William B. Boyle
Life of this patent
Estimating the term…
Abstract
A data storage device is disclosed comprising a non-volatile memory including a plurality of memory segments. A write command is received comprising a logical block address (LBA) and user data. The LBA is mapped to a physical block address (PBA) for addressing one of the memory segments. First error code redundancy is generated in response to the LBA, and second error code redundancy in response to the PBA. User data and the first and second error code redundancy are written to the memory segment addressed by the PBA.
Claims20
A data storage device comprising:
- a non-volatile memory comprising a plurality of memory segments;
- and
- control circuitry operable to:
- receive a write command comprising a logical block address (LBA) and user data;
- map the LBA to a physical block address (PBA) for addressing one of the memory segments;
- generate first error code redundancy in response to the LBA;
- generate second error code redundancy in response to the PBA;
- write user data and the first and second error code redundancy to the memory segment addressed by the PBA;
- write the LBA to the memory segment addressed by the PBA;
- read the user data, the LBA, and the first and second error code redundancy from the memory segment addressed by the PBA;
- generate a first error syndrome in response to the PBA and the LBA, the user data, and the first and second error code redundancy read from the memory segment;
- correct at least one error in the LBA read from the memory segment to generate a corrected LBA;
- generate a second error syndrome in response to the corrected LBA;
- and
- detect an error in response to the second error syndrome.
A method of operating a data storage device comprising a non-volatile memory including a plurality of memory segments, the method comprising:
- receiving a write command comprising a logical block address (LBA) and user data;
- mapping the LBA to a physical block address (PBA) for addressing one of the memory segments;
- generating first error code redundancy in response to the LBA;
- generating second error code redundancy in response to the PBA;
- writing user data and the first and second error code redundancy to the memory segment addressed by the PBA;
- writing the LBA to the memory segment addressed by the PBA;
- reading the user data, the LBA, and the first and second error code redundancy from the memory segment addressed by the PBA;
- generating a first error syndrome in response to the PBA and the LBA, the user data, and the first and second error code redundancy read from the memory segment;
- correcting at least one error in the LBA read from the memory segment to generate a corrected LBA;
- generating a second error syndrome in response to the corrected LBA;
- and
- detect an error in response to the second error syndrome.
Dependencies are inferred from the claim text.