[go: up one dir, main page]

DE60309157T2 - Speichersystem mit Fehlererkennungsvorrichtung - Google Patents

Speichersystem mit Fehlererkennungsvorrichtung Download PDF

Info

Publication number
DE60309157T2
DE60309157T2 DE60309157T DE60309157T DE60309157T2 DE 60309157 T2 DE60309157 T2 DE 60309157T2 DE 60309157 T DE60309157 T DE 60309157T DE 60309157 T DE60309157 T DE 60309157T DE 60309157 T2 DE60309157 T2 DE 60309157T2
Authority
DE
Germany
Prior art keywords
memory
cpu
processing
signal
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60309157T
Other languages
English (en)
Other versions
DE60309157D1 (de
Inventor
Alberto Battaia
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.)
STMicroelectronics SRL
Original Assignee
STMicroelectronics SRL
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 STMicroelectronics SRL filed Critical STMicroelectronics SRL
Publication of DE60309157D1 publication Critical patent/DE60309157D1/de
Application granted granted Critical
Publication of DE60309157T2 publication Critical patent/DE60309157T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf Halbleiter-Speicher und insbesondere auf ein Speichersystem, das eine Fehlererfassungsvorrichtung enthält.
  • Nichtflüchtige Speicher wie zum Beispiel EPROM, EEPROM und FLASH-Speicher, werden in vielen Anwendungen wie etwa zum Beispiel in „Automotive"-Anwendungen, d.h., solchen, die mit Kraftfahrzeugen verbunden sind, verwendet.
  • Insbesondere die elektronischen Einrichtungen, die die innovativsten Steuerungs- und Überwachungssysteme für Funktionen in Kraftfahrzeugen darstellen, enthalten nichtflüchtige Speicher, in denen die Daten und Befehle enthalten sind, die es erlauben, dass das Kraftfahrzeug gesteuert wird.
  • Die Daten, die zu einigen der oben genannten Funktionen, besonders jenen, die mit dem Betrieb der Sicherheitssysteme des Kraftfahrzeugs wie etwa ABS und Airbags zusammenhängen, in Bezug stehen, müssen über die gesamte Lebenszeit des Systems unverändert bleiben.
  • Dieses Ziel ist eigentlich schwer zu erreichen, wenn nichtflüchtige Speicher oft über eine lange Zeit (zum Beispiel über mehr als 10 Jahre) in Umgebungen verwendet werden, in denen verschiedene Arten von elektronischen Geräuschen, Strahlungen und anderen Störungsquellen eine Verschlechterung des Inhalts verursachen.
  • Darüber hinaus darf man nicht übersehen, dass die aktuellen Integrationstechnologien immer stärker darauf abzielen, die Leistung der Halbleiter-Speicher (d.h. durch die Verkleinerung der Zellendimensionen und der Steigerung der Zugriffsgeschwindigkeit) zu steigern und damit zu einem Anwachsen ihrer Empfindlichkeit gegenüber den Auswirkungen von Geräuschen führen.
  • Das Dokument US-A-5 216 672 legt ein Speichersystem offen, wie es als Oberbegriff in Anspruch 1 angegeben ist. Es beschreibt ein Speicherprüfsystem für ein elektronisches Computersystem, das mehrere Speichermodule enthält. Jedes Modul ist mit einer Schal tungstechnik zur Fehlererfassung und -korrektur ausgestattet und es kann in einem Diagnose-Prüfmodus arbeiten, in dem Lese- und Schreibtests der Module parallel durchgeführt werden.
  • Nach der konventionellen Methodik wird das Problem der Verschlechterung des Speicherinhalts durch die Identifizierung der Fehler in den Daten, die in den Speichern selbst enthalten sind, und ihrer anschließenden optionalen Korrektur gelöst.
  • Insbesondere kann es in bestimmten Arten von Anwendungen entsprechend der Fehlergruppe ausreichend sein, wo es möglich ist, auf den Speicher zuzugreifen und ihn dabei zu korrigieren, wohingegen es in anderen Fällen ratsam ist, das Vorhandensein des Fehlers auf jeden Fall zu signalisieren.
  • Wenn zum Beispiel ein Fehler in den Speicherbereichen, die Daten zur Steuerung der Funktion des Airbags im Kraftfahrzeug enthalten, auftritt, ist es zweckmäßig, eher den Anwender über das Problem mittels eines Signals zu informieren (zum Beispiel über das Einschalten einer lichtstarken Warnlampe auf der Instrumententafel) als lediglich den Fehler automatisch zu korrigieren. Falls nun das Auftreten von Fehlern die Verschlechterung der Speicherleistung anzeigt, ist es angebracht, wenn diese Fehler die Sicherheitssysteme des Kraftfahrzeugs betreffen, mit einer gründlicheren und systematischen Überholung des Speichers selbst fortzufahren.
  • Derzeit wird eine Fehleridentifikation in nichtflüchtigen Speichern über zwei verschiedene Testmodi erreicht.
  • Nach einem ersten Prüfmodus deckt ein Mikroprozessor (zentrale Recheneinheit oder CPU), der verschiedene Funktionen des Kraftfahrzeugs steuert (es können mehr als eine CPU sein, die innerhalb eines Kraftfahrzeugs zusammenarbeiten), das Vorhandensein von Fehlern in der Gleichzeitigkeit von Lesevorgängen der normalen Daten und der Durchführung der Befehle auf, die in den Speicherplätzen enthalten sind. Insbesondere bemerkt die CPU beim Speicherlesen Fehler durch die Verwendung einer Fehlererfassung und/oder eines Korrekturcodes, zum Beispiel den Code zur Steuerung des Parity-Bits oder eines Fehlerkorrekturcodes.
  • Ein zweiter Prüfmodus sorgt dafür, dass die CPU die normalen Anwendungen nach geeigneten Zeitintervallen unterbricht, um sich selbst der Kontrolle der Speicherinhalte zu widmen. In diesem Fall betrachtet die CPU die Daten, die im Speicher abgelegt sind, nicht als auszuführende Befehle, sondern als Informationen, die mit Hilfe der oben erwähnten Fehlererfassung und/oder der Korrekturcodes zu prüfen sind.
  • Der Nachteil des ersten Prüfmodus ist, dass die CPU die Fehler, die in den im Speicher vorliegenden Befehlen enthalten sind, erst nach deren Ausführung oder während deren Ausführung bemerkt. Aus diese Weise ist es nicht möglich, der CPU zu erlauben, das Auftreten eines Fehlers in einer vorbeugenden Weise zu behandeln und manchmal die CPU daran zu hindern, fehlerhafte Befehle durchzuführen, die die korrekte Funktion des Systems verändern können.
  • Im besonderen Fall, dass eine CPU zu einem Getriebegehäuse zur Steuerung des Motors eines Kraftfahrzeugs gehört, ist es darüber hinaus nicht möglich, das Aussetzen der Funktion der CPU nach der Ausführung eines fehlerhaften Befehls vorherzusagen. In diesem Fall würde man eigentlich zulassen, dass die Maschine ohne eine externe Überwachung in gefährlicher Weise weiterläuft. Dies stellt eine Einschränkung des ersten Prüfmodus dar.
  • Der Nachteil des zweiten Prüfmodus besteht in dem übermäßigen Laden von Funktionen, für die der CPU die Aufgabe zugewiesen wird, den Speicherinhalt zu prüfen. Um mit dieser übergroßen Last an Funktionen in der Weise fertig zu werden, dass die Leistung des Systems nicht übermäßig nachlässt, muss die CPU mit einem besonders schnellen Mikroprozessor ausgestattet werden: Das verursacht unausweichlich zusätzliche Kosten.
  • Außerdem liest der Mikroprozessor beim Systemstart, d.h. in Übereinstimmung mit der Phase, die allgemein als Systemneustart bekannt ist, einen ersten Abschnitt des Speichers (oder den gesamten, wenn er nicht zu groß ist) ein, wobei er die darin enthaltenen Befehle ausführt, ohne diesen Abschnitt vorher geprüft zu haben. Zum Beispiel kann der erste Abschnitt des Speichers Befehle enthalten, die dazu nützen, den Mikroprozessor in die Phase der Prüfung des Speicherinhalts zu überführen. Der oben erwähnte ungeprüfte erste Abschnitt könnte Fehler enthalten, die Aktionen hervorrufen, die sich vollständig von denen unterscheiden, die erwartet werden. Dies stellt eine Einschränkung des zweiten Prüfmodus dar.
  • Das Ziel der vorliegenden Entwicklung ist es, ein verbessertes Speichersystem in Bezug auf die Systeme, die den ersten und den zweiten Prüfmodus einsetzen, vorzuschlagen.
  • Das Ziel wird mit einem Speichersystem erreicht, wie es in Anspruch 1 beschrieben wird. Bevorzugte Ausführungsformen des Speichersystems der Erfindung sind in den Unteransprüchen 2 bis 11 definiert.
  • Das Ziel der vorliegenden Erfindung ist auch ein Verfahren zur Steuerung des Speichersystems in Übereinstimmung mit dem Anspruch 12. Bevorzugte Ausführungsformen dieses Verfahrens sind in den Unteransprüchen 13 bis 17 definiert.
  • Die Charakteristika und die Vorteile der vorliegenden Erfindung werden durch die folgende ausführlichen Beschreibung einer beispielhaften Ausführungsform, die nicht einschränkend ist, mit Bezug auf die folgenden Zeichnungen erklärt, in denen folgendes dargestellt ist:
  • 1 ist eine schematische Darstellung eines Speichersystems nach der vorliegenden Erfindung.
  • 2 zeigt in schematischer Darstellung eine der möglichen Anwendungen einer Struktur der Steuerlogik nach der vorliegenden Erfindung.
  • 1 zeigt ein Blockdiagramm eines Speichersystems 100 nach der vorliegenden Erfindung. Das Speichersystem 100 kann durch die Integration auf einem Chip aus Halbleitermaterial mit Verfahren, die den Kennern der Technik bekannt sind, geschaffen werden.
  • In dem bestimmten beschriebenen Beispiel umfasst das Speichersystem 100 eine Speichermatrix zur Speicherung von digitalen Daten, der durch den Block MEMORY schematisch dargestellt ist. Diese Speichermatrix oder de Speicher MEMORY ist zum Beispiel nichtflüchtig und kann EPROM, EEPROM oder FLASH-artige Zellen umfassen.
  • Außerdem ist das System 100 mit einer Verarbeitungs- und Steuereinrichtung CPU derart ausgestattet, um mit dem Speicher MEMORY zu kommunizieren, um so die digitalen Daten darin oder die Befehle, die auf solche Daten angewandt werden sollen, zu lesen. Die Verarbeitungseinrichtung CPU kann aus einem konventionellen Prozesssystem bestehen, das zum Beispiel einen oder mehrere Mikroprozessoren, einen Digitalsignalprozessor DSP oder eine Schaltung für den Direktzugriff auf den Speicher DMA umfasst, die eine Funktion zur Überwachung des Speicherinhalts auf anderen peripheren Geräten besitzen.
  • Aus Gründen der Übersichtlichkeit wird im weiteren Verlauf der Beschreibung die Verarbeitungseinrichtung CPU zur Verkürzung mit dem Begriff Mikroprozessor bezeichnet.
  • Das Speichersystem 100 umfasst einen Inhaltsprüfer für den nichtflüchtigen Speicher NVMCC, der eine Fehlererfassungsrolle im Speicher MEMORY einnimmt.
  • Zweckmäßigerweise ist die Prüfeinrichtung NVMCC strukturell vom Mikroprozessor CPU getrennt und bildet ein logisches Gerät, das zur Prüfung der Inhalte des Speichers MEMORY bestimmt ist, um das Vorhandensein von Änderungen in den darin gespeicherten Daten zu erfassen.
  • Stärker detailliert enthält die Prüfeinrichtung NVMCC, die in 1 schematisch dargestellt ist, drei wesentliche Funktionsblöcke, die untereinander kommunizieren.
  • Ein erster Block ist eine Steuerungslogik Ctrl_logic, die vorzugsweise als digitaler Automat ausgeführt ist. Dieser Automat, über den wir weiter unten noch detaillierter sprechen werden, ist in der Lage, den Zugang zu den Speicherplätzen des Speichers MEMORY zu verwalten und die Genauigkeit der Daten, die sie enthalten, zu prüfen.
  • Ein zweiter Block ist ein Adressgenerator Add_Gen, der typischerweise einen Zähler enthält (in 1 nicht gezeigt). Der Adressgenerator Add_Gen zählt die Speicherplätze in der Weise, dass das Gerät NVMCC von einer Startadresse Start_Add bis hin zu einer Endadresse Stop_Add zugreift, indem er die Startadresse Start_Add anschließend um einen Schrittwert Add_Step erhöht. Die Startadresse Start_Add, die Endadresse Stop_Add und der Schrittwert Add_Step sind in speziellen Registern, die den Adressgenerator Add_Gen bilden, enthalten und in 1 mit den gleichen Bezugszeichen Start_Add, Stop_Add und Add_Step gekennzeichnet.
  • Der Inhalt dieser Register kann während des Betriebs des Speichersystems 100 verändert werden. Insbesondere wird der Schrittwert Add_Step je nach dem verändert, ob der auszulesende Speicher zum Beispiel einen 8-bit-, einen 32-bit- oder einen 64-bit-Speicher darstellt.
  • Ein dritter Block ist eine Prüflogik Chk_logic, die hierbei zum Beispiel auch ein Signaturregister umfasst (in 1 nicht gezeigt). Diese Prüflogik Chk_logic hat die Funktion der Auswertung der Korrektheit des Inhalts des Speichers MEMORY durch die Fehlererfassung und/oder die Korrekturcodes, wie zum Beispiel dem CRC-Code.
  • Die Prüfeinrichtung NVMCC umfasst auch einen Mehrkanal-Schaltkreis oder einen Multiplexer MUX, der in schematischer Form zwei Eingänge und einen Ausgang besitzt. Tatsächlich ist der Multiplexer MUX über einen ersten Eingang 1 mit einer ersten Leitung oder einem ersten digitalen Adress-Bus Add_bus1 und über einen zweiten Eingang 2 mit einer zweiten Leitung oder einem zweiten digitalen Adress-Bus Add_bus2 verbunden.
  • Der erste digitale Adress-Bus Add_bus1 ist mit dem Adressgenerator Add_Gen verbunden, während der zweite digitale Adress-Bus Add_bus2 mit dem Mikroprozessor CPU verbunden ist. Ein Ausgang 3 des Multiplexers MUX ist mit dem Speicher MEMORY über eine weitere Leitung oder einen Adress-Bus OUT verbunden. Der Multiplexer MUX ist so aufgebaut, dass er die Adressen, die an den Speicher MEMORY gesendet werden sollen, aus den auf dem ersten Bus Add_bus1 oder auf dem zweiten Bus Add_bus2 vorhandenen auswählt und er seine Befehle von der Steuerlogik Ctrl_logic erhält.
  • Das System 100 ist auch mit einer Leitung zum Lesen von digitalen Daten ausgestattet, oder kurz gesagt, mit einem Datenbus Read_Data_bus zum Senden von Signalen an den Mikroprozessor CPU und an die Prüflogik Chk_logic, die den aus dem Speicher MEMORY gelesenen Daten entsprechen.
  • Der Mikroprozessor CPU ist mit weiteren peripheren Geräten oder Speichern, die als Funktionsblock "Peripherals" schematisch dargestellt sind, verbunden, um von diesen eine zweite Gruppe von digitalen Daten zu empfangen.
  • Insbesondere kann diese zweite Datengruppe zum Mikroprozessor CPU über die Einrichtung eines weiteren Datenlesebus Read_Data_bus1 zufließen.
  • Schließlich ist der Mikroprozessor CPU – wie in 1 hervorgehoben dargestellt – mit dem Speicher MEMORY und der Steuerlogik Ctrl_logic über eine Leitung für digitale Steuersignale, oder kurz gesagt, über einen Steuersignalbus Ctrl_signals verbunden.
  • Zum Beispiel schalten einige Steuersignale Signale für den Speicher MEMORY frei, in anderen Worten, Signale mittels derer der Mikroprozessor CPU oder die Steuerlogik Ctrl_logic den gleichen Speicher MEMORY darüber informieren, dass das Auslesen bestimmter Speicherplätze gestartet wird.
  • In ähnlicher Form schalten andere Signale die Ausgaben des Speichers MEMORY ein/aus, d.h. der Speicher MEMORY informiert den Mikroprozessor CPU oder die Steuerlogik Ctrl_logic darüber, ob er zum Auslesen bereit ist oder nicht.
  • Für Kenner der Technik ist klar, dass das Speichersystem 100 eine Zeitschaltung umfasst (in 1 nicht gezeigt), um die Abfolge der verschiedenen Arbeitsgänge, die im System durchgeführt werden, in geeigneter Form zu synchronisieren. Wie bekannt ist, liefert die Zeitschaltung Folgen von Zeitimpulsen, allgemein als Taktimpulse bezeichnet, die die zeitliche Dauer der Zugriffe des Mikroprozessors CPU, der Prüfeinrichtung NVMCC oder anderer Peripheriegeräte auf den Speicher MEMORY regeln. Auf diese Weise ist es möglich, die Dauer von Prozessen zum Lesen von Speicherplätzen, die Durchführung der Befehle, die sie enthalten und die Prüfung der Daten, die im Speicher abgelegt sind, zu lenken.
  • Aus Gründen der Übersichtlichkeit wird im weiteren Verlauf der Beschreibung der Bezug auf Zeitintervalle oder Zugriffszeitschlitze (access time slots) hergestellt, um in einer allgemeinen Form die zeitlich begrenzte Dauer der Zugriffe auf den Speicher MEMORY zu kennzeichnen. Insbesondere kann jeder Zeitschlitz aus einem oder mehreren Taktimpulsen gebildet werden.
  • Eine der möglichen Anwendungen für die Struktur der Steuerlogik Ctrl_logic kann zum Beispiel der 2 entnommen werden.
  • Es ist förderlich zu beachten, dass diese Anwendung mit drei verschiedenen Modi für den Zugriff auf den Speicher MEMORY durch die Prüfeinrichtung NVMCC nach der folgenden Erfindung kompatibel ist. Diese Zugriffsmodi werden nachfolgend im Detail beschrieben.
  • Wie früher erwähnt umfasst die Steuerlogik Ctrl_logic einen digitalen endlichen Automaten FSM, der nach herkömmlichen Methoden aufgebaut sein kann.
  • Der endliche Automat FSM ist durch die Verknüpfung einer Anzahl von digitalen logischen Ports, wie etwa NAND-, NOR- oder FLIP-FLOP-Ports untereinander über Schaltungen intern strukturiert.
  • Der endliche Automat FSM funktioniert so, dass er eine Folge von digitalen Signalen mit dem Mikroprozessor CPU und dem Speicher MEMORY austauscht. Insbesondere ist der endliche Automat FSM in der Lage, ein erstes Steuersignal CS1 zu erfassen, das vom Mikroprozessor CPU an den Bus Ctrl_signals gesendet wird (siehe 1), mit dem dieser Mikroprozessor CPU einen Lesezugriff beim Speicher MEMORY anfordert. Dieses erste Signal CS1 wird durch den Automaten FSM in ein zweites Signal CS2 umgewandelt, das an den Bus Ctrl_signals gesendet wird, wenn der Automat FSM einen Lesezugriff beim Speicher MEMORY anfordert.
  • In ähnlicher Weise ist der Automat FSM in der Lage, ein erstes Sperr- oder Wartesignal WS1 zu erfassen, das vom Speicher MEMORY an den Bus Ctrl_signals gesendet wird, um den Zugriff des Mikroprozessors CPU sogar zeitweilig zu unterbrechen oder zu verhindern. In bestimmten Anwendungen kann der Speicher MEMORY Daten an den Mikroprozessor CPU tatsächlich langsamer liefern, als dieser die entsprechenden Adressen an den Speicher MEMORY bereitstellt. Dieses erste Sperr- oder Wartesignal WS1 wird durch den Automaten FSM in ein zweites Sperr- oder Wartesignal WS2 umgewandelt, das an den Bus Ctrl_signals gesendet wird, wenn dieser Automat FSM den Zugriff des Mikroprozessors CPU auf den Speicher MEMORY verhindern oder unterbrechen will.
  • Ferner ist der endliche Automat FSM so aufgebaut, dass er ein Signal vom Adressgenerator Add_Gen empfängt, das der zuletzt generierten Adresse LAG entspricht, und ein Signal der Adressbusauswahl AdBS und erste Lade- und Inkrement-Befehle RIC an den Adressgenerator Add_Gen sendet. Genauer gesagt, funktioniert der Automat FSM, indem er die Umschaltung des Multiplexers MUX über das Auswahlsignal AdBS regelt und den Zähler des Adressgenerators Add_Gen mit den ersten Befehlen RIC lädt und erhöht.
  • In ähnlicher Weise ist der endliche Automat FSM derart gestaltet, dass er Befehle zum Zurücksetzen und Datenauswahl RDSC an das Signaturregister der Prüflogik Chk_logic sendet, und von letzterer einen Übereinstimmungswert VM als Ergebnis des Vergleichs zwischen den Daten, die vom Speicher MEMORY gelesen wurden, und einem geeigneten Prüfwert, empfängt. Dieser Prüfwert wird in einem geeigneten Register innerhalb der Prüflogik Chk_logic abgespeichert.
  • Zusätzlich zum Automaten FSM umfasst die Steuerlogik Ctrl_logic einen Zeitüberwachungszähler TOC, ein Testende-Modus-Register EOTMR und ein Funktionsmodusauswahl-Register OMSR.
  • Der Zeitüberwachungszähler TOC führt die Funktion der Zählung der Zeitimpulse nach dem Empfang von zweiten Lade- und Inkrement-Befehlen RIC1 aus, die vom Automaten FSM erzeugt wurden. Diese Zählfunktion wird so lange fortgesetzt, bis ein vorgegebener Zeitüberwachungswert erreicht ist, was über ein Warnsignal AS an den Automaten FSM entsprechend gemeldet wird. Ein derartiger Zeitüberwachungswert, der in einem entsprechenden Zeitüberwachungsregister enthalten ist (in 2 nicht sichtbar), entspricht der Dauer eines vorbestimmten Zeitlimitintervalls. Ferner wird der in dem oben genannten Register gespeicherte Zeitüberwachungswert das erste Mal von außerhalb des Chips gesetzt und kann anschließend vom Mikroprozessor CPU entsprechend den Anforderungen der Steuerfunktion angepasst werden.
  • Das Register EOTMR enthält Daten, die den Typ der Funktionen angeben, die der endliche Automat FSM nach dem Ende einer Prüfphase der Inhalte des Speichers MEMORY in Abhängigkeit vom Prüfergebnis durchführen muss. Aus diesem Grund ist das Register EOTMR mit dem endlichen Automaten FSM verbunden, um Signale zu ihm zu übertragen, die die Funktionen bezeichnen, die er ausführen muss.
  • Schließlich ist das Funktionsmodusauswahl-Register OMSR zum Beispiel ein programmierbares 3-bit-Register, das arbeitet, indem es den Automaten FSM über den Modus informiert, den es beim Zugriff auf den Speicher MEMORY verwenden soll. Tatsächlich entspricht jedes Bit des Registers einem der drei früher erwähnten Modi. Um einen der drei Modi auszuwählen, wird das ihm entsprechende Bit im Funktionsmodusauswahl-Register OMSR in herkömmlicher Weise zum Beispiel auf einen logischen Wert 1 festgelegt.
  • Nach einer bevorzugten Ausführungsform kann die Prüfeinrichtung NVMCC als Ziel der Erfindung über drei Modi auf den Speicher MEMORY zugreifen.
  • Ein erster Zugriffsmodus ist der Schatten-Modus (shadow mode). Auf der Basis dieses ersten Modus greift die Prüfeinrichtung NVMCC nur dann auf den Speicher MEMORY zu, wenn keine andere logische Schaltung (Mikroprozessor CPU oder andere) darauf zugreift, in anderen Worten in Abstimmung mit freien Zugriffszeitschlitzen.
  • Um zu beschreiben, wie der Zugriff auf den Speicher MEMORY durch die Prüfeinrichtung NVMCC im Schatten-Modus erfolgt, kann man zum Beispiel eine Initialphase nennen, in der ein Mikroprozessor CPU auf den Speicher MEMORY zugreift, nachdem er das Lesen seiner Daten durch die Aktivierung des ersten Steuersignals CS1, das an den Bus Ctrl_signals gesendet wird, angefordert hat. Insbesondere greift der Mikroprozessor CPU auf diese Daten zu, indem er den Speicher MEMORY auch mit den Adressen der Speicherplätze, in denen sie gespeichert sind, versorgt. Die Adressen gelangen über den zweiten Adress-Bus Add_bus2, den Multiplexer MUX und der weiteren Adress-Bus OUT zum Speicher MEMORY. Der Automat FSM der Steuerlogik Ctrl_logic, der ebenfalls ein Steuersignal CS1 empfängt, wird über die Tatsache informiert, dass der Mikroprozessor CPU auf den Speicher MEMORY zugreift.
  • Die Steuerlogik Ctrl_logic verharrt während der Zeitschlitze, in denen der Mikroprozessor CPU auf den Speicher MEMORY zugreift, in einem Bereitschaftszustand.
  • Wenn der Mikroprozessor CPU den Zugriff auf den Speicher MEMORY beendet, sorgt er dafür, dass das erste Steuersignal CS1 deaktiviert wird.
  • Die Steuerlogik Ctrl_logic entdeckt die Deaktivierung des ersten Steuersignals CS1 und kann dann den Prüfprozess der Inhalte der Speicherplätze beginnen.
  • Insbesondere fordert der Automat FSM den Zugriff auf den Speicher MEMORY über das zweite Steuersignal CS2 an, das auf Basis des ersten Steuersignals CS1 gewonnen wird. Die Art und Weise, wie die Prüfung des Inhalts des Speichers MEMORY durchgeführt wird, wird weiter unten detaillierter beschrieben werden.
  • Es sollte nun erkannt sein, dass der Inhalt des Speichers MEMORY nach dem beschriebenen Schatten-Modus geprüft wird, ohne die normale Durchführung von Prozessen seitens des Mikroprozessors CPU zu verzögern.
  • Einen zweiten Zugriffsmodus nach der Erfindung stellt der Block-Modus dar. In diesem Fall sperrt die Prüfeinrichtung NVMCC den Zugriff auf den Speicher MEMORY für den Mikroprozessor CPU und führt die Prüfung des Inhalts eines oder aller Speicherplätze aus.
  • Konventionell wird der Block-Modus nur in besonderen Funktionsphasen des Speichersystems 100 aktiviert. Der Block-Modus kann zum Beispiel in der Startphase des Speichersystems 100 verwendet werden, in anderen Worten nach der Neustartphase.
  • In diesem Fall verhindert der Automat FSM der Steuerlogik Ctrt_logic nach dem Neustart den Zugriff auf den Speicher MEMORY durch den Mikroprozessor CPU, indem er das zweite Wartesignal WS2 aktiviert, das an den Bus Ctrl_signals gesendet wird. Anschließend kontrolliert die Logik Ctrl_logic einen ersten Abschnitt des Speichers MEMORY, der im Allgemeinen die Daten bezüglich des Neustarts eines Betriebssystems oder sogar Informationen über den Modus enthält, den die Prüfeinrichtung NVMCC verwenden muss, um die übrigen Speicherplätze zu kontrollieren.
  • Nach dem Abschluss der oben genannten Kontrolle deaktiviert der Automat FSM das zweite Wartesignal WS2, wenn der Inhalt des ersten Abschnitts des Speichers MEMORY sich wie erwartet darstellt, und aktiviert damit gleichzeitig den Mikroprozessor CPU, der die Befehle, die in diesem ersten Abschnitt enthalten sind, liest und ausführt.
  • Der Block-Modus stellt sicher, dass der Mikroprozessor CPU erst auf die gespeicherten Daten zugreift, nachdem sie in geeigneter Weise geprüft worden sind.
  • Schließlich stellt der dritte Modus einen gemischten Modus dar. Nach diesem dritten Modus erfolgt der Zugriff auf den Speicher MEMORY gewöhnlich im Schatten-Modus, jedoch wird eine Unterbrechung der Aktionen des Mikroprozessors CPU jedes Mal vorgesehen, wenn ein vorgegebenes Bereitschaftsintervall oder Zeitlimit überschritten wird.
  • Genauer gesagt unterbricht die Steuerlogik Ctrl_logic den Zugriff des Mikroprozessors CPU auf den Speicher MEMORY durch die Aktivierung des zweiten Wartesignals WS2, wenn die Prüfeinrichtung NVMCC es innerhalb des vorgegebenen Intervalls für ein Zeitlimit nicht geschafft hat, auf den Speicher MEMORY zuzugreifen, um die Daten zu prüfen.
  • Insbesondere wird der Wert des Intervalls für ein Zeitlimit in der Steuerlogik Ctrl_logic gespeichert und der Zeitüberwachungszähler TOC aktiviert durch das Zählen der Taktimpulse das Warnsignal AS und sendet es an den Automat FSM, der für die Aktivierung des zweiten Wartesignals WS2 sorgt.
  • Die Anzahl der Taktimpulse, die das Intervall für das Zeitlimit bilden, hat ihren Ursprung im Kompromiss zwischen der Notwendigkeit, die Funktion des Mikroprozessors CPU nicht häufig zu unterbrechen (wie es geschieht, wenn wenige Taktimpulse zwischen zwei aufeinander folgenden Punkten für das Zeitlimit vorgesehen werden) und der Untauglichkeit, den Inhalt des Speichers MEMORY über lange Zeit hinweg nicht zu prüfen (d.h., dies geschieht, wenn viele Taktimpulse zwischen zwei aufeinander Unterbrechungen verstreichen).
  • Entsprechend einer Variante des gemischten Modus ist statt der Unterbrechung der normalen Prozesse des Mikroprozessors CPU vorgesehen, dass der Mikroprozessor CPU und die Prüfeinrichtung NVMCC auf einem Ringweg auf den Speicher MEMORY zugreifen können. Besonders jedes Mal dann, wenn der Mikroprozessor CPU und die Steuerlogik Ctrl_logic gleichzeitig und konkurrierend den Zugriff auf den Speicher MEMORY anfordern, richtet die Steuerlogik Ctrl_fogic, die die Zugriffspriorität besitzt, den wechselnden Zugriff des einen und des anderen ein.
  • Entsprechend der Anwenderanforderungen kann die Prüfeinrichtung NVMCC in der Weise ausgeführt werden, dass sie in der Lage ist, den Zugriff nach einem der oben genannten Modi allein durchzuführen oder die Prüfeinrichtung NVMCC so auszustatten, dass sie in der Lage ist, den Zugriff nach zwei oder drei der oben genannten Modi auszuführen.
  • Ein Beispiel für die Arbeitsweise des Speichersystems 100 wird unten beschrieben. Das oben erwähnte Beispiel beleuchtet die Folge der Prozesse, die die Prüfeinrichtung NVMCC ausführt, um die Richtigkeit der im Speicher MEMORY enthaltenen Daten zu prüfen. Ferner wird die Arbeitsweise des Systems 100 analysiert, beginnend mit der Phase, die der Anlaufphase folgt, in anderen Worten nach dem Neustart.
  • Im folgenden Beispiel ist das System 100 so konfiguriert, dass die Steuerlogik Ctrl_logic nach dem Neustart auf den ersten Abschnitt des Speichers MEMORY im Block-Modus zugreift. Mit dieser Einstellung verhindert man, dass der Mikroprozessor CPU auf den ersten Abschnitt ohne eine angemessene Prüfung zugreift. Tatsächlich werden während der Entwurfsphase von außerhalb des Chips sowohl die Startadresse Start_Add und die Endadresse Stop_Add entsprechend dem ersten Abschnitt des zu überwachenden Speichers MEMORY als auch der Schrittwert Add_Step, der für das Lesen der entsprechenden Plätze verwendet wird, festgeschrieben. Ferner wird ein logischer Wert 1 von außer halb im Funktionsmodusauswahl-Register OMSR in dem Bit, das dem Block-Modus entspricht, festgelegt.
  • Auf diese Weise aktiviert der endliche Automat FSM nach dem Neustart des Speichersystems 100 das zweite Wartesignal WS2, das über den Signalbus Ctrt_signals an den Mikroprozessor CPU gesendet wird, damit dieser nicht auf den Speicher MEMORY zugreift. Anschließend sendet der Automat FSM, nachdem er geprüft hat, dass die Startadresse Start_Add nicht mit der Endadresse Stop_Add zusammentrifft, die Startadresse Start_Add über den ersten Adress-Bus Add_bus1, den Multiplexer MUX und den weiteren Adress-Bus OUT an den Speicher MEMORY.
  • Die Daten, die entsprechend dieser Startadresse Start_Add aus dem Speicher MEMORY gelesen werden, werden über den Datenbus Read_Data_bus an die Prüflogik Chk_logic übertragen, um dort im Signaturregister abgespeichert zu werden.
  • Um diese Prozedur mehrfach wiederholen zu können, sendet der Automat FSM die ersten Befehle RIC and den Zähler des Adressgenerators Add_Gen, der die Startadresse Start_Add um den Schrittwert Add_Step erhöht, um auf diese Weise eine zweite Adresse des Speichers MEMORY zu liefern. Wie vorher wird dieser Datenwert, der dieser zweiten Adresse entspricht, über den Datenbus Read_Data_bus an die Prüflogik Chk_logic übergeben. Dies wird so lange fortgesetzt, bis der Speicherplatz des Speichers, der der Endadresse Stop_Add zugeordnet ist, gelesen wird.
  • An diesem Punkt vergleicht die Prüflogik Chk_iogic die gelesenen Daten mit dem dort gespeicherten Prüfwert. Dieser Vergleich erfolgt zum Beispiel durch einen Fehlererfassungscode, zum Beispiel durch eine Prüfsumme oder besser noch durch einen CRC-Code.
  • Besonders der Prüfsummen-Code sieht einen internen Zähler für die Prüflogik Chk_logic vor, um die Daten, die aus dem Speicher MEMORY gelesen wurden und die im Signaturregister abgelegt sind, aufzusummieren. Anschließend wird die Ergebnissumme mit dem Prüfwert verglichen. Der Prüfsummen-Code ermöglicht die Erfassung von einem oder mehreren Fehlern, besitzt aber im Vergleich mit anderen Prüfmethoden den Nachteil, dass sich einige Fehler mit anderen leichter ausgleichen können und deshalb nicht erfasst werden. Andererseits ist im CRC-Code ein geeignetes Polynom im Signaturregister der Prüflogik Chk_logic realisiert, um Fehler in den gelesenen Daten zu erfassen. In diesem Fall ist das Signaturregister weitaus komplexer als ein herkömmliches Register. Der Komplexität des gewählten Polynoms entsprechend wird ermöglicht, einen oder mehrere Fehler zu erfassen.
  • Die gleichen Daten, die von der Prüflogik Chk_logic gelesen wurden, kommen auch beim Mikroprozessor CPU an (siehe 1), der diese aber nicht verarbeitet, da er sich im Wartezustand befindet.
  • Der Zugriff des endlichen Automaten FSM auf den Speicher MEMORY schließt ab, wenn der Datenteil, der der Endadresse Stop_Add entspricht, gelesen und geprüft worden ist.
  • Wenn im ersten aus dem Speicher MEMORY gelesenen Abschnitt Fehler gefunden werden, kann die Steuerlogik Ctrl_logic entscheiden, das Speichersystem 100 wiederherzustellen (Systemneustart), besonders dann, wenn der erfasste Fehler Prozeduren und Routinen betrifft, die grundlegend für die anschließende korrekte Funktion des Systems 100 sind. Gleichzeitig aktiviert die Steuerlogik Ctrl_logic einen Eingangs-/Ausgangs-Pin des Chips, in den das System 100 integriert ist, in anderen Worten, es wird ein vorgegebenes logisches Signal an diesen Pin ausgegeben. Auf diese Weise wird einem externen Überwachungschip mitgeteilt, dass die Prüfeinrichtung NVMCC einen Fehler gefunden hat.
  • Anstelle des externen Überwachungschips kann ein logischer Schaltkreis platziert werden, der die Netzspannung im Fall, dass die Prüfeinrichtung NVMCC das Vorhandensein eines Fehlers erfasst, vom Chip des Systems 100 entfernt.
  • Wenn im Gegenteil keine Fehler im untersuchten ersten Abschnitt des Speichers MEMORY gefunden werden, informiert der Automat FSM den Mikroprozessor CPU über dieses Ergebnis, indem er aufhört, das zweite Wartesignal WS2 zu senden und indem er gleichzeitig den Multiplexer MUX auf dem zweiten Adress-Bus Add_bus2 über das Auswahlsignal AdBS umschaltet.
  • An diesem Punkt greift der Mikroprozessor CPU, der die Steuerung des Systems 100 erhalten hat, auf den Speicher MEMORY beginnend ab den Plätzen, die gerade eben kontrolliert wurden, zu, indem er das erste Steuersignal CS1, das an den Speicher MEMORY auf dem Bus Ctrl_signals gesendet wurde, aktiviert und seine eigenen Adressen auf dem zweiten Adress-Bus Add_bus2 sendet. Gleichzeitig verändert der Mikropro zessor CPU die Startadresse Start_Add, die Endadresse Stop_Add und den Schrittwert Add_Step in den Registern des Adressgenerators Add_Gen, um festzulegen, welcher Abschnitt des Speichers MEMORY in einem nachfolgenden Zugriff der Prüfeinrichtung NVMCC geprüft werden muss (der gesamte restliche Speicher oder nur ein Teil davon). Ferner legt der Mikroprozessor CPU einen logischen Wert 1 im Auswahlregister OMSR in Entsprechung mit dem neuen Zugriffsmodus für den Speicher MEMORY, zum Beispiel den Mix-Modus, fest. Wahlweise legt der Mikroprozessor CPU auch einen Prüfwert innerhalb der Prüflogik Chk_logic fest.
  • Während der Mikroprozessor CPU auf den Speicher MEMORY zugreift, bereitet die Steuerlogik Ctrl_logic den Start einer neuen Kontrollprozedur vor, indem sie sich an den Adressgenerator Add_Gen wendet, der die neue Startadresse Start_Add auf dem ersten Adress-Bus Add_bus1 bereitstellt.
  • In keinem Fall kann die Steuerlogik Ctrl_logic im Mix-Modus auf den Speicher MEMORY zugreifen, außer wenn der Mikroprozessor CPU nicht auf den Speicher MEMORY zugreift. Deshalb kann die neue Eingangsstartadresse Start_Add nicht zum Speicher MEMORY gelangen, bis der Multiplexer MUX den Durchgang nur für die Adressen, die auf dem zweiten Adress-Bus Add_bus2 vorhanden sind, freigibt. In Entsprechung mit den Zeitintervallen, in denen der Mikroprozessor CPU nicht auf den Speicher MEMORY zugreift (das erste Steuersignal CS1 ist deaktiviert), aktiviert die Steuerlogik Ctrl_logic das zweite Steuersignal CS2, um auf den Speicher MEMORY zuzugreifen, und schaltet dabei zeitweilig den Multiplexer MUX (immer über das Signal AdBS) zwischen dem zweiten Adress-Bus Add_bus2 und dem ersten Adress-Bus Add_bus1 um. Auf diese Weise wird die Startadresse Start_Add an den Speicher MEMORY geliefert und der ihr entsprechende Datenwert wird in dem Signaturregister der Prüflogik Chk_logic über den Datenbus Read_Data_bus abgespeichert. An diesem Punkt ist der Prüfprozess für das Auftreten von Fehlern der gleiche wie der bereits früher beschriebene.
  • Wenn im Gegensatz hierzu der Mikroprozessor CPU ununterbrochen auf den Speicher MEMORY zugreift, dann informiert der Zeitüberwachungszähler TOC den Automaten FSM mit dem Warnsignal AS, dass der vorgegebene Zeitlimitwert erreicht ist, in anderen Worten dass die maximale Zeitfrist seit der letzten Prüfung abgelaufen ist. Als Konsequenz unterbricht der Automat FSM den Prozess des Mikroprozessors CPU, indem er das zweite Wartesignal WS2 aktiviert und die Startadresse Start_Add an den Speicher MEMORY schickt, um die Prüfprozedur zu starten. Gleichzeitig setzt der Automat FSM mit den zweiten Befehlen RIC1 den Zeitüberwachungszähler TOC zurück.
  • Der Mikroprozessor CPU im Wartezustand kann nicht auf den Speicher MEMORY zugreifen, er kann jedoch Daten von den anderen peripheren Geräten „Peripheriegeräte° empfangen und verarbeiten.
  • Sobald der Prüfprozess des Abschnitts des fraglichen Speichers MEMORY abgeschlossen ist, sendet die Steuerlogik Ctrl_logic, wenn keine Fehler gefunden worden sind, an den Mikroprozessor CPU ein erstes Unterbrechungssignal, das sowohl den Abschluss des Prüfprozesses als auch die Fehlerfreiheit angibt. Als Folge setzt der Mikroprozessor CPU die Prüfung des Systems 100 fort und setzt in der gleichen Weise, wie es oben bereits beschrieben ist, die Startadresse Start_Add und die Endadresse Stop_Add für den nachfolgenden Abschnitt des Speichers MEMORY, der geprüft werden soll, zurück. Es ist möglich, die Prüfung für die anderen Abschnitte des Speichers MEMORY zu wiederholen, bis die Prüfung aller darin enthaltenen Daten vollständig ist.
  • Wenn im Gegensatz hierzu Fehler in dem fraglichen Abschnitt des Speichers MEMORY erfasst worden sind, sendet die Steuerlogik Ctrl_logic ein zweites Unterbrechungssignal an den Mikroprozessor CPU, so dass dieser entscheiden kann, was zu tun ist. An diesem Punkt kann der Mikroprozessor CPU entscheiden, ob er entweder seine eigenen Prozesse unterbricht, wenn er den erfassten Fehler als ernstlich erachtet, oder ob er das Vorhandensein von Fehlern in den Prozeduren, die sich auf den geprüften Abschnitt des Speichers beziehen, signalisiert, so dass diese in Zukunft nicht mehr berücksichtigt werden.
  • Nimmt man das System zur Steuerung von Funktionen eines Kraftfahrzeugs als Beispiel, reicht es aus, wenn ein Fehler in den Prozeduren, die die Bewegung eines elektrischen Fensters steuern, erfasst, die betroffene Prozedur als nicht ausführbar zu kennzeichnen und gleichzeitig den Benutzer auf den vorhandenen Fehler aufmerksam zu machen. Auf diese Weise vermeidet man, dass der Mikroprozessor CPU in Zukunft fehlerhafte Befehle ausführt, die das gesamte System betreffen.
  • Sobald der gesamte Speicher MEMORY mindestens einmal (nach dem Neustart) in den vorher beschriebenen Modi (Block und Mix) geprüft worden ist, fixiert der Mikroprozessor CPU während der Arbeit des Systems 100 nach einer besonderen Ausführungsform der Erfindung einen logischen Wert 1 im Funktionsmodusauswahl-Register OMSR in dem Bit, das dem Schatten-Modus entspricht. Mit dieser Anordnung wird die Prüfeinrichtung NVMCC die Prüfung der Speicherplätze im Speicher MEMORY zyklisch durchführen, ohne die Durchführung von Prozessen des Mikroprozessors CPU zu verzögern.
  • Alternativ ist es möglich, den Mix-Modus zu aktivieren und dadurch die Prüfung der Plätze des Speichers MEMORY zyklisch durchzuführen, um so sicherzustellen, dass der Speicher selbst innerhalb eines vorgegebenen Zeitintervalls komplett nachgeprüft wird. Es ist zum Beispiel möglich, es so einzurichten, dass der gesamte Speicher MEMORY innerhalb eines Zeitintervalls, das nicht größer als eine Anzahl N von Zeitlimitintervallen ist, überprüft wird.
  • Diese Anordnung garantiert dem Benutzer, dass der gesamte Inhalt des Speichers MEMORY periodisch geprüft wird (zum Beispiel alle 10 Minuten).
  • Ein gewichtiger Vorteil der Erfindung betrifft die Möglichkeit, dass die Prüfung der Speicherplätze des Speichers MEMORY durch die Prüfeinrichtung NVMCC vorgenommen werden kann, die klar vom Mikroprozessor CPU abgegrenzt ist, in anderen Worten, ihre Steuerlogik Ctrl_logic ist vom Mikroprozessor CPU klar abgegrenzt. Auf diese Weise sind dem Mikroprozessor CPU nicht die Prüfprozesse auf die Richtigkeit der gespeicherten Daten zugeordnet und deshalb ist es nicht erforderlich, dass seine Leistung besonders hoch ist. Tatsächlich schaltet sich der Mikroprozessor CPU in dem beschriebenen Beispiel nur ein, um die Startadresse, die Endadresse, den Schrittwert und das Bit, das dem Zugriffmodus der Prüfeinrichtung NVMCC auf den Speicher MEMORY entspricht, zu verändern.
  • Ferner kann die Steuerlogik Ctrl_logic der Prüfeinrichtung NVMCC eine einfachere Struktur als ein Mikroprozessor besitzen, da sie eine geringere Anzahl von Prozessen als der letztgenannte ausführt. Als Folge hiervon kostet die Steuerlogik Ctrl_logic weitaus weniger als ein Mikroprozessor.
  • Ferner führt im Schatten-Modus die Prüfeinrichtung NVMCC zweckmäßigerweise die Prüfung der Daten im Speicher MEMORY durch, ohne die Funktion des Mikroprozessors CPU einzuschränken, sondern in einer konfliktfreien Weise mit ihm zusammenzuarbeiten.
  • Als Alternative besitzt der oben beschriebene Mix-Modus besondere Vorteile, da er es ermöglicht, die Prüfung des Speichers MEMORY auf eine zyklische Weise in einem vorgegebenen Zeitintervall durchzuführen, wobei die Zugriffe des Mikroprozessors CPU mit der Zeitüberschreitung unterbrochen werden.
  • Das beschriebene System bietet eine beträchtliche Flexibilität in der Auswahl der Speicherabschnitte, die geprüft werden sollen, in anderen Worten in der Bestimmung des Umfangs des Prüfungsziels des Speichers und in der Ermittlung der entsprechenden Adressen.
  • Es leuchtet ein, dass ein Kenner der Technik weitere Modifikationen und Varfanten des Speichersystems der vorliegenden Erfindung zum Zweck der Erfüllung von unvorhergesehenen und besonderen Anforderungen erstellen kann.
  • Nach einer möglichen Variante ist die Prüfeinrichtung NVMCC zum Beispiel ein Koprozessor oder eine festverdrahtete logische Schaltung, außerhalb des Speichers MEMORY oder darin integriert, die in der Lage ist, den Inhalt des Speichers MEMORY automatisch zu prüfen, wobei sie die Wechselbeziehungen mit den Prozessen, die vom Mikroprozessor CPU durchgeführt werden, reduziert oder gänzlich ausschließt.
  • Ferner kann der Speicher MEMORY des Systems 100 Zellen vom flüchtigen Typ wie etwa RAM als Alternative zu den nichtflüchtigen umfassen.
  • Schließlich kann eine alternative Lösung, anstatt das Speichersystem, das Ziel der Erfindung ist, in einen einzigen Chip zu integrieren, vorsehen, abgegrenzte Chips für den Speicher MEMORY, für den Mikroprozessor CPU und für die Prüfeinrichtung NVMCC zu bilden.
  • Die oben erwähnten Varianten und Modifikationen sind alle im Rahmen der Erfindung enthalten, wie es durch die angegebenen Ansprüche definiert ist.

