DE19934191B4 - Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers - Google Patents

Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers Download PDF

Info

Publication number
DE19934191B4
DE19934191B4 DE19934191A DE19934191A DE19934191B4 DE 19934191 B4 DE19934191 B4 DE 19934191B4 DE 19934191 A DE19934191 A DE 19934191A DE 19934191 A DE19934191 A DE 19934191A DE 19934191 B4 DE19934191 B4 DE 19934191B4
Authority
DE
Germany
Prior art keywords
memory
block
control unit
electronic control
command
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
DE19934191A
Other languages
English (en)
Other versions
DE19934191A1 (de
Inventor
Hirokazu Kariya-shi Komori
Haruhiko Kariya-shi Kondo
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of DE19934191A1 publication Critical patent/DE19934191A1/de
Application granted granted Critical
Publication of DE19934191B4 publication Critical patent/DE19934191B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

Elektronische Steuerungseinheit (2) mit
einem elektrisch löschbaren und neu beschreibbaren nichtflüchtigen ROM-Speicher (22), bei dem Speicherinhalte Block für Block (A bis Q) löschbar sind und Steuerungsprogramme und Steuerungsdaten für ein vorbestimmtes zu steuerndes Objekt (10) gespeichert werden,
einer Verarbeitungseinrichtung (20) zum Steuern des Steuerungsobjekts in einem normalen Betrieb entsprechend dem im nichtflüchtigen Speicher (22) gespeicherten Steuerungsprogramm und Steuerungsdaten, und zum Durchführen eines Löschungsablaufs zum Löschen eines Speicherinhalts in jedem der mittels eines von einer externen Einrichtung (14) empfangenen Löschungsbefehls identifizierten Blöcke, wenn eine vorbestimmte Neuschreibebedingung erfüllt ist und zum Ersetzen des gelöschten Speicherinhalts mit einem neuen, von der externen Einrichtung (14) empfangenen Inhalt, und
einer Zähleinrichtung (20) zum Zählen der Anzahl der Durchführung des Löschungsvorgangs als Anzahl des Neuschreibens des nichtflüchtigen Speichers (22) und Speichern der gezählten Anzahl in einem Speicherbereich (Q) des nicht flüchtigen Speichers (22), wobei
die Zähleinrichtung (20) die Anzahl der Durchführung des...

Description

  • Die Erfindung betrifft eine elektronische Steuerungseinheit und ein Steuerungsverfahren, die innerhalb der Baugruppe ein Neuschreiben von Steuerungsprogrammen und Steuerungsdaten durchführen zur Verwendung bei Regelungsvorgängen vorbestimmter Mechanismen oder zu steuernder Objekte.
  • Bei einer elektronischen Steuerungseinheit, die in der Praxis zur Steuerung von Objekten wie einer Maschine oder eines Gertriebes eines Kraftfahrzeugs dient, ist ein nichtflüchtiger Festwertspeicher in Form eines elektrisch neubeschreibbaren ROM vorgesehen, wobei dieser Festwertspeicher elektrisch löschbar und wiederbeschreibbar ist. Das wiederbeschreibbare ROM ist derart aufgebaut, daß darin gespeicherte Steuerungsprogramme und Steuerungsdaten erneut nach der Herstellung der elektronischen Steuerungseinheit eingeschrieben werden können.
  • Bei einem normalen Betrieb steuert eine derartige elektronische Steuerungseinheit eine Maschine und andere zu steuernde Objekte in Abhängigkeit von Steuerungsprogrammen und Steuerungsdaten, die in dem elektrisch wiederbeschreibbaren ROM der elektronischen Steuerungseinheit gespeichert sind. Wird eine externe Speicherneuschreibeeinrichtung mit der elektronischen Steuerungseinheit verbunden und wird ein Neuschreibebefehl ausgegeben, dann erkennt die elektronische Steuerungseinheit, daß eine Neuschreibebedingung vorliegt. Die elektronische Steurungseinheit führt einen Übergang zu einer Neuschreibebetriebsart durch, und in der Neuschreibebetriebsart wird der Inhalt des elektrisch wiederbeschreibbaren ROM mit den neuen Inhalten (Programm und/oder Daten) ersetzt, die von der Speicherneuschreibeeinrichtung stammen.
  • In der elektronischen Steuerungseinheit mit dem vorstehend angegebenen baugruppeninternen überschreibbaren Speicher ist es relativ einfach, einer möglichen Anforderung Rechnung zu tragen, daß eine Verarbeitungssequenz (Verarbeitungsabfolge, Steuerungsablauf) geändert werden muß infolge einer Änderung der technischen Entwicklung oder des Angebots auf dem Markt.
  • Bei dem in der elektronischen Steuerungseinheit als elektrischer überschreibbarer Speicher ROM vorgesehenen Flash-Speicher oder EEPROM besteht eine Begrenzung hinsichtlich der möglichen maximalen Anzahl des Überschreibens bzw. Neuschreiben der darin enthaltenen Inhalte (d. h. des erlaubten maximalen Löschungs-/Überschreibungs-Zählwerts des Inhalts des Speichers).
  • Bei der vorstehend beschriebenen elektronischen Steuerungseinheit ist ein Neuschreibungszählwert des im elektrisch überschreibbaren Speichers ROM gespeicherten Inhalts (Neuschreibungszählwert des elektrisch überschreibbaren Speichers ROM oder Neuschreibungszählwert) in einem Zählwertinformationsspeicherbereich erhalten, der im elektrisch überschreibbaren Speicher ROM vorgesehen ist, so daß die Inhalte des elektrisch überschreibbaren Speichers ROM nicht wiederholt über einen maximalen Neuschreibungszählwert hinaus überschrieben werden, der für den elektrisch überschreibbaren Speicher ROM garantiert wird.
  • Aus diesem Grund wurde vorgeschlagen, die Anzahl der Neuschreibungen des elektrisch überschreibbaren Speichers ROM immer dann zu zählen, wenn die Speicherinhalte in jedem Speicherblock gelöscht und überschrieben werden. Bei diesem Zählverfahren treten hohe tatsächliche Zählwerte des Neuschreibens des elektrisch überschreibbaren Speichers ROM auf, da jedes Neuschreiben eines Blocks gezählt wird. Werden somit drei Blöcke zu einem Zeitpunkt überschrieben, dann wird der Zählwert des Neuschreibens um 3 erhöht.
  • Wird die Anzahl der Neuschreibungen des elektrisch überschreibbaren Speichers ROM blockweise gezählt, dann steigt die erforderliche Speicherkapazität oder der erforderliche Speicherraum zur Speicherung des Zählwerts an.
  • Die Druckschrift EP 0762249 A1 offenbart eine elektronische Steuerungseinheit mit einem elektrisch löschbaren und neubeschreibbaren nichtflüchtigen ROM-Speicher (EEPROM).
  • Die Druckschrift DE 42 208 77 A1 offenbart eine Steuerungseinrichtung für nichtflüchtige, elektrisch lösch- und programmierbare Speicherelemente (Flash-EPROM). Gemäß der Lehre dieser Druckschrift wird jeder Programmier-/Löschzyklus gezählt und abgespeichert, um die Betriebssicherheit zu erhöhen.
  • Der Erfindung liegt die Aufgabe zugrunde, eine elektronische Steuerungseinheit und ein Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers derart auszugestalten, daß das Zählen der Anzahl der Neuschreibungsvorgänge auf lediglich einen Vorgang begrenzt wird, solange eine elektronische Steuerungseinheit in ihrer ursprünglichen Ausführung betrieben wird und unabhängig von der Anzahl der Blöcke, die einem Neuschreibungsvorgang unterworfen werden.
  • Erfindungsgemäß wird diese Aufgabe mit den im Patentanspruch 1 angegebenen Mitteln bezüglich einer elektronischen Steuerungseinheit gelöst. Bezüglich eines Verfahrens wird diese Aufgabe mit dem in Patentanspruch 5 angegebenen Mitteln gelöst.
  • Gemäß der vorliegenden Erfindung führt eine elektronische Steuerungseinheit einen Neuschreibungsvorgang für jeden Block durch, wobei der Block durch einen von einer externen Speicherneuschreibeeinrichtung erhaltenen Befehl bestimmt wird. Wurde eine Vielzahl von Befehlen zum Neuschreiben einer Vielzahl von Blöcken eines nichtflüchtigen Speichers erhalten, dann löscht und schreibt die elektronische Steuerungseinheit die jeweiligen Inhalte der bestimmten (identifizierten) Blöcke. Die elektronische Steuerungseinheit zählt als Neuschreibungszählwert des Flash-Speichers (des nichtflüchtigen Speichers) lediglich den ersten der Löschungsvorgänge, der nach der ursprünglichen Ausführung (Anfangsbedingungen) erfolgt ist, solange die elektronische Steuerungseinheit in ihrer Anfangsausführung weiterhin betrieben wird.
  • In den Unteransprüche sind vorteilhafte Ausgestaltungen der Erfindung gekennzeichnet.
  • Die Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung näher beschrieben. Es zeigen:
  • 1 ein Blockschaltbild zur Veranschaulichung des Aufbaus der elektronischen Steuerungseinheit (ECU) gemäß einem Ausführungsbeispiel,
  • 2 eine graphische Darstellung zur Veranschaulichung der in einem Flash-Speicher gemäß dem Ausführungsbeispiel vorgesehenen Speicherbereiche,
  • 3 ein Ablaufdiagramm zur Veranschaulichung der gesamten, in der elektronischen Steuerungseinheit gemäß dem Ausführungsbeispiel ablaufenden Vorgänge,
  • 4 ein Ablaufdiagramm zur Veranschaulichung eines in der elektronischen Steuerungseinheit gemäß dem Ausführungsbeispiel ablaufenden Programmneuschreibungsvogangs, und
  • 5 eine graphische Darstellung von Signalzeitverläufen zur Veranschaulichung der Wirkungsweise der elektronischen Steuerungseinheit gemäß dem Ausführungsbeispiel.
  • 1 zeigt ein Blockschaltbild zur Veranschaulichung einer elektronischen Steuerungseinheit ECU 2 gemäß dem Ausführungsbeispiel, die zur Steuerung einer Brennkraftmaschine (Maschine) in einem Kraftfahrzeug vorgesehen ist.
  • Gemäß 1 umfaßt die elektronische Steuerungseinheit 2 eine Eingangverarbeitungsschaltung 6 zur Durchführung einer Signalformverarbeitung (Wellenformung) von empfangenen Signalen von Sensoren 4, die zur Erfassung der Betriebszustände der Brennkraftmaschine vorgesehen sind, einen Mikrocomputer 8 zur Durchführung unterschiedlicher Maschinensteuerungsvorgänge und Steuerungsabläufe gemäß den Sensorsignalen der Eingangsverarbeitungsschaltung 6, eine Ausgangsschaltung 12 zum Ansteuern von an der Brennkraftmaschine angeordneten Betätigungsgliedern 10, wie beispielsweise eine Brennstoffeinspritzeinrichtung oder eine Zündanlage, in Abhängigkeit von den Steuerungssignalen des Mikrocomputers 8, eine Kommunikationsschaltung 16 zur Durchführung einer seriellen Datenkommunikation mit einer Speicherneuschreibeeinrichtung 14, die als externes Gerät angeschlossen wird, und eine Leistungszuführungsschaltung 18 zum Empfangen einer Leistung von einer Batterie BT, wenn ein Zündschalter 17 des Fahrzeugs eingeschaltet wird, und zum Zuführen einer Leistung (Spannung, beispielsweise 5 V) zum Betrieb des Mikrocomputers 8 und der weiteren, in der elektronischen Steuerungseinheit 2 enthaltenen Schaltungen.
  • Die Leistungsversorgungsschaltung 18 umfaßt eine Leistungs-Ein-Rücksetz-Funktion zur Ausgabe eines Rücksetzsignals an den Mikrocomputer 8 während einer vorbestimmten Zeitdauer, bis zu der die Spannungsversorgung nach Einschalten des Zündschalters 17 stabil wird bis zum Beginn der Zuführung der elektrischen Leistung (Spannung).
  • Der Mikrocomputer 8 umfaßt eine bekannte Zentraleinheit (CPU) 20 zur entsprechenden Verarbeitung von Programmen, einen nichtflüchtigen Speicher bzw. Flash-Speicher 22 und einen maskierten Speicher ROM 24 zur Speicherung von Programmen (insbesondere von datenbezogenen Programmen), die zum Betreiben der Zentraleinheit CPU 20 erforderlich sind, und von Daten, auf die bei der Verarbeitung der Programme zugegriffen wird, einen flüchtigen Speicher RAM 26 zum zeitweiligen Speichern von Ergebnissen der in der Zentraleinheit CPU 20 durchgeführten Berechnungen, eine Eingangs-/Ausgangsschaltung (I/O-Schaltung) 28 zum Austausch von Signalen und Daten mit der Eingangsverarbeitungsschaltung 6, eine Ausgangsschaltung 12 und eine Kommunikationsschaltung 16, sowie unterschiedliche, in der Fig. nicht gezeigte Register.
  • Der Flash-Speicher 22 ist ein nichtflüchtiger Festwertspeicher (Nur-Lese-Speicher) ROM, dessen darin gespeicherte Inhalte elektrisch gelöscht und überschrieben werden können (elektrisch überschreibbare bzw. neubeschreibbarer Speicher ROM). Ein Programm zur Steuerung der Maschine (nachstehend vereinfacht als Maschinensteuerungsprogramm bezeichnet) und Steuerungsdaten, auf die bei der Steuerung der Maschine entsprechend dem Maschinensteuerungsprogramm zugegriffen werden kann, sind im Flash-Speicher 22 gespeichert.
  • 2 zeigt die Speicherbereiche (Zellen) des Flash-Speichers 22 mit der entsprechenden Aufteilung in eine Vielzahl von Blöcken (17 Blöcke A-Q im vorliegenden Ausführungsbeispiel), wobei jedem Block eine vorbestimmte Anzahl von Bytes zugeordnet ist. Die in den Blöcken A-Q gespeicherten Inhalte können jeweils blockweise gelöscht werden. Im vorliegenden Ausführungsbeispiel werden 11 Blöcke der Blöcke A-K als Programmspeicherbereiche zur Speicherung des Maschinensteuerungsprogramms verwendet, und es werden 5 Blöcke von Block L bis P als Steuerungsdatenspeicherbereiche verwendet zur Speicherung der Steuerungsdaten der Maschinensteuerung. Ferner wird der Block Q als Zähldatenspeicherbereich verwendet zur Speicherung eines Löschungszählwerts CT, dessen Daten die Anzahl des Neueinschreibens von Daten in den Flash-Speicher 22 angeben (d. h. Löschen und Speichern von Daten).
  • Das Maschinensteuerungsprogramm und die Steuerungsdaten werden in den Blöcken A bis P des Flash-Speichers 22 eingeschrieben, nachdem im Rahmen eines Herstellungsvorgangs der elektronischen Steuerungseinheit 2 der Mikrocomputer 8 in die elektronische Steuerungseinheit 2 eingebaut wurde. Dabei wird im vorliegenden Fall vorausgesetzt, daß das Maschinensteuerungsprogramm und die Steuerungsdaten zuvor bereits eingeschrieben wurden.
  • Im Gegensatz hierzu ist das maskierte ROM 24 ein nichtflüchtiger Festwertspeicher (Nur-Lese-Speicher), der kein erneutes Schreiben des gespeicherten Inhalts erlaubt. Ein Anfangsprogramm (Boot-Programm), das unmittelbar nach dem Rücksetzen des Mikrocomputers 8 zum Löschen verarbeitet wird, ist im voraus im maskierten ROM 24 gespeichert.
  • Werden die im Flash-Speicher 22 gespeicherten Steuerungsdaten oder das Maschinensteuerungsprogramm durch ein neues Programm oder neue Daten ersetzt, dann wird die Speicherneuschreibeeinrichtung 14 mit der elektronischen Steuerungseinheit 2 verbunden. Gemäß 1 werden die elektronische Steuerungseinheit 2 und die Speicherneuschreibeeinrichtung 14 mittels einer Verbindungseinrichtung 30 verbunden zur Bildung einer Signalübertragungsleitung (Verbindungsleitung) 32 zwischen beiden Einrichtungen. Mittels der Verbindungseinrichtung 30 ist der Mikrocomputer 8 in der elektronischen Steuerungseinheit 2 in der Lage, eine serielle Datenkommunikation (Datenübertragung) mit der Speicherneuschreibeeinrichtung 14 über die Kommunikationsschaltung 16 und die Signalübertragungsleitung 32 durchzuführen.
  • In der elektronischen Steuerungseinheit 2 gemäß dem vorstehend beschriebenen Aufbau wird das Boot-Programm, das zuvor im maskierten ROM 24 gespeichert ist, zuerst ausgeführt, wenn der Mikrocomputer 8 zum Löschen und Starten aus seinem Anfangszustand rückgesetzt wird. Gemäß den normalen Betriebsbedingungen, bei denen die Speicherneuschreibeeinrichtung 14 nicht angeschlossen ist, ruft das Boot-Programm das im Flash-Speicher 22 gespeicherte Maschinensteuerungsprogramm auf zur Durchführung eines Maschinensteuerungsablaufs zur Steuerung der Maschine.
  • Bestimmt der Mikrocomputer 8, daß eine Schreibbedingung (die nachstehend noch beschrieben wird) bei der Durchführung des Boot-Programms oder bei der Durchführung des Maschinensteuerungsprogramms erfüllt ist, dann empfängt der Mikrocomputer 8 ein Schreibprogramm von der Speicherneuschreibeeinrichtung 14 und lädt bzw. überträgt dasselbe in den Speicher RAM 26. Im Speicher RAM 26 wird sodann das Schreibprogramm verarbeitet zur Durchführung eines Neuschreibevorgangs zum Ersetzen des im Flash-Speicher 22 gespeicherten Inhalts durch neue Inhalte (beispielsweise ein neues Maschinensteuerungsprogramm oder neue Steuerungsdaten), die von der Speicherneuschreibeeinrichtung 14 übertragen wurden.
  • Nachfolgend werden nun die im Mikrocomputer 8 der elektronischen Steuerungseinheit 2 durchgeführten Steuerungsabläufe in Verbindung mit den Ablaufdiagrammen der 3 und 4 beschrieben.
  • 3 zeigt ein allgemeines Ablaufdiagramm zur Veranschaulichung des gesamten, im Mikroprozessor 8 durchgeführten Ablaufs. Die Verarbeitungsschritte S100 bis S120, S150 und S160 werden durch das zuvor im maskierten ROM 24 gespeicherte Boot-Programm verarbeitet. (Der Buchstabe "S" dient zur Angabe des "Schritts" des Verfahrensablaufs). Die Verarbeitungsschritte S130 und S140 werden durch das Maschinensteuerungsprogramm verarbeitet, das im Flash-Speicher 22 gespeichert ist, und die Verarbeitungsschritte S170 bis S190 werden mittels des Neuschreibeprogramms verarbeitet, das von der Speicherneuschreibeeinrichtung 14 zum Speicher RAM 16 geladen wird.
  • Gemäß 3 startet der Mikrocomputer 8 seinen Verarbeitungsablauf von einem Anfangszustand aus (Resetzustand), wenn der Zündschalter 17 eingeschaltet wird, zur Verarbeitung des Boot-Programms, das zuvor im maskierten Speicher ROM 24 gespeichert wurde. In Schritt S100 wird zuerst eine Initialisierungsverarbeitung durchgeführt zur Initialisierung des Speichers RAM 26 und der (nicht gezeigten) internen Register. Bei dieser Initialisierungsverarbeitung wird "0" als Anfangswert in einer Vollständigkeitszählmarke FC des Speichers RAM 26 gesetzt. Die Vollständigkeitszählmarke FC zeigt an, ob die Zählung der Anzahl der Löschvorgänge, mit welchem der Speicherinhalt einer der Blöcke des Flash-Speichers 22 gelöscht wurde, vollendet ist oder nicht. Dabei zeigt "0" an, daß die Anzahl der durchgeführten Löschvorgänge noch nicht gezählt wurde.
  • Im nachfolgenden Schritt S110 wird bestimmt, ob eine Neuschreibebedingung zum Ersetzen des im Flash-Speicher 22 gespeicherten Inhalts erfüllt ist oder nicht. Im vorliegenden Ausführungsbeispiel wird bestimmt, daß die Neuschreibebedingung dann erfüllt ist, wenn ein Neuschreibebefehl (Rückschreibebefehl) zur Angabe einer Anweisung zum Neuschreiben des Speicherinhalts des Flash-Speichers 22 von der mittels der Verbindungsleitung 32 mit der elektronischen Steuerungseinheit 2 verbundenen Speicherückschreibeeinrichtung 14 ausgegeben wird und der Neuschreibebefehl durch den Mikrocomputer 8 bei einer Empfangsinterabverarbeitung oder dergleichen erkannt wird.
  • Wird in Schritt S110 bestimmt, daß die Neuschreibebedingung nicht erfüllt ist (S110: NEIN), dann wird zu einer normalen Maschinensteuerung übergegangen und es wird Schritt S120 ausgewählt. In Schritt S120 erfolgt ein Sprung zu der Startadresse des Maschinensteuerungsprogramms, das im Flash-Speicher 22 enthalten ist.
  • Danach wird das im Flash-Speicher 22 enthaltene Maschinensteuerungsprogramm zur Verarbeitung aufgerufen zur Durchführung der Verarbeitungsschritte S130 und S140.
  • Im einzelnen wird in Schritt S130 die Maschinensteuerungsverarbeitung durchgeführt zur Steuerung der Maschine. In der Maschinensteuerungsverarbeitung werden eine optimale Brennstoffeinspritzmenge, Zündzeitpunkte und weitere Maschinen, Betriebsparameter in Abhängigkeit von verschiedenen Sensorsignalen, die von der Eingangverarbeitungsschaltung 6 erhalten werden, und im Flash-Speicher 22 enthaltenen Steuerungsdaten berechnet. In Abhängigkeit vom Berechnungsergebnis werden Steuerungssignale der Ausgangsschaltung 12 zugeführt zum Ansteuern der Betätigungsglieder 10 einschließlich der Einrichtungen wie eine Brennstoffeinspritzeinrichtung und eine Zündanlage.
  • Da die Maschinensteuerungsverarbeitung wiederholt durchgeführt wird, wird die Maschine in kontinuierlicher Weise betrieben.
  • Bei jedem Erreichen des Endes des Maschinensteuerungsablaufs wird Schritt S140 verarbeitet, bevor eine Wiederholung des Maschinensteuerungsablaufs erfolgt. In Schritt S140 erfolgt eine Bestimmung, ob in gleicher Weise wie in Schritt S110 eine Neuschreibebedingung erfüllt ist oder nicht.
  • Ist die Neuschreibebedingung nicht erfüllt (S140: NEIN), dann erfolgt erneut ein Übergang zu Schritt S130 zum Wiederholen des Maschinensteuerungsablaufs.
  • Somit wird bei jeder Wiederholung des Maschinensteuerungsablaufs (S130) überprüft, ob die Neuschreibebedingung erfüllt ist oder nicht (S140). Der Maschinensteuerungsablauf (S130) wird ständig wiederholt, bis die Neuschreibebedingung erfüllt ist.
  • Wird im Gegnsatz dazu erfaßt, daß die Neuschreibebedingung in Schritt S110 des Boot-Programms oder in Schritt S140 des Maschinensteuerungsprogramms (S110: JA, oder S140: JA) erfüllt ist, dann wird eine Neuschreibebetriebsart zum Ersetzen des im Flash-Speicher 22 gespeicherten Inhalts erkannt und es wird Schritt S150 des Boot-Programms ausgewählt. In Schritt S150 wird das von der Speicherneuschreibeeinrichtung 14 erhaltene Neuschreibeprogramm geladen oder in den Speicher RAM 26 geschrieben.
  • Die Speicherneuschreibeeinrichtung 14 dient zur Ausgabe des Neuschreibebefehls und sendet das Neuschreibeprogramm zur elektronischen Steuerungseinheit 2, wenn ein vorbestimmter Ablauf in der Speicherneuschreibeeinrichtung 14 durchgeführt wird. Mittels des Ablaufs gemäß Schritt S150 empfängt der Mikrocomputer 8 der elektronischen Steuerungseinheit 2 das Neuschreibeprogramm der Speicherneuschreibeeinrichtung 14 und lädt dasselbe in den Speicher RAM 26.
  • Nach Vollendung des Ladens des Neuschreibeprogramms in den Speicher RAM 26 in Schritt S150 erfolgt ein Übergang zu Schritt S160 und ein Sprung zur Startadresse des in Speicher RAM 26 geladenen Neuschreibeprogramms.
  • Der Mikrocomputer 8 verarbeitet sodann das Neuschreibeprogramm des Speichers RAM 26 zur Durchführung der Verarbeitungsschritte S170 bis S190.
  • Im einzelnen wird in Schritt S170 der Löschungszählwert CT zur Angabe der Anzahl der Neuschreibungen im Flash-Speicher 22 aus dem Block Q, d. h. dem Zählwertspeicherbereich des Flash-Speichers 22 ausgelesen und es wird überprüft, ob der Löschungszählwert CT gleich einem oder größer als ein vorbestimmter Bezugswert Cr ist. Der vorbestimmte Bezugswert Cr wird auf den gleichen Wert wie die Anzahl der garantierten Neuschreibevorgänge des Flash-Speichers 22 (d. h. der Anzahl der garantierten Lösch- und Neuschreibevorgänge) oder auf einen geringfügig kleineren Wert als die Anzahl der garantierten Neuschreibvorgänge gesetzt.
  • Wird in Schritt S170 bestimmt, daß der Löschungszählwert CT größer als der vorbestimmte Bezugwert Cr (S170: JA) ist, dann erfolgt seitens des Mikrocomputers 8 ein Übergang zu Schritt S180 zur Bildung eines Verarbeitungsberichts, worauf der gesamte Verarbeitungsablauf endet. In dem Verarbeitungsbericht gemäß Schritt S180 wird ein Signal übertragen zur Angabe, daß die Anzahl der Neuschreibevorgänge im Flash-Speicher 22 die Anzahl der garantierten Neuschreibevorgänge erreicht hat. Die Speicherneuschreibeeinrichtung 14 zeigt auf ihrer Anzeigeeinrichtung eine Nachricht an zur Angabe, daß die Anzahl der Neuschreibevorgänge des Flash-Speichers 22 die Anzahl der garantierten Neuschreibevorgänge erreicht hat und beendet die Kommunikation mit der elektronischen Steuerungseinheit 2, wenn die Speicherneuschreibeeinrichtung 14 das in Schritt S180 ausgesandte Berichtssignal empfängt.
  • Wird bestimmt, daß der Löschungszählwert CT kleiner als der vorbestimmte Bezugswert Cr in Schritt S170 (S170: NEIN) ist, dann bestimmt der Mikrocomputer 8, daß der Neuschreibevorgang des Flash-Speichers 22 weiterhin möglich ist und geht zu Schritt S190 über zur Durchführung des Programmneueinschreibevorgangs gemäß 4.
  • Die Speicherneuschreibeeinrichtung 14 ist in der Weise aufgebaut, daß sequentielle Löschbefehle ausgesandt werden als Löschanforderungen für jeden Block, der zu diesem Zeitpunkt neu zu beschreiben ist aus der Anzahl der Blöcke A bis P des Flash-Speichers 22, nachdem das Neuschreibeprogramm zur elektronischen Steuerungseinheit 2 übersandt wurde. Der Mikrocomputer 8 sendet sodann sequentielle Schreibbefehle für jeden Block, der zu diesem Zeitpunkt neu zu beschreiben ist, nachdem die Löschbefehle ausgesandt wurden. Der Löschbefehl umfaßt Befehlsdaten zum Anfordern einer Löschung des Speicherinhalts sowie Identifikationsdaten zum Identifizieren des Blocks (eines Blocks der Blöcke A bis P), dessen Speicherinhalt zu diesem Zeitpunkt zu löschen ist. Der Schreibbefehl umfaßt Befehlsdaten zur Anforderung des Schreibens von Daten, Identifikationsdaten zum Identifizieren des Blocks (eines Blocks der Blöcke A bis P) in welchen die Daten einzuschreiben sind, Schreibdaten für den Block (d. h. ein neues Maschinensteuerungsprogramm oder neue Steuerungsdaten), und Adressen zur Angabe der Orte, an welche die Schreibdaten eingeschrieben wurden.
  • Gemäß der Darstellung in 4 startet der Mikroprozessor 8 der elektronischen Steuerungseinheit den Programmschreibevorgang in Schritt S190 und wartet auf einen Befehl (Löschbefehl oder Schreibbefehl) der Speicherneuschreibeeinrichtung 14 gemäß Schritt S200.
  • Wird ein Befehl der Speicherneuschreibeeinrichtung 14 erhalten (S200: JA), dann geht die Verarbeitung im Mikrocomputer 8 zu Schritt S210A über zur Überprüfung, ob der in Schritt S200 empfangene Befehl der Löschbefehl ist für Block A (d. h. der Löschbefehl einschließlich der Identifikationsdaten bezüglich Block A und der Löschbefehl zur Anforderung einer Löschung des im Block A gespeicherten Inhalts). Handelt es sich hierbei um den Löschbefehl für Block A (S210A: JA), dann geht der Ablauf im Mikroprozessor 8 zu Schritt S220A über zur Durchführung eines Löschvorgangs und zum Erneuern des Löschungszählwerts. Danach kehrt der Ablauf im Mikroprozessor 8 zu Schritt S200 zurück zum Warten auf den nächsten Befehl der Speicherneuschreibeinrichtung 14.
  • Bei dem Ablauf zum Löschen und Erneuern des Löschungszählwerts, wie es in 4 mittels einer strichpunktierten Linie angedeutet ist, wird in Schritt S300 überprüft, ob die Vollständigkeitszählmarke FC gleich "0" ist. Ist die Vollständigkeitszählmarke FC gleich "0" (S300: JA), dann wird "1" in der Vollständigkeitszählmarke FC in Schritt S310 gesetzt zur Angabe, daß die Durchführungsanzahl der Löschvorgänge gezählt wurde. In Schritt S320 wird der Löschungszählwert CT aus dem Block Q (dem Zähldatenspeicherbereich) des Flash-Speichers 22 ausgelesen und ein neuer Löschungszählwert CT (d. h. CT + 1) wird in den Block Q des Flash-Speichers 22 nach Addieren des Werts 1 zu dem zuvor ausgelesenen Löschungszählwert CT eingeschrieben. In einem nachfolgenden Schritt S330 wird der Löschungsvorgang durchgeführt zum Löschen des Speicherinhalts im Block A des Flash-Speichers 22. Wird demgegenüber in Schritt S300 bestimmt, daß die Vollständigkeitszählmarke FC nicht gleich "0" ist, d. h. FC = 1, (S300: NEIN), dann geht der Ablauf des Mikrocomputers 8 zu Schritt 330 über ohne Verarbeitung der Schritte 310 und 320 und führt einen Löschvorgang durch zum Löschen des Speicherinhalts im Block A des Flash-Speichers 22.
  • Wird in Schritt S210A bestimmt, daß der in Schritt S220 empfangene Befehl nicht der Löschbefehl für Block A ist (S210A: NEIN), dann geht der Ablauf im Mikroprozessor 8 zu Schritt S210 über zur weiteren Prüfung, ob der in Schritt 200 empfangene Befehl der Löschbefehl für den Block B ist. Handelt es sich hierbei um den Löschbefehl für den Block B (S210B: JA), dann geht der Ablauf im Mikroprozessor 8 zu Schritt S220B über zur Durchführung des Löschens und in gleicher Weise wie in Schritt S220 wird der Löschungszählwert CT mit einem entsprechenden Ablauf erneuert. Unter nachfolgender Rückkehr zu Schritt S200 wartet der Mikrocomputer 8 auf den nächsten Befehl der Speicherneuschreibeeinrichtung 14. Dabei ist zu beachten, daß jedoch in Schritt S230 bei dem Löschungsvorgang und dem Vorgang zur Erneuerung des Löschungszählwerts CT in Schritt S220B die Speicherinhalte im Block B des Flash-Speichers 22 gelöscht werden.
  • Obwohl es in 4 bezüglich der Blöcke C bis O nicht gezeigt ist, wird überprüft, ob der in Schritt S200 empfangene Befehl der Löschbefehl für einen der Blöcke C bis O ist, falls bestimmt wird, daß der in Schritt S200 empfangene Befehl nicht der Löschbefehl für den Block B ist (S210B: NEIN). Handels es sich um einen Löschbefehl für einen der Blöcke C bis O, dann führt der Mikrocomputer die Löschung und den Erneuerungsvorgang für den Löschungszählwert CT in gleicher Weise wie in den Schritten S320 und S330 durch und kehrt mit dem Ablauf zu Schritt S200 zurück. Bei dem Löschungsvorgang und dem Erneuerungsvorgang für den Löschungszählwert CT in Schritt S330 werden die Speicherinhalte des mittels des empfangenen Löschbefehls identifizierten Blocks gelöscht.
  • In dem Teil des Ablaufdiagramms von 4, der durch die gestrichelte Linie zwischen den Schritten S210B und S210P angedeutet ist, sind in gleicher Weise wie in den Schritten S210A und S210B Verarbeitungsschritte S210C bis S210O vorgesehen zur Überprüfung, ob der empfangene Befehl eine Löschungsanforderung für jeden der Blöcke C bis O ist, und in gleicher Weise wie bei den Schritten S220A und S220B sind Verarbeitungsschritte S220C bis S220O vorgesehen, d. h. für den Löschvorgang und den Erneuerungsvorgang für den Löschungszählwert CT zum Löschen der Speicherinhalte des Blocks, der mittels des empfangenen Löschbefehls identifiziert ist, und zur Erneuerung des Löschungszählwerts CT, wenn die Bestimmung in jedem der Schritte S210C bis S210O "JA" ist.
  • Handelt es sich bei dem in Schritt S200 empfangenen Befehl nicht um einen Befehl zum Löschen der Blöcke A bis O, dann wird überprüft, ob der in Schritt S200 empfangene Befehl ein Löschbefehl für den Block P ist. Liegt ein Löschbefehl für den Block P vor (Schritt S210P: JA), dann wird ein Löschungsvorgang und ein Erneuerungsvorgang für den Löschungszählwert CT in Schritt S220P in gleicher Weise wie in den Schritten S220A und S220B durchgeführt. Der Mikrocomputer kehrt mit seinem Ablauf sodann zu Schritt S200 zurück. In diesem Schritt S300 wird der Löschungsvorgang und der Erneuerungsvorgang für den Löschungszählwert CT gemäß Schritt S220P durchgeführt und die Speicherinhalte im Block P des Flash-Speichers 22 werden gelöscht.
  • Wird in Gegensatz dazu in Schritt S210P bestimmt, daß der in Schritt S200 empfangene Befehl nicht der Löschbefehl für den Block P darstellt (S210P: NEIN), dann geht der Ablauf des Mikrocomputers 8 zu Schritt S230A über, da in diesem Fall der in Schritt S200 empfangene Befehl nicht als ein Löschbefehl angesehen wird, sondern als Schreibbefehl für einen der Blöcke A bis P betrachtet wird.
  • In Schritt S230A wird überprüft, ob der in Schritt S200 empfangene Befehl ein Schreibbefehl (Neuschreibbefehl) für den Block A ist (Schreibbefehl einschließlich der Identifikationsdaten für den Block A und Schreibanforderung für ein Schreiben in den Block A entsprechend den in den Block A einzuschreibenden Daten). Liegt der Schreibbefehl für den Block A vor, S230A: JA), dann geht der Ablauf im Mikrocomputer 8 zu Schritt S240A über zur Durchführung eines Schreibvorgangs (Neuschreibevorgang), in welchem die im empfangenen Schreibbefehl für den Block A enthaltenen Schreibdaten in den Block A des Flash-Speichers 22 geschrieben werden. Bei diesem Schreibvorgang wird eine Summenüberprüfung der Schreibdaten durchgeführt. Der Ablauf im Mikrocomputer 8 kehrt sodann zu Schritt S200 zurück für eine Wartezeit auf den nächsten Befehl der Speicherneuschreibeeinrichtung 14.
  • Wird in Schritt S230A bestimmt, daß es sich bei dem in Schritt S200 empfangenen Befehl nicht um einen Schreibbefehl für den Block A handelt (S230A: NEIN), dann geht der Ablauf im Mikrocomputer 8 zu Schritt S230B über zur Bestimmung, ob der in Schritt S200 empfangene Befehl ein Schreibbefehl für den Block B ist. Liegt ein Schreibbefehl für den Block B vor (S230B: JA), dann geht der Ablauf im Mikrocomputer 8 zu Schritt S240B über zur Durchführung des Schreibablaufs wie in Schritt S240A und kehrt zu Schritt S200 zurück für eine Wartezeit auf den nächsten Befehl der Speicherneuschreibeeinrichtung 14. Bei dem Schreibablauf in Schritt S240B werden die im empfangenen Schreibbefehl für den Block B enthaltenen Schreibdaten in den Block B des Flash-Speichers 22 geschrieben.
  • Obwohl dies in 4 nicht für die Blöcke C bis O gezeigt ist wird überprüft, ob der in Schritt S200 empfangene Befehl ein Schreibbefehl für einen der Blöcke C bis O in gleicher Weise wie in den Schritten S230A und S230B ist, falls in Schritt S230B bestimmt wird, daß der in Schritt S200 empfangene Befehl kein Schreibbefehl für den Block B ist (S230B: NEIN). Liegt ein Schreibbefehl für einen der Blöcke C bis O vor, dann führt der Mikroprozessor 8 den Schreibablauf in gleicher Weise wie in den Schritten S240A und S240B durch und kehrt mit dem Ablauf sodann zu Schritt S200 zurück. Bei diesem Schreibablauf werden die im empfangenen Schreibbefehl enthaltenen Schreibdaten in den mittels des empfangenen Schreibbefehls identifizierten Block eingeschrieben.
  • In dem in 4 mittels der gestrichelten Linie angedeuteten Bereich zwischen den Schritten S230B und S230P sind in gleicher Weise wie bei den Schritten S230A und S230B Verarbeitungsschritte S230C bis S230O vorgesehen zur Überprüfung, ob der empfangene Befehl ein Schreibanforderungsbefehl für jeden der Blöcke C bis O ist, und in gleicher Weise wie bei den Schritten S240A und S240B sind Verarbeitungsschritte S240C bis S240O vorgesehen, d. h. es ist ein Schreibablauf vorgesehen zum Schreiben der in dem Schreibbefehl enthaltenen Schreibdaten in den mittels des empfangenen Schreibbefehls identifizierten Block, wenn die Bestimmung in jedem der Schritte S230C bis S230O "ja" ist.
  • Ist der in Schritt S200 empfangene Befehl nicht der Schreibbefehl für die Blöcke A bis O, dann wird in Schritt S230P überprüft, ob der in Schritt S200 empfangene Befehl der Schreibbefehl für den Block P ist. Handelt es sich hierbei um den Schreibbefehl für den Block P (S230P: JA), dann wird in Schritt S240P in gleicher Weise wie in den Schritten S240A und S240B der Schreibablauf durchgeführt. Der Mikrocomputer kehrt mit seinem Ablauf sodann zu Schritt S200 zurück. In Schritt S230 im Schreibablauf von Schritt S240P werden die im Schreibbefehl für den Block P enthaltenen Schreibdaten in den Block P des Flash-Speichers 22 eingeschrieben.
  • Wird im Gegensatz dazu bestimmt, daß der in Schritt S200 empfangene Befehl nicht der Schreibbefehl für den Block P ist (S230P: NEIN), dann kehrt der Mikrocomputer 8 mit seinem Ablauf zu Schritt S200 zurück für eine Wartezeit auf den nächsten Befehl der Speicherneuschreibeeinrichtung 14.
  • Bei dem vorstehend beschriebenen Ausführungsbeispiel wird die Speicherneuschreibeeinrichtung 14 zuerst für eine Übersendung des Schreibbefehls verbunden, wenn die Speicherinhalte des Flash-Speichers 22 in der elektronischen Steuerungseinheit 2 durch einen Neuschreibevorgang ersetzt werden. Der Mikrocomputer 8 in der elektronischen Steuerungseinheit 2 führt sodann eine bejahende Bestimmung in den Schritten S110 oder S140 in 3 durch und ändert seine Betriebsart in eine Schreibbetriebsart zur Durchführung des Ablaufs der Schritte S150 bis S190.
  • Des weiteren sendet die Speicherneuschreibeeinrichtung 14 das neuzuschreibende Programm zur elektronischen Steuerungseinheit 2 und sendet ferner sequentiell die Löschbefehle für jeden der Blöcke A bis P des Flash-Speichers 22, deren Speicherinhalte ersetzt werden sollen. Der Mikrocomptuer 8 führt daraufhin in entsprechender Weise die Abläufe der Schritte S210A, S220A bis S210P und S220P gemäß 4 durch zum sequentiellen Löschen der Speicherinhalte der mittels der Löschbefehle der Speicherneuschreibeeinrichtung 14 identifizierten Blöcke.
  • Ferner sendet die Speicherneuschreibeeinrichtung 14 in sequentieller Weise die Schreibbefehle zur elektronischen Steuerungseinheit 12 in der Reihenfolge der Blöcke, deren Speicherinhalte ersetzt werden sollen. In Abhängigkeit davon führt der Mikrocomputer 8 die Abläufe der Schritte S230A, S240A bis S230P und S240P gemäß 4 durch zum Schreiben der in jedem Schreibbefehl der Speicherneuschreibeeinrichtung 14 enthaltenen Schreibdaten in die Blöcke, deren Speicherinhalte zuvor gemäß der vorstehenden Beschreibung gelöscht wurden.
  • Bei dem vorstehend angegebenen Ausführungsbeispiel wird die Anzahl der in Schritt S230 durchgeführten Löschungen in jedem der Löschvorgänge und Erneuerungsvorgänge des Löschungszählwerts CT der Schritte S220A bis S220P gezählt und in einem Schritt S320 gespeichert. Der Zählvorgang in Schritt S320 wird lediglich dann durchgeführt, wenn die elektronische Steuerungseinheit 2 ihren Betrieb ausgehend von den Anfangsbedingungen startet und den Löschvorgang in Abhängigkeit von dem ersten Löschungsbefehl der Speicherneuschreibeeinrichtung 14 durchführt.
  • Bei der elektronischen Steuerungseinheit 2 gemäß dem vorliegenden Ausführungsbeispiel wird die elektrische Leistung von der Batterie BT in Abhängigkeit vom Einschalten des Zündschalters 17 zugeführt, so daß der Mikrocomputer 8 seinen Betrieb ausgehend von den Anfangsbedingungen aufnimmt. Zu diesem Zeitpunkt ist die Vollständigkeitszählmarke FC gemäß 3 in Schritt S100 auf "0" gesetzt. Wird nun der erste Löschungsbefehl der Speicherneuschreibeeinrichtung 14 empfangen, dann wird im Schritt S300 bestimmt, daß die Vollständigkeitszählmarke FC in einem der Löschvorgänge und der Löschungszählwert-Erneuerungsvorgänge der Schritte S220A bis S220P gleich "0" ist (S300: JA). Die Vollständigkeitszählmarke FC wird auf "1" gesetzt (Schritt S310), und der in Block Q des Flash-Speichers 22 gespeicherte Löschungszählwert CT wird um 1 erhöht (CT = CT + 1). Ferner werden die Speicherinhalte in dem mittels des empfangenen Löschungsbefehls identifizierten Block zu diesem Zeitpunkt gelöscht (S300). Wird demgegenüber ein zweiter oder späterer Löschungsbefehl der Speicherneuschreibeeinrichtung 14 empfangen, nachdem der Mikrocomputer 8 seinen Betrieb aufgenommen hat, dann wurde die Vollständigkeitszählmarke FC bereits auf "1" gesetzt. In Schritt S200 wird daher in einem der Löschvorgänge und der Löschungszählwert-Erneuerungsvorgänge der Schritte S220A bis S220P bestimmt, daß die Vollständigkeitszählmarke FC auf "1" gesetzt ist (S300: NEIN). Daher werden die Speicherinhalte in dem mittels des zu diesem Zeitpunkt empfangenen Löschungsbefehls identifizierten Block ohne weiteres Hochzählen des Löschungszählwerts CT gelöscht.
  • Auch wenn beispielsweise gemäß der Darstellung in 5 eine Vielzahl von Löschungsbefehlen der Speicherneuschreibeeinrichtung 14 sequentiell empfangen wird zum Neuschreiben der Speicherinhalte (d. h. sämtliche Steuerungsprogramme und Steuerungsdaten) in den Blöcken A bis P des Flash-Speichers 22 während einer Zeitdauer, in der der Zündschalter (IG) 17 eingeschaltet gehalten wird, wird der Löschungszählwert CT um 1 hochgezählt und lediglich bis zum Wert "n" erneuert, wenn die Speicherinhalte im ersten Block (beispielsweise in Block A) in Abhängigkeit vom ersten Löschungsbefehl für einen Block (Block A) gelöscht werden. Auch wenn die Speicherinhalte in anderen Blöcken (B bis P) sequentiell in Abhängigkeit von den Löschungsbefehlen für die anderen Blöcke gelöscht werden, wird somit der Löschungszählwert CT nicht erneuert (hochgezählt), sondern auf dem Wert CT = n gehalten.
  • Auch wenn eine Vielzahl von Löschungsbefehlen der Speicherneuschreibeeinrichtung 14 empfangen wird zum Neuschreiben der Speicherinhalte (beispielsweise lediglich der Steuerungsdaten) in den Blöcken (beispielsweise in den Blöcken L bis P) des Flash-Speichers 22 während der Zeitdauer, in der der Zündschalter 17 erneut eingeschaltet wird, nachdem der Zündschalter 17 zuvor einmal ausgeschaltet wurde, wird ferner der Löschungszählwert CT um 1 hochgezählt und erneuert auf "n + 1", wenn die Speicherinhalte in dem ersten Block (beispielsweise Block L) in Abhängigkeit von dem ersten Löschungsbefehl für einen Block (Block L) gelöscht werden. Dabei wird der Löschungszählwert CT nicht erneuert sondern auf dem Wert CT = n + 1 gehalten, auch wenn die Speicherinhalte der anderen Blöcke (N bis P) sequentiell in Abhängigkeit von den Löschungsbefehlen für die anderen Blöcke gelöscht werden.
  • Somit wird die Anzahl der Löschungsvorgänge für jeden Block des Flash-Speichers 22 als Anzahl der Neuschreibevorgänge des Flash-Speichers 22 gezählt, und es wird der Löschungszählwert CT nicht weitergezählt oder erneuert, auch wenn der Neuschreibevorgang durchgeführt wird für eine Vielzahl von Blöcken des Flash-Speichers 22, solange die elektronische Steuerungseinheit 2 kontinuierlich auf der Basis der Anfangsbedingungen in Betrieb gehalten wird, d. h. solange der elektronischen Steuerungseinheit 2 kontinuierlich elektrische Leistung zugeführt wird. Im Ergebnis kann die Anzahl der Neuschreibevorgänge des Flash-Speichers 22 in effizienter Weise und mit ausreichender Genauigkeit erneuert werden.
  • Die Anzahl der Löschungsvorgänge sämtlicher Speicherinhalte wird als ein Vorgang gezählt, auch wenn sämtliche der Steuerungsprogramme und Steuerungsdaten (sämtliche Speicherinhalte in den Blöcken A bis P) im Flash-Speicher 22 neu geschrieben werden. Somit unterscheiden sich die tatsächliche Anzahl der Neuschreibungen des Flash-Speichers 22 und der Löschungszählwert CT nicht voneinander.
  • Werden ferner gemäß 5 lediglich die Steuerungsdaten neu geschrieben, nachdem die Steuerungsprogramme und die Steuerungsdaten neu geschrieben wurden, wird der Löschungsvorgang für jeden der Blöcke L bis P, die Steuerungsdaten speichern, durchgeführt. Dies wird ebenfalls als eine Löschung oder ein Neuschreiben gezählt. Hierbei stimmt die maximale Anzahl der Neuschreibevorgänge jedes Blocks (maximale Anzahl des Neuschreibens der Steuerungsdaten speichernden Blöcke L bis P) mit dem Löschungszählwert CT überein.
  • Wird ferner lediglich eines der Steuerungsprogramme und der Steuerungsdaten in den Flash-Speicher 22 neu geschrieben, dann wird der Löschungsvorgang lediglich bezüglich der den zu überschreibenden Inhalt speichernden Blöcke durchgeführt. Dies wird ebenfalls lediglich als eine Löschung oder ein Neuschreiben gezählt. Auch wenn diese Art des Neuschreibens mehrmals auftritt, wird der Löschungszählwert CT zur Angabe der Anzahl der Löschungsvorgänge größer als die tatsächliche maximale Anzahl der Neuschreibungen in jedem Block des Flash-Speichers 22. Daher wird ein Neuschreibevorgang an der Ausführung gehindert in Abhängigkeit vom Überschreiten der zulässigen Anzahl der garantierten Neuschreibungen des Flash-Speichers 22.
  • Gemäß der vorstehenden Beschreibung und dem bevorzugten Ausführungsbeispiel gelangt der Löschungszählwert CT näher an die tatsächliche maximale Anzahl der Neuschreibungen in jedem Block im Vergleich zu dem Fall, in welchem der Löschungsvorgang in einfacher Weise gezählt wird. Daher kann die Anzahl der Neuschreibungen im Flash-Speicher 22 in genauerer Weise gezählt werden.
  • Ferner wird die Anzahl des Durchführens des Löschungsvorgangs ohne Unterscheidung jedes Blocks A bis P gezählt. Diese ist daher insoweit effizient, als das der zur Speicherung des Löschungszählwerts CT im Flash-Speicher 22 vorgesehene Speicherbereich auf ein Minimum verkleinert werden kann, d. h. auf lediglich einen Block Q.
  • Ferner wird der Löschungszählwert CT lediglich in Abhängigkeit vom ersten Löschungsbefehl nach Aufnahme des Betriebs ausgehend von den Anfangsbedingungen hochgezählt. Somit kann die Anzahl der durchgeführten Löschungsvorgänge aufrechterhalten werden, auch wenn der Neuschreibevorgang des Flash-Speichers 22 aus beliebigen Gründen vor seiner Vollendung unterbrochen wird.
  • Ferner wird in Schritt S170 in 3 überprüft, ob der in Block Q des Flash-Speichers 22 gespeicherte Löschungszählwert CT einen vorbestimmten Bezugswert Cr vor dem Starten des Programmneuschreibevorgangs zur Verarbeitung der Speicherinhalte im Flash-Speicher 22 erreicht hat, und es wird ein Berichtssignal zur Anzeige des Überprüfungsergebnisses zur Speicherneuschreibeeinrichtung 14 gemäß Schritt S180 übertragen, falls der Löschungszählwert CT den Bezugswert Cr erreicht hat (S170: JA). Somit kann der Vorgang des Neuschreibens des Lösch-Speichers 22 auf einfache Weise verhindert werden bei Überschreiten der Anzahl der garantierten Neuschreibevorgänge.
  • Bei dem vorstehend beschriebenen Ausführungsbeispiel werden das Neuschreibeprogramm zur Durchführung der Verarbeitung der Schritte S170 bis S190 gemäß 3 und der Verarbeitung gemäß 4 von der Speicherneuschreibeeinrichtung 14 zu dem Speicher RAM 24 in der elektronischen Steuerungseinheit 2 geladen, wobei eine Änderung der Anordnung derart vorgenommen werden kann, daß das Neuschreibeprogramm vorläufig in dem maskierten ROM 24 gespeichert und damit verarbeitet wird. Bei dieser Änderung können die Verarbeitungsschritte S150 und S160 gemäß der Darstellung in 3 weggelassen werden.
  • Das vorstehende Ausführungsbeispiel kann ferner in der Weise abgewandelt werden, daß Bit-Daten in additiver Weise in den Block Q des Flash-Speichers 22 in Schritt S320 bei dem Löschungsvorgang und Löschungszählwert-Erneuerungsvorgang gemäß 4 geschrieben werden, so daß die Anzahl der Durchführungen der Löschungsvorgänge erfaßt werden kann durch Zählen der Anzahl der in Block Q eingeschriebenen Bits.
  • Das vorstehend beschriebene Ausführungsbeispiel kann ferner in der Weise abgewandelt werden, daß bei negativer Erfassung in Schritt S230P gemäß 4 (S230P: NEIN), der Verarbeitungsablauf softwaregsteuert zur Rücksetzstartadresse des Programms in Abhängigkeit von einem Vollendungsbefehl der Speicherneuschreibeeinrichtung 14 zum Starten des Ablaufs ausgehend von Schritt S100 gemäß 3 springt. Hierbei startet die elektronische Steuerungseinheit 2 automatisch ihren Betrieb ausgehend von den Anfangsbedingungen in Abhängigkeit von dem Vollständigkeitsbefehl der Speicherneuschreibeeinrichtung 14.
  • Obwohl im vorstehenden Ausführungsbeispiel die elektronische Steurungseinheit 2 vorgesehen ist zur Steuerung einer Fahrzeugmaschine ist es ersichtlich, daß die erfindungsgemäße elektronische Steuerungseinheit 2 auch bei anderen elektronischen Einrichtungen zur Steuerung von Mechanismen wie einer Bremse, eines Betriebes, oder einer Radaufhängung in gleicher Weise gemäß der vorstehend angegebenen technischen Lehre anwendbar ist.
  • Die elektronische Steuerungseinheit 2 umfaßt somit einen Flash-Speicher 22 als nichtflüchtigen Speicher, dessen Speicherinhalte Block für Block A bis Q gelöscht werden können, zum Speichern von Programmen und Daten. Ein Löschungsablauf gemäß Schritt S330 wird für jeden Speicherinhalt in jedem der mittels eines von einer externen Einrichtung 14 empfangenen Löschungsbefehl identifizierten Blöcke durchgeführt, und ein neuer Schreibvorgang S190 wird durchgeführt zum Ersetzen des gelöschten Speicherinhalts mit einem neuen, von der externen Einrichtung 14 empfangenen Inhalt. Die Anzahl der Löschungsvorgänge CT wird lediglich dann gezählt, wenn der erste von einer Anzahl von Löschungsbefehlen für eine Vielzahl von Blöcken empfangen wird, solange die elektronische Steuerungseinheit 2 ausgehend von den Anfangsbedingungen in Betrieb gehalten wird.

Claims (6)

  1. Elektronische Steuerungseinheit (2) mit einem elektrisch löschbaren und neu beschreibbaren nichtflüchtigen ROM-Speicher (22), bei dem Speicherinhalte Block für Block (A bis Q) löschbar sind und Steuerungsprogramme und Steuerungsdaten für ein vorbestimmtes zu steuerndes Objekt (10) gespeichert werden, einer Verarbeitungseinrichtung (20) zum Steuern des Steuerungsobjekts in einem normalen Betrieb entsprechend dem im nichtflüchtigen Speicher (22) gespeicherten Steuerungsprogramm und Steuerungsdaten, und zum Durchführen eines Löschungsablaufs zum Löschen eines Speicherinhalts in jedem der mittels eines von einer externen Einrichtung (14) empfangenen Löschungsbefehls identifizierten Blöcke, wenn eine vorbestimmte Neuschreibebedingung erfüllt ist und zum Ersetzen des gelöschten Speicherinhalts mit einem neuen, von der externen Einrichtung (14) empfangenen Inhalt, und einer Zähleinrichtung (20) zum Zählen der Anzahl der Durchführung des Löschungsvorgangs als Anzahl des Neuschreibens des nichtflüchtigen Speichers (22) und Speichern der gezählten Anzahl in einem Speicherbereich (Q) des nicht flüchtigen Speichers (22), wobei die Zähleinrichtung (20) die Anzahl der Durchführung des Löschungsvorgangs lediglich einmal zählt, auch wenn der Löschungsvorgang wiederholt für eine Vielzahl von Blöcken während einer Zeitdauer durchgeführt wird, in welcher die Verarbeitungseinrichtung (20) ausgehend von ihren Anfangsbedingungen in Betrieb gehalten wird.
  2. Elektronische Steuerungseinheit (2) nach Anspruch 1, wobei die Zähleinrichtung (20) betrieben wird zum Zählen der Anzahl lediglich dann, wenn die Verarbeitungseinrichtung den Löschungsvorgang seit den Anfangsbedingungen zum erstenmal durchführt.
  3. Elektronische Steuerungseinheit (2) nach Anspruch 2, wobei die Zähleinrichtung (20) betrieben wird zum Zählen der Anzahl lediglich dann, wenn die Verarbeitungseinrichtung den Löschungsbefehl zum erstenmal seit den Anfangsbedingungen empfängt.
  4. Elektronische Steuerungseinheit (2) nach einem der vorgehenden Ansprüche 1 bis 3, ferner mit: einer Berichtseinrichtung (20) zu überprüfen, ob die gezählte Anzahl einen vorbestimmten Bezugswert (Cr) erreicht und zum externen Berichten, wenn die gezählte Anzahl den vorbestimmten Bezugswert (Cr) erreicht hat.
  5. Verfahren zum Zählen der Anzahl des Neuschreibens eines elektrisch löschbaren und neu beschreibbaren nichtflüchtigen ROM-Speichers (22), dessen Speicherinhalte Block für Block (A bis Q) mittels eines Löschvorgangs einer Verarbeitungseinrichtung gelöscht werden können, zum Löschen eines Speicherinhalts in jedem der mittels eines von einer externen Einrichtung (14) empfangenen Löschungsbefehls identifizierten Blöcke, wenn eine vorbestimmte Neuschreibebedingung erfüllt ist, und zum Ersetzen des gelöschten Speicherinhalts mit einem neuen, von der externen Einrichtung empfangenen Inhalt, mit dem Verfahrensschritt: Zählen (S320) der Anzahl der Durchführungen des Löschvorgangs als Anzahl des Neuschreibens des nichtflüchtigen Speichers und begrenzen der Anzahl auf eins während einer Zeitdauer, in der die Verarbeitungseinrichtung ausgehend von ihren Anfangsbedingungen in Betrieb gehalten wird, auch wenn der Löschungsvorgang für eine Vielzahl von Blöcken des nichtflüchtigen Speichers wiederholt durchgeführt wird.
  6. Verfahren nach Anspruch 5, ferner mit dem Verfahrensschritt: Vergleichen (S170) der gezählten Anzahl (CT) mit einem Bezugswert (Cr) zum Ermöglichen eines Neuschreibens des nichtflüchtigen Speichers lediglich dann, wenn die gezählte Anzahl kleiner als der Bezugswert ist.
DE19934191A 1998-07-22 1999-07-21 Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers Expired - Fee Related DE19934191B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPP10-206461 1998-07-22
JP20646198A JP3870563B2 (ja) 1998-07-22 1998-07-22 電子制御装置及び不揮発性メモリの書き換え回数計数方法

Publications (2)

Publication Number Publication Date
DE19934191A1 DE19934191A1 (de) 2000-01-27
DE19934191B4 true DE19934191B4 (de) 2009-08-06

Family

ID=16523772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934191A Expired - Fee Related DE19934191B4 (de) 1998-07-22 1999-07-21 Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers

Country Status (3)

Country Link
US (1) US6044014A (de)
JP (1) JP3870563B2 (de)
DE (1) DE19934191B4 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4248624B2 (ja) * 1998-07-03 2009-04-02 株式会社デンソー 内燃機関用電子制御装置。
JP2001126124A (ja) * 1999-10-28 2001-05-11 Sanden Corp 自動販売機の制御システム
DE19963208B4 (de) * 1999-12-28 2018-07-05 Robert Bosch Gmbh Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts
JP3835969B2 (ja) * 2000-04-13 2006-10-18 本田技研工業株式会社 車両制御装置のための書き換えシステム
JP3828335B2 (ja) * 2000-04-13 2006-10-04 本田技研工業株式会社 車両制御装置のための書き換えシステム
US6321142B1 (en) 2000-05-16 2001-11-20 Cummins Engine Company, Inc. System for programming a vehicle control computer with selectable features and/or trim values
DE10200242B4 (de) * 2002-01-05 2006-01-05 Robert Bosch Gmbh Verfahren zur Funktionsüberwachung eines Steuergeräts
JP3833970B2 (ja) * 2002-06-07 2006-10-18 株式会社東芝 不揮発性半導体メモリ
JP3875153B2 (ja) * 2002-07-04 2007-01-31 Necエレクトロニクス株式会社 不揮発性半導体記憶装置およびその書き換え禁止制御方法
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
JP4124692B2 (ja) * 2003-04-25 2008-07-23 シャープ株式会社 不揮発性半導体記憶装置
JP4702356B2 (ja) * 2007-12-10 2011-06-15 株式会社デンソー 再書き込み装置及びプログラム
US9422874B2 (en) * 2012-12-05 2016-08-23 Electromotive, Inc. Simplified method to inject ethanol or other solution additives into diesel engines equipped with a digital data bus
JP6444917B2 (ja) * 2016-03-08 2018-12-26 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
JP7128763B2 (ja) * 2019-03-18 2022-08-31 日立Astemo株式会社 電子制御装置及び制御データの設定方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4220877A1 (de) * 1992-06-25 1994-01-13 Siemens Ag Verfahren für nichtflüchtige, lösch- und programmierbare Speichereinrichtungen
EP0762249A1 (de) * 1995-07-31 1997-03-12 Nippondenso Co., Ltd. Steuerung für eine Maschine mit steuerbarem Überschreiben der Steuerungsprogramme oder -daten nach dem Halt der Maschine

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US5920501A (en) * 1997-12-12 1999-07-06 Micron Technology, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
JP3544859B2 (ja) * 1998-05-11 2004-07-21 富士通株式会社 不揮発性半導体メモリを使用した2次記憶装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4220877A1 (de) * 1992-06-25 1994-01-13 Siemens Ag Verfahren für nichtflüchtige, lösch- und programmierbare Speichereinrichtungen
EP0762249A1 (de) * 1995-07-31 1997-03-12 Nippondenso Co., Ltd. Steuerung für eine Maschine mit steuerbarem Überschreiben der Steuerungsprogramme oder -daten nach dem Halt der Maschine

Also Published As

Publication number Publication date
DE19934191A1 (de) 2000-01-27
US6044014A (en) 2000-03-28
JP2000038954A (ja) 2000-02-08
JP3870563B2 (ja) 2007-01-17

Similar Documents

Publication Publication Date Title
DE19934191B4 (de) Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
DE60119412T2 (de) Speicherüberschreibungssystem für eine Fahrzeugsteuereinrichtung
DE19964013B4 (de) Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE19929795B4 (de) Vorrichtung und Verfahren zur Steuerung eines erneuten Schreibens von Daten in einen nichtflüchtigen Speicher
DE19935154A1 (de) Elektronische Steuerungseinheit und Verfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
DE19911794B4 (de) Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
DE102005058950A1 (de) Programmwiederbeschreibsystem, Bootlader, Speichermedium und Elektronische Steuereinheit
DE60112498T2 (de) System zum Überbeschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit
EP2176839A1 (de) Verfahren zum betreiben eines tachographen und tachograph
DE19963475B4 (de) Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug sowie zur Bereitstellung von Daten diesbezüglich
EP0664387B1 (de) Verfahren zum Ändern der Arbeitsweise eines Steuergeräts von Kraftfahrzeugen
EP1187011A2 (de) Verfahren zur Programmierung eines Steuergerätes
DE19900652B4 (de) Kraftfahrzeug-Steuereinrichtung
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
WO2009074499A1 (de) Verfahren zum betreiben eines steuergerätes und steuergerät
DE102023104008B3 (de) Verfahren zum Austausch von Daten zwischen einem flüchtigen Speichermedium und einem nicht-flüchtigen Speichermedium, Datenverarbeitungsvorrichtung, Computerprogramm, computerlesbares Speichermedium und Kraftfahrzeug
DE102004008736A1 (de) Verarbeitungssystem
DE102006013759B4 (de) Verfahren und Recheneinheit zum Betreiben einer Speichereinrichtung
DE102004001285B4 (de) Umprogrammierbare nichtflüchtige Halbleiter-Speichereinrichtung
DE102006013757A1 (de) Verfahren und Recheneinheit zum Betreiben einer Speichereinrichtung
EP2017736B1 (de) Verfahren und Steuergerät zum Betreiben eines nichtflüchtigen Speichers, insbesondere zum Einsatz in Kraftfahrzeugen
DE102015204172A1 (de) Programmverwaltungsvorrichtung, fahrzeugsteuervorrichtung und programmverwaltungsprogramm
EP2000914B1 (de) Verfahren und Vorrichtung zum Umorganisieren von Daten in einem Speichersystem, insbesondere für Steuergeräte in Kraftfahrzeugen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee