Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
The ISO/IEC 14776 family of standards represents the definitive architecture for the Small Computer System Interface (SCSI). Part 150, designated as ISO/IEC 14776-150:2004 (adopted in Canada as CAN/CSA ISO/IEC 14776-150:05), is dedicated to the SCSI Media Changer Commands (SMC). This standard defines the protocol and command set for automated media-handling devices, such as the robotic pickers within tape libraries, optical jukeboxes, and autoloaders. It provides the foundational interoperability layer allowing operating systems and backup software to seamlessly control robotic storage hardware from different manufacturers.
This article offers a deep technical dive into the core specifications of the SMC standard, focusing on its scope, command architecture, element-addressing model, and compliance requirements.
The SMC standard scopes itself to the specific requirements of a SCSI target device that manages the physical movement of storage media. It defines the command set necessary for a host to instruct a media changer to move a volume from a storage slot to a drive, swap media, report element status, and manage import/export doors (mailslots).
A critical aspect of the SMC standard is its division of a media changer into logical element types. Each element type serves a distinct role in the data flow:
| Element Type Code | Element Type | Function |
|---|---|---|
| 01h | Medium Transport Element (MT) | The robotic picker or carriage component that physically transports media. |
| 02h | Storage Element (ST) | Slots or cells that hold media volumes when not in use. |
| 03h | Import/Export Element (IE) | Mailslots for inserting or ejecting media without disrupting operations. |
| 04h | Data Transfer Element (DT) | Drives (tape or optical) that perform read/write operations. |
The standard operates closely with other members of the SCSI family, including the SCSI Primary Commands (SPC), SCSI Block Commands (SBC), and the SCSI Stream Commands (SSC). The SPC standard provides the essential base commands (e.g., INQUIRY, REPORT LUNS, REQUEST SENSE), while the SMC specifies the commands unique to the media changer’s mission.
ISO/IEC 14776-150 defines a specific set of mandatory and optional commands. The device server on the media changer initiator must interpret these command descriptor blocks (CDBs) correctly.
Every compliant media changer device must support the following SMC-specific Data and Device-Management commands, alongside the mandatory SPC commands:
The SMC standard utilizes a zero-based addressing scheme. Each physical element within the changer is assigned a unique Element Address. These addresses are defined in the Element Address Assignment mode page (Page Code 1Dh). A proper understanding of this addressing space is critical for reliable operation. A mismatch between the host’s address view and the device’s internal mapping is a leading cause of data access errors in automated environments.
| Command | Opcode | Key Parameter | Description |
|---|---|---|---|
| MOVE MEDIUM | A5h | Source/Dest Address | Transports medium from one element to another. |
| EXCHANGE MEDIUM | A6h | Source/Dest/Swap Address | Swaps medium between source and destination. |
| READ ELEMENT STATUS | B8h | Element Type/Starting Address | Reports status descriptors for specified elements. |
| INITIALIZE ELEMENT STATUS | 07h | None (Immediate) | Scans and initializes element status. |
Element Status and Source/Transport Element Availability.Integrating the SMC command set into a storage management application requires careful attention to concurrency and error recovery.
Element Type field of the READ ELEMENT STATUS command. Polling only the Medium Transport Elements and Storage Elements typically provides the most critical state transition data (e.g., a mount completion) with the lowest bus overhead.Reservation Management: In multi-initiator environments, the RESERVE ELEMENT command is essential for preventing conflicting instructions to the same transport element. The SMC standard specifies how reservations are released on power cycles or bus resets to avoid deadlocked libraries.
READ ELEMENT STATUS for the destination Data Transfer Element first.Achieving certification against the Canadian adoption of this standard (CAN/CSA ISO/IEC 14776-150:05) requires demonstrating strict adherence to the SCSI Architecture Model (SAM). There is no divergence in technical content from the international ISO/IEC 14776-150:2004 version; the CSA adoption affirms identical requirements for North American markets.
Number of Transport Elements field is zero, the device is non-compliant, as it must report at least one Medium Transport Element for a media changer.Testing Protocol: Compliance tests typically involve validating the MOVE MEDIUM and EXCHANGE MEDIUM sequences under load. The device server must correctly handle power-loss scenarios, resets, and overlapping commands. The check condition response and associated sense data (e.g., ILLEGAL REQUEST for an invalid destination address) must conform precisely to the standard’s definition of the Additional Sense Code and Additional Sense Code Qualifier.
Testing also emphasizes the correct implementation of the REPORT LUNS command. The media changer must report its Logical Unit Number (LUN) independently from the data transfer drives, allowing the operating system to enumerate them as separate devices with distinct SCSI protocol engines.
MOVE MEDIUM performs a single transport operation from Element A to Element B. EXCHANGE MEDIUM is a compound operation that moves a medium from a source to a destination, while simultaneously moving the medium previously at the destination back to the source. This reduces robotic arm travel time and bus transactions when swapping media in drives.