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


7

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

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

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

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


2
如果您的数据完整性如此重要,那么为什么要使用USB闪存盘?如果您认为该设备出现故障,为什么不以10美元的价格购买另一台设备呢?
詹姆斯P

1
您希望任何设备具有数据完整性,并且您希望了解其状况。测试存储设备是了解它们是否可靠的常规方法。测试的目的是让您不必仅仅因为它可能因MTBF而失败而抛弃设备,并且您希望在出现故障症状之前知道。闪存驱动器本身并不可靠,数据完整性对于存储的任何内容都很重要; 否则,为什么存储它?
fixer1234 2014年

硬盘驱动器/ SSD通过SMART提供实时诊断数据,以帮助您了解故障是否迫在眉睫,而笔式驱动器则不然。笔式驱动器中的闪存控制器芯片抽象出所有细节,通常无法与之通信。
詹姆斯P

所以你不能解决单个位,但是检查字节级别的多次读取会怎样,或者错误纠正会掩盖结果呢?
fixer1234 2014年

@James - 如果你将你的解释写成答案并包含我之前关于纠错的问题的答案,我会接受它。
fixer1234 2014年

Answers:


0

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

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

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

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

因此,对于使用笔式驱动器可以执行的操作存在限制,但运行类似chkdsk之类的操作或者偶尔运行操作系统的等效操作来检查错误可能是有意义的。更好的方法是在实际发生故障的情况下进行定期备份。

对于关键数据,永远不应该信任普通的笔式驱动器。适当的SSD或HDD更好,因为它通常支持SMART错误报告系统,可以让您了解设备的物理状态以及是否可能出现故障。此外,一些便宜的笔式驱动器使用低质量的闪存芯片,可能不会持续很长时间。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.