Section 4.7

Magnetic Tape Decks

4.7.1  General

One inch tape is used.  There are 16 tracks across the width, 12 being used for information.  Maximum length for a tape is 3,600 ft.  Tapes move at 120 ins/sec.  Time taken to run through a reel of 3,600 ft. at full speed is 6 minutes and rewinding tapes 3 minutes.

Ampex TM2 decks read and write tapes in low density and are available on both Orion 1 and Orion 2.

Potter MT120 decks read and write tapes in low density and are available on Orion 2 only.

Potter MT 120X decks read and write tapes in both high and low density and are available on Orion 2 only.

Density.

Low density.  Packing density is 375 bits per inch along the tape (instantaneous transfer rate of 90 K c/s).  Long gap is 1.6 ins and short gap 1.2 ins. approx.

High density.  Packing density is 833 bits per inch along the tape (instantaneous transfer rate of 200 K c/s).  Long gap is 1.6 ins and short gap 0.5 ins. approx.

Orion 1

Up to 9 Ampex TM2 decks can be fitted associated with 1 or 2 control units.  An exchange allows a path between any deck and any control unit.

Orion 2

For High System
The exchange system allows for interconnection between the Potter MT120X decks and the tape control units.  Each exchange rack can make the connections between any of a group of up to 10 decks, and up to two tape control units.  A second exchange may also be connected to the pair of tape control units and then up to 10 more decks can be fitted.

For Low System
Up to 20 Ampex TM2 or Potter MT120 decks can be fitted to a pair of control units and up to 3 pairs of control units can be fitted.

 

4.7.2          Layout of Information

There are sixteen tracks across the width of the tape which are used as follows:-

1

Block markers

2 - 4

Information

5

Clock for 2 - 8

6 - 8

Information

9 -11

Information

12

Clock for 9 - 15

13 - 15

Information

16

Spare

Each computer word is written as four 12-bit stripes with the most significant part of the word first.  The check-sum is a 24-bit, end-around-carry sum of the information in the block and is written at the end of the block as two extra stripes.

At each end of each block, separated by a small distance from the information, there is a block marker which consists of 12 one bits in the block marker track, which is otherwise clear.

Each block of information on a reel of magnetic tape has a block address, or serial number, which is written in the information tracks opposite the leading block marker.  It is written automatically at the time the rest of the block is written.

When a 140/142 compound instruction reading or writing on a magnetic tape deck is obeyed, the bottom 7 bits of the k-bits of the deck specify a core store register called the Block Address Register (this is in the region 64 onwards).  If the transfer is forwards, the top half of this register is copied to the bottom half and one is added to the top half.  If the transfer is backwards, one is subtracted from the top half and this is then copied to the bottom half.  In either case, the bottom half contains the block address of the block being operated upon, and the top half the address of the next block forwards after the transfer is completed.

Block 0

At the front of the tape is the leader block known as Block 0.  What is logically Block 0 consists of 3 physical blocks.  Block 0 is always written in low density both on low and high density installations.  On an Ampex deck, Block 0 is written about 20 feet from the buckle.  On a Potter deck about 15 feet are required for threading and loading purposes and Block 0 will be about 5 feet from the reflective sticker.

  1. Firstly, here is a one word block with Block Address 8189 (sometimes known as Block -2).  The word is positive and contains the serial-number of the tape in the bottom half.  The nominal length of the tape in hundreds of feet is stored in D18 to D23 of this word.
  2. Then follows a 10-word block with Block Address 8190 (sometimes known as Block -1).  The first word contains the date in D1 to D23, the write permit bit (D0) and the date control bit (D24).  D25 is the TB (tape bit) and is 0 if the rest of the information on the tape is in low density and is 1 if in high density (see 4.7.3).  D33 to D47 give the number of pre-addressed blocks, usually zero.  The second to ninth words are the document name of the tape.  The 150/41 etc. is used to give OMP information for these nine words.  The last word contains the "position" of the last written non-sequential block in the modifier half.
  3. Following the above block after a short gap is a one word block containing zero of Block Address 0.  This block can be read but not re-written by object programs.

Non-sequential Block

