eMMC某些扇区数据时好时坏

lvslightly 2018-03-07 05:00:12
请教下大家,我现在有几块板子的eMMC在系统运行几天后出现了问题,某几个扇区的数据出现可异常,不知到是什么原因引起
1.系统运行时无写eMMC操作,板子正常使用一段时间后eMMC的某几个扇区会出现异常
2.出现异常的扇区在某几个文件内
3.读取异常的扇区数据时有时正常,有时全为0(错误)
4.异常扇区受eMMC的温度影响,温度升高错误几率增加,温度降低成功率增加
5.在异常扇区或者异常扇区的前几个扇区重新写入数据后就恢复正常
...全文
3126 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2018-03-08
  • 打赏
  • 举报
回复 2
eMMC 的底层存储介质是 NAND Flash。eMMC 的控制器实际上是有 ECC 纠错的,可能错误比特数已经超出了可纠错的范围。 NAND Flash 的 sell,在写入(编程)时向栅极注入电荷;擦除时则将整页的电荷释放。我们所说的写,实际上是擦除后再写入。 Flash 的某一页可能有缺陷,坏 sell 较多,有的是无法擦除或写入(比特固定),有的是电荷会缓慢释放。 读操作实际上会对栅极电荷状态有损耗的,虽然很小。对于电荷泄漏的 sell 读操作可能加速其比特反转。 输出全 0 可能是 eMMC 控制器纠错失败时的一种方式。 另外,重写一个扇区,虽然你认为的逻辑地址是相同的,但出于效率和损耗均衡的目的,eMMC 的 FTL (Flash 转换层)会将你的逻辑地址映射到另外的物理地址。如果是从一个坏页换到了一个正常页,故障就消失了。 正常情况下,FTL 有坏块管理模块,eMMC 的出厂前会进行坏块搜索,使之不投入使用。之后,也会动态管理,将坏块数据复制到其他块,封闭坏块。 总的来说,你的 eMMC 的 Flash 有缺陷。如果故障还会再次出现,则说明其 FTL 的坏块管理也出现问题了。 可以考虑换大品牌的 eMMC 产品,一般说来更可靠一些。

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