闪存的工作方式与带有磁盘的磁盘不同。闪存实际上并不存在“坏扇区”的概念。如今,借助闪存和SSD,内置控制器负责识别和标记不可用的内存块,动态移动数据以减轻块写入限制等。这些功能在SSD中更为普遍,但有些功能存在于优质闪存卡(如SanDisk)中。
大多数文件系统检查工具要么对存储设备的物理结构做出特定假设(即基于磁盘,具有物理柱面,扇区,集群等),要么在抽象级别工作并使用文件或目录“虚拟”进行修复表。您将需要专门设计用于标记闪存设备上坏块的工具,因为其他任何事情都可能导致更多问题(假设它可以像使用基于磁盘的设备一样解决问题)或进行虚拟化不考虑闪存的动态硬件级功能的修复程序。即使您可以将特定的“扇区”或“集群”标记为“不良”,也不一定有好处,因为这些物理概念实际上并不存在于闪存中。如果闪存设备更高级,并且动态地移动数据以自动绕过坏块并减轻写入限制,则数据的物理位置可能会暂时驻留在坏块中,稍后再驻留在好块中。(请注意,闪存中的“坏”块的想法比磁盘大得多,更模糊了……闪存块倾向于缓慢死亡,而不是突然死亡,并且可能在可读/不可读之间“闪烁”。完全无法使用之前)。
一般而言,谈到闪存时,请让设备从坏块的角度进行管理。不同的制造商以不同的方式构造和存储数据,并且每个制造商可能具有不同级别和数量的动态行为,这些动态行为会移动数据以避免闪存的某些限制。自己尝试对其进行管理可能会导致超出解决方案的问题,并且从长远来看可能会使您的闪存盘无用。
如果您希望避免闪存卡损坏,我强烈建议您使用信誉良好的品牌。我过去曾尝试过各种闪存卡,但是SanDisk是我使用过的唯一一个品牌,至少到目前为止,它从未失败过。我有几张4、8和16 Gb SDHC卡,这些卡我经常使用,并且经常从相机中取出并插入笔记本电脑或计算机中,但它们仍能正常工作。(有些已经几岁了。)