找回密码
 注册
关于网站域名变更的通知
查看: 361|回复: 1
打印 上一主题 下一主题

DRAM的架构历史和未来

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-21 16:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
内存是计算机系统设计中的重要主题。在IMEC,我们为独立以及嵌入式应用程序开发了多种新兴的内存技术。包括用于高速缓存级应用的MRAM技术,改进DRAM设备的新方法,填补了DRAM和NAND技术之间空白的新兴存储器,用于改进3D-NAND存储设备的解决方案以及用于归档类型应用的革命性解决方案,以满足未来Zettabyte时代的内存需求。
/ P$ b. W& }- M! [在本文中,我将只使用基于动态随机存取存储器(DRAM)的存储器,该存储器通常用作计算机系统中的主内存。对于这种类型的内存,我想从架构的角度出发,以便更全面地认识它们。在提供了一些背景信息之后,我将研究不同的内存标准及其年代,以确定一些常见的趋势和瓶颈。
4 V+ m' d% @; [, |) N- M6 O" f" D在探究不同的DRAM之前,让我们基于O. Mutlu教授的演讲,从基础知识开始入手。
. w/ x6 e, k" P4 C* m
背景

& v- T0 K. n1 o% K- [$ U9 |存储单元:任何存储器都是使用存储单元建立的,这是一种半导体结构,仅存储1位,因此得名。对于DRAM存储器,存储单元由一个电容器和一个晶体管组成。电容器用于存储电荷,晶体管用于访问电容器,可以读取存储了多少电荷,也可以存储新的电荷。字线(wordline)始终连接到晶体管栅极,控制对电容器的访问。位线(bitline)连接到晶体管的源极,可读取存储在电池中的电荷,或在向电池写入新值时提供电压。这种基本结构非常简单且体积小,因此制造商可以在模具上加工大量此类材料。一个缺点是单个晶体管不能很好地将电荷保持在小电容器中。它将使电流从电容器泄漏或流向电容器,从而随着时间的流逝而失去其明确定义的充电状态。通过定期刷新DRAM存储器可以避免此问题,这意味着读取存储器的内容并将其重新写回。细心的读者可能还注意到,当从电容器读取电荷时,电荷消失了。从DRAM单元读取值后,应再次写入该值。这就是将DRAM命名为“动态”的原因。9 G* ^6 Z3 F- {- ^$ L/ }9 ^
存储单元可组合成大型的矩阵状结构。长字线和位线彼此交叉,并且在每个交点处处理一个存储单元。在字线上施加电压会选择所有对应的单元,这会将它们的电荷置于各自的位线上。该电荷将非常轻微地改变每个位线的电压。使用感测放大器可检测到这种轻微变化,该结构将电压的小正变化放大到高电压(代表逻辑1),并将电压的小负变化放大到零电压(代表逻辑0)。读出放大器将逻辑值存储到称为行缓冲的存储器结构中。行缓冲的作用就像是一个高速缓存,其中保存的值只能是从单个字线上的存储单元中读取的值,这个值在被读取后会在该存储单元中消失。传感过程本质上是一个缓慢的过程,电容器越小且位线越长,该过程花费的时间就越长。该传感时间决定了DRAM访问时间,在过去的几十年中,它一直保持着相同的值。每一代DRAM的可用带宽不断增加,是通过增加DRAM芯片中的并行性实现的,而不是通过减少单元访问时间来实现的。但是,在深入探讨这个问题之前,让我们看一下如何使用大量这些存储单元来构建内存系统。我在这里描述的体系结构是针对使用内存模块的典型桌面系统的。但对于其他DRAM类型,或不使用模块的大多数架构,也可以用相同的术语来描述。
) n; @* v1 j( B: r2 y, }9 n被用于处理器上的DRAM中有一部分逻辑专用于存储控制器。这个逻辑负责处理从CPU到主存的所有访问。处理器可以具有多个内存控制器。内存控制器具有1个或多个内存通道。每个存储通道均由命令/地址总线和数据总线(默认情况下为64位宽)组成。我们可以在该通道上连接1个或多个内存模块。每个内存模块由1或2个 rank组成。rank包含许多DRAM芯片,这些芯片组合在一起可以在每个周期内提供足够的bit以填充数据总线。在正常情况下,数据总线为64 bits,每个芯片提供8bits(所谓的x8芯片),一个rank将包含8个芯片。如果超过一个rank,则rank在同一总线上是多路复用的,因此它们不能同时将数据放入总线。每个rank芯片都是同步运行的,这意味着它们始终执行的是完全相同的命令,因此无法单独寻址。这对于以下内容很重要:每个芯片由几个存储体(memory bank)组成,如前文所述,这些存储体是由具有字线、位线、读出放大器和行缓冲区的大矩阵位单元组成的。由于每个芯片都是由排列整齐的芯片组成,因此“存储体”一词也可以指同一rank的8个芯片上的8个bank。在第一种情况下,我们可能会使用“physical bank”这个术语,而在后一种情况下,我们更倾向于使用“ logical bank ”这个术语,但这个术语在文献中的定义不是很明确。5 U9 v7 Z" v, ^' ?% I1 X. l
虽然内存库中还存在着更小的结构,但在本文中我不讨论它们。借助所有先前的术语,我们现在可以讨论不同的DRAM类型和世代,以及它们如何相互改进。再次,让我们首先从用于PC的常规DRAM模块开始。
8 t- S* w6 d* \* K4 `* {! h/ B% ^
DRAM标准

% D* Y- r2 q3 h  V常规DDR DRAM内存已经存在很长时间了,但是我不会为您提供完整的历史。我将很快回顾单数据速率(SDR)存储器,然后再介绍双倍数据速率(DDR)。关于SDR,我们需要了解的是接口和数据总线的时钟(IO时钟)与内部存储器的频率(内部时钟)相同。这种存储器会受导其内部存储器访问速度的限制。6 t( a; Q; K2 {
第一代DDR旨在在每个IO时钟周期内传输两个数据字,第一个字在时钟的上升沿,另一个在时钟的下降沿。设计师通过引入预取的概念来做到这一点。在DRAM bank和输出电路之间插入了一个预取缓冲器。它是一个小型缓冲器,可以存储原始SDR设计中每个周期要放在总线上的位数的2倍。如果是x8芯片,则预取缓冲区的大小为16位。我们称其为2n 预取缓冲区。在完整的DRAM row(例如2k column)的单个内部读取周期中,有足够多的数据来填充此预取缓冲区。在该预取缓冲区中,有足够的数据在时钟的两个边沿上用一个字填充总线。: D  K5 _+ `& C: X, u
DDR2采用了相同的预取思想,现在预取缓冲区为4n。与内部时钟相比,这使设计人员可以将IO时钟加倍,并且仍然在每个周期将数据填充到数据总线中。DDR3进一步推动了同样的想法,再次将预取(8n)和IO时钟加倍,现在是内部存储器时钟的4倍。! A7 Z7 `! K- W6 m, r& k6 X: w

7 @; @1 C8 p6 Q$ P# P图2. DDR中的预取4 }% C1 V' H" u  ~
但是,我们继续按照这种方法进行推进,存在着一定的局限性。将预取缓冲区再加倍至16n,则意味着对于每个读取命令,将有16倍64 bit向处理器传输。这是高速缓存线路(用于处理器缓存的基本数据单元)的两倍大小。如果只有一条高速缓存线路包含有用的数据,那么传输第二条高速缓存线路将会浪费大量的时间和精力。因此,DDR4没有将预取加倍,而是应用了另一种技术:存储体分组。该技术引入了多组bank,每组都有自己的8n预取缓冲器,通过一个多路复用器从正确的组中选择输出。如果来自控制器的内存请求被交错,以便它们在连续的请求中访问不同的组,则IO速度可以再次加倍,现在是内部时钟速度的8倍。
5 H( G! b( p) F; x  J3 D( P4 J- k7 u
" ]- h, O6 A2 O" H/ h$ ^图3:bank group: k8 Y; b( G$ z6 Y5 ?
那么,DDR5的下一步是什么呢?DDR5还旨在使IO速度提高一倍?嗯,DDR5的目的是借用LPDDR4中已经实现的一种技术,我们称之为通道拆分。64位总线分为2个独立的32位通道。由于每个通道现在仅提供32 bit,因此我们可以将预取增加到16n,这将使得访问粒度达到64字节,正好等于高速缓存线的大小。预取的增加再次允许更高的IO时钟速度。/ A" m- d! A4 \" b) ~
但提高IO时钟速度并不容易。与高频信号有关的多个挑战已显现出来,例如信号完整性,噪声和功耗。这些可以通过几种技术来解决,例如片上终止、差分时钟以及与处理器进行更紧密的内存集成(表1)。这些技术主要源自其他DRAM类型,即LPDDR和GDDR,但我将更加关注于集成。
2 p$ F# o6 V, A
* s( U( t( ?/ h3 A, ^表格1
! k: \* ^: C2 l, J+ H7 X5 P! c  g/ }2 H5 Y* a) O
8 s. R" I3 v( F8 p  |4 t
LPDDR LPDDR代表低功耗双倍数据速率。顾名思义,该标准的主要思想是降低内存的功耗。这可以通过多种方式完成。
9 e1 U6 B3 U0 q# d常规内存的第一个区别是内存与处理器的连接方式。LPDDR存储器与处理器紧密集成在一起,或者焊接在主板上,靠近CPU,或者它直接在处理器(在这种情况下,通常是SoC)的顶部以 package-on-package封装的形式实现,这种形式越来越常见。紧密的集成可减少将内存连接到处理器的长导线中的电阻,从而降低功耗。* o# z) x4 ~9 w$ Z: V3 o( Z) f
7 K+ t7 w6 [$ h, _3 v9 y
; j- A% Y2 S& X  H; U1 S' h4 j. w
第二个区别是通道宽度。LPDDR存储器没有固定的总线宽度,尽管最常见的是32位总线。与常规存储器相比,这是一条较小的总线,可节省功耗。同样,在存储器中使用较低的电压,这也对功耗产生很大的影响。最终,通过各种方式优化刷新操作,例如温控调整的刷新,部分阵列自刷新,深度掉电状态等等,大大降低了LPDDR存储器的存储器待机功耗。我现在不会更深入地研究这些技术,但是通常它们会在一些响应时间和较低的待机功耗之间进行权衡,使其从更省电的状态中“醒来”。
) F& H$ B* @9 q% Z! d- o  ^表2显示了LPDDR存储器的世代变化,实现了与上一节中讨论的相同的技术来提高性能。但是,LPDDR4是引入16n预取和通道分割的第一个标准,而LPDDR5有望成为引入bank分组的第一个LPDDR标准。0 B' [5 F! Q* l
1 |" T$ e' D9 n' z$ l
' G  y3 @! d# _! \# }# r/ p
表格20 Z) ?3 g. a! o  f* P, `
GDDR GDDR代表图形两倍数据速率,这意味着该标准适用于图形卡中使用的内存。如今,它们对于任何具有高带宽需求的应用都很有兴趣,因为这是他们关注的重点。通过焊接在PCB上,GDDR内存也与处理器(在本例中为图形处理器)达成了紧密集成。这些不是在GPU之上实现的,因为在这种情况下将很难达到所需的容量,此外,在这种情况下也很难进行散热。与典型的DDR芯片(例如32位)相比,每个GDDR芯片具有更大的宽度,并且每个芯片直接连接到GPU,而无需在固定的64位大小的总线上进行多路复用。这意味着在图形卡上具有更多的GDDR芯片,也意味着具有更大的总线。消除连接的多路复用还可以提高这些连接的频率,从而在GDDR存储器中实现更高的IO时钟频率。通过使用较小的存储器阵列和较大的外围设备,可以通过提高内部读取速度来实现更高的IO时钟速度,从而降低GDDR芯片的存储密度。紧密的集成意味着图形卡的最终容量将受到更大的限制,因为只有12个GDDR芯片可以紧密地安装在大型GPU周围。
& k( u# \1 X3 I' e  \在整个GDDR代(表3)中,使用与DDR中相同的技术来提高内存带宽。第一个GDDR标准是基于DDR的GDDR2。GDDR3基于DDR2。GDDR4几乎不存在,可以跳过此处。GDDR5基于DDR3,并且在过去一段时间中非常流行。它实现了差分时钟,可以一次打开两个内存页面。GDDR5X是GDDR5的中代性能增强,它引入了具有16n预取的四倍数据速率(QDR)模式,但代价是访问粒度更大,这对于GPU来说不成问题。然后,GDDR6与LPDDR4一样使用了拆分通道。这在同一总线上提供了两个独立的较小通道,从而实现了较小的访问粒度,从而成为16n预取QDR模式的标准。这意味着GDDR6可能更恰当地命名为GQDR6。
2 r  t; D5 G1 J4 L  P7 H4 a
( K' @* ^( P1 Z2 j: D4 h) |
4 \+ B( O8 ]6 t5 ^  k$ l1 i 7 G' w. q5 v9 c% \$ \3 H+ G# j3 P
3D革命

! ]8 K, m- q. q先前讨论的所有事情都发生了,而目前没有发生任何3D革命。3D在半导体术语中可能有很多含义,但目前它主要是指使用硅通孔(TSV),它们是管芯中的垂直互连,可以使用管芯之间的微凸点进行连接。现在,两个彼此叠置的管芯可以与许多非常小的垂直互连进行通信。这是全新的设计和体系结构。与前面讨论的DRAM类型相结合。最著名的是高带宽内存(HBM),它是GDDR的3D对应物。混合存储立方体(HMC)是一种被提议的3D模型,按照计划,它可用于与通用DDR类似的应用,由美光公司开发,但在2018年被取消。宽I / O是三星推动的JEDEC标准,是用于SoC中LPDDR存储器的3D对应物,但我还没有听说过真正实现的消息。
& f' h: {2 G* S2 ]
HBM

0 Y6 ]6 \8 O* L: y- @HBM与GDDR有很多共同点。内存芯片也与GPU紧密集成。它们也没有放在GPU之上,因为我们仍然需要大量的容量,并且需要散热芯片。" h8 c0 R+ \! p6 b- ]( o
那有什么不同呢?首先,不是将内存芯片放置在靠近GPU的PCB上,而是把它们放在将芯片与GPU连接的插入器上(图5)。如今,通常使用无源硅中介层,它是一个大型硅芯片,但没有任何有源组件:它仅具有互连。这种插入器的优点是我们可以在其上面进行更多的并行互连,而这些互连不需要消耗大量的功耗。因此,可以创建非常宽的总线,这在PCB上是不可能的。这种插入器虽然很容易创建,但仍然是一块很大的硅片,因此成本更高。
3 j0 Z  g2 q3 c0 P1 B, `
& Z8 e  n+ |  h9 d: E3 `3 }% u; B , s7 ?, C/ v# v' H8 q+ G( s
表4列出了HBM一代的一些关键规格。当前,HBM2存储器可用。有趣的是,三星最近发布了HBM2e内存,该芯片的芯片规格更高,每个管芯的容量更大(16Gb),数据传输速率更高(每个堆栈410 GB / s)。
. l9 g8 ]* [/ D; m6 u- p
* X7 B0 |, b/ l0 n/ ^: S$ ?
HMC

) C& v$ T% M! Z, H& S. ^+ o5 s尽管美光公司取消了在HMC标准上的推动,但我还是要说几句话。HMC是常规DDR存储器的3D对应物,在未来的服务器中可能会备受欢迎。这种看法在行业中并不是很明确。HBM实际上专注于带宽,它需要紧密集成,权衡容量和可扩展性。这称为近存储器。HMC专注于容量,可以轻松地将更多内存堆栈插入服务器,就像将更多DDR内存轻松插入具有空闲插槽的主板一样。它提供了高系统总存储容量所需的松散集成。有时称为远存储器。
6 C# @% \- {8 M- q除了这种相似性之外,HMC是与DDR差别最大的标准,比本文中提到的任何其他标准都要大。它使用的不是DDR信号,而是使用内存包来进行处理器和内存块之间的高速串行链路发送。通过这种方式,可以在有限的互连条件下实现更高的容量。而且,内存控制器可以完全集成在每个立方体的基础芯片中,而不是像DDR一样位于CPU芯片上,或者像HBM一样分布在GPU和内存堆栈上(图8)
9 v/ p1 U- v( y# i4 M( w1 |; R
. N8 M3 ^1 B/ z' A9 M, F
宽I/O
& V' [. h$ l' q9 Y4 f+ P
宽I / O是LPDDR存储器的3D对应物,它选择了集成以达到可能的最低功耗。预计这些存储器将使用TSV直接连接到CPU芯片,直接集成在SoC之上。同样,根据TSV技术的密度和大小,实现很宽的总线也是可能的。但是,这种集成也将需要SoC中的TSV,这会消耗大量宝贵的逻辑区域,因此非常昂贵。这可能是为什么我尚未看到使用此技术的任何商业产品的重要原因。有趣的是,第一个Wide I / O标准实现了SDR接口,但是第二代标准则又转向了DDR接口。
8 i9 B1 C1 j' n' O0 J+ q" _% C
结论

5 @; s3 Z4 p" ^9 `$ w- ^3 d% m/ @2 L6 v希望您已经了解了更多不同的DRAM。最后,每个标准都实施了相同的思想以提高每一代的带宽,包括诸如更大的预取缓冲区,存储体分组,通道划分,差分时钟,命令总线优化和刷新优化之类的技术。每个标准都有自己的重点——第一类是关注容量和灵活集成(DDR和HMC),第二类是着重于最低功耗(LPDDR和Wide I / O),第三类的重点则在于最高带宽(GDDR和HBM)。  |: ?8 I8 z! v  U7 G
有趣的是,对于每个目标市场,3D技术为该表带来了什么。3D集成允许宽总线和低电阻,低噪声的互连。尽管技术和收益是革命性的,但在大多数情况下,架构原理和权衡实际上并没有太大不同。, T% k( w) B( R7 T& Z. F; \

# ?# R6 w4 o5 B- Z5 t- X- `, y/ z  i& p3 j' p

20.jpg.png (297.99 KB, 下载次数: 1)

20.jpg.png

该用户从未签到

2#
 楼主| 发表于 2020-3-21 16:44 | 只看该作者
LPDDR5已影响产品了,DDR5也要影响产品了,你准备用吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-21 16:48 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表