Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
First Claim
1. A method for reading and update writing of parity groups of data and explicit parity blocks across an array of DASDs in a reduced number of DASD rotational track cycles, comprising the steps of:
- (a) distributing the data and parity blocks for each parity group across the DASDs in the array in failure independent form and reserving unused DASD space; and
(b) amending at least one data block in a preselected parity group resident on said array by;
(1) during a first rotational track cycle, reading the said at least one data block and the parity block of the preselected parity group from said array; and
(2) during a second rotational track cycle,(i) calculating a new parity block,(ii) shadow writing at least the new parity block into the reserved unused space nearest in rotational relation to the location of said data block, and(iii) writing an amended data block in place of said one data block.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for update writing in an array of DASDs in a reduced number of DASD track cycles. The method involves distributing data and parity blocks for each parity group across the array in failure independent form and reserving unused space. During a first cycle, the old data and parity blocks are read. The new parity is calculated and shadow written into reserved unused space located before the old parity block recurs. The amended data is either written in place during a second cycle or shadow written into reserved space during a subsequent portion of the first cycle.
-
Citations
13 Claims
-
1. A method for reading and update writing of parity groups of data and explicit parity blocks across an array of DASDs in a reduced number of DASD rotational track cycles, comprising the steps of:
-
(a) distributing the data and parity blocks for each parity group across the DASDs in the array in failure independent form and reserving unused DASD space; and (b) amending at least one data block in a preselected parity group resident on said array by; (1) during a first rotational track cycle, reading the said at least one data block and the parity block of the preselected parity group from said array; and (2) during a second rotational track cycle, (i) calculating a new parity block, (ii) shadow writing at least the new parity block into the reserved unused space nearest in rotational relation to the location of said data block, and (iii) writing an amended data block in place of said one data block. - View Dependent Claims (2)
-
-
3. A method for updating parity groups formed from at least one data and counterpart explicit parity blocks written across a preselected number of DASDs in an array, said DASDs constituting a cyclic multi-track storage medium, comprising the steps of:
-
(a) formatting the parity groups across the array by; (1) using a pattern selected from a set of patterns consisting of blocks, tracks, and cylinders, said selected pattern being failure independent from the parity group over which said parity blocks are defined, and, (2) reserving and distributing also across said array free space counterpart to the parity groups in the selected formatted pattern and in excess of a number of said parity groups; and (b) amending at least one data block in a preselected parity group resident on said array by; (1) during a first rotational track cycle, reading the said at least one data block and parity block of the preselected parity group from said array; and (2) during a second rotational track cycle, (i) calculating a new parity block, (ii) writing an amended data block in place of said one data block, and (iii) shadow writing at least the new parity block into any available reserved unused space located before the parity block of said preselected parity group recurs during said second track cycle. - View Dependent Claims (4)
-
-
5. A method for minimizing a number of accesses required to amend a parity group from a set of parity groups, each group being formed from one or more data blocks and explicit parity blocks written across an array of N DASD'"'"'s, said DASDs constituting a cyclic multi-track storage medium, comprising the steps of:
-
(a) formatting the explicit parity blocks on the DASD array in a pattern, each parity block in said pattern being failure independent from the data blocks of the group over which said parity block is defined, and, reserving and distributing free parity block space thereon such that the parity block space is in excess of amount of space required to have one parity block for every parity group; and (b) amending at least one data block in a preselected parity group resident on said array by; (1) during a first rotational track cycle, reading the said at least one data block and parity block of the preselected parity group from said array; and (2) during a second rotational track cycle, (i) calculating a new parity block, (ii) writing an amended data block in place of said one data block, and (iii) shadow writing at least the new parity block into any available reserved unused space located before the parity block of said preselected parity group recurs during said second track cycle. - View Dependent Claims (6, 7, 8)
-
-
9. A method for minimizing a number of accesses required to amend a parity group from a set of parity groups, each parity group being formed from one or more data blocks and an explicit parity block written across an array of N DASD'"'"'s, N being an integer greater than 1, said DASDs constituting a cyclic multi-track storage medium, comprising the steps of:
-
(a) formatting each parity group of the set on the DASD array across dedicated data and parity cylinders in a pattern, said blocks of each group being stored on failure independent DASDs, and, reserving and distributing fees parity block space on the parity cylinders such that the parity block space is in excess of an amount of space required to have one parity block for every parity group; and (b) amending at least one data block in a preselected parity group resident on said array by; (1) during a first rotational track cycle, reading the said at least one data block and parity block of the preselected parity group from said array; and (2) during a second rotational track cycle, (i) calculating a new parity block, (ii) writing an amended data block in place of said one date block, and (iii) shadow writing at least the new parity block into any available reserved free space on a cylinder located before the parity block of said preselected parity group recurs during said second track cycle. - View Dependent Claims (10, 11, 12)
-
-
13. In a system having an array of N logically related to failure independent DASDs, N being an integer greater than 1;
- parity determining means; and
means for reading and writing parity groups of data and explicit parity blocks across counterpart tracks of the DASDs, the writing means comprising;(a) means for distributing the data and parity blocks for each parity group across the DASDs in the array in failure independent form and for reserving unused DASD space; and (b) means for amending at least one data block in a preselected parity group resident on said array by; (1) during a first rotational track cycle, reading the said at least one data block and the parity block of the preselected parity group from said array; and (2) during a second rotational track cycle, (i) calculating a new parity block, (ii) shadow writing at least the new parity block into the reserved unused space nearest in rotational relation to the location of said data block, and (iii) writing an amended data block in place of said one data block.
- parity determining means; and
Specification