US 12,229,056 B2
Caching techniques using a mapping cache and maintaining cache coherency using hash values
Ashok Tamilarasan, Shrewsbury, MA (US); Vamsi K. Vankamamidi, Hopkinton, MA (US); and Amitai Alkalay, Kadima (IL)
Assigned to Dell Products L.P., Hopkinton, MA (US)
Filed by Dell Products L.P., Hopkinton, MA (US)
Filed on Mar. 8, 2023, as Appl. No. 18/118,946.
Prior Publication US 2024/0303200 A1, Sep. 12, 2024
Int. Cl. G06F 12/1018 (2016.01); G06F 12/02 (2006.01); G06F 12/06 (2006.01)
CPC G06F 12/1018 (2013.01) [G06F 12/0253 (2013.01); G06F 12/063 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving, from a host, a read I/O operation requesting to read from a first logical address;
determining whether a mapping cache includes a first descriptor corresponding to the first logical address; and
responsive to determining that the mapping cache includes the first descriptor corresponding to the first logical address, performing read hit mapping cache processing including:
obtaining first physical location information from the first descriptor, wherein the first physical location information identifies a first physical location on non-volatile storage including first content stored at the first logical address;
reading, using the first physical location information, the first content from the first physical location;
performing validation processing to validate the first content using a first hash value included in the first descriptor; and
responsive to said validation processing successfully validating the first content, returning the first content to the host, wherein the mapping cache includes a hash table of entries or indices, wherein the first logical address maps to a first entry or first index of the hash table associated with the first descriptor, wherein the hash table uses the first logical address as a key which is associated with the first descriptor stored in the mapping cache, and wherein each of the entries or indices of the hash table is associated with a corresponding linked list of one or more descriptors each including a stored logical address that maps to said each entry or index of the hash table.