【问题标题】:Whether will dd command jump the bad block of emmc?dd命令是否会跳转emmc的坏块?
【发布时间】:2017-04-19 06:55:31
【问题描述】:

在emmc flash上​​,当我们使用dd命令时,会不会跳坏块? 我找到了这个链接:http://linoxide.com/linux-how-to/how-to-fix-repair-bad-blocks-in-linux/ 请注意它的“第 5 步”:

此步骤将通过在该块上写入零来破坏该块上的数据。 坏块将被恢复,但文件的数据将丢失。 如果您确定,您可以继续执行以下步骤:

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

为什么dd可以恢复坏块?所以这些块不是真的坏/损坏了吗? 还有为什么会在dd之后执行sync命令?

【问题讨论】:

    标签: linux memory storage flash-memory


    【解决方案1】:

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

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

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

    物理地址只对控制器可见,操作系统只看到逻辑地址。

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

    通过擦除所有块,强制控制器检查所有块,如果有失败,它将为坏块分配一个备用块(也称为恢复)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-09
      • 2013-10-25
      • 2018-05-01
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      相关资源
      最近更新 更多