DDR内存的前世、今生和未来!

描述

从1998年三星生产出最早的商用DDR SDRAM芯片到现在差不多已经过去20多年了,DRAM市场一直在发展,从DDR到DDR2,DDR3,DDR4,然后是即将进入市场的DDR5。今天我们来聊一下DDR的JEDEC规范。

什么是JEDEC?

JEDEC全称:JointElectron Device Engineering Council   JEDEC是一个全球性的固态技术协会组织,理论上不隶属于任何一个国家或者政府实体,为半导体产业制定标准。包括很多方面,今天我们只关注DDR的相关规范。   DDR的开发是从1996年开始,对应JEDEC的规范 JESD79于2000年发布。JEDEC规范由两部分组成,一个是针对memory chip,另外一个是memory module。当然,随着RDIMM,LRDIMM的兴起,JEDEC相对应的制定出了RCD和Data Buffer的规范。我们今天主要聊JEDEC的SDRAM规范,也就是JESD79系列, 这里大家需要注意的是这个规范是针对DRAM芯片的,而不是内存条。有兴趣的同学可以去JEDEC网站上去下载相对应的规范,规范最后面的字母代表版本,比如JESD79-4C的C就代表目前针对DDR4 SDRAM的规范的版本是C。而JESD79后面的数字就代表了是DDR第几代。目前JEDEC网站上针对DDR5 SDRAM的规范还在制定当中,如果继续按照这个命名规律的话,应该是JESD79-5。

Name Doc
Double  Date Rate (DDR) SDRAM JESD79F
DDR2  SDRAM Specification JESD79-2F
DDR3  SDRAM Standard JESD79-3F
DDR4  SDRAM JESD79-4C
DDR5: JEDEC DDR5 standard in currently in development NA

 

JEDEC的网站:www.jedec.org

下面这个表列举了JEDEC 规范从DDR到DDR5的主要变化,我们可以看到,为了配合整体行业对于性能,容量和省电的不断追求,规范的工作电压越来越低,芯片容量越来越大, IO的速率也越来越高。虽然目前DDR5的JEDEC规范还没有正式出台,但是我们可以从这个趋势以及现有网上的资料得到相同的结论。

Feature
/Option
DDR DDR2 DDR3 DDR4 DDR5*
Voltage 
(VDDQ)
2.5V 1.8V 1.5V 1.2V 1.1V
Device 
Width
x4, x8, 
x16
x4, x8,
x16
x4, x8, 
x16
x4, x8, 
x16
x4, x8, 
x16
Die 
Density
64Mb~
1Gb
128Mb~
4Gb
512Mb~
8Gb
2Gb~
16Gb
8Gb~
64Gb
Data 
Rates
200~
400MT/s
400~
800MT/s
800~
1600MT/s
1600~
3200MT/s
3200~
6400MT/s
Prefetch 2n 4n 8n 8n 16n
Bank 4 up to 8 8 4 banks
per group
2 or 4 
banks 
per group
Bank
Group
NA NA NA 4 for 
x4/X8;
2 for x16;
8 for 
x4/x8;
4 for x16;
Burst 
Length
2, 4 or 8 4 or 8 8         8         16

 

表 (一)

声明:目前DDR5的JEDEC标准还没有正式发布,因此这里所有的DDR5相关的数据来自于网上公开的数据,后续以JEDEC发布为准。同时,从DDR5开始,每根内存上有两个独立的通道。

从上面的表里面我们还可以看到,除了电压,容量和IO的速率变化之外,还列出了Bank, Bank Group,Prefetch和Burst Length的演进,bank数越来越多,到DDR4出现bank group,prefetch也从2n增加到4n,8n。那么这些变化之间有什么联系吗?DDR5又会有什么样的变化?要了解这些,我们需要回顾一下SDRAM的基本读写操作,以及DRAM的核心频率和IO频率。

Prefetch和burst length

虽然我们说现在DDR4的最大速率是3200MT/s, 但是这是指的DDR4的IO频率,即DDR4和memroy controller之间的接口数据传输速率。那么DRAM是怎么实现用比较低的核心传输频率来满足日益高涨的高速IO传输速率的需求呢?这就是靠prefetch来实现的。

  Prefetch Core  
Frequency
IO  CLK
Frequency
IO  
Data Rate
SDRAM      NA 100-150 
MHz
100-150 
MHz
100-150 
Mbps
DDR 2       100-200 
MHz
100-200 
MHz
200-400 
Mbps
DDR2 4       100-200 
MHz
200-400 
MHz
400-800 
Mbps
DDR3 8       100-266 
MHz
400-1066 
MHz
800-2133 
Mbps
DDR4 8       100-266 
MHz
800-1600 
MHz
1600-3200 
Mbps
DDR5* 16     100-266 
MHz
1600-3200 
MHz
3200-6400 
Mbps

 

表 (二)

从DDR开始到DDR3很好理解,Prefetch相当于DRAM core同时修了多条高速公路连到外面的IO口,来解决IO速率比内部核心速率快的问题,IO数据速率跟核心频率的倍数关系就是prefetch。那么这么一路增加prefetch,到了DDR4为什么不继续增加prefetch了呢?因为prefetch的增加对应的就是burst length的有可能相应增加。怎么理解prefetch和burst length之间的关系呢?Prefetch跟DRAM核心频率和IO频率之间的比例相关,而burst length的长度跟CPU的cache line大小有关。Burst length的长度有可能大于或者等于prefetch。但是如果prefetch的长度大于burst length的长度,就有可能造成数据浪费,因为CPU一次用不了那么多。所以从DDR3到DDR4,如果在保持DDR4内存data lane还是64的前提下,继续采用增加prefetch的方式来提高IO速率的话,一次prefetch取到的数据就会大于一个cache line的大小 (512bits),对于目前的CPU系统,反而会带来性能问题。那么DDR4是怎么解决的呢?

Bank Group

我们注意到在表一里面,到了DDR4出现了Bank Group,这就是DDR4在不改变prefetch的情况下,能继续提升IO速率的秘密武器。DDR4利用Bank group的interleave,实现IO速率在DDR3基础上进一步提升。  

半导体

图一:DDR1

半导体

图二:DDR2

半导体

图三:DDR3

半导体

图四:DDR4

从上面的图四中可以看到,每个bank group有自己的global IO,这样就可以利用bank group的interleave来进一步解决内部速度和外部速度不匹配的问题。相当于在DDR3的基础上继续修了并行的相对比较慢的高速公路搭到外面的超高速单行道。   到了DDR5,我们还能继续利用Bank Group的interleave来实现提升IO速率的目的吗?如果继续这样做的话,对于速率提升的效果就很有限,所以到了DDR5还是走到了增加prefetch的方向。DDR5的prefetch是16,那么怎么解决我们前面提到的cache line大小的问题呢?DDR5采取的方式是减少DIMM data lane的数量,从64个data lane降低到32个data lane,从而继续保持64 Byte的cache line大小。   从以上JEDEC DDR到DDR4的发展历史,我们可以看到,DRAM的演进就是在为CPU系统架构服务的基础上,围绕着成本、降低电源消耗、加大容量、提高IO速率来不断演进。基于DRAM操作的原理,最大化的提高DRAM的使用率。因此,我们也可以看到DDR5提供了更多的bank数量和更加细化的refresh粒度等等,这些都是为了物尽其用,提高系统性能。我们在后续的文章中,会继续介绍DRAM的基本性能以及DDR5的新功能。

最后留给大家的问题:对于DDR4,bank group与group之间是tCCD_L还是tCCD_S?为什么?

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分