文章目录
precharge和refresh都是对存储单元的电容进行S-AMP先读充电再回写。
1. Precharge
1.1 手动Precharge
precharge命令: 也就是手动precharge,Single-bank PRECHARGE(PRE)和PRECHARGE all banks(PREA)
一个或所有Bank的工作行,不定期充电。不同bank的工作行可以不一样。
手动precharge命令后的tRP时间后才能开始后续的row访问。
读写不同bank与auto precharge允许同时发生,只要不中断数据传输和违反时序参数。
precharge后DDR是处于idle状态,在进行读写之前必须active。
如果DDR在 idle状态 或者之前打开的row在percharge进行中 收到precharge命令,那么视为NOP命令。
1.2 Auto Precharge
WRITE with auto precharge(WRAP)和READ with auto precharge(RDAP) 自动产生precharge命令
2. Refresh
Refresh是对所有行依次操作,且是有固定周期的,被操作行在各Bank中均相同。
无论何种Refresh均不需要提供地址,它是芯片内部的自动操作。
2.1 Refresh命令
refresh命令是user依照指定单次发给芯片的刷新命令
2.2 Self Refresh命令
SelfRefresh命令进入SelfRefresh状态是芯片内部逻辑发给自己的刷新命令,
即使系统的其余部分断电。当处于自刷新模式时,DRAM在没有外部时钟的情况下保留数据
2.3 Auto Self Refresh和Self Refresh Temperature
这两者组合使用
2.3.1 MR2的2个配置bit
- ASR(MR2[6]):Auto Self Refresh;自动自刷新
- SRT(MR2[7]):Self Refresh Temperature;强制使用2x刷新
在DDR的MR2寄存器里面的bit[7:6]。看起来让人迷惑,不清楚有什么区别,下面我来介绍一下:
2.3.2 ASR与SRT不能同时使能。
2.3.3 刷新速率与温度的关系
不同的温度档位下,刷新的速率不一样:
(1x刷新速率,周期64ms) <=85度
(2x刷新速率,周期32ms)85~95度
(4x刷新速率,周期16ms)95~105度,必须手动4x刷新速率,周期16ms
因此,当温度高于85°C时,必须启用ASR或SRT。
如果温度高于95度,不仅需要启用ASR或SRT,而且还需要手动进行4x的速率刷新。
2.3.4 (ASR,SRT) : 组合的含义
(0 ,0 ) : 0~85 1x刷新速率
(0 ,1 ) : 0~105 启用SRT后,手动指定当前温度是85~105,2x刷新速率,会增加自刷新功耗(无脑)
(1 ,0 ) : 0~105 会自动依据温度,来调整为1x或者2x,自刷新功耗可能与温度有关(有脑)
(1 ,1 ) : 非法