Data recovery and disk repair questions and discussions related to old-fashioned SATA, SAS, SCSI, IDE, MFM hard drives - any type of storage device that has moving parts
February 7th, 2011, 22:30
Run of the mill WD 250GB SATA mobile. Passes through MHDD with flying colors. Deepspar will clone it without a single hiccup. I can erase it, zero fill it, you name it and it just hums right along. Here is the kicker: anything copied to it randomly gets garbled. I can take a working image; clone it to this HD and the drive will refuse to boot all the way. Windows will try to load then stop with a missing or corrupt boot file. Same goes if I just copy some random pics to it then try and read from a working machine. Randomly some pics will be garbled or better yet missing entirely. Needless to say, no data needs to be recovered from this drive. I've long since replaced it for a customer but good heavens what in the world is going on with this?
February 7th, 2011, 23:44
If the drive supports the ATA Write-Read-Verify feature set, then enable it. If it supports NCQ, then try disabling it. Obviously these won't fix anything, but they may help you narrow down the fault. You could also try forcing PIO mode, but this will be very slow.
February 7th, 2011, 23:48
It sounded like to me a cache problem. I didn't know of a specific way of testing the cache ram on a HD. MHDD, Victoria or SMART doesn't seem to have the means to test this. I recall a really old MS-DOS diagnostic disk I used that had an option to test a CPU and HD cache but I can't seem to come up with a modern test for it.
February 8th, 2011, 2:49
The early MFM controllers were able to report a "sector buffer error" (code 03) in diagnostic mode. The current ATA standard has an Execute Device Diagnostic command. However, the failure codes appear to be left to the interpretation of the manufacturer.
I suppose you could issue the Execute Device Diagnostic command in a continuous loop. Alternatively, you could fill the drive's cache with a write command, wait a while for any refresh problems to surface, then read back the data from those same sectors. As long as the number of sectors doesn't exceed the size of the cache (after allowing for the space occupied by runtime code, etc), then AFAICS you will always be reading data out of cache rather than from the platters.
For example, a 32MB cache could be filled by writing just under 64K sectors.
That said, I would be very surprised if there were no factory test that could do what you want. Surely one of your expensive tools should be able to do this ???
BTW, some drives have a SMART attribute, End-To-End Error Count, that records parity errors in the data path into and out of cache memory. In these cases a single error is enough to trigger a SMART failure.
Powered by phpBB © phpBB Group.