深入了解UCIe协议

科技   2024-11-25 12:06   陕西  

在量子计算芯片出来之前,个人认为芯片技术未来两个重点的发展方向是:存算一体和Chiplet。这也是几年前我都判断,如今这两个领域也非常火热。一直没有时间深入的了解Chiplet,最近刚好有时间学习这方面的知识,同时总结一下。

Chiplet设计到封装的知识,可以先看一下我之前的文章:深入了解芯片封装技术。

  1. 芯片的互联层级

多个芯片之间的互联有多种形式,最常见的一块板块上很多芯片之间的互联。也有服务器的各个GPU直接互联,还有最近火热的Chiplet,也就是片内Die-to-Die的

芯片互联层级按照距离和互联方式可以分为以下几个主要层级:

  1. 片内封装级互联(Die-to-Die)

    1. 距离小于2mm。通常指的是芯片内部的封装技术,如多芯片模块(MCM)或3D堆叠技术,这些技术允许在非常小的距离内实现高速的芯片间通信。带宽TB/s级别,延时ns级别。

  2. 芯片互联(Chip-to-Chip)

    1. 距离小于20mm。这通常指的是同一封装内或相邻封装的芯片之间的连接,例如通过硅通孔(TSV)技术实现的芯片间直接连接。带宽100GB/s级别,延时10ns级别。

  3. 板卡/模块级互联

    1. 距离小于1m。指的是在电路板或模块级别上的芯片互联,这可能包括使用PCB(印刷电路板)上的走线或高速串行接口(如PCIe)来连接芯片。带宽10GB/s级别,延时100ns级别。

  4. 机架间/机架内互联

    1. 距离大于1m。这涉及到服务器机架内或不同机架之间的芯片互联,通常使用更长的电缆和高速网络接口,如Infiniband或以太网,来实现跨机架的通信。带宽100GB/s以内,延时ms级别。

这些互联方式,由内到外,由近到远,互相带宽逐渐减少,延迟逐渐增大。

在学习一个互相方式的时候,要先搞清楚她是哪个层级的协议。UCIe就是一个Die-to-Die的互相协议。主要是为了Chiplet技术制定的标准协议。下文中Die-to-Die就等同于Chiplet互联。

  1. UCIe产生的背景

Die-to-Die接口的两种形态:

  • 串行接口(如XSR):具有高数据速率、高延迟、较高功耗和低密度布线的特点,通常使用有机衬底。这种就是类SerDes结构。

  • 并行接口(如AIB、BoW、Open HBI):具有低数据速率、低延迟、较低功耗和高密度布线的特点。这种就是类DDR结构。

在Die-to-Die互联的发展的早期,各个公司和组织,分别根据自己公司的积累和需要开发了各自的,不同层级的协议,比如:

  • Optical Interface Forum (OIF) – 针对晶粒间连接而优化的 XSR 和 USR 物理层规范

  • Chips Alliance – 最初由英特尔推出的 AIB 规范

  • Open Compute Platform (OCP) – 针对不同用例而优化的 OpenHBI 和 Bunch-of-Wires (BOW) 规范

现有的一些协议对比如下:

各自协议之间的互不兼容,只能解决Chiplet的部分问题。业界急需一个统一的,全栈的Chiplet互联标准。在这种情况下,UCIe应运而生。

UCIe(Universal Chiplet Interconnect Express)是一个由Intel牵头,联合AMD、ARM、Meta、Microsoft、Qualcomm、Samsung、ASE、TSMC、Google Cloud等十大产业巨头共同参与制定的开放性行业标准。该标准旨在为Chiplet技术提供一个通用的、可互操作的高速互联解决方案,以促进不同厂商生产的Chiplet之间的互连互通。

2022年3月2日,这些产业巨头联合宣布成立行业联盟,共同推动UCIe标准的制定和开放生态的建设,并正式发布了UCIe标准1.0版本。这一标准的推出,旨在解决Chiplet技术在封装内连接的标准化问题,推动了异构集成技术的发展,并有助于降低成本、提升性能。

  1. UCIe协议简介

