Abstract:
A symmetric triple parity (TP) technique in an array comprising a number p of storage devices, such as disks, with p being a prime number is provided. The p disks are organized as one row parity disk, two symmetric parity disks and p-3 data disks. Phantom diagonal and anti-diagonal parity disks assumed to be present are further assumed to contain a predetermined value, thereby enabling parity encoding/decoding utilizing the phantom (anti-) diagonal disks. Row parity and symmetric parity values are included within the computation of the diagonal and anti-diagonal parities; accordingly, the two symmetric parity and the row parity values may be computed using the same technique as used for a triple parity erasure, i.e., in a symmetric fashion.
Abstract:
A system and method employs one or more clients of a virtualized compute cluster as an execution engine for a portion of a storage operating system implemented as a virtual machine on a storage system node of a storage system cluster. If there is processing bandwidth of a client that is not fully utilized and the load on the storage system node is high, the portion of the storage operating system is ported to the client of the compute cluster in a manner that externally distributes the storage architecture from the storage system cluster. Advantageously, the processing performance of the storage system cluster is improved by, among other things, offloading some of the net- work processing load from the storage system node.
Abstract:
An apparatus and method for containerization of multiple data objects within a block of a single container. The apparatus and method may pack multiple data objects together in a block of a logical container in a file system. The method may include receiving data in the form of multiple data objects to be stored in a file system, and collectively data packing the multiple data objects together in at least one block of a logical container in the file system. The block is a fundamental unit of storage space of the file system, and each block of the logical container includes multiple extents to store data from at least one data object of the multiple objects. The apparatus may include a plurality of storage devices coupled to a storage server. The storage server is configured to store the multiple data objects in at least one block of the logical container in the file system. Some data objects may be stored in multiple extents of one or more blocks depending on the size of the data object.
Abstract:
A system for providing improved cluster operation performance comprises a storage system and a cluster system communicatively coupled to the storage system. The cluster system comprises an active node and a plurality of passive nodes. The active node comprises a storage system interface engine and at least one initiator engine and each of the plurality of passive nodes comprises a storage system interface engine and at least one initiator engine. The storage system interface engine of the active node is configured to coordinate communication between the cluster system and the storage system, and simultaneously communicate an operation request from each of the plurality of passive nodes of the cluster system to the storage system.
Abstract:
Methods of obtaining and comparing data processing system configurations, and producing reports of differences between the configurations, where the configurations include elements to control access from a remote client to a storage facility of a data processing system, are described. Systems to receive and alter a configuration based on local conditions, and to use the altered configuration to control data exchange logic are also described. Software to display configuration elements, identify differences between configurations, and attach attributes to configuration elements is also described.
Abstract:
A method in a storage system reads blocks having both physical addresses and logical addresses in the storage system from a first set of locations in non-volatile storage to a cache memory and determines the level of data fragmentation in the non-volatile storage. If the level of data fragmentation exceeds a threshold level, the cache memory is marked and the blocks are written to physically sequential locations with new physical addresses in the non-volatile storage at a data consistency point without changing the logical addresses of the blocks.
Abstract:
A management server maintains a set of metadata describing a storage structure of a storage server. In response to a change of the storage structure, the management server automatically updates the set of metadata. The management server also manages information indicating what portion of the set of metadata is cached locally at a storage management client application. If that portion of the set of metadata is updated in response to the change of the storage structure, the management server sends information to update the metadata cached locally at the storage management client application so that the cached metadata is consistent with the set of metadata at the management server. By caching data at the storage management client application and at the network storage management server, the present invention advantageously avoids sending unnecessary requests to the storage server, thereby reducing network latency.
Abstract:
A dynamic parity distribution system and technique distributes parity across disks of an array. The dynamic parity distribution system includes a storage operating system that integrates a file system with a RAID system. In response to a request to store (write) data on the array, the file system determines which disks contain free blocks in a next allocated stripe of the array. There may be multiple blocks within the stripe that do not contain file system data (i.e., unallocated data blocks) and that could potentially store parity. One or more of those unallocated data blocks can be assigned to store parity, arbitrarily. According to the dynamic parity distribution technique, the file system determines which blocks hold parity each time there is a write request to the stripe. The technique alternately allows the RAID system to assign a block to contain parity when each stripe is written.
Abstract:
A host-clustered networked storage environment includes a "quorum program."The quorum program is invoked when a change in cluster membership occurs, or when the cluster members are not receiving reliable information about the continued viability of the cluster, or for a variety of other reasons. When the quorum program is so invoked, the cluster member is programmed to assert a claim on a quorum device configured in accordance with the present invention. More specifically, the quorum device is a vdisk embodied in as a logical unit (LUN) exported by the networked storage system. The LUN is created as a quorum device upon which a SCSI-3 reservation can be placed by an initiator. Thus, the LUN is created for this purpose as a SCSI target that exists solely as a quorum device. Fencing techniques are also provided in the networked environment such that failed cluster members can be fenced from given - exports of the networked -storage system.