# US 5,347,651 A · System for allocating worm optical medium file storage in groups of fixed size addressable areas while tracking unrecorded areas and end of volume

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,347,651 A
- Document ID: US5347651A
- Status: Granted
- Kind: A
- Application number: 07/689,584
- Filed: 1991-04-23
- Granted: 1994-09-13
- Earliest claimed: 1991-04-23
- Assignees: International Business Machines Corporation
- Inventors: William T. Burke; Larry W. Loen; Randy K. Rolfe
- Web page: https://patentgrep.com/patent/US5347651A

## CPC

- G06F 3/0601: {Interfaces specially adapted for storage systems}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0643: {Management of files}
- G06F 3/0686: {Libraries, e.g. tape libraries, jukebox}
- G11B 27/002: {Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing; (transfer of record carriers from magazine G11B15/68, G11B17/10; G11B17/22)}
- G11B 27/28: by using information signals recorded by the same method as the main recording {(G11B27/22 takes precedence)}
- G11B 27/36: Monitoring, i.e. supervising the progress of recording or reproducing {(for digital recording G11B20/00 and s.gr.; for monitoring, testing or measuring of TV recorders of the type covered by H04N5/76 and subgroups, see H04N17/06)}
- G11B 2220/20: Disc-shaped record carriers
- G11B 2220/218: Write-once discs
- G11B 2220/41: Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
- Y10S 707/99956: File allocation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A removable optical disk of the write once type is managed to minimize size of the control area for user data recorded on the disk. Instead of recording each recorded file indicating token (serial number) as each file is recorded, a maximum value file token having a numerical value greater than a previous maximum value token is recorded in the control area such that any optical recorder receiving the disk may start recording data using such maximum value token. If the file indicating token values reach the maximum value token, then a new maximum value token is created. A pseudo end of volume (EOV) value is maintained which points to a one of the addressable data storing ares of the disk which is allocated and not recorded as EOV. All allocated data storing areas with addresses greater than EOV are recorded in contiguously addressed data storing areas. When any data storing area having an address higher than EOV is left unrecorded, then EOV is updated to point to that unrecorded allocated data storing area. When either the maximum value token or EOV are changed or updated, both the EOV and maximum value token are recorded in the control area. Operations in a closed environment, super or umbrella allocation sizes and reduced EOV values are also disclosed.

## Claims

### Claim 1

A machine-effected method of recording data on a write-once read-many optical medium, the medium having a multiplicity of unallocated addressable data storing areas addressable in a range of addresses from a first low address to a second high address, including the machine-executed steps of:
automatically allocating contiguous first predetermined ones of said unallocated addressable data storing areas beginning with said first low address and proceeding sequentially in addresses toward said second high address for identifying first predetermined allocated addressable data storage areas;
automatically recording data in second predetermined ones of the allocated addressable data storing areas, a second number of said second predetermined ones of the allocated addressable areas being fewer than a first number of said first predetermined allocated addressable data storage areas;
automatically indicating the first end of volume of the medium is at an address of the unrecorded allocated data storing area having a highest address of any of the unrecorded allocated data storing areas;
repeatedly recording data in said unrecorded allocated data storage areas of said first predetermined allocated addressable data storage areas;
indicating that predetermined data are to be recorded in additional ones of said unallocated addressable data storage areas having addresses greater than said end of volume address;
allocating second predetermined ones of said unallocated addressable data storage areas having addresses greater than said end of volume address for indicating second predetermined allocated addressable data storage areas;
automatically changing said indicating the first end of volume to a second end of volume having an address of an unrecorded allocated data storage area having a greatest address of said second predetermined allocated addressable data storage areas; and
automatically recording said predetermined data in unrecorded ones of said first and second allocated data storing areas.

### Claim 2 (depends on 1)

In the machine-effected method set forth in claim 1 further including the machine-executed steps of:
in said step of automatically recording said predetermined data in unrecorded ones of said first and second allocated data storing areas, automatically leaving a predetermined one of the allocated second predetermined ones of said second allocated addressable data storing areas unrecorded.

### Claim 3

