Was ECC-Speicher ist und wann Sie ihn brauchen

Was Fehlerkorrektur wirklich abfängt, wie sich registered und load-reduced von ungepufferten Modulen unterscheiden und warum die Plattform entscheidet.

Aktualisiert

Auf dieser Seite
  1. Was ECC tatsächlich abfängt
  2. On-Die-ECC ist kein ECC-Speicher
  3. Ungepuffert, registered und load-reduced
  4. Es entscheidet die Plattform, nicht das Modul
  5. Was wir erfassen und was nicht

Fehlerkorrigierender Speicher gehört zu den wenigen Teilen eines Rechners, bei denen die richtige Antwort offensichtlich wird, sobald man weiß, was die Funktion tut. Sie fängt einen bestimmten, seltenen Ausfall ab, sie kostet Geld und ein wenig Latenz, und sie wirkt nur, wenn drei getrennte Dinge zusammenkommen. Der größte Teil der Verwirrung stammt von einem vierten Ding, das den Namen teilt und nicht dieselbe Funktion ist.

Was ECC tatsächlich abfängt

Ein Modul ohne Fehlerkorrektur legt die Bits ab, die es ablegen sollte, und gibt später zurück, was es dort vorfindet. Gelegentlich ist das nicht das, was hineinging: ein verirrtes Teilchen kippt eine Zelle, ein Chip an der Grenze verliert seine Ladung, ein Signal kommt verzerrt über den Bus an. Nichts im Modul bemerkt es, der falsche Wert geht an den Prozessor, und das Programm rechnet damit weiter.

Ein ECC-Modul trägt zusätzliche Speicherchips über die hinaus, die Ihre Daten halten, und legt zu jedem Wort eine Prüfsumme ab. Bei jedem Lesen berechnet der Speichercontroller sie neu. Ein gekipptes Bit wird auf der Stelle korrigiert und protokolliert; zwei gekippte Bits werden erkannt, aber nicht korrigiert, und die Maschine hält an, statt mit Daten weiterzurechnen, von denen sie weiß, dass sie falsch sind.

Achten Sie darauf, was das bringt und was nicht. Fehlerkorrektur macht Speicher nicht schneller, nicht langlebiger und rettet kein Modul, das wirklich ausfällt — sie meldet den Ausfall früher und deutlicher, und das ist oft mehr wert als die Korrektur selbst. Was sich ändert: aus einer stillen falschen Antwort wird ein protokolliertes Ereignis. Ob sich das bezahlt macht, hängt ganz davon ab, was die Maschine tut. Eine Workstation mit einer wochenlangen Simulation, ein Dateiserver mit Daten, die in fünf Jahren wieder gelesen werden, eine Datenbank, die niemals eine beschädigte Zeile schreiben darf: für die ist ein falsches Bit, das niemandem auffällt, der teure Ausgang. Ein Spielerechner stürzt ab, man startet ihn neu und hat ein paar Minuten verloren.

On-Die-ECC ist kein ECC-Speicher

Hier stolpern die meisten, und DDR5 hat es schlimmer gemacht.

Jeder DDR5-Chip hat Fehlerkorrektur im Die eingebaut. Das gehört zum Standard und ist keine Zutat eines einzelnen Herstellers: bei den Dichten, in denen DDR5 gefertigt wird, treten Fehler im Zellenfeld häufig genug auf, dass nur eine Korrektur im Chip selbst die Ausbeute tragfähig hält. Ein ganz gewöhnliches DDR5-Kit für den Desktop trägt also in einem echten Sinn Fehlerkorrektur.

Es ist nicht dieselbe Funktion. Die On-Die-Korrektur deckt Fehler innerhalb des DRAM-Zellenfelds ab und sonst nichts. Sie erledigt ihre Arbeit, bevor die Daten den Chip verlassen, deckt also die Strecke vom Modul zum Speichercontroller nicht ab — die Kontakte, die Leiterbahnen auf dem Board, den Bus selbst — und auf dieser Strecke passiert ein merklicher Teil der Speicherfehler. Sie meldet auch nichts: kein Zähler zum Auslesen, kein Protokolleintrag, keine Möglichkeit für das Betriebssystem zu erfahren, dass eine Korrektur stattfand oder dass Korrekturen häufiger werden. On-Die-ECC ist eine Fertigungsmaßnahme, die Ihnen nebenbei hilft. ECC-Speicher ist eine Systemfunktion, die Ihnen die Wahrheit über Ihre eigene Hardware sagt.

