内存的原理和时序(SDRAM、DDR、DDR-Ⅱ、Rambus_DRAM)-下

内存的原理和时序(SDRAM、DDR、DDR-Ⅱ、Rambus_DRAM)-下
内存的原理和时序(SDRAM、DDR、DDR-Ⅱ、Rambus_DRAM)-下

第二章 DDR SDRAM的原理和时序

DDR SDRAM 全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM 在原有的SDRAM 的基础上改进而来。也正因为如此,DDR 能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流。由于SDRAM 的结构与操作在前一章已有详细阐述,所以本文只着重讲讲DDR 的原理和DDR SDRAM 相对于传统SDRAM(又称SDR SDRAM)的不同。

DDR SDRAM可在一个时钟周期内传送两次数据

2.1 DDR的基本原理

有很多文章都在探讨DDR 的原理,但似乎也不得要领,甚至还带出一些错误的观点。首先我们看看一张DDR 正规的时序图。

DDR SDRAM 读操作时序图

从中可以发现它多了两个信号: CLK#与DQS,CLK#与正常CLK 时钟相位相反,形成差分时钟信号。而数据的传输在CLK 与CLK#的交叉点进行,可见在CLK 的上升与下降沿(此时正好是CLK#的上升沿)都有数据被触发,从而实现DDR。在此,我们可以说通过差分信号达到了DDR 的目的,甚至讲CLK#帮助了第二个数据的触发,但这只是对表面现象的简单描述,从严格的定义上讲并不能这么说。之所以能实现DDR,还要从其内部的改进说起。

DDR 内存芯片的内部结构图,注意比较上文中SDRAM 的结构图 这也是一颗128Mbit 的内存芯片,标称规格也与前文的SDRAM 一样为32×4bit。从图中可以看出来,白色区域内与SDRAM 的结构基本相同,但请注意灰色区域,这是与SDRAM 的不同之处。

首先就是内部的L-Bank 规格。SDRAM 中L-Bank 存储单元的容量与芯片位宽相同,但在DDR SDRAM 中并不是这样,存储单元的容量是芯片位宽的一倍,所以在此不能再套用讲解SDRAM 时“芯片位宽=存储单元容量”的公式了。也因此,真正的行、列地址数量也与同规格SDRAM 不一样了。

以本芯片为例,在读取时,L-Bank 在内部时钟信号的触发下一次传送8bit 的数据给读取锁存器,再分成两路4bit 数据传给复用器,由后者将它们合并为一路4bit 数据流,然后由发送器在DQS 的控制下在外部时钟上升与下降沿分两次传输4bit 的数据给北桥。这样,如果时钟频率为100MHz,那么在I/O 端口处,由于是上下沿触发,那么就是传输频率就是200MHz。

现在大家基本明白DDR SDRAM 的工作原理了吧,这种内部存储单元容量(也可以称为芯片内部总线位宽)=2×芯片位宽(也可称为芯片I/O 总线位宽)的设计,就是所谓的两位预取(2-bit Prefetch),有的公司则贴切的称之为2-n Prefetch(n 代表芯片位宽)。

2.2 DDR SDRAM 与SDRAM 的不同 DDR SDRAM与SDRAM的不同主要体现在以下几个方面,如下表。

DDR SDRAM与SDRAM的主要不同对比表

DDR SDRAM与SDRAM一样,在开机时也要进行MRS,不过由于操作功能的增多,DDR SDRAM在MRS 之前还多了一EMRS 阶段(Extended Mode Register Set,扩展模式寄存器设置),这个扩展模式寄存器控制着DLL 的有效/禁止、输出驱动强度、QFC 有效/无效等。

由于EMRS 与MRS 的操作方法与SDRAM 的MRS 大同小异,在此就不再列出具体的模式表了,有兴趣的话可查看相关的DDR 内存资料。下面我们就着重说说DDR SDRAM的新设计与新功能。

2.3 差分时钟

差分时钟(参见上文“DDR SDRAM 读操作时序图” )是DDR 的一个必要设计,但CK#的作用,并不能理解为第二个触发时钟(你可以在讲述DDR 原理时简单地这么比喻),而是起到触发时钟校准的作用。

由于数据是在CK 的上下沿触发,造成传输周期缩短了一半,因此必须要保证传输周期的稳定以确保数据的正确传输,这就要求CK 的上下沿间距要有精确的控制。但因为温度、电阻性能的改变等原因,CK 上下沿间距可能发生变化,此时与其反相的CK#就起到纠正的作用(CK 上升快下降慢,CK#则是上升慢下降快)。而由于上下沿触发的原因,也使CL=1.5 和2.5 成为可能,并容易实现。

与CK 反相的CK#保证了触发时机的准确性

2.4 数据选取脉冲(DQS)

DQS 是DDR SDRAM 中的重要功能,它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据。每一颗芯片都有一个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 的导入期。

DQS 在读取时与数据同步传输,那么接收时也是以DQS 的上下沿为准吗?不,如果以DQS 的上下沿区分数据周期的危险很大。由于芯片有预取的操作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各I/O 端口的出现时间可能有快有慢,会与DQS 有一定的间隔,这也就是为什么要有一个tAC 规定的原因。而在接收方,一切必须保证同步接收,不能有tAC 之类的偏差。这样

在写入时,芯片不再自己生成DQS,而以发送方传来的DQS 为基准,并相应延后一定的时间,在DQS 的中部为数据周期的选取分割点(在读取时分割点就是上下沿),从这里分隔开两个传输周期。这样做的好处是,由于各数据信号都会有一个逻辑电平保持周期,即使发送时不同步,在DQS 上下沿时都处于保持周期中,此时数据接收触发的准确性无疑是最高的。

在写入时,以DQS 的高/低电平期中部为数据周期分割点,而不是上/下沿,但数据的接收

触发仍为DQS 的上/下沿。

2.5 写入延迟

在上面的DQS 写入时序图中,可以发现写入延迟已经不是0 了,在发出写入命令后,DQS与写入数据要等一段时间才会送达。这个周期被称为DQS 相对于写入命令的延迟时间(tDQSS, WRITE Command to the first corresponding rising edge of DQS)。

为什么要有这样的延迟设计呢?原因也在于同步,毕竟一个时钟周期两次传送,需要很高的控制精度,它必须要等接收方做好充分的准备才行。tDQSS 是DDR 内存写入操作的一个重要参数,太短的话恐怕接受有误,太长则会造成总线空闲。tDQSS 最短不能小于0.75 个时钟周期,最长不能超过1.25 个时钟周期。

有人可能会说,如果这样,DQS 不就与芯片内的时钟不同步了吗?对,正常情况下,tDQSS 是一个时钟周期,但写入时接受方的时钟只用来控制命令信号的同步,而数据的接受则完全依靠DQS 进行

同步,所以DQS 与时钟不同步也无所谓。不过,tDQSS 产生了一个不利影响— — 读后写操作延迟的增加,如果CL=2.5,还要在tDQSS 基础上加入半个时钟周期,因为命令都要在CK 的上升沿发出。

当CL=2.5 时,读后写的延迟将为tDQSS+0.5 个时钟周期(图中BL=2) 另外,DDR 内存的数据真正写入由于要经过更多步骤的处理,所以写回时间(tWR)也明显延长,一般在3 个时钟周期左右,而在DDR-Ⅱ规范中更是将tWR 列为模式寄存器的一项,可见它的重要性。

2.6 突发长度与写入掩码

在DDR SDRAM 中,突发长度只有2、4、8 三种选择,没有了随机存取的操作(突发长度为1)和全页式突发。这是为什么呢?因为L-Bank 一次就存取两倍于芯片位宽的数据,所以芯片至少也要进行两次传输才可以,否则内部多出来的数据怎么处理?而全页式突发事实证明在PC 内存中是很难用得上的,所以被取消也不希奇。

但是,突发长度的定义也与SDRAM 的不一样了(见本章节最前那幅DDR 简示图),它不再指所连续寻址的存储单元数量,而是指连续的传输周期数,每次是一个芯片位宽的数据。

对于突发写入,如果其中有不想存入的数据,仍可以运用DM信号进行屏蔽。DM 信号和数据信号同时发出,接收方在DQS 的上升与下降沿来判断DM 的状态,如果DM为高电平,那么之前从DQS 中部选取的数据就被屏蔽了。有人可能会觉得,DM 是输入信号,意味着芯片不能发出DM 信号给北桥作为屏蔽读取数据的参考。其实,该读哪个数据也是由北桥芯片决定的,所以芯片也无需参与北桥的工作,哪个数据是有用的就留给北桥自己去选吧。

2.7 延迟锁定回路(DLL)

