DE112019007853T5 - Steuereinrichtung - Google Patents

Steuereinrichtung Download PDF

Info

Publication number
DE112019007853T5
DE112019007853T5 DE112019007853.4T DE112019007853T DE112019007853T5 DE 112019007853 T5 DE112019007853 T5 DE 112019007853T5 DE 112019007853 T DE112019007853 T DE 112019007853T DE 112019007853 T5 DE112019007853 T5 DE 112019007853T5
Authority
DE
Germany
Prior art keywords
error
cpu
unit
peripheral device
processing unit
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
DE112019007853.4T
Other languages
English (en)
Inventor
Naoki Ito
Yohei TSUKAMOTO
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112019007853T5 publication Critical patent/DE112019007853T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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/0745Error 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 an input/output transactions management context
    • 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

In einer Steuereinrichtung (10) hat eine CPU-Vorrichtung #1 eine erste Berechtigung, eine Peripherievorrichtung #1 zu verwalten, und ist eine Verwaltungsvorrichtung für die Peripherievorrichtung #1. Jede der CPU-Vorrichtungen #2 und #3 ist eine allgemeine Vorrichtung, die eine zweite Berechtigung für die Peripherievorrichtung #1 hat, die niedriger ist als die erste Berechtigung. Wenn das Lesen von Daten aus der Peripherievorrichtung #1 fehlschlägt, führt die allgemeine Vorrichtung eine Diagnose der Peripherievorrichtung #1 auf der Grundlage der zweiten Berechtigung durch. Die Diagnose durch die allgemeine Vorrichtung bewirkt, dass die CPU-Vorrichtung #1, die die Verwaltungsvorrichtung für die P #1 ist, eine Fehlermeldung erhält, die den Fehler in der Peripherievorrichtung #1 anzeigt. Bei Erhalt der Fehlermeldung bearbeitet die CPU-Vorrichtung #1, die die Verwaltungsvorrichtung ist, den Fehler in der Peripherievorrichtung #1 auf der Grundlage der ersten Berechtigung.

