DRAM动态存储器

动态RAM(Dynamic Random Access Memory,DRAM)

存储元工作原理

在DRAM中,每个记忆单元由一个电容和一个开关电路组成,主要的作用原理是利用电容内存储电荷的多寡来代表一个二进制比特(bit)是1还是0。

由于晶体管会有漏电流的现象,导致电容上所存储的电荷数量并不足以正确的判别数据,进而导致数据毁损。因此对于DRAM来说,周期性地充电是一个不可避免的条件。由于这种需要定时刷新的特性,因此被称为“动态”存储器。相对来说,静态存储器(SRAM)只要存入数据后,即使不刷新也不会丢失记忆。

与SRAM相比,DRAM的优势在于结构简单——每一个比特的资料都只需一个电容跟一个晶体管来处理,相比之下在SRAM上一个比特通常需要六个晶体管。正因这缘故,DRAM拥有非常高的密度,单位体积的容量较高因此成本较低。但相反的,DRAM也有访问速度较慢,耗电量较大的缺点。

与大部分的随机存取存储器(RAM)一样,由于存在DRAM中的资料会在电力切断以后很快消失,因此它属于一种易失性存储器(volatile memory)设备。

四管DRAM存储器:

  • 图为由一个MOS晶体管和电容器组成的单管DRAM记忆电路,MOS管作为开关,电容器存储信息,电荷满表示1,电荷空表示0.

  • 写入操作:输出缓冲器和刷新缓冲器关闭,输入数据送到存储元位线上,行选线为高打开MOS管,位线上的信号对电容器进行充放电过程,实现写入操作。

  • 读出操作:写入缓冲器和刷新缓冲器关闭,输出缓冲器和行选线为高打开MOS管,电容器进行充放电,信号通过位线送到输出端,实现读出操作。

  • 刷新操作:读出过程破坏电容上存储的信号,要重新写入,即刷新。读出过程可以完成刷新,读出信号后通过刷新缓存器重新对电容充放电,实现重新写入数据。

逻辑结构

6管SRAM 功耗加大,MOS管过多,存储密度低,单位容量成本高,主要用于CPU内部的cache,目前计算机内存普遍采用的是单管DRAM技术,这种结构中存储体制包括一个MOS管和一个电容,利用电容是否带电荷表示数据,假设有电荷表示1,没电荷表示0。 电容具有缓存电荷的作用,可以将数据保持一段时间,但泄露电流的存在电荷总会丢失,为避免数据丢失,DRAM需要定时动态给有电荷的电容补充电荷,这就是DRAM的刷新操作。

再来看看DRAM的读操作,DRAM电容上的数据读出相对SRAM较为复杂,读出之前首先需要进行预充电,利用预充电路将两侧位线D,D上的电压预充至于vcc/2,然后开始访问操作,给出行选通信号,存储电容会和位线上的几声电容进行电荷重分配,注意什么叫寄生电容就是本没有设计电容,但由于位线连接了很多MOS管,实际存在的电容,这个寄生电容的容量通常是存储电容的10倍,由于电荷的重新分配,如果存储电容原来有电荷,则位线D上的电容会大于,否则会小于,这样D上就存在微软的电压差。

第3步就是信号检测,中间蓝色部分的跷跷板电路会迅速将电压差扩大,让高电压一侧变成逻辑1,低电压一次编程逻辑0.

第4步是数据恢复,逻辑1会给存储电容进行充电,这也是数据刷新的过程,避免了数据读出时电荷的损失,注意一个行选通可以刷新一行上所有的存储单元,DRAM刷新是按行刷新。

第5步才进入数据读出阶段,给出列选通,数据经过差分放大电路读出。

注意整个访问过程,行列选通是分时给出的,所以再实际封装DRAm电路时行列地址复用,这样可以减少引脚数。

写入过程也有和读操作类似的前4步,所以写入过程也可以进行行刷新。 最后一步数据变成输入,将逻辑0,和1直接写入存储电容即可。

因为DRAM存储密度大,所以引脚会不够用。采用分时复用地址线的策略,第一次送出行地址,第二次送出列地址。所以需要行地址选中信号RAS和列地址选中信号CAS,还需要地址锁存器来保存之前的地址

DRAM读写时序

需要注意的是先给出行地址和列地址之后才能读写数据,RAS与CAS信号在对应时间段生效

DRAM刷新策略

集中刷新

每一个刷新周期中集中一段时间对DRAM的所有行进行一次刷新,对于一次刷新周期来说,一般前半段时间由来读写操作,后面留出一部分时间专门用于刷新,且刷新和读写互斥,故会出现一段时间无法进行读写,称为死区。

