CRC is not the same after backing up files from one drive to another

kingfeta

Distinguished
Nov 18, 2007
21
0
18,510
I am copying files from my WD MyBook to my WD internal hard drive and after completion I run a crc compare and some files do not have the same crc.

I have tried multiple file movers and crc checkers:
-teracopy(has a crc compare utility too)
-vista's standard copy
-vista's built-in robocopy

I am using Vista Pro 64bit and trying to back up some video files which still seem to work correctly after the copy, but some of the files(not all) fail a crc compare. If it makes any difference, the movies were copied from a Vista Home 32bit system. I did a bad sector check on the destination drive and it came up ok. I also tried moving them onto another drive with similar, poor results.

Any ideas? Thanks.
 

SomeJoe7777

Distinguished
Apr 14, 2006
1,081
0
19,280
Nothing against the CRC programs you might be using, but I'd be interested in seeing one other comparison tool run. This one I wrote myself, and have used it on many occasions to compare files.

Download QuickHash v1.2.0.0 from my personal site.

Install it, run it, and drag your files (one at a time) to the target icon. Compare the MD5 or SHA1 signatures between the files on different drives. If they actually are different, then you have a problem.

CRC has some limitations that these hash algorithms don't have, so this is a more accurate check of whether the files are the same.

By the way, the SHA1 of the downloaded .zip file is 52C9EE03 BBCCB572 7415C2F1 E401484D 6351567A, just to make sure it doesn't have an error. ;)
 

kingfeta

Distinguished
Nov 18, 2007
21
0
18,510
Thanks. I downloaded and ran your program. The files return different results. Don't know if this is an unrelated problem, but when I use imgBurn to burn iso's, the verification fails(I've tried different iso's and brands of blank discs).

I ran memtest for before my clean install of Vista for 8 hours and again today for 2 hours...no problems. What could cause this?
 

cyberjock

Distinguished
Aug 1, 2004
305
0
18,780
Ok, there is some little known info that people don't know about hard drive diagnostics.. but I'll explain that in a second.

Your CRC error tells us that either you don't know how to run simple software(I seriously doubt you are in this group since you seem to be able to spell correctly, so you aren't a rock), or you have a hardware failure of some sort.

Now, where is the hardware failure, because you want to fix it? This question will be difficult. The easy answer is to say it's gotta be the hard drive, because what you are reading off the hard drive after the copy is wrong. That's not necessarily the case. To copy data from a USB to internal hard drive, you have to go through alot of places. Through the hard drive(caching, USB on the hard drive), then via USB wire to USB controller on motherboard, then through RAM, CPU, caches along the way, to the SATA(or IDE) controller, then to the hard drive(and it's cache and processor), THEN to the plattter. If any of these points fail, beginning to end, your data is lost.

Believe it or not, it's actually common to have a normal CRC failure every 1x10^9 read requests. Sounds like alot, but for some, that's just a week or so. What is the solution? Attempt to re-read the sector, and then the error sometimes goes away. This is due to the physical world.

Now, your first thought was the hard drive. I will grant you that it IS probably the hard drive. If it was anything else, you'd definitely know. If it was bad RAM, CPU, Cache, motherboard, even USB wire, you'd have LOTS more problems. BSODs, hard drive not detected when plugged into USB port, computer not POSTing, etc.

You ran a scandisk, and it came up okay. Now, scandisk is a VERY simple hard drive test. It only reads every sector. If the hard drive reads without an error(or the hard drive controller's driver isn't written to handle any error codes), then scandisk assumes that the sector is good and moves on. This is a very bad assumption. It is possible to write a block of data and have either the bad data be stored with an equally bad CRC(very very unlikely) or the hard drive was unable to fix the data using CRC, so it gave you what it had(likely).

Now, the OS is supposed to take the error the hard drive returns, and do something with it. You'd think "attempt to read again in case it works..", but Windows drivers aren't always that smart. They might just use the data and ignore the error.

It's not possible to identify this error without doing a read/write/verify test. It is not possible to perform this test from within Windows XP GUI. I'm not sure about Vista since I do not use it. The OS maintains control of the drive, and it will not let you test certain areas of the hard drive.

Your comments sound like this is possible. This error type sucks because it's hard to diagnose, and you keep ending up with corrupted data. You will need to get your hands on a diagnostic tool that can do write pattern tests. It will read your data, write a test pattern, verify the test pattern is written correctly, then write your data back to the drive. This process is VERY time consuming. A 1TB drive I tested took almost 24 hours. See why scandisk doesn't do this kind of test?

Spinrite is a good program to use, and I believe that Norton Systemworks(now called Norton 360) has this test on it's boot CD. You can also try some of the diagnostic tools from your hard drive manufacturer. There is no need to test the external, as the problem is likely the internal drive. I have seen this problem more than once, and it sucks every time. I do a write test to my hard drive on my laptop every month or 2, and I am sometimes shocked at how often I will find a new bad sector.
 

kingfeta

Distinguished
Nov 18, 2007
21
0
18,510
Thanks for your reply. I read it a couple times and it seems you're implying there could be multiple problems along the chain of communication between drives, but it's most likely the target drive.

I tried to move the same files onto two other local drives with the same crc errors. Like I said above, I don't believe it's the ram considering memtest is solid for hours.
 

dokk2

Distinguished
Jul 1, 2007
1,450
0
19,310
just a qiuckey here,before you decide anything firm,,if you can run the diags program from WD,unless your hdd's are very old,writing zeros to the hdd might be the ticket,saved me a couple of hdd's over the years,,and as cyberjock says windoze can sometimes accept crap as good data and show bad sectors when there are in fact none,it is software not hardware,windoze that is,the other tool that i find sort of useful ,,is scandisk from dos,not windoze chkdsk that is severly crippled,although scandisk is as has been said not ,infallable it might show a hint or two..:)
 

SomeJoe7777

Distinguished
Apr 14, 2006
1,081
0
19,280
I would second the suggestions to run disk diagnostics. Something is wrong in the hardware area.

You may also want to try to run Prime95 overnight. This is typically an overclocker's tool, but it can reveal problems in a system that you didn't know were there.
 

cyberjock

Distinguished
Aug 1, 2004
305
0
18,780
You might want to test the source hard drive. It sounds like possibly your source hard drive is reading different data every time it reads, so the destination always changes to whatever your source disk is reading at that moment in time.

 

kingfeta

Distinguished
Nov 18, 2007
21
0
18,510
I'll try running Prime tonight.

I should try to test the source drive. A simple scandisk turned out ok, but it looks like I have to use WD's test that zero's out everything. I would need to get the data off of there first. Ironic.
 

SomeJoe7777

Distinguished
Apr 14, 2006
1,081
0
19,280
I read the other thread, and those guys gave good suggestions. However, in my experience, you may have bad RAM. Even if the RAM passes Memtest86, sometimes it's the configuration that's the problem, or a bad stick that Memtest86 can't detect.

If you have more than 1 stick of RAM, take all the RAM out except 1 stick and run Prime95 again. Repeat with different sticks (one at a time) and see if you can isolate a bad one.

If all 4 sticks still fail, then it's time to start looking at the CPU itself. You might need to RMA it.