EEPROM, NAND FLASH, NOR FLASH

EEPROM, NAND FLASH, NOR FLASH

基础:内部结构

EEPROM结构特点

EEPROM基于浮栅管单元(Floating gate transister)的结构. EEPROM 的 单元是由FLOTOX(Floating- gate tuneling oxide transister)及一个附加的Transister 组成.
由于FLOTOX 的特性及两管结构,所以可以单bit写.
它的每个存储单元并联.

FLASH结构特点

flash属于广义的EEPROM.
FLASH 基于EEPROM, 与EEPROM主要的不同是FLASH 去除了 EEPROM 存储单元里的Tansister, 简化了存储电路(注意不是控制电路).

除此之外FLASH 的浮栅工艺不同, 所以写入速度更快.

NORFLASH的每个存储单元(bit)以并联的方式连接到数据bit线,方便对每一位进行随机存取;
同时具有专用的地址线(可以理解为字线),可以实现byte的直接寻址.
NORFLASH具有足够的地址和数据线来映射整个存储区域,类似于SRAM的工作方式.例如,具有16位数据总线的2Gbit(256MB)NOR闪存将具有27条地址线,可以对任何byte进行随机读取访问.
所以NORFLASH可以按byte读取.

NAND FLASH 各存储单元(bit)之间是串联的.在读取数据时,当字线和位线锁定某个晶体管时,该晶体管的控制极不加偏置电压,其它的 7 个都加上偏置电压而导通,如果这个晶体管的浮栅中有电荷就会导通使位线为低电平,读出的数就是 0,反之就是 1.
所以每次读取都是读取一行bytes里面的同一个bit, 最后整合为一个块:它是按块读取.

特性

成本,容量

EEPROM存储电路并联, 每个bit的存储单元还要多加一个三极管, 最复杂所以单位成本也最高(注意不是控制电路)
因此它 容量最低.EEPROM都是几十kbytes到几百kbytes,基本没有有超过512K.

NORFLASH去除了EEPROM存储单元的三极管,每个存储单元并联, 去除了EEPROM存储单元的三极管, 集成度较小, 所以单位成本高.
容量一般为1~16MB

NANDFLASH, 去除了EEPROM存储单元的三极管, 各存储单元之间串联, 所以集成度大,单位成本最低.
容量一般为8~512MB

写入

EEPROM和FLASH在写入新数据之前,必须先将一个单元擦除(写 1). 然后再在相应位写0.

NOR&NAND FLASH 去除了EEPROM存储单元的三极管. 所以只能整块的擦除.每次擦除只能擦除一行字节的一个bit.
这是一个降低了单位成本的折衷办法,因为这容易导致损耗: 减少了总擦除/写入次数.
擦除块越小擦除越快. 然而擦除块越小芯片面积和存储器成本增加. 与NOR闪存相比NAND闪存可以更经济高效地支持更小的擦除块.目前,NAND闪存的典型块大小为8KB至32KB, NOR Flash为64KB至256KB.
除此之外在NOR闪存中,每个字节在擦除之前都需要写入“0”.这使得NOR闪存的擦除操作比NAND闪存慢得多.例如,NAND闪存S34ML04G2需要3.5ms才能擦除128KB块,而NOR闪存S70GL02GT则需要约520ms来擦除类似的128KB扇区.这相差近150倍.除此之外NOR的擦除块更大,这就更慢了.
EEPROM和FLASH的浮栅工艺不同, 所以NANDFLASH写入速度最快, EEPROM居中, NOR最慢.

读取数据粒度与速度

EEPROM可以单字节读取
EERPOM 一般用于低端产品,读的速度不需要那么快,真要做的话,其实也是可以做的和FLASH 差不多。
它的每个存储单元并联. 所以它的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1.

Norflash可以单字节读取
NORFLASH的每个存储单元(bit)以并联的方式连接到数据bit线,方便对每一位进行随机存取;
同时具有专用的地址线(可以理解为字线),可以实现byte的直接寻址.
NORFLASH具有足够的地址和数据线来映射整个存储区域,类似于SRAM的工作方式.例如,具有16位数据总线的2Gbit(256MB)NOR闪存将具有27条地址线,可以对任何byte进行随机读取访问.
所以NORFLASH可以按byte读取, 随机读取(给一个地址读一个字节)时间很短.

