Linked Commands SCSI vs SCSI-FCP

Bob Snively Bob.Snively at Eng.Sun.COM
Fri Jun 21 09:28:57 PDT 1996

* From the SCSI Reflector, posted by:
* Bob.Snively at Eng.Sun.COM (Bob Snively)

I would like to add one thing to Jim's excellent clarification.  Theoretically, the Flag
function allows the generation of an interrupt at certain points in a chain of
linked commands.  We know of no implementer that actually uses either linked
commands or the interrupt capability (in spite of the fact that some host adapters have
implemented this for many years).  All well disciplined SCSI devices and hosts are so fast
that disk-to-tape buffering (for which this was originally used in the old
IBM 370 channels) does not require this function.

However, assuming you are really interested in pulling this off (in spite of my
architectural and practical guidance to the contrary), what you need to understand is
that the control byte is actually the only byte in a CDB that is cracked by the
host adapter.  That cracking permits the linking process to go forward.  It also
allows the host adapter to interpret the Flag field in the way it finds convenient,
which may include a message or interrupt to the host upon successful completion of
a command.  The HA also has the option of completely ignoring the Flag field
and reporting no information at all.  In other words, it is not a link protocol function, 
it is an HA implementation function for which no standards requirements exist.

Hope that provides helpful discouragement for the concept of using the Flag bit.


----- Begin Included Message -----

>From Jim_Coomes at Wed Jun 19 14:57:12 1996
To: disk_attach <disk_attach at>,
 <fibre-channel-ext at Think.COM>
Date: 19 Jun 96 16:03:55 EDT
Subject: Linked Commands SCSI vs SCSI-FCP
Mime-Version: 1.0
Sender: owner-fibre-channel-ext at Think.COM
Precedence: bulk
X-Lines: 39

The following is our understanding of linked commands using SCSI FCP. All 
sequences are in the same Fibre Channel Exchange and use the same OX_ID. The 
Initiator and Target pair enter into an interlocked mode. The Target is, 
however, allowed to execute commands for other Initiators while the linked mode 
exists with a given initiator.

The Flag bit in the CDB causes a Flag Message in the parallel channel SCSI when 
the command completes. This function does not map to SCSI FCP, but it is not 
needed due to the interlocked FCP_CMND / FCP_RSP relationship. The following is 
an example of the interaction between an Initiator and a Target:

Host   Target

Link Bit set, 
T1(IU) ---------------->

<activity requested by CDB>

<-------------------FCP_RSP, I5 (IU)
   SCSI Status= Intermediate 

Link Bit set, 
T3(IU) ---------------->

<activity requested by CDB>

<-------------------FCP_RSP, I5 (IU)
   SCSI Status= Intermediate 

Link Bit clear(last CDB), 
T3(IU) ---------------->

<activity requested by CDB>

<-------------------FCP_RSP, I4 (IU)
   SCSI Status= Good 

----- End Included Message -----

More information about the T10 mailing list