Claims (17)

  1. Speichersystem (100), das enthält: eine Speichermatrix (Speicher) zum Speichern digitaler Daten; eine Verarbeitungs-und-Steuer-Einrichtung (CPU), die in Wechselwirkung mit der Speichermatrix tritt, um die digitalen Daten zu lesen und entsprechende Operationen durchzuführen, dadurch gekennzeichnet, dass das System eine Fehlererfassungsvorrichtung (NVMCC) getrennt von der Verarbeitungs-und-Steuer-Einrichtung (CPU) umfasst, die sich dazu eignet, auf die Speichermatrix zuzugreifen, um wenigstens ein teilweises Lesen der Speichermatrix und Erfassen des Vorhandenseins von Änderungen der gespeicherten digitale Daten durchzuführen, wobei es die Fehlererfassungsvorrichtung ermöglicht, die Durchführung der Operationen durch die Verarbeitungs-und-Steuer-Einrichtung (CPU) zu verhindern oder ein Signal zu der Verarbeitungs-und-Steuer-Einrichtung (CPU) zu senden, das die Fehlererfassung anzeigt.
  2. Speichersystem (100) nach Anspruch 1, wobei die Fehlererfassungsvorrichtung (NVMCC) mit der Verarbeitungs-und-Steuer-Einrichtung (CPU) verbunden ist, um ein erstes Signal (CS1) zu empfangen, das den Betriebszustand der Verarbeitungseinrichtung anzeigt, und die Erfassungsvorrichtung (NVMCC) auf Basis des ersten Signals auf die Speichermatrix (Speicher) zugreift, wenn die Einrichtung nicht in Wechselwirkung mit der Speichermatrix tritt.
  3. Speichersystem (100) nach Anspruch 2, wobei entsprechend einem ersten Betriebsmodus die Erfassungsvorrichtung (NVMCC) auf Basis des ersten Signals (CS1) in einem Wartezustand verbleibt, in dem sie nicht auf die Speichermatrix (Speicher) zugreift, wenn die Verarbeitungseinrichtung (CPU) in Wechselwirkung mit der Speichermatrix tritt.
  4. Speichersystem (100) nach Anspruch 1, wobei entsprechend einem zweiten Betriebsmodus die Fehlererfassungsvorrichtung (NVMCC) mit der Verarbeitungs-und-Steuer-Einrichtung (CPU) verbunden ist, um ein Signal (WS2) zu der Verarbeitungseinrichtung zu senden, das den Zugriff auf die Speichermatrix (Speicher) verhindert, und die Erfassungsvorrichtung in der Lage ist, nach der Verhinderung des Zugriffs durch die Verarbeitungseinrichtung auf die Speichermatrix zuzugreifen.
  5. Speichersystem nach den Ansprüchen 2 und 4, wobei entsprechend einem dritten Betriebsmodus die Erfassungsvorrichtung (NVMCC) über eine Zeit in dem Wartezustand verbleibt, die nicht länger ist als ein Warte-Intervall eines voreingestellten Wertes, und die Erfassungsvorrichtung am Ende des Intervalls das Signal zur Verhinderung (WS2) zu der Verarbeitungseinrichtung (CPU) sendet.
  6. Speichersystem (100) nach Anspruch 1, wobei die Fehlererfassungsvorrichtung (NVMCC) umfasst: eine Steuerlogik (Ctrl_logic) getrennt von der Verarbeitungs-und-Steuer-Einrichtung (CPU), die Zugriffe auf die Speichermatrix (Speicher) verwaltet und die Richtigkeit der Daten prüft, die sie enthält, einen Adressgenerator (Add_Gen), der durch die Steuerlogik gesteuert wird, um die Adressen der zu lesenden Speichermatrixorte zu erzeugen und sie der Speichermatrix zuzuführen, eine Prüflogik (Chk_logic), die durch die Steuerlogik gesteuert wird, um die Richtigkeit der an Speicherorten enthaltenen Daten mittels eines Fehlererfassungscodes zu bewerten.
  7. Speichersystem (100) nach wenigstens einem der vorangehenden Ansprüche, wobei die Steuerlogik (Ctrl_logic) einen digitalen endlichen Automaten (FSM) zum Austauschen digitaler Signale (CS1, CS2, WS1, WS2) mit der Verarbeitungs-und-Steuer-Einrichtung (CPU) und mit der Speichermatrix (Speicher) umfasst.
  8. Speichersystem (100) nach den Ansprüchen 5 und 6, wobei die Steuerlogik (Ctri_logic) des Weiteren einen Zeitüberwachungszähler (TOC) zum Zählen von Taktimpulsen umfasst, der beim Erreichen einer Warteintervalldauer ein Warnsignal (AS) sendet.
  9. Speichersystem (100) nach wenigstens einem der vorangehenden Ansprüche, wobei die Steuerlogik (Ctrl_logic) des Weiteren umfasst: ein Testmodusabschluss-Register (EOTMR) zum Übertragen von Befehlen zu dem endlichen Automaten (FSM), die Operationen entsprechen, die zum Abschluss des Lesens der Speichenmatrix (Speicher) zur Erfassung von Änderungen durchzuführen sind, und ein Auswahlregister, das ein Datenelement enthält, das repräsentativ für den ersten, den zweiten und den dritten Betriebsmodus (OMSR) ist, um den endlichen Automaten (FSM) über den Modus zu informieren, der zum Zugreifen auf die Speichermatrix zu verwenden ist.
  10. Speichersystem (100) nach Anspruch 6, wobei der Adressgenerator (Add_Gen) einen Zähler und drei Register (Start_Add, Stop_Add, Add_stepp) zum Speichern einer Startadresse, einer Stoppadresse bzw. eines Schrittwertes umfasst, und die Adressen wenigstens einen Abschnitt der Speichenmatrix (Speicher) identifizieren.
  11. Speichersystem (100) nach wenigstens einem der vorangehenden Ansprüche, wobei die Speichenmatrix (Speicher), die Verarbeitungs-und-Steuer-Einrichtung (CPU) und die Fehlererfassungsvorrichtung (NVMCC) in einen einzelnen Chip aus Halbleitermaterial integriert sind oder, als Alternative dazu, jede von ihnen auf einem separaten Chip integriert ist.
  12. Verfahren zum Verwalten eines Speichersystems, das eine Speichermatrix (Speicher), die digitale Daten enthält, sowie eine Verarbeitungs-und-Steuer-Einrichtung (CPU) umfasst, die dazu bestimmt ist, mit der Speichenmatrix in Wechselwirkung zu treten, um die digitalen Daten zu lesen und die entsprechenden Operationen durchzuführen, wobei das Verfahren durch die Tatsache gekennzeichnet ist, dass es die folgenden Phasen umfasst: Durchführen eines wenigstens teilweisen Lesens der Speichermatrix, um das Vorhandensein von Änderungen an den gespeicherten digitalen Daten zu erfassen, wobei das Lesen durch eine Fehlererfassungsvorrichtung separat von der Verarbeitungs-und-Steuer-Einrichtung (CPU) durchgeführt wird, Erzeugen eines Verhinderungssignals, um die Durchführung von Operationen durch die Verarbeitungs-und-Steuer-Einrichtung (CPU) zu verhindern, oder Senden eines Signals zu der Verarbeitungs-und-Steuer-Einrichtung (CPU), das den erfassten Fehler anzeigt, wobei die Phasen des Erzeugens des Verhinderungssignals und des Sendens des Signals, das die Erfassung des Fehlers anzeigt, durch die Erfassungsvorrichtung durchgeführt werden.
  13. Verfahren nach Anspruch 12, wobei das Erfassungslesen eine Phase des Empfangens eines ersten Signals (CS1) durch die Fehlererfassungsvorrichtung (NVMCC) umfasst, das den Betriebszustand der Verarbeitungs-und-Steuer-Einrichtung (CPU) anzeigt.
  14. Verfahren nach Anspruch 13, das des Weiteren die folgenden Phasen umfasst: Durchführen von Zugriff auf die Speichermatrix durch die Erfassungsvorrichtung (NVMCC), wenn das erste Signal (CS1) anzeigt, dass die Verarbeitungs-und-Steuer-Einrichtung nicht in Wechselwirkung mit der Speichermatrix tritt, Halten der Erfassungsvorrichtung in einem Wartezustand, in dem sie nicht auf die Speichermatrix (Speicher) zugreift, wenn das erste Signal (CS1) anzeigt, dass die Verarbeitungseinrichtung in Wechselwirkung mit der Speichermatrix tritt.
  15. Verfahren nach Anspruch 12, wobei das Erfassungslesen des Weiteren die Phase des Sendens eines Signals (WS2) zur Unterbrechung von Zugriff auf die Speichermatrix (Speicher) durch die Fehlererfassungsvorrichtung (NVMCC) zu der Verarbeitungs-und-Steuer-Einrichtung (CPU) umfasst und die Erfassungsvorrichtung in der Lage ist, nach der Unterbrechung von Zugriff durch die Verarbeitungseinrichtung auf die Speichermatrix zuzugreifen.
  16. Verfahren nach den Ansprüchen 14 und 15, das eine Phase des Sendens des Unterbrechungssignals (WS2) zu der Verarbeitungseinrichtung (CPU) durch die Erfassungsvorrichtung (NVMCC) umfasst, wenn der Wartezustand länger ist als ein voreingestelltes Wartezeitintervall.
  17. Verfahren nach Anspruch 12, das anschließend an das Erfassungslesen eine Phase des Sendens eines Signals, das das Nichtvorhandensein erfasster Fehler anzeigt, zu der Verarbeitungs-und-Steuer-Einrichtung (CPU) durch die Fehlererfassungsvorrichtung (NVMCC) umfasst.
DE60309157T 2003-08-06 2003-08-06 Speichersystem mit Fehlererkennungsvorrichtung Expired - Fee Related DE60309157T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03425539A EP1505608B1 (de) 2003-08-06 2003-08-06 Speichersystem mit Fehlererkennungsvorrichtung

Publications (2)

Publication Number Publication Date
DE60309157D1 DE60309157D1 (de) 2006-11-30
DE60309157T2 true DE60309157T2 (de) 2007-08-30

Family

ID=33547845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60309157T Expired - Fee Related DE60309157T2 (de) 2003-08-06 2003-08-06 Speichersystem mit Fehlererkennungsvorrichtung

Country Status (3)

Country Link
US (1) US20050060602A1 (de)
EP (1) EP1505608B1 (de)
DE (1) DE60309157T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396208B2 (en) * 2004-12-21 2013-03-12 Sandisk Technologies Inc. Memory system with in stream data encryption/decryption and error correction
US20060242429A1 (en) * 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption method
JP4802339B2 (ja) * 2006-05-24 2011-10-26 日本電産サンキョー株式会社 不揮発性メモリの更新方法
US9329919B2 (en) 2008-07-16 2016-05-03 Freescale Semiconductor, Inc. Micro controller unit including an error indicator module
JP6040966B2 (ja) * 2014-07-18 2016-12-07 株式会社デンソー 信号処理装置
DE102022111126A1 (de) * 2022-05-05 2023-11-09 Infineon Technologies Ag Datenverarbeitungsvorrichtung und verfahren zum prüfen der integrität eines speichers
DE102022111925A1 (de) * 2022-05-12 2023-11-16 Infineon Technologies Ag Halbleiterchipvorrichtung und verfahren zum prüfen der integrität eines speichers

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3833930A (en) * 1973-01-12 1974-09-03 Burroughs Corp Input/output system for a microprogram digital computer
JPS59112494A (ja) * 1982-12-17 1984-06-28 Fuji Electric Co Ltd メモリテスト方式
US4542454A (en) * 1983-03-30 1985-09-17 Advanced Micro Devices, Inc. Apparatus for controlling access to a memory
DE3530257A1 (de) * 1985-08-23 1987-03-05 Siemens Ag Verfahren zur pruefung eines schreib-lese-speichers waehrend seines betriebs
JPH04256000A (ja) * 1991-02-08 1992-09-10 Nec Eng Ltd メモリ試験方式
US5216672A (en) * 1992-04-24 1993-06-01 Digital Equipment Corporation Parallel diagnostic mode for testing computer memory
US5487170A (en) * 1993-12-16 1996-01-23 International Business Machines Corporation Data processing system having dynamic priority task scheduling capabilities
JP3578638B2 (ja) * 1998-08-25 2004-10-20 株式会社日立ユニシアオートモティブ マイコン用メモリの診断装置
US6480982B1 (en) * 1999-06-04 2002-11-12 International Business Machines Corporation Computer RAM memory system with enhanced scrubbing and sparing