A machine-effected method of recording status of a data storage medium having a plurality of addressable data storage areas and addressing means for addressing said data storage areas, including the machine-executed steps of:
recording a plurality of files on the data storage medium respectively in a plurality of continuation chains, recording each said continuation chain as a linked list of file-related ones of said data storage areas, sequentially recording said data in each of said continuation chains being from one end toward a last-recorded end of each said continuation chain;
establishing first and second control ones of said plurality of continuation chains as an addressable control area on the storage medium;
automatically generating a file-indicating token for each of said continuation chains in a predetermined sequence of numbers such that each of said continuation chain is identified on the data-storing medium by respective ones of said file-indicating tokens;
recording each of said file-indicating tokens in said first one of said control ones of said continuation chains for identifying the respective continuation chains;
automatically finding one of said file-indicating tokens having a highest file number, then establishing a maximum value token for the data storing medium and generating a value in said maximum value token greater than said highest file number by a predetermined value;
automatically repeatedly generating said file-indicating tokens having successively greater values in said predetermined sequence of numbers for assigning said generated numbers respectively to respectively indicate respective ones of said files sequentially recorded on the data storing medium, storing each of said generated file-indicating tokens in said first one of said control ones of said continuation chains;
automatically comparing each of the assigned greater values with the maximum value token; if the assigned file-indicating token value is greater than the maximum value token value, then establishing a new maximum value token having a value greater than the compared greater value by said predetermined value and recording the new maximum value token on the medium in said second one of said control ones of said continuation chains for indicating that all of said file-indicating tokens recorded in said first one of said control ones of said continuation chains have a value less than said new maximum value token.

### Claim 4 (depends on 3)

In the machine-effected method set forth in claim 3 further including the machine-executed steps of:
automatically selecting the data storing medium to be a write-once optical disk;
automatically establishing a new continuation chain having a predetermined number of allocated addressable data storage areas on the medium; and
automatically serially recording on the data storing medium the file-indicating tokens in said first one of said control ones of said continuation chains in an order of establishment such that the last recorded maximum value token indicates an unused file-indicating token number.

### Claim 5 (depends on 4)

In the machine-effected method set forth in claim 4 further including the machine-executed steps of:
automatically sensing and indicating that an optical medium was just mounted in an optical player;
automatically finding and reading the last recorded maximum value token recorded in the first one of said control ones of said continuation chains; and
automatically establishing a next file-indicating token having a value in said predetermined sequence of numbers having a predetermined value difference from the just-read maximum value token.

### Claim 6 (depends on 5)

In the machine-effected method set forth in claim 5 further including the machine-executed steps of:
automatically repeatedly allocating groups of addressable areas of the optical medium for later receiving and recording data to be stored;
automatically repeatedly automatically establishing an end of volume (EOV) pointer separate from said addressing means and having an address of an addressable area of the optical medium having a predetermined address value difference from a last allocated group of said addressable areas such that said EOV pointer continuously and separately from said addressing means points to the end of volume on said data storage medium; and
automatically recording the established EOV pointer and said maximum value token in a allocated unrecorded one of the addressable areas in said second one of said control ones of said plurality of continuation chains.

### Claim 7 (depends on 6)

In the machine-effected method set forth in claim 6, further including the machine-executed steps of:
after said sensing and indicating step, automatically finding and reading a last recorded one of said EOV pointers;
automatically establishing a shadow EOV pointer and storing said shadow EOV pointer in a random access memory;
automatically updating the shadow EOV pointer each time a group of addressable areas is allocated; and
automatically recording the updated shadow EOV pointer in the second one of said control ones of said continuation chains as an EOV pointer.

### Claim 8 (depends on 7)

In the machine-effected method set forth in claim 7, further including the machine-executed steps of:
automatically allocating a group of said addressable storage areas for later recording; and
upon completing the allocation, performing said automatically establishing a new EOV pointer step and then automatically recording said new EOV pointer and said maximum value token in said second one of said control ones of said plurality of continuation chains.

### Claim 9 (depends on 7)

In the machine-effected method set forth in claim 7 further including the machine-executed steps of:
automatically allocating a group of said addressable areas for a predetermined one of said plurality of continuation chains; and
automatically performing one of the repeatedly automatically establishing an EOV pointer steps; and
then automatically performing said automatically recording the last-mentioned established EOV pointer and said maximum value token in said second one of said control ones of said plurality of continuation chains.

### Claim 10 (depends on 7)