At the end of the tape, there should be a non-sequentially addressed block which is used as an end of tape marker.  The 150/43 instruction (see 5.3.43) causes a non-sequential block to be written.  OMP writes such a block if the physical end of tape is encountered during writing (see 4.7.6.3.1).  This non-sequential block is a one word block, containing zero and the address is 8191 unless that would be sequential when 8190 is used instead.

 

4.7.3  High Density Installations - Orion 2

The high density tape system on Orion 2 is capable of both reading and writing high density tapes (833 bits per inch i.e. 200 K c/s) and low density tapes (90 K c/s).

Reading

When a reading transfer is initiated the density of the tape is recognised by the hardware and the transfer proceeds as expected.

Writing

When a writing transfer is initiated, the extracode uses a bit (the ECB extracode bit) which is set by OMP to decide whether to write in high or low density.  (0 for low, 1 for high.)

It is assumed that a job will normally write tapes in high density, and no changes to existing jobs are necessary.  It is possible that because of a stand-by arrangement with a low density installation a job will want to treat the high density installation as if it were low, i.e. with no changes to existing jobs, tapes are written in low density.  An ENGINEER (see 5.7.4.9) bit (7th from l.s. end) is looked at when a job is accepted and the job classed as a high or low job.  When this bit is 0 the job is classed as high; D51 of Word 5 of the job's directory is the H bit of the job and is 1 for a high job.  (If the ENG bit is 1 then the job is low and D31 is 0.)  The ACCD message is followed by vertical bar and then H or L to indicate high or low job.  DIRENT prints H if the job is high only.  The H bit remains unchanged throughout the run of the job.

It is possible that a high job will require to write a tape in low density.  This is done by writing a 150/41 or 150/44 instruction and setting D25 in word 0 in the core to 1 - this is known as the CB (core bit).

In Block 0, D25 of word 0 is known as the TB (tape bit) and this bit is 1 if the information on the rest of the tape is high density or was produced by a high job etc., and is 0 if in low.  Block 0 printing (see 5.3.41 and 5.8.4.2) and from PER directive (see 5.7.4.7) will print an H (after the Date) when TB is 1.

In some cases a tape will not be allocated, e.g. if on a low density installation Block 0 information is such that TB is high, and date not reached or writing inhibited, (i.e. the information is needed) then the tape will not be given to a job.

When a tape is reserved for a job, then the ECB and TB are set as follows:

  1. deck not isolated and date reached, (i.e. tape to be over-written) then EOB is set as H bit of program and the TB (bit on the tape) set as H bit of program.
  2. deck isolated, or date not reached (i.e. information on tape is needed) then

        (a)   if the job is high, ECB is set as TB now on the tape and TB left unaltered,

        (b)   if the job is low, ECB is set as low whatever TB is and TB left unaltered.

Now if a 150/41 or 44 is obeyed then

  1. if the job is high - D25 of Word 0 in the Core (CB) is inverted and ECB is re-set to this and the new ECB bit ORed into the TB, giving a new setting of TB.  (Thus if D25 = 0 ECB will be 1, whereas if D25 = 1 then ECB will be 0, i.e. write in low.)
  2. if the job is low, then ECB and TB will be left unaltered whatever D25 is.

Note that on a low density installation (machine) TB will be set low (i.e. = 0) whatever D25 in the core is.

If a 150/40 is obeyed on a high density installation then TB will be inverted, so that D25 in Word 0 in the core will be 0 for high and 1 for low density.

Note that on a low density installation, 150/40 will produce 0 in D25 of Word 0 in the core, whatever the TB bit is.

Block 0 is always written in low density whether written on a low or high installation.

 

4.7.5          Checking

The following checks are performed on the accuracy of tape transfers.

(a)    During reading:
A 24 bit check sum is formed, with end-around-carry from the information read off the tape and is compared with that on the tape.
The information read must be preceded and followed by a block marker.
The block address is checked.

(b)    During writing:
All the above checks are performed and in addition the check sum on tape is compared with that which was written.  When reading back during a writing transfer the sensitivity and performance of the reading circuits are deliberately reduced.  If the checks are satisfied with this reduced performance, there should be no failure due to misreading during a normal “read” operation with the circuits returned to full performance.

Failure of any of these checks causes a failure interruption of the computer.  This can also happen due to a transfer finishing with one sensing post already on the conducting trailer or at the end of a rewind and when the engage button on the deck is pressed.

