-
公开(公告)号:US10452633B2
公开(公告)日:2019-10-22
申请号:US14928481
申请日:2015-10-30
Applicant: NetApp, Inc.
Inventor: Matthew Curtis-Maury , Aditya Kulkarni , Vinay Devadas
IPC: G06F16/23
Abstract: Presented herein are methods, non-transitory computer readable media, and devices for efficiently administering locks for shared resources, such as data blocks, stored on a storage system. Methods for stamping a plurality of computer data objects are disclosed which include: accessing at least one of the plurality of computer data objects by a first data thread; assigning, by the first data thread, a stamp to the at least one of the plurality of computer data objects, to signify the at least one of the plurality of computer data objects is associated with the first data thread; preventing subsequent access by a second data thread to the stamped at least one of the plurality of computer data objects; and determining the stamp is no longer active, upon an event, effectively releasing the at least one of the plurality of computer data objects.
-
公开(公告)号: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.
-
公开(公告)号:US12099872B2
公开(公告)日:2024-09-24
申请号:US17509034
申请日:2021-10-24
Applicant: NetApp Inc.
Inventor: Vinay Devadas , Matthew Curtis-Maury , Aditya Kulkarni
CPC classification number: G06F9/4887 , G06F9/5005
Abstract: Presented herein are methods, non-transitory computer readable media, and devices for optimizing thread assignment to schedulers, avoid starvation of individual data partitions, and maximize parallelism in the presence of hierarchical data partitioning are disclosed, which include: partitioning, by a network storage server, a scheduler servicing a data partitioned system into a plurality of autonomous schedulers; determining what fraction of thread resources in the data partitioned system at least one of the plurality of autonomous schedulers is to receive; and determining, with minimal synchronization, when it is time to allow the at least one of the plurality of autonomous schedulers servicing a coarse hierarchy to run.
-
45.
公开(公告)号: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.
-
公开(公告)号:US12013818B2
公开(公告)日:2024-06-18
申请号:US17717294
申请日:2022-04-11
Applicant: NetApp Inc.
Inventor: Matthew Curtis-Maury , Vinay Devadas , Aditya Kulkarni
IPC: G06F16/176 , G06F16/18
CPC classification number: G06F16/1774 , G06F16/1858
Abstract: Presented herein are methods, non-transitory computer readable media, and devices for integrating a hybrid model of fine-grained locking and data-partitioning wherein fine-grained locking is added to existing systems that are based on hierarchical data-partitioning in order in increase parallelism with minimal code re-write. Methods for integrating a hybrid model of fine-grained locking and data-partitioning are disclosed which include: creating, by a network storage server, a plurality of domains for execution of processes of the network storage server, the plurality of domains including a domain; creating a hierarchy of storage filesystem subdomains within the domain, wherein each of the subdomains corresponds to one or more types of processes, wherein at least one of the storage filesystem subdomains maps to a data object that is locked via fine-grained locking; and assigning processes for simultaneous execution by the storage filesystem subdomains within the domain and the at least one subdomain that maps to the data object locked via fine-grained locking.
-
公开(公告)号: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.
-
公开(公告)号:US20230376455A1
公开(公告)日:2023-11-23
申请号:US18361966
申请日:2023-07-31
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Matthew Fontaine Curtis-Maury , Ram Kesavan , Rupa Natarajan , Vinay Devadas
IPC: G06F16/11
CPC classification number: G06F16/128
Abstract: Techniques are provided for coordinating snapshot operations across multiple file systems. A notification may be received that a snapshot of data stored across a persistent memory file system and a storage file system is to be generated. Forwarding, of modify operations from a persistent memory tier to a file system tier for execution through the storage file system, may be enabled. Framing may be initiated to notify the storage file system of blocks within the persistent memory file system that comprise more up-to-date data than corresponding blocks within the storage file system. In response to the framing completing, a consistency point operation is performed to create the snapshot and to create a snapshot image as part of the snapshot.
-
-
-
-
-
-
-
-
-