-
Gebiet der Erfindung:
-
Diese
Erfindung betrifft generell umprogrammierbare Speicherbauelemente
und besonders Mikrocontroller (im folgendem MCU) mit internen elektrisch
löschbaren
programmierbaren Festwertspeicherbauelementen. Die Erfindung erlaubt
den verbesserten umprogrammierbaren Speicherbauelementen innerhalb
des Arrays von Speicherzellen eine Seite zu definieren, die bezüglich der
Größe variabel
ist, und nur solche Daten, die sich innerhalb der definierten variablen
Seite befinden, zu löschen, während die
verbleibenden Daten in dem Array von Speicherzellen nicht beeinflusst
werden, und dann neue Daten in die definierte variable Seite zu
schreiben.
-
Beschreibung des Standes
der Technik:
-
Der
gegenwärtige
Stand der Technik beschreibt zwei Arten von umprogrammierbaren Speicherbauelementen
bezüglich
des Ziels des Löschen
und Schreibens des Programmspeicherbauelements. Die erste und traditionelle
Art von umprogrammierbaren Speicherbauelementen kann die kleinste
adressierbare Programmspeicherstelle innerhalb des Arrays von Speicherzellen
löschen
und schreiben. Die kleinst adressierbare Programmspeicherstelle
ist typischerweise als ein Wort definiert. Folglich ist die Seitengröße für diesen
Typ von Bauelement ein Wort. Um eine Anzahl von X von Seiten zu löschen und
zu schreiben, muss das umprogrammierbare Speicherbauelement eine
Anzahl von X Lösch-/Schreibkommandos
ausführen.
Das Ergebnis dieser Technologie ist ein unabhängiger Lösch- und Schreibzyklus für jede Seite
des Speichers und ist deshalb ein zeitaufwändiger Prozess.
-
Der
zweite Typ von umprogrammierbaren Speicherbauelementen, der im Stand
der Technik beschrieben wird, definiert eine Seite als den gesamten physikalischen
Inhalt des von dem MCU ansprechbaren Programmspeicher. Demzufolge
sendet das umprogrammierbare Speicherbauelement ein einzelnes Löschkommando,
das den gesamten Inhalt des Programmspeichers löscht. Jedes Programmspeicherwort
wird nach nacheinander durch unabhängige Schreibkommando neuprogrammiert.
Bauelemente, die zu dieser zweiten Kategorie von umprogrammierbaren
Speicherbauelementen gehören,
werden typischerweise als Flashspeicherbauelemente bezeichnet. Während Flashspeicherbauelemente
den Vorteil des Reduzierens der Zeit, die durch Neuprogrammen des
gesamten physikalischen Programmspeichers verbraucht wird, gegenüber den
traditionell umprogrammierbaren Speicherbauelementen bieten, haben
Sie den Nachteil des Alles-Oder-Nichts-Ansatzes. Das bedeutet, das Flashspeicherbauelemente nicht
ausgewählte
Adressen aus dem Programmspeicher löschen und schreiben können, sondern stattdessen
den gesamten physikalischen Programmspeicher löschen und ein Neuschreiben
des gesamten Programmspeichers benötigen.
-
Eine
neue Entwicklung hat den Flashspeicher in Blöcken auf Chiplevel verwendet.
Das bedeutet, dass es, anstatt einen großen Flashspeicher zu haben,
mehrere kleinere Blöcke
von Flashspeichern geben kann, was dem MCU erlaubt, selektiv auf
einer Block zu Blockbasis zu löschen
und neu zu schreiben. Trotzdem ist selbst mit dem Blockflashspeicher der
MCU nicht in der Lage, in individuelle Blöcke für das Löschen und das Neuschreiben
zu unterteilen. Auch ist der MCU nicht in der Lage, wortselektiv
wie das traditionelle umprogrammierbares Speicherbauelement zu löschen.
-
Schließlich haben
im Stand der Technik Halbleiterhersteller sowohl den traditionellen
umprogrammierbaren Speicher als auch den Flashspeicher auf dem gleichen
Bauelement vorgesehen. Trotzdem benötigt diese Implementierung
die physikalische Präsenz
sowohl des traditionell umprogrammierbaren Speicherbauelements als
auch des Flashspeichers. Das Ergebnis dieser Anwendung führt zu zwei separaten
Programmspeichern, die jeweils gemäß ihrer entsprechenden Technologie
gesteuert werden. Folglich gibt es ein Bedürfnis nach einem verbesserten
umprogrammierbaren Speicherbauelement mit variabler Seitengröße, weil
im Stand der Technik die umprogrammierbaren Speicherbauelemente
nur das selektive Löschen
und Schreiben der kleinsten adressierbaren Programmspeicherstelle
oder das Gesamtlöschen
und Schreiben des gesamten Programmspeichers erlauben.
-
Das
Dokument
EP 0 548 866 ,
auf dem der Oberbegriff des Anspruchs 1 basiert, offenbart einen nichtflüchtigen
Speicher, der im Blockflashmodus gelöscht wird, der elektrisch alle
Speicherzellen auf einem Chip löscht.
-
Zusammenfassung
der Erfindung
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung ist es Aufgabe der vorliegenden Erfindung,
ein verbessertes umprogrammierbares Speicherbauelement bereit zu
stellen, das sowohl zum Löschen
der Gesamtheit als auch zum selektiven Löschen von einzelnen physikalischen
Array von Speicherzellen im Stande ist.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist es, ein verbessertes
umprogrammierbares Speicherbauelement bereit zu stellen, das im
Stande ist, eine variable Speicher seitengröße innerhalb des Arrays von
Speicherzellen für
den Zweck des Löschens
von Daten zu spezifizieren.
-
Es
ist weitere Aufgabe der vorliegenden Erfindung, ein verbessertes
umprogrammierbares Speicherbauelement bereit zu stellen, das eine
variable Speicherseitengröße erlaubt
und in anderen Bauelementen als in Mikrocontrollen mit umprogrammierbarem
Speicher implementiert wird, was Mikroprozessoren, digitale Signalprozessoren
und andere Formen von elektronischer Logik einschließt, worauf es
aber nicht beschränkt
ist.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, ein verbessertes
umprogrammierbares Speicherbauelement bereitzustellen, das eine
variable Speicherseitengröße erlaubt,
das billig herzustellen und zuverlässig im Betrieb ist, und somit
das verbesserte umprogrammierbare Speicherbauelement ökonomisch
wertvoll für
den Durchschnittsverbraucher macht.
-
Beschreibung
der bevorzugten Ausführungsformen
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung wird ein umprogrammierbares Speicherbauelement
offenbart, das ein Array von Speicherzellen enthält, wobei die Speicherzellen
in Reihen und Spalten angeordnet sind; Adressdecodierlogik ist an
das Array von Speicherzellen für
den Zugriff auf das Array von Speicherzellen gekoppelt; Verstärkerlogik
ist an das Gerät
von Speicherzellen gekoppelt, um die Spannungspegel zwischen mehreren
der Speicherzellen und einem Datenbus beim Zugriff auf das Array
von Speicherzellen zu verstärken; eine
Spaltenauswahllogik, die an das Speicherzellen gekoppelt ist, um
zu bestimmen, auf welches Wort von einer ausgewählten Reihe des Arrays der
Speicherzellen zugegriffen wird, und um die mehreren Speicherzellen
mit der Verstärkerlogik
zu verbinden; Steuersignale, die an die Verstärkerlogik gekoppelt sind, um
auf das Array von Speicherzellen zuzugreifen; und Blockfreigabesignale,
die an die Adressdecodierlogik gekoppelt sind, variieren die Seitengröße, die
in dem Array von Speicherzellen gelöscht werden soll.
-
Gemäß anderen
Ausführungsformen
der vorliegenden Erfindung ist das verbesserte umprogrammierbare
Speicherbauelement zu zwei Betriebsmodi für den gleichen Programmspeicherbereich
fähig.
In dem ersten Modus löscht
und schreibt das umprogrammierbare Speicherbauelement die kleinste
adressierbare Programmspeicherstelle innerhalb eines Arrays von
Speicherzellen. In dem zweiten Modus gibt das umprogrammierbare Speicherbauelement
ein einzelnes Löschkommando, das
den gesamten Inhalt des Arrays von Speicherzellen löscht. Somit
beinhaltet in dieser Ausführungsform
der vorliegenden Erfindung das verbesserte umprogrammierbare Speicherbauelement
die Fähigkeiten
des traditionellen umprogrammierbaren Speicherbauelements und des
Flashspeicherbauelements für
ein physikalisches Array von Programmspeicherzellen und führt zu einem
verbesserten umprogrammierbaren Programmspeicherbauelement.
-
Gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung ist das verbesserte umprogrammierbare
Speicherbauelement zum Löschen
eines Programmspeichers von variierbarer Seitengröße. Das
bedeutet, dass das verbesserte umprogrammierbare Speicherbauteilelement
eine Seite definieren kann, die größer als ein einzelnes Wort
des Programmspeichers ist, die aber kleiner als die physikalische
Begrenzung des Arrays von Speicherzellen ist. In dieser Ausführungsform
sendet das verbesserte umprogrammierbare Speicherbauelement ein
einzelnes Löschkommando
zu dem Programmspeicher der variablen Sei te. Somit wird der Programmspeicherinhalt
der variablen Seite, wie durch das umprogrammierbare Speicherbauelement
definiert ist, mittels dieses einzelnen Kommandos gelöscht.
-
Gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung beherrscht das verbesserte umprogrammierbare
Speicherbauelement drei Betreibsmodi für einen einzelnen Programmspeicherbericht.
Diese Modi sind oben als eins Einzel-Wort-Löschmodus, der in traditionelle
umprogrammierbaren Speicherbauelementen auffindbar ist, der Gesamtlöschmodus,
der in Flashspeicherbauelementen aufgefunden wird, und der variable Seitengrößenlöschmodus,
der in den vorhergehenden Ausführungsform
beschrieben ist, beschrieben.
-
Die
vorhergehenden und anderen Aufgaben, Eigenschaften und Vorteile
der Erfindung und werden anhand der folgenden, genaueren Beschreibung der
bevorzugten Ausführungsform
der Erfindung, wie sie in den angefügten Zeichnungen gezeigt ist,
deutlich.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm der vorliegenden Erfindung.
-
2 ist
ein relatives Timingdiagramm der Steuersignale eins Einzelwortslöschens.
-
3 ist
ein relatives Timingdiagramm der Steuersignale des Gesamtlöschens.
-
4 ist
ein relatives Timingdiagramm der Steuersignale des variablen Seitenlöschens.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsform
-
Unter
Bezug auf 1 wird ein umprogrammierbares
Speicherbauelement mit variabler Seitengröße 100 gezeigt. Das
Bauelement 100 beinhaltet ein Array von Speicherzellen 110,
die in Matrixform, beispielsweise in Reihen und Spalten, angeordnet sind.
In einer Ausführungsform
der Erfindung beinhaltet das Array von Speicherzellen 110 14336
individuelle Zellen. Die Matrix dieser Ausführungsform hat 224 Speicherzellspalten
und 64 Speicherzellreihen. Jede Reihe enthält 16 Speicherwörter, wobei
jedes Wort 14 Speicherzellen (Bits) lang ist. Folglich
gibt es 1024 adressierbare Wörter,
die eine 64 × 16
Matrix in der beschriebenen Ausführungsform
formen. Die Erfindung ist nicht auf die oben beschriebene Größe des Arrays
von Speicherzellen, Speichergeometrie oder Wortlänge beschränkt.
-
Die
konventionelle Technologie für
das Array von Speicherzellen ist ein elektrisch löschbarer
oder programmierbarer Festwertspeicher (EEPROM). Trotzdem ist die
Erfindung nicht auf die EEPROM Technologie beschränkt.
-
Die
Reihendecodierlogik 120 und Spaltendecodierlogik 130 sind
an das Array an Speicherzellen 110 gekoppelt. Die Funktion
der Reihen 120 und Spaltendecodierlogik 130 ist
es, den Adressbus 160 zu decodieren und auf ein spezifische
Speicherstelle wie es in der Technik wohl bekannt ist, zuzugreifen. Der
oben beschriebenen Ausführungsform
mit 14336 Speicherzellen gibt es 64 adressierbare Reihen und 16
adressierbare Spalten.
-
Die
Verstärkerlogik 140 ist
an das Array von Speicherzellen 110 für den Zweck des Verstärkers von
Spannungspegeln zwischen dem Array von Speicherzellen 110 und
dem Datenbus 150 gekoppelt. Das Array von Speicherzellen 110 und
der Da tenbus 150 arbeiten in verschiedenen Spannungsbereichen.
Die Verstärkerlogik 140 stellt
eine Lösung
für das
Wandeln der Spannungspegeln von dem Array von Speicherzellen 110 zu
passenden Spannungspegeln für
den Datenbus 150 für
die gleichen entsprechenden Logikpegel und für den umgekehrten Pfad bereit.
-
Die
Vielzahl von Leseverstärkern 142 wandeln
den Ausgangsspannungspegel des Arrays von Speicherzellen 110 zu
dem Spannungspegel, der mit dem Datenbus 150 kompatibel
ist, während
der Speicherleseoperation.
-
Die
Vielzahl von Schreibverstärkern 144 dient
zwei Funktionen. Erstens treiben die Schreibverstärker 144 das
aressierte Array von Speicherzellen 110 auf einen Spannungspegel,
der mit dem logischen Pegel 0 kompatibel ist, während einer Speicherlöschoperation.
Zweitens konvertieren die Schreibverstärker 144 auf einen,
zu dem Spannungspegel, der während
einer Speicherschreiboperation von dem Array von Speicherzellen 110 gefordert
ist, kompatiblen Wert. In der oben beschriebenen Ausführungsform,
bei der die Wortlänge
14 ist, gibt es 14 unabhängige
Leseverstärker 142 und
14 unabhängige
Schreibverstärker 144.
Trotzdem ist die Erfindung nicht auf diese Anzahl von Lese- und Schreibverstärkern beschränkt.
-
Die
Spaltenauswahllogik 170 liest den Adressbus 160,
der von der Spaltenadressdecodierlogik 130 decodiert wird,
und verbindet entweder die Leseverstärker 142 oder die
Schreibverstärker 144 mit
den Spalten der entsprechenden Speicherzellen 110 in Abhängigkeit
von dem Speicherzugriff. Folglich bildet die Spaltenauswahllogik 170 eine
Brücke zwischen
dem Array von Speicherzellen 110, das durch die deco dierten
Spaltenadressen definiert ist, und der Verstärkerlogik 140.
-
182 bis 186 bestimmen
den Typ des Speicherzugriffzyklus. Das Anlegen des Löschsignal 182 gibt
das Löschen
des Inhalts der identifizierten Speicherstellen innerhalb des Arrays
von Speicherzellen 110 frei. Das Anlegen des Programmsignals 184 gibt das
Schreiben des Inhalts des Datenbus auf die adressierte Stelle innerhalb
des Arrays von Speicherzellen 110 frei. Das Nichtanlegen
des Voraufladesignals 186 auf den logischen Pegel 0 ermöglicht das Lesen
des Inhalts der adressierten Stelle innerhalb des Arrays von Speicherzellen 110 und
das Übertragen
des Inhalts zu dem Datenbus 150. Das Voraufladesignal 186 ist
als ein Aktivlowsignal für
das Lesen des Speichers in der bevorzugten Ausführungsform definiert, die Erfindung
ist aber nicht auf diese logische Zuordnung beschränkt.
-
Die
Reihen- 122 und Spalten- 132 Blockfreigabesignale
sind mit der Reihen- 120 und Spalten- 130 Adressdecodierlogik
entsprechend gekoppelt. Die Reihen- 122 und Spalten- 132 Blockfreigabesignale
erlauben das Löschen
einer variablen Seitengröße des Arrays
von Speicherzellen 110 durch das Einprägen des logischen Pegels 1
(oder alternativ durch Verhindern des logischen Pegels 0) auf ein oder
mehrere Bits der Reihen- 120 und Spalten- 130 Adressdecodierlogik.
Die Reihen- 122 und
Spalten- 132 Blockfreigabesignale sind als aktiv-low in
der bevorzugten Ausführungsform
definiert, die Erfindung ist aber nicht auf diese logische Zuordnung
beschränkt.
-
Die
Reihenblockfreigabesignale 122 sind mit der Reihenadressdecodierlogik 120 gekoppelt.
Das Anlegen einer bestimmten Kombination von Reiheblockfreigabesignalen 122 wäh ren des
Durchführens eines
Löschzyklus
wird eines der folgenden auswählen:
(1) eine einzelne Reihe des Array von Speicherzellen 110 (2)
alle Reihen des Arrays von Speicherzellen 110 gleichzeitig;
oder (3) eine Vielzahl von Reihen des Arrays von Speicherzellen 110 gleichzeitig, wobei
die Vielzahl von Reihen kleiner als die Gesamtheit von Reihen des
Arrays von Speicherzellen 110 ist.
-
Die
Spaltenfreigabesignale 132 sind an die Spaltendecodierlogik 130 gekoppelt.
Das Anlegen einer bestimmten Kombination von Spaltenfreigabesignalen 132 während des
Durchführens
eines Löschzyklus
wird eines der folgenden auswählen
(1) eine einzelne Spalte des Arrays von Speicherzellen 110;
(2) alle Spalten des Arrays von Speicherzellen 110 gleichzeitig;
oder (3) eine Vielzahl von Spalten des Arrays von Speicherzellen 110 gleichzeitig,
wobei die Vielzahl von Spalten kleiner als die Gesamtheit von Spalten
des Arrays von Speicherzellen 110 ist. Folglich ermöglicht das
Koordinieren des Anlegens von Reihen- 122 und Spalten- 132 Blockfreigabesignalen in
einem Zyklus das Löschen
einer variablen Seitengröße innerhalb
des Arrays von Speicherzellen 110, die bezüglich der
Größe von einer
einzelnen adressierbaren Speicherzelle bis zu dem gesamten Array von
Speicherzellen 110 erreicht.
-
2 beschreibt
den Betrieb des umprogrammierbaren Speicherbausteins 100 von 1 für das Löschen einer
adressierbaren Speicherstelle des Arrays von Speicherzellen 110,
wobei 1 einen einzelnen Löschzyklus durchführt. Wenn
der Adressbus 260 stabil und die Reihen- 222 und
Spalten 232 Blockfreigabesignale auf dem logischen Pegel
1 sind, werden das Löschsignal 282 und
das Voraufladesignal 286 nahezu gleichzeitig auf den logischen Wert
1 getrieben. Der Inhalt des Speicherworts an der Adressstelle auf
dem Adressbus 260 wird gelöscht. Das Löschsignal 282 geht
auf den logischen Wert 0 und das Programmsignal 284 geht
nahezu auf den logischen Wert 1, was das Ende des Speicherlöschzyklus
und den Beginn des Speicherschreibzyklus markiert.
-
Mit
dem Anlegen des Programmsignals 284 werden die Schreibverstärker 144 freigegeben
und der Inhalt des Datenbus 250 wird in die adressierte Speicherstelle
geschrieben. Der Schreibzyklus ist beendet, wenn das Programmsignal 284 und
das Voraufladesignal 286 auf den logischen Wert 0 gehen. Dieser
Zyklus wird für
das Löschen
und Schreiben für jedes
adressierbare Speicherwort in den Array von Speicherzellen 110 wiederholt.
-
3 beschreibt
den Betrieb des umprogrammierbaren Speicherbauelements 100 von 1,
wenn das gesamte Array von Speicherzellen 110, 1,
gleichzeitig in einem einzelnen Löschzyklus gelöscht wird.
Während
der Adressbus 360 stabil und das Reihen- 322 und
Spalten- 332 Blockfreigabesignal auf dem logischen Pegel
0 sind, werden das Löschsignal 382 und
das Voraufladesignal 386 auf den logischen Wert 1 nahezu
gleichzeitig getrieben. Der gesamte Inhalt des Arrays von Speicherzellen 110 wird
gelöscht.
Das Löschsignal 382 und
das Voraufladesignal 386 gehen auf den logischen Wert 0
und die Reihen- 322 und Spalten- 332 Blockfreigaben
gehen auf den logischen Wert 1, um den Löschzyklus zu beenden.
-
Während das
Programmsignal 384 angelegt und das Voraufladesignal 386 auf
dem logischen Wert 1 ist, werden die Schreibverstärker 144 freigegeben
und der Inhalt des Datenbus 360 wird auf die adressierte
Speicherstelle geschrieben. Das Programmsignal 384 und
das Voraufladesignal 386 kehren auf den logischen Wert
0 zurück,
während
eine neue Adresse auf dem Adressbus 360 aufgegeben und
ein neues Datenwort auf dem Datenbus 350 aufgegeben wird.
Dieser Schreibzyklus wird zum Schreiben eines jeden adressierbaren
Speicherworts in den Array von Speicherzellen 110 wiederholt.
-
4 beschreibt
den Betrieb des umprogrammierbaren Speicherbauelements 100 von 1,
wenn eine Vielzahl von Reihen- und Spaltenspeicherstellen innerhalb
des Arrays von Speicherzellen 110, Figur 1, gleichzeitig
in einem einzelnen Löschzyklus
gelöscht
werden, wobei die Vielzahl von Reihen- und Spaltenspeicherstellen kleiner
als das gesamte Array von Speicherzellen 110, Figur 1,
ist. Während
der Adressbus 460 stabil und das Reihenblockfreigabesignal 422 auf
dem logischen Wert 1 und das Spaltenblockfreigabesignal 432 auf
dem logischen Wert 0 sind, werden das Löschsignal 482 und
das Voraufladesignal 486 auf den logischen Wert nahezu
gleichzeitig getrieben. Der Inhalt der adressierten Reihe von Speicherzellen
(16 Speicherwörter)
wird gelöscht.
Das Löschsignal 482 und
das Voraufladesignal 486 gehen auf den logischen Pegle 0 und
das Spaltenblockfreigabesignal 432 geht auf den logischen
Wert 1, um den Löschzyklus
zu beenden.
-
Während das
Programmsignal 484 angelegt und das Voraufladesignal 486 auf
dem logischen Pegel 1 sind, werden die Schreibverstärker 144 freigegeben
und der Inhalt des Datenbus 450 wird in die adressierten
Speicherstellen geschrieben. Das Programmsignal 484 und
das Voraufladesignal 486 kehren zu dem logischen Pegel
0 zurück,
während
eine neue Adresse auf dem Adressbus 460 aufgegeben und
ein neues Datenwort auf dem Datenbus 450 aufgegeben wird.
Dieser Schreibzyklus wird zum Schreiben jedes adressierbaren Speicherworts
in der Speicherreihe wiederholt.
-
In
dieser Ausführungsform
werden eine Einzelreihenblockfreigabe und eine Einzelspaltenfreigabe
offenbart. Trotzdem beinhaltet die beanspruchte Erfindung mehrere
Reihen- und Spaltenblockfreigabensignale, um eine größere Flexibilität bezüglich des
Variierens der Seitengröße des Arrays
von Speicherzellen 110 zu erlauben.
-
Die
Reihenblockfreigabe (x22), Spaltenblockfreigabe- (x32), Datenbus- (x50), Adressbus- (x60),
Lösch-
(x82), Programm- (x84) und Vorauflade- (x86) Signale haben die gleichen
Signale für
jede Figur. Die meistsignifikante Ziffer der Nummernbezeichnung
(x) spiegelt die Nummer der Figur wieder.
-
Obwohl
die Erfindung besonders unter Bezug auf eine bevorzugte Ausführungsform
von ihr gezeigt und beschrieben wurde, ist es für einen Fachmann verständlich,
dass Änderungen
in Form und Detail darin gemacht werden können, ohne den Bereich der
Erfindung, wie es in den Ansprüchen
definiert ist, zu verlassen.