US 12,253,923 B2
Persistent metafile used to cache slot header metadata for improved read performance of objects within an object store
Palak Sharma, Haryana (IN); Dibyasri Nandi, Kolkata (IN); Sindhushree K N, Karnataka (IN); Cheryl Marie Thompson, Sunnyvale, CA (US); Qinghua Zheng, San Jose, CA (US); Venkateswarlu Tella, Bangalore (IN); Debanjan Paul, West Bengal (IN); and Dinakaran Narayanan, Chennai (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on Apr. 28, 2022, as Appl. No. 17/731,881.
Claims priority of application No. 202141049373 (IN), filed on Oct. 28, 2021.
Prior Publication US 2023/0135151 A1, May 4, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 12/00 (2006.01); G06F 3/06 (2006.01); G06F 11/07 (2006.01); G06F 11/10 (2006.01); G06F 11/14 (2006.01); G06F 11/20 (2006.01); G06F 16/11 (2019.01); G06F 16/174 (2019.01)
CPC G06F 11/2094 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0611 (2013.01); G06F 3/0619 (2013.01); G06F 3/064 (2013.01); G06F 3/0653 (2013.01); G06F 3/067 (2013.01); G06F 11/0712 (2013.01); G06F 11/0718 (2013.01); G06F 11/0727 (2013.01); G06F 11/1004 (2013.01); G06F 11/1453 (2013.01); G06F 11/1464 (2013.01); G06F 16/116 (2019.01); G06F 16/1744 (2019.01); G06F 2201/84 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
determining that data hosted within a performance tier is to be tiered out to a capacity tier of an object store;
creating an object according to a unified object format, wherein the data is stored within slots of the object;
attaching slot header metadata to the object, wherein the slot header metadata comprises two sections of metadata including a first metadata portion comprising a compression group number of a slot within which a block of the data is stored and a compression group logical index in the compression group number at which the slot is located, and a second metadata portion comprising offset and length location information for the data residing in the object;
storing the object into the capacity tier of the object store;
caching the slot header metadata of the object within a persistent metafile stored within the performance tier, wherein an entry within the persistent metafile for the object maps the slot header metadata of the object to an object identifier of the object, wherein the entry is populated with the compression group number of the slot, the compression group logical index in the compression group, the offset and length location information, and a sequence number of the object;
utilizing the object identifier to identify the object in the object store for accessing a current sequence number specified by the slot header metadata within the object and to identify the entry, within the persistent metafile, for the object for accessing the sequence number specified by the entry;
comparing the sequence number in the entry of the persistent metafile stored within the performance tier with the current sequence number accessed from the object tiered out to the capacity tier of the object store; and
in response to the sequence number in the entry not matching the current sequence number accessed from the object, overwriting the persistent metafile with current slot header metadata read from the object.