DE102013202865A1 - Method for monitoring e.g. RAM of microcontroller to recognize address delay faults, involves writing data memory cell address into auxiliary memory accessed in operation and/or incorrectly evaluated data word into auxiliary memory - Google Patents

Method for monitoring e.g. RAM of microcontroller to recognize address delay faults, involves writing data memory cell address into auxiliary memory accessed in operation and/or incorrectly evaluated data word into auxiliary memory Download PDF

Info

Publication number
DE102013202865A1
DE102013202865A1 DE201310202865 DE102013202865A DE102013202865A1 DE 102013202865 A1 DE102013202865 A1 DE 102013202865A1 DE 201310202865 DE201310202865 DE 201310202865 DE 102013202865 A DE102013202865 A DE 102013202865A DE 102013202865 A1 DE102013202865 A1 DE 102013202865A1
Authority
DE
Germany
Prior art keywords
memory
data
address
auxiliary memory
auxiliary
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.)
Pending
Application number
DE201310202865
Other languages
German (de)
Inventor
Bernd Müller
Carsten Gebauer
Dieter Thoss
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE201310202865 priority Critical patent/DE102013202865A1/en
Publication of DE102013202865A1 publication Critical patent/DE102013202865A1/en
Pending legal-status Critical Current

Links

Images

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
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

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

Abstract

The method involves writing an address of a cell of data memory (10) into an auxiliary memory (14) accessed in a preceding operation in addition to an address (30) of the data memory and/or incorrectly evaluated data word (24) into the auxiliary memory. An error detection process is performed by the data memory associated with an electronic circuit. The address of the data memory is only written into the auxiliary memory, where data words of the auxiliary memory are correctly evaluated by the error detection process. Independent claims are also included for the following: (1) a test program, which is executable on a computer, to implement a method for monitoring data memory (2) a computer storage medium for storing test program to implement a method for monitoring data memory (3) an auxiliary memory in a computer.

Description

Stand der TechnikState of the art

Die Erfindung betrifft ein Verfahren zum Überwachen eines Datenspeichers bei dem mittels eines Fehlererkennungsverfahrens im Datenspeicher gespeicherte fehlerhafte Datenwörter erkannt und/oder korrigiert werden nach dem Oberbegriff des Anspruchs 1. The invention relates to a method for monitoring a data memory in which erroneous data words stored in the data memory by means of an error detection method are recognized and / or corrected according to the preamble of claim 1.

Die Erfindung betrifft ferner ein Prüfprogramm zur Durchführung des Verfahrens, ein das Prüfprogramm enthaltendes Speichermedium, und einen Hilfsspeicher.The invention further relates to a test program for carrying out the method, a storage medium containing the test program, and an auxiliary memory.

Moderne Mikrocontroller benötigen Datenspeicher im Umfang von mehreren hundert Kilobytes, beispielsweise für statische Datenspeicher (RAM, "random access memory"), beziehungsweise mehrere Megabytes, beispielsweise zur dauerhaften Speicherung von Programmen in so genannten FLASH-Speichern. Entsprechend dem großen Speichervolumen oder dessen technischer Realisierung sind Datenfehler vergleichsweise häufig oder zumindest wahrscheinlich. Grundsätzlich gibt es zwei Fehlererscheinungen: Erstens sind es dauerhafte Fehler, bei denen auch wiederholte Schreib- und Lesezyklen keine Verbesserung bringen. Zweitens können in RAM-Speichern beispielsweise aufgrund von Alpha-Strahlung einzelne und nach einem Schreib-Lese-Zyklus wieder verschwindende Datenfehler auftreten.Modern microcontrollers require data storage in the amount of several hundred kilobytes, for example, for static data storage (RAM, "random access memory"), or several megabytes, for example for the permanent storage of programs in so-called FLASH memories. Depending on the large storage volume or its technical realization, data errors are comparatively frequent or at least probable. Basically, there are two flaws: First, they are permanent faults in which even repeated read and write cycles bring no improvement. Secondly, in RAM memories, for example, due to alpha radiation, individual data errors may disappear again after a read / write cycle.

Zur Verbesserung der Datensicherheit werden daher häufig fehlersichernde Verfahren (ECC, "error correction code") verwendet. Beispielsweise können Ein- Bit-Fehler (Einbitfehler) immer korrigiert werden, Zweibitfehler können immer erkannt werden, und Mehrbitfehler können meistens – jedoch nicht immer – erkannt werden. Das ECC-Verfahren bewertet jedoch manche Datenwörter mit mehrfachen Fehlern gegebenenfalls als ein vom ursprünglichen Inhalt verschiedenes Datenwort mit einem Bitfehler und korrigiert diese entsprechend falsch.To improve data security, therefore, error correction methods (ECC) are frequently used. For example, one-bit errors (one-bit errors) can always be corrected, two-bit errors can always be detected, and multi-bit errors can usually be detected, but not always. However, the ECC method may evaluate some data words with multiple errors as a data word other than the original content with a bit error, and correct them accordingly incorrectly.

Eine Anwendung eines beispielhaften ECC-Verfahrens auf zufällig erzeugte Datenwörter hat gezeigt, dass dieses ECC-Verfahren beispielsweise 28 Prozent einer Folge von Datenwörtern als gültige Datenwörter mit einem Einzelfehler bewertet, und die übrigen 72 Prozent der Datenwörter – in Bezug auf eine jeweilige Bildungsvorschrift des ECC-Verfahrens – als ungültig bewertet. Bei sicherheitskritischen Anwendungen sind die Anforderungen durch internationale Normen jedoch sehr hoch. Beispielsweise fordert die Norm ISO 26262 , ASIL-D, dass mehr als 99 Prozent solcher zufallserzeugten Datenwörter als ungültig erkannt werden müssen. Application of an exemplary ECC method to randomly generated data words has shown that this ECC method, for example, rates 28 percent of a sequence of data words as valid data words with a single error, and the remaining 72 percent of the data words - relative to a particular ECC educational protocol Procedure - invalidated. In safety-critical applications, however, the requirements imposed by international standards are very high. For example, the Standard ISO 26262 , ASIL-D, that more than 99 percent of such randomly generated data words must be recognized as invalid.

Erweiterte Maßnahmen nach dem Stand der Technik sehen daher beispielsweise vor, eine Anzahl von den Datenwörtern zugefügten Prüfbits (so genannte redundante Bits) zu erhöhen, um die Korrektur oder Erkennung von Datenfehlern auch bei Mehrbitfehlern zu verbessern. Dies kostet einen zusätzlichen Aufwand an Speicherelementen des Datenspeichers und verteuert diesen entsprechend.For example, prior art advanced measures provide for increasing a number of check bits (so-called redundant bits) added to the data words to improve the correction or detection of data errors even with multi-bit errors. This costs an additional amount of memory elements of the data memory and makes it more expensive.

Weiterhin kann das ECC-Verfahren zweistufig ausgeführt werden, indem nacheinander eine so genannte innere Kodierung (ECC) und eine äußere Kodierung (EDC, CRC) auf die Datenwörter angewendet werden. Doch ist auch diese Methode aufwändig und teuer.Furthermore, the ECC method can be carried out in two stages by successively applying a so-called inner coding (ECC) and an outer coding (EDC, CRC) to the data words. But this method is complex and expensive.

Ein Verfahren gemäß dem Oberbegriff des Anspruchs 1 ist aus der DE 10 2010 031 282 A1 bekannt.A method according to the preamble of claim 1 is known from DE 10 2010 031 282 A1 known.

Offenbarung der ErfindungDisclosure of the invention

Die Erfindung schlägt eine Verbesserung der vorgenannten Verfahren dadurch vor, dass eine oder mehrere Adressen eines Datenspeichers, unter welchen jeweils ein durch ein Fehlererkennungsverfahren als fehlerhaft bewertetes Datenwort abgespeichert ist, in einen Hilfsspeicher geschrieben und einem Prüfprogramm zur Verfügung gestellt werden, und dass zusätzlich zu der Adresse des Datenspeichers auch a) eine Adresse einer Zelle des Datenspeichers in den Hilfsspeicher geschrieben wird, auf die in einer vorangehenden Operation zugegriffen worden ist, und/oder b) das als fehlerhaft bewertete Datenwort in den Hilfsspeicher geschrieben wird. Nachfolgend wird als Fehlererkennungsverfahren auch ein Verfahren verstanden, welches Fehler korrigiert (sog. Fehlerkorrekturverfahren). Das erfindungsgemäße Verfahren hat den Vorteil, dass die Datenwörter eines Datenspeichers besonders gut gegen Fehler und/oder Defekte geschützt werden können, ohne dass der Datenspeicher vergrößert werden muss oder mehrstufige Fehlererkennungsverfahren angewendet werden müssen. Ferner ermöglicht die erfindungsgemäße Berücksichtigung einer Adresse einer Zelle des Datenspeichers, auf die in einer vorangehenden Operation zugegriffen worden ist, vorteilhaft eine Erkennung von „Address Delay Faults“. Bei Address Delay Faults (auch genannt: „address decoder delay fault“) tritt eine Fehlfunktion des Datenspeichers nur dann auf, wenn bestimmte Adressübergänge auftreten, wohingegen andere Adressübergänge nicht auf Fehler führen. Dadurch, dass erfindungsgemäß auch die Adresse einer Zelle des Datenspeichers gespeichert wird, auf die in einer vorangehenden Operation zugegriffen worden ist, kann vorteilhaft der entsprechende Adressübergang rekonstruiert und somit ein address delay fault erkannt werden.The invention proposes an improvement of the aforementioned method in that one or more addresses of a data memory, under each of which a data word evaluated as faulty by an error detection method, are written into an auxiliary memory and made available to a test program, and that in addition to the Address of the data memory also a) an address of a cell of the data memory is written in the auxiliary memory, which has been accessed in a previous operation, and / or b) the data word evaluated as erroneous is written in the auxiliary memory. Hereinafter, the error detection method is also understood as a method which corrects errors (so-called error correction method). The method according to the invention has the advantage that the data words of a data memory can be protected particularly well against errors and / or defects without the data memory having to be enlarged or multistage error detection methods having to be used. Further, according to the present invention, considering an address of a cell of the data memory which has been accessed in a previous operation advantageously allows detection of "Address Delay Faults". With Address Delay Faults (also known as "address decoder delay fault"), a malfunction of the data memory occurs only when certain address transitions occur, whereas other address transitions do not result in errors. By virtue of the fact that, according to the invention, the address of a cell of the data memory which has been accessed in a preceding operation is also stored, the corresponding address transition can advantageously be reconstructed, and thus an address delay fault can be detected.

Alternativ oder ergänzend wird erfindungsgemäß das als fehlerhaft bewertete Datenwort in den Hilfsspeicher geschrieben. Dies hat insbesondere bei nichtveränderlichen (nichtflüchtigen) Speichern den Vorteil, dass der auf einen Fehler führende Adressübergang in einem nachfolgenden Anschlusstest nicht durchgeführt werden muss. Z.B. kann durch mehrfaches Auslesen der Speicherzelle, die als fehlerhaft gekennzeichnet wurde, ein Address Decoder Delay Fault ausgeschlossen werden. Ein Vergleich dieses ausgelesenen Wertes mit dem durch das alternative erfindungsgemäße Verfahren abgespeicherte Wort ermöglicht eine zuverlässige Erkennung dieses Fehlerbildes. Alternatively or additionally, according to the invention, the data word evaluated as faulty is written into the auxiliary memory. This has the advantage, in particular in the case of non-variable (nonvolatile) memories, that the address transition leading to a fault does not have to be carried out in a subsequent connection test. For example, by repeatedly reading out the memory cell which has been identified as defective, an address decoder delay fault can be excluded. A comparison of this read-out value with the word stored by the alternative method according to the invention enables reliable recognition of this error pattern.

Einer weiteren Ausführungsform zufolge können auch die vorstehend genannten Varianten a), b) miteinander kombiniert werden, d.h. zusätzlich zu der Adresse des Datenspeichers wird gemäß Variante a) auch eine Adresse einer Zelle des Datenspeichers in den Hilfsspeicher geschrieben, auf die in einer vorangehenden Operation zugegriffen worden ist, und gemäß Variante b) wird das als fehlerhaft bewertete Datenwort in den Hilfsspeicher geschrieben.According to a further embodiment, the abovementioned variants a), b) can also be combined with one another, i. In addition to the address of the data memory according to variant a) also an address of a cell of the data memory is written to the auxiliary memory, which has been accessed in a previous operation, and according to variant b) the data word evaluated as erroneous is written into the auxiliary memory.

Besonders bevorzugt wird bei einer weiteren Ausführungsform jedoch nur eine der beiden Varianten a) bzw. b) verwendet.In a further embodiment, however, only one of the two variants a) or b) is particularly preferably used.

