Eloudy头像

全文 - 第 01 章 - UCIe 3.0

第一章 引言

1.0 简介

本章提供通用芯粒互连快通道(Universal Chiplet Interconnect express,UCIe)架构的概述。

UCIe 是一种开放的、支持多协议的、用于在同一封装内连接多个芯片的片上互连标准。其主要动机是建立一个充满活力的生态系统,支持可通过 UCIe 互连的分解式芯片架构。UCIe 在通用的物理层和链路层之上支持多种协议(PCIe、CXL、流式传输协议,以及可用于映射任何双方均支持的协议的原始格式)。它涵盖了 SoC 构建所需的要素,例如应用层,以及与封装相关的封装形式(例如,凸点位置、供电、散热方案等)。

UCIe 可管理架构是一种可选机制,用于通过提供通用的可管理架构以及可在不同实现中复用的硬件/软件基础设施,来管理基于 UCIe 的系统级封装(SiP)。UCIe DFx 架构(UDA)利用 UCIe 可管理架构,为基于 UCIe 的 SiP 提供标准化的测试和调试基础设施。

本规范的定义旨在确保具有不同性能特性的广泛设备之间的互操作性。为确保互操作性,提供了定义完善的调试和合规机制。预计本规范将以向后兼容的方式演进。

虽然 UCIe 支持广泛的用例模型,但此处提供一些示例以说明它能够在计算行业中释放的能力和创新能力。最初映射到 UCIe 的协议是 PCIe、CXL 和流式传输协议。所有协议的映射均使用微片格式(Flit Format),包括原始格式(Raw Format)。PCIe 和 CXL 均被广泛使用,这些协议映射将通过用 UCIe 适配器和 PHY 取代 PCIe SERDES PHY 以及 PCIe/CXL 逻辑 PHY 和链路级重传(Link level Retry),来实现更多片上集成,从而改善功耗和性能特性。UCIe 还允许流式传输协议利用 UCIe 适配器的链路级重传,这可用于为 PCIe 或 CXL 以外的协议提供可靠传输。UCIe 还支持协议无关的原始格式,以允许映射其他协议;同时允许在封装上集成独立的串行器/解串器(SERDES)/收发器裸片(例如以太网)等用途。使用原始格式时,协议层负责跨 UCIe 链路的可靠传输。

图 1-1 展示了一个由通过 UCIe 连接的 CPU 裸片、加速器裸片和 I/O 瓦片裸片组成的 SoC 封装。当加速器或 I/O 瓦片连接到 CPU 时,可以通过 UCIe 使用 CXL 事务——利用 CXL 的 I/O、一致性和内存协议。I/O 瓦片可以提供封装的外部 CXL、PCIe 和 DDR 引脚。加速器在连接到 CPU 时也可以通过 UCIe 使用 PCIe 事务。片上 CPU 到 CPU 的连接也可以使用 UCIe 互连,运行一致性协议。


在这里插入图片描述

图 1-1. 由通过 UCIe 连接的 CPU 裸片、加速器裸片和 I/O 瓦片裸片组成的封装


UCIe 重定时器(Retimer)可用于通过片外互连(Off-Package Interconnect)扩展 UCIe 连接范围。片外互连的示例包括电缆、光缆或任何其他用于在机架/节点级别连接封装的技术,如图 1-2 所示。UCIe 规范要求 UCIe 重定时器对其本地封装上所连接裸片实现 UCIe 接口,并确保使用其选择的通道扩展技术,按照 UCIe 协议将微片(Flits)传送到独立封装中的远端 UCIe 裸片接口。

图 1-2 展示了使用 CXL 协议的机架/节点级分解示例。图 1-2a 展示了机架级视图,其中来自不同计算机箱的多个计算节点(虚拟层次结构)连接到 CXL 交换机,该交换机连接到多个可放置在一个或多个独立抽屉中的 CXL 加速器/Type-3 内存设备。图 1-2b 展示了此连接的逻辑视图,其中每个“主机”(H1、H2……)都是一个计算抽屉。如图 1-2c 所示,每个计算抽屉通过 UCIe 重定时器使用运行 CXL 协议的片外互连连接到交换机。交换机还具有共封装重定时器,其中重定时器瓦片通过 UCIe 连接到主交换机裸片,另一侧是用于连接加速器/内存设备的 PCIe/CXL 物理互连,如图 1-2c 所示。


