Bit rot, also bit decay, data rot, or data decay, is a colloquial computing phrase for the gradual decay of storage media or a (sometimes jocular) explanation for the degradation of a software program over time, even if ‘nothing has changed’.
Decay of storage media
Bit rot is often defined as the event in which the small electric charge of a bit in memory disperses, possibly altering program code or stored data. The hypothesis that semiconductor RAM may occasionally be altered by cosmic rays is also known as soft error.
Bit rot can also be used to describe the phenomenon of storage media gradually decaying over the duration of many years. The cause of bit rot varies depending on the medium:
- Solid state media — such as EPROMs, flash memory and other solid-state drives — stores data using electrical charges, which can slowly leak away due to imperfect insulation. The chip itself is not affected by this, so re-programming it once per decade or so will prevent bit rot. The biggest problem can be finding a clean copy of the chip from which to make the copy; frequently, by the time the user discovers the bit rot, there are no un-damaged chips to use as a master.
- Magnetic media — such as Floppy disk and magnetic tape — may experience bit rot as bits lose their magnetic orientation. Also, in warm and humid conditions these media are prone to literal rotting.
- Optical media — such as CD-R, DVD-R and BD-R — may experience bit rot from the breakdown of the material onto which the data is stored. This can be mitigated by storing discs in a dark, cool location with low humidity. "Archival quality" discs are also available, but do not necessarily provide a permanent solution to the onset of bit rot or other types of data corruption beyond a certain amount of time. Some media (such as M-DISC) are designed to improve longevity over DVD-R and BD-R.
- Paper media — such as punched cards and punched tape — may also experience literal rotting. Mylar punched tape is available for use in this situation.
Component and system failures
Most disk, disk controller and higher level systems are subject to a small degree of unrecoverable failure. With ever-growing disk capacities, file sizes, and increases in the amount of data stored on a disk, the likelihood of the occurrence of bit rot and other forms of uncorrected and undetected data corruption increases.
Higher level software systems may be employed to mitigate the risk of such underlying failures by increasing redundancy and implementing integrity checking and self-repairing algorithms. The ZFS file system was designed to address many of these issues. The Btrfs file system also includes data protection and recovery mechanisms.
Problems with software
The term "bit rot" is often used to refer to dormant code rot, i.e. a theory that dormant (unused or little-used) code gradually decays in correctness as a result of interface changes in active code that is called from the dormant code.
A program may run correctly for years with no problem and then malfunction for no apparent reason. Programmers often jokingly attribute the failure to bit rot. Such an effect may be due to a memory leak or other non-obvious software bugs. Often, although there is no obvious change in the program's operating environment, a subtle difference has occurred that triggers a latent software error. The error in the software may also originate by human operation which allows the construction or derivation of false-positive behavior to occur within the code. Many operating systems tend to lose stability when left running for long periods of time, and must be restarted occasionally to remove resident errors and memory leaks that have built up due to software errors.
- Raymond, Eric. "Bit rot". The Jargon File. Retrieved 3 March 2013.
- O'Gorman, T. J.; Ross, J. M.; Taber, A. H.; Ziegler, J. F.; Muhlfeld, H. P.; Montrose, C. J.; Curtis, H. W.; Walsh, J. L. (January 1996). "Field testing for cosmic ray soft errors in semiconductor memories". IBM Journal of Research and Development 40 (1): 41–50. doi:10.1147/rd.401.0041. Retrieved 4 March 2013.
- Gray, Jim; van Ingen, Catharine (December 2005). "Empirical Measurements of Disk Failure Rates and Error Rates". Microsoft Research Technical Report MSR-TR-2005-166. Retrieved 4 March 2013.
- Bonwick, Jeff. "ZFS: The Last Word in File Systems". Storage Networking Industry Association (SNIA). Retrieved 4 March 2013.
- "btrfs Wiki: Features". The btrfs Project. Retrieved 2013-09-19.
- "Optimize Windows 7 for better performance". Microsoft. Retrieved 4 March 2013.