Systems and methods for measuring the useful life of solid-state storage devices
First Claim
Patent Images
1. A data storage system, comprising:
- a non-volatile memory array; and
a controller configured to;
maintain usage information and corresponding temporal data in the non-volatile memory array, the usage information reflective of a current wear level of the non-volatile memory array, the usage information comprising a plurality of counter values associated with a plurality of data blocks of the non-volatile memory array, wherein the controller is configured to;
add the plurality of counter values to derive a sum of the counter values; and
divide the sum of the counter values by a pre-determined threshold value, the threshold value being reflective of an estimated total number of program/erase cycles of the non-volatile memory array;
estimate an amount of the remaining useful life of the data storage system based on the usage information obtained from two or more different time periods; and
in response to a request received from a host system, provide the estimated amount of the remaining useful life to the host system.
10 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.
253 Citations
20 Claims
-
1. A data storage system, comprising:
-
a non-volatile memory array; and a controller configured to; maintain usage information and corresponding temporal data in the non-volatile memory array, the usage information reflective of a current wear level of the non-volatile memory array, the usage information comprising a plurality of counter values associated with a plurality of data blocks of the non-volatile memory array, wherein the controller is configured to; add the plurality of counter values to derive a sum of the counter values; and divide the sum of the counter values by a pre-determined threshold value, the threshold value being reflective of an estimated total number of program/erase cycles of the non-volatile memory array; estimate an amount of the remaining useful life of the data storage system based on the usage information obtained from two or more different time periods; and in response to a request received from a host system, provide the estimated amount of the remaining useful life to the host system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A data storage system in combination with a host system, the data storage system comprising:
-
a non-volatile memory array comprising a plurality of data blocks; and a controller configured to maintain usage information and corresponding temporal data in the non-volatile memory array, the usage information reflecting a number of times the plurality of data blocks have been erased; wherein the host system is configured with; a first program module configured to; retrieve the usage information and corresponding temporal data, the usage information being from two or more different time periods; and estimate an amount of the remaining useful life of the data storage system using the retrieved usage information from two or more different time periods; and a second program module configured to generate a graphical display indicating the estimated amount of the remaining useful life and a measure of utilization of the data storage system relative to a percentage scale. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium having stored thereon a computer program which, when executed by a host computer, causes the host computer to at least:
-
retrieve usage information from a data storage system that is configured to maintain such usage information, the usage information being reflective of a number of program/erase cycles that have been executed by the data storage system in a non-volatile memory array; estimate an amount of the remaining useful life of the data storage system based on the usage information; and adjust a policy for storing data in the data storage system based at least on a criticality of data to be stored and the estimated amount of the remaining useful life, wherein adjusting the policy includes varying a frequency with which data is stored in the data storage system. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification