DDR基本原理

目录

一、DDR概念简介

二、存储器分类

三、DDR存储器


一、DDR概念简介

        DDR的全称为Double Data Rate SDRAM,也就是双倍速率的SDRAM,SDRAM在一个CLK周期传输一次数据,而DDR在一个CLK周期传输两次数据,分别在上升沿和下降沿各传输一次数据,该概念称为预取,在描述DDR速度的时候一般使用MT/S单位,也就是每秒多少兆次数据传输。DDR,即双倍速率同步动态随机存储器,是内存的其中一种。DDR作为存储器中的一种,在各种存储器RAM,ROM以及FIFO解释和区别已经简要介绍了一些具体存储器的概念,下面再介绍一下存储器分类,便于很好的区分。

二、存储器分类

       存储器一般来说可以分为内部存储器(内存),外部存储器(外存),缓冲存储器(缓存)以及闪存这几个大类。内存也称为主存储器,位于系统主机板上,可以同CPU直接进行信息交换。其主要特点是:运行速度快,容量小。外存也称为辅助存储器,不能与CPU之间直接进行信息交换。其主要特点是:存取速度相对内存要慢得多,存储容量大。内存与外存本质区别是,一个是内部运行提供缓存和处理的功能,也可以理解为协同处理的通道;而外存主要是针对储存文件、图片、视频、文字等信息的载体,也可以理解为储存空间。缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位(注意:NOR Flash 为字节存储。),区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,闪存与EEPROM不同的是,EEPROM能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本程序)、PDA(个人数字助理)、数码相机中保存资料等。存储器的详细分类如下图所示:

DDR基本原理_第1张图片 

 

其中内存有多种不同的形式分别如下:

  RAM(Random Access Memory) 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。静态随机存储器SRAM(Static RAM)不需要刷新电路即能保存它内部存储的数据。除此以外,还有一种随机存储器SSRAM(Synchronous SRAM)即同步静态随机存取存储器。同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。对于SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。这一点与异步SRAM不同,异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。 动态随机存储器DRAM(Dynamic RAM)则每隔一段时间,要刷新充电一次,否则内部的数据即会消失。综上所述,SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上SRAM存储器要占用一部分面积。SRAM的速率高、性能好,它常应用于CPU与主存之间的高速缓存以及CPU内部的L1/L2或外部的L2高速缓存。

三、DDR存储器

  有一种动态随机存储器SDRAM(Synchronous DRAM)即同步动态随机存取存储器。同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写,DDR,DDR2以及DDR3就属于SDRAM的一类。SDRAM从发展到现在已经经历了五代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM,第五代,DDR4 SDRAM,现在很多公司的DDR5好像也快面世了。第一代SDRAM采用单端(Single-Ended)时钟信号,第二代、第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。SDR SDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如PC100,PC133则表明时钟信号为100MHz或133MHz,数据读写速率也为100MHz或133MHz。之后的第二,三,四代DDR(Double Data Rate)内存则采用数据读写速率作为命名标准,并且在前面加上一个数字表示其DDR代数的符号,PC= DDR,PC2=DDR2,PC3=DDR3。如PC-2700是DDR-333,其工作频率是333/2=166MHz,2700表示带宽为2.7GB/s。DDR的读写频率从DDR-200到DDR-400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1600。DDR各种规格与传输标准如下表所示:

DDR规格

传输标准

核心频率

传输速率

数据传输带宽

DDR200

PC1600

100MHz

200MT/s

1600MB/s

DDR266

PC2100

133MHz

266MT/s

2100MB/s

DDR333

PC2700

166MHz

333MT/s

2700MB/s

DDR400

PC3200

200MHz

400MT/s

3200MB/s

DDR433

PC3500

216MHz

433MT/s

3500MB/s

DDR533

PC4300

266MHz

533MT/s

4300MB/s

  传输速率的单位是MT/s(Mega Transfer Per Second),即每秒传输的百万次数,由于DDR一次传输64-bit,相当于8个字节(Byte),所以数据传输带宽为传输速率乘以8。上表中的核心频率指的是DDR芯片内部进行逻辑处理的时钟频率传输速率的频率叫做传输频率或者等效频率,为了方便起见,后文同一称为等效频率,等效频率在数值上与传输速率相等,最后还有一个时钟频率是DDR芯片时钟引脚的频率,它称作DDR的工作频率

DDR的核心频率、时钟频率和数据传输频率:

