Vorrichtung und Verfahren zur Steuerung eines RechnersystemsDevice and method for controlling a computer system
Stand der TechnikState of the art
Die Fertigung von komplexen Halbleiterbauelementen wie MikroControllern (μC) oder auch ASICs ist fehleranfällig. 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 Fehleranfälligkeit, trotz großer Anstrengungen 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.The fabrication of complex semiconductor devices such as microcontrollers (μC) or ASICs is error-prone. Since the doping is a statistical process with ever smaller structure sizes, even in the long term, manufacturing errors are unavoidable. It is even becoming apparent that the error rate will increase in the future despite great efforts and progress. Yield, i. the ratio of correctly working components to the number of components produced is about 90% for a controlled manufacturing process (i.e., already 10% reject), but it is quite possible that much lower values may occur. Mechanisms to increase the yield are thus directly cost-cutting. In addition, there is an increasing demand from test and production considerations to be able to deal with defective components in the field.
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 eineIn order to tolerate errors in the production of memory components such as Flash, RAM or ROM in operation, a meanwhile already partially used means is the use of an error correcting code (ECC). In addition to the storage of the data bits, check bits are also stored with this. The check bits are such that, if only one bit (or a known maximum number of bits) is corrupted, the error is caused by a
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ürAdditional logic can be detected and corrected. This causes the entire device (or the corresponding subcomponent of a device) to give a correct result even in the presence of errors. The Mitabspeicherung the check bits requires a significant overhead, while the necessary additional logic causes virtually no large additional costs. Errors in semiconductor circuits, in particular in computer systems, can also occur during the operation of these circuits. In most cases, it is not possible to ensure high availability in a systematic way, even with permanent errors. One of the few exceptions are memory ECC mechanisms. For transient errors in processors, especially CPUs, recovery or reset measures are known. For
Fehler in Ausführungseinheiten ist aber kein realistisches, kostengünstiges Konzept zur Tolerierung von permanenten Fehlern bekannt.Error in execution units is not a realistic, cost-effective concept for tolerating permanent errors known.
Es ist eine erste Aufgabe der Erfindung, die Ausbeute im Herstellungsprozess von μC o- 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.It is a first object of the invention to improve the yield in the manufacturing process of .mu.C or of the semiconductor components, in particular by enabling use even for components with defective functional units. A second object of the invention is to increase the availability of components in operation. For this purpose, means are to be made available which make it possible to identify faulty execution units (eg cores, ALUs, processors) in a component, and the "graceful degradation" or run-flat operation of a system using this component. enable.
Vorteile der ErfindungAdvantages of the invention
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.Consider a semiconductor circuit, for example a μC, which contains at least two identical or similar functional units. At the end of the production process, during assembly, during diagnosis or in test phases during operation, potential faulty functional units are identified by means of a test program. This can advantageously be done by means of a switching and comparison function, for example in a switching and comparison unit, which compares the output signals of a functional unit with the output signals of at least one further functional unit and / or with further reference values. It is stored in a memory element, which functional units are faulty. These functional units are used, e.g. deactivated by the switching and comparison unit or via an interrupt device. The device, while containing faulty functional units, is still usable and functional.
Vorteilhaft ist ein Verfahren zur Steuerung eines Rechnersystems mit wenigstens zwei gleichen oder gleichartigen Funktionseinheiten beschrieben, wobei abhängig von vorgeb-
baren Bedingungen eine Aktivierung und/oder Deaktivierung von Funktionseinheiten vorgenommen wird.Advantageously, a method for controlling a computer system having at least two identical or similar functional units is described, wherein an activation and / or deactivation of functional units is performed.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Aktivierung und/oder Deaktivierung von Funktionseinheiten in Abhängigkeit der Ergebnisse von wenigstens einem ersten Verfahrensschritt zur Erkennung eines Fehlers im Rechnersystem und/oder wenigstens einem zweiten Verfahrensschritt zur Identifikation einer fehlerhaften Funktionseinheit erfolgt.Advantageously, a method is described, characterized in that an activation and / or deactivation of functional units takes place as a function of the results of at least a first method step for detecting an error in the computer system and / or at least a second method step for identifying a defective functional unit.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass das Rechnersystem wenigstens zwei gleiche oder gleichartige Funktionseinheiten enthält und dass zwischen wenigstens zwei Betriebsmodi der wenigstens zwei gleichen oder gleichartigen Funktionseinheiten des Rechnersystems umgeschaltet wird und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Performanzmodus ent- spricht.Advantageously, a method is described, characterized in that the computer system contains at least two identical or similar functional units and that is switched between at least two operating modes of the at least two identical or similar functional units of the computer system and a first operating mode a comparison mode and a second operating mode a performance mode speaks.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass im Vergleichsmodus Fehler in den Ausgangssignalen der zu vergleichenden Funktionseinheiten erkannt werden und der Vergleichsmodus einem ersten Verfahrensschritt zur Erkennung eines Fehlers im Rechnersystem entsprichtAdvantageously, a method is described, characterized in that errors in the output signals of the functional units to be compared are detected in the comparison mode and the comparison mode corresponds to a first method step for detecting an error in the computer system
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass ausgewählte Funktionseinheiten des Rechnersystems in einen Betriebsmodus umgeschaltet werden, in dem eine Identifikation von fehlerhaften Funktionseinheiten durch einen Vergleich der Ausgangssignale dieser Funktionseinheiten mit Referenzwerten möglich ist und dieserAdvantageously, a method is described, characterized in that selected functional units of the computer system are switched to an operating mode in which an identification of faulty functional units by comparing the output signals of these functional units with reference values is possible and this
Betriebsmodus einem zweiten Verfahrensschritt zur Identifikation einer fehlerhaften Funktionseinheit im Rechnersystem entsprichtOperating mode corresponds to a second method step for identifying a faulty functional unit in the computer system
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die Referenzwer- te in einer Speichereinrichtung des Rechnersystem gespeichert sind und bei Umschaltung in den Betriebsmodus zur Fehleridentifikation aus der Speichereinrichtung ausgelesen werden.Advantageously, a method is described, characterized in that the reference values are stored in a memory device of the computer system and are read out from the memory device when switching to the operating mode for error identification.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Umschal-
tung zwischen wenigstens zwei Betriebsmodi während des Betriebs des Rechnersystems zyklisch oder auf Anforderung erfolgt.Advantageously, a method is described, characterized in that a switchover tion between at least two operating modes during operation of the computer system cyclically or on request.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, das die Umschaltung zwischen wenigstens zwei Betriebsmodi zum Zweck der Erkennung von Fehlern und/oder der Identifikation von fehlerhaften Funktionseinheiten erfolgt.Advantageously, a method is described, characterized in that the switching between at least two operating modes for the purpose of detecting errors and / or the identification of faulty functional units is carried out.
Vorteilhaft ist ein Verfahren beschrieben, wobei für wenigstens die als fehlerhaft identifizierten Funktionseinheiten des Rechnersystems ein Konfigurationsstatus und/oder Fehler- Status gebildet wird.Advantageously, a method is described, wherein a configuration status and / or error status is formed for at least the functional units of the computer system identified as faulty.
Vorteilhaft ist ein Verfahren beschrieben, 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 deaktiviert gekennzeichneten Einheiten im Betrieb nicht ermöglicht wird.Advantageously, a method is described, characterized in that a deactivation of a functional unit takes place in that information about the configuration status or the error status of this functional unit are stored in a memory device such that they can be read during the initialization and / or operation of the semiconductor system and the stored information is processed in such a way that it is not possible to use the units designated as deactivated in operation.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass für alle aktivierbaren und/oder deaktivierbaren Funktionseinheiten des Rechnersystems ein Konfigurationsstatus und/oder ein Fehlerstatus gebildet wird.Advantageously, a method is described, characterized in that a configuration status and / or an error status is formed for all activatable and / or deactivatable functional units of the computer system.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass Informationen über den Konfigurationsstatus und/oder den Fehlerstatus der aktivierbaren und/oder deaktivierbaren Funktionseinheiten in einer Speichereinrichtung gespeichert werden. Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass das Rechnersystem wenigstens zwei gleiche oder gleichartige Funktionseinheiten enthält und dass wenigstens eine der gleichen oder gleichartigen Funktionseinheiten in dem Rechnersystem standardmäßig deaktiviert ist.Advantageously, a method is described, characterized in that information about the configuration status and / or the error status of the activatable and / or deactivatable functional units are stored in a memory device. Advantageously, a method is described, characterized in that the computer system contains at least two identical or similar functional units and that at least one of the same or similar functional units in the computer system is deactivated by default.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass wenigstens eine Information über den Konfigurationsstatus der deaktivierten Funktionseinheit in einer Speichereinrichtung gespeichert ist.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass bei oder nach der Identifikation einer fehlerhaften Funktionseinheit eine Umkonfϊguration des Rechnersystems dadurch erfolgt, dass wenigstens die als fehlerhaft identifizierte Funktionseinheit deaktiviert wird.Advantageously, a method is described, characterized in that at least one information about the configuration status of the deactivated functional unit is stored in a memory device. Advantageously, a method is described, characterized in that during or after the identification of a faulty functional unit, a reconfiguration of the computer system takes place in that at least the functional unit identified as faulty is deactivated.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass im Fall einer Deaktivierung einer Funktionseinheit aufgrund eines Fehlers eine Information über den Konfigurationsstatus und/oder ein Fehlerstatus dieser Funktionseinheit in eine Spei- chereinrichtung geschrieben wird.Advantageously, a method is described, characterized in that in the case of deactivation of a functional unit due to an error information about the configuration status and / or an error status of this functional unit is written in a memory device.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass bei oder nach der Identifikation einer fehlerhaften Funktionseinheit eine Umkonfϊguration des Rechnersystems erfolgt, wobei die als fehlerhaft identifizierte Funktionseinheit deaktiviert wird und eine standardmäßig deaktivierte, aber nicht fehlerbehaftete Funktionseinheit aktiviert wird.Advantageously, a method is described, characterized in that during or after the identification of a faulty functional unit, a reconfiguration of the computer system takes place, whereby the functional unit identified as faulty is deactivated and a standard deactivated but not faulty functional unit is activated.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass der erste Verfahrensschritt zur Erkennung eines Fehlers dem bestimmungsgemäßen Betrieb der wenigs- tens zwei gleichen oder gleichartigen Funktionseinheiten des Rechnersystems in einemAdvantageously, a method is described, characterized in that the first method step for the detection of an error corresponds to the intended operation of the at least two identical or similar functional units of the computer system in one
Vergleichsmodus entspricht.Comparison mode corresponds.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass der zweite Verfahrensschritt zur Identifikation einer fehlerhaften Einheit der Abarbeitung einer Fehler- erkennungsroutine auf wenigstens einer Funktionseinheit und eines Vergleichs der Ergebnisse der Fehlererkennungsroutine mit Referenzwerten entspricht.Advantageously, a method is described, characterized in that the second method step for identifying a faulty unit corresponds to the execution of an error detection routine on at least one functional unit and a comparison of the results of the error detection routine with reference values.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass vor der oder zu der Durchführung des Verfahrensschrittes zur Identifikation einer fehlerhaften Einheit ei- ne Umkonfϊguration des Rechnersystems vorgenommen wird, die die Ausführung unterschiedlicher Funktionen, Befehle, Programmsegmente oder Programme auf den gleichen oder gleichartigen Funktionseinheiten ermöglicht.Advantageously, a method is described, characterized in that before or to the implementation of the method step for identifying a faulty unit ne ne reconfiguration of the computer system is performed, which allows the execution of different functions, commands, program segments or programs on the same or similar functional units ,
Vorteilhaft ist ein Verfahren beschrieben, wobei die Referenzwerte der Fehlererken-
nungsroutinen zusammen mit den Fehlererkennungsroutinen in einer Speichereinrichtung gespeichert sindAdvantageously, a method is described, wherein the reference values of the error codes tion routines are stored together with the error detection routines in a memory device
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass bei oder nach der Identifikation einer fehlerhaften Funktionseinheit eine Umkonfϊguration des Rechnersystems erfolgt, wobei wenigstens die als fehlerhaft identifizierte Funktionseinheit deaktiviert wird.Advantageously, a method is described, characterized in that during or after the identification of a faulty functional unit, a reconfiguration of the computer system takes place, whereby at least the functional unit identified as faulty is deactivated.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass im Fall einer De- aktivierung einer Funktionseinheit aufgrund eines Fehlers ein Konfigurationsstatus und ein Fehlerstatus dieser Funktionseinheit in eine Speichereinrichtung geschrieben werden. Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass wenigstens ein Teil der Funktionen, Befehle, Programmsegmente oder Programme, die vor einer Umkonfϊguration des Rechnersystems zur Abarbeitung in einem ersten Betriebsmodus be- stimmt sind, nach einer Umkonfϊguration des Rechnersystems in einem zweiten Betriebsmodus abgearbeitet werden.Advantageously, a method is described, characterized in that in case of deactivation of a functional unit due to an error, a configuration status and an error status of this functional unit are written to a memory device. Advantageously, a method is described, characterized in that at least part of the functions, commands, program segments or programs that are intended for processing in a first operating mode before reconfiguration of the computer system are executed after a reconfiguration of the computer system in a second operating mode ,
Vorteilhaft ist ein Verfahren beschrieben, wobei der erste Betriebsmodus einem Vergleichsmodus und der zweite Betriebsmodus einem Performanzmodus oder einem Feh- lermodus mit nur einer aktiven Funktionseinheit entspricht.Advantageously, a method is described, wherein the first operating mode corresponds to a comparison mode and the second operating mode corresponds to a performance mode or an error mode with only one active functional unit.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die Deaktivierung von Funktionseinheiten irreversibel durch Unterbrechung elektrischer Verbindungen zu oder zwischen Funktionseinheiten des Rechnersystems erfolgt.Advantageously, a method is described, characterized in that the deactivation of functional units takes place irreversibly by interrupting electrical connections to or between functional units of the computer system.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Unterbrechung elektrischer Verbindungen auf in dem Rechnersystem durch elektrische Einwirkung auf wenigstens einen Teil der Verbindungen erreicht wird..Advantageously, a method is described, characterized in that an interruption of electrical connections in the computer system is achieved by electrical action on at least a part of the connections.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass eine Aktivierung und/oder Deaktivierung von Funktionseinheiten während des Betriebs des Rechnersystems und unter Verwendung von Vorrichtungen erfolgt, die Teil des Rechnersystems sind oder die ständig mit dem Rechnersystem verbunden sind.
Vorteilhaft ist eine Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei gleichen oder gleichartigen Funktionseinheiten beschrieben, dadurch gekennzeichnet, dass Mittel vorhanden sind, die eine Aktivierung und/oder Deaktivierung von Funktionseinheiten des Rechnersystems abhängig von vorgebbaren Bedingungen ermöglichen. Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Mittel vorhanden sind, um eine Fehlererkennung im Rechnersystem und/oder eine Identifikation von fehlerhaften Funktionseinheiten zu ermöglichen.Advantageously, a method is described, characterized in that an activation and / or deactivation of functional units takes place during operation of the computer system and using devices which are part of the computer system or which are permanently connected to the computer system. Advantageously, a device for controlling a computer system with at least two identical or similar functional units is described, characterized in that means are provided which enable activation and / or deactivation of functional units of the computer system depending on predefinable conditions. Advantageously, a device is included, characterized in that means are provided to enable error detection in the computer system and / or identification of faulty functional units.
Vorteilhaft ist eine Vorrichtung enthalten, wobei die Vorrichtung Umschaltmittel enthält, die eine Umschaltung zwischen wenigstens zwei Betriebsmodi der wenigstens zwei gleichen oder gleichartigen Funktionseinheiten des Rechnersystems ermöglicht und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Perfor- manzmodus entspricht.Advantageously, a device is included, wherein the device contains switching means which enables a switchover between at least two operating modes of the at least two identical or similar functional units of the computer system and a first operating mode corresponds to a comparison mode and a second operating mode corresponds to a performance mode.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die VorrichtungAdvantageously, a device is included, characterized in that the device
Mittel enthält, um ausgewählte Funktionseinheiten des Rechnersystems in einen Betriebsmodus umzuschalten, in dem eine Identifikation von fehlerhaften Funktionseinheiten durch einen Vergleich der Ausgangssignale dieser Funktionseinheiten mit Referenzwerten möglich ist.Contains means for switching selected functional units of the computer system in an operating mode in which an identification of faulty functional units by comparing the output signals of these functional units with reference values is possible.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vorrichtung Vergleichsmittel umfasst, um Ausgangssignale von Funktionseinheiten mit Ausgangssignalen wenigstens einer weiteren Funktionseinheit oder mit Referenzwerten zu vergleichen und bei Diskrepanz eine Fehlerinformation zu erzeugen.A device is advantageously included, characterized in that the device comprises comparison means for comparing output signals of functional units with output signals of at least one further functional unit or with reference values and generating error information in the event of a discrepancy.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vorrichtung Speichermittel umfasst, in denen Referenzwerte für die Ausgangssignale von Funktionseinheiten gespeichert sind und des Weiteren Mittel umfasst, um Referenzwerte aus der Speichereinrichtung einer Vergleichseinrichtung zuzuführen.Advantageously, a device is included, characterized in that the device comprises memory means in which reference values for the output signals of functional units are stored and further comprises means for supplying reference values from the memory device to a comparison device.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Mittel vorhanden sind um einen Konfigurationsstatus und/oder einen Fehlerstatus für alle aktivierbaren und/oder deaktivierbaren Funktionseinheiten des Rechnersystems zu bilden.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vorrichtung Mittel zur Speicherung von Daten enthält, in denen wenigstens eine Information über den Konfϊgurationsstatus oder den Fehlerstatus der aktivierbaren und/oder deaktivierbaren Funktionseinheiten gespeichert werden.Advantageously, a device is included, characterized in that means are provided to form a configuration status and / or an error status for all activatable and / or deactivatable functional units of the computer system. A device is advantageously included, characterized in that the device contains means for storing data in which at least information about the configuration status or the error status of the activatable and / or deactivatable functional units is stored.
Vorteilhaft ist eine Vorrichtung enthalten, wobei die Mittel zur Speicherung von Daten nichtflüchtige Speichermittel sind.Advantageously, a device is included, wherein the means for storing data are non-volatile storage means.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Mittel vorhanden sind, die bei Initialisierung und/oder im Betrieb des Rechnersystems die in einer Speichereinrichtung gespeicherten Konfϊgurationsstati und/oder Fehlerstati der Funktionseinheiten auslesen und abhängig von den ausgelesenen Daten und einem Fehlersignal der Vergleichseinrichtung eine Aktivierung und/oder Deaktivierung von Funktionseinhei- ten durchführen können.A device is advantageously included, characterized in that means are present which read out the configuration statuses and / or error statuses of the functional units stored in a memory device during initialization and / or operation of the computer system and activate them depending on the data read and an error signal from the comparison device and / or deactivation of functional units.
Vorteilhaft ist eine Vorrichtung enthalten, wobei Mittel vorhanden sind, die eine Deaktivierung von Funktionseinheiten irreversibel durchführen können.Advantageously, a device is included, wherein means are provided which can perform a deactivation of functional units irreversibly.
Vorteilhaft ist eine Vorrichtung enthalten, dass Mittel vorhanden sind, die zur irreversiblen Deaktivierung von Funktionseinheiten wenigstens eine elektrische Verbindung zu dieser oder in dieser Funktionseinheiten unterbricht.Advantageously, a device is included, that means are present, which interrupts at least one electrical connection to this or in these functional units for the irreversible deactivation of functional units.
Vorteilhaft ist eine Vorrichtung enthalten, dass Mittel vorhanden sind, die eine Unterbre- chung elektrischer Verbindungen zu oder in Funktionseinheiten durch elektrische Einwirkung auf wenigstens einen Teil dieser Verbindungen erwirken können.Advantageously, a device is included in which means are provided which can bring about an interruption of electrical connections to or in functional units by electrical action on at least a part of these connections.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Mittel zur Fehlererkennung, zur Aktivierung und/oder Deaktivierung von Funktionseinheiten Teil des Rechnersystems sind oder ständig mit dem Rechnersystem verbunden sind.A device is advantageously included, characterized in that the means for error detection, for activation and / or deactivation of functional units are part of the computer system or are permanently connected to the computer system.
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche sowie der Beschreibung.
FigurenFurther advantages and advantageous embodiments will become apparent from the features of the claims and the description. characters
Figur 1 beschreibt eine allgemeine Umschaltkomponente mit einer Schaltlogik und VerarbeitungslogikFigure 1 describes a general switching component with a switching logic and processing logic
Figur 2 beschreibt die Verbindung der Umschaltkomponente mit einem SpeicherelementFIG. 2 describes the connection of the switching component with a memory element
Figur 3 beschreibt ein prinzipielles Verfahren zur Ausbeuteerhöhung unter Verwendung eines SpeicherelementsFIG. 3 describes a basic process for increasing the yield using a storage element
Figur 4 beschreibt ein prinzipielles Verfahren zur Erhöhung von Verfügbarkeit, graceful degradation und Notbetrieb.FIG. 4 describes a principle method for increasing availability, graceful degradation and emergency operation.
Figur 5 beschreibt die Verbindung der Umschaltkomponente mit einer BeeinflussungskomponenteFIG. 5 describes the connection of the switching component with an influencing component
Figur 6 beschreibt ein prinzipielles Verfahren zur Ausbeuteerhöhung unter Verwendung einer BeeinflussungskomponenteFIG. 6 describes a principle method for increasing the yield using an influencing component
Figur 7 beschreibt den Aufbau eines möglichen SpeicherelementsFIG. 7 describes the structure of a possible memory element
Beschreibung der AusführungsbeispieleDescription of the embodiments
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.An execution unit may in the following designate both a processor / core / CPU and an FPU (floating point unit), a DSP (digital signal processor), a coprocessor or an ALU (arithmetic logical unit).
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 N100. Diese kann bis zu n Ausgangssignale N160,..., N16n aus diesen Eingangssignalen erzeugen. Im einfachsten Fall, dem „reinen Perfor-
manzmodus", werden alle Signale N14i auf die entsprechenden Ausgangssignale N16i geleitet. Im entgegen gesetzten Grenzfall, dem „reinen Vergleichsmodus" werden alle Signale N 140, ... , N 14n nur auf genau eines der Ausgangssignale N 16i geleitet.In FIG. 1, a general case of the switching and comparison unit is first shown, also for the use of more than two execution units. Of the n execution units to be considered, n signals N 140,..., N14n go to the switching and comparison component N100. This can generate up to n output signals N160, ..., N16n from these input signals. In the simplest case, the "pure performance" In the opposite limit case, the "pure comparison mode", all the signals N140,..., N14n are only routed to exactly one of the output signals N16i.
An dieser Figur lässt sich darlegen, wie die verschiedenen denkbaren Modi entstehen können. Dazu ist in NlOO 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 NI lO fest, wie viele Ausgangssignale 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.This figure shows how the various conceivable modes can arise. For this purpose, the logical component of a switching logic N10 is included in N100. It is first task of the switching logic to determine which inputs are switched to no output, i. which inputs are ignored, have no consequences or are inactive. This function of the switching logic is often referred to below as the first function of the switching logic. Furthermore, switching logic NI 10 determines how many output signals there are and which of the input signals contribute to which of the output signals. An input signal can contribute at most to exactly one output signal. This function of the switching logic is often referred to below as the second function of the switching logic.
In mathematischer Form anders formuliert ist also ohne Sperrung von Signalen durch die Schaltlogik eine Funktion definiert, die jedem Element der Menge {N140,..., N14n} ein Element der Menge {N160,..., N16n} zuordnet. Mit der Sperrung einzelner Eingangssignale ist allgemeiner durch die Schaltlogik eine Funktion definiert, die jedem Element ei- ner festgelegten Teilmenge von {N140,..., N14n} (die nicht gesperrten Signale) ein Element der Menge {N160,..., N16n} zuordnet.In other words, in mathematical form, without blocking of signals by the switching logic, a function is defined which assigns to each element of the set {N140, ..., N14n} an element of the set {N160, ..., N16n}. With the disabling of individual input signals, a function is more generally defined by the switching logic which assigns to each element of a fixed subset of {N140, ..., N14n} (the unlocked signals) an element of the set {N160, ..., N16n assigns}.
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 verschiede- nen Variationsmöglichkeiten zu beschreiben, sei ohne Beschränkung der Allgemeinheit angenommen, dass der Ausgang N 160 durch die Signale N141, ..., N 14m erzeugt wird. Falls m = 1 entspricht dies einfach einer Durchschaltung des Signals, falls m = 2 dann werden die Signale N141, N142 verglichen. Dieser Vergleich kann synchron oder asynchron 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 Ausfü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.The processing logic N 120 then determines to each of the outputs N16i how the inputs contribute to that output signal. To describe the various possible variations by way of example, it is assumed without loss of generality that the output N 160 is generated by the signals N141,..., N 14m. If m = 1, this simply means that the signal is switched through, if m = 2 then the signals N141, N142 are compared. This comparison can be performed synchronously or asynchronously, it can be performed bitwise or only on significant bits or even with a tolerance band. A preferred possibility is that execution units run in lockstep mode (ie same instructions at the same clock rate). A fixed clock or phase offset is also an advantageous solution. If m> = 3, there are several possibilities.
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.A first possibility is to compare all signals and to detect an error in the presence of at least two different values, which can be optionally signaled.
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 dreiA second possibility is to make a k out of m selection (k> m / 2). This can be realized by using comparators. Optionally, an error signal can be generated if one of the signals is detected as deviating. A possibly different error signal can be generated if all three
Signale verschieden sind.Signals are different.
Eine dritte Möglichkeit besteht darin, diese Werte einem Algorithmus zuzuführen. Dies kann beispielsweise die Bildung eines Mittelwerts, eines Medianwert, oder die Verwen- düng eines fehlertoleranten Algorithmus (FTA) darstellen. Ein solcher FTA beruht darauf, 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.A third option is to apply these values to an algorithm. This can be, for example, the formation of an average value, a median value, or the use of a fault-tolerant algorithm (FTA). Such an FTA is based on eliminating extreme values of the input values and performing a kind of averaging over the remaining values. This averaging can be done over the entire set of residual values, or preferably over a subset that is easy to form in HW. In this case, it is not always necessary to actually compare the values. For example, averaging only adds and divides, FTM, FTA, or median require partial sorting. If necessary, an error signal can optionally also be output at sufficiently large extreme values.
Diese verschiedenen genannten Möglichkeiten der Verarbeitung mehrerer Signale zu einem 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 be- zeichnet. Die dadurch in der Regel mögliche Identifikation fehlerhafter Ausführungseinheiten wird im Folgenden als die erste Funktion der Verarbeitungslogik bezeichnet.These various possibilities of processing a plurality of signals into one signal are referred to as comparison operations for the sake of brevity. The task of the processing logic is thus to determine the exact shape of the comparison operation for each output signal - and thus also for the associated input signals. This is referred to below as the second function of the processing logic. The possible identification of faulty execution units, which is usually possible as a result of this, is referred to below as the first function of the processing logic.
Die Kombination der Information der Schaltlogik NIlO (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 Information 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 Vergleichsmodus gibt, die gesamte Information auf nur ein logisches Bit kondensiert werden kann.The combination of the information of the switching logic NI10 (ie the above-mentioned function) and the processing logic (ie the determination of the comparison operation per output signal, ie per function value) is the mode information and this sets the mode. Of course, in the general case this information is multivalued, ie not representable only via a logical bit. Not all the theoretically conceivable modes are useful in a given implementation, it is preferable to restrict the number of modes allowed. It should be emphasized that in the case of only two execution units, where there is only one compare mode, all the information can be condensed to only one logical bit.
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 einSwitching from a performance mode to a comparison mode is characterized in the general case by the fact that execution units that are displayed in the performance mode on different outputs are mapped in the compare mode to the same output. This is preferably realized in that there is a subsystem of execution units in which in the performance mode, all input signals N14i to be considered in the subsystem are switched directly to corresponding output signals N16i, while in comparison mode they are all switched to on
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 einerOutput are shown out. Alternatively, such switching can also be realized by changing pairings. It is represented by the fact that in the general case one can not speak of the performance mode and the comparison mode, although in a given form of the invention one can restrict the set of allowed modes such that this is the case. But you can always from one
Umschaltung vom Performanz- in den Vergleichsmodus (und umgekehrt) sprechen.Switch from the performance mode to the compare mode (and vice versa).
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.The following describes how, with the aid of such a switching and comparison component and a few other elements, under certain conditions, the yield in the manufacturing process of semiconductor devices, e.g. can increase μC.
Die Grundidee ist grob skizziert die Folgende:The basic idea is roughly sketched the following:
Auf dem Bauelement, beispielsweise einem μC, sind mehr Ausführungseinheiten, als im Betrieb benötigt.On the component, for example, a μC, more execution units, as needed in operation.
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.Thus, you can work with less than the full number of correctly working execution units in operation. The prerequisite is that incorrectly operating units are identified and can not affect the overall system. The use of a switching and comparison unit described above makes it possible to prevent the signals of faulty execution units from further spreading in the system via the switching logic N10.
Die Verarbeitungslogik N120 ermöglicht es, Signale verschiedener Ausführungseinheiten zu vergleichen. Durch einen geeigneten Vergleich kann man fehlerhafte Ausführungseinheiten identifizieren. Dies ist möglich, wenn man ein hinreichend Fehlerabdeckendes Testprogramm verwendet. Gegebenenfalls kann man auch externe Mittel zur Identifikation mit einsetzen.The processing logic N120 makes it possible to compare signals of different execution units. By a suitable comparison one can identify faulty execution units. This is possible if you use a sufficiently bug-covering test program. Optionally, you can also use external means of identification with.
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 Ausführungseinheiten noch verwendet werden können, selbst wenn fehlerhafte Ausführungseinheiten vorhanden sind.By having such a test at any time, e.g. at the end of the tape, at initialization time or during assembly, stores the result (ie an unambiguous identification of the erroneous execution units) in a non-volatile memory, if possible, and that this result affects the switching logic Nl 10 in such a way that the signals of erroneous execution units have no effect, One obtains a μC whose correctly operating execution units can still be used, even if faulty execution units are present.
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.By thus implemented in the product fault tolerance can increase the yield, as well as faulty components can be used as long as the number of still correctly working execution units is large enough. This depends on the application.
Diese Idee wird jetzt detailliert.This idea will now be detailed.
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 Unterkomponenten Schalt- und Verarbeitungslogik existieren.One possible logical form of the switching and comparison unit is described above. While it is advantageous for the application of the invention described herein, it is not necessary that the component exist as such and that the named sub-components switching and processing logic exist.
Entscheidend für die erste Funktion der Schaltlogik ist es, dass Ausgänge potenziell fehlerhafter Komponenten in einer geeigneten Form ignoriert werden können. Dies kann dadurch geschehen, dass diese Ausgänge, beispielsweise durch Schalter, unterbrochen werden. 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 entsprechende 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 Ausführungseinheiten, deren Ausgang durch irgend ein Mittel ignoriert werden kann als passiv oder inaktiv bezeichnet.Crucial to the first function of the switching logic is that outputs of potentially defective components in a suitable form can be ignored. This can be done by interrupting these outputs, for example by switches. Another option is to set the outputs to a standard "catcher" for to switch faulty signals. Another option is to mark the output signals as invalid. Yet another possibility, which may be used beyond or alternatively, is to prevent the occurrence of such output signals by deactivating the corresponding component itself. This can in turn be realized by deactivating the component, stopping, interrupting the clock or interrupting the input signals. This also has the advantage that the power loss is minimized and thus life, reliability and temperature load is optimized. In the following, all execution units whose output can be ignored by any means will be referred to as passive or inactive.
Entscheidend für die erste Funktion der Verarbeitungslogik ist es zunächst, dass eine fehlerhafte Komponente identifiziert werden kann. Eine bevorzugte Möglichkeit ist es, alle Ausführungseinheiten parallel das gleiche Programm ausführen zu lassen. Bevorzugt aber nicht notwendig kann dies dadurch realisiert werden, dass die Ausführungseinheiten in einem Lockstep-Modus oder auch mit festem Takt- oder Phasenversatz betrieben werden.It is first of all decisive for the first function of the processing logic that a faulty 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.
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 dieses Programms mit den zuvor bekannten Ergebnissen durch eine externe Einheit (Watch- dog, anderer μC, Testgerät, ASIC) verglichen werden. Dies ist insbesondere dann vorteilhaft, wenn nur zwei Ausführungseinheiten 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.Through a suitable comparison, a majority decision can be used to identify a potentially present defective component. Optionally, the results of this program can additionally be compared with the previously known results by an external unit (watchdog, other μC, test device, ASIC) during a production, initialization or band test. This is particularly advantageous if there are only two execution units, since in this case a third information for identifying the faulty execution unit is necessary when a difference occurs between the two execution units. In addition to the comparison operations described above, such a comparison can also be implemented in such a way that it is performed only in pairs or on subsets, until a clear identification of potentially erroneous execution units is possible. The processing logic must thus identify the faulty components as a result of this first function.
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 Aus-
fü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 letzten „Rettungsschritt" gewonnen wurde, erhöht direkt die Ausbeute des Fertigungsprozesses.The test program must be designed in such a way that an error is most likely to have an effect. To develop such a program, for example, an error model (eg, stuck-at model) may be used, a portion of the application code may be run, or a complete command test. In the case of the tape test, this may correspond to a test program today, which is based on the is limited. But you can also link this with a common today band test and test only those components with this program, which have already failed by the first band end test. This last procedure has the particular advantage that only components are subjected to an additional process step, which otherwise belong to the committee. Each component gained through this last "rescue step" directly increases the yield of the manufacturing process.
Nachdem die erste Funktion der Verarbeitungslogik die fehlerhaften Einheiten identifi- ziert hat, muss diese Information abgespeichert werden. Bei der Anwendung des erfindungsgemäß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.After the first function of the processing logic identifies the faulty units, this information must be stored. When applying the method according to the invention to the production process for increasing the yield, a non-volatile storage element is preferably used. This then stores which execution units are inactive.
In Figur 2 ist die Funktion dieses Speicherelements dargestellt. Die Elemente N510,FIG. 2 shows the function of this memory element. The elements N510,
N520, N54i, N56i der Umschalt- und Vergleichseinheit N500 in Figur 2 haben die gleichen Funktionen wie die Elemente Nl 10, N120, 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 SchaltlogikN520, N54i, N56i of the switching and comparing unit N500 in Fig. 2 have the same functions as the elements N10, N120, N14i, N16i of the switching and comparing unit N100 in Fig. 1. In addition, a memory element N530 is shown. The processing logic N520 sends the information about the execution units identified as faulty to the memory element N530. On this can the switching logic
N510 zugreifen und die erste Funktion der Schaltlogik so ausüben, dass die von N530 als inaktiv gekennzeichneten Elemente auch tatsächlich inaktiv werden.N510 and perform the first function of the switching logic so that the elements marked as inactive by N530 actually become inactive.
Das Speicherelement kann natürlich innerhalb der Umschalt- und Vergleichseinheit lie- gen, 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.Of course, the memory element can be located inside the switching and comparison unit, but it can also be outside, even outside the component. For example, when mounting a μC in a controller or a PC, an external element is conceivable because then a more extensive test using the periphery may possibly be used.
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 konfigu- deren. 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.The basic process idea for increasing the yield in the production is described in FIG. In a first step N600 (identification step), an identification of erroneous execution units takes place. The identification uses the first function of the processing logic N520 and thus the test program. In the second step N610 (storage step), the error information is stored. The corresponding Information is given by the processing logic N520 to the memory element N530. In the third step N620 (configuration), the switching logic N510 uses the information from N530 and uses the first function of the switching logic to configure the outputs of the execution units according to the required activity and passivity. It should be emphasized that although this can optionally be done by SW, in a preferred application the configuration is not exercised by SW control here.
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.The main reason for inactivity is flaws. However, in a preferred extension, other reasons may be valid. For example, it is possible for execution units to be marked as inactive even for completely error-free components in this memory element.
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 Verarbeitungslogik (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.In particular, if the test expires not only at the end of the tape but during operation (for example, in an initialization phase or even during normal operation), it is possible that faults which do not arise during operation but during operation are detected. Through the second function of the switching logic (to link the active execution units together in operation) and the second function of the processing logic (to make a comparison for the signals connected to an output) as illustrated in the description of Figure 1, it is easily possible to do so as well Operation to detect faults and identify faulty execution units.
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.If error-free execution units are marked as inactive, it is possible to exchange a unit identified as faulty for a faultless but inactive unit when an error occurs during operation. For this purpose, information is preferably stored in the memory element N530 as to whether the execution unit is only inactive or whether it is also faulty. Advantageously, it is not possible in operation to change the information that a given execution unit is faulty.
In Figur 7 ist ein prinzipiell möglicher Aufbau eines Speicherelements 0100 (entsprichtFIG. 7 shows a possible structure of a memory element 0100 (corresponds to FIG
N530) beschrieben. Es enthält einen ersten Speicherbereich Ol 10, in dem es, vorzugsweise entsprechend der Anzahl Ausführungseinheiten, Speicherstellen O120, ..., 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 Aus-
führungseinheit eindeutig verknüpft. Ein Bit in 0120, das auf O 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 O120, ..., O12n vorliegen, der grundsätzliche Informationsgehalt, bezogen auf diese Anwendung bleibt aber immer gleich.N530). It contains a first memory area Ol 10, in which there are, preferably in accordance with the number of execution units, memory locations O120, ..., O12n. Each memory location is preferably realized via at least one bit. The number or address of the memory location O12i is indicated by the number or identification of an uniquely linked. For example, a bit in 0120 that is set to 0 indicates that the associated execution unit is active. If set to 1, the associated execution unit should be inactive. This information can be fault tolerant or linked to other information in the memory locations O120, ..., O12n, the basic information content, based on this application remains the same.
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 oderOptionally, there is additionally a second memory area 0140, in which there are memory locations 0130,..., O13n, preferably corresponding to the number of execution units. Each memory location is preferably realized via at least one bit. The number or
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 SpeicherstellenAddress of the memory location O13i is uniquely linked to the number or identification of an execution unit. For example, a bit in 0130 that is set to 0 indicates that the associated execution unit is healthy. If it is set to 1, it means that the associated execution unit is faulty. This information may be error tolerant or associated with additional information in the memory locations
O130, ..., 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 sichergestellt ist, dass eine einmal als fehlerhaft markierte Ausführungseinheit nicht irrtümlich als fehlerfrei gekennzeichnet wird.O130, ..., O13n, but the basic information content related to this application remains the same. Optionally, this memory area can not be described or only under special circumstances or in a special way, so that it is ensured that an execution unit once marked as defective is not erroneously marked as error-free.
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.By using inactive but error-free execution units, it is possible to use the cold redundancy that this method offers for faultless components to increase the availability and reliability.
Eine weitere Möglichkeit, die Erfindung einzusetzen, ist es, Graceful-Degradation- und Limp-home Modi zu ermöglichen.Another way to use the invention is to enable graceful degradation and limp home modes.
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 (Fehlerentdeckung) ein Fehler entdeckt. Dies kann z.B. durch Anwendung eines Testprogramms geschehen. Wenn sich das System aber in einem Vergleichsmodus befindet, wie er z.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 Ausführungseinheit 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 beispielsweise der Fall, wenn der Fehler in einem Teilsystem auftritt, bei dem die Signale von 3 Ausführungseinheiten verglichen werden. Falls dies (im Schritt N705) nicht derThe premise here is that an error has been discovered during operation via the above-mentioned second function of the processing logic. A then preferably used method is described in FIG. First, an error is detected in step N700 (error detection). This can be done, for example, by using a test program. However, when the system is in a compare mode, such as can be set via the second functions of the processing logic and circuitry, there is one Such error detection also possible in normal operation, ie the application software acts as a test program. This is particularly advantageous for two reasons: on the one hand, you do not need a dedicated test program, on the other hand, all errors of the execution units that have any effect are discovered in this way. In step N705 it is checked 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 not (in step N705)
Fall ist (beispielsweise, wenn in einem Teilsystem von zwei Ausführungseinheiten, die in einem Vergleichsmodus laufen, ein Fehler entdeckt wird), muss im Schritt N710 erst eine Konfiguration gewählt werden, die eine Fehleridentifikation erlaubt. Am einfachsten geschieht dies beispielsweise dadurch, dass die „Verdachtskandidaten" (d.h. alle Ausfüh- rungseinheiten, 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).If, for example, an error is detected in a subsystem of two execution units that are running in a compare mode), a configuration must be selected in step N710 that allows error identification. The easiest way to do this is, for example, by combining the "suspected candidates" (ie all execution units involved in the subsystem that generated an error) with a sufficient number of other execution units together through the switching logic N510 to an output signal. Preferably, the SW part which has disclosed the error is reused as the test program, but a dedicated test program can also be used The first function of the processing logic then makes it possible to execute step N720 and to identify the erroneous execution unit Alternatively, however, another method of identification may be chosen: for example, one of the suspected candidates is accepted and coupled with another error-free execution unit. If no error is identified, another execution unit is faulty n this execution unit to be closed. Although the latter method does not offer the same security of identification, it can be used more easily during operation, so it would be advantageous if e.g. in a motor vehicle just runs a critical maneuver that is influenced by the device. After the identification of the erroneous execution unit is completed, the two steps N730 (storage step, corresponds to N610) and N740 (configuration, corresponds to N620) are executed.
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 funktionsfähiges System wieder herstellen.It should be emphasized that in this last step by the method according to the invention there are now several advantageous possibilities. If there are a sufficient number of error-free but inactive execution units, one can, as described above, restore a fully functional system.
Falls es zu wenige fehlerfreie Ausführungseinheiten für den Normalbetrieb gibt, kann man die vorhandene Software so gut wie es geht auf den vorhandenen Ausfuhrungseinheiten ablaufen lassen. Dies ist besonders dann vorteilhaft, wenn das System im Normalfall mit Laufzeitreserven spezifiziert ist. Dann ist es wahrscheinlich, dass auch eine reduzierte Menge von Ausfuhrungseinheiten ausreichend Performanz zur Verfügung stellt, um den Betrieb zu gewährleisten. Dies ist insbesondere dadurch auf der Systemebene unterstützbar, dass besonders performanzintensive Betriebszustände (z.B. hohe Drehzahlen beim Motor eines Kraftfahrzeugs) vermieden werden.If there are too few error-free execution units for normal operation, you can run the existing software as well as possible on the existing execution units. This is particularly advantageous if the system is normally specified with runtime reserves. Then it is likely that even a reduced amount of execution units provides sufficient performance to ensure operation. This can be supported in particular at the system level by avoiding particularly performance-intensive operating states (for example high speeds in the engine of a motor vehicle).
Falls es zu wenige fehlerfreie Ausführungseinheiten für den Normalbetrieb gibt, kann man alternativ nur eine Teilmenge der Anwendung ablaufen lassen.If there are too few error-free execution units for normal operation, one can alternatively run only a subset of the application.
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. Beispielsweise 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 Verfah- ren verwendet werden müssen. Kombinationen dieser Varianten sind natürlich ebenfalls denkbar.If there are too few error-free execution units for normal operation, you can run the application in other modes in a third possibility. For example, one can do without a strong comparison mode and use only a weaker comparison mode or a performance mode. In this case, although only a weaker error detection or fault tolerance is given for the following operation, but this is tolerable under certain circumstances, since this condition may only be maintained for a limited time. This option is particularly easy to implement with this invention, since only the components and methods set out here have to be used. Of course, combinations of these variants are also conceivable.
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 poten- ziell defekte Ausfuhrungseinheiten so zu deaktivieren, dass sie verlässlich und irreversibel deaktiviert sind. Dies kann durch Beeinflussung (beispielsweise Trennung oder Verbindung) von Leitungen im Bauelement geschehen.A fundamentally different possibility of using the idea of this invention is to dispense with the memory element and to use other means for deactivating potentially defective execution units in such a way that they are reliably and irreversibly deactivated. This can be done by influencing (for example separation or connection) of lines in the component.
Verschiedene Möglichkeiten sind:
Verwendung von Antifußes 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öntgenstrahlung, oder speziellen elektrischen Signalen und Chemischer Einfluss auf die Leitun- gen.Different options are: Use of anti-foot for dedicated lines (this can be used in operation, maintenance, assembly, or manufacturing), mechanical treatment (soldering, disconnecting) of wires, laser, electron, X-ray, or special electrical Signals and chemical influence on the lines.
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 Nl 10, 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.Instead of the memory element to an influencing component is necessary. FIG. 5 shows the function of this influencing component. The elements N810, N820, N84i, N86i of the switching and comparing unit N800 in Fig. 5 have the same functions as the elements N10, N120, N14i, N16i of the switching and comparing unit N100 in Fig. 1. Moreover, an influencing component is N830 shown. The processing logic N820 sends the information about the execution units identified as faulty to the influencing component N830. This has means, as enumerated above, to influence lines or functional groups in the component so that execution units are deactivated. N830 may be a component within the device, controller, or system, but N830 may also be a machine in the manufacturing process or a human operator of such a machine. It is also possible that this component is used in maintenance. Optionally, the corresponding information can still be given to the switching logic so that it performs the first function in such a way that the elements marked as inactive by N830 actually become inactive.
Die grundsätzliche Verfahrensidee zur Ausbeute Erhöhung unter Verwendung der Beeinflussungskomponente N830, ist in Figur 6 beschrieben. In einem ersten Schritt N900 (I- dentifϊkationsschritt) geschieht eine Identifikation fehlerhafter Ausführungseinheiten. DieThe basic process idea for increasing the yield using the influencing component N830 is described in FIG. In a first step N900 (identification step) an identification of faulty execution units takes place. The
Identifikation benutzt die erste Funktion der Verarbeitungslogik N820 und damit das Testprogramm. Im zweiten Schritt N910 wird die Fehlerinformation von der Verarbeitungslogik 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 Funktion 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.Identification uses the first function of the processing logic N820 and thus the test program. In the second step N910, the error information is given by the processing logic N820 to the influencing component N830. In the third step N920, the influencing 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. In the optional fourth step N930, the switching logic N810 uses the information and uses the first function of the switching logic to configure the outputs of the execution units according to the required activity and passivity. Of course, such an influencing component can also be used in operation. All the advantages that apply when using a memory element are also applicable here, since the effect on the system is the same. But then it is advantageous if the influencing component is present as HW component in the system.
Außer auf die in der Beschreibung der Ausführungsbeispiele erwähnten Ausführungseinheiten können die vorteilhaften Verfahren und Vorrichtungen auch auf weitere Komponenten einer Halbleiterschaltung wie z.B. Analog-/Digital- Wandler, Timer-Bausteine, In- terrupt-Controller, Kommunikationscontroller oder Steuereinheiten angewendet werden.Apart from the execution units mentioned in the description of the embodiments, the advantageous methods and devices can also be applied to further components of a semiconductor circuit, such as e.g. Analog / digital converters, timer modules, intrinsic controllers, communication controllers or control units are used.
Im Folgenden wird die Gesamtheit dieser Komponenten einer Halbleiterschaltung unter dem Begriff Funktionseinheiten zusammengefasst.In the following, the totality of these components of a semiconductor circuit is summarized under the term functional units.
In einem weiteren bevorzugten Ausführungsbeispiel wird die hier beschriebene Erfindung zusammen mit einer ECC-Absicherung für 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ährleis- ten.
In another preferred embodiment, the invention described herein is used with ECC protection for other memory elements. In this case, a highly available component is created in which both memory and execution units are made fault-tolerant and thus make it possible to maximize both the yield and to ensure optimal availability during operation.