Patents by Inventor Ananthan Subramanian
Ananthan Subramanian has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20250005003Abstract: Techniques are provided for orphan object detection, invalid sequence number detection, and asynchronous object cleanup. A storage system may store data within one or more tiers of storage, such as a 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. Orphan objects, within the remote object store, that are no longer used by the storage system may be detected and/or deleted. When an aggregate of volumes is deleted, corresponding objects, within the remote object store, may be identified and/or deleted. Invalid sequence numbers (e.g., lost or corrupt sequence numbers locally maintained in a metafile) assigned to objects within the remote object store may be identified, deleted, and/or fixed.Type: ApplicationFiled: September 9, 2024Publication date: January 2, 2025Inventors: Ananthan Subramanian, Sridevi Jantli, Anil Paul Thoppil, Cheryl Marie Thompson, Qinghua Zheng
-
Publication number: 20240427799Abstract: Systems and methods for scaling application and/or storage system functions of a distributed storage system based on a heterogeneous resource pool are provided. According to one embodiment, the distributed storage system has a composable, service-based architecture that provides scalability, resiliency, and load balancing. The distributed storage system includes a cluster of nodes each potentially having differing capabilities in terms of processing, memory, and/or storage. The distributed storage system takes advantage of different types of nodes by selectively instating appropriate services (e.g., file and volume services and/or block and storage management services) on the nodes based on their respective capabilities. Furthermore, disaggregation of these services, facilitated by interposing a frictionless layer (e.g.Type: ApplicationFiled: August 30, 2024Publication date: December 26, 2024Applicant: NetApp, Inc.Inventors: Arindam Banerjee, Daniel McCarthy, Christopher Cason, Ananthan Subramanian
-
Publication number: 20240419363Abstract: 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. This improves the processing of access operations because reading the block numbers from memory is faster than loading the block numbers from disk.Type: ApplicationFiled: August 26, 2024Publication date: December 19, 2024Inventors: Ananthan Subramanian, Kumaran Nagappen, Sriram Venketaraman, Szu-Wen Kuo, Yong Eun Cho
-
Patent number: 12169472Abstract: 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.Type: GrantFiled: July 31, 2023Date of Patent: December 17, 2024Assignee: NetApp, Inc.Inventors: Ananthan Subramanian, Matthew Fontaine Curtis-Maury, Ram Kesavan, Rupa Natarajan, Vinay Devadas
-
Publication number: 20240411645Abstract: Techniques are provided for persistent memory file system reconciliation. As part of the persistent memory file system reconciliation, high level file system metadata associated with a persistent memory file system of persistent memory is reconciled. Client access to the persistent memory file system is inaccessible until reconciliation of the high level file system metadata has completed. A first scanner is executed to traverse pages of the persistent memory in order to fix local inconsistencies associated with the pages. A local inconsistency of a first set of metadata or data of a page is fixed using a second set of metadata or data of the page. The first scanner is executed asynchronously in parallel with processing client I/O directed to the persistent memory file system.Type: ApplicationFiled: August 19, 2024Publication date: December 12, 2024Inventors: Matthew Fontaine Curtis-Maury, Ram Kesavan, Ananthan Subramanian, Abdul Basit, Vinay Devadas, Yash Hetal Trivedi
-
Patent number: 12153504Abstract: 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.Type: GrantFiled: December 27, 2022Date of Patent: November 26, 2024Assignee: NetApp, Inc.Inventors: Yash Hetal Trivedi, Daniel McCarthy, Ananthan Subramanian, William Arthur Gutknecht, Kevin Daniel Varghese, Swaroop Vikram Choudhari, Abdul Basit, Christopher Clark Corey, Chad Edmund Schneider
-
Patent number: 12141481Abstract: 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.Type: GrantFiled: November 20, 2023Date of Patent: November 12, 2024Assignee: NetApp, Inc.Inventors: Ram Kesavan, Matthew Fontaine Curtis-Maury, Abdul Basit, Vinay Devadas, Ananthan Subramanian
-
Patent number: 12141104Abstract: A method for reducing write latency in a distributed file system. A write request that includes a volume identifier is received at a data management subsystem deployed on a node within a distributed storage system. The data management subsystem maps the volume identifier to a file system volume and maps the file system volume to a set of logical block addresses in a logical block device in a storage management subsystem deployed on the node. The storage management subsystem maps the logical block device to a metadata object for the logical block device on the node that is used to process the write request. The mapping of the file system volume to the set of logical block addresses in the logical block device enables co-locating the metadata object with the file system volume on the node, which reduces the write latency associated with processing the write request.Type: GrantFiled: October 1, 2021Date of Patent: November 12, 2024Assignee: NetApp, Inc.Inventors: Ananthan Subramanian, Daniel McCarthy, Arindam Banerjee
-
Publication number: 20240370410Abstract: In various examples, data storage is managed using a distributed storage management system that is resilient. Data blocks of a logical block device may be distributed across multiple nodes in a cluster. The logical block device may correspond to a file system volume associated with a file system instance deployed on a selected node within a distributed block layer of a distributed file system. Each data block may have a location in the cluster identified by a block identifier associated with each data block. Each data block may be replicated on at least one other node in the cluster. A metadata object corresponding to a logical block device that maps to the file system volume may be replicated on at least another node in the cluster. Each data block and the metadata object may be hosted on virtualized storage that is protected using redundant array independent disks (RAID).Type: ApplicationFiled: July 15, 2024Publication date: November 7, 2024Applicant: NetApp, Inc.Inventors: Ravikanth Dronamraju, Ananthan Subramanian, Daniel McCarthy, Christopher Cason, Arindam Banerjee
-
Patent number: 12124716Abstract: 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.Type: GrantFiled: July 24, 2023Date of Patent: October 22, 2024Assignee: NetApp, Inc.Inventors: Ganga Bhavani Kondapalli, Kevin Daniel Varghese, Ananthan Subramanian, Cheryl Marie Thompson, Anil Paul Thoppil
-
Patent number: 12119836Abstract: 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.Type: GrantFiled: March 20, 2023Date of Patent: October 15, 2024Assignee: NetApp, Inc.Inventors: Ram Kesavan, Matthew Fontaine Curtis-Maury, Abdul Basit, Vinay Devadas, Ananthan Subramanian, Mark Smith
-
Publication number: 20240338128Abstract: Techniques are provided for repairing a primary slice file, affected by a storage device error, by using one or more dead replica slice files. The primary slice file is used by a node of a distributed storage architecture as an indirection layer between storage containers (e.g., a volume or LUN) and physical storage where data is physically stored. To improve resiliency of the distributed storage architecture, changes to the primary slice file are replicated to replica slice files hosted by other nodes. If a replica slice file falls out of sync with the primary slice file, then the replica slice file is considered dead (out of sync) and could potentially comprise stale data. If a storage device error affects blocks storing data of the primary slice file, then the techniques provided herein can repair the primary slice file using non-stale data from one or more dead replica slice files.Type: ApplicationFiled: June 17, 2024Publication date: October 10, 2024Inventors: Bharadwaj Vellore Ramesh, Daniel McCarthy, Christopher Lee Cason, Ananthan Subramanian
-
Publication number: 20240319921Abstract: 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.Type: ApplicationFiled: June 3, 2024Publication date: September 26, 2024Inventors: Ananthan Subramanian, Matthew Fontaine Curtis-Maury, Vinay Devadas, Bulli Venkata Rajesh Vipperla
-
Publication number: 20240303198Abstract: 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.Type: ApplicationFiled: May 21, 2024Publication date: September 12, 2024Inventors: Matthew Fontaine Curtis-Maury, Vinay Devadas, Ananthan Subramanian, Ram Kesavan
-
Patent number: 12086116Abstract: Techniques are provided for orphan object detection, invalid sequence number detection, and asynchronous object cleanup. A storage system may store data within one or more tiers of storage, such as a 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. Orphan objects, within the remote object store, that are no longer used by the storage system may be detected and/or deleted. When an aggregate of volumes is deleted, corresponding objects, within the remote object store, may be identified and/or deleted. Invalid sequence numbers (e.g., lost or corrupt sequence numbers locally maintained in a metafile) assigned to objects within the remote object store may be identified, deleted, and/or fixed.Type: GrantFiled: October 31, 2022Date of Patent: September 10, 2024Assignee: NetApp, Inc.Inventors: Ananthan Subramanian, Sridevi Jantli, Anil Paul Thoppil, Cheryl Marie Thompson, Qinghua Zheng
-
Patent number: 12079242Abstract: Systems and methods for scaling application and/or storage system functions of a distributed storage system based on a heterogeneous resource pool are provided. According to one embodiment, the distributed storage system has a composable, service-based architecture that provides scalability, resiliency, and load balancing. The distributed storage system includes a cluster of nodes each potentially having differing capabilities in terms of processing, memory, and/or storage. The distributed storage system takes advantage of different types of nodes by selectively instating appropriate services (e.g., file and volume services and/or block and storage management services) on the nodes based on their respective capabilities. Furthermore, disaggregation of these services, facilitated by interposing a frictionless layer (e.g.Type: GrantFiled: October 19, 2022Date of Patent: September 3, 2024Assignee: NetApp, Inc.Inventors: Arindam Banerjee, Daniel McCarthy, Christopher Cason, Ananthan Subramanian
-
Patent number: 12073123Abstract: 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. In this way, the block numbers are read from memory is faster than loading the block numbers from disk.Type: GrantFiled: October 10, 2022Date of Patent: August 27, 2024Assignee: NetApp, Inc.Inventors: Ananthan Subramanian, Kumaran Nagappan, Sriram Venketaraman, Szu-Wen Kuo, Yong Eun Cho
-
Patent number: 12066897Abstract: Techniques are provided for persistent memory file system reconciliation. As part of the persistent memory file system reconciliation, high level file system metadata associated with a persistent memory file system of persistent memory is reconciled. Client access to the persistent memory file system is inaccessible until reconciliation of the high level file system metadata has completed. A first scanner is executed to traverse pages of the persistent memory in order to fix local inconsistencies associated with the pages. A local inconsistency of a first set of metadata or data of a page is fixed using a second set of metadata or data of the page. The first scanner is executed asynchronously in parallel with processing client I/O directed to the persistent memory file system.Type: GrantFiled: April 18, 2023Date of Patent: August 20, 2024Assignee: NetApp, Inc.Inventors: Matthew Fontaine Curtis-Maury, Ram Kesavan, Ananthan Subramanian, Abdul Basit, Vinay Devadas, Yash Hetal Trivedi
-
Patent number: 12045207Abstract: A distributed storage management system comprising nodes that form a cluster, a distributed block layer that spans the nodes in the cluster, and file system instances deployed on the nodes. Each file system instance comprises a data management subsystem and a storage management subsystem disaggregated from the data management subsystem. The storage management subsystem comprises a node block store that forms a portion of the distributed block layer and a storage manager that manages a key-value store and virtualized storage supporting the node block store. A file system volume hosted by the data management subsystem maps to a logical block device hosted by the virtualized storage in the storage management subsystem. The key-value store includes, for a data block of the logical block device, a key that comprises a block identifier for the logical block device and a value that comprises the data block.Type: GrantFiled: October 1, 2021Date of Patent: July 23, 2024Assignee: NetApp, Inc.Inventors: Ravikanth Dronamraju, Ananthan Subramanian, Daniel McCarthy, Christopher Cason, Arindam Banerjee
-
Publication number: 20240241801Abstract: 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.Type: ApplicationFiled: April 1, 2024Publication date: July 18, 2024Inventors: Ananthan Subramanian, Matthew Fontaine Curtis-Maury, Vinay Devadas