问题
我真的很担心闪存作为不可替代文件的存储并不可靠。有人知道闪存(闪存驱动器、存储卡 - SSD?)的完整性(可损坏性)是否取决于系统及其资源负载吗?
也就是说,如果您在系统处于负载(后台某些程序以 100% 的负载运行 CPU、占用大量内存或导致硬盘严重抖动)时写入(或读取?)USB 闪存驱动器或存储卡,是否会导致写入或从闪存设备读取的数据损坏?
背景
我最近买了两个全新的闪存驱动器(一个金士顿内存卡和一个金士顿 USB 驱动器)。我将一个包含大量文件的文件夹复制到这两个驱动器中(同时),当我将它们与源文件(以及彼此)进行比较时,我发现一些文件显示为不同。其中一些是误报,重新比较后它们就消失了(它们突然又变得相同),而有些文件则永久损坏(有些有连续 8 个字节不同,有些有连续几十个字节不同)。再次复制损坏的文件并进行比较后,它们显示为相同。
观察结果
这似乎与系统无关(例如,内存不好),因为我见过这种情况发生在笔记本电脑和台式机上。这也不依赖于操作系统;它发生在 64 位 7 和 32 位 XP 上。这似乎与 USB 端口或存储卡读卡器无关(再次强调,不同的系统)。这甚至不是设备本身(我见过这种情况发生在 SanDisk 和 Kingston 存储卡和 USB 驱动器上)。不幸的是,我无法进行任何测试,因为虽然它不是完全间歇性的,但它是随机的(我可能能够强制它发生,但无法控制结果)。
唯一稍微一致的因素似乎是读取或写入闪存的系统的资源负载。这几乎就像设备无法足够快地获取数据一样——好像闪存驱动器和卡非常快(¬_¬)
——所以它会写入垃圾然后继续,就像刻录 CD 或 DVD 需要不间断的恒定、稳定的数据流以避免损坏光盘(即使有内置缓冲区)。
闪存驱动器的工作原理真的是这样吗?如果是这样,为什么?为什么它们不像硬盘驱动器那样,只是需要更长的时间来执行磁盘操作?当然,在当今时代,系统被设计为动态的,并使用变量和错误处理,而不是期望所有操作都在任意规定的时间内完成,如果不能完成,就会失败。
答案1
編輯:
在与 Synetech 进行了一些有趣的讨论之后,并考虑到他进行了几次测试(不同品牌、不同操作系统版本、不同计算机等),我们发现了一些关于此的提示Microsoft Technet 讨论页面
有些用户认为问题可能与 USB 电压有关:有时 Windows、主板等会尝试降低功耗,而当 CPU/计算机处于高负载状态时,这种情况可能会很严重。在这些情况下,USB 的供电电压可能低于其要求,然后可能会发生一些不稳定的行为。
有许多可能的解决方案,可能适用于每台计算机,也可能不适用于每台计算机:
1 - 调整 BIOS 以便北桥能够为 USB 端口提供更多的压力;
2——使用有源USB集线器;
3-禁用 ACPI 控制。