DRAM(Dynamic Random Access Memory),即动态随机存取存储器.
1. Storage Cell
如上图,一个DRAM的基本存储单元由4个部分组成。
Storage Capacitor,即存储电容,它通过存储在其中的电荷的多和少,或者说电容两端电压差的高和低,来表示逻辑上的 1 和 0。
Access Transistor,即访问晶体管,一般是场效应管。它的导通和截止,决定了允许或禁止对Storage Capacitor 所存储的信息的读取和改写。
Wordline,即字线,也可以叫行地址线。它决定了 Access Transistor 的导通或者截止。
Bitline,即位线,也可以叫列地址线。它是外界访问 Storage Capacitor 的唯一通道,当 Access Transistor 导通后,外界可以通过 Bitline 对 Storage Capacitor 进行读取或者写入操作。
1. 读数据时,Wordline 设为逻辑高电平,打开 Access Transistor,然后读取 Bitline 上的状态
2. 写数据时,先把要写入的电平状态设定到 Bitline 上,然后打开 Access Transistor,通过Bitline 改变 Storage Capacitor 内部的状态。
2. Memory Array
如上图,多个存储单元就可以组成一个存储矩阵了。这个存储矩阵叫做Memory Array。
如上图,读写数据时,首先要激活Wordline。
然后从bitline上读写数据。
上图Memory Array表示了4根地址线(绿色,2根行地址线,2根列地址线),通过行列的解码器来访问16个内存存储单元的Memory Array。也就是2的N次方。
对上图的Memory Array来说,没有画出地址线,我们可以分析出这个MemoryArray需要行地址线3根来产生8种组合,列地址也一样。这样6根地址线,2的6次方为64,可以访问到上图中64个bit。
3. Memory Bank
多个Memory Array合并在一起构成一个Bank。上图的bank由4个Memory Array构成,也就是说我们给出一个确定地址,可以一次访问到4个 bit。
4. Memory Device
多个bank组成一个memory device,即内存芯片。因此我们在读写DRAM时,还要给出BANK地址,因此这时,内存地址由Memory Bank地址+Memory Array地址。
因为DRAM需要一直刷新来维持数据,因此我们在读写完一个BANK上的数据后,下次会读写另一个BANK上的数据,来给上一个BANK以刷新时间,提高的读写效率。
5. Memory Rank
多个Memory device可以组成一个RANK.
每个Memory device的数据线是排列在一起分别连接在内存控制器上,而地址线是共用。也就是说,如果有4个Memory device,并且每个Memory device里的Memory array是8位的话,每个Memory device中读出8个位,一次可以读出32位个bit。
6. 原理图分析
1) 数据线连接
从上面原理图和datasheet可以看到,原理图上用了两片K4T1G164QE,这两片K4是16个IO的,所以两片K4的数据线
并排连接到CPU的数据线上,因此可以一次读取到32位数据。
2) 地址线连接
两片K4的地址线和bank线是共用的,因此如果给出一个地址,那么这个地址前两个字节从第1片读出,后两个字节从第2片
中读出,因此构成4字节32位数据。
3) 容量计算
从芯片上可以看到是1Gb,也就是128MB。
从地址线可以算出,一个芯片上有13个行地址线,10个列地址线,3个bank线,一次能读取16位。
因此,一片的总大小是2的26次方再乘以2,也就是128MB。