IP Library Granted Patent US 11,449,468
Granted Patent B1
US 11,449,468 · App. 15/498,834 · Granted Sep 20, 2022

Enforcing minimum space guarantees in thinly-provisioned file systems

Inventors: Changyong Yu (Shanghai, CN); Xianlong Liu (Shanghai, CN); Yuetao Jiang (Shanghai, CN); Ruiling Dou (Shanghai, CN); Banghui Luo (Shanghai, CN); Walter C. Forrester (Berkeley Heights, NJ)
Assignee: EMC IP Holding Company LLC
G06F16/1727G06F16/128G06F16/13G06F16/162G06F16/178G06F16/1844
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,449,468
App. No.
15/498,834
Filed
Apr 27, 2017
Granted
Sep 20, 2022
Kind
B1
Art Unit
2164
USPC
707/626
Abstract

A technique for managing storage space includes establishing an MSR (minimum space reservation) of a thin file system built upon a storage pool. In response to a set of storage requests to the file system to store new data, the method further includes obtaining an additional space guarantee from the storage pool. After deleting data from the file system such that the size of the file system falls below the MSR, the technique further includes performing a space reclaim operation, the space reclaim operation (i) compacting the file system to a size less than the MSR, (ii) canceling the additional space guarantee such that the storage pool no longer guarantees the additional space for the file system, and (iii) continuing to reserve the full MSR of the file system, even though the size of the file system is smaller than the MSR.

Claims (56)

1. A method of managing storage space in a data storage system, the method comprising:

establishing an MSR (minimum space reservation) of a thin file system built upon a storage pool of non-volatile storage in the data storage system, the MSR defining, contrary to a typical nature of thin file systems, a minimum reservation of non-volatile storage space from the storage pool;

in response to a set of storage requests to the file system to store new data that would cause a size of the file system to exceed the MSR, obtaining an additional space guarantee from the storage pool to accommodate the new data;

after obtaining the additional space guarantee, deleting data from the file system such that the size of the file system falls below the MSR; and

performing a space reclaim operation, the space reclaim operation (i) compacting the file system to reduce its size in response to deleting the data to a size less than the MSR, (ii) canceling the additional space guarantee such that the storage pool no longer guarantees the additional space for the file system, and (iii) continuing to reserve the established MSR of the file system, even though the size of the file system is smaller than the MSR due to deleting the data,

wherein the file system is an upper-deck file system built upon a single container file in a lower-deck the system, and wherein establishing the MSR of the file system includes specifying a minimum file size for the single container file in the lower-deck file system equal to the MSR.

2. The method of claim 1 , wherein establishing the MSR of the file system is performed in response to a request from an administrative program to create the file system, the request to create the file system including a setting for establishing the MSR of the file system.

3. The method of claim 1 , wherein establishing the MSR of the file system is performed in response to a request from an administrative program to change an MSR setting of the file system after the file system is initially created.

4. The method of claim 1 , further comprising, prior to establishing the MSR of the file system, receiving, by a manager of the storage pool, a request to establish the MSR of the file system, wherein establishing the MSR of the file system includes:

performing a space-testing operation configured to (i) produce a first result in response to the storage pool having sufficient free space to accommodate the MSR and (ii) produce a second result otherwise,

wherein establishing the MSR of the file system is contingent upon the space-testing operation producing the first result.

5. The method of claim 4 , wherein the data storage system performs replication on the file system to maintain a replica of the file system on a second data storage system, wherein the replica of the file system is built upon a second storage pool in the second data storage system, and wherein establishing the MSR of the file system further includes:

performing a second space-testing operation on the second data storage system, the second space-testing operation configured to generate (i) a third result in response to the second storage pool having sufficient free space to accommodate the MSR of the file system and (ii) a fourth result otherwise,

wherein establishing the MSR of the file system is further contingent upon the second space-testing operation producing the third result.

6. The method of claim 4 , further comprising:

while the MSR of the file system has a first value, taking a snap of the file system;

after taking the snap, increasing the MSR to a second value greater than the first value; and

restoring the file system from the snap, including reestablishing the first value of the MSR as the MSR of the file system as restored from the snap.

7. The method of claim 4 , further comprising storing the MSR of the file system in a persistent data structure within the data storage system.

8. The method of claim 7 , wherein the file system has a current size of data in use that exceeds the MSR of the file system, and wherein the method further comprises:

receiving a request to increase the MSR of the file system to a value that does not exceed the current size of data in use by the file system; and

in response to receiving the request to increase the MSR, increasing the MSR without requesting any additional space guarantees from the storage pool.

9. The method of claim 1 , further comprising:

generating multiple snaps of the thin file system at respective points in time;

storing, in connection with each of the multiple snaps, a respective MSR of the thin file system as of the time the respective snap was generated;

updating the MSR of the thin file system after a particular snap of the multiple snaps has been generated; and

upon restoring the thin file system from the particular snap, modifying the MSR of the thin file system to match the MSR of the thin file system as of the time the particular snap was generated.

10. A data storage system, comprising control circuitry that includes a set of processing units coupled to memory, the control circuitry constructed and arranged to:

establish an MSR (minimum space reservation) of a thin file system built upon a storage pool of non-volatile storage in the data storage system, the MSR defining, contrary to a typical nature of thin file systems, a minimum reservation of non-volatile storage space;

in response to a set of storage requests to the file system to store new data that would cause a size of the file system to exceed the MSR, obtain an additional space guarantee from the storage pool to accommodate the new data;

after obtaining the additional space guarantee, delete data from the file system such that the size of the file system falls below the MSR; and

perform a space reclaim operation, the space reclaim operation configured to (i) compact the file system to reduce its size in response to deletion of the data to a size less than the MSR, (ii) cancel the additional space guarantee such that the storage pool no longer guarantees the additional space for the file system, and (iii) continue to reserve the established MSR of the file system due to deletion of the data,

wherein the file system is an upper-deck file system built upon a single container file in a lower-deck file system, and wherein the control circuitry constructed and arranged to establish the MSR of the file system is further constructed and arranged to specify a minimum file size for the single container file in the lower-deck file system equal to the MSR.

11. The data storage system of claim 10 , wherein the control circuitry is constructed and arranged to establish the MSR of the file system in response to a request from an administrative program to create the file system, the request to create the file system including a setting for establishing the MSR of the file system.

12. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a data storage system, cause the control circuitry to perform a method of managing storage space, the method comprising:

establishing an MSR (minimum space reservation) of a thin file system built upon a storage pool of non-volatile storage in the data storage system, the MSR defining, contrary to a typical nature of thin file systems, a minimum reservation of non-volatile storage space;

in response to a set of storage requests to the file system to store new data that would cause a size of the file system to exceed the MSR, obtaining an additional space guarantee from the storage pool to accommodate the new data;

after obtaining the additional space guarantee, deleting data from the file system such that the size of the file system falls below the MSR; and

performing a space reclaim operation, the space reclaim operation (i) compacting the file system to reduce its size in response to deleting the data to a size less than the MSR, (ii) canceling the additional space guarantee such that the storage pool no longer guarantees the additional space for the file system, and (iii) continuing to reserve the established MSR of the file system, even though the size of the file system is smaller than the MSR due to deleting the data,

wherein the file system is an upper-deck file system built upon a single container file in a lower-deck file system, and wherein establishing the MSR of the file system includes specifying a minimum file size for the single container file in the lower-deck the system equal to the MSR.

13. The computer program product of claim 12 , wherein establishing the MSR of the file system is performed in response to a request from an administrative program to create the file system, the request to create the file system including a setting for establishing the MSR of the file system.

14. The computer program product of claim 12 , wherein establishing the MSR of the file system is performed in response to a request from an administrative program to change an MSR setting of the file system after the file system is initially created.

15. The computer program product of claim 12 , further comprising, prior to establishing the MSR of the file system, receiving, by a manager of the storage pool, a request to establish the MSR of the file system, wherein establishing the MSR of the file system includes:

performing a space-testing operation configured to (i) produce a first result in response to the storage pool having sufficient free space to accommodate the MSR and (ii) produce a second result otherwise,

wherein establishing the MSR of the file system is contingent upon the space-testing operation producing the first result.

16. The computer program product of claim 15 , wherein the data storage system performs replication on the file system to maintain a replica of the file system on a second data storage system, wherein the replica of the file system is built upon a second storage pool in the second data storage system, and wherein establishing the MSR of the file system further includes:

performing a second space-testing operation on the second data storage system, the second space-testing operation configured to generate (i) a third result in response to the second storage pool having sufficient free space to accommodate the MSR of the file system and (ii) a fourth result otherwise,

wherein establishing the MSR of the file system is further contingent upon the second space-testing operation producing the third result.

17. The method of claim 15 , wherein the method further comprises:

while the MSR of the file system has a first value, taking a snap of the file system;

after taking the snap, increasing the MSR to a second value greater than the first value; and

restoring the file system from the snap, including reestablishing the first value of the MSR as the MSR of the file system as restored from the snap.

18. The computer program product of claim 15 , wherein the method further comprises storing the MSR of the file system in a persistent data structure within the data storage system.

19. The computer program product of claim 18 , wherein the file system has a current size of data in use that exceeds the MSR of the file system, and wherein the method further comprises:

receiving a request to increase the MSR of the file system to a value that does not exceed the current size of data in use by the file system; and

in response to receiving the request to increase the MSR, increasing the MSR without requesting any additional space guarantees from the storage pool.

Assignments (8)
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 (042769/0001) Recorded Apr 26, 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 (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 21, 2019
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 049452/0223 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2017
From: YU, CHANGYONG; LIU, XIANLONG; JIANG, YUETAO; DOU, RUILING; LUO, BANGHUI; FORRESTER, WALTER C.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042567/0380 →
Cited By (1)
US 12,360,945