Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR MONITORING AN ELECTRONIC CIRCUIT
Document Type and Number:
WIPO Patent Application WO/2004/070487
Kind Code:
A2
Abstract:
Disclosed are a method and a device for monitoring an electronic circuit, in which all data of at least one memory can be successively read into and automatically verified in an ECC (error check and correction) unit that can be filled very quickly by the memory without all data having to be transmitted to a processor in a time-consuming process. The ECC testing range encompasses the data of several memory cells of said memory and can be configured as a multiple of the read-word range of the processor. An additional piece of data is formed regarding the data of a certain ECC testing range and can be stored in the memory, allowing the entire code/range of data of the at least one memory to be verified outside the various types of on-going instruction access by filling the entire ECC testing range of the ECC unit, including the additional piece of data, from the memory for each request issued by the processor for the content of a single memory cell. A piece of test data is formed from the data of the entire ECC testing range and is automatically compared with the piece of additional data stored in the ECC unit.

Inventors:
WEBER JOCHEN (DE)
AUE AXEL (DE)
Application Number:
PCT/DE2004/000330
Publication Date:
August 19, 2004
Filing Date:
February 09, 2004
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
WEBER JOCHEN (DE)
AUE AXEL (DE)
International Classes:
G05B23/02; (IPC1-7): G05B23/02
Foreign References:
US6279128B12001-08-21
DE19964012A12001-07-12
US6101614A2000-08-08
Attorney, Agent or Firm:
ROBERT BOSCH GMBH (Stuttgart, DE)
Download PDF:
Claims:
Ansprüche
1. Verfahren zur Überwachung einer elektronischen Steuerung, wobei Steuerbefehle und/oder Daten als Code in wenigstens einem Speicher abgelegt sind, wobei bei laufenden Instruktionszugriffen der Code über eine Wortleitung aus dem wenigstens einen Speicher zu einer Steuereinheit mit einer bestimmten Wortbreite, insbesondere zu einem Prozessor, zur Steuerung von Betriebsabläufen übertragen wird, wobei die Wortbreite den Code mehrerer Speicherzellen des Speichers umfasst und zu dem Code einer Wortbreite jeweils eine Zusatzinformation gebildet und im Speicher abgelegt wird dadurch gekennzeichnet, dass außerhalb der laufenden Instruktionszugriffe der gesamte Code des wenigstens einen Speichers dadurch geprüft wird, indem je Wortbreite genau eine Speicherzelle ausgewählt wird und dadurch die vollständige Wortleitung aktiviert wird, wobei aus dem Code der vollständigen Wortleitung eine Prüfinformation gebildet wird und die Prüfinformation mit der gespeicherten Zusatzinformation verglichen wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Prüfung von einer ECCEinheit durchgeführt wird und die Wortbreite einer ECCPrüfwortbreite entspricht, so dass die ECCPrüfwortbreite den Code mehrerer Speicherzellen des Speichers umfaßt.
3. Verfahren nach Anspruch 2, dass die ECCPrüfwortbreite ein Mehrfaches einer Lesewortbreite der Steuereinheit entspricht.
4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass je Anforderung der Steuereinheit nach dem Inhalt einer Speicherzelle des Speichers die ECCEinheit automatisch in vollständiger ECCPrüfwortbreite einschließlich Zusatzinformation befüllt wird und aus dem Code der vollständigen ECCPrüfwortbreite die Prüfinformation gebildet und mit der Zusatzinformation verglichen wird.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei der ausgewählten Speicherzelle zusätzlich ein aktueller Ladungszustand ermittelt wird und dieser mit einer vorgebbaren Ladungsschwelle verglichen wird.
6. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass bei der ausgewählten Speicherzelle zusätzlich der Code mit einer vorgebbaren Ladungsschwelle ausgelesen wird und durch Vergleich mit der Ladungsschwelle die Richtigkeit des Codes durch die ECCEinheit gepüft wird.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Auswahl der Speicherzelle der jeweiligen Wortbreite durch wiederholtes Setzen eines Inkrements ausgehend von einer Startadresse einer ersten Speicherzelle erfolgt, wobei jede Speicherzelle im Abstand des Inkrements ausgewählt wird.
8. Verfahren nach Anspruch 2 und 7, dadurch gekennzeichnet, dass ein vorgegebenes Inkrement entsprechend der ECCPrüfwortbreite wiederholt beginnend mit der Startadresse aufaddiert wird und die entsprechenden Speicherzellen ausgewählt werden.
9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei Ungleichheit der Prüfinformation und der entsprechenden Zusatzinformation eine Unterbrechung ausgelöst wird und ein Fehler angezeigbar ist.
10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei Ungleichheit der Prüfinformation und der entsprechenden Zusatzinformation ein Fehler erkannt wird und gemäß der Zusatzinformation korrigiert wird.
11. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass bei Erreichen oder Unterschreiten der vorgebbaren Ladungsschwelle durch den aktuellen Ladungszustand ein Auffrischen des Ladungszustandes der jeweiligen Speicherzelle oder aller Speicherzellen der entsprechenden Wortbreite oder aller Speicherzellen des Speichers durchgeführt wird.
12. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass bei Erreichen oder Unterschreiten der vorgebbaren Ladungsschwelle durch den aktuellen Ladungszustand ein zukünftiger Fehler erkannt wird und dieser zukünftige Fehler angezeigbar ist.
13. Vorrichtung zur Überwachung einer elektronischen Steuerung, wobei Steuerbefehle und/oder Daten als Code in wenigstens einem Speicher abgelegt sind, wobei bei laufenden Instruktionszugriffen der Code über eine Wortleitung aus dem wenigstens einen Speicher zu einer Steuereinheit mit einer bestimmten Wort breite, insbesondere zu einem Prozessor zur Steuerung von Betriebsabläufen, übertragen wird, wobei die Wortbreite den Code mehrerer Speicherzellen des Speichers umfasst und zu dem Code einer Wortbreite jeweils eine Zusatzinformation gebildet und im Speicher abgelegt wird, dadurch gekennzeichnet, dass Mittel enthalten sind, welche außerhalb der laufenden Instruktionszugriffe den gesamten Code des wenigstens einen Speichers prüfen, indem je Wortbreite genau eine Speicherzelle ausgewählt wird und die Mittel dadurch die vollständige Wortleitung aktivieren, wobei Prüfmittel enthalten sind, die aus dem Code der vollständigen Wortleitung eine Prüfinformation bilden und die Prüfinformation mit der gespeicherten Zusatzinformation vergleichen.
14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass die Vorrichtung als Mittel eine ECCEinheit umfaßt.
15. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass weiterhin Ladungsprüfmittel enthalten sind, die bei der ausgewählten Speicherzelle der jeweiligen Wortbreite einen aktuellen Ladungszustand ermitteln und diesen mit einer vorgebbaren Ladungsschwelle vergleichen.
16. Vorrichtung nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass Unterbrechungsmittel enthalten sind, die bei Ungleichheit der Prüfinformation und der Zusatzinformation und/oder bei Erreichen oder Unterschreiten der vorgebbaren Ladungsschwelle durch den aktuellen Ladungszustand eine Unterbrechung auslösen.
17. Vorrichtung nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass Anzeigemittel enthalten sind, die bei Ungleichheit der Prüfinformation und der Zusatzinformation und/oder bei Erreichen oder Unterschreiten der vorgebbaren Ladungsschwelle durch den aktuellen Ladungszustand einen Fehler anzeigen.
Description:
Verfahren und Vorrichtung zur Überwachung einer elektronischen Steuerung Stand der Technik Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Überwachung einer elektronischen Steuerung, wobei Steuerbefehle und/oder Daten, insbesondere Konstanten, als Code in wenigstens einem Speicher abgelegt sind, wobei bei laufenden Instruktionszugriffen der Code, insbesondere die Daten, über eine Wortleitung, insbesondere einen Datenbus, aus dem wenigstens einen Speicher zu einer Steuereinheit mit einer bestimmten Wortbreite, insbesondere zu einem Prozessor zur Steuerung von Betriebsabläufen übertragen wird, gemäß den unabhängigen Ansprüchen.

