PatentDe  


Dokumentenidentifikation DE102006001873A1 19.07.2007
Titel Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionaltität einer Speicherschaltung
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Janke, Marcus, 81541 München, DE;
Laackmann, Peter, 81541 München, DE
Vertreter Schoppe, Zimmermann, Stöckeler & Zinkler, 82049 Pullach
DE-Anmeldedatum 13.01.2006
DE-Aktenzeichen 102006001873
Offenlegungstag 19.07.2007
Veröffentlichungstag im Patentblatt 19.07.2007
IPC-Hauptklasse G06F 12/14(2006.01)A, F, I, 20060113, B, H, DE
IPC-Nebenklasse G06K 19/07(2006.01)A, L, I, 20060113, B, H, DE   
Zusammenfassung Es wird eine Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung (100) beschrieben, wobei die Speicherschaltung (100) eine Speichereinrichtung (300), die ausgebildet ist, um ein Datum zu speichern, und eine Kontrollwerteinrichtung (310), die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, und eine Überwachungseinrichtung (320) aufweist, wobei die Speichereinrichtung (300) ausgebildet ist, um der Kontrollwerteinrichtung (310) das Datum bereitzustellen, wobei die Kontrollwerteinrichtung (310) ausgebildet ist, um das derselben bereitgestellte Datum auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal (FS) auszugeben, wobei die Überwachungseinrichtung (320) mit der Kontrollwerteinrichtung (310) gekoppelt ist und ausgebildet ist, um die Kontrollwerteinrichtung (310), die Speichereinrichtung (300) oder das der Kontrollwerteinrichtung (310) bereitgestellte Datum so zu beeinflussen, dass die Kontrollwerteinrichtung (310) bei einer Überprüfung in dem Fall einer korrekten Ausführung der Fehlererkennungsfunktionalität einen Fehler feststellen würde, und um ein Alarmsignal (AL) auszugeben, wenn die Kontrollwerteinrichtung (310) auf die Beeinflussung hin der Überwachungseinrichtung (320) kein Fehlersignal (FS) ausgibt.

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung, insbesondere im Bereich von Chipkarten oder Smartcards, die beispielsweise in sensiblen Bereichen eingesetzt werden und daher Angriffen ausgesetzt sein können.

In sensiblen, die Sicherheit betreffenden Bereichen werden vielfältige technische Sicherungsmaßnahmen zum Einsatz gebracht. Diese Sicherungsmaßnahmen ermöglichen es beispielsweise, Anwendern auf bestimmte Computersystemen zuzugreifen, berechtigten Personen Zutritt zu bestimmten, für die Öffentlichkeit gesperrten Bereichen zu gewähren, oder auch auf gesicherte Informationen, wie etwa private Schlüssel im Rahmen eines Public-Key-Kryptographie-Verfahrens, Bankdaten oder Kreditkarteninformationen zuzugreifen. Der berechtigte Nutzer, also beispielsweise der berechtigte Anwender eines Computersystems oder auch ein Zutrittsberechtigter zu einem nichtöffentlichen Bereich, erhält häufig eine Chipkarte mit einem Security-Controller, die den Anwender einem Sicherheitssystem gegenüber als autorisiert ausweist. Bei einem Security-Controller handelt es sich um einen Mikrocontroller, der beispielsweise auf einer Chipkarte zur Überwachung von Sicherheitsfunktionen eingesetzt werden kann.

Solche Sicherheitssysteme und Sicherheitsschaltungen, die beispielsweise Chipkarten umfassen, werden schon auf Grund des Wertes der durch sie geschützten Güter, Informationen und Privilegien Angriffen ausgesetzt, welche durch verschiedene Gegenmaßnahmen seitens der Sicherheitsschaltungen abgewehrt werden sollen. Die Funktionalität bzw. die Funktionstüchtigkeit der Gegenmaßnahmen wurden bisher durch sogenannte UmSLC-Module (UmSLC = user mode sensor life control = Überwachung der Sensorfunktionsfähigkeit im Betriebsmodus) geprüft. Neben entsprechenden Versorgungsschaltungen und Auswertungsschaltungen waren die zentralen Komponenten der Gegenmaßnahmen bislang Sensoren, die Angriffe erkennen sollten. Zu den Sensoren zählen so beispielsweise Spannungssensoren, Frequenzsensoren, Temperatursensoren und Lichtsensoren. Um die Funktionalität der Gegenmaßnahmen, also die Funktionalität der verschiedenen Sensoren, ihrer Versorgungsschaltungen und der zugehörigen Auswerteschaltungen zu überprüfen, wurden die Sensoren bzw. ihre zugehörigen Komponenten durch das UmSLC-Modul so verstellt bzw. stimuliert, dass ein Alarm ausgelöst wurde. Der ausgelöste Alarm wurde jedoch nicht als Angriff gewertet, mit anderen Worten wurde dieser Alarm nicht wirksam geschaltet, sondern es wurde nur geprüft, ob er überhaupt erzeugt wurde. Falls nun im Rahmen eines solchen Tests der Alarm ausblieb, so wurde von dem UmSLC-Modul auf einen manipulativen Angriff geschlossen, der den Sensor außer Betrieb gesetzt hat. In einem solchen Fall kann das UmSLC-Modul seinerseits ein Alarmsignal erzeugen und ausgeben, das dazu führen kann, dass beispielsweise der Security-Controller einer Chipkarte bzw. die CPU (CPU = central processing unit = Zentralprozessor) des Security-Controllers angehalten wird, sensible Informationen vernichtet bzw. löscht oder ein Reset (Zurücksetzen) des Security-Controllers hervorruft.

Neue Gegenmaßnahmen fußen nun nicht mehr bzw. nicht mehr ausschließlich auf analogen Sensoren, die Veränderungen der Umweltbedingungen bzw. der Betriebsbedingungen der betreffenden Sicherheitskomponenten (beispielsweise eines Security-Controllers) erkennen, sondern weisen auch logische Maßnahmen auf, die Veränderungen von Informationen, die beispielsweise in dem Security-Controller abgespeichert sind, erkennen sollen. Herkömmliche UmSLC-Module erfüllen daher nicht mehr diese Anforderungen.

2 zeigt ein Blockschaltbild einer möglichen Lösung einer Speicherschaltung 800 mit einer Fehlererkennungsfunktionalität bzw. EDC-Funktionalität (EDC = error detection Code = fehlererkennender Code) bezeichnet wird. Die Speicherschaltung 800 ist mit einem Bus 810 gekoppelt, über den die Speicherschaltung 800 mit weiteren Komponenten eines Security-Controllers, der die Speicherschaltung 800 umfasst, kommunizieren kann. Über den Bus 810 können so beispielsweise Datensignale, Steuersignale, Kontrollsignale, Statussignale und Befehlssignale zwischen der Speicherschaltung 800 und anderen Komponenten des Security-Controllers, beispielsweise einer CPU, eines Ein-/Ausgabemoduls oder eines Kryptoprozessors, ausgetauscht werden. Die Speicherschaltung 800 ist hierbei mit dem Bus 810 über eine Speicher-Steuereinheit bzw. einen Memory-Controller 820 verbunden. Der Memory-Controller 820 ist weiter über eine Mehrzahl von Zeilenauswahlleitungen 830, die auch als Wortleitungen bzw. Word-Lines bezeichnet werden, und über eine Mehrzahl von Spaltenauswahlleitungen 840, die auch als Bitleitungen bzw. Ein-/Ausgangsleitungen bezeichnet werden, mit einer Speichermatrix 850 verbunden. Der Memory-Controller 820 ist darüber hinaus mit einem EDC-Modul 860 über eine interne Datenleitung und eine Fehlersignalleitung gekoppelt. Das EDC-Modul 860 ist weiter mit einem EDC-Memory-Controller 870 gekoppelt. Eine EDC-Speichermatrix 880 ist an den EDC-Memory-Controller 870 über eine Mehrzahl von Wortleitungen 890 und eine Mehrzahl von Bitleitungen 900 verbunden.

Im Folgenden wird die Funktionsweise der Speicherschaltung 800 am Beispiel eines Lesezugriffs erläutert. Erhält die Speicherschaltung 800 bzw. der Memory-Controller 820 über den Bus 810 den Befehl, eine bestimmte Speicheradresse auszulesen, spricht der Memory-Controller 820 über einen Zeilenumsetzer und einen Spaltenumsetzer, die der Memory-Controller 820 umfasst, über die Mehrzahl von Wortleitungen 830 auf die Speichermatrix 850 zu und liest über die Mehrzahl von Bitleitungen 840 ein Datum aus, das in der Speichermatrix 850 unter der bestimmten Adresse abgespeichert ist. Daraufhin übermittelt der Memory-Controller 820 über die interne Datenleitung das Datum DA sowie die dem Datum DA zugrundeliegende Speicheradresse an das EDC-Modul 860. Das EDC-Modul 860 fordert von dem EDC-Memory-Controller 870 eine entsprechende Prüfsumme bzw. Checksumme bzw. Kontrollwert an, die beispielsweise unter der gleichen Adresse in der EDC-Speichermatrix gespeichert ist. Zu diesem Zweck steuert der EDC-Memory-Controller 870 über die Mehrzahl von Wortleitungen 890 die EDC-Speichermatrix 880 an und erhält über die Mehrzahl von Bitleitungen 900 die dem Datum DA zugeordnete Checksumme, die der EDC-Memory-Controller 870 dem EDC-Modul 860 übermittelt. Das EDC-Modul 860 berechnet aus dem Datum DA ebenfalls eine Checksumme und vergleicht diese mit der abgespeicherten Checksumme. Erfüllen die beiden Checksummen eine vorbestimmte Beziehung zueinander, stimmen sie also beispielsweise überein, so übermittelt das EDC-Modul 860 über die Fehlersignalleitung kein Fehlersignal FS. Erfüllen beide Checksummen jedoch nicht die vorbestimmte Beziehung zueinander, stimmen also beispielsweise nicht überein, so übermittelt das EDC-Modul 860 über die Fehlersignalleitung ein Fehlersignal FS an den Memory-Controller 820, der beispielsweise daraufhin das Fehlersignal FS über den Bus 810 der CPU weiterleiten kann.

