PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ram Reparaturprogramm


Dimon
2007-02-13, 22:45:53
Moin Leute,

gibt es ein RAM Reparaturprogramm, womit ich z.b irgendwelche behinderten ram Riegel Reparieren kann? :rolleyes:


mfg

Silent3sniper
2007-02-13, 22:49:07
Schön wärs.

Bis dato lassen sich nur Software Schäden reparieren. Mit Software Hardwareschäden zu reparieren wäre aber ne feine Sache. :redface:

Dimon
2007-02-13, 22:51:40
danke für die antwort sniper :)

Dachte mal ich frag nach, vllt gibts da irgendwelche ansätze oda so rams zu reparieren :redface:

vllt. könnte man ein progi schreben, das die Spannungen des rams so oft abändert bis die defekten teile des rams normal werden :biggrin:


mfg

Bandit666
2007-02-15, 09:07:41
Also ich kann mir nicht vorstellen das dieser Thread ernstgemeint ist.
Behinderter RAM? ROFL


mfg

Dimon
2007-02-15, 09:13:27
Also ich kann mir nicht vorstellen das dieser Thread ernstgemeint ist.
Behinderter RAM? ROFL


mfg

der is nur behindert weil er Fehler im laufenden betrieb verursacht :rolleyes:

sonst wär ich glücklich und zufrieden

mfg

Meta
2007-02-15, 09:29:49
Schade, es könnte doch ein Programm gehen, das einfach fehlerharte Sektoren im Ram erkennt und deaktiviert. Bei der Festplatte geht das ja auch...

...oder macht das ECC Ram?

Meta

Dimon
2007-02-15, 09:41:50
Schade, es könnte doch ein Programm gehen, das einfach fehlerharte Sektoren im Ram erkennt und deaktiviert. Bei der Festplatte geht das ja auch...

...oder macht das ECC Ram?

Meta

Wär mal keine so schlechte idee @meta

Bloß frage ich mich, ob das überhaupt möglich ist.


mfg

Coolj100
2007-02-15, 09:47:06
Schade, es könnte doch ein Programm gehen, das einfach fehlerharte Sektoren im Ram erkennt und deaktiviert. Bei der Festplatte geht das ja auch...

...oder macht das ECC Ram?

Meta


Der ECC Algorithmus beruht auf dem Hamming Code, der sich speziell für das Prüfen und Korrigieren von 1 Bit Fehler eignet. Er kann außerdem 2Bit Fehler erkennen - aber nicht korrigieren. Bei 64 Bit breiten RAM Modulen sind zur Fehlerkorrektur 8 Check Bits nötig - daher haben ECC Module eine Bandbreite von 72 Bit. Der Datenbus von Chip und Modul beträgt logischer Weise auch 72 Bit. Wenn der Prozessor seine Daten(8 Byte) ins RAM schreibt berechnet der ECC Algorithmus 8 ECC Bits, die an die Daten angehängt werden. Während des Lesevorgangs berechnet der ECC Algorithmus die ECC Bits von den 8 Byte neu, bei Übereinstimmung der Codes ist das Datenpaket gültig. Unterscheiden sich die Codes kann der ECC Controller das fehlerhafte Bit lokalisieren und in den ursprünglichen Wert abändern.

Wenn du schon kopierst, bitte mit Quellenangabe!

http://forum.mindfactory.de/speicher/5721-speicher-faq-und-noch-viel-mehr.html

mfg

Oh die die polizei ist da um es zu überprüfen, süss das leute nix anderes zutun haben und in google rumsuchen. Wenn es so wichtig wäre für mich hätt ich dies auch gemacht, zumindest hatte ich keine lust über ECC Ram zu refarieren und wusste nicht das es leuten soo wichtig ist das man einen link dazu angibt. Immerhin wurde seine frage damit beantwortet, was man ja von deiner unsinnigen antwort nicht gerade sagen kann.:P Hätteste es per pm gesacht, hätt ich es dazu geschrieben, aber hauptsache so einen quatsch antworten.

Dimon
2007-02-15, 15:02:40
Der ECC Algorithmus beruht auf dem Hamming Code, der sich speziell für das Prüfen und Korrigieren von 1 Bit Fehler eignet. Er kann außerdem 2Bit Fehler erkennen - aber nicht korrigieren. Bei 64 Bit breiten RAM Modulen sind zur Fehlerkorrektur 8 Check Bits nötig - daher haben ECC Module eine Bandbreite von 72 Bit. Der Datenbus von Chip und Modul beträgt logischer Weise auch 72 Bit. Wenn der Prozessor seine Daten(8 Byte) ins RAM schreibt berechnet der ECC Algorithmus 8 ECC Bits, die an die Daten angehängt werden. Während des Lesevorgangs berechnet der ECC Algorithmus die ECC Bits von den 8 Byte neu, bei Übereinstimmung der Codes ist das Datenpaket gültig. Unterscheiden sich die Codes kann der ECC Controller das fehlerhafte Bit lokalisieren und in den ursprünglichen Wert abändern.