Die praktische Folge ist kurz: dass ein DDR5-Modul On-Die-Korrektur hat, sagt nichts darüber, ob die Maschine ECC-Speicher hat. Das sind zwei verschiedene Fragen mit zwei verschiedenen Antworten.

Ungepuffert, registered und load-reduced

Fehlerkorrektur ist die eine Achse. Wie ein Modul elektrisch angesteuert wird, ist eine andere, und beide werden verwechselt, weil Serverspeicher meist beides mitbringt.

Bei einem ungepufferten Modul — einem UDIMM im Desktop, einem SO-DIMM im Notebook — laufen Adress- und Befehlsleitungen vom Speichercontroller direkt zu jedem DRAM-Chip auf dem Riegel. Das ist die einfachste Anordnung und die geringste Latenz. Der Preis ist elektrisch: jeder Chip ist eine Last auf diesen Leitungen, je mehr Chips und Module ein Kanal also trägt, desto schwerer tut sich der Controller und desto früher hört das Signal auf, sauber zu sein. Deshalb enden Desktop-Plattformen bei einer Handvoll Steckplätzen und einer Obergrenze je Steckplatz.

Ein registered Modul — ein RDIMM — setzt einen Register-Baustein zwischen Steckplatz und DRAM. Der Controller treibt eine Last je Modul statt Dutzender, und das Register verteilt das Signal von dort aus. Das kostet einen Taktzyklus auf Adresse und Befehl und erkauft die Möglichkeit, weit mehr Speicher an einen Kanal zu hängen, als eine ungepufferte Bauform tragen kann.

Ein load-reduced Modul — ein LRDIMM — puffert auch die Datenleitungen. Das hebt die verbliebene elektrische Grenze auf und lässt die größten, am stärksten in Ranks gestaffelten Module überhaupt erst arbeiten, was der einzige Grund ist, den Mehrpreis hinzunehmen.

UngepuffertRegisteredLoad-reduced
PuffertNichtsAdresse und BefehlAdresse, Befehl, Daten
LatenzAm geringstenEin Taktzyklus mehrEin Taktzyklus mehr
Übliches ZuhauseDesktops und NotebooksServer- und Workstation-BoardsServerboards bei den größten Kapazitäten

Nichts in dieser Tabelle handelt von Fehlerkorrektur. Registered Module tragen sie fast immer, weil die Plattformen, die sie aufnehmen, sie wollen — ungepufferte ECC-Module gibt es aber, und sie sind ganz gewöhnliche Teile. Unser Katalog führt mehrere davon, und sie stehen auf der Seite für Desktop-Speicher statt auf dieser, denn was ein Modul auf die Seite für Serverspeicher bringt, ist seine Bauform und sonst nichts: RDIMM und LRDIMM, die beiden Schreibweisen, die bedeuten, dass ein Modul gepuffert ist.

Es entscheidet die Plattform, nicht das Modul

Ein ECC-Modul in einer Maschine ohne ECC-Unterstützung tut eines von zwei Dingen. Es läuft, wobei die Prüfbits ignoriert werden, oder es läuft nicht. So oder so haben Sie für eine Funktion bezahlt, die nichts tut.

Drei Dinge müssen vorhanden sein. Das Modul muss die zusätzlichen Chips tragen. Der Speichercontroller — der auf jeder heutigen Plattform im Prozessor sitzt — muss sie prüfen können. Und Firmware und Betriebssystem müssen das Ergebnis sichtbar machen, denn eine Korrektur, die niemand sehen kann, ist kaum besser als gar keine. Server- und Workstation-Plattformen bringen alle drei mit. Consumer-Desktops meist nicht, und wo ein Desktop-Board samt Prozessor ungepuffertes ECC doch beherrscht, steht das in der Dokumentation des Boards, statt vom Sockel angedeutet zu werden. Dort wird die Frage entschieden, und sie sollte vor dem Kauf des Moduls entschieden sein.

Was wir erfassen und was nicht

Wir erfassen die Unterstützung für Fehlerkorrektur am Modul, als Feld, das ein Datenblatt entweder angibt oder nicht. Wo ein Hersteller nichts angibt, lassen wir das Feld leer, statt es aus einer Teilenummer abzuleiten; ein leeres Feld bedeutet also, dass wir die Angabe nicht gefunden haben — nicht, dass dem Modul die Funktion fehlt. Jedes registered und load-reduced Modul in unserem Katalog gibt sie an, und kein Notebook-SO-DIMM tut das.

Verglichen wird bei uns danach ebenfalls nicht. Speicher wird über drei Zahlen verglichen — Kapazität, Geschwindigkeit in MT/s und CAS-Latenz, wobei bei den ersten beiden höher besser ist und bei der letzten niedriger — und Fehlerkorrektur steckt in keiner davon, weil sie keine Zahl ist, die sich ordnen lässt. Ein Modul trägt die zusätzlichen Chips oder eben nicht, und die Frage danach lautet, ob Ihre Plattform sie nutzen kann. Das Modul ist außerdem die einzige Stelle dieser Website, an der Fehlerkorrektur überhaupt erfasst wird: kein Prozessor- und kein Mainboard-Eintrag hier hält ein Feld dafür bereit, die Frage beginnt also bei einem Datenblatt und endet in der Dokumentation des Boards.

Zwei Gewohnheiten dieses Katalogs sind vor dem Lesen gut zu wissen. Serverspeicher steht als Einzelmodul und nicht als Kit, weil Kanäle je Steckplatz bestückt werden und die Steckplatzzahl eines Boards darüber entscheidet, wie viele Sie kaufen. Und die vollständige Timing-Folge, die Desktop-Kits aufdrucken, fehlt bei jedem registered Modul hier — die Hersteller veröffentlichen die CAS-Latenz und hören dort auf.

Dazu passend: die CAS-Zahlen von registered DDR5 wirken neben denen von DDR4 alarmierend, und jedes DDR5-Modul hier trägt eine höhere als jedes DDR4-Modul. Sie bedeuten ungefähr dieselbe Wartezeit, weil ein Taktzyklus kürzer wird, je höher die Geschwindigkeit steigt — wie Geschwindigkeit und Latenz zusammenwirken hat die Rechnung dazu. Und wenn die Frage unter alldem lautet, wie viel Speicher statt welche Art, fangen Sie bei der Kapazität an: sie bewegt weit mehr, für weit mehr Maschinen, als Fehlerkorrektur es tut.

Serverspeicher und Desktop-RAM stehen jeweils auf einer Seite, mit Daten aus dem Datenblatt und über die Zeit verfolgten Preisen.

Häufige Fragen

Habe ich mit DDR5 schon ECC-Speicher?
Nein. Jeder DDR5-Chip trägt eine On-Die-Korrektur für Fehler innerhalb seines eigenen Zellenfelds, und das gehört zum Standard statt zum Verkaufsargument eines einzelnen Moduls. Sie deckt die Strecke zwischen Modul und Prozessor nicht ab und meldet dem Betriebssystem nichts, ein Desktop mit DDR5 ist also keine Maschine mit ECC-Speicher.
Kann ich ein registered DIMM in ein Desktop-Board stecken?
Nein — ein Board ist für genau eine Modulart verdrahtet, und ein registered DIMM startet auf einer Desktop-Plattform gar nicht erst. Der Register-Baustein zwischen Steckplatz und Speicherchips ändert, wie das Board das Modul ansteuern muss; entschieden wird das also von Board und Prozessor, nicht vom gekauften Riegel.

Ratgeber zu dieser Kategorie