ECC-Speicher, auch bekannt als Fehlerkorrekturcode-Speicher, hat die Fähigkeit, Fehler in Daten zu erkennen und zu korrigieren. Es wird häufig in High-End-Desktop-Computern, Servern und Workstations verwendet, um die Systemstabilität und -sicherheit zu verbessern.
Speicher ist ein elektronisches Gerät und bei seinem Betrieb können Fehler auftreten. Für Benutzer mit hohen Stabilitätsanforderungen können Speicherfehler zu kritischen Problemen führen. Speicherfehler können in zwei Typen eingeteilt werden: harte Fehler und weiche Fehler. Harte Fehler werden durch Hardwareschäden oder -defekte verursacht und die Daten sind durchweg falsch. Diese Fehler können nicht korrigiert werden. Andererseits treten Soft Errors aufgrund von Faktoren wie elektronischen Störungen in der Nähe des Speichers zufällig auf und können korrigiert werden.
Um weiche Speicherfehler zu erkennen und zu korrigieren, wurde das Konzept der Speicher-„Paritätsprüfung“ eingeführt. Die kleinste Einheit im Speicher ist ein Bit, dargestellt durch 1 oder 0. Acht aufeinanderfolgende Bits bilden ein Byte. Speicher ohne Paritätsprüfung verfügt nur über 8 Bit pro Byte. Wenn ein Bit einen falschen Wert speichert, kann dies zu fehlerhaften Daten und Anwendungsfehlern führen. Bei der Paritätsprüfung wird jedem Byte ein zusätzliches Bit als Fehlerprüfbit hinzugefügt. Nach dem Speichern von Daten in einem Byte haben die acht Bits ein festes Muster. Wenn die Bits beispielsweise Daten als 1, 1, 1, 0, 0, 1, 0, 1 speichern, ist die Summe dieser Bits ungerade (1+1+1+0+0+1+0+1=5). ). Für gerade Parität ist das Paritätsbit als 1 definiert; andernfalls ist es 0. Wenn die CPU die gespeicherten Daten liest, addiert sie die ersten 8 Bits und vergleicht das Ergebnis mit dem Paritätsbit. Dieser Prozess kann Speicherfehler erkennen, die Paritätsprüfung kann sie jedoch nicht korrigieren. Darüber hinaus kann die Paritätsprüfung keine Doppelbitfehler erkennen, obwohl die Wahrscheinlichkeit von Doppelbitfehlern gering ist.
Der ECC-Speicher (Error Checking and Correcting) hingegen speichert neben den Datenbits einen verschlüsselten Code. Beim Schreiben von Daten in den Speicher wird der entsprechende ECC-Code gespeichert. Beim Zurücklesen der gespeicherten Daten wird der gespeicherte ECC-Code mit dem neu generierten ECC-Code verglichen. Wenn sie nicht übereinstimmen, werden die Codes dekodiert, um das falsche Bit in den Daten zu identifizieren. Das fehlerhafte Bit wird dann verworfen und der Speichercontroller gibt die richtigen Daten frei. Korrigierte Daten werden selten in den Speicher zurückgeschrieben. Werden die gleichen fehlerhaften Daten erneut gelesen, wird der Korrekturvorgang wiederholt. Das Neuschreiben von Daten kann einen Mehraufwand verursachen und zu einem spürbaren Leistungsabfall führen. ECC-Speicher ist jedoch für Server und ähnliche Anwendungen von entscheidender Bedeutung, da er Fehlerkorrekturfunktionen bietet. ECC-Speicher ist aufgrund seiner zusätzlichen Funktionen teurer als normaler Speicher.
Die Verwendung von ECC-Speicher kann erhebliche Auswirkungen auf die Systemleistung haben. Auch wenn dadurch die Gesamtleistung beeinträchtigt werden kann, ist eine Fehlerkorrektur für kritische Anwendungen und Server unerlässlich. Daher ist ECC-Speicher eine häufige Wahl in Umgebungen, in denen Datenintegrität und Systemstabilität von größter Bedeutung sind.
Zeitpunkt der Veröffentlichung: 19. Juli 2023