LS Technische Informatik
Refine
Document Type
- Doctoral thesis (6)
- Habilitation thesis (1)
Has Fulltext
- yes (7) (remove)
Is part of the Bibliography
- no (7)
Keywords
- Fehlertoleranz (4)
- Zuverlässigkeit (4)
- Selbstreparatur (3)
- Built-in self-repair (2)
- Eingebettetes System (2)
- Integrierte Schaltung (2)
- Lebensdauer (2)
- Reliability (2)
- Built-In Self-Test (1)
- Datenfluss (1)
Institute
Im Automobilbereich nimmt die Komplexität eingebetteter Systeme mit steigenden Ansprüchen bezüglich Qualität und Sicherheit, aber auch aus ökologischen und ökonomischen Aspekten stetig zu. Zum einen wird dies erreicht durch die Anzahl der Steuergeräte und Sensoren und deren Vernetzung, zum anderen durch den rasanten technologischen Fortschritt in der Halbleiterindustrie. Durch die hohe Integrationsdichte und die dadurch erhöhte Sensibilisierung gegenüber potentieller Fehlerquellen während des Produktionsprozesses lassen sich bei der Halbleiterfertigung defekte Chips oder solche mit erhöhter Fehleranfälligkeit nicht vermeiden. Somit werden Ausbeute und Lebensdauer hochintegrierter Schaltungen (IC) reduziert. Da diese vermehrt Einzug in die Automobilindustrie halten, ist es wichtig, einen hohen Qualitätsstandard und, gerade in eingebetteten Prozessoren für sicherheitskritische Anwendungen, eine hohe Fehler- und Ausfallresistenz zu gewährleisten.
In einem solch komplexen elektronischen System wäre es daher wünschenswert einen Fehler möglichst frühzeitig zu erkennen, bevor er zu einer Störung essentieller Funktionen führt. Kommt es zum Teil- oder gar Systemausfall, so ist es darüber hinaus von groÿer Bedeutung, einen einmal festgestellten Fehler im Nachhinein in der Werkstatt oder als Rückläufer beim Hersteller schnell und eindeutig reproduzieren und diagnostizieren zu können. Die Ursache eines gemeldeten Fehlers in der Fahrzeugelektronik ist aber häufig nicht einwandfrei feststellbar. So besteht im Fehlerfall nur die Möglichkeit, Systemkomponenten anhand der Fehlerbeschreibung auf Verdacht auszutauschen. Eine nachträgliche Fehleranalyse durch den Halbleiterhersteller erfordert hohen Aufwand, da der IC unter anderem erst von der Platine gelöst werden muss.
Im Produktionstest beim Halbleiterhersteller werden hochauflösende strukturorientierte Verfahren angewandt, um fehlerhafte Chips zu identifizieren und auszusortieren. Hierzu werden in den IC eingebrachte Teststrukturen mit separaten Zugangskanälen genutzt, um eine hohe Fehlerüberdeckung in kurzer Testzeit zu garantieren. Der Testzugang zu dieser Produktionstestlogik steht nach dem Packaging und somit nach dem Aufbringen auf die Steuergeräteplatine nicht mehr zu Verfügung.
Die vorliegende Dissertation präsentiert ein Konzept, das einen für die Diagnose eingebetteter Systeme erforderlichen strukturorientierten Test unter Verwendung der schaltungsinternen Produktionstestlogik und serieller Standardschnittstellen realisiert. Somit wird ein Test eines Automotive-ICs mit hoher diagnostischer Auflösung über eine vorhandene Steuergeräteschnittstelle im Zielsystem (Kraftfahrzeug) ohne Demontage des Steuergerätes und der ICs verfügbar gemacht. Der Testzugang setzt dabei die maximale über die genutzte Standardschnittstelle realisierbare Datenrate um. Dem Steuergerätehersteller kann dadurch ein erweiterter Produktionstest bereitgestellt werden, der weit über den Leiterplattentest hinaus eine nachweisbare hohe Prüfschärfe bietet. Kann die Störung einer Systemfunktionalität durch die Diagnosemöglichkeit bereits im Feld, das heißt, während eines Werkstattaufenthalts, eindeutig auf einen fehlerhaften IC zurückgeführt werden, lassen sich wiederholte Fehlersuchen und teure Reparaturen vermeiden. Der Halbleiterhersteller kann zudem die aus der Diagnose eines defekten ICs gewonnenen Informationen nutzen, um während des Fertigungsprozesses und des Fertigungstests entsprechende Maßnahmen zu ergreifen, mit denen die Chipqualität verbessert werden kann.
Neben dem Testzugang umfasst das entworfene Konzept auch einen integrierten Selbsttest, der strukturelle Fehler des ICs bereits vor einer möglichen Auswirkung auf die Funktionalität des Systems identifizieren kann und somit die Systemzuverlässigkeit erhöht.
Effiziente Auswahl redundanter Komponenten für Prozessoren zur Kompensation permanenter Fehler
(2014)
Die stetige Skalierung von Fertigungstechnologien sorgte für einen rasanten Anstieg der Komplexität und damit auch der Verarbeitungsleistung von integrierten Schaltungen. Dies führte auch zu höheren Anforderungen an die Entwurfs- und Produktionsprozesse für diese Systeme. Zusätzlich dazu steigern Strukturen im Nanometerbereich die Anfälligkeit gegenüber physikalischen Effekten, welche sich in temporären und zunehmend auch dauerhaften Störungen der Funktionalität äußern können. Der Einsatz von Fehlertoleranz ist für diese komplexen Systeme nicht wegzudenken und wird für zukünftige anfälligere Fertigungstechnologien noch relevanter.
In dieser Arbeit wird eine skalierbare Architektur zur Kompensation dauerhafter Störungen für beliebige Prozessorkomponenten vorgestellt. Der Einsatz dieser Architektur ist unabhängig von der Fehlerursache und kann sowohl direkt nach der Produktion als auch während des Einsatzes im Zielsystem genutzt werden. Durch die Verwendung dieser Architektur, auf aktiver Hardware-Redundanz basierend, ist eine Steigerung der Zuverlässigkeit, der Lebensdauer aber auch der Produktionsausbeute bei gleichbleibender Funktionalität möglich. Mit der Modellierung in dieser Arbeit wird die Effizienz der vorgestellten Architektur, unter Berücksichtigung der zusätzlichen Hardware für Redundanz und der notwendigen administrativen Komponenten, ermittelt und ermöglicht damit einen zielgerichteten Auswahlprozess für Prozessorkomponenten und die Menge ihrer Redundanz. Somit wird die optimale Redundanz für ein gegebenes System und ein zu erreichendes Ziel bereits im Entwurfsprozess bestimmtund kann damit frühzeitig bei der Umsetzung berücksichtigt werden.
Neben der Beschreibung des Aufbaus der Architektur und ihrer Funktionsweise zeigt diese Arbeit wie sich eine Integration in bestehende Entwurfsprozesse mit gängigen Methoden und Werkzeugen realisieren lässt. Zusätzlich dazu wird die Systemmodellierung zur Realisierung des zielgerichteten Auswahlprozesses beschrieben. Anhand eines Anwendungsbeispiels wird die Möglichkeit der Umsetzung aufgezeigt und die daraus resultierenden Ergebnisse diskutiert.
The reliability of interconnects on integrated circuits (IC) has become a major problem in recent years because of the rise of complexity, the low-k-insulating material with reduced stability, and wear-out-effects from high current densities. The total reliability of a system on a chip is increasingly influenced by the reliability of the interconnections, which is caused by increased communication from the elevated number of integrated functional units. In recent years, studies have predicted that static faults will occur more often decreasing the reliability and the mean time to failure. The most published solutions aim to prevent dynamic faults and to correct transient faults. However, built-in self-repair (BISR) as a solution for static faults has not previously been discussed along with the other possible solutions. Theoretically, BISR can lead to higher reliability and lifetime. This is my motivation to implement BISR for integrated interconnects. Because BISR cannot repair transient and dynamic faults, I combine BISR with other approved solutions in this thesis. The results show that the combination leads to higher reliability and lifetime with less area and static power overhead compared to the existing solutions.
This thesis introduces a comprehensive approach for making a particular class of embedded processors self-testing and self-repairing, such that a limited amount of permanent hardware faults that occur during the lifetime of these processors in the field will not prohibit the functional behavior of the user application running on the processor. The presented concepts all use redundant hardware, but the techniques used for administrating the hardware-redundancy range from hardware-based methods over hybrid methods to pure software-based methods, whereby the focus is on the latter ones. The proposed methods will be demonstrated by using a processor that is well designed for diagnostic self-test and self-repair purposes. This will also highlight some architectural properties of such a processor, which are beneficial for performing a software-based self-test and self-repair process.
Chapter 1 is an introduction to the field of dependable systems and fault tolerance. Fundamental terms and notations, which are used throughout this thesis for classification and evaluation, are provided. The used processor model – the VARP processor – is introduced in chapter 2 together with a hardware-based self-repair scheme for that processor. The results are used as reference values for evaluating the software-based methods. Chapter 3 introduces the fundamental concept of the software-based self-repair. In chapter 4 hybrid methods are derived by combining software-based and hardware-based methods, highlighting the synergy effects of the combination. Finally, in chapter 5, a diagnostic and adaptive software-based self-test scheme is introduced. This self-test scheme provides the diagnostic capability that is needed in the field for identifying defect components in the VARP processor and completes the comprehensive software-based self-test and self-repair approach.
Elektronische Systeme sind in vielen Bereichen des täglichen Lebens zur Selbstverständlichkeit geworden. Dabei werden diese zunehmend komplexer und leistungsfähiger. Für den Entwurf entstehen dadurch Herausforderungen, die z. B. zunehmend mit Hilfe von SystemC gelöst werden. SystemC, eine C++- Klassenbibliothek, erlaubt die Modellierung von Hardwarekomponenten in einer Programmiersprache, wie sie zuvor nur mittels spezieller Hardwarebeschreibungssprachen möglich war. Die Simulation des Systems im Zusammenhang mit Fehlererscheinungen ist ein wichtiger Schritt für den Zuverlässigkeitsnachweis. Für die Simulation von Fehlern ergeben sich dabei im wesentlichen zwei Einsatzbereiche. Zum einen ist es die Fehlersimulation, welche Testmuster hinsichtlich ihrer Effektivität für den Produktionstest beurteilt. Zum anderen dient sie, häufig als simulierte Fehlerinjektion bezeichnet, dem Nachweis der Fehlertoleranz oder des Systemverhaltens im Betrieb. In dieser Arbeit werden erstmals verschiedene Aspekte und Strategien zur Simulation von Fehlern in digitalen Schaltungen als SystemC-Beschreibungen methodisch untersucht. Vorteile mit der Verwendung von SystemC bestehen z. B. in der Verwendung eines einheitlichen Beschreibungsmittels in einem durchgängigen Ablauf und in der Möglichkeit einer schnellen Ausführung. Voraussetzung für die Simulation von Hardware ist eine entsprechende Modellierungsmöglichkeit. Neben der Betrachtung der Register-Transfer- und Gatterebene wird eine neue Modellierung auf der Schalterebene präsentiert. Der Vorteil liegt hierbei in einer höheren Auflösung bei einer akzeptablen Geschwindigkeitseinbuße, wie sie insbesondere bei der Simulation von Fehlern sinnvoll ist. Bei der Modellierung der Fehler wurden neben dem klassischen Haftfehlermodell weitere Modelle kreiert, die Defekte und Störungen realitätsnäher abbilden. Die Injektion der Fehler in die Hardware-Beschreibung erfolgt mit Hilfe verschiedener Strategien. Neben der Umsetzung von Methoden, wie sie aus anderen Hardwarebeschreibungssprachen bekannt sind, werden weitere Wege in SystemC gezeigt. Hierbei nutzt man spezielle Eigenschaften der Sprache C++ und des SystemC-Kernels. Ergebnis dieser Techniken ist eine Modifikation der SystemC-Bibliothek, die zu einer sehr effizienten Fehlerinjektion führt. Bei der Einführung neuer Entwurfswerkzeuge entsteht oft das Problem der Portierung des bestehenden Know-hows. Eine Alternative kann die Kopplung von bestehenden und neuen Simulationsprogrammen sein. Probleme solcher gekoppelten Simulationen liegen z. B. im zusätzlichen Kommunikationsaufwand und der Synchronisation, welche die Ausführungszeit oft deutlich erhöhen. Die hier präsentierte Mixed-Language-Co-Simulation in Form einer Thread-Implementierung und einer weiteren Modifikation der SystemC-Bibliothek erweist sich aber als sehr effizient im Vergleich zu anderen Co-Simulationen. Eine wesentliche Herausforderung für Simulationsaufgaben besteht in ihren Ausführungen in einer akzeptablen Zeit. Es werden verschiedene Implementierungen der beschleunigten Simulation präsentiert. Dabei kommen unterschiedliche Ebenen der Parallelisierung zur Verwendung und zur Untersuchung in Bezug auf ihre Performance. Eine Kombination verschiedener Methoden führt zu einer zusätzlichen Verbesserung. Mit dieser Arbeit wird gezeigt, dass die Simulation von Fehlern in Hardware mit SystemC praktikabel und sinnvoll ist. Anhand von Simulationen und Bewertungen an Beispielschaltungen wird dies unterstrichen.
In zukünftigen eingebetteten Systemen ist bei zunehmender Integrationsdichte mit einer abnehmenden Zuverlässigkeit zu rechnen. Insbesondere lang laufende Systeme werden mit fortschreitender Zeit Alterungserscheinungen aufweisen, die sich durch den permanenten Ausfall einzelner Komponenten bemerkbar machen. Um die Funktionstüchtigkeit solcher Systeme auch für einen langen Zeitraum zu gewährleisten, sind Funktionen erforderlich, die die Erkennung, Lokalisierung und Behandlung solcher permanenter Fehler erlauben. Diese Funktionen sind dabei in das System zu integrieren. Es existieren dafür bereits verschiedene Ansätze auf unterschiedlichen Systemebenen. Das Spektrum solcher Ansätze reicht von einer Reparatur auf Transistorebene über die Reparatur einzelner Komponenten, die aus einigen dutzend bis einigen tausend Transistoren bestehen, bis hin zu Reparaturansätzen, die komplette Prozessorkerne in einem System ersetzen. Jeder Ansatz hat dabei seine spezifischen Vor- und Nachteile. Das betrifft insbesondere den Aufwand zur Administration der Reparatur sowie die Anwendbarkeit auf beliebige Hardwarestrukturen. Bisher wurden die Reparaturmethoden isoliert entwickelt. In Systemen mit zunehmender Komplexität wird jedoch ein hierarchischer Ansatz benötigt, der die existierenden Techniken ebenenübergreifend verbindet. Dadurch kann eine Zerlegung des Systems in verschiedene Gruppen vorgenommen werden, wobei für jede Gruppe eine spezifische Reparaturmethodik besonders geeignet ist. Es entsteht dadurch ein teils hierarchisch organisierter Reparaturansatz, der unterschiedliche Reparaturtechniken miteinander kombiniert.
Es werden für das hierarchische Verfahren insbesondere software-basierte Reparaturansätze betrachtet, da diese nur einen geringen Administrationsaufwand in Hardware erfordern. Die Nutzung fehlerhafter Komponenten im Prozessor wird dabei durch die Anpassung des ausgeführten Programms an die aktuelle Fehlersituation vermieden. Diese Anpassung kann beispielsweise auf Systemebene, durch Verlagerung eines Programms von einem Prozessorkern auf einen anderen Kern oder auf der Ebene von Prozessorkernen, wobei die Benutzung einzelner Komponenten eines Kerns vermieden wird, erfolgen. Diese Anpassungen lassen sich durch Techniken, wie sie im Backend eines Compilers eingesetzt werden, bewerkstelligen. Die Reparatur auf den verschiedenen Ebenen erfordert dabei unterschiedlich mächtige Backends. Das reicht von einem Backend, das nur eine Ablaufplanung ändert, über ein Backend, das darüber hinaus noch die Registervergabe anpasst, bis hin zu einem Backend, das den Programmcode zweier Prozessorkerne vertauscht und an den jeweiligen Kern anpasst. Die Ausführung der software-basierten Reparatur soll dabei möglichst durch den fehlerhaften Kern selbst ausgeführt werden. In schwerwiegenden Fällen erfolgt eine administrierte Reparatur auf der Systemebene durch einen zur Reparaturzeit bestimmten Prozessorkern des Systems. Der Aufwand für entsprechende Backends sowie deren Möglichkeit zur Fehlerbehandlung werden in dieser Arbeit untersucht.
Die Skalierung von Bauelementen der Mikroelektronik bis hin zu atomaren Dimensionen hat einen zunehmenden negativen Einfluss auf deren Zuverlässigkeit und mittlere Lebensdauer. Durch uneinheitliches Skalieren der räumlichen Ausdehnung im Vergleich zur Versorgungsspannung steigen die internen Energiedichten und damit die Temperatur. Diese trägt wesentlich zur Verstärkung gewisser Fehlereffekte bei. Maßnahmen wie Selbstreparatur und Entstressen können dieser Entwicklung entgegenwirken, wobei Kombinationen solcher Ansätze noch bessere Ergebnisse versprechen. Ziel der vorliegenden Dissertationsschrift ist es, eine dieser Kombinationen auf ihre Kosten und Nutzen zu untersuchen. Damit kann am Ende die Aussage getroffen werden, ob die Activity Migration eine gewinnbringende Ergänzung in einem zur Selbstreparatur genutzten M aus N System darstellt oder nicht.
Um dieses Ziel zu erreichen, werden zuerst fünf verschiedene Implementierungen des Ansatzes in einem VLIW Prozessor erstellt. Anschließend findet die Simulation der Implementierungen in verschiedenen Strukturgrößen, in Bezug auf ihr Temperaturverhalten statt. Über entsprechende Modellierungen wird daraufhin die Zuverlässigkeit und mittlere Lebensdauer der Originalsysteme, Systeme mit reinem M aus N System und den Systemen mit integrierter Activity Migration in Abhängigkeit von Temperatur und Fläche ermittelt. Die erzeugten Ergebnisse belegen, dass das Hinzufügen der Activity Migration bei den untersuchten Prozessormodellen, mit starker thermischer Kopplung zwischen Funktions- und Ersatzbaugruppen, warmer Redundanz, Rekonfiguration im laufenden Betrieb und den gegebenen Formeln zur Berechnung der Fehlerraten verschiedener Fehlermodelle, keinen nennenswerten Gewinn an Lebensdauer erbringt, da das reine M aus N System bereits zu einer deutlichen Lebensdauersteigerung führt.