Bewertung: 3 / 5

Stern aktivStern aktivStern aktivStern inaktivStern inaktiv
 

ECC (Error Correction Code) ist eine Fehlererkennung und Fehlerkorrektur bei RAM-Speichermodulen für den Computer. Überwiegend werden Speichermodule ohne eine Fehlererkennung verkauft. Das hat zwei Gründe: zum einen sind Module mit Fehlererkennung teurer und zum anderen treten Speicherfehler nur selten auf. Für den Privatgebrauch sind Speichermodule ohne Fehlererkennung daher ausreichend. Wenn es um die Bearbeitung wichtiger Daten geht, sollte aber auf eine Fehlererkennung nicht verzichtet werden.

Wie können überhaupt Speicherfehler auftreten?

Alle Daten im Computer werden in Maschinencode umgesetzt und im RAM-Speicher abgelegt. Maschinencode besteht nur aus "Nullen" und "Einsen". Um eine solche Zahl im Speicher abzulegen wird ein Bit (Speicherzelle) benötigt. 8 solcher Bits bezeichnet man als 1 Byte. In seltenen Fällen z.B. durch einen Defekt im Speicherbaustein oder durch statische Aufladung kann es vorkommen, dass ein Datenbit im Speicherbaustein "umkippt", sich also von einer "Eins" zu einer "Null", oder umgekehrt ändert. Beim auslesen dieses Speichers kann es dann sein, dass durch diese Änderung die im Maschinencode abgelegten Daten vom Computer nicht, oder falsch verarbeitet werden und dieser dann abstürzt. Im schlimmsten Fall sind damit alle noch nicht auf Datenträgern gespeicherten Daten verloren. Um dem vorzubeugen, gibt es Speichermodule mit integrierter Fehlererkennung.

Welche Fehlererkennungs-Methoden gibt es?

Es gibt bei Speichermodulen eigentlich nur zwei verschiedene Methoden: einmal die hier beschriebene "ECC-Prüfung" und zum anderen die "Parity-Prüfung", die ich in einem anderen Artikel beschrieben habe.

Welche Unterschiede gibt es zwischen ECC & Parity?

Die Paritäts-Prüfung kann defekte Datenbytes zwar erkennen, aber nicht korrigieren! ECC hingegen kann 1-Bit Fehler auch reparieren. Außerdem überprüft die Paritäts-Prüfung immer ein ganzes Datenbyte mit 8 Datenbits. In einem ungünstigen Fall kann es sein, dass sich zwei fehlerhafte Datenbits "aufheben", also von der Paritäts-Prüfung nicht als Defekt erkannt werden. ECC prüft jedes Bit eines Datenbytes und kann einen festgestellten Fehler lokalisieren und auch reparieren. Würden zwei defekte Datenbits auftreten merkt dies auch die ECC-Prüfung, kann dann aber den Fehler nicht reparieren. Ein defektes Datenbit kommt schon selten vor, mehrere fehlerhafte Datenbits in einem Datenbyte sind aber überaus selten, kann aber nicht ganz ausgeschlossen werden.

Wie funktioniert die ECC-Prüfung?

Auf Speichermodulen mit ECC-Prüfung befindet sich ein ECC-Chip. In diesem ist ein kleines Programm (ECC Fehlerkorrektur-Algorithmus) abgelegt. Man nennt diesen Algorithmus auch "Hamming-Code". Speichert der Computer nun Daten im RAM berechnet dieser Algorithmus einen Prüf-Code, der zusätzlich zu den Daten im RAM abgelegt wird. Durch diesen Prüf-Code für die Fehlerkorrektur wird der Datenbus breiter und benötigt somit mehr Speichervolumen. Das macht bei einer Busbreite von 32-Bit zusätzlich 7 Prüfbits und bei einer Busbreite von 64-Bit zusätzlich 8 Prüfbits. Diese müssen parallel zu den Daten abgespeichert werden, wodurch ein solches Speichermodul natürlich teurer wird.

Werden die Daten aus dem Speicher ausgelesen, berechnet der ECC-Algorithmus aus einem 32-Bit bzw. 64-Bit Datenwort eine neue Prüfsumme und vergleicht diese mit der abgespeicherten Prüfsumme vom Schreibvorgang. Sind beide Prüfsummen gleich, ist kein Fehler aufgetreten. Unterscheiden sich die beiden Prüfsummen, kann der Computer durch den Vergleich beider Prüfzahlen genau feststellen, ob es sich um einen 1-Bit (nur einen) oder 2-Bit (zwei) Fehler handelt. Ist ein 1-Bit Fehler aufgetreten kann genau das fehlerhafte Bit lokalisiert werden. Der ECC-Chip ändert dann dieses fehlerhafte Bit von "Eins" auf "Null" oder umgekehrt und der Fehler ist behoben. Sollten einmal zwei Bits fehlerhaft sein, wird das auch von der ECC-Prüfung festgestellt, allerdings können diese Fehler dann nicht repariert werden. Der Computer gibt aber eine Warnung aus und stürzt nicht gleich ab.

Kann ich immer Speichermodule mit ECC verwenden?

Meistens! Damit diese Speichermodule in einem Computer funktionieren und auch die ECC-Prüfung einwandfrei arbeitet müssen diese Module vom Chipsatz der Hauptplatine (Mainboard) unterstützt werden. Das ist aber heute bei fast allen Hauptplatinen so. Ist man sich nicht sicher, genügt ein Blick in das Handbuch zur Hauptplatine, dort sollte angegeben sein, welche Speichermodule von der Hauptplatine unterstützt werden.

Lohnt sich ECC-RAM zu kaufen?

ECC-RAM ist immer teurer als RAM ohne Fehlerkorrektur. Für den privaten Gebrauch sind RAM-Module ohne Fehlerkorrektur ausreichend. RAM-Fehler passieren sehr selten. Sollte es dennoch mal dazu kommen, sind zwar meist die gerade bearbeiteten Daten verloren, was aber meist nicht übermäßig tragisch ist.
Im professionellen Server- und Workstation-Einsatz sieht das schon anders aus. Da kann ein RAM-Fehler schon einiges an Ausfallzeiten und damit verbundenen Kosten verursachen. Hier lohnt sich der Einsatz auf jeden Fall.

Fazit:

Abschließend kann also gesagt werden, dass ECC-RAM überall dort eingesetzt werden sollte, wo es nicht auf Kosten sondern auf Sicherheit ankommt. ECC-RAM sollte auch möglichst dem Parity-RAM vorgezogen werden.

[Zurück zur Übersicht]

Joomla Toplist

Besucher heute

® Auf im Beitrag genannte Namen und Bezeichnungen, sowie auf Logos können Markenrechte von Firmen im In- und Ausland liegen

www.CompTech-Info.de wird gehostet von:

ALL-INKL.COM - Webhosting Server Hosting Domain Provider

Wer ist online

Aktuell sind 50 Gäste und keine Mitglieder online

Beiträge:

Deine Daten

IP

Kleine Spende

Hier bitte ich Dich um eine kleine Spende für meine Webseite "www.CompTech-Info.de".
Weitere Infos dazu habe ich hier für Dich zusammengestellt.
Vielen Dank!
 

Ziel, mindestens: 119,40 €
Gespendet 2017:  28,37 €
Letzte Aktualisierung: 25.02.2017
Zum Seitenanfang