Error Checking and Correcting: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 8: Zeile 8:
* mit Fehlerkorrektur ([[Fehlerkorrekturverfahren#ECC- und Paritätsprüfung|ECC]])
* mit Fehlerkorrektur ([[Fehlerkorrekturverfahren#ECC- und Paritätsprüfung|ECC]])


; Paritäts-Bit
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
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
* 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


; Chipsatz und BIOS
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
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


; Erkennungsverfahren
Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren
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
 
; 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
* 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
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 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
* 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
; Weitere Techniken zur Fehlererkennung
* Chipkill
* Active Memory
* Memory Resiliency
* Memory RAID


; 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 ==
=== Problembehebung ===
<syntaxhighlight lang="bash" line>
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
</syntaxhighlight>
 
== Konfiguration ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===
Zeile 39: Zeile 67:
===== Info-Pages =====
===== Info-Pages =====
==== Links ====
==== Links ====
===== Projekt =====
===== Weblinks =====
===== Weblinks =====
# https://de.wikipedia.org/wiki/Speichermodul#Fehlererkennung_(ECC)
# https://de.wikipedia.org/wiki/Speichermodul#Fehlererkennung_(ECC)
</noinclude>
</noinclude>

Aktuelle Version vom 23. November 2024, 11:09 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

Paritäts-Bit

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
Chipsatz und BIOS

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

Erkennungsverfahren

Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren

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
  • Chipkill
  • Active Memory
  • Memory Resiliency
  • Memory RAID
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)