DE69433468T2 - Logischer Schaltkreis mit Fehlernachweisfunktion - Google Patents

Logischer Schaltkreis mit Fehlernachweisfunktion Download PDF

Info

Publication number
DE69433468T2
DE69433468T2 DE69433468T DE69433468T DE69433468T2 DE 69433468 T2 DE69433468 T2 DE 69433468T2 DE 69433468 T DE69433468 T DE 69433468T DE 69433468 T DE69433468 T DE 69433468T DE 69433468 T2 DE69433468 T2 DE 69433468T2
Authority
DE
Germany
Prior art keywords
task
function
circuit
logic
signals
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.)
Expired - Lifetime
Application number
DE69433468T
Other languages
English (en)
Other versions
DE69433468D1 (de
Inventor
Nobuyasu Hitachi-shi Kanekawa
Shoji Hitachi-shi Suzuki
Yoshimichi Hitachi-shi Sato
Korefumi Hitachi-shi Tashiro
Keisuke Hitachi-shi Bekki
Hiroshi Katsuta-shi Sato
Makoto Katsuta-shi Nohmi
Shinya Tokai-mura Ohtsuji
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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
Priority claimed from JP5258014A external-priority patent/JPH07115721A/ja
Priority claimed from JP02766494A external-priority patent/JP3206275B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE69433468D1 publication Critical patent/DE69433468D1/de
Publication of DE69433468T2 publication Critical patent/DE69433468T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/085Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
    • 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/1608Error detection by comparing the output signals of redundant 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/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • G06F11/188Voting techniques where exact match is not required
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • 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/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

  • Die Erfindung betrifft eine Selbstprüfungsschaltung und ein Verfahren zu ihrer Konfiguration. Genauer gesagt, betrifft sie eine Selbstprüfungsschaltung, die für eine Systemkonfiguration hoher Zuverlässigkeit von Nutzen ist.
  • Auch betrifft die Erfindung ein Verwaltungsverfahren für redundante Ressourcen, und spezieller betrifft sie die effektive Nutzung der redundanten Ressourcen in einem fehlertoleranten Computersystem.
  • Steuerungssysteme für Flugzeuge, Züge, Kraftfahrzeuge und ähnliche Transportmittel werden zunehmend mit Elektrolyse versehen, da fortschrittliche Steuerungsfunktionen erforderlich sind, um den Energie(Kraftstoff)wirkungsgrad, die Betreibbarkeit, die Bequemlichkeit und die Geschwindigkeit zu erhöhen. Um die Transportmittel sicher zu betreiben muss zwangsweise jedes der Steuerungssysteme über hohe Zuverlässigkeit und Fehlersicherheit verfügen, damit es durch das Auftreten eines Fehlers nicht zu einem gefährlichen Ausgangssignal kommt.
  • Um die Zuverlässigkeit und Fehlersicherheit eines Steuerungssystems zu gewährleisten, ist es wesentlich, dass dieses über die Fähigkeit verfügt, das Auftreten eines Fehlers zu erkennen, d. h. über Selbstprüfungsfähigkeiten. Um die Selbstprüfungsfähigkeiten zu bewerkstelligen, wird im Allgemeinen ein sogenannter redundanter Code verwendet, der über einen Hammingabstand von über 2 zwischen Codes verfügt, wie der M-aus-N-Code und die zweigleisige Logik (1-aus-2-Code), die als Art des M-aus-N-Codes angesehen werden kann. Der redundante Code kann einen Fehler so lange perfekt erkennen, solange es sich um einen einzelnen Fehler handelt. Jedoch kann er mehrere Fehler nicht immer erkennen. Wenn die Selbstprüfungsschaltung in einem LSI realisiert ist, kann sich ein Fehler über den gesamten Chip ausbreiten. Dies wäre ein Effekt, der dem Effekt, der dem Auftreten mehrerer Fehler entspricht. Wenn angenommen wird, dass Fehler zufällig sind, liefert die unten angegebene Gl. 1 die Wahrscheinlichkeit η für falsche Ausgangssignale auf Grund einer Fehlerübereinstimmung mit Codepunkten in einem speziellen Ausgabecoderaum O: η = No/Nu (1)wobei No die Anzahl der Codepunkte im Ausgabecoderaum O ist und Nu die Anzahl der Codepunkte ist. Daher ist es ein Problem, wie Nu auf No hin erhöht werden könnte, um die Erkennungsrate zu verbessern.
  • Es existieren die folgenden zwei Verfahren, um eine Selbstprüfungsschaltung mit derartigen redundanten Codes, wie oben beschrieben, zu realisieren:
    • (1) ein Verfahren des Herstellens der gesamten Schaltung mit redundanten Codes.
    • (2) Ein Verfahren des Vervielfältigens von Funktionsblöcken und des Verwendens einer Selbstprüfungs-Vergleichsschaltung aus redundanten Codes, um von den Funktionsblöcken ausgegebene Signale zu vergleichen.
  • Mit dem obigen Verfahren (1) gehen Probleme einher, dass die Schaltung neu konzipiert werden muss, um für Selbstprüfung zu sorgen, und dass es schwierig ist, ihre Betriebsgeschwindigkeit zu optimieren.
  • Andererseits zeigt das Verfahren (2) den Vorteil, dass für die Funktionsblöcke ein üblicher Prozessor, Speicher und andere Bauteile verwendet werden können, da nur die Vergleichsschaltung in redundanter Logik neu konzipiert werden sollte. Dadurch können die Entwicklungskosten stark gesenkt werden. Es kann auch die Betriebsgeschwindigkeit leicht erhöht werden, da fortschrittliche Halbleitertechniken verwendet werden können. Der Selbstprüfungsumfang des Verfahrens (2) hängt stark von dem des Komparators ab.
  • Demgemäß wurde es vorgeschlagen, um den Selbstprüfungskomparator zu realisieren, redundante Codes, wie den M-aus-N-Code und die zweigleisige Logik (1-aus-2-Code), für die in der Vergleichsschaltung verwendete Logik selbst zu verwenden. Siehe z. B. Yoshihiro Toma in "Theory of Fault Tolerant System", Association of Electronics, Information and Communications, 1990. Um den Selbstprüfungskomparator zu realisieren, wird die in der 2.5 auf der Seite 31 dargestellte RCCO(Reduction Circuit for Checker Output)-Schaltung mit einer Baumsstruktur verbunden, wie sie in der 2.6 auf der Seite 32 dargestellt ist.
  • Die Wahrscheinlichkeit, dass in den zu vergleichenden Schaltungen ein Feh ler auftritt, ist gering. Daher kommt es selten vor, dass die zu vergleichenden Signale nicht übereinstimmen. Dies bedeutet, dass es selten vorkommt, dass ein Pfad, der auf die Erkennung einer Ungleichheit hin zu aktivieren ist, aktiviert wird. Wenn ein solcher Fehlermodus auftritt wie ein Fixieren dahingehend, dass das auf dem Pfad ausgegebene Signal dauernd 'Gleichheit' anzeigt, ist zu befürchten, dass der Fehler latent ist. Daher verwendet die Vergleichsschaltung nicht nur den oben beschriebenen redundanten Code, sondern auch eine Häufigkeitslogik, ein Verfahren einer abwechselnden Prüfung oder ähnliche dynamische Logikoperationen zum Abwechseln von Signalpegeln, wenn ein Signal anzeigt, dass sie Schaltung normal sei (nachfolgend als Signatursignal bezeichnet), anstatt dass die Binärpegellogik mit 0 und 1 verwendet würde. Als Beispiel kann ein Verfahren verwendet werden, bei dem ein Permutator zum Einspeisen eines simulierten Fehlers für Testvorgänge in den RCCO, wie in den 2.15 und 5.16 auf der Seite 42 in der oben genannten "Theory of Fault Tolerant System" dargestellt, umpositioniert wird. Bei diesem Verfahren wird ein abwechselndes Ausgangssignal erhalten, wenn der Betrieb normal ist. Andererseits wird kein wechselndes Ausgangssignal erhalten, wenn es durch eine Änderung eines Schwellenwerts eines Halbleiterbauteils zu einem Fehler kommt oder wenn ein Fehler auf einer Änderung der Gleichspannungscharakteristik des Bauteils beruht, wie ein Fehler mit einem Steckenbleiben auf 0 oder 1. Bei diesem Verfahren wird der simulierte Fehler auf periodisch eingespeist, um immer den Betrieb der Fehlererkennungsfunktion zu klären. Diese Vorteile können dafür sorgen, dass die Selbstprüfungsfunktion der Schaltung stark verbessert ist.
  • Die oben beschriebene bekannte Technik zeigt den Nachteil, dass mit Wahrscheinlichkeit der nachteilige Effekt des Übersprechens oder eines Kurzschlusses zwischen Leiterbahnnetzen im Halbleiterbauteil auftritt. Wenn ein Fehler im Halbleiterbauteil zu Übersprechen zwischen den Leiterbahnnetzen oder einem Kurzschluss zwischen diesen führt oder wenn eine Wanderung von Leiterbahnmaterial oder schlechte Isolierung zwischen Isolationsschichten einen Kurzschluss hervorruft, kann in einem Leiterbahnnetz, das selbst kein Signatursignale führen sollte, in nachteiliger Weise ein Signatursignal eines anderen Leiterbahnnetzes induziert werden (nachfolgend als Signaturfälschung bezeichnet). Im Allgemeinen verfügt eine fehlersichere Schaltung über ein Signatursignal zum Anzeigen, dass sie normal ist. Die Schaltung kann auf Grund von übersprechen oder eines Kurzschlusses wegen einer Signaturfälschung erkennen, sie sei normal. Es ist zu befürchten, dass die Fehlersicherheitsfunktion dieser Schaltung verloren gegangen ist.
  • Um ein solches Auftreten von Übersprechen und Kurzschlüssen zu verhindern, verfügt die bekannte Technik über eine spezielle Designeinschränkung hinsichtlich der Leiterbahnräume. Jedoch sind bei diesem Verfahren Transistoren und Leiterbahnen auf dem Halbleitersubstrat auf Grundlage der Einschränkungen herzustellen, die von den üblichen Halbleitern ziemlich verschieden sind. Dadurch fehlt alles betreffend die Zweckdienlichkeit bekannter Techniken und automatischer Entwurfswerkzeuge. Der größte Teil der Entwurfsarbeiten muss von Hand erfolgen.
  • Ferner spielen Computer und Transportsteuerungen zentrale Rollen für Finanz- und ähnliche soziale Schlüsselindustrien und teilen in Zusammenhang mit dem menschlichen Leben beim Steuern von Raumflugzeugen und Flugzeugen in den letzten Jahren. Der Zusammenbruch eines Systems oder falscher Systembetrieb wegen eines Ausfalls von Computern weitet sich auf fatale Effekte innerhalb der Gesellschaft aus. Bei diesem Trend wird zunehmend hohe Zuverlässigkeit von Computern benötigt.
  • Um Computer zuverlässig zu machen, wird allgemein die Maßnahme der Redundanz verwendet, was dadurch erfolgt, dass vorab zusätzliche Computer und diese bildende Einheiten bereit gestellt werden.
  • Andererseits führt redundante Hardware, um einen Computer hoch zuverlässig zu machen, zu einem starken Anstieg der Kosten, der Abmessungen, des Gewichts und des Energieverbrauchs. Um den Investitionseffekt, oder die Kostenfunktion, eines fehlertoleranten Computersystems zu verbessern, ist es erforderlich, die redundanten Hardwareressourcen effektiv hinsichtlich der Zuverlässigkeit und des Verarbeitungsvermögens zu erhöhen.
  • Es existiert ein Verfahren zur Verwaltung redundanter Ressourcen, um die redundanten Hardwareressourcen zu nutzen. Dies wurde von Jean-Charles Fabre et al. in "Saturation: reduced idleness for improved fault-tolerance", Proc. FTCS-18 (The 18th Int'I Symp. on Fault-tolerant Computing). S. 200– 205, 1988 vorgeschlagen.
  • Gemäß der oben genannten bekannten Technik von Jean-Charles Fabre et al. wird vorab die MNC (minimum number of copies), oder redundante Kopien, bereit gestellt, um jeden Task simultan auszuführen. Wenn die Anzahl der untätigen Knoten (redundante Computermodule) größer als die MNC ist, wenn eine Taskausführungsanforderung eintrifft, starten die untätigen Knoten die Ausführung des Tasks. Wenn die Anzahl der untätigen Knoten kleiner als die MNC ist, wartet das System bis die aktuelle Ausführung der Tasks endet, um über die erforderliche Anzahl untätiger Knoten zu verfügen.
  • Die oben genannte bekannte Technik von Jean-Charles Fabre et al. ist ein nützliches Verfahren zur Verwaltung redundanter Ressourcen für einen OLTP (online transaction processor), bei dem eine Task-Startanforderung häufig auftritt.
  • Jedoch fehlt es dem Stand der Technik an ausreichender Berücksichtigung des Auftretens eines Fehlers und des ferneren Auftretens mehrerer Fehler, wenn es darum geht, den Echtzeit-Steuerungscomputer hoch zuverlässig zu machen. Dies auf Grund der Tatsache, dass die vorgeschlagene bekannte Technik auf der Annahme beruht, dass die Taskausführungszeit ausreichend kürzer als die MTBF (mean time between failures) hinsichtlich der Betriebseigenschaften des OLTP ist, wobei die Transaktion innerhalb einer kurzen Zeit endet. Jedoch werden bei einem Echtzeit-Steuerungscomputer Tasks häufig für eine lange Zeitperiode ausgeführt. Zum Beispiel muss der Computer eines Flugzeugs, eines Raumschiffs usw. nicht nur für die normale Missionszeit arbeiten, sondern er muss auch eine Unterstützung liefern, wenn die Mission unterbrochen ist. Aus diesem Grund kann die Taskausführungszeit im Vergleich zur MTBF nicht ignoriert werden. Es muss das Auftreten eines Fehlers und ferner das Auftreten mehrerer Fehler berücksichtigt werden.
  • Bei der oben beschriebenen bekannten Technik wird die Anzahl zugewiesener Computermodule nur zum Zeitpunkt des Task-Ausführungsstarts verwaltet. Daher werden selbst dann keine neuen Computermodule hinzugefügt, wenn die den Task ausführenden Computermodule durch einen während der Ausführungs des Tasks auftretenden Fehler fehlerhaft funktionieren. Das bedeutet, dass dann, wenn ein Fehler während der Ausführung eines Tasks auftritt, dieser weiterhin ausgeführt wird, während der Redundanzgrad abnimmt, d.h. die Anzahl der Computermodule, die den Task redundant ausführen. So geht die Zuverlässigkeit für den Task verloren. Wenn z. B. eines von zwei Computermodulen, die einen Task redundant ausführen, nicht mehr funktioniert, wird die Ausführung des Tasks angehalten, falls ein zweiter Fehler kontinuierlich auftreten sollte.
  • Ein erster Vorteil der Erfindung besteht insbesondere in der Tatsache, dass eine Logikschaltung mit Fehlererkennungsfunktion, die über Funktionsblöcke zum Herausführen mehrerer Signale in zumindest duplizierter Weise verfügt, die Ausgabesignale der Funktionsblöcke vergleicht und einen Fehler auf Grundlage der Vergleichsergebnisse erkennt, wobei sie über eine Synthetisiereinrichtung, die vorhanden ist, um charakteristische Signalverläufe, die vorab den jeweiligen Ausgabesignalen der Funktionsblöcke zugewiesen wurden, mit den Ausgabesignalen eines der Funktionsblöcke zu überlagern, und eine Vergleichseinrichtung zum Vergleichen eines Ausgangssignals der Synthetisiereinrichtung mit dem Ausgabesignal des anderen Funktionsblocks, um den Fehler zu erkennen, verfügt.
  • Bei einem Halbleiterbauteil wird z. B. jedem Leiterbahnnetz entsprechend den oben genannten Ausgabesignalen als Signatur ein charakteristischer Signalverlauf zugewiesen. Die Signatur sollte nur dann als authentisch angesehen werden, wenn der Signalverlauf mit dem für das Leiterbahnnetz charakteristischen übereinstimmt.
  • Um eine authentische Signatur von einer Signaturfälschung zu unterscheiden, ist es wünschenswert, dass die für die Leiterbahnnetze charakteristischen Signaturen nicht miteinander korrelieren. Es ist gut bekannt, dass orthogonale Funktionen nicht miteinander korrelieren. Funktionen fi(x) und fj(x) sind zueinander orthogonal, wenn Folgendes gilt:
  • Figure 00060001
  • In jüngerer Zeit wird an Stelle der herkömmlichen Fourier-Analyse auf die Wavelet- oder Gleitsignalanalyse hingewiesen, mit der ein Signalverlauf in der Zeit-Frequenz-Domäne analysiert werden kann. Das ursprüngliche Gleitsignal ist ebenfalls eine orthogonale Funktion. Eine trigonometische Funktion und ein Kleinsignal sind analoge Funktionen. Um diese in einem digitalen Schaltkreis zu nutzen, sollten sie binär gemacht werden.
  • Gemäß dem ersten Merkmal der Erfindung wird bei z. B. einem Halbleiterbauteil jedem der Leiterbahnnetze ein charakteristischer Signalverlauf als Signatur zugewiesen. Die Signatur sollte nur dann als authentisch angesehen werden, wenn der Signalverlauf mit dem für das Leiterbahnnetz charakteristischen übereinstimmt. Wenn ein Fehler im Halbleiterbauteil Übersprechen zwischen den Leiterbahnnetzen hervorruft oder wenn Migration von Leiterbahnmaterial oder schlechte Isolierung zwischen Isolationsschichten zu einem Kurzschluss führt, kann in das Leiterbahnnetz ein gefälschtes Signatursignal eines anderen Leiterbahnnetzes in nachteiliger Weise induziert werden. Sollte dies geschehen, kann die Signaturfälschung von der authenti schen Signatur unterschieden werden, da die Signaturfälschung nicht mit dem für das Leiterbahnnetz charakteristischen Signalverlauf übereinstimmt. Dies bedeutet, dass die Erfindung keine spezielle Leiterbahneinschränkung benötigt, um Übersprechen oder Kurzschlüsse zu verhindern, wie dies bei den bekannten Techniken unabdingbar ist, um Fehler vollständig zu erkennen. Außerdem gewährleistet die Erfindung fehlersichere Funktion.
  • Die Effektivität der genannten herkömmlichen Technik beruht auf der Annahme, dass der in einem der genannten mindestens zwei doppelt vorliegenden Funktionsblöcken erkannte Fehler vom anderen Funktionsblock unabhängig ist. Anders gesagt, wird vorausgesetzt, dass derselbe Fehler niemals gleichzeitig in den beiden zumindest doppelt vorhandenen Funktionsblöcken auftritt. Wenn derselbe Fehler gleichzeitig in beiden doppelt vorhandenen Funktionsblöcken auftritt, stimmen die Fehlerausgabesignale der beiden doppelt vorhandenen Funktionsblöcke überein, und es wird unmöglich, den Fehler durch Vergleichen derselben zu erkennen. Dies wird dann zu einem großen Problem, wenn dualisierte oder doppelt vorhandene Funktionsblöcke im selben Halbleiterchip angeordnet sind. Derartige Probleme können dadurch gelöst werden, dass die folgenden Kontrollverfahren gemäß der Erfindung bereitgestellt werden.
  • Die folgenden Maßnahmen, die als Vielfalt bezeichnet werden, können dazu verwendet werden, die Unabhängigkeit von Fehlern zu garantieren, wie sie in einem der mindestens doppelt vorhandenen Funktionsblöcke auftreten.
  • (1) Designvielfalt
  • Die Designvielfalt ist eine effektive Maßnahme zum Beseitigen des Einflusses von durch Designvorgänge hervorgerufenen Fehlern. Insbesondere ist eine Programmierung von Software mit N Versionen gut bekannt. N-Versionen-Programmierung ist ein Verfahren zum Ausführen von N Versionen eines Programms, die gleichzeitig mit denselben Spezifikationen entwickelt werden. Auch im Fall von Hardware kann diese Designvielfalt dadurch realisiert werden, dass Schaltkreise auf N Arten mit denselben Spezifikationen entwickelt werden. Gemäß diesem Verfahren, wie es beispielhaft durch die Lehre gemäß EP-A-0366017 angegeben ist, sind jedoch die Prozesse und die Ausgaben N mal im Vergleich zu einem normalen Verfahren für das Design und die Entwicklung erforderlich. So ist dies nicht allzu effektiv.
  • Um die Anzahl der Prozesse und die Ausgaben beim Entwerfen von Hardware zu verringern wird daher bei der Erfindung das folgende Verfahren verwendet.
  • Die Hauptströmung hinsichtlich des Entwerfens moderner Hardware besteht im Verwenden einer HDL (Hardware Description Language) zum Erzeugen einer Datei (logische Beschreibung), die die Funktionen und Spezifikationen der betroffenen Logikschaltkreise beschreibt, wobei eine andere Datei (Logiknetzliste) erzeugt wird, die die Verbindungen der genannten Logikschaltkreise unter Verwendung eines Logiksynthesewerkzeugs auf Grundlage der HDL beschreibt. Außerdem wird die genannte Datei der Logiknetzliste in eine Datei (physikalische Netzliste) gewandelt, die die Verdrahtung und das Layout von Transistoren auf einem tatsächlichen Halbleiterchip unter Verwendung eines selbsttätigen Verdrahtungswerkzeugs beschreibt, um die erforderlichen Masken zu erzeugen und Halbleiterelemente herzustellen.
  • In diesem Fall können die Designvorgaben wie die Verzögerungszeit, das Belegungsgebiet usw, sowie der einschlägige Algorithmus zur Logiksynthese und für die automatische Leiterbahnerstellung geändert werden, um die Ziel-Logiknetzliste und die physikalische Netzliste in Vielfalt auszubilden.
  • Die genannten doppelt vorhandenen Funktionsblöcke können so im betroffenen Halbleiterchip auf Grundlage der Logikbeschreibung der genannten Logikblöcke dadurch realisiert werden, dass zwei physikalische Netzlisten aus den genannten mehreren, in Vielfalt vorliegenden physikalischen Netzlisten ausgewählt werden.
  • Um zwei physikalische Netzlisten unter vielen auszuwählen, ist es lediglich erforderlich, eine Korrelationsfunktion zu definieren, die anzeigt, wie viele dieser physikalischen Netzlisten ähnlich sind, und eine Kombination der physikalischen Netzlisten so auszuwählen, dass die Korrelationsfunktion minimiert werden kann. In diesem Fall muss die Fehlercharakteristik des Halbleiters Auswirkung bei der Korrelationsfunktion haben. Im Allgemeinen stellen sich Leiterbahn-Schnittstellen als Schwachpunkten von Halbleitern heraus. An Leiterbahn-Schnittstellen sind zwei Leiterbahnen nur einen dünnen Oxidfilm getrennt, so dass die Tendenz besteht, dass Kurzschlüsse zwischen Leiterbahnen und Mängel wie Übersprechen usw. auftreten. Ferner wird, da sich an einer Leiterbahn-Schnittstelle Leiterbahnen überkreuzen, die mit einer Niveaudifferenz verlegte Leiterbahn häufig durch Belastungen durchgetrennt. Anders gesagt, beeinflusst der Schnittstellenzustand zwischen Leiterbahnen die Fehlereigenschaften von Halbleitern. Diejenige Korrelationsfunktion, bei der sich die Fehlereigenschaften des Halbleiters auswirken, kann demgemäß wie folgt definiert werden:
  • [Formel 1]
    Figure 00090001
  • Jedoch müssen die Wert Φijk anzeigen, ob zwischen Leiterbahnnetzen eine Schnittstelle existiert und sie müssen wie folgt definiert sein:
  • [Formel 2]
    Figure 00090002
  • (2) Zeitliche Vielfalt
  • Es kann verhindert werden, dass ein Fehler, der in einem von mindestens zwei doppelt ausgeführten Funktionsblöcken auf Grund von elektrischen Störsignalen usw. auftritt, den anderen beeinflusst, und zwar selbst dann, wenn sie auf dieselbe Weise konzipiert sind, wenn die zeitlichen Lagen ihrer Betriebsvorgänge individuell verzögert werden. Um eine derartige zeitliche Vielfalt zu realisieren, wird das Takt- oder Eingangssignal, das die zeitliche Lage der Operation in einem doppelt vorhandenen Funktionsblock festlegt, nur in einen der doppelt vorhandenen Funktionsblöcke über eine Verzögerungsschaltung eingegeben. Wenn die Ausgabesignale dieser Funktionsblöcke verglichen werden, kann nur das Signal vom anderen Funktionsblock über die Verzögerungsschaltung ausgegeben werden, um es in der Vergleichsschaltung mit dem des ersteren Funktionsblocks zu vergleichen.
  • (3) Räumliche Vielfalt
  • Wenn einer der genannten mindestens doppelt ausgeführten Funktionsblöcke vom anderen getrennt wird, wird es möglich, zu verhindern, dass vorübergehende Fehler, wie sie in einem dieser Funktionsblöcke durch elektrische Störsignale, kosmische Strahlen, Strahlung usw. sowie durch Schäden des betroffenen Halbleiterchips auftreten, einander beeinflussen. Wenn ein Funktionsblock in einem Chip doppelt ausgeführt ist und jeder für sich geprüft wird, sollten die doppelt ausgeführten Funktionsblöcke in derselben Richtung und mit demselben Muster angeordnet sein. Dadurch wird die Effek tivität der räumlichen Vielfalt maximiert. Die entsprechenden Abschnitte der doppelt ausgeführten Funktionsblöcke können daher denselben Abstand aufweisen. Im Ergebnis kann verhindert werden, dass die entsprechenden Abschnitte der doppelt ausgeführten Signalverlauf übermäßig nahe beieinander liegen, was die Effektivität der räumlichen Vielfalt beeinträchtigen würde.
  • Gemäß der Erfindung können die designmäßige Vielfalt, die zeitliche Vielfalt und die räumliche Vielfalt Unabhängigkeit von Fehlern garantieren, wie sie in einem der zumindest doppelt ausgeführten Funktionsblöcke dadurch erfasst werden, dass die Ausgabesignale der beiden Funktionsblöcke verglichen werden. Dadurch wird verhindert, dass Fehler desselben Typs gleichzeitig mit einer Korrelation in beiden doppelt ausgeführten Funktionsblöcken auftreten. Es wird auch möglich, Fehler dadurch zu erkennen, dass die Ausgabesignale dieser Funktionsblöcke verglichen werden.
  • Ein zweiter Vorteil der Erfindung besteht insbesondere in der Tatsache, dass ein verteiltes fehlersicheres System mit mehreren Computermodulen, die so zugewiesen sind, dass sie mehrere Tasks ausführen, über eine Auswähl- und Ausführungseinrichtung verfügt, das dann, wenn ein Fehler in irgendeinem der Computermodule des Systems auftritt, mindestens eines der Computermodule auswählt, dem andere Tasks als der Task im unterbrochenen Computermodul zugewiesen sind, es dem ausgewählten Computermodul demjenigen Task zuweist, den das unterbrochene Computermodul ausgeführt hat, und es dafür sorgt, dass das ausgewählte Computermodul den Task ausführt.
  • Jedes der Computermodule bei der Erfindung arbeitet wie folgt:
    • (1) Das Computermodul sendet seine Fehlerauftrittsinformation (Fehlererkennungsergebnisse) und Verarbeitungsergebnisse im Rundruf während der Verarbeitung des Tasks mit geeignetem Timing (Prüfpunkte) im Rundruf an die anderen Computermodule.
    • (2) Die Computermodule berechnen ihre jeweiligen Bewertungsfunktionen Fij, wobei i eine Prozessornummer und j eine Tasknummer ist. Die Bewertungsfunktion Fij kann als Toleranz für die Zuständigkeit angesehen werden, die das Computermodul für den Task hat. Sie beruht auf einer Gleichheit oder Ungleichheit der Fehlerauftrittsinformation (Fehlererkennungsergebnisse) und der Verarbeitungsergebnisse, wie sie von den anderen Computermodulen im Rundruf mitgeteilt werden.
    • (3) Jedes der Computermodule legt einen Task j zum Minimieren der Bewertungsfunktion Fij als Prozess für die Ausführung fest, bevor der im Ablauf befindliche Task an den auszuführenden Prozess umgeschaltet wird.
  • Die Bewertungsfunktion Fij repräsentiert eine Toleranz für die Zuverlässigkeits des Tasks. Daher sollte sie so bestimmt werden, dass Fij niedrig sein kann, wenn die Bedeutung des Tasks hoch ist, Fij niedrig sein kann, wenn die Zuständigkeit des Computermoduls für den Task hoch ist und Fij hoch sein kann, wenn die Zuverlässigkeit des Task hoch ist.
  • Ein Beispiel für eine Bewertungsfunktion Fij, die den oben genannten Bedingungen genügt, ist: Fij = Lrj – Lthij,oder Fij = Lrj/Lthijwobei Lthij ein Schwellenwert für den Zuverlässigkeitsgrad eines Tasks j im Computermodul i ist, Lrj der Zuverlässigkeitsgrad des Tasks j ist, i die eigene Computermodulnummer ist und j die Tasknummer ist.
  • Ein anderes Beispiel für die Bewertungsfunktion Fij, die den obigen Bedingungen genügt, ist: Fij = log{(1 – Lthij)/Pej}wobei Pej die Wahrscheinlichkeit für falsche Berechnungsergebnisse betreffend den Task j ist.
  • Es sei darauf hingewiesen, dass der Wert Lthij, der der Schwellenwert für den Zuverlässigkeitsgrad des Tasks j ist, abhängig von der Bedeutung des Tasks variiert. Er wird auf einen hohen Wert eingestellt, wenn der Task hohe Bedeutung oder hohe Zuverlässigkeit haben muss.
  • Ferner muss Lthij abhängig vom Computermodul differieren. Der Wert muss hoch sein, wenn die Zuständigkeit des Computermoduls für den Task hoch ist.
  • Gemäß dem zweiten Merkmal der Erfindung werden die Computermodule den Tasks so zugewiesen, dass die Bewertungsfunktionen Fij immer ausgeglichen sein können. Dadurch wird gesorgt, dass Fij für einen speziellen Task nicht als zu hoher oder zu niedriger Wert herausragt. Das heißt, wenn ein spezieller Task mit niedrigem Zuverlässigkeitsgrad vorliegt (nachfolgend als gefährdeter Task bezeichnet), da während des Betriebs ein Fehler auftritt, dafür gesorgt wird, dass ein Computermodul, das einen anderen Task mit Zuverlässigkeitstoleranz ausführt, den gefährdeten Task ausführt. Dadurch kann verhindert werden, dass alleine der Zuverlässigkeitsgrad des speziellen Tasks abnimmt. Aus diesem Grund kann das zweite Merkmal dem entgegenwirken, dass irgendein Fehler während der Ausführung der Tasks auftritt, so dass die dem System verliehene Zuständigkeit erzielt werden kann, während die Zuverlässigkeit erhalten bleibt.
  • Auch kann, da Lthij hoch eingestellt wird, wenn die Bedeutung des Tasks hoch ist, Fij mit den anderen Tasks mit höherem Lrj ins Gleichgewicht gebracht werden. Aus diesem Grund sollte einem Task, dessen Bedeutung hoch ist, eine große Anzahl von Computermodulen zugewiesen werden, um einen höheren Zuverlässigkeitsgrad Lrj beizubehalten.
  • Ferner ist es erforderlich, da jedes der Computermodule autonom den auszuführenden Task festlegen kann, über eine zentrale Anordnung zum Zuweisen von Taskausführungen zu verfügen, um dadurch keine einzelnen Fehlerpunkte zu verursachen. Diese bedeutet, dass ein Einzelfehler das Gesamtsystem nicht beeinflusst, wodurch es möglich ist, die Systemzuverlässigkeit zu erhöhen.
  • Die obigen und andere Aufgaben, Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung der bevorzugten Ausführungsformen der Erfindung in Verbindung mit den beigefügten Zeichnungen ersichtlich werden.
  • 1 zeigt ein Schaltbild zum Veranschaulichen einer Grundausführungsform der Erfindung;
  • 2 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform entsprechend Funktionsblöcken;
  • 3 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindungder Erfindung mit einem aus dem RCCO-Baum gebildeten Komparator;
  • 4 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindung, bei der zu von einem Funktionsblock B gelieferten Signalen auch ein orthogonaler Signalverlauf hinzugefügt ist;
  • 5 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindung, bei der orthogonale Signalverläufe erzeugende Schaltungen doppelt ausgeführt sind;
  • 6 zeigt ein Signaltimingdiagramm zum Veranschaulichen der Signalverläufe orthogonaler Funktionen;
  • 7 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Schaltung zum Erzeugen orthogonaler Signalverläufe;
  • 8 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform eines integrierten Schaltkreises;
  • 9 zeigt ein Timingdiagramm zum Veranschaulichen der Signalverläufe orthogonaler Funktionen und eines Signatur-Ausgabesignals;
  • 10 zeigt ein Timingdiagramm zum Veranschaulichen der Signalverläufe orthogonaler Funktionen und eines Signatur-Ausgabesignals beim Auftreten eines Fehlers;
  • 11 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform eines anderen integrierten Schaltkreises;
  • 12 zeigt ein anderes Timingdiagramm zum Veranschaulichen der Signalverläufe orthogonaler Funktionen und eines Signatur-Ausgabesignals beim Auftreten eines Fehlers;
  • 13 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform eines anderen integrierten Schaltkreises;
  • 14 zeigt ein anderes Timingdiagramm zum Veranschaulichen der Signalverläufe orthogonaler Funktionen und eines Signatur-Ausgabesignals;
  • 15 zeigt ein detailliertes Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindung;
  • 16 zeigt ein Blockdiagramm zum Veranschaulichen eines Selbstprüfungscomputers, der gemäß der Erfindung aufgebaut ist;
  • 17 zeigt ein Blockdiagramm zum Veranschaulichen eines fehlertoleranten Computers, der mit dem Selbstprüfungscomputer aufgebaut ist;
  • 18 zeigt ein Blockdiagramm zum Veranschaulichen einer Schaltsteuerschaltung;
  • 19 zeigt ein Schaltbild zum Veranschaulichen eines Selbstprüfungskomparators gemäß der Erfindung;
  • 20 zeigt ein Blockdiagramm zum Veranschaulichen einer Konfiguration eines fehlertoleranten Systems gemäß der Erfindung;
  • 21 zeigt schematisch ein Funktionsschema zum Veranschaulichen einer Konfiguration eines Computermoduls gemäß der Erfindung;
  • 22 zeigt schematisch ein Funktionsschema zum Veranschaulichen einer anderen Konfiguration eines Computermoduls gemäß der Erfindung;
  • 23 zeigt schematisch ein Schema zum Veranschaulichen einer Ausführungsform der Erfindung;
  • 24 zeigt schematisch ein Schema zum Veranschaulichen einer anderen Ausführungsform der Erfindung;
  • 25 zeigt schematisch ein Schema zum Veranschaulichen einer anderen Ausführungsform der Erfindung;
  • 26 zeigt ein Flussdiagramm zum Veranschaulichen von Bedingungsbeurteilungsmerkmalen, durch die ein auszuführender Task gemäß der Erfindung festgelegt wird;
  • 27 zeigt ein Timingdiagramm zum Veranschaulichen von Zeitpunkten zum Schalten eines Tasks;
  • 28 zeigt ein Flussdiagramm zum Veranschaulichen von Bedingungsbeurteilungsmerkmalen mit einer Totzone zum Festlegen eines auszuführenden Tasks gemäß der Erfindung;
  • 29 zeigt ein Timingdiagramm zum Veranschaulichen einer Änderung von Fij ohne Totzone;
  • 30 zeigt ein Timingdiagramm zum Veranschaulichen einer Änderung von Fij mit Totzone;
  • 31 zeigt ein Kurvenbild zum Veranschaulichen der Anzahl normaler Computermodule, die im Verlauf der Zeit zugewiesen werden;
  • 32 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform mit Mittelung von Lrj;
  • 33 zeigt ein Timingdiagramm zum Veranschaulichen einer Änderung von Fij ohne Mittelung von Lrj;
  • 34 zeigt ein Timingdiagramm zum Veranschaulichen einer Änderung von Fij mit Mittelung von Lrj;
  • 35 zeigt ein Timingdiagramm zum Veranschaulichen einer Ausführungsform der Erfindung zum Lindern des Anstiegs des Ausmaßes von Kommunikationsvorgängen zwischen den Computermodulen;
  • 36 zeigt ein Flussdiagramm zum Veranschaulichen einer Beurteilung dahingehend, ob eine Grundinformation ausgegeben werden sollte oder nicht;
  • 37 zeigt ein Flussdiagramm zum Veranschaulichen einer anderen Beurteilung dahingehend, ob Grundinformation gesendet werden sollte oder nicht;
  • 38 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform der Erfindung zur Anwendung bei einem adaptiven Steuerungssystem;
  • 39 zeigt eine Tabelle zum Veranschaulichen, wie die Computermodule zugewiesen werden;
  • 40 zeigt eine Schnittansicht zum Veranschaulichen eines Systems mit Servomotor als einer Ausführungsform der Erfindung;
  • 41 zeigt einen Längsschnitt entlang A-A' in der 40 zum Veranschaulichen des Servomotorsystems;
  • 42 zeigt ein Schaltbild zum Veranschaulichen einer Schaltung für das Servomotorsystem; und
  • 43 zeigt ein Blockdiagramm zum Veranschaulichen einer Systemkonfiguration zur Verwendung für Servomotorsysteme;
  • 44 veranschaulicht Designautomatisierung durch ein automatisches Logiksynthese-Werkzeug und ein automatisches Leiterbahnwerkzeug;
  • 45 ist ein Design mit Vielfalt durch Ausbilden von Vorgaben mit Vielfalt;
  • 46 ist ein Beispiel zum Entnehmen einiger Designergebnisse aus Designergebnissen mit Vielfalt;
  • 47 ist ein Beispiel zum Ausgestalten einer Betriebszeit mit Vielfalt;
  • 48 ist ein anderes Beispiel zum Ausgestalten einer Betriebszeit mit Vielfalt;
  • 49 ist noch ein anderes Beispiel zum Ausgestalten einer Betriebszeit mit Vielfalt; und
  • 50 ist eine Ausführungsform eines Layouts in einem Chip.
  • Die Ausführungsformen der Erfindung, die detailliert im beigefügten unabhängigen Anspruch 1 definiert ist, werden in den folgenden drei Kapiteln (1) Selbstprüfungslogik, (2) Verwaltung redundanter Ressourcen und (3) Vielfalten im Einzelnen unter Bezugnahme auf die beigefügten Figuren erläutert.
  • 1. Selbstprüfungslogiken
  • Nachfolgend werden Selbstprüfungskomparatoren, die Ausführungsformen gemäß der Erfindung sind, unter Bezugnahme auf die 1 bis 19 detailliert beschrieben.
  • Die 1 zeigt ein Schaltbild zum Veranschaulichen des Komparators, der eine Ausführungsform der Erfindung bildet. Im Betrieb werden Signale a0 bis an (10 bis 1n) von einem Funktionsblock A zugeführt, wobei in sie zum Testen Fehler durch Permutatoren 80 bis 8n entsprechend einem orthogonalen Signalverlauf (Testmuster) eingespeist werden, der von einer Generator schaltung 100 für orthogonale Signalverläufe erzeugt wird. Die Signale mit Fehlern werden zu Fehlerinjektionssignalen a0' bis an' (10' bis 1n'). Es ist zu beachten, dass die in der Figur dargestellten Permutatoren 80 bis 8n Exklusiv-ODER-Gatter sind, die über das Merkmal verfügen, dass sie Pseudofehler für Testvorgänge injizieren können. Die Fehlerinjektionssignale 10' bis 1n' werden wiederum mit Signalen b0 bis bn (20 bis 2n), die von einem Funktionsblock B zugeführt werden, durch Vergleichsschaltungen 30 bis 3n verglichen. Vergleichsergebnisse 40 bis 4n werden in einem integrierten Schaltkreis 5 gesammelt. Der integrierte Schaltkreis 5 kann an einem Signaturausgang 6 ein Normalität anzeigendes Signatursignal nur dann ausgeben, wenn die Vergleichsergebnisse 40 bis 4n normale Signaturen sind.
  • ai' repräsentiere ein beliebiges der Fehlerinjektionssignale a0' bis an' (10' bis 1n'). Dann gilt: ai' = ai^pi (3)wobei i eine Signalnummer von 0 bis n ist, pi der durch die Generatorschaltung 100 für orthogonale Signalverläufe erzeugte orthogonale Signalverlauf (Testmuster) ist und – ein Operator für die Exklusiv-ODER-Operationen ist. Auch repräsentiere ci eines der Vergleichsergebnisse c0 bis cn (40 bis 4n). Dann gilt:
  • Figure 00170001
  • Wenn die Funktionsblöcke A und B normal sind, gilt ai = bi. Dann gilt ai^bi = 0. Demgemäß gilt: ci = pi (5)
  • Da beliebige pi, wobei i von 1 bis n läuft, zueinander orthogonal sind, ist auch ci orthogonal zu cj, wobei i ungleich j ist. Wenn angenommen wird, dass ai und pi statistisch unabhängig, oder orthogonal, sind, sind ai und ai' orthogonal zueinander, und auch bi und ai' sind orthogonal zueinander. Außerdem enthält, zusätzlich zu den orthogonalen Signalverläufen, die Gruppe der Signalverläufe korrelierte Signalverläufe von ai mit bi und pi mit ci. Um zu verhindern, dass durch Übersprechen oder einen Kurzschluss, wie oben angegeben, die Signaturfälschung erzeugt wird, sollte das Schaltungslayout so konzipiert sein, dass das Signal ai von bi und das Signal pi von ci körperlich getrennt ist. Dies verhindert, dass die Erzeugung der Signaturfälschung auf Grund von übersprechen oder eines Kurzschlusses die Funktion beeinträchtigt. Eine Ausführungsform des Schaltungslayouts wird später unter Bezugnahme auf die 15 erörtert.
  • Die oben beschriebene Ausführungsform der Erfindung kann für einen vollständigen Selbstprüfungskomparator ohne jegliche spezielle Leiterbahneinschränkung sorgen.
  • Die oben beschriebene Ausführungsform der Erfindung kann für einen vollständigen Selbstprüfungskomparator sorgen, ohne dass irgendeine spezielle Leiterbahneinschränkung bestünde.
  • Die in der 2 dargestellten Funktionsblöcke A110 und B111 geben nicht immer die effektiven Signale a0 bis an (10 bis 1n) und b0 bis bn (20 bis 2n) aus, sondern häufig geben sie diese gemeinsam mit Strobesignalen aus, die anzeigen, dass die Signale a0 bis an (10 bis 1n) und b0 bis bn (20 bis 2n) effektiv sind. In diesen Fällen sollte, wie es in der 2 dargestellt ist, der Wert in Latchstufen 120 und 121 festgehalten werden, wenn die Strobesignale 130 und 131 die Signale a0 bis an (10 bis 1n) und b0 bis bn (20 bis 2n) effektiv machen. Die für die Strobesignale in einer Schaltung mit einem Mikroprozessor verwendeten Signale differiert abhängig vom Mikroprozessor. Zu den für ein Adressensignal und ein Steuersignal verfügbaren Strobesignalen gehören AS (address strobe) und BS (bus start), und diejenigen für Datensignale sind TA (transfer acknowledge) und DTACK (data transfer acknowledge).
  • Die 3 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindung mit einem Komparator, der aus dem RCCO-Baum gebildet ist, wie er in "Theory of Fault Tolerant System", von Hoshihiro Toma, Association of Electronics, Information and Communications, 1990 beschrieben ist. Im Betrieb weisen vom Funktionsblock A gelieferte Signale a0 bis an (10 bis 1n) Fehler auf, die zum Testen durch die Permutatoren 80 bis 8n entsprechend dem durch die Generatorschaltung 110 für orthogonale Signalverläufe erzeugten orthogonalen Signalverlauf (Testmuster) in sie injiziert werden. Die Signale mit den Fehlern werden zu Signalen 10' bis 1n' mit injizierten Fehlern, die an den RCCO-Baum 3 geliefert werden. Es ist zu beachten, dass im RCCO-Baum die Signatur 6 ebenfalls von binärer Logik ist.
  • Der RCCO-Baum 3, wie der bei der Ausführungsform der 1, verfügt über Eingabe- und Ausgabesignale, die in ihm orthogonal gemacht sind, um zu verhindern, dass ein Kurzschluss eine Signaturfälschung erzeugt.
  • Die unten angegebenen Ausführungsformen werden auf Grundlage der Vergleichsschaltung in der 1 beschrieben. Die Vergleichsschaltung des RCCO-Baums kann auf ähnliche Weise realisiert werden, solange nichts anderes spezifiziert ist.
  • Die 4 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindung, bei der in von einem Funktionsblock B gelieferte Signale b0 bis bn (20 bis 2n) durch Permutatoren 90 bis 9n entsprechend einem durch die Generatorschaltung 100 für orthogonale Signalverläufe erzeugten orthogonalen Signalverlauf Fehler injiziert werden. Die Ausführungsform kann verhindern, dass ein in die Vergleichsschaltung eingegebener Dauerfehler latent wird, wenn er für eine lange Zeitperiode auf demselben Wert gehalten wird. Wenn bi ein Adressensignal ist und ein Programm Adressen nur in einem speziellen Bereich verwendet, wird z. B. ein hohes Bit der Adresse für eine lange Zeitperiode auf demselben Wert gehalten.
  • Die 5 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindung, bei der den Funktionsblöcken A und B unabhängige Generatorschaltungen 100 bzw. 101 für orthogonale Signalverläufe zugeordnet sind. Bei dieser Ausführungsform sind die Generatorschaltungen 100 und 101 für orthogonale Signalverläufe doppelt ausgeführt, um beliebige Fehler in ihnen zu erkennen und zu berichten. Die Ausführungsform kann auch die hervorragende Unabhängigkeit der zwei Systeme im Schaltungslayout nutzen, wie diese später unter Bezugnahme auf die 15 erörtert wird.
  • Die 6 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindung, die Signalverläufe verwendet, deren Impulse in Seitenschlitzen, wie sie für Leiterbahnnetze charakteristisch sind, eingeschaltet werden. Die Figur zeigt Ausgabemuster p0 bis pn der Generatorschaltung 100 für orthogonale Signalverläufe sowie Vergleichsergebnisse c0 bis cn (40 bis 4n), wenn beide Funktionsblöcke A110 und B111 normal arbeiten.
  • Die 7 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform der Generatorschaltung 100 für orthogonale Signalverläufe zum Erzeugen von Mustern wie in der 6. Im Betrieb wird, wenn das System beim Einschalten der Spannung zurückgesetzt wird, ein Rücksetzsignal aktiv gemacht, um ein Flipflop 1001 vorab als Anfangswert auf '1' zu setzen, wobei es dann Flipflops 1002 bis 100m auf '0' als Anfangswert rücksetzt. Das heißt, dass die Folge der Flipflops 1001 bis 100m auf 1, 0, 0, 0, ... und 0 gesetzt wird. Nach dem Rücksetzen nach dem Einschalten der Spannung verschiebt ein CLK(Takt)-Signal das Muster 1, 0, 0, 0, 0, ... und 0, um das Muster wie in der 6 zu erzeugen. Die Flipflops 1001 bis 100m sind redundant gemacht und es wird die Mehrheit der Ausgabesignale jede der redundanten Flipflops verwendet. Dann können Softwarefehler der Flipflops auf Grund von Störsignalen und Radioaktivität und vorübergehenden Fehlern, wie Fehlern im Übergangsverhalten, die als Einzelereignisstörungen bezeichnet werden, verhindert werden. Dies auch die Zuverlässigkeit erhöhen. Selbstverständlich kann die Generatorschaltung 100 für orthogonale Signalverläufe auch im RCCO-Baum 3 in der 3 verwendet werden.
  • Die 8 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform eines integrierten Schaltkreises 5, der für das Muster in der 6 von Nutzen ist. Eine derartige einfache ODER-Schaltung wie in der 8 kann die verschiedenen für Signalverläufe der Muster in der 6 erzeugen. Dadurch ist es möglich, das Auftreten eines Fehlers zu erkennen. Selbst wenn zwischen den Leiterbahnnetzen ein Kurzschluss auftritt, erscheint in Signatur-Ausgabesignal 6 nicht fälschlicherweise eine authentische Signatur, oder es kann keine Signaturfälschung ausgegeben werden, da keine anderen Leiterbahnnetze existieren, die die authentische Signatur für p2 und c2 verwenden. Dies bedeutet, dass selbst dann, wenn durch einen Kurzschluss eine Signaturfälschung erzeugt wird, die Ausführungsform für fehlersichere Funktion sorgen kann.
  • Die 11 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform der Erfindung, die über ein Merkmal zum Erkennen eines überschüssigen Impulses zusätzlich zum Impulsentnahme-Erfassungsmerkmal des integrierten Schaltkreises in der 8 verfügt. Ein überschüssiger Impuls ist hier als Effekt definiert, dass einige der Signale c0 bis cn (40 bis 4n) gleichzeitig eingeschaltet sind. Wenn im Betrieb ein beliebiges der Signale c0 bis cn (40 bis 4n) eingeschaltet ist, wie in der 9, erzeugen sowohl das ODER-Gatter 50 als auch das EOR-Gatter 51 das Signatur-Ausgabesignal 6, wie in der Figur. Wenn c2 und cn gleichzeitig eingeschaltet sind, wie in der 12, wird von der Signatur-Ausgabeleitung 61 ein Impuls entnommen, wie dies in der Figur dargestellt ist. Da sich das Signal mit entnommenem Impuls vom normalen unterscheidet, trägt es dazu bei, die Erzeugung eines Fehlers zu erkennen.
  • Die 13 zeigt ein Schaltbild zum Veranschaulichen einer Ausführungsform des integrierten Schaltkreises 5, der ferner die Reihenfolge der eintreffenden Impulse berücksichtigt. Im Betrieb wird, wenn die Signaturimpulse als Vergleichsergebnisse in der normalen Reihenfolge c0, c1, c2, ... und cn eintreffen, der Pegel des Signatur-Ausgabesignals 6 immer dann umkehrt, wenn ein Signaturimpuls eintrifft, wie es in der 14 dargestellt ist. Wenn jedoch irgendeiner der Signaturimpulse c0, c1, c2, ... und cn entnommen ist, kann das Signatur-Ausgabesignal 6 nicht umgekehrt werden oder seine Periode ist viel länger. Da die Periode des Signatur-Ausgabesignals 6 bei dieser Ausführungsform im Fehlerfall sehr viel länger ist, ist es einfach, den Fehler zu erkennen.
  • Die 15 zeigt ein detailliertes Schaltbild zum Veranschaulichen einer Ausführungsform der Erfindung. Im Betrieb werden die vom Funktionsblock A 110 gelieferten Signale a0 bis an (10 bis 1n) durch ein Strobesignal 130 in einer Latchstufe 120 zwischengespeichert. Die zwischengespeicherten Signale werden mit den orthogonalen Signalverläufen von der Generatorschaltung 100 für orthogonale Signalverläufe in den Permutatoren 80 bis 8n einer Exklusiv-ODER-Verknüpfung unterzogen, um zu a0' bis an' (10' bis 1n') zu werden. In ähnlicher Weise werden die vom Funktionsblock B111 gelieferten Signale b0 bis bn (20 bis 2n) durch ein Strobesignal 131 in einer Latchstufe 121 zwischengespeichert. Die zwischengespeicherten Signale werden mit den orthogonalen Signalverläufen der Generatorschaltung 101 für orthogonale Signalverläufe in den Permutatoren 90 bis 9n einer Exklusiv-ODER-Verknüpfung unterzogen, um zu b0' bis bn' (20' bis 2n') zu werden. Die auf die obige Weise erzeugten Signale a0' bis an' (10' is 1n') und b0' bis bn' (20' bis 2n') werden durch die Vergleichsschaltungen 40 bis 4n verglichen. Die Vergleichsschaltungen 40 bis 4n geben Vergleichsergebnisse c0 bis cn (40 bis 4n) aus. Die Vergleichsergebnisse werden mittels des integrierten Schaltkreises 5 zu Signatur-Ausgabesignalen 6.
  • Die Schaltung der Ausführungsform ist drei Gebiete unterteilt: ein Gebiet 0 (200) mit den Vergleichsschaltungen 40 bis 4n und dem integrierten Schaltkreis 5, einen Bereich 1 (201) mit dem Funktionsblock A110, der Latchstufe 120, der Generatorschaltung 100 für orthogonale Signalverläufe und den Permutatoren 80 bis 8n, und einen Bereich 2 (202) mit dem Funktionsblock B111, der Latchstufe 121, der Generatorschaltung 101 für orthogonale Signalverläufe und den Permutatoren 90 bis 9n. Die Bereiche 0 (200), 1 (201) und 2 (202) können in einzelnen Chips ausgebildet sein. Die Bereiche können auch in einem einzelnen Typ ausgebildet sein. In diesem Fall sollten die Bereiche 0 (200), 1 (201) und 2 (202) so angeordnet sein, dass sie über solche gegenseitigen Abstände verfügen und/oder sie über ihre einzelnen Erdungen verfügen, um Fehlerausbreitung zu verhindern. Die Schaltungskonstruktion der oben beschriebenen Ausführungsform zeigt den Vorteil, dass durch eine Erzeugung einer Signaturfälschung auf Grund eines Kurzschlusses kein Einfluss ausgeübt werden kann, da die korrelierten Signale ai und bi sowie die Signale pi und ci geometrisch, physikalisch und elektrisch voneinander isoliert werden können.
  • Im Allgemeinen ist es zum Entwerfen eines Hochleistungs-LSI effizient, ein heuristisches Verfahren mit menschlicher Erfahrung und Intuition für ein grobes Layout oder einen Grundplan zu verwenden, bevor die Einzelheiten einer automatischen Leiterbahnerstellung auf Grundlage eines speziellen Algorithmus erfolgt. Demgemäß sorgen viele existierende automatische Leiterbahnwerkzeuge für Merkmale zum persönlichen Eingeben des Groblayouts oder des Grundplans sowie über Merkmale zum Eingeben der Einzelheiten für automatische Leiterbahnerstellung. Das Verfahren der Ausführungsform ist an die Merkmale existierender Werkzeuge zur automatischen Leiterbahnerstellung gut angepasst oder passt zu diesen. Dies bedeutet, dass das Verfahren die Merkmale der Werkzeuge zur automatischen Leiterbahnerstellung bestens nutzen kann.
  • Die oben beschriebene Ausführungsform kann leicht so realisiert werden, dass sie selbst die Art prüft, gemäß der die mit einem normalen Logikdesign ausgebildeten Funktionsblöcke logisch oder optisch kopiert werden sollten, bevor sie im Bereich 0 (200) der Vergleichsschaltungen 40 bis 4n und des integrierten Schaltkreises 5 kombiniert werden. Dadurch kann nicht nur die Zuverlässigkeit erhöht werden, sondern es können auch die Anzahl der Entwicklungsschritte und die Entwicklungskosten in starkem Umfang gesenkt werden.
  • Die 16 zeigt ein Blockdiagramm zum Veranschaulichen eines Selbstprüfungscomputers, der gemäß der Erfindung aufgebaut ist. Die Funktionsblöcke A110 und B111 sind mit jeweiligen MPUs (Mikroprozessoreinheiten), WDTs (Watchdogtimern), INTCs (Interruptcontrollern) und anderen Computerelementen über jeweilige Schnittstellenbusse 212 und 213 verbunden. Die Funktionsblöcke sind auch über jeweilige Schnittstellen 204 und 205 mit jeweiligen externen Bussen 206 und 207 verbunden. Im Betrieb vergleicht der erfindungsgemäße Komparator die Signale auf den internen Bussen 212 und 213 mit den Signalen mit Signaturen, die ihnen durch die Permutatoren 80 bis 8n und 90 bis 9n entsprechend dem durch die Generatorschaltungen 100 und 101 für orthogonale Signalverläufe erzeugten Mustern aufgeprägt wurden, um zu beurteilen, ob die Funktionsblöcke A110 und B111 normal sind oder nicht. Wenn die Signale auf den internen Bussen 212 und 213 übereinstimmen, liefert der Komparator (Bereich 0 (200)) das Signatursignal an das Signatur-Ausgabesignal 6 heraus. Ferner kann ein Einchip-Selbstprüfungsmikrocomputer auf dieselbe Weise realisiert werden, wie sie in der 16 dargestellt ist, wobei der Funktionsblock A100 (Bereich 1 (201)) der Funktionsblock B111 (Bereich 2 (202)) und der Komparator (Bereich 0 (200)) entsprechend dem in der 15 dargestellten Layout gegeneinander isoliert sein sollten, und es sollten auch ihre Erdungen auf demselben Chip getrennt sein. Es ist zu beachten, dass die Latchstufen 120 und 122 in der Figur der Einfachheit halber weggelassen sind.
  • Der Komparator (Bereich 0 (200)) kann die Signale auf den externen Bussen 206 und 207 zusätzlich zu denjenigen auf den internen Bussen 212 und 213 prüfen. Dies erlaubt eine Überwachung aller Operationen des gesamten LSI, einschließlich derjenigen der Schnittstellen 204 und 205.
  • Die oben beschriebene Ausführungsform kann leicht so realisiert werden, dass sie selbst eine Prüfung auf die Art vornimmt, dass die aus den MPUs (Mikroverarbeitungseinheiten), den WDTs (Watchdogtimern), den INTCs (Interruptcontrollern) und den anderen Mikrocomputerelementen bei einem normalen Design bestehenden Funktionsblöcke logisch oder optisch auf Maskenmusterebene auf doppelt Ausführung kopiert werden sollten, bevor eine Kombination der Vergleichsschaltungen 40 bis 4n und des integrierten Schaltkreises 5 im Bereich 0 (200) erfolgt. Dadurch kann nicht nur die Zuverlässigkeit erhöht werden, sondern es können auch die Anzahl der Entwicklungsschritte und die Entwicklungskosten in starkem Umfang gesenkt werden.
  • 17 zeigt ein Blockdiagramm zum Veranschaulichen eines fehlertoleranten Computers, der aus dem Selbstprüfungscomputer aufgebaut ist. Im Betrieb wird eines der Signale, wie es von den Selbstprüfungscomputern 203 und 203' an die jeweiligen externen Busse 206 (207) und 206' (207') ausgegeben wird, durch eine Ausgabesignal-Selektorschaltung 210 ausgewählt, um es auf eine Leitung 211 für die abschließende Ausgabe zu leiten. Die Ausgabesignal-Selektorschaltung 210 wird durch ein Schaltsteuersignal 209 gesteuert, das durch eine Schaltsteuerschaltung 208 auf Grundlage der Signatur-Ausgabesignale 6 und 6' erzeugt wird. Das heißt, dass die Ausgabesignal-Selektorschaltung 210 das Ausgabesignal des Selbstprüfungscomputers auswählt, das auf Grundlage der Signatur-Ausgabesignale 6 und 6', wie sie von den Selbstprüfungscomputern 203 und 203' geliefert werden, als normal angesehen wird.
  • Die 18 zeigt ein Blockdiagramm zum Veranschaulichen der Schaltsteuerschaltung 208. Im Betrieb überwachen die Signatur-Überwachungsschaltungen 212 und 213 die Signatur-Ausgabesignale 6 und 6'. Wenn die Signatur-Ausgabesignale 6 und 6' normal sind, geben die Signatur-Überwachungsschaltungen 'normale' Signale an die Leitungen 214 bzw. 215 für Überwachungsergebnisse aus. Wenn eines der Signatur-Ausgabesignale 6 und 6' anormal ist, gibt die Signatur-Überwachungsschaltung ein 'anormales' Signal an die Leitung 214 oder 215 für Überwachungsergebnisse aus. Eine Beurteilungslogik 216 gibt ein Signal mit der Bedeutung "externen Bus 206' (207') auswählen" nur dann als Schaltsteuersignal 209 aus, wenn das Signatur-Ausgabesignal 6 anormal ist und das Signatur-Ausgabesignal 6' normal ist. In den anderen Fällen gibt die Beurteilungslogik 216 ein Signal mit der Bedeutung "externen Bus 206 (207) auswählen" aus. Der Einfachheit in den Zeichnungen halber kennzeichnet der Pegel H der Binärlogik ein 'normales' Signal auf der Leitung 214 oder 215 für Überwachungsergebnisse; der Pegel L ist das 'anormale' Signal; der Pegel H ist auch das als Schaltsteuersignal 209 gelieferte Signal mit der Bedeutung "externen Bus 206' (207') auswählen"; und der Pegel L ist auch das Signal mit der Bedeutung "externen Bus 206 (207) auswählen". Diese Signale bei der Erfindung sind nicht auf die Binärlogik beschränkt, sondern sie können mit jeder beliebigen redundanten Logik erzeugt werden, wie gemäß der 2-Leitungen-Logik (1-aus-2-Code), der Häufigkeitslogik und der Signatur, wie sie charakteristisch für jedes Netz durch die Erfindung geliefert wird. Dies kann die Schaltsteuerschaltung 208 und auch das Gesamtsystem sehr zuverlässig machen.
  • Nachfolgend wird ferner die Ausführungsform der Signatur-Überwachungsschaltungen 212 und 213 beschrieben. Wenn das Signatur-Ausgabesignal 6 einen periodischen Signalverlauf aufweist, wie es in der 9 dargestellt ist, können die Signatur-Überwachungsschaltungen 212 und 213 auf solche Weise realisiert werden, dass ein Zähler vorhanden ist, um zu überwachen, dass die Impulse mit bestimmten Intervallen eintreffen. Wenn das Signatur-Ausgabesignal 6 ein stärker komplizierter Signalverlauf ist, können die Signatur-Überwachungsschaltungen 212 und 213 auf solche Weise realisiert werden, dass das Signatur-Ausgabesignal 6 mit einem Bezugs(Schablonen)-Signalverlauf korreliert wird, wobei die Signatur als normal zu beurteilen ist, wenn die Korrelation 1,0 beträgt, und sie als anormal zu beurteilen ist, wenn die Korrelation kleiner als 1,0 ist.
  • Bei der oben beschriebenen Ausführungsform kann das fehlertolerante System gemäß dem Typ mit "heißer" Bereitschaft strukturiert werden, wobei der Selbstprüfungscomputer 203 als Hauptsystem vorliegt und der Selbstprüfungscomputer 203' als Ersatzsystem (Bereitschaftssystem) vorliegt. Außerdem kann durch das durch die Erfindung bereitgestellte Erfassungsverfahren mit wenigen Erfassungs-Fehltreffern ein System mit höherer Zuverlässigkeit als der der herkömmlichen liefern.
  • Die durch die Erfindung geschaffenen Selbstprüfungscomputer können in fehlertoleranten Systemen verschiedener Konfiguration und auch bei der oben beschriebenen Systemkonfiguration verwendet werden. Zum Beispiel können die Selbstprüfungscomputer im System genutzt werden, das die Erfinder bereits in der japanischen Patentanmeldung Nr. 03-15946 (entsprechend US-A-5084878) offenbart haben. Dies kann auf eine Weise dahingehend bewerkstelligt werden, dass die in der 5 in der japanischen Patentanmeldung dargestellten Untersysteme 1-1 bis 1-n durch die durch die vorliegende Erfindung geschaffenen Selbstprüfungscomputer 203 ersetzt werden, wobei die Ausgänge 3-1 bis 3-n der Anmeldung durch den externen Bus 208 (207) der Erfindung ersetzt werden und die Überschneidungsdiagnoseergebnisse 4-1 bis 4-n bei der Anmeldung durch das Signatur-Ausgabesignal 6 der Erfindung ersetzt werden.
  • Die 19 zeigt ein Schaltbild zum Veranschaulichen eines Selbstprüfungskomparators gemäß der Erfindung. Der Komparator 217 ist in drei Bereiche unterteilt: einen Bereich 0 (200), einen Bereich 1 (201) und einen Bereich 2 (202). Der Bereich 0 200 verfügt über die Vergleichsschaltungen 40 bis 4n und den integrierten Schaltkreis 5. Der Bereich 1 (201) verfügt über die Latchstufe 120, die Generatorschaltung 100 für orthogonale Signalverläufe und die Permutatoren 80 bis 8n. Der Bereich 2 (202) verfügt über die Latchstufe 121, die Generatorschaltung 101 für orthogonale Signalverläufe und die Permutatoren 90 bis 9n. Die Bereiche 0 (200), 1 (201) und 2 (202) sollten so angeordnet werden, dass sie über wechselseitige Abstände verfügen und/oder individuelle Erdungen verfügen, um eine Fehlerausbreitung zu verhindern. Die Schaltungen des oben genannten Komparators sind in einem einzelnen Chip angeordnet. Der Komparator 217 ist mit den externen Funktionsblöcken A110 und B111 verbunden, um deren Ausgabesignale zu vergleichen. Die Schaltungskonstruktion der oben beschriebenen Ausführungsform zeigt, wie die der bei der 15 beschriebenen Ausführungsform, dem Vorteil, dass durch die Erzeugung einer Signaturfälschung auf Grund von Kurzschlüssen kein Einfluss hervorgerufen werden kann, da die korrelierten Signale ai und bi sowie pi und ci geometrisch, physikalisch und elektrisch gegeneinander isoliert werden können.
  • Die Ausführungsform zeigt den Vorteil, dass die Fehlersicherheitsfunktion selbst dann gewährleistet werden kann, wenn durch einen Kurzschluss eine Signaturfälschung erzeugt wird. Dies bedeutet, dass die Erfindung keine speziellen Grenzen benötigt, um eine fehlersichere Logikschaltung zu realisieren, sondern dass sie Nutzen aus der existierenden Halbleitertechnik und automatischen Entwurfswerkzeugen ziehen kann. Es kann erwartet werden, dass sowohl die Entwicklungskosten als auch die Entwicklungszeit in starkem Ausmaß gesenkt werden.
  • 2. Verwaltung von Redundanzressourcen
  • Die folgenden Absätze beschreiben nun das Verwaltungsverfahren für Redundanzressourcen und das fehlertolerante System unter Verwendung dessen, was Ausführungsformen der Erfindung bildet, wozu auf die 20 bis 43 Bezug genommen wird.
  • A. BETRIEBSPRINZIPIEN
  • Die 23 zeigt schematisch ein Schema zum Veranschaulichen einer Ausführungsform der Erfindung. Als Beispiel ist in der Figur angenommen, dass Computermodule 1101 bis 110(i – 1) einen Task 1 zu Redundanzwecken ausführen, Computermodule 110i bis 110m einen Task 2 zu Redundanzzwecken ausführen, wobei das System wegen eines Fehlers im Computermodul 110(i – 1) nicht normal arbeiten kann. Wenn das System wegen eines Fehlers im Computermodul 110(i – 1) nicht normal arbeiten kann, hält das Computermodul 1101 die Ausführung des Tasks 2 an und startet die Ausführung des Tasks 1. Dadurch kann eine übermäßige Verringerung der Anzahl von Computermodulen, die den Task 1 wegen eines Fehlers des Computermoduls 110(i – 1) ausführen, gelindert werden, wodurch ein hoher Abfall der Zuverlässigkeit für den Task 1 verhindert wird.
  • Die 24 zeigt schematisch ein Schema zum Veranschaulichen einer Ausführungsform der Erfindung, bei der Bewertungsfunktionen F1 und F2 eingeführt sind, um eine Beurteilung hinsichtlich eines Taskumschaltens im Computermodul 1101 in der 23 auszuführen. Es ist angenommen, dass die Bewertungsfunktionen F1 und F2 diejenigen sind, die die Zuverlässigkeiten der Tasks 1 bzw. 2 widerspiegeln. Später wird ein Verfahren zum Bestimmen der Bewertungsfunktionen beschrieben. Auf der linken Seite der Figur ist die Bewertungsfunktion doppelt ausgeführt (Zuverlässigkeit) niedriger als Bewertungsfunktion gemacht, da im den Task 1 ausführenden Computermodul 100(i – 1) ein Fehler vorliegt. Dann wird, wie es auf der linken Seite der Figur dargestellt ist, das Computermodul 110i innerhalb der den Task 2 ausführenden Computermodule zur Ausführung des Tasks 1 hinzugefügt, so dass die Bewertungsfunktionen F1 und F2 praktisch gleich werden. Wenn dafür gesorgt wird, dass sich die Bewertungsfunktionen beim Auftreten eines Fehlers stark unterscheiden, erfolgt die Bestimmung, welches Computermodul die Ausführung des Tasks ändern sollte, auf solche Weise, dass vorab Zuständigkeit jedes Computermoduls für die Tasks eingestellt werden. Bei der Ausführungsform hat unter den Computermodulen 1101 bis 110m zum Ausführen des Tasks 2 das Computermodul 110i die höchste Zuständigkeit für den Task 1.
  • Wenn die Hardware zum Ausführen der Merkmale zur Verwaltung der Redundanzressourcen, einschließlich des Merkmals des Taskwechsels und des Beurteilungsmerkmals, nicht redundant sondern einfach ausgeführt wird, kann es geschehen, dass ein Fehler der Hardware normalen Betrieb des gesamten Systems und auch der Merkmale zum Verwalten der Redundanzressourcen verhindert. Um dies zu vermeiden, ist es erforderlich, die Hardware zum Ausführen der Merkmale zur Verwaltung der Redundanzressourcen selbst redundant auszuführen. Es existieren drei Verfahren, um sie redundant zu machen:
    • (1) Ein Verfahren zum Hinzufügen einer ausschließlichen Hardware, und redundantes Ausbilden derselben, um die Merkmale zum Verwalten der Redundanzressourcen auszuführen; und
    • (2) ein Verfahren des Verwendens mehrerer der Computermodule 1101 bis 100(i – 1) zum Ausführen der Merkmale zum Verwalten von Redundanzressourcen, und um zu beurteilen, welches Computermodul die Ausführung eines Tasks ändern sollte; und
    • (3) ein Verfahren, bei dem die Merkmale zum Verwalten von Redundanzressourcen dafür sorgen, dass die Computermodule 1101 bis 110(i – 1) selbst den Task beurteilen und ausführen.
  • Das Verfahren (1) kann dadurch realisiert werden, dass die Hardware und/oder Software mehrfach vorliegt, um die Merkmale zur Verwaltung von Redundanzressourcen zu realisieren, wie es in den 23 und 24 dargestellt ist. Das Verfahren (2) kann auf solche Weise realisiert werden, dass die Tasks zum Erzeugen der Merkmale zum Verwalten von Redundanzressourcen, wie in den 23 und 24 dargestellt, mehreren Computermodulen zugeordnet werden und sie, wie anderen Task, den Merkmalen zur Verwaltung Redundanzres sourcen unterzogen werden. Andererseits ist unten eine Ausführungsform des Verfahrens (3) beschrieben.
  • Die 25 zeigt schematisch ein Schema zum Veranschaulichen einer Ausführungsform des Verfahrens (3), bei dem jedes der Computermodule selbst auf unabhängige Weise beurteilen kann, ob es bei der Ausführung eines Tasks mit niedriger Bewertungsfunktion hinzugefügt werden sollte, wenn sich die Bewertungsfunktionen beim Auftreten eines Fehlers stark unterscheiden. Die Computermodule 1101 bis 110m berechnen ihre jeweiligen Bewertungsfunktionen Fij, wobei i eine Prozessornummer ist und j eine Tasknummer ist. Jede der Bewertungsfunktionen Fij sollte so definiert sein, dass sie niedrig ist, wenn das Computermodul hohe Zuständigkeit für den Task j hat. Anders gesagt, kann die Bewertungsfunktion Fij als Toleranz für die Zuständigkeit angesehen werden, die das Computermodul für den Task hat. In der 25 tragen z. B. die Computermodule 1101 bis 110m hohe Zuständigkeit für den Task 1 und niedrige für den Task 2, in dieser Reihenfolge. Daher sind selbst dann, wenn die Computermodule normal sind, ie es links in der 25 dargestellt ist, die Bewertungsfunktionen F11 < F21 für 1101 bis 110(i – 1), wobei Fi1 < Fi2 gilt. Für die Computermodule 110i bis 110m gilt Fi1 < Fi2. Daher führen die Computermodule ihre Tasks 1 bzw. 2 aus.
  • Wenn im Computermodul 110(i – 1) ein Fehler auftritt, wie es in der Mitte der 25 dargestellt ist, nimmt Fi1 aller Computermodule ab und das Computermodul 110i wird in der Wertebeziehung zwischen Fi1 und Fi2 umgekehrt, d. h., es gilt Fi1 < Fi2. Daher hält das Computermodul 110i, wie es in der Mitte der 25 dargestellt ist, die Ausführung des Tasks 2 durch seine eigene unabhängige Beurteilung an, bevor es den Task 1 startet. Wie oben beschrieben, sorgt die Ausführungsform dafür, dass jedes der Computermodule den Task durch seine eigene Beurteilung unabhängig wechselt. Die Ausführungsform verfügt daher über keinen sogenannten Manager, in dem die Merkmale zur Verwaltung von Redundanzressourcen für das Gesamtsystem konzentriert wären. Dies bedeutet, dass die Ausführungsform über keinen einzelnen Fehlerpunkt als Flaschenhals verfügt, was die Zuverlässigkeit erhöht, so dass es möglich ist, die Zuverlässigkeit der Merkmale zur Verwaltung von Redundanzressourcen selbst zu erhöhen.
  • Die oben unter Bezugnahme auf die 23 bis 25 beschriebenen Ausführungsformen verfügen nur über zwei Tasks, nämlich die Task und 1 und 2, die im System zur Ausführung verwendet werden, was ein der Einfachheit dienendes Beispiel ist. Selbstverständlich können die Ausführungsformen die Redun danzressourcen auch für jede beliebige Anzahl von Tasks, wie erwünscht, verwalten.
  • Hinsichtlich Auswahlvorgängen betreffend Rechenergebnisse durch redundante Computermodule für Tasks können diese durch eine Mehrheitsentscheidung oder durch dasjenige Verfahren erfolgen, die die Erfinder bereits in der japanischen Patentanmeldung Nr. 1-288928 offenbart haben.
  • B. SYSTEMKONFIGURATION
  • Die 20 zeigt ein Blockdiagramm zum Veranschaulichen einer Systemkonfiguration zum Realisieren der Erfindung. Das erfindungsgemäße System besteht aus einer Anzahl m von Computermodulen 1101 bis 110m mit denselben Funktionen. Tasks 1111 bis 111n ist eine Anzahl von Computermodulen zugewiesen, um für hoch zuverlässigen Betrieb redundant zu arbeiten. Beim in der 20 dargestellten Beispiel ist die Anzahl i1 von Computermodulen 1101 bis 110i1 dem Task 1 (1111) zugeordnet, die Anzahl (i2 – i1) von Computermodulen 110(i1 + 1) bis 11012 ist dem Task 2 (1112) zugeordnet, und die Anzahl (in+1 – m) von Computermodulen 110(in + 1 + 1) bis 110m ist dem Task n (111n) zugeordnet.
  • Jedes der Computermodule 1101 bis 110m kann Signale an die Ausgabesignal-Selektorschaltungen 151 bis 15λ ausgeben. Es ist zu beachten, dass die Signale 31-1 bis 31-λ bis 3m-1 bis 3m-λ an die jeweiligen Ausgabesignal-Selektorschaltungen 151 bis 15λ für die jeweiligen Computermodule 110-1 bis 110-m ausgegeben werden. Auch geben die Computermodule 110-1 bis 110-m Auswahl-Steuersignale 41-1 bis 41-λ bis 4m-1 bis 4m-λ an die Ausgabesignal-Selektorschaltungen 151 bis 15λ gemeinsam mit dem Ausgabesignalen 31-1 bis 31-λ bis 3m-1 bis 3m-λ aus. Die Auswähl-Steuersignale 41-1 bis 41-λ bis 4m-1 bis 4m-λ zeigen an, ob die Ausgabesignale 31-1 bis 31-λ bis 3m-1 bis 3m-λ durch die Ausgabesignal-Selektorschaltungen 151 bis 15λ ausgewählt werden sollten oder nicht. Wenn das Computermodul 1101 normal ist und das Signal 31-3 an die Ausgabesignal-Selektorschaltung 151 ausgibt, damit diese dieses Signal ausgibt, wird z. B. das Auswähl-Steuersignal 41-1 eingeschaltet.
  • In der Figur sind nur die Ausgabesignale 31-1 bis 31-λ und die Auswähl-Steuersignale 41-1 bis 41-λ angegeben, jedoch sind die Ausgabesignale 32-1 bis 32-λ bis 3m-1 bis 3m-λ und die Auswähl-Steuersignale 42-1 bis 42-λ bis 4m-1 bis 4m-λ weggelassen.
  • Die Ausgabesignal-Selektorschaltungen 151 bis 15λ legen die auszugebenden Signale auf Grundlage der Auswähl-Steuersignale 41-1 bis 41-λ bis 4m-1 bis 4m-λ fest. Die Signale werden zu Ausgabesignalen 161 bis 16λ. Es ist zu beachten, dass die Ausgänge 161 bis 16λ mit Ausgabeeinheiten 171 bis 17λ verbunden sind. Es ist auch zu beachten, dass die Ausgabeeinheiten 171 bis 17λ bei vielen Steuereinheiten elektrische und hydraulische Stellglieder verwenden, um Gegenstände zu steuern.
  • Für die Ausgabesignal-Selektorschaltungen 15a bis 15λ ist die MV (modified voter = modifizierte Majoritätsvorrichtung) verfügbar, die die Erfinder bereits in der 2 der japanischen Patentanmeldung Nr. 1-288928 offenbart haben.
  • Die 21 zeigt ein schematisches Funktionsschema zum Veranschaulichen einer Konfiguration des Computermoduls 110i zur Realisierung der Erfindung. Das Computermodul 110i verfügt über eine Taskausführungsvorrichtung 12i, eine Fehlerdaten-Austauscheinrichtung 13i, eine Beurteilungseinrichtung 14i zum Festlegen eines auszuführenden Tasks sowie eine Taskänderungseinrichtung 15i. Diese dienen zum Auswählen und Ausführen des auszuführenden Tasks unter dem Task 1 (1111) bis zum Task m (111n) auf Grundlage eines Ergebnisses einer Beurteilung durch die Beurteilungseinrichtung 14i. Bei der in der 21 dargestellten Ausführungsform führt das Computermodul 1101 den Task 1 (1111) aus.
  • Die Fehlerdaten-Austauscheinrichtung 13i sendet eine Fehlerauftrittssituation in ihrem eigenen Computermodul sowie die Prozessergebnisses des ausgeführten Tasks im Rundruf über einen Kommunikationspfad 11 an andere Computermodule. Gleichzeitig sammelt die Einrichtung die Fehlerauftrittssituationen, wie sie durch die anderen Computermodule im Rundruf gesendet werden, und die Prozessergebnisse zum ausgeführten Task.
  • Zu bereits vorgeschlagenen Verfahren für Kommunikation mit den anderen Computermodulen über den Kommunikationspfad 11 gehört das Verfahren der Meldungsweiterleitung, das Verfahren eines gemeinsam genutzten Speichers und das verfahren einer Speicherbankumschaltung. Zu bereits vorgeschlagenen Formen des Kommunikationspfads 11 gehören der Busnetz, der Netztyp und der Ringtyp.
  • Die 22 zeigt ein Blockdiagramm zum Veranschaulichen einer Konfiguration des Computermoduls 110i zum Realisieren der Erfindung. Ein Bus 20i in der Figur ist mit einer MPU (Mikroprozessoreinheit) 21i, einer Kommunikati onsschnittstelle 22i, einer Ausgabeschnittstelle 23i, einer Auswählsteuersignal-Schnittstelle 24i und einer Speichereinheit 25i verbunden. Die Kommunikationsschnittstelle 22i ist über den Kommunikationspfad 11 mit den anderen Computermodulen für Kommunikation mit jedem derselben verbunden. Die Fehlerdaten-Austauscheinrichtung 13i in der Figur ist durch die Auswählsteuersignal-Schnittstelle 24i realisiert.
  • Eine Ausgabeschnittstelle 23i ist eine Schaltung zum Ausgeben der Signale 3i-1 bis 3i-λ an die Ausgabesignal-Selektorschaltungen 151 bis 15λ. Die Signale können abhängig von der Anwendung entweder auf parallel oder serielle Weise übertragen werden. Wenn die Ausgabeschnittstellen 23i so ausgebildet sind, dass sie jeweils ihre unabhängigen jeweiligen Signale 3i-1 bis 3i-λ ausgeben, können sie bei einer Anwendung verwendet werden, bei der mehrere Ausgabeeinheiten gleichzeitig verwendet werden.
  • Die Auswählsteuersignal-Schnittstelle 24i ist eine Schaltung zum Ausgeben der Auswähl-Steuersignale 4i-1 bis 4i-λ an die Ausgabesignal-Selektorschaltungen 151 bis 15λ. Die MPU 21i kann dazu verwendet werden, in ein Register der Auswählsteuersignal-Schnittstelle 24i zu schreiben, um jedes beliebige gewünschte der Auswähl-Steuersignale 4i-1 bis 4i-λ einzuschalten oder auszuwählen. Zu Bedingungen zum Einschalten, oder Auswählen, des Auswähl-Steuersignals 4i-λ', wobei λ' eine ganze Zahl von 1 bis λ ist, gehören:
    • a. das Computermodul 1101 führt einen Task zum Ausgeben des Signals 3i-1' an die Ausgabesignal-Selektorschaltung 151' aus, und
    • b. das Computermodul 110i erkennt, dass der ausführende Task normal ist.
  • Als Verfahren zum Beurteilen auf normal oder anormal bei der Bedingung b ist ein solches verfügbar, wie es die Erfinder bereits in der japanischen Patentanmeldung Nr. 1-288928 offenbart haben.
  • Wenn das Computermodul 1101 den Task 1, der normal ist, ausführt und das Signal an die Ausgabesignal-Selektorschaltung 151 ausgibt und im anderen Computermodul 110-i, das den Task 2 ausführt und das Signal an die Ausgabesignal-Selektorschaltung 152 ein Fehler auftritt, und wenn das Computermodul 110i die höchste Zuständigkeit für den Task 2 hat, hält das Computermodul 110i die Ausführung des Tasks 1 an, bevor es den Task 2 startet. In diesem Fall wird das Auswähl-Steuersignal 41-1 vom Computermodul 1101 an die Ausgabesignal-Selektorschaltung 151, die während der Ausführung des Tasks 1 eingeschaltet ist, am Ende der Ausführung des Tasks 1 ausgeschal tet. Zum Beginn der Ausführung des Tasks 2 wird das Auswähl-Steuersignal 42-1 der Ausgabesignal-Selektorschaltung 152 eingeschaltet. Ferner wird das Auswähl-Steuersignal 4i-2 vom Computermodul 110-i an die Ausgabesignal-Selektorschaltung 152, die eingeschaltet ist, zum Zeitpunkt, zu dem ein Fehler auftritt, ausgeschaltet. Im Ergebnis, kann, nach dem Auftreten des Fehlers, die Ausgabesignal-Selektorschaltung 152 das Ausgabesignal 32-1 vom Computermodul 1101 als Ausgabesignal 162 auswählen, das an ein Stellglied 172 zu liefern ist, während die Ausgabesignal-Selektorschaltung 152 vor dem Auftreten eines Fehlers das Ausgabesignal 32-i vom den Task 2 normal ausführenden Computermodul 110-i als Ausgabesignal 162 auswählt, um dieses an das Stellglied 172 zu liefern.
  • Wie oben beschrieben, kann die Ausführungsform der Erfindung mehrere Computermodule dazu verwenden, mehrere Tasks parallel und auf redundante Art auszuführen.
  • In der Beschreibung ist angenommen, dass ein einzelner Task Signale an mehrere Stellglieder ausgibt. Auch kann angenommen werden, dass ein einzelner Task ein Signal an mehrere Stellglieder ausgibt, während keine Tasks überhaupt ein Signal an die Stellglieder ausgeben.
  • C. BERECHNUNGS- UND ENTSCHEIDUNGSALGORITHMEN FÜR BEWERTUNGSFUNKTIONEN
  • Die 26 zeigt ein Flussdiagramm zum Veranschaulichen von Entscheidungseinheiten 14-1 bis 14-m, die einen auszuführenden Task gemäß der Erfindung festlegen.
  • In einem Bewertungsfunktion-Berechnungsschritt 300 in der Figur wird eine Bewertungsfunktion Fij berechnet, wobei j eine Tasknummer für den vorgegebenen Task ist.
  • Wie bereits angegeben, repräsentiert die Bewertungsfunktion Fij eine Zuverlässigkeitstoleranz für den Task. Daher sollte die Bestimmung so erfolgen, dass Fij niedrige Bedeutung haben kann, wenn der Task hoch ist, Fij niedrig sein kann, wenn die Zuständigkeit des Computermoduls für den Task hoch ist, und Fij hoch sein kann, wenn die Zuverlässigkeit des Tasks hoch ist. Das heißt, es gilt: ∂Fij/∂i < 0, ∂Fij/∂Resp < 0,und ∂Fij/∂Rel > 0,wobei i die Bedeutung ist, Resp die Zuständigkeit ist und Ref die Zuverlässigkeit ist.
  • Ein Beispiel für eine Bewertungsfunktion Fij, die den oben genannten Bedingungen genügt, ist: Fij = Lrj – Lthij (6)wobei Lthij ein Schwellenwert des Zuverlässigkeitsgrads des Tasks j im Computermodul i ist, Lrj der Zuverlässigkeitsgrad des Tasks j ist, i die Numme des eigenen Computermoduls ist und j die Tasknummer ist.
  • Es ist zu beachten, dass Lthij, d. h. der Schwellenwert für den Zuverlässigkeitsgrad des Tasks j, abhängig von der Bedeutung des Tasks variiert. Der Wert ist hoch einzustellen, wenn der Task hohe Bedeutung oder zu hohe Zuverlässigkeit zeigen muss. Ferner führen, wenn für alle Computermodule derselbe Wert Lthij eingestellt ist, alle denselben Task beim Auftreten eines Fehlers aus. Dies führt zu instabilem Systembetrieb. Daher muss Lthij abhängig vom Computermodul verschieden sein. Der Wert muss hoch sein, wenn die Zuständigkeit des Computermoduls für den Task hoch ist. Das heißt, es gelten: ∂Lthij/∂i > 0,und ∂Lthij/∂Resp > 0.
  • Nachfolgend wird beschrieben, wie der Zuverlässigkeitsgrad Lrj betreffend des Task j festzulegen ist. Die Bewertungsfunktion, die den Zuverlässigkeitgrad Lrj angibt, sollte hinsichtlich der Daten, die Fehlererkennungsergebnisse sind, berechnet werden einschließlich der Anzahl der den Task j ausführenden Computermodule, der Gleichheit und Ungleichheit der Prozessergebnisse sowie der Anzahl der Prozessoren mit gleichen Prozessergebnissen.
  • Als Erstes ist die Wahrscheinlichkeit zu beachten, dass falsche Ergebnisse als Ausgabesignale des Systems verwendet werden. Dann kann der Zuverlässig keitsgrad Lrj hinsichtlich des Grads akzeptierter Prüfungen berechnet werden. Wenn N1 Computermodule den Task j ausführen und wenn N2 Computermodule als normal geprüft werden und die Rechenergebnisse von N3 Computermodulen übereinstimmen, ist die Wahrscheinlichkeit Pej falscher Rechenergebnisse für den Task die Folgende: Pej = P∊N1 × P∊dN2 × P∊N3–1 (7)wobei P∊ die Wahrscheinlichkeit für das Auftreten eines Fehlers ist, P∊d die Wahrscheinlichkeit eines Prüffehlers beim Fehler ist und P∊a die Wahrscheinlichkeit für zufälliges übereinstimmen falscher Rechenergebnisse ist. Es ist zu beachten, dass P∊, P∊d und P∊a bekannte Konstanten sind, die hinsichtlich der Systembetriebsumgebung und des Fehlerkennungsverfahrens erhalten werden können, und dass Pej eine Funktion von N1, N2 und N3 – 1 ist.
  • Der Zuverlässigkeitgrad für den Task j, bei dem es sich um die Wahrscheinlichkeit korrekter Rechenergebnisse handelt, ist wie folgt gegeben: Lrj = 1 – Pej (8) Lrj werden der Einfachheit halber durch die Größe von Pej in der Gl. 8 bewertet. Der für die Gl. 7 gebildete Logarithmus ist der Folgende: log(Pej) = N1 × log(P∊) + N2 × log(P∊d) + N(3 – 1) × log(P∊a) (9)
  • Da die Werte P∊, P∊d und P∊a mittels Felddaten oder Simulation berechnet werden können, seien die Logarithmen der Werte durch K1, K2 und K3 repräsentiert. Dann kann die Gl. 9 wie folgt vereinfacht werden: log(Pe) = N1 × K1 + N2 × K2 + (N3 – 1) × K3 (10)
  • Auch sei die Wahrscheinlichkeit Pe falscher Rechenergebnisse an Stelle der Bewertungsfunktion in der Gl. 6 betrachtet. Die Bewertungsfunktion Fij sei wie folgt definiert: Fij = log((1 – Lthij)/Pe) (11)
  • Dann gilt: Fij = K4 – N1 × K1 + N2 × K2 + (N3 – 1) × K3 (12)mit K4 = log(1 – Lthij). Demgemäß kann die Bewertungsfunktion Fij nur durch Addition, Subtraktion und Multiplikation auf einfache Weise, oder mit hoher Geschwindigkeit, berechnet werden.
  • In ähnlicher Weise kann der Zuverlässigkeitgrad Lrj für den Task j dadurch berechnet werden, dass die Wahrscheinlichkeit des Auftretens eines Fehlers in den den Task j ausführenden Computermodulen berücksichtigt wird.
  • Wenn angenommen wird, dass N1 Computermodule den Task j ausführen, ist die Wahrscheinlichkeit dafür, dass in allen Computermodulen falsche Rechenergebnisse für die Task j auftreten, die Folgende: Pe = P∊N1 (13)
  • Wie bei der Gl. 7 kann der Logarithmus der Gl. 13 wie folgt erhalten werden: Fij = K4 – N1 × K1 (14)
  • So kann die Bewertungsfunktion Fij wie oben vereinfacht werden.
  • Ein Bedingungsbeurteilungsschritt 301 in der Figur vergleicht die Bewertungsfunktionen Fij der Tasks mit der Bewertungsfunktion Fik des aktuell ausgeführten Tasks k, wobei j von 1 bis n läuft und die n die Anzahl der Tasks ist. Im Ergebnis wird, wenn der Task j der Bedingung Fij < Fik genügt, der aktuell ausgeführte Task k beendet und der Task j gestartet.
  • Die 27 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen der Zeitpunkte des Beendens des Tasks k und des Startens des Tasks j. Wie bei einem Computer zur Regelung, wie in der 27, werden Eingangsdaten periodisch mit jedem Steuerungsrahmen eingelesen, bevor der Task ausgeführt wird um Ergebnisse auszugeben. Es sei angenommen, dass das Computermodul i den Task k ausführt und dass wegen des Auftretens eines Fehlers im den Task j ausführenden Computermodul in einem Steuerungsrahmen 1 Fij < Fik gilt. Das Computermodul i beendet den Task k momentan bevor es die Vorbereitung zum Ausführen des Tasks j beginnt. Wenn die Daten (Verlaufsdaten) bis zum vorigen Steuerungsrahmen nicht dazu benötigt werden, den Task j zu starten, kann das Computermodul i den Task j ab dem Steuerungsrahmen 2 starten. Wenn die Verlaufsdaten zum Starten des Tasks j benötigt werden, benutzt andererseits, wie es in der 27 dargestellt ist, das Computermodul i einen Steuerungsrahmen 2 dazu, die Verlaufsdaten zu sammeln, bevor es den Task j ab einem Steuerungsrahmen 3 startet. Es ist zu beachten, dass die Verlaufsdaten dadurch gesammelt werden können, dass über den Kommunikationspfad 11 dasjenige Computermodul befragt wird, das den Task j bereits ausführt.
  • D. EINSTELLEN EINER TOTZONE, UM REGELSCHWINGUNGEN ZU VERHINDERN
  • Die 28 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen einer Ausführungsform mit einer Totzone δ, die zur Beurteilung im Bedingungsbeurteilungsschritt 301 vorhanden ist. In der Figur wird, wenn ein der Bedingung Fij < Fik – δ genügender Task j existiert, der aktuell ausgeführte Task k beendet, bevor der Task j gestartet wird. Durch die Ausführungsform in der Figur wird der Betrieb der Ausführungsform in der 26 weiter verbessert.
  • Bei der Ausführungsform in der 26 ist, wie es in der 29 dargestellt ist, der Betrieb der Folgende:
    • (1) Durch das Auftreten eines Fehlers wird Fij < Fik erhalten. Wenn das den Task k ausführende Fi die Ausführung des Tasks j zu einem Zeitpunkt t1 startet, wird die Bewertungsfunktion Fij hoch, während die Bewertungsfunktion Fik niedrig wird.
    • (2) Wenn sich die Größen von Fij und Fik umdrehen, so dass Fij > Fik gilt, startet das Computermodul, das die Ausführung des Tasks j gestartet hat, erneut den Task k zu einem Zeitpunkt t2.
  • Als Ergebnis einer Wiederholung der obigen Betriebsabläufe (1) und (2) besteht das Problem, dass die Betriebseffizienz des Systems durch das Sammeln von Verlaufsdaten und andere Operationen abnimmt.
  • Um ein solches Problem zu überwinden, ist, wie es in der 28 dargestellt ist, eine Totzone vorhanden, die größer als Änderungen von Fij und Fik ist, wenn ein Umschalten von Tasks zur Beurteilung im Bedingungsbeurteilungsschritt 301 erfolgt. Die Totzone δ ist vorhanden, um für eine Hystereseeigenschaft zu sorgen, die es dem System erlaubt, stabil zu laufen, wie es in der 30 dargestellt ist, ohne dass beim Ausführen eines Umschaltens von Tasks eine Regelschwingung entsteht.
  • Da P∊, P∊d und P∊a bekannt sind, sind Änderungen von Fij, einschließlich ∂fij/∂N1, ∂Fij/∂N2 und ∂Fij/∂N3, bei Änderungen von N1, N2 und N3, vorab erkennbar. Demgemäß sollte eine Totzone δ eingestellt werden, die größer als der folgende Wert ist: max(∂Fij/∂N1, ∂Fij/∂N2, ∂Fij/∂N3)
  • Bei den oben beschriebenen Ausführungsformen in den 20 bis 30 ist, wie es in der 31 dargestellt ist, erkennbar, dass das System zwischen den Redundanzen der Tasks abhängig von den für diese benötigten Zuverlässigkeitsgraden ein Gleichgewicht dadurch finden kann, dass die Computermodule sukzessive den Tasks 1 bis n zugewiesen werden. Das Gleichgewicht kann selbst dann aufrechterhalten werden, wenn das Auftreten eines Fehlers dafür sorgt, dass das redundante System bildende Computermodule im Verlauf der Zeit kontinuierlich verloren gehen. Auch weisen die Ausführungsformen mehr redundante Computermodule zu, wenn ein Task mit hoher Bedeutung hohe Zuverlässigkeit aufweisen muss, so dass die Abdeckung von Fehlererkennungen erhöht werden kann.
  • E. ZEITLICHE MITTELUNG, UM DIE STABILITÄT ZU ERHÖHEN
  • Die Systemstabilität kann dadurch weiter erhöht werden, dass die in der 32 dargestellte Ausführungsform zu denen in den 20 bis 31 hinzugefügt wird.
  • Die 32 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform zum zeitlichen Mitteln von Lrj oder Pe während die Bewertungsfunktion Fij berechnet wird.
  • Die Ausführungsformen in den 20 bis 31 können dafür sorgen, dass das Computermodul die Ausführung des Tasks j startet, um im Computermodul i mit dem höchsten Wert Lthij, oder das die höchste Zuständigkeit für den Task j hat, unter den den Task k ausführenden Computermodulen die Bedingungen Fij < Fik aufrechtzuerhalten, wenn in den den Task j ausführenden Computermodulen ein Fehler auftritt. Dadurch kann der Zuverlässigkeitsgrad des Tasks j so gehalten werden, wie es durch eine durchgezogene Linie a in der 33 dargestellt ist. Selbst wenn das Computermodul bei dieser Operation fehlerhaft arbeitet, existieren keine Computermodulen, um die Ausführung des Tasks neu zu starten. Das führt dazu, dass der Zuverlässigkeitsgrad für den Task niedrig bleibt, wie es durch die gestrichelte Linie b in der 33 dargestellt ist. Anders gesagt, beeinflusst ein Fehler im Computermodul i Ergebnisse der Verwaltung von Redundanzressourcen, was die Systemstabilität senkt.
  • Um dieses Problem zu überwinden, sollte, wie es in der 32 dargestellt ist, Lrj oder Pej innerhalb einer Zeitperiode gemittelt werden während die Bewertungsfunktion Fij berechnet wird. Dadurch kann Fij im Verlauf der Zeit allmählich kleiner werden, wie es durch die durchgezogene Linie in der 34 dargestellt ist. Wenn ein Computermodul i mit der höchsten Zuständigkeit für den Task j existiert, wie es durch die gestrichelte Linie a in der 34 dargestellt ist, kann dieses Computermodul i die Ausführung des Tasks j zu einem Zeitpunkt t1 starten, um dadurch den Wert von Fij wieder herzustellen. Wenn kein Computermodul i existiert, jedoch ein Computermodul i', das die zweithöchste Zuständigkeit für den Task j hat, wie es durch die gestrichelte Linie b in der 34 dargestellt ist, kann das Computermodul i' die Ausführung des Tasks j zu einem Zeitpunkt t2 starten, um dadurch den Wert von Fij wiederherzustellen. Wenn weder ein Computermodul i noch ein Computermodul i' existiert, jedoch ein Computermodul i", das die dritthöchste Zuständigkeit für den Task j hat, wie es durch eine gestrichelte Linie c in de 34 dargestellt ist, kann das Computermodul i" die Ausführung des Tasks j zu einem Zeitpunkt t3 starten, um dadurch den Wert von Fij wieder herzustellen.
  • Zu Verfahren zum zeitlichen Mitteln von Lrj oder Pe gehören:
    • (1) ein Verfahren zur Bewegungsmittelung und
    • (2) ein Verfahren zur Verwendung der K'-ten Verzögerung mit der Übertragungsfunktion G(s) = 1/(1 + Ts)^K.
  • Die Ausführungsform verfügt über die vorteilhafte Fähigkeit, die Fehlertoleranz des Verfahrens mit toleranten Ressourcen selbst zu erhöhen. Der Vorteil wird dadurch bewerkstelligt, dass dafür gesorgt werden kann, dass spezielle Computermodule mit hohen Zuständigkeiten für den Task den Effekt auf die Ergebnisse der Verwaltung der Redundanzressourcen verringern.
  • F. VERRINGERUNG DES UMFANGS VON KOMMUNIKATIONS- UND RECHENVORGÄNGEN
  • Die 35 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen einer Ausführungsform der Erfindung zum Lindern des Anstiegs des Umfangs von Kommunikationsvorgängen zwischen den Computermodulen 1101 bis 110m und Rechenvorgängen für die Bewertungsfunktionen. Bei den in den 20 bis 34 beschriebenen Ausführungsformen ist es erforderlich, Ncom{= m(m – 1)} Kommunika tionsvorgängen auszuführen, so dass das eigene Computermodul seine Fehlererkennungssituation allen anderen Computermodulen mitteilen, oder an diese im Rundruf senden, muss. Dies erhöht den Umfang von Kommunikationsvorgängen in starkem Ausmaß. Um ein solches Problem zu lösen, wird, wie es in der 35 dargestellt ist, die Bewertungsfunktion-Fehlererfassungssituation normalerweise nur dem denselben Task ausführenden Computermodul mitgeteilt. Nur wenn sich die Bewertungsfunktion Fij ändert, wird dies an alle anderen Computermodule mitgeteilt. Als Beispiel sei ein Vorgang untersucht, bei dem die Computermodule 1 bis 3 den Task 1 ausführen, während das Computermodul i den Task 2 ausführt. Ein Steuerungsrahmen 1 finde keinerlei Anormalität in den Computermodulen 1 bis 3. Eine Kommunikation erfolgt nur zwischen den Computermodulen 1 bis 3. Andererseits sei ein Fall untersucht, bei dem ein Steuerungsrahmen 2 einen Fehler im Computermodul 3 auffindet. Die erste Kommunikation erfolgt zwischen den Computermodulen 1 bis 3. Die auf Grundlage der durch die Kommunikation ausgetauschten Fehlererfassungsinformation berechnete Bewertungsfunktion Fij ist kleiner als die Vorige (Steuerungsrahmen 1), da der Fehler i im Computermodul 3, das still ist, auftrat. Daher folgt der Steuerungsrahmen 2 auf den zweiten Kommunikationsvorgang, um das Computermodul i darüber zu informieren, dass die Bewertungsfunktion Fij kleiner wurde. Das Computermodul i nimmt eine Beurteilung dahingehend vor, ob es selbst an der Ausführung des Tasks 1 teilnehmen sollte oder nicht. Wenn dies der Fall ist, hält es die Ausführung des Tasks 2 an, bevor es den Task 1 ausführt.
  • Die Anzahl der Kommunikationsvorgänge zwischen den Computermodulen beim Beispiel ist wie folgt gegeben:
    Figure 00390001
    wobei Nij die Anzahl der den Task j ausführenden Computermodule ist. In der Gl. 15 gilt:
  • Figure 00390002
  • Die Anzahl der Kommunikationsvorgänge beim Beispiel wird Ncom' Ncom/n, was nahe bei 1/n liegt.
  • Die 36 zeigt ein Flussdiagramm zum Veranschaulichen einer Beurteilung dahingehend, ob eine Rundübertragung an alle Computermodule der Ausführungsform in der 35 erfolgen sollte. Als Erstes tauschen, in einem Schritt 302, die denselben Task ausführenden Computermodule die Fehlererfassungsinformation untereinander aus. In einem Schritt 300' werden die Bewertungsfunktionen Fij auf Grundlage des Informationsaustauschs berechnet. Es ist zu beachten, dass die Rechenvorgänge für die Bewertungsfunktionen Fij im Schritt 300' für die denselben Task ausführenden Computermodule gelten. Dies ist verschieden von denjenigen für alle Computermodule im Schritt 300 in den 26, 28 und 37. Der Schritt 300' für Berechnungen der Bewertungsfunktionen Fij sollte Fij nur entsprechend der Anzahl von Malen (0 (m/n)) der dieselben Tasks ausführenden Computermodule berechnen, während der Schritt 300 für Berechnungen der Bewertungsfunktionen Fij die Werte Fij m mal berechnen muss. Dies bedeutet, dass der Umfang der Berechnungen auf nahezu 1/n verringert werden kann. Nach den Berechnungen der Bewertungsfunktionen Fij im Schritt 300' werden in einem Schritt 303 die aktuellen Werte von Fij mit den vorigen von Fijold verglichen. Wenn sie nicht gleich sind, wird in einem Schrit 304 die Fehlerinformation im Rundruf an alle Computermodule gesendet. Schließlich werden in einem Schritt 305 die aktuellen Werte der Bewertungsfunktionen Fij in Variablen Fijold gespeichert, um die Vorbereitung für das nächste Mal zu treffen.
  • Andererseits beurteilen die Computermodule, die die Rundmitteilung empfangen haben, wie es in der 37 dargestellt ist, in einem Schritt 306, ob die Rundübertragung für alle Bereiche gilt oder nicht. Nur wenn sie für alle Bereiche gilt, geht der Schritt zur Beurteilung in der 26 oder 28 über.
  • G. ANWENDUNG BEI EINEM ADAPTIVEN REGELUNGSSYSTEM
  • Die 38 zeigt ein Blockdiagramm zum Veranschaulichen einer Ausführungsform der Erfindung zur Anwendung bei einem adaptiven Regelungssystem. Bei dieser Ausführungsform misst ein Sensor 9 eine physikalische Größe eines geregelten Systems 8. Ein Zustandsbetrachter 16 betrachtet den Zustand des geregelten Systems 8, oder schätzt ihn ab. Auf Grundlage des beobachteten Zustands führt er dann eine Rückkopplung über einen Regler 17 mit angemessenen Regelungseigenschaften und ein Stellglied 7 an das geregelte System 8 aus. Die oben beschriebene Ausführungsform ist eine typische Konfiguration eines Regelungssystems mit Rückführung des Zustands auf Grundlage der Modemregelungstheorie.
  • Ferner zeigt eine Eigenschaftsanzeigeeinheit 18 für das geregelte System Eigenschaften des geregelten Systems 8, einschließlich des Sensors 9 und des Stellglieds 7, hinsichtlich in den Sensor 9 und das Stellglied 7 eingegebenen Signalen an. Eine Entwurfseinheit 19 für optimale Regelung berechnet Parameter für den Regler 17, die optimal sind, um eine Regelung hinsichtlich der Erkennungsergebnisse betreffend die Eigenschaften des geregelten Systems 8 auszuführen. Die Entwurfseinheit 19 stellt dann die Parameter für den Regler 17 auf die optimalen Werte ein. Das oben beschriebene adaptive Regelungssystem kann die Regelungseigenschaften verbessern. Insbesondere ist das System als optimal bekannt, um ein geregeltes System zu steuern, dessen Eigenschaften sich ersichtlich abhängig von der Höhe und der Geschwindigkeit ändern, wobei in linear angenähertes Regelungssystem mit nichtlinearen aerodynamischen Eigenschaften vorliegt, wie bei Flugzeugen und einem Raumshuttle. Ferner erkennt das Regelungssystem, selbst dann, wenn im geregelten System 8, im Sensor 9 oder im Stellglied 7 ein Fehler auftritt, eine Eigenschaftsänderung des geregelten Systems. Immer dann, wenn dies auftritt, kann das Regelungssystem den optimalen Parameter für den Regler 17 so einstellen, dass eine Eigenschaftsbeeinträchtigung auf Grund eines Fehlers des geregelten Systems kompensiert werden kann. Im Allgemeinen sind bei Regelungssystemen, für die hohe Zuverlässigkeit gefordert ist, die Stellglieder doppelt ausgeführt. Bei einem Flugzeug z. B. sind die Regelungsoberfläche, einschließlich eines Höhen- und eines Seitenruders, sowie der Schubgenerator redundant ausgeführt, damit das Flugzeug selbst dann ohne Schwierigkeiten fliegen kann, wenn Teile derselben funktionsunfähig sind. Wenn jedoch Teile der redundant ausgeführten Stellglieder funktionsunfähig werden, nehmen die durch die Stellglieder erzielten Verstärkungen entsprechend ab. Dies bedeutet, dass die Regelungseigenschaften des gesamten Systems beeinträchtigt sind. In einigen Fällen weisen geregelte Werte Wechselwirkungen auf. Dies erschwert eine Regelung durch manuelle Operationen sehr. Um dieses Problem zu lösen, verfügt das adaptive Regelungssystem der Ausführungsform über die Eigenschaftenerkennungseinheit 18 zum Erkennen einer Verstärkungsabnahme des Stellglieds 7. Die Entwurfseinheit 7 für optimale Regelung legt die optimalen Parameter für den Regler 17 fest. Dadurch kann eine Beeinträchtigung der Regelungseigenschaften kompensiert werden.
  • Die Anwendung der Erfindung beim adaptiven Regelungssystem der Ausführungsform wird auf die folgende Weise realisiert. Der Zustandsbetrachter 16 und der Regler 17 bestehen aus einem Task 1 oder einer Taskgruppe 1. Die Eigenschaftenerkennungseinheit 18 für das geregelte System und die Entwurfsein heit 19 für die optimale Regelung bestehen aus einem Task 2 oder einer Taskgruppe 2. Die Einstellung ist die Folgende: Lth11 > Lth21 > Lth31 > Lth41 > Lth51und Lth12 < Lth22 < Lth32 < Lth42 < Lth52und Lth11 > Lth52 und Lth21 > Lth42und Lth31 > Lth32 und Lth41 > Lth22 und Lth51 > Lth11
  • Wenn kein Computermodul zum Ausführen des Tasks 2 oder der Taskgruppe 2 existiert, wird eine Tabelle von Zahlen vorab erstellt, um die Parameter für den Regler 17 einzustellen. Die 39 zeigt eine Tabelle, um zu veranschaulichen, wie die Ausführungsform die Redundanzressourcen verwalten kann. Als Erstes sind fünf Computermodule normal, wobei drei Computermodule dem Task 1 oder Taskgruppe 1 zugeordnet sind und zwei Computermodule dem Task 2 oder der Taskgruppe 2 zugeordnet sind. Wenn ein Computermodul funktionsunfähig wird, so dass vier normale Computermodule verbleiben, werden zwei Computermodul dem Task 1 oder der Taskgruppe 1 zugeordnet, und zwei Computermodule werden dem Task 2 oder der Taskgruppe 2 zugeordnet. Wenn zwei Computermodule funktionsunfähig werden, wodurch drei normale Computermodule verbleiben, werden zwei Computermodule dem Task 1 oder der Taskgruppe 1 zugewiesen und ein Computermodul wird dem Task 2 oder der Taskgruppe 2 zugewiesen. Wenn drei Computermodule funktionsunfähig werden, wodurch zwei normale Computermodule verbleiben, werden zwei Computermodule dem Task 1 oder der Taskgruppe 1 zugewiesen, und dem Task 2 oder der Taskgruppe 2 wird kein Computermodul zugewiesen. Alternativ wird die vorab erstellte Zahlentabelle dazu verwendet, die Parameter für den Regler 17 so einzustellen, dass die Regelung fortgesetzt wird.
  • Wie oben beschrieben, kann die Ausführungsform ein Regelungssystem konfigurieren, das nicht nur einen Fehler von Computermodulen zulassen kann, sondern auch einen solchen des geregelten Systems. Dieser Vorteil kann die Zuverlässigkeit des gesamten Regelungssystems erhöhen.
  • Die 40, 41 und 42 zeigen einen Querschnitt, einen Längsschnitt bzw. ein Schaltbild zum Veranschaulichen eines Servomotorsystems mit Merkmalen einer Ausgabesignalauswahl und einer Mehrheitsentscheidung als einer Ausführungsform der Erfindung. Das Servomotorsystem sorgt für die beiden Ei genschaften der Ausgabesignal-Selektorschaltungen 151 bis 15i und der Ausgabeeinheiten 171 bis 17λ in der 20. Der Servomotor bei der Ausführungsform, wie er in der 40 dargestellt ist, verfügt über mehrere Ankerwicklungen 7041 bis 704m, die auf einer einzelnen Welle 701 in einem Gehäuse 708 vorhanden sind. Der Servomotor verfügt auch über mehrere Feldwicklungen 7031 bis 703m, die den Ankerwicklungen entsprechen und diesen zugewandt sind. In der 41 ist eine Schnittansicht entlang A-A' in der 40 dargestellt. Das Abtriebs-Drehmoment des Servomotors ist wie folgt gegeben:
    Figure 00430001
    wobei Ifi ein durch die Feldwicklung 703 fließender Strom ist, Iai ein durch die Ankerwicklung 704i fließender Strom ist und K ein Proportionalitätskoeffizient ist.
  • Wenn alle Ifi konstant gemacht sind, gilt
    Figure 00430002
    wobei K' ein K × Ifi entsprechender Proportionalitätskoeffizient ist. Wenn Ifi eingegeben wird, ist es möglich, eine Operation ähnlich einer Mehrheitsentscheidung auszuführen (nachfolgend als Mehrheits-Paraentscheidung bezeichnet). Wenn dafür gesorgt wird, dass jeder Wert Ifi proportional zur Zuverlässigkeit des Eingabesignals Iai ist, kann eine gewichtete Mehrheits-Paraentscheidung vorgenommen werden, wie sie durch die Gl. 17 angegeben ist. Die 42 zeigt ein Schaltbild zum Veranschaulichen einer Schaltung, um die gewichtete Mehrheits-Paraentscheidung unter Verwendung des Servomotorsystems mit der Mehrheits-Paraentscheidung in den 40 und 41 zu treffen. Die in der Figur dargestellten Schaltungen dienen zum Bereitstellen der Fähigkeiten der Ausgabesignal-Selektorschaltung 151 und der Ausgabeeinheit 171 in der 20. Dieselben Schaltungen werden für diejenigen der Ausgabesignal-Selektorschaltungen 152 bis 15λ und der Ausgabeeinheiten 172 bis 17λ verwendet. An die Ankerwicklungen 7041 bis 704m und die Feldwicklungen 7031 bis 703m werden Ströme proportional zu den Signalen 31-1 bis 3m-1 und den Auswähl-Steuersignalen 41-1 bis 4m-1 von den Computermodulen 1101 bis 110m über jeweilige Regelungsverstärker geliefert. Durch ein derartiges Schema kann die Mehrheitsentscheidung für die Signale 31-1 bis 3m-1 von den Computermodulen 1101 bis 110m getroffen werden, die gemäß den Auswähl-Steuersignalen 41-1 bis 4m-1 als normal angesehen werden. Ferner können die Regelungsverstärker, die Ankerwicklungen 7041 bis 704m und die Feldwicklungen 7031 bis 703m gemultiplext werden, um eine Fehlfunktion des Systems auf Grund einer Schwierigkeit der Regelungsverstärker oder eines Kurzschlusses oder einer Unterbrechung von Leitungen zu verhindern, um dadurch die Zuverlässigkeit des Servomotorsystems zu erhöhen.
  • Auch können die Auswähl-Steuersignale 41-1 bis 4m-1 entsprechend den Zuverlässigkeiten der Computermodule mehrwertig sein, einschließlich der zwei Werte ein und aus, um die gewichtete Mehrheits-Paraentscheidung zu realisieren. Die 43 zeigt ein Blockdiagramm zum Veranschaulichen einer Systemkonfiguration zur Verwendung für die Servomotorsysteme. Ein derartiges System kann dadurch realisiert werden, dass die Ausgabesignal-Selektorschaltungen 151 bis 15λ und die Ausgabeeinheiten 171 bis 17λ in der 20 durch die jeweiligen Servosystemmotore 7001 bis 700λ ersetzt werden. Wie oben beschrieben, zeigt die Ausführungsform den Vorteil, dass die gesamte Systemkonfiguration vereinfacht werden kann, kleiner ausgeführt werden kann und die Anzahl der Bauelemente gesenkt werden kann, um die Zuverlässigkeit zu erhöhen, da das Servomotorsystem die Merkmale der Ausgabesignal-Selektorschaltungen 151 bis 15λ und der Ausgabeeinheiten 171 bis 17λ in der 20 realisieren kann. Es ist erkennbar, dass Ifi und Iai in der 17 gegeneinande ausgetauscht werden können. Daher kann derselbe Effekt selbst dann erzielt werden, wenn der Strom proportional zu den Signalen 31-1 bis 3m-1 von den Computermodulen 1101 bis 110m an die Feldwicklungen 7031 bis 703m geliefert werden und die Auswähl-Steuersignale 41-1 bis 4m-1 jeweils an die Ankerwicklungen 7041 bis 704m geliefert werden.
  • Durch die oben beschriebene Ausführungsform der Erfindung können die Verarbeitungs-Leistungsfähigkeit durch Redundanzressourcen und die Zuverlässigkeit erhöht werden, da eine angemessene Anzahl von Redundanzressourcen entsprechend den für die Tasks erforderlichen Zuverlässigkeitsgraden zugewiesen werden kann.
  • Ferner kann, wenn die Erfindung bei einem adaptiven Regelungssystem angewandt wird, durch die Ausführungsform ein Regelungssystem konfiguriert werden, das nicht nur einen Fehler der Computermodule zulässt, sondern auch einen solchen des geregelten Systems. Durch diesen Vorteil kann die Zuverlässigkeit des gesamten Regelungsystems erhöht werden.
  • 3. Vielfalten
  • Diese Ausführungsformen sollen jeweils die im Kapitel 1 genannten Selbstprüfungslogiken substanziiert veranschaulichen.
  • Ferner kann durch Verwenden von als Vielfalten bezeichneten Maßnahmen, wie sie unten angegeben werden, verhindert werden, dass Fehler, wie sie in irgendeinem von zumindest doppelt ausgeführten Funktionsblöcken zu erfassen sind, den anderen Funktionsblock beeinflussen, wodurch die Effektivität der Ausführungsformen verbessert wird. Das unten erläuterte Verfahren zum Substanziieren derartiger Vielfalten kann mit der Selbstprüfungs-Vergleichsschaltung 217 kombiniert werden, wie sie in der japanischen Patentoffenlegung Nr. 27664/1994 angegeben ist und im vorigen Kapitel beschrieben ist, um auf effektive Weise eine Selbstprüfungs-Logikschaltung oder ein Selbstprüfungssystem zu realisieren. Selbstverständlich kann auch eine Kombination mit anderen Techniken zum Aufbauen eines Systems hoher Zuverlässigkeit erfolgen, wie mit einem Selbstprüfungssystem, einem fehlertoleranten System, einem fehlersicheren System usw.
  • (1) Designvielfalt
  • Die Designvielfalt ist eine Maßnahme, die effektiv ist, um den Einfluss durch Designs hergerufenen Fehlern zu beseitigen. Insbesondere ist eine Programmierung in N Versionen für Software gut bekannt. Eine Programmierung in N Versionen ist ein Verfahren zum Ausführen von N Versionen eines Programms, die gleichzeitig mit denselben Spezifikationen entwickelt werden. Auch im Fall von Hardware kann diese Designvielfalt dadurch realisiert werden, dass Schaltungen mit denselben Spezifikationen auf N Arten entwickelt werden. Gemäß dem oben genannten Verfahren müssen jedoch die Prozesse und Ausgaben N mal im Vergleich zu einem normalen Verfahren für Design und Entwicklung aufgebracht werden. So ist dies nicht sehr effektiv. Um die Anzahl der Prozesse und die Ausgaben beim Entwerfen von Hardware zu verringern, wird daher bei der Erfindung das folgende Verfahren verwendet.
  • Wie es in der 44 dargestellt ist, besteht die Hauptströmung zum Entwerfen von Modemhardware in der Verwendung von HDL (Hardware Description Language) um als Erstes eine Datei (Logikbeschreibung) 300 zu erzeugen, die die Funktionen und Spezifikationen der betreffenden Logikschaltungen beschreibt, und dann eine andere Datei (Logiknetzliste) 320 zu erzeugen, die die Verbindungen dieser Logikschaltungen beschreibt, wobei ein Logiksynthe se-Werkzeug 210 verwendet wird und die Vorgänge auf Grundlage der Logikbeschreibung 300 erfolgen. Außerdem wird die genannte Logiknetzliste-Datei 320 in eine (physikalische Netzliste) Datei 340 gewandelt, die die Leiterbahnen und das Layout von Transistoren auf einem tatsächlichen Halbleiterchip beschreibt, wozu ein Werkzeug für automatische Leiterbahnerstellung verwendet wird, um die erforderlichen Masken zu erzeugen und Halbleiterelemente (350) herzustellen.
  • In diesem Fall können die Designvorgaben wie die Verzögerungszeit, die Belegungsfläche usw. sowie der Grundalgorithmus zur Logiksynthese und für automatische Leiterbahnerstellung geändert werden, um die das Ziel bildenden Logiknetzlisten 320 bis 32n und die physikalischen Netzlisten 340 bis 34n zu diversifizieren, wie es in der 45 dargestellt ist.
  • Demgemäß werden die genannten doppelt ausgeführten Funktionsblöcke A110 und B111 im betreffenden Halbleiterchip auf Grundlage der Logikbeschreibung der Logikblöcke dadurch realisiert, dass unter den genannten diversifizierten mehreren physikalischen Netzlisten zwei physikalische Netzlisten ausgewählt werden.
  • Um aus vielen physikalischen Netzlisten zwei auszuwählen, ist es, wie es in der 46 dargestellt ist, nur erforderlich, eine Korrelationsfunktion zu definieren, die anzeigt, wieviele dieser physikalischen Netzlisten einander ähneln, und die Korrelation zwischen ihnen aufzufinden (Prozedur 360) und eine Kombination der physikalischen Netzlisten so auszuwählen (Prozedur 370), das die Korrelationsfunktion minimiert ist. In diesem Fall müssen Fehlereigenschaften des Halbleiters in der Korrelationsfunktion berücksichtigt werden. Im Allgemeinen zeigt sich eine Leitungsschnittstelle als schwacher Punkt von Halbleitern. An einer Leitungsschnittstelle sind zwei Leiterbahnen nur durch einen dünnen Oxidfilm getrennt, so dass die Tendenz besteht, dass Kurzschlüsse zwischen Leiterbahnen und Mängel wie Übersprechen usw. auftreten. Ferner wird, da eine Leiterbahn an einer derartigen Leitungsschnittstelle eine andere Leiterbahn überkreuzt, die auf einem anderen Niveau liegende Leiterbahn häufig durch Belastungen durchgetrennt. Anders gesagt, beeinflusst der Zustand der Schnittstelle zwischen den Leiterbahnen die Fehlereigenschaften von Halbleitern. Eine Korrelationsfunktion, in der sich die Fehlereigenschaften des Halbleiters widerspiegeln, kann so durch die Formel 1 definiert werden.
  • Jedoch muss der Wert Φijk anzeigen, ob zwischen Leiterbahnnetzen eine Schnittstelle existiert, und er muss durch die Formel 2 definiert sein.
  • (2) Zeitliche Vielfalt
  • Es kann verhindert werden, dass Fehler, die auf Grund elektrischer Störsignale usw. in irgendeinem der genannten zumindest doppelt ausgeführten Funktionsblöcke auftreten, den anderen Funktionsblock beeinflussen, und zwar selbst dann, wenn beide Funktionsblöcke auf dieselbe Weise entworfen sind, wenn die Zeitpunkte ihrer Betriebsvorgänge individuell vorzögert werden.
  • Die 23, 24 und 25 zeigen Ausführungsformen eines Systems zum Realisieren einer derartigen zeitlichen Vielfalt. Bei der in der 23 dargestellten Ausführungsform wird nur das Taktsignal 401 in den einen Funktionsblock B111 der doppelt ausgeführten Funktionsblöcke über die Verzögerungsschaltung 420 eingegeben, damit eine Verzögerungszeit (Verzögerung T) zum Verzögern des Operationszeitpunkts eingestellt wird. In diesem Fall wird das Ausgabesignal 431 vom Funktionsblock B111 um eine bestimmte Zeitperiode (Verzögerung T) gegenüber dem Ausgabesignal 430 vom Funktionsblock A110 verzögert. So wird das Ausgabesignal 430 vom Funktionsblock A110 unter Verwendung der Verzögerungsschaltung 421 um eine bestimmte Zeit (Verzögerung T) verzögert, so dass die Ausgabesignale 430 und 431 in der Vergleichsschaltung 217 verglichen werden. Bei dieser Ausführungsform kann verhindert werden, da die Funktionsblöcke A110 und B111 mit voneinander verschiedenen Timing betrieben werden können, dass Fehlfunktionen, zu denen es durch Energieversorgungsstörungen usw. kommt, gleichzeitig in beiden Funktionsblöcken A110 nd B111 auftreten. Dies erlaubt es, eine perfekte Selbstprüfungslogik dadurch zu realisieren, dass ein Funktionsblock doppelt ausgeführt wird und die Ausgabesignale von beiden der zumindest doppelt ausgeführten Funktionsblöcke verglichen werden.
  • Wenn in die doppelt ausgeführten Funktionsblöcke A110 und B111 Signale 400 und 410 einzugeben sind, ist es möglich, nur das Signal 401 über die Verzögerungsschaltung 420, die auf eine Verzögerungszeit (Verzögerung T) eingestellt ist, wie es in der 24 dargestellt ist, in den Funktionsblock B111 einzugeben.
  • Bei diese Ausführungsform kann jede beliebige Verzögerungszeit (Verzögerung T) ausgewählt werden, jedoch sollte die Verzögerungszeit (Verzögerung T) so groß wie möglich sein, um die Korrelation von Fehlern zwischen den Funktionsblöcken A110 und B111 zu minimieren. Um den Betrieb und die Erkennung von Fehlern zu beschleunigen, sollte jedoch die Verzögerungszeit (Verzögerung T) so klein wie möglich sein. Außerdem sollte die Verzögerungszeit (Verzögerung T) wie folgt eingestellt werden, um den wechselseitigen Einfluss von Störungen zwischen den Funktionsblöcken A110 und B111 zu minimieren, wobei die Spannungsverstörungsstörungen berücksichtigt werden, die in einer digitalen Schaltung synchron mit Taktsignalen erzeugt werden: Verzögerung T = N + 1/2 [Taktsignalzyklus] N = 0, 1, ...
  • Um beiden Bedingungen (Einfluss durch Störsignale und Betriebsgeschwindigkeit) zu genügen, ergibt es sich dadurch, dass die geeignetste Verzögerungszeit (Verzögerung T) den Wert 1/2 [des Taktsignalzyklus] hat.
  • Die 25 zeigt eine Ausführungsform der Erfindung, bei der die Verzögerungszeit (Verzögerung T) auf 1/2 [des Taktsignalzyklus] eingestellt ist. Das ursprüngliche Taktsignale 403 verfügt über eine Frequenz, die die doppelte derjenigen der Taktsignale 400 und 401 der doppelt ausgeführten Funktionsblöcke A110 und B111 hat, wird im Flipflop 441 geteilt, um zu den Taktsignalen 400 und 401 zu werden, deren Phasen um 180°, d. h. 1/2 [des Taktsignalzyklus] gegeneinander verschoben sind. Dann werden sie getrennt in die Funktionsblöcke A110 und B111 eingegeben. Eingangssignale INsync und INasync werden ohne Verzögerung in den Funktionsblock A110 eingegeben. Dann werden sie nach einer Verzögerung um 1/2 [des Taktsignalzyklus] in den Flipflops 444 und 445 (entsprechend der Verzögerungsschaltung 422) in den Funktionsblock B111 eingegeben.
  • Das Eingabesignal INsync ist mit dem Taktsignal 400 synchronisiert. Das Eingabesignal INasync ist mit dem Taktsignal 400 nicht synchronisiert. Anders gesagt, ist es ein asynchrones Eingabesignal. Das Signal INasync ist mit dem Taktsignal 400 in den Flipflops 442 und 443 synchronisiert. Das Ausgabesignal 430 des Funktionsblocks A110 wird im Flipflop 446 (entsprechend der Verzögerungsschaltung 421) um 1/2 [des Taktsignalzyklus] verzögert und in der Vergleichsschaltung 217 mit dem Ausgabesignal 431 des Funktionsblocks B111 verglichen.
  • (3) Räumliche Vielfalt
  • Wenn einer der doppelt ausgeführten Funktionsblöcke vom anderen getrennt ist, wird es möglich, zu verhindern, dass vorübergehende Fehler, wie sie in einem der doppelt ausgeführten Funktionsblöcke auf Grund elektrischer Störsignale, kosmischer Strahlung usw. und auch auf Grund von Schäden des betroffenen Halbleiterchips auftreten, einander beeinflussen. Wenn ein Funktionsblock in einem Chip als A110 und B111 doppelt ausgeführt ist und jeder für sich geprüft wird, sollten die doppelt ausgeführten Funktionsblöcke A110 und B111 in derselben Richtung und mit demselben Muster angeordnet sein, wie es in der 26 dargestellt ist, um die Effektivität der räumlichen Vielfalt zu maximieren. So können die entsprechenden Abschnitte der doppelt ausgeführten Funktionsblöcke übermäßig dicht beieinander liegen, um die Effektivität der räumlichen Vielfalt zu beeinträchtigen.
  • Bei dieser Ausführungsform sind die Vergleichsschaltungen 30 is 3n zum Vergleichen von Ausgabesignalen, der Bereich 0 (200) mit einem integrierten Schaltkreis 5, die Generatorschaltungen 100 und 101 für orthogonale Signalverläufe, die Permutatoren 80 bis 8n sowie 90 bis 9n, die Latchstufen 120 und 121 symmetrisch angeordnet, so dass ihre Leiterbahnen kurzgeschlossen werden können und Leiterbahn-Schnittstellen verringert sein können, um Durchgängigkeit zu gewährleisten. Bei einer derartigen symmetrischen Anordnung von Schaltungen liegen die Ausgänge a0'–an' und b0'–bn' von den Funktionsblöcken A110 und B111 im Bereich 0 (200) am dichtesten. Da jedoch jede orthogonale Signalverlauf auf einem anderen platziert ist, um die Korrelation zwischen den Signalverläufen zu beseitigen, können Fehler durch Kurzschlüsse usw. verhindert werden. Gemäß dieser Ausführungsform kann die Effektivität der räumlichen Vielfalt dazu angewandt werden, Fehler in einem von doppelt ausgeführten Funktionsblöcken gegenüber dem anderen zu isolieren, um die Durchgängigkeit der Leiterbahn zu gewährleisten, wodurch die Selbstprüfungsfunktion (Fehlererkennungsrate und Erkennungsabdeckung) verbessert werden kann, um Selbstprüfungs-Logikschaltungen kleiner Abmessungen zu realisieren.
  • Durch die Erfindung kann ein neues Verfahren geschaffen werden, das die genannte Fehlersicherheitsfunktion so gewährleistet, dass selbst eine falsche Signatur gemeistert werden kann, wie sie durch einen Kurzschluss verursacht wird. Es ist keine spezielle Vorgabe erforderlich, um gemäß der Erfindung fehlersichere Logikschaltungen zu realisieren. Außerdem können auch existierende Halbleitertechniken, Entwurfs-Automatisierungswerkzeuge usw. effektiv genutzt werden, um die Kosten und die Zeit der Entwicklung deutlich zu senken.
  • 1) Übersetzung von nach Bezugszeichen geordnetem Beschriftungstext
  • 5
    Integrierter Schaltkreis
    6
    Signatur-Ausgabesignal
    7
    Stellglied
    8
    Geregeltes System
    9
    Sensor
    10i
    Computermodul
    11
    Kommunikationspfad
    12i
    Task ausführen, mitteln
    13
    Fehlerdatensammlung
    14i
    Beurteilung
    15i
    Taskschalter
    16
    Zustandsbeobachter
    17
    Regler
    18
    Einheit zum Erkennen von Eigenschaften des geregelten Systems
    19
    Entwurfseinheit für einen optimalen Regler
    21-2h
    Eingabeeinheit
    22i
    Kommunikationsschnittstelle
    23i
    Ausgabe-I/F
    24i
    Auswählsteuersignal-Schnittstelle
    30–3n
    Vergleichsschaltung
    60
    Signatur-Ausgabesignal
    61
    Signatur-Ausgabesignal
    80–8n, 90–9n
    Permutator
    100
    Generatorschaltung für orthogonale Signalverläufe
    101
    Generatorschaltung für orthogonale Signalverläufe
    110
    Funktionsblock A
    111
    Funktionsblock B
    120, 121
    Latchstufe
    171–17i
    Ausgabeeinheit
    203, 203'
    Selbstprüfungscomputer
    204,205
    Schnittstelle für externen Bus
    206, 206'
    Externer Bus
    208
    Schaltsteuerschaltung
    212, 213
    Signaturüberwachungsschaltung
    214, 215
    Überwachungsergebnis
    216
    Beurteilungslogik
    217
    Komparator
    300
    Logikbeschreibung
    310
    Automatisches Logiksynthesewerkzeug
    320
    Logiknetzliste
    330
    Automatisches Leiterbahnwerkzeug
    340
    Physikalische Netzliste
    360
    Erhalten einer Korrelation in der physikalischen Netzliste
    370
    Auswählen eines Satzes mit minimaler Korrelation
    420, 421, 422
    Verzögerungsschaltung
    701
    Welle
    702
    Gehäuse
    1101–110m
    Computermodul
    7001–700i
    Servomotorsystem
    7031–703m
    Feldwicklung
    7041–704m
    Anker
  • 2) Übersetzung von nach Verfahrensschritten geordnetem Beschriftungstext
  • 300, 300'
    Berechnen der Bewertungsfunktion Fij
    302
    Austausch von Fehlerdaten zwischen denselben taskausführenden Computermodulen
    304
    Fehlerdaten in allen Bereichen im Rundruf übermitteln
    306
    Fehlerdaten in allen Bereichen im Rundruf übermittelt?
  • 3) Übersetzung von alphabetisch geordnetem Beschriftungstext
    • ADC//A/C-Wandler
    • Area//Bereich
    • Averaging//Mittelung
    • Blind sector//Blinder Sektor
    • Calculation of evaluation function Fij//Berechnung der Bewertungsfunktion Fij
    • Collection of history data execute setup of task j//Sammlung von Verlaufsdaten; Ausführen der Erstellung des Tasks j
    • CMP//Komparator
    • Control by table of number//Steuerung durch Anzahltabelle
    • End//Ende
    • End task k//Task k beenden
    • Fault//Fehler
    • Fault occurence//Auftreten eines Fehlers
    • Frame//Rahmen
    • Function block//Funktionsblock
    • Input//Eingabe
    • INTC//Interruptcontroller
    • Interrupt signal, etc.//Interruptsignal usw.
    • Output//Ausgabe
    • MPU//Mikroprozessoreinheit
    • Number of normal computer modules//Anzahl normaler Computermodule
    • RDV//Rendezvous- & Synchronisierschaltung
    • Servo amplifier//Regelungsverstärker
    • Set up start of task j//Start für den Task j besorgen
    • Start task j//Task j starten
    • Stop//Stopp
    • Task executed by computer module//Vom Computermodul ausgeführter Task
    • Time//Zeit
    • TMR//Timer
    • WDT//Watchdogtimer
    • Wiring//Leiterbahn

Claims (12)

  1. Redundanzlogikschaltung oder System mit Funktionsblöcken (A110; B111), die mit einer identischen Funktion ausgestattet und wenigstens dualisiert sind, wobei, wenn eine automatische logische Synthese oder eine automatische Verdrahtung für die wenigstens dualisierten Funktionsblöcke (A110; B111) durchgeführt wird, N Logikwege oder Verdrahtungsmuster, wobei N eine ganze Zahl größer oder gleich 2 ist, gemäß einer nach Bedarf veränderbaren Designvorgabe erzeugt werden und wenigstens zwei Logikwege oder Verdrahtungsmuster von den wenigstens zwei erzeugten Logikwegen oder Verdrahtungsmustern ausgewählt werden, um die identischen Funktionen der Funktionsblöcke (A110; B111) gemäß der Beschreibung der Hardware-Beschreibungssprache zu realisieren.
  2. Redundanzlogikschaltung oder System nach Anspruch 1, wobei wenigstens zwei Logikwege oder Verdrahtungsmuster aus den N Logikwegen oder Verdrahtungsmustern, die gemäß der nach Bedarf veränderbaren Designvorgabe erzeugt wurden, ausgewählt werden, so daß die Korrelationsfunktion minimiert werden kann, um die wenigstens dualisierten Funktionsblöcke (A110; B111) zu bilden.
  3. Redundanzlogikschaltung oder System nach Anspruch 2, wobei die Korrelationsfunktion so definiert ist, daß der Status der Verdrahtungsnetz-Schneidung in der Korrelationsfunktion beeinflußt werden kann.
  4. Redundanzlogikschaltung oder System nach Anspruch 2 oder 3, wobei die Korrelaktionsfunktion wie folgt definiert ist: [Gleichung 1]
    Figure 00530001
    wobei jedoch ϕijk angeben muß, ob ein Schnittpunkt zwischen Verdrahtungsnetzen existiert oder nicht und wie folgt definiert ist: [Gleichung 2]
    Figure 00540001
  5. Fehlersichere Logikschaltung oder System, mit der Redundanzlogikschaltung nach einem der vorstehenden Ansprüche, die zum Ausgeben eines Ausgabesignals nach außen nur dann, wenn alle Ausgabesignale der Funktionsblöcke übereinstimmen, und zum Stoppen der Ausgabe des Ausgabesignals nach außen, wenn die Ausgabesignale der Funktionsblöcke (A110; B111) nicht übereinstimmen, angeordnet ist, um den Sicherheitsbetrieb zu gewährleisten.
  6. Fehlersichere Logikschaltung oder System nach Anspruch 5, wobei wenigstens zwei Logikwege oder Verdrahtungsmuster aus den N Logikwegen oder Verdrahtungsmustern, die gemäß der nach Bedarf veränderbaren Designvorgabe erzeugt wurden, ausgewählt werden, so daß die Korrelationsfunktion minimiert werden kann, um die wenigstens dualisierten Funktionsblöcke (A110; B111) zu bilden.
  7. Fehlersichere Logikschaltung oder System nach Anspruch 6, wobei die Korrelationsfunktion so definiert ist, daß der Status der Verdrahtungsnetz-Schneidung in der Korrelationsfunktion beeinflußt werden kann.
  8. Fehlersichere Logikschaltung oder System nach Anspruch 6 oder 7, wobei die Korrelaktionsfunktion wie folgt definiert ist: [Gleichung 1]
    Figure 00550001
    wobei jedoch ϕijk angeben muß, ob ein Schnittpunkt zwischen Verdrahtungsnetzen existiert oder nicht und wie folgt definiert ist: [Gleichung 2]
    Figure 00550002
  9. Logische Schaltung oder System mit Fehlererfassungsfunktion, mit der Redundanzlogikschaltung nach einem der Ansprüche 1 bis 4, die zum Vergleichen der Ausgabesignale der Funktionsblöcke (A110; B111) angeordnet ist, um die wenigstens dualisierten Funktionsblöcke (A110; B111) zu bilden.
  10. Logische Schaltung oder System mit Fehlererfassungsfunktion nach Anspruch 9, wobei wenigstens zwei Logikwege oder Verdrahtungsmuster aus den N Logikwegen oder Verdrahtungsmustern, die gemäß der nach Bedarf veränderbaren Designvorgabe erzeugt wurden, ausgewählt werden, so daß die Korrelationsfunktion minimiert werden kann, um die wenigstens dualisierten Funktionsblöcke (A110; B111) zu bilden.
  11. Logische Schaltung oder System mit Fehlererfassungsfunktion nach Anspruch 10, wobei die Korrelationsfunktion so definiert ist, daß der Status der Verdrahtungsnetz-Schneidung in der Korrelationsfunktion beeinflußt werden kann.
  12. Logische Schaltung oder System mit Fehlererfassungsfunktion nach Anspruch 10 oder 11, wobei die Korrelaktionsfunktion wie folgt definiert ist: [Gleichung 1]
    Figure 00560001
    wobei jedoch ϕijk angeben muß, ob ein Schnittpunkt zwischen Verdrahtungsnetzen existiert oder nicht und wie folgt definiert ist: [Gleichung 2]
    Figure 00560002
DE69433468T 1993-10-15 1994-10-12 Logischer Schaltkreis mit Fehlernachweisfunktion Expired - Lifetime DE69433468T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP25801393 1993-10-15
JP5258014A JPH07115721A (ja) 1993-10-15 1993-10-15 ガス絶縁機器
JP02766494A JP3206275B2 (ja) 1994-02-25 1994-02-25 誤り検出機能付き論理回路及びそれを用いたフォールトトレラントシステム
JP2766494 1994-02-25

Publications (2)

Publication Number Publication Date
DE69433468D1 DE69433468D1 (de) 2004-02-05
DE69433468T2 true DE69433468T2 (de) 2004-06-24

Family

ID=33554241

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69431374T Expired - Fee Related DE69431374T2 (de) 1993-10-15 1994-10-12 Logischer Schaltkreis mit Fehlernachweisfunktion
DE69433468T Expired - Lifetime DE69433468T2 (de) 1993-10-15 1994-10-12 Logischer Schaltkreis mit Fehlernachweisfunktion
DE69425542T Expired - Lifetime DE69425542T2 (de) 1993-10-15 1994-10-12 Logischer Schaltkreis mit Fehlernachweisfunktion, Verfahren zum Verwalten von Betriebsmitteln und fehlertolerantes System zu seiner Anwendung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69431374T Expired - Fee Related DE69431374T2 (de) 1993-10-15 1994-10-12 Logischer Schaltkreis mit Fehlernachweisfunktion

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69425542T Expired - Lifetime DE69425542T2 (de) 1993-10-15 1994-10-12 Logischer Schaltkreis mit Fehlernachweisfunktion, Verfahren zum Verwalten von Betriebsmitteln und fehlertolerantes System zu seiner Anwendung

Country Status (4)

Country Link
US (1) US5802266A (de)
EP (2) EP1168178B1 (de)
CA (1) CA2117936C (de)
DE (3) DE69431374T2 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US6035416A (en) * 1997-10-15 2000-03-07 International Business Machines Corp. Method and apparatus for interface dual modular redundancy
US6357024B1 (en) * 1998-08-12 2002-03-12 Advanced Micro Devices, Inc. Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals
FR2790887B1 (fr) * 1999-03-09 2003-01-03 Univ Joseph Fourier Circuit logique protege contre des perturbations transitoires
US6453431B1 (en) 1999-07-01 2002-09-17 International Business Machines Corporation System technique for detecting soft errors in statically coupled CMOS logic
US7444532B2 (en) * 2001-12-03 2008-10-28 Dell Products L.P. System and method for autonomous power sequencing
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
JP4457581B2 (ja) * 2003-05-28 2010-04-28 日本電気株式会社 耐障害システム、プログラム並列実行方法、耐障害システムの障害検出装置およびプログラム
US7428694B2 (en) 2004-03-02 2008-09-23 Stmicroelectronics S.A. Device for protection against error injection into a synchronous flip-flop of an elementary logic module
CA2549540C (en) * 2005-06-10 2008-12-09 Hitachi, Ltd. A task management control apparatus and method
FR2888960B1 (fr) * 2005-07-19 2007-10-12 Gemplus Sa Detection d'une faute par perturbation longue
US7587663B2 (en) 2006-05-22 2009-09-08 Intel Corporation Fault detection using redundant virtual machines
US20080005538A1 (en) * 2006-06-30 2008-01-03 Apparao Padmashree K Dynamic configuration of processor core banks
US20080244305A1 (en) * 2007-03-30 2008-10-02 Texas Instruments Deutschland, Gmbh Delayed lock-step cpu compare
US8239836B1 (en) * 2008-03-07 2012-08-07 The Regents Of The University Of California Multi-variant parallel program execution to detect malicious code injection
US8509205B2 (en) * 2008-06-05 2013-08-13 The Boeing Company Multicode aperture transmitter/receiver
US8958408B1 (en) * 2008-06-05 2015-02-17 The Boeing Company Coded aperture scanning
US9378077B2 (en) * 2009-08-07 2016-06-28 Stmicroelectronics S.R.L. System for detecting operating errors in integrated circuits
RU2475820C1 (ru) * 2011-08-10 2013-02-20 Федеральное государственное бюджетное учреждение "Национальный исследовательский центр "Курчатовский институт" Способ постоянного поэлементного дублирования в дискретных электронных системах (варианты)
US9118351B2 (en) * 2012-02-15 2015-08-25 Infineon Technologies Ag System and method for signature-based redundancy comparison
US9740178B2 (en) * 2013-03-14 2017-08-22 GM Global Technology Operations LLC Primary controller designation in fault tolerant systems
JP6923352B2 (ja) * 2017-04-27 2021-08-18 株式会社小糸製作所 制御装置及び配光制御システム
RU2677359C1 (ru) * 2017-12-01 2019-01-16 Федеральное государственное бюджетное учреждение "Национальный исследовательский центр "Курчатовский институт" Способ постоянного поэлементного дублирования в цифровых транзисторных микросхемах
CN116187265B (zh) * 2023-04-28 2023-07-25 南方科技大学 一种芯片设计方法及终端

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2729362C2 (de) * 1977-06-29 1982-07-08 Siemens AG, 1000 Berlin und 8000 München Digitale Datenverarbeitungsanordnung, insbesondere für die Eisenbahnsicherungstechnik, mit in zwei Kanälen dieselben Informationen verarbeitenden Schaltwerken
DE2813079C3 (de) * 1978-03-25 1984-08-16 Standard Elektrik Lorenz Ag, 7000 Stuttgart Mehrrechnersystem hoher Sicherheit
US4759019A (en) * 1986-07-10 1988-07-19 International Business Machines Corporation Programmable fault injection tool
JPH01269151A (ja) * 1988-04-21 1989-10-26 Hitachi Ltd 多重プロセツサシステム試験方法
US5001712A (en) * 1988-10-17 1991-03-19 Unisys Corporation Diagnostic error injection for a synchronous bus system
US5084878A (en) * 1988-10-24 1992-01-28 Hitachi, Ltd. Fault tolerant system employing majority voting
US5008885A (en) * 1988-12-29 1991-04-16 International Business Machines Corporation Event-controlled error injection system
US4999837A (en) * 1989-03-20 1991-03-12 International Business Machines Corporation Programmable channel error injection
US5243607A (en) * 1990-06-25 1993-09-07 The Johns Hopkins University Method and apparatus for fault tolerance
US5231640A (en) * 1990-07-20 1993-07-27 Unisys Corporation Fault tolerant processor/memory architecture
JPH05128080A (ja) * 1991-10-14 1993-05-25 Mitsubishi Electric Corp 情報処理装置
US5276690A (en) * 1992-01-30 1994-01-04 Intel Corporation Apparatus utilizing dual compare logic for self checking of functional redundancy check (FRC) logic

Also Published As

Publication number Publication date
CA2117936A1 (en) 1995-04-16
EP1016968B1 (de) 2002-09-11
EP1168178A2 (de) 2002-01-02
DE69431374T2 (de) 2003-04-30
DE69431374D1 (de) 2002-10-17
US5802266A (en) 1998-09-01
CA2117936C (en) 2000-01-18
EP1168178B1 (de) 2004-01-02
DE69425542D1 (de) 2000-09-21
EP1016968A2 (de) 2000-07-05
DE69433468D1 (de) 2004-02-05
EP1168178A3 (de) 2002-04-03
DE69425542T2 (de) 2001-03-29
EP1016968A3 (de) 2000-07-19

Similar Documents

Publication Publication Date Title
DE69433468T2 (de) Logischer Schaltkreis mit Fehlernachweisfunktion
DE69427875T2 (de) Verfahren und vorrichtung zur inbetriebnahme eines datenbuswählers zur auswahl der steuersignale einer redundanten asynchronen digitalen prozessoreinheit aus einer vielzahl davon
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE3751231T2 (de) Symmetriebildung für redundante Kanäle.
DE10030329C1 (de) Redundantes Steuerungssystem sowie Steuerrechner und Peripherieeinheit für ein derartiges Steuerungssystem
DE102017106087A1 (de) Fehlertoleranz-muster und schaltprotokoll für mehrere hot- und cold-standby-redundanzen
DE3854014T2 (de) Quergekoppelte Prüfschaltung.
DE2258917B2 (de) Regelvorrichtung mit mindestens zwei parallelen signalkanaelen
DE102011005800A1 (de) Kontrollrechnersystem, Verfahren zur Steuerung eines Kontrollrechnersystems, sowie Verwendung eines Kontrollrechnersystems
DE69223990T2 (de) Auch gegen mehrfachfehler sicherer, fehlertoleranter taktgeber
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
EP1699203B1 (de) Modulares numerisches steuergerät
DE19744071B4 (de) Eine programmierbare Logiksteuervorrichtung verwendendes Steuerungssystem
DE19919504A1 (de) Triebwerksregler, Triebwerk und Verfahren zum Regeln eines Triebwerks
DE19811864B4 (de) Redundante Steuervorrichtung und Fehlerbehebungsverfahren dafür
DE69625953T2 (de) Methode und Vorrichtung zum Erreichen hoher Unversehrtheit und Verfügbarkeit in einem mehrkanaligen System
DE102004018857A1 (de) Sicherheitssteuerung
DE3225712C2 (de) Verfahren und Vorrichtung zur Funktionsprüfung von digitalen Rechnern
EP1807760B1 (de) Datenverarbeitungssystem mit variabler taktrate
EP3273352B1 (de) Computerisiertes system
EP3338189A2 (de) Verfahren zum betrieb eines mehrkernprozessors
EP1820307B1 (de) Verfahren zum nachweis der verf]gbarkeit von systemkomponenten eines redundanten kommunikationssystems
DE102017103147A1 (de) Alarmabwicklungs-Schaltungsanordnung und Verfahren zur Abwicklung eines Alarms
DE69737573T2 (de) Redundantes Datenverarbeitungssystem
CH649179A5 (de) Gesicherte stromrichteranordnung.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition