闪存驱动器的“弱位”测试?

fix*_*234 7 hardware-failure usb-flash-drive

闪存的写入周期数有限。在最近的一个问题中,@Rsya Studios 讨论了影响相邻位的读取问题,这在一定程度上是可以纠正的。这些问题都不像一个开关;有一段时间表现不佳。

回到软盘驱动器的时代,有一种称为“弱位”的复制保护方法。边缘位被故意写入磁盘,这需要特殊设备。无法通过在您的家用计算机上复制磁盘来复制这些位。这些是通过多次读取进行测试的。如果每次返回的结果都不相同,则磁盘被识别为原始磁盘。

有谁知道是否已经将类似的技术应用于测试闪存驱动器是否即将发生故障——通过多次读取寻找边缘位?(我不是在谈论写边缘位或写位并查看它们是否边缘;只是读取现有位以查看是否有边缘。)

编辑:这个问题是关于一种测试方法及其对闪存驱动器的功效。请专注于这一点,不要讨论是否值得测试闪存驱动器,或者是否应该将闪存驱动器用于某个目的或其他目的。

Jam*_*s P 0

软盘和现代闪存是两种完全不同的东西。

USB 闪存驱动器有一个闪存控制器芯片,具有复杂的逻辑来处理磨损均衡和纠错等事务。计算机隐藏了底层的复杂性,因此它只能看到逻辑块,而看不到物理块。在旧系统上访问软盘的级别要低得多,因为您可以直接读取物理块,并且任何错误都是明显且可重复的。

内置纠错功能可检测错误并将数据移动到另一个块。因此,如果驱动器仍然可用,则尝试使用比较重复读取之类的方法可能捕获的错误已经得到纠正。

正如您链接到的答案中提到的,闪存控制器可能会定期将数据从一个单元移动到另一个单元以防止数据损坏,因此重复读取同一块来测试它只会帮助磨损它。

因此,您可以使用笔式驱动器执行的操作是有限的,但偶尔运行 chkdsk 或任何操作系统的等效程序来检查错误可能是有意义的。更好的是定期进行备份,以防万一确实失败。

决不应该信任普通的笔式驱动器来存储关键数据。合适的 SSD 或 HDD 更好,因为它通常支持 SMART 错误报告系统,并且可以让您了解设备的物理状态以及是否可能发生故障。此外,一些廉价的笔式驱动器使用低质量的闪存芯片,可能不会持续很长时间。

真正担心数据完整性的人会使用相反的东西,例如带有 ECC 内存的 PC 上的 ZFS RAID 阵列,其中有足够的空间来检测和修复大多数错误。