SAS(串行连接 SCSI)仍然是任务关键型存储子系统的首选接口。SAS 24G不仅仅是上一代SAS 2GB的12倍减速带,而是对该威廉希尔官方网站 的重大改革。
在之前的博客 - 解码SAS 24G:新的编码和功能中,我们研究了最近推出的128b / 150b编码,SAS协议层(SPL)数据包和前向纠错(FEC),以支持22.5Gbps的传输。SPL 数据包是一个 150 位块,包含 2 位标头、128 位 SPL 数据包有效负载和 20 位 FEC。SPL 数据包的 FEC 字段有助于错误检测和恢复。继续 SAS 博客系列,我们将在这篇文章中介绍二进制基元、扩展二进制基元和基元参数。
二进制基元和扩展二进制基元
基元是用于提供链接的控制或状态的特殊双字。基元在链接上很容易识别,因为它们在 dword 的第一个字节位置有一个控制字符。在 Gen5 传输时,四个基元组合成一个 SPL 基元数据包,数据包标头设置为 01b。 SPL 引入了两种新的基元类型:二进制基元和扩展二进制基元。
二进制基元是占据 SPL 基元数据包中 dword 位置的 32 位二进制数据。与传统的 SAS 基元(ACK、RRDY 等)不同,二进制基元在第一个字节位置不包含控制字符。在 dword 模式链接上不会观察到这些基元,因为它们缺少用于检测的控制字符。发送器将 SPL 数据包的原始同步选择或控制 1/2/3 字段设置为 01b,以指示该位置的 dword 是二进制原语。APTA 控制原语(例如:APTA_ADJUST (*))和帧结束标识符(例如:B_EOF (*))是标准定义的一些二进制原语。
扩展二进制基元是 128 位二进制数据,占用 SPL 数据包中数据包有效负载描述符的 128 位。此类型的基元将“基元同步选择”字段设置为 10b。到目前为止定义的扩展二进制基元是PACKET_SYNC、PACKET_SYNC_LOST、LINK_RATE_MANAGEMENT和END_TRAIN。
二进制和扩展二进制原语仅在以数据包模式运行的链路上观察到。接收器通过在基元段的“基元同步选择”、“控制 01”、“控制 1”或“控制 2”字段中查找特定模式 (3b) 来区分二进制基元和旧版 SAS 基元。当接收方在 SPL 数据包有效负载的基元同步字段中检测到 10b 时,它会检测到扩展的二进制基元。
基元参数
SPL 数据包结构允许将其他可变长度参数数据与基元相关联。此参数数据在传达与基元关联的附加信息时很有用。基元参数仅出现在 SPL 基元段内,并且始终与基元或二进制基元相关联。CONTROL10、CONTROL1 或 CONTROL2 中的值 3b 表示存在与上述基元关联的基元参数。由于参数数据的长度可以是可变的,因此参数长度字段定义参数数据的长度。
SPL 为 CLOSE 和 OPEN_REJECT(重试类)基元定义基元参数。SPL 为OPEN_REJECT重试类基元定义了一个 4 字节参数数据,可用于指定延迟,在此之后可以重试打开帧。CLOSE 基元参数是为扩展器设备定义的。它的长度为 12 字节,扩展器将扩展公平优先级信息传送到连接的扩展器设备。端点不会为 CLOSE 发起基元参数,如果收到一个基元参数,则忽略该参数。
shenhbj;gt
-
接口
+关注
关注
33文章
8580浏览量
151044 -
存储
+关注
关注
13文章
4298浏览量
85810 -
SAS
+关注
关注
2文章
523浏览量
32861
发布评论请先 登录
相关推荐
评论