EP2550598A1 - Redundante zwei-prozessor-steuerung und steuerungsverfahren - Google Patents

Redundante zwei-prozessor-steuerung und steuerungsverfahren

Info

Publication number
EP2550598A1
EP2550598A1 EP11711799A EP11711799A EP2550598A1 EP 2550598 A1 EP2550598 A1 EP 2550598A1 EP 11711799 A EP11711799 A EP 11711799A EP 11711799 A EP11711799 A EP 11711799A EP 2550598 A1 EP2550598 A1 EP 2550598A1
Authority
EP
European Patent Office
Prior art keywords
processor
processors
multiplexer
unit
redundant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP11711799A
Other languages
English (en)
French (fr)
Inventor
Adrian Traskov
Thorsten Ehrenberg
Lukusa Didier Kabulepa
Felix Wolf
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.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Publication of EP2550598A1 publication Critical patent/EP2550598A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware

Definitions

  • the following invention relates to a redundant two-processor controller and a control method.
  • Known fault-tolerant system architectures include at least three processor cores with shared or shared memory.
  • the lockstep operation of the processors is always by monitoring
  • DC step operation also referred to as synchronous execution of a program or program parts by the processors.
  • Figures 7 and 8 show conventional security architectures.
  • TMR triple redundancy
  • Parity bits provided and compared. After detection of a parity error on a page without occurrence of a
  • Step error is very desirable.
  • the parity check may be incorrect
  • a redundant two-processor controller includes a first processor and a second processor for synchronously executing a control program, at least one first multiplexer for selectively connecting at least one
  • control device comprises a
  • a recovery control unit configured to monitor the execution of at least one test program by the two processors upon the occurrence of a synchronization error and to evaluate the test results, and further configured to include at least the first multiplexer
  • the processors monitored. This can be done by comparing the execution of the control program "line by line” with each other, whereby the same results must be available at the same time.
  • active processor is meant here the processor that actually drives the peripheral unit.
  • passive processor is the one that only runs synchronously, i. it receives the same data and processes the same program steps as the active processor.
  • Synchronization error (lockstep error) is basically a complete shutdown and the system can only be reset externally. It should be noted that the mere resetting of a system for
  • Lock step error (lockstep error). On the other hand, if a processor was rated as faulty, the control device is controlled by the
  • Reconfigured recovery control unit in such a way that the outputs of the faulty processor are ignored from now on and ensures that the peripheral unit can now be controlled only by the error-free processor, but not by the faulty processor. Typically, this is done by reconfiguration of the first multiplexer, so that a data flow only between
  • peripheral unit and error-free processor is possible.
  • the reconfiguration causes the
  • Control device can, however, an error signal
  • Control device with means for controlling a
  • Synchronization error can be in any
  • safety-relevant systems are used.
  • One example is brake applications in the automotive sector. It is based on only two redundant processors Control device designed so that it maintains the existing security level and allows high availability of the system.
  • Actuators input / output units and sensors.
  • any errors that have occurred are analyzed to find out where the error may have occurred or by which component it was caused. On this basis, a suitable test program is then selected, wherein the test programs and the expected test results are stored in advance, for example in the recovery control unit. If the error, i. the difference between the two
  • the recovery control unit is configured to configure the first multiplexer based on the test result.
  • the multiplexer and generally the controller, is thus configured depending on the test result. It is possible that the function of the multiplexer is taken over by a bus matrix.
  • the control device further comprises at least a second
  • Multiplexer for selectively connecting at least one
  • Recovery control unit is configurable. The control device thus also allows the optional
  • control device further comprises at least a second one
  • Comparison unit for monitoring the synchronization state of the two processors and for detecting a
  • the controller includes a first bus matrix connecting the first processor to the first multiplexer and a second bus matrix connecting the second processor to the second multiplexer.
  • the first peripheral unit is a common unit that can be selectively driven by one of the two processors.
  • the control device has at least two further peripheral units, wherein the one of the two peripheral units only the first processor and the other of the two peripheral units only the second
  • a common peripheral unit or component is here understood to mean a unit which is redundant
  • control is optionally carried out by one of the two processors, the other is used for comparison.
  • a private unit is only controlled by one of the two processors. The other one
  • the two further peripheral units are redundant units, i. they are physically identical and serve to perform the same function.
  • the first and / or the second comparison unit is set up, a synchronization error signal when a
  • Synchronization error signal may be an interrupt, for example.
  • a control method comprises the synchronous execution of a control program by a first and a second processor, which are connected via a multiplexer to at least one peripheral unit to be controlled, wherein only one of the two processors controls the peripheral unit at a certain time.
  • the synchronous execution of the control program is monitored by a comparison unit.
  • a synchronization error signal is output when the two processors are desynchronized.
  • the execution of the control program is first interrupted by the two processors. Then, a test is made to check if one of the two processors is faulty. If both processors are error free, the synchronous execution of the control program will be through the two
  • Processors continued. On the other hand, if one of the two processors has been identified as faulty, the multiplexer and the compare unit are configured such that there is no further communication with the faulty processor and no further monitoring by the compare unit and that the healthy processor drives the peripheral unit. The processing of the control program is continued by the error-free processor. If both processors are faulty, the controller is shut down.
  • the test comprises the simultaneous execution of at least one
  • the processor does not have the test program within
  • the processor has not gone into the idle state after the first time period Tl for a second period of time T2. This is to ensure that not only the correct or incorrect processing is taken into account, but also whether the processors have completed the test within a predetermined time. Hibernate scanning is used to determine if a processor is still outputting data while it is not processing any instructions. This also indicates a faulty processor.
  • the synchronization error is evaluated and an error type
  • At least one test program depending on the error type is selected for checking the processors. This can be one or more if necessary
  • FIG. 1 shows a control device according to an embodiment in normal operation
  • Control device in case of failure of a processor.
  • FIG. 3 shows a control device according to one embodiment.
  • FIG. 4 shows a control device according to one embodiment.
  • FIG. 5 shows a control device according to an embodiment.
  • FIG. 6 shows the sequence of a control program according to an embodiment.
  • FIG. 7 shows an architecture with two processors.
  • FIG 8 shows an architecture with a division of peripheral modules into two groups A and B.
  • Figure 1 shows a schematic control device with a first and a second processor 1, 2 and a first and second multiplexer 91, 92.
  • Each of the multiplexers 91, 92 forms a unit with one each
  • Comparison device which is referred to in the figures as a comparator.
  • Each of the multiplexers 91, 92 is connected to a peripheral unit 95, 96, respectively, and allows optional access of the processors 1, 2 to the peripheral units 95, 96.
  • a recovery control unit 44 is operable both with the two processors 1, 2 and
  • the processors 1, 2 may also be
  • Processor 1 communicates with and controls peripheral unit 95 and processor 2 communicates with and controls peripheral unit 2.
  • Processor 1 communicates with and controls peripheral unit 95 and processor 2 communicates with and controls peripheral unit 2.
  • Multiplexer / comparator 91 and peripheral unit 95 form a branch A
  • processor 2 multiplexer / comparator 92 and peripheral unit 96 form a branch B.
  • processor A there are crosswise communication paths on the one hand between processor 2 and multiplexer / comparator 91 and on the other hand, between processor A and multiplexer / comparator 92.
  • the comparators 91, 92 respectively compare whether the processors are in sync with each other, i. whether you
  • Comparators 91, 92 output no further error signals.
  • peripheral unit control program 95 and peripheral unit 96 the execution of the control program including peripheral unit control program 95 and peripheral unit 96, to be resumed. This increases the availability of the system.
  • the architecture shown in Figures 1 and 2 comprises a division of peripheral modules into two groups A and B.
  • Each group comprises at least one processor 1, 2, a bus switch not shown here (bus matrix, bus crossbar) and to be controlled peripheral modules 95, 96.
  • Memory modules can be implemented in one group or in both groups.
  • the page A is actually (ie physically) always driven by the processor 1 (processor A).
  • Page B is actually always from the processor 2 (processor B)
  • Data of the peripheral modules 95 may be passed across to the side B across the multiplexers 91, 92.
  • the processor 1 may similarly read out data from peripheral modules 96.
  • FIG. 3 shows an embodiment in which a peripheral unit 22, which is referred to therein as peripheral modules, is redundantly driven by two processors 1 and 2, wherein at a given time actually only one of the two processors, the unit 22 drives. This is done via a multiplexer 21.
  • Another peripheral unit 5, which may be a common internal peripheral unit, for example a memory 5, is over one Multiplexer 20 connected to the two processors 1, 2.
  • the processors 1, 2 themselves are each connected to the multiplexers 20, 21 via a bus matrix 3, 4. Also in this
  • the multiplexers 20, 21, which are in unit with respective comparison units (comparators), may be suitably configured in case of failure to keep the control available.
  • Each processor 1, 2 are assigned private components or units that are only controlled by it.
  • the private components in FIG. 4, the two peripheral units 61, 62) are
  • peripheral units can be any of the two redundant ones
  • Locking step error (lockstep error) triggers a
  • autonomous hardware monitoring module in the figures the recovery control unit 44, drop.
  • test programs can be derived from the error context. For example, the error that has occurred is classified and assigned to an error type and this
  • Control program which was interrupted due to the interrupt, want to continue again. This should be prevented and the processors 1, 2 should instead in a
  • each processor should have its own
  • Hardware Monitoring Module (Restore Control Unit 44) readable registers. The duration is measured by a timer of the autonomous hardware monitoring module.
  • Time window T2 compares the
  • Recovery control unit 44 the test results of the two processors 1, 2 with the values pre-programmed in hardware. If the test results of a processor do not match the default values, the
  • Processors 1, 2 may be suitable for recovery. in the
  • Restore control unit 44 by means of an interrupt bring a return to the lockstep operation. If only one processor has completed all tests successfully, it will drive its associated peripheral modules and all shared components.
  • FIG. 4 shows a further embodiment, which is based on that of FIG.
  • the architecture of the controller is divided into two private areas 30 and 31, referred to as areas A and B, and a common area 40 divided up.
  • the private areas contain modules or
  • the recovery control unit 44 in the form of a hardware module is used for the safe recovery of the synchronization after a lock step error or lockstep error.
  • Restore control unit 44 all accesses
  • these units are the common periphery 72 and, for example, the redundant peripheral units 61 and 63. These are connected via respective peripheral bridges 60, 71, and 62.
  • the lock step error triggers an interrupt of the program flow.
  • each processor 1, 2 can only access modules that are located in its assigned private area and do not perform any security-relevant subfunctions. Furthermore, access to non-safety-relevant components 41, 42 can be made possible in multiplex mode. Such components 41, 42 are
  • Multiplexer a controller and a comparator, and the memory 52, which is designed here as RAM.
  • the interrupt routine serves to improve the integrity of the Architecture and especially the processors to consider. At the end of the interrupt processing, the processors should
  • the interrupt routine consists of test programs, whereby each test program should deliver the correct result within a certain time interval. After a predetermined
  • the recovery control unit 44 checks the correctness of the results stored by the processors. The recovery of the lockstep operation assumes that all the results to be checked by the recovery control unit 44 are correct. Otherwise, only the processor that has correct results will remain active for the running application.
  • the module 50 is configured to both
  • Processors 1, 2 can access the program memory 51 in multiplex mode.
  • FIG. 5 shows an embodiment in extension of FIGS. 1 and 2
  • Recovery control unit 44 is similar to FIG. 4. If a processor 1, 2 does not provide correct results for the recovery of lockstep operation, the
  • Peripheral controller 91 or 92 which here form the multiplexers and comparators, configure so that the underlying peripheral modules or units 95, 96 are controlled by the other processor.
  • the architecture in FIG. 4 also has two redundant RAM modules 80, 81. If the lockstep error was caused by an error in RAM, the erroneous RAM address is stored. This address is checked in the interrupt routine. If the RAM error is uncorrectable, the
  • Restore control unit 44 does not reintegrate the affected side A or B (ie processor and RAM) into the active control. Subsequently, the
  • Restore control unit 44 to ensure that the peripheral modules, so far from the now faulty
  • FIG. 6 schematically shows the sequence of a
  • the program execution 300, 500 is interrupted by the respective processors by means of an interrupt (LOLI, Lockstep loss interrupt) and the respective state (initial content) in 321, 521 stored.
  • the interrupt simultaneously activates the
  • the recovery control unit starts a timer 400.
  • the processors then execute the tests specified by the recovery control unit in step 322, 522, forcing an interrupt-free return to 323, 523 after completion of the tests (RFI, Return from
  • the recovery control unit checks whether the tests have been executed within the time period T1 (325, 525) and whether the processors have entered the idle state (401). After a predetermined period of time T2, the recovery control unit checks in 402, 326, 526 whether the processors are still idle.
  • Test results are error-free, that the respective processor until the expiration of the period Tl in the idle state
  • FIG. 7 shows a conventional architecture with two processors 1 and 2, the processor 2 serving for monitoring by the processor 1. The entire control of
  • Peripheral modules and all memory accesses are via the processor 1. This architecture is unsuitable for mastering lockstep failures resulting from the loss of synchronization.
  • FIG 8 shows a conventional architecture with a division of peripheral modules into two groups A and B.
  • Each group comprises at least one processor 1,2, a bus switch (bus matrix, bus crossbar) 3,4 and I / O modules 6,7.
  • Memory modules 5 can be implemented in a group or in both groups and via a
  • the invention is not on the present

Landscapes

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

Abstract

Es wird eine redundante Zwei-Prozessor-Steuerungseinrichtung vorgeschlagen. Die Steuerungseinrichtung umfasst einen ersten Prozessor (1) und einen zweiten Prozessor (1) zur synchronen Ausführung eines Steuerungsprogramms; wenigstens einen ersten Multiplexer (70, 91) zum wahlweisen Verbinden wenigstens einer anzusteuernden ersten peripheren Einheit (72, 95) mit einem der zwei Prozessoren (1, 2); wenigstens eine erste Vergleichseinheit (70, 91) zur Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines Synchronisationsfehlers, sofern die beiden Prozessoren (1, 2) desynchronisiert sind; und eine Wiederherstellungskontrolleinheit (44), die eingerichtet ist, die Ausführung wenigstens eines Testprogramms durch die beiden Prozessoren (1, 2) nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und die eingerichtet ist, wenigstens den ersten Multiplexer (70, 91) zu konfigurieren.

Description

Redundante Zwei-Prozessor-Steuerung und Steuerungsverfahren
[0001] Die folgende Erfindung betrifft eine redundante Zwei- Prozessor-Steuerung und ein Steuerungsverfahren.
[0002] Bekannte fehlertolerante Systemarchitekturen umfassen mindestens drei Prozessorkerne mit geteiltem oder gemeinsam benutztem Speicher. Hierbei wird der Gleichschrittbetrieb (lockstep) der Prozessoren stets durch Überwachen von
Bussignalen überprüft. Im Folgenden wird der
Gleichschrittbetrieb auch als synchrones Abarbeiten eines Programms oder Programmteile durch die Prozessoren bezeichnet.
[0003] Fällt der aktive Prozessor aus, so geht die
Eigentümerschaft über den Speicherbereich und Komponenten, die vom aktiven Prozessor über Eingabe/Ausgabekanäle angesteuert werden, an einen anderen Prozessor über. Im
Gleichschrittsfehlerzustand (lockstep error,
Synchronisationsfehler) , der auf einen
Verriegelungsschrittfehler folgt, werden Datenzugriffe und Steuerungsprozesse dem aktiven Prozessor entnommen und durch einen anderen Prozessor aufrechterhalten. Figuren 7 und 8 zeigen herkömmliche Sicherheitsarchitekturen.
[0004] Bestehend aus einer Dreifach-Redundanz (TMR: Triple modular redundancy) von Prozessoren und gemeinsam benutztem Speicher stellt die klassische minimale Konfiguration für ein fehlertolerantes System eine noch teuere Lösung für manche Sicherheitsarchitekturen dar, deren Sicherheitskonzept auf der Verwendung von zwei redundanten, im Gleichschritt (lockstep) bzw. synchron laufenden Prozessoren basiert. Die
Fehlertoleranz bildet jedoch eine besondere Herausforderung für zweifach redundante Prozessoren. [0005] Es sind Versuche unternommen worden, die darauf abzielen, die Fehlertoleranzfähigkeit in
Sicherheitsplattformen mit nur zwei redundanten Prozessoren zu unterstützen. In US 5,915,082 werden intern Busse mit
Paritätsbits versehen und verglichen. Nach Erkennung eines Paritätsfehlers auf einer Seite ohne Auftreten eines
Gleichschrittfehlers (lockstep error) wird der dazu gehörende Prozessor getrennt, so dass er keinen Einfluss mehr im System hat. Nach jedem Gleichschrittfehler der ohne Paritätsfehler auftritt, wird das System jedoch abgeschaltet. Diese auf Paritätsprüfung basierte Vorgehensweise bietet keine
ausreichende Abdeckung in den Fällen, in denen die
Verfügbarkeit eines redundanten Systems nach einem
Gleichschrittfehler (lockstep error) sehr erwünscht ist. Die Paritätsprüfung kann beispielsweise zu einer falschen
Entscheidung führen, falls unterschiedliche Mehr-Bit-Fehler angezeigt werden.
[0006] US 2006/ 0107106 beschreibt ein Verfahren zur
Unterstützung der Verfügbarkeit in einem aus mehreren synchron laufenden Prozessorpaaren bestehenden System. In jedem Paar sind zwei redundante Prozessoren zusammengesetzt. Die Ausgänge der gepaarten Prozessoren werden stets verglichen. Falls ein Fehler in einem Prozessorpaar auftritt, wird ein anderes Prozessorpaar als Boot-Prozessorpaar die Ansteuerung des Systems übernehmen. In der Zwischenzeit wird das mit Fehler behaftete Prozessorpaar versuchen, die Synchronisation
zurückzugewinnen und sich als Ersatzprozessorpaar zur
Verfügung zu stellen. Somit wird eine hohe Verfügbarkeit des Systems gewährleistet. Dieses Verfahren ist jedoch teuer für viele eingebettete Systeme, die insbesondere eine hohe
Verfügbarkeit möglichst mit einem einzigen Prozessorpaar aufweisen müssen. Hinzu kommt die Tatsache, dass jede Rückgewinnung der Synchronisation eines Prozessors strengen sicherheitsgerichteten Prüfungen in sicherheitsrelevanten Systemen unterzogen werden muss.
[0007] Vor diesem Hintergrund besteht Bedarf an einer
Sicherheitsarchitektur mit nur zwei redundanten Prozessoren, die eine hohe Verfügbarkeit des Systems ermöglicht.
[0008] Diese Aufgabe wird gelöst durch eine Zwei-Prozessor Steuerungseinrichtung nach Anspruch 1. Weiterhin betrifft die Erfindung Zwei-Prozessor Steuerungseinrichtungen nach
Ansprüchen 7 und 10 sowie ein Steuerungsverfahren nach
Anspruch 14.
[0009] Weitere Ausführungsformen, Modifikationen und Vorteile sind in der nachfolgenden Beschreibung, Zeichnungen und in den Ansprüchen beschrieben.
[0010] Gemäß einer oder mehrerer Ausführungsformen umfasst eine redundante Zwei-Prozessor-Steuerungseinrichtung einen ersten Prozessor und einen zweiten Prozessor zur synchronen Ausführung eines Steuerungsprogramms, wenigstens einen ersten Multiplexer zum wahlweisen Verbinden wenigstens einer
anzusteuernden ersten peripheren Einheit mit einem der zwei Prozessoren und wenigstens eine erste Vergleichseinheit zur Überwachung des Synchronisationszustands der beiden
Prozessoren und zur Erkennung eines Synchronisationsfehlers. Weiterhin umfasst die Steuerungseinrichtung eine
Wiederherstellungskontrolleinheit, die eingerichtet ist, die Ausführung wenigstens eines Testprogramms durch die beiden Prozessoren nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und weiterhin eingerichtet, wenigstens den ersten Multiplexer zu
konfigurieren . [0011] Durch die Vergleichseinheit wird der synchrone Betrieb, d.h. der Gleichschritt, der Prozessoren überwacht. Dies kann dadurch erfolgen, dass die Abarbeitung des Steuerungsprogramms „zeilenweise" miteinander verglichen wird, wobei die gleichen Ergebnisse zu gleichen Zeitpunkten vorliegen müssen. Ist dies nicht gegeben, liegt ein Gleichschrittfehler bzw.
Verriegelungsschrittfehler vor, d.h. die Prozessoren arbeiten nicht mehr synchron.
[0012] Die synchrone Abarbeitung des Steuerungsprogramms ist ein wichtiges Merkmal redundanter Systeme, da hiermit
überprüft werden kann, dass der derzeit aktive Prozessor fehlerfrei arbeitet, wobei dabei unterstellt wird, dass das gleichzeitige Auftreten desselben Fehlers bei beiden
Prozessoren statistisch sehr unwahrscheinlich ist. Bei
Auftreten eines Synchronisationsfehlers ist es allerdings zunächst unklar, ob der Fehler beim aktiven oder beim passiven Prozessor aufgetreten ist. Unter aktivem Prozessor soll hier der Prozessor verstanden werden, der tatsächlich die periphere Einheit ansteuert. Der passive Prozessor ist derjenige, der lediglich synchron mitläuft, d.h. dieser erhält die gleichen Daten und arbeitet die gleichen Programmschritte ab wie der aktive Prozessor.
[0013] Bei Auftreten eines Synchronisationsfehlers ist somit nicht mehr gewährleistet, dass die Steuerung korrekt
ausgeführt wird, d.h. es besteht ein Risiko insbesondere bei sicherheitsrelevanten Systemen, wie sie beispielsweise im
Automobilbereich aber auch in anderen Bereichen zum Einsatz kommen. Üblicherweise muss das Steuerungssystem,
beispielsweise die in Figuren 7 und 8 gezeigten, vollständig abgeschaltet werden. [0014] Bei der hier vorgeschlagenen Lösung ist eine Wiederherstellungskontrolleinheit vorgesehen, welche bei
Auftreten eines Synchronisationsfehlers die beiden Prozessoren einem Test unterwirft, um zu bestimmen, welcher der beiden Prozessoren fehlerbehaftet ist. Nach Durchführung des Tests und Bewertung der Testergebnisse entscheidet die
Wiederherstellungskontrolleinheit das weitere Vorgehen.
[0015] Sofern beide Prozessoren den Test bestanden haben, wird davon ausgegangen, dass beide Prozessoren fehlerfrei sind. In diesem Fall wird die synchrone Ausführung des
Steuerungsprogramms fortgeführt.
[0016] Diese Lösung hat den entscheidenden Vorteil, dass die Ansteuerung der peripheren Einheit unter Beibehaltung der hohen Sicherheitsstufe fortgesetzt werden kann, denn die beiden Prozessoren wurden einem Test auf Fehlerfreiheit unterworfen. Dies ist ein entscheidender Vorteil gegenüber anderen Lösungen, bei denen nach Auftreten eines
Synchronisationsfehlers (lockstep error) grundsätzlich eine vollständige Abschaltung erfolgt und das System nur extern wieder zurückgesetzt werden kann. Dabei muss beachtet werden, dass das bloße Zurücksetzen (reset) eines System für
sicherheitsrelevante Anwendungen häufig keine
zufriedenstellende Lösung darstellt, da keine Fehlerbewertung vorgenommen wird, d.h. es bleibt unerkannt, was zu dem
Synchronisationsfehler geführt hat. Die hier beschriebene Lösung bietet daher einen Weg, wie mit Synchronisationsfehler umgegangen werden kann und ermöglicht die Rückgewinnung der Synchronisation von zwei redundanten Systemen nach einem
Verriegelungsschritt- bzw. Gleichschrittfehler (Lockstep error) . [0017] Wurde dagegen ein Prozessor als fehlerhaft bewertet, wird die Steuerungseinrichtung durch die
Wiederherstellungskontrolleinheit umkonfiguriert und zwar so, dass die Ausgaben des fehlerhaften Prozessors von nun an ignoriert werden und sichergestellt wird, dass die periphere Einheit nun nur noch vom fehlerfreien Prozessor angesteuert werden kann, nicht jedoch durch den fehlerhaften Prozessor. Typischerweise erfolgt dies durch Umkonfigurierung des ersten Multiplexers , so dass ein Datenfluss nur noch zwischen
peripherer Einheit und fehlerfreiem Prozessor möglich ist. Außerdem führt die Umkonfigurierung dazu, dass die
Vergleichseinheit keine Überwachung mehr durchführt.
[0018] Diese Lösung hat den entscheidenden Vorteil, dass die Ansteuerung der peripheren Einheit fortgesetzt werden kann, auch wenn dies jetzt ohne Redundanz auf der Prozessorseite erfolgt. Dies ist ein erheblicher Vorteil gegenüber bekannten Lösungen, bei denen die Steuerung bei Auftreten eines
Synchronisationsfehlers (lockstep errors) vollständig
abgeschaltet wurde. Die vorgeschlagene Lösung erhöht dabei die Verfügbarkeit des Systems, was bei kritischen Anwendungen besonders wichtig ist, damit die Kontrolle über das System weiter aufrecht erhalten werden kann. Die
Steuerungseinrichtung kann allerdings ein Fehlersignal
abgeben, um auf den nun nur noch vorliegenden „Ein-Prozessor- Betrieb" hinzuweisen, so dass eine Wartung erfolgen kann.
[0019] Die hier vorgeschlagene redundante
Steuerungsvorrichtung mit Mitteln zur Beherrschung eines
Synchronisationsfehlers kann in beliebigen
sicherheitsrelevanten Systemen eingesetzt werden. Ein Beispiel sind Bremsanwendungen im Automotive-Bereich . Dabei ist die auf nur zwei redundanten Prozessoren basierende Steuerungsvorrichtung so ausgestaltet, dass sie die vorhandene Sicherheitsstufe beibehält und eine hohe Verfügbarkeit des Systems ermöglicht.
[0020] Unter der anzusteuernden peripheren Einheit kann prinzipiell jede Einheit verstanden werden, auf die der jeweilige Prozessor zugreift. Beispiele sind Speicher,
Aktuatoren, Eingabe/Ausgabe-Einheiten und Sensoren.
[0021] Gemäß einer oder mehrerer Ausführungsformen ist die Wiederherstellungskontrolleinheit so eingerichtet ist, den Synchronisationsfehler einem Fehlertyp zuzuordnen und auf Basis des Fehlertyps ein Testprogramm auszuwählen. Der
aufgetretene Fehler wird analysiert, um herauszufinden, wo der Fehler aufgetreten sein kann bzw. durch welche der Komponente er verursacht wurde. Auf dieser Grundlage wird dann ein geeignetes Testprogramm ausgewählt, wobei die Testprogramme sowie die erwarteten Testergebnisse vorab abgespeichert sind, beispielsweise in der Wiederherstellungskontrolleinheit. Wenn sich der Fehler, d.h. der Unterschied der beiden
Prozessorausgaben, in einer unterschiedlichen Speicheradresse zeigt, kann beispielsweise ein Testprogramm gewählt werden, mit dem Speicherfehler erkennbar sind. Diese Herangehensweise verbessert die Fehlereingrenzung .
[0022] Gemäß einer oder mehrerer Ausführungsformen ist die Wiederherstellungskontrolleinheit eingerichtet ist, den ersten Multiplexer auf Basis des Testergebnisses zu konfigurieren. Der Multiplexer, und allgemein die Steuerungseinrichtung, wird so in Abhängigkeit vom Testergebnis konfiguriert. Es ist möglich, dass die Funktion des Multiplexers von einer Bus- Matrix übernommen wird. [0023] Gemäß einer oder mehrerer Ausführungsformen weist die Steuerungseinrichtung weiterhin wenigstens einen zweiten
Multiplexer zum wahlweisen Verbinden wenigstens einer
anzusteuernden zweiten peripheren Einheit mit einem der zwei Prozessoren auf, wobei der zweite Multiplexer durch die
Wiederherstellungskontrolleinheit konfigurierbar ist. Die Steuerungsvorrichtung ermöglicht so auch die wahlweise
Ansteuerung von mehreren peripheren Einheiten unter Beachtung der Sicherheitsaspekte.
[0024] Gemäß einer oder mehrerer Ausführungsformen weist die Steuerungseinrichtung weiterhin wenigstens eine zweite
Vergleichseinheit zur Überwachung des Synchronisationszustands der beiden Prozessoren und zur Erkennung eines
Synchronisationsfehlers auf. Dies ermöglicht die
wechselseitige Überwachung und erhöht damit die
Zuverlässigkeit des Systems.
[0025] Gemäß einer oder mehrerer Ausführungsformen weist die Steuerungseinrichtung eine erste Bus-Matrix, welche den ersten Prozessor mit dem ersten Multiplexer verbindet, und eine zweite Bus-Matrix auf, welche den zweiten Prozessor mit dem zweiten Multiplexer verbindet.
[0026] Gemäß einer oder mehrerer Ausführungsformen ist die erste periphere Einheit eine gemeinsame Einheit ist, die wahlweise von einem der beiden Prozessoren angesteuert werden kann. Weiterhin weist die Steuerungsvorrichtung wenigstens zwei weitere periphere Einheiten auf, wobei die eine der beiden peripheren Einheiten nur dem ersten Prozessor und die andere der beiden peripheren Einheiten nur dem zweiten
Prozessor als private periphere Einheit zugeordnet ist, auf die nur der jeweils zugeordnete Prozessor zugreifen kann. Unter einer gemeinsamen peripheren Einheit bzw. Komponente wird hier eine Einheit verstanden, welche redundant
angesteuert wird, d.h. die Ansteuerung erfolgt wahlweise durch einen der beiden Prozessoren, wobei der andere zum Vergleichen dient. Eine private Einheit wird dagegen nur von jeweils einem der beiden Prozessoren angesteuert. Der jeweils andere
Prozessor hat keinen Zugriff auf diese Einheit, auch nicht den oder die Multiplexer. Die hier vorgestellte Lösung gestattet es, die Wiedergewinnung der Synchronisation zwischen zwei redundanten Prozessoren auch unter Berücksichtigung von nichtredundanten Komponenten zu ermöglichen, die typischerweise in verschiedenen eingebetteten Systemen aus Kostengründen
implementiert werden.
[0027] Gemäß einer oder mehrerer Ausführungsformen sind die zwei weiteren peripheren Einheiten redundante Einheiten, d.h. sie sind physikalisch identisch und dienen zur Ausführung der gleichen Funktion.
[0028] Gemäß einer oder mehrerer Ausführungsformen sind die erste und/oder die zweite Vergleichseinheit eingerichtet, ein Synchronisationsfehlersignal bei Auftreten eines
Synchronisationsfehlers zu erzeugen. Das
Synchronisationsfehlersignal kann beispielsweise ein Interrupt sein .
[0029] Gemäß einer oder mehrerer Ausführungsformen wird ein Steuerungsverfahren bereitgestellt. Das Steuerungsverfahren umfasst die synchrone Abarbeitung eines Steuerungsprogramms durch einen ersten und einen zweiten Prozessor, die über einen Multiplexer mit wenigstens einer anzusteuernden peripheren Einheit verbunden sind, wobei nur einer der beiden Prozessor die periphere Einheit zu einem bestimmten Zeitpunkt ansteuert. Das synchrone Abarbeiten des Steuerprogramms wird durch eine Vergleichseinheit überwacht. Ein Synchronisationsfehlersignal wird ausgegeben, wenn die beiden Prozessoren desynchronisiert sind. Nach Ausgabe eines Synchronisationsfehlersignals wird zunächst die Abarbeitung des Steuerprogramms durch die beiden Prozessoren unterbrochen. Dann wird ein Test zur Überprüfung, ob einer der beiden Prozessoren fehlerhaft ist, durchgeführt. Wenn beide Prozessoren fehlerfrei sind, wird die synchrone Abarbeitung des Steuerungsprogramms durch die beiden
Prozessoren fortgesetzt. Wenn einer der beiden Prozessoren dagegen als fehlerhaft erkannt wurde, werden der Multiplexer und die Vergleichseinheit in der Weise konfiguriert, dass keine weitere Kommunikation mit dem fehlerbehafteten Prozessor und kein weiteres Überwachen durch die Vergleichseinheit erfolgen und dass der fehlerfreie Prozessor die periphere Einheit ansteuert. Die Abarbeitung des Steuerungsprogramms wird durch den fehlerfreien Prozessor fortgesetzt. Wenn beide Prozessoren fehlerhaft sind, erfolgt eine Abschaltung der Steuerung .
[0030] Gemäß einer oder mehrerer Ausführungsformen umfasst der Test die gleichzeitige Ausführung wenigstens eines
Testprogramms durch beide Prozessoren, wobei ein Prozessor als fehlerhaft angesehen wird, wenn wenigstens eine der folgenden Bedingungen erfüllt ist:
- der Prozessor hat das Testprogramm nicht innerhalb
einer ersten Zeitdauer Tl abgearbeitet,
- der Prozessor hat das Testprogramm nicht erfolgreich abgearbeitet,
- der Prozessor ist nach Ablauf der ersten Zeitdauer Tl für eine zweite Zeitdauer T2 nicht in den Ruhezustand übergegangen . [0031] Damit soll sichergestellt werden, dass nicht nur die richtige oder falsche Abarbeitung berücksichtigt wird, sondern auch, ob die Prozessoren den Test innerhalb einer vorgegebenen Zeit abgearbeitet haben. Die Überprüfung des Ruhezustands dient dazu festzustellen, ob ein Prozessor, obwohl er keine Instruktionen abarbeitet, trotzdem Daten ausgibt. Dies weist ebenfalls auf einen fehlerbehafteten Prozessor hin.
[0032] Gemäß einer oder mehrerer Ausführungsformen wird der Synchronisationsfehler bewertet und einem Fehlertyp
zugeordnet, wobei zur Überprüfung der Prozessoren wenigstens ein Testprogramm in Abhängigkeit vom Fehlertyp ausgewählt wird. Damit lassen sich ein oder ggf. mehrere
fehlerspezifische Testprogramme auswählen.
[0033] Die Erfindung wird nun an Hand konkreter in den Figuren dargestellter Ausführungsbeispiele beschrieben. Diese sollen jedoch nicht als einschränkend ausgelegt werden. Für den
Fachmann ergeben sich aus der nachfolgenden Beschreibung weitere Modifikationen, die vom Schutzbereich mit umfasst sein sollen .
[0034] Figur 1 zeigt eine Steuerungsvorrichtung gemäß einer Ausführungsform im Normalbetrieb und Figur 2 die
Steuerungsvorrichtung bei Ausfall eines Prozessors.
[0035] Figur 3 zeigt eine Steuerungsvorrichtung gemäß einer Ausführungsform.
[0036] Figur 4 zeigt eine Steuerungsvorrichtung gemäß einer Ausführungsform.
[0037] Figur 5 zeigt eine Steuerungsvorrichtung gemäß einer Ausführungsform. [0038] Figur 6 zeigt den Ablauf eines Steuerungsprogramms gemäß einer Ausführungsform.
[0039] Figur 7 eine Architektur mit zwei Prozessoren.
[0040] Figur 8 eine Architektur mit einer Aufteilung von Peripherie-Modulen in zwei Gruppen A und B.
[0041] Figur 1 zeigt eine schematisch Steuerungsvorrichtung mit einem ersten und einem zweiten Prozessor 1, 2 und einem ersten und zweiten Multiplexer 91, 92. Jeder der Multiplexer 91, 92 bildet eine Einheit mit jeweils einer
Vergleichseinrichtung, die in den Figuren als Komparator bezeichnet ist. Jeder der Multiplexer 91, 92 ist mit jeweils einer peripheren Einheit 95, 96 verbunden und ermöglicht einen wahlweisen Zugriff der Prozessoren 1, 2 auf die peripheren Einheiten 95, 96. Eine Widerherstellungskontrolleinheit 44 ist sowohl mit den beiden Prozessoren 1, 2 als auch mit den
Multiplexern 95, 96 verbunden.
[0042] Bei den Prozessoren 1, 2 kann es sich auch um
Prozessorkerne handeln.
[0043] Die in Figur 1 dargestellten fetten Pfeile zeigen den tatsächlich durch die Multiplexer 91, 92 vermittelten
Datenfluss von den Prozessoren 1, 2 zu den peripheren
Einheiten 95, 96. Prozessor 1 kommuniziert mit peripherer Einheit 95 und steuert diese und Prozessor 2 kommuniziert mit peripherer Einheit 2 und steuert diese. Prozessor 1,
Multiplexer/Komparator 91 und periphere Einheit 95 bilden hier einen Zweig A, während Prozessor 2, Multiplexer/Komparator 92 und periphere Einheit 96 einen Zweig B bilden. Allerdings bestehen kreuzweise Kommunikationspfade und zwar einerseits zwischen Prozessor 2 und Multiplexer/Komparator 91 und andererseits zwischen Prozessor A und Multiplexer/Komparator 92.
[0044] Die Komparatoren 91, 92 vergleichen jeweils, ob die Prozessoren synchron zueinander arbeiten, d.h. ob sie
zeitgleich die gleichen Ergebnisse ausgeben. Ist dies nicht der Fall, liegt ein Synchronisationsfehler vor. In diesem Fall werden die Prozessoren getestet und in Abhängigkeit davon die Steuerungseinrichtung umkonfiguriert. Dies ist in Figur 2 schematisch dargestellt.
[0045] In Figur 2 wurde angenommen, dass der Test, der von der Wiederherstellungskontrolleinheit 44 überwacht und ausgewertet wird, ergeben hat, dass Prozessor 1 defekt ist. In diesem Fall werden die beiden Multiplexer 91, 92 umkonfiguriert und zwar so, dass beide Multiplexer 91, 92 die Ausgaben von Prozessor 1 ignorieren. Gleichzeitig gestattet nun Multiplexer 91 eine Kommunikation zwischen Prozessor 2 und peripherer Einheit 95. Prozessor 2 steuert nun die peripheren Einheiten sowohl im Zweig A als auch in Zweig B an. Prozessor 2 muss dazu nicht notwendigerweise anders programmiert werden, da j a Prozessor 2, für Vergleichszwecke, bereits im Normalzustand das
Steuerungsprogramm für die periphere Einheit 95 (Zweig A) ausgeführt hatte. Der Unterschied ist nur, dass er jetzt auch „schreibend" auf periphere Einheit 95 zugreifen kann.
Weiterhin wird die Vergleichsfunktion der Komparatoren
inaktiviert, da diese nun keine Eingaben mehr von Prozessor 1 erhalten. Dies ist deswegen erforderlich, damit die
Komparatoren 91, 92 keine weiteren Fehlersignale ausgeben.
[0046] Im Ergebnis kann die Abarbeitung des Steuerprogramms umfassend Steuerprogramm für periphere Einheit 95 und periphere Einheit 96, wieder fortgesetzt werden. Dadurch wird die Verfügbarkeit des Systems erhöht.
[0047] Falls der Test ergeben hat, dass beide Prozessoren 1, 2 fehlerfrei sind, wird der Zustand von Figur 1 wieder
eingenommen. Für den Fall, dass beide Prozessoren defekt sind, erfolgt eine Abschaltung des Systems.
[0048] Die in den Figuren 1 und 2 gezeigte Vorgehensweise ist insbesondere bei nicht redundant ausgelegten peripheren
Einheiten von Vorteil.
[0049] Die in Figuren 1 und 2 gezeigte Architektur umfasst eine Aufteilung von Peripherie-Modulen in zwei Gruppen A und B. Jede Gruppe umfasst mindestens einen Prozessor 1, 2, einen hier nicht gezeigten Busumschalter (Bus Matrix, Bus Crossbar) und anzusteuernde Peripheriemodule 95, 96. Speichermodule können in einer Gruppe oder in beiden Gruppen implementiert werden. Die Seite A wird tatsächlich (also physikalisch) immer vom Prozessor 1 (Prozessor A) angesteuert. Die Seite B wird tatsächlich immer vom Prozessor 2 (Prozessor B)
angesteuert. Daten der Peripherie-Modulen 95 können quer über die Multiplexer 91, 92 an die Seite B weiter gereicht werden. Der Prozessor 1 kann auf ähnliche Weise Daten von Peripherie- Modulen 96 auslesen.
[0050] Figur 3 zeigt eine Ausführungsform, bei der eine periphere Einheit 22, die dort als periphere Module bezeichnet ist, redundant durch zwei Prozessoren 1 und 2 angesteuert ist, wobei zu einem vorgegebenen Zeitpunkt tatsächlich nur einer der beiden Prozessoren die Einheit 22 ansteuert. Dies erfolgt über einen Multiplexer 21. Eine weitere periphere Einheit 5, bei der es sich um eine gemeinsame interne periphere Einheit handeln kann, beispielsweise ein Speicher 5, ist über einen Multiplexer 20 mit den beiden Prozessoren 1, 2 verbunden. Die Prozessoren 1, 2 selbst sind jeweils über eine Bus-Matrix 3, 4 mit den Multiplexern 20, 21 verbunden. Auch in dieser
Ausführungsform können die Multiplexer 20, 21, die in Einheit mit jeweiligen Vergleichseinheiten (Komparatoren) vorliegen, im Fehlerfall geeignet konfiguriert werden, um die Steuerung verfügbar zu halten.
[0051] Gemäß einer oder mehrerer Ausführungsformen erfolgt eine klare Trennung zwischen gemeinsam verwendeten und
privaten redundanten Bereichen der Steuerung. Jedem Prozessor 1, 2 werden private Komponenten bzw. Einheiten zugeordnet, die nur von ihm angesteuert werden. Die privaten Komponenten (in Figur 4 die beiden peripheren Einheiten 61, 62) sind
vorzugsweise redundant, um möglichst eine perfekte Symmetrie der redundanten privaten Bereiche nachbilden zu können. Aus Kostengründen können einige Komponenten, wie beispielsweise der Programmspeicher, nur einmal und zwar im gemeinsam
benutzten Bereich, implementiert werden. Im Lockstep-Betrieb arbeiten die zwei Prozessoren 1, 2 synchron. Die tatsächliche Ansteuerung der gemeinsam verwendeten Komponenten bzw.
peripheren Einheiten kann jeder der zwei redundanten
Prozessoren übernehmen und wird tatsächlich zu einem
bestimmten Zeitpunkt nur von einem Prozessor durchgeführt, während der andere Prozessor aufgrund des Lockstep-Betriebs alle Daten rechtzeitig bekommt.
[0052] Nach Erkennung eines Verriegelungsschrittfehlers
(lockstep error) soll jeder Prozessor 1, 2 während eines
Zeitintervalls Tl möglichst in dem zugewiesenen privaten
Bereich aktiv bleiben und keine sicherheitsrelevante Funktion mit Auswirkungen außerhalb der Architektur ausführen. Das heißt insbesondere die Ansteuerung von externen peripheren Einheiten bzw. Komponenten, die eine Wirkung nach Außen zeigen, wird unterbrochen.
[0053] Für die notwendigen Zugriffe auf nicht redundante Komponenten wie beispielsweise auf den Programmspeicher wird ein Multiplexbetrieb für die zwei redundanten Prozessoren 1, 2 im Zeitintervall Tl ermöglicht. Jeder
Verriegelungsschrittfehler (lockstep error) löst eine
Unterbrechung des Programmsablaufs (Interrupt) aus. In der Interrupt-Routine werden die Prozessoren 1, 2 unabhängig voneinander die gleichen Testprogramme ausführen und
Testergebnisse für eine spätere Prüfung mittels eines
autonomen Hardware-Überwachungsmoduls, in den Figuren die Wiederherstellungskontrolleinheit 44, ablegen.
[0054] Manche Testprogramme können aus dem Fehlerkontext abgeleitet werden. Beispielsweise wird der aufgetretene Fehler klassifiziert und einem Fehlertyp zugeordnet und diese
Zuordnung für die Auswahl des oder der jeweiligen
Testprogramme genutzt.
[0055] Jeder Prozessor soll die Abarbeitung der Unterbrechung sanft ohne Rücksprung verlassen. Hintergrund ist, dass das Testprogramm durch Interrupt gestartet wurde und nach Ablauf des Testprogramms die Prozessoren 1, 2 normalerweise das
Steuerungsprogramm, das auf Grund des Interrupts unterbrochen wurde, wieder fortsetzen wollen. Dies soll unterbunden werden und die Prozessoren 1, 2 sollen stattdessen in einen
Ruhezustand übergehen. Ob dies erfolgt, ist ebenfalls Teil des Tests .
[0056] Anschließend soll jeder Prozessor seine
Zustandsmerkmale beispielsweise in einem vom autonomen
Hardware-Überwachungsmodul (WiederherStellungskontrolleinheit 44) lesbaren Register ablegen. Die Zeitdauer wird anhand eines Zeitgebers des autonomen Hardware-Überwachungsmoduls gemessen.
[0057] Nach dieser unklaren Zeit (außerhalb des Lockbetriebes) sollen die redundanten Prozessoren einen Leerlaufbetrieb
(Ruhezustand) für eine Zeitdauer T2 aufweisen. Falls ein
Prozessor im Zeitfenster T2 auf eine Komponente wie
beispielsweise ein Speicher- oder Peripheriemodul zugreift, wird er automatisch von der Wiederherstellungskontrolleinheit 44 vom Rückgewinnungsvorgang ausgeschlossen. Nach dem
Zeitfenster T2 vergleicht die
Wiederherstellungskontrolleinheit 44 die Testergebnisse der zwei Prozessoren 1, 2 mit den in Hardware vorprogrammierten Werten. Falls die Testergebnisse eines Prozessors mit den vorgegebenen Werten nicht übereinstimmen, wird der
entsprechende Prozessor für den laufenden
Synchronisationsversuch nicht mehr betrachtet. Dementsprechend müssen auch die gespeicherten Zustandsmerkmale von den
Prozessoren 1, 2 für eine Rückgewinnung geeignet sein. Im
Falle einer positiven Bewertung der Ergebnisse wird die
Wiederherstellungskontrolleinheit 44 mittels eines Interrupts eine Rückkehr in den Lockstep-Betrieb zustande bringen. Wenn nur ein Prozessor alle Tests erfolgreich ausgeführt hat, wird er die ihm zugeordneten Peripherie-Module und alle gemeinsam verwendeten Komponenten ansteuern.
[0058] Dieser Notfallbetrieb erhöht die Verfügbarkeit des Systems und läuft mit einer reduzierten Sicherheitsstufe.
[0059] Figur 4 zeigt eine weitere Ausführungsform, die auf der von Figur 3 aufbaut. Die Architektur der Steuerungsvorrichtung wird in zwei private Bereiche 30 und 31, die als Bereiche A und B bezeichnet werden, und einen gemeinsamen Bereich 40 aufgeteilt. Die privaten Bereiche beinhalten Module bzw.
periphere Einheiten und Komponenten, die physikalisch
redundant sind. Die Wiederherstellungskontrolleinheit 44 in Form eines Hardware-Moduls dient zur sicheren Rückgewinnung der Synchronisation nach einem Verriegelungsschrittfehler bzw. Gleichschrittfehler ( lockstep error). Wenn ein
Verriegelungsschrittfehler auftritt, wird die
Wiederherstellungskontrolleinheit 44 alle Zugriffe auf
sicherheitsrelevante Peripherie-Module bzw. Einheiten sperren. Bei diesen Einheiten handelt es sich insbesondere um die gemeinsame Peripherie 72 und, als Beispiel, um die redundant vorhandenen peripheren Einheiten 61 und 63. Diese sind über jeweilige Peripheriebrücken 60, 71, und 62 angeschlossen.
[0060] Der Verriegelungsschrittfehler löst eine Unterbrechung (Interrupt) des Programmablaufs aus. In der darauf folgenden Abarbeitung der Interrupt-Routine kann jeder Prozessor 1, 2 nur auf Module zugreifen, die sich in seinem zugeordneten privaten Bereich befinden und keine sicherheitsrelevanten Teilfunktionen ausführen. Weiterhin kann der Zugriff auf nicht sicherheitsrelevante Komponenten 41, 42 im Multiplexbetrieb ermöglicht werden. Solche Komponenten 41, 42 sind
beispielsweise eine gemeinsame Programm-Domäne 42 und eine gemeinsame RAM-Domäne. Komponente 42 verfügt über ein Modul 50, welches einen Multiplexer, einen Kontroller und einen Komparator umfasst, und den eigentlichen Programmspeicher 51. Komponente 41 verfügt über ein Modul 53, welches einen
Multiplexer, einen Kontroller und einen Komparator umfasst, und den Speicher 52, der hier als RAM ausgebildet ist.
[0061] Im privaten Peripherie-Bereich wird jeweils ein kleiner Adressraum für Testzwecke des passenden Prozessors reserviert. Die Interrupt-Routine dient dazu, die Integrität der Architektur und vor allem der Prozessoren zu prüfen. Am Ende der Interrupt-Abarbeitung sollen die Prozessoren die
berechneten Ergebnisse im für Testzwecke reservierten
Adressbereich ablegen. Korrekte Ergebnisse sind im Vorfeld in der Wiederherstellungskontrolleinheit 44 gespeichert. Die Interrupt-Routine besteht aus Testprogrammen, wobei jedes Testprogramm innerhalb eines bestimmten Zeitintervalls das korrekte Ergebnis liefern soll. Nach einer vorgegebenen
Zeitdauer überprüft die Wiederherstellungskontrolleinheit 44 die Korrektheit der von den Prozessoren abgelegten Ergebnisse. Die Rückgewinnung des Lockstep-Betriebs setzt voraus, dass alle von der Wiederherstellungskontrolleinheit 44 zu prüfenden Ergebnisse korrekt sind. Ansonsten wird nur der Prozessor, der korrekte Ergebnisse aufweist, für die laufende Applikation weiter aktiv bleiben.
[0062] Da die Interrupt-Routine nicht im Lockstep-Betrieb läuft, wird das Modul 50 so konfiguriert, dass beide
Prozessoren 1, 2 im Multiplex-Betrieb auf den Programmspeicher 51 zugreifen können.
[0063] Figur 5 zeigte eine Ausführungsform in Erweiterung der Figuren 1 und 2. Hierbei arbeitet die
Wiederherstellungskontrolleinheit 44 ähnlich wie in Figur 4. Falls ein Prozessor 1, 2 keine korrekten Ergebnisse für die Rückgewinnung des Lockstep-Betriebs liefert, wird die
Wiederherstellungskontrolleinheit 44 die entsprechenden
Peripherie-Controller 91 oder 92, welche hier die Multiplexer und Komparatoren bilden, so konfigurieren, dass die darunter liegenden Peripherie-Module bzw. Einheiten 95, 96 vom anderen Prozessor angesteuert werden. [0064] Die Architektur in Figur 4 weist auch zwei redundante RAM Module 80, 81 auf. Wenn der Verriegelungsschrittfehler (lockstep error) durch einen Fehler in RAM hervorgerufen wurde, wird die fehlerhafte RAM Adresse gespeichert. In der Interrupt-Routine wird diese Adresse überprüft. Wenn der RAM Fehler nicht korrigierbar ist, wird die
Wiederherstellungskontrolleinheit 44 die betroffene Seite A oder B (also Prozessor und RAM) nicht wieder in die aktive Ansteuerung einbinden. Anschließend wird die
Wiederherstellungskontrolleinheit 44 dafür sorgen, dass die Peripherie-Module, die bisher von dem nun fehlerhaften
Prozessor bzw. RAM angesteuert wurden, nun durch den Prozessor von der anderen Seite angesteuert werden.
[0065] Figur 6 zeigt schematisch den Ablauf eines
Steuerungsprogramms. Nach Auftreten eines
Synchronisationsfehlers wird die Programmausführung 300, 500 durch die jeweiligen Prozessoren mittels eines Interrupts (LOLI, Lockstep loss Interrupt) unterbrochen und der jeweilige Zustand (Anfangsinhalt) in 321, 521 gespeichert. Der Interrupt führt gleichzeitig zur Aktivierung der
Wiederherstellungskontrolleinheit, hier als Hardware
bezeichnet ist.
[0066] Die Wiederherstellungskontrolleinheit startet einen Zeitgeber 400. Die Prozessoren führen dann in Schritt 322, 522 die von der Wiederherstellungskontrolleinheit vorgegebenen Tests aus, wobei nach Beenden der Tests eine Interruptfreie Rückkehr in 323, 523 erzwungen wird (RFI, Return from
Interrupt) . Danach sollen die Prozessoren in einen Ruhezustand übergehen . [0067] Die Wiederherstellungskontrolleinheit prüft, ob die Tests innerhalb der Zeitdauer Tl abgearbeitet wurden (325, 525) und ob die Prozessoren in den Ruhezustand übergegangen sind (401) . Nach einer vorgegebenen Zeitdauer T2 prüft die Wiederherstellungskontrolleinheit in 402, 326, 526, ob die Prozessoren sich immer noch im Ruhezustand befinden.
[0068] Dann werden die Testergebnisse überprüft. Die
Wiederherstellungsbedingungen 404 sind, dass die
Testergebnisse fehlerfrei sind, dass der jeweilige Prozessor bis zum Ablauf der Zeitdauer Tl in den Ruhezustand
übergegangen war, und dass der Prozessor sich auch noch nach Ablauf der Zeitdauer T2 im Ruhezustand befindet. Falls dies der Fall für beide Prozessoren ist, wird ein Recover Interrupt (RECOI) für beide Prozessoren ausgelöst, sonst nur für den fehlerfreien Prozessor, und die Anfangszustand wieder
hergestellt (341, 541). Im letzten Fall rekonfiguriert die Wiederherstellungskontrolleinheit die Steuerungsvorrichtung, wie oben erläutert. Es schließt sich die Fortsetzung des Programms an.
[0069] Figur 7 zeigt eine herkömmliche Architektur mit zwei Prozessoren 1 und 2, wobei der Prozessor 2 zur Überwachung vom Prozessor 1 dient. Die gesamte Ansteuerung von
Peripheriemodulen sowie alle Speicherzugriffe erfolgen über den Prozessor 1. Diese Architektur ist für die Beherrschung von aus dem Verlust der Synchronisation resultierenden Fehlern (Lockstep Failures) ungeeignet.
[0070] Figur 8 zeigt eine herkömmliche Architektur mit einer Aufteilung von Peripherie-Modulen in zwei Gruppen A und B. Jede Gruppe umfasst mindestens einen Prozessor 1,2, einen Busumschalter (Bus Matrix, Bus Crossbar) 3,4 und Peripheriemodule 6,7. Speichermodule 5 können in einer Gruppe oder in beiden Gruppen implementiert werden und über ein
Bypass-Modul 11 angesteuert werden. Die Seite A wird
tatsächlich (also physikalisch) immer vom Prozessor 1
angesteuert. Die Seite B wird tatsächlich immer vom Prozessor 2 angesteuert. Daten von Peripherie-Modulen 6 können quer über ein Bypass-Modul 10 und Datenmultiplexer 12 an die Seite B weiter gereicht werden. Der Prozessor 1 kann auf ähnliche Weise Daten von Peripherie-Modulen 6 auslesen (über Bypass- Modul 9 und Datenmultiplexer 13) . Dieser Mechanismus, mit dem ein Prozessor Peripherie-Daten von der anderen Seite auslesen kann, funktioniert nur solange, wie die zwei Prozessoren 1 und 2 synchron (in lockstep) zueinander arbeiten. Die Überwachung erfolgt durch einen Komparator 8. Wenn der Prozessor 1 beispielsweise außer Betrieb ist, kann die ganze Seite A (also samt Peripherie-Module und Speicher auf dieser Seite) nicht mehr angesteuert werden. Somit ergibt sich eine schlechte Unterstützung einer hohen Verfügbarkeit. Wenn die zwei
Prozessoren nicht mehr synchron arbeiten, können sie nur noch zurückgesetzt werden. Für viele sicherheitsrelevante
Applikationen ist das Zurücksetzen (Reset) von Prozessoren nicht erlaubt, solange die Ursache des Verlusts der
Synchronisation nicht eindeutig festgestellt wird.
[0071] Die Erfindung ist nicht auf die vorliegend
beschriebenen Ausführungsbeispiele beschränkt, sondern kann geeignet erweitert und modifiziert werden. Die nachfolgenden Ansprüche stellen einen ersten, nicht bindenden Versuch dar, die Erfindung allgemein zu definieren.

Claims

Patentansprüche
1. Redundante Zwei-Prozessor-Steuerungseinrichtung,
umfassend :
- einen ersten Prozessor (1) und einen zweiten
Prozessor (1) zur synchronen Ausführung eines
Steuerungsprogramms ;
- wenigstens einen ersten Multiplexer (70, 91) zum
wahlweisen Verbinden wenigstens einer anzusteuernden ersten peripheren Einheit (72, 95) mit einem der zwei Prozessoren (1, 2);
- wenigstens eine erste Vergleichseinheit (70, 91) zur Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines Synchronisationsfehlers ;
- eine Wiederherstellungskontrolleinheit (44),
eingerichtet, die Ausführung wenigstens eines
Testprogramms durch die beiden Prozessoren (1, 2) nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und eingerichtet, wenigstens den ersten Multiplexer (70, 91) zu konfigurieren.
2. Redundante Zwei-Prozessor-Steuerungseinrichtung nach
Anspruch 1, wobei die Wiederherstellungskontrolleinheit (44) eingerichtet ist, den Synchronisationsfehler einem Fehlertyp zuzuordnen und auf Basis des Fehlertyps ein Testprogramm auszuwählen.
3. Redundante Zwei-Prozessor-Steuerungseinrichtung nach
Anspruch 1 oder 2, wobei die
Wiederherstellungskontrolleinheit (44) eingerichtet ist, den ersten Multiplexer (70, 91) auf Basis des Testergebnisses zu konfigurieren.
4. Redundante Zwei-Prozessor-Steuerungseinrichtung nach
einem der Ansprüche 1 bis 3, weiterhin umfassend:
- wenigstens einen zweiten Multiplexer (92) zum
wahlweisen Verbinden wenigstens einer anzusteuernden zweiten peripheren Einheit (96) mit einem der zwei Prozessoren (1, 2), wobei der zweite Multiplexer
(92) durch die Wiederherstellungskontrolleinheit
(44) konfigurierbar ist.
5. Redundante Zwei-Prozessor-Steuerungseinrichtung nach
einem der Ansprüche 1 bis 4, weiterhin umfassend:
- wenigstens eine zweite Vergleichseinheit (92) zur Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines Synchronisationsfehlers, wenn die beiden Prozessoren (1, 2) desynchronisiert sind.
6. Redundante Zwei-Prozessor-Steuerungseinrichtung nach
Anspruch 4 oder 5, weiterhin umfassend:
- eine erste Bus-Matrix (3) , welche den ersten
Prozessor (1) mit dem ersten Multiplexer (91) verbindet; und
- eine zweite Bus-Matrix (4), welche den zweiten
Prozessor (2) mit dem zweiten Multiplexer (92) verbindet .
7. Redundante Zwei-Prozessor-Steuerungseinrichtung nach
einem der Ansprüche 1 bis 6, wobei die erste periphere Einheit (72) eine gemeinsame Einheit ist, die wahlweise von einem der beiden Prozessoren (1, 2) angesteuert werden kann, weiterhin umfassend:
- wenigstens zwei weitere periphere Einheiten (61, 63) , wobei die eine der beiden peripheren Einheiten (61, 63) nur dem ersten Prozessor (1) und die andere der beiden peripheren Einheiten (61, 63) nur dem zweiten Prozessor (2) als private periphere Einheit zugeordnet ist, auf die nur der jeweils zugeordnete Prozessor (1, 2) zugreifen kann.
Redundante Zwei-Prozessor-Steuerungseinrichtung nach Anspruch 7, wobei die zwei weiteren peripheren Einheiten (61, 63) redundante Einheiten sind.
Redundante Zwei-Prozessor-Steuerungseinrichtung nach einem der Ansprüche 1 bis 8, wobei die erste und/oder die zweite Vergleichseinheit eingerichtet ist bzw. sind, ein Synchronisationsfehlersignal bei Auftreten eines
Synchronisationsfehlers zu erzeugen.
Redundante Zwei-Prozessor-Steuerungseinrichtung,
umfassend :
- einen ersten Prozessor (1) und einen zweiten
Prozessor (1) zur synchronen Ausführung eines
Steuerungsprogramms ;
- wenigstens einen ersten Multiplexer (21, 71) zum
wahlweisen Verbinden einer gemeinsamen ersten peripheren Einheit (22, 72) mit einem der zwei
Prozessoren (1, 2);
- wenigstens zwei weitere periphere Einheiten (61, 63), wobei eine der beiden peripheren Einheiten (61, 63) nur dem ersten Prozessor (1) und die andere der beiden peripheren Einheiten (61, 63) nur dem zweiten Prozessor (2) als private periphere Einheit zugeordnet ist, auf die nur der jeweils zugeordnete Prozessor (1, 2) zugreifen kann;
- wenigstens eine erste Vergleichseinheit (21, 70) zur Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines Synchronisationsfehlers, wenn die beiden Prozessoren (1, 2) desynchronisiert sind;
- eine Wiederherstellungskontrolleinheit (44),
eingerichtet, die Ausführung wenigstens eines
Testprogramms durch die beiden Prozessoren (1, 2) nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und eingerichtet, den ersten Multiplexer (70) auf Basis des Testergebnisses zu konfigurieren.
11. Redundante Zwei-Prozessor-Steuerungseinrichtung nach
Anspruch 10, weiterhin umfassend:
- eine erste Bus-Matrix (3) , welche den ersten
Prozessor (1) mit dem ersten Multiplexer (21, 70) verbindet ;
- eine zweite Bus-Matrix (4), welche den zweiten
Prozessor (2) mit dem ersten Multiplexer (21, 70) verbindet .
12. Redundante Zwei-Prozessor-Steuerungseinrichtung,
umfassend :
- einen ersten Prozessor (1) und einen zweiten
Prozessor (1) zum synchronen Ausführen eines
Steuerungsprogramms ; - wenigstens eine erste und eine zweite periphere Einheit (95, 96);
- wenigstens einen ersten Multiplexer (91) zum
wahlweisen Verbinden einer ersten peripheren Einheit (95) mit einem der beiden
Prozessoren (1, 2);
- wenigstens einen zweiten Multiplexer (92) zum
wahlweisen Verbinden einer zweiten peripheren
Einheit (96) mit einem der beiden
Prozessoren (1, 2);
- wenigstens eine erste und eine zweite
Vergleichseinheit (91, 92) zur jeweiligen
Überwachung des Synchronisationszustands der beiden Prozessoren (1, 2) und zur Erkennung eines
Synchronisationsfehlers ;
- eine Wiederherstellungskontrolleinheit (44),
eingerichtet, die Ausführung wenigstens eines
Testprogramms durch die beiden Prozessoren (1, 2) nach Auftreten eines Synchronisationsfehlers zu überwachen und die Testergebnisse zu bewerten, und eingerichtet, den ersten und zweiten Multiplexer (91, 92) auf Basis der Testergebnisse zu
konfigurieren .
Redundante Zwei-Prozessor-Steuerungseinrichtung nach Anspruch 12, weiterhin umfassend:
- eine erste Bus-Matrix (3) , welche den ersten
Prozessor (1) mit dem ersten Multiplexer (91) verbindet ; - eine zweite Bus-Matrix (4), welche den zweiten
Prozessor (2) mit dem zweiten Multiplexer (92) verbindet .
14. Steuerungsverfahren, umfassend:
- synchrone Abarbeitung eines Steuerungsprogramms
durch einen ersten und einen zweiten Prozessor (1, 2), die über einen Multiplexer (70, 91) mit wenigstens einer anzusteuernden peripheren Einheit (72, 95) verbunden sind, wobei nur einer der beiden Prozessor (1, 2) die periphere Einheit (72, 95) zu einem bestimmten Zeitpunkt ansteuert;
- Überwachung der synchronen Abarbeitung des
Steuerprogramms durch eine Vergleichseinheit und Ausgabe eines Synchronisationsfehlersignals, wenn die beiden Prozessoren (1, 2) desynchronisiert sind; und
- sofern ein Synchronisationsfehlersignal ausgegeben wurde :
- Unterbrechen der Abarbeitung des
Steuerprogramms durch die beiden Prozessoren (1, 2),
- Durchführen eines Test zur Überprüfung, ob
einer der beiden Prozessoren (1, 2) fehlerhaft ist, und
- wenn beide Prozessoren (1, 2) fehlerfrei sind, Fortsetzen der synchronen
Abarbeitung des Steuerungsprogramms durch die beiden Prozessoren (1, 2), oder
- wenn einer der beiden Prozessoren (1, 2) als fehlerhaft erkannt wurde, Rekonfigurieren des Multiplexers und der
Vergleichseinheit in der Weise, dass keine weitere Kommunikation mit dem
fehlerbehafteten Prozessor und keine weitere Überwachung durch die
Vergleichseinheit erfolgen und dass der fehlerfreie Prozessor die periphere
Einheit ansteuert, und Fortsetzen der Abarbeitung des Steuerungsprogramms durch den fehlerfreien Prozessor.
15. Steuerungsverfahren nach Anspruch 14, wobei der Test die gleichzeitige Ausführung wenigstens eines Testprogramms durch beide Prozessoren (1, 2) umfasst, wobei ein
Prozessor als fehlerhaft angesehen wird, wenn wenigstens eine der folgenden Bedingungen erfüllt ist:
- der Prozessor hat das Testprogramm nicht innerhalb einer ersten Zeitdauer Tl abgearbeitet,
- der Prozessor hat das Testprogramm nicht erfolgreich abgearbeitet,
- der Prozessor ist nach Ablauf der ersten Zeitdauer Tl für eine zweite Zeitdauer T2 nicht in den
Ruhezustand übergegangen.
16. Steuerungsverfahren nach Anspruch 14 oder 15, wobei der Synchronisationsfehler bewertet und einem Fehlertyp zugeordnet wird, wobei zur Überprüfung der Prozessoren wenigstens ein Testprogramm in Abhängigkeit vom Fehlertyp ausgewählt wird.
EP11711799A 2010-03-23 2011-03-18 Redundante zwei-prozessor-steuerung und steuerungsverfahren Ceased EP2550598A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102010003161 2010-03-23
PCT/EP2011/054143 WO2011117155A1 (de) 2010-03-23 2011-03-18 Redundante zwei-prozessor-steuerung und steuerungsverfahren

Publications (1)

Publication Number Publication Date
EP2550598A1 true EP2550598A1 (de) 2013-01-30

Family

ID=44064800

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11711799A Ceased EP2550598A1 (de) 2010-03-23 2011-03-18 Redundante zwei-prozessor-steuerung und steuerungsverfahren

Country Status (3)

Country Link
US (1) US8959392B2 (de)
EP (1) EP2550598A1 (de)
WO (1) WO2011117155A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT515454A3 (de) * 2013-03-14 2018-07-15 Fts Computertechnik Gmbh Verfahren zur Behandlung von Fehlern in einem zentralen Steuergerät sowie Steuergerät
DE102013214013A1 (de) 2013-07-17 2015-01-22 Continental Teves Ag & Co. Ohg Verfahren zur Erhöhung der Verfügbarkeit eines Mikroprozessorsystems
JP6312550B2 (ja) 2014-08-01 2018-04-18 ルネサスエレクトロニクス株式会社 半導体装置
JP6360387B2 (ja) 2014-08-19 2018-07-18 ルネサスエレクトロニクス株式会社 プロセッサシステム、エンジン制御システム及び制御方法
US9734006B2 (en) 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system
JP6083480B1 (ja) * 2016-02-18 2017-02-22 日本電気株式会社 監視装置、フォールトトレラントシステムおよび方法
CN106094629B (zh) * 2016-06-28 2019-06-21 北京安控科技股份有限公司 一种二取一架构的功能安全控制器
JP6394727B1 (ja) * 2017-03-22 2018-09-26 日本電気株式会社 制御装置、制御方法、及び、フォールトトレラント装置
US10474619B2 (en) 2017-05-19 2019-11-12 General Electric Company Methods for managing communications involving a lockstep processing system
US10628274B2 (en) * 2017-12-05 2020-04-21 Qualcomm Incorporated Self-test during idle cycles for shader core of GPU
US11094392B2 (en) * 2018-10-15 2021-08-17 Texas Instruments Incorporated Testing of fault detection circuit
EP4074014A4 (de) 2019-12-09 2023-12-27 Thales Canada Inc. Verfahren und system zur can-busverkehrsüberwachung mit hoher integrität in sicherheitskritischen anwendungen
US20220209550A1 (en) * 2020-12-30 2022-06-30 Loon Llc Redundant power distribution and monitoring for LTA vehicles
DE102021206379A1 (de) 2021-06-22 2022-12-22 Continental Autonomous Mobility Germany GmbH Steuereinrichtung sowie Assistenzsystem für ein Fahrzeug
EP4134875A1 (de) 2021-08-10 2023-02-15 Continental Autonomous Mobility Germany GmbH Verfahren und vorrichtung zur diagnostischen abdeckung von ki-hardware-beschleunigern
EP4134874A1 (de) 2021-08-10 2023-02-15 Continental Autonomous Mobility Germany GmbH Vorrichtung und verfahren zur diagnostischen abdeckung eines neuronalen netzwerkbeschleunigers

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3444528A (en) 1966-11-17 1969-05-13 Martin Marietta Corp Redundant computer systems
US3864670A (en) 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
EP0496506B1 (de) 1991-01-25 2000-09-20 Hitachi, Ltd. Fehlertolerantes Rechnersystem mit Verarbeitungseinheiten die je mindestens drei Rechnereinheiten haben
US5249188A (en) 1991-08-26 1993-09-28 Ag Communication Systems Corporation Synchronizing two processors as an integral part of fault detection
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
FR2721122B1 (fr) 1994-06-14 1996-07-12 Commissariat Energie Atomique Unité de calcul à pluralité de calculateurs redondants.
US5915082A (en) 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
SE511114C2 (sv) 1997-12-10 1999-08-09 Ericsson Telefon Ab L M Metod vid processor, samt processor anpassad att verka enligt metoden
US6148348A (en) * 1998-06-15 2000-11-14 Sun Microsystems, Inc. Bridge interfacing two processing sets operating in a lockstep mode and having a posted write buffer storing write operations upon detection of a lockstep error
US7085959B2 (en) * 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
JP2004046599A (ja) 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP4155088B2 (ja) * 2003-04-18 2008-09-24 日本電気株式会社 情報処理装置
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US7366948B2 (en) 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
JP4411602B2 (ja) * 2004-12-16 2010-02-10 日本電気株式会社 フォールトトレラント・コンピュータシステム
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
DE102009000045A1 (de) 2009-01-07 2010-07-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Steuergerätes
JP2011123545A (ja) * 2009-12-08 2011-06-23 Toshiba Corp 比較冗長型情報処理装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
WO2011117155A1 (de) 2011-09-29
US20130007513A1 (en) 2013-01-03
US8959392B2 (en) 2015-02-17

Similar Documents

Publication Publication Date Title
EP2550599B1 (de) Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
WO2011117155A1 (de) Redundante zwei-prozessor-steuerung und steuerungsverfahren
EP0238841B1 (de) Fehlergesicherte, hochverfügbare Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes und Verfahren zum Speicherkonfigurationsbetrieb dieser Zentralsteuereinheit
EP0236803B1 (de) Verfahren zum Betrieb einer fehlergesicherten hochverfügbaren Multiprozessor-Zentralsteuereinheit eines Vermittlungssystemes
DE102011086530A1 (de) Mikroprozessorsystem mit fehlertoleranter Architektur
DE102016107015A1 (de) Architektur für eine skalierbare Störungstoleranz in Systemen mit integrierter Ruhigstellung bei Ausfall und Funktionsfähigkeit bei Ausfall
EP2466466A1 (de) Verfahren zur Fehlererkennung bei der Ausführung eines Echtzeit-Betriebssystems
EP1149295B1 (de) Steuergerät zur steuerung sicherheitskritischer anwendungen
WO2011082904A1 (de) Verfahren zum betreiben einer recheneinheit
WO2018134023A1 (de) Redundante prozessorarchitektur
DE102008004205A1 (de) Schaltungsanordnung und Verfahren zur Fehlerbehandlung in Echtzeitsystemen
WO2018033344A1 (de) Verfahren und vorrichtung zur redundanten datenverarbeitung
DE19847986C2 (de) Einzelprozessorsystem
DE4113959A1 (de) Ueberwachungseinrichtung
DE10302456A1 (de) Vorrichtung für sicherheitskritische Anwendungen und sichere Elektronik-Architektur
DE102010041437B4 (de) Überprüfung von Funktionen eines Steuersystems mit Komponenten
EP1359485B1 (de) Steuer- und Überwachungssystem
EP2228723B1 (de) Verfahren zur Fehlerbehandlung eines Rechnersystems
DE10312553B3 (de) Kraftfahrzeug
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
DE102011007467A1 (de) Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung
DE102004033263B4 (de) Steuer-und Regeleinheit
EP3557356A1 (de) Verfahren und automatisierungssystem zum sicheren automatischen betrieb einer maschine oder eines fahrzeugs
DE102004051991A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
EP1924914B1 (de) Datenverarbeitungssystem und betriebsverfahren dafür

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20121023

AK Designated contracting states

Kind code of ref document: A1

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

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20150528

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20161123