当前位置: 首页 > news >正文

DDR3基本知识及测试【转】

转自: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

【作者】 张昺华
【出处】 http://www.cnblogs.com/sky-heaven/
【博客园】 http://www.cnblogs.com/sky-heaven/
【新浪博客】 http://blog.sina.com.cn/u/2049150530
【知乎】 http://www.zhihu.com/people/zhang-bing-hua
【我的作品---旋转倒立摆】 http://v.youku.com/v_show/id_XODM5NDAzNjQw.html?spm=a2hzp.8253869.0.0&from=y1.7-2
【我的作品---自平衡自动循迹车】 http://v.youku.com/v_show/id_XODM5MzYyNTIw.html?spm=a2hzp.8253869.0.0&from=y1.7-2
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

相关文章:

  • 数据结构与算法 Big O 备忘录与现实
  • Web API应用架构设计分析(2)
  • nginx日志轮询
  • JAVA 20 键盘输入
  • 代码面试之串(转载)
  • lua-epoll 模块简单分析
  • MyBatis:简单物理分页实现(Plugin)
  • 堆与堆排序
  • laravel 怎么使用ajax
  • argz_count()函数
  • JS获取阴历阳历和星期
  • LCA UESTC 92 Journey
  • jquery cookie
  • Android调用系统相机拍照保存照片很小解决方案
  • Caching with Instance Variables 缓存与实例变量
  • (三)从jvm层面了解线程的启动和停止
  • 0基础学习移动端适配
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • express.js的介绍及使用
  • npx命令介绍
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • vue 配置sass、scss全局变量
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 前端面试总结(at, md)
  • 如何设计一个微型分布式架构?
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用common-codec进行md5加密
  • 手机端车牌号码键盘的vue组件
  • 微服务框架lagom
  • 云大使推广中的常见热门问题
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​MySQL主从复制一致性检测
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (007)XHTML文档之标题——h1~h6
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (4.10~4.16)
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (推荐)叮当——中文语音对话机器人
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .net core Swagger 过滤部分Api
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 读取 JSON格式的数据
  • .NET 中创建支持集合初始化器的类型