Frage DDR5 - on-die ECC?

garfield36

Urgestein
Mitglied seit
Jul 24, 2018
Beiträge
1.270
Bewertungspunkte
331
Punkte
84
Standort
Wien
Auch die neuen Intel-CPUs der 12xxx-Serie unterstützen kein ECC. Nun frage ich mich was die Bezeichnung "on-die ECC" bei DDR5-RAM bedeutet.
 
Das heißt kurz und knapp gesagt, daß DDR5 RAM eine eigene Fehlerkorrektur auf dem Riegel selbst beinhaltet.
Die kann dann eben selbsttätig den einen oder anderen Fehler beheben, völlig unabhängig davon, ob die hardware drumrum irgendwas unterstützt oder dazu beiträgt.
Die angesprochenen Fehler sind in der Regel im RAM selbst entstehende bit-flips (single-bit error)
Diese werden mit steigender Geschwindigkeit immer wahrscheinlicher, insofern wurds bei DDR5 echt langsam mal Zeit (und wohl auch nötig), da eine interne Korrekturmaßnahme einzuführen.
...die Dinger verzählen sich sonst einfach zu oft 😀.
Man munkelt, DDR5 wird unter anderem auch deswegen so warm, weil es sich deswegen schämt 😂
 
Müsste da nicht ein Prozessor die Prüfung auf Fehlerbits durchführen?
Eben nicht, daher wird ja ein extra Chip verbaut auf dem RAM Modul, um die Fehler zu checken.

Aber um es dem OS zu melden, muß der Speicher-Controller es weiter leiten an den Kernel. ;)

Edit: Für Multi-Bit ECC muss es der RAM können (+ extra Chip), der Speicher-Controller sowie das UEFI und das Betriebssystem.

Aka MS oder Linux.
 
Zuletzt bearbeitet :
Müsste da nicht ein Prozessor die Prüfung auf Fehlerbits durchführen?
Im Sinne von "da muss ein irgendwie gearteter controller zuständig sein" ja,
aber eben nicht DER Prozessor (CPU), sondern in dem Fall dediziert auf dem DIMM
Es funktioniert so:

-Das RAM bekommt Daten im Schreibzyklus.

-Es speichert nicht nur diese Daten, sondern generiert auch intern den ECC, (error correction code, wenn man so will eine "checksumme", auch wenns technisch der falsche Begrif ist, kann man sich da drunter vom Sinn her wohl am ehesten was vorstellen)
Dieser ECC wird ebenfalls gespeichert.

-Vor/beim Lesezugriff wird dann wiederum (intern auf dem Speicherriegel) aus den Daten erneut der ECC erzeugt, und mit dem eingangs erzeugten verglichen.

-Wenn beide übereinstimmen, werden die Daten ausgegeben, und wenn nicht, anhand des codes korrigiert.

Das passiert wie gesagt vollständig innerhalb des RAM Riegels, ohne daß da irgendeine andere Komponente was dazu beiträgt, unterstützen muss oder sonstiges.

Das Ganze ist beschränkt auf die erwähnten single-bit errors, und hilft spätestens wenn die Daten schon fehlerbehaftet beim Speicher ankommen dann herzlich wenig.

Deswegen gibt's ja auch nicht nur on-die ECC, sondern noch verschiedene andere Arten von Fehlerkorrektur, bei der dann auch "Der Prozessor" mitmachen muss.
Aber wir betreiben hier ja keine Serverfarmen, deswegen höre ich jetzt auf, eine Texttapete zu erzeugen 😄
 
Ich finde das Thema durchaus interessant. Ich habe zwar sicher nicht alle DDR5-Tests gelesen, aber bemerkenswert finde ich, dass bei keinem mir bekannten auf das ECC-Thema eingegangen wurde.
 
Stimmt, jetzt wo Du es sagst...ist immer nur ne Randnotiz, nach dem Motto: Ist dabei.

Mag vermutlich daran liegen, daß das technisch überhaupt nichts Neues ist, und im Serverbereich (dort dann als eine von mehreren "Stufen") schon identisch seit Ewigkeiten bei früheren RAM Generationen vorhanden war.
Von daher ist es im Grunde auch nicht der Rede wert und unnötig, das nochmal lang und breit für die Masse zu erklären.
Für die Hersteller ist es auch kein werbewirksames Argument und Verkaufskriterium, weils eben nach JEDEC Spezifikation jeder Riegel haben muss.
Insofern ist die Information "hat on-die ECC" auf der "Sensationsskala/wow-faktor" genauso relevant wie "kann mal wieder mit etwas geringerer Spannung betrieben werden als die Generation vorher".
Who cares?
Dem 08/15 Endkunden und privatem Daddler ist es ohnehin furzegal, ob sein RAM-Riegel ständig intern seinen eigenen Bockmist korrekturrrechnen muss.
...obwohl wer weiß, vielleicht wird das ja die neue Spielwiese für overclocking-Enthusiasten, spezielle DIMMs zu selektieren, die auch mit amputiertem ECC zuverlässig sind, zu Gunsten niedrigerer Latenzen...Leute, wetzt die Lötkolben und Elektronik-Kneifzangen 😂
 
Eben nicht, daher wird ja ein extra Chip verbaut auf dem RAM Modul, um die Fehler zu checken.

Aber um es dem OS zu melden, muß der Speicher-Controller es weiter leiten an den Kernel. ;)

Edit: Für Multi-Bit ECC muss es der RAM können (+ extra Chip), der Speicher-Controller sowie das UEFI und das Betriebssystem.

Aka MS oder Linux.

Diesen extra Chip haben normale DDR5 Riegel aber nicht. Dieser ist nur (und immer noch) benötigt, wenn man "klassisches" ECC haben will, wo auch die Datenübertragung zur CPU abgesichert ist. Wie hier schon richtig erwähnt ist, ist on-die ECC auf den Riegel beschränkt.
 
Diesen extra Chip haben normale DDR5 Riegel aber nicht. Dieser ist nur (und immer noch) benötigt, wenn man "klassisches" ECC haben will, wo auch die Datenübertragung zur CPU abgesichert ist. Wie hier schon richtig erwähnt ist, ist on-die ECC auf den Riegel beschränkt.
Ohne extra Chip ist es nur Single-Bit ECC.
on-die bedeutet der Speicher regelt das selbst intern, ohne IMC, UEFI und OS Unterstützung.

Daher stimme ich dir bei Klassischem ECC zu, das wäre Multi-Bit ECC.
Also alle sind involviert wenn ein Speicher Fehler über mehrere Bits passiert. ;)
 
Also könnte man on-Die ECC auch als ECC light beschreiben. ;)
Technisch im Grunde ja, aber das wäre ja marketing-mäßig total ungeschickt. "light" zieht vielleicht bei Lebensmitteln, aber bei PC Komponenten muss das schon anders rüberkommen 😜
Single-bit klingt auch irgendwie geringfügig und halbgar, diesen technisch korrekten Begriff darf man also auch auf gar keinen Fall nutzen...also was bleibt da noch...tja wo findet das ganze denn statt...nur auf dem Riegel...aber just/only on...nee, klingt auch wieder so eingeschränkt...das verkauft sich so nicht...also nur "on die"...oh ja, das klingt super, irgendwie speziell und besonders...geil...gekauft! 🤣
 
Und dann kommen so unbedarfte Leute wie ich, die wissen wollen was das zu bedeuten hat.
Du kommst aus dem Marketing? ;)
 
Oben Unten