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