Die Erfindung geht von der Überlegung aus, dass heutige Datenspeicher eine sehr große Anzahl von Datenwörtern speichern können, wobei gleichzeitig die Anfälligkeit für flüchtige Fehler oder dauerhafte Defekte physikalisch bedingt steigt. Insbesondere berücksichtigt die Erfindung, dass flüchtige Fehler bzw. dauerhafte Defekte in Datenspeichern häufig nur einzelne oder wenige Speicherzeilen bzw. die darin abgespeicherten Datenwörter betreffen. Damit erweisen sich übliche Vorkehrungen zur Verbesserung der Datensicherheit insofern als nicht angepasst, wenn diese einen zur Größe des Datenspeichers proportionalen Aufwand erfordern.The invention is based on the consideration that today's data memories can store a very large number of data words, at the same time increasing the susceptibility to fugitive defects or permanent defects physically. In particular, the invention takes into account that volatile errors or permanent defects in data memories often only concern a single or a few memory lines or the data words stored therein. Thus, the usual provisions to improve data security prove to be unattended insofar as they require a cost that is proportional to the size of the data memory.

Erfindungsgemäß werden daher solche Adressen des Datenspeichers, unter denen ein durch ein Fehlererkennungsverfahren, also beispielsweise ein ECC- Verfahren, als fehlerhaft bewertetes Datenwort abgespeichert ist, in einen Hilfsspeicher geschrieben und somit gesondert behandelt. Dadurch kann der Aufwand insgesamt vergleichsweise klein gehalten werden. Die in dem Hilfsspeicher gespeicherten Informationen werden vorteilhafterweise einem Prüfprogramm zur Verfügung gestellt und beispielsweise regelmäßig von dem Prüfprogramm untersucht. Daraus werden Maßnahmen zur Erhöhung der Datensicherheit des Datenspeichers abgeleitet, wie weiter unten anhand eines möglichen Ausführungsbeispiels beschrieben ist.According to the invention, therefore, those addresses of the data memory, among which a data word which has been evaluated as faulty by an error detection method, for example an ECC method, are written to an auxiliary memory and thus treated separately. As a result, the effort can be kept relatively small overall. The information stored in the auxiliary memory is advantageously provided to a test program and, for example, examined regularly by the test program. From this measures for increasing the data security of the data memory are derived, as described below with reference to a possible embodiment.

Zur Begriffserklärung sei Folgendes angemerkt: Der Datenspeicher wird über "Adressen" angesteuert, die jeweils auf eine sogenannte Speicherzeile des Datenspeichers verweisen. Jede Speicherzeile des Datenspeichers umfasst mehrere (physikalische) sogenannte Speicherstellen, in welcher jeweils eine Einbit-Information, also ein einzelnes Datenbit, abgespeichert ist. Die Gesamtheit der in einer Speicherzeile abgespeicherten Datenbits wird als Datenwort bezeichnet. In den Speicherzeilen bzw. Speicherstellen können "Fehler" auftreten, die entweder "flüchtige Fehler" oder "dauerhafte Defekte" sind. Der Hilfsspeicher speichert die Adressen in einer Anzahl N von "Adressregistern", wobei zu jedem Adressregister eine weitere Information gespeichert wird, welche beispielsweise ein "Beleg-Bit" umfasst. Unter "Daten" werden beliebige Informationen verstanden, die in Datenspeichern gespeichert werden können.For the explanation of the term, the following is noted: The data memory is controlled via "addresses", each of which refers to a so-called memory line of the data memory. Each memory line of the data memory comprises a plurality of (physical) so-called memory locations, in each of which one-bit information, that is, a single data bit, is stored. The entirety of the data bits stored in a memory line is called a data word. In the memory lines or memory locations "errors" can occur, which are either "volatile errors" or "permanent defects". The auxiliary memory stores the addresses in a number N of "address registers", with further information being stored for each address register, which comprises, for example, a "document bit". By "data" is meant any information that can be stored in data stores.

Gemäß einer vorteilhaften Ausführungsform ist vorgesehen, dass das Fehlererkennungsverfahren im Wesentlichen mittels einer dem Datenspeicher zugeordneten elektronischen Schaltung durchgeführt wird. Ein solches Fehlererkennungsverfahren ist beispielsweise als so genanntes "Error Correction Coding" (ECC) ausgeführt. Dies kann vorteilhaft mittels der elektronischen Schaltung ausgeführt werden, durch welche die in den Datenspeicher zu schreibenden Daten um so genannte redundante Bits ergänzt werden, die bei einem späteren Lesen mit erfasst und ausgewertet werden, wodurch bestimmte Fehler oder Fehlermuster erkannt und/oder korrigiert werden können. Dadurch können gegebenenfalls Rechenzeit gespart und Kosten gesenkt werden.According to an advantageous embodiment, it is provided that the error detection method is carried out essentially by means of an electronic circuit assigned to the data memory. Such an error detection method is embodied for example as so-called "Error Correction Coding" (ECC). This can advantageously be carried out by means of the electronic circuit, by which the data to be written into the data memory are supplemented by so-called redundant bits, which are recorded and evaluated during later reading, whereby specific errors or error patterns can be detected and / or corrected , This can save computing time and reduce costs if necessary.

Eine Ausgestaltung des Verfahrens sieht vor, dass nur solche Adressen in den Hilfsspeicher geschrieben werden, deren Datenwörter durch das Fehlererkennungsverfahren als mit einem Einbitfehler behaftet bewertet wurden. Einbitfehler sind in besonderer Weise charakteristisch sowohl für das Auftreten flüchtiger Fehler – also solcher Fehler, die vorübergehend nur einen einzelnen Schreib- und Lesevorgang betreffen – als auch für dauerhafte Defekte von Speicherstellen des Datenspeichers. Weiter ist es für Einbitfehler möglich, nachgeordnete Systemmaßnahmen zu verwenden, um auf Systemebene Sicherheit und Zuverlässigkeit zu gewährleisten.An embodiment of the method provides that only those addresses are written into the auxiliary memory whose data words were evaluated by the error detection method as having a one-bit error. One-bit errors are particularly characteristic of both the occurrence of transient errors - that is, those errors which temporarily affect only a single write and read operation - as well as permanent defects in memory locations of the data memory. It is also possible for single-bit errors to use downstream system actions to ensure system-level security and reliability.

Die Verwaltung des Hilfsspeichers wird vereinfacht, wenn für jede in dem Hilfsspeicher abgespeicherte Adresse angezeigt wird, ob diese Adresse gültig ist. Beispielsweise kann durch ein für jede Adresse mit abgespeichertes "Beleg-Bit" auf einfache Weise ein belegtes Adressregister, welches somit eine "gültige" Adresse enthält, von einem nicht belegten, also leeren Adressregister unterschieden werden. Damit kann der Hilfsspeicher besonders effizient genutzt werden. Bei der Initialisierung ist es deshalb vorteilhaft, wenn diese Beleg-Bits auf ungültig gesetzt sind.The management of the auxiliary memory is simplified if it is displayed for each address stored in the auxiliary memory, whether this address is valid. For example, a reserved address register, which thus contains a "valid" address, can be distinguished from an unoccupied, ie empty, address register by a "document bit" stored for each address in a simple manner. Thus, the auxiliary memory can be used particularly efficiently. That's why it's at initialization advantageous if these slip bits are set to invalid.

Weiterhin ist vorgesehen, dass bei Erkennen eines fehlerhaften Datenworts durch das Fehlererkennungsverfahren zunächst die gültigen Adressen des Hilfsspeichers daraufhin untersucht werden, ob die Adresse des fehlerhaften Datenworts bereits abgespeichert ist. Ist dies der Fall, so wird der Inhalt des Hilfsspeichers nicht verändert. Ist dagegen die Adresse des fehlerhaften Datenworts nicht in dem Hilfsspeicher abgespeichert, so erfolgt die Abspeicherung in ein leeres Adressregister, wobei das zugehörige Beleg-Bit gesetzt wird.Furthermore, it is provided that upon detection of a faulty data word by the error detection method, first the valid addresses of the auxiliary memory are then examined to see whether the address of the incorrect data word has already been stored. If this is the case, the contents of the auxiliary memory are not changed. If, on the other hand, the address of the erroneous data word is not stored in the auxiliary memory, the storage takes place in an empty address register, with the associated document bit being set.

Insbesondere ist von dem Verfahren vorgesehen, dass das Datenwort, dessen Adresse in dem Hilfsspeicher gespeichert ist, durch das Prüfprogramm daraufhin untersucht wird, ob das Datenwort einen Einbitfehler oder einen Mehrbitfehler aufweist, und/oder ob die Speicherzeile des Datenwortes einen Defekt aufweist, der einem Einbitfehler oder einem Mehrbitfehler entspricht, und/oder ob ein Fehler der Speicherzeile des Datenwortes vorübergehend oder dauerhaft auftritt, und/oder welche Speicherstellen innerhalb der Speicherzeile jeweils betroffen sind. Damit kann das Datenwort beziehungsweise die Speicherzeile und die darin enthaltenen Speicherstellen besonders gründlich untersucht, bewertet und gegebenenfalls korrigiert werden. Die Einzelheiten hierzu sind in den folgenden Abschnitten anhand eines Ausführungsbeispiels der Erfindung näher beschrieben.In particular, it is provided by the method that the data word whose address is stored in the auxiliary memory is examined by the test program, whether the data word has a one-bit error or a multi-bit error, and / or if the memory line of the data word has a defect, the one One-bit error or a multi-bit error corresponds, and / or whether an error of the memory line of the data word occurs temporarily or permanently, and / or which memory locations are affected within the memory line respectively. Thus, the data word or the memory line and the memory locations contained therein can be thoroughly examined, evaluated and possibly corrected. The details of this are described in more detail in the following sections with reference to an embodiment of the invention.

Insbesondere kann vorgesehen sein, bei einem erkannten flüchtigen Fehler die zugehörige Adresse in dem Adressregister des Hilfsspeichers zu löschen bzw. das zugehörige Beleg-Bit zurückzusetzen. Möglich ist es außerdem, ganz auf die Verwendung von Beleg-Bits zu verzichten, sofern nicht belegte Adressregister vollständig mit binären Nullen gefüllt werden.In particular, it may be provided to delete the corresponding address in the address register of the auxiliary memory or to reset the associated document bit in the event of a detected volatile error. It is also possible to dispense entirely with the use of slip bits, as long as unused address registers are completely filled with binary zeros.

Das Verfahren kann abhängig von einer Bauart des Datenspeichers differenziert angewendet werden, wenn das Prüfprogramm bei einem flüchtigen Speicher einen auf zu erwartende Fehlermechanismen abgestimmten Schreib-Lese-Test durchführt, und bei einem nicht-flüchtigen Speicher einen Fehlertest mittels einer Prüfsumme einer CRC-Kodierung durchführt. Beispielsweise kann die Unterscheidung zwischen Einbitfehlern und Mehrbitfehlern bei flüchtigen Speichern vorteilhaft mittels eines auf jeweils zu erwartende Fehlermuster angepassten Schreib-Lese-Tests erfolgen. Bei nicht flüchtigen Speichern kann dies mittels eines CRC-Prüfsummenverfahrens "Cyclic Redundancy Check", also durch eine zyklische Redundanzprüfung über einen größeren Datenblock, erfolgen.The method may be differentiated depending on a type of the data memory when the test program executes a read-only test tuned to a failure memory in a volatile memory, and performs a failure test on a nonvolatile memory by means of a CRC-code checksum , For example, the distinction between single-bit errors and multi-bit errors in volatile memories can advantageously be carried out by means of a read-write test adapted to respective expected error patterns. In the case of non-volatile memories, this can be done by means of a CRC checksum method "Cyclic Redundancy Check", ie by a cyclic redundancy check over a larger data block.

Eine bevorzugte Ausgestaltung des Verfahrens sieht vor, dass unterschieden wird zwischen erstens richtig korrigierbaren Fehlern, zweitens falsch korrigierten oder falsch erkannten Mehrbitfehlern und/oder drittens flüchtigen Fehlern oder dauerhaften Defekten. Insbesondere erfolgt dies erfindungsgemäß vorzugsweise durch rechnergestützte Prozeduren, also basierend auf Software. Unter "richtig korrigierbaren Fehlern" werden jedenfalls ausgehend von üblichen ECC-Größen Einbitfehler verstanden. Jedoch können in Abhängigkeit von den eingesetzten technischen Mitteln auch Mehrbitfehler darunter verstanden werden. Für diese Unterscheidungen ist daher kein zusätzlicher Aufwand an elektronischen Schaltungen erforderlich, wobei das Verfahren flexibel arbeiten kann und individuell anpassbar ist. A preferred embodiment of the method provides that a distinction is made between first correctly correctable errors, secondly incorrectly corrected or incorrectly recognized multi-bit errors and / or thirdly volatile errors or permanent defects. In particular, this is preferably done according to the invention by computer-aided procedures, that is based on software. In any case, "correctly correctable errors" are understood to mean single-bit errors on the basis of customary ECC variables. However, depending on the technical means used, multi-bit errors can also be understood. For these distinctions, therefore, no additional effort on electronic circuits is required, the method can work flexibly and is individually customizable.

