瑞芯微平台存储系统设计:DDR、eMMC、SPI NOR、SPI NAND怎么配才合理

做瑞芯微平台产品开发的人,对存储都不陌生。但很多人在设计存储系统时,只盯着两个东西: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?

因为不同的数据,有不同的存储需求,没有一种存储能同时满足所有需求:

  1. 运行数据(程序正在执行的代码、正在处理的数据)需要速度极快、可随机读写、容量适中------这是DDR/LPDDR的活。

  2. 系统+程序+主数据(操作系统、应用程序、用户数据)需要容量较大、掉电不丢、可反复改写------这是eMMC的活。

  3. 启动代码和固件(Bootloader、最关键的系统引导代码)需要启动最快、最可靠、能在Flash里直接执行------这是SPI NOR的活。

  4. 大数据和日志(日志文件、采集数据、缓存)需要容量大、成本低------这是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)。

选型要点:

  1. 容量:按产品实际需求选,不盲目追大。UI、轻应用,2至4GB够;多任务、AI、重应用,8GB或更多。留裕量,但别浪费成本。

  2. 速率:按性能需求选。不需要高带宽的应用,用较低速率(3733Mbps),时序裕量大、更稳定、功耗低。

  3. 温度等级:工业产品必须用工业级DDR(-25至85度或-40至85度),不要用消费级(0至70度)。高温死机、低温启动失败,很多是DDR温度等级不够。

  4. SoC支持列表:优先选进入瑞芯微官方DDR支持列表(Rockchip DDR Reference Vendor List)的品牌型号,有官方配置参数和技术支持,兼容性有保证。比如汉四ROCFOUR的LPDDR4X/LPDDR5已经进入瑞芯微官方DDR支持列表,国产替代用起来和国际品牌一样方便。

  5. 组织参数:位宽(x16/x32)、通道数、bank数要和SoC的DDR控制器配置匹配,否则容量识别不对、性能不对。

2.2 主存储:eMMC

角色:主存储,存操作系统、应用程序、用户数据。系统启动后从eMMC加载程序,运行时的数据和用户数据也主要存在eMMC。eMMC是易失性存储之外的"硬盘",掉电数据不丢。

瑞芯微平台常见的eMMC:容量8至128GB,eMMC 5.1标准(HS400,最高400MB/s)。大部分瑞芯微平台都通过MMC接口接eMMC。

选型要点:

  1. 容量:按系统+程序+数据需求选,留30%以上空闲空间(空闲空间影响性能和寿命)。

  2. NAND类型:工业产品用pSLC(擦写次数几万次,寿命长)或优质的MLC,不要用消费级TLC(几百至几千次,频繁写入几个月就耗完)。汉四等国产eMMC也有pSLC方案。

  3. 温度等级:工业产品用工业级eMMC(-40至85度),不要用消费级(0至70度)。

  4. 掉电保护(PLP):工业产品必须有掉电保护,断电时保护数据不丢失。突然断电是eMMC数据丢失和损坏的主要原因。

  5. 写入优化:不管用什么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)、固件、系统关键配置。

选型要点:

  1. 容量:按Bootloader+固件+配置的体积选,8至64MB。Bootloader和固件不大,不用选太大。

  2. 可靠性:SPI NOR的可靠性高(SLC结构,数据保持时间长),是存启动代码的首选。

  3. XIP支持:选支持XIP的SPI NOR,代码可以直接在Flash里执行,启动快。

  4. 温度等级:工业产品用工业级(-40至85度)。

  5. 为什么要用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)。

选型要点:

  1. 容量:按数据量选,512MB至4GB。

  2. NAND类型:用SLC或pSLC,可靠性高。不要用QLC(寿命短)。

  3. 温度等级:工业产品用工业级。

  4. 软件管理:SPI NAND需要软件做坏块管理、ECC(不像eMMC有控制器和FTL),确认瑞芯微平台有对应的驱动支持。

  5. 为什么用SPI NAND存日志/大数据:日志和采集数据频繁写入,写进eMMC会加速eMMC磨损;SPI NAND容量大、成本低,适合存这种频繁写入的大数据。eMMC留给系统和程序。

三、怎么搭配才合理

讲完四种存储各自的角色,下面讲怎么搭配才合理。搭配的核心原则:按用途选最合适的存储,各司其职,不越权。

3.1 标准组合(大多数产品)

大多数瑞芯微产品,标准的存储组合是:

  1. SPI NOR(8至16MB):存Bootloader(U-Boot)、固件、系统关键配置。启动快、可靠。

  2. DDR/LPDDR(2至8GB):运行内存,按应用需求选容量。

  3. eMMC(16至64GB):存系统(根文件系统)、应用程序、用户数据。

  4. SPI NAND(可选,512MB至4GB):存日志、采集数据、缓存等大数据,减轻eMMC负担。

