PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was bedeutet eigentlich ECC?


Nebelfrost
2004-02-03, 15:09:51
Was bedeutet eigentlich die Bezeichnung ECC beim RAM und was ist der Unterschied zum normalen RAM?

Argo Zero
2004-02-03, 15:14:41
Das ist ne Art Fehlerkorrektur.
Eigentlich nur brauchbar bei einem Server.

huha
2004-02-03, 15:17:22
Der Arbeitsspeicher hat Logik zur Fehlerkorrektur verbaut. Das ist vor allem im Serverbereich recht wichtig, Privatanwender wird das kaum stören. Durch die Fehlerkorrektur wird der Speicher nur etwas langsamer.

-huha

Dr.Dirt
2004-02-03, 17:34:53
ECC (Error Correction Code) erkennt und korrigiert einen 1 bit Fehler, wenn 2 bits "umkippen" wird das zwar erkannt, kann aber nicht mehr korrigiert werden. Mehr Fehler werden nicht mehr erkannt.

Endorphine
2004-02-03, 22:48:50
Eigentlich ist der ECC recht simpel - in den vielen Millionen Speicherzellen eines RAM-Moduls kann es durch elektrische Effekte mal passieren, dass die äusserst schwachen Ladungen schon vor dem Refresh aufgeben. Es kann passieren, dass eine gespeicherte Null zu einer gespeicherten Eins wird. Genauso kann sich eine Speicherzelle durch einen elektrischen Effekt entladen und zu einer Null werden. Man spricht dann von einem "gekippten" Bit, da der Zustand ungewollt verändert wurde.
ECC will genau das beseitigen oder zumindest erkennen, damit das Betriebssystem reagieren kann und nicht mit falschen Daten unbehelligt weiterarbeitet. ECC meint "error correction code" und ist ein Verfahren, welches eine Prüfsumme bei jedem übertragenen Datum mitüberträgt. Dazu wird einfach ein zusätzlicher Paritätsspeicherbaustein mit auf das RAM-Modul verlötet.

ECC kann einzelne umgekippte Bits (Bitfehler) in Echtzeit korrigieren. Zwei Bitfehler können immerhin noch erkannt werden und an das Betriebssystem eine Meldung gemacht werden, so dass dieses dann per Software korrigiert und den Vorgang noch einmal ausführt.

Das ironische bei ECC ist aber, dass durch den zusätzlichen neunten Baustein wieder eine neue Fehlerquelle auf das RAM-Modul kommt, in der auch wieder Bits umkippen können und die den Speicherbus des Chipsatzes belastet. Spitzfindig könnte man also auch annehmen, dass ECC genau die Fehler korrigiert, die ohne ECC erst gar nicht entstanden wären. Dazu kommt noch ein kleiner Leistungsverlust durch ECC. Und wenn mal zu viele Bits umkippen und die Anzahl der Bitfehler grade so sind, dass sie mit einem einzelnen Paritybaustein, der selbst nicht überwacht wird, dann werden die Fehler nicht mal erkannt und das ganze war nutzlos.

Unterm Strich kann man deshalb sagen: für Privatleute lohnt es sich nicht, da ein Leistungsverlust in Kauf genommen werden muss und man lieber in gute RAM-Qualität investieren sollte. Das bringt viel mehr Stabilität als billiger ECC-Speicher. Und zudem treten bei durchlaufenden Hochverfügbarkeitsservern im Durchschnitt alle ein bis zwei Monate mal ein Bitfehler im Speicher auf. Lohnt also wirklich nur dort.