您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > DDR-SDRAM基本原理详细介绍
DDRSDRAM基本原理详细介绍DDRSDRAM全称为DoubleDataRateSDRAM,中文名为“双倍数据流SDRAM”。DDRSDRAM在原有的SDRAM的基础上改进而来。也正因为如此,DDR能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流。由于SDRAM的结构与操作在上文已有详细阐述,所以本文只着重讲讲DDR的原理和DDRSDRAM相对于传统SDRAM(又称SDRSDRAM)的不同。一、DDR的基本原理有很多文章都在探讨DDR的原理,但似乎也不得要领,甚至还带出一些错误的观点。这种内部存储单元容量(也可以称为芯片内部总线位宽)=2×芯片位宽(也可称为芯片I/O总线位宽)的设计,就是所谓的两位预取(2-bitPrefetch),有的公司则贴切的称之为2-nPrefetch(n代表芯片位宽)。二、DDRSDRAM与SDRAM的不同DDRSDRAM与SDRAM的不同主要体现在以下几个方面。DDRSDRAM与SDRAM一样,在开机时也要进行MRS,不过由于操作功能的增多,DDRSDRAM在MRS之前还多了一EMRS阶段(ExtendedModeRegisterSet,扩展模式寄存器设置),这个扩展模式寄存器控制着DLL的有效/禁止、输出驱动强度、QFC有效/无效等。由于EMRS与MRS的操作方法与SDRAM的MRS大同小异,在此就不再列出具体的模式表了,有兴趣的话可查看相关的DDR内存资料。下面我们就着重说说DDRSDRAM的新设计与新功能。差分时钟(参见上文“DDRSDRAM读操作时序图”)是DDR的一个必要设计,但CK#的作用,并不能理解为第二个触发时钟(你可以在讲述DDR原理时简单地这么比喻),而是起到触发时钟校准的作用。由于数据是在CK的上下沿触发,造成传输周期缩短了一半,因此必须要保证传输周期的稳定以确保数据的正确传输,这就要求CK的上下沿间距要有精确的控制。但因为温度、电阻性能的改变等原因,CK上下沿间距可能发生变化,此时与其反相的CK#就起到纠正的作用(CK上升快下降慢,CK#则是上升慢下降快)。而由于上下沿触发的原因,也使CL=1.5和2.5成为可能,并容易实现。2、数据选取脉冲(DQS)DQS是DDRSDRAM中的重要功能,它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据。每一颗芯片都有一个DQS信号线,它是双向的,在写入时它用来传送由北桥发来的DQS信号,读取时,则由芯片生成DQS向北桥发送。完全可以说,它就是数据的同步信号。在读取时,DQS与数据信号同时生成(也是在CK与CK#的交叉点)。而DDR内存中的CL也就是从CAS发出到DQS生成的间隔,数据真正出现在数据I/O总线上相对于DQS触发的时间间隔被称为tAC。注意,这与SDRAM中的tAC的不同。实际上,DQS生成时,芯片内部的预取已经完毕了,tAC是指上文结构图中灰色部分的数据输出时间,由于预取的原因,实际的数据传出可能会提前于DQS发生(数据提前于DQS传出)。由于是并行传输,DDR内存对tAC也有一定的要求,对于DDR266,tAC的允许范围是±0.75ns,对于DDR333,则是±0.7ns,有关它们的时序图示见前文,其中CL里包含了一段DQS的导入期。3、写入延迟在上面的DQS写入时序图中,可以发现写入延迟已经不是0了,在发出写入命令后,DQS与写入数据要等一段时间才会送达。这个周期被称为DQS相对于写入命令的延迟时间(tDQSS,WRITECommandtothefirstcorrespondingrisingedgeofDQS),对于这个时间大家应该很好理解了。为什么要有这样的延迟设计呢?原因也在于同步,毕竟一个时钟周期两次传送,需要很高的控制精度,它必须要等接收方做好充分的准备才行。tDQSS是DDR内存写入操作的一个重要参数,太短的话恐怕接受有误,太长则会造成总线空闲。tDQSS最短不能小于0.75个时钟周期,最长不能超过1.25个时钟周期。有人可能会说,如果这样,DQS不就与芯片内的时钟不同步了吗?对,正常情况下,tDQSS是一个时钟周期,但写入时接受方的时钟只用来控制命令信号的同步,而数据的接受则完全依靠DQS进行同步,所以DQS与时钟不同步也无所谓。不过,tDQSS产生了一个不利影响——读后写操作延迟的增加,如果CL=2.5,还要在tDQSS基础上加入半个时钟周期,因为命令都要在CK的上升沿发出。另外,DDR内存的数据真正写入由于要经过更多步骤的处理,所以写回时间(tWR)也明显延长,一般在3个时钟周期左右,而在DDR-Ⅱ规范中更是将tWR列为模式寄存器的一项,可见它的重要性。4、突发长度与写入掩码在DDRSDRAM中,突发长度只有2、4、8三种选择,没有了随机存取的操作(突发长度为1)和全页式突发。这是为什么呢?因为L-Bank一次就存取两倍于芯片位宽的数据,所以芯片至少也要进行两次传输才可以,否则内部多出来的数据怎么处理?而全页式突发事实证明在PC内存中是很难用得上的,所以被取消也不希奇。另外,DDR内存的数据真正写入由于要经过更多步骤的处理,所以写回时间(tWR)也明显延长,一般在3个时钟周期左右,而在DDR-Ⅱ规范中更是将tWR列为模式寄存器的一项,可见它的重要性。但是,突发长度的定义也与SDRAM的不一样了(见本章节最前那幅DDR简示图),它不再指所连续寻址的存储单元数量,而是指连续的传输周期数,每次是一个芯片位宽的数据。对于突发写入,如果其中有不想存入的数据,仍可以运用DM信号进行屏蔽。DM信号和数据信号同时发出,接收方在DQS的上升与下降沿来判断DM的状态,如果DM为高电平,那么之前从DQS中部选取的数据就被屏蔽了。有人可能会觉得,DM是输入信号,意味着芯片不能发出DM信号给北桥作为屏蔽读取数据的参考。其实,该读哪个数据也是由北桥芯片决定的,所以芯片也无需参与北桥的工作,哪个数据是有用的就留给北桥自己去选吧。5、延迟锁定回路(DLL)DDRSDRAM对时钟的精确性有着很高的要求,而DDRSDRAM有两个时钟,一个是外部的总线时钟,一个是内部的工作时钟,在理论上DDRSDRAM这两个时钟应该是同步的,但由于种种原因,如温度、电压波动而产生延迟使两者很难同步,更何况时钟频率本身也有不稳定的情况(SDRAM也内部时钟,不过因为它的工作/传输频率较低,所以内外同步问题并不突出)。DDRSDRAM的tAC就是因为内部时钟与外部时钟有偏差而引起的,它很可能造成因数据不同步而产生错误的恶果。实际上,不同步就是一种正/负延迟,如果延迟不可避免,那么若是设定一个延迟值,如一个时钟周期,那么内外时钟的上升与下降沿还是同步的。鉴于外部时钟周期也不会绝对统一,所以需要根据外部时钟动态修正内部时钟的延迟来实现与外部时钟的同步,这就是DLL的任务。DLL不同于主板上的PLL,它不涉及频率与电压转换,而是生成一个延迟量给内部时钟。目前DLL有两种实现方法,一个是时钟频率测量法(CFM,ClockFrequencyMeasurement),一个是时钟比较法(CC,ClockComparator)。CFM是测量外部时钟的频率周期,然后以此周期为延迟值控制内部时钟,这样内外时钟正好就相差了一个时钟周期,从而实现同步。DLL就这样反复测量反复控制延迟值,使内部时钟与外部时钟保持同步。CC的方法则是比较内外部时钟的长短,如果内部时钟周期短了,就将所少的延迟加到下一个内部时钟周期里,然后再与外部时钟做比较,若是内部时钟周期长了,就将多出的延迟从下一个内部时钟中刨除,如此往复,最终使内外时钟同步。CFM与CC各有优缺点,CFM的校正速度快,仅用两个时钟周期,但容易受到噪音干扰,并且如果测量失误,则内部的延迟就永远错下去了。CC的优点则是更稳定可靠,如果比较失败,延迟受影响的只是一个数据(而且不会太严重),不会涉及到后面的延迟修正,但它的修正时间要比CFM长。DLL功能在DDRSDRAM中可以被禁止,但仅限于除错与*估操作,正常工作状态是自动有效的。DDR-SDRAM的信号DDRSDRAM的信号例如图1所示,在这里,作为4M×16位×4块结构的256M位的DDRSDRAM,我们以ELPIDA公司(NEO与日立的合资公司)的HM5425161B为例进行说明。在同步DRAM的基础上添加的信号标注了※符号,与DRAM控制器的连接如图2所示。首先我们针对这些信号进行说明。图1DDR-SDRAM的信号 图2DDR-SDRAM的连接1.CLK(反相时钟)同步DRAM只有一个时钟输入,与上升沿同步进行操作,而DDR-SDRAM同时也利用反相时钟。在DMU/DML(数据屏蔽)、DQSU/DQSL(数据选通)和DQn(数据)的采样时利用CLK、CLK两种时钟。因为在上述以外信号输入的采样时只利用CLK,所以认为该信号只应用于数据传输中即可。2.DQSU/DQSL在DDR-SDRAM的情况下,因为数据传输是非常快的,因此在DRAM控制器与DRAM元件之间存在信号偏移的问题。为此,在数据传输时,我们利用DQSU/DQSL判断数据是否确定。该信号可双向使用。读操作时,如果接收到来自DRAM控制器的READ指令,则DDR-SDRAM将DQS信号设为低电平,然后结合数据切换DQS。虽然DDR-SDRAM与同步DRAM在指令的传输上是相同,都在CLK的上升沿进行,但DDR-SDRAM的CAS延迟时间值采用整数或者整数+0.5的值,所以当CAS延迟时间是整数时,DQS与CLK同相;当CAS延迟时间是整数+0.5时,DQS与CLK同相。在主机方面,不是单纯地与时钟同步接受数据,而是根据是否切换了DQS信号来提取数据。写操作时,DRAM控制器在数据传输开始之前将DQS设置为低电平,数据确定后再进行切换DQS的操作。DDR-SDRAM是要结合DQS信号提取数据的。DDR-SDRAM的读操作 DDRSDRAM的读操作如图所示。发出ACT指令后,只经过tRCD时间后发出所要进行的READ指令,这一流程是与同步DRAM相同的,是与CLK的上升沿同步进行的。从图中我们可知道,之后的数据传输是以2倍的速率进行的。图DDRSDRAM的读操作由于可以利用1/2时钟,所以CAS延迟时间也不只是整数值,也有+0.5的取值。该图中的操作实例的CAS延迟时间为2.5。如图所示,DDR-SDRAM与数据一起驱动DQS信号,DQS与数据一起变化,所以主机方面等待这个变化若干个延迟时间后提取数据。可以对相当于模式寄存器所设定的突发长度的数据进行连续读操作也是DDR-SDRAM与同步DRAM相同的地方。DDRSDRAM的写操作DDRSDRAM的写操作如图所示。仍然是与同步DRAM相同,瞪着ACT指令的发出而发出WRIte指令。但DDR-SDRAM数据不是与WRITE指令同时发出的,而是在一个时钟后赋予数据,这是与同步DRAM的不同之处。图DDR-SRAM的写操作另外,DDR-SDRAM锁存数据的时序不是利用CLK,而是利用DQS信号。在DRAM控制器端确定数据后等待若干个延迟时间,选通DQS。而DDRSDRAM端则在该变化沿处锁存数据。进行读操作时,DDRSDRAM输出的DQS具有与数据同步的状态信号;而进行写操作时DQS却成为选通信号,这是两者最大的不同。进行读/写操作时的时序微调是在DRAM控制器上进行的,这也可以说是DDR-SDRAM使用上的特征。
本文标题:DDR-SDRAM基本原理详细介绍
链接地址:https://www.777doc.com/doc-3948439 .html