[Back]


Diploma and Master Theses (authored and supervised):

O. Hechinger:
"Analysis of the Failure Behavior of Memory Management Units";
Supervisor: A. Steininger; Institut für technische Informatik, 2013.



English abstract:
A promising approach for lowering the complexity of safety critical embedded systems like,
e.g., the distributed network of Electronic Control Units (ECUs) in a modern car, is to combine
the functionality of multiple ECUs in one unit. Doing so, however, gives rise to the problem
of mutual influence of otherwise independent functionalities. Hence, proper separation in between
them becomes critical and mandatory. One foundation for this is to introduce a hardware
enforced memory separation.
This work is going to describe two different memory protection mechanisms, i.e., the hardware
enforced separation in multiple memory regions by a Memory Protection Unit (MPU) and
the full memory virtualization by virtual memory. The latter is nowadays common in PCs and
even mobile phones and is implemented in a hardware assisted fashion by using a Memory Management
Unit (MMU). This work is going to put its focus on this hardware unit and its failure
possibilities. To the best of our knowledge, no such in-depth elaboration about MMU failure
modes exists.
The MMU features provided by a selection of modern embedded system processors are
presented and described. These features are then abstracted in a theoretical MMU, termed hypothetical
MMU, consisting of multiple functional blocks. The functionalities and interconnections
of these blocks are explained and an in-depth analysis of the failure modes of this MMU
is provided. The analysis is based on a single-fault assumption w.r.t. faults within the MMU
and additionally considers wrong memory accesses by the processor in combination with MMU
internal faults.
In order to confirm, extend or refute the theoretical analysis, a simulation based fault injection
in the MMU of the LEON3 processor is performed. This fault injection covers all internal
signals of a synthesized version of the MMU and is implemented with tool support. The results
of the fault injection are analyzed for their validity and possible bias due to the implemented
fault injection method.
While the quantitative forecasting of failure rates is not an objective of this thesis, it is shown
that MMUs are prone to critical failure modes and thus should be appropriately protected if a
usage in a safety critical system is targeted. The fault injection shows that the theoretical analysis
sufficiently covers the experienced failure behavior. Furthermore, especially critical components
are pinpointed with relative failure rates and different fault mitigation mechanisms are presented
along with an evaluation of their feasibility.
v

German abstract:
Ein erfolgversprechender Ansatz, um die Komplexität sicherheitskritischer Systeme - wie zum
Beispiel dem verteilten Netzwerk von Steuergeräten in einem modernen Auto - zu reduzieren,
ist es die Funktionalität mehrerer Steuergeräte auf eines zusammenzufassen. Dadurch ergibt
sich allerdings die Möglichkeit, dass sich andernfalls unabhängige Funktionalitäten gegenseitig
beeinflussen. Deshalb wird in diesem Fall eine zuverlässige Abgrenzung zwischen den Funktionalitäten
unverzichtbar. Eine Grundlage hierfür ist eine in Hardware realisierte Speicherabgrenzung.
Diese Diplomarbeit beschreibt zwei unterschiedliche Speicherabgrenzungsmöglichkeiten.
Dies sind einerseits die Hardware-realisierte Unterteilung in verschiedene Speicherregionen
mittels einer Memory Protection Unit (MPU) und andererseits die vollständige Speichervirtualisierung
durch virtuelle Speicherverwaltung. Letzteres ist der heutzutage übliche Ansatz in
PCs sowie Smartphones und wird durch eine sogenannte Memory Management Unit (MMU)
Hardware-unterstützt implementiert. Diese Arbeit wird ihr Hauptaugenmerk auf diese Hardwareeinheit
und ihre Fehlermöglichkeiten legen. Uns ist bisher keine derartige Ausarbeitung über
MMU Fehlermöglichkeiten bekannt.
Die MMU Funktionen einer Auswahl moderner Prozessoren für eingebettete Systeme werden
dargestellt und beschrieben. Auf Basis dieser Funktionen wird eine theoretische MMU, bestehend
aus unterschiedlichen Blöcken, abstrahiert. Die Funktionen und Querverbindungen dieser
Blöcke werden erklärt und auf ihre Fehlermöglichkeiten untersucht. Die Analyse beruht auf
einer Einzelfehlerannahme bezüglich Fehler innerhalb der MMU und behandelt zusätzlich noch
Kombinationen aus illegalen Speicherzugriffe des Prozessors mit internen Fehlern der MMU.
Um diese theoretische Analyse zu bestätigen, zu erweitern oder zu widerlegen, wird eine
simulationsbasierte Fehlereinstreuung in die MMU des LEON3 Prozessors durchgeführt. Diese
Fehlereinstreuung deckt alle internen Signale einer synthetisierten Version dieser MMU ab und
wird automatisiert durchgeführt sowie ausgewertet. Die Ergebnisse der Fehlereinstreuung werden
auf ihre Validität und mögliche systematische Messabweichungen untersucht. DesWeiteren
werden die Ergebnisse der theoretischen Analyse zugeordnet.
Während die quantitative Vorhersage der Fehlerraten kein Ziel dieser Arbeit ist, wird gezeigt
dass MMUs anfällig für kritische Fehlermöglichkeiten sind und deshalb ausreichend Schutzmaßnahmen
getroffen werden müssen, wenn ihr Einsatz in sicherheitskritischen Systemen angestrebt
wird. Überdies zeigt sich, dass die theoretische Analyse das festgestellte Fehlerverhalten
ausreichend abdeckt. Zusätzlich werden besonders kritische Teile mit relativen Fehlerraten
offenbart und verschiedene Schutzmaßnahmen beschrieben, sowie auf ihre Anwendbarkeit überprüft.


Related Projects:
Project Head Andreas Steininger:
Fehleranalyse MMU