Error Checking and Correcting: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 24: Zeile 24:


; Ursache von Speicherfehlern
; Ursache von Speicherfehlern
Die Hauptursache von Speicherfehlern ist nicht [[ionisierende Strahlung]] (wie früher vermutet), sondern eher Probleme einzelner Speicherzellen (zum Beispiel durch Alterung oder Fertigungsprobleme).<ref>[https://www.heise.de/newsticker/meldung/Hauptspeicherfehler-sehr-viel-haeufiger-als-bisher-angenommen-828883.html heise.de] Hauptspeicherfehler sehr viel häufiger als bisher angenommen (2009)</ref><ref>[http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf cs.toronto.edu] (PDF; 284&nbsp;kB) DRAM Errors in the Wild: A Large-Scale Field Study, Mai 2009.</ref>
Die Hauptursache von Speicherfehlern ist nicht [[ionisierende Strahlung]] (wie früher vermutet), sondern eher Probleme einzelner Speicherzellen (zum Beispiel durch Alterung oder Fertigungsprobleme)


== Anwendung ==
== Anwendung ==

Version vom 23. November 2024, 11:00 Uhr

Error Checking and Correcting

Fehlererkennung (ECC)

RAM-RDIMMs für Server wie dieser haben meist ECC integriert

Speichermodule können je nach Bestückung verwendet werden

Für die einfache Fehlererkennung mittels Paritätsbit wird je 8 bit Wortbreite ein weiteres Bit benötigt, die Module sind folglich 9 bit (einfaches SIMM), 36 bit (PS/2-SIMM) oder 72 bit breit (übliche DIMMs) organisiert

  • Ein einzelnes DIMM bietet damit auch genügend Bit-Breite für die Nutzung der Fehlerkorrektur (siehe unten), während hierzu mehrere gleichartige PS/2-Module parallel geschaltet werden müssen

Die Fehlerkorrektur muss außerdem von der Hauptplatine (Chipsatz und BIOS) unterstützt werden, die zusätzlichen Bits auf den Modulen schaffen nur die Möglichkeit zur Ablage der benötigten Information

Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren

  • Eines dieser Verfahren stammt vom US-Mathematiker Richard Hamming: Der Error Correction Code (ECC) ist eine Art Hashwert über die 64 Bits jeder Speicherzeile
  • Diese redundanten Informationen werden vom Speichercontroller berechnet und in acht weiteren Bits abgelegt (bei 32-bit-Speicherzeilen sind es sieben weitere Bits), weshalb ECC-Speicher 72 Bits pro Zeile hat

Das Verfahren selbst heißt Error Checking and Correcting

ECC kann alle 1-bit-Fehler korrigieren und alle 2-bit-Fehler sowie manche Mehr-bit-Fehler erkennen

  • ECC-Speicher kommt in Desktop-PCs kaum zum Einsatz

Weitere Techniken zur Fehlererkennung sind unter den Namen Chipkill, Active Memory, Memory Resiliency oder Memory RAID bekannt

Ursache von Speicherfehlern

Die Hauptursache von Speicherfehlern ist nicht ionisierende Strahlung (wie früher vermutet), sondern eher Probleme einzelner Speicherzellen (zum Beispiel durch Alterung oder Fertigungsprobleme)

Anwendung

Message from syslogd@mx10 at Nov 20 21:01:33 ...
 kernel:[376047.608409] [Hardware Error]: Corrected error, no action required.

Message from syslogd@mx10 at Nov 20 21:01:33 ...
 kernel:[376047.608537] [Hardware Error]: CPU:0 (17:71:0) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|Scrub]: 0x9c2041000000011b

Message from syslogd@mx10 at Nov 20 21:01:33 ...
 kernel:[376047.608722] [Hardware Error]: Error Addr: 0x000000045d982340

Message from syslogd@mx10 at Nov 20 21:01:33 ...
 kernel:[376047.608846] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xcf8600040a800a01

Message from syslogd@mx10 at Nov 20 21:01:33 ...
 kernel:[376047.609009] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0, DRAM ECC error.

Message from syslogd@mx10 at Nov 20 21:01:33 ...
 kernel:[376047.609366] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Page
Info-Pages

Links

Weblinks
  1. https://de.wikipedia.org/wiki/Speichermodul#Fehlererkennung_(ECC)