In the machine-effected method set forth in claim 7 further including the machine-executed steps of:
automatically establishing predetermined criteria for recording in said second one of said control ones of said plurality of continuation chains either a newly established EOV pointer or a newly established maximum value token;
after establishing a new EOV pointer or a new maximum value token, performing said step of recording the EOV pointer and said maximum value token in the second one of said control ones of said plurality of continuation chains.

### Claim 11 (depends on 10)

In the machine-effected method set forth in claim 10 further including the machine-executed steps of:
automatically allocating a group of said addressable areas to be immediately recorded; and
automatically withholding generating a new EOV pointer.

### Claim 12 (depends on 11)

In the machine-effected method set forth in claim 11 further including the machine-executed steps of:
automatically allocating a like number of the addressable areas in each one of said groups of said addressable areas being allocated for said predetermined one of said plurality of said continuation chains; and
automatically allocating a variable number of the addressable areas while allocating addressable areas for said control ones of said plurality of continuation chains.

### Claim 13 (depends on 11)

In the machine-effected method set forth in claim 11, further including the machine-executed steps of:
mounting the optical medium in an optical player for recording and reading operations;
automatically preparing to demount the optical medium from the player; and
during said preparing to demount step recording the EOV pointer and the maximum value token in said second one of said control ones of said plurality of continuation chains.

### Claim 14 (depends on 11)

In the machine-effected method set forth in claim 11, further including the machine-executed steps of:
automatically preparing to end a computing session using said optical player including recording said shadow EOV pointer and said maximum value token in said second one of said control ones of said plurality of continuation chains.

### Claim 15 (depends on 11)

In the machine-effected method set forth in claim 11, further including the machine-executed steps of:
automatically establishing predetermined operations criteria for the optical player including specifying predetermined conditions that may meet the operations criteria;
automatically monitoring the operation of the optical player including detecting said specified predetermined conditions, comparing the detected specified predetermined conditions and the operations criteria and each time predetermined one(s) of the specified predetermined conditions meet the operations criteria generating a record flag; and
automatically detecting the record flag and then recording said shadow EOV pointer and said maximum value token in the second one of said control ones of said plurality of continuation chains.

### Claim 16 (depends on 15)

In the machine-effected method set forth in claim 15 further including the machine-executed steps of:
automatically indicating a first one of said specified predetermined conditions while recording in said predetermined one of said plurality of continuation chains; and
automatically indicating a second one of said specified predetermined conditions different from the first one of said specified predetermined conditions while recording in the medium outside of said predetermined one of said plurality of continuation chains.

### Claim 17 (depends on 3)

In the machine-effected method set forth in claim 3, further including the machine-executed steps of:
automatically repeatedly allocating groups of said addressable areas of the data storage medium for later receiving and recording data to be stored;
repeatedly automatically establishing an end of volume (EOV) pointer having an address of an addressable area of the optical medium of a last allocated one of said groups of addressable areas; and
automatically recording the established EOV pointer and said maximum value token in an unused one of the addressable areas in said second one of said control ones of said plurality of continuation chains.

### Claim 18 (depends on 17)

In the machine-effected method set forth in claim 17 further including the machine-executed steps of:
after said sensing and indicating step, automatically finding and reading a last recorded one of said EOV pointers from said second one of said control ones of said plurality of continuation chains;
automatically establishing a shadow EOV pointer and storing said shadow EOV pointer in a random access memory;
automatically updating the shadow EOV pointer each time a group of said addressable areas is allocated to one of said plurality of continuation chains; and
automatically recording the updated shadow EOV pointer in the second one of said control ones of said plurality of continuation chain as said last recorded EOV pointer.

### Claim 19 (depends on 3)

In the machine-effected method set forth in claim 3 further including the machine-executed steps of:
automatically continuously retaining the data storage medium in a machine controlled environment;
while continuously retaining the data storage medium in the machine controlled environment, not performing said automatically comparing step, rather repeatedly assigning said successively greater values irrespective of the maximum token value;
automatically retentively storing in a predetermined retentive data store separately from the data storage medium a last file-indicating token value;
indicating that the data storage medium is to be no longer continuously retained in the machine controlled environment; and
then, performing said automatically comparing step between a last assigned file-indicating token value for generating and recording a new maximum value token on the data storage medium.

### Claim 20 (depends on 19)

