Abstract:
PROBLEM TO BE SOLVED: To provide a technique for efficiently reconstructing any one or combination of two failing storage devices of a storage array. SOLUTION: A 'row - diagonal' (R-D) parity technique, which reduces overhead of computing diagonal parity for a storage array, computes the diagonal parity along diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the diagonal parity sets except one is stored on the diagonal parity disk. The R-D parity technique provides a uniform stripe depth and an optimal amount of parity information required for recovering from failures of two storage devices. COPYRIGHT: (C)2003,JPO
Abstract:
PROBLEM TO BE SOLVED: To provide a method to effectively restore data in the event of failure of two arbitrary storage devices. SOLUTION: A main storage array comprises a plurality of connected sub-arrays, each of which comprises an assembly of data storage devices and a local parity storage device to store a value to be used for correcting a failure of a unitary device in a row of a block of the sub-array (eg. a row parity group). To each sub-array, a diagonal parity group is allocated as if it had been the only existence using a method of encoding for protecting against double failure. The main array further comprises a global diagonal parity storage device that holds a diagonal parity calculated by adding an equal diagonal parity group logically in a lump at each of the sub-arrays. COPYRIGHT: (C)2004,JPO
Abstract:
PROBLEM TO BE SOLVED: To enhance versatility and utility of a snapshot duplication means. SOLUTION: A system and a method are for performing remote asynchronous duplication, namely, mirroring of change of source file system snapshots to a duplicated file system at a destination by identifying a block changed by difference of block volume numbers identified in the case of scanning a logical file block index of each snapshot by utilizing scan (by a scanner) of blocks constituting two versions of snapshots of the source file system. A tree of the block regarding the file is checked, a pointer without changes between versions is bypassed and proceeded downward and changes of hierarchy of trees are identified and the changes are transmitted to a destination mirror, namely, a duplicated snapshot. At the destination, the destination snapshot is updated by using source change. Every deleted or changed inode already existing on the destination is transferred to a temporary directory, namely, "momentary" directory and when it is reused, it is re-linked with the reconstructed duplicated snapshot directory. COPYRIGHT: (C)2004,JPO
Abstract:
PROBLEM TO BE SOLVED: To provide a method and a system capable of maintaining data reliability, capable of deleting logically a failure disk, and capable of minimizing calculation and an access to a disk, for transferring or restoring the data or for executing recalculation of a parity. SOLUTION: A storage system transfers only a disk block including the allocated data, when the disk is failed (210), and treats an unallocated disk block logically zero when possible. When having no spare disk, a source data block is logically set to zero and the parity is recalculated for the RAID stripe related to the source data block (223). When having a spare, the unallocated block on the spare is logically or physically set to zero when transferred (222). A write operation into the failed disk is re-instructed to other non-failed disks, and a record in a using disk is transferred to the other non-failed disks to be maintained. COPYRIGHT: (C)2009,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a method for controlling storage of data in a plurality of storage devices, for example, in a RAID array. SOLUTION: This method includes receiving a plurality of write requests associated with data and buffering the write requests. A file system defines a group of storage blocks, responsive to disk topology information. The group includes a plurality of storage blocks in each of the plurality of storage devices. Each data block of the data to be written is associated with a respective one of the storage blocks, for transmitting the association to the plurality of storage devices. COPYRIGHT: (C)2004,JPO
Abstract:
PROBLEM TO BE SOLVED: To provide a technique for efficiently reconstructing any one or combination of two failing storage devices of a storage array. SOLUTION: A storage array comprises a plurality of concatenated sub-array, wherein each sub-array includes a set of data storage devices and a parity storage device. Each row parity group is associated with a sub-array of the array. The array further includes a global parity storage device holding diagonal parity computed across the concatenation of the sub-arrays. Instead of requiring that each parity group contains both a row parity device and a diagonal parity device, the array is composed of a collection of row parity group. Diagonal parity is calculated across the fully array. COPYRIGHT: (C)2003,JPO
Abstract:
The invention provides a method and system for performing XOR operations without consuming substantial computing resources. A specialized processor is coupled to the same bus as a set of disk drives; th e specialized processor reviews data transfers to and from the disk drives and performs XOR operations on data transferred to and from the disk drives without requiring separate transfers. The specialized processor maintains an XOR accumulator which is used for XOR operations, whi ch records the result of XOR operations, and which is read out upon command of the processor. The XOR accumulator includes one set of accumulator registers for each RAID stripe, for a selected set of RAID stripes. A memory (such as a contents-addressable memor y) associates one set of accumulator registers with each selected RAID stripe.
Abstract:
A semi-static distribution technique distributes parity across disks of an array. According to the technique, parity is distributed (assigned) across the disks of the array in a manner that maintains a fixed pattern of parity blocks among the stripes of the disks. When one or more disks are added to the array, the semi-static technique redistributes parity in a way that does not require recalculation of parity or moving of any data blocks. Notably, the parity information is not actually moved; the technique merely involves a change in the assignment (or reservation) for some of the parity blocks of each pre-existing disk to the newly added disk.
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.