在这里插入图片描述

图 1-2. UCIe 实现机架/节点级的长距离连接


UCIe 允许三种不同的封装选项:标准封装(Standard Package,2D)、先进封装(Advanced Package,2.5D)和 UCIe-3D。这涵盖了从最低成本到最佳性能互连的整个范围。

1. 标准封装——这种封装技术用于低成本和长距离(从一颗裸片上的凸点到远端裸片上的连接凸点测量为 10 mm 至 25 mm)互连,使用有机封装/基板上的走线,同时仍提供比片外 SERDES 显著更好的误码率(BER)特性。图 1-3 展示了使用标准封装选项的示例应用。表 1-1 总结了 UCIe 标准封装选项的特性。


在这里插入图片描述

图 1-3. 标准封装接口


表 1-1. UCIe 标准封装特性

指标数值
支持速率(每通道)4 GT/s、8 GT/s、12 GT/s、16 GT/s、24 GT/s、32 GT/s、48 GT/s、64 GT/s
凸点间距(Bump Pitch)100 μm 至 130 μm
通道距离(短距离)10 mm
通道距离(长距离)25 mm
原始误码率(BER)a1E-27(<= 8 GT/s)
1E-15(<= 48 GT/s 且 >= 12 GT/s)
1E-12(> 48 GT/s)

a. 有关 BER 特性的详细信息,请参见第 5.0 章。

2. 先进封装——这种封装技术用于性能优化应用。因此,通道距离较短(从一颗裸片上的凸点到远端裸片上的连接凸点测量小于 2 mm),并且互连预计针对高带宽和低延迟进行优化,具有最佳性能和功耗效率特性。图 1-4、图 1-5 和图 1-6 展示了使用先进封装选项的示例应用。

表 1-2 总结了先进封装选项的主要特性。

表 1-2. UCIe 先进封装特性

指标数值
支持速率(每通道)4 GT/s、8 GT/s、12 GT/s、16 GT/s、24 GT/s、32 GT/s、48 GT/s、64 GT/s
凸点间距(Bump pitch)25 μm 至 55 μm
通道距离2 mm
原始误码率(BER)a1E-27(<= 12 GT/s)
1E-15(<= 48 GT/s 且 >= 16 GT/s)
1E-12(> 48 GT/s)

a. 有关 BER 特性的详细信息,请参见第 5.0 章。


图 1-4. 先进封装接口:示例 1

图 1-5. 先进封装接口:示例 2

图 1-6. 先进封装接口:示例 3
在这里插入图片描述


3. UCIe-3D:这种封装技术使用二维互连凸点阵列,在相互堆叠的裸片之间传输数据。规范提供了一系列设计选项菜单,供供应商开发标准构建模块。

表 1-3 总结了 UCIe-3D 的主要特性。图 1-7 展示了 UCIe-3D 的示例。有关 UCIe-3D 的详细描述,请参见第 6.0 章。

表 1-3. UCIe-3D 特性

指标数值
支持速率(每通道)最高 4 GT/s
凸点间距< 10 μm(优化a)
10 至 25 μm(功能a)
通道3D 垂直
原始误码率(BER)b1e-27

a. 电路架构针对 < 10 μm 凸点间距进行了优化。10 至 25 μm 在功能上受支持。
b. 有关 BER 特性的详细信息,请参见第 6.0 章。


在这里插入图片描述

图 1-7. UCIe-3D 示例


1.1 UCIe 组件

UCIe 是一种分层协议,每层执行一组不同的功能。图 1-8 展示了 UCIe 协议栈的三个主要组件以及各层之间的功能划分。要求 UCIe 协议栈中的每个组件都能够支持所宣传的功能和带宽。为不同的握手和状态转换定义了多个超时值和相关错误。除非另有明确说明,否则所有指定的超时值均为负 0% 到正 50%。所有超时值必须在域复位(Domain Reset)后设置为指定值。所有计数值必须在域复位后设置为指定值。


在这里插入图片描述

图 1-8. UCIe 各层及功能

层级功能
协议层
Flit 感知 D2D 接口(FDI)
裸片到裸片适配器(Die-to-Die Adapter)ARB/MUX(如适用)
CRC/Retry(如适用)
链路状态管理
参数协商
原始 D2D 接口(RDI)
物理层链路训练
通道修复(如适用)
通道反转(如适用)
加扰/解扰
边带初始化和传输
模拟前端
时钟转发

1.1.1 协议层

虽然协议层可能是特定于应用的,但 UCIe 规范提供了通过 UCIe 链路传输 CXL 或 PCIe 协议的示例。UCIe 支持以下协议以实现不同的应用:

  • PCIe:来自 PCIe 基础规范。
  • CXL:来自 CXL 规范。请注意,不支持 RCD/RCH/eRCD/eRCH。
  • 流式传输协议:提供通用模式,用于使用 UCIe 传输用户定义的协议。
  • UCIe 管理传输协议:这是在 UCIe 可管理架构内,用于 UCIe 管理网络上管理通信的端到端介质无关协议。

对于每种协议,UCIe 提供了不同的优化和相关的微片传输以进行传输。第 2.0 章和第 3.0 章涵盖了不同模式和微片格式的相关细节。

1.1.2 裸片到裸片(D2D)适配器

D2D 适配器与协议层和物理层协调,以确保跨 UCIe 链路成功传输数据。它尽可能减少主数据路径上的逻辑,从而为协议微片提供低延迟、优化的数据路径。在传输 CXL 协议时,D2D 适配器执行多协议同时传输所需的 ARB/MUX 功能。

对于原始误码率(Raw BER)大于 1e-27 的选项,UCIe 规范为 PCIe、CXL 或流式传输协议提供了 CRC 和重传方案,该方案在 D2D 适配器中实现。有关重传规则的详细信息,请参见第 3.8 节。

D2D 适配器负责协调更高级别的链路状态机和启动、与远端链路伙伴进行协议选项相关的参数交换,以及在支持的情况下与远端链路伙伴进行功耗管理协调。第 3.0 章涵盖了 D2D 适配器的相关细节。

1.1.3 物理层

物理层有三个子组件,如图 1-9 所示。


在这里插入图片描述

图 1-9. 物理层组件

子组件功能
PHY 逻辑链路训练
通道修复(如适用)
通道反转(如适用)
加扰/解扰
边带初始化和传输
边带/全局模拟前端
时钟转发
电气/模拟前端(AFE)[k 个切片]

UCIe 物理凸点上的主数据路径被组织成一组称为模块(Module)的通道(Lane)。模块是 UCIe 模拟前端(AFE)结构设计实现的原子粒度。标准封装和先进封装中每个模块的通道数在第 4.0 章中指定。在需要带宽扩展的情况下,给定的协议层或 D2D 适配器实例可以通过多个模块发送数据。

UCIe 的物理链路由两种类型的连接组成:

1. 边带(Sideband):
此连接用于参数交换、用于调试/合规的寄存器访问,以及与远端伙伴协调进行链路训练和管理。每个方向包含一个转发时钟引脚和一个数据引脚。无论主带数据速率如何,时钟固定为 800 MHz。UCIe 物理层的边带逻辑必须位于辅助电源和“始终开启”域上。每个模块都有自己的一组边带引脚。

对于先进封装选项,提供了冗余的一对时钟和数据引脚(每个方向)用于修复。

2. 主带(Mainband):
此连接构成 UCIe 的主数据路径。它包含一个转发时钟、一个数据有效引脚、一个跟踪引脚,以及每个模块的 N 个数据通道。

  • 对于先进封装选项,N=64(也称为 x64)或 N=32(也称为 x32),并且在凸点图中总共提供了四个额外的引脚用于通道修复。
  • 对于标准封装选项,N=16(也称为 x16)或 N=8(也称为 x8),并且不提供用于修复的额外引脚。

