• Keine Ergebnisse gefunden

Limited Long Block Write

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

Segment Descriptor Format

4.28 Limited Long Block Write

This special vendor unique WRITE command is limited to a maximum block length of 16 Mbytes, and the first command of the sequence must indicate the overall block length. 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.

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, as follows:

• the Host issues the first command of the sequence with the LFG bit of the COB cleared, and the transfer length set to 1,048,576 bytes. Only 65,534 bytes will actually be transferred, however.

• on receipt, the SBI 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 with the LFG cleared, and the trans1erlength set to 65,534 bytes. As soon as the buffer is full during this sequence, the SBI 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 SBI will abort the current command sequence when the tape unit reaches physical EOT marker. If the EOT flag is set to 1, the S61 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 operational notes' below).

4 -80 SCSI User Manual 121780 (Issue 3)

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, CDS transfer, status phase etc. LONG BLOCK WRITE's are always done at low speed, giving the required data rates as shown in the next table.

Density & Speed Data Rate

800 bpi NRZ Low speed 42 ips 34 kB/s

1600 bpi PE Low speed 4?in~ .-.,...- 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 normai, and the tape ien 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

CDB/EOT state

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.

a

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

The tape write is aborted and EOM/MEDIUM ERROR set in the sense data if the physical EOT marker is encountered. The data block created is of indeterminate length, and is not a valid tape data block.

Special operational notes:

* This 'limited' version of the command has been specifically created to run on the Super SCSI version of the S81, where the board's hardware architecture requires the block length being written to be known in advance of starting the tape write. It is also available on the Standard version of the board, however, and consequently should be the command of choice, if possible, for any Host application software.

* 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 first and last in the string 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 that the 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 EOT bit is cleared on all commands; this will result in the command sequence being aborted if the physical EOT marker is detected. The host can then backspace, erase and close the tape.

* 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.

4 -82

Density

800 1600 6250

Maximum Block Length (bytes)

SCSI User Manual

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

121780 (Issue 3)

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