Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 14776-362:2007(亦被加拿大采纳为CAN/CSA-ISO/IEC 14776-362:07)是SCSI Primary Commands – 3(SPC-3)标准。该标准由ISO/IEC JTC 1/SC 25制定,是SCSI(Small Computer System Interface)协议栈中基础性的命令集规范,定义了所有SCSI目标设备必须支持的核心命令及行为模型。SPC-3独立于底层传输协议(如FCP、SAS、iSCSI、并行SCSI),为存储设备提供了统一的控制接口。
适用范围:本标准适用于所有遵循SCSI体系结构的设备——包括磁盘、磁带、光驱、RAID控制器、虚拟化存储设备等。SPC-3规定了逻辑单元(Logical Unit,即LU)的行为规则,定义命令描述块(CDB)格式、状态字节、感知数据处理以及各种任务管理功能。任何声称支持SCSI标准的设备均需符合SPC-3的要求(或更高版本SPC-4/5),以确保与不同厂商的发起设备(Initiator)顺畅通信。
SPC-3定义了逻辑单元应支持的命令服务模型。每个命令通过CDB发起,包含操作码(Operation Code)和参数字段。标准将命令分为强制(Mandatory)和可选的(Optional),其中强制命令是任何逻辑单元都必须实现的,例如:
| 命令名称 | 操作码(十六进制) | 简要功能 | 强制/可选 |
|---|---|---|---|
| INQUIRY | 12h | 获取设备基本信息和版本支持情况 | 强制 |
| READ CAPACITY(10) | 25h | 返回逻辑单元容量描述(LBA及块大小) | 强制(块存储) |
| REPORT LUNS | A0h | 列出目标设备中可访问的逻辑单元号 | 强制 |
| TEST UNIT READY | 00h | 检查设备是否就绪(无数据传输) | 强制 |
| REQUEST SENSE | 03h | 获取上一个命令的感知数据(错误信息) | 强制 |
| MODE SENSE(6/10) | 1Ah / 5Ah | 返回设备的模式参数页面(缓存、电源等) | 可选 |
| FORMAT UNIT | 04h | 格式化逻辑单元(用于可写媒体) | 可选(按设备类别) |
SPC-3定义了任务管理功能,包括ABORT TASK、CLEAR TASK SET、TARGET RESET等,用于处理异常或恢复操作。同时引入“自动连续操作”(Auto Contingent Allegiance)机制,在命令异常时自动保持状态,便于发起设备重建上下文。
标准详细规定了感知数据(Sense Data)的格式与分类。错误、异常和不合理的命令请求均需按照Fixed Format或Descriptor Format返回,涵盖additional sense code (ASC) 和 additional sense code qualifier (ASCQ)。SPC-3还规范了Unit Attention条件,使设备能在特定事件(如模式参数变更)下通知发起者。
SPC-3命令可通过多种传输层发送,但CDB结构和行为语义不变。开发人员在实现目标端固件时应注意:
SPC-3设备应能回应INQUIRY命令中的版本标识(SPC-3对应版本编号0x05)。如果发起设备支持SPC-4,仍可降级使用SPC-3命令集,但需注意SPC-3中未定义的一些新增命令(如MAINTENANCE IN/OUT)。为保证互通性,建议在设备固件中参照CAN/CSA-ISO/IEC 14776-362:07进行标准化实现。
可通过SCSI测试套件(如UNH-IOL SCSI Test Suite)验证设备对SPC-3的符合度。重点测试项目包括:
SPC-3是SCSI协议族的核心,与以下标准紧密关联:
在版本演进上,SPC-4(ISO/IEC 14776-364)引入了多端口特性、额外感知字段,但SPC-3仍作为旧系统迁移时的兼容基线。对于需要同时支持新旧设备的存储子系统,了解SPC-3与SPC-5的差异至关重要。
文章资料参考:ISO/IEC 14776-362:2007(CAN/CSA-ISO/IEC 14776-362:07)及ANSI INCITS 351-2008。版权归相关标准组织所有。文中内容仅供技术交流,更新于2026年。