IP Library › Granted Patent US 10,970,210
Granted Patent B2
US 10,970,210 · App. 16/398,602 · Granted Apr 6, 2021

Managing data storage devices for spontaneous de-staging of cache

Inventors: Gabi Benhanokh (Tel-Aviv, IL); Andrew L. Chanler (Berlin, MA); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F12/0804G06F9/5016G06F2212/1008
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 10,970,210
App. No.
16/398,602
Granted
Apr 6, 2021
Kind
B2
Abstract

Physical storage devices may be managed for spontaneous de-staging from a cache, for example, by determining a background task threshold (UBTT), and controlling one or more physical storage devices to use the UBTT instead of the VBTT in determining when to enter background task mode. The determined UBTT may be less than the VBTT, which may cause the physical storage device to enter into background task mode earlier, which means that background tasks like garbage collection and write leveling may be performed more frequently. An ability to turn on and turn off management of physical storage devices for spontaneous de-staging of a cache may be provided. It may be desirable to turn off physical storage device management for spontaneous de-staging, for example, during peak workload hours, to prevent physical storage devices from entering into background task mode more frequently during certain times.

Claims (60)

1. For a storage system including a plurality of physical storage devices and a cache for temporarily storing data corresponding to the plurality of physical storage devices, wherein each of the plurality of physical storage devices has a pre-defined threshold amount of consumed storage space before the physical storage device enters in a background task mode, a method comprising:

determining a cumulative amount of storage space to be available on the plurality of physical storage devices in case of a spontaneous de-staging of the cache;

estimating an amount of time available to spontaneously de-stage the cache;

calculating a number of physical storage devices necessary to de-stage the cache based on the estimated amount of time available;

selecting, based on the calculated number of physical storage devices necessary to de-stage the cache, one or more of the plurality of physical storage devices to receive de-staged data from the cache in case of a spontaneous de-staging of the cache;

for the one or more of the plurality of physical storage devices, determining an apportioned amount of the cumulative amount for the respective physical storage device to have available for storing data in case of a spontaneous de-staging of the cache;

for each of the one or more physical storage devices, determining a threshold amount of storage space to be consumed on the physical storage space before the physical storage device enters into a background task mode, the threshold amount based at least in part on the respective determined apportioned amount for the physical device, wherein, for at least a first of the one or more physical storage devices, the determined threshold amount is different than the pre-defined threshold amount for the at least first storage device; and

controlling the at least first physical storage devices to consume the determined threshold amount before entering into the background task mode.

2. The method of claim 1 , further comprising:

wherein, for each of the one or more physical storage devices, the apportioned amount is determined at least in part based on a total number of the one or more physical storage devices.

3. The method of claim 1 , wherein, for each of the one or more physical storage devices, the apportioned amount is determined based at least in part on a predetermined amount of time for all of the data in the cache to be de-staged during a spontaneous de-staging of the cache.

4. The method of claim 1 , wherein the determined cumulative amount is based on a current amount of data stored in the cache that has changed since a last de-staging of the cache.

5. The method of claim 1 , further comprising:

each of one or more of the plurality of physical storage devices indicating, on one or more occasions, a remaining storage capacity on the physical storage device before the threshold amount of storage space is reached for the physical storage device.

6. The method of claim 1 , further comprising:

providing a parameter that specifies whether to control the threshold amount in relation to a spontaneous de-staging of the cache;

receiving a value for the parameter indicating to not control the threshold amount; and

for each of the one or more physical storage devices, refraining from controlling the threshold amount based on the value of the parameter.

7. The method of claim 1 , wherein the steps of determining the cumulative amount of storage space, determining the apportioned amount of the cumulative amount for each respective physical storage device, and controlling the threshold amount of storage space for each respective physical storage device are repeated a plurality of times.

8. A data storage system comprising:

a plurality of physical storage devices, wherein each of the plurality of physical storage devices has a pre-defined threshold amount of consumed storage space before the physical storage device enters in a background task mode;

a cache for temporarily storing data corresponding to the plurality of physical storage devices;

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method comprising:

determining a cumulative amount of storage space to be available on the plurality of physical storage devices in case of a spontaneous de-staging of the cache;

estimating an amount of time available to spontaneously de-stage the cache;

calculating a number of physical storage devices necessary to de-stage the cache based on the estimated amount of time available;

selecting, based on the calculated number of physical storage devices necessary to de-stage the cache, one or more of the plurality of physical storage devices to receive de-staged data from the cache in case of a spontaneous de-staging of the cache;

for the one or more of the plurality of physical storage devices, determining an apportioned amount of the cumulative amount for the respective physical storage device to have available for storing data in case of a spontaneous de-staging of the cache;