Description

  • Gebiet der Technik
  • Die vorliegende Erfindung bezieht sich auf eine Steuereinrichtung.
  • Stand der Technik
  • In einem eingebetteten System, das in einer Anlage wie einer Fabrik oder einem Kraftwerk oder in einem Transportmittel wie einem Zug eingesetzt wird, wird die Steuerung durch eine Steuereinrichtung realisiert. Es gibt verschiedene Möglichkeiten, eine Steuereinrichtung zu implementieren. Eine typische Steuereinrichtung besteht beispielsweise aus einer Kombination aus einer zentralen Verarbeitungseinheitsvorrichtung (im Folgenden CPU-Vorrichtung), die periodisch ein gespeichertes Steuerprogramm ausführt, und einer Eingabe-/Ausgabevorrichtung (E/A-Vorrichtung) oder einer Peripherievorrichtung mit einer Kommunikationseinheit, die für eine Netzwerkverbindung verwendet wird, wobei die CPU-Vorrichtung und die E/A-Vorrichtung über einen Bus verbunden sind und die CPU-Vorrichtung und die E/A-Vorrichtung miteinander abgestimmt arbeiten.
  • Eine Steuereinrichtung ist z. B. eine speicherprogrammierbare Steuerung (SPS).
  • Als Mittel zur Beschleunigung der Steuerung durch eine Steuereinrichtung, um die Leistung eines Systems zu erhöhen, gibt es eine Multi-CPU-Konfiguration, bei der eine Vielzahl von CPU-Vorrichtungen in der Steuereinrichtung vorgesehen sind. In der Multi-CPU-Konfiguration wird für jede CPU-Vorrichtung ein Steuerprogramm entworfen, das von jeder CPU-Vorrichtung ausgeführt wird. Außerdem ist für jede CPU-Vorrichtung eine Peripherievorrichtung vorgesehen, die von jeder CPU-Vorrichtung verwendet werden kann. Dadurch wird das Steuerprogramm jeder CPU-Vorrichtung so gestaltet, dass die Kopplung gering ist und die Steuereinrichtung beschleunigt wird. In der Multi-CPU-Konfiguration wird die CPU-Vorrichtung, die eine bestimmte Peripherievorrichtung steuert, als Verwaltungsvorrichtung bezeichnet. Die CPU-Vorrichtung selbst wird zur Verwaltungsvorrichtung für eine Vielzahl von Peripherievorrichtungen. Aus der Sicht einer Peripherievorrichtung ist nur eine CPU-Vorrichtung die Verwaltungsvorrichtung.
  • Beim Fehlermanagement in der Steuereinrichtung mit der Multi-CPU-Konfiguration verfügt die CPU-Vorrichtung, die die Verwaltungsvorrichtung für eine Peripherievorrichtung ist, über ein Fehlerbehandlungsverfahren für den Fall, dass ein Fehler in der Peripherievorrichtung auftritt. Wenn also ein Fehler in der Peripherievorrichtung auftritt, erkennt die Verwaltungseinrichtung den Fehler und führt eine Diagnose und die erforderliche Behandlung durch. Die „Diagnose“ ist z.B. eine Verarbeitung, bei der die Verwaltungseinrichtung einen Fehlercode aus der Peripherievorrichtung, in der der Fehler aufgetreten ist, ausliest und den Inhalt des Fehlers interpretiert. Die „notwendige Verarbeitung“ besteht z. B. darin, alle Funktionen oder einige der Funktionen als Steuereinrichtung zu beenden. Alternativ besteht die „notwendige Verarbeitung“ darin, die Steuerung anderer Peripherievorrichtungen, bei denen kein Fehler aufgetreten ist, fortzusetzen und eine Wiederherstellungsverarbeitung wie z. B. einen Reset für die Peripherievorrichtung, bei der der Fehler aufgetreten ist, durchzuführen, ohne die Funktionen der Steuereinrichtung zu stoppen.
  • In den letzten Jahren haben Parallelisierungstechniken wie OpenMP Aufmerksamkeit auf sich gezogen. Bei der Parallelisierungstechnik von OpenMP wird ein Steuerprogramm automatisch aufgeteilt und parallel ausgeführt. Damit erreicht OpenMP eine Beschleunigung der Steuerung durch eine Steuereinrichtung. Wenn die Parallelisierungstechnik wie OpenMP auf eine Steuereinrichtung mit herkömmlicher Multi-CPU-Konfiguration angewendet wird, wird davon ausgegangen, dass das von jeder CPU-Vorrichtung auszuführende Steuerprogramm eine hohe Kopplung aufweist. Der Grund dafür ist, dass das ursprüngliche Steuerprogramm, das geteilt wird, für die Ausführung durch eine CPU-Vorrichtung ausgelegt ist. In dem Steuerprogramm mit hoher Kopplung wird eine Verarbeitung wie die folgende angenommen. Eingabeinformationen, die in eine bestimmte Peripherievorrichtung eingegeben werden, werden von einer Vielzahl von CPU-Vorrichtungen gelesen, unabhängig davon, ob jede CPU-Vorrichtung die Verwaltungsvorrichtung ist oder nicht, und die gelesenen Eingabeinformationen bewirken, dass die Vielzahl von CPU-Vorrichtungen gleichzeitig eine parallele Ausführung durchführen.
  • Selbst bei gleichzeitiger paralleler Ausführung durch mehrere CPU-Vorrichtungen ist es typischerweise so, dass ein Schreibvorgang auf eine Peripherievorrichtung nur von einer der CPU-Vorrichtungen durchgeführt wird, d. h. nur von der Verwaltungsvorrichtung. Der Grund dafür ist der folgende. Wenn die mehreren CPU-Vorrichtungen auf die Peripherievorrichtung schreiben können, kann, je nach Schreibzeitpunkt, ein von einer der CPU-Vorrichtungen geschriebener Befehl von einer anderen CPU-Vorrichtung überschrieben werden, ohne dass er ausgeführt wird.
  • Beim Fehlermanagement in einer Umgebung, in der das von einem Steuerprogramm getrennte Steuerprogramm mit hoher Kopplung in der Steuereinrichtung mit der Multi-CPU-Konfiguration parallel ausgeführt wird, ist Folgendes erforderlich. Tritt in einer Peripherievorrichtung ein Fehler auf, muss die Verwaltungseinheit nach der Fehlererkennung eine Diagnose der Peripherievorrichtung durchführen, über die notwendige Behandlung entscheiden und dann die anderen CPU-Vorrichtungen über das Ergebnis der Entscheidung informieren. In einem solchen Fall verfügen die anderen CPU-Vorrichtungen als die Verwaltungsvorrichtung nicht über das Fehlerbehandlungsverfahren. Selbst wenn also die CPU-Vorrichtungen, die nicht die Steuereinrichtung sind, bei einem Lesevorgang aufgrund eines Fehlers in der Peripherievorrichtung ausfallen, setzen die CPU-Vorrichtungen die Steuerung fort, indem sie z. B. die Informationen des unmittelbar vorangegangenen Zyklus verwenden und auf eine Benachrichtigung von der Verwaltungsvorrichtung warten. Daher besteht ein Problem darin, dass, wenn ein Fehler in der Peripherievorrichtung unmittelbar nach erfolgreicher Durchführung eines Lesevorgangs aus der Peripherievorrichtung durch die Verwaltungsvorrichtung auftritt, die Verwaltungsvorrichtung den Fehler durch einen fehlgeschlagenen Lesevorgang im nächsten Zyklus erkennt, so dass es Zeit braucht, den Fehler in der Peripherievorrichtung zu erkennen.
  • Für das Problem der langen Zeitspanne zwischen dem Auftreten eines Fehlers in einer Peripherievorrichtung und der Erkennung des Fehlers gibt es in Patentliteratur 1 ein bestehendes Verfahren.
  • In Patentschrift 1 sind CPU-Vorrichtungen in einem dualen System aus einer Hauptstation und einer Nebenstation angeordnet, und es sind Mittel zur Kommunikation untereinander einschließlich einer zu verwaltenden Peripherievorrichtung vorgesehen.
  • In der Patentliteratur 1 übernimmt bei einem Kommunikationsfehler, wie z. B. bei Auftreten eines Lesefehlers zwischen der Hauptstation und der Peripherievorrichtung, die Nebenstation, um einen Leseversuch von der Peripherievorrichtung durchzuführen und einen Fehlersituation in der Peripherievorrichtung zu ermitteln. Es wird beschrieben, dass die Erkennung eines Fehlers und die Identifizierung des Inhalts des Fehlers zeitnah durch die Verarbeitung durch die Nebenstation erfolgt.
  • Aber selbst wenn die Technik der Patentliteratur 1 auf den Fall angewandt wird, dass das Steuerprogramm mit hoher Kopplung in der Multi-CPU-Konfiguration parallel ausgeführt wird, wird, wenn ein Fehler unmittelbar nach dem erfolgreichen Lesen der Hauptstation auftritt, fällt die Hauptstation im nächsten Zyklus beim Lesen aus, und dann wird die Nebenstation einen weiteren Leseversuch unternehmen und eine Fehlersituation feststellen. Daher bietet die Patentliteratur 1 keine Lösung für das Problem, dass es nach dem Auftreten eines Fehlers in einer Peripherievorrichtung Zeit braucht, um den Fehler zu erkennen.
  • Liste der Anführungen
  • Patentliteratur
  • Patentliteratur 1: JP H09-093308 A
  • Kurzdarstellung der Erfindung
  • Technische Aufgabe
  • Eine Aufgabe der vorliegenden Erfindung ist es, eine Zeitspanne vom Auftreten eines Fehlers in einer Peripherievorrichtung bis zur Erkennung des Fehlers in der Peripherievorrichtung durch eine CPU-Vorrichtung, die eine Verwaltungsvorrichtung in einer Steuereinrichtung mit einer Multi-CPU-Konfiguration ist, zu verkürzen, wenn eine Vielzahl von CPU-Vorrichtungen parallel ein Steuerprogramm ausführen, das unter Verwendung einer Parallelisierungstechnik aufgeteilt ist und eine relativ hohe Kopplung aufweist.
  • Technische Lösung
  • Eine Steuereinrichtung gemäß der vorliegenden Erfindung umfasst eine Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen; und
    eine Peripherievorrichtung, aus der die Daten von der Vielzahl der zentralen Verarbeitungseinheitsvorrichtungen gelesen werden,
    wobei die Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen aufweisen:
    • eine Verwaltungsvorrichtung und eine allgemeine Vorrichtung, wobei die Verwaltungseinrichtung eine zentrale Verarbeitungseinheitsvorrichtung ist, die eine erste Berechtigung zum Verwalten der Peripherievorrichtung hat, wobei die allgemeine Einrichtung eine zentrale Verarbeitungseinheitsvorrichtung ist, die eine zweite Berechtigung hat, die niedriger ist als die erste Berechtigung, um einen Fehler in der Peripherievorrichtung zu diagnostizieren, in der der Fehler aufgetreten ist,
    • wobei die allgemeine Vorrichtung umfasst:
      • eine Leseeinheit zum Lesen von Daten aus der Peripherievorrichtung; und
      • eine Diagnoseeinheit zum Ausführen einer Diagnose auf der Peripherievorrichtung auf der Grundlage der zweiten Berechtigung, wenn ein Lesen von Daten aus der Peripherievorrichtung fehlgeschlagen ist, und
      • wobei die Verwaltungsvorrichtung umfasst:
        • eine Kommunikationseinheit zum Empfangen einer Fehlermeldung, die den Fehler in der Peripherievorrichtung anzeigt, wobei die Kommunikationseinheit durch die Diagnose zum Empfangen der Fehlermeldung veranlasst wird; und
        • eine Bearbeitungseinheit, um den Fehler in der Peripherievorrichtung auf der Grundlage der ersten Berechtigung zu bearbeiten, wenn die Fehlermeldung empfangen wird.
  • Vorteilhafte Wirkungen der Erfindung
  • Bei der vorliegenden Erfindung bewirkt eine Diagnose durch eine allgemeine Vorrichtung, dass eine Verwaltungsvorrichtung eine Fehlermeldung, die einen Fehler in einer Peripherievorrichtung anzeigt, erhält. Daher ist es gemäß der vorliegenden Erfindung möglich, die Zeitspanne vom Auftreten eines Fehlers in einer Peripherievorrichtung bis zur Erkennung des Fehlers in der Peripherievorrichtung durch eine CPU-Vorrichtung, die eine Verwaltungsvorrichtung ist, zu verkürzen, wenn mehrere CPU-Vorrichtungen parallel ein Steuerprogramm ausführen, das unter Verwendung einer Parallelisierungstechnik aufgeteilt ist und eine relativ hohe Kopplung aufweist.
  • Figurenliste
    • 1 ist ein Diagramm einer ersten Ausführungsform und zeigt eine Hardwarekonfiguration einer Steuereinrichtung;
    • 2 ist ein Diagramm der ersten Ausführungsform und zeigt eine Hardwarekonfiguration einer CPU-Vorrichtung;
    • 3 ist ein Diagramm der ersten Ausführungsform und zeigt eine Hardwarekonfiguration einer E/A-Vorrichtung;
    • 4 ist ein Diagramm der ersten Ausführungsform und zeigt Informationen zur Fehlererkennung;
    • 5 ist ein Diagramm der ersten Ausführungsform und ein Flussdiagramm, das den Betrieb einer Fehlererkennungseinheit zeigt;
    • 6 ist ein Diagramm der ersten Ausführungsform und zeigt die Funktionsweise der Steuereinrichtung;
    • 7 ist ein Diagramm einer zweiten Ausführungsform und zeigt eine Hardwarekonfiguration einer E/A-Vorrichtung;
    • 8 ist ein Diagramm der zweiten Ausführungsform und zeigt den Betrieb einer Steuereinrichtung;
    • 9 ist ein Diagramm einer dritten Ausführungsform und zeigt den Betrieb einer Steuereinrichtung;
    • 10 ist ein Diagramm einer vierten Ausführungsform und zeigt eine Hardwarekonfiguration einer Steuereinrichtung;
    • 11 ist ein Diagramm der vierten Ausführungsform und zeigt eine Hardwarekonfiguration einer Berechtigungsvorrichtung;
    • 12 ist ein Diagramm der vierten Ausführungsform und zeigt die Zustandsübergänge einer Gewährungseinheit 311;
    • 13 ist ein Diagramm der vierten Ausführungsform und ein Flussdiagramm, das den Betrieb einer Fehlererkennungseinheit zeigt;
    • 14 ist ein Diagramm der vierten Ausführungsform und zeigt den Betrieb der Steuereinrichtung; und
    • 15 ist ein Diagramm der vierten Ausführungsform und stellt eine Ergänzung zur Hardwarekonfiguration einer CPU-Vorrichtung 100 dar.
  • Beschreibung von Ausführungsformen
  • Ausführungsformen der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf die Zeichnungen beschrieben. Die Begriffe, die in den folgenden Ausführungen verwendet werden, werden nun beschrieben. In den folgenden Ausführungen wird eine Vielzahl von CPU-Vorrichtungen vorgestellt. Zu der Vielzahl von CPU-Vorrichtungen in der folgenden Beschreibung gehören eine Verwaltungsvorrichtung und eine allgemeine Vorrichtung.
    1. (1) Die Verwaltungseinrichtung ist eine CPU-Vorrichtung, die eine erste Berechtigung zur Verwaltung einer Peripherievorrichtung hat.
    2. (2) Die allgemeine Vorrichtung ist eine CPU-Vorrichtung, die eine zweite Berechtigung hat, die niedriger ist als die erste Berechtigung, um einen Fehler in einer Peripherievorrichtung zu diagnostizieren, in der der Fehler aufgetreten ist.
  • Die erste Berechtigung ist zum Beispiel die Berechtigung, auf die Peripherievorrichtung zu schreiben. Die zweite Berechtigung ist die Nichtberechtigung, in die Peripherievorrichtung zu schreiben und die Berechtigung, einen Fehlercode aus der Peripherievorrichtung zu lesen.
  • Erste Ausführungsform
  • Unter Bezugnahme auf die 1 bis 6 wird eine Steuereinrichtung 10 einer ersten Ausführungsform beschrieben. Während in der Steuereinrichtung der ersten Ausführungsform jede CPU-Vorrichtung parallel ein von einem ursprünglichen Steuerprogramm abgetrenntes Steuerprogramm 121 ausführt, benachrichtigt eine CPU-Vorrichtung 100, die einen Fehler in einer Peripherievorrichtung entdeckt hat, die anderen CPU-Vorrichtungen 100 über den Fehler. Auf diese Weise erfährt die Verwaltungseinrichtung sofort, dass der Fehler in der Peripherievorrichtung aufgetreten ist. Die Steuereinrichtung 10 wird im Folgenden anhand der Zeichnungen beschrieben.
  • *** Beschreibung von Konfigurationen ***
  • 1 zeigt eine Hardwarekonfiguration der Steuereinrichtung 10 der ersten Ausführungsform. Die Steuereinrichtung 10 umfasst CPU-Vorrichtungen 100 und Peripherievorrichtungen 200, aus denen die Daten von den CPU-Vorrichtungen 100 gelesen werden sollen. In der Steuereinrichtung 10 sind die CPU-Vorrichtungen 100, die jeweils ein später zu beschreibendes Steuerprogramm speichern, und die Peripherievorrichtungen über einen Bus 400 verbunden.
  • Jede der CPU-Vorrichtungen ist die Einrichtung, die das gespeicherte Steuerprogramm periodisch ausführt. Jede der Peripherievorrichtungen ist die Vorrichtung, die Daten ein- und ausgibt, indem sie mit einer anderen Vorrichtung als den CPU-Vorrichtungen kommuniziert. In 1 sind die drei CPU-Vorrichtungen 100 durch die Bezeichnungen #1, #2 und #3 gekennzeichnet, bei denen es sich um Kennungen handelt. Im Folgenden können die CPU-Vorrichtungen 100 als CPU-Vorrichtung 1 usw. dargestellt werden. In 1 werden zwei Peripherievorrichtungen 200 durch die Kennungen #1 und #2 identifiziert, bei denen es sich um Bezeichnungen handelt.
  • Im Folgenden können die Peripherievorrichtungen 200 als Peripherievorrichtung #1 usw. dargestellt werden. Bei den Peripherievorrichtungen 200 wird davon ausgegangen, dass es sich um E/A-Vorrichtungen 200 handelt. In der Beschreibung nach 1 können die E/A-Vorrichtungen als E/A-Vorrichtungen 200 dargestellt werden.
  • In 1 steht CPU#1 unter der Peripherievorrichtung #1, und CPU#2 unter der Peripherievorrichtung #2. Dies zeigt an, dass die Verwaltungsvorrichtung für die Peripherievorrichtung #1 die CPU-Vorrichtung #1 und die Verwaltungsvorrichtung für die Peripherievorrichtung #2 die CPU-Vorrichtung #2 ist. Die Korrespondenz zwischen einer Peripherievorrichtung und einer Verwaltungsvorrichtung wird durch Fehlerverarbeitungsinformationen 122 definiert, die später beschrieben werden.
  • 2 zeigt eine Hardwarekonfiguration der CPU-Vorrichtung 100. Die CPU-Vorrichtung 100 umfasst als Hardware einen Prozessor 110, eine Hauptspeichervorrichtung 120, eine Hilfsspeichervorrichtung 130 und eine Kommunikationsschnittstellenvorrichtung 140. Der Prozessor 110 ist mit der Hauptspeichervorrichtung 120, der Hilfsspeichervorrichtung 130 und der Kommunikationsschnittstellenvorrichtung 140 über einen Bus 150 verbunden.
  • Die Hauptspeichervorrichtung 120 speichert das vom Prozessor 110 auszuführende Steuerprogramm 121 und die Fehlerverarbeitungsinformationen 122.
  • Die Hilfsspeichervorrichtung 130 speichert auf nichtflüchtige Weise Informationen und Daten, die in der Hauptspeichervorrichtung 120 gespeichert werden sollen. Der Prozessor 110 lädt das Steuerprogramm 121 und die Fehlerverarbeitungsinformationen 122 aus der Hilfsspeichervorrichtung 130 in die Hauptspeichervorrichtung 120 und liest das geladene Steuerprogramm 121 und die Fehlerverarbeitungsinformationen 122 zur Ausführung aus der Hauptspeichervorrichtung 120.
  • Die Kommunikationsschnittstellenvorrichtung 140 dient der Kommunikation zwischen zwei Hardwarekomponenten, nämlich dem Prozessor 110, der Hauptspeichervorrichtung 120 und der Hilfsspeichervorrichtung 130, der Kommunikation zwischen den CPU-Vorrichtungen 100 oder der Kommunikation zwischen der CPU-Vorrichtung 100 und der Peripherievorrichtung 200.
  • Die CPU-Vorrichtung 100 umfasst als Funktionselemente eine Leseeinheit 111, eine Fehlererkennungseinheit 112 und eine Kommunikationseinheit 113. Die Funktionen der Leseeinheit 111, der Fehlererkennungseinheit 112 und der Kommunikationseinheit 113 werden durch das Steuerprogramm 121 realisiert. Die Leseeinheit 111 liest Daten von der Peripherievorrichtung 200. Wenn die CPU-Vorrichtung 100 die allgemeine Vorrichtung ist, ist die Fehlererkennungseinheit 112 eine Diagnoseeinheit. Wenn das Lesen von Daten aus der Peripherievorrichtung 200 fehlgeschlagen ist, führt die Fehlererkennungseinheit 112, die die Diagnoseeinheit ist, eine Diagnose der Peripherievorrichtung 200 auf der Grundlage der zweiten Berechtigung durch.
  • Der Prozessor 110 ist eine Vorrichtung, die das Steuerprogramm 121 ausführt. Der Prozessor 110 ist eine integrierte Schaltung (IC), die operative Verarbeitung durchführt. Konkrete Beispiele für den Prozessor 110 sind eine zentrale Verarbeitungseinheit (CPU), ein Digitaler Signalprozessor (DSP) und eine Grafikverarbeitungseinheit (GPU).
  • 3 zeigt eine Hardwarekonfiguration der E/A-Vorrichtung 200. Die E/A-Vorrichtung umfasst als Hardware einen Prozessor 210, eine Hauptspeichervorrichtung 220, eine Hilfsspeichervorrichtung 230, eine Kommunikationsschnittstellenvorrichtung 240 und eine externe Ein-/Ausgabevorrichtung 250. Der Prozessor 210 ist mit der Hauptspeichervorrichtung 220, der Hilfsspeichervorrichtung 230, der Kommunikationsschnittstellenvorrichtung 240 und der externen Ein-/Ausgabevorrichtung 250 über einen Bus 260 verbunden.
  • Der Prozessor 210 führt Verarbeitungen wie einfache Operationen in Abhängigkeit vom Zustand der externen Ein-/Ausgabevorrichtung 250 und die Generierung eines Fehlercodes auf der Grundlage eines Ergebnisses einer Selbstdiagnose durch. In der Hauptspeichervorrichtung 220 und der Hilfsspeichervorrichtung 230 werden die Ergebnisse der vom Prozessor 210 durchgeführten Diagnosen und Fehlercodes gespeichert. Die Kommunikationsschnittstellenvorrichtung 240 dient der Kommunikation zwischen zwei Hardwarekomponenten, nämlich dem Prozessor 210, der Hauptspeichervorrichtung 220, der Hilfsspeichervorrichtung 230 und der externen Ein-/Ausgabevorrichtung 250 sowie der Kommunikation zwischen der Peripherievorrichtung 200 und der CPU-Vorrichtung 100. Die externe Ein-/Ausgabevorrichtung 250 holt Daten von einer anderen externen Vorrichtung als der CPU-Vorrichtung 100 ab und gibt Daten an die externe Vorrichtung aus.
  • Die E/A-Vorrichtung 200 enthält als Funktionselement eine Antworteinheit 211. Wenn eine Datenleseanforderung von der CPU-Vorrichtung 100 vorliegt, arbeitet die Antworteinheit 211 mit der externen Ein-/Ausgabevorrichtung 250 zusammen, um die angeforderten Daten über die Kommunikationsschnittstellenvorrichtung 240 an die CPU-Vorrichtung 100 zu übertragen. Die Funktionen der Antworteinheit 211 werden durch ein Programm 201 realisiert. Das Programm 201 ist in der Hilfsspeichervorrichtung 230 gespeichert. Der Prozessor 210 lädt das Programm 201 aus der Hilfsspeichervorrichtung 230 in die Hauptspeichervorrichtung 220 und liest das Programm 201 aus der Hauptspeichervorrichtung 220.
  • Der Prozessor 210 ist eine Vorrichtung, die das Programm 201 ausführt. Spezifische Beispiele für den Prozessor 210 sind im Wesentlichen die gleichen wie die des Prozessors 110.
  • In 4 sind die Fehlerverarbeitungsinformationen 122 dargestellt. Die Fehlerverarbeitungsinformationen 122 werden in der Hilfsspeichervorrichtung 130 gespeichert. Der Prozessor 110 lädt die Fehlerverarbeitungsinformationen 122 aus der Hilfsspeichervorrichtung 130 in die Hauptspeichervorrichtung 120 und verweist auf die Fehlerverarbeitungsinformationen 122 in der Hauptspeichervorrichtung 120. Die Fehlerverarbeitungsinformationen 122 werden von einem Administrator in Abhängigkeit von der Systemkonfiguration der Steuereinrichtung 10 vordefiniert. Die definierten Fehlerverarbeitungsinformationen 122 werden in der Hilfsspeichervorrichtung 130 gespeichert. In den Fehlerverarbeitungsinformationen 122 von 4 ist jede in der Steuereinrichtung 10 enthaltene Peripherievorrichtung in der linken Spalte definiert. Der Inhalt der einfachen Diagnoseverarbeitung ist in der mittleren Spalte definiert. Der „Inhalt der einfachen Diagnoseverarbeitung“ ist der Inhalt der Verarbeitung, die beim Auftreten eines Fehlers in der Peripherievorrichtung von der CPU-Vorrichtung 100, die den Fehler erkannt hat, durchzuführen ist. Die CPU-Vorrichtung 100, die als Verwaltungsvorrichtung für die Peripherievorrichtung dient, wird in der rechten Spalte definiert.
  • Es wird eine Aufzeichnung der E/A-Vorrichtung #1 beschrieben. Diese Aufzeichnung wird als erste Aufzeichnung bezeichnet. In der ersten Aufzeichnung ist die Verwaltungsvorrichtung für die E/A-Vorrichtung #1 die CPU-Vorrichtung #1. Die folgenden (1) bis (3) geben den Inhalt der einfachen Diagnoseverarbeitung in der ersten Aufzeichnung an.
    1. (1) Einen Fehlercode lesen.
    2. (2) Wenn der Inhalt des Fehlercodes aa ist, sendet die CPU-Vorrichtung 100 eine Fehlermeldung mit einem Interrupt an die CPU-Vorrichtung 1, die die Verwaltungseinrichtung ist. Der Fehlercode „aa“ bezeichnet einen bestimmten Fehlercode.
    3. (3) Ist der gelesene Fehlercode ein anderer als „aa“, setzt die CPU-Vorrichtung 100 die Verarbeitung fort, ohne eine Fehlermeldung an die CPU-Vorrichtung 1, die die Verwaltungsvorrichtung ist, zu übermitteln.
  • Es wird eine Aufzeichnung der E/A-Vorrichtung #2 beschrieben. Diese Aufzeichnung wird als zweite Aufzeichnung bezeichnet. In der zweiten Aufzeichnung ist die Verwaltungsvorrichtung für die E/A-Vorrichtung #2 die CPU-Vorrichtung #2. Die folgenden (1) bis (3) geben den Inhalt der einfachen Diagnoseverarbeitung in der zweiten Aufzeichnung an.
    1. (1) Einen Fehlercode lesen.
    2. (2) Wenn der Inhalt des Fehlercodes bb ist, sendet die CPU-Vorrichtung 100 eine Fehlermeldung mit einem Interrupt an alle CPU-Vorrichtungen 100. Es ist zu beachten, dass „bb“ einen bestimmten Fehlercode bezeichnet, der sich von „aa“ unterscheidet.
    3. (3) Ist der gelesene Fehlercode ein anderer als „bb“, setzt die CPU-Vorrichtung 100 die Verarbeitung fort, ohne eine Fehlermeldung zu übermitteln.
  • *** Beschreibung der Funktionsweise ***
  • 5 ist ein Flussdiagramm, das den Betrieb der Fehlererkennungseinheit 112 veranschaulicht.
  • 6 zeigt den Betrieb der Steuereinrichtung 10 der ersten Ausführungsform. Die Ereignisse in den Kästchen 711, 712, 713, 714, 715 und 716 in 6 zeigen eine nicht-periodische Verarbeitung an. Die in den Kästchen 721, 722, 723, 724 und 725 in 8 angegebenen Ereignisse, die in den Kästchen 731, 732, 733, 734, 735, 736, 737, 738 und 739 in 9 angegebenen Ereignisse und die in den Kästchen 741, 742, 743, 744, 745 und 746 in 14 angegebenen Ereignisse, die später beschrieben werden, weisen ebenfalls auf eine nichtperiodische Verarbeitung hin.
  • Unter Bezugnahme auf die 5 und 6 wird die Funktionsweise der Steuereinrichtung 10 beschrieben. In der folgenden Beschreibung wird der Betrieb der Steuereinrichtung 10 unter der Annahme beschrieben, dass in der E/A-Vorrichtung #1 in 1 ein Fehler aufgetreten ist.
  • 5 wird erläutert. Die Leseeinheit 111 führt ein Datenlesen aus der E/A-Vorrichtung #1 aus.
  • In Schritt S11 bestimmt die Fehlererkennungseinheit 112, ob das Datenlesen durch die von der Leseeinheit 111 erfolgreich war. Wenn es erfolgreich war, wird die Verarbeitung beendet. Wenn es fehlgeschlagen ist, wird mit Schritt S12 fortgefahren.
  • In Schritt S12 bezieht sich die Fehlererkennungseinheit 112 auf die Fehlerverarbeitungsinformationen 122, um festzustellen, ob ihre eigene CPU-Vorrichtung die Verwaltungsvorrichtung für die E/A-Vorrichtung #1 ist. Wenn es sich um die Verwaltungsvorrichtung handelt, wird mit Schritt S13 fortgefahren. Wenn es sich nicht um die Verwaltungsvorrichtung handelt, wird mit Schritt S14 fortgefahren.
  • In Schritt S13 führt die Fehlererkennungseinheit 112 der Verwaltungsvorrichtung ein voreingestelltes Fehlerbehandlungsverfahren aus.
  • In Schritt S14 bezieht sich die Fehlererkennungseinheit 112 der allgemeinen Vorrichtung auf die „einfache Diagnoseverarbeitung“ in den Fehlerverarbeitungsinformationen 122 und führt die einfache Diagnoseverarbeitung für die E/A-Vorrichtung #1 durch.
  • <Vorbestimmte Einstellung>
  • Ein Konstrukteur des in der CPU-Vorrichtung 100 zu speichernden Steuerprogramms 121 bestimmt im Voraus das in Schritt S13 erwähnte, von der Verwaltungseinrichtung auszuführende Fehlerbehandlungsverfahren, wobei er den Einfluss berücksichtigt, den ein Fehler in der E/A-Vorrichtung auf ein System hat, in dem die Steuereinrichtung 10 verwendet wird. Der Konstrukteur des Steuerprogramms 121 legt auch den Inhalt der Fehlerverarbeitungsinformationen 122 im Voraus fest und legt sie in der Hilfsspeichervorrichtung 130 jeder CPU-Vorrichtung 100 ab. Nach Inbetriebnahme des Systems führt die Fehlererkennungseinheit 112 jeder CPU-Vorrichtung 100 periodisch die Verarbeitung von 5 durch. Der Inhalt der einfachen Diagnoseverarbeitung in Schritt S14 von 5 ist die „einfache Diagnoseverarbeitung“ der Fehlerverarbeitungsinformationen 122 von 4. Die einfache Diagnoseverarbeitung in Schritt S14 ist eine einfache Verarbeitung, die im Rahmen der zweiten Berechtigung möglich ist, die für die CPU-Vorrichtung 100, die die allgemeine Vorrichtung ist, zulässig ist.
  • Die einfache Diagnoseverarbeitung in Schritt S14 ist z.B. das Lesen eines Fehlercodes. Das Steuerprogramm 121, das die einfache Diagnoseverarbeitung durchführt, ist nicht „für jede CPU-Vorrichtung unter der Annahme der Multi-CPU-Konfiguration konzipiert“. Für das Steuerprogramm 121 wird Folgendes angenommen. Ein ursprüngliches Steuerprogramm der Steuereinrichtung 121 wird mit Hilfe einer Parallelisierungstechnik aufgeteilt. Das Steuerprogramm 121 ist das Programm, das von diesem ursprünglichen Steuerprogramm abgetrennt wurde. Das vom ursprünglichen Steuerprogramm abgetrennte Steuerprogramm 121 wird in jeder CPU-Vorrichtung 100 gespeichert, und jede CPU-Vorrichtung 100 führt das Steuerprogramm 121 parallel aus.
  • Auf diese Weise wird davon ausgegangen, dass das Steuerprogramm 121 eine relativ hohe Kopplung aufweist.
  • Die Funktionsweise der Steuereinrichtung 10 wird anhand von 6 beschrieben.
  • In Schritt S21 gelingt der Leseeinheit 111 der CPU-Vorrichtung #1 ein Lesevorgang von der externen Ein-/Ausgabevorrichtung 250 der E/A-Vorrichtung #1.
  • In Schritt S22, unmittelbar nachdem der CPU-Vorrichtung #1 der Lesevorgang gelungen ist, tritt ein Fehler in der E/A-Vorrichtung #1 auf. Vor dem Auftreten des Fehlers beziehen sich die CPU-Vorrichtung #1, die CPU-Vorrichtung #2 und die CPU-Vorrichtung #3 nacheinander auf Eingangsinformationen, die in die externe Ein-/Ausgabevorrichtung 250 der E/A-Vorrichtung #1 eingegeben wurden. In diesem Zustand führen die CPU-Vorrichtung #1, die CPU-Vorrichtung #2 und die CPU-Vorrichtung #3 die jeweiligen Steuerprogramme 121 parallel aus.
  • In Schritt S23 bezieht sich die Leseeinheit 111 der CPU-Vorrichtung #2 auf die Eingangsinformationen der E/A-Vorrichtung #1, nachdem der Fehler aufgetreten ist. Da der Fehler in der E/A-Vorrichtung #1 aufgetreten ist, schlägt die Leseeinheit 111 der CPU-Vorrichtung #2 bei einem Lesevorgang fehl. Die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2 erkennt den Fehler beim Lesen durch die Leseeinheit 111. Wie in den Fehlerverarbeitungsinformationen 122 angegeben, ist die CPU-Vorrichtung #2 nicht die Verwaltungsvorrichtung für die E/A-Vorrichtung #1.
  • In Schritt S24 liest die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2, bei der es sich um die allgemeine Vorrichtung handelt, einen Fehlercode von der E/A-Vorrichtung #1, bei der es sich um die Peripherievorrichtung 200 handelt, als Ausführung einer Diagnose durch die einfache Diagnoseverarbeitung, und sendet beim Lesen des Fehlercodes eine Fehlermeldung an die CPU-Vorrichtung #1, bei der es sich um die Verwaltungsvorrichtung handelt. Im Einzelnen gestaltet sich dies wie folgt beschrieben. In der CPU-Vorrichtung #2 führt die Fehlererkennungseinheit 112, bei der es sich um die Diagnoseeinheit handelt, nach der Erkennung des Fehlers beim Lesen von der E/A-Vorrichtung #1 die einfache Diagnoseverarbeitung für die E/A-Vorrichtung #1 in Übereinstimmung mit den Fehlerverarbeitungsinformationen 122 durch, wie im Flussdiagramm von 5 angegeben. In Schritt S24 wird angenommen, dass die Fehlererkennungseinheit 112 den Fehlercode „aa“ von der E/A-Vorrichtung #1 erhält.
  • Da der Fehlercode „aa“ ist, sendet die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2 in Schritt S25 eine Fehlermeldung 601, um das Auftreten des Fehlers an die CPU-Vorrichtung #1 zu melden, die die Verwaltungsvorrichtung für die E/A-Vorrichtung #1 ist. Die Diagnose durch die einfache Diagnoseverarbeitung durch die CPU-Vorrichtung #2, die die allgemeine Vorrichtung ist, veranlasst die Kommunikationseinheit 113, die Fehlermeldung 601 zu empfangen, die den Fehler in der E/A-Vorrichtung #1, die die Peripherievorrichtung 200 ist, anzeigt.
  • Wenn die CPU-Vorrichtung 100 die Verwaltungsvorrichtung ist, ist die Fehlererkennungseinheit 112 eine Bearbeitungseinheit. Nach Erhalt der Fehlermeldung 601 behandelt die Fehlererkennungseinheit 112, die die Bearbeitungseinheit ist, den Fehler in der Peripherievorrichtung 200 auf der Grundlage der ersten Berechtigung. Im Einzelnen gestaltet sich dies wie folgt beschrieben.
  • In Schritt S26 bewirkt der Empfang der Fehlermeldung 601, dass ein Interrupt in der CPU-Vorrichtung #1, die die Verwaltungsvorrichtung ist, erzeugt wird, während das Steuerprogramm 121 ausgeführt wird, und die Fehlererkennungseinheit 112 der CPU-Vorrichtung #1 führt das Fehlerbehandlungsverfahren für die E/A-Vorrichtung #1 mit der höchsten Priorität aus. Das Fehlerbehandlungsverfahren durch die Verwaltungseinrichtung hängt von den Spezifikationen der Peripherievorrichtung oder dem Inhalt des Fehlers ab. In 6 prüft die CPU-Vorrichtung #1, die für die Verwaltung zuständig ist, den Inhalt des Fehlercodes der E/A-Vorrichtung #1 und entscheidet dann über das Behandlungsverfahren.
  • In Schritt S27 entscheidet die Fehlererkennungseinheit 112 der CPU-Vorrichtung #1, bei der es sich um die Verwaltungsvorrichtung handelt, dass das System als Fehlerbehandlungsverfahren angehalten werden sollte, und sendet eine Verwaltungsmeldung 602, bei der es sich um die Meldung des Fehlers handelt und die einen Interrupt beinhaltet, an alle anderen CPU-Vorrichtungen. Durch die Verwaltungsmeldung 602 veranlasst die Fehlererkennungseinheit 112 der CPU-Vorrichtung 1 alle anderen CPU-Vorrichtungen, die Ausführung des Steuerprogramms 121 zu stoppen. Die Fehlererkennungseinheit 112 der CPU-Vorrichtung #1 führt eine Reset-Verarbeitung für die E/A-Vorrichtung #1 durch, in der der Fehler aufgetreten ist, um eine Wiederherstellung zu versuchen.
  • Je nach Inhalt des Fehlercodes kann die Fehlermeldung 601 eine Unterbrechung des Steuerprogramms 121 beinhalten oder ohne Interrupt erfolgen. Die Fehlererkennungseinheit 112 kann je nach dem Inhalt des Fehlercodes entscheiden, ob ein Interrupt erfolgen soll oder nicht.
  • Die Fehlermeldung 601, die in den Fehlerverarbeitungsinformationen 122 von 4 definiert ist, kann per Mehrfachadressen-Übertragung an alle CPU-Vorrichtungen übertragen werden, wie im zweiten Datensatz definiert, anstatt nur an die Verwaltungsvorrichtung. Im Falle eines schwerwiegenden Fehlers, z. B. wenn ein Fehlercode bei der einfachen Diagnoseverarbeitung durch die Fehlererkennungseinheit 112 nicht gelesen werden kann, kann diese Mehrfachadressen-Übertragung einen Interrupt an alle CPU-Vorrichtungen beinhalten, um die Ausführung des Steuerprogramms 121 zu stoppen.
  • *** Wirkungen der ersten Ausführungsform ***
  • In der Steuereinrichtung 10 verfügen alle CPU-Vorrichtungen 100 über die Fehlerverarbeitungsinformationen 122. In den Fehlerverarbeitungsinformationen 122 wird die einfache Diagnoseverarbeitung festgelegt, die im Rahmen der für die allgemeine Vorrichtung erlaubten zweiten Berechtigung durchgeführt werden kann. Durch die einfache Diagnoseverarbeitung wird die Fehlermeldung 601 an die Verwaltungsvorrichtung übermittelt.
  • Dementsprechend führt die CPU-Vorrichtung 100, bei der es sich um die allgemeine Vorrichtung handelt, die einfache Diagnoseverarbeitung auf der Grundlage der Fehlerverarbeitungsinformationen 122 aus, so dass bei Auftreten eines Fehlers in einer Peripherievorrichtung die Verwaltungsvorrichtung den Fehler in der Peripherievorrichtung erkennen kann, ohne auf den nächsten Lesezyklus zu warten.
  • Wenn mehrere CPU-Vorrichtungen jeweils ein Steuerprogramm ausführen, das unter Verwendung einer Parallelisierungstechnik aufgeteilt ist und eine relativ hohe Kopplung aufweist, ist es daher möglich, die Zeitspanne vom Auftreten eines Fehlers in einer Peripherievorrichtung bis zur Erkennung des Fehlers in der Peripherievorrichtung durch die CPU-Vorrichtung, die die Verwaltungsvorrichtung ist, zu verkürzen.
  • Zweite Ausführungsform
  • Bezug nehmend auf die 7 und 8 wird eine zweite Ausführungsform beschrieben.
  • 7 zeigt eine Konfiguration einer E/A-Vorrichtung der zweiten Ausführungsform.
  • 8 zeigt den Betrieb der Steuereinrichtung 10 der zweiten Ausführungsform. Die E/A-Vorrichtung 200 von 7 enthält im Vergleich zur E/A-Vorrichtung 200 von 3 als Funktionselement eine Mehrfachadressen-Übertragungseinheit 212. Der Aufbau der CPU-Vorrichtung 100 ist derselbe wie in 2 der ersten Ausführungsform. Der Aufbau der Steuereinrichtung 10 ist der gleiche wie in 1.
  • In der ersten Ausführungsform muss die CPU-Vorrichtung 100, die die allgemeine Vorrichtung ist, nach dem Lesen des Fehlercodes von der Peripherievorrichtung 200 die Fehlermeldung 601 an die Verwaltungsvorrichtung übertragen, die über das Fehlerbehandlungsverfahren verfügt, wie in den Fehlerverarbeitungsinformationen 122 von 4 und in Schritt S14 von 5 angegeben. Im Gegensatz dazu überträgt in der zweiten Ausführungsform die Mehrfachadressen-Übertragungseinheit 212 der E/A-Vorrichtung 200 die Fehlermeldung 601 an jede CPU-Vorrichtung 100.
  • *** Beschreibung der Funktionsweise ***
  • Anhand von 8 wird die Funktionsweise der Steuereinrichtung 10 beschrieben. Die Schritte S31 bis S34 in 8 sind die gleichen wie die Schritte S31 bis S34 in 6. Es ist zu beachten, dass die CPU-Vorrichtung #1, die CPU-Vorrichtung #2 und die CPU-Vorrichtung #3 die Verarbeitung von 5 durchführen.
  • In der zweiten Ausführungsform überträgt die Mehrfachadressen-Übertragungseinheit 212 der E/A-Vorrichtung 200, an die eine Fehlercode-Leseanforderung von einer allgemeinen Vorrichtung gestellt wurde, ein Ergebnis des Lesens des Fehlercodes nicht nur an die allgemeine Vorrichtung, die die Fehlercode-Leseanforderung gestellt hat, sondern auch an alle CPU-Vorrichtungen 100 durch Mehrfachadressen-Übertragung.
  • In Schritt S31 gelingt es der Leseeinheit 111 der CPU-Vorrichtung #1, von der externen Ein-/Ausgabevorrichtung 250 der E/A-Vorrichtung #1 zu lesen.
  • In Schritt S32 tritt in der E/A-Vorrichtung #1 ein Fehler auf, unmittelbar nachdem die CPU-Vorrichtung #1 das Lesen erfolgreich durchgeführt hat.
  • In Schritt S33, nachdem der Fehler aufgetreten ist, bezieht sich die Leseeinheit 111 der CPU-Vorrichtung #2, die die allgemeine Vorrichtung ist, auf die Eingangsinformationen in der E/A-Vorrichtung #1 als ein Lesen von der E/A-Vorrichtung #1.
  • In Schritt S34 erkennt die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2 einen Fehler beim Lesen durch die Leseeinheit 111 und führt die einfache Diagnoseverarbeitung gemäß der Definition in den Fehlerverarbeitungsinformationen 122 aus. Die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2 sendet eine Fehlercode-Leseanforderung an die E/A-Vorrichtung #1 in Übereinstimmung mit den Fehlerverarbeitungsinformationen 122.
  • In Schritt S35, wenn eine Diagnose durch die einfache Diagnoseverarbeitung durch die allgemeine Vorrichtung ausgeführt wird, überträgt die Mehrfachadressen-Übertragungseinheit 212 der E/A-Vorrichtung #1, die die Peripherievorrichtung ist, die Fehlermeldung 601 an die CPU-Vorrichtungen 100 durch Mehrfachadressen-Übertragung. Nach Empfang der Fehlercode-Leseanforderung überträgt die Mehrfachadressen-Übertragungseinheit 212 der E/A-Vorrichtung #1 ein Ergebnis des Lesens des Fehlercodes, das der Fehlermeldung 601 entspricht, an alle CPU-Vorrichtungen 100 durch Mehrfachadressen-Übertragung über die Kommunikationsschnittstellenvorrichtung 240. Zu diesem Zeitpunkt kann die Mehrfachadressen-Übertragungseinheit 212 der E/A-Vorrichtung #1 die in die Mehrfachadressen-Übertragung einzubeziehenden CPU-Vorrichtungen 100 in Abhängigkeit von ihrer eigenen Fehlersituation einschränken oder die Fehlermeldung 601 direkt an die CPU-Vorrichtung #1, die die Verwaltungsvorrichtung ist, übermitteln. Die Fehlermeldung 601 kann einen Interrupt beinhalten.
  • *** Wirkungen der zweiten Ausführungsform ***
  • In der Steuereinrichtung 10 der zweiten Ausführungsform überträgt die E/A-Vorrichtung ein Ergebnis des Lesens eines Fehlercodes als Fehlermeldung 601 an alle CPU-Vorrichtungen per Mehrfachadressen-Übertragung. Daher kann die Verwaltungsvorrichtung in einer Situation, in der die E/A-Vorrichtung in der Lage ist, zu reagieren, die Fehlermeldung von der E/A-Vorrichtung empfangen, ohne auf die Fehlermeldung 601 von der allgemeinen Vorrichtung zu warten, so dass die Fehlererkennungszeit der Verwaltungsvorrichtung im Vergleich zur ersten Ausführungsform weiter verkürzt werden kann.
  • Dritte Ausführungsform
  • Bezug nehmend auf 9 wird die Steuereinrichtung 10 einer dritten Ausführungsform beschrieben. Die Konfiguration der Steuereinrichtung 10 der dritten Ausführungsform ist die gleiche wie die der Steuereinrichtung 10 der ersten Ausführungsform. In der dritten Ausführungsform aggregiert die Verwaltungsvorrichtung den Inhalt der von den allgemeinen Vorrichtungen übermittelten Fehlermeldungen 601. Die Verwaltungsvorrichtung führt das Fehlerbehandlungsverfahren für die E/A-Vorrichtung aus, in dem ein Fehler aufgetreten ist, und zwar auf der Grundlage eines Aggregationsergebnisses.
  • Es kann der Fall eintreten, dass ein anfänglicher kleiner Fehler in der E/A-Vorrichtung 200 aufgrund der Ausbreitung des Fehlers zu einem schweren Fehler wird, was zu einem Übergang der Fehlersituation führt. Auch wenn ein Übergang in der Fehlersituation auftritt, kann die Steuereinrichtung 10 der dritten Ausführungsform den Übergang in der Fehlersituation zeitnah und angemessen bewältigen.
  • In der dritten Ausführungsform wird davon ausgegangen, dass die Definition eines Fehlercodes in den Fehlerverarbeitungsinformationen 122 von 4 eine Vielzahl von Fehlercodes wie aa1, aa2, aa3 und aa4 umfasst.
  • Bei Erkennung eines Fehlers in der E/A-Vorrichtung 200 überträgt die Fehlererkennungseinheit 112 der CPU-Vorrichtung 100 die Fehlermeldung 601 einschließlich eines Fehlercodes an die Verwaltungsvorrichtung.
  • Die Fehlererkennungseinheit 112 jeder CPU-Vorrichtung 100 führt die in den Fehlerverarbeitungsinformationen 122 definierte einfache Diagnoseverarbeitung durch, wenn die Fehlermeldung 601 von einer anderen CPU-Vorrichtung 100 und auch die Verwaltungsmeldung 602 von der Verwaltungsvorrichtung empfangen wird. Als Ergebnis der einfachen Diagnoseverarbeitung überträgt die Fehlererkennungseinheit 112 jeder CPU-Vorrichtung 100 die Fehlermeldung 601 einschließlich eines Fehlercodes an die Verwaltungsvorrichtung. Die Verwaltungsvorrichtung empfängt die Fehlermeldungen 601 von allen CPU-Vorrichtungen 100. Beispielsweise kann die Verwaltungsvorrichtung den Fehler auf der Grundlage des schwerwiegendsten Fehlercodes unter den Fehlermeldungen 601 behandeln, oder es kann den Fehler in der E/A-Vorrichtung 200 auf der Grundlage des Fehlercodes in der letzten Fehlermeldung 601 behandeln. Auf diese Weise aggregiert die Verwaltungsvorrichtung den Inhalt der Fehlercodes, die in den empfangenen Fehlermeldungen 601 enthalten sind.
  • In diesem Fall kann die Fehlererkennungseinheit 112 der Verwaltungsvorrichtung den Fehler behandeln, wenn es möglich ist, den Fehler zu behandeln, ohne zu warten, bis die Fehlermeldungen 601 von allen CPU-Vorrichtungen 100 eingegangen sind.
  • *** Beschreibung der Funktionsweise ***
  • 9 zeigt den Betrieb der Steuereinrichtung 10 der dritten Ausführungsform. Anhand von 9 wird die Funktionsweise der Steuereinrichtung 10 beschrieben. Die Schritte S41 bis S44 in 9 sind die gleichen wie die Schritte S21 bis S24 in 6. Die CPU-Vorrichtung #1, die CPU-Vorrichtung #2 und die CPU-Vorrichtung #3 führen die Verarbeitung von 5 durch.
  • In Schritt S41 gelingt es der Leseeinheit 111 der CPU-Vorrichtung #1, von der externen Ein-/Ausgabevorrichtung 250 der E/A-Vorrichtung #1 zu lesen.
  • In Schritt S42 tritt ein Fehler in der E/A-Vorrichtung #1 auf, unmittelbar nachdem die CPU-Vorrichtung #1 den Lesevorgang erfolgreich abgeschlossen hat.
  • In Schritt S43, nachdem der Fehler in der E/A-Vorrichtung #1 aufgetreten ist, bezieht sich die Leseeinheit 111 der CPU-Vorrichtung #2, bei der es sich um die allgemeine Vorrichtung handelt, auf Eingangsinformationen in der E/A-Vorrichtung #1, um Daten zu lesen.
  • In Schritt S44 erkennt die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2 einen Fehler beim Lesen durch die Leseeinheit 111 und führt die einfache Diagnoseverarbeitung für die E/A-Vorrichtung #1 auf der Grundlage der Fehlerverarbeitungsinformationen 122 aus.
  • In Schritt S45 überträgt die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2 die Fehlermeldung 601 einschließlich eines Fehlercodes an die CPU-Vorrichtung #1, die die Verwaltungsvorrichtung ist.
  • In Schritt S46 überträgt die Fehlererkennungseinheit 112 der CPU-Vorrichtung #1 die Verwaltungsmeldung 602 an die CPU-Vorrichtung #2 und die CPU-Vorrichtung #3.
  • In Schritt S47 geht der Fehler in der E/A-Vorrichtung #1 in einen schweren Fehler über.
  • In Schritt S48 führt die Leseeinheit 111 der CPU-Vorrichtung #3 einen Datenlesevorgang von der E/A-Vorrichtung #1 durch. Da der Fehler in der E/A-Vorrichtung #1 aufgetreten ist, schlägt die Leseeinheit 111 beim Lesen fehl.
  • In Schritt S49 erkennt die Fehlererkennungseinheit 112 der CPU-Vorrichtung #3 den Fehler in den von der Leseeinheit 111 gelesenen Daten und führt die einfache Diagnoseverarbeitung für die E/A-Vorrichtung #1 in Übereinstimmung mit den Fehlerverarbeitungsinformationen 122 aus.
  • In Schritt S50 überträgt die Fehlererkennungseinheit 112 der CPU-Vorrichtung #3 die Fehlermeldung 601 einschließlich eines Fehlercodes an die CPU-Vorrichtung #1, die die Verwaltungsvorrichtung ist.
  • In Schritt S50a empfängt die Fehlererkennungseinheit 112 der CPU-Vorrichtung 1, die die Verwaltungsvorrichtung ist, die Fehlermeldungen 601 von den allgemeinen Vorrichtungen und behandelt den Fehler in der Peripherievorrichtung 200 auf der Grundlage der empfangenen Fehlermeldungen 601. Insbesondere aggregiert die Fehlererkennungseinheit 112 der CPU-Vorrichtung #1 den Inhalt der Fehlercodes in den von der CPU-Vorrichtung #2 und der CPU-Vorrichtung #3 empfangenen Fehlermeldungen 601 und entscheidet auf der Grundlage eines Aggregationsergebnisses über das Fehlerbehandlungsverfahren für die E/A-Vorrichtung #1.
  • *** Wirkungen der dritten Ausführungsform ***
  • In der dritten Ausführungsform führt jede allgemeine Vorrichtung die der einfachen Diagnoseverarbeitung unabhängig davon aus, ob die Fehlermeldung 601 von einer anderen allgemeinen Vorrichtung oder die Verwaltungsmeldung 602 von der Verwaltungsvorrichtung empfangen wird, und benachrichtigt die Verwaltungsvorrichtung über ein Ergebnis der Verarbeitung der einfachen Diagnose. Die Verwaltungsvorrichtung entscheidet über das Fehlerbehandlungsverfahren für die Peripherievorrichtung, in der ein Fehler aufgetreten ist, auf der Grundlage der Fehlermeldungen, die von allen allgemeinen Vorrichtungen empfangen werden und die Ergebnisse der der einfachen Diagnoseverarbeitung sind. So kann die Verwaltungseinrichtung zeitnah und flexibel auf eine sich im Laufe der Zeit ändernde Fehlersituation in der Peripherievorrichtung reagieren. Das bedeutet, dass die Verwaltungseinrichtung einen schwerwiegenden Fehler, der im Laufe der Zeit auftritt, oder mit dem letzten Fehler in der Peripherievorrichtung bewältigen kann.
  • Vierte Ausführungsform
  • Bezug nehmend auf 10 bis 14 wird eine vierte Ausführungsform beschrieben. In den ersten bis dritten Ausführungsformen kann die Fehlerbehandlung für die E/A-Vorrichtung 200, wie z. B. die Wiederherstellungs- oder Speicherverarbeitung nach dem Auftreten eines Fehlers in der E/A-Vorrichtung 200, nur von der Verwaltungsvorrichtung ausgeführt werden, das die Berechtigung hat, auf die E/A-Vorrichtung 200 zu schreiben. Aus diesem Grund kann es je nach dem Ausführungsstatus des Steuerprogramms 121 in der Verwaltungseinrichtung zu einer Verzögerung beim Start der Fehlerbehandlung für die E/A-Vorrichtung 200 kommen. Da die Verwaltungsvorrichtung einen Fehler erst nach Erhalt der Fehlermeldung 601 behandelt, kann sich dadurch auch der Beginn der Fehlerbehandlung verzögern.
  • Wenn als Gegenmaßnahme gegen eine Verzögerung beim Start der Fehlerbehandlung einfach angeordnet wird, dass alle CPU-Vorrichtungen über die Fehlerbehandlungsverfahren für alle E/A-Vorrichtungen 200 verfügen, so dass alle CPU-Vorrichtungen 100 die Fehlerbehandlungsverfahren für alle E/A-Vorrichtungen 200 ausführen können, ergibt sich folgende Situation.
  • Es wird ein Beispiel mit der CPU-Vorrichtung #1, der CPU-Vorrichtung #2 und der E/A-Vorrichtung #1 beschrieben. Es wird davon ausgegangen, dass die CPU-Vorrichtung #1 und die CPU-Vorrichtung #2 jeweils mit der Verwaltungsvorrichtung für die E/A-Vorrichtung #1 gleichzusetzen sind. Während die CPU-Vorrichtung #1 die Wiederherstellungsverarbeitung für die E/A-Vorrichtung #1 durchführt, schlägt die CPU-Vorrichtung #2 bei einem Lesevorgang von der E/A-Vorrichtung #1 fehl. Dann beginnt die CPU-Vorrichtung #2 mit der Wiederherstellungsverarbeitung für die E/A-Vorrichtung #1, so dass die Wiederherstellungsverarbeitung durch die CPU-Vorrichtung #1 und die Wiederherstellungsverarbeitung durch die CPU-Vorrichtung #2 erfolgen, was zu einer redundanten Verarbeitung führt.
  • Ein Ziel der vierten Ausführungsform ist es, die Fehlerbehandlung für die E/A-Vorrichtung 200 sofort zu starten und die Redundanz der Wiederherstellungsverarbeitung zu eliminieren.
  • 10 zeigt die Hardwarekonfiguration der Steuereinrichtung 10 der vierten Ausführungsform. Die Steuereinrichtung 10 der vierten Ausführungsform enthält im Vergleich zur Steuereinrichtung 10 der ersten Ausführungsform zusätzlich eine Berechtigungsvorrichtung 300. Die Berechtigungsvorrichtung 300 ist mit dem Bus 400 verbunden. In der Steuereinrichtung 10 von 10 verfügen alle CPU-Vorrichtungen 100 über das Fehlerbehandlungsverfahren für jede E/A-Vorrichtung 200. Die Verwaltungsvorrichtung für jede E/A-Vorrichtung 200 ist nicht näher spezifiziert. Wie später noch beschrieben wird, können alle CPU-Vorrichtungen 100 die Verwaltungsvorrichtung sein. In der CPU-Vorrichtung 100 der vierten Ausführungsform hat die Fehlererkennungseinheit 112 sowohl die Funktion der Diagnoseeinheit als auch die der Bearbeitungseinheit.
  • 11 zeigt eine Hardwarekonfiguration der Berechtigungsvorrichtung 300. Die Hardwarekonfiguration der Berechtigungsvorrichtung 300 entspricht im Wesentlichen derjenigen der CPU-Vorrichtung 100 von 2. Die Berechtigungsvorrichtung 300 umfasst als Hardware einen Prozessor 310, eine Hauptspeichervorrichtung 320, eine Hilfsspeichervorrichtung 330 und eine Kommunikationsschnittstellenvorrichtung 340. Der Prozessor 310 ist mit der Hauptspeichervorrichtung 320, der Hilfsspeichervorrichtung 330 und der Kommunikationsschnittstellenvorrichtung 340 über einen Bus 350 verbunden. Die Berechtigungsvorrichtung 300 umfasst als Funktionselemente eine Gewährungseinheit 311 und eine Kommunikationseinheit 312 zur Steuerung der Kommunikation zwischen der Berechtigungsvorrichtung 300 und der CPU-Vorrichtung 100. Der Prozessor 310 liest ein Programm 301 aus der Hauptspeichervorrichtung 320 und führt es aus. Das Programm 301 ist das Programm, das die Gewährungseinheit 311 und die Kommunikationseinheit 312 realisiert. Das Programm 301 ist in der Hilfsspeichervorrichtung 330 gespeichert. Die Kommunikationseinheit 312 empfängt Anforderungsinformationen zur Erteilung der Berechtigung zur Verwaltung der Peripherievorrichtung 200 von der CPU-Vorrichtung 100, die beim Lesen von Daten von der Peripherievorrichtung 200 gescheitert ist, von der Daten durch die Leseeinheit 111 jeder CPU-Vorrichtung 100 gelesen werden sollen. Nach Erhalt der Anforderungsinformationen erteilt die Gewährungseinheit 311 der CPU-Vorrichtung 100, die die Gewährung der Berechtigung angefordert hat, die Berechtigung nur dann, wenn die Berechtigung nicht einer anderen CPU-Vorrichtung 100 erteilt wurde, und erlaubt auf der Grundlage der Berechtigung die Bearbeitung der Peripherievorrichtung 200 durch die Fehlererkennungseinheit 112, die die Bearbeitungseinheit ist.
  • 12 ist ein Zustandsübergangsdiagramm der Gewährungseinheit 311, die der CPU-Vorrichtung 100 die Berechtigung zur Diagnoseverarbeitung für die E/A-Vorrichtung 200 erteilt, in der ein Fehler erkannt wurde. Der Ausgangszustand der Gewährungseinheit 311 ist ein „verwaltungsaktivierter Zustand“. Diese Berechtigung entspricht der ersten Berechtigung der Verwaltungseinrichtung. Der „verwaltungsaktivierte Zustand“ ist der Zustand, in dem der CPU-Vorrichtung 100 die Berechtigung zur Diagnoseverarbeitung für die E/A-Vorrichtung 200 erteilt werden kann. Wenn eine Verwaltungsanforderung für die E/A-Vorrichtung 200 von einer der CPU-Vorrichtungen 100 im verwaltungsaktivierten Zustand empfangen wird, antwortet die Gewährungseinheit 311 der CPU-Vorrichtung 100 mit einer Verwaltungserlaubnis und führt einen Übergang in einen „verwaltungsdeaktivierten Zustand“ durch. Dies ist ein Übergang 351. Der „verwaltungsdeaktivierte Zustand“ ist der Zustand, in dem die CPU-Vorrichtung 100 keine Berechtigung zur Diagnoseverarbeitung für die E/A-Vorrichtung 200 erhalten kann. Wenn eine Verwaltungsanforderung von einer der CPU-Vorrichtungen 100 im „verwaltungsaktivierten Zustand“ empfangen wird, antwortet die Gewährungseinheit 311 der CPU-Vorrichtung 100 mit einer Nichterlaubnis. Dies ist ein Übergang 352. Wenn eine Meldung zur Rückgabe der Verwaltungsberechtigung von der CPU-Vorrichtung 100 eingeht, vollzieht die Gewährungseinheit 311 einen Übergang in den verwaltungsaktivierten Zustand. Dies ist ein Übergang 353. Der Zustandsübergang der Gewährungseinheit 311 ist so vorgesehen, dass nur eine CPU-Vorrichtung 100, die die erste Anforderung gestellt hat, die Diagnoseverarbeitung für die E/A-Vorrichtung 200 durchführen kann. Daher kann die Verwaltungsberechtigung für jede E/A-Vorrichtung 200 einzeln erteilt werden. Das heißt, die in 12 dargestellte Berechtigung kann für jede E/A-Vorrichtung 200 einzeln erteilt werden.
  • 13 ist ein Flussdiagramm der Fehlererkennungseinheit 112 der CPU-Vorrichtung 100. Wenn ein Lesevorgang aus der E/A-Vorrichtung 200 fehlschlägt, stellt die Fehlererkennungseinheit 112 der CPU-Vorrichtung 100 eine Anfrage nach der Verwaltungsberechtigung für die E/A-Vorrichtung 200, in der ein Fehler aufgetreten ist, an die Gewährungseinheit 311 der Berechtigungsvorrichtung 300. Dies wird im Folgenden näher beschrieben.
  • In Schritt S51 bestimmt die Fehlererkennungseinheit 112, ob die Leseeinheit 111 erfolgreich von der E/A-Vorrichtung 200 gelesen hat. Wenn der Vorgang erfolgreich war, wird die Verarbeitung beendet. Wenn die Leseeinheit 111 beim Lesen von der Peripherievorrichtung gescheitert ist, wird die Verarbeitung mit S52 fortgesetzt.
  • In Schritt S52 versucht die Fehlererkennungseinheit 112 der CPU-Vorrichtung 100, die Verwaltungsberechtigung für die E/A-Vorrichtung 200 von der Berechtigungsvorrichtung 300 zu erhalten. Konkret stellt die Fehlererkennungseinheit 112 bei der Gewährungseinheit 11 einen Antrag auf Erteilung der Verwaltungsberechtigung. Wenn der Fehlererkennungseinheit 112 von der Gewährungseinheit 311 die Verwaltungsberechtigung erteilt wird, wird die Verarbeitung mit S53 fortgesetzt. Wird der Fehlererkennungseinheit 112 die Verwaltungsberechtigung von der Gewährungseinheit 311 nicht erteilt, endet die Verarbeitung.
  • In Schritt S53 führt die Fehlererkennungseinheit 112 auf der Grundlage der erworbenen Verwaltungsberechtigung das Fehlerbehandlungsverfahren für die Peripherievorrichtung aus, in der der Fehler aufgetreten ist. Die Verwaltungsberechtigung entspricht hier der ersten Berechtigung.
  • 14 zeigt den Betrieb der Steuereinrichtung 10 der vierten Ausführungsform. Bezug nehmend auf 14 wird die Funktionsweise der Steuereinrichtung 10 beschrieben. Die Schritte S61 bis S63 sind identisch mit den Schritten S21 bis S23, so dass diese Beschreibung weggelassen wird. In Schritt S64 erkennt in der CPU-Vorrichtung #2 die Fehlererkennungseinheit 112 den Fehler beim Lesen durch die Leseeinheit 111. Die Fehlererkennungseinheit 112 fordert die Gewährungseinheit 311 der Berechtigungsvorrichtung 300 zum Erwerb der Verwaltungsberechtigung auf.
  • In Schritt S65 erwirbt die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2 die Verwaltungsberechtigung von der Gewährungseinheit 311, da der Anfangszustand der Gewährungseinheit 311 der verwaltungsaktivierte Zustand ist.
  • In Schritt S66 führt die Fehlererkennungseinheit 112 der CPU-Vorrichtung #2, die die Verwaltungsberechtigung erhalten hat, das Fehlerbehandlungsverfahren für die E/A-Vorrichtung #1 aus.
  • Die CPU-Vorrichtung #3 führt parallel dazu das Steuerprogramm 121 aus. In Schritt S67 versucht daher die Leseeinheit 111 der CPU-Vorrichtung #3, von der E/A-Vorrichtung #1 zu lesen, während das Fehlerbehandlungsverfahren für die E/A-Vorrichtung #1 aus Schritt S66 von der CPU-Vorrichtung #2 ausgeführt wird. Das Lesen durch die CPU-Vorrichtung #3 schlägt fehl.
  • In Schritt S68 erkennt die Fehlererkennungseinheit 112 in der CPU-Vorrichtung #3 den Fehler beim Lesen durch die Leseeinheit 111 und stellt eine Anfrage an die Gewährungseinheit 311 zum Erwerb der Verwaltungsberechtigung. Die Gewährungseinheit 311 befindet sich jedoch im Zustand der Verwaltungssperre, so dass die Fehlererkennungseinheit 112 der CPU-Vorrichtung #3 die Verwaltungsberechtigung nicht erhält und das Fehlerbehandlungsverfahren für die E/A-Vorrichtung #1 nicht ausführt.
  • *** Wirkungen der vierten Ausführungsform ***
  • In der vierten Ausführungsform verfügen alle CPU-Vorrichtungen über die Fehlerbehandlungsverfahren für alle Peripherievorrichtungen. Das heißt, alle CPU-Vorrichtungen können die Verwaltungsvorrichtung einer der ersten bis dritten Ausführungsformen für eine beliebige Peripherievorrichtung sein. In der vierten Ausführungsform ist die in der ersten bis dritten Ausführungsform verwendete Fehlermeldung 601 der Verwaltungsvorrichtung nicht erforderlich. Darüber hinaus kann nicht mehr als eine CPU-Vorrichtung gleichzeitig als Verwaltungsvorrichtung für eine Peripherievorrichtung dienen. Daher ist es gemäß der vierten Ausführungsform möglich, einen Fehler in der Peripherievorrichtung 200 sofort zu behandeln und eine redundante Fehlerbehandlung für dieselbe Peripherievorrichtung durch mehr als eine CPU-Vorrichtung zu vermeiden.
  • <Ergänzung zu den Hardwarekonfigurationen>
  • Die Hardwarekonfigurationen der CPU-Vorrichtung 100, der E/A-Vorrichtung 200 und der Berechtigungsvorrichtung 300 werden ergänzend beschrieben. In der CPU-Vorrichtung #1 von 2, der E/A-Vorrichtung 200 von 3, der E/A-Vorrichtung 200 von 7 und der Berechtigungsvorrichtung 300 von 11 sind die Funktionen jeder Vorrichtung durch Software realisiert, aber die Funktionen jeder Vorrichtung können auch durch Hardware umgesetzt werden.
  • Im Folgenden wird die CPU-Vorrichtung 100 als Beispiel beschrieben. In 2 werden die Funktionen der Leseeinheit 111, der Fehlererkennungseinheit 112 und der Kommunikationseinheit 113 durch das Programm umgesetzt. Die Funktionen der Leseeinheit 111, der Fehlererkennungseinheit 112 und der Kommunikationseinheit 113 können jedoch auch durch Hardware umgesetzt werden.
  • 15 zeigt eine Konfiguration, in der die Leseeinheit 111, die Fehlererkennungseinheit 112 und die Kommunikationseinheit 113 durch Hardware realisiert sind. Die elektronische Schaltung 90 in 15 ist eine spezielle elektronische Schaltung, die die Funktionen der Leseeinheit 111, der Fehlererkennungseinheit 112, der Kommunikationseinheit 113, der Hauptspeichervorrichtung 120, der Hilfsspeichervorrichtung 130 und der Kommunikationsschnittstellenvorrichtung 140 realisiert. Die elektronische Schaltung 90 ist mit einer Signalleitung 91 verbunden.
  • Die elektronische Schaltung 90 ist eine einzelne Schaltung, eine zusammengesetzte Schaltung, ein programmierter Prozessor, ein parallel programmierter Prozessor, ein logischer IC, ein GA, ein ASIC oder ein FPGA. GA ist eine Abkürzung für Gate Array (Gatteranordnung). ASIC ist eine Abkürzung für Application Specific Integrated Circuit (Anwendungsspezifische Integrierte Schaltung). FPGA ist eine Abkürzung für Field-Programmable Gate Array (im Feld programmierbare Gatteranordnung). Die Funktionen der einzelnen Elemente der CPU-Vorrichtung 100 können durch eine einzige elektronische Schaltung realisiert werden oder sie können auf mehrere elektronische Schaltungen verteilt und durch diese realisiert werden. Ein Teil der Funktionen der einzelnen Elemente der CPU-Vorrichtung 100 kann durch die elektronische Schaltung realisiert werden, der Rest der Funktionen kann durch Software realisiert werden.
  • Sowohl der Prozessor 110 als auch die elektronische Schaltung 90 werden auch als Verarbeitungsschaltungen bezeichnet. In der CPU-Vorrichtung 100 können die Funktionen der Leseeinheit 111, der Fehlererkennungseinheit 112, der Kommunikationseinheit 113, der Hauptspeichervorrichtung 120, der Hilfsspeichervorrichtung 130 und der Kommunikationsschnittstellenvorrichtung 140 durch die Verarbeitungsschaltung realisiert werden.
  • Das Steuerprogramm 121, das die Funktionen der Leseeinheit 111, der Fehlererkennungseinheit 112 und der Kommunikationseinheit 113 realisiert, kann in einem computerlesbaren Aufzeichnungsmedium gespeichert und bereitgestellt werden, oder es kann als Programmprodukt bereitgestellt werden.
  • Die oben beschriebene Ergänzung der Hardware der CPU-Vorrichtung 100 gilt auch für die E/A-Vorrichtung 200 und die Berechtigungsvorrichtung 300. Das heißt, das Programm 201, das die Funktionen der E/A-Vorrichtung 200 realisiert, und das Programm 301, das die Funktionen der Berechtigungsvorrichtung 300 realisiert, können jeweils in einem computerlesbaren Aufzeichnungsmedium gespeichert und bereitgestellt werden, oder sie können als ein Programmprodukt bereitgestellt werden. Die Funktionen der E/A-Vorrichtung 200 und die Funktionen der Berechtigungsvorrichtung 300 können durch die Verarbeitungsschaltung realisiert werden.
  • Das oben beschriebene Verfahren für den Betrieb der CPU-Vorrichtung 100 entspricht einem Verarbeitungsverfahren. Das Programm, das den Betrieb der CPU-Vorrichtung 100 realisiert, entspricht dem Steuerprogramm 121. Das Verfahren für den Betrieb der E/A-Vorrichtung 200 entspricht einem Verfahren, das von der E/A-Vorrichtung 200 durchgeführt wird. Das Programm, mit dem der Betrieb der E/A-Vorrichtung 200 realisiert wird, entspricht dem Programm 201. Das Verfahren für den Betrieb der Berechtigungsvorrichtung 300 entspricht einem Verfahren, das von der Berechtigungsvorrichtung 300 durchgeführt wird. Das Programm, das den Betrieb der Berechtigungsvorrichtung 300 realisiert, entspricht dem Programm 301.
  • Die Ausführungsformen sind Beispiele für vorteilhafte Ausführungsformen und sollen den technischen Anwendungsbereich der vorliegenden Erfindung nicht einschränken. Die Ausführungsformen können in Kombination mit einer anderen Ausführungsform implementiert oder teilweise implementiert sein. Die in den Flussdiagrammen beschriebenen Verfahren können nach Bedarf geändert werden.
  • Bezugszeichenliste
  • 10
    Steuereinrichtung;
    100
    CPU-Vorrichtung;
    101
    Programm;
    110
    Prozessor;
    111:
    Leseeinheit;
    112
    Fehlererkennungseinheit;
    113
    Kommunikationseinheit;
    120
    Hauptspeichervorrichtung;
    121
    Steuerprogramm;
    122
    Feh- lerverarbeitungsinformationen;
    130
    Hilfsspeichervorrichtung;
    140
    Kommuni- kationsschnittstellenvorrichtung;
    200
    Peripherievorrichtung;
    201
    Programm;
    210
    Prozessor;
    211
    Antworteinheit;
    212
    Mehrfachadressen-Übertragungs-einheit;
    220
    Hauptspeichervorrichtung;
    230
    Hilfsspeichervorrichtung;
    240
    Kommunikationsschnittstellenvorrichtung;
    250
    externe Ein-/Ausgabevorrichtung;
    300
    Berechtigungsvorrichtung;
    301
    Programm;
    310
    Prozessor;
    311
    Gewährungseinheit;
    312
    Kommunikationseinheit;
    320
    Hauptspeichervorrichtung;
    330
    Hilfsspeichervorrichtung;
    340
    Kommunikationsschnittstellenvorrichtung;
    351, 352, 353
    Übergang;
    400
    Bus;
    601
    Fehlermeldung;
    602
    Ver-waltungsmeldung;
    711, 712, 713, 714, 715, 716, 721, 722, 723, 724, 725, 731,
    Kastchen.
    732, 733, 734, 735, 736, 737, 738, 739, 741, 742, 743, 744, 745, 746
    Kästchen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP H09093308 A [0013]

Claims (5)

  1. Steuereinrichtung, umfassend: eine Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen; und eine Peripherievorrichtung, aus der die Daten von der Vielzahl der zentralen Verarbeitungseinheitsvorrichtungen gelesen werden, wobei die Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen aufweisen: eine Verwaltungsvorrichtung und eine allgemeine Vorrichtung, wobei die Verwaltungseinrichtung eine zentrale Verarbeitungseinheitsvorrichtung ist, die eine erste Berechtigung zum Verwalten der Peripherievorrichtung hat, wobei die allgemeine Einrichtung eine zentrale Verarbeitungseinheitsvorrichtung ist, die eine zweite Berechtigung hat, die niedriger ist als die erste Berechtigung, um einen Fehler in der Peripherievorrichtung zu diagnostizieren, in der der Fehler aufgetreten ist, wobei die allgemeine Vorrichtung umfasst: eine Leseeinheit zum Lesen von Daten aus der Peripherievorrichtung; und eine Diagnoseeinheit zum Ausführen einer Diagnose auf der Peripherievorrichtung auf der Grundlage der zweiten Berechtigung, wenn ein Lesen von Daten aus der Peripherievorrichtung fehlgeschlagen ist, und wobei die Verwaltungsvorrichtung umfasst: eine Kommunikationseinheit zum Empfangen einer Fehlermeldung, die den Fehler in der Peripherievorrichtung anzeigt, wobei die Kommunikationseinheit durch die Diagnose zum Empfangen der Fehlermeldung veranlasst wird; und eine Bearbeitungseinheit, um den Fehler in der Peripherievorrichtung auf der Grundlage der ersten Berechtigung zu bearbeiten, wenn die Fehlermeldung empfangen wird.
  2. Steuereinrichtung nach Anspruch 1, wobei die Diagnoseeinheit der allgemeinen Vorrichtung einen Fehlercode von der Peripherievorrichtung als Ausführung der Diagnose liest und beim Lesen des Fehlercodes die Fehlermeldung an die Verwaltungsvorrichtung überträgt.
  3. Steuereinrichtung nach Anspruch 1 oder Anspruch 2, wobei die Peripherievorrichtung Gerät eine Mehrfachadressen-Übertragungseinheit enthält, um die Fehlermeldung durch Mehrfachadressen-Übertragung an die Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen zu senden, wenn die Diagnose durch die allgemeine Vorrichtung ausgeführt wurde.
  4. Steuereinrichtung nach Anspruch 2, wobei die Bearbeitungseinheit der Verwaltungseinrichtung die Fehlermeldung von jeder einer Vielzahl von allgemeinen Vorrichtungen empfängt und den Fehler in der Peripherievorrichtung auf der Grundlage der empfangenen Fehlermeldungen behandelt.
  5. Steuereinrichtung, umfassend: eine Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen, die jeweils eine Leseeinheit und eine Bearbeitungseinheit umfassen; und eine Berechtigungsvorrichtung, die eine Kommunikationseinheit enthält, um Anforderungsinformationen zu empfangen, die die Gewährung einer Berechtigung zum Verwalten einer Peripherievorrichtung von einer der Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen anfordern, die in einem Datenlesen von der Peripherievorrichtung, von der Daten durch die Leseeinheit jeder zentralen Verarbeitungseinheitsvorrichtung der Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen gelesen werden sollen, fehlgeschlagen ist; und eine Gewährungseinheit, um, wenn die Anforderungsinformationen empfangen werden, die Berechtigung der einen der Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen zu gewähren, die die Gewährung der Berechtigung angefordert hat, um auf der Grundlage der Berechtigung die Bearbeitung der Peripherievorrichtung durch die Bearbeitungseinheit nur dann zu erlauben, wenn die Berechtigung einer anderen der Vielzahl von zentralen Verarbeitungseinheitsvorrichtungen nicht gewährt worden ist.
DE112019007853.4T 2019-12-06 2019-12-06 Steuereinrichtung Pending DE112019007853T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/047960 WO2021111639A1 (ja) 2019-12-06 2019-12-06 コントローラ

Publications (1)

Publication Number Publication Date
DE112019007853T5 true DE112019007853T5 (de) 2022-08-04

Family

ID=76221187

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007853.4T Pending DE112019007853T5 (de) 2019-12-06 2019-12-06 Steuereinrichtung

Country Status (7)

Country Link
US (1) US20220222187A1 (de)
JP (1) JP7012915B2 (de)
KR (1) KR20220074993A (de)
CN (1) CN114761935A (de)
DE (1) DE112019007853T5 (de)
TW (1) TW202122997A (de)
WO (1) WO2021111639A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7204057B1 (ja) * 2022-03-08 2023-01-13 三菱電機株式会社 プログラマブルロジックコントローラ、cpuユニット、制御方法及びプログラム
CN117665726A (zh) * 2022-08-26 2024-03-08 上海禾赛科技有限公司 异常监控***及方法、装置、处理方法、雷达及监控方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0993308A (ja) 1995-09-27 1997-04-04 Seiko Instr Inc 注文管理システムにおける通信回線の故障診断システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3311704B2 (ja) * 1999-02-18 2002-08-05 日本電信電話株式会社 マルチプロセッサ通信機構の故障処理方法
JP5440673B1 (ja) * 2012-09-18 2014-03-12 日本電気株式会社 プログラマブルロジックデバイス、情報処理装置、被疑箇所指摘方法およびプログラム
JP6264155B2 (ja) * 2014-03-31 2018-01-24 富士通株式会社 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP2017102633A (ja) * 2015-12-01 2017-06-08 ルネサスエレクトロニクス株式会社 情報処理装置および半導体集積回路装置
US20220358019A1 (en) * 2017-03-10 2022-11-10 Pure Storage, Inc. Initiating Recovery Actions When A Dataset Ceases To Be Synchronously Replicated Across A Set Of Storage Systems
KR102398201B1 (ko) * 2017-06-30 2022-05-17 삼성전자주식회사 프로세서의 개입 없이 단순 작업을 관리하는 스토리지 장치
US10872009B2 (en) * 2018-02-08 2020-12-22 Micron Technology, Inc. Mitigating a voltage condition of a memory cell in a memory sub-system
US10817363B2 (en) * 2018-03-19 2020-10-27 Micron Technology, Inc. Health characteristics of a memory device
DE102018215783A1 (de) * 2018-09-18 2020-03-19 Robert Bosch Gmbh Positionserfassungssystem und Verfahren zur Erfassung einer Bewegung einer Maschine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0993308A (ja) 1995-09-27 1997-04-04 Seiko Instr Inc 注文管理システムにおける通信回線の故障診断システム

Also Published As

Publication number Publication date
KR20220074993A (ko) 2022-06-03
TW202122997A (zh) 2021-06-16
JP7012915B2 (ja) 2022-01-28
US20220222187A1 (en) 2022-07-14
CN114761935A (zh) 2022-07-15
JPWO2021111639A1 (de) 2021-06-10
WO2021111639A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
DE3048365C2 (de)
DE602004005642T2 (de) Sicherheitssteuerung zur Durchführung von Standard- und Sicherheitssteuerungsprogrammen
DE3152435C2 (de)
DE112007003231B4 (de) Programmierbare Anzeigevorrichtung und Steuersystem
DE112006003180T5 (de) Anlagensteuersystem
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE3611223A1 (de) Verfahren und vorrichtung zum verhindern einer blockierung in einem datenbank-verwaltungssystem
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
EP3379447A1 (de) Verfahren und vorrichtung zum manipulationssicheren speichern von informationen bezüglich objektbezogener massnahmen
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
DE112019007853T5 (de) Steuereinrichtung
DE102020121540A1 (de) Bestimmungseinrichtung, Bestimmungssystem, Speichermedium, das ein Programm speichert, und Bestimmungsverfahren
DE102019217427A1 (de) Steuern und/oder Überwachen einer Maschinenanordnung
EP2090948B1 (de) Verfahren zum Betrieb eines Automatisierungssystems
DE102019208729A1 (de) Verfahren zum Sicherstellen und Aufrechterhalten der Funktion eines sicherheitskritischen Gesamtsystems
DE102019201515A1 (de) Fahrzeugkommunikationsnetzwerk und -verfahren
DE3040429A1 (de) Ueberwachungseinrichtung fuer ein computersystem
EP0009600A2 (de) Verfahren und Schnittstellenadapter zum Durchführen von Wartungsoperationen über eine Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems
EP0358785A1 (de) Einrichtung zum Betrieb eines redundanten Mehrrechnersystems für die Steuerung eines elektronischen Stellwerkes in der Eisenbahnsignaltechnik
EP2224340A1 (de) Verfahren und Managementsystem zum Konfigurieren eines dynamischen Informationssystems sowie Computerprogrammprodukt
EP0525214A1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts
EP0645710A2 (de) Verfahren zur Funktionsprüfung signaltechnisch nicht sicherer Speicher für mindestens zweikanalig abgespeicherte Nutzdaten und Einrichtung zur Durchführung des Verfahrens
DE112018002344T5 (de) Entwicklungsunterstützungsvorrichtung
EP1179428B1 (de) Verfahren und Vorrichtung zum Abarbeiten von Verfahrensschritten
EP2849986B1 (de) Verfahren und anordnung zum steuern einer technischen anlage

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence