Fujitsu MAP3147 Computer Drive User Manual


 
Command Processing
1 - 16 C141-E167
The IDD maintains data transfer mode settings between itself and each INIT individually. Therefore,
an INIT which uses asynchronous mode transfer and an INIT which uses synchronous mode transfer
can both coexist on the same SCSI bus. Also, the parameters for synchronous mode transfers decided
by the SYNCHRONOUS DATA TRANSFER REQUEST message can differ for each INIT and an
INIT which uses the 8-bit width transfer mode can coexist with an INIT which uses the 16-bit width
transfer mode.
Note:
When the INIT issues the first command after the TARG’s power is switched on, or after a
RESET condition occurs, it can send the WIDE DATA TRANSFER REQUEST message and the
SYNCHRONOUS DATA TRANSFER REQUEST message. However, when the TARG is set
internally on a data transfer mode established previously by a TARGET RESET message issued
by another INIT, generally, the INIT is not aware of it. In such case, when requesting
synchronous mode/wide mode transfer is permitted by the specification of the CHANGE
DEFINITION command (synchronous mode/wide mode transfer request), the TARG (IDD)
sends the WIDE DATA TRANSFER REQUEST and SYNCHRONOUS DATA TRANSFER
messages to establish the synchronous mode/wide mode transfer again. Thus, the INIT shall
respond to these messages for setting necessary parameters again.
See “CHANGE DEFINITION” in Section 3.1.4, SCSI Bus (INFORMATION TRANSFER Phase) in
Chapter 1 and SCSI Messages (SYNCHRONOUS DATA TRANSFER REQUEST, WIDE DATA
TRANSFER REQUEST, PARALLEL PROTOCOL REQUEST) in Chapter 2 of “SCSI Physical
Interface Specifications” for further details.
1.4 Command Queuing Function
The IDD equips a command queuing function. Through queuing of commands, the IDD can receive
multiple commands in advance and execute them.
There are two methods used in the queuing function, tagged and untagged. In tagged queuing, the
IDD can receive multiple commands from each INIT. In untagged queuing, the IDD can receive a
single command from each INIT.
Both queuing methods are possible for the IDD, but an INIT can use only one queuing method at a
time. However, if another INIT selects a different method, the IDD controls both methods of
command queuing.
1.4.1 Untagged queuing
Using untagged queuing, the IDD can receive a command from an INIT while it is executing
processing of a command from another INIT. The IDD can receive one command at a time from
each INIT. It is the role of the INIT to confirm that only one command is issued every time.
When the IDD receives a new command from an INIT, if it is processing another command from a
different INIT, or if it is currently executing its initial self-diagnosis, that command is queued in the
command queue. In this case, the IDD executes disconnect processing after command queuing
processing is completed.
After the IDD finishes executing the current processing command, if there is a command in the
queue, it fetches that command and executes it. If there are multiple commands in the queue, they are
fetched and executed in the order in which they were received.