Implementation Requirements
The initiator sends commands to the target using command descriptor blocks (CDBs). The command descriptor blocks contain a format that includes:
-
Operation code
-
Command parameters
-
Control byte
Note:
The library is SCSI-3 compliant.For some commands, a list of parameters accompanies the request during the Data Out phase. For all commands, if there is an invalid parameter in the command descriptor block, then the device terminates the command without altering the medium.
Command Descriptor Blocks
Initiators use command descriptor blocks (CDBs) to communicate commands to the targets. The library supports three types of command descriptor blocks:
-
6-byte commands
-
10-byte commands
-
12-byte commands
The structure for all command descriptor blocks is:
-
The first byte contains a Group code that provides 8 groups of commands and the Command Code that provides 32 command codes for each group.
-
The second byte in all command descriptor blocks starts the command parameters.
-
Any additional bytes contain command parameters.
-
The last byte in all command descriptor blocks contains the control byte.
6-Byte Command Descriptor Block
Figure 3-1 6-Byte Command Descriptor Block

Description of "Figure 3-1 6-Byte Command Descriptor Block"
10-Byte Command Descriptor Block
Figure 3-2 10-Byte Command Descriptor Block

Description of "Figure 3-2 10-Byte Command Descriptor Block"
12-Byte Command Descriptor Block
Figure 3-3 12-Byte Command Descriptor Block

Description of "Figure 3-3 12-Byte Command Descriptor Block"
Control Byte
The control byte is the last byte of every command descriptor block.
- Vendor Specific
-
Provides additional information about the device or for a command.
- NACA
-
The normal auto contingent allegiance bit controls the rules for handling an auto contingent condition caused by a command. This bit is set to 0 to indicate that if a contingent allegiance condition occurs, the command will return a check condition.
- Flag (not supported)
-
This bit causes an interrupt in the initiator allowing a device to respond with intermediate status. This bit is not supported and should be 0.
- Link (not supported)
-
Allows devices that support command linking to continue the I/O process. This bit is not supported and should be 0.