Comprehensive Guide to ISO/IEC 14776-452-06: SCSI Primary Commands (SPC-2)

Technical Requirements and Implementation Guidance for SCSI Storage Interfaces

1. Scope and Overview

ISO/IEC 14776-452-06, officially titled Information technology — Small Computer System Interface (SCSI) — Part 452: SCSI Primary Commands (SPC-2), defines the set of mandatory and optional commands that are common across all SCSI device classes. This standard is part of the SCSI-3 architecture and serves as the foundation for device-type-specific command sets (e.g., block commands, stream commands). It specifies the command descriptor block (CDB) formats, parameter retrieval mechanisms, and the behavior of the SCSI device server and task manager. Adherence to ISO/IEC 14776-452-06 ensures consistent command handling across various storage interfaces including parallel SCSI, Fibre Channel, SAS, and iSCSI.

The standard supersedes the primary command definitions from SCSI-2 and introduces extended CDB formats, enhanced sense data structures, and new task management functions. It is adopted internationally and by national bodies such as CSA (Canadian Standards Association) as CAN/CSA-ISO/IEC 14776-452-06.

2. Technical Requirements and Command Set Architecture

2.1 Command Descriptor Blocks (CDBs)

Every SCSI command is encapsulated in a Command Descriptor Block (CDB). ISO/IEC 14776-452-06 specifies the structure for 6-byte, 10-byte, and 16-byte CDBs, depending on the operation code. The CDB contains the operation code, logical unit number (LUN), command parameters, and transfer length indicators. The table below lists the most common mandatory and optional primary commands.

Command NameOperation CodeCDB Size (bytes)Mandatory
TEST UNIT READY00h6Yes
REQUEST SENSE03h6Yes
INQUIRY12h6Yes
MODE SENSE (6)1Ah6No
MODE SELECT (6)15h6No
READ CAPACITY (10)25h10No
REPORT LUNSA0h12Yes (multi-LUN)
LOG SENSE4Dh10No

Each command defines specific parameter data formats. For example, the INQUIRY command returns vital product data (VPD) pages such as supported pages, serial number, and device identification.

2.2 Key Technical Elements

  • Device Server Behavior: The standard defines the state machine for command execution, status response, and autosense operations. It mandates handling of unit attention conditions, reservations, and overlapping commands.
  • Task Management: Functions such as ABORT TASK, LUN RESET, and TARGET RESET are specified in the task management functional description. These ensure orderly recovery from error conditions.
  • Sense Data: The format of sense data (fixed vs. descriptor) is detailed. The REQUEST SENSE command and autosense ability are critical for error recovery.
  • Mode and Log Parameters: Mode pages (e.g., caching control, geometry) and log pages (e.g., error counters, self-test results) provide a standardized means to configure and monitor devices.

2.3 Relationship with SCSI Architecture Model (SAM)

ISO/IEC 14776-452-06 aligns with the SCSI Architecture Model (SAM-2) defined in ISO/IEC 14776-412. The primary commands operate within the frame of the SCSI domain, using the concepts of initiator, target, service delivery subsystem, and device server. The standard also interacts with transport protocols (e.g., FCP, SRP, iSCSI) that encapsulate the SCSI commands.

3. Implementation Highlights

  • Device Firmware: Implementations must handle mandatory commands quickly. The TEST UNIT READY command (00h) should always report the device readiness state without side effects. INQUIRY data must comply with ANSI-incITS vendor ID formats.
  • Driver Development: Host bus adapter (HBA) drivers should construct CDBs according to the size and parameter rules. Autosense capability must be supported to avoid performance penalties.
  • Unit Attention Conditions: After power-on or reset, a unit attention condition is generated. The device server must report the condition on the first command.
  • Extended CDBs: For LUNs beyond 7 or large data transfers, 16-byte CDBs (e.g., READ CAPACITY 16, REPORT LUNS) are recommended.
Tip: When implementing the INQUIRY command, ensure the response includes the correct version descriptors (SPC-2 version) and adequate vendor identification fields to support system enumeration.
Note: Not all commands listed in the standard are mandatory. Evaluate device-type-specific requirements to determine which optional commands to implement. Over-implementing can consume firmware resources unnecessarily.

4. Compliance and Certification Notes

Compliance with ISO/IEC 14776-452-06 is verified through conformance testing using SCSI protocol analyzers and test suites. Key checks include:

  • All mandatory commands must execute without error under normal conditions.
  • Sense data must be properly formatted when commands terminate with CHECK CONDITION status.
  • Task management functions must clear pending commands appropriately.

The standard is adopted by many national bodies, including CSA as CAN/CSA-ISO/IEC 14776-452-06. This adoption is mandatory for government procurement in Canada. Vendors should also track maintenance revisions and errata issued by ISO/IEC JTC 1/SC 25.

Success: Devices validated against this standard achieve broad interoperability with SCSI infrastructure, including SAS backplanes, RAID controllers, and iSCSI targets.
Critical: Failure to implement the mandatory INQUIRY command or to handle unit attention conditions can prevent host system recognition of the device, leading to system boot failures.

 

Q: What is the relationship between ISO/IEC 14776-452-06 and SCSI-2?
A: This standard supersedes the primary command definitions of SCSI-2. It is part of the SCSI-3 architecture and introduces extended CDBs, enhanced sense data, and additional task management functions not available in SCSI-2.
Q: Is ISO/IEC 14776-452-06 still relevant with modern interfaces like SAS and NVMe?
A: Yes, this standard forms the command layer for SAS devices. NVMe uses a different command set, but many storage systems still rely on SCSI Primary Commands through protocol bridges. The influence of SPC-2 persists in the T10 SPC standards.
Q: Does this standard replace device-type-specific command sets?
A: No, it only defines the primary commands common to all SCSI device types. Device-specific commands (e.g., read/write for disks, read position for tapes) are specified in separate standards such as ISO/IEC 14776-321 (SCSI Block Commands) and ISO/IEC 14776-331 (SCSI Stream Commands).
Q: How should testers verify compliance?
A: Use a SCSI protocol analyzer to capture command sequences and verify CDB fields. Automated test suites that check mandatory commands, unit attention handling, and standard sense data formats are recommended. Certification from an accredited test laboratory can formalize compliance.

© 2026 International Electrotechnical Commission. This article is for informational purposes and does not constitute an official interpretation of the standard.

📥 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 *