32
Product Manual - Disc Drive SCSI-2/SCSI-3 Interface (Vol. 2; Ver. 2), Rev. E
_____________________________________________________________________________________
Queue Tag Messages (20h, 21h or 22h)
When one or more initiators have multiple I/O processes to be queued by a target, each I/O process must
have a queue tag associated with it. The queue tag is specified in a Queue Tag Message that must accom-
pany the initiation of each such I/O process. See also Section 4.7.2, “Tagged Queuing”.
Table 3.5.3-2. Queue tag message format
Bit
7
6
5
4
3
2
1
0
Byte
0
Message Code (20h or 21h or 22h
1
Queue Tag
Table 3.5.3-2 defines the format for the queue tag messages. Those disc drives that implement tagged
queuing and use the queue tag messages HEAD OF QUEUE TAG, ORDERED QUEUE TAG, and SIMPLE
QUEUE TAG indicate so in their individual Product Manuals.
The queue tag messages are used to specify an identifier, called a queue tag, for an I/O process that estab-
lishes the I L Q nexus. The queue tag field is an 8-bit unsigned integer assigned by the initiator during an
initial connection. The queue tag for every I/O process for each I_T L nexus should be unique. If the disc drive
receives a queue tag identical to one that is currently in use for the I T L nexus, the disc drive shall abort ALL
I/O processes for the initiator and shall return CHECK CONDITION status. The sense key shall be set to
ABORTED COMMAND and the additional sense code shall be set to OVERLAPPED COMMANDS AT-
TEMPTED. Only one status is returned.
Note. For each logical unit on each target, each initiator has up to 256 queue tags to assign to I/O processes.
A queue tag becomes available for re-assignment when the I/O process ends. Typically drives to
which this specification applies queue up to 64 tagged I/O processes concurrently for up to seven
initiators on the bus. There could be 64 queue tags for one initiator, or the 64 can be divided among
the seven possible initiators, not necessarily evenly. See applicable drive Product Manual for num-
ber of queue tags supported.
The appropriate queue tag message shall be sent immediately following the IDENTIFY message and within
the same message phase to establish the I T L Q nexus for the I/O process. Only one I T L Q nexus may be
established during a connection. If a queue tag message is not sent, then only an I T L nexus is established
for the I/O process (untagged command).
If a target attempts to reconnect using an invalid queue tag, then the initiator should respond with an ABORT
TAG message.
•
Head of Queue Tag (21h)
The
Head of Queue Tag message specifies that the I/O process be placed first in that logical unit’s queue
for execution. An I/O process already being executed by the target shall not be pre-empted. A subse-
quent I/O process received with a HEAD OF QUEUE TAG message shall be placed at the head of the
queue for execution in last-in, first-out order.