US 12,141,058 B2
Low latency reads using cached deduplicated data
John Colgrove, Los Altos, CA (US); John Hayes, Mountain View, CA (US); Ethan Miller, Santa Cruz, CA (US); and Feng Wang, Los Altos, CA (US)
Assigned to PURE STORAGE, INC., Santa Clara, CA (US)
Filed by PURE STORAGE, INC., Mountain View, CA (US)
Filed on Apr. 24, 2023, as Appl. No. 18/306,205.
Application 18/306,205 is a continuation of application No. 17/360,791, filed on Jun. 28, 2021, granted, now 11,636,031.
Application 17/360,791 is a continuation in part of application No. 15/255,726, filed on Sep. 2, 2016, abandoned.
Application 15/255,726 is a continuation of application No. 14/477,470, filed on Sep. 4, 2014, granted, now 9,454,477, issued on Sep. 27, 2016.
Application 14/477,470 is a continuation of application No. 14/312,088, filed on Jun. 23, 2014, granted, now 9,454,476, issued on Sep. 27, 2016.
Application 14/477,470 is a continuation of application No. 14/160,137, filed on Jan. 21, 2014, granted, now 8,856,489, issued on Oct. 7, 2014.
Application 14/160,137 is a continuation of application No. 13/289,765, filed on Nov. 4, 2011, granted, now 8,645,664, issued on Feb. 4, 2014.
Application 14/312,088 is a continuation of application No. 13/208,094, filed on Aug. 11, 2011, granted, now 8,788,788, issued on Jul. 22, 2014.
Application 13/289,765 is a continuation of application No. 13/208,094, filed on Aug. 11, 2011, granted, now 8,788,788, issued on Jul. 22, 2014.
Prior Publication US 2023/0259454 A1, Aug. 17, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 12/10 (2016.01); G06F 3/06 (2006.01); G06F 12/02 (2006.01); G06F 12/0802 (2016.01); G06F 12/1009 (2016.01)
CPC G06F 12/0246 (2013.01) [G06F 3/0608 (2013.01); G06F 3/061 (2013.01); G06F 3/0638 (2013.01); G06F 3/0665 (2013.01); G06F 3/067 (2013.01); G06F 12/0802 (2013.01); G06F 12/1009 (2013.01); G06F 2212/50 (2013.01); G06F 2212/7201 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving a request to read data from a storage system;
querying, using a query value associated with the request to read data, one or more deduplication tables that corresponds to the query value, including searching a cached portion of a deduplication data structure, wherein the deduplication data structure also includes a non-cached portion that is not searched; and
responsive to determining that the one or more deduplication tables includes an entry that corresponds to the query value, using a mapping contained in the entry to perform the request to read data, wherein the mapping includes a pointer to a physical location where at least a portion of the data is stored.