Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
IEC 14776-341-02(以下简称“本标准”)是 ISO/IEC 14776 系列标准的核心组成部分,专门规定 SCSI Primary Commands(SPC,即 SCSI 基本命令集)的技术规范。本标准于 2026 年发布,是 SPC-3(SCSI Primary Commands – 3)的第二版(Amendment 02)在 ISO/IEC 框架下的正式版本,同时也被 CAN CSA 采纳为加拿大国家标准。
本标准定义了 SCSI 设备必须支持的通用命令及协议层行为,适用于所有遵循 SCSI 架构的设备,包括但不限于:
其核心目标是确保不同厂商实现的 SCSI 设备之间具备一致的行为语义,实现命令级互操作性。
SCSI 命令通过命令描述符块(Command Descriptor Block,CDB)进行编码。本标准定义了 CDB 的通用格式:固定长度的操作码(Operation Code)字段、控制字节以及变长参数域。不同操作码对应不同的命令功能,例如 INQUIRY、READ、WRITE、TEST UNIT READY 等。所有 SCSI 设备必须能够解析长度至少为 6 字节的 CDB,并支持 10、12、16 乃至 32 字节的扩展格式。
设备完成命令执行后,返回一个状态字节(Status Byte)以指示结果。本标准规定的状态码包括:
| 状态码 | 名称 | 说明 |
|---|---|---|
| 00h | GOOD | 命令正常完成 |
| 02h | CHECK CONDITION | 命令执行出错,需进一步获取 Sense 数据 |
| 04h | BUSY | 设备暂时无法处理命令,发起方应重试 |
| 05h | RESERVATION CONFLICT | 资源被其他发起方保留 |
| 08h | QUEUE FULL | 命令队列已满 |
设备必须按照本标准的规定返回正确状态码,并确保状态码与任务管理功能协同工作。
数据传输采用 Data-In / Data-Out 阶段,并受传输协议(如 SAS、FC)的帧封装控制。本标准同时定义了任务管理功能(Task Management Functions),包括:ABORT TASK、ABORT TASK SET、TARGET RESET、LOGICAL UNIT RESET 等,用于处理异常或超时场景。
实现本标准时,建议采用“分层兼容”策略:底层传输协议负责链路层可靠性,命令层按照本标准处理 CDB 与状态。所有命令必须首先通过 INQUIRY 命令获取设备属性,再根据属性调整行为。
当设备返回 CHECK CONDITION 状态时,发起方应通过 REQUEST SENSE 命令获取 Sense Data。本标准要求 Sense Data 的格式遵循 SPC-3 定义的固定格式或描述符格式。常见错误码包括:ILLEGAL REQUEST、UNIT ATTENTION、MEDIUM ERROR 等。
本标准支持标签命令队列(Tagged Command Queuing),发起方可以通过多标签深度优化吞吐量。合理配置队列深度(通常为 32 或 64)可在不增加系统开销的前提下提高存储效率。
ISO/IEC 14776 标准家族采用模块化分层架构。IEC 14776-341-02 作为基础命令部分,与以下标准紧密关联:
此外,传输层标准如 SAS(IEC 14776-150)和 FC(ISO/IEC 14776-232)需与本标准配合使用,形成完整的 SCSI 协议栈。