-
公开(公告)号: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.
-
公开(公告)号:US10853166B2
公开(公告)日:2020-12-01
申请号:US16459790
申请日:2019-07-02
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Ganga Bhavani Kondapalli , Cheryl Marie Thompson , Kevin Daniel Varghese , Anil Paul Thoppil , Qinghua Zheng
IPC: G06F11/10 , G06F12/08 , G06F3/06 , G06F16/178
Abstract: Techniques are provided for remote object store error handling. A storage system may store data within one or more tiers of storage, such as a local storage tier (e.g., solid state storage and disks maintained by the storage system), a remote object store (e.g., storage provided by a third party storage provider), and/or other storage tiers. Because the remote object store may not provide the same data consistency and guarantees that the storage system provides for clients such as through the local storage tier, additional validation is provided by the storage system for the remote object store. For example, when data is put into an object of the remote object store, a verification get operation is performed to read and validate information within a header of the object. Other verifications and checks are performed such as using a locally stored metafile to detect corrupt or lost metadata and/or objects.
-
公开(公告)号:US10852994B2
公开(公告)日:2020-12-01
申请号:US16365956
申请日:2019-03-27
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Kumaran Nagappan , Sriram Venketaraman , Szu-Wen Kuo , Yong Eun Cho
Abstract: Techniques are provided for compacting indirect blocks. For example, an object is represented as a structure comprising data blocks within which data of the object is stored and indirect blocks comprising 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 comprising 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.
-
公开(公告)号:US20200073567A1
公开(公告)日:2020-03-05
申请号:US16679914
申请日:2019-11-11
Applicant: NetApp Inc.
Inventor: Ganga Bhavani Kondapalli , Kevin Daniel Varghese , Ananthan Subramanian , Cheryl Thompson , Anil Paul Thoppil
IPC: G06F3/06
Abstract: Techniques are provided for multi-tier write allocation. A storage system may store data within a multi-tier storage environment comprising a first storage tier (e.g., storage devices maintained by the storage system), a second storage tier (e.g., a remote object store provided by a third party storage provider), and/or other storage tiers. A determination is made that data (e.g., data of a write request received by the storage system) is to be stored within the second storage tier. The data is stored into a staging area of the first storage tier. A second storage tier location identifier, for referencing the data according to a format utilized by the second storage tier, is assigned to the data and provided to a file system hosting the data. The data is then destaged from the staging area into the second storage tier, such as within an object stored within the remote object store.
-
公开(公告)号:US10521143B2
公开(公告)日:2019-12-31
申请号:US15467293
申请日:2017-03-23
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Sriram Venketaraman , Ravikanth Dronamraju , Mohit Gupta
Abstract: Techniques are provided for providing a storage abstraction layer for a composite aggregate architecture. A storage abstraction layer is utilized as an indirection layer between a file system and a storage environment. The storage abstraction layer obtains characteristic of a plurality of storage providers that provide access to heterogeneous types of storage of the storage environment (e.g., solid state storage, high availability storage, object storage, hard disk drive storage, etc.). The storage abstraction layer generates storage bins to manage storage of each storage provider. The storage abstraction layer generates a storage aggregate from the heterogeneous types of storage as a single storage container. The storage aggregate is exposed to the file system as the single storage container that abstracts away from the file system the management and physical storage details of data of the storage aggregate.
-
公开(公告)号:US20190324844A1
公开(公告)日:2019-10-24
申请号:US16459790
申请日:2019-07-02
Applicant: NetApp Inc.
Inventor: Ananthan Subramanian , Ganga Bhavani Kondapalli , Cheryl Marie Thompson , Kevin Daniel Varghese , Anil Paul Thoppil , Qinghua Zheng
IPC: G06F11/10 , G06F16/178 , G06F12/08 , G06F3/06
Abstract: Techniques are provided for remote object store error handling. A storage system may store data within one or more tiers of storage, such as a local storage tier (e.g., solid state storage and disks maintained by the storage system), a remote object store (e.g., storage provided by a third party storage provider), and/or other storage tiers. Because the remote object store may not provide the same data consistency and guarantees that the storage system provides for clients such as through the local storage tier, additional validation is provided by the storage system for the remote object store. For example, when data is put into an object of the remote object store, a verification get operation is performed to read and validate information within a header of the object. Other verifications and checks are performed such as using a locally stored metafile to detect corrupt or lost metadata and/or objects.
-
公开(公告)号:US20170344282A1
公开(公告)日:2017-11-30
申请号:US15167924
申请日:2016-05-27
Applicant: NetApp, Inc.
Inventor: Ram Kesavan , Ananthan Subramanian , Hiroshi Ishii , Abdul Basit , Joseph Brown, JR. , Rohit Singh
IPC: G06F3/06
Abstract: A method, non-transitory computer readable medium and storage server computing device that determines when a generated storage operation corresponds with one of a set of predefined storage operations. The storage operation is executed and a result of the execution of the storage operation is withheld from a file system, when the determining indicates that the storage operation corresponds with one of the set of predefined storage operations. A determination is made when a consistency point operation has completed. The result of the execution of the storage operation is presented to the file system, when the determining indicates that a consistency point operation has completed. This technology reduces the number of storage operations that are required to be journaled to maintain consistency of a file system, thereby reducing the runtime resources required to facilitate the journaling and replay resource required to replay the storage operations in a journal following a recovery.
-
28.
公开(公告)号:US20140025963A1
公开(公告)日:2014-01-23
申请号:US14033071
申请日:2013-09-20
Applicant: NetApp, Inc.
Inventor: Ananthan Subramanian
IPC: G06F21/62
CPC classification number: G06F21/6218 , G06F21/62 , G06F2221/2107
Abstract: A network storage server implements a method to discard sensitive data from a Persistent Point-In-Time Image (PPI). The server first efficiently identifies a dataset containing the sensitive data from a plurality of datasets managed by the PPI. Each of the plurality of datasets is read-only and encrypted with a first encryption key. The server then decrypts each of the plurality of datasets, except the dataset containing the sensitive data, with the first encryption key. The decrypted datasets are re-encrypted with a second encryption key, and copied to a storage structure. Afterward, the first encryption key is shredded.
Abstract translation: 网络存储服务器实现从持续时间点映像(PPI)中丢弃敏感数据的方法。 服务器首先从PPI管理的多个数据集中有效地识别包含敏感数据的数据集。 多个数据集中的每个数据集是只读的并用第一加密密钥加密。 服务器然后使用第一加密密钥对包含敏感数据的数据集之外的多个数据集中的每一个进行解密。 解密的数据集用第二加密密钥重新加密,并复制到存储结构。 之后,第一个加密密钥被打碎。
-
公开(公告)号:US20250086075A1
公开(公告)日:2025-03-13
申请号:US18958730
申请日:2024-11-25
Applicant: NetApp, Inc.
Inventor: Yash Hetal Trivedi , Daniel McCarthy , Ananthan Subramanian , William Arthur Gutknecht , Kevin Daniel Varghese , Swaroop Vikram Choudhari , Abdul Basit , Christopher Clark Corey , Chad Edmund Schneider
Abstract: Techniques are provided for failing over an aggregate from one file system instance to a different file system instance of a distributed scale-out storage system. The aggregate may be stored within distributed storage that is accessible to a plurality of file system instances of the distributed scale-out storage system. When the aggregate is failed over from a first file system instance to a second file system instance, the first file system instance may still have a valid read lease that allows the first file system instance to serve client I/O, directed to the aggregate, using a cache. In order to prevent the first file system instance from serving stale data from the cache before the read lease expires, state machines and a set of control data are used to ensure that the second file system instance attaches to the aggregate only after the read lease has expired.
-
公开(公告)号:US12248376B2
公开(公告)日:2025-03-11
申请号:US18623387
申请日:2024-04-01
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
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.
-
-
-
-
-
-
-
-
-