作为在CPU、GPU、FPGA和特定工作负载加速器等各种计算节点之间快速传输数据的重要骨干,自21世纪初正式创立以来,PCI Express(PCIe)接口就成为了数据中心和计算应用中芯片间数据传输的行业标准。随着PCIe标准的快速发展,2022年1月,PCIe 6.0相关规范正式出台,标志着我们从此进入了PCIe 6.0时代。
下图清晰的展示了PCIe标准的演进趋势。可以看出,从PCIe 2.0到3.0/4.0,分别花费了5年和7年的时间,但从PCIe 4.0到5.0,再到6.0,时间间隔却分别只有2年和3年,而且PCIe 6.0 64GT/s的传输速度也是3.0标准的8倍。
PCIe性能加速曲线 图源:Rambus
推手来自哪里?
PCIe标准加速演进背后的直接推手,当然主要源于全球数据总量的爆炸式增长——从现有应用到以人工智能、机器学习(AI/ML)为代表的新兴应用,都在不断生成更多的数据。IDC数据显示,2021年上半年,中国大数据平台的整体市场规模达到了54.2亿元,同比增长43.5%。
Rambus战略营销副总裁Matt Jones对媒体表示,为了能够支持如此庞大数据量的传输和存储,数据中心既要有完善的基础设施架构,也需要采用新的计算模式,如分解式计算(Disaggregated Computing)或者可组合式计算(Composable Computing),这也对数据传输速率的提升和数据传输的安全性提出了更高要求。
Rambus战略营销副总裁Matt Jones
具体而言,计算模型对于特定的工作负载会变得非常具体,例如人工智能训练和人工智能推理工作负载之间存在着差异,在每种情况下需要的计算资源是特定的。
可以看到,计算资源和计算模型正变得更加同构化或分散化,标准CPU和AI加速器在这种情况下被结合使用,并要求数据在它们之间能够高速、安全地传递,这就是PCIe标准向更高数据传输速率发展的核心需求。
因此,随着特定工作负载或计算资源的分布或分割,业界必须尽可能快和安全地在更远的距离上移动数据,例如CPU和AI加速器之间存在距离,但需要非常迅速的、安全的交换数据——这就是根本性的变化。
PCIe 6.0的新特性
作为全新一代规范,PCIe 6.0对比之前的PCIe技术有非常多的技术改进,但最主要的三处改变是值得高性能计算、AI和存储SoC开发者们关注的:
- 数据速率从32GT/s翻倍至64GT/s
- 从NRZ编码转换到PAM-4编码,以及由此带来的纠错影响
- 从传输的可变大小数据包(TLP)到固定大小数据包(FLIT)
在PCIe领域,我们通常会用GT/s作为其衡量单位。PCIe 1.0和2.0时代的理论数据传输率大概是2.5和5GT/s,但考虑到具体采用的编码技术和信号传导模式,实际的数据传输速率只有2和4GT/s。这样算起来,到现在速率高达64GT/s的PCIe 6.0,实现了每一代标准速率翻倍的愿景和目标。
为了更好地在PCIe技术规范之下实现64GT/s的数据传输速率,并克服整个通道传输长度以及距离的限制,PCIe 6.0采用了全新的PAM4调制信号,也就是四电平脉冲幅度调制,它对PCIe 6.0的实现非常关键。
根据Matt Jones的介绍,在PCIe 6.0之前,各代PCIe采用的都是NRZ调制信号,即不归零编码,它采用0或1两个电压等级,每一个时钟周期只能传输1bit的信号。也就是说,它只采用了高低两种信号电平,因此,相对于PAM4采用的四电平,我们也将NRZ称作PAM2。
为了实现高达64GT/s的数据传输速率,PCIe 6.0采用了PAM4调制信号。通过PAM4,每个时钟周期的数据传输可以达到2bit,而并不仅仅是单bit的数据传输。PAM4采用四个不同的电平等级,可在每个时钟周期表达2个数位,即从00、01、10再到11。这就意味着,在同样的电压波动范围之内和同样的时钟周期内,由于PAM4的电压等级比PAM2高了两个,即眼图中黑色的区域“眼睛“部分更多、更小了,从而带来了更低的电压裕度和更高的误码率,使得在设备中保证信号完整性成为了一个非常关键的难题。
PAM4调制信号
考虑到PAM4是确保PCIe 6.0达到64GT/s数据传输速率的关键,为此,PCIe 6.0采用了前向纠错技术(FEC)。FEC本质上是一种算法技术,可以在数据传输链路中确保所有信号的完整性。同时,FEC技术的采纳还改变了数据流控制单元的情况,要求开发人员也必须针对数据包本身的大小做出调整和改变。
PCIe 6.0之前的几代规范采用的是可变大小的数据包,但由于FEC技术的采纳,PCIe 6.0必须采用固定大小数据包(FLIT),以更好地保证FEC技术的实现和操作。
此外,考虑到数据传输速率的上升和PAM4技术本身会增加设备的功耗,每一比特数据传输造成的单位数据能耗也会增加。为了减少整体系统的能耗,PCIe 6.0采用了颠覆式的L0p模式,其本质是通过动态的信道分配,允许将每个通道进行封闭或者打开来实现系统性的节能。
于是,在上述基础上,Rambus近日推出了自己的PCIe 6.0控制器。一方面,在功耗、面积和延迟方面进行了优化,可为高性能应用提供高达每秒64GT的数据传输速率,进而推动环保型数据中心的建设,并减少对散热管理的需求,降低拥有成本。另一方面,该控制器还提供最先进的安全性,其完整性和数据加密(IDE)引擎可以监控和保护PCIe链路免受物理攻击,且无需在此过程中牺牲延迟。
Rambus PCIe 6.0控制器框图
同时,Rambus的PCIe 6.0控制器能够非常灵活地支持多种操作模式,保障客户的前期投资。除了适用于PCIe端点、根端口、双模式和交换机端口配置外,它还能向后兼容所有前代的PCIe标准,确保与客户的现有生态系统相容。
Rambus PCIe 6.0控制器主要特点
应用前景如何?
在谈及PCIe 6.0技术的应用前景时,Matt Jones认为对于具体应用,使用速率适合的PCIe标准就可以了,没有必要过度追求最新的标准,例如16GT/s PCIe 4.0有其特定的性能标准、IP大小和功耗,如果这是用户所希望使用的速率,那么就没有必要进行升级。而且PCIe 5.0/6.0的出现也不会加速PCIe 4.0的应用,因为考虑到其兼容性,它们只会共存。
就企业级市场而言,PCIe 6.0支持的速度允许企业市场继续增加千兆以太网和其他网络协议方面的链接,进而支持400/800 GbE,甚至速率高达1.6TbE的以太网络,支持芯片间连接速率增加的PCIe将使这些网络协议也得以在企业中使用。
此外,在企业内部的服务器中,PCI 6.0标准所支持的高数据传输速率和低延迟的可用性,将使前文所谈到的新型计算模式,即专门针对AI云计算和大数据新兴工作负载的分解式或分布式计算,变为可能。
同时,PCIe 6.0也将适用于企业级数据中心SSD市场,因为PCIe协议与NVMe协议共享其电气规范。“当然,我们希望看到随着时间的推移,目前主要使用的PCIe 4.0存储解决方案将升级到PCIe 5.0,最终迁移到PCIe 6.0,以支持存储应用对更高数据传输速率的需求。”Matt Jones说。
而在内存和处理器方面。全新的PCIe 6.0将和之前几代PCIe标准一样,始终致力于支持芯片到芯片之间,包括CPU和I/O之间的数据传输。但是,就像NVMe存储的发展一样,现在PCIe 5.0/6.0也开始将其电气规格借用给CXL,或用于内存和数据中心领域其他连接应用的计算快速链接标准。
不过,尽管PCIe 6.0标准无论从性能还是前景方面都极具吸引力,但从目前的实际应用情况来看,PCIe 5.0的发展以及商业化都尚未进入到最终和成熟的阶段,这是否会影响PCIe 6.0标准的实际落地情况?
“是的,的确是这样。”Matt Jones没有回避该问题。他解释说,以PCIe 5.0标准为例,它正式发布于2019年5月,如果仅仅按照当前应用PCIe 5.0的数据中心数量这一个标准衡量来看,它肯定是不成熟的,完全成熟预计会在今年晚些时候到来。
因此,与PCIe 5.0的演变类似,PCIe 6.0也会有类似的发展周期。作为推动PCIe 6.0生态系统所必需的一项早期组成部分,已经实现量产的Rambus PCIe 6.0数字控制器将被AI加速器供应商、I/O和内存供应商用来构建芯片形式的解决方案,并帮助他们的产品在2025年左右进入市场。
但他也同时强调称,从PCIe 5.0过渡到6.0的时间可能比之前几代标准的迭代时间都要更短,尤其是在企业和数据中心数据流量持续爆炸式增长的情况下。
此外,正如之前所提到的,Matt Jones也不认为PCIe 4.0/5.0/6.0之间一定存在着代际竞争,因为即使是现在,市场上对PCIe 3.0产品仍有着较高的需求趋势。当然,对于采用PCIe作为主要接口的特定解决方案来说,他们需要在性能和成本之间做出权衡:在特定的成本点上使芯片具有合适的数据传输速率和性能,或者用最新的技术来证明该芯片。