flash是干啥的(flash是干什么用的)
@人人能科普,处处有新知FLASH的发展历史FLASH闪存是是一种非易失性( Non-Volatile )内存,其名字有闪耀,闪烁的意思,也体现了其读写快速的特点,“读写过程一闪而过”。
首先简单介绍一下FLASH的发展过程。
1.在计算机的发展初期,BIOS都存放在ROM(Read Only Memory,只读存储器)中。ROM内部的资料是在ROM的制造工序中,在工厂里用特殊的方法被烧录进去的,其中的内容只能读不能改,一旦烧录进去,就不能再作任何修改。并且由于ROM是在生产线上生产的,成本高,一般只用在大批量应用的场合。
2.由于ROM制造和升级的不便,后来人们发明了PROM(Programmable ROM,可编程ROM)。用户可以用专用的编程器将自己的资料写入,但是这种机会只有一次,一旦写入后也无法修改。并且其成本比ROM还高,而且写入资料的速度比ROM的速度要慢,一般只适用于少量需求的场合或是ROM量产前的验证。
3.EPROM(Erasable Programmable ROM,可擦除可编程ROM)芯片可重复擦除和写入,解决了ROM、PROM芯片只能写入一次的弊端。EPROM芯片可以重复的擦除和写入,但是EPROM的擦除和写入都需要专用的擦除器和编程器。
4.后来针对EPROM擦除写入必须使用专用设备的弊端,出现了EEPROM(Electrically Erasable Programmable ROM,电可擦除可编程ROM)。EEPROM的擦除不需要借助于其它设备,它是以电子信号来修改其内容的,而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入,彻底摆脱了EPROM Eraser和编程器的束缚。
5.FLASH ROM在使用上很类似EEPROM,因此,有些书籍上便把FLASH ROM作为EEPROM的一种,这可以称为广义EEPROM,而狭义的EEPROM则将二者分开。事实上,二者还是有差别的。FLASH ROM在擦除时,也要执行专用的刷新程序,但是在删除资料时,并非以Byte为基本单位,而是以Sector(又称Block)为最小单位,Sector的大小随厂商的不同而有所不同;只有在写入时,才以Byte为最小单位写入; FLASH ROM的存储容量普遍大于EEPROM。
FLASH的一些基本概念。
完整的FLASH芯片称为device一个device可能包含1个或多个die(LUN),die是具备完整flash芯片功能的模块,对比含1个die的device,区别在于没有封装的就是die,封装后的就是device。Die内可以含多个plane,每个plane具备独立的读、写、擦除功能,但多个plane可以公用控制逻辑寄存器,即在die内,可以同时对多个plane进行相同的操作Plane下最小擦除单元就是block,一个block包含多个page,所有串在同样BL下的page组成一个block。
Page是能够执行编程和读操作的最小单元,同一根WL上的所有数据即page,WL即page.Cell是Page中的最小操作擦写读单元,对应一个浮栅晶体管,可以存储1bit或多bit数据。
FLASH层次结构图
根据FLASH内部存储结构划分,可以将FLASH划分为两类:NOR型和NAND型。Intel于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。紧接着,1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。
从字面意思理解,NOR就是NOT OR,就是或非门,因为对于NOR型FLASH来说,只有当字线和位线都为低时,对应的存储单元的数据才是高。
NAND就是NOT AND,就是与非门,因为只有当字线都为高时,位线才为低。对于什么是位线,什么是字线,请看下面两张图,
WORD对应的就是字线,Bit对应的就是位线。
NOR FLASH结构示意
NAND FLASH结构示意
对于FLASH的操作一般分为读、写、擦除,NOR和NAND型FLASH的操作方式上也是有所差异的。NOR型FLASH,采用的是沟道热电子注入(CHE)的方式来写入数据,F-N隧穿效应来擦除数据。而NAND型FLASH,写入和擦除都是利用F-N隧穿效应来实现的。
F-N隧穿效应涉及到很高深的量子理论,不过这个效应很早就被人发现了,是在1957年被日本人发现的。
NOR FLASH和NAND FLASH由于它们不同的存储结构,也表现出了很多不同的特点:
1、容量和成本NOR FLASH在1~4MB的小 容量时具有很高的成本效益NAND FLASH 在大容量场合单位容量成本低
2、性能差别NOR 擦除和写入慢,读取快,可以直接运行代码,NAND 擦除和写入快,读取慢,需要将程序先读入RAM再执行。
3、接口差别nor flash 的接口和RAM一样,而 nand flash 是使用I/O口来串行地存取数据。
4、易用性nor flash可以直接地使用基于 nor flash 地内存,可以直接在上面运行代码而使用 nand flash需要先写入驱动程序,还要将程序先读入RAM再执行。
5、耐用性在nand flash内存中的每个块的最大擦除写次数是100万次,而nor flash 的擦写次数是10万次。
6、主要用途两者的差异也就决定了它们的使用范围的不同,在BIOS、穿戴设备、汽车电子等不需要频繁擦除写入,并且容量要求低的场合,多使用NOR FLASH。而在人们常用的U盘、一些工业设备如PLC、HMI等,则一般使用NAND FLASH。综上,可以将二者的差异汇总为如下表格。