DE102004029614A1 - Computer for safe technical arrangement of transport system with rail-bound train, has information area including logical blocks, each with validity note, where computer allows execution of program in volatile memory - Google Patents

Computer for safe technical arrangement of transport system with rail-bound train, has information area including logical blocks, each with validity note, where computer allows execution of program in volatile memory Download PDF

Info

Publication number
DE102004029614A1
DE102004029614A1 DE200410029614 DE102004029614A DE102004029614A1 DE 102004029614 A1 DE102004029614 A1 DE 102004029614A1 DE 200410029614 DE200410029614 DE 200410029614 DE 102004029614 A DE102004029614 A DE 102004029614A DE 102004029614 A1 DE102004029614 A1 DE 102004029614A1
Authority
DE
Germany
Prior art keywords
data
block
memory
pointers
information area
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
DE200410029614
Other languages
German (de)
Inventor
Hans-Helmut Schweißthal
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 AG
Original Assignee
Siemens AG
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 AG filed Critical Siemens AG
Priority to DE200410029614 priority Critical patent/DE102004029614A1/en
Publication of DE102004029614A1 publication Critical patent/DE102004029614A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Abstract

The computer has an information area (2) including logical blocks (2a, 2b), each with a marking and a validity note. The validity note is set in an invalid position, before the carry over by pointers (5, 6) of the blocks. The validity note is set in a valid position, after carrying out a writing. The pointers of block (2b) are carried over in a same manner as that of the pointers of block (2a), by resetting the validity note. The computer allows execution of a program in a volatile memory. An independent claim is also included for a method of safe storage of user data using a program, which can be executed on a computer for safe technical arrangement of transport system with a rail-bound train.

Description

Die Erfindung betrifft einen sicheren Rechner und ein Verfahren zur sicheren Abspeicherung von Nutzdaten für einen sicheren Rechner gemäß den Oberbegriffen der Ansprüche 1 und 6.The The invention relates to a secure computer and a method for secure storage of user data for a secure computer according to the generic terms the claims 1 and 6.

Sicherungstechnische Anlagen für Transportsysteme mit gleisgebundenen Zügen sind allgemein bekannt. Diese sind heute mit einem Rechner zum Ausführen von Anwendungsprogrammen ausgestattet, wobei der Rechner bei sicherungstechnischen Anlagen regelmäßig als sicherer Rechner ausgebildet ist. Ein solcher Rechner kann aus zwei parallelen Rechnerkanälen bestehen, welche dieselben Programmschritte parallel ausführen, wobei durch Vergleich beispielsweise der Ergebnisse der beiden Kanäle feststellbar ist, ob der Rechner korrekt arbeitet und die Ergebnisse folglich „sicher" sind, also keine rechnerbedingten Fehler aufweisen. Die Arbeit des Rechners beinhaltet in der Regel, Nutzdaten der Anlage in einem remanenten Speicher abzulegen. Bei den Nutzdaten kann es sich um Protokolle eines Betriebsablaufes oder aber Konfigurationen der Anlage und dergleichen handeln. Zur Verringerung der Zugriffszeit auf die Nutzdaten werden Informationsdaten über die Nutzdatenspeicherung, also Verwaltungsinformationen, ebenfalls im remanenten Speicher abgelegt. Die Ablage der Daten erfolgt so, dass die Nutzdaten in einem Datenbereich und die zugehörigen Informationsdaten in einen Informationsbereich jeweils auf Daten-Speicherplätzen abgelegt werden. Dabei zeigen Schreibzeiger auf die nächsten zum Beschreiben freigegebenen und Lesezeiger auf die nächsten zu lesenden Da ten-Speicherplätze. Die Informationsdaten sind für jedes Nutzdatum in einem zugehörigen Block des Informationsbereiches abgelegt. Der Schreibzeiger wird nach dem Beschreiben eines Daten-Speicherplatzes und der Lesezeiger nach dem Lesen eines Daten-Speicherplatzes weitergestellt, also beispielsweise um den Wert 1 erhöht. Damit in jedem Block die weitergestellten Zeiger aktuell vorhanden sind, werden diese entsprechend überschrieben. Die Ablage der Nutzdaten kann in einer Reihe von Datensätzen erfolgen. Bekannt sind auch Füllstandszähler, die sich implizit aus der Position von Schreib- und Lesezeiger ergeben.assurance Technical Facilities for Transport systems with track-bound trains are well known. These are today with a computer for executing application programs equipped, whereby the computer with fuse-technical plants regularly as secure computer is formed. Such a calculator can consist of two parallel computer channels which execute the same program steps in parallel, where by comparing, for example, the results of the two channels detectable is whether the calculator is working correctly and the results are therefore "safe", so none have computer-related errors. The work of the calculator includes As a rule, user data of the system in a retentive memory store. The user data can be logs of an operating procedure or else configurations of the plant and the like. to Reduction of access time to the payload data is information about the Nutzdatenspeicherung, so management information, also in retentive memory stored. The filing of the data is done in such a way that the User data in a data area and the associated information data in an information area is stored in each case on data storage locations. Write pointers point to the next ones that have been released for writing and read pointer to the next Data memory locations to be read. The Informational data is for each payload in an associated one Block of the information area filed. The writing pointer will after describing a data storage location and the read pointers continued after reading a data storage space, ie for example, increased by the value 1. So that in each block the continued pointers currently available are, they will be overwritten accordingly. The storage of the user data can take place in a series of data records. Also known are level counter, the Implicitly result from the position of read and write pointer.

