Flash是存储芯片的一种,在电子及半导体领域内表示为Flsah Memory,全称为Flash EEPROM Memeory,即我们平时说的“闪存”。它结合了ROM和RAM的优点,具备电子可擦除可编程(EEPROM)的性能,能够在操作中被多次擦或写,还可以快速的读取数据(NVRAM的优点),使数据不会在断电时丢失。
Flash闪存是一种非易失性存储,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘。近年来,随着大数据、人工智能、物联网等新兴技术的发展,闪存技术的特性使其相对于许多计算机技术而言发展得更迅猛。
Flash按照内部存储结构的不同,可以分为两种:Nor Flash和Nand Flash。Nor Flash,通常容量较小,主要用于存储代码;Nand Flash,容量较大,主要用于存储资料,如数码相机中所用的记忆卡。
简单来说,可概括为一张图描述,“太长不看版”可参照下图:
具体来说,这两种存储器有何区别呢?本文将阐述。
Nand Flash和Nor Flash存储器简介
1、Nand Flash存储器简介
NAND Flash是由东芝公司于1989年发布的,内部采用线性宏单元模式,一个块通常包括32页,64页,128页,页大小通常为512B,2KB,4KB,每个页包含数据区和带外区两部分,数据区存储用户数据,带外区存储ECC(erro rcorrecting codes),地址映射信息等用于Flash存储管理的信息,,对应的大小通常为512B,32B,2KB,64B , 4KB,128B。Nand Flash强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级。Nand Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,同时内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。
NAND技术的Flash Memory的特点:
1)NAND FLASH以页为单位进行读和编程操作,1页为256B或512B,因此NAND FLASH不用来直接运行程序,需将代码下载到RAM中再运行。NAND FLASH以块为单位进行擦除操作,1块为4KB、8KB或16KB;具有快编程和快擦除的功能,块擦除时间是2ms,而NOR技术的块擦除时间是几百ms。
2)数据、地址采用同一总线,实现串行读取,随机读取速度慢且不能按字节随机编程。
3)芯片尺寸小,成本低
4)芯片包含失效块,其最大数目可达到3~35块取决于存储器密度。失效块不会影响有效块的性能。设计者需要将失效块在地址映射表中屏蔽起来。
从存储单元的角度考虑,NAND FLASH可分为SLC(Single Level Cell,单层单元)和MLC(Multi-Level Cell,多层单元)。SLC的特点是成本高、容量小、速度快,而MLC的特点是容量大、成本低,但是速度慢。MLC由于存储单元中存放资料较多,结构相对复杂,出错的概率增加,必须进行错误修正,这个修正的动作使得MLC的性能大幅落后于SLC闪存。实际使用时,需要根据程序运行的机制及需求选择合适的Flash存储。Nand flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而应用越来越广泛,如嵌入式产品中包括手机、数码相机、U盘等。
2、Nor Flash存储器简介
NOR Flash是一种由Intel公司于1988年创建的非易失闪存技术。NOR技术(也称Linear技术)源于传统的EEPROM器件,Nor Flash的特点是芯片内执行(XIP, eXecute In Place),其读取和我们常见的SDRAM的随机读取形式类似,它将存储单元组织为块序列,能够以字节为单位进行数据访问,以并行的方式连接存储单元,具有分离的控制线、地址线和数据线,具有较快的读速度,用户可以直接运行装载在 Nor Flash 里面的代码,这样可以减少SRAM的容量从而节约成本,且其传输效率很高,在1-4MB的小容量时具有很高的成本效益,所以一般小容量的存储都选用NOR Flash会更为合适。但由于其写操作和擦除操作的时间较长,容量低,价格高,所以目前多用于手机、BIOS芯片以及嵌入式系统中页进行代码存储。
NOR技术的Flash Memory具有以下特点。
1)程序和数据可存放在同一芯片,拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从Flash中读取代码执行,无须先将代码下载至RAM中再执行。
2)可以单字节或单字编程,但不能单字节擦除,必须以块为单位或整片擦除,由于采用NOR技术的Flash Memory擦除和编程速度较慢,在纯数据存储和文件存储的应用中,NOR技术显得力不从心。
Nand Flash和Nor Flash的区别
1、启动方式不同
开发板上电启动时,Nand Flash会先把Nand Flash中前4K内容自动拷贝到片内内存(SRAM)中去,然后CPU从SRAM的0地址开始执行程序。用户不能直接运行Nand Flash上的代码,因此多数使用Nand Flash的开发板除了使用Nand Flash以外,还用上了一块小的Nor Flash来运行启动代码。
Nor Flash在启动时直接从0地址开始运行,CPU从Nor Flash的0地址开始执行程序。
2、接口差别
Nand Flash是I/O串行接口,通过8个引脚用来传送控制、地址和数据信息,各个产品或厂商的方法可能各不相同。读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,所以基于NAND的存储器就可以取代硬盘或其他块设备。
Nor Flash带有SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低;有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。但不同容量的NorFlash的地址线需求不一样,Nor Flash芯片容量升级不便。
3、Nand Flash和Nor Flash的性能比较
Nand Flash和Nor Flash均为非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。写入操作只能在空或已擦除的单元内进行,所以大多数写入操作需要先进行擦除操作。但在性能上有以下差别:
1)读取数据时,Nand Flash 首先需要进行多次地址寻址,然后才能访问数据;而 Nor Flash是直接进行数据读取访问,因此NOR的读速度比NAND稍快一些。
2)NAND器件执行擦除操作简单,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。同时,NAND的擦除单元更小,相应的擦除电路更少,因此NAND的擦除速度远比NOR的快很多。
3)NAND写入单元小,写入速度比NOR快很多。
4、容量和成本对比
Nand Flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,因此相同容量下,NAND器件的成本比NOR低。
5、能耗不同
NOR闪存在初始上电期间通常需要比NAND闪存更多的电流。但是,Nor Flash的待机电流远低于Nand Flash。两者的瞬时有功功率相当,因此,有效功率由存储器活动的持续时间决定。Nor Flash在随机读取方面具有优势,而Nand Flash在擦除、写入和顺序读取操作中消耗的功率相对较低。
6、Nand Flash和Nor Flash的寿命(耐用性)
在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些,nand器件的耐用性强于nor。
7、可靠性对比
在Flash的位翻转(一个bit位发生翻转)现象上,NAND的出现几率要比Nor Flash大得多。这个问题在Flash存储关键文件时是致命的,所以在使用Nand Flash时建议同时使用EDC/ECC等校验算法,提高可靠性。
NAND器件中的坏块是随机分布的,需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。而坏块问题在Nor Flash上是不存在的。
8、软件支持
当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。
在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。
使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。
9、其他作用
驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。
什么是SPI NAND FLASH
在嵌入式系统领域,作为存储设备的NOR Flash和NAND Flash,大家应该不陌生。早期NOR Flash的接口是并行口的形式,也就是把数据线,地址线并排设置在IC的管脚中。但是由于不同容量的并行口NOR Flash不能硬件上兼容(数据线和地址线的数量不一样),并且封装大,占用PCB板的位置较大,逐渐被SPI(串行接口)的 NOR Flash所取代。
SPI NOR Flash可以做到不同容量的 NOR Flash管脚兼容,且采用了更小的封装形式(SOP8较为典型),很快取代了并行接口的NOR Flash成为市场主流。以至于现在很多人说起NOR Flash都直接以SPI Flash来代称。
而NAND Flash由于采用了地址数据线复用的方式,并且统一了接口标准规定(x 8 bit or x 16 bit),从而在不同容量的兼容性上面基本没有问题,所以这类封装及接口形式沿用了很多年。近些年随着产品小型化的需求越来越强烈,并且对方案成本的要求越来越高,SPI NAND Flash逐渐出圈。
SPI NAND Flash方案的主控(MCU)内可以不需要带有传统NAND的控制器,只需要有SPI的接口,再加入内置ECC,这样可以减少主控的成本,以及省掉MCU做为硬件或软件ECC的功能。
另外,SPI NAND Flash的封装形式多采用 WSON、TFBGA等封装,尺寸比传统的NAND Flash TSOP的封装要小很多,充分节省了PCB板的空间,较少的管脚数量,从而可以减小PCB的尺寸及层数,既满足了市场小型化的需求也降低了产品的成本。
1、SPI NAND Flash和SPI NOR Flash区别
SPI NAND Flash和SPI NOR Flash可以统称为SPI Flash,即一种使用SPI通信的Flash,不同之处在于NAND和NOR的本质区别。
通俗来讲,NOR Flash像内存,通常用于存储程序代码并直接在闪存内运行,NAND Flash是闪存,相较于市面上手机、PC等主流的嵌入式eMMC、SSD采用的TLC,SLC在可靠性和寿命方面优势突出,但容量较小。SLC NAND基于串行SPI接口,引脚少、封装尺寸小,在嵌入式系统领域需求不断增加。
2、SPI NAND Flash应用领域
如今各类电子设备的功能日趋复杂,在新兴的紧凑型应用中都需要安装嵌入式操作系统,对存储容量的需求在不断提升。NAND比NOR有更快的写入速度,且对于频繁擦写有着更高的稳定性,目前SPI NAND Flash在智能穿戴、机顶盒、路由器、PON、网通模块、物联网、汽车等领域逐步普及。
市场应用
1、Nand Flash市场应用
从应用形态上看,Nand Flash的具体产品包括USB(U盘)、闪存卡、SSD(固态硬盘),以及嵌入式存储(eMMC、eMCP、UFS)等。USB属于常见的移动存储设备,闪存卡则用于常见电子设备的外设存储,如相机、行车记录仪、玩具等。
SSD即常见的固态硬盘,一般应用于个人计算机、服务器等领域。SSD作为新兴的大容量存储设备,具有磁盘(传统HDD硬盘)所不具备的优点,前些年由于SSD高昂的价格,只攻占了磁盘的少部分领域。由于近年SSD价格下降,以及数据中心的迅速扩张,数据存储的需求也在不断上升,因此由SSD驱动的Nand Flash的需求增速也较为迅速。
嵌入式存储是Nand Flash应用的另一大领域。其特征是将Nand Flash存储芯片与控制芯片封装在一起,控制芯片采用特定的通讯协议,可提升存储数据通讯的速度与稳定性。
嵌入式Nand Flash存储广泛应用于手机、平板电脑、游戏机、车载电子等需求高容量存储的新兴领域,该手机主板采用的是eMMC。与计算机相同,手机同样需要处理器、DRAM和Nand Flash,区别在于其产品的最终形态不同,计算机内部的形态为CPU+内存条+硬盘,而手机则采用eMMC或eMCP两种形式:“处理器+eMCP”或“集成了LPDDR的处理器+eMMC”。
2、Nor Flash市场应用
嵌入式存储是Nor Flash的主要应用领域,基于其读写速度快、可靠性高、成本高、可芯片内执行程序的特点,多用来存储少量代码、程序、操作系统等重要信息。
近几年,Nor Flash市场飞速增长,该增速主要得益于汽车电子和物联网、5G和智能手机及其周边(如TWS耳机和可穿戴式设备)等需求的推动。
随着智能产品需要实现的功能越来越多,为了存储更多固件和代码程序,则选择通过外扩一颗甚至更多的Nor Flash来实现。
应用场景有:
1)智能手机及周边设备:OLED屏是有机屏幕,它内部需要一个补偿算法,该算法存储在Flash里面;另外还有TDDI屏以及屏下指纹的模组,它们都需要一个Flash来存储驱动和算法。
2)物联网:伴随着5G基站的高密度布局,万物互联时代的数据流源源不断,人与人之间、人与设备之间、人与云端服务器之间、设备与设备之间的各种数据交互都会产生海量的IoT节点,且这些节点对应的设备都会用到Nor Flash。比如,当前最流行的TWS耳机需要内置两颗Nor Flash。
3)车载:小到车载摄像头,大到高级驾驶辅助系统(ADAS),车用子系统由于程序代码量较大则会采用外部Nor Flash芯片,汽车仪表盘是通过Nor Flash来实现快速启动的。
4)工业领域:例如新标准智能电表为延长数据量存储期限,使用Nor Flash替代铁电存储。
5)5G、通讯设备:5G基站、微基站催生出了各种各样的节点设备,5G 还加速推动了工业物联网、车联网、自动驾驶、边缘计算的发展,这些应用都离不开Nor Flash。
为电子产品选择合适的存储器类型颇具挑战性。选择适合应用的存储器时,工程师可以参考以下“技巧与诀窍”:
明确存储器工作条件,例如:
预期擦/写次数;
温度、振动和辐射等环境条件和因素;
数据加载要求;
记录应用中存储器正常工作的最小比特率、所需比特率和最大比特率;
选择最接近记录中所需比特率的存储器接口类型;
对于汽车或航天系统等恶劣环境条件,须选择通过汽车级鉴定或辐射耐受性较强的存储器;
使用分线板将所选存储器件连接至微控制器开发套件以测试其性能。
如今,可供工程师选择的非易失性存储器件种类繁多,可用于存储各种数据,从应用代码到配置信息,不一而足。如上所述,工程师需仔细评估应用需求,慎重选型Flash型号,以期取得这些需求与成本之间的平衡。
评论
查看更多