DE102013002088B4 - System and method for a signature-based redundancy comparison - Google Patents

System and method for a signature-based redundancy comparison Download PDF

Info

Publication number
DE102013002088B4
DE102013002088B4 DE102013002088.3A DE102013002088A DE102013002088B4 DE 102013002088 B4 DE102013002088 B4 DE 102013002088B4 DE 102013002088 A DE102013002088 A DE 102013002088A DE 102013002088 B4 DE102013002088 B4 DE 102013002088B4
Authority
DE
Germany
Prior art keywords
signature
delayed
output
binary
signal
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.)
Active
Application number
DE102013002088.3A
Other languages
German (de)
Other versions
DE102013002088A1 (en
Inventor
Antonio Vilela
Rainer Faller
Michael Goessel
Simon Brewerton
David Addison
Glenn Ashley Farrall
Neil Stuart Hastie
Klaus Oberländer
Thomas Rabenalt
Boyko Traykov
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 US13/430,126 external-priority patent/US9118351B2/en
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102013002088A1 publication Critical patent/DE102013002088A1/en
Application granted granted Critical
Publication of DE102013002088B4 publication Critical patent/DE102013002088B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

Redundantes System mit:einem Hauptteil, das dafür konfiguriert ist, ein Eingangssignal zu empfangen und ein binäres Ausgangssignal zu erzeugen;einer ersten Taktverzögerung, die dafür konfiguriert ist, das Eingangssignal zu empfangen und ein verzögertes Eingangssignal zu erzeugen;einem ersten Signaturgenerator, der mit dem Hauptteil gekoppelt ist und dafür konfiguriert ist, das binäre Ausgangssignal zu empfangen und eine erste Ausgangssignatur zu erzeugen;einer zweiten Taktverzögerung, die mit dem ersten Signaturgenerator gekoppelt ist und dafür konfiguriert ist, die erste Ausgangssignatur zu empfangen und eine verzögerte erste Ausgangssignatur zu erzeugen;einem Checker-Teil, das mit der ersten Taktverzögerung gekoppelt ist und dafür konfiguriert ist, das verzögerte Eingangssignal zu empfangen und ein verzögertes binäres Ausgangssignal zu erzeugen;einem zweiten Signaturgenerator, der mit dem Checker-Teil gekoppelt ist und dafür konfiguriert ist, das verzögerte binäre Ausgangssignal zu empfangen und eine verzögerte zweite Ausgangssignatur zu erzeugen; undeinem Komparator, der mit der zweiten Taktverzögerung und dem zweiten Signaturgenerator gekoppelt ist, wobei der Komparator dafür konfiguriert ist, die verzögerte erste Ausgangssignatur und die verzögerte zweite Ausgangssignatur zu empfangen und ein Fehlersignal zu erzeugen, wobei ein Zustand des Fehlersignals auf einem Vergleich der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur basiert.A redundant system comprising: a body configured to receive an input signal and generate a binary output signal; a first clock delay configured to receive the input signal and generate a delayed input signal; a first signature generator coupled to the first signature generator A second clock delay coupled to the first signature generator and configured to receive the first output signature and to generate a delayed first output signature; Checker portion coupled to the first clock delay and configured to receive the delayed input signal and generate a delayed binary output signal; a second signature generator coupled to the checker portion configured to receive the delayed binary A; receive the output signal and generate a delayed second output signature; anda comparator coupled to the second clock delay and the second signature generator, the comparator configured to receive the delayed first output signature and the delayed second output signature to generate an error signal, wherein a state of the error signal is based on a comparison of the delayed first Output signature based on the delayed second output signature.

Description

Die vorliegende Patentanmeldung beansprucht unter anderem die Priorität der vorläufigen US-Patentanmeldung US 61/599,129 , die am 15. Februar 2012 eingereicht worden ist.The present patent application claims inter alia the priority of the provisional US patent application US 61 / 599,129 filed on 15 February 2012.

GEBIET DER ERFINDUNGFIELD OF THE INVENTION

Gewisse Ausführungsformen der Erfindung beziehen sich auf das Bereitstellen einer diagnostischen Abdeckung in Rechensystemen und -verfahren. Genauer gesagt beziehen sich gewisse Ausführungsformen der Erfindung auf Systeme und Verfahren für die diagnostische Signaturerzeugung innerhalb von redundanten Systemen, um eine Erkennung von Fehlern, Störungen und Ausfällen, einschließlich Fehlern, Störungen und Ausfällen, die durch Fehler bzw. Ausfälle aufgrund gemeinsamer Ursache (common cause faults), logische Haftfehler (stuck-at-faults) und Querkopplungsfehler (cross-coupling faults) verursacht werden, bereitzustellen.Certain embodiments of the invention relate to providing diagnostic coverage in computing systems and methods. More specifically, certain embodiments of the invention relate to systems and methods for diagnostic signature generation within redundant systems to detect faults, faults, and failures, including faults, faults, and failures caused by common cause faults faults), stuck-at-faults, and cross-coupling faults.

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Die Integration von Funktionen innerhalb eines elektronischen Steuergeräts (ECU; electronic control unit) ist hauptsächlich um einen sicheren Mikrocontroller konzentriert, der eine zentrale Rolle spielt, indem er kritische Rechenfunktionen sowie Kontroll- und Steuerfunktionen beherbergt. Als ein Ergebnis der Submikrometer-Technologien ist es wirtschaftlich möglich geworden, große redundante Strukturen (z. B. Duplexsysteme) im Innern von ECUs, Mikrocontrollern und anderen Arten von integrierten elektronischen Systemen und Rechensystemen zu integrieren, und zwar egal, ob sich solche Systeme nun auf sicherheitsbezogene Rechenfunktionen und/oder Kontroll- und Steuerfunktionen beziehen oder nicht. Typischerweise bilden solche Systeme die grundlegende Hardware-Architektur, auf die die Sicherheitssoftware aufbaut (z. B. Anwendungen, die die Sicherheitsanforderungsstufe ASIL D der Norm ISO 26262 erfordern).The integration of functions within an electronic control unit (ECU) is primarily focused around a secure microcontroller that plays a central role in accommodating critical computing, control, and control functions. As a result of submicrometer technologies, it has become economically feasible to integrate large redundant structures (eg, duplex systems) inside ECUs, microcontrollers, and other types of integrated electronic systems and computing systems, whether or not such systems now relate to safety-related computing functions and / or control and control functions or not. Typically, such systems are the basic hardware architecture upon which the security software is built (eg, applications that require the ASIL D security requirement of ISO 26262 standard).

Aber typische Duplexsysteme benötigen hardwarebasierte Vergleiche jeder funktionalen Ausgabe bei jedem Zyklus sowie auch komplexe Analysen von Ausfällen bzw. Fehlern aufgrund gemeinsamer Ursache basierend auf der Verzögerung der redundanten Teile um einen oder mehrere Taktzyklen, was zu einem großen Stromverbrauch und einer großen Chipfläche in Bezug auf die Integration der Duplexstrukturen in zum Beispiel einem Mikrokontroller führt.However, typical duplex systems require hardware based comparisons of each functional output at each cycle as well as complex analysis of common cause failures based on the delay of the redundant parts by one or more clock cycles, resulting in high power consumption and large chip area in terms of Integration of duplex structures in, for example, a microcontroller leads.

Des Weiteren ist eine Konsequenz für große Duplexsysteme die Kosten der Verzögerungsstufen für die Eingaben und Ausgaben sowie auch eine komplexe Komparatorlogik. So sind die Kosten der Verzögerung für zum Beispiel eine Verzögerung von 2 Zyklen - wenn man 1000 Eingaben und 1000 Ausgaben annimmt - 4000 Flipflops. Zusätzlich zu der Fläche, die benötigt wird, um eine große Anzahl an Flipflops zu integrieren, wird der Stromverbrauch ein begrenzender Faktor, wenn ein solches System erweitert wird, sowie auch dann, wenn mit höheren Frequenzen gearbeitet wird, die typischerweise eine größere Verzögerung (d. h. eine höhere Anzahl an Verzögerungszyklen) erfordern.Furthermore, a consequence for large duplex systems is the cost of the delay stages for the inputs and outputs, as well as complex comparator logic. For example, the cost of delay for a 2-cycle delay - assuming 1000 inputs and 1000 outputs - is 4000 flip-flops. In addition to the area needed to integrate a large number of flip-flops, power consumption becomes a limiting factor when expanding such a system, as well as operating at higher frequencies, which typically requires greater delay (ie a higher number of delay cycles).

Es wäre vorteilhaft, Lösungen bereitzustellen, die in Bezug auf die Integration von Strukturen des redundanten Typs im Innern von elektronischen Systemen hoher Integrität den Stromverbrauch und die Fläche reduzieren, während sie einen hohen Grad an Fehlererkennung beibehalten, der durch solche redundanten Strukturen bereitgestellt wird. Es ist auch von Interesse, redundante Strukturen bereitzustellen, die interne Fehler, Störungen und Ausfälle sowie auch Fehler, Störungen und Ausfälle in Ausgangs- bzw. Ausgabeleitungen während des normalen Betriebs erkennen.It would be advantageous to provide solutions that reduce power consumption and area in terms of integrating redundant type structures inside high integrity electronic systems while maintaining a high degree of error detection provided by such redundant structures. It is also of interest to provide redundant structures that detect internal faults, faults and failures as well as faults, faults and failures in output lines during normal operation.

Aus TAHOORI, M: Reliable Computing I. Vorlesung. Karlsruhe Institut für Technologie. 2011 ist ein System für einen Redundanzvergleich bekannt, wobei ein erstes Modul ein Eingangssignal empfängt und ein erstes Ausgangssignal an einen Komparator („majority voter“) ausgibt, wobei ein zweites Modul das Eingangssignal empfängt und ein zweites Ausgangssignal an den Komparator ausgibt, und wobei der Komparator das erste Ausgangssignal mit dem zweiten Ausgangssignal vergleicht und einen Fehler ermittelt. Aus US 6 594 665 B1 ist ein Verfahren zum Lokalisieren von Daten bekannt, wobei ein Hash-Wert für Suchdaten erzeugt wird und wobei der Hash-Wert mit Hash-Werten gespeicherter Daten verglichen wird.From TAHOORI, M: Reliable Computing I. Lecture. Karlsruhe Institute of Technology. In 2011, a system for redundancy comparison is known wherein a first module receives an input signal and outputs a first output signal to a comparator ("majority voter"), a second module receiving the input signal and outputting a second output signal to the comparator, and wherein Comparator compares the first output signal with the second output signal and detects an error. Out US Pat. No. 6,594,665 B1 For example, a method for locating data is known wherein a hash value for search data is generated and wherein the hash value is compared to hash values of stored data.

Verschiedene Ausführungsformen betreffen ein System und ein Verfahren für einen signaturbasierten Redundanzvergleich, wobei die Pfade des Systems eine Zeitdiversität aufweisen. Das hat den Effekt, dass die Effekte von Kopplungsfaktoren, wie beispielsweise von Stromversorgungstörungen, reduziert werden. Daher ist es ein Aspekt verschiedener Ausführungsbeispiele ein System und ein Verfahren für einen signaturbasierten Redundanzvergleich bereitzustellen, wobei die Effekte von Fehlern bzw. Ausfällen innerhalb des Systems reduziert werden.Various embodiments relate to a system and method for a signature-based redundancy comparison wherein the paths of the system have time diversity. This has the effect of reducing the effects of coupling factors, such as power disturbances. Therefore, it is an aspect of various embodiments to provide a system and method for signature-based redundancy comparison that reduces the effects of failures within the system.

KURZE ZUSAMMENFASSUNG DER ERFINDUNGBRIEF SUMMARY OF THE INVENTION

In Übereinstimmung mit einer Ausführungsform der Erfindung weist ein redundantes System ein Hauptteil, das dafür konfiguriert ist, ein Eingangssignal zu empfangen und ein binäres Ausgangssignal zu erzeugen, eine erste Taktverzögerung, die dafür konfiguriert ist, das Eingangssignal zu empfangen und ein verzögertes Eingangssignal zu erzeugen, einen ersten Signaturgenerator, der mit dem Hauptteil gekoppelt ist und dafür konfiguriert ist, das binäre Ausgangssignal zu empfangen und eine erste Ausgangssignatur zu erzeugen, eine zweite Taktverzögerung, die mit dem ersten Signaturgenerator gekoppelt ist und dafür konfiguriert ist, die erste Ausgangssignatur zu empfangen und eine verzögerte erste Ausgangssignatur zu erzeugen, ein Checker-Teil (Prüferteil), das mit der ersten Taktverzögerung gekoppelt ist und dafür konfiguriert ist, das verzögerte Eingangssignal zu empfangen und ein verzögertes binäres Ausgangssignal zu erzeugen, einen zweiten Signaturgenerator, der mit dem Checker-Teil gekoppelt ist und dafür konfiguriert ist, das verzögerte binäre Ausgangssignal zu empfangen und eine verzögerte zweite Ausgangssignatur zu erzeugen, und einen Komparator auf, der mit der zweiten Taktverzögerung und dem zweiten Signaturgenerator gekoppelt ist, wobei der Komparator dafür konfiguriert ist, die verzögerte erste Ausgangssignatur und die verzögerte zweite Ausgangssignatur zu empfangen und ein Fehlersignal zu erzeugen, wobei ein Zustand des Fehlersignals auf einem Vergleich der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur basiert.In accordance with an embodiment of the invention, a redundant system includes a body configured to receive an input signal and produce a binary output signal, a first clock delay configured to receive the input signal and generate a delayed input signal, a first signature generator coupled to the body and configured to receive the binary output signal and generate a first output signature, a second clock delay coupled to and configured for the first signature generator; receive the first output signature and generate a delayed first output signature, a checker portion (checker portion) coupled to the first clock delay and configured to receive the delayed input signal and generate a delayed binary output signal, a second signature generator, coupled to the checker portion and configured to receive the delayed binary output signal and generate a delayed second output signature, and a comparator coupled to the second clock delay and the second signature generator, the comparator therefor r is configured to receive the delayed first output signature and the delayed second output signature and generate an error signal, wherein a state of the error signal is based on a comparison of the delayed first output signature with the delayed second output signature.

