NetApp Patent Grants

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…

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…

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…

Intercluster relationship management

Granted: December 31, 2013
Patent Number: 8621569
Data storage and management systems can be interconnected as clustered systems to distribute data and operational loading. Further, independent clustered storage systems can be associated to form peered clusters. As provided herein, methods and systems for creating and managing intercluster relationships between independent clustered storage systems, allowing the respective independent clustered storage systems to exchange data and distribute management operations between each other…

Virtual machine fault tolerance

Granted: December 31, 2013
Patent Number: 8621274
One or more techniques and/or systems are provided for hosting a virtual machine from a snapshot. In particular, a snapshot of a virtual machine hosted on a primary computing device may be created. The virtual machine may be hosted on a secondary computing device using the snapshot, for example, when a failure of the virtual machine on the primary computing device occurs. If a virtual machine type (format) of the snapshot is not supported by the secondary computing device, then the…

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…

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…

Cloning virtual machines

Granted: October 22, 2013
Patent Number: 8566821
While current solutions for cloning virtual machines can involve copying and duplicating files associated to a virtual machine (VM), systems and techniques can be devised to create thin clones of a VM using the VM's associated storage system to copy and deduplicate storage for the VMs. One can create a base VM in a directory of a storage container attached to a hypervisor, and then map the storage container to a volume on a storage system. One can clone the base VM using a snapshot of…

Data recovery for failed memory device of memory device array

Granted: October 15, 2013
Patent Number: 8560879
Some aspects of the disclosure relate to a data storage system that includes multiple memory device storage devices. If a memory device of a memory device array fails within a first data storage device, some portions of the lost or corrupted data from the failed memory device are recovered by reading them from a second data storage device. Other portions of the lost or corrupted data from the failed memory device are recovered from parity information in the first data storage device.

Efficient data access in clustered storage system

Granted: October 8, 2013
Patent Number: 8554867
Methods and/or systems for efficiently handling a request from a client for a target component (e.g., file) stored on a remote or secondary node in a clustered storage system are provided. In response to a request from the client for the target component, a first node to which the client is locally connected retrieves a list of one or more logical interfaces (LIFs) and generates a response comprising an indication that the requested target component is not covered by this first node and…

Servicing daemon for live debugging of storage systems

Granted: March 19, 2013
Patent Number: 8402170
A servicing daemon is described herein for providing servicing of a running computer system (such as a filer). The servicing daemon resides and executes on the operating system of the filer and communicates across a network with a debugger that resides and executes on a remote administering computer. A debugging session is performed that complies with a protocol relating to the remote accessing of files. The debugging session provides live servicing of an application executing on the…