Apparatus, system, and method for backing data of a non-volatile storage device using a backing store
Abstract
Methods, storage controllers, and systems for backing data of a non-volatile storage device using a backing store are described. One method includes satisfying storage operations using a non-volatile storage device, determining an age for data stored on the non-volatile storage device, and copying data of the non-volatile storage device having an age that satisfies a data retention time threshold to a dedicated backing store. One storage controller includes an operations module that satisfies storage operations using a non-volatile storage device, an age module that determines an age for data stored on the non-volatile storage device, and a backup module that copies data of the non-volatile storage device having an age that satisfies a data retention time threshold to a dedicated backing store.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A method, comprising:
determining an age for a set of data stored on a non-volatile storage device;
copying the set of data to a backing store responsive to the age satisfying a data retention time threshold;
in response to the set of data on the non-volatile storage device not being corrupted, servicing a request for the set of data from the non-volatile storage device, wherein the servicing is subsequent to the copying;
retrieving a copy of the set of data from the backing store in response to determining that errors in the set of data on the non-volatile storage device are not correctable using an error correcting code stored in an erase block; and
writing the copy of the set of data to the non-volatile storage device.
2. The method of claim 1 , further comprising:
executing a storage operation that modifies data previously stored on the non-volatile storage device; and
copying the modified data to the backing store within a data retention time interval of the non-volatile storage device.
3. The method of claim 1 , further comprising:
reading data from another erase block of the non-volatile storage device;
determining that an error count for the read data satisfies a retirement criteria; and
determining that reading the data comprises a first original read of the data from the other erase block after the non-volatile storage device commenced a current operating state and, in response, deferring retirement of the other erase block.
4. The method of claim 3 , further comprising:
performing a subsequent read of data from the other erase block;
determining that an error count for the subsequently read data satisfies a retirement criteria; and
determining that the subsequent read was not the first original read of the data from the other erase block after the non-volatile storage device commenced the current operating state and, in response, retiring the other erase block.
5. The method of claim 3 , wherein the other erase block is a logical erase block comprising at least one physical erase block from each of a plurality of solid-state storage elements within an array.
6. The method of claim 1 , further comprising:
determining that a first subset of data stored on the non-volatile storage device is modified less frequently than a second subset of the data stored on the non-volatile storage device, wherein the first subset and the second subset have ages that fail to satisfy the data retention time threshold; and
copying the first subset to the backing store, but not the second subset.
7. The method of claim 1 wherein:
the copying is performed within a data retention interval of the non-volatile storage device; and
the data retention time threshold is less than the data retention interval.
8. The method of claim 1 , wherein the set of data is copied in sequential order based on logical block addresses associated with the set of data.
9. The method of claim 1 , further comprising:
prior to shutting down the non-volatile storage device, copying data stored on the non-volatile storage device to the backing store independent of an age of the data.
10. A storage controller, comprising:
an operations module configured to satisfy storage operations using a non-volatile storage device;
an age module configured to determine an age for data stored on the non-volatile storage device;
a backup module configured to copy data of the non-volatile storage device having an age that satisfies a data retention time threshold to a dedicated backing store, wherein the copied data is some, but not all, of the data stored on the non-volatile storage device;
wherein the backup module is configured to retrieve a copy of the data from the dedicated backing store in response to the operations module determining that errors in the data are not correctable using an error correcting code stored in an erase block;
wherein the operations module is configured to write the copy of the data to the non-volatile storage device; and
wherein the operations module, the age module, and the backup module comprise one or more of logic hardware and a non-transitory computer readable medium having executable code stored thereon.
11. The storage controller of claim 10 , wherein:
the operations module is configured to execute a storage operation that modifies data previously stored on the non-volatile storage device; and
the backup module is configured to copy the modified data to the dedicated backing store within a data retention time interval of the non-volatile storage device.
12. The storage controller of claim 10 , wherein the operations module is configured to:
read data from another erase block of the non-volatile storage device;
determine that an error count for the read data satisfies a retirement criteria;
determine that reading the data comprises a first original read of the data from the other erase block after the non-volatile storage device commenced a current operating state; and
in response, defer retirement of the other erase block.
13. The storage controller of claim 12 , wherein the operations module is configured to:
perform a subsequent read of data from the other erase block;
determine that an error count for the subsequently read data satisfies a retirement criteria;
determine that the subsequent read was not the first original read of the data from the other erase block after the non-volatile storage device commenced the current operating state; and
in response, retire the other erase block.
14. A system, comprising:
a non-volatile storage device;
a dedicated backing store configured for communication with the non-volatile storage device;
a storage controller configured to:
satisfy storage operations using the non-volatile storage device;
determine an age for data stored on the non-volatile storage device;
copy the data to the dedicated backing store responsive to the age satisfying a data retention time threshold;
subsequent to copying the data, continue to satisfy storage operations associated with the data using the non-volatile storage device unless the data is corrupted;
read data from an erase block of the non-volatile storage device;
determine that an error count for the read data satisfies a retirement criteria;
determine whether reading the data constitutes an initial read from the erase block after the non-volatile storage device commenced a current operating state; and
in response to the reading constituting an initial read, defer retirement of the erase block.
15. The system of claim 14 , wherein the storage controller is configured to:
execute a storage operation that modifies data previously stored on the non-volatile storage device; and
copy the modified data of the non-volatile storage device to the dedicated backing store within a data retention time interval of the non-volatile storage device.
16. The system of claim 14 , wherein the storage controller is configured to:
perform a subsequent read of data from the erase block;
determine that an error count for the subsequently read data satisfies a retirement criteria; and
in response to the subsequent read not constituting the initial read, retire the erase block.
17. The system of claim 14 , wherein the storage controller is configured to:
retrieve a copy of the data from the dedicated backing store in response to determining that errors in the data on the non-volatile storage device are not correctable using an error correcting code; and
write the copy of the data to the non-volatile storage device.Join the waitlist — get patent alerts
Track US8806111B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.