Patents by Inventor Anshul Pundir

Anshul Pundir 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: 10394660
    Abstract: A snap restore technique efficiently restores snapshots of storage containers served by a storage input/output (I/O) stack executing on one or more nodes of a cluster. A Small Computer Systems Interface administration layer interacts with a volume layer of the storage I/O stack to manage and implement a snap restore procedure to restore one or more snapshots of a storage container. The storage container may be a logical unit (LUN) embodied as parent volume (active volume) and the snapshot may be represented as an independent volume embodied as read-only copy of the active volume. The snap restore procedure may be configured to allow restoration to a single snapshot of a LUN or restoration of a plurality of LUNs organized as a consistency group from a group of snapshots.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: August 27, 2019
    Assignee: NetApp, Inc.
    Inventors: David Brittain Bolen, Suhas Prakash, Anshul Pundir, Ling Zheng
  • Patent number: 10108547
    Abstract: A technique provides memory efficient caching of metadata managed by a volume layer of a storage input/output stack executing on one or more nodes of a cluster. Efficient caching of the metadata in a memory of a node may be realized through the use of a caching data structure, i.e., a page cache, configured to store a key-value pair, wherein the key is an extent key and the value is a metadata page containing the index entries. The page cache illustratively includes two data structures configured to maintain the properties of Least Recently Used (LRU) and Least Frequently Used (LFU) for the cache. The first data structure is a hash table that stores a dense tree metadata page (value) indexed by the extent key. The second data structure is a recycle queue that controls the metadata page stored in the hash table based on spatial and temporal locality of the page.
    Type: Grant
    Filed: January 6, 2016
    Date of Patent: October 23, 2018
    Assignee: NetApp, Inc.
    Inventors: Anshul Pundir, Ashwin Pednekar, Ling Zheng, Michael L. Federwisch
  • Patent number: 9952765
    Abstract: A layout of a transaction log enables efficient logging of metadata into entries of the log, as well as efficient reclamation and recovery of the log entries by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The transaction log is illustratively a two stage, append-only logging structure, wherein the first level is non-volatile random access memory (NVRAM) embodied as a NVlog and the second stage is disk, e.g., solid state drive (SSD). During crash recovery, the log entries are examined for consistency and scanned to identify those entries that have completed and those that are active, which require replay. The log entries are walked from oldest to newest (using sequence numbers) searching for the highest sequence number. Partially complete log entries (e.g., log entries in-progress when a crash occurs) may be discarded for failing a checksum (e.g., a CRC error).
    Type: Grant
    Filed: October 6, 2015
    Date of Patent: April 24, 2018
    Assignee: NetApp, Inc.
    Inventors: Srinath Krishnamachari, Anshul Pundir, Sriranjani Babu
  • Patent number: 9836355
    Abstract: Embodiments herein are directed to efficient crash recovery of persistent metadata managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. Volume metadata managed by the volume layer is organized as a multi-level dense tree, wherein each level of the dense tree includes volume metadata entries for storing the volume metadata. When a level of the dense tree is full, the volume metadata entries of the level are merged with the next lower level of the dense tree. During a merge operation, two sets of generation IDs may be used in accordance with a double buffer arrangement: a first generation ID for the append buffer that is full (i.e., a merge staging buffer) and a second, incremented generation ID for the append buffer that accepts new volume metadata entries. Upon completion of the merge operation, the lower level (e.g., level 1) to which the merge is directed is assigned the generation ID of the merge staging buffer.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: December 5, 2017
    Assignee: NetApp, Inc.
    Inventors: Anshul Pundir, Janice D'Sa, Srinath Krishnamachari, Ling Zheng
  • Patent number: 9830103
    Abstract: A technique enables recovery of storage space trapped in an extent store from overlapping write requests associated with metadata describing volume logical storage addresses for data in the extent store. The metadata is organized as metadata entries in a multi-level dense tree metadata structure. When a level of the dense tree is full, the metadata entries of the level are merged with a next lower level of the dense tree in accordance with a dense tree merge operation. The technique may be invoked during the merge operation to process the metadata entries associated with the overlapping write requests involved in the merge operation. Processing of the overlapping write requests during the merge operation may partially overwrite extents which, in turn, may result in logical storage space being trapped in the extent store. The technique may perform read-modify-write (RMW) operations on the partially overwritten extents to recapture that trapped space.
    Type: Grant
    Filed: January 5, 2016
    Date of Patent: November 28, 2017
    Assignee: NetApp, Inc.
    Inventors: Anshul Pundir, Ling Zheng, David Brittain Bolen
  • Publication number: 20170315740
    Abstract: A technique paces and balances a flow of messages related to processing of input/output (I/O) requests between subsystems, such as layers of a storage input/output (I/O) stack, of one or more nodes of a cluster. The I/O requests may be directed to externally-generated user data, e.g., write requests generated by a host coupled to the cluster, and internally-generated metadata, e.g., write and delete requests generated by a volume layer of the storage I/O stack. The user data (and metadata) may be organized as an arbitrary number of variable-length extents of one or more host-visible logical units (LUNs) served by the nodes. The metadata may include mappings from host-visible logical block address ranges (i.e., offset ranges) of a LUN to extent keys, which reference locations of the extents stored on storage devices, such as solid state drivers (SSDs), of a storage array coupled to the nodes.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: Christopher Joseph Corsi, Anshul Pundir, Michael L. Federwisch, Zhen Zeng
  • Patent number: 9740566
    Abstract: A technique efficiently creates a snapshot for a logical unit (LUN) served by a storage input/output (I/O) stack executing on a node of a cluster that organizes data as extents referenced by keys. In addition, the technique efficiently creates one or more snapshots for a group of LUNs organized as a consistency group (CG) and served by storage I/O stacks executing on a plurality of nodes of the cluster. To that end, the technique involves a plurality of indivisible operations (i.e., transactions) of a snapshot creation workflow administered by a Storage Area Network (SAN) administration layer (SAL) of the storage I/O stack in response to a snapshot create request issued by a host.
    Type: Grant
    Filed: September 29, 2015
    Date of Patent: August 22, 2017
    Assignee: NetApp, Inc.
    Inventors: Ling Zheng, Long Yang, Kayuri H. Patel, Suhas Prakash, Jeffrey S. Kimmel, Anshul Pundir, Arun Rokade
  • Publication number: 20170212891
    Abstract: A technique schedules processing of metadata managed by a volume layer of a storage input/output (I/O) stack executing on a node of cluster in a manner that reduces bursty activity associated with metadata processing and maintains smooth, i.e., bounded, processing latency on the node. Operations on the metadata managed by the volume layer manifest as modifications to metadata entries of data structures, i.e., dense trees, at offset ranges of the regions. The operations are dense tree merge operations that are processed by threads of execution, i.e., a uni-processor services, on one or more central processing units of the node. The scheduling technique distributes the bursty activity of the dense tree merge operations by (i) controlling concurrency of the merge operations, (ii) distributing initiation of the merge operations (i.e., staggering the merge operations), and (iii) pacing execution of merge messages to limit the continuous runtime of the merge operations.
    Type: Application
    Filed: January 25, 2016
    Publication date: July 27, 2017
    Inventors: Anshul Pundir, Ling Zheng, Michael L. Federwisch
  • Publication number: 20170192892
    Abstract: A technique provides memory efficient caching of metadata managed by a volume layer of a storage input/output stack executing on one or more nodes of a cluster. Efficient caching of the metadata in a memory of a node may be realized through the use of a caching data structure, i.e., a page cache, configured to store a key-value pair, wherein the key is an extent key and the value is a metadata page containing the index entries. The page cache illustratively includes two data structures configured to maintain the properties of Least Recently Used (LRU) and Least Frequently Used (LFU) for the cache. The first data structure is a hash table that stores a dense tree metadata page (value) indexed by the extent key. The second data structure is a recycle queue that controls the metadata page stored in the hash table based on spatial and temporal locality of the page.
    Type: Application
    Filed: January 6, 2016
    Publication date: July 6, 2017
    Inventors: Anshul Pundir, Ashwin Pednekar, Ling Zheng, Michael L. Federwisch
  • Publication number: 20170192710
    Abstract: A technique enables recovery of storage space trapped in an extent store due to overlapping write requests associated with metadata managed by a volume layer of a storage input/output stack executing on one or more nodes of a cluster. The metadata is organized as a multi-level dense tree metadata structure, wherein each level of the dense tree includes volume metadata entries for storing the metadata. When a level of the dense tree is full, the volume metadata entries of the level are merged with a next lower level of the dense tree in accordance with a dense tree merge operation. The technique may be invoked during the merge operation to process the volume metadata entries associated with the overlapping write requests at each level of the dense tree involved in the merge operation. Processing of the overlapping write requests during the merge operation may manifest as partial overwrites of one or more existing extents which, in turn, may result in logical storage space being trapped in the extent store.
    Type: Application
    Filed: January 5, 2016
    Publication date: July 6, 2017
    Inventors: Anshul Pundir, Ling Zheng, David Brittain Bolen
  • Publication number: 20170097771
    Abstract: A layout of a transaction log enables efficient logging of metadata into entries of the log, as well as efficient reclamation and recovery of the log entries by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The transaction log is illustratively a two stage, append-only logging structure, wherein the first level is non-volatile random access memory (NVRAM) embodied as a NV log and the second stage is disk, e.g., solid state drive (SSD). The layout of the logging structure facilitates steady-state logging of metadata managed by the volume layer and crash recovery. Steady-state logging of metadata into the log entries occurs while the storage I/O stack of a node actively processes I/O requests, while crash recovery of the log entries occurs after an unexpected shutdown of the node.
    Type: Application
    Filed: October 1, 2015
    Publication date: April 6, 2017
    Inventors: Srinath Krishnamachari, Anshul Pundir, Sriranjani Babu
  • Publication number: 20170097873
    Abstract: A layout of a transaction log enables efficient logging of metadata into entries of the log, as well as efficient reclamation and recovery of the log entries by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The transaction log is illustratively a two stage, append-only logging structure, wherein the first level is non-volatile random access memory (NVRAM) embodied as a NVlog and the second stage is disk, e.g., solid state drive (SSD). During crash recovery, the log entries are examined for consistency and scanned to identify those entries that have completed and those that are active, which require replay. The log entries are walked from oldest to newest (using sequence numbers) searching for the highest sequence number. Partially complete log entries (e.g., log entries in-progress when a crash occurs) may be discarded for failing a checksum (e.g., a CRC error).
    Type: Application
    Filed: October 6, 2015
    Publication date: April 6, 2017
    Inventors: Srinath Krishnamachari, Anshul Pundir, Sriranjani Babu
  • Publication number: 20170032005
    Abstract: A technique improves efficiency of a copy-on-write (COW) operation used to create a snapshot and/or clone by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The snapshot/clone may be represented as an independent volume, and embodied as a respective read-only copy (snapshot) or read-write copy (clone) of a parent volume. Volume metadata managed by the volume layer is organized as one or more multi-level dense tree metadata structures, wherein each level of the dense tree includes volume metadata entries for storing the metadata. The volume metadata entries may be organized as metadata pages having associated metadata page keys. Each metadata page is rendered distinct or “unique” from other metadata pages in an extent store layer of the storage I/O stack through the use of a multi-component uniqifier contained in a header of each metadata page.
    Type: Application
    Filed: July 31, 2015
    Publication date: February 2, 2017
    Inventors: Ling Zheng, Anshul Pundir
  • Publication number: 20170031774
    Abstract: A snap restore technique efficiently restores snapshots of storage containers served by a storage input/output (I/O) stack executing on one or more nodes of a cluster. A Small Computer Systems Interface administration layer interacts with a volume layer of the storage I/O stack to manage and implement a snap restore procedure to restore one or more snapshots of a storage container. The storage container may be a logical unit (LUN) embodied as parent volume (active volume) and the snapshot may be represented as an independent volume embodied as read-only copy of the active volume. The snap restore procedure may be configured to allow restoration to a single snapshot of a LUN or restoration of a plurality of LUNs organized as a consistency group from a group of snapshots.
    Type: Application
    Filed: July 31, 2015
    Publication date: February 2, 2017
    Inventors: David Brittain Bolen, Suhas Prakash, Anshul Pundir, Ling Zheng
  • Publication number: 20170031769
    Abstract: A technique efficiently creates a snapshot for a logical unit (LUN) served by a storage input/output (I/O) stack executing on a node of a cluster that organizes data as extents referenced by keys. In addition, the technique efficiently creates one or more snapshots for a group of LUNs organized as a consistency group (CG) and served by storage I/O stacks executing on a plurality of nodes of the cluster. To that end, the technique involves a plurality of indivisible operations (i.e., transactions) of a snapshot creation workflow administered by a Storage Area Network (SAN) administration layer (SAL) of the storage I/O stack in response to a snapshot create request issued by a host.
    Type: Application
    Filed: September 29, 2015
    Publication date: February 2, 2017
    Inventors: Ling Zheng, Long Yang, Kayuri H. Patel, Suhas Prakash, Jeffrey S. Kimmel, Anshul Pundir, Arun Rokade
  • Publication number: 20170010939
    Abstract: Embodiments herein are directed to efficient crash recovery of persistent metadata managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. Volume metadata managed by the volume layer is organized as a multi-level dense tree, wherein each level of the dense tree includes volume metadata entries for storing the volume metadata. When a level of the dense tree is full, the volume metadata entries of the level are merged with the next lower level of the dense tree. During a merge operation, two sets of generation IDs may be used in accordance with a double buffer arrangement: a first generation ID for the append buffer that is full (i.e., a merge staging buffer) and a second, incremented generation ID for the append buffer that accepts new volume metadata entries. Upon completion of the merge operation, the lower level (e.g., level 1) to which the merge is directed is assigned the generation ID of the merge staging buffer.
    Type: Application
    Filed: September 22, 2016
    Publication date: January 12, 2017
    Inventors: Anshul Pundir, Janice D'Sa, Srinath Krishnamachari, Ling Zheng
  • Patent number: 9501359
    Abstract: Embodiments herein are directed to efficient crash recovery of persistent metadata managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. Volume metadata managed by the volume layer is organized as a multi-level dense tree, wherein each level of the dense tree includes volume metadata entries for storing the volume metadata. When a level of the dense tree is full, the volume metadata entries of the level are merged with the next lower level of the dense tree. During a merge operation, two sets of generation IDs may be used in accordance with a double buffer arrangement: a first generation ID for the append buffer that is full (i.e., a merge staging buffer) and a second, incremented generation ID for the append buffer that accepts new volume metadata entries. Upon completion of the merge operation, the lower level (e.g., level 1) to which the merge is directed is assigned the generation ID of the merge staging buffer.
    Type: Grant
    Filed: September 10, 2014
    Date of Patent: November 22, 2016
    Assignee: NetApp, Inc.
    Inventors: Anshul Pundir, Janice D'Sa, Srinath Krishnamachari, Ling Zheng
  • Publication number: 20160077744
    Abstract: A deferred refcount update technique efficiently frees storage space for metadata (associated with data) to be deleted during a merge operation managed by a volume layer of a node. The metadata is illustratively volume metadata embodied as mappings from logical block addresses (LBAs) of a logical unit (LUN) to extent keys maintained by an extent store layer of the node. One or more requests to delete (or overwrite) an LBA range within a LUN may be captured as page keys associated with metadata pages during the merge operation and the storage space associated with those metadata pages may be freed in an out-of-band fashion. The page keys of the metadata pages may be persistently recorded in a reference count (refcount) log to thereby allow the merge operation to complete without resolving deletion of the keys. A batch of page keys may be organized as one or more delete requests and, once the merge completes, the keys may be inserted into the refcount log.
    Type: Application
    Filed: September 11, 2014
    Publication date: March 17, 2016
    Inventors: Anshul Pundir, Ashwin Pednekar, Srinath Krishnamachari, Ling Zheng
  • Publication number: 20160070618
    Abstract: Embodiments herein are directed to efficient crash recovery of persistent metadata managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. Volume metadata managed by the volume layer is organized as a multi-level dense tree, wherein each level of the dense tree includes volume metadata entries for storing the volume metadata. When a level of the dense tree is full, the volume metadata entries of the level are merged with the next lower level of the dense tree. During a merge operation, two sets of generation IDs may be used in accordance with a double buffer arrangement: a first generation ID for the append buffer that is full (i.e., a merge staging buffer) and a second, incremented generation ID for the append buffer that accepts new volume metadata entries. Upon completion of the merge operation, the lower level (e.g., level 1) to which the merge is directed is assigned the generation ID of the merge staging buffer.
    Type: Application
    Filed: September 10, 2014
    Publication date: March 10, 2016
    Inventors: Anshul Pundir, Janice D'Sa, Srinath Krishnamachari, Ling Zheng
  • Publication number: 20160070714
    Abstract: A low-overhead merge technique enables restart of a merge operation with minimal logging of state information relating to progress of the merge operation by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The technique enables restart of the merge operation by ensuring that metadata, i.e., metadata pages, generated during the merge operation is not subject to de-duplication by providing a unique value in each metadata page that distinguishes the page, i.e., renders the page distinct or “unique”, from other metadata pages in an extent store. In addition, the technique ensures that a reference count on each metadata page is a value denoting a lack of de-duplication. To that end, the extent store layer is configured to not increment the reference count for a metadata page if, during the merge operation, the page is identical (and thus subject to deduplication) to an existing metadata page in the extent store.
    Type: Application
    Filed: September 10, 2014
    Publication date: March 10, 2016
    Inventors: Janice D'Sa, Anshul Pundir, Srinath Krishnamachari, Ling Zheng