IP Library Granted Patent US 9,317,211
Granted Patent B2
US 9,317,211 · App. 14/268,591 · Granted Apr 19, 2016

System and method of life management for low endurance SSD NAND devices used as secondary cache

Inventors: Sumanesh Samanta (Bangalore, IN); Mohana Rao Goli (Bangalore, IN); Karimulla Sheik (Bangalore, IN)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
G06F3/0616G06F3/0635G06F3/0679G06F12/0246G06F2212/7204
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 9,317,211
App. No.
14/268,591
Granted
Apr 19, 2016
Kind
B2
Abstract

A system and method for managing the life expectancy of at least one solid state drive (SSD) within a cache device of a storage subsystem includes determining a baseline rate of decline for each SSD based on its guaranteed life expectancy. At intervals, each SSD of the cache device is polled for remaining life and power-on time, and a current rate of decline (based on time since initialization) and a cumulative rate of decline (based on total lifespan of the SSD) is determined. When both the current rate of decline and the cumulative rate of decline exceed the baseline rate of decline for any SSD of the cache device, write requests to that SSD are blocked and redirected to the virtual device until either the current rate of decline or cumulative rate of decline drop below the baseline rate.

Claims (60)

1. A method for managing the life expectancy of at least one solid state drive (SSD) in a storage subsystem, comprising:

initializing at least one cache device including the at least one SSD;

determining a first rate of change representing a relationship between the rated life expectancy of the at least one SSD and the chronological lifespan of the at least one SSD;

determining a first parameter associated with the remaining life of the at least one SSD;

determining a second parameter associated with the power-on time of the at least one SSD;

starting at least one timer to run for a predetermined interval,

when the at least one timer expires, determining a third parameter associated with the remaining life of the at least one SSD, determining a fourth parameter associated with power-on time of the at least one SSD after initializing the at least one cache device, and restarting the at least one timer;

determining a second rate of change representing a relationship between life expended by the at least one SSD after initializing the at least one cache device and power-on time of the at least one SSD after initializing the at least one cache device;

determining a third rate of change representing a relationship between total life expended by the at least one SSD and total power-on time of the at least SSD; and

when both the second rate of change and the third rate of change are greater than the first rate of change:

blocking at least one I/O request to the at least one SSD, and

redirecting the at least one I/O request to at least one of a back-end disk and a virtual device.

2. The method of claim 1 , wherein the at least one I/O request is a write request associated with an LBA range identified as frequently accessed data.

3. The method of claim 1 , wherein the first rate of change is derived from at least one self-monitoring attribute of the at least one SSD.

4. The method of claim 1 , wherein at least one of the first parameter, the second parameter, the third parameter and the fourth parameter is a self-monitoring attribute of the at least one SSD.

5. The method of claim 1 , further comprising:

when either the second rate of change or the third rate of change is not greater than the first rate of change, resuming receipt of the at least one I/O request via the at least one SSD.

6. The method of claim 1 , wherein the first rate of change is a linear function representing a constant decline in life expectancy.

7. The method of claim 1 , wherein the predetermined interval is 60 minutes.

8. A system for managing the life expectancy of at least one solid state drive (SSD) in a storage subsystem, comprising:

at least one cache device incorporating the at least one SSD;

at least one of a back-end disk and a virtual device;

at least one timer configured to run for a predetermined interval; and

a firmware level operably coupled to the at least one SSD and configured to

(a) initialize the at least one cache device;

(b) start the at least one timer;

(c) determine a first rate of change representing a relationship between the rated life expectancy of the at least one SSD and the chronological lifespan of the at least one SSD;

(d) determine a first parameter associated with the remaining life of the at least one SSD at the time of initialization;

(e) determine a second parameter associated with the power-on time of the at least one SSD at the time of initialization;

(f) when the at least one timer expires, receive a third parameter associated with the remaining life of the at least one SSD, receive a fourth parameter associated with power-on time of the at least one SSD after initializing the at least one cache device, and restart the at least one timer;

