SAS传输协议处理流程

SAS传输协议处理流程

SAS协议支持三种主要的传输协议,每种协议用于不同的应用场景:

  • SSP (Serial SCSI Protocol): 用于SCSI命令传输
  • SMP (Serial Management Protocol): 用于管理SAS拓扑
  • STP (Serial ATA Tunneling Protocol): 用于SATA命令传输

1. SSP协议处理流程

SSP (Serial SCSI Protocol) 是SAS中用于SCSI命令传输的协议,支持完整的SCSI功能集。

1.1 SSP协议特点

  • 基于SCSI命令集
  • 支持全双工通信
  • 提供可靠的数据传输
  • 支持任务管理功能
  • 使用CRC校验保证数据完整性

1.2 SSP帧结构

+----------------+----------------+----------------+----------------+
|  SOF (1 byte)  | 帧头 (8 bytes) |  数据负载      |  CRC (4 bytes) |
+----------------+----------------+----------------+----------------+
  • SOF: 帧起始标记
  • 帧头: 包含目标/源SAS地址、帧类型等信息
  • 数据负载: 根据帧类型不同,包含命令、数据或响应
  • CRC: 循环冗余校验,确保数据完整性

1.3 SSP目标端处理流程

  1. 连接建立

    • 接收OPEN地址帧
    • 验证发起方SAS地址和权限
    • 确认连接类型为SSP
    • 建立双向通信通道
  2. 命令接收

    • 接收COMMAND帧
    • 验证帧CRC
    • 解析SCSI命令
    • 提取LUN、CDB和任务属性
  3. 命令处理

    • 将命令转发给STE模块
    • STE模块根据命令类型分发
    • 执行SCSI命令操作
    • 准备响应数据
  4. 响应发送

    • 生成RESPONSE帧
    • 包含状态码、感知数据等
    • 发送响应数据
    • 对于读命令,先发送DATA帧,再发送RESPONSE帧
  5. 连接关闭

    • 发送CLOSE原语
    • 更新任务状态
    • 释放资源

1.4 SSP发起端处理流程

  1. 连接建立

    • 发送OPEN地址帧
    • 指定SSP协议
    • 包含目标SAS地址
    • 等待连接确认
  2. 命令发送

    • 构造COMMAND帧
    • 包含LUN、CDB和任务属性
    • 计算并添加CRC
    • 发送SCSI命令
  3. 响应接收

    • 接收RESPONSE帧
    • 验证帧CRC
    • 解析响应数据
    • 对于读命令,先接收DATA帧,再接收RESPONSE帧
  4. 连接关闭

    • 接收CLOSE原语
    • 更新任务状态
    • 通知上层应用

1.5 SSP错误处理

  • 传输错误:

    • CRC校验失败时重新发送
    • 连接断开时重新建立连接
    • 达到重试上限后报告错误
  • 任务管理:

    • 支持ABORT TASK、ABORT TASK SET等任务管理功能
    • 可以中止特定任务或一组任务
    • 支持目标设备重置

1.6 SSP与STE模块交互

+---------------+                 +---------------+
|  SSP传输层    |                 |    STE模块    |
+---------------+                 +---------------+
        |                                |
        |------- SCSI命令 ------------->|
        |                                |
        |                                |---处理命令-->|
        |                                |              |
        |                                |<--处理结果---|
        |                                |
        |<------ 命令响应 --------------|
        |                                |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值