IP Library Granted Patent US 7,653,778
Granted Patent B2
US 7,653,778 · App. 11/429,936 · Granted Jan 26, 2010

Systems and methods for measuring the useful life of solid-state storage devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,653,778
App. No.
11/429,936
Granted
Jan 26, 2010
Kind
B2
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.

Claims (28)

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.

2. The solid state storage subsystem of claim 1 , wherein the usage statistics maintained by the controller include at least one counter value which indicates a number of program/erase cycles performed.

3. The solid state storage subsystem of claim 1 , wherein the usage statistics maintained by the controller include a plurality of counter values, each of which corresponds to a respective memory block and reflects a wear level thereof.

4. The solid state storage subsystem of claim 3 , wherein the counter values are stored in the respective memory blocks to which they correspond.

5. The solid state storage subsystem of claim 1 , wherein the controller provides host access to at least some of the usage statistics.

6. The solid state storage subsystem of claim 1 , wherein the controller outputs information regarding the current wear level, at least in part, by displaying the wear level information on a display that is part of the solid state storage subsystem.

7. The solid state storage subsystem of claim 1 , in combination with a program that is configured to use said usage statistics to generate, on the host system, a graphical display depicting an estimate of a remaining life of the solid state storage subsystem.

8. The solid state storage subsystem of claim 1 , in combination with a storage manager program that is configured to use said usage statistics to select a type of data to be written to the solid state storage subsystem, wherein the selection comprises selecting critical data to be written to the solid state storage subsystem when said usage statistics indicate less wear and selecting non-critical data to be written to the solid state storage subsystem when said usage statistics indicate more wear.

9. The solid state storage subsystem of claim 1 , in combination with a storage manager program that is configured to use said usage statistics to vary a frequency with which data is written to the solid state storage subsystem.

10. The solid state storage subsystem of claim 1 , in combination with a driver program configured to use at least one vendor-specific command to retrieve said usage statistics from the solid state storage subsystem.

11. The solid state storage subsystem of claim 1 further comprising program code configured to use said usage statistics to generate a graphical display indicating an estimated remaining useful life of the solid state storage subsystem.

12. The solid state storage subsystem of claim 11 , wherein the display is configured as a meter that indicates a utilization of the solid state storage subsystem relative to a percentage scale.

13. The solid state storage subsystem of claim 12 , wherein the percentage scale corresponds to a specified endurance of the solid state storage subsystem.

14. The solid state storage subsystem of claim 13 , wherein the meter is configured to provide indicia of a threshold relative to the percentage scale.

15. The solid state storage subsystem of claim 14 , wherein the threshold is less than the specified endurance of the solid state storage subsystem.

16. The solid state storage subsystem of claim 12 , wherein the meter is configured to provide indicia of a time displayed relative to the percentage scale so as to indicate how much of the solid state storage subsystem has been utilized relative to the percentage scale during a predetermined time period.

17. The solid state storage subsystem of claim 11 , wherein the display is configured as a bar chart that indicates a utilization of the solid state storage subsystem relative to a percentage scale.

18. The solid state storage subsystem of claim 1 , wherein the controller is operative to provide access to the usage statistics, including said timestamps.

19. The solid state storage subsystem of claim 1 , wherein the controller is operative to provide access to the data values derived by the controller from examining usage statistics obtained from two or more time periods.

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.

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.

Assignments (15)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2016
From: SILICONSYSTEMS, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 037936/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: SILICONSYSTEMS, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 036872/0017 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2006
From: MERRY, JR., DAVID E.; DIGGS, MARK S.; DROSSEL, GARY A.
To: SILICONSYSTEMS, INC.
Reel/Frame 018334/0199 →