2017-04-19 631 views
0

在emmc flash上​​,当我们使用dd命令时,它会跳转坏块吗? 我发现这个链接: 并请留意它的“第5步”:dd命令是否会跳转emmc的坏块?

这一步将它写零破坏该块上的数据。 坏块将被恢复,但文件的数据将丢失。 如果你确定,你可以通过以下几个步骤进行:

root]# dd if=/dev/zero of=/dev/hda3 bs=4096 count=1 seek=2269012 
root]# sync 

为什么DD可以恢复坏块?所以这些块不是很差/损坏? 为什么sync命令在dd之后执行?

回答

1

eMMC更像SSD而不是原始闪存芯片。

eMMC存储器内部有eMMC控制器。控制器负责将空闲块映射到坏块。

映射前的地址称为逻辑地址,映射后的地址称为物理地址。

物理地址只对控制器可见,OS只能看到逻辑地址。

当操作系统写入一个逻辑块时,控制器会检查写入结果,如果失败,它会在断开的逻辑地址处分配一个备用物理块,然后重试写入。

通过擦除所有块,强制控制器检查所有块,如果有任何失败,它将为坏块(又名恢复)分配一个空闲块。