In Übereinstimmung mit einer Ausführungsform der Erfindung umfasst ein Verfahren für einen signaturbasierten Redundanzvergleich das Empfangen eines Eingangssignals durch ein Hauptteil und das Erzeugen eines binären Ausgangssignals durch das Hauptteil, das Erzeugen eines verzögerten Eingangssignals auf der Grundlage des Eingangssignals, das Erzeugen einer ersten Ausgangssignatur auf der Grundlage des binären Ausgangssignals, das Erzeugen einer verzögerten ersten Ausgangssignatur auf der Grundlage der ersten Ausgangssignatur, das Erzeugen eines verzögerten binären Ausgangssignal auf der Grundlage des verzögerten Eingangssignals, das Erzeugen einer verzögerten zweiten Ausgangssignatur durch ein Checker-Teil auf der Grundlage des verzögerten binären Ausgangssignals, das Vergleichen der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur durch einen Komparator und das Erzeugen eines Fehlersignals, wobei ein Zustand des Fehlers auf dem Vergleich basiert.In accordance with one embodiment of the invention, a method for signature-based redundancy comparison comprises receiving an input signal through a body and generating a binary output signal through the body, generating a delayed input signal based on the input signal, generating a first output signature based thereon the binary output signal, generating a delayed first output signature based on the first output signature, generating a delayed binary output signal based on the delayed input signal, generating a delayed second output signature by a checker portion based on the delayed binary output signal Comparing the delayed first output signature with the delayed second output signature by a comparator and generating an error signal, wherein a state of the error on the comparison ba Siert.

In Übereinstimmung mit einem Aspekt wird ein redundantes System bereitgestellt, das Folgendes aufweist:

  • ein Hauptteil, das dafür konfiguriert ist, ein Eingangssignal zu empfangen und ein binäres Ausgangssignal zu erzeugen;
  • eine erste Taktverzögerung, die dafür konfiguriert ist, das Eingangssignal zu empfangen und
  • ein verzögertes Eingangssignal zu erzeugen;
  • einen ersten Signaturgenerator, der mit dem Hauptteil gekoppelt ist und dafür konfiguriert ist,
  • das binäre Ausgangssignal zu empfangen und eine erste Ausgangssignatur zu erzeugen;
  • eine zweite Taktverzögerung, die mit dem ersten Signaturgenerator gekoppelt ist und dafür konfiguriert ist, die erste Ausgangssignatur zu empfangen und eine verzögerte erste Ausgangssignatur zu erzeugen;
  • ein Checker-Teil, das mit der ersten Taktverzögerung gekoppelt ist und dafür konfiguriert ist, das verzögerte Eingangssignal zu empfangen und ein verzögertes binäres Ausgangssignal zu erzeugen;
  • einen zweiten Signaturgenerator, der mit dem Checker-Teil gekoppelt ist und dafür konfiguriert ist, das verzögerte binäre Ausgangssignal zu empfangen und eine verzögerte zweite Ausgangssignatur zu erzeugen; und
  • einen Komparator, der mit der zweiten Taktverzögerung und dem zweiten Signaturgenerator gekoppelt ist, wobei der Komparator dafür konfiguriert ist, die verzögerte erste Ausgangssignatur und die verzögerte zweite Ausgangssignatur zu empfangen und ein Fehlersignal zu erzeugen, wobei ein Zustand des Fehlersignals auf einem Vergleich der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur basiert.
In accordance with one aspect, there is provided a redundant system comprising:
  • a body configured to receive an input signal and generate a binary output signal;
  • a first clock delay configured to receive the input signal and
  • to generate a delayed input signal;
  • a first signature generator coupled to and configured for the body
  • receive the binary output signal and generate a first output signature;
  • a second clock delay coupled to the first signature generator and configured to receive the first output signature and generate a delayed first output signature;
  • a checker portion coupled to the first clock delay and configured to receive the delayed input signal and generate a delayed binary output signal;
  • a second signature generator coupled to the checker portion and configured to receive the delayed binary output signal and generate a delayed second output signature; and
  • a comparator coupled to the second clock delay and the second signature generator, the comparator configured to receive the delayed first output signature and the delayed second output signature to generate an error signal, wherein a state of the error signal is based on a comparison of the delayed first Output signature based on the delayed second output signature.

Vorteilhafterweise verzögert die zweite Taktverzögerung das Eingangssignal um n Taktzyklen und verzögert die erste Taktverzögerung die erste Ausgangssignatur um diese n Taktzyklen.Advantageously, the second clock delay delays the input signal by n clock cycles, and the first clock delay delays the first output signature by those n clock cycles.

Vorteilhafterweise weist das Hauptteil erste Schaltungen auf und weist das Checker-Teil zweite Schaltungen auf, die redundant zu den ersten Schaltungen sind.Advantageously, the main part has first circuits and the checker part has second circuits that are redundant to the first circuits.

Vorteilhafterweise weist das binäre Ausgangssignal M binäre Komponenten auf, und wobei der erste Signaturgenerator ein erster Kompaktor (Verdichter) ist, wobei der erste Kompaktor dafür konfiguriert ist, die M binären Komponenten zu kompaktieren (komprimieren), um die erste Ausgangssignatur zu erzeugen, die K binäre Komponenten aufweist, wobei K < M ist.Advantageously, the binary output signal M binary components, and wherein the first signature generator is a first Kompaktor (compressor), wherein the first Kompaktor is configured for M compacting (compressing) binary components to produce the first output signature having K binary components, where K <M.

Vorteilhafterweise weist das binäre Ausgangssignal M binäre Komponenten auf, und wobei der erste Signaturgenerator ein erster Kompaktor ist, wobei der erste Kompaktor dafür konfiguriert ist, eine Teilmenge J der M binären Komponenten zu kompaktieren, um die erste Ausgangssignatur zu erzeugen, die K + (M - J) binäre Komponenten aufweist, wobei die K binären Komponenten aus der kompaktierten Teilmenge J der M binären Komponenten erzeugt werden, und wobei K < J ≤ M ist.Advantageously, the binary output signal M binary components, and wherein the first signature generator is a first compactor, wherein the first compactor is configured to a subset J of the M compacting binary components to produce the first output signature having K + (M - J) binary components, the K binary components from the compacted subset J of the M binary components are generated, and where K <J ≦ M.

Vorteilhafterweise weist der erste Kompaktor eine Kompaktionsmatrix (Kompressionsmatrix) H auf, wobei y' = Hx1 ist, wobei der Vektor y' die erste Ausgangssignatur ist und der Vektor x1 das binäre Ausgangssignal des Hauptteils ist.Advantageously, the first compactor has a compaction matrix (compression matrix) H where y '= Hx1, where the vector y' is the first output signature and the vector x1 is the binary output of the main part.

Vorteilhafterweise weist die Kompaktionsmatrix H die Eigenschaft auf, dass dann, wenn der Vektor x1 ein All-1-Vektor von M Einsen ist, der Vektor y' erzeugt wird, der ein All-1-Vektor von K Einsen ist.Advantageously, the compaction matrix H the property that if the vector x1 is an all-1 vector of M One is, the vector y 'is generated, which is an all-1 vector of K ones.

Vorteilhafterweise ist die Anzahl an Einsen in jeder Zeile der Kompaktionsmatrix H ungerade und sind die Spalten der Kompaktionsmatrix H paarweise verschieden.Advantageously, the number of ones in each row of the compaction matrix H Odd and are the columns of the compaction matrix H in pairs different.

Vorteilhafterweise ist der zweite Signaturgenerator ein zweiter Kompaktor, wobei der zweite Kompaktor dafür konfiguriert ist, M binäre Komponenten des verzögerten binären Ausgangssignals zu kompaktieren, um die verzögerte zweite Ausgangssignatur zu erzeugen, die K binäre Komponenten aufweist, wobei K < M ist, und wobei der zweite Kompaktor die Kompaktionsmatrix H aufweist.Advantageously, the second signature generator is a second compactor, the second compactor being configured to M compacting binary components of the delayed binary output signal to produce the delayed second output signature having K binary components, where K <M, and wherein the second compactor is the compaction matrix H having.

Vorteilhafterweise weist das redundante System des Weiteren einen Inverter auf, der zwischen dem Checker-Teil und dem zweiten Signaturgenerator gekoppelt ist, wobei der Inverter dafür konfiguriert ist, das verzögerte binäre Ausgangssignal zu invertieren, um ein invertiertes verzögertes binäres Ausgangssignal zu erzeugen, wobei der zweite Signaturgenerator ein zweiter Kompaktor ist, wobei der zweite Kompaktor dafür konfiguriert ist, M binäre Komponenten des invertierten verzögerten binären Ausgangssignals zu kompaktieren, um eine invertierte verzögerte zweite Ausgangssignatur zu erzeugen, die K binäre Komponenten aufweist, wobei K < M ist, und wobei der zweite Kompaktor eine Kompaktionsmatrix B aufweist, wobei die Kompaktionsmatrix B dafür konfiguriert ist, die invertierte verzögerte zweite Ausgangssignatur so zu erzeugen, dass sie eine Inversion der verzögerten ersten Ausgangssignatur ist.Advantageously, the redundant system further comprises an inverter coupled between the checker portion and the second signature generator, the inverter being configured to invert the delayed binary output signal to produce an inverted delayed binary output signal, the second Signature Generator is a second Kompaktor, wherein the second Kompaktor is configured to compact M binary components of the inverted delayed binary output signal to produce an inverted delayed second output signature, the K where K <M, and wherein the second compactor has a compaction matrix B, the compaction matrix B configured to generate the inverted delayed second output signature to be an inverse of the delayed first output signature.

Vorteilhafterweise ist der Komparator ein selbsttestender Komparator (STC; selftesting comparator).Advantageously, the comparator is a self-testing comparator (STC).

Vorteilhafterweise weist der STC eine Zwischenwert-Bildungsvorrichtungs-(IVB; intermediate-value-builder)-Schaltung auf, die mit einer Zuordnungsschaltung gekoppelt ist, wobei die IVB-Schaltung eine Vielzahl von XOR-Gattern (Exklusiv-ODER-Gattern) aufweist und die Zuordnungsschaltung wenigstens ein OR-Gatter (ODER-Gatter) und wenigstens ein NAND-Gatter (NICHT-UND-Gatter) aufweist, wobei die IVB dafür konfiguriert ist, die verzögerte erste Ausgangssignatur und die verzögerte zweite Ausgangssignatur zu empfangen, die insgesamt 2n binäre Eingaben aufweisen, und n binäre Zwischenausgaben z1, ..., zn zu erzeugen, und die Zuordnungsschaltung dafür konfiguriert ist, die n binären Zwischenausgaben z1, ..., zn zu empfangen und r Fehlersignale Errorl, ... Errorr zu erzeugen, wobei r ≥ 1 ist. Advantageously, the STC comprises an intermediate value-builder (IVB) circuit coupled to an allocation circuit, the IVB circuit having a plurality of XOR (Exclusive-OR) gates, and the Assignment circuit comprises at least one OR gate and at least one NAND gate, the IVB being configured to receive the delayed first output signature and the delayed second output signature, the total of 2n binary inputs and to generate n intermediate binary outputs z1, ..., zn, and the assignment circuit is configured to receive the n binary intermediate outputs z1, ..., zn and generate r error signals Errorl, ... Errorr, where r ≥ 1.

Vorteilhafterweise ist zi = ui ⊕ vi ⊕ a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ Ai, wobei u1, ..., un und v1, ..., vn die 2n binären Eingaben sind, wobei ai und bi für i = 1, ..., n binäre Werte sind, und wobei ai Λ bj = 0, V n i=1 ai V V n j=1 bj = 1.Advantageously, zi = ui ⊕ vi ⊕ a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ Ai, where u1, ..., un and v1, ..., vn are the 2n binary inputs where ai and bi are binary values for i = 1, ..., n, and where ai Λ bj = 0, Vni = 1 ai VV nj = 1 bj = 1.

Vorteilhafterweise ist für r = 2 Errorl = V n i=1 (zi ⊕ Ai),
Image available on „Original document“
wobei Ai für i = 1, ..., n boolesche Konstanten sind.
Advantageously, for r = 2, Errorl = Vni = 1 (zi ⊕ Ai),
Image available on "Original document"
where Ai are boolean constants for i = 1, ..., n.

Vorteilhafterweise sind die verzögerte erste Ausgangssignatur und die verzögerte zweite Ausgangssignatur binäre Komplemente voneinander.Advantageously, the delayed first output signature and the delayed second output signature are binary complements of one another.

Vorteilhafterweise weist das redundante System des Weiteren Folgendes auf:

  • einen ersten Zeitdatencodierer bzw. Temporaldatencodierer (TDE; temporal data encoder),
  • der mit der zweiten Taktverzögerung und dem ersten Signaturgenerator gekoppelt ist;
  • einen konfigurierbaren MISR-Komparator (CMC; configurable MISR comparator), der mit dem ersten TDE gekoppelt ist;
  • einen zweiten TDE, der mit dem CMC und dem zweiten Signaturgenerator gekoppelt ist; und
  • einen Fehler-Checker (Fehlerprüfer), der mit dem CMC und dem Komparator gekoppelt ist.
Advantageously, the redundant system further comprises:
  • a first temporal data encoder (TDE);
  • which is coupled to the second clock delay and the first signature generator;
  • a configurable MISR comparator (CMC) coupled to the first TDE;
  • a second TDE coupled to the CMC and the second signature generator; and
  • an error checker (error checker) coupled to the CMC and the comparator.

Vorteilhafterweise ist der Fehler-Checker ein sogenannter Dual-Rail-Fehler-Checker (DREC; dual rail error checker).Advantageously, the error checker is a so-called dual rail error checker (DREC).

Vorteilhafterweise ist der erste TDE dafür konfiguriert, eine erste temporale Signatur auf der Grundlage einer angesammelten Historie der verzögerten ersten Ausgangssignatur zu erzeugen, ist der zweite TDE dafür konfiguriert, eine zweite temporale Signatur auf der Grundlage einer angesammelten Historie der verzögerten zweiten Ausgangssignatur zu erzeugen, ist der CMC dafür konfiguriert, ein zweites Fehlersignal auf der Grundlage eines Vergleichs der ersten und zweiten temporalen Signaturen zu erzeugen, und ist der Fehler-Checker dafür konfiguriert, das zweite Fehlersignal und das Fehlersignal zu vergleichen, um ein drittes Fehlersignal zu erzeugen.Advantageously, the first TDE is configured to generate a first temporal signature based on an accumulated history of the delayed first output signature, the second TDE is configured to generate a second temporal signature based on an accumulated history of the delayed second output signature the CMC is configured to generate a second error signal based on a comparison of the first and second temporal signatures, and the error checker is configured to compare the second error signal and the error signal to produce a third error signal.

Vorteilhafterweise weist das redundante System des Weiteren eine TDE-Logikeinheit auf, die dafür konfiguriert ist, dann, wenn eines der ersten, zweiten oder dritten Fehlersignale einen Fehler anzeigt, die erste temporale Signatur und die zweite temporale Signatur zu analysieren, um festzustellen, ob der Fehler von dem Hauptteil oder von dem Checker-Teil stammte, wobei die erste temporale Signatur und die zweite temporale Signatur aus dem Eingangssignal erzeugt werden, das ein vorbestimmtes Testsignal ist.Advantageously, the redundant system further comprises a TDE logic unit which is configured to, when one of the first, second or third error signals indicates an error, analyze the first temporal signature and the second temporal signature to determine if the error originated from the body or the checker portion, wherein the first temporal signature and the second temporal signature are generated from the input signal, which is a predetermined test signal.

Vorteilhafterweise sind das Checker-Teil und der zweite Signaturgenerator zumindest teilweise in einer kombinierten Schaltung implementiert.Advantageously, the checker part and the second signature generator are at least partially implemented in a combined circuit.

In Übereinstimmung mit einem Aspekt ist ein Verfahren für einen signaturbasierten Redundanzvergleich bereitgestellt, das folgende Schritte umfasst:

  • Empfangen eines Eingangssignals durch ein Hauptteil und Erzeugen eines binären Ausgangssignals durch das Hauptteil;
  • Erzeugen eines verzögerten Eingangssignals auf der Grundlage des Eingangssignals;
  • Erzeugen einer ersten Ausgangssignatur auf der Grundlage des binären Ausgangssignals;
  • Erzeugen einer verzögerten ersten Ausgangssignatur auf der Grundlage der ersten Ausgangssignatur;
  • Erzeugen eines verzögerten binären Ausgangssignals auf der Grundlage des verzögerten Eingangssignals;
  • Erzeugen einer verzögerten zweiten Ausgangssignatur durch ein Checker-Teil auf der Grundlage des verzögerten binären Ausgangssignals;
  • Vergleichen der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur durch einen Komparator; und
  • Erzeugen eines Fehlersignals, wobei ein Zustand des Fehlersignals auf dem Vergleich basiert.
In accordance with one aspect, there is provided a method for a signature-based redundancy comparison, comprising the steps of:
  • Receiving an input signal through a body and generating a binary output signal through the body;
  • Generating a delayed input signal based on the input signal;
  • Generating a first output signature based on the binary output signal;
  • Generating a delayed first output signature based on the first output signature;
  • Generating a delayed binary output signal based on the delayed input signal;
  • Generating a delayed second output signature by a checker portion based on the delayed binary output signal;
  • Comparing the delayed first output signature with the delayed second output signature by a comparator; and
  • Generating an error signal, wherein a state of the error signal is based on the comparison.

Vorteilhafterweise wird das Eingangssignal um n Taktzyklen verzögert und wird die erste Ausgangssignatur um diese n Taktzyklen verzögert.Advantageously, the input signal is delayed by n clock cycles and the first output signature is delayed by these n clock cycles.

Vorteilhafterweise weist das erste Hauptteil erste Schaltungen auf und weist das Checker-Teil zweite Schaltungen auf, die redundant zu den ersten Schaltungen sind.Advantageously, the first body part has first circuits and the checker part has second circuits which are redundant to the first circuits.

Vorteilhafterweise weist das binäre Ausgangssignal M binäre Komponenten auf und weist die erste Ausgangssignatur K binäre Komponenten auf, die aus den M binären Komponenten kompaktiert worden sind, wobei K < M ist.Advantageously, the binary output signal M comprises binary components and the first output signature K comprises binary components which have been compacted from the M binary components, where K <M.

Vorteilhafterweise hat eine Kompaktionsmatrix H K Zeilen und M Spalten, wobei y' = Hx1 ist, und wobei der Vektor y' die erste Ausgangssignatur ist und der Vektor x1 das binäre Ausgangssignal ist.Advantageously, a compaction matrix H has K rows and M columns, where y '= Hx1 and where the vector y' is the first output signature and the vector x1 is the binary output signal.

Vorteilhafterweise hat die Kompaktionsmatrix H die Eigenschaft, dass dann, wenn der Vektor x1 M binäre Einsen aufweist, der Vektor y' erzeugt wird, der K binäre Einsen aufweist.Advantageously, the compaction matrix H has the property that, when the vector x1 has M binary ones, the vector y 'having K binary ones is generated.

Vorteilhafterweise ist die Anzahl an Einsen in jeder Zeile der Kompaktionsmatrix H ungerade und sind die Spalten der Kompaktionsmatrix H paarweise verschieden.Advantageously, the number of ones in each row of the compaction matrix H Odd and are the columns of the compaction matrix H in pairs different.

Vorteilhafterweise weist das verzögerte binäre Ausgangssignal M binäre Komponenten auf und weist die verzögerte zweite Ausgangssignatur K binäre Komponenten auf, die aus den M binären Komponenten unter Verwendung der Kompaktionsmatrix H kompaktiert worden sind.Advantageously, the delayed binary output signal M binary components and has the delayed second output signature K binary components based on the M binary components using the compaction matrix H have been compacted.

Vorteilhafterweise umfasst das Verfahren des Weiteren das Invertieren des verzögerten binären Ausgangssignals, um ein invertiertes verzögertes binäres Ausgangssignal zu erzeugen, wobei das invertierte verzögerte binäre Ausgangssignal M binäre Komponenten aufweist und die invertierte verzögerte zweite Ausgangssignatur K binäre Komponenten aufweist, die aus den M binären Komponenten unter Verwendung einer Kompaktionsmatrix B kompaktiert worden sind, wobei die Kompaktionsmatrix B dafür konfiguriert ist, die invertierte verzögerte zweite Ausgangssignatur so zu erzeugen, dass sie eine Inversion der verzögerten ersten Ausgangssignatur ist.Advantageously, the method further comprises inverting the delayed binary output signal to produce an inverted delayed binary output signal, wherein the inverted delayed binary output signal M comprises binary components and the inverted delayed second output signature comprises K binary components consisting of the M binary components Using a compaction matrix B, wherein the compaction matrix B is configured to generate the inverted delayed second output signature to be an inversion of the delayed first output signature.

Vorteilhafterweise ist der Komparator ein selbsttestender Komparator (STC), wobei der STC eine Zwischenwert-Bildungsvorrichtungs-(IVB)-Schaltung und eine Zuordnungsschaltung aufweist, wobei die IVB-Schaltung eine Vielzahl von XOR-Gattern aufweist und die Zuordnungsschaltung wenigstens ein OR-Gatter und wenigstens ein NAND-Gatter aufweist, wobei die IVB dafür konfiguriert ist, die verzögerte erste Ausgangssignatur und die verzögerte zweite Ausgangssignatur zu empfangen, die insgesamt 2n binäre Eingaben aufweisen, und n binäre Zwischenausgaben z1, ..., zn zu erzeugen, und die Zuordnungsschaltung dafür konfiguriert ist, die n binären Zwischenausgaben z1, ..., zn zu empfangen und r Fehlersignale Errorl, ... Errorr zu erzeugen, wobei r ≥ 1 ist.Advantageously, the comparator is a self-testing comparator (STC), the STC having an intermediate value forming (IVB) circuit and an allocation circuit, the IVB circuit having a plurality of XOR gates and the allocation circuit having at least one OR gate and at least one NAND gate, the IVB being configured to receive the delayed first output signature and the delayed second output signature having a total of 2n binary inputs, and to generate n intermediate binary outputs z1, ..., zn, and the mapping circuit is configured to receive the n binary intermediate outputs z1, ..., zn and generate r error signals Errorl, ... Errorr, where r ≥ 1.

