Name that multi-port SCSI device
George M. Ericson
GEricson at BAnet.net
Wed May 26 21:10:43 PDT 1999
* From the T10 Reflector (t10 at symbios.com), posted by:
* "George M. Ericson" <GEricson at BAnet.net>
*
Inline responses. Hope they are helpful.
George
-----Original Message-----
From: briandm at excite.com [mailto:briandm at excite.com]
Sent: Wednesday, May 26, 1999 12:16 PM
To: GEricson at BAnet.net; briandm at excite.com; '-T10 Reflector'
Cc: roweber at acm.org
Subject: Re: RE: Name that multi-port SCSI device
George,
Your answer does surprise me. Perhaps you could give me an example of
something that IS a multi-ported target to help me understand.
-------------------------------------------------------------------------
GME: Try this:
Given: Port A and B attached to Target with LU X. Initiator I attached
to both port A and B. Initiator J attached only to port B.
Example 1: Initiator I does an LU RESET to LU X, next I/O from I though
A to X will get an UA,next IO from both I and J through B to X will also
get an UA. This is because LU X can not tell that there are only two
initiators. It sees IA, IB, and JB.
Example 2: Initiator I issues a RESERVE to X. From LU X's point of view,
initiator IA holds the RESERVE. Until IA does a RELEASE to X, or X is
reset,
subsequent I/O from either IB or from JB will receive a RESERVATION CONFLICT
status.
-------------------------------------------------------------------------
Other than the semantics, I agree with your answer to my Question 1.
But I recall an implementation where this couldn't be done. I'm going to
have to go back and review whether it was a standards issue or an
implementation issue. The problem was this:
The ports were parallel SCSI. Using my example a BUS RESET occurred on port
A, causing LU X to experience a LU reset.
In order to let the host attached
to port B know that LU X was reset, LU X reported a POR Unit Attention
condition to all initiator attached to Port B.
-------------------------------------------------------------------------
GME: So far OK.
-------------------------------------------------------------------------
The POR Unit Attention
Condition causes port B to reset it's negotiated data transfer parameters
for all hosts. Now a host attached to port B with outstanding I/O to LU Y
will have a mismatch in data transfer parameters unless LU Y does something
like also reporting POR Unit Attention.
-------------------------------------------------------------------------
GME: Exactly. You are describing a multi-port SCSI Target Device with two
LUs, X and Y. SAM defines the following. A BUS RESET translates to a
TARGET RESET to all Targets connected to the bus. So the Target Device
in question receives the TARGET RESET and in turn broadcasts this as a
LU RESET to all of its Logical Units, in this case, to LU X and LU Y.
LU X and LUY must now indicate UNIT ATTENTION to all attached Initiators.
Therefore, Initiators only accessing Y will get a UNIT ATTENTION and should
renegotiate data transfer parameters as a result.
-------------------------------------------------------------------------
As for Questions 3,4 and 5 -- I realize that these are new functions but
|from the reflector traffic it was not clear to me that these were not being
considered. It is now abundantly clear. I was thinking of issues with
multiple path drivers and controlling which Virtual Devices to show to which
hosts.
Best Regards,
Brian
On Tue, 25 May 1999 21:52:01 -0400, George M. Ericson wrote:
> Brian,
>
> Some comments inline on your issues: (Interesting list...) The answer
to
> the first may surprise you.
>
> George
>
>
> Here are some issues:
>
> 1) How does an event on a port of a "thingy" affect the other ports?
Does
> LU to port mapping modify the behavior?
> For example: A "thingy" has logical units X, Y, and Z. and ports A B and
C.
> LU X is connected to ports A and B. LU Y is connected to Ports B and C.
LU
> Z is only connected to port C. If a target reset task management
function
> is received by Port A what happens to LUs attached to ports B and C?
What
> does an initiator with a nexus to LU Z through Port C experience?
>
----------------------------------------------------------------------------
> ---
> GME: This is not an example of a multi-ported target. Here is my
reasoning.
> In SAM-2.10, an LU is part of a SCSI Target, (4.7.2). So, based on that,
> this must be a composite device. There are between three and six
individual
> targets.
>
> I'll name target by Port as in Tab would be a multi-ported target
addressed
> by both ports A and B. No multi-ported targets are in this example. The
> LUs are unqualified if they are lowest level. Mappings through to LUs
(as
> in Virtual Devices)are tagged with the underlying port that they map to.
> I'll tag with the same letter to indicate don't care.
>
> Here are some of the possible combinations:
> a) Ta(X), Tb(Xa,Yc), Tc(Y,Z)
> b) Td(X,Y,Z) Ta(Xd), Tb(Xd,Yd), Tc(Yd,Zd)
> c) Td(X), Te(Y), Tf(Z), Ta(Xd), Tb(Xd,Ye), Tc(Ye,Zf)
> ...
>
> So, the question was about a TARGET RESET to Port A. A TARGET RESET is a
> Task Management function that is simply broadcast as LU RESETS to all LUs
of
> the target. So, a TARGET RESET on A will propagate to Ta which will do
an
> LU RESET on LU Xx. If Xx is a virtual device, then the LU RESET will get
> propogated down until it reaches the bottom. In this case, all
initiators
> attached to Ta and Tb will each experience a Unit Attention on their next
> access to Xx. Neither LUs Yy or Zz are affected by the LU RESET so Unit
> Attentions are not propagated through them.
>
----------------------------------------------------------------------------
> ---
>
> 2) If an initiator needs to identify the same LU regardless of service
> deliver port, how is this done?
>
----------------------------------------------------------------------------
> ---
> GME: This is available for non-thingy's as INQUIRY Vital Product Data
Device
> Identification Page 83h. Logical Unit Identifier with Identifier Type =
> 1,2, or 3.
>
----------------------------------------------------------------------------
> ---
>
> 3) If a "thingy" needs to be able to identify the same initiator attached
to
> multiple "thingy" ports, how is this done?
>
----------------------------------------------------------------------------
> ---
> GME: This would be new functionality. What motivates the requirement?
>
----------------------------------------------------------------------------
> ---
>
> 4) If a target "thingy" needs to identify an initiator "thingy"
regardless
> of initiator or target ports how is it done?
>
----------------------------------------------------------------------------
> ---
> GME: This would be new functionality. What motivates the requirement?
>
----------------------------------------------------------------------------
> ---
>
> 5) Does a target "thingy" do something different for multiple nexuses
from
> the same initiator "thingy" versus nexuses from different initiators. Is
> anything different done if multiple initiator "thingy" ports are attached
to
> the same target port?
>
----------------------------------------------------------------------------
> ---
> GME: No, No.
>
----------------------------------------------------------------------------
> ---
>
> --
>
> Brian McKean Voice: (303)381-4246
> Mylex Corporation External Products Fax: (303)413-0464
> 4900 Pearl East Circle Suite 104 brian at mylexboulder.com
> Boulder, CO 80301-6108
> http://www.mylex.com
>
>
_______________________________________________________
Get your free, private email at http://mail.excite.com/
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at symbios.com
More information about the T10
mailing list