我在短短两年内就遇到了多个USB随身碟,档案系统损坏。在仅限Windows的环境(Vista和更高版本)中,如何减少单个USB驱动器上文件系统损坏和数据丢失的可能性?
- 哪个文件系统最健壮?
- 哪些技术或标签(通过xyz认证等)表明支持它们的USB记忆棒损坏的可能性较小?
- 还有其他需要注意的地方吗?
我在短短两年内就遇到了多个USB随身碟,档案系统损坏。在仅限Windows的环境(Vista和更高版本)中,如何减少单个USB驱动器上文件系统损坏和数据丢失的可能性?
Answers:
如何减少单个USB驱动器上文件系统损坏和数据丢失的可能性?
诸如FAT32或NTFS之类的常用文件系统不存储任何数据验证信息(仅存储在内部文件系统本身上)。保留数据备份,使用校验和验证数据(您可以为文件生成MD5 / SHA1哈希,仅用于检查是否有任何数据损坏),和/或存储恢复档案。
最后,无论文件系统如何,都应 始终正确卸载 驱动器。这样可确保完成所有现有文件的读/写,并且已刷新所有读/写缓冲区。
哪个文件系统最健壮?
坚固性要付出代价-兼容性。可以说,您想要一个具有内置数据验证和校验和(或冗余数据)功能的文件系统,例如ZFS,但在Windows / OSX中却不太可移植。如果需要考虑性能,则可能要尝试使用exFAT,它似乎在大多数主要操作系统中都已开箱即用,或者进行了一些轻微配置。
哪些技术或标签(通过xyz认证等)表明支持它们的USB记忆棒损坏的可能性较小?
可使闪存寿命更长的任何事物,最显着的是损耗均衡和过度配置。如果驱动器支持磨损均衡,则较大的驱动器将在出现一些磨损的情况下保留更多可用扇区。
归根结底,闪存不会永远持续下去。当前所有的闪存都具有有限数量的读/写周期,这会随着时间的流逝固有地导致数据丢失。您可以通过进行定期备份并使用校验和验证数据来确定文件何时损坏来减轻这种风险。
也可以使用具有内置数据完整性和恢复功能的文件系统,但是在撰写本文时,这些在许多非UNIX环境中并不常见。由于存储每个文件的附加校验和和冗余信息的要求,它们也可能比较慢,并且实际上会使驱动器磨损更快。
对于每种情况,都有一个解决方案,您只需要权衡可移植性/完整性/速度注意事项。
文件系统-如果仅在一个操作系统上使用闪存驱动器,则使用计算机上相同的文件系统:
Windows-NTFS
Mac OS X-HFS Plus
Linux-几种选择,这是一篇文章
如果在多个操作系统上使用驱动器,则需要使用FAT32,因为它是最兼容的文件系统,但也是最不可靠的文件系统。如果兼容性不是问题,则上述任何选择都是更好的选择。注意:如果使用Linux和Windows,则可以将NTFS用于计算机文件系统和闪存驱动器,但是,如果使用Mac OS X,则使NTFS正常工作是很痛苦的,也不值得这样做。
品牌-永远不要以品牌为基础进行购买
技术-@Breakthrough列出了您可能需要的一些,但是今天几乎所有的闪存驱动器都将具有这些功能或其他专有别名,因此不值得研究
通常,不要花太多时间研究它。接触@SethCurry时,冗余始终是确保数据安全的更好答案。任何存储设备最终都可能会失败,因此,您不想对一个解决方案感到满意。
闪存驱动器损坏的最常见原因是急躁。我经常拒绝等待弹出闪存驱动器,而且我知道我不是唯一的一个。(在我的辩护中,我还倾向于确保仅闪存驱动器上没有重要的事情,您也应该这样做。)
如果您不安全地删除驱动器,则会导致驱动器损坏,这是由于“写入缓存”引起的。本质上,写缓存是一项提高写速度的功能。您的操作系统将缓存这些请求,并一口气完成所有请求,而不是在收到每个请求时都写这些请求并迫使您等待。当您告诉计算机安全删除或卸载闪存驱动器时,实际上是在警告操作系统即将删除它,因此它将所有缓存中的请求都写入磁盘,并告诉所有后台程序停止对其进行访问。如果不等待,则可能有项目等待写入磁盘,这可能导致文件系统损坏。
至于格式,我个人更喜欢ext4作为我的闪存驱动器。对于Windows,我会说要使用NTFS,因为ext4往往会在Windows中引起问题。NTFS支持大文件和日记,因此可以很好地工作。文件系统在很大程度上是个人选择,通常情况下,不太容易损坏的文件也会变得非常慢。ZFS正在变得流行,尽管我不知道ZFS是否可以在Windows上运行,也不知道它是否可以放在闪存驱动器上。
在品牌方面,我发现彼此之间的质量差异不大。有些对连接器有更好的保护,有些肯定没有那么“脆弱”(尽管令人惊讶的是,我发现脆弱的那些断裂不那么频繁)。我通常只使用便宜的东西。
您应该认识到,重要的事情绝不能仅保留在闪存中。USB随身碟很容易丢失,踩上或掉入马桶等内。重要数据应备份并保存在至少两个不同的驱动器上,最好在至少两个单独的物理位置(考虑火灾危险,洪水危险)等)。
答案中还没有提到一件事,那就是所使用的闪存类型。购买闪存设备时,这只会是一个标准。
有SLC(单级单元)和MLC(多级单元)闪存。
开发MLC技术是为了增加可存储数据的密度。
每个单元存储多于一位,通常为两位。它的工作方式是在电池中存储四个电压电平。这样就为每个单元提供了两位数据。
MLC存在两个问题。
MLC可以处理的写入周期减少了大约10倍。在出现问题之前,它可以完成10,000次写入操作-而SLC可以完成100,000次写入操作。
随着细胞的储存能力下降,MLC的分辨能力将比仅有两个能级的下降得更快。
尽管所有这些技术都使用ECC(纠错码),但它的功能是有限度的。另外,如另一个答案中所述,磨损平衡不会“解决”差异。也许还有一些非常便宜的USB记忆棒没有“磨损程度”,但从外面很难分辨出来。
另外,很难确定设备使用SLC还是MLC。在将越来越多的数据填充到同一个“表面”的竞赛中,我认为大多数制造商都将改用MLC。如果可靠性是首要因素,也许您可以环顾四周,仍然找到一些SLC存储设备。
在仅Windows环境中,您还可以优化 USB设备的性能:
写入的管理有所不同:如果选择“快速删除”(默认),Windows会尝试立即在USB笔上写入数据,而使用“更好的性能”选项时,系统将缓存数据而不是写入并将刷新所有数据。仅在使用安全删除硬件卸载卷之前(通常通过在托盘中的USB图标上单击鼠标左键)。
请注意,使用“更好的性能”选项可以在不使用安全拆卸硬件的方式拔下操纵杆的情况下,或者在突然关闭计算机的情况下,释放未写入的数据。