IP Library Granted Patent US 11,556,473
Granted Patent B2
US 11,556,473 · App. 16/942,864 · Granted Jan 17, 2023

Cache memory management

Inventors: Owen Martin (Hopedale, MA); Vladimir Desyatov (Hollis, NH); Michael Scharland (Franklin, MA)
Assignee: EMC IP Holding Company LLC
G06F12/0848G06N5/04G06N20/00G06F2212/608
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,556,473
App. No.
16/942,864
Granted
Jan 17, 2023
Kind
B2
Abstract

Embodiments of the present disclosure relate to cache memory management. One or more global caches are dynamically partitioned and sized into one or more cache partitions based on anticipated input/output (IO) workloads.

Claims (18)

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

dynamically partition and size one or more global caches into one or more cache partitions based on anticipated input/output (IO) workloads, wherein the one or more global caches include a primary cache and a backup cache; and

establish the cache partitions to include one or more write cache memory partitions and a read cache memory partition wherein the one or more cache partitions are partitioned along at least two dimensions, wherein a first dimension corresponds to an input/output (IO) operation type and a second dimension corresponds to an IO size; provision a first set and a second set of the one or more partitions to cache write IO operations; assign each IO operation of an IO workload to one or more of the partitions based on a similarity between a size of each IO operation and the configured caching IO operation size of each partition; cluster an anticipated IO workload into groups of IO operations corresponding to the first and second dimensions; determine cache sizes required to cache each of the groups of IO operations; and partition and size the one or more global caches into the one or more cache partitions based on the groups of IO operations and determined sizes.

2. The apparatus of claim 1 , wherein the IO operation type includes at least one of: a read operation and a write operation.

3. The apparatus of claim 1 further configured to portion the IO operations into one or more bins, wherein the bins are sized based on anticipated IO operation sizes.

4. The apparatus of claim 1 , wherein the second set of the partitions are mirrored cache partitions of the first set.

5. The apparatus of claim 4 further configured to provision a third set of the one or more cache partitions as unmirrored caches adapted to cache read IO operations.

6. The apparatus of claim 5 further configured to provision each of the first, second, and third sets of partitions with one or more cache bins, wherein each bin is a unit of memory smaller than a partition.

7. The apparatus of claim 6 further configured to anticipate IO workloads of each of the partitions using one or more machine learning techniques.

8. A method comprising:

dynamically partitioning and sizing one or more global caches into one or more cache partitions based on anticipated input/output (IO) workloads, wherein the one or more global caches include a primary cache and a backup cache; and

establishing the cache partitions to include one or more write cache memory partitions and a read cache memory partition wherein the one or more cache partitions are partitioned along at least two dimensions, wherein a first dimension corresponds to an input/output (IO) operation type and a second dimension corresponds to an IO size; provisioning a first set and a second set of the one or more partitions to cache write IO operations; assigning each IO operation of an IO workload to one or more of the partitions based on a similarity between a size of each IO operation and the configured caching IO operation size of each partition; clustering an anticipated IO workload into groups of IO operations corresponding to the first and second dimensions; determining cache sizes required to cache each of the groups of IO operations; and partitioning and sizing the one or more global caches into the one or more cache partitions based on the groups of IO operations and determined sizes.

9. The method of claim 8 further comprising portioning the IO operations into one or more bins, wherein the bins are sized based on anticipated IO operation sizes.

10. The method of claim 8 , wherein the IO operation size is at least one of: 128 kilobytes, 64 kilobytes, and 16 kilobytes.

11. The method of claim 8 , wherein the second set of the partitions are mirrored cache partitions of the first set.

12. The method of claim 11 further comprising provisioning a third set of the one or more cache partitions as unmirrored caches adapted to cache read IO operations.

13. The method of claim 12 further comprising provisioning each of the first, second, and third sets of partitions with one or more cache bins, wherein each bin is a smaller unit of memory than a partition.

14. The method of claim 13 further comprising anticipating IO workloads of each of the partitions using one or more machine learning techniques.

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 Jul 30, 2020
From: MARTIN, OWEN; DESYATOV, VLADIMIR; SCHARLAND, MICHAEL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053351/0252 →