DE19916120A1 - Ein-Chip-Mikrocomputer, der ECC-Daten intern erzeugen kann - Google Patents

Ein-Chip-Mikrocomputer, der ECC-Daten intern erzeugen kann

Info

Publication number
DE19916120A1
DE19916120A1 DE19916120A DE19916120A DE19916120A1 DE 19916120 A1 DE19916120 A1 DE 19916120A1 DE 19916120 A DE19916120 A DE 19916120A DE 19916120 A DE19916120 A DE 19916120A DE 19916120 A1 DE19916120 A1 DE 19916120A1
Authority
DE
Germany
Prior art keywords
data
user data
ecc
eeprom
ecc data
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.)
Ceased
Application number
DE19916120A
Other languages
English (en)
Inventor
Kiyoshi Fukushima
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.)
NEC Electronics Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of DE19916120A1 publication Critical patent/DE19916120A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microcomputers (AREA)
  • Detection And Correction Of Errors (AREA)
  • Read Only Memory (AREA)

Abstract

In einem Ein-Chip-Mikrocomputer, der in einem Automobil verwendet wird, werden Fehlerkorrekturcodedaten zu entsprechenden Anwenderdaten hinzugefügt, und dann werden die resultierenden Anwenderdaten in einen EEPROM (8) gespeichert, um einen 1-Bit-Fehler zu korrigieren, der in diesen Anwenderdaten enthalten ist. Der Ein-Chip-Mikrocomputer ist aufgebaut durch einen elektrisch löschbaren Speicher (8) zum temporären Speichern von von außen zugeführten Anwenderdaten und von ECC-(Fehlerkorrekturcode)-Daten entsprechend den Anwenderdaten dort hinein; einen Programmspeicherungsspeicher (5) zum vorherigen Speichern eines Programms dort hinein; und eine CPU (Zentralverarbeitungseinheit) (2) zum Lesen des Programms vom Programmspeicherungsspeicher (5), um die ECC-Daten basierend auf den von außen zugeführten Anwenderdaten zu erzeugen, und zum sequentiellen Korrigieren von Fehlern, die in den von außen zugeführten Anwenderdaten enthalten sind, unter Verwendung der erzeugten ECC-Daten entsprechend den von außen zugeführten Anwenderdaten.

Description

HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
Die vorliegende Erfindung betrifft allgemein einen Ein-Chip-Mikrocomputer, der ECC-Daten intern erzeugen kann, um die ECC-Daten zu Anwenderdaten hinzuzu­ fügen. Genauer gesagt betrifft die vorliegende Erfindung einen derartigen Ein-Chip- Mikrocomputer, der eine Arbeitsbelastung eines Anwenders reduzieren kann, und der auch eine Speicherkapazität reduzieren kann, ohne eine auf den ECC-Daten basierende EEPROM-Schreibzeit zu erhöhen.
2. Beschreibung des zugehörigen Standes der Technik
EEPROMs (elektrisch löschbare programmierbare Nurlesespeicher) sind derartige Speicher, die Daten löschen und/oder schreiben können (einschließlich Flash- EEPROMs), und werden normalerweise in Ein-Chip-Mikrocomputern und ähnli­ chem verwendet, die Programme speichern können. Zum Erhöhen der Zuverläs­ sigkeit von Daten, die in EEPROMs gesichert sind, wird das folgende Fehlerkor­ rekturverfahren effektiv angewendet. Das bedeutet, daß, während ECC- (Fehlerkorrekturcode-)Daten zu Anwenderdaten hinzugefügt werden und dann die resultierenden Anwenderdaten, denen die ECC-Daten hinzugefügt sind, gespei­ chert werden, die Fehlerkorrektur unter Verwendung der ECC-Daten in bezug auf die gelesenen Anwenderdaten ausgeführt wird. Herkömmlicherweise wird eine sol­ che Operation zum Hinzufügen von ECC-Daten auf eine derartige Weise ausge­ führt, daß, während die ECC-Daten aus den Anwenderdaten unter Verwendung der dafür bestimmten Software erzeugt werden, die erzeugten ECC-Daten in Kom­ bination mit den Anwenderdaten in den EEPROM gespeichert werden.
Beispielsweise führt ein Ein-Chip-Mikrocomputer, der zum Steuern eines Motors eines Automobils verwendet wird, eine derartige wichtige Steuerung, wie beispiels­ weise eine Motorendrehzahl-Steuerung und eine Kraftstoffeinspritzungs- Steuerung, basierend auf einem Steuerprogramm aus. In dem Fall, daß ein Spei­ cherinhalt eines ROM (Nurlesespeichers) zum vorherigen Speichern dieses Steu­ erprogramms geändert wird, führt dieser Ein-Chip-Mikrocomputer eine anormale Verarbeitungsoperation aus, was in einem gefährlichen Zustand resultiert. Als Fol­ ge werden dann, wenn ein Anwender Anwenderdaten (ein Programm und ähnli­ ches) in den ROM speichert, die ECC-Daten zusätzlich in diesem ROM gespei­ chert. Wenn der Ein-Chip-Mikrocomputer die Anwenderdaten ausliest, kann dieser Ein-Chip-Mikrocomputer dann, wenn ein Ein-Bit-Fehler auftritt, diesen 1-Bit-Fehler korrigieren, und dieser Ein-Chip-Mikrocomputer kann dann, wenn ein Fehler von mehr als 2-Bits auftritt, auch "anormale" Zustände anzeigen.
Weiterhin sollte ein Automobilhersteller dann, wenn ein Fehler bzw. ein Programm­ fehler bzw. ein Hardwarefehler in bezug auf zuvor in einem ROM gespeicherten Anwenderdaten (ein Computerprogramm) gefunden wird, verkaufte Automobile zurückrufen, um die defekten Ein-Chip-Mikrocomputer durch richtig eingestellte Ein-Chip-Mikrocomputer zu ersetzen. In diesem Fehlerfall ist es erforderlich, daß dieser Automobilhersteller eine Motorsteuerungsanordnung ersetzt bzw. aus­ tauscht, die einen defekten Ein-Chip-Mikrocomputer enthält, wenn ein ROM durch einen wiederbeschreibbaren ROM aufgebaut ist, wie beispielsweise einen Masken- ROM. In diesem Fall eines wiederbeschreibbaren ROM fallen notwendigerweise nicht nur die Kosten für diese Motorsteuerungsanordnung an, sondern auch die Austauschkosten. Als Ergebnis sollte dieser Automobilhersteller einen großen Verlustbetrag akzeptieren. Unter einem solchen Umstand ist es dann, wenn ein ROM eines Ein-Chip-Mikrocomputers durch einen EEPROM aufgebaut ist, für den Automobilhersteller lediglich erforderlich, ein in diesem EEPROM gesichertes Pro­ gramm über eine Verbindungsstelle dieses Ein-Chip-Mikrocomputers neu zu schreiben, so daß ein Gesamtaufwand zum Lösen des Fehlerproblems reduziert werden kann.
Fig. 20 ist ein erklärendes Diagramm zum Erklären eines in einem EEPROM aus­ geführten herkömmlichen ECC-Daten-Erzeugungs/Hinzufügungsverfahrens. Nun wird dieses herkömmliche ECC-Daten-Erzeugungs/Hinzufügungsverfahren unter Bezugnahme auf Fig. 20 erklärt.
Zuerst bildet ein Anwender ein vorbestimmtes Programm aus (Schritt 101 der Fig. 20(a)), um ECC-Daten zu erzeugen. Es wird nun angenommen, daß als Anwen­ derdaten 102 Daten eingegeben werden, die von 00000H bis zu 0FFFFH definiert sind. Der Anwender erzeugt die ECC-Daten basierend auf den Anwenderdaten durch Verwenden einer exklusiv angewendeten Software gemäß dem ausgebilde­ ten Programm (Schritt 103 in Fig. 20(a)). Als Ergebnis werden von 10000H bis zu 14FFFH definierte Daten als die ECC-Daten 104 erzeugt. Als nächstes werden die ECC-Daten 104 zu den Anwenderdaten 102 hinzugefügt, um von 00000H bis zu 14FFFH definierte Daten als Schreibdaten 105 zu erzeugen, und dann werden die­ se erzeugten Schreibdaten in einen EEPROM geschrieben, der in einem Mikro­ computer (nicht gezeigt) eingebaut ist (Schritt 106 in Fig. 20(a)). In diesem Fall werden die Schreibdaten 105 mittels eines exklusiv angewendeten Datenschrei­ bers oder auf eine On-Board-Schreibweise geschrieben.
Fig. 20(b) stellt eine Adressenabbildung auf den EEPROM dar. Bei dieser Adres­ senabbildung sind Adressen von 00000H bis 0FFFFH als die Anwenderdaten zu­ geteilt, und es sind auch Adressen von 10000H bis 14FFFH als die ECC-Daten zugeteilt. In dem Fall von 16-Bit-Daten ist ein Umfang von 5 Bits für ECC-Daten nötig. Als Ergebnis ist ein Datenbereich erforderlich, wie er in Fig. 20(b) gezeigt ist.
Jedoch gibt es bei dem oben beschriebenen herkömmlichen ECC-Daten- Erzeugungs/Hinzufügungsverfahren deshalb, weil die ECC-Daten erzeugt werden und die Anwenderdaten getrennt davon verarbeitet werden, ein derartiges Pro­ blem, daß die exklusiv angewendete Software erforderlich ist, die die ECC-Daten basierend auf den Anwenderdaten erzeugen kann.
Ebenso werden deshalb, weil die ECC-Daten bei den Adressen hinter den Anwen­ derdaten abgebildet werden, die von 10000H bis zu 14FFFH definierten Daten zu­ sätzlich zu den von 00000H bis zu 0FFFFH definierten Anwenderdaten als die ECC-Daten geschrieben. Als Ergebnis gibt es ein weiteres Problem, daß die Da­ tenschreibzeit um etwa 30 Prozent erhöht werden würde.
Weiterhin gibt es deshalb, weil die gesamte Datenmenge von Schreibdaten auf­ grund der Verwendung dieser ECC-Daten um annähernd 30 Prozent erhöht wird, ein weiteres Problem, daß die gesamte Speicherkapazität des externen Speichers des gesamten Systems um nahezu 30 Prozent erhöht werden muß.
Andererseits ist herkömmlicherweise eine derartige herkömmliche technische Idee vorgeschlagen worden, daß die durch Verwenden der Logikschaltungen aufge­ baute ECC-Daten-Erzeugungsschaltung im Ein-Chip-Mikrocomputer eingebaut wird. In allerjüngster Zeit sind Bitbreiten von Datenbussen, die in Ein-Chip verwendet werden, immer größer geworden. Das bedeutet, daß, obwohl die her­ kömmlichen Datenbusse Bitbreiten von 8 Bits besitzen, die aktuellen Datenbusse eine Bitbreite von 32 Bits oder 64 Bits besitzen. Unter einem solchen Zustand ei­ nes Trends zur breiten Bitbreite würde dann, wenn eine ECC-Daten- Erzeugungsschaltung durch Logikschaltungen aufgebaut wird, ein gesamtes Schaltungsausmaß in Verbindung mit einem Erhöhen einer solchen Bitbreite eines Datenbusses auf eine exponentielle Weise erhöht werden. Daher würde ein Be­ reich, der durch diese ECC-Daten-Erzeugungsschaltung in bezug auf einen Halb­ leiterchip besetzt wird, notwendigerweise größer werden.
In dem Fall, daß ein EEPROM verwendet wird, um dort hinein ein in einem Ein- Chip-Mikrocomputer angewendetes Programm zu speichern, wird eine ECC-Daten- Erzeugungsschaltung nur dann angewendet, wenn dieses Computerprogramm gespeichert ist, aber nicht angewendet, wenn dieses Computerprogramm ausge­ führt wird. Nichts desto weniger würde eine derartige technische Idee, daß die ECC-Daten-Erzeugungsschaltung mit dem großen Schaltungsausmaß in dem Ein- Chip-Mikroprozessor eingebaut wird, dazu führen, daß die kosteneffektive Lei­ stungscharakteristik dieses Ein-Chip-Mikrocomputers verschlechtert wird.
ZUSAMMENFASSUNG DER ERFINDUNG
Angesichts der oben beschriebenen Probleme ist es eine Aufgabe der vorliegen­ den Erfindung, einen Ein-Chip-Mikrocomputer zu schaffen, der ECC-Daten intern erzeugen kann.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, einen Ein-Chip- Mikrocomputer zu schaffen, der eine Arbeitsbelastung reduzieren kann, die einem Anwender auferlegt wird, und der weiterhin eine nötige Kapazität eines Speichers reduzieren kann, ohne eine ECC-Daten-Schreibzeit eines EEPROM zu erhöhen.
Gemäß einem ersten Aspekt der vorliegenden Erfindung ist ein Mikrocomputer ge­ schaffen, der folgendes aufweist:
einen elektrisch löschbaren Speicher zum temporären Speichern von von au­ ßen zugeführten Anwenderdaten und ECC-(Fehlerkorrekturcode-)Daten entspre­ chend den Anwenderdaten dort hinein;
einen Programmspeicherungsspeicher zum vorherigen Speichern eines Pro­ gramms dort hinein; und
eine CPU (Zentralverarbeitungseinheit) zum Lesen des Programms aus dem Programmspeicherungsspeicher, um die ECC-Daten basierend auf den von außen zugeführten Anwenderdaten zu erzeugen, und zum sequentiellen Korrigieren von Fehlern, die in den von außen zugeführten Anwenderdaten enthalten sind, unter Verwendung der erzeugten ECC-Daten entsprechend den von außen zugeführten Anwenderdaten.
Beim vorangehenden ist es wünschenswert, daß dann, wenn die von außen zuge­ führten Anwenderdaten einen 1-Bit-Fehler enthalten, die CPU den 1-Bit-Fehler ba­ sierend auf den vom elektrisch löschbaren Speicher gelesenen erzeugten ECC- Daten korrigiert, wohingegen dann, wenn die von außen zugeführten Anwenderda­ ten Fehler von mehr als 2-Bits enthalten, die CPU einen anormalen Zustand an­ zeigt.
Weiterhin ist eine Betriebsart bevorzugt, bei welcher der elektrisch löschbare Spei­ cher ein Flash-Speicher ist.
Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Ein-Chip- Mikrocomputer geschaffen, der folgendes aufweist:
einen EEPROM (einen elektrisch löschbaren Nurlesespeicher) zum temporären Speichern von von außen zugeführten Anwenderdaten in seinen Anwenderdaten- Speicherungsbereich und ebenso zum temporären Speichern von ECC- (Fehlerkorrekturcode-)Daten entsprechend den Anwenderdaten in seinen ECC- Daten-Speicherungsbereich;
einen Nurlesespeicher zum vorherigen Speichern eines Programms dort hin­ ein; und
eine CPU (Zentralverarbeitungseinheit) zum Lesen des Programms aus dem Nurlesespeicher, um die ECC-Daten basierend auf den von außen zugeführten Anwenderdaten zu erzeugen, und zum sequentiellen Korrigieren von in den von außen zugeführten Anwenderdaten enthaltenen Fehlern unter Verwendung der erzeugten ECC-Daten.
Bei dem zweiten Aspekt ist es vorzuziehen, daß, während eine zuvor ausgewählte Menge der Anwenderdaten sequentiell von einer externen Datenquelle eingegeben wird, die CPU die ECC-Daten aus der vorausgewählten Menge von Anwenderda­ ten sequentiell erzeugt; sowohl die Anwenderdaten als auch die ECC-Daten ent­ sprechen den Anwenderdaten jeweils in dem Anwenderdaten-Speicherungsbereich des EEPROM und auch seinem ECC-Daten-Speicherungsbereich bei denselben Adressen des EEPROM schreibt; und sowohl die Anwenderdaten als auch die ECC-Daten aus den Anwenderdaten/ECC-Daten-Speicherungsbereichen bei den­ selben Adressen liest, um die Fehlerkorrektur sequentiell durchzuführen.
Ebenso ist bevorzugt daß, während eine vorausgewählte Menge der Anwenderda­ ten von einer externen Datenquelle sequentiell eingegeben wird, die CPU die ECC- Daten aus der vorausgewählten Menge von Anwenderdaten sequentiell erzeugt, bis ein Verarbeitungszyklus beendet ist; die Anwenderdaten und die ECC-Daten, die erzeugt sind, nachdem ein Verarbeitungszyklus beendet worden ist, in den An­ wenderdaten-Speicherungsbereich des EEPROM und seinen ECC-Daten- Speicherungsbereich mit einer gegenüber der Adresse des Anwenderdaten- Speicherungsbereichs um 1 dekrementierten Adresse schreibt; und auch sowohl die Anwenderdaten als auch die ECC-Daten, die bei denselben Adressen des EEPROM gespeichert sind, liest, um die Fehlerkorrektur sequentiell durchzuführen.
Weiterhin ist es wünschenswert, daß, während eine vorausgewählte Menge der Anwenderdaten von einer externen Datenquelle sequentiell eingegeben wird, die CPU die ECC-Daten aus der vorausgewählten Menge von Anwenderdaten se­ quentiell erzeugt, bis ein Verarbeitungszyklus beendet ist; die Anwenderdaten und ECC-Daten, nachdem ein Verarbeitungszyklus beendet worden ist, in den Anwen­ derdaten-Speicherungsbereich des EEPROM und seinen ECC-Daten- Speicherungsbereich jeweils bei denselben Adressen schreibt; und auch die im Anwenderdaten-Speicherungsbereich des EEPROM gespeicherten Anwenderda­ ten und in seinem ECC-Daten-Speicherungsbereich mit einer gegenüber der Adresse des Anwenderdaten-Speicherungsbereichs um i inkrementierten Adresse gespeicherte ECC-Daten liest, um die Fehlerkorrektur sequentiell durchzuführen.
Weiterhin ist es wünschenswert, daß, während eine vorausgewählte Menge von Anwenderdaten von einer externen Datenquelle sequentiell eingegeben wird, die CPU die ECC-Daten aus der vorausgewählten Menge von Anwenderdaten se­ quentiell erzeugt; ungültige Daten in dem Fall ausgibt, daß die Erzeugung der ECC-Daten nicht erreicht wird, bis nächste Anwenderdaten eingegeben werden; sowohl die Anwenderdaten als auch diesen entsprechende gültige ECC-Daten je­ weils in dem Anwenderdaten-Speicherungsbereich des EEPROM und seinen ECC- Daten-Speicherungsbereich bei denselben Adressen schreibt; und auch die An­ wenderdaten und die ECC-Daten, die bei denselben Adressen der Anwenderda­ ten/ECC-Daten-Speicherungsbereiche des EEPROM gespeichert sind, liest, um die Fehlerkorrektur auszuführen.
Ebenso gibt es gemäß einem dritten Aspekt der vorliegenden Erfindung einen Ein- Chip-Mikrocomputer, der folgendes aufweist:
einen EEPROM (einen elektrisch löschbaren programmierbaren Nurlesespei­ cher) zum temporären Speichern von sowohl Anwenderdaten als auch ECC- (Fehlerkorrekturcode-)Daten entsprechend den Anwenderdaten dort hinein jeweils in einen Anwenderdaten-Speicherungsbereich und einen ECC-Daten-Speiche­ rungsbereich;
eine Speicherungseinrichtung zum vorherigen Speichern dort hinein eines Pro­ gramms, das zum Erzeugen von ECC-Daten basierend auf Anwenderdaten ver­ wendet wird;
eine Schreibsteuerungseinrichtung zum Steuern eines Schreibens von sowohl den Anwenderdaten als auch den ECC-Daten in den EEPROM; und
eine CPU (Zentralverarbeitungseinheit) zum Erzeugen von ECC-Daten aus den im EEPROM gespeicherten Anwenderdaten gemäß dem Programm und zum Speichern der erzeugten ECC-Daten und der ursprünglichen Anwenderdaten in den PCC-Daten-Speicherungsbereich des EEPROM und seinen Anwenderdaten- Speicherungsbereich unter Steuerung der Schreibsteuerungseinrichtung; und weiterhin zum Lesen der im Anwenderdaten-Speicherungsbereich gespeicherten Anwenderdaten und der im ECC-Daten-Speicherungsbereich gespeicherten ECC- Daten, um einen in den Anwenderdaten enthaltenen Fehler basierend auf sowohl den gelesenen Anwenderdaten als auch den gelesenen ECC-Daten zu korrigieren.
Bei dem dritten Aspekt ist eine Betriebsart bevorzugt, bei welcher:
die CPU ein internes Register enthält, in welches eine vorausgewählte Menge von Anwenderdaten von einer externen Datenquelle sequentiell gespeichert wird;
der EEPROM weiterhin ein Anwenderdatenregister enthält, zu welchem die vorausgewählte Menge von Anwenderdaten übertragen wird, und ein ECC- Datenregister; und
die CPU ECC-Daten aus einer vorbestimmten Menge von in ihrem internen Register gespeicherten Anwenderdaten erzeugt; die erzeugten ECC-Daten zum im EEPROM enthaltenen ECC-Datenregister überträgt; sowohl die Anwenderdaten des Anwenderdatenregisters als auch die ECC-Daten des ECC-Datenregisters in den Anwenderdaten-Speicherungsbereich des EEPROM und seinen ECC-Daten- Speicherungsbereich bei denselben Adressen schreibt; und auch sowohl die An­ wenderdaten als auch die ECC-Daten, die bei denselben Adressen des EEPROM gespeichert sind, liest, um die Fehlerkorrektur durchzuführen.
Weiterhin ist eine Betriebsart wünschenswert, bei welcher:
die Schreibsteuerungseinrichtung weiterhin ein Anwenderdaten-Stapelregister enthält, in welches eine vorausgewählte Menge von Anwenderdaten von einer ex­ ternen Datenquelle gespeichert wird, und ein ECC-Daten-Stapelregister;
die CPU weiterhin ein internes Register enthält, in welches eine vorausgewähl­ te Menge von Anwenderdaten von der externen Datenquelle gespeichert wird;
die CPU in einem ersten Verarbeitungszyklus bei einer ersten Adresse gespei­ cherte Anwenderdaten zu dem in der Schreibsteuerungseinrichtung enthaltenen Anwenderdatenregister überträgt und die zum Anwenderdatenregister übertragene Anwenderdatenspeicherung in den im EEPROM enthaltenen Anwenderdatenbe­ reich speichert;
die CPU in einem nächsten Verarbeitungszyklus und darauffolgenden Verar­ beitungszyklen ECC-Daten aus einer vorbestimmten Menge von im vorangehen­ den Verarbeitungszyklus gespeicherten Anwenderdaten erzeugt; die erzeugten ECC-Daten zum in der Schreibsteuerungseinrichtung enthaltenen ECC-Daten-Sta­ pelregister überträgt; die Anwenderdaten zum im EEPROM enthaltenen Anwen­ derdaten-Stapelregister überträgt und auch die ECC-Daten zum ECC- Datenregister; eine Schreibadresse in bezug auf den ECC-Daten- Speicherungsbereich des EEPROM um 1 dekrementiert; und sowohl die im An­ wenderdatenregister gespeicherten Anwenderdaten als auch die im ECC- Datenregister gespeicherten ECC-Daten jeweils in sowohl den Anwenderdaten- Speicherungsbereich als auch den ECC-Daten-Speicherungsbereich schreibt; und auch ihre oben definierten Verarbeitungsoperationen wiederholt ausführt;
die CPU in einem letzten Verarbeitungszyklus ECC-Daten aus einer vorbe­ stimmten Menge von im vorangehenden Verarbeitungszyklus gespeicherten An­ wenderdaten erzeugt; die erzeugten ECC-Daten zum in der Schreibsteuerungsein­ richtung enthaltenen ECC-Daten-Stapelregister überträgt; die erzeugten ECC- Daten zum im EEPROM enthaltenen ECC-Datenregister überträgt; eine Schreiba­ dresse in bezug auf den ECC-Daten-Speicherungsbereich des EEPROM um 1 de­ krementiert; und die im ECC-Daten-Speicherungsbereich des EEPROM gespei­ cherten ECC-Daten schreibt;
die CPU sowohl die Anwenderdaten als auch die ECC-Daten, die bei densel­ ben Adressen des EEPROM gespeichert sind, liest, um die Fehlerkorrekturen se­ quentiell auszuführen.
Weiterhin ist bevorzugt, daß
die Schreibsteuerungseinrichtung weiterhin ein An­ wenderdaten-Stapelregister enthält, in welches eine vorausgewählte Menge von Anwenderdaten von einer externen Datenquelle gespeichert wird, und ein ECC- Daten-Stapelregister;
die CPU weiterhin ein internes Register enthält, in welches eine vorausgewähl­ te Menge von Anwenderdaten von der externen Datenquelle gespeichert wird;
die CPU in einem ersten Verarbeitungszyklus bei einer ersten Adresse gespei­ cherte Anwenderdaten zum in der Schreibsteuerungseinrichtung enthaltenen An­ wenderdatenregister überträgt und die zum Anwenderdatenregister übertragenen Anwenderdaten in den im EEPROM enthaltenen Anwenderdaten- Speicherungsbereich speichert;
die CPU in einem nächsten Verarbeitungszyklus und in darauffolgenden Ver­ arbeitungszyklen ECC-Daten aus einer vorbestimmten Menge von im vorangehen­ den Verarbeitungszyklus gespeicherten Anwenderdaten erzeugt; die erzeugten ECC-Daten zum in der Schreibsteuerungseinrichtung enthaltenen ECC-Daten- Stapelregister überträgt; die Anwenderdaten zum im EEPROM enthaltenen An­ wenderdaten-Stapelregister überträgt und auch die ECC-Daten zum ECC- Datenregister; und sowohl die im Anwenderdatenregister gespeicherten Anwen­ derdaten als auch die im ECC-Datenregister gespeicherten ECC-Daten jeweils in sowohl den Anwenderdaten-Speicherungsbereich als auch den ECC-Daten- Speicherungsbereich des EEPROM schreibt; und auch ihre oben definierten Ver­ arbeitungsoperationen wiederholt ausführt;
die CPU in einem letzten Verarbeitungszyklus ECC-Daten aus einer vorbe­ stimmten Menge von im vorangehenden Verarbeitungszyklus gespeicherten An­ wenderdaten erzeugt; die erzeugten ECC-Daten zum in der Schreibsteuerungsein­ richtung enthaltenen ECC-Daten-Stapelregister überträgt; die erzeugten ECC- Daten zum im EEPROM enthaltenen ECC-Datenregister überträgt; und die im ECC-Datenbereich des EEPROM gespeicherten ECC-Daten schreibt; und auch sowohl Anwenderdaten des EEPROM als auch bei einer gegenüber einer Adresse der gelesenen Anwenderdaten um i inkrementierten Adresse gespeicherte ECC- Daten liest, um die Fehlerkorrektur sequentiell auszuführen.
Bei dem oben beschriebenen Ein-Chip-Mikrocomputer werden die Anwenderdaten von außen eingegeben, erzeugt die CPU sequentiell die ECC-Daten aus einer vor­ ausgewählten Menge von eingegebenen Anwenderdaten gemäß dem internen Programm, und darauffolgend werden sowohl die Anwenderdaten als auch die die­ sen entsprechenden erzeugten ECC-Daten in den Anwenderdaten-Spei­ cherungsbereich und den ECC-Daten-Speicherungsbereich des EEPROM gespei­ chert. Als Folge kann die dem Anwender auferlegte Arbeitsbelastung stark redu­ ziert werden, verglichen mit der Arbeitsbelastung eines Anwenders in einem derar­ tigen Fall, daß die ECC-Daten außerhalb des Ein-Chip-Mikrocomputers erzeugt werden. Weiterhin können deshalb, weil ein solcher externer Speicher zum tempo­ rären Speichern der erzeugten ECC-Daten dort hinein nicht mehr erforderlich ist, um die ECC-Daten zu erzeugen, die Kosten für das gesamte System verringert werden. Zusätzlich kann deshalb, weil sowohl die Anwenderdaten als auch die ECC-Daten gleichzeitig in den EEPROM geschrieben werden, die Datenschreibzeit in bezug auf den EEPROM reduziert werden, verglichen mit der Datenschreibzeit, die dann erforderlich ist, wenn die ECC-Daten vom externen Speicher in diesen EEPROM geschrieben werden.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Die obigen und weitere Aufgaben, Vorteile und Merkmale der vorliegenden Erfin­ dung werden aus der folgenden Beschreibung in Zusammenhang mit den beige­ fügten Zeichnungen klarer, wobei:
Fig. 1 ein Schaltungsblockdiagramm eines Ein-Chip-Mikrocomputers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung schematisch zeigt;
Fig. 2 ein Schaltungsblockdiagramm einer beim Ein-Chip-Mikrocomputer der Fig. 1 verwendeten EEPROM-Steuerschaltung schematisch dar­ stellt;
Fig. 3 ein Schaltungsblockdiagramm einer beim Ein-Chip-Mikrocomputer der Fig. 1 verwendeten Daten-Latch-Auswahl/Steuerschaltung sche­ matisch zeigt;
Fig. 4 ein Schaltungsblockdiagramm einer beim Ein-Chip-Mikrocomputer der Fig. 1 verwendeten Schreibsignal-Erzeugungsschaltung schema­ tisch zeigt;
Fig. 5 ein Operations-Zeitdiagramm der Schreibsignal-Erzeugungsschaltung darstellt;
Fig. 6 ein Ablaufdiagramm zum Beschreiben einer ersten Operations- Verarbeitungsfolge des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers ist;
Fig. 7 ein Ablaufdiagramm zum Beschreiben der ersten Operations- Verarbeitungsfolge des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers ist;
Fig. 8 ein Zeitdiagramm während einer Schreiboperation bei einem ersten Operationsbeispiel darstellt;
Fig. 9 ein Ablaufdiagramm zum Erklären einer zweiten Operations- Verarbeitungsfolge des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers ist;
Fig. 10 ein Ablaufdiagramm zum Erklären der zweiten Operations- Verarbeitungsfolge des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers ist;
Fig. 11 ein Zeitdiagramm darstellt, wenn eine ECC-Adresse während einer Schreiboperation verschoben wird;
Fig. 12 ein Schaltungsblockdiagramm einer EEPROM-Adressen- Erzeugungsschaltung schematisch zeigt, wenn die ECC-Adresse während einer Schreiboperation verschoben wird;
Fig. 13 ein Ablaufdiagramm zum Erklären einer dritten Operation des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers ist;
Fig. 14 ein Ablaufdiagramm zum Erklären der dritten Operation des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers ist;
Fig. 15 ein Zeitdiagramm darstellt, wenn eine ECC-Adresse während der Le­ seoperation verschoben wird;
Fig. 16 ein Schaltungsblockdiagramm einer EEPROM-Adressen- Erzeugungsschaltung schematisch zeigt, wenn die ECC-Adresse während einer Leseoperation verschoben wird;
Fig. 17 ein Ablaufdiagramm zum Erklären einer vierten Operation des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers ist;
Fig. 18 ein Ablaufdiagramm zum Erklären der vierten Operation des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers ist;
Fig. 19 ein Zeitdiagramm zeigt, wenn die vierte Operation während einer Schreiboperation ausgeführt wird; und
Fig. 20 ein erklärendes Diagramm zum Erklären des im EEPROM ausgeführ­ ten herkömmlichen ECC-Daten-Erzeugungs/Hinzufügungsverfahrens ist.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
Unter Bezugnahme auf die Zeichnungen werden verschiedene bevorzugte Ausfüh­ rungsbeispiele der vorliegenden Erfindung detaillierter beschrieben.
Vor einem Beschreiben eines Ein-Chip-Mikroprozessors gemäß einem Ausfüh­ rungsbeispiel der vorliegenden Erfindung werden Inhalte der Zeichnungen, die sich auf diesen Ein-Chip-Mikroprozessor beziehen, detailliert erklärt.
Fig. 1 zeigt schematisch ein Schaltungsblockdiagramm eines Ein-Chip- Mikrocomputers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Fig. 2 stellt ein Schaltungsblockdiagramm einer im Ein-Chip-Mikrocomputer der Fig. 1 verwendeten EEPROM-Steuerschaltung schematisch dar. Fig. 3 zeigt sche­ matisch ein Schaltungsblockdiagramm einer im Ein-Chip-Mikrocomputer der Fig. 1 verwendeten Daten-Latch-Auswahl/Steuerschaltung. Fig. 4 zeigt schematisch ein Schaltungsblockdiagramm einer im Ein-Chip-Mikrocomputer der Fig. 1 verwende­ ten Schreibsignal-Erzeugungsschaltung. Fig. 5 stellt ein Operations-Zeitdiagramm der Schreibsignal-Erzeugungsschaltung dar. Fig. 6 und Fig. 7 sind Ablaufdiagram­ me zum Beschreiben einer ersten Operations-Verarbeitungsfolge des in Fig. 1 ge­ zeigten Ein-Chip-Mikrocomputers. Fig. 8 stellt ein Zeitdiagramm während einer Schreiboperation bei einem ersten Operations- bzw. Betriebsbeispiel dar. Fig. 9 und Fig. 10 sind Ablaufdiagramme zum Erklären einer zweiten Operations- Verarbeitungsfolge des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers. Fig. 11 stellt ein Zeitdiagramm dar, wenn eine ECC-Adresse während einer Schreiboperation verschoben wird. Fig. 12 zeigt schematisch ein Schaltungsblockdiagramm einer EEPROM-Adressen-Erzeugungsschaltung, wenn die ECC-Adresse während einer Schreiboperation verschoben wird. Fig. 13 und Fig. 14 sind Ablaufdiagramme zum Erklären einer dritten Operation des in Fig. 1 gezeigten Ein-Chip-Mikrocomputers. Fig. 15 stellt ein Zeitdiagramm dar, wenn eine ECC-Adresse während einer Le­ seoperation verschoben wird. Fig. 16 zeigt schematisch ein Schaltungsblockdia­ gramm einer EEPROM-Adressen-Erzeugungsschaltung, wenn die ECC-Adresse während einer Leseoperation verschoben wird. Fig. 17 und Fig. 18 sind Ablaufdia­ gramme zum Erklären einer vierten Operation des in Fig. 1 gezeigten Ein-Chip- Mikrocomputers. Fig. 19 zeigt ein Zeitdiagramm, wenn die vierte Operation wäh­ rend einer Schreiboperation ausgeführt wird.
GESAMTAUFBAU EINES EIN-CHIP-MIKROCOMPUTERS
Wie es in Fig. 1 gezeigt ist, ist der Ein-Chip-Mikrocomputer dieses Ausführungsbei­ spiels der vorliegenden Erfindung hauptsächlich aufgebaut durch ein Ein­ gangs/Ausgangs-Port 1, eine CPU (Zentralverarbeitungseinheit) 2, einen Adres­ senbus 3, einen Datenbus 4, einen Firmware-ROM (Nurlesespeicher) 5, einen RAM (Direktzugriffsspeicher) 6, einen EEPROM (einen elektrisch löschbaren pro­ grammierbaren ROM) 8, eine EEPROM-Steuerschaltung 7, eine Fehlerkorrektur­ schaltung 9 und eine Datenauswahlschaltung 10.
Das Eingangs-Port 1 ist aufgebaut durch eine Vielzahl von Anschlußstellenports zum Eingeben/Ausgeben von Daten zwischen diesem Ein-Chip-Mikrocomputer und einer externen Vorrichtung. Die CPU 2 steuert eine Gesamtoperation des Ein-Chip- Mikrocomputers gemäß diesem Ausführungsbeispiel durch Steuern einer Interpre­ tation eines Befehls und einer Ausführung eines Befehls, der von einem Programm ausgegeben wird. Der Adressenbus 3 wird zum Übertragen eines Adressensignals zwischen verschiedenen Schaltungsteilen innerhalb dieses Ein-Chip-Mikro­ computers verwendet. Der Firmware-ROM 5 speichert dort hinein Firmware (nämlich ein Mikroprogramm), die zum Betreiben dieses Ein-Chip-Mikrocomputers erforderlich ist. Bei diesem Ausführungsbeispiel speichert dieser Firmware-ROM 5 dort hinein ein ECC-Daten-Erzeugungsprogramm. Der RAM 6 ist ein derartiger Di­ rektzugriffsspeicher, der hauptsächlich als Arbeitsbereich der CPU 2 verwendet wird.
Die EEPROM-Steuerschaltung 7 ist eine derartige Steuerschaltung zum Steuern von Lese/Schreib-Operationen des EEPROM 8. Diese EEPROM-Steuerschaltung 7 enthält einen Inhalt (der später diskutiert wird) und enthält ein Anwenderdaten- Stapelregister 71 und ein ECC-Daten-Stapelregister 72, um Daten zu stapeln. Der EEPROM 8 entspricht einem fixierenden Speicherungselement zum elektrischen Schreiben/Löschen von Informationen. Dieser EEPROM 8 enthält sowohl ein An­ wenderdatenregister 81 als auch ECC-Datenregister 82, um Daten dort hinein zu schreiben, und enthält weiterhin sowohl einen Anwenderdatenbereich 83 als auch einen ECC-Datenbereich 84, um Daten dort hinein zu speichern. Es sollte beachtet werden, daß dieser EEPROM 8 durch entweder den normalen EEPROM oder ei­ nen Flash-EEPROM realisiert werden kann.
Die Fehlerkorrekturschaltung 9 korrigiert einen Fehler, der in Daten enthalten ist, durch Erfassen dieses Datenfehlers basierend auf ECC-(Fehlerkorrekturcode)- Daten, die zu den Daten hinzugefügt sind. Die Datenauswahlschaltung 10 unter­ teilt 32-Bit-Daten, die von der Fehlerkorrekturschaltung 9 ausgegeben werden, in höherwertige 16-Bit-Daten und niederwertige 16-Bit-Daten und überträgt dann die­ se 16-Bit-Daten abwechselnd zum Datenbus 4.
INTERNER AUFBAU DER EEPROM-STEUERSCHALTUNG 7
Wie es in Fig. 2 gezeigt ist, ist die oben beschriebene EEPROM-Steuerschaltung 7 durch Verwenden eines Adressenbusses 11, eines Datenbusses 12, einer Daten- Latch-Auswahl/Steuerschaltung 13, eines Datenlatchs 14 für eine Adresse "n" ei­ nes Datenlatchs 15 für eine Adresse "n+2", eines Datenlatchs 16 für ECC-Daten, einer Schreibsignal-Erzeugungsschaltung 17 und einer EEPROM-Adressen- Erzeugungsschaltung 18 aufgebaut. In diesem Fall erfolgt die folgende Beschrei­ bung unter Verwendung einer Adresse "n" von von außen zugeführten Anwen­ derdaten als Referenz. Der Adressenbus 11 bildet einen Teil des oben erklärten Adressenbusses 3 und überträgt ein Adressensignal. Der Datenbus 12 bildet einen Teil des oben erklärten Datenbusses 4 und überträgt ein Datensignal. Die Daten- Latch-Auswahl/Steuerschaltung 13 erzeugt Steuersignale DL1, DL2, DL3 gemäß Informationen des Adressenbusses 11. Diese Steuersignale DL1, DL2 und DL3 werden zum selektiven Zwischenspeichern von Daten verwendet, die auf dem Da­ tenbus 12 erscheinen, durch den Daten-Latch 14 für die Adresse "n", den Daten- Latch 15 für die Adresse "n+2" und den Daten-Latch 16 für die ECC-Daten. Ein interner Aufbau dieser Daten-Latch-Auswahl/Steuerschaltung 13 wird später er­ klärt. Der Daten-Latch 14 für die Adresse "n" speichert 2-Byte-(16-Bits)-Daten von sowohl der Adresse "n" als auch der Adresse (n+1) auf dem Datenbus 12 zwi­ schen, wenn das Steuersignal DL1 aktiv wird, und speichert Daten zwischen, um dadurch in dem Fall die zwischengespeicherten Daten zum Speicher des EEPROM 8 auszugeben, daß ein Bit 1 einer Adresse gleich "0" ist.
Der Daten-Latch 15 für die Adresse "n+2" speichert 2-Byte-(16 Bit)-Daten von so­ wohl der Adresse (n+2) als auch der Adresse (n+3) auf dem Datenbus 12 zwi­ schen, wenn das Steuersignal DL2 aktiv wird, und speichert Daten zwischen, um dadurch in dem Fall die zwischengespeicherten Daten zum Speicher des EEPROM 8 auszugeben, daß ein Bit 1 einer Adresse gleich "1" ist. Der Daten-Latch 16 für den ECC speichert niederwertige 6-Bit-Daten zwischen, die auf dem Datenbus 12 erscheinen, wenn das Steuersignal DL3 aktiv wird, und speichert Daten zwischen, um dadurch die zwischengespeicherten Daten zur Speicherzelle des EEPROM 8 auszugeben, wenn die ECC-Adresse ausgegeben wird.
Die Schreibsignal-Erzeugungsschaltung 17 erzeugt sowohl ein Schreib-Setzsignal als auch ein Schreib-Rücksetzsignal basierend auf sowohl Informationen des Adressenbusses 11 als auch den Informationen des Datenbusses 12. Dieses Schreib-Setzsignal wird zum Steuern eines Beginns einer Schreiboperation in be­ zug auf den EEPROM 8 verwendet. Das Schreib-Rücksetzsignal wird zum Steuern einer Beendigung einer Schreiboperation in bezug auf diesen EEPROM 8 verwen­ det. Ein interner Aufbau dieser Schreibsignal-Erzeugungsschaltung 17 wird später diskutiert. Die EEPROM-Adressen-Erzeugungsschaltung 18 erzeugt eine Adresse in bezug auf den EEPROM 8 basierend auf Informationen des Adressenbusses 11. Diese EEPROM-Adressen-Erzeugungsschaltung 18 legt Bits 2 bis 15 des Adres­ senbusses 11 als Adressen 0 bis 13 eines Datenbereichs des EEPROM 8 über einen Adressendecodierer (nicht gezeigt) an einen Datenbereich (Anwender­ speicher) dieses EEPROM 8 an, und legt weiterhin Bits 2 bis 15 des Adressenbus­ ses 11 als Adressen 0 bis 13 eines ECC-Datenbereichs des EEPROM 8 über eine Dekrementierschaltung (nicht gezeigt) und einen weiteren Adressendecodierer (auch nicht gezeigt) an den ECC-Datenbereich dieses EEPROM 8 an. Der Grund, warum eine solche Adressenumwandlung ausgeführt wird, ist nachfolgend ange­ geben. Das bedeutet, daß das Adressensignal in einer Einheit von "Byte" (8 Bits) gegeben ist, wohingegen das am wenigsten signifikante Bit (LSB) von 2 Bits nicht als eine Adresse entsprechend den 32-Bit-Eingangs/Ausgangs-Daten des EEPROM 8 erforderlich ist. Es sollte auch beachtet werden, daß deshalb, weil Da­ ten eine Breite von 16 Bits haben, der Daten-Latch 14 für die Adresse "n" sowohl die Daten der Adresse "n" als auch die Daten der Adresse (n+1) zwischenspei­ chert, und auch der Daten-Latch 15 für die Adresse (n+2) sowohl die Daten der Adresse (n+2) als auch die Daten der Adresse (n+3) in bezug auf die externe Adresse "n" zwischenspeichert.
INTERNER AUFBAU DER DATEN-LATCH-AUSWAHL/STEUERSCHALTUNG 13
Wie es in Fig. 3 gezeigt ist, ist die oben erklärte Daten-Latch- Auswahl/Steuerschaltung 13 durch Verwenden eines Adressenbusses 131, einer NOR-Gatterschaltung 132, eines Inverters 133 und einer weiteren NOR- Gatterschaltung 134 aufgebaut.
Der Adressenbus 131 bildet einen Teil des Adressenbusses 11 und überträgt ein Adressensignal. Die NOR-Gatterschaltung 132 gibt das Steuersignal DL1 in bezug auf den Daten-Latch 14 für die Adresse "n" aus, wenn sowohl das Bit 1 des Adres­ senbusses 131, das den Datenbereich des EEPROM 8 anzeigt, als auch das Bit 16 des Adressenbusses 131, das den ECC-Datenbereich anzeigt, inaktiv sind. So­ wohl der Inverter 133 als auch die NOR-Gatterschaltung 134 geben das Steuersi­ gnal DL2 in bezug auf den Daten-Latch 15 für die Adresse (n+2) aus, wenn das Bit 1 des Adressenbusses 131, das den Datenbereich des EEPROM 8 anzeigt, aktiv wird, und das Bit 16 des Adressenbusses 131, das den ECC-Datenbereich anzeigt, inaktiv wird. Andererseits geben dieser Inverter 133 und diese NOR- Gatterschaltung 134 dann, wenn das Bit 16 des Adressenbusses 131 aktiv wird, das Steuersignal DL3 in bezug auf den Daten-Latch 16 für den ECC aus.
INTERNER AUFBAU/BETRIEB DER SCHREIBSIGNALERZEUGUNGSSCHALTUNG 17
Wie es in Fig. 4 dargestellt ist, ist die Schreibsignal-Erzeugungsschaltung 17 derart aufgebaut, daß sie einen Adressenbus 171, einen Datenbus 172, einen Adressen­ decodierer 173, ein Flip-Flop (FF) 174, ein weiteres Flip-Flop 175, einen Inverter 176 und eine UND-Gatterschaltung 177 enthält.
Operationen bzw. ein Betrieb dieser Schreibsignal-Erzeugungsschaltung 17 sind bzw. ist durch ein Zeitdiagramm der Fig. 5 dargestellt. Der Adressenbus 171 bildet einen Teil des Adressenbusses 11 und überträgt ein Adressensignal. Der Daten­ bus 172 bildet einen Teil des Datenbusses 12 und überträgt ein Datensignal. Der Adressendecodierer 173 gibt ein Adressen-Koinzidenzsignal in einem derartigen Fall aus, daß eine Adresse auf dem Adressenbus 171, die von der CPU 2 ausge­ geben wird, mit einer spezifischen Adresse koinzident gemacht wird, die zuvor ein­ gestellt ist, und kann eine Erzeugung eines Schreibsignals zum EEPROM 8 befeh­ len. Wenn das Adressen-Koinzidenzsignal vom Adressendecodierer 173 ausgege­ ben wird, speichert sowohl das Flip-Flop 174 als auch das Flip-Flop 175 jeweils ein Datenbit 0 und ein Datenbit 1 des Datenbusses 172 zwischen. Als Ergebnis wird ein Schreib-Setzsignal von der UND-Gatterschaltung 177 unter einer derartigen Bedingung ausgegeben, daß ein Schreib-Rücksetzsignal nicht ausgegeben wird, wenn das Schreib-Rücksetzsignal in Antwort auf das Datenbit 1 ausgegeben wird und das Datenbit 0 ausgegeben wird. Im EEPROM 8 werden sowohl die Anwen­ derdaten als auch die ECC-Daten innerhalb einer Zeitperiode geschrieben, wäh­ rend ein Schreibimpuls aktiv ist, und zwar durch Veranlassen, daß der Schreibim­ puls durch das Schreib-Setzsignal ansteigt, und auch durch Veranlassen, daß der Schreibimpuls durch das Schreib-Rücksetzsignal abfällt.
ERSTE OPERATION IM EEPROM 8
Unter Bezugnahme auf Fig. 6, Fig. 7 und Fig. 8 wird eine erste Operation, die im EEPROM 8 ausgeführt wird, wie folgt erklärt: das bedeutet, daß die erste Operati­ on ein Verarbeitungsverfahren zeigt, das in einem derartigen Fall ausgeführt wird, daß deshalb, weil eine Schreiboperation des EEPROM 8 mit einer niedrigen Ge­ schwindigkeit durchgeführt wird, ECC-Daten innerhalb einer Breite eines Schrei­ bimpulses erzeugt werden können.
Es wird nun angenommen, daß sowohl eine erste Adresse von Anwenderdaten als auch eine letzte Adresse dieser Anwenderdaten zuvor in einer externen Datei (nicht detailliert gezeigt) zum Speichern der Anwenderdaten darin bestimmt sind. Nachdem 4-Byte-Daten durch wiederholtes Ausführen einer derartigen Verarbei­ tungsoperation gespeichert worden sind (Schritt 3), daß die Anwenderdaten ab der ersten Adresse der externen Datei in den Eingangs/Ausgangs-Port 1 eingegeben werden (Schritt S1) und dann über den Datenbus 4 in die interne Registergruppe 21 der CPU 2 gespeichert werden, werden diese Anwenderdaten von der internen Registergruppe 21 über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorgesehenen Anwenderdaten-Stapelregister 71 übertragen (Schritt S4). Weiterhin werden diese Anwenderdaten zum innerhalb des EEPROM 8 vorgesehenen An­ wenderdatenregister 81 übertragen (Schritt S5).
Andererseits liest die CPU 2 das im Firmware-ROM 5 gespeicherte ECC- Erzeugungsprogramm aus, um dieses gelesene ECC-Erzeugungsprogramm aus­ zuführen, so daß diese CPU 2 die ECC-Daten basierend auf den gespeicherten 4-Byte-Daten erzeugt (Schritt S6), und die ECC-Daten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorgesehenen ECC-Daten-Stapelregister 72 überträgt (Schritt S7). Weiterhin überträgt die CPU 2 diese ECC-Daten zum im EEPROM 8 vorgesehenen ECC-Datenregister 82 (Schritt S8).
Dann wird die unten angegebene Schreib-Verarbeitungsoperation wiederholt aus­ geführt, bis alle in den 4-Byte-Daten enthaltenen Daten vollständig geschrieben worden sind (Schritt S10). Bei dieser Schreib-Verarbeitungsoperation werden so­ wohl die Anwenderdaten des Anwenderdatenregisters 81 als auch die ECC-Daten des ECC-Datenregisters 82 in den Anwenderdatenbereich 83 des EEPROM 8 und seinen ECC-Datenbereich 84 durch Zuführen des Schreib-Setzsignals von der EEPROM-Steuerschaltung 7 zum EEPROM 8 geschrieben (Schritt S9). Wenn die Schreiboperation ausgeführt ist, wird das Schreib-Rücksetzsignal zum EEPROM 8 zugeführt (Schritt S11).
Wenn die Verarbeitungsoperation für die 4-Byte-Daten ausgeführt ist, wird die Adresse der Anwenderdaten um 4 inkrementiert (Schritt S13), und danach werden die bei den Schritten S5 und S8 definierten Verarbeitungsoperationen nochmals wiederholt. Wenn die letzte Adresse erscheint (Schritt S12), dann ist diese Verar­ beitungsoperation ausgeführt.
Die Schreibzeit der jeweiligen Daten, die in diesem Fall verarbeitet werden, ist in einem Zeitdiagramm der Fig. 8 dargestellt. Anders ausgedrückt werden diese Schreibdaten zuallererst deshalb, weil die 4-Byte-Daten vom Port 1 als Schreibda­ ten (Daten "0" bis Daten "3") eingegeben werden, kontinuierlich zum Datenbus 4 ausgegeben. Wenn diese Schreibdaten zum im EEPROM 8 vorgesehenen An­ wenderdatenregister 81 zu einer vorbestimmten Zeit übertragen werden, und wei­ terhin die Erzeugung der ECC-Daten aus den Daten "0" bis zu den Daten "3" in der CPU 2 ausgeführt ist, und dann diese ECC-Daten zum im EEPROM 8 vorgesehe­ nen ECC-Datenregister 82 übertragen werden, wird ein Schreibimpuls erzeugt und dann in den EEPROM 8 geschrieben.
Wenn in diesem EEPROM 8 gespeicherte Daten gelesen werden, können deshalb, weil sowohl die Anwenderdaten als auch die ECC-Daten bei derselben Adresse gelesen werden, sowohl der entsprechende Anwenderdatenteil als auch der ent­ sprechende ECC-Datenteil von diesem EEPROM 8 ausgelesen werden. Als Er­ gebnis kann die Fehlerkorrektur durch die Fehlerkorrekturschaltung 9 ausgeführt werden.
ZWEITE OPERATION IM EEPROM 8
Nachfolgend wird nun eine zweite Operation, die im EEPROM 8 ausgeführt wird, unter Bezugnahme auf Fig. 9, Fig. 10, Fig. 11 und Fig. 12 beschrieben. Das bedeu­ tet, daß diese zweite Operation ein Verarbeitungsverfahren zeigt, das in einem derartigen Fall ausgeführt wird, daß deshalb, weil eine Schreiboperation des EEPROM 8 mit einer hohen Geschwindigkeit durchgeführt wird, ECC-Daten nicht innerhalb einer Breite eines Schreibimpulses erzeugt werden können, und auch eine ECC-Adresse während einer Schreiboperation verschoben wird.
Es wird nun angenommen, daß sowohl eine erste Adresse von Anwenderdaten als auch eine letzte Adresse dieser Anwenderdaten in einer externen Datei (nicht de­ tailliert gezeigt) zum Speichern der Anwenderdaten darin im voraus bestimmt sind. Nachdem 4-Byte-Daten gespeichert worden sind (Schritt P4), und zwar durch wie­ derholtes Ausführen einer derartigen Verarbeitungsoperation, daß die Anwen­ derdaten von der ersten Adresse der externen Datei in den Eingangs/Ausgangs- Port 1 eingegeben werden (Schritt P1), und weiterhin die Anwenderdaten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorgesehenen Anwenderda­ ten-Stapelregister 71 übertragen werden (Schritt P2), und dann über den Datenbus 4 in die interne Registergruppe 21 der CPU 2 gespeichert werden (Schritt P3), werden diese Anwenderdaten vom in der EEPROM-Steuerschaltung 7 vorgesehe­ nen Anwenderdaten-Stapelregister 71 zum innerhalb des EEPROM 8 vorgesehe­ nen Anwenderdatenregister 81 übertragen (Schritt P6), wenn diese 4-Byte-Daten der ersten Adresse entsprechen (Schritt P5). In dem Fall, daß das Schreib- Setzsignal von der EEPROM-Steuerschaltung 7 zum EEPROM 8 ausgegeben wird (Schritt P7), um die Anwenderdaten in diesen EEPROM 8 zu schreiben, und dar­ auffolgend die Schreiboperation ausgeführt wird (Schritt P8), wird das Schreib- Rücksetzsignal von der EEPROM-Steuerschaltung 7 zum EEPROM 8 ausgegeben (Schritt P9). Als nächstes wird die Adresse um 4 inkrementiert (Schritt P10), und dann wird die Verarbeitungsoperation wieder zum Schritt P1 zurückgebracht. Die Verarbeitungsoperation wird, nachdem die 4-Byte-Daten von der externen Datei eingegeben sind, wiederholt ausgeführt. In dem Fall, daß dann, wenn die Speiche­ rungsoperation der oben erklärten 4-Byte-Daten beendet ist, die Adresse nicht mit der ersten Adresse übereinstimmt (Schritt PS) und auch nicht mit der letzten Adresse übereinstimmt (Schritt P11), führt die CPU 2 die unten angegebenen Ope­ rationen aus. Diese CPU 2 erzeugt ECC-Daten aus den 4-Byte-Daten, die im vor­ herigen Verarbeitungszyklus gespeichert worden sind (Schritt P12); überträgt die ECC-Daten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorge­ sehenen ECC-Daten-Stapelregister 72 (Schritt P13); und überträgt auch die An­ wenderdaten vom Anwenderdaten-Stapelregister 71 zum im EEPROM 8 vorgese­ henen Anwenderdatenregister 81. Weiterhin überträgt die CPU 2 die ECC-Daten vom ECC-Daten-Stapelregister 72 zum ECC-Datenregister 82 (Schritt P14); ver­ schiebt die Adresse des ECC-Datenbereichs des EEPROM 8 um "-1" (Schritt P15); gibt das Schreib-Setzsignal zum EEPROM 8 aus (Schritt P16); schreibt die An­ wenderdaten vom Anwenderdatenregister 81 zum Anwenderdatenbereich 83 des EEPROM 8; und schreibt auch die ECC-Daten vom ECC-Datenregister 82 in den ECC-Datenbereich 84. Wenn die Schreiboperation ausgeführt ist (Schritt P17), dann gibt diese CPU 2 das Schreib-Rücksetzsignal zum EEPROM 8 aus (Schritt P18). Die Verarbeitungsoperation wird zum vorherigen Schritt P10 zurückgebracht, bei welchem die CPU 2 die Adresse um +4 verschiebt (Schritt P10). Danach wird die Verarbeitungsoperation wieder zum Schritt P1 zurückgebracht, bei welchem durch Eingeben von 4-Byte-Daten von der externen Datei eine Folge der oben er­ klärten Verarbeitungsoperationen wiederholt ausgeführt wird.
Wenn beim Schritt P11 die übrige Adresse die letzte Adresse ist, erzeugt die CPU 2 ECC-Daten aus den gespeicherten 4-Byte-Daten (Schritt P19); überträgt sie die ECC-Daten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorge­ sehenen ECC-Daten-Stapelregister 72 (Schritt P20); und überträgt sie auch die ECC-Daten zum ECC-Datenregister 82 (Schritt P21); verschiebt sie die Adresse des ECC-Datenbereichs 84 des EEPROM 8 um "-1" (Schritt P22); gibt sie das Schreib-Setzsignal zum EEPROM 8 aus (Schritt P23); und schreibt sie auch die ECC-Daten. Wenn die Schreiboperation ausgeführt ist (Schritt P24), dann ist die Verarbeitungsoperation ausgeführt.
Fig. 11 stellt verschiedene Schreibzeiten der jeweiligen Daten in einem derartigen Fall dar, daß die ECC-Adresse während der Schreiboperation verschoben wird. Anders ausgedrückt werden die Anwenderdaten vom Port zum im EEPROM 8 vor­ gesehenen Anwenderdatenregister 81 in einer Einheit einer 4-Byte-Seite in der Adressenfolge von der Seitenadresse 0, 1, 2, ---, n, ---, letzte Adresse sequentiell übertragen. Die entsprechenden ECC-Daten, die basierend auf den Anwenderda­ ten erzeugt werden, wobei sie eine Verzögerung von einem Zyklus haben, werden aufeinanderfolgend um 1 Adresse verschoben, und dann werden die um eine Adresse verschobenen ECC-Daten zum ECC-Datenregister 82 des EEPROM 8 übertragen. In Antwort auf den Schreibimpuls werden diese um eine Adresse ver­ schobenen ECC-Daten in den Anwenderdatenbereich 83 des EEPROM 8 ge­ schrieben und auch in seinen ECC-Datenbereich 84.
In dem Fall, daß die im EEPROM 8 gespeicherten Daten ausgelesen werden, um die Fehlerkorrektur-Verarbeitungsoperation auszuführen, werden sowohl die An­ wenderdaten als auch die ECC-Daten aus derselben Adresse dieses EEPROM 8 ausgelesen, so daß sowohl der dieser entsprechende Anwenderdatenteil als auch der dieser entsprechende ECC-Datenteil gleichzeitig ausgelesen werden können.
INTERNER AUFBAU DER EEPROM-ADRESSEN-ERZEUGUNGSSCHALTUNG 18
Wie es in Fig. 12 dargestellt ist, ist die in der EEPROM-Steuerschaltung 7 verwen­ dete EEPROM-Adressen-Erzeugungsschaltung 18 in einem solchen Fall, daß eine ECC-Adresse während einer Schreiboperation verschoben wird, durch Verwenden eines Adressenbusses 181 und einer Dekrementierschaltung 182 aufgebaut.
Der Adressenbus 181 bildet einen Teil des Adressenbusses 11 und überträgt ein Adressensignal. Die Dekrementierschaltung 182 dekrementiert eine Adresse des Adressenbusses 181 um 1, um die dekrementierte Adresse auszugeben.
Da sowohl 32-Bit-Anwenderdaten als auch 6-Bit-ECC-Daten gleichzeitig in den EEPROM 8 geschrieben werden, werden Bits 2 bis 15 des Adressenbusses 181 an Adressen 0 bis 13 dieses EEPROM 8 als Schreibadressen für den Anwenderda­ tenbereich 83 des EEPROM 8 angelegt, wohingegen die Bits 2 bis 15 des Adres­ senbusses 181 mittels der Dekrementierschaltung 182 um 1 dekrementiert werden, und die dekrementierten Bits dann an die Adresse 0 bis 13 des EEPROM 8 als Schreibadressen für den ECC-Datenbereich 84 dieses EEPROM 8 angelegt wer­ den. Der Grund, warum eine solche Umwandlung ausgeführt wird, ist wie folgt ge­ geben: das bedeutet, daß das am wenigsten signifikante Bit (LSB) von 2 Bits nicht als die Adresse entsprechend den 32-Bit-Eingangs/Ausgangs-Daten des EEPROM 8 erforderlich sind, wohingegen das Adressensignal in der Einheit von 1 Byte (8 Bits) vorgesehen ist.
DRITTE OPERATION IM EEPROM 8
Nachfolgend wird nun eine dritte Operation, die im EEPROM 8 ausgeführt wird, unter Bezugnahme auf Fig. 13, Fig. 14, Fig. 15 und Fig. 16 beschrieben. Das be­ deutet, daß diese dritte Operation ein Verarbeitungsverfahren zeigt, das in einem derartigen Fall ausgeführt wird, daß deshalb, weil eine Schreiboperation des EEPROM 8 mit einer hohen Geschwindigkeit durchgeführt wird, ECC-Daten nicht innerhalb einer Breite eines Schreibimpulses erzeugt werden können, und auch eine ECC-Adresse während einer Leseoperation verschoben wird.
Es wird nun angenommen, daß sowohl eine erste Adresse von Anwenderdaten als auch eine letzte Adresse dieser Anwenderdaten in einer externen Datei (nicht de­ tailliert gezeigt) zum Speichern der Anwenderdaten im voraus darin bestimmt sind. Nachdem 4-Byte-Daten gespeichert worden sind (Schritt R4), und zwar durch wie­ derholtes Ausführen einer solchen Verarbeitungsoperation, daß die Anwenderda­ ten ab der ersten Adresse der externen Datei in den Eingangs/Ausgangs-Port 1 eingegeben werden (Schritt R1), und die Anwenderdaten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 verwendeten Anwenderdaten- Stapelregister 71 übertragen werden, und weiterhin die eingegebenen Daten über den Datenbus 4 in die interne Registergruppe 21 der CPU 2 gespeichert werden (Schritt R4), werden diese Anwenderdaten vom Anwenderdaten-Stapelregister 71 zum innerhalb des EEPROM 8 vorgesehenen Anwenderdatenregister 81 übertra­ gen (Schritt R6), wenn diese 4-Bit-Daten der ersten Adresse entsprechen (Schritt R5). In dem Fall, daß das Schreib-Setzsignal von der EEPROM-Steuerschaltung 7 zum EEPROM 8 ausgegeben wird (Schritt R7), um die Anwenderdaten in diesen EEPROM 8 zu schreiben, und darauffolgend die Schreiboperation ausgeführt ist (Schritt R8), wird das Schreib-Rücksetzsignal von der EEPROM-Steuerschaltung 7 zum EEPROM 8 ausgegeben (Schritt R9). Als nächstes wird die Adresse um 4 in­ krementiert (Schritt R10) und dann wird die Verarbeitungsoperation wieder zum Schritt R1 zurückgebracht. Die Verarbeitungsoperation wird, nachdem die 4-Byte- Daten von der externen Datei eingegeben sind, wiederholt ausgeführt.
In dem Fall, daß dann, wenn die Speicherungsoperation der oben erklärten 4-Byte- Daten beendet ist, die Adresse nicht mit der ersten Adresse übereinstimmt (Schritt R5) und auch nicht mit der letzten Adresse übereinstimmt (Schritt R11), führt die CPU 2 die unten angegebenen Operationen aus. Diese CPU 2 erzeugt ECC-Daten aus den gespeicherten 4-Byte-Daten (Schritt R12); überträgt die ECC- Daten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorgesehenen ECC-Daten-Stapelregister 72 (Schritt R13); und überträgt auch die Anwenderdaten vom Anwenderdaten-Stapelregister 71 zum im EEPROM 8 vorgesehenen Anwen­ derdatenregister 81. Weiterhin überträgt die CPU 2 die ECC-Daten vom ECC- Daten-Stapelregister 72 zum ECC-Datenregister 82 (Schritt R14); gibt das Schreib- Setzsignal zum EEPROM 8 aus (Schritt R15); schreibt die Anwenderdaten vom Anwender-Datenregister 81 zum Anwenderdatenbereich 83 des EEPROM 8; und schreibt auch die ECC-Daten vom ECC-Datenregister 82 in den ECC-Datenbereich 84. Wenn die Schreiboperation ausgeführt ist (Schritt R16), dann gibt diese CPU 2 das Schreib-Rücksetzsignal zum EEPROM 8 aus (Schritt R17). Die Verarbeitungs­ operation wird zum vorherigen Schritt R10 zurückgebracht, bei welchem die CPU 2 die Adresse um +4 verschiebt (Schritt R10). Darauffolgend wird die Verarbeitungs­ operation wieder zum Schritt R1 zurückgebracht, bei welchem durch Eingeben von 4-Byte-Daten von der externen Datei eine Folge der oben erklärten Verarbeitungs­ operationen wiederholt ausgeführt wird.
Wenn beim Schritt R11 die übrige Adresse die letzte Adresse ist, erzeugt die CPU 2 ECC-Daten aus den gespeicherten 4-Byte-Daten (Schritt R18); überträgt sie die ECC-Daten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorge­ sehenen ECC-Daten-Stapelregister 72 (Schritt R19); und überträgt sie auch die ECC-Daten vom ECC-Daten-Stapelregister 72 zum ECC-Datenregister 82 inner­ halb des EEPROM 8 (Schritt R20); und gibt sie auch das Schreib-Setzsignal zum EEPROM 8 aus (Schritt R21), um die Schreiboperation dieser ECC-Daten auszu­ führen. Wenn diese ECC-Daten-Schreiboperation ausgeführt ist (Schritt R22), ist die Verarbeitungsoperation ausgeführt.
Fig. 15 stellt verschiedene Schreibzeiten der jeweiligen Daten in einem derartigen Fall dar, daß die ECC-Adresse während der Leseoperation verschoben wird. An­ ders ausgedrückt werden die Anwenderdaten vom Port 1 zum im EEPROM 8 vor­ gesehenen Anwenderdatenregister 81 in einer Einheit einer 4-Byte-Seite in der Adressenfolge von der Seitenadresse 0, 1, 2, ---, n, ---, letzte Adresse sequentiell übertragen. Die entsprechenden ECC-Daten, die basierend auf den Anwenderda­ ten erzeugt werden, wobei sie eine Verzögerung von einem Zyklus haben, werden aufeinanderfolgend zum ECC-Datenregister 82 des EEPROM 8 übertragen. In Antwort auf den Schreibimpuls werden diese um eine Adresse verschobenen ECC- Daten in den Anwenderdatenbereich 83 des EEPROM 8 geschrieben und auch in seinen ECC-Datenbereich 84, und zwar bei denselben Adressen davon. Als Folge werden in diesem Fall die ECC-Daten entsprechend den Anwenderdaten bei der Seitenadresse n in den ECC-Datenbereich 84 bei seiner Adresse (n+1) geschrie­ ben.
In dem Fall, daß die im EEPROM 8 gespeicherten Daten ausgelesen werden, um die Fehlerkorrektur-Verarbeitungsoperation auszuführen, werden sowohl die An­ wenderdaten bei der Adresse "n" des Anwenderdatenbereichs 83 als auch die ECC-Daten bei der Adresse (n+1) des Anwenderdatenbereichs 84, die im EEPROM 8 vorgesehen sind, ausgelesen. Als Ergebnis können sowohl der ent­ sprechende Datenteil als auch der entsprechende ECC-Datenteil gleichzeitig aus­ gelesen werden.
INTERNER AUFBAU DER EEPROM-ADRESSEN-ERZEUGUNGSSCHALTUNG 18A
Wie es in Fig. 16 dargestellt ist, ist die EEPROM-Adressen-Erzeugungsschaltung 18A, die in der EEPROM-Steuerschaltung 7 in einem derartigen Fall verwendet wird, daß eine ECC-Adresse während einer Leseoperation verschoben wird, durch Verwenden eines Adressenbusses 183 und einer Dekrementierschaltung 184 auf­ gebaut.
Der Adressenbus 183 bildet einen Teil des Adressenbusses 11 und überträgt ein Adressensignal. Die Dekrementierschaltung 184 dekrementiert eine Adresse des Adressenbusses 183 um 1, um die dekrementierte Adresse auszugeben.
Da sowohl 32-Bit-Anwenderdaten als auch 6-Bit-ECC-Daten gleichzeitig aus dem EEPROM 8 ausgelesen werden, werden Bits 2 bis 15 des Adressenbusses 183 an Adressen 0 bis 13 dieses EEPROM 8 als Leseadressen für den Anwenderdatenbe­ reich 83 des EEPROM 8 angelegt wohingegen die Bits 2 bis 15 des Adressenbus­ ses 183 mittels der Dekrementierschaltung 184 um 1 dekrementiert werden, und die dekrementierten Bits dann an die Adresse 0 bis 13 des EEPROM 8 als Lesea­ dressen für den ECC-Datenbereich 84 des EEPROM 8 angelegt werden. Der Grund, warum eine derartige Umwandlung ausgeführt wird, ist gegeben wie folgt: das bedeutet, daß das am wenigsten signifikante Bit (LSB) von 2 Bits nicht als Adresse entsprechend den 32-Bit-Eingangs/Ausgangs-Daten des EEPROM 8 er­ forderlich ist, wohingegen das Adressensignal in der Einheit von 1 Byte (8 Bits) vorgesehen ist.
VIERTE OPERATION IM EEPROM 8
Eine im EEPROM 8 durchgeführte vierte Operation wird unter Bezugnahme auf Fig. 17, Fig. 18 und Fig. 19 erklärt. Das bedeutet, daß diese vierte Operation ein Verarbeitungsverfahren anzeigt, das in einem derartigen Fall ausgeführt wird, daß deshalb, weil eine Schreiboperation des EEPROM 8 mit einer hohen Geschwindig­ keit ausgeführt wird, wenn ECC-Daten nicht innerhalb einer Breite eines Schrei­ bimpulses erzeugt werden können, eine Schreibadressen-Inkrementierfunktion auf der Seite des ECC-Datenbereichs dieses EEPROM 8 vorgesehen ist. Diese Schreibadressen-Inkrementierfunktion inkrementiert eine Schreibadresse durch Ausführen einer Verarbeitungsoperation der CPU 2 basierend auf einem in dem Firmware-ROM 5 gespeicherten Programm.
Eine erste Adresse von Anwenderdaten, die in einer externen Datei (nicht gezeigt) gespeichert sind, und auch eine letzte Adresse dieser Anwenderdaten werden im voraus bestimmt. Nachdem 4-Byte-Daten gespeichert worden sind (Schritt Q4), und zwar durch wiederholtes Durchführen einer solchen Verarbeitungsoperation, daß die Anwenderdaten ab der ersten Adresse zum Eingangs/Ausgangs-Port 1 eingegeben werden (Schritt Q1), die Anwenderdaten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorgesehenen Anwenderdaten-Stapelregister 71 übertragen werden (Schritt Q2), und weiterhin die vom Eingangs/Ausgangs-Port 1 übertragenen Anwenderdaten durch den Datenbus 4 in die interne Registergruppe 21 der CPU 2 gespeichert werden (Schritt Q3), werden die 4-Byte-Daten vom An­ wenderdaten-Stapelregister 71 zum in diesem EEPROM 8 vorgesehenen Anwen­ derdatenregister 81 übertragen (Schritt Q5).
Andererseits werden dann, wenn die ersten 4-Byte-Daten beim Schritt Q5 zum im EEPROM 8 vorgesehenen Anwenderdatenregister 81 übertragen werden, die 4- Byte-Daten in einem Speicherungsbereich des RAM 6 bei einer Adresse entspre­ chend dem Anwenderdaten-Stapelregister 71 über den Datenbus 4 von der inter­ nen Registergruppe 21 gespeichert (Schritt Q6). Dann werden die 4-Byte-Daten über den Datenbus 4 vom Speicherungsbereich des RAM 6 ausgelesen, der durch eine Anwenderdaten-Stapeladresse bestimmt ist (Schritt Q7). Demgemäß führt die CPU 2 wiederholt eine derartige Verarbeitungsoperation aus, daß diese CPU 2 ECC-Daten aus den 4-Byte-Daten erzeugt (Schritt Q8); sie die ECC-Daten über den Datenbus 4 zum in der EEPROM-Steuerschaltung 7 vorgesehen ECC-Daten- Stapelregister 72 bei der entsprechenden Adresse überträgt (Schritt Q9); und sie weiterhin diese ECC-Daten zum im EEPROM 8 vorgesehenen ECC-Datenregister 82 überträgt, so daß die Stapeladresse dekrementiert wird (Schritt Q11).
Dann führt die CPU 2 wiederholt die folgende Verarbeitungsoperation durch, wäh­ rend sie die Adresse um 4 inkrementiert (Schritt Q17). Das bedeutet, daß diese CPU bei dieser Verarbeitungsoperation sowohl eine Adresse des Anwenderdaten­ bereichs 82 des EEPROM 8 als auch eine Adresse des ECC-Datenbereichs 84 von der EEPROM-Steuerschaltung 7 ausgibt (Schritt Q12); und sie auch das Schreib-Setzsignal zum EEPROM 8 ausgibt (Schritt Q13), um eine Schreiboperati­ on auszuführen. Wenn die Schreiboperation ausgeführt ist (Schritt Q14), gibt diese CPU 2 das Schreib-Rücksetzsignal (Schritt Q15) aus, um die Schreiboperation zu beenden.
Wenn die Anwenderdaten die letzte Adresse werden (Schritt Q16), überträgt die CPU 2 die ECC-Daten vom ECC-Daten-Stapelregister 72 zum im EEPROM 8 vor­ gesehenen ECC-Datenregister 82. Wenn die ECC-Daten-Übertragungsoperation beendet ist (Schritt Q18), gibt die CPU 2 das Schreib-Setzsignal aus (Schritt Q19), um die Schreiboperation in bezug auf den ECC-Datenbereich 84 des EEPROM 8 auszuführen. Wenn die Schreiboperation beendet ist (Schritt Q20), gibt die CPU 2 das Schreib-Rücksetzsignal aus (Schritt Q21). Die oben erklärten Verarbeitungs­ operationen werden ausgeführt, bis die Anwenderdaten die letzte Adresse des ECC-Datenbereichs 84 werden (Schritt Q22), und danach ist die Verarbeitungs­ operation ausgeführt.
Fig. 19 stellt ein Schreib-Zeitdiagramm für die verschiedenen Daten dar, wenn die vierte Operation im EEPROM 8 ausgeführt wird. Wie es in diesem Schreib- Zeitdiagramm gezeigt ist, werden Anwenderdaten vom Eingangs/Ausgangs-Port 1 zum im EEPROM 8 vorgesehenen Anwenderdatenregister 81 in einer Einheit einer 4-Byte-Seite in dieser Reihenfolge von Seitenadressen 0, 1, 2, . . ., n, . . . eine letzte Seitenadresse übertragen, und ebenso werden ECC-Daten, die basierend auf die­ sen übertragenen Anwenderdaten erzeugt werden, sequentiell zum in diesem EEPROM 8 vorgesehenen ECC-Datenregister 82 übertragen. Während die An­ wenderdaten in Antwort auf den Schreibimpuls direkt in den Anwenderdatenbe­ reich 83 dieses EEPROM 8 geschrieben werden, werden die ECC-Daten auf eine andere Weise geschrieben. Das bedeutet, daß die zuerst erzeugten ECC-Daten für die ECC-Adresse "0" (nämlich Schreiboperation (1) und (2)) nicht geschrieben werden, weil diese ECC-Daten Vorgabewerte sind, die durch die Verzögerungen bei der ECC-Daten-Erzeugung verursacht werden. Die ECC-Daten, die den zuerst erzeugten ECC-Daten nachfolgen, werden in Antwort auf die Schreibimpulse in den ECC-Datenbereich 84 des EEPROM 8 definiert bei vorausgewählten Adressen geschrieben.
Bei dieser vierten Operation gibt diese CPU 2 dann, wenn die Erzeugung der ECC- Daten durch die CPU 2 nicht ausgeführt werden kann, bis die Adresse, die zum Schreiben der nächsten ECC-Daten verwendet wird, inkrementiert ist, den Vorga­ bewert aus. In diesem Fall führt die EEPROM-Steuerschaltung 7 kein Schreiben der ECC-Daten in den im EEPROM 8 vorgesehenen ECC-Datenbereich 84 aus. Als Vorgabewert werden beispielsweise alle Ziffern von "1" verwendet, bis die er­ sten ECC-Daten erzeugt werden, und darauffolgend werden die vorangehenden ECC-Daten direkt als der Vorgabewert ausgegeben.
Wenn die Daten vom EEPROM 8 ausgelesen werden, um die Fehlerkorrektur- Verarbeitungsoperation auszuführen, werden sowohl die Anwenderdaten als auch die ECC-Daten bei derselben Adresse dieses EEPROM 8 ausgelesen, so daß der entsprechende Anwenderdatenteil und der entsprechende ECC-Datenteil ausgele­ sen werden können.
Wie es zuvor beschrieben ist, wird gemäß dem Ein-Chip-Mikrocomputer der bevor­ zugten Ausführungsbeispiele dann, wenn die ECC-Daten erzeugt werden, die ECC-Daten-Erzeugungs-Verarbeitungsoperation nicht durch Verwendung der ex­ ternen Software durchgeführt, sondern sie wird durch Ausführen der Software aus­ geführt, die in diesem Ein-Chip-Mikrocomputer intern vorgesehen ist. Als Ergebnis ist es nicht mehr erforderlich, daß die ECC-Daten von der externen Datei in den Ein-Chip-Mikrocomputer geschrieben werden, und eine Gesamtmenge von von außerhalb geschriebenen Daten wird reduziert. Folglich können die Fehler, die auftreten, während die Schreibdaten übertragen werden, reduziert werden, und die Zuverlässigkeit dieser Schreibdaten kann erhöht werden.
Weiterhin kann deshalb, weil die Gesamtmenge von Daten, die von außen in den EEPROM geschrieben werden, reduziert ist, die Datenschreibzeit verkürzt werden, und die Produktivität des Ein-Chip-Mikrocomputers kann verbessert werden.
Ebenso werden die in der externen Vorrichtung tatsächlich angebrachten Speicher, die dazu verwendet werden, die Daten außer den ECC-Daten in den EEPROM zu schreiben, verglichen mit denjenigen des herkömmlichen Ein-Chip-Mikrocomputers reduziert. Als Folge können die Gesamtkosten für diese externe Vorrichtung redu­ ziert werden.
Während die verschiedenen Ausführungsbeispiele der vorliegenden Erfindung un­ ter Bezugnahme auf die Zeichnungen beschrieben worden sind, ist die vorliegende Erfindung nicht auf diese Ausführungsbeispiele beschränkt, sondern kann modifi­ ziert, geändert und ergänzt werden, ohne vom technischen Schutzumfang und Sinn der Erfindung abzuweichen. Beispielsweise ist die vorliegende erfinderische Idee nicht auf einen Ein-Chip-Mikrocomputer beschränkt, sondern kann auf andere Computer mit einer Verwendung von EEPROMs angewendet werden, die ein Pro­ gramm extern speichern können.
Wie es zuvor detailliert beschrieben ist, können gemäß der vorliegenden Erfindung bei einem derartigen Ein-Chip-Mikrocomputer, bei welchem die Fehlerkorrektur, während das Computerprogramm, das aus den Computerdaten, denen die ECC- Daten hinzugefügt sind, aufgebaut ist, im EEPROM gespeichert ist, dann ausge­ führt wird, wenn das Computerprogramm daraus gelesen wird, die ECC-Daten in­ nerhalb des Ein-Chip-Mikrocomputers erzeugt werden. Als Folge kann die dem Anwender auferlegte Arbeitsbelastung verglichen mit der Arbeitsbelastung des Anwenders in einem derartigen Fall, daß die ECC-Daten außerhalb des Ein-Chip- Mikrocomputers erzeugt werden, stark reduziert werden.
Weiterhin können deshalb, weil ein derartiger externer Speicher zum temporären Speichern der erzeugten ECC-Daten dort hinein nicht mehr erforderlich ist, um die ECC-Daten zu erzeugen, die Kosten für das gesamte System gesenkt werden.
Zusätzlich kann deshalb, weil sowohl die Anwenderdaten als auch die ECC-Daten gleichzeitig in den EEPROM geschrieben werden, die Datenschreibzeit in bezug auf den EEPROM verglichen mit der Datenschreibzeit, die erforderlich ist, wenn die ECC-Daten vom externen Speicher in diesen EEPROM geschrieben werden, re­ duziert werden.
Unterschiedlich vom herkömmlichen Ein-Chip-Mikrocomputer, bei welchem die ECC-Daten durch die ECC-Daten-Erzeugungsschaltung erzeugt werden, die durch die Logikschaltungen aufgebaut ist, ist bei dem Ein-Chip-Mikrocomputer der vorlie­ genden Erfindung nur der Firmware-ROM zum Erzeugen der ECC-Daten neu hin­ zugefügt. Als Folge muß nicht die gesamte Chipgröße dieses Ein-Chip- Mikrocomputers erhöht werden, ohne daß das Schaltungsausmaß stark erhöht wird. Ebenso wird gemäß der vorliegenden Erfindung die Verarbeitungsoperation zum Erzeugen der ECC-Daten nur ausgeführt, während das Computerprogramm in den EEPROM gespeichert wird, wohingegen der Firmware-ROM, der zum Ausfüh­ ren der ECC-Daten-Erzeugungs-Verarbeitungsoperation verwendet wird, nicht be­ trieben wird, während das normale Computerprogramm ausgeführt wird. Darüber hinaus werden dann, wenn das Computerprogramm ausgeführt wird, die Fehlerer­ fassungs/-korrektur-Verarbeitungsoperationen durch Verwenden der Fehlerkorrek­ turschaltung durchgeführt, die durch die Logikschaltungen aufgebaut ist. Als Er­ gebnis wird die normale Programmverarbeitungsgeschwindigkeit nicht verringert.
Ebenso wird normalerweise dann, wenn Daten in einen EEPROM geschrieben werden, eine Datenschreibzeit davon notwendigerweise mehrere hundert bis meh­ rere tausend, verglichen mit derjenigen, die in einem RAM erforderlich ist. Gegen­ sätzlich dazu werden gemäß der vorliegenden Erfindung die von der externen Vor­ richtung empfangenen Anwenderdaten miteinander in einer Einheit von mehreren Bytes kombiniert, und dann werden die kombinierten Anwenderdaten in den EEPROM geschrieben. Ebenso werden die in einer Einheit von mehreren Bytes kombinierten Anwenderdaten weiterhin mit den ECC-Daten kombiniert, und dann werden das Ergebnis und die Daten in den EEPROM geschrieben. Als Folge kön­ nen die Anwenderdaten mit hohen Geschwindigkeiten empfangen werden, und weiterhin können auf parallele Weise die ECC-Daten berechnet werden, während die Schreibzeit ausgenutzt wird.
Es ist somit klar, daß die vorliegende Erfindung nicht auf die obigen Ausführungs­ beispiele beschränkt ist, sondern ohne vom Schutzumfang und vom Sinn der Erfin­ dung abzuweichen, geändert und modifiziert werden kann.
Schließlich beansprucht die vorliegende Anmeldung die Priorität der japanischen Patentanmeldung mit der Nr. Heil 0-097287, die am 9. April 1998 eingereicht wur­ de, und die hierin durch Bezugnahme enthalten ist.

Claims (12)

1. Mikrocomputer, der dadurch gekennzeichnet ist, daß er folgendes aufweist:
einen elektrisch löschbaren Speicher (8) zum temporären Speichern von von außen zugeführten Anwenderdaten und von ECC-(Fehlerkorrekturcode)- Daten entsprechend den Anwenderdaten dort hinein;
einen Programmspeicherungsspeicher (5) zum vorherigen Speichern ei­ nes Programms dort hinein; und
eine CPU (Zentralverarbeitungseinheit) (2) zum Lesen des Programms aus dem Programmspeicherungsspeicher (5), um die ECC-Daten basierend auf den von außen zugeführten Anwenderdaten zu erzeugen, und zum se­ quentiellen Korrigieren von Fehlern, die in den von außen zugeführten An­ wenderdaten enthalten sind, unter Verwendung der erzeugten ECC-Daten entsprechend den von außen zugeführten Anwenderdaten.
2. Mikrocomputer nach Anspruch 1, dadurch gekennzeichnet, daß:
wenn die von außen zugeführten Anwenderdaten einen 1-Bit-Fehler ent­ halten, die CPU (2) den 1-Bit-Fehler basierend auf den aus dem elektrisch löschbaren Speicher (8) gelesenen erzeugten ECC-Daten korrigiert, wohin­ gegen dann, wenn die von außen zugeführten Anwenderdaten mehr als 2-Bit- Fehler enthalten, die CPU (2) einen anormalen Zustand anzeigt.
3. Mikrocomputer nach Anspruch 1, dadurch gekennzeichnet, daß:
der elektrisch löschbare Speicher (8) ein Flash-Speicher ist.
4. Ein-Chip-Mikrocomputer, der dadurch gekennzeichnet, daß er folgendes auf­ weist:
einen EEPROM (einen elektrisch löschbaren Nurlesespeicher) (8) zum temporären Speichern von von außen zugeführten Anwenderdaten in seinen Anwenderdaten-Speicherungsbereich (83) und auch zum temporären Spei­ chern von ECC-(Fehlerkorrekturcode)-Daten entsprechend den Anwenderda­ ten in seinen ECC-Daten-Speicherungsbereich (84);
einen Nurlesespeicher (5) zum vorherigen Speichern eines Programms dort hinein; und
eine CPU (Zentralverarbeitungseinheit) (2) zum Lesen des Programms vom Nurlesespeicher (5), um die ECC-Daten basierend auf den von außen zugeführten Anwenderdaten zu erzeugen, und zum sequentiellen Korrigieren von Fehlern, die in den von außen zugeführten Anwenderdaten enthalten sind, unter Verwendung der erzeugten ECC-Daten.
5. Ein-Chip-Mikrocomputer nach Anspruch 4, dadurch gekennzeichnet, daß:
während eine vorausgewählte Menge der Anwenderdaten von einer ex­ ternen Datenquelle sequentiell eingegeben wird, die CPU (2) die ECC-Daten aus der vorausgewählten Menge von Anwenderdaten sequentiell erzeugt; sowohl die Anwenderdaten als auch die ECC-Daten entsprechend den An­ wenderdaten jeweils in den Anwenderdaten-Speicherungsbereich (83) des EEPROM (8) und auch seinen ECC-Daten-Speicherungsbereich (84) bei denselben Adressen des EEPROM (8) schreibt; und sowohl die Anwenderda­ ten als auch die ECC-Daten aus den Anwenderdaten/ECC-Daten- Speicherungsbereichen (83/84) bei denselben Adressen liest, um die Fehler­ korrektur sequentiell durchzuführen.
6. Ein-Chip-Mikrocomputer nach Anspruch 4, dadurch gekennzeichnet, daß:
während eine vorausgewählte Menge der Anwenderdaten von einer ex­ ternen Datenquelle sequentiell eingegeben wird, die CPU (2) die ECC-Daten aus der vorausgewählten Menge von Anwenderdaten sequentiell erzeugt, bis ein Verarbeitungszyklus beendet ist; die Anwenderdaten und die ECC-Daten, die erzeugt sind, nachdem ein Verarbeitungszyklus beendet worden ist, in den Anwenderdaten-Speicherungsbereich (83) des EEPROM (8) und seinen ECC-Daten-Speicherungsbereich (84) mit einer gegenüber der Adresse des Anwenderdaten-Speicherungsbereichs (83) um 1 dekrementierten Adresse schreibt; und auch sowohl die Anwenderdaten als auch die ECC-Daten, die bei denselben Adressen des EEPROM (8) gespeichert sind, liest, um die Fehlerkorrektur sequentiell durchzuführen.
7. Ein-Chip-Mikrocomputer nach Anspruch 4, dadurch gekennzeichnet, daß:
während eine vorausgewählte Menge der Anwenderdaten von einer ex­ ternen Datenquelle sequentiell eingegeben wird, die CPU (2) die ECC-Daten aus der vorausgewählten Menge von Anwenderdaten sequentiell erzeugt, bis ein Verarbeitungszyklus beendet ist; die Anwenderdaten und ECC-Daten, die erzeugt sind, nachdem ein Verarbeitungszyklus beendet worden ist, jeweils in den Anwenderdaten-Speicherungsbereich (83) des EEPROM (8) und seinen ECC-Daten-Speicherungsbereich (84) bei denselben Adressen schreibt; und
auch die im Anwenderdaten-Speicherungsbereich (83) des EEPROM (8) ge­ speicherten Anwenderdaten und die in seinem ECC-Daten-Speiche­ rungsbereich (84) gespeicherten ECC-Daten mit einer gegenüber der Adres­ se des Anwenderdaten-Speicherungsbereichs (83) um 1 inkrementierten Adresse liest, um die Fehlerkorrektur sequentiell durchzuführen.
8. Ein-Chip-Mikrocomputer nach Anspruch 4, dadurch gekennzeichnet, daß:
während eine vorausgewählte Menge von Anwenderdaten von einer ex­ ternen Datenquelle sequentiell eingegeben wird, die CPU (2) die ECC-Daten aus der vorausgewählten Menge von Anwenderdaten sequentiell erzeugt ungültige Daten in dem Fall ausgibt, daß die Erzeugung der ECC-Daten nicht ausgeführt ist, bis nächste Anwenderdaten eingegeben werden; sowohl die Anwenderdaten als auch ihnen entsprechende gültige ECC-Daten jeweils in den Anwenderdaten-Speicherungsbereich (83) des EEPROM (8) und seinen ECC-Daten-Speicherungsbereich (84) bei denselben Adressen schreibt; und
auch die Anwenderdaten und die ECC-Daten, die bei denselben Adressen der Anwenderdaten/ECC-Daten-Speicherungsbereiche (83/84) des EEPROM (8) gespeichert sind, liest, um die Fehlerkorrektur auszuführen.
9. Ein-Chip-Mikrocomputer, der dadurch gekennzeichnet ist, daß er folgendes aufweist:
einen EEPROM (einen elektrisch löschbaren programmierbaren Nurlese­ speicher) (8) zum temporären Speichern dort hinein von sowohl Anwenderda­ ten als auch ECC-(Fehlerkorrekturcode-)Daten entsprechend den Anwen­ derdaten jeweils in einen Anwenderdaten-Speicherungsbereich (83) und ei­ nen ECC-Daten-Speicherungsbereich (84);
eine Speicherungseinrichtung (5) zum vorherigen Speichern eines Pro­ gramms dort hinein, das zum Erzeugen von ECC-Daten basierend auf An­ wenderdaten verwendet wird;
eine Schreibsteuerungseinrichtung (7) zum Steuern eines Schreibens von sowohl den Anwenderdaten als auch den ECC-Daten in den EEPROM (8); und
eine CPU (Zentralverarbeitungseinheit) (2) zum Erzeugen von ECC- Daten aus den im EEPROM (8) gespeicherten Anwenderdaten gemäß dem Programm und zum Speichern der erzeugten ECC-Daten und der ursprüngli­ chen Anwenderdaten in den ECC-Daten-Speicherungsbereich (84) des EEPROM (8) und seinen Anwenderdaten-Speicherungsbereich (83) unter Steuerung der Schreibsteuerungseinrichtung (7); und weiterhin zum Lesen der im Anwenderdaten-Speicherungsbereich (83) gespeicherten Anwen­ derdaten und der im ECC-Daten-Speicherungsbereich (84) gespeicherten ECC-Daten, um einen in den Anwenderdaten enthaltenen Fehler basierend auf sowohl den gelesenen Anwenderdaten als auch den gelesenen ECC- Daten zu korrigieren.
10. Ein-Chip-Mikrocomputer nach Anspruch 91 dadurch gekennzeichnet, daß:
die CPU (2) ein internes Register (21) enthält, in welches eine vorausge­ wählte Menge von Anwenderdaten von einer externen Datenquelle sequen­ tiell gespeichert wird;
der EEPROM (8) weiterhin ein Anwenderdatenregister (81) enthält, zu welchem die vorausgewählte Menge von Anwenderdaten übertragen wird, und ein ECC-Datenregister (82); und
die CPU (2) ECC-Daten aus einer vorbestimmten Menge von in ihrem in­ ternen Register (21) gespeicherten Anwenderdaten erzeugt; die erzeugten ECC-Daten zu dem im EEPROM (8) enthalten ECC-Datenregister (82) über­ trägt; sowohl die Anwenderdaten des Anwenderdatenregisters (81) als auch die ECC-Daten des ECC-Datenregisters (82) in den Anwenderdaten- Speicherungsbereich (83) des EEPROM (8) und seinen ECC-Daten- Speicherungsbereich (84) bei denselben Adressen schreibt; und auch sowohl die Anwenderdaten als auch die ECC-Daten, die bei denselben Adressen des EEPROM (8) gespeichert sind, liest, um die Fehlerkorrektur durchzuführen.
11. Ein-Chip-Mikrocomputer nach Anspruch 9, dadurch gekennzeichnet, daß:
die Schreibsteuerungseinrichtung (7) weiterhin ein Anwenderdaten- Stapelregister (71) enthält, in welches eine vorausgewählte Menge von An­ wenderdaten von einer externen Datenquelle gespeichert wird, und ein ECC- Daten-Stapelregister (72);
die CPU (2) weiterhin ein internes Register (21) enthält, in welches eine vorausgewählte Menge von Anwenderdaten von der externen Datenquelle gespeichert wird;
die CPU (2) in einem ersten Verarbeitungszyklus bei einer ersten Adresse gespeicherte Anwenderdaten zum in der Schreibsteuerungseinrichtung (7) enthaltenen Anwenderdatenregister (81) überträgt und die zu dem Anwen­ derdatenregister (81) übertragenen Anwenderdaten in den im EEPROM (8) enthaltenen Anwenderdaten-Speicherungsbereich (83) speichert;
die CPU (2) in einem nächsten Verarbeitungszyklus und darauffolgenden Verarbeitungszyklen ECC-Daten aus einer vorbestimmten Menge von im vor­ angehenden Verarbeitungszyklus gespeicherten Anwenderdaten erzeugt; die erzeugten ECC-Daten zu dem in der Schreibsteuerungseinrichtung (7) enthal­ tenen ECC-Daten-Stapelregister (72) überträgt; die Anwenderdaten zu dem in dem EEPROM (8) enthaltenen Anwenderdaten-Stapelregister (71) überträgt, und auch die ECC-Daten zum ECC-Datenregister (82); eine Schreibadresse in bezug auf den ECC-Daten-Speicherungsbereich (84) des EEPROM (8) um 1 dekrementiert; und sowohl die im Anwenderdatenregister (81) gespeicher­ ten Anwenderdaten als auch die im ECC-Datenregister (82) gespeicherten ECC-Daten jeweils in sowohl den Anwenderdaten-Speicherungsbereich (83) als auch den ECC-Daten-Speicherungsbereich (84) des EEPROM (8) schreibt; und auch ihre oben definierten Verarbeitungsoperationen wiederholt ausführt;
die CPU (2) in einem letzten Verarbeitungszyklus ECC-Daten aus einer vorbestimmten Menge von im vorangehenden Verarbeitungszyklus gespei­ cherten Anwenderdaten erzeugt; die erzeugten ECC-Daten zu dem in der Schreibsteuerungseinrichtung (7) enthaltenen ECC-Daten-Stapelregister (72) überträgt; die erzeugten ECC-Daten zu dem im EEPROM (8) enthaltenen ECC-Datenregister (82) überträgt; eine Schreibadresse in bezug auf den ECC-Daten-Speicherungsbereich (84) des EEPROM (8) um 1 dekrementiert; und die im ECC-Daten-Speicherungsbereich (84) des EEPROM (8) gespei­ cherten ECC-Daten schreibt;
die CPU (2) sowohl die Anwenderdaten als auch die ECC-Daten, die bei denselben Adressen des EEPROM (8) gespeichert sind, liest, um die Fehler­ korrekturen sequentiell auszuführen.
12. Ein-Chip-Mikrocomputer nach Anspruch 9, dadurch gekennzeichnet, daß:
die Schreibsteuerungseinrichtung (7) weiterhin ein Anwenderdaten- Stapelregister (71) enthält, in welches eine vorausgewählte Menge von An­ wenderdaten von einer externen Datenquelle gespeichert wird, und ein ECC- Daten-Stapelregister (72);
die CPU (2) weiterhin ein internes Register (21) enthält, in welches eine vorausgewählte Menge von Anwenderdaten von der externen Datenquelle gespeichert wird;
die CPU (2) In einem ersten Verarbeitungszyklus bei einer ersten Adresse gespeicherte Anwenderdaten zu dem in der Schreibsteuerungseinrichtung (7) enthaltenen Anwenderdatenregister (81) überträgt und die zu dem Anwen­ derdatenregister (81) übertragenen Daten in den im EEPROM (8) enthaltenen Anwenderdaten-Speicherungsbereich (83) speichert;
die CPU (2) in einem nächsten Verarbeitungszyklus und darauffolgenden Verarbeitungszyklen ECC-Daten aus einer vorbestimmten Menge von im vor­ angehenden Verarbeitungszyklus gespeicherten Anwenderdaten erzeugt; die erzeugten ECC-Daten zu dem in der Schreibsteuerungseinrichtung (7) enthal­ tenen ECC-Daten-Stapelregister (72) überträgt die Anwenderdaten zu dem im EEPROM (8) enthaltenen Anwenderdaten-Stapelregister (71) überträgt, und auch die ECC-Daten zum ECC-Datenregister (82); und sowohl die im Anwenderdatenregister (81) gespeicherten Anwenderdaten als auch die im ECC-Datenregister (82) gespeicherten ECC-Daten jeweils in sowohl den An­ wenderdaten-Speicherungsbereich (83) als auch den ECC-Daten- Speicherungsbereich (84) des EEPROM (8) schreibt; und auch ihre oben de­ finierten Verarbeitungsoperationen wiederholt ausführt;
die CPU (2) in einem letzten Verarbeitungszyklus ECC-Daten aus einer vorbestimmten Menge von im vorangehenden Verarbeitungszyklus gespei­ cherten Anwenderdaten erzeugt; die erzeugten ECC-Daten zum in der Schreibsteuerungseinrichtung (7) enthaltenen ECC-Daten-Stapelregister (72) überträgt; die erzeugten ECC-Daten zum im EEPROM (8) enthaltenen ECC- Datenregister (82) überträgt; und die im ECC-Daten-Speicherungsbereich (84) des EEPROM (8) gespeicherten ECC-Daten schreibt; und auch sowohl Anwenderdaten des EEPROM (8) als auch bei einer gegenüber einer Adres­ se der gelesenen Anwenderdaten um 1 inkrementierten Adresse gespeicher­ te ECC-Daten liest, um die Fehlerkorrektur sequentiell auszuführen.
DE19916120A 1998-04-09 1999-04-09 Ein-Chip-Mikrocomputer, der ECC-Daten intern erzeugen kann Ceased DE19916120A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09728798A JP3230485B2 (ja) 1998-04-09 1998-04-09 1チップマイクロコンピュータ

Publications (1)

Publication Number Publication Date
DE19916120A1 true DE19916120A1 (de) 1999-10-28

Family

ID=14188303

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19916120A Ceased DE19916120A1 (de) 1998-04-09 1999-04-09 Ein-Chip-Mikrocomputer, der ECC-Daten intern erzeugen kann

Country Status (4)

Country Link
US (1) US6604214B1 (de)
JP (1) JP3230485B2 (de)
KR (1) KR100323236B1 (de)
DE (1) DE19916120A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941505B2 (en) 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
US7380131B1 (en) 2001-01-19 2008-05-27 Xilinx, Inc. Copy protection without non-volatile memory
US7191339B1 (en) * 2001-09-10 2007-03-13 Xilinx, Inc. System and method for using a PLD identification code
KR100645058B1 (ko) * 2004-11-03 2006-11-10 삼성전자주식회사 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
US7464241B2 (en) * 2004-11-22 2008-12-09 Intel Corporation Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding
US20060218467A1 (en) * 2005-03-24 2006-09-28 Sibigtroth James M Memory having a portion that can be switched between use as data and use as error correction code (ECC)
US7716497B1 (en) 2005-06-14 2010-05-11 Xilinx, Inc. Bitstream protection without key storage
TWI385666B (zh) * 2007-05-25 2013-02-11 Realtek Semiconductor Corp 適用於快閃記憶體之資料結構、及其資料寫入方法及資料讀取方法
US8924819B2 (en) * 2009-01-23 2014-12-30 Macronix International Co., Ltd. Memory device and operation method thereof
TWI404067B (zh) * 2009-02-27 2013-08-01 Macronix Int Co Ltd 記憶體裝置及其操作方法
KR101139187B1 (ko) * 2009-12-28 2012-04-26 (주)인디링스 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법
US8427193B1 (en) 2010-12-07 2013-04-23 Xilinx, Inc. Intellectual property core protection for integrated circuits
US8418006B1 (en) 2010-12-07 2013-04-09 Xilinx, Inc. Protecting a design for an integrated circuit using a unique identifier
US8386990B1 (en) 2010-12-07 2013-02-26 Xilinx, Inc. Unique identifier derived from an intrinsic characteristic of an integrated circuit
US9684559B1 (en) * 2014-04-25 2017-06-20 Altera Corporation Methods and apparatus for storing error correction information on a memory controller circuit
KR20170143084A (ko) * 2016-06-17 2017-12-29 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
TWI680375B (zh) * 2018-08-23 2019-12-21 慧榮科技股份有限公司 具有分散式信箱架構的多處理器系統及其處理器錯誤檢查方法
KR20200092036A (ko) * 2019-01-24 2020-08-03 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01201736A (ja) 1988-02-08 1989-08-14 Mitsubishi Electric Corp マイクロコンピュータ
DE3833300A1 (de) 1988-09-30 1990-04-05 Claude Marchand Chromatographiesaeulen-abschlusseinrichtung
US5293388A (en) * 1990-11-13 1994-03-08 Hewlett-Packard Company Compression/decompress with ECC data flow architecture
JPH0729395A (ja) 1993-06-25 1995-01-31 Mitsubishi Electric Corp Eeprom装置
JPH1089217A (ja) * 1996-09-17 1998-04-07 Honda Motor Co Ltd 車両用盗難防止装置
US6026014A (en) * 1996-12-20 2000-02-15 Hitachi, Ltd. Nonvolatile semiconductor memory and read method
TW407234B (en) * 1997-03-31 2000-10-01 Hitachi Ltd Semiconductor memory device, non-volatile semiconductor memory device and data reading method thereof
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices

Also Published As

Publication number Publication date
JP3230485B2 (ja) 2001-11-19
US6604214B1 (en) 2003-08-05
KR19990083088A (ko) 1999-11-25
KR100323236B1 (ko) 2002-02-19
JPH11296392A (ja) 1999-10-29

Similar Documents

Publication Publication Date Title
DE19916120A1 (de) Ein-Chip-Mikrocomputer, der ECC-Daten intern erzeugen kann
EP0721644B1 (de) Verfahren zur vollständigen neuprogrammierung eines löschbaren, nichtflüchtigen speichers
DE69130554T2 (de) Registerschaltung zum Kopieren des Inhalts eines Registers in ein anderes Register
DE3128729C2 (de) Halbleiter-Speichersystem
DE3128740C2 (de)
DE2910839A1 (de) Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion
DE3900187A1 (de) Ein-chip-mikrocomputer
DE4418892A1 (de) Mikrocomputer
DE69128268T2 (de) Mikrocomputer mit einer Übertragungseinheit für serielle Daten
DE69130513T2 (de) Verfahren zur Durchführung boolescher Operationen zwischen zwei beliebigen Bits von zwei beliebigen Registern
DE69717385T2 (de) Verfahren und System zur Speichereinrichtungsprüfung
DE102009022330A1 (de) Mikrocomputer mit einer zentralen Verarbeitungseinheit und einem Pulsbreitenmodulations-Zeitgeber
DE19951534A1 (de) Integrierte Halbleiterschaltung
DE69500748T2 (de) Elektronischer Schaltkreis und Verfahren für die Verwendung mit einem Koprozessor
DE19956704A1 (de) Interruptsteuerung
DE69511019T2 (de) Datenprozessor mit voneinander getrenntem Datenbus und Befehlsbus
DE69429492T2 (de) Mikroprozessor mit Registerbankarchitektur
DE19919388A1 (de) Programmprüfverfahren, Programmprüfvorrichtung und computerlesbares Aufzeichnungsmedium zum Aufzeichnen eines Zielprogramm-Prüfprogramms, das die Ablaufverfolgungsunterbrechungszeit reduzieren kann
DE2755656A1 (de) Einrichtung zum speicherschutz fuer digitalspeicher
DE2108157A1 (de) Datenverarbeitungsanlage mit über lagertem Speicherverkehr
DE3200626C2 (de) Verfahren zur Überprüfung, ob ein außer dem Hauptspeicher vorgesehener weiterer Speicher in ein Mikrocomputersystem eingefügt ist
DE69734910T2 (de) Verfahren zur Identifizierung eines Peripheriegerätes in einem Halbleitergerät
DE69502133T2 (de) Datenprozessor mit gemeinsamen Anschluss zur Überwachung von internen und externen Speicherereignissen
DE10058464B4 (de) Mustererzeugungsverfahren, dieses verwendender Mustergenerator, und diesen Mustergenerator verwendendes Speichertestgerät
DE69126249T2 (de) Verarbeitungsvorrichtung und Verfahren zur Programmierung einer solchen Vorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 11/08

8127 New person/name/address of the applicant

Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

8131 Rejection