差分时钟技术

差分时钟是DDR的一个重要且必要的设计,但大家对CK#(CKN)的作用认识很少,很多人理解为第二个触发时钟,其实它的真实作用是起到触发时钟校准的作用。

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

图一 差分时钟示意图

数据选取脉冲(DQS)

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

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

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

图二  数据时序

数据掩码技术(DQM)

不是DDR所特有的,但对于DDR来说也是比较重要的技术,所以一并介绍下。

为了屏蔽不需要的数据,人们采用了数据掩码(Data I/O Mask,简称DQM)技术。通过DQM,内存可以控制I/O端口取消哪些输出或输入的数据。这里需要强调的是,在读取时,被屏蔽的数据仍然会从存储体传出,只是在“掩码逻辑单元”处被屏蔽。

DQM由主控芯片控制,为了精确屏蔽一个P-Bank位宽中的每个字节,每个64bit位宽的数据中有8个DQM信号线,每个信号针对一个字节。这样,对于4bit位宽芯片,两个芯片共用一个DQM 信号线,对于8bit位宽芯片,一个芯片占用一个DQM信号,而对于16bit位宽芯片,则需要两个DQM引脚。SDRAM 官方规定,在读取时DQM发出两个时钟周期后生效,而在写入时,DQM与写入命令一样是立即生效,如下图三和四分别显示读取和写入时突发周期的第二笔数据被取消。

图三  读取时数据掩码操作

图四  写入时数据掩码操作

所以DQM信号的作用就是对于突发写入,如果其中有不想存入的数据,就可以运用DQM信号进行屏蔽。DQM信号和数据信号同时发出,接收方在DQS的上升与下降沿来判断DQM的状态,如果DQM为高电平,那么之前从DQS中部选取的数据就被屏蔽了。

有人可能会觉得,DQM是输入信号,意味着DRAM芯片不能发出DQM信号给主控芯片作为屏蔽读取数据的参考。其实,该读哪个数据也是由主控芯片决定的,所以DRAM芯片也无需参与主控芯片的工作,哪个数据是有用的就留给主控芯片自己去选择。

差分时钟、DQS与DQM - DDRx的关键技术介绍(中)

差分时钟、DQS与DQM - DDRx的关键技术介绍(下)

差分时钟、DQS与DQM - DDRx的关键技术介绍相关推荐

  1. 差分时钟、DQS与DQM - DDRx的关键技术介绍(上)

    作者:一博科技 在上一篇的问题里面问到了DDRX相对于前一代来说的关键技术突破在哪里,虽然没有人回答得完全正确,但这个也是很正常的,因为通过几句话要想说清楚也确实是不容易的,所以还是通过文章来把这些关 ...

  2. DDRx的关键技术介绍(下)

    作者:一博科技 今天要介绍的是DDR3和DDR4最关键的一些技术,write leveling以及DBI功能. Write leveling功能与Fly_by拓扑 Write leveling功能和F ...

  3. LiveVideoStack线上分享第三季(七):AVS3关键技术介绍、性能和复杂度分析

    第三代AVS视频编码标准(AVS3)的基准档次于2019年3月制定完成.在AVS3基准档次中,采纳了编码结构.预测.变换和环路滤波相关的多个关键技术.无论相比AVS2还是HEVC标准,AVS3基准档次 ...

  4. Matter理论教程-通用-1-01:基本概念与关键技术介绍

    [源码.文档.软件.硬件.技术交流.技术支持,入口见文末] [所有相关IDE.SDK和例程源码均可从群文件免费获取,免安装,解压即用] 持续更新中,欢迎关注! [活动报名]2023.03.03 [拿破 ...

  5. 第二章 关键技术介绍

    本项目主要用到的技术有os.requests.lxml.pandas等,数据库使用的是SQL. 2.1   os模块介绍 Python的标准库中的os模块包含普遍的操作系统功能.即它允许一个程序在编写 ...

  6. 【自动驾驶】自动驾驶感知系统与关键技术介绍

    文章目录 1.自动驾驶感知系统介绍 1.1 什么是自动驾驶? 1.2 什么是自动驾驶系统? 1.3 自动驾驶技术概览(以环境感知系统为主) 1.4 自动驾驶行业现状 1.自动驾驶感知系统介绍 1.1 ...

  7. 无线智能插座运用关键技术介绍

    该无线智能插座的设计与实现主要运用了Wi-Fi无线通信技术.MQTT消息传输协议,接下来将分别对它们进行较为详细的介绍,如下所示. (1)Wi-Fi无线通信技术 Wi-Fi是由被澳大利亚媒体称为&qu ...

  8. AVS3关键技术、性能和复杂度分析

    本文由北京大学的范逵博士在LiveVideoStack线上分享第三季,第七期的内容整理而成,本次分享将主要从AVS3关键技术介绍.AVS3性能测试两个方面介绍AVS3基准档次中新采纳的编码工具,并分析 ...

  9. 大型网站架构提速关键技术(页面静态化、memcached、Mysql优化)

    大型网站关键技术介绍 1. pv值(page views),访问量大 带来问题 a. 流量大 10000000*2m ->解决方案 买带宽 ,优化程序(处理图片) b. 并发量,同时访问网站的人 ...

最新文章

  1. 利用硅光子学的移动心脏监护仪
  2. Flask中的重定向redirect和url_for
  3. MyCAT-1.4-RC性能测试(初步施工)
  4. PHPEXCEL使用实例
  5. ES7和ES8的了解
  6. java.lang.stackoverflowerror_java.lang.StackOverflowError——如何解决StackOverflowError错误
  7. 图解TCP/IP第一章学习
  8. 介绍一下ISO9000质量标准
  9. 基于蚁群算法的多配送中心的车辆调度问题的研究(Matlab代码实现)
  10. 安卓APP的字体大小设置不受系统字体大小的影响
  11. 计算机网络——网络层路由协议、IP组播、移动 IP、路由器
  12. C++:评估二伽玛或 psi 功能(附完整源码)
  13. CCleaner注册码
  14. html5制作毕业光盘,同学聚会的视频和照片编辑制作,最后刻录成光盘 每人一张(数据刻录)...
  15. NOJ - 2070 马尔扎哈的疑惑
  16. 苹果会下架所有的基于H5的开发的APP?
  17. 计算机与科学hh,Mary-第十六届和谐人机环境联合学术会议 (HHME2020)
  18. enumeration value 'xxxxx' not handled in switch警告
  19. SNAP DInSAR详细操作步骤
  20. 信息化消防应急指挥调度如何实现高效救援?

热门文章

  1. 怎么把几个视频合并成一个?学会这个技巧,轻松掌握
  2. FFmpeg[15] - 从官网下载FFmpeg时的坑,你有遇到吗?
  3. Linux用户态与内核态通信的几种方式(待完善)
  4. 解决服务器挖矿漏洞 crypto
  5. Google hacking(谷歌语法)
  6. 简单的技能Buff系统
  7. python 布莱克舒尔斯_布莱克—舒尔斯期权定价模型
  8. linux打开python3_号外:RIDE 可以在 linux+python3 的环境中运行啦!
  9. SAS学习笔记(二)排序、打印和汇总数据
  10. 获取中国 省市区 js