Tuesday, November 28, 2017

filesystem corruption - Does flash-memory integrity depend on system resources while reading/writing (like CDs/DVDs)?


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.


Answer



edited:


After some interesting discussions with Synetech, and considering that he made several tests (different brands, different OS versions, different computers, etc), we found some tips on this Microsoft Technet discussion page


Some users consider that the problem can be related to USB voltage: sometime Windows, motherboard, etc, try to reduce power consumption, and taht can be critical when the CPU / computer is under high load. In those situations, the USB can be powered with a lower voltage than it requires, and then some erratic behavior can happen.


There are many possible solutions, that might or might not work for each computer:


1 - Tweaking the BIOS so that northbridge receives more tension for USB ports;


2 - Using a powered USB hub;


3- Disabling ACPI control.


No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...