一文读懂DDR4工作原理

2020年3月14日 FireSu 12924  0  0
DDR4的工作原理以及寻址方式。

点击上方蓝色“每日硬知识”,关注公众号,支持下硬知识吧!

201114日,三星电子完成史上第一条DDR4内存。DDR4相比DDR3最大的区别有三点:16bit预取机制(DDR38bit),同样内核频率下理论速度是DDR3的两倍;更可靠的传输规范,数据可靠性进一步提升;工作电压降为1.2V,更节能。

 

DDR4是什么?工作原理是什么?硬件设计中都涉及哪些参数?在本系列博文中,我们将为大家娓娓道来。

本文简要探讨DDR4到底是什么,以及简述DDR4的工作原理。

DDR4是什么?

DDR4全称,DDR4-DRAM,与其他DDRDRAM一样,是当前电子系统架构中使用最为广泛的的RAM存储器。

这句话可以分解出3个关键字:存储器、DRAMDDR4

先说存储器,说到存储,顾名思义,它是个动词,以生活为例,假如有个酸奶,你不想吃的时候,将酸奶存到某冰箱、某层、某个位置,当你想吃的时候,在某冰箱、某曾、某个位置中取出该酸奶。

这个过程,我们称为存储,结合生活,我们可以看到存储要有3个关键动作:

1.      酸奶放哪了,你得知道。如果不知道放哪了,酸奶就跟丢了一样。这个过程,映射到电子领域中,称为“寻址”。

2.      存储酸奶、取出酸奶。你需要先走到某冰箱跟前,拉开某层抽屉,在具体某个位置,拿出酸奶,这个过程,映射到电子领域中,称为“读/写”

3.      酸奶放到那个位置,在需要的时候,得还能吃。这个过程,映射到电子领域中,称为“数据保存”。

所以,概括一下,存储器就是“可以寻址”、“能读写数据”、“能保存数据”的一种电子器件。

我们再说说DRAMDRAM全称Dynamic Random Access Memory,翻译过来为动态随机读取存储器。所谓随机,指的是“想存哪个位置,就存哪个位置”,听起来很自由,很灵活。所谓动态,指的是保存数据过程中,需要不断的补充电量,听起来很耗电,很费劲,为啥我们还要用DRAM结构?因为在电路结构上,DRAM结构比SRAM简单很多。

最后说说DDR。我们聊到DDR,大家都会联想到存储器,但是实际上DDR并不指代存储器,DDR实际是一种技术,全称Double Data Rate,翻译过来为双倍速率,只是这都技术广泛使用在DRAM上,所以人们习惯将DDR代指为存储器,所以宝宝们在后续的硬件设计过程中,在其他总线上看到DDR,请不要惊慌,因为你看到的DDR可能不一定和存储有关。那双倍速率指的是什么?我们可以简要说下,初代存储器在读写数据时,每次都在时钟信号从低变高或从高变低时,采样数据,在1个时钟周期,只能采样1个数。后续聪明的人类在时钟从低到高时,采样一个数据,时钟从高到低时,再采样1个数据,一个时钟周期,可以采样2个数据。所以读写速度比以前快了2倍。这种技术手段,就指的是DDR。如果看不懂“时钟”和“采样”这段话的,那……

所以,概括下:DDR4-DRAM是第四代支持双数据读取,支持随机位置存取的静态存储器。

DDR4-DRAM的工作原理

一颗DDR4芯片的内部功能框图如下:

其引脚按照功能可以分为7类:前3类为电源、地、配置。

PIN分类

名称

方向

功能描述

电源

VDD

PI

芯片主电源输入,1.2V

VDDQ

PI

DQ信号线电源供电,1.2V

VPP

PI

DRAM激活电压,2.5V

VREFCA

PI

控制/命令/地址信号的参考电平。

VSS

-

主地

VSSQ

-

DQ信号参考地。

配置

ZQ

-

阻抗匹配(ODT)的校准参考,接240Ω电阻到地。

4类为:控制信号、时钟信号、地址信号、数据信号

PIN分类

名称

IO方向

功能描述

控制信号

ALERT_N

OUT

报警信号,若命令/地址出现奇偶校验错误或者CRC错误,该PIN脚拉低,告知DDR Controller

TEN

IN

测试模式使能信号,高电平使能测试模式。正常操作过程中,必须拉低。

RESET_N

IN

DDR复位信号,低电平有效。正常操作过程中,保持高电平。

PAR

IN

命令/地址信号的奇偶校验使能,可通过寄存器禁用或者使能。

ODT

IN

阻抗匹配使能。

CKE

IN

时钟信号使能。通过此电平,可以控制芯片是否进入低功耗模式。

ACT_N

IN

命令激活信号,这个信号为低电平时,可以通过A[14:16]地址信号线选择激活命令的行地址。为高电平时,Address信号线正常使用。

CS_N

IN

DDR芯片使能,用于多个RANK时的RANK组选择。

时钟信号

CK_N/CK_P

IN

差分时钟信号,由DDR Controller输出。

地址信号

BG0

IN

Bank Group地址选择

BA[0:1]

IN

Bank地址选择

A[0:16]

IN

地址选择信号,其中A16还有RAS_N功能,A15CAS_N功能,A14WE_N功能,A12BC_N功能,A10AP功能。

数据信号

DQ[0:15]

IN/OUT

8位数据和高8位数据信号线,共16位数据信号线。

LDM/LDBI

IN/OUT

8位数据掩码

UDM/UDBI

IN/OUT

8位数据掩码

LDQS_N/LDQS_P

IN/OUT

8位数据选通信号

UDQS_N/UDQS_P

IN/OUT

8位数据选通信号

电源、地、配置信号的功能很简单,在此不赘述。控制信号主要是用来完成DDR4DDR4 Controller之间的状态切换。

DDR4中最重要的信号就是地址信号和数据信号。

如上DDR4芯片有20根地址线(17Address2BA1BG),16根数据线。在搞清楚这些信号线的作用以及地址信号为何还有复用功能之前,我们先抛出1个问题。

假如我们用20根地址线,16根数据线,设计一款DDR,我们能设计出的DDR寻址容量有多大?

按照课本中学到的最简单的单线8421编码寻址的方式,我们知道20根地址线(连读写控制信号都不考虑了)的寻址空间为2^2016根数据线可以1次传输16位数据,我们能很容易计算出,如果按照单线8421编码寻址方式,DDR芯片的最大存储容量为:

Sizemax=(2^20)*16=1048576*16=16777216bit=2097152B=2048KB=2MB

但是事实上,该DDR最大容量可以做到1GB,比传统的单线编码寻址容量大了整整512倍,它是如何做到的呢?答案很简单,分时复用。

我们把DDR存储空间可以设计成如下样式:

首先将存储空间分成两个大块,分别为BANK GROUP0BANK GROUP1,再用1根地址线(还剩19根),命名为BG,进行编码。若BG拉高选择BANK GROUP0,拉低选择BANK GROUP1。(当然你也可以划分成4个大块,用2根线进行编码)

再将1BANK GROUP区域分成4BANK小区域,分别命名为BANK0BANK1BANK2BANK3。然后我们挑出2根地址线(还剩余17根)命名为BA0BA1,为4个小BANK进行地址编码。

此时,我们将DDR内存颗粒划分成了2BANK GROUP,每个BANK GROUP又分成了4BANK,共8BANK区域,分配了3根地址线,分别命名为BG0BA0BA1。然后我们还剩余17根信号线,每个BANK又该怎么设计呢?这时候,就要用到分时复用的设计理念了。

剩下的17根线,第一次用来表示行地址,第二次用来表示列地址。

原本传输1次地址,就传输1次数据,寻址范围最多16KB(不要读写信号)。

现在修改为传输2次地址,在传输1次数据,寻址范围最多被扩展为2GB。虽然数据传输速度降低了一半,但是存储空间被扩展了很多倍。这就是改善空间。

所以,剩下的17根地址线,留1根用来表示传输地址是否为行地址。

在第1次传输时,行地址选择使能,剩下16根地址线,可以表示行地址范围,可以轻松算出行地址范围为2^16=65536=64K个。

在第2次传输时,行地址选择禁用,剩下16根地址线,留10根列地址线表示列地址范围,可以轻松表示的列地址范围为2^10=1024=1K个,剩下6根用来表示读写状态/刷新状态/行使能、等等复用功能。

这样,我们可以把1BANK划分成67108864=64M个地址编号。如下所示:

在每个地址空间中,我们一次存储16位数据。

所以1BANK可以分成65536行,每行1024列,每个存储单元16bit

每行可以存储1024*16bit=2048bit=2KB。每行的存储的容量,称为Page Size

单个BANK65536行,所以每个BANK存储容量为65536*2KB=128MB

单个BANK GROUP4BANK,每个BANK GROUP存储容量为512MB

单个DDR4芯片有2BANK GROUP,故单个DDR4芯片的存储容量为1024MB=1GB

至此,20根地址线和16根数据线全部分配完成,我们用正向设计的思维方式,为大家讲解了DDR4的存储原理以及接口定义和寻址方式,在下一节,我们将为大家讲解DDR4的硬件设计步骤,以及调试时需要注意的参数,以及DDR4SI仿真。

用户头像1
 路人113.140.11.140
  2020-7-22
DDR4芯片内部框图有原图吗?
用户头像1
 
  2021-3-26
好文章
用户头像1
 
  2021-4-4
"在每个地址空间中,我们一次存储16位数据”,这个的意思是DDR4的指定行列 bank bankgoup decice rank 的地址存储多少的数据?
用户头像1
 
  2021-5-16
讲的很好
用户头像3
一文读懂DDR4工作原理     
Copyright @ 2015 Fire.Su 版权所有陕ICP备19023440号