2 SL4000 SCSI Operation and Configuration

Behavior of Unavailable Fibre Channel Ports

The library comes standard with two ports (1 and 2). However, by default only port 1 is active (available). Ports 2 is unavailable until you install the redundant control paths (multi-port) hardware activation file. See the SL4000 Library Guide for more information.

The library can receive commands on an unavailable port. However, the library only fully supports the following commands on an unavailable port:

For all other commands, the library:

Multiple Initiator Support

  • The library supports unit reserve, release, and persistent reserve commands. Host software should reserve resources whenever possible.

  • The library does not maintain a separate "prevent" or "allow" state for each initiator. There is a single state for all initiators. Therefore, if any initiator sends a Prevent Medium Removal command, the library locks the CAPs. If any initiator sends an Allow Media Removal command, the library unlocks the CAPs. For more information, see "Prevent/Allow Medium Removal (1Eh)".

Reservation Handling

The library supports the following reservation management methods:

  • Reserve and Release — defined by the ANSI SCSI-3 Primary Commands (SPC-2) Standard. See Table 2-1 for command reservation restrictions.

  • Persistent Reservation — defined by the ANSI SCSI-3 Primary Commands (SPC-3) Standard. See Table 2-2 for command reservation restrictions.

Table 2-1 and Table 2-2 use the following definitions:

  • Conflict — The library terminates the command with a Reservation Conflict (18h) status.

  • Allowed — The library executes the command normally.

Compatible Reservation Handling Bit

The library returns 0 for the Compatible Reservation Handling (CRH) bit in the Persistent Reserve In (5Eh) Report Capabilities Data page.

A CRH value of 0 indicates the library processed the reserve or release command as defined in SPC-2. Therefore, the library will return a Reservation Conflict (18h) when it receives a reserve or release command from the same initiator that holds the persistent reservation.

Reserve and Release Management Method Command Restrictions

Table 2-1 Reserve and Release Management Method Command Restrictions

Command Action when the Library is Reserved by Another Initiator

Initialize Element Status (07h)

Conflict

Initialize Element Status w/Range (37h)

Conflict

Inquiry (12h)

Allowed

Log Sense (4Dh)

Allowed

Mode Select (15h/55h)

Conflict

Mode Sense (1Ah/5Ah)

Conflict

Move Medium (A5h)

Conflict

Persistent Reserve In (5Eh)

Conflict

Persistent Reserve Out (5Fh)

Conflict

Position to Element (2Bh)

Conflict

Prevent/Allow Media Removal (1Eh)

Prevent = 0, Allowed

Prevent = 1, Conflict

Read Element Status (B8h)

Conflict

Release (17h)

AllowedFoot 1 

Report LUNs (A0h)

Allowed

Report Target Port Groups (A3h)

Allowed

Request Sense (03h)

Allowed

Request Volume Element Address (B5h)

Conflict

Reserve (16h)

Conflict

Send Diagnostics (1Dh)

Conflict

Send Volume Tag (B6h)

Conflict

Test Unit Ready (00h)

Conflict


Footnote 1 The reservation is not released.

Persistent Reservation Management Method Command Restrictions

Table 2-2 Persistent Reservation Command Restrictions when the Library is Reserved by Another Initiator

Command Non-Registered InitiatorFoot 1  Registered Initiator: Exclusive Access ReservationFoot 2  Registered Initiator: Exclusive Access Registrant Only Foot 3 

Initialize Element Status (07h)

Conflict

Conflict

Allowed

Initialize Element Status w/Range (37h)

Conflict

Conflict

Allowed

Inquiry (12h)

Allowed

Allowed

Allowed

Log Sense (4Dh)

Allowed

Allowed

Allowed

Mode Select (15h/55h)

Conflict

Conflict

Allowed

Mode Sense (1Ah/5Ah)

Conflict

Conflict

Allowed

Move Medium (A5h)

Conflict

Conflict

Allowed

Persistent Reserve In (5Eh)

Allowed

Allowed

Allowed

Persistent Reserve Out (5Fh) - SA=Register

Allowed

Allowed

Allowed

Persistent Reserve Out (5Fh) - SA=Reserve

Conflict

Conflict

Conflict

Persistent Reserve Out (5Fh) - SA=Release

Conflict

AllowedFoot 4 

AllowedFootref 4

Persistent Reserve Out (5Fh) - SA=Clear

Conflict

Allowed

Allowed

Persistent Reserve Out (5Fh) - SA=Preempt

Conflict

Allowed

Allowed

Persistent Reserve Out (5Fh) - SA=Preempt/Abort

Conflict

Allowed

Allowed

Persistent Reserve Out (5Fh) - SA=Register and Ignore

Allowed

Allowed

Allowed

Position to Element (2Bh)

Conflict

Conflict

Allowed

Prevent/Allow Media Removal (1Eh) Prevent = 0

Allowed

Allowed

Allowed

Prevent/Allow Media Removal (1Eh) Prevent = 1

Conflict

Conflict

Allowed

Read Element Status (B8h)

Conflict

Conflict

Allowed

Release (17h)

Conflict

Conflict

Conflict

Report LUNs (A0h)

Allowed

Allowed

Allowed