4.7.6  OMP action on magnetic tape interrupts

4.7.6.1          ENGAGE Button

Pressing the engage button on a deck causes an interruption and hence entry into OMP.

(i)       Idle Tape Deck

In this case OMP looks for and reads Block 0 (see 4.7.2). If Block 0 is correct, then the information in it is stored on to OMP's drum working space, and any job which is halted awaiting document is switched on; the job requesting this document (or scratch tape) can then be allocated this deck.  The tape is in the load position (i.e. engaged and ready to read Block 1 forwards).

If Block 0 read is not of the expected layout, then a message is output to the Flexowriter, e.g.

ORION            MTB            NONSTAND TAPE

If no Block can be found, then the message is

ORION            MTC            NEW            TAPE

In either case the operator must type either SERIALNO directive (see 5.7.4.6 and 4.7.6.2.1.3) or the UNLOAD directive (see 5.7.4.3 and 4.7.6.2.1.5).

If a peripheral incident occurs while OMP is reading Block 0, the tape is rewound and the reading of Block 0 repeated.

(ii)       Allocated Deck

If the engage button is pressed on a deck which has been allocated to a job then this is treated as the peripheral incident DECK FAIL (see 5.5 and 4.7.6.2.2).

 

4.7.6.2  Deck Interrupt

4.7.6.2.1  End of Rewind

Rewind causes an interruption.  OMP then carries out several operations which are sub-divided as follows.

4.7.6.2.1.1  Block 0 to be written

If since Block 0 was last written, information is given to OMP asking it to re-write Block 0, it stores this on the drum and sets a to be written marker.  When the tape has been rewound, OMP looks at this marker and then writes this information on the tape and then clears the marker.  Such information for example may be given with a 150/41 instruction (Re-Write Block 0) or a 150/43 instruction (the position of the last written non-sequential block is stored in Block 0) or if during a writing transfer, the first sensing post is encountered OMP writes a non-sequential block, or from SERIALNO, VOIDDATE directives.  When Block 0 is actually written onto the tape, a message is printed on the Flexowriter.

MTg     serial number (Date)            (NSn)            (PAm)            (Ll)       (document name)

The printing of the items in brackets is optional; only those which have been changed, since Block 0 was last written are printed (see 5.3.41).

If the deck is isolated when OMP attempts to re-write Block 0, here OMP disengages the deck and asks the operator to permit writing e.g

MTA            PERMIT            WRITING

When this is done and the deck engaged the re-writing of Block 0 is done.

If a peripheral incident occurs then the tape is rewound and the writing attempted again.

In general, rewind is initiated as part of the terminating action after a deck has been relinquished (i.e. this rewind is for an idle deck) and in general the action then is to completely rewind the tape, disengage the deck and ask the operator to unload the deck (see 4.7.6.2.1.5).

4.7.6.2.1.2

An object program may obey 140/142 Mode 14 instruction-pair to rewind the tape.  This causes an interruption which is correctly interpreted by OMP.  In this case the deck is allocated to the job and so OMP having re-written Block 0 if necessary, then positions the tape ready to read Block 1 forwards (i.e. in the load position) the program having continued.

4.7.6.2.1.3

After a SERIALNO directive (see 5.7.4.6) the tape is erased forward and Block 0 as described in 4.7.2 is written with the name block of all 1's.  The tape name stored on the drum is set to be all zeros and the "to be written" marker is set and the tape rewound, so this Block 0 is written and then the tape is left in a load position so that a job requesting a scratch tape can be allocated this deck.

4.7.6.2.1.4

Peripheral incidents while reading or writing Block 0 cause OMP to repeat the operation which was being attempted.

4.7.6.2.1.5

In general, at the end of rewind on an idle deck, having written Block 0 if necessary, OMP asks the operator to unload the tape.  The tape is rewound, the deck disengaged and a message printed on the Flexowriter e.g.

ORION            MTg            UNLOAD       Serial-number ERn

ERn is printed if the number of errors (eg reading and writing failures) that have occurred since the tape was last loaded, is non-zero.

4.7.6.2.1.6

If the deck is isolated when OMP actually tries to write Block 0, the permit writing message is output (see 4.7.6.2.1.1).

4.7.6.2.2  Other Deck Interrupts

