Method and apparatus for on-disk deduplication metadata for a deduplication file system
First Claim
1. A method comprising:
- reading deduplication metadata from a first memory of a deduplication computing system, wherein the deduplication metadata comprises a deduplication metadata hash table, wherein the deduplication metadata hash table comprises a plurality of slots with deduplication metadata entries distributed among the plurality of slots based on unique identifiers from the deduplication metadata entries, and wherein the at least a portion of the unique identifiers are mask values each comprising a lower portion of bits of a unique identifier, and wherein the mask value is an index to the slots of the deduplication metadata table;
maintaining deduplicated data for a file system of the deduplication computing system in a second memory;
maintaining the deduplication metadata that describes the deduplicated data of the file system in the first memory of the deduplication computing system, wherein the first memory is a different type of memory and separated from the second memory in the deduplication computing system;
in response to receipt of a request by the deduplication computing system to perform a first operation with deduplicated data of the file system in the second memory, accessing the deduplication metadata in the first memory;
dynamically resizing the deduplication metadata hash table to a new size based on one or more runtime conditions associated with an amount of utilization of the deduplication metadata hash table at runtime;
allocating or deallocating slots for the deduplication metadata hash table based on the new size; and
redistributing deduplication metadata entries to slots of the deduplication metadata hash table based on mask values associated with unique identifiers from the deduplication metadata entries.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is disclosed herein for maintaining deduplication metadata on disk separate from an in-memory deduplication file system for a deduplication computing system. The method may include reading deduplication metadata from a first memory of a deduplication computing system. Furthermore, the method may include maintaining deduplicated data for a file system in a second memory, and maintaining the deduplication metadata that describes the deduplicated data of the file system in the first memory of the deduplication computing system, wherein the first memory is a different type of memory and separated from the second memory in the deduplication computing system. Furthermore, the method may include accessing the deduplication metadata in the second memory in response to receipt of a request by the deduplication computing system to perform a first operation with deduplicated data of the file system in the second memory.
-
Citations
26 Claims
-
1. A method comprising:
-
reading deduplication metadata from a first memory of a deduplication computing system, wherein the deduplication metadata comprises a deduplication metadata hash table, wherein the deduplication metadata hash table comprises a plurality of slots with deduplication metadata entries distributed among the plurality of slots based on unique identifiers from the deduplication metadata entries, and wherein the at least a portion of the unique identifiers are mask values each comprising a lower portion of bits of a unique identifier, and wherein the mask value is an index to the slots of the deduplication metadata table; maintaining deduplicated data for a file system of the deduplication computing system in a second memory; maintaining the deduplication metadata that describes the deduplicated data of the file system in the first memory of the deduplication computing system, wherein the first memory is a different type of memory and separated from the second memory in the deduplication computing system; in response to receipt of a request by the deduplication computing system to perform a first operation with deduplicated data of the file system in the second memory, accessing the deduplication metadata in the first memory; dynamically resizing the deduplication metadata hash table to a new size based on one or more runtime conditions associated with an amount of utilization of the deduplication metadata hash table at runtime; allocating or deallocating slots for the deduplication metadata hash table based on the new size; and redistributing deduplication metadata entries to slots of the deduplication metadata hash table based on mask values associated with unique identifiers from the deduplication metadata entries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An article of manufacture having one or more non-transitory computer readable storage media storing executable instructions thereon which when executed cause a system to perform a method comprising:
-
reading deduplication metadata from a first memory of a deduplication computing system, wherein the deduplication metadata comprises a deduplication metadata hash table, wherein the deduplication metadata hash table comprises a plurality of slots with deduplication metadata entries distributed among the plurality of slots based on unique identifiers from the deduplication metadata entries, and wherein the at least a portion of the unique identifiers are mask values each comprising a lower portion of bits of a unique identifier, and wherein the mask value is an index to the slots of the deduplication metadata table; maintaining deduplicated data for a file system of the deduplication computing system in a second memory; maintaining the deduplication metadata that describes the deduplicated data of the file system in the first memory of the deduplication computing system, wherein the first memory is a different type of memory and separated from the second memory in the deduplication computing system; in response to receipt of a request by the deduplication computing system to perform a first operation with deduplicated data of the file system in the second memory, accessing the deduplication metadata in the first memory; dynamically resizing the deduplication metadata hash table to a new size based on one or more runtime conditions associated with an amount of utilization of the deduplication metadata hash table at runtime; allocating or deallocating slots for the deduplication metadata hash table based on the new size; and redistributing deduplication metadata entries to slots of the deduplication metadata hash table based on mask values associated with unique identifiers from the deduplication metadata entries. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A deduplication computing system comprising:
-
a first memory to store deduplication metadata; a second memory to store deduplicated data; and a processor coupled with the first memory and the second memory to read the deduplication metadata from the first memory, wherein the deduplication metadata comprises a deduplication metadata hash table, wherein the deduplication metadata hash table comprises a plurality of slots with deduplication metadata entries distributed among the plurality of slots based on unique identifiers from the deduplication metadata entries, and wherein the at least a portion of the unique identifiers are mask values each comprising a lower portion of bits of a unique identifier, and wherein the mask value is an index to the slots of the deduplication metadata table, maintain the deduplicated data for a file system of the deduplication computing system in the second memory, maintain the deduplication metadata that describes the deduplicated data of the file system in the first memory of the deduplication computing system, wherein the first memory is a different type of memory and separated from the second memory in the deduplication computing system, in response to receipt of a request by the deduplication computing system to perform a first operation with deduplicated data of the file system in the second memory, access the deduplication metadata in the first memory; dynamically resize the deduplication metadata hash table to a new size based on one or more runtime conditions associated with an amount of utilization of the deduplication metadata hash table at runtime; allocating or deallocating slots for the deduplication metadata hash table based on the new size; and redistributing deduplication metadata entries to slots of the deduplication metadata hash table based on mask values associated with unique identifiers from the deduplication metadata entries. - View Dependent Claims (24, 25, 26)
-
Specification