FPGA系统中DRAM,SRAM,SDRAM,FLASH 区别(转)
原文:http://hi.baidu.com/abners/item/a9042ef35d3f005bc8f337f5
一般来说这几种存储器是一个nios系统都具有的,sram的好处是接口简单,速度快容易操作,用资源也比较少;sdram的最大好处是容量大,当然速度也比较快,但是接口复杂些,也耗逻辑资源多些;flash是非易失性存储器,速度慢。SRAM、SDRAM都用于程序工作时保存临时数据和程序,因为在系统调电后,保存在其中的数据都会丢失。
FLASH用于系统中保存长期的数据,如:配置信息,程序等。
由于SRAM接口电路简单,在小系统中常用,SDRAM的接口相对复杂,需要相应的控制器支持,但由于容量大、价格便宜、访问速度快,所以常用在对内存容量和处理速度要求高的应用场合,在这种场合中,相应的处理器(CPU)都自带有SDRAM控制器。
DRAM是动态存储器(Dynamic RAM)的缩写SDRAM是英文SynchronousDRAM的缩写,译成中文就是同步动态存储器的意思。从技术角度上讲,同步动态存储器(SDRAM)是在现有的标准动态存储器中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。在功能上,它类似常规的DRAM,且也需时钟进行刷新。可以说,SDRAM是一种改善了结构的增强型DRAM。目前的SDRAM有10ns和8ns
什么是DRAM?
DRAM(Dynamic RAM): 动态随机存储器。
什么是SDRAM?
SDRAM(Synchronous DRAM): 同步动态随机存储器。目前的168线64bit带宽内存基本上都采用SDRAM芯片,工作电压3.3V电压,存取速度高达7.5ns,而EDO内存最快为15ns。并将RAM与CPU以相同时钟频率控制,使RAM与CPU外频同步,取消等待时间。所以其传输速率比EDO DRAM更快。
什么是DDR SDRAM?
DDR(Double Data Rate)SDRAM。其核心建立在SDRAM的基础上,但在速度上有了提高。SDRAM仅在时钟信号的上升沿读取数据,而DDR在时钟信号的上升沿和下降沿都读取数据,因此,它的速度是标准SDRAM的2倍。
什么是RDRAM?
RDRAM(Rambus DRAM):总线式动态随机存储器,是由RAMBUS公司与INTEL公司合作提出的一项专利技术,它的数据传输率最高可达800MHZ,而它的总线宽度却仅为16bit,远远小于现在的SDRAM的64bit。
什么是SPD?
SPD(Serial Presence Detect): SPD是一颗8针的EEPROM(Electrically Erasable Programmable ROM 电可擦写可编程只读存储器), 容量为256字节,里面主要保存了该内存的相关资料,如容量、芯片厂商、内存模组厂商、工作速度等。SPD的内容一般由内存模组制造商写入。支持SPD的主板在启动时自动检测SPD中的资料,并以此设定内存的工作参数。
什么是SRAM
SRAM 的英文全称是"Static RAM",翻译成中文就是"静态随机存储器"。SRAM主要用于制造Cache
什么是Cache
Cache 的英文原意是"储藏",它一般使用SRAM制造,它与CPU之间交换数据的速度高于DRAM,所以被称作"高速缓冲存储器",简称为"高速缓存"。由于CPU的信息处理速度常常超过其它部件的信息传递速度,所以使用一般的DRAM来作为信息存储器常常使CPU处于等待状态,造成资源的浪费。Cache就是为了解决这个问题而诞生的。在操作系统启动以后,CPU就把DRAM中经常被调用的一些系统信息暂时储存在Cache里面,以后当CPU需要调用这些信息时,首先到Cache里去找,如果找到了,就直接从Cache里读取,这样利用Cache的高速性能就可以节省很多时间。大多数CPU在自身中集成了一定量的Cache,一般被称作"一级缓存"或"内置Cache"。这部分存储器与CPU的信息交换速度是最快的,但容量较小。大多数主板上也集成了Cache,一般被称作"二级缓存"或"外置Cache",比内置Cache容量大些,一般可达到256K,现在有的主板已经使用了512K~2M的高速缓存。在最新的Pentium二代CPU内部,已经集成了一级缓存和二级缓存,那时主板上的Cache就只能叫作"三级缓存"了。
SRAM、FLASH和SDRAM的区别:
SRAM
SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。而DRAM(Dynamic Random Access Memory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积,在主板上哪些是SRAM呢?
一种是置于CPU与主存间的高速缓存,它有两种规格:一种是固定在主板上的高速缓存(Cache Memory );另一种是插在卡槽上的COAST(Cache On A Stick)扩充用的高速缓存,另外在CMOS芯片1468l8的电路里,它的内部也有较小容量的128字节SRAM,存储我们所设置的配置数据。还有为了加速CPU内部数据的传送,自80486CPU起,在CPU的内部也设计有高速缓存,故在Pentium CPU就有所谓的L1 Cache(一级高速缓存)和L2Cache(二级高速缓存)的名词,一般L1 Cache是内建在CPU的内部,L2 Cache是设计在CPU的外部,但是Pentium Pro把L1和L2 Cache同时设计在CPU的内部,故Pentium Pro的体积较大。最新的Pentium II又把L2 Cache移至CPU内核之外的黑盒子里。SRAM显然速度快,不需要刷新的操作,但是也有另外的缺点,就是价格高,体积大,所以在主板上还不能作为用量较大的主存。现将它的特点归纳如下:
◎优点,速度快,不必配合内存刷新电路,可提高整体的工作效率。
◎缺点,集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。
◎SRAM使用的系统:
○CPU与主存之间的高速缓存。
○CPU内部的L1/L2或外部的L2高速缓存。
○CPU外部扩充用的COAST高速缓存。
○CMOS 146818芯片(RT&CMOS SRAM)。
SDRAM
SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存取存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
SDRAM从发展到现在已经经历了四代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM.(显卡上的DDR已经发展到DDR5)
第一代与第二代SDRAM均采用单端(Single-Ended)时钟信号,第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。
SDR SDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据读写速率也为100或133MHz。
之后的第二,三,四代DDR(Double Data Rate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。
DDR的读写频率从DDR200到DDR400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1600。
很多人将SDRAM错误的理解为第一代也就是 SDR SDRAM,并且作为名词解释,皆属误导。
SDR不等于SDRAM。
Pin:模组或芯片与外部电路电路连接用的金属引脚,而模组的pin就是常说的“金手指”。
SIMM:Single In-line Memory Module,单列内存模组。内存模组就是我们常说的内存条,所谓单列是指模组电路板与主板插槽的接口只有一列引脚(虽然两侧都有金手指)。
DIMM:Double In-line Memory Module,双列内存模组。是我们常见的模组类型,所谓双列是指模组电路板与主板插槽的接口有两列引脚,模组电路板两侧的金手指对应一列引脚。
RIMM:registered DIMM,带寄存器的双线内存模块,这种内存槽只能插DDR或Rambus内存。
SO-DIMM:笔记本常用的内存模组。
工作电压:
SDR:3.3V
DDR:2.5V
DDR2:1.8V
DDR3:1.5V
SDRAM内存条的金手指通常是168线,而DDR SDRAM内存条的金手指通常是184线的。
几代产品金手指的缺口数及缺口位置也不同有效防止反插与错插,SDRAM有两个缺口,DDR只有一个缺口。
SDRAM的结构、时序与性能的关系
一、影响性能的主要时序参数
所谓的影响性能是并不是指SDRAM的带宽,频率与位宽固定后,带宽也就不可更改了。但这是理想的情况,在内存的工作周期内,不可能总处于数据传输的状态,因为要有命令、寻址等必要的过程。但这些操作占用的时间越短,内存工作的效率越高,性能也就越好。
非数据传输时间的主要组成部分就是各种延迟与潜伏期。通过上文的讲述,大家应该很明显看出有三个参数对内存的性能影响至关重要,它们是tRCD、CL和tRP。每条正规的内存模组都会在标识上注明这三个参数值,可见它们对性能的敏感性。
以内存最主要的操作——读取为例。tRCD决定了行寻址(有效)至列寻址(读/写命令)之间的间隔,CL决定了列寻址到数据进行真正被读取所花费的时间,tRP则决定了相同L-Bank中不同工作行转换的速度。现在可以想象一下读取时可能遇到的几种情况(分析写入操作时不用考虑CL即可):
1、要寻址的行与L-Bank是空闲的。也就是说该L-Bank的所有行是关闭的,此时可直接发送行有效命令,数据读取前的总耗时为tRCD+CL,这种情况我们称之为页命中(PH,Page Hit)。
2、要寻址的行正好是前一个操作的工作行,也就是说要寻址的行已经处于选通有效状态,此时可直接发送列寻址命令,数据读取前的总耗时仅为CL,这就是所谓的背靠背(Back to Back)寻址,我们称之为页快速命中(PFH,Page Fast Hit)或页直接命中(PDH,Page Direct Hit)。
3、要寻址的行所在的L-Bank中已经有一个行处于活动状态(未关闭),这种现象就被称作寻址冲突,此时就必须要进行预充电来关闭工作行,再对新行发送行有效命令。结果,总耗时就是tRP+tRCD+CL,这种情况我们称之为页错失(PM,Page Miss)。
显然,PFH是最理想的寻址情况,PM则是最糟糕的寻址情况。上述三种情况发生的机率各自简称为PHR——PH Rate、PFDR——PFH Rate、PMR——PM Rate。因此,系统设计人员(包括内存与北桥芯片)都尽量想提高PHR与PFHR,同时减少PMR,以达到提高内存工作效率的目的。
二、增加PHR的方法
显然,这与预充电管理策略有着直接的关系,目前有两种方法来尽量提高PHR。自动预充电技术就是其中之一,它自动的在每次行操作之后进行预充电,从而减少了日后对同一L-Bank不同行寻址时发生冲突的可能性。但是,如果要在当前行工作完成后马上打开同一L-Bank的另一行工作时,仍然存在tRP的延迟。怎么办? 此时就需要L-Bank交错预充电了。
VIA的4路交错式内存控制就是在一个L-Bank工作时,对下一个要工作的L-Bank进行预充电。这样,预充电与数据的传输交错执行,当访问下一个L-Bank时,tRP已过,就可以直接进入行有效状态了。目前VIA声称可以跨P-Bank进行16路内存交错,并以LRU算法进行预充电管理。
有关L-Bank交错预充电(存取)的具体执行在本刊2001年第2期已有详细介绍,这里就不再重复了。
L-Bank交错自动预充电/读取时序图(可点击放大):L-Bank 0与L-Bank 3实现了无间隔交错读取,避免了tRP对性能的影响 三、增加PFHR的方法
无论是自动预充电还是交错工作的方法都无法消除tRCD所带来的延迟。要解决这个问题,就要尽量让一个工作行在进行预充电前尽可能多的接收多个工作命令,以达到背靠背的效果,此时就只剩下CL所造成的读取延迟了(写入时没有延迟)。
如何做到这一点呢?这就是北桥芯片的责任了。在上文的时序图中有一个参数tRAS(Active to Precharge Command,行有效至预充电命令间隔周期)。它有一个范围,对于PC133标准,一般是预充电命令至少要在行有效命令5个时钟周期之后发出,最长间隔视芯片而异(基本在120000ns左右),否则工作行的数据将有丢失的危险。那么这也就意味着一个工作行从有效(选通)开始,可以有120000ns的持续工作时间而不用进行预充电。显然,只要北桥芯片不发出预充电(包括允许自动预充电)的命令,行打开的状态就会一直保持。在此期间的对该行的任何读写操作也就不会有tRCD的延迟。可见,如果北桥芯片在能同时打开的行(页)越多,那么PFHR也就越大。需要强调的是,这里的同时打开不是指对多行同时寻址(那是不可能的),而是指多行同时处于选通状态。我们可以看到一些SDRAM芯片组的资料中会指出可以同时打开多少个页的指标,这可以说是决定其内存性能的一个重要因素。
Intel 845芯片组MCH的资料:其中表明它可以支持24个页面同时处于打开状态
但是,可同时打开的页数也是有限制的。从SDRAM的寻址原理讲,同一L-Bank中不可能有两个打开的行(S-AMP只能为一行服务),这就限制了可同时打开的页面总数。以SDRAM有4个L-Bank,北桥最多支持8个P-Bank为例,理论上最多只能有32个页面能同时处于打开的状态。而如果只有一个P-Bank,那么就只剩下4个页面,因为有几个L-Bank才能有同时打开几个行而互不干扰。Intel 845的MHC虽然可以支持24个打开的页面,那也是指6个P-Bank的情况下(845MCH只支持6个P-Bank)。可见845已经将同时打开页数发挥到了极致。
不过,同时打开页数多了,也对存取策略提出了一定的要求。理论上,要尽量多地使用已打开的页来保证最短的延迟周期,只有在数据不存在(读取时)或页存满了(写入时)再考虑打开新的指定页,这也就是变向的连续读/写。而打开新页时就必须要关闭一个打开的页,如果此时打开的页面已是北桥所支持的最大值但还不到理论极限的话,就需要一个替换策略,一般都是用LRU算法来进行,这与VIA的交错控制大同小异。
flash是存储芯片的一种,通过特定的程序可以修改里面的数据。
Flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。
目前Flash主要有两种NOR Flash和NADN Flash。NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。
一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Mxic,而生产NAND Flash的主要厂家有Samsung和Toshiba及Hynix。
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
---------------------------------------------------------------------------------------------
ROM
ROM指的是“只读存储器”,即Read-Only Memory。这是一种线路最简单半导体电路,通过掩模工艺, 一次性制造,其中的代码与数据将永久保存,不能进行修改。在微机的发展初期,BIOS都存放在ROM(Read Only Memory,只读存储器)中。如果发现内部数据有错,则只有舍弃不用,重新订做一份。
PROM
PROM指的是“可编程只读存储器”既Programmable Red-Only Memory。这样的产品只允许写入一次,所以也被称为“一次可编程只读存储器”(One Time Progarmming ROM,OTP-ROM)。PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1), 以实现对其“编程”的目的。PROM的典型产品是“双极性熔丝结构”,如果我们想改写某些单元,则可以给这些单元通以足够大的电流,并维持一定的时间, 原先的熔丝即可熔断,这样就达到了改写某些位的效果。另外一类经典的PROM为使用“肖特基二极管”的PROM,出厂时,其中的二极管处于反向截止状态,还是用大电流的方法将反相电压加在“肖特基二极管”,造成其永久性击穿即可。PROM一旦写入后无法修改,若是出了错误,已写入的芯片只能报废。
EPROM
EPROM指的是“可擦写可编程只读存储器”,即Erasable Programmable Read-Only Memory。 它的特点是具有可擦除功能,擦除后即可进行再编程,但是缺点是擦除需要使用紫外线照射一定的时间。这一类芯片特别容易识别,其封装中包含有“石英玻璃窗”,一个编程后的EPROM芯片的“石英玻璃窗”一般使用黑色不干胶纸盖住, 以防止遭到阳光直射。
EEPROM
EEPROM指的是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。它的最大优点是可直接用电信号擦除,也可用电信号写入。鉴于EPROM操作的不便,后来出的主板上的BIOS ROM芯片大部分都采用EEPROM。EEPROM的擦除不需要借助于其它设备,它是以电子信号来修改其内容的,而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入,彻底摆脱了EPROM Eraser和编程器的束缚。EEPROM在写入数据时,仍要利用一定的编程电压,此时,只需用厂商提供的专用刷新程序就可以轻而易举地改写内容,所以,它属于双电压芯片。 借助于EEPROM芯片的双电压特性,可以使BIOS具有良好的防毒功能,在升级时,把跳线开关打至“ON”的位置,即给芯片加上相应的编程电压,就可以方便地升级;平时使用时,则把跳线开关打至“OFF”的位置,防止病毒对BIOS芯片的非法修改。
Flash ROM
Flash ROM指的是“闪存”,所谓“闪存”,它也是一种非易失性的内存,属于EEPROM的改进产品,Flash属于真正的 单电压芯片,它的读和写操作都是在单电压下进行。它的最大特点是必须按块(Block或Sector)擦除(每个区块的大小不定,不同厂家的产品有不同的规格), 而EEPROM则可以一次只擦除一个字节(Byte)。Flash ROM 是利用浮置栅上的电容存储电荷来保存信息,因为浮置栅不会漏电,所以断电后信息仍然可以保存。Flash ROM的存储容量普遍大于EEPROM,约为512K到至8M KBit,由于大批量生产,价格也比较合适,很适合用来存放程序码,近年来已逐渐取代了EEPROM,广泛用于主板的BIOS ROM。另外,它还主要用于U盘,Mp3等需要大容量且断电不丢数据的设备。
---------------------------------------------------------------------------------------------
RAM 有两大类
1) 静态RAM(Static RAM / SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
2) 动态RAM(Dynamic RAM / DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM / FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等。其中DDR RAM(Double-Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的, 不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
RAM工作原理
SRAM利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。
DRAM 利用MOS管的栅电容上的电荷来存储信息,一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,由于栅极漏电,代表1的电容会放电,代表0的电容会吸收电荷,这样会造成数据丢失,因此需要一个额外设电路进行内存刷新操作。刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于 1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。这也是DRAM中的D(Dynamic动态)的意思。由于DRAM只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。SDRAM比它多了一个与CPU时钟同步。
掩膜式ROM
芯片生产厂家在制造芯片过程中把程序一并做在芯片内部,这就是二次光刻版图形(掩膜)。
存储阵列中的基本存储单元仅由一只MOS管构成,或缺省,凡有MOS管处表示存储0,反之为1. 工厂在生产时,根据客户提供的内容,决定
是否布下只MOS管. 用户在生产好后,是不能改写的( 难道撬开芯片,加个 MOS管上去?)
由于集成电路生产的特点,要求一个批次的掩膜ROM必须达到一定的数量(若十个晶圆)才能生产,否则将极不经济。掩膜ROM既可用双极性工艺实现,也可以用CMOS工艺实现。掩膜ROM的电路简单,集成度高,大批量生产时价格便宜。
一次性可编程ROM(PROM=Programmable ROM)
允许一次编程
存储阵列除了三极管之外,还有熔点较低的连线(熔断丝)串接在每只存储三极管的某一电极上,例如发射极. 编程之前,存储信息全为0,或全为1,编程写入时,外加比工作电压高的编程电压,根据需要使某些存储三极管通电,由于此时电流比正常工作电流大,于是熔断丝熔断开路,一旦开路之后就无法恢复连通状态,所以只能编程一次。如果把开路的三极管存储的信息当作0,反之,存储的信息就为1
紫外线擦除可编程ROM(EPROM=Erasable PROM)
用紫外线擦除后编程,并可多次擦除多次编程
FAMOS管与MOS管结构相似,它是在N型半导体基片上生长出两个高浓度的P型区,通过欧姆接触分别引出漏极D和源极S,在漏源之间的SiO2绝缘层中,包围了一多晶硅材料,与四周无直接电气连接,称之为浮置栅极,在对其编程时,在漏源之间加上编程电压(高于工作电压)时,会产生雪崩击穿现象,获得能量的电子会穿过SiO2注入到多晶硅中,编程结束后,在漏源之间相对感应出的正电荷导电沟道将会保持下来,如果将漏源之间感应出正电荷导电沟道的MOS管表示存入0,反之,浮置栅不带负电,即漏源之间无正电荷导电沟道的MOS管表示存入1状态
在EPROM芯片的上方,有一圆形石英窗,从而允许紫外线穿过透明的圆形石英窗而照射到半导体芯片上,将它放在紫外线光源下一般照射10分钟左右,EPROM中的内容就被抹掉,即所有浮置栅MOS管的漏源处于断开状态,然后,才能对它进行编程输入
出厂未编程前,每个基本存储单元都是信息1, 编程就是将某些单元写入信息0
EPROM是采用浮栅技术生产的可编程存储器,它的存储单元多采用N沟道叠栅MOS管(SIMOS),其结构及符号如图12.2.1(a)所示。除控制栅外,还有一个无外引线的栅极,称为浮栅。当浮栅上无电荷时,给控制栅(接在行选择线上)加上控制电压,MOS管导通;而当浮栅上带有负电荷时,则衬底表面感应的是正电荷,使得MOS管的开启电压变高,如图12.1.3(b)所示,如果给控制栅加上同样的控制电压,MOS管仍处于截止状态。由此可见,SIMOS管可以利用浮栅是否积累有负电荷来存储二值数据。
您所在的用户组无法下载或查看附件
(a) 叠栅MOS管的结构及符号图
您所在的用户组无法下载或查看附件
(b) 叠栅MOS管浮栅上积累电子与开启电压的关系
图12.2.1 叠栅MOS管
在写入数据前,浮栅是不带电的,要使浮栅带负电荷,必须在SIMOS管的漏、栅极加上足够高的电压(如25V),使漏极及衬底之间的PN结反向击穿,产生大量的高能电子。这些电子穿过很薄的氧化绝缘层堆积在浮栅上,从而使浮栅带有负电荷。当移去外加电压后,浮栅上的电子没有放电回路,能够长期保存。当用紫外线或X射线照射时,浮栅上的电子形成光电流而泄放,从而恢复写入前的状态。照射一般需要15至20分钟。为了便于照射擦除,芯片的封装外壳装有透明的石英盖板。EPROM的擦除为一次全部擦除,数据写入需要通用或专用的编程器。
电擦除可编程ROM(EEPROM = Electrically EPROM)
加电擦除,也可以多次擦除, 可以按字节编程
在EPROM基本存储单元电路的浮置栅MOS管T1上面再生成一个浮置栅MOS管T2,将T2浮置栅引出一个电极,使该电极接某一电压VG2,若VG2为正电压,T1浮置栅极与漏极之间产生一个隧道效应,使电子注入T1浮置栅极,于是T1的漏源接通,便实现了对该位的写入编程
用加电方法,进行在线(无需拔下,直接在电路中)擦写(擦除和编程一次完成)
有字节擦写、块擦写和整片擦写方法
按字节为单位进行擦除和写入,擦除和写入是同一种操作,即都是写入,只不过擦除是固定写“1”而已,在擦除时,输入的数据是TTL高电平
EEPROM在进行字节改写之前自动对所要写入的字节单元进行擦除,CPU只需要像写普通RAM一样写其中某一字节,但一定要等到5ms之后,CPU才能接着对EEPROM进行下一次写入操作,因而,以字节为单元写入是常用的一种简便方式
写入操作时,首先把待写入数据写入到页缓冲器中,然后,在内部定时电路的控制下把页缓冲器中的所有数据写入到EEPROM中所指定的存储单元,显然,相对字节写入方式,第二种方式的效率高,写入速度快。
E2PROM也是采用浮栅技术生产的可编程存储器,构成存储单元的MOS管的结构如图12.2.2所示。它与叠栅MOS管的不同之处在于浮栅延长区与漏区之间的交叠处有一个厚度约为80埃的薄绝缘层,当漏极接地,控制栅加上足够高的电压时,交叠区将产生一个很强的电场,在强电场的作用下,电子通过绝缘层到达浮栅,使浮栅带负电荷。这一现象称为“隧道效应”,因此,该MOS管也称为隧道MOS管。相反,当控制栅接地漏极加一正电压,则产生与上述相反的过程,即浮栅放电。与SIMOS管相比,隧道 MOS管也是利用浮栅是否积累有负电荷来存储二值数据的,不同的是隧道MOS管是利用电擦除的,并且擦除的速度要快得多。
E2PROM电擦除的过程就是改写过程,它是以字为单位进行的。E2PROM具有ROM的非易失性,又具备类似RAM的功能,可以随时改写(可重复擦写1万次以上)。目前,大多数E2PROM芯片内部都备有升压电路。因此,只需提供单电源供电,便可进行读、擦除/写操作,为数字系统的设计和在线调试提供了极大的方便。
您所在的用户组无法下载或查看附件
图12.2.2 隧道MOS管剖面结构示意图
您所在的用户组无法下载或查看附件
图12.2.3 快闪存储器存储单元MOS管剖面结构示意图
Flash闪存
快速擦写,但只能按块编程
快闪存储器存储单元的MOS管结构与SIMOS管类似,如图12.2.3所示。但有两点不同,一是快闪存储器存储单元MOS管的源极N+区大于漏极N+区,而SIMOS管的源极N+区和漏极N+区是对称的;二是浮栅到P型衬底间的氧化绝缘层比SIMOS管的更薄。这样,可以通过在源极上加一正电压,使浮栅放电,从而擦除写入的数据。由于快闪存储器中存储单元MOS管的源极是连接在一起的,所以不能象E2PROM 那样按字擦除,而是类似EPROM那样整片擦除或分块擦除。整片擦除只需要几秒钟,不像EPROM那样需要照射15到20分钟。快闪存储器中数据的擦除和写入是分开进行的,数据写入方式与EPROM相同,需输入一个较高的电压,因此要为芯片提供两组电源。一个字的写入时间约为200微秒,一般可以擦除/写入100次以上。
新型的FLASH,例如320C3B等,在常规存储区域后面还有128Bit的特殊加密,其中前64Bit(8字节)是唯一器件码(64BitUniqueDeviceIdentifier),每一片Flash在出厂时已经带有,并且同一种Flash型号不会有相同的编码,哪怕这个字库是全新空白的字库。后来64Bit为用户可编程OTP单元(64BitUserProgrammableOTPCells),可以由用户自用设定,单只能写入,不能擦除。
(1) 手机生产前,所有字库的内容都是同一写入的。
(2) 手机生产完成后,开机自检,自检程序判断唯一码,并根据唯一码的编号,再常规储存区域写入相应的信息,因此出厂的手机字库是完全不一样的。
(3) 手机厂商的这种做法是为了保护其自身的产权不收到非法抄袭。
(4) 很多维修工作者也尝试过,把一部正常使用的手机字库拆下来,把资料读出来并写入一颗全新字库,并装回到另外一部手机,哪怕是同一部手机上面,也不能正常使用,例如西门子的就是显示两行英文。其原因是手机开机后判断字库的唯一代码是否和主存储区域的相对应,如果不对应,就显示错误信息。
软件升级还要注意对应版本的问题,比如TCL就有不同显示屏的对应版本号,波导 S1000出线“bad software”(软件坏了)此故障多是软件版本不对引起的,只要写对软件版本就可以解决问题。另外,S1000的新旧模块和新旧LCD的组合要选择合适的软件版本, 否则会出现 “bad software” 故障。例如:旧LCD+旧模块,适用软件是409AM11B。19A,如果错用了412KM12A。21A或412KM12A。20F均会出现“bad software”。旧模块,适用软件是412KM12A.21A,如果错用了409AM11B.19A或409AM11B.19F。均会出现“bad software”等。三星机也有不同版本的对应升级程序。当然也有修理出来的软件故障,这是由于厂家对程序进行硬件跟踪对码工作,导致更换相应元件后而出现软件故障不能正常使用。比如NOKIA手机从DCT3都一直硬件对码加密措施;现在三星比如V208说机也采用了硬件对码技术,对我们的软件维修带来了阻碍。
又如MTK的firmware, 清空flash最后1m或者2m可以解决一些类似的软件问题
掩膜式ROM
芯片生产厂家在制造芯片过程中把程序一并做在芯片内部,这就是二次光刻版图形(掩膜)。
存储阵列中的基本存储单元仅由一只MOS管构成,或缺省,凡有MOS管处表示存储0,反之为1. 工厂在生产时,根据客户提供的内容,决定
是否布下只MOS管. 用户在生产好后,是不能改写的( 难道撬开芯片,加个 MOS管上去?)
由于集成电路生产的特点,要求一个批次的掩膜ROM必须达到一定的数量(若十个晶圆)才能生产,否则将极不经济。掩膜ROM既可用双极性工艺实现,也可以用CMOS工艺实现。掩膜ROM的电路简单,集成度高,大批量生产时价格便宜。
一次性可编程ROM(PROM=Programmable ROM)
允许一次编程
存储阵列除了三极管之外,还有熔点较低的连线(熔断丝)串接在每只存储三极管的某一电极上,例如发射极. 编程之前,存储信息全为0,或全为1,编程写入时,外加比工作电压高的编程电压,根据需要使某些存储三极管通电,由于此时电流比正常工作电流大,于是熔断丝熔断开路,一旦开路之后就无法恢复连通状态,所以只能编程一次。如果把开路的三极管存储的信息当作0,反之,存储的信息就为1
紫外线擦除可编程ROM(EPROM=Erasable PROM)
用紫外线擦除后编程,并可多次擦除多次编程
FAMOS管与MOS管结构相似,它是在N型半导体基片上生长出两个高浓度的P型区,通过欧姆接触分别引出漏极D和源极S,在漏源之间的SiO2绝缘层中,包围了一多晶硅材料,与四周无直接电气连接,称之为浮置栅极,在对其编程时,在漏源之间加上编程电压(高于工作电压)时,会产生雪崩击穿现象,获得能量的电子会穿过SiO2注入到多晶硅中,编程结束后,在漏源之间相对感应出的正电荷导电沟道将会保持下来,如果将漏源之间感应出正电荷导电沟道的MOS管表示存入0,反之,浮置栅不带负电,即漏源之间无正电荷导电沟道的MOS管表示存入1状态
在EPROM芯片的上方,有一圆形石英窗,从而允许紫外线穿过透明的圆形石英窗而照射到半导体芯片上,将它放在紫外线光源下一般照射10分钟左右,EPROM中的内容就被抹掉,即所有浮置栅MOS管的漏源处于断开状态,然后,才能对它进行编程输入
出厂未编程前,每个基本存储单元都是信息1, 编程就是将某些单元写入信息0
EPROM是采用浮栅技术生产的可编程存储器,它的存储单元多采用N沟道叠栅MOS管(SIMOS),其结构及符号如图12.2.1(a)所示。除控制栅外,还有一个无外引线的栅极,称为浮栅。当浮栅上无电荷时,给控制栅(接在行选择线上)加上控制电压,MOS管导通;而当浮栅上带有负电荷时,则衬底表面感应的是正电荷,使得MOS管的开启电压变高,如图12.1.3(b)所示,如果给控制栅加上同样的控制电压,MOS管仍处于截止状态。由此可见,SIMOS管可以利用浮栅是否积累有负电荷来存储二值数据。
您所在的用户组无法下载或查看附件
(a) 叠栅MOS管的结构及符号图
您所在的用户组无法下载或查看附件
(b) 叠栅MOS管浮栅上积累电子与开启电压的关系
图12.2.1 叠栅MOS管
在写入数据前,浮栅是不带电的,要使浮栅带负电荷,必须在SIMOS管的漏、栅极加上足够高的电压(如25V),使漏极及衬底之间的PN结反向击穿,产生大量的高能电子。这些电子穿过很薄的氧化绝缘层堆积在浮栅上,从而使浮栅带有负电荷。当移去外加电压后,浮栅上的电子没有放电回路,能够长期保存。当用紫外线或X射线照射时,浮栅上的电子形成光电流而泄放,从而恢复写入前的状态。照射一般需要15至20分钟。为了便于照射擦除,芯片的封装外壳装有透明的石英盖板。EPROM的擦除为一次全部擦除,数据写入需要通用或专用的编程器。
电擦除可编程ROM(EEPROM = Electrically EPROM)
加电擦除,也可以多次擦除, 可以按字节编程
在EPROM基本存储单元电路的浮置栅MOS管T1上面再生成一个浮置栅MOS管T2,将T2浮置栅引出一个电极,使该电极接某一电压VG2,若VG2为正电压,T1浮置栅极与漏极之间产生一个隧道效应,使电子注入T1浮置栅极,于是T1的漏源接通,便实现了对该位的写入编程
用加电方法,进行在线(无需拔下,直接在电路中)擦写(擦除和编程一次完成)
有字节擦写、块擦写和整片擦写方法
按字节为单位进行擦除和写入,擦除和写入是同一种操作,即都是写入,只不过擦除是固定写“1”而已,在擦除时,输入的数据是TTL高电平
EEPROM在进行字节改写之前自动对所要写入的字节单元进行擦除,CPU只需要像写普通RAM一样写其中某一字节,但一定要等到5ms之后,CPU才能接着对EEPROM进行下一次写入操作,因而,以字节为单元写入是常用的一种简便方式
写入操作时,首先把待写入数据写入到页缓冲器中,然后,在内部定时电路的控制下把页缓冲器中的所有数据写入到EEPROM中所指定的存储单元,显然,相对字节写入方式,第二种方式的效率高,写入速度快。
E2PROM也是采用浮栅技术生产的可编程存储器,构成存储单元的MOS管的结构如图12.2.2所示。它与叠栅MOS管的不同之处在于浮栅延长区与漏区之间的交叠处有一个厚度约为80埃的薄绝缘层,当漏极接地,控制栅加上足够高的电压时,交叠区将产生一个很强的电场,在强电场的作用下,电子通过绝缘层到达浮栅,使浮栅带负电荷。这一现象称为“隧道效应”,因此,该MOS管也称为隧道MOS管。相反,当控制栅接地漏极加一正电压,则产生与上述相反的过程,即浮栅放电。与SIMOS管相比,隧道 MOS管也是利用浮栅是否积累有负电荷来存储二值数据的,不同的是隧道MOS管是利用电擦除的,并且擦除的速度要快得多。
E2PROM电擦除的过程就是改写过程,它是以字为单位进行的。E2PROM具有ROM的非易失性,又具备类似RAM的功能,可以随时改写(可重复擦写1万次以上)。目前,大多数E2PROM芯片内部都备有升压电路。因此,只需提供单电源供电,便可进行读、擦除/写操作,为数字系统的设计和在线调试提供了极大的方便。
您所在的用户组无法下载或查看附件
图12.2.2 隧道MOS管剖面结构示意图
您所在的用户组无法下载或查看附件
图12.2.3 快闪存储器存储单元MOS管剖面结构示意图
Flash闪存
快速擦写,但只能按块编程
快闪存储器存储单元的MOS管结构与SIMOS管类似,如图12.2.3所示。但有两点不同,一是快闪存储器存储单元MOS管的源极N+区大于漏极N+区,而SIMOS管的源极N+区和漏极N+区是对称的;二是浮栅到P型衬底间的氧化绝缘层比SIMOS管的更薄。这样,可以通过在源极上加一正电压,使浮栅放电,从而擦除写入的数据。由于快闪存储器中存储单元MOS管的源极是连接在一起的,所以不能象E2PROM 那样按字擦除,而是类似EPROM那样整片擦除或分块擦除。整片擦除只需要几秒钟,不像EPROM那样需要照射15到20分钟。快闪存储器中数据的擦除和写入是分开进行的,数据写入方式与EPROM相同,需输入一个较高的电压,因此要为芯片提供两组电源。一个字的写入时间约为200微秒,一般可以擦除/写入100次以上。
新型的FLASH,例如320C3B等,在常规存储区域后面还有128Bit的特殊加密,其中前64Bit(8字节)是唯一器件码(64BitUniqueDeviceIdentifier),每一片Flash在出厂时已经带有,并且同一种Flash型号不会有相同的编码,哪怕这个字库是全新空白的字库。后来64Bit为用户可编程OTP单元(64BitUserProgrammableOTPCells),可以由用户自用设定,单只能写入,不能擦除。
(1) 手机生产前,所有字库的内容都是同一写入的。
(2) 手机生产完成后,开机自检,自检程序判断唯一码,并根据唯一码的编号,再常规储存区域写入相应的信息,因此出厂的手机字库是完全不一样的。
(3) 手机厂商的这种做法是为了保护其自身的产权不收到非法抄袭。
(4) 很多维修工作者也尝试过,把一部正常使用的手机字库拆下来,把资料读出来并写入一颗全新字库,并装回到另外一部手机,哪怕是同一部手机上面,也不能正常使用,例如西门子的就是显示两行英文。其原因是手机开机后判断字库的唯一代码是否和主存储区域的相对应,如果不对应,就显示错误信息。
软件升级还要注意对应版本的问题,比如TCL就有不同显示屏的对应版本号,波导 S1000出线“bad software”(软件坏了)此故障多是软件版本不对引起的,只要写对软件版本就可以解决问题。另外,S1000的新旧模块和新旧LCD的组合要选择合适的软件版本, 否则会出现 “bad software” 故障。例如:旧LCD+旧模块,适用软件是409AM11B。19A,如果错用了412KM12A。21A或412KM12A。20F均会出现“bad software”。旧模块,适用软件是412KM12A.21A,如果错用了409AM11B.19A或409AM11B.19F。均会出现“bad software”等。三星机也有不同版本的对应升级程序。当然也有修理出来的软件故障,这是由于厂家对程序进行硬件跟踪对码工作,导致更换相应元件后而出现软件故障不能正常使用。比如NOKIA手机从DCT3都一直硬件对码加密措施;现在三星比如V208说机也采用了硬件对码技术,对我们的软件维修带来了阻碍。
又如MTK的firmware, 清空flash最后1m或者2m可以解决一些类似的软件问题
FPGA系统中DRAM,SRAM,SDRAM,FLASH 区别(转)的更多相关文章
- ROM、SDRAM、RAM、DRAM、SRAM、FLASH区别
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- ROM、RAM、DRAM、SRAM和FLASH区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写. ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都 ...
- 18.11 ROM、RAM、DRAM、SRAM和FLASH区别
ROM(Read Only Memory)和RAM(Random Access Memory)指的都是半导体存储器.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,但 ...
- 【转】RAM 大全-DRAM, SRAM, SDRAM的关系与区别
http://blog.csdn.net/huleide/article/details/5506698 ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是R ...
- RAM 大全-DRAM, SRAM, SDRAM的关系与区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...
- 名词解释:DRAM, SRAM, SDRAM等
SRAM:静态RAM,不用刷新,速度可以非常快,像CPU内部的cache,都是静态RAM,缺点是一个内存单元需要的晶体管数量多,因而价格昂贵,容量不大. DRAM:动态RAM,需要刷新,容量大. SD ...
- Android系统中Parcelable和Serializable的区别
转载:https://greenrobot.me/devpost/android-parcelable-serializable/ 进行Android开发的时候,我们都知道不能将对象的引用传给Acti ...
- 【安卓开发】Android系统中Parcelable和Serializable的区别
http://greenrobot.me/devpost/android-parcelable-serializable/ 进行Android开发的时候,我们都知道不能将对象的引用传给Activiti ...
- Android系统中Parcelable和Serializable的区别,自动化实现Parcelable接口的插件
Parcelable和Serializable的区别 参考地址:http://greenrobot.me/devpost/android-parcelable-serializable/ 由于最终的区 ...
随机推荐
- Bitly缩短网址服务 - Blog透视镜
网站的网址过长或是含有非英文或数字符号,会导致在BBS或者微网志中分享给好友时,产生很多的不方便,Bitly是个缩短网址服务的网站,提供1个短网址转向指定到长网址,免费使用且提供统计报表,例如本篇文章 ...
- Quartz.net Cron表达式
由7段构成:秒 分 时 日 月 星期 年(可选)"-" :表示范围 MON-WED表示星期一到星期三"," :表示列举 MON,WEB表示星期一和星期三&qu ...
- vs 自动生成core dump文件
一直以来觉着core dump这个东西很神奇,在初步学习的时候也没有个大方向,最近项目需要记录程序崩溃时的日志信息,因此在网上寻找相关的信息,此时core dump也成为了我重点关注的东西. 说说我的 ...
- 做一个有理想的IT人
前段时间一直以来都在思考生命的价值的问题,一直在想人的一生的追求是什么.在这个物欲横流的社会,对人的价值的定义只是在财富积累的多少,这个是大多数人所认为的.但人的一生顶多百年,百年之后这些虚荣划归为尘 ...
- Linux优化,history增加详细历史记录
主要功能: 1, 可以记录哪个ip和时间(精确到秒)以及哪个用户,作了哪些命令 2,最大日志记录增加到4096条 把下面的代码直接粘贴到/etc/profile后面就可以了 #history mo ...
- 04747_Java语言程序设计(一)_第3章_面向对象编程基础
链式编程 每次调用方法后,返回的是一个对象 /* * 链式编程 * 每次调用方法后,返回的是一个对象 */ class Student { public void study() { System.o ...
- 《Java程序员面试笔试宝典》之为什么需要public static void main(String[] args)这个方法
public staticvoid main(String[] args)为Java程序的入口方法,JVM在运行程序的时候,会首先查找main方法.其中,public是权限修饰符,表明任何类或对象都可 ...
- 常用的Eclipse快捷键
alt+shift+r 修改名字 ctrl+shift+r 查找源类 Eclipse快捷键功能1. [ALT+/] --->提示此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不 ...
- hdu 5427 A problem of sorting(字符排序)
Problem Description There are many people's name and birth in a list.Your task is to print the name ...
- jquery 鼠标图片经过效果
<script> //鼠标图片经过效果 $(function(){ $(".jione_box ").css("background-color", ...