a soft error
Most failures we imagine are permanent — a wire snaps, a chip burns out, and it stays broken. A soft error is the eerie opposite: the hardware is perfectly fine, but for one instant a stored bit silently flips from 0 to 1 or back, the value is wrong, and yet if you rewrite that bit it behaves correctly forever after. Nothing is physically damaged. It is as if a single letter in a book changed itself overnight, then sat there as ordinary ink. Because the part is undamaged, soft errors are also called transient faults or single-event upsets.
Where do they come from? Mostly from stray charge dumped into a tiny memory cell. A high-energy particle — a neutron from a cosmic-ray shower hitting the atmosphere, or an alpha particle from trace radioactive impurities in the chip's own packaging — strikes the silicon and deposits enough charge to tip a storage node past its threshold, flipping the bit it holds. A DRAM cell or an SRAM cell stores a tiny amount of charge to mean '1'; knock in or out enough charge and it now reads '0'. As transistors shrank, each cell holds less charge, so it takes less stray energy to flip — making soft errors a growing, not shrinking, concern.
The honest, slightly unsettling truth is that soft errors happen constantly in large systems and you cannot prevent the particles. So architecture does not try to stop the flip; it tries to catch it. Parity bits detect a single flip; error-correcting codes (ECC) both detect and correct it, turning a would-be error into a non-event (see error-correcting-code and ecc-memory). This is why servers and spacecraft use ECC memory while a cheap toy might not: at datacenter scale, with millions of memory cells running for years, silent bit flips are not a rare curiosity but a routine event you must engineer around.
A famous 2003 election in Belgium recorded an impossible vote count for one candidate; investigators traced it to a single bit flip in the voting machine's memory — a soft error, most likely from a cosmic-ray particle — that added exactly 4096 (2^12) votes. The hardware was undamaged; only that one stored bit had been wrong for an instant.
A flip in a single high-order bit added 2^12 votes — exactly the kind of silent corruption ECC exists to catch.
Re-running the program does not 'fix' a soft error and rebooting does not mean the hardware was bad — the part is fine. The danger is silent data corruption that no one notices, which is exactly why detection codes matter more than they seem.