[Info-vax] Exabyte tapes to disk
glen herrmannsfeldt
gah at ugcs.caltech.edu
Wed Sep 2 13:56:55 EDT 2009
jbriggs444 <jbriggs444 at gmail.com> wrote:
(snip)
< Generally speaking, all mag tapes (except TU58 and DECtape) emulate 9
< track mag tape. The tape contents is structured as a sequence of
< blocks where each block is separated from the next by an [emulated]
< inter-record gap. In addition, at the end of a sequence of blocks
< there is a "Tape Mark" which is conventionally interpreted as "end-of-
< file". After the last file on tape, two back-to-back tape marks are
< expected. These conventionally indicate end-of-volume.
Maybe too general. There are tapes other than TU58 and DECtape
that use fixed length blocks. (Often 512 or 1024 bytes.)
Some have the ability to do random access (writes), others don't.
There were cheaper cartridge drives that connected to a floppy disk
controller, and pretty much wrote the data as a floppy disk would.
Some drives (DDS, Exabyte, LTO) have a configuration option
to read/write fixed length blocks, or more traditional variable
length.
< Tapes are written sequentially from the beginning to the end. It is
< possible to append to a tape from a starting point in the middle of
< the tape after a pre-existing block or tape mark. It is not possible
< to update a tape in the middle. An attempt to read past the block
< most recently written will traditionally result in a parity error.
Some tape systems try to be too smart. For DDS (I believe) drives,
if you start writing in the middle, the drive will refuse to let
you read anything after the final EOF. That is, even if the software
will read through parity errors and block length errors, the drive
will refuse. If the tape is long, the only solution is to start
writing, and then power down the drive before it can write an EOF
mark to the tape. You can then read through the errors and onto
the later data, if it hasn't been overwritten in the process.
Others use internal memory to store such information.
< So if you write a block in the middle of the tape, the remainder of the
< reel is rendered unreadable until overwritten. On more modern drives
< or on emulated media, attempts to read past the last block written
< often result in a fatal "position lost" diagnostic [the VMS driver
< needs accurate knowledge of its position in terms of how many tape
< marks it has passed and how many tape blocks it is past the last such
< mark. If hardware errors make this knowledge uncertain, the driver
< reports "position lost" until it is commanded to rewind and thereby
< regains its position knowledge]. Classic start/stop 9 track drives
< didn't lose position that way. Only streaming and emulated drives do.
I thought it didn't need that if mounted /FOREIGN, but I might
have forgotten.
< Short blocks (less than 14 bytes or so) are forbidden for writing and
< will not be seen when reading.
The IBM numbers were 12 and 18. I believe they would refuse to
write less than 12 bytes. You could read short blocks, but if an
error was detected in a block less than 18 bytes, it was declared
noise. If no error, it was fine. (It might be that the 12 and 18
are reversed.)
< On an ANSI labelled tape the first "file" on the tape is a series of
< 80 byte blocks. The first four characters in each block are "VOL1",
< "HDR1", "HDR2", "HDR3", etc. These are the tape labels.
Same for IBM SL (standard label) tapes, except that the labels
are in EBCDIC instead of ASCII.
(snip)
< Finally you get the double-tape marks after a set of EOF or EOV
< labels. This indicates end of volume.
There is also the complication, at least for IBM systems, of
multi volumes. That is, the data may take up more than one
tape, and the system knows how to process it, requesting the
next tape when needed.
< Back to back tape marks are permitted where an actual data file would
< have appeared. In this context the back to back tape marks do not
< indicate end-of volume.
< This ANSI labelling convention is quite similar to the EBCDIC
< labelling convention referred to as IBM Standard Labels. Key
< difference other than character set is that ANSI labels use ASCII
< printable characters (imposing a 9999 byte length limit in some
< cases). IBM labels use binary data in a few places, e.g. in record
< and block length fields.
I had forgotten about the binary data. I do remember that you
can write VOL1 followed by the tape volume (six character) name
in EBCDIC in an 80 byte block, and the system will accept it.
(Sometimes easier than the official tape label process.)
-- glen
More information about the Info-vax
mailing list