Revision 2 of Device Identification Proposal (95-240r2)

Lohmeyer, John JLOHMEYE at cosmpdaero.ftcollinsco.ncr.com
Tue Nov 14 14:08:00 PST 1995


Attached is Rev 2 of the Device Identification proposal, which includes the 
comments I received last week from the SCSI working group.  I think it is 
complete and ready for incorporation into SPC.  I am requesting that people 
pay special attention to the added example -- it was not generated nearly as 
automatically as it appears!

If this ASCII version does not come through the email systems readable, 
there is a Word 6.0 copy (with change bars) on the SCSI BBS (719-574-0424) 
in file 95-240r2.doc.

John
 --
John Lohmeyer             E-Mail:  john.lohmeyer at symbios.com
Symbios Logic Inc.         Voice:  719-573-3362
1635 Aeroplaza Dr.           Fax:  719-573-3037
Colo Spgs, CO 80916     SCSI BBS:  719-574-0424 300--14400 baud


[[ 95-240R2.ASC : 4186 in 95-240R2.ASC ]]

                                                               X3T10/95-240 r2
          


     Date: November 14, 1995

       To: X3T10 Committee

     From: John Lohmeyer, Principal member from Symbios Logic

  Subject: Device Identification Page Proposal (Rev 2)


At the July `95 SCSI working group meeting, I presented revision 0 of this
proposal.  Rev 0 principally dealt with retrieving SCAM strings and defined an
new mode select/sense page.  With the input I received at that meeting plus
various discussions since the meeting, I have prepared revision 1.  This
proposal would define a new Vital Product Data page and includes the ability
to return multiple identifiers (e.g., a device may have both an X3T10
identifier and an IEEE identifier).

At the November `95 SCSI working group meeting, I received further input and
have prepared revision 2 based on this input.  The concept of group
identifiers was removed, several wording improvements were made, and an
example was added.

Proposed changes to SPC are to replace the existing section 8.4.3 with the
following paragraphs and to renumber the existing sections 8.4.3--8.4.5 to
8.4.4--8.4.6, respectively.  All references to these sections would need to be
adjusted, Table 93 would need to be updated, and subsequent tables would need
to be renumbered.

8.3.4 Device identification page

The optional device identification page (see table xx) provides the means to
retrieve zero or more identification descriptors for the logical unit.
Logical units may have more than one identification descriptor if both X3T10
and IEEE identifiers are supported or if group identifiers are supported in
addition to device identifiers.

Device identifiers are intended to be assigned to the device (e.g., a disk
drive) and not to the currently mounted media in the case of removable media
devices.  Media identification is outside the scope of this standard.  It is
expected that operating systems will make use of the device identifiers 
during system configuration activities to determine whether alternate paths 
exist for the same device.

                     Table xx - Device identification page
+=====-========-========-========-========-========-========-========-========+
|  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
|Byte |        |        |        |        |        |        |        |        |
|=====+==========================+============================================|
| 0   | Peripheral qualifier     |           Peripheral device type           |
|-----+-----------------------------------------------------------------------|
| 1   |                           Page code (83h)                             |
|-----+-----------------------------------------------------------------------|
| 2   |                           Reserved                                    |
|-----+-----------------------------------------------------------------------|
| 3   |                           Page length (n-3)                           |
|=====+=======================================================================|
|     |                           Identification descriptor list              |
|=====+=======================================================================|
| 4   | (MSB)                                                                 |
|- - -+- -                        Identification descriptor (0)            - -|
|     |                                                                 (LSB) |
|-----+-----------------------------------------------------------------------|
|     |                           .                                           |
|     |                           .                                           |
|     |                           .                                           |
|-----+-----------------------------------------------------------------------|
|     | (MSB)                                                                 |
|- - -+- -                        Identification descriptor (last)         - -|
| n   |                                                                 (LSB) |
+=============================================================================+

Each Identification descriptor (see table xx+1) contains information
identifying the logical unit.  If the logical unit is accessible through 
any other path, it shall return the same identification.


                    Table xx+1 - Identification descriptor
+=====-========-========-========-========-========-========-========-========+
|  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
|Byte |        |        |        |        |        |        |        |        |
|=====+==========================+============================================|
| 0   |        Reserved                   |         Code set                  |
|-----+-----------------------------------------------------------------------|
| 1   |        Reserved                   |         Identifier type           |
|-----+-----------------------------------------------------------------------|
| 2   |                           Reserved                                    |
|-----+-----------------------------------------------------------------------|
| 3   |                           Identifier length (m-3)                     |
|-----+-----------------------------------------------------------------------|
| 4   | (MSB)                                                                 |
|- - -+- -                        Identifier                               - -|
| m   |                                                                 (LSB) |
+=============================================================================+

The code set field specifies the code set used for the identifier field as
described in table xx+2.  This field is intended to be an aid to software that
displays the identifier field.

                             Table xx+2 - Code set
+=======+=====================================================================+
| Value | Description                                                         |
+=======+=====================================================================+
|   0   | Reserved                                                            |
+-------+---------------------------------------------------------------------+
|   1   | The identifier field contains binary values.                        |
+-------+---------------------------------------------------------------------+
|   2   | The identifier field only contains ASCII graphic codes (i.e., code  |
|       | values 20h through 7Eh).                                            |
+-------+---------------------------------------------------------------------+
| 3-Fh  | Reserved                                                            |
+=============================================================================+

The identifier type field specifies the format and assignment authority for
the identifier as described in table xx+3.

                         Table xx+3 - Identifier type
+=======+=====================================================================+
| Value | Description                                                         |
+=======+=====================================================================+
|   0   | No assignment authority was used and consequently the identifier    |
|       | may not be globally unique (i.e., the identifier is vendor specific)|
+-------+---------------------------------------------------------------------+
|   1   | The first 8 bytes of the identifier field are an X3T10 Vendor ID    |
|       | (see annex C).  The organization assigned to the X3T10 Vendor ID is |
|       | responsible for ensuring that the remainder of the identifier field |
|       | is unique.  One recommended method of constructing the remainder of |
|       | the identifier field is to concatenate the product identification   |
|       | field from the standard INQUIRY data field and the product serial   |
|       | number field from the unit serial number page.                      |
+-------+---------------------------------------------------------------------+
|   2   | The identifier field contains an IEEE 64-bit identifier.  In this   |
|       | case, the identifier length field shall be set to 8.  Note that the |
|       | IEEE guidelines for 64-bit global identifiers specifies a method    |
|       | for unambiguously encapsulating 48-bit identifiers as 64-bit        |
|       | identifiers.                                                        |
+-------+---------------------------------------------------------------------+
|   3   | The identifier field contains an FC-PH 64-bit Name_Identifier field |
|       | as defined in X3.230-1994.  In this case, the identifier length     |
|       | shall be set to 8.                                                  |
+-------+---------------------------------------------------------------------+
| 4-Fh  | Reserved                                                            |
+=============================================================================+

The identifier length field specifies the length in bytes of the identifier.
If the allocation length field of the command descriptor block is too small to
transfer all of the identifier, the identifier length shall not be adjusted to
reflect the truncation.

The identifier field contains the identifier as described by the identifier
category, identifier type, code set, and identifier length fields.

The following example is not a normative part of this standard.  The example
assumes that the product is a direct-access device with an X3T10 Vendor ID of
`XYZ_Corp', a product identification of  `Super Turbo Disk', and a product
serial number of `2034589345'.  Furthermore, it is assumed that the
manufacturer has been assigned a 24-bit IEEE company_id of 01ABCDh by the IEEE
Registration Authority Committee and that the manufacture has assigned a 24-
bit extension_identifier of 234567h to this logical unit.  The combined 48-bit
identifier is reported in the 64-bit format as defined by the IEEE 64-bit
Global Identifier (EUI-64) standard.  The data returned in the device
identification VPD page for this logical unit would be:

                Table xx+3 - Device identification page example
+=======-====================================================-================+
| Bytes | Hexadecimal Values                                 | ASCII Values   |
+=======+====================================================+================+
|00--15 | 00 83 00 32  02 01 00 22  58 59 5A 5F  43 6F 72 70 |...2..."XYZ_Corp|
|16--31 | 53 75 70 65  72 20 54 75  72 62 6F 20  44 69 73 6B |Super Turbo Disk|
|32--47 | 32 30 33 34  35 38 39 33  34 35 01 02  00 08 01 AB |2034589345......|
|48--53 | CD FF FF 23  45 67                                 |......          |
+=============================================================================+

Note: In the above table, non-printing ASCII characters are shown as `.'.




More information about the T10 mailing list