SpinRite

From Wikipedia, the free encyclopedia - View original article

SpinRite
SpinRite Logo
SpinRite 6.0
SpinRite 6.0
Developer(s)Gibson Research Corporation
Initial release1988
Stable release6.0 / June 7, 2004; 8 years ago (2004-06-07)
Preview releasenone  (none) [±]
Written inx86 assembly language
Operating system

included FreeDOS (doesn't use OS of host PC)

runnable from DOS
Platformany PC
Size0.169 MB executable, 1.40 MB bootable disk image with FreeDOS OS
Available inEnglish
TypeHard Disk Recovery
Licenseproprietary
WebsiteGRC.com SpinRite Website
 
Jump to: navigation, search
SpinRite
SpinRite Logo
SpinRite 6.0
SpinRite 6.0
Developer(s)Gibson Research Corporation
Initial release1988
Stable release6.0 / June 7, 2004; 8 years ago (2004-06-07)
Preview releasenone  (none) [±]
Written inx86 assembly language
Operating system

included FreeDOS (doesn't use OS of host PC)

runnable from DOS
Platformany PC
Size0.169 MB executable, 1.40 MB bootable disk image with FreeDOS OS
Available inEnglish
TypeHard Disk Recovery
Licenseproprietary
WebsiteGRC.com SpinRite Website

SpinRite is a computer software program for scanning magnetic data storage devices such as hard disks, recovering data from them and refreshing their surfaces. The first version was released in 1988. Version 6.0, still current as of December 2012, was released in 2004.[1] SpinRite may be run from a bootable floppy disk, USB flash drive or CD-ROM on a PC-compatible computer, independent of the operating system installed on the host computer.

Contents

Features

SpinRite tests the data surfaces of writeable magnetic disks, including IDE, SATA, and floppy disks. It analyses their contents and is claimed to be able to refresh the magnetic disk surfaces to allow them to operate more reliably.

SpinRite attempts to recover data from hard disks with damaged portions that may not be readable via the operating system. When the program encounters a sector with errors that cannot be corrected by the disk drive's error-correcting code, it tries to read the sector up to 2000 times, in order to determine, by comparing the successive results, the most probable value of each bit. The data is then saved onto a new block on the same disk; it cannot be saved elsewhere. In this respect SpinRite differs from most data recovery software, which usually provides (and recommends) an option to save the recovered data onto another disk, or onto a separate partition on the same disk.

Gibson Research Corporation claims their SpinRite software will diagnose the quality of a disk drive, and make it work as reliably as possible with future use. Its developer, Steve Gibson, says his software was specifically designed to fix sector problems. However, if a hard drive's circuit board, drive motors or other mechanical parts are defective, or there is systemic file system corruption, SpinRite may be of little or no help.[2] In fact, regarding mechanical issues no purely software-based solution would be sufficient to overcome the problem. When a hard drive has begun to develop mechanical faults, a program like SpinRite may sometimes be able to extend its usable life for long enough to carry out successful file recovery with other specialized software.

SpinRite is declared by its developer to have certain unique features,[3] such as disabling of disk write caching, disabling of auto-relocation, compatibility with disk compression, identification of the "data-to-flux-reversal encoder-decoder" used in a drive, and separate testing of buffered and unbuffered disk read performance. Another important feature is direct hardware-level access,[4] whereby the drive's internal controller interacts directly with the program, rather than through the operating system. This, in turn, allows dynamic head repositioning, whereby, when reading a faulty sector, the reading head is deliberately moved backwards and forwards many times, by varying amounts, in the hope that each time it returns to the sector, it may come to rest in a slightly different position. By performing statistical analysis on the succession of results thus obtained, SpinRite is, according to its maker, often able to "reconstruct" data from damaged sectors; and even in those cases in which complete reconstruction proves impossible, SpinRite is able to extract all intact bits from a partially damaged sector, and to copy them to a new block, thereby minimizing the amount of data lost.[5]

Certain claims made by SpinRite's makers have proved controversial. The program's claimed ability to "refresh" ageing drives has been met with particular scepticism, while its "recovery" of sectors marked as damaged by the file system controller is considered by some to be undesirable and ultimately counter-productive.[6]

SpinRite is written in x86 assembly language, and runs on any PC-compatible computer (as long as it is capable of running MS-DOS—virtually all can), regardless of the operating system actually installed. It can operate on any attached storage device with a compatible interface.[7] Drives in computers with incompatible processors can be tested by attaching the drive to a compatible computer.[8] Spinrite is distributed as a Microsoft Windows executable program which can create a bootable floppy disk or CD-ROM containing both the FreeDOS MS-DOS-compatible operating system and the Spinrite program itself. Version 6 is compatible with hard disks containing any logical volume management or file system such as FAT16 or 32, NTFS, Ext3 as well as other Linux file systems, HFS+ For Mac OS X, Tivo and others, as it operates only on the disk itself.

SpinRite 2.0, circa 1991.

Version 6 is rather different from previous versions. It offers full access to the entire disk surface regardless of partitioning, Self-Monitoring, Analysis, and Reporting Technology (S.M.A.R.T.) parameters and control of partial scanning within a specified percentage range. Version 5 was limited to AT Attachment (PATA, IDE) hard drives; version 6 may, on suitable motherboards, work on newer Serial ATA (SATA) and USB hard drives, and with any other type of drive—SCSI, 1394/Firewire—that can be made visible to MS-DOS through the addition of controller BIOS or add-on DOS drivers.[8]

The price as of December 2012 was US$89. Documentation may be downloaded free of charge from the SpinRite website.

Issues

Solid State Drives

Spinrite can also be run and is very effective on SSDs, but only in level 1 or 2 mode, and not in any mode >2, since writing to the SSD reduces its performance over time. In episode 194 of the podcast Security Now! Steve Gibson said that he "can see absolutely no possible benefit to running SpinRite on a solid-state drive." and later "SpinRite is all about mechanics and magnetics, neither of which exist , by design, in an SSD.".[9] However, in episode 338 Gibson soon clarified "it is actually detrimental because [solid-state drives] don't like to be written.", but also pointing out that a read-only run could beneficial: "SpinRite's Level 1 is a read-only scan, and doing that on an SSD makes a lot of sense. Do a read-only scan of an SSD, it'll show the SSD's controller that it's got a problem reading a sector, and then it'll map that out or rewrite it in order to strengthen that sector, if possible. So that ends up being a value for SpinRite on solid-state drives." [10] Also, Gibson posted on his website that "SpinRite is seeing many successes [...] with non-spinning solid-state (thumb) drives!".[11]

S.M.A.R.T. on SATA drives

While SATA drives are supported, SATA controllers that include a processor and diagnostic software can limit SpinRite's ability to obtain and display S.M.A.R.T. data ("thin controller" SATA controllers do not have this limitation). This data monitor does not affect SpinRite's recovery and diagnostics ability; S.M.A.R.T. data when available helps long-term disk maintenance and failure prediction.[12] GRC said in 2006 that this issue would be resolved in version 6.1, anticipated to be a free-of-charge upgrade for SpinRite 6.0 users.[12] As of November 2012 version 6.0 was the current version.[13][14]

Large drives

SpinRite error on large drives

SpinRite uses Cylinder-Head-Sector method when addressing the hard drive. This 28-bit addressing scheme is broken down as:

  1. Cylinder (16-bits): 0..65535
  2. Head (4-bits): 0..15
  3. Sector (8-bits): 0..255

This limits SpinRite to access a maximum of 268,435,456 sectors. Once SpinRite reaches track number 65,535 it will experience a division by zero error and halt with an error message. This is a problem with the FreeDOS (MS-DOS) clone that is used to run the program. The solution is to run the program via the original MS-DOS.[15][16]

SpinRite on Mac

As Apple Macs use EFT, spinrite will not boot on a mac. However, spinrite can be run in a virtual machine under both OSX and Windows, to scan a second drive which is not the OS drive. Info can be found at http://romaimperator.com/?p=29

See also

References

  1. ^ SpinRite web page, http://www.grc.com/sr/spinrite.htm, retrieved 2012-11-17
  2. ^ http://www.grc.com/sn/sn-155.txt
  3. ^ SpinRite Exclusive Features, http://www.grc.com/srdocs.htm, retrieved 2008-02-16
  4. ^ http://www.pcworld.com/article/117080/spinrite_6_to_the_rescue.html
  5. ^ Anticipate Drive Problems Early with SpinRite v6.0, http://www.sysopt.com/tutorials/article.php/12034_3549006_1, retrieved 2010-01-30
  6. ^ Criticism in 2000 of SpinRite's stated operating principles – groups comp.dcom.xdsl
  7. ^ PCNet File Catch - SpinRite 6.0, http://www.pcnet-online.com/picks/spinrite.htm, retrieved 2010-01-30
  8. ^ a b SpinRite 6.0 for Linux Users, Linux Journal, http://www.linuxjournal.com/article/7684, retrieved 2010-01-30
  9. ^ Gibson, Steve. "Episode 194". Security Now! Podcast. http://www.grc.com/sn/sn-194.txt. Retrieved 29 November 2012.
  10. ^ Gibson, Steve. "Episode 338". Security Now! Podcast. http://www.grc.com/sn/sn-338.txt. Retrieved 30 November 2012.
  11. ^ "SpinRite Testimonials". GRC.com. http://www.grc.com/sr/testimonials.htm. Retrieved 29 November 2012.
  12. ^ a b SATA Operation with SpinRite, http://www.grc.com/sr/kb/sata.htm, retrieved 2010-01-29
  13. ^ On 26 May 2012 v6.0 was the only version offered for sale on the GRC Web site
  14. ^ "Listener Feedback #137". Security Now!. Episode 340. 2012-02-16. "STEVE: And SpinRite 6.1 timing, I have no idea. It is, however, the next major thing I'm going to do. It will be a free upgrade for everyone who has 6.0, oh these many years. And the target is to catch it up with things that have happened since.... And then we'll see where we are. I would love to move on to 7.0 and add a bunch of new features, as well."
  15. ^ "How to fix Spinrite’s Division Overflow Error when scanning larger drives". Neowin Forums: A Collection of Essential Guides. http://www.neowin.net/forum/topic/1033651-how-to-fix-spinrite%E2%80%99s-division-overflow-error-when-scanning-larger-drives/. Retrieved 11 December 2012.
  16. ^ "SpinRite - Division Overflow Error". I Am Your User. http://iamyouruser.blogspot.com/2006/02/spinrite-division-overflow-error.html. Retrieved 11 December 2012.