Ergänzend ist vorgesehen, dass Grenzwerte vorgegeben werden für eine zulässige Anzahl von Einbitfehlern und/oder Mehrbitfehlern und/oder Einbitdefekten und/oder Mehrbitdefekten, und dass bei einem Überschreiten mindestens eines Grenzwerts eine Reaktion der Speicherverwaltung erfolgt. Dadurch kann das Verfahren auf jeweilige Anforderungen einfach angepasst werden, beispielsweise in Bezug auf die Datensicherheit einerseits und die Verfügbarkeit des Datenspeichers andererseits. Beispielsweise kann schon bei einem Einbitdefekt und/oder einzelnen Mehrbitfehlern oder Mehrbitdefekten – wobei Mehrbitfehler oder Mehrbitdefekte gegebenenfalls nicht korrigiert werden – eine Reaktion der Speicherverwaltung erfolgen, welche nachstehend näher erläutert wird.In addition, it is provided that limit values are specified for an admissible number of one-bit errors and / or multi-bit errors and / or one-bit defects and / or multi-bit defects, and that a memory management response occurs if at least one limit value is exceeded. As a result, the method can be easily adapted to particular requirements, for example with regard to data security on the one hand and the availability of the data memory on the other hand. For example, even with a one-bit defect and / or individual multi-bit errors or multiple-bit defects - where multi-bit errors or multi-bit defects may not be corrected - a memory management response will occur which will be explained in more detail below.

Das Verfahren ist besonders nützlich, wenn die Reaktion der Speicherverwaltung mindestens eine der folgenden Maßnahmen umfasst:

  • – Deaktivieren einer defekten Speicherzeile und/oder Zuweisen einer Ersatz- Speicherzeile;
  • – Deaktivieren eines defekten Speicherzeilenbereichs und/oder Zuweisen eines Ersatz-Speicherzeilenbereichs;
  • – Erzeugen einer Meldung, eines Alarms und/oder eines Fehlerbits;
  • – Überführen des Datenspeichers und/oder eines dem Datenspeicher übergeordneten Systems in einen als sicher bewerteten Zustand.
The method is particularly useful when the memory management response involves at least one of the following:
  • Deactivating a defective memory line and / or assigning a spare memory line;
  • Deactivating a defective memory line area and / or assigning a spare memory line area;
  • - generating a message, an alarm and / or an error bit;
  • - Transferring the data memory and / or a parent of the data storage system in a evaluated as safe state.

Damit können einzelne oder mehrere als defekt erkannte Speicherzeilen deaktiviert werden und Ersatz-Speicherzeilen oder sogar Ersatz- Speicherzeilenbereiche zugewiesen werden. Hierzu sind geeignete Methoden vorbekannt. Weiterhin kann auch eine Meldung oder ein Alarm erzeugt werden, was beispielsweise in sicherheitsempfindlichen Systemen, wie etwa in Kraftfahrzeugen, von Bedeutung ist. Bedarfsweise kann auch der Datenspeicher oder das übergeordnete System oder ein Teil-System in einen passenden und als sicher bewerteten Zustand überführt werden.This can be used to disable single or multiple memory lines detected as defective and to allocate spare memory lines or even spare memory areas. For this purpose, suitable methods are already known. Furthermore, a message or an alarm can be generated, which is important for example in safety-sensitive systems, such as in motor vehicles. If required, the data memory or the higher-level system or a sub-system can also be converted into a suitable and as safely evaluated state.

Unabhängig von der Funktion des Prüfprogramms kann alternativ oder ergänzend mittels eines Überlaufsignals des Hilfsspeichers der Datenspeicher und/oder das übergeordnete System in den als sicher bewerteten Zustand überführt werden. Regardless of the function of the test program, alternatively or additionally, the data memory and / or the superordinate system can be converted into the condition evaluated as safe by means of an overflow signal of the auxiliary memory.

Erfindungsgemäß ist weiterhin vorgesehen, dass der Inhalt des Hilfsspeichers vor einem Abschalten des Datenspeichers bzw. eines dem Datenspeicher übergeordneten Systems in einem nicht-flüchtigen Speicher gesichert und nach einem Einschalten daraus wieder rekonstruiert werden kann. Damit bleibt die Fehler-Historie eines vorangegangenen Betriebs erhalten und kann nach dem folgenden Einschalten vorteilhaft wieder genutzt werden, etwa um besonders häufig lokalisierte Fehler oder Defekte schnell zu erkennen und zu beseitigen oder zu umgehen.According to the invention, it is further provided that the contents of the auxiliary memory can be saved in a non-volatile memory prior to switching off the data memory or of a system which is the parent of the data memory and can be reconstructed again after being switched on. Thus, the error history of a previous operation is maintained and can be advantageously used again after the subsequent power-on, for example, to quickly detect and eliminate localized errors or defects.

Eine Ergänzung des Verfahrens besteht darin, dass flüchtige Fehler und/oder dauerhafte Defekte gezählt und/oder statistisch bewertet werden. Damit kann das Prüfprogramm erweiterte und zur Beurteilung der Brauchbarkeit des Datenspeichers ergänzende Operationen durchführen, zu welchen eine herkömmliche Schaltung zur Fehlererkennung nicht in der Lage ist.A supplement to the method is that volatile errors and / or permanent defects are counted and / or statistically evaluated. Thus, the test program may perform advanced and complementary operations to assess the usefulness of the data memory to which a conventional error detection circuit is incapable.

Ergänzend dazu ist vorgesehen, dass ein Ergebnis der Zählung und/oder der statistischen Bewertung an einen Hersteller des Datenspeichers oder des übergeordneten Systems übermittelt wird. Diese Übermittlung kann mittels fernwirkender Diagnosesysteme – wie sie technisch zumindest in Vorbereitung sind – erfolgen, und beispielsweise dem Hersteller des Kraftfahrzeugs und/oder dem Hersteller des Datenspeichers frühzeitige Informationen zu möglichen beginnenden Problemen übermitteln.In addition, it is provided that a result of the count and / or the statistical evaluation is transmitted to a manufacturer of the data memory or the higher-level system. This transmission can take place by means of remote-acting diagnostic systems - as they are technically at least in preparation - and transmit, for example, the manufacturer of the motor vehicle and / or the manufacturer of the data memory early information on possible incipient problems.

Das Verfahren arbeitet wirkungsvoller, wenn nach einem Einschalten und/oder während eines Betriebs des Datenspeichers ein Funktions-Test durchgeführt wird, und wenn dadurch Adressen des Datenspeichers, welche auf Speicherzeilen verweisen, die während des Funktions-Tests verfahrensgemäß als fehlerhaft bewertet wurden, in den Hilfsspeicher geschrieben werden. Der Funktions-Test ist bei flüchtigen Speichern vorzugsweise als Schreib-Lese-Test und bei flüchtigen Speichern als Nur-Lese-Test ausgebildet. Damit können eventuelle vorhandene Prozeduren durch das Verfahren vorteilhaft ergänzt werden, wobei erfindungsgemäß zusätzliche Informationen erzeugt werden, die für eine Beurteilung der Datensicherheit in dem Datenspeicher verwendet werden können.The method works more efficiently when a functional test is performed after powering up and / or during operation of the data memory, and thereby addresses of the data memory that refer to memory lines that were evaluated as faulty during the functional test, in the Auxiliary memory are written. The functional test is preferably designed as a read-write test for volatile memories and as a read-only test for volatile memories. In this way, any existing procedures can advantageously be supplemented by the method, wherein according to the invention additional information is generated which can be used for an assessment of the data security in the data memory.

Weiterhin ist in Verbindung mit dem Schreib-Lese-Test vorgesehen, dass über jene Speicherzeilen, deren Adressen in dem Hilfsspeicher gespeichert sind, eine erste Prüfsumme gebildet wird, die erste Prüfsumme abgespeichert wird, im weiteren Betrieb des Datenspeichers regelmäßig mindestens eine weitere Prüfsumme über jene Speicherzeilen, deren Adressen in dem Hilfsspeicher abgespeichert wurden, gebildet wird, und die mindestens eine weitere Prüfsumme mit der ersten Prüfsumme verglichen wird. Furthermore, it is provided in connection with the read-write test that a first checksum is stored on those memory lines whose addresses are stored in the auxiliary memory, the first checksum is stored, in the further operation of the data memory regularly at least one more checksum on those Memory lines whose addresses have been stored in the auxiliary memory is formed, and the at least one further checksum is compared with the first checksum.

Gemäß einer bevorzugten Ausführungsform werden die zur Bildung der ersten Prüfsumme verwendeten Adressen zusätzlich gesichert. Diese zusätzlich gesicherten Adressen können anschließend für die Bildung der mindestens einen weiteren Prüfsumme verwendet werden. Damit wird erreicht, dass die weiteren Prüfsummen unabhängig von einem aktuellen Inhalt des Hilfsspeichers gebildet werden können.According to a preferred embodiment, the addresses used to form the first checksum are additionally backed up. These additionally secured addresses can then be used for the formation of the at least one further checksum. This ensures that the additional checksums can be formed independently of a current content of the auxiliary memory.

Dadurch ist es vorteilhaft möglich, einzelne Speicherzeilen oder Speicherzeilenbereiche, welche als nicht veränderbar bzw. veränderlich bekannt sind, einem regelmäßigen Test zu unterziehen: Nach Betriebsbeginn und einer gewissen Betriebszeit des Datenspeichers und mittels Durchführung des erfindungsgemäßen Verfahrens und gegebenenfalls eines Schreib-Lese-Tests liegen in dem Hilfsspeicher die Adressen jener Speicherzeilen vor, welche als mit einem Einbitfehler bzw. Einbitdefekt behaftet bewertet wurden. Solche Einbitfehler bzw. Einbitdefekte werden als durch die Fehlererkennung korrigierbar angenommen. Abhängig von der jeweiligen Ausführungsform der Fehlererkennung kann gegebenenfalls mit eventuell korrigierbaren Mehrbitfehlern bzw. Mehrbitdefekten in gleicher Weise verfahren werden. Dann wird über die Datenwörter der in dem Hilfsspeicher gespeicherten Adressen – welche mittels der Fehlererkennung korrekt korrigiert werden – beispielsweise nach einem CRC-Verfahren eine Prüfsumme gebildet und abgespeichert. Dabei kann auch eine abgesicherte Abspeicherung sinnvoll sein, beispielsweise mittels einer Doppelablage. Ergänzend ist es denkbar, auch die Adressen des Hilfsspeichers zusätzlich abzuspeichern. Anschließend wird eine zyklische oder regelmäßig ablaufende Prüfung derart vorgenommen, dass über die im Hilfsspeicher vorliegenden Adressen (oder über die zuvor zusätzlich abgespeicherten Adressen) eine Prüfsumme gebildet wird und mit der nach dem Betriebsbeginn gebildeten und abgespeicherten Prüfsumme verglichen wird. Ergibt der Vergleich keine Übereinstimmung, so kann eine der Schwere des Fehlers angemessene Reaktion erfolgen. Der Vorteil dieses Vorgehens besteht darin, dass die Prüfung eine vergleichsweise kurze Zeit dauert und daher auch während des normalen Betriebs des Datenspeichers bzw. des übergeordneten Systems erfolgen kann. Sofern während der Prüfungen zwischenzeitlich weitere fehlerhafte Speicherzeilen oder Speicherzeilenbereiche erkannt wurden, kann es sinnvoll sein, die beschriebene zyklische oder regelmäßig ablaufende Prüfung entsprechend anzupassen.As a result, it is advantageously possible to subject individual memory lines or memory line areas, which are known to be unchangeable or changeable, to a regular test: After the start of operation and a certain operating time of the data memory and by carrying out the method according to the invention and optionally a read / write test in the auxiliary memory, the addresses of those memory lines which have been evaluated as having a one-bit error or Einbitdefekt. Such one-bit errors or one-bit defects are assumed to be correctable by the error detection. Depending on the respective embodiment of the error detection, any possibly correctable multi-bit errors or multiple-bit defects may possibly be dealt with in the same way. Then, via the data words of the addresses stored in the auxiliary memory-which are corrected correctly by means of error detection-a checksum is formed and stored, for example according to a CRC method. In this case, a secure storage may be useful, for example by means of a double storage. In addition, it is conceivable to additionally store the addresses of the auxiliary memory. Subsequently, a cyclical or periodically running check is performed in such a way that a checksum is formed via the addresses present in the auxiliary memory (or via the previously additionally stored addresses) and is compared with the checksum formed and stored after the start of operation. If the comparison does not match, an appropriate response can be made to the severity of the error. The advantage of this procedure is that the test takes a comparatively short time and can therefore also take place during the normal operation of the data memory or of the higher-level system. If further faulty memory lines or memory line areas have been detected during the tests, it may be useful to use the described cyclical or periodic review.

Dabei kann es nützlich sein, wenn der Schreib-Lese-Test auf Speicherzeilenbereiche aufgeteilt wird und wenn verschiedene Speicherzeilenbereiche unabhängig nacheinander dem Schreib-Lese-Test unterzogen werden. Damit ist es möglich, den Schreib-Lese-Test und die darauf aufbauende erfindungsgemäße Behandlung der Adressen und Datenwörter auch während des aktiven Betriebs des Datenspeichers auszuführen. Gegebenenfalls ist es dazu für einen gegebenen Speicherbereich notwendig, zunächst eine Sicherungskopie des Inhalts zu erstellen, dann den Schreib-Lese-Test auf diesem Bereich durchzuführen, und danach die Sicherungskopie wieder in den Bereich zurück zu kopieren.In this case, it may be useful if the read-write test is divided into memory line areas and if different memory line areas are subjected independently to the read-write test one after the other. This makes it possible to carry out the read-write test and the inventive treatment of the addresses and data words based thereon also during the active operation of the data memory. Optionally, for a given memory area, it is necessary to first make a backup copy of the content, then perform the read-write test on that area, and then copy the backup back into the area.

Ergänzend ist vorgesehen, dass das Fehlererkennungsverfahren beziehungsweise eine das Fehlererkennungsverfahren ausführende elektronische Schaltung nach einem Einschalten des Datenspeichers und/oder während des Betriebs auf seine ordnungsgemäße Funktion geprüft wird. Auf diese Weise kann sichergestellt werden, dass das Fehlererkennungsverfahren, welches eine Basis für das erfindungsgemäße Verfahren darstellt, in sich fehlerfrei arbeitet.In addition, it is provided that the error detection method or an electronic circuit implementing the error detection method is checked for proper functioning after switching on the data memory and / or during operation. In this way, it can be ensured that the error detection method, which constitutes a basis for the method according to the invention, operates error-free in itself.

Die Erfindung betrifft auch ein Prüfprogramm, das auf einem Computer ablauffähig ist, und das derart programmiert ist, dass es das erfindungsgemäße Verfahren ausführen kann. Unter "Computer" werden hierbei alle Arten von Vorrichtungen verstanden, welche mindestens einen Programmspeicher und eine darauf zugreifende logische Schaltung umfassen. Beispielsweise also Computer, PC, Steuer- und/oder Regeleinrichtungen etwa von Kraftfahrzeugen, Zustandsmaschinen mit bool'scher Logik, Mikroprozessorsysteme, Mikrocontroller, intelligente USB-Speichergeräte "Universal Serial Bus", und dergleichen. The invention also relates to a test program executable on a computer and programmed to perform the method of the invention. In this case, "computer" is understood to mean all types of devices which comprise at least one program memory and a logic circuit accessing it. For example, computers, personal computers, control and / or regulating devices such as motor vehicles, state machines with Boolean logic, microprocessor systems, microcontrollers, intelligent USB storage devices "Universal Serial Bus", and the like.

Die Erfindung betrifft ferner einen Hilfsspeicher zur Durchführung des Verfahrens. Dieser kann als eigenständige Einheit ausgeführt sein oder auch in beliebige vorhandene Speichersysteme oder elektronische Schaltungen integriert sein.The invention further relates to an auxiliary memory for carrying out the method. This can be designed as a separate unit or integrated into any existing storage systems or electronic circuits.

Nachfolgend werden zahlreiche weitere Ausgestaltungen der Erfindung in aufeinander folgenden Kurzdarstellungen beschrieben. Diese können einzeln oder auch in beliebiger Kombination für die Erfindung wichtig sein.Hereinafter, numerous further embodiments of the invention will be described in successive brief descriptions. These may be important for the invention individually or in any combination.

Für sehr sicherheitskritische Anwendungen kann es eine Maßnahme sein, flüchtige Fehler zu tolerieren, jedoch bereits aufgrund eines einzelnen dauerhaften Einbitdefekts eine Reaktion auszulösen oder den Datenspeicher bzw. das übergeordnete System in einen als sicher bewerteten Zustand zu überführen.For very safety-critical applications, it can be a measure to tolerate fugitive errors, but already trigger a reaction due to a single permanent one-bit defect, or to convert the data store or the higher-level system into a state evaluated as safe.

Für Anwendungen, bei denen dagegen die Verfügbarkeit im Vordergrund steht, kann es geboten sein, auf die Benutzung des Prüfprogramms ganz zu verzichten und die Fehlerbehandlung im Wesentlichen auf die Fehlerkorrektur zu beschränken. In contrast, for applications in which availability is of primary importance, it may be necessary to completely dispense with the use of the test program and to essentially limit error handling to error correction.

Flüchtige Fehler im Datenspeicher können nach ihrer Erkennung sofort durch das Prüfprogramm korrigiert werden, oder es kann alternativ eine Zeit abgewartet werden, während derer die betreffende Speicherstelle unter Beobachtung bleibt.Volatile errors in the data memory can be corrected immediately after detection by the test program, or alternatively, a time can be waited during which the memory location in question remains under observation.

Das Prüfprogramm kann eine Rate des Auftretens der flüchtigen Fehler ermitteln und zusätzliche Prüfungen und/oder Maßnahmen durchführen, falls die Rate einen Grenzwert überschreitet.The test program may determine a rate of occurrence of the fugitive errors and perform additional tests and / or actions if the rate exceeds a threshold.

Vor einem Abschalten des Datenspeichers kann das Prüfprogramm versuchen, als fehlerhaft bewertete Speicherstellen eines FLASH-Speichers neu zu beschreiben.Before the data memory is shut down, the test program may attempt to rewrite as memory locations of a FLASH memory that have been incorrectly evaluated.

Das Prüfprogramm kann den Datenspeicher in mehrere Speicherzeilenbereiche unterteilen und für sicherheitskritische Dateninhalte solche Speicherzeilenbereiche verwenden, welche frei von dauerhaften Defekten sind.The test program can subdivide the data memory into several memory line areas and use such memory line areas for security-critical data contents, which are free from permanent defects.

Das Prüfprogramm kann erkannte Einbitfehler und/oder Einbitdefekte ihrem jeweiligen Speicherzeilenbereich zuordnen, und mit solchen Fehlern behaftete Speicherzeilenbereiche, die als sicherheitskritisch bewertet werden, besonderen Prüfungen unterziehen.The test program may associate detected one-bit errors and / or one-bit defects with its respective memory line area, and subject special memory sections subject to such errors to memory area ranges that are rated safety critical.

Die nachfolgenden möglichen Ausgestaltungen der Erfindung betreffen im Wesentlichen eine verfahrensgemäße Prüfung des Datenspeichers in Verbindung mit dem Schreib-Lese-Test:
Der den Datenspeicher prüfende Schreib-Lese-Test kann mittels eines speziellen Schreib-Lese-Testprogramms erfolgen oder alternativ und mindestens teilweise durch eine elektronische Schaltung. Wird der Schreib-Lese-Test mittels einer programmgestützten Prozedur durchgeführt, kann bereits durch die Durchführung des Tests getriggert der Hilfsspeicher mit Adressen fehlerhafter Speicherzeilen beschrieben werden.
The following possible embodiments of the invention essentially relate to a method-specific test of the data memory in connection with the read-write test:
The read-write test which checks the data memory can be carried out by means of a special read-write test program or alternatively and at least partially by an electronic circuit. If the read-write test is carried out by means of a program-supported procedure, the auxiliary memory with addresses of faulty memory lines can already be triggered by carrying out the test.

Bei einem Nur-Lese-Test eines nichtflüchtigen Speichers, beispielsweise eines FLASH-Speichers oder ROM-Speichers "Read Only Memory", können Prüfsummen über den gesamten Datenspeicher oder über einzelne Speicherzeilenbereiche gebildet werden. Zusätzlich kann die Fehlererkennung aktiviert werden, wobei geprüft werden kann, welche der Fehler durch die Fehlererkennung korrigierbar sind. Außerdem können durch das erfindungsgemäße Verfahren die Adressen der von Fehlern betroffenen Speicherzeilen in den Hilfsspeicher geschrieben und dem Prüfprogramm zur Verfügung gestellt werden. Alternativ kann auch bei deaktivierter Fehlererkennung der nichtflüchtige Datenspeicher gelesen werden und das Ergebnis zu einem Vergleich verwendet werden.In a read-only test of a non-volatile memory, for example a FLASH memory or ROM memory "Read Only Memory", checksums can be formed all over the data memory or over individual memory line areas. In addition, the error detection can be activated, it being possible to check which of the errors can be corrected by the error detection are. In addition, the addresses of the memory lines affected by errors can be written into the auxiliary memory and made available to the test program by the inventive method. Alternatively, even with deactivated error detection, the non-volatile data memory can be read and the result used for comparison.

Ergänzend ist es denkbar, den Schreib-Lese-Test bzw. den Nur-Lese-Test so durchzuführen, dass auf jede Speicherstelle einer Speicherzeile einmal mit und einmal ohne die Wirkung der Fehlererkennung zugegriffen wird, und dass danach jeweils beide Ergebnisse verglichen werden. Um eventuelle Fehler in den redundanten Bits zu erkennen, kann ergänzend eine Neuberechnung der Datenwörter und der zugehörigen redundanten Bits erfolgen, und danach die neu berechneten redundanten Bits mit den in der Speicherzeile vormals abgespeicherten redundanten Bits verglichen werden.In addition, it is conceivable to perform the read-write test or read-only test in such a way that each memory location of a memory line is accessed once with and once without the effect of the error detection, and that thereafter both results are compared. In order to detect possible errors in the redundant bits, a recalculation of the data words and the associated redundant bits can additionally be performed, and then the newly calculated redundant bits are compared with the redundant bits previously stored in the memory line.

Es kann ein Ziel des Schreib-Lese-Tests sein, den Hilfsspeicher mit den Adressen aller als fehlerhaft bewerteter Speicherzeilen zu füllen. Nachfolgend kann bei erkannten und/oder korrigierten Fehlern, welche in Speicherzeilen auftreten, deren Adressen bislang nicht im Hilfsspeicher vorliegen, auf einen neuartigen Fehler geschlossen werden und geeignete Maßnahmen vorgenommen werden. Dies kann gegebenenfalls durch einen so genannten Interrupt, "Unterbrechung", des übergeordneten Systems eingeleitet werden, wobei der Interrupt beispielsweise dann erzeugt wird, wenn im normalen Betrieb des Datenspeichers ein Beleg-Bit des Hilfsspeichers gesetzt wird.It may be a goal of the read-write test to fill the auxiliary memory with the addresses of all the memory lines evaluated as faulty. Subsequently, in the case of detected and / or corrected errors which occur in memory lines whose addresses have not yet been present in the auxiliary memory, a new type of error can be concluded and suitable measures can be taken. This may possibly be initiated by a so-called interrupt, "interrupt", of the higher-level system, the interrupt being generated, for example, when a reference bit of the auxiliary memory is set during normal operation of the data memory.

Die nachfolgenden möglichen Ausgestaltungen der Erfindung betreffen im Wesentlichen eine verfahrensgemäße Prüfung des Datenspeichers in Verbindung mit einer Prüfung der Fehlererkennung auf ihre Funktionstüchtigkeit:
Sofern eine Prüfung der Fehlererkennung auf ihre Funktionstüchtigkeit vorgenommen wird, beispielsweise nach dem Einschalten des Datenspeichers oder des übergeordneten Systems, kann eine die Fehlererkennung prüfende Logik – also eine elektronische Schaltung – während eines allgemeinen Selbsttests des Datenspeichers oder des übergeordneten Systems vorteilhaft mit geprüft werden. Dadurch kann die Prüfung der Fehlererkennung noch sicherer gemacht werden. Sofern es eine jeweilige Ausführungsform technisch ermöglicht, kann die Fehlererkennung und/oder die die Fehlererkennung prüfende Logik nicht nur bei Betriebsbeginn, sondern auch während des normalen Betriebs des Datenspeichers in vergleichbarer Weise geprüft werden. Alternativ zu der prüfenden Logik kann die Prüfung der Fehlererkennung auch mittels eines speziellen Programmteils erfolgen. Optional kann die Prüfung im normalen Betrieb auch nur dann vorgenommen werden, wenn der Hilfsspeicher nicht leer ist.
The following possible embodiments of the invention essentially relate to a method-specific test of the data memory in connection with a check of the error detection for its functionality:
If a check of the fault detection is performed on their functionality, for example, after switching on the data memory or the higher-level system, a logic that checks for error detection - that is, an electronic circuit - can advantageously be tested during a general self-test of the data memory or of the higher-level system. As a result, the error detection test can be made even safer. Insofar as a respective embodiment makes it technically possible, the error detection and / or the logic that tests the error detection can be tested in a comparable manner not only at the start of operation but also during normal operation of the data memory. As an alternative to the checking logic, the error detection test can also be carried out by means of a special program part. Optionally, the test can only be performed in normal operation if the auxiliary memory is not empty.

Ergänzend kann die Fehlererkennung geprüft werden, indem ein oder mehrere absichtlich fehlerhaft geschriebene oder als fehlerhaft bekannte Datenwörter aus dem Datenspeicher gelesen werden und die Korrektureigenschaften der Fehlererkennung daran geprüft und/oder bewertet werden.In addition, the error detection can be checked by reading one or more intentionally erroneously written or known as erroneous data words from the data memory and the correction characteristics of the error detection are checked and / or evaluated.

Bei nicht-im-Betrieb-beschreibbaren Speichern können absichtlich fehlerhafte Datenwörter an vorbestimmte Adressen eingeschrieben werden, und zwar sowohl Einbit Fehler als auch Mehrbitfehler. Die Funktionstüchtigkeit der Fehlererkennung kann daher durch einen Zugriff auf diese Adressen überprüft werden. Dabei kann es sinnvoll sein, diese Adressen aus dem Nur-Lese-Test des Datenspeichers herauszunehmen, um einen Überlauf des Hilfsspeichers zu vermeiden. Nach Ablauf der Prüfung können die vorbestimmten Adressen im Hilfsspeicher wieder gelöscht und das zugehörige Beleg-Bit zurückgesetzt werden. In non-operationally writable memories, intentionally erroneous data words may be written to predetermined addresses, both single-bit errors and multi-bit errors. The functionality of the error detection can therefore be checked by accessing these addresses. It may be useful to remove these addresses from the read-only test of the data memory to avoid overflow of the auxiliary memory. After the test, the predetermined addresses in the auxiliary memory can be deleted again and the associated document bit can be reset.

