[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE102016223341A1 - Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen - Google Patents

Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen Download PDF

Info

Publication number
DE102016223341A1
DE102016223341A1 DE102016223341.6A DE102016223341A DE102016223341A1 DE 102016223341 A1 DE102016223341 A1 DE 102016223341A1 DE 102016223341 A DE102016223341 A DE 102016223341A DE 102016223341 A1 DE102016223341 A1 DE 102016223341A1
Authority
DE
Germany
Prior art keywords
data
integrated circuit
unit
hardware check
hardware
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
DE102016223341.6A
Other languages
English (en)
Inventor
Simon Hufnagel
Jens Gladigau
Sebastian Bolk
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016223341.6A priority Critical patent/DE102016223341A1/de
Priority to CN201711181664.2A priority patent/CN108108262B/zh
Publication of DE102016223341A1 publication Critical patent/DE102016223341A1/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die Erfindung betrifft eine integrierte Schaltung (101, 101') mit einer Prozessoreinheit (110), einer Hardwareprüfeinheit (120) und einer Datenquelle (140, 130), wobei die Prozessoreinheit im Zuge einer Vielzahl von Speicherzugriffen jeweils auf Daten aus der Datenquelle (140, 130) zugreift, wobei die Hardwareprüfeinheit (120) dazu eingerichtet ist, die Daten von ausgewählten Speicherzugriffen der Vielzahl von Speicherzugriffen zu überprüfen

Description

  • Die vorliegende Erfindung betrifft eine integrierte Schaltung und ein Steuergerät mit einer solchen integrierten Schaltung.
  • Stand der Technik
  • Ein System-on-a-Chip (Ein-Chip-System, SoC) ist eine integrierte Schaltung (IC), bei der eine Vielzahl von Funktionen eines entsprechenden Systems auf einem einzigen Chip (Die) integriert ist. Derartige SoCs können eine Prozessoreinheit (Prozessor Systemteil, PS) umfassen. Eine derartige Prozessoreinheit kann einen zweckmäßigen Prozessor bzw. Prozessorkern oder einen Multicore-Prozessor umfassen. Multicore-Prozessoren umfassen mehrere (wenigstens zwei) Prozessorkerne. Ein Prozessorkern umfasst zumeist eine arithmetischlogische Einheit (ALU), welche das eigentliche elektronische Rechenwerk zur Ausführung von Tasks, Programmen, Rechenbefehlen, etc. darstellt, und weiterhin einen lokalen Speicher. Es kann sich als zweckmäßig erweisen, ein derartiges SoC in ein Steuergerät zu integrieren, insbesondere in ein Steuergerät eines (Kraft-)Fahrzeugs, z.B. ein Motorsteuergerät.
  • Aufgrund von Sicherheitsbestimmungen, insbesondere im Kraftfahrzeugbereich, kann oftmals gefordert werden, Daten einer Überprüfung zu unterziehen. Diese Überprüfung kann beispielsweise mittels sog. Prüfsummen erfolgen. Eine derartige Prüfsumme ist ein Wert, der aus den jeweiligen Daten berechnet werden kann. Eine aktuell berechnete Prüfsumme kann dabei mit einer zu einem früheren Zeitpunkt berechneten Vergleichsprüfsumme verglichen werden.
  • Weichen diese beiden Werte voneinander ab, obwohl die Daten nicht absichtlich verändert wurden, etwa durch ein Programm, liegt ein Fehler bei den gespeicherten Daten vor.
  • In der US 7 533 322 B2 wird beispielsweise ein Verfahren offenbart, um eine Datenintegrität eines Teilsystems eines Speicherraums in einem fahrzeugbasierten Steuersystem zu verifizieren. Dabei werden eine Teilsystemprüfsumme und eine globale Prüfsumme berechnet. Die Teilsystemprüfsumme wird auf Daten basierend berechnet, die sich in einem Abschnitt des Speicherraums befinden. Die globale Prüfsumme wird basierend auf Daten berechnet, die zu dem gesamten Speicherraum gehören. Wenn die globale Prüfsumme mit einem erwarteten Wert übereinstimmt, wird die Teilsystemprüfsumme als eine erwartete Teilsystemprüfsumme gespeichert. Zum Verifizieren der Datenintegrität wird eine zweite Teilsystemprüfsumme basierend auf den Daten in dem Abschnitt des Speicherraums berechnet und mit der erwarteten Teilsystemprüfsumme verglichen.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden eine integrierte Schaltung und ein Steuergerät mit einer solchen integrierten Schaltung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die Erfindung bedient sich der Maßnahme, eine integrierte Schaltung aufweisend eine Prozessoreinheit und eine Datenquelle, wobei die Prozessoreinheit im Zuge einer Vielzahl von Speicherzugriffen jeweils auf Daten aus der Datenquelle zugreift, mit einer (zusätzlichen, von der Prozessoreinheit unterschiedlichen) Hardwareprüfeinheit auszustatten, welche dazu eingerichtet ist, Daten von ausgewählten Speicherzugriffen der Vielzahl von Speicherzugriffen zu überprüfen. Die Auswahl kann beispielsweise anhand von Speicheradressen geschehen. Die Hardwareprüfeinheit ist vorzugsweise hardwareseitig eingerichtet. Eine Programmierbarkeit, etwa Änderung des Prüfsummenalgorithmus, ist nicht notwendigerweise vorgesehen. Die zu prüfenden Adressen sind allerdings zur Laufzeit konfigurierbar.
  • Die Erfindung stellt somit die Möglichkeit einer (insbesondere adressbereichs-) selektiven hardware-basierten Datenprüfung bereit. Insbesondere wird es ermöglicht, mit speziell für die Datenüberprüfung vorgesehener Hardware gezielt und selektiv nur bestimmte Daten zu überprüfen. Zweckmäßigerweise werden nur diejenigen Daten überprüft, die besonderen Sicherheitsanforderungen unterliegen. Beispielsweise können die zu überprüfenden Daten durch eine Start- und Ziel-Adresse angegeben werden. Somit überprüft die Hardwareprüfeinheit lediglich ausgewählte Daten, wodurch die Überprüfung mit geringen Laufzeitkosten und geringem Aufwand durchgeführt werden kann. Insbesondere kann ein Bedarf der Hardwareprüfeinheit an Strom, Rechenkapazität, Speicherplatz für Vergleichsprüfsummen und Speicherbandbreite möglichst gering gehalten werden.
  • Es ist somit nicht notwendig, eine software-basierte Datenüberprüfung durch die Prozessoreinheit selbst durchzuführen, für welche Rechenkapazität der Prozessoreinheit verwendet wird und nicht zum Durchführen der regulären Prozesse der Prozessoreinheit zur Verfügung steht. Durch die Datenüberprüfung mit Hilfe der Hardwareprüfeinheit wird keine Rechenkapazität der Prozessoreinheit für die Datenüberprüfung benötigt.
  • Die Erfindung stellt somit eine neuartige Möglichkeit bereit, um hardwareimplementiert ausgewählte Daten zu überprüfen. Auf herkömmliche Weise kann hardwareimplementiert zumeist nur ein Gesamtsystem überprüft werden, insbesondere nur alle Daten aus einer Datenquelle. Weiterhin ist die Hardwareprüfeinheit in der Lage, sowohl konstante als auch veränderliche Daten zu überprüfen.
  • Die Auswahl der zu überprüfenden Daten bzw. der Speicherzugriffe erfolgt zweckmäßigerweise nach Maßgabe eines Auswahlkriteriums. Dieses kann, wie erläutert, eine Speicheradresse, alternativ oder zusätzlich auch eine Bus-Master-Identifikation und/oder eine Thread-Identifikation und/oder eine Software-Identifikation umfassen. Somit können z.B. in einem System mit einem Hypervisor spezielle Prozesse, Threads, Software usw. vorgeben sein, deren Daten die Hardwareprüfeinheit zu überprüfen hat. Beispielsweise können somit Gast-Systeme oder Programme aus nicht autorisierten Quellen explizit überprüft werden.
  • Weiterhin ist die Auswahl der zu überprüfenden Daten zur Laufzeit des Systems änderbar, eine Speicheradresse, alternativ oder zusätzlich auch eine Bus-Master-Identifikation und/oder eine Thread-Identifikation und/oder eine Software-Identifikation können also zur Laufzeit geändert werden, etwa durch eine dafür eingerichtete Prozessoreinheit.
  • Vorteilhafterweise wird somit von der Hardwareprüfeinheit nicht bei jedem Speicherzugriff eine Überprüfung durchgeführt, sondern nur bei Speicherzugriffen auf die ausgewählten Daten, wie z.B. solche, die gemäß vorgegebenen Sicherheitsrichtlinien abgesichert werden sollen (sicherheitskritische Daten). Bei einem Speicherzugriff auf sicherheitsunkritische Daten wird zweckmäßigerweise keine Überprüfung durch die Hardwareprüfeinheit durchgeführt. Beispielsweise eignet sich die Erfindung somit besonders für sog. gemischt kritische Systeme, in welchen manche der von der Prozessoreinheit benötigten Daten sicherheitskritisch und andere Daten wiederum sicherheitsunkritisch sind.
  • Beispielsweise kann die integrierte Schaltung für die Steuerung einer Maschine, Anlage oder ähnlichem verwendet werden und in Abhängigkeit von derartigen sicherheitskritischen Daten können sicherheitskritische Funktionen durchgeführt werden, welche insbesondere zum Gewährleisten der Sicherheit von Benutzern der Maschine oder anderen beteiligten Personen dienen. Durch die Erfindung wird somit auf aufwandsarme Weise eine funktionale Sicherheit der entsprechenden Maschine bzw. Anlage gewährleistet.
  • Besonders vorteilhaft ist die integrierte Schaltung in ein Steuergerät integriert, insbesondere in ein Steuergerät eines (Kraft-)Fahrzeugs, z.B. ein Motorsteuergerät. In Abhängigkeit von den Daten, welche von der Hardwareprüfeinheit überprüft werden, führt die integrierte Schaltung bzw. das Steuergerät insbesondere sicherheitskritische Funktionen des Fahrzeugs aus, welche den Sicherheitsrichtlinien gemäß der ISO 26262 unterliegen, insbesondere gemäß dem sog. Automotive Safety Integrity Level (ASIL), eine von der ISO 26262 spezifizierte Sicherheitsanforderungsstufe für sicherheitsrelevante Systeme in Kraftfahrzeugen.
  • Zweckmäßigerweise kann die integrierte Schaltung dabei als gemischt kritisches System ausgebildet sein, welches sowohl sicherheitsrelevante Funktionen ausführt, welche die ASIL Anforderungen erfüllen sollen, als auch sicherheitsunkritische Funktionen, z.B. Komfortfunktionen. Daten, basierend auf welchen derartige sicherheitsunkritische Funktionen durchgeführt werden, werden insbesondere nicht von der Hardwareprüfeinheit überprüft.
  • Somit kann bei jedem Speicherzugriff auf sicherheitskritische Daten eine Integrität der Daten verifiziert und eine Sicherheit („safety“) der integrierten Schaltung mit möglichst geringem Aufwand gewährleistet werden, da bei jedem Zugriff nur die einzelnen benötigten Daten überprüft werden. Durch eine derartige Überprüfung sicherheitskritischer Daten synchron zu jedem Speicherzugriff kann eine höhere Sicherheit gewährleistet werden als in Systemen, in welchen beispielsweise nur zu bestimmten Zeitpunkten oder nur in vorgegebenen Zeitintervallen die gesamte Speichereinheit auf Fehler überprüft wird.
  • Zweckmäßigerweise umfasst die Prüfung, eine Prüfsumme der Daten zu berechnen und mit einer hinterlegten Vergleichsprüfsumme zu vergleichen. Dabei kann die Vergleichsprüfsumme in einer lokalen Speichereinheit der Hardwareprüfeinheit hinterlegt sein, beispielsweise einem ROM-, RAM-, Flash- und/oder EEPROM-Speicher. Damit ist eine schnelle Prüfung möglich. Die Hardwareprüfeinheit kann aber auch dazu eingerichtet sein, die Vergleichsprüfsumme aus einem beliebigen Speicher, insbesondere einer internen und/oder externen Speichereinheit der integrierten Schaltung, zu lesen. Dies kann zwar den Abschluss der Überprüfung verzögern, erlaubt aber die Verwendungen beliebig großer Speicherbereiche für Vergleichsprüfsummen. In beiden Alternativen kann die Hardwareprüfeinheit zur Beschleunigung des Lesevorgangs auch über einen Prüfsummen-Cache verfügen, der mit ähnlichen Strategien wie ein Daten- oder Code-Cache gefüllt wird.
  • Durch den Vergleich der berechneten Prüfsumme mit der Vergleichsprüfsumme kann insbesondere eine Veränderung der Daten aufgrund von permanenten oder sporadischen Fehlern der Hardware erkannt werden. Somit kann eine Absicherung bzw. Verifizierung der Daten durchgeführt werden und es kann gewährleistet werden, dass die Prozessoreinheit Funktionen nicht in Abhängigkeit von fehlerhaften Daten durchführt.
  • Bevorzugt wird die Vergleichsprüfsumme bei der Applikation der integrierten Schaltung hinterlegt, insbesondere als Teil der Programmierung. Es ist auch denkbar, dass bei Inbetriebnahme der integrierten Schaltung noch keine Vergleichsprüfsummen hinterlegt sind und diese erst im Zuge des regulären Betriebs der integrierten Schaltung erstellt werden. Vorteilhafterweise wird zu diesem Zweck die Vergleichsprüfsumme im laufenden Betrieb der integrierten Schaltung bei erstmaligem Zugriff auf die Daten von der Hardwareprüfeinheit berechnet und hinterlegt. Mit dem gleichen Prinzip, d.h. Berechnen und Hinterlegen der Prüfsumme zur Laufzeit, können auch veränderliche Daten abgesichert werden.
  • Insbesondere können auch bestimmte Fehlermodelle abgedeckt werden, beispielsweise wenn die Vergleichsprüfsumme während des regulären SoC-Betriebs nach einem Speichertest der Speichereinheit erstellt und hinterlegt wird. Auf diese Weise können z.B. permanente Fehler der Speichereinheit erkannt werden. Zusammen mit anderen Maßnahmen, wie periodisches oder zyklisches Lesen von Daten, erlaubt diese Arbeitsweise die Abdeckung bestimmter Fehlermodelle. So ist z.B. ein Erkennen sporadischer Fehler auf diese Weise möglich; erfolgt die Berechnung von Prüfsummen innerhalb einer definierten Zeit nach einem Speichertest, können die Prüfsummen auch zur Erkennung von permanenten Fehlern dienen.
  • Vorzugsweise wird als Prüfsumme eine CRC-Prüfsumme (zyklische Redundanzprüfung, englisch cyclic redundancy check) berechnet. Eine CRC-Prüfsumme basiert auf einer Polynomdivision und liefert insbesondere eine hohe Fehlererkennung. Insbesondere besitzt eine CRC-Prüfsumme die Eigenschaft, dass bei kürzeren Daten eine höhere Erkennbarkeit von Fehlern vorhanden ist. Hierbei spricht man vom sog. Hammingabstand, dies ist die Mindestanzahl an Bits, in denen sich zwei Datenfelder (incl. CRC) unterscheiden und somit auch die Anzahl an beliebig verteilten Fehlern, die nicht mehr in jedem Falle erkannt werden können. Beispielsweise wird durch eine CRC-Prüfsumme nach IEC 802.3 (CRC32) bei großen Datenmengen eine Diagnosedeckung von ca. 99,99999998 % erreicht.
  • Vorzugsweise kann auch eine Additionsprüfsumme als Prüfsumme berechnet werden. Unter Additionsprüfsummen versteht man Prüfsummen, die durch die einfache Addition der Daten entstehen. Mittels Additionsprüfsummen wird jeder Ein-Bit-Fehler erkannt. Zwei-Bit-Fehler werden nicht mehr sicher erkannt. Allgemein wird eine beliebige Datenverfälschung der Daten bei M Prüfsummenbits mit einer Wahrscheinlichkeit von 1-1/2M erkannt. Will man beispielsweise eine Diagnosedeckung von 99% erreichen, reicht dafür eine 7 Bit Additionsprüfsumme.
  • Vorzugsweise erfolgt die Überprüfung der Daten von ausgewählten Speicherzugriffen blockweise, d.h. die Daten werden in einzelne zu überprüfende Blöcke aufgeteilt. Jeder Block kann einem Prüfsummenvergleich unterzogen werden. Vorzugsweise entspricht eine Blockgröße einer Größe eines Speicherzeilen-Caches der Prozessoreinheit. Übliche Speicherzugriffe finden nämlich derart statt, dass die Daten aus dem Cache der Prozessoreinheit gelesen werden und, wenn sie sich dort noch nicht befinden, zuvor dorthin kopiert werden. Eine Cache-Zeile (sog. Cache-Line) ist dabei die kleinste Verwaltungseinheit innerhalb des Caches. Es handelt sich dabei um eine Kopie eines Speicherbereichs. Die Zugriffe vom Cache-Speicher zur CPU oder zum Hauptspeicher erfolgen somit in einem einzigen, blockweisen Transfer. Vorteilhafterweise ist die Hardwareprüfeinheit in einen Zugriffspfad bzw. Speicherzugriffspfad zwischen die Prozessoreinheit und die Speichereinheit geschaltet. Ein Datenaustausch zwischen Speicher- und Prozessoreinheit erfolgt dabei ausschließlich über die Hardwareprüfeinheit. In diesem Fall kann die Hardwareprüfeinheit auch besonders einfach dazu eingerichtet werden, die Daten erst nach erfolgreicher Überprüfung an die Prozessoreinheit weiterzuleiten, beispielsweise indem sie die Daten in einen Datencache der Prozessoreinheit kopiert. Damit kann eine vollständige Datenüberprüfung vor deren Nutzung gewährleistet werden. Zur Beschleunigung der Verarbeitung kann die Hardwareprüfeinheit alternativ auch dazu eingerichtet sein, die Daten bereits vor Abschluss der Überprüfung an die Prozessoreinheit weiterzuleiten. Vorzugsweise ist die Hardwareprüfeinheit dann jedoch dazu eingerichtet, bei einem Datenfehler die Prozessoreinheit in einen gültigen Zustand zurückzusetzen (z.B. mittels Interrupt oder Reset).
  • Es ist alternativ auch denkbar, die Hardwareprüfeinheit nicht in den Zugriffspfad zu schalten, sondern nur datenübertragend mit einem Datennetzwerk, wie einem schaltungsinternen Bus oder einer Crossbar, der integrierten Schaltung zu verbinden. (Es sei an dieser Stelle der Vollständigkeit darauf hingewiesen, dass die Hardwareprüfeinheit auch im Zugriffspfad mit dem Datennetzwerk verbunden sein dürfte).
  • Dies vereinfacht die Implementierung, da die grundsätzliche Kommunikation zwischen Prozessoreinheit und Datenquelle nicht verändert werden muss. Da in diesem Fall allerdings die Daten bereits vor Abschluss der Überprüfung an die Prozessoreinheit gelangen, ist die Hardwareprüfeinheit vorzugsweise dazu eingerichtet, bei einem Datenfehler die Prozessoreinheit in einen gültigen Zustand zurückzusetzen (z.B. mittels Interrupt oder Reset).
  • Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines (Kraft-) Fahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
  • Figurenliste
    • 1 zeigt schematisch bevorzugte Ausgestaltungen einer erfindungsgemäßen integrierten Schaltung, die jeweils dazu eingerichtet sind, eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen.
    • 2 zeigt schematisch einen bevorzugten Ablauf eines von einer integrierten Schaltung ausgeführten Verfahrens.
    • 3 zeigt schematisch einen bevorzugten Ablauf eines von einer anderen integrierten Schaltung ausgeführten Verfahrens.
  • Ausführungsform(en) der Erfindung
  • In den 1a und 1b ist jeweils ein Steuergerät, z.B. eines Kraftfahrzeugs, beispielsweise ein Motorsteuergerät, schematisch dargestellt und mit 100 bzw. 100' bezeichnet. Identische Bezugszeichen in den 1a und 1b bezeichnen gleiche oder baugleiche Elemente.
  • Das Steuergerät 100 bzw. 100' weist eine bevorzugte Ausgestaltung einer erfindungsgemäßen integrierten Schaltung 101 bzw. 101' auf. Die integrierte Schaltung 101 bzw. 101' weist eine Prozessoreinheit 110 auf, welche als Prozessorkern oder auch als Multicore-Prozessor ausgebildet sein kann. Die Prozessoreinheit 110 ist dazu eingerichtet, Funktionalitäten, Datenverarbeitung, Prozesse bzw. Rechenoperationen softwareimplementiert, d.h. durch Ausführung von Software, auszuführen.
  • Weiterhin weist die integrierte Schaltung 101 bzw. 101' ein Bussystem 130 auf, an welches eine interne, lokale Speichereinheit 140 der integrierten Schaltung 101 bzw. 101' angebunden ist, z.B. ein Flash-Speicher. Weiterhin kann an das Bussystem 130 auch eine externe Speichereinheit 150 angebunden sein, z.B. eine globaler Flash-Speicher des Steuergeräts 100 bzw. 100'.
  • Die Prozessoreinheit 110 ist zum Ausführen von Prozessen ausgebildet, insbesondere in Abhängigkeit von Daten, welche in den Speichereinheiten 140 oder 150 hinterlegt sind. Die Prozessoreinheit 110 kann daher durch Speicherzugriffe über das Bussystem 130 auf Daten in den Speichereinheiten 140 und 150 zugreifen. In diesem Fall sind das Bussystem (und die Speichereinheit 140) Datenquellen für die Prozessoreinheit 110.
  • Um zu gewährleisten, dass die Prozessoreinheit keine fehlerhaften Daten zum Durchführen der Prozesse verwendet, ist eine Hardwareprüfeinheit 120 vorgesehen. Die Hardwareprüfeinheit 120 überprüft vorzugsweise bei jedem Zugriff auf sicherheitskritischen Daten, ob diese Daten fehlerhaft sind.
  • Wie in 1a dargestellt ist, ist die Hardwareprüfeinheit 120 in den entsprechenden Speicherzugriffspfad der Prozessoreinheit 110 integriert und direkt mit der Prozessoreinheit 110 und dem Bussystem 130 verbunden. Weiterhin ist ein lokaler Speicher 121 dieser Hardwareprüfeinheit 120 vorgesehen.
  • Es ist auch denkbar, dass die Hardwareprüfeinheit 120 nicht in den Speicherzugriffspfad integriert ist, sondern beispielsweise parallel mit dem Bussystem 130 verbunden ist, wie es in 1b dargestellt ist.
  • Die integrierte Schaltung 101 bzw. 101' ist jeweils gemäß einer bevorzugten Ausführungsform der Erfindung eingerichtet, wie anhand der 2 und 3 erläutert wird.
  • Zunächst erfolgt dabei eine Konfigurierung bzw. Programmierung 210 der Hardwareprüfeinheit 120. Dabei wird in Schritt 211 für bestimmte Daten, welche z.B. in der Speichereinheit 140 hinterlegt sind, von der Hardwareprüfeinheit 120 eine Vergleichsprüfsumme berechnet. In Schritt 212 wird diese Vergleichsprüfsumme in dem lokalen Speicher 121 der Hardwareprüfeinheit hinterlegt.
  • Beispielsweise können die Schritte 211 und 212 während eines Entwicklungsprozess des Steuergeräts 100 bzw. 100' durchgeführt werden, wenn dieses an das Kraftfahrzeug adaptiert wird. Alternativ ist es auch denkbar, dass sich das Kraftfahrzeug mitsamt eingebautem Steuergerät bereits im Feld befindet und dass die Schritte 211 und 212 während des regulären Betriebs des Steuergeräts 100 bzw. 100' durchgeführt werden, wenn von der Prozessoreinheit 110 zum ersten Mal auf die jeweiligen Daten zugegriffen wird.
  • Es ist auch möglich, dass, ohne Beteiligung der Hardwareprüfeinheit 120, die Vergleichsprüfsummen für bestimmte Daten, welche z.B. in der Speichereinheit 140 später hinterlegt werden, in einer Entwicklungsumgebung für Steuergeräte berechnet werden und als Teil der Programmierung in dem Steuergerät 100 bzw. 100' hinterlegt werden.
  • Mit dieser hinterlegten Vergleichsprüfsumme kann im regulären Betrieb des Kraftfahrzeugs eine Datenüberprüfung 220 durchgeführt werden. In einem Schritt 221 werden die jeweiligen Daten von der Prozessoreinheit 110 aus der Speichereinheit 140 angefordert.
  • In Schritt 222 werden die Daten daraufhin zunächst von der Hardwareprüfeinheit 120 eingelesen, zweckmäßigerweise als einzelne Cache-Zeilen. In Schritt 223 berechnet die Hardwareprüfeinheit 120 eine aktuelle Prüfsumme der Daten. Die Hardwareprüfeinheit 120 kann somit die Daten einzelner Cache-Zeilen auf Integrität prüfen.
  • In Schritt 224 vergleicht die Hardwareprüfeinheit 120 diese aktuelle Prüfsumme mit der in Schritt 212 hinterlegten Vergleichsprüfsumme. Bei Übereinstimmung leitet die Hardwareprüfeinheit 120 die Daten in Schritt 225 an die Prozessoreinheit 110 weiter, z.B. indem sie die Daten in einen Cache-Speicher der Prozessoreinheit 110 kopiert.
  • Stimmen die beiden Summen jedoch nicht überein, deutet dies auf einen Fehler der Daten hin. In diesem Fall leitet die Hardwareprüfeinheit 120 gemäß Schritt 226 die Daten nicht weiter, sondern sendet z.B. einen Interrupt aus, z.B. an die Prozessoreinheit 110, damit diese beispielsweise eine Fehlerdiagnose der Speichereinheit 140 durchführt.
  • In 3 ist ein alternativer Ablauf schematisch als ein Blockdiagramm dargestellt. Analog zu den Schritten 211 und 212 gemäß 2 wird zunächst eine Konfigurierung bzw. Programmierung 310 der Hardwareprüfeinheit 120 durchgeführt, indem die Vergleichsprüfsumme in Schritt 311 berechnet und in Schritt 312 in dem lokalen Speicher 121 hinterlegt wird.
  • Im regulären Betrieb des Kraftfahrzeugs wird eine Datenüberprüfung 320 durchgeführt. Dabei werden in Schritt 321 analog zu Schritt 221 die Daten von der Prozessoreinheit 110 angefordert.
  • In Schritt 322 leitet die Hardwareprüfeinheit 120 die Daten direkt an die Prozessoreinheit 110 weiter. Gleichzeitig mit diesem Weiterleiten beginnt die Hardwareprüfeinheit 120 in Schritt 323, die aktuelle Prüfsumme der Daten zu berechnen. In Schritt 324 vergleicht die Hardwareprüfeinheit 120 diese aktuelle Prüfsumme mit der hinterlegten Vergleichsprüfsumme. Bei Übereinstimmung dieser beiden Werte führt die Hardwareprüfeinheit 120 gemäß Schritt 325 keine weiteren Aktionen durch.
  • Stimmen die beiden Summen jedoch nicht überein, sendet die Hardwareprüfeinheit 120 in Schritt 326 einen Interrupt an die Prozessoreinheit 110 aus, um diese in Schritt 327 in einen gültigen Zustand zurückzusetzen und z.B. anschließend eine Fehlerdiagnose der Speichereinheit 140 durchzuführen.
  • 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
    • US 7533322 B2 [0005]

Claims (13)

  1. Integrierte Schaltung (101, 101') mit einer Prozessoreinheit (110), einer Hardwareprüfeinheit (120) und einer Datenquelle (140, 130), wobei die Prozessoreinheit im Zuge einer Vielzahl von Speicherzugriffen jeweils auf Daten aus der Datenquelle (140, 130) zugreift, wobei die Hardwareprüfeinheit (120) dazu eingerichtet ist, die Daten von ausgewählten Speicherzugriffen der Vielzahl von Speicherzugriffen zu überprüfen.
  2. Integrierte Schaltung (101, 101') nach Anspruch 1, wobei die Hardwareprüfeinheit (120) dazu eingerichtet ist, die ausgewählten Speicherzugriffe nach Maßgabe eines Auswahlkriteriums auszuwählen.
  3. Integrierte Schaltung (101, 101') nach Anspruch 2, wobei das Auswahlkriterium eine Speicheradresse und/oder eine Bus-Master-Identifikation und/oder eine Thread- Identifikation und/oder eine Software-Identifikation umfasst.
  4. Integrierte Schaltung (101, 101') nach einem der vorstehenden Ansprüche, wobei das Überprüfen umfasst, eine Prüfsumme der Daten zu berechnen (223, 323) und mit einer hinterlegten Vergleichsprüfsumme zu vergleichen.
  5. Integrierte Schaltung (101, 101') nach Anspruch 4, wobei die Vergleichsprüfsumme in einer lokalen Speichereinheit (121) der Hardwareprüfeinheit (120) hinterlegt ist.
  6. Integrierte Schaltung (101, 101') nach Anspruch 4 oder 5, wobei die Hardwareprüfeinheit (120) dazu eingerichtet ist, die Vergleichsprüfsumme bei erstmaligem Zugriff auf die Daten zu berechnen und zu hinterlegen (211, 212, 311, 312).
  7. Integrierte Schaltung (101, 101') nach einem der vorstehenden Ansprüche, wobei die Hardwareprüfeinheit (120) dazu eingerichtet ist, die Daten von ausgewählten Speicherzugriffen blockweise zu überprüfen.
  8. Integrierte Schaltung (101, 101') nach Anspruch 7, wobei eine Blockgröße einer Größe eines Zeilen-Caches der Prozessoreinheit (110) entspricht.
  9. Integrierte Schaltung (101, 101') nach einem der vorstehenden Ansprüche, wobei die Datenquelle (140, 130) eine interne Speichereinrichtung (140) der integrierten Schaltung (101, 101') und/oder eine Schnittstelle (130) zu einer externen Speichereinrichtung (150) umfasst.
  10. Integrierte Schaltung (101, 101') nach einem der vorstehenden Ansprüche, wobei die Hardwareprüfeinheit (120) in einen Zugriffspfad zwischen der Prozessoreinheit (110) und der Speichereinheit (140, 150) geschaltet ist, und/oder wobei die Hardwareprüfeinheit (120) datenübertragend mit einem Datennetzwerk (130) der Integrierte Schaltung verbunden ist.
  11. Integrierte Schaltung (101, 101') nach einem der vorstehenden Ansprüche, wobei die Hardwareprüfeinheit (120) dazu eingerichtet ist, die Daten erst nach erfolgreicher Überprüfung an die Prozessoreinheit (110) weiterzuleiten, oder die Daten bereits vor Abschluss der Überprüfung an die Prozessoreinheit (110) weiterzuleiten.
  12. Integrierte Schaltung (101, 101') nach einem der vorstehenden Ansprüche, wobei die Hardwareprüfeinheit (120) dazu eingerichtet ist, bei einem Datenfehler die Prozessoreinheit (110) in einen gültigen Zustand zurückzusetzen.
  13. Steuergerät (100, 100'), insbesondere eines Kraftfahrzeugs, mit einer integrierten Schaltung (101, 101') nach einem der vorstehenden Ansprüche
DE102016223341.6A 2016-11-24 2016-11-24 Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen Pending DE102016223341A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102016223341.6A DE102016223341A1 (de) 2016-11-24 2016-11-24 Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen
CN201711181664.2A CN108108262B (zh) 2016-11-24 2017-11-23 具有检查所选择的存储器访问的硬件检查单元的集成电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016223341.6A DE102016223341A1 (de) 2016-11-24 2016-11-24 Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen

Publications (1)

Publication Number Publication Date
DE102016223341A1 true DE102016223341A1 (de) 2018-05-24

Family

ID=62068598

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016223341.6A Pending DE102016223341A1 (de) 2016-11-24 2016-11-24 Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen

Country Status (2)

Country Link
CN (1) CN108108262B (de)
DE (1) DE102016223341A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018112584A1 (de) * 2018-05-25 2019-11-28 Valeo Schalter Und Sensoren Gmbh Konfigurierbare Sensorvorrichtung und Verfahren zur Überwachung ihrer Konfiguration
DE102019202862B4 (de) 2019-03-04 2022-08-04 Audi Ag Vorrichtung zur Bereitstellung von Bilddaten
DE102021203329A1 (de) 2021-04-01 2022-10-06 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Verwalten von Kommunikation über Schnittstellen in einem virtualisierten System
DE102022116869A1 (de) 2022-07-06 2024-01-11 Infineon Technologies Ag Verfahren zum ausführen eines programms auf einer datenverarbeitungsvorrichtung

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533322B2 (en) 2005-11-03 2009-05-12 Gm Global Technology Operations, Inc. Method and system for performing function-specific memory checks within a vehicle-based control system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10305008A1 (de) * 2003-02-07 2004-08-19 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung einer elektronischen Steuerung
JP4918824B2 (ja) * 2006-08-18 2012-04-18 富士通株式会社 メモリコントローラおよびメモリ制御方法
CN101441453B (zh) * 2008-12-22 2010-12-22 奇瑞汽车股份有限公司 一种用于混合动力汽车整车控制软件的实时校验方法
JP5038549B2 (ja) * 2010-03-11 2012-10-03 三菱電機株式会社 メモリ診断方法、メモリ診断装置およびメモリ診断プログラム
EP2461251B1 (de) * 2010-12-03 2017-06-21 Robert Bosch GmbH Speicherschutzeinheit und Verfahren zur Steuerung eines Zugangs zu einer Speichervorrichtung
CN102722421A (zh) * 2010-12-17 2012-10-10 奇瑞汽车股份有限公司 车用控制器非易失存储器内容的校验方法
DE102012010558A1 (de) * 2012-05-29 2013-12-05 Robert Bosch Gmbh Hardwarevorrichtung für ein system,system und speicherzugriffsverfahren
US8990640B2 (en) * 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on request type
US9092353B1 (en) * 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
DE102013224702A1 (de) * 2013-12-03 2015-06-03 Robert Bosch Gmbh Steuergerät für ein Kraftfahrzeug
CN104978534A (zh) * 2014-04-11 2015-10-14 大陆汽车车身电子系统(芜湖)有限公司 用于防止篡改车辆里程的方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533322B2 (en) 2005-11-03 2009-05-12 Gm Global Technology Operations, Inc. Method and system for performing function-specific memory checks within a vehicle-based control system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018112584A1 (de) * 2018-05-25 2019-11-28 Valeo Schalter Und Sensoren Gmbh Konfigurierbare Sensorvorrichtung und Verfahren zur Überwachung ihrer Konfiguration
DE102019202862B4 (de) 2019-03-04 2022-08-04 Audi Ag Vorrichtung zur Bereitstellung von Bilddaten
US12128915B2 (en) 2019-03-04 2024-10-29 Audi Ag Device for providing image data
DE102021203329A1 (de) 2021-04-01 2022-10-06 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Verwalten von Kommunikation über Schnittstellen in einem virtualisierten System
DE102022116869A1 (de) 2022-07-06 2024-01-11 Infineon Technologies Ag Verfahren zum ausführen eines programms auf einer datenverarbeitungsvorrichtung

Also Published As

Publication number Publication date
CN108108262A (zh) 2018-06-01
CN108108262B (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
DE102013211077B4 (de) Verfahren zum Testen eines Speichers und Speichersystem
DE102011108933B4 (de) Sichere Speicherung durch interne Betriebssicherstellung
DE102010037457B4 (de) Verfahren zur Datenverarbeitung zum Bereitstellen eines Wertes zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, Verfahren zum Erzeugen von Programm-Code, Datenverarbeitungsanordnungen zum Bereitstellen eines Wertes zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, Datenverarbeitungsanordnungen zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code
DE112012005320T5 (de) Multicore-Prozessor mit intern integriertem entscheidungsbasierten Selbsttest
DE102016223341A1 (de) Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen
DE102018124628A1 (de) System, Gerät und Verfahren zum funktionellen Testen eines oder mehrerer Gefüge eines Prozessors
DE102014112865A1 (de) Elektronische Schaltung und Verfahren zum Überwachen einer Datenverarbeitung
DE102015210651B4 (de) Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit
DE102014117971B4 (de) Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code
DE102006005817A1 (de) Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE102013225131A1 (de) Verfahren zur Fehlerüberprüfung einer hardware-konfigurierbaren Logikschaltung
WO2006108849A1 (de) Verfahren und rechnereinheit zur fehlererkennung und fehlerprotokollierung in einem speicher
DE102011007467A1 (de) Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung
DE112019002630T5 (de) Verringerung der laufzeitlast für eine fahrzeugsystem-datenverschlüsselungunter verwendung einer krypto-engine mit speicherdirektzugriff (dma)
DE102014114157B4 (de) Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code
DE102015202049B3 (de) System und Verfahren zur Fehlerdetektion von ausgeführtem Programmcode unter Verwendung komprimierter Anweisungssignaturen
DE102007040721A1 (de) Datenverarbeitungsanordnung, Verfahren zur Datenverarbeitung, Computerprogrammelement und Überprüfungsanordnung für einen Speicher
DE102022209628A1 (de) Verfahren zum Überprüfen von Daten in einer Recheneinheit
DE102009002898A1 (de) Verfahren zur Aktualisierung eines Steuergeräts eines Fahrzeugs
EP3311273A1 (de) Verfahren und vorrichtung zum absichern einer programmzählerstruktur eines prozessorsystems und zum überwachen der behandlung einer unterbrechungsanfrage
EP3876123B1 (de) Anordnung und betriebsverfahren für einen sicheren hochfahrablauf einer elektronischen einrichtung
DE102018210733A1 (de) Verfahren zum Überwachen wenigstens einer Recheneinheit
AT513533B1 (de) Verfahren zum Überprüfen von Daten mittels wenigstens zweier Prüfsummen
DE102022208087A1 (de) Verfahren zum Überprüfen einer Verarbeitung von Nutzdaten
DE102022205918A1 (de) Verfahren zum Durchführen einer Datenverarbeitung

Legal Events

Date Code Title Description
R012 Request for examination validly filed