DE19532144C2 - Testverfahren für in einem Speicher als Bitmuster hinterlegte Informationen - Google Patents

Testverfahren für in einem Speicher als Bitmuster hinterlegte Informationen

Info

Publication number
DE19532144C2
DE19532144C2 DE1995132144 DE19532144A DE19532144C2 DE 19532144 C2 DE19532144 C2 DE 19532144C2 DE 1995132144 DE1995132144 DE 1995132144 DE 19532144 A DE19532144 A DE 19532144A DE 19532144 C2 DE19532144 C2 DE 19532144C2
Authority
DE
Germany
Prior art keywords
memory
bit
stored
checksum
actual
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.)
Expired - Fee Related
Application number
DE1995132144
Other languages
English (en)
Other versions
DE19532144A1 (de
Inventor
Herbert Dipl Ing Barthel
Heiner Dipl Ing Fuchs
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 DE1995132144 priority Critical patent/DE19532144C2/de
Publication of DE19532144A1 publication Critical patent/DE19532144A1/de
Application granted granted Critical
Publication of DE19532144C2 publication Critical patent/DE19532144C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Die vorliegende Erfindung betrifft ein Testverfahren für in einem Speicher als Bitmuster hinterlegte Informationen, z. B. Programmcode, wobei der Speicher eine Anzahl von aufeinander­ folgenden Speicherplätzen aufweist und jeder Speicherplatz aus einer Anzahl von Bits besteht.
Bei Rechnern aller Art kann es geschehen, daß der im Pro­ grammspeicher stehende Code aufgrund äußerer Einwirkungen fehlerhaft wird oder aufgrund einer Fehlfunktion des Rechners fehlerhaft ausgelesen wird. Besonders kritisch ist eine der­ artige Fehlfunktion bei Automatisierungsgeräten, weil durch Automatisierungsgeräte technische Prozesse gesteuert werden, z. B. Förderbänder, Aufzüge, Pressen oder Gasbrenner.
Im Stand der Technik sind verschiedene Testverfahren für Pro­ grammcode bekannt. Sie sind jedoch entweder sehr aufwendig oder vergleichsweise unzuverlässig. Aus der Zeitschrift "In­ formationstechnik", Band 30, 1988, Heft 4, Seiten 291 bis 299, sind verschiedene Testverfahren für Programmcode be­ kannt, z. B. die Prüfsummenbildung und die Bildung von Signa­ turen. Letztere wird oftmals auch als zyklischer Redundanz­ check (CRC) bezeichnet. Die für die beschriebenen Testverfah­ ren genannten Gesamtgüten sind in der Praxis jedoch nicht er­ reichbar. Tatsächlich ergeben sich nur Gesamtgüten in der Größenordnung von ca. 95%. Mit den beschriebenen Testverfah­ ren läßt sich demnach mit der heute geforderten Sicherheit nicht feststellen, ob in einem Speicher hinterlegte Informa­ tionen fehlerhaft sind bzw. fehlerhaft gelesen werden.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Testverfahren anzugeben, mit dem mit hoher Fehlerauf­ deckungswahrscheinlichkeit schnell, einfach und sicher fest­ gestellt werden kann, ob in einem Speicher hinterlegte Infor­ mationen fehlerhaft sind bzw. fehlerhaft ausgelesen werden.
Die Aufgabe wird durch ein Testverfahren mit folgenden Schritten gelöst:
  • - die in den Speicherplätzen abgespeicherten Bitmuster werden aus den Speicherplätzen ausgelesen und aufaddiert und so eine Ist-Prüfsumme gebildet;
  • - über die in den Speicherplätzen abgespeicherten Bitmuster wird durch Verknüpfung mit dem Signaturwert und 1-Bit- Schiebeoperation des Verknüpfungsergebnisses und Verknüp­ fung einzelner Bitstellen mit dem höchstwertigen Signatur­ bit eine Ist-Parallelsignatur gebildet; und
  • - die im Speicher hinterlegten Informationen werden nur dann als fehlerfrei behandelt, wenn sowohl die Ist-Prüfsumme mit einer vorab ermittelten, im Speicher hinterlegten Soll-Prüfsumme als auch die Ist-Parallelsignatur mit einer vorab ermittelten, ebenfalls im Speicher hinterlegten Soll-Paral­ lelsignatur übereinstimmt.
Erfindungsgemäß wird also nicht ein einziges Testverfahren angewendet, sondern es werden zwei Testverfahren angewendet, nämlich einerseits die Prüfsummenbildung und andererseits die Signaturbildung. Überraschender Weise hat sich nämlich her­ ausgestellt, daß Fehler, welche von der Prüfsummenbildung nicht erfaßt werden, von der Signaturbildung erfaßt werden und umgekehrt. Die Kombination beider Verfahren ist also ex­ trem zuverlässig. In Versuchen wurde festgestellt, daß alle Zweibitfehler, alle Dreibitfehler und über 99,99% aller Vier­ bitfehler sicher detektiert wurden.
Die Wahrscheinlichkeit, einen Fehler zu entdecken, wird noch weiter erhöht, wenn die Ist-Prüfsumme in einer Recheneinheit gebildet wird, die - verglichen mit den Speicherplätzen - die doppelte Anzahl von Bits aufweist.
Weitere Einzelheiten ergeben sich aus dem nachfolgend be­ schriebenen Ausführungsbeispiel. Dabei zeigen:
Fig. 1 ein Automatisierungsgerät,
Fig. 2 den Speicheraufbau,
Fig. 3 die Prüfsummenbildung und
Fig. 4 die Signaturbildung.
Fig. 1 zeigt zunächst eine speicherprogrammierbare Steuerung 1 als Beispiel eines Rechners. Die speicherprogrammierbare Steuerung 1 weist einen Mikroprozessor 2 auf, der ein Anwen­ derprogramm abarbeitet, welches im Remanentspeicher 3 abge­ speichert ist. Bei der Abarbeitung des Anwenderprogramms greift der Prozessor 2 über den Controller 4 auf die Schnitt­ stelle 5 zu. Dies ist erforderlich, um von dem technischen Prozeß 6 Prozeßsignale einzulesen bzw. Stellbefehle an den technischen Prozeß auszugeben.
Die eingelesenen Prozeßsignale bzw. die auszugebenden Stell­ befehle sowie gegebenenfalls weitere Daten sind im Schreib- Lese-Speicher 7 zwischengespeichert. Der Prozessor 2, der Re­ manentspeicher 3, der Controller 4 sowie der Schreib-Lese- Speicher 7 sind über den Bus 8 miteinander verbunden.
Gemäß Fig. 2 besteht der Remanentspeicher 3 aus einer Anzahl von aufeinanderfolgenden Speicherplätzen 9. Im vorliegenden Fall besteht jeder Speicherplatz aus 8 Bits 10, ist also ein Byte lang. Die Speicherplätze 9 könnten aber auch eine andere Anzahl von Bits aufweisen, z. B. 16 oder 32 Bit.
Die Speicherplätze 11, 11′ und 12 gehören zwar organisatorisch zum Remanentspeicher 3, enthalten aber im Gegensatz zu den Speicherplätzen 9 keinen Programmcode. In den Speicherplätzen 11 und 11′ sind das obere und das untere Byte eines Wortes (= 2 Byte) hinterlegt. Dieses Wort stellt die Soll-Prüfsumme der Speicherplätze 9 dar. Ebenso ist im Speicherplatz 12 die Soll-Parallelsignatur der Speicherplätze 9 hinterlegt. Sowohl die Soll-Prüfsumme als auch die Soll-Parallelsignatur wurden vorab - z. B. unmittelbar nach der Programmerstellung - ermit­ telt und beim Abspeichern des Programms in die Speicherplätze 9 in den Speicherplätzen 11, 11′ und 12 hinterlegt.
Fig. 3 zeigt nun die Bildung der Ist-Prüfsumme. Zunächst wird die Recheneinheit 13 bzw. das Register 13 des Mikroprozessors 2 gelöscht, also alle 16 Bits auf Null gesetzt. Sodann werden nacheinander die Speicherplätze 9 des Speichers 3 aus­ gelesen und dem 16-Bit-Addierer 14 zugeführt. Der Addierer 14 addiert das jeweilige Byte des betreffenden Speicherplatzes 9 zu dem im Register 13 abgespeicherten Wert hinzu und spei­ chert das Ergebnis wieder im Register 13 ab. Nachdem alle Speicherplätze 9 einmal ausgelesen und zu dem im Register 13 abgespeicherten Wert addiert wurden, steht im Register 13 die Ist-Prüfsumme zur Verfügung, welche mit der in den Speicher­ plätzen 11 und 11′ hinterlegten Soll-Prüfsumme verglichen werden kann.
Gleichzeitig mit dem Zuführen des Inhalts des Speicherplatzes 9 zum Addierer 14 wird, wie in Fig. 4 dargestellt, der Inhalt des Speicherplatzes 9 auch dem 8-Bit-Hilfsregister 15 zuge­ führt. Der Inhalt des Hilfsregisters 15 wird dann bitweise den 1-Bit-Addierern 16 zugeführt, denen als zweites Eingangs­ signal der Ausgang der Und-Gatter 17 zugeführt wird. Das Additionsergebnis wird dann in den Einbit-Speichern 18 zwi­ schengespeichert und an den jeweils nachfolgenden Addierer 16 weitergeleitet. Das Ausgangssignal des letzten Einbit-Spei­ chers 18 wird auf die Und-Gatter 17 zurückgeführt. Den Und-Gattern 17 wird als zweites Signal jeweils der Inhalt eines Einbit-Registers 19 zugeführt. Die Gesamtheit der Inhalte der Einbit-Register 19 wird als das sogenannte generische Polynom bezeichnet. Nach dem Durchführen der jeweiligen Addier- und Schiebebefehle steht dann in den Einbit-Speichern 18 die Ist-Parallelsignatur zur Verfügung. Diese Parallelsignatur kann mit der im Speicherplatz 12 hinterlegten Soll-Parallelsigna­ tur verglichen werden.
Erfindungsgemäß werden die im Festwertspeicher 3 hinterlegten Informationen nur dann als fehlerfrei behandelt, wenn sowohl die Ist-Prüfsumme mit der Soll-Prüfsumme übereinstimmt als auch die Ist-Parallelsignatur mit der Soll-Parallelsignatur übereinstimmt. Anders ausgedrückt: Der Inhalt des Registers 13 muß gleich dem Inhalt der Speicherplätze 11 und 11′ sein, der Inhalt der Einbit-Register 18 muß gleich dem des Spei­ cherplatzes 12 sein.

Claims (2)

1. Testverfahren für in einem Speicher (3) als Bitmuster hin­ terlegte Informationen, z. B. Programmcode, wobei der Spei­ cher (3) eine Anzahl von aufeinanderfolgenden Speicher­ plätzen (9) aufweist und jeder Speicherplatz (9) aus einer Anzahl von Bits (10) besteht, mit folgenden Schritten:
  • - die in den Speicherplätzen (9) abgespeicherten Bitmuster werden aus den Speicherplätzen (9) ausgelesen und aufad­ diert und so eine Ist-Prüfsumme gebildet;
  • - über die in den Speicherplätzen (9) abgespeicherten Bit­ muster wird durch Verknüpfung mit dem Signaturwert und 1-Bit-Schiebeoperation des Verknüpfungsergebnisses und Verknüpfung einzelner Bitstellen mit dem höchstwertigen Signaturbit eine Ist-Parallelsignatur gebildet; und
  • - die im Speicher (3) hinterlegten Informationen werden nur dann als fehlerfrei behandelt, wenn sowohl die Ist-Prüfsumme mit einer vorab ermittelten, im Speicher (3) hinterlegten Soll-Prüfsumme als auch die Ist-Parallelsignatur mit einer vorab ermittelten, ebenfalls im Speicher (3) hinterlegten Soll-Parallelsignatur über­ einstimmt.
2. Testverfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Ist-Prüfsumme in einer Rechen­ einheit (13) gebildet wird, die - verglichen mit den Spei­ cherplätzen (9) - die doppelte Anzahl von Bits aufweist.
DE1995132144 1995-08-31 1995-08-31 Testverfahren für in einem Speicher als Bitmuster hinterlegte Informationen Expired - Fee Related DE19532144C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1995132144 DE19532144C2 (de) 1995-08-31 1995-08-31 Testverfahren für in einem Speicher als Bitmuster hinterlegte Informationen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1995132144 DE19532144C2 (de) 1995-08-31 1995-08-31 Testverfahren für in einem Speicher als Bitmuster hinterlegte Informationen

Publications (2)

Publication Number Publication Date
DE19532144A1 DE19532144A1 (de) 1997-03-06
DE19532144C2 true DE19532144C2 (de) 1998-01-15

Family

ID=7770914

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1995132144 Expired - Fee Related DE19532144C2 (de) 1995-08-31 1995-08-31 Testverfahren für in einem Speicher als Bitmuster hinterlegte Informationen

Country Status (1)

Country Link
DE (1) DE19532144C2 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19802728A1 (de) * 1998-01-24 1999-07-29 Heidenhain Gmbh Dr Johannes Verfahren und Schaltungsanordnung zur Überwachung von Maschinenparametern
DE10113317A1 (de) * 2001-03-20 2002-09-26 Conti Temic Microelectronic Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
DE10340236A1 (de) * 2003-08-29 2005-04-07 Infineon Technologies Ag Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BÄHRING, Helmut: Zur Fehlerüberdeckung von Prüfsummenverfahren, in: Informationstechnik it 30 (1988) 4, S. 291-299 *
HÖLSCHER, H. und RADER, J.: Mikrocomputer in der Sicherheitstechnik, Verlag TÜV Rheinland, 1984, S. 7-35 bis 7-38 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19802728A1 (de) * 1998-01-24 1999-07-29 Heidenhain Gmbh Dr Johannes Verfahren und Schaltungsanordnung zur Überwachung von Maschinenparametern
DE10113317A1 (de) * 2001-03-20 2002-09-26 Conti Temic Microelectronic Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
DE10340236A1 (de) * 2003-08-29 2005-04-07 Infineon Technologies Ag Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher
DE10340236B4 (de) * 2003-08-29 2006-06-01 Infineon Technologies Ag Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher

Also Published As

Publication number Publication date
DE19532144A1 (de) 1997-03-06

Similar Documents

Publication Publication Date Title
DE69325774T2 (de) Programmierbare Externspeichersteuerungseinrichtung
DE69230773T2 (de) Datenverarbeitungseinrichtung mit fortschreitend programmierbarem nichtflüchtigen Speicher und Verfahren dazu
DE4114410A1 (de) Halbleiterbauelement mit nichtfluechtigem speicher
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE102005016050A1 (de) Speicherfehlererkennungsvorrichtung und Verfahren zum Erkennen eines Speicherfehlers
DE2225841B2 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE102006005817B4 (de) Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
EP1246033A1 (de) Verfahren zur Überwachung konsistenter Speicherinhalte in redundanten Systemen
EP3798772B1 (de) Industrie-prozesssteuerung
DE2513262A1 (de) Digitale codeumwandlungsanordnung
EP1913478B1 (de) Mikroprozessorsystem zur steuerung bzw. regelung von zumindest zum teil sicherheitskritischen prozessen
DE19532144C2 (de) Testverfahren für in einem Speicher als Bitmuster hinterlegte Informationen
DE102006012042A1 (de) Steuervorrichtung zur fehlersicheren Steuerung einer Maschine
DE68926597T2 (de) Mikrorechner
EP1444700B1 (de) Speichertest
DE2549392B2 (de) Verfahren zur erhoehung der zuverlaessigkeit von integrierten speicherbausteinen und zur verbesserung der ausbeute von nach aussen hin fehlerfrei erscheinenden speicherbausteinen bei ihrer herstellung
DE102005060901A1 (de) Verfahren zur Erkennung einer Versorgungsunterbrechung in einem Datenspeicher und zur Wiederherstellung des Datenspeichers
EP0353660B1 (de) Verfahren zur Fehlersicherung in Speichersystemen von Datenverarbeitungsanlagen, insbesondere Fernsprechvermittlungsanlagen
DE102005016051B4 (de) Speicherüberprüfungsvorrichtung und Verfahren zum Überprüfen eines Speichers
EP0013885B1 (de) Verfahren zur Vermeidung von unerwünschten Paritätsfehlersignalen bei der Paritätprüfung eines Registerfeldes und Paritätsprüfeinrichtung zur Durchführung des Verfahrens
DE4335604A1 (de) Speicher-Prüfschaltung
DE2457275C3 (de) Anordnung zum Überwachen der Adressierung eines Mikroprogramm-Speichers
DE4223398C2 (de) Verfahren und Vorrichtung zur Programmierung von nichtflüchtigen Speichern
DE3433679A1 (de) Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage
DE3431770A1 (de) Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere solchen aus ram-bausteinen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee