-
公开(公告)号:US20220083279A1
公开(公告)日:2022-03-17
申请号:US17536571
申请日:2021-11-29
Applicant: NetApp Inc.
Inventor: Ram Kesavan , Matthew Fontaine Curtis-Maury , Abdul Basit , Vinay Devadas , Ananthan Subramanian
Abstract: Techniques are provided for implementing write ordering for persistent memory. A set of actions are identified for commitment to persistent memory of a node for executing an operation upon the persistent memory. An episode is created to comprise a first subset of actions of the set of actions that can be committed to the persistent memory in any order with respect to one another such that a consistent state of the persistent memory can be reconstructed in the event of a crash of the node during execution of the operation. The first subset of actions within the episode are committed to the persistent memory and further execution of the operation is blocked until the episode completes.
-
公开(公告)号:US20220035717A1
公开(公告)日:2022-02-03
申请号:US16944001
申请日:2020-07-30
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Matthew Fontaine Curtis-Maury , Vinay Devadas
IPC: G06F11/14 , G06F11/07 , G06F11/30 , G06F12/0817 , G06F12/0882 , G06F12/02
Abstract: Techniques are provided for maintaining and recomputing reference counts in a persistent memory file system of a node. Primary reference counts are maintained for pages within persistent memory of the node. In response to receiving a first operation to link a page into a persistent memory file system of the persistent memory, a primary reference count of the page is incremented before linking the page into the persistent memory file system. In response to receiving a second operation to unlink the page from the persistent memory file system, the page is unlinked from the persistent memory file system before the primary reference count is decremented. Upon the node recovering from a crash, the persistent memory file system is traversed in order to update shadow reference counts for the pages with correct reference count values, which are used to overwrite the primary reference counts with the correct reference count values.
-
公开(公告)号:US20210326065A1
公开(公告)日:2021-10-21
申请号:US16852580
申请日:2020-04-20
Applicant: NetApp Inc.
Inventor: Ram Kesavan , Matthew Fontaine Curtis-Maury , Abdul Basit , Vinay Devadas , Ananthan Subramanian
Abstract: Techniques are provided for implementing write ordering for persistent memory. A set of actions are identified for commitment to persistent memory of a node for executing an operation upon the persistent memory. An episode is created to comprise a first subset of actions of the set of actions that can be committed to the persistent memory in any order with respect to one another such that a consistent state of the persistent memory can be reconstructed in the event of a crash of the node during execution of the operation. The first subset of actions within the episode are committed to the persistent memory and further execution of the operation is blocked until the episode completes.
-
公开(公告)号:US12210422B2
公开(公告)日:2025-01-28
申请号:US18459265
申请日:2023-08-31
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Ram Kesavan , Matthew Fontaine Curtis-Maury , Mark Smith
Abstract: Techniques are provided for implementing a persistent memory storage tier to manage persistent memory of a node. The persistent memory is managed by the persistent memory storage tier at a higher level within a storage operating system storage stack than a level at which a storage file system of the node is managed. The persistent memory storage tier intercepts an operation targeting the storage file system. The persistent memory storage tier retargets the operation from targeting the storage file system to targeting the persistent memory. The operation is transmitted to the persistent memory.
-
公开(公告)号:US12141481B2
公开(公告)日:2024-11-12
申请号:US18513894
申请日:2023-11-20
Applicant: NetApp Inc.
Inventor: Ram Kesavan , Matthew Fontaine Curtis-Maury , Abdul Basit , Vinay Devadas , Ananthan Subramanian
Abstract: Techniques are provided for implementing write ordering for persistent memory. A set of actions are identified for commitment to persistent memory of a node for executing an operation upon the persistent memory. An episode is created to comprise a first subset of actions of the set of actions that can be committed to the persistent memory in any order with respect to one another such that a consistent state of the persistent memory can be reconstructed in the event of a crash of the node during execution of the operation. The first subset of actions within the episode are committed to the persistent memory and further execution of the operation is blocked until the episode completes.
-
公开(公告)号:US12119836B2
公开(公告)日:2024-10-15
申请号:US18186657
申请日:2023-03-20
Applicant: NetApp Inc.
Inventor: Ram Kesavan , Matthew Fontaine Curtis-Maury , Abdul Basit , Vinay Devadas , Ananthan Subramanian , Mark Smith
IPC: H03M1/12 , G06F3/06 , G06F16/901 , H03M1/06
CPC classification number: H03M1/0687 , G06F3/0604 , G06F3/0653 , G06F3/0685 , G06F16/9027 , H03M1/0695
Abstract: Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure including data blocks within which data of the object is stored and indirect blocks including block numbers of where the data blocks are located in storage. Block numbers within a set of indirect blocks are compacted into a compacted indirect block including a base block number, a count of additional block numbers after the base block number in the compacted indirect block, and a pattern of the block numbers in the compacted indirect block. The compacted indirect block is stored into memory for processing access operations to the object. Storing compacted indirect blocks into memory allows for more block numbers to be stored within memory.
-
47.
公开(公告)号:US12050553B2
公开(公告)日:2024-07-30
申请号:US17060400
申请日:2020-10-01
Applicant: NetApp Inc.
Inventor: Matthew Fontaine Curtis-Maury , Vinay Devadas , Yash Hetal Trivedi
CPC classification number: G06F16/148 , G06F3/0604 , G06F3/0655 , G06F3/067
Abstract: Techniques are provided for supporting a lookup structure for a file system implementing hierarchical reference counting. A write operation to write data to a page maintained by the file system is received. A lookup within a lookup structure is performed using information related to the page in order to identify a lookup entry within the lookup structure. A hash generation count within the lookup entry is compared to a file system info generation count within a file system info object for a volume associated with the page. In response to the lookup entry generation count not matching the file system info generation count, a file system tree of the file system is traversed to determine a reference count for the page, and the write operation is implemented based upon the reference count. Otherwise, the lookup entry is utilized to access the page for processing the write operation.
-
公开(公告)号:US12001724B2
公开(公告)日:2024-06-04
申请号:US18089633
申请日:2022-12-28
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Matthew Fontaine Curtis-Maury , Vinay Devadas , Bulli Venkata Rajesh Vipperla
IPC: G06F12/00 , G06F3/06 , G06F15/173
CPC classification number: G06F3/0659 , G06F3/0619 , G06F3/064 , G06F3/067 , G06F15/17331
Abstract: Techniques are provided for forwarding operations to bypass persistent memory. A modify operation, targeting an object, may be received at a persistent memory tier of a node. If a forwarding policy indicates that forwarding is not enabled for the modify operation and the target object, then the modify operation is executed through a persistent memory file system. If the forwarding policy indicates that forwarding is enabled for the modify operation and the target object, then the modify operation is forwarded to a file system tier as a forwarded operation for execution through a storage file system.
-
公开(公告)号:US11994998B2
公开(公告)日:2024-05-28
申请号:US17750707
申请日:2022-05-23
Applicant: NetApp Inc.
Inventor: Matthew Fontaine Curtis-Maury , Vinay Devadas , Ananthan Subramanian , Ram Kesavan
IPC: G06F12/0882 , G06F12/02 , G06F12/0871 , G06F16/182 , G06F16/22
CPC classification number: G06F12/0882 , G06F12/0246 , G06F12/0871 , G06F16/182 , G06F16/2246
Abstract: Techniques are provided for atomic writes for persistent memory. In response to receiving a write operation, a new per-page structure with a new page block number is allocated. New data of the write operation is persisted to a new page of the persistent memory having the new page block number, and the new per-page structure is persisted to the persistent memory. If the write operation targets a hole after the new data and the new per-page structure have been persisted, then a new per-page structure identifier of the new per-page structure is inserted into a parent indirect page of a page comprising the new data. If the write operation targets old data after the new data and the new per-page structure have been persisted, then an old per-page structure of the old data is updated with the new page block number.
-
公开(公告)号:US11947430B2
公开(公告)日:2024-04-02
申请号:US17892175
申请日:2022-08-22
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Matthew Fontaine Curtis-Maury , Vinay Devadas
IPC: G06F11/00 , G06F11/07 , G06F11/14 , G06F11/30 , G06F12/02 , G06F12/0817 , G06F12/0882
CPC classification number: G06F11/1471 , G06F11/0772 , G06F11/3037 , G06F12/0246 , G06F12/0824 , G06F12/0882
Abstract: Techniques are provided for maintaining and recomputing reference counts in a persistent memory file system of a node. Primary reference counts are maintained for pages within persistent memory of the node. In response to receiving a first operation to link a page into a persistent memory file system of the persistent memory, a primary reference count of the page is incremented before linking the page into the persistent memory file system. In response to receiving a second operation to unlink the page from the persistent memory file system, the page is unlinked from the persistent memory file system before the primary reference count is decremented. Upon the node recovering from a crash, the persistent memory file system is traversed in order to update shadow reference counts for the pages with correct reference count values, which are used to overwrite the primary reference counts with the correct reference count values.
-
-
-
-
-
-
-
-
-