Ohne Einsatz von Doppelzellen-E²Proms gehen Daten verloren

Als Ingenieur wird ein Großteil der Karriere von einer Reihe persönlicher Laptops begleitet. Ich habe mit der IBM ThinkPad-Reihe begonnen, weil sie eine sehr solide Konstruktion hatten und sehr zuverlässig waren. Ich hatte einmal ein ThinkPad 560X, das so tragbar war, wie es vor 20 Jahren auf den Markt kam, ohne CD oder Diskette (erinnern Sie sich daran?). Es wurde schließlich durch einen anderen Laptop ersetzt, und ein weiterer, und schon ging es weiter.

Vor etwa zehn Jahren beschloß ich, ein digitales Heim-Stereosystem zusammenzustellen, das von einem netten, kompakten Laptop gesteuert werden sollte, der nicht viel Platz im Regal beanspruchen würde. Es war sinnvoll, alte Hardware für diese Aufgabe umzuwidmen. Die Audioausgabe über das eingebaute 3,5-mm-Laufwerk war für den intel Pentium-Prozessor im ThinkPad 560X kein Problem, also zog ich den Laptop aus dem Speicher und baute mein Heim-Audiosystem darum herum.

Eines hellen Sonntagmorgens bootete ich den Laptop, sodaß ich Meat Loaf aus meinen Lautsprechern hinausschmettern lassen konnte, während ich an meinem Kaffee nippte. Es war ein ganz normaler Sonntagmorgen, bis ich Sekunden später von den Lautsprechern des ThinkPad hörte:

BEEEEEEEEEP! BEEEEEEEEEP!

Diejenigen unter Ihnen, die noch mit dem alten Basic Input/Output System (BIOS) System vertraut sind, werden vor Entsetzen zurückschrecken, wenn sie den Piepton des Power-On Self-Test (POST) des Laptops hören. Ich schaute auf den Bildschirm und sah einen dreistelligen POST-Fehlercode.

Auf dem Weg zu meinem täglichen Arbeits-Laptop schaute ich den Fehlercode nach und hoffte, daß der Laptop vielleicht entschieden hatte, daß er meinen Musikgeschmack nicht mochte. Leider sagte mir der Code, daß das EEPROM, in dem die BIOS-Konfiguration gespeichert war, nicht mehr daran interessiert war, seine Daten zu behalten. Mehrere Neustarts waren vergeblich – sie waren weg.

Weitere Untersuchungen ergaben, daß die damaligen IBM ThinkPads ihre BIOS-Konfigurationsdaten in einem seriellen EEPROM speicherten, das auf die Hauptplatine gelötet war. Die EEPROM-Technologie befand sich damals noch in der frühen Entwicklungsphase, wobei die Halbleiterhersteller fleißig daran arbeiteten, ihre Geräte schneller und zuverlässiger zu machen und gleichzeitig die Datenspeicherung zu verbessern und die Kosten zu senken.

Ich bewahrte den Laptop im Speicher auf, schaltete ihn gelegentlich ein und hoffte, er würde mich beim Booten überraschen, aber wie jede gute Beziehung, die schief ging, waren die guten alten Zeiten vorbei.

Heute ist die EEPROM-Datenspeicherung wichtiger denn je. Mit dem Internet der Dinge (IoT), dem Industriellen IoT (IIoT) und Knotenpunkten, die eine viel längere Datenaufbewahrung mit verbesserter Zuverlässigkeit erfordern, haben die EEPROM-Hersteller bedeutende Verbesserungen vorgenommen, die es ermöglichen, Daten jahrzehntelang zu sichern.

Zum Beispiel bietet Rohm Semiconductor eine Auswahl von EEPROMs für die Automobilindustrie (automotive-grade EEPROMs) an, die für eine sehr lange Lebensdauer der Datenspeicherung und Zuverlässigkeit ausgelegt sind. Das BR24G64NUX-3ATTR ist ein 64-Kilobit (kbit)-Automobil-EEPROM mit einer I²C-Schnittstelle, das Rohm für mehr als 40 Jahre Datenspeicherung und über eine Million Schreibzyklen spezifiziert hat. Es wird in einem 8-poligen UFDFN-Gehäuse mit freiliegenden Pads geliefert (Abbildung 1). Die serielle I²C-Schnittstelle kann mit einem Host-Mikrocontroller bei 1 Megahertz (MHz) mit einem VCC-Bereich von 1,7 bis 5,5 Volt verbunden werden.

image

Abbildung 1: Das BR24G64NUX-3ATTR ist ein 64-Kbit-EEPROM mit einer Doppelzellen-Speicherstruktur, das Daten für mehr als 40 Jahre speichern kann. (Bildquelle: Rohm Semiconductor)*

Die BR24G64 EEPROM-Familie verfügt über mehrere Datenschutzfunktionen. Ein Write Protection (WP)-Pin ermöglicht es einer externen Schaltung, einen Hardware-Schreibschutz für die E²Prom-Daten vorzuschreiben. Wenn WP = GND ist, sind Datenschreiboperationen erlaubt. Wenn WP = VCC, werden alle Datenschreibvorgänge in das EEPROM-Speicherarray blockiert. Lesevorgänge sind erlaubt, ebenso wie Lese- und Schreibvorgänge in interne Register. Auf diese Weise kann verhindert werden, daß die Mikrocontroller-Host-Firmware während eines externen Ereignisses, das mit einer Schreiboperation in Konflikt geraten könnte, in das EEPROM schreibt.

Viele EEPROM-Einzelbit-Ausfälle treten nicht während des normalen Betriebs auf, sondern während der kurzen Ein- und Ausschaltvorgänge. Diese Ereignisse erzeugen unerwünschte Niederspannungstransienten, die dazu führen können, daß ein unbeabsichtigtes Schreibsignal mit Spitzenwerten an eine EEPROM-Zelle angelegt wird, was zu einem Einzelbit-Ausfall führt. Um dies zu verhindern, verfügen die Automobil-EEPROMs von Rohm über zwei interne Schutzschaltungen. Die Einschalt-Rücksetzschutzschaltung wartet, bis VCC auf eine minimale interne Spannung angestiegen ist, wonach sie dann VCC an den Rest des Chips anlegt. Dies verhindert interne Niederspannungstransienten und stellt sicher, daß das EEPROM-Speicherarray während des Einschaltvorgangs nicht beschädigt wird. Die zweite ist eine Unterspannungs-Schutzschaltung, die verhindert, daß Fremdschreibvorgänge in den Speicher erfolgen, wenn VCC zu niedrig wird. Wenn VCC zu niedrig unter die minimale Betriebsspannung fällt, setzt sich das EEPROM selbst zurück, um ein Fehlschreiben des EEPROM zu verhindern.

Der EEPROM-Datenspeicher ist für schnelle Leseoperationen und ein relativ schnelles Schreiben ausgelegt. EEPROMs schreiben Daten in eine Speicherzelle, indem Elektronen durch eine Tunneloxidschicht geleitet werden. Dieser Film kann sich im Laufe der Zeit und Temperatur zersetzen, und der Film wird bei jedem Schreibvorgang der Zelle geschwächt. Sogar bei der Lagerung können hohe Temperaturen den Film degradieren. Irgendwann wird sich die Zelle so weit degradieren, das es zu einem Speicherbitfehler führt, der die Zelle bei einer logischen 1 festhält. Aus diesem Grund wurden EEPROMs im Laufe der Jahre von Einzelbit-Speicherausfällen geplagt, was bei meinem ThinkPad 560X passierte, als ich zum Spielen von Meat Loaf startete. Als der Dateninhalt des EEPROM weg war, gab mir der 560X einen Code für einen Prüfsummenfehler aus, das traurige Ende aufgrund eines Einzelbitfehlers.

Die Automobil-EEPROMs von Rohm verwenden eine Doppelzellenstruktur für jedes Speicherbit. Eine Leseschaltung überwacht den Zustand der ersten Zelle. Wenn die Zelle kurz vor dem Ausfall steht, springt die zweite Zelle ein, während die erste Zelle deaktiviert ist. Dies erhöht zwar die Größe des Chips, führt aber zu einer Datenspeicherung von 40 Jahren und über einer Million Schreibzyklen. Nun, zwei von drei sind nicht schlecht.

Schlussfolgerung

Wären die hochzuverlässigen Automobil-EPROMs von Rohm Semiconductor schon vor 20 Jahren auf dem Markt gewesen, würde mein ThinkPad 560X immer noch Musik spielen, anstatt zu piepsen! Beep! an jenem strahlenden Sonntagmorgen zu einem wohlverdienten Ableben.