Infobox Software
name = SpinRite

caption = SpinRite 6.0
developer = Gibson Research Corporation
released = June 7, 2004
frequently_updated = yes
programming language = Assembly language
operating system =
language =
genre = Hard Disk Recovery
license = proprietary and Commercial software
website = [http://www.grc.com/sr/spinrite.htm GRC.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. It is proprietary and commercial software written by Steve Gibson of Gibson Research Corporation. The first version was released in 1988, and the latest version, Version 6, in 2004 [Citation | title = SpinRite Version History | url=http://www.grc.com/srhistory.htm | accessdate = 2008-02-16] . SpinRite may be run from a bootable floppy disk or CD-ROM on a computer with an x86 processor, independent of the operating system installed on the host computer.


SpinRite tests the data surfaces of read-write magnetic disks including IDE, SATA, USB, floppy, ZIP and others. It analyzes their contents and is claimed to be able to refresh 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 sense, SpinRite differs from most data recovery software, which usually provides an option (generally recommended) to save the recovered data onto another disk, or onto a separate partition on the same disk.

SpinRite is claimed to diagnose the quality of a disk drive, and to make it work as reliably as possible for future use. Its author, Steve Gibson, states that 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 [http://www.grc.com/sn/sn-155.txt] . Nevertheless, it should be noted that, in such circumstances, "no" purely software-based solution would be sufficient to overcome the problem. Moreover, even 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 developers to have certain unique features [Citation | title = SpinRite Exclusive Features | url=http://www.grc.com/srdocs.htm | accessdate = 2008-02-16] , 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, 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 makers, 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.

It should be noted that certain claims made by SpinRite's makers have proved controversial. The program's claimed ability to "refresh" ageing drives has 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. See External Links below.

SpinRite is written in x86 assembly language, and runs only on systems with an x86 (32-bit) processor, but it can operate on any attached storage device with a compatible interface. It can be run only under MS-DOS on PCs, but Version 6 is compatible with hard disks containing any volume management or file system such as NTFS, Linux, Apple Macintosh, Tivo and others, as it operates only on the disk itself. Drives attached to computers with other processors can be recovered by temporarily connecting the drive to a suitable computer. Version 6 includes a Microsoft Windows utility to create a FreeDOS boot floppy disk or CD-ROM for the program.

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 (SMART) parameters and control of partial scanning within a specified percentage range. Version 5 is limited to ordinary AT Attachment (PATA, IDE) hard drives. By contrast, Version 6 may, on suitable motherboards, work on newer Serial ATA (SATA) and USB hard drives.

The price, as of August 2008, is USD$89. Documentation may be downloaded free of charge from the SpinRite website.


SpinRite works entirely on the drive under investigation, attempting to recover partially damaged data by rewriting it to an undamaged part of the disk. This approach is unsuitable if there are many errors, as the task may take an unreasonably long time to complete (perhaps even many years for a high-capacity disk, as SpinRite attempts to read damaged parts up to 2000 times). The program is also unsuitable for disks that are badly damaged and possibly worsening with use, as the data, even if successfully read, cannot be re-written securely on the disk. Also, if little free space remains on a faulty disk, there may be insufficient room to transfer all of the recovered data. In these cases, software that can recover as much data as possible and copy it to another drive will generally be a more suitable alternative. However, standard disk imaging and cloning software is not ideally suited for data recovery, even if some such software may be configured to copy only good sectors, ignoring sectors that are not easily readable.

There are many commercial and freeware file recovery programs available. Some are intended to recover only accidentally deleted files (e.g., [http://www.officerecovery.com/freeundelete/ OfficeRecovery's FreeUndelete] ), while others will attempt to recover all files, or a chosen subset thereof (e.g., [http://www.runtime.org/data-recovery-software.htm Runtime's GetDataBack] – separate versions for FAT and NTFS). Still others will recover certain types of file, according to the file extension (e.g., [http://www.getdata.com/ GetData's Recover My Files] ).

[http://www.roadkil.net/program.php?ProgramID=29 Roadkil's Unstoppable Copier] runs under Windows and copies on a file, not sector, basis. It can be set to copy all undamaged files first, and then to try to copy as much as possible of damaged files (although, during extraction, it is difficult to see which file is being copied, and thus to avoid copying files not worth recovering).

Open Source unix-based alternatives include [http://www.garloff.de/kurt/linux/ddrescue/ dd_rescue] and [http://www.kalysto.org/utilities/dd_rhelp/index.en.html dd_rhelp] , which work together, or [http://www.gnu.org/software/ddrescue/ddrescue.html GNU ddrescue] . dd_rhelp first extracts all the readable data, and saves it to a file, inserting zeros where bytes cannot be read. Then it tries to re-read the invalid data and update this file. GNU ddrescue can be used to copy data directly to a new disk if needed, just like Linux dd.

dd_rhelp or GNU ddrescue will yield a complete disk image, faster but possibly with some errors. GNU ddrescue is generally much faster, as it is written entirely in C++, whereas dd_rhelp is a shell script wrapper around dd_rescue. Both dd_rhelp and GNU ddrescue aim to copy data quickly from sectors there are no errors, then copy in smaller blocks, with retries when necessary, where errors are found. These programs are more complicated to use than SpinRite, although GNU ddrescue is fairly easy to use with default options, and can easily be downloaded and compiled on Linux-based Live CDs such as Knoppix. It can also be used with SystemRescueCD.

On some disks, many files may be damaged. In practice, though, in most cases, most damaged files will be unimportant: temporary files, files which may easily be replaced by reinstalling software, and so on. Executable program files are generally not worth rescuing unless they are guaranteed 100% intact. Moreover, fully recovered program folders will often not give rise to working software, as corresponding registry entries will no longer be associated with them correctly. By contrast, some documents may be worth rescuing even if incomplete. For example, a document created by a given word-processing program may become corrupted, thus rendering it unreadable by the program normally associated with it, yet much of the text contained in the document may still be read, and perhaps extracted, by making use of a more generic text editor (although, in such a case, program-specific formatting characters will usually be dispersed throughout the text, making both reading and extraction laborious).

Any sector-based rescue system is bound to spend a lot of its time trying to read unwanted data. File-based systems, by contrast, will often allow the user to ignore files that are a waste of time, and will also often identify and list files that are not intact. Such systems can, therefore, sometimes prove more practical for the puposes of useful file recovery. However, a sector-based program, which reads data in raw format, sometimes using specialized techniques to recover partially damaged information, may ultimately recover more useful data.

References & notes

See also

* Self-Monitoring, Analysis, and Reporting Technology

External links

* [http://www.grc.com/sr/spinrite.htm Official site]
* [http://groups.google.com/group/comp.dcom.xdsl/msg/9aeee32323c2978e?dmode=source&hl=en Criticism of SpinRite's marketing claims – groups comp.dcom.xdsl ]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Steve Gibson (computer programmer) — Infobox Person name = Steve Gibson caption = Steve in between shots on Leo Laporte s Call For Help in Toronto April, 2007. birth name = birth date = March 1955 birth place = Dayton, Ohio, United States death date = death place = death cause =… …   Wikipedia

  • FreeDOS — booting screen shot Company / developer …   Wikipedia

  • Security Now! — Infobox Podcast title = Security Now! caption = host = Leo Laporte Steve Gibson url = [http://www.twit.tv/SN http://www.twit.tv/SN] rss = [http://leoville.tv/podcasts/sn.xml MP3 Feed] status = Weekly audio format = MP3 began = August 19, 2005… …   Wikipedia

  • Comparison of S.M.A.R.T. tools — This is a list of software that reads S.M.A.R.T. (Self Monitoring, Analysis, and Reporting Technology) data from hard drives. Operating system License, price User interface Drive interface, RAID support Shows S.M.A.R.T. attributes Self testing… …   Wikipedia

  • List of programmers — This list is incomplete; you can help by expanding it. This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. Contents: A B C D E F G H I J K L M N …   Wikipedia

  • Dd (Unix) — dd is a common UNIX program whose primary purpose is the low level copying and conversion of raw data. dd is an abbreviation for data definition in IBM JCL, and the command s syntax is meant to be reminiscent of this. cite web |… …   Wikipedia

  • Recuperacion de datos — Saltar a navegación, búsqueda El término recuperación de datos se refiere a las técnicas utilizadas para la extracción de datos de elementos que contenían información pero esta no es accesible por los medios normales para ello. Contenido 1… …   Wikipedia Español

  • Recuperación de datos — Saltar a navegación, búsqueda Recuperación de datos, se refiere a las técnicas utilizadas para la extracción de datos de elementos que contenían información pero esta no es accesible por los medios normales para ello. Contenido 1 Veámoslo con un… …   Wikipedia Español

  • List of data recovery software — The following is a list of notable data recovery software. Contents 1 Bootable 2 Consistency checkers 3 File recovery 4 Forensics …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.