半导体存储器用来存储大量的二值数据,它是计算机等大型数字系统中不可缺少的组成部分。按照集成度划分,半导体存储器属于大规模集成电路。
目前半导体存储器可以分为两大类:
- 只读存储器(ROM,Read Only Memory):正常工作时ROM只能读出数据,ROM中数据可以长期保存
- 随机存取存储器(RAM,Random Access Memory):正常工作时RAM中既可以读出数据也可以写入数据,断电后RAM中数据会全部丢失,具有易失性
目录
一、概述
二、RAM
(1)SRAM
1. 同步SRAM
2. DDR SRAM
(2)DRAM
1. DDR DRAM
(3)SRAM和DRAM对比
三、ROM
(1)可编程ROM
1. 一次可编程ROM(PROM)
2. 光擦除可编程ROM(EPROM)
3. 电擦除可编程ROM(E²PROM)&快闪存储器(Flash Memory)
(2)ROM性能对比
一、概述
在理解buffer之前,首先要明确存储器的概念。
半导体存储器用来存储大量的二值数据,它是计算机等大型数字系统中不可缺少的组成部分。按照集成度划分,半导体存储器属于大规模集成电路。目前半导体存储器可以分为两大类:
- 只读存储器(ROM,Read Only Memory):正常工作时ROM只能读出数据,ROM中数据可以长期保存
- 随机存取存储器(RAM,Random Access Memory):正常工作时RAM中既可以读出数据也可以写入数据,断电后RAM中数据会全部丢失,具有易失性
RAM一般用在需要频繁读写数据的场合,例如计算机系统中的数据缓存。ROM则常用于存放系统程序、数据表、字符代码等不易变化的数据。
二、RAM
RAM即随机存取存储器(RAM,Random Access Memory)。RAM中的随机指的是存储器的内容可以按照任何顺序存取,而不用管前一次存取的是哪一个位置。与ROM的最大区别就是数据易失性,一旦失去电源供电,RAM中所存储的数据会立即丢失。RAM最大的优点是可以随时快速地从其中任一指定地址读出或写入数据。
RAM又可分为静态RAM(SRAM)和动态RAM(DRAM)。
(1)SRAM
SRAM(Static Random Access Memory),静态RAM。SRAM中的存储单元相当于一个锁存器,有0和1两个稳态。
SRAM具有更多的晶体管,速度更快,但是容量较小。在此基础上还发展出了一些其他的SRAM:
- SSRAM:同步SRAM(Synchronous SRAM),更适合高速存取。SSRAM与SRAM最主要的差别是SSRAM的读写操作是在时钟脉冲节拍控制下完成,也就是具有明显的时钟脉冲输入端。
- BRAM:随机RAM(Block Random Access Memory)。
1. 同步SRAM
随着各种数据密集型应用(例如互联网中的交换机、路由器、服务器,以及通信领域的无线基站和测试设备等)对速度要求的不断提高,RAM 和其他大规模及超大规模集成电路(例如Intel的奔腾处理器)一样,近些年也得到快速发展。同步SRAM(Synchronous SRAM,SSRAM)是在 SRAM的基础上发展起来的一种更适合高速存取的RAM。
同步 SRAM 与 SRAM 最主要的差别是:
同步 SRAM的读写操作是在时钟脉冲节拍控制下完成的。因此,同步 SRAM 最明显的标志是有时钟脉冲输入端。同步SRAM在结构上最大的不同是在电路内部增加了包括地址、数据、读写控制等各种输人信号的寄存器。
所以,其他SRAM 有时候也被称为异步SRAM(Asynchronous SRAM,ASRAM)。
同步SRAM 具有的另一个特点是丛发(Burst,也称为突发)的读写操作模式。在该工作模式下,只要外部给定读写存储单元的首地址,在时钟脉冲作用下,由内部地址计数器提供首地址后的一组连续地址,就可以连续读写接下来的若干个地址单元,而不再需要外部输入地址。同步SRAM 的这种Burst模式,在连续读或写多个字时,可以减少外部地址总线的占用时间,提高读写效率。根据内部地址计数器的位数不同,Burst读写的字数可以是2、4、8个字不等。
2. DDR SRAM
高速、高密度、低功耗早已经成为 RAM 发展的永恒主题。在同步 SRAM 之后,各大RAM 厂商
又先后开发出:
- 双倍数据传输率(Double Data Rate,DDR)SRAM
- 四倍数据传输率(Quad Data Rate,QDR) SRAM
上述同步 SRAM 只在时钟的上升沿传输数据,并且共用读写数据总线,读和写只能分时进行。这种同步 SRAM 也称为单倍数据传输率(Single Data Rate,SDR)同步 SRAM。
DDR 同步SRAM 是在同步 SRAM 基础上经过改进,在每个时钟周期的上升沿和下降沿各传输一次数据,这样数据传输效率就提高了一倍,但是读写仍不能同时进行。
QDR 同步SRAM 进一步改进了结构,为读和写操作分别提供独立的接口,不但在每个时钟周期的上升沿和下降沿共传输两次数据,而且每次读写能够同时进行,避免了数据总线的争抢,使数据传输效率比同步 SRAM 提高了两倍。
(2)DRAM
DRAM(Dynamic Random Access Memory),动态RAM。由于在DRAM电路中漏电流的存在,电容器上存储的数据(即电荷)不能长久保存,因此必须定期给电容补充电荷,以避免存储的数据丢失,这种操作称为DRAM的刷新(Refresh)或者再生。
与SRAM的发展类似,DRAM也有同步DRAM(Synchronous DRAM,SDRAM)、DDR同步DRAM和QDR 同步DRAM,而且同样具有Burst的特性。由于DRAM的存储单元结构简单,其集成度远高于SRAM,所以在同等容量情况下,DRAM会更加廉价。
目前,改进型DDR Ⅱ(二代)和DDR Ⅲ(三代)同步DRAM已成为个人电脑的主流内存。
1. DDR DRAM
我们经常提到的DDR其实就是DDR DRAM(Double Data Rate Synchronous Dynamic Random Access Memory)双倍速率同步动态随机存储器,也就是双倍速率同步DRAM。DDR SDRAM 在系统时钟的上升沿和下降沿都可以进行数据传输,所以其数据传输速度为系统时钟频率的两倍,由于速度增加,其传输性能优于传统的SDRAM。
与SDRAM相比,DDR运用了更先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步。DDR使用了DLL(Delay Locked Loop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。
从外形体积上DDR与SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚距离。但DDR为184针脚,比SDRAM多出了16个针脚,主要包含了新的控制、时钟、电源和接地等信号。DDR内存采用的是支持2.5V电压的SSTL2标准,而不是SDRAM使用的3.3V电压的LVTTL标准。由于DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。
(3)SRAM和DRAM对比
SRAM基本结构图:
DRAM基本结构图:
从结构上看,与SRAM 相比,DRAM只有一个电容一个晶体管,刷新需要时间,速度慢,容量较大。
从DRAM和SRAM的最小存储单元bit结构可以看出其物理区别:
- DRAM bit由一个晶体管和一个电容组成,bit信息保存在电容里
- SRAM bit由多个(典型6个)晶体管组成,bit信息保存在晶体管里,故SRAM每bit要比DRAM成本高很多
所以在价格上,DRAM更便宜,SRAM更贵,所以SRAM更适合小块数据的存储,DRAM更加适合大数据存储。
关于刷新:
- DRAM bit信息随着电容发生漏电而消失,所以一般需要64ms充电一次,这是DRAM名字的由来。读DRAM的过程会导致电容漏电,每次读需要充电一次(需要刷新)
- SRAM则不需要充电(不需要刷新)
另外,与SRAM相比,DRAM的读命令需要消耗更多的时间,这是由于DDR的数据组织结构、高容量、高时钟频率的需求,以及及时充电的要求。DDR的一次读写操作需要十几个甚至几十个时钟周期。不过DDR提供了burst,连续多个数据可以只通过一次命令完成,平均下来,一个WORD的数据大概需要大于1个时钟周期的时间。
相比于DDR,SRAM的访问就简单多了,通常SRAM只需要一个时钟周期来完成随机地址的读写操作。
总结:
- DRAM:只有一个电容一个晶体管,bit信息保存在电容里,需要刷新,速度慢,容量大,更便宜;DDR的读写消耗的平均时钟周期数要更多(1~n,视DDR controllerDE 设计和burst命令等因素决定)
- SRAM:由多个(典型6个)晶体管组成,bit信息保存在晶体管里,不需要刷新,速度快,容量小,更贵;SRAM读写平均消耗的时钟周期一般为1。
需要特别指出的是,DRAM的频率与SRAM频率一般是不同的,所以,从访问周期数并不能得出DRAM速度快还是SRAM快。
三、ROM
ROM即只读存储器(ROM,Read Only Memory)。ROM常用于存放系统的运行程序或固定不变的数据。此外,由于 ROM 是一种组合逻辑电路,因此可以用它来实现各种组合逻辑函数,特别是多输入、多输出的逻辑函数。在设计实现时,只需要列出真值表,将逻辑函数的输入作为地址,输出作为存储内容,将内容按照地址写入ROM即可。
根据是否允许用户对ROM写入数据,又可将ROM分为:
- 固定ROM(或称为掩模ROM)
- 可编程ROM(PROM,Programmable Read Only Memory)
(1)可编程ROM
可编程ROM(PROM)又可以进一步划分为:
- 一次可编程ROM(PROM)
- 光擦除可编程ROM(EPROM,Erasable Programmable Read Only Memory)
- 电擦除可编程ROM(E²PROM,Electrical Erasable Programmable Read Only Memory)
- 快闪存储器(Flash Memory)
1. 一次可编程ROM(PROM)
一次可编程存储器 PROM 的存储阵列由带金属熔丝的二极管构成。在出厂时,PROM 存储内容全为1(或者全为0),用户可以根据要写入的数据,利用编程软件生成编程数据(也称为熔丝图),再通过通用或专用的编程器,根据熔丝图将某些单元的熔丝烧断,来改写存储的内容。由于熔丝烧断后不能恢复,因此 PROM 只能改写一次,即只有一次可编程。
2. 光擦除可编程ROM(EPROM)
光擦除可编程存储器(EPROM)的存储阵列由SIMOS管构成,其数据写入需要通用或专用的编程器。EPROM 芯片的封装外壳装有透明的石英盖板,用紫外线或者x射线照射15到20分钟便可擦除其全部内容。擦除后可重新写入数据。
如今大多数 PROM 实际上是不装透明石英盖板的EPROM,因而无法擦除,只能写入一次,也称为OTP(One Time Programmable)EPROM。
3. 电擦除可编程ROM(E²PROM)&快闪存储器(Flash Memory)
电擦除可编程存储器(E²PROM)和快闪存储器阵列分别由 Flotox MOS 管和快闪叠栅 MOS 管构成。E²PROM既具有 ROM 的非易失性,又具有写入功能。改写的过程就是电擦除过程(在线擦除,即不需要将芯片从电路系统中取出,可重复擦写1 万次以上),改写以字为单位进行。
目前,大多数 E²PROM 芯片内部都备有升压电路。因此,只需提供单电源供电,便可进行读、擦除、写操作,这为数字系统的设计和在线调试提供了极大方便。与 EPROM 相比,E²PROM 的存储单元电路复杂,所以集成度低。
快闪存储器的擦除和写入是分开进行的,通过在快闪叠栅 MOS 管的源极加正电压完成擦除操作,而在 MOS 管的栅极加高的正电压完成写入操作。因此在写入前,首先要进行擦除。由于快闪存储器的存储单元结构简单(只需要一个快闪叠栅 MOS 管),所以集成度较 E²PROM 高。
(2)ROM性能对比
总结来说,可编程 ROM 的发展实际上已经改变了 ROM 最初只读存储器的含义,而是既有读功能,又有写功能。特别是快内存储器具有的大容量、可读写、非易失性特点,使之广泛应用于各种数码产品中。
几种ROM的性能对比:
快闪存储器 | PROM | EPROM | E²PROM | |
非易失性 | √ | √ | √ | √ |
高密度 | √ | √ | √ | × |
单管存储单元 | √ | √ | √ | × |
系统可写 | √ | × | × | √ |