X3T10/94-233, Revision 1: Improvements for multi-port environments
Charles Monia, SHR3-2/W3, 237-6757 23-Nov-1994 1533
monia at starch.enet.dec.com
Wed Nov 23 12:42:22 PST 1994
As noted in my earlier response, life becomes a lot easier if there is
a single global identifier per device, regardless of whether that device is a
target or initiator. I believe the definition for Target and Initiator
identifiers in SAM should be revised to coincide with a GDI as specified above.
Note also, that the issue of multiple ports is irrelevant. What you've defined
is a set of desirable features that can be applied to any multi-initiator
environment, irrespective of the number of ports.
>2) ABORT TASK SET, OTHER INITIATOR
>An initiator uses the ABORT TASK SET, OTHER INITIATOR (ATSOI) task management
>function to clear resources related to the initiator identified by an initiator
The initiator identifier would simply be the global device identifier
>For compatibility with the SCSI-2 dual port function, the initiator unique
>identifier is null for SIP devices and the operation is assumed to apply
>to the alternate port. In this case, the task sets for all initiators on
>the alternate port are aborted.
IMO, we should not try to bend the SCSI-3 stuff to accomodate the ad-hoc
>For serial SCSI devices that have access to the initiator unique identifier
>of other initiators, the tag contains the identifier of the initiator whose
:task set is to be aborted. Only the tasks associated with the specified
>initiator are aborted, regardless of the port to which the initiator is
>:attached. The initiator unique identifiers for a protocol may be a
>World Wide Name, an initiator address and process identifier, or some
>other appropriate value. This proposal does not define those identifiers
>at this time.
Note that if all devices are required to accept a protocol-specific global
device identifier as an argument, this issue becomes moot.
An additional task management function is defined and placed between
ABORT TASK SET and CLEAR ACA. The text defining the task set is:
"ABORT TASK SET, OTHER INITIATOR (Initiator unique identifier ||) - Abort
all tasks in the task set for the initiator identified by the initiator
unique identifier. The function shall be supported if the logical unit
has multiple ports. The function is optional for logical units supporting
a single port.
New section 7.n, placed between 7.2 and 7.3
>7.n ABORT TASK SET, OTHER INITIATOR
>Service Response =
> ABORT TASK SET, OTHER INITIATOR (Initiator unique identifier ||)
>This function shall be supported if the logical unit has multiple ports.
>The function is optional for logical units supporting a single port.
Why not make the function optional in the standard but require its
implementation in the profile?
>The task manager shall terminate all tasks in the task set that were created
>by the initiator identified by the initiator unique identifier.
See comment above regarding global device identifiers.
More information about the T10