【DRAM】DRAM基本结构与原理
DRAM(Dynamic Random Access Memory),即动态随机存储器,也就是我们常说的计算机内存,在现代计算机系统和SOC系统中有很重要的作用。本文主要对DRAM中的一些基本原理进行总结,目的是为了更好理解DDRC(Double Data Rata DRAM controller)中的时序关系与时序参数。
一、DRAM基本电路结构
1.1基本存储单元cell
1.1.1 3T1C与1T1C
DRAM基本电路结构如图所示:
图中的基本结构单元是1T1C(1 Transistor -1 Capacitor)。其工作的大致原理是:当Word Line选通时,晶体管导通,从而可以从Bit Line上读取存储在电容器上的位信息。
而在早期的DRAM中的基本结构却不是这样的,而是3T1C(3 Transistor -1 Capacitor)如下图所示:
使用三个晶体管作为开关,这样设计的优点是:当读取存储在电容上的位信息时,不会影响电容上的电荷,从而读后不需要对单元进行precharge。关于precharge的原理在下文会有详细介绍,这里我们只要了解3T1C的结构读存储器不会破坏其存储在DRAM中的信息。但是由于1T1C的结构比3T1C的结构面积节省很多,因此现代DRAM中常用的还是1T1C结构。
此外由DRAM基本电路结构图,我们可以知道DRAM的信息是存储在在电容当中,而电容中的电荷会因为漏电流存在原因而逐渐漏掉,因此需要不断refresh(刷新),这也是DRAM称为动态的原因。例如,90nm工艺下,DRAM的cell单元的电容量是30pf,它的漏电流是1fA,漏光的时间是随着温度的变化而变化的。现在的DRAM的刷新时间一般是32ms或者64ms。
1.1.2 堆电容(Stacked Capacitor)与沟电容(Trench Capacitor)
下面我们从更底层来了解DRAM存储电容,关于存储电容在现代业界也没有统一,仍然存在两大阵营,分别是堆电容(Stacked Capacitor)与沟电容(Trench Capacitor),像三星这样的大公司使用是前者。因为这两种电容在任何DRAM中都是存在的而且是需要考虑到的,下面我们来分别介绍一下这两种电容。
两种电容原理图如下所示:
如上图所示:trench电容是存在于深入到硅下面的,而stacked电容是存在于不同的多晶硅层中间。这两种电容分别有自己的优缺点:
trench电容是深入到硅下面的,相当于从二维到三维的拓展,可以保证在相同的电荷容量下,面积小,成本低,由于其表面平坦更易制造,使它更易集成到逻辑优化工艺技术里(这里我认为就是通用的电路设计里)。由于深入到硅下面的,在上层的逻辑电路结构形成之前就存在,与上层无电路关,有利于电路优化。
关于stacked电容,由于是存在不同的多晶硅层之间的,因此bitline与多晶硅之间也会存在电容,且这种电容属于stacked 电容,如下图所示。
由于每个Bitline上连着很多并联的Bitline Capacitor,因此存储电容大小远比Bitline 电容小,大约只有1/10。所以当transistor选同时,存储在存储电容上的电荷传输到Bitline时,Bitline上的电压变化很小,需要使用差分比较放大器(此差分比较放大器非模拟集成电路中的差放,而是通过跟参考电压作对比)。
1.2感应放大器
1.2.1 Open Bitline与Folded Bitline
差分比较放大器需要使用一对Bitline来感知DRAM中的信息,而且要保证用来做对比的两个Bitline在电压与电容值上是相互匹配的,所以他们的走线长度与连接的cell数(也就是并联的Bitline 电容数)必须非常接近。有两种常用的选择方法:
Open bitlines:差分比较器的两个输入是来自两个不同的array。
Folded bitlines:差分比较器的两个输入是来自两个相同的array。
两种方式的原理图,如下图所示:
Open Bitlines结构占用的面积比Folded Bitlines结构小,因为一个array只需要输出一个bitline,而后者需要输出两个bitline到比较器。但是Open Bitlines结构存在缺点:
需要在DRAM的边界上使用假(dummy)array,为了满足bitlines pairs在长度和电容上都是匹配的要求;
因为bitlines是来自不同的array,所以其受到噪声影响更大。
在现代DRAM中Open Bitlines结构几乎不用了,但随着工艺的发展,理论上Open Bitlines的优点更大。
1.2.2 差分感应放大器
A. 作用
1)将bitline上的微小电压变化放大,并转化成数字信号。
2)将被读的bit位所在的那一行基本单元cell的值重新存入cell,因为在transistor打开时,存储在存储电容中的电荷将于bitline共享了,存储在存储电容中的电荷变少了,因此需要将值再次存入cell(无论该bit是否被读,只要是同一行的都需要进行该步操作)。
3)临时存储器的作用,临时存储bitline上的值。
B. 电路结构
整个电路结构如上图所示,具体信号与电路说明见下文的DRAM读写操作分析。
二、DRAM读写操作
DRAM读操作主要分为四种操作:precharge、access、sense、restore。具体操作如下:
Ø Precharge
EQ电路,通过EQ信号使能将bitline上电压变为Vref通常为Vcc/2。
Ø Access
Wordline信号选通transistor,使得bitline上电压发生微小变化,使得PFet与NFet的传导性不同。
Ø Sense
由于上下电路的传导性不同,sense电路使低电压更低,直至变为“0”;使高电压更高,直至变为“1”。
Ø Restore
Bitline上的高、低电平可以通过transistor给存储电容充电,且对于读DRAM操作,CSL有效,WE无效,因此bitline上的高低电平可以传输到output上。
对于写DRAM操作,WE有效,input信号可以通过如下图所示的通路给存储电容充放电。
这里我们看到了两根bitline线,若一个列数为512的DRAM确实有1024根bitline线,只是对于奇数行与偶数行所选通的cell是不同列的(这里的类是下图左中列,而在实际电路中它们的列是相同的),但是输出还是512根线。