Bei einem RAM-Speicher oder sonstigen im Betrieb beschreibbaren Ausführungen von Datenspeichern können die absichtlich fehlerhaften Datenwörter auch mittels eines Programmteils während des Betriebs erzeugt werden, indem bei einer vorübergehend deaktivierten Fehlererkennung die Datenwörter und die zugehörigen redundanten Bits getrennt erzeugt und geschrieben werden. Danach wird die Prüfung der Fehlererkennung durchgeführt. Dabei kann es sinnvoll sein, diese Prüfung auf solche Speicherzeilen zu begrenzen, die bislang nicht als fehlerhaft bewertet wurden. Ebenfalls kann es sinnvoll sein, nach Ablauf der Prüfung die vorbestimmten Adressen sowie das zugehörige Beleg-Bit wieder zu löschen bzw. zurückzusetzen.In the case of a RAM memory or other types of data memories which can be written to during operation, the intentionally erroneous data words can also be generated by means of a program part during operation by separately generating and writing the data words and the associated redundant bits during a temporarily deactivated error detection. Thereafter, the error detection test is performed. It may make sense to limit this check to those memory lines that have not previously been rated as faulty. It may also be useful to delete or reset the predetermined addresses and the associated document bit after the test has expired.

Weiterhin ist es möglich, die Prüfung der Fehlererkennung nur dann durchzuführen, wenn der Datenspeicher bereits erkannte Fehler bzw. dauerhafte Defekte aufweist, und dabei nur die als fehlerhaft bewerteten Speicherzeilen zu verwenden.Furthermore, it is possible to carry out the error detection test only if the data memory already has recognized faults or permanent defects, and to use only the memory lines which are evaluated as faulty.

Ergänzend ist es möglich, die Prüfung der Fehlererkennung regelmäßig durchzuführen, wobei jedes Mal ein anderer Speicherzeilenbereich verwendet wird, derart, dass bei wiederholten Prüfungen der gesamte Datenspeicher im Wesentlich von der Prüfung erfasst werden kann. In addition, it is possible to regularly perform the error detection test, each time using a different memory line area, such that in repeated tests, the entire data memory can essentially be detected by the test.

Die nachfolgenden möglichen Ausgestaltungen der Erfindung betreffen im Wesentlichen eine verfahrensgemäße Prüfung des Datenspeichers in Verbindung mit einem Schreib-Lese-Test oder einem Nur-Lese-Test:
Ergänzend ist es möglich, einen Schreib-Lese-Test so durchzuführen, dass ein ursprünglicher Speicherzeilenbereich ausgewählt wird - beispielsweise in physikalischer oder logischer Nachbarschaft zu einer bestimmten Speicherzeile – welcher in einem ersten Schritt mittels Kopieren in einen anderen freien Speicherzeilenbereich gesichert wird. Danach wird in einem zweiten Schritt der ursprüngliche Speicherzeilenbereich mittels des Schreib-Lese-Tests geprüft. Für nicht beschreibbare Ausführungsformen des Datenspeichers – beispielsweise FLASH-Speicher oder ROM-Speicher – können Prüfsummen über die Speicherzeilenbereiche gebildet werden. Am Schluss können die gesicherten Daten in den ursprünglichen Speicherzeilenbereich gegebenenfalls wieder zurück geschrieben werden.
The following possible embodiments of the invention essentially relate to a method-specific test of the data memory in conjunction with a read-write test or a read-only test:
In addition, it is possible to perform a read-write test such that an original one Memory line area is selected - for example, in physical or logical proximity to a specific memory line - which is saved in a first step by copying into another free memory line area. Thereafter, in a second step, the original memory line area is checked by means of the read-write test. For non-writable embodiments of the data memory - for example FLASH memory or ROM memory - checksums can be formed over the memory line areas. At the end, the backed up data can be written back to the original memory line area if necessary.

Die Durchführung eines solchen Schreib-Lese-Tests bzw. Nur-Lese-Tests zusammen mit dem erfindungsgemäßen Verfahren zum Überwachen des Datenspeichers ermöglicht es, dass innerhalb einer bestimmten Zeitspanne der gesamte Datenspeicher geprüft werden kann und somit auch die Adressen aller fehlerhaften Speicherzeilen innerhalb dieser Zeitspanne im Hilfsspeicher vorliegen.Carrying out such a read-write test together with the method according to the invention for monitoring the data memory makes it possible to test the entire data memory within a certain period of time and thus also the addresses of all faulty memory lines within this time span present in the auxiliary memory.

Die nachfolgenden möglichen Ausgestaltungen der Erfindung betreffen im Wesentlichen eine verfahrensgemäße Prüfung des Datenspeichers in Verbindung mit einer so genannten Speicherausblendung:
Dazu ist vorgesehen, die über das Verfahren in dem Hilfsspeicher gespeicherten Adressen des Datenspeichers nicht mehr oder nur in Ausnahmefällen zu verwenden. Dazu werden drei Möglichkeiten vorgeschlagen:

  • (A) Verwendung einer so genannten "Memory Management Unit", MMU, welche der weiter oben beschriebenen Speicherverwaltung funktional entspricht oder dieser zugehörig ist. Dabei werden jene Adressen, die in einem zu Betriebsbeginn erfolgten Schreib-Lese-Test bzw. Nur-Lese-Test Start-Up als fehlerhaft bewertet und in dem Hilfsspeicher abgespeichert wurden, der Speicherverwaltung bzw. der MMU mitgeteilt. Dadurch können diese – physikalischen – Adressen für eine weitere Verwendung auf einfache Weise gesperrt werden.
  • (B) Schaltungsmäßige Trennung der betroffenen Bereiche: Es ist bekannt, einzelne Speicherzeilen und/oder Speicherzeilenbereiche eines Datenspeichers mittels Trennstellen, (integrierten) Sicherungen oder Schaltern gezielt auszublenden. Das erfindungsgemäße Verfahren kann mit einer solchen Ausblendung sinnvoll kombiniert werden, ähnlich wie zuvor im Abschnitt (A) beschrieben. Die im Hilfsspeicher gespeicherten Adressen können also zur Ausblendung verwendet werden. Dies kann beispielsweise während des Betriebs, während einer spezialisierten Betriebszeit oder manuell in einer Werkstatt erfolgen.
  • (C) Programmtechnische Maßnahmen, so genannte "Lernende Software": Bei der Zuweisung von Speicherzeilen oder Speicherzeilenbereichen, "Speicherallokation", werden solche Adressen, die in dem Hilfsspeicher gespeichert sind, nicht mehr verwendet.
The following possible embodiments of the invention essentially relate to a method-specific test of the data memory in connection with a so-called memory suppression:
For this purpose, it is intended to no longer or only in exceptional cases use the addresses of the data memory stored in the auxiliary memory via the method. There are three ways to do this:
  • (A) Use of a so-called "Memory Management Unit", MMU, which functionally corresponds to or is associated with the memory management described above. In this case, those addresses which were evaluated as being erroneous in a read-write test or read-only test start-up at the start of operation and stored in the auxiliary memory are communicated to the memory management or the MMU. As a result, these physical addresses can be easily blocked for further use.
  • (B) Circuit separation of affected areas: It is known to hide individual memory lines and / or memory line areas of a data storage by means of separation points, (integrated) backups or switches targeted. The method according to the invention can be usefully combined with such blanking, similarly as described above in section (A). The addresses stored in the auxiliary memory can thus be used for blanking. This can for example be done during operation, during a specialized operating time or manually in a workshop.
  • (C) Program measures, so-called "learning software": When allocating memory lines or memory line areas, "memory allocation", those addresses which are stored in the auxiliary memory are no longer used.

Die nachfolgende mögliche Ausgestaltung der Erfindung betrifft im Wesentlichen eine verfahrensgemäße Prüfung des Datenspeichers in Verbindung mit einem Fehlerspeicher:
Vor dem Abschalten des Datenspeichers oder des übergeordneten Systems – welches beispielsweise in einem Kraftfahrzeug angeordnet sein kann – kann ein Eintrag über den Inhalt des Hilfsspeichers in einem Fehlerspeicher vorgenommen werden. Damit kann protokolliert werden, welche Adressen bzw. Speicherzeilen als fehlerhaft erkannt wurden. Damit können unter anderem für eine Werkstattdiagnose wichtige Informationen gesichert werden.
The following possible embodiment of the invention essentially relates to a method-specific test of the data memory in conjunction with a fault memory:
Before switching off the data memory or the higher-level system - which may be arranged, for example, in a motor vehicle - an entry about the contents of the auxiliary memory can be made in a fault memory. This can be used to log which addresses or memory lines were detected as faulty. Thus, important information can be saved for a workshop diagnosis, among other things.

Die Aufgabe der Erfindung wird auch durch ein Prüfprogramm und ein Speichermedium nach den nebengeordneten Ansprüchen gelöst. Vorteilhafte Weiterbildungen sind in Unteransprüchen angegeben. Weitere Merkmale der Erfindung sind in der nachfolgenden Beschreibung von beispielhaften Ausführungsformen und in den Zeichnungen angegeben, wobei die Merkmale sowohl in Alleinstellung als auch in unterschiedlichen Kombinationen für die Erfindung wichtig sein können, ohne dass hierauf nochmals explizit hingewiesen wird. In der Zeichnung zeigen:The object of the invention is also achieved by a test program and a storage medium according to the independent claims. Advantageous developments are specified in subclaims. Further features of the invention are given in the following description of exemplary embodiments and in the drawings, wherein the features both in isolation and in different combinations may be important to the invention, without being explicitly referred to again. In the drawing show:

1 ein Blockschaltbild eines Datenspeichers mit einer Schaltung zur Fehlererkennung und einem Hilfsspeicher; und 1 a block diagram of a data memory with a circuit for error detection and an auxiliary memory; and

2 ein Flussdiagramm mit Verfahrensschritten des erfindungsgemäßen Verfahrens gemäß einem Ausführungsbeispiel. 2 a flowchart with method steps of the inventive method according to an embodiment.

1 zeigt einen Datenspeicher 10 mit einer Fehlererkennung 12 und einem an die Fehlererkennung 12 angeschlossenen Hilfsspeicher 14. Eine senkrechte gestrichelte Linie 16 unterscheidet in der Zeichnung der 1 den nach dem Stand der Technik vorbekannten Teil (links) von der erfindungsgemäßen zusätzlichen elektronischen Schaltung (rechts). Ebenfalls ist im rechten Teil der Zeichnung ein Prüfprogramm 18 dargestellt, welches unter anderem auf den Hilfsspeicher 14 lesend und schreibend zugreifen und dessen Informationen verarbeiten kann. Dies ist durch einen Doppelpfeil 20 symbolisch dargestellt. Nach Bedarf kann das Prüfprogramm 18 auch auf übrige in der Umgebung des Datenspeichers 10 und der Fehlererkennung 12 vorliegende Informationen zugreifen. Ein nicht-flüchtiger Speicher 19 ist über eine bidirektionale Datenverbindung 21 an den Hilfsspeicher 14 angeschlossen. 1 shows a data store 10 with an error detection 12 and one to the error detection 12 connected auxiliary memory 14 , A vertical dashed line 16 differs in the drawing of 1 the previously known from the prior art part (left) of the inventive additional electronic circuit (right). Also in the right part of the drawing is a test program 18 shown, which among other things on the auxiliary memory 14 read and write access and process its information. This is by a double arrow 20 symbolically represented. If necessary, the test program 18 also on others in the area of the data memory 10 and error detection 12 access this information. A non-volatile memory 19 is via a bidirectional data connection 21 to the auxiliary memory 14 connected.

Insgesamt zeigt das Schema der 1 sowohl schaltungsbasierte Elemente ("Hardware") als auch rechnergestützte Prozeduren ("Software"). Die Fehlererkennung 12 (ECC, "Error Correction Coding") ist vorliegend als elektronische Schaltung ausgeführt. Weiterhin können die in der 1 dargestellten Elemente auf mehrere elektronische Bauelemente aufgeteilt sein oder insgesamt auf lediglich einem Element gemeinsam untergebracht sein ("Ein-Chip-Lösung"). Overall, the scheme of the 1 both circuit-based elements ("hardware") and computer-aided procedures ("software"). The error detection 12 (ECC, "Error Correction Coding") is in the present case designed as an electronic circuit. Furthermore, in the 1 be shown divided into several electronic components or housed in total on only one element together ("one-chip solution").

Der Datenspeicher 10 ist bidirektional mit der Fehlererkennung 12 verbunden. Ein innerer Datenpfad 22 führt im Datenspeicher 10 abzuspeichernde bzw. abgespeicherte Datenwörter 24, welche in der Fehlererkennung 12 mit zugehörigen redundanten Bits 26 ergänzt wurden. Die Datenwörter 24 umfassen jeweils mehrere Bits in einer beliebigen aber festen Anzahl. Ein äußerer Datenpfad 28 führt die Datenwörter 24 ohne die redundanten Bits 26 einer Speicherverwaltung 29 bidirektional zu. Ebenso werden Adressen 30 dem Datenspeicher 10 zur Verwaltung der darin gespeicherten Daten von der Speicherverwaltung 29 zugeführt. Dabei weist jede Adresse 30 auf eine zugehörige Speicherzeile 33 des Datenspeichers 10, das heißt, die Speicherzeile 33 umfasst Speicherstellen 35 zu je ein Bit in einer Anzahl, die mindestens der Länge des Datenwortes 24 plus der jeweils zugehörigen redundanten Bits 26 entspricht.The data store 10 is bidirectional with error detection 12 connected. An inner data path 22 leads in the data memory 10 to be stored or stored data words 24 which is in error detection 12 with associated redundant bits 26 were supplemented. The data words 24 each comprise several bits in any but fixed number. An outer data path 28 leads the data words 24 without the redundant bits 26 a memory management 29 bidirectional too. Likewise will be addresses 30 the data store 10 for managing the data stored therein from memory management 29 fed. In this case, each address has 30 to an associated memory line 33 of the data memory 10 that is, the memory line 33 includes storage locations 35 each one bit in a number that is at least the length of the data word 24 plus the respectively associated redundant bits 26 equivalent.

Die Speicherverwaltung 29 kann auch Informationen mit dem Prüfprogramm 18 austauschen und kann als elektronische Schaltung und/oder als rechnergestützte Prozedur ausgeführt sein. Dies wird vorliegend jedoch nicht näher erläutert. Ein bidirektionaler Pfeil 31 stellt eine Verbindung zu einem nicht dargestellten übergeordneten System her. Das übergeordnete System ist beispielsweise eine Steuer- und/oder Regeleinrichtung eines Kraftfahrzeugs, ein Computer (PC), ein Mikrocontroller, ein Datenmassenspeicher oder dergleichen. Dies wird in der 1 jedoch nicht gezeigt.The memory management 29 can also provide information with the test program 18 and may be implemented as an electronic circuit and / or as a computer-aided procedure. However, this is not explained in detail here. A bidirectional arrow 31 connects to a higher-level system (not shown). The higher-level system is, for example, a control and / or regulating device of a motor vehicle, a computer (PC), a microcontroller, a data mass memory or the like. This is in the 1 but not shown.

Ein erster Ausgang 32 der Fehlererkennung 12 gibt Informationen aus, wenn Mehrbitfehler erkannt und/oder korrigiert werden. Ein zweiter Ausgang 34 gibt Informationen aus, wenn Einbitfehler erkannt und/oder korrigiert werden und führt diese unter anderem dem Hilfsspeicher 14 in Gestalt der Adresse 30 zu. Ein Überlaufsignal 37 wird erzeugt, wenn die gesamte Anzahl N der Adressregister 36 mit gültigen Adressen 30 aufgefüllt ist, und somit auch alle zugehörigen Beleg-Bits 38 gesetzt sind. Eine Flagge 39 zeigt an, dass eine neue Adresse 30 aktuell in den Hilfsspeicher 14 geschrieben wurde. Die Flagge 39 kann beispielsweise zur Auslösung einer als Interrupt bezeichneten vorübergehenden Programmunterbrechung verwendet werden.A first exit 32 the error detection 12 outputs information when multi-bit errors are detected and / or corrected. A second exit 34 outputs information when one-bit errors are detected and / or corrected and, among other things, results in the auxiliary memory 14 in the form of the address 30 to. An overflow signal 37 is generated when the total number N of address registers 36 with valid addresses 30 is filled, and thus all associated document bits 38 are set. A flag 39 indicates a new address 30 currently in the auxiliary memory 14 was written. The flag 39 For example, it can be used to trigger a temporary program interrupt called Interrupt.

Der Hilfsspeicher 14 enthält eine Anzahl N von Adressregistern 36, welche zusammen mit einem jeweils zugehörigen Beleg-Bit 38 abgespeichert sind. Das in der Zeichnung oberste Adressregister 36 und das oberste Beleg-Bit 38 sind stellvertretend mit ihren Bezugszeichen gekennzeichnet. Dabei gibt die Anzahl N die höchste in dem Hilfsspeicher 14 speicherbare Zahl von Einträgen an. Der Hilfsspeicher 14 kann zusätzlich auch eine zweite Anzahl N‘, wobei z.B. gilt N‘ = N, von weiteren Adressregistern aufweisen, um weitere Daten, insbesondere weitere Adressen, aufzunehmen. Alternativ oder ergänzend kann der Hilfsspeicher 14 zusätzlich auch noch eine dritte Anzahl N‘‘, wobei z.B. gilt N‘‘ = N, von weiteren Adressregistern aufweisen, um weitere Daten, insbesondere weitere Adressen oder Datenworte usw., aufzunehmen.The auxiliary memory 14 contains a number N of address registers 36 , which together with a respectively associated document bit 38 are stored. The top address register in the drawing 36 and the top slip bit 38 are identified by their reference numerals. The number N is the highest in the auxiliary memory 14 storable number of entries. The auxiliary memory 14 In addition, a second number N ', wherein, for example, N' = N, can have additional address registers in order to receive further data, in particular further addresses. Alternatively or additionally, the auxiliary memory 14 additionally also a third number N ", where, for example, N" = N, have further address registers in order to receive further data, in particular further addresses or data words, etc.

Falls die Fehlererkennung 12 einen Einbitfehler erkennt und korrigiert, so wird die Adresse 30 des betroffenen Datenwortes 24 mit allen im Hilfsspeicher 14 gespeicherten gültigen Adressen 30 verglichen. "Gültig" ist eine Adresse 30 in dem Hilfsspeicher 14 dann, wenn das zugehörige Beleg-Bit 38 gesetzt ist, also beispielsweise den binären Wert "1" aufweist. Sofern diese Adresse 30 bereits in dem Hilfsspeicher 14 gespeichert ist, erfolgt keine weitere Reaktion. Ist dagegen die Adresse 30 noch nicht in dem Hilfsspeicher 14 gespeichert, so wird sie in dem Hilfsspeicher 14 in einem leeren Adressregister 36 gespeichert. Ein leeres (also nicht "gültiges") Adressregister 36 ist daran zu erkennen, dass das zugehörige Beleg-Bit 38 nicht gesetzt ist, also beispielsweise den binären Wert "0" aufweist. Nach dem Abspeichern der Adresse 30 in dem Adressregister 36 wird dessen zugehöriges Beleg-Bit 38 gesetzt.If the error detection 12 detects and corrects a one-bit error, then the address 30 of the affected data word 24 with all in auxiliary memory 14 stored valid addresses 30 compared. "Valid" is an address 30 in the auxiliary memory 14 then if the associated slip bit 38 is set, that is, for example, has the binary value "1". Unless this address 30 already in the auxiliary memory 14 is stored, there is no further reaction. Is the address on the other hand 30 not yet in the auxiliary memory 14 stored, it will be in the auxiliary memory 14 in an empty address register 36 saved. An empty (not "valid") address register 36 can be recognized by the fact that the associated document bit 38 is not set, that is, for example, has the binary value "0". After saving the address 30 in the address register 36 becomes its associated document bit 38 set.

Vorteilhaft wird erfindungsgemäß zusätzlich zu der Adresse 30 des Datenspeichers auch eine Adresse einer Zelle des Datenspeichers 10 in den Hilfsspeicher 14 geschrieben, auf die in einer vorangehenden Operation zugegriffen worden ist (= Variante a)). Hierfür ist ein entsprechender Bereich (nicht gezeigt) des Hilfsspeichers 14 vorgesehen, z.B. die vorstehend genannten N‘ vielen weiteren Adressregister. D.h., ein Eintrag in dem Hilfsspeicher 14 kann vorteilhaft die vorstehend beschriebene Adresse 30 des von einem Fehler betroffenen Datenwortes 24 enthalten, ggf. das Beleg-Bit 38, sowie eine Adresse einer Zelle des Datenspeichers 10, auf die in einer vorangehenden Operation zugegriffen worden ist. Hierbei bezeichnet „vorangehende Operation“ eine unmittelbar vor dem Zugriff auf die Adresse 30 erfolgte Zugriffsoperation auf den Datenspeicher 10, z.B. eine vorhergehende Fehlerüberprüfung einer anderen Adresse als der aktuell überprüften Adresse 30 des Datenspeichers 10.Advantageously, according to the invention in addition to the address 30 the data store is also an address of a cell of the data store 10 in the auxiliary memory 14 written that was accessed in a previous operation (= variant a)). For this purpose, a corresponding area (not shown) of the auxiliary memory 14 provided, for example, the aforementioned N 'many other address registers. That is, an entry in the auxiliary memory 14 may advantageously be the address described above 30 of the data word affected by an error 24 contain, if necessary, the document bit 38 , as well as an address of a cell of the data memory 10 that was accessed in a previous operation. Here, "previous operation" means one immediately before the access to the address 30 Access operation was performed on the data store 10 , eg a previous error check of a different address than the address currently being checked 30 of the data memory 10 ,

Dadurch, dass erfindungsgemäß neben der Adresse 30 auch die Adresse einer Zelle des Datenspeichers, auf die in einer vorangehenden Operation zugegriffen worden ist, gespeichert wird, kann vorteilhaft der entsprechende Adressübergang rekonstruiert und somit ein address delay fault erkannt werden. Alternativ oder ergänzend hierzu wird erfindungsgemäß das als fehlerhaft bewertete Datenwort in den Hilfsspeicher 14 geschrieben (= Variante b)). Hierfür ist ein entsprechender Bereich (nicht gezeigt) des Hilfsspeichers 14 vorgesehen, z.B. die vorstehend genannten N‘ vielen oder N‘‘ vielen weiteren Adressregister. Dies hat insbesondere bei nichtveränderlichen (nichtflüchtigen) Speichern den Vorteil, dass der auf einen Fehler führende Adressübergang in einem nachfolgenden Anschlusstest nicht durchgeführt werden muss. Z.B. kann durch mehrfaches Auslesen der Speicherzelle, die als fehlerhaft gekennzeichnet wurde, ein Address Decoder Delay Fault ausgeschlossen werden. Ein Vergleich dieses ausgelesenen Wertes mit dem durch das alternative erfindungsgemäße Verfahren abgespeicherte Wort ermöglicht eine zuverlässige Erkennung dieses Fehlerbildes.Due to the fact that according to the invention in addition to the address 30 also the address of a cell of Data memory, which has been accessed in a previous operation is stored, advantageously the corresponding address transition can be reconstructed and thus an address delay fault can be detected. Alternatively or additionally, according to the invention, the data word evaluated as faulty is transferred to the auxiliary memory 14 written (= variant b)). For this purpose, a corresponding area (not shown) of the auxiliary memory 14 provided, for example, the aforementioned N 'many or N''many other address registers. This has the advantage, in particular in the case of non-variable (nonvolatile) memories, that the address transition leading to a fault does not have to be carried out in a subsequent connection test. For example, by repeatedly reading out the memory cell which has been identified as defective, an address decoder delay fault can be excluded. A comparison of this read-out value with the word stored by the alternative method according to the invention enables reliable recognition of this error pattern.

Einer weiteren Ausführungsform zufolge können auch die vorstehend genannten Varianten a), b) miteinander kombiniert werden, d.h. zusätzlich zu der Adresse des Datenspeichers wird gemäß Variante a) auch eine Adresse einer Zelle des Datenspeichers in den Hilfsspeicher 14 geschrieben, auf die in einer vorangehenden Operation zugegriffen worden ist, und gemäß Variante b) wird das als fehlerhaft bewertete Datenwort in den Hilfsspeicher 14 geschrieben.According to a further embodiment, the abovementioned variants a), b) can also be combined with one another, ie in addition to the address of the data memory, according to variant a), an address of a cell of the data memory is also stored in the auxiliary memory 14 written, which has been accessed in a previous operation, and according to variant b), the data word evaluated as erroneous is written to the auxiliary memory 14 written.

Innerhalb vorgebbarer Zeitintervalle oder zu bestimmten Zeitpunkten wird regelmäßig das Prüfprogramm 18 durchlaufen. Dieser Vorgang wird vorliegend durch die Speicherverwaltung 29 ausgelöst. Für jede in dem Hilfsspeicher 14 gespeicherte gültige Adresse 30 untersucht das Prüfprogramm 18, ob das durch die jeweilige Adresse 30 bezeichnete Datenwort 24 tatsächlich nur ein einzelnes fehlerhaftes Bit aufweist. Falls jedoch in einem Datenwort 24 ein Mehrbitfehler bzw. Mehrbitdefekt und/oder in mehreren Datenwörtern 24 eine Anzahl von Einbitfehlern bzw. Einbitdefekten durch das Prüfprogramm 18 entdeckt wird, können jeweils vorgebbare Reaktionen erfolgen. Diese Reaktionen können umfassen:

  • – Deaktivieren eine defekten Speicherzeile 33 und/oder Zuweisen einer Ersatz- Speicherzeile 33;
  • – Deaktivieren eines defekten Speicherzeilenbereichs und/oder Zuweisen eines Ersatz-Speicherzeilenbereichs;
  • – Erzeugen einer Meldung, eines Alarms und/oder eines Fehlerbits;
  • – Überführen des Datenspeichers 10 und/oder des dem Datenspeicher 10 übergeordneten Systems in einen als sicher bewerteten Zustand.
