Menü
Avatar von tjp
  • tjp

mehr als 1000 Beiträge seit 15.05.2000

Re: Für was braucht man ECC?

Browny_amiga schrieb am 03.03.2016 04:31:

Da hast du aber ein anderes Problem, wenn du Datenkorruption hast. Files haben eh einen CRC, da merkt das System, wenn was spuckt und transferiert einen Chunk nochmals.

Nein, genau das funktioniert nicht. Denn nicht die Daten auf dem Massenspeicher gehen kaputt (ok, das kann auch passieren -> bit rot) sondern die Daten im RAM, und erst beim Schreiben auf den Massenspeicher wird der CRC generiert. Da stimmt natürlich der CRC, weil er für die falschen Daten neu berechnet wurde. Analog verhält sich das bei der Übertragung zwischen zwei Computern. CRCs ersetzen kein ECC RAM. ECC ist sozusagen das CRC fürs RAM.

Ich sah bisher nie den Sinn von ECC Ram, hatte noch nie einen Ram Fehler,

Falsch, Du hast noch nie einen Fehler erkannt! Das ist etwas anderes. Ohne ECC ist es nicht möglich zu erkennen, ob es überhaupt zu einem Bitflip im Speicher kam.

Falls das so ist, müsste das Programm ja abstürzen und Daten müssten korrupt werden, was normales Arbeiten mit einem System unmöglich machen wird (ich arbeite mit Blender 3D, baue ein komplexes Model / Szene und dann schreibe ich es auf die Platte. Nur in dem hypothetischen Fall gibt es einen RAM Fehler und die Daten gehen kaputt, werden dann so auf die Platte geschrieben und beim nächsten Mal lesen sagt Blender dass das File-Formatkaputt ist, korrupt und verloren.

Inkorrekt, die CRC Summen stimmen natürlich, weil beim Schreiben der korrumpierten Daten sie neu berechnet wurden. Die CRCs helfen nur gegen Veränderung der Daten auf dem Massenspeicher -> bit rot, das ist ein anderes Problem. So ein Fehler fällt nur dann auf, wenn es ausgerechnet Daten erwischt wodurch die Daten unleserlich werden und der Parser beim Einlesen der Daten sie nicht mehr interpretieren kann. Z.B. kann es sein, daß die Position eines Objektes nicht mehr 100% stimmt, weil es dazu Veränderungen kam. Der Parser frißt das anstandslos weil die Struktur nicht falsch ist, sondern nur ein Wert. Zu Programmabstürzen kommt es auch nur, wenn es wirklich wichtige Strukturen im Programm erwischt. Rein von der Statistik ist das eher unwahrscheinlich, aber es kommt vor.

Allerdings dürfte die große Masse an Daten bei Dir einfach Bilder/Videos sein, und da werden einzelne Veränderte Bits in der Regel überhaupt nicht erkannt, weil man das mit dem bloßen Auge nicht sehen kann.

Ich habe bisher auch alle meine Server immer aus PC Hardware zusammengebaut, ohne spezielles RAM. Und normalerweise müsste man ja Fehler im RAM mit dem RAM test sehen, den einfach 10 h laufen lassen, wenn Fehler auftreten, dann geht das RAM als defekt an den Hersteller zurück.

Nein, die RAM Testprogramme schreiben und lesen Daten sehr schnell hintereinander auf den Speicher, damit kann man defektes RAM aufspüren, aber damit lassen sich eben keine Bitflips durch Strahlung aufspüren. Man müßte dazu das RAM mit einem Bitmuster beschreiben und es regelmäßig wieder auslesen. Wenn man lange genug wartet kann man die Bitflips sehen. Das machen die RAM Testprogramme aber nicht.

Bewerten
- +
Anzeige