Abstract: A configuration for a network-accessible storage device is prepared by automatically computing a configuration parameter based on a setup parameter that pertains to an application-level function of the network accessible device. Software and systems that implement or use aspects of the invention are also described and claimed.
Type:
Grant
Filed:
March 19, 2007
Date of Patent:
November 22, 2011
Assignee:
Network Appliance, Inc.
Inventors:
Aseem Vaid, Rajesh Rajashekar, Ronghuei A. Su, Rimple Patel
Abstract: An automated tool for partitioning the source code of a software system at heuristic architectural boundaries identified by a bug-reporting process, and for representing the architecture of the software system as a set of visual attributes without constraining the representation to any particular predefined architectural style. The attributes are visualized applying multi-dimensional mapping techniques to software components to generate visual maps of the relationships and interactions among software components that cannot be easily understood or assimilated in a non-graphical form.
Abstract: Non-disruptive server replacement for session-based clients. An embodiment of a method includes establishing a first session between a first storage server and a client, the first storage server comprising a data component coupled to a data storage, a network component, and a session data structure in the network component for the first session. Transferring an operation of the first storage server to a second storage server during the first session with the client, wherein the second storage server is a replacement storage server for the first storage server.
Type:
Grant
Filed:
September 2, 2010
Date of Patent:
November 1, 2011
Assignee:
Network Appliance, Inc.
Inventors:
Garrett Mueller, Roger Cox, Gyanendra Pradhan
Abstract: A mass data storage system including a hard disk drive comprising heads and platter surfaces determines when a head of the disk is faulty and the disk continues to operate as a partially failed disk with respect to the remaining heads which are not faulty. A striped parity disk array comprises disks capable of operating as partially failed disks allows copying of data from the platter surfaces not associated with a faulty head of a partially failed disk to a spare disk which reduces the amount of data that must be rebuilt in the rebuild process, thereby reducing the amount of time the array spends in degraded mode exposed to a total loss of data caused by a subsequent disk failure.
Abstract: Lun communications between a storage server and a storage subsystem for a particular lun are assigned both a current path and an alternate path. Lun communications use the current path unless the current path is determined to be faulty. Path errors may result in the storage server determining a path to be faulty. If the current path for a lun communication is determined to be faulty, then the lun communications will be sent through the alternate path so long as the alternate path is determined to be reliable. Over time, a path previously determined to be faulty may recover and be used again for lun communications.
Abstract: A method and system for generating and restoring a backup image are disclosed. A server receives a request, which includes a backup path, to generate a backup image. The server generates a backup image offset map that indicates a relative location where a file is stored in the backup image before file data has been written to the backup image. The server stores the backup image offset map in a portion of the backup image on a storage device. The backup image offset map comprises an array having a number of elements equal to a number of inodes on a file system that hosts a backup path, an element of the array representing an inode on the file system, and indicates the relative location where a file that is associated with a number of the inode is stored in the backup image.
Abstract: An apparatus and a method for determining whether a quota has been violated by using a platform-identification value, instead of the platform-specific identification value. The method may include receiving a quota-sensitive data request from a user at a data storage system, which includes a platform-specific identification value. The method further includes performing a lookup operation on a first data store using the platform-specific identification value to determine a platform-independent identification value that corresponds to the user, and translating the platform-specific identification value into a platform-independent identification value. The first data store includes multiple entries that map multiple platform-specific identification values that correspond to the same user on different platforms to the same platform-independent identification value.
Abstract: A method, apparatus and system of restoration of a parent LUN through modification of a read-write clone LUN as the parent LUN are disclosed. In one embodiment, the method includes transforming a snapshot of a parent LUN from a read-only state to a read-write clone LUN using a target module of a storage system. The method also includes changing a first data structure of a block transfer protocol to refer to the parent LUN as another clone LUN. Further, the method includes modifying a second data structure of the block transfer protocol to refer to the read-write clone LUN as the parent LUN. Then, the method includes restoring the parent LUN when the modification of the second data structure is completed.
Abstract: Centralized management of both host-side storage objects on multiple heterogeneous host-side servers and logical data containers on a storage system is performed by a management server. In one embodiment, the management server automatically provisions a logical data container on the storage server according to the storage virtualization strategy without administrator interaction at the storage system. In another embodiment, the management server automatically performs a snapshot operation on logical data containers on the storage system according to the storage virtualization strategy without administrator interaction at the storage system. In another embodiment, the management server centrally monitors for out-of-space events in the storage system and automatically correlates the out-of-space events in the storage system to out-of-space events for the host-side file systems.
Abstract: A method includes reading a superblock of a read-only replica of a source virtual volume in a source virtual storage partition associated with a source aggregate of a source storage system at the destination storage system, modifying the superblock of the read-only replica in a memory of the destination storage system, and associating the modified superblock with one or more virtual volume block number(s) configured to be previously associated with the superblock of the read-only replica of the source virtual volume without initiating a destination consistency point (DCP) at the destination storage system to render the destination virtual volume writable. The method also includes modifying a disk group label to reflect an association of the destination storage disk with the writable destination virtual volume, and initiating the DCP to ensure that the modified superblock and the modified disk group label are flushed to the destination storage disk.
Abstract: A system and method are described for concurrently storing and accessing data in a tree-like data structure. In one embodiment, a data structure is identified comprising a plurality of nodes, at least one node of the plurality of nodes being associated with at least one other node of the plurality of nodes. Each node of the plurality of nodes is associated with an indicator indicative of an occurrence of a write operation related to the associated node. A determination is made if a write operation, related to any of the plurality of nodes, is occurring, and the associated indicator is set in accordance therewith. Access is prevented to any of the plurality of nodes whose associated indicator indicates the occurrence of the write operation, and access is allowed to others of the plurality of nodes.
Abstract: An apparatus and a method to eliminate deadlock in a bi-directionally mirrored data storage system are presented. In some embodiments, a first and a second storage servers have established a mirroring relationship. To prevent deadlock between the storage servers and to reduce write latency, the second storage server may hold data received from the first storage server in a replication queue and send an early confirmation to the first storage server before writing the data to a destination volume if the first storage server is held up due to a lack of confirmation. In another embodiment, when the first storage server writes metadata of a persistent point-in-time image (PPI) to the second storage server, the second storage server may send a confirmation to the first storage server after copying the metadata, but before exporting the PPI at the second storage server.
Type:
Grant
Filed:
April 27, 2007
Date of Patent:
August 16, 2011
Assignee:
Network Appliance, Inc.
Inventors:
Abhijeet P. Gole, Andrew E. Dunn, Prasanna K. Malaiyandi, Shane S. Owara
Abstract: A data storage system pre-fetches data blocks from a mass storage device, then determines whether reallocation of the pre-fetched blocks would improve access to them. If access would be improved, the pre-fetched blocks are written to different areas of the mass storage device. Several different implementations of such data storage systems are described.
Abstract: A source application reads a body of data in data block sized units and calculates a checksum value for each data block before sending the data block, the calculated checksum value and the identifier. Upon receipt, a destination application independently calculates a checksum value for each received data block and compares the two checksums. Non-matching checksums indicate a network-induced error in the data block. Identifiers for the erroneous data blocks are transmitted to the source application after all of the data blocks have been initially transmitted. The source application thereafter resends only those data blocks identified. The destination application repeats the process of comparing checksums and transmitting identifiers to the source application until all of the data blocks of the body of data have been correctly received, and then uses the data blocks to recreate the body of data.
Type:
Grant
Filed:
June 10, 2008
Date of Patent:
August 2, 2011
Assignee:
Network Appliance, Inc.
Inventors:
Felix Xavier, Kevin Varghese, Tijin George, Jayalakshmi Pattabiraman
Abstract: A storage system, such as a file server, creates persistent consistency point images (PCPI) or “snapshots” that are point-in-time representations of the storage system. The storage system uses persistent consistency point images to backup or mirror data. Using data already found in the data block maps associated with these PCPI, the rate of change of data between persistent consistency point images can be determined.
Type:
Grant
Filed:
October 25, 2004
Date of Patent:
July 19, 2011
Assignee:
Network Appliance, Inc.
Inventors:
Himanshu Aggarwal, Andy C. Kahn, Eric C. Hamilton
Abstract: A storage system, such as a file server, creates persistent consistency point images (PCPI) or “snapshots” that are point-in-time representations of the storage system. The storage system uses persistent consistency point images to backup or mirror data. Using data already found in the data block maps associated with these PCPI, the amount of space used by a set of these consistency points can be determined.
Type:
Grant
Filed:
October 25, 2004
Date of Patent:
July 12, 2011
Assignee:
Network Appliance, Inc.
Inventors:
Himanshu Aggarwal, Andy C. Kahn, Eric C. Hamilton
Abstract: The input/output (I/O) performance of a hard disk drive in a mass storage computer system is evaluated to maintain efficiency by addressing I/O commands to sectors of the disk drive, evaluating the execution of the I/O commands to the sectors to obtain performance information for the sectors to which the I/O commands are addressed, comparing the performance information to a predetermined I/O performance criterion, and identifying any impaired sectors in which the performance information indicates less than the predetermined I/O performance criterion. Thereafter, further I/O commands to the impaired sectors are avoided.
Abstract: Redundant Array of Inexpensive Disks (RAID) groups in a storage system are dynamically reconfigured by merging and splitting the RAID groups. When an indication of a change to data or system characteristics is received, disks in the RAID groups of the storage system can be reorganized to adapt to the change.
Abstract: An apparatus and a method to make data sets conform to data management policies are presented. In one embodiment, the apparatus includes a conformance checker and a conformance engine. The conformance checker may be operable to compare a state of a data set against a data management policy associated with the data set to determine if the data set currently conforms to the data management policy. The conformance engine may then make the data set conform to the data management policy if the conformance checker determines that the data set currently violates the data management policy.
Type:
Grant
Filed:
February 22, 2007
Date of Patent:
May 31, 2011
Assignee:
Network Appliance, Inc.
Inventors:
Peter L. Smoot, Jim Holl, Sahn Lam, Anawat Chankhunthod
Abstract: A method for mounting volumes to a storage server in a storage system, including, speeding up initialization of the storage server by staging volume mounting in two or more stages. The method further includes mounting at least one of the volumes when a request for accessing the volume is received.