FW: Name that multi-port SCSI device

George Ericson gericson at mindspring.com
Sun Jun 20 09:36:28 PDT 1999


* From the T10 Reflector (t10 at symbios.com), posted by:
* "George Ericson" <gericson at mindspring.com>
*
FYI: (The t10 at lsil.com address reached T10, but was rejected on reply.)

-----Original Message-----
From: George Ericson [mailto:gericson at mindspring.com]
Sent: Saturday, June 19, 1999 12:32 AM
To: Gene_Milligan at notes.seagate.com; 'Binford, Charles'
Cc: t10 at lsil.com
Subject: RE: Name that multi-port SCSI device


To ALL:

Specific comments to the previous email are at the end of this email.

Please note the changes made from SAM2r08 to SAM2r09 to remove from the SCSI
Device model:
* multiple Device (target or initiator) Identifiers, and
* multiple Service Delivery Ports.

See for example the changes made to section 4.7.2 SCSI Target Model.
----------------------------------------------------------------------------
---
Rev8 reads:
4.7.2 SCSI target model
A Target (see figure 15) is composed of one or more Target Identifiers, a
Task Manager, and one or more Logical Units.
A Target Identifier is a field containing up to 64 bits that identifies the
target device. A target device may respond to more than one Target
Identifier. As discussed in the SCSI Device model (see 4.7), an SCSI Device
may have multiple Service Delivery Ports, each with its own Target
Identifier. The model also is compatible with a single Service Delivery Port
answering to multiple Target Identifiers. Each Target Identifier shall be
unique within the scope of the SCSI Domain. The set of Target Identifiers by
which a target device is referenced shall be the same
for all Initiators in the SCSI Domain. If an target device has more than one
identifier, there is no defined association between the Target Identifier
values.
----------------------------------------------------------------------------
---
Rev9 reads:
4.7.2 SCSI target model
A Target (see figure 15) is composed of a Target Identifier, a Task Manager,
and one or more Logical Units. A Target Identifier is a field containing up
to 64 bits that is a SCSI device identifier for the target device. A Task
Manager is a server that controls one or more tasks in response to task
management requests (see 4.7.3). A Logical Unit (see 4.8) is the object to
which SCSI commands are addressed. One of the Logical Units composing a
Target shall be addressed using the Logical Unit Number zero.
----------------------------------------------------------------------------
---

CLARiiON does not support this change to SAM2 Revision 9 and beyond and
STRONGLY RECOMMENDS restoring the language in Revision 8.

The affect of these changes are to change the semantics of specific
instantiations of SCSI Devices from being "model defined" to being "vendor
implementation defined."

The backwards compatibility constraints that are imposed by the standards
process should disallow the type of changes proposed in SAM2r09.  In
particular, since more than one Service Delivery Port is allowed for a SCSI
device in SAM and restriction to exactly one Service Delivery Port changes
the defined semantics, making this change requires a major revision to
SCSI-4.

The confusion over the definition of a multi-port SCSI Device is directly
caused by this set of changes.  Specific comments on this mail follow.

George Ericson
GEricson at CLARiiON.com
508 480-7349


-----Original Message-----
From: owner-t10 at Symbios.COM [mailto:owner-t10 at Symbios.COM]On Behalf Of
Gene_Milligan at notes.seagate.com
Sent: Tuesday, June 15, 1999 11:06 AM
To: Binford, Charles
Cc: t10 at lsil.com
Subject: RE: Name that multi-port SCSI device


* From the T10 Reflector (t10 at symbios.com), posted by:
* Gene_Milligan at notes.seagate.com
*
<<What is difference between the words 'Device' and 'Target'?>>

     The SCSI device has a target, at least one LUN, and at least one
device server. The Target has an address and capability to pass stuff to at
least one LUN but no device server.

<<How
significant of a difference is there between the phrases
- "a SCSI device for each port"  and
- "a SCSI target for each port">>

     Not very to the main point I was making. I focused on SCSI device due
to the subject of the thread. However SCSI device conveys the original
issue in my mind of the shared device server (e.g. R/W media) between the
two SCSI devices (ported by the two targets).

Gene
----------------------------------------------------------------------------
-----------------
GME: See below for more complete definitions of SCSI Device, Target,
Initiator and Identifiers.

Gene, your implementation is certainly allowed by any version of the models
in SAM/2.  For instance create a first level with two SCSI Devices each of
which have an LU which is implemented on top of the same LU of a third SCSI
Device which is defined at a second level.  In this case, the standard does
not define the behavior the LUs of the first level SCSI Devices.  They may
or may not be implemented to be independent of each other with respect to
reservation, reset, etc.  Read/Write/Positioning commands may or may not
pass through to the LU of the second level SCSI Device.

RAID devices are a common example of stacking devices where the behavior of
the first level LU is not the same as the behavior of second level LUs.  In
general, there are no constraints on how LUs of one device are associated to
LUs of other devices.  Folks looking for a short description of this class
of interconnected SCSI Devices should look toward phrases like "systems of
SCSI Devices."  (Note that the the SCSI Devices used in a system of SCSI
Devices could be multi-ported SCSI Devices.)

In the case of a SEAGATE FC drive, using a "system of SCSI Devices" to
implement the desired behavior is overkill since it dictates "logically"
creating three SCSI Devices (each with a task manager and a Service Delivery
Port and an LU.) Each LU has a device server.  Also an extra interconnect
subsystem is required to connect the LUs of the first level (which are in
turn initiators with Service Delivery Ports) to the Service Delivery Port of
the second level SCSI Device.  And, it requires that the LUs in the first
level map exactly and preserve all semantics of the behavior of the LU at
the second level.  (Note that if there are more than one LU at the second
level as in a CLARiiON RAID ARRAY, then there must be a correspondence to
LUs at the first level.)  The LUs in the first level must be careful to
preserve the semantics of the second level LU exactly as if initiators
attached to the set of first level LUs with the same LUN were all directly
attached to the second level LU that is mapped to the LUs of the first
level.

For the SEAGATE FC drive this is much more easily accomplished by conforming
to SAM2r08 or less and creating a single SCSI Device with two Service
Delivery Ports which both map to a single target manager and a single set of
underlying LUs.

More importantly, the SAM2r08 model precisely defines the desired semantics.
Using the system of SCSI Devices implementation, the semantics are defined
by the particular implementation.

Perhaps the following will help.

The multi-ported SCSI Device behavior of both SEAGATE FibreChannel Drives,
and CLARiiON RAID ARRAYs is fully defined defined by the following
definitions which I clipped from SAM2r08 (I removed paragraph and table
references and did some regrouping of related topics).
The multi-ported behavior of either a SEAGATE FibreChannel Drive or a
CLARiiON RAID ARRAY is NOT  defined by SAM2r09.

--Start Cut and Paste ----------------------------------------------------
An SCSI Device is composed of one or more Service Delivery Ports combined
with an Initiator, or a Target, or both an Initiator and a Target.

Each Service Delivery Port resides in one SCSI Device.

In this model, the Service Delivery Port object represents the hardware and
software that implements the protocols and interfaces between servers or
clients in the SCSI Device and the Interconnect Subsystem.

SCSI device identifier: An address by which an SCSI device is referenced
within a domain.

An Initiator Identifier is a field containing up to 64 bits that identifies
the initiator device.

An initiator device may respond to more than one Initiator Identifier.

As discussed in the SCSI Device model, an SCSI Device may have multiple
Service Delivery Ports, each with its own Initiator Identifier.

The model also is compatible with a single Service Delivery Port answering
to multiple Initiator Identifiers.

Each Initiator Identifier shall be unique within the scope of the SCSI
Domain.

The set of Initiator Identifiers by which an initiator device is referenced
shall be the same for all Targets in the SCSI Domain.

If an initiator device has more than one identifier, there is no defined
association between the Initiator Identifier values.

A Target Identifier is a field containing up to 64 bits that identifies the
target device.

A target device may respond to more than one Target Identifier.

As discussed in the SCSI Device model, an SCSI Device may have multiple
Service Delivery Ports, each with its own Target Identifier.

The model also is compatible with a single Service Delivery Port answering
to multiple Target Identifiers.

Each Target Identifier shall be unique within the scope of the SCSI Domain.

The set of Target Identifiers by which a target device is referenced shall
be the same
for all Initiators in the SCSI Domain.

If an target device has more than one identifier, there is no defined
association between the Target Identifier values.

A Target is composed of one or more Target Identifiers, a Task Manager, and
one or more Logical Units.

A Task Manager is a server that controls one or more tasks in response to
task management requests.

The task manager controls the execution of one or more tasks by servicing
the task management functions.

Its external address is equal to the target identifier of the target device.
There is one task manager per target device.

The order in which task management requests are executed is not specified by
this standard.

In particular, this standard does not require in-order delivery of such
requests, or execution by the task manager in the order received.

To guarantee the execution order of task management requests referencing a
specific logical unit, an initiator should, therefore, not have more than
one such request pending to that logical unit.

A Logical Unit is the object to which SCSI commands are addressed. One of
the Logical Units
composing a Target shall be addressed using the Logical Unit Number zero.

--End Cut and Paste ----------------------------------------------------

--End of GME comments --------------------------------------------------

*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at symbios.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