(1)能像RAM一样寻址
NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
(2)用户可以直接运行装载在NOR Flash里面的代码
NOR Flash有自己的数据和地址总线,可采用类似RAM的随机访问。各单元之间是并联的,对存储单元进行统一编址(有独立地址线),可以随机访问任意一个字。
应用程序可以直接在NOR Flash内运行(应用程序的Code和RO段可以直接在NOR Flash上运行,只需要把RW段和ZI段拷贝到RAM中运行即可),不必再把代码读到系统RAM中去。
但NOR Flash不能像RAM以字节改写数据,只能按页依次写数据,故NOR Flash不能代替RAM。
(3)有更快的读取速度,处理小数据量的I/O操作速度更快
NOR Flash可以对字进行操作,相比于NAND Flash有更快的读取速度,更慢的擦写速度。但NAND Flash页是读写数据的小单元(一般512B),块是擦除数据小单元(一般是8KB)。对小数据量的I/O操作NOR Flash速度更快且更方便。
(4)擦除既可整页擦除,也可整块擦除。擦写次数是10万次,不适合频繁擦写
Flash檫写的次数都是有限的,Flash写入和擦除数据时会导致介质的氧化降解。当Flash接近使用寿命时,经常会出现一些操作失败。到达使用寿命时,Flash内部存放的数据可以读,不能再进行写操作,为了防止上面问题的发生,不能对Flash的某个特定的区域反复进行擦写操作。
(5)随机存储介质,适合做程序存储并XIP
(6)在1~4MB的小容量时具有很高的成本效益
NOR Flash容量较小,成本较高。
(7)可靠性相对更高
NOR Flash的接口简单,数据操作少,可靠性高,极少出现块区块,一般用在对可靠性要求高的地方。
(8)存储密度较低
2、NAND Flash(1)有更快的写入和擦除速度
页是读写数据的小单元(一般512B),块是擦除数据的小单元(一般是8KB)。
(2)NAND的擦写次数是100万次
通常NAND Flash的可擦写次数高于NOR Flash,由于NAND Flash通常是整块檫写,块内的页面中如果有一位失效整个快就会失效,由于擦写过程复杂,失败的概率相对较高,从整体上来说NOR Flash的寿命较长。
(3)连续存储介质,适合做数据存储
(4)容量较大,成本较低
由于对NAND Flash的操作都是以块和页为单位的,在向NAND Flash进行大量数据读写时,NAND Flash的速度要快于NOR Flash,并且NAND Flash成本较低。
(5)可靠性相对更低
NAND Flash接口和操作均相对复杂,NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。NAND Flash位交换操作也很多,关键性数据更是需安错误探测/错误更正算法来确保数据的完整性,出现问题的几率要大的多,坏区块也是不可避免的,由于坏区块是随机分布的,连纠错也无法做到。建议在使用NAND Flash时,要采用EDC/ECC等校验算法。
(6)坏块随机分配,需要进行坏块管理
在NAND Flash中,由于坏块是随机分布的,需要进行扫描并将坏块打上标记。坏块的存在使得向NAND Flash写入信息需要相当的技巧,因为绝不能向坏块写入,这意味着在NAND Flash上自始自终都必须进行虚拟映射。
(7)存储密度较高
(8)使用NAND Flash时,必须先写入驱动程序,才能继续执行其他操作
在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。