核心频率就是内存的工作频率,工作频率是内存颗粒实际的工作频率;DDR1内存的核心频率是和时钟频率相同的,到了DDR2和DDR3时才有了时钟频率的概念,就是将核心频率通过倍频技术得到的一个频率。数据传输频率就是传输数据的频率。DDR1预读取是2位,DDR2预读取是4位,DDR3预读取是8位。

DDR1在传输数据的时候在时钟脉冲的上升沿和下降沿都传输一次,所以数据传输频率就是核心频率的2倍。DDR2内存将核心频率倍频2倍所以时钟频率就是核心频率的2倍了,同样还是上升边和下降边各传输一次数据,所以数据传输频率就是核心频率的4倍。

DDR3内存的时钟频率是核心频率的4倍,所以数据传输频率就是核心频率的8倍了。

  工作频率=等效频率/2。因为DDR是利用时钟的上升沿与下降沿均传输数据,所以DDR芯片的工作频率(时钟引脚的频率)为等效频率(传输频率)的一半

  核心频率=等效频率/DDR的预取数。对于DDR来说,预取数为2;对于DDR2来说,预取数为4;对于DDR3来说,预取数为8。

  标准的DDR SDRAM分为DDR 200,DDR 266,DDR 333以及DDR 400,其标准工作频率分别100MHz,133MHz,166MHz和200MHz,对应的内存传输带宽分别为1.6GB/s,2.12GB/s,2.66GB/s和3.2GB/s,非标准的(某些厂家生产的超频内存)还有DDR 433,DDR 500等等。值得特别注意的是,初学者常被DDR 266,PC 2100等字眼搞混淆,在这里要说明一下,DDR 266与PC 2100其实就是一回事,只是表述方法不同罢了。DDR 266是指的该内存的传输速率(实际工作频率为133MHz,由于一个周期的上升沿与下降沿均可以用来传输数据,所以等效于266MHz 的SDRAM),而PC 2100则是指其内存传输带宽(2100MB/s)。同理,PC 1600就是DDR 200,PC 2700就是DDR-333,PC 3200就是DDR 400。

  DDR2以及DDR3可以看作是DDR技术标准的一种升级和扩展:DDR的核心频率与工作频率(这里的时钟频率指的是DDR芯片的时钟管脚)相等,但数据频率为时钟频率的两倍,也就是说在一个时钟周期内必须传输两次数据。而DDR2采用“4 bit Prefetch(4位预取)”机制,核心频率为传输频率的1/4,这样即使核心频率还为200MHz,DDR2内存的数据传输频率也能达到800MHz,也就是所谓的DDR2-800。DDR3采用“8 bit Prefetch(8位预取)”机制,这样DRAM的核心频率只有传输频率的1/8,所以DDR3-800的核心频率只有100MHz,如果核心频率为200MHz,DDR3内存的数据频率能达到1600MHz,数据传输频率为DDR2的两倍。

什么是DDR1

有时候大家将老的存储技术 DDR 称为 DDR1 ,使之与 DDR2 加以区分。尽管一般是使用 “DDR” ,但 DDR1 与 DDR 的含义相同。

什么是 DDR2

DDR2 是 DDR SDRAM 内存的第二代产品。它在 DDR 内存技术的基础上加以改进,从而其传输速度更快(可达 667MHZ ),耗电量更低,散热性能更优良 .

DDR2(Double Data Rate 2) SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即:4bit数据预读取)。换句话说,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。

DDR3与DDR2的比较

