Menu Close

随机存取存储器 RAM的结构与原理

由于随机存取存取器RAM读写方便,读写速度快等优点在计算机内存,临时数据存储,控制及通信中的缓冲器等方面获得了广泛的应用。RAM又分为主要的两大类型,一类是静态RAM,又称为SRAM;另一类为动态RAM,又称为DRAM。本节及后续课程就以这两种基本类型展开讨论。

  1. 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)连通。位线用于读或写基本单元保存的状态。两条取反的位线有助于改善噪声容限。

IMG_256

    图1  RAM的单元结构示意图

  • 存储单元等效电路

    • 非门等效电路,图1中 M1,M2可以经过简化等效为非门电路,如图2所示。M3,M4同样也可以等效为非门电路。

%title插图%num

图2 非门等效电路

    • RS 触发器模型
        1. 逻辑符号图

File:SR Flip-flop Diagram.svg

图3 RS触发器

    • RS触发器功能表

表1

%title插图%num

4MOS管RS触发器等效电路

经过分析MOS管M1,M2,M3,M4可以等效为图4的RS触发器等效模型。

%title插图%num

图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的译码几乎没有区别。

%title插图%num

图5 SRAM存储单元改进模型示意图

  • SRAM的特点

    • 可读可写,读写可以随机进行,
    • 无需擦除/编程命令,既可以写操作,
    • 地址访问可以随机给出,
    • 掉电数据丢失,不能永久性数据存储器使用,
    • 在不掉电的情况下数据稳定,不需要刷新(相对DRAM)。
  • SRAM 的读写接口

SRAM是静态的随机存取存储器,由于采用触发器结构,因此在不掉电的情况下,数据是稳定可靠的,因此SRAM的使用只有读写过程,非常接单。在读写时相关的信号为Address, #OE, #CE,#WE以及Data等信号线。

    • 读时序:

在读数据时,#CE,#OE为低,#WE为高,地址Address对应的数据Data在经过一定的延迟后从SRAM输出到数据总线上,在#OE的上升沿处,数据稳定,如图6所示。

%title插图%num

图6 SRAM的读时序

    • 写时序:

在写数据时,#CE,#WE为低,#OE为高,输出数据Data在经过一定的延迟后输出到数据总线上,在#WE的上升沿处,数据应保持稳定。如图7所示。

%title插图%num

图7   SRAM写时序

2. DRAM的工作原理

动态存储器 DRAM(Dynamic RAM)的存储单元是由 一个MOS管加一个容量极小的电容组成。如图8所示。当行选线X为高时,MOS管T导通,位线B的电平由电容C上的电压决定。此时电容C上的电压如果为高,则在位线B上就会有高电平输出;电容C上的电压为低,则在位线B上就会有高电平输出。这种结构相对于SRAM采用6管结构(图1),有着非常明显的优势,(1)使用的元器件少,同等面积集成度高(2)同等容量,占用的面积小,功耗低。

%title插图%num

图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的读写又分为字/字节读写和页面读写两种操作。下面将分别介绍这两种操作方式。

%title插图%num

图9   DRAM的存储器的基本结构框图

  • DRAM 字节/字操作时序

DRAM 的操作时序如图8,分为读和写周期两个不同的操作时序。

%title插图%num

图10 DRAM的存储器操作时序

    • 读时序

行地址选通: RAS#为低电平,选通行地址

列地址选通: CAS#为低电平,选通列地址

读数据: OE#为低电平,在OE#为低电平时数据输出。

RAS#,CAS#,OE# 需满足建立和保持时间

    • 写时序

行地址选通: RAS#为低电平

列地址选通: CAS#为低电平

写数据:WE#为低电平

RAS#,CAS#,WE# 同样需满足建立和保持时间。

有关建立及保持时间的概念请参照时序约束与优化部分章节的内容。

    • DRAM 的页操作时序(行操作)

如图11 RAS# 行数据选通线RAS#在整个页面数据读写期间有效,即每次操作一行数据。

%title插图%num

图11  DRAM的存储器页操作时序

图11中,行地址只给一次,CAS#在每个数据的读写提供列选通信号,在整体读写期间RAS#保持低电平。在多个有顺序的数据读取与写操作时,页操作较好的提高读写效率。

    • DRAM的刷新

如图12,给定行地址及行选通信号,进行行刷新操作,刷新时间间隔一般为15.6us 。这里只是示意图,真正的操作还要先写刷新命令,在状态机的控制下进行,后续会结合DDR3 SDRAM 进项介绍。

%title插图%num

图12 页面刷新

总结:本节内容主要讲解了SRAM与DRAM的结构与原理,并对这两类的读写过程做了简单介绍,在后续的课程中会结合具体器件,详细介绍SRAM与DRAM的读写及使用技巧。

 

 

Posted in FPGA, FPGA, 元器件, 存储器, 教材与教案, 文章, 资料区

发表评论

相关链接