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

Method and apparatus for allocating memory space based upon free space in diverse memory devices

Assignee: International Business Machines Corp
•
Filing: 1981-03-25
•
Granted: 1985-07-09
•
Expires: 2001-03-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Allocation of space of peripheral storage devices to host processes is based upon free or unallocated space in each such device. The device, irrespective of capacity, having the largest free space is most likely to receive a next space allocation. A central record in a multi-host system stores free space indications. In a disk storage device free space is indicated by the number of unallocated data storage record tracks for each such device.

Inventors

  • 👤 Harvey E. Kamionka
  • 👤 Jerry W. Pence
  • 👤 Dat M. Tran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 19:18
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F12/00; G06F12/02; G06F12/08; G06F15/00; G06F15/16; G06F15/161; G06F3/0602; G06F3/0608; G06F3/0628; G06F3/0629; G06F3/0631; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0674

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 203 words
The machine-implemented method of balancing activity of a plurality of peripheral data storage devices having diverse data storage capacities, each device having a plurality of allocatable memory segments, including the steps of: maintaining a running tally for each of said plurality of data storage devices for indicating the number of currently unallocated memory segments therein; memorizing said running tallies for all of said storage devices in a central data memory, such that the memorization is a running tally for all of said unallocated memory segments in all of said data storage devices; executing a program of instructions, in any one of a plurality of hosts using said storage devices, that examines said tallies and determines and identifies which of said storage devices has the greatest tally; allocating new work to said storage devices in a sequence based upon said tallies including biasing said work allocations to those storage devices with larger unallocated memory segment tallies; and in allocating new work to said storage devices, scanning said central memory for a largest one of said memorized tallies, identifying a one of said storage devices as the storage device having the largest unallocated space and allocating work to said identified one of said storage devices.
Claim 2
Dependent Claim 203 words
The machine-implemented method of balancing activity of a plurality of peripheral data storage devices having diverse data storage capacities, each device having a plurality of allocatable memory segments, including the steps of: maintaining a running tally for each of said plurality of data storage devices for indicating the number of currently unallocated memory segments therein; memorizing said running tallies for all of said storage devices in a central data memory, such that the memorization is a running tally for all of said unallocated memory segments in all of said data storage devices; executing a program of instructions, in any one of a plurality of hosts using said storage devices, that examines said tallies and determines and identifies which of said storage devices has the greatest tally; allocating new work to said storage devices in a sequence based upon said tallies including biasing said work allocations to those storage devices with larger unallocated memory segment tallies; and in allocating new work to said storage devices, scanning said central memory for a largest one of said memorized tallies, identifying a one of said storage devices as the storage device having the largest unallocated space and allocating work to said identified one of said storage devices.
Claim 3
Dependent Claim 163 words
The machine-implemented method of operating a multihost data processing system having a plurality of hosts connected to a first plurality of peripheral data storage devices, a second plurality of channels connecting said hosts to predetermined ones of said peripheral data storage devices, said first plurality not being greater than said second plurality, the steps of: indicating the amount of free data storage space in each of said data storage devices irrespective of the storage capacity of said data storage devices; storing all of said indications together with identifications of the data storage devices, respectively, in a central data storage device accessible by all of said hosts; identifying a one of said storage devices as having a greater amount of indicated free data storage space; and allocating data storage space from said identified storage device for a one of said hosts such that larger-capacity ones of said data storage devices tend to receive data signals prior to smaller-capacity ones of said data storage devices.
Claim 4
Dependent Claim 163 words
The machine-implemented method of operating a multihost data processing system having a plurality of hosts connected to a first plurality of peripheral data storage devices, a second plurality of channels connecting said hosts to predetermined ones of said peripheral data storage devices, said first plurality not being greater than said second plurality, the steps of: indicating the amount of free data storage space in each of said data storage devices irrespective of the storage capacity of said data storage devices; storing all of said indications together with identifications of the data storage devices, respectively, in a central data storage device accessible by all of said hosts; identifying a one of said storage devices as having a greater amount of indicated free data storage space; and allocating data storage space from said identified storage device for a one of said hosts such that larger-capacity ones of said data storage devices tend to receive data signals prior to smaller-capacity ones of said data storage devices.
Claim 5
Dependent Claim 218 words
The machine-implemented method of balancing activity of a first plurality of peripheral data storage volumes having respective diverse data storage capacities, each data storage volume having a plurality of allocatable memory segments, including the steps of: keeping a running tally for each of said data storage volumes for indicating a number of the respective unallocated memory segments in each such data storage volumes; separately storing said tallies for all of said data storage volumes in a central data memory as memorized tallies such that said memorized tallies are a running tally of unallocated memory segments for all of said data storage volumes; allocating said unallocated memory segments in said data storage volumes to new data to be stored in respective ones of said data storage volumes in an order of volume selections beginning with the volume having a largest one of said tallies and independently of said diverse data storage capacities and subsequent volumes having successively smaller tallies in a sequence proceeding toward identifying a volume having a smallest one of said tallies; for allocating said data storage volumes to said new data, scanning said central memory for finding a largest one of said memorized tallies, and identifying one of said data storage volumes having said found largest memorized tally as the allocated volume for said new data.
Claim 6
Dependent Claim 218 words
The machine-implemented method of balancing activity of a first plurality of peripheral data storage volumes having respective diverse data storage capacities, each data storage volume having a plurality of allocatable memory segments, including the steps of: keeping a running tally for each of said data storage volumes for indicating a number of the respective unallocated memory segments in each such data storage volumes; separately storing said tallies for all of said data storage volumes in a central data memory as memorized tallies such that said memorized tallies are a running tally of unallocated memory segments for all of said data storage volumes; allocating said unallocated memory segments in said data storage volumes to new data to be stored in respective ones of said data storage volumes in an order of volume selections beginning with the volume having a largest one of said tallies and independently of said diverse data storage capacities and subsequent volumes having successively smaller tallies in a sequence proceeding toward identifying a volume having a smallest one of said tallies; for allocating said data storage volumes to said new data, scanning said central memory for finding a largest one of said memorized tallies, and identifying one of said data storage volumes having said found largest memorized tally as the allocated volume for said new data.
Claim 7
Dependent Claim 154 words
A data processing system having multiple data storage devices (12) having diverse data storage capacities, each said data storage device incorporating its own volume table of contents (16) (hereinafter referred to as the "VTOC"), and for accommodating multiple potential users (10) of such devices together with a storage device management facility means characterized in that: (a) said management facility means having first means for maintaining a single table (15) as a serial reusable resource to separately store for each said data storage device, its identity (VOLID), together with a unit measure of its unassigned data storage capacity (TRACKS); and (b) said management facility means having second means for responding to a user request for data device storage by searching said table for the device identity (VOLID) associated with the greatest unit measure of unused capacity (TRACKS) independently of said diverse data storage capacities, and assigning the so-identified data storage device to the requesting user.
Claim 8
Dependent Claim 154 words
A data processing system having multiple data storage devices (12) having diverse data storage capacities, each said data storage device incorporating its own volume table of contents (16) (hereinafter referred to as the "VTOC"), and for accommodating multiple potential users (10) of such devices together with a storage device management facility means characterized in that: (a) said management facility means having first means for maintaining a single table (15) as a serial reusable resource to separately store for each said data storage device, its identity (VOLID), together with a unit measure of its unassigned data storage capacity (TRACKS); and (b) said management facility means having second means for responding to a user request for data device storage by searching said table for the device identity (VOLID) associated with the greatest unit measure of unused capacity (TRACKS) independently of said diverse data storage capacities, and assigning the so-identified data storage device to the requesting user.
Claim 9
Dependent Claim 66 words
A data processing system as claimed in claim 4, including multiple host processors, a plurality of channels connecting said multiple host processors to said multiple data storage devices, said management facility means being distributed among the host processors and said single table (15) being collectively maintained in commonly accessible storage, writing access to the table being conditional upon the host being able to access the table.
Claim 10
Dependent Claim 105 words
The machine-implemented method set forth in claim 2, further including the steps of: upon each allocation in said data storage devices, updating said indications of free data storage space in the respective said data storage devices to reflect said allocation and also updating said storage of said indications in said central data storage device to reflect said allocation such that the stored indications are a running tally of free space for all of said data storage devices; and upon needing an allocation of data storage space in any one of said data storage devices performing said identifying and allocating steps for each said needed allocation.
Claim 11
Dependent Claim 103 words
The machine-implemented method set forth in claim 3, wherein a plurality of host processors are connected to said first plurality of data storage devices via a second plurality of channels, said second plurality not being greater than said first plurality; further including the steps of: upon each allocation in said data storage devices, updating said indications of unallocated memory segments in the respective said data storage devices to reflect said allocation and also updating said memorized tallies; and upon needing an allocation of data storage space in any one of said data storage devices performing said scanning step and then said allocating step.

References Cited (Backward Citations)

US3241125A Cited
US3878513A Cited
US4435752A Cited
US4104718A Cited
US4047160A Cited
US4121286A Cited
US4325120A Cited
US4408274A Cited
US4403283A Cited
US4393445A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1988-07-08 1989-01-07 1989-07-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1992-07-08 1993-01-07 1993-07-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1996-07-08 1997-01-07 1997-07-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag