![](/images/new-backgrounds/1142204/14220467x1.webp)
Command Processing
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
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.4Command 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.1Untagged 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
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.
1 - 16 |