Archiving or backup

Optical disk system emulating magnetic tape units

5438674

Abstract

An optical disk system emulating a 3480 magnetic tape subsystem having one or more magnetic tape drives, includes a VMEGate channel attached processor for receiving CCW tape commands, a SCSI board for controlling SCSI optical disk drives, a serial I/O board for controlling jukebox optical disk media handlers for automatically robotically loading and unloading optical disks containing virtual tape data into the optical disk drives, a cache RAM for buffering data between the channel and the optical disk drives, operator consoles for emulating the 3480 magnetic tape subsystem control panels, an SBC computer and VME bus for central control of the system, and floppy and hard disk drives for storing emulation SBC programs and disk directories, to enable the system to exhibit an organization of virtual tape data into a system of pointers and user records of the virtual tapes, a reallocatable mapping between magnetic tape drives and the optical disk drives, disk directories cross referencing virtual tapes VSNs to optical disks for locating particular optical disks storing requested VSNs, and to enable WORM optical media to appear to the channel as rewritable magnetic tape through the conversion of tape commands to jukebox load operations and optical disk drive seek operations for increased performance, said system emulates a 3480 magnetic tape subsystem by using jukeboxes to automatically load optical media into and out of optical disk drives and by using a dynamic re-allocation method for maintaining a one-to-one mapping between the virtual magnetic tape drives and the optical disk drives, which reduces access speed to the data.


Claims

What is claimed is:

1. A system for emulating a magnetic tape subsystem having and controlling a plurality of magnetic tape drives so as to read to write magnetic tape data onto and from magnetic tapes, said magnetic tape subsystem connected to a channel communicating magnetic tape subsystem channel commands and magnetic tape data organized in channel data formats, said system being for the purposes of recording and reading virtual magnetic tape data on optical disks in response to said magnetic tape subsystem channel commands, said system comprising:

an optical disk drive means responsive to optical disk drive commands, said optical disk drive means serving to record and to read said virtual magnetic tape data on said optical disks;

a system memory means, connected to said channel and to said optical disk drive means and to a computer means,

for buffering said virtual magnetic tape data bidirectionally between said computer means and said optical disk drive means,

for buffering said magnetic data bidirectionally between said channel and said computer means, and

for storing computer programs; and

computer means, connected between said channel and said optical disk drive means and connected to said system memory means,

for executing said computer programs stored in said system memory means,

for receiving said channel commands from said channel,

for translating said channel commands into said optical disk drive commands,

for transmitting said optical disk drive commands to said optical disk drive means,

for receiving said magnetic tape data from said channel via buffering in said system memory means,

for organizing said magnetic tape data into said virtual magnetic tape data,

for transmitting said virtual magnetic tape data to said optical disk drive means via buffering in said system memory means,

for receiving said virtual magnetic tape data from said optical disk drive means via buffering in said system memory means,

for reorganizing said virtual magnetic tape data into said magnetic tape data, and

for transmitting said magnetic tape data to said channel via buffering in said system memory means;

wherein said computer means communicates through said channel within said channel data formats;

wherein said computer means accepts channel commands that are sufficient for said magnetic tape subsystem to control said plurality of magnetic tape drives to read and to write in order to, in response to said channel commands and instead of controlling said plurality of magnetic tape drives, control said optical disk drive means to read and to write; and

wherein said optical disk drive means, said system memory means and said computer means, collectively emulate said magnetic tape subsystem.

2. The system of claim 1 wherein said computer means comprises:

an optical disk drive processor means, connected said optical disk drive means and to said system memory means and to said channel and to a central processor means, for, responsively to executing said computer programs stored in said system memory means,

receiving said optical disk drive commands from said system memory means as became stored therein by action of a central processor means,

transmitting said optical disk drive commands to said optical disk drive means,

reading said virtual magnetic tape data from, and writing virtual magnetic tape data to, said system memory means, and writing said virtual magnetic tape data to, and reading said virtual magnetic tape data from, said optical disk drive means; and

a central processor means, connected between said channel and to said system memory means, for, responsively to executing said computer programs stored in said system memory means,

receiving said channel commands,

translating said channel commands into said optical disk drive commands,

storing said optical disk drive commands in said system memory means,

commanding said optical disk processor means to transmit said optical disk drive commands to said optical disk drive means, and also to write and to read said virtual magnetic tape data between said system memory means and said optical disk drive means,

receiving said magnetic tape data from said channel,

organizing received said magnetic tape data into said virtual magnetic tape data,

storing said virtual magnetic tape data in said system memory means, from which system memory means said virtual magnetic tape data is read by the optical disk processor means responsively to the commanding,

for receiving said virtual magnetic tape data from the system memory means where it was written by the optical disk processor means responsively to the commanding;

reorganizing received said virtual magnetic tape data into said magnetic tape data, and

transmitting said magnetic tape data through said channel within said channel data formats.

3. The system of claim 1

wherein said channel commands include channel addresses for addressing a one of said plurality of magnetic tape drives,

wherein said computer means is programmed to assign said optical disk drive means to one channel address, and is further programmed to reassign said optical disk drive means to another one of said channel addresses,

and wherein said system memory comprises:

computer program memory means, connected to said computer means, for storing programs executed by said computer means, and

data buffer memory means, connected to said computer means, for buffering said virtual magnetic tape data during said communication of said virtual magnetic tape data to and from said assigned and reassigned optical disk drive means.

4. The system of claim 1

wherein said channel commands serve to identify individual ones of a multiplicity of said magnetic tapes, and

wherein said computer means is programmed to generate jukebox commands identifying a plurality of said optical disks,

and wherein said system further comprises:

computer memory means connected to said computer means for storing cross reference data cross referencing said plurality of optical disks with said multiplicity of magnetic tapes, said computer means being programmed to search said cross reference data to identify each said optical disk as is cross referenced to each said magnetic tape identified by each one of said channel commands, said computer means generating said jukebox commands to load said identified optical disk in said optical disk drive means, and

jukebox means, connected to said computer means for receiving said jukebox commands, for robotically loading said identified optical disk into said optical disk drive means.

5. The system of claim 1

wherein each said plurality of magnetic tape drives has a drive operator panel for entering operator commands;

wherein said computer means is programmed to generate a panel simulation depicting said drive operator panel;

and wherein said system further comprises:

an operator console means, connected to said computer means, for receiving said panel simulation from said computer means and for displaying said panel simulation, said operator console means having an input keyboard means for entering operator commands into said computer means, and

wherein said computer means is programmed to translate said operator commands received from said input keyboard means into optical disk drive commands for controlling said optical disk drive means.

6. The system of claim 1 wherein said computer means comprises:

a channel processor means, connected to said channel for receiving said channel commands, for executing channel processor programs responsively to which a communicating of said magnetic tape data between said system memory means and said channel is controlled, said channel processor means communicating said magnetic tape data over said channel within said channel data formats, and

a central processor means, connected to said system memory means, for executing said computer programs responsively to which said central processor means is

interrupted by said channel processor means to receive said channel commands,

generating channel processor commands communicated to said channel processor means,

generating said optical disk drive commands communicated to said optical disk drive means,

communicating said virtual magnetic tape data between said optical disk drive means and said system memory means,

commanding said channel processor means to communicate said magnetic tape data between said channel and said system memory,

commanding said optical disk drive means to read and write said virtual magnetic tape data,

organizing said magnetic tape data into said virtual magnetic tape data,

reorganizing said virtual magnetic tape data into said magnetic tape data, and

commanding said channel processor means to respond to said channel commands through said channel.

7. A system for emulating a magnetic tape subsystem connected to a plurality of magnetic tape drives serving to read and to write magnetic tape data onto and from a plurality of magnetic tapes, and connected to a channel communicating magnetic tape subsystem channel commands and said magnetic tape data within channel data formats, said emulation system being for the purpose of reading and writing virtual magnetic tape data on a plurality of optical disks, said system comprising:

a plurality of optical disk drives for reading and for writing said virtual magnetic tape data on said plurality of optical disks, said plurality of optical disk drives being controlled for said reading and said writing by optical disk drive commands;

a bus means for communicating said virtual magnetic tape data, said magnetic tape data, and said optical disk drive commands;

a data buffer memory means, connected to said bus means and to said data buffer memory means, for buffering said magnetic tape data and said virtual magnetic tape data;

an optical disk drive processor means, executing drive processor programs and connected between said bus means and said plurality of optical disk drives, for receiving and for processing optical disk drive processor commands, for communicating said virtual magnetic tape data between said data buffer memory means and said plurality of optical disk drives, and for transmitting said optical disk drive commands to said plurality of optical disk drives;

a channel processor means, connected between said channel and said bus means and executing channel processor programs, for receiving and processing channel processor commands, for receiving said channel commands and for retransmitting said channel commands, and for communicating said magnetic tape data between said channel and said data buffer memory means;

a computer program memory means storing computer programs and said optical disk drive commands; and

a computer means,

connected to said computer program memory means for executing said computer programs and for accessing said optical disk drive commands stored therein,

connected to said channel processor means for transmitting said channel processor commands thereto and for receiving said channel commands re-transmitted therefrom,

connected to said optical disk drive processor means for transmitting said optical disk drive processor commands thereto,

programmed to translate said channel commands into said optical disk drive commands, said channel processor commands and said optical disk-drive processor commands,

programmed to organize said magnetic tape data into said virtual magnetic tape data,

programmed to reorganize said virtual magnetic tape data into said magnetic tape data,

programmed to command said channel processor means to communicate said magnetic tape data between said channel and said data buffer memory means through said bus means, and to communicate said magnetic tape data through said channel within said channel data formats, and

programmed to command said optical disk drive processor means to transmit said optical disk drive commands to said optical disk drive means and to transmit said virtual magnetic tape data between said data buffer memory means and said plurality of optical disk drives.

8. The system of claim 7 further for emulating a magnetic tape subsystem having a subsystem operator panel for entering subsystem operator commands for controlling said magnetic tape subsystem, said plurality of magnetic tape drives each having a respective tape drive operator panel into which tape drive operator commands are enterable for purpose of controlling said magnetic tape drive to transmit its status data that is communicated through said channel,

wherein said plurality of optical disk drives each presents optical disk drive status data, and wherein said system further comprises:

operator console means connected to said computer means;

said computer means being further programmed to generate a panel simulation depicting said subsystem operator panel and said tape drive operator panels;

wherein said operator console receives and displays said panel simulation;

wherein subsystem operator commands and said tape drive operator commands are enterable into said operator console;

wherein said subsystem operator commands and said tape drive operator commands are both communicated by said console means to said computer means;

wherein said computer means is programmed to translate said tape drive operator commands and said subsystem operator commands into said optical disk drive commands, and to translate said optical disk drive status data into said tape drive status data.

9. The system of claim 7

wherein said optical disk drive processor means reads said optical disk drive commands stored in said computer program memory means, transmits said optical disk drive commands to said plurality of optical disk drives, and by communicating said virtual magnetic tape data between said plurality of optical disk drives and said buffer memory means, all via said bus means.

10. The system of claim 7 further for emulating a magnetic tape subsystem wherein said channel commands identify an individual one of said plurality of magnetic tapes, wherein said system further comprises:

a computer memory means connected to said computer means for storing cross reference data cross referencing said plurality of optical disks with said plurality of magnetic tapes;

an additional computer program memory means for storing additional computer programs executed by said computer means to search said cross reference data to identify which particular individual one of said plurality of optical disks is cross referenced to a particular individual one of said plurality of magnetic tapes as is identified by said channel commands;

wherein said computer means is further programmed to generate jukebox commands directing a loading of said particular individual identified one of said plurality of optical disks into a one of said plurality of optical disk drives;

wherein said computer means being still further programmed to generate input-output commands suitable to control transmission of the generated jukebox commands;

jukebox means, robotically connected to said plurality of optical disk drives and to said plurality of optical disks, for receiving said jukebox commands, said jukebox means for loading said particular individual identified one of said plurality of optical disks into a particular one of said plurality of optical disk drives; and