for each of the one or more physical storage devices, determining a threshold amount of storage space to be consumed on the physical storage space before the physical storage device enters into a background task mode, the threshold amount based at least in part on the respective determined apportioned amount for the physical device, wherein, for at least a first of the one or more physical storage devices, the determined threshold amount is different than the pre-defined threshold amount for the at least first storage device; and

controlling the at least first physical storage devices to consume the determined threshold amount before entering into the background task mode.

9. The system of claim 8 ,

wherein, for each of the one or more physical storage devices, the apportioned amount is determined at least in part based a total number of the one or more physical storage devices.

10. The system of claim 8 , wherein, for each of the one or more physical storage devices, the apportioned amount is determined based at least in part on a predetermined amount of time for all of the data in the cache to be de-staged during a spontaneous de-staging of the cache.

11. The system of claim 8 , wherein the determined cumulative amount is based on a current amount of data stored in the cache that has changed since a last de-staging of the cache.

12. The system of claim 8 , the method further comprising:

each of one or more of the plurality of physical storage devices indicating, on one or more occasions, a remaining storage capacity on the physical storage device before the threshold amount of storage space is reached for the physical storage device.

13. The system of claim 8 , method further comprising:

providing a parameter that specifies whether to control the threshold amount in relation to a spontaneous de-staging of the cache;

receiving a value for the parameter indicating to not control the threshold amount; and

for each of the one or more physical storage devices, refraining from controlling the threshold amount based on the value of the parameter.

14. The system of claim 8 , wherein the steps of determining the cumulative amount of storage space, determining the apportioned amount of the cumulative amount for each respective physical storage device, and controlling the threshold amount of storage space for each respective physical storage device are repeated a plurality of times.

15. One or more non-transitory computer-readable media having software stored thereon for a storage system including a plurality of physical storage devices and a cache for temporarily storing data corresponding to the plurality of physical storage devices, wherein each of the plurality of physical storage devices has a pre-defined threshold amount of consumed storage space before the physical storage device enters in a background task mode, the software comprising:

executable code that determines a cumulative amount of storage space to be available on the plurality of physical storage devices in case of a spontaneous de-staging of the cache;

executable code that estimates an amount of time available to spontaneously de-stage the cache;

executable code that calculates a number of physical storage devices necessary to de-stage the cache based on the estimated amount of time available;

executable code that selects, based on the calculated number of physical storage devices necessary to de-stage the cache, one or more of the plurality of physical storage devices to receive de-staged data from the cache in case of a spontaneous de-staging of the cache;

executable code that, for the one or more of the plurality of physical storage devices, determines an apportioned amount of the cumulative amount for the respective physical storage device to have available for storing data in case of a spontaneous de-staging of the cache;

executable code that, for each of the one or more physical storage devices, determines a threshold amount of storage space to be consumed on the physical storage space before the physical storage device enters into a background task mode, the threshold amount based at least in part on the respective determined apportioned amount for the physical device, wherein, for at least a first of the one or more physical storage devices, the determined threshold amount is different than the pre-defined threshold amount for the at least first storage device; and

executable code that controls the at least first physical storage devices to consume the determined threshold amount before entering into the background task mode.

16. The one or more non-transitory computer-readable media of claim 15 ,

wherein, for each of the one or more physical storage devices, the apportioned amount is determined at least in part based on a total number of the one or more physical storage devices.

17. The one or more non-transitory computer-readable media of claim 15 , wherein, for each of the one or more physical storage devices, the apportioned amount is determined based at least in part on a predetermined amount of time for all of the data in the cache to be de-staged during a spontaneous de-staging of the cache.

18. The one or more non-transitory computer-readable media of claim 15 , wherein the determined cumulative amount is based on a current amount of data stored in the cache that has changed since a last de-staging of the cache.

19. The one or more non-transitory computer-readable media of claim 15 , the software further comprising:

executable code controlling each of one or more of the plurality of physical storage devices to indicate, on one or more occasions, a remaining storage capacity on the physical storage device before the threshold amount of storage space is reached for the physical storage device.

20. The one or more non-transitory computer-readable media of claim 15 , the software further comprising:

executable code that provides a parameter that specifies whether to control the threshold amount in relation to a spontaneous de-staging of the cache;

executable code that receives a value for the parameter indicating to not control the threshold amount; and

executable code that, for each of the one or more physical storage devices, refrains from controlling the threshold amount based on the value of the parameter.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2019
From: CHANLER, ANDREW L.; BENHANOKH, GABI; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049032/0311 →
Continuity (1)
Related Publication 20200349073A1 · Nov 5, 2020