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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
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
Dabei
werden Informationen über
die Nutzdatenspeicherung in Form von Informationsdaten
Der
Informationsbereich
Die
Daten-Speicherplätze
für die
Informationsdaten
Wie
Neben
dem Schreibzeiger
Außerdem ist
noch die Anzahl
Wegen
der Geschwindigkeitsvorteile wird hier jeweils der gesamte Block
des gerade aktuellen Nutzdatums vom remanenten Speicher
Für die sichere
Abspeicherung (Schreiben) eines aktuellen Nutzdatums
- 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",
- 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 Speicher1 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",
- 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 memory1 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/Block2a ) - 3. Schreiben der redundanten Informationsdaten
4 ,5 ,6 ,7 ,8 (Verwaltungsinformationen/redundanter Block2b ).
- 1. Write the data value of the useful date
9 - 2. Writing the first informational data
4 .5 .6 .7 .8th (Management information / block2a ) - 3. Write the redundant information data
4 .5 .6 .7 .8th (Management Information / Redundant Block2 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
Fall 2: erster Block
Da
der Block
Fall 3: redundanter Block
Hier
wird der Datenwert des Nutzdatums
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)
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)
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 |
-
2004
- 2004-06-10 DE DE200410029614 patent/DE102004029614A1/en not_active Withdrawn
Patent Citations (2)
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 |