Seagate Ultra 160 Computer Drive User Manual


 
136 Parallel SCSI Interface Product Manual, Rev. A
8.0 where the details of each command are described.
[3] The Logical Block Address on logical units or within a partition on device volumes shall begin with block
zero and be contiguous up to the last logical block on that logical unit or within that partition.
A six-byte command descriptor block contains a 21-bit Parameter List Length field. The 10-byte, the 12-
byte and the 16-byte command descriptor blocks contain 32-bit Logical Block Address fields. Logical
Block Address fields in additional parameter data have their length specified for each occurrence. See the
specific command descriptions.
[4] The Transfer Length specifies the amount of data to be transferred, usually the number of blocks. For sev-
eral commands the transfer length indicates the requested number of bytes to be sent as defined in the
command description. For these commands the transfer length field may be identified by a different name.
See the following descriptions and the individual command descriptions for further information.
Commands that use one byte for Transfer Length allow up to 256 blocks of data to be transferred by one
command. A Transfer Length value of 1 to 255 indicates the number of blocks that shall be transferred. A
value of zero indicates 256 blocks.
Commands that use two bytes for Transfer Length allow up to 65,535 blocks of data to be transferred by
one command. In this case, a Transfer Length of zero indicates that no data transfer shall take place. A
value of 1 to 65,535 indicates the number of blocks that shall be transferred.
For several commands more than two bytes are allocated for Transfer Length. Refer to the specific com-
mand description for further information.
The Transfer Length of the commands that are used to send a list of parameters to a drive is called the
Parameter List Length. The Parameter List Length specifies the number of bytes sent during the DATA
OUT phase.
The Transfer Length of the commands used to return sense data (e.g., REQUEST SENSE, INQUIRY,
MODE SENSE, etc.) to a SCSI initiator port is called the Allocation Length. The Allocation Length speci
-
fies the number of bytes that the initiator has allocated for returned data. The drive shall terminate the
DATA IN phase when Allocation Length bytes have been transferred or when all available data have been
transferred to the initiator, whichever is less.
[5] 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 command descriptor blocks for parameters that are sent to a device server (e.g.,
mode parameters, diagnostic parameters, log parameters, etc.). A parameter length of zero indicates that
no data shall be transferred. This condition shall not be considered as an error.
[6] The Allocation Length field specifies the maximum number of bytes that an application client has allocated
for returned data. An allocation length of zero indicates 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
allocation length bytes 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 data (e.g., sense data, mode data,
log data, diagnostic data, etc.) 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, the con
-
tents of these fields shall not be altered to reflect the truncation, if any, that results from an insufficient allo-
cation length value, unless the standard that describes the Data-In Buffer format specifically states
otherwise. If the amount of information to be transferred exceeds the maximum value that may be speci
-
fied in the Allocation Length field, the device server shall transfer no data and return a CHECK CONDI-
TION status; the sense key shall be set to ILLEGAL REQUEST and the additional sense code shall be set
to Invalid Field in CDB.
[7] Only the Control fields have consistently defined meanings across all commands. The Control field is the
last byte of every command descriptor block, except for the variable length CDB format. The Control field
is defined in Table
62.