Ich habe zwei (!) Mal kaputtes RAM gehabt, was zu seltenen Crashes und
nicht stimmten, war der Fall klar, aber memtest hat trotzdem noch 18 Stunden gebraucht, um mir Fehler zu zeigen. Sowas wollte ich nie wieder,
es wirklich funktioniert, und das Mapping der RAM-Sockel auf die Vorstellungen meines Betriebssystems, hab ich ausprobiert, indem ich mit einem an 0 Volt angeschlossenen Widerstand am Speicher rumgeprokelt habe
-> haufenweise Fehler angezeigt / korrigiert.
Im Betrieb hab ich in den letzten 5? Jahren dann nur einen Fehler geloggt.
Hanno
PS. de.rec.fotografie? Ich leite mal zu de.sci.el um...
Didn't find your answer? Ask the community — no account required.
G
Gerrit Heitsch
Speicher OK ist. Ohne ECC kannst du es nur hoffen. Ausserdem bekommst du es mit wenn der Speicher ein Problem entwickelt. Ohne ECC kann es bis du es merkst schon eine Menge Daten geschreddert haben.
Gerrit
M
Marcel Mueller
Ack.
Schlicht deshalb, weil die mit nahezu 100% postwendend wieder auf dem Tisch liegen. Das ist bei non-ECC leider anders. Rechner laufen mit defekten Speichern
zuweilen der letzte RAMsch verkauft.
Marcel
G
Gerrit Heitsch
Das auch... die Wahrscheinlichkeit RAMsch zu bekommen ist ziemlich klein, man weiss es ja sofort. :)
um sauber zu funktionieren. War bei DDR2 ziemlich schlimm.
Gerrit
P
Patrick Schaefer
Am 11.10.2017 08:44 schrieb Matthias Weingart:
So ist es. Ich kann mich an einen Artikel aus den '80ern erinnern, in
weniger als einen Bitkipper pro Tag zu haben.
IBM hat das zum Anlass genommen, um seinem PC (mit 64kB) und PC/XT (mit
256kbit-Chipgeneration in den Griff bekommen.
Patrick
M
Marcel Mueller
Hinreichend ist das indes nichts.
Praktisch kaufe ich nur noch KVR. Das kostet nur unwesentlich mehr und hat Lifetime Warranty.
Marcel
R
Rolf Bombach
Matthias Weingart schrieb:
heute kosmische Strahlung zu sein.
formatting link
mfg Rolf Bombach
G
Gerhard Hoffmann
Am 11.10.2017 um 15:09 schrieb Hanno Foest:
Man hat dann irgendwelche organische Pampe auf den Chip gepackt
Gegen die schnellen in der kosmischen Strahlung hilft auch daumendickes Blei nix.
und ob das auch passiert? Teststrukturen einbauen verHeisenbugt die Schaltung. (Observing it affects the outcome)
nochmal. Da sind schnell ein paar Takte vergangen bis die Daten
kennengelernt, der hatte Siemens-64K-Rams in seiner Z80-Konstruktion und das lief alles nicht stabil. Nur das Speichertestprogramm, das dann aber beliebig lange. Ja, die Rams brauchten 8-Bit-Refreshadressen
das geschickt verdeckt. Auch ein Heisenbug.
Das Konfigurationsram des FPGAs kann man nicht korrigieren, das
wieder auszulesen, aber die Daten enthalten auch don't-care-Stellen
Bits zu betrachten. Wo soll man das nun wieder strahlungsfest aufheben? Da ist es einfacher, jede Minute das RAM aus einem strahlungsfesten ROM einfach nachzuladen.
Das geht im Prinzip wie das Booten des FPGAs aus dem ROM, man muss nur rechtzeitig den Ladetakt stoppen, bevor das FPGA sein globales
Zustand der Benutzer-Schaltung futsch. Wenn man alles richtig
transparent. Man nennt den Vorgang Scrubben.
als 16-Bit-Ram zu benutzen. Das ist in Wirklichkeit ein kleines Fenster ins Konfigurationsram. Man ahnt schon, was passiert, wenn man das Konfigurationsram alle Minuten in seinen Grund-
Meine Software-Kollegin hat sich beschwert, dass ihre Register
lange genug in Ruhe gelassen hat.(die Register).
er nur D-Flipflops benutzt hat. Das war eigentlich recht simpel. Nebenbei hat es bewiesen, dass das Nachladen funktioniert. 1/2 :-)
Die Nachladelogik ist im Benutzerland von genau dem FPGA, das
vergammeln.
Jedes FlipFlop, jedes Gatter. Alles ist streng synchron. In jedem Takt werden die 3 FlipFlops miteinander verglichen. Wenn eins abweicht, wird es als falsch angesehen und statt dessen
dann wieder in Ordnung.
Dem FPGA-Compiler ist das alles ein Graus. Er stellt umgehend fest, dass er 2/3 der Logik einsparen kann und dass trotzdem das gleiche rauskommt. Das ist ihm erstaunlich schwer abzu-
True und False. Die wurden ausserhalb des Chips fest mit 0 oder
3.3V verbunden. Das hat man dem Compiler aber nicht verraten. Optimierungsversuche liefen deshalb ins Leere.
wie standard_logic / sl_vector aussieht und die Verdreifachung
als Kriegswaffe und darf nicht aus den USA exportiert werden.
Ja, genau.
Ich glaube nicht, dass einer der China-Hersteller seinen Krempel jemals zu einem Beschleuniger geschleppt hat.
Da kaufe ich lieber ordentlichen Speicher und verzichte auf hochgeschraubtes Timing. Mit einem Crash alle 5 Jahre kann ich leben.
G
Gerrit Heitsch
Auch bei teuren tut man das nur, wenn man muss, weil z.B. sonst die
eingegossen. Ok, am Anfang gab es da Probleme mit, aber das ist lange her.
Macht aber nichts weil typischerweise zuerst Einzel- oder Zweibitfehler
Heutiges ECC findet direkt im DRAM-Controller statt, da ist nichts mehr
hat rausgehen.
Nein, das war kein Heisenbug, das war jemand der vergessen hat
darf als bekannt vorausgesetzt werden.
Testprogramm das korrekt tut, also genug Zeit ohne Zugriffe verstreichen lassen, damit sich fehlender Refresh bemerkbar macht. Kann man auch
Kann bei SRAM passieren.
Woher weisst du das der Speicher ordentlich ist? Auch beim besten
Stunden brauchte bevor er mit memtest einen Fehler bekam. Eigentlich
Du weisst aber nicht was in der Zeit alles an Bitkippern passiert ist
genommen kaputt sind. Das ist das Problem ohne ECC, du weisst nicht ob dein RAM OK ist, du kannst es nur hoffen.
und drastische Auswirkungen haben.
deiner CPU benutzt ECC (beim P2/Celeron konnte man das noch im BIOS
TCP-Paket geht ohne Checksumme auf die Reise... Aber beim RAM soll man
Gerrit
H
Hanno Foest
Am 12.10.2017 um 21:49 schrieb Gerhard Hoffmann:
Ich hatte das beschrieben, weiter unten steht noch das Originalzitat.
Auswertung/Korrektur passiert in dem Chip, der den Speicher verwaltet, also heutzutage direkt die CPU. Wenn du jetzt also irgendwie am Datenbus
viele) falsche Bits gibt, dann sollte sich bei geeigneter Konfiguraton
reichen... mal ausprobieren :)
das nicht gut (tm). Wie und warum die Bits genau falsch sind, kann mir
instantan ab, mit ECC nicht, aber er beschwert sich. Das entspricht der Theorie und insofern kann der konkrete Aufbau schon mal nicht so ganz falsch sein.
Altbekanntes Problem... die Speicher mit 8-Bit-Refresh gab es dann billiger :)
[...]
Kobaltquelle? Linearbeschleuniger? :)
Wie beschrieben - meiner Meinung nach nicht notwendig. Bitfehler ist Bitfehler.
Daten/Code) eher deine Daten versauen als denen Rechner crashen, so war
immer noch nicht, ob es an der Hardware oder Software liegt. Ob und wann
mit der Zeit Fehler entwickelt, so war es ja auch bei mir.
kaputtgeht.
Hanno
G
Gerhard Hoffmann
Am 13.10.2017 um 15:40 schrieb Hanno Foest:
Modelsim. Da kann man nach Herzenslust Fehler in die Userschaltung injizieren. Es ist schon lustig zu sehen, wenn man bei einem 32-Bit-
Und single points of failure gibt es immer noch genug. Die Reset/ PowerUp-Logik des FPGAs z.B. ist Hardware, und man kommt nicht dran. Aber gegen die Millionen Konfigurationsbits im RAM ist das ein Klacks.
Das Power supply ist z.B. ein single point of failure. Und so ein Reglerchip ist auch nicht immun. Aus dem Datenblatt eines Radiation Hardened Exemplars: <
formatting link
>
Aber irgendwo ist Schluss.
Auf der ISS wohnen letztlich Leute, soo schlimm ist es dort noch nicht.
Ich habe aber z.B. einen schnellen JFET-OpAmp nicht bekommen, weil niemand die Strahlungstests machen & dokumentieren wollte. Da musste
Die meisten Speicherzugriffe sind Code, weil jeder Befehl seinen Opcode braucht, aber bei weitem nicht jeder Befehl greift auf Daten im Speicher zu. Hat der Cache, der 99% aller Zugriffe abwickelt auch ECC?
Mit meinen Rechnern bin ich sehr zufrieden.
H
Hanno Foest
Am 13.10.2017 um 17:07 schrieb Gerhard Hoffmann:
Katze." - Norbert Wiener)
den laufenden Rechner mit Blitzlicht zu fotografieren :)
Irrelevant. Bei Von-Neumann-Architektur liegen Daten und Code im
Speicherzellen die gleiche Wahrscheinlichkeit, durch ionisierende Strahlung einen mitzubekommen. Wenn mehr Daten als Code im Speicher sind, trifft ein solches Ereignis entsprechend eher Daten als Code. Ob, wann und wie oft man die Daten dann abholt ist erst mal egal.
Ja. Oder zumindest Parity - falls man sich im Fehlerfall die Daten aus dem Hauptspeicher einfach noch mal neu holen kann.
Hanno
R
Rolf Bombach
Gerhard Hoffmann schrieb:
Das meinte man anfangs. Mittlerweile ist klar, dass die Neutronen das Problem darstellen. Und da hilft Blei so wenig wie Alu, ausser
Wenn es sein muss, ja. Passiert im Bergwerk weniger? Auf dem Jungfraujoch mehr? Ansonsten: Beschleuniger.
einzelnen Teilchentreffer kaputt gehen, GTOs etwa.
formatting link
mfg Rolf Bombach
H
Hans-Peter Diettrich
Am 13.10.2017 um 15:40 schrieb Hanno Foest:
ACK
Das macht meist eine MMU bzw. Bridge-Chips, nicht die CPU.
DoDi
G
Gerhard Hoffmann
Designer falsch gemacht hat ist auch egal. Aber wenn das
genau die Heisenbug-Definition.
Ladenschalter von Distron in Berlin..
Nein, kann bei SRAMs nicht passieren, es sei denn, sie sind kaputt. Das zyklische Nachladen des Konfigurationsspeichers hat die Raminhalte
G
Gerhard Hoffmann
Am 13.10.2017 um 18:26 schrieb Hanno Foest:
war aber wohlweislich abschaltbar.
I5, I7 haben keinen ECC-Support, da muss man schon mal in einen Xeon investieren.
Wenn du eine ECC-Korrektur in 5 Jahren hattest, da muss ich ja unwissentlich durch Millionen von kaputten Exelfiles waten!
H
Hanno Foest
Am 14.10.2017 um 00:57 schrieb Gerhard Hoffmann:
Da solltest du vielleicht besser noch mal googeln.
formatting link
immer an.
Angeboten abgrenzen wollte.
Noch mal explizit: Ich hatte eine ECC-Korrektur in 5 Jahren bei ECC-RAM. Vorher hatte ich allerdings zweimal defektes nicht-ECC-RAM, das bei
angedreht wurde.
empfehle ich
formatting link
Hanno
H
Hanno Foest
Am 14.10.2017 um 00:03 schrieb Hans-Peter Diettrich:
Das ist veraltet. AMD hat seit der AMD64-Architektur (also 2003) integrierte Speichercontroller, Intel zieht langsam nach - jedenfalls gibt es i3 und i7 mit integriertem Speichercontroller. AMD64 hat immer
man bei den Prozen, die trotz integriertem Speichercontroller kein ECC
nicht. Klingt aber eher unsinnig.
Billig-Board nicht.
Hanno
M
Michael Schwingen
L1/L2-Cache ECC.
cu Michael
G
Gerrit Heitsch
direkt an Pins der CPU. Auf dem Die findet man dann CPU(s), MMU, DRAM-Controller, Businterface...
Die Zeiten in denen sowas in der Bridge integriert war sind lange vorbei.
2001, deren Datenbus zum RAM ist 288 Bit breit. Es werden immer 4 DIMMs mit 72Bit parallel angesprochen. Da wird wirklich alles per ECC abgesichert.
ohne gabs zuletzt bei INTeL mit dem 440BX. Etwas hirntotes Design.
Gerrit
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.