账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
鉴往知来 洞察不同应用领域的DRAM架构(上)
 

【作者: imec】2020年08月13日 星期四

浏览人次:【15014】

这些年来,记忆体领域出现了各种动态随机存取记忆体(DRAM)标准,这些标准也都各自进一步发展出不同世代的版本。本文上篇将回顾不同DRAM架构的特色,并点出这些架构的共同趋势与瓶颈,下篇则会提出爱美科为了将DRAM性能推至极限而采取的相关发展途径。


动态随机存取记忆体(dynamic random access memory;DRAM)主要被用来当作电脑的主要记忆体,中央处理器(CPU)便是从该记忆体读取指令。这些年来也出现了不同的DRAM标准,以满足不同需求与应用。为了回应对频宽越来越高的要求,这些标准都各自进一步发展出不同世代的版本。


爱美科系统记忆体架构师Timon Evenblij与计画主持人Gouri Sankar Kar将于本文回顾不同DRAM架构的特色,并点出这些架构共同面对的趋势与瓶颈。他们也会提出爱美科采取的相关发展途径,以将DRAM性能推升至最终极限。


DRAM的基本概念

位元格(bit cell)

在开始探讨不同的DRAM架构之前,我们先来了解DRAM的基本概念吧!以下说明以卡内基.梅隆大学Onur Mutlu教授的课程为基础。


所有的记忆体都以位元格(bit cell)构成,它是恰好储存1位元的半导体架构,因而得其名。对DRAM来说,其位元格包含了一个电容(capacitor)和一个电晶体(transistor);电容被用来储存电荷,而电晶体则用以存取电容,不论是去读取已储存的电荷量,或是去储存新的电荷。


字元线(wordline)一直与电晶体的闸极相连,以控制往电容的通道;位元线则与电晶体的源极相连,以读取位元格内储存的电荷,或是在写入新的数值时提供位元格所需的电压。这个基本架构很简单且体积小,所以制造商可以在单一晶片上非常大量制造DRAM的位元格。


但其缺点是,单一电晶体不容易在其狭小的电容中保存电荷,电流会泄漏至电容或从电容中流出,导致电晶体渐渐失去定义完善的电荷状态。但是这个问题可以透过定期更新(periodically refresh)DRAM记忆体来避免,也就是读取DRAM记忆体的内容后再重新写入。


有在专心阅读的读者可能已经发现问题了,当电荷自电容中读取出来时,电荷就消失了。但是在读取DRAM位元格的数值后,该数值应该要再重新写入,这也是为何DRAM取名含有「动态」一词。



图一 : DRAM位元格的示意图
图一 : DRAM位元格的示意图

进入位元格阵列

多个位元格可以整合成如矩阵般的大型架构。多条字元线和位元线相互交叉,而每个交叉点都有一个位元格在处理资料。而对某字元线施加电压就能选出所有相应的位元格,这些位元格则会将电流传至各自的位元线。这些电流将微幅改变每条位元线的电压,这个小改变会由感测放大器(sense amplifier)侦测出来。


感测放大器这种结构会将小幅增加的电压放大成高电压(代表逻辑1),并把微幅降低的电压放大成零电压(代表逻辑0)。它也会将各个逻辑数值储存至一个多闩(latches)结构,也就是所谓的列缓冲区(row buffer)。列缓冲区的功能就像是快取记忆体,因为位元格内的数值在读取时会消失,所以在读取某条字元线上的数个位元格时,列缓冲区就会保存读取而来的数值。


感测这个步骤本身就是缓慢的过程,而电容越小、位元线越长时,感测时间就会延长。这段感测时间也决定了DRAM的存取时间,而在过去几十年间,DRAM的感测时间一直维持不变。每一代DRAM的可用频宽增长,皆是透过在DRAM晶片上运用更多平行处理能力来实现,而不是由缩短存取时间达成。


但在深入探讨这个议题前,我们先来看看如何运用这些位元格来建构记忆体系统。这里谈到的架构通常用于采用记忆体模组(memory module)的桌机系统。至于其他DRAM架构,它们并未采用模组的概念,但大多都能以相同的术语来描述其运作模式。


DRAM架构

在处理器上,有部份的逻辑电路是专门设计给记忆体控制器(memory controller)来使用,这些电路负责管理所有从CPU到主要记忆体的通道。


处理器可能有多个记忆体控制器,而记忆体控制器具备一个或多个记忆体通道(memory channel),每个通道包含一个指令或位址汇流排,以及一个资料汇流排(预设状态下宽度为64位元)。


在该通道上,我们可以连接一个或多个记忆体模组,而每个记忆体模组包含一个或两个秩(rank)。一个秩包含几个DRAM晶片,这些晶片整合在一起就能在每个周期提供足够的位元来填充资料汇流排。


在一般情况下,也就是资料汇流排为64位元宽且每晶片提供8位元的储存空间(所谓的x8晶片),一个秩包含8个晶片。如果模组配有超过一个秩,这些秩会多工传输至同一个汇流排,所以不同秩不能同时向该汇流排传输资料。


每秩上的各晶片以相同速度同步运行,也就是说它们会一直执行完全相同的指令,且不能分开定址。这对接下来要说明的概念来说很重要:每个晶片包含数个记忆体库(memory bank)—记忆体库就是数个位元格所组成的大型矩阵,而位元格,如上所述,具备字元线、位元线、一个感测放大器以及列缓冲区。由于同一秩内的晶片会同步运行,所以记忆体库一词也可以指同一秩内的8个晶片上的8个记忆体库。


在第一个案例,我们会使用「实体记忆库」一词,而在第二个案例,则偏好使用「逻辑记忆库」一词,但其实文献资料并不总是清楚界定这些术语。


在介绍这些术语后,我们现在就可以来谈谈不同的DRAM架构和世代,以及它们如何奠基在彼此的架构上进行改良。我们一样会先从个人电脑(PC)的常规DRAM模组谈起。


DRAM标准

常规DDR

DRAM记忆体已经存在许久,但我们不会在此上一堂完整的历史课。我们只会在开始讨论双倍数据传输率(double data rate;DDR)世代之前,先快速带过单倍数据传输率(single date rate;SDR)记忆体。我们要了解SDR的重点,是其介面与资料汇流排的I/O时脉(IO clock)与记忆体的内存时脉(internal clock)频率相同。这种记忆体受限于其内部记忆体的存取速度。


第一代DDR的目标是在每I/O时脉周期传输两个资料字组(data word),一组在时脉升缘时传输,另一组则在降缘时传输。此传输模式的设计者采用了预取(prefetching)这个概念来实现将传输速率翻倍。一个被称为「预取缓冲区(prefetch buffer)」的结构被插置在DRAM记忆体库和输出电路之间,这个小型缓冲区在每时脉周期、同一条汇流排上能够储存的位元数量,是原本SDR设计的两倍。


就x8晶片而言,其预取缓冲区为16位元。我们将此称作「2n」预取缓冲区。以读取一整列DRAM的内存读取周期来说,例如读取一列包含2000行的数据,就会有很多资料能来填充该预取缓冲区。该缓冲区内也会有足够的资料来填充汇流排,在时脉的升降两缘分别传递一组字组。


这个预取概念也适用于DDR2架构,只是其预取缓冲区变成「4n」。如此,设计者就能将I/O时脉提升至内存时脉的两倍,且在每周期内都能将资料汇流排填满资料。以此类推,DDR3同样将预取缓冲区的位元数翻倍(亦即「8n」),而其I/O时脉现在增至内存时脉的四倍。



图二 : DDR的预取机制(source:synopsys)
图二 : DDR的预取机制(source:synopsys)

但是,如此类推还是有个极限。将预取缓冲区的传输位元数再度翻倍以达到「16n」,意味着每个读取指令中会有64个位元被传递至处理器16次,此资料量是一般快取行(cache line)的两倍(快取行是处理器快取资料的基本单位)。如果只有一条快取行包含有用资料,那么再去传递第二条快取行就会浪费很多时间和能耗。


因此,DDR4并未将预取的位元数翻倍,而采用了另一项技术,叫做记忆体分组(bank grouping)。该技术引进多组记忆体库,每组都有各自的8n预取缓冲区,另有一个多工器负责从适切的分组里选取输出资料。如果控制器的记忆体请求能以交错的方式发出,以连续请求来存取不同分组的资料的话,I/O速度一样能成长一倍,变成内存时脉的八倍。



图三 : 记忆体分组机制的示意图。(source:synopsys)
图三 : 记忆体分组机制的示意图。(source:synopsys)

那么接下来的DDR5会如何发展?其目标也是要将I/O速度翻倍。 DDR5呢,计画是引用一项已应用在LPDDR4的技术,我们称之为通道分裂(channel splitting)。


该技术将64位元的汇流排分成两个独立的32位元通道。因为现在每通道只提供32位元的资料空间,我们就能将预取增加至16n,这就能将存取粒度提升至64位元组,刚好等于一般快取行的资料大小。如此增加预取的资料量就能再次提升I/O时脉速度。


当然,提升I/O时脉速度并不只是在每周期内以充足的可用资料填充汇流排那样简单,还要面对多种与高频率讯号相关的挑战,像是讯号完整性、杂讯与功耗使用的问题。这些挑战可以运用几项技术解决,例如晶片内建终端架构(on-die termination)、差分时脉(differential clocking),以及将记忆体与处理器进行更密切的整合。这些技术大多源自其他DRAM架构,也就是LPDDR和GDDR,但我们将更聚焦在一个整合的概念上。



图四 : 各代DDR记忆体的规格比较。
图四 : 各代DDR记忆体的规格比较。

LPDDR

LPDDR指的是低功耗双倍数据传输率(low power DDR)。该标准的主要概念,一如其名,就是降低记忆体的功耗,而要实现这个目标有很多种方法。


LPDDR和普通记忆体的第一个差异,在于它和处理器的连接方式。 LPDDR记忆体与处理器紧密整合,不论是被焊接在主机板上,与CPU紧邻,或是采用越来越普及的作法—以封装层叠技术(package-on-package;PoP)直接堆叠在处理器上方(通常是SoC)。更加紧密的整合能让连接记忆体和处理器间的导线电阻更小,进而降低功耗。



图五 : 以封装层叠技术进行整合的示意图。 (source:wikipedia)
图五 : 以封装层叠技术进行整合的示意图。 (source:wikipedia)

第二个差异则是通道宽度。 LPDDR记忆体没有固定的汇流排宽度,虽然一般来说最常见的是32位元。这个规格与普通记忆体相比算是较小,因而能节省能耗。


此外,LPDDR记忆体以较低的电压运作,这也会大大影响功耗。最后一点,LPDDR藉由多种办法优化记忆体更新这个步骤,像是依据温度调适更新、局部阵列自行更新(partial array self-refresh;PASR)、深度省电状态(deep power-down state)等,将LPDDR的备用功耗(standby power)大幅降低了。


我们现在不会深入探讨这些技术,但基本上它们都必须牺牲部份的反应时间,以换取更低的备用功耗,因为记忆体在能够回应请求前,需要一些时间从省电模式中「醒来」。


如上所述,不同代的LPDDR记忆体也采用了预取技术来增进性能。然而,LPDDR4是第一个引进16n缓冲区与通道分裂技术的标准,而LPDDR5预计会是第一个推出记忆体分组功能的标准。



图六 : 各代LPDDR记忆体的规格变化。
图六 : 各代LPDDR记忆体的规格变化。

GDDR

GDDR亦即绘图用双倍数据传输率(graphics DDR),其命名暗指该标准适用于绘图晶片专用的记忆体。如今,这类记忆体在任何具备高频宽需求的应用上都相当备受瞩目,因为高频宽就是其焦点所在。


GDDR记忆体也与处理器—也就是图形处理器,密切地整合在一起,方法是将之焊接在PCB上。但GDDR记忆体并非直接放在GPU上方,因为这样很难达到预定的电容,且在此情况下会很难降温。


与传统DDR晶片(例如32位元)相比,GDDR晶片的频宽更宽,且每个晶片都直接连接至GPU,不须在一个固定64位元的汇流排上进行多工处理。也就是说,绘图晶片上会有更多GDDR晶片,也就会有更宽频的汇流排。


此外,由于这些晶片的接线不须进行多工处理,接线的频率也提高了,就能进一步提升GDDR记忆体的I/O时脉频率。透过使用更小的阵列与更大的周边电路,记忆体内部的读取速度变快了,I/O时脉速度因而提升,同时降低GDDR晶片的记忆体密度。


而更紧密结合记忆体与处理器也代表着,绘图晶片的最终电容更加受限,毕竟与大尺寸GPU紧密整合的GDDR晶片数量最多只有12个。


为了提升记忆体频宽,各代GDDR架构也采用与开发DDR时一样的技术。第一代GDDR标准是GDDR2,该标准基于DDR;而GDDR3基于DDR2;接下来是GDDR4,因为这代几乎不存在,所以略过不谈;GDDR5则以DDR3为基础,且一直到现在还是非常流行,GDDR5采用差分时脉,还能立即开启两个记忆体分页(memory page)。


GDDR5X则是增进GDDR5性能的过渡版本,采用了具备16n缓冲区的四倍数据传输率(quad data rate;QDR)模式,但缺点是存取粒度变大了,但这对GPU来说不是大问题;GDDR6则将通道分裂开来,就像LPDDR4,这样就能在同一汇流排上提供两个更小的独立通道,把存取粒度变小,实现具备16n缓冲区的QDR模式;没错,如此说来,GDDR6应该更适合叫做GQDR6。



图七 : 各代GDDR记忆体的规格比较。
图七 : 各代GDDR记忆体的规格比较。

(本文由爱美科授权刊登;作者Timon Evenblij(1)、Gouri Sankar Kar(2)为爱美科(1)系统记忆体架构师、(2)SCM/DRAM/MRAM等研究计画的主持人; 编译/吴雅婷)


相关文章
imec总裁:2023是AI关键年 快速影响每个人
革命性医疗成像 imec用非侵入超音波监测心脏
堆叠层数再升级 储存容量免焦虑
晶背供电技术的DTCO设计方案
可程式光子晶片的未来动态
comments powered by Disqus
相关讨论
  相关新闻
» 工研院秀全球最灵敏振动感测晶片 可测10奈米以下振动量
» 安立知以全方位无线通讯方案引领探索6G时代
» 再生能源成长创新高 但发展程度并不平均
» 意法半导体突破20奈米技术屏障 提升新一代微控制器成本竞争力
» Pure Storage携手NVIDIA加快企业AI导入 以满足日益成长的需求


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK83SDA64S4STACUKO
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw