Apparatus, system, and method for enhanced block-level deduplication
First Claim
1. A computer program product comprising a computer readable storage medium having computer usable program code executable by a processor to perform operations for enhanced block-level deduplication, the operations comprising:
- storing one or more express block signatures in an express directory, the one or more express block signatures comprising block signatures for data blocks meeting a reference count requirement, the one or more express block signatures corresponding to one or more data blocks received by a storage device, the reference count requirement comprising a minimum number of references to a particular data block for inclusion of a block signature for the particular data block in the express directory;
storing one or more primary block signatures and one or more reference counts for the primary block signatures in a primary directory, the one or more primary block signatures corresponding to the one or more data blocks, the primary block signatures comprising block signatures having a reference count below the reference count requirement, the primary directory distinct from the express directory; and
determining whether a block signature for a data block matches one of the one or more express block signatures stored in the express directory as the data block is received by a storage device.
4 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for enhanced block-level deduplication. A computer program product stores one or more express block signatures in an express directory that meet a reference count requirement. The computer program product also stores one or more primary block signatures and one or more reference counts for the primary block signatures in a primary directory. Each primary block signature has a corresponding reference count. The computer program product determines whether a block signature for a data block matches one of the one or more express block signatures stored in the express directory.
-
Citations
20 Claims
-
1. A computer program product comprising a computer readable storage medium having computer usable program code executable by a processor to perform operations for enhanced block-level deduplication, the operations comprising:
-
storing one or more express block signatures in an express directory, the one or more express block signatures comprising block signatures for data blocks meeting a reference count requirement, the one or more express block signatures corresponding to one or more data blocks received by a storage device, the reference count requirement comprising a minimum number of references to a particular data block for inclusion of a block signature for the particular data block in the express directory; storing one or more primary block signatures and one or more reference counts for the primary block signatures in a primary directory, the one or more primary block signatures corresponding to the one or more data blocks, the primary block signatures comprising block signatures having a reference count below the reference count requirement, the primary directory distinct from the express directory; and determining whether a block signature for a data block matches one of the one or more express block signatures stored in the express directory as the data block is received by a storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for enhanced block-level deduplication, the apparatus comprising:
-
a processor; a memory in communication with the processor; an express directory module configured to store one or more express block signatures in an express directory, the one or more express block signatures comprising block signatures for data blocks meeting a reference count requirement, the one or more express block signatures corresponding to one or more data blocks received by a storage device, the reference count requirement comprising a minimum number of references to a particular data block for inclusion of a block signature for the particular data block in the express directory; a primary directory module configured to store one or more primary block signatures and one or more reference counts for the primary block signatures in a primary directory, the one or more primary block signatures corresponding to the one or more data blocks, the primary block signatures comprising block signatures having a reference count below the reference count requirement, the primary directory distinct from the express directory; a block signature module configured to compute a block signature of a data block as the data block is received by a storage device; and a signature comparison module configured to determine whether the block signature for the data block matches one of the one or more express block signatures stored in the express directory. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for enhanced block-level deduplication, the method comprising:
-
storing one or more express block signatures in an express directory, the one or more express block signatures comprising block signatures for data blocks meeting a reference count requirement, the one or more express block signatures corresponding to one or more data blocks received by a storage device, the reference count requirement comprising a minimum number of references to a particular data block for inclusion of a block signature for the particular data block in the express directory, the express directory implemented on memory; storing one or more primary block signatures and one or more reference counts for the primary block signatures in a primary directory, the one or more primary block signatures corresponding to the one or more data blocks, the primary block signatures comprising block signatures having a reference count below the reference count requirement, the primary directory distinct from the express directory; computing the block signature of the data block as the data block is received by a storage device before the data block is written to a storage disk of the storage device so long as resource usage of the storage device is below a resource threshold; and determining by a computer whether a block signature for a data block matches one of the one or more express block signatures stored in the express directory. - View Dependent Claims (17, 18, 19, 20)
-
Specification