Als Speicher können sowohl Festwertspeicher, also beispielsweise ROM-Speicher (ROM = read-only memory = Nur-Lese-Speicher), wie auch Speicher, die lesende und schreibende Zugriffe ermöglichen, eingesetzt werden. Beispiele für letztgenannte Speicher stellen RAM-Speicher (RAM = random access memory = Speicher mit wahlfreiem Zugriff), nichtflüchtige Speicher (NVM = non-volatile memory), wie etwa Flash-Speicher oder EEPROM-Speicher (EEPROM = electrically erasable programmable read-only memory = elektrisch löschbarer programmierbarer Nur-Lese-Speicher), oder auch Cache-Speicher dar. Je nach verwendetem Speichertyp erfolgt die Kommunikation des Speichers mit anderen Komponenten, wie beispielsweise der CPU, nicht notwendigerweise über einen Bus, wie er in 2 gezeigt ist, sondern über eine andere Datenverbindung.

Erlaubt der Speichertyp einen schreibenden Zugriff auf die Speicherschaltung 800, so verläuft dieser ähnlich. In diesem Fall steuert der Memory-Controller 820 die Mehrzahl von Wortleitungen 830 und die Mehrzahl von Bitleitungen 840 so an, dass das abzuspeichernde Datum an einer Speicherstelle, die einer bestimmten Adresse zugeordnet ist, abgespeichert wird. Darüber hinaus übermittelt der Memory-Controller 820 dem EDC-Modul 860 sowohl das Datum DA wie auch die zugeordnete Adresse. Aus dem Datum berechnet das EDC-Modul 860 eine Checksumme und weist den EDC-Memory-Controller 870 an, unter der Adresse die Checksumme durch Ansteuerung der Mehrzahl der Wortleitungen 890 und der Bitleitungen 900 in der EDC-Speichermatrix 880 abzuspeichern.

Zur Berechnung der Checksumme eines Datums können hierbei verschiedene Verfahren bzw. Algorithmen zum Einsatz kommen. Häufig besteht die Checksumme aus einem einfachen Paritätsbit, oder einer CRC-Checksumme (CRC = cyclic redundancy check = zyklischer Redundanztest) oder auch einem Hash-Wert, wie er beispielsweise mit dem Algorithmus MD5, MD2 oder RIPEMD-160 berechnet werden kann.

Ein Angreifer kann im Rahmen eines Angriffs auf die Speicherschaltung 800 nun beispielsweise versuchen, durch einen physischen Angriff, etwa in Form eines gezielten Rückätzens ausgewählter Gebiete des Chips, der die Speicherschaltung 800 umfasst, und durch Anlegen von elektrischen Spannungen oder Spannungspulsen an bestimmte Bereiche des Chips, das EDC-Modul 860 und damit auch die Fehlererkennungsfunktionalität zu stören. Hierdurch kann der Angreifer den Inhalt der Speichermatrix 850 beispielsweise so manipulieren, das diese Manipulation nicht mehr erkannt werden. Als Folge kann beispielsweise ein Programmcode in den Speicher 800 geschrieben werden, der einem Mikrocontroller, den der Chip ebenfalls umfasst, dazu veranlasst, eigentlich geheime Daten preiszugeben. Die oben beschriebenen Sensoren sind zwar grundsätzlich geeignet, einen entsprechenden Angriff auf die Fehlererkennungsfunktionalität der Speicherschaltung zu detektieren. Diese Sensoren sind aber immer nur für einen bestimmten Satz von Angriffen empfindlich.

Ausgehend von diesem Stand der Technik besteht die Aufgabe der vorliegenden Erfindung darin, eine Vorrichtung und ein Verfahren zu schaffen, die eine erhöhte Sicherheit Angriffen auf eine Speicherschaltung gegenüber ermöglicht.

Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 oder Anspruch 11, ein Verfahren gemäß Anspruch 17 oder Anspruch 18 oder ein Computer-Programm gemäß Anspruch 19 gelöst.

Gemäß einem ersten Aspekt umfasst die erfindungsgemäße Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung, wobei die Speicherschaltung eine Speichereinrichtung, die ausgebildet ist, um ein Datum zu speichern, und eine Kontrollwerteinrichtung, die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, aufweist, wobei die Speichereinrichtung ausgebildet ist, um der Kontrollwerteinrichtung das Datum bereitzustellen, und wobei die Kontrollwerteinrichtung ausgebildet ist, um das derselben bereitgestellte Datum auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal auszugeben, eine Überwachungseinrichtung aufweist, die mit der Kontrollwerteinrichtung gekoppelt ist, um das Fehlersignal zu empfangen, und ausgebildet ist, um die Kontrollwerteinrichtung, die Speichereinrichtung oder das der Kontrollwerteinrichtung bereitgestellte Datum so zu beeinflussen, dass die Kontrollwerteinrichtung bei einer Überprüfung in dem Fall einer korrekten Ausführung der Fehlererkennungsfunktionalität einen Fehler feststellen würde, und um ein eine nicht korrekte Ausführung der Fehlererkennungsfunktionalität anzeigendes Alarmsignal auszugeben, wenn die Kontrollwerteinrichtung auf die Beeinflussung hin der Überwachungseinrichtung kein Fehlersignal ausgibt.

Gemäß einem zweiten Aspekt umfasst die erfindungsgemäße Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung, wobei die Speicherschaltung eine Speichereinrichtung, die ausgebildet ist, um ein erstes und ein zweites Datum zu speichern, eine Kontrollwertspeichereinrichtung, die ausgebildet ist, um einen dem ersten Datum zugeordneten ersten Kontrollwert und einen dem zweiten Datum zugeordneten zweiten Kontrollwert zu speichern und eine Kontrollwerteinrichtung, die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, aufweist, wobei das zweite Datum und der zweite Kontrollwert bei einer Überprüfung zu einem Fehler führen, wobei die Speichereinrichtung und die Kontrollwertspeichereinrichtung ausgebildet sind, um der Kontrollwerteinrichtung das erste oder zweite Datum und den jeweils zugeordneten Kontrollwert bereitzustellen, und wobei die Kontrollwerteinrichtung ausgebildet ist, um das derselben bereitgestellte erste oder zweite Datum auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal an einem Fehlersignalausgang auszugeben, eine Überwachungseinrichtung aufweist, die ausgebildet ist, um in einem Normalbetriebsmodus das Fehlersignal an den Fehlersignalausgang durchzulassen und in einem Überprüfungsmodus das Fehlersignal zu blockieren, um dasselbe nicht an den Fehlersignalausgang durchzulassen, und ein eine nicht korrekte Ausführung der Fehlererkennungsfunktionalität anzeigendes Alarmsignal auszugeben, wenn die Kontrollwerteinrichtung der Überwachungseinrichtung kein Fehlersignal ausgibt, wobei die Speichereinrichtung und die Kontrollwertspeichereinrichtung ausgebildet sind, um in dem Normalbetriebsmodus das erste Datum und den ersten Kontrollwert bereitzustellen und zu überprüfen, und um in dem Überprüfungsmodus das zweite Datum und den zweiten Kontrollwert bereitzustellen und zu überprüfen.

Gemäß einem dritten Aspekt umfasst das erfindungsgemäße Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung, wobei die Speicherschaltung eine Speichereinrichtung, die ausgebildet ist, um ein Datum zu speichern, und eine Kontrollwerteinrichtung, die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, aufweist, wobei die Speichereinrichtung ausgebildet ist, um der Kontrollwerteinrichtung das Datum bereitzustellen, und wobei die Kontrollwerteinrichtung ausgebildet ist, um das derselben bereitgestellte Datum auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal auszugeben, einen Schritt des Beeinflussens der Kontrollwerteinrichtung, der Speicherschaltung oder des der Kontrollwerteinrichtung bereitgestellten Datums so, dass die Kontrollwerteinrichtung bei einer Überprüfung in dem Fall einer korrekten Ausführung der Fehlererkennungsfunktionalität einen Fehler feststellen würde, einen Schritt des Empfangens des Fehlersignals und einen Schritt des Ausgebens eines eine nicht korrekte Ausführung der Fehlererkennungsfunktionalität anzeigendes Alarmsignal umfasst, falls die Kontrollwerteinrichtung auf den Schritt des Beeinflussens hin kein Fehlersignal ausgibt.

Gemäß einem vierten Aspekt umfasst das erfindungsgemäße Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung, wobei die Speicherschaltung eine Speichereinrichtung, die ausgebildet ist, ein erstes und ein zweites Datum zu speichern, eine Kontrollwertspeichereinrichtung, die ausgebildet ist, um einen dem ersten Datum zugeordneten ersten Kontrollwert und einen dem zweiten Datum zugeordneten zweiten Kontrollwert zu speichern und eine Kontrollwerteinrichtung, die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, aufweist, wobei das zweite Datum und der zweite Kontrollwert bei einer Überprüfung zu einem Fehler führen, wobei die Speichereinrichtung und die Kontrollwertspeichereinrichtung ausgebildet sind, um der Kontrollwerteinrichtung das erste oder zweite Datum und den jeweils zugeordneten Kontrollwert bereitzustellen, und wobei die Kontrollwerteinrichtung ausgebildet ist, um das derselben bereitgestellte erste oder zweite Datum auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal an einem Fehlersignalausgang auszugeben, in einem Normalbetriebsmodus einen Schritt des Durchlassens des Fehlersignals an den Fehlersignalausgang und in einem Überprüfungsmodus einen Schritt des Blockierens des Fehlersignals, um dasselbe nicht an den Fehlersignalausgang durchzulassen, einen Schritt des Empfangens des Fehlersignals von der Kontrollwerteinrichtung und einen Schritt des Ausgebens eines eine nicht korrekte Ausführung der Fehlererkennungsfunktionalität anzeigendes Alarmsignal, wenn die Kontrollwerteinrichtung kein Fehlersignal ausgibt, umfasst, wobei die Speichereinrichtung und die Kontrollwertspeichereinrichtung ausgebildet sind, um in dem Normalbetriebsmodus das erste Datum und den ersten Kontrollwert bereitzustellen und zu überprüfen, und in dem Überprüfungsmodus das zweite Datum und den zweiten Kontrollwert bereitzustellen und zu überprüfen.

Der vorliegenden Erfindung liegt die Erkenntnis zu Grunde, dass eine erhöhte Sicherheit Angriffen auf eine Speicherschaltung gegenüber dadurch erreicht werden kann, dass während des Betriebs die Fehlererkennungsfunktionalität der Speicherschaltung gegenüber dadurch erreicht werden kann, dass während des Betriebs die Fehlererkennungsfunktionalität der Speicherschaltung auf ihre Wirksamkeit hin überprüft wird. Hierdurch ergibt sich der Vorteil, dass im Rahmen eines Angriffs eine Manipulation des Inhalts des Speichereinrichtung nicht dadurch verschleiert werden kann, dass die Kontrollwerteinrichtung in ihrer Funktionalität so beeinträchtigt wird, dass manipulierte Daten, die bei einer Überprüfung im Rahmen einer korrekten Ausführung der Fehlererkennungsfunktionalität eigentlich als fehlerhaft erkannt werden müssten, als fehlerfrei erkannt werden.

Zu diesem Zweck forciert die erfindungsgemäße Vorrichtung einen oder mehrere Fehler in der Speicherschaltung, in dem sie entweder diese so beeinflusst, dass ein Datum bei einer Überprüfung ein Fehlersignal der Kontrollwerteinrichtung hervorrufen müsste, oder in dem sie der Kontrollwerteinrichtung ein präpariertes Datum mit dem zugeordneten Kontrollwert bereitstellt, das ebenfalls bei einer Überprüfung zu einem Fehlersignal führen müsste. Empfängt die erfindungsgemäße Vorrichtung bzw. die Überwachungseinrichtung das erwartete Fehlersignal nicht, wird von einer Manipulation bzw. einem Angriff auf die Speicherschaltung ausgegangen. In diesem Fall gibt die Überwachungseinrichtung ihrerseits ein Alarmsignal aus, das einen erfolgten Angriff anderen Komponenten, mit denen die erfindungsgemäße Vorrichtung gekoppelt ist, gegenüber anzeigt.

In dem Ausführungsbeispiel kann die Überwachungseinrichtung den einem Datum zugeordneten Kontrollwert manipulieren, der Kontrollwerteinrichtung das Datum in einem gegenüber dem gespeicherten oder ausgelesenen Zustand veränderten Zustand bereitstellen oder das Aufforderungssignal zum Auslesen eines Datums manipulieren. Hierdurch ergibt sich der Vorteil, dass die erfindungsgemäße Vorrichtung über verschiedene Möglichkeiten zur Überprüfung der Fehlererkennungsfunktionalität verfügt, so dass ein Angriff auf die Speicherschaltung einer Mehrzahl von Überprüfungen widerstehen muss, um eine Chance auf eine erfolgreiche Durchführung zu haben.

Ein weiterer Vorteil besteht darin, dass die Überprüfung während des Betriebs durchgeführt werden kann. Die Überprüfung kann hierbei durch das Vorliegen einer Auslösbedingung initiiert werden. Hierdurch wird ein Angriff einem Angreifer erschwert, da er nicht nur zu bestimmten Ereignissen, wie etwa einem Systemstart, mit einer Überprüfung der Fehlererkennungsfunktionalität rechnen muss, was einen weiteren Vorteil darstellt.

Darüber hinaus zeigt das Ausführungsbeispiel, dass die erfindungsgemäße Vorrichtung nicht nur das Ausgeben eines Fehlersignals auf eine Beeinflussung hin oder auf ein entsprechend präpariertes Datum hin überwachen kann, das also die erfindungsgemäße Vorrichtung nicht nur die Kontrollwerteinrichtung dahingehend überwacht, einen Fehler zu detektieren. Sie erlaubt es vielmehr auch, nach einer erfolgreichen Fehlererkennung eine Überprüfung der Fehlererkennungsfunktionalität, ohne dass ein Fehler vorliegt. Der Vorteil, der sich hieraus ergibt, besteht darin, dass hierdurch ein möglicher Angriff auf Grund der zugenommenen Komplexität der Überprüfung erneut erschwert wird, da nicht mehr bei jeder Überprüfung durch die Überwachungseinrichtung ein Fehlersignal von derselben erwartet wird.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:

1 ein Blockschaltbild eines Ausführungsbeispiels einer Speicherschaltung mit einer erfindungsgemäßen Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität; und

2 eine mögliche Lösung einer Speicherschaltung mit einer Fehlererkennungsfunktionalität.

Bezug nehmend auf 1 wird nun ein Ausführungsbeispiel einer Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung beschrieben. Ähnliche oder gleiche Objekte, die bereits in den einführenden Abschnitten der vorliegenden Anmeldung erläutert wurden und in 2 gezeigt sind, werden mit sich um 700 unterscheidende Bezugszeichen bezeichnet.

1 zeigt ein Blockschaltbild eines Ausführungsbeispiels einer Speicherschaltung 100 mit einer erfindungsgemäßen Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität bzw. EDC-Funktion (EDC = error detecting code = fehlererkennender Code) der Speicherschaltung 100, wie sie beispielsweise im Rahmen eines Security-Controllers auf einer Chipkarte zum Einsatz kommen kann. Die Speicherschaltung 100 ist mit einem Bus 110 gekoppelt, über den die Speicherschaltung 100 mit anderen Komponenten eines Security-Controllers, eines Mikrocontrollers, einer Chipkarte oder einer Smartcard, also beispielsweise einer CPU (CPU = central processing unit = Zentralprozessor), anderen Speicherschaltungen, einem Ein-/Ausgabemodul, einem (Pseudo-) Zufallszahlengenerator, einem Kryptoprozessor oder anderen kryptographischen Komponenten oder elektronischen Komponenten verbunden ist. Die Speicherschaltung 100 weist einen Memory-Controller 120, der auch als Speicher-Steuereinheit bezeichnet wird und über eine Mehrzahl von Wortleitungen 130, die auch als Zeilenauswahlleitungen bzw. Word-Lines bezeichnet werden, und über eine Mehrzahl von Bitleitungen 140, die auch als Spaltenauswahlleitungen, Ein-/Ausgangsleitungen oder Bit-Lines bezeichnet werden, mit einer Speichermatrix 150 gekoppelt.

Darüber hinaus weist die Speicherschaltung 100 ebenfalls ein EDC-Modul 160 (EDC = error detecting code = fehlererkennender Code) und einen EDC-Memory-Controller 170 auf, die miteinander gekoppelt sind. Der EDC-Memory-Controller 170 ist mit einer EDC-Speichermatrix 180 über eine Mehrzahl von Wortleitungen 190 und einer Mehrzahl von Bitleitungen 200 verbunden. Die Mehrzahl von Wortleitungen 190 werden häufig als auch Zeilenauswahlleitungen bzw. Word-Lines, die Mehrzahl von Bitleitungen 200 häufig auch als Spaltenauswahlleitungen, Ein-/Ausgangsleitungen oder als Bit-Lines bezeichnet. Die Funktionsweise der bisher bezeichneten Objekte und Elemente der Speicherschaltung 100 unterscheiden sich von den entsprechenden Objekten und Elementen der in 2 gezeigten Speicherschaltung 800 nicht, weshalb für die Beschreibung der Funktionsweise hiermit auf die einführenden Abschnitte der vorliegenden Anmeldung verwiesen wird.

