SCSI-3 Reseved Fields and Codes

Charles Monia, SHR3-2/W3, 237-6757 27-Apr-1994 1503 monia at starch.enet.dec.com
Wed Apr 27 12:02:21 PDT 1994


From: Charles Monia
      Digital Equipment Corporation

Subject: Proposed Change to SAM 


The following change to SAM is proposed in response to the issue of
reserved field handling described in Bob Snively's memo (included below).
Note that in the existing SAM text (see below), the first  three sentences
define rules that apply to all scsi devices without indicating how or if
such rules are to be enforced. The requirement for enforcement
described in the remainder of the paragraph only applies to data
received by a logical unit. In my opinion, that does not include
data structures only visible within the service delivery
subsystem. The proposed modification is intended to clarify this
distinction. I believe the requirement for logical unit enforcement as set forth 
in the modified clause is identical to SCSI-2.


Current wording of clause 2.4, "Reserved Fields and Codes" (SAM
rev 13, pp 15):

"Reserved fields and code values within a data structure
specified by this or any other SCSI-3 standard are set aside for
future standardization.  Their use and interpretation may be
specified by future extensions to these standards.  A reserved
field shall be set to zero, or in accordance with a future
extension to any SCSI-3 standard.  A  logical unit that receives
a reserved field that is not zero or receives a reserved code
value shall terminate the command with CHECK CONDITION status and
the sense key shall be set to ILLEGAL REQUEST (see the SPC
standard).  It shall also be acceptable for a  logical unit to
interpret a field  or code value in accordance with a future
revision to an SCSI-3 standard."


Proposed new wording:

"Reserved fields and code values within a data structure
specified by this or any other SCSI-3 standard are set aside for
future standardization.  Their use and interpretation may be
specified by future extensions to these standards.  A reserved
field shall be set to zero, or in accordance with a future
extension to the applicable SCSI-3 standard.

A  logical unit which receives a command descriptor block or
command data containing a non-zero reserved field or reserved
code value shall terminate the command with CHECK CONDITION
status. The sense key shall be set to ILLEGAL REQUEST (see the
SPC standard).  It shall also be acceptable for a  logical unit
to interpret such fields  or code values in accordance with a
future revision to an SCSI-3 standard."


Start of Bob Snively's memo
=================================
Date:	26-APR-1994 18:52:41.94
From:	US4RMC::"Bob.Snively at eng.sun.com" "Bob Snively"
Subj:	The trusted environment question
To:	scsi at WichitaKS.NCR.COM
	
Review of the FCP has shown the following problems in SAM 12A that
need to be reviewed.


Comment 1	Reserved Field (Technical)

Section 2.4, page 17, is excessively restrictive.  

a)	It makes the assumption that SCSI devices cannot to
	be treated as trusted partners.  In fact, it is impossible
	for any SCSI device to thoroughly analyze the possible
	invalidity of each nuance of protocol and data structure
	in a meaningful manner.  The SCSI devices have to be expected
	to obey the restrictions placed on them by the standards.
	Such analysis should be performed during the design, debug,
	and integration of a SCSI device into a system, not during 
	normal operation.

b)	It provides only one recovery mechanism for any data structure 
	defined in any SCSI-3 standard.  Data structures defined for
	software interfaces or messages use other notification
	mechanisms for indicating invalid values.

c)	The section disallows the use of compatible extensions
	that make use of data that is ignored by previous generations
	of devices. 

I would suggest that the wording similar to the convention of FC-PH 
regarding the word "shall" be used.  The added text would then indicate:

"The term "shall" is used to indicate a mandatory rule.  If such a rule
is not followed, the results are unpredictable unless indicated otherwise."

"For all SCSI-3 standards, the term "reserved" is used to indicate 
that a field or code value
within a data structure is set aside for future standardization.
A reserved field shall be set to zero or in accordance with a future
extension to the defining SCSI-3 standard.  A reserved code value
shall not be used except in accordance with a future extension to the
defining SCSI-3 standard.  If these rules are not
followed, the results are unpredictable unless indicated otherwise."
========================================
End of Bob Snively's memo.




More information about the T10 mailing list