Abstract: The disclosed technology relates determining a first subset of a plurality drives having a first zone size and a second subset of the plurality of drives having a second zone size different from the first zone size, within a redundant array of independent disks (RAID) group. A prevailing zone size between the first zone size and the second zone size is determined. One or more logical zones within the determined first subset of the plurality of drives and the determined second subset of the plurality of drives for a received input-output operation is reserved based on the determined prevailing zone size.
Type:
Application
Filed:
February 27, 2024
Publication date:
June 20, 2024
Applicant:
NetApp, Inc.
Inventors:
Rohit Shankar SINGH, Douglas P. Doucette, Abhijeet Prakash Gole, Sushilkumar Gangadharan
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
Abstract: Techniques are provided for enforcing policies at a sub-logical unit number (LUN) granularity, such as at a virtual disk or virtual machine granularity. A block range of a virtual disk of a virtual machine stored within a LUN is identified. A quality of service policy object is assigned to the block range to create a quality of service workload object. A target block range targeted by an operation is identified. A quality of service policy of the quality of service policy object is enforced upon the operation using the quality of service workload object based upon the target block range being within the block range of the virtual disk.
Abstract: Systems and methods for sampling a set of block IDs to facilitate estimating an amount of data stored in a data set of a storage system having one or more characteristics are provided. According to an example, metadata (e.g., block headers and block IDs) may be maintained regarding multiple data blocks of the data set. When one or more metrics relating to the data set are desired, an efficiency set, representing a subset of the block IDs of the data set, may be created to facilitate efficient calculation of the metrics by sampling the block IDs of the data set. Finally, the metrics may be estimated based on the efficiency set by analyzing one or more of the metadata (e.g., block headers) and the data contained in the data blocks corresponding to the subset of the block IDs and extrapolating the metrics for the entirety of the data set.
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.
Type:
Grant
Filed:
April 11, 2022
Date of Patent:
June 18, 2024
Assignee:
NetApp, Inc.
Inventors:
Matthew Curtis-Maury, Vinay Devadas, Aditya Kulkarni
Abstract: With a forever incremental snapshot configuration and a typical caching policy (e.g., least recently used), a storage appliance may evict stable data blocks of an older snapshot, perhaps unchanged data blocks of the snapshot baseline. If stable data blocks have been evicted, restore of a recent snapshot will suffer the time penalty of downloading the stable blocks for restoring the recent snapshot. Creating synthetic baseline snapshots and refreshing eviction data of stable data blocks can avoid eviction of stable data blocks and reduce the risk of violating a recovery time objective.
Abstract: Techniques are provided for backing up and restoring a file system or storage virtual machine located within a remote object store. A specification is parsed to identify resources associated with and including a primary resource hosted within a remote object store and to identify REST API endpoints of the resources. GET operations targeting the REST API endpoints of the resources are performed to retrieve the resources and properties of the resources. A link relationship specification is parsed to identify links corresponding to dependencies amongst the resources. A backup of the primary resource is generated to include the resources, the properties of the resources, and dependency information derived from the links. The backup can be used to restore the primary resource to the remote object store in manner that preserves the dependencies amongst the resources.
Type:
Grant
Filed:
April 4, 2022
Date of Patent:
June 4, 2024
Assignee:
NetApp, Inc.
Inventors:
John Ethan DeGraaf, Sangramsinh Pandurang Pawar, Rajesh Rajaraman
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.
Abstract: Systems, methods, and machine-readable media are disclosed for detecting sensitive personal information in a file. An entity extractor may extract a set of terms and a set of person candidates from a sentence in a file. Each term of the set of terms belongs to a set of sensitive categories. For a verb in the sentence, a relationship builder may determine a relationship between the respective verb, a subject, and an object in the sentence, where the respective verb, the subject, or the object includes a term. An event detector may determine, based on the relationship, that the term relates to a person from the set of set of person candidates and to a sensitive category. The event detector may create an event specifying the term, the sensitive category, and the person in response to determining that the term relates to the person and to the sensitive category.
Abstract: Multi-site distributed storage systems and computer-implemented methods are described for improving a resumption time of input/output (I/O) operations during a common snapshot process for storage objects. A computer-implemented method comprises performing a baseline transfer from at least one storage object of a first storage node to at least one replicated storage object of a second storage node, starting the common snapshot process including stop processing of I/O operations, performing a snapshot create operation on the primary storage site for the at least one storage object of the first storage node, resuming processing of I/O operations, and assigning a new universal unique identifier (UUID) to the at least one storage object of the second storage node after resuming processing of I/O operations with the new UUID to identify when file system contents are different than the baseline transfer.
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
Abstract: In one embodiment, a method comprises maintaining state information regarding a data replication status for a storage object of the storage node of a primary storage cluster with the storage object being replicated to a replicated storage object of a secondary storage cluster, temporarily disallowing input/output (I/O) operations when the storage object has a connection loss or failure. The method further includes initiating a resynchronization between the storage object and the replicated storage object including initiating asynchronous persistent inflight tracking and replay of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster, and allowing new I/O operations to be handled with the storage object of the primary storage cluster without waiting for completion of the asynchronous persistent inflight tracking and replay at the secondary storage cluster.
Abstract: Systems and methods are described for efficiently processing events related to a relationship between a primary copy of data at a primary storage system and a mirror copy of the data at a cross-site secondary storage system of a multi-site distributed storage system. According to an example, a mediator agent that is configured on both primary and secondary storage systems provides coordination and serialization for various events generated in the relationship. The multi-site distributed storage system performs actions based on the event processing such as performing a failover operation from the primary storage system to the secondary storage system or resynchronizing the relationship to ensure application protection and availability.
Type:
Application
Filed:
February 1, 2024
Publication date:
May 23, 2024
Applicant:
NetApp, Inc.
Inventors:
Anoop Vijayan, Akhil Kaushik, Sohan Shetty, Dhruvil Shah
Abstract: In one embodiment, a method comprises maintaining state information regarding a data synchronous replication status for a storage object of a primary storage cluster and a replicated storage object of a secondary storage cluster. The method includes temporarily disallowing input/output (I/O) operations for the storage object when the storage object of the primary storage cluster has a failure, which causes an internal state as out of sync for the storage object while maintaining an external state as in sync for external entities. The method performs persistent inflight tracking and reconciliation of I/O operations with a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster and performs a resynchronization between the storage object and the replicated storage object based on the persistent inflight tracking and reconciliation of I/O operations.
Abstract: One or more techniques and/or systems are provided for migrating a trust relationship. For example, a first storage cluster and a second storage cluster have a disaster recovery relationship where the second storage cluster provides failover client access to replicated data, replicated from the first storage cluster to the second storage cluster, in the event the first storage cluster fails. The first storage cluster may have a trust relationship with a third storage cluster, such that data is mirrored from a volume of the first storage cluster into a mirrored volume of the third storage cluster based upon the trust relationship. In the event the first storage cluster fails over to the second storage cluster due to a disaster at the first storage cluster, the trust relationship is migrated to be between the second storage cluster and the third storage cluster for non-disruptive mirroring of data to the mirrored volume.
Abstract: Systems and methods that make use of cluster-level redundancy within a distributed storage management system to address various node-level error scenarios are provided. Rather than making use of a generalized one-size-fits-all approach in an effort to reduce complexity, an approach tailored to the node-level error scenario at issue may be performed to avoid doing more than necessary. According to one embodiment, responsive to identification of a failed RAID stripe by a node of a cluster of a distributed storage management system, for each block ID of multiple block IDs associated with the failed RAID stripe, a data block is restored corresponding to the block ID by reading the data block from another node of the cluster having a redundant copy of the data block; and writing the redundant copy of the data block to a storage area of the node that is unaffected by the failed RAID stripe.
Type:
Grant
Filed:
February 25, 2022
Date of Patent:
May 14, 2024
Assignee:
NetApp, Inc.
Inventors:
Wei Sun, Anil Paul Thoppil, Anne Maria Vasu
Abstract: Techniques are provided for incrementally restoring a virtual machine hosted by a computing environment. In response to receiving an indication that the virtual machine is to be incrementally restored, a snapshot of the virtual machine may be created while the virtual machine is shut down into an off state. The snapshot is transmitted to a storage environment as a common snapshot. The snapshot and the common snapshot are common snapshots comprising a same representation of the virtual machine. The common snapshot and a prior snapshot of the virtual machine are evaluated to identify a data difference of the virtual machine between the common snapshot and the prior snapshot. An incremental restore is performed of the virtual machine by transmitting the data difference from the storage environment to the computing environment to restore the virtual machine to a state represented by the prior snapshot.
Type:
Grant
Filed:
March 27, 2023
Date of Patent:
May 7, 2024
Assignee:
NetApp, Inc.
Inventors:
Abhishek Naidu, Jose Mathew, Ling Zheng, Ravindra Kuramkote
Abstract: Techniques are provided for restoring a directory from a snapshot of a volume backed up to an object store. The snapshot may be backed up from a node to the object store, such as a cloud computing environment. A user may want to restore the directory within the volume without having to restore the entire volume, which otherwise would waste computing resources, storage, network bandwidth, and time. Accordingly, the techniques provided herein are capable of restoring just the directory from the snapshot that is stored within the object store. Because snapshot data of the snapshot may be stored across multiple objects within the object store, certain objects are identified as comprising snapshot data (backup data) of the directory and content items within the directory. In this way, the snapshot data of the directory is restored from these objects to a restore directory at a restore target.
Abstract: The disclosed technology relates to receiving an executable function from a client device, wherein the executable function is to be executed on a function as a service (FaaS) platform. Upon performing a verification and validation process on the received executable function prior to runtime, it is determined when to execute the received executable function based on based on one or more execution initiation techniques upon performing. The verified and validated executable function is executed at the runtime on the FaaS platform based on the determination.
Abstract: A method for managing data storage using a distributed file system. A file system volume associated with a write request received at a data management subsystem is identified. A logical block device associated with the file system volume is identified. A plurality of data blocks is formed based on the write request. The plurality of data blocks is distributed across a plurality of node block stores in a distributed block layer of a storage management subsystem of the distributed file system. Each of the plurality of node block stores corresponds to a different node of a plurality of nodes in the distributed storage system. The storage management subsystem operates separately from but in communication with the data management subsystem.