T47 [Design Con之一] DBI功能对DDR4系统的影响
2017-04-14 by:CAE仿真在线 来源:互联网
写在前面:
DesignCon做为全球技术含量相对较高的会议,每年都会有很多最前沿的SI/PI/EMC技术文章分享,阅读这些文章,可以拓宽我们的思路,学习最新的技术和知识,了解业界趋势,还可以学习英文~~无奈英文还不足够好,看这些文章总是有一些难度,为了督促自己更好的理解这些材料,同时也给其他朋友一些参考,故尝试进行DesingCon文章的解读。
解读,不是翻译,也不是原创,只是把文中重要的知识点进行提炼总结,酌情加入个人理解,尽量做到浅显易懂,简单易读,当然,由于本人能力有限,写的不清楚或者错误之处在所难免,还请各位指正,期待我们一起进步。
DDR4引进了DBI(Data Bus Inversion)功能,通过发送端数据翻转使较少的数据位为低电平,从而使内存系统功耗更低,本文描述了DDR4系统中DBI功能对系统电源的改善,也描述了不同的系统动作和内存访问所带来的差异。同时,也比较了数据读和写时DBI对功耗的影响。
如同DDR3没有DBI功能一样,内存通道需要初始化校准来得到最佳的时序关系,DBI在DDR4中,和DM(data mask)以及TDQS共用一个引脚。本文也讨论了当DBI启用时de-skew内存总线的方法,这种方法会用图例来说明当DBI启用时,如何同时在读和写两个方向得到最佳的DQ和DQS。
DBI功能的目的是降低功耗,但是因为其减小了信号开关的次数,对信号完整性也有一定的贡献,会得到更低的系统噪声以及改善信号抖动。本文也分析了用这种方法来评估DBI的影响以及结果。
过去二十年间,人们对于计算的需求以指数的方式增长,图1从TFLOPs(浮点运算)和日期组成的图表中说明了对性能的需求增长。这种需求来源于人们需要解决许多基本的,以及生活中所面临的问题,比如人们需要更精确的模型,需要预测未来天气情况的系统。这种增长面临着很多局限性以及挑战,比如整个系统电源功率的有限性,内存技术,内存带宽和系统的可靠性等等。系统工程师正在尝试推倒挡在电源和内存前面的墙,电源效率和内存带宽在近几年稳定提高,也有望在不久的将来可以以指数式提高。一种典型的计算系统中电源消耗如图2所示,系统内存电源功耗占到了整个系统的19%到48%。传统上,CPU功耗在整个系统中占据主导地位,但是,系统内存的功耗正在稳定地成为整个系统中最主要的因素。
在服务器和数据中心系统中,DDR4替代DDR3已经成为趋势,除了很多架构方面的提升以外,DDR4主要比DDR3在功耗效率方面有很大提高。
DBI功能可以让DDR4进行额外的省电,但是为了有效利用这个功能,必须在使用之前对其进行初始化校准,本文会具体量化在不同的工作负载下的省电情况,同时对其他工作情况进行说明。
DRAM厂商几乎每年都会通过工艺提升来改善系统内存功耗,在相同的技术条件下比较DDR3和DDR4,DDR4的功耗最大可以减小35%,此外,IO电压也从DDR2的2.5V减小到了DDR4的1.2V,这些都是使用传统的方法来降低DRAM功耗,在未来的DRAM技术中,产品工艺以及IO电压也会往更小的方向发展。
DDR4的IO标准是 Pseudo Open Drain Logic (PODL_12),而DDR3的IO标准是Stub Series Termination Logic (SSTL) ,图6显示了PODL_12和SSTL之间的差异,对POD来说,只有在低电平的时候才有DC电源消耗,所以有效的电源消耗要比SSTL低。
DBI系统框图表示如下:
DBI的运行机理可以用下面公式来表达:
SUMlogiclow(n)表示数据信号DQ(7:0)中低电平信号的总和,也就是说,如果低电平数目总和大于4,DBI功能会让所有数据进行反转,从而确保数据中高电平的数目大于低电平数目,起到省电作用。
下图做为一个实例说明了DBI的运行机制,当DQ0~DQ7中低电平(L)总数小于或等于4时,DBI#信号保持高(De-asserted),DBI功能没有启用,相反,如果DQ0~DQ7中低电平总数大于4,DBI#信号变为低,DBI功能启用,所用信号进行翻转。
由前文说明可知,在PODL_12标准中,IO只会在数据信号为低电平时消耗DC功耗,DBI功能的作用,就是让所有的数据信号中,低电平数目少于高电平数目,从而起到省电作用,同时,比较少的数据开关也会让系统有更小的电源噪声。DBI信号是和DRAM中的Data Mask(DM) 和一个DQS(TDQS)信号公用一个物理引脚,DBI功能可以应用与写信号和读信号。
总体系统功耗的改善和提升幅度和信号读和写的比例有关,为了比较功耗改善的差异,本文分析了11种不同数据读写比例之下的案例。所有分析是基于72 bit DDR4,运行速率为2667MTs, DDR4已经经过相关优化使读写信号眼图最优。读和写的比例差异如下图所示,蓝色表示Read比例,橙色表示Write比例,可以理解为DDR4的数据分为读和写两个部分,但是读和写占总体数据的比例会有差异,但是两者之和应该为100%。
为了量化使用DBI以后功耗的改善,分别对11中不同的Case进行了仿真和分析,以没有DBI功能时的功耗为基准(基准为100%),对比使用DBI以后的功耗,从而得到功耗改善比例,分析结果如下图,蓝色为没有DBI时候的功耗,橙色为使用了DBI以后的功耗,绿色菱形表示改善比例。可以看出,使用DBI以后最大可以省电30%以上。
要利用DBI功能进行省电,DBI bit必须和其他DQ信号一起进行校准和优化,下一章节将来讨论这个话题。
前面提过,DBI信号在DRAM端是和Data Mask & TDQS Pin共用的,图11是一个连接示意图,DRAM是x16的组件,所以有两根DBI信号, U_DBI# & L_DBI#, 在实际的应用中,DDR控制器必须保证DBI信号和其他DQ信号一起进行了优化和校准。
DDR4信号Training & Calibration的过程大致如下:
当DQ和DBI#信号传输一些随机的数据码型,Strobe 信号(DQS)会自动寻找DQ&DBI#信号最佳的中心位置。过程如下:DQS信号往右移动靠近DQ&DBI#信号边缘,直到控制器监测到数据错误(data failure),这个位置就是信号右边的裕量(Right Margin),同理,DQS信号往左移动直至发生数据错误,得到左边的裕量(Left Margin),那么,最佳中心位置就是Right Margin和Left Margin的中心。
*此节建议阅读原文,以更好的理解*
DBI功能Enable以后,data bus channel里面会有更小的IO noise,PDN分析可以采用Step current 方法(感兴趣的同学可以参考"Distributed Modeling and Characterization
of On-Chip/System Level PDN and Jitter Impact , DesignCon 2104," ),系统级的PDN模型建模方法如下图:
通过仿真实验,当DBI功能启用时, average step current减小了,所以电压Noise也就减小了,下图说明了电压Droop的差异,蓝色为DBI启用时的电压Droop, 红色为没有DBI时的Droop, 从图中可以看出,电压Droop提高了38%。
电源噪声和信号抖动之间的关系可以用下面公式来表示,信号抖动为电源噪声和抖动敏感系数的乘积:
下图为典型的PDN阻抗曲线和相位噪声曲线,PDN阻抗是随着频率变化的函数:
系统验证平台如下图,基本配置为:数据为72bits, Read和Write的比率为50%:50%。
第一个验证方法为直接用示波器探头进行测量,探头点测点为DRAM背后的过孔,系统工作速率为2930MTs, 写信号的DQ眼图如下图所示,DBI功能使用以后,眼图Jitter明显减小,从27.1%*UI减小到22.1%*UI。
另外,可以用眼图轮廓来说明对实际眼图抖动的改善,如前面所说Margin的training方法,调节DQ和DQS的相对延时位置以及参考电压Vref的大小值,从而得到PASS和FAIL的区域,由PASS组成的区域就可以看作是眼图的轮廓图。
下图分别对比了DBI应用和没有应用时Read和Write眼图轮廓,箭头所指蓝色区域为应用了DBI以后对眼图的改善,对于Read信号,DBI使信号眼图改善了大约11%,对于Write信号,DBI使信号眼图改善了大约7%。
DBI功能使DDR4更省电,本文描述了基于各种不同工作负载时候的功耗改善,指出在Write方向的省电比Read更多,同时,DBI也可以使Power Noise减小,从而使眼图Jitter减小,提高眼图质量。
原文来自于:
Design Con 2016 :Optimal DDR4 System with Data Bus Inversion
作者:Thomas To,Changyi Su,Juan Wang等, 来自于 Xilinx Inc.
相关标签搜索:T47 [Design Con之一] DBI功能对DDR4系统的影响 HFSS电磁分析培训 HFSS培训课程 HFSS技术教程 HFSS无线电仿真 HFSS电磁场仿真 HFSS学习 HFSS视频教程 天线基础知识 HFSS代做 天线代做 Fluent、CFX流体分析 HFSS电磁分析