IP Library › Granted Patent US 11,048,591
Granted Patent B1
US 11,048,591 · App. 16/590,589 · Granted Jun 29, 2021

Efficient name space organization in a global name space cluster

Inventors: Murthy Mamidi (San Jose, CA); George Mathew (Belmont, CA); Abhishek Rajimwale (San Jose, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1448G06F3/067G06F3/0608G06F3/0631G06F3/0644G06F11/1458G06F12/0253G06F16/2246G06F16/24556
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,048,591
App. No.
16/590,589
Filed
Oct 2, 2019
Granted
Jun 29, 2021
Kind
B1
Art Unit
2181
USPC
711/162
Abstract

Described is a system for reclaiming unused storage space when distributing backup data to storage performance-based tiers within a clustered storage environment. The clustered storage environment may organize nodes into storage performance tiers, and each node within a tier may be tuned for a particular type of workload. Accordingly, the system implements a file system that provides the ability to reclaim unused storage space (e.g. perform garbage collection) for specific nodes or tiers independently despite implementing a global namespace. The global namespace may group (or co-locate) aspects of file information with the backup files. For example, file information may be stored on the same node that stores the associated backup files. Accordingly, the system may reclaim unused storage space for each node, or set of nodes forming a storage performance tier, independently and efficiently.

Claims (49)

1. A system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

receive, at a clustered storage environment, backup data and a tier identifier associated with the backup data, the clustered storage environment including a set of nodes organized into a set of storage performance tiers, each of the nodes storing a storage allocation map for backup files stored by the node;

store the backup data as part of a first backup file within a first node of a first storage performance tier, in response to determining the first storage performance tier is identified by the tier identifier;

update the storage allocation map of the first node, in response to storing the backup data as part of the first backup file;

receive an indication to reclaim unused storage space within the clustered storage environment, the indication specifying unused storage space only within the first storage performance tier;

identify, for at least the first node independently, the unused storage space associated with the backup files stored within the first node by accessing the storage allocation map; and

reclaim the unused storage space associated with the first backup file, in response to identifying at least the first backup file is associated with the unused storage space.

2. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

store first file information created for the first backup file within a global namespace stored by a specialized node; and

store the received tier identifier as part of the first file information for the first backup file.

3. The system of claim 2 , wherein identifying the unused storage space within the first node by accessing the storage allocation map is performed without accessing the specialized node.

4. The system of claim 1 , wherein the first storage performance tier includes the first node and a second node.

5. The system of claim 4 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

identify, for at least the second node independently and in parallel with the first node, unused storage space associated with the backup files stored within the second node by accessing a storage allocation map of the second node.

6. The system of claim 1 , wherein the file information for backup files stored within the nodes of each storage performance tier are stored as an independent component of the global namespace, the global namespace is represented as a B+ tree data structure, and the independent component of the global namespace includes a branch of the B+ tree.

7. The system of claim 1 , wherein the set of storage performance tiers includes at least a storage performance tier storing deduplicated data, and a storage performance tier storing non-deduplicated data.

8. The system of claim 7 , wherein storing the backup data as part of the first backup file within the first node of the first storage performance tier includes storing the backup data directly to the first backup file without performing a deduplication processing, in response to determining the storage performance tier storing non-deduplicated data is identified by the tier identifier as the first storage performance tier.

9. A method comprising:

receiving, at a clustered storage environment, backup data and a tier identifier associated with the backup data, the clustered storage environment including a set of nodes organized into a set of storage performance tiers, each of the nodes storing a storage allocation map for backup files stored by the node;

storing, by the clustered storage environment, the backup data as part of a first backup file within a first node of a first storage performance tier, in response to determining the first storage performance tier is identified by the tier identifier;

updating the storage allocation map of the first node, in response to storing the backup data as part of the first backup file;

receiving an indication to reclaim unused storage space within the clustered storage environment, the indication specifying unused storage space only within the first storage performance tier;

identifying, for at least the first node independently, the unused storage space associated with the backup files stored within the first node by accessing the storage allocation map; and

reclaiming the unused storage space associated with the first backup file, in response to identifying at least the first backup file is associated with the unused storage space.

10. The method of claim 9 , further comprising:

storing first file information created for the first backup file within a global namespace stored by a specialized node; and

storing the received tier identifier as part of the first file information for the first backup file.

11. The method of claim 10 , wherein identifying the unused storage space within the first node by accessing the storage allocation map is performed without accessing the specialized node.

12. The method of claim 9 , wherein the first storage performance tier includes the first node and a second node.

13. The method of claim 12 , further comprising:

identifying, for at least the second node independently and in parallel with the first node, unused storage space associated with the backup files stored within the second node by accessing a storage allocation map of the second node.

14. The method of claim 9 , wherein the file information for backup files stored within the nodes of each storage performance tier are stored as an independent component of the global namespace, the global namespace is represented as a B+ tree data structure, and the independent component of the global namespace includes a branch of the B+ tree.

15. A computer program product comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

receive, at a clustered storage environment, backup data and a tier identifier associated with the backup data, the clustered storage environment including a set of nodes organized into a set of storage performance tiers, each of the nodes storing a storage allocation map for backup files stored by the node;

store the backup data as part of a first backup file within a first node of a first storage performance tier, in response to determining the first storage performance tier is identified by the tier identifier;

update the storage allocation map of the first node, in response to storing the backup data as part of the first backup file;

receive an indication to reclaim unused storage space within the clustered storage environment, the indication specifying reclaiming unused storage space only within the first storage performance tier;

identify, for at least the first node independently, the unused storage space associated with the backup files stored within the first node by accessing the storage allocation map; and

reclaim the unused storage space associated with the first backup file, in response to identifying at least the first backup file is associated with the unused storage space.

16. The computer program product of claim 15 , wherein the program code includes further instructions to:

store first file information created for the first backup file within a global namespace stored by a specialized node; and

store the received tier identifier as part of the first file information for the first backup file.

17. The computer program product of claim 16 , wherein identifying the unused storage space within the first node by accessing the storage allocation map is performed without accessing the specialized node.

18. The computer program product of claim 15 , wherein the first storage performance tier includes the first node and a second node.

19. The computer program product of claim 18 , wherein the program code includes further instructions to:

identify, for at least the second node independently and in parallel with the first node, unused storage space associated with the backup files stored within the second node by accessing a storage allocation map of the second node.

20. The computer program product of claim 15 , wherein the file information for backup files stored within the nodes of each storage performance tier are stored as an independent component of the global namespace, the global namespace is represented as a B+ tree data structure, and the independent component of the global namespace includes a branch of the B+ tree.

Assignments (9)
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 (051302/0528) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) 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 CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: MAMIDI, MURTHY; MATHEW, GEORGE; RAJIMWALE, ABHISHEK
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050600/0608 →
Cited By (2)
US 12,307,298 US 12,353,290