Also Published As

Publication number Publication date
US20050060602A1 (en) 2005-03-17
DE60309157D1 (de) 2006-11-30
EP1505608A1 (de) 2005-02-09
EP1505608B1 (de) 2006-10-18

Similar Documents

Publication Publication Date Title
EP1199726B1 (de) Verfahren und Vorrichtung zur Prüfung von integrierten Schaltkreisen
EP0503117B1 (de) Prozessorschaltung
EP0378538B1 (de) Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins
DE10341786B4 (de) Elektronische Fahrzeugsteuervorrichtung
DE102011005800A1 (de) Kontrollrechnersystem, Verfahren zur Steuerung eines Kontrollrechnersystems, sowie Verwendung eines Kontrollrechnersystems
DE10231930A1 (de) Verfahren zum Zugreifen auf Abtastketten und zum Aktualisieren eines EEPROM-residenten FPGA-Codes durch einen Systemverwaltungsprozessor und einen JTAG-Bus
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
DE2225841B2 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
EP1262856B1 (de) Programmgesteuerte Einheit
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
DE3336977A1 (de) Ausfallsicheres verfahren fuer einen fahrzeugcomputer
DE60309157T2 (de) Speichersystem mit Fehlererkennungsvorrichtung
EP2907072A1 (de) Verfahren zur steuerung eines getrennten ablaufs von verknüpften programmblöcken und steuergerät
EP1955164A1 (de) Programmgesteuerte einheit und verfahren zum betreiben derselbigen
EP1359485B1 (de) Steuer- und Überwachungssystem
DE102010042574B4 (de) Verfahren zum Betreiben eines Mikrocontrollers für ein Automobil und Mikrocontroller
DE102016200130B4 (de) Elektronische Steuervorrichtung
DE102011007467A1 (de) Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung
DE102007041848A1 (de) Verfahren und Vorrichtung zur Ermittlung von fehlerhaften Komponenten von verkoppelten Wirkketten
DE102015119802A1 (de) Verfahren zum Laden eines sicheren Speicherabbilds eines Mikrocontrollers und Anordnung mit einem Mikrocontroller
DE102006036384A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
EP1182555B1 (de) Verfahren zum Testen eines Mikrocontrollers durch eine externe Testvorrichtung
WO2012007295A1 (de) Verfahren und vorrichtung zum prüfen eines hauptspeichers eines prozessors
EP1473558B1 (de) Statistisches Auswerteverfahren für die Laufunruhe eines Verbrennungsmotors
EP2338111B1 (de) Verfahren und vorrichtung zum testen eines rechnerkerns in einer mindestens zwei rechnerkerne aufweisenden recheneinheit

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee