IP Library Granted Patent US 11,561,929
Granted Patent B2
US 11,561,929 · App. 16/883,029 · Granted Jan 24, 2023

Method, device and computer program product for shrinking storage space

Inventors: Chaojun Zhao (Chengdu, CN); Hongyuan Zeng (Sichuan, CN); Shuangshuang Liang (Zunyi Ci, CN); Kai Li (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F16/128G06F3/067G06F3/0608G06F3/0644G06F9/5016G06F16/125G06F16/162G06F16/1734G06F16/1824G06F2209/5011
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,561,929
App. No.
16/883,029
Granted
Jan 24, 2023
Kind
B2
Abstract

Techniques for shrinking a storage space involve determining a used storage space in a storage pool allocated to a plurality of file systems, and determining a usage level of a storage space in the storage pool based on the used storage space in and a storage capacity of the storage pool. The techniques further involve shrinking a storage space from one or more of the plurality of file systems based on the usage level of the storage pool. Such techniques may automatically shrink storage space in one or more file systems from the global level of the storage pool, which determines an auto shrink strategy according to overall performance of the storage pool, thereby improving efficiency of auto shrink and balancing system performance and saving space.

Claims (76)

1. A method for shrinking a storage space, comprising:

determining a used storage space in a storage pool allocated to a plurality of file systems;

determining a usage level of a storage space in the storage pool based on the used storage space and a storage capacity of the storage pool; and

shrinking a storage space from one or more of the plurality of file systems based on the usage level of the storage pool;

wherein shrinking the storage space from one or more of the plurality of file systems comprises:

in accordance with a determination that the usage level exceeds a first threshold and is below a second threshold, enabling a first file system of the plurality of file systems to:

determine whether a first idle rate of a storage space of the first file system exceeds a first file system threshold; and

in accordance with a determination that the first idle rate exceeds the first file system threshold, shrink a part of the storage space of the first file system.

2. The method of claim 1 , wherein determining the used storage space in the storage pool allocated to the plurality of file systems comprises:

determining the used storage space in the storage pool periodically; and

obtaining a shrinkable space size, a number of snapshots, and a fragment level of each of the plurality of file systems.

3. The method of claim 1 , further comprising:

in accordance with a second determination that the usage level is below or equal to the first threshold, disabling an auto shrink function of storage space of all of the plurality of file systems.

4. The method of claim 3 , further comprising:

in accordance with a third determination that the usage level exceeds or is equal to the second threshold, selecting one or more file systems from the plurality of file systems for shrinking storage space.

5. The method of claim 4 , wherein selecting one or more file systems from the plurality of file systems for shrinking storage space comprises:

determining a shrinkable space size of each of the plurality of file systems; and

selecting the one or more from the plurality of file systems based on a shrinkable space size of each file system.

6. The method of claim 5 , wherein selecting the one or more file systems from the plurality of file systems comprises:

in accordance with a determination that shrinkable space sizes of two or more file systems are equal, determining the number of snapshots of each of the two or more file systems; and

selecting, based on the number of snapshots of each file system, one file system from the two or more file systems to perform space shrinking.

7. The method of claim 6 , wherein selecting the one file system from the two or more file systems comprises:

in accordance with a determination that shrinkable space sizes of the two or more file systems are equal, determining a fragment level of each of the two or more file systems; and

selecting, based on the number of snapshots and a fragment level of each file system, one file system from the two or more file systems to perform space shrinking.

8. The method of claim 7 , further comprising:

determining whether an auto shrink operation of the selected file system is canceled; and

in accordance with a determination that the auto shrink operation of the selected file system is cancelled, reducing a probability that the selected file system is selected again for auto shrinking.

9. The method of claim 7 , further comprising:

determining whether a usage rate of storage space of the plurality of file systems is below a predetermined threshold after the selected file system completes space shrink; and

in accordance with a determination that the usage rate of the storage space of the plurality of file systems is below the predetermined threshold, continuing to shrink a storage space from another file system in the plurality of file systems.

10. The method of claim 1 , wherein shrinking the storage space further comprises:

determining that the usage level exceeds the first threshold and is below the second threshold.

11. The method of claim 1 , where the first threshold is a first predefined percentage of an overall usage rate;

where the second threshold is a second predefined percentage of the overall usage rate; and

wherein determining the usage level of the storage space comprises:

deriving, as a current usage rate for comparison with the first and second predefined percentages, a current usage percentage.

12. An electronic device, comprising:

a processing unit; and

a memory coupled to the processing unit and storing instructions, the instructions, when executed by the processing unit, causing the device to perform acts comprising:

determining a used storage space in a storage pool allocated to a plurality of file systems;

determining a usage level of a storage space in the storage pool based on the used storage space and a storage capacity of the storage pool; and

shrinking a storage space from one or more of the plurality of file systems based on the usage level of the storage pool;

wherein shrinking the storage space from one or more of the plurality of file systems comprises:

in accordance with a determination that the usage level exceeds the first threshold and is below a second threshold, enabling a first file system of the plurality of file systems to:

determine whether a first idle rate of a storage space of the first file system exceeds a first file system threshold; and

in accordance with a determination that the first idle rate exceeds the first file system threshold, shrink a part of the storage space of the first file system.

13. The device of claim 12 , wherein determining the used storage space in the storage pool allocated to the plurality of file systems comprises:

determining the used storage space in the storage pool periodically; and

obtaining a shrinkable space size, a number of snapshots, and a fragment level of each of the plurality of file systems.

14. The device of claim 12 , the acts further comprising:

in accordance with a second determination that the usage level is below or equal to the first threshold, disabling an auto shrink function of storage space of all of the plurality of file systems.

15. The device of claim 14 , further comprising:

in accordance with a third determination that the usage level exceeds or is equal to the second threshold, selecting one or more file systems from the plurality of file systems for shrinking storage space.

16. The device of claim 15 , wherein selecting one or more file systems from the plurality of file systems for shrinking storage space comprises:

determining a shrinkable space size of each of the plurality of file systems; and

selecting the one or more file systems from the plurality of file systems based on a shrinkable space size of each file system.

17. The device of claim 16 , wherein selecting the one or more file systems from the plurality of file systems comprises:

in accordance with a determination that shrinkable space sizes of two or more file systems are equal, determining the number of snapshots of each of the two or more file systems; and

selecting, based on the number of snapshots of each file system, one file system from the two or more file systems to perform space shrinking.

18. The device of claim 17 , wherein selecting the one file system from the two or more file systems comprises:

in accordance with a determination that shrinkable space sizes of the two or more file systems are equal, determining a fragment level of each of the two or more file systems; and

selecting, based on the number of snapshots and a fragment level of each file system, one file system from the two or more file systems to perform space shrinking.

19. The device of claim 18 , the acts further comprising:

determining whether an auto shrink operation of the selected file system is canceled; and

in accordance with a determination that the auto shrink operation of the selected file system is cancelled, reducing a probability that the selected file system is selected again for auto shrinking.

20. The device of claim 18 , the acts further comprising:

determining whether a usage rate of storage space of the plurality of file systems is below a predetermined threshold after the selected file system completes space shrink; and

in accordance with a determination that the usage rate of the storage space of the plurality of file systems is below the predetermined threshold, continuing to shrink a storage space from another file system in the plurality of file systems.

21. A computer program product having a non-transitory computer readable medium which stores a set of instructions to shrink a storage space; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

determining a used storage space in a storage pool allocated to a plurality of file systems;

determining a usage level of a storage space in the storage pool based on the used storage space and a storage capacity of the storage pool; and

shrinking a storage space from one or more of the plurality of file systems based on the usage level of the storage pool;

wherein shrinking the storage space from one or more of the plurality of file systems comprises:

in accordance with a determination that the usage level exceeds a first threshold and is below a second threshold, enabling a first file system of the plurality of file systems to:

determine whether a first idle rate of a storage space of the first file system exceeds a first file system threshold; and

in accordance with a determination that the first idle rate exceeds the first file system threshold, shrink a part of the storage space of the first file system.

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 23, 2020
From: ZHAO, CHAOJUN; ZENG, HONGYUAN; LIANG, SHUANGSHUANG; LI, KAI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053291/0339 →
Priority Claims (1)
CN 201911002080.3 · Oct 21, 2019 · national
Continuity (1)
Related Publication 20210117378A1 · Apr 22, 2021