IP Library Granted Patent US 8,782,011
Granted Patent B2
US 8,782,011 · App. 13/784,096 · Granted Jul 15, 2014

System and method for scalable reference management in a deduplication based storage system

Inventor: Fanglu Guo (Los Angeles, CA)
Assignee: Symantec Corporation
G06F17/30138G06F12/0253G06F11/1448
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 8,782,011
App. No.
13/784,096
Filed
Mar 4, 2013
Granted
Jul 15, 2014
Kind
B2
Examiner
LY, ANH
Art Unit
2162
USPC
707/664
Abstract

A system and method for managing a resource reclamation reference list at a coarse level. A storage device is configured to store a plurality of storage objects in a plurality of storage containers, each of said storage containers being configured to store a plurality of said storage objects. A storage container reference list is maintained, wherein for each of the storage containers the storage container reference list identifies which files of a plurality of files reference a storage object within a given storage container. In response to detecting deletion of a given file that references an object within a particular storage container of the storage containers, a server is configured to update the storage container reference list by removing from the storage container reference list an identification of the given file. A reference list associating segment objects with files that reference those segment objects may not be updated response to the deletion.

Claims (29)

1. A system for managing data storage, comprising:

a storage device configured to store a plurality of storage objects in a plurality of storage containers, each of said storage containers being configured to store a plurality of said storage objects;

a storage container reference list, wherein for each of the storage containers the storage container reference list identifies which files of a plurality of files reference a storage object within a given storage container; and

a server, wherein in response to detecting deletion of a given file that references an object within a particular storage container of the storage containers, the server is configured to update the storage container reference list by removing from the storage container reference list an identification of the given file;

wherein subsets of the plurality of files are grouped into backups, and wherein for each of the storage containers the storage container list identifies which backups of the backups include a file that reference a segment object within the given storage container.

2. The system as recited in claim 1 , wherein the server is further configured to maintain a segment object reference list, wherein for a given segment object stored in the storage device, the segment object reference list identifies which files of the plurality of files reference the given segment object.

3. The system as recited in claim 2 , wherein in response to determining a number of files referencing a given container has fallen to a threshold level, the server is configured to update the segment object reference list instead of the container reference list responsive to detecting a file deletion.

4. The system as recited in claim 3 , wherein when updating the segment object reference list, the server is configured to delete from the segment object reference list entries for segment objects referenced by the given file.

5. The system as recited in claim 3 , wherein the server is further configured to determine a value of the threshold based at least in part on storage utilization of the storage device and a size of the storage container reference list.

6. The system as recited in claim 2 , wherein in response to detecting said deletion, the server does not update the segment object reference list.

7. The system as recited in claim 1 , wherein the storage container reference list includes entries associated with a group of containers at a coarse level, with a separate coarse level entry for each file that references at least one segment object stored within said group of containers.

8. A computer implemented method comprising:

storing in a storage device a plurality of storage objects in a plurality of storage containers, each of said storage containers being configured to store a plurality of said storage objects;

maintaining a storage container reference list, wherein for each of the storage containers the storage container reference list identifies which files of a plurality of files reference a storage object within a given storage container; and

removing from the storage container reference list an identification of the given file, in response to detecting deletion of a given file that references an object within a particular storage container of the storage containers;

wherein subsets of the plurality of files are grouped into backups, and wherein for each of the storage containers the storage container list identifies which backups of the backups include a file that reference a segment object within the given storage container.

9. The method as recited in claim 8 , further comprising maintaining a segment object reference list, wherein for a given segment object stored in the storage device, the segment object reference list identifies which files of the plurality of files reference the given segment object.

10. The method as recited in claim 9 , wherein in response to determining a number of files referencing a given container has fallen to a threshold level, the method comprises updating the segment object reference list instead of the container reference list responsive to detecting a file deletion.

11. The method as recited in claim 10 , wherein when updating the segment object reference list, the method comprises deleting from the segment object reference list entries for segment objects referenced by the given file.

12. The method as recited in claim 9 , wherein in response to detecting said deletion, the method does not update the segment object reference list.

13. The method as recited in claim 8 , wherein the storage container reference list includes entries associated with a group of containers at a coarse level, with a separate coarse level entry for each file that references at least one segment object stored within said group of containers.

14. A non-transitory computer readable storage medium comprising program instructions, wherein when executed the program instructions are operable to:

store in a storage device a plurality of storage objects in a plurality of storage containers, each of said storage containers being configured to store a plurality of said storage objects;

maintain a storage container reference list, wherein for each of the storage containers the storage container reference list identifies which files of a plurality of files reference a storage object within a given storage container; and

remove from the storage container reference list an identification of the given file, in response to detecting deletion of a given file that references an object within a particular storage container of the storage containers;

wherein subsets of the plurality of files are grouped into backups, and wherein for each of the storage containers the storage container list identifies which backups of the backups include a file that reference a segment object within the given storage container.

15. The non-transitory computer readable storage medium as recited in claim 14 , wherein when executed the program instructions are further operable to maintain a segment object reference list, wherein for a given segment object stored in the storage device, the segment object reference list identifies which files of the plurality of files reference the given segment object.

16. The non-transitory computer readable storage medium as recited in claim 15 , wherein in response to determining a number of files referencing a given container has fallen to a threshold level, the program instructions are further operable to update the segment object reference list instead of the container reference list responsive to detecting a file deletion.

17. The non-transitory computer readable storage medium as recited in claim 14 , wherein in response to detecting said deletion and determining the number of files referencing the given container has not fallen to said threshold, the segment object reference list is not updated.

Assignments (12)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
Continuity (2)
Continuation 12875815 · Sep 3, 2010
Related Publication 20130185259A1 · Jul 18, 2013