DDR SDRAM对时钟的精确性有着很高的要求,而DDR SDRAM 有两个时钟,一个是外部的总线时钟,一个是内部的工作时钟,在理论上DDR SDRAM 这两个时钟应该是同步的,但由于种种原因,如温度、电压波动而产生延迟使两者很难同步,更何况时钟频率本身也有不稳定的情况(SDRAM 也有内部时钟,不过因为它的工作/传输频率较低,所以内外同步问题并不突出)。

DDR SDRAM 的tAC 就是因为内部时钟与外部时钟有偏差而引起的,它很可能造成因数据不同步而产生错误的恶果。实际上,不同步就是一种正/负延迟,如果延迟不可避免,那么若是设定一个延迟值,如一个时钟周期,那么内外时钟的上升与下降沿还是同步的。鉴于外部时钟周期也不会绝对统一,所以需要根据外部时钟动态修正内部时钟的延迟来实现与外部时钟的同步,这就是DLL 的任务。

DLL 不同于主板上的PLL,它不涉及频率与电压转换,而是生成一个延迟量给内部时钟。目前DLL 有两种实现方法,一个是时钟频率测量法(CFM,Clock Frequency Measurement),一个是时钟比较法(CC,Clock Comparator)。

CFM 是测量外部时钟的频率周期,然后以此周期为延迟值控制内部时钟,这样内外时钟正好就相差了一个时钟周期,从而实现同步。DLL就这样反复测量反复控制延迟值,使内部时钟与外部时钟保持同步。

CC 的方法则是比较内外部时钟的长短,如果内部时钟周期短了,就将所少的延迟加到下一个内部时钟周期里,然后再与外部时钟做比较,若是内部时钟周期长了,就将多出的延迟从下一个内部时钟中刨除,如此往复,最终使内外时钟同步。

CFM式DLL 工作示意图

CC 式DLL 工作示意图

CFM与CC 各有优缺点,CFM 的校正速度快,仅用两个时钟周期,但容易受到噪音干扰,并且如果测量失误,则内部的延迟就永远错下去了。CC 的优点则是更稳定可靠,如果比较失败,延迟受影响的只是一个数据(而且不会太严重),不会涉及到后面的延迟修正,但它的修正时间要比CFM 长。DLL 功能在DDR SDRAM 中可以被禁止,但仅限于除错与评估操作,正常工作状态是自动有效的。

第三章 DDR-Ⅱ的原理和新技术

作为DDR 的接班人,DDR-Ⅱ在规范制定之初就引起了广泛的关注,进入2002 年,三星、Elpida、Hynix、Micron 等都相继发布了DDR-Ⅱ芯片(最早由三星在5 月28 日发布),让人觉得DDR-Ⅱ突然和我们近了。可是,DDR-Ⅱ规范却一直没有正式公开,在JEDEC 上仍只有一篇ATi 技术人员写的,在目前看来有些内容都已过时的简要介绍。

原来,DDR-Ⅱ标准到2002 年10 月完成度也没有达到100%(厂商透露大约为95%),而上述厂商所推出的芯片也在不断的修改中,预计正式的规范将在明年第一季度推出。不过,DDR-Ⅱ的主体设计已经完成,不会有大的改动,所以通过这些“试验性”芯片,我们仍可掌握DDR-Ⅱ的主要信息。

DDR-Ⅱ相对于DDR 的主要改进如下表

由于DDR-Ⅱ相对DDR-I 的设计变动并不大,因此很多操作就不在此详细介绍了,本文重点阐述DDR-Ⅱ的一些重要变化。

3.1 DDR-Ⅱ内存结构

DDR-Ⅱ内存的预取设计是4bit,通过DDR 的讲述,大家现在应该知道是什么意思了吧。上文已经说过,SDRAM 有两个时钟,一个是内部时钟,一个是外部时钟。

在SDRAM 与DDR 时代,这两个时钟频率是相同的,但在DDR-Ⅱ内存中,内部时钟变成了外部时钟的一半。以DDR-Ⅱ 400 为例, 数据传输频率为400MHz( 对于每个数据引脚, 则是400Mbps/pin),外部时钟频率为200MHz,内部时钟频率为100MHz。因为内部一次传输的数据就可供外部接口传输4 次,虽然以DDR 方式传输,但数据传输频率的基准— — 外部时钟频率仍要是内部时钟的两倍才行。

DDR-Ⅱ、DDR 与SDRAM 的操作时钟比较

所以,当预取容量超过接口一次DDR 的传输量时,内部时钟必须降低(除非数据传输不是DDR方式,而是一个时钟周期4 次)。如果内部时钟也达到200MHz,那外部时钟也要达到400MHz,这会使成本有大幅度提高。因此,DDR-Ⅱ虽然实现了4-bit 预取,但在实际效能上,与DDR 是一样的。

在上面那幅比较图中,可以看出厂商们的一种误导,它虽然表示出在相同的核心频率下,DDR-Ⅱ达到了两倍于DDR 的的带宽,但前提是DDR-Ⅱ的外部时钟频率也是DDR 和SDRAM 的两倍。在DDR 的时钟频率已经达到166/200MHz 的今天,再用100MHz 去比较,显然意义不大。这点也请大家们注意识别,上图更多的是说明DDR-Ⅱ内外时钟的差异。毕竟内部时钟由外部决定,所以外部时钟才是比较的根本基准。

总之,现在大家要明确认识,在外部时钟频率相同的情况下,DDR-Ⅱ与DDR 的带宽一样。

3.2 DDR-Ⅱ的新操作与新时序设计

●3.2.1 片外驱动调校(OCD,Off-Chip Driver)

DDR-Ⅱ内存在开机时也会有初始化过程,同时在EMRS 中加入了新设置选项,由于大同小异,在此就不多说了。在EMRS 阶段,DDR-Ⅱ加入了可选的OCD功能。

OCD 的主要用意在于调整I/O 接口端的电压,来补偿上拉与下拉电阻值。目的是让DQS 与DQ 数据信号之间的偏差降低到最小。调校期间,分别测试DQS 高电平/DQ 高电平,与DQS 低电平/DQ 高电平时的同步情况,如果不满足要求,则通过设定突发长度的地址线来传送上拉/下拉电阻等级(加一档或减一档),直到测试合格才退出OCD 操作。

OCD的作用在于调整DQS 与DQ 之间的同步,以确保信号的完整与可靠性 不过,据一些厂商的技术人员介绍,一般情况下有DQS#(差分DQS 时)就基本可以保证同步的准确性,而且OCD 的调整对其他操作也有一定影响,因此在普通台式机上不需要用OCD功能,它一般只会出现在高端产品中,如对数据完整性非常敏感的服务器等。

●3.2.2 片内终结(ODT,On-Die Termination)

所谓的终结,就是让信号被电路的终端吸收掉,而不会在电路上形成反射,造成对后面信号的影响。

在DDR 时代,控制与数据信号的终结在主板上完成,每块DDR 主板在DIMM槽的旁边都会有一个终结电压岛的设计,它主要由一排终结电阻构成。长期以来,这个电压岛一直是DDR 主板设计上的一个难点。而ODT 的出现,则将这个难点消灭了。

顾名思义,ODT 就是将终结电阻移植到了芯片内部,主板上不在有终结电路。ODT 的功能与禁止由北桥芯片控制,ODT 所终结的信号包括DQS、RDQS(为8bit 位宽芯片增设的专用DQS 读取信号,主要用来简化一个模组中同时使用4 与8bit 位宽芯片时的控制设计)、DQ、DM 等。需要不需要该芯片进行终结由北桥控制。

那么具体的终结操作如何实现呢?首先要确定系统中有几条模组,并因此来决定终结的等效电阻值,有150 和75Ω 两档,这一切由北桥在开机进行EMRS 时进行设置。

向内存写入数据时内存端的终结

在向内存写入时,如果只有一条DIMM,那么这条DIMM 就自己进行终结,终结电阻等效为150Ω。如果为两条DIMM,一条工作时,另一条负责终结,但等效电阻为75Ω

从内存读取数据时控制器端的终结

在从内存读出时,终结操作也将在北桥内进行,如果有两条DIMM,不工作的那一条将会终结信号在另一方向的余波,等效电阻也因DIMM的数量而有两种设置

两个DIMM 在交错工作中的ODT 情况

上图为两个DIMM 在交错工作中的ODT 情况,第一个模组工作时,第二个模组进行终结操作,等第二个模组工作时,第一个模组进行终结操作

现在我们应该基本了解了ODT 的功能,它在很大程度上减少了内存芯片在读取时的I/O 功率消耗,并简化了主板的设计,降低了主板成本。而且ODT 也要比主板终结更及时有效,从而也成为了提高信号质量的重要功能,这有助于降低日后DDR-Ⅱ进一步提速的难度。但是,由于为了确保信号的有效终结,终结操作期将会比数据传输期稍长,从而多占用一个时钟周期的时间而造成总线空闲。不过,有些厂商的技术人员称,通过精确设置tDQSS,可以避免出现总线空闲。

●3.2.3 前置CAS、附加潜伏期与写入潜伏期

前置CAS(Posted CAS)是为了解决DDR 内存中指令冲突而设计的功能。它允许CAS 信号紧随RAS 发送,相对于以往的DDR 等于将CAS 前置了。

这样,地址线可以立刻空出来,便于后面的行有效命令发出,避免造成命令冲突而被迫延后的情况发生,但读/写操作并没有因此而提前,仍有要保证有足够的延迟/潜伏期,为此,DDR-Ⅱ引入了附加潜伏期的概念(AL,Additive Latency),与CL 一样,单位为时钟周期数。AL+CL 被定义为读取潜伏期(RL,Read Latency),相应的,DDR-Ⅱ还对写入潜伏期(WL,Write Latency)制定了标准,WL 是指从写入命令发出到第一笔数据输入的潜伏期,不要将它和tDQSS 弄混了,后者是指DQS而不是数据。按规定,WL=RL-1,即AL+CL-1。

在没有前置CAS 功能时,对其他L-Bank 的寻址操作可能会因当前行的CAS 命令占用地址线而延后,并使数据I/O 总线出现空闲,当使用前置CAS 后,消除了命令冲突并使数据I/O总线的利率提高。

设置Posted-CAS 后,必须附加潜伏期以保证应有延迟,此时读取潜伏期(RL)就等于AL+CL,从中可以看出AL 的值为CL+tRCD-1

DDR-Ⅱ中CL 最低值为3,最高为5,并且不再有x.5 的设计,而AL 值则为0-4。当AL 设为0 时,前置CAS 无效,即为传统DDR 模式的操作。不过前置CAS 在解决命令冲突的时候也带来了新的问题— — 在背靠背式读取时,仍将经过AL+CL的潜伏期才能读取数据,比传统的只有CL 相比,读取的延迟反而增加了。因此,AL=0 是默认设置,只有在那些读写命令非常频繁的操作场合,才建议启动前置CAS 功能(如服务器等),对于台式机用户,前置CAS 的优点不足以抵消其带来的不利影响。

由于有了AL,在同一行中进行再读取时,在CL 的基础上仍将增加AL 造成的延迟,从而影响了性能。

3.3 DDR-Ⅱ未来发展

●3.3.1 DDR-Ⅱ 的发展计划

虽然目前多家厂商都推出了DDR-Ⅱ内存芯片,但从DDR 官方组织JEDEC 方面得到的信息表明,距离DDR-Ⅱ内存大规模上市还很遥远,2004 年才会是DDR-Ⅱ普通的阶段。而由于三星、南亚与Micron 公司的大力推广,这期间JEDEC 很可能会接受DDR-400 标准,目前的争执主要在于能否在DDR-I 的体系下保证DDR-400 的可靠性。对此(成为JEDEC 正式标准),三星与南亚公司都表示了很强的信心。

笔者认为,DDR-400 应该会获得认可,毕竟市场上是有需要的,而让市场去等一年的时间迎接DDR-Ⅱ 400 似乎并不现实。不过,多通道技术在DDR领域里的普及,可能也会改变JEDEC 对认证DDR-400 的想法,但关键要看多通道的性价比能不能填补这一空档,否则DDR-400 就是一个最佳的选择。

三星是DDR-400 的主推厂商,但请注意DDR-400 的电压变化,它可能是引起兼容性问题的根源之

一也由于多通道的出现,市场上对DDR-Ⅱ的渴望也并不大,毕竟它与同频的DDR-I 内存的带宽一样。而从上文可以看出,DDR-Ⅱ相对于DDR-I 的不同设计很多都集中在了如何在更高的工作(时钟)频率下保证数据的可靠。只有当DDR-Ⅱ依靠自身的特有功能与设计来获得更高的时钟频率时,再配合多通道,才会真正拉开与DDR-I 的距离,那时也就是DDR-Ⅱ普及的开始。但笔者预测DDR-Ⅱ 400 将像DDR-200 一样,注定是一个一出生就过时的标准,DDR-Ⅱ至少要从533 开始流行。不过在目前情况下,我们还不必太在意DDR-Ⅱ的进展情况,说句实话,它离我们还很远。今天的介绍只是让大家对其有一个大概的了解。

●3.3.2 DDR-Ⅱ时代的封装技术

可以肯定的是TSOP-II 将在DDR-Ⅱ时代彻底退出内存封装市场。并且将会出现改良型的CSP— — WLP(Wafer Level Packaging,晶圆级封装),它是比CSP 更为贴近芯片尺寸的封装方法,由于在晶圆上就做好了封装布线,因此在可靠性方面达到了更高的水平。不过,外在的模样仍与现在的CSP 封装差不多,WLP 更多的改进是在其内部。

另外值得一提的是为了应付更高容量的需求而采用的SiP 封装技术, 它是System-in-a-Package 的缩写,有时又称之为Stacked Pakage,可以看作是一种集成封装技术。

它将多枚内存芯片核心堆叠在一起,然后统一封装成一颗芯片,在有限的面积内通过充分利用空间达到容量倍增的目的。SiP 并不是内存中专用的封装技术,原来是用于多种不同功能的芯片统一封装(如一颗嵌入式CPU+DRAM 芯片)。

目前的SiP 技术可以在CSP 的基础上最多堆叠4 枚内存芯片。

第四章 Rambus DRAM的原理

谈起DDR SDRAM 与Rambus DRAM(简称RDRAM)之间的恩怨,很多人现在还是津津乐道。的确,上一世纪末的内存大战虽胜负已分,但至今仍余波未平。在主流市场DDR SDRAM 成为王者,RDRAM 则沦为“高端贵族”。

Rambus 公司于1990 年 3 月成立,之后不久就有了Rambus 的核心专利——RSL (RambusSignaling Level,Rambus 发信电平技术)。Rambus 内存最早出现于1995 年12 月,那时它与任天堂64(Nintendo64)游戏机一起发售,但名声不大。

从1996 年12 月开始,Rambus 与Intel 合作开发,准备将Rambus 推广到PC 领域。到Rambus 内存真正亮相于PC 市场时已经是1999 年11 月了。

4.1 RDRAM 简介

RDRAM 与DDR SDRAM 一样,也是一种采用双沿触发技术的内存, 但它在结构、控制体系方面相对于传统SDRAM 有着不小的变化,首先我们来看看它与SDRAM 之间的简单比较。

RDRAM 与DDR SDRAM比较

RDRAM与传统SDRAM 的架构比较

从架构比较图中,可以看出RDRAM 在工作方式上与SDRAM 有了很大不同。SDRAM 需要多颗芯片并联组成P-Bank 与北桥沟通,而在RDRAM 架构中每个芯片就是一个单独工作的读写单元,芯片的位宽就是与北桥接口的位宽,所以如果想用ECC,就要用专门的ECC 型芯片,也因此有了16/18bit 的两种规格。而芯片的位宽就是一个RDRAM 通道的位宽(本文以16bit 芯片为例进行介绍)。

为了达到更高的容量,在一个通道中将多颗RDRAM 芯片串起来,形成RIMM(RambusInterface Memory Module,Rambus 接口内存模组),如果主板允许,完全可以设计一个超长的内存插槽与模组,但现实中肯定不能这么做,所以在主板上Rambus 又把模组串起来组成通道。

由于是串联的形式,所以要求起始端与终结端形成一个完整的通路,而RIMM 就是这个通路的串联器,因此Rambus 要求所有的插槽必须插满,如果没有RIMM 则用C-RIMM(Continuity RIMM,RIMM 续连器)代替,以达到联通RSL 信号并行终结器的目的。

工作时,RDRAM 每次寻址一颗芯片,所需要的数据则由通道数据总线传送到北桥,而不像SDRAM 那样由所在模组直接通过DIMM 接口传向北桥,也因此RIMM 的引脚定义几乎是左右对称的。由于位宽的降低,为保证高带宽,RDRAM 使用了更高的时钟频率(这就意味着它不可能与系统时钟同步, 所以只能叫RDRAM 而不是RSDRAM),芯片的工作频率明显高于SDRAM/DDR,这样芯片的工作热量也急剧上升,为此Rambus 在官方规范中规定RIMM必须配备散热片,从而成了现在这个样子。

32bit 位宽PC1066 芯片标准的RIMM,它是目前PC 领域中性能最高的RDRAM产品

4.2 RDRAM 的结构简介

●4.2.1 RDRAM的L-Bank 结构

RDRAM 的内部仍主要由L-Bank 构成,但它的设计与SDRAM 家族有很大的不同。首先,每个L-Bank 有两个数据通道A 和B,各为8bit 位宽(ECC 型号为9bit,这种设计就是DirectDRAM较以前RDRAM 的不同),每个端口都配有S-AMP。根据L-Bank 数量与S-AMP 的分配方式不同,目前RDRAM 共有三种内核结构,分别是32s、16d 与4i。

较早时,RDRAM 的设计是16d,所谓的d 是指Double(双),即除了0 与15 号L-Bank,其余相邻的L-Bank 每个数据通道(A 和B)共用一个S-AMP。

全面教你认识内存参数

全面教你认识内存参数 内存热点 Jany 2010-4-28

内存这样小小的一个硬件,却是PC系统中最必不可少的重要部件之一。而对于入门用户来说,可能从内存的类型、工作频率、接口类型这些简单的参数的印象都可能很模糊的,而对更深入的各项内存时序小参数就更摸不着头脑了。而对于进阶玩家来说,内存的一些具体的细小参数设置则足以影响到整套系统的超频效果和最终性能表现。如果不想当菜鸟的话,虽然不一定要把各种参数规格一一背熟,但起码有一个基本的认识,等真正需要用到的时候,查起来也不会毫无概念。 内存种类 目前,桌面平台所采用的内存主要为DDR 1、DDR 2和DDR 3三种,其中DDR1内存已经基本上被淘汰,而DDR2和DDR3是目前的主流。 DDR1内存 第一代DDR内存 DDR SDRAM 是 Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM 的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。 DDR2内存 第二代DDR内存

DDR2 是 DDR SDRAM 内存的第二代产品。它在 DDR 内存技术的基础上加以改进,从而其传输速度更快(可达800MHZ ),耗电量更低,散热性能更优良。 DDR3内存 第三代DDR内存 DDR3相比起DDR2有更低的工作电压,从DDR2的1.8V降落到1.5V,性能更好更为省电;DDR2的4bit 预读升级为8bit预读。DDR3目前最高能够1600Mhz的速度,由于目前最为快速的DDR2内存速度已经提升到800Mhz/1066Mhz的速度,因而首批DDR3内存模组将会从1333Mhz的起跳。 三种类型DDR内存之间,从内存控制器到内存插槽都互不兼容。即使是一些在同时支持两种类型内存的Combo主板上,两种规格的内存也不能同时工作,只能使用其中一种内存。 内存SPD芯片 内存SPD芯片

电脑内存时序

举例9-9-9-27,一般1600的条子spd出厂就这么设置的 前面2个9对性能很重要,第2个9又比第1个9重要,比如说 我要超1866或者2133,设置成9-10-X-X基本没有问题,但是 设置成10-9-X-X就开不了机了,很多条子都这样子的,比如说 现在很火的3星金条。 第3位9基本上是打酱油的了,设置成9,10,11都对性能木有太大影响。 第4位数字基本就无视好了,设置21-36对测试都没变化,原来稳定的 还是稳定,原来开不了机的还是开不了。 以前的ddr2时代对内存的小参数很有影响,现在ddr3了,频率才是王道哦。 2133的-11-11-11-30都要比1866的-9-9-9-27测试跑分的多。当然平时用是感觉不出来的。 最后我再鄙视下金士顿的XX神条马甲套装,当年不懂事大价钱买的,就是YY用的, 1.65v上个1866都吃力,还要参数放的烂。 对性能影响最大的是CL 第一个9对性能影响最大。l第二个9对超频稳定性影响最大 最普通的ddr3 1333内存都可以1.5V运行在7-8-6-1666 CR1,77 Z博士: 一般来说,体现内存延迟的就是我们通常说的时序,如DDR2-800内存的标准时序:5-5-5-18,但DDR3-800内存的标准时序则达到了6-6-6-

15、DDR3-1066为7-7-7- 20、而DDR3-1333更是达到了9-9-9-25! 土老冒: 俺想知道博士所说的5-5-5- 18、6-6-6-15等数字每一个都代表什么。 Z博士: 这4个数字的含义依次为: CAS Latency(简称CL值)内存CAS延迟时间,这也是内存最重要的参数之一,一般来说内存厂商都会将CL值印在产品标签上。 第二个数字是RAS-to-CAS Delay(tRCD),代表内存行地址传输到列地址的延迟时间。 第三个则是Row-precharge Delay(tRP),代表内存行地址选通脉冲预充电时间。 第四个数字则是Row-active Delay(tRAS),代表内存行地址选通延迟。 除了这四个以外,在AMD K8处理器平台和部分非Intel设计的对应Intel芯片组上,如NVIDIA nForce 680i SLI芯片组上,还支持内存的CMD 1T/2T Timing 调节,CMD调节对内存的性能影响也很大,其重要性可以和CL相比。 其实这些参数,你记得太清楚也没有太大用处,你就只需要了解,这几个参数越低,从你点菜到上菜的时间就越快。 土老冒: 好吧,俺自己也听得一头雾水,只需要记得它越低越好就行了。那么俺想问,为什么DDR3内存延迟提高了那么多,Intel和众多的内存模组厂商还要大力推广呢?

SDRAM内存详解(经典)

SDRAM内存详解(经典) 我们从内存颗粒、内存槽位接口、主板和内存之间的信号、接口几个方面来详细阐述SDRAM内存条和主板内存系统的设计思路... 虽然目前SDRAM内存条价格已经接底线,内存开始向DDR和Rambus内存过渡。但是由于DDR内存是在SDRAM基础上发展起来的,所以详细了解SDRAM内存的接口和主板设计方法对于设计基于DDR内存的主板不无裨益。下面我们就从内存颗粒、内存槽位接口、主板和内存之间的信号接口几个方面来详细阐述SDRAM内存条和主板内存系统的设计思路。 内存颗粒介绍 对于DRAM(Dynamic Random Access Memory)内存我想凡是对于计算机有所了解的读者都不会陌生。这种类型的内存都是以一个电容是否充有电荷来作为存储状态的标志,电容冲有电荷为状态1,电容没有电荷为状态0。其最大优点是集成度高,容量大,但是其速度相对于SRAM (Static Random Access Memory) 内存来说慢了许多。目前的内存颗粒封装方式有许多种,本文仅仅以大家常见的TSSOP封装的内存颗粒为例子。 其各个管脚的信号定义和我们所使用的DIMM插槽的定义是相同的,对于不同容量的内存,地址信号的位数有所不同。另外一个需要注意的地方就是其供电电路。Vcc和Vss是为内存颗粒中的存储队列供电,而VccQ和VssQ是为内存颗粒中的地址和数据缓冲区供电。两者的作用不同。 我们对内存颗粒关心的问题主要是其颗粒的数据宽度(数据位数)和容量(寻址空间大小)。而对于颗粒自检、颗粒自刷新等等逻辑并不需要特别深入的研究,所以对此我仅仅是一笔带过,如果读者有兴趣的读者可以详细研究内存颗粒的数据手册。虽然内存颗粒有这么多的逻辑命令方式,但是由于目前北桥芯片和内存颗粒的集成度非常高,只要在布线和元器件的选择上严格按照内存规范来设计和制造,需要使用逻辑分析仪来调试电路上的差错的情况比较少,并且在设计过程中尽量避免出现这种情况。 168线DIMM内存插槽的信号定义  我们目前PC和Server使用的内存大都是168 Pins的SDRAM,区别只是其工作频率有的可能是100MHz频率,有的可能是133MHz频率的。但是只要是SDRAM,其DIMM插槽的信号定义是一样的。而这些引脚得定义就是设计内存条和主板所必须遵从的规范。 内存引脚主要分为如下几类:地址引脚、数据引脚(包含校验位引脚)、片选等控制信号、时钟信号。整个内存时序系统就是这些引脚上的信号配合产生。下面的表中就是内存插槽的引脚数量和引脚定义,对于一些没有定义或者是保留以后使用的信号就没有列出来。 符号功能详细描述 DQ [0-63] I/O 数据输入/输出 CB [0-7] I/O ECC内存的ECC校验输入/输出 A [0-13] I/O 地址选择 BA [0-1] Control Bank选择 CS [0-3] Control 片选信号 RAS Control 行地址选择信号 CAS Control 列地址选择信号 DQMB [0-7] Control 数据掩码控制(DQ Mask)高有效* WE Control 写允许信号 CK [0-3] Clock 时钟信号 CKE [0-1] Clock 时钟允许信号** REGE Control 寄存器 (Registered) 允许信号

DDR系列内存详解及硬件设计规范-Michael

D D R 系列系列内存内存内存详解及硬件详解及硬件 设计规范 By: Michael Oct 12, 2010 haolei@https://www.360docs.net/doc/fb5891968.html,

目录 1.概述 (3) 2.DDR的基本原理 (3) 3.DDR SDRAM与SDRAM的不同 (5) 3.1差分时钟 (6) 3.2数据选取脉冲(DQS) (7) 3.3写入延迟 (9) 3.4突发长度与写入掩码 (10) 3.5延迟锁定回路(DLL) (10) 4.DDR-Ⅱ (12) 4.1DDR-Ⅱ内存结构 (13) 4.2DDR-Ⅱ的操作与时序设计 (15) 4.3DDR-Ⅱ封装技术 (19) 5.DDR-Ⅲ (21) 5.1DDR-Ⅲ技术概论 (21) 5.2DDR-Ⅲ内存的技术改进 (23) 6.内存模组 (26) 6.1内存模组的分类 (26) 6.2内存模组的技术分析 (28) 7.DDR 硬件设计规范 (34) 7.1电源设计 (34) 7.2时钟 (37) 7.3数据和DQS (38) 7.4地址和控制 (39) 7.5PCB布局注意事项 (40) 7.6PCB布线注意事项 (41) 7.7EMI问题 (42) 7.8测试方法 (42)

摘要: 本文介绍了DDR 系列SDRAM 的一些概念和难点,并分别对DDR-I/Ⅱ/Ⅲ的技术特点进行了论述,最后结合硬件设计提出一些参考设计规范。 关键字关键字::DDR, DDR, SDRAM SDRAM SDRAM, , , 内存模组内存模组内存模组, , , DQS DQS DQS, DLL, MRS, ODT , DLL, MRS, ODT , DLL, MRS, ODT Notes : Aug 30, 2010 – Added DDR III and the PCB layout specification - by Michael.Hao

超频内存时序表

内存时序 一种参数,一般存储在内存条的SPD上。2-2-2-8 4个数字的含义依次为:CAS Latency(简称CL值)内存CAS延迟时间,他是内存的重要参数之一,某些牌子的内存会把CL值印在内存条的标签上。RAS-to-CAS Delay(tRCD),内存行地址传输到列地址的延迟时间。Row-precharge Delay(tRP),内存行地址选通脉冲预充电时间。Row-active Delay(tRAS),内存行地址选通延迟。这是玩家最关注的4项时序调节,在大部分主板的BIOS中可以设定,内存模组厂商也有计划的推出了低于JEDEC认证标准的低延迟型超频内存模组,在同样频率设定下,最低“2-2-2-5”这种序列时序的内存模组确实能够带来比“3-4-4-8”更高的内存性能,幅度在3至5个百分点。 在一些技术文章里介绍内存设置时序参数时,一般数字“A-B-C-D”分别对应的参数是 “CL-tRCD-tRP-tRAS”,现在你该明白“2-3-3-6”是什么意思了吧?!^_^下面就这几个参数及BIOS设置中影响内存性能的其它参数逐一给大家作一介绍: 一、内存延迟时序“CL-tRCD-tRP-tRAS”的设置 首先,需要在BIOS中打开手动设置,在BIOS设置中找到“DRAM Timing Selectable”,BIOS设置中可能出现的其他描述有:Automatic Configuration、DRAM Auto、Timing Selectable、Timing Configuring By SPD等,将其值设为“Menual”(视BIOS的不同可能的选项有:On/Off或Enable/Disable),如果要调整内存时序,应该先打开手动设置,之后会自动出现详细的时序参数列表: Command Per Clock(CPC) 可选的设置:Auto,Enable(1T),Disable(2T)。 Command Per Clock(CPC:指令比率,也有翻译为:首命令延迟),一般还被描述为DRAM Command Rate、CMD Rate等。由于目前的DDR内存的寻址,先要进行P-Bank的选择(通过DIMM上CS片选信号进行),然后才是L-Bank/行激活与列地址的选择。这个参数的含义就是指在P-Bank选择完之后多少时间可以发出具体的寻址的L-Bank/行激活命令,单位是时钟周期。 显然,也是越短越好。但当随着主板上内存模组的增多,控制芯片组的负载也随之增加,过短的命令间隔可能会影响稳定性。因此当你的内存插得很多而出现不太稳定的时间,才需要将此参数调长。目前的大部分主板都会自动设置这个参数。 该参数的默认值为Disable(2T),如果玩家的内存质量很好,则可以将其设置为Enable(1T)。CAS Latency Control(tCL) 可选的设置:Auto,1,1.5,2,2.5,3,3.5,4,4.5。 一般我们在查阅内存的时序参数时,如“3-4-4-8”这一类的数字序列,上述数字序列分别对应的参数是“CL-tRCD-tRP-tRAS”。这个3就是第1个参数,即CL参数。 CAS Latency Control(也被描述为tCL、CL、CAS Latency Time、CAS Timing Delay),CAS latency是“内存读写操作前列地址控制器的潜伏时间”。CAS控制从接受一个指令到执行指令之间的时间。因为CAS主要控制十六进制的地址,或者说是内存矩阵中的列地址,所以它是最为重要的参数,在稳定的前提下应该尽可能设低。 内存是根据行和列寻址的,当请求触发后,最初是tRAS(Activeto Precharge Delay),预充电后,内存才真正开始初始化RAS。一旦tRAS激活后,RAS(Row Address Strobe )开始进行需要数据的寻址。首先是行地址,然后初始化tRCD,周期结束,接着通过CAS访问所需数据的精确十六进制地址。期间从CAS开始到CAS结束就是CAS延迟。所以CAS是找到数据的最后一个步骤,也是内存参数中最重要的。 这个参数控制内存接收到一条数据读取指令后要等待多少个时钟周期才实际执行该指令。同时该参数也决定了在一次内存突发传送过程中完成第一部分传送所需要的时钟周期数。这个参数越小,则内存的速度越快。必须注意部分内存不能运行在较低的延迟,可能会丢失数据,因此在提醒大家把CAS延迟设为2或2.5的同时,如果不稳定就只有进一步提高它了。而且提高延迟能使内存运行在更高的频率,所以需要对内存超频时,应该试着提高CAS延迟。

DDR内存时序设置详解

内存时序设置详解 内容概要 关键词:内存时序参数设置 导言:是否正确地设置了内存时序参数,在很大程度上决定了系统的基本性能。本文详细介绍了内存时序相关参数的基本涵义及设置要点。 与传统的SDRAM相比,DDR(Dual date rate SDRSM:双倍速率SDRAM),最重要的改变是在界面数据传输上,其在时钟信号上升缘与下降缘时各传输一次数据,这使得DDR 的数据传输速率为传统SDRAM的两倍。同样地,对于其标称的如DDR400,DDR333,DDR266数值,代表其工作频率其实仅为那些数值的一半,也就是说DDR400 工作频率为200MHz。 FSB与内存频率的关系 首先请大家看看FSB(Front Side Bus:前端总线)和内存比率与内存实际运行频率的关系。 FSB/MEM比率实际运行频率 1/1 200MHz 1/2 100MHz 2/3 133MHz 3/4 150MHz 3/05 120MHz 5/6 166MHz 7/10 140MHz 9/10 180MHz 对于大多数玩家来说,FSB和内存同步,即1:1是使性能最佳的选择。而其他的设置都是异步的。同步后,内存的实际运行频率是FSBx2,所以,DDR400的内存和200MHz的FSB正好同步。如果你的FSB为240MHz,则同步后,内存的实际运行频率为240MHz x 2 = 480MHz。

FSB与不同速度的DDR内存之间正确的设置关系 强烈建议采用1:1的FSB与内存同步的设置,这样可以完全发挥内存带宽的优势。内存时序设置 内存参数的设置正确与否,将极大地影响系统的整体性能。下面我们将针对内存关于时序设置参数逐一解释,以求能让大家在内存参数设置中能有清晰的思路,提高电脑系统的性能。 涉及到的参数分别为: ?CPC : Command Per Clock ?tCL : CAS Latency Control ?tRCD : RAS to CAS Delay ?tRAS : Min RAS Active Timing ?tRP : Row Precharge Timing ?tRC : Row Cycle Time ?tRFC : Row Refresh Cycle Time ?tRRD : Row to Row Delay(RAS to RAS delay) ?tWR : Write Recovery Time ?……及其他参数的设置 CPC : Command Per Clock 可选的设置:Auto,Enable(1T),Disable(2T)。 Command Per Clock(CPC:指令比率,也有翻译为:首命令延迟),一般还被描述为DRAM Command Rate、CMD Rate等。由于目前的DDR内存的寻址,先要进行P-Bank的选择(通过DIMM上CS片选信号进行),然后才是L-Bank/行激活与列地址的选择。这个参数的含义就是指在P-Bank选择完之后多少时间可以发出具体的寻址的L-Bank/行激活命令,单位是时钟周期。

SDRAM时序控制

SDRAM的时序控制 一、SDRAM的外在物理结构 (1)P-Bank 为保证CPU的正常工作,SDRAM必须一次传输完CPU在一个传输周期内所需要的数据量,也就是CPU数据总线的位宽(bit),这个位宽也就是物理Bank(Physical Bank, P-Bank)的位宽,所以内存需要组成P-Bank来与CPU打交道。 (2)芯片位宽与芯片数量 然而每个内存芯片都有自己的位宽,即每个传输周期能提供的数据量。由于技术要求、成本和实用性等方面限制,内存芯片的位宽一般都小于P-Bank的位宽,这就需要多颗内存芯片并联工作,以提供CPU正常工作时一个传输周期内所需要的数据量。所以,P-Bank实际上就是一组内存芯片的集合,这个集合的位宽总和=P-Bank的位宽=CPU数据位宽,但这个集合的数据容量没有限制。 一个SDRAM只有一个P-Bank已经不能满足容量的需要,所以,多个芯片组可以支持多个P-Bank,一次选择一个P-Bank工作。 (3)SDRAM的封装 SIMM: Single In-line Memory Module,单列内存模组,内存模组就是我们常说的内存条,所谓单列是指模组电路板与主板插槽的接口只有一列引脚(虽然两侧都有金手指pin)DIMM: Double In-line Memory Module, 双列内存模组,所谓双列是指模组电路板与主板插槽的接口有两列引脚,模组电路板的每侧金手指对应一列引脚。 DIMM是SDRAM集合形式的最终体现。前文讲过P-Bank对芯片集合的位宽有要求,对芯片集合的容量则没有任何限制。高位宽的芯片可以让DIMM的设计简单一些(因为所用的芯片少),但在芯片容量相同时,这种DIMM的容量就肯定比不上采用低位宽芯片的模组,因为后者在一个P-Bank中可以容纳更多的芯片。 SDRAM的引脚与封装: 二、SDRAM内部逻辑结构 (1)L-Bank SDRAM的内部实际上是一个存储阵列,就如同表格一样,而每个单元格就称为存储单元,这张表格就成为逻辑Bank(Logical Bank, L-Bank)。考虑到技术、成本、执行效率等方面原因,不可能只需要一个全容量的L-Bank,所以人们在SDRAM内部分割多个L-Bank,目前基本都是4个,内存访问时,一次只能是一个L-Bank。

内存的时序以及内存时序优化

一种参数,一般存储在内存条的SPD上。2-2-2-8 4个数字的含义依次为:CAS Latency(简称CL值)内存CAS延迟时间,他是内存的重要参数之一,某些牌子的内存会把CL值印在内存条的标签上。RAS-to-CAS Delay(tRCD),内存行地址传输到列地址的延迟时间。Row-precharge Delay(tRP),内存行地址选通脉冲预充电时间。Row-active Delay(tRAS),内存行地址选通延迟。这是玩家最关注的4项时序调节,在大部分主板的BIOS中可以设定,内存模组厂商也有计划的推出了低于JEDEC认证标准的低延迟型超频内存模组,在同样频率设定下,最低“2-2-2-5”这种序列时序的内存模组确实能够带来比“3-4-4-8”更高的内存性能,幅度在3至5个百分点。 在一些技术文章里介绍内存设置时序参数时,一般数字“A-B-C-D”分别对应的参数是“CL-tRCD-tRP-tRAS”,现在你该明白“2-3-3-6”是什么意思了吧?!^_^下面就这几个参数及BIOS设置中影响内存性能的其它参数逐一给大家作一介绍: 一、内存延迟时序“CL-tRCD-tRP-tRAS”的设置 首先,需要在BIOS中打开手动设置,在BIOS设置中找到“DRAM Timing Selectable”,BIOS设置中可能出现的其他描述有:Automatic Configuration、DRAM Auto、Timing Selectable、Timing Configuring By SPD等,将其值设为“Menual”(视BIOS的不同可能的选项有:On/Off 或Enable/Disable),如果要调整内存时序,应该先打开手动设置,之后会自动出现详细的时序参数列表: Command Per Clock(CPC) 可选的设置:Auto,Enable(1T),Disable(2T)。 Command Per Clock(CPC:指令比率,也有翻译为:首命令延迟),一般还被描述为DRAM Command Rate、CMD Rate等。由于目前的DDR内存的寻址,先要进行P-Bank的选择(通过DIMM上CS片选信号进行),然后才是L-Bank/行激活与列地址的选择。这个参数的含义就是指在P-Bank选择完之后多少时间可以发出具体的寻址的L-Bank/行激活命令,单位是时钟周期。 显然,也是越短越好。但当随着主板上内存模组的增多,控制芯片组的负载也随之增加,过短的命令间隔可能会影响稳定性。因此当你的内存插得很多而出现不太稳定的时间,才需要将此参数调长。目前的大部分主板都会自动设置这个参数。 该参数的默认值为Disable(2T),如果玩家的内存质量很好,则可以将其设置为Enable(1T)。 CAS Latency Control(tCL) 可选的设置:Auto,1,1.5,2,2.5,3,3.5,4,4.5。 一般我们在查阅内存的时序参数时,如“3-4-4-8”这一类的数字序列,上述数字序列分别对应的参数是“CL-tRCD-tRP-tRAS”。这个3就是第1个参数,即CL参数。 CAS Latency Control(也被描述为tCL、CL、CAS Latency Time、CAS Timing Delay),CAS latency 是“内存读写操作前列地址控制器的潜伏时间”。CAS控制从接受一个指令到执行指令之间的时间。因为CAS主要控制十六进制的地址,或者说是内存矩阵中的列地址,所以它是最为重要的参数,在稳定的前提下应该尽可能设低。 内存是根据行和列寻址的,当请求触发后,最初是tRAS(Activeto Precharge Delay),预充电后,内存才真正开始初始化RAS。一旦tRAS激活后,RAS(Row Address Strobe )开始进行需要数据的寻址。首先是行地址,然后初始化tRCD,周期结束,接着通过CAS访问所需数据的精确十六进制地址。期间从CAS开始到CAS结束就是CAS延迟。所以CAS是找到数据的最后一个步骤,也是内存参数中最重要的。 这个参数控制内存接收到一条数据读取指令后要等待多少个时钟周期才实际执行该指令。同时该参数也决定了在一次内存突发传送过程中完成第一部分传送所需要的时钟周期数。这个参数越小,则内存的速度越快。必须注意部分内存不能运行在较低的延迟,可能会丢失

内存时序修改教程

如题,首先上个修改的好的低时序,给大伙看看改好后的效果,原时序为1066频率下的7-7-7-20(1333内存条降频到1066) 这是原始时序: 修改后的低时序:

也许有人发现问题了,频率变了,没错,但是这个只是内存频率变了,实际有效频率依然是1066(533)

虽然如此,但是偶们已经达到偶们的目的——时序变低了(6-6-6-19,如上图),而这结果带来的影响不仅仅只是参数变了,请看下两图: 这是原始参数7-7-7-20时序在EVREST内存测试中的成绩:

这是在EVREST的内存测试中修改后的低时序6-6-6-19的成绩:

可以明显的看出低时序相对原始时序在内存读写性能上的提升,这低时序正是追求性能的DIY玩家所需要的,反之,高时序则是稳定性的保证,然而因为内存颗粒体制的差别,过低的时序反而会引起系统的不稳定(本人亲测过修改成了4-4-4-12时序的4G DDR2 800的尔必达日本原厂条,结果开机不能)同时也是金士顿HYPERX神条强势的原因(颗粒体制)。 这只是个引子,一是希望让大家了解下修改时序的意义和效果,也是为不死兄説的1656上1333频率做准备,既然知道了高时序能保证稳定性,那么对于要超到1333内存频率的I3/I5(包括I7 6系列)的1656来说,通过修改时序达到1333内存默认时序,对超频到1333来说,是一个有力的保证。接下来偶就将修改过程一步步教给大家: 首先,偶们用到的工具软件有:THAIPHOON BURNER 6.3 SuperBlaster Edition(DRIVER Signature Enforcement Overrider,该软件是专为64位系统修改时序准备的,32位WINDOWS系统不需要。使用方法看见P.S.部分) THAIPHOON BURNER 的修改基本原理与方法,与流行一时的SPDTOOLS差不多,不

内存基本知识详解

内存这样小小的一个硬件,却是PC系统中最必不可少的重要部件之一。而对于入门用户来说,可能从内存的类型、工作频率、接口类型这些简单的参数的印象都可能很模糊的,而对更深入的各项内存时序小参数就更摸不着头脑了。而对于进阶玩家来说,内存的一些具体的细小参数设置则足以影响到整套系统的超频效果和最终性能表现。如果不想当菜鸟的话,虽然不一定要把各种参数规格一一背熟,但起码有一个基本的认识,等真正需要用到的时候,查起来也不会毫无概念。 内存种类 目前,桌面平台所采用的内存主要为DDR 1、DDR 2和DDR 3三种,其中DDR1内存已经基本上被淘汰,而DDR2和DDR3是目前的主流。 DDR1内存 第一代DDR内存 DDR SDRAM 是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。 DDR2内存

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

DDR3相比起DDR2有更低的工作电压,从DDR2的1.8V降落到1.5V,性能更好更为省电;DDR2的4bit预读升级为8bit预读。DDR3目前最高能够1600Mhz的速度,由于目前最为快速的DDR2内存速度已经提升到800Mhz/1066Mhz的速度,因而首批DDR3内存模组将会从1333Mhz的起跳。 三种类型DDR内存之间,从内存控制器到内存插槽都互不兼容。即使是一些在同时支持两种类型内存的Combo主板上,两种规格的内存也不能同时工作,只能使用其中一种内存。 内存SPD芯片 内存SPD芯片 SPD(Serial Presence Detect): SPD是一颗8针的EEPROM(Electrically Erasable Programmable ROM 电可擦写可编程只读存储器), 容量为256字节,里面主要保存了该内存的相关资料,如容量、芯片厂商、内存模组厂商、工作速度等。SPD的内容一般由内存模组制造商写入。支持SPD的主板在启动时自动检测SPD中的资料,并以此设定内存的工作参数。 启动计算机后,主板BIOS就会读取SPD中的信息,主板北桥芯片组就会根据这些参数信息来自动配置相应的内存工作时序与控制寄存器,从而可以充分发挥内存条的性能。上述情况实现的前提条件是在BIOS设置界面中,将内存设置选项设为“By SPD”。当主板从内存条中不能检测到SPD信息时,它就只能提供一个较为保守的配置。 从某种意义上来说,SPD芯片是识别内存品牌的一个重要标志。如果SPD内的参数值设置得不合理,不但不能起到优化内存的作用,反而还会引起系统工作不稳定,甚至死机。因此,很多普通内存或兼容内存厂商为了避免兼容性问题,一般都将SPD中的内存工作参数设置得较为保守,从而限制了内存性能的充分发挥。更有甚者,一些不法厂商通过专门的读

SDRAM的相关时序参数设置(精)

在我们一般用的什么 SRAM 啊, PSRAM 啊, RAM 啊, 一般而言都是有多少根地址线, 然后可以算出寻址空间, 比如有 11根地址线, 那寻址空间就是 2的 11次方减 1。但是 SDRAM 是分列地址和行地址的, 行、列地址线是复用的, 所以有时候我们看到说寻址空间有多大多大,但是看看地址线怎么就那么几根啊,呵呵。SDRAM 一般还有 2根 BANK 的线,分成 4个 BANK ,在有的处理器的 SDRAM 控制模块中,这两根线可能映射到地址线的某两根去。一般芯片常按照以下方式写芯片的配置,比如 4Meg x 4 x 16,那这个芯片就是 256Mbits 。其中 16指数据线是 16根,中间一个 4是只分 4个 BANK , 每个 BANK 是 4Meg 。 SDRAM CAS Latency Time(内存 CAS 延迟时间可选项:2, 3。内存 CAS (Column Address Strobe, 列地址选通脉冲延迟时间控制 SDRAM 内存接收到一条数据读取指令后要等待多少个时钟周期才实际执行该指令。同时该参数也决定了在一次内存突发传送过程中完成第一部分传送所需要的时钟周期数。这个参数越小,则内存的速度越快。在 133MHz 频率下,品质一般的兼容内存大多只能在 CAS=3下运行,在 CAS=2下运行会使系统不稳定、丢失数据甚至无法启动。 CAS 延迟时间是一个非常重要的内存参数,对电脑性能的影响比较大, Intel 与 VIA 就 PC133内存规范的分歧也与此参数有关, Intel 认为 PC133内存应能稳定运行于 133MHz 频率、 CAS=2下, 而 VIA 认为 PC133内存能稳定运行于 133MHz 频率即可, 并未特别指定 CAS 值, 因此 Intel 的规范更加严格, 一般只有品牌内存才能够满足此规范,所以大家感觉 Intel 的主板比较挑内存。 SDRAM Cycle Time Tras/Trc(内存 Tras/Trc时钟周期可选项:5/7, 7/9。该参数用于确定 SDRAM 内存行激活时间和行周期时间的时钟周期数。 Tras 代表 SDRAM 行激活时间(Row Active Time ,它是为进行数据传输而开启行单元所需要的时钟周期数。 Trc 代表 SDRAM 行周期时间(Row Cycle Time ,它是包括行单元开启和行单元刷新在内的整个过程所需要的时钟周期数。出于最佳性能考虑可将该参数设为5/7,这时内存的速度较快,但有可能出现因行单元开启时间不足而影响数据传输的情况,在 SDRAM 内存的工作频率高于 100MHz 时尤其是这样,即使是品牌内存大多也承受不了如此苛刻的设置。

内存参数的设置

内存参数的设置正确与否,将极大地影响系统的整体性能。下面我们将针对内存关于时序设置参数逐一解释,以求能让大家在内存参数设置中能有清晰的思路,提高电脑系统的性能。 涉及到的参数分别为: CPC : Command Per Clock tCL : CAS Latency Control tRCD : RAS to CAS Delay tRAS : Min RAS Active Timing tRP : Row Precharge Timing tRC : Row Cycle Time tRFC : Row Refresh Cycle Time tRRD : Row to Row Delay(RAS to RAS delay) tWR : Write Recovery Time ……及其他参数的设置 CPC : Command Per Clock 可选的设置:Auto,Enable(1T),Disable(2T)。 Command Per Clock(CPC:指令比率,也有翻译为:首命令延迟),一般还被描述为DRAM Command Rate、CMD Rate等。由于目前的DDR内存的寻址,先要进行P-Bank的选择(通过DIMM上CS片选信号进行),然后才是L-Bank/行激活与列地址的选择。这个参数的含义就是指在P-Bank选择完之后多少时间可以发出具体的寻址的L-Bank/行激活命令,单位是时钟周期。 显然,CPC越短越好。但当随着主板上内存模组的增多,控制芯片组的负载也随之增加,过短的命令间隔可能会影响稳定性。因此当你的内存插得很多而出现不太稳定的时间,才需要将此参数调长。目前的大部分主板都会自动设置这个参数。 该参数的默认值为Disable(2T),如果玩家的内存质量很好,则可以将其设置为Enable(1T)。 tCL : CAS Latency Control(tCL) 可选的设置:Auto,1,1.5,2,2.5,3,3.5,4,4.5。 一般我们在查阅内存的时序参数时,如“3-4-4-8”这一类的数字序列,上述数字序列分别对应的参数是“CL-tRCD-tRP-tRAS”。这个3就是第1个参数,即CL参数。 CAS Latency Control(也被描述为tCL、CL、CAS Latency Time、CAS Timing Delay),CAS latency是“内存

altera-ddr2 sdram ip核参数设置及读写时序

1、Uniphy整体框图: 2、存储控制器连接图 PHY的时钟与复位信号 1、pll_ref_clk:PLL参考时钟输入。 2、global_reset_n:全局复位信号,对PLL和PHY里的所有逻辑单元进行复位。 3、soft_reset_n:软复位信号,对phy复位,不对PLL复位。当soft_reset_n为低时,输出的 afi_reset_n信号也为低。

3、各个模块间的接口信号 3、1控制器与用户接口间使用的Avalon相关信号线: 下表是本地接口信号,在altera例化的IP核里,本地用户接口使用的是avalon总线 Local_addr:指的是用户接口端的地址线,位宽计算方法如下: 1)当只使用1pcs 外部存储器时: 位宽=bank位宽+行位宽+列位宽-1; 2)当使用多片片外存储器时: 位宽=芯片位宽+bank位宽+行位宽+列位宽-1; 计算位宽时减1 是因为用户数据接口宽度是memory侧数据宽度的两倍(memory 侧是在时钟的上升和下降沿都收发数据,而用户侧只在时钟的上升沿收发数据,假如用户读写数据的时钟频率与memory侧的数据频率相同,那么,在时钟上升沿来时,用户侧发送的数据位宽应是memory侧数据位宽的两倍)。 local_be:字节使能信号(用于向控制器写数据时),与memory侧的DM(data mask )信号作用一样,比如,当想使local_data的某8位数据无效,将local_be 的对应位置0即可。 local_burstbegin:本地突发开始信号,当avalon总线开始突发读写时,将此信号置位‘1’。(使用条件:本地接口是avalon总线,且memory侧的突发长度大 于2) local_size:本地突发长度,即连续读或写的local_data个数。长度不能超过ddrip 核里配置的maximum avalon- mm burst length的长度。 local_wdata:本地写数据。 local_write_req:写请求信号。只有当local_ready信号为高时,才能发起写请求。 local_rdata:本地读数据。 local_read_req:读请求信号。只有当local_ready信号为高时,才能发起读请求。 local_rdata_valid:本地读数据有效标志,当其为高时,表示此时local_rdata数据有效。 local_ready:为‘1’时表示此时控制器可以接受读写请求信号。 local_refresh_req:刷新控制器请求信号。 local_refresh_ack:刷新请求确认标志,表示一次刷新完成标志。 local_init_done:本地初始化memory完成标志。 local_wdata_req:写数据请求信号。在avalon-mm模式时不使用该信号。

DDR2内存时序调节方法

DDR2内存时序调节方法 DDR2内存已经成为目前绝大部分用户的标配产品,而如何合理设置DDR2的参数就成为了不少用户(尤其是菜鸟用户)的最想了解的地方。当你超频的时候,如何平衡内存频率和参数之间的关系;究竟如何合理选取内存频率,什么参数才是带来最高性能呢?相信这些问题是目前最多用户最想了解。 其实要了解这些东西,首先要明白DDR2内存在BIOS中的参数设置情况。因为要提高系统整体性能,并不只是简单超频CPU外频,调高内存频率这么简单,将一大堆数字合理地分配和组合才是最为重要的。目前市场上销售的DDR2内存主要按频率来划分,譬如DDR2 533、DDR2 667、DDR2 800就是消费者最常见的产品(注:部分厂商推出DDR2 1000高频DDR2内存,但这些DDR2内存在市场上并不多见,而价格昂贵,所以我们就暂时不讨论一些超频型DDR2内存)。在这三款内存产品当中,就数DDR2 667内存最为多人购买,因为它同时具备了性能、价格、兼容性这些特点,而DDR2 533已经逐步被DDR2 667所取代。 如果您的内存为镁光D9颗粒,请直接参考本站《镁光小D9内存超频调教全攻略》,如果您是DDR内存,请参考本站《教你如何调整DDR内存参数》 至于目前频率较高DDR2 800也逐渐成为玩家购买的对象,因为Intel双核心平台对高频DDR2内存有着极大需求,要发挥酷睿2最大威力,一条高频率、可运行高参数的DDR2内存是非常重要的。鉴于AMD AM2处理器内置了DDR2内存控制器,所以AM2平台的DDR2设置方法与Intel平台有着不同。 最稳当的DDR2内存设置方法,就是在主板BIOS当中将DDR2的设置参数设为By SPD,而这个选项也是最安全的DDR2内存设置方法。不过这个设置最大缺点是,没有将内存的潜力发挥出来,只是用安全换来相对较低的性能。如果你想超频手中的DDR2,那么By SPD选项将不是你的设置的地方,手动调整才是你的手段。 相对于频率、温度等因素而言,内存时序往往是非常容易被大家忽略的一个要素,但是其重要性却时刻影响着电脑的性能。我们偶尔会听到“某某内存针对某某平台做了优化”,这里起到关键作用的就是内存时序,在K8平台表现的更明显。一般来说,调节到较好的内存时序可以让内存在现有的频率内得到最佳的性能,而较差的内存时序,则可以让内存的超频能力得到大幅提升。 对于我们而言,如果需要内存超频,则可以考虑降低内存的时序,如果不想超频而又希望提高性能,则可以尝试优化内存时序。 CPU-Z帮大忙 我们可以借助一款查看系统信息的小软件看到自己电脑上的内存时序是如何设置的,它就是CPU-Z。这款软件的主要功能是查看关于CPU、主板和内存的关键信息。当我们切换到软件的“Memory”选项卡时,内存的所有关键信息就都出现了,其中的CAS # Latency、RAS to CAS # Latency、RAS # Precharge、Cycle Time(Tras)、Bank Cycle Time(Trc)、Dram Idle Timer都是

SDRAM原理与操作时序(全)

SDRAM的原理和时序 一、 SDRAM内存模组与基本结构 我们平时看到的SDRAM都是以模组形式出现,为什么要做成这种形式呢?这首先要接触到两个概念:物理Bank与芯片位宽。 1、物理Bank 传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输周期能接受的数据容量就是CPU数据总线的位宽,单位是bit (位)。当时控制内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽等同于CPU数据总线的位宽,而这个位宽就称之为物理Bank(Physical Bank,下文简称P-Bank)的位宽。所以,那时的内存必须要组织成P-Bank来与CPU打交道。资格稍老的玩家应该还记得Pentium刚上市时,需要两条72pin的SIMM才能启动,因为一条72pin -SIMM只能提供32bit 的位宽,不能满足Pentium的64bit数据总线的需要。直到168pin-SDRAM DIMM上市后,才可以使用一条内存开机。 不过要强调一点,P-Bank是SDRAM及以前传统内存家族的特有概念,RDRAM 中将以通道(Channel)取代,而对于像Intel E7500那样的并发式多通道DDR系统,传统的P-Bank概念也不适用。 2、芯片位宽 上文已经讲到SDRAM内存系统必须要组成一个P-Bank的位宽,才能使CPU正常工作,那么这个P-Bank位宽怎么得到呢?这就涉及到了内存芯片的结构。 每个内存芯片也有自己的位宽,即每个传输周期能提供的数据量。理论上,完全可以做出一个位宽为64bit的芯片来满足P-Ban k的需要,但这对技术的要求很高,在成本和实用性方面也都处于劣势。所以芯片的位宽一般都较小。台式机市场所用的SDRAM芯片位宽最高也就是16bit,常见的则是8bit。这样,为了组成P-Bank所需的位宽,就需要多颗芯片并联工作。对于16bi t芯片,需要4颗(4×16bit=64bit)。对于8bit芯片,则就需要8颗了。 以上就是芯片位宽、芯片数量与P-Bank的关系。P-Bank其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的总位宽必须与CPU数据位宽相符。随着计算机应用的发展,

内存的原理和时序(SDRAM、DDR、DDR-Ⅱ、Rambus DRAM)-下

第二章 DDR SDRAM的原理和时序 DDR SDRAM 全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。DDR SDRAM 在原有的SDRAM 的基础上改进而来。也正因为如此,DDR 能够凭借着转产成本优势来打败昔日的对手RDRAM,成为当今的主流。由于SDRAM 的结构与操作在前一章已有详细阐述,所以本文只着重讲讲DDR 的原理和DDR SDRAM 相对于传统SDRAM(又称SDR SDRAM)的不同。 DDR SDRAM可在一个时钟周期内传送两次数据 2.1 DDR的基本原理 有很多文章都在探讨DDR 的原理,但似乎也不得要领,甚至还带出一些错误的观点。首先我们看看一张DDR 正规的时序图。 DDR SDRAM 读操作时序图

从中可以发现它多了两个信号: CLK#与DQS,CLK#与正常CLK 时钟相位相反,形成差分时钟信号。而数据的传输在CLK 与CLK#的交叉点进行,可见在CLK 的上升与下降沿(此时正好是CLK#的上升沿)都有数据被触发,从而实现DDR。在此,我们可以说通过差分信号达到了DDR 的目的,甚至讲CLK#帮助了第二个数据的触发,但这只是对表面现象的简单描述,从严格的定义上讲并不能这么说。之所以能实现DDR,还要从其内部的改进说起。 DDR 内存芯片的内部结构图,注意比较上文中SDRAM 的结构图 这也是一颗128Mbit 的内存芯片,标称规格也与前文的SDRAM 一样为32×4bit。从图中可以看出来,白色区域内与SDRAM 的结构基本相同,但请注意灰色区域,这是与SDRAM 的不同之处。 首先就是内部的L-Bank 规格。SDRAM 中L-Bank 存储单元的容量与芯片位宽相同,但在DDR SDRAM 中并不是这样,存储单元的容量是芯片位宽的一倍,所以在此不能再套用讲解SDRAM 时“芯片位宽=存储单元容量”的公式了。也因此,真正的行、列地址数量也与同规格SDRAM 不一样了。 以本芯片为例,在读取时,L-Bank 在内部时钟信号的触发下一次传送8bit 的数据给读取锁存器,再分成两路4bit 数据传给复用器,由后者将它们合并为一路4bit 数据流,然后由发送器在DQS 的控制下在外部时钟上升与下降沿分两次传输4bit 的数据给北桥。这样,如果时钟频率为100MHz,那么在I/O 端口处,由于是上下沿触发,那么就是传输频率就是200MHz。 现在大家基本明白DDR SDRAM 的工作原理了吧,这种内部存储单元容量(也可以称为芯片内部总线位宽)=2×芯片位宽(也可称为芯片I/O 总线位宽)的设计,就是所谓的两位预取(2-bit Prefetch),有的公司则贴切的称之为2-n Prefetch(n 代表芯片位宽)。

相关文档
最新文档