ECC-Speicher: Eigenschaften und Funktionsweise dieses RAM

ECC-Speicher

Sicherlich haben Sie schon einmal das Konzept des ECC-Speichers gelesen oder gehört, insbesondere wenn es um Server-Prozessoren geht, bei denen diese Art von Speicher verwendet wird. Aber wie unterscheiden sie sich von denen, die traditionell in Computern verwendet werden? Können sie auf einem Desktop-PC oder einem Laptop installiert werden? Was bedeutet die Abkürzung ECC? Wir erklären es Ihnen.

In der Welt der Server ist eine Art von RAM Neben dem sogenannten registrierten Speicher, der in Form von RDIMM-Modulen präsentiert wird, wird Speicher verwendet, der normalerweise von der Abkürzung ECC begleitet wird. In diesem Artikel werden wir daher nicht die Hardware beschreiben, die Sie normalerweise in einem PC finden, es sei denn, Sie haben eine Workstation mit einem CPU vom Typ HEDT oder Sie arbeiten täglich mit Servern.

Was ist Registered RAM oder RDIMM?

RDIMM Memoria registrada

Registrierte RAM-Speicher unterscheiden sich von herkömmlichen aufgrund der Besonderheit, dass sie ein Register haben, das sich zwischen dem Speichermodul, in diesem Fall RDIMM genannt, und der Systemspeichersteuerung befindet. Dieses Register ist ein Speicher, der die folgenden Informationen speichert:

  • Speicheradressen für den Zugriff.
  • Befehle (lesen, schreiben oder kopieren)
  • Taktrate, mit der es mit dem RAM kommuniziert

Es unterscheidet sich in seiner Funktionsweise von herkömmlichen DIMMs dadurch, dass die Daten zwar über die klassischen Pins zur Datenkommunikation gesendet werden, die Befehle, die den Zugriff auf den Speicher ermöglichen, jedoch über dieses Register ausgeführt werden. Dies geschieht, um eine größere Signalintegrität zu erreichen und die elektrische Belastung des Speichercontrollers zu verringern, wobei einer der daraus abgeleiteten Vorteile die Fähigkeit ist, mehr Speichermodule im System zu unterstützen.

RDIMM-Module sind jedoch langsamer in der Verwendung als herkömmliche Module, da eine zusätzliche Stufe für den Zugriff auf die Registrierung hinzugefügt wird, was zu einer viel geringeren Bandbreite und einer viel höheren Latenz bei RDIMMs führt. Die in PCs verwendeten DIMM-Module sind jedoch für den Einsatz in Desktop-PCs gedacht, bei denen in der Regel nicht mehr als zwei Zugriffskanäle vorhanden sind, wie dies bei Workstations der Fall ist, die auf HEDT-CPUs und auch Servern basieren.

Was ist ECC im RAM?

Intel Xeon

Wir müssen berücksichtigen, dass RAM, ein flüchtiger Speicher, auf Strom angewiesen ist, um die darin gespeicherten Daten zu erhalten, und dies macht ihn anfällig für Verluste. Vor allem wenn wir bedenken, dass die, die wir in unseren PCs verwenden, vom Typ DRAM sind und daher von Zeit zu Zeit eine Auffrischung der Last benötigen, führt dies dazu, dass sie anfällig für magnetische und elektrische Störungen sind.

Normalerweise ändern sich die Bits jeder Zelle in einem RAM-Speicher normalerweise nicht, da zwischen den beiden Werten ein ausreichend großer Spannungsabstand besteht, so dass kein Sprung von einem Wert zum anderen auftritt Differenzspannung und hier sind Fehlerkorrekturverfahren oder ECC erforderlich, um die Informationen zu erhalten.

Aber um eine Vorstellung zu bekommen, nehmen wir einen einfachen Wert in binärer Form, 011101011, der dezimal der Zahl 235 entspricht.

  • Wenn sich das erste Bit ändert, 111101011, wird der Wert 491.
  • Wenn sich das zweite Bit ändert, 001101011, wird der Wert 107.
  • Eine Änderung des dritten Bits macht den Wert 011001011 und damit 203.

Wie Sie sehen, kann eine einfache Änderung der Werte des RAM den Wert von Daten in einer Speicheradresse ändern und wir müssen berücksichtigen, dass sie nicht nur Daten, sondern auch Anweisungen speichern und wenn wir an Server denken, die wir haben Denken Sie daran, dass diese so konzipiert sind, dass sie 24 Stunden am Tag und 7 Tage die Woche, also dauerhaft, arbeiten. Es muss berücksichtigt werden, dass der DRAM nicht stabil bleiben wird, so dass mit der Zeit die Fehler darin wachsen, die zu einem allgemeinen Absturz des Systems führen können.

Hammings Code

Código Hamming ECC

Das zum Korrigieren der Fehler im ECC-Speichersignal verwendete Verfahren wird als Hamming-Code bezeichnet. Dies ist kein Algorithmus, der von der CPU ausgeführt wird, sondern wird im Speichercontroller selbst ausgeführt, der sich im Prozessor befindet. mit Unterstützung für diese Art von RAM. Der Name geht auf den amerikanischen Mathematiker Richard W. Hamming zurück, der es entwickelt hat.

Wie funktioniert es? Die Idee des Hamming-Codes besteht darin, Redundanzbits zur Fehlerkorrektur hinzuzufügen, indem der Wert der Paritätsbits verglichen wird. Dazu werden die Bits von links nach rechts gezählt und nummeriert, nicht nach dem Wert, den sie speichern, sondern ihre Position wird berücksichtigt.

Die Bits, deren Position einer Potenz von 2 (1, 2, 4, 8…) entspricht, werden als Paritätsbits gekennzeichnet, während die restlichen Bits als reine Datenbits gekennzeichnet sind. Die Paritätsbits werden am Ende der Bitfolge verdoppelt, deshalb werden sie wegen ihrer Wiederholung auch Redundanzbits genannt. Um die Integrität der Daten zu überprüfen, werden sie miteinander verglichen, um die Integrität des im Speicher gespeicherten Signals zu überprüfen.

Code Hamming Bits paridad

Wenn die Operation ein Speicherschreibvorgang ist:

  • Die CPU sendet die Informationen an den Speichercontroller, wo sie ihr mitteilt, welche Speicheradresse sie ändern möchte und welche Daten sie schreiben möchte.
  • Der Controller generiert den ECC-Code und sendet ihn an den Speicher.
  • Die Daten werden im Speicher abgelegt.

Andererseits, wenn es aus dem Speicher gelesen wird.

  • Die CPU stellt eine Anforderung an eine Speicheradresse an die Steuerung, die die Anforderung an den RAM stellt.
  • Der Controller führt den Hamming-Code aus, um die Prüfung durchzuführen, wenn die Daten korrekt sind, werden sie an die CPU zurückgesendet, wenn sie nicht korrekt sind, wird der Fehlerkorrekturprozess automatisch durchgeführt.

RAM-Module mit ECC

RAM ECC y nein ECC

ECC-Speichermodule haben trotz gleicher Speicherkapazität mehr Speicherchips, da ein Teil der Bits zur Fehlerkorrektur verwendet wird. Dabei ist zu beachten, dass im ECC-Speicher nicht in jedem Byte die Parität ausgeführt wird. Was Sie tun, ist, Blöcke von 9 Bits pro Byte zu verwenden, sodass Sie am Ende 64 Bits zum Speichern von Daten und 8 als Paritätsbits haben.

Dies bedeutet auch, dass der Speichercontroller im Prozessor, der im RAM kommuniziert, in der Lage sein muss, den Hamming-Code zu generieren des Speichers erfordert nicht nur spezielle Speichercontroller, sondern auch spezielle Motherboards, die diese Art von Speicher unterstützen. Da ein Heim-PC nicht ständig eingeschaltet ist und regelmäßig neu gestartet wird, wird kein ECC-Speicher verwendet

Damit kommen wir zum letzten Teil des Artikels, den RDIMMs mit ECC, die offensichtlich die Eigenschaften der beiden RAM-Typen und damit alle ihre Vor- und Nachteile vereinen. Da alle RDIMM-Speicher für Server und HEDT bestimmt sind und dieser Markt den Fehlerkorrekturcode erfordert, gibt es bis heute kein einziges RDIMM-Speichermodul, das nicht ECC ist.