IP Library Granted Patent US 11,403,198
Granted Patent B2
US 11,403,198 · App. 16/066,504 · Granted Aug 2, 2022

Managing data within solid state drive storage based on recurring write quotas

Inventor: Nickolay Alexandrovich Dalmatov (Saint Petersburg, RU)
Assignee: EMC IP Holding Company LLC
G06F11/3034G06F3/0619G06F3/0652G06F3/0688G06F11/076G06F11/108G06F11/327
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,403,198
App. No.
16/066,504
Granted
Aug 2, 2022
Kind
B2
Abstract

A technique manages data within solid state device (SSD) storage. The technique involves, in response to writing data to a set of SSD storage components, consuming a set of recurring write quotas for the set of SSD storage components. Each recurring write quota identifies an amount of remaining usefulness for a respective SSD storage component, e.g., periodically allocated budgets for write operations based on measured (or counted) reliability and/or healthiness factors. The technique further involves, as the set of recurring write quotas are consumed, performing a set of quota evaluation operations to evaluate the set of recurring write quotas. The technique further involves, in response to a set of results from the set of quota evaluation operations, performing a set of remedial activities to control access to the data that was written to the set of SSD storage components.

Claims (53)

1. A method of managing data within solid state drive (SSD) storage, the method comprising:

in response to writing data to a set of SSD storage components, consuming a set of recurring write quotas for the set of SSD storage components, each recurring write quota of the set of recurring write quotas identifying an amount of remaining usefulness for a respective SSD storage component of the set of SSD storage components, wherein a particular recurring write quota for a particular SSD storage component initially is a numerical write measurement for the particular SSD storage component budgeted for a predefined time period;

as the set of recurring write quotas are consumed, performing a set of quota evaluation operations to evaluate the set of recurring write quotas;

in response to a set of results from the set of quota evaluation operations, performing a set of remedial activities to control access to the data that was written to the set of SSD storage components, wherein performing the set of remedial activities to control access to the data that was written to the set of SSD storage components includes blocking performance of further write operations to the particular SSD storage component during a remainder of the predefined time period; and

upon expiration of the predefined time period and onset of a new predefined time period, (i) setting the particular recurring write quota for the particular SSD storage component back to the numerical write measurement budgeted for the new predefined time period and (ii) unblocking performance of further write operations to the particular SSD storage component.

2. A method as in claim 1 , further comprising:

prior to consuming the set of recurring write quotas, generating the set of recurring write quotas based on a set of predefined program-erase (PE) cycle counts for the set of SSD storage components, each predefined PE cycle count identifying a predefined number of PE cycles to be performed on a respective SSD storage component of the set of SSD storage components; and

wherein each recurring write quota is a numerical measure of remaining PE usefulness for a respective SSD storage component of the set of SSD storage components.

3. A method as in claim 2 wherein performing the set of quota evaluation operations to evaluate the set of recurring write quotas further includes:

providing a particular alert that the particular recurring write quota for the particular SSD storage component has been fully consumed.

4. A method as in claim 3 wherein

blocking the performance of further write operations is performed in response to the particular alert.

5. A method as in claim 3 wherein performing the set of remedial activities to control access to the data that was written to the set of SSD storage components further includes:

outputting a notification to a user indicating that write operations to the particular SSD storage component within the predefined time period exceeded the numerical write measurement for the particular SSD storage component budgeted for the predefined time period.

6. A method as in claim 2 wherein generating the set of recurring write quotas includes:

deriving the set of recurring write quotas based on a set of healthiness factors for the set of SSD storage components, each healthiness factor indicating whether a respective SSD storage component is healthy.

7. A method as in claim 6 , further comprising:

providing the set of healthiness factors based on a count of unrecoverable errors for each SSD storage component of the set of SSD storage components.

8. A method as in claim 6 , further comprising:

providing the set of healthiness factors based on a count of faulted pages for each SSD storage component of the set of SSD storage components.

9. A method as in claim 6 , further comprising:

providing the set of healthiness factors based on a count of read errors for each SSD storage component of the set of SSD storage components.

10. A method as in claim 6 , further comprising:

providing the set of healthiness factors based on a count of write errors for each SSD storage component of the set of SSD storage components.

11. A method as in claim 6 , further comprising:

providing the set of healthiness factors based on a current write amplification factor for each SSD storage component of the set of SSD storage components.

12. A method as in claim 6 , further comprising:

providing the set of healthiness factors based on (i) a count of unrecoverable errors for each SSD storage component of the set of SSD storage components, (ii) a count of faulted pages for each SSD storage component of the set of SSD storage components, (iii) a count of read errors for each SSD storage component of the set of SSD storage components, (iv) a count of write errors for each SSD storage component of the set of SSD storage components, and (v) a current write amplification factor for each SSD storage component of the set of SSD storage components.

13. A method as in claim 6 , further comprising:

after a predefined period of operation has passed since generating the set of recurring write quotas, replacing the set of recurring write quotas with a set of newly-generated recurring write quotas based on a set of updated healthiness factors for the set of SSD storage components, each updated healthiness factor indicating whether a respective SSD storage component is currently healthy.

14. A method as in claim 13 wherein each SSD storage component includes multiple SSD storage units configured as a redundant array of independent devices (RAID) group.

15. A method as in claim 13 wherein each SSD storage component includes exactly one SSD storage unit.

16. A method as in claim 1 wherein the particular SSD storage component is a page; and

wherein the numerical write measurement for the particular SSD storage component budgeted for the predefined time period is a write allocation for write operations to the page for the predefined time period.

17. Data storage equipment, comprising:

a storage component interface operative to communicate with a set of solid state drive (SSD) storage components;

memory; and

control circuitry coupled to the storage component interface and the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to:

in response to writing data to the set of SSD storage components through storage component interface, consume a set of recurring write quotas for the set of SSD storage components, each recurring write quota of the set of recurring write quotas identifying an amount of remaining usefulness for a respective SSD storage component of the set of SSD storage components, wherein a particular recurring write quota for a particular SSD storage component initially is a numerical write measurement for the particular SSD storage component budgeted for a predefined time period,

as the set of recurring write quotas are consumed, perform a set of quota evaluation operations to evaluate the set of recurring write quotas,

in response to a set of results from the set of quota evaluation operations, perform a set of remedial activities to control access to the data that was written to the set of SSD storage components, wherein performing the set of remedial activities to control access to the data that was written to the set of SSD storage components includes blocking performance of further write operations to the particular SSD storage component during a remainder of the predefined time period; and

upon expiration of the predefined time period and onset of a new predefined time period, (i) set the particular recurring write quota for the particular SSD storage component back to the numerical write measurement budgeted for the new predefined time period and (ii) unblock performance of further write operations to the particular SSD storage component.

18. Data storage equipment as in claim 17 wherein the control circuitry is further constructed and arranged to:

prior to consuming the set of recurring write quotas, generate the set of recurring write quotas based on a set of predefined program-erase (PE) cycle counts for the set of SSD storage components, each predefined PE cycle count identifying a predefined number of PE cycles to be performed on a respective SSD storage component of the set of SSD storage components; and

wherein each recurring write quota is a numerical measure of remaining PE usefulness for a respective SSD storage component of the set of SSD storage components.

19. Data storage equipment as in claim 18 wherein performing the set of quota evaluation operations to evaluate the set of recurring write quotas further includes:

providing a particular alert that the particular recurring write quota for the particular SSD storage component has been fully consumed; and

wherein blocking the performance of further write operations is performed in response to the particular alert.

20. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage data within solid state drive (SSD) storage; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

in response to writing data to a set of SSD storage components, consuming a set of recurring write quotas for the set of SSD storage components, each recurring write quota of the set of recurring write quotas identifying an amount of remaining usefulness for a respective SSD storage component of the set of SSD storage components, wherein a particular recurring write quota for a particular SSD storage component initially is a numerical write measurement for the particular SSD storage component budgeted for a predefined time period;

as the set of recurring write quotas are consumed, performing a set of quota evaluation operations to evaluate the set of recurring write quotas; and

in response to a set of results from the set of quota evaluation operations, performing a set of remedial activities to control access to the data that was written to the set of SSD storage components, wherein performing the set of remedial activities to control access to the data that was written to the set of SSD storage components includes blocking performance of further write operations to the particular SSD storage component during a remainder of the predefined time period; and

upon expiration of the predefined time period and onset of a new predefined time period, (i) setting the particular recurring write quota for the particular SSD storage component back to the numerical write measurement budgeted for the new predefined time period and (ii) unblocking performance of further write operations to the particular SSD storage component.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2018
From: DALMATOV, NICKOLAY ALEXANDROVICH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047671/0970 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →