ECC DRAM hilft, Bit-Flips (z. B. verursacht durch kosmische Strahlung usw.) zu vermeiden, die sonst unentdeckt bleiben würden. Das ist großartig und ich wollte sofort etwas davon bestellen, um mein Nicht-ECC zu ersetzen. Aber ...
... mir scheint, dass das nicht so einfach ist, ich bräuchte nämlich eine Platine + CPU, die das unterstützt, oder?
Wenn ja, frage ich mich, warum. Die (n-stufige) Paritätsbitprüfung würde mehr Speicher erfordern, als effektiv auf einem Speichermodul verwendet werden kann (für die Redudanz, die die ECC-Prüfungen ermöglicht), dennoch könnte man meinen, dass das Modul, das über alle Informationen verfügt, die ECC-Fehlerkorrektur selbst durchführen könnte?
Welche Rolle würde die CPU dabei spielen?
- Wenn der Fehler korrigierbar ist, sollte er doch transparent vom Modul korrigiert werden, oder?
- Nur wenn der Fehler erkannt, aber nicht behoben werden kann, sehe ich einen Grund, mit der CPU zu interagieren, um zu kennzeichnen/informieren/festzustellen, dass ein Fehler aufgetreten ist.
Antwort1
Dennoch könnte man meinen, dass das Modul, da es über alle Informationen verfügt, die ECC-Fehlerkorrektur selbst durchführen könnte?
Theoretisch könnte es das.
Welche Rolle würde die CPU dabei spielen?
Für den CPU-Kern selbst: Keiner.
Dies geschieht jedoch normalerweise auf dem Speichercontroller, und bei modernen CPUs ist der Speichercontroller Teil des CPU-Chips. Aus praktischen Gründen benötigen Sie jetzt also eine ECC-fähige CPU.
Nur wenn der Fehler erkannt, aber nicht behoben werden kann, sehe ich einen Grund, mit der CPU zu interagieren, um zu kennzeichnen/informieren/festzustellen, dass ein Fehler aufgetreten ist.
Das passiert tatsächlich. Es wirft eineMCEwenn es nicht korrigierbare Lesefehler erkennt.