01
Flash Memory简介
02
Flash Memory的主要特性
需要先擦除再写入
Flash Memory 写入数据时有一定的限制。它只能将当前为 1 的比特改写为 0,而无法将已经为 0 的比特改写为 1,只有在擦除的操作中,才能把整块的比特改写为 1。块擦除次数有限
Flash Memory 的每个数据块都有擦除次数的限制(十万到百万次不等),擦写超过一定次数后,该数据块将无法可靠存储数据,成为坏块。为了最大化的延长 Flash Memory 的寿命,在软件上需要做擦写均衡(Wear Leveling),通过分散写入、动态映射等手段均衡使用各个数据块。同时,软件还需要进行坏块管理(Bad Block Management,BBM),标识坏块,不让坏块参与数据存储。(注:除了擦写导致的坏块外,Flash Memory 在生产过程也会产生坏块,即固有坏块。) 读写干扰
由于硬件实现上的物理特性,Flash Memory 在进行读写操作时,有可能会导致邻近的其他比特发生位翻转,导致数据异常。这种异常可以通过重新擦除来恢复。Flash Memory 应用中通常会使用 ECC 等算法进行错误检测和数据修正。电荷泄漏
存储在 Flash Memory 存储单元的电荷,如果长期没有使用,会发生电荷泄漏,导致数据错误。不过这个时间比较长,一般十年左右。此种异常是非永久性的,重新擦除可以恢复。
03
NOR Flash 和 NAND Flash
NAND Flash 读取速度与 NOR Flash 相近,根据接口的不同有所差异;
NAND Flash 的写入速度比 NOR Flash 快很多;
NAND Flash 的擦除速度比 NOR Flash 快很多;
NAND Flash 最大擦次数比 NOR Flash 多;
NOR Flash 支持片上执行,可以在上面直接运行代码;
NOR Flash 软件驱动比 NAND Flash 简单;
NOR Flash 可以随机按字节读取数据,NAND Flash 需要按块进行读取;
大容量下 NAND Flash 比 NOR Flash 成本要低很多,体积也更小;
NAND Flash
04
ROW flash 和 managed flash
Raw Flash
Managed Flash
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
✋热门推荐