逻辑物理层协调不同功能及其相对顺序,以实现正确的链路启动和管理(例如,边带传输、主带训练和修复等)。第 4.0 章和第 5.0 章涵盖了物理层操作的详细信息。

1.1.4 接口

UCIe 在第 10.0 章中定义了物理层和 D2D 适配器之间的接口(原始 D2D 接口,RDI),以及 D2D 适配器和协议层之间的接口(Flit 感知 D2D 接口,FDI)。还提供了一组参考信号列表,以涵盖 SoC 和 UCIe 协议栈之间管理传输协议的交互和规则。

这样做的动机有两方面:

  • 允许供应商和 SoC 构建者以低集成成本和更快上市时间,轻松混合和匹配来自不同 IP 提供商的不同层。(例如,使协议层与来自任何符合 UCIe 规范提供的接口握手规则的不同供应商的 D2D 适配器和物理层协同工作。)
  • 鉴于后硅片期间的互操作测试具有更大的开销和成本,对总线功能模型(BFM)的一致理解和开发可以使该协议栈的 IP 开发更加容易。

1.2 UCIe 配置

本节描述了 UCIe 操作允许的不同配置和排列组合。

1.2.1 单模块配置

单模块配置在先进封装中是 x64 或 x32 数据接口,如图 1-10 所示。单模块配置在标准封装中是 x16 或 x8 数据接口,如图 1-11 所示。x8 标准封装模块仅允许用于单模块配置,主要用于预键合测试目的。在单模块配置的多个实例中,如果每个模块都有自己的专用适配器,则它们独立运行(例如,它们可以以不同的数据速率和宽度传输数据)。


在这里插入图片描述

图 1-10. 单模块配置:先进封装
在这里插入图片描述

图 1-11. 单模块配置:标准封装


1.2.2 多模块配置

本规范允许双模块和四模块配置。当使用公共适配器运行时,双模块和四模块配置中的模块必须以相同的数据速率和宽度运行。图 1-12 至图 1-14 展示了双模块和四模块配置的示例。


在这里插入图片描述

图 1-12. 标准封装双模块配置

图 1-13. 标准封装四模块配置
在这里插入图片描述

图 1-14. 先进封装双模块配置示例


1.2.3 仅边带配置

允许标准封装 UCIe 仅边带配置,用于测试或可管理性目的。这可以是同一 UCIe 仅边带链路的一部分,具有一、二或四个仅边带端口。图 1-15、图 1-16 和图 1-17 展示了这些配置的示例。有关更多详细信息,请参见第 5.7.4 节。


在这里插入图片描述

图 1-15. 单端口仅边带链路

图 1-16. 双端口仅边带链路
在这里插入图片描述

图 1-17. 四端口仅边带链路


1.3 UCIe 重定时器

如前所述,UCIe 重定时器用于启用不同类型的片外互连,以扩展不同封装上两个 UCIe 裸片之间的通道距离。每个 UCIe 重定时器都有一个本地 UCIe 链路连接到其封装上的 UCIe 裸片,以及一个用于更长距离的外部连接。图 1-18 展示了利用 UCIe 重定时器实现 UCIe 裸片 0 和 UCIe 裸片 1 之间片外互连的系统高级框图。UCIe 重定时器 0 和 UCIe 裸片 0 通过封装 0 内的 UCIe 链路 0 连接。UCIe 重定时器 1 和 UCIe 裸片 1 通过封装 1 内的 UCIe 链路 1 连接。“远端重定时器伙伴”(remote Retimer partner)这一术语用于指代连接到片外互连远端的 UCIe 重定时器裸片。


在这里插入图片描述

图 1-18. UCIe 重定时器连接框图