Kommt es zu einem plötzlichen Ausfall des Rechners, beispielsweise bei einem Spannungsausfall, der während des Schreibens eines Nutzdatums (Nutzdatensatzes) oder von Informationsdaten (Verwaltungsinformation) auftritt, so kann es beim Wiederanlauf des Rechners zu einem inkonsistentem Dateninhalt im remanenten Speicher oder sogar zu einem völligem Datenverlust kommen. Die remanenten Speicherzellen weisen einen undefinierten Inhalt auf, wenn der Spannungsausfall während des Schreibvorgangs auftritt. Betrifft dies die Nutzdaten, bevor die Informationsdaten mit den Zeigern im remanenten Speicher aktualisiert wurden, zeigen die Zeiger auf die bis dahin aktuellen Nutzdatensätze. Ereignet sich der Spannungsausfall aber beim Überschreiben des Schreib- oder Lesezeigers, so werden völlig falsche Nutzdaten gelesen oder korrekte Nutzdaten überschrieben, mit möglicherweise katastrophalen Folgen für das Transportsystem.comes it's a sudden Failure of the computer, for example in the event of a power failure, while writing a payload (payload) or informational data (Management information) occurs, so it can at restart of the computer to an inconsistent data content in the remanent memory or even a complete one Data loss come. The remanent memory cells have one undefined content on when the power failure during the write process occurs. Does this affect the payload before the informational data with the pointers in the remanent memory have been updated the pointers to the hitherto current payload records. occurred but the power failure when overwriting the write or Read pointer, so be completely read incorrect user data or overwrite correct user data, with maybe catastrophic consequences for the transport system.

Bei einem sicheren Rechner mit zwei parallelen Rechnerkanälen lässt sich durch Vergleich der beiden Schreib- oder Lesezeiger der beiden unabhängigen Rechnerkanäle zumindest feststellen, dass ein Fehler aufgetreten ist. Nicht feststellbar ist, welcher der beiden Kanäle die Daten korrekt abgespeichert hat.at a secure computer with two parallel computer channels can be by comparing the two read or write pointers of the two independent computer channels at least determine that an error has occurred. Not detectable is which of the two channels saved the data correctly.

Die Aufgabe der Erfindung ist es, einen sicheren Rechner und ein Verfahren anzugeben, um die Abspeicherung der Nutzdaten mittels eines auf einem Rechner ausführbaren Programms mit geringem Aufwand und trotzdem mit hoher Sicherheit durchzuführen.The The object of the invention is a secure computer and a method specify the storage of the user data by means of a a computer executable Program with little effort and still with high security.

Die Lösung ist für den sicheren Rechner durch die Merkmale des Anspruchs 1 und für das Verfahren zur sicheren Abspeicherung durch die Merkmale des Anspruchs 6 gegeben. Bei den Merkmalen der Unteransprüche handelt es sich um vorteilhafte Ausgestaltungen.The solution is for the secure computer by the features of claim 1 and the method given for safe storage by the features of claim 6. In the features of the subclaims are advantageous embodiments.

Die Lösung sieht in Bezug auf den sicheren Rechner vor, dass jeder Block im Informationsbereich ein zweites Mal redundant und in jedem Block ein Gültigkeitsvermerk abgelegt ist, der vor dem Überschreiben der beiden Zeiger auf den Zustand ungültig und nach erfolgtem Schreiben wieder auf den Zustand gültig gesetzt wird, und dass nach dem Überschreiben der beiden Zeiger eines Blocks jeweils auch die beiden Zeiger des zugehörigen redundanten Blocks in derselben Weise unter Zurücksetzung des Gültigkeitsvermerks überschrieben werden.The solution With regard to the secure computer, each block in the Information area a second time redundant and in each block declaration of validity is filed before overwriting the two pointers to the state invalid and after completion of writing again valid on the state is set, and that after overwriting the two pointers of a block respectively also the two pointers of the associated redundant blocks in the same way, overriding the validation become.

Zur Erhöhung der Rechengeschwindigkeit wird das Programm in einem flüchtigen Speicher ausgeführt.to increase the computational speed, the program is in a volatile Memory executed.

