The VAX is running

Chuck Guzis cclist at sydex.com
Mon Apr 6 12:34:35 CDT 2009


On 6 Apr 2009 at 10:04, Roger Holmes wrote:

> At the physical level, what really defines a block is that between 
> blocks there are inter block gaps which gives the tape drive time to 
> stop. If the CPU writes one block and then does calculations or (on a 
> machine with a multi tasking OS), runs someone else's job, the drive 
> must stop and wait for the next block to be written. Similarly on 
> reading, but because the drive does not know what will happen on 
> reading, then it has to provide inter-block gaps even when two block 
> writes follow on immediately from each other.

Another way to think of it is that a block is to a tape what a sector 
is to a disk.  You can't read or write less than that unit. Unlike 
most disks, there is no requirement for blocks on a tape to be the 
same length--and there is an extra type of block, the tapemark that 
allows for high-speed positioning between sections of tape.

Another aspect of tape operation is that a drive must get a running 
start at reading or writing, which is where the gap/IRG comes in 
(which is why you want to minimize the need for a tape to stop 
motion).  Streamers, (e.g. Cipher)  when stopped back up quite a 
distance before beginning a read or write.  Vacuum-column tape drives 
generally accelerate the tape quickly enough within the space of the 
gap. 

I don't know if it's true anymore, but in the EDP world, knowing how 
to do an efficient external sort on tape (cf:  oscillating merge, 
polyphase merge, cascade merge, balanced merge) used to be a 
requirement for a programmer.  Now, it's probably a lost art. 

--Chuck







More information about the cctalk mailing list