← Back to Patent Explorer
US5459853A Expired / Lapsed US ⏱️ 0.0 years remaining

Efficient variable-block data storage system employing a staggered fixed-block-architecture array

Assignee: International Business Machines Corp
•
Filing: 1992-11-23
•
Granted: 1995-10-17
•
Expires: 2012-11-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for operating a synchronized array of fixed block (FBA) formatted Direct Access Storage Devices (DASDs) to store and update variable-length (CKD) formatted records. This method is suitable for use with DASDs that obtain high recording density by using read and write head technology requiring "micro-jogging" to adjust for differing read and write head alignment or banded disk architecture having a higher block count in the outer tracks than in the inner tracks. Magneto-resistive heads may require micro-jogging to realign the write head for recording after reading the physical track location. The invention employs a DASD staggered array architecture having logical tracks consisting of diagonal-major sequences of consecutive blocks arranged in a predetermined wrap-around manner such as a topological cylinder or torus. The minimum necessary number of DASDs (N) in the staggered array is limited by the fixed block size (B), the interblock gap size (G), the average DASD data transfer rate (D), and the micro-jog delay time (T). A (N+1)th DASD may be added to record the parity of each diagonal-major sequence for improved fault-tolerance.

Inventors

  • 👤 John S. Best
  • 👤 Steven R. Hetzler
  • 👤 Roger F. Hoyt
  • 👤 Jaishankar M. Menon
  • 👤 Michael F. Mitoma

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 21:04
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F11/1008; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/0614; G06F3/0628; G06F3/0638; G06F3/064; G06F3/0655; G06F3/0661; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G11; G11B; G11B20/00; G11B20/10; G11B20/12; G11B20/1217; G11B20/1258

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 310 words
A method of operating a logical data storage system for accessing variable length records in an array of N synchronized fixed block formatted Direct Access Storage Devices (DASDs), each said DASD having a plurality of physical tracks and a data transfer rate (D), each said variable length record having at least a count field and one data field, each said physical track having one or more blocks of size (B) separated by gaps of size (G), wherein N>1 is a positive integer, said method comprising the steps of: (a) reformatting each said variable length record into a first said block representing said count field and one or more additional said blocks representing said at least one data field and all other fields; (b) writing, on said physical tracks, said first block and said additional blocks of said each variable length record synchronously in a predetermined toroidal traverse having one or more diagonal-major sequences over at least some of said N DASDs such that the j th said block on the i th said physical track of the k th said DASD follows the (j-g) th said block on the i th said physical track of the (k-1) th said DASD, said diagonal-major sequences wrapping around from the j th said block on the N th said DASD to the (j+h) th said block on the first said DASD, wherein g, h, i, j, and k are non-zero positive integers; (c) adding to each said count field a pointer representing the number of said blocks separating the first subsequent said count field from said each count field; and (d) accessing said blocks forming said requested variable length record in the sequence specified in said reformatting step (a) and said writing step (b) responsive to a request for at least one said variable length record, thereby retrieving said requested variable length record.
Claim 2
Independent Claim 310 words
A method of operating a logical data storage system for accessing variable length records in an array of N synchronized fixed block formatted Direct Access Storage Devices (DASDs), each said DASD having a plurality of physical tracks and a data transfer rate (D), each said variable length record having at least a count field and one data field, each said physical track having one or more blocks of size (B) separated by gaps of size (G), wherein N>1 is a positive integer, said method comprising the steps of: (a) reformatting each said variable length record into a first said block representing said count field and one or more additional said blocks representing said at least one data field and all other fields; (b) writing, on said physical tracks, said first block and said additional blocks of said each variable length record synchronously in a predetermined toroidal traverse having one or more diagonal-major sequences over at least some of said N DASDs such that the j th said block on the i th said physical track of the k th said DASD follows the (j-g) th said block on the i th said physical track of the (k-1) th said DASD, said diagonal-major sequences wrapping around from the j th said block on the N th said DASD to the (j+h) th said block on the first said DASD, wherein g, h, i, j, and k are non-zero positive integers; (c) adding to each said count field a pointer representing the number of said blocks separating the first subsequent said count field from said each count field; and (d) accessing said blocks forming said requested variable length record in the sequence specified in said reformatting step (a) and said writing step (b) responsive to a request for at least one said variable length record, thereby retrieving said requested variable length record.
Claim 3
Dependent Claim 23 words
The method of claim 1 wherein said fixed block format is a NO-ID Fixed Block Access (FBA) format without separate block identification fields.
Claim 4
Dependent Claim 96 words
The method of claim 2 wherein said logical data storage system includes an array of (N+1) DASDs, said method comprising the additional steps of: (bb) forming a corresponding parity block for each said diagonal-major sequence of no more than N said blocks concurrently with said writing step (b) and writing said corresponding parity block on the (N+1) st DASD; and (e) reconstructing one or more unavailable said blocks stored in a failed said DASD by combining the available said blocks in each said diagonal-major sequence with the corresponding said parity block in said (N+1) st DASD.
Claim 5
Dependent Claim 43 words
The method of claim 3 wherein each said DASD has read and write head-to-track alignments and a micro-jog time (T) delay between said read alignment and said write alignment in said each DASD, and wherein said DASD plurality N satisfies the inequality N≦(B+DT)/(B+G).
Claim 6
Dependent Claim 64 words
The method of claim 4 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 7
Dependent Claim 43 words
The method of claim 2 wherein each said DASD has read and write head-to-track alignments and a micro-jog time (T) delay between said read alignment and said write alignment in said each DASD, and wherein said DASD plurality N satisfies the inequality N≦(B+DT)/(B+G).
Claim 8
Dependent Claim 64 words
The method of claim 2 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 9
Dependent Claim 96 words
The method of claim 1 wherein said logical data storage system includes an array of (N+1) DASDs, said method comprising the additional steps of: (bb) forming a corresponding parity block for each said diagonal-major sequence of no more than N said blocks concurrently with said writing step (b) and writing said corresponding parity block on the (N+1) st DASD; and (e) reconstructing one or more unavailable said blocks stored in a failed said DASD by combining the available said blocks in each said diagonal-major sequence with the corresponding said parity block in said (N+1) st DASD.
Claim 10
Dependent Claim 43 words
The method of claim 8 wherein each said DASD has read and write head-to-track alignments and a micro-jog time (T) delay between said read alignment and said write alignment in said each DASD, and wherein said DASD plurality N satisfies the inequality N≦(B+DT)/(B+G).
Claim 11
Dependent Claim 67 words
The method of claim 9 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with a physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks of equal size distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 12
Dependent Claim 64 words
The method of claim 8 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 13
Dependent Claim 43 words
The method of claim 1 wherein each said DASD has read and write head-to-track alignments and a micro-jog time (T) delay between said read alignment and said write alignment in said each DASD, and wherein said DASD plurality N satisfies the inequality N≦(B+DT)/(B+G).
Claim 14
Dependent Claim 64 words
The method of claim 1 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 15
Dependent Claim 310 words
A logical data storage system for accessing variable length records each having at least a count field and one data field, said system comprising: an array of N synchronized fixed block formatted Direct Access Storage Devices (DASDs), each said DASD having a plurality of physical tracks and a data transfer rate (D), each said physical track having one or more blocks of size (B) separated by gaps of size (G), wherein N>1 is a positive integer; reformatting means coupled to said array for reformatting each said variable length record into a first said block representing said count field and one or more additional said blocks representing said at least one data field and all other fields; writing means coupled to each said DASD and to said reformatting means for synchronously writing, on said physical tracks, said first block and said additional blocks of said each variable length record in a predetermined toroidal traverse having one or more diagonal-major sequences over at least some of said N DASDs such that the j th said block on the i th said physical track of the k th said DASD follows the (j-g) th said block on the i th said physical track of the (k-1) th said DASD, said diagonal-major sequences wrapping around from the j th said block on the N th said DASD to the (j+h) th said block on the first said DASD, wherein g, h, i, j, and k are non-zero positive integers; pointer means coupled to said writing means for adding to each said count field a pointer representing the number of said blocks separating the first subsequent said count field from said each count field; and retrieving means coupled to said array for accessing said blocks forming a requested variable length record in sequence responsive to a request for at least one said variable length record.
Claim 16
Dependent Claim 310 words
A logical data storage system for accessing variable length records each having at least a count field and one data field, said system comprising: an array of N synchronized fixed block formatted Direct Access Storage Devices (DASDs), each said DASD having a plurality of physical tracks and a data transfer rate (D), each said physical track having one or more blocks of size (B) separated by gaps of size (G), wherein N>1 is a positive integer; reformatting means coupled to said array for reformatting each said variable length record into a first said block representing said count field and one or more additional said blocks representing said at least one data field and all other fields; writing means coupled to each said DASD and to said reformatting means for synchronously writing, on said physical tracks, said first block and said additional blocks of said each variable length record in a predetermined toroidal traverse having one or more diagonal-major sequences over at least some of said N DASDs such that the j th said block on the i th said physical track of the k th said DASD follows the (j-g) th said block on the i th said physical track of the (k-1) th said DASD, said diagonal-major sequences wrapping around from the j th said block on the N th said DASD to the (j+h) th said block on the first said DASD, wherein g, h, i, j, and k are non-zero positive integers; pointer means coupled to said writing means for adding to each said count field a pointer representing the number of said blocks separating the first subsequent said count field from said each count field; and retrieving means coupled to said array for accessing said blocks forming a requested variable length record in sequence responsive to a request for at least one said variable length record.
Claim 17
Dependent Claim 99 words
The logical data storage system of claim 14 wherein said array includes (N+1) DASDs, said system further comprising: parity means coupled to said writing means for forming a corresponding parity block for each said diagonal-major sequence of no more than N said blocks and for writing said corresponding parity block on the (N+1) st DASD; and reconstructing means coupled to said retrieving means for reconstructing one or more unavailable said blocks stored in a failed said DASD by combining the available said blocks in each said diagonal-major sequence with the corresponding said parity block in said (N+1) st DASD.
Claim 18
Dependent Claim 46 words
The logical data storage system of claim 15 wherein each said DASD has read and write head-to-track alignments and a micro-jog time (T) delay between said read alignment and said write alignment in said each DASD, and wherein said DASD plurality N satisfies the inequality N≦(B+DT)/(B+G).
Claim 19
Dependent Claim 67 words
The logical data storage system of claim 16 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 20
Dependent Claim 46 words
The logical data storage system of claim 14 wherein each said DASD has read and write head-to-track alignments and a micro-jog time (T) delay between said read alignment and said write alignment in said each DASD, and wherein said DASD plurality N satisfies the inequality N≦(B+DT)/(B+G).
Claim 21
Dependent Claim 67 words
The logical data storage system of claim 18 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 22
Dependent Claim 26 words
The logical data storage system of claim 14 wherein said fixed block format is a NO-ID Fixed Block Access (FBA) format without separate block identification fields.
Claim 23
Dependent Claim 67 words
The logical data storage system of claim 14 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 24
Dependent Claim 349 words
A computer program product for use with a computer system having a central processing unit for accessing variable length records in a logical data storage system having an array of N synchronized fixed block formatted Direct Access Storage Devices (DASDs), each said DASD having a plurality of physical tracks and a data transfer rate (D), each said variable length record having at least a count field and one data field, each said physical track having one or more blocks of size (B) separated by gaps of size (G), wherein N>1 is a positive integer, said computer program product comprising: a recording medium; means recorded on said recording medium for directing said computer system to reformat each said variable length record into a first said block representing said count field and one or more additional said blocks representing said at least one data field and all other fields; means recorded on said recording medium for directing said computer system to synchronously write, on said physical tracks, said first block and said additional blocks of said each variable length record in a predetermined toroidal traverse having one or more diagonal-major sequences over at least some of said N DASDs such that the j th said block on the i th said physical track of the k th said DASD follows the (j-g) th said block on the i th said physical track of the (k-1) th said DASD, said diagonal-major sequences wrapping around from the j th said block on the N th said DASD to the (j+h) th said block on the first said DASD, wherein g, h, i, j, and k are non-zero positive integers; means recorded on said recording medium for directing said computer system to add to each said count field a pointer representing the number of said blocks separating the first subsequent said count field from said each count field; and means recorded on said recording medium for directing said computer system to access said blocks forming said requested variable length record in sequence responsive to a request for at least one said variable length record.
Claim 25
Dependent Claim 349 words
A computer program product for use with a computer system having a central processing unit for accessing variable length records in a logical data storage system having an array of N synchronized fixed block formatted Direct Access Storage Devices (DASDs), each said DASD having a plurality of physical tracks and a data transfer rate (D), each said variable length record having at least a count field and one data field, each said physical track having one or more blocks of size (B) separated by gaps of size (G), wherein N>1 is a positive integer, said computer program product comprising: a recording medium; means recorded on said recording medium for directing said computer system to reformat each said variable length record into a first said block representing said count field and one or more additional said blocks representing said at least one data field and all other fields; means recorded on said recording medium for directing said computer system to synchronously write, on said physical tracks, said first block and said additional blocks of said each variable length record in a predetermined toroidal traverse having one or more diagonal-major sequences over at least some of said N DASDs such that the j th said block on the i th said physical track of the k th said DASD follows the (j-g) th said block on the i th said physical track of the (k-1) th said DASD, said diagonal-major sequences wrapping around from the j th said block on the N th said DASD to the (j+h) th said block on the first said DASD, wherein g, h, i, j, and k are non-zero positive integers; means recorded on said recording medium for directing said computer system to add to each said count field a pointer representing the number of said blocks separating the first subsequent said count field from said each count field; and means recorded on said recording medium for directing said computer system to access said blocks forming said requested variable length record in sequence responsive to a request for at least one said variable length record.
Claim 26
Dependent Claim 108 words
The computer program product of claim 22 wherein said array includes (N+1) DASDs, said computer program product further comprising: means recorded on said recording medium for directing said computer system to form a corresponding parity block for each said diagonal-major sequence of no more than N said blocks and to write said corresponding parity block on the (N+1) st DASD; and means recorded on said recording medium for directing said computer system to reconstruct one or more unavailable said blocks stored in a failed said DASD by combining the available said blocks in each said diagonal-major sequence with the corresponding said parity block in said (N+1) st DASD.
Claim 27
Dependent Claim 45 words
The computer program product of claim 23 wherein each said DASD has read and write head-to-track alignments and a micro-jog time (T) delay between said read alignment and said write alignment in said each DASD, and wherein said DASD plurality N satisfies the inequality N≦(B+DT)/(B+G).
Claim 28
Dependent Claim 66 words
The computer program product of claim 24 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 29
Dependent Claim 45 words
The computer program product of claim 22 wherein each said DASD has read and write head-to-track alignments and a micro-jog time (T) delay between said read alignment and said write alignment in said each DASD, and wherein said DASD plurality N satisfies the inequality N≦(B+DT)/(B+G).
Claim 30
Dependent Claim 66 words
The computer program product of claim 26 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.
Claim 31
Dependent Claim 25 words
The computer program product of claim 22 wherein said fixed block format is a NO-ID Fixed Block Access (FBA) format without separate block identification fields.
Claim 32
Dependent Claim 66 words
The computer program product of claim 22 wherein said each DASD is organized into two or more concentric bands, each said band having a plurality of physical tracks with identical physical block storage capacity and wherein said first block and said additional blocks are organized in one or more logical tracks distributed in one or more diagonal-major sequences over at least some of said N DASDs.

References Cited (Backward Citations)

US5301304A Cited
US5072378A Cited
US5263145A Cited
US5206939A Cited
US5271012A Cited
US5351246A Cited
US5301297A Cited
US5271014A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-10-16 1999-04-17 1999-10-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-10-16 2003-04-17 2003-10-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-10-16 2007-04-17 2007-10-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag