PDA

View Full Version : How to do read/write test on hard drives?


johnsawyercjs
11-08-2006, 12:47 AM
Does anybody know if OS X has any command line utilities that will do a continuous read/write test on a hard drive, and log the results?

I need to be able to test for marginal, intermittently bad blocks, not just grossly bad blocks, and only a continuous test has the best chance of finding these.

Disk Utility doesn't have any options to test for marginal block read/write integrity at all, and I'm not convinced that its options for "zero out data", 7-pass erase, or even 35-pass erase, can be relied on as a way of determining if a drive is reliable, since these options don't return any results to the user, other than if there's a gross error like a hard bad block, which might simply cause Disk Utility to stop attempting to erase a drive.

Intech's SpeedTools has an option to continuously scan a drive for bad or marginal blocks, but I'd like a command line method for doing this for times when I don't have a drive with SpeedTools handy, or its CD. I also don't know if it's a continuous read test, or a write/read test, which would be better. Does anybody know of any other third-party utilities or formatters for OS X that can do this? TechTool Pro has a media test, but it does only one pass at a time--to do more passes, you have to manually restart the test when the last one finishes.

JDV
11-08-2006, 10:22 AM
It sounds like what you have in mind is a utility much like the old Norton Disk Doctor for PCs, only with industrial strength and run from the command line. I do not think such a tool exists, and i'm not even sure it would be a good tool to have. The length of time such a test would take would be tremendous, and even then wouldn't give you the information you might want regarding "marginal" areas on the disk, if they did not actually fail.

There IS a utility for DOS/Windows called SpinRite by Steve Gibson (please, no more debates about Gibson's qualifications!) which essentially does what you want, but it will not run on a Macintosh and is not a command line utility, so it won't help you at all, although it really -is- a useful utility because it is able to move data from questionable sectors to safe ones with no data loss. So, unless some programmer is ready to try the same approach for the Mac, I think there just isn't anything that can guarantee the integrity of a drive to the level you require.

Joe VanZandt

acme.mail.order
11-08-2006, 11:42 PM
If you genuinely need 99.99999% reliable storage stop playing with the consumer toys, buy a couple of expensive, server-grade drives along with a hardware RAID card and a case with dual power supplies. Or an XRaid (same thing, nice case). Modern drive controllers take care of the 'marginal' stuff way before the OS level.

johnsawyercjs
11-09-2006, 02:09 AM
Intech's SpeedTools has an option to continuously scan a drive for bad or marginal blocks [but] I don't know if it's a continuous read test, or a write/read test, which would be better.

I researched this further, and found their "Integrity" utility does have an option to run continuously, but it just creates a file on empty space on the hard drive (and I don't know if it writes to all empty space--probably not), instead of testing all blocks on the drive. Still it's a useful-sounding utility. Still not sure about their "Media Scanner" utility, since their web pages for it aren't opening for me right now.

johnsawyercjs
11-09-2006, 02:14 AM
If you genuinely need 99.99999% reliable storage stop playing with the consumer toys, buy a couple of expensive, server-grade drives along with a hardware RAID card and a case with dual power supplies. Or an XRaid (same thing, nice case). Modern drive controllers take care of the 'marginal' stuff way before the OS level.

I should have clarified that I need such a utility to test drives in my client's Macs (many different models, and most where it's not viable to replace what they've got with a RAID system), not just my own. But I have considered a RAID setup for my own use--haven't made up my mind yet.