Within specified time intervals or at certain times, the test program is regularly 18 run through. This process is presently through the memory management 29 triggered. For each in the auxiliary memory 14 stored valid address 30 examines the test program 18 whether that by the respective address 30 designated data word 24 actually has only a single bad bit. If, however, in a data word 24 a multi-bit error or multi-bit defect and / or in multiple data words 24 a number of one-bit errors or one-bit defects by the test program 18 is discovered, each predetermined reactions can take place. These reactions may include:
  • - Disable a defective memory line 33 and / or assigning a spare memory line 33 ;
  • Deactivating a defective memory line area and / or assigning a spare memory line area;
  • - generating a message, an alarm and / or an error bit;
  • - Transfer of the data memory 10 and / or the data store 10 higher-level system into a state assessed as safe.

Unabhängig von der Funktion des Prüfprogramms 18 kann alternativ oder ergänzend mittels des Überlaufsignals 37 des Hilfsspeichers 14, der Datenspeicher 10 und/oder das übergeordnete System in einen als sicher bewerteten Zustand überführt werden, weil zu vermuten ist, dass der Datenspeicher 10 insgesamt nicht mehr zuverlässig genug arbeitet und damit unbrauchbar ist.Regardless of the function of the test program 18 may alternatively or additionally by means of the overflow signal 37 of the auxiliary memory 14 , the data store 10 and / or the higher-level system are converted into a state evaluated as safe, because it can be assumed that the data memory 10 altogether no longer works reliably enough and is thus useless.

Die Unterscheidung zwischen Einbitfehlern und Mehrbitfehlern kann bei flüchtigen Speichern (RAM) mittels eines auf jeweils zu erwartende Fehlermuster angepassten Schreib-Lese-Tests erfolgen, der beispielsweise zu Betriebsbeginn oder während des normalen Betriebs des Datenspeichers 10 durchgeführt wird. Bei nicht flüchtigen Speichern (FLASH) kann dies mittels eines CRC- Prüfsummenverfahrens ("Cyclic Redundancy Check", zyklische Redundanzprüfung) erfolgen.The distinction between one-bit errors and multi-bit errors can be made in volatile memory (RAM) by means of a read-on test adapted to the respective expected error pattern, for example at the start of operation or during normal operation of the data memory 10 is carried out. In the case of non-volatile memories (FLASH), this can be done by means of a CRC checksum method (Cyclic Redundancy Check).

Sofern der Datenspeicher 10 als flüchtiger Speicher ausgeführt ist, untersucht das Prüfprogramm 18 zusätzlich, ob ein Fehler bzw. ein Fehlermuster dauernd in einer jeweiligen Speicherzeile 33 des Datenspeichers 10 vorliegt ("Defekt"), oder ob der Fehler bzw. das Fehlermuster nur flüchtig auftraten. Bei Letzterem wird das zugehörige Adressregister 36 geleert, indem dessen Beleg-Bit 38 zurückgesetzt wird. Weiterhin kann das Prüfprogramm 18 darauf prüfen, ob richtig korrigierte Einbitfehler bzw. Einbitdefekte oder falsch erkannte oder falsch korrigierte Mehrbitfehler bzw. Mehrbitdefekte vorliegen. Außerdem kann das Prüfprogramm 18 erkannte Fehler des Datenworts 24 gegebenenfalls korrigieren, und ebenso eine Fehlerzählung durchführen oder eine Fehlerstatistik anlegen.Unless the data store 10 is executed as volatile memory, examines the test program 18 In addition, whether an error or an error pattern permanently in a respective memory line 33 of the data memory 10 is present ("defect"), or whether the error or the error pattern occurred only briefly. The latter becomes the associated address register 36 emptied by its slip bit 38 is reset. Furthermore, the test program 18 Check for correctly corrected one-bit errors or one-bit defects or incorrectly detected or incorrectly corrected multi-bit errors or multi-bit defects. In addition, the test program 18 detected errors of the data word 24 correct if necessary, and also perform an error count or create an error statistic.

Weiterhin ist es möglich, das Auslösen der Reaktion(en) abhängig zu machen von vorgebbaren Bedingungen und vorgebbaren Grenzwerten. Beispielsweise kann eine Mindestzahl von möglichen Einbitdefekten vorgebbar sein, ab der eine der Bedeutung des Fehlers entsprechende Reaktion ausgelöst wird.Furthermore, it is possible to make the triggering of the reaction (s) dependent on predefinable conditions and predefinable limit values. For example, it is possible to predetermine a minimum number of possible one-bit defects, from which a response corresponding to the significance of the error is triggered.

Der nicht-flüchtige Speicher 19 ist über eine bidirektionale Datenverbindung 21 an den Hilfsspeicher 14 angeschlossen und hat die Aufgabe, den Inhalt des Hilfsspeichers 14 vor einem Abschalten des Datenspeichers 10 bzw. des übergeordneten Systems zu sichern und nach einem Einschalten wieder in dem Hilfsspeicher 14 zu rekonstruieren.The non-volatile memory 19 is via a bidirectional data connection 21 to the auxiliary memory 14 connected and has the task of the contents of the auxiliary memory 14 before switching off the data memory 10 or the higher-level system and after switching on again in the auxiliary memory 14 to reconstruct.

2 zeigt in einem Flussdiagramm beispielsweise mittels eines Computerprogramms abarbeitbare Verfahrensschritte einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens. Alternativ oder ergänzend zur Abarbeitung durch einen Computer bzw. durch ein Steuergerät können logische Schaltungen beteiligt sein. 2 shows in a flowchart, for example by means of a computer program executable process steps of a possible embodiment of the method according to the invention. Alternatively or in addition to processing by a computer or by a control unit, logic circuits may be involved.

Die Prozedur beginnt in einem Start-Block 50. In einem Abfrageblock 52 wird geprüft, ob ein Einbitfehler von der Fehlererkennung 12 aktuell erkannt und/oder korrigiert wurde. Falls unzutreffend, wird zu einem Abfrageblock 54 verzweigt. The procedure starts in a start block 50 , In a query block 52 it is checked if a one-bit error from the error detection 12 currently detected and / or corrected. If false, becomes a query block 54 branched.

Falls ein Einbitfehler von der Fehlererkennung 12 aktuell erkannt und/oder korrigiert wurde, wird in einem Block 56 die zu dem Einbitfehler gehörige Adresse 30 des Datenspeichers 10 erfasst. In einem Abfrageblock 58 wird geprüft, ob diese Adresse 30 bereits in dem Hilfsspeicher 14 vorliegt. Falls zutreffend, erfolgt bei dem der 2 zugrundeliegenden Ausführungsbeispiel keine weitere Reaktion und es wird zu dem Abfrageblock 52 zurück verzweigt.If a one-bit error from error detection 12 currently detected and / or corrected is in a block 56 the address associated with the single bit error 30 of the data memory 10 detected. In a query block 58 will check if this address 30 already in the auxiliary memory 14 is present. If applicable, at the 2 underlying embodiment no further response and it becomes the query block 52 Branched back.

Falls die Adresse 30 jedoch noch nicht in dem Hilfsspeicher 14 vorliegt, wird zu einem Block 60 verzweigt. Dort wird diese Adresse 30 in ein leeres Adressregister 36 des Hilfsspeichers 14 geschrieben und das zugehörige Beleg- Bit 38 gesetzt. Bei Bedarf können übrige in dem Hilfsspeicher 14 vorliegende Adressen 30 dabei verschoben und/oder sortiert werden. Das Verfahren wird dann in dem Abfrageblock 54 fortgesetzt.If the address 30 but not yet in the auxiliary memory 14 is present, becomes a block 60 branched. There will be this address 30 in an empty address register 36 of the auxiliary memory 14 written and the associated document bit 38 set. If necessary, others can be left in the auxiliary memory 14 present addresses 30 be moved and / or sorted. The procedure is then in the query block 54 continued.

In dem Abfrageblock 54 wird geprüft, ob Bedingungen vorliegen, um das Prüfprogramm 18 zu starten. Falls unzutreffend, wird zu dem Block 52 zurück verzweigt. Falls zutreffend, wird in einem Block 62 das Prüfprogramm 18 gestartet. Anschließend wird zu dem Abfrageblock 52 zurück verzweigt und die Prozedur fortgesetzt.In the query block 54 It checks if there are conditions to the test program 18 to start. If false, becomes the block 52 Branched back. If applicable, will be in a block 62 the test program 18 started. It then becomes the query block 52 branches back and the procedure continues.

Es versteht sich, dass die in der 2 dargestellte Prozedur nur beispielhaft ist. Weitere Ausführungsformen umfassen insbesondere die in den unabhängigen Ansprüchen beschriebenen Ausgestaltungen. Ferner kann vorgesehen sein, dass die Prozedur von dem übergeordneten System gestartet, angehalten oder abgebrochen wird. Dies ist in der 2 jedoch nicht näher dargestellt.It is understood that in the 2 shown procedure is only exemplary. Further embodiments include in particular the embodiments described in the independent claims. Furthermore, it can be provided that the procedure is started, stopped or aborted by the higher-level system. This is in the 2 but not shown in detail.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102010031282 A1 [0008] DE 102010031282 A1 [0008]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • Norm ISO 26262 [0005] Standard ISO 26262 [0005]

Claims (23)