Aus dem Stand der Technik sind Verfahren bekannt, um elektronische Steuerungen zu überwachen, die darauf beruhen, dass über den gesamten oder einen Teil des Codebereichs zyklisch eine Checksumme gerechnet wird. Dadurch soll erkannt werden, wenn der Code verändert wurde ; sei es durch Tuning oder durch Ladüngsverlust des Speicherelementes. Die Checksummenberechnung für die Manipulation oder den Datenverlust sollte beim Start des Systems durchgeführt werden, um eine größtmögliche Sicherheit zu erreichen. Dies ist aber aufgrund der langen Zeiten, die sich aus einer vollständigen Checksummenberechnung über 100 KB bis zu einigen Megabyte-Code ergeben, nicht anwendbar, da das Startverhalten des Systems dadurch verzögert würde und der Kunde dies als Mangel empfindet.

Bei laufenden Instruktionszugriffen, also im Betrieb, ist eine Methode ausgeprägt durch eine Hardware bekannt, um beim Problem des Charge Loss von Flash-Speicherelementen einen Datenverlust zu verhindern. Bei dieser Methode mit der entsprechenden Hardware, auch ECC genannt (Error Check and Correction) sind nicht nur Speicherzellen vorhanden, die zur Speicherung der Information notwendig sind, also für Steuerbefehle und/oder Daten, den eigentlichen Code, sondern zusätzlich auch eine Anzahl von Speicherzellen mit einer Zusatzinformation, über die festgestellt werden kann, ob sich die Information in den Zellen zur Informationsspeicherung geändert hat. Dies wird bei laufenden Instruktionszugriffen, also im Betrieb, durch eine Hardware realisiert. Eine solche Hardware ist beispielsweise aus der DE 38 33 713 A1 bekannt. Wie der Name schon sagt, ist über diese Zusatzinformationen auch teilweise eine Korrektur korrupter Daten möglich. Allerdings werden bei der genannten Methode im laufenden Betrieb, also bei laufenden Instruktionszugriffen, die entsprechenden Daten geprüft, so dass die Teile der Daten oder des Speichers, die seltener oder gar nicht durch laufende Instruktionszugriffe angesprochen werden, seltener oder gar nicht geprüft werden. Das bekannte Verfahren im Rahmen der genannten Offenlegungsschrift garantiert also nicht die regelmäßige Überwachung oder Überprüfung aller Speicherzellen eines Speichers.

Des Weiteren ist eine Eigenschaft moderner Flash-Speicher bekannt als Margin Read.

Diese in der DE 199 64 012 AI dargestellte Funktion stellt fest, ob die Information in den Speicherzellen auch im Normalmode, also dem Normalbetrieb, noch ausreichend ist, um eine fehlerfreie Funktion der Steuerung zu ermöglichen. Dazu werden die Speicherzellen nicht mit der normalen Bitleitungslast, sondern mit einer erhöhten Last ausgelesen bzw. der Zellstrom wird gemessen. Wenn die Ladung der Zelle noch ausreichend ist, wird die Information richtig ausgelesen. Wenn nicht, wird die falsche Information ausgelesen.

Durch nochmaliges Lesen der Information ohne Anlegen der erhöhten Last und Vergleich der gelesenen Werte kann festgestellt werden, ob die Ladung noch ausreichend ist. Das Lesen der Informationen ist hier immer mit einer Checksummenberechnung sowohl für das Lesen mit Margin Read, als auch für das Lesen ohne Margin Read verbunden. Wenn die Checksummen beider Vorgänge gleich sind, kann davon ausgegangen werden, dass ausreichend Ladung aus den Speicherzellen vorhanden ist. Dies bedeutet aber, dass auch hier eine zeitaufwendige Checksummenberechnung, wie bereits oben angedeutet, durchgeführt werden muss mit den oben genannten Nachteilen.

Daraus ergibt sich die Aufgabe, ein Verfahren und eine Vorrichtung bereitzustellen, mit der die Überwachung bzw. Überprüfung aller Speicherzellen zyklisch möglich ist, indem die Zeit zur Überprüfung verkürzt wird.

Vorteile der Erfindung Die nachfolgende Lösung ermöglicht dem entsprechend die Überwachung bzw.

Überprüfung aller Speicherzellen zyklisch und nahezu verzögerungsfrei, insbesondere vor dem Start.

Die Erfindung zeigt ein Verfahren und eine Vorrichtung zur Überwachung einer elektronischen Steuerung, wobei Steuerbefehle und/oder Daten als Code in wenigstens einem Speicher abgelegt sind, wobei bei laufenden Instruktionszugriffen der Code über eine Wortleitung aus dem wenigstens einen Speicher zu einer Steuereinheit mit einer bestimmten Wortbreite, insbesondere zu einem Prozessor zur Steuerung von Betriebsabläufen übertragen wird, wobei die Wortbreite den Code mehrerer Speicherzellen des Speichers umfasst und zu dem Code einer Wortbreite jeweils eine Zusatzinformation gebildet und im Speicher abgelegt ist, und außerhalb der laufenden Instruktionszugriffe der gesamte Code des wenigstens einen Speichers geprüft wird, indem je Wortbreite genau eine Speicherzelle ausgewählt wird und dadurch die vollständige Wortleitung aktiviert wird, wobei aus dem Code der vollständigen Bordleitung eine Prüfinformation gebildet wird und die Prüfinformation mit der gespeicherten Zusatzinformation verglichen wird.

Das bedeutet also entsprechend einer konkreten Ausführung ein Verfahren und eine Vorrichtung zur Überwachung einer elektronischen Steuerung, indem dafür gesorgt wird, daß in die sehr schnell vom Speicher befüllbare ECC-Einheit hintereinander die kompletten Daten bzw. Code eines wenigstens einen Speichers eingelesen und dort automatisch geprüft werden, ohne daß die kompletten Daten bzw. Code zeitaufwendig zu einem Prozessor übertragen werden müssen, wobei die ECC-Prüfbreite die Daten mehrerer Speicherzellen des Speichers umfasst und ein mehrfaches der Lesewortbreite des Prozessors ist, und zu den Daten einer ECC-Prüfbreite jeweils eine Zusatzinformation gebildet und im Speicher abgelegt ist, und so außerhalb der laufenden Instruktionszugriffe der gesamte Code/Datenbereich des wenigstens einen Speichers geprüft wird, indem pro Anforderung des Prozessors nach dem Inhalt einer einzigen Speicherzelle, aus dem Speicher die ECC-Einheit in voller ECC-Prüfbreite einschließlich Zusatzinformation befüllt wird, wobei aus den Daten der vollständigen ECC-Prüfbreite eine Prüfinformation gebildet wird und die Prüfinformation automatisch in der ECC- Einheit mit der gespeicherten Zusatzinformation verglichen wird Damit ist vorteilhafter Weise eine Bewertung der Korrektheit des gesamten Speicherinhaltes vor dem Start des Motors, insbesondere bei einem Kraftfahrzeug, möglich, da die Zeit, die dazu benötigt wird, wesentlich reduziert wurde. Zweckmäßiger Weise wird in einer speziellen Ausführungsform zusätzlich bei der ausgewählten Speicherzelle und/oder dem ausgewählten Speicher ein aktueller Ladungszustand ermittelt und dieser mit einer vorgebbaren Ladungsschwelle verglichen bzw. dem ausgewählten Speicher/Speicherzelle durch Verändern der Bitleitungslast eine veränderte Ladungsschwelle beim Auslesen von Daten und Prüfinformationen vorgegeben. D. h. dass bei der ausgewählten Speicherzelle zusätzlich eine aktueller Ladungszustand ermittelt bzw. die Daten mit veränderter Schwelle ausgelesen werden und die ECC-Einheit die Richtigkeit der Daten komplett prüft, ohne daß alle zu prüfenden Daten an den Prozessor übertragen werden müssen. Durch zusätzlichen Einsatz des eben genannten Margin Read bei dem erfindungsgemäßen Verfahren kann dann ohne weiteren Zeitaufwand zusätzlich auf zukünftige inkorrekte Information im Speicher geschlossen werden, da bei Ladungsverlust im Speicher die Daten bzw. Code und die Zusatzinformationen pro ECC- Prüfbreite bei Nicht-Konsistenz in der ECC-Einheit erkannt werden, was mit der reinen Checksummenmethode nicht möglich ist. Bei inkorrektem Ladezustand der Zellen kann der Start verhindert werden, und somit können sicherheitskritische Zustände aufgrund von fehlerhaftem Speicherinhalt vermieden werden. Das bedeutet, dass grundsätzlich bei dem erfindungsgemäßen Verfahren und der Vorrichtung auf dem Prozessor kein Vergleich der Daten bzw. des Codes stattfinden muß, da der Vergleich gegen die Zusatzinformation schon in der ECC-Einheit stattfindet.

Vorteilhafter Weise ist es somit möglich, dass auf dem Prozessor selbst keine Prüfung der Daten vorgenommen wird, sondern diese Prüfung direkt in der HW der ECC-Einheit stattfindet, ohne daß alle Daten über den Datenbus zum Prozessor übertragen werden müssen. Dabei ist weiterhin vorteilhaft wenn in einer besonderen Ausführungsform der Prozessor den Prüfcode nicht aus dem zu prüfenden Speicher abarbeitet, sondern aus einem anderen schnellen Speicher, insbesondere aus einem CodeCache oder separaten CodeRAM.

Weiterhin von Vorteil ist, dass die Auswahl der Speicherzelle der jeweiligen Wortbreite durch wiederholtes Setzen eines Inkrementes ausgehend von einer Startadresse einer ersten Speicherzelle erfolgt, wobei jede weitere Speicherzelle im Abstand des Inkrements ausgewählt wird. So ergibt sich in einer besonderen Ausprägung ein Verfahren derart, dass vom Prozessor nur die Daten einer Auswahl einzelner Speicherzellen angefordert werden und nicht alle Daten des Speichers, und ausgehend von einer Startadresse einer ersten Speicherzelle alle weiteren Auswahlen durch wiederholtes Addieren eines Inkrements zu der Startadresse im Abstand der ECC-Prüfbreite erfolgen.. Das bedeutet auch hier, dass grundsätzlich bei dem erfindungsgemäßen Verfahren und der Vorrichtung auf dem Prozessor kein Vergleich der Daten bzw. des Codes stattfinden muß, da der Vergleich gegen die Zusatzinformation schon in der ECC-Einheit stattfindet. Weiterhin muß durch die Inkrementbildung der Prozessor nur die Daten einzelner Speicherzellen mit einem Inkrement im Abstand der ECC-Prüfbreite anfordern und nicht alle Daten des Speichers, da die Restlichen automatisch zusammen mit den Angeforderten vom Speicher in die ECC-Einheit übertragen und geprüft werden. Ausgehend von einer Startadresse einer ersten Speicherzelle muß also nur jeweils eine Speicherzelle pro ECC-Prüfbreite angefordert werden, das Inkrement für den Zugriff auf jede weitere Speicherzelle entspricht der ECC-Prüfbreite.

Zweckmäßiger Weise wird von der ECC-Einheit bei Ungleichheit der Daten des Codes bzw. der Prüfinformation mit der Zusatzinformation eine Unterbrechungsanforderung an den Prozessor signalisiert und ein Fehler angezeigt.

Weiterhin zweckmäßig ist, dass ein bei diesem Vergleich erkannter Fehler sogleich korrigiert wird, so dass die elektronische Steuerung trotz fehlerhafter Daten bzw. Codes weiterarbeiten kann.

Vorteilhafter Weise kann bei Einsatz des Margin Read, also bei Erreichen oder Unterschreiten der vorgebbaren Ladungsschwelle durch den aktuellen Ladungszustand ein Auffrischen des Ladungszustandes der jeweiligen Speicherzelle oder aller Speicherzellen der entsprechenden Wortleitung oder aller Speicherzellen des Speichers durchgeführt werden, da die korrekte Information noch herstellbar ist, entweder durch die ECC, oder durch Ändern der vorgebbaren Ladungsschwelle, oder durch Kombination beider Methoden. Ebenso kann bei diesem Ladungsvergleich auf einen zukünftigen Fehler geschlossen werden, wie oben erwähnt, und es besteht die Anzeigemöglichkeit eines zukünftigen Fehlers und gleichzeitig die Verhinderungsmöglichkeit betreffend diesen zukünftigen Fehler.

Weiterhin zweckmäßig ist, daß der Prozessor den Prüfcode nicht aus dem zu prüfenden Speicher abarbeitet, sondern aus einem anderen schnellen Speicher, insbesondere aus einem Cache oder separaten CodeRAM. Damit wird sichergestellt, daß einerseits nur die beabsichtigten Daten in der ECC-Einheit geprüft werden, und daß andererseits insbesondere beim Einsatz des MarginRead die Ausführung des Prüfcodes auch dann noch gewähleistet ist, wenn die vorgegebenen Ladungsschwellen nicht mehr erreicht werden und daher ein falscher Code zum Prozessor gesendet werden könnte, wenn dieser seine Instruktionen aus demselben Speicher beziehen würde.

Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus der Beschreibung und den Merkmalen der Ansprüche.

Zeichnung Die Erfindung wird im Folgenden anhand der in der Zeichnung dargestellten Figuren näher erläutert. Dabei zeigt Figur 1 ein Steuergerät mit erfindungsgemäßer Hardware.

In Figur 2 ist ein erfindungsgemäßer Speicher mit einzelnen Speicherzellen dargestellt und Figur 3, bestehend aus Figur 3a und 3b verdeutlicht die Erfindung anhand eines speziellen Ausführungsbeispiels in Form eines Flussdiagramms.

Beschreibung der Ausführungsbeispiele Figur 1 zeigt eine elektronische Steuerung bzw. ein Steuergerät 100, in dem ein Speicher 102 und eine Steuereinheit 101, insbesondere ein Prozessor, enthalten sind. Steuereinheit und Speicher mit ECC-Hardware sind über einen bidirektionalen Datenbus 107 miteinander verbunden. Mit 104,105 und 106 sind erste Mittel bezeichnet, die den Vergleich der Prüfinformation mit der Zusatzinformation durchführen, die also weitestgehend der ECC-Hardware entsprechen. Mit 108 sind Ladungsprüfmittel dargestellt, durch welche der Margin Read aktivierbar ist, also der Ladungszustand der Speicherzelle prüfbar ist. 110 zeigt Unterbrechungsmittel, die eine Fehlerreaktion bei Erkennung eines Fehlers, insbesondere eben eine Unterbrechung, einen Interrupt, auslösen. Die Verarbeitungseinheit der Unterbrechung im Prozessor ist mit 111 gekennzeichnet. Zur Verdeutlichung der einzelnen Aspekte der Erfindung sind alle Mittel separat dargestellt. Diese Mittel können aber auch in einen Block, also integriert vorhanden sein, und zwar im Prozessor oder in der Speichereinheit 102 selbst, aber auch außerhalb und lediglich mit dem Prozessor und dem Speicher verbunden. Weiterhin können Fehler angezeigt werden, beispielsweise durch ein Anzeigemittel, das über eine Verbindung insbesondere mit dem Prozessor in Verbindung steht.

Beim Lesen einer Information, insbesondere einer Speicherzelle des Speicherarrays 103 als Daten wird der Zwischenpuffer 105 der ECC-Einheit 106 über die schnelle bidirektionale Verbindung 104 in voller ECC-Prüfdatenbreite einschließlich der Zusatzinformationen, also beispielsweise 64 Bit Daten + 8Bit Zusatzinformationen, aus dem Speicher geladen und auf die Daten in ECC-Prüfdatenbreite durch die ECC- Hardware, hier 106, die Error-check-and Correction-Funktion ausgeführt. Wenn die ECC einen Fehler feststellt, wird ein Interrupt an die CPU, also an die Interruptverarbeitungseinheit 111 bzw. den Prozessor gesamt 101 ausgelöst.

Zur Erläuterung des Verfahrens ist der Speicher in Figur 2 noch einmal detailliert dargestellt. Darin sind Speicherzellen 200 und 201 enthalten. Die Speicherzellen 200 enthalten dabei Steuerbefehle und/oder Daten als Code, also als binäre Information, beispielsweise immer 8-Bit-weise als Byte B1, B2, B3, B5 usw. Dazwischen sind in diesem speziellen Beispiel in Speicherzellen 201 die genannten Zusatzinformationen Zl, Z2, Z3 usw. abgelegt. Wird nun eine Speicherzelle aktiviert, beispielsweise B 1, so wird über die Verbindungsleitung 104 ein Datenwort der kompletten Wortbreite, in unserem Beispiel 32 Bit, also 4 Byte ausgelesen. Wenn sich die Zusatzinformationen und die Daten bzw Code im selben Speicher befinden, wird auf diese Art, beispielsweise mit 32 Bit, die Information aus den Speicherzellen B 1, B2, B3 und der Zusatzinformationsspeicherzelle Z1 ausgelesen mit vier mal 8 Bit, bei einer 32bit- Verbindungsleitung in einem einzigen Transfer. Die genannte ECC-Hardware 106 kann daraufhin in einem einzigen Zugriff über die gesamte ECC-Prüfbreite im ECC- Zwischenpuffer 105 die Fehlerprüfung und eventuelle Korrektur durchführen. Die Zusatzinformation, hier z. B. Z1, kann dabei mit Hilfe verschiedener Methoden gebildet und ausgewertet werden, was entsprechend dem jeweiligen Verfahren eine entsprechende ECC-Hardware 106 voraussetzt. Dabei ist neben dem Cyclic Redundancy Check CRC jedes andere diesbezügliche Verfahren, wie beispielsweise Hemming-Code, Berger-Code, Aufsummieren, insbesondere Parity-Bit-Bildung usw. denkbar, möglich und erfindungsgemäß vorgegeben. Je nach gewähltem Verfahren kann die Zusatzinformation eine oder mehrere Speicherzellen umfassen. Ebenso muss die Zusatzinformation nicht wie hier immer auf die jeweiligen Daten-Speicherzellen folgen, sondern kann ebenso in einem separaten Speicherbereich des Speicherarrays 103, aber ebenso in einem separaten Speicher abgelegt sein. Wichtig ist nur eine direkte Zuordnung der entsprechenden Speicherzellen mit den zu prüfenden Daten und der entsprechenden Zusatzinformation.

Dann könnte auch, anders als im Beispiel, wo die Zusatzinformation in der vom Speicherarray übertragenen Wortbreite selbst enthalten ist, über separate Leitungen neben der normalen Wortbreite die Zusatzinformation der ECC-Hardware zugeführt werden.

Wesentlich ist dabei, dass keine vollständige Checksummenberechnung im Prozessor im Sinne einer Aufnahme jeder einzelnen Speicherzelle nötig ist, sondern dass ein vollständiger Test durch einen einzigen Zugriff in der ECC-Hardware möglich wird, ohne daß alle zu testenden Daten an den Prozessor übertragen werden müssen. Die Wortbreite von 32 Bit ist dabei beliebig gewählt. Natürlich kann auch jede andere Wortbreite wie 8, 16,24 Bit oder auch eine individuell gewählte andere Wortbreite verwendet werden.

Wird z. B. 64 Bit ECC-Prüfbreite verwendet, werden gleichzeitig 64Bit Daten und die 8 Bit für die ECC gelesen und der ECC-Check durchgeführt, sobald der Prozessor auch nur Teile davon anfordert. Dadurch reicht die Lesenanforderung vom Prozessor von beispielsweise 16 oder 32 Bit eines Speicherbereiches aus, um die Korrektheit einer 64 Bit-Gruppe zu bewerten. Der Prozessor selbst kann die angelieferten Daten ohne weiteren Vergleich ignorieren. Dies ist aus dem Grund möglich, falls falsche Daten gelesen wurden, würde eine Unterbrechung, also ein Interrupt von der ECC-Einheit ausgelöst werden. Somit könnten auch 256 Bit Informationsspeicher, also Daten, und 32 Bit ECC- Information in einem Schritt prüfbar sein.

Der Vorteil des genannten Verfahrens liegt auf der Hand : Dadurch, dass im Prozessor keine Checksumme separat wie im Stand der Technik gerechnet werden muss, können die Lesezugriffe auf den Speicher unmittelbar aufeinander folgen, was für eben genanntes Beispiel bedeuten würde, dass zum Einen mit der CRC-Methode folgende Zeit benötigt würde : 3 Takte, um 32 Bit zu lesen, dann addieren der 32 Bit zur Checksumme, was wiederum 3 Takte erfordert, und das Ganze 2 Mal um 64 Bit zu bewerten. Dies hätte zur Folge, dass (3 + 6) x 2 = 12 Takte als Zeitminimum zur Berechnung der Checksumme notwendig wären. Für die erfindungsgemäße Methode, die in Figur 3 noch einmal detailliert dargestellt wird, würden nur die ersten drei Takte, eben um 32 Bit zu lesen, benötigt. Damit ergibt sich eine Verkürzung im angegebenen Beispiel um mindestens 75%.

Dadurch ergibt sich die Nutzung der ECC zur schnellen Überprüfung des gesamten Speicherinhaltes im Gegensatz zu Verfahren, die auf dem Bewerten der Information jeder Speicherstelle bzw. jeder Speicherzelle durch eine Ausführungseinheit beruhen.

Das Verfahren selbst wird nun noch einmal in Figur 3 bestehend aus Figur 3a und 3b ausführlich dargestellt. Dazu ist im Block 300 von Figur 3a der Start des Verfahrens dargestellt. Im Block 301 erfolgt die Initialisierung, was bedeutet, dass beispielsweise die Startadresse und die Endadresse gesetzt wird und das oben angesprochene Inkrement, festgelegt wird. Dabei wird das optimale Inkrement von der ECC-Prüfbreite der ECC- Hardware vorgegeben, da immer eine komplette ECC-Prüfbreite geladen und von der ECC bewertet wird, dies ist aber in jedem Fall ein Mehrfaches der Lesewortbreite, die an den Prozessor übertragen wird.

Im Block 302 wird optional der Margin Read, also das Ladungsschwellenverfahren, eingeschaltet. Dazu werden die Speicherzellen, insbesondere die ausgewählten Speicherzellen, nicht mit der normalen Bitleitungslast, sondern mit einer erhöhten Last ausgelesen, bzw. der Zellstrom wird gemessen. Wenn die Ladung der Zellen noch ausreichend ist, wird die Information richtig ausgelesen.. Wenn nicht, wird die falsche Information ausgelesen, was automatisch von der ECC-Einheit bemerkt und signalisiert wird. Das mögliche Einschalten bzw. Zuschalten dieses optionalen zusätzlichen Verfahrens, also des Margin Reads kann nun eben im Block 302 durchgeführt werden.

Im Block 303 wird nun die Adresse gleich der Startadresse gesetzt. Im Block 304 erfolgt nun die Abfrage, ob die gelesene Adresse kleiner oder gleich der gesetzten Endadresse ist. Ist dies der Fall, wird im Block 305 der Inhalt der Adresse vom Speicher angefordert.

Parallel erfolgt nun in der ECC-Einheit die Anforderung der Daten für die gesamte ECC- Prüfbreite aus dem Speicher, optional mit aktiviertem MarginRead, was den Vorteil hat, dass zukünftig auftretende Fehler ebenfalls erkannt werden können.

