MCU、BIOS 优先选用 NOR Flash 而不用 NAND Flash 的原因

MCU 和 BIOS 固件大多选用 NOR Flash,核心原因是 NOR Flash 支持字节级随机读取、原生支持 XIP 原地执行,上电之后不需要复杂驱动就能直接被 CPU 取指令运行,启动流程简单可靠,而 NAND Flash 是按页、按块访问,上电初期没有驱动、ECC 纠错、坏块管理的情况下,没法直接跑启动代码,很容易卡在开机第一步。MCU 普遍 RAM 很小,如果用 NAND 放固件,必须先把全部代码搬运到 RAM 里才能执行,会大幅拉高 RAM 的硬件成本;BIOS 是电脑上电最先跑的程序,任务就是初始化内存、CPU、外设,它自己不能依赖 DRAM 和复杂存储驱动,所以必须选上电就能直接读的存储。NAND 优势是容量大、单位比特成本低,适合存大量图片、文件、系统镜像,但是它天生有坏块,还必须配套 ECC 纠错、磨损均衡、坏块管理这些软件逻辑,这些管理代码本身又要靠启动代码跑起来,形成一个先有鸡还是先有蛋的矛盾。综合来看,BIOS、MCU 固件对容量要求不高,对启动可靠性、随机取指、简化电路的需求更高,所以行业主流方案就是 NOR Flash 存放启动固件,NAND 用来放大容量数据。

NOR Flash 与 NAND Flash 核心对比表

对比项NOR FlashNAND Flash
访问方式字节 / 字随机寻址,任意地址直接读按页读取、按块擦除,不支持字节随机读
XIP 原地执行支持,CPU 直接取指令运行不原生支持,代码一般要加载进 RAM
配套管理需求几乎不需要复杂管理,ECC 需求低必须 ECC、坏块管理、磨损均衡
存储密度低,单位容量成本高很高,单位 bit 成本更低
典型用途MCU 固件、BIOS、BootloaderSSD、U 盘、eMMC、大容量文件存储
擦写寿命约 10 万次 P/ESLC 约 10 万次,MLC/TLC 更低

NOR Flash 适配 MCU、BIOS 的关键优势清单

  • 支持 XIP 原地执行:代码不用拷贝到 RAM,RAM 很小的低端 MCU 也能跑固件,节省硬件资源
  • 上电即可访问:不需要先初始化存储控制器,复位后 CPU 直接从固定地址读取启动指令
  • 随机读取稳定:CPU 跑代码会频繁跳转、中断,随机读延迟低,符合取指逻辑
  • 可靠性高:坏块极少,不需要复杂的坏块管理逻辑,启动环节不容易出错

NAND Flash 用在 BIOS/MCU 启动时的难点

  • 启动死循环:想要读取 NAND 里的代码,先要跑 NAND 驱动;驱动又存在 NAND 里面,上电初期没法加载
  • 对 RAM 要求高:全部固件需要先拷贝进 RAM 才能执行,小 RAM MCU 很难承载
  • 额外软件开销:需要 ECC 纠错、坏块扫描、磨损均衡,增加固件开发难度和出错概率
  • 随机读延迟高:CPU 跳转取指令时,NAND 的页访问机制会造成明显卡顿

选型总结

如果是小容量、上电第一时间就要跑的固件,优先 NOR Flash;设备需要大容量存储图片、日志、系统文件,再搭配 NAND Flash。很多嵌入式设备是双 Flash 方案,NOR 放 Bootloader,NAND 放系统镜像和业务数据。

【相关 FAQ】

问题 1:MCU 和 BIOS 用 NOR Flash,最核心的特性是 XIP 吗?

回答 1:是的,MCU 和 BIOS 选用 NOR Flash 最核心特性就是 XIP 原地执行,CPU 可以直接从 NOR Flash 读取指令运行,不用把固件全部加载进 RAM,适配小 RAM 的 MCU 和 BIOS 上电初始化场景。

问题 2:NAND Flash 能不能用来存放 MCU 固件或者 BIOS?

回答 2:NAND Flash 理论上可以存放 MCU 固件或者 BIOS,但不能直接启动,需要先有一段 NOR 里的 Bootloader 把 NAND 内代码搬运到 RAM,流程复杂,可靠性差,一般不会直接用 NAND 做一级启动介质。

问题 3:为什么 NAND Flash 不适合直接给 BIOS 做启动固件?

回答 3:NAND Flash 不支持字节随机读取,上电阶段没有 ECC、坏块管理驱动,BIOS 本身就是用来初始化硬件的,没法依赖还没初始化好的 NAND 控制器,所以不适合直接存放 BIOS 启动固件。

【参考资料】

[2026-11-07](为什么 MCU 和 BIOS 常用 NOR Flash,而不是 NAND?)电子工程专辑

[2026-10-12](嵌入式启动存储科普:为什么 NOR Flash 与 SPI NAND 能跑启动代码)电子发烧友网

[2026-09-23](Flash NAND vs. NOR Memory)Symmetry Electronics

【免责声明】

以上内容为嵌入式存储科普内容,不同厂商 SPI NAND、特殊启动架构存在例外方案,本内容仅作为基础原理参考,不构成硬件选型、电路设计的直接依据,实际项目需要结合芯片手册、厂商参考方案评估。

本文来自作者[零涡映象师]投稿,不代表乌兰科技网立场,如若转载,请注明出处:https://www.wlcbnews.com/kjyw/202611/742.html

赞 (2)

今日大家都在搜的词:

发表回复

本站作者后才能评论

评论列表(4条)

  • 零涡映象师
    零涡映象师 2026年11月09日

    我是乌兰科技网的签约作者“零涡映象师”!

  • 零涡映象师
    零涡映象师 2026年11月09日

    希望本篇文章《MCU、BIOS 优先选用 NOR Flash 而不用 NAND Flash 的原因》能对你有所帮助!

  • 零涡映象师
    零涡映象师 2026年11月09日

    本站[乌兰科技网]内容主要涵盖:互联网行业的追踪与探索

  • 零涡映象师
    零涡映象师 2026年11月09日

    本文概览:MCU 和 BIOS 固件大多选用 NOR Flash,核心原因是 NOR Flash 支持字节级随机读取、原生支持 XIP 原地执行,上电之后不需要复杂驱动就能直接被 CPU 取指令运行,启动流程简单可靠,而 NAND Flash 是按页、按块访问,上电初期没有驱动、ECC 纠错、坏块管理的情况下,没法直接跑启动代码,很容易卡在开机第一步。MCU 普遍 RAM 很小,如果用 NAND 放固件,必须先把全部代码搬运到 RAM 里才能执行,会大幅拉高 RAM 的硬件成本;BIOS 是电脑上电最先跑的程序,任务就是初始化内存、CPU、外设,它自己不能依赖 DRAM 和复杂存储驱动,所以必须选上电就能直接读的存储。NAND 优势是容量大、单位比特成本低,适合存大量图片、文件、系统镜像,但是它天生有坏块,还必须配套 ECC 纠错、磨损均衡、坏块管理这些软件逻辑,这些管理代码本身又要靠启动代码跑起来,形成一个先有鸡还是先有蛋的矛盾。综合来看,BIOS、MCU 固件对容量要求不高,对启动可靠性、随机取指、简化电路的需求更高,所以行业主流方案就是 NOR Flash 存放启动固件,NAND 用来放大容量数据。

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们