These can occur for example as a result of a failure of the Servos or due to manual intervention (ie. switching deck to standby or opening the door).  These, if the transfer is abandoned, produce DECK FAIL action (see 5.5 and 5.5.4).

 

4.7.6.3  First Sensing Post

When a transfer to or from a magnetic tape ends with either conducting end on the first sensing post an interrupt occurs.

4.7.6.3.1  Writing

The transfer is writing information to the tape when the first sensing post comes up.  The writing of the block is completed and if successful, OMP then writes the non-sequential block and then reads backwards over the non-sequential block.  The message may be printed on the Flexowriter eg.

Jobname            MTC            END OF TAPE

If no restart for Code 5 (see 5.5 and 5.5.4) has been specified, then OMP suspends the job and SUSPD is printed between the geographical name and the incident message.

4.7.6.3.2  Failure on Writing Last Block

In this case if the writing of the last block fails (e.g there is a checksum failure) then in this case OMP overwrites the incorrectly written last block with the non-sequential block and reads backwards over this block.  If a Code 6 restart has been specified it is entered, otherwise the job is suspended.  The message on the Flexowriter in this case is

Jobname            MTB            LAST FAIL

The restart if any will be responsible for writing the block of information not on the tape onto the next reel of tape.

4.7.6.3.3  Reading

The transfer is reading information when the first sensing post comes up.  In this case no action takes place and the block is read.  The next block will be the non-sequential block - if this is read then end of tape incident action will occur (see 4.7.6.4.2 (ii))

 

4.7.6.4  Block Address Failure

4.7.6.4.1  Writing

When writing information, the block address is automatically written which is checked by the read heads.  Block address failures when writing are treated as writing check failures (see 4.7.6.6.2).  OMP may repeat the transfer several times.

4.7.6.4.2  Reading

When reading information, the block addresses are checked for being in sequential order.  If not there is an interruption.  Block address failures, unless "end of tape" are treated as reading failures.

(i)         Trying to read "Block -1"  (end of tape marker)

            A program is allowed to read the one word block whose block address is 0.  Another backwards read will cause a failure which OMP recognises as END OF TAPE incident.  The tape is rewound and moved forward to the load position and the program's Code 5 restart, if any, is entered, otherwise the job is suspended.

(ii)        Trying to read the Non-Sequential Block (end of tape marker)

            In Block 0 is recorded the position of the last written non-sequential block.  If the block address failure is because this block is being read forwards, OMP reads this block backwards checking that its block address is 8191 (or 8190 as appropriate).  If so the Block Address Register is reset to its correct value (see 4.7.2 and 5.3.42) and END OF TAPE incident recognised.  The program's Code 5 restart, if any is entered.  If on reading backwards there is a block address failure (i.e. this is not the non-sequential block) then the original read is repeated.

            If the programmer has specified a Code 8 (first fail) restart, OMP enters it (see 4.7.6.6.1).

(iii)       If no Code 8 has been specified;  OMP then tries to read this block successfully, treating it as a read fail (see 4.7.6.6.3) and tries to position the tape correctly.  If the tape cannot be positioned correctly for example, etc. then DECK FAIL incident is given.

 

4.7.6.5  Wrong Mode Writing

4.7.6.5.1  Trying to Write after Reading backwards

A 140/142 attempting this operation is illegal but OMP interprets this and carries out this for the object programmer (i.e. OMP reads backwards over the next block, then reads this block forwards and then writes).  No message is printed and if a Code 4 restart has been specified, it will never be entered.

If the writing instruction is after reading block 0 backwards, then the tape is rewound and then moved forwards to the load position and END OF TAPE incident action occurs.

4.7.6.5.2

Attempting to write on an isolated deck can occur as a result of a 140/142 pair in which case 1 is subtracted from the top half of the Block Address Register, or as a result of a 150/41, 150/44 or 150/43 instruction.  If a Code 3 restart has been specified, it is entered otherwise the job is suspended.  The message on the Flexowriter is

Jobname            MTX            WRITE INHIBIT

 

4.7.6.6  Checksum Failures

Any checksum failure or block address failure not covered by 4.7.6.4 is considered to be due to a tape imperfection and will cause 1 to be added to the error count which is output when the tape is unloaded.

4.7.6.6.1  First Fail (Code 8)

If the program which initiated the transfer has set a restart for Code 8 (first fail) then OMP will enter it.  The tape is not re-positioned.  The message on the Flexowriter is

Jobname            MTX            FAIL

4.7.6.6.2  Writing

If no Code 8 restart has been specified then any checksum or block address failure causes OMP to try to write the block further along the tape, erasing the incorrect block(s), unless the tape is at this point pre-addressed in which case the writing takes place on the same part of the tape.  OMP attempts the re-writing 6 times and on the 6th failure the program's Code 2 restart is entered, otherwise the original transfer is repeated and the job suspended.  The message on the Flexowriter is

Jobname            MTX            WRITE FAIL

4.7.6.6.3.  Reading

If no Code 8 has been specified, then any checksum failures or block address failures other than those described in 4.7.6.4.2. cause OMP to read the block in the opposite direction.  The number of failures of the transfer is then counted and on the 6th failure the program's Code 1 restart is entered with the tape repositioned ready to read the failing block, otherwise the original transfer is repeated and the job suspended.  The message on the Flexowriter is

Jobname            MTX            READ FAIL

Note that if the tape cannot be re-positioned or for other reasons the failure is not the above, then DECK FAIL incident occurs.

 

4.7.7  The deck and operation

On the Ampex TM2 tape transport the two spools are placed one above the other, the lower one being the take-up spool.  The read and write heads, which are 0.39 inches apart, are in between the spools, as are the drive capstans.  On either side are the boxes for holding loops of tape.  Next to each spool there is a guide post for the tape which is made of two pieces of metal which can be connected electrically by a conducting section of tape spliced at either end.  The upper of these two sensing posts also has a clamp which can hold the tape in position.  When the tape is in the "rewind" position the upper spool is full and a short conducting leader spliced to the tape ends in a buckle just above the clamping post.  The lower spool has a long conducting leader attached to it which threads the mechanism and buckles to the tape on the upper spool.

When a tape has to be loaded, onto a deck the procedure is as follows:

(1)        Open the door - this will automatically disengage the deck.

(2)        Clamp the tape at the upper clamping post.

(3)        Unbuckle the top spool from the leader and remove it.

(4)        Place new reel on the top position and buckle it to the leader.

(5)        Unclamp the tape and close the door.

(6)        Press the engage button, causing a Monitor Routine Interruption.

 

4.7.9  Programming techniques

Since the magnetic tape is not preaddressed, when a writing operation is performed, the writing takes place on the following part of the tape without reference to proceeding operations or to what is already on the tape where the writing is to take place.  Thus, since the block being written may be of different length to that which it is overwriting, a partially erased block can be left on the tape after the block just written.  This can happen even when the blocks are of the same number of words due to variations in the speed of the tape, so that apart from the use of preaddressed tapes (see below) each writing operation must be regarded as destroying everything on the tape beyond the point at which the writing is done.

When a read backwards operation is finished the tape stops in such a position that the writing head is somewhere in the middle of the block just read, so that a writing operation would leave the beginning of that block unerased.

Because the above considerations magnetic tape programs should be written to operate on tape in one of the modes described below.

(a) "File Updating" Mode

In this mode of operation no attempt at overwriting can be made and the write-short-gap mode can be used throughout.  A tape used in this way is written only once and then can be read as often as required, usually with the deck isolated.  Alterations to the information are done by copying it on to a new tape, incorporating any amendments.  This will be the most common method of using tape, particularly in file updating where it is important to keep the input copy unaltered.

(b) "Expanding file" Mode

In this mode of operation a tape may be rewritten from a certain point onwards thus preserving all information before this.  When first writing such a tape the write-long-gap mode should be used at any point from which overwriting may subsequently take place.  The most usual application of this technique involves two decks which between them contain one file of information which is usually of fixed length blocks.  The first part of the information is stored in sequence on one tape and the rest is stored in inverse sequence on the other, the whole file being processed by reading backwards on one tape and writing on the other doing any alterations, insertions or deletions as required.

(c) "Pseudo-Pre-Addressed" Tape Mode

In this mode of operation overwriting of individual blocks in the tape can be done but only tapes prepared by a special program, ORION/SYSTEM/PREADD can be used.  Also all operations on the tape should performed by the appropriate Library Subroutine for using these tapes.