做瑞芯微平台产品开发的人,对存储都不陌生。但很多人在设计存储系统时,只盯着两个东西:DDR(运行内存)和eMMC(主存储)。DDR选多大、eMMC选多大,然后就完了。
至于SPI NOR、SPI NAND,很多人要么忽略,要么乱用------该用SPI NOR的地方硬塞eMMC,该用SPI NAND的地方也塞eMMC。结果就是:成本高、寿命短、可靠性差,甚至启动慢、系统不稳定。
瑞芯微平台(RK3568、RK3588、RK3399等)上,其实有四种存储各司其职:DDR/LPDDR管运行内存,eMMC管系统+程序+主数据,SPI NOR管启动代码和固件,SPI NAND管大数据存储和日志。这四种存储各有各的用途、各有各的选型要点,配好了,系统又快又稳又省成本;配乱了,处处是坑。
这篇文章讲清楚瑞芯微平台存储系统怎么设计:四种存储各自的角色、选型要点、怎么搭配才合理。文章末尾配一张存储系统架构与选型汇总图,一图看懂怎么配。
一、为什么只盯着DDR和eMMC不够
先搞清楚一个基本问题:为什么不能只配DDR和eMMC?
因为不同的数据,有不同的存储需求,没有一种存储能同时满足所有需求:
-
运行数据(程序正在执行的代码、正在处理的数据)需要速度极快、可随机读写、容量适中------这是DDR/LPDDR的活。
-
系统+程序+主数据(操作系统、应用程序、用户数据)需要容量较大、掉电不丢、可反复改写------这是eMMC的活。
-
启动代码和固件(Bootloader、最关键的系统引导代码)需要启动最快、最可靠、能在Flash里直接执行------这是SPI NOR的活。
-
大数据和日志(日志文件、采集数据、缓存)需要容量大、成本低------这是SPI NAND的活。
如果不用SPI NOR,把Bootloader也塞进eMMC,启动会慢(eMMC初始化慢),而且万一eMMC坏了,系统连启动都不行。如果不用SPI NAND,把大量日志和采集数据也写进eMMC,会加速eMMC磨损(日志频繁写入,寿命消耗快),成本也高。
所以,合理的存储系统设计,是四种存储各司其职,按用途选最合适的。这才是"配得合理"。
二、四种存储各自的角色和选型要点
下面逐个讲四种存储的角色和选型要点。
2.1 运行内存:DDR / LPDDR
角色:运行内存,存程序正在执行的代码和正在处理的数据。系统启动时,从存储把程序加载到DDR里运行;运行时,所有数据都在DDR里操作。DDR是易失性存储,断电数据丢失。
瑞芯微平台常见的DDR:LPDDR4X(200-ball FBGA,2/4/8GB,3200/3733/4266Mbps)、LPDDR5/5X(315-ball TFBGA,4/8GB,6400/7500Mbps)。
选型要点:
-
容量:按产品实际需求选,不盲目追大。UI、轻应用,2至4GB够;多任务、AI、重应用,8GB或更多。留裕量,但别浪费成本。
-
速率:按性能需求选。不需要高带宽的应用,用较低速率(3733Mbps),时序裕量大、更稳定、功耗低。
-
温度等级:工业产品必须用工业级DDR(-25至85度或-40至85度),不要用消费级(0至70度)。高温死机、低温启动失败,很多是DDR温度等级不够。
-
SoC支持列表:优先选进入瑞芯微官方DDR支持列表(Rockchip DDR Reference Vendor List)的品牌型号,有官方配置参数和技术支持,兼容性有保证。比如汉四ROCFOUR的LPDDR4X/LPDDR5已经进入瑞芯微官方DDR支持列表,国产替代用起来和国际品牌一样方便。
-
组织参数:位宽(x16/x32)、通道数、bank数要和SoC的DDR控制器配置匹配,否则容量识别不对、性能不对。
2.2 主存储:eMMC
角色:主存储,存操作系统、应用程序、用户数据。系统启动后从eMMC加载程序,运行时的数据和用户数据也主要存在eMMC。eMMC是易失性存储之外的"硬盘",掉电数据不丢。
瑞芯微平台常见的eMMC:容量8至128GB,eMMC 5.1标准(HS400,最高400MB/s)。大部分瑞芯微平台都通过MMC接口接eMMC。
选型要点:
-
容量:按系统+程序+数据需求选,留30%以上空闲空间(空闲空间影响性能和寿命)。
-
NAND类型:工业产品用pSLC(擦写次数几万次,寿命长)或优质的MLC,不要用消费级TLC(几百至几千次,频繁写入几个月就耗完)。汉四等国产eMMC也有pSLC方案。
-
温度等级:工业产品用工业级eMMC(-40至85度),不要用消费级(0至70度)。
-
掉电保护(PLP):工业产品必须有掉电保护,断电时保护数据不丢失。突然断电是eMMC数据丢失和损坏的主要原因。
-
写入优化:不管用什么eMMC,都要优化写入------日志先写内存批量写入、临时文件放tmpfs、减少频繁小写入,延长eMMC寿命。
2.3 启动存储:SPI NOR Flash
角色:启动存储,存Bootloader、最关键的系统引导代码、固件、配置文件。SPI NOR支持XIP(Execute in Place,直接在Flash里执行代码),启动最快、最可靠。
瑞芯微平台常见的SPI NOR:容量8至64MB,SPI接口(1/2/4线),常用于存Bootloader(如U-Boot)、固件、系统关键配置。
选型要点:
-
容量:按Bootloader+固件+配置的体积选,8至64MB。Bootloader和固件不大,不用选太大。
-
可靠性:SPI NOR的可靠性高(SLC结构,数据保持时间长),是存启动代码的首选。
-
XIP支持:选支持XIP的SPI NOR,代码可以直接在Flash里执行,启动快。
-
温度等级:工业产品用工业级(-40至85度)。
-
为什么要用SPI NOR存Bootloader:如果Bootloader也放eMMC,eMMC初始化慢(要先读eMMC的EXT_CSD、做训练),启动慢;而且万一eMMC坏了,系统无法启动。SPI NOR启动快、可靠,即使eMMC坏了,也能进Bootloader恢复。
2.4 数据存储:SPI NAND Flash
角色:数据存储,存日志文件、采集数据、缓存、图片视频等大数据。SPI NAND容量比SPI NOR大,成本比eMMC低,适合大数据存储。
瑞芯微平台常见的SPI NAND:容量512MB至4GB,SPI接口。需要软件管理(坏块管理、ECC)。
选型要点:
-
容量:按数据量选,512MB至4GB。
-
NAND类型:用SLC或pSLC,可靠性高。不要用QLC(寿命短)。
-
温度等级:工业产品用工业级。
-
软件管理:SPI NAND需要软件做坏块管理、ECC(不像eMMC有控制器和FTL),确认瑞芯微平台有对应的驱动支持。
-
为什么用SPI NAND存日志/大数据:日志和采集数据频繁写入,写进eMMC会加速eMMC磨损;SPI NAND容量大、成本低,适合存这种频繁写入的大数据。eMMC留给系统和程序。
三、怎么搭配才合理
讲完四种存储各自的角色,下面讲怎么搭配才合理。搭配的核心原则:按用途选最合适的存储,各司其职,不越权。
3.1 标准组合(大多数产品)
大多数瑞芯微产品,标准的存储组合是:
-
SPI NOR(8至16MB):存Bootloader(U-Boot)、固件、系统关键配置。启动快、可靠。
-
DDR/LPDDR(2至8GB):运行内存,按应用需求选容量。
-
eMMC(16至64GB):存系统(根文件系统)、应用程序、用户数据。
-
SPI NAND(可选,512MB至4GB):存日志、采集数据、缓存等大数据,减轻eMMC负担。
这个组合覆盖了大多数产品的需求------启动快、系统稳、数据有地方放、日志不磨损eMMC。
3.2 精简组合(低成本产品)
低成本产品,可以精简:
-
SPI NOR(8MB):存Bootloader和精简固件。
-
DDR/LPDDR(1至2GB):运行内存。
-
eMMC(8至16GB):系统+程序+数据。
-
省略SPI NAND------如果数据量不大,日志可以放eMMC(但要注意写入优化,或者用tmpfs)。
精简组合成本最低,但要注意:日志和大数据都写eMMC,eMMC磨损快,适合数据量小、写入不频繁的产品。
3.3 大容量组合(数据密集型产品)
数据密集型产品(如边缘计算、视频存储、数据采集),可以加强数据存储:
-
SPI NOR(16MB):存Bootloader和固件。
-
DDR/LPDDR(8GB或更多):运行内存,支持大内存应用。
-
eMMC(32至128GB):系统+程序+主数据。
-
SPI NAND(4GB或更多):存大量日志、采集数据、视频图片,分担eMMC负担。
大容量组合适合需要大量数据存储的产品,SPI NAND承担大数据存储,eMMC只管系统和程序。
3.4 搭配的注意事项
-
不要把所有存储塞进eMMC:日志、大数据写eMMC,磨损快、成本高。用SPI NAND或tmpfs分担。
-
不要把所有存储塞进SPI NOR:SPI NOR容量小、成本高,只放Bootloader和固件,别放数据和程序。
-
Bootloader用SPI NOR,不用eMMC:启动快、可靠,eMMC坏了也能恢复。
-
DDR选进入SoC支持列表的:兼容性有保证,有官方配置和技术支持。
-
工业产品全用工业级:DDR、eMMC、SPI NOR、SPI NAND都用工业级(宽温、长寿命),别用消费级。
四、配图:瑞芯微平台存储系统架构与选型汇总图
下面这张图把瑞芯微平台四种存储的角色、用途、选型要点汇总起来,一图看懂怎么配才合理。

图中要点:
-
运行内存DDR/LPDDR:程序+运行数据,易失性,按容量/速率/温度/SoC支持列表选。
-
主存储eMMC:系统+程序+主数据,掉电不丢,按容量/NAND类型/温度/掉电保护选。
-
启动存储SPI NOR:Bootloader+固件,XIP启动快,按容量/可靠性/温度选。
-
数据存储SPI NAND:日志+大数据,容量大成本低,按容量/NAND类型/温度/软件管理选。
-
底部总结:按用途选最合适的,各司其职;DDR进SoC支持列表;eMMC用工业级;日志大数据用SPI NAND或tmpfs。
五、总结
瑞芯微平台存储系统设计,不是"DDR选多大、eMMC选多大"那么简单。四种存储各有各的角色,配好了又快又稳又省成本,配乱了处处是坑。
核心要点总结:
-
四种存储各司其职:DDR/LPDDR管运行内存(易失),eMMC管系统+程序+主数据(掉电不丢),SPI NOR管启动代码和固件(XIP启动快),SPI NAND管日志和大数据(容量大成本低)。
-
不要只盯DDR和eMMC:SPI NOR和SPI NAND各有不可替代的作用。SPI NOR启动快、可靠;SPI NAND容量大、成本低、适合频繁写入的大数据。
-
Bootloader用SPI NOR,不用eMMC:启动快、可靠,eMMC坏了也能恢复。
-
日志和大数据用SPI NAND或tmpfs,不写eMMC:避免加速eMMC磨损,降成本。
-
DDR选进入SoC支持列表的:有官方配置和技术支持,兼容性有保证。
-
工业产品全用工业级:DDR、eMMC、SPI NOR、SPI NAND都用宽温、长寿命的工业级,别用消费级。
-
按产品定位分级搭配:标准组合(NOR+DDR+eMMC+NAND)、精简组合(NOR+DDR+eMMC)、大容量组合(加大DDR和SPI NAND),按需求选。
-
搭配的核心原则:按用途选最合适的存储,各司其职,不越权。
最后一句话:存储系统设计,不是堆容量,是分角色。四种存储各司其职,你的系统才能又快又稳又省成本。
有瑞芯微平台存储系统设计相关的问题,欢迎评论区交流。