User Manual

SCSI Commands Reference Manual, Rev. J 146
www.seagate.com Direct Access Block commands (SPC-5 and SBC-4)
3.20.5 Descriptor mode (03h)
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 buffer specified by the BUFFER ID field (see the description of the buffer ID in 3.20.4). If there is no
buffer associated with the specified buffer ID, the device server shall return all zeros in the READ BUFFER descriptor. The BUFFER
OFFSET field is reserved in this mode. The allocation length should be set to four or greater. The READ BUFFER descriptor is
defined as shown in table 106.
OFFSET BOUNDARY field
The OFFSET BOUNDARY field returns the boundary alignment within the selected buffer for subsequent WRITE BUFFER and READ BUFFER
commands. The value contained in the OFFSET BOUNDARY field shall be interpreted as a power of two.
For READ BUFFER commands, the OFFSET BOUNDARY field (see table 107) applies to the following modes:
a) data (i.e., 02h) (see 3.20.4); and
b) error history (i.e., 1Ch) (see 3.20.8)
The value contained in the BUFFER OFFSET field of subsequent WRITE BUFFER and READ BUFFER commands should be a
multiple of 2
offset boundary
as shown in table 107.
BUFFER CAPACITY field
The BUFFER CAPACITY field shall return the maximum size of the selected buffer in bytes. This capacity value only apples to data mode (i.e.,
MODE field set to 02h).
NOTE In a system employing multiple application clients, a buffer may be altered between the WRITE
BUFFER and READ BUFFER commands by another application client. Buffer testing applications
should ensure that only a single application client is active. Use of reservations to all logical units on
the device or linked commands may be helpful in avoiding buffer alteration between these two
commands.
Table 106 READ BUFFER descriptor
Bit
Byte
7 6 5 4 3 2 1 0
0 OFFSET BOUNDARY
1 (MSB)
BUFFER CAPACITY. . .
3 (LSB)
Table 107 Buffer offset boundary
Offset boundary
2
Offset boundary
Buffer offsets
0h
2
0
= 1
Byte boundaries
1h
2
1
= 2
Even-byte boundaries
2h
2
2
= 4
Four-byte boundaries
3h
2
3
= 8
Eight-byte boundaries
4h
2
4
= 16
16-byte boundaries
..
.
FFh Not applicable
0 is the only supported buffer offset