US 9,811,551 B1
Utilizing multiple fingerprint tables in a deduplicating storage system
John Colgrove, Los Altos, CA (US); John Hayes, Mountain View, CA (US); Ethan Miller, Santa Cruz, CA (US); Joseph S. Hasbani, Palo Alto, CA (US); and Cary Sandvig, Palo Alto, CA (US)
Assigned to Pure Storage, Inc., Mountain View, CA (US)
Filed by Pure Storage, Inc., Mountain View, CA (US)
Filed on Jun. 25, 2015, as Appl. No. 14/751,099.
Application 14/751,099 is a continuation of application No. 14/083,152, filed on Nov. 18, 2013, granted, now 9,069,786.
Application 14/083,152 is a continuation of application No. 13/273,858, filed on Oct. 14, 2011, granted, now 8,589,640, issued on Nov. 19, 2013.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 12/00 (2006.01); G06F 17/30 (2006.01); G06F 3/06 (2006.01)
CPC G06F 17/30371 (2013.01) [G06F 3/067 (2013.01); G06F 3/0619 (2013.01); G06F 3/0637 (2013.01); G06F 17/30952 (2013.01)] 20 Claims
OG exemplary drawing
 
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.