Vorteilhafterweise ist zi = ui ⊕ vi ⊕ a1u1 ⊕ a2u2 (B ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ Ai, wobei u1, ..., un und v1, ..., vn die 2n binären Eingaben sind, wobei ai, bi, und Ai für i = 1, ..., n binäre Werte sind, und wobei ai Λ bj = 0, V n i=1 ai V V n j= 1 bj = 1.Advantageously, zi = ui ⊕ vi ⊕ a1u1 ⊕ a2u2 (B ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ Ai, where u1, ..., un and v1, ..., vn are the 2n binary ones Inputs are where ai, bi, and Ai for i = 1, ..., n are binary values, and where ai Λ bj = 0, V ni = 1 ai VV nj = 1 bj = 1.

Vorteilhafterweise ist für r = 2 Errorl = V n i=1 (zi ⊕ Ai),
Image available on „Original document“
Advantageously, for r = 2, Errorl = Vni = 1 (zi ⊕ Ai),
Image available on "Original document"

Vorteilhafterweise sind die verzögerte erste Ausgangssignatur und die verzögerte zweite Ausgangssignatur binäre Komplemente voneinander.Advantageously, the delayed first output signature and the delayed second output signature are binary complements of one another.

Vorteilhafterweise umfasst das Verfahren des Weiteren folgende Schritte:

  • Erzeugen einer ersten temporalen Signatur auf der Grundlage einer angesammelten Historie der verzögerten ersten Ausgangssignatur;
  • Erzeugen einer zweiten temporalen Signatur auf der Grundlage einer angesammelten Historie der verzögerten zweiten Ausgangssignatur;
  • Erzeugen eines zweiten Fehlersignals auf der Grundlage eines Vergleichs der ersten und zweiten temporalen Signaturen; und
  • Vergleichen des zweiten Fehlersignals und des Fehlersignals, um ein drittes Fehlersignal zu erzeugen.
Advantageously, the method further comprises the following steps:
  • Generating a first temporal signature based on an accumulated history of the delayed first output signature;
  • Generating a second temporal signature based on a history of the delayed second output signature;
  • Generating a second error signal based on a comparison of the first and second temporal signatures; and
  • Comparing the second error signal and the error signal to produce a third error signal.

Vorteilhafterweise umfasst das Verfahren des Weiteren dann, wenn eines von den ersten, zweiten oder dritten Fehlersignalen einen Fehler anzeigt, das Analysieren der ersten temporalen Signatur und der zweiten temporalen Signatur, um festzustellen, ob der Fehler von dem Hauptteil oder von dem Checker-Teil stammte, wobei die erste temporale Signatur und die zweite temporale Signatur aus dem Eingangssignal erzeugt werden, das ein vorbestimmtes Testsignal ist.Advantageously, the method further comprises, when one of the first, second or third error signals indicates an error, analyzing the first temporal signature and the second temporal signature to determine if the error originated from the body or the checker portion wherein the first temporal signature and the second temporal signature are generated from the input signal that is a predetermined test signal.

In Übereinstimmung mit einem Aspekt weist ein System für einen signaturbasierten Redundanzvergleich Folgendes auf:

  • eine Einrichtung zum Empfangen eines Eingangssignals durch ein Hauptteil und eine Einrichtung zum Erzeugen eines binären Ausgangssignals durch das Hauptteil;
  • eine Einrichtung zum Erzeugen eines verzögerten Eingangssignals auf der Grundlage des Eingangssignals;
  • eine Einrichtung zum Erzeugen einer ersten Ausgangssignatur auf der Grundlage des binären Ausgangssignals;
  • eine Einrichtung zum Erzeugen einer verzögerten ersten Ausgangssignatur auf der Grundlage der ersten Ausgangssignatur;
  • eine Einrichtung zum Erzeugen eines verzögerten binären Ausgangssignals auf der Grundlage des verzögerten Eingangssignals;
  • eine Einrichtung zum Erzeugen einer verzögerten zweiten Ausgangssignatur durch ein Checker-Teil auf der Grundlage des verzögerten binären Ausgangssignals;
  • eine Einrichtung zum Vergleichen der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur; und
  • eine Einrichtung zum Erzeugen eines Fehlersignals, wobei ein Zustand des Fehlersignals auf dem Vergleich basiert.
In accordance with one aspect, a system for signature-based redundancy comparison includes:
  • means for receiving an input signal through a body and means for generating a binary output signal through the body;
  • means for generating a delayed input signal based on the input signal;
  • means for generating a first output signature based on the binary output signal;
  • means for generating a delayed first output signature based on the first output signature;
  • means for generating a delayed binary output signal based on the delayed input signal;
  • means for generating a delayed second output signature by a checker portion based on the delayed binary output signal;
  • means for comparing the delayed first output signature with the delayed second output signature; and
  • means for generating an error signal, wherein a state of the error signal is based on the comparison.

Figurenlistelist of figures

  • 1 ist ein schematisches Diagramm eines Duplexsystems in Übereinstimmung mit einer Ausführungsform der Erfindung; 1 Fig. 10 is a schematic diagram of a duplex system in accordance with an embodiment of the invention;
  • 2 ist ein schematisches Diagramm eines linearen Kompaktors in Übereinstimmung mit einer Ausführungsform der Erfindung; 2 Fig. 10 is a schematic diagram of a linear compactor in accordance with an embodiment of the invention;
  • 3 ist ein schematisches Diagramm eines Duplexsystems in Übereinstimmung mit einer Ausführungsform der Erfindung; 3 Fig. 10 is a schematic diagram of a duplex system in accordance with an embodiment of the invention;
  • 4 ist eine schematische Darstellung eines selbsttestenden Komparators in Übereinstimmung mit einer Ausführungsform der Erfindung; 4 Fig. 12 is a schematic diagram of a self-testing comparator in accordance with an embodiment of the invention;
  • 5 ist ein schematisches Diagramm der Zwischenwert-Bildungsvorrichtung und der Zuordnungsschaltung des selbsttestenden Komparators, der in 4 veranschaulicht ist, in Übereinstimmung mit einer Ausführungsform der Erfindung; und 5 FIG. 12 is a schematic diagram of the intermediate value forming device and the self-testing comparator allocation circuit included in FIG 4 illustrated in accordance with an embodiment of the invention; and
  • 6 ist ein schematisches Diagramm eines Duplexsystems in Übereinstimmung mit einer Ausführungsform der Erfindung. 6 FIG. 10 is a schematic diagram of a duplex system in accordance with one embodiment of the invention. FIG.

AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION

1 ist ein schematisches Diagramm eines Duplexsystems 100 in Übereinstimmung mit einer Ausführungsform der Erfindung. In der exemplarischen Ausführungsform, wie sie veranschaulicht ist, ist das Duplexsystem 100 eine Komponente einer sicherheitsbezogenen Komponente (Bauteil) 101 (z. B. eines Mikrocontrollers), aber das Duplexsystem kann mit jeder Art von Rechensystem mit hoher Integrität, wie etwa Banking Systems oder Bankdienstleistungssystemen, sowie auch mit anderen Arten von sicherheitsbezogenen Systemen, wie zum Beispiel einem elektronischen Steuergerät (ECU; electronic control unit) integriert sein (oder es kann eine Komponente von diesen sein). ECUs werden zum Beispiel in verschiedenen Arten von Maschinen und Maschinenanlagen, in der Elektronik, in der Luftfahrtelektronik und in Kraftfahrzeugsystemen benutzt. 1 is a schematic diagram of a duplex system 100 in accordance with an embodiment of the invention. In the exemplary embodiment as illustrated, the duplex system is 100 a component of a safety-related component (component) 101 (eg, a microcontroller), but the duplexing system may be used with any type of high integrity computing system, such as banking systems or banking services systems, as well as other types of security related systems, such as an electronic control unit (ECU) ) (or it may be a component of these). For example, ECUs are used in various types of machinery and machinery, electronics, avionics, and automotive systems.

Das Duplexsystem 100 weist ein Hauptteil 100, ein Checker-Teil bzw. Prüferteil 104, einen ersten Signaturgenerator 106, einen zweiten Signaturgenerator 108, einen Duplexsystemkomparator (DSC; duplex system comparator) 110, eine optionale erste Taktverzögerung (DLn) 112 und eine optionale zweite Taktverzögerung (DLn) 114 auf. Das Hauptteil 102 kann eine Verarbeitungseinheit wie etwa eine Zentraleinheit (CPU; central processing unit) sein. Aber der Schutzumfang der Erfindung erstreckt sich auch auf ein Hauptteil, das eine beliebige Kombination von Hardware und Software aufweist, die dazu gestaltet sind, jegliche Art von elektronischer Funktion durchzuführen. Das Checker-Teil 104 ist dafür ausgelegt, die gleiche Art von elektronischer Funktion bzw. elektronischen Funktionen wie das Hauptteil 102 durchzuführen. In einer Ausführungsform ist das Checker-Teil 104 eine Kopie des Hauptteils 102, aber in anderen Ausführungsformen führt das Checker-Teil 104 zwar die gleiche(n) Funktion(en) bei einer bzw. bei funktionalen Eingabe(n) wie das Hauptteil 102 durch, ist aber keine exakte Hardware- und/oder Software-Kopie des Hauptteils 102 . In einer anderen Ausführungsform können das Checker-Teil 104 und der zweite Signaturgenerator 108 zumindest teilweise gemeinsam implementiert oder optimiert sein. Das Hauptteil und das Checker-Teil können kollektiv als die redundanten Teile des Duplexsystems 100 bezeichnet werden. Obwohl die Taktverzögerungen optional sind, können sie dazu verwendet werden, die Effekte von Fehlern bzw. Ausfällen aufgrund gemeinsamer Ursache zu reduzieren, indem sie eine Zeitdiversität in den beiden Pfaden hinzufügen.The duplex system 100 has a main part 100 , a checker part or checker part 104 . a first signature generator 106 , a second signature generator 108 , a duplex system comparator (DSC) 110 , an optional first clock delay (DLn) 112 and an optional second clock delay (DLn) 114 on. The main part 102 may be a processing unit such as a central processing unit (CPU). However, the scope of the invention also extends to a body comprising any combination of hardware and software designed to perform any type of electronic function. The checker part 104 is designed to be the same type of electronic function or electronic functions as the main body 102 perform. In one embodiment, this is the checker part 104 a copy of the main part 102 but in other embodiments, the checker part performs 104 the same function (s) for a functional input (s) as the main part 102 but is not an exact hardware and / or software copy of the main part 102 , In another embodiment, the checker part 104 and the second signature generator 108 be at least partially implemented or optimized together. The body and the checker part may be collectively called the redundant parts of the duplex system 100 be designated. Although the clock delays are optional, they can be used to reduce the effects of common cause failures by adding time diversity in the two paths.

Obwohl die exemplarische Ausführungsform, wie sie veranschaulicht ist, ein Duplexsystem 100 ist, erstreckt sich der Schutzumfang der Erfindung auch auf redundante Systeme im Allgemeinen, wie etwa auf ein redundantes System, das eine Vielzahl von Rechenknoten in einem Cluster aufweist. Die redundanten Teile können jede beliebige Teilmenge der Vielzahl von Rechenknoten aufweisen, die größer oder gleich jeglicher Kombination von zwei Rechenknoten ist. In einer anderen Ausführungsform kann das redundante System redundante Knoten in zwei oder mehr Clustern aufweisen. Der Schutzumfang der Erfindung ist nicht auf Duplexsysteme beschränkt.Although the exemplary embodiment as illustrated is a duplex system 100 The scope of the invention also extends to redundant systems in general, such as a redundant system having a plurality of compute nodes in a cluster. The redundant parts may include any subset of the plurality of compute nodes that is greater than or equal to any combination of two compute nodes. In another embodiment, the redundant system may include redundant nodes in two or more clusters. The scope of the invention is not limited to duplex systems.

Der erste Signaturgenerator 106 empfängt eine Ausgabe von dem Hauptteil 102 und der zweite Signaturgenerator 108 empfängt eine Ausgabe von dem Checker-Teil 104 . Der erste Signaturgenerator 106 verarbeitet die Ausgabe von dem Hauptteil 102, um eine erste Ausgangssignatur zu erzeugen, und der zweite Signaturgenerator 108 verarbeitet eine Ausgabe von dem Checker-Teil 104, um eine zweite Ausgangssignatur zu erzeugen.The first signature generator 106 receives an output from the body 102 and the second signature generator 108 receives an output from the checker part 104 , The first signature generator 106 processes the output from the main body 102 to generate a first output signature, and the second signature generator 108 processes an output from the checker part 104 to generate a second output signature.

In einer Ausführungsform der Erfindung ist der erste Signaturgenerator 106 ein erster Kompaktor (Verdichter), der M binäre Eingaben von dem Hauptteil 102 empfängt und K binäre Ausgaben erzeugt, und ist der zweite Signaturgenerator 108 ein zweiter Kompaktor, der M binäre Eingaben von dem Checker-Teil 104 empfängt und K binäre Ausgaben erzeugt, wobei K < M ist. Die Signaturgeneratoren werden unten noch ausführlicher beschrieben werden.In one embodiment of the invention, the first signature generator is 106 a first Kompaktor (compressor), the M binary inputs from the main body 102 receives and K generates binary outputs, and is the second signature generator 108 a second compactor, the M binary inputs from the checker part 104 and K produces binary outputs, where K <M. The signature generators will be described in more detail below.

In einer Ausführungsform der Erfindung verzögert die zweite Taktverzögerung 114 die funktionale(n) Eingabe(n) (die auch als das Eingangssignal bezeichnet werden) zu dem Checker-Teil 104 um n Taktzyklen, wodurch eine Zeitdiversität zwischen den redundanten Teilen 102 und 104 hinzugefügt wird. Das Hinzufügen einer Zeitdiversität zwischen den redundanten Teilen hilft dabei, die Effekte von Kopplungsfaktoren statistisch zu reduzieren. Typische Kopplungsfaktoren sind zum Beispiel Stromversorgungsstörungen, die die intrinsischen Zeitsteuerungsparameter zum Beispiel aller Gatter der redundanten Teile beeinflussen, was zu einer Störung bzw. Verletzung von Setup-Zeiten und Haltezeiten führt. Die erste Taktverzögerung 112 verzögert den Empfang der ersten Ausgangssignatur, die von dem ersten Signaturgenerator 106 erzeugt worden ist, durch den DSC 110, wodurch es dem DSC 110 möglich wird, entsprechende Ausgangssignaturen zu vergleichen, um festzustellen, ob ein Fehler vorhanden ist.In one embodiment of the invention, the second clock delay delays 114 the functional input (s) (also referred to as the input signal) to the checker part 104 by n clock cycles, allowing for time diversity between the redundant parts 102 and 104 will be added. Adding time diversity between the redundant parts helps to statistically reduce the effects of coupling factors. Typical coupling factors are, for example, power supply disturbances that affect the intrinsic timing parameters of, for example, all gates of the redundant parts, resulting in disruption of setup times and hold times. The first clock delay 112 delays receipt of the first output signature from the first signature generator 106 has been generated by the DSC 110 which makes it the DSC 110 it is possible to compare corresponding output signatures to see if there is an error.

Der DSC 110 vergleicht die zwei verzögerten Ausgangssignaturen und erzeugt auf der Grundlage des Vergleichs ein Fehlersignal eines bestimmten Zustands. Der DSC 110 wird unten noch ausführlicher erörtert werden.The DSC 110 compares the two delayed output signatures and generates an error signal of a particular state based on the comparison. The DSC 110 will be discussed in more detail below.

Während des Betriebs empfangen das Hauptteil 102 und die zweite Verzögerung 114 ein Eingangssignal. Die zweite Verzögerung 114 verzögert das Eingangssignal um n Taktzyklen, um ein verzögertes Eingangssignal zu erzeugen. Das Hauptteil 102 verarbeitet das Eingangssignal, um ein binäres Ausgangssignal zu erzeugen, das M binäre Komponenten aufweist, und das Checker-Teil 104 verarbeitet das verzögerte Eingangssignal, um ein verzögertes binäres Ausgangssignal zu erzeugen, das M verzögerte binäre Komponenten aufweist. Der erste Signaturgenerator 106 kompaktiert das binäre Ausgangssignal, um eine erste Ausgangssignatur zu erzeugen, die K binäre Komponenten aufweist. Der zweite Signaturgenerator 108 kompaktiert das verzögerte binäre Ausgangssignal, um eine verzögerte zweite Ausgangssignatur zu erzeugen, die K binäre Komponenten aufweist. Die erste Taktverzögerung 112 verzögert die erste Ausgangssignatur, um eine verzögerte erste Ausgangssignatur zu erzeugen. Der DSC 110 vergleicht die verzögerte erste Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur und erzeugt ein Fehlersignal eines bestimmten Zustands auf der Grundlage der Ergebnisse dieses Vergleichs.During operation receive the bulk 102 and the second delay 114 an input signal. The second delay 114 delays the input signal by n clock cycles to produce a delayed input signal. The main part 102 processes the input signal to produce a binary output which M has binary components, and the checker part 104 processes the delayed input signal to produce a delayed binary output signal M having delayed binary components. The first signature generator 106 compacts the binary output signal to produce a first output signature which K has binary components. The second signature generator 108 compacts the delayed binary output signal to produce a delayed second output signature which K has binary components. The first clock delay 112 delays the first output signature to produce a delayed first output signature. The DSC 110 compares the delayed first output signature with the delayed second output signature and generates an error signal of a particular state based on the results of this comparison.

In einer Ausführungsform der Erfindung empfängt ein interner Sicherheitsmonitor bzw. ein internes Sicherheitsüberprüfungsprogramm (ISM; internal safety monitor) 116 das Fehlersignal und erzeugt ein internes Fehlermitteilungssignal und/oder ein externes Fehlermitteilungssignal basierend wenigstens zum Teil auf dem Zustand des Fehlersignals. In one embodiment of the invention, an internal safety monitor (ISM) receives an internal safety monitor (ISM). 116 the error signal and generates an internal error notification signal and / or an external error notification signal based at least in part on the state of the error signal.

In einer Ausführungsform der Erfindung kann eine oder können mehrere Komponente(n) im Innern der sicherheitsbezogenen Komponente 101 das interne Fehlermitteilungssignal von dem ISM 116 empfangen und kann bzw. können auf der Grundlage des Zustands des Signals (z. B., High, Low oder Dual-Rail) deaktiviert bzw. aktiviert werden oder aktiviert werden, um in einem reduzierten Funktionsmodus zu arbeiten. Das externe Fehlermitteilungssignal kann von einem externen Sicherheitsmonitor bzw. einem externen Sicherheitsüberprüfungsprogramm (ESM; external safety monitor) 118 empfangen werden. Der ESM 118 kann auf der Grundlage des empfangenen externen Fehlermitteilungssignals ein „Safe-State“-Steuersignal bzw. ein Steuersignal für einen sicheren Zustand erzeugen.In one embodiment of the invention, one or more components may be internal to the safety-related component 101 the internal error notification signal from the ISM 116 and can be deactivated or activated based on the state of the signal (eg, high, low or dual rail) or activated to operate in a reduced functional mode. The external error message signal can be received from an external safety monitor or external safety monitor (ESM). 118 be received. The ESM 118 may generate a "safe-state" control signal or a safe-state control signal based on the received external error notification signal.

in einer weiteren Ausführungsform der Erfindung kann eine oder können mehrere Komponente(n), die außerhalb der sicherheitsbezogenen Komponente 101 liegt bzw. liegen, das Safe-State-Steuersignal von dem ESM 118 empfangen und kann bzw. können auf der Grundlage des Zustands des Signals (z. B. High, Low oder Dual-Rail) auch deaktiviert bzw. aktiviert werden oder aktiviert werden, um in einem reduzieren Funktionsmodus zu arbeiten.In another embodiment of the invention, one or more components may be external to the safety-related component 101 lies, the safe-state control signal from the ESM 118 and may also be disabled or activated based on the state of the signal (eg, high, low, or dual rail) or activated to operate in a reduced functional mode.

2 ist ein schematisches Diagramm eines linearen Kompaktors 200 in Übereinstimmung mit einer Ausführungsform der Erfindung. Der erste Signaturgenerator 106 und/oder der zweite Signaturgenerator 108 kann bzw. können als der lineare Kompaktor 200 implementiert werden. Der lineare Kompaktor 200, wie er veranschaulicht ist, weist sieben 2-Eingangs-XOR-Gatter 201 - 207 auf. Der Kompaktor 200 empfängt ein M-Komponenten-Eingangssignal (d. h. ein M-dimensionales Eingangssignal) x, das M = 6 binäre Eingabekomponenten aufweist, und erzeugt ein K-Komponenten-Ausgangssignal (d. h. ein K-dimensionales Ausgangssignal) y, das 4 binäre Ausgabekomponenten aufweist. Das Eingangssignal x kann äquivalent zu dem binären Ausgangssignal sein, das von dem Hauptteil 102 erzeugt wird, oder es kann äquivalent zu dem verzögerten binären Ausgangssignal sein, das von dem Checker-Teil 104 erzeugt wird, wie diese in 1 veranschaulicht sind. 2 is a schematic diagram of a linear compactor 200 in accordance with an embodiment of the invention. The first signature generator 106 and / or the second signature generator 108 can or can be considered the linear compactor 200 be implemented. The linear compactor 200 as illustrated, has seven 2-input XOR gates 201-207 on. The compactor 200 receives an M-component input signal (ie, an M-dimensional input signal) x having M = 6 binary input components, and generates a K-component output signal (ie, a K-dimensional output signal) y having 4 output binary components. The input signal x may be equivalent to the binary output signal from the main part 102 or it may be equivalent to the delayed binary output signal from the Checker part 104 is generated, like this one in 1 are illustrated.

Obwohl der lineare Kompaktor 200, wie er veranschaulicht ist, sieben 2-Eingangs-XOR-Gatter 201 - 207 mit spezifischen Querverbindungen zwischen den XOR-Gattern, den Eingangssignalkomponenten und den Ausgangssignalkomponenten aufweist, um ein 4-Komponenten-Ausgangssignal aus einem 6-Komponenten-Eingangssignal zu erzeugen, erstreckt sich der Schutzumfang der Erfindung auch auf lineare Kompaktoren, die eine beliebige Anzahl an XOR-Gattern aufweisen, ohne irgendwelche Beschränkungen in Bezug auf die spezifischen Querverbindungen der XOR-Gatter, und die K-Komponenten-Ausgangssignale aus M-Komponenten-Eingangssignalen erzeugen, wobei K < M ist.Although the linear compactor 200 as illustrated, seven 2-input XOR gates 201-207 with specific cross-connections between the XOR gates, the input signal components, and the output signal components to produce a 4-component output signal from a 6-component input signal, the scope of the invention also extends to linear compactors having any number of XORs With no restrictions on the cross-references of the XOR gates, and the K-component outputs from M-component inputs, where K <M.

Der M-dimensionale Eingang x = x1, ..., xM, kann als ein M-dimensionaler Spaltenvektor dargestellt werden, und der K-dimensionale Ausgang y = y1, ..., yK kann als ein K-dimensionaler Spaltenvektor dargestellt werden, wobei y = H·x, (1) und H eine (K,M)-Matrix mit K Zeilen und M Spalten ist. Die Matrix H ist die Kompaktionsmatrix (Kompressionsmatrix) des linearen Kompaktors 200 . Als ein Beispiel einer exemplarischen Ausführungsform für die nachfolgende Erörterung wird eine Kompaktionsmatrix mit M = 6 und K = 4 in Betracht gezogen, wobei
Image available on „Original document“
The M-dimensional input x = x1, ..., xM, can be represented as an M-dimensional column vector, and the K-dimensional output y = y1, ..., yK can be represented as a K-dimensional column vector, where y = H · x, (1) and H is a (K, M) matrix with K Lines and M Columns is. The matrix H is the compaction matrix (compression matrix) of the linear compactor 200 , As an example of an exemplary embodiment for the following discussion, consider a compaction matrix with M = 6 and K = 4, where
Image available on "Original document"

Für die Komponenten y1, y2, y3, y4 des kompaktierten Ausgangsvektors y ergibt sich aus den Formeln (2) und (3): y1 = x4 ⊕ x5 ⊕ x6, y2 = x1 ⊕ x4 ⊕ x5, y3 = x2 ⊕ x4 ⊕ x6, y4 = x3 ⊕ x5 ⊕ x6,For the components y1, y2, y3, y4 of the compacted output vector y, it follows from the formulas (2) and (3): y1 = x4⊕x5⊕x6, y2 = x1⊕x4⊕x5, y3 = x2⊕x4⊕x6 , y4 = x3 ⊕ x5 ⊕ x6,

So wird zum Beispiel ein Eingangsvektor x = 1,0,1,0,1,1 in einen entsprechenden Ausgangsvektor y = H·x = 0,0,1,1 kompaktiert (verdichtet).For example, an input vector x = 1,0,1,0,1,1 is compacted (condensed) into a corresponding output vector y = H x = 0,0,1,1.

Der lineare Kompaktor 200 hat die Eigenschaft, dass dann, wenn die Anzahl an Einsen in jeder Zeile der Kompaktionsmatrix H ungerade ist und wenn alle Spalten von H paarweise verschieden sind, wie dies bei der Kompaktionsmatrix H der Gleichung (2) der Fall ist, der kompaktierte Ausgangsvektor y(x) des invertierten Eingangsvektors x = x1, ..., xM gleich dem invertierten kompaktierten Ausgangsvektor y(x) des Ausgangsvektors y(x) ist. Außerdem hat der lineare Kompaktor 200 die Eigenschaft, dass ein Eingangsvektor Image available on „Original document“
in einen AusgangsvektorImage available on „Original document“ kompaktiert wird.
The linear compactor 200 has the property that if the number of ones in each row of the compaction matrix H is odd and if all columns of H in pairs are different, as in the Kompaktmatrix H of equation (2), the compacted output vector y (x) of the inverted input vector x = x1, ..., xM is equal to the inverted compacted output vector y (x) of the output vector y (x). Besides, the linear compactor has 200 the property that an input vector image available on "original document"
is compacted into an output vector image available on "original document".

Und wenn der lineare Kompaktor 200 die Eigenschaft hat, dass Spalten von H eine ungerade Anzahl an Einsen aufweisen, und wenn alle Spalten von H paarweise verschieden sind, wie dies bei der Kompaktionsmatrix H von Gleichung (2) der Fall ist, dann hat die Kompaktionsmatrix die Eigenschaften, dass hi ≠ 0, hi ⊕ hj ≠ 0, und hi ⊕ hj ⊕ hk ≠ 0 für i ≠ j ≠ kAnd if the linear compactor 200 the property has that columns of H have an odd number of ones, and if all columns of H are pairwise different, as in the compaction matrix H of equation (2), then the compaction matrix has the properties that hi ≠ 0, hi ⊕ hj ≠ 0, and hi ⊕ hj ⊕ hk ≠ 0 for i ≠ j ≠ k

Mit anderen Worten, ein Eingangsvektor x', der sich von einem Eingangsvektor x in 1 oder 2 oder 3 Bitpositionen unterscheidet, wird zu einem kompaktierten Ausgangsvektor y' führen, der sich von dem kompaktierten Ausgangsvektor des Eingangsvektors x unterscheidet. Dies ist vorteilhaft, da interne Fehler bzw. Störungen oder Ausfälle sehr oft zu 1-Bit-Fehlern, 2-Bit-Fehler oder 3-Bit-Fehlern führen, wodurch der Eingangsvektor x des Kompaktors in 1, 2 oder 3 Bits geändert wird. Jeder dieser Fehler wird mit einer Wahrscheinlichkeit von 100% entdeckt, wenn die kompaktierten Ausgaben von linearen Kompaktoren, die diese Eigenschaften aufweisen, von dem DSC 110 verglichen werden.In other words, an input vector x 'that differs from an input vector x in 1 or 2 or 3 bit positions will result in a compacted output vector y' that differs from the compacted output vector of the input vector x. This is advantageous because internal Very often faults or failures lead to 1-bit errors, 2-bit errors or 3-bit errors, whereby the input vector x of the Kompaktors in 1, 2 or 3 bits is changed. Each of these errors is detected with a 100% probability when the compacted outputs of linear compactors having these characteristics are detected by the DSC 110 be compared.

Die Kompaktionsmatrix H kann auch als die Übertragungsfunktion der Signaturgeneratoren 106 und 108 bezeichnet werden. In einer Ausführungsform der Erfindung ist die Übertragungsfunktion des ersten Signaturgenerators 106 gleich der Übertragungsfunktion des zweiten Signaturgenerators 108 . Aber der Schutzumfang der vorliegenden Erfindung erstreckt sich auch auf Signaturgeneratoren, die unterschiedliche Übertragungsfunktionen aufweisen. So kann die Übertragungsfunktion des zweiten Signaturgenerators 108 zum Beispiel die invertierte Übertragungsfunktion des ersten Signaturgenerators 106 sein. In einer anderen Ausführungsform kann der bzw. können die Signaturgenerator(en) auch eine nichtlineare Übertragungsfunktion implementieren. Somit kann zum Beispiel der Ausgangsvektor des bzw. der Signaturgenerator(en) auch der Vektor von Prüfbits eines Berger-Codes sein. Die Bestimmung von Prüfbits eines Berger-Codes ist einem Fachmann auf dem Gebiet bekannt und wird zum Beispiel in Berger, J. M., „A note of Error Detection Codes for Asymmetric Channels;“ Information and Control, Band 4, 1961, Seiten 68-73 beschrieben. In einer anderen Ausführungsform kann der bzw. können die Signaturgenerator(en) auch Verzögerungselemente enthalten, wie in dem Fall des Faltungskompaktors, der in Mrugalsi, G. et al., „Fault Diagnosis in Designs with Convolutional Compactors“ Proc. ITC 2004, Aufsatz 17.2, Seiten 498-507 beschrieben ist.The compaction matrix H can also be used as the transfer function of signature generators 106 and 108 be designated. In one embodiment of the invention, the transfer function of the first signature generator 106 equal to the transfer function of the second signature generator 108 , But the scope of the present invention also extends to signature generators having different transfer functions. Thus, the transfer function of the second signature generator 108 for example, the inverted transfer function of the first signature generator 106 be. In another embodiment, the signature generator (s) may also implement a non-linear transfer function. Thus, for example, the output vector of the signature generator (s) may also be the vector of check bits of a Berger code. The determination of check bits of a Berger code is known to a person skilled in the art and is described, for example, in US Pat Berger, JM, "A Note on Error Detection Codes for Asymmetric Channels;" Information and Control, Vol. 4, 1961, pages 68-73 described. In another embodiment, the signature generator (s) may also include delay elements, as in the case of the convolution compressor incorporated in Mrugalsi, G. et al., "Fault Diagnosis in Designs with Convolutional Compactors" Proc. ITC 2004, Essay 17.2, pages 498-507 is described.

In einer anderen Ausführungsform der Erfindung empfängt der Kompaktor 200 das M-Komponenten-Eingangssignal x und kompaktiert eine Teilmenge der M binären Eingabekomponenten. Wenn der lineare Kompaktor zum Beispiel J binäre Eingabekomponenten kompaktiert, um K Ausgabekomponenten zu erzeugen, dann wird das Ausgangssignal y „K + (M - J)“ binäre Komponenten aufweisen, wobei K < J ≤ M ist.In another embodiment of the invention, the compactor receives 200 the M-component input signal x and compacts a subset of the M input binary components. For example, if the linear compactor compacts J binary input components to produce K output components, then the output signal y will have "K + (M-J)" binary components, where K <J ≤ M.

3 ist ein schematisches Diagramm eines Duplexsystems 300 in Übereinstimmung mit einer Ausführungsform der Erfindung. Elemente des Duplexsystems 300, die identisch zu den Elementen des Duplexsystems 100 sind, haben die gleichen Bezugszeichen. Das Duplexsystem 300 umfasst eine Datendiversifikationseinheit (DDU; data diversification unit). In einer Ausführungsform der Erfindung ist die DDU ein Inverter 302 . 3 is a schematic diagram of a duplex system 300 in accordance with an embodiment of the invention. Elements of the duplex system 300 identical to the elements of the duplex system 100 are, have the same reference numerals. The duplex system 300 includes a data diversification unit (DDU). In one embodiment of the invention, the DDU is an inverter 302 ,

Während des Betriebs invertiert der Inverter 302 das verzögerte binäre Ausgangssignal x2, das von dem Checker-Teil 104 empfangen wird, um ein Signal x2' zu erzeugen. Der zweite Signaturgenerator 108 kann ein linearer Kompaktor mit einer Kompaktionsmatrix H sein. Dann erzeugt der zweite Signaturgenerator 108 eine verzögerte zweite Ausgangssignatur y2, wobei y2 = Hx2' ist. Der erste Signaturgenerator 106 kann ebenfalls ein linearer Kompaktor mit der gleichen Kompaktionsmatrix H wie der zweite Signaturgenerator 108 sein und verarbeitet das binäre Ausgangssignal x1, das von dem Hauptteil 102 empfangen wird, um eine erste Ausgangssignatur y1' zu erzeugen, wobei y1' = Hx1 ist. Wenn die Anzahl an Einsen in jeder Zeile der Matrix H ungerade ist, wie dies bei der Kompaktionsmatrix H von Gleichung (2) der Fall ist, dann wird der All-1-Vektor x1 = 1, ..., 1 mit M Einsen in den All-1-Vektor y1' = 1, ..., 1 mit K Einsen kompaktiert. Da der Kompaktor linear ist, wird die XOR-Summe (Exklusiv-ODER-Summe) von zwei Vektoren x und x' in die XOR-Summe der entsprechenden Ausgangsvektoren des Kompaktors kompaktiert. Ein invertierter Vektor /x kann als eine komponentenweise XOR-Summe des Vektors x und des All-1-Vektors betrachtet werden. Deshalb ist der kompaktierte Ausgangsvektor des invertierten Eingangsvektors des zweiten Signaturgenerators gleich dem invertierten kompaktierten Ausgangsvektor des ersten Signaturgenerators. Wenn in den Ausgangsdaten (wie diese durch die Ausgangssignaturen repräsentiert sind) keine Fehler vorliegen, dann ist y2 = /y1 (d. h., y1 invertiert), und der DSC 110 ist als ein Two-Rail-Checker implementiert.During operation, the inverter inverts 302 the delayed binary output signal x2 from the checker part 104 is received to generate a signal x2 '. The second signature generator 108 may be a linear compactor with a compaction matrix H. Then the second signature generator generates 108 a delayed second output signature y2, where y2 = Hx2 '. The first signature generator 106 may also be a linear compactor with the same compaction matrix H as the second signature generator 108 and processes the binary output signal x1 from the main part 102 is received to produce a first output signature y1 ', where y1' = Hx1. If the number of ones in each row of the matrix H is odd, as in the compaction matrix H of equation (2), then the all-1 vector x1 = 1, ..., 1 with M ones in the All-1 vector y1 '= 1, ..., 1 compacted with K ones. Since the compactor is linear, the XOR (Exclusive OR Sum) sum of two vectors x and x 'is compacted into the XOR sum of the corresponding output vectors of the compactor. An inverted vector / x can be considered as a component-wise XOR sum of the vector x and the all-1 vector. Therefore, the compacted output vector of the inverted input vector of the second signature generator is equal to the inverted compacted output vector of the first signature generator. If there are no errors in the output data (as represented by the output signatures), then y2 = / y1 (ie, y1 inverted) and the DSC 110 is implemented as a two-rail checker.

Wenn der DSC 110 in einer Ausführungsform feststellt, dass y2 = /y1 ist, dann wird das Fehlersignal ein binäres Low sein, anderenfalls wird das Fehlersignal binär High sein. Aber, wie unten noch ausführlicher erörtert werden wird, der DSC 110 kann auch ein Dual-Rail-Fehlersignal erzeugen, das einen Zustand aufweist, der darauf basiert, ob y2 = /y1 ist oder nicht.If the DSC 110 In one embodiment, if y2 = / y1, then the error signal will be a binary low, otherwise the error signal will be binary high. But, as will be discussed in more detail below, the DSC 110 may also generate a dual rail error signal having a state based on whether y2 = / y1 or not.

In einer Ausführungsform der Erfindung ist die Übertragungsfunktion des ersten Signaturgenerators 106 nicht äquivalent zu der Übertragungsfunktion des zweiten Signaturgenerators 108 . Da das Eingangssignal zu dem zweiten Signalgenerator 108, x2', eine Inversion des Eingangssignals x1 zu dem ersten Signalgenerator 106 ist, kann dann unter der Voraussetzung, dass in keinem der beiden Eingangssignale Datenfehler vorliegen, die Übertragungsfunktion des zweiten Signaturgenerators 108 aus der Übertragungsfunktion des ersten Signaturgenerators 106 abgeleitet werden, um zu y2 = /y1 zu führen, und zwar durch Verfahren, die den Fachleuten auf dem Gebiet bekannt sind.In one embodiment of the invention, the transfer function of the first signature generator 106 not equivalent to the transfer function of the second signature generator 108 , Since the input signal to the second signal generator 108 , x2 ', an inversion of the input signal x1 to the first signal generator 106 is, then, assuming that there are no data errors in any of the two input signals, the transfer function of the second signature generator 108 from the transfer function of the first signature generator 106 are derived to result in y2 = / y1 by methods known to those skilled in the art.

Ein Duplexsystem, wie etwa das Duplexsystem 300, das einen Inverter 302 zusammen mit Signaturgeneratoren aufweist, die unterschiedliche Übertragungsfunktionen haben, gestattet die Integration einer Informationsdiversität wischen den Signaturgeneratoren. In der Tat vermindert das Hinzufügen einer Informationsdiversität die Effekte von sogenannten „Common Mode“-Fehlern bzw. systematischen Ausfällen (d. h. Fehlern, die den Signaturgeneratoren gemeinsam sind, die äquivalente Übertragungsfunktionen und paarweise identische Eingaben aufweisen), die anderenfalls eventuell nicht entdeckt werden.A duplex system, such as the duplex system 300 that has an inverter 302 together with signature generators having different Having transfer functions allows the integration of information diversity between the signature generators. In fact, the addition of information diversity reduces the effects of so-called "common mode" errors (ie, errors common to the signature generators having equivalent transfer functions and paired identical inputs) that may otherwise not be detected.

4 ist eine schematische Darstellung eines selbsttestenden Komparators (STC; selftesting comparator) 400 in Übereinstimmung mit einer Ausführungsform der Erfindung. Der DSC 110, wie er in 1 und 3 veranschaulicht ist, kann als der STC 400 implementiert werden. Der STC 400 kann Eingaben empfangen und vergleichen, die in Bezug zueinander entweder invertiert worden sind oder nicht. 4 FIG. 12 is a schematic representation of a self-testing comparator (STC) 400 in accordance with one embodiment of the invention. The DSC 110 as he is in 1 and 3 can be illustrated as the STC 400 be implemented. The STC 400 can receive and compare inputs that have either been inverted with respect to each other or not.

Der STC 400 weist eine erste kombinatorische Schaltung (Schaltnetz) 402 und eine zweite kombinatorische Schaltung (Schaltnetz) 404 auf. In der exemplarischen Ausführungsform, wie sie veranschaulicht ist, ist die erste kombinatorische Schaltung 402 eine Zwischenwert-Bildungsvorrichtungs-(IVB)-Schaltung 402, die 2n binäre Eingaben u1, v1, u2, v2, ... un, vn und n binäre Ausgaben z1, ..., zn aufweist. Die n Ausgangssignale z1, ..., zn werden Zwischensignale genannt. In einer Ausführungsform weist das Signal y1, das von dem DSC 110 empfangen wird, wie in 3 veranschaulicht ist, die Komponenten v1, v2 ... vn auf, und das Signal y2, das von dem DSC 110 empfangen wird, weist die Komponenten u1, u2... un auf. Die IVB-Schaltung 402 ist so ausgelegt, dass die Zwischenwerte bestimmt werden als z1 = u1 ⊕ v1 ⊕ a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ A1z2 = u2 ⊕ v2 ⊕ a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ A2⋮ zn = un ⊕ vn ⊕ a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ Anwobei a1 ... an, b1, ..., bn, und A1, ..., An binäre Koeffizienten mit den folgenden Bedingungen sind: ai Λ bj = 0 für i = 1, ..., n und V n i=1 ai V V n j= 1 bj = 1, wobei ⊕ die logische Exclusive-OR-Operation (Exklusiv-ODER-Operation) ist, Λ die logische AND-Operation (UND-Operation) ist, V die logische OR-Operation (ODER-Operation) ist und V n i=1 ai die logische SUMMATION-(OR)-Operation (SUMMATIONS-(ODER)-Operation) ist. In einer Ausführungsform der Erfindung sind Ai boolesche Konstanten. Die Zwischenwerte des selbsttestenden Komparators (STC) der exemplarischen Ausführungsform werden durch lineare Gleichungen aus den Eingangswerten bestimmt. In der exemplarischen Ausführungsform, wie sie veranschaulicht ist, ist die zweite kombinatorische Schaltung 404 eine Zuordnungsschaltung 404 . Die Zuordnungsschaltung 404 ist so ausgelegt, dass die r Ausgaben Errorl, ..., Errorr - wobei r ≥ 1 ist - aus den Zwischenwerten so bestimmt werden, dass dann, wenn man für alle i ∈ {1, ..., n} entweder zi = Ai oder zi = Ai ⊕ 1 hat, die Fehlerausgangssignale keinen Fehler anzeigen werden. Aber wenn diese Bedingung nicht erfüllt ist, dann werden die Fehlerausgangssignale einen Fehler anzeigen.The STC 400 has a first combinational circuit (switching network) 402 and a second combinatorial circuit (switching network) 404 on. In the exemplary embodiment as illustrated, the first combinational circuit is 402 an intermediate value forming device (IVB) circuit 402 comprising 2n binary inputs u1, v1, u2, v2, ... un, vn and n binary outputs z1, ..., zn. The n output signals z1, ..., zn are called intermediate signals. In one embodiment, the signal y1 that is from the DSC 110 is received, as in 3 1, the components v1, v2 ... vn, and the signal y2 generated by the DSC 110 is received, has the components u1, u2 ... un. The IVB circuit 402 is designed so that the intermediate values are determined as z1 = u1 ⊕ v1 ⊕ a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ A1z2 = u2 ⊕ v2 ⊕ a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ A2 ⋮ zn = un ⊕ vn ⊕ a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn ⊕ If a1 ... an, b1,. .., bn, and A1, ..., An are binary coefficients with the following conditions: ai Λ bj = 0 for i = 1, ..., n and V ni = 1 ai VV nj = 1 bj = 1, where ⊕ is the logical exclusive OR operation, Λ is the logical AND operation (AND operation), V is the logical OR operation (OR operation), and V ni = 1 ai the logical SUMMATION (OR) operation (SUMMATIONS (OR) operation). In one embodiment of the invention, Ai are Boolean constants. The intermediate values of the self-testing comparator (STC) of the exemplary embodiment are determined by linear equations from the input values. In the exemplary embodiment as illustrated, the second combinational circuit is 404 an assignment circuit 404 , The assignment circuit 404 is designed so that the r outputs Errorl, ..., Errorr - where r ≥ 1 - are determined from the intermediate values such that, if for all i ∈ {1, ..., n} either zi = Ai or zi = Ai ⊕ 1, the error output signals will not indicate an error. But if this condition is not met, then the error outputs will indicate an error.

Wenn zum Beispiel r = 2 ist, dann kann die Zuordnungsschaltung 404 so ausgelegt sein, dass Errorl = V n i=1 (zi ⊕ Ai),
Image available on „Original document“
For example, if r = 2, then the mapping circuit may be 404 be designed so that Errorl = V ni = 1 (zi ⊕ Ai),
Image available on "Original document"

Somit ist dann, wenn zi = Ai für i = 1, ..., n ist, Errorl = 0 und Error2 = 1, und wenn zi = Ai ⊕ 1 für i = 1, ..., n ist, Errorl = 1 und Error2 = 0. Aber wenn keine dieser Bedingungen gilt, dann werden entweder beide der Fehlerausgangsignale High sein (d. h. den Wert 1 aufweisen), oder beide der Fehlerausgangssignale werden Low sein (d. h. den Wert 0 aufweisen).Thus, if zi = Ai for i = 1, ..., n, Errorl = 0 and Error2 = 1, and if zi = Ai ⊕ 1 for i = 1, ..., n, Errorl = 1 and Error2 = 0. But if none of these conditions holds then either of the error output signals will be high (ie the value 1 or both of the error outputs will be low (ie, the value 0 exhibit).

5 ist ein schematisches Diagramm der IVB 402 und der Zuordnungsschaltung 404 des STC 400, wie er in 4 veranschaulicht ist, in Übereinstimmung mit einer Ausführungsform der Erfindung. In der exemplarischen Ausführungsform, wie sie veranschaulicht ist, weist die IVB 402 XOR-Gatter 501 - 506 auf und weist die Zuordnungsschaltung 404 ein OR-Gatter 507 und ein NAND-Gatter 508 auf. 5 is a schematic diagram of the IVB 402 and the assignment circuit 404 of the STC 400 as he is in 4 is illustrated in accordance with an embodiment of the invention. In the exemplary embodiment as illustrated, the IVB 402 XOR gate 501 - 506 and assigns the assignment circuit 404 an OR gate 507 and a NAND gate 508 on.

In der exemplarischen Ausführungsform, wie sie veranschaulicht ist, ist n = 4, a1 = a2 = a3 = a4 = 0, b1 = 1, b2 = b3 = b4 = 0, r = 2 und A1 = A2 = A3 = A4 = 0. Obwohl 5 eine spezifische Implementierung beispielshalber veranschaulicht, erstreckt sich der Schutzumfang der vorliegenden Erfindung auf jegliche Kombination von Eingaben, Ausgaben und entsprechenden Werten von a1 ... an; b1 ... bn; und A1, ... An.In the exemplary embodiment as illustrated, n = 4, a1 = a2 = a3 = a4 = 0, b1 = 1, b2 = b3 = b4 = 0, r = 2 and A1 = A2 = A3 = A4 = 0 . Even though 5 exemplifying a specific implementation, the scope of the present invention extends to any combination of inputs, outputs, and corresponding values of a1 ...; b1 ... bn; and A1, ... An.

Für die exemplarische Ausführungsform, wie sie veranschaulicht ist, ist a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn = v1und werden die Zwischenwerte bestimmt als z1 = u1, z2 = u2 ⊕ v2 ⊕ v1, z3 = u3 ⊕ v3 ⊕ v1z4 = u4 ⊕ v4 ⊕ v1.For the exemplary embodiment as illustrated, a1u1 ⊕ a2u2 ⊕ ... ⊕ anun ⊕ b1v1 ⊕ b2v2 ⊕ ... ⊕ bnvn = v1, and the intermediate values are determined as z1 = u1, z2 = u2 ⊕ v2 ⊕ v1, z3 = u3 ⊕ v3 ⊕ v1z4 = u4 ⊕ v4 ⊕ v1.

Die Fehlersignale sind Errorl = z1 V z2 V z3 V z4Error2 = z1 Λ z2 Λ z3 Λ z4 The error signals are Error1 = z1 Vz2 Vz3 Vz4Error2 = z 1 Λ z 2 Λ z 3 Λ z 4

Wie zu sehen ist, werden alle XOR-Gatter 501 - 506 während des normalen Betriebs (d. h. Betrieb ohne einen Fehler) komplett getestet, indem alle möglichen Werte 00, 01, 10 und 11 an die Eingänge der XOR-Gatter angelegt werden.As can be seen, all become XOR gates 501 - 506 during normal operation (ie operation without a fault) completely tested by all possible values 00 . 01 . 10 and 11 be applied to the inputs of the XOR gates.

Die Eingangswerte des OR-Gatters 507 und des NAND-Gatters 508 sind, solange kein Fehler auftritt, 0,0,0,0 oder 1,1,1,1. Es sei angenommen, dass der STC 400 als ein Gleichheits-Checker verwendet wird. Mit anderen Worten, wenn kein Fehler auftritt, dann ist ui = vi für i = 1,..., n = 4.The input values of the OR gate 507 and the NAND gate 508 are as long as no error occurs, 0,0,0,0 or 1,1,1,1. It is assumed that the STC 400 is used as an equality checker. In other words, if no error occurs, then ui = vi for i = 1, ..., n = 4.

Es sei auch beispielshalber angenommen, dass u1 = v1 = 0, u2 = v2 = 1, u3 = v3 = 1 ist und u4 = v4 = 0. ist Dann sind die Ausgaben der XOR-Gatter 501, 503 und 505 jeweils gleich 1, 1 und 0, sind die Ausgaben der XOR-Gatter 502, 504 und 506 alle gleich 0 und sind alle Eingaben zu dem OR-Gatter 507 und dem NAND-Gatter 508 gleich 0. Dies führt zu Two-Rail-Fehlersignalen oder komplementären Fehlersignalen Errorl = 0 und Error2 = 1, was impliziert, dass kein Fehler vorliegt. Suppose, for example, that u1 = v1 = 0, u2 = v2 = 1, u3 = v3 = 1 and u4 = v4 = 0. Then the outputs of the XOR gates are 501 . 503 and 505 each equal to 1, 1 and 0, are the outputs of the XOR gates 502 . 504 and 506 all equals 0 and are all inputs to the OR gate 507 and the NAND gate 508 equals 0. This results in two-rail error signals or complementary error signals Errorl = 0 and Error2 = 1, which implies that there is no error.

Anhand eines weiteren Beispiels sei nun angenommen, dass u1 = v1 = 1, u3 = v2 = 1, u3 = v3 = 1 ist und u4 = v4 = 0 ist. Dann sind die Ausgaben der OR-Gatter 501, 503 und 505 jeweils gleich 0, 0 und 1, sind die Ausgaben der XOR-Gatter 502, 504 und 506 alle gleich 1 und sind alle Eingaben zu dem OR-Gatter 507 und dem NAND-Gatter 508 gleich 1. Dies führt zu Two-Rail-Fehlersignalen oder komplementären Fehlersignalen Errorl = 1 und Error2 = 0, was ebenfalls impliziert, dass kein Fehler vorliegt.By way of another example, suppose that u1 = v1 = 1, u3 = v2 = 1, u3 = v3 = 1, and u4 = v4 = 0. Then the issues are the OR gates 501 . 503 and 505 each equal to 0, 0 and 1, are the outputs of the XOR gates 502 . 504 and 506 all equals 1 and are all inputs to the OR gate 507 and the NAND gate 508 1. This results in two-rail error signals or complementary error signals Errorl = 1 and Error2 = 0, which also implies that there is no error.

Um die Fehlererkennungsfähigkeit des LCSS 400 zu demonstrieren, sei nun angenommen, dass u1 = v1 = u2 = v2 = 1, u3 = 1, u4 = v4 = 0 ist, aber v3 = 0 ist. Dann sind die Ausgaben der XOR-Gatter 501, 503 und 505 jeweils gleich 0, 0 und 1. Die Ausgabe des XOR-Gatters 502 ist gleich 1, die Ausgabe des XOR-Gatters 504 ist gleich 0 und die Ausgabe des XOR-Gatters 506 ist gleich 1. Die Eingangswerte für das OR-Gatter 507 und zu dem NAND-Gatter 508 sind 1,1,0,1, was zu Nicht-Two-Rail-Fehlersignalen (d. h. nicht komplementären Fehlersignalen) Errorl = 1 und Error2 = 1 führt, wodurch ein Fehler angezeigt wird.To the fault detection capability of the LCSS 400 Now let us assume that u1 = v1 = u2 = v2 = 1, u3 = 1, u4 = v4 = 0, but v3 = 0. Then the issues are the XOR gates 501 . 503 and 505 each equal to 0, 0 and 1. The output of the XOR gate 502 is equal to 1, the output of the XOR gate 504 is equal to 0 and the output of the XOR gate 506 is equal to 1. The input values for the OR gate 507 and to the NAND gate 508 are 1,1,0,1, resulting in non-two-rail error signals (ie, non-complementary error signals) Error1 = 1 and Error2 = 1, indicating an error.

In Übereinstimmung mit einer Ausführungsform der Erfindung ist die Ausgabe des STC 400 Two-Rail, wobei (Errorl, Error2) = (1,0) oder (0,1) keinen Fehler anzeigt und (Errorl, Error2) = (1,1) oder (0,0) einen Fehler anzeigt.In accordance with one embodiment of the invention, the output of the STC 400 Two-Rail, where (Errorl, Error2) = (1,0) or (0,1) indicates no error and (Errorl, Error2) = (1,1) or (0,0) indicates an error.

Der STC 400 kann auch Eingaben empfangen, die binäre Komplemente (d. h. die Inverse) voneinander sind. Wenn zum Beispiel kein Fehler auftritt, dann sind die Eingangssignale zu dem STC 400, wie er durch die exemplarische Ausführungsform von 5 veranschaulicht ist, ui = vi für i = 1, ..., n, und die Zwischenwerte werden bestimmt als z1 = u1 = 1 ⊕ v1z2 = 1 ⊕ v1, z2 = 1 ⊕ v1, z2 = 1 ⊕ v1,The STC 400 can also receive inputs that are binary complements (ie, inverses) of each other. For example, if no error occurs, then the inputs to the STC 400 as indicated by the exemplary embodiment of 5 ui = vi for i = 1, ..., n, and the intermediate values are determined as z1 = u1 = 1 ⊕ v1z2 = 1 ⊕ v1, z2 = 1 ⊕ v1, z2 = 1 ⊕ v1,

Für v1 = 0 sind alle Zwischenwerte z1, ..., zn=4 gleich 1, und für v1 = 1 sind alle Zwischenwerte z1, ..., zn=4 gleich 0. Somit ist für v1 = 0 Errorl = 1 und Error2 = 0. Für v1 = 1 ist Errorl = 0 und ist Error2 = 1. Mit anderen Worten, die Fehlersignale sind Two-Rail oder komplementär (d. h. entweder (1,0) oder (0,1)), solange kein Fehler auftritt. Es ist auch zu sehen, dass für einen beliebigen Fehler an den Eingängen, für die nicht alle Eingaben gleichzeitig fehlerhaft sind, die Fehlersignale Errorl und Error2 Two-Rail sind (d. h. entweder (1,1) oder (0,0)), und somit kann ein Fehler erkannt werden.For v1 = 0, all intermediate values z1, ..., zn = 4 are equal to 1, and for v1 = 1, all intermediate values z1, ..., zn = 4 are equal to 0. Thus, for v1 = 0, Errorl = 1 and Error2 = 0. For v1 = 1, Errorl = 0 and Error2 = 1. In other words, the error signals are two-rail or complementary (ie, either (1,0) or (0,1)) as long as no error occurs. It can also be seen that for any error on the inputs for which not all inputs are simultaneously faulty, the error signals Errorl and Error2 are two-rail (ie either (1,1) or (0,0)), and thus an error can be detected.

6 ist ein schematisches Diagramm eines Duplexsystems 600 in Übereinstimmung mit einer Ausführungsform der Erfindung. Elemente des Duplexsystems 600, die identisch zu den Elementen des Duplexsystems 100 und 300 sind, haben die gleichen Bezugszeichen. Das Duplexsystem 600 weist Zeitdatencodierer-(TDE; temporal data encoder)-Engines 602 und 604 sowie Seed-Generatoren (Schlüsselgeneratoren) 606 und 608 auf. In der exemplarischen Ausführungsform, wie sie veranschaulicht ist, sind die TDE-Engines 602 und 604 lineare Rückkopplungsschieberegister mit mehreren Eingängen (MISRs; multiple input linear feedback shift registers) 602 und 604, aber der Schutzumfang der Erfindung erstreckt sich auch auf andere Zeitdaten-Engines, die den Fachleuten auf dem Gebiet bekannt sind, wie etwa CRC-Polynomgeneratoren mit Rückkopplung je nach Bedarf. Die exemplarische Ausführungsform weist auch einen konfigurierbaren MISR-Komparator (CMC; configurable MISR comparator) 610, ein Steuergerät (CFG) 612 und einen Fehler-Checker 614 auf. In einer Ausführungsform ist der Fehler-Checker 614 ein Zwei-Eingangs-Fehler-Checker oder ein Dual-Rail-Fehler-Checker (DREC; dual-rail error checker) 614 . 6 is a schematic diagram of a duplex system 600 in accordance with an embodiment of the invention. Elements of the duplex system 600 identical to the elements of the duplex system 100 and 300 are, have the same reference numerals. The duplex system 600 includes temporal data encoder (TDE) engine 602 and 604 as well as seed generators (key generators) 606 and 608 on. In the exemplary embodiment as illustrated, the TDE engines are 602 and 604 multiple input linear feedback shift registers (MISRs) 602 and 604 but the scope of the invention also extends to other time-domain engines known to those skilled in the art, such as feedback loop-type CRC polynomial generators as needed. The exemplary embodiment also includes a configurable MISR comparator (CMC). 610 , a control unit (CFG) 612 and an error checker 614 on. In one embodiment, the error checker 614 a dual-input fault checker or dual rail error checker (DREC) 614 ,

Wie unten noch ausführlicher erörtert werden wird, können die MISRs 602 und 604 temporale Signaturen auf der Grundlage der angesammelten Historien der Signale (d. h. Ausgangssignaturen) y1 und y2 erzeugen. In der Tat ist das Duplexsystem 600 dafür ausgelegt, (über den CMC 610) angesammelte Historien der Signale y1 und y2 zu vergleichen, wie sie in den temporalen Signaturen verkörpert sind, die von den MISRs erzeugt werden, sowie auch (über den DSC 100) die (unmittelbaren) Ausgangssignaturen y1 und y2 zu vergleichen.As will be discussed in more detail below, the MISRs 602 and 604 generate temporal signatures based on the accumulated histories of the signals (ie, output signatures) y1 and y2. In fact, the duplex system 600 designed (via the CMC 610 ) accumulated histories of the signals y1 and y2, as embodied in the temporal signatures generated by the MISRs, as well as (via the DSC 100 ) compare the (immediate) output signatures y1 and y2.

Die MISRs 602 und 604 können K-Bit-Schieberegister sein. In einer Ausführungsform der Erfindung sind die MISRs 602 und 604 32-Bit-Schieberegister. Während des Betriebs initialisiert jeder Seed-Generator 606 und 608 sein entsprechendes MISR mit einer vordefinierten Kombination aus Einsen und Nullen. Für jeden Taktzyklus verwendet jedes MISR 602 und 604 eine Logikfunktion, die einen Ausgangswert (d. h. eine temporale Signatur) auf der Grundlage von vorbestimmten Rückkopplungs-Bitpositionen und der kombinatorischen Logik des vorhergehenden Ausgangswerts und von Eingangsdaten (d. h. entsprechend empfangenen Ausgangssignaturen y1 und y2) berechnet. Auf diese Weise erzeugt jedes MISR 602 und 604 eine temporale Signatur (d. h. eine angesammelte Historie der entsprechenden Signaturausgänge y1 und y2). Die MISRs 602 und 604 führen eine Form der Rückkopplung in das System 600 ein, da der aktuelle Wert, der in jedem MISR 602 und 604 gespeichert ist, teilweise von dem aktuellen Wert von y1 und y2 und den früheren Werten von y1 und y2 abhängt. Die in den MISRs 602 und 604 gespeicherten Werte repräsentieren auch eine Pseudozufallseingabe zu dem CMC 610, da jeder der gespeicherten Werte auch von den anfänglichen Seed-Werten abhängt, die in den K Bit-Positionen gespeichert sind.The MISRs 602 and 604 can be K-bit shift registers. In one embodiment of the invention, the MISRs 602 and 604 32-bit shift register. During operation, each seed generator initializes 606 and 608 its corresponding MISR with a predefined combination of ones and zeros. Each MISR uses for each clock cycle 602 and 604 a logic function that calculates an output value (ie, a temporal signature) based on predetermined feedback bit positions and combinational logic of the previous output value and input data (ie, correspondingly received output signatures y1 and y2). In this way, each MISR generates 602 and 604 a temporal signature (ie, an accumulated history of the corresponding signature outputs y1 and y2). The MISRs 602 and 604 introduce a form of feedback into the system 600 one, since the current value, in each MISR 602 and 604 is partly dependent on the current value of y1 and y2 and the earlier values of y1 and y2. Those in the MISRs 602 and 604 stored values also represent a pseudorandom input to the CMC 610 because each of the stored values also depends on the initial seed values stored in the K bit positions.

In einer Ausführungsform der Erfindung kann auf die Werte, die in jedem MISR 602 und 604 gespeichert sind, zugegriffen werden, damit sie von der System-Hardware und/oder - Software, die kollektiv als eine TDE-Logikeinheit (z. B. eine MISR-Logikeinheit) (nicht gezeigt) bezeichnet werden, gelesen und analysiert werden können. Während des Betriebs kann ein vorkonfigurierter Code (der auch als ein Testmuster bezeichnet wird) von den Haupt- und Checker-Teilen 102 und 104 ausgeführt werden. Die sich ergebenden temporalen Signaturen können dann aus jedem der MISRs ausgelesen werden, und in Abhängigkeit von den Werten der temporalen Signaturen im Vergleich zu den erwarteten Signaturwerten (auf der Grundlage der anfänglichen Seed-Werte und der Operation bzw. des Betriebs der Haupt- und Checker-Teile in Bezug auf das Testmuster) kann das System feststellen, ob der Fehler von dem Hauptteil 102 oder von dem Checker-Teil 104 stammt. Wenn zum Beispiel das Checker-Teil 104 gerade einen Fehler erzeugt, dann kann das System 600 Komponenten des Mikrocontrollers oder Komponenten, die von einem ECU gesteuert werden, (z. B. über Ausgangssignale) instruieren, auf suboptimalen (d. h. reduzierten) operativen Ebenen zu arbeiten bzw. zu funktionieren.In one embodiment of the invention, the values set forth in each MISR 602 and 604 are stored so that they can be read and analyzed by the system hardware and / or software collectively referred to as a TDE logic unit (eg, a MISR logic unit) (not shown). During operation, a preconfigured code (also referred to as a test pattern) may be part of the main and checker parts 102 and 104 be executed. The resulting temporal signatures can then be read from each of the MISRs, and in dependence on the values of the temporal signatures compared to the expected signature values (based on the initial seed values and the operation of the main and checker Parts relative to the test pattern), the system can determine if the error is from the main part 102 or from the checker part 104 comes. If, for example, the checker part 104 just generates an error, then the system can 600 Components of the microcontroller or components that are controlled by an ECU (eg, via output signals) instruct to operate at sub-optimal (ie, reduced) operational levels.

Unter erneuter Bezugnahme auf 6 empfängt der CMC 610 die temporalen Signaturen von den MISRs 602 und 604 und erzeugt auf der Grundlage eines Vergleichs der temporalen Signaturen ein /Fehler-Signal (/error signal) (er erzeugt z. B. für eine Single-Rail-Ausgabe eine 1, wenn kein entdeckter Fehler vorliegt, und eine 0, wenn ein entdeckter Fehler vorliegt). In einer Ausführungsform der Erfindung ist der CMC 610 äquivalent zu dem STC 400, wie er in 4 veranschaulicht ist. Es sei angemerkt, dass diese Ausgabe des DSC 110 und des CMC 610 entweder Single-Rail, Dual-Rail oder größer als Dual-Rail oder eine andere Codierung sein kann. Ein Fachmann auf dem Gebiet hat das Wissen, den DREC 614 so zu gestalten, dass dieser entweder Single-Rail- oder Dual-Rail-Fehlersignale empfängt, dass er feststellt, ob ein Fehler vorhanden ist, und wenn dem so ist, dass er auf der Grundlage des Zustands der Fehlersignale feststellt, ob der Fehler von Fehlern, Störungen oder Ausfällen in dem DSC 110, von Fehlern, Störungen oder Ausfällen in dem CMC 610 oder von Fehlern, Störungen oder Ausfällen in den redundanten Komponenten des Systems 600 stammte.Referring again to 6 receives the CMC 610 the temporal signatures of the MISRs 602 and 604 and generates an / error signal based on a comparison of the temporal signatures (eg, for a single rail output, it produces a 1 if there is no detected error, and 0 if an detected one) Error is present). In one embodiment of the invention, the CMC 610 equivalent to the STC 400 as he is in 4 is illustrated. It should be noted that this edition of the DSC 110 and the CMC 610 Either single-rail, dual-rail or larger than dual-rail or another encoding can be. One skilled in the art has the knowledge, the DREC 614 to either receive single-rail or dual-rail error signals, to determine if an error is present, and if so, to determine whether the error is from Errors, malfunctions or failures in the DSC 110 , errors, failures or failures in the CMC 610 or errors, faults or failures in the redundant components of the system 600 came.

So empfängt zum Beispiel der DREC 614 das /Fehler-Signal von dem CMC 610 und das Fehlersignal von dem DSC 110 (die komplementäre Werte in den entsprechenden zwei Leitungen bilden). Wenn zum Beispiel angenommen wird, dass die Fehlersignale Single-Rail sind, dann erzeugt das System 600 dann, wenn der DREC 614 eine 1 von dem CMC 610 und eine 0 von dem DSC 110 empfängt, gerade fehlerfreie funktionale Ausgaben aus den funktionalen Eingaben, und in einer Ausführungsform erzeugt der DREC 614 dann eine 0. In einer Ausführungsform wird die Ausgabe des DREC 614 weiter mit der ursprünglichen Ausgabe des DSC 110 kombiniert, um eine weitere Fehlersignalisierung mit komplementären Werte in den entsprechenden Leitungen zu bilden, und der ISM 116 erzeugt eine interne Fehlermitteilung und/oder eine externe Fehlermitteilung, die einen Wert von 1 immer dann hat bzw. haben, wenn die Eingaben zu dem ISM 116 nicht komplementär (d. h. nicht 1,0 oder 0,1) sind, erzeugt aber ansonsten in dem fehlerfreien Zustand eine interne Fehlermitteilung und/oder eine externe Fehlermitteilung, die einen Wert von 0 aufweist bzw. aufweisen.For example, the DREC receives 614 the / error signal from the CMC 610 and the error signal from the DSC 110 (which form complementary values in the corresponding two lines). For example, assuming that the error signals are single-rail, then the system generates 600 then when the DREC 614 a 1 from the CMC 610 and a 0 from the DSC 110 receives just error-free functional outputs from the functional inputs, and in one embodiment, the DREC generates 614 then one 0 , In one embodiment, the output of the DREC 614 continue with the original edition of the DSC 110 combined to form another error signaling with complementary values in the respective lines, and the ISM 116 generates an internal error message and / or an external error message, which has a value of 1 whenever the inputs to the ISM 116 are not complementary (ie, not 1.0 or 0.1), but otherwise generates an internal error message and / or an external error message having a value of 0 in the healthy state.

In einer Ausführungsform der Erfindung weist das CFG 612 Steuerschaltungen und/oder -Software auf, die eine oder mehrere Funktion(en) des CMC 610 steuern bzw. steuert. Das CFG 612 kann zum Beispiel so ausgelegt sein, dass es den CMC 610 auf der Grundlage von Benutzerbefehlen oder internen Systemsignalen (nicht gezeigt) aktiviert oder deaktiviert. Obwohl die Ausführungsform der Erfindung nach 6 spezifische Reaktionen für vorgegebene High- und Low-Werte der verschiedenen Fehlersignale beschreibt, erstreckt sich der Schutzumfang der Erfindung auch auf andere Ausführungsformen, die Datenfehler auf der Grundlage von anderen Kombinationen von Werten der Fehlersignale erkennen.In one embodiment of the invention, the CFG 612 Control circuits and / or software that includes one or more functions of the CMC 610 controls or controls. The CFG 612 For example, it can be designed to be the CMC 610 activated or deactivated based on user commands or internal system signals (not shown). Although the embodiment of the invention according to 6 describes specific responses for given high and low values of the various error signals, the scope of the invention also extends to other embodiments that recognize data errors based on other combinations of values of the error signals.

Obwohl die vorliegende Erfindung unter Bezugnahme auf bestimmte Ausführungsformen beschrieben worden ist, wird es den Fachleuten auf dem Gebiet klar sein, dass verschiedene Änderungen durchgeführt werden können und eine Ersetzung durch Äquivalente durchgeführt werden kann, ohne dass von dem Schutzumfang der vorliegenden Erfindung abgewichen wird. Außerdem können viele Modifikationen vorgenommen werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehren der vorliegenden Erfindung anzupassen, ohne dass von deren Schutzumfang abgewichen wird. Deshalb soll die vorliegende Erfindung nicht auf die bestimmte offenbare Ausführungsform beschränkt sein, sondern die vorliegende Erfindung wird alle Ausführungsformen, die in den Schutzbereich der angehängten Ansprüche fallen, einschließen.Although the present invention has been described with reference to particular embodiments, it will be apparent to those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from the scope thereof. Therefore, the present invention should not be limited to the particular apparent embodiment, but the present invention will include all embodiments falling within the scope of the appended claims.

Claims (8)

Redundantes System mit: einem Hauptteil, das dafür konfiguriert ist, ein Eingangssignal zu empfangen und ein binäres Ausgangssignal zu erzeugen; einer ersten Taktverzögerung, die dafür konfiguriert ist, das Eingangssignal zu empfangen und ein verzögertes Eingangssignal zu erzeugen; einem ersten Signaturgenerator, der mit dem Hauptteil gekoppelt ist und dafür konfiguriert ist, das binäre Ausgangssignal zu empfangen und eine erste Ausgangssignatur zu erzeugen; einer zweiten Taktverzögerung, die mit dem ersten Signaturgenerator gekoppelt ist und dafür konfiguriert ist, die erste Ausgangssignatur zu empfangen und eine verzögerte erste Ausgangssignatur zu erzeugen; einem Checker-Teil, das mit der ersten Taktverzögerung gekoppelt ist und dafür konfiguriert ist, das verzögerte Eingangssignal zu empfangen und ein verzögertes binäres Ausgangssignal zu erzeugen; einem zweiten Signaturgenerator, der mit dem Checker-Teil gekoppelt ist und dafür konfiguriert ist, das verzögerte binäre Ausgangssignal zu empfangen und eine verzögerte zweite Ausgangssignatur zu erzeugen; und einem Komparator, der mit der zweiten Taktverzögerung und dem zweiten Signaturgenerator gekoppelt ist, wobei der Komparator dafür konfiguriert ist, die verzögerte erste Ausgangssignatur und die verzögerte zweite Ausgangssignatur zu empfangen und ein Fehlersignal zu erzeugen, wobei ein Zustand des Fehlersignals auf einem Vergleich der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur basiert.Redundant system with: a body configured to receive an input signal and generate a binary output signal; a first clock delay configured to receive the input signal and generate a delayed input signal; a first signature generator coupled to the body and configured to receive the binary output and generate a first output signature; a second clock delay coupled to the first signature generator and configured to receive the first output signature and generate a delayed first output signature; a checker portion coupled to the first clock delay and configured to receive the delayed input signal and generate a delayed binary output signal; a second signature generator coupled to the checker portion and configured to receive the delayed binary output signal and generate a delayed second output signature; and a comparator coupled to the second clock delay and the second signature generator, the comparator configured to receive the delayed first output signature and the delayed second output signature to generate an error signal, wherein a state of the error signal is based on a comparison of the delayed first Output signature based on the delayed second output signature. Redundantes System nach Anspruch 1, wobei die zweite Taktverzögerung das Eingangssignal um n Taktzyklen verzögert und die erste Taktverzögerung die erste Ausgangssignatur um diese n Taktzyklen verzögert.Redundant system after Claim 1 wherein the second clock delay delays the input signal by n clock cycles and the first clock delay delays the first output signature by those n clock cycles. Redundantes System nach Anspruch 1, wobei das Hauptteil erste Schaltungen aufweist und das Checker-Teil zweite Schaltungen aufweist, die redundant zu den ersten Schaltungen sind.Redundant system after Claim 1 wherein the main part comprises first circuits and the checker part has second circuits that are redundant to the first circuits. Redundantes System nach Anspruch 1, wobei das binäre Ausgangssignal M binäre Komponenten aufweist und wobei der erste Signaturgenerator ein erster Kompaktor ist, wobei der erste Kompaktor dafür konfiguriert ist, die M binären Komponenten zu kompaktieren, um die erste Ausgangssignatur zu erzeugen, die K binäre Komponenten aufweist, wobei K < M ist.Redundant system after Claim 1 wherein the binary output signal M comprises binary components, and wherein the first signature generator is a first compactor, the first compactor being configured to compact the M binary components to produce the first output signature comprising K binary components, where K < Damn. Redundantes System nach Anspruch 1, wobei das binäre Ausgangssignal M binäre Komponenten aufweist und wobei der erste Signaturgenerator ein erster Kompaktor ist, wobei der erste Kompaktor dafür konfiguriert ist, eine Teilmenge J der M binären Komponenten zu kompaktieren, um die erste Ausgangssignatur zu erzeugen, die K + (M - J) binäre Komponenten aufweist, wobei die K binären Komponenten aus der kompaktierten Teilmenge J der M binären Komponenten erzeugt werden, und wobei K < J ≤ M ist.Redundant system after Claim 1 wherein the binary output signal M comprises binary components, and wherein the first signature generator is a first compactor, the first compactor being configured to compact a subset J of the M binary components to produce the first output signature comprising K + (M - M). J) comprises binary components, wherein the K binary components are generated from the compacted subset J of the M binary components, and where K <J ≦ M. Verfahren für einen signaturbasierten Redundanzvergleich, das die folgenden Schritte umfasst: Empfangen eines Eingangssignals durch ein Hauptteil und Erzeugen eines binären Ausgangssignals durch das Hauptteil; Erzeugen eines verzögerten Eingangssignals auf der Grundlage des Eingangssignals; Erzeugen einer ersten Ausgangssignatur auf der Grundlage des binären Ausgangssignals; Erzeugen einer verzögerten ersten Ausgangssignatur auf der Grundlage der ersten Ausgangssignatur; Erzeugen eines verzögerten binären Ausgangssignals auf der Grundlage des verzögerten Eingangssignals; Erzeugen einer verzögerten zweiten Ausgangssignatur durch ein Checker-Teil auf der Grundlage des verzögerten binären Ausgangssignals; Vergleichen der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur durch einen Komparator; und Erzeugen eines Fehlersignals, wobei ein Zustand des Fehlersignals auf dem Vergleich basiert.A method for a signature-based redundancy comparison, comprising the following steps: Receiving an input signal through a body and generating a binary output signal through the body; Generating a delayed input signal based on the input signal; Generating a first output signature based on the binary output signal; Generating a delayed first output signature based on the first output signature; Generating a delayed binary output signal based on the delayed input signal; Generating a delayed second output signature by a checker portion based on the delayed binary output signal; Comparing the delayed first output signature with the delayed second output signature by a comparator; and Generating an error signal, wherein a state of the error signal is based on the comparison. Verfahren nach Anspruch 6, wobei das Eingangssignal und die erste Ausgangssignatur beide um n Taktzyklen verzögert werden.Method according to Claim 6 wherein the input signal and the first output signature are both delayed by n clock cycles. System für einen signaturbasierten Redundanzvergleich, mit: einer Einrichtung zum Empfangen eines Eingangssignals durch ein Hauptteil und einer Einrichtung zum Erzeugen eines binären Ausgangssignals durch das Hauptteil; einer Einrichtung zum Erzeugen eines verzögerten Eingangssignals auf der Grundlage des Eingangssignals; einer Einrichtung zum Erzeugen einer ersten Ausgangssignatur auf der Grundlage des binären Ausgangssignals; einer Einrichtung zum Erzeugen einer verzögerten ersten Ausgangssignatur auf der Grundlage der ersten Ausgangssignatur; einer Einrichtung zum Erzeugen eines verzögerten binären Ausgangssignals auf der Grundlage des verzögerten Eingangssignals; einer Einrichtung zum Erzeugen einer verzögerten zweiten Ausgangssignatur durch ein Checker-Teil auf der Grundlage des verzögerten binären Ausgangssignals; einer Einrichtung zum Vergleichen der verzögerten ersten Ausgangssignatur mit der verzögerten zweiten Ausgangssignatur; und einer Einrichtung zum Erzeugen eines Fehlersignals, wobei ein Zustand des Fehlersignals auf dem Vergleich basiert.A system for a signature-based redundancy comparison, comprising: means for receiving an input signal through a body and means for generating a binary output signal through the body; means for generating a delayed input signal based on the input signal; means for generating a first output signature based on the binary output signal; means for generating a delayed first output signature based on the first output signature; means for generating a delayed binary output signal based on the delayed input signal; means for generating a delayed second output signature by a checker portion based on the delayed binary output signal; means for comparing the delayed first output signature with the delayed second output signature; and means for generating an error signal, wherein a state of the error signal is based on the comparison.
DE102013002088.3A 2012-02-15 2013-02-06 System and method for a signature-based redundancy comparison Active DE102013002088B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261599129P 2012-02-15 2012-02-15
US61/599,129 2012-02-15
US13/430,126 US9118351B2 (en) 2012-02-15 2012-03-26 System and method for signature-based redundancy comparison
US13/430,126 2012-03-26

Publications (2)

Publication Number Publication Date
DE102013002088A1 DE102013002088A1 (en) 2013-08-22
DE102013002088B4 true DE102013002088B4 (en) 2019-10-10

Family

ID=48915293

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013002088.3A Active DE102013002088B4 (en) 2012-02-15 2013-02-06 System and method for a signature-based redundancy comparison

Country Status (1)

Country Link
DE (1) DE102013002088B4 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018214980A1 (en) * 2018-09-04 2020-03-05 Robert Bosch Gmbh Computer system and operating method therefor with improved reliability

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594665B1 (en) 2000-02-18 2003-07-15 Intel Corporation Storing hashed values of data in media to allow faster searches and comparison of data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594665B1 (en) 2000-02-18 2003-07-15 Intel Corporation Storing hashed values of data in media to allow faster searches and comparison of data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Berger, J. M., „A note of Error Detection Codes for Asymmetric Channels;" Information and Control, Band 4, 1961, Seiten 68-73
Mrugalsi, G. et al., „Fault Diagnosis in Designs with Convolutional Compactors" Proc. ITC 2004, Aufsatz 17.2, Seiten 498-507
TAHOORI, M: Reliable Computing I. Vorlesung. Karlsruher Institut für Technologie. 2011 *

Also Published As

Publication number Publication date
DE102013002088A1 (en) 2013-08-22

