Scalar® Intelligent Libraries SCSI Reference Guide, 6-00423-09, Ver. A, March 2010, Made in 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
Copyright 2010 by Quantum Corporation. All rights reserved.
Your right to copy this manual is limited by copyright law. Making copies or adaptations without prior written authorization of
Quantum Corporation is prohibited by law and constitutes a punishable violation of the law.
TRADEMARK STATEMENT
Quantum, the Quantum logo, and Scalar are registered trademarks of Quantum Corporation in the USA and other countries. LTO is a
trademark of HP, IBM, and Quantum in the USA and other countries.
Other trademarks may be mentioned herein which belong to other companies.
Quantum intelligent libraries support both a Media Changer device (device type 08h) and a Controller device
(device type 0Ch). This approach is used primarily to aid initialization and discovery for the servers in
conjunction with the library’s Logical Library model. In addition, the Controller device model facilitates
continued use of Host Registration Services (HRS) functionality, which uses private (externally
undocumented) commands and vendor unique parameters. In the case of a Scalar i40, Scalar i80, or
Scalar i500 library without Data Appliance (DA) blades, there is no Controller device; the tape drives provide
access to the Media Changer devices.
"DA blade" is a generic term used in this manual to describe a number of
possible types of input/output blades, including FC-FC, FC-SCSI, and possibly,
in future, iSCSI-SAS or other combinations.
This device model approach works by having the Controller (typically at LUN 0) respond to all commands,
and the Logical Libraries (Media Changers) respond to other assigned LUNs (or Targets if on the SCSI
port). This approach allows an Initiator (Host) to issue a Report LUNs command to the Controller to retrieve
a listing of all available logical units on that port. For systems with Fibre Channel (FC) ports, this is an
advantage as there are large number of possible logical units to search. (In the case of a Scalar i40,
Scalar i80, or Scalar i500 without DA blades, this command should be issued to the tape drives.)
For a tape library with DA blades, this model can be extended to report the number of availa ble tape drive s
as well.
For all systems except the Scalar i40, Scalar i80, and Scalar i500 without DA blades, it is possible to define
a Media Changer at LUN 0 and the Controller at a d ifferent LUN. For a Scalar i40, Scalar i80, or Scalar i500
without DA blades, the Media Changer(s) is always found at LUN 1, and the tape dr ive or drives are found
at LUN 0.
Note that the Controller device is not a pure Controller device, in that it does not support all the mandatory
commands defined by SCC, but this is an accepted industry practice estab lished by vendors of bridges and
routers.
Additional commands and parameters supported by the Controller LUN (such as Maintenance In) are for
use by Quantum’s Host Registration Service s s of twa re , and ar e no t inclu d ed in this ma n ual .
The following table lists the commands supported by the Controller device.
The following commands do not apply to the Scalar i40 and Sca lar i80 . For the
Scalar i500, these commands apply only when a DA blade is present in the
library.
Table 1Controller Device Supported Commands
CommandCode
INQUIRY12h
MODE SELECT (6)15h
MODE SELECT (10)55h
MODE SENSE (6)1Ah
MODE SENSE (10)5Ah
READ BUFFER3Ch
REPORT LUNSA0h
REQUEST SENSE03h
TEST UNIT READY00h
WRITE BUFFER3Bh
The following table lists the parameters supported by the Controller device.
Table 2Controller Device Supported Parameters
CommandPage Code
InquirySupported VPD Pages00h
InquiryUnit Serial Number Page80h
InquiryDevice Identification Pag e83h
Mode Select/SenseDisconnect Reconnect Page02h
Mode Select/SenseFC LU Control Page18h
Mode Select/SenseFC Port Control Page19h
Mode SenseReturn all pages3Fh
2SCSI Command Support
Media Changer Commands and Parameters
The following table lists the commands supported by the Media Changer device.
Table 3Media Changer Supported Commands
CommandCode
INITIALIZE ELEMENT STATUS07h
INITIALIZE ELEMENT STATUS WITH RANGE E7h
INQUIRY
LOG SENSE 4Dh
MODE SELECT (6)15h
MODE SENSE (6)1Ah
MOVE MEDIUM A5h
PERSISTENT RESERVE IN
PERSISTENT RESERVE OUT
POSITION TO ELEMENT 2Bh
1
1
1
12h
5Eh
5Fh
PREVENT ALLOW MEDIUM REMOVAL 1Eh
READ BUFFER
1
3Ch
READ ELEMENT STATUS B8h
RELEASE ELEMENT (6)
REPORT LUNS
2
REQUEST SENSE
REQUEST VOLUME ELEMENT ADDRESS
RESERVE ELEMENT (6)
1
17h
A0h
1
3
1
03h
B5h
16h
SEND DIAGNOSTIC 1Dh
SEND VOLUME TAG
TEST UNIT READY
WRITE BUFFER
1
For the Scalar i40, Scalar i80, and Scalar i500 without DA blades, this
command is processed by the tape drive on behalf of the media changer.
2
The Scalar i40 and Scalar i80 media changers do not support this command.
The Scalar i500 media changer does not support this command unless
it contains a Data Appliance (DA) blade.
3
The Scalar i40, Scalar i80, and Scalar i500 do not support this command.
The following table lists the parameters supported by the Media Changer device. The Media Changer does
not support any diagnostic parameter s.
Table 4Media Changer Device Supported Parameters
CommandPage Code
InquirySupported VPD Pages00h
InquiryUnit Serial Number Page80h
InquiryDevice Identification Page83h
Log SenseSupported Log Pages00h
Log SenseTape Alert Page2Eh
Mode SenseFC LU Control Page
Mode SenseFC Port Control Page
For the Scalar i40, Scalar i80, and Scalar i500 without data appliance (DA) blades, this
page is not supported.
2
This page is supported only when the Media Changer is available on LUN 0.
4SCSI Command Support
General Command Support Behavior
Multiple Initiator Support
Multiple initiators are not supported on the SCSI interface. Information such as unit attentions and sense
data will be held for only a single initiator. Multiple initiators are supported on the Fibre Channel inte r face.
Unit attentions and sense data will be held for each initiator.
Element Addressing
The element-addressing model follows that of previous Quantum libraries. The starting addresses of the
four element types are:
•0001h: Medium Transport
•0010h: Import/Export
•0100h: Data Transfer
•1000h: Storage
Command Status
Individual command status responses are not documented, as they all follow the same general format as
described here. After processing any command, the library returns status from among the following:
Good - The library returns a Good status (00h) when it is able to process the command without errors.
Busy - The library returns Busy status (08h) when a motion command is still being processed, or the library
is generally not able to process additional commands at that time.
Reservation Conflict - The library returns a Reservation Conflict (18h) whenever an initiator attempts to
access a logical unit that has been reserved by another initiator, except for the following commands:
•INQUIRY
•LOG SENSE
•MODE SENSE (Only Scalar i40, Scalar i80, and Scalar i500)
•PREVENT/ALLOW MEDIUM REMOVAL
•READ ELEMENT STATUS (only when the Current Data [CurData] field is set to 1)
•REPORT LUNS
•REQUEST SENSE
Check Condition - The library returns the Check Condition status (02h) when the following general
situations occur (all generate sense data):
•The library is Not Ready (sense key 02h)
•The library has encountered a Hardware Error (sense key 04h)
•A parameter in the CDB is invalid or there is an invalid field in a parameter list, resulting in an Illegal
Request (sense key 05h)
•A Unit Attention condition is pending (sense key 06h)
For a complete list of all possible sense data and their causes, refer to Request Sense – 03h on page 70.
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.
Response data, however, will be documented as applicable for each command, and included as part of the
command section.
Unit Attentions
Unit Attentions will be queued by the library as necessary to report all events and conditions. They are
presented in the order of their occurre nc e (fir st in, first out). Unit attentions are generated for the following
conditions:
•A power on or a reset (external or internal) occurred
•A library door closed, or a transition from not ready to ready occurred
•A mailbox closed
•A firmware update completed
•A persistent reservation has been preempted or released, or a registration has been preempted
•Mode parameters have changed
Resets
Either a Power On Reset or a SCSI Reset resets the library. When reset, the library does the following:
•Returns to Bus Free
•All non-persistent reservations are cleared
Common CDB Fields
Each Command Descriptor Block contains a Logical Unit Number (LUN) field as well as a Control byte field.
The LUN field is bits 5-7 of byte 1 and is there only for legacy compatibility. Logical Unit selection should be
accomplished via the Identify message.
The Control byte is shown in the following table. It is always the last byte of a CDB, regardless of the size
of the CDB.
Table 5Control Byte
Bit
Byte
lastVendor SpecificReservedNACAFlagLink
Vendor Specific – This field is used to provide additional data or control for a command. Specific uses (if
any) are described within the applicable commands.
76543210
Normal Auto Contingent Allegiance (NACA) – If this field is set to 0, the initiator should issue a REQUEST
SENSE command immediately following receipt of a Check Condition. If this field is set to 1, ACA support
will be provided.
Flag – This field is not supported and must be set to 0.
Link – This field is not supported and must be set to 0.
6SCSI Command Support
Reserved Fields
Reserved fields are not checked, and no error will be sent if they contain non-zero values.
Online/Offline Operation
Each Media Changer device can be placed in eithe r an online or offline mode. The purpose of these mod es
is to configure whether the Media Changer is being controlled by a SCSI initiator or by the operator panel.
When the Media Changer is online, a SCSI initiator is controlling it and all SCSI commands are supported.
When the Media Changer is offline, the operator panel is controlling it, and the only allowed SCSI
commands are INQUIRY, REPORT LUNS, and REQUEST SENSE. All other commands will respond with
a check condition, along with an ASC/ASCQ of 04/8D (unit offline).
The controller device is not affected by the online/offline mode of the Media Changer.
Supported Interfaces
SCSI Parallel and Fibre Channel interface types are supported as described below.
SCSI Parallel Interface Support
The library supports parity checking on the SCSI Parallel interface. It will attempt to retry when parity errors
are detected, but if unsuccessful will attempt to respond with a Check Condition indicating in which phase
the parity error was detected.
If permitted by the initiator, the library will also support SCSI disconnect for commands that take a lengthy
time to process, such as MOVE MEDIUM. Disconnect privilege is granted by the initiator via the Identify
message.
Supported Messages
The SCSI message system (Message In/Message Out) allows communication between an initiator and a
target for the purpose of physical path management. The supported messages are shown in the following
table. The direction is relative to the initiator.
Table 6Supported SCSI Messages
MessageCodeDirectionDescription
COMMAND COMPLETE00hInThis message is sent from the target to an initiator
to indicate that the execution of a command
completed and valid status has been sent to the
initiator.
EXTENDED MESSAGE01hOutThis message is sent from an initiator to the target
to attempt to negotiate synchronous or wide data
transfers. The library supports both.
SAVE DATA POINTERS02hInThis 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.
RESTORE POINTERS03hInThis message is sent from the target to direct the
initiator to continue sending data.
DISCONNECT04hInThis message is sent by the target to inform an
initiator that the present data transfer will be
suspended. The target will reselect the initiator at a
later time to continue the current operation.
INITIATOR DETECTED
ERROR
ABORT06hOutThis message is sent from the initiator to the target
MESSAGE REJECT07hBothThis message is sent from the initiator or target to
NO-OP08hOutThis message is sent from the initiator to inform the
MESSAGE PARITY
ERROR
BUS DEVICE RESET0ChOutThis message is sent from an initiator to clear all
05hOutThis message is sent from an initiator to inform the
target that an error occurred. This allows the target
to retry the operation.
to clear the current or pending operation. The
target goes directly to the BUS FREE phase after
successful receipt of this message.
indicate that the last message received was
inappropriate or not implemented.
target that no message is valid in response to the
target request for a message.
09hOutThis message is sent from the initiator to the target
to indicate that one or more bytes in the last
message received contained a parity error.
commands, data, and status at the target. When
the target recognizes this message, it aborts the
command currently being executed and proceeds
to the BUS FREE state.
IDENTIFY80h-
FFh
BothThese messages are sent either by the initiator or
by the target to establish (or re-establish) the
logical connection path (nexus) between an initiator
and target for a particular logical unit.
Fibre Channel Interface Support
The library Fibre Channel ports can be N_Port s for point- to-point topologies or NL_Por ts 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.
8SCSI Command Support
Logical Libraries
The underlying physical library is not expose d e xte rn ally to applications. Rather, logical representations of
Media Changer devices are created, and these are presented instead. Through this method the physical
library can be partitioned and concurrently shared in a heterogeneous environment. Depending on library
model and number of configured drives, 1 to 18 partitions can be created. Storage and Data Transfer
elements cannot be shared across logical libraries; they can only be assigned to one logical library at a time.
The Medium Transport element (the robotic mechanism) is shared acr oss all logical libraries, and as a result
there may be some delays encountered as each logical library waits its turn for this shared resource.
Import/Export elements can also be shared across logical libraries. This is further discussed in Mailbox
Behavior. All other aspects of the logical Media Changer devices are identical to an independent physical
Media Changer.
Mailbox Behavior
The following characteristics affect Import/Export elements:
•The Import/Export elements are contained in removable magazines. When the magazines are
removed, the elements are still counted in the number of Import/Export elements and will have
element descriptors returned for them in re sponse to a READ ELEMENT STATUS command. Their
element status will indicate that they are not accessible, and will also report an exception with an
ASC/ASCQ of 3B/12.
•Some Quantum libraries are configured with multiple physical mailboxes, each contai ning their own
set of magazines. Whenever a mailbox is opened, the status for the elements it contains will
indicate that they are not accessible until the mailbox is closed again.
•The mailbox magazine(s) can be assigned to and shared by different logical libraries. The Import/
Export elements they contain are then used on a “first come, first served” basis. When shared
Import/Export elements are in use by one logical library, element status for those elements will
indicate that they are empty, but not accessible for all other logical libraries that share them. The
presence of media and associated volume tag information will only be available to the logical library
using the elements at that time. When media is removed from the shared elements, they become
available for use by the next logical library requesting them , and their element status indicates that
they are accessible.
These characteristics require applications to process the complete element status retur ned in the ele men t
descriptors (including accessibility and exception conditions) to achieve optimum usage of the Import/
Export elements. Reliance on only full or empty element status may result in failed operations (e.g., an
Export). This might be due to not locating a usable Import/Export element when several may actually be
available, if the search had only taken into account full status rather than accessibility.
Autocleaning
Quantum libraries support a user-configurable option to have the library automatically clean drives when
requested by the drives (refer to the specific Quantum 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.
If this option is enabled and configured, the library maintains a pool of storage slots that contain the cle aning
cartridges. These slots and cartridges are not associated with or counted towards any logical library, and
as such are not reported to any application.
The library typically checks for cleaning requests from drives after unloading data cartridges. If a cleaning
request is found, the library will select a cleaning cartridge from the pool and perform the clean. While the
cleaning operation is in progress, the logical library containing the drive being cleaned will continue to
accept and perform SCSI commands. If a Move Medium command is received with the drive as a
destination, and it is still being cleaned, the command will be queued until the cleaning operation completes.
Cleaning operations vary by drive and conditions, but can take up to a few minutes to complete.
Element status for the Data Transfer element being cleaned will not reflect the presence of the cleaning
cartridge. It will continue to report that it is empty and accessible.
Removed Drives
Depending on how the library is configured, occasionally Data Transfer elements will be reported where no
drive is physically present at the time. This could be due to a drive that has been removed for servic e, or
simply a placeholder for the addition of a future drive. These empty “drive bays” will be counted and reported
via Mode Sense and Read Element Status commands. Status for such elements will indicate that they are
not accessible, and will report an ASC/ASCQ of 83/04. These elements could appear in between Data
Transfer elements that are present, creating “gaps” among the physical drives. This should not be
considered an error.
10SCSI Command Support
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.
Results of the status initialization will be buffered by the library for retrieval via the READ ELEMENT
STATUS command. Element status and barcode label information is retained by the library across power
cycles.
Command Usage
This command can be used to gather status for all the elements, and should be issued whenever the library
indicates that element status may have changed, such as after a power cycle or door opening and closing.
It should then be followed by a READ ELEMENT STATUS command to retrieve the status.
The INITIALIZE ELEMENT STATUS CDB format is shown in the following table.
Table 7INITIALIZE ELEMENT STATUS CDB format
Bit
Byte
0Op Code (07h)
1Logical Unit NumberReserved
2Reserved
3Reserved
4Reserved
5NBLControl
No Barcode Labels (NBL) – A value of 0 indicates that the specified elements will be checked for all
relevant status, including bar code labels. A value of 1 indicates that elements will be checked for media
presence only (no bar code labels).
76543210
12SCSI Commands
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 will always fully execute this command regardless of the Automatic
Inventory setting.
Results of the status initialization will be buffered by the library for retrieval via the READ ELEMENT
STATUS command. Element status and barcode label information is retained by the library across power
cycles.
Command Usage
This command can be issued to gather status for some or all of the elements, and can be used in
conjunction with host application error handling if the normal element status maintained by the library
returns an unexpected result. It should then be followed by a READ ELEMENT STATUS command to
retrieve the status.
Initialize Element Status With Range CDB Format
The INITIALIZE ELEMENT STATUS WITH RANGE CDB format is shown in the following table.
Table 8INITIALIZE ELEMENT STATUS WITH RANGE CDB format
Range – A value of 0 indicates that all element addresses will be checked and that the Starting Element
Address and Number of Elements fields will be ignored. A value of 1 indicates that the series of elements
beginning at the specified Starting Element Address for the specified Number of Elements will be checked.
76543210
Starting Element Address
Number of Elements
Starting Element Address - The Starting Element Address specifies the beginning address of the range
to check. It must be a valid address for an element that exists within the library; no adjustment will be made
to convert to a next higher valid address. This field is ignored if the Range field is 0.
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.
No Barcode Labels (NBL) – A value of 0 indicates that the specified elements will be checked for all
relevant status, including bar code labels. A value of 1 indicates that elements will be checked for media
presence only (no bar code labels).
14SCSI Commands
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. An INQUIRY command will respond with a Check
Condition status only when it cannot return the requested Inquiry data.
Command Usage
This command would normally only be issued once for each logical unit as desired by the initiator to facilitate
the initialization process.
Inquiry CDB Format
The INQUIRY CDB format is shown in the following table.
Command Support Data (CMDDT) – This field is not supported and must be set to 0.
Enable Vital Product Data (EVPD) – An EVPD value of 1 indicates that the vital product data specified by
the Page Code should be returned. A value of 0 indicates that standard inquiry data should be returned.
Page Code - This field specifies which vital product data page to return if the EVPD bit is set to 1. If the
EVPD bit is set to 0, the Page Code must be 00h. The library supports the following page codes:
•00h - Supported Vital Product Data pages (this list)
•80h - Unit Serial Number page
•83h – Device Identification page
Allocation Length - The Allocation Length field specifies the maximum number of bytes that the initiator
allocated for returned inquiry data. An Allocation Length of 0 indicates that no inquiry data is to be
transferred (this condition is not considered an error).
76543210
The library terminates the data transfer when it has transferred the lesser of either the number of bytes
specified by the Allocation Length field or all of the available inquiry data.
Peripheral Qualifier – A return value of 000b indicates that the library supports the peripheral device type
at the specified LUN. A return value of 001b indicates that the library is capable of supporting th e peripheral
device type at the specified LUN, however the device is not cur rently connected to it. A return value of 011b
indicates no peripheral device types are supported at that LUN.
Peripheral Device Type – For Media Changer logical units, this field returns 01000b (08h) to indicate it is
a Media Changer device. For the Controller logic al un it, this field returns 01100b (0Ch) to indicate it is a
Controller device. If an unsupported LUN was specified, this field retu rns 11111b (1Fh), which indicates that
the device type is unknown.
Removable Medium Bit (RMB) – For Media Changer logical units, this field re tu rns 1 , indicating med ia is
removable. For the Controller logical unit it returns 0.
Version – This field returns 03h, indicating compliance with the SCSI-3 standard.
Asynchronous Event Reporting Capability (AERC) – Returned as 0, indicating AERC is not supported.
Normal ACA Supported (NormACA) – This field returns a 1, indicating the NACA bit in the Control byte
of a CDB is supported. The Scalar i40, Scalar i80, and Scalar i500 without Data Appliance blades does not
support the NACA bit and therefore returns 0 for this field.
Hierarchical Support (HiSup) – This field returns a 1, in dicating that the hierarchical addressing model is
used to assign LUNs, and that the REPORT LUNs command is supported.
Full Firmware Revision Level
Response Data Format – Returned as 0010b, indicating response data is in standard SCSI format.
16SCSI Commands
Additional Length – For the Media Changer logical units, this field returns 33h, indicating 51 additional
bytes of data are available. For the Controller logical unit, this field returns 1Fh, indicating 31 additional
bytes of data (following this field) are available to the initiator.
SCC Supported (SCCS) – For the Media Changer logical units, this field returns a 0. For the Controller
logical unit, this field returns a 1.
Basic Queuing (BQue) – Returned as 0, indicating basic queuing is not supported.
Enclosure Services (EncServ) – Returned as 0, indicating an enclosure services component is not
included.
Bar Code (BarC) – For Media Changer logical units, this field returns a 1, indicating a bar code scanner or
imaging device is installed (also returned in byte 55 below). For the Controller logical unit, this field returns
a 0.
Multi Port (MultiP) – Returned as 0, indicating that this is not a multi-port device.
Media Changer (MChngr) – This field returns a 0, indicating it is not an attached Media Changer device.
Wide SCSI Address 16 (Addr16) – Returned as 1, indicating 16-bit wide SCSI addresses are supported
(applies to parallel SCSI only).
Relative Address (RelAdr) – Returned as 0, indicating relative addressing is not supported.
Wide Bus 16 (Wbus16) – Returned as 1, indicating 1 6 bit transfers are supp orted (applies to parallel SCSI
only).
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 queuin g 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.
Vendor Identification – Returned as one of the following (space filled to 8 bytes):
•"ADIC "
•"QUANTUM "
Product Identification – Depending upon the library type, returned as one of the following (space filled to
16 bytes):
•"Scalar 24 "
•"Scalar 100 "
•"Scalar 1000 "
•"Scalar i2000 "
•"Scalar 10K "
•"Pathlight VX "
•"Scalar i500 "
•"Scalar i40-i80 "
Firmware Revision Level – Returned as the ASCII representation of the revision level, such as “100A” or
“203A”.
The remaining fields are only returned for Media Changer logical units.
Full Firmware Revision Level – Same as the firmware revision level, but extended to include the build
Bar Code (BarC) – Returned as 1, indicating a bar code scanner or imagin g de vic e is insta lled . Also
returned in byte 6 above.
Clocking (not shown in Table 10
Ultrium devices having parallel SCSI interfaces. In this case, the Additional Length field returns 35h,
indicating 53 bytes of additional data are retur ned. The Clocking field occupies bits 2 and 3 of the additional
byte 56 that is returned, and byte 57 is zero.
on page 16) – This field is only returne d for Scalar i500 libraries with IBM
Vital Product Data Pages
The collection of Vital Product Data pages is as follows:
Peripheral Qualifier - The return value 000b indicates that the library supports the peripheral device type
at the specified LUN. This field returns 011b if no peripheral device types are supported at that LUN.
Peripheral Device Type – For Media Changer logical units, this field returns 01000b (08h) to indicate it is
a Media Changer device. For the Controller logic al un it, this field returns 01100b (0Ch) to indicate it is a
Controller device. If an unsupported LUN was specified, this field retu rns 11111b (1Fh), which indicates that
the device type is unknown.
Page Code - Returned as 00h, indicating this page.
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 suppor t for the Device Identification Page.
Peripheral Qualifier – The return value 000b indicates that the library supports the peripheral device type
at the specified LUN. This field returns 011b if no peripheral device types are supported at that LUN.
Peripheral Device Type – For Media Changer logical units, this field returns 01000b (08h) to indicate it is
a Media Changer device. For the Controller logic al un it, this field returns 01100b (0Ch) to indicate it is a
Controller device. If an unsupported LUN was specified, this field retu rns 11111b (1Fh), which indicates that
the device type is unknown.
Page Code – Returned as 80h, indicating this page.
Page Length – Returned as 18h, indicating the remaining number of bytes following this field.
Serial Number – The value returned for this field is the serial number for the system, prefixed with the
vendor identification. The serial number is padded with trailing spaces as needed to complete the 24 bytes.
76543210
Serial Number
For example:
QUANTUM123456789 or QUANTUM123456789_LL1
If the serial number cannot be obtained, the serial number portion is replaced with zeros followed by trailing
spaces. For example:
Peripheral Qualifier – The return value 000b indicates that the library supports the peripheral device type
at the specified LUN. This field returns 011b if no peripheral device types are supported at that LUN.
Peripheral Device Type – For Media Changer logical units, this field returns 01000b (08h) to indicate it is
a Media Changer device. For the Controller logic al un it, this field returns 01100b (0Ch) to indicate it is a
Controller device. If an unsupported LUN was specified, this field retu rns 11111b (1Fh), which indicates that
the device type is unknown.
76543210
Identification Descriptors
First Identification Descriptor
Last Identification Descriptor
Page Code – Returned as 83h, indicating this page.
Page Length – Returns the remaining number of bytes following this field.
Identification Descriptors
The general format of identification descriptors are as follows:
Table 14Identification Descriptors
Bit
Byte
0Rese rvedCode Set
1ReservedAssociationIdentifier Type
2Reserved
3Identifier Length (n-3)
4
N
Code Set – This field returns the following values:
•1h – the Identifier field contains binary values
76543210
Identifier
•2h – the Identifier field contains ASCII characters
20SCSI Commands
Association – This field returns the following values:
•0h – the Identifier field is associated with the address physical or logical device
•1h – the Identifier field is associated with the port that received the request
Identifier Type – This field returns the following values:
•1h – The identifier is a concatenation of the Vendor Identification field from the Standard Inquiry
response and the Serial Number field (without the Vendor Identification prefix) from the Unit Ser ial
Number page.
•3h – The identifier is an IEEE Registered format Name_Identifier (Worldwide Name).
•4h – The identifier is a port number. In this case, the Code Set and Association fields will both be
set to 1.
Identifier Length – This is the length of the Identifier field, and will vary by identifier type.
Identifier – This is the identifier as described by the Code Set, Association, and Identifier Type fields.
Media Changer Identification Descriptor
Media Changer logical units report only a single identifier. They will report the same identifier on either SCSI
or Fibre Channel.
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.
Table 20LOG SENSE CDB format
Bit
Byte
0Op Code (4Dh)
1Logical Unit NumberReservedPPCSP
2PCPage Code
3Reserved
4Reserved
5
6
7
8
9Control
Parameter Pointer Control (PPC) – Must be set to 0. The library will return log parameters starting with
the parameter code specified in the Parameter Po inter field, and return up to the number o f bytes specifi ed
in the Allocation Length field. Log parameters are retur ned in ascending order a ccording to their param eter
code. A PPC bit of 0 and a Parameter Pointer field of 0 will cause all available log parameters for the
requested page code to be returned, subject to the Allocation Length.
76543210
Parameter Pointer
Allocation Length
Save Parameters (SP) – Must be set to 0. The library does not support the saving of log parameters.
Page Control (PC) – Must be set to 01b. The library only returns cumulative values for any log parameter
rather than threshold or default values.
24SCSI Commands
Page Code – The Page Code field identifies which log page is being requested by the initiator.
Table 21Page Code field
Page CodePage NamePage Description
00hSupp orted Log PagesReturns list of supported log pages
2EhTape Alert LogReturns the 64 tape alert fla gs
Parameter Pointer - This field specifies which log parameter to begin with for the requested log page. A
PPC bit of 0 and a Parameter Pointer field of 0 will cause all available log parameters for the requested page
code to be returned, subject to the Allocation Length. More detailed definition of this field is contained within
the specific log page descriptions.
Allocation Length - The Allocation Length field is use d to determine the maximum amount of data to return.
The transfer completes after either all the data has been transferred or an amount equal to the Allocation
Length has been sent. Specify FFFFh to include all available data.
Log Sense Response
The response to a LOG SENSE command returns the log page specified in th e Page Code field of the CDB.
The log page format is described in “Log Page Format.” The valid Page Code fields are listed in Table 21
on page 25. The various log parameters are described within their respective pages, along with their
Parameter Codes. The Log Parameter format is described in “Log Parameter Format.”
Log Page Format
The following table shows the Log Page format. The firs t four bytes are the Parameter List Header, followed
by the list of log parameters.
Table 22Log Page format
Bit
Byte
0ReservedPage Code
1Reserved
2
3
4
x+3
n-y+1
n
76543210
Page Length (n-3)
Log Parameter (First)
(Length x)
.
.
.
Log Parameter (Last)
(Length y)
Page Code – This field identifies which log page is being transferred.
Page Length - This field indicates the total number of bytes available to return for this page, be ginning with
the first log parameter. The value set for this field depends on the value specified for the Page Code.
Log Parameters – These are dependent upon the log page. The various parameters as well as their format
for the supported pages are listed below.
Table 23Log Parameter Format
Bit
Byte
76543210
0
Parameter Code
1
2DUDSTSDETCTMCLBINLP
3Parameter Length (n-3)
4
Parameter Value
n
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.
Target Save Disable (TSD) – Will be set to 0. The library provides a self-defined method for saving log
parameters.
Enable Threshold Comparison (ETC) – Will be set to 0. No comparison to threshold values is made.
Threshold Met Criteria (TMC) – Will be set to 0. Comparison to threshold values is not supported.
List Parameter Binary (LBIN) – This field is only valid if LP is set to 1. When LBIN is set to 0, the list
parameter is ASCII. When LBIN is set to 1, the list parameter is a binary value.
List Parameter (LP) – This field will be set to 0 for data counters and set to 1 for list parameters.
Parameter Length – This field indicates the number of bytes that follow this field, which is the size of the
parameter value.
Parameter Value – This field contains the actual parameter data, which can be either a data counter or a
list parameter (ASCII string or binary value).
26SCSI Commands
Supported Log Page (00h)
This page returns a list of all log pages supported by the library.
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.
76543210
Page Length (0002h)
Tape Alert Log Page (2Eh)
The Tape Alert log page follows the standard log page format. Each Tape Alert is r eturned as an individual
log parameter, with its state reflected in bit zero of th e one-byte Parameter Value field of the log parameter.
When this bit is set to one, the alert is active.
When requesting the Tape Alert log page, the Parameter Pointer determines from what point in the Tap e
Alert table the alerts are returned. The value zero specifies that all tape alerts should be returned. If the
Parameter Pointer is set from 1 to 64, all tape alerts from that point to the end of the list are retu rn ed . Th e
various log parameters are listed in the following table.
Table 25Tape Aler t Lo g Page Para m et er s
Log Parameter
Tape Alert Flag 10001h01000001
Tape Alert Flag 20002h01000001
...01000001
Tape Alert Flag
63
Tape Alert Flag
64
The severity of the flags has the following meaning:
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.
Flag 13:Library Pick Retry (W) - This flag is set when a high retry count threshold is passed when
performing an operation to pick a cartridge from a slot before the operation succeeds. It is internally cleared
when another pick operation is attempted.
Flag 14:Library Place Retry (W) - This flag is set when a high retry count threshold is passed when
performing an operation to place a cartridge back into a slot before the operation succeeds. It is internally
cleared when another place operation is attempted.
Flag 15:Library Load Retry (W) - This flag is set when a high retry count threshold is passed when
performing an operation to load a cartridge into a drive before the operation succeeds. It is internally cleared
when another load operation is attempted. Note that if the load actua lly fails due to a media or drive problem,
the appropriate TapeAlert flags should be set by the drive.
Flag 16:Library Door (C) - This flag is set when media move operations cannot be performed because
a door is open, and is internally cleared when the door is closed. (Note: This flag is only supported by the
Scalar i500 and Scalar i2000 libraries.)
Flag 17:Mailbox Mechanical Problem (C)- This flag is set when a mailbox station mechanical problem
is detected.
Flag 23:Library Scan Retry (W) - This flag is set when a high retry count threshold is passed wh en
performing an operation to scan the barcode on a cartridge before the operation succeeds. It is internally
cleared when another barcode scanning operation is attempted.
Flag 27:Cooling Fan Failure (W) - This flag is set when a cooling fan has failed within a library
component. (Note: This flag is only supported by the Scalar i40 and Scalar i80 libraries.)
Flag 28:Power Supply Failure (W) - This flag is set when a redundant power supply has failed within
the library. (Note: This flag is only supported by the Scalar i40 and Scalar i80 libraries.)
Flag 32:Barcode Label Unreadable (I)- This flag is set when a tape cartridge barcode label could not
be read. (Note: This flag is only supported by the Scalar i40, Scalar i80, and Scalar i500 libraries.)
28SCSI Commands
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 logica l unit as well as a Media Changer logical unit.
The mode pages supported by each device vary however.
Command Usage
A MODE SENSE command with the PC field set to 1h and the Page Code field set to 3Fh can be issued
before the MODE SELECT command is issued to determine which mode parameters are su pported, which
mode parameters are changeable, and the supported length of each page. Since the library does not
support any changeable parameters, use of MODE SELECT provides limited value. For a list of available
mode pages, see Table 36
Mode Select (6) CDB Format
The six-byte MODE SELECT CDB format is shown in the following table.
Table 26MODE SELECT CDB format
on page 37.
Bit
Byte
0Op Code (15h)
1Logical Unit NumberPFReservedSP
2PCPage Code
3Reserved
4Reserved
5Parameter List Length
6Control
Page Format (PF) - This bit indicates that the data sent by the initiator after the MODE SELECT header
and block descriptors complies with the definition of pages in the SCSI standard. The value must be set to 1.
Save Parameters (SP) - Savable pages are not supported and this field must be set to 0.
Parameter List Length - This field specifies the number of bytes that will be transferred for the MODE
SELECT parameter list, and should be equal to the length of a single Parameter List Header plus the length s
of all pages to be transferred. A length of zero indicates that no data is transferred. This is not considered
to be an error.
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, no ne of the fields are actually used
however, and should all be set to zero.
Table 27Mode Parameter Header format for Mode Select (6)
Bit
Byte
0Reserved
1Reserved
2Reserved
3Reserved
76543210
30SCSI Commands
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.
Command Usage
A MODE SENSE command with the PC field set to 1h and the Page Code field set to 3Fh can be issued
before the MODE SELECT command is issued to determine which mode parameters are su pported, which
mode parameters are changeable, and the supported length of each page. Since the library does not
support any changeable parameters, use of MODE SELECT provides limited value. For a list of available
mode pages, see Table 36
Mode Select (10) CDB Format
The ten-byte MODE SELECT CDB format is shown in the following table.
Table 28MODE SELECT CDB format
on page 37.
Bit
Byte
0Op Code (55h)
1Logical Unit NumberPFReservedSP
2Reserved
3Reserved
4Reserved
5Reserved
6Reserved
7
8
9Control
Page Format (PF) - This bit indicates that the data sent by the initiator after the MODE SELECT header
and block descriptors complies with the definition of pages in the SCSI standard. The value must be set to 1.
Save Parameters (SP) - Savable pages are not supported and this field must be set to 0.
Parameter List Length - This field specifies the number of bytes that will be transferred for the MODE
SELECT parameter list, and should be equal to the length of a single Parameter List Header plus the length s
of all pages to be transferred. A length of zero indicates that no data is transferred. This is not considered
to be an error.
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, a nd should all be set
to zero.
Table 29Mode Parameter Header format for Mode Select (10)
Bit
Byte
0
1
2Reserved
3Reserved
4
5
6
7
76543210
Reserved
Reserved
Reserved
32SCSI Commands
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 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 settin gs governing the behavior of the libr ary.
For example, the number of elements and their assign ed addresses can be obtained th rough use of MODE
SENSE, which allows an application to adapt to a library configuration instead of using fixed values. Use of
MODE SENSE to obtain these parameters during initialization is highly recommended to facilitate the most
flexibility in supporting the library.
Mode Sense (6) CDB Format
The six-byte MODE SENSE CDB format is shown in the following table.
Table 30MODE SENSE CDB format
Bit
Byte
0Op Code (1Ah)
1Logical Unit NumberRsvdDBDReserved
2PCPage Code
3Reserved
4Allocation Length
5Control
Disable Block Descriptors (DBD) - A value of 0 or 1 is supported, although block descriptors are not
returned.
Page Control (PC) - This field indicates the type of mode page parameter values to return as shown in the
following table
Table 31Page Control (PC) field
Page ControlDescription
00Report current values defined by:
• The values set by the last successful MODE SELECT command.
• The default values if no saved values exist.
01Report changeable values
10Report default values
11Report saved values (report default values if no pages are previously saved)
Page Code - This field determines which pages should be reported . For a list of availabl e mode pages, see
Table 36
Allocation Length - This field specifies the number of bytes that the initiator allocated for retu rned MODE
SENSE data. A length of 0 means that the library will return no MODE SENSE data. This is no t considered
to be an error.
on page 37.
Mode Sense (6) Response
The six-byte MODE SENSE response consists of a single four-byte Mode Parameter Header, followed by
zero or more mode pages. Each page is individually described in “Mode Pages.”
Mode Parameter Header
The following table lists the format of the Mode Parameter Header for the six-byte MODE SENSE command.
Table 32Mode Parameter Header format for Mode Sense (6)
Bit
Byte
0Mode Data Length
1Reserved
2Reserved
3Reserved
Mode Data Length - This specifies the length in bytes that is available to be transferred as part of the
response. The Mode Data Length does not include itself but does include the remaining 3 bytes of the
parameter header, as well as the overall total number of bytes being sent for all requested pages.
76543210
34SCSI Commands
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 Controller logical unit.
Command Usage
This command can be used to determine certain operational settin gs governing the behavior of the libr ary.
Use of MODE SENSE to obtain these parameters during initialization is highly recommended to facilitate
the most flexibility in supporting the library.
Mode Sense (10) CDB Format
The ten-byte MODE SENSE CDB format is shown in the following table.
Page Control (PC) - This field indicates the type of mode page par ameter values to return as shown in the
following table.
Table 34Page Control (PC) field
Page ControlDescription
00Report current values defined by:
• The values set by the last successful MODE SELECT command.
• The default values if no saved values exist.
01Report changeable values
10Report default values
11Report saved values (report default values if no pages are previously
saved)
Page Code - This field determines which pages should be reported. A list of the supported pages is sh own
in the previous table.
Allocation Length - This field specifies the number of bytes that the initiator allocated for retu rned MODE
SENSE data. A length of 0 means that the library will return no MODE SENSE data. This is no t considered
to be an error.
Mode Sense (10) Response
The ten-byte MODE SENSE response consists of a single eight-byte Mode Par ameter Header, followed by
zero or more mode pages. Each page is individually described in “Mode Pages.”
Mode Parameter Header
The following table shows the format of the Mode Parameter Header for the ten-byte MODE SENSE
command.
Table 35Mode Parameter Header format for Mode Sense (10)
Bit
Byte
0
1
2Reserved
3Reserved
4
5
76543210
Mode Data Length
Reserved
6
Reserved
7
Mode Data Length - This specifies the length in bytes that is available to be transferred as part of the
response. The Mode Data Length does not include itself but does include the remaining six bytes of the
parameter header, as well as the overall total number of bytes being
36SCSI Commands
Mode Pages
The following table lists the mode pages supported by the library.
Table 36Suppor te d M od e Pag es
Page CodePage NamePage DescriptionDevice
02hDisconnect ReconnectProvides information regarding the
physical bus performance characteristics.
18hFibre Channel Logical
Unit Control
19hFibre Channel Port
Control
1ChInformational
Exceptions Control
1DhElement Address
Assignment
1EhTransport Geometry
Parameters
1FhDevice CapabilitiesProvides information regarding cartridge
3FhAll Mode PagesReturns all mode pages.Both
Provides Fibre Channel control
information that is associated with the
logical unit.
Provides Fibre Channel control
information that is associated with the port.
Provides information regarding SCSI tape
alert processing within the library.
Provides information regarding SCSI
element address assignments and
respective element ranges.
Provides information regarding the Media
Changer’s capabilities.
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.
Table 37Disconnect-Reconnect Page (02h)
Bit
Byte
0PSRsvdPage Code (02h)
1Parameter List Length = 0Eh
2Buffer Full Ratio
3Buffer Empty Ratio
4
5
6
7
8
9
10
11
12EMDPFair ArbitrationDIMMDTDC
76543210
Bus Inactivity Limit
Disconnect Time Limit
Connect Time Limit
Maximum Burst Size
13Reserved
14
15
Parameters Savable (PS) - This page is not savable, and this field is set to zero.
Page Code - This field identifies the Disconnect-Reconnect mode page and returns 02h.
Parameter List Length - This field is set to 0Eh (14).
Buffer Full Ratio – This field indicates how full the buffer will be (during read operations) prior to requesting
an interconnect tenancy. A value of 0 is returned to indicate that requests for an interconnect tenancy are
consistent with the Disconnect Time Limit field.
Buffer Empty Ratio – This field indicates how empty the buffer will be (during write operations) prior to
requesting an interconnect tenancy (request for the initiato r to send data). A value of 0 is returned to indicate
that requests for an interconnect tenancy are consistent with the Disconnect Time Limit field.
Bus Inactivity Limit – This field indicates the maximum time limit allowed for maintaining an interconnect
tenancy without any data or information transfer. A value of 0 is returned to indicate that there is no bus
inactivity limit.
Disconnect Time Limit – This field indicates the minimum wait time between interconnect tenancies. A
value of 0 is returned to indicate that there is no disconnect time limit.
First Burst Size
38SCSI Commands
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 i ncremen ts of 51 2 bytes. A va lue of 4 is r eturned,
indicating a maximum burst size of 2048 bytes.
Enable Modify Data Pointers (EMDP) – This field indicates whether data transfers are allowed to be reordered. A value of 1 is returned to indicate that data transfers can be re-ordered.
Fair Arbitration – This field indicates whether fair or unfair arbitration is used when requesting an
interconnect tenancy. A value of 000b is returned to indicate that the various fairness algorithms may not
be used.
Disconnect Immediate (DIMM) – A value of 0 is returned to indicate that data may be transferred for a
command during the same interconnect tenancy in which the command was received.
Data Transfer Disconnect Control (DTDC) – A value of 000b is returned to indicate that data transfer
disconnect control is not used.
First Burst Size – This field indicates the maximum amount of data that may be transferred along with a
command. A value of 0 is returned to indicate that there is no first burst size limit.
Fibre Channel Logical Unit Control Page (18h)
The Fibre Channel Logical Unit Control mode page reports logical unit behavio r for the Fibre Channel
Protocol. This page is not available on the SCSI interface.
Table 38Fibre Channel Logical Unit Control Page (18h)
Parameters Savable (PS) - This page is not savable, and this field is set to zero.
Page Code - This field identifies the Fibre Channel Logical Unit Control mode page and returns 18h.
Parameter List Length - This field is set to 06h.
Protocol Identifier – This field returns 0 to indicate the Fibre Channel protocol.
Enable Precise Delivery Checking (EPDC) – This field returns 0 to indicate that the Fibre Channel
Command Reference Number is not checked to verify that command packets are received in order.
The Fibre Channel Port Control mode page r eports port behavior for the Fibre Chan nel Protocol. This mode
page is not available on the SCSI interface. This mode page is only supported by devices at LUN 0.
Table 39Fibre Channel Port Control Page (19h)
Bit
Byte
0PSRsvdPage Code (19h)
1Parameter List Length = 06h
2ReservedProtocol Identifier (0h)
3DTFDPLPBDDISDLMRHAALWIDTIPEDTOLI
4Reserved
5Reserved
6ReservedRR_TOV Units
7Resource Recovery Time-out Value (RR_TOV)
Parameters Savable (PS) - This page is not savable, and this field is set to zero.
Page Code - This field identifies the Fibre Channel Port Control mode page and returns 19h.
Parameter List Length - This field is set to 06h.
Protocol Identifier – This field returns 0 to indicate the Fibre Channel protocol.
Disable Target Fabric Discovery (DTFD) – A DTFD bit of one indicates that if the target is attached by an
arbitrated loop, it will not recognize the presence of a fabric loop port on the loop. The target will perform
only the private loop functions defined for targets defined by FC-PLDA and FC-TAPE. When this bit is set
to zero, and the target is attached by an arbitrated loop, it will discover a fabric loop port if present on the
loop and perform the public loop functions defined for targets by FC-FLA. This field is ignored if the target
is not attached to an arbitrated loop.
76543210
Prevent Loop Port Bypass (PLPB) – This field is set to zero to indicate that the target allows the Loop Port
Bypass (LPB) and Loop Port Enable (PBE) primitive sequences to control the port bypass circuit and
participation on the loop as specified by FC-AL-2. When not attached to an arbitrated loop, this field is
ignored.
Disable Discovery (DDIS) – This field returns zero to indicate that the target will wait to complete target
discovery as defined by FC-PLDA, FC-FLA, and FC-TAPE before allowing processing of tasks to resume.
When not attached to an arbitrated loop, this field is ignored.
Disable Loop Master (DLM) –This field returns zero to indicate the target may participate in loop master
arbitration in the normal manner and, if successful, may become loop master during the loop initialization
process. This field is ignored when not attached to an arbitrated loop.
Require Hard Address (RHA) – A RHA bit of one indicates that if the target is attached to an arbitrated
loop, it will only attempt to obtain its hard address available in the SCA-2 SFF- 8067 connector or device
address jumpers during loop initialization. The target will not attempt to obtain an address during the LISA
phase of initialization. If there is a conflict for the hard address selection dur ing loop initialization or the target
does not have a valid hard address available, the target shall enter the nonparticipating state. If the target
detects loop initialization while in the nonparticipating state, the target will again attempt to get its hard
40SCSI Commands
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. When the RHA bit is set to zero, the target follows the normal initialization
procedure, including the possibility of obtaining a soft address during the loop initialization process. When
not attached to an arbitrated loop, this field is ignored the RHA bit.
Allow Login without Loop Initialization (ALWI) –This field returns zero to indicate the target will perform
the normal loop initialization procedure before entering the monitoring mode and accepting a login ELS. This
field is ignored when not attached to an arbitrated loop.
Disable Target Initiated Port Enable (DTIPE) –This field returns zero to indicate the target will enable itself
onto the loop according to the rules specified in FC-AL-2. This field is ignored when not attached to an
arbitrated loop.
Disable Target Originated Loop (DTOLI) –This field returns zero to indicate the target attached by an
arbitrated loop will generate LIP(F7,xx) after it enables a port into a loop. If the target is attached to an
arbitrated loop and detects loop failure at its input, it shall follow the error initialization process defined by
FC-AL-2 regardless of the state of this bit. This field is ignored when not attached to an arbitrated loop.
RR_TOV Units – This field indicates the units for the Resource Recovery Time-out Value field. A value of
3 is returned to indicate the units are in tenths of seconds.
Resource Recovery Time-out Value (RR_TOV) – A value of 20 is retu rned, indicating a tim e-out value of
2 seconds.
Informational Exceptions Control Page (1Ch)
The Informational Exceptions Control mode page describes the capabilities of the library for reporting
exception conditions. It was previously known as the Tape Alert mode page when exception conditions were
limited to only Tape Alert flags.
The main purpose of this page is to indicate that the libr ary can report exception conditions by being polled.
The exception conditions primarily involve the Tape Alert flags, but may include additional conditions as
well, as defined by the Sense Data.
Table 40Informational Exceptions Control Page (1Ch)
Parameters Savable (PS) – This page is not savable, and this field is set to zero.
Page Code – This field identifies the Informational Exceptions Control mode page and returns 1Ch.
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 exceptio n condition s 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.
Enable Warning (EWasc) – This field is set to 0, indicating that reporting of warnings is disabled.
Enable Background Function (EBF) – This field is set to 0 indicating that background functions are not
enabled.
Performance (Perf) – This field is set to 0 to indicate that informational exception operations that are the
cause of delays are acceptable.
Method of Reporting Informational Exceptions (MRIE) – This field is set to 0h to indicate that exception
conditions or warnings will not be reported, and that the initiator must poll.
Interval Timer – This field is set to 0000 0000h to indicate that the interval is vendor specific. The library
does not support a timer interval.
Report Count – This field is set to 0000 0000h to indicate that there is no limit on the number of exceptio n
conditions reported.
42SCSI Commands
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 temporar ily
removed will not change the overall number of elements for that element type. Table 41
of the page. Initiators should always retrieve th is page and use these value s when communicating elementbased commands with the library. The addresses and quantities of elements should never be assumed or
hard-coded by the initiator, as they are subjec t to chan g e.
Parameters Savable (PS) – This page is not savable, and this field is set to zero.
Page Code – This field identifies the Element Address Assignment mode page and returns 1Dh.
Parameter List Length – This field is set to 12h (18).
First Medium Transport Element Address – This returns 0001h, which is the address of the fi rst medium
transport element (accessor).
Number of Medium Transport Elements – This field returns 0001h.
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.
First Data Transfer Element Address – This field returns 0100h, which is the address of the first data
transfer element (drive).
Number of Data Transfer Elements – This field varies, depending on the configuration of the subsystem.
Transport Geometry Parameters Page (1Eh)
The Transport Geometry Parameters page describes whethe r a medium transport element is a member o f
a set of elements that share a common robotics subsystem, and whether it is capable of handling doublesided media. Quantum libraries currently contain a single medium transport element, so all are the first
element in a set of one.
Table 42Transport Geometry Parameters Page (1Eh)
Bit
Byte
0PSRsvdPage Code (1Eh)
1Parameter List Length = 02h
2ReservedRotate
3Member Number In Transport Element Set
Parameters Savable (PS) – This page is not savable, and this field is set to zero.
Page Code – This field identifies the Transport Geometry Parameters mode page and returns 1Eh.
Parameter List Length – This field is set to 02h, since only a single medium transport is reported.
Rotate – This field returns 0, since double-sided media is not supported.
Member Number In Medium Transport Element Set – This field returns 0, since the library has a single
medium transport.
76543210
44SCSI Commands
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 de fining 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.
Table 43Device Capabilities Page (1Fh)
Bit
Byte
0PSRsvdPage Code (1Fh)
1Parameter List Length = 0Eh
2ReservedDT 1I/E 1ST 1MT 0
3Reserved
4Reserved
5Reserved
6Reserved
7Reserved
8
15
Parameters Savable (PS) – This page is not savable, and this field is set to zero.
Page Code – This field identifies the Device Capabilities mode page and returns 1Fh.
Parameter List Length – This field is set to 0Eh (14).
Data Transfer (DT) – This field is set to 1 to indicate that the data transfer elements (drives) can store
cartridges.
76543210
MT to DT 0MT to I/E 1MT to ST 1MT to MT 0
ST to DT 1ST to I/E 1ST to ST 1ST to MT 0
I/E to DT 1I/E to I/E 1I/E to ST 1I/E to MT 0
DT to DT 1DT to I/E 1DT to ST 1DT to MT 0
Reserved
Import/Export (I/E) – This field is set to 1 to indicate that the Import/Export elements can store cartridges.
Storage (ST) – This field is set to 1 to indicate that the storage elements can store cartridges.
Medium Transport (MT) – This field is set to 0 to indicate that the accessor cannot store cartridges.
The remaining element type to element type fields describe the allowable source to target transitions. A
zero is returned for any transition involving the Medium Transport (MT) except for when the MT is a source
and the destination is either I/E or Storage. A one is returned for all other transitions.
All Mode Pages (3Fh)
When this page is requested, all supported mode pages are returned in ascending order.
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. If the source element
was a drive, the library will attempt to leave the cartridge in either a storage or I/E element if the configuration
supports it (not partitioned in the case of the I/E), otherwise it may remain in the picker.
If the library includes towers, any required movement of the towers will be provided automatically by the
library.
When the source and destination addresses are the same, the library will still do a full Get and Put, even if
it is a drive (data transfer element).
The library will check that the source element is occupied and that the destination element is empty. It will
also check for media compatibility between the source and destination elements. Failures in either of these
will result in a Check Condition.
Command Usage
Storage, data transfer, and import/export elements can be used as valid source or destination elements.
The medium transport element (picker) cannot be a destination element. It can be a source element to
recover stranded media.
This is the primary command for the library, and should be used to accomplish any media move ment within
the system. If the library indicates a failure due to element status problems (source empty, destination full,
media incompatible, etc.), element status should be re-initialized and re- synchro nized. This would apply to
both hardware errors and illegal requests.
46SCSI Commands
Move Medium CDB Format
The MOVE MEDIUM CDB format is shown in the following table.
Medium Transport Element Address – This field conta ins the addr ess of the Mediu m Transport ele ment
to use for the move. A value of 0001h is the address for all Medium Tr ansport elements, but a value of 0000h
is also supported to select the default Medium Transport element.
76543210
Medium Transport Element Address
Source Element Address
Destination Element Address
Reserved
Source Element Address – This field specifies the element address from where the cartridge is retrieved.
Destination Element Address – This field specifies the element address for where the cartridge is to be
placed.
Invert – This field must be set to 0 since the library does not support double-sided media .
The library returns information about persistent reservation and reservation keys that are currently active.
Command Usage
This command is used in conjunction with PERSISTENT RESERVE OUT to manage persistent
reservations. It can be used to retrieve a list of the current reservations and the registered r eservation keys.
The PERSISTENT RESERVE IN and PERSISTENT RESERVE OUT commands should not be used with
the RESERVE ELEMENT and RELEASE ELEMENT commands.
Persistent Reserve In CDB Format
The PERSISTENT RESERVE IN CDB format is shown in the following table.
Table 45PERSISTENT RESERVE IN CDB format
Bit
Byte
0Op Code (5Eh)
1Logical Unit NumberService Action
2Reserved
3Reserved
4Reserved
5Reserved
6Reserved
7
8
9Control
Service Action – This field specifies the type of request being made as follows:
•0h – Read all registered reservation keys.
•1h – Read all current persistent reservations.
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.
76543210
Allocation Length
Persistent Reserve In Response
Two types of response are available, depending on the requested service action.
48SCSI Commands
Read Keys Response
The response for a Read Keys service action is shown the following table.
Table 46Read Keys Response
Bit
Byte
0
3
4
7
8
15
n-7
n
Generation – This field is a 32-bit counter that is incremented every time a PERSISTENT RESERVE OUT
command requests a Register, a Register and Ignore Existing Key, a Clear, a Preempt, or a Preempt and
Abort service action. This counter is not maintained across power cycles.
Additional Length – This field indicates the length in bytes of the Reservation Key List.
76543210
Generation
Additional Length (n-7)
Reservation Key List
First Reservation Key
. . .
Last Reservation Key
Reservation Key List – This is a list of all the 8-byte reservation keys that have been registered through
the PERSISTENT RESERVE OUT command.
The response for a Read Reservations service action is shown in the following table.
Table 47Read Reservations Response
Bit
Byte
0
3
4
7
8
15
16
19
20Reserved
21ScopeType
22
23
76543210
Generation
Additional Length (0010h)
Reservation Descriptor
Reservation Key
Scope-Specific Address
Obsolete
Generation – This field is a 32-bit counter that is incremented every time a PERSISTENT RESERVE OUT
command requests a Register, a Register and Ignore Existing Key, a Clear, a Preempt, or a Preempt and
Abort service action. This counter is not maintained across power cycles.
Additional Length – This field indicates the length in bytes of the Reservation Descriptor, and returns
0010h (16).
Since element reservations are not supported, a single reservation descriptor is returned for logical unit.
Reservation Key – This is the 8-byte reservation key that was registered through the PERSISTENT
RESERVE OUT command.
Scope-Specific Address – Element reservations are not supported an d this field returns 0000h.
Scope – This field returns a 0h, indicating logical unit scope. Element scope is not supported.
Type – This field returns the type of reservation as follows:
•3h Exclusive Access – The initiator holding the persistent reservation has exclusive read and write
access. Requests from any other initiators to transfer data to or from the logical unit will result in a
Reservation Conflict.
•6h Exclusive Access, Registrants Only – Any currently registered initiator has exclusive data
transfer access. Requests from unregistered initiators to transfer data to or from the logical unit will
result in a Reservation Conflict.
50SCSI Commands
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.
Command Usage
This command is used in conjunction with PERSISTENT RESERVE IN to manage persistent reservations.
It can be used to request exclusive access to the device. The PERSISTENT RESERVE IN and
PERSISTENT RESERVE OUT commands should not be used with the RESERVE ELEMENT and
RELEASE ELEMENT commands.
Persistent Reserve Out CDB Format
The PERSISTENT RESERVE OUT CDB format is shown in the following table.
Table 48PERSISTENT RESERVE OUT CDB format
Bit
Byte
0Op Co de (5F h )
1Logical Unit NumberService Action
2ScopeType
3Reserved
4Reserved
5Reserved
6Reserved
7
8
9Control
Service Action – This field specifies what reservation action to take as follows:
•00hRegister – Register a reservation key without making a reservation.
•01hReserve – Create a persistent reservation of the specified scope and type.
•02hRelease – Releases the selected reservation for the requesting initiator.
76543210
Parameter List Length (18h)
•03hClear – Clears all reservations keys and all persistent reservations.
•04hPreempt – Preempt reservations from another initiator.
•05hPreempt and Abort – Preempt reservations from another initiator and abort all tasks for all
initiators with the specified reservation key.
•06hRegister and Ignore Existing Key – Register a new reservation key and discard existing
reservation key.
Scope – Only logical unit scope is supported, and this field must be a 0h.
Type – This field specifies the type of reservation as follows:
•3hExclusive Access – The initiator holding the persistent reservation has exclusive read and
write access. Requests from any other initiators to transfer data to or from the logical unit will result
in a Reservation Conflict.
•6hExclusive Access , Registrants Only – Any currently registered initiator has exclusive data
transfer access. Requests from unregistered initiators to transfer data to or from the logical unit will
result in a Reservation Conflict.
Parameter List Length – This field returns 18h (24) to indicate the length of the PERSISTENT RESERVE
OUT parameter list, which is shown in the following table.
Table 49PERSISTENT RESERVE OUT parameter list
Bit
Byte
76543210
0
Reservation Key
7
8
Service Action Reservation Key
15
16
Scope-Specific Address
19
20ReservedAPTPL
21Reserved
22
Obsolete
23
Reservation Key – This is an 8-byte reservation key that identifies the initiator.
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.
•Preempt and Abort – This is the reservation key of the persistent reservation to preempt.
Scope-Specific Address – Element reservations are not supported and this field must be 00 00h.
Activate Persist Through Power Loss (APTPL) – Persistent reservations ar e not supported across power
cycles, so this field must be 0.
52SCSI Commands
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 demonstratio n pu rp o se s .
Position to Element CDB Format
The POSITION TO ELEMENT CDB format is shown in the following table.
Medium Transport Element Address – This field con tains the ad dress of the M edium Transport ele ment
to position. A value of 0001h is the address of the Medium Transpor t elem ent, but a valu e of 0000 h is also
supported (which selects the default Medium Transport element) .
Destination Element Address – This field contains the element address o f the target to position to. It can
be a storage, data transfer, or import/export element.
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 unlockin g of a mailbox.
The library automatically locks mailboxes during robotic access, and unlocks them afterwards.
While media removal is prevented, importing of media can still occur. The medium removal setting does not
persist across power cycles of the library.
Any initiator issuing this command to allow medium removal (Prevent set to 00b) will allow medium removal
for all initiators. This is done to maintain compatibility with certain bridged environment behavior (e.g., Fibre
Channel to Parallel SCSI).
Command Usage
In conjunction with keyed access to the physical library doors, this command can be used to secure the
library against unauthorized removal of media.
Prevent Allow Medium Removal CDB Format
The PREVENT ALLOW MEDIUM REMOVAL CDB format is shown in the following table.
Table 51PREVENT ALLOW MEDIUM REMOVAL CDB format
Bit
Byte
0Op Code (1Eh)
1Logical Unit NumberReserved
2Reserved
3Reserved
4ReservedPrevent
9Control
Prevent – This field controls medium removal as follows:
•00b – Allow medium removal
•01b – Prohibit medium removal
•10b – Not supported
•11b – Not supported
76543210
54SCSI Commands
Read Buffer – 3Ch
What the Library Does With This Command
The library will return a requested buffer of data. The Controller logical unit is the primary device to use with
this command, since the Media Changer logical units only support the echo buffer mode.
Command Usage
This command can be used primarily for enhanced doma in 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.
Read Buffer CDB Format
The READ BUFFER CDB format is shown in the following table.
Table 52READ BUFFER CDB format
Bit
Byte
0Op Code (3Ch)
1Logical Unit NumberRsvdMode
2Buffer ID
3
5
6
8
9Control
Mode – The supported modes are:
•2h – Data
•3h – Descriptor
•Ah – Echo Buffer
•Bh – Echo Buffer Descriptor
In Data Mode, data is transferred from the buffer specified by the Buffer ID field. Buffer IDs are assigned
beginning with zero, and are assigned co nt igu ou sly. Buffer ID code assignments for the READ BUFFER
command are the same as for the WRITE BUFFER command.
76543210
Buffer Offset
Allocation Length
In Descriptor Mode, a maximum of four bytes of READ BUFFER descriptor information is returned. The
library returns the descriptor information for the buffer specified by the buffer ID. If there is no buffer
associated with the specified Buffer ID, all zeros are returned in the READ BUFFER descriptor. The Buffer
Offset field is reserved in this mode. The allocation length should be set to at least four for this mode. See
on page 56 for a definition of the READ BUFFER descriptor.
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.
If a prior echo buffer mode WRITE BUFFER command was not successfully completed the echo buffer
mode READ BUFFER will return a Check Condition, with a Sense Key of Illegal Request and additional
sense code of Command Sequence Error. The data may be read from the echo buffer multiple times.
In Echo Buffer Descriptor Mode, a maximum of four bytes of READ BUFFER descriptor information is
returned for the echo buffer. The Buffer Offset field is reserved in this mode. The allocation length should
be set to at least four for this mode. See Table 53
Buffer ID – This field specifies which buffer the request is for. The IDs are the same for both the READ
BUFFER and WRITE BUFFER commands. The IDs supported by the library, along with their primary use
(data or download modes), are listed in the following table.
Table 53Suppor te d Buf fe r IDs
Buffer IDDescriptionRead/Write
0Library FirmwareWrite
Additional Buffer IDs beyond those listed are reserved. Descriptor Mode can be used to deter mine the size
or capacity of a given buffer.
Buffer Offset – This field contains the byte offset within the specified buffer from which data shall be
transferred. The initiator should conform to the offset boundary requirements returned in the READ
BUFFER descriptor described in “Read Buffer Response.”
for a definition of the READ BUFFER descriptor.
Allocation Length – In Data Mode, this field should be set to accommodate the amount of data being
requested for return. In Descriptor Mode, this field should be set to at least four.
Read Buffer Response
In Data Mode, the requested buffer of data is returned per the buffer offset and allocation length.
In Descriptor Mode, a buffer descriptor is returned as shown in the following table.
Table 54Read Buffer Response
Bit
Byte
0Offset Boundary
1
3
Offset Boundary – This field returns the boundary alignment (byte bounda ry) within the selected buffer for
subsequent READ BUFFER commands. The value contained in this field is interpreted as a power of two.
76543210
Buffer Capacity
56SCSI Commands
Therefore the value contained in the Buffer Offset field of subsequent READ BUFFER commands should
be a multiple of 2
offset boundary
as shown in the following table.
Table 55Offset Boundary
Offset Boundary2
0h2
1h2
2h2
3h2
4h2
offset boundary
0
= 1 Byte boundaries
1
= 2 Even-byte boundaries
2
= 4 Four-byte boundaries
3
= 8 Eight-byte boundaries
4
= 16 16-byte boundaries
Buffer Offsets
...…Etc.
FFhNot applicable0 is the only supported buffer offset
Buffer Capacity – This field returns the size of the requested buffer in bytes.
The Return Buffer stops being filled when the number of allocation length bytes has been transferred or
when all the available data from the buffer h as been transferred, whichever amount is less. This holds true
for either mode.
In Echo Buffer Descriptor Mode, an echo buffer descriptor is returned as shown in the following table.
Echo Buffer Overwritten Supported (EBOS) – This field returns a 0 to indicate that other initiators or
intervening commands may overwrite the echo buffer.
Buffer Capacity – This field returns 252, which is the size of the echo buffer (in bytes).
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 status remains valid as long as the subsystem integrity has not
been breached, such as by opening a door or through a power cycle.
Element status will be reported for all elements, including those represented by only a placeholder, as in the
case of uninstalled drives or magazines that physically have a place reser ved in the configuration. As such,
it is important to process the fields governing accessibility and exception conditions.
Command Usage
This command should be issued whenever new element status information is needed, or the library has
indicated that status may have changed. If the status information is suspect, an INITIALIZE ELEMENT
STATUS WITH RANGE command should be issued to refresh it.
Read Element Status CDB Format
The READ ELEMENT STATUS CDB format is shown in the following table.
Table 57READ ELEMENT STATUS CDB format
Bit
Byte
0Op Co de (B 8h )
1Logica l Unit NumberVolTagElement Type Code
2
3
4
5
6
7
9
10Reserved
76543210
Starting Element Address
Number of Elements
Reserved
Allocation Length
CurDataDVCID
11Control
Volume Tag (VolTag) – This field indicates whether the volume tag (bar code label) information sho uld be
returned. A value of one will return the labels, a value of zero will not.
58SCSI Commands
Element Type Code – This field specifies the element types selected for the retu rned information, as shown
in the following table.
Table 58Element Type Code
CodeSelected Element Type
0000b (0)All element types reported
0001b (1)Medium transport element (accessor)
0010b (2)Sto rage element
0011b (3)Import/Export element
0100b (4)Data transfer element (drives)
Starting Element Address – This field specifies the minimum element address to report. Only elements
with an element type code specified by the Element Type Code field, and with an address greater than or
equal to the starting element address will be reported. The starting element address must be a valid element
address, but not have to be within the range specified by the Element Type Code field.
Number of Elements – This field specifies the maximum number of element descriptors to return. Only
those descriptors that can be completely transferred within the allotted allocation length will be returned.
Current Data (CurData) – This field specifies whether the library may cause device motion to confirm
element status data. The library will not cause device motion if this field is set to either 0 or 1.
Device ID (DVCID) – This field indicates whether device identifiers (inquiry page information or serial
numbers) are returned for the specified range. Identifiers are returned if this field is set to 1. They are not
returned if this field is set to 0. Only data transfer elements can return device identifiers.
Allocation Length – This field specifies the byte length allowed for returned element descriptors. Only
complete element descriptors are returned. The library returns element d escriptors until one of the following
conditions are met:
•All available element descriptors have been returned
•The number of element descriptors specified in the Number of Elements field have been returned
•The number of bytes specified in the Allocation Length field have been returned
•There is less allocation length space available than is required by the next complete element
descriptor
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. A complete response then looks like:
Element Status Header
Element Status Page Header (first element type)
Element Descriptor
…(more descriptors)…
Element Descriptor
…(more status pages)…
Element Status Page Header (next element type)
Element Descriptor
…
Element Descriptor
There are only up to four Element Status Pages, one for each element type.
Element Status Header
One header is returned for each READ ELEMENT STATUS command. The format is shown in the following
table.
Table 59Element Status Header format
Bit
Byte
0
1
2
3
4Reserved
5
7
First Element Address Reported – This field indicates the lowest element address found that meets the
CDB request.
Number of Elements Available – This field indicates the number of elements found that meet the CDB
request.
76543210
First Element Address Reported
Number of Elements Available
Byte Count of Report Available
Byte Count of Report Available – This field indicates the number of available element status bytes that
meet the CDB requirements. The value does not include the eight-byte element status header, and is not
adjusted to match the value specified in the Allocation Length field of the CDB. This facilitates first issuing
a READ ELEMENT STATUS command with an allocation length of eight bytes in order to determine the
allocation length required to transfer all the element status data specified by the command.
60SCSI Commands
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.
Table 60Element Status Page
Bit
Byte
0Element Type Code
1
2
3
4Reserved
5
7
Element Type Code – This field indicates the specific element type being returned by the element
descriptors for this page.
PVolTag – A value of one indicates that the primary volume tag field (barcode label) is present in each of
the element descriptor blocks that follow. A value of zero indicates that they are not present.
AVolTag – Alternate Volume Tags are not supp orted. The returned value for this field is 0, and the al ternate
volume tag fields are omitted from the element descriptors.
Element Descriptor Length – This field indicates the number of bytes contained in a single element
descriptor. Refer to the individual element descriptor descri ptions for each element type for their resp ective
possible lengths.
76543210
PVolTagAVolTag
Element Descriptor Length
Byte Count of Descriptor Data Available
Reserved
Byte Count of Descriptor Data Available – This field indicates the number of element descriptor data
bytes available for the elements of this element type that meet the CDB requirements. This value represents
the Element Descriptor Length field multiplied by the nu mber of element descriptors for this element type.
This value does not include the 8-byte Element Status Page header, nor is it adjusted to match the allocation
length.
Element Descriptors
The following sections contain the definitions for the following element descriptors:
•Medium transport element
•Storage elements
•Import/Export elements
•Data transfer elements
Each element descriptor includes the element address, status flags, source storage ele ment addre ss, and
barcode label. Some descriptors also contain extended status information. Additional sense code and
qualifier information depends on the element type.
Volume tags (returned in the Primary Volume Tag field) are basically barcode labels on the media. The
library supports labels from 5 to 16 char acters in length. The Primary Volu me Tag field contains 3 2 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.
If the user has configured the library to support media identification, media identifiers will be reported as
found on the barcode labels as part of the volume tag. If this feature is not enabled, any media identifiers
found will not be reported.
Medium Transport Element Descriptor
Table 61Primary Volume Tag Field
Byte
Bit
0
1
2Element Descriptor LengthExceptRsvdFull
3Reserved
4Additional Sense Code
5Additional Sense Code Qualifier
6
8
9SvalidInvertReserved
10
11
12
47
76543210
Element Address
Reserved
Source Storage Element Address
Primary Volume Tag Information
(Field omitted if PVolTag = 0; remaining fields move up)
48
Reserved
51
Element Address – This field contains the element address of the accessor.
Except – This field is set to 1 if the element is in an abnormal state. Additional information will be available
in the Additional Sense Code and Additional Sense Code Qualifier fields. This field is set to 0 if the element
is in a normal state.
Full – This field is set to 0 if the element does not contain media. It is set to 1 if it does. Since the medium
transport element cannot be a destination element, this field should normally return 0. There may be error
situations where media is left in the picker, which would be indicated by this field . In the case of dual pickers,
differentiation of state will be provided through the Additional Sense Code and Additional Sense Code
Qualifier fields when exception conditions are present (such as stranded media).
Additional Sense Code – If the element is in an abnormal state (no er ro r or exceptio n a ssociated with it),
this field will be set to a value as described in Table 71
62SCSI Commands
on page 72.
Additional Sense Code Qualifier – If the element is in an abnormal state, this field will be set to a value
as described in Table 71
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. Since the medium transport element cannot be a
destination element, this would be an abnormal condition.
Primary Volume Tag – This field will normally return spaces if the primary volume tag is requested, since
the medium transport element cannot be a destination element. In certain error situations, a volume tag will
be returned to indicate which cartridge may be stranded within the picker.
on page 72.
Storage Element Descriptor
Table 62Storage Element Descriptor
Byte
Bit
0
1
2ReservedAccessExceptRsvdFull
3Reserved
4Add itional Sense Code
5Additional Sense Code Qualifier
6
8
9SvalidInvertReserved
10
11
12
47
76543210
Element Address
Reserved
Source Storage Element Address
Primary Volume Tag Information
(Field omitted if PVolTag = 0; remaining fields move up)
48
51
Element Address – This field contains the element address of the storage element.
Access – This field is set to 1 if access by a medium transp ort e lement is allowe d. It is set to 0 if access is
denied.
Except – This field is set to 1 if the element is in an abnormal state. Additional info rmation may be available
in the Additional Sense Code and Additional Sense Code Qualifier fields. If this field is 1, the primary volume
tag information could be invalid. This field is set to 0 if the element is in a normal state.
Full – This field is set to 0 if the element does not contain media. It is set to 1 if it does.
Additional Sense Code – If the element is in an abnormal state, this field will be set to a value as described
Additional Sense Code Qualifier – If the element is in an abnormal state, this field will be set to a value
as described in Table 71
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 moved from. It may be the same as this element.
Primary Volume Tag – If requested, this field contains the volume tag (bar code label) information for
media residing in this element address. Five to sixteen character barcode labels are supported.
on page 72.
Import/Export Element Descriptor
Table 63Import/Export Element Descriptor
Byte
Bit
0
1
2ReservedInEnabExEnabAccessExcept
3Reserved
4Additional Sense Code
5Additional Sense Code Qualifier
6
8
9SvalidInvertReserved
10
11
12
47
76543210
Element Address
Reserved
Source Storage Element Address
Primary Volume Tag Information
(Field omitted if PVolTag = 0; remaining fields move up)
Imp/Exp
Full
48
51
All fields are the same as for the Storage Element Descriptor except:
Element Address – This field contains the element address of the import/export element.
Import Enable (InEnab) – A value of one indicates that the element supports movement of media into the
scope of the Media Changer device. A value of zero indicates that this element does not support import
actions. The library returns a value of one for all import/export elements.
Export Enable (ExEnab) – A value of one indicates that the element supports movement of media out of
the scope of the Media Changer device. A value of zero indicates that this element does not supp ort export
actions. The library returns a value of one for all import/export elements.
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.
64SCSI Commands
Reserved
Data Transfer Element Descriptor
Table 64Data Transfer Element Descriptor
Byte
Bit
0
1
2ReservedAccessExceptRsvdFull
3Reserved
4Additional Sense Code
5Additional Sense Code Qualifier
6NotBusRsvdIDValidLUValidRsvdLogical Unit Number
7SCSI Bus Address
8Reserved
9SValidInvertReserved
10
11
12
47
76543210
Element Address
Source Element Address
Primary Volume Tag Information
(Field omitted if PVolTag = 0; remaining fields move up)
48ReservedCode Set
49ReservedIdentifier Type
50Reserved
51Identifier Length = x where x is 0h to 40h (valid identifier data)
52Device Identifier
(Field omitted if DVCID = 0, remaining fields move up)
115
Element Address – This field contains the element address of the storage element.
Access – This field is set to 1 if access by a medium transp ort e lement is allowe d. It is set to 0 if access is
denied. When set to 1, it implies that cartridges are unloaded and accessible if present. When set to 0, it
implies that cartridges are not unloaded if present.
Except – This field is set to 1 if the element is in an abnormal state. Additional info rmation may be available
in the Additional Sense Code and Additional Sense Code Qualifier fields. If this field is 1, the primary volume
tag information could be invalid. This field is set to 0 if the element is in a normal state.
Full – This field is set to 0 if the element does not contain media. It is set to 1 if it does.
Additional Sense Code – If the element is in an abnormal state, this field will be set to a value as described
in “Additional Sense Codes and Qualifiers.”
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.”
(Always padded to 64 byte length if DVCID = 1)
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.
SCSI Bus Address – When the IDValid field is set to one, this field contains the tape drive SCSI address.
This is only applicable to SCSI tape drives, and does not apply to Fibre Channel tape drives.
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 moved from.
Primary Volume Tag – If requested, this field contains the volume tag (bar code label) information for
media residing in this element address. Five to sixteen character barcode labels are supported.
Code Set – This field is set to:
•0h – RESERVED.
•1h – The device identifier field contains binary values.
•2h – The device identifier field contains ASCII values.
Identifier Type – This field is set to:
•0h – The Device Identifier, if the Identifier Length is set, lists the vendor specific device serial
number only.
•1h – The Device Identifier lists the eight-byte Vendor Identification, followed by vendor specific
unique identifier information.
•2h – The Device Identifier contains a Canonical form of IEEE Extended Unique Identifier, 64-bit
(EUI-64). In this case, the Identifier Length field is set to 8.
•3h – The Device Identifier contains an FC-PH Name_identifier.
Identifier Length – This field contains the length in b ytes of valid Device Identifier information. If no device
identifier is available, or the DVCID bit in the CDB is zero, the Identifier Length field is 0h and the Code Set
and Identifier Type fields are also 0h. If the DCVID bit is set, the Identifier Length may be se t between 0 and
64 (40h) bytes, depending on the associated drive type.
Device Identifier – This field provides up to 64 bytes of device identifier information for the device
associated with the data transfer element. The format is Identifier Type 1, which is equivalent to the drive’s
Inquiry page 83h. The Identifier Length specifies the length of valid device identifier information. If the
DVCID bit in the CDB is zero, this field is omitted. The Device Identifier field is padded with ASCII character
20h (space) to fill the complete 64 bytes. If the DVCID bit is set and the Identifier Length is 0, this field will
still be 64 bytes long.
66SCSI Commands
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.
Table 65RELEASE ELEMENT CDB format
Bit
Byte
0Op Code (17h)
1Logical Unit Number3rdPrtyThird Party Device ID
2Reservation ID
3
4
5Control
3rdPrty – This field is not supported, and must be set to 0.
Third Party Device ID – This field is not supported, and must be set to 0.
Element – This field is not supported, and must be set to 0.
Reservation ID – This field is not supported, and must be set to 0.
The library will return a list of the logical units that it supports. When this command is sent to the Controller
logical unit (LUN 0), it will return a list of all additional logical units that are available. This list will primarily
be Media Changer devices representing th e configured Logical Libraries. When this command is sent to any
of the Media Changer logical units, they will only report themselves.
Command Usage
This command can be used to retrieve what Logical Unit Numbers are supported to avoid scanning for all
possible numbers. It is useful for identifying the various Logical Libraries that may be configured.
Report LUNS CDB Format
The REPORT LUNS CDB format is shown in the following table.
Allocation Length – This field must be set to a minimum of 10h (16).
76543210
Allocation Length
68SCSI Commands
Report LUNS Response
Table 67Report LUNS Response
Bit
Byte
0
3
4
7
8
15
n-7
n
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. The information conforms to the Logical Unit
Address Method defined in SCC-2, and supports only First Level addressing (for each LUN, only the second
byte is used and contains the assigned LUN).
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 CDB Format
The REQUEST SENSE CDB format is shown in the following table.
Table 68REQUEST SENSE CDB format
Bit
Byte
0Op Code (03h)
1Logical Unit NumberReserved
2Reserved
3Reserved
4Allocation Length
5Control
Allocation Length – This field specifies the number of sense bytes requested by the initiator.
76543210
70SCSI Commands
Request Sense Response
Table 69Request Sense Response
Bit
Byte
0ValidResponse Code (70h)
1Reserved
2ReservedSense Key
3
6
7Additional Sense Length (0Ah)
8
11
12Additional Sense Code (ASC)
13Additional Sense Code Qualifier (ASCQ)
14Field Replaceable Unit Code
15SKSVC/DRsvdRsvdBPVBit Pointer
16
17
76543210
Information
Command Specific Information (0000 0000h)
Field Pointer
Valid – The Valid field is set to 0 if the Information field is not valid. It is set to 1 if the Information field
contains valid additional data as described below.
Response Code – The Response Code field is set to 70h to indicate that the library returns current errors.
Sense Key – Table 70
Table 70Sense Key
Sense KeyDescription
0hNo Sense. No specific sense key information to report.
2hNot Ready. The library is not ready to perform motion commands.
4hHardware Error. A hardware error was detected and operator intervention may be
5hIlle gal Reque st. The CDB o r supplied p ara meter da t a cont ains an unsuppo rted or illegal
6hUnit Attention. The library operating status changed. Additional processing may be
BhAborted Command. The library aborted the command.
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.
•If the ASC/ASCQ is related to Towers, then byte 6 indicates which Tower it pertains to (1 to n).
Additional Sense Length – This field specifies the number of additional sense bytes that follow this field,
and returns 0Ah (10).
Command Specific Information – This field is not supported and returns 0000 0000h.
Additional Sense Code (ASC) – This field denotes a specific error condition. Additional information is
provided in the Additional Sense Code Qualifier (ASCQ) field. Table 71Additional Sense Code Qualifier (ASCQ) – This field provides additional information for the ASC. Refer
to Table 71
Field Replaceable Unit Code – This field is not used and returns zero.
Sense Key Specific Valid (SKSV) – This field returns a value of 1 if bytes 15-17 contain valid data for a
Sense Key of Illegal Request (05h). Otherwise this field returns 0.
Command/Data (C/D) – A value of 1 indicates that the illegal parameter was detected in the CDB. It returns
0 if the illegal parameter was detected in the data parameters. This field only applies if SKSV is 1.
for more information.
lists all the codes.
Bit Pointer Valid (BPV) – A value of 0 indicates that the Bit Pointer field is not valid. A value of 1 indicates
that the Bit Pointer field is valid. This field only applies if SKSV is 1.
Bit Pointer – This field indicates which bit of the byte designated by the field pointer is in er ror. F or a mu ltibit field, it points to the most significant bit of the field. This field only applies if SKSV is 1.
Field Pointer – This field indicates which byte of the CDB or Parameter List (starting with byte zero) was in
error. For a multi-byte field, the Field Pointer points to the most significant byte. This field only applies if
SKSV is 1.
Additional Sense Codes and Qualifiers
The following table lists the Additional Sense Codes (ASC) and Additional Sense Code Qualifiers (ASCQ)
associated with the reported Sense Keys. A sense key of 00h (no sense) has no ASC/ASCQ associated
with it. A few ASC/ASCQs can be associated with more than one sense key. The sense keys that can give
a particular ASC/ASCQ are indicated with an “x” in the appropriate column.
ASC/ASCQs that can indicate an abnormal element state as part of element descriptor information are
shown in bold.
Table 71Additional Sense Codes and Qualifiers
Sense Keys
ASCASCQ
2456B
Description
04h00hxThe library is not ready due to an unknown cause
04h00hxLU Communication - SCSI Command Communication Failure
04h01hxThe library is becoming ready
04h03hxThe library is not ready and a manual intervention is required
72SCSI Commands
Table 71Additional Sense Codes and Qualifiers (Continued)
Sense Keys
ASCASCQ
Description
2456B
04h83hxThe library is not ready due to aisle power being disabled
04h8DhxThe library is not ready because it is offline
08h00hxLU Communication Failure
08h01hx
LU Communication – Timeout (only Scalar i40, Scalar i80, and
Scalar i500)
08h80hxLU Communication – SCSI Failure
08h82hxLU Communication – SCSI Command Execution or Queuing
Failure
08h83hxLU Communication – SCSI Command Failed
08h84hxLU Communication – SCSI Time-Out
08h85hxLU Communication – SCSI Autosense Failed
08h86hxLU Communication – SCSI Aborted
08h87hxLU Communication – SCSI Abort Failed
08h88hxLU Commun ica tio n – SCSI Status Failed
08hB0hxLU Communication – FC Data Underrun
08hB1hxLU Communication – FC DMA Error
08hB2hxLU Communication – FC Reset
08hB3hxLU Communication – FC Data Overrun
08hB4hxLU Communication – FC Queue Full
08hB5hxLU Communication – Port Unavailable
08hB6hxLU Communication - Port Logged Out
08hB7hxLU Communication - Port Configuration Changed
15h01hxA mechanical positioning error occurred
1Ah00hxParameter list length error
1Bh00hxSynchronous data transfer error
20h00hxIllegal opcode in CDB
21h01hxInvalid element address in CDB
24h00hxInvalid field in CDB
25h00hxIllegal LUN
26h00hxInvalid field in Parameter List
26h04hxInvalid release of persistent reservation
Table 71Additional Sense Codes and Qualifiers (Continued)
Sense Keys
ASCASCQ
Description
2456B
28h00hxNot Ready to Ready change, door(s) opened and closed
28h01hxInsert/Eject station opened and closed
29h00hxPower-on or reset occurred
29h01hxPower on occurred
29h03hxDevice reset occurred
29h04hxInternal reset occurred
2Ah01hxMode parameters have been changed
2Ah03hxReservations preempted
2Ah04hxReservations released
2Ah05hxRegistrations preempted
2Ch00hxCommand sequence error
30h00hxIncompatible medium installed
39h00hxSaving parameters not supported
3Bh0DhxxThe destination element is full
3Bh0EhxxThe source element is empty
3Bh12hxMedia magazine not installed
3BhA0hxMedia type does not match destination media type
3Eh00hxLogical Unit has not self-configured yet (only Scalar i40,
Scalar i80, and Scalar i500)
3Fh01hxNew firmware loaded
3Fh03hxInquiry data changed
3Fh0FhxEcho buffer overwritten
40h80hxComponent failure
43h00hxMessage error
44h00hxxFirmware detected an internal logic failure
45h00hxSelect or reselect failure
47h00hxSCSI parity error
48h00hxInitiator detected error message received
49h00hxInv a lid me ss ag e er ro r
Table 71Additional Sense Codes and Qualifiers (Continued)
Sense Keys
ASCASCQ
Description
2456B
4Eh00hxOverlapped commands attempted
53h00hxA drive did not load or unload a tape
53h01hxxA drive did not unload a cartridge
53h02hxMedium removal prevented
53h81hxInsert/Eject station door is open
53h82hxCannot lock the I/E station
53h83hxCannot unlock the I/E station
83h00hxLabel too short or too long
83h02hxBarcode label questionable
83h03hxCell status and barcode label questionable
83h04hxData transfer element not installed
83h05hxData transfer element is varied off and not accessible for
library operations
83h06hxElement is contained within an offline to wer or I/E station and
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.
If no elements match the SEND VOLUME TAG request, or all elements have already been reported, the
response will only contain the volume element address header.
Command Usage
This command is used to receive the results of a SEND VOLUME TAG command.
Request Volume Element Address CDB Format
The REQUEST VOLUME ELEMENT ADDRESS CDB format is shown in the following table.
Table 72REQUEST VOLUME ELEMENT ADDRESS CDB format
Bit
Byte
0Op Code (B5h)
1Logical Unit NumberVolTagElement Type Code
2
3
4
5
6Reserved
7
9
10Reserved
11Control
Volume Tag (VolTag) - This field indicates whether the volume tag (bar co de labe l) information should be
returned. A value of one will return the labels, a value of zero will not.
76543210
Starting Element Address
Number of Elements
Allocation Length
76SCSI Commands
Element Type Code - This field specifies the element types selected for the returned information, as shown
in the following table.
Table 73Element Type Code
CodeSelected 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. Only elements
with an element type code specified by the Element Type Code field, and with an address greater than or
equal to the starting element address will be reported. The starting element address must be a valid element
address, but not have to be within the range specified by the Element Type Code field.
Number of Elements - This field specifies the maximum number of element descriptors to return. Only
those descriptors that can be completely transferred within the allotted allocation length will be returned.
Allocation Length - This field specifies the byte length allowed for returned element descriptors. Only
complete element descriptors are returned. The library returns element d escriptors until one of the following
conditions are met:
•All available element descriptors have been returned
•The number of element descriptors specified in the Number of Elements field have been returned
•The number of bytes specified in the Allocation Length field have been returned
•There is less allocation length space available than is required by the next complete element
descriptor
Request Volume Element Address 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. A complete response then looks like:
Element Status Header
Element Status Page Header (first element type)
Element Descriptor
…(more descriptors)…
Element Descriptor
…(more status pages)…
Element Status Page Header (next element type)
There are only up to four Element Status Pages, one for each element type. The elemen t 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.
Table 74Element Status Header
Bit
Byte
76543210
0
First Element Address Reported
1
2
Number of Elements Available
3
4ReservedSend Action Code (5h)
5
Byte Count of Report Available
7
First Element Address Reported - This field indicates the lowest element address found that meets the
CDB request.
Number of Elements Available - This field indicates the number of elements found that meet the CDB
request.
Send Action Code – This field contains the action code that was sent in the SEND VOLUME TAG
command. The value is 5h.
Byte Count of Report Available - This field indicates the number of available element status bytes that
meet the CDB requirements. The value does not include the eight-byte element status header, and is not
adjusted to match the value specified in the Allocation Length field of the CDB. This facilitates first issuing
a REQUEST VOLUME ELEMENT ADDRESS command with an allocation length of eight bytes in order to
determine the allocation length required to transfer all the element status data specified by the command.
78SCSI Commands
Reserve Element - 16h
What the Library Does With This Command
The library reserves the entire library for the initiator making the r equest. Only whole logical unit reservations
are allowed; individual element reservations are not supported. The r eservation 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.
Command Usage
This command should be used to reserve the library for extended operations, such as issuing a SEND
VOLUME TAG followed by a REQUEST VOLUME ELEMENT ADDRESS sequence. Initiators issuing a
RESERVE should follow it with a RELEASE when the extended operation sequence is complete.
Reserve Element CDB Format
The RESERVE ELEMENT CDB format is shown in the following table.
Table 75RESERVE ELEMENT CDB format
Bit
Byte
0Op Code (16h)
1Logical Unit Number
2Reservation ID
3
4
5Control
3rdPrty – This field is not supported, and must be set to 0.
Third Party Device ID – This field is not supported, and must be set to 0.
Element – This field is not supported, and must be set to 0.
Reservation ID – This field is not supported, and must be set to 0.
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.
Table 76SEND DIAGNOSTIC CDB format
Bit
Byte
0Op Code (1Dh)
1Logical Unit NumberPFRsvd
2Reserved
3
4
5Control
Page Format (PF) – Diagnostic pages are not supported and this field should be set to 0.
SelfTest - When set to 1 the library will perform a predefined self-test. The SEND DIAGNOSTIC command
will not return until this completes, and command completion status will indicate the results of this test. When
set to 0, the self-test is not performed.
Device Offline (DevOfl) - This field is not supported and should be set to 0.
Unit Offline (UnitOfl) - This field is not supported and should be set to 0.
Parameter List Length - This field is not supported and should be set to 0.
76543210
SelfTest
Parameter List Length
DevOflUnitOfl
80SCSI Commands
Send Volume Tag - B6h
What the Library Does With This Command
The library searches its existing inventory fo r barcode labels that match the volume tag template pa ssed 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. A
REQUEST VOLUME ELEMENT ADDRESS command must be sent to retrieve the results of the search.
The results only reflect those of the most recent SEND VOLUME TAG command.
Send Volume Tag CDB Format
The SEND VOLUME TAG CDB format is shown in the following table.
Table 77SEND VOLUME TAG CDB format
Bit
Byte
0Op Code (B6h)
1Logical Unit NumberRsvdElement Type Code
2
3
4Reserved
5ReservedSend Action Code
6
7
8
Element Type Code - This field specifies the element types selected for the search, as shown in the
following table.
Table 78Element Type Code
CodeSelected 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. Only
elements with an element type code specified by the Element T ype Code field, and with an address g reater
than or equal to the starting element address will be searched.
Send Action Code – This field must be set to 5h to indicate translate and search primary volume tags and
ignore sequence numbers. No other action codes are supported.
Parameter List Length – This field is either set to 0 to indica te that no par ameter data is sent, or 28 h (40)
to indicate a Volume Identification Template is sent. A value of 0 is not considered an error.
Volume Identification Template Parameter
The Volume Identification Template parameter is shown in the following table.
Table 79Volume Identification Template Parameter
Bit
Byte
0
31
32
39
Volume Identification Template – This field specifies the template to apply for the search. Two wildcard
characters are supported as follows:
•‘?’ – Will match any single character.
•‘*’ – Will match any string of characters. When it appears in the template the remainder of the
template at higher offsets in the field is not used.
76543210
Volume Identification Template
Reserved
82SCSI Commands
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.
It will also return any pending Unit Attentions regardless of the current mode and state, to convey changes
within the subsystem, such as I/E station accesses, door openings, etc. The various types of Unit Attention
conditions are listed in the Request Sense command section in Table 71
Command Usage
on page 72.
The TEST UNIT READY command allows the initiator to verify that the library is ready to accept commands
or perform motion tasks. It is a suitable command for general polling to monitor the library, and receive
information via Unit Attentions on any changes within the library.
Test Unit Ready CDB Format
The TEST UNIT READY CDB format is shown in the following table.
Table 81TEST UNIT READY CDB format
Bit
Byte
0Op Code (00h)
1Logical Unit NumberReserved
2Reserved
3Reserved
4Reserved
5Control
The library will receive a requested buffer of data and write it to the appropriate internal storage. The
Controller logical unit is the primary device to use with this command, since the Media Changer logical units
only support the echo buffer mode.
Command Usage
This command can be used primarily to download new firmware to the library, as well as to perform
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.
Table 82WRITE BUFFER CDB format
Bit
Byte
0Op Code (3Bh)
1Logical Unit NumberRsvdMode
2Buffer ID
3
5
6
8
9Control
Mode – The supported modes are:
•2h – Data
•Ah – Echo Buffer
In Data Mode, an amount of data specified by the Parameter List Length is targeted for the buffer defined
by the Buffer ID field, starting at the specified Buffer Offset. Buffer IDs are assigned beginning with zero,
and are assigned contiguously. Buffer ID code assignments for the WRITE BUFFER command are the
same as for the READ BUFFER command.
76543210
Buffer Offset
Parameter List Length
In Echo Buffer Mode, the amount of data specified by the Parameter List Length is transferred from the
initiator to the echo buffer. The Buffer ID and Buffer Offset fields are ignored in this mode.
Buffer ID – This field specifies which buffer the request is for. The IDs are the same for both the READ
BUFFER and WRITE BUFFER commands. The IDs supported by the library, along with their primary use,
are listed in Table 53
84SCSI Commands
on page 56.
Buffer Offset – This field indicates the starting location (byte offset) within the specified buffer to write data.
The initiator should conform to the offset boundary re quirements returned in the READ BUFFER de scriptor
described in “Read Buffer Response.”
Parameter List Length – If applicable, this field should be set to indicate the amount of data being written.