(g) determine a second rate of change representing a relationship between life expended by the at least one SSD after initializing the at least one cache device and power-on time of the at least one SSD after initializing the at least one cache device;

(h) determine a third rate of change representing a relationship between total life expended by the at least one SSD and total power-on time of the at least SSD; and

(i) when both the second rate of change and the third rate of change are greater than the first rate of change: Nock at least one I/O request to the at least one SSD, and redirect the at least one I/O request to at least one of a back-end disk and a virtual device.

9. The system of claim 8 , wherein the at least one I/O request is a write request associated with an LBA range identified as frequently accessed data.

10. The system of claim 8 , wherein the firmware level is configured to determine at least one of the first rate of decline, the first parameter, the second parameter, the third parameter, and the fourth parameter from at least one self-monitoring attribute of the SSD.

11. The system of claim 8 , wherein the firmware level is further configured to terminate any ongoing threads monitoring the life expectancy of the at least one SSD at initialization of the at least one cache device.

12. The system of claim 8 , wherein the firmware level is further configured to

when either the second rate of change or the third rate of change is not greater than the first rate of change, resume receipt of the at least one I/O request via the at least one SSD.

13. The system of claim 8 , wherein the at least one cache device incorporates the at least one SSD in at least one standard RAID configuration.

14. A data storage subsystem including a system for managing the life expectancy of at least one solid state drive (SSD) in a storage subsystem, comprising:

at least one cache device incorporating the at least one SSD;

at least one of a back-end disk and a virtual device;

at least one timer configured to run for a predetermined interval; and

a firmware level operably coupled to the at least one SSD and configured to

(a) initialize the at least one cache device;

(b) start the at least one timer;

(c) determine a first rate of change representing a relationship between the rated life expectancy of the at least one SSD and the chronological lifespan of the at least one SSD;

(d) determine a first parameter associated with the remaining life of the at least one SSD at the time of initialization;

(e) determine a second parameter associated with the power-on time of the at least one SSD at the time of initialization;

(f) when the at least one timer expires, determine a third parameter associated with the remaining life of the at least one SSD, determine a fourth parameter associated with power-on time of the at least one SSD after initializing the at least one cache device, and restart the at least one timer;

(g) determine a second rate of change representing a relationship between life expended by the at least one SSD after initializing the at least one cache device and power-on time of the at least one SSD after initializing the at least one cache device;

(h) determine a third rate of change representing a relationship between total life expended by the at least one SSD and total power-on time of the at least SSD; and

(i) when both the second rate of change and the third rate of change are greater than the first rate of change: block at least one I/O request intended for the at least one SSD, and redirect the at least one I/O request to at least one of a back-end disk and a virtual device; and

(j) when either the second rate of change or the third rate of change is not greater than the first rate of change, resume receipt of the at least one I/O request via the at least one SSD.

15. The data storage subsystem of claim 14 , wherein the at least one I/O request is a write request associated with an LBA range identified as frequently accessed data.

16. The data storage subsystem of claim 14 , wherein the firmware level is configured to determine at least one of the first rate of decline, the first parameter, the second parameter, the third parameter, and the fourth parameter from at least one self-monitoring attribute of the SSD.

17. The data storage subsystem of claim 14 , wherein the firmware level is further configured to terminate any ongoing threads monitoring the life expectancy of the at least one SSD at initialization of the at least one cache device.

18. The data storage subsystem of claim 14 , wherein the firmware level is further configured to

when either the second rate of change or the third rate of change is not greater than the first rate of change, resume receipt of the at least one I/O request via the at least one SSD.

19. The data storage subsystem of claim 14 , wherein the at least one cache device incorporates the at least one SSD in at least one standard RAID configuration.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2014
From: SAMANTA, SUMANESH; GOLI, MOHANA RAO; SHEIK, KARIMULLA
To: LSI CORPORATION
Reel/Frame 032812/0484 →
Continuity (1)
Related Publication 20150317090A1 · Nov 5, 2015