NetApp Patent Grants

Interconnect path failover

Granted: July 25, 2017
Patent Number: 9715435
One or more techniques and/or systems are provided for interconnect failover between a primary storage controller and a secondary storage controller. The secondary storage controller may be configured as a backup or failover storage controller for the primary storage controller in the event the primary storage controller fails. Data and/or metadata describing the data (e.g., data and/or metadata stored within a write cache) may be mirrored from the primary storage controller to the…

Data profiler

Granted: May 9, 2017
Patent Number: 9645881
One or more techniques and/or systems are provided for profiling a dataset. For example, a snapshot of a volume may be evaluated to identify a set of data characteristics, such as file and directory size information. A baseline dataset profile of a dataset of data within the volume may be constructed based upon the set of data characteristics. Histograms and graphs of directory counts and file counts may be constructed based upon the baseline dataset profile. An incremental dataset…

Methods and systems for dynamically controlled caching

Granted: March 28, 2017
Patent Number: 9606918
Systems and methods for improving caching mechanisms in a storage system are disclosed. The method includes storing data associated with a write input/output (I/O) request at a cache; determining an amount of dirty data stored in the cache, where the dirty data is data in the cache that has not yet been written to a persistent storage location managed by a storage system; determining if the amount of dirty data exceeds a threshold value; determining a cache flush rate based on the amount…

Mirror vote synchronization

Granted: June 7, 2016
Patent Number: 9361194
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.…

Survival site load balancing

Granted: May 24, 2016
Patent Number: 9348714
One or more techniques and/or systems are provided for load balancing between storage controllers. For example, a first storage controller and a second storage controller may be configured at a first storage site according to a high availability configuration, and may be configured as disaster recovery partners for a third storage controller and a fourth storage controller at a second storage site. If the first storage controller fails, the second storage controller provides failover…

Storage device health status synchronization

Granted: May 24, 2016
Patent Number: 9348715
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…

Atomic write operations for storage devices

Granted: April 5, 2016
Patent Number: 9304937
Atomic write operations for storage devices are implemented by maintaining the data that would be overwritten in the cache until the write operation completes. After the write operation completes, including generating any related metadata, a checkpoint is created. After the checkpoint is created, the old data is discarded and the new data becomes the current data for the affected storage locations. If an interruption occurs prior to the creation of the checkpoint, the old data is…

Cluster view for storage devices

Granted: April 5, 2016
Patent Number: 9305001
One or more techniques and/or systems are provided for generating a macroscopic cluster view of storage devices, as opposed to merely an isolated view from an individual node. For example, nodes within a node cluster may be queried for storage device reports comprising storage device information regarding storage devices with which the nodes are respectively connected (e.g., I/O performance statistics, path connections, storage device attributes, status, error history, etc.). The storage…

Automatic object model generation

Granted: January 26, 2016
Patent Number: 9244822
A target device, such as a storage controller, may host an interface that manages objects, such as storage objects (e.g., logical unit numbers (LUNs), volumes, etc.), maintained by the storage controller. Accordingly, an object on the storage controller may be modeled as an object model, such as an object oriented library, based upon modeling information mined from the storage controller. The object model may be automatically generated, such as by discovering the interface to the object…

Mobile hadoop clusters

Granted: December 29, 2015
Patent Number: 9223845
Techniques for mobile clusters for collecting telemetry data and processing analytic tasks, are disclosed herein. The mobile cluster includes a processor, a plurality of data nodes and an analysis module. The data nodes receive and store a snapshot of at least a portion of data stored in a main Hadoop storage cluster and real-time acquired data received from a data capturing device. The analysis module is operatively coupled to the processor to process analytic tasks based on the…

Remote office duplication

Granted: December 8, 2015
Patent Number: 9207872
Remote office deduplication comprises calculating one or more fingerprints of one or more data blocks, sending the one or more fingerprints to one or more backup servers via a network interface, receiving from the one or more backup servers an indication of which one or more data blocks corresponding to the one or more fingerprints should be sent to the one or more backup servers, and if the indication indicates one or more data blocks to be sent to the one or more backup servers,…

Knowledge filter

Granted: January 27, 2015
Patent Number: 8943069
A method and system for sharing knowledge may include receiving information input into a database and organizing items of information in the database. Some embodiments may also include collecting ratings and comments associated with each item of information and allowing users to access and sort items of information according to selected rating criteria in order to find the most reliable and/or valuable information from the database. The described system and method may allow individual…

Segmented fingerprint datastore and scaling a fingerprint datastore in de-duplication environments

Granted: December 2, 2014
Patent Number: 8904120
A storage server is coupled to a storage device that stores data blocks, and generates a fingerprint for each data block stored on the storage device. The storage server creates a master datastore and a plurality of datastore segments. The master datastore comprises an entry for each data block that is written to the storage device and a datastore segment comprises an entry for a new data block or a modified data block that is subsequently written to the storage device. The storage…

Intelligence for controlling virtual storage appliance storage allocation

Granted: October 28, 2014
Patent Number: 8874848
A change in workload characteristics detected at one tier of a multi-tiered cache is communicated to another tier of the multi-tiered cache. Multiple caching elements exist at different tiers, and at least one tier includes a cache element that is dynamically resizable. The communicated change in workload characteristics causes the receiving tier to adjust at least one aspect of cache performance in the multi-tiered cache. In one aspect, at least one dynamically resizable element in the…

Methods and apparatus for cut-through cache management for a mirrored virtual volume of a virtualized storage system

Granted: September 9, 2014
Patent Number: 8832367
Methods and apparatus for cut-through cache memory management in write command processing on a mirrored virtual volume of a virtualized storage system, the virtual volume comprising a plurality of physical storage devices coupled with the storage system. Features and aspects hereof within the storage system provide for receipt of a write command and associated write data from an attached host. Using a cut-through cache technique, the write data is stored in a cache memory and transmitted…

Systems, methods, and computer program products for scheduling processing to achieve space savings

Granted: August 19, 2014
Patent Number: 8812456
A method performed in a system that has a plurality of volumes stored to storage hardware, the method including generating, for each of the volumes, a respective space saving potential iteratively over time and scheduling space saving operations among the plurality of volumes by analyzing each of the volumes for space saving potential and assigning priority of resources based at least in part on space saving potential.

Communication with two or more storage devices via one SAS communication port

Granted: March 18, 2014
Patent Number: 8677048
One or more techniques and/or systems are disclosed for enabling communication between a SAS communication port of a SAS communication component and multiple storage devices. In a first example, a first SAS to SATA bridge chip and a second SAS to SATA bridge chip may be configured to route data from a SAS communication component to multiple storage devices. In a second example, a SAS to SATA bridge chip and a port multiplier may be configured to route data from a SAS communication…

Non-disruptive failover of RDMA connection

Granted: January 7, 2014
Patent Number: 8627136
A novel RDMA connection failover technique that minimizes disruption to upper subsystem modules (executed on a computer node), which create requests for data transfer. A new failover virtual layer performs failover of an RDMA connection in error so that the upper subsystem that created a request does not have knowledge of an error (which is recoverable in software and hardware), or of a failure on the RDMA connection due to the error. Since the upper subsystem does not have knowledge of…

Host side deduplication

Granted: December 31, 2013
Patent Number: 8620886
One or more techniques and/or systems are provided for performing host side deduplication. Host side deduplication may be performed upon writeable data within a write request received at a host computing device configured to access data stored by a storage server. The host side deduplication may be performed at the host computing device to determine whether the writeable data is already stored by the storage server based upon querying a host side cache comprising data stored by a storage…

Statistical profiling of cluster tasks

Granted: December 31, 2013
Patent Number: 8621070
A variety of complex multiphase tasks may execute within a cluster network environment. It may be advantageous to track and analyze the processing of such multiphase tasks. Accordingly, one or more techniques and/or systems are disclosed for tracking the processing of a multiphase task within a cluster network environment. In particular, runtime support for recording task processing annotations may be embedded into a multiphase task using an analysis model. The analysis model may specify…