I’m really concerned that flash-memory is just not reliable as a storage for irreplaceable files. Does anybody know if the integrity (corruptibility) of flash-memory (flash-drives, memory-cards—SSDs?) depend on the system and its resource load?
That is, if you are writing (or reading?) to a USB flash-drive or memory-card while the system is under a load (something in the background running the CPU at 100%, using up a lot of memory, or causing the hard-drive to thrash a lot), could it cause the data written to or read from the flash device to be corrupt?
I have recently gotten two brand-new flash-drives (a Kingston memory-card and a Kingston USB-drive). I copied a folder with a lot of files to both of them (at the same time), and when I compared them to the source (and each other), I found that some files were shown as being different. Some of them were false-positives and re-comparing them made them go away (they were suddenly identical again), while some were permanently corrupt (some had 8 bytes in a row different, some had several dozen in a row). After copying the corrupt files again and comparing them, they showed as identical.
It doesn’t seem to be system related (e.g., bad memory) because I’ve seen it happen on a laptop and desktop. Nor is it OS dependent; it’s happened on 64-bit 7 and 32-bit XP. It doesn’t seem to be related to the USB port or memory-card reader (again, different systems). It is not even the device itself (I’ve seen it happen on SanDisk and Kingston memory-cards and USB-drives). Unfortunately I can’t do any tests because while it’s not fully intermittent, it is random (I may be able to force it to happen, but would be unable to control the results).
The only factor that seems to be even slightly consistent when it happens seems to be the resource-load of the system that is reading or writing to the flash-memory. It’s almost as though the device cannot get the data fast enough—as though flash-drives and cards are sooo fast
(¬_¬)—so it writes junk and moves on, much like how burning a CD or DVD requires a constant, steady stream of data without interruption to avoid corrupting the disc (even with a built-in buffer).
Is that really how flash-memory drives work? If so, why? Why are they not like hard-drives that simply take longer to perform the disk operation? Surely in this day and age, systems are designed to be dynamic and use variables and error-handling instead of expecting all operations to complete in an arbitrary prescribed amount of time and fail if it they are not.