DRAM读出一个1,为何还要立刻写回?
感知放大既读出微小电压差,也负责恢复单元电荷
DRAM 单元用电容上的电荷表示数据。字线打开后,单元电容与预充电位线共享电荷,只产生很小的电压偏移,感知放大器把差值拉成完整逻辑电平,同时把该电平重新写回单元。读与恢复是一套连续动作。
逻辑分析上一次读命令已经返回正确数据,控制器却还不能立刻把同一银行当作空闲资源,后面仍有恢复相关的时间约束。原因不是接口故意拖延。明确判断是:DRAM 的读出会扰动存储电容,感知放大器在判决的同时必须把电荷补回去,读完成不等于阵列已恢复。
把它理解成普通寄存器的无损读取,会看不懂预充电、恢复和刷新为何占用时序。
一、一个比特为什么只用一只电容
图 1 DRAM单元由访问晶体管和存储电容组成(资料技术图)
典型 DRAM 单元可抽象为一只访问晶体管加一只存储电容。字线控制晶体管是否导通,位线连接感知电路;电容有无电荷对应逻辑状态。结构紧凑是容量优势,也意味着可用信号很小且会随时间泄漏。
读之前,位线通常被预充到中间状态。字线打开后,单元电容与位线发生电荷共享,位线只向上或向下偏移一点,这个微小差值才是感知放大器真正要识别的信号。
二、读出为何会扰动原来的电荷
存储电容远小于整条位线的等效电容。两者一接通,原来的单元电压会被位线拉向预充水平,单元里的电荷状态已经不再保持读前原样。若只把差值送到外部而不恢复,下一次读就可能失去足够裕量。
图 2 字线打开后,单元电容与位线共享电荷(工程原理图创作,非实测)
· 预充:先把成对位线放到可比较的共同起点。
· 共享:字线接通单元,位线产生方向很小的电压差。
· 感知与恢复:感放把差值放大到完整电平,并通过位线重新充放存储电容。
三、感知放大器为什么既是读出器也是写回器
交叉耦合感知结构一旦检测到微小差值,就会把一侧推高、另一侧拉低,形成稳定的全幅逻辑状态。此时访问晶体管仍打开,完整电平会沿位线回到存储电容,恢复原来的逻辑。
图 3 位线微小差值被放大并在同一周期恢复到单元(仪器界面创作,非实测)
控制器为什么不能立即预充控制器数据口可以较早拿到结果,但阵列内部还要满足行激活、读、恢复和预充的先后关系。数据手册中的时序参数就是这些物理动作在接口上的约束投影。
四、刷新和读后恢复解决的不是同一件事读后恢复处理的是一次访问造成的电荷扰动,刷新处理的是即使不读,电容电荷也会随时间泄漏。温度、器件工艺和工作条件会影响保持能力,因此刷新策略必须按具体存储器与控制器规范执行。
图 4 DRAM检查界面关联ACT、READ、恢复与PRE命令窗口(工程逻辑分析界面创作,非实测)
1. 先按器件手册建立行激活到读、读到预充等控制器约束。
2. 在仿真或逻辑分析中区分数据返回时刻与银行可再次操作时刻。
3. 温度或频率改变后重新核对刷新和恢复预算。
4. 出现间歇位错时,同时查供电、终端、时序和刷新,不把所有错误归到信号完整性。
读到不等于单元已复原DRAM 读操作的核心不是把一个稳定电平复制出来,而是从电荷共享产生的微小差值中作出判决,再把被扰动的单元恢复。控制器等待的那段时间,背后是阵列真正的物理动作。
你在时序图上标出的完成点,是数据已经返回,还是该银行已经允许进入下一次状态?
暂无评论