UCIe 重定时器的职责包括:

  • 跨片外互连的可靠微片传输。可通过以下三种选项实现:

    • 重定时器允许使用其承载协议(例如 PCIe 或 CXL)的底层规范原生定义的前向纠错(FEC)和循环冗余校验(CRC),只要外部互连符合其传输协议对应规范的底层错误模型(例如 BER 和错误相关性)。UCIe 链路将设置为使用原始格式来隧道传输其承载协议(例如 PCIe 或 CXL 微片)的原生位。在这种情况下,必须调整 UCIe 裸片上的队列大小(协议层缓冲区)以满足底层往返延迟。
    • 重定时器允许提供必要的前向纠错(FEC)、循环冗余校验(CRC)和重传(Retry)能力,以应对片外互连的误码率(BER)。在这种情况下,微片经过三个独立的链路;每个 UCIe 重定时器与其封装内的 UCIe 裸片执行独立的 ACK/NAK 重传,并与远端重定时器伙伴执行单独独立的 ACK/NAK 重传。对于此场景,协议允许使用任何适用的微片格式通过 UCIe 链路传输。
    • 重定时器通过替换原生 PCIe 或 CXL 定义的 FEC 来提供自己的 FEC,或在其基础上增加自己的 FEC,但利用底层协议内置的 CRC 和重放(Replay)机制。在这种情况下,必须调整 UCIe 裸片上的队列大小(协议层缓冲区、重传缓冲区)以满足底层往返延迟。
  • 与远端重定时器伙伴协商链路参数和协议参数,以确保 UCIe 裸片之间的端到端(E2E)互操作性。例如,允许重定时器在图 1-18 中的封装 0 和封装 1 上强制使用相同的链路宽度、速度、协议(包括任何相关协议特定参数)和微片格式。跨片外互连进行参数交换的消息传输的具体机制是重定时器实现特定的,它们必须确保考虑到自身能力以及封装 0 和封装 1 上 UCIe 裸片能力的一致操作模式。然而,为了 UCIe 链路的鲁棒性,避免在外部互连需要更长时间建立链路或与远端重定时器伙伴协商参数的情况下出现不必要的超时,UCIe 规范定义了针对可能延迟的相关边带消息的“Stall”响应。重定时器必须在 UCIe 规范的规则内以“Stall”响应进行回复,以避免在等待或与远端重定时器伙伴协商时出现此类不必要的超时。确保 UCIe 链路不会无限期停顿是重定时器的责任。

  • 解析适配器链路状态机(LSM)或 RDI 状态的链路状态,并与远端重定时器伙伴协调,以确保正确的端到端操作。有关更多详细信息,请参见第 3.0 章。

  • 流控和背压:

    • 从 UCIe 裸片传输到 UCIe 重定时器的数据使用信用(credits)进行流控。这些信用是在任何底层协议信用机制(例如 PCIe 中的 PH、PD 信用)之上的。这些 UCIe D2D 信用必须用于跨两个 UCIe 重定时器的流控,并且传输到 UCIe 重定时器的任何数据最终必须由远端 UCIe 裸片消耗,而无需任何其他依赖。每个 UCIe 重定时器必须为其从封装内 UCIe 裸片接收的微片实现接收缓冲区。接收缓冲区信用在 D2D 适配器的初始参数交换期间向 UCIe 裸片公布,如果没有信用,UCIe 裸片不得向 UCIe 重定时器发送任何数据。一个信用对应 256B 的数据(包括任何 FEC、CRC 等)。信用返回通过有效帧(Valid framing)重载(参见第 4.1.2 节)。每当 RDI 状态从 Active 状态转换时,UCIe 裸片上的信用计数器将重新分配为其初始公布值。UCIe 重定时器必须在重新进入 Active 状态之前排空或转储(视情况而定)其接收缓冲区中的数据。
    • 从 UCIe 重定时器传输到 UCIe 裸片的数据在 D2D 适配器级别不进行流控。如果需要,UCIe 重定时器可能与其他 UCIe 重定时器有独立的流控,这超出了本规范的范围。

1.4 UCIe 关键性能目标

表 1-4 总结了 UCIe 先进封装和标准封装配置的性能目标。表 1-5 总结了 UCIe-3D 的性能目标。

表 1-4. UCIe 2D 和 2.5D 关键性能目标

链路速度/电压指标先进封装 (x64) 裸片边缘带宽密度a (GB/s/mm)标准封装 裸片边缘带宽密度a (GB/s/mm)
4 GT/s16528
8 GT/s32956
12 GT/s49484
16 GT/s658112
24 GT/s988168
32 GT/s1317224
48 GT/s1975278b
64 GT/s2634370b
0.7 V (供电电压)能效c (pJ/bit)0.5 (<= 12 GT/s)
0.6 (>= 16 GT/s)
0.5 (4 GT/s)
1.0 (<= 16 GT/s)
1.25 (>= 24 GT/s)
0.5 V (供电电压)能效c (pJ/bit)0.25 (<= 12 GT/s)
0.3 (>= 16 GT/s 且 <= 32 GT/s)
0.75 (>= 32 GT/s)
0.5 (>= 48 GT/s)
-
延迟目标d<= 2ns

a. 裸片边缘带宽密度定义为每毫米硅裸片边缘的总 I/O 带宽(GB/s),先进封装为 45 μm、标准封装为 110 μm 的凸点间距。对于 x32 先进封装模块,裸片边缘带宽密度是 x64 对应值的 50%。
b. 标准封装在 48 GT/s 和 64 GT/s 时的裸片边缘带宽密度分别小于 24 GT/s 和 32 GT/s 时的 2 倍。这是由于更高的数据速率需要增加裸片边缘以改善信号完整性。未来版本的规范将考虑解决此问题。
c. 能效(每位从 FDI 到凸点再回到 FDI 遍历所消耗的能量)包括所有适配器和物理层相关电路,包括但不限于发送器(Tx)、接收器(Rx)、PLL、时钟分配等。通道距离和端接在第 5.0 章中讨论。
d. 延迟包括发送和接收时适配器和物理层的延迟(FDI 到凸点延迟)。有关物理层延迟的详细信息,请参见第 5.0 章。延迟目标基于 16 GT/s。其他数据速率下的延迟可能因数据累积和传输时间等数据速率相关因素而有所不同。请注意,延迟目标不包括处理所需的位累积;无论是微片内还是跨微片。

表 1-5. UCIe-3D 关键性能目标

指标链路速度/电压UCIe-3D
带宽密度 (GB/s/mm²)4 GT/s4000
能效b (pJ/bit)0.65 V (供电电压)0.05
延迟目标c<= 125 ps

a. 带宽密度针对 9 μm 凸点间距提供。
b. 能效(每位消耗的能量)包括所有发送器(Tx)、接收器(Rx)、PLL、时钟分配等。
c. 延迟包括发送和接收时的延迟。

1.5 互操作性

封装设计者需要确保封装上连接的裸片能够互操作。这包括兼容的封装互连(例如先进封装与标准封装)、协议、电压电平等。强烈建议裸片采用小于 0.85 V 的发送器电压,以便该裸片在可预见的未来能够与广泛的工艺节点互操作。

本规范涵盖了先进封装选项中广泛凸点间距的互操作性。预计随着时间的推移,较小的凸点间距将成为主流。随着凸点间距变小,我们预计设计将降低最大宣传数据速率(即使它们可以达到 64 GT/s),以优化面积并解决高带宽与减小面积带来的供电和散热限制。表 1-6 总结了这四组中的凸点间距。基于第 5.0 章中指定的 PHY 尺寸,每组内以及跨组之间都保证互操作性。表 1-4 中提供的性能目标基于 45 μm 凸点间距。

表 1-6. 不同先进封装凸点间距的分组

凸点间距 (μm)最小数据速率 (GT/s)预期最大数据速率 (GT/s)
第 1 组:25 - 30424
第 2 组:31 - 37432
第 3 组:38 - 44448
第 4 组:45 - 55464

不同裸片边缘尺寸的标准封装实现之间的互操作性(例如,最大数据速率为 64 GT/s 的实现连接到最大数据速率为 32 GT/s 的实现)将需要封装中的最小裸片间隙,以确保有足够的空间用于单个通道连接以调整裸片边缘差异。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/eloudy/article/details/167812043

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--