Date: Nov 27,1993 X3T9.2/93-192 rev 0 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. <> 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/Set P-LUI Geographic Location <> -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 -Geographic Location (1 per P-LUI) ??? <> 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 Physical Space Command The CDB would contain the following: -Report assigned/unassigned physical space 1 byte 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.3 Exchange P-LUI Command The CDB would contain the following: -Old P-LUI (S) 2 bytes -New P-LUI (S) 2 bytes 3.3 Remove P-LUI Command The CDB would contain the following: -P-LUI (S) 2 bytes 3.4 Exchange P-extent Command This command would send the following parameter list: -Old P-extent (S) 12 bytes -New P-extent (S) 12 bytes 3.5 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 4.0 Redundancy Group Operations 4.1 Create/Modify Redundancy Group Command This command would send the following parameter list: -Redundancy Group Logical Unit Identifier (R-LUI) (S) 2 bytes -Recalculate check data (S) 2 bits -Preserve protected space (S) 2 bits -Set protected space to known value (S) 9 bits -Redundancy Type Identifier (S) 1 byte -Granularity of Units (bit, byte, logical block, etc.) (S) 1 byte -P-Extent (R) 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.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 report 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 report 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 The CDB would contain the following: -Redundancy Group Logical Unit Identifier (R-LUI) (S) 2 bytes 4.6 Verify Check Data Command 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 Command This command would send the following parameter list: -P-extent (S) 12 bytes -Redundancy Group Logical Unit Identifier (R-LUI) (R) 2 bytes 5.0 Volume Set Operations 5.1 Create/Modify Volume Set Command 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 report 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 Check Data Command The CDB would contain the following: -Volume Set Logical Unit Identifier (V-LUI) (S) 2 bytes 5.5 Verify Check Data Command The CDB would contain the following: -Volume Set Logical Unit Identifier (V-LUI) (S) 2 bytes 5.5.1 Verify Check Data Mode Page 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 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 send 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 Spare Command This command would send the following parameter list: -Spare Logical Unit Identifier (S-LUI) (S) 2 bytes -P-LUI (S) 2 bytes -Redundancy Group Logical Unit Identifier (R-LUI) (R) 2 bytes -Associated P-LUI (R) 2 bytes 6.4 Report P-LUI Spare Command The CDB would contain the following: -Report all P-LUI Spares (Yes/No) (S) 1 bit -Spare Logical Unit Identifier (S-LUI) (S) 2 bytes This command would send the following parameter list: -Spare Logical Unit Identifier (S-LUI) (R) 2 bytes -P-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 6.5 Delete Spare Command The CDB would contain the following: -Spare Logical Unit Identifier (S-LUI) (S) 2 bytes