IP Library Granted Patent US 11,068,390
Granted Patent B2
US 11,068,390 · App. 16/265,491 · Granted Jul 20, 2021

Scalable garbage collection for deduplicated storage

Inventors: Philip Shilane (Newtown, PA); Kimberly Lu (Sunnyvale, CA); Joseph Brandt (Emeryville, CA); Nicholas Noto (Sunnyvale, CA); Tipper Truong (San Jose, CA); Mariah Arevalo (Sunnyvale, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F12/0253G06F2212/1044G06F2212/1048G06F2212/154
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,068,390
App. No.
16/265,491
Granted
Jul 20, 2021
Kind
B2
Abstract

Systems and methods for cleaning a storage system. A deduplicated storage system is cleaned by identifying structures that include dead or unreferenced segments. This includes processing recipes to identify the segments that are no longer part of a live object recipe. Then, the dead segments are removed. This is accomplished by copying forward the live segments and then deleting, as a whole, the structure that included the dead segments.

Claims (32)

1. A method for cleaning deleted objects from a storage system, the method comprising:

identifying impacted similarity groups that are impacted by a garbage collection operation, wherein the impacted similarity groups include segments associated with deleted objects and segments associated with live objects;

determining sizes of the impacted similarity groups individually and determining a size of all the impacted similarity groups;

determining a number of workers to perform the garbage collection operation that cleans the deleted objects stored in the storage system from objects stored in the storage system based on the sizes of the impacted similarity groups individually and a size of all the impacted similarity groups;

assigning each of the workers a range of the impacted similarity groups based on the sizes Impacted similarity groups and the size of ail the impacted similarity groups;

identifying live segments in the impacted similarity groups associated with the live objects;

removing the segments associated with the deleted objects;

updating the impacted similarity groups to reflect the segments associated with the deleted objects have been removed.

2. The method of claim 1 , further comprising initiating a controller to control the garbage collection operation, wherein the controller controls the workers.

3. The method of claim 1 , wherein removing the segments associated with the deleted objects includes copying the segments associated with the live objects to a new structure such that the new structure does not store the segments that are no longer referenced by live objects.

4. The method of claim 3 , further comprising deleting a structure storing the segments associated with deleted objects and the segments associated with the live objects after the new structure is completed.

5. The method of claim 1 , further estimating the number of workers by accounting for one or more factors that include an environment variable setting the number of workers, a memory allocation of each worker, Input/Output operations, or throughput.

6. The method of claim 1 , wherein an object recipe includes slice recipes and each slice recipe is associated with a similarity group.

7. The method of claim 1 , further comprising identifying the impacted similarity groups and similarity subgroups.

8. The method of claim 7 , further comprising retrieving records corresponding to the deleted objects, wherein the records identify at least object recipes for the impacted similarity groups and similarity subgroups and wherein the impacted similarity groups are identified from slice recipes associated with the object recipes.

9. The method of claim 7 , further comprising recording the sizes of the impacted similarity groups.

10. The method of claim 1 , further comprising write locking at least impacted subgroups of the impacted similarity groups in order to support the garbage collection operation concurrently with other operations.

11. A non-transitory computer readable medium comprising computer executable instructions that, when executed, perform the method of claim 1 .

12. A method for cleaning deleted objects from a deduplicated storage system, wherein the deduplicated storage system stores objects using an object recipe that references slice recipes, wherein the slice recipes reference similarity groups and wherein the similarity groups reference compression regions, wherein segments of objects in the deduplicated storage system are stored in the compression regions, the method comprising:

performing a startup phase of a garbage collection operation in order to instantiate a controller, wherein the garbage collection operation cleans unreferenced segments from the deduplicated storage system;

determining impacted similarity groups in the deduplicated storage system that are associated with the unreferenced segments, wherein the impacted similarity groups are associated with the unreferenced segments and live segments;

estimating a number of workers, by the controller, needed to perform the garbage collection operation based on a number of the Impacted similarity groups, worker capacity, a size of each of the Impacted similarity groups Individually, and a size of all the impacted similarity groups;

marking the live segments in the impacted similarity groups;

removing the unreferenced segments; and

updating the impacted similarity groups to reflect the unreferenced segments associated with the deleted objects have been removed.

13. The method of claim 12 , further comprising removing the unreferenced segments by copying forward the live segments from an existing compression region to a new compression region, wherein the unreferenced segments in the existing compression region are not copied into the new compression region.

14. The method of claim 12 , further comprising determining the impacted similarity groups based on deletion records.

15. The method of claim 14 , wherein the deletion records are stored in a deletion bucket of the deduplicated storage system and wherein the deletion records include at least the object recipe.

16. The method of claim 15 , further comprising determining the impacted similarity groups based on slice recipes included in or referenced by the object recipe.

17. The method of claim 12 , further comprising partitioning the impacted similarity groups to the workers, wherein each worker receives a range of the impacted similarity groups based at least in part on anticipated sizes and identifiers of the impacted similarity groups.

18. The method of claim 12 , further comprising write locking the impacted similarity groups such that the garbage collection operation and other operations can occur concurrently.

19. A non-transitory computer readable medium including computer executable instructions for performing the method of claim 12 .

Assignments (7)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2020
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054115/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2020
From: AREVALO, MARIAH
To: EMC CORPORATION
Reel/Frame 054114/0551 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2019
From: LU, KIMBERLY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048241/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: SHILANE, PHILIP; BRANDT, JOSEPH S.; NOTO, NICHOLAS A.; TRUONG, TIPPER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048221/0689 →