DDR基础知识点汇总【转】


转自:http://www.4k8k.xyz/article/u011729865/115326708

文章目录

    • 文档推荐
    • DDR颗粒的电路图来源
      • DDR3 SDRAM电路结构高清图
      • DDR4 SDRAM电路结构高清图
    • DDR3-1866控制器/PHY/颗粒之间的带宽关系
    • channel > DIMM > rank > chip > bank > row/column
    • DDR页和行的概念理解
    • DDR3 8Bit数据预取技术的理解
    • DDR burst相关概念
    • DDR SDRAM的时序参数和读写访问过程
    • 计算DDR容量的方法
    • DDR控制器架构
    • DDR自动刷新和自刷新,以及与预充电的关系
    • DDR 扰码解码:obfuscation Scamble.
    • ZQC和ODT意义
    • Write Leveling是什么?

点击相关链接

上面网址资料应该更全,但是速度太慢。下面网址速度更快:https://pdf.ic37.com/

网上很多图非常不清楚,下面给一张DDR3和DDR4的高清图。

土老冒谈硬件 深度解析DDR3内存新特性

  • SDRAM最开始是时钟下降沿采样,数据传输速率和频率是1:1关系,即一个周期可传输1bit数据;
  • DDR1,采用时钟双边沿采样,即上升沿、下降沿都采样。一个时钟周期可传输2bit数据,这个时候,就叫预取2bit技术了(因为一拍需要预取2bit数据)。可知预取2bit技术的基础,就是双边沿采样。
  • DDR2,预取4bit。
  • DDR3,预取8bit。举例,DDR3-800内存的存储核心频率其实仅有100MHz,其输入/输出时钟频率为400MHz,利用双边沿采样技术,有效数据传输频率则为800MHz。

预取bit的意思,我理解就是一个时钟周期时间内,从DDR存储cell能够做到取出多少bit数据。如果一次预取16bit,DDR传输速率就又翻倍了。

一般,协议里称为8n prefetch。这个n,我理解就是DQ位宽。所以一个DDR3 16bit SDRAM内存颗粒,其一次读写访问的数据量是8*16=128bit。

https://linux.codingbelief.com/zh/memory/dram/dram_timing.html?q=#additive-latency
在这里插入图片描述
DDR2-800内存的标准时序:5-5-5-18,
DDR3-800内存的标准时序则达到了6-6-6-15
DDR3-1066为7-7-7-20
DDR3-1333更是达到了9-9-9-25

这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芯片之外,还有颗粒、PCB板等,需要综合考虑,DDR3延迟不一定比DDR2慢。

一、影响性能的主要时序参数
  所谓的影响性能是并不是指SDRAM的带宽,频率与位宽固定后,带宽也就不可更改了。但这是理想的情况,在内存的工作周期内,不可能总处于数据传输的状态,因为要有命令、寻址等必要的过程。但这些操作占用的时间越短,内存工作的效率越高,性能也就越好。
  非数据传输时间的主要组成部分就是各种延迟与潜伏期。通过上文的讲述,大家应该很明显看出有三个参数对内存的性能影响至关重要,它们是tRCD、CL和tRP。每条正规的内存模组都会在标识上注明这三个参数值,可见它们对性能的敏感性。
  以内存最主要的操作——读取为例。tRCD决定了行寻址(有效)至列寻址(读/写命令)之间的间隔,CL决定了列寻址到数据进行真正被读取所花费的时间,tRP则决定了相同L-Bank中不同工作行转换的速度。现在可以想象一下读取时可能遇到的几种情况(分析写入操作时不用考虑CL即可):
  1、要寻址的行与L-Bank是空闲的。也就是说该L-Bank的所有行是关闭的,此时可直接发送行有效命令,数据读取前的总耗时为tRCD+CL,这种情况我们称之为页命中(PH,Page Hit)。
  2、要寻址的行正好是前一个操作的工作行,也就是说要寻址的行已经处于选通有效状态,此时可直接发送列寻址命令,数据读取前的总耗时仅为CL,这就是所谓的背靠背(Back to Back)寻址,我们称之为页快速命中(PFH,Page Fast Hit)或页直接命中(PDH,Page Direct Hit)。
  3、要寻址的行所在的L-Bank中已经有一个行处于活动状态(未关闭),这种现象就被称作寻址冲突,此时就必须要进行预充电来关闭工作行,再对新行发送行有效命令。结果,总耗时就是tRP+tRCD+CL,这种情况我们称之为页错失(PM,Page Miss)。
  显然,PFH是最理想的寻址情况,PM则是最糟糕的寻址情况。上述三种情况发生的机率各自简称为PHR——PH Rate、PFHR——PFH Rate、PMR——PM Rate。因此,系统设计人员(包括内存与北桥芯片)都尽量想提高PHR与PFHR,同时减少PMR,以达到提高内存工作效率的目的。

聊一聊DDR3中的ODT(On-die termination)》
  • 总之,ZQC和ODT一起,在不同温度下,解决信号的完整性问题。
  • 另外,关于ZQ校准,有两个命令:ZQCL (ZQ CALIBRATION LONG )和ZQ CALIBRATION SHORT (ZQCS)

    • ZQCL主要用于系统上电初始化和器件复位,一次完整的ZQCL需要512个时钟周期,在随后(初始化和复位之后),校准一次的时间要减少到256周期。
    • ZQCS在正常操作时跟踪连续的电压和温度变化,ZQCS需要64个时钟周期。

    Write Leveling是什么?

    Write Leveling的功能是调整DRAM颗粒端DQS信号和CLK信号边沿对齐。
    只有使用了fly-by的情况下需使能write leveling。

    所谓的fly-by 布线,指地址、命令和时钟(下图黄色单词看不清楚,是clk/addr/command的意思)的布线依次经过每一颗DDR memory芯片。而dq和dqs作了点到点的连接。VTT表示这些信号都接了ODT端接电阻。fly-by 结构相对于T布线,有助于降低同步切换噪声(Simultaneous Switching Noise)。
    在这里插入图片描述
    备注:下图是T型布线。
    在这里插入图片描述

    相关