US 11,816,093 B2
Storage tier verification checks
Kayuri Hasmukh Patel, Cupertino, CA (US); Qinghua Zheng, San Jose, CA (US); Sumith Makam, Bangalore (IN); Kevin Daniel Varghese, Santa Clara, CA (US); Yuvraj Ajaykumar Patel, Madison, WI (US); Sateesh Kumar Pola, Bangalore (IN); Sharmi Suresh Kumar Nair, Bangalore (IN); and Mihir Gorecha, Gujarat (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on Nov. 29, 2021, as Appl. No. 17/536,363.
Application 17/536,363 is a continuation of application No. 16/806,379, filed on Mar. 2, 2020, granted, now 11,188,520.
Application 16/806,379 is a continuation of application No. 15/624,891, filed on Jun. 16, 2017, granted, now 10,621,162, issued on Apr. 14, 2020.
Prior Publication US 2022/0083535 A1, Mar. 17, 2022
Int. Cl. G06F 16/23 (2019.01); G06F 16/13 (2019.01); G06F 16/14 (2019.01)
CPC G06F 16/2365 (2019.01) [G06F 16/13 (2019.01); G06F 16/148 (2019.01)] 30 Claims
OG exemplary drawing
 
1. A computing device comprising:
a memory comprising machine executable code; and
a processor coupled to the memory, the processor configured to execute the machine executable code to cause the computing to:
implement an incremental checksum verification that performs distributed checks deferred as a background job to protect against software errors, wherein the background job does not block requests from a client directed to a file;
receive a request from the client to access a data block of the file represented by a tree structure of blocks representing data blocks of the file;
traverse the tree structure to reach a block representing the data block to access, wherein blocks encountered during the traversal of the tree structure are tracked during the traversal;
identify a set of blocks encountered during the traversal of the tree structure;
perform a verification upon the set of blocks, wherein the verification skips blocks of the tree structure not included within the set of blocks traversed to reach the block representing the data block being accessed; and
provide the client with access to the data block based upon successful verification of the set of blocks.