Die Speicherschaltung 100 weist gegenüber der in 2 gezeigten Speicherschaltung 800 jedoch weitere Elemente auf, deren Anordnung und Funktionsweise im Folgenden beschrieben werden. Der Memory-Controller 120 ist so beispielsweise über einen Unterbrecher 210 mit dem Bus 110 gekoppelt. Der Unterbrecher 210 ist seinerseits mit einem UmSLC-Modul 220 (UmSLC = user mode sensor life control = Überwachung der Sensorfunktionsfähigkeit im Betriebsmodus) verbunden. Ebenso wie im Fall der Speicherschaltung 800 aus 2 ist auch der Memory-Controller 120 der in 1 gezeigten Speicherschaltung 100 mit dem EDC-Modul 160 über eine interne Datenleitung gekoppelt. Im Unterschied zu der in 2 gezeigten Speicherschaltung 800 ist jedoch bei der Speicherschaltung 100 zwischen den Memory-Controller 120 und das EDC-Modul 160 in die interne Datenleitung ein Manipulator 230 geschaltet, der mit dem UmSLC-Modul 220 ebenfalls verbunden ist. Ebenso wie die Speicherschaltung 800 aus 2 ist auch das EDC-Modul 160 über eine Fehlersignalleitung mit dem Memory-Controller 120 verbunden. Im Vergleich zu der Speicherschaltung 800 aus 2 ist in die Fehlersignalleitung zwischen das EDC-Modul 160 und den Memory-Controller 120 eine Weiche 240 geschaltet, die ihrerseits wiederum mit dem UmSLC-Modul 220 verbunden ist.

Die Speicherschaltung 100 weist darüber hinaus einen ebenfalls mit dem UmSLC-Modul 220 verbundenen EDC-Manipulator 250 auf, der zwischen das EDC-Modul 160 und den EDC-Memory-Controller 170 geschaltet ist. Des weiteren weist die Speicherschaltung 100 einen ersten Beeinflusser 260 und einen zweiten Beeinflusser 270 auf, die beide mit dem UmSLC-Modul 220 gekoppelt sind. Der erste Beeinflusser 260 ist hierbei in die Mehrzahl von Wortleitungen 130 zwischen den Memory-Controller 120 und die Speichermatrix 150 geschaltet, während der zweite Beeinflusser in die Mehrzahl von Bitleitungen 140 zwischen den Memory-Controller 120 und die Speichermatrix 150 geschaltet ist.

Die Speicherschaltung 100 weist somit eine Speichereinrichtung 300 auf, die den Memory-Controller 120, die Mehrzahl an Wortleitungen 130, die Mehrzahl an Bitleitungen 140, die Speichermatrix 150, den ersten Beeinflusser 260 und den zweiten Beeinflusser 270 umfasst. Darüber hinaus weist die Speicherschaltung 100 eine Kontrollwerteinrichtung 310 auf, die das EDC-Modul 160, den EDC-Manipulator 250, den EDC-Memory-Controller 170, die Mehrzahl an Wortleitungen 190, die Mehrzahl an Bitleitungen 200 und die EDC-Speichermatrix 180 umfasst. Der EDC-Memory-Controller 170, die Mehrzahl an Wortleitungen 190, die Mehrzahl an Bitleitungen 200 und die EDC-Speichermatrix 100 bilden hierbei eine Kontrollwertspeichereinrichtung 315. Eine Überwachungseinrichtung bzw. eine Alarmeinheit 320 der Speicherschaltung 100 umfasst den Manipulator 230, die Weiche 240, den Unterbrecher 210 und das UmSLC-Modul 220.

Im normalen Betriebsmodus (Normalbetriebsmodus), wenn also das UmSLC-Modul 220 die Fehlererkennungsfunktionalität der Speicherschaltung 100 nicht überprüft, werden die gegenüber der Speicherschaltung 800 in 2 zusätzlichen Komponenten der Speicherschaltung 100 in einen neutralen, die Funktionalität der Speicherschaltung nicht modifizierenden Modus gebracht. Im Einzelnen bedeutet dies, dass der Unterbrecher 210 den Memory-Controller 120 mit dem Bus 110 verbindet. Ebenso verbindet die Weiche 240 die Fehlersignalleitung zwischen dem Memory-Controller 120 und dem EDC-Modul 160. Der Manipulator 230 lässt ein Datum DA auf der internen Datenleitung zwischen dem Memory-Controller 120 und dem EDC-Modul 160 ungehindert passieren. Die beiden Beeinflusser 260 und 270 belassen die Wortleitungen 130 und die Bitleitungen 140 unverändert. Ebenso verändert der EDC-Manipulator 250 keine Signale, die zwischen dem EDC-Modul 160 und dem EDC-Memory-Controller 170 ausgetauscht werden. Im normalen Betriebsmodus zeigt somit die Speicherschaltung 100 das bereits in den einführenden Abschnitten der vorliegenden Anmeldung beschriebene Verhalten bzw. die dort beschriebene Funktionsweise der Speicherschaltung 800, auf die hiermit verwiesen wird.

Erhält der Memory-Controller 120 über den Bus 110 in Form eines Lesebefehls hin, beispielsweise von der CPU, die Anweisung, ein bestimmtes Datum aus einer vorbestimmten Adresse der Speichereinrichtung 300 auszulesen, steuert der Memory-Controller 120 die Wortleitungen 130 so an, dass die Speichermatrix 150 über die Bitleitungen 140 das zugehörige Datum an den Memory-Controller 120 weiterleitet. Das Datum DA wird zusammen mit der zugehörigen Adresse dann dem EDC-Modul 160 zur Verfügung gestellt, das auf Basis des Datums DA eine Checksumme berechnet und den EDC-Memory-Controller 170 anweist, durch eine entsprechende Ansteuerung der Wortleitungen 190 aus der EDC-Speichermatrix über die Bitleitungen 200 den der Adresse zugeordneten Checksummenwert bzw. Kontrollwert auszulesen und diesen wiederum dem EDC-Modul 160 zur Verfügung zu stellen. Erfüllt nun der berechnete Checksummenwert mit dem gespeicherten Checksummenwert eine vorbestimmte Beziehung zueinander, stimmen sie also beispielsweise überein, so wird über die Fehlersignalleitung kein Fehlersignal FS dem Memory-Controller 120 zur Verfügung gestellt. Erfüllen hingegen die beiden Checksummen die vorbestimmte Beziehung zueinander nicht, weichen also beispielsweise voneinander ab, so wird über die Fehlersignalleitung ein Fehlersignal FS dem Memory-Controller 120 zur Verfügung gestellt, der dann beispielsweise die CPU über eine entsprechende Rückmeldung über ein Auftreten eines Fehlers informieren kann.

Durch die zusätzlichen Komponenten der Speicherschaltung 100 kann das in 1 gezeigte Ausführungsbeispiel der vorliegenden Erfindung die Aufgabenstellung lösen, eine neuartige, sogenannte UmSLC-Funktion für die Alarmeinheit 320 zur Absicherung des Speichers bzw. der Speicherschaltung umzusetzen und zu implementieren, so dass während des Betriebs logische Gegenmaßnahmen auf eine Erkennungsmöglichkeit von Angriffen hin, also auf ihre Wirksamkeit getestet werden können. Wie bereits erläutert wurde, werden bei dem in 1 gezeigten Ausführungsbeispiel die Speicher durch sogenannte fehlererkennende Codes (EDC = error detection code), die auch als Prüfsummen, Kontrollwerte oder Checksummen bezeichnet werden, nach dem Stand der Technik gegen Fehler abgesichert. Als Checksummen bzw. Prüfwerte können beispielsweise im Rahmen einer EDC-Speicherung von Daten ein einfaches Paritätsbit, eine CRC-Prüfsumme (CRC = cyclic redundancy check = zyklische Redundanzüberprüfung) oder ein Hash-Wert, wie er beispielsweise mit Hilfe der Hash-Algorithmen MD2, MD4, MD5 oder RIPEMD-160 berechnet werden kann, verwendet werden. Auch andere Verfahren, mit deren Hilfe die Integrität von Daten DA überprüft werden können, können als Checksumme bzw. Prüfwert herangezogen werden. Darüber hinaus stellt die in dem in 1 gezeigten Ausführungsbeispiel eine Speicherschaltung 100 gezeigte Aufteilung des eigentlichen Datenspeichers mit der Speichermatrix 150 und dem EDC-Speicher mit der EDC-Speichermatrix 180 keine Einschränkung an die allgemeine Ausführbarkeit der vorliegenden Erfindung. Vielmehr können die Inhalte beider Speicher auch physikalisch in ein und derselben Speichermatrix gespeichert werden.

Wird nun eine vorbestimmte Auslösebedingung erfüllt, so wechselt das UmSLC-Modul 220 von dem Normalbetriebsmodus in einen Überprüfungsmodus und leitet die Überprüfung der Fehlererkennungsfunktionalität der Speicherschaltung 100 ein. Bei dieser Auslösebedingung kann es sich beispielsweise um das Verstreichen einer vorbestimmten Zeitspanne oder das Erreichen einer vorbestimmten Systemzeit oder das Eintreffen einer entsprechenden CPU-Anweisung handeln. Ebenso ist eine zufällige Erfüllung der Auslösebedingung denkbar, wie sie beispielsweise durch einen (Pseudo-) Zufallszahlengenerator und einen entsprechenden vorbestimmten Anteil des Zahlenbereichs des (Pseudo-) Zufallszahlengenerators realisiert werden kann. Wichtig ist in diesem Zusammenhang, dass es sich bei der Auslösebedingung um eine intermittierend erfüllte Bedingung handelt, die einen normalen schreibenden und lesenden Zugriff auf die Speicherschaltung 100 ermöglicht, und darüber hinaus bei Erfüllen der Auslösebedingung das Einleiten der Überprüfung der Fehlererkennungsfunktionalität ermöglicht.

