Sunday, November 08, 2009

Data corruption problems with numerous USB to IDE/SATA adapters


I recently went to my local Microcenter to purchase an USB to IDE/eSATA adapter so I can backup some large file installs before doing a brand new full install on my new Dell 14z laptop (which is kick-butt).

I ended up purchasing the bottom of the line Inland Pro IDE/SATA/USB harddrive adapter for 14.99. According to the Microcenter salesperson, they hadn't had any returns on it. I figured that it was so cheap, how could I lose?

It turns out plenty.

I had read some reviews on Newegg.com on the Rosewill RCW-608 USB to IDE/eSATA adapter and how data was being on very large files (>2GB). The author suggested doing an MD5 test on very large files to confirm that the data was indeed being corrupted.

Out of curiosity I did exactly what the author of the review suggested by copying a very large ISO file I had (7 GB) to the old Barracuda drive now available via the USB port. To my surprise, the calculated MD5 on the file in my local hard drive and the old Barracuda were showing different MD5s even though the file sizes were exactly the same. How could it be?

It turns out that the data corruption problem is prevalent across all cheap USB to IDE adapters that are built around the JMicron JM20337. A blog post by someone employed by Samsung ran across the same problem but, I guess being an engineer, they actually opened the adapter and started sniffing for trouble. According to the blog, the data corruption problem is due to a resistor being placed in the reference design provided by JMicron to their OEMs.


In most (if not all) these adapters, the fix involves removing a surface mounted resistor that is named R15 that is marked "472". In the case of the Inland Pro IDE/SATA/USB harddrive adapter, it did not have an R15 but instead had an R13 that looked like it was in the same place as the other blog posts.

With a soldering iron and a little patience, I removed the surface-mounted resistor and I'm happy to report that from all my tests, it looks like this fix has solved the problem of corrupted data on IDE drives.

Note that removing this resistor has some type of effect on SATA drives with respect to detection of disconnection but in my case I didn't care since I was just trying to re-use an old IDE drive. As with any hardware mod, your mileage may vary and this absolutely destroys your warranty on the device.

I thought this might be helpful.