-
Ausführungsformen betreffen allgemein Funktionssicherheitsanwendungen. Insbesondere betreffen Ausführungsformen eine Einzelchip-Mehrfach-Die-Architektur mit sicherheitskonformer Kreuzüberwachungsfähigkeit.
-
Eine Einhaltung von Funktionssicherheitsanforderungen (z. B. Kategorie 3/Cat3, Leistungsfähigkeitsniveau d/Pld des ISO-13849-Standards) ist bei Maschinen- und Industrieplattformen (z. B. elektrischen, hydraulischen, pneumatischen und/oder mechanischen Systemen) aufgrund des potentiellen Risikos, das die Plattformen für Endbenutzer darstellen können, ein kritischer Bereich. Um die Funktionssicherheit zu adressieren, können Plattformen zwei separate (z. B. redundante) Verarbeitungskanäle beinhalten, wobei jeder Verarbeitungskanal sich auf einer unabhängigen Vorrichtung (z. B. System-auf-Chip/SoC) befindet. Eine Systemintegration einer solchen Architektur mit einer Kreuzüberwachungslösung kann jedoch aus mehreren Gründen herausfordernd sein. Zum Beispiel kann eine kundenspezifische Anpassung der Hardware und Software der Kreuzüberwachungslösung aufgrund der Entwicklungs- und Zertifizierungskomplexität sowie einer relativ großen Komponentenzahl (z. B. Materialstückliste/BOM) teuer sein. Falls der Anbieter der Verarbeitungskanalvorrichtungen verschieden von dem Systemintegrator (z. B. dem Anbieter einer dritten Vorrichtung zum Durchführen einer Kreuzüberwachung) ist, kann zudem ein Mangel an Informationen über die Verarbeitungskanalfähigkeiten zu einer suboptimalen Anpassung der Kreuzüberwachungsvorrichtung führen.
-
Die verschiedenen Vorteile der Ausführungsformen werden einem Fachmann durch Lesen der folgenden Beschreibung und der beigefügten Ansprüche und durch Bezugnahme auf die folgenden Zeichnungen ersichtlich, in denen Folgendes gilt:
- 1 ist ein Blockdiagramm eines Beispiels für einen Chip gemäß einer Ausführungsform;
- 2 ist ein Blockdiagramm eines Beispiels für eine Plattform gemäß einer Ausführungsform;
- 3 ist ein Flussdiagramm eines Beispiels für ein Verfahren zum Betreiben eines Chips gemäß einer Ausführungsform; und
- 4 ist eine Veranschaulichung eines Beispiels für eine Halbleitergehäuseeinrichtung gemäß einer Ausführungsform.
-
1 zeigt einen Chip 10 (z. B. ein SoC-Halbleitergehäuse einschließlich einer Logik, die mit einem oder mehreren Substraten gekoppelt ist), der den sicheren Betrieb einer Industrieplattform (z. B. Maschinen einschließlich elektrischer, hydraulischer, pneumatischer und/oder mechanischer Subsysteme) unterstützen kann. Bei dem veranschaulichten Beispiel beinhaltet der Chip 10 einen ersten Die 12 mit einer ersten Verarbeitungslogik 14 (z. B. einem Prozessorkern, einer Ausführungseinheit, einer Grafikverarbeitungseinheit/GPU usw., mit einem oder mehreren Caches) zum Ausführen einer ersten Anwendungsinstanz 16 (z. B. einer Instanz einer Sicherheitsanwendung) und eine zweite (z. B. redundante) Verarbeitungslogik 18 zum Ausführen einer zweiten Anwendungsinstanz 20. Allgemein kann eine Sicherheitsanwendung mit Sensoren (z. B. nicht gezeigte Temperatur-, Druck-, Geschwindigkeitssensoren, chemische und/oder optische Sensoren) kommunizieren und Aktoren (z. B. nicht gezeigte Solenoide, Relais, Ventile, Motoren usw.) in der Plattform ansteuern.
-
Bei einer Ausführungsform gibt eine Sicherheitsanwendung einen Satz von Variablen (z. B. „Sicherheitsvariablen“) aus, die den Zustand der Plattform effektiv erfassen. Dementsprechend können die Sicherheitsvariablen während einer Ausführung der Sicherheitsanwendung wiederholt geändert werden. Entsprechend erzeugt der veranschaulichte erste Die 12 eine erste Ausgabe 17 (z. B. eine Signatur) der ersten Anwendungsinstanz 16 und eine zweite Ausgabe 19 (z. B. eine Signatur) der zweiten Anwendungsinstanz 20. Wie ausführlicher besprochen wird, ist ein Sicherheitsmonitor 26 durch jeweiliges Ausführen der zwei unabhängigen Instanzen 16, 20 der Sicherheitsanwendung der Verarbeitungslogik 14, 18 dazu in der Lage, zwei Sätze von Sicherheitsvariablen zu vergleichen und eine verbesserte Diagnoseabdeckung für die Plattform bereitzustellen.
-
Der veranschaulichte Chip 10 beinhaltet auch einen zweiten Die 24, der kommunikativ mit dem ersten Die 12 gekoppelt ist. Bei einer Ausführungsform beinhaltet der zweite Die 24 einen Sicherheitsmonitor 26 (z. B. eine „Sicherheitsinsel“), um eine Bedingung zu detektieren, die mit einem Fehler/Ausfall (z. B. einem Hardware- und/oder Softwarefehler) in einer ersten Ausgabe der ersten Anwendungsinstanz 16, einem Fehler in einer zweiten Ausgabe der zweiten Anwendungsinstanz 20 und/oder einer Diskrepanz zwischen der ersten Ausgabe und der zweiten Ausgabe assoziiert ist. Hardware-Die-Fehler, die die Bedingung auslösen können, beinhalten zum Beispiel nichtkorrigierbare (z. B. „katastrophale“) und korrigierbare Fehler, die über Pins, Kreuzvergleichsdaten und so weiter berichtet werden. Software-Die-Fehler, die die Bedingung auslösen können, beinhalten zum Beispiel Softwaretestergebnisse, Takt-, Spannungs- und Temperaturparameter, Sicherheitszustandsbefehle von der Host-Software und so weiter.
-
Bei einer Ausführungsform initiiert der Sicherheitsmonitor 26 als Reaktion auf die Bedingung einen Übergang des Chips 10 und/oder der Plattform in einen sicheren Zustand. Zum Beispiel kann der Sicherheitsmonitor 26 ein Sicherheitszustandssignal 28 an einem oder mehreren Fehlerpins erzeugen, um den Übergang zu initiieren. Der Sicherheitsmonitor 26 kann auch das Sicherheitszustandssignal 28 als Reaktion auf Fehler erzeugen, die an dem zweiten Die 24 detektiert werden, wie etwa zum Beispiel Hardwarefehler, die über Fehlerpins gemeldet werden, Softwaretestergebnisse, Takt- und Temperaturparameter und so weiter. Der veranschaulichte Chip 10 reduziert daher eine Anzahl an Herausforderungen, die mit der Systemintegration assoziiert sind. Zum Beispiel wird eine Entwicklungs- und Zertifizierungskomplexität reduziert, weil der Sicherheitsmonitor 26 mit der Verarbeitungslogik 14, 18 auf demselben Halbleitergehäuse integriert ist. Außerdem werden Kosten aufgrund einer Verringerung der Komponentenzahl (z. B. BOM) reduziert. Weil der Anbieter/Hersteller des ersten Die 12 der gleiche wie der Anbieter/Hersteller des zweiten Die 24 ist, benötigt zudem der Systemintegrator (z. B. Plattformentwickler) keine ausführlichen Informationen mehr über die Fähigkeiten des ersten Die 12, um eine optimalere Anpassung des Sicherheitsmonitors 26 zu erreichen.
-
2 zeigt eine Plattform 30 mit verbesserten Diagnoseabdeckungs- und Sicherheitsüberwachungsfähigkeiten. Die Plattform 30 kann allgemein ein Industrie- und/oder Automobilsystem mit Funktionssicherheitsvoraussetzungen (z. B. ISO-13849) sein. Bei dem veranschaulichten Beispiel ist ein Chip 32 mit einem Satz 34 von Sensoren (z. B. Temperatur-, Druck-, Geschwindigkeits-, chemischen und/oder optischen Sensoren) und Aktoren (z. B. Solenoiden, Relais, Ventilen, Motoren usw.) und mit mehreren Eingabe/Ausgabe(EA)-Modulen verbunden. Bei dem veranschaulichten Beispiel beinhaltet der Chip 32 einen ersten Die 38 („Die 1“, z. B. einen Host-Prozessor, eine Zentralverarbeitungseinheit/CPU) mit einer ersten Verarbeitungslogik 40 (z. B. einem ersten Verarbeitungskanal) zum Ausführen einer ersten Anwendungsinstanz (z. B. einer Instanz einer Sicherheitsanwendung, nicht gezeigt) basierend auf Kommunikationen mit dem Satz 34 von Sensoren und Aktoren. Bei einer Ausführungsform beinhaltet der Chip 32 auch eine zweite Verarbeitungslogik 42 (z. B. einen zweiten Verarbeitungskanal) zum Ausführen einer (nicht gezeigten) zweiten Anwendungsinstanz basierend auf Kommunikationen mit dem Satz 34 von Sensoren und Aktoren.
-
Eine erste Schnittstellenkomponente 44a einer EA-Schnittstelle 44 (44a, 44b) kann mit der ersten Verarbeitungslogik 40 und einem EA-Modul in dem Satz 34 von Sensoren und Aktoren gekoppelt sein, wobei die erste Schnittstellenkomponente 44a gemäß einem Ende-zu-Ende-Schutzprotokoll (z. B. einem softwarebasierten „Schwarzer-Kanal“-Protokoll) kommuniziert. Gleichermaßen ist eine zweite Schnittstellenkomponente 44b der EA-Schnittstelle 44 mit der zweiten Verarbeitungslogik 42 und einem anderen EA-Modul in dem Satz 34 von Sensoren und Aktoren gekoppelt, wobei die zweite Schnittstellenkomponente 44b gemäß einem Ende-zu-Ende-Schutzprotokoll kommuniziert. Dementsprechend verbessert die veranschaulichte EA-Schnittstelle 44 eine Beständigkeit gegenüber Single Points of Failure (einzelnen Ausfallspunkten) und/oder Common Cause Failures (CCFs - Ausfälle aufgrund gemeinsamer Ursache).
-
Wie bereits angemerkt, erzeugt die erste Verarbeitungslogik 40 eine erste Ausgabe der ersten Anwendungsinstanz und erzeugt die zweite Verarbeitungslogik 42 eine zweite Ausgabe der zweiten Anwendungsinstanz. Bei einer Ausführungsform ist ein zweiter Die 50 („Die 2“) mit dem ersten Die 38 gekoppelt, wobei der zweite Die 50 einen Sicherheitsmonitor 52 beinhaltet, um eine Bedingung zu detektieren, die mit einem Fehler (z. B. einen Hardware- und/oder Softwarefehler) in der ersten Ausgabe der ersten Anwendungsinstanz, einem Fehler in der zweiten Ausgabe der zweiten Anwendungsinstanz, einer Diskrepanz zwischen der ersten Ausgabe und der zweiten Ausgabe usw. oder einer beliebigen Kombination davon assoziiert ist. Die Bedingung kann auch mit einem Fehler assoziiert sein, der durch einen Hardwarefehleraggregator 33 auf dem ersten Die 38 und/oder einem Hardwarefehleraggregator 35 auf dem zweiten Die 50 detektiert wird. Bei einer Ausführungsform initiiert der Sicherheitsmonitor 52 als Reaktion auf die Bedingung einen Übergang des Chips 32 und/oder der Plattform 30 in einen sicheren Zustand. Bei einem Beispiel beinhaltet der erste Die 38 ferner einen ersten Takt 61, der durch eine unabhängige Taktquelle 63 angetrieben wird. Außerdem kann der zweite Die 50 auch einen zweiten Takt 60, der durch eine unabhängige Taktquelle 65 angetrieben wird, und einen Sicherheitsmonitortakt 69 beinhalten. Bei einer Ausführungsform sind der erste Takt 61, der zweite Takt 60 und der Sicherheitsmonitortakt 69 unabhängig voneinander, was eine Beständigkeit gegenüber Single Points of Failure und/oder CCFs weiter erhöht.
-
Bei dem veranschaulichten Beispiel beinhaltet der erste Die 38 ferner eine erste Leistungsquelle 62 (z. B. Host-Leistung), die mit einer ersten externen Quelle 66 (z. B. Spannungsregler und/oder integrierter Leistungsverwaltungsschaltkreis/PMIC) gekoppelt ist, und beinhaltet der zweite Die 50 eine zweite Leistungsquelle 64 (z. B. EA-Leistung), die mit einer zweiten externen Quelle 67 gekoppelt ist, wobei die erste und zweite Leistungsquelle 62, 64 unabhängig voneinander sind. Wieder kann die Unabhängigkeit der Leistungsquellen 62, 64 eine Beständigkeit gegenüber Single Points of Failure und/oder CCFs erhöhen. Bei dem veranschaulichten Beispiel überwacht eine Verarbeitungslogik, wie etwa zum Beispiel die zweite Verarbeitungslogik 42, ein Heartbeat-Signal 72 von dem Sicherheitsmonitor 52 als eine zusätzliche Schicht eines Sicherheitsschutzes.
-
Der veranschaulichte Chip 32 reduziert daher eine Anzahl an Herausforderungen, die mit der Systemintegration assoziiert sind. Zum Beispiel wird eine Entwicklungs- und Zertifizierungskomplexität reduziert, weil der Sicherheitsmonitor 52 mit der Verarbeitungslogik 40, 42 auf demselben Halbleitergehäuse integriert ist. Außerdem werden Kosten aufgrund einer Verringerung der Komponentenzahl (z. B. BOM) reduziert. Weil der Anbieter/Hersteller des ersten Die 38 der gleiche wie der Anbieter/Hersteller des zweiten Die 50 ist, benötigt zudem der Entwickler der Plattform 30 (z. B. Systemintegrator) keine ausführlichen Informationen mehr über die Fähigkeiten des Host-Die 38, um eine optimalere Anpassung des Sicherheitsmonitors 52 zu erreichen.
-
Obwohl die Plattform 30 als ein Industrie- und/oder Automobil(z. B. Auto-, Lastkraftwagen-, Motorrad-)-System beschrieben ist, kann die Sicherheitsplattform 30 für andere Zwecke verwendet werden. Zum Beispiel kann die Plattform 30 Teil einer elektronischen Vorrichtung/eines elektronischen Systems mit einer Rechenfunktionalität (z. B. eines persönlichen digitalen Assistenten/PDA, eines Notebook-Computers, Tablet-Computers, umwandelbaren Tablets, Servers), einer Kommunikationsfunktionalität (z. B. eines Smartphones), einer Bildgebungsfunktionalität (z. B. einer Kamera, eines Camcorders) einer Medienabspielfunktionalität (z. B. eines Smart-Fernsehers/TV), einer Wearable-Funktionalität (z. B. einerArmbanduhr, Brille, Kopfbedeckung, Fußbekleidung, von Schmuck), einer Roboterfunktionalität (z. B. eines autonomen Roboters und/oder einer Drohne), einer medizinischen Funktionalität, einer Luft- und Raumfahrtfunktionalität usw. oder einer beliebigen Kombination davon sein.
-
3 zeigt ein Verfahren 80 zum Betreiben eines Chips. Das Verfahren 80 kann allgemein in einem Chip, wie etwa zum Beispiel dem Chip 10 (1) und/oder dem Chip 32 (2), implementiert werden, wie bereits besprochen. Insbesondere kann das Verfahren 80 als ein oder mehrere Module in einem Satz von Logikbefehlen implementiert werden, die in einem nichtflüchtigen maschinen- oder computerlesbaren Speicherungsmedium gespeichert sind, wie etwa einem Direktzugriffsspeicher (RAM), einem Nurlesespeicher (ROM), einem programmierbaren ROM (PROM), Firmware, einem Flash-Speicher usw., in konfigurierbarer Logik, wie etwa zum Beispiel programmierbaren Logik-Arrays (PLAs), vor Ort programmierbaren Gatterarrays (FPGAs), komplexen programmierbaren Logikvorrichtungen (CPLDs), in Hardwarelogik mit fester Funktionalität unter Verwendung von Schaltkreistechnologie, wie etwa zum Beispiel von Technologie mit einem anwendungsspezifischen integrierten Schaltkreis (ASIC), einem komplementären Metall-Oxid-Halbleiter (CMOS) oder einer Transistor-Transistor-Logik (TTL), oder eine beliebige Kombination davon.
-
Zum Beispiel kann ein Computerprogrammcode zum Ausführen von in dem Verfahren 80 gezeigten Operationen in beliebiger Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache, wie etwa zum Beispiel JAVA, SMALLTALK, C++ oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie etwa zum Beispiel der Programmiersprache „C“, oder ähnlicher Programmiersprachen. Zusätzlich dazu könnten Logikanweisungen Assembler-Anweisungen, Befehlssatzarchitektur(ISA)-Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandseinstellungsdaten, Konfigurationsdaten für eine integrierte Schaltungsanordnung, Zustandsinformationen, die eine elektronische Schaltungsanordnung personalisieren, und/oder andere strukturelle Komponenten beinhalten, die nativ für die Hardware sind (z. B. Host-Prozessor, Zentralverarbeitungseinheit/CPU, Mikrocontroller usw.).
-
Der veranschaulichte Verarbeitungsblock 82 erzeugt durch einen ersten Die auf dem Chip eine erste Ausgabe einer ersten Anwendungsinstanz und eine zweite Ausgabe einer zweiten Anwendungsinstanz, wobei die erste Anwendungsinstanz auf der ersten Verarbeitungslogik des ersten Die ausgeführt wird und die zweite Anwendungsinstanz auf der zweiten Verarbeitungslogik des ersten Die ausgeführt wird. Block 83 detektiert, durch einen Sicherheitsmonitor auf einem zweiten Die des Chips, eine Bedingung, die mit einem Fehler in der ersten Ausgabe, einem Fehler in der zweiten Ausgabe und/oder einer Diskrepanz zwischen der ersten Ausgabe und der zweiten Ausgabe assoziiert ist. Die Fehler in der ersten Ausgabe und/oder der zweiten Ausgabe können Hardwarefehler, Softwarefehler usw. oder eine beliebige Kombination davon beinhalten.
-
Außerdem sieht Block 84 das Initiieren, durch den Sicherheitsmonitor, eines Übergangs des Chips in einen sicheren Zustand als Reaktion auf die Bedingung vor. Das Verfahren 80 reduziert daher eine Anzahl an Herausforderungen, die mit der Systemintegration assoziiert sind. Zum Beispiel wird eine Entwicklungs- und Zertifizierungskomplexität reduziert, weil der Sicherheitsmonitor mit der Verarbeitungslogik auf demselben Halbleitergehäuse integriert ist. Außerdem werden Kosten aufgrund einer Verringerung der Komponentenzahl (z. B. BOM) reduziert. Weil der Anbieter/Hersteller des ersten Die der gleiche wie der Anbieter/Hersteller des zweiten Die ist, benötigt zudem der Systemintegrator (z. B. Plattformentwickler) keine ausführlichen Informationen mehr über die Fähigkeiten des ersten Die, um eine optimalere Anpassung des Sicherheitsmonitors (z. B. vollständiges Nutzen von Verarbeitungskanalfähigkeiten) zu erreichen.
-
Das Verfahren 80 beinhaltet auch Betreiben des ersten Die mit einer ersten Taktquelle und Betreiben des Sicherheitsmonitors mit einer zweiten Taktquelle, wobei die erste Taktquelle und die zweite Taktquelle unabhängig voneinander sind. Außerdem kann der erste Die mit einer ersten Leistungsquelle mit Leistung versorgt werden und kann der zweite Die mit einer zweiten Leistungsquelle mit Leistung versorgt werden, wobei die erste Leistungsquelle und die zweite Leistungsquelle unabhängig voneinander sind. Bei einer Ausführungsform sieht das Verfahren 80 ferner Kommunizieren über eine erste EA-Schnittstelle, die mit der ersten Verarbeitungslogik gekoppelt ist, und Kommunizieren über eine zweite EA-Schnittstelle, die mit der zweiten Verarbeitungslogik gekoppelt ist, vor. Zudem können Kommunikationen über die erste EA-Schnittstelle und die zweite EA-Schnittstelle in Übereinstimmung mit einem Ende-zu-Ende-Schutzprotokoll erfolgen. Bei einem Beispiel beinhaltet das Verfahren 80 Überwachen, durch den Sicherheitsmonitor, eines Heartbeat-Signals von entweder der ersten Verarbeitungslogik oder der zweiten Verarbeitungslogik. Ein solcher Ansatz stellt effektiv sicher, dass der Sicherheitsmonitor betriebsbereit ist.
-
4 zeigt eine Halbleitereinrichtung 180 (z. B. einen Chip, ein SoC). Die veranschaulichte Einrichtung 180 beinhaltet ein oder mehrere Substrate 182 (z.B. Silicium, Saphir, Galliumarsenid) und eine Logik 184 (z. B. ein Transistorarray und andere Integrierter-Schaltkreis-/IC-Komponenten), die mit dem (den) Substrat(en) 182 gekoppelt ist. Bei einer Ausführungsform beinhaltet die Einrichtung 180 den Chip 10 (1) und/oder den Chip 32 (2) und die Logik 184 implementiert einen oder mehrere Aspekte des Verfahrens 80 (3), wie bereits besprochen wurde. Dementsprechend kann die Logik 184 durch einen ersten Die auf dem Chip eine erste Ausgabe einer ersten Anwendungsinstanz und eine zweite Ausgabe einer zweiten Anwendungsinstanz erzeugen, wobei die erste Anwendungsinstanz auf der ersten Verarbeitungslogik des ersten Die ausgeführt wird und die zweite Anwendungsinstanz auf der zweiten Verarbeitungslogik des ersten Die ausgeführt wird. Bei einer Ausführungsform detektiert die Logik 184 auch eine Bedingung, die mit einem Fehler in einer ersten Ausgabe einer ersten Anwendungsinstanz, einem Fehler in einer zweiten Ausgabe einer zweiten Anwendungsinstanz und/oder einer Diskrepanz zwischen der ersten Ausgabe und der zweiten Ausgabe assoziiert ist. Die Fehler in der ersten Ausgabe und/oder der zweiten Ausgabe können Hardwarefehler, Softwarefehler usw. oder eine beliebige Kombination davon beinhalten. Außerdem kann die Logik 184 durch einen Sicherheitsmonitor auf einem zweiten Die auf dem Chip einen Übergang des Chips in einen sicheren Zustand als Reaktion auf die Bedingung initiieren.
-
Die Einrichtung 180 ist daher ein Einzelchip, der eine Anzahl an Herausforderungen reduziert, die mit der Systemintegration assoziiert sind. Zum Beispiel wird eine Entwicklungs- und Zertifizierungskomplexität reduziert, weil der Sicherheitsmonitor mit den Verarbeitungslogiken auf demselben Halbleitergehäuse integriert ist. Außerdem werden Kosten aufgrund einer Verringerung der Komponentenzahl (z. B. BOM) reduziert. Weil der Anbieter/Hersteller des ersten Die der gleiche wie der Anbieter/Hersteller des zweiten Die ist, benötigt zudem der Systemintegrator (z. B. Plattformentwickler) keine ausführlichen Informationen mehr über die Fähigkeiten des ersten Die, um eine optimalere Anpassung des Sicherheitsmonitors (z. B. vollständiges Nutzen von Verarbeitungskanalfähigkeiten) zu erreichen.
-
Die Logik 184 kann zumindest teilweise in konfigurierbarer Logik oder Hardwarelogik mit fester Funktionalität implementiert werden. Bei einem Beispiel beinhaltet die Logik 184 Transistorkanalgebiete, die innerhalb des (der) Substrats (Substrate) 182 positioniert (z. B. eingebettet) sind. Somit ist die Grenzfläche zwischen der Logik 184 und dem (den) Substrat(en) 182 möglicherweise kein abrupter Übergang. Die Logik 184 kann auch als eine Epitaxieschicht enthaltend angesehen werden, die auf einem anfänglichen Wafer des Substrats (der Substrate) 182 aufgewachsen wird.
-
Zusätzliche Anmerkungen und Beispiele:
-
Beispiel 1 beinhaltet einen Chip, der Folgendes umfasst: einen ersten Die einschließlich einer ersten Leistungsquelle, eines ersten Kerns zum Ausführen einer ersten Anwendungsinstanz und Erzeugen einer ersten Ausgabe der ersten Anwendungsinstanz und eines zweiten Kerns zum Ausführen einer zweiten Anwendungsinstanz und Erzeugen einer zweiten Ausgabe der zweiten Anwendungsinstanz, wobei der Fehler in der ersten Ausgabe und/oder der Fehler in der zweiten Ausgabe einen Hardwarefehler und/oder einen Softwarefehler einschließen soll; und einen zweiten Die, der mit dem ersten Die gekoppelt ist, wobei der zweite Die eine zweite Leistungsquelle, einen Sicherheitsmonitor zum Detektieren einer Bedingung, die mit einem Fehler in der ersten Ausgabe, einem Fehler in der zweiten Ausgabe und/oder einer Diskrepanz zwischen der ersten Ausgabe und der zweiten Ausgabe und zum Initiieren eines Übergangs des Chips in einen sicheren Zustand als Reaktion auf die Bedingung, eine erste Taktquelle, die mit dem ersten Die gekoppelt ist, und eine zweite Taktquelle, die mit dem Sicherheitsmonitor gekoppelt ist, beinhaltet, wobei die erste Taktquelle und die zweite Taktquelle unabhängig voneinander sind und wobei die erste Leistungsquelle und die zweite Leistungsquelle unabhängig voneinander sind.
-
Beispiel 2 beinhaltet die Plattform aus Beispiel 1, wobei der zweite Die ferner eine erste Eingabe/Ausgabe(EA)-Schnittstelle, die mit dem ersten Kern gekoppelt ist, und eine zweite EA-Schnittstelle, die mit dem zweiten Kern gekoppelt ist, umfasst.
-
Beispiel 3 beinhaltet die Plattform aus Beispiel 2, wobei die erste EA-Schnittstelle und die zweite EA-Schnittstelle in Übereinstimmung mit einem Ende-zu-Ende-Schutzprotokoll kommunizieren.
-
Beispiel 4 beinhaltet die Plattform aus einem der Beispiele 1 bis 3, wobei die erste Verarbeitungslogik zum Überwachen eines Heartbeat-Signals von dem Sicherheitsmonitor ausgelegt ist.
-
Beispiel 5 beinhaltet eine Plattform, die Folgendes umfasst: einen Satz von Sensoren und Aktoren; und einen Chip, der mit dem Satz von Sensoren und Aktoren gekoppelt ist, wobei der Chip Folgendes beinhaltet: einen ersten Die einschließlich einer ersten Verarbeitungslogik zum Ausführen einer ersten Anwendungsinstanz basierend auf Kommunikationen mit dem Satz von Sensoren und Aktoren und Erzeugen einer ersten Ausgabe der ersten Anwendungsinstanz und einer zweiten Verarbeitungslogik zum Ausführen einer zweiten Anwendungsinstanz basierend auf Kommunikationen mit dem Satz von Sensoren und Aktoren und Erzeugen einer zweiten Ausgabe der zweiten Anwendungsinstanz; und einen zweiten Die, der mit dem ersten Die gekoppelt ist, wobei der zweite Die einen Sicherheitsmonitor zum Detektieren einer Bedingung, die mit einem Fehler in der ersten Ausgabe, einem Fehler in der zweiten Ausgabe und/oder einer Diskrepanz zwischen der ersten Ausgabe und der zweiten Ausgabe assoziiert ist, und zum Initiieren eines Übergangs des Chips in einen sicheren Zustand als Reaktion auf die Bedingung beinhaltet.
-
Beispiel 6 beinhaltet die Plattform aus Beispiel 5, wobei der zweite Die ferner eine erste Taktquelle, die mit dem ersten Die gekoppelt ist, und eine zweite Taktquelle, die mit dem Sicherheitsmonitor gekoppelt ist, umfasst, und wobei die erste Taktquelle und die zweite Taktquelle unabhängig voneinander sind.
-
Beispiel 7 beinhaltet die Plattform aus Beispiel 5, wobei der erste Die ferner eine erste Leistungsquelle beinhaltet und der zweite Die eine zweite Leistungsquelle beinhaltet und die erste Leistungsquelle und die zweite Leistungsquelle unabhängig voneinander sind.
-
Beispiel 8 beinhaltet die Plattform aus Beispiel 5, wobei der zweite Die ferner eine erste Eingabe/Ausgabe(EA)-Schnittstelle, die mit der ersten Verarbeitungslogik, dem ersten Satz von Sensoren und Aktoren gekoppelt ist, und eine zweite EA-Schnittstelle, die mit der zweiten Verarbeitungslogik, dem zweiten Satz von Sensoren und Aktoren gekoppelt ist, beinhaltet.
-
Beispiel 9 beinhaltet die Plattform aus Beispiel 8, wobei die erste EA-Schnittstelle und die zweite EA-Schnittstelle in Übereinstimmung mit einem Ende-zu-Ende-Schutzprotokoll kommunizieren.
-
Beispiel 10 beinhaltet die Plattform aus einem der Beispiele 5 bis 9, wobei die erste Verarbeitungslogik zum Überwachen eines Heartbeat-Signals von dem Sicherheitsmonitor ausgelegt ist.
-
Beispiel 11 beinhaltet die Plattform aus einem der Beispiele 5 bis 9, wobei der Fehler in der ersten Ausgabe und/oder der Fehler in der zweiten Ausgabe einen Hardwarefehler und/oder einen Softwarefehler beinhaltet.
-
Beispiel 12 beinhaltet einen Chip, der Folgendes umfasst: einen ersten Die einschließlich einer ersten Verarbeitungslogik zum Ausführen einer ersten Anwendungsinstanz und Erzeugen einer ersten Ausgabe der ersten Anwendungsinstanz und einer zweiten Verarbeitungslogik zum Ausführen einer zweiten Anwendungsinstanz und Erzeugen einer zweiten Ausgabe der zweiten Anwendungsinstanz; und einen zweiten Die, der mit dem ersten Die gekoppelt ist, wobei der zweite Die einen Sicherheitsmonitor zum Detektieren einer Bedingung, die mit einem Fehler in der ersten Ausgabe, einem Fehler in der zweiten Ausgabe und/oder einer Diskrepanz zwischen der ersten Ausgabe und der zweiten Ausgabe assoziiert ist, und zum Initiieren eines Übergangs des Chips in einen sicheren Zustand als Reaktion auf die Bedingung beinhaltet.
-
Beispiel 13 beinhaltet den Chip aus Beispiel 12, wobei der zweite Die ferner eine erste Taktquelle, die mit dem ersten Die gekoppelt ist, und eine zweite Taktquelle beinhaltet, die mit dem Sicherheitsmonitor gekoppelt ist, und wobei die erste Taktquelle und die zweite Taktquelle unabhängig voneinander sind.
-
Beispiel 14 beinhaltet den Chip aus Beispiel 12, wobei der erste Die ferner eine erste Leistungsquelle beinhaltet, der zweite Die eine zweite Leistungsquelle beinhaltet und die erste Leistungsquelle und die zweite Leistungsquelle unabhängig voneinander sind.
-
Beispiel 15 beinhaltet den Chip aus Beispiel 12, wobei der zweite Die ferner eine erste Eingabe/Ausgabe(EA)-Schnittstelle, die mit der ersten Verarbeitungslogik gekoppelt ist, und eine zweite EA-Schnittstelle, die mit der zweiten Verarbeitungslogik gekoppelt ist, umfasst.
-
Beispiel 16 beinhaltet den Chip aus Beispiel 15, wobei die erste EA-Schnittstelle und die zweite EA-Schnittstelle in Übereinstimmung mit einem Ende-zu-Ende-Schutzprotokoll kommunizieren.
-
Beispiel 17 beinhaltet den Chip aus einem der Beispiele 12 bis 16, wobei die erste Verarbeitungslogik zum Überwachen eines Heartbeat-Signals von dem Sicherheitsmonitor ausgelegt ist.
-
Beispiel 18 beinhaltet den Chip aus einem der Beispiele 12 bis 16, wobei der Fehler in der ersten Ausgabe und/oder der Fehler in der zweiten Ausgabe einen Hardwarefehler und/oder einen Softwarefehler beinhaltet.
-
Beispiel 19 beinhaltet ein Verfahren zum Betreiben eines Chips, das Folgendes umfasst: Erzeugen, durch einen ersten Die auf dem Chip, einer ersten Ausgabe einer ersten Anwendungsinstanz und einer zweiten Ausgabe einer zweiten Anwendungsinstanz, wobei die erste Anwendungsinstanz auf einer ersten Verarbeitungslogik des ersten Die ausgeführt wird und die zweite Anwendungsinstanz auf einer zweiten Verarbeitungslogik des ersten Die ausgeführt wird, Detektieren, durch einen Sicherheitsmonitor auf einem zweiten Die auf dem Chip, einer Bedingung, die mit einem Fehler in der ersten Ausgabe, einem Fehler in der zweiten Ausgabe und/oder einer Diskrepanz zwischen der ersten Ausgabe und der zweiten Ausgabe assoziiert ist, und Initiieren, durch den Sicherheitsmonitor, eines Übergangs des Chips in einen sicheren Zustand als Reaktion auf die Bedingung.
-
Beispiel 20 beinhaltet das Verfahren aus Beispiel 19, das ferner Betreiben des ersten Die mit einer ersten Taktquelle und Betreiben des Sicherheitsmonitors mit einer zweiten Taktquelle beinhaltet, wobei die erste Taktquelle und die zweite Taktquelle unabhängig voneinander sind.
-
Beispiel 21 beinhaltet das Verfahren aus Beispiel 19, das ferner Versorgen des ersten Die mit Leistung mit einer ersten Leistungsquelle und Versorgen des zweiten Die mit Leistung mit einer zweiten Leistungsquelle beinhaltet, wobei die erste Leistungsquelle und die zweite Leistungsquelle unabhängig voneinander sind.
-
Beispiel 22 beinhaltet das Verfahren aus Beispiel 19, das ferner Kommunizieren über eine erste Eingabe/Ausgabe(EA)-Schnittstelle, die mit der ersten Verarbeitungslogik gekoppelt ist, und Kommunizieren über eine zweite EA-Schnittstelle, die mit der zweiten Verarbeitungslogik gekoppelt ist, beinhaltet.
-
Beispiel 23 beinhaltet das Verfahren aus Beispiel 22, wobei Kommunikationen über die erste EA-Schnittstelle und die zweite EA-Schnittstelle in Übereinstimmung mit einem Ende-zu-Ende-Schutzprotokoll erfolgen.
-
Beispiel 24 beinhaltet das Verfahren aus einem der Beispiele 19 bis 23, das ferner Überwachen, durch den Sicherheitsmonitor, eines Heartbeat-Signals von der ersten Verarbeitungslogik beinhaltet.
-
Beispiel 25 beinhaltet das Verfahren aus einem der Beispiele 19 bis 23, wobei der Fehler in der ersten Ausgabe und/oder der Fehler in der zweiten Ausgabe einen Hardwarefehler und/oder einen Softwarefehler beinhaltet.
-
Hier beschriebene Technologien können daher eine „Plug-In“-Einzelchiplösung mit integrierter Kreuzüberwachung von Hardware, Firmware (FW) und Software bereitstellen, die den Aufwand für Systemintegratoren erfüllt, um Sicherheitsstandards zu erfüllen und BOM-Kosten der Plattform zu reduzieren.
-
Ausführungsformen sind zur Verwendung mit allen Typen von Halbleiter-Integrierte-Schaltkreis („IC“)-Chips anwendbar. Beispiele für diese IC-Chips beinhalten unter anderem Prozessoren, Steuerungen, Chipsatzkomponenten, programmierbare Logikarrays (PLAs), Speicherchips, Netzwerkchips, Systeme-auf-Chip (SoC), SSD/NAND-Steuerung-ASICs und dergleichen. Zusätzlich dazu sind in manchen der Zeichnungen Signalleiterleitungen mit Linien repräsentiert. Manche können unterschiedlich sein, um mehr Signalpfadbestandteile anzuzeigen, eine Nummernbezeichnung aufweisen, um eine Anzahl von Signalpfadbestandteilen anzugeben, und/oder Pfeile an einem oder mehreren Enden aufweisen, um die primäre Informationsflussrichtung anzugeben. Dies sollte jedoch nicht auf eine beschränkende Weise ausgelegt werden. Vielmehr kann ein derartiges hinzugefügtes Detail in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet werden, um ein einfacheres Verständnis eines Schaltkreises zu ermöglichen. Jegliche repräsentierten Signalleitungen, ob sie zusätzliche Information aufweisen oder nicht, können tatsächlich ein oder mehrere Signale umfassen, die sich in mehreren Richtungen bewegen können, und können mit einer beliebigen geeigneten Art von Signalschema implementiert werden, z. B. digitalen oder analogen Leitungen, die mit differenziellen Paaren, Optikfaserleitungen und/oder Single-Ended-Leitungen, implementiert werden.
-
Es sind möglicherweise beispielhafte Größen/Modelle/Werte/Bereiche gegeben worden, obwohl Ausführungsformen nicht auf dieselben beschränkt sind. Wenn sich Herstellungstechniken (z. B. Fotolithografie) im Laufe der Zeit weiterentwickeln, wird erwartet, dass Einrichtungen kleinerer Größe hergestellt werden könnten. Zusätzlich dazu sind wohlbekannte Leistungs-/Masseverbindungen zu IC-Chips und anderen Komponenten möglicherweise in den Figuren zur Vereinfachung der Veranschaulichung und Besprechung gezeigt oder nicht, um gewisse Aspekte der Ausführungsformen nicht unklar zu machen. Ferner können Anordnungen in Blockdiagrammform gezeigt sein, um zu vermeiden, dass Ausführungsformen unklar gemacht werden, und auch angesichts der Tatsache, dass Einzelheiten mit Bezug auf eine Implementierung derartiger Blockdiagrammanordnungen in hohem Maße von der Plattform abhängen, innerhalb der die Ausführungsform implementiert werden soll, d. h., derartige Einzelheiten sollten wohl im Zuständigkeitsbereich eines Fachmanns liegen. Wenn spezielle Einzelheiten (z. B. Schaltkreise) dargelegt sind, um Ausführungsbeispiele zu beschreiben, sollte es einem Fachmann ersichtlich sein, dass Ausführungsformen ohne diese speziellen Einzelheiten oder mit einer Variation davon praktiziert werden können. Die Beschreibung ist somit als veranschaulichend anstatt beschränkend aufzufassen.
-
Der Ausdruck „gekoppelt“ kann hier verwendet werden, um sich auf einem beliebigen Typ von Beziehung, direkt oder indirekt, zwischen den fraglichen Komponenten zu beziehen, und kann für elektrische, mechanische, fluide, optische, elektromagnetische, elektromechanische oder andere Verbindungen anwendbar sein. Zusätzlich dazu werden die Ausdrücke „erster“, „zweiter“ usw. hier möglicherweise nur zur Erleichterung der Erörterung verwendet und tragen keine besondere zeitliche oder chronologische Bedeutung, sofern nicht anders angegeben.
-
Wie in dieser Anmeldung und den Ansprüchen verwendet, kann eine Liste von Gegenständen, die durch den Ausdruck „eines oder mehrere von“ verbunden sind, eine beliebige Kombination der aufgelisteten Begriffe bedeuten. Zum Beispiel können die Phrase „eines oder mehrere von A, B und C“ und die Phrase„eines oder mehrere von A, B oder C“ beide A; B; C; A und B; A und C; B und C oder A, B und C bedeuten.
-
Fachleute auf dem Gebiet werden aus der vorstehenden Beschreibung erkennen, dass die umfassenden Techniken der Ausführungsformen in einer Vielzahl von Formen implementiert werden können. Obwohl die Ausführungsformen in Verbindung mit speziellen Beispielen dafür beschrieben worden sind, sollte daher der wahre Schutzumfang der Ausführungsformen nicht auf diese beschränkt sein, da andere Modifikationen für den Fachmann bei Studie der Zeichnungen, der Beschreibung und der folgenden Ansprüche offensichtlich werden.