Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.sci.electronics > #233429 > unrolled thread
| Started by | v_borchert@despammed.com (Volker Borchert) |
|---|---|
| First post | 2017-10-10 18:39 +0000 |
| Last post | 2017-10-14 20:23 +0200 |
| Articles | 20 on this page of 37 — 12 participants |
Back to article view | Back to de.sci.electronics
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: ECC-RAM v_borchert@despammed.com (Volker Borchert) - 2017-10-10 18:39 +0000
Re: ECC-RAM Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-10-10 21:37 +0200
Re: ECC-RAM v_borchert@despammed.com (Volker Borchert) - 2017-10-10 20:26 +0000
Re: ECC-RAM Matthias Weingart <mwnews@pentax.boerde.de> - 2017-10-11 06:44 +0000
Re: ECC-RAM Patrick Schaefer <pa.schaefer@web.de> - 2017-10-11 22:13 +0200
Re: ECC-RAM Rolf Bombach <rolfnospambombach@invalid.invalid> - 2017-10-11 22:47 +0200
Re: ECC-RAM Gerhard Hoffmann <gerhard@hoffmann-hochfrequenz.de> - 2017-10-11 02:59 +0200
Re: ECC-RAM v_borchert@despammed.com (Volker Borchert) - 2017-10-11 03:15 +0000
Re: ECC-RAM Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-10-11 09:21 +0200
Re: ECC-RAM Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-10-11 13:14 +0200
Re: ECC-RAM Matthias Weingart <mwnews@pentax.boerde.de> - 2017-10-11 06:50 +0000
Re: ECC-RAM Hanno Foest <hurga-news2@tigress.com> - 2017-10-11 15:09 +0200
Re: ECC-RAM Gerhard Hoffmann <ghf@hoffmann-hochfrequenz.de> - 2017-10-12 21:49 +0200
Re: ECC-RAM Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-10-12 22:25 +0200
Re: ECC-RAM Gerhard Hoffmann <gerhard@hoffmann-hochfrequenz.de> - 2017-10-14 00:42 +0200
Re: ECC-RAM Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-10-14 18:54 +0200
Re: ECC-RAM Hanno Foest <hurga-news2@tigress.com> - 2017-10-13 15:40 +0200
Re: ECC-RAM Gerhard Hoffmann <ghf@hoffmann-hochfrequenz.de> - 2017-10-13 17:07 +0200
Re: ECC-RAM Hanno Foest <hurga-news2@tigress.com> - 2017-10-13 18:26 +0200
Re: ECC-RAM Gerhard Hoffmann <gerhard@hoffmann-hochfrequenz.de> - 2017-10-14 00:57 +0200
Re: ECC-RAM Hanno Foest <hurga-news2@tigress.com> - 2017-10-14 03:21 +0200
Re: ECC-RAM Michael Schwingen <news-1457978346@discworld.dascon.de> - 2017-10-14 17:19 +0000
Re: ECC-RAM Hanno Foest <hurga-news2@tigress.com> - 2017-10-14 21:46 +0200
Re: ECC-RAM Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-10-14 19:00 +0200
Re: ECC-RAM Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2017-10-14 00:03 +0200
Re: ECC-RAM Hanno Foest <hurga-news2@tigress.com> - 2017-10-14 03:37 +0200
Re: ECC-RAM Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-10-14 18:48 +0200
Re: ECC-RAM Rolf Bombach <rolfnospambombach@invalid.invalid> - 2017-10-13 22:24 +0200
Re: ECC-RAM Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-10-11 14:04 +0200
Re: ECC-RAM Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-10-11 18:15 +0200
Re: ECC-RAM Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-10-11 18:32 +0200
Re: ECC-RAM Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2017-10-11 19:00 +0200
Re: ECC-RAM Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-10-11 22:44 +0200
Re: ECC-RAM Michael Schwingen <news-1457978346@discworld.dascon.de> - 2017-10-14 11:16 +0000
Re: ECC-RAM Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-10-14 19:23 +0200
Re: ECC-RAM Michael Schwingen <news-1457978346@discworld.dascon.de> - 2017-10-14 18:14 +0000
Re: ECC-RAM usenet@teply.info (Florian E. Teply) - 2017-10-14 20:23 +0200
Page 1 of 2 [1] 2 Next page →
| From | v_borchert@despammed.com (Volker Borchert) |
|---|---|
| Date | 2017-10-10 18:39 +0000 |
| Subject | Re: ECC-RAM |
| Message-ID | <orj45g$fvv$1@Gaia.teknon.de> |
Michael Unger wrote: > On 2017-10-06 14:46, "Frank Möller" wrote: > > > [...] > > > > [...] Aber nein, > > ein RAM-Fehler kann _nicht_ "überall" stecken. Er steckt im RAM oder er > > existiert nicht. Ob er existiert, weißt Du halt nicht. Ich mit ECC _weiß_ > > es. > > So wie ich das vor langer Zeit mal mitbekommen hatte, kann man einen > _einzelnen_ Bit-Fehler korrigieren und einen _doppelten_ zuverlässig > erkennen; darüber hinaus waren keine Aussagen mehr möglich. Hat sich das > mittlerweile geändert? Kommt auf den Code an, Stichwort "Hamming-Distanz". Gängige Verfahren mit (n+2) Prüfbits für (2^n) Nutzbits haben eine solche von 4, d.h. beliebige zwei gültige Speicherworte unterscheiden sich an mindestens 4 Stellen. Bei zwei gekippten Bits kann man damit zwar noch erkennen, daß dies der Fall ist, aber nicht mehr, von welcher Seite man kam. Durch geeignete Prüfsummen erreicht man außerdem, daß jedes gültige Speicherwort mindestens zwei Nullen und mindestens zwei Einsen enthält und erkennt so außerdem "alles 0" oder "alles 1". Man nimmt dabei an, daß die Wahrscheinlichkeiten für mehrere Kipper in ein und demselben Wort mit steigendes Anzahl so klein werden, daß die bei mehr als hd/2 theoretisch möglichen Falscherkennungen "nicht" vorkommen. So wenigstens IIRC die Theorie. Siehe beispielsweise die Datenblätter zu den TTLs 74LS6xx von TI, da waren auch die Prüfsummenformeln genau beschrieben. Hat die eigentlich irgendjemand mal wirklich in der Hand gehabt oder waren sie Vaporware? Ich hoffe trotzdem, daß Avionik, Medizintechnik und Kernkraftwerke _kein_ ECC-DRAM verwenden sondern SRAM ;-) -- "I'm a doctor, not a mechanic." Dr Leonard McCoy <mccoy@ncc1701.starfleet.fed> "I'm a mechanic, not a doctor." Volker Borchert <v_borchert@despammed.com>
[toc] | [next] | [standalone]
| From | Gerrit Heitsch <gerrit@laosinh.s.bawue.de> |
|---|---|
| Date | 2017-10-10 21:37 +0200 |
| Message-ID | <orj7ip$ef5$1@news.bawue.net> |
| In reply to | #233429 |
On 10/10/2017 08:39 PM, Volker Borchert wrote: > Michael Unger wrote: >> On 2017-10-06 14:46, "Frank Möller" wrote: >> >>> [...] >>> >>> [...] Aber nein, >>> ein RAM-Fehler kann _nicht_ "überall" stecken. Er steckt im RAM oder er >>> existiert nicht. Ob er existiert, weißt Du halt nicht. Ich mit ECC _weiß_ >>> es. >> >> So wie ich das vor langer Zeit mal mitbekommen hatte, kann man einen >> _einzelnen_ Bit-Fehler korrigieren und einen _doppelten_ zuverlässig >> erkennen; darüber hinaus waren keine Aussagen mehr möglich. Hat sich das >> mittlerweile geändert? > > Kommt auf den Code an, Stichwort "Hamming-Distanz". Gängige Verfahren > mit (n+2) Prüfbits für (2^n) Nutzbits haben eine solche von 4, d.h. > beliebige zwei gültige Speicherworte unterscheiden sich an mindestens > 4 Stellen. Bei zwei gekippten Bits kann man damit zwar noch erkennen, > daß dies der Fall ist, aber nicht mehr, von welcher Seite man kam. > Durch geeignete Prüfsummen erreicht man außerdem, daß jedes gültige > Speicherwort mindestens zwei Nullen und mindestens zwei Einsen enthält > und erkennt so außerdem "alles 0" oder "alles 1". Es gibt auch ECC-Kodierungen die mehr können. Stichwort 'Chipkill'. Damit kannst du bis zu 4 defekte Bits erkennen und korrigieren und 8 zuverlässig erkennen. Diese Stufe braucht man allerdings eher selten, NASA z.B. > Man nimmt dabei an, daß die Wahrscheinlichkeiten für mehrere Kipper > in ein und demselben Wort mit steigendes Anzahl so klein werden, daß > die bei mehr als hd/2 theoretisch möglichen Falscherkennungen "nicht" > vorkommen. Bei 'Chipkill'-ECC wird davon ausgegangen, daß auch mal ein ganzer IC ausfallen kann und deshalb werden die ECC-Bits so verteilt, daß das System danach trotzdem noch funktioniert. Man könnte es als RAID5 fürs RAM bezeichnen. :) > So wenigstens IIRC die Theorie. Siehe beispielsweise die Datenblätter > zu den TTLs 74LS6xx von TI, da waren auch die Prüfsummenformeln genau > beschrieben. Hat die eigentlich irgendjemand mal wirklich in der Hand > gehabt oder waren sie Vaporware? Ich kenne nur den 74LS688, aber das ist ein reiner Vergleicher, er sagt dir ob an den beiden 8Bit-Inputs dasselbe Bitmuster anliegt. Den gab es, ich hab ihn verbaut gesehen. Ist von der Funktion her identisch zum 74F521. Typische Anwendung waren I/O-Karten bei denen man die Adresse per Software ändern konnte. So ziemlich jede Karte für den Amiga die dessen Autoconfig-Logik benutzte hatte einen 74LS688 oder 74F521 in der Schaltung. > Ich hoffe trotzdem, daß Avionik, Medizintechnik und Kernkraftwerke > _kein_ ECC-DRAM verwenden sondern SRAM ;-) SRAM ist immer noch sehr teuer wenn man es mit DRAM vergleicht... und genauso Hardware, auch dort sterben hin und wieder Zellen. Ohne ECC geht es also auch bei SRAM nicht. Gerrit
[toc] | [prev] | [next] | [standalone]
| From | v_borchert@despammed.com (Volker Borchert) |
|---|---|
| Date | 2017-10-10 20:26 +0000 |
| Message-ID | <orjaco$hdg$1@Gaia.teknon.de> |
| In reply to | #233432 |
In de.rec.fotografie, Gerrit Heitsch wrote: > On 10/10/2017 08:39 PM, Volker Borchert wrote: > > > So wenigstens IIRC die Theorie. Siehe beispielsweise die Datenblätter > > zu den TTLs 74LS6xx von TI, da waren auch die Prüfsummenformeln genau > > beschrieben. Hat die eigentlich irgendjemand mal wirklich in der Hand > > gehabt oder waren sie Vaporware? > > Ich kenne nur den 74LS688, aber das ist ein reiner Vergleicher, Den kenn ich natürlich auch, müßten noch irgendwo ein paar herumliegen. <databook vendor="TI" vintage="1985"> Ich meinte aber 630..631 error detection and correction 16 bit 632..633 error detection and correction 32 bit with byte write 634..635 error detection and correction 32 bit 636..637 error detection and correction 8 bit insbesondere im Zusammenspiel mit 600..603 memory refresh controller 604..607 octal 2-input multiplexed registers 608 memory cycle controller 610..613 memory mappers </> -- "I'm a doctor, not a mechanic." Dr Leonard McCoy <mccoy@ncc1701.starfleet.fed> "I'm a mechanic, not a doctor." Volker Borchert <v_borchert@despammed.com>
[toc] | [prev] | [next] | [standalone]
| From | Matthias Weingart <mwnews@pentax.boerde.de> |
|---|---|
| Date | 2017-10-11 06:44 +0000 |
| Message-ID | <XnsA80B58F00BA00AlwLookOnTBrightSide@penthouse.boerde.de> |
| In reply to | #233432 |
Gerrit Heitsch <gerrit@laosinh.s.bawue.de>: > >> Ich hoffe trotzdem, daÇY Avionik, Medizintechnik und Kernkraftwerke >> _kein_ ECC-DRAM verwenden sondern SRAM ;-) > > SRAM ist immer noch sehr teuer wenn man es mit DRAM vergleicht... und > genauso Hardware, auch dort sterben hin und wieder Zellen. Ohne ECC geht > es also auch bei SRAM nicht. Ist RAM nicht anfällig gegen Alphateilchen, die aus dem Gehäusematerial kommen? (DRAM sicherlich mehr als SRAM). M. --
[toc] | [prev] | [next] | [standalone]
| From | Patrick Schaefer <pa.schaefer@web.de> |
|---|---|
| Date | 2017-10-11 22:13 +0200 |
| Message-ID | <f47cc3Fmj7pU1@mid.individual.net> |
| In reply to | #233468 |
Am 11.10.2017 08:44 schrieb Matthias Weingart: > Ist RAM nicht anfällig gegen Alphateilchen, die aus dem Gehäusematerial > kommen? (DRAM sicherlich mehr als SRAM). So ist es. Ich kann mich an einen Artikel aus den '80ern erinnern, in dem nachgewiesen wurde, dass Computer maximal 500k RAM haben dürfen um weniger als einen Bitkipper pro Tag zu haben. IBM hat das zum Anlass genommen, um seinem PC (mit 64kB) und PC/XT (mit bis zu 640kB -- mehr braucht niemand ;-) Paritätsbits zu spendieren. Zum Glück haben die RAM-Hersteller das Problem mit der 256kbit-Chipgeneration in den Griff bekommen. Patrick
[toc] | [prev] | [next] | [standalone]
| From | Rolf Bombach <rolfnospambombach@invalid.invalid> |
|---|---|
| Date | 2017-10-11 22:47 +0200 |
| Message-ID | <orm00b$34i$1@dont-email.me> |
| In reply to | #233468 |
Matthias Weingart schrieb: > Gerrit Heitsch <gerrit@laosinh.s.bawue.de>: > >> >>> Ich hoffe trotzdem, daÇY Avionik, Medizintechnik und Kernkraftwerke >>> _kein_ ECC-DRAM verwenden sondern SRAM ;-) >> >> SRAM ist immer noch sehr teuer wenn man es mit DRAM vergleicht... und >> genauso Hardware, auch dort sterben hin und wieder Zellen. Ohne ECC geht >> es also auch bei SRAM nicht. > > Ist RAM nicht anfällig gegen Alphateilchen, die aus dem Gehäusematerial > kommen? (DRAM sicherlich mehr als SRAM). Heutige Gehäusematerialien sind speziell ausgesucht. Problem scheint heute kosmische Strahlung zu sein. https://en.wikipedia.org/wiki/Soft_error#Cosmic_rays_creating_energetic_neutrons_and_protons Suche nach "bit flip cosmic ray" fördert einiges zutage, die Grenze zur Verschwörungstheorie verschwimmt allerdings. -- mfg Rolf Bombach
[toc] | [prev] | [next] | [standalone]
| From | Gerhard Hoffmann <gerhard@hoffmann-hochfrequenz.de> |
|---|---|
| Date | 2017-10-11 02:59 +0200 |
| Message-ID | <f458mlF7fr2U1@mid.individual.net> |
| In reply to | #233429 |
Am 10.10.2017 um 20:39 schrieb Volker Borchert: > So wenigstens IIRC die Theorie. Siehe beispielsweise die Datenblätter > zu den TTLs 74LS6xx von TI, da waren auch die Prüfsummenformeln genau > beschrieben. Hat die eigentlich irgendjemand mal wirklich in der Hand > gehabt oder waren sie Vaporware? Ich habe das schon mal zu 80386-Zeiten auf einer Multibus-Karte benutzt. War aber WIMRE in meinem Fall Intel oder Fairchild. Das war damals, als echte Panik aufkam wegen Bitkippern in RAMs in den edlen Keramik- gehäusen. Plastikgehäuse waren eher nicht betroffen, es waren irgend- welche Isotope in der Keramik, die Alphastrahlen verschossen haben. (Kam später raus.) > Ich hoffe trotzdem, daß Avionik, Medizintechnik und Kernkraftwerke > _kein_ ECC-DRAM verwenden sondern SRAM ;-) SRAM ist keinen Deut besser. Eine Zelle, die getroffen wird, vergisst ihren Inhalt. Sie enthält mehr Transistoren, also gibt sie ein noch größeres Ziel ab. FPGAs speichern ihre Programmierung üblicherweise in einem riesigen statischen RAM ab. Das macht ihre Benutzung in der Raumfahrt ziemlich heikel. Man kann aber nicht darauf verzichten. Ich habe gerade ein Projekt hinter mir, wo der Konfigurationsspeicher des FPGAs alle halbe Minuten neu aus einem Rom geladen wurde. Die Benutzerlogik, also das, was das FPGA wirklich tun soll, war dann dreifach redundant, in der Hoffnung, dass es in der halben Minute nicht 2 Nachbarn mit gleicher Funktion trifft. Das Nachladen wurde vom FPGA selbst gesteuert. Das ist dann so, als ob man selber den Teppich austauscht auf dem man steht. Oder, als ob man sich selbst operiert und sein eigenes Gehirn gegen ein Backup austauscht. Das krankste, was ich jemals habe bauen müssen. Wenn man das alles richtig und bewiesen hat, kann immer noch der Spannungsregler einen "single event upset" bekommen. Der ist dann für eine Millisekunde besinnungslos und dreht so lange ganz auf oder ganz zu. Der Rest des Reglers muss das abkönnen ohne daß was abkocht. Bei ECC kann man dermaßen viel falsch machen, dass es für mich eher das Problem ist, als dessen Lösung es gilt. Wenn man etwas in den Weltraum schießt, dann muss man wegen der dortigen Strahlenbelastung eben durch und muss beweisen, dass das auch funktioniert. Unter meinem Schreibtisch würde ein China-Motherboard mit ECC-Feature eher keine Heimat finden. Gruß, Gerhard
[toc] | [prev] | [next] | [standalone]
| From | v_borchert@despammed.com (Volker Borchert) |
|---|---|
| Date | 2017-10-11 03:15 +0000 |
| Message-ID | <ork2cc$njf$1@Gaia.teknon.de> |
| In reply to | #233463 |
In de.rec.fotografie, Gerhard Hoffmann wrote: > Am 10.10.2017 um 20:39 schrieb Volker Borchert: > > > Ich hoffe trotzdem, daß Avionik, Medizintechnik und Kernkraftwerke > > _kein_ ECC-DRAM verwenden sondern SRAM ;-) > > SRAM ist keinen Deut besser. Eine Zelle, die getroffen wird, vergisst > ihren Inhalt. Sie enthält mehr Transistoren, also gibt sie ein noch > größeres Ziel ab. Ist der kontinuierliche Stromfluß einer SRAM Zelle wirklich genauso empfindlich gegen vorbeiknallende Strahlung wie die wenigen hundert (Aussage des Dozenten 1987 - heute vermutlich noch deutlich weniger) Elektronen eines DRAM-Kondensators? Verblüfft vb -- "I'm a doctor, not a mechanic." Dr Leonard McCoy <mccoy@ncc1701.starfleet.fed> "I'm a mechanic, not a doctor." Volker Borchert <v_borchert@despammed.com>
[toc] | [prev] | [next] | [standalone]
| From | Gerrit Heitsch <gerrit@laosinh.s.bawue.de> |
|---|---|
| Date | 2017-10-11 09:21 +0200 |
| Message-ID | <orkgpi$vbj$1@news.bawue.net> |
| In reply to | #233464 |
On 10/11/2017 05:15 AM, Volker Borchert wrote: > In de.rec.fotografie, Gerhard Hoffmann wrote: >> Am 10.10.2017 um 20:39 schrieb Volker Borchert: >> >>> Ich hoffe trotzdem, daß Avionik, Medizintechnik und Kernkraftwerke >>> _kein_ ECC-DRAM verwenden sondern SRAM ;-) >> >> SRAM ist keinen Deut besser. Eine Zelle, die getroffen wird, vergisst >> ihren Inhalt. Sie enthält mehr Transistoren, also gibt sie ein noch >> größeres Ziel ab. > > Ist der kontinuierliche Stromfluß einer SRAM Zelle wirklich genauso > empfindlich gegen vorbeiknallende Strahlung wie die wenigen hundert > (Aussage des Dozenten 1987 - heute vermutlich noch deutlich weniger) > Elektronen eines DRAM-Kondensators? Eine SRAM-Zelle in CMOS (keiner baut was anderes mehr) hat keinen kontinuierlichen Stromfluss. Das gabs nur bei NMOS. Ansonsten könntest du ein SRAM nicht über Jahre mit einer kleinen Batterie puffern. Gerrit
[toc] | [prev] | [next] | [standalone]
| From | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| Date | 2017-10-11 13:14 +0200 |
| Message-ID | <f46cpoFf8icU1@mid.individual.net> |
| In reply to | #233464 |
Am 11.10.2017 um 05:15 schrieb Volker Borchert: > In de.rec.fotografie, Gerhard Hoffmann wrote: >> Am 10.10.2017 um 20:39 schrieb Volker Borchert: >> >>> Ich hoffe trotzdem, daß Avionik, Medizintechnik und Kernkraftwerke >>> _kein_ ECC-DRAM verwenden sondern SRAM ;-) >> >> SRAM ist keinen Deut besser. Eine Zelle, die getroffen wird, vergisst >> ihren Inhalt. Sie enthält mehr Transistoren, also gibt sie ein noch >> größeres Ziel ab. > > Ist der kontinuierliche Stromfluß einer SRAM Zelle wirklich genauso > empfindlich gegen vorbeiknallende Strahlung wie die wenigen hundert > (Aussage des Dozenten 1987 - heute vermutlich noch deutlich weniger) > Elektronen eines DRAM-Kondensators? IMO kommt es da auf die Einschlagstelle an. Ein Flipflop aus mehrern Transistoren mußte eigentlich wegen der Rückkopplung unempfindlicher sein, wenn nur 1 Transistor getroffen wird. Wirkt sich Strahlung auf alle Speicherzellen gleich aus, oder nur auf die mit dem "falschen" (empfindlichen...) Zustand? Kippt die Strahlung das getroffene Bit, oder versetzt sie es in nur in einen konstruktionsspezifischen Default (T/F) Zustand? DoDi
[toc] | [prev] | [next] | [standalone]
| From | Matthias Weingart <mwnews@pentax.boerde.de> |
|---|---|
| Date | 2017-10-11 06:50 +0000 |
| Message-ID | <XnsA80B59FFDE66CAlwLookOnTBrightSide@penthouse.boerde.de> |
| In reply to | #233463 |
Gerhard Hoffmann <gerhard@hoffmann-hochfrequenz.de>: >> Ich hoffe trotzdem, daÇY Avionik, Medizintechnik und Kernkraftwerke >> _kein_ ECC-DRAM verwenden sondern SRAM ;-) > > SRAM ist keinen Deut besser. Eine Zelle, die getroffen wird, vergisst > ihren Inhalt. Sie enthÇÏlt mehr Transistoren, also gibt sie ein noch > grÇôÇYeres Ziel ab. Wir hatten mal eine CPU die holte ihren Code nur aus dem doppelt knopfzellengepufferten SRAM. Da hatte ich sicherheitshalber ne Prüfsummencheck über den Programmcode gebastelt. Wie sich später rausstellte sehr sinnvoll. Die Mitteilung "program error" kam recht zuverlässig nach fast jedem Transatlantikflug (ob nun von der Höhenstrahlung oder den Gepäckscannern, keine Ahnung), zumindest ein Bit im 32kByte Code-Bereich war da gekippt. Der vorsorglich gebastelte Kunden-Updater über die RS232 mit einem PC Programm wurde dann plötzlich sehr wichtig ;-). M. --
[toc] | [prev] | [next] | [standalone]
| From | Hanno Foest <hurga-news2@tigress.com> |
|---|---|
| Date | 2017-10-11 15:09 +0200 |
| Message-ID | <f46jg7FgpicU1@mid.individual.net> |
| In reply to | #233463 |
Am 11.10.2017 um 02:59 schrieb Gerhard Hoffmann: > Ich habe das schon mal zu 80386-Zeiten auf einer Multibus-Karte benutzt. > War aber WIMRE in meinem Fall Intel oder Fairchild. Das war damals, als > echte Panik aufkam wegen Bitkippern in RAMs in den edlen Keramik- > gehäusen. Plastikgehäuse waren eher nicht betroffen, es waren irgend- > welche Isotope in der Keramik, die Alphastrahlen verschossen haben. > (Kam später raus.) Soweit ich mich erinnere, waren diese Keramikgehäuse aber eine Siemens-Spezialität. > Bei ECC kann man dermaßen viel falsch machen, dass es für mich eher > das Problem ist, als dessen Lösung es gilt. Erzähl doch bitte mal, das klingt interessant. > Wenn man etwas in den > Weltraum schießt, dann muss man wegen der dortigen Strahlenbelastung > eben durch und muss beweisen, dass das auch funktioniert. Ich seh jetzt gerade keinen so ganz großen Unterschied, ob du den Speicher nachlädst oder korrigierst. Meinem Bauchgefühl nach scheint mir das vom FPGA selbst gesteuerte Nachladen anfälliger zu sein - wie gehst du mit Bitkippern in dem Bereich, der für die Nachlademimik zuständig ist, um? > Unter meinem Schreibtisch würde ein China-Motherboard mit ECC-Feature > eher keine Heimat finden. Auch hier würde mich die Begründung interessieren. Ich habe zwei (!) Mal kaputtes RAM gehabt, was zu seltenen Crashes und kaputten Daten geführt hat. Nachdem irgendwelche Checksummen von Dateien nicht stimmten, war der Fall klar, aber memtest hat trotzdem noch 18 Stunden gebraucht, um mir Fehler zu zeigen. Sowas wollte ich nie wieder, entsprechend werkelt hier jetzt ECC-RAM unter meinem Schreibtisch. Daß 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...
[toc] | [prev] | [next] | [standalone]
| From | Gerhard Hoffmann <ghf@hoffmann-hochfrequenz.de> |
|---|---|
| Date | 2017-10-12 21:49 +0200 |
| Message-ID | <f49v9hFadesU1@mid.individual.net> |
| In reply to | #233493 |
Am 11.10.2017 um 15:09 schrieb Hanno Foest: > Am 11.10.2017 um 02:59 schrieb Gerhard Hoffmann: > >> Ich habe das schon mal zu 80386-Zeiten auf einer Multibus-Karte benutzt. >> War aber WIMRE in meinem Fall Intel oder Fairchild. Das war damals, als >> echte Panik aufkam wegen Bitkippern in RAMs in den edlen Keramik- >> gehäusen. Plastikgehäuse waren eher nicht betroffen, es waren irgend- >> welche Isotope in der Keramik, die Alphastrahlen verschossen haben. >> (Kam später raus.) > > Soweit ich mich erinnere, waren diese Keramikgehäuse aber eine > Siemens-Spezialität. Die Halbleiterhersteller kaufen die Keramikgehäuse vom Spezialisten. Die Wertschöpfung ist im Vergleich zum Chip selbst vernachlässigbar. Für Billigchips spendiert man gar nicht erst ein Keramikgehäuse. Man hat dann irgendwelche organische Pampe auf den Chip gepackt und gut war's, zumindest für langsame Alphateilchen. Gegen die schnellen in der kosmischen Strahlung hilft auch daumendickes Blei nix. > >> Bei ECC kann man dermaßen viel falsch machen, dass es für mich eher >> das Problem ist, als dessen Lösung es gilt. > > Erzähl doch bitte mal, das klingt interessant. Überlege mal, wie Du so was überhaupt testen würdest. Kobaltquelle? Den PC zum Beschleuniger schleppen? Wüsstest DU, welche Zelle getroffen wird und könntest du verifizieren, was dann genau passieren muss und ob das auch passiert? Teststrukturen einbauen verHeisenbugt die Schaltung. (Observing it affects the outcome) Die Parity über 32+n oder gar 64+n Bits auszurechnen erfordert komplexe Gatter mit entsprechend vielen Eingängen; die Korrektur nochmal. Da sind schnell ein paar Takte vergangen bis die Daten tatsächlich der CPU zur Verfügung stehen. Weil die CPU-Performance hauptsächlich von der Speicherbandbreite abhängt, verführt das natürlich zu Kreativität beim Hochpushen des Taktes. Das Gewissen wird dabei nur mäßig beansprucht, man hat ja ECC. Weil du oben Siemens-Rams erwähnt hast: Ich habe mal jemanden 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 und der Z80 hatte nur 7. Das dauernde Umpflügen des Speichers hat das geschickt verdeckt. Auch ein Heisenbug. Das war unangenehm, da war schon für die ganze Serie eingekauft. > Ich seh jetzt gerade keinen so ganz großen Unterschied, ob du den > Speicher nachlädst oder korrigierst. Meinem Bauchgefühl nach scheint mir > das vom FPGA selbst gesteuerte Nachladen anfälliger zu sein - wie gehst > du mit Bitkippern in dem Bereich, der für die Nachlademimik zuständig > ist, um? Das Konfigurationsram des FPGAs kann man nicht korrigieren, das ist im Chip drinnen. Es ist nicht völlig unmöglich, das Ram auch wieder auszulesen, aber die Daten enthalten auch don't-care-Stellen und man braucht ein Maskenfile um nur die tatsächlich vorhandenen 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 Reset am Ende der Ladesequenz aktiviert. Dann wäre nämlich der Zustand der Benutzer-Schaltung futsch. Wenn man alles richtig macht, ist das für die Funktionaltät auf Benutzerebene völlig transparent. Man nennt den Vorgang Scrubben. Nun ja, nicht völlig transparent. Es gibt im Xilinx Virtex die Möglichkeit, einen Logikblock statt als Gatter lieber 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- zustand zurücksetzt. Meine Software-Kollegin hat sich beschwert, dass ihre Register eine Vorliebe für bestimmte Werte entwickelt haben, wenn man sie lange genug in Ruhe gelassen hat.(die Register). Kurz, man darf diese Ramblöcke in einem gescrubbten System nicht verwenden. Unglücklicherweise benutzt der Picoblaze-Prozessor das für seine Register. Ich durfte also den Picoblaze umbauen, dass 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 nachgeladen wird. Wenn sie getroffen würde, wäre das Spiel aus, der Inhalt des Konfigurationsspeichers würde ganz langsam vergammeln. Deshalb wird alles, was wichtig ist 3-fach redundant ausgeführt. 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 die Mehrheitsmeinung benutzt. Nach dem nächsten Takt ist die Welt 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- gewöhnen. Der wichtigste Trick dagegen waren je 3 Input-Pins für 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. Ich habe mir eine schöne Bibliothek gemacht, die von oben wie standard_logic / sl_vector aussieht und die Verdreifachung und die Abstimmung über die Resultate fast völlig verbirgt. Es gibt auch von Xilinx ein Tool dafür, das gilt aber rechtlich als Kriegswaffe und darf nicht aus den USA exportiert werden. > >> Unter meinem Schreibtisch würde ein China-Motherboard mit ECC-Feature >> eher keine Heimat finden. > > Auch hier würde mich die Begründung interessieren > > Ich habe zwei (!) Mal kaputtes RAM gehabt, was zu seltenen Crashes und > kaputten Daten geführt hat. Nachdem irgendwelche Checksummen von Dateien > nicht stimmten, war der Fall klar, aber memtest hat trotzdem noch 18 > Stunden gebraucht, um mir Fehler zu zeigen. Sowas wollte ich nie wieder, > entsprechend werkelt hier jetzt ECC-RAM unter meinem Schreibtisch. Daß > 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. 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. Gruß, Gerhard
[toc] | [prev] | [next] | [standalone]
| From | Gerrit Heitsch <gerrit@laosinh.s.bawue.de> |
|---|---|
| Date | 2017-10-12 22:25 +0200 |
| Message-ID | <oroj3u$jvv$1@news.bawue.net> |
| In reply to | #233567 |
On 10/12/2017 09:49 PM, Gerhard Hoffmann wrote: > Am 11.10.2017 um 15:09 schrieb Hanno Foest: >> Am 11.10.2017 um 02:59 schrieb Gerhard Hoffmann: >> >>> Ich habe das schon mal zu 80386-Zeiten auf einer Multibus-Karte benutzt. >>> War aber WIMRE in meinem Fall Intel oder Fairchild. Das war damals, als >>> echte Panik aufkam wegen Bitkippern in RAMs in den edlen Keramik- >>> gehäusen. Plastikgehäuse waren eher nicht betroffen, es waren irgend- >>> welche Isotope in der Keramik, die Alphastrahlen verschossen haben. >>> (Kam später raus.) >> >> Soweit ich mich erinnere, waren diese Keramikgehäuse aber eine >> Siemens-Spezialität. > > Die Halbleiterhersteller kaufen die Keramikgehäuse vom Spezialisten. > Die Wertschöpfung ist im Vergleich zum Chip selbst vernachlässigbar. > Für Billigchips spendiert man gar nicht erst ein Keramikgehäuse. Auch bei teuren tut man das nur, wenn man muss, weil z.B. sonst die Wärmeableitung nicht reicht. Wenn man nicht muss wird der Kram in Epoxy eingegossen. Ok, am Anfang gab es da Probleme mit, aber das ist lange her. >>> Bei ECC kann man dermaßen viel falsch machen, dass es für mich eher >>> das Problem ist, als dessen Lösung es gilt. >> >> Erzähl doch bitte mal, das klingt interessant. > > Überlege mal, wie Du so was überhaupt testen würdest. Kobaltquelle? > Den PC zum Beschleuniger schleppen? Wüsstest DU, welche Zelle getroffen > wird und könntest du verifizieren, was dann genau passieren muss > und ob das auch passiert? > Teststrukturen einbauen verHeisenbugt die Schaltung. > (Observing it affects the outcome) > Die Parity über 32+n oder gar 64+n Bits auszurechnen erfordert > komplexe Gatter mit entsprechend vielen Eingängen; die Korrektur > nochmal. Da sind schnell ein paar Takte vergangen bis die Daten > tatsächlich der CPU zur Verfügung stehen. Weil die CPU-Performance > hauptsächlich von der Speicherbandbreite abhängt, verführt das > natürlich zu Kreativität beim Hochpushen des Taktes. > Das Gewissen wird dabei nur mäßig beansprucht, man hat ja ECC. Macht aber nichts weil typischerweise zuerst Einzel- oder Zweibitfehler auftreten wenn man es übertreibt und die werden von ECC erkannt, bei hohen Anforderungen auch mehr. Da merkt man gleich, daß man Mist gebaut hat. Heutiges ECC findet direkt im DRAM-Controller statt, da ist nichts mehr mit 'mehreren Takten' die über die Latenzen die das RAM sowieso schon hat rausgehen. > Weil du oben Siemens-Rams erwähnt hast: Ich habe mal jemanden > 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 > und der Z80 hatte nur 7. Das dauernde Umpflügen des Speichers hat > das geschickt verdeckt. Auch ein Heisenbug. Nein, das war kein Heisenbug, das war jemand der vergessen hat Datenblätter zu lesen bevor er einkauft. Da steht nämlich drin welchen Refresh die DRAMs brauchen. Das der Z80 nur einen 7Bit-Refreshzähler hat darf als bekannt vorausgesetzt werden. Und der Schreiber der DRAM-Testroutine hat ebenso was übersehen... Nämlich, daß jeder Lesezugriff bei einem DRAM ein Rrefresh ist. Wenn du also DRAM korrekt testen willst musst du sicherstellen, daß dein Testprogramm das korrekt tut, also genug Zeit ohne Zugriffe verstreichen lassen, damit sich fehlender Refresh bemerkbar macht. Kann man auch hinbekommen wenn das Programm im zu testenden RAM läuft. > Das war unangenehm, da war schon für die ganze Serie eingekauft. Braucht ein paar Gatter zusätzlich, dann hat man den 8Bit-Refresh. Oder man löst es per Software (wenn man die CPU-Zeit dafür hat). > Meine Software-Kollegin hat sich beschwert, dass ihre Register > eine Vorliebe für bestimmte Werte entwickelt haben, wenn man sie > lange genug in Ruhe gelassen hat.(die Register). Kann bei SRAM passieren. > > Da kaufe ich lieber ordentlichen Speicher und verzichte > auf hochgeschraubtes Timing. Woher weisst du das der Speicher ordentlich ist? Auch beim besten Hersteller kommen Fehler vor. Hanno beschrieb einen Bug für den er 18 Stunden brauchte bevor er mit memtest einen Fehler bekam. Eigentlich sehr ordentlicher Speicher wenn du die Fehlerrate in 10^-x ausdrückst... > Mit einem Crash alle 5 Jahre kann ich leben. Du weisst aber nicht was in der Zeit alles an Bitkippern passiert ist die nicht zu einem Crash führten und wieviele Dateien jetzt streng genommen kaputt sind. Das ist das Problem ohne ECC, du weisst nicht ob dein RAM OK ist, du kannst es nur hoffen. In einer Mediendatei stört ein gekipptes Bit meist nicht wirklich. In einem Excel-Sheet hingegen kann es eine Formel oder einen Wert verändern und drastische Auswirkungen haben. Du hast überall ECC oder zumindest Prüfsummen im Rechner. Festplatten und SSDs würden ohne ECC gar nicht mehr funktionieren. Der Cache in deiner CPU benutzt ECC (beim P2/Celeron konnte man das noch im BIOS abschalten), PCI-Express benutzt CRC für den Datentransfer, kein TCP-Paket geht ohne Checksumme auf die Reise... Aber beim RAM soll man darauf vertrauen, daß schon alles gutgehen wird? Komische Sichtweise. Gerrit
[toc] | [prev] | [next] | [standalone]
| From | Gerhard Hoffmann <gerhard@hoffmann-hochfrequenz.de> |
|---|---|
| Date | 2017-10-14 00:42 +0200 |
| Message-ID | <f4ctq6FsiaU1@mid.individual.net> |
| In reply to | #233569 |
Am 12.10.2017 um 22:25 schrieb Gerrit Heitsch: > On 10/12/2017 09:49 PM, Gerhard Hoffmann wrote: >> Weil du oben Siemens-Rams erwähnt hast: Ich habe mal jemanden >> 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 >> und der Z80 hatte nur 7. Das dauernde Umpflügen des Speichers hat >> das geschickt verdeckt. Auch ein Heisenbug. > > Nein, das war kein Heisenbug, das war jemand der vergessen hat > Datenblätter zu lesen bevor er einkauft. Daß das System defekt war, was ja von Anfang an klar. Und was der Designer falsch gemacht hat ist auch egal. Aber wenn das Testprogramm das Verhalten des Objektes verändert, dann ist das genau die Heisenbug-Definition. Das kam übrigens raus im Gespräch von Kunde zu Kunde am Ladenschalter von Distron in Berlin.. >> Meine Software-Kollegin hat sich beschwert, dass ihre Register >> eine Vorliebe für bestimmte Werte entwickelt haben, wenn man sie >> lange genug in Ruhe gelassen hat.(die Register). > > Kann bei SRAM passieren. Nein, kann bei SRAMs nicht passieren, es sei denn, sie sind kaputt. Das zyklische Nachladen des Konfigurationsspeichers hat die Raminhalte alle paar Sekunden auf den Wert aus dem ROM zurückgesetzt.
[toc] | [prev] | [next] | [standalone]
| From | Gerrit Heitsch <gerrit@laosinh.s.bawue.de> |
|---|---|
| Date | 2017-10-14 18:54 +0200 |
| Message-ID | <ortfgf$kh5$1@news.bawue.net> |
| In reply to | #233640 |
On 10/14/2017 12:42 AM, Gerhard Hoffmann wrote: > Am 12.10.2017 um 22:25 schrieb Gerrit Heitsch: >> On 10/12/2017 09:49 PM, Gerhard Hoffmann wrote: > >>> Weil du oben Siemens-Rams erwähnt hast: Ich habe mal jemanden >>> 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 >>> und der Z80 hatte nur 7. Das dauernde Umpflügen des Speichers hat >>> das geschickt verdeckt. Auch ein Heisenbug. >> >> Nein, das war kein Heisenbug, das war jemand der vergessen hat >> Datenblätter zu lesen bevor er einkauft. > > Daß das System defekt war, was ja von Anfang an klar. Und was der > Designer falsch gemacht hat ist auch egal. Aber wenn das > Testprogramm das Verhalten des Objektes verändert, dann ist das > genau die Heisenbug-Definition. Das Testprogramm war aber defekt weil es eben gewisse Eigenschaften von DRAMs nicht in Betracht gezogen hat. Hätte es das getan wäre der Bug gleich aufgefallen. Das ist kein Heisenbug, das ist einfach ein defektes Testprogramm und jemand der beim Design des Systems die Datenblätter nicht gelesen hat. Zwei Fehler auf einmal also und deren Wechselwirkungen sind nicht mehr vorhersehbar. > Das kam übrigens raus im Gespräch von Kunde zu Kunde am > Ladenschalter von Distron in Berlin.. Aha... Also Datenblatt nicht gelesen. > > >>> Meine Software-Kollegin hat sich beschwert, dass ihre Register >>> eine Vorliebe für bestimmte Werte entwickelt haben, wenn man sie >>> lange genug in Ruhe gelassen hat.(die Register). >> >> Kann bei SRAM passieren. > > Nein, kann bei SRAMs nicht passieren, es sei denn, sie sind kaputt. Doch, das kann bei SRAM passieren. Wenn da eine Zelle lange einen immer gleichen Wert enthält kann sie eine Vorliebe für diesen Wert entwickeln und den schon beim Einschalten haben. Was hingegen nicht passieren darf ist das sich Werte die man dort einmal eingespeichert hat ohne Schreibzugriff ändern. Wenn sie das tun ist das RAM schlicht defekt und auszutauschen. Gerrit
[toc] | [prev] | [next] | [standalone]
| From | Hanno Foest <hurga-news2@tigress.com> |
|---|---|
| Date | 2017-10-13 15:40 +0200 |
| Message-ID | <f4bu2jFo26gU1@mid.individual.net> |
| In reply to | #233567 |
Am 12.10.2017 um 21:49 schrieb Gerhard Hoffmann: >> Soweit ich mich erinnere, waren diese Keramikgehäuse aber eine >> Siemens-Spezialität. > > Die Halbleiterhersteller kaufen die Keramikgehäuse vom Spezialisten. > Die Wertschöpfung ist im Vergleich zum Chip selbst vernachlässigbar. Klar, aber irgendwie war mir noch im Gedächtnis, daß das nur Siemens diesbezüglich auffällig gewesen ist. Warum auch immer. Mag mich auch irren. >>> Bei ECC kann man dermaßen viel falsch machen, dass es für mich eher >>> das Problem ist, als dessen Lösung es gilt. >> >> Erzähl doch bitte mal, das klingt interessant. > > Überlege mal, wie Du so was überhaupt testen würdest. Ich hatte das beschrieben, weiter unten steht noch das Originalzitat. Das ECC-RAM hat einfach mehr Bits als herkömmliches, die Auswertung/Korrektur passiert in dem Chip, der den Speicher verwaltet, also heutzutage direkt die CPU. Wenn du jetzt also irgendwie am Datenbus des Speichers elektrisch rumprokelst, so daß es (einige, aber nicht zu viele) falsche Bits gibt, dann sollte sich bei geeigneter Konfiguraton das OS nachdrücklich darüber beschweren. > Kobaltquelle? Den PC zum Beschleuniger schleppen? Kann man machen, wenn man gerne naturnah erzeugte Fehler haben möchte. Oder man legt ein Stückchen Radium auf die DIMMs. - Hmm, ich hab noch Thorium-haltige Glühstrümpfe. Was bei meinen russischen Mantelrohr-Geigerzählern Ereignisse auslöst, sollte auch für RAM reichen... mal ausprobieren :) Wer es gerne weniger ionisierend hätte, kann auch einfach mit einer Wärmelampe auf die RAMs zielen. Laut einem Paper, das quasi die Vorarbeit zum Rowhammer-Exploit ist, erhöht das die Fehlerhäufigkeit beträchtlich. Ist ja auch plausibel. > Wüsstest DU, welche Zelle getroffen > wird und könntest du verifizieren, was dann genau passieren muss > und ob das auch passiert? Das RAM ist für mich eine Black Box. Wenn nicht die gleichen Bits rauskommen wie reingehen, festgestellt durch die ECC-Prüffunktion, ist das nicht gut (tm). Wie und warum die Bits genau falsch sind, kann mir egal sein. Ohne ECC stürzt der Rechner bei Fehlern auf dem Datenbus 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. > Weil du oben Siemens-Rams erwähnt hast: Ich habe mal jemanden > 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 > und der Z80 hatte nur 7. Altbekanntes Problem... die Speicher mit 8-Bit-Refresh gab es dann billiger :) [...] > Die Nachladelogik ist im Benutzerland von genau dem FPGA, das > nachgeladen wird. Wenn sie getroffen würde, wäre das Spiel aus, > der Inhalt des Konfigurationsspeichers würde ganz langsam > vergammeln. > > Deshalb wird alles, was wichtig ist 3-fach redundant ausgeführt. > 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 > die Mehrheitsmeinung benutzt. Nach dem nächsten Takt ist die Welt > dann wieder in Ordnung. Interessantes Projekt. Hoffentlich hast du keine SPOF-Bits übersehen. Weisstschon, Komplexität... und wie hast du das eigentlich getestet? Kobaltquelle? Linearbeschleuniger? :) >> Ich habe zwei (!) Mal kaputtes RAM gehabt, was zu seltenen Crashes und >> kaputten Daten geführt hat. Nachdem irgendwelche Checksummen von >> Dateien nicht stimmten, war der Fall klar, aber memtest hat trotzdem >> noch 18 Stunden gebraucht, um mir Fehler zu zeigen. Sowas wollte ich >> nie wieder, entsprechend werkelt hier jetzt ECC-RAM unter meinem >> Schreibtisch. Daß 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. > > Ja, genau. > > Ich glaube nicht, dass einer der China-Hersteller seinen Krempel > jemals zu einem Beschleuniger geschleppt hat. Wie beschrieben - meiner Meinung nach nicht notwendig. Bitfehler ist Bitfehler. > Da kaufe ich lieber ordentlichen Speicher und verzichte > auf hochgeschraubtes Timing. > Mit einem Crash alle 5 Jahre kann ich leben. Der Bitfehler wird dir mit einiger Wahrscheinlichkeit (Verhältnis Daten/Code) eher deine Daten versauen als denen Rechner crashen, so war es ja auch bei mir. Und selbst wenn dann daemon xy segfaultet, weißt du immer noch nicht, ob es an der Hardware oder Software liegt. Ob und wann du merkst, daß dein Speicher gurkig ist und deine Daten im Arsch sind, bleibt dem Zufall überlassen - selbst wenn du "guten" Speicher bekommen hast und man dich nicht über den Tisch gezogen hat, kann es sein, daß er mit der Zeit Fehler entwickelt, so war es ja auch bei mir. ECC zeigt dir, daß der Speicher OK ist. Die Wahrscheinlichkeit, daß ECC nach meinem Test nicht das tut, wozu es da ist, halte ich für sehr gering. Deutlich geringer jedenfalls als die Wahrscheinlichkeit, daß RAM kaputtgeht. Hanno
[toc] | [prev] | [next] | [standalone]
| From | Gerhard Hoffmann <ghf@hoffmann-hochfrequenz.de> |
|---|---|
| Date | 2017-10-13 17:07 +0200 |
| Message-ID | <f4c36jFp7d6U1@mid.individual.net> |
| In reply to | #233611 |
Am 13.10.2017 um 15:40 schrieb Hanno Foest: > Am 12.10.2017 um 21:49 schrieb Gerhard Hoffmann: > [...] >> Die Nachladelogik ist im Benutzerland von genau dem FPGA, das >> nachgeladen wird. Wenn sie getroffen würde, wäre das Spiel aus, >> der Inhalt des Konfigurationsspeichers würde ganz langsam >> vergammeln. >> >> Deshalb wird alles, was wichtig ist 3-fach redundant ausgeführt. >> 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 >> die Mehrheitsmeinung benutzt. Nach dem nächsten Takt ist die Welt >> dann wieder in Ordnung. > > Interessantes Projekt. Hoffentlich hast du keine SPOF-Bits übersehen. > Weisstschon, Komplexität... und wie hast du das eigentlich getestet? > Kobaltquelle? Linearbeschleuniger? :) Modelsim. Da kann man nach Herzenslust Fehler in die Userschaltung injizieren. Es ist schon lustig zu sehen, wenn man bei einem 32-Bit- Zähler in jedem Takt ein paar Bits kaputt macht und der läuft einfach weiter, als ob nix wäre. Man kommt sich vor, als ob man mit einem MG auf einen Terminator schießt, und der ignoriert das nicht mal. Man kann auch über das CLB-Ram-Misfeature den Konfigurationsspeicher ändern und dann zusehen, wie der Scrubber das wieder heilt. 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: < https://www.flickr.com/photos/137684711@N07/37415366000/in/dateposted-public/ > Aber irgendwo ist Schluss. Auf der ISS wohnen letztlich Leute, soo schlimm ist es dort noch nicht. Tamagotchis für die Kinder von Fukushima wäre wohl was anderes. Ich habe aber z.B. einen schnellen JFET-OpAmp nicht bekommen, weil niemand die Strahlungstests machen & dokumentieren wollte. Da musste ich dann diskrete JFETs nehmen & eine Krücke drumrumbauen. >>> Ich habe zwei (!) Mal kaputtes RAM gehabt, was zu seltenen Crashes >>> und kaputten Daten geführt hat. Nachdem irgendwelche Checksummen von >>> Dateien nicht stimmten, war der Fall klar, aber memtest hat trotzdem >>> noch 18 Stunden gebraucht, um mir Fehler zu zeigen. Sowas wollte ich >>> nie wieder, entsprechend werkelt hier jetzt ECC-RAM unter meinem > > Der Bitfehler wird dir mit einiger Wahrscheinlichkeit (Verhältnis > Daten/Code) eher deine Daten versauen als denen Rechner crashen, so war > es ja auch bei mir. Und selbst wenn dann daemon xy segfaultet, weißt du 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.
[toc] | [prev] | [next] | [standalone]
| From | Hanno Foest <hurga-news2@tigress.com> |
|---|---|
| Date | 2017-10-13 18:26 +0200 |
| Message-ID | <f4c7q5FqaglU1@mid.individual.net> |
| In reply to | #233620 |
Am 13.10.2017 um 17:07 schrieb Gerhard Hoffmann:
>> Interessantes Projekt. Hoffentlich hast du keine SPOF-Bits übersehen.
>> Weisstschon, Komplexität... und wie hast du das eigentlich getestet?
>> Kobaltquelle? Linearbeschleuniger? :)
>
> Modelsim. Da kann man nach Herzenslust Fehler in die Userschaltung
> injizieren.
Sicher nicht schlecht, aber ich würde es trotzdem noch mal mit echter
ionisierender Strahlung probieren. Vielleicht gibt es Überraschungen.
("Das beste Modell für eine Katze ist eine Katze. Möglichst dieselbe
Katze." - Norbert Wiener)
> Das Power supply ist z.B. ein single point of failure.
> Und so ein Reglerchip ist auch nicht immun.
Das wissen Raspberry Pi 2 User spätestens, seit sie mal versucht haben,
den laufenden Rechner mit Blitzlicht zu fotografieren :)
>> Der Bitfehler wird dir mit einiger Wahrscheinlichkeit (Verhältnis
>> Daten/Code) eher deine Daten versauen als denen Rechner crashen, so
>> war es ja auch bei mir. Und selbst wenn dann daemon xy segfaultet,
>> weißt du
>
> Die meisten Speicherzugriffe sind Code, weil jeder Befehl seinen
> Opcode braucht, aber bei weitem nicht jeder Befehl greift auf Daten im
> Speicher zu.
Irrelevant. Bei Von-Neumann-Architektur liegen Daten und Code im
gleichen Speicher, und in erster Näherung haben alle dessen
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.
> Hat der Cache, der 99% aller Zugriffe abwickelt auch ECC?
Ja. Oder zumindest Parity - falls man sich im Fehlerfall die Daten aus
dem Hauptspeicher einfach noch mal neu holen kann.
> Mit meinen Rechnern bin ich sehr zufrieden.
Einzelfehler würdest du ja auch nicht mitbekommen. Ignorance is bliss :)
Hanno
[toc] | [prev] | [next] | [standalone]
| From | Gerhard Hoffmann <gerhard@hoffmann-hochfrequenz.de> |
|---|---|
| Date | 2017-10-14 00:57 +0200 |
| Message-ID | <f4cumdF1280U1@mid.individual.net> |
| In reply to | #233622 |
Am 13.10.2017 um 18:26 schrieb Hanno Foest: > Am 13.10.2017 um 17:07 schrieb Gerhard Hoffmann: >> Hat der Cache, der 99% aller Zugriffe abwickelt auch ECC? > > Ja. Oder zumindest Parity - falls man sich im Fehlerfall die Daten aus > dem Hauptspeicher einfach noch mal neu holen kann. Der L1-Cache schon mal gar nicht. Der L2-Cache früher manchmal, war aber wohlweislich abschaltbar. I5, I7 haben keinen ECC-Support, da muss man schon mal in einen Xeon investieren. >> Mit meinen Rechnern bin ich sehr zufrieden. > > Einzelfehler würdest du ja auch nicht mitbekommen. Ignorance is bliss :) Wenn du eine ECC-Korrektur in 5 Jahren hattest, da muss ich ja unwissentlich durch Millionen von kaputten Exelfiles waten!
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | de.sci.electronics
csiph-web