使用串行内存协处理器架构实现 200-400GE 网络缓冲速度

出处:维库电子市场网 发布于:2023-03-14 16:45:13

 在本产品指南中,MoSys 的迈克尔米勒描述了有线互联网骨干网面临的挑战,因为网络线路和数据包速率的增加导致处理器/外部 DDR 内存接口出现吞吐量瓶颈。然后,他展示了该公司开发的一种新的串行芯片到芯片协议,称为 GigaChip 接口 (GCI),具有 200-400 GE 数据速率和 4.5 B 读/写事务,可用于消除此类瓶颈。
随着网络线路速率和数据包速率的增加,对高效率、减少延迟、与内存和协处理器的细粒度接口的需求变得至关重要。400GE 的缓冲流量将需要大约 900 个 I/O 引脚以 3.2 Gbps 到 DDR4 内存。用于标头处理的任何额外的片外存储器操作将再次需要更多的引脚。

许多设计人员会尝试将所有内存集成到芯片上,这将对同一芯片上还可以包含多少计算资源提出挑战,以应对将计算能力提高 4 倍的要求。即使采用封装,当包含线路接口和电源引脚时,也无法实现这些引脚数。I/O 引脚不仅在更大的封装、管芯面积上,而且在功率上都需要成本。高效的 I/O 是当今架构的一个重要方面。协议在信息传输效率方面发挥着重要作用。

然而,当前可用的用于处理此类延迟的设备到设备串行接口存在几个缺点,包括通道化单向传输或它们针对特定应用程序,例如内存。这些接口也可能针对大数据包进行了优化,结果是它们可能由于与 ASIC 或 FPGA 的交易结构而效率低下。效率低下的原因是进出内存的加载/存储事务发生在小型同步数据传输中,例如 72 位(64 位 + 8 位电子色散补偿)。这种低效率会以额外内存、额外走线的形式产生成本,并因此增加电路板空间。

为了迎接这些挑战,MoSys 开发了一种可靠的串行芯片到芯片传输协议,该协议在 OIF 标准 CEI SerDes 上运行并实现 90% 的效率。该协议称为 GigaChip 接口 (GCI),可以扩展到 1、2、4 或 8 个 SerDes 通道以及 8 的倍数。它针对具有串行接口的计算和内存解决方案,用于带宽引擎等网络设备。GCI 在具有 15 Gbps 的 16 通道的现有设备上运行,提供足够的带宽来支持 4.5B 读/写事务和足够的带宽来缓冲全双工 200GE。将引脚加倍或将线路速率 (30Gbps) 加倍可实现全双工 400GE。
在简要描述了两种常见的传输协议(数据包和数据字翻译)之后,本文将提供 GCI 协议及其各个层的详细信息,并展示如何使用它来提高典型系统的性能。

通道化数据包与数据字 
常见的传输协议服务于以下两类之一:数据包或数据字事务。数据包通过多个设备传输,其中之一通常是交换设备。由于多个端点和交换机中的潜在拥塞,数据包面临被丢弃的合理可能性。为了解决这个问题,任何串行接口协议都需要更复杂的错误检查和流量控制机制。如下图 1 所示,协议必须提供传达多个字段的方法,包括单独的数据包 ID、优先级、数据包类型和端到端端口 ID 字段。

图 1:GCI 帧格式

通过网络设备电子设备的数据包传输通常表现出以下特征:

  • nx 1/10/40/100 Gbps 的数据速率
  • 从 64B 到 1.5KB 的可变长度数据包
  • 数据包到达率因数据速率和数据包长度而异
  • 异步传输方式
  • 可能通过连接器达到 8-30 英寸
  • ASSP/ASIC/FPGA 进出网络 PHY 或背板

相比之下,数据字事务发生在两个端点之间,这两个端点可以是两个对等设备,例如 ASSP、ASIC 或 FPGA,也可以是从主机设备到存储器或协处理器。这些依赖于后备数据字协议并消除了开关相关问题。数据字事务具有以下传输特性:

  • 数据位于预定大小的固定长度帧中(例如 32b、64b、72b 等)
  • Rate at nx 数据包到达率,通常(通常为 4 < n < 24),每秒大于 10 亿个事务
  • 同步传输方式
  • 在没有连接器的情况下伸手可及的距离小于 8 英寸

数据包完整性是的问题并且通常很低(BER 10-15),因为与信号完整性相关的问题是信息丢失的根源。可以通过设计实践和错误检查协议来管理数据丢失。

在开发 GCI 之前,没有使用 SerDes 的常用协议针对后备路径中的同步固定长度传输进行了优化。作为选项,设计人员在 SerDes 上使用了通道化的面向数据包的协议,这会导致更高的资源开销和延迟。GCI 协议专门简化了设备到设备的数据传输,并克服了后备应用程序现有协议的低效问题。

GCI 的三层结构 
GCI 规范定义了三个层,物理介质附件 (PMA) 层、物理编码子层 (PCS) 和数据链路层。

GCI 中的 PMA 层通过串行通道将 10 位字符从一个设备传输到另一个设备。PMA 执行的功能类似于以太网标准中物理介质相关 (PMD) 和 PMA 层的功能。其中包括电气和定时功能、均衡、时钟和数据恢复 (CDR) 以及序列化/反序列化。

电气和时序规范基于通用电气 I/O (CEI) 11G-SR 标准。但是,GCI 协议是独立的,没有定义电气和时序要求,或者可以使用其他电气标准来实现均衡。PMA 层中发生的其他特征和操作包括:

  • 连接上的两个设备必须使用相同的参考时钟源;即,计时是同步的。因为这些设备以完全相同的频率运行,所以 GCI 不引入跳跃符号来补偿时钟速率差异。
  • 每个通道的发送器将 10 位字符序列化到通道上。首先发送字符的有效位。
  • 接收器对以线速接收的单个比特进行去消毒处理,并将它们重新组合成 10 比特组。接收器包括一个时钟和数据恢复 (CDR) 电路,用于将输入比特流与内部比特时钟对齐。CDR 电路连续跟踪眼睛在接收信号中的位置。
  • PCS 子层提供的训练序列包括伪随机位序列 (PRBS),可用于 CDR 电路的训练和决策反馈均衡器(如果存在)

PCS 子层如何工作 如图 2
所示,PCS 在一个或多个串行通道上编码和传输 80 位帧。为了传输,PCS 从数据链路层接收 80 位帧并将它们转换为 PMA 层的 10 位字符。PCS 子层具有以下特点:

  • 在加扰开始之前,Tx 和 Rx 交换线性反馈移位寄存器 (LFSR) 的初始 48 位状态。
  • 然后使用 LSFR 生成的 PRBS 对每个通道进行加扰以进行传输。这为可靠的高速串行通信提供了足够的转换密度和 DC 平衡,而无需 8b/10b 编码的开销。在接收器侧,除病态情况外,解扰过程为接收器的时钟恢复以及 DC 平衡提供了足够的转换密度。
  • 在 Tx 中,加扰发生在条带化之后。在 Rx 中,解扰发生在字符对齐和去偏移之后以及通道重新排序之前。
  • GigaChip 接口连接中每个方向的通道数不需要相同。例如,专为写入为主的应用程序设计的存储设备需要的传输通道少于接收通道。
  • 条带化将每个 80 位帧分解为 10 位字符,并将它们分布在可用通道上。PCS 层将来自数据链路层的帧分割成 1、2、4 或 8 个串行通道。数据链路层不需要知道下层使用了多少条通道。在 Rx 端,PCS 通过每个训练序列的十个 0 后跟十个 1 的同步模式来识别每个通道中的字符边界。为了去条带化,每个通道的接收器独立搜索同步模式并将来自逻辑通道的 10 位字符重新组装回 80 位帧。
  • 在字符对齐之后,PCS 补偿通道之间的字符比例 (10 UI) 偏移。
  • 去偏移量是在传输任何帧之前的训练期间建立的。Deskewing 与在 PCIe 和 XAUI 协议中执行的功能类似,如下面的图 3所示 。