UCIe™(Universal Chiplet Interconnect Express)是一个开放规范,它定义了封装内芯片之间的互连,从而实现开放的芯片生态系统以及在封装级别的无处不在的互连。

初始重点:

  • 物理层:具有行业领先的性能指标的芯片间输入/输出

  • 协议:短期内用于大量连接的CXL/PCIe

  • 明确定义的规范:确保互操作性和演进

未来目标:

  • 其他协议

  • 先进的芯片形态

  • 芯片管理

(这段描述来自UCIe官方网站,应该是最权威的资料了:https://www.uciexpress.org/why-choose-us)

UCIe是一个分层协议,每一层执行一组不同的功能。下图展示了UCIe协议栈的三个主要部分以及各层之间的功能划分。UCIe协议栈中的每个组件都需要能够支持其所宣称的功能和带宽。

UCIe 规范分为三个堆栈层:物理层、晶粒间适配器层和协议层。协议层和适配层之间的接口是FDI,适配层和物理层之间的接口是RDI。

3.1 协议层

虽然协议层可能因应用程序而异,但UCIe规范提供了在UCIe链路上传输CXL或PCIe协议的示例。UCIe支持以下协议以实现不同的应用场景:

  • 根据PCI Express基础规范定义的PCIe 6.0 Flit模式。

  • 根据Compute Express Link规范定义的CXL 2.0及更高版本的协议。

  • 流协议:此协议提供了通用模式,用于通过UCIe传输用户定义的协议。

对于每种协议,都提供了不同的优化和相关的Flit传输方式,以便在UCIe上进行传输。它们是基于 Flit 的协议,可提供最高效率和更低的延迟。由于要支持Flit模式,比较老的版本,比如PCIe5.0就不支持。

3.2 D2D适配层

晶粒间适配器层是将任何协议连接到 UCIe PHY 层的中间层。晶粒间适配器层管理链路本身。在链路初始化时,它会等待 PHY 完成链路初始化,包括校准、测试和修复,此时会启动两个晶粒的发现功能。它会商定将使用哪个协议(如果实施了多个协议)来移交给任务模式活动的协议层。

Die-to-Die Adapter(D2D Adapter)负责以下任务:

  • 可靠的数据传输(在适用时执行CRC计算和重试,或奇偶校验计算)

  • 仲裁和复用(在存在多个协议层的情况下)

  • 链路状态管理

  • 与远程链路伙伴进行协议和参数协商。

晶粒间适配器层和协议层之间的接口称为 FLIT 感知晶粒间接口 (FDI),是一种基于 FLIT 的接口。为了适应不同的协议,它支持各种 FLIT 模式:

  • CXL3 256B 标准 FLIT 模式

  • CXL3 256B 延迟优化 FLIT 模式

  • PCIe6 256B FLIT 模式

  • CXL2 68B 增强型 FLIT 模式

  • 流式传输 64B 原始模式

UCIe 还定义了 CXL 协议和 PCI Express 协议的原始模式。这些模式适用于 UCIe 流量在光纤链路上运行时的重定时器应用。在重定时器模式下,延迟和错误率不由 UCIe 链路本身定义,并且假设协议层将处理所有纠错机制,包括 CRC、重试和可能的 FEC。晶粒间适配器层不会将 CRC 代码添加到协议 FLIT 中,也不会检查是否出错或在接收器上应用重试机制。

UCIe 支持多个协议层架在统一 Adapter 上,每一个协议层都通过一组标准的 FDI 接口与Adapter 相连,通过 Adapter 中的 Arb/Mux 实现多个协议层的分时复用:

3.3 物理层

物理层是封装介质的电气接口。它包括电气 AFE(发射器、接收器)以及边带信道,可实现两个晶粒之间的参数交换和协商。它还包括可实现链路初始化、训练和校准算法以及测试和修复功能的逻辑 PHY。物理层有三个子组件,如下图所示:

UCIe的物理层数据主要路径在物理凸点上被组织成称为“模块”(Module)的一组通道(Lanes)。一个模块构成了UCIe模拟前端(AFE)结构设计实现的原子粒度。UCIe 将模块定义为最小的接口单元。每个模块包括一个主带“总线”,最多 64 个用于先进封装(或 16 个用于标准封装)的发送和接收 IO、时钟转发 IO、一个有效(成帧)和跟踪 IO。边带“总线”也如下图所示:

UCIe 接口使用时钟转发和单端、低电压 DDR 信号来提高能耗效率。通过在 PHY 级别扰乱数据,可以减少电源干扰。与其他技术(如 DBI)相反,数据扰乱不会影响带宽效率。由于时钟与数据并行转发,接收器数据恢复大大简化,从而实现了更多的功耗节省和延迟缩短。

为减少先进封装组件中由于 ubump 质量导致的良率损失,UCIe 提供依赖于 6 个冗余引脚(用于 TX 和 RX 数据、时钟、有效和跟踪)和 2 个冗余引脚(用于边带 TX 和 RX)的测试和修复机制。这是UCIe区别其他物理层协议的一个功能。

由于 C4(或铜柱凸块)凸点良率和完整封装过程良率非常高,因此 UCIe 不为标准封装实施引脚冗余。对于这些封装,UCIe 支持“降级”操作模式,在另一半检测到故障后,只有一半模块处于活跃状态。

测试和修复流程在链路初始化时实施。PHY 测试每个晶粒连接以确定是否存在任何故障。如果发生故障,相应的信号将重新路由到冗余引脚,如下图所示:

UCIe支持标准封装和先进封装,他们的区别只在电气层面上可见,并且不影响上层协议。这些差异源于标准封装 (110u) 与先进封装 (45u) 所需的明显更大的最小凸块间距,以及源于需要在标准封装中支持更长的信道距离以增加灵活性。

先进封装和标准封装的 UCIe 规范之间的主要差异如下表所示:

UCIe PHY 变体先进封装标准封装
数据速率16Gbps16Gbps
每个模块的 TX/RX 引脚6416
冗余 (T&R)
总带宽(双向)4Tbps1Tbps
带宽效率(总)5.2Tbps/mm0.9Tbps/mm
能效0.3pJ/bit0.5pJ/bit
延迟 TX+RX12 UI12 UI
BER< 1e-15< 1e-27
凸块间距45um110um
信道距离> 2mm> 10mm
低功耗模式空闲模式空闲模式
终端 RX50 欧姆
信号摆幅0.4V0.4V


这些要求,特别是能效这些指标,其实要求是非常高的,只有这样才能满足高带宽低功耗的需求。

  1. 总结

随着芯片间互联技术的进步,相信未来的芯片主流技术将慢慢从单个大而全的SoC芯片转到Chiplet芯片,在封装级通过小芯片组成大SoC的功能,同时性能接近。这是一个非常美好和具有商业价值的前景。

如下面的SoC,就通过封装技术结合UCIe来实现一个封装级的SoC:

UCIe规范为多芯片粒(Chiplet)SoC设计者提供了强大的性能优势,包括卓越的能效(pJ/b)、边缘使用效率(Tbps/mm)和低延迟(ns)。它不仅支持目前最流行的IO协议,还支持用户自定义的任何协议,并且与多种封装技术——从有机基板到先进的硅中介层——都兼容。此外,UCIe规范还全面覆盖了接口的关键方面,包括初始化、边带、协议、测试与修复、纠错等。所以UCIe在最开始就考虑到比较全面,而且是一个全栈协议。随着加入的公司越来越多,相信UCIe规范以后会成为Chiplet的标准。


——————————————————————————————

版权声明:

本文作者:烓围玮未。主要从事ISP/MIPI/SOC/车规芯片设计/SOC架构设计

知乎专栏:芯片设计进阶之路

微信公众号:芯片设计进阶之路(x_chip)

转发必须授权,同时保留这段声明,盗版必究!

——————————————————————————————

*免责声明:本文由作者原创。文章内容参考UCIe协议1.0版本,路科验证转载仅为了传达一种不同的观点,不代表路科验证对该观点赞同或支持,如果有任何异议,欢迎联系路科验证。


路科验证
专注于数字芯片验证的系统思想和前沿工程领域。
 最新文章