DRAM 储存单元的读写


版本一:

DRAM(Dynamic Random Access Memory),即动态随机存储器,最常见的应用场景是电脑和手机的内存,是目前的电路系统中不可或缺的重要组成部分,本文会细致且较为形象的说明DRAM存储数据以及读取数据的全过程。
1. 单管构成的DRAM最小单元
单管DRAM是目前大容量存储器唯一的选择方案。电路构成上包括一个读写开关管和一个存储电容器,如下图所示。利用存储电容器存储数据,如果存储电容器上存有电荷,则表示存储单元存储1,否则存储O。
2

首先,要知道两个前提:其一,施加到存储电容上的电压为1/2的电源电压(Vcc/2);其二,由于电子是带负电荷,因此,电子越多处电势就越低。为了便于理清概念,我们把水库顶部电势定为0V,水库底部的电势定为Vcc。
存储单元的三个基本操作
三个基本操作分别是存储资料,写入资料以及读取资料三种。同样,便于理解,将这三种过程用水库存储放掉水来类比,稍微形象一些。
存储资料
资料存储的示意图如下所示,也就是当水库闸门关闭时(行地址线路Vth=0V),水库中的水无法流出,上游的水也无法流入,存储在水库中的水位保持不变,因此可以实现存储资料的目的。水位的高低就用高低电平来表示。
3

写入资料
资料的写入可以分为写入“0”的情形和写入“1”的情形两种。以写入0的情形来说明。
4

具体顺序是:首先,由于之前可能有资料,水库中可能是满水或者缺水空水的的状态。然后,将上游水道(列地址选路)中水位上升到满水,相当于低电位状态(列地址线路Vcc=0V)。最后,利用行地址线路控制(Vth=高电平)将上游水闸门打开,由于上游水道(列地址线路Vcc=0V)水位全满为高水位状态,因此根据水库中水位状态,会将水池填满,使得水库变为高水位(低电平状态0)。
5

类比,货物过运河水闸的情形也非常容易理解,大家自行脑补。
读取资料
DRAM存储单元中读取资料时,一般使用的列地址选路1/2VCC预充电技术。以读取0为例。
6

首先,水库中水位全满(电位0V),水道中水位先预设在2.5V;然后,打开水闸,也就是行地址线路为高电平,使得水库中的水回流到水道(列地址线路)中,由于水库中水量很小,因此只能使得水道中水位微幅上升。当感应放大器检测到水道的水位产生delta的变化时,就可以辨别出水库(电容)中资料为0。
7

其中,水位的变化为:delta=5/2(1+Cb/Cs),水道(列地址线路)的电容量大于水库(行地址线路)的容量。具体过程远比这复杂,但是通过这种类比可以了解到工作原理,够用了。
哦,对了,差了忘记了,如果没有外界水道中的水来补充水库,那么水库中的水位由于蒸发、渗透,水量会慢慢减少,最后干涸。因此,原理图中电容也是一样,需要隔一段时间检测刷新,充电,这就是动态的根本原因。

 

 

版本二:

MOSFET的控制原理——水库模型

要说明这个MOSFET的控制原理,我们借助一个水库的模型来说明。MOSFET有三个极,分别是源极(Source)、漏极(Drain)和栅极(Gate)。下图左边就是一个MOSFET的电路图,右边是我们画出的一个水库模型。
image010.jpg



图中S为源极,D为漏极,G为栅极。S极连接着电容,D级连接列地址线路,并接到数据IO,G则是控制电荷流出的阀门,连接行地址线路。电容在充电后电势会改变,这样S极的电势就会跟着改变,与D极形成电势差,而G极的电势,就决定了S极有多少电荷可以流入D极。由于电子是带负电荷,因此电子越多电势就越低。为了不至于混淆概念,我们把水池顶部电势定为0V,水池底部电势定为5V(仅举例说明,DRAM中的电容实际电压未必是5V)。当电子数量越多时,电势越低,接近0V,电子数量越少时,电势越高,接近5V。
image012.jpg

 