图 2:GCI 中的 PCS 层

GCI 数据链路层 
数据链路层代表事务层可靠地传输 72 位有效载荷。该层应用 CRC 编码和检测错误并从错误中恢复的确认/重放协议。它将错误检测和控制信息附加到有效载荷,创建一个 80 位帧。

为此,链路上的发送器计算所有传出帧的非 CRC 字段(74 位)的 6 位 CRC 代码,无论这些帧是否需要确认。CRC 代码由以下多项式 (1) 生成:

G(x) = x 6 + x +1(1)

接收器通过重新计算 CRC 位来检测传入帧中的错误。当端口的接收部分接收到良好的帧时,它会发出一个 ACK。它还通过在所有传出帧的 ACK 位中搭载该信息来坏帧,而不管传出帧本身是否可确认。当端口检测到 CRC 错误时,该端口会发送重放请求。然后源端口重播一个好帧之后的所有帧。通过这种方式,GCI 互连从每帧 CRC 代码可检测到的错误中恢复。图 3 描绘了 CRC 和 ACK 的往返路径。


图 3:CRC 校验和确认

链路上的发送器和接收器为需要确认的帧维护一个同步的 8 位帧标识符 (FID) 计数器。端口的发送器部分包括一个重放缓冲区,用于保存传出的可确认帧的副本。在端口的接收部分接收到该帧或后续帧的确认 FID 后,它可以从缓冲区的头部删除该帧。当链路承载帧时,发送器在发送每个可确认的帧时将其 FID 计数器递增 1,接收器也是如此。在图 4中可以看到通过 ACK 位串行化 FID 的过程。


图 4:确认 FID 的序列化

有效载荷的 CRC 码在有效载荷后一帧间隔到达,并且在 CRC 码到达之前无法检测到有效载荷中的错误。如果基于有效负载执行的操作会产生不可逆的影响,事务层会推迟操作,直到数据链路层验证了 CRC 代码之后。

CRC 的目的是检测错误并通过重放进行恢复。如果没有 CRC,当错误未被检测到并且内存中的状态因错误写入而损坏时,就会发生潜在的灾难性故障。这种可能性是线路速率、误码率和 CRC 的“覆盖率”的乘积。对于 80 位帧,GCI 中的 6 位 CRC 检测所有单位错误,除了 17 个 2 位错误和 1233 个 3 位错误。对于芯片到芯片链路的 SerDes 实现,所需要的只是一个连续时间线性均衡器 (CTLE) 和一个可能的轻加权决策自适应均衡器 (DFE)。这将 2 位错误的概率降低到接近 BER2,将 3 位错误的概率降低到接近 BER3。

进行 Koopman [1] 中概述的数学计算并假设非常保守的误码率 (BER) 每条通道不超过 1×10-15(1.0E-18 更有可能),未检测到的错误 (UEP) 可能是每帧 1.7E-29 (1.7 x 10-29)。10.3125 Gbps 信号的未检测错误率约为 1.6E16 (1.6 x 1016) 小时两次故障,这远低于 1 次故障时间(FIT 或 1.0E9 (109) 小时(150,000 年)超过 8 个通道。在大多数系统中, 在未检测到的错误发生之前,许多其他事情都会失败。GCI 的未来修订版可能会为非常保守或更高速率的 SerDes 选择两帧上的 CRC-12。

GCI 事务层 
GCI 没有定义事务层有效负载。事务层有效载荷的格式和含义取决于应用程序。例如,网络处理器和内存设备可能使用主从协议来传达读写命令和内存数据。或者,两个 ASIC 可能使用对等协议将长数据包流式传输给彼此。图 5 显示了一个事务层示例。


图 5:事务层示例

GCI 如何处理传输错误 
残余 PLL 抖动或量子效应都会导致随机位错误。对于 GCI,BER 保证低于 10-12,而在芯片到芯片互连的实际实现中,BER 为 10-18。相比之下,并行互连的 BER 为 10-19 [2]。

对每次操作应用短 CRC 的持续位错误缓解可确保少于 1 个及时故障 (FIT)。将系统影响与并行互连进行比较,并行内存接口通常会发现数据,从而使地址和命令可能容易受到攻击。但是,GCI 协议保护互连的所有方面,包括命令、地址、数据等。由于 GCI 将错误计数指定为其规范的一部分,因此可以定期监控错误率。万一错误计数超过谨慎水平,系统可能会选择重新训练链接。图 6 显示了使用肯定 ACK 的 CRC 错误处理示意图。


图 6:使用正 ACK 的 CRC 处理

GCI 如何在系统中执行 
因为 GCI 是不可知的,所以它可以携带映射到 72b 帧中的各种不同长度的命令。数据通过 72b 总线返回。图 7 显示了跨帧边界不受错误影响的命令。GCI 可以携带适合报头处理和数据包缓冲应用程序的短事务。与 Interlaken Look-Aside (ILA) 或 Hybrid Memory Cube (HMC) 相比,该协议对于短 9B (72b) 传输是高效的。

在数据包处理器中使用 GCI 
在过去 4 年中,GCI 已用于两代带宽引擎系列。多个支持者和用户也在基于 ASIC 和 FPGA 的系统中采用了 GCI,包括 Altera、Xilinx、Tabula、LSI 和 Avago。尽管 GCI 与 OIF CEI 11 SR 定义的标准电气层兼容,但它也可以与其他电气标准一起使用。图 7显示了包括智能串行存储器协处理器的分组处理器中 GCI 协议的关系。


图 7:使用数据包处理器和智能串行内存处理器实现的 GCI

实施后,GCI 支持差分串行链路的高带宽密度并且重量轻,8 通道仅需要 100,000 个 ASIC 门。在运行 8 个链路的当前设计实现中,每个链路以 10 Gbps 的速度运行,性能达到每秒超过 10 亿次 72b 传输,效率为 90%。该协议包含 PRBS 加扰编码、固定 80b 帧,并提供 8 条通道 @ 10Gbps 和 1 ns 延迟。

GCI 在 1、2、4、8 和 16 车道配置中具有高度可扩展性,并可根据 OIF 路线图进行扩展。通过使用内置帧重放机制实现每帧 6b CRC,它在传输的 1025 帧中实现了少于 1 个未检测到的错误。换句话说,GCI 在 10 亿小时(运行 150,000 年)内实现了少于 1 个 FIT 或 1 个未检测到的错误的可靠性。

结论 
在将命令传输到协处理器和控制内存时,可靠性至关重要。数据中的任何损坏都可能导致状态丢失。理想的接口使用支持端到端数据保护的可靠的芯片到芯片传输协议。该协议必须与有效载荷无关,并且在发生位故障时可以恢复。

这对于支持具有更高抽象级别的事务很重要。将来,预计会有更别的功能来支持长前缀匹配和间接数据结构访问。该协议还必须能够有效地传输小型事务(例如结构指针值)以及用于数据包缓冲的大型事务。该协议必须提供低延迟,因为这会直接影响系统延迟的多少以及在提交事务之前完成了多少推测工作。GCI 协议符合所有这些标准。

Michael Miller是MoSys 的技术创新和系统设计副总裁。此前,他是 Integrated Device Technology, Inc. 系统架构的技术官。他还在网络内存、RISC 处理器和通信 IC 的软件、应用程序和产品定义方面担任工程管理职位,为 IDT 服务超过 20 年。他还管理过两家系统公司的软件团队,并在 Advanced Micro Devices 负责逻辑设计和应用程序功能。他拥有位于圣路易斯奥比斯波的加州理工州立大学计算机科学学士学位,迄今为止已获得 30 项。

关键词:内存

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!