Every bit stored in a DRAM chip is a tiny capacitor holding a charge. Heat wiggles electrons, cosmic-ray particles knock charges loose, and even the chip's own transistors leak. The result: occasionally, a stored 0 flips to a 1, or a 1 flips to a 0 — silently, invisibly, before your program ever reads the value.
For consumer laptops this is usually harmless: a flipped pixel in a video file or a stray value in a cache rarely matters. But in a server handling financial records, medical data, or the code that runs your bank's website, a single flipped bit can corrupt a database row, crash a process, or — in rare cases — be exploited by attackers (the "Rowhammer" vulnerability exploits exactly this physics).
The solution has been known since 1950: Richard Hamming, annoyed that the relay computers at Bell Labs kept stopping on errors he could have fixed automatically, worked out a way to add a small number of parity bits alongside the data. The combination — refined over decades into what is now called SECDED (Single-Error Correction, Double-Error Detection) — is the standard scheme used in every ECC DIMM sold today.
The idea behind error-correcting codes is elegant: spread redundancy across the data in a pattern clever enough that any single-bit error leaves a detectable and fixable fingerprint.
Comments
Loading comments...