NOR Flash 是一种断电后仍能保存数据的闪存,常被用来存放启动代码、固件和读取频繁而更新较少的内容。它的优势是按地址读取小块数据,并在主控支持时直接从外部芯片执行代码,即 XIP;代价是写入前要考虑擦除、容量和成本。理解这三个动作——读、编程、擦除——比单看“几 Mbit、几线 SPI”更能解释它适合放在系统的哪个位置。

文章目录
  1. 单元怎样连接,决定 NOR 为什么擅长随机读
  2. 随机读取不等于随意改写:编程与擦除有各自粒度
  3. XIP 的关键在主控,不在包装上印着“SPI NOR”
  4. 从晶圆上的单元到封装后的芯片
  5. 从平面 NOR 到 3D NOR,哪些已经成为产品能力
  6. 厂商与应用:先看系统职责,再看产品线
  7. 从原理走到一颗可下单的 NOR
  8. 重要参考资料

单元怎样连接,决定 NOR 为什么擅长随机读 #

闪存单元通过保存电荷来改变晶体管的阈值电压,读出电路据此判断逻辑状态。不同厂商可能采用浮栅、分栅或其他单元设计;一张通用的晶体管剖面图不能代表所有 NOR 产品。对于系统设计,更重要的是阵列怎样选通单元:NOR 阵列让单元以相对独立的路径接到位线,便于定位地址并读出少量数据;NAND 将多个单元串成一条路径,适合把更多位密集地排在阵列里。

概念性 NOR 与 NAND 阵列连接:NOR 单元可独立选通,NAND 单元位于串联存储串中
概念性 NOR 与 NAND 阵列连接:NOR 单元可独立选通,NAND 单元位于串联存储串中

图中只比较访问拓扑,并不表示 NOR 的每个物理单元都能像 RAM 一样单独改写,也不表示 NAND 无法启动处理器。两类器件都能保存代码;差别在于主控取得代码的方式,以及容量、成本和管理工作的分配。

NOR FlashNAND Flash
分散读取:适合随机读取;有合适控制器时可映射为 XIP 区域分散读取:通常先按页取得数据,再交给缓冲区或 RAM
大型数据:容量增大时每比特成本通常较高大型数据:高密度存储更有优势
主机负担:核对启动命令、映射模式、擦写保护及更新流程主机负担:原始 NAND 还需处理纠错、坏块和映射;eMMC、UFS 等托管器件在内部承担一部分

这个比较描述的是典型系统角色,不是某一颗芯片的速度、寿命或价格保证。串行 NOR 与并行 NOR 的接口也不同;即使存储阵列擅长随机读,外部总线仍会给实际读取延迟和带宽设定上限。

随机读取不等于随意改写:编程与擦除有各自粒度 #

读取可以从指定地址开始,写入却不能按普通 RAM 的方式覆盖原内容。常见串行 NOR 在擦除后把位恢复为逻辑 1,页编程使需要写入的位由 1 变为 0;要把已编程的 0 恢复为 1,需要先擦除所在区域。一次读、一次页编程、一次扇区或块擦除涉及的范围不同,命令时间也不同。

NOR Flash 的随机读取、页编程和扇区擦除范围示意;实际大小由具体器件定义
NOR Flash 的随机读取、页编程和扇区擦除范围示意;实际大小由具体器件定义

页和擦除区的大小不能当成 NOR 的统一规格。以 Infineon 的 S25FL256LAGBHV020 为例,原厂资料列出 256 字节页编程缓冲和 4 KB 均匀扇区擦除;换一个系列,编程缓冲、可选擦除块和状态寄存器行为都可能不同。评估写入时间时,还要算上写使能、擦除、轮询完成和可能的擦除挂起,而不能把读取带宽当作固件更新速度。

这直接影响固件布局。若系统要在现场更新代码,启动区、应用映像、配置与回滚信息不能随意挤在同一擦除区。把关键元数据留在能独立更新的位置,设计断电后的恢复路径,必要时预留两份映像,通常比盲目追求更快的 SPI 时钟更能降低更新失败的风险。双映像是否放得下,仍要由实际镜像大小、擦除布局和主控启动流程决定。

寿命同样要看使用方式。擦写次数通常按受影响的区域计算,反复修改同一扇区与偶尔整体更新固件不是一类负载;数据保持期还受温度和已承受的擦写次数影响。原厂给出的耐久度和保持期必须连同测试条件读取,不能把某一系列的数值写成所有 NOR 的共同能力。

XIP 的关键在主控,不在包装上印着“SPI NOR” #

XIP(Execute in Place)指处理器从映射到地址空间的非易失性存储器取指令执行。并行 NOR 可通过外部存储器总线形成直接的地址访问路径;串行 NOR 则需要主控的 QSPI、OSPI 或相应控制器把读命令、地址和数据传输封装成内存映射访问。处理器的启动 ROM、控制器配置和芯片支持的读模式必须配合。只把一颗 SPI NOR 焊到板上,并不会自动获得 XIP。

主控从映射的 NOR 直接取指执行 XIP,与先将固件复制到 RAM 再执行的两条启动路径
主控从映射的 NOR 直接取指执行 XIP,与先将固件复制到 RAM 再执行的两条启动路径

