Patents Assigned to NetApp, Inc.
  • Publication number: 20140359236
    Abstract: An application may store data to a dataset comprising a plurality of volumes stored on a plurality of storage systems. The application may request a dataset image of the dataset, the dataset image comprising a volume image of each volume of the dataset. A dataset image manager operates with a plurality of volume image managers in parallel to produce the dataset image, each volume image manager executing on a storage system. The plurality of volume image managers respond by performing requested operations and sending responses to the dataset image manager in parallel. Each volume image manager on a storage system may manage and produce a volume image for each volume of the dataset stored to the storage system. If a volume image for any volume of the dataset fails, or a timeout period expires, a cleanup procedure is performed to delete any successful volume images.
    Type: Application
    Filed: May 28, 2013
    Publication date: December 4, 2014
    Applicant: NetApp, Inc.
    Inventors: Stephen Wu, Prathamesh Deshpande, Manan Patel
  • Publication number: 20140359235
    Abstract: An application may store data to a dataset comprising a plurality of volumes stored on a plurality of storage systems. The application may request a dataset image of the dataset, the dataset image comprising a volume image of each volume of the dataset. A dataset image manager operates with a plurality of volume image managers in parallel to produce the dataset image, each volume image manager executing on a storage system. The plurality of volume image managers respond by performing requested operations and sending responses to the dataset image manager in parallel. Each volume image manager on a storage system may manage and produce a volume image for each volume of the dataset stored to the storage system. If a volume image for any volume of the dataset fails, or a timeout period expires, a cleanup procedure is performed to delete any successful volume images.
    Type: Application
    Filed: May 28, 2013
    Publication date: December 4, 2014
    Applicant: NETAPP, INC.
    Inventors: Stephen Wu, Prathamesh Deshpande, Manan Patel
  • Patent number: 8903995
    Abstract: A network server analyzes a change in the network, including performing a machine-learning analysis of an extrapolation space. The server accesses observed data from multiple counters that each record samples for a metric in the network. The server performs a CART (classification and regression tree) analysis of the observed data to select the counters whose metrics affect a target network performance, such as latency. The server estimates an extrapolation space based on the observed data for the selected counters. The server then performs a machine-learning analysis of the extrapolation space based on a kriging model of the selected counters.
    Type: Grant
    Filed: July 19, 2012
    Date of Patent: December 2, 2014
    Assignee: NetApp, Inc.
    Inventors: Jayanta Basak, Vipul Mathur, Siddhartha Nandi, Srinivasan Narayanamurthy, Kaladhar Voruganti
  • Patent number: 8903830
    Abstract: A plurality of storage devices is organized into a physical volume called an aggregate, and the aggregate is organized into a global storage space, and a data block is resident on one of the storage devices of the plurality of storage devices. A plurality of virtual volumes is organized within the aggregate and the data block is allocated to a virtual volume. A physical volume block number (pvbn) is selected for the data block from a pvbn space of the aggregate, and virtual volume block number (vvbn) for the data block is selected from a vvbn space of the selected vvol. Both the selected pvbn and the selected vvbn are inserted in a parent block as block pointers to point to the allocated data block on the storage device.
    Type: Grant
    Filed: September 10, 2013
    Date of Patent: December 2, 2014
    Assignee: NetApp, Inc.
    Inventor: John K. Edwards
  • Patent number: 8904144
    Abstract: Methods and systems for determining at risk indexes of a plurality of storage containers in a data storage system are disclosed. The available allocated capacities of the storage containers are determined and converted to respective allocated capacities in time periods. The available unallocated capacities of the storage containers are determined and converted to respective unallocated capacities in time periods. The at risk indexes of the storage containers are determined from the sum of the respective allocated capacity in time periods and the respective unallocated capacity in time periods.
    Type: Grant
    Filed: May 24, 2012
    Date of Patent: December 2, 2014
    Assignee: NetApp, Inc.
    Inventor: Raja S. Chelur
  • Patent number: 8904135
    Abstract: A system implements a method to non-disruptive restoration of storage services provided by a storage volume of the system. Upon detecting a disruption of storage services at the storage volume, the method freezes the input/output (I/O) operations of applications that are accessing the storage volume. The disrupted storage services are restored. And the configurations of the storage volume are maintained during restoration of the disrupted storage services. Afterward, the frozen I/O operations are activated, allowing the applications to continue their accessing of the storage volume.
    Type: Grant
    Filed: October 8, 2013
    Date of Patent: December 2, 2014
    Assignee: NetApp, Inc.
    Inventors: Manish D. Patel, Boris Teterin
  • Patent number: 8904007
    Abstract: Example embodiments provide various techniques for distributing connections within a connectional parallelism architecture. In one embodiment, a method is provided where resource utilizations of connection groups are measured. Here, each connection group is assigned to one of multiple processors. A probability distribution is accessed that maps probabilities assigned to relative resource utilizations. A relative resource utilization of one of the connection groups is determined based on a resource utilization of the one connection group relative to other resource utilizations of other connection groups. A probability from the probability distribution is identified based on the determined relative resource utilization, and based on the identified probability, a connection is assigned to this connection group for execution by one of the processors assigned to this connection group.
    Type: Grant
    Filed: August 24, 2011
    Date of Patent: December 2, 2014
    Assignee: NetApp, Inc.
    Inventors: Gokul Nadathur, Anumita Biswas
  • Patent number: 8904120
    Abstract: 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 server merges the entries in the datastore segments with the entries in the master datastore in memory to free duplicate data blocks in the storage device. The storage server overwrites the master datastore with the entries in the plurality of datastore segments and the entries in the master datastore to create an updated master datastore in response to detecting that the number of datastore segments meets a threshold.
    Type: Grant
    Filed: December 15, 2010
    Date of Patent: December 2, 2014
    Assignee: NetApp Inc.
    Inventors: Praveen Killamsetti, Subramaniam V. Periyagaram, Satbir Singh, Bipul Raj
  • Patent number: 8904231
    Abstract: Synchronous local and cross-site switchover and switchback operations of a node in a disaster recovery (DR) group are described. In one embodiment, during switchover, a takeover node receives a failover request and responsively identifies a first partner node in a first cluster and a second partner node in a second cluster. The first partner node and the takeover node form a first high-availability (HA) group and the second partner node and a third partner node in the second cluster form a second HA group. The first and second HA groups form the DR group and share a storage fabric. The takeover node synchronously restores client access requests associated with a failed partner node at the takeover node.
    Type: Grant
    Filed: August 8, 2012
    Date of Patent: December 2, 2014
    Assignee: NetApp, Inc.
    Inventors: Susan Coatney, Thomas B. Bolt, Laurent Lambert, Vaiapuri Ramasubramaniam, Chaitanya Patel, Sreelatha S. Reddy, Hrishikesh Keremane, Harihara Kadayam
  • Patent number: 8904230
    Abstract: A storage server resizes an array of mass storage devices and distributes data blocks stored in the array of mass storage devices evenly in a declustered organization across the resized array of mass storage devices. Resizing the array of mass storage devices may include adding a new mass storage device to the array or removing a mass storage device from the array. During resizing a data block is moved from one mass storage device to another mass storage device to minimize the imbalance of parity groups shared by the new mass storage devices in the array, as well as minimize the number of data blocks to be moved to uniformly balance the load across the new mass storage device.
    Type: Grant
    Filed: May 23, 2013
    Date of Patent: December 2, 2014
    Assignee: NetApp, Inc.
    Inventors: Atul Goel, Yan Li
  • Patent number: 8903761
    Abstract: A system and method maintains mappings from data containers to their parent directories within a file system of a storage system. Each inode is modified to include a primary name data structure comprising a parent directory inode and a parent directory cookie value. The parent directory cookie value identifies a particular directory entry within a specified block of a directory identified by parent directory inode. An alternate name file is utilized to store alternate names, such as those associated with hard links.
    Type: Grant
    Filed: May 6, 2010
    Date of Patent: December 2, 2014
    Assignee: NetApp, Inc.
    Inventors: Edward R. Zayas, Thomas Haynes, John Francis Gillono, Andy C. Kahn, Sreelatha S. Reddy
  • Publication number: 20140351511
    Abstract: A method and apparatus for queuing FBNs of received write blocks for a file to a queuing data structure for assigning LBNs to the FBNs is described herein. A queuing data structure may comprise a modified binary search tree, such as a modified red-black search tree. Each node of a queuing data structure may comprise a base field for storing a base FBN and a range field for storing a range value comprising X bits. The range field of a single node may represent a range of two or more FBNs (“FBN range”), the FBN range being based on the base FBN. Each FBN in the FBN range may have a corresponding bit in the range field, the base FBN corresponding to a “base bit” in the range field. The value of the corresponding bit in the range field may indicate whether the FBN has been received.
    Type: Application
    Filed: July 21, 2014
    Publication date: November 27, 2014
    Applicant: NETAPP, INC.
    Inventor: Shiow-wen Wendy Cheng
  • Publication number: 20140351492
    Abstract: Described herein is a system and method for high speed non-volatile random access memory (NVRAM) emulation. The system and method may utilize a primary storage device and a volatile random access memory (RAM) device to emulate NVRAM functionality. The system and method may allocate a range of the primary storage device. The storage capacity or size of the allocated range may correspond or be at least partially based on a storage capacity or size of the volatile RAM device. Data, such as write requests, may be migrated from the primary storage device to the volatile RAM device. In the event of the unavailability, loss of power, or other such circumstances of the volatile RAM device, data from the volatile RAM device may be migrated back to the previously allocated range of the primary storage device.
    Type: Application
    Filed: July 21, 2014
    Publication date: November 27, 2014
    Applicant: NETAPP, INC.
    Inventor: Jyh-shing Chen
  • Publication number: 20140351506
    Abstract: The embodiments described herein provide a system and method for efficiently storing small, random modifications or changes to data on one or more storage devices, such as disks, of storage servers coupled to a host computer in a network environment. Illustratively, the data is stored in a region of a byte-addressable, persistent memory of the host computer and is replicated (i.e., copied) as changed data of the region on the disks at the granularity at which it was modified, e.g., at the byte-addressable granularity. To that end, each storage server employs a data structure (e.g., a Fibonacci array) that is configured to efficiently accumulate the small, random data changes into one or more large blocks of changed data for storage on the disks in a manner that realizes the streaming bandwidth of the disk.
    Type: Application
    Filed: May 23, 2013
    Publication date: November 27, 2014
    Applicant: NetApp, Inc.
    Inventor: Douglas Joseph Santry
  • Publication number: 20140351507
    Abstract: A system including a first array of storage drives in communication with a storage controller, the storage controller providing virtualized storage with the first array of storage drives; an application server running a storage warehouse application and communicatively coupled to a host device and the storage controller; and a communication port expander providing expansion slots to a first enclosure, wherein the first array of storage drives, the application server, and the communication port expander are contained in the first enclosure separate from the controller, further wherein the controller controls the first array of storage drives and is in communication with the first array of storage drives through the communication port expander.
    Type: Application
    Filed: May 23, 2013
    Publication date: November 27, 2014
    Applicant: NetApp, Inc.
    Inventor: Mohamad El-Batal
  • Publication number: 20140351535
    Abstract: A system and method enables efficient implementation of snapshots of data organized as arbitrary data structures on a byte-addressable persistent memory of a host computer. A user-level library of the host computer may configure the persistent memory as a software transactional memory (STM) system defined by operations, such as a STM commit operation, that ensure safe and consistent storage of the data (i.e., the data structures) within a region of the persistent memory. The library may then cooperate with an application executing on the host computer to control access to a data structure, e.g., to change a datum, stored in the region of the persistent memory as a transaction using the STM commit operation. Within a context of the transaction, the library may precisely determine which byte or bytes of the datum have changed within the region, as well as how and when the bytes have changed. Armed with precise knowledge of the context of the transaction, the library may efficiently implement a snapshot (i.e.
    Type: Application
    Filed: May 23, 2013
    Publication date: November 27, 2014
    Applicant: NetApp, Inc.
    Inventor: Douglas Joseph Santry
  • Publication number: 20140350889
    Abstract: The present invention provides methods, systems, apparatus, and computer software/program code products adapted for operating in, or in conjunction with, an otherwise conventional computing system, and which enable evaluating, monitoring and predicting the performance of computer systems and individual elements or groups of elements within such computer systems.
    Type: Application
    Filed: July 24, 2014
    Publication date: November 27, 2014
    Applicant: NETAPP, INC.
    Inventors: George Smirnov, Leon Fairbanks, Kenneth Hu, David Kaeli
  • Publication number: 20140351536
    Abstract: A system and method for efficiently replicating data stored in a byte-addressable, persistent memory of a host computer. A user-level library of the host computer may configure the persistent memory as a software transactional memory (STM) system defined by operations, such as a STM commit operation, that ensure safe and consistent storage of the data within a region of the persistent memory. The library may then cooperate with an application executing on the host computer to control access to the data, e.g., to change the data, as a transaction using the STM commit operation. Within a context of the transaction, the library may precisely determine which bytes of the data have changed within the region, as well as how and when the data bytes have changed. Armed with precise knowledge of the context of the transaction, the library may efficiently replicate the changed data at the byte-addressable granularity.
    Type: Application
    Filed: May 23, 2013
    Publication date: November 27, 2014
    Applicant: NetApp, Inc.
    Inventor: Douglas Joseph Santry
  • Publication number: 20140351539
    Abstract: Described herein is a system and method for retaining deduplication of data blocks of a resulting storage object (e.g., a flexible volume) from a split operation of a clone of a base storage object. The clone may comprise data blocks that are shared with at least one data block of the base storage object and at least one data block that is not shared with at least one data block of the base storage object. The data blocks of the clone that are shared with the base storage object may be indicated to receive a write allocation that may comprise assigning a new pointer to a indicated data block. Each data block may comprise a plurality of pointers comprising a virtual address pointer and a physical address pointer. As such, data blocks of the clone comprising the same virtual address pointer may be assigned a single physical address pointer. Thus, a new physical address pointer is assigned or allocated once to a given virtual address pointer of data blocks of a clone.
    Type: Application
    Filed: August 12, 2014
    Publication date: November 27, 2014
    Applicant: NETAPP, INC.
    Inventors: Bipul Raj, Alok Sharma
  • Publication number: 20140351393
    Abstract: Systems and methods which allow for one or more input/output (I/O) ports residing on a device in a storage network environment to be reconfigured in order to communicate using different protocols are provided. Embodiments may provide for dynamic reconfiguration of an I/O port while the device including the port is deployed in the storage network. In some instances, such reconfiguration may be managed locally and/or by a remote management processing resource in the storage network. In some embodiments, reconfiguration of an I/O port to communicate in a different protocol may be implemented, either manually or automatically, based on observed traffic data.
    Type: Application
    Filed: May 23, 2013
    Publication date: November 27, 2014
    Applicant: NetApp, Inc.
    Inventors: Tao Jin, Evan Chiu, Hua Li, Roland Guioguio, Wendell Griggs, James Loo