NOR flash
portant;">NOR flash 分为CFI nor flash 和 SPI nor flash。
portant;">CFI nor flash使用的外部接口是CFI(common flash interface公共闪存接口 ),是并行接口(Parallel接口),因遵循jedec标准,又被称为jedec接口。
portant;">SPI nor flash使用的外部接口是SPI(serial peripheral interface串行外围设备接口 ):是一种常见的时钟同步串行通信接口。
portant;">Ps:目前出现SSI nor flash,和SPI其实是同一种串行接口flash。
portant;">CFI相比SPI,速度更快、容量更大、价格便宜。SPI 每次传输一个bit,CFI每次传输多个bit数据(x8/x16)。
portant;">
二、Nand flash
portant;">NAND Flash广泛应用在各种存储卡,U盘,SSD,eMMC等等大容量设备中。它的颗粒根据每个存储单元内存储比特个数的不同,可以分为 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三类。其中,在一个存储单元中,SLC 可以存储 1 个比特,MLC 可以存储 2 个比特,TLC 则可以存储 3 个比特。
portant;">NAND Flash 的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。
portant;">NAND Flash相对NOR Flash更可能发生比特翻转,就必须采用错误探测/错误更正(EDC/ECC)算法,同时NAND Flash随着使用会渐渐产生坏块;我们在使用NAND Flash的SD卡上经常使用FAT文件系统,文件分配表会被频繁改写,而每块的擦写次数是NAND Flash寿命的决定性因素。如何才能平衡各块的擦写和为可能的坏块寻找替换呢?通常需要有一个特殊的软件层次,实现坏块管理、擦写均衡、ECC、垃圾回收等的功能,这一个软件层次称为 FTL(Flash Translation Layer)。根据 FTL 所在的位置的不同,可以把 Flash Memory 分为 Raw Flash 和 Managed Flash 两类:
portant;">
portant;">