Ist die Auslösebedingung erfüllt, so forciert die neuartige UmSLC-Funktion des UmSLC-Moduls 220 nun einen oder mehrere Fehler in dem Speicher, um die EDC-Funktion der Speicherschaltung 100 zu überprüfen. Hierzu wird zunächst das Fehlersignal FS des EDC-Moduls 160 (Alarmfunktion) durch Ansteuern der Weiche 240 zu dem UmSLC-Modul 220, das auch als UmSLC-Steuereinheit bezeichnet wird, umgeleitet. Dann wird ein Fehler im Speicher simuliert. Die UmSLC-Steuereinheit 220 muss dann eine Fehlermeldung, also das Fehlersignal FS, vom EDC-Modul 160 erhalten. Bleibt bei der Fehlererkennung durch den Einsatz fehlererkennender Codes nun eine Fehlermeldung bzw. ein Fehlersignal aus, wird von einer Manipulation bzw. einem Angriff auf den Speicher ausgegangen. Sollte dieses nicht erfolgen, wird das UmSLC-Modul 220 seinerseits ein Alarmsignal AL bzw. Alarm an einem Alarmsignalausgang erzeugen, da in dem Fall von einer Manipulation bzw. einem Angriff auszugehen ist. Das Alarmsignal (AL) signalisiert anderen Komponenten gegenüber, die beispielsweise der Security-Controller aufweist, einen erfolgten Angriff.

In einem „korrekten Betriebsfall", bei dem die EDC-Funktionalität der Kontrollwerteinrichtung 310 korrekt funktioniert, indem also das UmSLC-Modul 220 die EDC-Fehlermeldung in Form des Fehlersignals FS erhält, wird der Speicherfehler bzw. die Simulation des Speicherfehlers wieder abgeschaltet und die Rücknahme der EDC-Fehlermeldung, also des Fehlersignals FS, abgewartet. Die EDC-Alarmleitung, also die Fehlersignalleitung, wird dann durch Ansteuern der Weiche 240 wieder auf das ursprüngliche Alarmmodul, also im vorliegenden Ausführungsbeispiel den Memory-Controller 120, zurückgeschaltet. Die erfindungsgemäße Vorrichtung ermöglicht somit die Überprüfung der Funktionalität einer Fehlererkennungsschaltung für Speicher und damit die Möglichkeit einer Angriffsdetektion für Speicher. Mit anderen Worten löst die erfindungsgemäße Vorrichtung zur Überprüfung der Fehlererkennungsfunktionalität einer Speicherschaltung somit vorteilhaft die Überprüfung der Angriffsdetektoren für Speicher und stellt somit eine UmSLC (UmSLC = user mode sensor life control = Steuereinheit für die Überwachung der Sensorfunktionsfähigkeit im Betriebsmodus) für Speicher dar.

Im weiteren Verlauf der vorliegenden Anmeldung wird anhand des in 1 gezeigten Ausführungsbeispiels einer Speicherschaltung 100 die Erzeugung eines Fehlers durch vier verschiedene Eingriffe in die Speicherschaltung 100 beispielhaft beschrieben, wobei die Fehler im Falle einer korrekten Fehlererkennungsfunktionalität der Speicherschaltung 100 detektiert werden. Hierbei unterscheiden sich die vier Methoden, mit denen ein Fehler im Speicher der Speicherschaltung 100 simuliert wird, von dem prinzipiellen Verfahren, das das UmSLC-Modul 220 ausführt, nur in wenigen Punkten. Die Verwendung der neuartigen UmSLC bzw. der erfindungsgemäßen Vorrichtung zur Überprüfung der Fehlererkennungsfunktionalität einer Speicherschaltung im Rahmen einer Überprüfung der Angriffsdetektion für Speicher geschieht in mehreren Schritten:

  • a. Das UmSLC-Modul 220 weist den Unterbrecher 210 an, den Memory-Controller 120 von dem Bus 110 zu trennen.
  • b. Das UmSLC-Modul 220 weist die Weiche 240 an, die Fehlersignalleitung so umzuleiten, dass das Fehlersignal FS nicht mehr den Memory-Controller 120 erreicht, sondern das UmSLC-Modul 220.
  • c. Das UmSLC-Modul 220 aktiviert eine oder mehrere Störungssimulationseinheiten, was im weiteren Verlauf der vorliegenden Anmeldung näher erläutert wird. Die Gruppe der Störungssimulationseinrichtungen umfasst den Manipulator 230, den EDC-Manipulator 250, den ersten Beeinflusser 260 und den zweiten Beeinflusser 270. Dieser Schritt kann unter bestimmten, unten beschriebenen Umständen auch entfallen.
  • d. Das UmSLC-Modul 220 weist den Unterbrecher 210 an, dem Memory-Controller 120 eine Datenanfrage zu senden, wobei dem Memory-Controller 120 über den Unterbrecher 210 von dem UmSLC-Modul 220 eine vorbestimmte oder von demselben bestimmte Adresse übergeben wird. Auf Grund der Datenanfrage liest der Memory-Controller 120 über die Wortleitungen 130 und die Bitleitungen 140 aus der Speichermatrix 150 ein Datum aus und stellt es zur weiteren Verarbeitung auf der internen Datenleitung zur Verfügung. Auf Grund des Eingreifens der Störungssimulationseinrichtungen, die in Schritt c gegebenenfalls durch das UmSLC-Modul 220 aktiviert wurden, liefert das EDC-Modul 160 im Falle einer korrekten Ausführung der Fehlererkennungsfunktionalität über die Fehlersignalleitung ein Fehlersignal FS, das durch das Umschalten der Weiche 240 nicht dem Memory-Controller 120, sondern dem UmSLC-Modul 220 zur Verfügung gestellt wird.

Der Adresswert kann hierbei vorbestimmt sein oder auch von dem UmSLC-Modul 220 oder von einer anderen Komponente, beispielsweise der CPU, bestimmt werden. Denkbar ist es hier beispielsweise, dass das UmSLC-Modul 220 in einer planvollen Reihenfolge oder in einer zufälligen Reihenfolge alle Speicherbereiche oder auch nur Teile des Speicherbereichs der Speicherschaltung 100 überprüft. In dem Fall, dass nur Teile des Speicherplatzes der Speicherschaltung 100 überprüft werden, kann es sich beispielsweise um solche Speicherbereiche handeln, in denen sensible Informationen, also beispielsweise private Schlüssel oder andere Zugangsinformationen, gespeichert sind. Ebenso ist es denkbar, dass je nach Art der simulierten Störung vorbestimmte oder aus einem vorbestimmten Adressraum zufällig ausgewählte Adressen zur Durchführung der Überprüfung der Fehlererkennungsfunktionalität herangezogen werden. Weitere Einzelheiten hierzu werden auch weiter unten beschrieben.

  • e. Empfängt das UmSLC-Modul 220 das Fehlersignal FS nicht, so gibt das UmSLC-Modul 220 an dem Alarmsignalausgang ein Alarmsignal AL aus, woraufhin der Security-Controller, auf dem die Speicherschaltung 100 implementiert ist, weitere, hier nicht näher bezeichnete Schritte ausführt.
  • f. Ist an dem UmSLC-Modul 220 das Fehlersignal FS eingegangen, so werden gegebenenfalls die aktivierten Störungssimulationseinrichtungen deaktiviert.
  • g. Der Unterbrecher 210 wird von dem UmSLC-Modul 220 angewiesen, an den Memory-Controller 120 das betreffende Datum erneut oder auch ein anderes Datum auszulesen.
  • h. Tritt bei der Überprüfung des von dem Security-Controller 120 ausgelesenen Datums DA durch das EDC-Modul 160 erneut ein Fehler auf, der über die Weiche 240 dem UmSLC-Modul 220 zur Verfügung gestellt wird, löst das UmSLC-Modul 220 einen Alarm aus, indem das UmSLC-Modul 220 an dem Alarmsignalausgang ein Alarmsignal AL ausgibt.
  • i. Detektiert das UmSLC-Modul 220 kein Fehlersignal FS bzw. wird das bestehende Fehlersignal FS gelöscht, so wird die Speicherschaltung 100 in ihren ursprünglichen Zustand zurückversetzt. Zu diesem Zweck wird die Weiche 240 wieder so angesteuert, dass das Fehlersignal von dem EDC-Modul 160 zu dem Memory-Controller 120 gelangen kann. Darüber hinaus wird die Unterbrechung des Memory-Controllers 120 von dem Bus 110 durch ein Zurücksetzen des Unterbrechers 210 ebenfalls aufgehoben.

Mögliche Gegenmaßnahmen, die beispielsweise die CPU oder auch der Memory-Controller 120 nach dem Eintreffen des Alarmsignals AL, das das UmSLC-Modul 220 im Falle einer Störung der Fehlererkennungsfunktionalität ausgibt, können beispielsweise darin bestehen, dass sensible Daten gelöscht werden, die CPU angehalten wird, ein Reset der Chipkarte bzw. des Security-Controllers, der die Speicherschaltung 100 umfasst, ausgelöst wird oder dass der Security-Controller oder Teile der Chipkarte gezielt unbrauchbar gemacht werden, indem sie zerstört werden.

Im weiteren Verlauf der vorliegenden Anmeldung werden nun vier verschiedene Simulationen von Störungen beschrieben, die mit Hilfe des in 1 gezeigten Ausführungsbeispiels einer Speicherschaltung 100 mit einer erfindungsgemäßen Vorrichtung zum Überprüfen der Fehlererkennungsfunktionalität der Speicherschaltung 100 realisiert werden können. Hierbei werden die in den Schritten c und f des oben angegebenen Ablaufs der Überprüfungsroutine die entsprechenden und erwähnten Störungssimulationseinrichtungen aktiviert bzw. deaktiviert. Hierbei nicht genannte Störungssimulationseinrichtungen (siehe Punkt c.) können entfallen, wenn eine Implementierung der anderen Möglichkeiten zur Simulation von Störungen im Rahmen der anderen Möglichkeiten zur Überprüfung der Fehlererkennungsfunktionalität nicht beabsichtigt ist. Das in 1 gezeigte Ausführungsbeispiel ermöglicht es so, mit Hilfe verschiedener Ansätze, Störungen im Rahmen der Überprüfung der Fehlererkennungsfunktionalität der Speicherschaltung 100 auszulösen.

Eine erste Möglichkeit zur Überprüfung der Fehlererkennungsfunktionalität der Speicherschaltung 100 besteht nun darin, die EDC-Prüfwerte bzw. Kontrollwerte, die auch als EDC-Referenzwerte bezeichnet werden, so zu manipulieren, dass das EDC-Modul 160 bei der Durchführung der Fehlererkennungsfunktionalität ein Fehlersignal auf die Fehlersignalleitung ausgibt. Hierbei bestehen im Prinzip zwei Möglichkeiten, die EDC-Prüfwerte zu manipulieren. Zum einen besteht die Möglichkeit, von vorneherein zu den in der Speichermatrix 150 abgelegten Daten zum Teil fehlerhafte EDC-Prüfwerte in der EDC-Speichermatrix 180 abzulegen. In diesem Fall ist eine Manipulation der EDC-Referenzwerte während des Betriebs im Überprüfungsmodus nicht notwendig und es kann eine Implementierung von Einrichtungen aus der Gruppe der Störungssimulationseinrichtungen entfallen. Andererseits besteht hierdurch nur die Möglichkeit, im vorhinein entsprechend präparierte Speicherzellen zur Überprüfung der Fehlererkennungsfunktionalität heranzuziehen.

Eine Alternative, die es ermöglicht, beliebige Speicherplätze im Rahmen der Überprüfung der Fehlererkennungsfunktionalität heranzuziehen, besteht darin, durch entsprechendes Ansteuern des EDC-Manipulators 250 die aus der EDC-Speichermatrix 180 ausgelesenen EDC-Prüfwerte zu modifizieren. Zu diesem Zweck kann im Rahmen von Schritt c der oben angegebenen Routine das UmSLC-Modul 220 den EDC-Manipulator 250 beispielsweise so anzusteuern, dass dieser ein oder mehrere Bits der abgespeicherten EDC-Prüfsumme invertiert. Die Auswahl, welche Bits von dem EDC-Manipulator 250 invertiert werden, kann vorbestimmt sein oder durch das UmSLC-Modul 220 erfolgen. Alternativ ist es möglich, nicht einzelne Bits des EDC-Referenzwerts von dem EDC-Manipulator 250 invertieren zu lassen, sondern vielmehr dem EDC-Modul 160 von dem EDC-Manipulator 250 einen vorbestimmten oder auch zufällig bestimmten EDC-Prüfwert zu übergeben.

Mit anderen Worten besteht einerseits die Möglichkeit, gezielt EDC-falsche Werte zu speichern oder auch die EDC-Prüfwerte gezielt zu manipulieren. Im ersten Fall kann dies beispielsweise dadurch realisiert werden, dass in einem ROM-Speicherbereich (ROM = read-only memory = Nur-Lese-Speicher) absichtlich unkorrekte EDC-Referenzwerte abgelegt werden, dass eine NVM-Programmierung mit absichtlich gestörten EDC-Referenzwerten durchgeführt wird (NVM = non-volatile memory = nichtflüchtiger Speicher), dass eine RAM-Belegung (RAM = random access memory = Speicher mit wahlfreiem Zugriff) mit absichtlich falschen EDC-Referenzwerten oder beispielsweise dass Cache-Eintragungen mit absichtlich falschen EDC- bzw. Parity-Werten durchgeführt werden. Im Rahmen eines Tests bzw. der Überprüfung der Fehlererkennungsfunktionalität werden diese Speicherzellen versucht auszulesen. Auf Grund der genannten Vorbedingungen, wie sie von dem UmSLC-Modul 220 auf Grund der oben beschriebenen Überprüfungsroutine vorliegen, führen die unkorrekten EDC-Referenzwerte dann nicht zu einem an Komponenten außerhalb der Speicherschaltung 100 weitergegebenen Fehlersignal, also zu einem Alarm des Memory-Controllers 120, sondern zu einem korrekten Testverhalten im Rahmen des von dem UmSLC-Moduls 220 durchgeführten Tests.

Eine zweite Möglichkeit bzw. ein zweites Ausführungsbeispiel für die Durchführung der Überprüfung der Fehlererkennungsfunktionalität durch das UmSLC-Modul 220 besteht darin, dass Speicherleitungen, beispielsweise die Wortleitungen 130 oder auch die Bitleitungen 140, im Rahmen dieses Tests nicht korrekt geschaltet werden. Dieser Test kann so ausgeführt werden, dass beispielsweise eine oder mehrere der betreffenden Leitungen der Mehrzahl von Bitleitungen 140 einen „Stuck-At-1"- oder einen „Stuck-At-0"-Fehler aufweisen, also einen Fehler, bei dem einzelne Bits bzw. die zugehörigen Leitungen unabhängig von ihrem eigentlich beabsichtigten Wert auf einen logischen Signalwert gelegt bzw. geklemmt werden, der einer logischen 1 oder einer logischen 0 entspricht. Auch dieser Fehler soll von dem EDC-Modul 160 erkannt werden und über die Weiche 240 an das UmSLC-Modul 220 weitergeleitet werden. In dem in 1 gezeigten Ausführungsbeispiel kann dieser Fehler dadurch hervorgerufen werden, dass in dem dritten Schritt der oben beschriebenen Überprüfungsroutine der zweite Beeinflusser 270, der in die Bitleitungen 140 geschaltet ist, von dem UmSLC-Modul 220 angewiesen wird, eine oder mehrere Leitungen der Mehrzahl von Bitleitungen 140 auf ein Potential zu klemmen, das einer logischen 0 bzw. einer logischen 1 entspricht. Sowohl die Auswahl der Bitleitungen 140 wie auch die Werte, auf die die betreffenden Leitungen geklemmt werden, kann hierbei vorbestimmt sein oder durch das UmSLC-Modul 220 erfolgen.

Ein drittes Ausführungsbeispiel der Fehlersimulation besteht darin, die Ansteuerleitungen, z. B. die Adressleitungen bzw. die Wortleitungen 130, für diesen Test nicht korrekt schalten zu lassen. Auch diese Fehlerquelle führt im Allgemeinen zu falschen Auslesewerten der Speicherinhalte, welche von dem EDC-Modul 160 erkannt und über die Weiche 240 an das UmSLC-Modul 220 weitergeleitet werden sollen. In dem in 1 gezeigten Ausführungsbeispiel einer Speicherschaltung 100 kann dies beispielsweise dadurch geschehen, dass das UmSLC-Modul 220 den ersten Beeinflusser 260 so ansteuert, dass dieser die Wortleitungen 130 manipuliert. Neben der bereits beschriebenen Möglichkeit, eine oder mehrere Leitungen der Mehrzahl von Wortleitungen 130 auf einen logischen Wert 0 oder einen logischen Wert 1 zu klemmen, kann der erste Beeinflusser 260 auch die Wortleitungen 130 dadurch beeinflussen, dass dieser gezielt einzelne Leitungen vertauscht oder zyklisch um einen vorbestimmten Wert (beispielsweise um 1) verschiebt. Grundsätzlich besteht auch für die weiter oben beschriebenen Fehlersimulationseinrichtungen, also insbesondere für den EDC-Manipulator 250 und den zweiten Beeinflusser 270, die Möglichkeit, einzelne Bits oder die Reihenfolge von Datenleitungen wie etwa der Bitleitungen 140 zu vertauschen bzw. um einen vorbestimmten Wert, beispielsweise um 1, zyklisch zu verschieben.

Eine vierte Möglichkeit bzw. ein viertes Ausführungsbeispiel zur Simulation eines Fehlers zur Überprüfung der Fehlererkennungsfunktionalität der Speicherschaltung 100 besteht darin, dass die EDC-Schaltung bzw. die Kontrollwerteinrichtung 310 oder die Alarmeinheit 320 entweder so umgeschaltet oder durch Einführen und Aktivieren des Manipulators 230 so beeinflusst wird, dass die Daten DA, die in dem in 1 gezeigten Ausführungsbeispiel von dem Memory-Controller 120 an das EDC-Modul 160 ausgegeben werden, dem EDC-Modul 160 „falsch" erscheinen. Diese Beeinflussung bzw. Manipulation sollte von dem EDC-Modul 160 erkannt werden und an das UmSLC-Modul 220 über die Weiche 240 weitergeleitet werden. Diese Möglichkeit der Fehlersimulation kann in dem in 1 gezeigten Ausführungsbeispiel einer Speicherschaltung 100 dadurch realisiert werden, dass das UmSLC-Modul 220 den Manipulator 230 so ansteuert, dass dieser das von dem Memory-Controller 120 ausgegebene Datum DA so beeinflusst bzw. manipuliert, dass die anschließende Fehlererkennung durch das EDC-Modul 160 fehlschlägt, so dass das EDC-Modul 160 das Fehlersignal FS ausgibt. Hierbei besteht die Möglichkeit, dass der Manipulator 230 eine vorbestimmte oder von dem UmSLC-Modul 220 bestimmte Auswahl der Bits des Datums DA invertiert, auf einen logischen Wert 0 oder einen logischen Wert 1 setzt oder auch eine Mischform dieser Möglichkeiten durchführt. Darüber hinaus besteht ebenfalls die Möglichkeit, gezielt einzelne Bits des Datums DA zu vertauschen oder auch eine zyklische Verschiebung um einen vorbestimmten oder von dem UmSLC-Modul 220 vorgegebenen Wert, beispielsweise um 1, vorzunehmen. Da bei dieser Fehlersimulation nur ein Teil des Datenweges geprüft wird, ist diese vierte Möglichkeit bzw. diese Ausführung jedoch im Vergleich zu den vorher beschriebenen Ausführungen nachteilig.

Auch eine Kombination, also eine parallele Nutzung, oder eine sequenzielle Nutzung der Möglichkeiten der Fehlersimulation, also der vier oben beschriebenen Ausführungsbeispiele, ist denkbar. Im Falle einer sequentiellen Anwendung verschiedener Fehlersimulationsquellen müssen nicht alle Schritte der oben beschriebenen Fehlerüberprüfungsroutine bei jedem Durchgang ausgeführt werden.

Wie bereits oben erläutert wurde, ist es darüber hinaus nicht notwendig, alle Einrichtungen der Gruppe von Störungssimulationseinrichtungen zu implementieren, wenn nicht alle Möglichkeiten zur Störungssimulation implementiert werden sollen. Ist beispielsweise nur eine Implementierung der ersten Möglichkeit vorgesehen, ist im Falle einer Beschränkung auf im vorneherein manipulierte Daten mit entsprechend fehlerhaften EDC-Prüfwerten eine Implementierung der Störungssimulationseinrichtungen nicht notwendig. Im Falle einer ausschließlichen Implementierung der ersten Möglichkeit ohne die genannte Beschränkung kann die Implementierung des Manipulators 230, des ersten Beeinflussers 260 und des zweiten Beeinflussers 270 entfallen. Im Falle einer ausschließlichen Implementierung der zweiten Möglichkeit oder einer ausschließlichen Implementierung der dritten Möglichkeit kann eine Integration des EDC-Manipulators 250 und des Manipulators 230 entfallen. Darüber hinaus kann im Fall einer ausschließlichen Implementierung der zweiten Möglichkeit der erste Beeinflusser 260 und im Fall einer ausschließlichen Implementierung der dritten Möglichkeit der zweite Beeinflusser 270 entfallen. Im Fall einer ausschließlichen Implementierung der vierten Möglichkeit kann eine Implementierung des ersten Beeinflussers 260, des zweiten Beeinflussers 270 und des EDC-Manipulators 250 entfallen.

Auch wenn in dem in 1 gezeigten Ausführungsbeispiel einer Speicherschaltung 100 der eigentliche Speicher für die Daten DA von dem Speicher, der die EDC-Referenzwerte bzw. Prüfwerte umfasst, physikalisch getrennt ist, stellt dies keine Einschränkung der vorliegenden Erfindung dar, sondern ist vielmehr zur Verdeutlichung der verschiedenen Möglichkeiten der Störungssimulationen erfolgt. Es sind durchaus Ausführungsbeispiele denkbar, bei denen die Prüfwerte zusammen mit den Daten DA in der gleichen physikalischen Speichermatrix gespeichert sind. Hierbei kann die Speicherung eines bestimmten Datums und der zugehörigen Prüfsumme bzw. dem zugehörigen EDC-Referenzwert, also der zugehörigen Kontrollwerte je nach Auslegung des Speichers an der gleichen oder einer unterschiedlichen logischen Adresse erfolgen.

Darüber hinaus sollte ebenfalls angemerkt werden, dass die Erfindung nicht auf wortorganisierte Speicher, wie dies das in 1 gezeigte Ausführungsbeispiel andeutet, beschränkt ist. Vielmehr können auch bitorganisierte Speicher sowohl zur Speicherung der EDC-Prüfwerte wie auch der Daten verwendet werden.

Als Speicher können sowohl Festwertspeicher, also beispielsweise ROM-Speicher (ROM = read-only memory), wie auch Speicher, die lesende und schreibende Zugriffe ermöglichen, eingesetzt werden. Beispiele für letztgenannte Speicher stellen RAM-Speicher (RAM = random access memory = Speicher mit wahlfreiem Zugriff), nichtflüchtige Speicher (NVM = non-volatile memory), wie etwa Flash-Speicher oder EEPROM-Speicher (EEPROM = electrically erasable programmable read only memory = elektrisch löschbarer programmierbarer Nur-Lese-Speicher), oder auch Cache-Speicher dar. Je nach verwendetem Speichertyp erfolgt die Kommunikation des Speichers mit anderen Komponenten, wie beispielsweise der CPU, nicht notwendigerweise über einen Bus, wie er in 1 gezeigt ist, sondern über eine andere Datenverbindung, so dass auch der in 1 gezeigte Bus 110 keine Einschränkung der vorliegenden Erfindung darstellt.

Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung in Hardware oder in Software implementiert werden. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette, einer CD oder einer DVD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das erfindungsgemäße Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft. Hierbei ist unter einem Computer jegliche Form eines Prozessors zu verstehen, der ausgelegt ist, um ein Programm oder einen Programmcode auszuführen, also insbesondere auch Mikrocontroller auf einer Chipkarte, einer Smartcard oder einer sonstigen integrierten Schaltung.

100
Speicherschaltung
110
Bus
120
Memory-Controller
130
Wortleitung
140
Bitleitung
150
Speichermatrix
160
EDC-Modul
170
EDC-Memory-Controller
180
EDC-Speichermatrix
190
Wortleitungen
200
Bitleitungen
210
Unterbrecher
220
UmSLC-Modul
230
Manipulator
240
Weiche
250
EDC-Manipulator
260
erster Beeinflusser
270
zweiter Beeinflusser
300
Speichereinrichtung
310
Kontrollwerteinrichtung
315
Kontrollwertspeichereinrichtung
320
Alarmeinheit
800
Speicherschaltung
810
Bus
820
Memory-Controller
830
Wortleitung
840
Bitleitung
850
Speichermatrix
860
EDC-Modul
870
EDC-Memory-Controller
880
EDC-Speichermatrix
890
Wortleitungen
900
Bitleitungen


Anspruch[de]
Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung (100), wobei die Speicherschaltung (100) eine Speichereinrichtung (300), die ausgebildet ist, um ein Datum (DA) zu speichern, und eine Kontrollwerteinrichtung (310), die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, aufweist, wobei die Speichereinrichtung (300) ausgebildet ist, um der Kontrollwerteinrichtung (310) das Datum (DA) bereitzustellen, und wobei die Kontrollwerteinrichtung (310) ausgebildet ist, um das derselben bereitgestellte Datum (DA) auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal (FS) auszugeben, mit folgenden Merkmalen:

