Queued Tasks (Formerly "Queued I/O Processes"); Untagged Task Queuing; Tagged Task Queuing - Seagate SCSI Interface Product Manual

Table of Contents

Advertisement

SCSI Interface Product Manual, Rev. J
4.7

Queued tasks (formerly "Queued I/O Processes")

Queuing of tasks allows a drive to accept multiple commands for execution at a later time.
There are two methods for implementation of queuing, tagged and untagged. Tagged task queuing allows the
drive to accept multiple commands from each initiator. Untagged task queuing allows the drive to accept one
command from each initiator. Drives that have SCSI-2 implementation support tagged queuing while in SCSI-1
or SCSI-2 mode. They can use untagged task queuing mode if the initiator does not send task queue tag mes-
sages.
Initiators may add or delete commands to the queue for the drive within the limitations specified in this specifi-
cation. When adding a command, the initiator may specify fixed order of execution, allow the drive to define the
order of execution, or specify that the command is to be executed next. See glossary in Section 2.0 for termi-
nology definitions when reading the following explanations.
4.7.1

Untagged task queuing

Untagged task queuing allows the drive to accept a command from an initiator while a command from another
initiator is being executed. Only one command for each I T L nexus may be accepted at a time.
A new task may be initiated any time the Bus Free phase exists even if another task from a different initiator is
being executed. If the disconnect privilege is not granted, the drive returns Busy status to the new task.
The I T L nexus specifies the relationship so that the drive can always reconnect to the initiator to restore the
pointers for task as long as only one command per I T L nexus is issued. It is the responsibility of the initiator to
assure that only one command is issued at any time.
4.7.2

Tagged task queuing

Tagged task queuing allows a drive to accept multiple commands from the same or different initiators until the
drive's task queue is full. A new task may be initiated any time the Bus Free phase exists, if the disconnect priv-
ilege is granted. If the disconnect privilege is not granted for a tagged command, the drive returns Busy status
to the new task.
The Task Queue Tag messages (see Table 5) allow the initiator to establish a unique I T L Q nexus to identify
each task. Each task may be a command or a set of linked commands with a unique queue tag.
The I T L Q nexus allows the target to reconnect to the desired task and the initiator to restore the correct set of
pointers. An initiator may have several task ongoing to the same or different logical unit as long as each has a
unique nexus.
If only Simple Task Queue Tag messages are used, the drive may execute the commands in any order that is
deemed desirable within the constraints of the queue management algorithm specified in the Control Mode
page (see Table 96). The command ordering is done by the drive to meet its performance and functional goals.
The algorithm used by the drive attempts to achieve certain drive or system performance goals established in
the drive firmware for the queued commands and guarantee that all commands will be executed. One possible
goal would be to minimize seek times, but there could be others, possibly designed to meet some special sys-
tem need. Commands from other initiators are also executed in an order selected in the same manner. The
drive uses the Simple Task Queue Tag when reconnecting to the initiator.
If Ordered Task Queue Tag messages are used, the drive executes the commands in the order received with
respect to other commands received with Ordered Task Queue Tag messages. All commands received with a
Simple Task Queue Tag message prior to a command received with an Ordered Task Queue Tag message,
regardless of initiator, are executed before that command with the Ordered Task Queue Tag message. All com-
mands received with a Simple Task Queue Tag message after a command received with an Ordered Task
Queue Tag message, regardless of initiator, are executed after that command with the Ordered Task Queue
Tag message.
A command received with a Head of Task Queue Tag message is placed first in the queue, to be executed
next. A command received with a Head of Task Queue Tag message does not suspend a task for which the
drive has begun execution. Consecutive commands received with Head of Task Queue Tag messages are exe-
cuted in a last-in-first-out order.
71

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the SCSI Interface and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Table of Contents