`
`(12)
`
`Europäisches Patentamt
`
`European Patent Office
`
`Office européen des brevets
`
`(11)
`
`EP 0 978 785 A1
`
`EUROPEAN PATENT APPLICATION
`
`(51) Int. Cl.7: G06F 11/14
`
`• Crighton, Ian Peter
`Shepton Mallet, Somerset BA4 5XX (GB)
`
`(74) Representative:
`Lawman, Matthew John Mitchell et al
`Hewlett-Packard Limited,
`IP Section,
`Building 2,
`Filton Road
`Stoke Gifford, Bristol BS34 8QZ (GB)
`
`(43) Date of publication:
`09.02.2000 Bulletin 2000/06
`
`(21) Application number: 98306358.7
`
`(22) Date of filing: 07.08.1998
`
`(84) Designated Contracting States:
`AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU
`MC NL PT SE
`Designated Extension States:
`AL LT LV MK RO SI
`
`(71) Applicant:
`Hewlett-Packard Company
`Palo Alto, California 94304 (US)
`
`(72) Inventors:
`• Gold, Stephen
`Winterbourne Down, Bristol BS17 1DJ (GB)
`
`(54)
`
`Data backup and recovery
`
`(57)
`The present invention provides a tape drive
`140 configured to operate as a bootable device for a PC
`100. The tape drive 140, thus, has two modes of opera-
`tion: a first mode in which it operates as a normal tape
`drive 140; and a second in which it emulates a bootable
`device such as a CD-ROM drive. The present invention
`also provides application software for backing up and
`restoring computer system data. The application soft-
`ware is configured to cause a PC 100 running the soft-
`ware to generate a bootable image (containing an
`operating system, including the PC 100's hardware con-
`figuration, and data recovery application software) suit-
`able for re-building the PC 100 in the event of a disaster,
`such as hard disk corruption or system destruction. The
`bootable image is stored on tape in front of an actual file
`system backup data set.
`In the second mode of operation, the tape drive 140
`can be used to boot the PC 100 and restore the operat-
`ing system and application software. When loaded, the
`application software is configured to switch the tape
`drive 140 into the first mode of operation and restore the
`file system backup data set to the PC 100.
`
`Printed by Xerox (UK) Business Services
`2.16.7/3.6
`
`EP 0 978 785 A1
`
` 1
`
`AMI/MSI/GBT EX 1007
`IPR of Pat. No. 6,282,641
`
`
`
`EP 0 978 785 A1
`
`Description
`
`Technical Field
`
`5
`
`[0001] The present invention is in the field of data backup and recovery in data processing systems and, in particular,
`magnetic tape based data backup and recovery.
`
`Background Art
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`[0002] One of the main reasons for using a magnetic tape based backup solution with a computer system is that it
`provides a relatively cheap way of protecting against a disaster that might destroy valuable data on primary storage
`such as a hard disk.
`[0003] For the present purposes, a 'backup solution' comprises a physical tape drive and backup application software,
`which, when executed on a computer system, operates to copy the data to be backed up from the computer system (or
`network of computer systems) to the tape drive or library of tape drives, for storage onto tape media.
`[0004] Backup application software also provides functionality for enabling data, which has been backed up to tape
`media, to be restored to the original computer system. Such data restoration is sometimes also known as disaster
`recovery (DR). For the present purposes, the elements of backup application software that relate to DR will be referred
`to as a 'DR solution'.
`[0005]
`In the event of a disaster, such as hard disk failure or even system destruction, typically, a priority is to rebuild
`a working system as soon as possible.
`[0006] Many vendors of backup application software sell backup application software including a DR solution that
`aims to reduce the amount of manual system rebuilding required before lost data could be restored. Without such DR
`solutions, it could take several hours or even days just to prepare a computer system to restore the data from tape
`media before restoring the actual data, since it is necessary to first install and configure an operating system, tape driv-
`ers and the backup application software.
`[0007] Known DR solutions typically require user-generation of a set of DR floppy disks. A reason that floppy disks
`are used is that they provide a generic means of booting practically every PC-based computer system.
`[0008] The DR floppy disks are used to bootstrap (or boot) the computer system and typically load a minimal version
`of the main operating system, known as a DR operating system, along with a minimal version of the backup application
`software comprising DR functionality, thus providing enough functionality to build new disk partitions, access the tape
`drive and restore the data from tape media.
`[0009]
`Typically, DR floppy disks need to be regenerated by a user whenever the system hardware configuration
`changes, and particularly when a SCSI (Small Computer Systems Interface) configuration changes. For example, if a
`new SCSI Host Bus Adaptor (HBA) is added to a server, with a respective new device driver, this device driver needs
`to be added to the DR floppy disks so that the new SCSI HBA is recognised when rebuilding the computer system.
`[0010] Generally, therefore, having 'current' DR floppy disks available relies on a user generating them, keeping them
`up to date, and being able to find them if a disaster occurs. This is an overhead, which sometimes leads to DR floppy
`disks not being generated at all, disks being allowed to get out of date, or disks being misplaced over time.
`[0011]
`It would, therefore, be desirable to provide a more convenient DR system.
`
`Disclosure of the Invention
`
`[0012] An improved DR system is facilitated, in accordance with a first aspect of the present invention, by a magnetic
`tape data storage and retrieval apparatus, comprising:
`
`45
`
`interface means for receiving control signals from a host computer and for returning response signals to the host
`computer;
`selection means for selecting a first mode of operation or a second mode of operation of the apparatus; and
`processing means for generating responses to received control signals in dependence upon the selected mode of
`operation, said responses being arranged:
`
`a) in the first mode, into a format normally associated with a particular initial program load device; and
`b) in the second mode, into a format normally associated with a magnetic tape data storage and retrieval appa-
`ratus.
`
`50
`
`55
`
`[0013] Advantageously, an appropriately configured host computer can boot from such apparatus and restore backed
`up data in a single operation, which does not include DR floppy disks. As such, it is not necessary for DR floppy disks
`
`2
`
`
`
`EP 0 978 785 A1
`
`to be created or maintained at all.
`[0014]
`To that end, preferably, in the first mode, the processing means is arranged to generate, in reply to a device
`type inquiry signal from the host computer, a response identifying the apparatus as being the particular initial program
`load device rather than as being a magnetic tape data storage and retrieval apparatus.
`[0015] Preferably, in the first mode, the processing means is arranged to generate a response, in reply to a request
`signal from the host computer to read and return data from a specific portion of a substantially random access data stor-
`age medium of the initial program load device, the response comprising data read from tape media, said data being
`arranged in the response in the format associated with the particular initial program load device.
`[0016]
`In a preferred embodiment of the present invention, the selection means is a manually-operated external
`switch normally dedicated to the function of ejecting the tape media from the device.
`[0017]
`In a preferred embodiment of the present invention, the particular initial program load device is a CD-ROM
`drive device.
`[0018]
`In accordance with a second aspect of the present invention, a data processing system comprises:
`
`a host computer comprising means arranged for controlling data backup and restore operations; and
`connected to the host computer, a magnetic tape data storage and retrieval apparatus as hereinbefore described,
`the means for processing data backup and restore operations being configured, for writing bootable system data to
`the magnetic tape data storage and retrieval apparatus as part of a backup operation.
`
`5
`
`10
`
`15
`
`20
`
`[0019]
`In accordance with a third aspect of the present invention, a method of backing up data from a host computer
`to a magnetic tape data storage and retrieval apparatus as hereinbefore described comprises:
`
`25
`
`30
`
`35
`
`arranging bootable image data into a data set to be backed up, said bootable image data including data normally
`associated with booting from a particular initial program load device; and
`transmitting the data set to a magnetic tape data storage and retrieval apparatus.
`
`[0020]
`In accordance with a fourth aspect of the present invention a method of restoring to a host computer data from
`tape media, the method being suitable for recovering a file system of the host computer, comprises the steps of:
`
`connecting to the host computer magnetic tape data storage and retrieval apparatus as hereinbefore described,
`said apparatus containing tape media having a bootable image and operating in the first mode of operation as an
`initial program load device;
`initiating a boot sequence of the host computer, the boot sequence including the steps of searching for an initial
`program load device, locating the magnetic tape data storage and retrieval apparatus and recognising it as an initial
`program load device and determining that bootable media is present in the device;
`booting from data stored on the tape media; and
`restoring the data from the tape media.
`
`[0021] Other aspects, embodiments and features of the present invention are hereafter claimed, and will become
`apparent from the following description.
`
`40
`
`Brief Description of the Drawings
`
`[0022] For a better understanding of the invention and to show how the same may be carried into effect, there will now
`be described by way of example only, specific embodiments, methods and processes according to the present invention
`with reference to the accompanying drawings in which:
`
`Figure 1 is a high-level schematic block diagram showing a computer and a tape drive;
`Figure 2 is a diagram representing the high-level logical arrangement of data comprising a CD-ROM file system;
`Figures 3a and 3b are diagrams representing the high-level logical arrangements of two exemplary DR data for-
`mats on tape;
`Figure 4 is a flow diagram illustrating the steps involved in writing a DR file system to tape media; and
`Figure 5 is a flow diagram illustrating the steps involved in setting a tape drive into 'DR Mode' and booting a com-
`puter from the tape drive.
`
`45
`
`50
`
`55
`
`Best Mode For Carrying Out the Invention, & Industrial Applicability
`
`[0023] There will now be described by way of example only the best mode contemplated by the inventors for carrying
`
`3
`
`
`
`EP 0 978 785 A1
`
`out the invention. In the following description numerous specific details are set forth in order to provide a thorough
`understanding of the present invention. It will be apparent however, to one skilled in the art, that the present invention
`may be practised without using these specific details. Also, well-known methods and structures have not been
`described in detail so as not to unnecessarily obscure the present invention.
`[0024] The present embodiment, as will be described, provides an improved tape-based backup solution, which com-
`prises an improved DR solution and modified tape drive apparatus. Significantly, the present backup solution obviates
`DR floppy disks, while maintaining the advantages thereof, but requires no changes to computer system hardware,
`BIOS (Basic Input/Output System) or operating system in order to function.
`[0025] A system according to the present embodiment will now be described.
`[0026] Figure 1 is a block diagram, which illustrates a PC 100 connected to a standard tape drive 140, which has been
`modified as will be described below. In particular, the diagram illustrates the basic components of the PC 100 and the
`tape drive 140. The PC 100 is either an MS-DOS based machine, or a Windows NT or Windows 95/98 machine; his-
`torically sometimes known as an IBM-AT compatible machine.
`[0027] The tape drive 140 is, for example, a well-known DDS (Digital Data Storage) tape drive 140, DLT (Digital Linear
`Tape media) tape drive 140 or other tape media device.
`[0028] As shown very simplistically in Figure 1, the PC 100 includes a CPU 105 (Central Processing Unit), which is
`in communication, via a system bus 110, with ROM 115 (Read Only Memory), RAM 120 (Random Access Memory)
`and an I/O (Input/Output) subsystem 125. The I/O subsystem 125 connects the PC 100 to a number of storage devices,
`namely, a hard disk drive 130, a floppy disk drive 135 and the tape drive 140; the hard disk drive 130 and floppy disk
`drive 135 are represented as internal devices of the PC 100, whereas the tape drive 140 is represented as an external
`device, in this arrangement. For simplicity only, other standard devices, such as the keyboard, mouse and VDU, are not
`illustrated.
`[0029] As also shown in Figure 1, a typical tape drive 140 includes a host interface 145 for transmitting data between
`the tape drive 140 and the PC 100. Control signals received from the PC 100 are passed to a controller 150, which con-
`trols the operation of all components of the tape drive 140. The controller 150 typically comprises a microprocessor, for
`example a Motorola 68000 series microprocessor.
`[0030] During a data backup operation, data to be backed up, which is received by the host interface 145 from the PC
`100, is passed directly to the formatter 155, which formats the data, for example by compressing the data and adding
`error correction and detection codes. The formatted data is then stored in a buffer 160, comprising, for example, a bank
`of 8 Mbytes of RAM. When appropriate, a read/write block reads the formatted data from the buffer 160 and converts
`the data into electrical signals suitable for driving magnetic read/write heads 170, which write the data to tape media
`175. The tape media 175 is mounted in a tape mechanism 180, which loads and ejects the tape media 175 and winds
`the tape media 175 forwards or backwards as required.
`[0031] For a data restore operation, data is read from the tape media 175, passes in the reverse direction through the
`tape drive 140 and back to the PC 100.
`[0032] The host interface 145, formatter 155 and read/write blocks typically each comprise one or more appropriately
`programmed application-specific integrated circuits (ASICs).
`[0033] The components of the PC 100 and tape drive 140 described above are all standard, well-known components,
`which will, thus, not be described in any more detail so as not to obscure the present invention.
`[0034] The program, or firmware 185, which controls the controller 150 in the tape drive 140, is stored in a ROM. The
`firmware 185 instructions are read by the controller 150 from the ROM and are then processed and acted on by the con-
`troller 150.
`[0035] The firmware 185 can, if required, be updated by writing a new set of instructions to the existing ROM (if the
`ROM is an EEPROM) using a firmware update process, which is well known and will, thus, not be described herein.
`Alternatively, the ROM may simply be replaced with one containing new instructions. In this way, it is a relatively simple
`process to modify the behaviour of a tape drive 140.
`[0036]
`In the present description, the PC 100 communicates with the tape drive 140 using one of the well-known
`Standard SCSI protocols, such as SCSI2. Accordingly, the I/O subsystem 125 and the host interface 145 incorporate
`appropriate respective SCSI adapters. A detailed description of the SCSI protocol will not be included herein, since it is
`well known and only peripheral to the understanding of the invention. Alternatively, other protocols such as Fibre Chan-
`nel, EISA or PCA could be used.
`[0037]
`In order for any PC 100 to function, it must follow software or hardware instructions. Typically, standard pro-
`grams that run on a PC 100 are stored on a hard disk drive 130, and are loaded into RAM 120 to be processed by the
`CPU 105 when necessary. From the RAM 120, the CPU 105 can access the instructions coded into the program and
`run them.
`[0038] On power-up, or system reset, however, the RAM 120 is empty and there are no program instructions to follow.
`Therefore, a BIOS program is provided, which is "hard-wired" into ROM 115 and is responsible for starting the PC 100.
`[0039] BIOS programs follow a uniform standard that was created, and has been developed over the years, by the
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`4
`
`
`
`EP 0 978 785 A1
`
`computer industry, so that compliant CPUs always addresses the same place in ROM to find the start of a BIOS pro-
`gram. A CPU retrieves and begins executing its initial instructions from this ROM location.
`[0040] Once initiated, the BIOS program begins the system boot sequence, which calls other programs, gets the oper-
`ating system loaded, and prepares the PC 100 for normal use.
`[0041] BIOS programs for PCs are specific to each different PC hardware platform, but provide the same, standard
`interface to higher level operating systems and application software. Thus, a single operating system or application soft-
`ware package is able to run on many different hardware platforms, as long as the BIOS is standard.
`[0042] One of the first tasks of a boot sequence is a power-on self-test (POST). After the POST, the PC 100, underthe
`control of the BIOS program, initialises boot devices such as the keyboard and VDU (both not shown). One or more of
`these boot devices may have its own specific BIOS program, which is located and initialised by the main BIOS program.
`Typically, video drivers and SCSI adapters have their own BIOS programs held in ROM on their respective interface
`cards. Next, the BIOS program will cause the PC 100 to check the system's logical devices, such as LPT1 and COM1,
`and memory configuration. Eventually, the BIOS program causes the PC 100 to check for an initial program load device
`(IPLD) from which to load and execute 'bootable' data.
`[0043]
`'Bootable' data normally comprises an operating system and resides at a specific location on the hard disk
`drive 130, which is usually allocated with the drive letter "C:". Thus, normally, the PC's operating system is booted from
`the hard disk drive 130.
`[0044] However, BIOS programs generally define that a floppy disk drive 135, allocated with the drive letter "A:", is
`accessed, before the hard disc drive 130, to see if it contains a bootable floppy disk. In this way, it is possible to boot
`the PC 100 from a floppy disk irrespective of whether the hard disk drive 130 contains bootable data. This is the main
`reason why DR floppy disks are the standard means for beginning a DR procedure.
`[0045] Modern BIOS program standards also provide support for booting a PC from a CD-ROM drive (for more infor-
`mation on Bootable CD-ROM drives, see for example the "El Torito - Bootable CD-ROM drive Format Specification",
`Version 1.0, January 35, 1995, created jointly by IBM Corporation and Phoenix Technologies Ltd.). It would, therefore,
`be possible to generate DR CD-ROM media instead of, or as well as, DR floppy disks. However, there would be little
`advantage in adopting this approach, and a cost increase.
`[0046] Currently, PC BIOS standards specify booting from floppy disk, hard disk or CD-ROM devices, although, the
`standards do allow for remote booting across networks, for example using Plug and Play functionality (for reference,
`see for example the "Plug and Play BIOS Specification", Version 1.0A, by Compaq Computer Corporation, Phoenix and
`Intel Corporation). For a detailed description of a current BIOS standard, see for example "BIOS Boot Specification",
`Version 1.01, January 11, 1996, by Compaq, Phoenix and Intel.
`[0047]
`In the light of current BIOS standards and of the difficulties perceived by the present inventors in creating and
`maintaining up-to-date DR floppy disks, the present inventors have developed an improved backup solution, which facil-
`itates DR using only appropriate backup application software, a tape drive and a recent backup of PC data held on tape
`media; and, significantly, there is no need for DR floppy disks. Significantly also, the solution described herein requires
`no changes to be made to PC hardware, BIOS or operating system in order to function. These features are believed by
`the present inventors to represent significant advantages over known backup solutions.
`[0048]
`In accordance with the present embodiment, the firmware 185 in the tape drive 140 is modified to provide both
`a 'Normal Mode' of operation, in which the tape drive 140 behaves as a tape drive 140, and a 'DR Mode' of operation,
`in which the tape drive 140, in effect, includes the ability to emulate a CD-ROM drive. The CD-ROM drive emulation is
`achieved in part by configuring the tape drive 140 to identify itself to the PC 100 as a CD-ROM drive and also by mod-
`ifying the SCSI command set in the tape drive 140 to emulate the SCSI command set of a CD-ROM drive. With the abil-
`ity to emulate a CD-ROM drive, the tape drive 140 can act as an IPLD, without the need to modify existing PC BIOS
`standards, PC hardware or PC operating systems.
`[0049] Whether the tape drive 140 operates in Normal Mode or DR Mode in the present embodiment is determined
`by user selection. The user selection of mode is performed without the need for any additional tape drive hardware, by
`using the tape drive Eject button; if the tape drive 140 is powered on with the Eject button held down, the DR Mode of
`operation is selected, otherwise the Normal Mode is selected. This selection function is achieved by modifying the tape
`drive's firmware 185 to check the status of the Eject button during a power-on self-tests sequence. Alternatively, DR
`Mode could be selected by holding the Eject button down for a long time period (such as five seconds), when the tape
`drive 140 is already powered on, and the firmware 185 would be modified to check the length of the period the Eject
`button is held down to determine whether the operation is an eject or the user selecting DR Mode. Various other means
`for selecting mode could be employed, for example by providing a specific DR button or switch on the tape drive 140.
`However, the present implementation has the benefit of not requiring any physical modification to the tape drive 140.
`[0050] While in DR Mode, the tape drive 140 is configured to disable support for SCSI Disconnect/Reconnect opera-
`tions, and it also disables any operations (e.g. pause mode) that cause the tape media 175 to be semi-loaded after a
`period of inactivity.
`[0051] The new or modified commands required for DR Mode will now be described.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`5
`
`
`
`TEST UNIT READY
`
`EP 0 978 785 A1
`
`5
`
`10
`
`15
`
`[0052]
`This command uses the same SCSI CDB (Command Data Block) as in normal tape drive 140 mode and
`behaves in a similar way, the difference being that a received Test Unit Ready during "DR Mode" initialisation should
`report NOT READY with "device not ready, coming ready" (sense key 2, extended sense 0401).
`
`INQUIRY
`
`[0053]
`In DR Mode, this command uses the same CDB as in normal tape drive 140 mode and behaves in a similar
`way, the difference being that the Peripheral Device Type bits in all of the supported Inquiry Data Pages are different.
`The Peripheral Device Type is set by Byte 0, Bits 0-4 of each Inquiry Data Page, and is changed from 1 (tape media
`device type) to 4 (CD-ROM media device type).
`[0054] This command is used by the BIOS during the boot sequence to determine which devices are bootable (hard
`disk or CD-ROM types) and thus to check whether they contain bootable media. The command is also used during the
`boot sequence, when the DR operating system is running, since it uses Inquiry data to determine which device driver
`types to load for each device to make them accessible.
`
`START/STOP UNIT
`
`20
`
`[0055] This command uses a similar CDB as the LOAD/UNLOAD command, except that the Load bit is ignored and
`the command always returns "GOOD" status.
`
`MODE SENSE/SELECT
`
`[0056]
`These commands are generally used for reading or setting any configuration options in a SCSI device via
`Mode Sense pages (each page represents a specific type of configuration data/options). In the present case, a new
`Mode Sense page is needed to control the operating mode of the device, to allow switching between Normal Mode and
`DR Mode, and vice-versa. This allows the backup application software to switch the tape drive 140 from DR Mode back
`to Normal Mode when the backup application software is ready to start reading conventional backup data from the tape
`drive 140 and restoring it to the hard disk drive 130 of the PC 100.
`[0057]
`The Mode page header values for "Medium type" and "Density code" need to comply with CD-ROM media,
`used by the DR operating system to determine the type of CD-ROM media present when it is preparing to copy data
`from the CD-ROM device to continue the boot sequence.
`[0058]
`The Mode Parameter Header data that is used in Mode Sense and Mode Select commands is changed to
`include the CD-ROM device specific bits:
`
`[0059] The Mode Block Descriptor data is different from the tape drive 140 mode, only in that the Density Code byte
`is set to 0x01 and the Block Length is set to 3048 and unchangeable.
`[0060] There is also a new Mode page to toggle the DR Mode operation, as follows:
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`6
`
`
`
`EP 0 978 785 A1
`
`[0061] The 'DRmode' bit controls which mode of operation the tape drive 140 is operating in. When DRmode is set to
`zero, the tape drive 140 is switched back from DR Mode to Normal Mode. When DR Mode is set to one, the tape drive
`140 attempts to initialise DR Mode as if the user had initiated the front-panel button DR sequence and returns "GOOD"
`status on success. If there is no tape media or non-DR tape media loaded, then the command returns "CHECK CON-
`DITION" with sense key set to "Illegal Request".
`
`READ(10)/READ(6)
`
`[0062] The Read(6) command is optional on CD-ROM devices, and is not supported in DR Mode. Thus, the device
`returns CHECK CONDITION with Illegal Request (sense key 0x5) and Unsupported Command Code (extended sense
`0x2000).
`[0063] The Read(10) command reads a fixed number of blocks from a Logical Block Address value representing the
`logical read start location rather than the current physical location on the tape. The Read(10) CDB is as follows:
`
`[0064]
`The Disable Page Out (DPO) and Force Unit Access (FUA) options are not supported, since tape drive 140
`caching is mandatory (as will be described below) in this embodiment. The Logical Block Address value indicates the
`starting location of a read, relative to block zero at the beginning of the block device (i.e. the emulated CD-ROM media).
`The Transfer Length indicates the number of blocks to be read from the tape drive 140 and transferred back to the tape
`drive 140.
`
`SEEK
`
`[0065]
`In DR Mode, this command moves the logical position of the tape drive 140 to another block location (obviously
`this command is only normally valid in random access devices such as hard disk drives and CD-ROM drives). The new
`CDB is:
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`[0066] This allows the PC 100 to provide advance notification that particular data may be requested in a subsequent
`command. No further action is taken for this command, and "GOOD STATUS" is always returned while in DR Mode.
`
`55
`
`READ CAPACITY
`
`[0067]
`This command obtains the number of logical blocks contained in the media and the size of each block. The
`new CDB is:
`
`7
`
`
`
`EP 0 978 785 A1
`
`[0068] The RelAdr, Logical Block Address and PMI fields only support zero values. Any non-zero values are ignored.
`[0069]
`The following READ CAPACITY data should be returned, representing the maximum number of 2048 byte
`blocks:
`
`5
`
`10
`
`15
`
`20
`
`25
`
`READ TOC
`
`30
`
`[0070] This command provides a means to obtain from a table of contents (TOC) the number of tracks and their loca-
`tions. The new CDB is:
`
`35
`
`40
`
`45
`
`50
`
`55
`
`[0071]
`The MSF and Format fields only support values of zero, and any non-zero values used will return "CHECK
`CONDITION" with sense key set to "Illegal Request" and extended sense set to "Illegal Parameter in CDB".
`[0072] The Track/Session Number field specifies the starting track number for which the data shall be returned. Since
`there is only one track possible on data CD-ROM media, any value other than zero or one will return "CHECK CONDI-
`TION" with sense key set to "Illegal Request" and extended sense set to "Illegal Parameter in CDB".
`[0073] The command returns a TOC response data block, as shown below. This contains four header bytes and then
`descriptor blocks for track 0x1 (data track) and track 0xAA (lead-out area). The values in the response data block are
`fixed:
`
`8
`
`
`
`EP 0 978 785 A1
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`[0074] Once the firmware 185 in the tape drive 140 has been configured to provide the two modes of operation - Nor-
`mal Mode and DR Mode, including CD-ROM drive emulation - it is necessary to provide a bootable CD-ROM image on
`the tape media 175, for the tape drive 140 to use during DR.
`[0075]
`In accordance with the present embodiment, a bootable CD-ROM image is stored in a pre-defined location on
`the tape media 175. The CD-ROM image contains an entry that identifies the image as being 'bootable'. The image
`itself is generated by the backup application software that originally created the backup tape media 175, as will be
`described in more detail below.
`[0076] Figure 2 illustrates the format of a bootable CD-ROM image 200 according to the El Torito specification. In par-
`ticular, as shown in the table below, a Boot Record Volume 210 includes, in byte offset 7-26, the text "EL TORITO
`SPECIFICATION" padded with zeros. As will be described, it is this part of the CD-ROM image that, when encountered,
`indicates to the tape drive 140 and PC 100 that the media is DR media according to the present embodiment.
`
`Offset
`
`Type
`
`Description
`
`0
`
`1-5
`
`6
`
`7-26
`
`27-46
`
`47-4A
`
`Byte
`
`Byte
`
`Byte
`
`Byte
`
`Byte
`
`Boot Record Indicator, must be 0
`
`ISO-9660 Identifier, must be "CD001"
`
`Version of this descriptor, must be 1
`
`Boot System Identifier, must be "EL TORITO SPECIFICATION" padded with 0's.
`
`Unused, must be 0
`
`Dword
`
`Absolute pointer to first sector of Boot Catalogue
`
`4A-7FF
`
`Byte
`
`Unused, must be 0
`
`[0077] The backup application software is configured to automatically add the CD-ROM image onto the tape media
`175 each time a backup operation that overwrites the media is enacted, if the tape drive 140 is DR capable. One
`method of achieving this is by writing the CD-ROM image to the tape media 175 in the specified location as part of a
`standard tape format operation (which is performed each time a backup that overwrites the media is done).
`[0078] Additionally, it is believed to be advantageous for the backup application software to provide a user option to
`add the CD-ROM image, even when the tape drive 140 is not DR capable, so that the resulting tape media 175 could
`still be used in a DR-capable drive. One method for the backup application software to detect the DR capability of a tape
`drive 140 is to check for the presence of the new SCSI Mode page for DR control, which is described above.
`[0079] The CD-ROM image reflects the current PC configuration in terms of installed hardware devices, for example
`SCSI HBA. In other words, the equivalent of an up-to-date set of DR floppy disks is created automatically each time the
`
`9
`
`
`
`EP 0 978 785 A1
`
`PC 100 is backed up, which may be as frequently as on a daily basis. Therefore, the chance of there only being in exist-
`ence out of date DR media is greatly reduced.
`[0080]
`The specific contents of the CD-ROM image are defined by the backup application software and, generally,
`contain whatever the application would normally have written to a DR floppy disk set. This typically consists of an image
`of the operating system, which, when executed, can control the PC 100, along with a sub-set of the backup application
`software that, specifically, can perform DR operations. Generally, also, the CD-ROM image complies with the following
`rules:
`
`the CD-ROM image must be the same as a bootable CD-ROM image, so that if the image was copied onto physical
`CD-ROM media it could be still be booted on a system; and
`
`the CD-ROM image structure must comply with the ISO-9660 CD-ROM file system format and the El-Torito boota-
`ble CD-ROM specification.
`
`[0081] The diagram in Figure 3a illustrates one possible location for a CD-ROM image 305 at the beginning of a length
`300 of tape media 175. The CD-ROM image 305 is followed by two filem