分散式刷新

刷新时间被均匀地分配到刷新周期里面,无死区,但是刷新次数过多,产生很大无用刷新。

分散刷新与集中刷新相结合(异步刷新)

将刷新时间划分成几块,每小块进行集中刷新,宏观开起来又是分散式刷新,虽然还是存在死区,但是将刷新安排在指令译码阶段,就不会出现 “死区”。

DRAM vs SRAM

DRAM

SRAM

通常用于主存

通常用于cache

晶体管数量少

晶体管数量多

每2-8ms需要刷新

不需要刷新

读操作是破坏性的,需要回写(write-back)

读操作不是破坏性的

存储密度大

访问速度快

一组地址线分时复用(引脚不够)

两组地址线

ROM只读存储器

掩模式只读存储器

在芯片的制造过程中就编好程序,使用时只能读出不能修改

优点:可靠性高,集成度高,价格便宜,适合大批量生产

缺点:不能重写

一次编程只读存储器 - PROM

出厂时所有存储元均制成0,用户根据自己的需要把存储元改为1。此改变是一个不可逆的过程(如把熔丝烧断或击穿PN结)

可擦写ROM - EPROM

高压写入 紫外线擦出

电可擦写ROM - EEPROM E^2PROM

Electrically Erasable Programmable ROM

易失性半导体存储器 VOLATILE

DRAM

FPM DRAM (Fast Page Mode RAM)

EDO DRAM (Enhanced Data Out DRAM)

SDRAM (Synchronous DRAM)

  • PC66 PC100 PC133 168 pin DDR

SDRAM (double data rate synch. DRAM)

  • PC1600 PC2100 PC2700 PC3200 184 pin DDR200 DDR266 DDR333 DDR400 DDR600

  • DDR5 SDRAM 第五代双倍资料率同步动态随机存取存储器

RDRAM (Rambus DRAM)

SRAM

非易失性半导体存储器 NON-VOLATILE

ROM (read only memory)

PROM (Programmable ROM)

EPROM (Erasable PROM)

EEPROM (Electrically Erasable PROM)

NVRAM (Non-volatileRAM)

BRAM (Battery-backup RAM)

FERAM (FerroelectricRAM)

MRAM (Magnetoresistive RAM)

PCRAM (Phase changed RAM)

FLASH闪速存储器

闪存分两类:

  • NOR闪存

    • 擦除写入时间较长。能够随机存取。适用于存储偶尔需要修改的程序代码

  • NAND闪存

    • 擦除写入速度快,有较高的密度和较低的位成本。更多的擦除次数。只允许顺序存取数据。适用于高容量存储设备,如U盘

闪速存储器是目前唯一具有大容量、非易失性、低价、可在线改写、较高速度的存储器

FLASH比SRAM成本低,比SRAM集成度高,信息不易失

擦写次数和速度逊于DRAM,不能取代DRAM

闪存可以按照区块sector或页面page组织内容,能够通过不同的命令进入不同的状态(如整片擦除、页面擦除、整片编程等)

并行存储器

双端口存储器

拥有两组相互独立的读写控制线、地址线和数据线,提供了两个相互独立的端口(左端口与右端口)

当两个端口读写的地址不同时读写操作不会产生冲突。当地址相同时,为了解决冲突,设置了BUSY标志线,由内部逻辑部件判断哪个端口优先操作,而另一个端口的BUSY设置成有效,延迟读写操作

多模块存储器

由若干个模块组成的主存储器是线性编址的。编址方式有两个:

  • 顺序方式

数据顺序放在链式连接的存储器中

只能串行访问。某一模块故障不影响其他模块。增加模块可扩充存储器容量

  • 交叉方式

数据交叉放在不同存储器中

假设CPU先给M0发出了读信号,M0需要时间(一个存储周期)去准备数据,此时CPU可以给其他存储器发送读信号,等CPU回来接收M0的数据时M0已经准备好数据了。流水线操作,提升效率和存储器带宽.

四模块交叉存储器结构框图

假设模块存取一个字的存取周期为T,总线传送周期(即在两个模块之间转移的时间)为t,那么令m = T / t称为交叉存取度,显然存储器的交叉模块数量应该等于交叉存取度m,以此实现效率最大化.

交叉方式连续存取m个字所需的时间为T + (m - 1)t,而顺序方式存储器连续读取m个字需要时间为mT。以此可以计算出带宽.

参见-知乎:DRAM工作原理

Last updated

Was this helpful?