Gestern habe ich mich mit ein paar alten Kollegen getroffen. Wir hatten alle zusammen an einem größeren Software Projekt gearbeitet. Manche der Anwesenden sind nicht mehr dabei, andere arbeiten immer noch daran, oder verlassen gerade das Projekt.
Natürlich haben wir uns über die Software unterhalten und festgestellt, daß selbst nach über zehn Jahren immer noch neue Bugs auftreten und an die Hotline ran getragen werden. Wir haben uns natürlich gefragt, wie das sein kann. Irgendwann müßten doch mal alle Probleme beseitigt sein! Die Diskussion wurde während einem Essen mit guten Getränken geführt.
Da hatte einer die zündende Idee. Das Problem liegt nicht an der Software direkt. Das Problem tritt durch altersschwache Bytes auf! Da war ich baff. Das hatte ich ja noch nie gehört. – Aber doch sagt er! Denk nur an den Starfighter. Bevor die nicht alle immer wieder vom Himmel gefallen sind hatte auch noch keiner was von Materialermüdung gehört. So ähnlich läuft das mit viel genutzer Software auch.
Nach ein paar weiteren Bier und mehr Diskussion hatten wir das Problem auch eingegrenzt und auch einen Lösungsansatz.
Je älter die Bytes in einer Software werden, um so mehr neigen die einzelnen Bits dazu zu verkalken. Ist ja logisch, passiert ja bei Menschen auch. Dadurch treten dann immer wieder zufällige Fehler auf, da nicht bei jedem Byte die gleichen Bits verkalken. – Ergo, es müßte also eine Lösung gefunden werden, um die geschädigten Bits zu identifizieren, denn durch ihre Verkalkung können sie nicht mehr zwischen den Zustände 1 oder 0 hin und her schalten, sondern bleiben entweder 1 oder 0.
Wir haben beschlossen, daß wir eine Software schreiben können, die diese überalterten Bytes erkennt und die Information der geschädigten Bits wo anders abspeichert, wo sie sicherer ist. Gleichzeit muß ein Verwaltungsprogramm her, das dafür sorgt, daß statt auf die verkalkten Bits auf die Ersatzbits zugegriffen wird. Ist ja alles ganz klar!
Jetzt müssen wir nur noch die Kunden davon überzeugen, daß sie die Entwicklung dieser Lösung finanzieren.
HarHar…
‚Altersschwache‘ Bytes in einem Programm selbst gibt es bestimmt nicht (geht man vom vorhandenen Quellcode oder dem aus was nach dem Kompilieren herauskommt). Es gibt höchstens altersschwache oder faule Programmierer… 🙂
View CommentSobald das irgendwo gespeichert wird/ist, tritt
die zufällige Veränderbarkeit ein.
Natürlich verändern sich z.B. optische und auch
magnetische Datenträger (CDs/DVDs, Bänder, Disketten, Festplatten) insbesondere mit der Zeit und können nach einer gewissen Lagerzeit Bitfehler aufweisen.
Bei statischen Langzeit- bzw. Permanentspeichern tritt sowas wenn überhaupt nur selten auf, solange diese in den Grenzen der Soll-Spezifikation betrieben werden.
Generell können Bitfehler bei jedwelchem Lese-
oder Schreibvorgang auftreten, dazu hat man aber auch meist Fehlerkorrekturmechanismen wie CRC,
Parity , ECC usw.
Hallo Bernd,
nein faul wollten wir nicht sein, wir wollen ja sogar ein Verwaltungsprogram schreiben für die verkalkten Bits.
View CommentLeider konnten wir unsere Kunden jedoch noch nicht davon überzeugen.