FW: Selection with ATN in IU mode question

Ken Erickson Ken.Erickson at quantum.com
Tue Sep 19 14:16:23 PDT 2000


* From the T10 Reflector (t10 at t10.org), posted by:
* Ken Erickson <Ken.Erickson at quantum.com>
*
Bob,

If the initiator is hot-swapped with non-IU capable initiator and the target
attempted to respond with PPR message after selection w/ ATN in IU should
not prevent the non-IU from issuing a Message Reject message and allowing
the target to follow with a WDTR or SDTR message.  If the initiator fails
the WDTR message the spec states to fall back to issuing a SDTR message.
What's the difference with starting with a PPR then WDTR?

Prohibiting targets from issuing a PPR message to "fall back" to non-IU mode
because it doesn't control domain validation seem to me to be a mote point
because we are falling back to the lowest point of operation: narrow, slow,
asynchronous.


It sure would be nice if section 10.6.2.2 was re-worded to remove the
ambiguous stuff.  There is to many ways to intrepid this section.

Ken Erickson
Quantum Corp.

-----Original Message-----
From: 	Elliott, Robert (Hou) [mailto:Robert.Elliott at COMPAQ.com] 
Sent:	Tuesday, September 19, 2000 12:45 PM
To:	't10 at t10.org'
Subject:	RE: Selection with ATN in IU mode question

* From the T10 Reflector (t10 at t10.org), posted by:
* "Elliott, Robert (Hou)" <Robert.Elliott at compaq.com>
*
> * From the T10 Reflector (t10 at t10.org), posted by:
> * Ken Erickson <Ken.Erickson at quantum.com>
> *
> What is the expected behavior of a target that has just 
> sent a Message Reject message followed by a WDTR w/ 
> narrow mode to an initiator while in the IU mode?  To me 
> it appears that since the target is no longer in IU mode
> that the target should go to a BUS FREE phase as it did 
> when it entered the IU mode.

This is from SPI-3 section 10.6.2.2, selection with attention with
information units enabled. 
I think it is trying to cover what happens when an  Ultra 3+ IU-capable
initiator is hot-swapped with an non-IU capable initiator.  That initiator
will try sending an IDENTIFY link control message.  It is not obligated to
follow that with WDTR/SDTR; it may assume async mode.  As soon as the target
detects this initiator discrepancy, the target needs to clear all existing
tasks and switch to non-IU mode.  The WDTR/SDTR negotiation does this.  It
needs to go BUS FREE for a few reasons:
1)	it rejected the IDENTIFY so has no LUN or tag information.
The initiator might assert ATN and resend, but I doubt it.
2)	BUS FREE is customary whenever IU mode changes (or any PPR is done) 
3)	BUS FREE is customary whenever an abort task set occurs.

> Also, why was it chosen that if the initiator sent a message 
> while selecting a target with ATN and the message is not a
> PPR message or a TASK MANAGEMENT message that the target will 
> respond by sending a WDTR.  Why not send a PPR message?  That 
> is how the initiator started the IU process.

Targets are prohibited from initiating PPR because they don't control domain
validation.  Imagine an Ultra 3 initiator and Ultra 3 target connected via
an Ultra 2 expander.  PPR negotiation will successfully enable DT despite
the fact that the expander is there, incapable of DT mode.  Ultra 3 runs the
P_CRCA signal in the opposite direction of Ultra 2 during writes.  After
PPR, the subsequent data phase needs to be a read, or bus contention will
result on P_CRCA.  If the command is from an initiator running domain
validation, it will always be a read and work fine.  If the command is any
arbitrary command (which it could be if the target is choosing when to
request PPR), it certainly could be a write and cause trouble.
> Thanks,
> Ken Erickson
> Quantum Corp.

---
PC: Robert.Elliott at compaq.com
UNIX: relliott at unixmail.compaq.com


*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org




More information about the T10 mailing list