[业界/制造] DDR的省电模式.............

[复制链接]
查看22 | 回复0 | 昨天 23:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 hdy 于 2025-5-7 23:30 编辑

基础知识



当前技术通常采用单晶体管/单电容存储单元,以实现更密集的存储芯片。
232811ec889a76.png
CMOS 栅极连接到字线(Row Line),源极连接到位线(Column Line)。当电容冲上电是表示1,没有充电表示0。写入命令通过开启晶体管栅极,从而将电流(1将充电,0将放电)发送到电容来完成。读取操作通过位线上的感应放大器(
Sense Amplifier, S-Amp)
来测量电容中的电荷来完成。
23281118fe4245.png
DRAM 的基本设计有两个主要问题。
首先,读的时候要从电容读取电荷,将耗尽电荷,这导致所有读取都是破坏性的。从 DRAM 读取一段数据后,该值就不再存储在内存阵列中。为了解决这个问题,必须在完成后将数据写回数组中。这称为PreCharge。
为了提高DRAM接口的效率,将整行读入DRAM中的缓冲区。将行读入该缓冲区的过程称为Open或Active该行。打开一行后,可以将数据读取或写入该行中的任何列,而无需再次打开它。但是,每个bank一次只能打开一行。要从同一bank 中的不同行读取,必须先对当前行进行PreCharge,然后Open新行。
DRAM的第二个基本缺陷,也是它被称为动态RAM的原因,是电容器会漏电。这意味着一旦电荷存储在电容器上,它就会开始失去电荷。解决此问题的方法是定期刷新每一行。刷新包括简单地读取一行,然后将其写回数组中。此过程可确保电容保持其电荷。通常,SDRAM自己能够执行刷新操作,但仍然必须告诉它何时刷新。
DDR命令

DDR4示意图:
23281129b036cc.png
信号的不同,组合成不同的Command:
232811f637e5e6.png
DRAM状态机



CKE:DRAM Clock Enable信号
  • Active:至少一个Bank活动的,没有掉电(CKE=1),无内部刷新(DRAM 控制器必须发送刷新命令)
  • IDLE:所有Bank都关闭并Precharge,不掉电(CKE=1),没有内部刷新。DRAM改变状态通过发出Precharge命令从Active到IDLE
  • PDNP:Precharge Power Down:所有Bank都在Idle状态下,关闭Clock(CKE=0),没有内部刷新。
  • PDNA:Active Power-Down:Bank有行处于Active状态,关闭Clock(CKE=0),没有内部刷新。
  • SREF:Self Refresh,所有Bank都已Precharge并关闭,触发 DRAM 内部自定时刷新 (CKE=0)。

23281221679f05.png
Active Power Down和Precharge Power Down通过打开Clock(CKE=1)退出。Power Down的时间必须在Refresh的时间范围内,以保证数据不会因为电容没有充电刷新丢失

DDR4 DRAM中提供了一种功耗更加低的Maximum Power Down模式。DDR控制器发送Deep Power Down命令,这时候存储阵列的Power会被断掉,所有的数据会丢失掉。当从Deep Power Down退出的时候,需要对SDRAM芯片进行初始化

不同省电模式下面的功耗比:
[td]
特性Active Power DownPrecharge Power DownSelf-RefreshMaximum Power Down
主要用途短时间内预期会有新的访问请求短时间内频繁切换活跃与空闲状态长时间不访问内存但需保持数据不需保持数据的长时间断电
功耗水平较高,但低于完全活跃状态中等,低于Active Power Down最低,通常为几毫瓦(mW)极低,接近于零
恢复时间快速较快较长最长
适用场景快速响应需求较高的应用需要在短时间内频繁切换状态的应用设备待机、休眠等长时间无操作期数据可重新加载的长时间断电情况

省电模式时序图


在CKE的配合下,可以发送省电相关的Command:
232812ffdc547b.png
Auto-Refresh
Auto-Refresh命令用于在DDR正常运行期间刷新阵列的内容。此命令是非持久性的,因此每次需要刷新时都必须发出。在发出Auto-Refresh命令之前,必须对所有Active存储体进行PreCharge。
2328123158b4bd.png
Self-Refresh
Self-Refresh模式可用于在系统其他部分断电的情况下,将数据保留在DDR中。在Self-Refresh模式下,DDR无需外部时钟即可保留数据。Self-Refresh命令的启动方式与Auto-Refresh命令类似,但CKE低电平。Self-Refresh命令后,除CKE必须保持低电平外,DDR的所有输入信号均变为“Don't Care”状态。
启用Self-Refresh模式后,DDR将提供自己的内部时钟,使其能够执行自身的自动刷新周期。设备必须保持自刷新模式至少一段时间,即tRAS,并且在此之后,可以无限期地保持自刷新模式。
232813062c7939.png
Power down
当没有进行任何访问时,如果 CKE 被设置为低电平,且同时出现 NOP 或 COMMAND IN HIBIT 指令,则会发生Power down。如果所有 Bank 都处于空闲状态时发生Power down,则此模式称为Precharge Power Down;如果任何 Bank 中有一行处于活动状态时发生Power down,则此模式称为Active Power down主动。进入掉电模式会停用输入和输出缓冲器(CKE 除外),以在待机状态下最大限度地节省功耗。由于此模式下不执行任何Refresh操作,因此器件处于Power down状态的时间不能超过刷新周期 (64ms)。
通过在所需时钟沿(满足 tCKS 周期)将 CKE 设置为高电平并发出 NOP 或 COMMAND INHIBIT 指令,即可退出Power down状态。
232813a15ebf1c.png

Clock Suspend
当column access/burst正在进行且 CKE 寄存器为低电平时,将进入Clock Suspend模式。在该模式下,内部时钟停用,同步逻辑冻结。
通过将 CKE 寄存器为高电平退出时钟暂停模式;内部时钟和相关操作将在下一个时钟正沿恢复。
232813524a44c8.png


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

hdy

91

主题

285

回帖

364

积分

二级逆天

积分
364