User Manual
SCSI Commands Reference Manual, Rev. J 43
www.seagate.com General Concepts
2.2.3 LOGICAL BLOCK ADDRESS
The logical block addresses on a logical unit or within a volume or partition shall begin with block zero and be contiguous up to
the last logical block of that logical unit or within that volume or partition.
A six-byte CDB may contain a 21-bit LOGICAL BLOCK ADDRESS field. The ten-byte and the twelve-byte CDBs may contain 32-bit
LOGICAL BLOCK ADDRESS fields. The sixteen-byte CDB has two formats: one allows a 32-bit LOGICAL BLOCK ADDRESS field (see
table 5) and the other allows a 64-bit LOGICAL BLOCK ADDRESS field (see table 6). LOGICAL BLOCK ADDRESS fields in additional
parameter data have their length specified for each occurrence. See the specific command descriptions.
2.2.4 TRANSFER LENGTH
The TRANSFER LENGTH field specifies the amount of data to be transferred, usually the number of blocks. Some commands use
transfer length to specify the requested number of bytes to be sent as defined in the command description.
Commands that use one byte for the TRANSFER LENGTH field may allow up to 256 blocks or 256 bytes of data to be transferred
by one command.
In commands that use multiple bytes for the TRANSFER LENGTH field, a transfer length of zero specifies that no data transfer
shall take place. A value of one or greater specifies the number of blocks or bytes that shall be transferred. Refer to the specific
command description for further information.
2.2.5 PARAMETER LIST LENGTH
The PARAMETER LIST LENGTH field is used to specify the number of bytes sent from the Data-Out Buffer. This field is typically
used in CDBs for parameters that are sent to a device server (e.g., mode parameters, diagnostic parameters, log parameters). A
parameter list length of zero specifies that no data shall be transferred. This condition shall not be considered as an error, unless
otherwise specified.
2.2.6 ALLOCATION LENGTH
The ALLOCATION LENGTH field specifies the maximum number of bytes that an application client has allocated in the Data-In
Buffer. An allocation length of zero specifies that no data shall be transferred. This condition shall not be considered as an error.
The device server shall terminate transfers to the Data-In Buffer when the number of bytes specified by the ALLOCATION
LENGTH field have been transferred or when all available data have been transferred, whichever is less. The allocation length is
used to limit the maximum amount of variable length data (e.g., mode data, log data, diagnostic data) returned to an application
client. If the information being transferred to the Data-In Buffer includes fields containing counts of the number of bytes in some
or all of the data, then the contents of these fields shall not be altered to reflect the truncation, if any, that results from an
insufficient ALLOCATION LENGTH value, unless this manual describes the Data-In Buffer format states otherwise.
If the amount of information to be transferred exceeds the maximum value that the ALLOCATION LENGTH field is capable of
specifying, the device server shall transfer no data and terminate the command with CHECK CONDITION status, with the sense
key set to ILLEGAL REQUEST, and the additional sense code set to INVALID FIELD IN CDB.