System and method for scalable reference management in a deduplication based storage system
First Claim
1. A system for managing data storage, comprising:
- a storage device configured to store file data as 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, the storage objects representing a partitioned portion of a file;
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 (1) detecting deletion of a given file that references an object within a particular storage container of the storage containers, and (2) determining a number of files referencing the particular container has not fallen to a threshold level, the server is configured to update a storage container reference list of the particular container 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 reference list identifies which backups of the backups include a file that reference a segment object within the given storage container.
7 Assignments
0 Petitions
Accused Products
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.
-
Citations
20 Claims
-
1. A system for managing data storage, comprising:
-
a storage device configured to store file data as 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, the storage objects representing a partitioned portion of a file; 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 (1) detecting deletion of a given file that references an object within a particular storage container of the storage containers, and (2) determining a number of files referencing the particular container has not fallen to a threshold level, the server is configured to update a storage container reference list of the particular container 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 reference list identifies which backups of the backups include a file that reference a segment object within the given storage container. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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, the storage objects representing a partitioned portion of a file; 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 (1) detecting deletion of a given file that references an object within a particular storage container of the storage containers and (2) determining a number of files referencing the particular container has not fallen to a threshold level; wherein subsets of the plurality of files are grouped into backups, and wherein for each of the storage containers the storage container reference list identifies which backups of the backups include a file that reference a segment object within the given storage container. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A 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, the storage objects representing a partitioned portion of a file; 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 (1) detecting deletion of a given file that references an object within a particular storage container of the storage containers and (2) determining a number of files referencing the particular container has not fallen to a threshold level; wherein subsets of the plurality of files are grouped into backups, and wherein for each of the storage containers the storage container reference list identifies which backups of the backups include a file that reference a segment object within the given storage container. - View Dependent Claims (15, 16, 17)
-
-
18. A system for managing data storage, comprising:
-
a storage device configured to store file data as 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, the storage objects representing a partitioned portion of a file; 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 (1) detecting deletion of a given file that references an object within a particular storage container of the storage containers, and (2) determining a number of files referencing the particular container has not fallen to a threshold level, the server is configured to update a storage container reference list of the particular container by removing from the storage container reference list an identification of the given file; 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.
-
-
19. 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, the storage objects representing a partitioned portion of a file; 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 (1) detecting deletion of a given file that references an object within a particular storage container of the storage containers and (2) determining a number of files referencing the particular container has not fallen to a threshold level; 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.
-
-
20. A 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, the storage objects representing a partitioned portion of a file; 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 (1) detecting deletion of a given file that references an object within a particular storage container of the storage containers and (2) determining a number of files referencing the particular container has not fallen to a threshold level; 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.
-
Specification