EP1917591A1 - Vorrichtung und verfahren zur konfiguration einer halbleiterschaltung - Google Patents

Vorrichtung und verfahren zur konfiguration einer halbleiterschaltung

Info

Publication number
EP1917591A1
EP1917591A1 EP06778034A EP06778034A EP1917591A1 EP 1917591 A1 EP1917591 A1 EP 1917591A1 EP 06778034 A EP06778034 A EP 06778034A EP 06778034 A EP06778034 A EP 06778034A EP 1917591 A1 EP1917591 A1 EP 1917591A1
Authority
EP
European Patent Office
Prior art keywords
semiconductor circuit
functional units
unit
comparison
faulty
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP06778034A
Other languages
English (en)
French (fr)
Inventor
Reinhard Weiberle
Bernd Mueller
Eberhard Boehl
Yorck Collani
Rainer Gmehlich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP1917591A1 publication Critical patent/EP1917591A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Definitions

  • a fiducial component can be identified.
  • a preferred option is to have all execution units execute the same program in parallel. Preferably, but not necessarily, this can be realized by operating the execution units in a lockstep mode or else with a fixed clock or phase offset. Through a suitable comparison, a majority decision can be used to identify a potentially present defective component.
  • the results of this program can additionally be compared with the previously known results by means of an external unit (Watdendag, other ⁇ C, test device, ASIC).
  • step N705 a check is made as to whether a faulty execution unit can already be identified by the existing configuration of switching and processing logic. If so, steps N710 (Fault Detection Configuration) and N720 (Identification Step) are already completed, and it goes directly to Step N730. This is the case, for example, when the error occurs in a subsystem in which the signals from 3 execution units are compared. If this is not the case (in step N705) (for example, if an error is detected in a subsystem of two execution units running in a compare mode), a configuration that allows error identification should first be selected in step N710.
  • the influence component N830 uses this information in order to use the means at its disposal to influence the lines or functional groups in the component in such a way that the faulty components are inactive.
  • the switching logic N810 uses the information and uses the first logic circuitry to configure the outputs of the execution units according to the required activity and passivity.
  • the invention described herein is used with ECC protection for other memory elements.
  • ECC protection for other memory elements.
  • a highly available device is created in which both memory and execution units are designed to be fault-tolerant, thus making it possible to maximize both the yield and to ensure optimum availability during operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Hardware Redundancy (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

Vorrichtung und Verfahren zur Konfiguration einer Halbleiterschaltung mit wenigstens zwei gleichen oder gleichartigen Funktionseinheiten, wobei bei einem Fehler in wenigstens einer der gleichen oder gleichartigen Funktionseinheiten die fehlerhafte Einheit identifiziert und deaktiviert wird.

Description

Vorrichtung und Verfahren zur Konfiguration einer Halbleiterschaltung
Stand der Technik
Die Fertigung von komplexen Halbleiterbauelementen wie MikroControllern (μC) oder auch ASICs ist fehleranMlig. Da die Dotierung bei immer kleiner werdenden Strukturgrößen ein statistischer Prozess ist, sind auch langfristig Fehler in der Fertigung unvermeidbar. Es zeichnet sich sogar ab, dass die Fehleranlalligkeit, trotz großer Anstrenguα- gen und Fortschritte in Zukunft steigen wird. Die Ausbeute (Yield), d.h. das Verhältnis der korrekt arbeitenden Bauelemente zur Zahl der gefertigten Bauelemente ist für einen beherrschten Fertigungsprozess bei etwa 90% (d.h. auch hier schon: 10% Ausschuss), es ist aber durchaus möglich, dass sehr viel niedrigere Werte vorkommen. Mechanismen zur Steigerung der Ausbeute sind also direkt kostensenkend. Darüber hinaus kommt aus Test- und Fertigungsüberlegungen verstärkt die Anforderung, mit fehlerhaften Bauelementen im Feld umgehen zu können.
Um Fehler bei der Fertigung von Speicherbausteinen wie Flash, RAM oder ROM im Betrieb zu tolerieren, ist ein heute schon teilweise eingesetztes Mittel die Verwendung eines error correcting codes (ECC). Bei diesem werden über die Abspeicherung der Datenbits hinaus auch noch Prüfbits mit abgespeichert. Die Prüfbits sind derart, dass bei Verfäl- schung nur eines Bits (oder einer bekannten Maximalzahl von Bits) der Fehler durch eine
Zusatzlogik detektiert und korrigiert werden kann. Dies bewirkt, dass das gesamte Bauelement (oder die entsprechende Teilkomponente eines Bauelements) auch in Anwesenheit von Fehlern ein korrektes Ergebnis liefert. Die Mitabspeicherung der Prüfbits erfordert einen signifikanten Zusatzaufwand, während die notwendige Zusatzlogik praktisch keine großen Zusatzkosten verursacht. Fehler in Halbleiterschaltungen, insbesondere in Rechnersystemen können auch im Betrieb dieser Schaltungen auftreten. In den meisten Fällen ist es nicht möglich, eine hohe Verfügbarkeit in systematischer Form auch bei permanenten Fehlern zu gewährleisten. Eine der wenigen Ausnahmen sind ECC-Mechanismen für Speicher. Für transiente Fehler in Prozessoren, insbesondere CPUs sind Recovery oder Reset-Maßnahmen bekannt. Für
Fehler in Ausführungseinheiten ist aber kein realistisches, kostengünstiges Konzept zur Tolerierung von permanenten Fehlern bekannt.
Es ist eine erste Aufgabe der Erfindung, die Ausbeute im Herstellungsprozess von μCo- der Halbleiterbauelementen zu verbessern, insbesondere dadurch, dass auch für Bauelemente mit fehlerhaften Funktionseinheiten eine Verwendung ermöglicht wird. Eine zweite Aufgabe der Erfindung ist es, die Verfügbarkeit von Bauelementen im Betrieb zu erhöhen. Dazu sollen Mittel zur Verfügung gestellt werden, die es ermöglichen, fehlerhafte Ausführungseinheiten (z. B. Cores, ALU, Prozessoren) in einem Bauelement zu identifi- zieren, und die eine „graceful degradation" oder einen Notlauf im Betrieb eines Systems, das dieses Bauelement verwendet, ermöglichen.
Vorteile der Erfindung
Betrachtet wird eine Halbleiterschaltung, beispielsweise ein μC, die wenigstens zwei gleiche oder gleichartige Funktionseinheiten enthält. Am Ende des Produktionsprozesses, bei der Montage, bei der Diagnose oder in Testphasen im Betrieb werden mittels eines Testprogramms potenzielle fehlerhafte Funktionseinheiten identifiziert. Dies kann Vorteilhafterweise mittels einer Umschalt- und Vergleichsfunktion, beispielsweise dargestellt in einer Umschalt- und Vergleichseinheit erfolgen, die die Ausgangssignale einer Funktionseinheit mit den Ausgangssignalen wenigstens einer weiteren Funktionseinheit und/oder mit weiteren Referenzwerten vergleicht. Es wird in einem Speicherelement abgespeichert, welche Funktionseinheiten fehlerhaft sind. Diese Funktionseinheiten werden, z. B. von der Umschalt- und Vergleichseinheit oder über eine Unterbrechungseinrichtung deaktiviert. Das Bauelement ist, obwohl es fehlerhafte Funktionseinheiten enthält, dennoch verwendbar und funktionsfähig.
Vorteilhaft ist ein Verfahren zur Konfiguration einer Halbleiterschaltung mit wenigstens zwei gleichen oder gleichartigen Funktionseinheiten beschrieben, dadurch gekennzeich- net, dass bei einem Fehler in wenigstens einer der gleichen oder gleichartigen Funktionseinheiten die fehlerhafte Einheit identifiziert und deaktiviert wird.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die Konfigurati- on der Halbleiterschaltung als Prozessschritt eines Fertigungs-, Test-, Diagnose- oder
Wartungsprozesses erfolgt.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass jeweils wenigstens zwei der gleichen oder gleichartigen Funktionseinheiten der Halbleiterschaltung in einen Betriebsmodus umgeschaltet werden können, in dem diese Funktionseinheiten gleiche Funktionen, Befehle, Programmsegmente oder Programme ausführen und ein Vergleich der Ausgangssignale dieser Funktionseinheiten möglich ist.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Identifikati- on von fehlerhaften Funktionseinheiten dadurch erfolgt, dass Ausgangssignale dieser
Funktionseinheiten mit Referenzwerten verglichen werden.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die Initiierung der Umschaltung und/oder der wechselseitige Vergleich der Ausgangssignale von we- nigstens zwei Funktionseinheiten und/oder der Vergleich von Ausgangssignalen mit Referenzwerten mit externen Fertigungs-, Test- oder Diagnoseeinrichtungen durchgeführt werden kann, die nicht Teil der Halbleiterschaltung sind.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass für wenigstens die als fehlerhaft identifizierten Funktionseinheiten der Halbleiterschaltung ein Konfigd- rationsstatus und/oder Fehlerstatus gebildet wird.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Deaktivierung einer Funktionseinheit dadurch erfolgt, dass Informationen über den Konfigurations- Status oder den Fehlerstatus dieser Funktionseinheit derart in einer Speichereinrichtung gespeichert werden, dass diese bei der Initialisierung und/oder im Betrieb des Halbleitersystems ausgelesen werden können und die gespeicherte Information so verarbeitet wird, dass eine Verwendung der als fehlerhaft gekennzeichneten Einheit im Betrieb nicht ermöglicht wird. Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die Ermittlung des Konfigurationsstatus oder des Fehlerstatus wenigstens einer Funktionseinheit der Halbleiterschaltung und/oder die Speicherung dieser Information in einer Speicherein- richtung von externen Fertigungs-, Test- oder Diagnoseeinrichtungen durchgeführt werden kann, die nicht Teil der Halbleiterschaltung sind.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine als fehlerhaft identifizierte Einheit irreversibel deaktiviert wird.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass elektrische Verbindungen zu oder zwischen Funktionseinheiten der Halbleiterschaltungen unterbrochen werden.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Unterbrechung elektrischer Verbindungen auf der Halbleiterschaltung durch mechanische Einwirkung auf die Halbleiterschaltung erreicht wird.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Unterbre- chung elektrischer Verbindungen auf der Halbleiterschaltung durch chemische Einwirkung auf die Halbleiterschaltung erreicht wird.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Unterbrechung elektrischer Verbindungen auf der Halbleiterschaltung durch optische Einwirkung auf die Halbleiterschaltung erreicht wird.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Unterbrechung elektrischer Verbindungen auf der Halbleiterschaltung durch elektrische Einwirkung auf die Halbleiter schaltung erreicht wird.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die Deaktivierung einer Funktionseinheit von externen Fertigungs-, Test- oder Diagnoseeinrichtungen durchgeführt wird Vorteilhaft ist eine Vorrichtung zur Konfiguration einer Halbleiterschaltung mit wenigstens zwei gleichen oder gleichartigen Funktionseinheiten beschrieben, dadurch gekennzeichnet, dass Mittel vorhanden sind, einen Fehler in wenigstens einer der gleichen oder gleichartigen Funktionseinheiten zu identifizieren und die fehlerhafte Einheit zu deakti- vieren.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Umschaltmittel vorhanden sind, mit denen wenigstens zwei der gleichen oder gleichartigen Funktionseinheiten der Halbleiterschaltung in einen Betriebsmodus umgeschaltet werden können, in dem diese Funktionseinheiten gleiche Funktionen, Befehle, Programmsegmente oder
Programme ausführen
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Vergleichsmittel vorhanden sind, mit denen ein Vergleich der Ausgangssignale von wenigstens zwei Furk- tionseinheiten möglich ist.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Vergleichsmittel vorhanden sind, mit denen ein Vergleich der Ausgangssignale von wenigstens einer Funktionseinheit mit Referenzwerten möglich ist.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Speichermittel vorhanden sind, in denen Referenzwerte zur Identifikation von fehlerhaften Funktionseinheiten abgespeichert sind.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vergleichsmittel und/oder Speichermittel wenigstens teilweise auf der Halbleiterschaltung vorhanden sind.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass auf der Halblei- terschaltung Empfangsmittel vorhanden sind, mit denen Signale von Fertigungs-, Test-,
Diagnose- und Wartungseinrichtungen empfangen werden können.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Mittel zur Speicherung von Daten vorhanden sind, in denen wenigstens eine Information über den Kon- figurationsstatus oder den Fehlerstatus von Funktionseinheiten derart gespeichert werden können, dass diese bei der Initialisierung und/oder im Betrieb des Halbleitersystems ausgelesen werden können.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Mittel vorhanden sind, die Speicherinformationen auslesen und verarbeiten können, und eine Verwendung der als fehlerhaft gekennzeichneten Einheit im Betrieb abhängig von der Speicherinformation zulassen oder verhindern können.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Mittel zur
Speicherung von Daten nichtflüchtige Speichermittel sind.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Speichermittel so gestaltet sind, dass ein Schreibzugriff auf die Speichermittel nur von Fertigungs-, Test-, Diagnose- und Wartungseinrichtungen, die nicht auf der Halbleiterschaltung angebracht ist, erfolgen kann.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Umschaltmittel zur reversiblen Deaktivierung einer Funktionseinheit vorhanden sind, und diese Mittel Teil der Halbleiterschaltung oder Teil des Bauelements sind, auf dem die Halbleiterschaltung implementiert ist.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Mittel vorhanden sind, um eine Funktionseinheit irreversibel zu deaktivieren.
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche sowie der Beschreibung.
Figuren
Figur 1 beschreibt eine allgemeine Umschaltkomponente mit einer Schaltlogik und Verarbeitungslogik Figur 2 beschreibt die Verbindung der Umschaltkomponente mit einem Speicherelement
Figur 3 beschreibt ein prinzipielles Verfahren zur Ausbeuteerhöhung unter Verwendung eines Speicherelements
Figur 4 beschreibt ein prinzipielles Verfahren zur Erhöhung von Verfügbarkeit, graceful degradation und Notbetrieb.
Figur 5 beschreibt die Verbindung der Umschaltkomponente mit einer Beeinflussungskomponente
Figur 6 beschreibt ein prinzipielles Verfahren zur Ausbeuteerhöhung unter
Verwendung einer Beeinflussungskomponente
Figur 7 beschreibt den Aufbau eines möglichen Speicherelements
Beschreibung der Ausführungsbeispiele
Eine Ausführungseinheit kann im Folgenden sowohl einen Prozessor/Core/CPU, als auch eine
FPU (Floating Point Unit), einen DSP (Digitaler Signalprozessor), einen Coprozessor oder eine ALU (Arithmetic logical Unit) bezeichnen
In Figur 1 wird zunächst ein allgemeiner Fall der Umschalt- und Vergleichseinheit, auch für die Verwendung von mehr als zwei Ausführungseinheiten dargestellt. Von den n zu berücksichtigenden Ausführungseinheiten gehen n Signale N 140,..., N14n an die Umschalt- und Vergleichskomponente NlOO. Diese kann bis zu n Ausgangssignale N160,..., N16n aus diesen Eingangssignalen erzeugen. Im einfachsten Fall, dem „reinen Perftr- manzmodus", werden alle Signale N14i auf die entsprechenden Ausgangssignale N16i geleitet. Im entgegen gesetzten Grenzfall, dem „reinen Vergleichsmodus" werden alle
Signale N 140,..., N14n nur auf genau eines der Ausgangssignale N16i geleitet.
An dieser Figur lässt sich darlegen, wie die verschiedenen denkbaren Modi entstehen können. Dazu ist in N100 die logische Komponente einer Schaltlogik Nl 10 enthalten. Es ist zunächst Aufgabe der Schaltlogik, festzulegen, welche Eingänge auf keinen Ausgang geschaltet werden, d.h. welche Eingänge ignoriert werden, ohne Konsequenzen bleiben oder inaktiv sind. Diese Funktion der Schaltlogik wird im Folgenden oft auch als erste Funktion der Schaltlogik bezeichnet. Weiter legt Schaltlogik Nl 10 fest, wie viele Aus- gangssignale es überhaupt gibt und welche der Eingangssignale zu welchem der Ausgangssignale beitragen. Dabei kann ein Eingangssignal höchstens zu genau einem Ausgangssignal beitragen. Diese Funktion der Schaltlogik wird im Folgenden oft auch als zweite Funktion der Schaltlogik bezeichnet.
In mathematischer Form anders formuliert ist also ohne Sperrung von Sgnalen durch die
Schaltlogik eine Funktion definiert, die jedem Element der Menge {N140,..., N14n} ein Element der Menge {N160,..., N16n} zuordnet. Mit der Sperrung einzelner Eingangssg- nale ist allgemeiner durch die Schaltlogik eine Funktion definiert, die jedem Element einer festgelegten Teilmenge von {N140,..., N14n} (die nicht gesperrten Signale) ein Eb- ment der Menge {N 160, ... , N 16n} zuordnet.
Die Verarbeitungslogik N 120 legt dann zu jedem der Ausgänge N16i fest, in welcher Form die Eingänge zu diesem Ausgangsignal beitragen. Um beispielhaft die verschiedenen Variationsmöglichkeiten zu beschreiben, sei ohne Beschränkung der Allgemeinheit angenommen, dass der Ausgang N160 durch die Signale N141, ..., N14m erzeugt wird.
Falls m = 1 entspricht dies einfach einer Durchschaltung des Signals, falls m = 2 dann werden die Signale N141, N 142 verglichen. Dieser Vergleich kann synchron oder asjn- chron durchgeführt werden, er kann bitweise oder nur auf signifikante Bits oder auch mit einem Toleranzband durchgeführt werden. Eine bevorzugte Möglichkeit ist es, dass Aus- führungseinheiten in einem Lockstep-Betrieb (d.h. gleiche Instruktionen im gleichen
Takt)laufen. Ein fester Takt- oder Phasenversatz ist aber ebenfalls eine vorteilhafte Lösung.
Falls m >= 3 gibt es mehrere Möglichkeiten.
Eine erste Möglichkeit besteht darin, alle Signale zu vergleichen und bei Vorhandensein mindestens zweier verschiedener Werte einen Fehler zu detektieren, den man optional signalisieren kann. Eine zweite Möglichkeit besteht darin, dass man eine k aus m -Auswahl vornimmt (k >m/2). Diese kann durch Verwendung von Vergleichern realisiert werden. Optional kann ein Fehlersignal generiert werden, wenn eines der Signale als abweichend erkannt wird. Ein möglicherweise verschiedenes Fehlersignal kann generiert werden, wenn alle drei Signale verschieden sind.
Eine dritte Möglichkeit besteht darin, diese Werte einem Algorithmus zuzufiihren. Dies kann beispielsweise die Bildung eines Mittelwerts, eines Medianwert, oder die Verwendung eines fehlertoleranten Algorithmus (FTA) darstellen. Ein solcher FTA beruht dar- auf, Extremwerte der Eingangswerte weg zu streichen und eine Art der Mittelung über die restlichen Werte vorzunehmen. Diese Mittelung kann über die gesamte Menge der restlichen Werte, oder vorzugsweise über eine in HW leicht zu bildenden Teilmenge vorgenommen werden. In diesem Fall ist es nicht immer notwendig, die Werte tatsächlich zu vergleichen. Bei der Mittelwertbildung muss beispielsweise nur addiert und dividiert werden, FTM, FTA oder Median erfordern eine teilweise Sortierung. Gegebenenfalls kann auch hier bei hinreichend großen Extremwerten optional ein Fehlersignal ausgegeben werden.
Diese verschiedenen genannten Möglichkeiten der Verarbeitung mehrerer Signale zu ei- nem Signal werden der Kürze wegen als Vergleichsoperationen bezeichnet.
Die Aufgabe der Verarbeitungslogik ist es also, die genaue Gestalt der Vergleichsoperation für jedes Ausgangssignal - und damit auch für die zugehörigen Eingangssignale - festzulegen. Dies wird im Folgenden als die zweite Funktion der Verarbeitungslogik bezeichnet. Die dadurch in der Regel mögliche Identifikation fehlerhafter Ausführungsein- heiten wird im Folgenden als die erste Funktion der Verarbeitungslogik bezeichnet.
Die Kombination der Information der Schaltlogik Nl 10 (d.h. die o. g. Funktion) und der Verarbeitungslogik (d.h. die Festlegung der Vergleichsoperation pro Ausgangssignal, d.h. pro Funktionswert) ist die Modusinformation und diese legt den Modus fest. Diese In- formation ist im allgemeinen Fall natürlich mehrwertig, d.h. nicht nur über ein logisches
Bit darstellbar. Nicht alle theoretisch denkbaren Modi sind in einer gegebenen Implementierung sinnvoll, man wird vorzugsweise die Zahl der erlaubten Modi einschränken. Zu betonen ist, dass im Fall von nur zwei Ausführungseinheiten, wo es nur einen Ver- gleichsmodus gibt, die gesamte Information auf nur ein logisches Bit kondensiert werden kann.
Eine Umschaltung von einem Performanz- in einen Vergleichsmodus ist im allgemeinen Fall dadurch charakterisiert, dass Ausführungseinheiten, die im Performanzmodus auf verschiedene Ausgänge hin abgebildet werden, im Vergleichsmodus auf den gleichen Ausgang hin abgebildet werden. Vorzugsweise ist dies dadurch realisiert, dass es ein Teilsystem von Ausführungseinheiten gibt, bei dem im Performanzmodus alle Eingangssignale N14i, die im Teilsystem zu berücksichtigen sind, direkt auf korrespondierende Ausgangssignale N16i geschalten werden, während sie im Vergleichsmodus alle auf ein
Ausgang hin abgebildet sind. Alternativ kann eine solche Umschaltung auch dadurch realisiert werden, dass Paarungen geändert werden. Es ist dadurch dargestellt, dass man im allgemeinen Fall nicht von dem Performanzmodus und dem Vergleichsmodus sprechen kann, obwohl man in einer gegebenen Ausprägung der Erfindung die Menge der erlaub- ten Modi so einschränken kann, dass dies der Fall ist. Man kann aber immer von einer
Umschaltung vom Performanz- in den Vergleichsmodus (und umgekehrt) sprechen.
Im Folgenden wird beschrieben, wie man mit Hilfe einer solchen Umschalt- und Vergleichskomponente und einigen weiteren Elementen unter bestimmten Bedingungen die Ausbeute im Fertigungsprozess von Halbleiterbauelementen, z. B. μC erhöhen kann.
Die Grundidee ist grob skizziert die Folgende:
Auf dem Bauelement, beispielsweise einem μC, sind mehr Ausführungseinheiten, als im Betrieb benötigt.
Damit kann man im Betrieb auch mit weniger als der vollen Anzahl an korrekt arbeitenden Ausführungseinheiten arbeiten. Voraussetzung ist, dass nicht korrekt arbeitende Einheiten identifiziert sind und keine Auswirkungen auf das Gesamtsystem haben können. Die Verwendung einer oben beschriebenen Umschalt- und Vergleichseinheit ermöglicht es, über die Schaltlogik Nl 10 die Signale fehlerhafter Ausführungseinheiten an der weiteren Verbreitung im System zu hindern. Die Verarbeitungslogik N 120 ermöglicht es, Signale verschiedener Ausfiihrungseinheiten zu vergleichen. Durch einen geeigneten Vergleich kann man fehlerhafte Ausfiihrungseinheiten identifizieren. Dies ist möglich, wenn man ein hinreichend Fehlerabdeckendes Testprogramm verwendet. Gegebenenfalls kann man auch externe Mittel zur Identifikati- on mit einsetzen.
Dadurch, dass man einen solchen Test zu irgendeinem Zeitpunkt, z. B. am Bandende, zur Initialisierungszeit oder bei der Montage durchführt, das Ergebnis (d.h. Eine eindeutige Identifikation der fehlerhaften Ausführungseinheiten) in einem möglichst nicht-flüchtigen Speicher abspeichert und dass dieses Ergebnis die Schaltlogik Nl 10 derart beeinflusst, dass die Signale fehlerhafter Ausführungseinheiten ohne Auswirkung sind, erhält man einen μC, dessen korrekt arbeitende Ausfiihrungseinheiten noch verwendet werden können, selbst wenn fehlerhafte Ausfiihrungseinheiten vorhanden sind.
Durch die derart im Produkt realisierte Fehlertoleranz kann man die Ausbeute erhöhen, da so auch fehlerhafte Bauelemente verwendet werden können, so lange die Zahl der noch korrekt arbeitenden Ausführungseinheiten groß genug ist. Dies ist von der Anwendung abhängig.
Diese Idee wird jetzt detailliert.
Eine mögliche logische Gestalt der Umschalt- und Vergleichseinheit ist oben beschrieben. Es ist zur Anwendung der hier beschriebenen Erfindung zwar vorteilhaft aber nicht notwendig, dass die Komponente als solche existiert und dass die benannten Untertom- ponenten Schalt- und Verarbeitungslogik existieren.
Entscheidend für die erste Funktion der Schaltlogik ist es, dass Ausgänge potenziell fdi- lerhafter Komponenten in einer geeigneten Form ignoriert werden können. Dies kann dadurch geschehen, dass diese Ausgänge, beispielsweise durch Schalter, unterbrochen wer- den. Eine andere Möglichkeit ist es, die Ausgänge auf einen Standard-„Auffänger" für fehlerhafte Signale zu schalten. Eine weitere Möglichkeit ist es, die Ausgangssignale als ungültig zu markieren. Noch eine weitere Möglichkeit, die darüber hinaus oder alternativ einsetzbar ist, ist es, das Auftreten solcher Ausgangssignale zu verhindern, indem die eii- sprechende Komponente selbst deaktiviert wird. Dies kann wiederum durch ein Deakti- vieren der Komponente, ein Anhalten, eine Taktunterbrechung oder eine Unterbrechung der Eingangssignale realisiert werden. Dies hat auch den Vorteil, dass die Verlustleistung minimiert und somit Lebensdauer, Zuverlässigkeit und Temperaturbelastung optimiert wird. Im Folgenden werden alle Ausfiihrungseinheiten, deren Ausgang durch irgend ein Mittel ignoriert werden kann als passiv oder inaktiv bezeichnet.
Entscheidend fiir die erste Funktion der Verarbeitungslogik ist es zunächst, dass eine fdi- lerhafte Komponente identifiziert werden kann. Eine bevorzugte Möglichkeit ist es, alle Ausfiihrungseinheiten parallel das gleiche Programm ausführen zu lassen. Bevorzugt aber nicht notwendig kann dies dadurch realisiert werden, dass die Ausfiihrungseinheiten in einem Lockstep-Modus oder auch mit festem Takt- oder Phasenversatz betrieben werden. Durch einen geeigneten Vergleich kann damit über eine Mehrheitsentscheidung eine potenziell anwesende fehlerhafte Komponente identifiziert werden. Optional können bei einem Produktions-, Initialisierungs- oder Bandendetest zusätzlich noch die Ergebnisse die- ses Programms mit den zuvor bekannten Ergebnissen durch eine externe Einheit (Watdi- dog, anderer μC, Testgerät, ASIC) verglichen werden. Dies ist insbesondere dann vorteilhaft, wenn nur zwei Ausfiihrungseinheiten vorliegen, da in diesem Fall bei Auftreten einer Differenz zwischen beiden Ausführungseinheiten eine dritte Information zur Identifikation der fehlerhaften Ausführungseinheit notwendig ist. Ein solcher Vergleich kannü- ber die oben beschriebenen Vergleichsoperationen hinaus auch derart realisiert werden, dass er nur paarweise oder auf Teilmengen durchgeführt wird, so lange, bis eine eindeutige Identifikation potenziell fehlerhafter Ausführungseinheiten möglich ist. Die Verarbeitungslogik muss damit als Ergebnis dieser ersten Funktion die fehlerhaften Komponenten identifizieren.
Das Testprogramm muss so gestaltet sein, dass ein Fehler mit möglichst großer Wahrscheinlichkeit eine Auswirkung hat. Zur Entwicklung eines solchen Programms kann beispielsweise ein Fehlermodell (z. B. stuck-at-Modell) verwendet werden, ein Teil des Anwendungscodes zum Ablauf gebracht werden oder ein kompletter Befehlstest. Im Falle des Bandendetests kann das einem heutigen Testprogramm entsprechen, das auf die Ausführungseinheiten beschränkt ist. Man kann dies aber auch mit einem heute üblichen Bandendetest verknüpfen und nur solche Bauelemente mit diesem Programm testen, die durch den ersten Bandendetest schon ausgefallen sind. Dieses letzte Vorgehen hat insbesondere den Vorteil, dass nur Bauelemente einem zusätzlichen Prozessschritt unterworfen werden, die ansonsten zum Ausschuss gehören. Jedes Bauelement, das durch diesen IeIz- ten „Rettungsschritt" gewonnen wurde, erhöht direkt die Ausbeute des Fertigungsprozesses.
Nachdem die erste Funktion der Verarbeitungslogik die fehlerhaften Einheiten identifiziert hat, muss diese Information abgespeichert werden. Bei der Anwendung des erfh- dungsgemäßen Verfahrens auf den Fertigungsprozess zur Erhöhung der Ausbeute wird vorzugsweise ein nicht-flüchtiges Speicherelement verwendet. In diesem ist dann abgespeichert, welche Ausführungseinheiten inaktiv sind.
In Figur 2 ist die Funktion dieses Speicherelements dargestellt. Die Elemente N510, N520, N54i, N56i der Umschalt- und Vergleichseinheit N500 in Figur 2 haben die gleichen Funktionen wie die Elemente NIlO, N 120, N14i, N16i der Umschalt- und Vergleichseinheit NlOO in Figur 1. Darüber hinaus ist ein Speicherelement N530 dargestellt. Die Verarbeitungslogik N520 sendet die Information über die als fehlerhaft identifizierten
Ausführungseinheiten an das Speicherelement N530. Auf dieses kann die Schaltlogik N510 zugreifen und die erste Funktion der Schaltlogik so ausüben, dass die von N530 als inaktiv gekennzeichneten Elemente auch tatsächlich inaktiv werden.
Das Speicherelement kann natürlich innerhalb der Umschalt- und Vergleichseinheit liegen, es kann aber auch außerhalb liegen, sogar außerhalb des Bauelements. Beispielsweise ist bei der Montage eines μC in einem Steuergerät oder einem PC ein externes Element denkbar, da dann möglicherweise ein umfangreicherer Test unter Verwendung der Peripherie verwendet werden kann.
Die grundsätzliche Verfahrensidee zur Erhöhung der Ausbeute in der Fertigung ist in Figur 3 beschrieben. In einem ersten Schritt N600 (Identifikationsschritt) geschieht eine I- dentifikation fehlerhafter Ausführungseinheiten. Die Identifikation benutzt die erste Funktion der Verarbeitungslogik N520 und damit das Testprogramm. Im zweiten Schritt N610 (Abspeicherschritt) wird die Fehlerinformation abgespeichert. Die entsprechende
Information wird von der Verarbeitungslogik N520 an das Speicherelement N530 gegeben. Im dritten Schritt N620 (Konfiguration) benutzt die Schaltlogik N510 die Information aus N530 und verwendet die erste Funktion der Schaltlogik, um die Ausgänge der Ausführungseinheiten entsprechend der geforderten Aktivität und Passivität zu konfigd- rieren. Zu betonen ist, dass dies zwar optional durch SW geschehen kann, bei einer bevorzugten Anwendung wird hier die Konfiguration aber nicht durch SW-Kontrolle ausgeübt.
Der Hauptgrund für Inaktivität ist Fehlerhaftigkeit. In einer bevorzugten Erweiterung können jedoch auch andere Gründe gültig sein. So ist es beispielsweise möglich, dass selbst für völlig fehlerfreie Bauelemente in diesem Speicherelement Ausführungseinheiten als inaktiv markiert werden.
Insbesondere, wenn der Test nicht nur am Bandende, sondern im Betrieb (beispielsweise in einer Initialisierungsphase oder gar während des normalen Betriebs) abläuft, ist es möglich, dass Fehler, die nicht während der Fertigung sonder im Betrieb entstehen, detek- tiert werden. Über die zweite Funktion der Schaltlogik (die aktiven Ausführungseinheiten im Betrieb miteinander zu verknüpfen) und die zweite Funktion der Verarbeituηgslogik (einen Vergleich für die auf einen Ausgang geschalteten Signale durchzuführen) wie in der Beschreibung von Figur 1 dargestellt, ist es leicht möglich, auch im Betrieb Fehler zu detektieren und fehlerhafte Ausführungseinheiten zu identifizieren.
Falls fehlerfreie Ausführungseinheiten als inaktiv markiert sind, so ist es möglich, bei Auftreten eines Fehlers im Betrieb eine als fehlerhaft identifizierte Einheit gegen eine fehlerfreie aber inaktive Einheit auszutauschen. Vorzugsweise ist dazu im Speicherelement N530 eine Information abgelegt, ob die Ausführungseinheit nur inaktiv ist oder ob sie auch noch fehlerhaft ist. Es ist Vorteilhafterweise nicht im Betrieb möglich, dass die Information, dass eine gegebene Ausführungseinheit fehlerhaft ist, geändert wird.
In Figur 7 ist ein prinzipiell möglicher Aufbau eines Speicherelements 0100 (entspricht N530) beschrieben. Es enthält einen ersten Speicherbereich Ol 10, in dem es, vorzugsweise entsprechend der Anzahl Ausführungseinheiten, Speicherstellen 0120, ..., O12n gibt. Jede Speicherstelle ist vorzugsweise über mindestens ein Bit realisiert. Die Nummer oder Adresse der Speicherstelle O12i ist mit der Nummer oder Identifikation einer Ausführungseinheit eindeutig verknüpft. Ein Bit in 0120, das auf 0 gesetzt ist, zeigt beispielsweise an, dass die zugehörige Ausführungseinheit aktiv ist. Wenn es auf 1 gesetzt ist, soll die zugehörige Ausführungseinheit inaktiv sein. Diese Information kann fehlertolerant oder mit weiteren Informationen verknüpft in den Speicherstellen 0120, ..., O12n vorliegen, der grundsätzliche Informationsgehalt, bezogen auf diese Anwendung bleibt aber immer gleich.
Optional gibt es zusätzlich einen zweiten Speicherbereich 0140, in dem es, vorzugsweise entsprechend der Anzahl Ausführungseinheiten, Speicherstellen 0130, ..., O13n gibt.
Jede Speicherstelle ist vorzugsweise über mindestens ein Bit realisiert. Die Nummer oder Adresse der Speicherstelle O13i ist mit der Nummer oder Identifikation einer Ausführungseinheit eindeutig verknüpft. Ein Bit in 0130, das auf 0 gesetzt ist, zeigt beispielsweise an, dass die zugehörige Ausführungseinheit fehlerfrei ist. Wenn es auf 1 gesetzt ist, bedeutet dies, dass die zugehörige Ausführungseinheit fehlerhaft ist. Diese Information kann fehlertolerant oder mit weiteren Informationen verknüpft in den Speicherstellen 0130, ..., O13n vorliegen, der grundsätzliche Informationsgehalt, bezogen auf diese Anwendung bleibt aber immer gleich. Optional kann dieser Speicherbereich nicht oder nur unter speziellen Umständen oder in spezieller Weise beschrieben werden, so dass sicher- gestellt ist, dass eine einmal als fehlerhaft markierte Ausführungseinheit nicht irrtümlich als fehlerfrei gekennzeichnet wird.
Durch den Einsatz inaktiver aber fehlerfreier Ausführungseinheiten ist es möglich, die kalte Redundanz, die dieses Verfahren für fehlerfreie Bauelemente bietet, zur Verfügbar- keits- und Zuverlässigkeitserhöhung einzusetzen.
Eine weitere Möglichkeit, die Erfindung einzusetzen, ist es, Graceful-Degradation- und Limp-home Modi zu ermöglichen.
Prämisse ist hierbei, dass im Betrieb ein Fehler über die oben genannte zweite Funktion der Verarbeitungslogik entdeckt wurde. Ein dann vorzugsweise verwendetes Verfahren wird in Figur 4 beschrieben. Zunächst wird im Schritt N700 (Fehlereiideckung) ein Fehler entdeckt. Dies kann z. B. durch Anwendung eines Testprogramms geschehen. Wenn sich das System aber in einem Vergleichsmodus befindet, wie erz. B. über die zweiten Funktionen der Verarbeitungslogik und der Schaltlogik eingestellt werden kann, ist eine solche Fehlerentdeckung auch im Normalbetrieb möglich, d.h. die Anwendungssoftware fungiert als Testprogramm. Dies ist aus zwei Gründen besonders vorteilhaft: zum Einen benötigt man kein dediziertes Testprogramm, zum Anderen werden alle Fehler der Ausführungseinheiten, die sich überhaupt auswirken, in dieser Art entdeckt. Im Schritt N705 wird geprüft, ob durch die vorhandene Konfiguration von Schalt- und Verarbeitungslogik schon eine fehlerhafte Ausfiihrungseinheit identifiziert werden kann. Falls dies gilt, sind die Schritte N710 (Konfiguration zur Fehlerentdeckung) und N720 (Identifikationsschritt) schon abgeschlossen und es wird direkt zum Schritt N730 übergegangen. Dies ist bei- spielsweise der Fall, wenn der Fehler in einem Teilsystem auftritt, bei dem die Signale von 3 Ausfiihrungseinheiten verglichen werden. Falls dies (im Schritt N705) nicht der Fall ist (beispielsweise, wenn in einem Teilsystem von zwei Ausfiihrungseinheiten, die in einem Vergleichsmodus laufen, ein Fehler entdeckt wird), miss im Schritt N710 erst eine Konfiguration gewählt werden, die eine Fehleridentifikation erlaubt. Am einfachsten ge- schieht dies beispielsweise dadurch, dass die „Verdachtskandidaten" (d.h. alle Ausführungseinheiten, die an dem Teilsystem, das einen Fehler erzeugt hat, beteiligt sind) mit hinreichend vielen anderen Ausführungseinheiten zusammen durch die Schaltlogik N510 auf ein Ausgangssignal hin kombiniert werden. Vorzugsweise wird dabei der SW-Teil, der den Fehler offenbart hat, als Testprogramm wieder verwendet, es kann aber auch ein dediziertes Testprogramm verwendet werden. Die erste Funktion der Verarbeitungslogik erlaubt es dann, den Schritt N720 auszuführen und die fehlerhafte Ausführungseinheit zu identifizieren. Es kann jedoch auch alternativ ein anderes Verfahren zur Identifikation gewählt werden. Beispielsweise nimmt man einen der Verdachtskandidaten und koppelt ihn mit einer anderen fehlerfreien Ausführungseinheit. Falls kein Fehler identifiziert wird, ist eine andere Ausführungseinheit fehlerhaft. Falls ein Fehler identifiziert wird, kann auf einen Fehler in dieser Ausführungseinheit geschlossen werden. Letzteres Verfahren bietet zwar nicht die gleiche Sicherheit der Identifikation, es kann aber leichter bei laufendem Betrieb eingesetzt werden, wäre also vorteilhaft, wenn z. B. in einem Kraftfahrzeug gerade ein kritisches Fahrmanöver abläuft, das von dem Bauelement beeinflusst wird. Nachdem die Identifikation der fehlerhaften Ausführungseinheit abgeschlossen ist, laufen die beiden Schritte N730 (Abspeicherschritt, entspricht N610) und N740 (Konfiguration, entspricht N620).
Zu betonen ist, dass es in diesem letzten Schritt durch das erfindungsgemäße Verfahren jetzt mehrere vorteilhafte Möglichkeiten gibt.
Falls es hinreichend viele fehlerfreie aber inaktive Ausführungseinheiten gibt, kann man, wie oben beschrieben, ein voll funktionslahiges System wieder herstellen. Falls es zu wenige fehlerfreie Ausfiihrungseinheiten fiir den Normalbetrieb gibt, kann man die vorhandene Software so gut wie es gehtauf den vorhandenen Ausführungseinheiten ablaufen lassen. Dies ist besonders dann vorteilhaft, wenn das System im Normalfall mit Laufzeitreserven spezifiziert ist. Dann ist es wahrscheinlich, dass auch eine redi- zierte Menge von Ausführungseinheiten ausreichend Performanz zur Verfügung stellt, um den Betrieb zu gewährleisten. Dies ist insbesondere dadurch auf der Systemebene ui- terstützbar, dass besonders performanzintensive Betriebszustände (z. B. hohe Drehzahlen beim Motor eines Kraftfahrzeugs) vermieden werden.
Falls es zu wenige fehlerfreie Ausführungseinheiten für den Normalbetrieb gibt, kann man alternativ nur eine Teilmenge der Anwendung ablaufen lassen.
Falls es zu wenige fehlerfreie Ausführungseinheiten für den Normalbetrieb gibt, kann man in einer dritten Möglichkeit die Anwendung in anderen Modi laufen lassen. Bd- spielsweise kann man auf einen starken Vergleichsmodus verzichten und nur einen schwächeren Vergleichsmodus oder einen Performanzmodus verwenden. In diesem Fall ist für den folgenden Betrieb zwar nur eine schwächere Fehlererkennung oder Fehlertoleranz gegeben, dies ist aber unter Umständen tolerierbar, da dieser Zustand eventuell nur noch eine begrenzte Zeit aufrecht erhalten werden muss. Diese Option ist besonders leicht mit dieser Erfindung realisierbar, da nur die hier dargelegten Komponenten und Verfahren verwendet werden müssen. Kombinationen dieser Varianten sind natürlich ebenfalls denkbar.
Eine grundsätzlich andere Möglichkeit, die Idee dieser Erfindung zu verwenden, besteht darin, auf das Speicherelement zu verzichten und andere Mittel zu verwenden, um potenziell defekte Ausführungseinheiten so zu deaktivieren, dass sie verlässlich und irreversibel deaktiviert sind. Dies kann durch Beeinflussung (beispielsweise Trennung oder Verbindung) von Leitungen im Bauelement geschehen.
Verschiedene Möglichkeiten sind:
Verwendung von Antifuses für dedizierte Leitungen (dies kann sowohl im Betrieb, in der Wartung, in der Montage oder in der Fertigung verwendet werden), Mechanische Behandlung (Löten, Trennen) von Leitungen, Brennen mit Laser, Elektronen-, Röntgen- strahlung, oder speziellen elektrischen Signalen und Chemischer Einfluss auf die Leitungen.
Anstelle des Speicherelements ist dazu eine Beeinflussungskomponente notwendig. In Figur 5 ist die Funktion dieser Beeinflussungskomponente dargestellt. Die Elemente
N810, N820, N84i, N86i der Umschalt- und Vergleichseinheit N800 in Figur 5 haben die gleichen Funktionen wie die Elemente NIlO, N 120, N14i, N16i der Umschalt- und Vergleichseinheit NlOO in Figur 1. Darüber hinaus ist eine Beeinflussungskomponente N830 dargestellt. Die Verarbeitungslogik N820 sendet die Information über die als fehlerhaft identifizierten Ausführungseinheiten an die Beeinflussungskomponente N830. Diese verfügt über Mittel, wie beispielsweise oben aufgezählt, Leitungen oder Funktionsgruppen im Bauelement so zu beeinflussen, dass Ausführungseinheiten deaktiviert sind. N830 kann eine Komponente innerhalb des Bauelements, des Steuergeräts oder des Systems sein, N830 kann aber auch eine Maschine im Fertigungsprozess oder ein menschlicher Bediener einer solchen Maschine sein. Es ist auch möglich, dass diese Komponente in der
Wartung verwendet wird. Optional kann die entsprechende Information noch an die Schaltlogik gegeben werden, damit diese die erste Funktion so ausübt, dass die von N830 als inaktiv gekennzeichneten Elemente auch tatsächlich inaktiv werden.
Die grundsätzliche Verfahrensidee zur Ausbeute Erhöhung unter Verwendung der Beeinflussungskomponente N830, ist in Figur 6 beschrieben. In einem ersten Schritt N900 (I- dentifikationsschritt) geschieht eine Identifikation fehlerhafter Ausführungseinheiten. Die Identifikation benutzt die erste Funktion der Verarbeitungslogik N820 und damit das Testprogramm. Im zweiten Schritt N910 wird die Fehlerinformation von der Verarbei- tungslogik N820 an die Beeinflussungskomponente N830 gegeben. Im dritten Schritt
N920 verwendet die Beeinflussungskomponente N830 diese Information, um mit den ihr zur Verfügung stehenden Mitteln die Leitungen oder Funktionsgruppen im Bauelement so zu beeinflussen, dass die fehlerhaften Komponenten inaktiv sind. Im optionalen vierten Schritt N930 benutzt die Schaltlogik N810 die Information und verwendet die erste Furk- tion der Schaltlogik, um die Ausgänge der Ausführungseinheiten entsprechend der geforderten Aktivität und Passivität zu konfigurieren.
Natürlich kann eine solche Beeinflussungskomponente auch im Betrieb verwendet werden. Alle Vorteile, die bei der Verwendung eines Speicherelements gelten, sind auch hier anwendbar, da die Auswirkung auf das System ja gleich ist. Dann ist es aber vorteilhaft, wenn die Beeinflussungskomponente als HW-Komponente im System vorhanden ist.
Außer auf die in der Beschreibung der Ausführungsbeispiele erwähnten Ausführungsein- heiten können die vorteilhaften Verfahren und Vorrichtungen auch auf weitere Komponenten einer Halbleiterschaltung wie z. B. Analog-/Digital-Wandler, Timer-Bausteine, Interrupt-Controller, Kommunikationscontroller oder Steuereinheiten angewendet werden. Im Folgenden wird die Gesamtheit dieser Komponenten einer Halbleiterschaltung unter dem Begriff Funktionseinheiten zusammengefasst.
In einem weiteren bevorzugten Ausführungsbeispiel wird die hier beschriebene Erfindung zusammen mit einer ECC-Absicherung fiir andere Speicherelemente verwendet. In diesem Fall entsteht ein hochverfügbares Bauelement, bei dem sowohl Speicher als auch Ausführungseinheiten fehlertolerant ausgelegt sind und es somit ermöglichen, sowohl die Ausbeute zu maximieren als auch eine optimale Verfügbarkeit im Betrieb zu gewährleisten.

Claims

Ansprüche
1. Verfahren zur Konfiguration einer Halbleiterschaltung mit wenigstens zwei gleichen oder gleichartigen Funktionseinheiten, dadurch gekennzeichnet, dass bei einem Fehler in wenigstens einer der gleichen oder gleichartigen Funktionseinheiten die fehlerhafte Einheit identifiziert und deaktiviert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Konfiguration der Halbleiterschaltung als Prozessschritt eines Fertigungs-, Test-, Diagnose- oder Wartungsprozesses erfolgt.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jeweils wenigstens zwei der gleichen oder gleichartigen Funktionseinheiten der Halbleiterschaltung in einen Betriebsmodus umgeschaltet werden können, in dem diese Funktionseinheiten gleiche Funktionen, Befehle, Programmsegmente oder Programme ausführen und ein Vergleich der Aus- gangssignale dieser Funktionseinheiten möglich ist.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Identifikation von fehlerhaften Funktionseinheiten dadurch erfolgt, dass Ausgangssignale dieser Funktionseinheiten mit Referenzwerten verglichen werden.
5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die Iniiierung der Um- schaltung und/oder der wechselseitige Vergleich der Ausgangssignale von wenigstens zwei Funktionseinheiten und/oder der Vergleich von Ausgangssignalen mit Referenzwerten mit externen Fertigungs-, Test- oder Diagnoseeinrichtungen durchgeführt werden kann, die nicht Teil der Halbleiterschaltung sind.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für wenigstens die als fehlerhaft identifizierten Funktionseinheiten der Halbleiterschaltung ein Konfigurationsstatus und/oder Fehlerstatus gebildet wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass eine Deaktivierung einer
Funktionseinheit dadurch erfolgt, dass Informationen über den Konfigurationsstatus oder den Fehlerstatus dieser Funktionseinheit derart in einer Speichereinrichtung gespeichert werden, dass diese bei der Initialisierung und/oder im Betrieb des Halbleitersystems ausgelesen werden können und die gespeicherte Information so verarbeitet wird, dass eine Verwendung der als fehlerhaft gekennzeichneten Einheit im Betrieb nicht ermöglicht wird.
8. Verfahren nach Anspruch 6 und 7, dadurch gekennzeichnet, dass die Ermittlung des Kcn- figurationsstatus oder des Fehlerstatus wenigstens einer Funktionseinheit der Halbleiter- Schaltung und/oder die Speicherung dieser Information in einer Speichereinrichtung von externen Fertigungs-, Test- oder Diagnoseeinrichtungen durchgeführt werden kann, die nicht Teil der Halbleiterschaltung sind.
9. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass eine als fehlerhaft identifizier- te Einheit irreversibel deaktiviert wird.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass elektrische Verbindungen zu oder zwischen Funktionseinheiten der Halbleiterschaltungen unterbrochen werden.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass eine Unterbrechung elektrischer Verbindungen auf der Halbleiterschaltung durch mechanische Einwirkung auf die Halbleiterschaltung erreicht wird.
12. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass eine Unterbrechung elekri- scher Verbindungen auf der Halbleiterschaltung durch chemische Einwirkung auf die
Halbleiterschaltung erreicht wird.
13. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass eine Unterbrechung elekri- scher Verbindungen auf der Halbleiterschaltung durch optische Einwirkung auf die HaIb- leiterschaltung erreicht wird.
14. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass eine Unterbrechung elekri- scher Verbindungen auf der Halbleiterschaltung durch elektrische Einwirkung auf die Halbleiterschaltung erreicht wird.
15. Verfahren nach einem der Ansprüche 9 bis 14, dadurch gekennzeichnet, dass die Deaktivierung einer Funktionseinheit von externen Fertigungs-, Test- oder Diagnoseeinrichtungen durchgeführt wird.
16. Vorrichtung zur Konfiguration einer Halbleiterschaltung mit wenigstens zwei gleichen oder gleichartigen Funktionseinheiten, dadurch gekennzeichnet, dass Mittel vorhanden sind, einen Fehler in wenigstens einer der gleichen oder gleichartigen Funktionseinheiten zu identifizieren und die fehlerhafte Einheit zu deaktivieren.
17. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass Umschaltmittel vorhanden sind, mit denen wenigstens zwei der gleichen oder gleichartigen Funktionseinheiten der
Halbleiterschaltung in einen Betriebsmodus umgeschaltet werden können, in dem diese Funktionseinheiten gleiche Funktionen, Befehle, Programmsegmente oder Programme ausführen.
18. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass Vergleichsmittel vorhanden sind, mit denen ein Vergleich der Ausgangssignale von wenigstens zwei Fuiktionseinhei- ten möglich ist.
19. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass Vergleichsmittel vorhanden sind, mit denen ein Vergleich der Ausgangssignale von wenigstens einer Funktionseinheit mit Referenzwerten möglich ist.
20. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass Speichermittel vorhanden sind, in denen Referenzwerte zur Identifikation von fehlerhaften Funktionseinheiten abgespeichert sind.
21. Vorrichtung nach Anspruch 18 bis 20, dadurch gekennzeichnet, dass die Vergleichsmittel und/oder Speichermittel wenigstens teilweise auf der Halbleiterschaltung vorhanden sind.
22. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass auf der Halbleiterschaltung Empfangsmittel vorhanden sind, mit denen Signale von Fertigungs-, Test-, Diagnose- und
Wartungseinrichtungen empfangen werden können.
23. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass Mittel zur Speicherung von Daten vorhanden sind, in denen wenigstens eine Information über den Konfigurationssia- tus oder den Fehlerstatus von Funktionseinheiten derart gespeichert werden können, dass diese bei der Initialisierung und/oder im Betrieb des Halbleitersystems ausgelesen werden können.
24. Vorrichtung nach Anspruch 23, dadurch gekennzeichnet, dass Mittel vorhanden sind, die Speicherinformationen auslesen und verarbeiten können, und eine Verwendung der als fehlerhaft gekennzeichneten Einheit im Betrieb abhängig von der Speicherinformation ai- lassen oder verhindern können.
25. Vorrichtung nach Anspruch 23, dadurch gekennzeichnet, dass die Mittel zur Speicherung von Daten nichtflüchtige Speichermittel sind.
26. Vorrichtung nach Anspruch 23, dadurch gekennzeichnet, dass die Speichermittel so gestaltet sind, dass ein Schreibzugriff auf die Speichermittel nur von Fertigungs-, Test-, Diagnose- und Wartungseinrichtungen, die nicht auf der Halbleiterschaltung angebracht ist, erfolgen kann.
27. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass Umschaltmittel zur reversiblen Deaktivierung einer Funktionseinheit vorhanden sind, und diese Mittel Teil der Halbleiterschaltung oder Teil des Bauelements sind, auf dem die Halbleiterschaltung implementiert ist.
28. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass Mittel vorhanden sind, um eine Funktionseinheit irreversibel zu deaktivieren.
EP06778034A 2005-08-08 2006-07-27 Vorrichtung und verfahren zur konfiguration einer halbleiterschaltung Ceased EP1917591A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005037236A DE102005037236A1 (de) 2005-08-08 2005-08-08 Vorrichtung und Verfahren zur Konfiguration einer Halbleiterschaltung
PCT/EP2006/064751 WO2007017399A1 (de) 2005-08-08 2006-07-27 Vorrichtung und verfahren zur konfiguration einer halbleiterschaltung

Publications (1)

Publication Number Publication Date
EP1917591A1 true EP1917591A1 (de) 2008-05-07

Family

ID=37547047

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06778034A Ceased EP1917591A1 (de) 2005-08-08 2006-07-27 Vorrichtung und verfahren zur konfiguration einer halbleiterschaltung

Country Status (9)

Country Link
US (1) US20100295571A1 (de)
EP (1) EP1917591A1 (de)
JP (1) JP2009514064A (de)
KR (1) KR20080032166A (de)
CN (1) CN101238445A (de)
DE (1) DE102005037236A1 (de)
RU (1) RU2008108473A (de)
TW (1) TW200725254A (de)
WO (1) WO2007017399A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009000045A1 (de) * 2009-01-07 2010-07-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Steuergerätes
WO2013069136A1 (ja) * 2011-11-10 2013-05-16 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム、および同プログラムを記録した記録媒体
US11424621B2 (en) 2020-01-28 2022-08-23 Qualcomm Incorporated Configurable redundant systems for safety critical applications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732209A (en) * 1995-11-29 1998-03-24 Exponential Technology, Inc. Self-testing multi-processor die with internal compare points

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58127242A (ja) * 1982-01-25 1983-07-29 Nec Corp 論理回路
JPH08148573A (ja) * 1994-11-21 1996-06-07 Hitachi Ltd 半導体装置
JPH09325946A (ja) * 1996-06-05 1997-12-16 Toshiba Corp マルチプロセッサのテスト回路
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
JP3142801B2 (ja) * 1997-09-04 2001-03-07 松下電器産業株式会社 半導体集積回路の検査方法、プローブカード及びバーンイン用ボード
US6452411B1 (en) * 1999-03-01 2002-09-17 Formfactor, Inc. Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
US6550020B1 (en) * 2000-01-10 2003-04-15 International Business Machines Corporation Method and system for dynamically configuring a central processing unit with multiple processing cores
DE10035174A1 (de) * 2000-05-18 2001-12-06 Siemens Ag Peripheriebaustein mit hoher Fehlersicherheit für speicherprogrammierbare Steuerungen
US6798225B2 (en) * 2002-05-08 2004-09-28 Formfactor, Inc. Tester channel to multiple IC terminals
US6812691B2 (en) * 2002-07-12 2004-11-02 Formfactor, Inc. Compensation for test signal degradation due to DUT fault
US7402897B2 (en) * 2002-08-08 2008-07-22 Elm Technology Corporation Vertical system integration
KR100688517B1 (ko) * 2005-01-11 2007-03-02 삼성전자주식회사 전압공급유닛 분할을 통한 반도체 소자의 병렬검사 방법
US7557592B2 (en) * 2006-06-06 2009-07-07 Formfactor, Inc. Method of expanding tester drive and measurement capability
US7888955B2 (en) * 2007-09-25 2011-02-15 Formfactor, Inc. Method and apparatus for testing devices using serially controlled resources

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732209A (en) * 1995-11-29 1998-03-24 Exponential Technology, Inc. Self-testing multi-processor die with internal compare points

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2007017399A1 *

Also Published As

Publication number Publication date
RU2008108473A (ru) 2009-09-20
CN101238445A (zh) 2008-08-06
WO2007017399A1 (de) 2007-02-15
JP2009514064A (ja) 2009-04-02
KR20080032166A (ko) 2008-04-14
US20100295571A1 (en) 2010-11-25
DE102005037236A1 (de) 2007-02-15
TW200725254A (en) 2007-07-01

Similar Documents

Publication Publication Date Title
EP2550599B1 (de) Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
DE102007042353B4 (de) Verfahren zum Detektieren von Fehlern in einem Fahrzeugsystem einer aktiven Frontlenkung
EP2193408A1 (de) Integriertes mikroprozessorsystem für sicherheitskritische regelungen
EP3642716A1 (de) Vorrichtung und verfahren zur ansteuerung eines fahrzeugmoduls in abhängigkeit eines zustandssignals
EP2447843B1 (de) Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens
WO2011117155A1 (de) Redundante zwei-prozessor-steuerung und steuerungsverfahren
EP3428748B1 (de) Verfahren und anordnung zum betrieb von zwei redundanten systemen
EP2553578A1 (de) Computersystem und verfahren zum vergleichen von ausgangssignalen
DE19509150C2 (de) Verfahren zum Steuern und Regeln von Fahrzeug-Bremsanlagen sowie Fahrzeug-Bremsanlage
DE102008004205A1 (de) Schaltungsanordnung und Verfahren zur Fehlerbehandlung in Echtzeitsystemen
DE4113959A1 (de) Ueberwachungseinrichtung
DE102008024193A1 (de) System mit konfigurierbaren Funktionseinheiten und Verfahren
EP1917591A1 (de) Vorrichtung und verfahren zur konfiguration einer halbleiterschaltung
WO2008014940A1 (de) Steuergerät und verfahren zur steuerung von funktionen
DE102006012042A1 (de) Steuervorrichtung zur fehlersicheren Steuerung einer Maschine
DE102005037213A1 (de) Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal
DE102006036386A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
EP1359485B1 (de) Steuer- und Überwachungssystem
DE102008004206A1 (de) Anordnung und Verfahren zur Fehlererkennung und -behandlung in einem Steuergerät in einem Kraftfahrzeug
EP3341843A1 (de) Verfahren und vorrichtung zum überwachen eines zustandes einer elektronischen schaltungseinheit eines fahrzeugs
WO2007017359A1 (de) Vorrichtung und verfahren zur steuerung eines rechnersystems
EP2228723A1 (de) Verfahren zur Fehlerbehandlung eines Rechnersystems
DE102006036384A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
DE102016205109A1 (de) Mikroprozessor, insbesondere für ein Kraftfahrzeug
DE102015119611B4 (de) Verbesserung der Diagnostizierbarkeit von Fail-operational Systemen

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080310

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20100209

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20120223