解码SAS 24G:新的编码和功能

描述

SAS遵循自己的摩尔定律版本,每隔几年将速度翻倍。为了保持传统,SAS 24G(Gen-5)让我们解码一下,有效速度是如何翻倍到24G的,尽管信令速率保持在22.5G。这是通过更高效的128b/150b编码方案实现的,以实现24G的可用数据速率,同时保持与6G和12G的兼容性。还引入了其他功能以提高整体协议效率。一些新添加的功能包括二进制原语、基元参数、SMP 开放优先级、扩展器间公平性仲裁增强功能......等。在本博客中,我们将介绍一些新功能,并将继续在即将发布的SAS博客中深入研究更多详细信息。

128b/150b 编码

对 Gen-5 的支持不仅仅是早期 Gen-4 的减速带;但也采用了全新的编码方案。SAS-4采用128b/150b编码方案,旨在以22.5G及更高的速度提供更好的链路效率。为了保持与早期版本的向后兼容性,当物理链路以 Gen-128 或更高版本(SAS 数据包模式)运行时,将使用 150b/5b 编码。当物理链路以 Gen-8 或更低速度(SAS Dword 模式)运行时,使用传统的 10b/4b 编码方案。

128b/150b 编码过程将四个双字编码为 150 位,而 8b/10b 编码方法会导致相同的四个双字为 160 位(要传输的位数更少!与 8b/10b 编码不同,128b/150b 编码允许校正接收器的传输错误。在这种新的编码方案中,信息以“SPL数据包”的形式传输,这些数据包是在网络上串行传输的150位块。每个块包含:

2 位 SPL 数据包标头

128 位 SPL 数据包有效负载描述符

20 位前向纠错 (FEC) 信息

数据包

声压级数据包

声压级数据包标头

SPL 数据包标头字段定义数据包有效负载描述符的格式,即数据包有效负载中包含的分段类型。

声压级数据包有效负载描述符

数据包有效负载描述符包含加扰的空闲段、空闲的双字段、SPL 帧段或基元段。考虑数据包有效负载描述符的一种简单方法是,它是四个相同类型(基元或数据双字)的双字的集合。

置乱的空闲段包含四个设置为零的数据字。加扰空闲段是可删除的 SPL 数据包。

空闲 dword 段包含四个打乱的空闲 dword,并在帧外传输。

帧段包含四个数据双字,它们是帧的一部分。这可以是 SSP 帧段、SMP 帧段、STP 帧段或地址帧段。CRC 放置在帧的最终 SPL 数据包中。由于所有数据包都是 4 位字对齐的,因此使用填充字来填充 CRC 和 SPL 帧段末端之间的任何未填充插槽。

基元段包含一个扩展的二进制基元或四个作为基元/二进制基元的双字(以及关联的基元参数,如果有的话)。我们将在后续博客中看到有关二进制基元和基元参数的更多信息。

前向纠错

128b150b编码方案还使接收器能够纠正传输错误。这是通过嵌入在每个SPL数据包中的前向纠错信息来实现的。里德所罗门代码用于此目的。为了计算 FEC,使用 26 位数据包标头和 2 位数据包有效负载构造 128 符号消息 M(x)。每个符号的宽度为 5 位(26 个符号 x 5 位 = 130 位)。然后在此消息 M(x) 上计算奇偶校验符号 P(x)。计算出的奇偶校验 P(x) 嵌入在原始消息中并传输。选定的里德所罗门代码允许纠正多达 2 个符号错误。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分