User Manual

SCSI Commands Reference Manual, Rev. J 147
www.seagate.com Direct Access Block commands (SPC-5 and SBC-4)
3.20.6 Echo buffer mode (0Ah)
In this mode the device server transfers data to the application client from the echo buffer that was written by the most recent
WRITE BUFFER command with the mode field set to echo buffer received on the same I_T nexus. The READ BUFFER command
shall return the same number of bytes of data as received in the prior WRITE BUFFER command with the mode field set to echo
buffer, limited by the allocation length. The BUFFER ID and BUFFER OFFSET fields are ignored in this mode.
If no WRITE BUFFER command with the mode set to echo buffer received on this I_T nexus has completed without an error, then
the READ BUFFER command shall terminate with CHECK CONDITION status, with the sense key set to ILLEGAL REQUEST, and the
additional sense code set to COMMAND SEQUENCE ERROR. If the data in the echo buffer has been overwritten by another I_T
nexus, the READ BUFFER command shall be terminated with CHECK CONDITION status, with the sense key set to ABORTED
COMMAND, and the additional sense code set to ECHO BUFFER OVERWRITTEN.
After a WRITE BUFFER command with the mode set to echo buffer has completed without an error, the application client may
send multiple READ BUFFER commands with the mode set to echo buffer in order to read the echo buffer data multiple times.
3.20.7 Echo buffer descriptor mode (0Bh)
In this mode, a maximum of four bytes of READ BUFFER descriptor information is returned. The device server shall return the
descriptor information for the echo buffer. If there is no echo buffer implemented, the device server shall return all zeros in the
READ BUFFER descriptor. The BUFFER ID field and
BUFFER OFFSET field are reserved in this mode. The allocation length should be
set to four or greater. The READ BUFFER descriptor is defined as shown in table 108.
BUFFER CAPACITY field
The BUFFER CAPACITY field shall return the size of the echo buffer in bytes aligned to a four-byte boundary. The maximum echo buffer size is 4
096 bytes.
If the echo buffer is implemented, the echo buffer descriptor shall be implemented.
EBOS bit
1 An echo buffer overwritten supported (EBOS) bit set to one indicates either:
a) The device server returns the ECHO BUFFER OVERWRITTEN additional sense code if the data being read from the echo buffer is not
the data previously written by the same I_T nexus, or
b) The device server ensures echo buffer data returned to each I_T nexus is the same as that previously written by that I_T nexus.
0 An EBOS bit set to zero specifies that the echo buffer may be overwritten by any intervening command received on any I_T nexus.
A READ BUFFER command with the mode set to echo buffer descriptor may be used to determine the echo buffer capacity and
supported features before a WRITE BUFFER command with the mode set to echo buffer is sent.
Table 108 Echo buffer descriptor
Bit
Byte
7 6 5 4 3 2 1 0
0
Reserved EBOS
1
Reserved
2
Reserved (MSB)
3
BUFFER CAPACITY (LSB)