ST 的 AN5188 应用笔记把外部 QSPI/OSPI Flash 映射执行和先复制代码到 RAM 执行列为两种不同模型。前者可减少整段代码的 RAM 占用,但串行传输的等待、缓存行为和中断响应仍要在目标板上测量;后者占用更多 RAM,却能让被复制的代码按 RAM 的访问特性运行。即便采用 XIP,堆栈、可写数据和部分时间敏感代码仍可能需要 RAM。

单线、双线、四线、八线接口描述的是传输通道,不直接等于系统执行速度。读命令的虚拟周期、时钟、控制器支持的模式、供电电压及 PCB 信号完整性都会影响可用带宽。选更宽的接口前,应先看主控到底支持哪些命令和启动模式,再看 Flash 的完整订货号与所需模式能否对应。

从晶圆上的单元到封装后的芯片 #

从制造视角看,NOR 并不只是排成网格的存储晶体管。单元形成后,还要有字线和位线、地址译码、读出放大、编程与擦除所需的高压电路,以及对外通信的接口。外部看见的容量相同,芯片内部在单元结构、周边电路和可选功能上的取舍仍可能不同。某一厂商公开的截面图只能解释其工艺,不能直接当作另一系列的剖面。

这也解释了为什么数据手册把读取、页编程和擦除列成不同的时序。读取要分辨存储单元的状态;编程与擦除则要改变并长期保持该状态,速度和承受的电应力不相同。晶圆测试、封装后的测试以及目标工作温度下的验证,最终都要服务于读出余量、擦写耐久与保持期。一个器件在室温下能启动,并不足以证明它能承受整车或工业设备预期的温度与更新次数。

因此,制程缩小或单芯片容量增大并不会自动改善所有指标。更密的阵列仍要与可靠性、成本、接口带宽和可供货的封装一起评估;工程师实际采购的是某个经过验证的完整型号,而非一个抽象的制程节点。

从平面 NOR 到 3D NOR,哪些已经成为产品能力 #

长期以来,NOR 产品以平面阵列和不同的单元工艺持续演进;容量提升同时受单元、解码电路、读出速度和可靠性约束。不能把 NAND 已广泛采用的三维堆叠路线直接套在 NOR 上,也不能凭一个制程节点数字判断 NOR 已触及统一的物理极限。对于现有设计,接口、容量、读写时序和温度等级仍比“几纳米”更接近真实的选型问题。

3D NOR 已有产品展示,但展示与具体型号的常规供货仍是不同问题。旺宏在 2024 年年报中称,已于当年的 electronica 展会推出 3D NOR 产品,同时仍把更高容量的 3D NOR 列为研发方向。这个进展不能说明现有串行 NOR 已普遍改用三维结构,也不能据此推算某个型号的价格和交期。评估一颗可采购器件时,仍以该订货型号的数据手册、供货状态和应用验证为准。

厂商与应用:先看系统职责,再看产品线 #

NOR 的供应商并不只提供一种形态。Microchip、Infineon、旺宏、华邦和兆易创新等厂商都有面向不同容量、接口和应用条件的产品线;其中串行 SPI NOR 常见于板级启动与固件存储,并行 NOR 则用于需要相应总线和访问方式的系统。厂商名称不能替代产品家族,更不能替代完整订货号:同容量的器件也可能有不同电压、封装、引脚、读命令或保护配置。

在 MCU 和工业控制板上,外部 NOR 可以存放启动程序、应用固件或少量参数,也可能完全由 MCU 片内 Flash 承担这些工作。使用 Linux 的平台可能让 NOR 保存早期启动阶段,再把系统镜像和文件放在 eMMC 或其他大容量存储中;另一种处理器也可能直接从托管型存储器启动。主控启动文档决定可行路径,不能先按设备类别假定一定要外挂 NOR。

汽车电子使用 NOR 时,还要把长期供货、环境温度、功能安全流程中的诊断要求和更新失败恢复纳入系统验证。通过 AEC-Q100 的器件仍需核对等级、封装、数据保持条件和车厂项目要求。工业设备则可能更在意长寿命供货、重复上电后的启动稳定性以及现场升级的可恢复性。消费设备的大容量照片、日志或视频通常不是 NOR 擅长的负载;把容量大的持续写入交给更合适的存储器,往往比增加 NOR 容量更合理。

从原理走到一颗可下单的 NOR #

确定主控启动方式后,再按顺序核对容量、电压、封装与引脚、SPI/QSPI/OSPI 命令、地址位宽、最高可用时钟、页与擦除区布局、写入时间、擦写耐久度和数据保持条件。需要安全启动时,还要核对写保护、身份或安全区域与主控信任链的配合;功能名称相似不代表命令或认证流程兼容。

如果现有板卡已经验证过一个型号,变更供应商或后缀应重新比对完整订货号及启动读命令,并在目标硬件上测试冷启动、异常断电后的恢复、固件升级和温度边界。NOR 的价值是让少量关键代码可靠、可预测地被读取;最终是否能 XIP、能存多少映像、能承受多少次更新,都由主控、固件布局和具体器件共同决定。

重要参考资料 #

最终设计决策请以原厂数据手册及获批准的工程资料为准。