SPI NOR 涨到 256Mb/512Mb 又贵又不够用?该上 SPI NAND 了。本文讲清 SPI NAND 与 SPI NOR 的容量成本临界点、坏块与片内 ECC 怎么管、为什么不能直接 XIP,并附华邦 W25N、兆易 GD5F、美光 MT29F、铠侠 TC58 的 1Gb–4Gb 真实型号与选型速查表,帮硬件与嵌入式工程师少走弯路。
当你的 SPI NOR Flash 已经涨到 256Mb / 512Mb,价格越来越贵、容量还是不够放固件+文件系统+资源时,就该往上换 SPI NAND Flash(串行 NAND)了。两者同样是 8 脚、同样走 x1/x2/x4(Quad)SPI,PCB footprint 也基本一致,但内在完全不同:SPI NAND 在 1Gb–8Gb 区间单位成本远低于 NOR,代价是它出厂就带坏块、必须做 ECC、不能像 NOR 那样就地执行(XIP)代码。选型时把三件事定下来就不会翻车——容量与成本的临界点(一般 1Gb 起用 NAND 更划算)、坏块管理 + ECC 由谁负责(片内 ECC 还是主控/文件系统),以及电压轨(3.3V 还是 1.8V)。
| 维度 | SPI NAND(串行 NAND) | SPI NOR(串行 NOR) |
|---|---|---|
| 容量甜点 | 1Gb–8Gb(512Mb 起) | 512Kb–512Mb(1–2Gb 已很贵) |
| 大容量单位成本 | 低(≥1Gb 明显便宜) | 高(大容量溢价快) |
| 坏块 | 出厂即有坏块,需坏块管理(BBM) | 无坏块,全片可靠 |
| ECC 纠错 | 必须,主流型号自带片内 ECC | 一般不需要 |
| 就地执行 XIP | 不支持,需先搬到 RAM 运行 | 支持,可直接取指执行 |
| 随机读 | 先把整页载入缓存寄存器再移出 | 真·随机字节读,延迟低 |
| 擦除粒度 | 块擦除(≈128KB) | 扇区擦除(4KB) |
| 页/块结构 | 典型 2KB 页+64/128B spare,块=64 页;部分大容量为 4KB 页 | 线性地址,无页概念 |
| 接口 / 封装 | x1/x2/x4 SPI,8 脚 SOP/WSON,104–166MHz | x1/x2/x4 SPI,8 脚 SOP/WSON,133–166MHz |
| 耐久(P/E) | SLC 约 10 万次/块(需 ECC+磨损均衡) | 约 10 万次/扇区 |
| 典型用途 | 大码流、文件系统、rootfs、图片/字库/语音资源、日志 | Boot 代码、XIP 运行、小容量参数/字库 |
下表为四家原厂在嵌入式最常用的 3.3V SLC SPI NAND 主力型号,均为真实在产料号,方便你比对与做二供(second source)。各家在同容量下引脚基本对齐,但片内 ECC 状态位、坏块标记方式、部分指令不完全通用,替换需驱动适配(详见下文选型要点)。
| 容量 | 兆易 GigaDevice(GD5F) | 华邦 Winbond(W25N) | 美光 Micron(MT29F) | 铠侠 Kioxia(TC58) |
|---|---|---|---|---|
| 512Mb(64MB) | — | W25N512GV | — | — |
| 1Gb(128MB) | GD5F1GQ5UE | W25N01GV(3.3V)/ W25N01JW(1.8V) | MT29F1G01ABAFD | TC58CVG0S3HRAIG |
| 2Gb(256MB) | GD5F2GQ5UE / GD5F2GM7UE | W25N02KV(另有堆叠 W25M02GV) | MT29F2G01ABAGD | TC58CVG1S3HRAIG |
| 4Gb(512MB) | GD5F4GQ6UE | W25N04KV | MT29F4G01ABAFD | TC58CVG2S0HRAIG |
说明:上表为 3.3V(2.7–3.6V)主流料;四家均另有 1.8V 版本(后缀不同,如华邦 …JW/…KW、美光 …U 版、铠侠 TC58CYG…),下单前请与平台 I/O 电压对齐。更大容量另有 8Gb(如 GD5F8G、MT29F8G、TC58 8Gb 及华邦堆叠料)可选。JEDEC 厂商 ID:华邦 0xEF、兆易 0xC8、美光 0x2C、铠侠/东芝 0x98。
常见做法是 NOR + NAND 组合:一颗小 NOR 存 Boot/XIP 代码,一颗大 SPI NAND 存文件系统与资源,兼顾启动可靠性与大容量成本。
晟雅泰(SUNTEC)现货供应兆易 GD5F、华邦 W25N、美光 MT29F、铠侠 Kioxia 全系列 SPI NAND,以及配套的 SPI NOR(GD25 / W25Q / MT25Q),可提供容量与成本测算、二供 pin-to-pin 比对、样品与批量报价、FAE 选型与坏块/ECC 方案支持。把型号或 BOM 发给我们,24–48 小时响应。欢迎联系我们获取现货与替代方案。
看容量和用途。128Mb 及以下、需要 XIP 就地跑代码、或存 Boot/参数/字库,用 SPI NOR 更简单(无坏块、无需 ECC)。到了 256Mb 就开始纠结价格,1Gb 及以上基本就该上 SPI NAND:同样的钱能买到 4–8 倍容量,适合放文件系统、rootfs、图片/字库/语音资源和 OTA 多镜像。代价是 NAND 有坏块、必须 ECC、不能直接 XIP。很多设计干脆 NOR+NAND 组合:小 NOR 管启动与 XIP,大 NAND 管容量。
坏块是 NAND 的正常特性,不是坏件。原厂出厂时会标记一定数量的坏块,并保证第一块(Block 0)是好的,供你建立坏块表基准。上电后先读厂商坏块标记建立 BBM(Bad Block Management),运行中再靠文件系统或 UBI 层动态标记新增坏块并做磨损均衡。配合器件自带的片内 ECC 纠正位翻转,SLC SPI NAND 在工业场景是很成熟可靠的方案。关键是软件栈要“认”坏块和 ECC,不能当普通线性存储用。
因为 NAND 没有真·随机访问。读任意一个字节,都要先发指令把整页(2KB 或 4KB)从存储阵列载入芯片内部的缓存寄存器(tRD 约几十到两百微秒),再通过 SPI 移出。这种“先载页再读”的机制无法满足 CPU 逐字节取指执行的时序,所以不能就地执行。常见做法是:Bootloader 或带 SPI NAND 控制器的 SoC 上电后把镜像从 NAND 搬到 SDRAM/PSRAM,再从 RAM 里运行;需要“上电即读”的启动代码或 FPGA 码流则仍放在 NOR 里。
同容量、同电压、同封装下,四家 8 脚 SPI NAND 引脚基本对齐,是常见的二供组合,但比 SPI NOR 的替换要更谨慎。三点要注意:一是 JEDEC 厂商 ID 不同(华邦 0xEF、兆易 0xC8、美光 0x2C、铠侠/东芝 0x98),Bootloader 与烧录工具别写死 ID;二是片内 ECC 的开关方式、状态寄存器里 ECC 位的定义、以及坏块标记位置各家不完全一致,驱动要能按器件适配;三是电压后缀必须对上(3.3V vs 1.8V)。建议用 Linux MTD/SPI-NAND 这类通用框架自动识别,或在驱动里为每颗料维护参数表。
同为 SLC NAND,SPI NAND 用 4~6 根线走标准 SPI/QSPI,引脚少、PCB 简单;并行 NAND 用 8/16 位总线,带宽高但引脚多、布线复杂。本文从引脚、带宽、ECC、主控要求与系统总成本五个维度对比两种接口,并附华邦 W25N、W29N 与兆易 GD5F 等型号,帮硬件与嵌入式工程师快速定型。
阅读全文 Read more →板子面积紧张、又要同时放运行内存和存储?eMCP 把 LPDDR 与 eMMC 合封进一颗 BGA,省近一半 PCB。本文讲清 eMCP 与分立方案、eMCP 与 uMCP 的区别,并附三星 KMDH6001DM、美光 MT29V、海力士 H9HP 等真实料号与容量组合,帮硬件与嵌入式工程师快速选型。
阅读全文 Read more →SPI NAND 出厂即允许坏块且使用中持续位翻转,必须靠 ECC 纠错与坏块管理才能可靠使用。本文讲清片上 on-die ECC 与主控外部 BCH/LDPC 的分工、纠错位数如何匹配、坏块表 BBM 怎么建,并附华邦 W25N、兆易 GD5F、美光 MT29F、铠侠 TC58 真实料号与 ECC 能力对照表、FAQ。
阅读全文 Read more →