IP Library Granted Patent US 11,436,138
Granted Patent B2
US 11,436,138 · App. 17/075,951 · Granted Sep 6, 2022

Adaptive endurance tuning of solid-state storage system

Inventors: Lior Kamran (Rishon LeZion, IL); Amitai Alkalay (Kadima, IL)
Assignee: EMC IP Holding Company LLC
G06F12/0246G06F3/0616G06F3/0631G06F3/0679G06F2212/1036G06F2212/214G06F2212/7204G06F2212/7211
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 11,436,138
App. No.
17/075,951
Granted
Sep 6, 2022
Kind
B2
Abstract

Techniques are provided for automated adaptive endurance tuning of solid-state storage media. For example, a storage control system tracks usage metrics associated with utilization of solid-state storage devices of a storage system, wherein the storage system comprises an amount of over-provisioned capacity allocated in the solid-state storage devices according to an over-provisioning factor. The storage control system determines a current endurance value of the data storage system based at least in part on the usage metrics, and compares the current endurance value to a target endurance value to determine if the current endurance value differs from the target endurance value. The storage control system automatically adjusts the over-provisioning factor in response to determining a difference between the current endurance value and the target endurance value, and automatically adjusts the amount of over-provisioned capacity allocated in the solid-state storage devices according to the adjusted over-provisioning factor.

Claims (65)

1. A method, comprising:

tracking, by a storage control system, usage metrics associated with utilization of solid-state storage devices of a storage system, wherein the storage system comprises an amount of over-provisioned capacity allocated in the solid-state storage devices according to an over-provisioning factor;

determining, by the storage control system, a current endurance value of the storage system, wherein the current endurance value of the storage system is determined based at least in part on a wear-level measure of the storage system, which is determined based at least in part on the tracked usage metrics associated with the utilization of the solid-state storage devices of the storage system;

comparing, by the storage control system, the current endurance value to a target endurance value specified for the storage system to determine if the current endurance value differs from the target endurance value;

in response to determining, by the storage control system, that the current endurance value exceeds the target endurance value, then one of (i) adjusting the over-provisioning factor by automatically increasing the over-provisioning factor, and (ii) maintaining the over-provisioning factor, if the over-provisioning factor is currently set to a first over-provisioning factor threshold value:

in response to determining, by the storage control system, that the current endurance value is less than the target endurance value, then one of (i) adjusting the over-provisioning factor by automatically decreasing the over-provisioning factor, and (ii) maintaining the over-provisioning factor, if the over-provisioning factor is currently set to a second over-provisioning factor threshold value, wherein the second over-provisioning factor threshold value is less than the first over-provisioning factor threshold value; and

automatically adjusting, by the storage control system, the amount of over-provisioned capacity allocated in the solid-state storage devices of the storage system according to the adjusted over-provisioning factor.

2. The method of claim 1 , wherein the current endurance value comprises an average drive writes per day (DWPD) value that is estimated based on the usage metrics, and wherein the target endurance value comprises a target DWPD value.

3. The method of claim 1 , wherein the target endurance value is set by a configurable target endurance parameter of the storage system, wherein a value of the configurable target endurance parameter is at least one of user-defined and automatically configured by the storage control system.

4. The method of claim 1 , wherein the usage metrics comprise one or more of (i) read/write ratios associated with read operations and write operations performed by the solid-state storage devices, (ii) program/erase cycle counts for blocks of the solid-state storage devices, (iii) a total amount of host writes to the solid-state storage devices, and (iv) a total amount of physical writes to the solid-state storage devices.

5. The method of claim 1 , further comprising maintaining, by the storage control system, the over-provisioning factor in response to determining that the current endurance value is substantially equal to the target endurance value.

6. The method of claim 1 , wherein:

the first over-provisioning factor threshold value comprises a maximum over-provisioning factor threshold value; and

the second over-provisioning factor threshold value comprises a minimum over-provisioning factor threshold value.

7. The method of claim 1 , wherein automatically adjusting the amount of over-provisioned capacity allocated in the solid-state storage devices according to the adjusted over-provisioning factor comprises at least one of:

automatically allocating, by the storage control system, an additional amount of over-provisioned capacity in the solid-state storage devices based on the increased amount of the over-provisioning factor; and

automatically reclaiming, by the storage control system, an amount of over-provisioned capacity from the solid-state storage devices based on the decreased amount of the over-provisioning factor.

8. The method of claim 7 , wherein automatically allocating an additional amount of over-provisioned capacity comprises:

reserving, by the storage control system, an amount of free user capacity of the solid-state storage devices for use as additional over-provisioned capacity; and

issuing, by the storage control system, an over-provisioning trim command to indicate that the reserved amount of free user capacity of the solid-state storage devices is to be allocated as over-provisioned capacity.

9. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method which comprises:

tracking, by a storage control system, usage metrics associated with utilization of solid-state storage devices of a storage system, wherein the storage system comprises an amount of over-provisioned capacity allocated in the solid-state storage devices according to an over-provisioning factor;

determining, by the storage control system, a current endurance value of the storage system, wherein the current endurance value of the storage system is determined based at least in part on a wear-level measure of the storage system, which is determined based at least in part on the tracked usage metrics associated with the utilization of the solid-state storage devices of the storage system;

comparing, by the storage control system, the current endurance value to a target endurance value specified for the storage system to determine if the current endurance value differs from the target endurance value;

in response to determining, by the storage control system, that the current endurance value exceeds the target endurance value, then one of (i) adjusting the over-provisioning factor by automatically increasing the over-provisioning factor, and (ii) maintaining the over-provisioning factor, if the over-provisioning factor is currently set to a first over-provisioning factor threshold value;