In the machine-effected method set forth in claim 19 further including the machine-executed steps of:
including in said machine controlled environment an optical disk player having an machine effected reception and ejection of the data storage medium and while the data storage medium is being continuously retained in the optical disk player, not performing the automatically comparing step until the indication of the data storage member to be on longer retained occurs, then performing the automatically comparing step and recording the new max token value on the data storage member; and
automatically ejecting the data storage member from the player.

### Claim 21 (depends on 19)

In the machine-effected method set forth in claim 19 further including in said controlled machine environment a plurality of optical disk players operatively connected to a disk library having means for automatically transferring disks between the library and the players, the library including a storage media ingress-egress station for receiving and ejecting data storage media including said data storage medium; the machine-executed steps of:
receiving the data storage medium into the disk library and indicating a continuous retention of the data storage medium such that the continuously retaining step is performed while the data storage medium is retained either in said library, in any of said plurality of players or being automatically transported therebetween; and
upon performing said indicating step, then generating a new maximum token value, recording the new maximum token value onto the data storage medium and then ejecting the data storage medium from the library via said ingress-egress station.

### Claim 22

In apparatus for storing and retrieving data to and from an optical medium including, in combination:
optical data storage means in an operative optical data-transferring relationship with the optical medium for storing and retrieving data on and from the optical medium, the optical medium having a multiplicity of addressable data storing areas;
computer means connected to the optical data storage means and having operating indicia means for enabling the computer means to actuate the optical data storage means to access said addressable data storing areas for effecting said storing and retrieving;
allocation program indicia in the computer means for enabling the computer means to allocate groups of said addressable data storing areas for receiving predetermined data including control or user data;
file token indicia means in the computer means for enabling the computer means to establish and record on the optical record medium file tokens respectively having predetermined values for indicating files stored on the optical medium, further token indicia for enabling the computer means to serially assign said values in a predetermined sequence of said values and for changing the successive token values by a first predetermined value for each successive ones of the files wherein a last assigned one of the values is a current file token value;
max token indicia means in the computer means for enabling the computer means to generate a new max token having a value greater than a current max token value by a second predetermined value wherein the second predetermined value is an integer substantially greater in value than the first predetermined value, including new indicia means to establish the new max token value as a current max token value such that there is only one current max token value at any instant;
comparison indicia means in the computer means for enabling the file manager to compare the current token value with the current max token value, including result program indicia for enabling the computer means to respond to the comparison of the current values indicating a predetermined near equality to actuate the max token indicia means to generate a new max token value; and
control recording indicia means in the operating program indicia for enabling the computer means to record each new max token value as a current max token value on the optical medium.

### Claim 23 (depends on 22)

In the apparatus set forth in claim 22 further including, in combination:
receiver means in the optical data storage means for removably receiving the optical medium and including means indicating that an optical medium has been received;
start-up indicia means in the computer means for enabling the computer means to respond to the indicating means indicating a received optical medium to actuate the operating program indicia to read recorded data on the optical medium including the current max token value and for storing the current max token value in the computer means.

### Claim 24 (depends on 23)

In the apparatus set forth in claim 23 further including, in combination:
the allocation indicia means including first and second modes of allocation;
EOV indicia means in the computer means for enabling the computer means to respond to each allocation enabled by the allocation indicia means for ascertaining a mode of allocation, if the mode of allocation was in a second mode to generate an end to volume (EOV) value having a predetermined numerical relationship to a predetermined one of the addresses of ones of the addressable data-storing areas allocated in said second mode; and
the control indicia means enabling the computer means to respond to generation of a new end of volume value to actuate the optical data storing means to record the generated new end of volume value on the optical medium.

### Claim 25 (depends on 24)

In the apparatus set forth in claim 24 further including, in combination:
the start-up indicia means including first additional indicia for enabling the computer means to read the recorded end of volume value and store the read end of volume value in the computer means; and
the start-up indicia means further including second additional indicia means for enabling the computer means to actuate the optical data storing means to access a predetermined one of the addressable data-storing areas of the optical medium indicated by the stored end of volume value, scan indicia means in the second additional indicia means for enabling the computer means to actuate the optical data storing means to scan the optical medium beginning at the predetermined one of the addressable data-storing area and scanning addressable data-storing areas having stored data therein and for stopping the scan while a second predetermined one of the addressable data-storing areas contains no data and for indicating a true end of volume as the address of said second predetermined one of the addressable data-storing areas wherein the first and second predetermined ones maybe the same addressable data storing area.

