SCSI Reference Guide Scalar Intelligent Libraries 6-00423-11 Rev A
Quantum Scalar® Intelligent Libraries SCSI Reference Guide, 6-00423-11, Ver. A, March 2011, Product of USA. Quantum Corporation provides this publication “as is” without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability or fitness for a particular purpose. Quantum Corporation may revise this publication from time to time without notice. COPYRIGHT STATEMENT © 2011 Quantum Corporation. All rights reserved.
Contents 1 SCSI Command Support 1 Device Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 DA Blade Controller Device Commands and Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Media Changer Commands and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 General Command Support Behavior . . . . . . . . . . . . . . . . . .
Log Sense - 4Dh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What the Library Does with This Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Log Sense CDB Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Read Buffer – 3Ch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What the Library Does With This Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Read Buffer CDB Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi Contents
Tables Table 1 DA Blade Controller Device Supported Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Table 2 DA Blade Controller Device Supported Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Table 3 Media Changer Supported Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Table 4 Media Changer Supported Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 25 Tape Alert Log Page Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Table 26 MODE SELECT CDB format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Table 27 Mode Parameter Header format for Mode Select (6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Table 28 MODE SELECT CDB format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 56 SAS Transport IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Table 57 POSITION TO ELEMENT CDB format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Table 58 PREVENT ALLOW MEDIUM REMOVAL CDB format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Table 59 READ BUFFER CDB format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 87 Test Unit Ready statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Table 88 TEST UNIT READY CDB format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Table 89 WRITE BUFFER CDB format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SCSI Command Support Device Model Quantum intelligent libraries support both a Media Changer (device type 08h) and, depending on the library model and configuration, a Controller Device (device type 0Ch). The Controller Device is used primarily to aid initialization and discovery for the servers in conjunction with the library’s Logical Library model.
DA Blade Controller Device Commands and Parameters The following table lists the commands supported by the DA Blade Controller Device. Table 1 DA Blade Controller Device Supported Commands Command Code INQUIRY 12h MODE SELECT (6) 15h MODE SELECT (10) 55h MODE SENSE (6) 1Ah MODE SENSE (10) 5Ah READ BUFFER 3Ch REPORT LUNS A0h REQUEST SENSE 03h TEST UNIT READY 00h WRITE BUFFER 3Bh The following table lists the parameters supported by the DA Blade Controller Device.
Media Changer Commands and Parameters The following table lists the commands supported by the Media Changer.
The following table lists the parameters supported by the Media Changer. The Media Changer does not support any diagnostic parameters.
General Command Support Behavior Multiple Initiator Support Multiple initiators are not supported on the parallel SCSI or SAS interfaces. Information such as unit attentions and sense data will be held for only a single initiator. Multiple initiators are supported on the Fibre Channel interface. Unit attentions and sense data will be held for each initiator. Element Addressing The element-addressing model follows that of previous Quantum libraries.
For a complete list of all possible sense data and their causes, refer to Request Sense – 03h on page 77. This status information will not be separated by individual commands. Status values of Condition Met, Intermediate Condition Met, and Queue Full are not currently used. The Initiator should issue a Request Sense command to determine the precise cause of the Check Condition status and clear it.
Reserved Fields Reserved fields are not checked, and no error will be sent if they contain non-zero values. Vendor Specific Fields Vendor Specific fields are not checked and no error will be sent if they contain non-zero values, unless specific uses are defined within a SCSI command and vendor specific settings are required. Online/Offline Operation Each Media Changer can be placed in either an online or offline mode.
Table 6 8 Supported SCSI Messages (Continued) Message Code Direction Description EXTENDED MESSAGE 01h Out This message is sent from an initiator to the target to attempt to negotiate synchronous or wide data transfers. The library supports both. SAVE DATA POINTERS 02h In This message is issued before every disconnect message following a Data In or Data Out phase. The message is not sent when disconnecting after a Command Descriptor Block (CDB) that did not transfer data.
Fibre Channel Interface Support The library Fibre Channel ports can be N_Ports for point-to-point topologies or NL_Ports for arbitrated loop topologies. Only Class 3 service is supported. Private arbitrated loops are supported if the library is not attached to a Fibre Channel fabric, and public arbitrated loops are supported if the library is attached to a Fibre Channel fabric. Logical Libraries The underlying physical library is not exposed externally to applications.
Autocleaning The library supports a user-configurable option to have the library automatically clean drives when requested by the drives (refer to the specific library documentation for details). This process involves the library loading a special cleaning cartridge into the requesting drive, allowing the drive to perform the cleaning operation, and then the library unloading the cartridge and returning it to storage.
SCSI Commands Initialize Element Status - 07h What the Library Does With This Command The library will determine status (full or empty) for all elements, as well as barcode label information (volume tags) for the media. Barcode labels will be scanned unless otherwise directed (and the library supports a non-barcode option). The library may not fully execute this command if the Automatic Inventory option is enabled, and element status is already known.
Initialize Element Status CDB Format The INITIALIZE ELEMENT STATUS CDB format is shown in the following table. Table 7 INITIALIZE ELEMENT STATUS CDB format Bit Byte 7 6 0 1 5 4 3 1 0 Op Code (07h) Logical Unit Number Reserved 2 Reserved 3 Reserved 4 Reserved 5 2 NBL Control No Barcode Labels (NBL) – A value of 0 indicates that the specified elements will be checked for all relevant status, including bar code labels.
Initialize Element Status With Range - E7h What the Library Does With This Command The library will examine the range of elements requested and determine their status relative to media presence (full or empty). Barcode labels will be scanned unless otherwise directed (and the library supports a non-barcode option). The library may not fully execute this command if the Automatic Inventory option is enabled, and element status is already known.
Number of Elements - This field specifies the number of elements to check. Gaps in element types and addresses are automatically handled until a quantity of physical elements equal to this number has been checked. If this field is 0, the range checked will start with the Starting Element Address and continue through all remaining elements. This field is ignored if the Range field is 0.
Inquiry - 12h What the Library Does With This Command In response to this command the library returns static data that describes various subsystem parameters. Each Controller and Media Changer logical unit will return its own Inquiry data. If an INQUIRY command is received from an initiator with a pending unit attention condition, the library will perform the INQUIRY command and will not clear the unit attention condition.
Standard Inquiry Response Table 10 Bit Byte 0 1 Standard Inquiry Response 7 6 5 4 Peripheral Qualifier 2 1 0 Peripheral Device Type RMB Reserved 2 3 3 Version AERC Obsolete NormACA HiSup 4 Response Data Format Additional Length 5 SCCS Rsvd TPGS 3PC Reserved 6 BQue EncServ BarC MultiP MChngr Obsolete Obsolete Addr16 7 RelAdr Obsolete Wbus16 Sync Linked Obsolete CmdQue SftRe 8 : 15 Vendor Identification 16 : 31 Product Identification 32 : 35 Firmware Revision
Peripheral Device Type – For Media Changer logical units, this field returns 01000b (08h) to indicate it is a media changer device. For the Controller logical unit, this field returns 01100b (0Ch) to indicate it is a Controller Device. If an unsupported LUN was specified, this field returns 11111b (1Fh), which indicates that the device type is unknown. Removable Medium Bit (RMB) – For Media Changer logical units, this field returns 1, indicating media is removable.
Synchronous Transfer (Sync) – Returned as 1, indicating synchronous transfers are supported (applies to parallel SCSI only). Linked Commands (Linked) – Returned as 0, indicating linked commands are not supported. Command Queuing (CmdQue) – For Fibre Channel, this is returned as 1, indicating command queuing is supported. For SCSI and SAS, this is returned as 0, indicating no command queuing is supported. Soft Reset (SftRe) – Returned as 0, indicating a soft reset is not supported.
IUS – This field is only returned for Media Changer logical units controlled via parallel SCSI; otherwise, this field is reserved. An information units supported (IUS) bit of one indicates that the SCSI target device supports information unit transfers. A value of zero indicates that the SCSI target device does not support information unit transfers. Version Descriptors – Indicate SCSI command compliance with certain standards.
Page Length - Returned as 03h, indicating the remaining number of bytes in this page following this field. First Page Code Supported - Returned as 00h, indicating support for the Supported Vital Product Data Page. Second Page Code Supported - Returned as 80h, indicating support for the Unit Serial Number Page. Third Page Code Supported - Returned as 83h, indicating support for the Device Identification Page.
Device Identification Page (83h) Table 13 Device Identification Page (83h) Bit Byte 7 0 6 5 4 3 Peripheral Qualifier 2 1 0 Peripheral Device Type 1 Page Code (83h) 2 Reserved 3 Page Length (n-3) Identification Descriptors (see Table 14) 4 : First Identification Descriptor : : n Last Identification Descriptor Peripheral Qualifier – The return value 000b indicates that the library supports the peripheral device type at the specified LUN.
Protocol Identifier – The PROTOCOL IDENTIFIER field may indicate the SCSI transport protocol to which the identifier type applies. If the ASSOCIATION field contains a value other than 01b (i.e., target port) or 10b (i.e., SCSI target device) or the PIV bit is set to zero, then the PROTOCOL IDENTIFIER field contents are reserved.
Note: When the library is reported on LUN 1 by a drive, then NAA port identifier information (type 3h) is not reported by the media changer device and application clients should use the information reported by the device at LUN 0. When the media changer device is reported on LUN 0 (i.e., NPIV is enabled in support of control path failover configurations) then the drive hosting the library control path adds the NAA port identifiers.
Table 17 Controller Port Identification Descriptor Bit 7 Byte 0 6 5 4 3 2 Protocol Identifier 1 PIV Rsvd 1 0 Code Set = 1h Association = 1h Identifier Type= 3h 2 Reserved 3 Identifier Length = 08h 4 : 11 World Wide Port Name (WWPN) The eight-byte Node and Port Worldwide Names have the following format: Table 18 Node and Port Worldwide Names MSB LSB Table 19 4-bit NAA ID 24-bit Company ID 36-bit Vendor Specified Identifier 5h 00 30 8C Assigned per library The Relative Target
Log Sense - 4Dh What the Library Does with This Command The library returns information for the requested log page. The only supported log page is the Tape Alert page, with a limited set of flags. The library will return the current values of the flags on request, and then clear them. Command Usage This command can be used to monitor conditions of the library. Log Sense CDB Format The LOG SENSE CDB format is shown in the following table.
Page Code – The Page Code field identifies which log page is being requested by the initiator. Table 21 Page Code Page Code field Page Name Page Description 00h Supported Log Pages Returns list of supported log pages 2Eh Tape Alert Log Returns the 64 tape alert flags Parameter Pointer - This field specifies which log parameter to begin with for the requested log page.
Table 23 Bit Byte Log Parameter Format 7 6 5 4 3 2 1 0 LBIN LP 0 Parameter Code 1 2 DU DS TSD ETC TMC 3 Parameter Length (n-3) 4 : n Parameter Value Parameter Code – This field identifies which log parameter was transferred. The valid values for this field depend on the log page. Disable Update (DU) – Will be set to 0. The library will always update values reflected by the log parameters. Disable Save (DS) – Will be set to 1. The library does not support saving of log parameters.
Supported Log Page (00h) This page returns a list of all log pages supported by the library. Table 24 Supported Log Page (00h) Bit Byte 7 0 6 5 4 Reserved 3 2 1 0 Page Code (000000b) 1 Reserved 2 Page Length (0002h) 3 4 Supported Log Page (00h) 5 Tape Alert Log Page (2Eh) Page Code – The returned value is 00h, indicating this page. Page Length – The returned value is 0002h. The page codes for all the supported pages (including this one) follow the page length field.
The supported Tape Alert flags are: Flag 1: Drive Communication Failure (C) - This flag is set to indicate a drive communication failure. Flag 2: Library Hardware B (W) - This flag is set for any unrecoverable mechanical error. Flag 4: Library Hardware D (C) - This flag is set when the internal Power-On-Self-Tests (POST) fail or when a mechanical error occurs that requires a power cycle to recover, and is not internally cleared until the device is powered off.
Mode Select (6) - 15h What the Library Does With This Command The library does not support any changeable parameters, and this command is supported for compatibility only. This command can be issued to both the Controller logical unit as well as a Media Changer logical unit. The mode pages supported by each device vary however.
Mode Parameter Header Following the MODE SELECT CDB, a single Mode Parameter Header should be sent as shown in the following table. For both the controller and media changer devices, none of the fields are actually used however, and should all be set to zero.
Mode Select (10) - 55h What the Library Does With This Command The library does not support any changeable parameters, and this command is supported for compatibility only. This command can only be issued to the Controller logical unit. Libraries without DA blades do not support this command.
Mode Parameter Header Following the MODE SELECT CDB, a single Mode Parameter Header should be sent as shown in the following table. For the Controller Device, none of the fields are actually used however, and should all be set to zero.
Mode Sense (6) - 1Ah What the Library Does With This Command The library will return the current settings for the supported mode pages. This command can be issued to the DA Blade Controller logical unit as well as the Media Changer logical units. The mode pages supported by each device vary. Command Usage This command can be used to determine certain operational settings governing the behavior of the library.
Page Control (PC) - This field indicates the type of mode page parameter values to return as shown in the following table Table 31 Page Control (PC) field Page Control 0 0 Description Report current values defined by: • The values set by the last successful MODE SELECT command. • The default values if no saved values exist.
Mode Sense (10) - 5Ah What the Library Does With This Command The library will return the current settings for the supported mode pages. This command can only be issued to the DA Blade Controller logical unit. Command Usage This command can be used to determine certain operational settings governing the behavior of the library. Use of MODE SENSE to obtain these parameters during initialization is highly recommended to facilitate the most flexibility in supporting the library.
Page Control (PC) - This field indicates the type of mode page parameter values to return as shown in the following table. Table 34 Page Control (PC) field Page Control Description 0 Report current values defined by: 0 • The values set by the last successful MODE SELECT command. • The default values if no saved values exist.
Mode Pages The following table lists the mode pages supported by the library. Table 36 Page Code 38 Supported Mode Pages Page Name Page Description Device 02h Disconnect Reconnect Provides information regarding the physical bus performance characteristics. • DA Blade Controller • Media Changer (only if hosted by a tape drive on LUN 0) 18h Fibre Channel Logical Unit Control Provides Fibre Channel control information that is associated with the logical unit.
Disconnect-Reconnect Page (02h) The Disconnect-Reconnect mode page is only supported by the Controller logical unit, and describes the interconnect tenancy characteristics of the Fibre Channel interface. An interconnect tenancy is a period of time during which a SCSI device owns or may access the interface. This page is not available on the SCSI interface.
Connect Time Limit – This field indicates the maximum duration of an interconnect tenancy. A value of 0 is returned to indicate that there is no connect time limit. Maximum Burst Size – This field indicates the maximum amount of data that will be transferred during a single data transfer operation. The value is expressed in increments of 512 bytes. A value of 0 is returned if a maximum burst size is not supported.
Fibre Channel Port Control Page (19h) The Fibre Channel Port Control mode page reports port behavior for the Fibre Channel Protocol. This mode page is not available on the SCSI interface. This mode page is only supported by devices at LUN 0.
address. If the hard address has not changed from the address obtained in a previous successful loop initialization, the target will attempt to obtain the address in the LIFA phase if a valid Fabric Login exists or LIPA phase of loop initialization. If the hard address has changed, the target will attempt to obtain the new address in the LIHA phase.
Parameter List Length – This field is set to 0Ah (10). Log Errors (LogErr) – This field is set to 0 to indicate that logging of informational exception conditions is vendor specific (unique to the library in this case). Test – This field is set to 0 to indicate that test failure indications will not be generated. Disable Exception Control (Dexcpt) –This field is set to 1, indicating that the initiator must poll the LOG SENSE Tape Alert page.
Element Address Assignment Page (1Dh) The Element Address Assignment mode page returns the first element address and the element quantity for each element type. The quantity is based on the number of elements configured in the library, some of which may be temporarily removed (like a storage magazine or drive). Elements that are temporarily removed will not change the overall number of elements for that element type. Table 41 shows the format of the page.
First Storage Element Address – This field returns 1000h, which is the address of the first storage element. Number of Storage Elements – This field varies, depending on the configuration of the subsystem. First Import/Export Element Address – This field returns 0010h, which is the address of the first Import/ Export element. Number of Import/Export Elements – This field varies, depending on the configuration of the subsystem. If no Import/Export elements are installed, this field returns zero.
Device Capabilities Page (1Fh) The Device Capabilities page defines the rules governing cartridge movement within the library. It describes from which element type to the next a cartridge can be moved, directly defining which element types can be used as either source or target elements. The library does not allow the medium transport element (accessor) to be a target, and only as a source on a limited basis.
Move Medium – A5h What the Library Does With This Command The library will attempt to physically move a cartridge from the requested source element to the requested destination. The library will make reasonable attempts to retry this operation within the scope of its capabilities, but if unsuccessful, will try to return the cartridge to its source element.
Move Medium CDB Format The MOVE MEDIUM CDB format is shown in the following table. Table 44 MOVE MEDIUM CDB format Bit Byte 7 6 5 0 1 4 3 2 1 0 Op Code (A5h) Logical Unit Number Reserved 2 Medium Transport Element Address 3 4 Source Element Address 5 6 Destination Element Address 7 8 Reserved 9 10 11 Reserved Invert Control Medium Transport Element Address – This field contains the address of the Medium Transport element to use for the move.
Persistent Reserve In – 5Eh What the Library Does With This Command The library returns information about persistent reservation and reservation keys that are currently active. This command is supported by: • the Media Changer via the DA blade, or • the tape drive hosting the Media Changer control path, in which case this command is handled completely by the tape drive on behalf of the Media Changer.
Allocation Length – This field specifies the byte length allowed for returning the requested data. The number of bytes returned is the lesser of the available data to return or the allocation length. Persistent Reserve In Response Response data is returned depending on the requested service action. Read Keys Response The response for a Read Keys service action is shown the following table.
Read Reservations Response The response for a Read Reservations service action is shown in the following table.
Report Capabilities Response The response for a Report Capabilities service action is shown in the following table. Table 48 Report Capabilities Response Bit Byte 7 6 5 4 3 2 1 0 ATP_C Rsvd PTPL_C 0 Length (0008h) 1 2 Reserved 3 TMV 4 WR_EX _AR CRH SIP_C Reserved EX_AC_ RO 5 WX_EX _RO Rsvd EX_AC Reserved PTPL_A Rsvd WE_EX C Rsvd EX_AC_ AR 6 7 Reserved Length – This field reports 8 bytes of data.
Report Full Status The response for a Report Full Status service action is shown in the following table. Table 49 Report Full Status Bit Byte 7 6 5 4 3 0 : 3 Generation 4 : 7 Additional Length (n-7) 2 1 0 2 1 0 ALL_TG _PT (0) R_Holde r Full Status Descriptors (see Table 50) 8 : 15 First Full Status Descriptor : n-7 : n Last Full Status Descriptor The response for a Full Status Descriptor is shown in the following table.
Table 50 Full Status Descriptor Bit Byte 7 6 5 4 3 20 : 23 Additional Descriptor Length 24 : n Transport ID 2 1 0 R_Holder – Set to 1 to indicate that the I-T nexus is a Persistent Reservation Holder. Transport _ID – See details in PERSISTENT RESERVE OUT command (Table 55 and Table 56).
Persistent Reserve Out – 5Fh What the Library Does With This Command The library will perform service actions relative to persistent reservations as requested. This includes creating and clearing reservations. An I_T nexus performing Persistent Reserve Out service actions is identified by a reservation key.
• 05h Preempt and Abort – Preempt reservations from another initiator and abort all tasks for all initiators with the specified reservation key. • 06h Register and Ignore Existing Key – Register a new reservation key and discard existing reservation key. • 07h – Register and Move Registers a reservation key for another I_T nexus and moves the persistent reservation to that I-T nexus. Scope – Only logical unit scope is supported, and this field must be a 0h.
If the Reervation Key does not match with the one registered in the device server for the I_T nexus, the device server returns Reservation Conflict. Service Action Reservation Key – This field only applies to the following service actions as follows: • Register – This is the new reservation key to register. • Register and Ignore Existing Key – This is the new reservation key to register. • Preempt – This is the reservation key of the persistent reservation to preempt.
Transport IDs – See Section Transport IDs below. Table 54 Parameter Data for the Register and Move Service Action Bit Byte 7 6 5 4 3 2 0 : 7 Reservation Key 8 : 15 Service Action Reservation Key 16 Reserved 17 Reserved 1 0 Unreq APTPL 18 Relative Target Port Identifier 19 20 : 23 Additional Descriptor Length (18h) 24 : n Transport ID Unreg – Set to 1 to indicate that the I-T nexus on which the command was received be unregistered.
Table 56 SAS Transport IDs Bit Byte 0 7 6 Format Code (00b) 5 4 3 Reserved 2 1 0 Protocol Identifier (6h) 1 : 3 Reserved 4 : 11 SAS Address 12 : 23 Reserved Quantum Scalar Intelligent Libraries SCSI Reference Guide Guide 59
Position to Element – 2Bh What the Library Does With This Command The library will move the picker in front of the specified element at the current media Get position. Command Usage This command can be used to pre-position the robotics to an element to enhance performance, or it can be used as a general-purpose way to relocate the robotics without involving media movement. This might be useful for diagnostic or demonstration purposes.
Prevent Allow Medium Removal – 1Eh What the Library Does With This Command The library will prohibit movement of media to an Import/Export element when media removal has been prevented. MOVE MEDIUM commands requesting such a move will be rejected with a Check Condition indicating Medium Removal Prevented. This command does not control locking or unlocking of a mailbox. The library automatically locks mailboxes during robotic access, and unlocks them afterwards.
Read Buffer – 3Ch What the Library Does With This Command The library will return requested buffer descriptor information or buffer data. Command Usage This command can be used primarily for enhanced domain validation. The initiator can use Descriptor mode first to determine the size of the data available to read, followed by Data mode to then read it. Depending on the size of the requested buffer, it can also be retrieved in blocks, utilizing offsets into the buffer.
In Echo Buffer Mode, data is transferred to the initiator from the echo buffer. The echo buffer will transfer the same data that was received from the last WRITE BUFFER command sent with Echo Buffer Mode. If the allocation length is insufficient to accommodate the number of bytes of data as received in the prior echo buffer mode WRITE BUFFER command, the returned data will be truncated. This is not considered an error.
Therefore the value contained in the Buffer Offset field of subsequent READ BUFFER commands should be a multiple of 2offset boundary as shown in the following table. Table 62 Offset Boundary Offset Boundary 2offset boundary Buffer Offsets 0h 20 = 1 Byte boundaries 1h 21 = 2 Even-byte boundaries 2h 22 = 4 Four-byte boundaries 3h 23 = 8 Eight-byte boundaries 4h 24 = 16 16-byte boundaries : : FFh Not applicable Etc.
Read Element Status – B8h What the Library Does With This Command The library returns current status and information regarding the requested elements. The data is primarily derived from having done an Inventory operation (using INITIALIZE ELEMENT STATUS or INITIALIZE ELEMENT STATUS WITH RANGE), but in the case of data transfer elements is also augmented by communication with the drives.
Element Type Code – This field specifies the element types selected for the returned information, as shown in the following table. Table 65 Element Type Code Code Selected Element Type 0000b (0) All element types reported 0001b (1) Medium transport element (accessor) 0010b (2) Storage element 0011b (3) Import/Export element 0100b (4) Data transfer element (drives) Starting Element Address – This field specifies the minimum element address to report.
Read Element Status Response Element status data consists of an eight-byte header, followed by one or more element status pages (per element type). Each element status page consists of a header, followed by one or more element descriptor blocks.
Element Status Page Each element status page consists of an eight-byte header, followed by one or more element descriptor blocks. One Element Status Page header is returned for each grouping of element descriptor blocks, by element type. The format of the Element Status Page header is shown in the following table.
Primary Volume Tag Field Volume tags (returned in the Primary Volume Tag field) are basically barcode labels on the media. The library supports labels from 5 to 16 characters in length. The Primary Volume Tag field contains 32 bytes of label data (space filled to 32 bytes), followed by two reserved bytes, then two bytes of volume sequence number. The library returns zeros for the last four bytes of Primary Volume Tag data.
Additional Sense Code Qualifier – If the element is in an abnormal state, this field will be set to a value as described in Table 78 on page 79. Source Valid (Svalid) – This field is set to 1 if the Source Storage Element Address field is valid, otherwise it is set to 0. Invert – This field is set to 0. The library does not support inverting media. Source Storage Element Address – If the Source Valid field is set to 1, this field will contain the element address of the last storage element the media was in.
Additional Sense Code – If the element is in an abnormal state, this field will be set to a value as described in Table 78 on page 79. Additional Sense Code Qualifier – If the element is in an abnormal state, this field will be set to a value as described in Table 78 on page 79. Source Valid (Svalid) – This field is set to 1 if the Source Storage Element Address field is valid, otherwise it is set to 0. Invert – This field is set to 0. The library does not support inverting media.
Import/Export (ImpExp) – A value of one indicates that media present in the element was placed there by an operator. A value of zero indicates that media present in the element was placed there by a medium transport element.
Additional Sense Code Qualifier – If the element is in an abnormal state, this field will be set to a value as described in “Additional Sense Codes and Qualifiers.” Not This Bus (NotBus) – This field is not supported and is set to 0. IDValid – A value of one indicates that the SCSI Bus Address field is valid. A value of zero indicates that it is not. LUValid – This field is not supported and is set to 0. Logical Unit Number – This field is not supported and is set to 0.
Release Element – 17h What the Library Does With This Command The library releases any outstanding reservation that had previously been made by the same initiator via the RESERVE command. Only whole logical unit reservations are allowed; individual element reservations are not supported. Command Usage This command should be used to release the library from any reservations previously made. Release Element CDB Format The RELEASE ELEMENT CDB format is shown in the following table.
Report LUNS – A0h What the Library Does With This Command The library will return a list of the logical units that it supports. When this command is sent to a DA blade Controller logical unit or Media Changer logical unit, at LUN 0, it will return a list of all additional logical units that are available. This list will primarily be Media Changer devices representing the configured Logical Libraries. When this command is sent to any of the Media Changer logical units, they will only report themselves.
Report LUNS Response Table 74 Report LUNS Response Bit Byte 7 6 5 4 3 0 : 3 LUN List Length (n-7) 4 : 7 Reserved 8 : 15 First LUN n-7 : n Last LUN 2 1 0 LUN List Length – This field returns the length in bytes of the list of LUNs being returned. LUN – These fields return each available assigned LUN.
Request Sense – 03h What the Library Does With This Command The library returns eighteen bytes of sense data to the requesting initiator. The data is preserved until either the REQUEST SENSE command or any other command is received. The library can queue multiple Unit Attentions for processing. Command Usage This command should be issued whenever the initiator receives a CHECK CONDITION from the library. It should continue to be issued until all check conditions have been cleared.
Request Sense Response Table 76 Request Sense Response Bit Byte 0 7 6 5 4 Valid 3 2 1 Response Code (70h) 1 Reserved 2 Reserved Sense Key 3 : 6 Information 7 Additional Sense Length (0Ah or 10h) 8 : 11 Command Specific Information (0000 0000h) 12 Additional Sense Code (ASC) 13 Additional Sense Code Qualifier (ASCQ) 14 Field Replaceable Unit Code 15 0 SKSV C/D Rsvd Rsvd BPV Bit Pointer 16 Field Pointer 17 18 : 23 Reserved Valid – The Valid field is set to 0 if the Infor
Information – This field returns additional information for certain ASC/ASCQs where a specific device must be identified and the sense data is associated with a Unit Attention condition instead of a specific command. These are described as follows: • If the ASC/ASCQ is related to Import/Export stations, then byte 6 indicates which I/E station it pertains to (1 to 4). • If the ASC/ASCQ is related to a specific Data Transfer Element, then bytes 5 and 6 contain the element address of that element.
Table 78 Additional Sense Codes and Qualifiers (Continued) Sense Keys ASC 2 80 Description ASCQ 4 5 6 B 04h 03h x The library is not ready and a manual intervention is required 04h 12h x Logical unit not ready, offline 04h 83h x The library is not ready due to aisle power being disabled 04h 8Dh x The library is not ready because it is offline 08h 00h x LU Communication Failure 08h 01h x LU Communication – Timeout 08h 80h x LU Communication – SCSI Failure 08h 82h x LU
Table 78 Additional Sense Codes and Qualifiers (Continued) Sense Keys ASC Description ASCQ 2 4 5 6 B 26h 04h x Invalid release of persistent reservation 28h 00h x Not Ready to Ready change, door(s) opened and closed 28h 01h x Insert/Eject station opened and closed 29h 00h x Power-on or reset occurred 29h 01h x Power on occurred 29h 03h x Device reset occurred 29h 04h x Internal reset occurred 2Ah 01h x Mode parameters have been changed 2Ah 03h x Reservations preem
Table 78 Additional Sense Codes and Qualifiers (Continued) Sense Keys ASC 2 82 Description ASCQ 4 5 6 B 4Ah 00h x Command phase error 4Bh 00h x Data phase error 4Eh 00h x Overlapped commands attempted 53h 00h x 53h 01h x 53h A drive did not load or unload a tape x A drive did not unload a cartridge 02h x Medium removal prevented 53h 81h x Insert/Eject station door is open 53h 82h x Cannot lock the I/E station 53h 83h x Cannot unlock the I/E station 83h 00h x
Request Volume Element Address - B5h What the Library Does With This Command The library returns element descriptors that match the request made through a SEND VOLUME TAG command. Each element address will only be reported once in response to a SEND VOLUME TAG request. Multiple REQUEST VOLUME ELEMENT ADDRESS commands may be used to retrieve all the elements.
Element Type Code - This field specifies the element types selected for the returned information, as shown in the following table. Table 80 Element Type Code Code Selected Element Type 0000b (0) All element types reported 0001b (1) Medium transport element (accessor) 0010b (2) Storage element 0011b (3) Import/Export element 0100b (4) Data transfer element (drives) Starting Element Address - This field specifies the minimum element address to report.
There are only up to four Element Status Pages, one for each element type. The element status pages are identical to those described for the READ ELEMENT STATUS command in Element Status Page. The element descriptors within each page are also the same as those described for READ ELEMENT STATUS in Element Descriptors. One header is returned for each REQUEST VOLUME ELEMENT ADDRESS command. The format is shown in the following table.
Reserve Element - 16h What the Library Does With This Command The library reserves the entire library for the initiator making the request. Only whole logical unit reservations are allowed; individual element reservations are not supported. The reservation remains in effect until either the initiator that made the reservation sends a RELEASE command, or a reset or power-cycle of the library occurs.
Send Diagnostic - 1Dh What the Library Does With This Command If the Self Test option is requested, the library executes a pre-defined diagnostic. Command Usage This command can be used to verify the operational status of the library and its components. Send Diagnostic CDB Format The SEND DIAGNOSTIC CDB format is shown in the following table.
Send Volume Tag - B6h What the Library Does With This Command The library searches its existing inventory for barcode labels that match the volume tag template passed in with this command. The results of this search can then be retrieved through sending a subsequent REQUEST VOLUME ELEMENT ADDRESS command. Command Usage This command can be used to search for specific cartridges or ranges of cartridges within the library.
Element Type Code - This field specifies the element types selected for the search, as shown in the following table. Table 85 Element Type Code Code Selected Element Type 0000b (0) All element types reported 0001b (1) Medium transport element (accessor) 0010b (2) Storage element 0011b (3) Import/Export element 0100b (4) Data transfer element (drives) Starting Element Address - This field specifies the minimum element address to begin the search.
Test Unit Ready (00h) What the Library Does With This Command The library returns status based on its current mode and state. These are defined in the following table.
Write Buffer (3Bh) What the Library Does With This Command The library will receive a requested buffer of data and write it to the appropriate internal storage. Command Usage This command can be used primarily for enhanced domain validation (using the echo buffer mode). The initiator can either transfer the data with a single WRITE BUFFER command, or it can also transfer it in blocks utilizing offsets into the buffer. Write Buffer CDB Format The WRITE BUFFER CDB format is shown in the following table.
92 SCSI Commands