IP Library Granted Patent US 11,416,407
Granted Patent B2
US 11,416,407 · App. 16/881,100 · Granted Aug 16, 2022

Method and apparatus for cache slot allocation based on data origination location or final data destination location

Inventor: John Creed (Innishannon, IE)
Assignee: Dell Products, L.P.
G06F12/0871G06F9/505G06F11/3034G06F11/3409G06F12/0868G06F12/0879
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,416,407
App. No.
16/881,100
Granted
Aug 16, 2022
Kind
B2
Abstract

Operational information in a storage system is collected regarding storage media storage tiers, devices, drives, tracks on drives, and logical storage layers, to determine an estimated amount of time it will take to write data from cache to the intended drive when a new write operation arrives at the storage system. This information is then used to decide which type of cache is most optimal to store the data for the write operation, based on the estimated amount of time it will take to write data out from the cache. By allocating cache slots from a faster cache to write operations that are expected to quickly be written out to memory, and allocating cache slots from the slower cache to write operations that are expected to take more time to be written out to memory, it is possible to increase the availability of the cache slots in the faster cache.

Claims (39)

1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for performing cache slot allocation based on final data destination location, the computer program including a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:

receiving a write IO(Input/Output) operation by a storage system, the write IO operation containing data to be written to permanent storage, the storage system having a high performing cache, a lower performing cache, and the permanent storage;

determining a storage location in the permanent storage where the data associated with the write IO operation will be stored once the data is destaged from either the high performing cache or the lower performing cache to the determined storage location in the permanent storage; and

after determining the storage location in the permanent storage where the data associated with the write IO operation will be stored, selecting a cache slot for the write IO operation from either the high performing cache or the lower performing cache, the step of selecting being based on a predicted amount of time to stay in cache before destaging the data associated with the write IO operation, from the selected cache slot to the determined storage location in the permanent storage, after the data associated with the write IO operation is stored in the selected cache slot;

storing the data associated with the write IO operation in the selected cache slot; and

destaging the data associated with the write IO operation from the selected cache slot to the determined storage location in the permanent storage.

2. The non-transitory tangible computer readable storage medium of claim 1 , wherein the storage location in permanent storage is a drive on the storage system, and wherein determining the estimated amount of time associated with moving the data to the determined storage location in permanent storage comprises determining an average amount of time it takes to write data to the drive based on an average write performance of the drive.

3. The non-transitory tangible computer readable storage medium of claim 1 , wherein the storage location in permanent storage is a track on a drive on the storage system, and wherein determining the estimated amount of time associated with moving the data to the determined storage location in permanent storage comprises determining an average amount of time it takes to write data to the drive based on an average write performance of the track of the drive.

4. The non-transitory tangible computer readable storage medium of claim 1 , further comprising determining an adjusted write pending estimate based on an adjustment to the estimated amount of time associated with moving the data to the determined storage location in permanent storage.

5. The non-transitory tangible computer readable storage medium of claim 4 , wherein determining the adjusted write pending estimate comprises determining a current percentage of cache slots that are write pending and determining a current workload of the storage system.

6. The non-transitory tangible computer readable storage medium of claim 5 , wherein the step of selecting the cache slot for the write IO operation from either the high performing cache or the lower performing cache is based in part on a determined quality of service level of the data associated with the write operation.

7. The non-transitory tangible computer readable storage medium of claim 4 , further comprising comparing the adjusted write pending estimate with a first threshold; and

wherein the step of selecting the cache slot for the write IO operation from either the high performing cache or the lower performing cache is based on the result of the step of comparing the adjusted write pending estimate with the first threshold.

8. The non-transitory tangible computer readable storage medium of claim 7 , wherein a cache slot in the high performing cache is selected if the adjusted write pending estimate is lower than the first threshold, and a cache slot in the lower performing cache is selected if the adjusted write pending estimate is above the first threshold.

9. The non-transitory tangible computer readable storage medium of claim 1 , further comprising determining if the write operation is a burst write operation, determining a quality of service level for the write operation, assigning the burst write operation to the lower performing cache if the burst write operation has a lower quality of service level, and assigning the burst write operation to the higher performing cache if the burst write operation has a higher quality of service level.

10. The non-transitory tangible computer readable storage medium of claim 1 , wherein write operations that are expected to destage quickly are assigned to the higher performing cache technology and write operations that are expected to destage more slowly are assigned to the lower performing cache technology.

11. A method of performing cache slot allocation based on final data destination location, comprising:

receiving a write IO (Input/Output) operation by a storage system, the write IO operation containing data to be written to permanent storage, the storage system having a high performing cache, a lower performing cache, and the permanent storage;

determining a storage location in the permanent storage where the data associated with the write IO operation will be stored once the data is destaged from either the high performing cache or the lower performing the selected cache to the determined storage location in the permanent storage; and

after determining the storage location in the permanent storage where the data associated with the write IO operation will be stored, selecting a cache slot for the write IO operation from either the high performing cache or the lower performing cache, the step of selecting being based on a predicted amount of time to stay in cache before destaging the data associated with the write IO operation, from the selected cache slot to the determined storage location in the permanent storage, after the data associated with the write IO operation is stored in the selected cache slot;

storing the data associated with the write IO operation in the selected cache slot; and

destaging the data associated with the write IO operation from the selected cache slot to the determined storage location in the permanent storage.

12. The method of claim 11 , wherein the storage location in permanent storage is a drive on the storage system, and wherein determining the estimated amount of time associated with moving the data to the determined storage location in permanent storage comprises determining an average amount of time it takes to write data to the drive based on an average write performance of the drive.

13. The method of claim 11 , wherein the storage location in permanent storage is a track on a drive on the storage system, and wherein determining the estimated amount of time associated with moving the data to the determined storage location in permanent storage comprises determining an average amount of time it takes to write data to the drive based on an average write performance of the track of the drive.

14. The method of claim 11 , further comprising determining an adjusted write pending estimate based on an adjustment to the estimated amount of time associated with moving the data to the determined storage location in permanent storage.

15. The method of claim 14 , wherein:

determining the adjusted write pending estimate comprises determining a current percentage of cache slots that are write pending and determining a current workload of the storage system.

16. The method of claim 15 , wherein the step of selecting the cache slot for the write IO operation from either the high performing cache or the lower performing cache is based in part on a determined quality of service level of the data associated with the write operation.

17. The method of claim 14 , further comprising:

comparing the adjusted write pending estimate with a first threshold; and

wherein the step of selecting the cache slot for the write IO operation from either the high performing cache or the lower performing cache is based on the result of the step of comparing the adjusted write pending estimate with the first threshold.

18. The method of claim 17 , wherein a cache slot in the high performing cache is selected if the adjusted write pending estimate is lower than the first threshold, and a cache slot in the lower performing cache is selected if the adjusted write pending estimate is above the first threshold.

19. The method of claim 11 , further comprising:

determining if the write IO operation is a burst write operation; and

when the write IO operation is a burst write operation:

determining a quality-of-service level for the burst write operation;

assigning the burst write operation to the lower performing cache if the burst write operation has a lower quality of service level; and

assigning the burst write operation to the higher performing cache if the burst write operation has a higher quality of service level.

20. The method of claim 11 , wherein write operations that are expected to destage quickly are assigned to the higher performing cache technology and write operations that are expected to destage more slowly are assigned to the lower performing cache technology.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: CREED, JOHN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052731/0436 →
Continuity (1)
Related Publication 20210365379A1 · Nov 25, 2021