Similar Documents

Publication Publication Date Title
KR102009047B1 (en) System and method for signature-based redundancy comparison
US6910173B2 (en) Word voter for redundant systems
Touba X-canceling MISR—An X-tolerant methodology for compacting output responses with unknowns using a MISR
DE102019122145A1 (en) SECURED X-MODULAR REDUNDANCY
Efanov et al. Applications of modular summation codes to concurrent error detection systems for combinational boolean circuits
DE102011108103A1 (en) Real-time error detection through inverse processing
DE102006001872A1 (en) Data processing device e.g. smart card, error detection functionality checking device, has error detection device, computing device or input data, which are so influenced that alarm signal is delivered, if no error signal is received
Hussain et al. BIST-PUF: Online, hardware-based evaluation of physically unclonable circuit identifiers
DE102015110144B4 (en) Chip and method for testing a processing component of a chip
Aboulhamid et al. A class of test generators for built-in testing
Sushma et al. Feedback oriented XORed flip-flop based arbiter PUF
EP2889797A2 (en) Monitoring device for monitoring a circuit
DE102013002088B4 (en) System and method for a signature-based redundancy comparison
DE60208062T2 (en) DIGITAL SYSTEM AND CORRESPONDING PROCEDURE FOR ERROR IDENTIFICATION
DE102006027448B4 (en) circuitry
WO2013004494A1 (en) Method for securely checking a code
Kibar et al. Evaluating the impact of repetition, redundancy, scrubbing, and partitioning on 28-nm FPGA reliability through neutron testing
Rashidi Fault-tolerant and error-correcting 4-bit S-boxes for cryptography applications with multiple errors detection
Ibrahim et al. Minimization of CTS of k-CNOT circuits for SSF and MSF model
DE102019124423A1 (en) Cryptographic unit
WO2005020075A1 (en) Electric diagnostic circuit and method for testing and/or diagnosing an integrated circuit
DE102013204272A1 (en) Method for detecting a correlation
DE102004043480B3 (en) Apparatus and method for detecting a failure of a cryptographic unit, preferably the AES algorithm
Alves Decting Errors in Reversible Circuits With Invariant Relationships
DE10309255B4 (en) Methods and circuits for detecting unidirectional errors

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative