Abstract:
An intelligent router routes a user request to a storage server that is capable of handling that request natively, without emulation. The request is routed automatically, without any instruction or interaction on the part of the user. The intelligent router includes a storage tank-like computing environment and a set of intelligent routers. The set of intelligent routers appears as a single entity to users by presenting a single network IP address. When the intelligent router receives a request, it examines the protocol type and routes the request to one of the appropriate storage tank clients. The intelligent router does not change the contents of the request message, and thus the storage tank system do not become aware of the existence of the intelligent router. Consequently, any return messages do not need to go through the intelligent router, unless desired.
Abstract:
Stored data can be recovered from a disk array having at least 2n+1 physical disks that are capable of storing n physical disks worth of data when any two disks fail, or when more than two dependent disks fail. Data is stored in data stripes that are divided into n substantially equal-sized strips and are distributed across the n disks. Each data stripe has a corresponding parity strip that is generated by including the data strips in the data stripe only once when the parity strip is generated. The data strips of each data stripe, the copy of each such data strip and the corresponding parity strip are distributed across the disks in such a manner that the data strips of each data stripe, the copy of each such data strip and the corresponding parity strip are each on a respectively different disk of the disk array.
Abstract:
In order that variable length records be accessed from an array of (N+2) synchronous fixed block formatted DASDs in a single pass and in the presence of a single DASD failure, each record is partitioned into a variable number K of fixed length blocks, the blocks are written on the DASDs in column major order K modulo (N+1), the order is constrained such that the first block of each record resides on the (N+1)th DASD, a parity block for each column resides on an (N+2)th DASD, and each parity block spans N blocks in the same column from the first N DASDs and one block one column offset thereto on the (N+1)th DASD. With four DASDs, DASD4 is reserved as parity DASD. In column major order, block 1 containing the home address HA is on DASD1, block 2 containing the record RO is on DASD2 and block 3 containing the count field C1 for record 1 is on DASD3. Blocks 4, 5 and 6, containing data for record 1 and the count field C2 for record 2 are on DASD2 1, 2 and 3, respectively. Blocks 7, 8 and 9, containing data for record 2, zeros and the count field for record 3 are similarly on DASDs 1, 2 and 3, respectively, and so on. All count fields are on DASD3. Parity from blocks 1 and 2 is stored in block P1 of DASD4. Parity from blocks 3, 4 and 5 is stored in block P2, and so on.
Abstract:
A method and means in which data and parity blocks forming parity groups together with spare blocks are distributed over array block locations according to at least one combinatorial design, each group having N data and P parity blocks. The combinatorial designs yield uniform or balanced loading thereby minimizing the number of accesses to reconstruct missing data and parity blocks and their copyback into spare block locations, and, minimize the number of accesses to the reconstructed data referenced subsequent to its copyback. Distributions of the spare block capacity of one or two DASDs are shown over single and multiple arrays and shared among multiple arrays. Parity block distribution although ancillary to spare distribution enhances throughput and reduces the number of accesses for rebuild etc.
Abstract:
Stored data can be recovered from a disk array having at least 2n+1 physical disks that are capable of storing n physical disks worth of data when any two disks fail, or when more than two dependent disks fail. Data is stored in data stripes that are divided into n substantially equal-sized strips and are distributed across the n disks. Each data stripe has a corresponding parity strip that is generated by including the data strips in the data stripe only once when the parity strip is generated. The data strips of each data stripe, the copy of each such data strip and the corresponding parity strip are distributed across the disks in such a manner that the data strips of each data stripe, the copy of each such data strip and the corresponding parity strip are each on a respectively different disk of the disk array.
Abstract:
In order that variable length records be accessed from an array of (N+2) synchronous fixed block formatted DASDs in a single pass and in the presence of a single DASD failure, each record is partitioned into a variable number K of fixed length blocks, the blocks are written on the DASDs in column major order K modulo (N+1), the order is constrained such that the first block of each record resides on the (N+1)th DASD, a parity block for each column resides on an (N+2)th DASD, and each parity block spans N blocks in the same column from the first N DASDs and one block one column offset thereto on the (N+1)th DASD. With four DASDs, DASD4 is reserved as parity DASD. In column major order, block 1 containing the home address HA is on DASD1, block 2 containing the record RO is on DASD2 and block 3 containing the count field C1 for record 1 is on DASD3. Blocks 4, 5 and 6, containing data for record 1 and the count field C2 for record 2 are on DASD2 1, 2 and 3, respectively. Blocks 7, 8 and 9, containing data for record 2, zeros and the count field for record 3 are similarly on DASDs 1, 2 and 3, respectively, and so on. All count fields are on DASD3. Parity from blocks 1 and 2 is stored in block P1 of DASD4. Parity from blocks 3, 4 and 5 is stored in block P2, and so on.
Abstract:
Described is a method and means for managing access to a logical track of KN blocks of which K are parity blocks. The KN blocks are distributed and stored in an array of N DASDs having K blocks per physical track per DASD. The array includes control means for securing synchronous access to selectable ones of the DASDs responsive to each access request. The method involves (a) formatting the blocks onto the array using a row major order modulus as the metric for balancing the data rate and concurrency (the number of DASDs bound per access) and (b) executing the random sequences of large and small access requests over array.
Abstract:
Described is a method and means for managing access to a logical track of KN blocks of which K are parity blocks. The KN blocks are distributed and stored in an array of N DASDs having K blocks per physical track per DASD. The array includes control means for securing synchronous access to selectable ones of the DASDs responsive to each access request. The method involves (a) formatting the blocks onto the array using a row major order modulus as the metric for balancing the data rate and concurrency (the number of DASDs bound per access) and (b) executing the random sequences of large and small access requests over array.
Abstract:
Stored data can be recovered from a disk array having at least 2n + 1 physical disks that are capable of storing n physical disks worth of data when any two disks fail, or when more than two dependent disks fail. Data is stored in data stripes that are divided into n substantially equal-sized strips and are distributed across the n disks. Each data stripe has a corresponding parity strip that is generated by including the data strips in the data stripe only once when the parity strip is generated. The data strips of each data stripe, the copy of each such data strip and the corresponding parity strip are distributed across the disks in such a manner that the data strips of each data stripe, the copy of each such data strip and the corresponding parity strip are each on a respectively different disk of the disk array.