The SpinRite hard drive maintenance and recovery utility software by Steve Gibson of grc.com has been around for years. I first encountered SpinRite during the summer of my sophomore year of college. This is my personal unbiased review of my SpinRite experiences.
Geek Squee Moment
Kicking It Old School
I spent most of that summer in Albany, New York working as I.T. support at Petrolab, my uncle's company. He had purchased SpinRite II, and ran it frequently on the office PCs. It took hours, usually overnight. This was back in the days when QEMM was the only hope of "multitasking" DOS applications, and Novell Netware was at v2.12 or so. Yes, the Dark Ages of personal computing.
I was impressed by all the spinning numbers and flashy ASCII graphics of SpinRite, and essentially understood that it was doing its darndest to put the hard drive through exhaustive testing to ensure it was data-worthy. This was before SMART, before EIDE, and probably just after RLL and MFM, so far as hard disks were concerned. It was typical to see that there were sectors marked bad on a drive right out of the box. No problem: enter the bad block map into the drive (or was it PC?) BIOS firmware, and your data was safe(r).
Time Passes, Perfection Achieved
Move forward to 2007, and we have multi-hundred gigabyte drives in both IDE and SATA variants, SMART diagnostics on the drive firmware, and--wonder of wonders!--not a single bad cluster anywhere! Amazing! Hard drives have achieved perfection! Billions of flawless bytes with nary a dangerous sector to be seen!
Meanwhile, Back in Reality
Hard drives are far from perfect. Instead, they are excellent at hiding the fact that errors happen, and happen frequently. While the operating system is told the drive is flawless, the drive itself is frantically performing error correction on the fly to compensate for the fact that we're rapidly approaching the point where laws of physics are limiting what can be done with magnetic media.
By the time Windows System Event log throws errors from ATAPI, disk, or other devices about "error during paging operation" or such, it's nearly too late. The drive has run out of ways to compensate for problems, and has finally told the upper level operating system, "I'm dying here!" Kiss the drive goodbye...
Enter SpinRite, Stage Center
SpinRite, presently at version 6.0 as I write this (September 2007), is still around. With over 16 years of history under its belt, SpinRite has achieved a lifespan nearing that of Norton Utilities and other classic disk tools.
And, I must confess: it works precisely as described.
There are those who accuse SpinRite's author, Steve Gibson, of hyperbole and scare tactics, and summarily state that SpinRite is mere snake oil. Say what you will of Steve's mannerisms--he is by far one of the most talktative tech podcasters I've heard--SpinRite's success is not attibutable to slick marketing or fakery; it recovers data when nearly nothing else can.
One more thing for the geeks: SpinRite is a svelte DOS and Win32 executable weighing in at a mere 170KB, written in pure assembler. In my book, this earns Steve Gibson very high geek points!
It's Running Now, In Fact...
At this moment, my personal copy of SpinRite is running on my main hobby PC, Gandalf2. The 250GB Seagate SATA drive will take slightly over 8 hours to scan at level 4, the highest SpinRite level I recommend.
At this level SpinRite does the following:
- Reads a sector of data.
- Checks for errors.
- Inverts the data.
- Writes the data back.
- Checks for errors
- Inverts the data again.
- Writes the data back.
- Checks for errors.
... and this happens several hundred million times in the next 8 hours. If SpinRite finds an error, it tries re-reading the data for a very long time to attempt to get just one good read. If it gets one, it turns on the hard drive's own error correction so the drive will smack itself in the forehead and say, "Oh, dear, a bad sector! Let's get a good sector to fill in and hide this bad one." Then the data--or a statistically computed "best guess" (rather "better than anyone else's guess") at the data--is written to a safe(r) sector.
The end result is that SpinRite forces a hard drive to read and write every bit twice at this setting, which ensures the data is as safe as reasonable.
I have used my copy of SpinRite to fix at least 2 failed hard drives per year amongst my family. When a friend solicits assistance with a drive recovery, if SpinRite does the job, I urge them to purchase their own copy too.
At EnvisionWare, we have a corporate site license (bootable from the LAN--very handy!) and have used SpinRite to repair 4 failed drives per year on average, recovering data which was not recoverable by any other methods available at the SpinRite price point. We have recovered numerous laptop and desktop drives, and we've started running SpinRite on every new system before deployment, ensuring that the drive has been completely "worked out" before it hits the road.
I've seen SpinRite run on an unbootable, unreadable drive that was actually making "click of death" type noises, where the internal stepper motor driving the heads across the platters was making a constant "clack clack clack" as it tried to read. After several days of work, SpinRite had recovered enough data to make the file system readable so we could recover data. The drive was completely dead by the time we finished the recovery.
What Doesn't Kill You, Makes You Stronger...
Unless You're a Hard Drive!
A word of warning here. If a hard drive is nearly "dead", SpinRite often will warn against running anything except a basic data recovery; this warning should be heeded. If a drive is marginally readable, or is physically damaged to the point that heat or wear would kill it, SpinRite may very well be the last thing the drive sees.
This is because SpinRite is best used preventively. In my experience, running SpinRite every few months is a good way to detect far in advance that a drive is going to die.
The most telling predictors of pending hard drive problems in my SpinRite experiences are:
SMART Sector Reallocation Events or Reallocated Sectors
In over 90% of hard drives requiring SpinRite recovery, there were at least one sector reallocation events recorded by SMART.You can monitor SMART statistics on your hard drives in real-time from Windows using the SmartMonTools software provided at http://smartmontools.sourceforge.net/.
Note that due to the way SpinRite works, a marginal drive may trigger sector reallocations during a SpinRite run. This is by design and is part of SpinRite's data recovery method; it's still a warning that the drive is showing early signs of trouble. I'd recommend running SpinRite multiple times at level 4 until the sector reallocation events stop increasing. And keep your backups up to date.
Rising ECC or Seek Error Rates
A notable rise in ECC or Seek Error rates between SpinRite tests over a multi-month time period can indicate trouble. My current otherwise-flawless SATA Seagate 250GB drive is sailing along in SpinRite now at an error rate of 1,664 seek errors per megabyte. If that number goes up significantly (25% or more), watch out.
Drive is Quick to Overheat
This one seems to be rare, but noteworthy: a failing drive will sometimes trigger an overheat warning in SpinRite even though the system was otherwise well-cooled. It appears that as drives age the bearings on the spindle motor begin to wear or lose lubrication; this causes the drives to heat up quickly.
In extreme cases, I've placed the hard drive inside the freezer in an air-tight Ziploc bag, then fired up SpinRite with the drive in the freezer. It worked just enough to get the drive backed up one final time.
Why Don't You Own It Yet?
That's the real question: if you're not a SpinRite fan, why don't you buy a copy of SpinRite? There are a few people who shouldn't bother:
- You have daily backups of all your data, and a spare drive on hand.
- You have RAID controllers or your own SAN, which is backed up.
- You don't mind losing your data.
Seriously, it's that good.
SpinRite is available via download at http://www.grc.com/sr/spinrite.htm and costs $89.