Systems and methods for measuring the useful life of solid-state storage devices
First Claim
Patent Images
1. A solid state storage subsystem, comprising:
- an array of non-volatile solid state memory; and
a controller that provides access to the array of non-volatile solid state memory by executing commands received from a host system;
wherein the controller is operative to store usage statistics reflective of a current wear level of the array of non-volatile solid state memory with one or more associated timestamps in an area of said array that is not accessible via non-vendor-specific commands, and to provide access, via at least one vendor-specific command, to at least one of (1) the usage statistics, including said timestamps, and (2) data values derived by the controller from examining usage statistics obtained from two or more time periods.
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.
289 Citations
21 Claims
-
1. A solid state storage subsystem, comprising:
-
an array of non-volatile solid state memory; and a controller that provides access to the array of non-volatile solid state memory by executing commands received from a host system; wherein the controller is operative to store usage statistics reflective of a current wear level of the array of non-volatile solid state memory with one or more associated timestamps in an area of said array that is not accessible via non-vendor-specific commands, and to provide access, via at least one vendor-specific command, to at least one of (1) the usage statistics, including said timestamps, and (2) data values derived by the controller from examining usage statistics obtained from two or more time periods. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable medium having stored thereon a computer program which, when executed by a host computer, causes the host computer to use at least one vendor-specific command 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 thereof, and to use said usage information to do at least one of the following:
- (a) generate a graphical display depicting a remaining life of the solid state storage subsystem;
(b) select a type of data to be written to the solid state storage subsystem, wherein said usage information is reflective of a number of erase cycles that have been executed by the solid state storage subsystem,wherein the computer program is configured to use said usage information to select a type of data to be written to the solid state storage subsystem, and wherein the selection comprises selecting critical data to be written to the solid state storage subsystem when said usage information indicates less wear and selecting non-critical data to be written to the solid state storage subsystem when said usage information indicates more wear.
- (a) generate a graphical display depicting a remaining life of the solid state storage subsystem;
-
21. A computer-readable medium having stored thereon a computer program which, when executed by a host computer, causes the host computer to use at least one vendor-specific command 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 thereof, and to use said usage information to do at least one of the following:
- (a) generate a graphical display depicting a remaining life of the solid state storage subsystem;
(b) select a type of data to be written to the solid state storage subsystem, wherein said usage information is reflective of a number of erase cycles that have been executed by the solid state storage subsystem,wherein the usage information comprises a plurality of counter values, and the computer program uses the counter values in combination to generate a data value representing an estimated remaining useful life of the solid state storage subsystem, and wherein said usage information is stored with a timestamp and the data value is generated by examining usage information obtained from two or more time periods.
- (a) generate a graphical display depicting a remaining life of the solid state storage subsystem;
Specification