Patents Assigned to NetApp, Inc.
-
Publication number: 20140359236Abstract: 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: ApplicationFiled: May 28, 2013Publication date: December 4, 2014Applicant: NetApp, Inc.Inventors: Stephen Wu, Prathamesh Deshpande, Manan Patel
-
Publication number: 20140359235Abstract: 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: ApplicationFiled: May 28, 2013Publication date: December 4, 2014Applicant: NETAPP, INC.Inventors: Stephen Wu, Prathamesh Deshpande, Manan Patel
-
Patent number: 8903995Abstract: 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: GrantFiled: July 19, 2012Date of Patent: December 2, 2014Assignee: NetApp, Inc.Inventors: Jayanta Basak, Vipul Mathur, Siddhartha Nandi, Srinivasan Narayanamurthy, Kaladhar Voruganti
-
Patent number: 8903830Abstract: 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: GrantFiled: September 10, 2013Date of Patent: December 2, 2014Assignee: NetApp, Inc.Inventor: John K. Edwards
-
Patent number: 8904144Abstract: 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: GrantFiled: May 24, 2012Date of Patent: December 2, 2014Assignee: NetApp, Inc.Inventor: Raja S. Chelur
-
Patent number: 8904135Abstract: 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: GrantFiled: October 8, 2013Date of Patent: December 2, 2014Assignee: NetApp, Inc.Inventors: Manish D. Patel, Boris Teterin
-
Patent number: 8904007Abstract: 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: GrantFiled: August 24, 2011Date of Patent: December 2, 2014Assignee: NetApp, Inc.Inventors: Gokul Nadathur, Anumita Biswas
-
Patent number: 8904120Abstract: 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: GrantFiled: December 15, 2010Date of Patent: December 2, 2014Assignee: NetApp Inc.Inventors: Praveen Killamsetti, Subramaniam V. Periyagaram, Satbir Singh, Bipul Raj
-
Patent number: 8904231Abstract: 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: GrantFiled: August 8, 2012Date of Patent: December 2, 2014Assignee: NetApp, Inc.Inventors: Susan Coatney, Thomas B. Bolt, Laurent Lambert, Vaiapuri Ramasubramaniam, Chaitanya Patel, Sreelatha S. Reddy, Hrishikesh Keremane, Harihara Kadayam
-
Patent number: 8904230Abstract: 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: GrantFiled: May 23, 2013Date of Patent: December 2, 2014Assignee: NetApp, Inc.Inventors: Atul Goel, Yan Li
-
Patent number: 8903761Abstract: 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: GrantFiled: May 6, 2010Date of Patent: December 2, 2014Assignee: NetApp, Inc.Inventors: Edward R. Zayas, Thomas Haynes, John Francis Gillono, Andy C. Kahn, Sreelatha S. Reddy
-
Publication number: 20140351511Abstract: 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: ApplicationFiled: July 21, 2014Publication date: November 27, 2014Applicant: NETAPP, INC.Inventor: Shiow-wen Wendy Cheng
-
Publication number: 20140351492Abstract: 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: ApplicationFiled: July 21, 2014Publication date: November 27, 2014Applicant: NETAPP, INC.Inventor: Jyh-shing Chen
-
Publication number: 20140351506Abstract: 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: ApplicationFiled: May 23, 2013Publication date: November 27, 2014Applicant: NetApp, Inc.Inventor: Douglas Joseph Santry
-
Publication number: 20140351507Abstract: 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: ApplicationFiled: May 23, 2013Publication date: November 27, 2014Applicant: NetApp, Inc.Inventor: Mohamad El-Batal
-
Publication number: 20140351535Abstract: 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: ApplicationFiled: May 23, 2013Publication date: November 27, 2014Applicant: NetApp, Inc.Inventor: Douglas Joseph Santry
-
Publication number: 20140350889Abstract: 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: ApplicationFiled: July 24, 2014Publication date: November 27, 2014Applicant: NETAPP, INC.Inventors: George Smirnov, Leon Fairbanks, Kenneth Hu, David Kaeli
-
Publication number: 20140351536Abstract: 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: ApplicationFiled: May 23, 2013Publication date: November 27, 2014Applicant: NetApp, Inc.Inventor: Douglas Joseph Santry
-
Publication number: 20140351539Abstract: 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: ApplicationFiled: August 12, 2014Publication date: November 27, 2014Applicant: NETAPP, INC.Inventors: Bipul Raj, Alok Sharma
-
Publication number: 20140351393Abstract: 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: ApplicationFiled: May 23, 2013Publication date: November 27, 2014Applicant: NetApp, Inc.Inventors: Tao Jin, Evan Chiu, Hua Li, Roland Guioguio, Wendell Griggs, James Loo