IP Library Granted Patent US 10,452,553
Granted Patent B1
US 10,452,553 · App. 15/784,679 · Granted Oct 22, 2019

Systems and methods for distributing cache space

Inventors: Ketan Mahajan (Pune, IN); Niranjan Pendharkar (Pune, IN); Mahesh Khatpe (Pune, IN)
Assignee: Veritas Technologies LLC
G06F12/0871G06F3/065G06F3/0613G06F3/0619G06F3/0665G06F12/122G06F12/128G06F2212/6042G06F2212/621
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,452,553
App. No.
15/784,679
Granted
Oct 22, 2019
Kind
B1
Abstract

The disclosed computer-implemented method for distributing cache space may include (i) identifying workloads that make input/output requests to a storage system that comprises a cache that stores a copy of data recently written to the storage system, (ii) calculating a proportion of the cache that is occupied by data written to the cache by a workload, (iii) determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate, and (iv) limiting the volume of input/output requests from workload that will be accepted by the storage system in response to determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate. Various other methods, systems, and computer-readable media are also disclosed.

Claims (33)

1. A computer-implemented method for distributing cache space, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a plurality of workloads that make input/output requests to a storage system that comprises a cache that stores a copy of data recently written to the storage system by the plurality of workloads;

calculating a proportion of the cache that is occupied by data written to the cache by a workload within the plurality of workloads, wherein calculating the proportion of the cache that is occupied by the data written to the cache by the workload comprises examining data currently stored in the cache to determine which workload within the plurality of workloads wrote each portion of data currently stored in the cache and monitoring a rate at which the workload writes data to the cache;

determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate; and

limiting the volume of input/output requests from workload that will be accepted by the storage system in response to determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate.

2. The computer-implemented method of claim 1 , wherein determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate comprises determining that the data written to the cache by the workload occupies more than a predetermined threshold for a proportion of cache space occupied by data written to the cache by a single workload.

3. The computer-implemented method of claim 1 , wherein limiting the volume of input/output requests from workload that will be accepted by the storage system comprises reducing a number of credits granted to the workload, wherein credits granted to the workload regulate the volume of input/output requests that the storage system will accept from the workload within a predetermined time period.

4. The computer-implemented method of claim 3 , wherein reducing the number of credits granted to the workload comprises granting the workload a number of credits based at least in part on the inverse of the proportion of cache space occupied by the data written to the cache by the workload.

5. The computer-implemented method of claim 3 , wherein reducing the number of credits granted to the workload comprises:

granting a number of credits to the workload based on a service level agreement for the workload; and

withholding an additional number of credits from the workload in response to determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate.

6. The computer-implemented method of claim 1 , wherein limiting the volume of input/output requests from workload that will be accepted by the storage system comprises limiting the rate at which the workload writes data to the cache to be no greater than a rate at which the cache flushes the data written by the workload from the cache.

7. The computer-implemented method of claim 1 , further comprising preserving a quality of service for at least one additional workload within the plurality of workloads by limiting the volume of input/output requests from workload that will be accepted by the storage system.

8. The computer-implemented method of claim 1 , wherein the cache comprises a write-back cache.

9. The computer-implemented method of claim 1 , further comprising rejecting an input/output request from the workload in response to determining that the workload has reached a limit for input/output requests to the storage system.

10. A system for distributing cache space, the system comprising:

an identification module, stored in memory, that identifies a plurality of workloads that make input/output requests to a storage system that comprises a cache that stores a copy of data recently written to the storage system by the plurality of workloads;

a calculation module, stored in memory, that calculates a proportion of the cache that is occupied by data written to the cache by a workload within the plurality of workloads, wherein calculating the proportion of the cache that is occupied by the data written to the cache by the workload comprises examining data currently stored in the cache to determine which workload within the plurality of workloads wrote each portion of data currently stored in the cache and monitoring a rate at which the workload writes data to the cache;

a determination module, stored in memory, that determines that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate;

a limit module, stored in memory, that limits the volume of input/output requests from workload that will be accepted by the storage system in response to determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate; and

at least one physical processor configured to execute the identification module, the calculation module, the determination module, and the limit module.

11. The system of claim 10 , wherein the determination module determines that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate by determining that the data written to the cache by the workload occupies more than a predetermined threshold for a proportion of cache space occupied by data written to the cache by a single workload.

12. The system of claim 10 , wherein the limit module limits the volume of input/output requests from workload that will be accepted by the storage system by reducing a number of credits granted to the workload, wherein credits granted to the workload regulate the volume of input/output requests that the storage system will accept from the workload within a predetermined time period.

13. The system of claim 12 , wherein the limit module reduces the number of credits granted to the workload by granting the workload a number of credits based at least in part on the inverse of the proportion of cache space occupied by the data written to the cache by the workload.

14. The system of claim 12 , wherein the limit module reduces the number of credits granted to the workload by:

granting a number of credits to the workload based on a service level agreement for the workload; and

withholding an additional number of credits from the workload in response to determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate.

15. The system of claim 10 , wherein the limit module limits the volume of input/output requests from workload that will be accepted by the storage system by limiting the rate at which the workload writes data to the cache to be no greater than a rate at which the cache flushes the data written by the workload from the cache.

16. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify a plurality of workloads that make input/output requests to a storage system that comprises a cache that stores a copy of data recently written to the storage system by the plurality of workloads;

calculate a proportion of the cache that is occupied by data written to the cache by a workload within the plurality of workloads, wherein calculating the proportion of the cache that is occupied by the data written to the cache by the workload comprises examining data currently stored in the cache to determine which workload within the plurality of workloads wrote each portion of data currently stored in the cache and monitoring a rate at which the workload writes data to the cache;

determine that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate; and

limit the volume of input/output requests from workload that will be accepted by the storage system in response to determining that the proportion of the cache that is occupied by the data written to the cache by the workload is disproportionate.

Assignments (15)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0938 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 051594/0529 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0412 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Aug 2, 2019
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 051594/0529 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Dec 4, 2017
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 044682/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: MAHAJAN, KETAN; PENDHARKAR, NIRANJAN; KHATPE, MAHESH
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 043873/0162 →
Cited By (2)
US 12,536,293 US 12,710,879