Error Checking and Correcting: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Beschreibung
'''Error Checking and Correcting'''
 
== Fehlererkennung (ECC) ==
== Fehlererkennung (ECC) ==
[[Datei:Micron MTC40F204681RC48BA1R 20240407 076.jpg|mini|RAM-RDIMMs für Server wie dieser haben meist ECC integriert]]
[[Datei:Micron MTC40F204681RC48BA1R 20240407 076.jpg|mini|RAM-RDIMMs für Server wie dieser haben meist ECC integriert]]
Zeile 7: Zeile 8:
* mit Fehlerkorrektur ([[Fehlerkorrekturverfahren#ECC- und Paritätsprüfung|ECC]])
* mit Fehlerkorrektur ([[Fehlerkorrekturverfahren#ECC- und Paritätsprüfung|ECC]])


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.
; 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


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.
; 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


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.
; Erkennungsverfahren
Das Verfahren selbst heißt Error Checking and Correcting.
Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren


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.
; 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


Weitere Techniken zur Fehlererkennung sind unter den Namen Chipkill, Active Memory, Memory Resiliency oder Memory RAID bekannt.
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


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>
; Weitere Techniken zur Fehlererkennung
* Chipkill
* Active Memory
* Memory Resiliency
* Memory RAID


== Installation ==
; Ursache von Speicherfehlern
<syntaxhighlight lang="bash" highlight="1" line>
Die Hauptursache von Speicherfehlern ist nicht [[ionisierende Strahlung]] (wie früher vermutet), sondern eher Probleme einzelner Speicherzellen (zum Beispiel durch Alterung oder Fertigungsprobleme)


== Anwendung ==
<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>
</syntaxhighlight>
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>


</syntaxhighlight>
=== Optionen ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Anwendung ==
=== Problembehebung ===
== Konfiguration ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===
Zeile 45: 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)