einer Überwachungseinrichtung (320), die mit der Kontrollwerteinrichtung (310) gekoppelt ist, um das Fehlersignal (FS) zu empfangen, und ausgebildet ist, um die Kontrollwerteinrichtung (310), die Speichereinrichtung (300) oder das der Kontrollwerteinrichtung (310) bereitgestellte Datum (DA) so zu beeinflussen, dass die Kontrollwerteinrichtung (310) bei einer Überprüfung in dem Fall einer korrekten Ausführung der Fehlererkennungsfunktionalität einen Fehler feststellen würde, und um ein eine nicht korrekte Ausführung der Fehlererkennungsfunktionalität anzeigendes Alarmsignal (AL) auszugeben, wenn die Kontrollwerteinrichtung (310) auf die Beeinflussung hin der Überwachungseinrichtung (320) kein Fehlersignal (FS) ausgibt.
Vorrichtung nach Anspruch 1, bei der die Kontrollwerteinrichtung (310) ausgebildet ist, um aus dem derselben bereitgestellten Datum (DA) durch Anwenden einer vorbestimmten Operation einen Ist-Wert zu bestimmen, den Ist-Wert mit einem in einer Kontrollwertspeichereinrichtung (315) gespeicherten Kontrollwert zu vergleichen und, falls der Ist-Wert und der Kontrollwert eine vorbestimmte Beziehung zueinander nicht erfüllen, das Fehlersignal (FS) auszugeben. Vorrichtung nach Anspruch 2, bei der die Überwachungseinrichtung (320) ausgebildet ist, um die Beeinflussung durch Manipulation des Kontrollwerts zu erzielen. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Überwachungseinrichtung (320) ausgebildet ist, um die Beeinflussung durch eine Manipulation der Speichereinrichtung (300) so zu erzielen, dass die Speichereinrichtung (300) bei dem Bereitstellen des Datums (DA) für die Kontrollwerteinrichtung (310) der Kontrollwerteinrichtung (310) das Datum (DA) in einem gegenüber einem gespeicherten Zustand des Datums veränderten Zustand bereitstellt. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Überwachungseinrichtung (320) ausgebildet ist, um die Beeinflussung durch eine Manipulation des der Kontrollwerteinrichtung (310) bereitgestellten Datum (DA), so dass dasselbe gegenüber einem ausgelesenen Zustand des Datums verändert ist, zu erzielen. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Speichereinrichtung (300) ausgebildet ist, um das der Kontrollwerteinrichtung (310) bereitgestellte Datum (DA) auf ein das Datum indizierende Aufforderungssignal hin auszulesen und um ein weiteres Datum zu speichern, und bei der die Überwachungseinrichtung (320) ausgebildet ist, um die Beeinflussung durch eine Manipulation des Aufforderungssignals der Speichereinrichtung (300) zu erzielen. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Überwachungseinrichtung (320) ausgebildet ist, um zur Beeinflussung die Kontrollwerteinrichtung (310), die Speichereinrichtung (300) oder das der Kontrollwerteinrichtung (310) bereitgestellte Datum (DA) dann zu beeinflussen, wenn eine vorbestimmte Auslösebedingung erfüllt ist, und die Kontrollwerteinrichtung (310) die Speichereinrichtung (300) und das der Kontrollwerteinrichtung (310) bereitgestellte Datum (DA) nicht zu beeinflussen, wenn die Auslösebedingung nicht erfüllt ist. Vorrichtung nach Anspruch 7, bei der die vorbestimmte Auslösebedingung intermittierend erfüllt ist. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Überwachungseinrichtung (320) weiterhin ausgebildet ist, um nach dem Empfang des Fehlersignals (FS) auf die Beeinflussung der Kontrollwerteinrichtung (310), der Speichereinrichtung (300) oder des der Kontrollwerteinrichtung (310) bereitgestellte Datums (DA) hin die Speichereinrichtung (300) ohne eine Beeinflussung der Kontrollwerteinrichtung (310), der Speichereinrichtung (300) oder des der Kontrollwerteinrichtung (310) bereitgestellten Datums (DA) oder eines weiteren Datums zu einer Bereitstellung des Datums oder des weiteren Datums zu der Kontrollwerteinrichtung (310) zu veranlassen und, falls die Überwachungseinrichtung (320) daraufhin ein weiteres Fehlersignal (FS) von der Kontrollwerteinrichtung (310) empfängt, das Alarmsignal (AL) auszugeben. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Speicherschaltung (100) ausgebildet ist, um auf einen Lesebefehl hin das Datum (DA) auf Fehler zu überprüfen und, falls kein Fehler vorliegt, dasselbe auszugeben. Vorrichtung zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung (100), wobei die Speicherschaltung (100) eine Speichereinrichtung (300), die ausgebildet ist, um ein erstes und zweites Datum zu speichern, eine Kontrollwertspeichereinrichtung (315), die ausgebildet ist, um einen dem ersten Datum zugeordneten ersten Kontrollwert und einen dem zweiten Datum zugeordneten zweiten Kontrollwert zu speichern, und eine Kontrollwerteinrichtung (310), die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, aufweist, wobei das zweite Datum und der zweite Kontrollwert bei einer Überprüfung zu einem Fehler führen, und wobei die Speichereinrichtung (300) und die Kontrollwertspeichereinrichtung (315) ausgebildet sind, um der Kontrollwerteinrichtung (310) das erste oder zweite Datum und den jeweils zugeordneten Kontrollwert bereitzustellen, und wobei die Kontrollwerteinrichtung (310) ausgebildet ist, um das derselben bereitgestellte erste oder zweite Datum auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal (FS) an einem Fehlersignalausgang auszugeben, mit folgenden Merkmalen:

einer Überwachungseinrichtung (320), die ausgebildet ist, um in einem Normalbetriebsmodus das Fehlersignal (FS) an den Fehlersignalausgang durchzulassen und in einem Überprüfungsmodus das Fehlersignal (FS) zu blockieren, um dasselbe nicht an den Fehlersignalausgang durchzulassen, und ein eine nicht korrekte Ausführung der Fehlererkennungsfunktionalität anzeigendes Alarmsignal (AL) auszugeben, wenn die Kontrollwerteinrichtung (310) der Überwachungseinrichtung (320) kein Fehlersignal (FS) ausgibt,

wobei die Speichereinrichtung (300) und die Kontrollwertspeichereinrichtung (315) ausgebildet sind, um in dem Normalbetriebsmodus das erste Datum und den ersten Kontrollwert bereitzustellen und zu überprüfen und in dem Überprüfungsmodus das zweite Datum und den zweiten Kontrollwert bereitzustellen und zu überprüfen.
Vorrichtung nach Anspruch 11, bei der die Kontrollwerteinrichtung (310) ausgebildet ist, um aus dem derselben bereitgestellten ersten oder zweiten Datum durch Anwenden einer vorbestimmten Operation einen Ist-Wert zu bestimmen, den Ist-Wert mit einem in der Kontrollwertspeichereinrichtung (315) gespeicherten Kontrollwert zu vergleichen und, falls der Ist-Wert und der Kontrollwert eine vorbestimmte Beziehung zueinander nicht erfüllen, das Fehlersignal (FS) auszugeben. Vorrichtung nach einem der Ansprüche 11 oder 12, bei der die Überwachungseinrichtung (320) ausgebildet ist, um in den Prüfungsmodus zu wechseln, wenn eine vorbestimmte Auslösebedingung erfüllt ist, und in den Normalbetriebsmodus zu wechseln, wenn die Auslösebedingung nicht erfüllt ist. Vorrichtung nach Anspruch 13, bei der die vorbestimmte Auslösebedingung intermittierend erfüllt ist. Vorrichtung nach einem der Ansprüche 11 bis 14, bei der die Überwachungseinrichtung (320) weiterhin ausgebildet ist, um nach dem Empfangen des Fehlersignals (FS) von der Überwachungseinrichtung (320) nach der Überprüfung des zweiten Datums und des zweiten Kontrollwertes auf einen Fehler, das erste Datum und den ersten Kontrollwert der Kontrollwerteinrichtung (310) zur Überprüfung auf einen Fehler bereitzustellen, eine Überprüfung des zweiten Datums und des zweiten Kontrollwertes zu veranlassen und, falls die Überwachungseinrichtung (320) daraufhin ein weiteres Fehlersignal (FS) von der Kontrollwerteinrichtung (310) empfängt, das Alarmsignal (AL) auszugeben. Vorrichtung nach einem der Ansprüche 11 bis 15, bei der die Speicherschaltung (100) ausgebildet ist, um auf einen Lesebefehl hin, das erste Datum (DA) auf Fehler zu überprüfen und, falls kein Fehler vorliegt, dasselbe auszugeben. Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung (100), wobei die Speicherschaltung (100) eine Speichereinrichtung (300), die ausgebildet ist, um ein Datum (DA) zu speichern, und eine Kontrollwerteinrichtung (310), die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, aufweist, wobei die Speichereinrichtung (300) ausgebildet ist, um der Kontrollwerteinrichtung (310) das Datum (DA) bereitzustellen, und wobei die Kontrollwerteinrichtung (310) ausgebildet ist, um das derselben bereitgestellte Datum (DA) auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal (FS) auszugeben, mit folgenden Schritten:

Beeinflussen der Kontrollwerteinrichtung (110), der Speicherschaltung (300) oder des der Kontrollwerteinrichtung (310) bereitgestellten Datums (DA) so, dass die Kontrollwerteinrichtung (310) bei einer Überprüfung in dem Fall einer korrekten Ausführung der Fehlererkennungsfunktionalität einen Fehler feststellen würde;

Empfangen des Fehlersignals; und

Ausgeben eines eine nichtkorrekte Ausführung der Fehlererkennungsfunktionalität anzeigendes Alarmsignal (AL), falls die Kontrollwerteinrichtung (310) auf den Schritt des Beeinflussens hin kein Fehlersignal (FS) ausgibt.
Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung (100), wobei die Speicherschaltung (100) eine Speichereinrichtung (300), die ausgebildet ist, ein erstes und zweites Datum zu speichern, eine Kontrollwertspeichereinrichtung (315), die ausgebildet ist, um einen dem ersten Datum zugeordneten ersten Kontrollwert und einen dem zweiten Datum zugeordneten zweiten Kontrollwert zu speichern und eine Kontrollwerteinrichtung (310), die ausgebildet ist, um die Fehlererkennungsfunktionalität auszuführen, aufweist, wobei das zweite Datum und der zweite Kontrollwert bei einer Überprüfung zu einem Fehler führen, wobei die Speichereinrichtung (300) und die Kontrollwertspeichereinrichtung (315) ausgebildet sind, um der Kontrollwerteinrichtung (310) das erste oder zweite Datum und den jeweils zugeordneten Kontrollwert bereitzustellen, und wobei die Kontrollwerteinrichtung (310) ausgebildet ist, um das derselben bereitgestellte erste oder zweite Datum auf Fehler zu überprüfen und, falls ein Fehler vorliegt, ein Fehlersignal (FS) an einen Fehlersignalausgang auszugeben, mit folgenden Schritten:

in einem Normalbetriebsmodus:

– Durchlassen des Fehlersignals (FS) an den Fehlersignalausgang;

in einem Überprüfungsmodus:

– Blockieren des Fehlersignals (FS), um dasselbe nicht an den Fehlersignalausgang durchzulassen;

– Empfangen des Fehlersignals (FS) von der Kontrollwerteinrichtung (310); und

– Ausgeben eines eine nicht korrekte Ausführung der Fehlererkennungsfunktionalität anzeigendes Alarmsignal (AL), wenn die Kontrollwerteinrichtung (310) kein Fehlersignal (FS) ausgibt,

wobei die Speichereinrichtung (300) und die Kontrollwertspeichereinrichtung (315) ausgebildet sind, um in dem Normalbetriebsmodus das erste Datum und den ersten Kontrollwert bereitzustellen und zu überprüfen, und in dem Überprüfungsmodus das zweite Datum und den zweiten Kontrollwert bereitzustellen und zu überprüfen.
Computer-Programm mit einem Programmcode zum Durchführen des Verfahrens zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung (100) nach Anspruch 17 oder 18, wenn das Computer-Programm auf einem Computer abläuft.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com