这个组合覆盖了大多数产品的需求------启动快、系统稳、数据有地方放、日志不磨损eMMC。

3.2 精简组合(低成本产品)

低成本产品,可以精简:

  1. SPI NOR(8MB):存Bootloader和精简固件。

  2. DDR/LPDDR(1至2GB):运行内存。

  3. eMMC(8至16GB):系统+程序+数据。

  4. 省略SPI NAND------如果数据量不大,日志可以放eMMC(但要注意写入优化,或者用tmpfs)。

精简组合成本最低,但要注意:日志和大数据都写eMMC,eMMC磨损快,适合数据量小、写入不频繁的产品。

3.3 大容量组合(数据密集型产品)

数据密集型产品(如边缘计算、视频存储、数据采集),可以加强数据存储:

  1. SPI NOR(16MB):存Bootloader和固件。

  2. DDR/LPDDR(8GB或更多):运行内存,支持大内存应用。

  3. eMMC(32至128GB):系统+程序+主数据。

  4. SPI NAND(4GB或更多):存大量日志、采集数据、视频图片,分担eMMC负担。

大容量组合适合需要大量数据存储的产品,SPI NAND承担大数据存储,eMMC只管系统和程序。

3.4 搭配的注意事项

  1. 不要把所有存储塞进eMMC:日志、大数据写eMMC,磨损快、成本高。用SPI NAND或tmpfs分担。

  2. 不要把所有存储塞进SPI NOR:SPI NOR容量小、成本高,只放Bootloader和固件,别放数据和程序。

  3. Bootloader用SPI NOR,不用eMMC:启动快、可靠,eMMC坏了也能恢复。

  4. DDR选进入SoC支持列表的:兼容性有保证,有官方配置和技术支持。

  5. 工业产品全用工业级: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选多大"那么简单。四种存储各有各的角色,配好了又快又稳又省成本,配乱了处处是坑。

核心要点总结:

  1. 四种存储各司其职:DDR/LPDDR管运行内存(易失),eMMC管系统+程序+主数据(掉电不丢),SPI NOR管启动代码和固件(XIP启动快),SPI NAND管日志和大数据(容量大成本低)。

  2. 不要只盯DDR和eMMC:SPI NOR和SPI NAND各有不可替代的作用。SPI NOR启动快、可靠;SPI NAND容量大、成本低、适合频繁写入的大数据。

  3. Bootloader用SPI NOR,不用eMMC:启动快、可靠,eMMC坏了也能恢复。

  4. 日志和大数据用SPI NAND或tmpfs,不写eMMC:避免加速eMMC磨损,降成本。

  5. DDR选进入SoC支持列表的:有官方配置和技术支持,兼容性有保证。

  6. 工业产品全用工业级:DDR、eMMC、SPI NOR、SPI NAND都用宽温、长寿命的工业级,别用消费级。

  7. 按产品定位分级搭配:标准组合(NOR+DDR+eMMC+NAND)、精简组合(NOR+DDR+eMMC)、大容量组合(加大DDR和SPI NAND),按需求选。

  8. 搭配的核心原则:按用途选最合适的存储,各司其职,不越权。

最后一句话:存储系统设计,不是堆容量,是分角色。四种存储各司其职,你的系统才能又快又稳又省成本。

有瑞芯微平台存储系统设计相关的问题,欢迎评论区交流。

相关推荐
szxinmai主板定制专家3 小时前
ARM 还是 x86?CODESYS 数控机床控制器选型、FPGA 取舍与实时性真相
arm开发·人工智能·fpga开发·zynq·1024程序员节·codesys
工控存储研习13 小时前
eMMC分区方案设计:Boot分区、系统分区、数据分区怎么分才合理
arm开发
女神下凡15 小时前
芯参谋(68):ADC模数转换器电路设计指南
arm开发·单片机·嵌入式硬件·硬件工程·设计规范
chu_bingzhi1 天前
ARM异常处理
arm开发
武汉万象奥科1 天前
T153芯片解析:ARM+RISC-V异构架构,集成三路千兆网
arm开发·嵌入式硬件·物联网·arm核心板
黑马水牛2 天前
RK3588系列:01-系统烧录与开发环境搭建
arm开发·嵌入式硬件
像枫一样2 天前
STM32串口轮询收发实战教程
arm开发·c++·stm32·单片机·嵌入式硬件·fpga开发·51单片机
晚枫歌F2 天前
dpdk实现kni
arm开发
大叔学Linux3 天前
FreeRTOS任务切换笔记
arm开发·笔记