EMMC使用注意事项,从eMMC到NAND,嵌入式系统存储
Forlinx
2026-02-02 10:58:00
EMMC基本信息
在嵌入式系统开发领域的一些应用场景中,需要对数据进行读写操作。应用中频繁读写数据有可能会导致存储介质出现不启动、数据丢失等问题。我们从存储介质的物理特性、擦写机制,飞凌提供的eMMC健康监测工具、应用优化方案措施这几方面进行介绍。
嵌入式场景中常用来存储数据的主流介质为eMMC和NAND。eMMC和NAND的区别在于eMMC是由NAND Flash和NAND Flash控制器组成并封装在一起。控制器主要包括功能:坏块管理、ECC校验、磨损均衡、数据保持和地址管理及映射等。eMMC本身的物理特性和擦写机制会导致频繁读写数据会出现eMMC寿命耗尽的情况。
物理特性限制
eMMC寿命的定义通常是基于所有存储块轮循擦写一次的总次数。由于eMMC内部自带擦写均衡管理,其寿命通常指所有存储块能够承受的总擦写次数。eMMC的寿命耗尽主要是由于物理特性限制的。其内部的NAND Flash存储单元的擦写次数有限。
NAND Flash的擦写次数是指闪存芯片能够承受的将数据写入存储单元的次数。不同类型的NAND Flash,其擦写次数和性能有所不同。嵌入式常用类型低存储容量一般为SLC和MLC,高存储容量一般是TLC。
NAND Flash类型对比
每个单元存储1 bit数据
速度快,寿命长,价格贵
每个单元存储2 bit数据
速度较快,寿命较长
每个单元存储3 bit数据
速度较慢,寿命较短
每个单元存储4 bit数据
容量大,寿命短,价格低
以MLC为基础,每Cell存1 bit
存储空间减半,寿命提升
eMMC擦写机制
eMMC必须先擦写再写入,每个单元只能承受有限次数的擦写。eMMC是按页写,按块擦除。每次最小的写入单元为1页,即便是只写入1个字节,占用空间也是一个页。
核心技术参数
- P/E (Program/Erase Count):擦写寿命。耐用性两个指标之一。
- TBW (Total Bytes Written):总写入量。厂商界定质保期的数值。
- FW (Firmware):eMMC内部控制器固件,出厂前已烧录。
- WA (Write Amplification):写放大。闪存写入数据量 ÷ 主控写入数据量。
- GC (Garbage Collection):垃圾回收。按页写入,按块擦除。
eMMC寿命预估方法
通过以下公式计算所使用eMMC的理论最大写入容量:
EMMC标称容量 × 90% × P/E Cycles / WA
参数说明
- P/E Cycles:擦写次数,根据颗粒种类选择(MLC保守值3000次)
- WA:写入放大系数,可通过debug信息获取
- 90%:开卡后实际可用容量为标称容量的90%~95%
8000MB × 0.9 × 3000 / 1.5 = 14,400,000 MB
≈ 14.4 TB 总写入量
eMMC寿命耗尽现象
当eMMC的寿命耗尽时,可能会出现以下几种情况:
eMMC健康提醒工具
我们希望通过对存储相关知识的分享,助力大家构建完整的存储知识体系框架;同时我们经过开发设计出可以对eMMC健康监测的程序,助力于客户产品开发过程中提早获取信息,并做相应措施。
工具核心功能
- 监测客户每天对eMMC的写入量,如果评估每天写入量过大,持续这样使用将达不到期望使用年限,需要及时提醒用户。
- 监测eMMC寿命,当寿命用尽时及时提醒用户。
- 监测eMMC坏块,如果坏块增加,及时提醒用户。
eMMC使用优化措施
实际产品开发过程中,根据如上信息特点,为保证产品稳定性我们可以在应用设计阶段通过以下优化措施来延长eMMC使用寿命。
-
应用优化,增加缓存设计
针对小数据量存储,建议放在缓存中暂存,达到一定量再存储到eMMC中。可以在写文件的时候积累到一定字节数量的数据之后(比如积累到多个page的数据),再进行落盘。 -
避免直接落盘
建议尽量不要使用直接落盘的方式打开和写入文件。尽量使用文件系统自管理落盘机制。一般情况是文件占用总内存的30%或者时长超过300秒会触发落盘操作。 -
异常断电保护
如果担心设备异常断电导致文件丢失,可以考虑增加超级电容,发现掉电信号后,及时将缓存内数据落盘。 -
分离存储介质
建议将频繁写操作转移到外挂存储盘,这样可以保证系统文件可靠性。优先使用硬盘,其次TF卡、U盘等外部存储设备(注意:TF卡和U盘同样存在寿命和连接问题)。 -
利用内存文件系统
建议将大量临时数据写到/tmp路径(tmpfs文件系统的介质是DDR存储颗粒),并及时将数据转移走。 -
硬件升级方案
可以通过增大eMMC容量来增强产品的耐用性;针对对产品寿命要求比较长的,采用PSLC存储的方案(会增加成本且需要特殊定制)。
相关产品 >
-
FET3568-C核心板
RK3568性能强而稳 国产芯|飞凌嵌入式RK3568系列核心板,采用瑞芯微国产高性能AI处理器RK3568设计生产,RK3568兼具CPU、GPU、NPU、VPU于一身,RK3568 性能、性价比在同类产品中具有较高优势,RK3568处理器是一款定位中高端的通用型SoC, 飞凌RK3568核心板主要面向工业互联网、HMI、NVR存储、车载中控、工业网关等领域。目前RK3568系列已经批量稳定出货
了解详情
-
FET3588-C核心板
RK3588芯片系列是Rockchip推出的旗舰级工业级产品,采用先进的8nm制程工艺,集成4核Cortex-A76+4核Cortex-A55架构,A76主频高达2.4GHz,A55核主频高达1.8GHz,能够提供强大的性能支撑。飞凌FET3588-C核心板经过了严苛的环境温度测试和压力测试,确保在高端应用中能够稳定运行。您可以通过飞凌提供的rk3588开发套件充分评估和验证其性能。
了解详情
-
FET536-C核心板
了解详情基于全志T536工业级处理器的FET536-C全国产核心板。该核心板的开发设计充分利用了T536处理器的性能优势。T536处理器的主频为1.6GHz,集成了四核Cortex-A55以及64位玄铁E907 RISC-V MCU,能够提供高效的计算能力。此外,T536还支持2TOPS NPU、安全启动、国密算法IP、全通路ECC、AMP、Linux-RT等功能。T536还配备了广泛的连接接口,包括USB、SDIO、UART、SPI、CAN-FD、以太网、ADC(模数转换器)、LocalBus等,以满足不同应用场景的需求

-
FET153-S核心板
全志 T153 是面向工业领域的高性能处理器,基于全志 T153 开发的 T153 核心板,采用 4 核 Cortex-A7+64 位 RISC-V 异构架构,主频达 1.6GHz(A7)+600MHz(RISC-V),兼顾高效数据处理与实时控制需求。原生支持 3 路 GMAC 千兆以太网、2 路 CAN-FD、LocalBus 并行总线,接口资源丰富,cpu引脚全引出,适配多设备连接。核心板采用 100% 国产工业级元器件,-40℃~85℃宽温稳定运行,支持国密算法与安全启动,满足电力、工业控制、新能源、医疗等场景需求,且提供 10-15 年供货保障,助力用户产品快速落地。了解详情