1.突发长度(Burst Length,BL):由于DDR3的预取为8bit,所以突发传输周期(Burst Length,BL)也固定为8,而对于DDR2和早期的DDR架构系统,BL=4也是常用的,DDR3为此增加了一个4bit Burst Chop(突发突变)模式,即由一个BL=4的读取操作加上一个BL=4的写入操作来合成一个BL=8的数据突发传输,届时可通过A12地址线来控制这一突发模式。而且需要指出的是,任何突发中断操作都将在DDR3内存中予以禁止,且不予支持,取而代之的是更灵活的突发传输控制(如4bit顺序突发)。

  2.寻址时序(Timing):就像DDR2从DDR转变而来后延迟周期数增加一样,DDR3的CL周期也将比DDR2有所提高。DDR2的CL范围一般在2~5之间,而DDR3则在5~11之间,且附加延迟(AL)的设计也有所变化。DDR2时AL的范围是0~4,而DDR3时AL有三种选项,分别是0、CL-1和CL-2。另外,DDR3还新增加了一个时序参数-写入延迟(CWD),这一参数将根据具体的工作频率而定。

  3.DDR3新增的重置(Reset)功能:重置是DDR3新增的一项重要功能,并为此专门准备了一个引脚。DRAM业界很早以前就要求增加这一功能,如今终于在DDR3上实现了。这一引脚将使DDR3的初始化处理变得简单。当Reset命令有效时,DDR3内存将停止所有操作,并切换至最少量活动状态,以节约电力。 在Reset期间,DDR3内存将关闭内在的大部分功能,所有数据接收与发送器都将关闭,所有内部的程序装置将复位,DLL(延迟锁相环路)与时钟电路将停止工作,而且不理睬数据总线上的任何动静。这样一来,将使DDR3达到最节省电力的目的。

  4.DDR3新增ZQ校准功能:ZQ也是一个新增的脚,在这个引脚上接有一个240欧姆的低公差参考电阻。这个引脚通过一个命令集,通过片上校准引擎(On-Die Calibration Engine,ODCE)来自动校验数据输出驱动器导通电阻与ODT的终结电阻值。当系统发出这一指令后,将用相应的时钟周期(在加电与初始化之后用512个时钟周期,在退出自刷新操作后用256个时钟周期、在其他情况下用64个时钟周期)对导通电阻和ODT电阻进行重新校准。

  5.参考电压分成两个:在DDR3系统中,对于内存系统工作非常重要的参考电压信号VREF将分为两个信号,即为命令与地址信号服务的VREFCA和为数据总线服务的VREFDQ,这将有效地提高系统数据总线的信噪等级。

  6.点对点连接(Point-to-Point,P2P):这是为了提高系统性能而进行的重要改动,也是DDR3与DDR2的一个关键区别。在DDR3系统中,一个内存控制器只与一个内存通道打交道,而且这个内存通道只能有一个插槽,因此,内存控制器与DDR3内存模组之间是点对点(P2P)的关系(单物理Bank的模组),或者是点对双点(Point-to-two-Point,P22P)的关系(双物理Bank的模组),从而大大地减轻了地址/命令/控制与数据总线的负载。而在内存模组方面,与DDR2的类别相类似,也有标准DIMM(台式PC)、SO-DIMM/Micro-DIMM(笔记本电脑)、FB-DIMM2(服务器)之分,其中第二代FB-DIMM将采用规格更高的AMB2(高级内存缓冲器)。 面向64位构架的DDR3显然在频率和速度上拥有更多的优势,此外,由于DDR3所采用的根据温度自动自刷新、局部自刷新等其它一些功能,在功耗方面DDR3也要出色得多,因此,它可能首先受到移动设备的欢迎,就像最先迎接DDR2内存的不是台式机而是服务器一样。在CPU外频提升最迅速的PC台式机领域,DDR3未来也是一片光明。Intel所推出的新芯片-熊湖(Bear Lake),其将支持DDR3规格,而AMD也预计同时在K9平台上支持DDR2及DDR3两种规格。

  7.逻辑Bank数量:DDR2 SDRAM中有4Bank和8Bank的设计,目的就是为了应对未来大容量芯片的需求。而DDR3很可能将从2Gb容量起步,因此起始的逻辑Bank就是8个,另外还为未来的16个逻辑Bank做好了准备。

  8.封装(Packages):DDR3由于新增了一些功能,所以在引脚方面会有所增加,8bit芯片采用78球FBGA封装,16bit芯片采用96球FBGA封装,而DDR2则有60/68/84球FBGA封装三种规格。并且DDR3必须是绿色封装,不能含有任何有害物质。

  9.降低功耗:DDR3内存在达到高带宽的同时,其功耗反而可以降低,其核心工作电压从DDR2的1.8V降至1.5V,相关数据预测DDR3将比现时DDR2节省30%的功耗,当然发热量我们也不需要担心。就带宽和功耗之间作个平衡,对比现有的DDR2-800产品,DDR3-800、1066及1333的功耗比分别为0.72X、0.83X及0.95X,不但内存带宽大幅提升,功耗表现也比上代更好

DDRPrefetch技术

Double Data Rate技术使数据外传速度提升了一倍,而芯片内部数据数据传输速度的提升则是通过Prefetch技术实现的。所谓Prefetch简单的说就是在一个内核时钟周期同时寻址多个存储单元并将这些数据以并行的方式统一传输到IO Buffer中,之后以更高的外传速度将IO Buffer中的数据传输出去。这个更高的速度在DDR中就是通过Double Data Rate实现的,也正因为如此,DDR芯片时钟管脚的时钟频率与芯片内部的核心频率是一致的。如下图所示为DDR的Prefetch过程中,在16位的内存芯片中一次将2个16bit数据从内核传输到外部MUX单元,之后分别在Clock信号的上、下沿分两次将这2 x 16bit数据传输给北桥或其他内存控制器,整个过程经历的时间恰好为一个内核时钟周期。

DDR基本原理_第2张图片

  发展到DDR2,芯片内核每次Prefetch  4倍的数据至IO Buffer中,为了进一步提高外传速度,芯片的内核时钟与外部接口时钟(即DDR芯片的Clock管脚时钟)不再是同一时钟,外部Clock时钟频率变为内核时钟的2倍。同理,DDR3每次Prefetch 8倍的数据,其芯片Clock频率为内核频率的4倍,即JEDEC标准(JESD79-3)规定的400MHz至800MHz,再加上在Clock信号上、下跳变沿同时传输数据,DDR3的数据传输速率便达到了800MT/s到1600MT/s。

最后,在了解了DDR的上面基础知识的前提下,下表列出了不同DDR芯片的相关特性:

SDRAM器件比较

条目

DDR3 SDRAM

DDR2 SDRAM

DDR SDRAM

Clock管脚时钟频率(工作频率)

400/533/667/800 MHz

200/266/333/400 MHz

100/133/166/200 MHz

数据传输速率

800/1066/1333/1600 MT/s

400/533/667/800 MT/s

200/266/333/400 MT/s

预取(Prefetch)位宽

8-bit

4-bit

2-bit

输入时钟类型

差分时钟

差分时钟

差分时钟

突发长度(Burst Length)

8, 4(突发突变)

4,8

2,4,8

数据选通信号类型

差分数据选通

差分数据选通

单端数据选通

电源电压

1.5V

1.8V

2.5V

数据电平标准

SSTL_15

SSTL_18

SSTL_2

CAS Latency(CL)

5,6,7,8,9时钟

3,4,5时钟

2,2.5,3时钟

片内终端电阻(ODT)

支持

支持

不支持

芯片封装

FBGA

FBGA

TSOP(II)/FBGA/LQFP

差分时钟CLK#

CLK#与DQS,CLK#与正常CLK时钟相位相反,形成差分时钟信号。而数据的传输在CLK与CLK#的交叉点进行,可见在CLK的上升与下降沿(此时正好是CLK#的上升沿)都有数据被触发,从而实现DDR。在此,我们可以说通过差分信号达到了DDR的目的,甚至讲CLK#帮助了第二个数据的触发。DDR基本原理_第3张图片

 

数据选取脉冲(DQS)

  DQS 是DDR中的重要功能,它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据。每一颗芯片都有一个DQS信号线,它是双向的,在写入时它用来传送由北桥发来的DQS信号,读取时,则由芯片生成DQS向北桥发送。完全可以说,它就是数据的同步信号。

  在读取时,DQS与数据信号同时生成(也是在CK与CK#的交叉点)。而DDR内存中的CL也就是从CAS发出到DQS生成的间隔,DQS生成时,芯片内部的预取已经完毕了,由于预取的原因,实际的数据传出可能会提前于DQS发生(数据提前于DQS传出)。由于是并行传输,DDR内存对tAC也有一定的要求,对于DDR266,tAC的允许范围是±0.75ns,对于DDR333,则是±0.7ns,有关它们的时序图示见前文,其中CL里包含了一段DQS 的导入期。

  DQS 在读取时与数据同步传输,那么接收时也是以DQS的上下沿为准吗?不,如果以DQS的上下沿区分数据周期的危险很大。由于芯片有预取的操作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各I/O端口的出现时间可能有快有慢,会与DQS有一定的间隔,这也就是为什么要有一个tAC规定的原因。而在接收方,一切必须保证同步接收,不能有tAC之类的偏差。这样在写入时,芯片不再自己生成DQS,而以发送方传来的DQS为基准,并相应延后一定的时间,在DQS的中部为数据周期的选取分割点(在读取时分割点就是上下沿),从这里分隔开两个传输周期。这样做的好处是,由于各数据信号都会有一个逻辑电平保持周期,即使发送时不同步,在DQS上下沿时都处于保持周期中,此时数据接收触发的准确性无疑是最高的。

  DDR的写时序的时序图如下图所示

 

DDR基本原理_第4张图片

  DDR的读时序的时序图如下图所示

 

DDR基本原理_第5张图片

  由上面的时序图可知,在写时序中,有效数据DQ的正中间正好对应DQS的跳边沿,而在读时序中,有效数据的正中间对应着DQS信号的正中间。

参考链接:DDR的基本原理) - jgliu -

                  ddr(内存名称)_百度百科

               DDR工作原理 - 我心狂野 - 博客园   

你可能感兴趣的:(存储器RAM,fpga开发)