IP Library Granted Patent US 11,340,811
Granted Patent B2
US 11,340,811 · App. 16/829,910 · Granted May 24, 2022

Determining reclaim information for a storage block based on data length and matching write and delete parameters

Inventors: Julius Zhu (Shanghai, CN); Lu Lei (Shanghai, CN); Ao Sun (Shanghai, CN); Yu Teng (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/064G06F3/0619G06F3/0652G06F3/0653G06F3/0659G06F3/0673G06F2211/104
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,340,811
App. No.
16/829,910
Granted
May 24, 2022
Kind
B2
Abstract

Storage blocks are managed. For instance, a set of write parameters and a set of deletion parameters are obtained related to a target storage block. In response to the set of write parameters matching the set of deletion parameters, a first data length is obtained for the target storage block, the first data length being determined in response to receiving a write request for the target storage block. Further, reclaim information is determined related to the target storage block based on the first data length and the set of deletion parameters. It is thus possible to reduce times of scanning the entire object table to determine whether there is an object referring to the storage block, thereby reducing the time consumed by the verification process and improving the reclaiming speed of storage blocks.

Claims (64)

1. A method of managing storage blocks, comprising:

obtaining, by a system comprising a processor, a set of write parameters and a set of deletion parameters related to a target storage block, the set of write parameters comprising information related to first data that is stored in the target storage block and associated with at least one object, and the set of deletion parameters comprising information related to second data that is deleted from the target storage block and associated with the at least one object;

in response to the set of write parameters matching the set of deletion parameters, obtaining a first data length for the target storage block, the first data length being determined in response to receiving a write request for the target storage block; and

determining reclaim information related to the target storage block based on the first data length and the set of deletion parameters.

2. The method of claim 1 , wherein the at least one object comprises a plurality of objects, and the determining the reclaim information related to the target storage block comprises:

determining a sum of data lengths associated with the plurality of objects in the set of deletion parameters; and

in response to determining that the first data length is equal to the sum of data lengths, determining the target storage block to be reclaimed.

3. The method of claim 2 , wherein the determining the reclaim information related to the target storage block further comprises:

in response to determining that the first data length is greater than the sum of the data lengths, obtaining metadata of the plurality of objects, the metadata comprising an identifier of at least one associated storage block for each object; and

in response to determining that the at least one associated storage block does not comprise the target storage block, determining the target storage block to be reclaimed.

4. The method of claim 1 , wherein the obtaining the set of write parameters and the set of deletion parameters comprises:

obtaining metadata of the target storage block; and

extracting the set of write parameters and the set of deletion parameters from the metadata.

5. The method of claim 1 , wherein the obtaining the first data length comprises:

obtaining metadata of the target storage block;

extracting a second data length from the metadata, the second data length being calculated based on a data length in a received previous write request;

in response to receiving the write request for the target storage block, determining a data length for writing to the target storage block; and

determining the first data length based on the second data length and the data length for writing to the target storage block.

6. The method of claim 5 , further comprising:

updating the metadata of the target storage block with the first data length.

7. An electronic device comprising:

a processor; and

a memory having computer program instructions stored thereon, the processor executing the computer program instructions in the memory to control the electronic device to perform acts comprising:

obtaining a set of write parameters and a set of deletion parameters related to a target storage block, the set of write parameters comprising information related to first data that is stored in the target storage block and associated with at least one object, and the set of deletion parameters comprising information related to second data that is deleted from the target storage block and associated with the at least one object;

in response to the set of write parameters matching the set of deletion parameters, obtaining a first data length for the target storage block, the first data length being determined in response to receiving a write request for the target storage block; and

determining reclaim information related to the target storage block based on the first data length and the set of deletion parameters.

8. The electronic device of claim 7 , wherein the at least one object comprises a plurality of objects, and the determining reclaim information related to the target storage block comprises:

determining a sum of data lengths associated with the plurality of objects in the set of deletion parameters; and

in response to determining that the first data length is equal to the sum of data lengths, determining the target storage block to be reclaimed.

9. The electronic device of claim 8 , wherein the determining the reclaim information related to the target storage block further comprises:

in response to determining that the first data length is greater than the sum of the data lengths, obtaining metadata of the plurality of objects, the metadata comprising an identifier of at least one associated storage block for each object; and

in response to determining that the at least one associated storage block does not comprise the target storage block, determining the target storage block to be reclaimed.

10. The electronic device of claim 7 , wherein the obtaining the set of write parameters and the set of deletion parameters comprises:

obtaining metadata of the target storage block; and

extracting the set of write parameters and the set of deletion parameters from the metadata.

11. The electronic device of claim 7 , wherein the obtaining the first data length comprises:

obtaining metadata of the target storage block;

extracting a second data length from the metadata, the second data length being calculated based on a data length in a received previous write request;

in response to receiving a write request for the target storage block, determining a data length for writing to the target storage block; and

determining the first data length based on the second data length and the data length for writing to the target storage block.

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

updating the metadata of the target storage block with the first data length.

13. A computer program product being tangibly stored on a non-volatile computer-readable medium and comprising machine-executable instructions which, when executed, cause a machine to perform operations, comprising:

obtaining write parameters and deletion parameters related to a target storage block, the write parameters comprising information related to first data that is stored in the target storage block and associated with at least one object, and the deletion parameters comprising information related to second data that is deleted from the target storage block and associated with the at least one object;

in response to the write parameters matching the deletion parameters, obtaining a first data length for the target storage block, the first data length being determined in response to receiving a write request for the target storage block; and

determining reclaim information related to the target storage block based on the first data length and the deletion parameters.

14. The computer program product of claim 13 , wherein the at least one object comprises objects, and the determining the reclaim information related to the target storage block comprises:

determining a sum of data lengths associated with the objects in the deletion parameters.

15. The computer program product of claim 14 , wherein the determining the reclaim information related to the target storage block further comprises:

in response to determining that the first data length is equal to the sum of data lengths, determining the target storage block to be reclaimed.

16. The computer program product of claim 15 , wherein the determining the reclaim information related to the target storage block further comprises:

in response to determining that the first data length is greater than the sum of the data lengths, obtaining metadata of the objects, the metadata comprising an identifier of at least one associated storage block for each object; and

in response to determining that the at least one associated storage block does not comprise the target storage block, determining the target storage block to be reclaimed.

17. The computer program product of claim 13 , wherein the obtaining the write parameters and the deletion parameters comprises:

obtaining metadata of the target storage block.

18. The computer program product of claim 17 , wherein the obtaining the write parameters and the deletion parameters further comprises:

extracting the write parameters and the deletion parameters from the metadata.

19. The computer program product of claim 13 , wherein the obtaining the first data length comprises:

obtaining metadata of the target storage block;

extracting a second data length from the metadata, the second data length being calculated based on a data length in a received previous write request;

in response to receiving the write request for the target storage block, determining a data length for writing to the target storage block; and

determining the first data length based on the second data length and the data length for writing to the target storage block.

20. The computer program product of claim 19 , wherein the operations further comprise:

updating the metadata of the target storage block with the first data length.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 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 060436/0582 →
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 AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2020
From: ZHU, JULIUS; LEI, LU; SUN, AO; TENG, YU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052227/0556 →