Definition of Mandatory and Optional Features in SAM - resend

Charles Monia, SHR3-2/W3, 237-6757 30-Aug-1994 1811 monia at starch.enet.dec.com
Tue Aug 30 15:09:52 PDT 1994


My apologies to anyone receiving this for the second time. I am resending this 
because of a problem with our gateway which has caused loss of internet traffic.

Charles
==========================================================
From:	STARCH::MONIA        "Charles Monia, SHR3-2/W3, 237-6757"   25-AUG-1994 
17:37:03.27
To:	scsi_reflector
CC:	MONIA
Subj:	Definition of Mandatory and Optional Features in SAM

From: Charles Monia
           SAM Technical Editor

To: Members of X3T10

Subject: Definition of Mandatory and Optional Features in SAM
(X3T10/94-172R0)

There has understandably, been some uncertainty about how require-
ments and options defined in one standard may affect others.

The purpose of this proposal is to resolve this issue by defining the
precedence, scope and relationships between optional and mandatory
features than span SCSI-3 standards and implementations. This docu-
ment, as approved by the X3T10 membership, will be the basis for  a
detailed proposal containing exact textual changes to SAM.

Observations:

1.   In SCSI, an option is some feature that need not be supported
     for an implementation to claim compliance with a standard. If
     supported, the feature must be implemented in accordance with
     the standard.

2.   Features are supported by standards and implementations. A
     standard supports a feature by specifying how the feature shall
     be implemented. An implementation supports a feature if the
     feature is implemented in accordance with the standard.

3.   Certain features apply across classes of SCSI standards. For
     instance, even though  command queuing may be thought of
     as a logical unit option, the feature is unavailable to a device
     driver unless the protocol standards and protocol implementa-
     tions support it.

4.   Features may apply to standards in different ways. SAM must
     specify for each class of standard or implementation whether or
     not an applicable feature is an option or requirement. That is,
     SAM may specify that a feature is optional for a logical unit but
     mandatory for the protocol implementation. SAM can also
     delegate such control to another standard.

5.   SAM must define each class of standard and the precedence
     for resolving conflicts among classes of standards.

Given the above, I propose that text be added to SAM specifying the
following:

1.   A conflict between standards shall be resolved according to the
     following precedence:

               SAM
               SPC
               Other command standards
               Protocol standards
               Interconnect standards

     A subsidiary standard is one which is lower in precedence than
     a referenced standard. A controlling standard is higher in
     precedence than a referenced standard.

2.   A standard supports a feature if the standard specifies how the
     feature is to be implemented.

3.   A standard requires a feature if it supports the feature and
     requires that the feature be implemented and required by all
     subsidiary standards.

4.   A standard shall require all mandatory features defined by a
     controlling standard  (obvious but probably needs to be said).

5.   Unless otherwise specified in the controlling standard,  a sub-
     sidiary standard shall support all options specified in a control-
     ling standard.

An SCSI-3 standard shall define the scope of requirements and options
using language based on that shown below.

1.   "shall" -- Identifies a mandatory feature to be supported by an
     implementation subject to the standard and by required by all
     subsidiary standards.

2.    "...a logical unit shall support...." implies that the feature shall
     also be required by the protocol and interconnect standards.

3.   "...is a protocol option..." -- identifies a feature which may be
     optionally supported by a protocol standard. The protocol
     standard may also specify whether or not the feature shall be
     implemented.

4.   "...shall be required by a protocol standard..." or "...a protocol
     standard shall require..." -- identifies a feature that shall be
     supported by all protocol standards and protocol implementa-
     tions.

5.   "...is a logical unit option..." -- identifies a feature that may be
     optionally supported by a logical unit. Support by a protocol
     standard is mandatory. A protocol standard may or may not
     impose the requirement on implementations and subsidiary
     standards.

6.   "...a protocol standard shall support..." -- Indicates that the
     feature shall be supported by the protocol standard. The proto-
     col standard shall specify whether or not the feature shall be
     required by implementations and subsidiary standards.


For an option supported by the logical unit but not by the protocol
implementation, the protocol standard may require a logical unit to
indicate that the option is unsupported. Alternatively, the initiator's
service delivery port may provide some way for an application client to
determine which logical unit options are unsupported by the protocol
layer.

Charles Monia






More information about the T10 mailing list