Utilizing multiple fingerprint tables in a deduplicating storage system
First Claim
1. A computer system comprising:
- a storage device;
a data storage controller coupled to the storage device, the controller configured to;
for each of a plurality of data objects stored in the storage device, determine, based on one or more attributes corresponding to usage of the data object, a probability of the data object being deduplicated;
store within a first fingerprint table, fingerprints of data objects with the highest probability of being deduplicated;
store within a second fingerprint table, fingerprints of data objects with a lower probability of being deduplicated than the data objects having fingerprints stored in the first fingerprint table; and
search fingerprints of the first fingerprint table to determine whether a fingerprint for a data object associated with a write request matches a fingerprint for any of the data objects in the first fingerprint table.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for managing fingerprint tables in deduplicating storage systems. A computer system includes a storage device and a data storage controller coupled to the storage device. The controller is configured to for each of a plurality of data objects stored in a storage device, determine, based on one or more attributes corresponding to usage of the data object, a probability of the data object being deduplicated; store within a first fingerprint table, fingerprints of data objects with the highest probability of being deduplicated; store within a second fingerprint table, fingerprints of data objects with a lower probability of being deduplicated than the data objects having fingerprints stored in the first fingerprint table; and search fingerprints of the first fingerprint table to determine whether a fingerprint for a data object associated with a write request matches a fingerprint for any of the data objects in the first fingerprint table.
134 Citations
20 Claims
-
1. A computer system comprising:
-
a storage device; a data storage controller coupled to the storage device, the controller configured to; for each of a plurality of data objects stored in the storage device, determine, based on one or more attributes corresponding to usage of the data object, a probability of the data object being deduplicated; store within a first fingerprint table, fingerprints of data objects with the highest probability of being deduplicated; store within a second fingerprint table, fingerprints of data objects with a lower probability of being deduplicated than the data objects having fingerprints stored in the first fingerprint table; and search fingerprints of the first fingerprint table to determine whether a fingerprint for a data object associated with a write request matches a fingerprint for any of the data objects in the first fingerprint table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
for each of a plurality of data objects stored in a storage device, determining, based on one or more attributes corresponding to usage of the data object, a probability of the data object being deduplicated; storing within a first fingerprint table, fingerprints of data objects with the highest probability of being deduplicated; storing within a second fingerprint table, fingerprints of data objects with a lower probability of being deduplicated than the data objects having fingerprints stored in the first fingerprint table; and searching fingerprints of the first fingerprint table to determine whether a fingerprint for a data object associated with a write request matches a fingerprint for any of the data objects in the subset. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable storage medium comprising program instructions, wherein said program instructions are executable to:
-
for each of a plurality of data objects stored in a storage device, determine, based on one or more attributes corresponding to usage of the data object, a probability of the data object being deduplicated; store within a first fingerprint table, fingerprints of data objects with the highest probability of being deduplicated; store within a second fingerprint table, fingerprints of data objects with a lower probability of being deduplicated than the data objects having fingerprints stored in the first fingerprint table; and search fingerprints of the first fingerprint table to determine whether a fingerprint for a data object associated with a write request matches a fingerprint for any of the data objects in the first fingerprint table. - View Dependent Claims (17, 18, 19, 20)
-
Specification