in response to determining, by the storage control system, that the current endurance value is less than the target endurance value, then one of (i) adjusting the over-provisioning factor by automatically decreasing the over-provisioning factor, and (ii) maintaining the over-provisioning factor, if the over-provisioning factor is currently set to a second over-provisioning factor threshold value, wherein the second over-provisioning factor threshold value is less than the first over-provisioning factor threshold value; and

automatically adjusting, by the storage control system, the amount of over-provisioned capacity allocated in the solid-state storage devices of the storage system according to the adjusted over-provisioning factor.

10. The article of manufacture of claim 9 , wherein the current endurance value comprises an average drive writes per day (DWPD) value that is estimated based on the usage metrics, and wherein the target endurance value comprises a target DWPD value.

11. The article of manufacture of claim 9 , wherein the target endurance value is set by a configurable target endurance parameter of the storage system, wherein a value of the configurable target endurance parameter is at least one of user-defined and automatically configured by the storage control system.

12. The article of manufacture of claim 9 , wherein the usage metrics comprise one or more of (i) read/write ratios associated with read operations and write operations performed by the solid-state storage devices, (ii) program/erase cycle counts for blocks of the solid-state storage devices, (iii) a total amount of host writes to the solid-state storage devices, and (iv) a total amount of physical writes to the solid-state storage devices.

13. The article of manufacture of claim 9 , further comprising program code which is executable by the one or more processors to implement a process which comprises maintaining, by the storage control system, the over-provisioning factor in response to determining that the current endurance value is substantially equal to the target endurance value.

14. The article of manufacture of claim 9 ,

wherein automatically adjusting the amount of over-provisioned capacity allocated in the solid-state storage devices according to the adjusted over-provisioning factor comprises at least one of:

automatically allocating, by the storage control system, an additional amount of over-provisioned capacity in the solid-state storage devices based on the increased amount of the over-provisioning factor; and

automatically reclaiming, by the storage control system, an amount of over-provisioned capacity from the solid-state storage devices based on the decreased amount of the over-provisioning factor.

15. The article of manufacture of claim 14 , wherein automatically allocating an additional amount of over-provisioned capacity comprises:

reserving, by the storage control system, an amount of free user capacity of the solid-state storage devices for use as additional over-provisioned capacity; and

issuing, by the storage control system, an over-provisioning trim command to indicate that the reserved amount of free user capacity of the solid-state storage devices is to be allocated as over-provisioned capacity.

16. A storage system, comprising:

a plurality of solid-state storage devices;

at least one processor; and

a system memory configured to store program code, wherein the program code is executable by the at least one processor to implement a storage control system that is configured to:

track usage metrics associated with utilization of the solid-state storage devices of the storage system, wherein the storage system comprises an amount of over-provisioned capacity allocated in the solid-state storage devices according to an over-provisioning factor;

determine a current endurance value of the storage system, wherein the current endurance value of the storage system is determined based at least in part on a wear-level measure of the storage system, which is determined based at least in part on the tracked usage metrics associated with the utilization of the solid-state storage devices of the storage system;

compare the current endurance value to a target endurance value specified for the storage system to determine if the current endurance value differs from the target endurance value;

in response to determining that the current endurance value exceeds the target endurance value, then one of (i) adjust the over-provisioning factor by automatically increasing the over-provisioning factor, and (ii) maintain the over-provisioning factor, if the over-provisioning factor is currently set to a first over-provisioning factor threshold value;

in response to determining that the current endurance value is less than the target endurance value, then one of (i) adjust the over-provisioning factor by automatically decreasing the over-provisioning factor, and (ii) maintain the over-provisioning factor, if the over-provisioning factor is currently set to a second over-provisioning factor threshold value, wherein the second over-provisioning factor threshold value is less than the first over-provisioning factor threshold value; and

automatically adjust the amount of over-provisioned capacity allocated in the solid-state storage devices of the storage system according to the adjusted over-provisioning factor.

17. The data storage system of claim 16 , wherein:

the target endurance value is set by a configurable target endurance parameter of the storage system, wherein a value of the configurable target endurance parameter is at least one of user-defined and automatically configured by the storage control system; and

the current endurance value comprises an average drive writes per day (DWPD) value that is estimated based on the usage metrics, and wherein the target endurance value comprises a target DWPD value.

18. The data storage system of claim 16 , wherein:

the storage control system is configured to maintain the over-provisioning factor in response to determining that the current endurance value is substantially equal to the target endurance value;

the first over-provisioning factor threshold value comprises a maximum over-provisioning factor threshold value; and

the second over-provisioning factor threshold value comprises a minimum over-provisioning factor threshold value.

19. The data storage system of claim 16 , wherein:

in automatically adjusting the amount of over-provisioned capacity allocated in the solid-state storage devices according to the adjusted over-provisioning factor, the storage control system is configured to at least one of:

automatically allocate an additional amount of over-provisioned capacity in the solid-state storage devices based on the increased amount of the over-provisioning factor; and

automatically reclaim an amount of over-provisioned capacity from the solid-state storage devices based on the decreased amount of the over-provisioning factor; and

in automatically allocating an additional amount of over-provisioned capacity, the storage control system is configured to:

reserve an amount of free user capacity of the solid-state storage devices for use as additional over-provisioned capacity; and

issuing an over-provisioning trim command to indicate that the reserved amount of free user capacity of the solid-state storage devices is to be allocated as over-provisioned capacity.

20. The article of manufacture of claim 9 , wherein:

the first over-provisioning factor threshold value comprises a maximum over-provisioning factor threshold value; and

the second over-provisioning factor threshold value comprises a minimum over-provisioning factor threshold value.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2020
From: KAMRAN, LIOR; ALKALAY, AMITAI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054125/0223 →