使用多通道体系结构优化LPDDR4的性能和功耗
扫描二维码
随时随地手机看文章
LPDDR4是用于移动应用的最新双数据率同步DRAM,它是当今高端便携产品中常见的DRAM类型,应用于如Samsung Galaxy S6智能手机,Apple iPhone 6S [1],以及数种最新发布的设备。除了移动应用之外,预计LPDDR4会像其前任LPDDR3那样应用于平板电脑、轻薄笔记本电脑中,会采用“底层存储器”配置,亦即,DRAM以物理方式焊接在主板上。
LPDDR4在很小的PCB面积和体积上提供了巨大的带宽;在3200Mbps的数据率下,当两片Die封装在一起时,单个15毫米x15毫米LPDDR4封装包可提供25.6 GByte/s的带宽。LPDDR4建立在LPDDR2和LPDDR3的成功基础之上,增加了新的特性并引入了主要的结构变化。
本白皮书中阐明了LPDDR4与以前所有JEDEC DRAM规格的差异之处。讨论了下述方面:
设计人员为何选择LPDDR4
LPDDR4体系结构的亮点
如何最好地配置LPDDR4通道
如何处理具有多通道连接的2片和4片封装
通过系统级芯片(SOC)分割共享通道的优点
如何优化通道以实现最低功耗
为什么是LPDDR4?
LPDDR4包含多项特性,这使得SOC设计团队能够降低分离DRAM的功耗。对于诸如PC和服务器等桌面设备,通常将使用安装在双列直插内存模块(DIMM)上的DDR器件,所述DIMM位于64位宽总线上。这类板级解决方案能够就地升级DRAM容量,但需要长且负载较重的连接线,与较短的走线相比,它消耗的功率更高。对于使用LPDDR2、LPDDR3和LPDDR4的系统,每条总线上的内存器件通常数量更少,连接线也更短,因而消耗的功率比DDR2、DDR3和DDR4器件更低。
设计团队能够调用LPDDR4 DRAM内的节能选项。这些特性包括更低的电压和I/O电容;更小宽度的多路复用命令和地址总线;消除了on-DRAM DLL;更快进出的低功耗待机模式;更快、更加简单的变频。
最后,LPDDR4 DRAM具有温度感知刷新特性,这有助于使DRAM的刷新率与DRAM的位单元本身的要求匹配,尤其是在低功率自刷新待机模式下更是如此。在待机模式下可自动启用该特性,类似地,在主动模式下可读取温度指示,使得LPDDR4控制器能够调节其自刷新率,从而与LPDDR4器件的热状态相符。
LPDDR4采用了针对移动装置的模型
在实际应用中,移动用户仅在较少的时间段内才会用到LPDDR4的最高工作频率。此时,用户或是采集或显示高清晰(4K)视频,或是玩具有高图形要求的游戏,或是处理图形,或是引导或加载新的软件。
在部分时间段内,内存会降至LPDDR3速度级别。这一性能水平足以支持文本、呼叫、网页浏览、照片、简单游戏:所有这些功能对CPU或GPU没过高要求。
在大部分时间段内,移动设备并不使用,它或是在口袋内、或是在床边,此时DRAM断电或处于低速模式下。仅一个内存通道处于活动状态下,用于执行“始终在线、始终连接”任务。在该模式下,设备执行后台任务,如保持电池接触,接收消息,接收/显示推送通知,邮件同步,以及时间显示。
然而,正是由于最高使用时间的设备性能,很多移动用户升级了其设备,这正是该使用模式下优秀用户体验十分重要的原因之所在(图1)。
图1:最高使用时间是移动用户升级循环的驱动因素
LPDDR4体系结构变化
与前代相比,LPDDR4规范中确定了多种性能和特性改进。最为重要的是,LPDDR4对体系结构进行了重大改变:LPDDR4器件采用了每一裸片上2个独立通道的布局方案。
DDR2、DDR3和DDR4器件的每一封装包提供了一套命令地址输入总线和一套数据总线,最为常见的是每一封装包一个裸片。LPDDR2和LPDDR3的每一封装包可提供1~4个裸片。对于LPDDR4、LPDDR3和LPDDR2,在双裸片和4裸片封装包情形下,通常提供了2套独立的命令地址输入和数据总线(通道)。换句话讲,LPDDR2和LPDDR3器件实施了部分多通道,其中,每一封装包提供了2个独立通道。LPDDR4将该特性发挥到极致,这是因为每一裸片都有两个独立通道,大多数封装包都有4个通道。
连接多个通道
LPDDR4体系结构天然具有2个通道(图2),每一裸片有2套命令地址输入和2套数据总线。LPDDR4的2裸片封装包提供了4个独立通道。为了更有效地使用LPDDR4,设计人员必须理解LPDDR4体系结构变化对SoC体系结构的影响。
图2:LPDDR4双通道体系结构
对于具有1个通道(如LPDDR3的单裸片封装包)的单个DRAM器件,只能做单向连接,即SOC上的命令/地址总线接到位于DRAM上的命令/地址总线,SOC数据总线接到DRAM数据总线(图3)。片选(CS)可在需要时使能DRAM。
图3:连接单个DRAM装置的标准方式
2个DRAM器件,或具有2个独立接口的单个DRAM器件(如LPDDR4)可支持4种可能配置:
并行(前后紧接)
串行(多级)
多通道
共享命令/地址
并行(前后紧接)连接
对于在DDR2/DDR3/DDR4方面具有丰富经验的设计人员,最熟悉的选择是并行或前后紧接配置。并行配置(图4)对于2个或多个DRAM裸片是恰当的,对于与同一命令/地址总线相连的LPDDR4的2个通道也是恰当的。它们采用了相同的片选,但每一数据总线具有独立的数据通道。在这类并行连接中,所有的DRAM器件接收相同的命令和地址,但会通过不同的字节线发送其数据。由于可同时访问所有器件,因此两个DRAM始终处于相同状态。它们打开相同的内存页面,并访问相同的数据列,但保存在每一 DRAM中的数据不同。
图4:并行(前后紧接)连接
串行(多级)连接
第二种选择是采用串行或多级配置将器件连接在一起(图5)。这等效于将多个DIMM置于PC上的同一通道内。命令/地址和数据总线均连接在两个DRAM器件上,但根据命令循环选中的2个不同的片选,以对两个DRAM器件的访问进行独立控制。这两个器件可处于不同状态,具有不同的活动内存页面。典型情况下,SOC负责控制共享数据总线,确保DRAM不会同时进行数据传输。
图5:串行(多级)连接
多通道连接
多通道连接(图6)为DRAM的每一通道或每一DRAM器件提供了与SOC的独立连接,其中,每一器件或通道具有自己的命令/地址总线,数据总线和片选。由于采用了这一灵活配置,每一DRAM器件(或器件组)能够彼此完全独立地工作。它们可能处于不同状态,接收不同命令和不同地址,当一器件执行写入操作时,另一器件可执行读取操作。
多通道连接还允许DRAM工作在不同功耗状态下。例如,某一块内存可能处于待机自刷新模式,而另一内存处于完全激活状态。
图6:多通道连接
共享命令/地址(CA)连接
最后一种配置选择更常应用在非低功耗DDR器件中,这是一种具有共享命令/地址(CA)或共享AC(图7)的多通道配置。在该配置下,两个DRAM装置接收相同的命令和地址,与串行连接类似,片选决定了哪个DRAM器件负责监听特定的时钟周期,因而每一器件可能处于不同状态下。两个通道之间的DRAM命令仲裁在SoC内部完成,但每一DRAM能够独立传输数据。
图7:共享CA连接
双通道连接的各种配置选项的比较
这些配置选项中的每一个各有其优缺点(图8)。例如,并行实施仅有8个可用库(bank),任一时刻在32位数据总线上可突发块取的最小数据量为64字节。并行方法不太适合于使用堆叠封装(POP)的设计。
图8:LPDDR4的双通道(1个晶片)连接选项比较
串行连接也不太适合于POP实现。它的确能节省一些DQ引脚,但由于DRAM器件共享了数据总线,它所提供的带宽只有其他解决方案的一半,该方法的吸引力较低。
共享CA适合于DDR系统,多通道连接使得设计团队能够从LPDDR4中获取最大好处。
管理具有多通道连接的2裸片和4裸片封装包
在LPDDR4的实施中,最常见的方式是在单个封装包中使用2个LPDDR4裸片,该包提供了4个16位通道,可实现8种不同拓扑方案。在将LPDDR4器件连接至SOC的8种可能方式中,有三种特别有用的实施方案:
“真正”的4通道,双通道加双并行,完全并行
对于希望在其LPDDR4装置中实现最大带宽的设计团队,尤其是在使用较小的数据块传输时,可能会考虑真正的4通道实施方案(图9)。与其他实施方案相比,它具有最大的bank数目,以及最小的块提取尺寸。它要求在SOC上具有24个CA引脚,可与SOC上的4个单独的内存控制器以及PHY一起实施。
图9:真正的4通道实施
双通道加双并行实施在全并行实施和4通道实施之间实现了良好折衷。对于LPDDR3-LPDDR4组合(图10),它尤其有用。在使用LPDDR4的早期商用SOC中,大部分都采用了该配置。
双通道加双并行
图10:双通道和并行实施
全并行实施仅采用了6个CA引脚,具有最大的DQ数(64)。然而该系统中仅提供了8个Bank。最小尺寸块提取尺寸为128字节,这将会限制其在某些应用中的实用性。由于总线负载或芯片级时序收敛方面的原因,可能还需要复制CA总线。
图11显示了双裸片4通道LPDDR4多通道实施(左侧)和4裸片实施(右侧)的示例。LPDDR4封装包具有4个连接的裸片,每一物理通道具有与其相连的2排(rank)内存存储体。对于该配置,要求设计团队在包的4个通道的每一通道的串行方向上扩展连接。不幸的是,4裸片包未提供8通道连通性;在4裸片包上只有4个通道。
图11:双裸片和4裸片实施。4裸片LPDDR4多通道和串行实施增加了DRAM容量。该解决方案与2裸片封装包兼容
概括而言,推荐的双裸片LPDDR4实施为:
双通道加并行,这是LPDDR3用户最熟悉的方案,也是可以实现LPDDR3/LPDDR4组合的实现方式;
4通道,这是最灵活并具有潜在最高性能的方案。
关于共享通道的设计推荐,通过多Bank改善LPDDR4的性能
类似地,LPDDR4继承了DRAM的很多特性,其存储结构由Bank构成,每一Bank具有多行(Row),每一行具有用于存储数据的多个列(Column)。访问位于相同行内保存在列中的数据很快,访问位于不同Bank内不同的行也很快,但访问位于相同Bank内的不同行则会很慢。
独立访问其他器件的每一通道意味着,每一通道上的每一Bank可以具有不同的活动行。对于像视频和网络包等在内存中随机分布的小尺寸的数据传输类型而言,拥有更多的Bank能够避免一些固有的、会限制性能的内存时序参数。在尽可能多的Bank上传输数据能够改善性能是因为它能降低遇到一些内存时序参数的概率。
在系统中有更多的Bank,并延长在每一Bank上完成命令所需的时间这一方法能够改善性能,是由于降低了因tRRD、tFAW和tRC内存时序参数所导致延迟的概率::
tRC:内存的行周期时间。这是触发同一Bank中不同行所需的最小时间。
tRRD:行-行延迟。这是触发不同Bank中不同行所需的最小时间。
tFAW:4激活窗口。该时序参数的含义是,在一个tFAW窗口内,不能发出4个以上的激活(active)命令。LPDDR4标准将其设为tRRD的4倍,因此,对于LPDDR4,它们实际上是相同的定时约束,对于其他内存,可能会采用tRRD和tFAW之间的不同关系。[!--empirenews.page--]
tRC定时会导致很多问题,尤其是在更快的器件中更是如此。在LPDDR4的最高速度下,tRC时间超过100时钟周期。当在LPDDR4的最高速度下工作时,触发Bank中的某一行后,至少在100时钟周期内,tRC会阻止访问该Bank中的其他行,这样,就会在相当长的时间内禁止再次使用该Bank。如果具有更多的可用Bank,会降低访问因tRC时间而锁定的Bank中新行的访问概率。
tRRD和tFAW会限制频繁更换存储体Bank的能力,设计团队可能希望这样做,以避开tRC定时参数。
图12显示了1个器件示例,它具有4个激活窗口tFAW,具有4倍的行行延迟tRRD。在LPDDR4-3200中,tRRD时间可达16个时钟周期。
图12:tFAW和tRRD时序
在图13中,显示了在并行实施方案下执行的连续传输序列。符号AC/BA0是Bank0触发命令的代称。与其相邻的命令RD/BA4指的是对Bank4的读取命令(假定Bank4已在较早时间触发)。每一命令标记代表4时钟周期,原因在于LPDDR4器件的4相寻址特性。在实际应用中,该序列会需要延长,这是因为在激活(Active)之后会接着读取、激活、读取、激活、读取、激活、读取。数据返回,完全占用DQ总线,总线处于满状态。并行访问模式会利用100%的内存带宽,但仅在800MHZ(DDR1600)下访问器件时才能实现该点。
图13:在BL16和800MHz/DDR1600上使用至旋转地址的连续64字节读取的并行实施
图14中显示了一种双通道实施,其中执行了相同的序列,独立使用每一命令地址通道。每一命令地址总线的访问模式略有差异:激活、读取、无操作、读取、激活、读取、无操作、读取。命令通道中的空隙可用于其他方面,如设定的预充或按bank刷新,或简单地留作空闲时钟周期。图中数据总线已被完全占用。
图14:在BL16和800MHz/DDR1600上使用至循环地址的连续64字节读取、独立使用命令地址的双通道实施
将频率加倍至1600 MHz(DDR 3200操作)(图15)时,tRRD时间会限制SOC的能力,允许在并行实施的上方示例中发送激活命令至LPDDR4器件。序列为:激活、读取、无操作、无操作、激活、读取、无操作、无操作。无操作周期可用于预充或刷新,但内存的激活速度不足以就每一传输向新rank发送连续的64-bank传输。
图15:频率加倍至1600MHZ/DDR3200
当没有发向同一内存页的另一64字节传输时,SOC必须等待,直至tRRD期满并能再次在内存中触发新页为止。如果传输的时间不足以在移动至新bank之前对每一bank进行两次读取,该工作模式会将器件的最大性能限制在50%带宽下。
与之相比,对于图15下方的双通道实施,由于“激活、读取、无操作、读取”模式,允许每一通道满足tRRD的要求。即使在DDR 3200数据率下,总线带宽也能工作在满负荷下。
找出最小的块提取大小
块提取大小指的是可在一个DRAM事务(一次突发传输)中传输的最小字节数。由于LPDDR4的最小突发长度为16,采用LPDDR4的并行连接可能使SoC具有不优化的块提取大小。
最佳方式是使提取大小与SOC匹配,不仅体现在通过总线传输的传输大小方面,也体现在器件的总带宽方面。
对于很多SOC和CPU的缓存线,首选块取大小是32字节。在偶尔情况下,一些较大的64位CPU使用64字节缓冲线。视频和网络传输通常需要32字节或更小的短字节传输。在理想情况下,多通道体系结构应与系统的提取大小匹配,以便将系统优化至系统所能使用的提取大小。
在图16显示的并行实施方案中,LPPDDR4最小突发长度为16,有64个的并行DQ引脚,块提取大小为128字节,它实际上仅适合于至连续地址的长数据传输。对于每次以128字节为单位的访问,并行实施方案能够工作,然而,如果数据访问小于128字节且需访问随机地址,那么并行实施方案的效率不高。
图16:并行实施
对于64位并行实施方案,另一问题是SOC和DRAM裸片之间的物理连接。LPDDR4 PoP封装的管脚分配是每一角一个通道,使得封装包上有4个通道以容纳2或4个裸片。每一通道位于器件的每一角。在理想情况下,SOC内存控制器和PHY布局应与LPDDR4的管脚分配匹配。采用该布局,允许将通道A映射到通道A,通道B映射到通道B,C到C,D到D,使得LPDDR4 PoP封装内的路径尽可能短,无交叉。该封装布局还有助于并行4通道LPDDR4接口的物理实现。
用户还应注意传输是否访问内存中的不同页,tRRD可能会限制较高频率下的有效带宽,如同前述部分中介绍的那样。
正是由于这些原因,与4通道实施相比,设计者更倾向于选择LPDDR4的多通道实施。
命令/地址总线
LPDDR4具有很窄的命令/地址总线(每通道仅6位宽,DDR4为20位或以上),因此,使用多个命令/地址通道的开销低于使用其他DDR类型的开销。在LPDDR4封装包上独立使用所有4个命令/地址总线,能够提供最大的灵活性,可能还会为整个系统提供最高性能。
LPDDR4 PoP的SOC分割
有多种适用于LPDDR4的SOC分割方式。图17显示了最简单的一种方式。这是一种同构CPU体系结构,它具有4个CPU和4个通道。每一CPU具有自己的方式以访问自己的独立通道。该体系结构具有下述优点:CPU不会彼此屏蔽,SOC总线更短。可关闭未使用通道以便节省功耗。
图17:LPDDR4.PoP的最简单SOC分割
然而,该体系结构不够灵活。如果通道A需使用通道C中的一些数据,它无法将内存当作邮箱使用。必须通过SOC以某种方式传输数据。这还会使得CPU更难于执行与负载平衡相关的共享任务。
另一方法是使每一CPU共享每一内存(图18)。这样就能实现更加灵活的分割。对于异构处理,它的工作表现更好,CPU能够对共享数据进行处理,但需要更多和更长的片上布线资源,这可能需要用到复杂的片上互联系统。这样就能更准确地反映实际芯片的工作方式,尤其是对具有不同CPU、GPU和其他处理单元的异构体系结构而言。
图18:共享通道,所有CPU共享所有内存
逻辑至物理地址映射
多通道体系结构提供了多种控制逻辑至物理地址映射的选择。考虑如图19所示的双通道体系结构。存在多种控制逻辑至物理地址映射的方式。最简单的方式是,双通道存储器映射到不同的SoC地址空间(图19)。
图19:使用分区内存映射的逻辑至物理地址映射
例如,通道A可能会存放操作系统,并保持始终在线、始终连通的功能。通道B可能包含应用数据,视频缓冲和类似数据。这两个不同的地址空间独立且分离。这有助于功耗控制,原因在于,通道B可在不使用时关闭。
另一方式是,采用较小的连续逻辑地址区访问内存的不同通道(图20),对内存映射进行交织处理。例如,通道A为字节0~63,通道B为字节64~127,以此类推,直至遍及整个内存空间。在整个内存上对逻辑空间进行交错处理。该方法有助于在2个不同通道上实现负载平衡,可实现良好性能。然而,由于始终需要两个通道,无法关闭任一通道以降低功耗。
图20:交错式内存映射
更进一步的实施方案是使用混合内存映射(图21),其中,每一通道中的不同区可提供交织式访问或非交织访问。该混合方法可能包含一个始终在线、始终连接的内存区,以便获得最高性能而在2个通道之间交织的内存区,以及用于程序存储的高地址内存区,这类程序与高带宽相关。
图21:混合内存映射
针对高性能、低功耗移动SOC的Synopsys LPDDR4 IP解决方案
Synopsys完整的LPDDR4 IP解决方案包括1个内嵌I/O的LPDDR4 multiPHY,增强型通用DDR内存控制器(uMCTL2)和协议控制器(uPCTL2),验证IP,建模工具,以及IP硬化和信号完整性分析服务。IP完全支持LPDDR4标准,并可灵活配置,以发挥上文所述的多通道体系结构的优点。
Synopsys DDR内存控制器包含uMCTL2内存控制器,它提供了与SOC的多端口或单端口连接。可用总线包括1~16端口的AXI3、AXI4或AHB。对于需要在内存控制器之外做内存传输调度的系统,我们提供了单端口协议控制器uPCTL2。
uMCTL2具有低延迟、高带宽和强大的QOS特性,包括QOS驱动的仲裁和高性能内存调度算法。内存控制中的低功耗功能具有自动的特点,允许设计团队将重心放在系统设计方面。他能够支持包括DDR2、DDR3、DDR4、LPDDR2、LPDDR3和LPDDR4等多种内存标准。对于车载应用和其他高可靠性系统,IP提供了多种可靠性、可用性、可服务性(RAS)特性。
面向LPDDR4的uMCTL2内存控制器提供了一种基于CAM的调度架构,尤其针对2667-4266的数据率进行了优化,并支持多种地址映射机制,为不同使用模式和多内存类型的系统提供了高度灵活性。它具有自动断电功能,自刷新功能以及快速频率转换功能,支持自动温度监测和刷新率调节。
结论
LPDDR4多通道规范为新颖的系统设计提供了新的机会,尤其是多通道体系结构可以改善系统性能。设计团队需要综合考虑性能、功耗和设计复杂度来部署实施LPDDR4架构。