98-173r0 -- SAM-2 Revision 6 Notes

ROWEBER at acm.org ROWEBER at acm.org
Sun May 17 06:05:55 PDT 1998


* From the T10 (formerly SCSI) Reflector (t10 at symbios.com), posted by:
* ROWEBER at acm.org
*
T10/98-173r0

Date:	 16 May, 1998
To:	 T10 Membership
From:	 Ralph Weber, T10 Alternate member from Symbios, Inc.
Subject: SAM-2 Revision 6 Notes

During the May SCSI Working Group meeting, I was asked to make several
editorial decisions regarding text in SAM-2.  This report documents those
decisions.  It is intended to give the reader a review of those changes
where editorial judgment was exercised at the request of the working
group, while avoiding a full-fledged slog through the entire SAM-6 draft.

1) Add definition for code value:  The working group requested addition
of a definition for code value and left the text of the definition open.
The definitions added read as follows:

code value: A one or a series of defined numeric values each representing
an identified and described instance or condition.  Code values usually
are defined to be used in a specific field (see 3.1.35).

field: A group of one or more contiguous bits, usually part of a larger
structure such as a CDB (see 3.1.13) or sense data (see 3.1.79).

2) Hierarchical addressing usage of the TARGET/LUN field in Peripheral
Device Addressing:  The working group asked for wording that clarifies
the requirement that the TARGET/LUN field contains a target ID with a
fixed LUN of 0 when the BUS IDENTIFIER fields is non-zero.  When the BUS
IDENTIFER field is zero, the TARGET/LUN field contains a LUN value for
the current level.  The group also asked for improved wording for, "A BUS
IDENTIFIER field of zero represents a logical interconnection logical
units ..."

The previous wording was:

The TARGET/LUN field indicates the address of the peripheral device to
which the SCSI device shall relay the received command.  If the BUS
IDENTIFIER field is not zero the TARGET/LUN field contains the target and
LUN addressing information to be used on the bus indicated by the BUS
IDENTIFIER field when relaying the received command.  The received
command to shall be relayed to LUN zero.

A BUS IDENTIFIER field of zero represents a logical interconnection
logical units. This representation of the logical units may be used when
the SCSI device either does not use hierarchical addressing for assigning
LUNs to entities or the SCSI device has entities that need LUNs and are
not attached to buses (e.g, fans, cache, controllers, etc.).

A BUS IDENTIFIER field greater than zero represents physical
interconnects that connect a group of SCSI devices.  Each of the buses
shall be assigned a number from 1 to 63 by the SCSI device. The bus
identifiers shall be used in the BUS IDENTIFIER field by the SCSI device
when assigning addresses to peripheral devices attached to those buses.

The new wording is:

The TARGET/LUN field indicates the address of the peripheral device to
which the SCSI device shall relay the received command.  The meaning and
usage of the TARGET/LUN field depends on whether the BUS IDENTIFIER field
contains zero.

A BUS IDENTIFIER field of zero indicates a logical unit at the current
level.  This representation of a logical unit may be used either when the
SCSI device at the current level does not use hierarchical addressing for
assigning LUNs to entities or when the SCSI device at the current level
includes entities that need LUNs but are not attached to SCSI buses
(e.g., fans, cache, controllers, etc.).  When the BUS IDENTIFIER field
contains zero, the command shall be relayed to the current level logical
unit (TARGET/LUN field value) within or joined to the current level SCSI
device.

A BUS IDENTIFIER field greater than zero represents physical SCSI
interconnect that connects a group of SCSI devices to the current level
SCSI device.  Each physical interconnect shall be assigned a unique
number from 1 to 63.  These bus identifiers shall be used in the BUS
IDENTIFIER field when assigning addresses to peripheral devices attached
to the physical interconnects.  When the BUS IDENTIFIER field is greater
than zero, the command shall be relayed to the logical unit zero within
target (TARGET/LUN field value) located physical interconnect (BUS
IDENTIFIER field value).  The target information in the TARGET/LUN field
may be a target identifier (see object definition 5) or it may be a
mapped representation of a target identifier, when the range of possible
target identifiers is to large to fit in the TARGET/LUN field.

3) I have taken perhaps more liberty than the working group intended in
rewording the description of how ACA and CA conditions for other
initiators do (or more particularly do not) affect "this" initiator.

The previous wording was:

If TST=001b, tasks from other initiators shall be enabled and completed
in accordance with the requirements of Clause 7.  Tasks created by other
initiators while the ACA or CA condition is in effect shall be entered
into that initiator's task set provided that the task set is not full and
the command is a  supported command without an illegal parameter.

The new wording is:

If TST=001b, tasks created by one initiator shall not be rejected based
on an ACA or CA condition in effect for another initiator.  Only ACA or
CA condition for the sending initiator (as well as other task set
management considerations described in clause 7) shall affect acceptance
into the task set or rejection for a task from that initiator.

4) Concerns were expressed about the following sentence describing
asynchronous event reporting:

Notification of command-related error conditions shall be sent only to
the initiator that initiated the affected task.

The problem was that "command-related error conditions" could be
interpreted broadly enough to include asynchronous event reports for
changes in mode pages and clearing a task set.  While reading the clause,
I discovered the following list of uses for Asynchronous Event Reporting:

a) an error condition was encountered after command completion;
b) a newly initialized device is available;
c) some other type of unit attention condition has occurred; or
d) an asynchronous event has occurred.

Examination of the list indicated that only the first entry should be
covered by the sentence in question.  With this in mind (plus a few
editorial changes), the replacement sentence reads:

Notification of an error condition encountered after command completion
shall be returned only to the initiator that sent the affected task.
*
* 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