Im Fehlerfall unterbricht die ECC-Einheit das Prüfprogramm auf dem Prozessor und aktiviert mittels der Interrupteinheit die Interrupt-ServiceRoutine ab Block 308 gemäß Figur 3b. In Block 309 kann der Fehler angezeigt, gemeldet oder korrigiert werden. Dabei kann dann nochmals, hier nicht dargestellt, eine Unterscheidung getroffen werden, ob der Fehler bereits vorhanden ist oder zukünftig auftreten wird. Abhängig davon können unterschiedliche Fehlerreaktionen erfolgen. Bei Erreichen oder Unterschreiten der vorgebbaren Ladungsschwelle im Margin Read durch den aktuellen Ladungszustand erfolgt beispielsweise als Korrektur ein Auffrischen des Ladungszustandes der jeweiligen Speicherzelle oder aller Speicherzellen einer Wortleitung oder aller Speicherzellen des gesamten Speichers. Eine Anzeige dieses Fehlers kann dann beispielsweise über eine Anzeigeeinheit realisiert werden. Ebenso kann aber ein erkannter Fehler auch in einem Fehlerspeicher abgelegt und später ausgelesen werden. Als Reaktion auf einen solchen Fehler kann einmal die Korrektur des Fehlers erfolgen, oder auch das Umschalten in einen Notfahrbetrieb oder auch das Anzeigen des Fehlers und Abbrechen des Startvorganges, je nachdem, wie kritisch der Fehler eingestuft wird. D. h. den Fehlern können unterschiedliche Prioritätsklassen zugeordnet werden ; entweder vorgegeben durch eine Tabelle oder aber abhängig davon, durch welche und wie viele Fehlererkennungsmechanismen, also ECC-Check und Margin Read, nur ECC-Check oder nur Margin Read der Fehler erkannt wurde.

Nachdem die Fehlerbehandlung abgeschlossen ist, wird die Interrupt-Serviceroutine im Block 310 beendet und die Abarbeitung des unterbrochenen Prüfprogrammes in Block 306 fortgesetzt, in dem die aktuelle Adresse dann mit Adresse plus Inkrement neu belegt wird. Ohne die gelieferten Daten weiter zu verarbeiten, erfolgt nun ein Rücksprung in Block 304 Dort wird mit der nun um das Inkrement erhöhten Adresse geprüft, ob diese Adressse kleiner oder gleich der Endadresse ist. Ist dies immer noch der Fall, wird in der eben genannten Schleife vom Block 305,306 und 304 verblieben ; ansonsten, wenn die Endadresse erreicht ist, erfolgt im Block 307 das Ende des Verfahrens.

So wird entsprechend des genannten Verfahrens zum Einen durch die gezeigte Vorrichtung die elektronische Steuerung überwacht, in dem Mittel enthalten sind, die außerhalb der laufenden Instruktionszugriffe die gesamten Daten des wenigstens eines Speichers prüfen, indem je ECC-Prüfbreite genau eine Speicherzelle vom Prozessor angefordert wird, und die Mittel dadurch die komplette Daten pro ECC-Prüfbreite einschließlich der Zusatzinformationen in den ECC-Zwischenpuffer laden, wobei Prüfmittel in der ECC-Einheit enthalten sind, die aus den Daten pro ECC-Prüfbreite eine Prüfinformation bilden und die Prüfinformation mit der gespeicherten Zusatzinformation vergleichen, wie dies beispielsweise in den Mitteln 106 durchgeführt wird. Ebenso sind für den Margin Read Prüfmittel 108 enthalten, die bei der ausgewählten Speicherzelle der jeweiligen Wortline einen aktuellen Ladungszustand ermitteln bzw. die Daten mit veränderter Schwelle auslesen. Als Fehlerreaktionsmöglichkeit sind Unterbrechungsmittel enthalten, die bei Ungleichheit der Prüfinformation und der Zusatzinformation und/oder bei Erreichen oder Unterschreiten der vorgebbaren Ladungsschwelle durch den aktuellen Ladungszustand eine Unterbrechung auslösen, wie hier mit 110 dargestellt.

Durch das erfindungsgemäße Verfahren und die erfindungsgemäße Vorrichtung kann somit bei einer elektronischen Steuerung zur Steuerung von Betriebsabläufen, insbesondere bei einem Fahrzeug, aber auch bei anderen Geräten oder Einrichtungen, eine Prüfung des gesamten Speicherbereichs, also aller Speicherzellen vor dem Start in kurzer Zeit durchgeführt werden, so dass zum Einen die zyklische Prüfung insbesondere immer vor dem Start, und zum Anderen die Prüfung aller Speicherzellen möglich ist und so eine Sicherheitserhöhung ohne Komforteinbußen nach sich zieht.