IP Library Granted Patent US 11,226,739
Granted Patent B2
US 11,226,739 · App. 16/588,993 · Granted Jan 18, 2022

Method, device and computer program product for storage management

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,226,739
App. No.
16/588,993
Granted
Jan 18, 2022
Kind
B2
Abstract

Embodiments of the present disclosure a method, device and computer program product for storage management. The method comprises: determining, from a storage system, a plurality of storage areas corresponding to a plurality of files; selecting, from the plurality of storage areas, a pair of first storage area and second storage area, both the first storage area and the second storage area having non-empty available space; moving at least part of data stored in used space of the first storage area to available space of the second storage area; and in response to determining that the used space of the first storage area becomes empty after the moving, releasing the first storage area. In this way, the storage space can be effectively released and the storage efficiency is accordingly improved.

Claims (56)

1. A method for backup storage management, comprising:

allocating, by a processor coupled to a backup storage system, a fixed size for each file of a plurality of files associated with backup data, wherein a plurality of data chunks comprises the plurality of files and are stored in a plurality of storage areas of the backup storage system;

selecting, by the processor, a first storage area and a second storage area from the plurality of storage areas, the second storage area comprising one or more storage chunks corresponding to available storage space;

moving, by the processor, one or more data chunks stored in the first storage area to the available storage space of the second storage area to create a continuous storage space in the first storage area, wherein the available storage space comprises at least one of empty storage chunks, expired non-empty storage chunks, or marked for deletion non-empty storage chunks; and

releasing, by the processor, the continuous storage space in the first storage area.

2. The method of claim 1 , wherein the first storage area has maximum available space in the plurality of storage areas and the second storage area has minimum non-zero available space.

3. The method of claim 1 , further comprising:

while executing the moving with a first thread of the processor, moving, using a second thread of the processor different from the first thread, at least part of data stored in used space of a third storage area of the plurality of storage areas to available space of a fourth storage area.

4. The method of claim 1 , further comprising:

determining, by the processor, whether the plurality of storage areas include at least two storage areas having non-empty available space after the moving; and

in response to determining that the plurality of storage areas include a fifth storage area and a sixth storage area having non-empty available space, moving, by the processor, at least part of data in used space of the fifth storage area to the available space of the sixth storage area.

5. The method of claim 1 , wherein the moving, by the processor, further comprises:

determining a first size of used space of the first storage area and a second size of the available space of the second storage area;

in response to the first size being less than or equal to the second size, moving all the data chunks in the used space of the first storage area to the available space of the second storage area; and

in response to the first size exceeding the second size, moving the data chunks of the second size in the used space of the first storage area to the available space of the second storage area.

6. The method of claim 1 , wherein the moving, by the processor, further comprises:

marking space in the first storage area corresponding to the one or more data chunks as available.

7. The method of claim 1 , further comprising:

indicating a change in a position of the one or more storage chunks by updating, by the processor, storage position information in an index table corresponding to the one or more data chunks, wherein a data item in the index table indicates an index value associated with the at least part of the data of the one or more data chunks and at least one file referencing to the at least part the data.

8. The method of claim 1 , wherein the plurality of files are backup files.

9. A device for storage management, comprising:

a processor; and

at least one memory being coupled to the processor and storing instructions for execution by the processor, the instructions, when executed by the processor, cause the processor to perform operations, the operations comprising:

allocating, by the processor coupled to a backup storage system, a fixed size for each file of a plurality of files associated with backup data, wherein a plurality of data chunks comprises the plurality of files and are stored in a plurality of storage areas of the backup storage system;

selecting, from the plurality of storage areas, a first storage area and second storage area, the second storage area comprising one or more storage chunks corresponding to available storage space;

moving one or more data chunks stored in the first storage area to the available space of the second storage area to create a continuous storage space in the first storage area, wherein the available storage space comprises at least one of empty storage chunks, expired non-empty storage chunks, or marked for deletion non-empty storage chunks; and

releasing the continuous storage space in the first storage area.

10. The device of claim 9 , wherein the first storage area has maximum available space in the plurality of storage areas and the second storage area has minimum non- zero available space.

11. The device of claim 9 , wherein the operations further comprise:

while executing the moving with a first thread of the processor, moving, using a second thread of the processor different from the first thread, at least part of data stored in used space of a third storage area of the plurality of storage areas to available space of a fourth storage area.

12. The device of claim 9 , wherein the operations further comprise:

determining whether the plurality of storage areas include at least two storage areas having non-empty available space after the moving; and

in response to determining that the plurality of storage areas include a fifth storage area and a sixth storage area having non-empty available space, moving at least part of data in used space of the fifth storage area to the available space of the sixth storage area.

13. The device of claim 9 , wherein the moving operation comprises:

determining a first size of used space of the first storage area and a second size of the available space of the second storage area;

in response to the first size being less than or equal to the second size, moving all of data in the used space of the first storage area to the available space of the second storage area; and

in response to the first size exceeding the second size, moving data of the second size in the used space of the first storage area to the available space of the second storage area.

14. The device of claim 9 , wherein the moving operation comprises:

moving data of used space in the second storage area, such that the available space in the second storage area is continuous.

15. The device of claim 9 , wherein the moving operation comprises:

marking space in the first storage area corresponding to the the data as available.

16. The device of claim 9 , wherein the operations further comprise:

indicating a change in a position of the one or more storage chunks by updating, in an index table, storage position information corresponding to the the one or more data chunks, a data item in the index table indicating an index value associated with at least part of the data of the one or more data chunks and at least one file referencing to the at least part the data.

17. The device of claim 9 , wherein the plurality of files are backup files.

18. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:

allocating, by the processor coupled to a backup storage system, a fixed size for each file of a plurality of files associated with backup data, wherein a plurality of data chunks comprises the plurality of files and are stored in a plurality of storage areas of the backup storage system;

selecting, from the plurality of storage areas, a first storage area and second storage area, the second storage area comprising one or more storage chunks corresponding to available storage space;

moving one or more data chunks stored in the first storage area to the available space of the second storage area to create a continuous storage space in the first storage area, wherein the available storage space comprises at least one of empty storage chunks, expired non-empty storage chunks, or marked for deletion non-empty storage chunks; and

releasing the continuous storage space in the first storage area.

19. The non-transitory machine-readable medium of claim 9 , wherein the operations further comprise:

determining a first size of used space of the first storage area and a second size of the available space of the second storage area;

in response to the first size being less than or equal to the second size, moving all of data in the used space of the first storage area to the available space of the second storage area; and

in response to the first size exceeding the second size, moving data of the second size in the used space of the first storage area to the available space of the second storage area.

20. The method of claim 1 , further comprising:

determining an amount of data of the plurality of data chunks stored in the plurality of storage areas is at least one of expired or marked for deletion and exceeds a threshold value; and

initiating a reorganization of the plurality of data chunks within each of the plurality of storage areas.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2019
From: ZHAO, JINGRONG; ZHENG, QINGXIAO; LI, KERRY; WANG, YI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050620/0291 →