IP Library Granted Patent US 10,114,754
Granted Patent B1
US 10,114,754 · App. 14/871,642 · Granted Oct 30, 2018

Techniques for space reservation in a storage environment

Inventors: Niranjan Sanjiv Pendharkar (Pune, IN); Anindya Banerjee (Pune, IN)
Assignee: Veritas Technologies LLC
G06F12/0891G06F3/064G06F3/067G06F3/0608G06F3/0652G06F2212/1044G06F2212/604
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,114,754
App. No.
14/871,642
Granted
Oct 30, 2018
Kind
B1
Abstract

Improved techniques and systems are disclosed for ensuring that physical storage is available for cached allocating writes in a thinly provisioned storage environment. By monitoring the size of the cached allocating writes in the file system cache and taking cache occupancy reduction actions when criteria for cache reduction are fulfilled, caching of allocating writes that do not have a corresponding physical storage allocation can be eliminated or reduced to a user-configurable maximum without disabling caching of allocating writes. Using these techniques, allocating writes may be cached without risk of data loss.

Claims (42)

1. A method comprising:

caching allocating writes on a cache storage, wherein the cached allocating writes are writes not having a previously allocated physical storage space that are later to be stored on a physical storage separate from the cache storage that stores the cached allocating writes;

in response to caching allocating writes, reserving a block of the physical storage separate from the cache storage that stores the cached allocating writes;

comparing a total cumulative size of the cached allocating writes to an upper threshold; and

when the total cumulative size of the cached allocating writes exceeds the upper threshold, taking a cache occupancy reduction action;

wherein the reservation of the block of the physical storage, the caching allocating writes, and the cache reduction action are managed to avoid failures to commit to write to the physical storage.

2. The method of claim 1 , wherein the cache occupancy reduction action is an action selected from the group of: performing background flushing to physical storage of the cached allocating writes and reserving additional physical storage.

3. The method of claim 1 , further comprising: continuing to cache allocating writes;

comparing an unbacked data amount to an unbacked data threshold; and

when the unbacked data amount exceeds the unbacked data threshold, taking one or more additional cache occupancy reduction actions.

4. The method of claim 3 , wherein the unbacked data amount is the total size of the reserved physical storage subtracted from the total cumulative size of the cached allocating writes.

5. The method of claim 3 , wherein caching allocating writes is paused when the unbacked data amount exceeds the unbacked data threshold.

6. The method of claim 3 , wherein the unbacked data threshold is a percentage of the size of the reserved physical storage.

7. The method of claim 1 , wherein reserving a block of physical storage comprises making an API call to a reserved space management agent.

8. The method of claim 1 , wherein the upper threshold is a percentage of the size of the reserved physical storage.

9. The method of claim 1 , further comprising pausing caching allocating writes until the cache occupancy reduction action is completed.

10. The method of claim 1 , wherein the cache occupancy reduction action comprises performing background flushing to physical storage of the cached allocating writes and wherein the cached allocating writes are written to physical storage other than the reserved physical storage.

11. The method of claim 1 , wherein the cache occupancy reduction action comprises performing background flushing to physical storage of the cached allocating writes and wherein taking the cache occupancy reduction action has started, further comprising:

comparing the total cumulative size of the cached allocating writes to a lower threshold; and

stopping the background flushing to physical storage of the cached allocating writes if the total cumulative size of the cached allocating writes is smaller than the lower threshold.

12. A system comprising:

a program memory;

at least one processor communicatively coupled to the program memory and a storage device and configured to execute program instructions to cause the at least one processor to:

caching allocating writes on a cache storage, wherein the cached allocating writes are writes not having a previously allocated physical storage space that are later to be stored to physical storage in the storage device storage separate from the cache storage that stores the cached allocating writes;

in response to caching allocating writes, reserve a block of the physical storage separate from the cache storage that stores the cached all ocating writes;

compare a total cumulative size of the cached allocating writes to an upper threshold; and

when the total cumulative size of the cached allocating writes exceeds the upper threshold, take a cache occupancy reduction action;

wherein the reservation of the block of the physical storage, the caching allocating writes, and the cache reduction action are managed to avoid failures to commit to write to the physical storage.

13. The system of claim 12 , wherein the cache occupancy reduction action is an action selected from the group of: performing background flushing to physical storage of the cached allocating writes and reserving additional physical storage.

14. The system of claim 12 , wherein the program instructions further cause the processor to:

continue to cache allocating writes;

compare an unbacked data amount to an unbacked data threshold; and

when the unbacked data amount exceeds the unbacked data threshold, take one or more additional cache occupancy reduction actions.

15. The system of claim 12 , wherein the cache occupancy reduction action comprises performing background flushing to physical storage of the cached all ocating writes, wherein, the program instructions further cause the processor to:

when the cache occupancy reduction action has started:

compare the total cumulative size of the cached allocating writes to a lower threshold; and

stop the background flushing to physical storage of the cached allocating writes if the total cumulative size of the cached allocating writes is smaller than the lower threshold.

16. The system of claim 12 , wherein the all ocating writes are cached in a cache memory coupled to the at least one processor.

17. The system of claim 12 , further comprising a file system executed by the at least one processor and configured to issue allocating writes.

18. The system of claim 12 , wherein the program instructions further cause the at least one processor to reserve the block of storage in the storage device by issuing a storage reservation API command to a reserve space management agent in the storage device.

19. The system of claim 12 , wherein the program instructions further cause the at least one processor to execute a cache management agent, wherein the comparison is performed by the cache management agent.

20. The system of claim 19 , wherein the program instructions further cause the at least one processor to take the cache occupancy reduction action by causing the cache management agent to trigger a cache occupancy reduction agent to perform the cache occupancy reduction action.

Assignments (16)
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 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
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 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2015
From: PENDHARKAR, NIRANJAN SANJIV; BANERJEE, ANINDYA
To: SYMANTEC CORPORATION
Reel/Frame 036705/0276 →
Cited By (3)
US 12,265,713 US 12,271,304 US 12,561,062