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).

  • Patent number: 12038886
    Abstract: 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: Grant
    Filed: July 26, 2023
    Date of Patent: July 16, 2024
    Assignee: NetApp, Inc.
    Inventors: Ravikanth Dronamraju, Ananthan Subramanian, Daniel McCarthy, Christopher Cason, Arindam Banerjee
  • Patent number: 12014056
    Abstract: 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: Grant
    Filed: August 23, 2022
    Date of Patent: June 18, 2024
    Assignee: NetApp, Inc.
    Inventors: Bharadwaj Vellore Ramesh, Daniel McCarthy, Christopher Lee Cason, Ananthan Subramanian
  • Publication number: 20240184470
    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.
    Type: Application
    Filed: January 22, 2024
    Publication date: June 6, 2024
    Inventors: Ananthan Subramanian, Sriram Venketaraman, Ravikanth Dronamraju, Mohit Gupta
  • Patent number: 12001724
    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.
    Type: Grant
    Filed: December 28, 2022
    Date of Patent: June 4, 2024
    Assignee: NetApp, Inc.
    Inventors: Ananthan Subramanian, Matthew Fontaine Curtis-Maury, Vinay Devadas, Bulli Venkata Rajesh Vipperla
  • Patent number: 11994998
    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.
    Type: Grant
    Filed: May 23, 2022
    Date of Patent: May 28, 2024
    Assignee: NetApp, Inc.
    Inventors: Matthew Fontaine Curtis-Maury, Vinay Devadas, Ananthan Subramanian, Ram Kesavan
  • Publication number: 20240143210
    Abstract: Techniques are provided for journal replay optimization. A distributed storage architecture can implement a journal within memory for logging write operations into log records. Latency of executing the write operations is improved because the write operations can be responded back to clients as complete once logged within the journal without having to store the data to higher latency disk storage. If there is a failure, then a replay process is performed to replay the write operations logged within the journal in order to bring a file system up-to-date. The time to complete the replay of the write operations is significantly reduced by caching metadata (e.g., indirect blocks, checksums, buftree identifiers, file block numbers, and consistency point counts) directly into log records. Replay can quickly access this metadata for replaying the write operations because the metadata does not need to be retrieved from the higher latency disk storage into memory.
    Type: Application
    Filed: December 28, 2023
    Publication date: May 2, 2024
    Inventors: Kevin Daniel Varghese, Ananthan Subramanian, Asif Imtiyaz Pathan
  • Publication number: 20240126464
    Abstract: Techniques are provided for data management across a persistent memory tier and a file system tier. A block within a persistent memory tier of a node is determined to have up-to-date data compared to a corresponding block within a file system tier of the node. The corresponding block may be marked as a dirty block within the file system tier. Location information of a location of the block within the persistent memory tier is encoded into a container associated with the corresponding block. In response to receiving a read operation, the location information is obtained from the container. The up-to-date data is retrieved from the block within the persistent memory tier using the location information for processing the read operation.
    Type: Application
    Filed: December 28, 2023
    Publication date: April 18, 2024
    Inventors: Ananthan Subramanian, Matthew Fontaine Curtis-Maury, Ram Kesavan, Vinay Devadas
  • Publication number: 20240118981
    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.
    Type: Application
    Filed: December 27, 2022
    Publication date: April 11, 2024
    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: 11947430
    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.
    Type: Grant
    Filed: August 22, 2022
    Date of Patent: April 2, 2024
    Assignee: NetApp, Inc.
    Inventors: Ananthan Subramanian, Matthew Fontaine Curtis-Maury, Vinay Devadas
  • Publication number: 20240103744
    Abstract: Techniques are provided for block allocation for persistent memory during aggregate transition. In a high availability pair including first and second nodes, the first node makes a determination that control of a first aggregate is to transition from the first node to the second node. A portion of available free storage space is allocated from a first persistent memory of the first node as allocated pages within the first persistent memory. Metadata information for the allocated pages is updated with an identifier of the first aggregate to create updated metadata information reserving the allocated pages for the first aggregate. The updated metadata information is mirrored to the second node, so that the second node also reserves those pages. Control of the first aggregate is transitioned to the second node. As a result, the nodes do not attempt allocating the same free pages to different aggregates during a transition.
    Type: Application
    Filed: December 4, 2023
    Publication date: March 28, 2024
    Inventors: Abdul Basit, Ananthan Subramanian, Ram Kesavan, Matthew Fontaine Curtis-Maury
  • Patent number: 11934262
    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.
    Type: Grant
    Filed: February 6, 2023
    Date of Patent: March 19, 2024
    Assignee: NetApp, Inc.
    Inventors: Ananthan Subramanian, Ganga Bhavani Kondapalli, Cheryl Marie Thompson, Kevin Daniel Varghese, Anil Paul Thoppil, Qinghua Zheng
  • Publication number: 20240086116
    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.
    Type: Application
    Filed: November 20, 2023
    Publication date: March 14, 2024
    Inventors: Ram Kesavan, Matthew Fontaine Curtis-Maury, Abdul Basit, Vinay Devadas, Ananthan Subramanian
  • Publication number: 20240086374
    Abstract: Techniques are provided for utilizing a log to free pages from persistent memory. A log is maintained to comprise a list of page block numbers of pages within persistent memory of a node to free. A page block number, of a page, within the log is identified for processing. A reference count, corresponding to a number of references to the page block number, is identified. In response to the reference count being greater than 1, the reference count is decremented and the page block number is removed from the log. In response to the reference count being 1, the page is freed from the persistent memory and the page block number is removed from the log.
    Type: Application
    Filed: November 20, 2023
    Publication date: March 14, 2024
    Inventors: Rupa Natarajan, Ananthan Subramanian
  • Publication number: 20240069743
    Abstract: 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: Application
    Filed: August 23, 2022
    Publication date: February 29, 2024
    Inventors: Bharadwaj Vellore Ramesh, Daniel McCarthy, Christopher Lee Cason, Ananthan Subramanian
  • Publication number: 20240061603
    Abstract: Methods and systems for co-locating journaling and data storage are provided. Separate journal and volume partitions may be maintained within each logical storage unit (e.g., Logical Unit Number (LUN)) of a distributed storage system. Journaling of metadata associated with write requests received from one or more clients may be distributed by identifying a destination logical storage unit to which data associated with a given write request is to be stored and causing the data and metadata to be persisted to disk by journaling the metadata and the data to respective portions of an active log within the journal partition of the destination logical storage unit. By using the same logical storage unit for both journaling of write requests and writing the data associated with such write requests, the bottleneck due to there being only a single device or storage unit handling all metadata for all write requests can be avoided.
    Type: Application
    Filed: October 30, 2023
    Publication date: February 22, 2024
    Applicant: NetApp, Inc.
    Inventors: Kevin Daniel Varghese, Ananthan Subramanian, Parag Sarfare, Sandeep Yadav, Suhas Urkude, Rajesh Khandelwal
  • Publication number: 20240045848
    Abstract: Techniques are provided for key-value store and file system integration to optimize key value store operations. A key-value store is integrated within a file system of a node. A log structured merge tree of the key-value store may be populated with a key corresponding to a content hash of a value data item stored separate from the key. A random distribution search may be performed upon a sorted log of the log structured merge tree to identify the key for accessing the value data item. A starting location for the random distribution search is derived from key information, a log size of the sorted log, and/or a keyspace size of a keyspace associated with the key.
    Type: Application
    Filed: October 23, 2023
    Publication date: February 8, 2024
    Inventors: Sanjay Subramanian Seshadri, Arindam Banerjee, Manan Dahyabhai Patel, Raymond Jordan Go, Anil Paul Thoppil, Ananthan Subramanian, Santhosh Selvaraj, Nikul Y. Patel, Vikhyath Rao, Meera Odugoudar, Kevin Daniel Varghese
  • Patent number: 11880578
    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.
    Type: Grant
    Filed: November 29, 2021
    Date of Patent: January 23, 2024
    Assignee: NetApp, Inc.
    Inventors: Ananthan Subramanian, Sriram Venketaraman, Ravikanth Dronamraju, Mohit Gupta
  • Publication number: 20240012571
    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.
    Type: Application
    Filed: July 24, 2023
    Publication date: January 11, 2024
    Inventors: Ganga Bhavani Kondapalli, Kevin Daniel Varghese, Ananthan Subramanian, Cheryl Marie Thompson, Anil Paul Thoppil
  • Patent number: 11861198
    Abstract: Techniques are provided for journal replay optimization. A distributed storage architecture can implement a journal within memory for logging write operations into log records. Latency of executing the write operations is improved because the write operations can be responded back to clients as complete once logged within the journal without having to store the data to higher latency disk storage. If there is a failure, then a replay process is performed to replay the write operations logged within the journal in order to bring a file system up-to-date. The time to complete the replay of the write operations is significantly reduced by caching metadata (e.g., indirect blocks, checksums, buftree identifiers, file block numbers, and consistency point counts) directly into log records. Replay can quickly access this metadata for replaying the write operations because the metadata does not need to be retrieved from the higher latency disk storage into memory.
    Type: Grant
    Filed: April 25, 2022
    Date of Patent: January 2, 2024
    Assignee: NetApp, Inc.
    Inventors: Kevin Daniel Varghese, Ananthan Subramanian, Asif Imtiyaz Pathan
  • Patent number: 11861199
    Abstract: Techniques are provided for data management across a persistent memory tier and a file system tier. A block within a persistent memory tier of a node is determined to have up-to-date data compared to a corresponding block within a file system tier of the node. The corresponding block may be marked as a dirty block within the file system tier. Location information of a location of the block within the persistent memory tier is encoded into a container associated with the corresponding block. In response to receiving a read operation, the location information is obtained from the container. The up-to-date data is retrieved from the block within the persistent memory tier using the location information for processing the read operation.
    Type: Grant
    Filed: July 24, 2022
    Date of Patent: January 2, 2024
    Assignee: NetApp, Inc.
    Inventors: Ananthan Subramanian, Matthew Fontaine Curtis-Maury, Ram Kesavan, Vinay Devadas