目录
[一、接口层:SDIO 4线并行,还是SPI串行](#一、接口层:SDIO 4线并行,还是SPI串行)
做存储选型时,SD NAND和SPI NAND经常被放在一起比较:同样是贴片NAND、同样LGA小封装,价格也在同一量级,区别到底在哪?有硬件工程师按接口把它们当成"四线 vs 六线"的差别,也有固件工程师按驱动工作量把它们当成"两周 vs 两月"的差别------两种感觉都对,但都只摸到了一层。其实两者的差异不在颗粒,而在颗粒外面的那一层。

一、接口层: SDIO 4 线并行,还是 SPI 串行
SD NAND遵循SD 2.0协议,支持SDIO和SPI两种总线模式。SDIO模式用CLK、CMD加DAT0到DAT3共6根信号线,4线并行传输,时钟到50MHz时顺序读写能做到20MB/s以上,跑文件系统、数据记录、OTA升级这类带宽敏感业务余量充足。没有SDIO外设或引脚紧张的主控可以切SPI模式,CS、CLK、DI、DO四根线,20到50MHz时钟,读写字库、配置、日志这类小文件同样够用。需要注意,SD NAND的SPI模式走的仍是SD协议命令集,和后面说的SPI NAND命令不是一回事。
SPI NAND固定走SPI总线,标准、Dual、Quad三种模式:单线模式就是CS/CLK/DI/DO四根线,Quad模式复用出4根数据线,时钟通常100MHz上下,带宽高于SPI模式的SD NAND、低于SDIO模式。SPI总线本身协议简单、几乎所有MCU都带,硬件接线和Nor Flash一致。两者封装相近,SD NAND工业级型号多为LGA-8、6×8mm,SPI NAND主流封装同样是LGA-8,板级占用差别不大。
二、协议层:标准 SD 命令,还是读页写页擦块
主机看SD NAND,看到的是一台标准SD卡:初始化发CMD0复位、CMD8检查电压、ACMD41协商工作条件,数据读写用CMD17/24单块、CMD18/25多块,寻址单位固定512字节扇区。这套命令跨平台通用,STM32、NXP、GD、乐鑫的SDK里都有现成SD驱动,搬过来改改引脚即可。SD协议本身就是为可插拔存储卡设计的,枚举、容量识别、速率协商都有标准流程,主机不关心卡内颗粒类型,SD NAND、TF卡、eMMC在驱动眼里都是同一类块设备。
SPI NAND暴露的是NAND物理操作:0x03/0x6B读页、0x02/0x32加载写缓存、0xD8擦块、0x0F读状态寄存器,外加置特性寄存器来开关Quad、ECC等功能位。页大小常见2KB,一个块64或128页,寻址直接按物理页、物理块进行,主机必须清楚这些物理参数,自己维护逻辑地址到物理地址的映射。米客方德的MKSV系列Nor-like SPI NAND支持Standard、Dual、Quad三种模式,指令集与Nor Flash高度相似,驱动开发比裸颗粒顺一些,但本质仍是页/块级命令,和SD那套扇区抽象不在一个层面。
三、管理机制: FTL 在芯片里,还是在主机里
这是两者之间根本的一道分界线。NAND Flash页写块擦、有出厂坏块、擦写次数有限,ECC纠错、坏块替换、磨损均衡、垃圾回收、掉电保护这些管理机制一个都不能少,区别只在谁来实现。

传统raw SPI NAND(裸颗粒)没有内置控制器,主机固件必须自己实现或移植FTL:维护逻辑到物理的映射表,写入前查坏块表,读出后按页OOB区的校验信息做ECC纠错,空闲块不足时搬数据擦块做GC,掉电后还要保证映射能恢复一致。ECC强度、备用块替换策略、映射表存放在哪,都得自己定。Linux平台有UBI、F2FS这类框架可以借力,MCU裸机或RTOS场景基本靠自研。
SD NAND内部是NAND阵列加Flash控制器二合一,完整FTL固化在控制器固件里,ECC、坏块管理、磨损均衡、GC、掉电保护出厂即定型,主机只拿到一个512字节扇区的块设备,物理页多大、坏块在哪,外部完全不可见。以米客方德 SD NAND MKDV系列为例,SLC颗粒P/E寿命10万次、数据保持力10年、工作温度-40℃到85℃,并通过高达12万次随机掉电测试,这些管理能力和验证结果都是随芯片交付的。要补充的是,SPI NAND阵营里也有内置控制器的managed类型------前面提到的MKSV系列同样在片内集成ECC纠错、坏块标记、磨损均衡和掉电保护,选型时需要和raw颗粒区分开。

四、开发成本:差的不只是驱动代码
软件工作量上三档分明。SD NAND这一档,固件只写标准SD驱动加FatFS挂载,例程成熟、行为确定,主要工作是板级适配和文件系统集成;内置控制器的SPI NAND居中,命令状态机简单,FTL由芯片承担,自研管理代码可以省掉;raw SPI NAND这一档,驱动之外还要自研或深度移植FTL,几千到上万行代码,真正耗人的是写满、掉电、高低温边界的验证周期,团队没有NAND经验时这块很容易拖项目后腿。

反过来raw SPI NAND也有它的账:每Gb容量的器件单价更低,主控够强、团队已有NAND管理框架时,边际软件成本摊得很薄,出货量大的产品上差价会被放大。SD NAND把软件成本压到较小,SD驱动加文件系统的组合通常一到两周就能跑通读写,省下的几周开发和验证时间,在周期紧的项目里往往比颗粒差价值钱。这笔账没有统一答案,取决于团队软件能力和产品出货量级。
接口上SD NAND胜在通用、SDIO带宽高,SPI NAND胜在总线简单、Quad模式带宽不弱;管理上SD NAND把FTL全包,raw SPI NAND把FTL留给主机,内置控制器的SPI NAND介于两者之间。米客方德同时布局MKDV系列SD NAND和MKSV系列SPI NAND,两条线覆盖不同分工偏好------选型时把"接口带宽、FTL谁来做、开发周期"这三项权重摆清楚,结论自然浮出水面。