Inhalt von zerstörten CMOS-EEPROMs retten

  • Moin,


    hier ein kurzer Tip, der gerade sehr erfolgreich genutzt wurde um den Inhalt des EEPROMs eines LocalTalk Druckerinterfaces zu retten, welches durch Überspannung zerstört wurde.


    Das ganze klappt natürlich nicht bei jedem EEPROM, je nachdem, was genau zerstört wurde, aber der Fall, dass der VCC Pin offen ist, kommt (gerade bei Überspannung und falschem Einsetzen in den Sockel) vor.

    Das EEPROM muss dazu relativ neu sein, vermutlich in CMOS-Technik gebaut sein und (das ist der wichtige Teil) interne ESD-Schutzdioden haben.


    Wenn man also zwischen GND und D0/Q0 des EEPROMs mit dem Multimeter noch eine Diode messen kann (~0.6ish Volt), lässt sich vielleicht etwas retten.


    Eine der Datenleitungen wird hart auf VCC gezogen während das EEPROM im Lesegerät steckt. Dump speichern, andere Datenleitung hart auf VCC ziehen und wieder einen Dump ziehen.

    Dann hat man 2 Dumps, jeweils mit einem anderen Bit dauerhaft auf VCC.


    Wenn man jetzt mit einem kleinen Skript (z.B. hier PHP) die beiden Dateien wieder zusammenbaut, hat man einen prima EEPROM-Dump:

    Oben - Bit 0 dauerhaft auf VCC

    Mitte - Bit 7 dauerhaft auf VCC

    Unten - Kombiniert, korrekter Dump



    Folgendermaßen hab ich die Dumps zusammengebaut:


    Das wird sicherlich nicht in allen Fällen klappen, häufig geht bei Überspannung und ähnlichem mehr kaputt, aber einen Versuch kann es ja häufig wert sein!

    Wenn wir damit nur ein seltenes Gerät mehr retten können, hat sich das Schreiben hier ja schon gelohnt :D


    Viel Erfolg
    Tobias

  • Coole Idee!

    Das Zusammenbasteln könnte man noch vereinfachen. Es würde reichen, die Bytes der beiden Dumps bitweise zu verUNDen, dadurch wird die '1' der Spanungsversogung nur übernommen, wenn sie auch im anderen Dump an gleicher Stelle vorhanden ist.


    Schöne Grüße,


    Alex

  • Da diese Schutzdioden eigentlich an allen Pins sind, müsste es auch gehen, z.B. /WE und/oder CE2 (high aktiv, falls vorhanden) fest an VCC zu legen.

    Kannste ja mal mit diesem PROM probieren.

  • Und wie beschreibt man es denn dann?

  • Diese Methode hier dürfte aber bei allem möglichen von EPROMs bis Flash-ICs funktionieren, solange sie CMOS sind.

    Da gehe ich auch von aus.

    Aber wie reinhard habe ich auch ueberlegt bei einem EEPROM oder FLASH den /WE Eingang als Versorgungspin zu benutzen.

    Erstens ist der Lesen immer High und man spart sich den 2. Durchgang und das zusammenkopieren der Daten.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Jup, ich hatte auf eine WriteProtect Leitung oder ähnliches gehofft.

    So ist es. Hab ich ja auch vorgehabt bzw. mir gewünscht, aber das EEPROM hatte leider keine.


    In jedem Fall wollte ich mit diesem Post ja einfach auf die Möglichkeit der Versorgung durch die Bodydioden hinweisen und einfach allgemein diesen Trick ins Bewusstsein der Leute rufen.

  • aber das EEPROM hatte leider keine.

    Doch, EEPROMs haben ein WriteEnable. ;)

    Alles gut, ich hab's verstanden.


    Die Idee ist ja auch richtig gut. :thumbup:

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • EEPROM = Electrically Eraseable (and) Programmable Read Only Memory - oft ohne besondere Programmierspannung, aber mit /WE Anschluß.

    Die nicht elektrisch löschbaren heissen (E)PROM = (Electrically) Programmable Read Only Memory, typischerweise nicht in der Schaltung programmierbar, da auch eine höhere Programmierspannung benötigt wird.


    Das doch bitte nicht einfach verwurschteln :)


    Sonst kannste NAND-FLASH, NOR-FLASCH, NVRAM, FRAM alle gleich mit in die Tüte werfen...

  • Sonst kannste NAND-FLASH, NOR-FLASCH, NVRAM, FRAM alle gleich mit in die Tüte werfen...

    FRAM ist aber 'ne andere Technologie.

    Das aber nur zur Vollständigkeit.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Die nicht elektrisch löschbaren heissen (E)PROM = (Electrically) Programmable Read Only Memory,

    ROM = Read-Only Memory / masken programmiert = maske bei der chip herstellung.


    PROM = Programmable Read-Only Memory / beinhalten sicherungen die weggebrannt werden. daher der begriff brennen.


    OTP = One Time Programmable / sind normale EPROMs im plastik gehäuse und ohne dem löschfenster.


    EPROM = Erasable Programmable Read-Only Memory /

    als ich den ersten EPROM programmer für den PET entwickelte, benutzte ich den falschen begriff EPROM brenner.

    da ich vorher den PROM brenner entwickelte. so auch den begriff EPROM brennen. korrekt ist aber EPROM programmieren.


    EEPROM = Electrically Erasable Programmable Read-Only Memory


    gruß

    helmut

    5 Mal editiert, zuletzt von axorp () aus folgendem Grund: edit...