[电路]DDR3_引脚定义_容量_特殊功能

DDR3随机存储器,引脚介绍,寻址与容量计算,ODT片内终结_ZQ校准_WriteLeveling

啥是DDR3

内存的不同种类

  • RAM(Random Access Memory) 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。静态随机存储器SRAM(Static RAM)不需要刷新电路即能保存它内部存储的数据。
  • 动态随机存储器DRAM(Dynamic RAM)则每隔一段时间,要刷新充电一次,否则内部的数据即会消失
  • 有一种动态随机存储器SDRAM(Synchronous DRAM)即同步动态随机存取存储器。同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写,DDR,DDR2以及DDR3就属于SDRAM的一类。当然DRAM对应的还有异步DRAM,只是好像比较少见。
  • 同步SDRAM根据时钟边沿读取数据的情况分为SDR和DDR技术,DDR从发展到现在已经经历了四代,分别是:第一代DDR SDRAM,第二代DDR2 SDRAM,第三代DDR3 SDRAM,第四代,DDR4 SDRAM。

DDR3名词解释

  • 第三代双倍数据率同步动态随机存取存储器(Double-Data-Rate Three Synchronous Dynamic Random Access Memory,一般称为DDR3 SDRAM)

DDR3引脚介绍

  • 以MT41K256M16为例,介绍DDR3的引脚。下图为MT41K256M16-96-Ball FBGA–x16的管脚图。

电源

管脚符号 类型 描述
VDD Supply 电源电压1.5V ±0.075V
VDDQ Supply DQ电源,1.5V±0.075V。为了降低噪声,在芯片上进行了隔离
VREFCA Supply 控制、命令、地址的参考电压。VREFCA在所有时刻 (包括自刷新) 都必须保持规定的电压
VREFDQ Supply 数据的参考电压。VREFDQ在所有时刻(除了自刷新)都必须保持规定的电压
VSS Supply
VSSQ Supply DQ地,为了降低噪声,在芯片上进行了隔离
ZQ Supply 输出驱动校准的外部参考。这个脚应该连接240ohm电阻到VSSQ

##时钟

管脚符号 类型 描述
CK,CK# Input 时钟。差分时钟输入,所有控制和地址输入信号在CK上升沿和CK#的下降沿交叉处被采样,输出数据选通(DQS、DQS#)参考与CK和ICK#的交叉点。
CKE Input 时钟使能。使能(高)和禁止(低)内部电路和DRAM上的时钟。由DDR3SDRAM配置和操作模式决定特定电路被使能和禁止。CKE为低,提供PRECHARGE POWER-DOWN和SELF REFRESH操作(所有Bank都处于空闲),或者有效掉电(在任何bank里的行有效)。CKE与掉电状态的进入退出以及自刷新的进入同步。CKE与自刷新的退出异步,输入Buffer(除了CK、CK#、RESET#和ODT)在POWER-DOWN期间被禁止。输入Buffer(除了CKE和RESET#)在SELF REFRESH期间被禁止。CKE的参考是VREFCA。
RESET# Input 复位,低有效,参考是VSS,复位的断言是异步的。

地址

管脚符号 类型 描述
CS# Input 片选。使能(低)和禁止(高)命令译码,当CS#为高的时候,所有的命令被屏蔽,CS#提供了多RANK系统的RANK选择功能,CS#是命令代码的一部分,CS#的参考是VREFCA
BA[2:0] Input Bank地址输入。定义ACTIVATE、READ、WRITE或PRECHARGE命令是对哪一个bank操作的。BA[2:0]定 义在LOAD MODE命令期间哪个模式(MR0、MR1、MR2)被装载,BA[2:0]的参考是VREFCA
A[14:13],A12/BC#,A11,A10/AP,A[9:0] Input 地址输入。为ACTIVATE命令提供行地址,和为READ/WRITE命令的列地址和自动预充电位(A10),以便从某个bank的内存阵列里选出一一个位置。A10在PRECHARGE命令期间被采样,以确定PRECHARGE是否应有于某个bank:A10为低,这个bank由BA[2:0]来选择,或者A10为高,对所有bank。在LOAD MODE命令期间,地址输入提供了一一个操作码。地址输入的参考是VREFCA。A12/BC#:在模式寄存器(MR)使能的时候,A12在READ和WRITE命令期间被采样,以决定burst chop(on-the-fly)是否会被执行(HIGH=BL8执行burst chop),或者LOW-BC4不进行burst cnop。

数据

管脚符号 类型 描述
DQ[15:8] I/O 数据输入/输出。双向数据,DQ[15:8]参考VREFDQ
DQ[7:0] I/O 数据输入/输出。双向数据,DQ[7:0]参考VREFDQ

控制

管脚符号 类型 描述
ODT Input 片上终端使能。ODT使能(高)和禁止(低)片内终端电阻。在正常操作使能的时候,ODT仅对下面的管脚有效:X16的DQ[15:0],LDQS,LDQS#,UDQS,UDQS#,LDM和UDM; X8的DQ[7:0],DQS,DQS#,DM/TDQS和NF/TDQS#(启用TDQS时);X4的DQ[3:0],DQS,DQS#和DM。如果通过LOAD MODE命令禁止,ODT输入被忽略。ODT参考VREFCA。
LDM Input LDM是低字节的写数据输入屏蔽信号。在写访问期间,如果LDM与输入数据一起被采样为高电平,则低字节输入数据将被屏蔽。虽然DM仅作为输入脚,但是,DM负载被设计成与DQ和DQS脚负载相匹配。DM的参考是VREFCA。
RAS#, CAS#, WE# Input 命令输入,这三个信号,连同CS#,定义一个命令,其参考是VREFCA
LDQS, LDQS# Output 低字节数据选通,用于输出读取数据。与读取数据边缘对齐。输入写入数据。居中对齐以写入数据。
UDQS, UDQS# I/O 高位字节数据选通:输出读取数据。边沿对齐读取数据输入写入数据。 DQS居中对齐以写入数据。

寻址与容量计算

寻址

  • 对于存储器而言,就好比一个巨大的仓库,仓库中存放了大量的数据,一个重要的工作就是确认每个数据存放在哪里。我们给每个最基础的存储单元一个地址,找到自动化个地址,我们就可以存放或者读取数据了,找到这个地址的过程就叫寻址。
  • DDR3芯片的寻址的流程是先指定Bank地址,再指定行地址,然后指列地址最终的确寻址单元。
    一个内存条上往往有多个内存芯片。我们把其中一个128MB Chip拆开来看,以MT41K256M16为例,它是由8个Bank组成,每个Bank核心是个一个存储矩阵,就像一个大方格子阵。这个格子阵有很多列(Column)和很多行(Row),这样我们想存取某个格子,只需要告知是哪一行哪一列就行了。

存储容量

  • 存储单元的Bank数量、地址空间大小和数据宽度决定了一个内存芯片的容量大小,内存条上内存芯片的数量决定了内存条的大小。
  • MT41K256M16的的数据宽度是8位,每个bank有32k的行数,1k的列数,所以寻址空间是32k1k=32M,每个芯片有8个bank,所以单块芯片的容量是8(32k*1k)*8bit=2Gbit。
    下图为MT41K256M16内部结构,行(Row)地址线复用15根,列(Column)地址线复用10根,Bank数量为8个,IO Buffer 通过16组数位线(DQ0-DQ15)来完成对外的通信。

DDR3中的几个技术

ODT(On-Die Termination)技术

  • ODT(On-Die Termination),是从DDR2 SDRAM时代开始新增的功能。其允许用户通过读写DDR2/3内部的MR1寄存器,来控制DDR3 SDRAM中各个信号内部终端电阻的连接或者断开。
  • ODT(On-Die Termination)技术的目的是通过使DDR SDRAM控制器能够独立的打开或者关断DDR内部的终端电阻来提高存储器通道的信号完整性,在DLL关闭模式,ODT功能被禁用。
  • 一个DDR通道,通常会挂接多个Rank,这些Rank的数据线、地址线等等都是共用;数据信号也就依次传递到每个Rank,到达线路末端的时候,波形会有反射,从而影响到原始信号;因此需要加上终端电阻,吸收余波。之前的DDR,终端电阻做在板子上,但是因为种种原因,效果不是太好,到了DDR2,把终端电阻做到了DDR颗粒内部,也就称为On Die Termination,Die上的终端电阻,Die是硅片的意思,这里也就是DDR颗粒。
  • ODT技术具体的内部结构图如下:
  • ODT技术有以下三个优点:
  1. 去掉了主板上的终结电阻器等电器元件,这样会大大降低主板的制造成本,并且也使主板的设计更加简洁。
  2. 由于ODT技术可以迅速的开启和关闭空闲的内存芯片,在很大程度上减少了内存闲置时的功率消耗。
  3. 芯片内部终结电阻也要比主板的终端电阻具有更好的信号完整性。这也使得进一步提高DDR2内存的工作频率成为可能。

ZQ 校准

  • ZQ是DDR3一个新增的引脚,在这个引脚上接有一个 240 欧姆的低公差参考电阻。这个引脚通过一个命令集,通过片上校准引擎( ODCE ,On-DieCalibrationEngine )来自动校验数据输出驱动器导通电阻与 ODT 的终结电阻值。
  • 当系统发出这一指令之后, 将用相应的时钟周期 (在加电与初始化之后用 512 个时钟周期,在退出自刷新操作后用 256 时钟周期、在其他情况下用 64个时钟周期)对导通电阻和 ODT 电阻进行重新校准
  • ODT是终端匹配,就是在DDR芯片内部对信号线终端上上拉一个终结电阻,但是这个内部电阻随着温度会有些细微的变化,为了保证信号被准确的进行终端匹配,就需要ZQ了,ZQ的作用就是使用你外面连接的,高精度240R电阻来对这个内部的电阻进行校准。

write leveling技术

  • DR3 由于采取了fly by的结构,导致DQS和CK信号之间在DIMM条上存在一定延迟。Write leveling就是用来调节DQS,CK在DIMM条上之间的相位关系使之满足tDQSS(注意这里的tDQSS是DDR3颗粒的时序要求)
  • Wrtie leveling是一个完全自动的过程,只要控制器支持write leveling就可以进行。
  • CPU不停的发送不同时延的DQS信号,颗粒会通过输入的DQS来采样输入的CK信号,如果采样到的CK信号一直为低,则会将DQ保持为低电平来告知控制器tDQSS相位关系还未满足,如果发现在某个DQS到来时,采样到此时的CK电平发现了迁越(由之前的低跳变为高),则认为此时DQS和CK已经满足tDQSS同时通过DQ向控制器发送一个高。此时就完成了一个write leveling过程。

参考:
DDR3自学手册
MT41K256M16_Datasheet