Patent US3398565A successfully refreshed from Google Patents.
Patent US5375128A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5375128A Expired / Lapsed US ⏱️ 0.0 years remaining

Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders

Assignee: International Business Machines Corp
•
Filing: 1990-10-18
•
Granted: 1994-12-20
•
Expires: 2010-10-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Jaishankar M. Menon
  • 👤 James M. Kasson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 16:25
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F11/1008; G06F3/00; G06F3/06; G06F3/0601; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833; G06F3/0668; G06F3/0671; G06F3/0673

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 158 words
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.
Claim 2
Independent Claim 158 words
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.
Claim 3
Dependent Claim 84 words
The method according to claim 1, wherein during the latter portion of the first track cycle, the step of shadow writing the amended data block in the reserved unused space as an alternative to that of writing in place during the second track cycle, and further wherein during the second track cycle, the step of calculating the new parity block further includes logically combining via modulo 2 addition the data and parity blocks accessed during the first track cycle and the amended data block.
Claim 4
Independent Claim 215 words
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.
Claim 5
Independent Claim 215 words
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.
Claim 6
Dependent Claim 41 words
The method according to claim 3, wherein during the second track cycle, the amended data block is shadow written into any available free space not reserved for parity located and before the original data block recurs during the second track cycle.
Claim 7
Independent Claim 224 words
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.
Claim 8
Independent Claim 224 words
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.
Claim 9
Dependent Claim 29 words
The method according to claim 5, wherein each explicit parity block is defined over a predetermined group of data blocks located on failure independent tracks in column major order.
Claim 10
Dependent Claim 66 words
The method according to claim 5, wherein the formatting step includes the step of arranging the explicit parity blocks and reserved free parity block spaces in a preselected track or cylinder format failure independent from the groups, and maintaining tables indicating which of the parity block spaces are available and the address of the parity block covering the group containing a data block to be amended.
Claim 11
Dependent Claim 26 words
The method according to claim 7, wherein the amending step includes ascertaining from the tables the next free space available to writing an amended parity block.
Claim 12
Independent Claim 236 words
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.
Claim 13
Independent Claim 236 words
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.
Claim 14
Dependent Claim 63 words
The method according to claim 9, wherein each of the N DASDs in the array is formatted to include at least one parity cylinder having T tracks and containing parity for T-1 columns, each one of the T-1 parity tracks being a modulo 2 addition of n data tracks located on N-1 failure independent DASD cylinders, T being an integer greater than 1.
Claim 15
Dependent Claim 66 words
The method according to claim 9, wherein the formatting step includes the step of arranging the explicit parity blocks and reserved free parity block spaces in a preselected track or cylinder format failure independent from the groups, and maintaining tables indicating which of the parity block spaces are available and the address of the parity block covering the group containing a data block to be amended.
Claim 16
Dependent Claim 50 words
The method according to claim 9, wherein the formatting step is modified such that the free data block space is reserved on all cylinders, and further wherein the amending step is modified such that the amended data block is shadow written to the first available free space on any cylinder.
Claim 17
Dependent Claim 177 words
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.
Claim 18
Dependent Claim 177 words
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.

References Cited (Backward Citations)

US4092732A Cited
US4517663A Cited
US4375100A Cited
US4688221A Cited
US4761785A Cited
US4761785B1 Cited
US4989206A Cited
US4989205A Cited
US5088081A Cited
US5130992A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-12-19 1998-06-20 1998-12-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-12-19 2002-06-20 2002-12-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-12-19 2006-06-20 2006-12-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag