DE102020116959A1 - Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip - Google Patents

Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip Download PDF

Info

Publication number
DE102020116959A1
DE102020116959A1 DE102020116959.0A DE102020116959A DE102020116959A1 DE 102020116959 A1 DE102020116959 A1 DE 102020116959A1 DE 102020116959 A DE102020116959 A DE 102020116959A DE 102020116959 A1 DE102020116959 A1 DE 102020116959A1
Authority
DE
Germany
Prior art keywords
watchdog
counter value
global
local
predefined
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.)
Pending
Application number
DE102020116959.0A
Other languages
English (en)
Inventor
Sai Kiran Bollu
Ananth Kamath
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
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102020116959.0A priority Critical patent/DE102020116959A1/de
Priority to US17/360,446 priority patent/US11544130B2/en
Publication of DE102020116959A1 publication Critical patent/DE102020116959A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Eine Watchdog-Schaltung zum Überwachen einer Vielzahl von virtuellen Maschinen, die durch einen Kern einer Vielzahl von Kernen bereitgestellt wird. Die Watchdog-Schaltung kann Folgendes aufweisen: einen ersten Speicherbereich; einen zweiten Speicherbereich; und eine Steuerlogik, ausgelegt zum Zählen einer Anzahl von Impulsen; beim Starten der Watchdog-Schaltung: Speichern eines globalen Watchdog-Zählerwerts in dem ersten Speicherbereich; und Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in dem zweiten Speicherbereich; und, nach einer vordefinierten Anzahl von Impulsen: Modifizieren des globalen Watchdog-Zählerwerts und der lokalen Zählerwerte; und wenn der globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt oder irgendeiner der lokalen Watchdog-Zählerwerte ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt, Ausgeben eines Fehlersignals.

Description

  • Technisches Gebiet
  • Verschiedene Ausführungsformen betreffen allgemein eine Watchdog-Schaltung, ein System-auf-Chip, ein Verfahren zum Betrieb einer Watchdog-Schaltung und ein Verfahren zum Betrieb eines Systems-auf-Chip.
  • Hintergrund
  • In eingebetteten Echtzeitsystemen wird mit einer Einführung von Virtualisierung auf Mehrkern-SoC (Systeme-auf-Chips) die zeitliche Programmflussüberwachung problematisch.
  • Aktuell wird zeitliche Überwachung gewöhnlich durch dedizierte Watchdog-Timer durchgeführt. Im Fall von Mehrkernsystemen wird gewöhnlich ein Watchdog-Timer pro Kern verwendet. Wenn Virtualisierung verwendet wird, verwendet man einen einzigen Watchdog-Timer pro Kern zusammen mit Softwarelösungen zum Durchführen der zeitlichen Überwachung.
  • Ein entsprechendes auf Software basierendes Watchdog-System 100 für einen Prozessor (z.B. einen Mehrkern-Prozessor) mit virtuellen Maschinen ist in 1 abgebildet. Die Software kann eine Watchdog-Konfiguration initialisieren, darunter zum Beispiel Setzen eines Zeitzählers in einem Hardware-Speicher 104, dergestalt, dass eine vernünftige Zeitgrenze, bevor der Watchdog einen Alarm 112 setzt, spezifiziert wird. Die Software kann ferner dafür ausgelegt sein, ähnliche Zähler 110 - jedoch auf Software-Basis - in jeder der virtuellen Maschinen zu initialisieren.
  • Ein Hypervisor, der dafür ausgelegt sein kann, die virtuellen Maschinen laufen zu lassen, kann auch dafür ausgelegt sein, das Watchdog-System 100 zu bedienen, anders ausgedrückt, den Hardwarezähler rückzusetzen. Ferner kann der Hypervisor dafür ausgelegt sein, die Zähler der Aktiv-Virtuellmaschinenzähler zu dekrementieren. Jede der virtuellen Maschinen kann dafür ausgelegt sein, den Hypervisor, z.B. seine Anwendungsprogrammierschnittstelle, aufzurufen, um den Software-Virtuellmaschinen-Watchdog zu bedienen, anders ausgedrückt, die Softwarezähler rückzusetzen. Ferner kann es der Hypervisor sein, der die Software-Watchdog-Zähler 110 überwacht und entsprechende Maßnahmen unternimmt, zum Beispiel wenn einer der Zähler 110 auf null dekrementiert ist.
  • Ein Nachteil dieses Ansatzes kann jedoch darin bestehen, dass die aktuelle Lösung durch eine Ansprechzeit der Software beschränkt wird. Ferner kann ein Overhead des Systems aufgrund einer Softwarehandhabung des Software-Watchdogs durch die virtuellen Maschinen dazu führen, dass Echtzeitkriterien nicht erfüllt werden.
  • Kurzfassung
  • Watchdog-Schaltung zum Überwachen einer Vielzahl von virtuellen Maschinen, die durch einen Kern einer Vielzahl von Kernen bereitgestellt wird. Die Watchdog-Schaltung kann Folgendes aufweisen: einen ersten Speicherbereich; einen zweiten Speicherbereich; und eine Steuerlogik, ausgelegt zum Zählen einer Anzahl von Impulsen; beim Starten der Watchdog-Schaltung: Speichern eines globalen Watchdog-Zählerwerts in dem ersten Speicherbereich; und Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in dem zweiten Speicherbereich; nach einer vordefinierten Anzahl von Impulsen: Modifizieren des globalen Watchdog-Zählerwerts und der lokalen Zählerwerte; und wenn der globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt oder irgendeiner der lokalen Watchdog-Zählerwerte ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt, Ausgeben eines Fehlersignals.
  • Figurenliste
  • In den Zeichnungen beziehen sich gleiche Bezugszeichen im Allgemeinen in den verschiedenen Ansichten durchweg auf dieselben Teile. Die Zeichnungen sind nicht unbedingt maßstabsgetreu, wobei stattdessen die Veranschaulichung der Prinzipien der Erfindung betont wird. In der folgenden Beschreibung werden verschiedene Ausführungsformen der Erfindung unter Bezugnahme auf die folgenden Zeichnungen beschrieben. Es zeigen:
    • 1 eine schematische Ansicht einer Watchdog-Schaltung gemäß dem Stand der Technik;
    • 2A und 2B jeweils eine schematische Ansicht einer Watchdog-Schaltung gemäß verschiedenen Ausführungsformen;
    • 3 ein Flussdiagramm eines Verfahrens zum Betrieb einer Watchdog-Schaltung gemäß verschiedenen Ausführungsformen;
    • 4A bis 4C jeweils Flussdiagramme von Aspekten eines Verfahrens zum Betrieb einer Schaltung gemäß verschiedenen Ausführungsformen;
    • 5A und 5B jeweils ein Flussdiagramm eines Verfahrens zum Betrieb einer Watchdog-Schaltung gemäß verschiedenen Ausführungsformen; und
    • 6 eine schematische Ansicht eines Verarbeitungssystems gemäß verschiedenen Ausführungsformen.
  • Beschreibung
  • Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen, die zur Veranschaulichung spezifische Einzelheiten und Ausführungsformen zeigen, in denen die Erfindung praktiziert werden kann.
  • Das Wort „beispielhaft“ soll hier „als Beispiel, Einzelfall oder Veranschaulichung dienend“ bedeuten. Jede Ausführungsform oder jeder Entwurf, die bzw. der hier als „beispielhaft“ beschrieben wird, soll nicht unbedingt als gegenüber anderen Ausführungsformen oder Entwürfen bevorzugt oder vorteilhaft aufgefasst werden.
  • Verschiedene Aspekte der Offenbarung werden für Vorrichtungen und verschiedene Aspekte der Offenbarung für Verfahren bereitgestellt. Es versteht sich, dass die Grundeigenschaften der Vorrichtungen auch für die Verfahren gelten und umgekehrt. Der Kürze halber kann deshalb eine duplizierte Beschreibung solcher Eigenschaften weggelassen worden sein.
  • Bei verschiedenen Ausführungsformen wird eine Watchdog-Schaltung, auch als Watchdog-Timer oder einfach Watchdog bezeichnet, mit Virtualisierungsunterstützung bereitgestellt. Anders ausgedrückt, kann in einem System, zum Beispiel einem SoC (System-auf-Chip), auf dem eine oder mehrere virtuelle Maschinen laufen, eine Watchdog-Schaltung bereitgestellt werden, die die virtuellen Maschinen mit ihrer Watchdog-Timer-Überwachungsfunktionalität abdeckt. Falls das System mehrere Kerne, z.B. Prozessorkerne, aufweist, kann eine Watchdog-Schaltung pro Kern bereitgestellt werden. Es kann ein Hypervisor zur Überwachung der virtuellen Maschinen bereitgestellt werden.
  • Zähler zum Überwachen, wann jede der virtuellen Maschinen und der Hypervisor zuletzt eine Angabe bereitgestellt haben, dass sie ordnungsgemäß bereit sind und laufen, können in Hardwarespeicher, zum Beispiel in dedizierten Registern, gespeichert werden.
  • Die Watchdog-Schaltung und die virtuellen Maschinen können (im Wesentlichen nur) am Hardwarespeicher verschachtelt sein, und auf entkoppelte Weise. Das heißt, dass die virtuellen Maschinen in dem Speicher gespeicherte Zähler gemäß ihrem eigenen Timing rücksetzen können und dass die Watchdog-Schaltung gemäß ihrem eigenen Zeitrahmen auf die Zähler zugreifen kann, um zu verifizieren, dass die Zähler durch die virtuellen Maschinen auf rechtzeitige Weise rückgesetzt wurden, aber ohne Notwendigkeit, direkt mit der Virtuellmaschinen-Software in Interaktion zu treten, um die virtuelle Maschine zu einer Antwort aufzufordern oder dergleichen.
  • In verschiedenen Ausführungsformen kann die Hardwarekomponente, die die Entscheidung über den Neuversuch trifft, das (Software-) System abladen.
  • Bei verschiedenen Ausführungsformen kann eine schnellere Reaktion auf Watchdog-Ereignisse erzielt werden. Das heißt, dass ein Echtzeitverhalten erzielt werden kann, da der Virtuellmaschinen-Watchdog-Timer (z.B. die Zähler) von der Hardware gehandhabt wird.
  • Bei verschiedenen Ausführungsformen kann eine Komplexität und ein Platzbedarf der Watchdog-Handler-Software verringert werden.
  • 2A und 2B zeigen jeweils eine schematische Ansicht einer Watchdog-Schaltung 200 gemäß verschiedenen Ausführungsformen, wobei 2A die Watchdog-Schaltung 200a und 2B die Watchdog-Schaltung 200b zeigt. 3 zeigt ein Flussdiagramm 300 eines Verfahrens zum Betrieb einer Watchdog-Schaltung gemäß verschiedenen Ausführungsformen, zum Beispiel der Watchdog-Schaltung(en) 200 von 2A und/oder 2B. 4A bis 4C zeigen jeweils Flussdiagramme 400a, 400b bzw. 400c von Aspekten eines Verfahrens zum Betrieb einer Schaltung gemäß verschiedenen Ausführungsformen. Das Verfahren zum Betrieb der Schaltung kann mindestens eines der Verfahren zum Betrieb der Watchdog-Schaltung, zum Beispiel des Verfahrens wie im Kontext mit 3 und/oder 5 beschrieben, integrieren. 5 zeigt ein Flussdiagramm 500 eines Verfahrens zum Betrieb einer Watchdog-Schaltung gemäß verschiedenen Ausführungsformen, zum Beispiel einer der Watchdog-Schaltungen 200 von 2A und/oder 2B. 6 zeigt eine schematische Ansicht eines Datenverarbeitungssystems 600 gemäß verschiedenen Ausführungsformen.
  • Die Watchdog-Schaltung 200 kann dafür ausgelegt sein, eine oder mehrere virtuelle Maschinen 662 (siehe 6) zu überwachen. Die Watchdog-Schaltung 200 kann zum Beispiel Teil des Datenverarbeitungssystems 600, zum Beispiel eines System-auf-Chip, sein. Das Datenverarbeitungssystem, z.B. das SoC, kann mindestens einen Prozessor 660, zum Beispiel einen Mehrkernprozessor, aufweisen. Im Fall des Mehrkernprozessors kann eine Vielzahl von Watchdog-Schaltungen 200 gemäß verschiedenen Ausführungsformen bereitgestellt werden, und zwar eine für jede virtuelle Maschine 662. Anders ausgedrückt, kann jeder der mehreren Prozessorkerne eine zugewiesene Watchdog-Schaltung 200 aufweisen.
  • Die Watchdog-Schaltung 200 kann einen ersten Speicherbereich 224 und einen zweiten Speicherbereich 230_1 ... n aufweisen. Der erste Speicherbereich 224 kann dafür ausgelegt sein, ein oder mehrere Bit zu speichern, und der zweite Speicherbereich 230_1... n kann dafür ausgelegt sein, mindestens n Bit zu speichern, z.B. mindestens ein Bit pro virtuelle Maschine 662, zum Beispiel wie nachfolgend beschrieben.
  • Der erste Speicherbereich 224 und der zweite Speicherbereich 230_1... n können Teil eines Speichers sein, zum Beispiel eines Registers oder einer beliebigen anderen geeigneten Art von Speicher.
  • Die Watchdog-Schaltung 200 kann als eine äußere Schleife, die auch als globaler Watchdog bezeichnet wird, und eine innere Schleife, die auch als lokaler Watchdog bzw. lokale Watchdogs bezeichnet wird, die zyklisch alle aktiven virtuellen Maschinen 662 durchlaufen kann, betrieben werden. Als Teil des globalen Watchdog und als Teil des lokalen Watchdog ausgeführte Aktionen werden nachfolgend beschrieben.
  • Der globale Watchdog kann zum Beispiel durch einen Hypervisor aktiviert werden. Es kann ein dritter Speicherbereich 222 (mit mindestens einem Bit) zum Speichern der Informationen bereitgestellt werden, ob die globale Watchdog-Schaltung 200 aktiv ist.
  • Die Watchdog-Schaltung 200 kann eine Steuerlogik 220 aufweisen. Die Steuerlogik 220 kann dafür ausgelegt sein, beim Starten der Watchdog-Schaltung 200 eine Vielzahl von Aufgaben auszuführen.
  • Die Aufgaben können Speichern eines globalen Watchdog-Zählerwerts in dem ersten Speicherbereich 224 und Speichern eines lokalen Zählerwerts für jede virtuelle Maschine 662 der einen oder mehreren virtuellen Maschinen 662 in dem zweiten Speicherbereich 230_1... n aufweisen. Die Anzahl der virtuellen Maschinen 662 kann n sein, wobei n zwischen 1 und einer Maximalzahl virtueller Maschinen 662 liegt, die in einem gegebenen Datenverarbeitungssystem 600 vernünftig betrieben werden oder anwesend sein können. Jede der n virtuellen Maschinen 662 kann ihr dediziertes Bit oder Bits in dem zweiten Speicherbereich 230_1 ... n aufweisen. Zum Beispiel kann in Bit(s) 230_1 des zweiten Speicherbereich s 230_1... n der lokale Zählerwert für die erste der virtuellen Maschinen 662 gespeichert werden, in Bit(s) 230_2 des zweiten Speicherbereich s 230_1...n kann der lokale Zählerwert für die zweite der virtuellen Maschinen 662 gespeichert werden und so weiter. Dies kann sinngemäß auch für andere Speicherbereiche gelten, die mit einer ähnlichen Bezugszahl versehen sind.
  • Anders ausgedrückt, können beim Herauffahren der Watchdog-Schaltung 200 der globale Watchdog-Zählerwert und jeder der lokalen Zählerwerte initialisiert werden. Der globale Watchdog-Zählerwert und jeder der lokalen Zählerwerte können so ausgewählt werden, dass während eines regulären zeitgemäßen Betriebs ein vordefiniertes globales Watchdog-Referenzkriterium und vordefinierte lokale Watchdog-Referenzkriterien nicht erfüllt sind. Anders ausgedrückt, kann eine vordefinierte Aktion, die durch die Watchdog-Schaltung 200 initiiert werden kann, wie zum Beispiel eine Benachrichtigung, ein System rücksetzen usw., verhindert werden.
  • Zum Beispiel können, wie nachfolgend auf beispielhafte Weise erläutert wird, der globale Watchdog-Zählerwert und jeder der lokalen Zählerwerte auf Werte gesetzt werden, die größer als 0 sind, die während jedes Watchdog-Zyklus um einen vorbestimmten Betrag - gewöhnlich 1 - dekrementiert werden können, und das vordefinierte globale Watchdog-Referenzkriterium und die vordefinierten lokalen Watchdog-Referenzkriterien können zum Beispiel null sein. 1 < n diesem Beispiel können der globale Watchdog-Zählerwert und jeder der lokalen Zählerwerte groß genug sein, um während normaler zeitgemäßer Operationen der virtuellen Maschinen 662 nicht null zu erreichen. Bei anderen beispielhaften Ausführungsformen können das vordefinierte globale Watchdog-Referenzkriterium und die vordefinierten lokalen Watchdog-Referenzkriterien zum Beispiel größer als null sein, der Zählerwert kann während jedes Watchdog-Zyklus inkrementiert werden und der globale Watchdog-Zählerwert und jeder der lokalen Zählerwerte können anfänglich auf null gesetzt werden.
  • Was oben als „Watchdog-Zyklus“ bezeichnet wird, kann bedeuten, dass die Steuerlogik 220 ferner dafür ausgelegt sein kann, nach einer vordefinierten Anzahl von Impulsen eines bereitgestellten Taktsignals weitere Aktionen durchzuführen. Das Taktsignal kann bei verschiedenen Ausführungsformen durch einen freilaufenden Timer 108 bereitgestellt werden, der Teil der Watchdog-Schaltung 200 sein kann, z.B. entkoppelt von einem Systemtakt. Bei anderen Ausführungsformen kann der Systemtakt zur Bereitstellung des Taktsignals verwendet werden.
  • Die weiteren Aktionen können Modifizieren des globalen Watchdog-Zählerwerts um einen vordefinierten Betrag aufweisen. Wenn zum Beispiel der globale Watchdog-Zählerwert größer als der globale Watchdog-Referenzwert ist, kann der globale Watchdog-Zählerwert um einen vordefinierten Betrag, z.B. um eins oder mehr, dekrementiert werden, und wenn der globale Watchdog-Zählerwert kleiner als der globale Watchdog-Referenzwert ist, kann der globale Watchdog-Zählerwert um einen vordefinierten Betrag (z.B. um eins oder mehr) inkrementiert werden.
  • Die weiteren Aktionen können ferner aufweisen, zu ermitteln, ob der modifizierte globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt, zum Beispiel wenn der globale Watchdog-Zählerwert gleich dem vordefinierten globalen Watchdog-Referenzwert ist (oder im Dekrementierungsfall kleiner als der vordefinierte globale Watchdog-Referenzwert ist oder im Inkrementierungsfall höher als der vordefinierte globale Watchdog-Referenzwert ist).
  • Wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium nicht erfüllt, können die weiteren Aktionen Ausführung noch weiterer Aktionen aufweisen, die für jede aktive virtuelle Maschine 662 der einen oder mehreren virtuellen Maschinen 662 ausgeführt werden können.
  • Die noch weiteren Aktionen können Modifizieren des lokalen Watchdog-Zählerwerts (der virtuellen Maschine 662, die gerade verarbeitet wird) um einen vordefinierten Betrag aufweisen. Wenn zum Beispiel der lokale Watchdog-Referenzwert größer als der lokale Watchdog-Referenzwert ist (der individuell für jede der virtuellen Maschinen 662 definiert werden kann, aber bei einer beispielhaften Ausführungsform z.B. für jede der virtuellen Maschinen 662 z.B. auf null gesetzt werden kann), kann der lokale Watchdog-Zählerwert um einen vordefinierten Betrag, z.B. um eins oder mehr, dekrementiert werden, und wenn der lokale Watchdog-Zählerwert kleiner als der lokale Watchdog-Referenzwert ist (der individuell für jede der virtuellen Maschinen 662 definiert werden kann, aber bei einer beispielhaften Ausführungsform z.B. für jede der virtuellen Maschinen 662 auf dieselbe von null verschiedene Zahl gesetzt werden kann), kann der globale Watchdog-Zählerwert um einen vordefinierten Betrag, z.B. um eins oder mehr, inkrementiert werden.
  • Die noch weiteren Funktionen können ferner aufweisen en zu ermitteln, ob der modifizierte lokale Watchdog-Zählerwert (der virtuellen Maschine 662, die gerade verarbeitet wird) das vordefinierte lokale Watchdog-Referenzkriterium erfüllt, zum Beispiel, wenn der lokale Watchdog-Zählerwert gleich dem vordefinierten lokalen Watchdog-Referenzwert ist (oder im Dekrementierungsfall kleiner als das vordefinierte lokale Watchdog-Referenzkriterium ist oder im Inkrementierungsfall höher als der vordefinierte lokale Watchdog-Referenzwert ist).
  • Die noch weiteren Aktionen können ferner Ausführen einer vordefinierten Aktion 112 aufweisen, wenn der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt. Die vordefinierten Aktionen können Aktionen aufweisen, die typischerweise durch Watchdog-Schaltungen eingeleitet werden, wie etwa ein Systemrücksetzen, Senden einer Benachrichtigung, ein Systemherunterfahren (möglicherweise, nachdem zuerst relevante Daten abgespeichert werden), Setzen eines Alarms/einer Falle usw.
  • Die Steuerlogik 220 kann ferner dafür ausgelegt sein, die vordefinierte Aktion auszuführen, wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium erfüllt.
  • Die Steuerlogik 220 kann bei verschiedenen Ausführungsformen ferner dafür ausgelegt sein, zu ermitteln, welche der einen oder mehreren virtuellen Maschinen 662 aktiv ist. Dies kann geschehen, bevor die noch weiteren Aktionen ausgeführt werden, weil die noch weiteren Aktionen nur für die aktiven virtuellen Maschinen 662 ausgeführt werden können.
  • Bei verschiedenen Ausführungsformen kann die Steuerlogik 234 ausgelegt sein zum Empfangen einer Information 234, zum Beispiel von außerhalb der Steuerlogik 234, darüber, welche der virtuellen Maschinen 662 aktiv sind. Die Information 234 kann bei verschiedenen Ausführungsformen in einem vierten Speicherbereich 228_1... n gespeichert werden. Der vierte Speicherbereich 228_1... n kann mindestens ein Bit pro virtueller Maschine 662 zum Speichern, ob die jeweilige virtuelle Maschine 662 aktiv ist, aufweisen. Bei verschiedenen Ausführungsformen, zum Beispiel wenn keine Information 234 hinsichtlich, welche virtuelle Maschine 662 aktiv ist, der Steuerlogik 234 bereitgestellt wird, kann die Steuerlogik 234 dafür ausgelegt sein, die Informationen aktiv abzurufen, zum Beispiel aus dem vierten Speicherbereich 228_1... n.
  • Zur Deaktivierung beliebiger der virtuellen Maschinen (z.B. vor ihrer Wartung, anders ausgedrückt, vor dem Rücksetzen ihres lokalen Watchdog-Zählerwerts, wie zum Beispiel im Kontext von 4A oder 4C oder für andere Zwecke beschrieben), kann ein Wert, der eine Deaktivierung der virtuellen Maschine angibt, in jeweiligem Bit bzw. jeweiligen Bits des vierten Speicherbereichs 228_1... n gespeichert werden. Nach dem Rücksetzen des lokalen Watchdog-Zählerwerts kann ein eine Aktivierung der virtuellen Maschine angebender Wert in dem jeweiligen Bit bzw. den jeweiligen Bits des vierten Speicherbereichs 228_1 ... n gespeichert werden.
  • Bei verschiedenen Ausführungsformen kann die Watchdog-Schaltung 200 dafür ausgelegt sein, ein unbefugtes Auslösen einer vordefinierten Aktion zu verhindern, und auch sicherzustellen, dass eine Auslösung der vordefinierten Aktion nicht fälschlicherweise verhindert wird. Dies lässt sich erreichen, indem man vor dem Gestatten des Modifizierens des globalen Watchdog-Zählerwerts und/oder beliebiger der lokalen Watchdog-Zählerwerte ein Passwort anfordert und verifiziert. Zum Beispiel kann die Steuerlogik 220 dafür ausgelegt sein, eine Passwort-Entsperrungssequenz laufen zu lassen, bevor das Modifizieren des globalen Watchdog-Zählerwerts gestattet wird und/oder vor dem Modifizieren des lokalen Watchdog-Zählerwerts. Vom Hypervisor kann bei verschiedenen Ausführungsformen (z.B. durch die Steuerlogik 220) angefordert werden, ein Passwort bereitzustellen, und das Passwort muss möglicherweise erfolgreich verifiziert werden, bevor dem Hypervisor Berechtigung gegeben wird, in den ersten Speicherbereich 224 zu schreiben. Ähnlich kann von jeder der virtuellen Maschinen 662 bei verschiedenen Ausführungsformen (z.B. durch die Steuerlogik 220) angefordert werden, ein Passwort bereitzustellen, und das Passwort kann erfolgreich verifiziert werden müssen, bevor der virtuellen Maschine 662 Berechtigung gegeben wird, in ihre zugewiesenen Bits des zweiten Speicherbereichs 330_1... n zu schreiben.
  • Für die Verifikation können ein oder mehrere Referenzpasswörter erforderlich sein.
  • Die Steuerlogik 220 kann somit ferner dafür ausgelegt sein, mindestens ein Referenzpasswort zu speichern, zum Beispiel ein Referenzpasswort zum Modifizieren des globalen Watchdog-Zählerwerts und ein Referenzpasswort für jeden des mindestens einen zu modifizierenden lokalen Watchdog-Zählerwerts. Das Referenzpasswort zum Modifizieren des globalen Watchdog-Zählerwerts kann zum Beispiel in einem fünften Speicherbereich 240 gespeichert werden, und das mindestens eine Referenzpasswort zum Modifizieren des mindestens einen lokalen Watchdog-Zählerwerts kann in einem sechsten Speicherbereich 242_1... n gespeichert werden.
  • Die Steuerlogik 220 kann ferner dafür ausgelegt sein, das mindestens eine Passwort zu erzeugen, die in dem fünften Speicherbereich 240 und/oder in dem sechsten Speicherbereich 242_1... n gespeichert werden können. Die Steuerlogik 220 kann zum Beispiel für diesen Zweck eine Passwort-Verarbeitungsschaltung 236 aufweisen. Um individuell zu steuern, ob ein Passwort erforderlich ist, kann gegebenenfalls ein siebenter Speicherbereich 244 für den globalen Watchdog-Zählerwert und ein achter Speicherbereich 248_1...n für jeden der lokalen Watchdog-Zählerwerte bereitgestellt werden. Wenn zum Beispiel eine „1“ in Bit 248 2 gespeichert ist, kann ein Passwort zum Modifizieren des lokalen Watchdog-Zählerwerts der zweiten virtuellen Maschine erforderlich sein, und wenn eine „0“ in Bit 248 2 gespeichert ist, kann das Modifizieren des lokalen Watchdog-Zählerwerts der zweiten virtuellen Maschine ohne Bereitstellung eines gültigen Passworts gestattet sein.
  • Ferner kann gegebenenfalls eine Anwendung der Watchdog-Schaltung 200 auf jede der virtuellen Maschinen und als der allgemeine Watchdog durch Steuerbit gesteuert werden, die in einem neunten Speicherbereich 250_1... n für die virtuellen Maschinen und einem zehnten Speicherbereich 246 für den globalen Watchdog (siehe 2B) gespeichert werden.
  • Bei verschiedenen Ausführungsformen können das Speichern des globalen Watchdog-Zählerwerts und das Modifizieren des globalen Watchdog-Zählerwerts durch eine Hypervisor-Software bereitgestellt werden.
  • Bei verschiedenen Ausführungsformen können die eine oder mehreren virtuellen Maschinen dafür ausgelegt sein, das Speichern des lokalen Zählerwerts und das Modifizieren des lokalen Watchdog-Zählerwerts auszuführen.
  • Die beispielhaften Ausführungsformen von 2A und 2B und von 3, wodurch ein Funktionsverhalten der Watchdog-Schaltung 200 veranschaulicht wird, werden im Folgenden kurz beschrieben, gegebenenfalls im Kontext von 4A und 4B, die einen Teil der Software-Handhabung der Watchdog-Schaltung 200 veranschaulichen.
  • Es kann eine Watchdog-Schaltung 200 pro Kern bereitgestellt werden, zusammen mit einem globalen Watchdog-Zähler (in dem ersten Speicherbereich 224) und Zählerregistern (dem zweiten Speicherbereich 230_1... n) für jede virtuelle Maschine 662.
  • Beim Herauffahren der Watchdog-Schaltung 200 können die globalen und lokalen Watchdog-Zählerwerte, die jeweils eine natürliche Zahl sein können, in ihre jeweiligen Register 224 und 230_1... n geladen werden, und die Watchdog-Schaltung 200 kann aktiviert werden.
  • Wie für das Beispiel in 4A gezeigt, kann der globale Watchdog-Diensthandler (der Hypervisor, der auch als Virtuellmaschinenüberwachungsvorrichtung bezeichnet werden kann) gestartet oder aufgerufen werden (bei 460a), um den globalen Watchdog-Zählerwert (bei 470a) zu setzen, und danach kann diese Funktion (bei 480a) beendet werden. Anders ausgedrückt, kann der globale Watchdog durch die Hypervisor-Software gehandhabt und gewartet werden.
  • Der lokale Zähler-Watchdog-Wert kann durch die jeweilige Virtuellmaschinen-Software selbst geladen werden, die (bei 410a) gestartet oder aufgerufen werden kann, kann den lokalen Watchdog-Zählerwert setzen (bei 430a), den lokalen Watchdog aktivieren (bei 440a) und dann die Funktion beenden (bei 450a). Anders ausgedrückt, kann der lokale (Virtuellmaschinen-) Watchdog durch die Virtuellmaschinen-Software gehandhabt und gewartet werden. Dies ist zum Beispiel auch in 4A dargestellt.
  • Zur anfänglichen Einstellung des lokalen Zähler-Watchdog-Werts kann ein Deaktivieren des lokalen Watchdog (bei 420a) weggelassen werden, da der lokale Watchdog noch nicht aktiv ist.
  • Nach der Aktivierung kann der Betrieb der Watchdog-Schaltung 200 folgendermaßen sein (siehe z.B. 3).
  • Bei jedem der Ticks des freilaufenden Timers (310 oder eine andere vordefinierte Dauer) kann der globale Watchdog-Zähler (z.B. um 1) dekrementiert (320) und mit null verglichen werden (330).
  • Wenn der globale Watchdog-Zählerwert null ist, kann ein globaler Watchdog-Status aktualisiert werden (350), um zum Beispiel anzugeben, dass ein vordefiniertes Watchdog-Kriterium erfüllt wurde. Der Status kann in einem zwölften Speicherbereich 226 gespeichert werden. Ferner können eine Falle und/oder ein Alarm ausgelöst werden (370).
  • Wenn der globale Watchdog-Zählerwert von null verschieden ist, kann der globale Watchdog-Status aktualisiert werden (340), z.B. in dem zwölften Speicherbereich 226, um zum Beispiel anzugeben, dass ein vordefiniertes Watchdog-Kriterium nicht erfüllt wurde, und die Watchdog-Schaltung 200 kann zu der „inneren Schleife“ voranschreiten.
  • Die „innere Schleife“ kann aufweisen, zu prüfen, ob die aktuell verarbeitete der virtuellen Maschinen aktiv ist (341), zum Beispiel wie oben beschrieben, z.B. durch Eingabe von außen und durch Abrufen der Informationen aus dem zugeordneten Bit bzw. den zugeordneten Bits des vierten Speicherbereichs 228_1 ... n.
  • Wenn die aktuell verarbeitete der virtuellen Maschinen aktiv ist, kann die „innere Schleife“ ferner aufweisen, zu prüfen, ob die Watchdog-Wartung auf die aktuell verarbeitete virtuelle Maschine 662 anzuwenden ist, zum Beispiel durch Abrufen der Informationen aus dem jeweiligen Bit bzw. den jeweiligen Bits des neunten Speicherbereichs 250_1 ... n (342).
  • Sie kann ferner Dekrementieren des lokalen Watchdog-Zählerwerts des zugeordneten Bits bzw. der zugeordneten Bits der aktuell verarbeiteten virtuellen Maschine 662, die im zweiten Speicherbereich 226_1... n gespeichert sind, um 1 (343) und danach Vergleichen des dekrementierten Werts mit null (344) aufweisen.
  • Gegebenenfalls kann ein Status der aktuell verarbeiteten virtuellen Maschine aktualisiert, z.B. in jeweiligen Bits eines elften Speicherbereichs 232_1...n, z.B. in Bit(s) 232_1 für die erste virtuelle Maschine, in 232_2 für die zweite virtuelle Maschine und so weiter gespeichert werden, wobei die Statusaktualisierung 360 für den Fall relevant sein kann, dass der dekrementierte lokale Watchdog-Zählerwert null ist, und die Statusaktualisierung 345 für den Fall relevant sein kann, dass er ungleich null ist, z.B. größer als null.
  • Eine Falle/ein Alarm 112 (und/oder eine andere geeignete vordefinierte Aktion) können ausgelöst werden, wenn der lokale Watchdog-Zählerwert null ist (370).
  • Wenn die Verarbeitung der aktuell verarbeiteten virtuellen Maschine 662 beendet ist, kann geprüft werden, ob dies die letzte zu verarbeitende virtuelle Maschine 662 ist (346). Wenn nicht, kann die nachfolgende virtuelle Maschine 662 verarbeitet werden. Andernfalls endet die innere Schleife (347). Die globale Schleife kann mit dem nächsten Timersignal von neuem gestartet werden.
  • Um eine Funktionalität der „inneren Schleife“ zusammenzufassen, kann der lokale Watchdog-Zählerwert für jede der virtuellen Maschinen bei jedem Watchdog-Tick dekrementiert werden, wenn die virtuelle Maschine 662 aktiv ist. Wenn irgendeiner der lokalen Watchdog-Zählerwerte nicht neu geladen wird, bevor er null erreicht, kann ein Alarm/eine Falle 112 gesetzt werden, um anzugeben, dass die Watchdog-Schaltung 200 für diese virtuelle Maschine 662 nicht gewartet wurde.
  • Wie oben beschrieben, kann eine Wartung des Virtuellmaschinen- (lokalen) Watchdog durch die Software der jeweiligen virtuellen Maschine 662 durchgeführt werden. Anders ausgedrückt, dann die Software jeder der virtuellen Maschinen 662 den jeweiligen zugeordneten Zähler rücksetzen, der in den dedizierten Bits des zweiten Speicherbereichs 230_1...n gespeichert wird. Der Wartungsvorgang zum Warten des lokalen Watchdog bzw. der lokalen Watchdogs kann parallel zum Watchdog selbst laufen.
  • Ein jeweiliger Wartungsvorgang ist in 4A (links) und in 4C dargestellt.
  • In einem relativ einfachen in 4A (links) gezeigten Modus kann eine Funktionsweise der Watchdog-Wartungsfunktion der virtuellen Maschine 662, z.B. des Rücksetzens des lokalen Watchdog-Zählerwerts bzw. der lokalen Watchdog-Zählerwerte in dem zweiten Speicherbereich 230_1... n folgendermaßen sein:
  • Der lokale Watchdog-Service-Handler, der Teil der Software der virtuellen Maschine sein kann, für die der lokale Watchdog-Zählerwert rückzusetzen ist, kann aktiviert werden (410a).
  • Die Watchdog-Funktionalität kann für die aktuell verarbeitete virtuelle Maschine deaktiviert werden (420a). Dies lässt sich zum Beispiel erreichen durch Setzen des jeweiligen Bit bzw. jeweiliger Bits des vierten Speicherbereichs 228_1 ... n auf einen Wert, der eine Deaktivierung der aktuell verarbeiteten virtuellen Maschine angibt. Dadurch kann ein Problem vermieden werden, das entstanden sein könnte, wenn die Steuerlogik der Watchdog-Schaltung 200 und die virtuelle Maschine 662 gleichzeitig auf den zweiten Speicherbereich 230_1... n zugegriffen hätten.
  • Danach kann der lokale Watchdog-Zählerwert für die aktuell verarbeitete virtuelle Maschine 662 neu geladen/rückgesetzt (430a) werden, zum Beispiel durch Speichern eines geeigneten Werts (z.B. wie oben beschrieben, z.B. des anfänglichen Werts) in den vergebenen Bit des zweiten Speicherbereichs 230_1 ... n.
  • Nach dem Rücksetzen des lokalen Watchdog-Zählerwerts kann ein Wert in dem jeweiligen Bit bzw. den jeweiligen Bits des vierten Speicherbereichs 228_1... n gespeichert werden, der eine Aktivierung der virtuellen Maschine 662 angibt, so dass die Watchdog-Funktionalität für die aktuell verarbeitete virtuelle Maschine 662 wiederaufgenommen werden kann. Anders ausgedrückt, kann der Watchdog wieder für die aktuell verarbeitete virtuelle Maschine freigegeben werden (440a). Dies beendet den Virtuellmaschinen-Wartungsvorgang (450a).
  • Der in 4C dargestellte lokale Watchdog-Wartungsvorgang kann dem lokalen Watchdog-Wartungsvorgang von 4A ähnlich sein, mit dem Unterschied, dass eine Modifikation/ein Rücksetzen des lokalen Watchdog-Zählerwerts, z.B. ein Schreiben in die zugeteilten Bit des zweiten Speicherbereichs 230_1... n, passwortgeschützt werden kann.
  • Ein Aktivieren des lokalen Watchdog-Service-Handlers (410c), Deaktivieren der Watchdog-Funktionalität für die aktuell verarbeitete virtuelle Maschine (420c), Neuladen/Rücksetzen des lokalen Watchdog-Zählerwerts für die aktuell verarbeitete virtuelle Maschine 662 (430c), Wiederfreigeben der Watchdog-Wartung für die aktuell verarbeitete virtuelle Maschine (440c) und Beenden des Virtuellmaschinen-Wartungsvorgangs (450c) können den im Kontext mit 4A beschriebenen entsprechenden Vorgängen ähnlich oder mit diesen identisch sein.
  • Vor dem Neuladen/Rücksetzen des lokalen Watchdog-Zählerwerts für die aktuell verarbeitete virtuelle Maschine 662 (430c) kann jedoch eine Passwort-Entsperrungssequenz befolgt werden (429c). Als Teil der Passwort-Entsperrungssequenz kann von der aktuell verarbeiteten virtuellen Maschine erfordert werden, ein Passwort bereitzustellen, zum Beispiel für die Watchdog-Schaltung 200, und nur bei erfolgreicher Verifikation, zum Beispiel durch die Steuerlogik 220, kann der virtuellen Maschine 662 Berechtigung gegeben werden, den lokalen Watchdog-Zähler neu zu laden/rückzusetzen.
  • Wie oben beschrieben, kann ein Warten des globalen Watchdog durch den Hypervisor durchgeführt werden. Anders ausgedrückt, kann der Hypervisor den globalen Zähler rücksetzen, der in dem ersten Speicherbereich 224 gespeichert sein kann. Der Wartungsvorgang zum Warten des globalen Watchdogs kann parallel zum Watchdog selbst laufen.
  • Der in 4A (rechts) gezeigte relativ einfache Wartungsvorgangsmodus wurde zuvor für die anfängliche Einstellung des globalen Watchdog-Zählerwerts beschrieben. Der parallel zum Watchdog-Betrieb ausgeführte Wartungsvorgang kann bei verschiedenen Ausführungsformen ähnlich oder identisch sein.
  • 4B zeigt einen komplizierteren globalen Watchdog-Wartungsvorgang, bei dem ein Passwortschutz des Modifizierens/Rücksetzens des globalen Watchdog-Zählerwerts, z.B. eines Schreibens in die vergebenen Bit des ersten Speicherbereichs 224, bereitgestellt werden kann.
  • Ein Aktivieren des Hypervisors (460b), Neuladen/Rücksetzen des globalen Watchdog-Zählerwerts (470b) und Beenden des globalen Watchdog-Wartungsvorgangs (480b) können ähnlich oder identisch wie die im Kontext mit 4A beschriebenen entsprechenden Prozesse sein.
  • Außerdem kann ein Deaktivieren des globalen Watchdogs (465b) vor dem Neuladen/Rücksetzen des globalen Watchdog-Zählerwerts (470b) und ein Wiederfreigeben des globalen Watchdogs (475b) nach dem Neuladen/Rücksetzen des globalen Watchdog-Zählerwerts (470b) bereitgestellt werden (mit oder ohne den Passwortschutz für das Neuladen/Rücksetzen des globalen Watchdog-Zählerwerts (470b)). Dies kann durch Speichern von Werten in dem dritten Speicherbereich 222 erzielt werden, die eine Deaktivierung bzw. eine Aktivierung des globalen Watchdogs angeben.
  • Vor dem Neuladen/Rücksetzen des globalen Watchdog-Zählerwerts (470b) kann jedoch eine Passwort-Entsperrungssequenz befolgt werden (469b). Als Teil der Passwort-Entsperrungssequenz kann vom Hypervisor erfordert werden, zum Beispiel der Watchdog-Schaltung 200 ein Passwort bereitzustellen, und nur bei erfolgreicher Verifikation, zum Beispiel durch die Steuerlogik 220, kann dem Hypervisor Berechtigung gegeben werden, den globalen Watchdog-Zähler neu zu laden/rückzusetzen, z.B. in den ersten Speicherbereich 224 zu schreiben.
  • 5A zeigt ein Flussdiagramm 500 eines Verfahrens zum Betrieb einer Watchdog-Schaltung zum Überwachen einer Vielzahl von virtuellen Maschinen, die durch einen Kern einer Vielzahl von Kernen bereitgestellt wird, gemäß verschiedenen Ausführungsformen.
  • Das Verfahren kann Folgendes aufweisen: Starten der Watchdog-Schaltung (510), Speichern eines globalen Watchdog-Zählerwerts in einem ersten Speicherbereich (520), Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in einem zweiten Speicherbereich (530), Zählen einer Anzahl von Impulsen (540), Modifizieren des globalen Watchdog-Zählerwerts und der lokalen Watchdog-Zählerwerte (550), und wenn der globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt oder irgendeiner der lokalen Watchdog-Zählerwerte ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt (560), Ausgeben eines Fehlersignals (570).
  • 5B zeigt ein Flussdiagramm 501 eines Verfahrens zum Betrieb einer Watchdog-Schaltung gemäß verschiedenen Ausführungsformen.
  • Das Verfahren kann Folgendes aufweisen: Starten der Watchdog-Schaltung (511), Speichern eines globalen Watchdog-Zählerwerts in einem ersten Speicherbereich (521), Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in einem zweiten Speicherbereich (531), Warten für eine Dauer entsprechend einer vordefinierten Anzahl von Impulsen eines bereitgestellten Taktsignals (541), Modifizieren des globalen Watchdog-Zählerwerts um einen vordefinierten Betrag (551), Ermitteln, ob der modifizierte globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt (561), und wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium nicht erfüllt, für jede aktive virtuelle Maschine der einen oder mehreren virtuellen Maschinen: Modifizieren des lokalen Watchdog-Zählerwerts um einen vordefinierten Betrag (571), Ermitteln, ob der modifizierte lokale Watchdog-Zählerwert ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt (581), und wenn der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt, Ausführen einer vordefinierten Aktion (590B).
  • Bei verschiedenen Ausführungsformen kann die vordefinierte Aktion auch ausgeführt werden, wenn der globale Watchdog-Zähler das vordefinierte globale Watchdog-Referenzkriterium erfüllt.
  • Bei verschiedenen Ausführungsformen kann, wenn der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium nicht erfüllt, der Prozess enden (590A).
  • Die oben beschriebenen Ausführungsformen können eine Komplexität einer Kunden-Softwarekomponente, die mit der Watchdog-Schaltung 200 in Interaktion tritt, verringern. Ferner kann eine Leistungsfähigkeit des Systems verbessert und ein Speicherplatzbedarf verringert werden. Ferner muss ein Benutzer, der eine Virtuellmaschinen-Software bereitstellt, die Watchdog-Handler-Software nicht entwickeln und unterhalten. Es kann ausreichen, mit der unabhängigen Watchdog-Schaltung 200 wie oben beschrieben in Interaktion zu treten.
  • Eine Wechselzeit von Virtuellmaschinenkontexten kann durch die Watchdog-Schaltung 200 unbetroffen sein.
  • Bei verschiedenen Ausführungsformen kann die Watchdog-Schaltung 200 insofern vielseitig sein, als sie nicht auf eine einzige Chipgeneration beschränkt sein kann, sondern für verschiedene Chipgenerationen verwendet werden kann.
  • Im Folgenden werden verschiedene Beispiele veranschaulicht:
    • Beispiel 1 ist eine Watchdog-Schaltung zum Überwachen einer Vielzahl von virtuellen Maschinen, die durch einen Kern einer Vielzahl von Kernen bereitgestellt wird. Die Watchdog-Schaltung kann Folgendes aufweisen: einen ersten Speicherbereich, einen zweiten Speicherbereich, und eine Steuerlogik, ausgelegt zum Zählen einer Anzahl von Impulsen, beim Starten der Watchdog-Schaltung: Speichern eines globalen Watchdog-Zählerwerts in dem ersten Speicherbereich, und Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in dem zweiten Speicherbereich, nach einer vordefinierten Anzahl von Impulsen: Modifizieren des globalen Watchdog-Zählerwerts und der lokalen Zählerwerte, und wenn der globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt oder irgendeiner der lokalen Watchdog-Zählerwerte ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt, Ausgeben eines Fehlersignals.
    • In Beispiel 2 kann der Gegenstand von Beispiel 1 gegebenenfalls aufweisen, dass der globale Watchdog-Zähler dafür ausgelegt ist, durch einen Hypervisor rücksetzbar zu sein, und dass jeder der lokalen Watchdog-Zähler dafür ausgelegt ist, durch die entsprechende virtuelle Maschine rücksetzbar zu sein.
    • Beispiel 3 ist eine Watchdog-Schaltung zum Überwachen einer oder mehrerer virtueller Maschinen. Die Watchdog-Schaltung kann Folgendes aufweisen: einen ersten Speicherbereich, einen zweiten Speicherbereich und eine Steuerlogik, die beim Starten der Watchdog-Schaltung ausgelegt ist zum Speichern eines globalen Watchdog-Zählerwerts in dem ersten Speicherbereich und Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in dem zweiten Speicherbereich. Die Steuerlogik kann ferner dafür ausgelegt sein, nach einer vordefinierten Anzahl von Impulsen eines bereitgestellten Taktsignals den globalen Watchdog-Zählerwert um einen vordefinierten Betrag zu modifizieren, zu ermitteln, ob der modifizierte globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt, und wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium nicht erfüllt, für jede aktive virtuelle Maschine der einen oder mehreren virtuellen Maschinen Folgendes auszuführen: Modifizieren des lokalen Watchdog-Zählerwerts um einen vordefinierten Betrag, Ermitteln, ob der modifizierte lokale Watchdog-Zählerwert ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt, und wenn der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt, Ausführen einer vordefinierten Aktion.
    • In Beispiel 4 kann der Gegenstand beliebiger der Beispiele 1 bis 3 gegebenenfalls aufweisen, dass die Steuerlogik ferner ausgelegt ist zum Ermitteln, welche der einen oder mehreren virtuellen Maschinen aktiv ist.
    • In Beispiel 5 kann der Gegenstand von Beispiel 4 gegebenenfalls ferner ausgelegt sein zum Ermitteln für jede aktive virtuelle Maschine der einen oder mehreren virtuellen Maschinen, ob der modifizierte lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt, wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium nicht erfüllt.
    • In Beispiel 6 kann der Gegenstand von Beispiel 1 bis 5 gegebenenfalls aufweisen, dass die Steuerlogik ferner ausgelegt ist zum Speichern mindestens eines Passworts und Anfordern und Verifizieren des mindestens einen Passworts vor dem Speichern und vor dem Modifizieren des globalen Watchdog-Zählerwerts und vor dem Speichern und vor dem Modifizieren des lokalen Watchdog-Zählerwerts.
    • In Beispiel 7 kann der Gegenstand von Beispiel 6 gegebenenfalls aufweisen, dass das mindestens eine Passwort getrennte Passwörter für das Modifizieren des globalen Watchdog-Zählerwerts und für jeden der lokalen Watchdog-Zählerwerte aufweist.
    • In Beispiel 8 kann der Gegenstand beliebiger der Beispiele 1 bis 7 gegebenenfalls ferner einen Timer zum Bereitstellen des die gezählten Impulse bereitstellenden Taktsignals aufweisen.
    • In Beispiel 9 kann der Gegenstand von Beispiel 8 gegebenenfalls aufweisen, dass der Timer ein freilaufender Systemtakt ist.
    • In Beispiel 10 kann der Gegenstand beliebiger der Beispiele 3 bis 9 gegebenenfalls ferner einen Passwortgenerator zum Erzeugen des mindestens einen Passworts aufweisen.
    • Beispiel 11 ist eine Schaltung, aufweisend: die Watchdog-Schaltung nach einem der Beispiele 1 bis 10, einen Hypervisor, ausgelegt zum Rücksetzen des globalen Zählerwerts auf den anfänglichen globalen Watchdog-Zählerwert, bevor der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium erfüllt; und die Vielzahl von virtuellen Maschinen, wobei jede der virtuellen Maschinen ausgelegt ist zum Rücksetzen ihres entsprechenden lokalen Watchdog-Zählerwert auf den anfänglichen lokalen Watchdog-Zählerwert, bevor der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt.
    • Beispiel 12 ist ein Datenverarbeitungssystem, das dafür ausgelegt ist, mindestens eine virtuelle Maschine zu betreiben, das mindestens einen Prozessor und mindestens eine Watchdog-Schaltung nach einem der Beispiele 1 bis 11 aufweist.
    • In Beispiel 13 ist das Datenverarbeitungssystem von Beispiel 12 ein System-auf-Chip.
    • In Beispiel 14 weist das Datenverarbeitungssystem von Beispiel 12 oder 13 ferner auf, dass der Prozessor ein Mehrkernprozessor ist und dass die mindestens eine Watchdog-Schaltung eine Vielzahl von Watchdog-Schaltungen aufweist, wobei jeder der mehreren Kerne eine zugewiesene Watchdog-Schaltung der Vielzahl von Watchdog-Schaltungen aufweist.
    • Beispiel 15 ist ein Verfahren zum Betrieb einer Watchdog-Schaltung zur Überwachung einer Vielzahl von virtuellen Maschinen, die durch einen Kern einer Vielzahl von Kernen bereitgestellt wird. Das Verfahren kann Folgendes aufweisen: Starten der Watchdog-Schaltung; Speichern eines globalen Watchdog-Zählerwerts in einem ersten Speicherbereich; Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in einem zweiten Speicherbereich; Zählen einer Anzahl von Impulsen; Modifizieren des globalen Watchdog-Zählerwerts und der lokalen Watchdog-Zählerwerte, und wenn der globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt oder irgendeiner der lokalen Watchdog-Zählerwerte ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt, Ausgeben eines Fehlersignals.
    • Beispiel 16 ist ein Verfahren zum Betrieb einer Watchdog-Schaltung zum Überwachen einer oder mehrerer virtueller Maschinen, wobei das Verfahren Folgendes aufweist: Starten der Watchdog-Schaltung, Speichern eines globalen Watchdog-Zählerwerts in einem ersten Speicherbereich, Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in einem zweiten Speicherbereich, Warten für eine Dauer entsprechend einer vordefinierten Anzahl von Impulsen eines bereitgestellten Taktsignals, Modifizieren des globalen Watchdog-Zählerwerts um einen vordefinierten Betrag, Ermitteln, ob der modifizierte globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt, und wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium nicht erfüllt, für jede aktive virtuelle Maschine der einen oder mehreren virtuellen Maschinen Folgendes auszuführen: Modifizieren des lokalen Watchdog-Zählerwerts um einen vordefinierten Betrag, Ermitteln, ob der modifizierte lokale Watchdog-Zählerwert ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt, und wenn der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt, Ausführen einer vordefinierten Aktion.
    • In Beispiel 17 kann das Verfahren von Beispiel 15 oder 16 ferner aufweisen zu ermitteln, welche der einen oder mehreren virtuellen Maschinen aktiv ist.
    • In Beispiel 18 kann das Verfahren von Beispiel 17 ferner Folgendes aufweisen: Ermitteln für jede aktive virtuelle Maschine der einen oder mehreren virtuellen Maschinen, ob der modifizierte lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt, wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium nicht erfüllt.
    • In Beispiel 19 kann das Verfahren nach einem der Beispiele 15 bis 18 ferner Folgendes aufweisen: Speichern mindestens eines Passworts und Anfordern und Verifizieren des mindestens einen Passworts vor dem Speichern und vor dem Modifizieren des globalen Watchdog-Zählerwerts und vor dem Speichern und vor dem Modifizieren des lokalen Watchdog-Zählerwerts.
    • In Beispiel 20 kann das Verfahren von Beispiel 19 ferner aufweisen, dass das mindestens eine Passwort getrennte Passwörter für das Modifizieren des globalen Watchdog-Zählerwerts und für jeden der lokalen Watchdog-Zählerwerte aufweist.
    • In Beispiel 21 kann das Verfahren nach einem der Beispiele 15 bis 20 ferner aufweisen, dass jede der einen oder mehreren virtuellen Maschinen ausgelegt ist zum Ausführen des Speicherns des lokalen Zählerwerts und des Modifizierens des lokalen Watchdog-Zählerwerts.
    • In Beispiel 22 kann das Verfahren nach einem der Beispiele 15 bis 21 ferner aufweisen, dass die Watchdog-Schaltung ferner einen Timer zum Bereitstellen des Taktsignals aufweist.
    • In Beispiel 23 kann das Verfahren von Beispiel 22 ferner aufweisen, dass der Timer ein freilaufender Systemtakt ist.
    • In Beispiel 24 kann das Verfahren nach einem der Beispiele 19 bis 23 ferner aufweisen, dass die Watchdog-Schaltung ferner einen Passwortgenerator zum Erzeugen des mindestens einen Passworts aufweist.
    • Beispiel 25 ist ein Verfahren zum Betrieb einer Schaltung, die eine Watchdog-Schaltung, einen Hypervisor und eine Vielzahl von virtuellen Maschinen aufweist, wobei das Verfahren Folgendes aufweist: Betreiben der Watchdog-Schaltung gemäß beliebigen der Beispiele 15 bis 24, Rücksetzen des globalen Zählerwerts auf den anfänglichen globalen Watchdog-Zählerwert unter Verwendung des Hypervisors, bevor der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium erfüllt, und Rücksetzen ihres entsprechenden lokalen Watchdog-Zählerwerts auf den anfänglichen lokalen Watchdog-Zählerwert durch jede der virtuellen Maschinen, bevor der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt.
    • Beispiel 26 ist ein Verfahren zum Betrieb eines Datenverarbeitungssystems, ausgelegt zum Betrieb mindestens einer virtuellen Maschine, das mindestens einen Prozessor und mindestens eine Watchdog-Schaltung aufweist, wobei das Verfahren Betreiben der Vielzahl von Watchdog-Schaltungen gemäß dem Verfahren nach einem der Beispiele 15 bis 24 aufweisen kann.
    • In Beispiel 27 ^weist das Verfahren von Beispiel 26 ferner auf, dass das Datenverarbeitungssystem ein System-auf-Chip ist.
    • In Beispiel 28 weist das Datenverarbeitungssystem von Beispiel 26 oder 27 ferner auf, dass der Prozessor ein Mehrkernprozessor ist und dass die mindestens eine Watchdog-Schaltung eine Vielzahl von Watchdog-Schaltungen aufweist, wobei jeder der mehreren Kerne eine zugewiesene Watchdog-Schaltung der Vielzahl von Watchdog-Schaltungen aufweist.
  • Obwohl die Erfindung insbesondere unter Bezugnahme auf spezifische Ausführungsformen gezeigt und beschrieben wurde, ist für Fachleute erkennbar, dass verschiedene Änderungen von Form und Detail daran vorgenommen werden können, ohne vom Wesen und Schutzumfang der Erfindung abzuweichen, der durch die angefügten Ansprüche definiert wird. Der Schutzumfang der Erfindung wird somit durch die angefügten Ansprüche angegeben, und alle Änderungen, die in die Bedeutung und den Äquivalenzbereich der Ansprüche kommen, sollen deshalb eingeschlossen sein.

Claims (21)

  1. Watchdog-Schaltung zum Überwachen einer Vielzahl von virtuellen Maschinen, die durch einen Kern einer Vielzahl von Kernen bereitgestellt wird, wobei die Watchdog-Schaltung Folgendes aufweist: einen ersten Speicherbereich; einen zweiten Speicherbereich; und eine Steuerlogik, eingerichtet zum ◯ Zählen einer Anzahl von Impulsen; ◯ beim Starten der Watchdog-Schaltung: • Speichern eines globalen Watchdog-Zählerwerts in dem ersten Speicherbereich; und • Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in dem zweiten Speicherbereich; ◯ nach einer vordefinierten Anzahl von Impulsen: • Modifizieren des globalen Watchdog-Zählerwerts und der lokalen Zählerwerte; und • wenn der globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt oder irgendeiner der lokalen Watchdog-Zählerwerte ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt, Ausgeben eines Fehlersignals.
  2. Watchdog-Schaltung nach Anspruch 1, wobei der globale Watchdog-Zähler dafür ausgelegt ist, durch einen Hypervisor rücksetzbar zu sein, und wobei jeder der lokalen Watchdog-Zähler dafür ausgelegt ist, durch die entsprechende virtuelle Maschine rücksetzbar zu sein.
  3. Watchdog-Schaltung nach einem der Ansprüche 1 oder 2, wobei die Steuerlogik ferner ausgelegt ist zum Ermitteln, welche der einen oder mehreren virtuellen Maschinen aktiv ist.
  4. Watchdog-Schaltung nach Anspruch 3, ferner aufweisend: wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium nicht erfüllt, Ausführen von Folgendem für jede aktive virtuelle Maschine der einen oder mehreren virtuellen Maschinen: - Ermitteln, ob der modifizierte lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt.
  5. Watchdog-Schaltung nach einem der Ansprüche 1 bis 4, wobei die Steuerlogik ferner ausgelegt ist zum Speichern mindestens eines Passworts und zum Anfordern und Verifizieren des mindestens einen Passworts vor dem Speichern und vor dem Modifizieren des globalen Watchdog-Zählerwerts und vor dem Speichern und vor dem Modifizieren des lokalen Watchdog-Zählerwerts.
  6. Watchdog-Schaltung nach Anspruch 5, wobei das mindestens eine Passwort getrennte Passwörter für das Modifizieren des globalen Watchdog-Zählerwerts und für jeden der lokalen Watchdog-Zählerwerte aufweist.
  7. Watchdog-Schaltung nach einem der Ansprüche 1 bis 6, ferner aufweisend: einen Timer zum Bereitstellen des die gezählten Impulse bereitstellenden Taktsignals.
  8. Watchdog-Schaltung nach Anspruch 7, wobei der Timer ein freilaufender Systemtakt ist.
  9. Watchdog-Schaltung nach einem der Ansprüche 5 bis 8, ferner aufweisend: einen Passwortgenerator zum Erzeugen des mindestens einen Passworts.
  10. Schaltung, aufweisend: • die Watchdog-Schaltung nach einem der Ansprüche 1 bis 9; • einen Hypervisor, ausgelegt zum Rücksetzen des globalen Zählerwerts auf den anfänglichen globalen Watchdog-Zählerwert, bevor der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium erfüllt; und • die Vielzahl von virtuellen Maschinen, wobei jede der virtuellen Maschinen ausgelegt ist zum Rücksetzen ihres entsprechenden lokalen Watchdog-Zählerwerts auf den anfänglichen lokalen Watchdog-Zählerwert, bevor der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt.
  11. System-auf-Chip, das einen Mehrkernprozessor aufweist, wobei das System-auf-Chip eine Vielzahl von Watchdog-Schaltungen nach einem der Ansprüche 1 bis 9 aufweist, wobei jeder der mehreren Kerne eine zugewiesene Watchdog-Schaltung der Vielzahl von Watchdog-Schaltungen aufweist.
  12. Verfahren zum Betrieb einer Watchdog-Schaltung zur Überwachung einer Vielzahl von virtuellen Maschinen, die durch einen Kern einer Vielzahl von Kernen bereitgestellt wird, wobei das Verfahren Folgendes aufweist: • Starten der Watchdog-Schaltung; • Speichern eines globalen Watchdog-Zählerwerts in einem ersten Speicherbereich; • Speichern eines lokalen Zählerwerts für jede virtuelle Maschine der einen oder mehreren virtuellen Maschinen in einem zweiten Speicherbereich; Zählen einer Anzahl von Impulsen; • Modifizieren des globalen Watchdog-Zählerwerts und der lokalen Watchdog-Zählerwerte; und • wenn der globale Watchdog-Zählerwert ein vordefiniertes globales Watchdog-Referenzkriterium erfüllt oder irgendeiner der lokalen Watchdog-Zählerwerte ein vordefiniertes lokales Watchdog-Referenzkriterium erfüllt, Ausgeben eines Fehlersignals.
  13. Verfahren nach Anspruch 12, ferner aufweisend: Ermitteln, welche der einen oder mehreren virtuellen Maschinen aktiv ist.
  14. Verfahren nach Anspruch 13, ferner aufweisend: wenn der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium nicht erfüllt, Ausführen von Folgendem für jede aktive virtuelle Maschine der einen oder mehreren virtuellen Maschinen: - Ermitteln, ob der modifizierte lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt.
  15. Verfahren nach Anspruch 12 oder 13, ferner aufweisend: Speichern mindestens eines Passworts und Anfordern und Verifizieren des mindestens einen Passworts vor dem Speichern und vor dem Modifizieren des globalen Watchdog-Zählerwerts und vor dem Speichern und vor dem Modifizieren des lokalen Watchdog-Zählerwerts.
  16. Verfahren nach Anspruch 15, wobei das mindestens eine Passwort getrennte Passwörter für das Modifizieren des globalen Watchdog-Zählerwerts und für jeden der lokalen Watchdog-Zählerwerte aufweist.
  17. Verfahren nach einem der Ansprüche 12 bis 16, wobei die Watchdog-Schaltung ferner einen Timer zum Bereitstellen des Taktsignals aufweist.
  18. Verfahren nach Anspruch 17, wobei der Timer ein freilaufender Systemtakt ist.
  19. Verfahren nach einem der Ansprüche 12 bis 18, wobei die Watchdog-Schaltung ferner einen Passwortgenerator zum Erzeugen des mindestens einen Passworts aufweist.
  20. Verfahren zum Betrieb einer Schaltung, die die Watchdog-Schaltung, einen Hypervisor; und eine Vielzahl von virtuellen Maschinen aufweist, wobei das Verfahren Folgendes aufweist: • Betreiben der Watchdog-Schaltung nach einem der Ansprüche 12 bis 19; • Rücksetzen des globalen Zählerwerts auf den anfänglichen globalen Watchdog-Zählerwert unter Verwendung des Hypervisors, bevor der globale Watchdog-Zählerwert das vordefinierte globale Watchdog-Referenzkriterium erfüllt; und • Rücksetzen, durch jede der virtuellen Maschinen, ihres entsprechenden lokalen Watchdog-Zählerwerts auf den anfänglichen lokalen Watchdog-Zählerwert, bevor der lokale Watchdog-Zählerwert das vordefinierte lokale Watchdog-Referenzkriterium erfüllt.
  21. Verfahren zum Betrieb eines Systems-auf-Chip, das einen Mehrkernprozessor aufweist, wobei jeder der mehreren Kerne eine zugewiesene Watchdog-Schaltung der Vielzahl von Watchdog-Schaltungen aufweist, wobei das Verfahren Folgendes aufweist: Betreiben der Vielzahl von Watchdog-Schaltung gemäß dem Verfahren nach einem der Ansprüche 12 bis 20.
DE102020116959.0A 2020-06-26 2020-06-26 Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip Pending DE102020116959A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102020116959.0A DE102020116959A1 (de) 2020-06-26 2020-06-26 Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip
US17/360,446 US11544130B2 (en) 2020-06-26 2021-06-28 Watchdog circuit, circuit, system-on-chip, method of operating a watchdog circuit, method of operating a circuit, and method of operating a system-on-chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020116959.0A DE102020116959A1 (de) 2020-06-26 2020-06-26 Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip

Publications (1)

Publication Number Publication Date
DE102020116959A1 true DE102020116959A1 (de) 2021-12-30

Family

ID=78827202

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020116959.0A Pending DE102020116959A1 (de) 2020-06-26 2020-06-26 Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip

Country Status (2)

Country Link
US (1) US11544130B2 (de)
DE (1) DE102020116959A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115016977B (zh) * 2022-08-09 2022-12-27 南方电网数字电网研究院有限公司 一种异构多核电力芯片分级复位控制方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223302A1 (en) 2004-03-26 2005-10-06 Jean-Pierre Bono Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks
US20160239324A1 (en) 2015-02-13 2016-08-18 Red Hat Israel, Ltd. Watchdog code for virtual machine functions
US20190258251A1 (en) 2017-11-10 2019-08-22 Nvidia Corporation Systems and methods for safe and reliable autonomous vehicles

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729472A (en) * 1996-05-17 1998-03-17 International Business Machines Corporation Monitoring architecture
JPH1063544A (ja) * 1996-08-20 1998-03-06 Toshiba Corp タイムアウト監視方式
US6618825B1 (en) * 2000-04-20 2003-09-09 Hewlett Packard Development Company, L.P. Hierarchy of fault isolation timers
JP2002251300A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 障害監視方法及び装置
ES2696604T3 (es) * 2013-12-13 2019-01-17 Thales Sa Arquitectura de marco tolerante a fallos con triple redundancia de software
US9535772B2 (en) * 2014-12-16 2017-01-03 Vmware, Inc. Creating a communication channel between different privilege levels using wait-for-event instruction in systems operable at multiple levels hierarchical privilege levels
CN108139925B (zh) * 2016-05-31 2022-06-03 安华高科技股份有限公司 虚拟机的高可用性
US10606675B1 (en) * 2017-11-10 2020-03-31 Databricks Inc. Query watchdog

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223302A1 (en) 2004-03-26 2005-10-06 Jean-Pierre Bono Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks
US20160239324A1 (en) 2015-02-13 2016-08-18 Red Hat Israel, Ltd. Watchdog code for virtual machine functions
US20190258251A1 (en) 2017-11-10 2019-08-22 Nvidia Corporation Systems and methods for safe and reliable autonomous vehicles

Also Published As

Publication number Publication date
US20210406111A1 (en) 2021-12-30
US11544130B2 (en) 2023-01-03

Similar Documents

Publication Publication Date Title
DE102014101633B4 (de) Unterbrechung von Aufgaben zur Verwatlung von Chip-Komponenten
DE2320698C2 (de) Anordnung zur Fehlerüberwachung in einer Mehrfach-Datenverarbeitungsanlage
DE69933515T2 (de) Peripherieprozessor
DE60127857T2 (de) Sicherheitsverfahren mit deterministischer echtzeit-ausführung von multitask-anwendungen des steuer- und befehlstyps mit fehlereingrenzung
DE102013022299B3 (de) Schutz globaler Register in einem Multithreaded-Prozessor
DE112006002908T5 (de) Technik für die Kommunikation und Synchronisation von Threads
DE10206422A1 (de) System und Verfahren zum Überwachen der Ausführung privilegierter Befehle
DE10255111A1 (de) System und Verfahren zum Laden von Firmware mit hoher Verfügbarkeit
DE2722099A1 (de) Abfangeinrichtung fuer ein dv-system
DE102014002473A1 (de) System und verfahren zur erhöhung der lockstep-kern-verfügbarkeit
DE102011005209A1 (de) Programmanweisungsgesteuerte Instruktionsflusskontrolle
DE2414311A1 (de) Speicherschutzeinrichtung
DE102006039747A1 (de) Verfahren für Kontextzustandsmanagement
DE112010005400T5 (de) System für gegenseitige Überwachung von Mikrocomputern und ein Verfahren für gegenseitige Überwachung von Mikrocomputern
DE69815006T2 (de) Datenverarbeitungseinheit mit Fehlerbeseitungsmöglichkeiten
DE102020116959A1 (de) Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip
DE102013022564B4 (de) Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler
DE112017008307T5 (de) Systeme und verfahren zur effizienten unterbrechung von virtuellen maschinen
DE112012004468T5 (de) Anwendungs-Level-Spekulative-Verarbeitung
EP1283471B1 (de) Programmgesteuerte Einheit
DE112013007143T5 (de) Computersystem und Steuerungsverfahren
DE112022001480T5 (de) Elektronische steuereinheit und anomaliebestimmungsverfahren
DE102015116181B4 (de) Datenverarbeitung
DE102017219195A1 (de) Verfahren zum gewährleisten eines betriebs eines rechners
DE102012204644B4 (de) Steuervorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication