Random-Access Memory (RAM) – deutsch: „Speicher mit wahlfreiem Zugriff“ – ist ein Speichermedium, das in Computersystemen als Arbeitsspeicher verwendet wird. Auch als Hauptspeicher bekannt, ist er für die Ausführung der Programme inklusive anfallender Nutzdaten verantwortlich. Die flüchtigen Inhalte des Hauptspeichers sind dabei als Binärcode gespeichert, also einzig aus Nullen und Einsen bestehend, damit der Computer sie verarbeiten kann. Eine einzelne Binärstelle wird als Bit bezeichnet. Aufgrund verschiedener Ursachen wie
- defekten und alten Speichermodulen,
- oder energiereicher Strahlung
kann es zu einem sogenannten Bitfehler kommen, durch den ein Speichereintrag verändert wird. Dies wird auch Bitkipper genannt, da ein Bit den falschen Wert annimmt, also „1“ statt „0“ bzw. umgekehrt. Das hat bei vielen Anwendungen kaum spürbare Konsequenzen: Tritt ein Bitfehler z. B. bei der Arbeit mit einem Bildbearbeitungsprogramm auf, erhält ein Pixel möglicherweise eine andere Farbe, was dem menschlichen Betrachter nicht weiter auffallen wird. Ganz anders sieht es hingegen bei komplexen Datenbank- oder Kalkulationsanwendungen aus, wo ein einzelner Bitfehler fatale Folgen nach sich ziehen kann. Außerdem kann ein Bitfehler zu Systemabstürzen führen, wenn er in einem Teil des Speichers auftritt, der vom Betriebssystem genutzt wird.
Die einfache Lösung des Problems lautet Error Correcting Code (ECC). Dabei handelt es sich um einen Datencode, der die Fähigkeit besitzt, Einzelbitfehler zu erkennen und zu korrigieren. Zusätzlich kann ECC die sehr selten auftretenden Zweibitfehler feststellen. Um von diesem Fehlerkorrekturverfahren zu profitieren, werden gewöhnliche RAM-Module durch einen ECC-Speicherchip erweitert, weshalb man auch von ECC-RAM spricht.