Zum Inhalt springen

Error Checking and Correcting: Unterschied zwischen den Versionen

Aus Foxwiki
K Dirkwagner verschob die Seite Ecc nach Error Checking and Correcting
K Textersetzung - „ Bits “ durch „ Bit “
 
(38 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Beschreibung
'''Error Checking and Correcting''' - Verfahren zur Fehlererkennung und -behebung
== Fehlererkennung (ECC) ==
[[Datei:Micron MTC40F204681RC48BA1R 20240407 076.jpg|mini|RAM-RDIMMs für Server wie dieser haben meist ECC integriert]]
Speichermodule können je nach Bestückung verwendet werden
* ohne [[Fehlerkorrekturverfahren|Fehlererkennung]]
* mit Fehlererkennung ([[Paritätsbit|Parität]])
* 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
== Fehlererkennung ==
* 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
=== Speicherfehler ===
; Ursache von Speicherfehlern
Probleme einzelner Speicherzellen
* Alterung
* Fertigungsprobleme
* [[ionisierende Strahlung]] (weniger als früher vermutet)
 
; Möglichkeiten
{|class="wikitable options"
| ohne || Keine Erkennung oder Korrektur von Fehlern
|-
| [[Fehlererkennung]] || Einfache Fehlererkennung mit [[Paritätsbit]]
|-
| [[Fehlerkorrektur]] || Fehlererkennung und -behebung
|}
 
== Voraussetzungen ==
; Chipsatz und BIOS
ECC muss unterstützt werden vom
* [[Mainboard]]
* [[Chipsatz]]
* [[BIOS]]/[[UEFI]]


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 ==
Verfahren zur Erkennung von Hauptspeicherfehlern


Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren
; Error Correction Code (ECC)
* Eines dieser Verfahren stammt vom US-Mathematiker [[Richard Hamming]]: Der Error Correction Code (ECC) ist eine Art Hashwert über die 64 Bits jeder Speicherzeile
Hashwert über die 64 Bit 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 Bit abgelegt (bei 32-bit-Speicherzeilen sind es sieben weitere Bits), weshalb ECC-Speicher 72 Bit 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
Verfahren 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
* 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
* Chipkill
* Active Memory
* Memory Resiliency
* Memory RAID


; Ursache von Speicherfehlern
== Anwendung ==
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>
<syntaxhighlight lang="bash" line>
--------------------- Kernel Begin ------------------------
WARNING:  Kernel Errors Present
    [Hardware Error]: CPU:0 (17:71:0 ...:  1 Time(s)
    [Hardware Error]: Corrected erro ...:  1 Time(s)
    [Hardware Error]: Error Addr: 0x ...:  1 Time(s)
    [Hardware Error]: IPID: 0x000000 ...:  1 Time(s)
    [Hardware Error]: Unified Memory ...:  1 Time(s)
    [Hardware Error]: cache level: L ...:  1 Time(s)
    mce: [Hardware Error]: Machine check  ...:  1 Time(s)
WARNING:  Kernel EDAC Messages
    EDAC MC0: 1 CE Cannot decode normalized address on mc#0csrow#1channel#0 (csrow:1 channel:0 page:0x0 offset:0x0 grain:64 syndrome:0x4) ...:  1 Time(s)
</syntaxhighlight>
 
<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


== Installation ==
Message from syslogd@mx10 at Nov 20 21:01:33 ...
<syntaxhighlight lang="bash" highlight="1" line>
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 lang="bash" line>
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.851839] [Hardware Error]: Corrected error, no action required.
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.851965] [Hardware Error]: CPU:0 (17:71:0) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|-]: 0x9c2040000000011b
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.852147] [Hardware Error]: Error Addr: 0x000000045d982340
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.852271] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xcf8600040a800a01
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.852434] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0, DRAM ECC error.
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.851839] [Hardware Error]: Corrected error, no action required.
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.851965] [Hardware Error]: CPU:0 (17:71:0) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|-]: 0x9c2040000000011b
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.852147] [Hardware Error]: Error Addr: 0x000000045d982340
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.852271] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xcf8600040a800a01
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.852434] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0, DRAM ECC error.
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.852790] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD
Message from syslogd@mx10 at May 16 11:46:58 ...
kernel:[153472.852790] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD
</syntaxhighlight>
</syntaxhighlight>
=== Optionen ===
 
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Anwendung ==
=== Problembehebung ===
== Konfiguration ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===
Zeile 44: Zeile 121:
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
==== Dokumentation ====
=== Dokumentation ===


