Technical and editorial changes in SES from revision 5.0 to revision 7.0
Bob Snively
Bob.Snively at Eng.Sun.COM
Mon Jul 29 16:11:19 PDT 1996
* From the SCSI Reflector, posted by:
* Bob.Snively at Eng.Sun.COM (Bob Snively)
*
Please note that revision 6 was an interim revision that did not
reflect all the agreed-upon changes from revision 5.0
Revision 7.0 is, as far as I know, ready for balloting.
-------------------------------------------------------------------------------
Bob Snively Phone: (415) 786-6694
Sun Microsystems Computer Company FAX: (415) 568-9603
Mail Stop UMPK 12-204
2550 Garcia Avenue E-mail: bob.snively at sun.com
Mountain View, CA 94043-1100
-------------------------------------------------------------------------------
TECHNICAL CHANGES:
Clause 2
FC-PH is added to the normative references.
Clause 6.1.1
The enclosure descriptor length is moved to byte 11, the
end of the enclosure descriptor header to clarify the
bytes counted by that length.
Clause 6.1.1
The sub-enclosure identifier was defined as 0 for the
primary enclosure. That requirement is removed to allow
multiple primary enclosures.
Clause 6.1.2
The element control fields should over-ride instructions in the
overall control field except where required for proper
enclosure management.
Clause 6.1.2, 6.1.3, 6.1.10
Multi-initiator environment
My notes indicated that the role of multiple initiators accessing
the enclosure services process was discussed in one meeting. A
possibility was raised that it might be useful to keep separate
copies of the enclosure services pages for each initiator.
In general, it is extremely valuable to use the enclosure services
pages as a central and singular repository of the actual state
of the enclosure.
However, it is also clear that it may be useful to post
a few of those bits that represent changes of state to any
initiator that may be interested. This places extraordinary
responsibilities on the cooperating initiators to not mess up
each others recoveries. I have provided the requirement
of emitting the info bit to all known initiators, since it
is the only such state change bit that is found in the status
page but is not duplicated for every element. In addition,
I have specified that the InvOp bit is specified only to the
initiator that originated the invalid operation. I have not
included element level state change bits, including swap, in this
category, since there may need to be 100s of copies of these for
all elements.
Clause 6.1.2, 6.1.3
The resetting process of the conditions bits is clarified.
Clause 6.1.7
The behavior of the non-crit bit for those commands that provide
a check condition is modified. Instead of terminating
the command and presenting hardware error, I have suggested
completing the command and presenting a sense key of
recovered error.
Clause 6.1.7 and 6.1.8
The requirement for monotonic threshold values is removed.
The threshold example uses the new voltage threshold definition,
which uses % as the unit of tolerance.
Clause 6.2.2
The enclosure services mode page value has been selected to
be 14h, which overlaps with the medium partition page definition
of tape drives. This means that an enclosure services process
cannot be accessed through a tape drive.
Clause 7.2.2
The report bit is provided for the device element.
Clause 7.2.4
The reset mechanism of the power supply failure indicators had
not previously been defined. I have indicated that turning on
the power failure indication and turning it back off is the
mechanism that should be used for resetting the indicators.
Clause 7.2.8
The rqst mute bit did not have a valid reset defined. I have
assigned the setting of the set mute signal to clear the rqst mute
bit.
Clause 7.2.2, 7.2.9,
The select and report bits are moved to byte 2, bit 0 for
consistency with the device element bit assignments.
Clause 7.2.15
The report bit is provided for the SCSI port/transceiver element.
Clause 7.2.18
The voltage units are changed to 10 mv. The threshold is defined
in units of 0.5% above the nominal maximum of the specified voltage
range and in units of 0.5% below the nominal minimum of the
specified voltage range.
Clause 7.2.19
The current units are changed to 10 ma. The threshold is defined
in units of 0.5% above the nominal maximum operating current. No
minimum threshold is defined.
Clasue 7.2.20, 21
The report bit is provided for the SCSI initiator and target ports.
Clause A.3
The enclosure descriptor length is moved to byte 11, the
end of the enclosure descriptor header to clarify the
bytes counted by that length.
Clause A.3
The primary sub-enclosure was previously defined to have
a sub-enclosure identifier of zero. The restriction is removed
and all sub-enclosure identifiers are vendor specific. This
allows multiple primary sub-enclosures to be defined in a vendor
specific manner. The term "primary enclosure" is changed to
"primary sub-enclosure".
Clause B.1
Annex C is included in the document to explain the SES unique
error codes defined in SPC.
JUDGEMENT CALLS I MADE ABOUT TECHNICAL COMMENTS OR QUESTIONS
1) Allocation length behavior
For outbound allocation length violations, SEND DIAGNOSTIC
in SPC explains clearly the proper behavior, which is a superset
of the behavior of SES, which only transmits one page at a time.
For inbound allocation length violations, I cannot find the text
in SPC that says the right words. I would appreciate someone
pointing them out to me. The right words (SAM? SIP?) say
something to the effect that it is not an error to request
an allocation length different than the page length and that
the smaller of the allocation length and the page length will
indicate the actual transfer length.
(Ralph Weber accepted an action item to clarify this at the last
SCSI meeting)
2) Clause 6.1.2
The meeting in late June proposed that if the element control
field should override the overall control field except where
the element control functions are not implemented individually.
It further proposed that a check condition should be presented
if there was a conflict on an enclosure that did not implement
element control functins individually.
After rethinking this, I have included text that only says the
element control field should override the overall control field
unless the enclosure processor doesn't feel like it. That would
prevent check conditions from occurring on one system for operations
that would nominally be acceptable for other systems.
The model has already been modified to make collective the
concept of having to read back your settings to see if they
were overriden by another initiator or the enclosure processor.
3) Clause 6.1.2
The discussion suggested the possibility that the GOOD status
using the InvOp bit in the next status type page might be
incorrect. After considering this question, I believe that
the present text remains the best solution.
4) Clause 6.1.7
I have modified the behavior of the non-crit bit for those
commands that provide a check condition. Instead of terminating
the command and presenting hardware error, I have suggested
completing the command and presenting a sense key of
recovered error.
Should I return it to the old way of presenting a hardware
error and terminating the command?
Note that realistically, there are very few such commands.
INQUIRY, RECEIVE DIAGNOSTIC RESULTS, and SEND DIAGNOSTIC
do not use check conditions for any of the abnormal condition
states. TEST UNIT READY and the optional commands may do so.
5) Clause 6.1.7, 6.1.2, 6.1.5,
The description of the mechanism for presenting errors
is moved from the individual pages to the model, in clause
4.1.5. Please review this section.
Note that this could also be applied to invalid ES page
requests, including invalid writes of status and configuration
pages. At present, I have only used this mechanism for
writes of invalid parameters in control pages or for
reads of invalid status pages.
6) Clause 7, all
The disable bit is presently defined as a bit that disables
inputs and measurements from sensors. If its definition
were made somewhat broader, the bit could be almost
universally used for many of those elements that should
be turned off or disabled, including key-pads, communications
ports, and others. I have not presently made such a change.
7) Clause 6.2.3
The non-crit bit is presently set during the whole period
a non-critical condition is present in the device. It had
been suggested that it be provided only once per initiator
per condition, like the information bit. My own interpretation
is that, since it can be ignored anyway, the collection of
non-critical conditions will be periodically explored at the
application client's leisure. This is a simpler approach and
has no apparent problems.
8) Clause 7.2.2, 7.2.3
Additional vendor specific bits controlling indicators have
been suggested. I believe that we have enough bits out there
already, and would prefer to see those that exist mapped
logically or directly to the vendor specific requirements.
9) Clause 6.1.7 and 6.1.8
George Penokie requested a re-ordering of the field descriptions and
the discussion of the descriptions. After significant rewriting
and finding that much of the information actually collapsed into the
field descriptions, I left the discussion in the same location.
SIGNIFICANT EDITORIAL MODIFICATIONS:
All text
Document number of X3T10/Project 1212D was installed.
Field and bit names are changed to small caps.
The word "presented" is often replaced with the word "set".
The word "not be set" is often replaced with "remain cleared".
Annex B
Removed. Relevant text is included in SPC revision 9b
Annex C
Removed. Relevant text is included in SPC revision 9b
Clause 3
The INQUIRY ANSI-approved version field is defined as being
3h, indicating that the commands comply with SPC.
Clause 4
The text from Clause 6 indicating that bits may be set by
hosts for reference by other hosts (formerly in the section
describing the usage of the Info, Crit, Non-crit, and Un-recov
bits) is moved to the model and expanded to include the
general concept of external indicators and internal indicators.
Clause 6
Removed text about behavior with different lengths, since that
is explicit in other standards (see issue 1).
Clause 6
A number of common statements about the short status are moved
to a single common location in a new Clause 4.1.4
Clause 6
Field definitions are provided in standard format.
Clause 6.1.4, 6.1.5, 6.1.6
An entry is provided describing the contents of the
special fields for the help text page, string out page, and
string in page.
Clause 6.1.7, 6.1.2, 6.1.5, 6.1.9
The description of the mechanism for presenting errors
is moved from the individual pages to the model, in clause
4.1.5. Please review this section.
Clause 6.1.7 and 6.1.8, Threshold pages
There has been a significant rewrite to these. Please review
for errors.
Clause 6.1.9 and 6.1.10, Array pages
There has been a significant rewrite to these, modeling them
after the improved text in the enclosure pages. Please review
for errors.
Section 6.2
Reformatted and reworded to follow the already reviewed model
provided by SCC.
Clause 7
Disable bit use moved to table 22.
Clause 7
Modified references to refer to "fields" instead of "entries"
and to use the proper names of the fields as defined in
clause 6.
Clause 7
Defined only the contents of the status information and the
control information fields, bytes 1-3, for all elements.
The general stuff moved to the beginning.
Clause 7
All element definitions are written instead of tabled.
The rewrite places them all in text and puts the header on
the same line as the first line. Please review these carefully.
Clause 7.2.12
The threshold definition for battery status is clarified
by reference to clause 6.1.7.
Annex A
References to "flat addressing" are all replaced with
"sub-enclosure accessing". Appropriate supporting modifications
are made.
Clause A.3
The enclosure descriptor length is already specified by clause
6.1.1. The description is removed from A.3
MINOR EDITORIAL MODIFICATIONS:
All text
Replaced reference to X3.270 with reference to SAM.
Replaced abbreviation ES with "enclosure services".
Removed abbreviation ES from page names as redundant.
References to X3.nnn are changed to be references to SPC.
All text
All check conditions shall be constructed in the following format:
...shall be terminated with CHECK CONDITION status. The sense
key shall be set to ______ and the additional sense code shall
be set to _____
Table of Contents
Reformatted (Penokie)
Clause 1
Minor editorial changes
Clause 2
Removed ANSI X3.230 and ANSI X3.269 from references, pending
identification of any relevant references.
Added X3T10/Project 995D, Revision 9b (SPC) as a reference.
Clause 3
Added the following definitions/conventions:
device slot
device type
device server
informational condition
non-critical condition
critical condition
unrecoverable condition
redundancy
Modified the following definitions/conventions:
enclosure services
Removed pending requirement for definition:
input/output
interface
I/O operation
Moved to keyword subclause
ignored
reserved
Clarified keyword definition
reserved
Editorial conventions are simplified and unused conventions removed.
Clause 4
Many small editorial modifications to improve clarity.
The command list is separated into a separate clause.
The footnote qualifying the presence of Annex B is removed,
since Annex B is now removed.
Clause 5
Newly created to separate model from command list
Clause 6
Many small editorial modifications to improve clarity.
Moved text about commands to clause 5, as a footnote to table 1.
Table 4 is cleaned up and clarified.
The word "entry" is mostly replaced with the word "field".
The word "offending" is mostly replaced with "invalid" or
"inconsistent"
Field names are simplified.
Reference to standard diagnostic page header and page header
fields is moved to clause 6.1 from each of the subclauses.
Clause 6.1.2
Added text to indicate order of elements is vendor specific,
stolen from 6.1.3.
Clause 6.1.3
Moved text indicting order of elements is vendor specific.
Clause 7
Many small editorial modifications to improve clarity
Correct capitalization of all element names.
Annex A
Many small editorial modifications to improve clarity.
More information about the T10
mailing list