DRAM基本知识及操作系统内存管理策略
一、DRAM工作原理概述
DRAM(Dynamic Random Access Memory)即动态随机存储器,由许多重复的“单元”——cell组成,每一个cell由一个电容和一个晶体管(一般是N沟道MOSFET)构成,电容可储存1bit数据量,充放电后电荷的多少(电势高低)分别对应二进制数据0和1。由于电容会有漏电现象,因此过一段时间之后电荷会丢失,导致电势不足而丢失数据,因此必须经常进行充电保持电势,这个充电的动作叫做刷新(self-refresh),这个刷新的操作一直要持续到数据改变或者断电。因此,DRAM具有掉电易失性。
在内存中,cell按矩阵形排列,每一行(row)和每一列(column)都会有一个对应的行地址线路(word line)和列地址线路(bit line),每个cell对应一个唯一的行号和列号,即内存的地址。Bank是指内存中的一串独立的数组,每个bank可以独立控制,是一个相对独立的存储体,有自己的地址译码单元和刷新再生放大器,彼此之间互不影响,各个bank靠存储芯片上的bank地址(BA)选择。
一些术语:
- RAS: row address strobe
- CAS: column address strobe
- WE: write enable
- Address: code to select memory cell location
- DQ(I/O): bidirectional channel to transfer and receive data
- DRAM cell: storage element to store binary data bit
- Refresh: the action to keep data from leakage
- Active: sense data from DRAM cell
- Pre charge: standby state
DRAM读取过程:
- 通过地址总线将行地址传输到地址引脚;
- /RAS引脚被激活,行地址被传送到行地址门闩线路中;
- 行地址解码器根据接收到的地址数据选择相应的行;
- /WE引脚被确定不被激活,所以DRAM知道它不会进行写入操作;
- 通过地址总线将列地址传输到地址引脚;
- /CAS引脚被激活,列地址被传送到列地址门闩线路中;
- /CAS引脚还同样具有/OE引脚功能,所以Dout引脚向外传输数据;
- /RAS与/CAS都不被激活,那么进入下一周期的数据操作。
读取过程中的访问时序如下图所示:
先执行预充电(PRECHARGE)