ISO/IEC 14776-412:2007 – SCSI Architecture Model (SAM-2) Technical Requirements and Compliance Guide

Comprehensive technical analysis of the SCSI Architecture Model standard covering scope, architecture, implementation, and conformance criteria

Scope and Overview

The international standard ISO/IEC 14776-412:2007 (also adopted as CAN/CSA ISO/IEC 14776-412:07) defines the SCSI Architecture Model, second edition (commonly referred to as SAM-2). It provides a high-level architectural framework for SCSI (Small Computer System Interface) storage subsystems, establishing the common concepts, command model, and task management rules that govern all SCSI device transports across parallel SCSI, Fibre Channel, SAS, iSCSI, and other serial protocols.

Unlike device-specific command sets (e.g., SBC for block devices, SSC for stream devices), SAM-2 is a meta-standard: it defines the abstract behavior of SCSI devices, including the structure of command descriptor blocks (CDBs), the task model, task management functions, and the interactions between initiators and targets. The standard applies to any product claiming SCSI compliance, regardless of the physical transport layer.

SAM-2 was developed jointly by ISO/IEC JTC 1 and INCITS T10 and has been adopted nationally by several standards bodies, including the Canadian Standards Association (CSA) as CAN/CSA ISO/IEC 14776-412:07. Version 2 of the architecture model introduced clarifications on autosense, expanded task set management, and formalized the concept of command queuing with ordered, head-of-queue, and simple tags.

Technical Requirements and Architecture

ISO/IEC 14776-412:2007 specifies a layered model that separates the SCSI application layer from the transport and interconnect layers. At the core of the architecture are:

  • Logical Units (LUs) – addressable storage objects with associated device servers and task managers.
  • Tasks – the fundamental unit of work, comprising a command and its associated status and sense data.
  • Task Sets – the collection of tasks queued within a logical unit.
  • Task Management Functions – operations that control task execution, such as ABORT TASK, CLEAR TASK SET, LOGICAL UNIT RESET, and TARGET RESET.

The standard defines the required behavior for SCSI devices, including:

  • Command execution ordering (strict ordering vs. simple vs. head-of-queue).
  • Autosense handling (automatic sense data delivery without an explicit REQUEST SENSE command).
  • Contingent allegiance conditions and unit attention conditions.
  • Alias and transient addressing for LUNs.
  • Rules for building and interpreting CDBs (Command Descriptor Blocks).

Key Task Management Functions

The table below summarizes the mandatory and optional task management functions required by SAM-2 for all SCSI devices:

Function Name Function Code Mandatory / Optional Description
ABORT TASK 0x01 Mandatory Terminates a specific task identified by its task tag.
ABORT TASK SET 0x02 Mandatory Aborts all tasks in the task set for the issuing initiator.
CLEAR TASK SET 0x03 Mandatory Aborts all tasks for all initiators in the specified logical unit.
LOGICAL UNIT RESET 0x06 Mandatory Resets the logical unit hardware/software state.
TARGET RESET 0x07 Optional Resets the entire target device.
QUERY TASK 0x08 Optional Reports the status of a specific task without aborting it.

Each task management function must be executed atomically. The standard mandates that all devices support ABORT TASK, ABORT TASK SET, CLEAR TASK SET, and LOGICAL UNIT RESET. The TARGET RESET and QUERY TASK functions are optional but recommended for advanced systems.

Implementation Highlights

Tip: When implementing a SCSI device controller, always consult the latest transport-specific standards (e.g., FCP-3 for Fibre Channel, SAM-2 for iSCSI) to ensure correct encapsulation of the architecture model elements defined in ISO/IEC 14776-412:2007.

Developers integrating SAM-2 into storage firmware or driver stacks should pay particular attention to the following areas:

  1. Command Ordering: SAM-2 defines three task attribute types (simple, ordered, head-of-queue). Devices must honor the ordering constraints when multiple commands are queued. Simple tasks may be reordered for efficiency; ordered tasks must be executed in strict order; head-of-queue tasks must be placed at the front of the queue.
  2. Autosense Mode: The standard specifies that sense data may be automatically delivered after a command completes with CHECK CONDITION status. Implementors must set the AUTO SENSE enable bit in the Control mode page and properly manage the autosense buffer.
  3. Unit Attention Handling: SAM-2 defines unit attention conditions that are reported to the initiator before any other command processing. All queued tasks except for a pending REQUEST SENSE or INQUIRY must be preceded by the unit attention. The standard details the order of precedence for multiple unit attentions.
  4. Contingent Allegiance (CA): This condition arises when a command terminates with CHECK CONDITION and the device server requires the initiator to request sense. SAM-2 refines the CA behavior, especially in multi-initiator scenarios.
Warning: Incorrect implementation of the task set management functions can lead to data corruption or device hangs. For example, issuing an ABORT TASK SET from one initiator must not affect tasks from other initiators. Verify compliance using a certified SCSI test suite.
Benefit: Proper adherence to SAM-2 ensures interoperability across heterogeneous SCSI domains, allowing initiators from different vendors to share a target device reliably. This is critical for enterprise storage arrays and high-availability systems.

Compliance and Certification

Compliance with ISO/IEC 14776-412:2007 is typically verified through self-certification or third-party testing. The INCITS T10 committee provides a series of conformance tests (the T10 SCSI test suite) that exercise the architecture model requirements, including:

  • Task management function execution and atomicity.
  • Correct reporting of sense data and unit attentions.
  • Task attribute ordering under stress.
  • Autosense behavior with multiple concurrent initiators.

Manufacturers should also submit their devices to SCSI Trade Association (STA) plugfests or use recognized test labs. The Canadian adoption (CAN/CSA ISO/IEC 14776-412:07) is identical in technical content; products certified to the international standard are automatically compliant under the CSA scheme.

Risk: Non-compliance with SAM-2 can lead to device rejection in storage environments that require strict SCSI adherence (e.g., enterprise SANs). In particular, failure to implement mandatory task management functions may cause the logic unit to become unresponsive under reset operations, risking data availability.

For companies seeking CSA certification, the standard is available from the CSA Group as CAN/CSA ISO/IEC 14776-412:07. All normative references to other SCSI standards (e.g., SPC-4, SBC-3) are included in the bibliography, and a compliance matrix is provided in an informative annex.

Q: What is the main purpose of ISO/IEC 14776-412:2007 (SAM-2)?
A: SAM-2 defines the abstract SCSI architecture model, including the command/task model, task management functions, and behavior of logical units. It provides a common framework for all SCSI transport protocols and device command sets, ensuring interoperability between initiators and targets from different vendors.
Q: How does SAM-2 differ from the original SAM (SAM-1)?
A: SAM-2 introduced several improvements: formalized autosense support, expanded task attributes (simple, ordered, head-of-queue), clarified unit attention handling in multi-initiator systems, and added the QUERY TASK management function (optional). It also aligned the model with then-new transport protocols like iSCSI.
Q: Is ISO/IEC 14776-412:2007 still current or has it been superseded?
A: SAM-2 was superseded by SAM-3 (ISO/IEC 14776-413:2008) and later by SAM-5 (ISO/IEC 14776-415:2017) and SAM-6. However, many legacy devices and lower-cost implementations still reference SAM-2. For new designs, the latest version (SAM-6) is recommended. Nevertheless, understanding SAM-2 is essential for maintaining backwards compatibility.
Q: What documents should accompany ISO/IEC 14776-412:2007 for a complete SCSI implementation?
A: A full SCSI implementation typically requires the primary commands standard (ISO/IEC 14776-341 SPC-4), the appropriate device-type command set (e.g., SBC-3 for block devices, SSC-4 for stream devices), and the relevant transport protocol specification (e.g., FC-FS for Fibre Channel, SRP-3 for RDMA). SAM-2 is the architectural backbone that ties all these documents together.

This technical article is based on ISO/IEC 14776-412:2007 and CAN/CSA ISO/IEC 14776-412:07. Last revised: 2026.

📥 Standard Documents Download

🔒
Please wait 10 seconds, the download links will appear after the ad loads

Leave a Reply

Your email address will not be published. Required fields are marked *