PRIEBE ALEXANDER (DE)
WEISS NILS (DE)
WO2006120165A1 | 2006-11-16 |
EP3448735B1 | 2020-04-29 | |||
DE102004035901A1 | 2006-03-16 |
Patentansprüche 1. Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner (7) einer eisenbahntechnischen Anlage (1) , wobei jeder Kanal (8, 9) des Rechners (7) wenigstens eine Speichereinrichtung (13, 14) aufweist und gleiche Daten in den Speichereinrichtungen (13, 14) der Kanäle (8, 9) parallelgespeichert werden, d a d u r c h g e k e n n z e i c h n e t , dass ein erster Prüfwert (17) für Daten eines Teilbereichs (28) der ersten Speichereinrichtung (13) berechnet wird, ein zweiter Prüfwert (19) für gleiche Daten eines Teilbereichs (28) der zweiten Speichereinrichtung (14) berechnet wird, der erste und der zweite Prüfwert (17, 19) miteinander verglichen werden, falls der erste und der zweite Prüfwert (17, 19) unterschiedlich sind, der erste Prüfwert (17) und/oder der zweite Prüfwert (19) mit einem alten Prüfwert (23) verglichen werden, die Daten des Teilbereichs (28) der ersten Speichereinrichtung (13) durch die Daten des Teilbereichs (28) der zweiten Speichereinrichtung (14) ersetzt werden, wenn der zweite Prüfwert (19) dem alten Prüfwert (23) entspricht und die Daten des Teilbereichs (28) der zweiten Speichereinrichtung (14) durch die Daten des Teilbereichs (28) der ersten Speichereinrichtung (13) ersetzt werden, wenn der erste Prüfwert (17) dem alten Prüfwert (22) entspricht. 2. Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass die Prüfwerte (17, 19) mittels zyklischer Redundanzprüfung - CRC, insbesondere CRC32, oder Hashberechnung bestimmt werden. 3. Verfahren nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t , dass das Verfahren für eine Vielzahl von Teilbereichen (28) der Speichereinrichtungen (13, 14) unabhängig voneinander durchgeführt wird. 4. Verfahren nach einem der oben genannten Ansprüche, d a d u r c h g e k e n n z e i c h n e t , dass das Verfahren zyklisch wiederholt wird und, wenn der erste Prüfwert (17) und der zweite Prüfwert (19) im aktuellen Zyklus gleich sind, diese als alter erster Prüfwert (22) und alter zweiter Prüfwert (23) für den nächsten Zyklus abgespeichert werden. 5. Verfahren nach einem der oben genannten Ansprüche, d a d u r c h g e k e n n z e i c h n e t , dass eine Speichergröße der Teilbereiche (28) unter 5%, insbesondere unter 1% der verfügbaren Speichergröße der Speichereinrichtungen (13, 14) liegt. 6. Verfahren nach einem der oben genannten Ansprüche, d a d u r c h g e k e n n z e i c h n e t , dass der alte Prüfwert (22) in einem Prüf Wertspeicher (30) der ersten Speichereinrichtung (13) und/oder in einem Prüfwertspeicher (30) der zweiten Speichereinrichtung (14) gespeichert wird. 7. Sicherer mehrkanaliger Rechner (7) für eine eisenbahntechnische Anlage (1) , mit wenigstens einer Speichereinrichtung (13, 14) pro Kanal (8, 9) zum synchronen Speichern von Daten, d a d u r c h g e k e n n z e i c h n e t , dass der Rechner (7) zur Durchführung des Verfahrens nach einem der oben genannten Ansprüche ausgebildet ist. 8. Rechner nach Anspruch 7, d a d u r c h g e k e n n z e i c h n e t , dass der Rechner (7) als Teil einer Stellwerkseinrichtung (5) ausgebildet ist. 9. Computerprogrammprodukt mit Programmbefehlen zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 6. 15 10 . Bereitstellungsvorrichtung für das Computerprogrammprodukt nach Anspruch 9 , wobei die Bereitstellungsvorrichtung das Computerprogrammprodukt speichert und/oder bereitstellt . |
AUTOMATISCHES ERKENNEN UND KORRIGIEREN VON SPEICHERFEHLERN IN EINEM SICHEREN MEHRKANALIGEN RECHNER 5
Die Erfindung betrifft ein Verfahren zum automatischen Erkennen und Korrigieren von Speicherf ehlern in einem sicheren mehr kanaligen Rechner einer eisenbahntechnischen Anlage, wobei jeder Kanal des Rechners wenigstens eine Speichereinrich-0 tung aufweist und Daten in den Speichereinrichtungen der Kanäle parallel gespeichert werden.
In eisenbahntechnischen Anlagen ist eine hohe Sicherheit gefordert, weil ansonsten große Gefahren beispielsweise für 5 Fahrgäste oder andere beteiligte Personen entstehen können.
Für viele Prozesse, wie beispielsweise im Stellwerksbereich, sind daher nach geltenden Normen hohe Sicherheitsstufen - SIL (Safety Integrity Level) wie beispielsweise SIL 3 oder SIL 4 gefordert. Bei den heute vielfach im Einsatz befindlichen 0 Computern, die Prozesse der eisenbahntechnischen Anlage steuern, handelt es sich daher oft um sogenannte sichere Rechner. Mit dem Begriff sichere Rechner sind beispielsweise spezielle Industrierechner gemeint, die durch redundante Ausführung eine ausreichende Fehleroffenbarung haben und dadurch die nöti-5 gen Sicherheitsanforderungen erfüllen. In der
DE 10 2004 035 901 Al ist beispielsweise ein solcher sicherer Rechner beschrieben.
Zufällig auftretende Speicherfehler, die beispielsweise durch 0 externe Einflüsse, wie zum Beispiel Soft Errors oder durch mangelnde Störabstände in den Speicherbauteilen, ausgelöst werden können, können zu Fehlfunktionen von elektrischen Geräten führen und sind im sicherheitsrelevanten Umfeld einer eisenbahntechnischen Anlage problematisch. Solche zufälligen 5 Speicherfehler wie Bitkipper treten unabhängig von der Nutzung von Speichereinrichtungen statistisch überall in den verwendeten Speichereinrichtungen, beispielsweise RAM Speichern, auf . Daher können diese Speicherfehler sowohl bei hochdynamischen Dateninhalten , konstanten Dateninhalten sowie in ungenutzten Speicherbereichen auftreten . Solche hier gemeinten Speicherfehler sind nicht motiviert durch Defekte in den Speicherbauteilen . Die beschriebenen zufälligen Speicherfehler sind selbstverständlich bereits in der Auslegung einer eisenbahntechnischen Anlage berücksichtigt und werden typischerweise durch den Vergleich von zwei unabhängigen Speichereinrichtungen in unterschiedlichen Kanälen eine s Rechners offenbart . Üblicherweise führt ein so erkannter Speicherfehler zur Abschaltung des Systems , weil nicht ohne weiteres bekannt ist , welcher Kanal die korrekten Daten auswei st . Diese Abschaltung führt allerdings zu einer Verfügbarkeit sminimierung eine s solchen Zwei-von- Zwei-Systems .
Es s ind auch Lösungen bekannt , die dieses Problem durch zusätz lichen Hardwareaufwand lösen . So können beispielsweise Schattenspeicher oder sogenannte ECC-Speicher ( Error Correcting Code ) eingesetzt werden . Diese werden mit j edem Speicherzugriff zusätz lich zu den Daten in zusätzlichen Speicherbits beschrieben und ausgele sen bzw . ausgewertet , so da s s ein Fehler erkannt und korrigiert werden kann .
Es i st die Aufgabe der vorliegenden Erfindung , ein eingangs genanntes Verfahren zum automati schen Erkennen und Korrigieren von Speicherfehlern bereitzustellen , das keinen zusätzlichen Hardwareaufwand benötigt und trotzdem höchste Sicher- heit sanf orderungen erfüllt .
Für das eingangs genannte Verfahren wird die Aufgabe dadurch gelöst , das s ein erster Prüfwert für Daten eines Teilbereichs der ersten Speichereinrichtung berechnet wird, ein zweiter Prüfwert für gleiche Daten eines Teilbereichs der zweiten Speichereinrichtung berechnet wird, der erste und der zweite Prüfwert miteinander verglichen werden , fall s der erste und der zweite Prüfwert unters chiedlich sind , der erste Prüfwert und/oder der zweite Prüfwert mit einem alten Prüfwert verglichen werden , die Daten des Teilbereichs der ersten Speichereinrichtung durch die Daten de s Teilbereichs der zweiten Speichereinrichtung ersetzt werden , wenn der zweite Prüfwert dem alten Prüf wert entspricht und die Daten des Teilbereichs der zweiten Speichereinrichtung durch die Daten de s Teilbereichs der ersten Speichereinrichtung ersetzt werden , wenn der erste Prüfwert dem alten Prüfwert entspricht .
Die erfindungsgemäße Lösung hat den Vorteil , das s das Verfahren rein softwarebasiert umgeset zt werden kann und nur ein begrenzter Hardwareaufwand nötig ist . Das erfindungsgemäße Verfahren eignet s ich besonders in Zwei-von-Zwei-Systemen , das heißt also in sicheren Rechnern mit genau zwei redundanten Kanälen .
Dabei wird der erste Prüfwert für die Daten eines Teilbereichs der ersten Speichereinrichtung berechnet . Unter Prüfwert ist hier beispielsweise ein Hashwert oder eine Prüf summe zu verstehen , die über die abgespeicherten Daten berechnet werden . Prinz ipiell ist j ede Art von Prüf summe verwendbar . Allerdings ist vorteilhaft , das s die Prüf summe unabhängig von der Datenmenge gegen eine Re stfehlerwahrs cheinlichkeit konvergiert . Die erste Speichereinrichtung befindet sich in einem ersten Kanal des sicheren Rechners . Ferner wird der zweite Prüfwert für die Daten de s entsprechenden Teilbereichs der zweiten Speichereinrichtung berechnet . In diesen Teilbereichen der ersten und zweiten Speichereinrichtung sind im fehlerf reien Zustand die gleichen Daten redundant gespeichert .
Anschließend werden der erste und der zweite Prüfwert miteinander verglichen . Falls kein Speicherfehler vorliegt , sollten die Prüfwerte gleich sein . Falls aber der erste und der zweite Prüfwert unterschiedlich sind, werden erfindungsgemäß der erste Prüfwert und/oder der zweite Prüfwert mit dem alten Prüfwert verglichen . Der alte Prüfwert i st beispielsweise ebenfalls in den Speichereinrichtungen j edes Kanals abgespeichert und wurden zu einem früheren Zeitpunkt berechnet . Der alte Prüfwert ist gleich mit ersten und zweiten Prüfwerten zum früheren Zeitpunkt, die als zu nicht verfälschten Daten gehörend erkannt waren. Wenn somit keine Daten verändert wurden, durch gewolltes Ändern oder Speicherfehler, müssen die auf nicht korrumpierten Daten basierenden ersten und zweiten Prüfwerte mit dem alten Prüfwert übereinstimmen. Im Folgenden wird teilweise von fehlerhaften Prüfwerten gesprochen. Damit sind auf verfälschten Daten basierende Prüfwerte gemeint. An sich sind diese sogenannten falschen Prüfwerte aus den ihnen zugrundeliegenden Daten völlig korrekt berechnet. Nur die zugrundeliegenden Daten sind korrumpiert und damit falsch. Durch den Vergleich mit dem alten Prüfwert kann erfindungsgemäß auf sehr einfache Weise erkannt werden, in welcher Speichereinrichtung der Speicherfehler vorliegt und die Daten ersetzt werden müssen.
Folglich werden die Daten des Teilbereichs der ersten Speichereinrichtung durch die Daten des Teilbereichs der zweiten Speichereinrichtung ersetzt, wenn der zweite Prüfwert dem alten Prüfwert entspricht. Andererseits werden die Daten des Teilbereichs der zweiten Speichereinrichtung durch die Daten des Teilbereichs der ersten Speichereinrichtung ersetzt, wenn der erste Prüfwert dem alten Prüfwert entspricht. Es wird nur ein alter Prüfwert verwendet, obwohl selbstverständlich ursprünglich ein alter erster Prüfwert und ein alter zweiter Prüfwert vorlagen. Da diese aber als auf korrekten Daten beruhend erkannt wurden, sind sie gleich und können somit als ein einziger alter Prüfwert abgespeichert und verwendet werden .
Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, dass es rein durch Software realisiert werden kann und dass es anwendungsunabhängig z.B. durch einen Betriebssystemhintergrundprozess erfolgen kann.
Die erfindungsgemäße Lösung kann durch vorteilhafte Ausgestaltungen weiterentwickelt werden, die im Folgenden beschrieben sind. So können die Prüfwerte mittels zyklischer Redundanzprüfung - CRC, insbesondere CRC32, oder durch Hashberechnung bestimmt werden. CRC steht hier für den englischen Begriff Cyclic Redundancy Check, meint also zyklische Redundanzprüfung. Dieses bekannte Verfahren ist hier besonders geeignet, weil es zuverlässig die Integrität von Daten bestätigt und leicht durchgeführt werden kann. Propere CRC Algorithmen sind hier vorteilhaft, weil deren Prüfsumme unabhängig von der Datenmenge gegen eine Restfehlerwahrscheinlichkeit konvergiert. CRC32 ist die 32 Bit-Version, die höhere Anforderungen und damit eine höhere Sicherheit erfüllt. Die alternative Hashberechnung ist weit verbreitet und ermöglicht eine effiziente Berechnung starker Prüfwerte .
Um die gesamten Speichereinrichtungen auf Speicherfehler schnell und einfach überprüfen zu können, kann das Verfahren für eine Vielzahl von Teilbereichen der Speichereinrichtung unabhängig voneinander durchgeführt werden. Dies kann auch gleichzeitig geschehen.
Ferner kann das Verfahren zyklisch wiederholt werden und, wenn der erste Prüfwert und der zweite Prüfwert im aktuellen Zyklus gleich sind, können diese als alter erster Prüfwert und alter zweiter Prüfwert für den nächsten Zyklus abgespeichert werden. Dies hat den Vorteil, dass die Speichereinrichtungen kontinuierlich auf Speicherfehler überprüft werden und die alten Prüfwerte kontinuierlich abgelegt werden.
Um die Wahrscheinlichkeit zu minimieren, dass die Prüfwerte sich aufgrund betriebsbedingter Datenänderung ständig ändern und eine Fehlererkennung unmöglich machen, kann eine Speichergröße der Teilbereiche unter 5%, insbesondere unter 1% der verfügbaren Speichergröße der Speichereinrichtungen liegen. Ziel ist es, die Speichergröße ausreichend klein zu wählen. Es ist hier von Vorteil, die Speichereirichtungen in möglichst viele, relativ kleine Teilbereiche zu unterteilen, in denen jeweils das erfindungsgemäße Verfahren durchgeführt wird . Dadurch wird die Wahrs cheinlichkeit erhöht , das s eine Korrektur der Daten ermöglicht wird, weil in den Teilbereichen keine betriebsbedingten Datenänderungen stattfanden .
Um die Speichereinrichtungen möglichst einfach aus zugestalten , kann der alte Prüfwert in einem Prüf Wertspeicher der ersten Speichereinrichtung und/oder in einem Prüfwertspeicher der zweiten Speichereinrichtung gespeichert werden .
Die Erfindung betrifft weiterhin einen sicheren mehrkanaligen Rechner für eine eisenbahntechni sche Anlage , mit wenigstens einer Speichereinrichtung pro Kanal zum synchronen Speichern von Daten . Erfindungsgemäß i st vorge sehen , das s der Rechner zur Durchführung des Verfahrens nach einer der zuvor genannten Ausführungsformen ausgebildet ist .
In einer vorteilhaften Ausge staltung des erfindungsgemäßen Rechners kann dieser al s Teil einer Stellwerkseinrichtung einer eisenbahntechnischen Anlage ausgebildet sein . Alternativ kann der erfindungsgemäße Rechner z . B . auch in Fahrzeugen und anderen s icherheit stechnischen Einrichtungen verwendet werden .
Des Weiteren wird ein Computerprogrammprodukt mit Programmbefehlen zur Durchführung des genannten erf indungsgemäßen Verfahrens und/oder des sen Ausführungsbeispielen beansprucht , wobei mittels des Computerprogrammprodukt s j eweils das erfindungsgemäße Verfahren und/oder des sen Aus führungsbeispiele durchführbar sind .
Darüber hinaus wird eine Bereitstellungsvorrichtung zum Speichern und/oder Bereitstellen des Computerprogrammprodukts beansprucht . Die Bereitstellungsvorrichtung ist beispielsweise ein Datenträger , der da s Computerprogrammprodukt speichert und/oder bereitstellt . Alternativ und/oder zusätzlich i st die Bereitstellungsvorrichtung beispielsweise ein Netzwerkdienst , ein Computersystem, ein Serversystem, insbesondere ein verteiltes Computersystem, ein cloudbas ierte s Rechnersystem und/oder virtuelles Rechnersystem, welches das Computerprogrammprodukt vorzugsweise in Form eines Datenstroms speichert und/oder bereitstellt .
Die Bereitstellung erfolgt beispielsweise als Download in Form eines Programmdatenblocks und/oder Befehlsdatenblocks, vorzugsweise als Datei, insbesondere als Downloaddatei, oder als Datenstrom, insbesondere als Downloaddatenstrom, des vollständigen Computerprogrammprodukts. Diese Bereitstellung kann beispielsweise aber auch als partieller Download erfolgen, der aus mehreren Teilen besteht und insbesondere über ein Peer-to-Peer Netzwerk heruntergeladen oder als Datenstrom bereitgestellt wird. Ein solches Computerprogrammprodukt wird beispielsweise unter Verwendung der Bereitstellungs Vorrichtung in Form des Datenträgers in ein System eingelesen und führt die Programmbefehle aus, sodass das erfindungsgemäße Verfahren auf einem Computer zur Ausführung gebracht wird oder das Erstellungsgerät derart konfiguriert, dass dieses das erfindungsgemäße Werkstück erzeugt.
Im Folgenden wird die Erfindung mit Bezug auf die beigefügten Zeichnungen erläutert.
Es zeigen:
Figur 1 eine schematische Darstellung einer eisenbahntechnischen Anlage mit einem erfindungsgemäßen sicheren Rechner in einer beispielhaften Ausführungsform;
Figur 2 eine schematische Darstellung einer beispielhaften Ausführungsform des erfindungsgemäßen Verfahrens, das auf dem Rechner in Figur 1 abläuft.
Eine beispielhafte Ausführungsform einer eisenbahntechnischen Anlage 1 in Figur 1 umfasst Fahrzeuge 2, Fahrstrecken 3, Feldelemente 4 und Stellwerkseinrichtungen 5. Der Übersichtlichkeit halber sind in Figur 1 jeweils lediglich ein Bei- spiel für die genannten unterschiedlichen Komponenten der eisenbahntechnischen Anlage 1 dargestellt.
Das in Figur 1 dargestellte Feldelement 4 ist hier beispielsweise ein Lichtsignal. Andere Feldelemente, wie Weichen, Bahnübergänge, Achszähler oder ähnliches können selbstverständlich auch umfasst sein. Das Feldelement 4 in Figur 1 umfasst weiterhin ein Steuerungsmodul 6, das wiederum einen sicheren Rechner 7 umfasst und das von der Steuerungseinrichtung 5 angesteuert wird. Der erfindungsgemäße sichere Rechner 7 könnte alternativ oder zusätzlich auch in anderen Teilen der eisenbahntechnischen Anlage, beispielsweise der Stellwerkseinrichtung 5, eingesetzt sein. Im oberen Teil von Figur 1 ist der sichere Rechner 7 vergrößert dargestellt.
Der sichere Rechner 7 ist bei der beispielhaften Ausführungsform in Figur 1 ein sogenanntes Zwei-von-Zwei-System, das heißt, der sichere Rechner 7 umfasst einen ersten Kanal 8 und einen redundanten zweiten Kanal 9. Die zwei Kanäle 8, 9 sind jeweils mit einem Datenbussystem 10 verbunden, die wiederum jeweils mit nicht näher beschriebener Verarbeitungslogik verbunden sind. Die Verarbeitungslogik ist zur Steuerung von Feldelementen 4, wie beispielsweise dem in Figur 1 dargestellten Lichtsignal, ausgebildet.
Der erste Kanal 8 und der zweite Kanal 9 des sicheren Rechners 7 umfassen jeweils separate Controller 12. Weiterhin umfasst der erste Kanal 8 eine erste Speichereinrichtung 13 und der zweite Kanal 9 eine zweite Speichereinrichtung 14. Der erste Kanal 8 und der zweite Kanal 9 sind weiterhin über Schnittstellen 15 miteinander verbunden, so dass Daten ausgetauscht und verglichen werden können. Die Speichereinrichtungen 13, 14 sind bei der beispielhaften Ausführungsform in Figur 1 als RAM-Speicher ausgebildet.
Um zufällig auftretende Speichert ehler in der ersten Speichereinrichtung 13 oder der zweiten Speichereinrichtung 14 zu erkennen und automatisch zu korrigieren, wird das in Figur 2 schematis ch dargestellte und im Folgenden beschriebene erfindungsgemäße Verfahren durchgeführt .
Solche Speicherfehler können bei spielswei se Bitkipper sein , die beispielsweise durch externe Einflüs se ausgelöst werden können . Die Speicherfehler führen da zu , das s die redundant abge speicherten Daten in den Speichereinrichtungen 13 , 14 nicht mehr komplett gleich s ind und zu einem unsicheren Zustand führen können . Durch das erfindungsgemäße Verfahren können solche Speicherfehler erkannt und automatisch korrigiert werden .
Die Speichereinrichtungen 13 , 14 sind j eweils in viele Teilbereiche aufgeteilt , die mit Hilfe des erfindungsgemäßen Verfahrens separat geprüft werden . Bei der beispielhaften Ausführungsform in den Figuren haben diese Teilbereiche beispielswei se eine Speichergröße von 1024 Byte , was weniger al s 1% der verfügbaren Speichergröße der Speichereinrichtungen 13 , 14 ist . Andere Speichergrößen sind selbstverständlich auch möglich . Relativ kleine Teilbereiche , bezogen auf die Speichergröße , sind allerdings von Vorteil , weil dadurch im laufenden Betrieb lediglich wenige Teilbereiche vom betriebs bedingten Datenschreiben betroffen s ind und die übrigen Bereiche auf Speicherfehler überprüft werden können .
In einem ersten in Figur 2 darge stellten Verfahrens schritt 16 wird ein erster Prüfwert 17 für die Daten des Teilbereichs der ersten Speichereinrichtung 13 berechnet . Als Prüfwert kann hier eine Prüf summe oder ein anhand einer Hashfunktion ermittelter Hashwert angesehen werden . Bei der beispielhaften Ausführungsform in den Figuren wird als Prüfwert eine CRC32 Prüf summe verwendet . Im nächsten Schritt 18 wird ein zweiter Prüfwert 19 für den ent sprechenden redundanten Teilbereich der zweiten Speichereinrichtung 14berechnet . Die Teilbereiche in den Speichereinrichtungen 13 , 14 weisen die gleichen Daten auf , wenn kein Speicherf ehler vorliegt . Im nächsten Schritt 20 werden der erste Prüfwert 17 und der zweite Prüfwert 19 miteinander verglichen. Um den Vergleich durchführen zu können, ist es gegebenenfalls nötig, dass die Prüfwerte 17, 19 zwischen den Kanälen 8, 9 über die Schnittstellen 15 ausgetauscht werden. Für den Fall, dass der erste und der zweite Prüfwert 17, 19 gleich sind, wurde kein Speicherfehler erkannt und es kann mit Schritt 21 fortgefahren werden. Im Schritt 21 werden der erste Prüfwert 17 als alter erster Prüfwert 22 und der zweite Prüfwert 19 als alter zweiter Prüfwert 23 abgespeichert. Da der erste Prüfwert 17 und der zweite Prüfwert 19 gleich sind, kann auch nur ein alter Prüfwert 22, 23 abgespeichert werden.
Danach kann das Verfahren erneut mit Schritt 16 gestartet werden. Das erfindungsgemäße Verfahren kann kontinuierlich durchlaufen werden, um Speicherfehler schnell nach ihrem Auftreten erkennen und beheben zu können.
Wenn in Schritt 20 allerdings der Vergleich ergibt, dass der erste Prüfwert 17 und der zweite Prüfwert 19 unterschiedlich sind, ist dadurch ein Speicherfehler erkannt worden. Allerdings ist hierdurch noch nicht klar, in welcher der beiden Speichereinrichtungen 13, 14 der Speicherf ehler vorliegt. Um dies zu erkennen und um den Speicherf ehler automatisch zu korrigieren, wird das erfindungsgemäße Verfahren mit Schritt 24 fortgeführt.
In Schritt 24 wird der erste Prüfwert 17 mit dem abgespeicherten alten Prüfwert 22, 23 verglichen. Gleichzeitig oder alternativ wird der zweite Prüfwert 19 mit dem alten Prüfwert 22, 23 verglichen.
Der alte Prüfwert 22, 23 ist aus einem vorherigen Prüfzyklus, bei dem die Prüfwerte 17, 19 gleich waren und somit kein Speicherfehler vorlag, berechnet und abgespeichert worden.
Wenn der zweite Prüfwert 19 gleich ist mit dem alten Prüfwert 22, 23, bedeutet dies, dass die Daten im betreffenden Teilbe- reich der zweiten Speichereinrichtung 14 korrekt sind, also hier kein Speichert ehler vorliegt. In diesem Fall werden die Daten des Teilbereichs der ersten Speichereinrichtung 13, die folglich im Umkehrschluss als die vom Speicherf ehler verfälschten Daten erkannt wurden, durch die Daten des Teilereichs der zweiten Speichereinrichtung 14 ersetzt. Dies erfolgt im Schritt 25.
Wenn jedoch der erste Prüfwert 17 gleich ist mit dem alten Prüfwert 22, bedeutet dies, dass die Daten der ersten Speichereinrichtung 13 korrekt und ohne Speicherfehler sind. In diesem Fall werden in Schritt 26 die Daten des Teilbereichs der zweiten Speichereinrichtung 14 durch die Daten des Teilbereichs der ersten Speichereinrichtung 13 automatisch ersetzt .
Im nächsten Schritt 27 kann das erfindungsgemäße Verfahren beendet bzw. in Schritt 16 erneut gestartet werden. Ein Abspeichern des alten Prüfwerts 22, 23 ist in diesem Fall nicht unbedingt nötig, da er sich gegenüber den vorherigen alten Prüfwert nicht verändert hat .
Das beschriebene erfindungsgemäße Verfahren kann parallel für viele oder sogar alle Teilbereiche der Speichereinrichtungen 13, 14 durchgeführt werden.
In Figur 1 ist beispielhaft und schematisch auch ein Teilbereich 28 der ersten Speichereinrichtung 13 dargestellt. Selbstverständlich trifft die Darstellung des Teilbereichs 28 auch für die nicht dargestellten Teilbereiche der zweiten Speichereinrichtung 14 zu. Jede Speichereinrichtung 13, 14 umfasst eine Vielzahl von Teilbereichen 28. Für jeden Teilbereich 28 wird in dem sicheren Rechner 7 das erfindungsgemäße Verfahren wie zuvor beschrieben und in Figur 2 dargestellt, unabhängig voneinander durchgeführt.
Der Teilbereich 28 ist bei der beispielhaften Ausführungsform in Figur 1 beispielsweise 1024 Byte groß. Der Teilbereich 28 umfasst hierbei einen nutzbaren Speicher 29 und einen Prüfwertspeicher 30. Im nutzbaren Speicher 29 werden die Nutzdaten abgelegt. Unter Nutzdaten sind die normalen im Betrieb des Rechners 7 abzulegenden Daten.
Dieses Speichern der Nutzdaten erfolgt wie zuvor schon erwähnt redundant in den Kanälen 8, 9, um die nötige Sicherheit zu gewährleisten. Jeder Teilbereich 28 im ersten Kanal 8 weist also einen Teilbereich 28 im zweiten Kanal 9 auf, in dem die gleichen Nutzdaten abgelegt werden.
Im Prüfwertspeicher 30 werden der alte Prüfwert 22 bzw. 23 abgelegt, um diesen für das erfindungsgemäße Verfahren nutzen zu können. Dies hat den Vorteil, dass kein anderer Speicher- ort für das Ablegen des alten Prüfwerts 22, 23 nötig ist.