Software-Lockstep für funktionale Sicherheit beim automatisierten Fahren

Zum ersten Mal in der Geschichte der Halbleiterbranche wird die Hardware allmählich unzuverlässiger. Dieses Problem, dessen Ursachen in den beiden Hauptfaktoren Physik und Komplexität ihre Wurzeln haben, müssen Entwickler berücksichtigen, die gemäß ISO 26262 sichere Systeme mit ASIL-Einstufung entwickeln.

Um zu erkennen, warum Software-Lockstep eine interessante Lösung ist, sollte man die Problemfaktoren Physik und Komplexität näher betrachten. Stichwort Physik: Es gibt CPUs, die mit immer höheren Taktgeschwindigkeiten laufen und dabei mehr Wärme erzeugen, jedoch gleichzeitig mit kleineren Transistoren arbeiten, was sich mittlerweile über die Anzahl der Atome messen lässt. Wärme führt zu einem schnelleren Verschleiß, denn je heißer das Bauteil im Betrieb wird, desto früher fällt es aus. Verkleinerte Chips wiederum bedingen Transistoren, die extrem anfällig für Fehler sind, die durch elektromagnetische Störungen, die Auswirkungen von Alphateilchen und Neutronen sowie durch Übersprechen bei benachbarten Zellen hervorgerufen werden. Diese Probleme treten auch in DRAM-Systemen auf; bei modernen DRAMs mit mehreren Gigabyte gehen Experten dabei von Bitfehlern in einer Größenordnung von einem Fehler pro Stunde aus.

In Sachen Komplexität lässt sich konstatieren, dass die Hersteller immer mehr in Wechselbeziehung zueinander stehende Funktionen zu den einzelnen CPUs hinzugefügt haben. Leider enthalten CPUs Fehler, von denen viele erst gefunden werden, nachdem der Chip bereits in die Produktion gegangen ist; bekannte Fehler dokumentieren die Hersteller dabei in ihren Fehlerverzeichnissen. Solche Fehler können die Berechnungen beeinträchtigen und zu fehlerhaften Ergebnissen führen – und damit Sicherheitsschwachstellen schaffen. Die Wahrscheinlichkeit derartiger Fehler wirkt sich unmittelbar auf die ASIL-Einstufung gemäß ISO 26262 aus.

Überprüfung

Um solche Fehler zu erkennen und zu überwinden, müssen Systementwickler Kompensationsmechanismen implementieren. Ein möglicher Ansatz hierbei ist, dass das System jede Berechnung mindestens zweimal durchführt und dann die Ergebnisse vergleicht. Einige Mikrocontroller nutzen eine Technik, die unter dem Namen „Hardware Lockstep“ bekannt ist. Hierbei führen zwei CPUs gleichzeitig die gleichen Anweisungen aus, und eine spezielle Hardware vergleicht die Ergebnisse. Wenn die Hardware eine Abweichung entdeckt, ermittelt eine unabhängige Diagnose-Routine, welche CPU fehlerhaft war, und die Systemsoftware ergreift daraufhin Abhilfemaßnahmen. Leider unterstützt diese Technik in der Regel nur Repliken und keine verschiedenen Implementierungen. Zudem kann sie keine Softwarefehler erkennen – schließlich führen beide CPUs den fehlerhaften Code „korrekt“ aus – und sie ist nicht skalierbar, da die Anzahl der Repliken von der Hardware fest vorgegeben ist. Weiterhin ist diese Technik für die heutige Hochleistungshardware nicht sonderlich praktisch, da es bei einer Hardwareprüfung viel zu viele Informationen zum internen Status zu überprüfen gibt.

Veröffentlichung:
10. August 2018

Auto-mat ist eine Initiative von

TCS Logo
 
 

Das Portal wird realisiert von

Mobilitätsakademie
 
 
© 2018 - auto-mat.ch