NetApp Patent Grants

Metadata compaction

Granted: December 1, 2020
Patent Number: 10852994
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…

Multi-tenant security in the cloud

Granted: December 1, 2020
Patent Number: 10855688
A cloud asset manager can securely provide multi-tenant access to remote assets while preserving isolation across tenants. The remote asset manager defines various roles for legitimate users of the remote asset manager. The roles are associated with credentials that provide access to the remote assets and/or information about the remote assets maintained by a service provider. And the users map to roles based on attempted actions that access the service provider. Thus, a user's requested…

Implementing switchover operations between computing nodes

Granted: December 1, 2020
Patent Number: 10855515
One or more techniques and/or computing devices are provided for determining whether to perform a switchover operation between computing nodes. A first computing node and a second computing node, configured as disaster recovery partners, may be deployed within a computing environment. The first computing node and the second computing node may be configured to provide operational state information (e.g., normal operation, a failure, etc.) to a cloud environment node state provider and/or…

Peer to peer ownership negotiation

Granted: December 1, 2020
Patent Number: 10853339
A method of negotiating memory record ownership between network nodes, comprising: storing in a memory of a first network node a subset of a plurality of memory records and one of a plurality of file system segments of a file system mapping the memory records; receiving a request from a second network node to access a memory record of the memory records subset; identifying the memory record by using the file system segment; deciding, by a placement algorithm, whether to relocate the…

System and method for developing and implementing a migration plan for migrating a file system

Granted: December 1, 2020
Patent Number: 10853333
A computer system implements a file system migration by determining a destination namespace of a destination file system based at least in part on a namespace of a source file system. At least a portion of the destination namespace includes an organization that is altered as compared to a corresponding portion of the source namespace.

Techniques for asynchronous snapshot invalidation

Granted: December 1, 2020
Patent Number: 10853328
Asynchronous snapshot invalidation techniques are described. According to various such techniques, an enhanced file handle structure may be defined that includes a snapshot generation ID that is to comprise a value that singularly identifies a snapshot performed at a particular point in time. In some embodiments, when a snapshot ID assigned to that snapshot is reused at a subsequent point in time, a different snapshot generation ID may be assigned to that subsequent snapshot. With…

Deduplicating extents across systems based upon indications of shared extents provided by clients

Granted: December 1, 2020
Patent Number: 10853323
A client identifies a first data unit to be shared from a first file to a second file and sends an operation to copy that indicates the first data unit to be shared. The operation to copy the first data unit from the first file to the second file is received. In response to receiving the operation to copy the first data unit from the first file to the second file, it is determined whether the first data unit can be shared with the second file. In response to determining that the first…

Storage device health status synchronization

Granted: December 1, 2020
Patent Number: 10853210
One or more techniques and/or systems are provided for storage device health status synchronization. For example, a first health status registry is maintained for a first storage controller at a first storage site. The first storage controller stores storage device health status information of storage devices currently owned by or assigned to the first storage controller within the first health status registry. A second health status registry is maintained for a second storage controller…

Storage aggregate restoration

Granted: December 1, 2020
Patent Number: 10853203
One or more techniques and/or systems are provided for controlling restoration of a storage aggregate. For example, a local storage device, located at a first storage site, and a remote storage device, located at a second storage site, may be assigned to a first storage aggregate. Responsive to a disaster of the first storage site, a gate may be created for the local storage device. The gate may block automated reconstruction and/or automated synchronization that may otherwise occur with…

Object format resilient to remote object store errors

Granted: December 1, 2020
Patent Number: 10853166
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…

Persistent hole reservation

Granted: December 1, 2020
Patent Number: 10852985
Techniques are provided for persistent hole reservation. For example, hole reservation flags of operations targeting a first storage object of a first node are replicated into replication operations targeting a second storage object of a second node during a transition operation to transition the first storage object and the second storage object from an asynchronous replication state to a synchronous replication state. In another example, the second storage object is grown to a size of…

Mirror vote synchronization

Granted: December 1, 2020
Patent Number: 10852984
One or more techniques and/or systems are provided for mirror vote synchronization. For example, a first storage device is located at a first storage site, and a second storage device is located at a second storage site. The second storage device is configured according to a data mirroring configuration where data from the first storage device is mirrored to the second storage device. Mirror vote metadata is generated based upon an up-to-date state of the data mirroring configuration.…

Transferring snapshot copy to object store with deduplication preservation and additional compression

Granted: December 1, 2020
Patent Number: 10852976
Techniques are provided for incremental snapshot copy to an object store. A list of deallocated block numbers of primary storage of a computing device are identified. Entries for the list of deallocated block numbers are removed from a mapping metafile. A list of changed block numbers corresponding to changes between a current snapshot of the primary storage and a prior copied snapshot copied from the primary storage to the object store is determined. The mapping metafile is evaluated…

Overlapping write detection and processing for sync replication

Granted: December 1, 2020
Patent Number: 10852961
A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request…

System and method for hijacking inodes based on replication operations received in an arbitrary order

Granted: December 1, 2020
Patent Number: 10852958
A system and method for hijacking inodes based on replication operations received in an arbitrary order is used to assist a data replication operation from a source storage system to a destination storage system. The source storage system generates a set of replication operations as part of a replication process and transmits the replication operations in an arbitrary order. After receiving a replication operation, the system determines whether the operation is inconsistent with a…

Extensible and elastic data management services engine external to a storage domain

Granted: September 8, 2020
Patent Number: 10769212
A data management services architecture includes architectural components that run in both a storage and compute domains. The architectural components redirect storage requests from the storage domain to the compute domain, manage resources allocated from the compute domain, ensure compliance with a policy that governs resource consumption, deploy program code for data management services, dispatch service requests to deployed services, and monitor deployed services. The architectural…

Techniques for LIF placement in san storage cluster synchronous disaster recovery

Granted: September 8, 2020
Patent Number: 10769037
Improved techniques for disaster recover within storage area networks are disclosed. Embodiments include replicating a LIF of a primary cluster on a secondary cluster. LIF configuration information is extracted from the primary cluster. A peer node from a secondary cluster is located. One or more ports are located on the located peer node that match a connectivity of the LIF from the primary cluster. One or more ports are identified based upon one or more filtering criteria to generate a…

Incremental transfer with unused data block reclamation

Granted: September 8, 2020
Patent Number: 10769024
One or more techniques and/or systems are provided for incremental transfer with unused data block reclamation. For example, source volume of a source storage filer may have a physical replication relationship with a destination volume of a destination storage filer. Snapshots of a file system of the source volume may be used to identify new data blocks (e.g., data blocks allocated or reallocated to a new snapshot) and/or unused data blocks (e.g., data blocks of a deleted snapshot) used…

Real-time analysis for dynamic storage

Granted: September 8, 2020
Patent Number: 10768817
One or more techniques and/or systems are provided for dynamically provisioning logical storage pools of storage devices for applications. For example, a logical storage pool, of one or more storage devices, may be constructed based upon a service level agreement for an application (e.g., an acceptable latency, an expected throughput, etc.). Real-time performance statistics of the logical storage pool may be collected and evaluated against the service level agreement to determine whether…

Method to address misaligned holes and writes to end of files while performing quick reconcile operation during synchronous filesystem replication

Granted: September 1, 2020
Patent Number: 10761768
Techniques are provided for handling misaligned holes and writes beyond end of files during a quick reconciliation process. During quick reconciliation, a read operation is performed to read data from a first storage object and is replicated to a second storage object. If the data read from the first storage object comprises misaligned holes, then a different range of data is read from the first storage object so that aligned holes are read and replicated to the second storage object. If…