input-output processor means, connected to said computer means for receiving said input-output commands and said jukebox commands, for communicating said jukebox commands to said jukebox means in response to said input-output-commands;

therein causing the jukebox means to robotically load said particular individual identified one of said plurality of optical disks into said particular one of said plurality of optical disk drives.

11. The system of claim 7 wherein said data buffer memory means comprises:

a cache RAM memory connected to said bus means;

wherein said data buffer memory means is accessed under control of said channel processor means for communicating said magnetic tape data, and is accessed under control of said optical disk drive processor means for communicating said virtual magnetic tape data;

and wherein said computer program memory means comprises:

a computer RAM memory;

wherein said computer program memory means is accessed under control of said optical disk drive processor means for reading said optical disk drive commands, and is accessed under control of said computer means for reading said computer programs;

wherein said channel processor means transmits said channel commands to said computer means via said bus means;

wherein said computer means transmits said generated channel processor commands to said channel processor via said bus means; and

wherein said channel processor means processes said channel processor commands by accessing said data buffer memory means via said bus means, and communicates said magnetic tape data via said bus means between said data buffer memory means and said channel.

12. The system of claim 7 further for emulating a magnetic tape subsystem wherein said channel commands identify said plurality of magnetic tapes by serial numbers and identify said plurality of magnetic tape drives by respective channel addresses, said system further comprising:

a computer memory means, connected to said computer means, for storing cross reference data cross referencing said plurality of optical disks and said plurality of magnetic tapes;

an additional computer program memory means for storing additional computer programs executed by said computer means;

wherein the computer means executes said additional computer programs so as to identify from a one of said channel commands a selected one of said plurality of optical disks, and so as to generate jukebox commands to load said selected one of said plurality of optical disks into a selected one optical disk drive assigned to and identified by one of said channel addresses;

wherein said computer means is further programmed to generate input-output commands causing action on the jukebox commands to effectuate loading of said selected one of said plurality of optical disks;

a plurality of jukebox means for receiving said jukebox commands, each of said plurality of jukebox means being robotically connected to a respective plurality of optical disks and to a respective plurality of optical disk drives;

wherein said cross reference data further cross references said respective plurality of optical disks and a selected one of said plurality of jukebox means;

wherein said selected one of said plurality of jukebox means to load said selected one of said plurality of optical disks into said selected one of said plurality of optical disk drives;

wherein said computer means is programmed to search said cross reference data to identify a selected one of said plurality of jukebox means;

wherein said computer means is programmed to generate said jukebox commands to command said selected one of said plurality of jukebox means to robotically load said selected one of said plurality of optical disks in one of said selected one of said plurality of optical disk drives identified by one of said channel addresses; and

an input-output processor means, connected between said plurality of jukebox means and said computer means, for receiving and processing said input-output commands to communicate said jukebox commands to said selected one of said plurality of jukebox means.

13. The system of claim 7 further for emulating a magnetic tape subsystem wherein said channel commands have at a plurality of channel addresses for addressing said plurality of magnetic tape drives, wherein said system further comprises;

an additional computer program memory means for storing additional programs for said computer means;

wherein said computer means executes said additional programs so as to assign said each of said plurality of channel addresses to an associated one of said plurality of optical disk drives, therein to allocate each one of the plurality of optical disk drives to each one of said plurality of magnetic tape drives,

wherein said computer means is further programmed to reallocate each one of said plurality of optical disk drives to each one of said plurality of magnetic tape drives by reassigning one of said plurality of optical disk drives to another one of said plurality of channel addresses or by reassigning one of said plurality of channel addresses to another one of said plurality of optical disk drives.

14. A system for emulating a magnetic tape subsystem connected to a plurality of magnetic tape drives serving to read and to write magnetic tape data on a plurality of magnetic tapes, and connected to a host computer having a channel serving to communicate magnetic tape subsystem channel commands to said magnetic tape subsystem so as to direct the reading and writing of said magnetic tape data on said plurality of magnetic tapes, said channel communicating within channel data formats, said magnetic tape subsystem communicating said magnetic tape data between said channel and said plurality of magnetic tape drives, said channel commands having serial numbers identifying a one of said plurality of magnetic tapes and having channel addresses respectively identifying a one of said plurality of magnetic tape drives, said system being for the purpose of reading and of writing virtual magnetic tape data on a plurality of optical disks each of which records a plurality of virtual magnetic tapes, said system comprising,

a plurality of optical disk drives each of which is allocated to a respective ones of said plurality of magnetic tape drives and each of which is controlled by optical disk drive commands for reading and writing said virtual magnetic tape data on respective ones of said plurality of optical disks;

a bus for communicating said magnetic tape data, said virtual magnetic tape data, and said optical disk drive commands,

a cache RAM, connected to said bus, for buffering said virtual magnetic tape data communicated to and from said plurality of optical disk drives, and for buffering said magnetic tape data communicated to and from said channel;

a computer bus RAM connected to said bus for storing said optical disk drive commands;

a disk drive processor, connected between said plurality of optical disk drives and said bus, for reading said optical disk drive commands from said computer bus RAM, for communicating said optical disk drive commands to said plurality of optical disk drives, and for communicating said virtual magnetic tape data between said plurality of optical disk drives and said cache RAM;

a channel processor, connected between said channel and said bus, for receiving said channel commands through said channel and for communicating said magnetic tape data between said cache RAM memory and said channel;

a computer program RAM for storing computer programs; and

a computer connected to said computer program RAM for reading and executing said computer programs, and for, responsively to the executing,

receiving said channel commands via said bus from said channel processor,

assigning said channel addresses to said optical disk drives,

generating from received said channel commands said optical disk drive commands suitable to command said optical disk drive processor,

storing said optical disk drive commands in said computer bus RAM memory,

organizing said magnetic tape data received through said channel into virtual magnetic tape data recorded on optical disks,

reorganizing said virtual magnetic tape data into said magnetic tape data, and

generating channel processor commands that are communicated to said channel processor via said bus in order to command said channel processor to communicate said magnetic tape data upon said channel via said bus.

15. The system of claim 14 wherein said computer is programmed to

respectively assign at least one drive command buffer within said computer bus RAM memory to a one of said plurality of optical disk drives that is respectively assigned to said respective channel addresses,

to store said optical disk drive commands in said respectively assigned at least one drive command buffer, and

to respectively assign at least one data buffer within said cache RAM memory to said respectively assigned channel addresses, and

wherein said disk drive processor communicates said optical disk drive commands between said respectively assigned at least one drive command buffer and said respectively assigned one of said plurality of optical disk drives, and communicates said virtual magnetic tape data between said respectively assigned one of said plurality of optical disk drives and said respectively assigned at least one data buffer.

16. The system of claim 14 wherein said system further comprises:

an additional computer program memory for storing additional programs executed by said computer so as to generate jukebox commands and to store said jukebox commands in at least one jukebox command buffer in said computer bus RAM, and, responsive to the channel address, for generating and communicating channel processor commands identifying a one of said plurality of magnetic tape drives, at least one of said plurality of magnetic tapes, and at least one of the plurality of jukebox drives;

a computer memory, connected to said computer, for storing cross reference data cross referencing said plurality of optical disks with said plurality of virtual magnetic tapes,

at least one jukebox controlled by said jukebox commands received from said at least one jukebox command buffer,

wherein said computer is programmed to respectively assign said at least one jukebox command buffer to said at least one jukebox each robotically connected to a respective plurality of said optical disks and robotically connected to a respective at least one of said at least one optical disk drive each respectively identified by said at least one channel address, said cross reference data further cross referencing each of said at least one jukebox to said respective plurality of optical disks, said identified jukebox receiving said jukebox commands from said respective jukebox command buffer for loading said identified optical disk into said identified optical disk drive, and

a jukebox interface connected between said bus and said at least one jukebox for respectively communicating said jukebox commands from said respectively assigned at least one jukebox command buffer to said identified jukebox to load said identified optical disk in said identified optical disk drive.

17. The system of claim 16 wherein said computer

stores an allocation mapping assignment among said channel addresses, said magnetic tape drives and said at least one optical disk drive and

dynamically alters said allocation by reassigning said at least one channel address to another one of said plurality of optical disk drives which other optical disk drive is subsequently robotically connected to said identified jukebox so as to enable said identified jukebox to load said identified optical disk in said new robotically connected and identified optical disk drive when initially said identified optical disk drive was not robotically connected to said identified jukebox.

18. The system of claim 13

wherein said computer is programmed to generate magnetic disk commands;

and wherein said system further comprises:

a magnetic disk interface means, connected to said computer, for receiving said magnetic disk commands;

a magnetic hard disk drive means, connected to and controlled by said magnetic disk interface means, for storing cross reference data cross referencing said plurality of optical disks to said plurality of magnetic tapes, wherein said magnetic disk commands communicate said cross reference data to said computer; and

a magnetic soft disk drive means, connected to and controlled by said magnetic disk interface means, for storing said computer programs and for communicating said computer programs into said computer program RAM.

19. The system of claim 14 for emulating a magnetic tape subsystem wherein said subsystem communicates status data through said channel within said channel data formats,

wherein said computer is programmed

to allocate at least one channel address buffer in said computer bus RAM memory accessed by said computer and said channel processor means,

to respectively assign said at least one channel address buffer to said at least one optical disk drive and to at least one of said channel addresses,

to generate and store said status data in said at least one channel address buffer, and

to command said channel processor to communicate status data through said channel.

20. A method of reallocating at least one magnetic tape drive to at least one optical disk drive in a system for reading and writing with a plurality of optical disk drives a plurality of virtual magnetic tapes recorded on a plurality of optical disks, said system communicating within channel data formats as would a magnetic tape subsystem having a plurality of magnetic tape drives for reading and writing magnetic tape data on a plurality of magnetic tapes, said magnetic tape subsystem connected to a channel communicating magnetic tape subsystem channel commands and said magnetic tape data, said channel commands having a plurality of channel addresses for respectively addressing a plurality of magnetic tapes and magnetic tape drives, said system being connected to said channel and comprising a programmed computer with memory, said method comprising the steps of,

assigning each of the plurality of optical disk drives each to a respective one of said plurality of channel addresses so as to therein allocate each of the plurality of magnetic tape drives to the plurality of optical disk drives,

receiving one of said channel commands requesting the writing or reading of a particular one magnetic tape by such an addressed one of said plurality of magnetic tape drives as is identified by a respective channel address,

determining which one of said plurality of optical disk drives is loaded with that one of said plurality of optical disks that stores said particular magnetic tape as one of said plurality of virtual magnetic tapes, and

reassigning the determined one of said plurality of optical disk drives to another one of said plurality of channel addresses, therein to reallocate which one of the plurality of said optical disk drives is identified to said particular one magnetic tape drive.

21. The method of claim 20 further comprising the steps of

emulatively dismounting one of said plurality of virtual magnetic tapes so as to disable the reading or writing of magnetic tape data in this emulatively dismounted one of said plurality of virtual magnetic tapes, and

emulatively mounting one of said plurality of virtual magnetic tapes so as to enable the reading or writing of magnetic tape data on a corresponding optical disk in a corresponding optical disk drive to this emulatively mounted virtual magnetic tape.

22. A method of claim 20 conducted in a system comprising one or more jukeboxes each respectively for supporting a plurality of optical disks in a respective plurality of slots, and each for robotically loading said plurality of optical disks in a certain one of said plurality of optical disk drives, said method further comprising the steps of

generating optical disk drive commands to eject a one of said plurality of optical disks that is not storing said virtual magnetic tape so as to enable the loading of another one of said plurality of optical disks in said optical disk drive, and

generating jukebox commands to put said ejected one of said plurality of optical disks in one of said respective slots,

generating jukebox commands to retrieve a one of said plurality of optical disks that is stores said virtual magnetic tape from another one of said slots, and

generating jukebox commands load said optical disk that is storing said virtual magnetic tape into said certain one of said plurality of optical disk drives.

23. A method of accessing one of a multiplicity of virtual magnetic tapes recorded on a plurality of optical disks in and by a system for emulating a magnetic tape subsystem that is

connected to a plurality of magnetic tape drives for reading and writing magnetic tape data on a multiplicity of magnetic tapes,

further connected to a channel of a host computer communicating magnetic tape subsystem channel commands to said magnetic tape subsystem for the reading and writing of said magnetic tape data on said multiplicity of magnetic tapes,

wherein said channel communicates said channel commands and magnetic tape data between said host computer and said magnetic tape subsystem within channel data formats,

wherein said magnetic tape subsystem communicates said magnetic tape data between said channel and said plurality of magnetic tape drives,

wherein said channel commands have serial numbers respectively identifying individual ones of said multiplicity of magnetic tapes,

wherein said channel commands have channel addresses respectively identifying individual ones of said plurality of magnetic tape drives,

wherein within the system each of said plurality of optical disks is recording at least one virtual magnetic tape, said system comprising a programmed computer with memory and a plurality of optical disk drives for reading and writing said virtual magnetic tapes on said plurality of optical disks, said system being connected to said channel and communicating said magnetic tape data across said channel within said channel data formats, said method comprising the steps of:

assigning said channel addresses to said plurality of optical disk drives so as to allocate said plurality of magnetic tape drives to said plurality of optical disk drives, and

generating a disk directory cross referencing said plurality of optical disks to said multiplicity of magnetic tapes referenced as respective ones of said virtual magnetic tapes,

receiving a channel command requesting the writing or reading of magnetic tape data on an addressed one of said multiplicity of magnetic tapes in an addressed one of said plurality of magnetic tape drives having a one of said channel addresses,

determining which selected one of said plurality of optical disk drives is allocated to said addressed one of said plurality of magnetic tape drives, and is assigned to said channel address,

determining which selected one of said multiplicity of optical disks is that optical disk storing said addressed one of said multiplicity of magnetic tapes in the form of a virtual magnetic tape, and

reading or writing said virtual magnetic tape data on said selected one of said plurality of optical disks in and by said selected one of said plurality of optical disk drives.

24. The method of claim 23 performed in an by a system further comprising a plurality of jukeboxes each having a respective plurality of storage slots to support a respective plurality of said optical disks for purposes of robotically loading said respective plurality of said optical disks in a respective one of said plurality of optical disk drives, said method further comprising the steps of

updating said disk directory to further cross reference each of said plurality of jukeboxes to said respective plurality of storage slots, to said respective plurality of said optical disks, and also to said respective one of said plurality of optical disk drives,

determining which one of said plurality of jukeboxes is crossed referenced to which one or more of said plurality optical disks and which one or more of said plurality of optical disk drives,

generating jukebox commands to retrieve a selected one of said plurality of optical disks from a respective one of said plurality of storage slots, and

generating jukebox commands to load said selected one of said plurality of optical disks that stores said magnetic tape recorded as said virtual magnetic tape into a selected one of said plurality of optical disk drives.

25. The method of claim 23 wherein said method further comprises the steps of,

emulatively dismounting a one of said multiplicity of virtual tapes so as to disable the readings or the writing of this virtual magnetic tape,

generating optical disk drive commands to eject a one of said plurality of optical disks when another one of said plurality of optical disks that is in a selected one of said plurality of optical disk drives does not store said virtual magnetic tape, therein to enable the insertion of another one of said plurality of optical disks in said selected one of said plurality of optical disk drives, and

emulatively mounting said selected one of said multiplicity of virtual magnetic tapes which was requested by said channel command, therein enabling the reading or writing of virtual magnetic tape data in said virtual magnetic tape after loading said selected one of said plurality of optical disks in said selected one of said plurality of optical disk drives.

26. A system writing and reading data from an optical disc so as to emulate the reading and the writing of a plurality of magnetic tapes that are individually addressable and controllable in any intermixed sequence for the writing and the reading of data, the optical disc system emulating magnetic tapes comprising:

a first means for recording, in respect of each and every magnetic tape as is individually addressable and controllable intermixed in order with all other magnetic tapes, a virtual magnetic tape on the optical disc, each virtual magnetic tape including

data records, called user records, located in addressable locations upon the optical disk and containing data that is written and read to and from a particular magnetic tape, and

a first set of pointers, called a tape map, to all the addressable locations as contain all the user records as constitute the particular magnetic tape, the tape map being itself located in an addressable location;

a second means for recording, in respect of any one or ones of additions, deletions and alterations to any one or ones of the virtual magnetic tapes,

all new and additional user records, and

a new, updated, tape map containing pointers to, and only to, all the addressable locations as contain all the most current user records as constitute a most current revision of a particular magnetic tape,

wherein, consonant with the write once read many operational principles of optical disc media, old and outdated user records and tape maps cannot be and are not erased, but, for any virtual magnetic tape, a one most recent single tape map will contain pointers to all most current user records as constitute a most current revision of the virtual magnetic tape;

a third means for recording in a dedicated area of the optical disc a directory, called a tape directory, of all the virtual magnetic tapes stored on the optical disk, the tape directory containing a pointer to the most current tape maps of each and all virtual magnetic tapes; and

a fourth means for recording seriatim upon the optical disk in the dedicated area an updated tape directory as and upon the occasion that any one or ones of virtual tapes are any one or ones of added, deleted and altered;

wherein the most current data contents of each and any virtual magnetic tape may readily be located upon and read from the optical disk by first reading tape directories seriatim until a last such directory is read, and then proceeding, by reference to the pointers within this tape directory contained, to second reading a most current tape map for an individual virtual magnetic tape of interest, and then proceeding, by reference to the pointers within this tape map contained, to third reading any addressable locations as contain the most current data.

27. The optical disc system emulating magnetic tapes according to claim 26 wherein each of the first and the second means are further for recording, in addition to and in association with the user records,

interblock gaps and tape marks tape maps; and, in association with each tape map,

pointers to the interblock gaps and tape marks, as well pointers as the user records.


Description

    ______________________________________
    REFERENCE DESIGNATIONS
    ______________________________________
     10    Mainframe Optical Storage Transport (MOST)
     12    IBM Mainframe Host Computer
     14    MOST Controller
     16    Optical Disk Drives
     17    SCSI Interface Port
     17a   Drive SCSI Interface Bus
     17b   SBC SCSI Interface Bus
     18    Jukebox
     19    Jukebox RS 232 Port
     20    Optical Disk
     22    Power Supply
     23a   +5 VDC Power Line
     23b   +12 VDC Power Line
     23c   -12 VDC Power Line
     24    Primary Operator Console
     25    Primary Operator Console RS232 Port
     26    Remote Operator Console
     27    Remote Operator Console RS232 Port
     28    Printer
     29    Printer Port
     30    Phone Instrument
     31    Phone line
     32    Cabinet
     34    I/O Channel
     34a   Tag Port
     34b   Bus Port
     34ai  Tag In lines
     34ao  Tag Out lines
     34bi  Bus In lines
     34bo  Bus Out lines
     36    VMEGate
     38    Cache
      40   Single Board Computer (SBC)
     42    Small Computer System Interface (SCSI) Board
     44    Serial I/O Board
     45a&b Serial I/O to RS232 Port cables
     46    VME Bus
     46a   VME Bus Address lines
     46b   VME Bus Data lines
     46c   VME Bus Control lines
     48    Magnetic Media Handler
     50    Hard Disk Drive
     52    Floppy Disk Drive
     54    SBC I/O Board
     56    Modem
     58    SBC/Modem lines
     60    SBC/Modem lines
     62    Channel I/O Board
     64    Channel Interface Board (CIB)
     66    VMEGate to Channel I/O Board Cables
     68    Channel I/O Board to CIB Cables
     70    Jukebox I/O Board
     72    Serial I/O to Jukebox I/O Cable
     78    Clock Generator
     80    Writable Control Store (WCS)
     82    Address Buffer
     84    Sequencer Multiplexer
     86    Sequencer
     88    Microword Transceivers
     90    Data Out Register
     92    Data In Register
     94    Command Register
     96    Map Port
     98    16 Bit Test Multiplexer
    100    Test Multiplexer Register
    102    Swap Register
    104    Pipeline Register
    106    Processor Destination Decode
    108    Processor Special Function Decode
    110    Processor Source Decode
    112    Literal Buffer
    114    Port Multiplexer
    116    16 Bit Slice Arithmetic Logic Unit (ALU)
    118    Ram Address Register
    120    Scratch Pad Memory
    122    Scratch Pad Data Memoty
    124    Command Multiplexer
    126    Command Validator Memory (CVM)
    128    Command Buffer
    130    Address Transceiver
    132    23 Bit Address Counter
    134    Address Modifier Register
    136    Start Status Register
    138    Interrupt Vector Register
    140    Data Transceiver
    142    Data In Port FIFO
    144    Source Buffer
    146    VME Data Buffer
    148    VME Bus Control Register
    150    Interface Destination Decode
    152    Interface Special Function Decode
    154    Interface Source Decode
    156    Bus In Register
    158    Control Registers
    160    18 Bit VME Word Counter
    162    17 Bit Channel Byte Counter
    164    Internal Status Register
    166    Bus Out Register
    168    Data Out Port FIFO
    170    Bus Out Buffer
    172    Initial Selection Channel Reset Circuit
    174    Tag Out Buffer
    176    Automated Data Transfer Circuit
    178    Bus In Buffer
    180    Tag Out Register
    182    Tag In Register
    200-222
           VMEGate Microcode
    202-212
           Microcode Idle Loop
    200    Initialization
    202    CMD Saved Determination
    204    SBC CMD Determination
    206    Offline Determination
    208    Initial Selection Determination
    210    Status Pending Determination
    212    Channel Reset Determination
    214    UnSave IP CMD Processing
    216    SBC CMD Processing
    218    Channel CMD Processing
    220    Pending Status Processing
    222    Channel Reset Processing
    300    Disk ID
    302    ID Bytes
    304    Disk Type
    306    Disk Label
    308    Reserved
    310    Disk ID LBA Space
    312    LBA 0
    314    LBA 32
    316    Tape Directory LBA Space
    318    Tape Directory
    320    Tape Directory Band LBA Space
    322    ID Byte
    324abc Tape Data
    326    Continuation Byte Pointer
    328    ID Bytes
    330    VSN
    332    Sector Count
    334    Tape Map Pointer
    336    Tape Length
    338    Pool Type/Write Protect
    340    Tape Map
    342    ID Bytes
    344    Sector Count
    346    Volume Serial Number (VSN)
    348abc Map Data
    350    Type Identifier
    352    Accumulative Length
    354    Block Length
    356    Record Pointer
    358    Record Offset
    360    Offset
    362    User Record
    400-416
           Boot Module
    420-448
           VMEGate Interrupt Handler Module (VIHM)
    450-472
           Jukebox Interrupt Handler Module (JIHM)
    480-516
           SCSI Interrupt Handler Module (SIHM)
    520-546
           100 Microsecond Interrupt Handler Module (OIHM)
    550-586
           Quarter Second Interrupt Handler Module (QIHM)
    600-660
           Keypress Module
    ______________________________________


______________________________________ ACRONYMS ______________________________________ BOT Beginning of Tape CAB Channel Address Buffer CMD Command CIB Channel Interface Board CCW Channel Control Word CPU Central Processing Unit CVM Command Validator Memory DASD Direct Access Storage Device ECC Error Correcting Code EOT End of Tape FIFO First In First Out FBA Fixed Block Architecture I/O Input-Output IBG Interblock Gap IBM International Business Machines Inc. ICB Interrupt Communication Buffer JCB Jukebox Command Buffer JIHM Jukebox Interrupt Handler Module LBA Logical Block Address MOST Mainframe Optical Storage Transport OIHM One-Hundred Millisecond Handler Module QIHM Quarter Second Interrupt Handler Module SBB SCSI Block Buffer SCSi Small Computer System Interface SIHM SCSI Interrupt Handler Module TM Tape Mark VIHM VMEGate Interrupt Handler Module VSN Volume and Serial Number WORM Write Once Read Many ______________________________________


REFERENCE TO RELATED APPLICATIONS

The present patent application is one of four related patent applications filed on the same date and having nearly the same specification and drawings. U.S. patent application Ser. No. 07/177,761, was filed Apr. 5, 1988, by Keele et al, and entitled VIRTUAL ADDRESSING OF OPTICAL STORAGE MEDIA AS MAGNETIC TAPE EQUIVALENTS, now abandoned, was continued into application Ser. No. 07/633,265, filed Dec. 12 1990, now abandoned, was continued into application Ser. No. 08/265,514, still pending. U.S. patent application Ser. No. 07/177,943, was filed Apr. 5, 1988, by Keele et al, and entitled DYNAMIC DRIVE ALLOCATION OF OPTICAL STORAGE DRIVES AS MAGNETIC TAPE EQUIVALENTS, now abandoned. U.S. patent application Ser. No. 07/177,926 was filed Apr. 5, 1988, by Keele et al, and entitled ORGANIZATION OF DATA STORAGE ON OPTICAL MEDIA TO PROVIDE MAGNETIC TAPE EQUIVALENTS, now abandoned.

REFERENCE TO APPENDIX

The SBC software and VMEGate microcode computer program listings are on the microfiche appendix which is here incorporated by reference as there fully set forth.

FIELD OF INVENTION

The present invention relates to mass storage of computer systems. Particularly, the present invention relates to an optical disk system including a plurality of optical disk drives in a jukebox to emulate the function of a plurality of magnetic tape drives. The optical disk system includes various features such as virtual addressing and dynamic drive allocation.

BACKGROUND OF THE INVENTION

The storage systems of International Business Machines Inc. (IBM) and its plug compatible imitators are first described along with IBM's overall storage strategy. The place for Write Once Read Many (WORM) optical storage of the present invention is then identified and characterized with possible optical implementations including benefits and disadvantages. IBM mainframe computers have an Input/Output Channel, referred to at times as the I/O Channel or simply the Channel, to which the peripheral devices attach for communication with the computer. The attached peripheral typically include high capacity magnetic tape and disk drives.

The assignee of the present invention, (Data/Ware Development Inc. San Diego, Calif.), first offered an I/O Channel Tester as an IBM channel attached product. The I/O Channel Tester was needed to simulate peripherals in order to debug and test IBM I/O channels. The I/O Channel Tester is unique in that it forces errors on command. The I/O Channel Tester is a generic control unit emulator. The I/O Channel Tester was designed for the plug compatible mainframe manufacturers. The unit is able to emulate the operation of byte/block/selector type controllers from ten kilo bytes per second to three mega bytes per second.

The Peripheral Automatic Channel Emulator (PACE) is assignees's second channel product. PACE emulates an IBM I/O Channel using a personal computer as its host. PACE allows peripheral manufacturers to do development and test without an expensive mainframe. PACE is capable of data streaming transfers at three mega bytes per second. PACE is a mainframe-in-a-box used by plug compatible peripheral developers and manufacturers in place of mainframe I/O channels. PACE attaches to an IBM personal computer and provides full channel emulation, byte/block/selector up to three or four-point-five mega bytes per second. In addition to the PACE, diagnostic programs for standard peripherals including 3211, 3420, 3480, 3380 have been developed. A program equivalent to IBM's FRIEND diagnostic called PAL has also been developed.

The Channel Monitor is the third channel attached product developed by the Assignee. Like a logic analyzer, the Channel Monitor is able to capture and display the sequences used to control a peripheral and to transfer data. The Channel Monitor is an intelligent tool, attaches directly to the bus and tag cables, and is preprogrammed to understand the protocol of the I/O Channel. This makes it easy to use for field service and installation test. The Channel Monitor is a specialized logic analyzer for the IBM I/O channel. This device is also useful for characterization of control units.

The Assignee's fourth product is the VMEGate and evolved from the IBM I/O Channel test equipment. Combining the industry standard VME bus with the bit-slice channel technology evident in the I/O Channel Tester and PACE, the VMEGate was the first system providing a flexible, user programmable channel attachment mechanism for Original Equipment Manufactures. The family of VMEGates includes both channel and control unit emulations.

The Assignee's fifth product, the PCGate, is similar to VMEGate in that it makes channel attachment available on a standard bus. In this case, the channel attachment is to an IBM PC bus. PCGate permits attachment of an IBM PC to a mainframe computer directly at the bus and tag level. This results in a dramatic improvement in transfer speed, from the fifty-six kilo bits per second available with the previous SDLC techniques to three hundred kilo bytes per second.

Plug compatible peripheral designs for the IBM I/O Channel require IBM I/O Channel experience and knowledge and the importance of reliability and conformance to IBM conventions. Incompatibility with different mainframe models, different operating systems and various third party / peripherals have frustrated the mainframe users. The present invention is primarily focused on the IBM mainframe computer direct-channel-attached marketplace. The following section describes the IBM storage hierarchy and the individual items of equipment which make up this hierarchy. This establishes the baseline for the introduction of optical storage and the present invention.

The mainframe storage hierarchy consists i) of main memory, ii) auxiliary memory such as cache and solid state disk, iii) rotating disk, iv) reel and cartridge tape, and v) hardcopy such as microfilm and paper. This hierarchy is arranged according to functionality, i.e. the upper level storage mechanisms are the most accessible. In general, the upper levels are also the most expensive, the fastest, and the most volatile both by nature and by design. Any new mechanism must find its place in this existing hierarchy.

The top of the storage hierarchy is occupied by semiconductor memory directly addressable by the computer's CPU (central processing unit). The original IBM 370 architecture used a twenty-four bit addressing scheme providing access to sixteen megabytes of real memory. This became a serious constraint on larger systems, and led to the introduction of the IBM XA computer. The IBM Extended Architecture XA computers provide a thirty-one bit address providing access to two-point-one giga bytes. This expansion of CPU memory size was necessary to balance the increase in executed instructions per second. The advent of more powerful central processors necessitated the addition of more available memory.

The original IBM Operating System (OS) was a real storage operating system. In 1972 IBM produced the OS/SVS operating system which provided Single Virtual Storage (SVS) addressing for the first time. In 1974, IBM introduced the OS/MVS operating system having Multiple Virtual Storage (MVS) addressing on the IBM 370 computer which then provided multiple virtual storage address spaces of sixteen megabytes to each of several concurrent system users. As larger processors came online it became more difficult to balance an MVS system. The XA computer is designed to better utilize resources and make it easier for users to balance work loads. The Extended Architecture, XA, computer is a combination of System-370/XA hardware and MVS/XA software designed to efficiently manage the system resources of the processor, virtual storage, real storage, and I/O. Auxiliary memory is semiconductor memory accessible over the I/O Channel. This includes solid state disk and cache. This memory is accessed through I/O instructions and is consequently less accessible than main memory. Because there are no mechanical delays (e.g. seek delay) associated with auxiliary memory, it is faster than other I/O devices. Cache is designed to keep frequently used data close at hand. The size of cache has been increasing and a cache speed increase is easier to achieve than a speed increase directly from the disk. Cache can eliminate rotational latency and speed access to subsequent datasets much like the solid state disk. The solid state disk uses semiconductor memory in place of rotating media but otherwise appears as a magnetic disk. It fits in the hierarchy between main memory and DASD. The solid state disk is an example of a product which fills a specific need and fits well into the hierarchy.

The next level in the hierarchy is occupied by rotating disk memory, that is, Direct Access Disk Storage (DASD). Most applications programs use DASD for I/O because it is fast and readily accessed. DASD and all lower levels of the hierarchy are accessed via the IBM I/O Channel.

The evolution of disk storage for IBM mainframes follows key technology improvements. IBM Model 2311 was announced in 1960 with conventional head technology. The 3330 drive introduced in 1970 for the IBM 360 computer moved the heads into the disk pack with improved reliability. IBM Model 3350 was announced in 1973 with Winchester head technology. The 3350 represents the first true sealed Winchester type drive. The clean environment allowed lower flying heights and higher density and speed. IBM Model 3370 was announced in 1973 with Whitney head technology. The 3370 was the first thin film disk. Made in 1979, thin film improves performance by improving head and media performance, not by lower flying heights. The bit density of the 3370 and 3380 is higher than the older Winchester drives.

DASD does have disadvantages. Because of its rewritable nature, data can be lost. The tight tolerances which make the media dense and fast also make it susceptible to head crashes and lost data. Magnetic disks are required to be backed up onto magnetic tape in order to restore data after a failure. This is one of the primary uses for magnetic tape.

DASD uses non-removable media. In order to maintain the tolerances needed for high density it was necessary to build a unified head-disk-assembly integral to the subsystem. Data must be transferred to another media if it is to be stored offline, i.e. aged data must be transferred to magnetic tape. This is another primary use for magnetic tape. DASD is expensive. Although the cost per megabyte of online storage has decreased steadily over the years, users must still remove aged datasets.

The close tolerances required to achieve high density and high speed make the disks susceptible to environmental fluctuations. DASD is physically large, requiring 2 or 3 tiles for a five giga byte system, plus the required free space for maintenance access. The 3370 and 3380 use different recording formats but can share the same type 3880 storage controller. These two formats are important to the introduction of optical storage for IBM mainframes. The two competing formats are Fixed Block Architecture (FBA), used in the 3370, and Count Key Data, used in the 3380.

Like Count Key Data DASD, the FBA disk drives provide high speed random access to datasets. In general, the performance of the 3370 devices is equivalent to their Count Key Data counterparts. The distinction of FBA is the way in which datasets are recorded on the disk and their locations managed. For fixed block architecture devices, tracks and records are formatted at the time of manufacture. The user does not specify the length of the data area. Records are specified for selection by relative block numbers. The device is formatted into a continuous sequence of numbered blocks and arranged at evenly spaced sector locations. The subsystem converts the block number to the track address and sector location. The 3380 is a Count Key Data drive. With count, key and data device types, the programmer decides the length in bytes of each physical record. The I/O Channel programmer writes certain control information for each record in the pattern that is predefined for the count, key, and data format. All count, key, and data tracks are formatted beginning at the index point and ending at the following index. Each track has the same basic format: track home address and track descriptor record, followed by user records. One or more user records, with count, key and data, are written following the descriptor record. Each of the Count, Key and Data areas is separated by a gap. The count area contains the location of the data area that follows. The location is specified by the track address (cylinder and head numbers) and record number. The count area also specifies the length of the key and data areas. The optional key area is used to identify the data, while the data area contains the user's logical records. The number of records on a track vary according to the length of each of the data areas. With count key data devices the channel sends a seek command to position the access mechanism to a track. Once on track the desired record must be located. This is accomplished by a command that causes a search for the record identifier. The desired record identifier is compared to the record numbers in the count area of records on the track until a match is achieved.

Even though FBA does not allow users the freedom to decide where on a disk surface information will be stored, some argue that FBA is more efficient than count key data because it reduces the amount of disk space required for housekeeping functions. While count key data allows users to place their most active files where they can be quickly accessed, the housekeeping for count key data can be unwieldy, and the small gaps that count key data requires between fields consume storage capacity. Eventually the gaps can actually occupy more space than the data. Like their FBA counterparts, the 3380s have the advantages of high speed and update in place. They also share the deficiencies of the FBA drives by the requirement for backup to nonvolatile media, the lack of removability of the disk pack itself, high cost, stringent environment and large physical size.

The next level in the hierarchy is occupied by magnetic tape. Tape has seen fewer changes over the years than disk. Chief among the advantages of tape are its standard format and transportability. The media is removable and can be shipped from place to place. The media is also inexpensive.

Tape does have a number of significant disadvantages. Access is limited to serial searching of the media. For this reason most data is transferred from tape to disk prior to processing. The data also cannot be easily updated in place, a record once written cannot be replaced by a record of different length.

Another disadvantage is that the tape media is expensive to store because it requires a controlled environment to halt deterioration. Deterioration of magnetic media is a major concern in archiving. Several mechanisms contribute to the deterioration of media over time. Chief among these are the aging due to humidity and stress temperature changes. Humidity has the effect of weakening the tape and allowing the magnetized portion to separate from the backing. Changes in temperature cause the tape and the hub to change size at different rates. This causes stress in the pack. It is often advisable to periodically rewind tapes to relieve stress.

Perhaps the most limiting disadvantage of the tape is the amount of time lost in manual operations. Manual operations on magnetic tape are a major source of errors in computer centers. In general, the operators are required to locate, mount and store tape reels based on the six digit volume-serial number (VSN) located on the case. Transposition of numbers, mislabeling and misfiling often lead to mounting of the wrong reel. In a labeled environment, the tape management program will catch such errors and prevent further processing. An amend will occur and the job will be rerun at a later time. In a no label or bypass label environment, data loss will almost always occur with highly unpredictable results, sometimes not evident at the moment.

The 3420 reel tape line has been the standard for years. Because of the stability of the technology, it has been relatively easy for the plug compatible manufactures to copy the 3420. The longevity of the nine track tape is in part due to the industry standardization on this format. Data written on one machine can almost always be recovered by another machine even when different manufacturers, e.g. when Digital Equipment Corporation (DEC) and IBM, tapes are involved. There are of course issues of conversion of code (ASCII vs EBCDIC) and number representation, but in general the data can be read into the machine to make such conversions possible. The long history of these drives makes them an obvious choice for many tasks requiring long term storage.

The performance of the 3420 reel tape drive has increased over the years. The 3420-8 is a two-hundred inches per second machine which at six-thousand-two-hundred-and-fifty bits per inch, transfers data at one-point-two-five mega bytes per second. However, the transfer speed is deceptive since it is influenced by and sometimes swamped by other factors. Chief among these are the mounting and dismounting manual operations and sequential access inherent in a tape mechanism. A typical mount or dismount requires time. A rewind may occupy sixty seconds. Access to the tape itself, if it is in an archive for instance, may be measured in the tens of minutes. The lost time is lost channel time and lost drive time. Drives can be viewed as relatively inexpensive devices whose time can be wasted. Channel time is more precious because the channel is a shared resource and slow performance can impact other tasks. Thus, the most important loss of tape performance comes from sequential access and interblock gaps.

An interblock gap (IBG) separates two datasets on a tape. These IBGs are required to allow an area for the drive to come to rest between reads and writes. The IBGs consume both time and storage. There is a relationship between the effective transfer data rate expressed in mega bytes per second and the block size expressed in kilo bytes. The transfer rate rapidly increases to a maximum rate as the block size increases. The IBG for 3420 drives is the equivalent to a two kilo byte block. The actual transfer speed of the drive drops to one-half when the block size is reduced to the IBG length.

The 3480 cartridge tape drive advantages are firstly the cartridge itself, which is small in size and totally protected, and secondly the high speed and small size of the transport. The 3480 offers several advantages over of the reel system from the operator's point of view. The cartridge is smaller, thus occupying less shelf and cart space. The tape is fully protected in the cartridge and is never exposed or handled. The machine is fully autoloading and is available from IBM with a simple loader. The drives include a large display which is used to cue the operator for tape mounts and dismounts and to indicate drive status.

The 3480 achieves sustained three mega bytes per second transfer speeds through its high density eighteen track recording system. This is an important feature in backup situations since it allows speed matching between DASD and tape. As the number of strings of DASD increases, the amount of data required to be backed up on tape increases as well. This is in general a daily process, and ties up both I/O Channel time and operator time. The 3480 cartridge is designed to ensure that it will hold the entire contents of a twenty-four-hundred foot reel to make conversion easier.

Like the 3420 reel, the 3480 cartridge does need to be rewound and mounted. These operations are time consuming. If speed is the issue, then rewind time must be considered since it occupies the time of the drive (although not the channel). At three mega bytes per second, a two-hundred mega byte tape requires sixty-seven seconds to read. Nearly this same amount of time will be required to rewind this tape. The total drive data rate drops by one-half. Load and unload time amounts to about five seconds each. Compared to the rewind time this is small. If only a small portion of the tape needs to be read, then the load, search, rewind, unload times can be significant. Like the 3420, the 3480 uses an interblock gap to separate data records. The IBG length for the 3480 is four kilo bytes, twice that of the 3420.

The 3480's advantages over the reel 3420 are many. It is more transportable than the equivalent reel capacity and is better protected. The tape format includes a new block id function which will allow rapid access to data areas with little CPU involvement. The operator functions are much improved, with a display system which prompts the operator to mount and dismount cartridges. A path selection function is provided to assist in management of shared tape. Finally, the cache speeds access to data by keeping many tape motion delays isolated from the CPU and I/O Channel.

The disadvantages of tape media do carry over into the 3480 cartridge. It remains a sequential access mechanism with the difficulty of updating in place, and storage costs remain high due to the environmental restrictions on the media itself. The 3480 specification are generally: A one-half inch, eighteen track, high density tape that is enclosed in a compact cartridge for protection and automatic threading; Small tape cartridges four-by-five-by-one inches with storage capacity of two-hundred mega bytes; A tape drive that moves the tape without the need for capstans or vacuum columns; A fast search capability that allows a program to position a tape to a specific block without constant processor or control unit supervision; A message display on each tape drive to present operating system messages to the operator; Reduced physical and mechanical complexity; Superior error correction and better reliability; and Data transfer rates of up to three mega bytes per second.

The two dominant hardcopy mechanisms occupy the bottom of the hierarchy. Paper is the only true archival media. This stems not from the character of the media itself but from the character of the machine required to read the media. It is assumed that any media written more than twenty years prior will be unreadable because no machines will be available to read it. The use of paper will remain high for this reason. It is readily used, inexpensive and uniquely convenient in that it can be altered by the user.

Microfilm enjoys the advantage of paper in that with simple optics it can be human readable. Microfilm can be considered to be true archival media. Unfortunately this characteristic is also a disadvantage because, in general, what is human readable is not machine readable. Microfilm is consequently an output media, not readily transferred back to the machine for further processing. It is not as convenient as paper because it requires a machine for magnification and cannot be altered by the user. However, it is readily stored, and conveniently indexed for retrieval.

Several alternate storage systems have been made available. Each system is designed to occupy a niche in the hierarchy. StorageTek announced their 4400 Automated Cartridge System, a fully automated, 3480 cartridge based information storage and retrieval system. StorageTek expects the 4400 to fill the gap between online DASD and offline tape, and has coined and trademarked the term Nearline to describe their product. The StorageTek 4400 is an important offering because it uses the 3480 cartridge. The IBM 3850 Mass Store System suffered from the fact that it used a unique media requiring conversion from tape or access from DASD. StorageTek has eliminated this objection by using the 3480 cartridge. The 4400 uses a bar code system to label cartridges. These bar codes are read by a robotic picker. StorageTek offers a software package to provide for a full access mechanism.

The IBM 3850 Mass Store System provided up to four-hundred-and-seventy-two giga bytes of storage. The data was stored on unique cartridges, and when requested by the processor was transferred to DASD for processing. The processed data was then transferred back to the cartridge for storage. Cartridges were stored in a honeycomb arrangement and accessed via a picker. First the host computer issues commands to a Staging adapter for accessing data on DASD which conform to the command set for the IBM 3330 Disk storage devices. The staging adapter in connected to both a DASD and a cartridge storage. The staging adapter transfer information on the cartridge storage to the DASD storage for host computer use. The host computer sends Mass Storage System instructions to a Mass Storage Control Unit for data cartridge selection. The DASD storage stores Mass Storage Control tables for look up to the data cartridge. The Mass Storage System provides cartridge tape storage but appearing to the user as conventional DASD storage.

Tape, contained in the data cartridges, was used for data storage, while disk was used to make the data available to the CPU for processing. The storage, retrieval and management of the data in the cartridges was handled by the mass storage system and was transparent to the user. User programs operated as if the data always existed on disk. Introduced over eleven years ago the system was not a success. Early problems with microcode and users skepticism about the cartridge combined to kill the product. No further work on the 3850 is planned. The major contribution of the 3850 was the software developed to support it. The Hierarchical Storage Manager (HSM) developed for the 3850 forms the basis for much of the storage management software available now.

Remote Storage has been used at user terminals. A trend in storage which should be considered is the distribution of storage to user networked personal computers and low end mainframes. Significant software will be required to allow efficient well managed distributed storage. The IBM storage management of datasets as they migrate between disk, tape, and mass storage devices is becoming a major problem. Users will be able to do it only with help from the system itself. IBM and independent software competitors are hard at work preparing products that transparently and automatically arrange data files in hierarchical schemes, putting the most active ones on disk for instant access and keeping less-used files close at hand on cheaper storage devices.

IBM has announced the Data Facility family of program products. IBM is evolving to a system-managed storage environment based on Data Facility. These products include the Data Facility Product, the Data Facility Hierarchical Storage Manager, Data Facility Sorting package, and the Data Facility Data Set Services program. The Data facility family works with other IBM products for data security, timesharing, and relational database management. IBM announced a common interactive interface for the Data Facility family in the form of the Interactive Storage Management Facility. Based on the facilities of IBM's Interactive System Productivity Facility, the Interactive Storage Management Facility provides storage administrators and users with a series of interactive screens to choose from. They can also select datasets for certain operations. One of Interactive Storage Manger Facility's prime advantages is that it eliminates the need for creating and debugging Job Control Language code. Interactive Storage Manager Facility users can also review, copy and delete datasets. The Interactive Storage Manager Facility product provides a simplified syntax, prompts, defaults, help, and other features to improve productivity and to shield users from much of the complexity of the individual Data Facility programs.

IBM's Hierarchical Storage Manager keeps track of datasets as they move among disk, tape and, initially the 3850 mass storage device. Hierarchical Storage Manger staged datasets on disk after they were called out of the 3850 by an application program. Archive Storage Manager was enhanced with new facilities that enable it to better track the usage of individual datasets, storing them on the appropriate mechanical devices. With the Archive Storage Manager, users can define classes of datasets that are to be treated in different ways. The goal is to free disk space for high-priority data and to improve overall system and worker productivity. The user has no need to know where his data is because the Archive Storage Manager keeps track of where each dataset is and can move it as needed.

As peripheral controller software becomes more intelligent, and new storage and memory technologies add more levels to the overall storage hierarchy, IBM would like to manage storage at the logical level with all datasets appearing to reside on a single device.

Operating Systems need to have tape access. Understanding how the mainframe gets access to a particular data set is important when considering an alternate storage mechanism. Considering tape in particular, the task is to resolve the location of a particular dataset. In general this process involves consulting a catalog, maintained by MVS or an applications program, and determining the volume-serial number (VSN) of the tape which contains the dataset. A mount request is then generated to prompt an operator to mount the desired VSN. The system will then read the label on the tape to verify that the correct VSN has been mounted. This accomplished the job requiring the dataset located on the VSN will be run. The process has many variations depending on the operating system, the applications programs and the operating procedures of the individual data center. Under MVS with a package like UCC-One which is a product of UCCEL Corporation that solves tape management problems, the control is quite strict and should be error free. In a Vault Management environment the control is less automated and may be done primarily by manual cataloging. Each data center operates according to its own policies and procedures in this area.

There is a market place for optical storage devices. Within the storage hierarchy and the devices which implement it, there exists a place for WORM optical storage. Just as the solid state disk memory fits certain unique applications, WORM optical media fits certain applications. Optical storage is not expected to replace any existing storage mechanism. It will augment existing mechanisms and improve total system performance. So too, erasable optical has its place and will not displace WORM. Each storage media has its positive and negative aspects, as does WORM optical storage.

There are many reasons to use WORM optical storage in certain applications. On the positive side, optical offers high storage density, permanence, removability, long life, and low media cost. The high density of optical is achieved by using laser energy to read and write the media. The important observation is that this density is not achieved with the very low mechanical clearances of magnetic media. Head crashes are not a concern with optical, and neither is head/tape wear. Because the media is removable and easily stored, it is ideal for archiving data in place of tape, especially data that is of permanent long term value. Once written, the data is permanent and cannot be erased or rewritten. This is an important consideration for certain record keeping tasks. The optical storage media is inherently tamper-proof.

Optical storage media costs today are roughly twice that of tape media on a per megabyte basis. This assumes that tape is one-hundred percent utilized which is rarely the case in IBM systems. Media costs are expected to continue to decrease. As with other media, what is an advantage on one side is seen as a disadvantage on the other. This is true of optical as well. There are several criteria which mitigate against the use of optical media in the IBM environment. Perhaps the-most significant to date has been the lack of a complete turnkey solution. Some frustrated users have resorted to their own implementations using Direct Access Control Units, and similar methods. This aspect of the problem is solved by the introduction of the present invention.

The write speed is the limiting factor because of the amount of energy required from the laser to mark the media. Higher revolutions per minute require higher laser power and reduce the mean time between failures. Write speeds are also influenced by the error correction mechanism. If a separate revolution is required to verify the data then the write speed can suffer due to rotational latency. If the correction is done on the fly then the error correction circuits must decide quickly if an error occurred sometimes resulting in unnecessarily rewriting sectors. Read speeds could be improved by creating a read only transport which spins at higher speed.

Applications which are suitable for optical storage include those which can be satisfied with a low speed device, and involve the storage of long lived data, and involve the storage of large volumes of data. Where all three factors are present optical is a good fit. Applications which are unsuitable for optical include those which require a high speed device, OR involve storage of short lived data, or involve storage of small amounts of data. Where any one of these three factors is present optical is a poor fit.

Many applications often cited for optical simply are out of reach with today's technology. The oft cited seismic data application is ideal from many respects: it is very high quantity, of permanent archival value, and write once. Unfortunately the collection of this data occurs at speeds in excess of one mega byte per second. The seismic data application is not a suitable application because of the high speed required during data collection. DASD backup fails the condition because the data is short lived. Backup tapes are generally retained for a short period, beyond which they lose their value.

Advantages of WORM optical are high density, permanent, tamper-proof, stable media and removable media. Disadvantages of WORM Optical are low speed, high media cost, write once and a lack of standardization.

A new optical controller could take full advantage of the optical storage mechanism, in particular the ability for random access to very large data bases. To accomplish these objectives the controller designer would define a set of I/O CCWs (Channel Command Words) commands for this new device. Seek commands would be included to achieve random access. A directory structure, like a Volume Table of Contents, would be defined which would conserve media. Ultimately, even a new access method would be defined and new host software written to utilize the new device. However, this software development would be a major undertaking. Several man years would be invested in developing software to use the new device. This new software represents a significant risk for vendor and customer alike. It is this software issue which motivates an emulation to interface the optical disk. An emulation has the advantage of existing software support from IBM, with the disadvantage that the emulation cannot make the best use of the new device's unique characteristics.

DASD emulation is the most desirable emulation because most applications software is written to utilize DASD. DASD is organized to allow efficient random access to large datasets. This is accomplished through the use of individual volumes set aside for each dataset. Consider the Volume Table of Contents used in count key data devices. Each volume contains a Volume Table of Contents of the datasets and of the unused space on the volume. The Volume Table of Contents is used to control the allocation of space on the volume, and to determine where a dataset is located. Within the Volume Table of Contents are records which name and describe individual datasets. The descriptions include the cylinder and head location and number of extents. When a dataset is written, the records in the Volume Table of Contents describing the dataset are updated to activate the new dataset record, and to reduce the free space remaining on the volume. It is this updating process which is most difficult to handle efficiently with WORM media. One possible solution to the disk emulation is to stage data on magnetic or solid state memory prior to writing to optical disk. In this approach a volume would be held in staging memory until it was closed and then written to disk. The staging memory could be in main memory, as done by Perceptics' attachments on DEC computers. This requires special software and consumes main memory. This staging memory could be of considerable size, essentially a solid state disk acting as the front end cache to the optical disks. This is an expensive solution.

To solve the problems of DASD emulation a complex system is required. The problems include backup for the volatile staging memory with error recovery mechanisms. Emulating count key data drives would be excessively consumptive of media. Emulating FBA drives would be a better fit since the optical drives with SCSI (Small Computer System Interface) interfaces are FBA oriented. However, the future of FBA is uncertain. The added flexibility afforded to the user by DASD emulation is probably not worth the risks and cost. The eventual availability of erasable optical may simplify this problem, DASD may then be the emulation of choice.

Emulating the IBM 3850 Mass Storage System could be a reasonable choice because software exists to handle this machine. However, because only a few were sold, this software may not be supported. A vendor could find that the essential software was no longer available or had been modified. This seems an untenable situation. Emulating the StorageTek Automated Cartridge System ACS4400 also appears risky. Again the availability of software and the assurance of continued compatibility with IBM cannot be assured.

Most turnkey optical systems offered are configured as document servers with an interface such as Ethernet or RS232. Optical is used to store text and images, either coded or scanned, and access is primarily by end users at terminals who wish to view, copy, or edit the material. A similar approach could be used in an IBM environment by emulating a controller, the 3274 or 3174. For document handling this is a viable approach. The Software required to utilize such an emulation would be extensive.

Emulating a tape drive is another choice. Unfortunately tape is most often used for DASD backup and for storage of aged data. In the IBM world only limited applications expect to work with data directly on tape. Typically data is first transferred to DASD, manipulated, and later returned to tape. From one aspect this is good because it makes the WORM nature of optical less objectionable. From the second viewpoint this is bad because it means that the random access nature of the optical media is rarely if ever used; data is streamed sequentially to DASD and accessed randomly once loaded. The process of moving data between tape and DASD consumes I/O Channel resources. Unfortunately this highlights a current weakness of optical with a relatively slow read/write transfer rate.

However, features available on the new 3480 drives make tape an attractive choice since they offset some of the weaknesses noted above. In particular, the 3480 associates a logical block id with each record. This logical block id permits searching for specific records without the need for a series of forward space file reads. Few programs that take advantage of the logical block ids use the tape drive offline searching capabilities. This may change as 3480s become more widespread. The 3480 also includes a cache memory. A similar concept can be used in optical to speed transfers across the I/O Channel.

The current IBM System 370 storage hierarchy consists of main memory, disk memory or Direct Access Storage Devices (DASD), reel and cartridge magnetic tapes, and hardcopy such as paper and microfilm. Within the retrieval levels of this hierarchy, only data stored on DASD is available at all times for online mainframe processing. Data recorded on magnetic tapes is generally stored offline. Major time delays are frequently associated with the transfer of tape data from the tape library onto DASD. DASD storage is fast but remains expensive, while tape library storage suffers from both slow access and the attendant media storage space constraints and costs.

Consequently, a need has existed for a compact form of high capacity storage that is retrievable online when additional use of the data in mainframe processing is required. Optical storage can satisfy this compact, high-capacity online storage need. By emulating 3480 cartridge tape subsystems, Write Once Read Many (WORM), non-erasable, removable, optical disk cartridge storage can be made conveniently available to IBM and compatible mainframes. The present applicant choose to emulate the 3480 tape subsystem. This is the most general purpose device, able to satisfy the broadest set of requirements. The present invention solves or reduces the disadvantages of the prior art mass memory systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of Mainframe Optical Storage Transport (MOST) at the system level.

FIG. 2 is a block diagram of the MOST controller.

FIGS. 3a and 3b are block diagrams of the prior art VMEgate processor board.

FIGS. 4a and 4b are block diagrams of the prior art VMEgate interface board.

FIG. 5 is a flow diagram of the VMEGate microcode.

FIG. 6 is a diagram of the MOST disk format.

FIG. 7 is a flow diagram of the BOOT SBC software module.

FIG. 8 is a flow diagram of the VMEGate Interrupt Handler SBC software module.

FIG. 9 is a flow diagram of the Jukebox Interrupt Handler SBC software module.

FIG. 10 is a flow diagram of the SCSI Interrupt Handler SBC software module.

FIG. 11 is a flow diagram of the 100 Microsecond Interrupt Handler SBC software module.

FIG. 12 is a flow diagram of the Quarter Second Interrupt Handler SBC software module.

FIG. 13 is a flow diagram of the Keypress SBC software module.

SUMMARY OF THE INVENTION

An object of the present invention is to improve mass storage capabilities.

Another object of the present invention is to provide an optical disk system and method for emulating magnetic tape drives.

A further object of the present invention is to provide an optical disk system and method for emulating a set of magnetic tape drives using virtual tape data stored on optical disks.

Yet another object of the present invention is to provide an optical disk data organization system and method for efficiently storing data on an optical disks as a collection of virtual tapes.

Yet a further object of the present invention is to provide an optical disk virtual addressing system and method for emulating a set of magnetic tape drives though the translation of tape commands into disk seek operations.

Still a further object of the present invention is to provide an optical disk dynamic allocation system and method for emulating a set of magnetic tape drives mapped to a set of optical disk drives.

System Overview

The data storage hierarchy of IBM System 370 compatible mainframes is augmented by providing a system that offers plug compatible optical disk storage. The present invention is an optical storage library system requiring no changes to the IBM mainframe hardware or software. The optical disk system includes an automated media handler jukebox having storage slots to support optical disks. The system emulates 3480 cartridge tape drives and provides high speed random access archival storage. The system emulates the 3480 tape subsystem while eliminating the need for any changes to the mainframe host operating system or application software. The system response to the commands of the 3480 instruction set while using the automated jukebox with no required software changes in the host.

This system is referred to as a Mainframe Optical Storage Transport (MOST). MOST is a high performance IBM plug compatible storage system allowing mainframes to use optical mass storage. MOST emulates the operation of standard 3480 IBM magnetic tape systems, making very large amounts of online data, from two to eight-hundred giga bytes, available to IBM mainframes. The system is compatible with IBM's operating systems and offers a transparent interface between the host software and optical media.

Particularly, MOST is compatible with the IBM 3090 class processors and VM and MVS/XA operating systems executing on an IBM mainframe computer. The 3480 emulation approach results in optical mass storage system that is also compatible with IBM's DOS operating systems. This compatibility is achieved by emulating the IBM 3480 magnetic tape subsystem. Programs written for the IBM 3480 magnetic tape subsystem will operate with MOST without modification. Programs written for other tape subsystems, such as the 3420, may require some Job Control Language modification, the same as would be required if converting to IBM 3480 equipment.

MOST emulates the IBM 3480 tape subsystem, that is, it appears to an attached host computer to be a standard tape subsystem. By emulating the IBM 3480 Magnetic Tape Subsystem, MOST makes immediately available all program support intended for the IBM 3480. Conventional tape drive programming, including access methods, utilities, and job control language is supported. The Data Facility Product supported by IBM is compatible with MOST

MOST is a mass storage system compatible with IBM mainframe computer systems. MOST provides multi giga byte storage with high speed access to any archival volume. MOST is a turnkey solution to optical storage for IBM mainframes. The 3480 emulation provides an optical attachment requiring no new operator skills, system programming, or modifications to existing software. MOST provides an integrated solution to data storage needs. MOST is compatible with programs available for the IBM System 370 mainframe with a 3480 tape subsystem. Most operator procedures are identical, allowing for immediate integration of MOST with an existing mainframe.

MOST can be used alone or in conjunction with 3420 or 3480 tape subsystems. MOST should be treated as a separate pool of 3480 equipment to ensure that only the desired data sets are stored on optical media. The addition of a MOST subsystem requires steps similar to adding a 3480 subsystem including: system generation and testing of the operating system and licensed programs that support the 3480 system; installing MOST subsystem units and testing them under control of the operating system; testing applications using the operating system, MOST subsystem, applications programs, and optical media; modifying data sets, if required, and application program Job Control Language that are to be used with MOST subsystem; and moving existing data from magnetic tape to optical disks.

MOST requires a block multiplexer I/O channel and may share that channel with other devices. Two and three megabyte streaming channels may also be used, with selected processors, for greater channel flexibility. Channel Unit Control Words must be assigned so that each drive has an identifier. A minimal amount of Job Control Language conversion is necessary to accommodate the IBM 3480 subsystem and hence MOST. Generally, the changes required are similar to those necessary whenever a different device type is added to an existing system. Conversion to the optical media requires that data be transferred from magnetic tape. This can be accomplished by copying existing data from tape to optical storage or by using optical storage in place of tape during the generation of new data.

MOST can be attached to nonstreaming block multiplexer channels with a 303X or 3042 attached processor, or 4341, 4381 and 308X processors of the computer. It can also be attached to two mega bytes per second streaming channels on the 4341 and 4381 processors. In addition, it can be attached to three mega bytes per second streaming channels on the 303X (with the data streaming feature), the 3042 (with the data streaming feature), and the 4341, 4381, and 308X processors. MOST is also compatible with the 3090 series and the 9370 family when a multiplexer channel is used.

MOST is designed for high volume online data manipulation. MOST provides cost effective replacement of a combination of DASD and conventional tape storage. MOST provides a bridge between online DASD and offline storage. MOST is useful to maintain a large volume of data, to frequently access records in a large volume of data, and, to permanently store data having long life.

MOST is configured in a range of models including small manually operated systems to large completely automated systems which eliminate the manual handling of magnetic tapes. MOST is an integration of optical storage into the IBM storage hierarchy and is compatible with user's needs and available technology. MOST is an integrated solution uniquely combining off the shelf equipment with new internal sophisticated software.

MOST has an advanced controller capable of data streaming rates through cache memory. Data streaming rates, up to four-point-five mega bytes per second are possible with the cache memory. The cache memory is microprocessor controlled in MOST to optimize data flow and throughput with a sustained data rate of two-hundred kilo bytes per second which is record length dependent.

MOST is operationally convenient for the user. It not only emulates the 3480 tape subsystem, but has a storage capacity ten times larger with the advantages of random access. MOST uses a standard twelve inch optical disk format having removable two-point-one giga byte media storing ten times the data of the 3480 cartridge tape. MOST is a low cost per giga byte storage solution with an archival life exceeding thirty years. MOST uses rugged optical disks enclosed in protective cartridges for greater protection and automatic loading. MOST is a storage mechanism permitting migration of datasets off of DASD without incurring long retrieval times. MOST reduces access time to data due to the high capacity of the media and the incorporation of robotic loading methods. The high speed robotic loading techniques permit rapid access to any optical disk within a large data library. MOST reduces operator labor due to the automatic mounting and dismounting of virtual tapes. The random access quickly locates a target virtual tape volume on any optical disk. MOST employs random access organization of data which takes advantage of the random access nature of the optical media.

MOST has an operator interface which replicates the functions of the IBM 3480 tape subsystem and provides important information to the operator in a standard format. The operator receives message displays for volume, status, and operator prompts. The readily comprehended operator interface emulates the 3480 and uses a minimum number of keystrokes to perform each function.

MOST has reduced media storage space due to the high density optical disk storage. MOST also requires less floor space due to the compact equipment size and high capacity media.

Emulation Overview

MOST records a collection of virtual tapes on optical disks. The emulation process stores "virtual tapes" on the optical disks. Retrieval of virtual tapes is faster than the retrieval of 3480 cartridges because of the robotic access to the disk library. Each disk cartridge can be visually identified by a disk number label on the edge of the cartridge. MOST maintains a volume and serial number directory on the optical disk of all of the virtual tapes recorded on the optical disk. Thus, each disk is self contained. The disk may contain one or many virtual tapes on each of its sides.

Each virtual tape has a Volume & Serial Number (VSN), a length, and a pointer to its tape map, which defines the structure and contains access control information for each data record. Each virtual tape has a volume and serial number according to IBM convention. Mount messages sent by the host computer to MOST are automatically interpreted and acted upon. If the requested virtual tape resides on a disk currently loaded in the optical disk drive, the virtual tape will be mounted through the action of the MOST controller. If the requested virtual tape resides on a disk which is not currently loaded in the optical disk drive, the disk will be retrieved through the robotics of the media handler.

Each optical disk contains a unique disk identification number assuring positive verification of the optical disk identity during disk handling operations. A disk id address space of thirty-one kilo bytes is reserved to maintain identification data for the optical disk. The large size of the disk id address space allows the disk to be re-identified up to thirty times. A tape directory recorded in predetermined bands of sectors maintains a directory of the virtual tapes stored on the disk. The bands of sectors allow the recording of updated tape directories for virtual tapes that were added, deleted or altered. After one band of sectors is used, an additional band will be set aside as necessary.

Each virtual tape that was recorded on a disk has associated with it a respective tape map. The tape directory listing the virtual tapes has pointers to the respective tape maps. The tape maps keep track of the physical structure of the virtual tapes. A tape map is used to determine the size and location of interblock gaps, tape marks and user records recorded on the optical disk.

Data is organized as a system of pointers and user records. The system of pointers includes the disk id, tape directory and tape maps. When an optical disk is loaded, the system of pointers is loaded in memory of the controller so that search operations can be quickly executed using semiconductor memory, and so that the read and write operations can then occur through disk seek operations. The loading of system of pointers into the memory increases system performance. The system of pointers and user records can be rewritten into unused portion of the optical disk so as to provide an equivalents to rewritable magnetic tape media.

Library management is carried out as in a magnetic tape environment. Each optical disk is considered to be a collection of "virtual tapes". Each of these tapes is given a volume and serial number and managed by the tape catalog system. Catalog systems are available from IBM as well as UCCEL and others.

The additional management function required by MOST is that of knowing on which optical disk a particular virtual tape is stored. This function is carried out by the MOST controller and is independent of and unknown to the host computer. A small, forty mega byte magnetic hard disk drive is housed within the MOST controller. This magnetic hard drive contains the information necessary to cross reference virtual tape volume and serial numbers to disk ids. MOST keeps account of optical disk both in jukeboxes and in storage racks.

In a tape environment, it is sometimes necessary to label tapes prior to processing. The labeling process writes the volume serial number on the tape, along with a file mark to prevent the tape from "running away" on the first read. Generally this is done by a host program such as IEHINIT. This same process can be performed in like fashion with MOST. MOST can label virtual tapes in an offline mode using a self contained version of IEHINIT.

Write once data is stored on the optical disk cartridges as a collection of 3480 virtual tapes, which are accessible by the host mainframe through the input-output channel. MOST provides a high speed search to quickly locate desired data. MOST implements the sequential tape commands as random accesses commands on the optical storage media to quickly traverse large data blocks. The virtual tapes contain the same user program data as the magnetic tapes.

The compact collection of readily accessible virtual tapes on the optical disk media saves time typically expended in the tape mount and demount operations, by eliminating the need for physical handling of numerous reels or cartridges. The data center operator selects, mounts, and demounts the virtual tapes in the optical disk collection electronically. A job control sheet may be used or, alternately, the operator may be prompted by volume and serial number messages sent from the mainframe.

The optical disk system is able to interpret and act on mount and demount messages directly, providing fully automated operation. In a jukebox configuration, thousands of virtual tapes can be handled automatically with no operator intervention. MOST uses conventional monitors with key boards as operator consoles to emulate the control panels of the virtual magnetic tape drives. The video screens display the control panels providing the operators with the touch and feel of a 3480 magnetic tape subsystem.

Control of the emulated 3480 tape transport is available to the operator. MOST maintains and operates on directories for the virtual tapes on the disk cartridges as well as a disk media directory for identification of the cartridges residing in the automated jukeboxes. Each optical disk has the capacity to store the equivalent of ten two-hundred mega byte 3480 cartridges. A greater number of partially complete magnetic tapes can be stored on the disk, resulting in a reduction in physical space requirements for media storage.

A jukebox provides automated robotic handling of optical cartridges equivalent to thousands of 3480 cartridges. In response to mount requests, the robotic jukebox media handler will automatically exchange optical disk cartridges between the disk drives and the appropriate jukebox slots in seconds. The disk media directory is stored on the magnetic hard drive and is automatically updated as optical disk cartridges are imported into and exported from the jukebox media handler. MOST maintains a one-to-one mapping allocation between virtual tape drives of the emulated magnetic tape subsystem and the attached optical disk drives. To increase system performance, the allocation is dynamically changed to minimize access time to requested data.

MOST is a data processing requirement for online access to large volumes of data. MOST provides increased capacity and high speed access to large volumes of data. By emulating the IBM 3480 magnetic tape system and storing mainframe generated data as collections of virtual tapes on removable optical disks, MOST is a practical means for rapid mainframe access to multi giga bytes of permanently stored records that are essential in numerous areas of business and government operations. These and other advantages will become more apparent from the following detailed description of the preferred embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

System Configuration

Referring to FIGS. 1 and 2, MOST 10 provides a transparent interface between IBM System 370 compatible mainframes 12 and optical disks 20. MOST 10 consists of a MOST Controller 14, optical disk drives 16 and optional jukebox (media handler) 18. MOST 10 utilizes optical disk storage for recording data. MOST 10 has a VME bus based MOST controller 14 which is a general purpose controller which attaches to IBM's block multiplexer through the input/output channel 34. MOST 10 connects to the IBM mainframe computer 12 via the I/O Channel comprising tag port 34a and data port 34b. The MOST controller 14 attaches to IBM's block multiplexer channels and emulates the operations of 3480 control units. The controller 14 provides a transparent interface to the I/O Channel by accepting and responding to I/O commands and appropriately controlling the optical disk drives 16.

The 3480 emulation is accomplished by the MOST controller 14 emulating an IBM 3480-A22 unit and mapping optical drives 16 into the 3480 B22 dual drives. MOST 10 provides the same operator interface as the IBM 3480 system. The jukebox 18 provides the functionality of the operator of the IBM 3480 subsystem. The jukebox 18 manages the optical disks 20 and performs the media mounts and dismounts.

MOST 10 includes at least one MOST controller 14, up to four jukeboxes 18, one to four optical disk drives 16 per jukebox 18, for a maximum of sixteen optical drives 16, a power supply 22 through power connectors 23a, 23b and 23c, one or two operator consoles 24 and 26, a printer 28 and a phone line connection 31 to a remote telephone instrument 30. The power supply 22 provides primary power necessary for controller operation. Supplied voltages are plus five VDC on port 23a, plus twelve VDC on port 23b, and ground on port 23c. The MOST controller 14, optical disk drives 16, jukebox 18, disks 20, power supply 22 are housed in a cabinet 32. A manually operated system would consist of one optical disk drive 16a in a pedestal configuration, providing two-point-one giga bytes of online storage.

MOST 10 is unique in that disks 20 are stored within the unit itself. The number of optical disk cartridges which can be housed within the jukebox cabinet 32 varies with the number of drives and number of jukeboxes 18. Optical media can of course be housed in other MOST units or on the shelf.

MOST 10 can be configured as one of two basic models. The jukebox configuration is where the automated high speed robotics perform all mount and dismount requests. The pedestal configuration is where the operator performs the mounts and dismounts in place of the media handler. The pedestal configuration can hold one to four drives and operates only in the manual mode.

MOST 10 configurations range from manually operated systems with one disk of two-point-one giga bytes of storage, to fully automated, robotically operated systems with eight-hundred giga bytes (three-hundred-and-eighty disks) of storage capacity. MOST 10 has either disk cartridge storage racks, not shown, or automated handling using the jukebox 18. The jukeboxes need not be filled with media. The MOST 10 family of optical systems can be configured to support various high capacity storage requirements. The smallest MOST configuration consists of one MOST controller, one operator console 24, a single optical disk drive 16 and a power supply 22. The largest MOST subsystem 10 contains one MOST controller 14 with two operator's consoles 24 and 26 and printer 28, sixteen optical disk drives 16, and four robotic jukeboxes 18 capable of providing eight-hundred giga bytes of data storage.

FIG. 1 provides a functional block diagram illustrating the relationship of the major MOST components. The physical placement of the major components of the MOST system 10 are in conventional cabinets 32. The standard MOST configuration includes the MOST controller 14, two optical drives 16, and an automated jukebox 18 with media storage for up to eighty-nine disks. The MOST controller 14 attaches to IBM input/output channels 34 directly on the tag and bus interface 34a and 34b.

Controller

The MOST controller 14 provides the integration for the entire storage system, including control of the optical drives 16, the jukebox 18, the operator consoles 24 and 26, and the interface for the input/output channel 34 to the IBM mainframe computer 12. FIG. 2 provides a functional block diagram illustrating the relationship of the major component of the MOST controller 14. MOST controller 14 includes VMEGate 36, cache memory 38, serial I/O 44, modem 56, magnetic media controller 48, SBC 40, SCSI I/O 42, SBC I/O 54, floppy disk drive 52, and hard disk drive 50. Control of MOST 10 is accomplished through the use of a single board computer 40 and appropriate software of the MOST controller 14.

MOST 10 contains a controller 14 for interpreting channel commands, controlling the data flow, and managing buffer operations. The MOST controller 14 communicates with the jukebox 18 via a single, asynchronous, full duplex, EIA serial communication standard, RS232 port 19 at ninety-six-hundred baud. The jukebox commands include motion commands, e.g. get or put cartridge, and special commands, e.g. test and query status. The MOST controller 14 connects the IBM channel 34 to the optical disk drive SCSI port 17, and to the RS 232 interface 19, while providing a plug compatible device emulation, thereby making eight-hundred giga bytes of online data available to IBM mainframes.

The MOST controller 14 is a software and microcode controlled device. This provides flexibility in that the controller 14 together with its attached devices can emulate different standard channel attached devices (3480 cartridge tape, 3420 reel tape, 3380 DASD, etc.) or other non-supported devices utilizing custom, vendor defined, channel Command Words (CCWs). Within MOST commands, statuses and sense data accepted and presented to the channel are completely software dependent. By down loading a different program from the integral floppy drive 52, MOST 10 can change its characteristics in order to emulate different channel attached devices.

In the preferred form of the invention, MOST 10 has been programed and coded to emulate the standard IBM 3480 tape drive. Optical drives 16 that are attached are emulated as online devices, while the remaining channel addresses are emulated as offline tape drives. The software for MOST also supports operator and diagnostic interfaces, a jukebox based library of optical disks 20, and a database residing on the integral forty megabyte Winchester hard disk drive 50.

A minimum configuration for MOST would normally comprise a single channel attachment 34, a SCSI interface 17 for the optical drives 16, two RS 232 ports 25 and 27 for the consoles 24 and 26, an RS-232 port 19 for the jukebox 18, a modem phone line 31, a power connection 23 for a power supply 22, and a parallel printer port 29 for a printer 28. MOST uses existing commercial off-the-shelf optical disk drives, media, jukebox, circuit cards and chassis components in the preferred form.

The VMEGate microcode is embedded in the controller 14. The VMEGate microcode and the SBC software are stored on floppy disks. This software is loaded on power up from the floppy disk drive. Only the boot software of the SBC is in SBC ROM. VMEGate microcode and SBC software updates can consequently be accomplished by loading new code from the floppy disk.

Controller Chassis

The MOST controller 14 is housed in an UL approved chassis, not shown. The chassis is normally mounted within the cabinet but can also be rack mounted or desk mounted with an attractive front bezel for the pedestal configuration. The chassis of the MOST controller 14 provides a powerful plug compatible interface in a small, easily accessible package. The chassis contains a multi-slot VME card cage for routing of the VME bus 46 and the power supply 22. The chassis further includes a rear panel for mounted I/O boards. The controller 14 includes the integral self test modem circuit card 56, the SCSI based magnetic controller circuit card 48, and the magnetic disk drives 50 and 52. The use of a dedicated SCSI magnetic media controller 48 for the magnetic peripherals, separate from the SCSI controller board 42 of the optical drives 16, means that additional magnetic peripherals 50 and 52 can be added without adversely affecting system performance.

MOST connects to all attached devices and to the mainframe channel through connectors. A rear panel is able to accommodate multiple channel attachments each including Bus I/O 34a and TAG I/O 34b. The channel cables Bus In, Bus Out, Tag In and Tag Out are attached through four serpentine connectors. These serpentine connectors are coated with a conductive material which makes contact with the shield pins of the serpentine connectors. This connection provides complete shielding of the I/O signals as they pass into the chassis of the cabinet 32.

The four serpentine connectors associated with I/O channel ports 34 attach to the rear of the unit. The controller 14 can be placed at any location in the string, and may share the I/O channel with up to seven other channel control units, including other MOST units. The serpentine connectors for each channel attachment are mounted on a Channel Interface Board 64 (CIB). If a connector pin is bent or broken the CIB 64 card can be removed and replaced. The CIB 64 is connected to the mainframe 12 through the four Bus/Tag serpentine cable set. The CIB board 64 is physically located at the bottom of the chassis for convenient connections to the one or two pairs of bus and tag cables. Each VMEGate 36 is able to attach to one or two CIBs 64. The CIB 64 includes channel receivers and drivers, and a select relay.

A rear panel assembly, not shown, supports a jukebox I/O board 70 connected between the serial I/O board 44 and the RS-232 port 19. A jukebox I/O cable 72 connects together the Serial I/O board 44 and the jukebox I/O board 70. The rear panel also supports a Channel I/O board 62 connected between the interface board of the VMEGate 36 and the CIB 64 by Channel I/O Board serpentine cables 66 and 68. The rear panel also supports the SBC I/O board 54 connected to the SBC 40 by the SBC cable 58. Various connectors are mounted on the I/O boards 54, 62, and 70 mounted on the rear panel of the chassis. Latch and eject, insulation displacement connectors of the ribbon cables 58, 66, 68 and 72 are used to connect together these I/O boards 62, 70 and 54 and the SBC 40, VMEGAte 36, SCSI 42 boards lodged in the slotted card cage. In this way, faulty boards are easily disconnected and replaced in the field.

MOST 10 is upgradeable from one to four channels by the addition of another VMEGate and CIB 64. In the multi-channel attachment configuration, the four channel attachments are driven using two VMEGates 36. Unlike the multi-channel attachment of the 3480, which can only operate one channel at a time, MOST allows for one of the two channels to be active on each VMEGate 36. Thus, two channel access is possible, with the other two channels appearing offline. MOST 10 is upgradeable from one to four channels by addition of another VMEGate 36 and CIB 64.

Optical disk drives 16 are attached to the MOST controller 14 via the SCSI interface port 17. Single-ended SCSI connection is limited to six meters total cable length. Design constraints limits no more than four drives 16 on a single SCSI host adapter. By providing slots for up to four host adaptors in the twelve slot chassis MOST is able to accommodate up to sixteen drives 16 for a single controller 14, which matches the IBM 3480 architecture.

The SCSI interface port 17 for the optical disk drives 16 is located on the rear panel of the chassis. The connector is grounded by a shield attached directly to the chassis for maximum noise immunity. Shielded cables are used from the controller 14 to the first drive 16a and between drives 16a and 16b. In the pedestal version of MOST 10 where no jukebox 18 is used and no SCSI board 42 is used, using the five slot card cage, the SBC 40 controls the optical drives 61 over the SCSI interface port 17 by a direct connection between the SCSI bus 17a to the SCSI bus 17b.

Two shielded RS-232C ports 25 and 27 are provided on the rear panel of the chassis of the cabinet 32. The RS-232C port 27 is switched by a switch, not shown, to allow the port 27 to be bypassed and the signal lines routed to the internal modem 56 over cable 60. The modem 56 is connected to a standard modular RJ11 phone jack 31. These RS-232C ports 25 and 27 are under the control of the SBC 40. All control lines for RS-232 communication are controlled through the SBC software.

A shielded RS-232 connector for port 19 is provided on the back of the chassis to allow communication with the jukebox 18. Unlike the terminal ports which are driven by the SBC, the port 19 is driven by an intelligent RS-232 serial I/O controller board 44. The serial I/O board 44 has a 68000 microprocessor and also three additional RS-232 ports, (not shown). This additional processing power and I/O capacity of the serial I/O 44 are provided to allow expansion to multiple jukebox configurations.

A shielded 25-pin connector is available as a printer port 29. The printer port 29 allows tape database reports to be printed by the printer 28 as well as the production of hard copies of error logs. The pin out is identical to the IBM PC Centronics interface allowing connection to any Centronics parallel printer via a standard PC cable.

The VME Card Cage is typically a twelve slot card cage with the first five slot occupied as is the five slot version. The twelve slot version is typically occupied as follows: slot one has the Management Processor 68010 of the SBC 40; slot two has the Cache 38; slot three has the VMEGate interface board; slot four has VMEGate processor board; slot five has the Smart RS-232 68000 serial I/O board 44; slot six has an optional second VMEGate interface board; slot seven has an optional second VMEGate processor board; slot eight has the SCSI board for the first four optical drives for first jukebox; slot nine has a second SCSI board for the second four optical drives for the second jukebox; slot 10 has the third SCSI board for third four Optical drives for the third jukebox; slot eleven has a fourth SCSI board for fourth four optical drives for the fourth jukebox; and slot twelve is reserved.

The controller chassis is available in two configurations, a single channel attachment configuration, and a multi-channel attachment configuration. The single channel attachment configuration has a five slot VME card cage in a seven inch high nineteen inch rack mount enclosure. The multi-channel chassis has a twelve slot card cage in a ten-point-five inch high nineteen inch rack mount chassis. The larger twelve slot enclosure provides sufficient space on the rear panel for up to four sets of tag and bus cables, with each set having two tag and two bus cables. The cables required are SCSI cables to the optical disk drives 16, RS232 cables to the jukeboxes 18, operator's consoles 24 and 26 and printer 28, external cables for integrating system include Bus and Tag cables with Bus and Tag terminators, and a telephone line for remote console or diagnostics. The five slot chassis will support from one to four drives 16, one jukebox 18, one or two consoles 24 and 26, and one VMEGate 36. The twelve slot chassis will support from one to sixteen drives 16, up to four jukeboxes 18, one or two consoles 24 and 26.

Optical Disks

The technology of MOST is based on the industry standard twelve inch Write Once Read Many, (WORM) optical disk. Each optical disk has a capacity of two-point-one giga bytes using both sides. All MOST configurations utilize WORM optical disk technology for recording data while emulating IBM 3480 magnetic tape subsystems. The guaranteed archival life of the optically written disk is thirty years.

In typical applications, tape cartridges and reels are very seldom fully utilized. Usually, the usage is ten to fifty percent of a tape because of the time it takes to sequence through the tape and or the cataloging of applications. Due to the advantages of random access of virtual tapes on the optical disk, the utilization factor on disk is much greater. Therefore, in a typical operating situation, one disk cartridge would be equivalent to as many as one-hundred tape cartridges or reels. The MOST system will automatically recognize media which has not been labeled and request that the user provide a disk id before continuing, thus ensuring that all media in the system is numbered and properly accounted for.

The disks 20 are off the shelf items. The LMSI media is preferred. This media is in twelve inch format storing one giga bytes on each of its two sides. MOST uses both sides of the media. Each side is given an identification number followed by an `A` or `B`. These numbers are used to manage the media for location and orientation. The LMSI media is warranted to provide not less than one giga bytes of data storage per side. This ensures that two giga bytes are available for storage. The storage overhead rate including, disk id, tape directory, tape map, etc., is less than two percent, leaving one-point-nine-six giga bytes available for data.

The media is also inherently tamper-proof. Each optical disk is housed in a protective cartridge. The cartridge provides for secure transport of the optical media either by operators or by the media handler. The optical media is a disk constructed as a glass sandwich enclosing a tellurium alloy, which is the sensitive layer. The disk is preformatted and contains thirty-two-thousand tracks per side, each track containing thirty-two sectors of one-thousand-twenty-four bytes. Each sector contains more than the one-thousand-twenty-four bytes since headers and correction characters must be accommodated. The