SDRAM 芯片的预充电与刷新操作
预充电
由于 SDRAM 的寻址具体独占性,所以在进行完读写操作后,如果要对同一 L-Bank 的另一行进行寻
址,就要将原来有效(工作)的行关闭,重新发送行/列地址。L-Bank 关闭现有工作行,准备打开新
行的操作就是预充电(Precharge)。预充电可以通过命令控制,也可以通过辅助设定让芯片在每次
读写操作之后自动进行预充电。实际上,预充电是一种对工作行中所有存储体进行数据重写,并对行
地址进行复位,同时释放 S-AMP(重新加入比较电压,一般是电容电压的 1/2,以帮助判断读取数据
的逻辑电平,因为 S-AMP 是通过一个参考电压与存储体位线电压的比较来判断逻辑值的),以准备
新行的工作。具体而言,就是将 S-AMP 中的数据回写,即使是没有工作过的存储体也会因行选通而
使存储电容受到干扰,所以也需要 S-AMP 进行读后重写。此时,电容的电量(或者说其产生的电
压)将是判断逻辑状态的依据(读取时也需要),为此要设定一个临界值,一般为电容电量的 1/2,
超过它的为逻辑 1,进行重写,否则为逻辑 0,不进行重写(等于放电)。为此,现在基本都将电容
的另一端接入一个指定的电压(即 1/2 电容电压),而不是接地,以帮助重写时的比较与判断。现在
我们再回过头看看读写操作时的命令时序图,从中可以发现地址线 A10 控制着是否进行在读写之后当
前 L-Bank 自动进行预充电,这就是上文所说的“辅助设定”。而在单独的预充电命令中,A10 则控制着
是对指定的 L-Bank 还是所有的 L-Bank(当有多个 L-Bank 处于有效/活动状态时)进行预充电,前者
需要提供 L-Bank 的地址,后者只需将 A10 信号置于高电平。
在发出预充电命令之后,要经过一段时间才能允许发送 RAS 行有效命令打开新的工作行,这个间隔被
称为 tRP(Precharge command Period,预充电有效周期)。和 tRCD、CL 一样,tRP 的单位也
是时钟周期数,具体值视时钟频率而定。
读取时预充电时序图(上图可点击放大):图中设定:CL=2、BL=4、tRP=2。自动预充电时的开始
时间与此图一样,只是没有了单独的预充电命令,并在发出读取命令时,A10 地址线要设为高电平
(允许自动预充电)。可见控制好预充电启动时间很重要,它可以在读取操作结束后立刻进入新行的
寻址,保证运行效率。
评论0