Verfahren zum Überwachen eines Datenspeichers (10), bei dem mittels eines Fehlererkennungsverfahrens in Speicherzeilen (33) des Datenspeichers (10) gespeicherte fehlerhafte Datenwörter (24) erkannt und/oder korrigiert werden, wobei eine Adresse (30) des Datenspeichers (10), unter welcher ein durch das Fehlererkennungsverfahren als fehlerhaft bewertetes Datenwort (24) abgespeichert ist, in einen Hilfsspeicher (14) geschrieben und einem Prüfprogramm (18) zur Verfügung gestellt wird, dadurch gekennzeichnet, dass zusätzlich zu der Adresse (30) des Datenspeichers (10) a. eine Adresse einer Zelle des Datenspeichers (10) in den Hilfsspeicher (14) geschrieben wird, auf die in einer vorangehenden Operation zugegriffen worden ist und/oder b. das als fehlerhaft bewertete Datenwort (24) in den Hilfsspeicher (14) geschrieben wird.Method for monitoring a data memory ( 10 ), in which by means of an error detection method in memory lines ( 33 ) of the data memory ( 10 ) stored erroneous data words ( 24 ) and / or corrected, where an address ( 30 ) of the data memory ( 10 ) under which a data word (erroneous) evaluated by the error detection method ( 24 ) is stored in an auxiliary memory ( 14 ) and a test program ( 18 ), characterized in that in addition to the address ( 30 ) of the data memory ( 10 ) a. an address of a cell of the data store ( 10 ) in the auxiliary memory ( 14 ) written to in a previous operation and / or b. the data word evaluated as faulty ( 24 ) in the auxiliary memory ( 14 ) is written. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Fehlererkennungsverfahren im Wesentlichen mittels einer dem Datenspeicher (10) zugeordneten elektronischen Schaltung durchgeführt wird.A method according to claim 1, characterized in that the error detection method essentially by means of a data memory ( 10 ) associated electronic circuit is performed. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass nur solche Adressen (30) in den Hilfsspeicher (14) geschrieben werden, deren Datenwörter (24) durch das Fehlererkennungsverfahren als korrigierbar bewertet wurden.Method according to claim 1 or 2, characterized in that only such addresses ( 30 ) in the auxiliary memory ( 14 ) whose data words ( 24 ) were evaluated as correctable by the error detection method. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass für jede in dem Hilfsspeicher (14) abgespeicherte Adresse (30) angezeigt wird, ob diese Adresse (30) gültig ist. Method according to at least one of the preceding claims, characterized in that for each in the auxiliary memory ( 14 ) stored address ( 30 ) is displayed, whether this address ( 30 ) is valid. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass bei Erkennen eines fehlerhaften Datenworts (24) durch das Fehlererkennungsverfahren zunächst die gültigen Adressen (30) daraufhin untersucht werden, ob die Adresse (30) des fehlerhaften Datenworts (24) bereits abgespeichert ist. Method according to at least one of the preceding claims, characterized in that upon detection of a faulty data word ( 24 ) by the error detection method first the valid addresses ( 30 ) to see if the address ( 30 ) of the erroneous data word ( 24 ) is already stored. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Datenwort (24), dessen Adresse (30) in dem Hilfsspeicher (14) gespeichert ist, durch das Prüfprogramm (18) daraufhin untersucht wird, ob das Datenwort (24) einen Einbitfehler oder einen Mehrbitfehler aufweist, und/oder ob die Speicherzeile (33) des Datenwortes (24) einen Defekt aufweist, der einem Einbitfehler oder einem Mehrbitfehler entspricht, und/oder ob ein Fehler der Speicherzeile (33) des Datenwortes (24) vorübergehend oder dauerhaft auftritt, und/oder welche Speicherstellen (35) innerhalb der Speicherzeile (33) jeweils betroffen sind.Method according to at least one of the preceding claims, characterized in that the data word ( 24 ) whose address ( 30 ) in the auxiliary memory ( 14 ) is stored by the test program ( 18 ) is examined to see if the data word ( 24 ) has a one-bit error or a multi-bit error, and / or if the memory line ( 33 ) of the data word ( 24 ) has a defect that corresponds to a one-bit error or a multi-bit error, and / or an error of the memory line ( 33 ) of the data word ( 24 ) occurs temporarily or permanently, and / or which storage locations ( 35 ) within the memory line ( 33 ) are affected. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Prüfprogramm (18) bei einem flüchtigen Speicher „RAM“ einen auf zu erwartende Fehlermechanismen abgestimmten Schreib- Lese-Test durchführt. Method according to at least one of the preceding claims, characterized in that the test program ( 18 ) performs in a volatile memory "RAM" matched to expected failure mechanisms write-read test. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Prüfprogramm (18) bei einem nicht-flüchtigen Speicher einen Fehlertest mittels einer Prüfsumme einer CRC-Kodierung durchführt.Method according to at least one of the preceding claims, characterized in that the test program ( 18 ) performs an error test on a non-volatile memory using a checksum of a CRC encoding. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass unterschieden wird zwischen erstens richtigkorrigierbaren Fehlern, zweitens falsch korrigierten oder falsch erkannten Mehrbitfehlern und/oder drittens flüchtigen Fehlern oder dauerhaften Defekten.Method according to at least one of the preceding claims, characterized in that a distinction is made between firstly correctly correctable errors, secondly incorrectly corrected or incorrectly recognized multi-bit errors and / or thirdly volatile errors or permanent defects. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass Grenzwerte vorgegeben werden für eine zulässige Anzahl von Einbitfehlern und/oder Mehrbitfehlern und/oder Einbitdefekten und/oder Mehrbitdefekten, und dass bei einem Überschreiten mindestens eines Grenzwerts eine Reaktion der Speicherverwaltung erfolgt.Method according to at least one of the preceding claims, characterized in that limit values are specified for an admissible number of one-bit errors and / or multi-bit errors and / or one-bit defects and / or multi-bit defects, and that a response of the memory management occurs when at least one limit value is exceeded. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Reaktion der Speicherverwaltung mindestens eine der folgenden Maßnahmen umfasst: – Deaktivieren einer defekten Speicherzeile (33) und/oder zuweisen einer Ersatz-Speicherzeile; – Deaktivieren eines defekten Speicherzeilenbereichs und/oder zuweisen eines Ersatz-Speicherzeilenbereichs; – Erzeugen einer Meldung, eines Alarms und/oder eines Fehlerbits; – Überführen des Datenspeichers (10) und/oder eines dem Datenspeicher (10) übergeordneten Systems in einen als sicher bewerteten Zustand.A method according to claim 10, characterized in that the response of the memory management comprises at least one of the following measures: - deactivating a defective memory line ( 33 ) and / or assign a spare memory line; Deactivating a defective memory line area and / or assigning a spare memory line area; - generating a message, an alarm and / or an error bit; - transfer of the data memory ( 10 ) and / or a data memory ( 10 ) superior system in a state evaluated as safe. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Inhalt des Hilfsspeichers (14) vor einem Abschalten des Datenspeichers (10) bzw. eines dem Datenspeicher (10) übergeordneten Systems in einem nicht-flüchtigen Speicher (19) gesichert und nach einem Einschalten daraus wieder rekonstruiert wird.Method according to at least one of the preceding claims, characterized in that the content of the auxiliary memory ( 14 ) before switching off the data memory ( 10 ) or one of the data memories ( 10 ) higher-level system in a non-volatile memory ( 19 ) and reconstructed after switching it on again. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass von dem Prüfprogramm (18) erkannte Fehler des Datenworts (24) korrigiert werden.Method according to at least one of the preceding claims, characterized in that the test program ( 18 ) detected errors of the data word ( 24 ) Getting corrected. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass flüchtige Fehler und/oder dauerhafte Defekte gezählt und/oder statistisch bewertet werden.Method according to at least one of the preceding claims, characterized in that volatile errors and / or permanent defects are counted and / or evaluated statistically. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass ein Ergebnis der Zählung und/oder der statistischen Bewertung an einen Hersteller des Datenspeichers (10) oder des übergeordneten Systems übermittelt wird. A method according to claim 14, characterized in that a result of the counting and / or the statistical evaluation to a manufacturer of the data memory ( 10 ) or the higher-level system. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass nach einem Einschalten und/oder während eines Betriebs des Datenspeichers (10) ein Funktions-Test des Datenspeichers durchgeführt wird, und dass Adressen (30) des Datenspeichers (10), welche auf Speicherzeilen (33) verweisen, die während des Funktions-Tests als fehlerhaft bewertet wurden, in den Hilfsspeicher (14) geschrieben werden.Method according to at least one of the preceding claims, characterized in that after switching on and / or during operation of the data memory ( 10 ) a functional test of the data memory is performed, and that addresses ( 30 ) of the data memory ( 10 ), which are stored on memory lines ( 33 ), which were evaluated as faulty during the function test, into the auxiliary memory ( 14 ) to be written. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass über Speicherzeilen (33), deren Adressen (30) in dem Hilfsspeicher (14) gespeichert sind, eine erste Prüfsumme gebildet wird, und die erste Prüfsumme abgespeichert wird, wobei vorzugsweise die zur Bildung der ersten Prüfsumme verwendeten Adressen (30) zusätzlich gesichert werden, und dass im weiteren Betrieb des Datenspeichers (10) regelmäßig mindestens eine weitere Prüfsumme über Speicherzeilen (33), deren Adressen (30) in dem Hilfspeicher (14) abgespeichert wurden oder deren Adressen (30) zusätzlich gesichert wurden, gebildet wird, und die mindestens eine weitere Prüfsumme mit der ersten Prüfsumme verglichen wird.Method according to claim 16, characterized in that via memory lines ( 33 ), whose addresses ( 30 ) in the auxiliary memory ( 14 ), a first checksum is formed, and the first checksum is stored, preferably the addresses used to form the first checksum ( 30 ) are additionally secured, and that in the further operation of the data memory ( 10 ) at least one more checksum over memory lines ( 33 ), whose addresses ( 30 ) in the auxiliary memory ( 14 ) or their addresses ( 30 ) are additionally formed, is formed, and the at least one further checksum is compared with the first checksum. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Funktions-Test auf Speicherzeilenbereiche aufgeteilt wird, und dass verschiedene Speicherzeilenbereiche unabhängig nacheinander dem Funktions-Test unterzogen werden.Method according to at least one of the preceding claims, characterized in that the functional test is divided into memory line areas, and that different memory line areas are independently subjected to the functional test successively. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Fehlererkennungsverfahren beziehungsweise eine das Fehlererkennungsverfahren ausführende elektronische Schaltung nach einem Einschalten des Datenspeichers (10) und/oder während des Betriebs auf seine ordnungsgemäße Funktion geprüft wird.Method according to at least one of the preceding claims, characterized in that the error detection method or an electronic circuit implementing the error detection method after switching on the data memory ( 10 ) and / or during operation to verify that it is functioning properly. Verwendung des Verfahrens nach einem der vorstehenden Ansprüche zur Erkennung von address delay faults.Use of the method according to one of the preceding claims for the detection of address delay faults. Prüfprogramm (18), das auf einem Computer ablauffähig ist, dadurch gekennzeichnet, dass es zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 20 programmiert ist. Test program ( 18 ) executable on a computer, characterized in that it is programmed to perform a method according to any one of claims 1 to 20. Speichermedium für einen Computer, dadurch gekennzeichnet, dass auf ihm ein Prüfprogramm (18) zur Anwendung in einem Verfahren nach einem der Ansprüche 1 bis 20 abgespeichert ist. Storage medium for a computer, characterized in that it has a test program ( 18 ) is stored for use in a method according to one of claims 1 to 20. Hilfsspeicher (14) in einem Computer, dadurch gekennzeichnet, dass der Hilfsspeicher (14) Schnittstellen umfasst, um Adressen (30) eines Datenspeichers (10) und/oder Datenwörter (24) und/oder Informationen zu deren Klassifizierung zu speichern und einem Prüfprogramm (18) zur Verfügung zu stellen und dass der Hilfsspeicher bei der Durchführung des Verfahrens nach wenigstens einem der Ansprüche 1 bis 20 eingesetzt wird.Auxiliary memory ( 14 ) in a computer, characterized in that the auxiliary memory ( 14 ) Interfaces to address ( 30 ) of a data memory ( 10 ) and / or data words ( 24 ) and / or information on their classification and a test program ( 18 ) and that the auxiliary memory is used in carrying out the method according to at least one of claims 1 to 20.
DE201310202865 2013-02-21 2013-02-21 Method for monitoring e.g. RAM of microcontroller to recognize address delay faults, involves writing data memory cell address into auxiliary memory accessed in operation and/or incorrectly evaluated data word into auxiliary memory Pending DE102013202865A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201310202865 DE102013202865A1 (en) 2013-02-21 2013-02-21 Method for monitoring e.g. RAM of microcontroller to recognize address delay faults, involves writing data memory cell address into auxiliary memory accessed in operation and/or incorrectly evaluated data word into auxiliary memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201310202865 DE102013202865A1 (en) 2013-02-21 2013-02-21 Method for monitoring e.g. RAM of microcontroller to recognize address delay faults, involves writing data memory cell address into auxiliary memory accessed in operation and/or incorrectly evaluated data word into auxiliary memory

Publications (1)

Publication Number Publication Date
DE102013202865A1 true DE102013202865A1 (en) 2014-08-21

Family

ID=51263937

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310202865 Pending DE102013202865A1 (en) 2013-02-21 2013-02-21 Method for monitoring e.g. RAM of microcontroller to recognize address delay faults, involves writing data memory cell address into auxiliary memory accessed in operation and/or incorrectly evaluated data word into auxiliary memory

Country Status (1)

Country Link
DE (1) DE102013202865A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220059180A1 (en) * 2020-07-31 2022-02-24 Infineon Technologies Ag Method for testing memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010031282A1 (en) 2010-07-13 2012-01-19 Robert Bosch Gmbh Method for monitoring a data memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010031282A1 (en) 2010-07-13 2012-01-19 Robert Bosch Gmbh Method for monitoring a data memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Norm ISO 26262

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220059180A1 (en) * 2020-07-31 2022-02-24 Infineon Technologies Ag Method for testing memory
US11742048B2 (en) * 2020-07-31 2023-08-29 Infineon Technologies Ag Method for testing memory

Similar Documents

Publication Publication Date Title
DE102010031282B4 (en) Method of monitoring a data store
DE2225841C3 (en) Method and arrangement for systematic error checking of a monolithic semiconductor memory
EP1854007A2 (en) Method, operating system, and computing device for processing a computer program
DE102015210651B4 (en) Circuit and method for testing an error correction capability
EP1588380B1 (en) Method for the recognition and/or correction of memory access errors and electronic circuit arrangement for carrying out said method
EP1913478B1 (en) Microprocessor system for controlling and/or regulating at least partly security-critical processes
DE102013202865A1 (en) Method for monitoring e.g. RAM of microcontroller to recognize address delay faults, involves writing data memory cell address into auxiliary memory accessed in operation and/or incorrectly evaluated data word into auxiliary memory
DE102006036384A1 (en) Microprocessor system for controlling or regulating at least partially safety-critical processes
DE102013202961A1 (en) Method for monitoring stack memory in operating system of control unit of motor vehicle, involves carrying out predefined action if characteristic parameters of stack memory before and after execution of program codes are not identical
DE102005060901A1 (en) A method of detecting a supply interruption in a data store and restoring the data store
DE10340236B4 (en) Arrangement with a data processing device and a memory
WO2007074056A2 (en) Error-tolerant processor system
DE10029141A1 (en) Fault monitoring of memory contents using check sums involves deriving desired new check sum from difference between old and new contents and old check sum before writing new contents
EP2002446B1 (en) Method for operating a memory unit comprising the marking of memory blocks that are identified as defective
DE102020120335B3 (en) TESTING A MEMORY AREA
DE10148157B4 (en) Program controlled unit
DE102017115057B4 (en) Method for checking security-relevant register or memory cells for stuck-at errors during operation by comparing two write processes with different inversion states
DE102017115058B4 (en) Method for checking safety-related register or memory cells for stucco-at faults during operation and for ensuring reliability
DE10113319A1 (en) Operating method for processor-controlled system e.g. for vehicle, detecting error in stored data when deviation is detected between compared data words
DE102021212594A1 (en) Method for starting a memory unit of a computing unit
DE10229817A1 (en) Method and device for storing a computer program in a program memory of a control device
DE102021209038A1 (en) Method for automatically detecting and correcting memory errors in a secure multi-channel computer
DE102022113739A1 (en) DEVICE FOR CONTROLLING FAILURE MANAGEMENT IN AN AUTONOMOUS DRIVING SYSTEM AND METHOD THEREOF
DE10135285A1 (en) Storage device and method for operating a system containing a storage device
DE102004059392A1 (en) Random access memory recharging method for e.g. command memory, uses subsystem with processor to detect memory error and renew content by an error routine

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence