Xilinx DDR3 MIG系列——内存基本概念及原理

本节目录
一、内存简介
(1)内存基本存储原理
(2)内存频率
(3)DDR数据预取技术(Prefetch)
(4)DDR3工作流程
(5)DDR3控制器的特点
二、内存基本参数
(1)物理Bank
(2)逻辑Bank
(3)内存芯片容量
(4)行激活命令—tRCD
(5)列选通—CL
(6)写入延迟—tDQSS
(7)行预充电有效周期—tRP
(8)数据掩码—DQM
(9)数据选取脉冲—DQS
(10)突发长度—burst length
(11)刷新—Refresh
(12)模式寄存器—MR0、MR1、MR2、MR3

本节内容
一、内存简介

(1)内存基本存储原理
内存(Memory),即动态随机存储(Dynamic Random Access Memory,DRAM),利用电容存储电荷的多少来代表0和1,内存的最小单元-bit,每个bit只需要一个晶体管和电容。
行选与列选信号将使存储电容与外借间的传输电路导通,从而可进行放电(读取)与充电。
DRAM预充电——电容存在漏电,必须被周期性的刷新。
在这里插入图片描述
(2)内存频率
内存三种频率指标——核心频率、时钟频率、有效数据传输频率
核心频率——内存Cell阵列(Memory Cell Array,内存电容)的刷新频率,内存的真实运行频率;
时钟频率——I/O buffer(输入/输出缓冲)的传输频率;
有效数据传输频率——数据传送频率(等效频率),测试时关注的时钟频率。
在这里插入图片描述
内存的频率(等效频率)成倍增长,但核心频率一直在133M——200M之间(电容的刷新频率取决于制造工艺)。
在这里插入图片描述
(3)DDR数据预取技术(Prefetch)
DDRI、DDRII、DDRIII内存关键技术是分别采用2/4/8bit数据预取技术,将带宽翻倍。
预取,预先/提前存取数据,I/O控制器发出请求之前,存储单元已经事先准备好2/4/8bit数据,可以理解为并行传输的数据转换为串行数据流。
在这里插入图片描述
(4)DDR3工作流程
DDR3的相关操作主要包括上电(Power On)、复位(Reset procedrue)、初始化(Initialization)、ZQ对齐(ZQ calibration)、模式寄存器配置(MRS)、自刷新(SR)、刷新(Refreshing)、激活(Activing)、读(Reading)、写(Writing)、预充电(Precharging)及低功耗模式的操作等。
在这里插入图片描述在这里插入图片描述
(5)DDR3控制器的特点
①逻辑划分采用了8Bank和16Bank的设计,增加了存储器容量。
②增加ZQ校准功能,ZQ采用一个命令集,通过片上校准引擎(On Die Calibratino Engine,ODCE)来自动校验数据输出驱动器导通电阻与ODT的终结电阻值。
③复位功能,RESET命令可以将DDR3存储器停止所有操作,切换至低功耗模式。
④采用点对点连接,控制器与存储器之间是一对一,并采用了“fly-by”布线结构,提高信号的完整性,同时引入读写均衡技术来解决布线结构带来的时间偏差问题。
⑤DDR3的预取位宽变成8bit,突变BL为8。
⑥DDR3将工作参考电压分成两个,一是与命令和地址信号相关的VREFCA;两一个是与数据总线相关的VREFDQ。
二、内存基本参数
(1)物理Bank

