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

System for selectively storing stripes of data in tracks of disks so that sum of transfer rates of stripes match communication bandwidth to host

Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-04-05
•
Granted: 1998-03-03
•
Expires: 2014-04-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for bandwidth balancing of data transfer operations between a computer and a storage subsystem are disclosed. The storage subsystem contains a number of storage devices such as magnetic disk drives. Data to be stored is supplied by the computer to the storage subsystem in the form of a transfer unit through a communication channel. The storage subsystem divides the transfer unit into a number of stripes of a pre-determined size. Each stripe is allocated to a separate disk drive whose disk surfaces are formatted into a number of track bands. Each track band is composed of several contiguous tracks associated with the same data transfer rate. Each stripe is then stored on its disk drive within a selected track band. Both data storage and retrieval from each disk drive occur at the data transfer rate associated with the accessed track band. Since all the stripes in the transfer unit are transferred to their disk drives simultaneously, the transfer operation occurs at an aggregate transfer rate equal to the sum of the individual track band transfer rates. The storage subsystem selects the track bands on each disk drive in such a manner as to ensure that the data transfer operation occurs at an aggregate transfer rate within a pre-determined bandwidth range of the communication channel bandwidth.

Inventors

  • 👤 Charles Michael Riggle
  • 👤 Bruce D. Buch

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 11:28
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0613; G06F3/0628; G06F3/0629; G06F3/0631; G06F3/0638; G06F3/064; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 107 words
An apparatus for writing data to a plurality of disk drives, the apparatus comprising: means for receiving a transfer unit from a computer host through a communication channel having a bandwidth; means for dividing the transfer unit into a number of stripes of data of predetermined size; means for selecting tracks on different disk drives for storage of the stripes of data, each track requiring a different track data transfer rate, the tracks being so selected that a sum of the data transfer rates is substantially equal to the bandwidth of the communication channel; and means for storing each stripe of data on the corresponding selected track.
Claim 2
Independent Claim 107 words
An apparatus for writing data to a plurality of disk drives, the apparatus comprising: means for receiving a transfer unit from a computer host through a communication channel having a bandwidth; means for dividing the transfer unit into a number of stripes of data of predetermined size; means for selecting tracks on different disk drives for storage of the stripes of data, each track requiring a different track data transfer rate, the tracks being so selected that a sum of the data transfer rates is substantially equal to the bandwidth of the communication channel; and means for storing each stripe of data on the corresponding selected track.
Claim 3
Dependent Claim 22 words
The apparatus of claim 1 wherein the tracks are sorted into track bands, each track band having at least two contiguous tracks.
Claim 4
Dependent Claim 28 words
The apparatus of claim 1 wherein the sum of the data transfer rates is a multiple of an average of the track data transfer rates of all tracks.
Claim 5
Independent Claim 122 words
A method for performing an information transfer operation between a computer host and a storage subsystem having a plurality of disk drives, the method comprising the steps of: separating each information transfer unit exchanged between the computer host and the storage subsystem into a sequence of stripes of data of pre-determined size; allocating the stripes of data among the disk drives of the storage subsystem; and adjusting a rate of transferring information to and from each individual disk drive while keeping the transfer rate for each individual disk drive different from each of the other individual disk drives and maintaining the sum of the transfer rates to match an aggregate transfer rate which is substantially a pre-determined bandwidth of the storage subsystem.
Claim 6
Independent Claim 122 words
A method for performing an information transfer operation between a computer host and a storage subsystem having a plurality of disk drives, the method comprising the steps of: separating each information transfer unit exchanged between the computer host and the storage subsystem into a sequence of stripes of data of pre-determined size; allocating the stripes of data among the disk drives of the storage subsystem; and adjusting a rate of transferring information to and from each individual disk drive while keeping the transfer rate for each individual disk drive different from each of the other individual disk drives and maintaining the sum of the transfer rates to match an aggregate transfer rate which is substantially a pre-determined bandwidth of the storage subsystem.
Claim 7
Dependent Claim 103 words
The method of claim 4 wherein the step of allocating the stripes of data among the disk drives, each disk drive having at least one disk provided with at least one disk surface, the disk surface being formatted into separate bands of contiguous tracks, further comprises the steps of: selecting a stripe set of disk drives for parallel access during the information transfer operation; selecting a track band on each disk drive in the stripe set; assigning a stripe of data to each of the selected track bands; and assigning each stripe of data to a track band on a separate disk drive.
Claim 8
Dependent Claim 25 words
The method of claim 4 wherein the aggregate transfer rate is a multiple of an average of the track data transfer rates of all tracks.
Claim 9
Dependent Claim 41 words
The method of claim 5 wherein each stripe of data within a group of at least two consecutive stripes of data in the stripe sequence is assigned to a unique track band on its associated disk drive in the stripe set.
Claim 10
Dependent Claim 127 words
The method of claim 5 wherein the step of assigning a stripe of data to each of the selected track bands further comprises the steps of: assigning the neighboring stripes of data in the sequence to the adjacent track bands, each track band located on the first disk surface of a separate disk drive in the stripe set; continuing the sequential assignment of the stripes of data to the track bands on the first disk surface of each disk drive until the end of the first disk surface in one radial direction is reached; resuming the sequential assignment of the stripes of data to the track bands on the adjacent disk surface in the radial direction opposite to the radial direction of assignment on the first surface.
Claim 11
Independent Claim 99 words
A method for writing data to a plurality of disk drives, the apparatus comprising: receiving a transfer unit from a computer host through a communication channel having a bandwidth; dividing the transfer unit into a number of stripes of data of predetermined size; selecting tracks on different disk drives for storage of said stripes of data, each track requiring a different track data transfer rate, the tracks being selected so that a sum of the data transfer rates is substantially equal to the bandwidth of the communication channel; and storing each stripe of data on the corresponding selected track.
Claim 12
Independent Claim 99 words
A method for writing data to a plurality of disk drives, the apparatus comprising: receiving a transfer unit from a computer host through a communication channel having a bandwidth; dividing the transfer unit into a number of stripes of data of predetermined size; selecting tracks on different disk drives for storage of said stripes of data, each track requiring a different track data transfer rate, the tracks being selected so that a sum of the data transfer rates is substantially equal to the bandwidth of the communication channel; and storing each stripe of data on the corresponding selected track.
Claim 13
Dependent Claim 25 words
The method of claim 9 further comprising the step of sorting the tracks into track bands, each track band having at least two contiguous tracks.
Claim 14
Dependent Claim 28 words
The method of claim 9 wherein the sum of the data transfer rates is a multiple of an average of the track data transfer rates of all tracks.
Claim 15
Independent Claim 124 words
An apparatus for performing an information transfer operation between a computer host and a storage subsystem having a plurality of disk drives, the apparatus comprising: means for separating each information transfer unit exchanged between the computer host and the storage subsystem into a sequence of stripes of data of pre-determined size; means for allocating the stripes of data among the disk drives of the storage subsystem; and means for adjusting a rate of transferring information to and from each individual disk drive while keeping the transfer rate for each disk drive different from each of the other individual disk drives and maintaining the sum of the transfer rates to match an aggregate transfer rate which is substantially a pre-determined bandwidth of the storage subsystem.
Claim 16
Independent Claim 124 words
An apparatus for performing an information transfer operation between a computer host and a storage subsystem having a plurality of disk drives, the apparatus comprising: means for separating each information transfer unit exchanged between the computer host and the storage subsystem into a sequence of stripes of data of pre-determined size; means for allocating the stripes of data among the disk drives of the storage subsystem; and means for adjusting a rate of transferring information to and from each individual disk drive while keeping the transfer rate for each disk drive different from each of the other individual disk drives and maintaining the sum of the transfer rates to match an aggregate transfer rate which is substantially a pre-determined bandwidth of the storage subsystem.
Claim 17
Dependent Claim 108 words
The apparatus of claim 12 wherein the means for allocating the stripes of data among the disk drives, each disk drive having at least one disk provided with at least one disk surface, the disk surface being formatted into separate bands of contiguous tracks, further comprises: means for selecting a stripe set of disk drives for parallel access during the information transfer operation; means for selecting a track band on each disk drive in the stripe set; means for assigning a stripe of data to each of the selected track bands; and means for assigning each stripe of data to a track band on a separate disk drive.
Claim 18
Dependent Claim 25 words
The apparatus of claim 12 wherein the aggregate transfer rate is a multiple of an average of the track data transfer rates of all tracks.

References Cited (Backward Citations)

US4977472A Cited
US5148432A Cited
US5226010A Cited
US5210860A Cited
US5191584A Cited
US5276679A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-03-02 2001-09-01 2002-03-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-03-02 2005-09-01 2006-03-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-03-02 2009-09-01 2010-03-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag