Abstract:
Provided are a system, program, and data structure for selecting one of multiple data paths to a device. A selection is made of one of multiple paths indicated as enabled to transmit data. A path is indicated as enabled or disabled. Transfer time data is gathered for each enabled path capable of being selected. Paths having transfer time data satisfying a threshold are indicated as disabled. Paths indicated as disabled are not capable of being selected to use to transmit data.
Abstract:
The present invention relates to a cache memory management system suitable for use with snapshot applications. The system includes a cache directory including a hash table, hash table elements, cache line descriptors, and cache line functional pointers, and a cache manager running a hashing function that converts a request for data from an application to an index to a first hash table pointer in the hash table. The first hash table pointer in turn points to a first hash table element in a linked list of hash table elements where one of the hash table elements of the linked list of hash table elements points to a first cache line descriptor in the cache directory and a cache memory including a plurality of cache lines, wherein the first cache line descriptor has a one-to-one association with a first cache line. The present invention also provides for a method converting a request for data to an input to a hashing function, addressing a hash table based on a first index output from the hashing function, searching the hash table elements pointed to by the first index for the requested data, determining the requested data is not in cache memory, and allocating a first hash table element and a first cache line descriptor that associates with a first cache line in the cache memory.
Abstract:
A method, apparatus and program storage device for allowing continuous availability of data during volume set failures in a mirrored environment. Continuous servicing of input/output request for a volume set having failed on a primary array using either portions of the failed volume set or a mirrored volume set is provided. A determination is made whether the failed volume set can service the input/output request and continuous data availability is provided by using the failed volume set to process the input/output request when the failed volume set can service the input/output request, else using a remote mirrored volume set to process the input/output request.
Abstract:
Provided is a method, system, and program implemented by a server for controlling and providing access to a file to at least one remote computer over a network. The server maintains metadata about files. The files are maintained at remote storage locations. The server receives a request from the remote computer for a filename of a requested file over the network. The server determines from the metadata one remote storage location address associated with the filename where the requested file is located. The server then updates the metadata for the requested file and sends the storage location address to the remote computer.
Abstract:
A method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair. A link between a mirror pair of storage systems is monitored. During a link failure between a first storage system and a second storage systems, reads and writes on the first and second storage systems are independently performed and write data and associated timestamps are maintained for the write data for each write in a queue on the first and second storage system. After link reestablishment, volume sets on the first and second storage systems are resynchronized using write data and associated timestamps.
Abstract:
The present invention is a method and system for upgrading drive firmware on a drive within a distributed data storage system in a manner that is transparent and non-disruptive to the host system operations. The method and system allow for normal read and write operations to occur during the firmware upgrade process, even while the primary disk drive is off-line, through alteration of the controller read and write policies. A mapping file is created on a temporary storage device to reduce the necessary time period of the upgrade process. This time period is further reduced in a mirrored storage system or in a system having a spare drive, where a logging file is created to store the data diverted from the primary disk drive during the upgrade process. An advantage is the ability to maintain storage system redundancy during the upgrade process. The upgrade process in general is also simplified because the drive upgrade module is compatible with legacy equipment and may reside in the storage system controller firmware.
Abstract:
A system and method for authenticating a host on a network enables the host to update IP configuration and internal configuration of a storage controller connected to the network. The host has an algorithm to decrypt a security key supplied by the storage controller. The host broadcasts a discovery command which includes an IP address of the host and a service requested by the host. The discovery command conforms to a proprietary discovery command protocol. In response to the discovery command, the host receives a response from a storage controller which is able to provide the requested service. The response includes a WWN, IP configuration and a security key of the storage controller, and conforms to the discovery command protocol. Next, the host decrypts the security key received from the storage controller using the decryption algorithm, and sends an updated IP configuration to the storage controller along with the security key for authentication. Next, the host exchanges other keys with the storage controller using IKE and IPSec. Afterwards, the host sends an updated internal configuration to the storage controller.
Abstract:
An apparatus for managing incremental storage includes a storage pool management module that allocates storage volumes to a virtual volume. Also included is an incremental log corresponding to the virtual volume, which maps virtual addresses to storage addresses. The apparatus may also include a replication module that sends replicated data to the virtual volume and a policy management module that determines allocation criteria for the storage pool management module. In one embodiment, the incremental log includes a lookup table that translates read and write requests to physical addresses on storage volumes within the virtual volume. The replicated data may include incremental snapshot data corresponding to one or more primary volumes. The various embodiments of the virtual incremental storage apparatus, method, and system facilitate dynamic adjustment of the storage capacity of the virtual volume to accommodate changing amounts of storage utilization.
Abstract:
The invention classifies volumes (e.g., file systems or LUNs) of a data storage system according to application requirements and allocates space for the volumes on storage devices (e.g., hard disk drives) accordingly. A person such as an IT administrator configures the volumes specifying size, type (e.g., file system or SAN LUN), and priority (e.g., high, medium, low, or archive). The host schedules I/O requests to the storage devices in priority queues using the volume definition to match the application requirements and reduce storage seek time between volumes of different priorities. The host also allocates high performance bands of the storage devices to high performance applications and lower performance bands to lower performance applications. In this manner, the data storage system places data on the band of the storage device that best supports its performance needs.
Abstract:
The invention classifies volumes (e.g., file systems or LUNS) of a data storage system according to application requirements and allocates space for the volumes on storage devices (e.g., hard disk drives) accordingly. A person such as an IT administrator configures the volumes specifying size, type (e.g., file system or SAN LUN), and priority (e.g., high, medium, low, or archive). The host schedules I/O requests to the storage devices in priority queues using the volume definition to match the application requirements and reduce storage seek time between volumes of different priorities. The host also allocates high performance bands of the storage devices to high performance applications and lower performance bands to lower performance applications. In this manner, the data storage system places data on the band of the storage device that best supports its performance needs.