Loading

什么是 NOR Flash 和 NAND flash

一、基础概念

1. NOR Flash

  • 命名来源:采用“非或门”(NOR Gate)电路结构。
  • 特点:地址线与数据线直接映射,支持随机访问。
  • 用途:适用于需要频繁读取的固件、代码存储,如Bootloader、BIOS等。

2. NAND Flash

  • 命名来源:采用“非与门”(NAND Gate)电路结构。
  • 特点:基于块和页的访问方式,顺序访问效率高。
  • 用途:适合数据量大、写入频繁的存储,如SSD、eMMC、UFS、USB盘等。

二、技术原理与结构对比

特性 NOR Flash NAND Flash
存储结构 每个bit有独立的地址线,接近SRAM 以页(Page)为最小读单位、块(Block)为擦除单位
寻址方式 直接地址映射(随机访问) 基于控制器管理的逻辑寻址(页/块访问)
读取方式 字节/字随机读取 页为单位顺序读取(一般2048~16384字节)
写入方式 字节/字节写入 页写入,不能在页内覆盖写,必须先擦除整个块
擦除方式 大多以扇区(Sector)为单位(如64KB) 以块为单位(一般128KB~2MB)
读写速度 快速随机读取,写入慢 写入快、顺序读快,随机访问较慢
擦写寿命 一般10万次/扇区 一般3000~10000次/块(MLC),SLC更高
容量 通常小(几MB~百MB) 容量大(数百MB~数TB)
成本 单位成本高 单位成本低
可靠性 高,适合关键代码存储 依赖ECC和Wear Leveling机制维护可靠性

三、典型产品和接口标准

类型 典型接口 举例芯片 特点
SPI NOR Flash SPI/QSPI Winbond W25Q系列、MXIC MX25系列 常用于嵌入式MCU代码存储,容量小、可靠性高
Parallel NOR Flash 平行总线 Cypress S29GLxxx系列 传统使用在高端MCU或DSP系统
Raw NAND ONFI接口 Micron MT29F、Toshiba TC58NVG系列 需要外部控制器或NAND驱动
eMMC(嵌入式多媒体卡) JEDEC标准接口 Samsung eMMC, SanDisk iNAND 内部集成控制器,兼容性强,容量高
UFS(通用闪存存储) MIPI M-PHY + UniPro Samsung UFS, Kioxia 高速、低功耗,替代eMMC的新主流
SPI NAND Flash SPI GigaDevice GD5F、MXIC MX35 面向中低速MCU,介于NOR与Raw NAND之间

四、应用场景对比分析

应用场景 推荐存储类型 原因
启动存储(Boot ROM/Loader) NOR Flash(尤其是SPI NOR) 支持字节随机读取,掉电保持,可靠性高
嵌入式固件存储(MCU Firmware) SPI NOR Flash / SPI NAND(容量大时) 依赖频繁读取,代码执行(XIP)需要随机读取
数据记录(日志、传感器数据) NAND Flash(Raw NAND / SPI NAND) 擅长大容量顺序写入,成本低
操作系统 / 应用存储(Linux文件系统) eMMC / UFS / Raw NAND(配FTL) 容量大、访问频繁,需要支持文件系统管理
消费电子 / 手机存储 UFS / eMMC 高速、高密度、低功耗需求

五、设计选型建议(工程视角)

✅ 使用 NOR Flash 的考虑:

  • 固件小于几十MB;
  • 系统需支持 XIP(Execute In Place)
  • 启动时间和启动稳定性非常关键;
  • 总线简单(如SPI),MCU带有BootROM支持;

例子:STM32 启动代码存储在 W25Q128 SPI NOR Flash 中;FPGA配置文件加载。


✅ 使用 NAND Flash 的考虑:

  • 数据存储为主,容量要求大;
  • 成本敏感;
  • MCU/MPU配有NAND控制器和FTL支持(如Linux+MTD);

例子:智能摄像头中将录像保存在 SPI NAND / Raw NAND 中;工业网关设备的文件系统。


✅ 使用 eMMC/UFS 的考虑:

  • 应用层运行完整操作系统(Linux、Android);
  • 高IO性能要求(多线程访问、数据库);
  • 成本允许,集成控制器节省开发成本;

例子:智能手机、智能音箱、车载IVI系统使用UFS;单板机如 Raspberry Pi 使用 eMMC。


六、寿命与可靠性管理机制(NAND 专属)

  • ECC(错误校验码):NAND容易发生bit翻转,ECC用于数据恢复;
  • Wear-Leveling:平均擦写次数,防止局部块损坏;
  • Bad Block Management:每片NAND出厂自带坏块表,需软件绕过;
  • FTL(Flash Translation Layer):在eMMC/UFS等封装内实现逻辑地址映射,屏蔽物理特性。

七、总结表格(关键差异一图掌握)

特性 NOR Flash NAND Flash
随机访问
顺序访问 一般
写入 字节写入 页写入(需先擦除块)
擦除单位 扇区(小) 块(大)
容量 小(<1Gb) 大(GB~TB)
成本
使用场景 启动、代码存储 数据、系统、文件存储

posted @ 2025-04-15 16:39  Christopher_James  阅读(2465)  评论(0)    收藏  举报