ISO/IEC 14776-413:2007(IEC 14776-413-07)SCSI 架构模型第3部分(SAM-3)技术解析

深入理解 SCSI 架构模型的核心规范、实施要点与互操作性要求

标准概况与适用范围

ISO/IEC 14776-413:2007(加拿大采纳版本为 CAN/CSA ISO IEC 14776-413-07)是 SCSI 架构模型系列标准的第三版,通常简称为 SAM-3(SCSI Architecture Model – 3)。该标准由国际标准化组织(ISO)与国际电工委员会(IEC)联合技术委员会 JTC 1 制定,是 SCSI 标准体系的核心基础规范。

SAM-3 定义了一个独立于传输协议的通用 SCSI 存储架构模型,适用于所有基于 SCSI 命令集的存储系统,包括传统并行 SCSI、光纤通道(Fibre Channel)、iSCSI、串行连接 SCSI(SAS)以及串行附加 SCSI(SSP)等传输协议。其主要适用范围包括:SCSI 发起设备(Initiator,如主机 HBA 或软件发起端)、目标设备(Target,如磁盘阵列、磁带库、光盘库)、逻辑单元(Logical Unit)以及设备服务器的设计与实现;同时为存储系统集成商、协议转换器开发者以及一致性测试工具厂商提供统一的互操作性参考模型。

实用提示: SAM-3 是 SCSI 标准中“架构”层面的规范,不依赖具体传输底层。理解 SAM-3 的设备模型和状态机,有助于快速掌握多种 SCSI 传输协议(FCP、iSCSI、SAS)的公共行为。

主要技术内容与要求

SCSI 设备模型

SAM-3 延续并细化了 SCSI 设备模型,定义了以下核心组件及其交互关系:

  • 发起端(Initiator) — 发出 SCSI 命令的实体,通常作为主机端。
  • 目标端(Target) — 接收并执行 SCSI 命令的实体,可包含多个逻辑单元。
  • 逻辑单元(Logical Unit, LU) — 目标端内可独立寻址的存储资源,每个 LU 对应一个设备服务器(Device Server)。
  • 任务路由器(Task Router) — 负责将命令/任务分发到对应的逻辑单元。
  • 设备服务器(Device Server) — 处理 SCSI 命令并执行任务管理的内部状态机。

命令模型与状态机

标准规定了 SCSI 命令描述块(CDB)的通用结构、命令执行时序、数据交换模式(无数据/写入/读取/双向)以及状态/响应返回机制。设备服务器的状态机包括:空闲态、命令接收态、数据移动态、命令完成态及错误恢复态等。SAM-3 对任务管理功能进行了显著增强,明确支持以下任务管理请求:中止任务(Abort Task)、中止任务集(Abort Task Set)、逻辑单元复位(Logical Unit Reset)、目标复位(Target Reset)等,并规定了各请求在状态机中的行为。

传输协议映射要求

SAM-3 作为一种“元规范”,要求所有 SCSI 传输协议标准(如 FCP-3、iSCSI、SAS SSP、PSCSI)必须提供本标准的映射说明,以确保发起端与目标端之间的协议独立一致性。下表归纳了 SAM-3 定义的关键架构元素及其在主流传输协议中的映射情况:

架构元素SAM-3 定义FCP-3 映射iSCSI 映射SAS SSP 映射
命令发布通过任务路由器发送 CDBFCP_CMND IUSCSI Command PDUSSP Frame (COMMAND)
数据传输数据写/读/双向FCP_DATA IUData-In/Out PDUSSP Frame (DATA)
任务管理任务管理请求FCP_TM IUTask Management Function PDUSSP Frame (TASK)
状态报告命令完成与状态FCP_RSP IUSCSI Response PDUSSP Frame (RESPONSE)
重要注意事项: SAM-3 对任务队列模型采用了“每个逻辑单元最多支持一条命令在任务集外执行”,并引入了“简单队列”与“排序队列”等属性。实现时需特别注意任务管理请求的串行化和冲突处理,避免死锁。

实施要点

设备服务器的实现合规

开发者实现 SCSI 目标端时,必须严格按照 SAM-3 规定状态机转换条件设计设备服务器。关键点包括:命令超时处理、自动备用机制(当传输协议断开时的自动状态迁移)、任务管理请求的优先级处理等。SAM-3 增加了对“意外断开”场景的处理规范,要求设备服务器在传输层连接丢失后仍能完成或中止正在执行的命令序列。

互操作性验证

鉴于 SAM-3 是许多传输协议一致性测试的参考模型,测试工具(如 SCSI Primary Commands – 3 测试套件)需要覆盖 SAM-3 定义的路径。对于计划兼容 SAN 或直接附连存储的设备,建议在开发阶段引入 SAM-3 行为仿真器,验证命令及任务管理请求的响应是否符合标准状态机。

标准实施的益处: 遵循 SAM-3 可实现不同传输协议间的行为统一,降低跨平台集成风险。例如,同样的 SCSI 磁盘设备可通过 iSCSI 和 Fibre Channel 桥接,其命令处理逻辑保持一致,极大简化存储网络混合部署的复杂度。

与其他标准的关系

SAM-3 是 SCSI 系列标准的核心参考,与以下标准紧密关联:

  • ISO/IEC 14776-412:2006(SAM-2) — 前版标准,SAM-3 在任务管理和 iSCSI 映射方面做了重要改进。
  • ISO/IEC 14776-414(SAM-4) — 后续版本,进一步扩展了对多传输协议并发及虚拟化环境的支持。
  • SCSI 命令集标准(如 SBC-3、SPC-4):依赖 SAM-3 定义的架构模型来表达命令行为和任务管理。
  • 传输协议标准(ISO/IEC 14776-223 FCP-3、ISO/IEC 14776-321 iSCSI、ISO/IEC 14776-451 SAS-2):每个协议都引用了 SAM-3 作为其架构基础。
安全关键要求(强制性条款): 所有 SCSI 目标设备必须实现 SAM-3 第 5.7 条规定的“逻辑单元复位”和“目标复位”请求,且在复位过程中必须保证数据完整性和主电源故障的原子性。不符合此项要求的设备可能无法通过互操作性认证。

常见问题(FAQ)

问: SAM-3 与 SAM-2 的主要区别是什么?
答: SAM-3 相对 SAM-2 主要在以下方面有显著增强:对 iSCSI 协议映射的正式纳入、任务管理模型增加了“中止任务集”请求、设备服务器状态机中添加了“恢复”状态以处理传输层异常,并明确了多发起端并发场景下的访问控制规则。
问: 实施 SAM-3 是否强制采用某种传输协议?
答: 不强制。SAM-3 定义的是与传输协议无关的架构模型。实际产品可以选用 FCP、iSCSI、SAS 或并行 SCSI 中的任意一种(或多种),只要提供符合 SAM-3 的映射实现即可。
问: 截至2026年,SAM-3 是否仍被推荐用于新设计?
答: 推荐使用更新的 SAM-5(ISO/IEC 14776-416)或至少 SAM-4。但对于需要与遗留系统保持兼容的场景(如只为并行 SCSI 提供更新),SAM-3 仍然有效。许多 iSCSI 和 Fibre Channel 设备仍以 SAM-3 作为最小公共基准。

📥 标准文件下载

🔒
请等待 10 秒,广告加载完成后将自动显示下载链接

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注