### Claim 26 (depends on 25)

In the apparatus set forth in claim 25 further including, in combination:
criteria means in the computer means for indicating criteria for recording a max token value or an EOV pointer value;
the control recording indicia means having criteria indicia means for enabling the computer means to respond to the recording criteria and a current value of the file token and the allocation mode for actuating the optical data storage means to record the values of said max token and EOV pointer on the optical medium.

### Claim 27 (depends on 23)

In the apparatus set forth in claim 23 further including, in combination:
environment means in the optical data storage means and connected to the computer means for continuously retaining under machine control the optical medium including means indicating that the optical medium is being continuously retained;
retentive data storage means in the computer means;
intervening indicia means in the computer means for enabling the computer means to respond to the continuous retention indication to bypass executing said max token indicia means and to record each last assigned file token values in said retentive data storage means and to assign each succeeding file token value using the retentive data storage means stored file token value plus a predetermined value increment;
ejection indicia means in the computer means for enabling the computer means to first effect a comparison between the stored file token value and said max token value for generating a new max token value, then to record the max token value on the optical medium and to actuate the environment means to eject the optical medium.

### Claim 28 (depends on 27)

In the apparatus set forth in claim 27 further including, in combination:
said optical data storage means including an optical media library capable of storing a plurality of optical media, each of said optical media being a said optical medium, a plurality of optical media players operatively connected to the optical media library such that optical media are automatically transferred between the optical library and any one of the optical players, an ingress-egress station in the data storage means for receiving optical media to be stored in the optical library and to eject optical media from the optical data storage means including from the optical library;
ingress indicia means for enabling the computer means to monitor each reception of a one of the optical media and for enabling the computer means to actuate the optical data storage means to read a current max token value from each just-received optical media and for storing the read values in the retentive data storage means;
intervening indicia means in the computer means for enabling the computer means to respond to the reception of each of the optical media to bypass executing said max token indicia means and to record each last assigned file token values in said retentive data storage means and to assign each succeeding file token value using the retentive data storage means stored file token value plus a predetermined value increment;
ejection indicia means in the computer means for enabling the computer means to first effect a comparison between the stored file token value and said max token value for generating a new max token value, then to record the max token value on the optical medium and to actuate the environment means to eject the optical medium.

### Claim 29

Data storage apparatus having receiver means for receiving an optical medium having a plurality of addressable data storing areas for recording and reading data on and from the received medium, an improvement including, in combination:
token means for generating a predetermined sequence of file token values to be assigned to data files being stored on the received medium;
allocation means for allocating a plurality of groups of said addressable data storing areas of the medium such that each said group has a predetermined number of contiguous ones of said plurality of addressable data storage areas for storing data and allocating a control one of said groups for storing control indicia including a current max token value;
max token means for generating a new max token value having a value substantially greater than a current max token value;
recording means connected to the allocation means and to the max token means for recording the new max token value in the control one of said groups of allocated areas of the optical medium;
current max token means for reading the current max token value from the medium; and
comparison means connected to the token means and to the current max token means for comparing the values of the last generated file token with the current max token and having actuating means connected to the max token means and being responsive to the comparison indicating a predetermined numerical relationship between the file token and max token values to generate a new max token value.

### Claim 30 (depends on 29)

In the apparatus set forth in claim 29 further including, in combination:
addressing means in the apparatus for addressing said addressable data storage areas;
end of volume means connected to the allocation means and to said addressing means for responding to a predetermined allocation of said addressable data storing areas to generate an end of volume pointer separate from said addressing means having a value indicating a predetermined address value having a predetermined numerical difference from an address of a predetermined one of the addressable data storing areas allocated by the allocation means; and
said recording means recording said max token and said end of volume indicator in said control one of said groups.

### Claim 31 (depends on 30)

In the apparatus set forth in claim 30 further including, in combination:
control means connected to said end of volume means, said max token means and said recording means for responding to generation of a new max token value or a new end of volume pointer value for recording the last-mentioned values on the received medium.

### Claim 32 (depends on 31)

In the apparatus set forth in claim 31 further including, in combination:
criteria means in the control means for indicating to the control means while the last-mentioned values are to be recorded.