Diese Geschwindigkeit lässt sich weiter erhöhen, wenn der Block in den flüchtigen Speicher geladen wird und die Zeiger dort weitergestellt werden, bevor sie im Informationsbereich im zugehörigen Block entsprechend überschrieben werden.These Speed leaves continue to increase if the block in the volatile Memory is loaded and the pointers are relayed there before they are overwritten accordingly in the information area in the corresponding block become.

Das in jedem Block zumindest die Adresse des letzten gelesenen und die Adresse des letzten beschriebenen Daten-Speicherplatzes verfügbar sind, ist weiter sicherheitserhöhend.The at least the address of the last data read and the address of the last described data memory available in each block are further safety enhancing.

Die einfache technische Ausführung des remanenten Speichers sieht vor, dass der Informationsbereich als Ringspeicher für die Adressen ausgebildet ist, so dass die Adressen erst nach einem vollständigen Umlauf überschrieben werden.The simple technical design of the remanent memory provides that the information area as ring buffer for the addresses is formed, so that the addresses only after one complete Overwritten circulation become.

Die Lösung sieht bezogen auf das Verfahren vor, dass jeder Block im Informationsbereich ein zweites Mal redundant und in jedem Block ein Gültigkeitsvermerk abgelegt ist, der vor dem Überschreiben der beiden Zeiger auf den Zustand ungültig und nach erfolgtem Schreiben wieder auf den Zustand gültig gesetzt wird, und dass nach dem Überschreiben der beiden Zeiger eines Blocks jeweils auch die beiden Zeiger des zugehörigen redundanten Blocks in derselben Weise unter Zurücksetzung des Gültigkeitsvermerks überschrieben werden.The solution With regard to the procedure, each block in the information area a second time redundant and a validation in each block is filed before overwriting the two pointers to the state invalid and after completion of writing again valid on the state is set, and that after overwriting the two pointers of a block respectively also the two pointers of the associated redundant blocks in the same way, overriding the validation become.

Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand einer Zeichnung näher beschrieben, wobei die einzige Figur den remanenten Speicher eines sicheren Rechners einer sicherungstechnischen Anlage in einer schematischen Darstellung zeigt.One embodiment the invention will be described in more detail below with reference to a drawing, the only figure being the remanent memory of a secure computer a fuse-technical system in a schematic representation shows.

Das Ausführungsbeispiel betrifft eine sicherungstechnische Anlage eines Transportsystems mit gleisgebundenen Zügen, das einen Rechner zur Steuerung der Anlage aufweist, wobei der Rechner den hohen Sicherheitsanforderungen des Transportssystems entspricht.The embodiment relates to a security system of a transport system with track-bound trains, having a computer for controlling the system, wherein the computer the high safety requirements of the transport system.

Die Figur zeigt vom Rechner der Anlage den remanenten Speicher 1 in einer schematischen Darstellung, für den als Spei chermedien EEPROM, FLASH-ROM, NV-RAM, FRAM und dergleichen verwendbar sind. Der Rechner weist weiter einen schnellen flüchtigen Speicher auf. In dem flüchtigen Speicher können Arbeitsprogramme geladen werden, welche aktuelle Nutzdaten 9 im remanenten Speicher 1 ablegen.The figure shows from the computer of the plant the remanent memory 1 in a schematic representation, for which as storage media EEPROM, FLASH-ROM, NV-RAM, FRAM and the like can be used. The computer also has a fast volatile memory. In the volatile memory work programs can be loaded, which current user data 9 in remanent memory 1 lay down.

Dabei werden Informationen über die Nutzdatenspeicherung in Form von Informationsdaten 4, 5, 6, 7, 8 zusätzlich im remanenten Speicher 1 abgelegt. Die Ablage erfolgt jeweils auf Daten-Speicherplätzen in Form von Datensätzen, die Nutzdaten 9 in einem Datenbereich 3 des remanenten Speichers 1 und die zu den Nutzdaten 9 zugehörigen Informationsdaten in einem Informationsbereich 2 des remanenten Speichers 1, wobei der Informationsbereich 2 vom Datenbereich 3 unabhängig ist und die Informationsdaten blockweise gespeichert werden.This information about the data storage in the form of information data 4 . 5 . 6 . 7 . 8th additionally in remanent memory 1 stored. The filing takes place in each case on data storage locations in the form of data records, the user data 9 in a data area 3 of the remanent memory 1 and the to the payload 9 associated information data in an information area 2 of the remanent memory 1 , where the information area 2 from the data area 3 is independent and the information data is stored in blocks.

