SDA Commands and Mode Pages (94-042r2)

George Penokie GOP at rchvmp3.vnet.ibm.com
Tue Mar 8 09:19:23 PST 1994


.fo off
.pl 64
.tm 0
.bm 0
   Date:  Mar 01,1994                        X3T10/94-042 rev 2


   To:  X3T9.2 Committee (SCSI)

   From:  George Penokie (IBM)

   Subject:  SDA Commands and Mode Pages

   1.0 Overview

   To control and configure a SCSI-3 Disk Array several new
   commands and mode pages are required.  This proposal defines
 | those commands and mode pages.  All the listed commands and
 | mode pages are only valid for the Base Device Address (P-LUI
 | LUN zero) on SDA device types.

 | An Inquiry command addressed to a volume set shall indicate
 | a Peripheral device type equivalent to the devices that makeup
 | the volume set (e.g. direct-access device, sequential-access
 | device, etc.).

 | <<Editors Note:  A bit will be added to the Standard Inquiry
 | data format to indicate the LUN is a Volume Set.  The name of
 | the bit should be SDAVol.  The following text should be added
 | to the Inquiry command description:

 | A SDA Volume Set Addressed (SDAVol) bit of one indicates the
 | addressed device is a volume set that is configured within a
 | SDA device.  GOP>>

   <<Editors Note:  This pass only contains an outline of the
   commands and mode pages GOP>>

   2.0 Extents

   2.1 P-extent

   All P-extents contain the following information:

   -Physical Logical Unit Identifier (P-LUI)  2 bytes
   -Start P-LBA                               4 bytes
   -Number of P-LBAs                          4 bytes
   -Number of Bytes per P-LBA                 2 bytes

   Note:For variable block length device types the number of
   bytes per P-LBA field shall be set to zero.

   2.2  PS-extent

   All PS-extents contain the following information:

   -Physical Logical Unit Identifier (P-LUI)  2 bytes
   -Start PS-LBA                              4 bytes
   -Number of PS-LBAs                         4 bytes
   -Number of Bytes per PS-LBA                2 bytes

   Note:For variable block length device types the number of
   bytes per P-LBA field shall be set to zero.

   3.0  Maintenance Operations

   3.1  Report P-LUI Command

   The CDB would contain the following:

 | -Report all or Selected P-LUIs                    (S) 1 bit
 | -Physical Logical Unit Identifier (P-LUI)         (S) 2 bytes

   This command would return the following parameter list:

   -Physical Logical Unit Identifier      (P-LUI) (R)   2 bytes
   -Peripheral Device Type                (1 per P-LUI) 1 byte
   -Replaceable Unit                      (1 per P-LUI) 1 bit
   -State of the P-LUI                    (1 per P-LUI) 1 byte

   Note:Any parameters indicated by a (R) may be repeated.  Any
   parameters indicated by a (S) shall only occur once per
   service request.

 | 5.1.2 Attach C-LUI Service

   This command would send the following parameter list:

 | -Component Logical Unit Identifier (C-LUI)        (S) 2 bytes
 | -Redundancy Group Logical Unit Identifier (R-LUI) (R) 2 bytes
 | -Attached P-LUI                                   (R) 2 bytes
 | -Attached C-LUI                                   (R) 2 bytes

 | Note:Any parameters indicated by a (R) may be repeated.  Any
 | parameters indicated by a (S) shall only occur once per
 | service request.
 |
 | 5.1.2 Report C-LUI Service

 | The CDB would contain the following:

 | -Report all or Selected C-LUIs                    (S) 1 bit
 | -Component Logical Unit Identifier (C-LUI)        (S) 2 bytes

 | This command would return the following parameter list:

 | -Component Logical Unit Identifier (C-LUI)       (R)           2 bytes
 | -Component Type                                  (1 per C-LUI) 1 byte
 | -Replaceable Unit                                (1 per C-LUI) 1 bit
 | -State of the C-LUI                              (1 per C-LUI) 1 byte
 | -Redundancy Group Logical Unit Identifier (R-LUI)(x per C-LUI) 2 bytes
 | -Attached P-LUI                                  (x per C-LUI) 2 bytes
 | -Attached C-LUI                                  (x per C-LUI) 2 bytes
 |
 | Note:Any parameters indicated by a (R) may be repeated.  Any
 | parameters indicated by a (S) shall only occur once per
 | service request.

 | 3.2  Report P-LUI/C-LUI Identifier Command

   The CDB would contain the following:

 | -Report P-LUI or C-LUI Identifier                 (S) 1 bit
 | -Logical Unit Identifier          (P-LUI or C-LUI)(S) 2 bytes

   This command would return the following parameter list:

   -Identifier                             Variable

 | 3.3  Set P-LUI/C-LUI Identifier Command

   The CDB would contain the following:

 | -Set P-LUI or C-LUI Identifier                    (S) 1 bit
 | -Logical Unit Identifier          (P-LUI or C-LUI)(S) 2 bytes

   This command would send the following parameter list:

   -Identifier                             Variable

   3.4  Report P-Extent Command

   The CDB would contain the following:

 | -Report all or Selected P-extents                 (S) 1 bit
 | -Physical Logical Unit Identifier (P-LUI)         (S) 2 bytes
 | -Report assigned/unassigned P-Extents             (S) 1 bit

   This command would return the following parameter list:

   -P-extent                          (R)              12 bytes
   -Peripheral Device Type            (1 per P-extent)  1 byte
   -State of the P-extent             (1 per P-extent)  1 byte

 | 3.5  Exchange P-LUI/C-LUI Command (Immediate bit in CDB)

   The CDB would contain the following:

 | -Select P-LUI or C-LUI for Exchange         (S)  1 bit
 | -Old P-LUI or C-LUI                         (S)  2 bytes
 | -New P-LUI or C-LUI                         (S)  2 bytes

 | 3.6  Remove P-LUI/C-LUI Command

   The CDB would contain the following:

 | -Select P-LUI or C-LUI to Remove            (S)  1 bit
 | -P-LUI or C-LUI                             (S)  2 bytes

 | 5.1.10  Add P-LUI/C-LUI Service

 | The CDB would contain the following:

 | -Select P-LUI or C-LUI for Add              (S)  1 bit
 | -P-LUI or C-LUI                             (S)  2 bytes

   3.7  Exchange P-extent Command (Immediate bit in CDB)

   This command would send the following parameter list:

   -Old P-extent                      (S)  12 bytes
   -New P-extent                      (S)  12 bytes

   3.8  Set Method of Reporting Informational Exception
   Conditions Mode Page

   A SDA mode page would contain the following:

   -Method of Reporting Informational Exceptions   (S) 1 byte
   -Log Informational Exceptions                   (S) 1 bit

   4.0 Redundancy Group Operations

   4.1  Create/Modify Redundancy Group Command (Immediate bit in CDB)

   This command would send the following parameter list:

   -Redundancy Group Logical Unit Identifier (R-LUI)      (S) 2 bytes
   -Recalculate check data                                (S) 2 bits
   -Granularity of Units (bit, byte, logical block, etc.) (S) 1 byte
   -P-Extent                                              (R) 12 bytes
   -Preserve protected space                 (1 per P-extent) 2 bits
   -Set protected space to known value       (1 per P-extent) 9 bits
   -Redundancy Type Identifier               (1 per P-extent) 1 byte
   -Start check data interleave P-LBA        (1 per P-extent) 4 bytes
   -Number of units of check data            (1 per P-extent) 4 bytes
   -Number of units of user data             (1 per P-extent) 4 bytes

   4.2  Report Redundancy Groups Command

   The CDB would contain the following:

   -Report all R-LUIs (Yes/No)                       (S) 1 bit
   -Redundancy Group Logical Unit Identifier (R-LUI) (S) 2 bytes

   This command would return the following parameter list:

   -Redundancy Group Logical Unit Identifier (R-LUI)      (R) 2 bytes
   -Redundancy Type Identifier                  (1 per R-LUI) 1 byte
   -Granularity of Units (bit, byte, etc.)      (1 per R-LUI) 1 byte
   -State of the Redundancy Group               (1 per R-LUI) 1 byte
   -P-Extent                                    (x per R-LUI) 12 bytes
   -Start Check Data Interleave P-LBA        (1 per P-extent) 4 bytes
   -Number of units of check data            (1 per P-extent) 4 bytes
   -Number of units of user data             (1 per P-extent) 4 bytes

   4.3  Report Unassigned Redundancy Group Space Command

   The CDB would contain the following:

   -Report all unassigned R-LUIs (Yes/No)            (S) 1 bit
   -Redundancy Group Logical Unit Identifier (R-LUI) (S) 2 bytes

   This command would return the following parameter list:

   -Redundancy Group Logical Unit Identifier (R-LUI)      (R) 2 bytes
   -Redundancy Type Identifier                  (1 per R-LUI) 1 byte
   -State of the Redundancy Group               (1 per R-LUI) 1 byte
   -PS-extent                                   (x per R-LUI) 12 bytes

   4.4  Delete Redundancy Group Command

   The CDB would contain the following:

   -Redundancy Group Logical Unit Identifier (R-LUI) (S) 2 bytes

   4.5 Recalculate Check Data Command (Immediate bit in CDB)

   The CDB would contain the following:

   -Redundancy Group Logical Unit Identifier (R-LUI) (S) 2 bytes

   4.6  Verify Check Data Command (Immediate bit in CDB)

   The CDB would contain the following:

   -Redundancy Group Logical Unit Identifier (R-LUI) (S) 2 bytes

   4.6.1  Verify Check Data Mode Page

   A SDA mode page would contain the following:

   -Enable/Disable Continuous Verification           (S) 1 bit

   4.7  Control Generation of Check Data Mode Page

   A SDA mode page would contain the following:

   -Redundancy Group Logical Unit Identifier (R-LUI) (S)  2 bytes
   -Enable/Disable Check Data                        (S)  1 bit

   4.8  Rebuild P-extent Command (Immediate bit in CDB)

   This command would send the following parameter list:

   -P-extent                                         (S) 12 bytes
   -Redundancy Group Logical Unit Identifier (R-LUI) (R) 2 bytes

   4.9  Rebuild P-LUI Command (Immediate bit in CDB)

   This command would send the following parameter list:

   -P-LUI                                            (S) 2 bytes
   -Redundancy Group Logical Unit Identifier (R-LUI) (R) 2 bytes

   5.0  Volume Set Operations

   5.1  Create/Modify Volume Set Command (Immediate bit in CDB)

   This command would send the following parameter list:

   -Volume Set Logical Unit Identifier (V-LUI)            (S) 2 bytes
   -PS-extent Stripe Length                               (S) 4 bytes
   -PS-extent Interleave Depth                            (S) 4 bytes
   -Granularity of Units (bit, byte, logical block, etc.) (S) 1 byte
   -PS-extent                                             (R) 12 bytes
   -User Data Stripe Depth                  (1 per PS-extent) 4 bytes
   -Increment/Decrement PS-LBA Count        (1 per PS-extent) 4 bytes

   5.2  Report Volume Sets Command

   The CDB would contain the following:

   -Report all V-LUIs (Yes/No)                 (S) 1 bit
   -Volume Set Logical Unit Identifier (V-LUI) (S) 2 bytes

 | This command would return the following parameter list:

   -Volume Set Logical Unit Identifier (V-LUI)            (R) 2 bytes
   -PS-extent Stripe Length                     (1 per V-LUI) 4 bytes
   -PS-extent Interleave Depth                  (1 per V-LUI) 4 bytes
   -Granularity of Units (bit, byte, etc.)      (1 per V-LUI) 1 byte
   -State of the Volume Set                     (1 per V-LUI) 1 byte
   -PS-extent                                   (x per V-LUI) 12 bytes
   -User Data Stripe Depth                  (1 per PS-extent) 4 byte
   -Increment/Decrement PS-LBA Count        (1 per PS-extent) 1 bit

   5.3  Delete Volume Set Command

   The CDB would contain the following:

   -Volume Set Logical Unit Identifier (V-LUI)  (S) 2 bytes

   5.4  Recalculate V-LUI Check Data Command (Immediate bit in
   CDB)

   The CDB would contain the following:

   -Volume Set Logical Unit Identifier (V-LUI)  (S) 2 bytes

   This command would send the following parameter list:

   -Start V-LBA                                 (S) 4 bytes
   -Number of V-LBAs                            (S) 4 bytes

   5.5  Verify V-LBA Check Data Command (Immediate bit in CDB)

   The CDB would contain the following:

   -Volume Set Logical Unit Identifier (V-LUI)       (S) 2 bytes

   This command would send the following parameter list:

   -Start V-LBA                                      (S) 4 bytes
   -Number of V-LBAs                                 (S) 4 bytes

   5.5.1  Verify Check Data Mode Page (Immediate bit in CDB)

   A SDA mode page would contain the following:

   -Enable/Disable Continuous Verification           (S) 1 bit

   5.6  Control Generation of Check Data Mode Page

   A SDA mode page would contain the following:

   -Volume Set Logical Unit Identifier (V-LUI)       (S) 2 bytes
   -Enable/Disable Check Data                        (S) 1 bit

   5.7  Control Write Operations Mode Page

   A SDA mode page would contain the following:

   -Volume Set Logical Unit Identifier (V-LUI)       (S) 2 bytes
   -Enable/Disable Write Operations                  (S) 1 bit

   6.0  Spare Operations

   6.1  Create/Modify P-extent Spare Command (Immediate bit in CDB)

   This command would send the following parameter list:

   -Spare Logical Unit Identifier (S-LUI)            (S) 2 bytes
   -P-Extent                                         (S) 12 bytes
   -Redundancy Group Logical Unit Identifier (R-LUI) (R) 1 bytes
   -Associated P-Extent                              (R) 12 bytes

   6.2  Report P-extent Spare Command

   The CDB would contain the following:

   -Report all P-extent Spares (Yes/No)              (S) 1 bit
   -Spare Logical Unit Identifier (S-LUI)            (S) 2 bytes

 | This command would return the following parameter list:

   -Spare Logical Unit Identifier (S-LUI)                     (R) 2 bytes
   -P-Extent                                        (1 per S-LUI) 12 bytes
   -State of the spare                              (1 per S-LUI) 1 byte
   -Redundancy Group Logical Unit Identifier (R-LUI)(x per S-LUI) 2 bytes
   -Associated P-Extent                             (x per S-LUI) 12 bytes

 | 6.3  Create/Modify P-LUI/C-LUI Spare Command (Immediate bit in
 |      CDB)

   The CDB would contain the following:

 | -Create/Modify P-LUI or C-LUI Spare               (S) 1 bit

   This command would send the following parameter list:

   -Spare Logical Unit Identifier (S-LUI)            (S) 2 bytes
   -P-LUI or C-LUI                                   (S) 2 bytes
   -Redundancy Group Logical Unit Identifier (R-LUI) (R) 2 bytes
   -Associated P-LUI                                 (R) 2 bytes
 | -Associated C-LUI                                 (R) 2 bytes

 | 6.4  Report P-LUI/C-LUI Spare Command

   The CDB would contain the following:

 | -Report P-LUI Spares or C-LUI Spares              (S) 1 bit
 | -Report all P-LUI Spares or C-LUI Spares (Yes/No) (S) 1 bit
   -Spare Logical Unit Identifier (S-LUI)            (S) 2 bytes

 | This command would return the following parameter list:

   -Spare Logical Unit Identifier (S-LUI)                     (R) 2 bytes
 | -P-LUI or C-LUI                                  (1 per S-LUI) 2 bytes
   -State of the spare                              (1 per S-LUI) 1 byte
   -Redundancy Group Logical Unit Identifier (R-LUI)(x per S-LUI) 2 bytes
   -Associated P-LUI                                (x per S-LUI) 2 bytes
 | -Associated C-LUI                                (x per S-LUI) 2 bytes

   6.5  Delete Spare Command

   The CDB would contain the following:

   -Spare Logical Unit Identifier (S-LUI)  (S) 2 bytes





More information about the T10 mailing list