用水库模型说明,就是左边的水池水量升高(电容充电后),当阀门关闭时,左边的水是不会往右边流的。然后阀门打开(降低,电势升高),左边的水就可以往右边流,阀门的高度就决定了有多少水能流去右边的水道(但是在数字电路中,MOSFET只有开和关两种状态,因此下文提到的打开MOSFET就是全开);同样道理如果右边水多,阀门打开之后也可以向左边流。因此在水库模型中,电容就充当了左边的水池,而MOSFET的栅极就充当了阀门,列地址线路和IO则充当了右边的水道。

 

储存数据

MOSFET栅极电势为0V时,电容的电荷不会流出,因此数据就可以保存我们可以用2.5V为参考分界线,电容电势低于2.5V时,表示数据0,电势高于2.5V时,表示数据1。例如上一楼水库模型的左图,电容中储存的电子数高于一半的高度,电势低于2.5V,因此可以表示数据0。但以上只是理论情况,实际上电容会自然漏电,电子数量会逐渐减少,电势就会逐渐升高,当电势升高到2.5V以上时,数据就会出错,因此每隔一段时间必须打开MOSFET往电容中充电,以保持电势,这就是刷新。因此,数据的储存主要就是对电容中电势的保持操作。

写入数据

数据写入的操作分为写入0和写入1两种情况。写入前,电容原有的情况可能是高电势与低电势的状态,我们不用管它。写入0和写入1对cell的操作不尽相同,我们分别来看。

先来看写入0的操作。写入开始时,IO线路上电势为0(水道处于水位最高点),MOSFET栅极电势升高到5V(水库阀门降到最低),阀门打开,电容中的电势就跟着降低(水位升高),直到接近0V(水池被灌满),写入0完成,栅极电势降回0V,阀门关闭。
write-0.jpg



再看写入1的操作。写入开始时,IO线路上的电势为5V(水道水位为最低点),MOSFET栅极电势升高到5V(水库阀门降到最低),阀门打开,电容中的电势跟着升高(水流出并降低水位)到接近5V,写入1完成,栅极电势回到0V,阀门关闭。
write-1.jpg



读取数据

读取的时候,对漏极的电压操作跟写入有些不同。因为水道中的水比水池中的多,或者说水道的容量比水池要大得多。如果水道(漏极)的水为满或者空,在阀门打开的时候很容易出现水道的水倒灌进水池的现象,或是水池的水全部流去水道,这样就有可能导致电容中的电势状态改变,电容对应储存的0或者1也会改变。所以读取数据的时候,IO线路的电压应为1/2的满电势,即2.5V。

读取也同样分读取0和1两种情况。在读取之前,电容中的电势应该是大于或者小于2.5V的,分别代表存储了1和0。由于刷新机制的存在,应该不会允许出现等于2.5V的情况。

首先看读取0操作。电容中为低电势(假设为0V,水池为高水位),IO线路上电势升高至2.5V(这时水道水位比水池低),MOSFET栅极电势升高到5V(水库阀门降到最低),阀门打开,电容中电势升高(水位降低),但由于水道容量较大,因此水位不会升高太多,但是总归也会有个电势的变低,最终电容与IO线路上的电势都变成0-2.5V的一个中间值,并且接近2.5V(假设为2.3V)。这时候感应放大器检测到IO线路上电势低于2.5V,因此识别出0读出。
read-0.jpg



再看读取1操作。电容中为高电势(假设为5V,水池空),IO线路上电势升高至2.5V(这时候水道水位比水池高),MOSFET栅极电势升高到5V(水库阀门降到最低),阀门打开,电容中电势降低(水位升高),但由于水道容量较大,水位不会降低太多,不过多少也会降低一点(电势会升高),假设升高到2.7V。这时候感应放大器检测到IO线路的电势高于2.5V,识别出1读出。
read-1.jpg

 



以上讲述的只是从cell到内存IO线路的读写操作,至于CPU-IMC-内存的读写操作,不在本文讨论范围。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM