IP Library Granted Patent US 11,762,770
Granted Patent B2
US 11,762,770 · App. 17/076,940 · Granted Sep 19, 2023

Cache memory management

Inventors: John Creed (Innishannon, IE); John Krasner (Coventry, RI)
Assignee: EMC IP Holding Company LLC
G06F12/0802G06F2212/282
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,762,770
App. No.
17/076,940
Granted
Sep 19, 2023
Kind
B2
Abstract

One or more aspects of the present disclosure relate to cache memory management. In embodiments, a global memory of a storage array into one or more cache partitions based on an anticipated activity of one or more input/output (IO) service level (SL) workload volumes can be dynamically partitioned.

Claims (46)

1. An apparatus comprising a memory and at least one processor configured to:

dynamically partition a global memory of a storage array into one or more cache partitions based on an anticipated activity of one or more input/output (IO) service level (SL) workload volumes, wherein dynamically partitioning the global memory includes partitioning the global memory along a first dimension corresponding to IO type and a second dimension corresponding to track sizes of IO operations in an IO workload;

dynamically establish SL cache groups from the partitioned global memory based on an anticipated activity, wherein SL cache group establishment includes dynamically setting a bit in each global memory cache slot, defining each cache slot's assigned SL cache group; and

increase an amount of global memory cache slots assigned to process critical IOs or limit non-critical IO consumption of the global memory cache slots based on a quality of service (QoS) corresponding to each IO service level.

2. The apparatus of claim 1 further configured to:

receive an IO workload; and

analyze one or more SL workload volumes received within the IO workload.

3. The apparatus of claim 2 , wherein the IO workload includes one or more IO operations, wherein each IO operation includes at least one of: a read request and a write request.

4. The apparatus of claim 1 further configured to:

determine a current state of the global memory; and

identify historical IO patterns of the IO workloads previously received by the storage array.

5. The apparatus of claim 1 further configured to:

determine a current state of the global memory; and

identify an SL workload usage pattern of the global memory based on an IO SL workload usage history of the global memory.

6. The apparatus of claim 5 further configured to:

determine a current state of each cache slot of the global memory; and

identify an IO operation SL tier usage pattern of each cache slot based on a history of IO SL tier usage of each cache slot, wherein each SL tier corresponds to an expected performance metric related to processing an IO operation of each SL tier by the storage array.

7. The apparatus of claim 6 further configured to generate an SL trend model corresponding to the SL tier usage pattern using a machine learning engine configured to process IO workloads using one or more pattern learning techniques such as an inference learning technique.

8. The apparatus of claim 7 further configured to dynamically partition the global memory into one or more cache banks based on the SL trend model.

9. The apparatus of claim 8 further configured to use the SL trend model to control usage of each cache slot and/or cache bank by incoming IO operations.

10. The apparatus of claim 8 further configured to:

dynamically assign each cache slot to cache IO operations of a particular SL tier by modifying metadata of each cache; and

establish a time threshold during which each cache slot can be exclusively assigned to cache IO operations associated with any particular SL tier.

11. A method comprising:

dynamically partition a global memory of a storage array into one or more cache partitions based on an anticipated activity of one or more input/output (IO) service level (SL) workload volumes, wherein dynamically partitioning the global memory includes partitioning the global memory along a first dimension corresponding to IO type and a second dimension corresponding to track sizes of IO operations in an IO workload;

dynamically establishing SL cache groups from the partitioned global memory based on an anticipated activity, wherein SL cache group establishment includes dynamically setting a bit in each global memory cache slot, defining each cache slot's assigned SL cache group; and

increasing an amount of global memory cache slots assigned to process critical IOs or limiting non-critical IO consumption of the global memory cache slots based on a quality of service (QoS) corresponding to each IO service level.

12. The method of claim 11 further comprising:

receiving an IO workload; and

analyzing one or more SL workload volumes received within the IO workload.

13. The method of claim 12 , wherein the IO workload includes one or more IO operations, wherein each IO operation includes at least one of: a read request and a write request.

14. The method of claim 11 further comprising:

determining a current state of the global memory; and

identifying historical IO patterns of the IO workloads previously received by the storage array.

15. The method of claim 11 further comprising:

determining a current state of the global memory; and

identifying an SL workload usage pattern of the global memory based on an IO SL workload usage history of the global memory.

16. The method of claim 15 further comprising:

determining a current state of each cache slot of the global memory; and

identifying an IO operation SL tier usage pattern of each cache slot based on a history of IO SL tier usage of each cache slot, wherein each SL tier corresponds to an expected performance metric related to processing an IO operation of each SL tier by the storage array.

17. The method of claim 16 further comprising generating an SL trend model corresponding to the SL tier usage pattern using a machine learning engine including process IO workloads using one or more pattern learning techniques such as an inference learning technique.

18. The method of claim 17 further comprising dynamically partitioning the global memory into one or more cache banks based on the SL trend model.

19. The method of claim 18 further comprising using the SL trend model to control usage of each cache slot and/or cache bank by incoming IO operations.

20. The method of claim 18 further comprising:

dynamically assigning each cache slot to cache IO operations of a particular SL tier by modifying metadata of each cache; and

establishing a time threshold during which each cache slot can be exclusively assigned to cache IO operations associated with any particular SL tier.

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 22, 2020
From: CREED, JOHN; KRASNER, JOHN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054135/0181 →