• Keine Ergebnisse gefunden

Unlimited Long Block Write

Im Dokument SCSI INTERFACE USER MANUAL (Seite 103-107)

Segment Descriptor Format

4.29 Unlimited Long Block Write

bit 7 6 5 4 3 2 1

o

byte

byte 0 o

o

o

o

1

o o

1

byte 1 LUN reserved

byte 2

o o o

o

o o o o

byte 3 Transfer Length (msb) byte 4 Transfer Length (lsb)

byte 5 LFG

I

EOT

I

reserved Iflag Ilink

This special vendor unique WRITE command allows any block length to be written to tape.

It is intended for use by those Hosts which cannot transfer more than 64 Kbytes per SCSI command, and hence cannot make use of the normal WRITE command's long block action. This command is not available in the Super SCSI version of the SSI.

Strictly speaking, each block of data is written to tape by a sequence of the above commands, utilising the LFG and EOT flags to control the overall action. Consider the Host writing a 1 Mbyte (1,048,576 bytes) data block:

* the Host issues the first command of the sequence with the LFG bit of the COS cleared, and the transfer length set to 65,534 (the transfer length must be set to 65,534 unless the LFG flag is set).

* on receipt, the S81 transfers the associated data into its buffer, then completes the command, going through the status/command complete/bus free sequence in the normal way.

* the Host will then issue 15 further commands (65,534 byte transfer length) with the LFG cleared. As soon as the buffer is full during this sequence, the SSI will issue a write command to the tape unit. invoke its special long block algorithm, and start writing the data to tape.

* the Host will then issue a 32-byte WRITE with the LFG flag set. Completion of this command is carried out in the normal way. but will be held off until the tape write action is complete. Any tape related error will normally be reported with a check condition on this command.

If the EOT flag is set to 0, the SSI will abort the current command sequence when the tape unit reaches the physical EOT marker. If the EOT flag is set to 1, the SSI will carry on writing through the EOT marker, and the host will not be given any indication that EOT has been reached until the command sequence is complete (see 'special notes' below).

It should be noted that tape data is transferred from the SBI to the tape unit across a synchronous interface which cannot be halted or delayed without incurring loss of data.

Consequently the Host must be capable of transferring data to the SBI at a minimum rate equivalent to the tape data rate. This is an averaged rate and must include all overheads associated with selection, COB transfer, status phase etc. The necessary minimum performance is determined by the tape unit's speed and density. LONG BLOCK WRITE's are always done at low speed, giving the required data rates shown:

Density & Speed Data Rate

800 bpi NRZ Low speed 42 ips 34 kB/s

1600 bpi PE Low speed 42 ips 67 kB/s

6250 bpi GCR Low speed 42 ips 260 kB/s

Error checking and reporting is similar to the normal WRITE command. If a tape error occurs, the error is reported as normal, and the tape left positioned in the gap following the faulty block; no automatic retrying takes place.

The following abnormal conditions can occur and will result in CHECK CONDITION being sent:

a) Tape Error

MEDIUM ERROR is set in the sense data, no re-trying takes place.

b) Data Under-run

If the host fails to keep up with the tape at any point, the tape write is aborted, and MEDIUM ERROR set with INTERNAL TARGET FAILURE additional sense set.

c) EOT or EW Encountered

COB I EOT state

4 -84

1 EOM/NO SENSE is set in the sense data if the command completes in the Early Warning area or beyond the tape's EOT marker.

o

EOMI NO SENSE is set in the sense data if the command completes in the Early Warning area.

The command sequence is aborted and EOM/NO SENSE set in the sense data if the physical EOT marker is encountered. The Information bytes are set to the number of bytes left in the buffer.

The block on tape is a good valid tape data block whose length can be calculated as:

(commands issued x 65,534) - (value in information bytes).

SCSI User Manual 121780 (Issue 3)

Special operational notes:

* LFG flag set to indicate the last command in the string.

* the LFG flag may be set on the first command, allowing block lengths less than 64K to be written.

* all commands except the last in the string (LFG set) must have a transfer length of 65,534 (or spurious data will be written at the end of each segment).

* if a CHECK CONDITION is returned for any command, the Host must assume the end of the string whether it had the LFG flag set or not.

* it is recommended tl1at tl1e host system/operator size the tape in advance according to length, density and block size in order to avoid reaching the physical EOT marker.

* it is also recommended that the EOTbit is cleared on all commands; this will result in the command sequence being.aborted.iUhe.physicaLEOT marker is reached. and ensure.tape ....

integrity. The host can then backspace/erase and close the tape, or calculate the block length actually written and close immediately.

* if the EOT bit is set, the host must maintain a log of remaining tape capacity in order to ensure tape integrity at EOT (ie avoid running off the physical end of tape), or restrict the maximum block length written to be equivalent to the Early Warning distance of 60 feet, as tabulated next.

Density

800 1600 6250

Maximum Block Length (bytes)

576,000 1,152,000 4,500,000

This page has no technical content

4 -86 SCSI User Manual 121780 (Issue 3)

Im Dokument SCSI INTERFACE USER MANUAL (Seite 103-107)