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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error 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
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
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
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.
- 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.
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:
Insgesamt zeigt das Schema der
Der Datenspeicher
Die Speicherverwaltung
Ein erster Ausgang
Der Hilfsspeicher
Falls die Fehlererkennung
Vorteilhaft wird erfindungsgemäß zusätzlich zu der Adresse
Dadurch, dass erfindungsgemäß neben der Adresse
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
Innerhalb vorgebbarer Zeitintervalle oder zu bestimmten Zeitpunkten wird regelmäßig das Prüfprogramm
- – 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 desdem Datenspeicher 10 übergeordneten Systems in einen als sicher bewerteten Zustand.
- - Disable a
defective memory line 33 and / or assigning aspare 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 thedata store 10 higher-level system into a state assessed as safe.
Unabhängig von der Funktion des Prüfprogramms
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
Sofern der Datenspeicher
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
Die Prozedur beginnt in einem Start-Block
Falls ein Einbitfehler von der Fehlererkennung
Falls die Adresse
In dem Abfrageblock
Es versteht sich, dass die in der
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)
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)
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)
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 |
-
2013
- 2013-02-21 DE DE201310202865 patent/DE102013202865A1/en active Pending
Patent Citations (1)
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)
Title |
---|
Norm ISO 26262 |
Cited By (2)
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 |