Method and apparatus for assigning data sets to virtual volumes in a mass store
First Claim
1. Apparatus for selecting a volume space in a mass storage facility according to the attributes of a data set to be stored in the selected volume as requested by a central processing unit, said apparatus comprising:
- first storage means for storing an indication of the status of each of the volumes in the mass storage facility;
second storage means for storing an indication of the requirements of the data set to be stored;
means connected to said first and second storing means for comparing each volume status indication with the requirements indication of the data set to identify volumes eligible for the storage of the data set;
third storage means connected to said comparing means for storing the eligible volume status indications of those volumes that meet the requirements of the data set;
means connected to said third storage means for sequencing the status indications of eligible volumes from best to worst fit according to the manner in which the volumes matched the needs of the data set to be stored; and
means connected to said sequencing means for transferring the data set to the mass storage volume according to the best fitting volume indicated.
0 Assignments
0 Petitions
Accused Products
Abstract
In a mass storage system having a multiplicity of storage volumes containing addressable data, the assignment of newly received data sets to the best storage volume is accomplished by determining the best match of the data set to the available volumes. Such selection enables maximum storage use of each volume. The best volume is one that provides memory space efficiency for the job at hand, and considers the volume life expectancy, the numbers of users, the shareability of the volume, and the status of the volume. First, all eligible volumes are listed. Then these volumes are sorted according to each volume'"'"'s match and risk factors to the data set to be stored. The best fitting volumes are selected first for the actual data transfer and storage operation.
202 Citations
22 Claims
-
1. Apparatus for selecting a volume space in a mass storage facility according to the attributes of a data set to be stored in the selected volume as requested by a central processing unit, said apparatus comprising:
-
first storage means for storing an indication of the status of each of the volumes in the mass storage facility; second storage means for storing an indication of the requirements of the data set to be stored; means connected to said first and second storing means for comparing each volume status indication with the requirements indication of the data set to identify volumes eligible for the storage of the data set; third storage means connected to said comparing means for storing the eligible volume status indications of those volumes that meet the requirements of the data set; means connected to said third storage means for sequencing the status indications of eligible volumes from best to worst fit according to the manner in which the volumes matched the needs of the data set to be stored; and means connected to said sequencing means for transferring the data set to the mass storage volume according to the best fitting volume indicated.
-
-
2. Apparatus for selecting a storage volume in a mass storage facility having a plurality of such storage volumes according to the attributes of a data set to be stored in the selected volume as requested by a central processing unit, said apparatus comprising:
-
first storage means for storing an indication of the status of each of the volumes in the mass storage facility; second storage means for storing an indication of the requirements of the data set to be stored; means connected to said first and second storage means for comparing each volume status indication with the requirements indication of the data set to identify volumes eligibile for the storage of the data set; third storage means connected to said comparing means for storing the elgible volume status indications of those volumes that meet the requirements of the data set; means connected to said third storage means for sequencing the status indications of eligible volumes from best to worst fit according to the manner in which the volumes match the needs of the data set to be stored; first checking means connected to said sequencing means for checking the present status of the best to worst fitting selected volume indications for any change, said first checking means including means for activating a re-sequencing of the volume indications from best fit to worst fit if volume status has changed; second checking means connected to said first checking means for checking present status of the selected volume indications for acceptance by the central processing unit; means connected to said second checking means for determining primary and secondary best fit volume indications; and means connected to said determining means for transferring the data set to a mass storage volume according to the selected primary and secondary best fit volume indications.
-
-
3. The method of selecting a storage volume having a plurality of predetermined storage characteristics and residing in a mass storage system, said selection being in response to a request for storage of a new data set having a plurality of given storage requirements, said storage volume being in a given storage group of a plurality of such storage groups in said mass storage system, each storage group consisting of such storage volumes, said mass storage system storing electrical signal records identifying said storage volumes and each record having signals indicating said predetermined storage characteristics for each said storage volume, said records being arranged by record groups corresponding to said storage groups of storage volumes,
the steps of: -
electronically requesting a selection of a storage volume for storing a new data set, electronically characterizing said new data set in parameters related to storage requirements for such new data set in signals indicating terms identifiable and comparable with said predetermined storage characteristics of said storage volumes, electronically retrieving record signals of a record group having records which identify and characterize the plurality of said storage volumes for volume selection which constitute said given storage group, electronically searching said retrieved records for finding records having electrical signals which identify and characterize storage volumes of said given storage group having said predetermined storage characteristics which indicate that a corresponding storage volume can store said new data set and identifying such capable storage volumes as eligible storage volumes, electronically ordering the storage records of said eligible storage volumes of said given storage group from a best fit for said new data set to a worst fit for said new data set according to said storage requirements of said new data set and second ones of said plurality of predetermined storage characteristics of each said eligible storage volume in said given group, electronically selecting and indicating a storage volume as a best fit storage volume for receiving said new data set; and electronically storing said new data set in said selected storage volume of said given storage group. - View Dependent Claims (4, 5, 6)
-
-
7. In a central processing unit connected to a mass storage system having a plurality of storage volumes for storing data sets, the method of selecting a best one of said storage volumes for a data set to be stored in said mass storage system, said central processing unit having an electrical record for each one of said storage volumes which includes parameters of data set storage usage, allocation, expiration date and accessing delays,
the method of: -
identifying a data set to be stored and characterizing the data storage requirements of said data set by parameters including storage space requirements and expiration date; activating a mass storage controller in said central processing unit for selecting a one of said storage volumes as a best fitting storage volume by comparing said data storage requirements with said storage volume parameters; said mass storage controller selecting ones of said records for storage volumes for possible selections as eligible storage volumes from a predetermined group of said records which ones of records indicating storage volumes having storage allocations and expiration dates enabling a successful storage of said data set in said mass storage system, then ordering said selected ones of said records from a best fit to a worst fit for said data set in accordance with successive comparisons of said data storage requirements of said data set and said parameters of said selected ones of said predetermined storage volumes and minimal accessing, identifying and indicating a given selected one of said storage volumes as a best fitting storage volume, and supplying said indication of said best fitting storage volume and said storage requirements of said data set for allocating a storage space of said storage volume for said data set to said mass storage system for enabling storage of said data set in said best fitting volume of said mass storage system.
-
-
8. Apparatus for selecting a storage volume in a mass storage facility according to storage requirements of a new data set to be stored in a selected volume as requested by a central processing unit connected to said mass storage facility, said apparatus comprising:
-
first storage means for storing in a volume record an indication of the storage space status of each of said storage volumes in the mass storage facility as volume status indicators; second storage means for storing storage requirement indications of said new data set; means in said central processing unit connected to said first and second storage means for searching said volume records to find records having volume status indicators which indicate storage parameters capable of satisfying said new data set storage requirements by a comparison of each of said volume status indicators with said stored storage requirement indications, identifying such records as indicating eligible storage volumes for said new data set; means in said central processing unit for ordering said volume records indicating eligible volumes from a best to a worst fit according to the data set storage requirements and accessibility of said storage volumes; means in said central processing unit identifying a best fitting one of said storage volumes as a selected storage volume; and means connected to said identifying means for storing the new data set into a said selected storage volume. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. In a data processing system, a machine method executed in a central processing unit for identifying a storage volume in a volume group of such storage volumes in a mass storage facility having a plurality of such volume groups for facilitating the storage of a data set in the mass storage facility, said data set having electrical indicators of its storage requirements, each of said storage volumes having an expiration date, a record in said data processing system for identifying each said storage volume and having electrical indications of such expiration date and data set storage parameters for each such storage volume,
the method steps of: -
a. identifying a group of storage volumes in which said data set could possibly be stored; b. fetching records identifying storage volumes of said identified group of storage volumes; c. comparing said fetched records electrical indications with said data set electrical indicators for determining capability of said identified storage volumes respectively corresponding to said fetched respective record to store said data set, identifying those records showing storage volume capability to store said data set as records representing and identifying eligible storage volumes, d. separating said records representing and identifying eligible storage volumes from other records as a set of records of eligible storage volumes of said identified group, e. ranking all of the separated records from a best to a worst fit; f. ordering the ranked and separated records in accordance with said ranking from a best to a worst fit for said data set; g. storing in an electrical digital memory the ranked and separated records as ordered from best fit to worst fit; h. selecting a record from said electrical digital memory as a record representing and identifying a best fitting storage volume; i. placing said selected record into a register; j. going to step 1 if there are sufficient selected records in said register for storing said data set, otherwise going to step k; k. getting a next record from said electrical digital memory according to best to worst fit and going to step h, l. updating an inventory table for the records of said identified group of storage volume to reflect selection of a best fitting storage volume; m. transmitting the records of said selected volume(s) for storage to a given memory means of said central processing unit; and n. transferring the data set to the selected volume(s) in the mass storage facility according to the records stored in said given memory means. - View Dependent Claims (17, 18)
-
-
19. The method of managing storage apparatus having a predetermined number of addressible storage registers connected to a data processing system, said data processing system having a given central processing unit managing said storage apparatus, in said given central processing unit performing the steps of:
-
(1) assigning a predetermined number of addresses capable of identifying a predetermined number of said addressible storage registers, assigning predetermined ones of said addressible storage registers to a plurality of storage volumes, respectively, assigning an address to each said storage volume to make each storage volume addressible as an entity; (2) combining a predetermined number of said storage volumes into groups of said storage volumes so that said storage apparatus has a plurality of said groups and said groups having diverse numbers of said storage volumes, (3) creating an electronic record for each of said storage volumes, each said record including status signals identifying which of said addressible registers are allegated to a data set and which are free to be allocated, expiration date of each said storage volume and usage status indications of said storage volume, keeping said respective created records current with the present actual status of said storage volumes, (4) grouping said records in accordance with said combined storage volumes in said groups and storing said records in predetermined ones of said addressible registers, (5) receiving a request to store a data set in said addressible storage registers, said request including attribute indications signifying storage requirements of said data set including an indication of the number of registers required, expiration date of said data set and desired usage attributes, (6) in response to said request, identifying a group of said storage volumes for receiving said data set, (7) fetching from said predetermined ones of said addressible registers said electronic records for storage volumes of said identified group of storage volumes, (8) comparing said record status signal indications for said storage volume expiration date and free registers in each of said fetched records with said attributes of expiration date and free registers, identifying those fetched records yielding a comparison result of a volume expiration date later than said data set expiration date and a number of storage volumes free for allocation addressible storage registers not less than said number of registers required for storing a predetermined portion of said data set, recording in ones of said identified ones of said fetched records that such identified records represent storage volumes eligible to receive said data set, (9) sorting said fetched records in accordance with said comparisons, (10) selecting a one of said sorted fetched records that has an expiration date close to said expiration date of said data set as a record identifying a storage volume best fitting said data set, (11) storing said data set in said best fitting volume, and (12) repeating steps (1)-(11) for operating said storage apparatus over a predetermined period of time.
-
-
20. A data processing system having a host computer, mass storage means for storing received user data signals, connection to said host computer from said mass storage means for receiving signals to be stored and supplying stored signals from and to said host computer, said mass storage means having a multiplicity of addressable storage registers with addressing means capable of addressing said multiplicity of addressable storage registers in groups of such addressable storage registers as a storage volume, each said storage volume constituting a one of said groups of said addressable storage registers,
the improvement comprising mass-storage controller program indicia in said host computer for enabling said host computer to manage said volumes for more efficiently using said multiplicity of addressable storage registers, including: -
MSVI register means for storing MSVI records of characterizing data signals for characterizing said respective storage volumes, said stored characterizing data signals including signals indicating volume expiration dates, volume mount status, number of volume concurrent users, sharability of volume, general use of said volume, free space, data separation, wait status and a risk factor, means in said MSVI register means to store said MSVI records in groups of such records to correspond to respective groups of said storage volumes, request register means for storing a user request to get a user data set assigned to a one of said storage volumes together with data set characterizing data signals which are complementary to said storage volume characterizing data signals, best fit table, volume selection routine indicia for enabling said host computer for scanning and comparing contents of said MSVI register means of a given addressed group of said MSVI records with contents of said request register means for risk of failure by examining a group of said MSVI records for general use ones of said volumes, if no general use volumes are found indicate on error, upon finding indications of general use volume generate a list of eligible volumes and store some in said best bit table and cause said host computer to sense SELCTVOL and all other indicia set forth hereinafter as a portion of said volume selection routine indicia, SELSCREN indicia for enabling said host computer to determine if said data set request can be met on a basis of storage spare requirements on either a positioned or indexed basis, SELCTVOL indicia for enabling said host computer to sense other indicia of said mass storage controller computer program indicia, pass MSVI records to said best fit table for a data set identified and characterized in said data set request, send said MSVI records of said best fit table to select one or more of said volume records to identify a one of said storage volumes for storing said data set, VOLREF indicia for enabling said host computer to update said MSVI records relating to a one of said data set requests specifying a given volume for a data set identified by said one data set request, ELGIBLCK indicia for enabling said host computer to determine by examining said MSVI record if a volume represented thereby is eligible to be selected by comparing said MSVI record indicated free space with data set request indicated data set storage space requirements;
verify operational status, if the indicated volume is sharable then such indicated storage volume can be eligible; and
if not sharable such indicated storage volume is not eligible,EXPIRCK indicia for enabling said host computer to determine if a storage volume indicated by a one of said MSVI records expires prior to expiration of said data set indicated in said data set request stored in said request register means, SPACONV indicia for enabling said host computer to store a space indication of said volume record that indicates space indication of said volume record that indicates space allocated for usage within a storage volume indicated by said MSVI record, SPACECK indicia for enabling said host computer to compare free space of a storage volume indicated by a one of said MSVI records and indicate the storage volume indicated by such MSVI record is not eligible if said free space is less than said space requirements indicated in said data set request, VOLSEPCK indicia for enabling said host computer to compare data separation characterizing indications of said data set and free space indications of a given one of said storage volumes to determine if such given one of said storage volumes should be excluded from being an eligible one of said volumes because of said data separation indications being different from said free space indications, WAITCK indicia for enabling said host computer to further analyze a given one of said volume characterizing data signals for a mounted one of said volumes to sense from said volume characterizing data signals whether said given one of said mounted volumes has a wait indication including shareability indications to indicate a wait status for such volume to indicate a possible future delay in processing said data set due to said wait status, CONUSER indicia for enabling said host computer to sense said volume data characterizing signals for a given one of said storage volumes and to transfer a number of user indications to said best fit table;
if said given one volume is indicated as being mounted, set said concurrent user indication to unity,FINSELCT indicia for enabling said host computer to sense SORT indicia to sort contents of said best bit table in accordance with said volume data characterizing signal stored in said best bit table, SORT indicia for enabling said host computer to sort volume characterizing indications to rearrange said best bit table signal contents into a sorted best bit table from a best to worst fit set of said volume data characterizing signal for storing said data set indicated in said data set request, UPDTMSVI indicia for enabling said host computer to read said MSVI records and to alter said MSVI records in accordance with operations of said host computer in accordance with operations of said host computer in accordance with said volume selection routine indicia including said SELSCREN, SELCTVOL, VOLREF, ELGIBLCK, EXPIRCK, SPACONV, SPACECK, VOLSEPCK, WAITCK, CONUSER, FINSELCT and SORT indicia whereby operations of said addressable storage registers for the storage of said user data signals by selection of a one of said storage volumes for storage of a said user data set, and means for storing said user data set in said mass storage means.
-
-
21. A data processing system having a host computer means, a plurality of data storage units connected to said host computer means for storing data signals for use by said host computer means, said plurality of data storage units having a multiplicity of addressable storage registers, said addressable storage registers being arranged to be addressed as volumes of predetermined numbers of said addressible storage registers, predetermined ones of said volumes being grouped into volume groups, respectively;
- means for transferring data signals between said host computer means and said multiplicity of addressable storage registers,
the improvement being in said host computer and including in combination; MSVI means for storing volume identifications with associated volume characterizing signals for each respective ones of said volumes and arranged in accordance with said volume groups as group sets of volume identification and characterizing signals, means for electrically manifesting a data set storage request with associated data set characterizing signals, all of said characterizing signals including electrical indications of respective expiration dates and a number of storage registers for indicating available and required storage space respectively for said volumes and said data set, scan start means coupled to said MSVI means and being responsive to said data set storage request to select a first one of said stored group sets of volume identification and characterizing signals, means for scanning said selected one of said group sets and having means receiving said data set characterizing signals for successively comparing said volume characterizing signals with said data set characterizing signals to produce a list of eligible volume identification signals for said data set request, said list including only those volume identification signals including said volume characterizing signals whose available number of storage registers is not less than the data set requirements number of storage registers, sorting means coupled to said scanning means for receiving said list of volume identification signals and associated volume characterizing signals and having mean for sorting said list in accordance with said data set characterizing signals according to a plurality of said indications in a priority related to a best fit relationship of said volumes represented by said list of volumes identification and characterizing signals to said data set as represented by said data set characterizing signals, selecting means coupled to said sorting means for selecting a subset of said list of volumes identification and characterizing signals as identifications of possible ones of said volumes to store said data set represented by said data set characterizing signals, and completion means responsive to said selecting means not selecting said subset to reinitiate said scan start means to start a scan of another stored group set o volume identification and characterizing signals and having means responsive to a subset being selected by said selecting means to indicate storage of said data set in a given one of said volumes identified by a respective given one of said volumes identification signals in said subset.
- means for transferring data signals between said host computer means and said multiplicity of addressable storage registers,
-
22. A mass storage volume controller for managing storage space a predetermined portion control of a mass storage apparatus by selecting a volume storage area for a data set to be stored,
including in combination, a select volume register means for receiving data set characterizing data signals and a signal request to select a volume storage area in accordance with said data set characterizing data signals, a mass storage volume area inventory table memory for storing identification signals of all of said volume storage areas in said predetermined portion respectively together with volume storage area characterizing data signals, both said characterizing data signals including signal indications for each respective data set and volume storage area of number of concurrent users, shareability, expiration data, respectively indicating storage space requirements and storage space availability for said data set and said volume storage areas, an MSVI register connected to said mass storage volume area inventory table memory for receiving said identification signals with associated volume storage area characterizing data signals respectively representing said volume storage areas for possibly storing a data set represented by said signal request and associated data set characterizing data set signals, a temporary storage register connected to said MSVI register for sequentially receiving said identification signals with associated volume storage area characterizing data signals as successive sets of storage volume area qualifying signals, a data comparator connected to said select volume register means and to said temporary storage register to compare said storage volume area qualifying signals with said data set characterizing data signals, first means connected to said MSVI register and being responsive to said data comparator to transfer another identification signal and associated volume storage area characterizing data signals to said temporary storage register to constitute new storage volume are a qualifying signals such that said data comparator nonrecursively compares said volume storage area characterizing data signals as successive ones of said volume storage area qualifying signals with said data set characterizing data signals stored in said select volume register, second means connected to said data comparator and to said temporary storage register and being responsive to said data comparator indicating storability of said data set in a one of said volume storage areas indicated by said volume storage area qualifying signals to supply such volume storage area qualifying signals as eligible volume signals, eligible volume register means connected to said second means for receiving and storing all of said supplied eligible volume signals for said data set, third means for indicating said nonrecursive compares for said data set have been completed, sorter means coupled to said third means and coupled to said eligible volumes register for receiving said stored eligible volume signals whenever said third means indicates said completion, said sorter means being for sorting said eligible volume signals in accordance with a given priority of importance of said storage volume characterizing data signal indications in all of said stored and received eligible volume signals, a best fit register means coupled to said sorter means to receive and store said sorted eligible volume signals in an order in accordance with said storage volume characterizing data signal indications within said given priority of importance, a volume storage area selecter connected to said select volume register means for receiving said storage space requirements indication and a best fitting one of said sorted eligible volume signals for comparing same to indicate storability of said data set in a volume storage area indicated by said best fitting one of said stored eligible volume signals, cycling means coupled to said best fit register means and said volume storage area selecter to repeatedly receive ones of said sorted eligible volume signals as a successism of best fitting eligible volume signals in accordance with said storage volume characterizing data signal indications within said priority of importance, output means coupled to said volume storage area selector for receiving and storing ones of said best fitting ones of said sorted eligible volume signals as a list of storage volume areas suitable to store said data set, and an I/O controller coupled to said output means and being responsive to said list of storage volumes to store said data set in a one of said volume storage areas indicated by a one of said eligible volume signals in said list.
Specification