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. So that ends up being a value for SpinRite on solid-state drives." Also, Gibson posted on his website that "SpinRite is seeing many successes with non-spinning solid-state (thumb) drives!". 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. In episode 338 Gibson clarified "it is actually detrimental because don't like to be written", but also pointing out that a read-only run could be beneficial: "SpinRite's Level 1 is a read-only scan, and doing that on an SSD makes a lot of sense. You don't want to run Level 4" In episode 194 of the podcast Security Now! Gibson said that he could "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". In episode #387 of the podcast Security Now! Gibson said "Run Level 2 because Level 1 is not permitted to fix anything" "The difference is both Level 1 and 2 are read-only, and that's the key. Spinrite can be run and can be effective on SSDs, but running in a higher-level mode than 1 or 2 is detrimental, as it wears the SSD by writing to it unnecessarily. 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. Spinrite is distributed as a Microsoft Windows executable program which can create a bootable drive containing both the FreeDOS MS-DOS-compatible operating system and the Spinrite program itself. ĭrives in computers with incompatible processors can be tested by attaching the drive to a compatible computer. It can operate on any attached storage device with a compatible interface. SpinRite is written in x86 assembly language, and runs on any PC-compatible computer, regardless of the operating system installed. The ability to "refresh" aging drives has been met with particular skepticism while the "recovery" of sectors marked as "damaged" is considered by some to be undesirable and counter-productive. Some claims by SpinRite's author have proved controversial. 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.
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. 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. SpinRite is claimed by its developer to have certain unique features, 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. When a hard drive begins to fail due to mechanical faults, a program like SpinRite may extend its life long enough to carry out successful file recovery with other specialized software. 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. Gibson says his software was specifically designed to fix sector problems. 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. The data is then saved onto a new block on the same disk it cannot be saved elsewhere. 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. SpinRite attempts to recover data from hard disks with damaged portions that may not be readable via the operating system. It analyzes their contents and can refresh the magnetic disk surfaces to allow them to operate more reliably. SpinRite tests the data surfaces of writeable magnetic disks, including IDE, SATA, and floppy disks.