DE102021209038A1 - Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner - Google Patents

Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner Download PDF

Info

Publication number
DE102021209038A1
DE102021209038A1 DE102021209038.9A DE102021209038A DE102021209038A1 DE 102021209038 A1 DE102021209038 A1 DE 102021209038A1 DE 102021209038 A DE102021209038 A DE 102021209038A DE 102021209038 A1 DE102021209038 A1 DE 102021209038A1
Authority
DE
Germany
Prior art keywords
test value
data
memory
memory device
old
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102021209038.9A
Other languages
English (en)
Inventor
Wolfgang Ebeling
Alexander Priebe
Nils Weiss
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Mobility GmbH
Original Assignee
Siemens Mobility GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Mobility GmbH filed Critical Siemens Mobility GmbH
Priority to DE102021209038.9A priority Critical patent/DE102021209038A1/de
Priority to EP22758465.3A priority patent/EP4355633A1/de
Priority to PCT/EP2022/071326 priority patent/WO2023020807A1/de
Priority to CN202280053317.4A priority patent/CN117769698A/zh
Publication of DE102021209038A1 publication Critical patent/DE102021209038A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L27/00Central railway traffic control systems; Trackside control; Communication systems specially adapted therefor
    • B61L27/30Trackside multiple control systems, e.g. switch-over between different systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0063Multiple on-board control systems, e.g. "2 out of 3"-systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die Erfindung betrifft ein 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) parallel gespeichert werden. Um ein zuverlässiges Verfahren ohne zusätzlichen Hardwareaufwand bereitzustellen, ist erfindungsgemäß vorgesehen, 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.

Description

  • Die Erfindung betrifft ein Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner einer eisenbahntechnischen Anlage, wobei jeder Kanal des Rechners wenigstens eine Speichereinrichtung 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 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 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ötigen Sicherheitsanforderungen erfüllen. In der DE 10 2004 035 901 A1 ist beispielsweise ein solcher sicherer Rechner beschrieben.
  • Zufällig auftretende Speicherfehler, die beispielsweise durch 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 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 eines Rechners offenbart. Üblicherweise führt ein so erkannter Speicherfehler zur Abschaltung des Systems, weil nicht ohne weiteres bekannt ist, welcher Kanal die korrekten Daten ausweist. Diese Abschaltung führt allerdings zu einer Verfügbarkeitsminimierung eines solchen Zwei-von-Zwei-Systems.
  • Es sind auch Lösungen bekannt, die dieses Problem durch zusätzlichen Hardwareaufwand lösen. So können beispielsweise Schattenspeicher oder sogenannte ECC-Speicher (Error Correcting Code) eingesetzt werden. Diese werden mit jedem Speicherzugriff zusätzlich zu den Daten in zusätzlichen Speicherbits beschrieben und ausgelesen bzw. ausgewertet, so dass ein Fehler erkannt und korrigiert werden kann.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein eingangs genanntes Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern bereitzustellen, das keinen zusätzlichen Hardwareaufwand benötigt und trotzdem höchste Sicherheitsanforderungen erfüllt.
  • Für das eingangs genannte Verfahren wird die Aufgabe dadurch gelöst, dass 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,
    falls der erste und der zweite Prüfwert unterschiedlich 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 des Teilbereichs der zweiten Speichereinrichtung ersetzt werden, wenn der zweite Prüfwert dem alten Prüfwert entspricht und
    die Daten des Teilbereichs der zweiten Speichereinrichtung durch die Daten des Teilbereichs der ersten Speichereinrichtung ersetzt werden, wenn der erste Prüfwert dem alten Prüfwert entspricht.
  • Die erfindungsgemäße Lösung hat den Vorteil, dass das Verfahren rein softwarebasiert umgesetzt werden kann und nur ein begrenzter Hardwareaufwand nötig ist. Das erfindungsgemäße Verfahren eignet sich 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üfsumme zu verstehen, die über die abgespeicherten Daten berechnet werden. Prinzipiell ist jede Art von Prüfsumme verwendbar. Allerdings ist vorteilhaft, dass die Prüfsumme unabhängig von der Datenmenge gegen eine Restfehlerwahrscheinlichkeit konvergiert. Die erste Speichereinrichtung befindet sich in einem ersten Kanal des sicheren Rechners. Ferner wird der zweite Prüfwert für die Daten des entsprechenden Teilbereichs der zweiten Speichereinrichtung berechnet. In diesen Teilbereichen der ersten und zweiten Speichereinrichtung sind im fehlerfreien 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 ist beispielsweise ebenfalls in den Speichereinrichtungen jedes 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 Wahrscheinlichkeit erhöht, dass eine Korrektur der Daten ermöglicht wird, weil in den Teilbereichen keine betriebsbedingten Datenänderungen stattfanden.
  • Um die Speichereinrichtungen möglichst einfach auszugestalten, kann der alte Prüfwert in einem Prüfwertspeicher 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 eisenbahntechnische Anlage, mit wenigstens einer Speichereinrichtung pro Kanal zum synchronen Speichern von Daten. Erfindungsgemäß ist vorgesehen, dass der Rechner zur Durchführung des Verfahrens nach einer der zuvor genannten Ausführungsformen ausgebildet ist.
  • In einer vorteilhaften Ausgestaltung des erfindungsgemäßen Rechners kann dieser als Teil einer Stellwerkseinrichtung einer eisenbahntechnischen Anlage ausgebildet sein. Alternativ kann der erfindungsgemäße Rechner z.B. auch in Fahrzeugen und anderen sicherheitstechnischen Einrichtungen verwendet werden.
  • Des Weiteren wird ein Computerprogrammprodukt mit Programmbefehlen zur Durchführung des genannten erfindungsgemäßen Verfahrens und/oder dessen Ausführungsbeispielen beansprucht, wobei mittels des Computerprogrammprodukts jeweils das erfindungsgemäße Verfahren und/oder dessen Ausfü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 das Computerprogrammprodukt speichert und/oder bereitstellt. Alternativ und/oder zusätzlich ist die Bereitstellungsvorrichtung beispielsweise ein Netzwerkdienst, ein Computersystem, ein Serversystem, insbesondere ein verteiltes Computersystem, ein cloudbasiertes 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 Bereitstellungsvorrichtung 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:
    • 1 eine schematische Darstellung einer eisenbahntechnischen Anlage mit einem erfindungsgemäßen sicheren Rechner in einer beispielhaften Ausführungsform;
    • 2 eine schematische Darstellung einer beispielhaften Ausführungsform des erfindungsgemäßen Verfahrens, das auf dem Rechner in 1 abläuft.
  • Eine beispielhafte Ausführungsform einer eisenbahntechnischen Anlage 1 in 1 umfasst Fahrzeuge 2, Fahrstrecken 3, Feldelemente 4 und Stellwerkseinrichtungen 5. Der Übersichtlichkeit halber sind in 1 jeweils lediglich ein Beispiel für die genannten unterschiedlichen Komponenten der eisenbahntechnischen Anlage 1 dargestellt.
  • Das in 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 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 1 ist der sichere Rechner 7 vergrößert dargestellt.
  • Der sichere Rechner 7 ist bei der beispielhaften Ausführungsform in 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 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 1 als RAM-Speicher ausgebildet.
  • Um zufällig auftretende Speicherfehler in der ersten Speichereinrichtung 13 oder der zweiten Speichereinrichtung 14 zu erkennen und automatisch zu korrigieren, wird das in 2 schematisch dargestellte und im Folgenden beschriebene erfindungsgemäße Verfahren durchgeführt.
  • Solche Speicherfehler können beispielsweise Bitkipper sein, die beispielsweise durch externe Einflüsse ausgelöst werden können. Die Speicherfehler führen dazu, dass die redundant abgespeicherten Daten in den Speichereinrichtungen 13, 14 nicht mehr komplett gleich sind 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 jeweils 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 beispielsweise eine Speichergröße von 1024 Byte, was weniger als 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 betriebsbedingten Datenschreiben betroffen sind und die übrigen Bereiche auf Speicherfehler überprüft werden können.
  • In einem ersten in 2 dargestellten Verfahrensschritt 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üfsumme oder ein anhand einer Hashfunktion ermittelter Hashwert angesehen werden. Bei der beispielhaften Ausführungsform in den Figuren wird als Prüfwert eine CRC32 Prüfsumme verwendet. Im nächsten Schritt 18 wird ein zweiter Prüfwert 19 für den entsprechenden redundanten Teilbereich der zweiten Speichereinrichtung 14berechnet. Die Teilbereiche in den Speichereinrichtungen 13, 14 weisen die gleichen Daten auf, wenn kein Speicherfehler 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 Speicherfehler vorliegt. Um dies zu erkennen und um den Speicherfehler 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 Teilbereich der zweiten Speichereinrichtung 14 korrekt sind, also hier kein Speicherfehler vorliegt. In diesem Fall werden die Daten des Teilbereichs der ersten Speichereinrichtung 13, die folglich im Umkehrschluss als die vom Speicherfehler 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 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 2 dargestellt, unabhängig voneinander durchgeführt.
  • Der Teilbereich 28 ist bei der beispielhaften Ausführungsform in 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 Speicherort für das Ablegen des alten Prüfwerts 22, 23 nötig ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102004035901 A1 [0002]

