Fujitsu MAN3367 User Manual

Page of 302
C141-E124-01EN
1 - 20
•  If disconnect processing is impossible.
If disconnect processing is impossible because the INIT which issued the command does not meet
the conditions for permitting a disconnect (see Section 1.3.3), or if the DISCONNECT message is
rejected by the INIT even though it meets the conditions for permitting a disconnect, the IDD
responds with a BUSY status without queuing the received command except the case described in
item 1) in following Note during executing or queuing command already.  If this is not the case,
the received command is executed immediately.
•  If the IDD is reserved
If the IDD has been reserved by an INIT using the RESERVE command and receives a TEST
UNIT READY command after that, when that command conflicts with the reserved state, it
responds with a RESERVATION CONFLICT status.  Commands after that are queued, and the
reserved state is checked when a command is fetched from the queue.   Conflicts with the reserved
state are explained in the description of the RESERVE command (Section 3.1.11).
Note:
Through the operation of the command queuing function, except for exceptions described on
this page, the IDD does not respond to commands issued by the INIT with a BUSY status.
This function is applied under the multi-initiator environment, and overhead for re-issuing
commands caused by the BUSY status is unnecessary.  Normally, the INIT does not have to be
aware of the existence of a queuing function, but it is necessary to exercise caution in the
following items when controlling input/output processing.
1)
When a command is queued, the time from the queuing of the command to its actual
execution will vary depending on the commands already in the queue, or on the content of
the processing currently being executed.  Particularly in cases where the FORMAT UNIT
command and START/STOP UNIT command (Immed = 0), and data access commands
which specify large processing block counts, are already queued or being executed, the
newly queued command will be forced to wait a long time until it is executed.
2)
In the following cases, a command may not be executed even after it has been queued.
a) 
When there is an error in the CDB, the IDD responds with a CHECK CONDITION
status at the point when that command is fetched from the queue.
b)
If the IDD is in the not ready state at the point when the queued command is fetched,
it responds with a CHECK CONDITION status.
c)
If a UNIT ATTENTION condition is generated before the queued command is
fetched, a CHECK CONDITION status may be replied.