Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
IEC 14776-112-04(国际等效标准为ISO/IEC 14776-112:2004)是信息技术领域内SCSI(小型计算机系统接口)标准体系的重要组成部分,通常被称为SCSI Primary Commands – 2 (SPC-2)。本标准由ISO/IEC JTC 1/SC 25联合制定,加拿大通过CAN/CSA-ISO/IEC 14776-112-04采纳为国家级标准。
本标准主要适用于所有采用SCSI命令集的存储设备,包括但不限于硬盘驱动器、固态硬盘、磁带机、光盘驱动器以及SCSI目标设备(Target)和发起设备(Initiator)的固件与驱动开发。它为SCSI设备提供了统一的指令交互层,确保不同厂商设备间的命令级互操作性。任何遵循SCSI架构的存储子系统或主机总线适配器(HBA)都应参考并实现本标准中定义的基础命令集。
该标准是SCSI命令系列的第112部分,作为“主要命令”的第二版(SPC-2),它取代了早期的ISO/IEC 14776-111(SPC-1),并引入了新的功能,如自动感测(Autosense)、修正的中断恢复机制以及对更大数据块的请求支持。2004版本是对2002版本的实质性修订,进一步完善了命令描述符块的格式定义,并增加了对并行SCSI和串行SCSI的兼容性指导。
截至2026年,虽然SPC-4(ISO/IEC 14776-313)已成为最新版本,但SPC-2仍是许多嵌入式系统和工业控制设备中广泛引用的成熟规范。
标准规定所有SCSI命令都必须封装在CDB中。CDB由操作码(Operation Code)及若干控制字段组成,长度可为6字节、10字节、12字节或16字节(16字节CDB自SPC-2开始支持)。命令的执行严格按照CDB中的控制字段进行,包括传输方向、逻辑块地址(LBA)、传输长度以及各种控制位。
下表归纳了SPC-2定义的核心命令类别及其典型操作码(部分代表性命令):
| 命令类别 | 典型命令 | 操作码(十六进制) | CDB长度(字节) | 说明 |
|---|---|---|---|---|
| 设备控制 | INQUIRY | 12h | 6 | 获取设备基本参数 |
| 设备控制 | TEST UNIT READY | 00h | 6 | 检查设备是否就绪 |
| 设备控制 | REQUEST SENSE | 03h | 6 | 获取上一条命令的自动感测数据 |
| 设备控制 | MODE SENSE (6) | 1Ah | 6 | 获取当前工作模式参数 |
| 数据读取 | READ (10) | 28h | 10 | 读取数据块 |
| 数据写入 | WRITE (10) | 2Ah | 10 | 写入数据块 |
| 其他服务 | SYNCHRONIZE CACHE | 35h | 10 | 刷新缓存至物理介质 |
每一条SCSI命令执行后,目标设备需返回一个状态字节(Status Byte)。SPC-2定义了8种状态代码,包括GOOD、CHECK CONDITION、CONDITION MET、BUSY、RESERVATION CONFLICT、TASK SET FULL、ACA ACTIVE以及TASK ABORTED。其中CHECK CONDITION状态触发自动感测机制,要求发起设备立即执行REQUEST SENSE命令,获取详细感知数据(Sense Data)。感知数据格式采用描述符格式(Descriptor Format Sense Data),这是SPC-2相比SPC-1的重要增强,支持更丰富的错误信息。
标准引入了任务管理(Task Management)机制,允许发起设备对未完成的任务进行中止、复位或清空队列操作。支持的函数包括ABORT TASK、ABORT TASK SET、LUN RESET、TARGET RESET等。这些功能通过任务管理请求(Task Management Request)而非命令CDB发送,由底层传输协议承载。
设备的行为模式由MODE SELECT命令配置,参数通过MODE SENSE读取。SPC-2规范了多种模式页面(Mode Pages),如错误恢复页面、断开/重连控制页面、电源条件页面等。标准还定义了日志(LOG)机制,用于记录设备运行历史和性能统计,通过LOG SENSE / LOG SELECT命令访问。
尽管2004版标准已发布多年,实施者在集成新设备时应注意:
建议开发团队使用SCSI标准一致性测试工具(如原SAS规范中的CTS测试集)对目标设备进行全指令集覆盖测试。重点考察:
此外,标准定义了每个命令的超时模型,设备不应在未完成准备时延迟响应,以免发起端误判。
IEC 14776-112-04 是SCSI协议体系的核心组成部分,与其他部分标准紧密关联:
在实际存储方案中,SPC-2与串行传输协议(SAS, FC, iSCSI)配合使用,成为企业级存储的事实标准基础。
本文版权 ©2026 年,仅作为技术参考,不代替正式标准文本。实施时请以最新发布的标准版本为准。