Report Target Port Groups (A3h)

Allowed

Allowed

Allowed

Request Sense (03h)

Allowed

Allowed

Allowed

Request Volume Element Address (B5h)

Conflict

Conflict

Allowed

Reserve (16h)

Conflict

Conflict

Conflict

Send Diagnostics (1Dh)

Conflict

Conflict

Allowed

Send Volume Tag (B6h)

Conflict

Conflict

Allowed

Test Unit Ready (00h)

Conflict

Conflict

Allowed


Footnote 1 Action when a non-registered initiator sends a command to a library reserved by another initiator.

Footnote 2 Action when a registered initiator sends a command to a library reserved by another initiator that has an Exclusive Access reservation.

Footnote 3 Action when a registered initiator sends a command to a library reserved by another initiator that has an Exclusive Access Registrant Only reservation.

Footnote 4 The reservation is not released.

Configuring SCSI Access in a Partitioned Library

When you first enable partitioning with a hardware activation file, all resources belong to the DefaultPartition. Any SCSI hosts that had access to the library before installing the activation file will automatically have access to the DefaultPartition.

You can use the SL4000 GUI to configure partitioning and SCSI host access to each partition. To grant access, you must provide the Host World Wide Port Name and a LUN. All hosts must have a connection to LUN 0. Additional LUN configuration will allow access to more than one partition. For more information, see the SL4000 Library Guide.

Example 2-1 SCSI Host Access in a Library with Two Partitions

Partition 1 could have the following host access:

Host 1, LUN 0
Host 2, LUN 0
Host 3, LUN 0

Partition 2 could have the following host access:

Host 2, LUN 1
Host 5, LUN 0

When Host 2 sends a command on LUN 0, the library directs the commands to partition 1. When Host 2 send a command on LUN 1, the library directs the command to partition 2.

Command Handling for a SCSI Host without Access to a Partition

If a SCSI host sends a command to a partition it does not have access to, the library will respond with the following:

  • Inquiry returns Good (00h) with the Inquiry Data Peripheral Qualifer set to 001b instead of 000b.

  • Request Sense returns Good (00h) with the sense data set to LUN Access Not Authorized (02h/74h/71h).

  • Report LUNs returns Good (00h) and the Report LUNs Data reports LUN 0.

  • All other commands return Check Condition (02h) with the sense data set to LUN Access Not Authorized (02h/74h/71h).

For more information on sense data, see "Additional Sense Codes and Qualifiers".

Sharing CAPs in a SCSI Partition

In a partitioned library, you can configure CAPs as a shared resource. To use a shared CAP, the partition must "own" the CAP, which reserves exclusive use of the CAP for that partition.

Until the partition owns a CAP, the SCSI interface will report the CAP state as open (even though the CAP may actually be closed). You must use the GUI to reserve ownership of the CAP before entering or ejecting cartridges. Once you complete the CAP operation, you must unassign the CAP to make it available to other partitions (see the GUI help for procedures).

Command Handling for an Unowned, Shared CAP

The library will process commands that include any unowned CAP elements as if the CAP is open:

  • A Move Medium (A5h) command to or from an unowned CAP will return Check Condition (02h) status. The sense data will indicate Not Ready, CAP Open (2h/3Ah/02h).

  • A Read Element Status (B8h) command that includes an unowned CAP element will return Good (00h) status. The Import/Export Element descriptor data for the CAP element will return an exception condition indicating the CAP is open (Except = 1, ASC = 3Ah, and ASCQ = 02h).

Locked/Unlocked State for a Shared CAP

You can only open an unlocked CAP. The state of the CAP depends on the "prevent" or "allow" medium removal state. For more information, see "Prevent/Allow Medium Removal (1Eh)".

Example 2-2 Shared CAP Locked/Unlocked State for a Library with Two Partitions

CAP Assignment Partition 1 Prevent/Allow Removal State Partition 2 Prevent/Allow Media Removal State CAP State
Unassigned Maintained by the library Maintained by the library Locked
Assigned to Partition 1 Allowed Maintained by the library Unlocked
Assigned to Partition 1 Prevented Maintained by the library Locked
Assigned to Partition 2 Maintained by the library Allowed Unlocked
Assigned to Partition 2 Maintained by the library Prevented Locked

SCSI Element Addressing

The SCSI element address depends on the element type. Each library or partition uses a fixed starting address for each element type. Then, within each element type, the element addresses are sequential.

Element Type Starting SCSI Element Address
Medium Transport Element (Robot) 0
Import/Export Elements (CAPs and AEMs) 10
Data Transfer Elements (Drives and Empty Drive Slots) 1000
Storage Elements (Cartridge Cells) 2000

You can use the GUI to view the element ID for a particular cell in the library (see SL4000 Library Guide).

Empty Drive Slot Element Addressing

Unlike the SL3000, the SL4000 library assigns a SCSI element address to empty drive slots. Therefore, removing or adding a drive tray will not cause the library to renumber the data transfer element addresses.

If you send a Read Element Status (B8h) command for an empty drive slot, the library will return an Element Descriptor with the slot marked as disabled with an exception. The library sets the ASC/ASCQ to 3Bh/1Ah indicating an empty drive slot.