马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 hdy 于 2025-5-24 01:03 编辑
上一期介绍了GDDR6X采用PAM4编码,当发生最大转换(-3到+3和+3到-3)时,码间干扰(ISI)、串扰和其他损伤也会会达到最大值,从而导致裕量降低。为解决这一问题就需要有一种合理的编码方案。编码方案 先前的图形内存接口,包括GDDR5和GDDR6,采用每字节额外一根引脚来实现数据总线反转(DBI)编码,如图8所示 。DBI-DC旨在降低NRZ信令中的信令功率和同时开关噪声(SSN)。假设输入数据是随机的,通过限制同时为零的数量,平均功率可降低3.28/4(见图9)。DBI-DC还能防止字节中的所有信号同时向同一方向切换,从而降低SSN。
图8. GDDR6信号列表和DBI-DC编码器的方框图
图9. 使用DBI-DC编码时总线上零的数量的概率密度函数 由于每个PAM4符号包含两位信息(最高有效位MSB和最低有效位LSB),将DBI扩展到PAM4有多种方法,包括为MSB和LSB分别设置独立的DBI逻辑。但考虑到对最大信号转换的敏感性,每字节专门用于DBI的额外引脚更适合用于限制全转换的发生。DBI是一种空间编码,它通过检查字节中的数据来决定是否反转。这种方法在限制最大转换方面效果不佳。相比之下,DBI-AC是一种更关注转换的解决方案,旨在最小化每个UI边界上字节数据中同时发生的转换数量。虽然DBI-AC通常能有效减少转换次数,但它并不能直接缓解PAM4最大转换这一问题。 最大转换避免(MTA)编码 最大转换限制问题有着明确的硬性约束条件(见图10): - 1. 数据burst内不允许出现最大转换。
- 2. burst边界之间不允许出现最大转换。
- 3. DRAMburst长度固定,因此不能在时间上添加符号(例如采用8b10b编码方式)。
图10. MTA编码的硬约束条件 由于空间编码无效,人们将重点转向时间编码方法。利用图11中的递归关系,初步计算可以确定在16位数据burst(即8个PAM4符号)内,不存在最大转换的有效PAM4数据序列的数量。其中a表示以-3结尾且不以+3开头的有效pattern数量,d则表示相反的情况。
图11. 用于确定无最大转换的有效序列数量的递归关系 不允许burst之间出现最大转换这一硬性约束条件,使得在burst边界处需要特别考虑,因为仅保证burst内无最大转换是不够的。一种思路是将burst的第一个和最后一个符号限制在{+3, +1, -1}范围内,然后计算无最大转换的序列数量,这样可得到17461种有效组合。也就是说,如果编码引脚允许任何符号{+3, +1, -1, -3},那么码字总数为69844,大于2^16=65536。
图12. 最初的MTA编码方案,采用16:18位编码方式,DBI引脚上存在最大转换 虽然这一概念在功能上可行,但在DRAM工艺中,如果不进行简化,实现这种16/18位编码器和解码器的逻辑面积开销是不切实际的。一种方法是对8位的半burst数据进行编码和解码,而不是对整个burst长度进行处理。在这种方法中,至少需要128个码字来表示7位待编码数据。如果取消最后一个符号必须限制在3个电平的要求,则存在139种可能的码字,这使得表示7位数据成为可能。然而,为了处理边界情况,必须有两个码本副本,其中一个是另一个的反转版本。也就是说,并行版本的码本中,第一个符号以{+1, -1, -3}中的一个开头,而不是{+3, +1, -1},如图13所示。从DRAM工艺的面积角度来看,这种根据上一个半burst的符号来决定使用哪个码本副本的方法更易于接受。
图13. 最终的MTA编码方案,使用7 - 8位编码器以减轻面积负担 对一个存在串扰的示例通道应用峰值失真分析(PDA),图14展示了采用MTA编码后的改善情况,并突出显示了所有数据眼的裕量都有所增加,其中上下数据眼受益最大。
图14. 采用(蓝色)MTA编码和未采用(红色)MTA编码的PDA数据眼对比 最后,图15展示了编码方案的分类,其中包括新提出的MTA编码。GDDR6X标志着时间编码方案首次在商业DRAM设计中被采用。与新的以转换为核心的编码功能一致,在GDDR6X规范中,DBI引脚被重新命名为DQX。
图15. I/O接口编码方案分类 以前的GDDR编码方案属于空间编码类别,因为编码是跨多个比特进行的。GDDR6X的MTA编码属于时间编码类别,因为每个通道是独立编码的。 链路架构与设计 内存接口的链路架构与设计对于确保高效数据传输至关重要,特别是在采用PAM4信令时,需要仔细考量诸多因素以应对其带来的独特挑战。
图 16 展示的是 GDDR6X 接口的高层示意图时钟 GDDR6X的时钟方案在很多方面与GDDR6类似。它依然采用源同步时钟架构,数据与时钟信号在同一物理链路中传输,以此确保数据采样的精准性。不过,GDDR6X去除了DRAM中的锁相环(PLL)。这一改变旨在简化DRAM的设计复杂度,因为PLL在高速运行时可能会引入额外的抖动和功耗。取而代之的是,时钟信号直接从主机(如GPU)发送至DRAM,由主机负责生成并精确控制时钟信号的频率与相位,从而保证在PAM4信令下数据的稳定传输。 [color=var(--weui-F
链路训练
链路训练是使PAM4链路达到最佳性能的关键步骤。在GDDR6X中,针对每个PAM4数据眼都要开展VREF(参考电压)训练。鉴于PAM4信令需要三个VREF来准确解码四个电平的信号,这些VREF的精确值对于数据的准确捕获至关重要。链路训练过程通过发送特定的测试模式数据,让接收端(DRAM)能够依据信号的幅度和电平分布来调整VREF的值,进而优化每个数据眼的开口大小,提高信号的抗干扰能力以及数据传输的可靠性。 均衡 GDDR6的NRZ信令采用发送端和接收端均衡技术,以恢复14 - 16 Gbps速率下的数据眼图。虽然GDDR 6X的PAM4的奈奎斯特频率相较于GDDR6的情况有所降低,但根据早期链路模拟结果,似乎仍需要进行均衡处理。 图18展示了构成DRAM PAM4接收器的各个组件的框图。从高层次来看,输入的多电平数据被送到三个伪差分前置放大器,而每个放大器的互补输入被设置为一个独特的VREF电平,该电平与三个垂直堆叠的数据眼之一相对应。代表每个前置放大器对模拟信号与VREF比较判定结果的互补差分输出,被送至四个数据锁存器,然后由从WCK信号导出的四个时钟相位之一依次触发。每个时钟相位捕获一个单位间隔(UI)的数据,以放宽接收器定时要求并最大化建立/保持裕量。三条信号路径中每一条上的数据都会经串并转换后被馈送到解码模块,以恢复原始数据并存储在内存阵列中。
图 18. GDDR6X PAM4 接收器的模块级示意图(左)以及在 22Gb/s 速率下测得的数据眼图(右),该数据眼图突出显示了通过数据锁存器中的输入偏移消除所获得的裕量 在链路训练期间,输入差分对之间的随机偏移问题可通过优化参考电压(VREF)来解决。三个VREF中的每一个都能在64个独特的可调步长内独立进行优化。除了对输入数据做出初步判定之外,前置放大器还会进一步: - 1. 使高速输入/输出节点免受与12个数据锁存器相关的布线寄生效应的影响。
- 2. 提供带增益的单端到差分转换,以放宽次级锁存级的灵敏度要求。
- 3. 前置放大器的源极 电阻 - 电容(RC)为输入数据提供类似 CTLE 效果的均衡处理。
CRC与重传 为保证数据传输的完整性,循环冗余校验(CRC)被用于检测传输过程中可能出现的错误。在GDDR6X中,当接收端检测到CRC错误时,会触发重传机制。发送端会重新发送包含错误数据的数据包,直至接收端成功接收到正确的数据。这种机制确保了即便在复杂的电磁环境和信号干扰下,数据依然能够准确无误地传输,提升了整个系统的可靠性。
图19. 各种错误类型的CRC检测率与GDDR6半速率情形类似。 GDDR6X采用了与GDDR6半速率版本类似的循环冗余校验(CRC)方案(8位多项式为0x83),以增强链路稳健性,其错误检测能力如图19所示。鉴于GDDR6X的误失率(FIT,failure - in - time rate)目标与GDDR6相同,因此必须维持误码率(BER)目标。然而,大多数串行器/解串器(SERDES)标准在向PAM4迁移时,传统上设定的误码率目标更高,同时还增加了前向纠错(FEC,forward - error - correction)功能。设计上的限制迫使GDDR6采用仅使用CRC的解决方案(例如,不采用FEC),这使得系统抖动预算面临更大挑战,需要加以改进。
|