为了保证CPU的正常工作,在一次传输周期内,内存系统必须完成传输所需要的数据,数据以bit为单位。
物理Bank(Physical Bank),指的是CPU数据总线的位宽,CPU在一个传输周期能接受的数据容量。
以8颗位宽为8bit的内存颗粒并行组成64bit的Bank
在这里插入图片描述
(2)逻辑Bank
DDR SDRAM的内部是一个存储阵列,将数据填写进去,类似一个带有行列寻址能力的二维平面的存储表格。类似于表格的检索过程,先指定一个行(Row),再指定一个列(Column),可以准确确定所需要的单元格,即内存寻址的基本原理。所谓的单元格就是逻辑Bank(Logic Bank)。
在这里插入图片描述
(3)内存芯片容量
内存芯片的容量,其实就是所有逻辑Bank中存储单元的容量综合,有一套计算公式,具体如下:
存储单元数量=行数×列数(一个Bank的存储单元数量)×Bank的数量
常用的一些单位换算,bit,byte,word
bit—表示位,二进制中一个0或者1表示1bit;
byte—表示字节,8个bit为一个字节,DB可以表示双字节;
word—表示字,两个字节为一个字,DW可以表示双字,即四个字节。
以MT41K256M16XX-107内存型号来计算内存容量为256Mb*16=4Gb
在这里插入图片描述
DDR3内存容量512Mb
在这里插入图片描述
DDR3内存容量1Gb
在这里插入图片描述
DDR3内存容量2Gb
在这里插入图片描述
DDR3内存容量4Gb
在这里插入图片描述
DDR3内存容量8Gb
在这里插入图片描述
(4)行激活命令—tRCD
在对逻辑Bank内数据进行读写访问前,首先必须将Bank中的数据所在的行激活,或者行有效,即“Row Active”,一旦激活,保持激活状态直到发送预充电命令。
发送行激活命令时,Bank地址与相应的行地址同时发出,随后发送列地址寻址命令与具体的读或写操作命令,当然,因为这两个命令时同时发出,故以“读或写命令”来表示列寻址。
在内存的标准中,tRCD表示从行有效到读或写命令发出之间的时间间隔,即RAS to CAS Delay,行地址选通脉冲RAS到列地址选通脉冲CAS的延迟时间。
tRCD以DDR的时钟周期tck为单位,以tRCD=3为例,代表延迟周期为3个时钟周期tck,tck以内存时钟频率确定。
在这里插入图片描述
(5)列选通—CL
在读命令时,发送列地址后,将会触发数据的传输,但是从存储单元到芯片的I/O总线之间还存在一定的时间间隔CL(CAS Latency,列选通脉冲潜伏期)。CL以DDR的时钟周期tck为单位,CL=2,代表延迟周期为2个时钟周期tck。
在读取操作,数据经过触发,需要一定的驱动时间才能传送到I/O总线并输出,这段时间称为tAC(Access Time from CLK,时钟触发后的访问时间),tAC必须小于一个时钟周期,才能保证不会因为访问时间过程导致效率低。
在这里插入图片描述
(6)写入延迟—tDQSS
tDQSS(Write Command to the first corresponding rising edge of DQS),在发出写入命令后,DQS与写入数据要等待一段时间才会在下个时钟沿送达。
在这里插入图片描述
(7)行预充电有效周期—tRP
数据读取完成之后,需要释放读出放大器,供同一Bank内其他行寻址操作和数据传输,将进行行预充电的操作来关闭当前的工作行。
预充电对行中所有存储单元进行数据重新加载,并对行地址进行复位。预充电命令之后,需要经过一段时间才允许发送行激活命令操作新的工作行,这个时间间隔称为tRP(RAS Perchange Time)。
以一个案例来说明下:
当前寻址的存储单元为B1、R2、C6。
若下一次的寻址命令为B1、R2、C3,则不需要预充电,读出放大器正在R2工作行服务。
若下一次的寻址命令为B1、R3、C3,则需要预充电,需要操作同一Bank的其他行,先把R2关闭,才能对R3进行寻址。从R2关闭到打开R3的间隔就是tRP。
如果是不同Bank之间的读操作,也需要关闭当前行,再激活新的Bank和ROW。
在这里插入图片描述
(8)数据掩码—DQM
数据掩码DQM(Data I/O Mask),用于屏蔽不需要的数据。
通过采用数据掩码,控制器能够以字节为操作单位指示I/O端口数据的有限性。当然,被掩码掩掉的数据仍然会从存储器中读出,在掩码功能模块中被屏蔽。
在这里插入图片描述
(9)数据选取脉冲—DQS
DQS功能是用来在一个时钟周期内准确的区分出每个传输周期,方便接收方准确接收数据。
DQS数据线是双向的,在写入时,用来传输由内存控制器发送的DQS信号;读取时,由芯片生成DQS向控制器发送。
(10)突发长度—burst length
突发Burst是指在同一行中相邻的存储单元连续进行数据访问。
突发长度(BL,Burst Length)是指连续访问的时钟周期数。
在进行突发传输时,只需要制定起始列地址与突发长度,内存就会依次自动对后面相应数量的存储单元进行读或写操作,不需要控制器连续第提供列地址。
在这里插入图片描述
(11)刷新—Refresh
内存需要不断地进行刷新操作,才能在存储单元中维持数据的有效存储。刷新操作,有固定的操作周期,依次对所有行进行操作,以维护存储单元中的所有数据,其中行指的是所有Bank中地址相同的行。
刷新操作分为两种:自动刷新(Auto Refresh,AR)和自刷新(Self Refresh,SR)。
自动刷新AR,内部由一个行地址生成器用来自动的依次生成行地址,在刷新过程中,所有Bank都停止工作,每次刷新结束后,可进入正常工作状态。
自刷新SR主要用于休眠模式低功耗状态下的数据保存。在SR模式下,根据内部的时钟进行refresh,并且只有CKE信号可以使用,其余信号均无效,只有重新使CKE有效才能退出自刷新模式。
DDR3采用了一种自动自刷新模式SAR,开启SAR模式,通过内置于内存芯片的温度传感器来控制刷新的频率。
(12)模式寄存器—MR0、MR1、MR2、MR3
模式寄存器用于设置内存的工作模式。在初始化阶段,设置命令对模式寄存器进行变成,也支持在内存正常工作期间对模式寄存器进行内容修改。
模式寄存器MR0,存储用于控制DDR3 SDRAM的各种工作模式的数据。它控制突发长度、读取突发类型、CAS延迟、测试模式、DLL复位、WR和DLL控制。
在这里插入图片描述
模式寄存器MR1存储用于启用或禁用DLL、输出驱动器强度、Rtt_Nom阻抗、附加延迟、启用写入均衡使能、TDQS启用和Qoff的数据。
在这里插入图片描述
模式寄存器MR2存储用于控制刷新相关特性、Rtt_WR阻抗和CAS写入延迟的数据。
在这里插入图片描述

  • 30
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰的FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值