Also heisst das, das die ECC Rams eig. unkaputtbar sind oder?

Und wenn man z.B. bei Rams ohne ECC so ein programm schreibt, das die fehler abkorregiert, oder einfach nicht zulässt (sprich nicht durchlässt) würde es doch gehen oder?


mfg

huha
2007-02-15, 15:11:04
danke für die antwort sniper :)

Dachte mal ich frag nach, vllt gibts da irgendwelche ansätze oda so rams zu reparieren :redface:

vllt. könnte man ein progi schreben, das die Spannungen des rams so oft abändert bis die defekten teile des rams normal werden :biggrin:
mfg

Naja, du kannst die Spannung so oft ändern, bis die normalen Teile des RAM defekt werden ;)

der is nur behindert weil er Fehler im laufenden betrieb verursacht :rolleyes:

sonst wär ich glücklich und zufrieden

mfg

Timings runtergenommen? Takt zurückgefahren? Etwas mehr Spannung gegeben?


Schade, es könnte doch ein Programm gehen, das einfach fehlerharte Sektoren im Ram erkennt und deaktiviert. Bei der Festplatte geht das ja auch...

Beim RAM geht das auch, das macht der Hersteller in der Fabrik und labelt dann die Chips entsprechend um.
Allerdings sind Fehler im RAM meist produktionsbedingt, bei Festplatten eigentlich nur eine Frage der Zeit.


Also heisst das, das die ECC Rams eig. unkaputtbar sind oder?

Nein. ECC bietet nur die Möglichkeit, 1-Bit-Fehler zu korrigieren. Bei non-ECC-RAM werden 1-Bit-Fehler eben nur erkannt und können nicht korrigiert werden.

Und wenn man z.B. bei Rams ohne ECC so ein programm schreibt, das die fehler abkorregiert, oder einfach nicht zulässt (sprich nicht durchlässt) würde es doch gehen oder?

Nein. Erstens verstehst du glaube ich das Prinzip nicht so recht, zweitens läuft ECC in Hardware ab und drittens läßt man normalerweise auch keine Fehler durch. ECC kann nur einfache Fehler korrigieren und ist somit zuverlässiger und unter Umständen schneller.
Eine Software programmieren, die das auch macht, geht nicht, da der RAM ein Stück Low-Level-Hardware ist ;)
Man kann allerdings in der Programmierung eventuelle Fehler abfangen, indem man für alle Variablen Hashwerte bildet und diese jedesmal abgleicht. Das Programm wird dadurch zwar langsam, allerdings kann es Fehler erkennen und, je nach Algorithmus, auch korrigieren.

-huha

Bandit666
2007-02-15, 15:26:40
Der ECC Algorithmus beruht auf dem Hamming Code, der sich speziell für das Prüfen und Korrigieren von 1 Bit Fehler eignet. Er kann außerdem 2Bit Fehler erkennen - aber nicht korrigieren. Bei 64 Bit breiten RAM Modulen sind zur Fehlerkorrektur 8 Check Bits nötig - daher haben ECC Module eine Bandbreite von 72 Bit. Der Datenbus von Chip und Modul beträgt logischer Weise auch 72 Bit. Wenn der Prozessor seine Daten(8 Byte) ins RAM schreibt berechnet der ECC Algorithmus 8 ECC Bits, die an die Daten angehängt werden. Während des Lesevorgangs berechnet der ECC Algorithmus die ECC Bits von den 8 Byte neu, bei Übereinstimmung der Codes ist das Datenpaket gültig. Unterscheiden sich die Codes kann der ECC Controller das fehlerhafte Bit lokalisieren und in den ursprünglichen Wert abändern.


Wenn du schon kopierst, bitte mit Quellenangabe!

http://forum.mindfactory.de/speicher/5721-speicher-faq-und-noch-viel-mehr.html

mfg

Dimon
2007-02-15, 19:30:45
Timings runtergenommen? Takt zurückgefahren? Etwas mehr Spannung gegeben?

ja, und leider tut das ding auch bei diesen frequenzen nicht :mad:

Allerdings macht es weniger fehler...


mfg

Coda
2007-02-15, 20:24:40
...oder macht das ECC Ram?
Nö. ECC speicher 72 statt 64 Bit und speichert in diesen Daten zur Fehlerkorrektur, wenn sie nötig ist.

Nein. ECC bietet nur die Möglichkeit, 1-Bit-Fehler zu korrigieren. Bei non-ECC-RAM werden 1-Bit-Fehler eben nur erkannt und können nicht korrigiert werden.
Err. ECC = Error Correction Code ;)
Für die bloße Erkennung von 1-Bit Fehler hätte auch 1 Bit mehr gereicht. Würde auch nix bringen - was soll der Chipsatz denn machen wenn er den Fehler nur erkennt? Den Rechner anhalten? Auch nicht gerade die optimale Lösung :D

anorakker
2007-02-15, 23:09:41
afaik haben auch dram-chips mehr zellen als nötig als reserve. zumindest sprach da mal nen prof von, ob das stimmt, kann ich aber leider nicht verifizieren. um die chip ausbeute zu vergrössern, könnte ich mir das aber durchaus vorstellen. bei flashchips gibt es so etwas angeblich ja auch, bloss wie das realisiert wird, bleibt wohl ein gut gehütetes geheimnis der hersteller (geht ja schliesslich um ne menge geld)

z.b. (schon von 99, an viele dokumente kommt man leider nicht ran):

http://portal.acm.org/citation.cfm?id=647832.737842&coll=&dl=acm&CFID=15151515&CFTOKEN=6184618
quote:
"We present cost models appropriate for large file memory DRAMs that exploit error-correcting codes, redundant elements and bad block marking in order to reduce the average cost per working bit. Many different fault-tolerance methods have been considered previously for DRAM but, because of the constraints of conventional commodity memory, only a few methods, such as redundant rows and columns, have entered wide-spread use. Our research on file memory breaks from past work by relaxing the requirements that random-access be fast and that shipped devices contain 100% of the nominal working bit capacity. We show that, under the relaxed requirements of file memory, the greater potential efficiencies of large ECC code words and bad block marking may become cost-effective. These file memory techniques may thus be a way of accelerating the economic production of 256 Mbit and 1Gbit DRAMs."

Meta
2007-02-16, 11:28:20
Ja genau, es funktioniert ja bei Festplatten und eben auch bei Flashspeicher...

Ich blick noch nicht ganz durch. Kann ECC Ram nun auch korrigieren, oder definitiv nicht. Und wo liegt das Problem, einzelne Sektoren ausfindig zu machen und zu deaktivieren??

Meta

huha
2007-02-16, 11:52:44
Das Problem liegt darin, daß du bei RAM keine Sektoren hast ;)
Außerdem ist die Fehleranfälligkeit bei RAM so gering, daß Korrekturmaßnahmen nur den Preis in die Höhe treiben würden.

-huha

anorakker
2007-02-16, 12:29:33
Ja genau, es funktioniert ja bei Festplatten und eben auch bei Flashspeicher...

Ich blick noch nicht ganz durch. Kann ECC Ram nun auch korrigieren, oder definitiv nicht. Und wo liegt das Problem, einzelne Sektoren ausfindig zu machen und zu deaktivieren??

Meta

wie bei flash oder hds funktioniert es bei drams aber nicht, nach dem packaging kann man nicht mehr auf die interna zugreifen, also evtl. defekte zellen markieren oder durch redundante zeilen oder spalten ersetzen. bei der evaluation der "nackten" chips könnte ich mir so einen vorgang aber durchaus vorstellen (siehe link im obigen post von mir) um die ausbeute zu erhöhen.
für den hersteller ist es effizienter 10% mehr speicherzellen auf einen chip zu packen und später in eine art rom dem (chip internen) controller die defekten zeilen/spalten zu programmieren, als einen ganzen chip wegzuwerfen.
da aber (dram)speicher wesentlich unanfälliger bei vielen speicher/lesezyklen ist wie z.b. festplatten wird das "hardgecoded" und ist im nachhinein nicht im ggs. zu flash/hds nicht mehr veränderbar.

man könnte sich aber durchaus vorstellen, dass das externe speichercontroller system so etwas übernimmt, das könnte sogar auf os-ebene funktionieren.
in systemen die sehr schwer wartbar sind, wie z.b. raumfahrzeugen/satelliten/extraterrestrische missionen muss so etwas unbedingt bedacht werden und man kann das beliebig kompliziert und damit fehlertolerant gestalten.