SAM-2 Revision 6: Address Model

Ericson, George gericson at clariion.com
Fri Jun 12 14:02:37 PDT 1998


* From the T10 (formerly SCSI) Reflector (t10 at symbios.com), posted by:
* "Ericson, George" <gericson at clariion.com>
*
Ralph,
This is an update of the original note that I sent in April.   Updates to this note reflect specific changes made for revision 6 of SAM, but otherwise differences from that note are primarily word-smithing.
Regards, 
George Ericson 
  _____  

CLARiiON Storage Division      Data General Corporation 
Coslin Drive, MS-C44              Tel: 508 480-7349 
Southboro, Ma. 01772             Fax: 508 480-7913 
   
------------------------------------------------------------------------------------------------------
This note addresses issues with the definitions of LUNs as defined in revision 6 of SAM-2. 
Issue 1: 
	Problem:
		The SCSI model does not provide for meaningful Interconnect Subsystem (i.e. bus) identification.  However, the text makes various references to bus numbers or identifiers.   In the text, there are various attempts to define these, but these definitions are not consistent.  Also, they do not account for the fact that a device can not generally tell if the Interconnect Subsystem reached by one Service Delivery Port is different or the same as the Interconnect Subsystem reached via a different Service Delivery Port attached to the same device.
	Solution:
		The solution is to not attempt to label the Interconnect Subsystems, but rather to provide a device relative label for each Service Delivery Port of a device.
		To Section 4.7, 
			Object Definition 3, add 
				Device Port = Service Delivery Port + Device Port Identifier 
				Device Port Identifier = bit<6> < [ 0|...|(2**6)-1] 
			To Object Descriptions add: 
				Device Port: Is a service delivery port connected to a particular device and named in the context of the device. If a device supports hiearchical addresses, the Device Port Identifier names a particular path to a lower level device. A Target Device must have at least one input Device Port. An Initiator Device must have at least on output Device Port.  A Device Port may support input, output, or both. 
				Device Port Identifier: An encoded number between 1 and 63 which names a Service Delivery Port of a Device. The value 0 is reserved to mean that no Service Delivery Port is being used.  When used as part of an object address, a value of 0 implies the named object is within or directly attached to the current device.   Note that Device Port Identifier is not cast as Bus Number because there is no mechanism to reliably name a SCSI Bus or Interconnect System. 
		To Section 4.7.2 Object Descriptions
			Change the first sentence of the Target Identifier description to read: "64 bits that, in the Domain of a particular Service Delivery Subsystem, identifies a particular Service Delivery Port connected to a target device.  Note that the Target Identifier used to reach a particular Service Delivery Port from outside a Device and the Device Port Identifier used to reach the same Service Delivery Port from inside the Device need not be the same." 
		To Figure 16 in section 4.7.5:
			Remove the "bus n" labels.  Or, add a note that clarifies the relationship between Device Ports Identifiers of all Devices sharing the same Service Delivery Subsystem and the named busses.
			Replace the last two paragraphs beginning: 
				"Within the hierarchical system there may be ..."  
			With: 
				"Within the hierarchical system there may be target devices that may be capable of forwarding commands to other target devices that are reached through interconnect subsystems between the two target devices.  A target device may assign Device Port Identifiers, other than 0, to its Device Ports.  These Device Port Identifiers shall be used when assigning Logical Unit Numbers to the Logical Units of Target Devices reached through those Device Ports.
				Target devices shall assign a Device Port Identifier of zero to all the logical units under control by the target that are not connected through the target's Device Ports.
		To  section 4.7.5.3:
			Change "BUS NUMBER" to "DEVICE PORT IDENTIFIER" in both Table 5 and the text.
			The words "bus (BUS NUMBER field value)" should be changed to "Device Port of this device named by the DEVICE PORT IDENTIFIER".
		To  section 4.7.5.4:
			Change "BUS IDENTIFIER" to "DEVICE PORT IDENTIFIER" in both Table 6 and the text.
Issue 2:
	Problem: 
		Bus numbering schemes for different address methods are allowed to be different.  The requirement for allowing a bus (Device Port Identifier) to have different values depending on address method used is not spelled out in the document.  Unless needed, we should settle on one model.
	Solution:
		To  section 4.7.5.3:
			Change "TARGET" to "TARGET/LUN" in both Table 5 and the text. 
			Add Paragraph:  If DEVICE PORT IDENTIFIER is 0, then the TARGET/LUN field is concatenated as high-order bits to the LUN field to form a LUN within the current device.  If DEVICE PORT IDENTIFIER is not 0, then TARGET/LUN field is interpreted as the target identifier of the target device on the service interconnect subsystem accessed via the named device port.
			Delete phrase "or it may be a mapped representation of target identifier ...".
		To  section 4.7.5.4:
			The 3rd sentence in the 4th paragraph that reads: "However, bus identifier zero zero shall indicate tha the command is to be relayed to a logical unit with  ..."  Delete the word "However,".
			Delete phrase "or it may be a mapped representation of target identifier ...".
Issue 3:
	Problem:
		The names Peripheral device addressing method and Virtual device addressing method imply the goal is to address a SCSI device rather than a Logical Unit.  In fact, we always address a Logical Unit through a device.  
	Solution:
		Since each type may be used to point to the same logical unit, I suggest that the address methods simply be named type 0, type 1, and type 2 addresses. (Also the distinction between virtual, peripheral, and logical is at best subtle.) 
Issue 4:
	Problem:
		The last sentence reads: "The SCSI Device located within the current level shall be addressed by a BUS IDENTIFIER field of all zeros, also known as LUN 0 (see 4.7.5.1).  
		This statement is redundant with section 4.7.5.1.  Also, it is not the SCSI Device that is addressed, rather it is specifically Logical Unit zero of the SCSI Device.
	Solution:
		Delete the sentence.
Issue 5:
	Problem:
		The 1st sentence of section 4.7.5.5 says a virtual device "executes command(s) using algorithms defined by a configuration."   Is this a requirement or simply permission.  Same statement might apply to devices addressed by either logical unit or peripheral device addressing method.
	Solution: 
		Delete 1st sentence. 
Issue 6:
	Problem:
		In section 4.7.5.5, "Note 5 The virtual device might not be under the control of the addressed SCSI device.  It is allowed to be in an SCSI device lower in the hiearchy."
		This statement is not conformant to the rest of the spec.  In particular, see last sentence of section 4.7.5 (original or as modified here.)  The virtual device is more properly thought of a "virtual" Logical Unit object which is defined in the context of the addressed SCSI device.  The implementation of this Logical Unit may use Logical Units contained in devices lower in the hierarchy.  But this is also true of Logical Units reached via peripheral or logical unit addressing methods, so does not need to be stated.
	Solution: 
		Replace Note 5 with the following sentence:
		The virtual device address names a Logical Unit defined in the context of the addressed SCSI device.  
		The following two paragraphs beginning "All SCSI commands are allowed..." is made obvious since the addressed object is a Logical Unit.  They should be deleted.
		In the last sentence, the words "virtual device" should be replaced with "logical unit"
Regards, 
George Ericson 
  _____  

CLARiiON Storage Division      Data General Corporation 
Coslin Drive, MS-C44              Tel: 508 480-7349 
Southboro, Ma. 01772             Fax: 508 480-7913 
   


*
* 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