第6章 半导体存储器 6.1 概述 6.2 随机读写存储器(RAM) 6.3 只读存储器(ROM) 6.4 存储器的扩展 第6章 半导体存储器 6.1 概述 6.2 随机读写存储器(RAM) 6.3 只读存储器(ROM) 6.4 存储器的扩展 6.5 几种新型存储器简介
6.1 概 述 6.1.1 存储器的分类 存储器是计算机用来存储信息的部件。按存取速度和用途可把存储器分为两大类:内存储器和外存储器。把通过系统总线直接与CPU相连、具有一定容量、存取速度快的存储器称为内存储器,简称内存。内存是计算机的重要组成部分,CPU可直接对它进行访问,计算机要执行的程序和要处理的数据等都必须事先调入内存后方可被CPU读取并执行。把通过接口电路与系统相连、存储容量大而速度较慢的存储器称为外存储器,简称外存,如硬盘、软盘和光盘等。外存用来存放当前暂不被CPU处理的程序或数据,以及一些需要永久性保存的信息。
外存的容量很大,如CD–ROM光盘可达650 MB,硬盘则可达几GB甚至几十GB,而且容量还在不断增加。通常将外存归入计算机外部设备,外存中存放的信息必须调入内存后才能被CPU使用。 早期的内存使用磁芯。随着大规模集成电路的发展,半导体存储器集成度大大提高,成本迅速下降,存取速度大大加快,所以在微型计算机中,目前内存一般都使用半导体存储器。
6.1.2 半导体存储器的分类 从应用角度可将半导体存储器分为两大类:随机读写存储器RAM(Random Access Memory)和只读存储器ROM(Read Only Memory)。RAM是可读、可写的存储器,CPU可以对RAM的内容随机地读写访问,RAM中的信息断电后即丢失。ROM的内容只能随机读出而不能写入,断电后信息不会丢失,常用来存放不需要改变的信息(如某些系统程序),信息一旦写入就固定不变了。 根据制造工艺的不同,随机读写存储器RAM主要有双极型和MOS型两类。双极型存储器具有存取速度快、集成度较低、功耗较大、成本较高等特点,适用于对速度要求较高的高速缓冲存储器;MOS型存储器具有集成度高、功耗低、价格便宜等特点,适用于内存储器。
MOS型存储器按信息存放方式又可分为静态RAM(Static RAM,简称SRAM)和动态RAM(Dynamic RAM,简称DRAM)。SRAM存储电路以双稳态触发器为基础,状态稳定,只要不掉电,信息不会丢失。其优点是不需要刷新,控制电路简单,但集成度较低,适用于不需要大存储容量的计算机系统。DRAM存储单元以电容为基础,电路简单,集成度高,但也存在问题,即电容中的电荷由于漏电会逐渐丢失,因此DRAM需要定时刷新,它适用于大存储容量的计算机系统。
只读存储器ROM在使用过程中,只能读出存储的信息而不能用通常的方法将信息写入存储器。目前常见的有:掩膜式ROM,用户不可对其编程,其内容已由厂家设定好,不能更改;可编程ROM(Programmable ROM,简称PROM),用户只能对其进行一次编程,写入后不能更改;可擦除的PROM(Erasable PROM,简称EPROM),其内容可用紫外线擦除,用户可对其进行多次编程;电擦除的PROM(Electrically Erasable PROM,简称EEPROM或E2PROM),能以字节为单位擦除和改写。
图6.1 半导体存储器的分类
6.1.3 半导体存储器的主要技术指标 1.存储容量 (1) 用字数位数表示,以位为单位。常用来表示存储芯片的容量,如1 K4位,表示该芯片有1 K个单元(1 K=1024),每个存储单元的长度为4位。 (2) 用字节数表示容量,以字节为单位,如128 B,表示该芯片有 128个单元,每个存储单元的长度为8位。现代计算机存储容量很大,常用KB、MB、GB和TB为单位表示存储容量的大小。其中,1 KB=210 B=1024 B;1 MB=220 B=1024 KB;1 GB=230 B=l024 MB;1 TB=240 B=1024 GB。显然,存储容量越大,所能存储的信息越多,计算机系统的功能便越强。
2.存取时间 存取时间是指从启动一次存储器操作到完成该操作所经历的时间。例如,读出时间是指从CPU向存储器发出有效地址和读命令开始,直到将被选单元的内容读出为止所用的时间。显然,存取时间越小,存取速度越快。
3.存储周期 连续启动两次独立的存储器操作(如连续两次读操作)所需要的最短间隔时间称为存储周期。它是衡量主存储器工作速度的重要指标。一般情况下,存储周期略大于存取时间。 4.功耗 功耗反映了存储器耗电的多少,同时也反映了其发热的程度。
5.可靠性 可靠性一般指存储器对外界电磁场及温度等变化的抗干扰能力。存储器的可靠性用平均故障间隔时间MTBF(Mean Time Between Failures)来衡量。MTBF可以理解为两次故障之间的平均时间间隔。MTBF越长,可靠性越高,存储器正常工作能力越强。
6.集成度 集成度指在一块存储芯片内能集成多少个基本存储电路,每个基本存储电路存放一位二进制信息,所以集成度常用位/片来表示。 7.性能/价格比 性能/价格比(简称性价比)是衡量存储器经济性能好坏的综合指标,它关系到存储器的实用价值。其中性能包括前述的各项指标,而价格是指存储单元本身和外围电路的总价格。
6.1.4 半导体存储器芯片的基本结构 图6.2 半导体存储器组成框图
1.存储体 存储体是存储器中存储信息的部分,由大量的基本存储电路组成。每个基本存储电路存放一位二进制信息,这些基本存储电路有规则地组织起来(一般为矩阵结构)就构成了存储体(存储矩阵)。不同存取方式的芯片,采用的基本存储电路也不相同。 存储体中,可以由N个基本存储电路构成一个并行存取N位二进制代码的存储单元(N的取值一般为1、4、8等)。为了便于信息的存取,给同一存储体内的每个存储单元赋予一个惟一的编号,该编号就是存储单元的地址。这样,对于容量为2n个存储单元的存储体,需要n条地址线对其编址,若每个单元存放N位信息,则需要N条数据线传送数据,芯片的存储容量就可以表示为2nN位。
2.外围电路 外围电路主要包括地址译码电路和由三态数据缓冲器、控制逻辑两部分组成的读/写控制电路。 1) 地址译码电路 存储芯片中的地址译码电路对CPU从地址总线发来的n位地址信号进行译码,经译码产生的选择信号可以惟一地选中片内某一存储单元,在读/写控制电路的控制下可对该单元进行读/写操作。
2) 读/写控制电路 读/写控制电路接收CPU发来的相关控制信号,以控制数据的输入/输出。三态数据缓冲器是数据输入/输出的通道,数据传输的方向取决于控制逻辑对三态门的控制。CPU发往存储芯片的控制信号主要有读/写信号(R/W)、片选信号(CS)等。值得注意的是,不同性质的半导体存储芯片其外围电路部分也各有不同,如在动态RAM中还要有预充、刷新等方面的控制电路,而对于ROM芯片在正常工作状态下只有输出控制逻辑等。
3.地址译码方式 芯片内部的地址译码主要有两种方式,即单译码方式和双译码方式。单译码方式适用于小容量的存储芯片,对于容量较大的存储器芯片则应采用双译码方式。 1) 单译码方式 单译码方式只用一个译码电路对所有地址信息进行译码,译码输出的选择线直接选中对应的单元,如图6.3所示。一根译码输出选择线对应一个存储单元,故在存储容量较大、存储单元较多的情况下,这种方法就不适用了。
图6.3 单译码方式
以一个简单的16字4位的存储芯片为例,如图6.3所示。将所有基本存储电路排成16行4列(图中未详细画出),每一行对应一个字,每一列对应其中的一位。每一行的选择线和每一列的数据线是公共的。图中,A0A3 4根地址线经译码输出16根选择线,用于选择16个单元。例如,当A3A2A1A0=0000,而片选信号为CS=0,WR=1时,将0号单元中的信息读出。
2) 双译码方式 双译码方式把n位地址线分成两部分,分别进行译码,产生一组行选择线X和一组列选择线Y,每一根X线选中存储矩阵中位于同一行的所有单元,每一根Y线选中存储矩阵中位于同一列的所有单元,当某一单元的X线和Y线同时有效时,相应的存储单元被选中。图6.4给出了一个容量为1 K字(单元)1位的存储芯片的双译码电路。1 K(1024)个基本存储电路排成3232的矩阵,10根地址线分成A0~A4 和A5~A9两组。A0~A4经X译码输出32条行选择线,A5~A9经Y译码输出32条列选择线。行、列选择线组合可以方便地找到1024个存储单元中的任何一个。例如,当A4A3A2A1A0=00000,A9A8A7A6A5=00000时,第0号单元被选中,通过数据线I/O实现数据的输入或输出。图中,X和Y译码器的输出线各有32根,总输出线数仅为64根。若采用单译码方式,将有1024根译码输出线。
图6.4 双译码方式
6.2 随机读写存储器(RAM) 6.2.1 静态RAM 1. 静态RAM的基本存储电路 静态RAM的基本存储电路通常由6个MOS管组成,如图6.5所示。电路中V1、V2为工作管,V3、V4为负载管,V5、V6为控制管。其中,由V1、V2、V3及V4管组成了双稳态触发器电路,V1和V2的工作状态始终为一个导通,另一个截止。V1截止、V2导通时,A点为高电平,B点为低电平;V1导通、V2截止时,A点为低电平,B点为高电平。所以,可用A点电平的高低来表示“0”和“1”两种信息。
图6.5 六管静态RAM存储电路
V7、V8管为列选通管,配合V5、V6两个行选通管,可使该基本存储电路用于双译码电路。当行线X和列线Y都为高电平时,该基本存储电路被选中,V5、V6、V7、V8管都导通,于是A、B两点与I/O、I/O分别连通,从而可以进行读/写操作。 写操作时,如果要写入“1”,则在I/O线上加上高电平,在I/O线上加上低电平,并通过导通的V5、V6、V7、V8 4个晶体管,把高、低电平分别加在A、B点,即A=“1”,B=“0”,使V1管截止,V2管导通。当输入信号和地址选择信号(即行、列选通信号)消失以后,V5、V6、V7、V8管都截止,V1和V2管就保持被强迫写入的状态不变,从而将“1”写入存储电路。此时,各种干扰信号不能进入V1和V2管。所以,只要不掉电,写入的信息不会丢失。写入“0”的操作与其类似,只是在I/O线上加上低电平,在I/O线上加上高电平。
读操作时,若该基本存储电路被选中,则V5、V6、V7、V8管均导通,于是A、B两点与位线D和D相连,存储的信息被送到I/O与I/O线上。读出信息后,原存储信息不会被改变。 由于静态RAM的基本存储电路中管子数目较多,故集成度较低。此外,T1和T2管始终有一个处于导通状态,使得静态RAM的功耗比较大。但是静态RAM不需要刷新电路,所以简化了外围电路。
2.Intel 2114 SRAM芯片 Intel 2114 SRAM芯片的容量为1 K4位,18脚封装,+5 V电源,芯片内部结构及芯片引脚图和逻辑符号分别如图6.6和6.7所示。 由于1 K4=4096,所以Intel 2114 SRAM芯片有4096个基本存储电路,将4096个基本存储电路排成64行64列的存储矩阵,每根列选择线同时连接4位列线,对应于并行的4位(位于同一行的4位应作为同一单元的内容被同时选中),从而构成了64行16列=1 K个存储单元,每个单元有4位。1 K个存储单元应有A0A9 10个地址输入端,2114片内地址译码采用双译码方式,A3A8 6根用于行地址译码输入,经行译码产生64根行选择线,A0、A1、A2和A9 4根用于列地址译码输入,经过列译码产生16根列选择线。
图6.6 Intel 2114内部结构
图6.7 Intel 2114引脚及逻辑符号 (a) 引脚;(b) 逻辑符号
地址输入线A0A9送来的地址信号分别送到行、列地址译码器,经译码后选中一个存储单元(有4个存储位)。当片选信号CS=0且WE=0时,数据输入三态门打开,I/O电路对被选中单元的4位进行写入;当CS=0且WE=1时,数据输入三态门关闭,而数据输出三态门打开,I/O电路将被选中单元的4位信息读出送数据线;当CS=1即CS无效时,不论WE为何种状态,各三态门均为高阻状态,芯片不工作。
6.2.2 动态RAM 1.动态RAM的基本存储电路 动态存储器和静态存储器不同,动态RAM的基本存储电路利用电容存储电荷的原理来保存信息,由于电容上的电荷会逐渐泄漏,因而对动态RAM必须定时进行刷新,使泄漏的电荷得到补充。动态RAM的基本存储电路主要有六管、四管、三管和单管等几种形式,在这里我们介绍四管和单管动态RAM基本存储电路。
1) 四管动态RAM基本存储电路 图6.5所示的六管静态RAM基本存储电路依靠Vl和V2管来存储信息,电源VCC通过V3、V4管向V1、V2管补充电荷,所以Vl和V2管上存储的信息可以保持不变。实际上,由于MOS管的栅极电阻很高,泄漏电流很小,即使去掉V3、V4管和电源VCC,Vl和V2管栅极上的电荷也能维持一定的时间,于是可以由V1、V2、V5、V6构成四管动态RAM基本存储电路,如图6.8所示。
图6.8 四管动态RAM存储电路
电路中,V5、V6、V7、V8管仍为控制管,当行选择线X和列选择线Y都为高电平时,该基本存储电路被选中,V5、V6、V7、V8管都导通,则A、B点与位线D、D分别相连,再通过V7、V8管与外部数据线I/O、I/O相通,可以进行读/写操作。同时,在列选择线上还接有两个公共的预充管V9和V10。 写操作时,如果要写入“1”,则在I/O线上加上高电平,在I/O线上加上低电平,并通过导通的V5、V6、V7、V8 4个晶体管,把高、低电平分别加在A、B点,将信息存储在V1和V2管栅极电容上。行、列选通信号消失以后,V5、V6截止,靠V1、V2管栅极电容的存储作用,在一定时间内可保留所写入的信息。
读操作时,先给出预充信号使V9、V10导通,由电源对电容CD和CD进行预充电,使它们达到电源电压。行、列选择线上为高电平,使V5、V6、V7、V8导通,存储在V1和V2上的信息经A、B点向I/O、I/O线输出。若原来的信息为“1”,即电容C2上存有电荷,V2导通,V1截止,则电容CD上的预充电荷通过V6经V2泄漏,于是,I/O线输出0,I/O线输出1。同时,电容CD上的电荷通过V5向C2补充电荷,所以,读出过程也是刷新的过程。
2) 单管动态RAM基本存储电路 单管动态RAM基本存储电路只有一个电容和一个MOS管,是最简单的存储元件结构,如图6.9所示。在这样一个基本存储电路中,存放的信息到底是“1”还是“0”,取决于电容中有没有电荷。在保持状态下,行选择线为低电平,V管截止,使电容C基本没有放电回路(当然还有一定的泄漏),其上的电荷可暂存数毫秒或者维持无电荷的“0”状态。
图6.9 单管动态存储电路
对由这样的基本存储电路组成的存储矩阵进行读操作时,若某一行选择线为高电平,则位于同一行的所有基本存储电路中的V管都导通,于是刷新放大器读取对应电容C上的电压值,但只有列选择信号有效的基本存储电路才受到驱动,从而可以输出信息。刷新放大器的灵敏度很高,放大倍数很大,并且能将读得的电容上的电压值转换为逻辑“0”或者逻辑“1”。在读出过程中,选中行上所有基本存储电路中的电容都受到了影响,为了在读出信息之后仍能保持原有的信息,刷新放大器在读取这些电容上的电压值之后又立即进行重写。 在写操作时,行选择信号使V管处于导通状态,如果列选择信号也为“1”,则此基本存储电路被选中,于是由数据输入/输出线送来的信息通过刷新放大器和T管送到电容C。
3) 动态RAM的刷新 动态RAM是利用电容C上充积的电荷来存储信息的。当电容C有电荷时,为逻辑“1”,没有电荷时,为逻辑“0”。但由于任何电容都存在漏电,因此,当电容C存有电荷时,过一段时间由于电容的放电过程导致电荷流失,信息也就丢失。因此,需要周期性地对电容进行充电,以补充泄漏的电荷,通常把这种补充电荷的过程叫刷新或再生。随着器件工作温度的增高,放电速度会变快。刷新时间间隔一般要求在1~100 ms。工作温度为70℃时,典型的刷新时间间隔为2 ms,因此2 ms内必须对存储的信息刷新一遍。尽管对各个基本存储电路在读出或写入时都进行了刷新,但对存储器中各单元的访问具有随机性,无法保证一个存储器中的每一个存储单元都能在2 ms内进行一次刷新,所以需要系统地对存储器进行定时刷新。
对整个存储器系统来说,各存储器芯片可以同时刷新。对每块DRAM芯片来说,则是按行刷新,每次刷新一行,所需时间为一个刷新周期。如果某存储器有若干块DRAM芯片,其中容量最大的一种芯片的行数为128,则在2 ms之中至少应安排128个刷新周期。 在存储器刷新周期中,将一个刷新地址计数器提供的行地址发送给存储器,然后执行一次读操作,便可完成对选中行的各基本存储电路的刷新。每刷新一行,计数器加1,所以它可以顺序提供所有的行地址。因为每一行中各个基本存储电路的刷新是同时进行的,故不需要列地址,此时芯片内各基本存储电路的数据线为高阻状态,与外部数据总线完全隔离,所以,尽管刷新进行的是读操作,但读出数据不会送到数据总线上。
2.Intel 2164A动态RAM芯片 Intel 2164A芯片的存储容量为64 K1位,采用单管动态基本存储电路,每个单元只有一位数据,其内部结构如图6.10所示。2164A芯片的存储体本应构成一个256256的存储矩阵,为提高工作速度(需减少行列线上的分布电容),将存储矩阵分为4个128128矩阵,每个128128矩阵配有128个读出放大器,各有一套I/O控制(读/写控制)电路。
图6.10 Intel 2164A内部结构示意图
64K容量本需16位地址,但芯片引脚(见图6.11)只有8根地址线,A0~A7需分时复用。在行地址选通信号RAS控制下先将8位行地址送入行地址锁存器,锁存器提供8位行地址RA7RA0,译码后产生两组行选择线,每组128根。然后在列地址选通信号CAS控制下将8位列地址送入列地址锁存器,锁存器提供8位列地址CA7CA0,译码后产生两组列选择线,每组128根。行地址RA7与列地址CA7选择4个128128矩阵之一。因此,16位地址是分成两次送入芯片的,对于某一地址码,只有一个128128矩阵和它的I/O控制电路被选中。A0~A7这8根地址线还用于在刷新时提供行地址,因为刷新是一行一行进行的。
图6.11 Intel 2164A引脚与逻辑符号 (a) 引脚;(b) 逻辑符号
2164A的读/写操作由WE信号来控制,读操作时,WE为高电平,选中单元的内容经三态输出缓冲器从DOUT引脚输出;写操作时,WE为低电平,DIN引脚上的信息经数据输入缓冲器写入选中单元。2164A没有片选信号,实际上用行地址和列地址选通信号RAS和CAS作为片选信号,可见,片选信号已分解为行选信号与列选信号两部分。
6.3 只读存储器(ROM) 6.3.1 掩膜式只读存储器(MROM) MROM的内容是由生产厂家按用户要求在芯片的生产过程中写入的,写入后不能修改。MROM采用二次光刻掩膜工艺制成,首先要制作一个掩膜板,然后通过掩膜板曝光,在硅片上刻出图形。制作掩膜板工艺较复杂,生产周期长,因此生产第一片MROM的费用很大,而复制同样的ROM就很便宜了,所以适合于大批量生产,不适用于科学研究。MROM有双极型、MOS型等几种电路形式。
图6.12是一个简单的44位MOS管ROM,采用单译码结构,两位地址线A1、A0译码后可有四种状态,输出4条选择线,分别选中4个单元,每个单元有4位输出。在此矩阵中,行和列的交点处有的连有管子,表示存储“0”信息;有的没有管子,表示存储“1”信息。若地址线A1A0=00,则选中0号单元,即字线0为高电平,若有管子与其相连(如位线2和0),其相应的MOS管导通,位线输出为0,而位线1和3没有管子与字线相连,则输出为1。因此,单元0输出为1010。对于图中矩阵,各单元内容如表6.1所示。
图6.12 掩膜式ROM示意图
表6.1 掩膜式ROM的内容 位单 D3 D2 D1 D0 1 2 3 元
6.3.2 可编程只读存储器(PROM) 可编程只读存储器出厂时各单元内容全为0,用户可用专门的PROM写入器将信息写入,这种写入是破坏性的,即某个存储位一旦写入1,就不能再变为0,因此对这种存储器只能进行一次编程。根据写入原理PROM可分为两类:结破坏型和熔丝型。图6.13是熔丝型PROM的一个存储元示意图。 图6.13 PROM存储电路示意图
基本存储电路由1个三极管和1根熔丝组成,可存储一位信息。出厂时,每一根熔丝都与位线相连,存储的都是“0”信息。如果用户在使用前根据程序的需要,利用编程写入器对选中的基本存储电路通以2050 mA的电流,将熔丝烧断,则该存储元将存储信息“1”。由于熔丝烧断后无法再接通,因而PROM只能一次编程。编程后不能再修改。
写入时,按给定地址译码后,选通字线,根据要写入信息的不同,在位线上加不同的电位,若Di位要写“0”,则对应位线Di悬空(或接较大电阻)而使流经被选中基本存储电路的电流很小,不足以烧断熔丝,该位仍保持“0”状态;若要写“1”,则位线Di加负电位(−2 V),瞬间通过被选基本存储电路的电流很大,致使熔丝烧断,即改写为“1”。在正常只读状态工作时,加到字线上的是比较低的脉冲电位,但足以开通存储元中的晶体管。这样,被选中单元的信息就一并读出了。是“0”,则对应位线有电流;是“1”,则对应位线无电流。在只读状态,工作电流将很小,不会造成熔丝烧断,即不会破坏原存信息。
6.3.3 可擦除、可再编程的只读存储器 PROM虽然可供用户进行一次编程,但仍有局限性。为了便于研究工作,实验各种ROM程序方案,可擦除、可再编程ROM在实际中得到了广泛应用。这种存储器利用编程器写入信息,此后便可作为只读存储器来使用。 目前,根据擦除芯片内已有信息的方法不同,可擦除、可再编程ROM可分为两种类型:紫外线擦除PROM(简称EPROM)和电擦除PROM(简称EEPROM或E2PROM)。
1.EPROM和E2PROM简介 初期的EPROM元件用的是浮栅雪崩注入MOS,记为FAMOS。它的集成度低,用户使用不方便,速度慢,因此很快被性能和结构更好的叠栅注入MOS即SIMOS取代。 SIMOS管结构如图6.14(a)所示。它属于NMOS,与普通NMOS不同的是有两个栅极,一个是控制栅CG,另一个是浮栅FG。FG在CG的下面,被SiO2所包围,与四周绝缘。单个SIMOS管构成一个EPROM存储元件,如图6.14(b)所示。
与CG连接的线W称为字线,读出和编程时作选址用。漏极与位线D相连接,读出或编程时输出、输入信息。源极接VSS(接地)。当FG上没有电子驻留时,CG开启电压为正常值Vcc,若W线上加高电平,源、漏间也加高电平,SIMOS形成沟道并导通,称此状态为“1”。当FG上有电子驻留,CG开启电压升高超过Vcc,这时若W线加高电平,源、漏间仍加高电平,SIMOS不导通,称此状态为“0”。人们就是利用SIMOS管FG上有无电子驻留来存储信息的。因FG上电子被绝缘材料包围,不获得足够能量很难跑掉,所以可以长期保存信息,即使断电也不丢失。
(a) SIMOS管结构;(b) SIMOS EPROM元件电路
SIMOS EPROM芯片出厂时FG上是没有电子的,即都是“1”信息。对它编程,就是在CG和漏极都加高电压,向某些元件的FG注入一定数量的电子,把它们写为“0”。EPROM封装方法与一般集成电路不同,需要有一个能通过紫外线的石英窗口。擦除时,将芯片放入擦除器的小盒中,用紫外灯照射约20分钟,若读出各单元内容均为FFH,说明原信息已被全部擦除,恢复到出厂状态。写好信息的EPROM为了防止因光线长期照射而引起的信息破坏,常用遮光胶纸贴于石英窗口上。
EPROM的擦除是对整个芯片进行的,不能只擦除个别单元或个别位,擦除时间较长,且擦写均需离线操作,使用起来不方便,因此,能够在线擦写的E2PROM芯片近年来得到广泛应用。
E2PROM是一种采用金属—氮—氧化硅(MNOS)工艺生产的可擦除可再编程的只读存储器。擦除时只需加高压对指定单元产生电流,形成“电子隧道”,将该单元信息擦除,其他未通电流的单元内容保持不变。E2PROM具有对单个存储单元在线擦除与编程的能力,而且芯片封装简单,对硬件线路没有特殊要求,操作简便,信息存储时间长,因此,E2PROM给需要经常修改程序和参数的应用领域带来了极大的方便。但与EPROM相比,E2PROM具有集成度低、存取速度较慢、完成程序在线改写需要较复杂的设备等缺点。
2.Intel 2716 EPROM芯片 EPROM芯片有多种型号,常用的有2716(2 K8)、2732(4 K8)、2764(8 K8)、27128(16 K8)、27256(32 K8)等。 1) 2716的内部结构和外部引脚 2716 EPROM芯片采用NMOS工艺制造,双列直插式24引脚封装。其引脚、逻辑符号及内部结构如图6.15所示。 A0~A10:11条地址输入线。其中7条用于行译码,4条用于列译码。 O0~O7:8位数据线。编程写入时是输入线,正常读出时是输出线。
CS:片选信号。当CS=0时,允许2716读出。 PD/PGM:待机/编程控制信号,输入。 VPP:编程电源。在编程写入时,VPP=+25 V;正常读出时,VPP=+5 V。 VCC:工作电源,为+5 V。
图6.15 Intel 2716的引脚、逻辑符号及内部结构 (a) 引脚;(b) 逻辑符号;(c) 内部结构
2) 2716的工作方式 表6.2 2716的工作方式 VPP/V 引脚 方式 PD/PGM 数据总线状态 读出 +5 输出 未选中 × 1 表6.2 2716的工作方式 引脚 方式 PD/PGM 数据总线状态 读出 +5 输出 未选中 × 1 高阻 待机 编程输入 宽52 ms的正脉冲 +25 输入 校验编程内容 禁止编程 VPP/V
(1) 读出方式:当CS=0时,此方式可以将选中存储单元的内容读出。 (2) 未选中:当CS=l时,不论PD/PGM的状态如何,2716均未被选中,数据线呈高阻态。 (3) 待机(备用)方式:当PD/PGM=1时,2716处于待机方式。这种方式和未选中方式类似,但其功耗由525 mW下降到132 mW,下降了75%,所以又称为功率下降方式。这时数据线呈高阻态。
(4) 编程方式:当VPP=+25 V,CS=l,并在PD/PGM端加上52 ms宽的正脉冲时,可以将数据线上的信息写入指定的地址单元。数据线为输入状态。 (6) 禁止编程方式:此方式禁止将数据总线上的信息写入2716。
表6.3 常用的EPROM芯片 型号 容量结构 2708 1 K×8 bit 350~450 NMOS 5,+12 24 2716 最大读出时间/ns 制造工艺 需用电源/V 管脚数 2708 1 K×8 bit 350~450 NMOS 5,+12 24 2716 2 K×8 bit 300~450 +5 2732A 4 K×8 bit 200~450 2764 8 K×8bit HMOS 28 27128 16K×8 bit 250~450 27256 32 K×8 bit 27512 64 K×8 bit 27513 4×64 K×8 bit
3. Intel 2816 E2PROM芯片 Intel 2816是2 K8位的E2PROM芯片,有24条引脚,单一+5 V电源。其引脚配置见图6.16。 图6.16 Intel 2816的引脚
表6.4 2816的工作方式 引脚 方式 CE OE VPP /V 数据线状态 读出 +4+6 输出 待机(备用) 1 × 高阻 字节擦除 表6.4 2816的工作方式 引脚 方式 CE OE VPP /V 数据线状态 读出 +4+6 输出 待机(备用) 1 × 高阻 字节擦除 +21 输入为全1 字节写入 输入 整片擦除 +9+15 V 擦写禁止 +4+22
(1) 读出方式。当CE=0,OE=0,并且VPP 端加+4~+6 V电压时,2816处于正常的读工作方式,此时数据线为输出状态。 (3) 字节擦除方式。当CE=0,OE=1,数据线(I/O0~I/O7)都加高电平且VPP加幅度为+2l V、宽度为9~15 ms的脉冲时,2816处于以字节为单位的擦除方式。
(4) 整片擦除方式。当CE=0,数据线(I/O0~I/O7)都为高电平,OE端加+9~+15 V电压及VPP加21 V、9~15 ms的脉冲时,约经10 ms可擦除整片的内容。 (5) 字节写入方式。当CE=0,OE=1,VPP加幅度为+2l V、宽度为9~15 ms的脉冲时,来自数据线(I/O0~I/O7)的数据字节可写入2816的存储单元中。可见,字节写入和字节擦除方式实际是同一种操作,只是在字节擦除方式中,写入的信息为全“1”而已。 (6) 禁止方式。当CE=1,VPP为+4~+22 V时,不管OE是高电平还是低电平,2816都将进入禁止状态,其数据线(I/O0~I/O7)呈高阻态,内部存储单元与外界隔离。
表6.5 常用的E2PROM芯片 型号 参数 2816 2816A 2817 2817A 2864A 取数时间/ns 250 200250 读电压VPP/V 5 写/擦电压VPP/V 21 字节擦写时间/ms 10 9~15 写入时间/ms 封装 DIP24 DIP28
6.4 存储器的扩展 6.4.1 存储芯片的扩展 存储芯片的扩展包括位扩展、字扩展和字位同时扩展等三种情况。 1.位扩展 6.4 存储器的扩展 6.4.1 存储芯片的扩展 存储芯片的扩展包括位扩展、字扩展和字位同时扩展等三种情况。 1.位扩展 位扩展是指存储芯片的字(单元)数满足要求而位数不够,需对每个存储单元的位数进行扩展。图6.17给出了使用8片8 K1的RAM芯片通过位扩展构成8K8的存储器系统的连线图。
图6.17 用8 K1位芯片组成8 K8位的存储器
由于存储器的字数与存储器芯片的字数一致,8 K=213,故只需13根地址线(A12A0)对各芯片内的存储单元寻址,每一芯片只有一条数据线,所以需要8片这样的芯片,将它们的数据线分别接到数据总线(D7D0)的相应位。在此连接方法中,每一条地址线有8个负载,每一条数据线有一个负载。位扩展法中,所有芯片都应同时被选中,各芯片CS端可直接接地,也可并联在一起,根据地址范围的要求,与高位地址线译码产生的片选信号相连。对于此例,若地址线A0A12上的信号为全0,即选中了存储器0号单元,则该单元的8位信息是由各芯片0号单元的1位信息共同构成的。 可以看出,位扩展的连接方式是将各芯片的地址线、片选CS、读/写控制线相应并联,而数据线要分别引出。
2.字扩展 字扩展用于存储芯片的位数满足要求而字数不够的情况,是对存储单元数量的扩展。图6.18给出了用4个16 K8芯片经字扩展构成一个64K8存储器系统的连接方法。 图6.18 有16 K8位芯片组成64 K8位的存储器
图中4个芯片的数据端与数据总线D7D0相连;地址总线低位地址A13A0与各芯片的14位地址线连接,用于进行片内寻址;为了区分4个芯片的地址范围,还需要两根高位地址线A14、A15经2–4译码器译出4根片选信号线,分别和4个芯片的片选端相连。各芯片的地址范围见表6.6。
表6.6 图6.16中各芯片地址空间分配表 地址 片号 A15A14 A13A12A11…A1A0 说明 1 00 000…00 表6.6 图6.16中各芯片地址空间分配表 A15A14 A13A12A11…A1A0 说明 1 00 000…00 111…11 最低地址(0000H) 最高地址(3FFFH) 2 01 最低地址(4000H) 最高地址(7FFFH) 3 10 最低地址(8000H) 最高地址(BFFFH) 4 11 最低地址(C000H) 最高地址(FFFFH) 地址 片号
可以看出,字扩展的连接方式是将各芯片的地址线、数据线、读/写控制线并联,而由片选信号来区分各片地址。也就是将低位地址线直接与各芯片地址线相连,以选择片内的某个单元;用高位地址线经译码器产生若干不同片选信号,连接到各芯片的片选端,以确定各芯片在整个存储空间中所属的地址范围。
3.字位同时扩展 在实际应用中,往往会遇到字数和位数都需要扩展的情况。 若使用lk位存储器芯片构成一个容量为MN位(M>l,N>k)的存储器,那么这个存储器共需要(M/l)(N/k)个存储器芯片。连接时可将这些芯片分成(M/l)个组,每组有(N/k)个芯片,组内采用位扩展法,组间采用字扩展法。 图6.19给出了用2114(1 K4)RAM芯片构成4 K8存储器的连接方法。
图6.19 字位同时扩展连接图
图中将8片2114芯片分成了4组(RAM1、RAM2、RAM3和RAM4),每组2片。组内用位扩展法构成1 K8的存储模块,4个这样的存储模块用字扩展法连接便构成了4K8的存储器。用A9A0 10根地址线对每组芯片进行片内寻址,同组芯片应被同时选中,故同组芯片的片选端应并联在一起。本例用2–4译码器对两根高位地址线A10A11译码,产生4根片选信号线,分别与各组芯片的片选端相连。
6.4.2 存储器与CPU的连接 CPU对存储器进行访问时,首先要在地址总线上发地址信号,选择要访问的存储单元,还要向存储器发出读/写控制信号,最后在数据总线上进行信息交换。因此,存储器与CPU的连接实际上就是存储器与三总线中相关信号线的连接。 1.存储器与控制总线的连接 在控制总线中,与存储器相连的信号线为数不多,如8086/8088最小方式下的M/IO(8088为M/IO)、RD和WR,最大方式下的MRDC、MWTC、IORC和IOWC等,连接也非常简单,有时这些控制线(如M/IO)也与地址线一同参与地址译码,生成片选信号。
2.存储器与数据总线的连接 对于不同型号的CPU,数据总线的数目不一定相同,连接时要特别注意。 8086 CPU的数据总线有16根,其中高8位数据线D15D8接存储器的高位库(奇地址库),低8位数据线D7D0接存储器的低位库(偶地址库),根据BHE(选择奇地址库)和A0(选择偶地址库)的不同状态组合决定对存储器做字操作还是字节操作。图6.20给出了由两片6116(2 K8)构成的2 K字(4 K字节)的存储器与8086 CPU的连接情况。 8位机和8088 CPU的数据总线有8根,存储器为单一存储体组织,没有高低位库之分,故数据线连接较简单。
图6.20 6116与8086 CPU的连接
图6.21 74LS138引脚
3.存储器与地址总线的连接 前面已经提到,对于由多个存储芯片构成的存储器,其地址线的译码被分成片内地址译码和片间地址译码两部分。片内地址译码用于对各芯片内某存储单元的选择,而片间地址译码主要用于产生片选信号,以决定每一个存储芯片在整个存储单元中的地址范围,避免各芯片地址空间的重叠。片内地址译码在芯片内部完成,连接时只需将相应数目的低位地址总线与芯片的地址线引脚相连。片选信号通常要由高位地址总线经译码电路生成。地址译码电路可以根据具体情况选用各种门电路构成,也可使用现成的译码器,如74LS138(3–8译码器)等。图6.21给出了74LS138的引脚图,表6.7为74LS138译码器的真值表。
表6.7 74LS138译码器真值表
片间地址译码一般有线选法、部分译码和全译码等方法。线选法是直接将某高位地址线接某存储芯片片选端,该地址线信号为1时选中所连芯片,然后再由低位地址对该芯片进行片内寻址。线选法不需外加逻辑电路,线路简单,但不能充分利用系统的存储空间,可用于小型微机系统或芯片较少时。全译码是除了地址总线中参与片内寻址的低位地址线外,其余所有高位地址线全部参与片间地址译码。全译码法不会产生地址码重叠的存储区域,对译码电路要求较高。部分译码是线选法和全译码相结合的方法,即利用高位地址线译码产生片选信号时,有的地址线未参加译码。这些空闲地址线在需要时还可以对其他芯片进行线选。部分译码会产生地址码重叠的存储区域。
图6.22 字位同时扩展连接图
表6.8 各组芯片的地址范围 芯 片 A15A10 A9A0 地址范围 RAM1 000000 0000000000 表6.8 各组芯片的地址范围 芯 片 A15A10 A9A0 地址范围 RAM1 000000 0000000000 1111111111 0000H 03FFH RAM2 000001 0400H 07FFH RAM3 000010 11111111111 0800H 0BFFH RAM4 000011 0C00H 0FFFH
6.5 几种新型存储器简介 1.闪速存储器(Flash Memory) 6.5 几种新型存储器简介 1.闪速存储器(Flash Memory) Flash存储器是1983年由Intel公司首先推出的,其商品化于1988年。就其本质而言,Flash存储器属于E2PROM类型,在不加电的情况下能长期保持存储的信息。F1ash存储器之所以被称为闪速存储器,是因为用电擦除且能通过公共源极或公共衬底加高压实现擦除整个存储矩阵或部分存储矩阵,速度很快,与E2PROM擦除一个地址(一个字节或16位字)的时间相同。
Flash存储器既有MROM和RAM两者的性能,又有MROM、DRAM一样的高密度、低成本和小体积。它是目前惟一具有大容量、非易失性、低价格、可在线改写和较高速度几个特性共存的存储器。同DRAM比较,F1ash存储器有两个缺点:可擦写次数有限和速度较慢。所以从目前看,它还无望取代DRAM,但它是一种理想的文件存储介质,特别适用于在线编程的大容量、高密度存储领域。 由于Flash存储器的独特优点,在一些较新的主板上采用Flash ROM BIOS,会使得BIOS升级非常方便,在Pentium 微机中已把BIOS系统驻留在Flash存储器中。Flash存储器亦可用做固态大容量存储器。由于Flash Memory集成度不断提高,价格降低,使其在便携机上取代小容量硬盘已成为可能。
2. 同步动态存储器SDRAM(Synchronous DRAM) SDRAM是同步动态存储器,又称为同步DRAM。SDRAM基于双存储体结构,内含两个交错的存储阵列,当CPU从一个存储体或阵列访问数据的同时,另一个已准备好读写数据。通过两个存储阵列的紧密切换,读取效率得到成倍提高。理论上速度可与CPU频率同步,与CPU共享一个时钟周期。SDRAM不仅可用做主存,在显示卡专用内存方面也有广泛应用。对显示卡来说,数据带宽越宽,同时处理的数据就越多,显示的信息就越多,显示质量也就越高。SDRAM也将应用于一种集成主存和显示内存的结构——共享内存结构(UMA)当中。许多高性能显示卡价格昂贵,就是因为其专用显示内存成本极高,UMA技术利用主存作显示内存,不再需要增加专门的显示内存,因此这种结构在很大程度上降低了系统成本。
3.双数据传输率同步动态随机存储器DDR DRAM(Double Data Rate DRAM) 在同步动态读写存储器SDRAM的基础上,采用延时锁定环(Delay-1ocked Loop)技术提供数据选通信号对数据进行精确定位,在时钟脉冲的上升沿和下降沿都可传输数据(而不是第一代SDRAM仅在时钟脉冲的下降沿传输数据,“DDR”即“双数据率”的意思),这样就在不提高时钟频率的情况下,使数据传输率提高一倍。由于DDR DRAM需要新的高速时钟同步电路和符合JEDEC标准的存储器模块,所以主板和芯片组的成本较高,一般只能用于高档服务器和工作站上。GeForce 256显卡大量采用了DDR存储器做显存,显示效果成倍提升。
4.接口动态随机存储器DRDRAM(Direct Rambus DRAM) 从1996年开始,Rambus公司就在Intel公司的支持下制定出新一代RDRAM标准,这就是DRDRAM。它与传统DRAM的区别在于引脚定义会随命令而变,同一组引脚线可以被定义成地址线,也可以被定义成控制线。其引脚数仅为正常DRAM的1/3。当需要扩展芯片容量时,只需要改变命令,不需要增加芯片引脚。这种芯片可以支持400 MHz外频,再利用上升沿和下降沿两次传输数据,可以使数据传输率达到800 MHz。同时通过把单个内存芯片的数据输出通道从8位扩展成16位,这样在100 MHz时就可以使最大数据输出率达到1.6 GB/s。
5.带高速缓存动态随机存储器CDRAM(Cached DRAM) CDRAM是日本三菱电气公司开发的专有技术,通过在DRAM芯片上集成一定数量的高速SRAM作为高速缓冲存储器Cache和同步控制接口,来提高存储器的性能。这种芯片使用单一的+3 V电源,低压TTL输入输出电平。目前三菱公司可以提供的CDRAM为4 MB和16 MB版本,其片内Cache为16 KB,与128位内部总线配合工作,可以实现100 MHz的数据访问。流水线式存取时间为7 ns。
6.虚拟通道存储器VCM(Virtual Channel Memory) VCM由NEC公司开发,是一种新兴的“缓冲式DRAM”,该技术将在大容量SDRAM中采用。它集成了所谓的“通道缓冲”,由高速寄存器进行配置和控制。在实现高速数据传输(即“带宽”增大)的同时,VCM还维持着与传统SDRAM的高度兼容性,所以通常也把VCM内存称为VCM SDRAM。在设计上,系统(主要是主板)不需要做大的改动,便能提供对VCM的支持。VCM可从内存前端进程的外部对所集成的这种“通道缓冲”执行读写操作。对于内存单元与通道缓冲之间的数据传输,以及内存单元的预充电和刷新等内部操作,VCM要求它独立于前端进程进行,即后台处理与前台处理可同时进行。由于专为这种“并行处理”创建了一个支撑架构,因而VCM能保持一个非常高的平均数据传输速度,同时不用对传统内存架构进行“大手笔”的更改。采用VCM后,系统设计人员不必再受限于目前令人捉襟见肘的内存工作方式,因为内存通道的运行与管理,都可移交给主板芯片组自己去解决。
7.快速循环动态存储器FCRAM(Fast Cycle RAM) FCRAM由富士通和东芝公司联合开发,数据吞吐速度可达普通DRAM/SDRAM的4倍。FCRAM将目标定位在需要极高内存带宽的应用中,比如业务繁忙的服务器以及3D图形及多媒体处理等。FCRAM最主要的特点便是行、列地址同时(并行)访问,而不像普通DRAM那样,以顺序方式进行(首先访问行数据,再访问列数据)。此外,在完成上一次操作之前,FCRAM便能开始下一次操作。为提高内存的数据吞吐速度,FCRAM和VCM采取了截然不同的两种方式。前者从内部入手,后者则“内外一齐抓”,在拓宽内存(存储)单元、芯片接口、内存控制器的带宽上下大功夫。FCRAM的开发计划自1999年2月初便已开始。按照富士通和东芝公司的协议,它们将联合开发64 MB、128 MB和256 MB的FCRAM。但和VCM、RDRAM内存技术不同的是,它面向的并不是PC机的内存,而是面向诸如显示内存等其他存储器。