System and method for detecting and reducing data corruption in a storage device
AssigneeSTEC, Inc.
InventorsHooshmand Torabi, Chien-Hung Wu
Life of this patent
Estimating the term…
Abstract
A data storage system using flash storage maintains a status indicator corresponding to data written into the flash storage. The status indictor of the data indicates whether a disruption, such as a power disruption or a device disconnection, occurred when the data was being written into the flash storage. The data storage system determines whether the data may be corrupted based on one or more of the status indictors. The data storage system may make this determination at a selected time or after a power-up of the data storage system. If the data is determined to possibly be corrupted, the data storage system may optionally discard the corrupted data from the flash storage or flag the corrupted data for future removal.
Claims20
A data storage system comprising:
- a data memory configured to receive a data block comprising at least one data unit;
- and
- a controller coupled to the data memory and configured to write at least one data unit of the data block into a flash storage, the controller further configured to set a status indicator in the data memory for each data unit of the data block written into the flash storage indicating whether a power disruption occurs in the data storage system when the data unit is written into the flash storage,
- wherein, while writing the at least one data unit of the data block into the flash storage, the controller is further configured to maintain a first pointer identifying a current data unit of the data block to be written into the flash storage and a second pointer identifying a sector of the flash storage into which the current data unit is to be written.
A method comprising:
- receiving a data block comprising at least one data unit;
- writing at least one data unit of the data block into a flash storage;
- setting a status indicator for each data unit of the data block written into the flash storage indicating whether a power disruption occurs in a data storage system containing the flash storage when the data unit is written into the flash storage;
- maintaining a first pointer identifying a current data unit of the data block to be written into the flash storage, while writing the at least one data unit of the data block into the flash storage;
- and
- maintaining a second pointer identifying a sector of the flash storage into which the current data unit is to be written, while writing the at least one data unit of the data block into the flash storage.
A data storage system comprising:
- means for receiving a data block comprising at least one data unit;
- means for writing at least one data unit of the data block into a flash storage;
- means for setting a status indicator for each data unit written into the flash storage indicating whether a power disruption occurs in the data storage system when the data unit is written into the flash storage;
- means for maintaining a first pointer identifying a current data unit of the data block to be written into the flash storage, while writing the at least one data unit of the data block into the flash storage;
- means for maintaining a second pointer identifying a sector of the flash storage into which the current data unit is to be written, while writing the at least one data unit of the data block into the flash storage;
- and
- means for determining whether the data block is corrupted based on at least one status indicator.
Dependencies are inferred from the claim text.