转自:http://blog.csdn.net/myarrow/article/details/7847385

一、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自动化测试软件包,它将以图形化的界面帮助用户完成从被测信号的搭接、信号采集与读写分离、自动测试与分析到最终的测试报告生成这一系列完整的测试工作。

六、结语
      可以预期的是,DDR3将在未来的两年内加速占领更多的市场份额,Intel的Core i7处理器以及AMD的Phenom II处理器均内置内存控制器并且支持DDR3,同时Core i7处理器将不支持DDR2。

七、参考文献
1. DDR3 SDRAM Standard JESD79-3D,JEDEC, September 2009

转自:http://frankielecroy.spaces.eepw.com.cn/articles/article/item/84274

DDR3基本知识及测试【转】的更多相关文章

  1. Android自动化测试基础知识——MONKEY测试工具(转的)

    本周开始启动手机输入法simeiji的自动化测试,同时开始接触手机浏览器自动化测试.接下来会对android自动化测试工具和方法做一个专题研究. 第一篇介绍monkey测试工具. 1 自动化测试背景 ...

  2. Javascript基础知识小测试(一)

    这里罗列了<你不知道的js>上卷的一些知识点以及小问题,如果你想巩固一下js那么就和我一起来看看吧. 如果你能不看书就回答上80%的问题说明你js的这一部分学得还不错,再接再厉. 作用域和 ...

  3. Testing - 软件测试知识梳理 - 测试流程

    测试存在于各个阶段: 需求测试--->单元测试--->集成测试--->系统测试--->性能测试--->用户测试--->回归测试 需求测试 完整性&正确性 一 ...

  4. Testing - 软件测试知识梳理 - 测试分类

    参考信息 软件测试分类 经典软件测试技术分类 软件测试方法汇总 简洁分类 对软件内部结构的深入程度 黑盒测试:又叫功能测试.数据驱动测试或基于需求规格说明书的功能测试. 该测试类别注重于测试软件的功能 ...

  5. Python基础知识:测试代码

    1.Python标准库中的模块unittest提供了代码测试工具. 单元测试用于核实函数的某个方面没有问题: 测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求. 通俗的理解 ...

  6. [转]DDR3基础知识介绍

    本文转自:(4条消息) xilinx ddr3 MIG ip核使用详解_admiraion123的博客-CSDN博客 1,DDR3基本内容介绍1.1,DDR3简介DDR3全称double-data-r ...

  7. Testing - 软件测试知识梳理 - 测试模型

    珠玉在前,不再赘言. 软件测试模型 软件测试模型汇总

  8. 【Android测试】【第十五节】Instrumentation——官方译文

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5482207.html 前言 前面介绍了不少Android ...

  9. App测试全(转自鲁德)

    1.App测试流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间. 1.3测试资源 ...

随机推荐

  1. 自学Linux Shell12.5-while、until命令

    点击返回 自学Linux命令行与Shell脚本之路 12.5-while.until命令 until 循环与 while 循环在处理方式上刚好相反. while循环用于不断执行一系列命令,也用于从输入 ...

  2. HTML for android 移动小球

    <html> <head> <title>球</title> <style type="text/css"> .test ...

  3. oracle导出导入数据库

    一.给空表分配空间: 这一步一定要做,否则空表不能导出. 首先连接你要导出的库,在该库上执行以下sql: select 'alter table '||table_name||' allocate e ...

  4. 设置SharePoint部门站点各个文件夹的权限

    最近跟客户设置了下部门站点文件夹的权限,现整理一下实现步骤: 1. Site actions –> site permissions: 停止继承,并把部门所有员工都授予Read权限: 2. 在S ...

  5. 使用selenium模拟登陆oschina

    Selenium把元素定位接口封装得更简单易用了,支持Xpath.CSS选择器.以及标签名.标签属性和标签文本查找. from selenium.webdriver import PhantomJS ...

  6. 【CF711D】Directed Roads

    题目大意:给定一个 N 个点,N 条边的无向图,现给每条边定向,求有多少种定向方式使得定向后的有向图中无环. 题解:显然,这是一个外向树森林,定向后存在环的情况只能发生在基环树中环的位置,环分成顺时针 ...

  7. java中的内存空间 堆和栈

        认识堆与栈 栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过 ...

  8. 通过url传递参数如果汉字乱码采用的方法

    urlCodeDeal 方法把汉字编码, 在Jsp界面通过Escape.unescape方法,将编码反编译成汉字. 下面是urlCodeDeal方法: //UrlCode 处理代码 function ...

  9. php简单一句话分析

    <?php $arr="j{fq-)dUTXY`}b.@"; ;$i< strlen($arr);$i++){ $arr[$i]=chr(ord($arr[$i])-) ...

  10. python自动化运维之路~DAY7

    python自动化运维之路~DAY7 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.客户端/服务器架构 C/S 架构是一种典型的两层架构,其全称是Client/Server,即 ...