To: X3T9.2 Membership X3T9.2/92-006R1 From: Kurt Chan, HP Kevin Jones, HP Gary Stephens, IBM Date: 16 July 92 Subject: Enhancement of Command Sets for Removeable Media Devices with Medium Changers ---- In the March 1992 working group meeting the principle of controlling media transport via the sequential access command set was discussed. The outcome of the discussion was: * There is merit in controlling media transport via the ITL nexus of the sequential access device. * The principle of such transport control should not be restricted to sequential access devices but should apply to all removable media devices. * Control should be excercised via existing commands from the medium changer command set being sent to the removable media device. Only a subset of the command set should be permitted: MOVE MEDIUM, READ ELEMENT STATUS. * Indication that the removable media device supports media changing functionality should be provided by a flag in the standard inquiry data. * Some mechanism to permit control over removal of a caddy from a changer might be neccesary. ________________________________________________________________________________ Storage systems consisting of one or more data transfer devices embedded within a system capable of transferring elements of media between the devices and media storage locations exist. The media transportation system is known as a "medium changer". This standard currently specifies a "medium changer command set" to facilitate host control of media element transport for the general case. This document proposes enhancements to several SCSI command sets to permit initiator control over a media element transport through a data transfer element. ADVANTAGES Use of enhanced command sets has a number of advantages over use of the medium changer command set: 1. It reduces the effort required to integrate a medium changer product into a host system. A. It is no longer neccesary to have unique "medium changer" driver software. B. Currently, use of a "medium changer command set" implies that either: i. An extra SCSI bus ID is used (this is highly undesirable). ii. Separate SCSI LUN's for the data transfer and medium transport elements are necessary (this is undesirable since many systems do not support or have limited support for multiple SCSI LUNs on a given SCSI device. C. A single thread of control exists between an initiator and the storage system as opposed to the twin threads which would be neccesary if the full "medium changer command set" were used. This reduces the potential for control and synchronisation errors between the data transfer and medium transfer elements. 2. It can ease and speed the development of a storage system. A. A modified command set is much simpler than an implementation of the medium changer command set. B. For devices where a separate SCSI ID would require additional hardware, the cost of that hardware is saved. ENHANCEMENTS There are 5 areas of the SCSI standard affected: 1. A Sub-section describing an associated medium changer is added to the SCSI device model in section 7. 2. MOVE MEDIUM and READ ELEMENT STATUS commands are moved to section 7. The commands are listed as permitted by selected device classes. 3. The INQUIRY DATA has a 1 bit field added to signify that the removable media device is embedded within a medium changer and that control over the medium changer may be effected by use of commands described in the "device model". 4. An enhancement to the "Prevent/Allow Medium Removal command allows a host to prevent removal of media from the medium changer as well as from a removable media device. 5. Certain additional sense codes for medium changer devices will apply to other device classes. All changes below are based on SCSI2 Rev10G (Sept 1st 1991) ________________________________________________________________________________ SECTION 7 DEVICE MODEL ADDITIONS: 7.x.y Removeable Medium Device with an Attached Medium Changer When a logical unit is served by a medium changer, control over a media transport element may be effected using media changer commands sent to the logical unit. The logical unit indicates its ability to support these commands by setting the "MChngr" bit to one in its standard INQUIRY data. An "MChngr" bit of one indicates that the MOVE MEDIA and READ ELEMENT STATUS commands are supported. Only one medium transport element is permitted (element 0) and only one data transfer element is permitted. SUPPORTED COMMANDS: (tables 8-1,9-1,12-1,13-1,15-1) MOVE MEDIUM opcode A5h type O section 7 READ ELEMENT STATUS opcode B8h type O section 7 ________________________________________________________________________________ In STANDARD INQUIRY DATA, table 7-15, add the MChngr bit to one of the RESERVED fields. After "additional length" is described on page 110, add: A Medium Changer (MChngr) bit of one indicates that the device is embedded within or attached to a medium transport element. The initiator may send the MOVE MEDIUM and READ ELEMENT STATUS commands to the logical unit for the purpose of controlling the medium transport elements. The MChngr bit is only valid when the RMB bit is equal to one. ________________________________________________________________________________ PREVENT ALLOW MEDIUM REMOVAL Command (Section 8.2.4 page 190) Table 8-14: PREVENT ALLOW MEDIUM REMOVAL Command ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Operation Code (1Eh) | -----|-----------------------------------------------------------------------| 1 | Logical Unit Number | Reserved | -----|-----------------------------------------------------------------------| 2 | Reserved | -----|-----------------------------------------------------------------------| 3 | Reserved | -----|-----------------------------------------------------------------------| 4 | Reserved | Prevent | -----|-----------------------------------------------------------------------| 5 | Control | ============================================================================== The PREVENT ALLOW MEDIUM REMOVAL command (Table 8-13) requests that the target enable or disable the removal of the medium in the logical unit. This mechanism is independent of device reservations and the target shall not allow medium removal if any initiator currently has medium removal prevented. | The prevention of medium removal shall begin when any initiator issues a | PREVENT ALLOW MEDIUM REMOVAL command with a non-zero prevent value: | | A Prevent value of 01b indicates that removal of medium from the data | transport element shall be disabled. | | A Prevent value of 10b indicates that removal of medium from a medium | changer associated with the logical unit shall be disabled. | | A Prevent of 11b indicates that removal of medium from the data transport | element and from a medium changer associated with the logical unit shall | be disabled. | | Prevent values of 10b and 11b are only valid when the RMB bit and | the Mchngr bit in the standard INQUIRY data are both equal to one. The prevention of medium removal for the logical unit shall terminate: (a) after all initiators that have medium removal prevented issue PREVENT ALLOW MEDIUM REMOVAL commands with a Prevent of zero, (b) upon the receipt of a BUS DEVICE RESET message from any initiator, or (c) upon a hard RESET condition. Medium removal prevention applies to prevention of removal by both an operator and by an attached medium changer. ________________________________________________________________________________ ASC and ASCQ Assignments changes (table 7-41 and the Appendix) The following lines will now apply to Direct Accesss (D), Sequential Access (T), Write Once (W), Read Only (CD-ROM)(R), and Optical Memory (O) as well as to media changers. ASC ASCQ DTLPWRSOMC DESCRIPTION --- ---- ---------- --------------------------------- 28 01 DT--WR-OM- Import or Export element accessed 21 01 DT--WR-OM- Invalid element address 3B 0D DT--WR-OM- Medium Destination Element Full 3B 0E DT--WR-OM- Medium Source Element empty