Claims (10)

  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, dadurch gekennzeichnet, 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, dadurch gekennzeichnet, dass die Prüfwerte (17, 19) mittels zyklischer Redundanzprüfung - CRC, insbesondere CRC32, oder Hashberechnung bestimmt werden.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, 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, dadurch gekennzeichnet, 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, dadurch gekennzeichnet, 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, dadurch gekennzeichnet, dass der alte Prüfwert (22) in einem Prüfwertspeicher (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, dadurch gekennzeichnet, dass der Rechner (7) zur Durchführung des Verfahrens nach einem der oben genannten Ansprüche ausgebildet ist.
  8. Rechner nach Anspruch 7, dadurch gekennzeichnet, 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.
  10. Bereitstellungsvorrichtung für das Computerprogrammprodukt nach Anspruch 9, wobei die Bereitstellungsvorrichtung das Computerprogrammprodukt speichert und/oder bereitstellt.
DE102021209038.9A 2021-08-18 2021-08-18 Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner Withdrawn DE102021209038A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102021209038.9A DE102021209038A1 (de) 2021-08-18 2021-08-18 Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner
EP22758465.3A EP4355633A1 (de) 2021-08-18 2022-07-29 Automatisches erkennen und korrigieren von speicherfehlern in einem sicheren mehrkanaligen rechner
PCT/EP2022/071326 WO2023020807A1 (de) 2021-08-18 2022-07-29 Automatisches erkennen und korrigieren von speicherfehlern in einem sicheren mehrkanaligen rechner
CN202280053317.4A CN117769698A (zh) 2021-08-18 2022-07-29 安全多通道计算机中的存储错误的自动识别和修正

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021209038.9A DE102021209038A1 (de) 2021-08-18 2021-08-18 Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner

Publications (1)

Publication Number Publication Date
DE102021209038A1 true DE102021209038A1 (de) 2023-02-23

Family

ID=83059221

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021209038.9A Withdrawn DE102021209038A1 (de) 2021-08-18 2021-08-18 Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner

Country Status (4)

Country Link
EP (1) EP4355633A1 (de)
CN (1) CN117769698A (de)
DE (1) DE102021209038A1 (de)
WO (1) WO2023020807A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004035901A1 (de) 2004-07-19 2006-03-16 Siemens Ag Verfahren zum Steuern eines sicherheitskritischen Prozesses und Einrichtung zur Durchführung dieses Verfahrens

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005023296B4 (de) * 2005-05-12 2007-07-12 Siemens Ag Zugbeeinflussungssystem
DE102016206988A1 (de) * 2016-04-25 2017-10-26 Thales Deutschland Gmbh Servereinrichtung betreibend eine Software zur Steuerung einer Funktion eines schienengebundenen Transportsicherungssystems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004035901A1 (de) 2004-07-19 2006-03-16 Siemens Ag Verfahren zum Steuern eines sicherheitskritischen Prozesses und Einrichtung zur Durchführung dieses Verfahrens

Also Published As

Publication number Publication date
CN117769698A (zh) 2024-03-26
EP4355633A1 (de) 2024-04-24
WO2023020807A1 (de) 2023-02-23

Similar Documents

Publication Publication Date Title
EP2447843B1 (de) Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens
DE102007045398A1 (de) Integriertes Mikroprozessorsystem für sicherheitskritische Regelungen
DE19509150C2 (de) Verfahren zum Steuern und Regeln von Fahrzeug-Bremsanlagen sowie Fahrzeug-Bremsanlage
EP1043641A2 (de) Fehlersicheres Automatisierungssystem mit Standard-CPU und Verfahren für ein fehlersicheres Automatisierungssystem
EP4235323A2 (de) Verfahren und vorrichtung zur automatischen validierung von sicherheitsfunktionen an einem modular aufgebauten sicherheitssystem
WO2021233696A1 (de) Verfahren zur sicheren nutzung von kryptografischem material
EP1588380B1 (de) Verfahren zur erkennung und/oder korrektur von speicherzugriffsfehlern und elektronische schaltungsanordnung zur durchführung des verfahrens
EP1924916A2 (de) Speicheranordnung und betriebsverfahren dafür
WO2008014940A1 (de) Steuergerät und verfahren zur steuerung von funktionen
EP3378006B1 (de) Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller
EP3201774A1 (de) Verteiltes echtzeitcomputersystem und zeitgesteuerte verteilereinheit
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
DE102021209038A1 (de) Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner
WO2006108849A1 (de) Verfahren und rechnereinheit zur fehlererkennung und fehlerprotokollierung in einem speicher
DE1937259C3 (de) Selbstprüf ende Fehlererkennungsschaltung
DE102015218890A1 (de) Verfahren und Vorrichtung zum Generieren eines Ausgangsdatenstroms
EP3550748A1 (de) Verfahren zur erkennung von datenverfälschungen bei einer datenübertragung über eine fehlersichere kommunikationsverbindung
DE102009015683A1 (de) Sicherheitssystem zur Sicherung einer fehlersicheren Steuerung elektrischer Anlagen und Sicherheitssteuerung damit
DE10340236B4 (de) Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher
DE102005037226A1 (de) Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch markieren von Registern
DE102021202935A1 (de) Verfahren und Vorrichtung zum Steuern einer Fahrfunktion
EP1738262A1 (de) Verfahren und steuerungssystem zum erkennen eines fehlers bei einer verarbeitung von daten in einem verarbeitungssystem
DE102005040917A1 (de) Datenverarbeitungssystem und Betriebsverfahren dafür
EP0453609A1 (de) Verfahren zum Testen einer kleinsten adressierbaren Einheit eines RAM's auf über einer bestimmten Zahl liegende Bitfehler
DE102012023182B3 (de) Verfahren zum Betreiben mindestens einer Maschine

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee