Wozu braucht ihr so dringend ECC Support wenn ich fragen darf?
Dringend brauchen tut man es nicht, es ist nur um Problem zu vermeiden. Der einzige Nachteil ist, dass es eben mehr kostet, man braucht immer 9 statt 8 RAM Chips und natürlich muss die Plattform auch ECC RAM Unterstützen. Aber RAM Fehler kommen vor und schon die der erste originale IBM PC hatte 9 Bit breites RAM mit Parity Check RAM Fehler zu erkennen, korrigieren konnte man sie damit freilich noch nicht.
Und wie bemerkt man als normal User Rechenfehler?
Durch Fehlverhalten und Abstürze von Programme oder dem OS und korrupte Daten. Wenn Dein Rechner abstürzt, weiß Du eben nie genau was die Ursache war, es steht nie RAM Fehler dabei, denn ohne ECC können diese gar nie erkannt werden. Es wurde eben A irgendwo ins RAM geschrieben und später B gelesen, dann weiß man das System nicht, dass es A hätte auslesen müssen, außer wenn es eben ECC RAM hat (und die entsprechende Plattform die es auch unterstützt, ist hängen die zusätzlichen Bits nutzlos in der Luft).
Steht an der Speicherstellen nun nur eine Datei, so ist diese halt korrupt und bei vielen Dateien wird das vielen Usern niemals auffallen, bei Archiven wie rar, zip oder 7z noch am wahrscheinlichsten weil die Programme die Archive mit Prüfsummen versehen oder wenn ein Programm eben eine Datei einfach nicht mehr laden will. Stehen dort Metadaten des Filesystems, kann es unangenehmer sein und dann ist eine Platte im schlimmsten Fall plötzlich RAW. Stehen dort Befehle oder Sprungadressen eines Programms, hängt es sich auf oder stürzt ab und war das Programm ein wichtiger Teil von Windows wie ein Treiber, ist ein BSOD wahrscheinlich die Folge.
Man muss zwischen zwei Arten von RAM Fehlern unterscheiden, den soft-errors die spontan auftreten, meist durch Strahlung aller Art verursacht kippt einfach ein Bit und den hard-errors, die auf Fehler im RAM zurückzuführen sind, da kippt dann ein Bit z.B. aufgrund bestimmter Bitmuster der Nachbarbits. Die einzige Möglichkeit ohne ECC RAM wenigstens die hard-errors zu finden sind RAM Tests mit
Memtest86 oder
Memtest86+, die schreiben bestimmte Bitmuster ins RAM und lesen es danach recht kurze danach wieder aus, wissen also was sie auslesen müssen und dann ob die korrekten Bitmuster gelesen wurden, nur ist die Zeit zwischen schreiben und lesen eben kurz und damit Wahrscheinlichkeit das in der kurzen Zeit ein Bit kippt eben auch entsprechend gering.
ECC RAM ist vor allem dann besonders wichtig, wenn große Datenmengen lange Zeit im RAM stehen oder Ergebnisse wirklich zuverlässig sein müssen. Die einfach HW für Heimanwender soll nur billig sein und es reicht, wenn sie meistens bei den meisten problemlos läuft. Wenn es mal einen Fehler gibt, dann muss der Heimanwender eben das Programm oder den Rechner neu starten, hat vielleicht eine Datei oder gar sein Filesystem verloren und muss sie aus dem Backup wiederherstellen oder eben Windows neu installieren. Das passiert dann meist unter Flüchen auf den Mist von Microsoft, auch wenn die vielleicht gar nichts dafür können.
Wären RAM Fehler so häufig, dass der normale Heimanwender damit nicht mehr leben könnte, hätte jedes System auch schon ECC RAM, so ist es eben für Leute die an die Stabilität ihres System und die Sicherheit ihrer Daten größere Ansprüche stellen als die Masse der Heimanwender und als demzufolge die gewöhnliche Desktop-HW befriedigen kann. Schon bei Workstation-HW wird man in aller Regel ECC RAM vor und bei Servern ist es praktisch Pflicht, selbst so ein
HP ProLiant MicroServer Gen8, Celeron G1610T, 4GB RAM (819185-421) ab € 178,91 kommt mit 4GB ECC RAM daher.
Also wirklich brauchen im Sinne von, ohne startet das Programm nichts, braucht wohl kein Programm ECC RAM. Das Brauchen kommt von den Ansprüchen des Anwenders und ob der mit dem Fehlerrisiko leben kann oder nicht und dann gibt es auch noch unterschiedlich aufwendige Lösungen beim ECC RAM um auch noch die Restwahrscheinlichkeit von unkorrigierbaren Fehlern zu senken, die einfachsten Lösungen könne heute nur Singlebitfehler korrigieren und Multibit Fehler erkennen, aber damit erschlägt man schon mal den Großteil der Fehler und wenn man dann noch durch das Board oder das OS ein Protokoll der erkannten Fehler hat, kann man bei zu vielen Fehlern auch reagieren und einen ggf. defekten oder defekt gewordenen RAM Riegel auch tauschen. RAM altert ja auch, was mal fehlerfrei lief, muss dies nicht auf ewig weiter fehlerfrei laufen.