46
4.2.5
Transfer length
The Transfer Length specifies the amount of data to be transferred, usually the number of blocks. For several
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 follow-
ing 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 com-
mand. 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 command
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 Param-
eter 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 an initiator is called the Allocation Length. The Allocation Length specifies 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.
4.2.6
Control field
The Control field is the last byte of every command descriptor block. The Control field is defined in Table 16.
Table 16:
Control field
Bit
7
Byte
LAST
Vendor Specific
[1]
The Normal Auto Contingent Allegiance (NACA) bit is used to control the rules for handling an Auto Con-
tingent Allegiance (ACA) condition caused by the command. Section 4.6.1.1 specifies the actions to be
taken by the logical unit in response to an ACA condition for NACA bit values of one or zero. All drives
implement support for the NACA value of zero and may support the NACA value of one. The ability to sup-
port an NACA value of one is indicated in standard Inquiry data. See Table 49.
If the NACA bit is set to a value that is not supported, the drive completes the command with a status of
Check Condition and a sense key of Illegal Request. The procedure for handling the resulting ACA condi-
tion operates in accordance with the supported bit value.
[2]
The Link bit allows the drive to continue the task across multiple commands. The Flag bit may be used in
conjunction with the Link bit to notify the initiator in an expedited manner that the command has com-
pleted.
Support for the Link bit is a logical unit option. A Link bit of one indicates that the initiator requests contin-
uation of the task across two or more SCSI commands. If the Link bit is one and the Flag bit is zero and if
the command completes successfully, a drive that supports the Link bit continues the task and returns a
status of Intermediate or Intermediate–Condition Met and a service response of Linked Command Com-
plete (see Section 4.3).
Support for the Flag bit is a logical unit option. If the Link bit and Flag bit are both set to one, and if the
command completes with a status of Intermediate or Intermediate-Condition Met, a drive that supports
the Flag bit returns a service response of Linked Command Complete (with Flag).
The drive completes the command with a status of Check Condition and a sense key of Illegal Request if:
• The Link bit is set to one and the drive does not support linked commands, or
• The Flag bit is set to one and the drive does not support the Flag bit, or
• The Flag bit is set to one and the Link bit is set to zero.
6
5
Reserved
SCSI Interface Product Manual, Rev. J
4
3
NACA [1]
2
1
Flag [2]
Link [2]
0 or 1
0 or 1
0
Need help?
Do you have a question about the SCSI Interface and is the answer not in the manual?
Questions and answers