UCIE协议1.0(一)--中文翻译版

1.0 Introduction


本章概述了通用芯片互连表达(UCIe)架构。UCIe是一种开放的、多协议能力的封装内互连标准,用于连接同一封装中的多个芯片。其主要动机是支持多样化的解聚芯片架构,并使用UCIe进行互连。UCIe在共同的物理层和链路层之上支持多个协议(PCIe、CXL和原始模式,可以用于映射任何选择的协议,只要两端都支持该协议)。它包含了SoC构建所需的元素,如应用层,以及与封装相关的形式因素(例如,焊球位置、电源传递、热解决方案等)。该规范被定义为确保在具有不同性能特征的各种设备之间实现互操作性。提供了明确定义的调试和合规机制,以确保互操作性。预计该规范将以向后兼容的方式进行演进。

虽然UCIe支持广泛的使用模型,但这里提供一些示例,以展示它在计算行业中所能释放的能力和创新。最初映射到UCIe的协议是PCIe和CXL。所有协议的映射都使用Flit格式进行,包括原始模式。PCIe和CXL都被广泛使用,这些协议映射将通过替换PCIe SERDES PHY和PCIe/CXL LogPHY以及链路级重试,使用UCIe适配器和PHY来提高功耗和性能特性,从而实现更多的封装内集成。UCIe还支持原始模式,该模式与协议无关,可以映射其他协议;同时允许集成独立的SERDES/收发器块(例如以太网)在封装内使用。

图1展示了一个由CPU芯片、加速器芯片和I/O Tile芯片通过UCIe连接而成的SoC封装。加速器或I/O Tile可以使用在UCIe上运行的CXL事务与CPU相连,利用CXL的I/O、一致性和内存协议。I/O Tile可以提供封装的外部CXL、PCIe和DDR引脚。加速器也可以使用在UCIe上运行的PCIe事务与CPU相连。封装内的CPU之间的连接也可以使用UCIe互连,并运行一致性协议。

可以使用UCIe Retimer来通过片外封装的互连扩展UCIe连接。片外封装互连的示例包括电缆、光缆或任何其他技术,用于在机架/机柜级别连接封装,如图2所示。UCIe规范要求UCIe Retimer实现与其所连接的本地封装上的芯片的UCIe接口,并确保通过所选择的通道扩展技术,按照UCIe协议将Flit传递到跨封装的两个芯片之间。

图2展示了使用CXL 2.0(或更高版本)协议的机架/机柜级解聚。图2a显示了机架级别的视图,其中来自不同计算机底座的多个计算节点(虚拟层次结构)连接到一个连接多个CXL加速器/Type-3内存设备的CXL交换机,这些设备可以放置在一个或多个独立的抽屉中。图2b显示了这种连接的逻辑视图,其中每个“主机”(H1、H2等)是一个计算抽屉。每个计算抽屉使用通过UCIe Retimer运行CXL协议的离封装互连连接到交换机,如图2c所示。交换机还具有共封装的Retimer,其中Retimer Tile使用UCIe连接到主交换机芯片,另一侧是用于连接加速器/内存设备的PCIe/CXL物理互连,如图2c所示。

这个版本的UCIe规范不涉及3D封装。它允许两种不同的封装选项:标准封装(2D)和高级封装(2.5D)。这涵盖了从最低成本到最佳性能互连的范围。

1.  标准封装 - 这种封装技术用于低成本和长距离(10mm到25mm)互连,使用有机封装/基板上的线路,同时与封装外SERDES相比,仍然提供明显更好的误码率特性。图3展示了使用标准封装选项的一个示例应用。表4总结了标准封装选项与UCIe的特性。

2. 高级封装 - 这种封装技术用于性能优化的应用。因此,通道距离较短(小于2mm),互连预计针对高带宽和低延迟进行优化,具有最佳性能和功耗效率特性。图4、图5和图6展示了使用高级封装选项的示例应用。
表5总结了高级封装选项的主要特性。

1.1 UCIe Components
 

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

1.1.1 Protocol Layer
 

虽然协议层可以是特定于应用的,但UCIe规范提供了在UCIe链路上传输CXL或PCIe协议的示例。UCIe支持以下协议,以实现不同的应用:
• 来自PCI Express基本规范的PCIe 6.0 Flit模式。
• 来自Compute Express Link规范的CXL 2.0及更高版本的协议。
• 流式协议:提供了通用模式,用于使用UCIe传输用户定义的协议。
对于每个协议,UCIe提供了不同的优化和相关的Flit传输方式,用于在UCIe上进行传输。第2.0章和第3.0章详细介绍了不同模式和Flit格式的相关细节。

1.1.2 Die-to-Die (D2D) Adapter
 

D2D适配器与协议层和物理层协同工作,确保在UCIe链路上成功传输数据。它尽量减少主数据路径上的逻辑,为协议Flit提供低延迟、优化的数据路径。在传输CXL协议时,D2D适配器完成多个协议所需的ARB/MUX功能。对于原始BER小于1e-27的选项,在UCIe规范中提供了CRC和重试方案,该方案在D2D适配器中实现。请参考第3.7节了解重传规则。

D2D适配器负责协调更高级别的链路状态机和启动过程,与远程链路进行协议选项相关的参数交换,如果支持的话,还提供远程链路功耗管理协调的功能。第3.0章详细介绍了D2D适配器的相关细节。

1.1.3 Physical Layer
 

物理层有三个子组件,如图8所示:

UCIe的物理数据路径通过一组称为Module的Lane组织起来。Module是UCIe的AFE结构设计实现的原子粒度。标准和高级封装的每个Module中的Lane数量在第4.0章节中有规定。在需要带宽扩展的情况下,协议层或D2D适配器的特定实例可以通过多个Module发送数据。

UCIe的物理链路由两个连接组成:

1. Sideband:
这个连接用于参数交换、调试/合规的寄存器访问以及与远程伙伴进行链路训练和管理的协调。它包括每个方向上的一个时钟引脚和一个数据引脚。时钟固定为800MHz,不受主数据路径速度的影响。UCIe物理层的辅助逻辑必须处于辅助电源和“始终开启”的域中。每个Module都有自己的一组sideband引脚。对于高级封装选项,每个方向提供了冗余的时钟和数据引脚对,用于修复。

2. Main-band:
这个连接构成了UCIe的主数据路径。它包括一个转发的时钟、一个数据有效引脚和每个Module的N个Lane的数据。对于高级封装选项,N=64(也称为x64),并且在bump map中提供了四个额外的Lane修复引脚。对于标准封装选项,N=16(也称为x16),不提供额外的修复引脚。

逻辑物理层协调不同功能及其相对顺序,以正确建立和管理链路(例如,sideband传输、主数据路径训练和修复等)。第4.0章和第5.0章详细介绍了物理层的操作细节。

1.1.4 Interfaces

在第8.0章节中,UCIe定义了物理层与D2D适配器之间的接口(原始D2D接口),以及D2D适配器与协议层之间的接口(Flit-aware D2D接口)。

这些接口规定了物理层和D2D适配器之间以及D2D适配器和协议层之间的通信方式和协议。原始D2D接口用于物理层和D2D适配器之间的底层数据传输,而Flit-aware D2D接口用于D2D适配器和协议层之间的高层数据传输。这些接口的定义确保了不同层级之间的正确数据交换和通信。

这样设计的动机有两个方面:
• 允许供应商和SoC构建者以低集成成本和更快的上市时间轻松混合和匹配来自不同IP提供商的不同层级(例如,使协议层能够与符合本规范中提供的接口握手的任何不同供应商的D2D适配器和物理层配合工作)。
• 鉴于流片后互操作性测试的开销和成本较高,对总线功能模型(BFMs)的一致理解和开发可以更容易地为这个堆栈开发IP。

通过定义明确的接口和协议,UCIe使得不同供应商的IP层级之间可以更容易地集成和匹配,从而降低了集成成本和市场推出时间。此外,通过一致的BFM开发,可以简化对该堆栈的IP开发,减少了后期流片后验证的开销和成本。

1.2 UCIe Configurations
 

这个部分描述了对UCIe操作允许的不同配置和排列组合。

1.2.1 Single module configuration
 

单模块配置是标准封装中的x16数据接口和高级封装中的x64数据接口,如图9和图10所示。在多个单模块配置的实例中,每个模块必须独立运行(例如以不同的频率传输独立的数据)。

1.2.2 Multi Module Configurations


该规范允许两个和四个模块的配置。两个和四个模块配置中的模块不能独立运行。图11和图12分别展示了两个和四个模块配置的示例。

1.3 UCIe Retimers
 

如前所述,UCIe Retimers用于通过不同类型的封装外互连来延长两个不同封装上的UCIe Die之间的信道距离。每个UCIe Retimer都有一个与封装内的UCIe Die的本地UCIe Link连接,以及一个用于更远距离的外部连接。图13显示了一个高级块图,演示了一个利用UCIe Retimers实现UCIe Die 0和UCIe Die 1之间的封装外互连的系统。UCIe Retimer 0和UCIe Die 0通过Package 0内的UCIe Link 0连接。UCIe Retimer 1和UCIe Die 1通过Package 1内的UCIe Link 1连接。术语“远程Retimer伙伴”用于指代连接到封装外互连的远端的UCIe Retimer die。