Nandflash以页为单位读取
NAND FLASH 各存储单元(bit)之间是串联的.在读取数据时,当字线和位线锁定某个晶体管时,该晶体管的控制极不加偏置电压,其它的 7 个都加上偏置电压而导通,如果这个晶体管的浮栅中有电荷就会导通使位线为低电平,读出的数就是 0,反之就是 1.
所以每次读取都是读取一行bytes里面的同一个bit, 最后整合为一个页:它是按页读取. 随机读取时间很长.
NAND 的全部存储单元分为若干个块,每个块又分为若干个页,每个页是 512byte: 每个页有 512 条位线,每条位线下有 8 个存储单元.

每页存储的数据正好跟硬盘的一个块存储的数据相同,这是设计时为了方便与磁盘进行数据交换而特意安排的.
在NAND闪存中,使用多路复用地址和数据总线访问存储器.典型的NAND闪存使用8位或16位多路复用地址/数据总线以及其他信号,如芯片使能,写使能,读使能,地址锁存使能,命令锁存使能和就绪/忙碌. NAND Flash需要提供命令(读,写或擦除),然后是地址和数据.这些额外的操作也使NAND闪存的随机读取速度慢得多.
NAND闪存的顺序访问持续时间通常低于NOR闪存设备中的随机访问持续时间.利用NOR Flash的随机访问架构,需要在每个读取周期切换地址线,从而累积随机访问以进行顺序读取.随着要读取的数据块的大小增加,NOR闪存中的累积延迟变得大于NAND闪存.因此,NAND Flash顺序读取可以更快.但是由于NAND Flash的初始读取访问持续时间要长得多,两者的性能差异只有在传输大数据块(超过1 KB)时才明显.

可靠性

EEPROM
存储电路复杂, 具有较高的可靠性, 最稳定可以保存100年,

NOR
存储电路比复杂, 具有比较高的可靠性

NAND
存储电路简单, 可靠性比较低
闪存会遭遇称为位翻转的现象,其中一些位可以被反转.
这种现象在NAND存储电路简单中所以位翻转比NOR更常见.
NAND器件中的坏块是随机分布的.以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算.
NAND需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用.一般来说NAND的Block0是没有位翻转的.
随着擦除和编程周期在NAND闪存的整个生命周期中持续,更多的存储器单元变坏.
因此坏块处理(错误探测/错误更正(EDC/ECC)算法.)是NAND闪存的强制性功能. 这导致NAND的控制器电路复杂.
这个问题对于用NAND存储多媒体信息时不是致命的. 但如果用本地存储设备来存储操作系统,配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性.

另一方面, NOR闪存坏块少,在存储器的使用寿命期间具有非常低的坏块累积.因此,当涉及存储数据的可靠性时,NOR Flash优于NAND Flash.

可靠性的另一个方面是数据保留,这方面,NOR Flash再次占据优势,例如,NOR Flash闪存S70GL02GT提供20年的数据保留,最高可达1K编程/擦除周期,NAND闪存S34ML04G2提供10年的典型数据保留.

擦除次数

EEPROM
EEPROM 每次只需要擦除一个字节所以不容易损耗
可以擦写100w次.

NAND闪存编程和擦除次数比NOR闪存好10倍.
在NAND闪存中每个块的最大擦写次数是一百万次
NOR的擦写次数是十万次
NAND存储器除了块擦除次数优势, 典型的NAND块尺寸要比NOR器件小8倍, 每个NAND存储器块在给定的时间内的删除次数要少一些.

编程和擦除的数量曾是一个需要考虑的重要特性.
随着技术进步,这已不再适用,因为这两种存储器在这方面的性能已经很接近.例如,S70GL02GT NOR和S34ML04G2 NAND都支持100,000个编程 - 擦除次数.
但是,由于NAND闪存中使用的块尺寸较小,因此每次操作都会擦除较小的区域, 与NOR Flash相比其整体寿命更长.

XIP

EEPROM&NORFLASH
eeprom以及norflash可以像内存一样读任意地址(任意字节),可以XIP
当然这也要看接口是不是内存接口,如果不支持随机读取就一般不行

大部分NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节.可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码.

有的Norflash可以并行连接实现XIP,也可以串行通过SPI实现XIP.
对于PC这需要相应的总线桥(内存控制器)芯片支持, Soc内部要集成相应桥芯片, 挂接到PCIE或者AMBA总线. 桥芯片的硬件逻辑会实现串并转换,总线仲裁,Cache结构,Burst等逻辑.

NANDFLASH
nandflash是按块读取,随机读取太慢所以不适合XIP
当然这也要看接口是不是内存接口,如果不支持随机读取就一般不行

NAND使用复杂的I/O口来串行地存取数据. 一般是8个引脚用来传送控制,地址和数据信息
NANDFLASH只是不适合做XIP,但并不是不能做XIP,它坏块多,读取也太慢!

比如EMMC启动就必须要把代码load到RAM里才能启动
你看到某些芯片支持EMMC启动,必定是有片内程序把EMMC的代码读到了RAM里

驱动复杂程度

NAND更容易遇到位翻转, 驱动和控制电路要复杂的多.
在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作.
NAND在每一行上有CRC位标记,以及一些用于指示行是否为好的位。NAND处理芯片将管理CRC计算,允许在读取时纠正位错误,并管理坏行。
在USB驱动器中,这一切都由USB接口芯片处理。在SSD中,它由SATA(或其他接口模式)芯片处理,因此CRC错误和坏点映射对用户来说都是不可见的。
这意味着在NAND器件上自始至终都必须进行虚拟映射.
NAND内存的可靠运行还需要损耗均衡(就是把擦除平均到每个块上),损耗均衡也由USB或SSD控制器处理,因此用户也不可见。

用途

通常,NOR闪存是需要较低容量,快速随机读取访问和更高数据可靠性的应用的理想选择,例如代码执行.
NAND闪存则非常适用于需要更高内存容量和更快写入和擦除操作的数据存储等应用.

嵌入式系统多用一个小容量的nor flash存储引导代码,用一个大容量的nand flash存放文件系统和内核.

常见EEPROM&FLASH举例

一,IICEEPROM

IICEEPROM,采用的是IIC通信协议.
IIC通信协议具有的特点:简单的两条总线线路,一条串行数据线(SDA),一条串行时钟线(SCL);串行半双工通信模式的8位双向数据传输,位速率标准模式下可达100Kbit/s;一种电可擦除可编程只读存储器,掉电后数据不丢失,由于芯片能够支持单字节擦写,且支持擦除的次数非常之多,一个地址位可重复擦写的理论值为100万次,常用芯片型号有AT24C02,FM24C02,CAT24C02等,其常见的封装多为DIP8,SOP8,TSSOP8等.

二,SPINorFlash

SPINorFlash,采用的是SPI通信协议.有4线(时钟,两个数据线,片选线)或者3线(时钟,两个数据线)通信接口,由于它有两个数据线能实现全双工通信,因此比IIC通信协议的IICEEPROM的读写速度上要快很多.SPINorFlash具有NOR技术FlashMemory的特点,即程序和数据可存放在同一芯片上,拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从Flash中读取代码执行;可以单字节或单字编程,但不能单字节擦除,必须以Sector为单位或对整片执行擦除操作,在对存储器进行重新编程之前需要对Sector或整片进行预编程和擦除操作.
NorFlash在擦写次数上远远达不到IICEEPROM,并且由于NOR技术FlashMemory的擦除和编程速度较慢,块尺寸又较大,因此擦除和编程操作所花费的时间会很长;但SPINorFlash接口简单,使用的引脚少,易于连接,操作方便,并且可以在芯片上直接运行代码,其稳定性出色,传输速率高,在小容量时具有很高的性价比,这使其很适合应于嵌入式系统中作为FLASHROM,所以在市场的占用率非常高.
常见到的S25FL128,MX25L1605,W25Q64等型号都是SPINorFlash,其常见的封装多为SOP8,SOP16,WSON8,US0N8,QFN8,BGA24等.

三,ParallelNorFalsh(CFIFlash)

ParallelNorFalsh,也叫做并行NorFlash,采用的Parallel接口通信协议.拥有独立的数据线和地址总线,它同样继承了NOR技术FlashMemory的所有特点;由于采用了Parallel接口,ParallelNorFalsh相对于SPINorFlash,支持的容量更大,读写的速度更快,但是由于占用的地址线和数据线太多,在电路电子设计上会占用很多资源.ParallelNorFalsh读写时序类似于SRAM,只是写的次数较少,速度也慢,由于其读时序类似于SRAM,读地址也是线性结构,所以多用于不需要经常更改程序代码的数据存储.
常见到的S29GL128,MX29GL512,SST39VF020等型号都是ParallelNorFlash,其常见的封装多为TSSOP32,TSOP48,BGA64,PLCC32等.

四,ParallelNandFlash

ParallelNandFlash同样采用了Parallel接口通信协议,NandFlash在工艺制程方面分有三种类型:SLC,MLC,TLC.
NandFlash技术FlashMemory具有以下特点:以页为单位进行读和编程操作,以块为单位进行擦除操作;具有快编程和快擦除的功能,其块擦除时间是2ms,而NOR技术的块擦除时间达到几百ms;芯片尺寸小,引脚少,是位成本(bitcost)最低的固态存储器;芯片包含有坏块,其数目取决于存储器密度.坏块不会影响有效块的性能,但设计者需要有一套的坏块管理策略!
对比ParallelNorFalsh,NandFlash在擦除,读写方面,速度快,使用擦写次数更多,并且它强调更高的性能,更低的成本,更小的体积,更大的容量,更长的使用寿命.这使NandFlash很擅于存储纯资料或数据等,在嵌入式系统中用来支持文件系统.其主要用来数据存储,大部分的U盘都是使用NandFlash,当前NandFlash在嵌入式产品中应用仍然极为广泛,因此坏块管理,掉电保护等措施就需要依赖NandFlash使用厂家通过软件进行完善.
常见到的S34ML01G100,MX30LF2G18AC,MT29F4G08ABADA等型号都是ParallelNandFlash,其常见的封装多为TSOP48,BGA63,BGA107,BGA137等.

五,SPINandFlash

SPINandFlash,采用了SPINorFlash一样的SPI的通信协议,在读写的速度上没什么区别,但在存储结构上却采用了与ParallelNandFlash相同的结构,所以SPInand相对于SPInorFlash具有擦写的次数多,擦写速度快的优势,但是在使用以及使用过程中会同样跟ParallelNandFlash一样会出现坏块,因此,也需要做特殊坏块处理才能使用;
SPINandFlash相对比ParallelNandFlash还有一个重要的特点,那就是芯片自己有内部ECC纠错模块,用户无需再使用ECC算法计算纠错,用户可以在系统应用当中可以简化代码,简单操作;
常见到的W25N01GVZEIG,GD5F4GQ4UBYIG,F50L1G41A等型号都是SPINandFlash,其常见的封装多为QFN8,BGA24等.

六,eMMCFlash

eMMC采用统一的MMC标准接口,自身集成MMCController,存储单元与NandFlash相同.针对Flash的特性,eMMC产品内部已经包含了Flash管理技术,包括错误探测和纠正,Flash平均擦写,坏块管理,掉电保护等技术.MMC接口速度高达每秒52MBytes,eMMC具有快速,可升级的性能,同时其接口电压可以是1.8v或者是3.3v.
eMMC相当于NandFlash+主控IC,对外的接口协议与SD,TF卡一样,主要是针对手机或平板电脑等产品的内嵌式存储器标准规格.eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间.这些特点对于希望通过缩小光刻尺寸和降低成本的NAND供应商来说,同样的重要.
MMC由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口,快闪存储器设备(NandFlash)及主控制器,所有都在一个小型的BGA封装,最常见的有BGA153封装;我们通常见到的KLMAG8DEDD,THGBMAG8B4JBAIM,EMMC04G-S100等型号都是eMMCFlash.eMMCFlash存储容量大,市场上32GByte容量都常见了,其常见的封装多为BGA153,BGA169,BGA100等.

七,USF2.0

JEDEC在2013年9月发布了新一代的通用闪存存储器标准USF2.0,该标准下得闪存读写速度可以高达每秒1400MB,这相当于在两秒钟内读写两个CD光盘的数据,不仅比eMMC有更巨大的优势,而且它甚至能够让电脑上使用的闪存存储介质固态硬盘也相形见绌.UFS闪存规格采用了新的标准2.0接口,它使用的是串行界面,很像PATA,SATA的转换,并且它支持全双工运行,可同时读写操作,还支持指令队列.相对之下,eMMC是半双工,读写必须分开执行,指令也是打包,在速度上就已经是略逊一筹了,而且UFS芯片不仅传输速度快,功耗也要比eMMC5.0低一半,可以说是日后旗舰手机闪存的理想搭配.目前仅有少数的半导体厂商有提供封装成品,如三星,东芝电子等.

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值