Storage error management
AssigneeSanDisk Technologies LLC
InventorsEvan Orme, James G. Peterson
Life of this patent
Estimating the term…
Abstract
A storage controller identifies a storage division comprising unreadable data. In response, the storage controller relocates readable data (if any) from the identified storage division. The storage controller may be further configured to associate the unreadable data with a logical address, and to record persistent metadata to indicate that the logical address is mapped to unreadable, corrupt data. The storage controller may clear the corruption indicator from the logical address. The logical address may be cleared in response to determining that the unreadable data is invalid and/or available from another source.
Claims20
A method, comprising:
- identifying a logical address that is associated with unreadable data, wherein the unreadable data is stored on a storage unit within a particular erase division of a plurality of erase divisions of a storage medium;
- recording that the identified logical address is associated with unreadable data responsive to the identifying, the recording comprising:
- performing a first write in logical-to-physical translation metadata for the storage medium, the first write to associate the identified logical address with an unreadable data indicator in the logical-to-physical translation metadata, and
- performing a second write to append persistent metadata to a storage log maintained on the storage medium, the persistent metadata configured to associate the identified logical address with the unreadable data indicator independent of the logical-to-physical translation metadata;
- and
- relocating readable data from the particular erase division to one or more erase divisions other than the particular erase division;
- wherein the storage log associates the identified logical address with the unreadable data indicator instead of existing data within the storage log based on an order of the persistent metadata and the existing data within the storage log.
An apparatus, comprising:
- a translation layer configured to associate logical addresses of a logical address space with storage addresses of a non-volatile storage medium;
- a reliability monitor configured to detect a read error pertaining to a storage address of the non-volatile storage medium, wherein the storage address is associated with a particular logical address by the translation layer;
- and
- a corruption manager determine whether to mark the particular logical address as corrupt, wherein, in response to determining that the particular logical address is to be marked as corrupt, the corruption manager is further configured to:
- implement a first write to modify the translation layer to associate the particular logical address with an corrupt data indicator, and
- implement a second write to store persistent metadata within a log maintained on the non-volatile storage medium, the persistent metadata configured to associate the particular logical address with the corrupt data indicator independent of the translation layer,
- wherein the log maintained on the non-volatile storage medium associates the particular logical address with the corrupt data indicator rather than obsolete data of the particular logical address based on a log order of the persistent metadata and the obsolete data within the log.
A system, comprising:
- a storage medium comprising a plurality of storage divisions, each storage division comprising a plurality of physical storage locations;
- a storage controller configured to append data to a storage log on the storage medium, wherein appending data to the storage log comprises storing the data within physical storage locations of the storage medium and associating logical identifiers of the data with physical storage locations of the data in a forward index,
- wherein the storage controller is further configured to detect a read failure pertaining to a physical storage location within a particular one of the storage divisions, wherein the physical storage location is associated with a specified logical identifier in the forward index;
- and
- a corruption manager configured to apply a corrupt data designation to the specified logical identifier, by:
- a first write operation in the forward index to associate the specified logical identifier with a corrupt data designation in the forward index, and
- a second write operation to append an entry to the storage log on the storage medium, the entry configured to apply the corrupt data designation to the specified logical identifier independent of the forward index, wherein:
- the storage log comprises existing data associated with the specified logical identifier, and
- the storage log associates the specified logical identifier with the corrupt data designation rather than the existing data based on an order of the entry and the existing data within the storage log.
Dependencies are inferred from the claim text.