Systems and methods for measuring the useful life of solid-state storage devices
First Claim
Patent Images
1. A data storage system in combination with a host system, comprising:
- a storage subsystem that connects to and stores data for the host system, the storage subsystem comprising;
a memory array comprising a plurality of solid-state memory devices, each device having one or more data blocks; and
a controller configured to maintain usage data in the memory array with timestamp data, the usage data reflecting the number of times the one or more data blocks have been erased;
wherein the host system is configured with;
a first program module configured to;
retrieve said usage data with timestamp data, said usage data being from two or more different time periods; and
calculate an estimate of remaining useful life of the storage subsystem with the retrieved usage data from two or more different time periods; and
a second program module configured to generate a graphical display indicating said estimated remaining useful life of the storage subsystem.
12 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile solid-state storage subsystem, such as a non-volatile memory device, maintains usage statistics reflective of the wear state, and thus the remaining useful life, of the subsystem'"'"'s memory array. A host system reads the usage statistics information, or data derived therefrom, from the subsystem to evaluate the subsystem'"'"'s remaining life expectancy. The host system may use this information for various purposes, such as to (a) display or report information regarding the remaining life of the subsystem; (b) adjust the frequency with which data is written to the subsystem; and/or (c) select the type(s) of data written to the subsystem.
-
Citations
17 Claims
-
1. A data storage system in combination with a host system, comprising:
-
a storage subsystem that connects to and stores data for the host system, the storage subsystem comprising; a memory array comprising a plurality of solid-state memory devices, each device having one or more data blocks; and a controller configured to maintain usage data in the memory array with timestamp data, the usage data reflecting the number of times the one or more data blocks have been erased; wherein the host system is configured with; a first program module configured to; retrieve said usage data with timestamp data, said usage data being from two or more different time periods; and calculate an estimate of remaining useful life of the storage subsystem with the retrieved usage data from two or more different time periods; and a second program module configured to generate a graphical display indicating said estimated remaining useful life of the storage subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium having stored thereon a computer program which, when executed by a host computer, causes the host computer to:
-
retrieve usage information from a solid state storage subsystem that is configured to maintain such usage information in a non-user-data memory area of the solid state storage subsystem, the usage information being reflective of a number of erase cycles that have been executed by the solid state storage subsystem; and determine an estimated value of the remaining useful life based on said usage information; and select a type of data to be written to the solid state storage subsystem based on the criticality of the data and the estimated value of the remaining useful life, wherein critical data is written to the solid state storage subsystem when the estimated value of the remaining useful life is above a threshold value. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method of estimating a remaining useful life of a solid state storage subsystem, comprising:
-
maintaining a plurality of counter values in a plurality of memory blocks in the storage subsystem, wherein at least one counter value is associated with a single, particular memory block of the plurality of memory blocks and is incremented when the associated memory block is erased; calculating, by storage subsystem, usage information reflective of a current wear level of the solid state storage subsystem based on the plurality of counter values; storing the usage information with one or more timestamps; and upon receiving a request from a host system, providing to the host system the usage information including the timestamps and data values derived from usage information obtained from two or more different time periods, the derived data values indicating the remaining useful life of the storage subsystem. - View Dependent Claims (15, 16, 17)
-
Specification