IP Library Granted Patent US 11,625,327
Granted Patent B2
US 11,625,327 · App. 16/709,013 · Granted Apr 11, 2023

Cache memory management

Inventors: John Krasner (Coventry, RI); Ramesh Doddaiah (Westborough, MA)
Assignee: EMC IP Holding Company LLC
G06F12/0862G06F12/0893G06N3/0445G06F2212/602
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,625,327
App. No.
16/709,013
Granted
Apr 11, 2023
Kind
B2
Abstract

Embodiments of the present disclosure relate to cache memory management. Based on anticipated input/output (I/O) workloads, at least one or more of: sizes of one or more mirrored and un-mirrored caches of global memory and their respective cache slot pools are dynamically balanced. Each of the mirrored/unmirrored caches can be segmented into one or more cache pools, each having slots of a distinct size. Cache pool can be assigned an amount of the one or more cache slots of the distinct size based on the anticipated I/O workloads. Cache pools can be further assigned the amount of distinctly sized cache slots based on expected service levels (SLs) of a customer. Cache pools can also be assigned the amount of the distinctly sized cache slots based on one or more of predicted I/O request sizes and predicted frequencies of different I/O request sizes of the anticipated I/O workloads.

Claims (32)

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

monitor one or more input/output (I/O) workloads received by a storage array;

predict each distinct size of the I/O workload's I/O operations;

anticipate a frequency for each of the I/O workload's distinctly sized I/O operations;

establish one or more mirrored and unmirrored cache pools (MUCPs), wherein each MUCP's cache slot width is sized according to the anticipated frequency of the I/O workload's distinctly sized I/O operations;

establish, for each MUCP, a plurality of cache slot segments having sizes smaller than the width of their respective cache, wherein each MUCP includes two or more distinctly sized cache slot segments, where the combined width of each distinct size equals the size of their corresponding MUCP; and

dynamically balance and reallocate the cache slot segments to the one or more MUCPs according to the anticipated frequency of the I/O workload's distinctly sized I/O operations.

2. The apparatus of claim 1 further configured to segment each of the one or more mirrored and un-mirrored caches into the one or more cache pools, wherein each cache pool includes one or more cache slots of a distinct size.

3. The apparatus of claim 2 further configured to assign each cache pool an amount of the one or more cache slots of the distinct size based on the anticipated I/O workloads.

4. The apparatus of claim 3 further configured to assign each cache pool the amount of the one or more distinctly sized cache slots based on expected service levels (SLs) of a customer.

5. The apparatus of claim 1 further configured to anticipate the I/O workloads using one or more neural network machine learning techniques.

6. The apparatus of claim 5 , wherein one of the one or more neural network machine learning techniques is a recurring neural network (RNN) such as a long/short-term memory (LSTM) network.

7. The apparatus of claim 2 further configured to predict distinct I/O request sizes of the anticipated I/O workloads.

8. The apparatus of claim 7 further configured to predict frequencies of different I/O request sizes of the anticipated I/O workloads.

9. The apparatus of claim 8 further configured to assign each cache pool an amount of the one or more cache slots of the distinct size based on one or more of the predicted I/O request sizes and the predicted frequencies of the different I/O request sizes of the anticipated I/O workloads.

10. The apparatus of claim 9 further configured to assign each cache pool the amount of the one or more distinctly sized cache slots of the distinct based on expected service levels (SLs) of a customer.

11. A method comprising:

monitoring one or more input/output (I/O) workloads received by a storage array;

predicting each distinct size of the I/O workload's I/O operations;

anticipating a frequency for each of the I/O workload's distinctly sized I/O operations;

establishing one or more mirrored and unmirrored cache pools (MUCPs), wherein each MUCP's cache slot width is sized according to the anticipated frequency of the I/O workload's distinctly sized I/O operations;

establishing, for each MUCP, a plurality of cache slot segments having sizes smaller than the width of their respective cache, wherein each MUCP includes two or more distinctly sized cache slot segments, where the combined width of each distinct size equals the size of their corresponding MUCP; and

dynamically balancing and reallocating the cache slot segments to the one or more MUCPs according to the anticipated frequency of the I/O workload's distinctly sized I/O operations.

12. The method of claim 11 further comprising segmenting each of the one or more mirrored and un-mirrored caches into one or more cache pools, each cache pool having one or more cache slots of a distinct size.

13. The method of claim 12 further comprising assigning each cache pool an amount of the one or more cache slots of the distinct size based on the anticipated I/O workloads.

14. The method of claim 13 further comprising assigning each cache pool the amount of the one or more distinctly sized cache slots based on expected service levels (SLs) of a customer.

15. The method of claim 11 further comprising anticipating the I/O workloads using one or more neural network machine learning techniques.

16. The method of claim 15 , wherein one of the one or more neural network machine learning techniques is a recurring neural network (RNN) such as a long/short-term memory (LSTM) network.

17. The method of claim 12 further comprising predicting distinct I/O request sizes of the anticipated I/O workloads.

18. The method of claim 17 further comprising predicting frequencies of different I/O request sizes of the anticipated I/O workloads.

19. The method of claim 18 further comprising assigning each cache pool an amount of the one or more cache slots of the distinct size based on one or more of the predicted I/O request sizes and the predicted frequencies of the different I/O request sizes of the anticipated I/O workloads.

20. The method of claim 19 further comprising assigning each cache pool the amount of the one or more distinctly sized cache slots of the distinct based on expected service levels (SLs) of a customer.

Assignments (9)
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 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 (052216/0758) 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 IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2019
From: KRASNER, JOHN; DODDAIAH, RAMESH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051233/0098 →