UCIe Retimer的责任包括:
• 在封装外互连中可靠传输Flit。实现此目标有三个选项,如下所述:
  a. Retimer被允许使用底层协议的本身定义的前向纠错码(FEC)和循环冗余校验(CRC),只要外部互连符合所传输协议的底层错误模型(如比特错误率(BER)和错误相关性)。为了隧道传输所传输协议的本身比特(如PCIe或CXL的Flit),UCIe Link将被设置为使用原始模式(Raw Mode)。在这种情况下,UCIe Die上的队列大小(协议层缓冲区)必须调整以满足底层往返延迟。
  b. Retimer被允许提供必要的FEC、CRC和重传能力来处理封装外互连的比特错误率(BER)。在这种情况下,Flit经过三个独立的Link;每个UCIe Retimer与其封装内的UCIe die进行独立的重试Ack/Nak,同时与远程Retimer伙伴进行单独的重试Ack/Nak。
  c. Retimer通过替换本身定义的PCIe或CXL FEC,或者额外添加其FEC,并利用底层协议的内置CRC和回放机制来提供自己的FEC。在这种情况下,UCIe Die上的队列大小(协议层缓冲区、重试缓冲区)必须调整以满足底层往返延迟要求。

• UCIe Retimer与远程Retimer解决Link和协议参数的问题,以确保UCIe Dies端到端(E2E)的互操作性。例如,在图13中,Retimers被允许强制Package 0和Package 1上的Link宽度、速度、协议(包括任何相关的协议特定参数)和Flit格式相同。对于跨封装外互连进行参数交换的具体解决机制,是Retimers的实现具体确定的,它们必须根据自身能力以及Package 0和Package 1上的UCIe Die能力确保一致的操作模式。然而,为了使UCIe Links具有鲁棒性,以避免在外部互连需要更长的时间进行Link连接或与远程Retimer伙伴解决参数时出现不必要的超时,UCIe规范定义了对相关侧带消息的“Stall”响应,这些消息可能会受到延迟。Retimers必须在UCIe规范的规则范围内以“Stall”响应进行回复,以避免在等待或与远程Retimer伙伴进行协商时发生不必要的超时。确保UCIe Link没有无限期地停顿是Retimer的责任。

• 适配器链路状态机(LSM)或RDI状态的解析,与远程Retimer伙伴确保正确的端到端操作。更多详细信息请参见第3.0章节。
• 流控和反压:
- 从UCIe芯片到UCIe Retimer的数据使用credits进行流控。这些信用是在任何底层协议信用机制(如PCIe中的PRH、PRD信用)之上的。这些UCIe D2D信用必须用于在两个UCIe Retimer之间进行流控,并且传输到UCIe Retimer的任何数据必须最终由远程UCIe芯片消耗,而不依赖于其他内容。每个UCIe Retimer必须在其封装内实现一个接收缓冲区,用于接收来自UCIe芯片的Flits。在D2D适配器的初始参数交换期间,将向UCIe芯片宣告接收缓冲区信用。如果没有credits,UCIe芯片不得向UCIe Retimer发送任何数据。一个credits对应256B的数据(包括任何FEC、CRC等)。信用返回通过有效帧进行重载(请参见4.1.2节)。每当RDI状态从活动状态转换时,UCIe芯片的credits计数器将重新分配为初始值。UCIe Retimer必须在重新进入活动状态之前排空或清除其接收缓冲区中的数据(根据适用情况)。
- 从UCIe Retimer到UCIe芯片的数据在D2D适配器级别上没有流控。如果需要,UCIe Retimer可以与其他UCIe Retimer具有独立的流控,这超出了本规范的范围。

1.4 UCIe Key Performance Targets
 

表6总结了UCIe的性能目标。

1. Die Edge Bandwidth Density(如第5.0章节定义)以45um(高级封装)和110um(标准封装)的引脚间距为基准。
2. 能效包括所有与物理层相关的电路:发送端(TX)、接收端(RX)、PLL、时钟分配等。信道的传输距离(短距离与长距离)在第5.0章节中进行了讨论。
3. 延迟包括适配器和物理层的延迟(从FDI到引脚接口的延迟)。有关物理层延迟的详细信息,请参考第5.0章节。

1.5 Interoperability
 

封装设计师需要确保封装中连接的芯片能够互操作。这包括兼容的封装互连(例如高级封装与标准封装)、协议、电压等级等。强烈建议芯片采用低于0.85V的发送端电压,以便在可预见的未来与各种工艺节点的芯片能够互操作。

该规范涵盖了在高级封装选项中的各种引脚间距的互操作性。随着时间的推移,预计较小的引脚间距将主导使用。使用较小的引脚间距,设计将降低最大频率(尽管可以达到32G),以优化面积,并解决高带宽与减小面积的功耗传递和热约束问题。表7总结了这些引脚间距的四个组别。

根据第5.0章节中指定的物理层尺寸,保证了每个组别内以及组别之间的互操作性。表6中提供的性能目标是基于在规范发布时广泛部署的45um引脚间距的技术。

UCIE协议1.0(一)--中文翻译版-CSDN博客
UCIE协议1.0(二)--中文翻译版_龍汶的博客-CSDN博客

UCIE协议1.0(三)--中文翻译版-CSDN博客

UCIE协议1.0(四)--中文翻译版-CSDN博客

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值