===== Man-Page =====
; Man-Page
===== Info-Pages =====
;Info-Page
==== Links ====
=== Links ===
===== Projekt =====
==== Weblinks ====
===== Weblinks =====
# https://de.wikipedia.org/wiki/Speichermodul#Fehlererkennung_(ECC)
# https://de.wikipedia.org/wiki/Speichermodul#Fehlererkennung_(ECC)
[[Kategorie:Arbeitsspeicher]]
[[Kategorie:IT-Sicherheit]]
</noinclude>
</noinclude>

Aktuelle Version vom 4. Juni 2025, 11:19 Uhr

Error Checking and Correcting - Verfahren zur Fehlererkennung und -behebung

Fehlererkennung

Speicherfehler

Ursache von Speicherfehlern

Probleme einzelner Speicherzellen

Möglichkeiten
ohne Keine Erkennung oder Korrektur von Fehlern
Fehlererkennung Einfache Fehlererkennung mit Paritätsbit
Fehlerkorrektur Fehlererkennung und -behebung

Voraussetzungen

Chipsatz und BIOS

ECC muss unterstützt werden vom

Erkennungsverfahren

Verfahren zur Erkennung von Hauptspeicherfehlern

Error Correction Code (ECC)

Hashwert über die 64 Bit jeder Speicherzeile

  • Diese redundanten Informationen werden vom Speichercontroller berechnet und in acht weiteren Bit abgelegt (bei 32-bit-Speicherzeilen sind es sieben weitere Bits), weshalb ECC-Speicher 72 Bit pro Zeile hat

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

Anwendung

--------------------- Kernel Begin ------------------------ 
 WARNING:  Kernel Errors Present
    [Hardware Error]: CPU:0 (17:71:0 ...:  1 Time(s)
    [Hardware Error]: Corrected erro ...:  1 Time(s)
    [Hardware Error]: Error Addr: 0x ...:  1 Time(s)
    [Hardware Error]: IPID: 0x000000 ...:  1 Time(s)
    [Hardware Error]: Unified Memory ...:  1 Time(s)
    [Hardware Error]: cache level: L ...:  1 Time(s)
    mce: [Hardware Error]: Machine check  ...:  1 Time(s)
 
 WARNING:  Kernel EDAC Messages
    EDAC MC0: 1 CE Cannot decode normalized address on mc#0csrow#1channel#0 (csrow:1 channel:0 page:0x0 offset:0x0 grain:64 syndrome:0x4) ...:  1 Time(s)
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
Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.851839] [Hardware Error]: Corrected error, no action required.

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.851965] [Hardware Error]: CPU:0 (17:71:0) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|-]: 0x9c2040000000011b

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.852147] [Hardware Error]: Error Addr: 0x000000045d982340

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.852271] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xcf8600040a800a01

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.852434] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0, DRAM ECC error.

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.851839] [Hardware Error]: Corrected error, no action required.

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.851965] [Hardware Error]: CPU:0 (17:71:0) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|-]: 0x9c2040000000011b

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.852147] [Hardware Error]: Error Addr: 0x000000045d982340

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.852271] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xcf8600040a800a01

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.852434] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0, DRAM ECC error.

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.852790] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD

Message from syslogd@mx10 at May 16 11:46:58 ...
 kernel:[153472.852790] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Page
Info-Page

Links

Weblinks

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