eMMC 健康度检查
eMMC 芯片会在 Linux 下挂成:
/dev/mmcblk0
/dev/mmcblk1
通常 /dev/mmcblk0 是 eMMC,/dev/mmcblk1 可能是 SD 卡。
可以通过 lsblk 确认哪个是系统盘。
读取 EXT_CSD
使用 mmc-utils 工具(多数发行版自带或可编译安装):
mmc extcsd read /dev/mmcblk0 | less
这会打印 eMMC 的 512 字节扩展寄存器,里面包含寿命信息。
3. 关注的关键字段
在输出里找到以下几行:
-
DEVICE_LIFE_TIME_EST_TYP_A -
DEVICE_LIFE_TIME_EST_TYP_B-
范围:0x01 ~ 0x0A,对应 0%~100% 寿命区间。
-
例如:
-
0x01→ 0~10% -
0x05→ 40~50% -
0x0A→ 超过 100%,表示寿命终止期。
-
-
A/B 分别对应 SLC/TLC 两种存储单元的寿命计数。
-
-
PRE_EOL_INFO-
eMMC 的寿命预警等级:
-
0x01→ Normal (正常) -
0x02→ Warning (警告,建议更换) -
0x03→ Urgent (即将报废)
-
-
二、示例输出(典型情况)
DEVICE_LIFE_TIME_EST_TYP_A: 0x04 DEVICE_LIFE_TIME_EST_TYP_B: 0x03 PRE_EOL_INFO: 0x01
解释:
-
A=4050%,B=3040%
-
PRE_EOL=1 → 正常,尚未进入寿命警告。
再比如:
DEVICE_LIFE_TIME_EST_TYP_A: 0x09 DEVICE_LIFE_TIME_EST_TYP_B: 0x08 PRE_EOL_INFO: 0x02
解释:
-
A=90100%,B=8090%
-
PRE_EOL=2 → 已进入预警阶段,需要尽快更换 eMMC。
三、结合实际情况分析
-
如果 PRE_EOL_INFO=2/3 → 高危,eMMC 随时可能彻底坏掉。
-
如果 DEVICE_LIFE_TIME_EST_TYP 已经到 0x08 以上 → 实际寿命已很接近终点。
-
即使数值还正常,但你已经遇到 频繁的 EXT4-fs 错误 / Kernel panic,说明:
-
要么寿命计数没能准确反映真实坏块情况(有些 eMMC 质量不好),
-
要么电源/掉电问题加速了文件系统损坏。
-
更多推荐


所有评论(0)