ligurio / unreliablefs

A FUSE-based fault injection filesystem.
https://ligurio.github.io/unreliablefs/unreliablefs.1.html
MIT License
177 stars 9 forks source link

Fault injection with bit flip #8

Open ligurio opened 3 years ago

ligurio commented 3 years ago

something like bit flip Data degradation is the gradual corruption of computer data due to an accumulation of non-critical failures in a data storage device. The phenomenon is also known as data decay, data rot or bit rot.

Data degradation results from the gradual decay of storage media over the course of years or longer. Causes vary by medium:

Solid-state media, such as EPROMs, flash memory and other solid-state drives, store data using electrical charges, which can slowly leak away due to imperfect insulation. The chip itself is not affected by this, so reprogramming it approximately once per decade prevents decay. An undamaged copy of the master data is required for the reprogramming. Magnetic media, such as hard disk drives, floppy disks and magnetic tapes, may experience data decay as bits lose their magnetic orientation. Periodic refreshing by rewriting the data can alleviate this problem. In warm/humid conditions these media, especially those poorly protected against ambient air, are prone to the physical decomposition of the storage medium.[3][4]

see charybdefs 9

How long it takes to see bit rot in practice depends on a variety of issues. Hard drives have the potential to last with their data intact for decades even if powered down. SSDs, meanwhile, are said to lose their data within a few years in the same state. In fact, there are reports that, if they’re stored in an unusually hot location, the data on an SSD can be wiped out even faster.

In a recently initiated effort, Schwarz et al. [28] have started to gather failure data at the Internet Archive, which they plan to use to study disk failure rates and bit rot rates and how they are affected by different environmental parameters. In their preliminary results, they report ARR values of 2-6% and note that the Internet Archive does not seem to see significant infant mortality. Both observations are in agreement with our findings.

https://stackoverflow.com/questions/24181878/how-to-random-flip-binary-bit-of-char-in-c-c

ligurio commented 3 years ago

Yet another example of bit flip in production:

ligurio commented 2 years ago

See https://github.com/aybabtme/bitflip