ECC RAM

Ob in einem NAS Server ECC RAM verwendet werden sollte oder nicht – darüber scheiden sich die Geister. Die einen sehen es als paranoid an, die anderen als unbedingt notwendig. Dieser Artikel informiert über die Hintergründe.

Wozu Arbeitsspeicher?

Der Arbeitsspeicher (RAM) wird in einem Rechner (PC, NAS, Server, etc.) dazu verwendet, die gerade ausgeführten Programme und ihre benötigten Daten zu speichern. Die meisten Rechner, die wir heute verwenden sind nach der Von-Neumann-Architektur aufgebaut und können daher ohne einen Arbeitsspeicher nicht funktionieren. Der Arbeitsspeicher ist also eine sehr wichtige Komponente in einem Rechner.

Ein ECC RAM Modul als DIMM

Ein ECC RAM Modul als DIMM

Technischer Aufbau von ECC RAM

PCs, Server, NAS-Systeme, etc. benutzen momentan überwiegend DDR-SDRAM (Double Data Rate Sychronous Dynamic Random Access Memory). Dieser speichert seine Daten in Form von Ladezuständen in Kondensatoren (jedes Bit ein Kondensator). Allerdings verlieren diese Kondensatoren ihre Ladungen immer wieder. Selbst dann, wenn die Betriebsspannung aufrecht erhalten wird (darauf weißt das „Dynamic“ im Namen hin). Aus diesem Grund müssen die Kondensatoren immer wieder aufgefrischt werden (worüber die „Refresh Rate“ im BIOS Auskunft gibt).

Arten von Fehlern

Beim Umgang mit diesen Speicherzellen treten zwei verschiedene Arten von Fehlern auf:

  • Hard Errors: Sind Probleme mit einzelnen Speicherzellen, die in diesen Zellen eventuell auch vermehrt auftreten – z.B.: „Ein Kondensator ist kaputt“.
  • Soft Errors: Sind Probleme die völlig zufällig bei beliebigen Speicherzellen auftreten können und dann Bits kippen lassen. Solche Fehler treten durch elektromagnetische Störstrahlung – oder auch durch kosmische Hintergrundstrahlung in Form von Neutronen auf

Laut einer großangelegten Studie der Universität von Toronto und der Firma Google aus dem Jahr 2009 treten dabei die Hard Errors sehr viel öfter auf als die Soft Errors. Konkret traten bei der Studie bei 8% aller Speichermodule (DIMMs) ein Fehler pro Jahr auf (bei einer DIMM-Größe von 1-4 GByte). Wird der Speicher größer, wird die Fehlerwahrscheinlichkeit auch natürlich auch höher.

Konsequenzen von Fehlern

Was kann passieren, wenn ein Bit im Arbeitsspeicher „umkippt“?

  • Im besten Fall: Nichts. Wenn in dem Teil des Speichers gerade keine Daten waren, dann ist der Zustand eines Bits auch völlig egal und es passiert nichts.
  • Fehler im Programmspeicher: Bei einem Fehler in einem von einem Programm genutzten Speicher kann das dazu führen, dass das Programm abstürzt.
  • Fehler im Datenspeicher: Tritt ein Fehler in einem von Daten genutzten Speicher auf, so kann es passieren, dass die Daten verändert werden. Das könnte in einem ganz blöden Fall zum Beispiel das Vorzeichen einer Bilanz in einer Excel-Tabelle sein. Oder im günstigen Fall der Farbwert eines einzelnen Pixels in einem Film.
  • Fehler im Betriebssystemspeicher: Ein Fehler in diesem Speicherbereich kann dazu führen, dass das Betriebssystem in einen unkontrollierten Zustand übergeht und abstürzt.

Was macht ECC im RAM?

ECC steht für Error Correction Code. Er funktioniert so, dass für eine Zelle von 64 Bit Speicher eine Prüfziffer von 8 Bit gespeichert wird. Daher muss ein ECC-Modul 1/8 mehr Speicher besitzen als ein normales Speichermodul und wird dadurch teurer. Tritt ein Fehler in einem der 64 Bits Nutzdaten auf, so kann dieser dank der 8 zusätzlichen Bits korrigiert werden. Daher der Name ECC: Error Correction Code. Sind in den Nutzdaten 2 Bit falsch, kann das zwar erkannt, aber nicht korrigiert werden. Und ab 3 falschen Bits kann auch ECC nichts mehr ausrichten.

ECC Bits

ECC Bits

Warum ECC RAM?

Die Wahrscheinlichkeit für dramatische Fehler ist zugegeben nicht besonders hoch. Daher ist ECC RAM für einen Desktop-PC nicht unbedingt notwendig. Nebenbei bemerkt: Microsoft empfiehlt seit Windows Vista, ECC-RAM im Desktop einzusetzen.
Bei einem NAS oder Server sieht die Sache anders aus. Diese Geräte laufen oft rund um die Uhr und sie verarbeiten sehr viel mehr Daten als Desktop-PCs. Wenn dort auch der Arbeitsspeicher-Ausbau großzügig gehandhabt wird, dann ist die Wahrscheinlichkeit für einen Fehler hier höher. Gerade im Hinblick darauf, dass in den Kisten immer mehr RAM steckt und die physikalischen Strukturen der Speicherzellen immer kleiner werden.

Empfehlung

An dieser Stelle kommt es wie immer darauf an, was Sie mit Ihrem NAS machen:

  • Speichert das NAS Daten, die für den Betrieb Ihres Unternehmens wichtig sind, würde ich den Aufpreis für ECC RAM in Kauf nehmen.
  • Soll das NAS mehr als 8 Stunden am Tag laufen – evtl. sogar rund um die Uhr, dann würde ich auch ECC RAM nehmen.
  • Haben Sie eine Speicherintensive RAID-Konfiguration (ab RAID 5) oder nutzen Sie ein speicherintensives Dateisystem wie ZFS, dann würde ich auch ECC RAM einsetzen.
  • Ist es ein privates NAS, das nur ab und zu mal läuft (z.B. als „Datengrab“ für Mediendaten wie Filme, Musik, Bilder, etc.), dann kann man auf ECC RAM verzichten.
  • Liegen alle Daten, die auf dem NAS liegen, auch noch auf einem zweiten System (was sie sollten, sonst existiert kein Backup), dann kann man auch auf ECC RAM verzichten

Wichtig ist weiterhin, dass nicht nur der Speicher die ECC-Mechanismen beherrschen muss. Auch das Mainboard und der Prozessor müssen das können. Eine Übersicht über die Kombinationen von Mainboards und CPUs, die ECC-RAM unterstützen finden Sie im Artikel über NAS Mainboards.

Gefällt Ihnen dieser Artikel? Sagen Sie es weiter!

Kommentare (6) Schreibe einen Kommentar

    • Hallo!

      Guter Tipp! Ich habe direkt mal eine Preisvergleichs-Box eingefügt, so dass man sehen kann, was der RAM kostet.

      Antworten

  1. ECC-RAM sollte auch für Desktop-Rechner/Workstations verwendet werden, auf denen sicherheitskritische Berechnungen durchgeführt werden, z.B. Bau-Statik oder Flugzeug-Konstruktion. Es wäre fatal, wenn es bei diesen Anwendungen aufgrund eines RAM-Fehlers zu falschen Berechnungsergebnissen kommen würde.

    Antworten

  2. Ich möchte hier gerne noch auf AMD verweisen. Dort muss man nicht noch extra 200€ für ein Cxx Mainboard bezahlen. Auf AMD Seite bietet so ziemlich jeder Prozessor von AM2 bis AM3+ ECC mit den gängien Chipsätzen. Mit etwas Undervolting/Underclocking bekommt man auch passable Stromverbräuche hin. Oder man nimmt mobile Bauteile: Das beste Beispiel ist der HP Microserver N54 z.B. – billig und mit ECC.

    Leider wurde bei FM2/AM1 das Ganze entfernt, was meiner Ansicht nach einen dicken Malus für die sonst günstigen Kombinationen in Sachen NAStauglichkeit darstellt.

    Antworten

  3. Und was passiert, wenn das ECC-RAM einen nicht-korrigierbaren Fehler bemerkt? Wird dann das Betriebssystem neu gebootet? Oder nur das betreffende Programm beendet
    (nach Anzeige einer entsprechenden Fehlermeldung für den Nutzer)?

    Antworten

    • Das kommt ganz darauf an, wo der Fehler ist. Das Betriebssystem „bemerkt“ solch einen Fehler nicht. Das ist tiefer in der Hardware… Wird der Speicherbereich gerade nicht verwendet passiert gar nix. Liegen unwichtige Daten in dem Bereich passiert auch nichts. Aber kippt ein Bit in einem wichtigen Bereich des Betriebssystems, kann das System einfach so komplett abstürzen. Gefährlicher ist aber ein Fehler in einem Datenbereich. Damit wird zu Beispiel eine Zahl in einer Excel-Tabelle verfälscht – sowas fällt nicht sofort auf und es kann ganz blöde Folgen haben.

      Antworten

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.