我有一个16 as的USB棒,逐字,作为礼物和工具对我来说是有价值的。最近我遇到了一个问题--我在那根棍子上留下的一个文件被弄坏了。所以我在上面运行了badblocks -wsv。我使用了默认的4个测试。
我已经运行了4次测试5次。第一次运行时,它给我显示了3000个错误。在所有连续运行-0错误。
会发生什么事?我应该现在就用它还是该把它放在架子上了?实际上,我会尝试更换内部董事会,因为我重视这个项目。运行badblocks是否修复了错误?
Badblocks不使用文件系统,所以它不可能在某个地方编写关于破碎扇区的信息,对吗?
发布于 2016-03-11 09:29:15
这个问题很复杂,因为usb闪存驱动器内部有固件,可以通过隐藏的动态映射表将您对同一块的每一次写入转换为i/o,每次由于磨损级别架构,内部块号可能完全不同。看这个长篇文章。
简而言之,希望内部固件已经注意到它正在从闪存的某些物理部分中获取读取错误,并且已经从可以使用的空间列表中删除了该区域。这首先是在制造业,坏领域的清单随着时间的推移而累积。
由于映射,几个分离良好的块实际上可能都在同一个物理闪光灯区,所以可能只有一个死区。
PS。确保您的驱动器在写入过程中始终获得足够的usb电源(例如,如果是在集线器上,则使用电源集线器)。你可以买到廉价的内置usb电能表,如果你担心的话,它会显示出伏特/安培进入设备。
发布于 2016-03-11 09:50:38
除非您的闪存驱动器有一个非常特殊的问题(如固件错误),它很可能是磨损平衡机制试图防止错误尽可能长的时间,通过平衡所有可用闪存扇区的写入数。当你在媒体上遇到坏消息的时候,一些部门已经超出了他们的限制来处理更多的写作,而其他的已经接近极限了。随着时间的推移,你可能会犯越来越多的错误。
在闪存扇区完全无法使用之前,它通常会显示存储时间缩短(写入一些东西并立即读取,但在几周内读取失败),因此,是的,覆盖故障块似乎是“修复”它们,但不会持续很长时间。
也有可能是错误的部门被一个储备所取代,就像我所描述的。然而,要点仍然适用:闪存驱动程序的其他部分很可能正在走向失败。
我不会再在这个媒体上存储任何重要的数据了,如果可能的话,我会更换内部董事会。
https://unix.stackexchange.com/questions/269015
复制相似问题