Understanding ISO/IEC 14776-342-02: SCSI Controller Commands (SCC) Standard

A Comprehensive Reference for Implementing Storage Controller Command Sets

Scope and Purpose

The ISO/IEC 14776-342-02 standard defines the SCSI Controller Commands (SCC) command set, a critical component of the SCSI-3 architecture designed for advanced storage controllers. This standard extends the base SCSI command set to manage logical units (LUNs), configure redundancy groups, control copy operations, and perform other controller-specific functions. It is primarily intended for devices that implement storage virtualization, RAID, or similar data management services.

Tip: The SCC command set is often implemented in RAID controllers, storage enclosures, and software-defined storage stacks. Familiarity with base SCSI commands is recommended before studying this part.

The standard specifies:

  • Detailed command descriptor block (CDB) formats and parameter definitions for controller commands.
  • Rules for command execution, status reporting, and error handling specific to controller functions.
  • Interoperability requirements between initiators and targets that support SCC.

Technical Requirements

ISO/IEC 14776-342-02 defines a set of mandatory and optional commands that a controller device must support. The commands are grouped into functional categories, each addressing a specific aspect of controller management.

Command Set Overview

Command GroupExample CommandsOperation CodesMandatory/Optional
Logical Unit ManagementMODIFY LUN, CREATE LUN, DELETE LUN0xC0–0xC3Mandatory (basic set)
Redundancy Group ManagementCREATE REDUNDANCY GROUP, MODIFY REDUNDANCY GROUP, DELETE REDUNDANCY GROUP0xC4–0xC6Optional
Copy ManagerCOPY, COMPARE, COPY AND VERIFY0x18, 0x39, 0x3AOptional
Background Task ControlSTART BACKGROUND TASK, ABORT BACKGROUND TASK, QUERY TASK STATUS0xC7–0xC9Mandatory if background tasks supported
Log and DiagnosticsRECEIVE DIAGNOSTIC RESULTS, SEND DIAGNOSTIC, LOG SENSE, LOG SELECT0x1C, 0x1D, 0x4D, 0x4CMandatory (log sense/select)
Warning: Some commands in early revisions of the SCC standard have been deprecated or replaced. Implementers should verify the latest amendment for the 2002 edition to avoid using obsolete code points.

Command Descriptor Blocks

Each SCC command is encapsulated in a CDB that follows the SCSI architecture model. The CDB for SCC commands typically includes:

  • Operation Code (1 byte): Identifies the command.
  • Service Action (if applicable): Extends the operation code for related functions.
  • Logical Unit Number (LUN): Specifies the target logical unit.
  • Parameters: Variable-length fields for configuration data, identifiers, and flags.
  • Control Byte: Includes link control, flag, and vendor-specific bits.

Parameter and Data Structures

Many SCC commands rely on complex data structures passed through the DATA IN or DATA OUT phases. For example, the REDUNDANCY GROUP PARAMETERS block defines the redundancy level (e.g., RAID 0/1/5), member devices, and rebuild preferences. The standard provides exact byte-level layouts for these structures, including bit fields for feature enablement.

The standard also defines a Copy Manager to offload data movement between LUNs. The COPY command uses a segment descriptor list that specifies source and target extents, segment lengths, and block mapping operations.

Implementation Highlights

Implementing ISO/IEC 14776-342-02 in a storage controller requires careful attention to command parallelism, resource management, and power‑fail safety.

Integration with Storage Controllers

Controllers that support SCC must manage internal resources such as LUN tables, redundancy group maps, and background task queues. The standard assumes a model where logical units can be created, deleted, or reconfigured without disrupting the entire system. Implementations must ensure atomicity of critical operations, such as creating a redundancy group across multiple physical drives.

Success: A compliant SCC implementation enables seamless integration with enterprise storage management software. Many SAN management tools rely on SCC commands for LUN provisioning and RAID configuration.

Handling Background Tasks

Background tasks, such as consistency checks, rebuilds, or data migration, are controlled via dedicated SCC commands. The standard mandates that a controller can support multiple concurrent tasks and report their progress via status logs. It is recommended to implement a priority scheme for background tasks to prevent interference with I/O operations.

Error Recovery

The SCC standard annexes provide guidance for error handling during commands, especially for copy and redundancy operations. If a copy segment fails, the controller should report the exact extent causing the failure and allow the initiator to resume or abort the operation. For redundancy groups, the standard specifies recommended actions on member drive failures, such as entering degraded mode and starting automatic rebuild when a spare is available.

Danger: Incorrect implementation of the REDUNDANCY GROUP MODIFY command can lead to data loss if the controller does not properly synchronize member drives during a RAID level migration. Always validate with conformance tests before deployment.

Compliance and Testing

Conformance to ISO/IEC 14776-342-02 is essential for storage devices to claim SCC support. Testing should cover functional, interoperability, and stress scenarios.

Conformance Requirements

A conformance test suite for SCC typically verifies:

  • All mandatory commands respond with valid status codes.
  • Parameter fields are validated; invalid parameters return CHECK CONDITION with appropriate sense key.
  • Copy manager operations complete correctly for all segment descriptor formats defined in the standard.
  • Background tasks can be started, monitored, and aborted without leaking resources.
  • Redundancy group operations maintain data integrity across controller resets and power cycles.

Interoperability Testing

Because SCC devices may interact with initiators from multiple vendors, it is critical to test with reference initiator implementations. The standard does not define a specific test suite but refers to the ISO/IEC 14776-400 series for common SCSI test methods. Many vendors participate in plugfest events where SCC implementations are exercised against a variety of operating systems and HBAs.

Tip: Check for any published Technical Corrigenda (TC) or Amendments (AMD) to the 2002 edition, as they may clarify ambiguous command behaviors.

In summary, ISO/IEC 14776-342-02 remains the foundational SCC standard for storage controller command sets. While newer versions and amendments exist, the 2002 edition is still widely referenced for legacy device support and base understanding of the controller command architecture. Adhering to its specifications ensures robust, interoperable storage solutions.

Frequently Asked Questions

Q: What is the relationship between ISO/IEC 14776-342-02 and the SCSI SPC (Primary Commands) standard?
A: ISO/IEC 14776-342-02 builds upon the SCSI Primary Commands (SPC) and SCSI Block Commands (SBC) by adding controller-specific functionality. All SCC devices must also support the mandatory commands from SPC-2 (ISO/IEC 14776-413) and the applicable block command set.
Q: Does this standard support virtual LUNs or thin provisioning?
A: The 2002 edition focuses on physical redundancy groups and copy operations. Virtual LUN support was introduced in later amendments (e.g., SCC-2). For thin provisioning, refer to the SCSI Provisioning Commands (SPC-4).
Q: Can I use SCC commands over iSCSI or Fibre Channel?
A: Yes. SCC commands are transport-independent. They can be used over any SCSI transport protocol that supports the SCSI Architecture Model (SAM), including iSCSI (RFC 7143), Fibre Channel Protocol (FCP), and Serial Attached SCSI (SAS).
Q: How do I obtain a conformance test tool for SCC?
A: The SCSI Trade Association (STA) and several test equipment vendors offer conformance test tools. Alternatively, the University of New Hampshire InterOperability Laboratory (UNH‑IOL) provides compliance testing services for SCSI command sets, including SCC.

© 2026 International Standards Technical Article Series. This content is for informational purposes and does not replace the official standard document.

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