US 11,947,430 B2
Maintaining and recomputing reference counts in a persistent memory file system
Ananthan Subramanian, San Ramon, CA (US); Matthew Fontaine Curtis-Maury, Apex, NC (US); and Vinay Devadas, Apex, NC (US)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on Aug. 22, 2022, as Appl. No. 17/892,175.
Application 17/892,175 is a continuation of application No. 16/944,001, filed on Jul. 30, 2020, granted, now 11,422,903.
Prior Publication US 2022/0398172 A1, Dec. 15, 2022
Int. Cl. G06F 11/00 (2006.01); G06F 11/07 (2006.01); G06F 11/14 (2006.01); G06F 11/30 (2006.01); G06F 12/02 (2006.01); G06F 12/0817 (2016.01); G06F 12/0882 (2016.01)
CPC G06F 11/1471 (2013.01) [G06F 11/0772 (2013.01); G06F 11/3037 (2013.01); G06F 12/0246 (2013.01); G06F 12/0824 (2013.01); G06F 12/0882 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a memory storing instructions for implementing a storage operating system storage stack;
a processor coupled to the memory, the processor configured to execute the instructions to implement the storage operating system storage stack;
a file system tier of the storage operating system storage stack, wherein the file system stores data within blocks of a storage device according to block-addressable access; and
a persistent memory tier of the storage operating system storage stack, wherein the persistent memory tier manages a persistent memory file system that stores data within a plurality of pages of persistent memory according to byte-addressable access, wherein during a traversal of the persistent memory file system, reference counts of children pages that are children of a page encountered by the traversal are incremented and a visited field for the page is set to indicate that the traversal encountered the page.