US 12,277,106 B2
Flash system having multiple fingerprint tables
John Colgrove, Los Altos, CA (US); Joseph S. Hasbani, Palo Alto, CA (US); John Hayes, Mountain View, CA (US); Ethan Miller, Santa Cruz, CA (US); and Cary Sandvig, Isle La Motte, VT (US)
Assigned to PURE STORAGE, INC., Santa Clara, CA (US)
Filed by PURE STORAGE, INC., Mountain View, CA (US)
Filed on May 3, 2023, as Appl. No. 18/311,645.
Application 18/311,645 is a continuation of application No. 17/727,346, filed on Apr. 22, 2022, granted, now 11,650,976.
Application 17/727,346 is a continuation of application No. 16/114,027, filed on Aug. 27, 2018, granted, now 10,540,343, issued on Jan. 21, 2020.
Application 16/114,027 is a continuation of application No. 15/803,510, filed on Nov. 3, 2017, granted, now 10,061,798, issued on Aug. 28, 2018.
Application 15/803,510 is a continuation of application No. 14/751,099, filed on Jun. 25, 2015, granted, now 9,811,551, issued on Nov. 7, 2017.
Application 14/751,099 is a continuation of application No. 14/083,152, filed on Nov. 18, 2013, granted, now 9,069,786, issued on Jun. 30, 2015.
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.
Prior Publication US 2023/0273916 A1, Aug. 31, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/23 (2019.01); G06F 3/06 (2006.01); G06F 16/174 (2019.01); G06F 16/901 (2019.01)
CPC G06F 16/2365 (2019.01) [G06F 3/0608 (2013.01); G06F 3/0619 (2013.01); G06F 3/0637 (2013.01); G06F 3/0641 (2013.01); G06F 3/067 (2013.01); G06F 3/0689 (2013.01); G06F 16/1748 (2019.01); G06F 16/1752 (2019.01); G06F 16/9017 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A storage system comprising:
a storage device;
a plurality of fingerprint tables comprising one or more entries corresponding to data stored in the storage device, the one or more entries having a corresponding probability of the data being deduplicated and wherein the one or more entries are added to a particular fingerprint table of the plurality of fingerprint tables that stores entries having a range of probabilities that the corresponding probability falls within; and
a storage controller communicatively coupled to the storage device, the storage controller configured to:
determine that an event has occurred; and
modify one of the plurality of fingerprint tables.