DDR3 基本知识
一、DDR3 简介
DDR3(double-data-rate three synchronous dynamic random access
memory)是应用在计算机及电子产品领域的一种高带宽并行数据总线。DDR3 在 DDR2
的基础上继承发展而来,其数据传输速度为 DDR2 的两倍。同时,DDR3 标准可以使
单颗内存芯片的容量更为扩大,达到 512Mb 至 8Gb,从而使采用 DDR3 芯片的内存条
容量扩大到最高 16GB。此外,DDR3 的工作电压降低为 1.5V,比采用 1.8V 的 DDR2
省电 30%左右。说到底,这些指标上的提升在技术上最大的支撑来自于芯片制造工
艺的提升,90nm 甚至更先进的 45nm 制造工艺使得同样功能的 MOS 管可以制造的更
小,从而带来更快、更密、更省电的技术提升。
DDR3 的发展实在不能说是顺利,虽然在 2005 年就已经有最初的标准发布并
于 2007 年应用于 Intel P35 “Bearlake”芯片组上,但并没有像业界预想的那样
很快替代 DDR2,这中间还经历了对 SDRAM 业界影响深远的金融危机,不但使 DDR3
占领市场的速度更加减慢, 还使 DDR3 在技术上一度走在世界领先地位的内存大厂奇
梦达倒闭,实在是让人惋惜。虽然如此,DDR3 现今是并行 SDRAM 家族中速度最快的
成熟标准,JEDEC 标准规定的 DDR3 最高速度可达 1600MT/s(注,1MT/s 即为每秒钟
一百万次传输)。 不仅如此, 内存厂商还可以生产速度高于 JEDEC 标准的 DDR3 产品,
如速度为 2000MT/s 的 DDR3 产品,甚至有报道称其最高速度可高达 2500MT/s。
二、DDR 存储器特性
1) 时钟的上升和下降沿同时传输数据
DDR 存储器的主要优势就是能够同时在时钟循环的上升和下降沿提取
数据,从而把给定时钟频率的数据速率提高 1 倍。例如,在 DDR200 器件中,数据传
输频率为 200 MHz,而总线速度则为 100 MHz。
2) 工作电压低
DDR1、DDR2 和 DDR3 存储器的电压分别为 2.5、1.8 和 1.5V,因此与采
用 3.3V 的正常 SDRAM 芯片组相比,它们在电源管理中产生的热量更少,效率更高。
3) 延时小
延时性是 DDR 存储器的另一特性。存储器延时性可通过一系列数字体
现,如用于 DDR1 的 2-3-2-6-T1、3-4-4-8 或 2-2-2-5。这些数字表明存储器进行某
一操作所需的时钟脉冲数,数字越小,存储越快。
这些数字代表的操作如下:CL- tRCD – tRP – tRAS – CMD。要理解
它们,您必须牢记存储器被内部组织为一个矩阵,数据保存在行和列的交叉点。
•CL:列地址选通脉冲(CAS)延迟,是从处理器发出数据内存请求到存储
器返回内存间的时间。
•tRCD:行地址选通脉冲(RAS)到 CAS 的延迟,是激活行(RAS)和激活
列(CAS)间的时间,其中,数据保存在矩阵中。
•tRP:RAS 预充电时间,是禁用数据行接入和开始另一行数据接入间的时
间。
•tRAS:激活预充电延时,是在启动下一次存储器接入前存储器必须等待
的时间。
•CMD:命令速率是存储芯片激活和向存储器发送第一个命令间的时间。有
时,该值不会公布。它通常是 T1(1 个时钟速度)或 T2(2 个时钟速度)。
三、内存的工作速度
内存技术从 SDR,DDR,DDR2,DDR3 一路发展而来,传输速度以指数递增,
除了晶圆制造工艺的提升因素之外,还因为采用了 Double Data Rate 以及 Prefetch
两项技术。实际上,无论是 SDR 还是 DDR 或 DDR2、3,内存芯片内部的核心时钟基
本上是保持一致的,都是 100MHz 到 200MHz(某些厂商生产的超频内存除外)。DDR
即 Double Data Rate 技术使数据传输速度较 SDR 提升了一倍。如下图所示,SDR 仅
在时钟的上升沿传输数据,而 DDR 在时钟信号上、下沿同时传输数据。例如同为
133MHz 时钟,DDR 却可以达到 266Mb/s 的数传速度。
Double Data Rate 技术使数据外传速度提升了一倍,而芯片内部数
据数据传输速度的提升则是通过 Prefetch 技术实现的。所谓 Prefetch 简单的说就
是在一个内核时钟周期同时寻址多个存储单元并将这些数据以并行的方式统一传输
到 IO Buffer 中,之后以更高的外传速度将 IO Buffer 中的数据传输出去。这个更
高的速度在 DDR I 上就是通过 Double Data Rate 实现的,也正因为如此,DDR I 外
部 Clock 管脚的频率与芯片内部的核心频率是保持一致的。如下图所示为 DDR I 的
Prefetch 过程中,在 16 位的内存芯片中一次将 2 个 16bit 数据从内核传输到外部
MUX 单元,之后分别在 Clock 信号的上、下沿分两次将这 2 x 16bit 数据传输给北
桥或其他内存控制器,整个过程经历的时间恰好为一个内核时钟周期。
发展到 DDR2, 芯片内核每次 Prefetch 4 倍的数据至 IO Buffer 中,
为了进一步提高外传速度,芯片的内核时钟与外部接口时钟(即我们平时接触到的
Clock 管脚时钟)不再是同一时钟,外部 Clock 时钟频率变为内核时钟的 2 倍。同
理, DDR3 每次 Prefetch 8 倍的数据, 其芯片 Clock 频率为内核频率的 4 倍, 即 JEDEC
标准(JESD79-3)规定的 400MHz 至 800MHz,再加上在 Clock 信号上、下跳变沿同
时传输数据,DDR3 的数据传输速率便达到了 800MT/s 到 1600MT/s。具体到内存条速
度,我们以 PC3-12800 为例,其采用的 DDR3-1600 芯片核心频率为 200MHz,经过
Prefetch 后 Clock 信号频率到达 800MHz,再经过 Double Data Rate 后芯片数据传
输速率为 1600 MT/s,内存条每次传输 64 比特或者说 8 字节数据,1600x8 便得到
12800MB/s 的峰值比特率。
下表列出了 JEDEC标准(JESD79-3) 规定的 DDR3芯片及内存条相关参数。
需要说明的是,如前所述,并不是所有的内存产品都完全遵从 JEDEC 标准,有些厂
商会生产速度更高速的 DDR3 芯片,一般情况下这些芯片是从芯片检测流程中筛选出
来的频率动态范围更大的芯片,或者是可加压超频工作的芯片。
四、DDR3 与 DDR2 的差异
数据传输速率的差异是 DDR3 与 DDR2 最显著的区别,这部分上文已有描
述,我们来看看其他方面的不同。
在供电方面,DDR3 的工作电压降低至 1.5V,实际上 JEDEC 标准规定
1.575V 为 DDR3 的最大安全工作电压。另外,标准也规定内存条所能经受的安全供
电电压必须大于 1.975V,当然,在这个电压下内存条可能已经不能正常工作但还不
至于损坏。
在芯片级 DDR3 引入了异步 Reset 信号,该信号主要提供两方面
的功能,其一是可以简化内存芯片上电后的初始化过程,其二是当内存系统进入一
旦进入未知或不可控状态后可以直接 Reset 而无需掉电重启。
在接口方面,以普通的 Un-Buffer 内存条为例,DDR3 与 DDR2 均为
240 个 pin 脚,尺寸一致但防呆槽的位置不同,由于工作电压不同二者在电气特性
上也是互不兼容的。
在系统设计方面 DDR3 与 DDR2 最大的区别在于 DDR3 将时钟、地
址及控制信号线的终端电阻从计算机主板移至内存条上,这样一来在主板上将不需
要任何端接电阻。为了尽可能减小信号反射,在内存条上包括时钟线在内的所有控
制线均采用 Fly-by 拓扑结构。同时,也是因为 Fly-by 的走线结构致使控制信号线
到达每颗内存颗粒的长度不同从而导致信号到达时间不一致。这种情况将会影响内
存的读写过程,例如在读操作时,由于从内存控制器发出的读命令传送到每颗内存
芯片的时间点不同,将导致每颗内存芯片在不同的时间向控制器发送数据。为了消
除这种影响,需要在对内存进行读写等操作时对时间做补偿,这部分工作将由内存
控制器完成。DDR3 总线的系统框架如下图所示,其中红线代表 DQ、DM 以及差分 DQS
信号线,黑线代表时钟、地址及控制信号线,T 代表相应的端接电阻。
五、DDR3 测试
JEDEC 标准规定的 DDR3 测试主要分为三个方面,分别为:
· 时钟测试
· 时序测试
· 电气性能测试
其中时钟测试主要测试时钟信号的周期、上下沿脉宽、周期抖动以及连
续 n 周期累积误差等指标; 时序测试主要测试数据读写时的建立保持时间相关参数;
电气性能测试主要测试信号完整性相关指标, 主要包括各信号的斜率以及直/交流逻
辑高/低电平等指标。完整的 DDR3 测试项目不但种类繁多并且涉及到信号读写分离
等复杂的判断过程,手工测量不但费时费力且难以保证测量的准确性。针对于此,
力科专门推出了最新的 QPHY-DDR3 自动化测试软件包,它将以图形化的界面帮助用
户完成从被测信号的搭接、信号采集与读写分离、自动测试与分析到最终的测试报
告生成这一系列完整的测试工作。
■何为内存频率
对于内存条,相信大家并不陌生。因为内存已经成为每台电脑的必备配件,从EDO、SDRAM、DDR、DDR2再到现如今的DDR3内存,变化可谓是翻天覆地。内存无论是在容量、速度、性能上都有了显著的提高。
但是内存市场中,产品可谓是型号众多,比如DDR2 667、DDR2 800、DDR3 1600等等,这些各式各样的各种专业术语让很多读者感到无所适从。因此,本篇文章,编辑将向大家介绍一下关于内存频率的一些相关知识,相信看本文,你就会对内存频率有了一定了解。
其实通俗的讲,内存的频率和CPU的主频一样,一般是被用来表示内存的速度,也就是说它代表着该内存所能达到的最高工作频率。内存主频是以MHz(兆赫)为单位来计算的。内存主频频率越高,在一定程度上也就代表着内存所能达到的速度越快,内存主频还决定着该款内存最高能在什么样的频率下正常工作。
也许有的读者会以为,DDR2 800的内存,核心频率就是800MHz,如果是这样理解的话,那就是大错特错了。因此,我们还有必要了解一下内存颗粒的核心频率,它并非你想想的那么简单。
■内存颗粒的核心频率
内存颗粒的核心频率是固定的,一些常见的内存颗粒核心频率如下。
DDR 266、DDR2 533、DDR3 1066颗粒的核心频率为133MHz,DDR 333、DDR2 667、DDR31333颗粒的核心频率为166MHz,DDR 400、DDR2 800、DDR3 1600的核心频率为200MHz。
为了让大家更加直观的看出核心频率,编辑制作了一张表格,包括了目前主流DDR2内存的相关参数。
内存规格
颗粒核心频率MHz
颗粒工作频率MHz
等效频率MHz
DDR 266/333/400
133/166/200
266/333/400
266/333/400
DDR2 533/667/800
133/166/200
266/333/400
533/667/800
DDR3 1066/1333/1600
133/166/200
266/333/400
1066/1333/1600
相信用心的读者可能会发现,在DDR、DDR2、DDR3内存中一个有趣的现象,我们以DDR 400、DDR2 800、DDR31600这三款内存为例,他们的核心频率都是倍数关系,也就是400MHz的一半即200MHz。
DDR、DDR2、DDR3他们相同之处就在于改进了了SDRAM的在一个周期内只能在升的时候进行数据传输的弊端,他们都可以在升和降两个阶段进行数据传输,所以工作频率扩大一倍。但是他们不同的在于他们的预读取的能力不相同,DDR预读取2bit,DDR2预读取4bit,DDR3预读取8bit,所以在内存颗粒的核心频率相同的时候,DDR的等效频率是核心颗粒频率的2倍,DDR2是四倍,DDR3是八倍。也就是DDR系列的内存有两个地方提升了频率,第一、一个时间周期内进行两次数据传输提升了工作频率。第二、增加了预读取技术提升了等效频率,而计算内存带宽的时候用到的就是等效频率。
看完了核心频率的介绍,也许有的读者还是一头雾水,编辑怎么到现在都还没有说明DDR2 800内存中,“800MHz”的来历呢?别着急,因为只有你先了解了核心频率,才能明白这“800MHz”。
■内存的工作频率
下面要出场的是内存的工作频率,内存的工作频率有一个很简单的计算公式:内存工作频率=内存颗粒核心频率x2,前面我们提到了,DDR2 800内存的核心频率为200MHz,因此,计算工作频率就是200MHzx2=400MHz。
也许有的读者会问,为什么会是两倍呢?原来,它和内存数据传输的原理有关。
在上面的这张示意图中,T就表示为内存的一个工作周期。以前的内存一个周期就只是在AB上升处传输数据,速度较慢,而后来DDR内存就进行了改进。不仅在AB段传输数据,还在CD下降段传输数据。就相当于一个周期内进行传输了两次数据,因此DDR工作频率就翻倍了。
到目前位置,迷底还是没有揭开,在下一页,你就会了解到DDR2 800内存的真正由来。
■内存的等效频率
内存的等效频率才是DDR2 800内存中,“800MHz”的真正含义。等效频率和内存预读有关,那么内存预读又是怎么回事呢?我们可以举一个简单的例子,比如说运动场上的运动员在跑步,有速度快慢之分。跑的快的通常是迈的步伐大,而且步伐的距离长。假设这名运动员每1秒钟跑了一步,步伐的距离为一米,我们就可以算出,速度为1米/秒。而第二个人每1秒钟跑了2步,步伐的距离为2米,他的速度则是2米/秒。
因此我们可以理解为DDR2内存比DDR内存快的原因了,DDR内存的预读取是2bit,DDR2的预读取是4bit,DDR3则提升为8bit。因此,只要是内存颗粒的工作频率相同,DDR2的等效频率就是DDR等效频率的2倍,DDR3则是DDR的4倍。以DDR2 800为例,前面已经算出来了它的工作频率为200MHzx2=400MHz,因此400MHz x2,得到的800MHz就是DDR2 800内存名称的真正由来,DDR2800指的是内存的等效频率
■内存超频的小知识
相信看了上面的内容,你已经对内存的一些知识有了一些了解。有的读者可能还有所疑问,为什么内存可以进行超频呢?
大家都知道,内存条上的内存颗粒,一般都是由流水线上成批生产的,在每一颗内存颗粒产品生产完成后,内存颗粒厂商都会对内存颗粒进行相关的测试。比如可以成功的在800MHz下运行,那么这条颗颗粒就是被标注成DDR2 800。同样的道理,如果只能稳定的运行在667MHz下,这个颗粒就被标注为DDR2 667。
在这些经过测试的内存颗粒中,有一部分是超频能力很强的颗粒,就会以较高价格出售给一些大的内存模组厂商,如金士顿等等,厂商再用来生产出超频专用内存条。因此,市场中的内存条几乎都可以进行小幅度的超频,运气好的话还能得到不少的提升。
为什么我们会说频率乱如麻?主要原因是人们在交谈中常常把内存频率、颗粒频率、等效频率等胡乱用。新接触电脑的朋友们一听到这么多版本的频率,头怎会不疼呢?
首先搞清楚内存的三个频率,核心频率,工作频率,等效频率(也成接口频率),平时常说的DDR2 800中的那个800就是该内存的等效频率(接口频率),也是最有意义的频率,和内存总线的带宽直接挂钩,比如说DDR2 800的带宽算法就是800mhz*64/8,也就是6.4GB/S。而工作频率则是用等效频率除以2,这对DDR,DDR2,DDR3都适用(对SD内存无效,不过SD内存早就淘汰了,这里不作研究)且在CPU-Z中显示的内存频率也是工作频率。
先为理解打基础
1.内存频率是什么
我们平时挂在嘴边的DDR2 800、DDR2 667后面的800和667就是内存频率值。内存频率通常以MHz(兆赫兹)为单位来计量,内存频率在一定程度上决定了内存的实际性能,内存频率越高,说明该内存在正常工作下的速度越快。比如DDR2 800就表示这根内存条的频率为800MHz,在其他参数相同的情况下,它就比DDR2 667(频率为667MHz)性能要好。
小贴士:只要内存延迟数值相差很小,比如5和6,那么它们对内存的性能影响就很小。反之如果内存延迟数值相差过大,那对内存的性能影响我们就不能不考虑了。总体上来说,随着内存频率的提升,会使内存延迟数值上升。所以与DDR 400内存相比,尽管DDR2 533频率高一些,但一些DDR内存具备了较低的延时参数,所以其性能与普通的DDR2 533性能相差不大。
2.内存频率的由来
知道CPU主频是如何标上去的吗?同一批生产的CPU,在标上型号前,它们都是“一奶同母的N胞胎”,除了主频不同之外,其他参数都相同。比如当同一批次的IntelCore 2 Duo E4000系列生产好以后,厂家就会对这些产品进行测试。如果这块CPU的主频能稳定达到某个频率,而这个频率正好是目前现有甲型号CPU的水平,那么它的型号就是“甲”。如果达到另外一个频率且正好是目前乙型号CPU的水平,厂家就命名为“乙”。以此类推,这样这一批次的所有CPU都定了型号。
内存也是如此,当同一批的内存颗粒没有打上标记之前,大家都是“N胞胎”,然后像三星、现代等内存颗粒生产厂就会对内存颗粒进行测试,如果这个颗粒能稳定跑到DDR2 800的水平,那么它就会被命名为DDR2800。DDR2 667和DDR2 533命名同样如此。
小贴士:在内存颗粒厂商测试过程中,肯定会测试到能够稳定运行在比DDR2 800更高的频率上的内存颗粒。由于它的性能好,那么内存颗粒厂商就会以高价格卖给像金士顿、宇瞻等内存模组厂商。模组厂商购买了这些颗粒之后,也会挑选一些质量好的电子元器件与之搭配,这样一根超频性能很好的内存就出现在了市场上,价格也比普通内存高很多。
超频内存套装价格不低
哪些频率常乱用
介绍了内存频率的由来,下面我们就开始学习几种内存频率的关系。目前,网上和平时常用错的内存频率有等效频率、内存工作频率、颗粒核心频率三种。
● SDR和DDR1/2/3全系列频率对照表:
1.颗粒核心频率
从核心频率这四个字就知道了这是内存频率的基础,什么等效频率、工作频率都是在它的基础上得出来的。大家一定要记住下面这几个核心频率,DDR 266/DDR2 533/DDR3 1066核心频率为133MHz,DDR 333/DDR2 667/DDR31333核心频率为166MHz,DDR 400/DDR2 800/DDR31600核心频率为200MHz,DDR系列的
小贴士:非常规记忆法
目前对于DDR、DDR2、DDR3适用。三代内存只要它们后面跟的数值是成倍数关系的,那么它们的颗粒内部频率就相等,并且它们颗粒内部频率的数值等于DDR后面跟的数值的一半。比如DDR 400、DDR2 800、DDR3 1600,它们后面的数值400、800和1600就成了倍数关系,那它们颗粒内部频率的数值为DDR 400中的400的一半,即200。
2.工作频率
大家记住的核心频率,马上就会在学习内存工作频率过程中派上用场。内存工作频率是颗粒核心频率的两倍。比如DDR400、DDR2 800、DDR3 1600的核心频率为200MHz,那么这三个内存颗粒的工作频率就是400MHz(数值正好等于DDR 400中的400)。为什么是两倍?其实它和DDR内存的数据传输原理有关。
双倍是指在一个时钟周期内传输两次数据,在时钟的上升期和下降期各传输一次数据(通过差分时钟技术实现),在存储阵列频率不变的情况下,数据传输率达到了SDR的两倍,此时就需要I/O从存储阵列中预取2bit数据,因此I/O的工作频率是存储阵列频率的两倍。
3.等效频率
最后我们再谈谈等效频率,其实它才是DDR2 800中800MHz的正规名称。准确点说,它和内存的预读取有关。
内存标贴上的频率是等效频率
理解预读取并不难,同样打个比方,看一个人跑得快或不快,要看两个方面,一个是步伐的频率,比如每秒钟跑两步;另一个是步伐的距离,比如每一步跑1米。第一个人(DDR)它每秒钟跑两步,每步是1米,所以它的速度是2米/秒;而第二个人(DDR2)它每秒钟跑两步(因为DDR2和DDR内存颗粒的工作频率一致),每步是两米,所以它的速度是4米/秒。第二个人的速度是第一个人的两倍。
内存也是如此,DDR、DDR2、DDR3内存颗粒工作频率一致,所以速度的快慢就取决于DDR的步伐(预读取),DDR的预读取为2bit,这就是数据传输的带宽(每步距离)。而DDR2的预读取是4bit(DDR3为8bit),说明DDR2的“每步距离”是DDR的两倍,所以只要内存颗粒工作频率一致,DDR2等效频率是DDR等效频率的2倍,DDR3就是DDR的4倍。
总结
讲了这么多,最后把几种内存频率的关系总结在下表中。大家可以通过表中内容得知,等效频率就是我们平时说的频率,比如DDR2 800等效频率就是800MHz;虽然DDR 266、DDR2 533、DDR3 1066等效频率相同,但由于DDR、DDR2、DDR3的预读取不同,所以DDR 266、DDR2 533、DDR3 1066的颗粒频率虽同为266MHz;内存颗粒核心频率为内存颗粒工作频率的一半。
外频
外频是由主板为CPU提供的基准时钟频率,一般常见的有100、133、166、200。我们说的FSB(Front System Bus)指的是系统前端总线,它是处理器与主板北桥芯片或内存控制集线器之间的数据通道,常见频率有400、333、533、800。
作为新手不必掌握那么多概念性的东西,只要记住以下几个公式:
主频=外频*倍频(MHz)
IntelCPU前端总线=外频*4(MHz)
AMDCPU前端总线=外频*2(MHz)
CPU数据带宽=前端总线*8(MB/s)
内存带宽=内存等效工作频率*8(MB/s)
前端总线频率
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以MHz表示的速度来描述总线频率。总线的种类很多,前端总线的英文名字是Front Side Bus,通常用FSB表示,是将CPU连接到北桥芯片的总线。计算机的前端总线频率是由CPU和北桥芯片共同决定的。
北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz几种,最高到1066MHz。前端总线频率越大,代表着CPU与北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。现在的CPU技术发展很快,运算速度提高很快,而足够大的前端总线可以保障有足够的数据供给给CPU,较低的前端总线将无法供给足够的数据给CPU,这样就限制了CPU性能得发挥,成为系统瓶颈。
外频与前端总线频率的区别
前端总线的速度指的是CPU和北桥芯片间总线的速度,更实质性的表示了CPU和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PCI及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。这些技术的原理类似于AGP的2X或者4X,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来,目前的主流产品均采用这些技术。
DDR和DDR2内存说明
DDR传输标准
严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,部分初学者也常看到DDR SDRAM,就认为是SDRAM。DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。
SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到更高的数据传输率。 与SDRAM相比:DDR运用了更先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步;DDR使用了DLL(Delay Locked Loop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDR本质上不需要提高时钟频率就能加倍提高SDRAM的速度,它允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准SDRA的两倍。
从外形体积上DDR与SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚距离。但DDR为184针脚,比SDRAM多出了16个针脚,主要包含了新的控制、时钟、电源和接地等信号。DDR内存采用的是支持2.5V电压的SSTL2标准,而不是SDRAM使用的3.3V电压的LVTTL标准。
DDR内存的频率可以用工作频率和等效频率两种方式表示,工作频率是内存颗粒实际的工作频率,但是由于DDR内存可以在脉冲的上升和下降沿都传输数据,因此传输数据的等效频率是工作频率的两倍。
PC1600如果按照传统习惯传输标准的命名,PC1600(DDR200)应该是PC200。在当时DDR内存正在与RDRAM内存进行下一代内存标准之争,此时的RDRAM按照频率命名应该叫PC600和PC800。这样对于不是很了解的人来说,自然会认为PC200远远落后于PC600,而JEDEC基于市场竞争的考虑,将DDR内存的命名规范进行了调整。传统习惯是按照内存工作频率来命名,而DDR内存则以内存传输速率命名。因此才有了今天的PC1600、PC2100、PC2700、PC3200、PC3500等(在用CPU-Z工具查看机器时,在SPD中显示的最大带宽)。
PC1600的实际工作频率是100 MHz,而等效工作频率是200 MHz,那么它的数据传输率就为“数据传输率=频率*每次传输的数据位数”,就是200MHz*64bit=12800Mb/s,再除以8就换算为MB为单位,就是1600MB/s,从而命名为PC1600。
DDR2传输标准
DDR2可以看作是DDR技术标准的一种升级和扩展:DDR的核心频率与时钟频率相等,但数据频率为时钟频率的两倍,也就是说在一个时钟周期内必须传输两次数据。而DDR2采用“4 bit Prefetch(4位预取)”机制,核心频率仅为时钟频率的一半、时钟频率再为数据频率的一半,这样即使核心频率还在200MHz,DDR2内存的数据频率也能达到800MHz—也就是所谓的DDR2 800。
目前,已有的标准DDR2内存分为DDR2 400和DDR2 533,DDR2 667和DDR2 800,其核心频率分别为100MHz、133MHz、166MHz和200MHz,其总线频率(时钟频率)分别为200MHz、266MHz、333MHz和400MHz,等效的数据传输频率分别为400MHz、533MHz、667MHz和800MHz,其对应的内存传输带宽分别为3.2GB/sec、4.3GB/sec、5.3GB/sec和6.4GB/sec,按照其内存传输带宽分别标注为PC2 3200、PC2 4300、PC2 5300和PC2 6400。
欢迎浏览 雅心楼 个人图书馆的文章,想收藏这篇好文章吗?花一分钟吧!
预读取技术
4-bit prefetch DDR 2提高带宽的关键技术
现在的DRAM内部都采用4个bank的结构,每个bank由存储单元(cell)队列构成,存储单元队列通过行(row)和列(column)地址定位。让我们看看基本的内存读操作的工作流程:首先是命令和地址信息输入,经过地址解码器分解成bank(段)和Word(字)选择,Word选择就是行选择,之后是对存储单元进行再存储(Restore)和预充电(Precharge)。然后是Column(列)选择,到此为止存储单元(cell)已经被定位。存储单元的数据被输出到内部数据总线(Internal Data Bus),最后通过输出电路输出数据。
从内存的读操作中可以了解到内存工作的几个瓶颈,它们分别是内存单元的再存储和预充电的延时,这个延迟属于bank内部的延迟,由于DRAM结构的限制这个延迟本身不太好解决。还有内部数据总线(Internal Data Bus)的频率限制,内部数据总线是连接DRAM颗粒中4个bank的总线,最后一个DRAM的瓶颈是输入/输出电路的延迟。
对于内部数据总线频率较低的瓶颈,可以通过使用Prefetch(数据预取)架构来解决,举例来说PC133 SDRAM采用了管线突发架构(Pipeline)或者说是1bit Prefetch,因此它内部数据总线的频率是133MHz和数据输出端的数据传输率是一样的。DDR内存采用了2bit Prefetch技术,因此它输出端的数据传输率是内部数据总线频率的2倍,以DDR400为例,它的内部数据总线的频率是200MHz,而输出端的数据传输率达到了400MHz。
我们知道DRAM内部存储单元的频率提高比较困难且成本较高,DDR333的核心频率已经达到了167MHz,为了解决外部数据传输率和核心速度之间的矛盾,DDR2采用了4bit Prefetch(数据预取架构),因此DDR2 400的核心频率仅为100MHz,DDR2 533的核心频率为133MHz,因此DDR2很好的解决了DRAM核心频率和外部数据传输频率之间的问题。
从SDRAM开始,内存就可以和时钟同步,最初的SDRAM采用了管线架构(Pipeline architecture),首先是地址信号(Add)和时钟(CLK)同步,地址信号经过译码选取内存队列中相应的单元,内存队列中选中的数据通过内部数据总线输出到信号放大电路。SDRAM的信号输出部分也是和时钟信号同步的,这就好象一条连续的管线一样。由于全部操作都和时钟同步,因此也叫同步内存。
DDR采用了2位预取(2-bit prefetch),也就是2:1的数据预取,2bit预取架构允许内部的队列(column)工作频率仅仅为外部数据传输频率的一半。在SDRAM中数据传输率完全参考时钟信号,因此数据传输率和时钟频率一样。DDR2采了4位预取(4-bitprefetch),这就是DDR2提高数据传输率的关键,可以在不提高内部存储阵列频率的情况下提高数据输出带宽,未来的DDR3还有现在的RDRAM采用了8位数据预取。
相对于SDRAM,DDR扩展了原来SDRAM的设计。由于2bitPrefetch架构可以同存取两个bank的数据,使内部数据总线的带宽提高两倍,因此在内存的输出端可以在时钟信号的上升延和下降延传输数据,DDR的数据传输率是实际工作频率的两倍。DDR2通过使用4-bit预取架构来提高数据传输率,降低对内部bank频率的要求。采用4-bit prefetch架构使DDR2仅能使用两种数据突发传输长度(burst length),BL=4或BL=8。这个比较容易理解,因为DDR2一次存取4bit数据,所以数据突发长度也就成了4或8。
下面是DDR2和DDR主要思想的区别,实际上,这两种内存的差别不仅仅在带宽上。
除了带宽,这里还有一个重要的参数是延迟,就象我前面所说的,存储单元不会一直处于可用状态,因此它们要进行刷新操作。而且,即使存储单元可用,也不可能立即得到它的内存:这里还有其它类型的延迟,如设置行和列的地址,这此延迟都是不能避免的,它们由DRAM单元的本质所决定。
让我们看看会有那些延迟,例如内存阵列工作的时钟组合是2-2-2,如果内存阵列在所有的方案中以相同的频率工作,那么所有的模组都具有同样的延迟(我是说PC100,DDR200,DDR2-400)。它们仅仅是带宽的区别。顺便提一下,2-2-2组合的含义是:CAS延迟,RAS到CAS的延迟和RAS预充电时间。第一个数字是取得列地址的延迟时间,第二个数字是行和列地址之间的延迟,第三个数字是存储单元充电时间,预充电实际上是对行数据进行读操作。
但实际上,存储单元不会工作在相同的频率上,举例来说PC133就是一个使用非常普遍的SDRAM,它的DRAM单元工作在133MHz上。因此,DDR200虽然有着比PC133更高的带宽,但是它的相应延迟却更慢(内部阵列的工作频率仅100MHz),PC133的存储单元的频率要比DDR200存储单元的频率高33%。结果就是,DDR266才具有和PC133一样的延迟上的优势。
今天我们也看到类似的情形,DDR200和DDR2-400具有相同的延迟,而后者具有高一倍的带宽。实际上,DDR2-400和DDR400具有相同的带宽,它们都是3.2GB/s,但是,DDR400的存储阵列工作频率是200MHz,而DDR2-400的存储阵列工作频率是100MHz,也就是说DDR2-400的延迟要高于DDR400。
让我们来比较一下数字,以DDR400为例,我们通常设置2或者2.5个时钟延迟,有时是3。也就是10到15纳秒,对于DDR2-400,来计算一下它的延迟:核心工作在100MHz,具有2个时钟延迟,它意味着20ns的延迟,接口部分占用4个时钟延迟(不过接口工作的频率更高),结果就是DDR2模组的延迟将会是4-4-4个时钟周期,考虑到这里使用很低的核心频率,我们希望看到未来DDR2-400具有3-3-3的特征,但是即使如此,DDR2-400也是输给DDR400的。
情况看上去有些荒谬,DDR2虽然能提供更大的带宽,具有潜在的优势,但是,DDR2初期的产品在性能上甚至落后于DDR。我们都知道,一样产品需要有其优势才能吸引购买者,那DDR2还有那些优势呢。
SDRAM和DDR的区别
DRAM (Synchronous Dynamic Random-Access Memory)
SDRAM的工作原理,实际上,它内部包括了许多存储单元阵列,以及输入/输出缓存和电源/刷新电路,最后一个单元(电源/刷新电路)和我们下面的描述没有关系。它的三个子系统(存储单元阵列,输入/输出缓存)都以相同的频率工作,这就是它为什么称为同步内存的原因。举例来说,一个100MHz,64位总线宽度的SDRAM,内存的数据通过I/O缓存然后到达内存控制器。这个内存模组就是我们所熟知的PC100内存,它的带宽为800MB/s(100MHz×8 bytes或64 bits),每个时钟周期传输一次数据,它在时钟的上升沿传输数据。
如果以实际的数字来衡量,SDRAM内部的存储阵列的总线是32位,工作频率为100MHz,缓存到外部控制器的总线也是32位,工作频率100MHz。这里数据流没什么改变,内部和外部总线宽度与频率都没有变化,SDRAM模组通过同步读取两颗芯片达到64位的带宽。
从SDRAM开始,内存就可以和时钟同步,最初的SDRAM采用了管线架构(Pipeline architecture),首先是地址信号(Add)和时钟(CLK)同步,地址信号经过译码选取内存队列中相应的单元,内存队列中选中的数据通过内部数据总线输出到信号放大电路。SDRAM的信号输出部分也是和时钟信号同步的,这就好象一条连续的管线一样。由于全部操作都和时钟同步,因此也叫同步内存。
DDR (Double Data Rate SDRAM)
DDR之所以叫这个名字,是因为它能够以相同频率SDRAM的两倍来传输数据,也就是说,每时钟周期传输两次数据,它在时钟信号的上升沿和下降沿传输数据。但是加倍的数据从何而来,设计人员使用了一个小小的诡计:内存的存储单元工作在相同的时钟频率下,但是内部总线加宽,以这种方式推进内存模组的速度。换句话说,从内部阵列到缓存之间的总线宽度是外部总线(buffer到控制器)的两倍,结果就使得缓存到控制器的数据传输率达到内部存储单元工作频率的两倍。也就是说,存储单元使用一个很宽但较慢的总线,但是当数据传输到控制器时使用了一个较窄但是快速的总线。
DDR内部的存储阵列通过一条64位,100MHz的总线连接I/O缓存(或者叫信号放大器),但是数据到内存控制器需要两次通过32位的总线。换句话说,每时钟周期传输两次数据,分别通过时钟的上升沿和下降沿传输信号。结果就是,数据传输率是内部存储阵列频率的两倍。我们可以描绘一个明显的场景:数据流慢慢通过宽的管道,然后进入一个狭窄的管道,但是流动的速度更快。DDR内存模组也是64位,模组上的两颗芯片同步读写。
这样的内存被称为DDR200(通过数据传输率来命名)或者称为PC1600。实际上,内部的DRAM存储单元在DDR266内存中的工作频率是133MHz,在DDR333中,存储阵列的工作频率是166MHz,DDR400中的存储阵列工作频率是200MHz,目前最快的DDR SDRAM的频率(这里不包括那些超频的内存)达到了550MHz,它的内部阵列工作频率达到275MHz,这个频率已经很难再继续提高。此时,就需要一个新的内存标准可以在今后一段时间内保证内存频率和性能可以稳定的提高。
DDR2
DDR2的特性和DDR一样,它的内部存储阵列到I/O缓存之间通过一条宽敞的64位,100MHz总线,但是数据从缓存传输到外部控制器通过一条快速而狭窄的总线(16位,200MHz),外部总线仍然使用双倍传输数据的策略,我们得到的数据传输率为400MHz。因此,64位模组需要同时使用4个段(banks)。这个内存模组被称为DDR2-400,它的标记方法和DDR内存相同,都是以内存的数据传输率来标识。
因此,以同样100MHz频率工作的DRAM存储单元,我们使用不同的内存模组宽度,得到不同的内存带宽,SDRAM是800MB/s,DDR SDRAM是1600MB/s,DDR2 SDRAM则达到了3200MB/s的数据传输率!由于多路复用技术,内存模组通过同时使用低速的内存阵列可以达到高带宽。
DDR采用了2位预取(2-bit prefetch),也就是2:1的数据预取,2bit预取架构允许内部的队列(column)工作频率仅仅为外部数据传输频率的一半。在SDRAM中数据传输率完全参考时钟信号,因此数据传输率和时钟频率一样。DDR2采了4位预取(4-bit prefetch),这就是DDR2提高数据传输率的关键,可以在不提高内部存储阵列频率的情况下提高数据输出带宽,未来的DDR3还有现在的RDRAM采用了8位数据预取。
相对于SDRAM,DDR扩展了原来SDRAM的设计。由于2bit Prefetch架构可以同存取两个bank的数据,使内部数据总线的带宽提高两倍,因此在内存的输出端可以在时钟信号的上升延和下降延传输数据,DDR的数据传输率是实际工作频率的两倍。DDR2通过使用4-bit预取架构来提高数据传输率,降低对内部bank频率的要求。采用4-bit prefetch架构使DDR2仅能使用两种数据突发传输长度(burst length),BL=4或BL=8。这个比较容易理解,因为DDR2一次存取4bit数据,所以数据突发长度也就成了4或8。
DDR2内存将使用240pin的模组,但是它的长度(内存条长度)和现在184pin的DIMM一样,也就是说DDR2模组的pin之间更加紧密了。模组的特性可以让它适应更高的工作频率,而且,模组还能容纳更高容量的内存颗粒。DDR2模组的优势是明显的,但也不能忽视它的缺点:首先,它在相同时钟速率接口上使用了更高的工作频率,第二,写延迟被增加了。第三,内存的价格会更加昂贵,因为在封装上的成本增加了许多,DDR和DDR2的其它区别参见下表:
DDR
DDR-II
数据传输率
200/266/333/400 Mbps*
400/533/(667) Mbps*
总线频率
100/133/166/200 MHz
200/266/(333) MHz
内存频率
100/133/166/200 MHz
100/133/(166) MHz
Batch reading size
2/4/8
4/8**
Data Strobe
Single DQS
Differential Strobe: DQS, /DQS***
CAS Latency
1.5, 2, 2.5
3+, 4, 5
Write Latency
1T
Read Latency-1
DDR内存家族的未来发展趋势(下表由VR-Zone总结)。从中可以了解到DDR-Ⅱ与DDR-Ⅲ的未来发展日程与可能的规格。显然DDR-Ⅲ采用类似RDRAM的8bit预取设计,核心频率将是I/O频率的1/8。目前DDR-Ⅲ还在初步讨论中,谨供参考。
DDR内存家族的未来发展趋势
梦多点评:
通过上述比较,我们可以知道:SDRAM为168线(针),而DDR为184线(针),DDR2内存则为240线(针),这就使得内存DIMM插槽不同,即没有互换性,从而也决定了主板,即主板不能兼容。带来的问题是,消费者必须更换主板,这给消费者带来一定的因原购件不能使用的损害,是牺牲原购件还是花更多的金钱获得更高的性能是一个难于取舍的问题。同时也存在一个散热问题与DDR2价格高得吓人,其推广与实际运用或许还有相当长的一个距离,到时会不会又有什么新的...
---------------------
!