Der Informationsbereich 2 weist hierzu zwei Blöcke 2a, 2b auf, wobei der Block 2a mit dem Block 2b identisch ist, d.h. jeder Block 2a ist noch einmal als Kopie (Block 2b) abgelegt. Jedem Nutzdatum 9 sind also je zwei identische Blöcke 2a, 2b zugeordnet.The information area 2 has two blocks for this purpose 2a . 2 B on, with the block 2a with the block 2 B is identical, ie each block 2a is again as a copy (block 2 B ) filed. Each date of use 9 So are two identical blocks 2a . 2 B assigned.

Die Daten-Speicherplätze für die Informationsdaten 4, 5, 6, 7, 8 eines Blocks 2a, 2b sind im remanenten Speicher 1 unmittelbar aufeinanderfolgend abgelegt (oder aber es handelt sich um verteilt angeordnete Daten-Speicherplätze, die den Block 2a, 2b logisch bilden).The data storage locations for the information data 4 . 5 . 6 . 7 . 8th a block 2a . 2 B are in remanent memory 1 stored consecutively (or else it is distributed data storage locations, the block 2a . 2 B make logical).

Wie 1 entnehmbar ist, enthält jeder Block 2a, 2b einen Gültigkeitsvermerk 4 (VALID), einen Schreibzeiger 5 (PUT), einen Lesezeiger 6 (GET), die Anzahl 7 der zu lesenden Datensätze (Counter = 2) und die CRC-Prüfsumme 8 (CRC). Im Datenbereich 3 sind für das zum Informationsbereich 2 gehörende Nutzdatum 9 die zeitlich nacheinander anfallenden Datenwerte (Datensätze) (Record #) hintereinander weg von oben nach unten abgespeichert. Der Datenbereich 3 kann auch als Ringspeicher ausgebildet sein, so dass die Speicherplätze erst nach einem vollständigen Umlauf überschrieben werden. Zur Unterscheidung sind die freien und die belegten Speicherplätze unterschiedlich gekennzeichnet (die Speicherplätze Record #0, Record #1, Record #2 in der Figur sind bereits mit Datenwerten belegt und die Speicherplätze Record #3, ...., Record #MAX-2, Record #MAX-1 und Record #MAX sind noch frei). Dabei zeigt in jedem Block ein Schreibzeiger 5 (PUT) auf den Datenwert (hier Record #2), und zwar dadurch, dass an der Stelle des Schreibzeigers 5 die Adresse des nächsten zum Schreiben freigegebenen Daten-Speicherplatzes steht, was durch die Verbindungslinie 10 dargestellt ist. Weiter enthält der Lesezeiger die Adresse des Daten-Speicherplatzes (hier Record #1), der als nächster zu lesen ist. Dies ist durch die Linie 11 dargestellt. Da die Blockköpfe 2a, 2b doppelt vorhanden sind, trifft dies entsprechend auch für die Linien 10, 11 zu.As 1 is removable, contains each block 2a . 2 B a validity note 4 (VALID), a write pointer 5 (PUT), a read pointer 6 (GET), the number 7 the records to be read (Counter = 2) and the CRC checksum 8th (CRC). In the data area 3 are for that to the information area 2 associated useful date 9 the successive accumulating data values (records) (Record #) one behind the other stored from top to bottom. The data area 3 can also be designed as a ring memory, so that the memory locations are overwritten after a complete cycle. To distinguish between the free and the occupied memory locations are marked differently (the memory locations Record # 0, Record # 1, Record # 2 in the figure are already occupied with data values and the memory locations Record # 3, ...., Record # MAX-2 , Record # MAX-1 and Record #MAX are still free). In this case, a write pointer is displayed in each block 5 (PUT) to the data value (here record # 2), namely, that in the place of the write pointer 5 the address of the next data space released for writing is what is indicated by the connecting line 10 is shown. Furthermore, the read pointer contains the address of the data memory location (here Record # 1), which is to be read next. This is through the line 11 shown. Because the block heads 2a . 2 B are duplicated, this also applies to the lines 10 . 11 to.

Neben dem Schreibzeiger 5 und dem Lesezeiger 6 sind in den beiden Blockköpfen 2a, 2b noch ein Gültigkeitsvermerk 4 gespeichert, der sich im Zustand ungültig oder gültig befinden kann.Next to the writing pointer 5 and the read pointer 6 are in the two block heads 2a . 2 B still a validation 4 stored in the state that may be invalid or valid.

Außerdem ist noch die Anzahl 7 der zu lesenden Datensätze im Block eingetragen; diese ist hier gleich 2 (Counter = 2). Weiter ist noch die CRC-Prüfsumme 8 im Block gespeichert.There is also the number 7 the records to be read are entered in the block; this is equal to 2 here (Counter = 2). Next is the CRC checksum 8th stored in the block.

Wegen der Geschwindigkeitsvorteile wird hier jeweils der gesamte Block des gerade aktuellen Nutzdatums vom remanenten Speicher 1 in den flüchtigen Speicher geladen.Due to the speed advantages, the entire block of the currently active payload of the remanent memory is here in each case 1 loaded into the volatile memory.

Für die sichere Abspeicherung (Schreiben) eines aktuellen Nutzdatums 9 (d.h. dessen aktuellen Datenwerts) ist folgende Programmsequenz ausreichend:

  • 1. Kopiere DIR = DIR#1 vom remanenten Speicher 1 in den flüchtigen Speicher,
  • 2. Schreibe DATA, den Datenwert des Nutzdatums, in den remanenten Speicher 1; alle Zeigeroperationen werden im flüchtigen Speicher DIR ausgeführt,
  • 3. Schreibe CRC in den remanenten Speicher 1,
  • 4. Lösche in DIR#1 den Gültigkeitsvermerk 4 „GÜLTIG/VALID",
  • 5. Schreibe DIR#1 = DIR vom flüchtigen Speicher in den remanenten Speicher 1 zurück,
  • 6. Setze in DIR#1 den Gültigkeitsvermerk 4 auf „GÜLTIG/VALID",
  • 7. Lösche in DIR#2 den Gültigkeitsvermerk 4 „GÜLTIG/VALID",
  • 8. Schreibe DIR#2 = DIR vom flüchtigen Speicher in den remanenten Speicher 1 zurück,
  • 9. Setze in DIR#2 den Gültigkeitsvermerk 4 „GÜLTIG/VALID",
For secure storage (writing) of a current useful date 9 (ie its current data value) is the following program sequence ausrei accordingly:
  • 1. Copy DIR = DIR # 1 from the remanent memory 1 in the volatile memory,
  • 2. Write DATA, the data value of the payload, into the remanent memory 1 ; all pointer operations are executed in the volatile memory DIR,
  • 3. Write CRC in the remanent memory 1 .
  • 4. Delete in DIR # 1 the validation 4 "VALID / VALID"
  • 5. Write DIR # 1 = DIR from the volatile memory to the remanent memory 1 back,
  • 6. Set the validity note in DIR # 1 4 to "VALID",
  • 7. Delete in DIR # 2 the validity note 4 "VALID / VALID"
  • 8. Write DIR # 2 = DIR from the volatile memory to the remanent memory 1 back,
  • 9. Set the validity note in DIR # 2 4 "VALID / VALID"

Analog lautet die Programmsequenz für das Lesen eines Nutzdatums:

  • 1. Kopiere DIR = DIR#1 vom remanenten Speicher 1 in den flüchtigen Speicher,
  • 2. Lese DATA, den Datenwert des Nutzdatums, vom remanenten Speicher 1 in den flüchtigen Speicher; alle Zeigeroperationen werden im DIR ausgeführt,
  • 3. Prüfe CRC,
  • 4. Lösche in DIR#1 den Gültigkeitsvermerk 4 „GÜLTIG/VALID" 5. Schreibe DIR#1 = DIR vom flüchtigen Speicher in den remanenten Speicher 1 zurück,
  • 6. Setze in DIR#1 den Gültigkeitsvermerk 4 „GÜLTIG/VALID",
  • 7. Lösche in DIR#2 den Gültigkeitsvermerk 4 „GÜLTIG/VALID",
  • 8. Schreibe DIR#2 = DIR vom flüchtigen Speicher in den remanenten Speicher 1 zurück,
  • 9. Setze in DIR#2 den Gültigkeitsvermerk 4 „GÜLTIG/VALID",
Similarly, the program sequence for reading a payload is:
  • 1. Copy DIR = DIR # 1 from the remanent memory 1 in the volatile memory,
  • 2. Read DATA, the datum of the datum, from the remanent memory 1 in the volatile memory; all pointer operations are performed in the DIR,
  • 3. Check CRC,
  • 4. Delete in DIR # 1 the validation 4 "VALID / VALID" 5. Write DIR # 1 = DIR from volatile memory to remanent memory 1 back,
  • 6. Set the validity note in DIR # 1 4 "VALID / VALID"
  • 7. Delete in DIR # 2 the validity note 4 "VALID / VALID"
  • 8. Write DIR # 2 = DIR from the volatile memory to the remanent memory 1 back,
  • 9. Set the validity note in DIR # 2 4 "VALID / VALID"

Kommt es zu einem unerwünschten Ausschalten des Rechners, ist der Datenverlust auf höchstens einen einzigen Datensatz begrenzt, da der Schreibvorgang zeitlich in drei Schritte aufgeteilt ist:

  • 1. Schreiben des Datenwerts des Nutzdatums 9
  • 2. Schreiben der ersten Informationsdaten 4, 5, 6, 7, 8 (Verwaltungsinformationen/Block 2a)
  • 3. Schreiben der redundanten Informationsdaten 4, 5, 6, 7, 8 (Verwaltungsinformationen/redundanter Block 2b).
If there is an undesired switch-off of the computer, the data loss is limited to at most a single data record, since the writing process is divided into three steps:
  • 1. Write the data value of the useful date 9
  • 2. Writing the first informational data 4 . 5 . 6 . 7 . 8th (Management information / block 2a )
  • 3. Write the redundant information data 4 . 5 . 6 . 7 . 8th (Management Information / Redundant Block 2 B ).

Durch die zeitliche Aufeinanderfolge der drei Schritte kann jeweils nur einer der drei Teile defekt sein:By the temporal succession of the three steps can only each one of the three parts to be broken:

Fall 1: Nutzdatum defektCase 1: Useful date defective

In diesem Fall sind beide Blöcke 2a, 2b noch auf dem alten Stand. Bei einem Neustart des Rechners ist der (ohnehin unvollständige) neue Datenwert (Datensatz) des Nutzdatums 9 verloren.In this case, both are blocks 2a . 2 B still at the old state. With a restart of the computer is the (anyway incomplete) new data value (data record) of the Nutzdatums 9 lost.

Fall 2: erster Block 2a defektCase 2: first block 2a malfunction

Da der Block 2a zu Beginn des Schreibens auf den Zustand ungültig gesetzt wurde, wird nach dem Neustart des Rechners der redundante Block 2b verwendet. Er enthält noch den Stand unmittelbar vor dem missglückten Speichern des Datenwerts des Nutzdatums 9, das dann zwar verloren ist, jedoch entsteht darüber hinaus kein weiterer Schaden. Dieser Fall ist der ungünstigste.Because the block 2a At the beginning of writing, the state was set to invalid, after the computer is restarted, the redundant block 2 B used. It still contains the status immediately before the failed saving of the datum of the datum 9 , which is then lost, but beyond that, no further damage. This case is the least favorable.

Fall 3: redundanter Block 2b defektCase 3: redundant block 2 B malfunction

Hier wird der Datenwert des Nutzdatums 9 und der erste Block 2a korrekt geschrieben. Bei einem Neustart des Rechners werden alle Daten wiedergefunden und der redundante Block korrigiert.Here is the data value of the useful date 9 and the first block 2a written correctly. When the computer is restarted, all data is retrieved and the redundant block is corrected.

Ein Defekt in beiden Blöcken, was sehr unwahrscheinlich ist würde einen zusätzlichen Hardware- oder Softwarefehler signalisieren und die dafür vorgesehenen Maßnahmen auslösen.One Defect in both blocks, which would be very unlikely An additional Signal hardware or software errors and provide the appropriate activities trigger.

Claims (6)

Sicherer Rechner, insbesondere für eine sicherungstechnische Anlage eines Transportsystems mit gleisgebundenen Zügen, auf dem ein Programm ausführbar ist, das Nutzdaten (9) und Informationsdaten (4, 5, 6, 7, 8) über die Nutzdatenspeicherung in einem remanenten Speicher (1) sicher ablegt, die Nutzdaten (9) auf Daten-Speicherplätzen in einem Datenbereich (3) und die zugehörigen Informationsdaten (4, 5, 6, 7, 8) in einem Informationsbereich (2), wobei ein Schreibzeiger (5) mit der Adresse des nächsten zum Beschreiben freigegebenen Daten-Speicherplatzes und ein Lesezeiger (6) mit der Adresse des nächsten zu lesenden Daten-Speicherplatzes in einem gemeinsamen logischen Block (2a) abgelegt sind und wobei nach dem Beschreiben eines Daten-Speicherplatzes der Schreibzeiger (5) und nach dem Lesen eines Daten-Speicherplatzes der Lesezeiger (6) weitergestellt und im Informationsbereich (2) im logischen Block (2a) entsprechend überschrieben werden, dadurch gekennzeichnet, dass jeder Block (2a, 2b) im Informationsbereich (2) ein zweites Mal redundant und in jedem Block (2a, 2b) ein Gültigkeitsvermerk (4) abgelegt ist, der vor dem Überschreiben der beiden Zeiger (5, 6) auf den Zustand ungültig und nach erfolgtem Schreiben wieder auf den Zustand gültig gesetzt wird, und dass nach dem Überschreiben der beiden Zeiger (5, 6) eines Blocks (2a) jeweils auch die beiden Zeiger (5, 6) des zugehörigen redundanten Blocks (2b) in derselben Weise unter Zurücksetzung des Gültigkeitsvermerks (4) überschrieben werden.Secure computer, in particular for a security system of a transport system with track-bound trains, on which a program can be executed, the user data ( 9 ) and information data ( 4 . 5 . 6 . 7 . 8th ) about the useful data storage in a remanent memory ( 1 ) safely stores the payload ( 9 ) on data storage locations in a data area ( 3 ) and the associated information data ( 4 . 5 . 6 . 7 . 8th ) in an information area ( 2 ), whereby a write pointer ( 5 ) with the address of the next data memory released for writing and a read pointer ( 6 ) with the address of the next data memory to be read in a common logical block ( 2a ) and wherein after writing a data storage location the write pointer ( 5 ) and after reading a data storage location the read pointer ( 6 ) and in the information area ( 2 ) in the logical block ( 2a ) be overwritten accordingly, characterized in that each block ( 2a . 2 B ) in the information area ( 2 ) redundant a second time and in each block ( 2a . 2 B ) a validity note ( 4 ), which before overwriting the two pointers ( 5 . 6 ) is invalidated to the state and after successful writing is reset to the state valid, and that after overwriting the two pointers ( 5 . 6 ) of a block ( 2a ) in each case also the two pointers ( 5 . 6 ) of associated redundant blocks ( 2 B ) in the same way, with the validation ( 4 ) are overwritten. Sicherer Rechner nach Anspruch 1, dadurch gekennzeichnet, dass das Programm in einem flüchtigen Speicher ausgeführt wird.Secure computer according to claim 1, characterized that the program is in a volatile Memory executed becomes. Sicherer Rechner nach Anspruch 2, dadurch gekennzeichnet, dass der Block (2a) in den flüchtigen Speicher geladen wird und die Zeiger (5, 6) im flüchtigen Speicher weitergestellt werden, bevor sie im Informationsbereich (2) im zugehörigen Block (2a, 2b) entsprechend überschrieben werden.Secure computer according to claim 2, characterized in that the block ( 2a ) is loaded into the volatile memory and the pointers ( 5 . 6 ) are stored in the volatile memory before being stored in the information area ( 2 ) in the associated block ( 2a . 2 B ) be overwritten accordingly. Sicherer Rechner nach einem der Ansprüche 1–3, dadurch gekennzeichnet, dass in jedem Block (2a, 2b) zumindest die Adresse des letzten gelesenen und die Adresse des letzten beschriebenen Daten-Speicherplatzes verfügbar sind.Secure computer according to one of claims 1-3, characterized in that in each block ( 2a . 2 B ) at least the address of the last read and the address of the last described data memory are available. Sicherer Rechner nach einem der Ansprüche 1–4, dadurch gekennzeichnet, dass der Informationsbereich (2) als Ringspeicher für die Adressen ausgebildet ist, so dass die Adressen erst nach einem vollständigen Umlauf überschrieben werden.Secure computer according to one of claims 1-4, characterized in that the information area ( 2 ) is designed as a ring memory for the addresses, so that the addresses are overwritten after a complete cycle. Verfahren zur sicheren Abspeicherung von Nutzdaten mittels eines auf einem Rechner ausführbaren Programms, insbesondere einer sicherungstechnischen Anlage eines Transportsystems mit gleisgebundenen Zügen, wobei die Nutzdaten (9) und Informationsdaten (4, 5, 6, 7, 8) über die Nutzdatenspeicherung in einem remanenten Speicher (1) sicher ablegt werden, die Nutzdaten (9) auf Daten-Speicherplätzen in einem Datenbereich (3) und die zugehörigen Informationsdaten (4, 5, 6, 7, 8) in einem Informationsbereich (2), wobei ein Schreibzeiger (5) mit der Adresse des nächsten zum Beschreiben freigegebenen Daten-Speicherplatzes und ein Lesezeiger (6) mit der Adresse des nächsten zu lesenden Daten-Speicherplatzes in einem gemeinsamen logischen Block (2a) abgelegt werden und wobei nach dem Beschreiben eines Daten-Speicherplatzes der Schreibzeiger (5) und nach dem Lesen eines Daten-Speicherplatzes der Lesezeiger (6) weitergestellt und im Informationsbereich (2) im logischen Block (2a) entsprechend überschrieben werden, dadurch gekennzeichnet, dass jeder Block (2a) im Informationsbereich (2) ein zweites Mal redundant und in jedem Block (2a, 2b) ein Gültigkeitsvermerk (4) abgelegt ist, der vor dem Überschreiben der beiden Zeiger (5, 6) auf den Zustand ungültig und nach erfolgtem Schreiben wieder auf den Zustand gültig gesetzt wird, und dass nach dem Überschreiben der beiden Zeiger (5, 6) eines Blocks (2a) jeweils auch die beiden Zeiger (5, 6) des zugehörigen redundanten Blocks (2b) in derselben Weise unter Zurücksetzung des Gültigkeitsvermerks (4) überschrieben werden.Method for the secure storage of user data by means of a program that can be executed on a computer, in particular a security system of a transport system with track-bound trains, wherein the user data ( 9 ) and information data ( 4 . 5 . 6 . 7 . 8th ) about the useful data storage in a remanent memory ( 1 ), the user data ( 9 ) on data storage locations in a data area ( 3 ) and the associated information data ( 4 . 5 . 6 . 7 . 8th ) in an information area ( 2 ), whereby a write pointer ( 5 ) with the address of the next data memory released for writing and a read pointer ( 6 ) with the address of the next data memory to be read in a common logical block ( 2a ) and after writing a data storage location the write pointer ( 5 ) and after reading a data storage location the read pointer ( 6 ) and in the information area ( 2 ) in the logical block ( 2a ) be overwritten accordingly, characterized in that each block ( 2a ) in the information area ( 2 ) redundant a second time and in each block ( 2a . 2 B ) a validity note ( 4 ), which before overwriting the two pointers ( 5 . 6 ) is invalidated to the state and after successful writing is reset to the state valid, and that after overwriting the two pointers ( 5 . 6 ) of a block ( 2a ) in each case also the two pointers ( 5 . 6 ) of the associated redundant block ( 2 B ) in the same way, with the validation ( 4 ) are overwritten.
DE200410029614 2004-06-10 2004-06-10 Computer for safe technical arrangement of transport system with rail-bound train, has information area including logical blocks, each with validity note, where computer allows execution of program in volatile memory Withdrawn DE102004029614A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410029614 DE102004029614A1 (en) 2004-06-10 2004-06-10 Computer for safe technical arrangement of transport system with rail-bound train, has information area including logical blocks, each with validity note, where computer allows execution of program in volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410029614 DE102004029614A1 (en) 2004-06-10 2004-06-10 Computer for safe technical arrangement of transport system with rail-bound train, has information area including logical blocks, each with validity note, where computer allows execution of program in volatile memory

Publications (1)

Publication Number Publication Date
DE102004029614A1 true DE102004029614A1 (en) 2006-01-05

Family

ID=35483338

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410029614 Withdrawn DE102004029614A1 (en) 2004-06-10 2004-06-10 Computer for safe technical arrangement of transport system with rail-bound train, has information area including logical blocks, each with validity note, where computer allows execution of program in volatile memory

Country Status (1)

Country Link
DE (1) DE102004029614A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115227A1 (en) * 2001-09-17 2003-06-19 Guthery Scott B. Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card
US20040015666A1 (en) * 2002-07-19 2004-01-22 Edmundo Rojas Method and apparatus for asynchronous read control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115227A1 (en) * 2001-09-17 2003-06-19 Guthery Scott B. Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card
US20040015666A1 (en) * 2002-07-19 2004-01-22 Edmundo Rojas Method and apparatus for asynchronous read control

Similar Documents

Publication Publication Date Title
DE69434381T2 (en) A method of parity representation in a RAID subsystem using nonvolatile memory
EP0238841B1 (en) Error-protected multiprocessor controller having a high availability to a switching system, and method for memory configuration operation of this centraller
DE112011100112T5 (en) BUFFER MEMORY PLATE IN FLASH COPY CASCADE
DE19839680B4 (en) Method and device for modifying the memory contents of control units
EP1328867B1 (en) Device and method for data mirroring
EP0254247A2 (en) Calculator status saving system
DE2359776A1 (en) MEMORY MODULE FOR USE IN CONNECTION WITH A DATA PROCESSING UNIT
WO2021233696A1 (en) Method for the secure use of cryptographic material
DE2336020B2 (en) ADDRESS CALCULATION CIRCUIT FOR PARITY ERROR CORRECTION PROGRAMS
DE10244922B4 (en) A program-controlled unit and method for debugging programs executed by a program-controlled unit
DE2823457C2 (en) Circuit arrangement for error monitoring of a memory of a digital computer system
DE102004029614A1 (en) Computer for safe technical arrangement of transport system with rail-bound train, has information area including logical blocks, each with validity note, where computer allows execution of program in volatile memory
EP0353660B1 (en) Fault prevention method in memory systems of data-processing installations, in particular telephone exchanges
EP1924914B1 (en) Data processing system and a method for the operation thereof
DE102021127286A1 (en) NOTIFICATION OF COMPLETION OF A WRITE REQUEST IN RESPONSE TO PARTIAL HARDENING OF WRITE DATA
DE2846890A1 (en) Test system for random access memories - writes cell address into cell and then compares reading with read cell address for fault indication
DE3433679C2 (en)
DE102009002786A1 (en) Method for testing a memory and control device with means for a memory test
WO2009103728A1 (en) Method and device for storing information data
DE602005002485T2 (en) Device for avoiding circuit errors in the presence of errors
EP2116911B1 (en) Automation system and method for putting an automation system back into operation
EP0477628A2 (en) Communication system with a central control using a multiprocessor system to which a tracer is connectable for test and diagnostic operations
DE10218460A1 (en) Determination of key figures for database recovery processes
DE2441776C3 (en) Circuit arrangement for monitoring the input of data into a memory
EP2051214A1 (en) Method for operating a data processing device and data processing device

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee