由于随机存取存取器RAM读写方便,读写速度快等优点在计算机内存,临时数据存储,控制及通信中的缓冲器等方面获得了广泛的应用。RAM又分为主要的两大类型,一类是静态RAM,又称为SRAM;另一类为动态RAM,又称为DRAM。本节及后续课程就以这两种基本类型展开讨论。
-
SRAM的工作原理
-
六管SRAM的原理
-
SRAM是可读可写的静态随机存储器,最基本的原理由六个MOS管构成,如图1所示。六管指的是由六个MOS管组成,如图1中的M1、M2、M3、M4、M5、M6。
SRAM中的每1bit存储在由4个场效应管(M1, M2, M3, M4)构成两个交叉耦合的反相器中。另外两个场效应管(M5, M6)是用于读写的位线BL(Bit Line)控制开关。访问SRAM时,字线(Word Line)加高电平,M5与M6开通,把基本单元与位线(Bit Line)连通。位线用于读或写基本单元保存的状态。两条取反的位线有助于改善噪声容限。
图1 RAM的单元结构示意图
-
存储单元等效电路
- 非门等效电路,图1中 M1,M2可以经过简化等效为非门电路,如图2所示。M3,M4同样也可以等效为非门电路。
图2 非门等效电路
-
- RS 触发器模型
-
-
-
- 逻辑符号图
-
-
图3 RS触发器
-
- RS触发器功能表
表1
4MOS管RS触发器等效电路
经过分析MOS管M1,M2,M3,M4可以等效为图4的RS触发器等效模型。
图4 RS触发器等效模型
-
-
SRAM 存储单元的改进模型
-
改进型SRAM的结构单元:由于图1中M1,M2,M3,M4组成的触发器模型为推拉式的模型,在修改存储单元的数据时(触发器翻转)会引起较强的电流,这样不仅功耗增加,也会加速器件的老化,降低使用寿命。
目前在真正的SRAM的实现中,T1、T2、T3、T4并不是采用推拉驱动的方式,而是采用如图5所示的在T3, T4的栅极加固定电压VGG,形成固定上拉效果,将状态翻转时的电流限制在一定范围内,这样在数据写入时不会形成较强的冲击电流。最终通过X,Y地址译码选择,读出或写入单元内的数据。
从图5可以清楚的看出行选择线X,列选择线Y,位线B及字选线之间的关系。在地址译码方面与MASK ROM的译码几乎没有区别。
图5 SRAM存储单元改进模型示意图
-
SRAM的特点
- 可读可写,读写可以随机进行,
- 无需擦除/编程命令,既可以写操作,
- 地址访问可以随机给出,
- 掉电数据丢失,不能永久性数据存储器使用,
- 在不掉电的情况下数据稳定,不需要刷新(相对DRAM)。
-
SRAM 的读写接口
SRAM是静态的随机存取存储器,由于采用触发器结构,因此在不掉电的情况下,数据是稳定可靠的,因此SRAM的使用只有读写过程,非常接单。在读写时相关的信号为Address, #OE, #CE,#WE以及Data等信号线。
-
-
读时序:
-
在读数据时,#CE,#OE为低,#WE为高,地址Address对应的数据Data在经过一定的延迟后从SRAM输出到数据总线上,在#OE的上升沿处,数据稳定,如图6所示。
图6 SRAM的读时序
-
-
写时序:
-
在写数据时,#CE,#WE为低,#OE为高,输出数据Data在经过一定的延迟后输出到数据总线上,在#WE的上升沿处,数据应保持稳定。如图7所示。
图7 SRAM写时序
2. DRAM的工作原理
动态存储器 DRAM(Dynamic RAM)的存储单元是由 一个MOS管加一个容量极小的电容组成。如图8所示。当行选线X为高时,MOS管T导通,位线B的电平由电容C上的电压决定。此时电容C上的电压如果为高,则在位线B上就会有高电平输出;电容C上的电压为低,则在位线B上就会有高电平输出。这种结构相对于SRAM采用6管结构(图1),有着非常明显的优势,(1)使用的元器件少,同等面积集成度高(2)同等容量,占用的面积小,功耗低。
图8 DRAM存储单元示意图
-
DRAM 的读写:
-
DRAM读时序
-
行选线X选通该单元后,电容C的电平就会和位线B的电平一致,如果读/写控制线为读,此时将会单元内存储的逻辑(0/1)输出到Do上。由于采用灵敏放大输出缓冲器,因次对电容C上的电荷吸收很小,因此可以保持多次使用的过程。
-
-
DRAM写时序
-
同样当该单元选通后,如果读/写逻辑是写操作WE#为低,此时DI的电平就会改写存储单元内容,对电容C进行充放电。由于电容的容量很小,相对于SRAM充放电的电流很小,因此动态功耗比SRAM小很多。
思考题: 什么是静态功耗?什么是动态功耗? FPGA或MCU芯片的静态和动态功耗是如何评估的?
-
-
DRAM的刷新:
-
由于C的容量很小,在读以及非选通时电容C都存在放电回路,因此存储在C上的电荷会逐渐放掉(C上高电平逐降低),或C在低电平时会逐渐充电。失去原来高低电平的冗余。因此DRAM在设计时就采用了刷新回路。刷新回路采用定时的方式在该单元为空闲时刷新。刷新采用读+回写的方式。目前DRAM的刷新方式有自动和手动两种。后续课程结合实例讲解。
-
DRAM的内部结构及读写控制
图7展示了DRAM内部结构功能框图,行列地址译码与NAND FLASH 类似。但是DRAM与SRAM相比又分离出RAS# 与CAS#两个选通信号。其中#RAS( Row Address Strobe)为 行地址锁存。#CAS( Column Address Strobe)为列地址锁存。
正是有了这两个信号,才使得DRAM的地址线得到复用,大幅度减少了地址线引脚。DRAM的读写又分为字/字节读写和页面读写两种操作。下面将分别介绍这两种操作方式。
图9 DRAM的存储器的基本结构框图
-
DRAM 字节/字操作时序
DRAM 的操作时序如图8,分为读和写周期两个不同的操作时序。
图10 DRAM的存储器操作时序
-
-
读时序
-
行地址选通: RAS#为低电平,选通行地址
列地址选通: CAS#为低电平,选通列地址
读数据: OE#为低电平,在OE#为低电平时数据输出。
RAS#,CAS#,OE# 需满足建立和保持时间
-
-
写时序
-
行地址选通: RAS#为低电平
列地址选通: CAS#为低电平
写数据:WE#为低电平
RAS#,CAS#,WE# 同样需满足建立和保持时间。
有关建立及保持时间的概念请参照时序约束与优化部分章节的内容。
-
-
DRAM 的页操作时序(行操作)
-
如图11 RAS# 行数据选通线RAS#在整个页面数据读写期间有效,即每次操作一行数据。
图11 DRAM的存储器页操作时序
图11中,行地址只给一次,CAS#在每个数据的读写提供列选通信号,在整体读写期间RAS#保持低电平。在多个有顺序的数据读取与写操作时,页操作较好的提高读写效率。
-
-
DRAM的刷新
-
如图12,给定行地址及行选通信号,进行行刷新操作,刷新时间间隔一般为15.6us 。这里只是示意图,真正的操作还要先写刷新命令,在状态机的控制下进行,后续会结合DDR3 SDRAM 进项介绍。
图12 页面刷新
总结:本节内容主要讲解了SRAM与DRAM的结构与原理,并对这两类的读写过程做了简单介绍,在后续的课程中会结合具体器件,详细介绍SRAM与DRAM的读写及使用技巧。