SCSI Commands
Page
73
READ
The READ command transfers one or more bytes or blocks from the drive to the
Initiator beginning with the next block on tape.
If the Fixed flag is clear and Transfer Length is not zero, then a single block of the
length in Transfer Length is transferred. If the next block on tape is of this length or
shorter then it is transferred to the initiator. If the next block is longer than this length,
then only the length requested is returned and the logical position is set to after the
record. If the length of the block was the same as the Transfer Length field, then
good status is returned. If the length of the block was not the same as in Transfer
Length and the Suppress Illegal Length Indicator (SILI) flag was clear, then Check
Condition Status is returned. If the length of the block was not the same as in
Transfer Length and the Suppress Illegal Length Indicator (SILI) flag was set, then
Good status is returned.
If the fixed flag is set and the Transfer Length field is not zero and the Suppress
Illegal Length Indicator (SILI) flag is clear, then a sequence of blocks of the currently
configured block length is to be returned, the number of blocks being indicated in the
Transfer Length field. If there is a sequence of blocks of this length on the tape, they
are returned to the initiator with good status. If a block that is longer than the
configured length is encountered before the sequence is complete, the blocks up to
that block are returned followed by the configured length from the record that was too
long and Check Condition status. If a block that is shorter than the configured length
is encountered before the sequence is complete, the blocks up to that block are
returned followed by all of that block and Check Condition status. The current
position is set after the last block that was returned or partially returned.
If the Transfer Length field is zero and the Suppress Illegal Length Indicator and the
Fixed bit are not both set, then no action is taken.
If Suppress Illegal Length Indicator (SILI) flag is set and the Fixed bit is set, then
Check Condition status is returned. The sense key is set to Illegal Request and the
Additional Sense to Invalid Field in CDB (2400).
Command Descriptor Block
The following table shows the layout of the CDB.
Byte
Bits
7
6
5
4
3
2
1
0
0
Operation Code (08h)
1
Ignored LUN Reserved
SILI
Fixed
2
Transfer Length, MSB
3
Transfer Length
4
Transfer Length, LSB
5
Control