PatentDe  


Dokumentenidentifikation DE102004063641A1 13.07.2006
Titel Nichtflüchtige Speichereinrichtung zum Speichern von Daten und Verfahren zum Löschen oder Programmieren derselben
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Deml, Christoph, Dr., 81735 München, DE;
Liebermann, Thomas, 81825 München, DE
Vertreter Jannig & Repkow Patentanwälte, 86199 Augsburg
DE-Anmeldedatum 27.12.2004
DE-Aktenzeichen 102004063641
Offenlegungstag 13.07.2006
Veröffentlichungstag im Patentblatt 13.07.2006
IPC-Hauptklasse G11C 16/10(2006.01)A, F, I, 20051017, B, H, DE
IPC-Nebenklasse G11C 16/34(2006.01)A, L, I, 20051017, B, H, DE   
Zusammenfassung Bei der beschriebenen Speichereinrichtung und dem beschriebenen Verfahren werden die Schritte
- Ausführen einer Lösch- oder Programmieroperation in Abhängigkeit von in einem Seitenspeicher gespeicherten Daten,
- Auslesen des Inhaltes der gelöschten oder programmierten Speicherzellen (T11-Tnm),
- Modifizieren des Inhaltes des Seitenspeichers (PBN) in Abhängigkeit von den ausgelesenen Daten, und
- Ausführen einer weiteren Lösch- oder Programmieroperation in Abhängigkeit von den modifizierten Daten,
ausgeführt, wobei die aus der gelöschten oder programmierten Speicherzelle (T11-Tnm) ausgelesenen Daten dem Seitenspeicher (PBN) zugeführt werden, und der Inhalt des Seitenspeichers (PBN) in alleiniger Abhängigkeit von diesen Daten und den zeitlichen Ablauf steuernden Steuersignalen modifiziert wird.

Beschreibung[de]

Die vorliegende Erfindung betrifft ein Verfahren zum Löschen oder Programmieren einer nichtflüchtigen Speichereinrichtung zum Speichern von Daten gemäß dem Oberbegriff des Patentanspruchs 1 und eine nichtflüchtige Speichereinrichtung zum Speichern von Daten gemäß dem Oberbegriff des Patentanspruchs 5.

Der prinzipielle Aufbau einer nichtflüchtigen Speichereinrichtung ist in 1 veranschaulicht.

Die in der 1 gezeigte Speichereinrichtung ist ein Flash-Speicher, und enthält ein Speicherzellenfeld SZF mit einer Vielzahl von Speicherzellen, die in einer Vielzahl von Reihen und in einer Vielzahl von Spalten angeordnet sind, wobei jede der Speicherzellen durch einen Speichertransistor gebildet wird und zur Speicherung eines einzelnen Bits ausgelegt ist.

Das Speicherzellenfeld SZF enthält n Speicherzellen-Spalten SS1 bis SSn, und m Speicherzellen-Reihen SR1 bis SR4, wobei n und m größer oder gleich 1 sind.

Die Speichertransistoren sind mit den Bezugszeichen T11 bis Tnm bezeichnet, und weisen jeweils einen Gateabschnitt mit einem Gate-Anschluß G, einen Drainabschnitt mit einem Drain-Anschluß D, einen Sourceabschnitt mit einem Source-Anschluß S, und ein Floating Gate FG auf. Der Aufbau und die Wirkungsweise solcher Speichertransistoren sind bekannt, so daß auf eine nähere Beschreibung derselben verzichtet werden kann.

Die Source-Anschlüsse S der Speichertransistoren einer jeden Speicherzellen-Spalte SS sind jeweils über eine Source-Leitung SL1, SL2, ..., SLn mit Masse oder einer beliebigen anderen Spannung verbunden; der Vollständigkeit halber sei angemerkt, daß von den vorhandenen Source-Leitungen SL1, SL2, ..., SLn mehrere oder alle Source-Leitungen miteinander verbunden sein können. Die Drain-Anschlüsse D der Speichertransistoren einer jeden Speicherzellen-Spalte SS sind jeweils über eine Bit-Leitung BL1, BL2, ... BLn miteinander verbunden. Die Gate-Anschlüsse G der Speichertransistoren einer jeden Speicherzellen-Reihe SR sind jeweils über Wortleitungen WL1, WL2 ... WLm miteinander verbunden.

Darüber hinaus enthält die in der 1 gezeigte Anordnung pro Bitleitung einen Leseverstärker SA1, SA2, ... SAn, wobei der Leseverstärker SA1 eingangsseitig mit der Bitleitung BL1, der Leseverstärker SA2 eingangsseitig mit der Bitleitung BL2, ..., und der Leseverstärker SAn eingangsseitig mit der Bitleitung BLn verbunden ist. Der Vollständigkeit halber sei darauf hingewiesen, daß auch weniger Leseverstärker, beispielsweise nur halb so viele Leseverstärker vorgesehen werden können, und die vorhandenen Leseverstärker über Multiplexer oder dergleichen abwechselnd mit verschiedenen Bitleitungen verbunden werden können.

Flash-Speicher enthalten darüber hinaus im allgemeinen einen Seitenspeicher, in welchem die gleichzeitig in den Flash-Speicher zu schreibenden Daten zwischengespeichert werden. Darüber hinaus ist im allgemeinen eine Steuereinrichtung vorgesehen, durch welche das Löschen, Programmieren, und Auslesen des Flash-Speichers gesteuert werden. Der Seitenspeicher und die Steuereinrichtung sind in der 1 nicht dargestellt.

Der Pegel des in einer Speicherzelle gespeicherten Bits hängt vom Ladungszustand des Floating Gate FG des die betreffende Speicherzelle bildenden Speichertransistors ab. Dieser Ladungszustand, genauer gesagt die Menge der im Floating Gate vorhandenen freien Elektronen kann durch ein Löschen oder Programmieren der betreffenden Speicherzelle verändert werden und verändert sich nach dem Löschen oder Programmieren nicht oder allenfalls in äußerst geringem Umfang. Vom Ladungszustand des Floating Gate hängt die Thresholdspannung des betreffenden Speichertransistors, d.h. die Differenz zwischen der an den Source-Anschluß angelegten Spannung und der an den Gate-Anschluß angelegten Spannung ab, ab welcher der Speichertransistor vom nicht leitenden Zustand in den leitenden Zustand oder vom leitenden Zustand in den nicht leitenden Zustand übergeht.

Beim Löschen und beim Programmieren einer Speicherzelle wird der die betreffende Speicherzelle bildende Speichertransistor durch Anlegen entsprechender Spannungen an den Gate-Anschluß, den Source-Anschluß, und den Drain-Anschluß so angesteuert, daß die Anzahl der im Floating Gate des Speichertransistors vorhandenen freien Elektronen erhöht oder verringert wird. Genauer gesagt werden an den Gate-Anschluß, den Source-Anschluß, und den Drain-Anschluß derartige Spannungen angelegt, daß im Floating Gate vorhandene Elektronen über eine zwischen dem Floating Gate und dem Sourceabschnitt vorhandene Isolierschicht zum Sourceabschnitt wandern, bzw. daß Elektronen vom Sourceabschnitt über die Isolierschicht zum Floating Gate wandern. Wie dies im einzelnen geschieht, ist bekannt und bedarf keiner näheren Erläuterung.

Im betrachteten Beispiel wird durch das Löschen einer Speicherzelle die Anzahl der im Floating Gate vorhandenen Elektronen verringert, und wird der Pegel des in einer gelöschten Speicherzelle gespeicherten Bits als 0 definiert. Es dürfte einleuchten und bedarf keiner Erläuterung, daß hierauf keine Einschränkung besteht. Es ist auch möglich, daß durch das Löschen einer Speicherzelle die Anzahl der im Floating Gate vorhandenen Elektronen erhöht wird. Unabhängig davon, wie die Speicherzelle gelöscht wird, ist es selbstverständlich auch möglich, den Pegel des in einer gelöschten Speicherzelle gespeicherten Bits als 1 zu definieren.

Das Programmieren einer Speicherzelle wird so durchgeführt, daß die entgegengesetzten Vorgänge ablaufen. D.h., im betrachteten Beispiel wird durch das Programmieren einer Speicherzelle die Anzahl der im Floating Gate vorhandenen Elektronen erhöht. Falls durch das Löschen einer Speicherzelle die Anzahl der im Floating Gate vorhandenen Elektronen erhöht wird, wird durch das Programmieren dieser Speicherzelle die Anzahl der im Floating Gate vorhandenen Elektronen verringert. Der Pegel des in einer programmierten Speicherzelle gespeicherten Bits wird komplementär zum Pegel des in einer gelöschten Speicherzelle gespeicherten Bits festgelegt.

Der Vollständigkeit halber sei in diesem Zusammenhang angemerkt, daß eine Speicherzelle eines Flash-Speichers durch ein Programmieren derselben nur in einen Zustand gebracht werden kann, der komplementär zum gelöschten Zustand der Speicherzelle ist. D.h., bei Flash-Speichern kann durch ein Programmieren entweder nur in eine ein Bit mit dem Wert 0 speichernde Speicherzelle ein Bit mit dem Wert 1 geschrieben werden, oder nur in eine ein Bit mit dem Wert 1 speichernde Speicherzelle ein Bit mit dem Wert 0 geschrieben werden. Bezogen auf das vorliegend betrachtete Beispiel, in welchem die gelöschten Speicherzellen jeweils ein Bit mit dem Wert 0 speichern, bedeutet dies, daß durch das Programmieren nur eine ein Bit mit dem Wert 0 speichernde Speicherzelle mit einem Bit mit dem Wert 1 beschrieben werden kann. Hingegen ist es im betrachteten Beispiel nicht möglich, in eine ein Bit mit dem Wert 1 speichernde Speicherzelle durch ein Programmieren ein Bit mit dem Wert 0 zu schreiben. Wenn im betrachteten Beispiel in eine ein Bit mit dem Wert 1 speichernde Speicherzelle ein Bit mit dem Wert 0 geschrieben werden soll, kann dies nur durch ein Löschen der betreffenden Speicherzelle erfolgen. Dies ist der Grund, warum Flash-Speicher im allgemeinen vor dem Programmieren gelöscht werden.

Wenn der Inhalt eines Speichertransistors ausgelesen werden soll, wird dieser Speichertransistor über die Wortleitung, die Bitleitung, und die Source-Leitung mit welchen er verbunden ist, mit bestimmten Spannungen beaufschlagt, und der über die betreffende Bitleitung fließende Strom ermittelt, wobei aus dem über die Bitleitung fließenden Strom ersichtlich ist, welchen Inhalt die durch den Speichertransistor gebildete Speicherzelle hat. Die während des Auslesens von Speicherzellen über die zugeordneten Bitleitungen BL1 bis BLn fließenden Ströme werden durch die Leseverstärker SA1 bis SAn ausgewertet.

Die Spannungen die während des Auslesens einer Speicherzelle an den diese Speicherzelle bildenden Speichertransistor, genauer gesagt an den Gate-Anschluß, den Source-Anschluß und den Drain-Anschluß dieses Transistors angelegt werden, sind so bemessen, daß der Speichertransistor hierdurch in den leitenden Zustand versetzt wird, wenn er gelöscht ist, und daß er gesperrt bleibt, wenn er programmiert ist (oder umgekehrt).

Wie eine Speicherzelle während des Löschens, des Programmierens, und des Auslesens angesteuert werden muß, ist bekannt und bedarf keiner näheren Erläuterung.

Das Speicherzellenfeld ist im allgemeinen in eine Vielzahl von Seiten unterteilt, wobei jede Seite eine Vielzahl von Speicherzellen umfaßt. Im betrachteten Beispiel wird eine Seite durch eine Speicherzellen-Reihe gebildet. Es könnte aber auch vorgesehen werden, daß jede Seite nur aus einem Teil einer Speicherzellen-Reihe besteht. Es ist auch möglich, daß eine Seite nur eine einzige Speicherzelle umfaßt. Unabhängig hiervon ist es auch möglich, daß das Speicherzellenfeld nur eine einzige Seite umfaßt.

Das Speicherzellenfeld wird seitenweise programmiert. D.h., es können jeweils sämtliche Speicherzellen einer Seite gleichzeitig programmiert werden. Welche Speicherzellen einer Seite jeweils tatsächlich programmiert werden, hängt allerdings von den in die Speicherzellen zu schreibenden Daten ab

Das Löschen und Auslesen der Speicherzellen kann ebenfalls seitenweise erfolgen, doch ist dies eher selten der Fall. Üblicherweise sind die gleichzeitig auslesbaren und die gleichzeitig löschbaren Speicherzellen nicht mit den Speicherzellen einer Seite identisch und sind unabhängig voneinander festlegbar.

Damit beim Auslesen einer Speicherzelle richtig entschieden werden kann, ob das darin gespeicherte Bit den Pegel 0 oder den Pegel 1 aufweist, müssen sich die Threshold-Spannungen der gelöschten Speichertransistoren und die Threshold-Spannungen der programmierten Speichertransistoren deutlich voneinander unterscheiden. Die Threshold-Spannung eines Speichertransistors ist, wie vorstehend bereits erwähnt wurde, die Differenz zwischen der an den Source-Anschluß angelegten Spannung und der an den Gate-Anschluß angelegten Spannung, ab welcher der Speichertransistor vom nicht leitenden Zustand in den leitenden Zustand oder vom leitenden Zustand in den nicht leitenden Zustand übergeht. Wie vorstehend ebenfalls bereits erwähnt wurde, hängt die Threshold-Spannung unter anderem von der Anzahl der im Floating Gate vorhandenen Anzahl von freien Elektronen ab. Die Anzahl der im Floating Gate vorhandenen Elektronen wiederum kann durch ein Löschen oder durch ein Programmieren des Speichertransistors verändert werden. Allerdings ist es nicht so, daß alle gelöschten Speichertransistoren und alle programmierten Speichertransistoren jeweils die selbe Threshold-Spannung aufweisen. Dies ist in 2 veranschaulicht.

Die 2 zeigt, wie viele Speicherzellen einer eine Vielzahl von Speicherzellen aufweisenden Speichereinrichtung welche Threshold-Spannung aufweisen. Die vorhandenen Threshold-Spannungen sind auf zwei Bereiche verteilt, nämlich auf einen ersten Bereich B1, der zwischen einer Threshold-Spannung VT1 und einer Threshold-Spannung VT2 liegt, und einem zweiten Bereich B2, der oberhalb einer Threshold-Spannung VT3 liegt, wobei gilt, daß VT3 > VT2 > VT1, und VT1 > 0.

Im ersten Bereich B1 liegen die Threshold-Spannungen der gelöschten Speichertransistoren, und im zweiten Bereich B2 liegen die Threshold-Spannungen der programmierten Speichertransistoren.

Der zwischen dem ersten Bereich B1 und dem zweiten Bereich B2 liegende dritte Bereich B3 ist ein verbotener Bereich, in welchem keine Threshold-Spannungen liegen dürfen. In diesem Bereich B3 liegt die Differenz zwischen der Sourcespannung und der Gatespannung, die während des Auslesens der jeweiligen Speichertransistoren an dieselben angelegt werden. Die Verwendung von Source- und Gatespannungen, deren Differenz im Bereich B3 liegt, hat den Effekt, daß sich die gelöschten Speichertransistoren und die nicht gelöschten Speichertransistoren während des Auslesens derselben unterschiedlich verhalten. Genauer gesagt ist es so, daß sich die gelöschten Speichertransistoren während des Auslesens derselben im leitenden Zustand befinden, wohingegen sich die programmierten Speichertransistoren während des Auslesens derselben im nicht leitenden Zustand befinden. Die Folge hiervon ist, daß über die Bitleitungen, die mit gelöschten Speichertransistoren verbunden sind, während des Auslesens derselben ein relativ großer Strom fließt, und daß über die Bitleitungen, die mit programmierten Speichertransistoren verbunden sind, während des Auslesens derselben ein kleinerer Strom oder kein Strom fließt. Die vorstehend bereits erwähnten Leseverstärker SA1 bis SAn erfassen die während des Auslesens über die Bitleitungen fließenden Ströme und können anhand der Größe dieser Ströme zweifelsfrei feststellen, ob es sich bei den ausgelesenen Speichertransistoren um gelöschte oder programmierte Speichertransistoren handelt.

Damit dies unter allen Umständen zuverlässig funktioniert, muß der dritte Bereich B3 möglichst groß sein. D.h., die Threshold-Spannung desjenigen Speichertransistors, der unter den gelöschten Speichertransistoren die höchste Thresholdspannung aufweist, sollte möglichst klein sein, und die Threshold-Spannung desjenigen Speichertransistors, der unter den programmierten Speichertransistoren die kleinste Thresholdspannung aufweist, sollte möglichst groß sein. Andererseits ist es aber so, daß die Threshold-Spannungen der gelöschten Speichertransistoren auch nicht zu klein sein dürfen. Sie dürfen eine bestimmte bekannte untere Grenze nicht unterschreiten, weil der Speichertransistor sonst in den selbstleitenden Zustand gelangt und somit beim Auslesen einer Speicherzelle, die sich in der selben Spalte, aber in einer anderen Reihe befindet, einen Strombeitrag liefern würde, was zu einem falschen Auslesen der auszulesenden Speicherzelle führen kann. Unabhängig hiervon ist es ferner so, daß die Bereiche B1 und B2 auch nicht zu weit voneinander beabstandet sein dürfen, weil anderenfalls beim Löschen und beim Programmieren der Speichertransistoren mit besonders hohen Spannungen gearbeitet werden müßte, oder jedes Löschen oder Programmieren einer Speichertransistors mehrere Lösch- oder Programmiervorgänge umfassen müßte.

Eine Möglichkeit, durch welche sichergestellt werden kann, daß programmierte Speichertransistoren beim Auslesen derselben zuverlässig als programmiert erkannt werden, besteht darin, daß unmittelbar nach dem Programmieren einer Seite eine Programmierverifikation durchgeführt wird, durch welche überprüft wird, ob die programmierten Speicherzellen ordnungsgemäß (ausreichend stark) programmiert wurden, und daß diejenigen Speichertransistoren, die durch das Programmieren nicht ordnungsgemäß (nicht ausreichend stark) programmiert wurden, erneut programmiert werden.

Eine Vorrichtung, durch welche dies bewerkstelligt werden kann, ist in 3 gezeigt.

Die in der 3 gezeigte Anordnung enthält ein Speicherzellenfeld SZF, eine Vielzahl von Leseverstärkern, von welchen der Übersichtlichkeit halber nur ein einziger Leseverstärker SAx dargestellt ist, einen Seitenspeicher PB, und eine Steuereinrichtung CL, wobei die Steuereinrichtung einen Schreibdatenspeicher WDM, eine Vielzahl von Vernüpfungseinrichtungen, von welchen der Übersichtlichkeit halber nur eine einzige Verknüpfungseinrichtung CMx dargestellt ist, und eine Reihe weiterer Komponenten enthält, die in der 3 jedoch nicht gezeigt sind.

Das Speicherzellenfeld SZF ist im betrachteten Beispiel das in der 1 gezeigte und unter Bezugnahme darauf beschriebene Speicherzellenfeld SZF.

Die Leseverstärker entsprechen den Leseverstärkern SA1 bis SAn der in der 1 gezeigten Anordnung. Die Anzahl der Leseverstärker ist im betrachteten Beispiel gleich der Anzahl der Speicherzellen pro Seite. Genauer gesagt ist jeder der gleichzeitig löschbaren und beschreibbaren Speicherzellen ein eigener Leseverstärker zugeordnet.

Der Schreibdatenspeicher WDM und der Seitenspeicher PB dienen zur Zwischenspeicherung der in das Speicherzellenfeld SZF zu schreibenden Daten und weisen jeweils eine Anzahl von Speicherelementen auf, die der Anzahl von Speicherzellen pro Seite entspricht. Jeder Speicherzelle einer Seite ist ein eigenes Speicherelement des Schreibdatenspeichers WDM zugeordnet.

Der Seitenspeicher PB wird vor dem Einschreiben von Daten in das Speicherzellenfeld SZF von der Steuereinrichtung CL mit den in das Speicherzellenfeld zu schreibenden Daten beschrieben. Der Inhalt des Seitenspeichers PB ist darüber hinaus durch die Verknüpfungseinrichtungen CM modifizierbar. Der Seitenspeicher PB ist zu diesem Zweck eingangsseitig mit den Ausgangsanschlüssen der Verknüpfungseinrichtungen verbunden. Darüber hinaus ist der Seitenspeicher PB ausgangsseitig mit den Bitleitungen verbunden. Über diese Verbindung werden die Bitleitungen während des Programmierens der mit diesen verbundenen Speicherzellen mit der zum Programmieren bzw. Nicht-Programmieren erforderlichen Bitleitungsspannung beaufschlagt. Ob die Bitleitung mit der zum Programmieren erforderlichen Bitleitungsspannung beaufschlagt wird, oder mit der zum Nicht-Programmieren erforderlichen Bitleitungsspannung beaufschlagt wird, hängt dabei von den im Seitenspeicher PB gespeicherten Daten ab.

Die Anzahl der Verknüpfungseinrichtungen CM ist im betrachteten Beispiel ebenfalls gleich der Anzahl der Speicherzellen pro Seite. Genauer gesagt ist jedem Leseverstärker eine eigene Verknüpfungseinrichtung zugeordnet.

Jede Verknüpfungseinrichtung weist zwei Eingangsanschlüsse und einen Ausgangsanschluß auf. Von den Eingangsanschlüssen ist jeweils ein Eingangsanschluß mit dem Ausgangsanschluß des zugeordneten Leseverstärkers verbunden. Der andere Eingangsanschluß ist mit dem Speicherelement des Schreibdatenspeichers WDM verbunden, in welchem das Datenbit gespeichert ist, das in die Speicherzelle zu schreiben ist, die durch den der Verknüpfungseinrichtung zugeordneten Leseverstärker ausgelesen wird. Der Ausgangsanschluß jeder Verknüpfungseinrichtung ist mit dem Seitenspeicher PB verbunden. Genauer gesagt ist jede Verknüpfungseinrichtung mit dem Speicherelement des Seitenspeichers PB verbunden, in welchem das Datenbit gespeichert ist, das in die Speicherzelle zu schreiben ist, die durch den der Verknüpfungseinrichtung zugeordneten Leseverstärker ausgelesen wird. Die von der Verknüpfungseinrichtung ausgegebenen Daten werden in den Seitenspeicher PB geschrieben. Die Funktion und die Arbeitsweise der Verknüpfungseinrichtungen ergeben sich aus der folgenden Beschreibung der Programmierung des Speicherzellenfeldes SZF.

Wenn eine Komponente des das Speicherzellenfeld SZF enthaltenden Systems Daten in das Speicherzellenfeld schreiben möchte, genauer gesagt eine Seite des Speicherzellenfeldes neu beschreiben möchte, übermittelt die betreffende Komponente an die Steuereinrichtung entsprechende Steuerbefehle sowie die in das Speicherzellenfeld zu schreibenden Daten und die Adresse, unter welcher diese Daten zu speichern sind.

Die in das Speicherzellenfeld zu schreibenden Daten werden im Schreibdatenspeicher WDM und im Seitenspeicher PB zwischengespeichert. Sodann veranlaßt die Steuereinrichtung CL im allgemeinen zunächst einen Löschvorgang, durch welchen die Speicherzellen der Seite, in welche die neuen Daten zu schreiben sind, gelöscht werden. Dies hat den Effekt, daß danach in allen Speicherzellen der betreffenden Seite Datenbits mit dem Wert 0 gespeichert sind. Anschließend werden die im Seitenspeicher PB gespeicherten Daten in die zu beschreibende Seite geschrieben. Hierbei wird so vorgegangen, daß nur diejenigen Speicherzellen, in die gemäß den im Seitenspeicher PB gespeicherten Daten ein Datenbit mit dem Wert 1 geschrieben werden soll, programmiert werden. Für die restlichen Speicherzellen, d.h. für diejenigen Speicherzellen, in die gemäß den im Seitenspeicher PB gespeicherten Daten ein Datenbit mit dem Wert 0 geschrieben werden soll, wird keine Aktion ausgeführt, durch welche sich der Ladungszustand des Floating Gate derselben verändert.

Im Anschluß daran wird überprüft, ob die soeben in die Speichereinrichtung geschriebenen Daten mit den tatsächlich in den betreffenden Speicherzellen gespeicherten Daten übereinstimmen. Zu diesem Zweck werden die Speicherzellen der soeben beschriebenen Seite ausgelesen, und die ausgelesenen Daten den Verknüpfungseinrichtungen CM zugeführt, welche diese mit den im Schreibdatenspeicher WDM gespeicherten (Soll-)Daten verknüpfen.

Die Verknüpfungseinrichtungen CM führen eine derartige Verknüpfung der ihnen zugeführten Daten durch,

  • – daß das ausgegebene Ergebnis ein Datenbit mit dem Pegel 0 ist,
  • – wenn die durch den zugeordneten Leseverstärker SA ausgelesene Speicherzelle nicht programmiert (mit dem Wert 0 beschrieben) werden sollte, also das der Verknüpfungseinrichtung CM vom Schreibdatenspeicher WDM zugeführte Datenbit den Wert 0 hat, oder
  • – wenn die durch den zugeordneten Leseverstärker SA ausgelesene Speicherzelle programmiert (mit dem wert 1 beschrieben) werden sollte, und die Programmierung erfolgreich war, also wenn das der Verknüpfungseinrichtung CM vom Schreibdatenspeicher WDM zugeführte Datenbit den Wert 1, und das durch den zugeordneten Leseverstärker ausgelesene Datenbit ebenfalls den Wert 1 hat, und
  • – daß das ausgegebene Ergebnis ein Datenbit mit dem Pegel 1 ist,
  • – wenn die durch den zugeordneten Leseverstärker ausgelesene Speicherzelle programmiert (mit dem Wert 1 beschrieben) werden sollte, und die Programmierung nicht erfolgreich war, also wenn das der Verknüpfungseinrichtung CM vom Schreibdatenspeicher WDM zugeführte Datenbit den Wert 1, und das durch die zugeordneten Leseverstärker SA ausgelesene Datenbit aber den Wert 0 hat.

Die von den Verknüpfungseinrichtungen CM ausgegebenen Bits werden in den Seitenspeicher PB geschrieben. Im Idealfall sind im Seitenspeicher PB danach lauter Nullen gespeichert. Dies würde bedeuten, daß der aktuelle Inhalt der zuvor beschrieben Seite mit den in diese Seite zu schreibenden Daten übereinstimmt und der Programmiervorgang abgebrochen werden kann. Wenn andererseits im Seitenspeicher eine oder mehrere Einsen gespeichert sind, bedeutet dies, daß das Programmieren der Seite nicht erfolgreich war, genauer gesagt, daß diejenigen Speicherzellen des Speicherzellenfeldes, welchen die Einsen im Seitenspeicher zugeordnet sind, nicht ordnungsgemäß beschrieben wurden. In diesem Fall wird der Programmiervorgang wiederholt. Hierbei werden jedoch nur diejenigen Speicherzellen des Speicherzellenfeldes, die nicht erfolgreich programmiert wurden, erneut programmiert.

Eine Vorrichtung, die in etwa der in der 3 gezeigten Anordnung entspricht, ist aus der EP 0 801 795 B1 bekannt. Eine andere Möglichkeit zur Erkennung und Handhabung von Programmierfehlern ist aus der EP 1 073 065 A1 bekannt.

Durch die erneute Programmierung der nicht erfolgreich programmierten Speicherzellen kann erreicht werden, daß auch diese Speicherzellen ordnungsgemäß programmiert werden. Dieser Vorteil muß jedoch durch einen sehr hohen zusätzlichen Aufwand erkauft werden. Insbesondere muß eine Vielzahl von Verknüpfungseinrichtungen und ein die Verknüpfungseinrichtungen und den Seitenspeicher verbindender Bus vorgesehen werden. Dies führt dazu, daß die in der 3 gezeigte Anordnung erheblich größer und teurer ist als eine Anordnung, bei welcher keine Überprüfung und Wiederholung der Programmierung erfolgt. Darüber hinaus sind insbesondere die von den Verknüpfungseinrichtungen durchgeführten Verknüpfungen sehr zeitaufwendig, was zu einer nicht unerheblichen Verzögerung des Löschens oder Programmierens führt.

Entsprechende Probleme treten auch bei anderen Arten von nichtflüchtigen Speichereinrichtungen auf.

Darüber hinaus kann bei nichtflüchtigen Speichereinrichtungen auch das Problem auftreten, daß zu löschende Speicherzellen nicht ordnungsgemäß gelöscht wurden.

Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, das Verfahren gemäß dem Oberbegriff des Patentanspruchs 1 und die Speichereinrichtung gemäß dem Oberbegriff des Patentanspruchs 2 derart weiterzubilden, daß auf einfache Art und Weise sichergestellt werden kann, daß das Löschen und/oder das Programmieren einer nichtflüchtigen Speichereinrichtung unter allen Umständen zuverlässig fehlerfrei durchführbar ist.

Diese Aufgabe wird erfindungsgemäß durch das in Patentanspruch 1 beanspruchte Verfahren und die in Patentanspruch 5 beanspruchte nichtflüchtige Speichereinrichtung gelöst.

Das erfindungsgemäße Verfahren und die erfindungsgemäße Speichereinrichtung ermöglichen es, auf die in der herkömmlichen Anordnung gemäß 3 vorhandenen Verknüpfungseinrichtungen zu verzichten, welche die Leseverstärker-Ausgangssignale mit den Daten verknüpfen, die in den ausgelesenen Speicherzellen gespeichert sein müßten.

Ein Verzicht auf die in der herkömmlichen Anordnung gemäß 3 vorhandenen Verknüpfungseinrichtungen und die damit einhergehende Verringerung der Anzahl und/oder der Länge der vorzusehenden Busse ermöglicht es, daß die erfindungsgemäße Speichereinrichtung erheblich kleiner und billiger hergestellt werden kann und zudem einen deutlich geringeren Energiebedarf hat. Unabhängig hiervon läßt sich die Modifikation des Seitenspeicher-Inhaltes schneller durchführen als es etwa bei der herkömmlichen Anordnung gemäß 3 der Fall ist.

Darüber hinaus sind durch das erfindungsgemäße Verfahren und die erfindungsgemäße Speichervorrichtung nicht nur ein zu schwaches Programmieren, sondern zusätzlich auch ein zu schwaches oder zu starkes Löschen nachträglich behebbar.

Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen, der folgenden Beschreibung, und den Figuren entnehmbar.

Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Figuren näher erläutert. Es zeigen

1 eine Darstellung zur Erläuterung des Aufbaus und der Funktion eines Flash-Speichers,

2 ein Diagramm zur Veranschaulichung der verschiedenen Threshold-Spannungen der Speichertransistoren eines Flash-Speichers, und der Anzahl der Speichertransistoren, die die jeweiligen Threshold-Spannungen aufweisen,

3 eine herkömmliche Anordnung zum Programmieren eines Flash-Speichers,

4 die im folgenden näher beschriebene Anordnung zum Programmieren und/oder Löschen eines Flash-Speichers,

5 den Aufbau eines ersten Ausführungsbeispiels eines Seitenspeichers der in der 4 gezeigten Anordnung,

6 den Aufbau eines zweiten Ausführungsbeispiels des Seitenspeichers der in der 4 gezeigten Anordnung, und

7 den Aufbau eines dritten Ausführungsbeispiels des Seitenspeichers der in der 4 gezeigten Anordnung.

Die Speichereinrichtung, deren Aufbau und deren Löschen und Programmieren im folgenden beschrieben wird, ist im betrachteten Beispiel ein Flash-Speicher. Die Besonderheiten der hier vorgestellten Speichereinrichtung und des hier vorgestellten Verfahrens und lassen sich jedoch auch bei anderen nichtflüchtigen Speichereinrichtungen wie beispielsweise, aber nicht ausschließlich bei EEPROMS anwenden.

Der prinzipielle Aufbau der im folgenden näher beschriebenen Anordnung ist in 4 veranschaulicht. Die in der 4 gezeigte Anordnung enthält ein Speicherzellenfeld SZF, eine Vielzahl von Leseverstärkern SA1 bis SAn, von welchen der Übersichtlichkeit halber jedoch nur ein einziger Leseverstärker SAx dargestellt ist, einen Seitenspeicher PBN, und eine Steuereinrichtung CLN.

Das Speicherzellenfeld SZF ist im betrachteten Beispiel das in der 1 gezeigte Speicherzellenfeld, kann aber auch einen anderen Aufbau aufweisen. Das Speicherzellenfeld SZF ist im betrachteten Beispiel in eine Vielzahl von Seiten unterteilt, wobei jede Seite eine Vielzahl von Speicherzellen umfaßt. Im betrachteten Beispiel wird eine Seite durch eine Speicherzellen-Reihe gebildet. Es könnte aber auch vorgesehen werden, daß jede Seite nur aus einem Teil einer Speicherzellen-Reihe besteht. Es ist auch möglich, daß eine Seite nur eine einzige Speicherzelle umfaßt. Unabhängig hiervon ist es auch möglich, daß das Speicherzellenfeld nur eine einzige Seite umfaßt.

Das Speicherzellenfeld wird im betrachteten Beispiel seitenweise programmiert. D.h., es können jeweils sämtliche Speicherzellen einer Seite gleichzeitig programmiert werden. Welche Speicherzellen einer Seite jeweils tatsächlich programmiert werden, hängt allerdings von den in die Speicherzellen zu schreibenden Daten ab.

Das Löschen und Auslesen der Speicherzellen kann ebenfalls seitenweise erfolgen, doch ist dies eher selten der Fall. Üblicherweise sind die gleichzeitig auslesbaren und die gleichzeitig löschbaren Speicherzellen nicht mit den Speicherzellen einer Seite identisch und sind unabhängig voneinander festlegbar.

Bezüglich weiterer Einzelheiten zum Speicherzellenfeld SZF wird auf die 1 und die darauf bezugnehmende Beschreibung verwiesen.

Die Leseverstärker der in der 4 gezeigten Anordnung entsprechen den in der 1 gezeigten Leseverstärkern SA1 bis SAn und dienen zum Auslesen der im Speicherzellenfeld SZF gespeicherten Daten. Die Anzahl der Leseverstärker ist im betrachteten Beispiel gleich der Anzahl der Speicherzellen pro Seite. Genauer gesagt ist jeder Speicherzelle einer Seite ein eigener Leseverstärker zugeordnet. Der Vollständigkeit halber sei darauf hingewiesen, daß auch weniger Leseverstärker, beispielsweise nur halb so viele Leseverstärker vorgesehen werden können, und die vorhandenen Leseverstärker über Multiplexer oder dergleichen abwechselnd mit verschiedenen Bitleitungen verbunden werden können.

Der Seitenspeicher PBN dient unter anderem zur Zwischenspeicherung der in eine Seite des Speicherzellenfeldes SZF zu schreibenden oder davon abhängenden Daten und weist eine Anzahl von Speicherelementen auf, die der Anzahl von Speicherzellen pro Seite entspricht. Jedes Speicherelement des Seitenspeichers ist einer bestimmten Speicherzelle des Speicherzellenfeldes SZF zugeordnet und mit der Bitleitung verbunden, die mit der zugeordneten Speicherzelle verbundenen ist. Über diese Verbindung werden die Bitleitungen während des Programmierens der mit diesen verbundenen Speicherzellen mit der zum Programmieren bzw. Nicht-Programmieren erforderlichen Bitleitungsspannung beaufschlagt. Ob die Bitleitung mit der zum Programmieren erforderlichen Bitleitungsspannung beaufschlagt wird, oder mit der zum Nicht-Programmieren erforderlichen Bitleitungsspannung beaufschlagt wird, hängt dabei von den im Seitenspeicher PBN gespeicherten Daten ab. Der Seitenspeicher PBN hat darüber hinaus auch noch weitere Funktionen, auf welche jedoch erst später näher eingegangen wird.

Der Seitenspeicher PBN kann durch die Steuereinrichtung CLN beschrieben werden. Darüber hinaus kann der Inhalt des Seitenspeichers PBN durch die Leseverstärker modifiziert werden. Zu diesem Zweck sind die vorhandenen Leseverstärker und der Seitenspeicher miteinander verbunden. Genauer gesagt ist jeder Leseverstärker mit dem Speicherelement des Seitenspeichers PBN verbunden, welches der durch den betreffenden Leseverstärker ausgelesenen Speicherzelle zugeordnet ist. Der Seitenspeicher PBN ist darüber hinaus noch über eine Steuerleitung UPD mit der Steuereinrichtung CLN verbunden. Die Verbindung zwischen dem Seitenspeicher PBN und der Steuereinrichtung CLN kann auch mehrere Steuerleitungen umfassen (siehe beispielsweise 7).

Die Modifikation des Inhaltes des Seitenspeichers PBN durch die Leseverstärker läßt sich für unterschiedliche Zwecke verwenden.

Eine erste Verwendungsmöglichkeit für die Modifikation des Inhaltes des Seitenspeichers PBN durch die Leseverstärker besteht darin, diese Modifikation als einen Schritt eines im folgenden als Nach-Programmieren bezeichneten Verfahrens zu verwenden, durch welches nicht ordnungsgemäß, genauer gesagt nicht stark genug programmierte Speicherzellen einer weiteren Programmier-Operation unterzogen werden.

Eine zweite Verwendungsmöglichkeit für die Modifikation des Inhaltes des Seitenspeichers PBN durch die Leseverstärker besteht darin, diese Modifikation als einen Schritt eines im folgenden Nach-Löschen bezeichneten Verfahrens zu verwenden, durch welches nicht ordnungsgemäß, genauer gesagt nicht stark genug gelöschte Speicherzellen einer weiteren Lösch-Operation unterzogen werden.

Eine dritte Verwendungsmöglichkeit für die Modifikation des Inhaltes des Seitenspeichers PBN durch die Leseverstärker besteht darin, diese Modifikation als einen Schritt eines im folgenden Lösch-Abschwächung bezeichneten Verfahrens zu verwenden, durch welches nicht ordnungsgemäß, genauer gesagt zu stark gelöschte Speicherzellen einer Programmier-Operation unterzogen werden.

Das Nach-Programmieren erfolgt vorzugsweise unmittelbar im Anschluß an das Programmieren von Speicherzellen. Bei einem ein Programmieren und ein anschließendes Nach-Programmieren umfassenden Beschreiben einer Seite des Speicherzellenfeldes werden folgende Schritte in der angegebenen Reihenfolge ausgeführt:

  • B1) Beschreiben des Seitenspeichers PBN mit den in die Speicherzellen zu schreibenden oder davon abhängenden Daten durch die Steuereinrichtung CLN, wobei in diejenigen Speicherelemente des Seitenspeichers, welche einer zu programmierenden Speicherzelle zugeordnet sind, ein im folgenden als Programmier-Wert bezeichneter Wert geschrieben wird, und wobei in diejenigen Speicherelemente des Seitenspeichers PBN, welche einer nicht zu programmierenden (unverändert zu lassenden) Speicherzelle zugeordnet sind, ein im folgenden als Nicht-Programmier-wert bezeichneter Wert geschrieben wird,
  • B2) Programmieren der zu programmierenden Seite unter Berücksichtigung der im Seitenspeicher PBN gespeicherten Daten, wobei diejenigen Speicherzellen, welchen ein den Programmier-Wert speicherndes Speicherelement des Seitenspeichers PBN zugeordnet ist, programmiert werden, und wobei diejenigen Speicherzellen, welchen ein den Nicht-Programmier-wert speicherndes Speicherelement des Seitenspeichers PBN zugeordnet ist, nicht programmiert werden,
  • B3) Auslesen der Speicherzellen der programmierten Seite und Weiterleiten der Ausgangssignale der Leseverstärker an die jeweils zugeordneten Speicherelemente des Seitenspeichers PBN,
  • B4) Modifizieren des Inhalts des Seitenspeichers PBN in alleiniger Abhängigkeit von den Ausgangssignalen der Leseverstärker, so daß nach dem Modifizieren

    – in denjenigen Speicherelementen des Seitenspeichers PBN, die zu programmierenden Speicherzellen zugeordnet sind, und welchen Leseverstärker zugeordnet sind, deren Ausgangssignale anzeigen, daß die ausgelesene Speicherzelle eine nicht programmierte Speicherzelle ist, der Programmier-Wert gespeichert ist, und

    – in allen anderen Speicherelementen des Seitenspeichers PBN der Nicht-Programmier-Wert gespeichert ist, und
  • B5) bei Bedarf, genauer gesagt wenn nach der Modifikation in einem, mehreren, oder allen Speicherelementen des Seitenspeichers PBN der Programmier-Wert gespeichert ist, Wiederholen der Schritte B2 bis B5.

Das Nach-Löschen und die Lösch-Abschwächung erfolgen vorzugsweise unmittelbar im Anschluß an das Löschen von Speicherzellen. Bei einem ein Nach-Löschen und/oder eine Lösch-Abschwächung umfassenden Löschen von Speicherzellen des Speicherzellenfeldes werden folgende Schritte in der angegebenen Reihenfolge ausgeführt:

  • L1) Beschreiben der Speicherelemente des Seitenspeichers PBN, die den zu löschenden Speicherzellen des Speicherzellenfeldes SZF zugeordnet sind, mit einem im folgenden als Lösch-Wert bezeichneten Wert durch die Steuereinrichtung CLN,
  • L2) Löschen der Speicherzellen, welchen ein den Lösch-Wert speicherndes Speicherelement des Seitenspeichers PBN zugeordnet ist,

    und, falls bei Bedarf ein Nach-Löschen durchgeführt werden soll:

    NL3) Auslesen der gelöschten Speicherzellen und Weiterleiten der Ausgangssignale der Leseverstärker an die jeweils zugeordneten Speicherelemente des Seitenspeichers PBN,

    NL4) Modifizieren des Inhalts der Speicherelemente des Seitenspeichers in alleiniger Abhängigkeit von den Ausgangssignalen der Leseverstärker, und

    NL5) bei Bedarf, genauer gesagt wenn nach der Modifikation in einem, mehreren, oder allen Speicherelementen des Seitenspeichers PBN der Lösch-Wert gespeichert ist, Wiederholen der Schritte L2 und NL2 bis

    NL5,

    und/oder, falls bei Bedarf eine Lösch-Abschwächung durchgeführt werden soll:

    LA3) Auslesen der gelöschten Speicherzellen und Weiterleiten der Ausgangssignale der Leseverstärker an die jeweils zugeordneten Speicherelemente des Seitenspeichers PBN,

    LA4) Modifizieren des Inhalts der Speicherelemente des Seitenspeichers in alleiniger Abhängigkeit von den Ausgangssignalen der Leseverstärker, und

    LA5) bei Bedarf, genauer gesagt wenn nach der Modifikation in einem, mehreren, oder allen Speicherelementen des Seitenspeichers PBN der Lösch-Wert gespeichert ist, Durchführung einer Programmieroperation für die Speicherzellen, welchen ein den Lösch-Wert speicherndes Speicherelement zugeordnet ist, zur Abschwächung des Löschzustandes, und Wiederholung der Schritte LA3 bis LAS,

Das in den Schritten B3, NL3, und LA3 erfolgende Auslesen erfolgt unter anderen Bedingungen als es beim Auslesen, das bei einem normalen Lesezugriff auf die Speichereinrichtung durchgeführt wird, der Fall ist.

Bei dem durch einen normalen Lesezugriff auf die Speichereinrichtung ausgeführten Auslesen der Speichereinrichtung werden die Spannungen, die während des Auslesens an die Sourceleitung und an die Wortleitung der auszulesenden Speicherzellen angelegt werden, so gewählt, daß die Differenz zwischen diesen Spannungen in der Mitte zwischen VT2 und VT3 liegt (siehe 2), und daß die Wortleitungsspannung gleichzeitig so groß ist, daß die Speichertransistoren, deren Thresholdpannung kleiner ist als die Differenz zwischen der Sourceleitungs-Spannung und der Wortleitungs-Spannung, in den leitenden Zustand gelangen.

Hingegen werden bei dem in Schritt B3 durchgeführten Auslesen der Speichereinrichtung die Spannungen, die während des Auslesens an die Sourceleitung und an die Wortleitung der auszulesenden Speicherzellen angelegt werden, so gewählt, daß die Differenz zwischen diesen Spannungen VT3 beträgt (siehe 2), und daß die Wortleitungsspannung gleichzeitig so groß ist, daß die Speichertransistoren, deren Thresholdpannung kleiner ist als die Differenz zwischen der Sourceleitungs-Spannung und der Wortleitungs-Spannung, in den leitenden Zustand gelangen. Dies hat den Effekt, daß nur Speichertransistoren, deren Threshold-Spannung größer ist als VT3, von den Leseverstärkern als programmierte Speichertransistoren erkannt werden, und daß alle anderen Speichertransistoren als nicht programmierte Speichertransistoren erkannt werden. Zu den in Schritt B3 von den Leseverstärkern als nicht programmiert eingestuften Speichertransistoren gehören somit auch Speichertransistoren, die beim normalen Auslesen der Speichereinrichtung zwar als programmierte Speichertransistoren erkannt werden würden, aber eine unter VT3 liegende Thresholdspannung aufweisen und folglich nur vergleichsweise schwach programmiert sind. Diese schwach programmierten Speichertransistoren können, sofern sie nicht defekt sind, durch eine einmalige oder mehrmalige erneute Programmierung in einen Zustand versetzt werden, in welchem sie eine über VT3 liegende Thresholdspannung aufweisen.

Bei dem in Schritt NL3 durchgeführten Auslesen der Speichereinrichtung sind die Spannungen, die während des Auslesens an die Sourceleitung und an die Wortleitung der auszulesenden Speicherzellen angelegt werden, so gewählt, daß die Differenz zwischen diesen Spannungen VT2 beträgt (siehe 2), und daß die Wortleitungsspannung gleichzeitig so groß ist, daß die Speichertransistoren, deren Thresholdpannung kleiner ist als die Differenz zwischen der Sourceleitungs-Spannung und der Wortleitungs-Spannung, in den leitenden Zustand gelangen. Dies hat den Effekt, daß nur Speichertransistoren, deren Threshold-Spannung kleiner ist als VT2, von den Leseverstärkern als gelöschte Speichertransistoren erkannt werden, und daß alle anderen Speichertransistoren als nicht gelöschte Speichertransistoren erkannt werden. Zu den in Schritt NL3 von den Leseverstärkern als nicht gelöscht eingestuften Speichertransistoren gehören somit auch Speichertransistoren, die beim normalen Auslesen der Speichereinrichtung zwar als gelöschte Speichertransistoren erkannt werden würden, aber eine über VT2 liegende Thresholdspannung aufweisen und folglich vergleichsweise schwach gelöscht sind. Diese schwach gelöschten Speichertransistoren können, sofern sie nicht defekt sind, durch ein einmaliges oder mehrmaliges erneutes Löschen in einen Zustand versetzt werden, in welchem sie eine unter VT2 liegende Thresholdspannung aufweisen.

Bei dem in Schritt LA3 durchgeführten Auslesen sind die Spannungen, die während des Auslesens an die Sourceleitung und an die Wortleitung der auszulesenden Speicherzellen angelegt werden, so gewählt, daß die Differenz zwischen diesen Spannungen VT1 beträgt (siehe 2), und daß die Wortleitungsspannung gleichzeitig so groß ist, daß die Speichertransistoren, deren Thresholdpannung kleiner ist als die Differenz zwischen der Sourceleitungs-Spannung und der Wortleitungs-Spannung, in den leitenden Zustand gelangen. Gleichzeitig wird an die Wortleitungen der restlichen Speicherzellen-Reihen eine noch kleinere Wortleitungsspannung angelegt, wobei diese Wortleitungsspannung auch eine negative Spannung sein kann; sie ist so klein (so stark negativ), daß von den in diesen Speicherzellen-Reihen befindlichen Speichertransistoren selbst diejenigen Speichertransistoren, die so stark gelöscht sind, daß die sich beim normalen Auslesen der Speichereinrichtung im selbstleitenden Zustand befinden würden, nicht mehr in den leitenden Zustand gelangen können. Dies hat den Effekt, daß von den Leseverstärkern nur die zu stark gelöschten Speichertransistoren der Speicherzellen-Reihe, in welchen sich die auszulesenden Speichertransistoren befinden, als gelöschte Speichertransistoren erkannt werden, und daß alle anderen Speichertransistoren als nicht gelöschte Speichertransistoren erkannt werden. Diese zu stark gelöschten Speichertransistoren können, sofern sie nicht defekt sind, durch eine einmalige oder mehrmalige Programmieroperation in einen Zustand versetzt werden, in welchem sie eine zwischen VT1 und VT2 liegende Thresholdspannung aufweisen.

Zur Modifikation des Inhaltes des Seitenspeichers PBN durch die Leseverstärker existieren mehrere Möglichkeiten.

Eine erste Möglichkeit ist in 5 veranschaulicht. Die 5 zeigt den Leseverstärker SAx, das diesem Leseverstärker zugeordnete Speicherelement PBEx des Seitenspeichers PBN, eine Umsetzungseinrichtung TM, und die Steuereinrichtung CLN.

Das Speicherelement PBEx besteht aus einer Reihenschaltung eines Transistors TR11 und eines Zwischenspeichers, wobei der Zwischenspeicher im betrachteten Beispiel durch ein aus zwei antiparallel geschalteten Invertern I1 und I2 bestehendes Latch gebildet wird. Der Source-Anschluß des Transistors TR11 ist mit dem Ausgangsanschluß des Leseverstärkers SAx verbunden, der Gate-Anschluß des Transistors TR11 ist über eine Steuerleitung UPD mit der Steuereinrichtung CLN verbunden, und der Drain-Anschluß des Transistors TR11 ist mit einem im folgenden als Knoten NE bezeichneten Verbindungspunkt der Inverter I1 und I2 verbunden. Der andere, im folgenden als Knoten NA bezeichnete Verbindungspunkt der Inverter I1 und I2 stellt den Ausgangsanschluß des Speicherelementes PBEx dar und ist über die Umsetzungseinrichtung TM mit der zugeordneten Bitleitung BLx verbunden.

Die Umsetzungseinrichtung TM kann verschiedene Aufgaben übernehmen. Sie kann beispielsweise dafür sorgen, daß nur während des Programmierens einer Speicherzelle die dieser Speicherzelle zugeordnete Bitleitung mit einer ein Programmieren der betreffenden Speicherzelle bewirkenden Programmierspannung beaufschlagt werden kann. Sie kann ferner zur Umsetzung der aus dem Speicherelement PBEx ausgegebenen Spannung in die Spannung verwendet werden, die während des Programmierens bzw. Nicht-Programmierens an die Bitleitung angelegt werden muß. Letzteres ist erforderlich, wenn die aus dem Speicherelement PBEx ausgegebene Spannung nicht die Spannung ist, die an die Bitleitung der zugeordneten Speicherzelle angelegt werden muß, damit in dieser die durch die Ausgangsspannung des Speicherelements vorgegebene Aktion ausgeführt wird.

Die in der 5 gezeigte Anordnung eignet sich, wie im folgenden näher beschrieben wird, insbesondere zum Löschen von Speicherzellen und anschließender Durchführung des vorstehend erwähnten Nach-Löschens für die zu schwach gelöschten Speicherzellen.

Wenn eine Komponente des die Speichereinrichtung enthaltenden Systems Speicherzellen des Speicherzellenfeldes löschen möchte, übermittelt die betreffende Komponente an die Steuereinrichtung CLN entsprechende Steuerbefehle sowie die Startadresse oder die Adressen der zu löschenden Speicherzellen. Es kann auch vorgesehen werden, daß die Steuereinrichtung CLN von sich aus automatisch ein Löschen veranlaßt, beispielsweise wenn sie von einer Komponente des die Speichereinrichtung enthaltenden Systems den Befehl erhalten hat, neue Daten in die Speichereinrichtung zu schreiben.

Die Steuereinrichtung CLN beschreibt daraufhin den Seitenspeicher PBN, genauer gesagt die durch die Inverter I1 und I2 gebildeten Latches der Speicherelemente PBEx. Im betrachteten Beispiel ist es so, daß die Steuereinrichtung CLN diejenigen Speicherelemente PBEx des Seitenspeichers PBN, die zu löschenden Speicherzellen des Speicherzellenfeldes SZF zugeordnet sind, mit dem Wert 0, und alle anderen Speicherelemente PBEx des Seitenspeichers PBN mit dem Wert 1 beschreibt. D.h., im betrachteten Beispiel ist der Wert 0 der vorstehend bereits erwähnte Lösch-Wert. Dieses Beschreiben des Seitenspeichers PBN durch die Steuereinrichtung CLN erfolgt im vorstehend erwähnten Schritt L1.

Danach erfolgt das Löschen der zu löschenden Speicherzellen. Dabei werden diejenigen Speicherzellen, welchen ein den Lösch-Wert, also ein den Wert 0 speicherndes Speicherelement PBEx des Seitenspeichers PBN zugeordnet ist, gelöscht. Dieses Löschen erfolgt im vorstehend erwähnten Schritt L2.

Im Idealfall sind die in Schritt L2 gelöschten Speicherzellen ordnungsgemäß, d.h. weder zu schwach noch zu stark gelöscht, so daß die Thresholdspannungen der gelöschten Speicherzellen zwischen VT1 und VT2 (siehe 2) liegen. Da dies jedoch nicht immer der Fall ist, erweist es sich als vorteilhaft, wenn anschließend die vorstehend erwähnten Schritte NL3 bis NL5 durchgeführt werden, genauer gesagt ein Nach-Löschen der zu schwach gelöschten Speicherzellen durchgeführt wird.

Hierbei wird zunächst das in Schritt NL3 erfolgende Auslesen der gelöschten Speicherzellen durchgeführt. Dieses Auslesen wurde vorstehend bereits ausführlich beschrieben und bedarf keiner näheren Erläuterung mehr. Erwähnenswert ist lediglich, daß im betrachteten Beispiel Leseverstärker verwendet werden, die eine einen Pegel 0 repräsentierende Spannung ausgeben, wenn die ausgelesene Speicherzelle als gelöscht erkannt wird (eine unter VT2 liegende Thresholdspannung aufweist), und die eine einen Pegel 1 repräsentierende Spannung ausgeben, wenn die ausgelesene Speicherzelle als nicht gelöscht erkannt wird (eine über VT2 liegende Thresholdspannung aufweist). Die Ausgangssignale der Leseverstärker werden, wie aus der 5 ersichtlich ist, dem Source-Anschluß des Transistors TR11 zugeführt.

Wenn die Ausgangssignale der Leseverstärker gültig sind, wird das normalerweise einen niedrigen Pegel aufweisende Steuersignal UPD kurzzeitig auf den hohen Pegel geschaltet. Was dann passiert, hängt von der Ausgangsspannung der Leserverstärker ab und wird im folgenden für den Leseverstärker SAx und das diesem zugeordnete Speicherelement PBEx des Seitenspeichers PBN beschrieben.

Es sei zunächst angenommen, daß der durch den Leseverstärker SAx ausgelesene Speichertransistor ordnungsgemäß gelöscht ist, also beispielsweise eine zwischen VT1 und VT2 liegende Thresholdspannung aufweist. In diesem Fall gibt der Leseverstärker SAx ein Signal mit dem Pegel 0 aus. Ferner sei an dieser Stelle nochmals darauf hingewiesen, daß in den Speicherelementen PEBx des Seitenspeichers PBN, die den zu löschenden Speicherzellen des Speicherzellenfeldes zugeordnet sind, ein Bit mit dem Wert 0 gespeichert ist. D.h., am Knoten NA eines solchen Speicherelementes PBEx liegt eine Spannung mit dem Pegel 0 an, und am Knoten NE liegt eine Spannung mit dem Pegel 1 an. Das dem Gateanschluß des Transistors TR11 von der Steuereinrichtung CLN zugeführte Signal UPD hat zunächst noch niedrigen Pegel, so daß der Transistor TR11 sperrt und die sich an den Knoten NA und NE einstellenden Potentiale sich nicht verändern können.

Wenn in diesem Zustand das dem Speicherelement PBEx von der Steuereinrichtung zugeführte Signal UPD kurzzeitig auf den hohen Pegel geht, wird der Transistor TR11 jedoch leitend, so daß der Ausgang des Leseverstärkers SAx mit dem Knoten NE des Speicherelementes PBEx verbunden ist. Da das vom Leseverstärker SAx ausgegebene Signal stärker getrieben ist als das vom Inverter I2 ausgegebene Signal, geht der Knoten NE auf niedriges Potential. Dies wiederum hat zur Folge, daß der Knoten NA auf hohes Potential geht, und folglich in dem durch die Inverter I1 und I2 gebildeten Latch nunmehr ein Bit mit dem Wert 1, also nicht mehr der Lösch-Wert gespeichert ist.

Anders verhält es sich, wenn der durch den Leseverstärker SAx ausgelesene Speichertransistor zu schwach gelöscht ist, also eine über VT2 liegende Thresholdspannung aufweist. In diesem Fall gibt der Leseverstärker SAx ein Signal mit dem Pegel 1 aus. In diesem Fall bleibt das sich am Knoten NE einstellende Potential und damit auch das sich am Knoten NA einstellende Potential unverändert, so daß in dem durch die Inverter I1 und I2 gebildeten Latch weiterhin ein Bit mit dem Wert 0, also der Lösch-Wert gespeichert bleibt.

Die beschriebene Modifikation des Inhaltes der Speicherelemente PEBx des Seitenspeichers ist die im vorstehend erwähnten Schritt N4 erfolgende Modifikation.

Im Idealfall sind im Seitenspeicher PBN nach dem Auslesen der gelöschten Speicherzellen lauter Einsen gespeichert. Dies bedeutet, daß alle in Schritt L2 gelöschten Speicherzellen ordnungsgemäß gelöscht sind, und kein Nach-Löschen erforderlich ist. Wenn andererseits im Seitenspeicher PBN eine oder mehrere Nullen gespeichert sind, bedeutet dies, daß das Löschen nicht erfolgreich war, genauer gesagt, daß diejenigen Speicherzellen des Speicherzellenfeldes, welchen die Bits mit dem Wert 0 speichernden Speicherelemente PBE des Seitenspeichers PBN zugeordnet sind, zu schwach gelöscht wurden.

Im vorstehend erwähnten Schritt NL5 wird überprüft, ob alle in Schritt L2 gelöschten Speicherzellen ordnungsgemäß gelöscht wurden. Wenn sich hierbei herausstellt, daß dies nicht der Fall ist, genauer gesagt wenn in einem oder mehreren Speicherelementen des Seitenspeichers PBN der Lösch-Wert gespeichert ist, wird der Löschvorgang (Schritt L2) wiederholt. Hierbei werden allerdings nur diejenigen Speicherzellen des Speicherzellenfeldes, die nicht ordnungsgemäß gelöscht wurden, also diejenigen Speicherzellen, welchen ein den Lösch-Wert speicherndes Speicherelement PBEx des Seitenspeichers PBN zugeordnet ist, erneut gelöscht.

Im Anschluß daran können die Schritte NL3 bis NL5 und das Programmieren der zu stark gelöschten Speicherzellen wiederholt werden. Prinzipiell kann eine beliebig große Anzahl von Wiederholungen dieser Schritte durchgeführt werden. Vorzugsweise wird jedoch maximal eine vorgegebene maximale Anzahl von Wiederholungen durchgeführt. Wenn nach dieser Anzahl von Wiederholungen immer noch nicht alle zu löschenden Speicherzellen ordnungsgemäß gelöscht sind, kann davon ausgegangen werden, daß die Speichereinrichtung defekt ist. Der Vollständigkeit halber sei angemerkt, daß auch dann, wenn alle zu löschenden Speicherzellen ordnungsgemäß gelöscht sind, keine weiteren Wiederholungen mehr durchgeführt werden müssen.

Durch das einmalige oder mehrmalige Nach-Löschen der zu schwach gelöschten Speicherzellen verändert sich deren Threshold-Spannung. Genauer gesagt wird dadurch, sofern die zu schwach gelöschten Speicherzellen nicht defekt sind, die Thresholdspannung der betreffenden Speichertransistoren kleiner als die Differenz zwischen den beim Auslesen in Schritt NL3 verwendeten Sourceleitungs- und Wortleitungsspannungen. D.h., aus einer zu schwach gelöschten Speicherzelle wird durch das Nach-Löschen eine normal gelöschte Speicherzelle.

Die in der 5 gezeigten Anordnung läßt sich mannigfaltig modifizieren. Beispielsweise gelangt man zu einer Anordnung, die ebenfalls für ein Nach-Löschen verwendbar ist, wenn

  • – als Lösch-Wert der Wert 1 verwendet wird, und die Leseverstärker ein Signal mit dem Pegel 1 ausgeben, wenn die Thresholdspannungen der ausgelesenen Speicherzellen kleiner als die Differenz der in Schritt NL3 verwendeten Wortleitungs- und Sourceleitungsspannungen, und in allen anderen Fällen ein Signal mit dem Pegel 0 ausgeben, oder
  • – als Lösch-Wert der Wert 1 verwendet wird, und der Drainanschluß des Transistors T11 nicht mit dem Knoten NE, sondern mit dem Knoten NA verbunden ist, oder
  • – der Drainanschluß des Transistors T11 nicht mit dem Knoten NE, sondern mit dem Knoten NA verbunden ist und die Leseverstärker ein Signal mit dem Pegel 1 ausgeben, wenn die Thresholdspannungen der ausgelesenen Speicherzellen kleiner als die Differenz der in Schritt NL3 verwendeten Wortleitungs- und Sourceleitungsspannungen, und in allen anderen Fällen ein Signal mit dem Pegel 0 ausgeben.

Modifiziert man die in der 5 gezeigte Anordnung "nur" dahingehend, daß der Drainanschluß des Transistors T11 nicht mit dem Knoten NE, sondern mit dem Knoten NA verbunden ist, dann kann diese modifizierte Anordnung zum Löschen von Speicherzellen und anschließender Durchführung der vorstehend bereits erwähnten Lösch-Abschwächung der zu stark gelöschten Speicherzellen verwendet werden.

Das Löschen der zu löschenden Speicherzellen erfolgt wie das Löschen bei der in der 5 gezeigten Anordnung durch die Ausführung der Schritte L1 und L2.

Im Idealfall sind die in Schritt L2 gelöschten Speicherzellen ordnungsgemäß, d.h. weder zu schwach noch zu stark gelöscht, so daß die Thresholdspannungen der gelöschten Speicherzellen zwischen VT1 und VT2 (siehe 2) liegen. Da dies jedoch nicht immer der Fall ist, erweist es sich als vorteilhaft, wenn anschließend die vorstehend erwähnten Schritte LA3 bis LA5 durchgeführt werden, genauer gesagt eine Lösch-Abschwächung der zu stark gelöschten Speicherzellen durchgeführt wird.

Hierbei wird zunächst das in Schritt LA3 erfolgende Auslesen der gelöschten Speicherzellen durchgeführt. Dieses Auslesen wurde vorstehend bereits ausführlich beschrieben und bedarf keiner näheren Erläuterung mehr. Erwähnenswert ist lediglich, daß im betrachteten Beispiel Leseverstärker verwendet werden, die – wie bei der in der 5 gezeigten Anordnung – eine den Pegel 0 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung ein Strom fließt, und eine den Pegel 1 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung kein Strom fließt. Die Ausgangssignale der Leseverstärker werden dem Source-Anschluß des Transistors TR11 der modifizierten Anordnung zugeführt.

Wenn die Ausgangssignale der Leseverstärker gültig sind, wird das normalerweise einen niedrigen Pegel aufweisende Steuersignal UPD kurzzeitig auf den hohen Pegel geschaltet. Was dann passiert, hängt von der Ausgangsspannung der Leserverstärker ab und wird im folgenden für den Leseverstärker SAx und das diesem zugeordnete Speicherelement PBEx des Seitenspeichers PBN beschrieben.

Es sei zunächst angenommen, daß der durch den Leseverstärker SAx ausgelesene Speichertransistor nicht zu stark gelöscht ist, also beispielsweise eine zwischen VT1 und VT2 liegende Thresholdspannung aufweist. In diesem Fall gibt der Leseverstärker SAx ein Signal mit dem Pegel 1 aus. Ferner sei an dieser Stelle nochmals darauf hingewiesen, daß in den Speicherelementen PEBx des Seitenspeichers PBN, die den zu löschenden Speicherzellen des Speicherzellenfeldes zugeordnet sind, ein Bit mit dem Wert 0 gespeichert ist. D.h., am Knoten NA eines solchen Speicherelementes PBEx liegt eine Spannung mit dem Pegel 0 an. Das dem Gateanschluß des Transistors TR11 von der Steuereinrichtung CLN zugeführte Signal UPD hat zunächst noch niedrigen Pegel, so daß der Transistor TR11 sperrt und das sich am Knoten NA einstellende Potential sich nicht verändern kann.

Wenn in diesem Zustand das dem Speicherelement PBEx von der Steuereinrichtung zugeführte Signal UPD kurzzeitig auf den hohen Pegel geht, wird der Transistor TR11 jedoch leitend, so daß der Ausgang des Leseverstärkers SAx mit dem Knoten NA des Speicherelementes PBEx verbunden ist. Da das vom Leseverstärker SAx ausgegebene Signal stärker getrieben ist als das vom Inverter I1 ausgegebene Signal, geht der Knoten NA auf hohes Potential, so daß in dem durch die Inverter I1 und I2 gebildeten Latch nunmehr ein Bit mit dem Wert 1, also nicht mehr der Lösch-Wert gespeichert ist.

Anders verhält es sich, wenn der durch den Leseverstärker SAx ausgelesene Speichertransistor zu stark gelöscht, also unter den Auslesebedingungen selbstleitend ist. In diesem Fall gibt der Leseverstärker SAx ein Signal mit dem Pegel 0 aus. In diesem Fall bleibt das sich am Knoten NA einstellende Potential unverändert, so daß in dem durch die Inverter I1 und I2 gebildeten Latch weiterhin ein Bit mit dem Wert 0, also der Lösch-Wert gespeichert bleibt.

Die beschriebene Modifikation des Inhaltes der Speicherelemente PEBx des Seitenspeichers ist die im vorstehend erwähnten Schritt LA4 erfolgende Modifikation.

Im Idealfall sind im Seitenspeicher PBN nach dem Auslesen der gelöschten Speicherzellen lauter Einsen gespeichert. Dies bedeutet, daß keine der in Schritt L2 gelöschten Speicherzellen zu stark gelöscht ist, und somit keine Lösch-Abschwächung erforderlich ist. Wenn andererseits im Seitenspeicher PBN eine oder mehrere Nullen gespeichert sind, bedeutet dies, daß das Löschen nicht erfolgreich war, genauer gesagt, daß diejenigen Speicherzellen des Speicherzellenfeldes, welchen die Bits mit dem Wert 0 speichernden Speicherelemente PBE des Seitenspeichers PBN zugeordnet sind, zu stark gelöscht wurden.

Im vorstehend erwähnten Schritt LA5 wird überprüft, ob alle in Schritt L2 gelöschten Speicherzellen ordnungsgemäß gelöscht wurden. Wenn sich hierbei herausstellt, daß dies nicht der Fall ist, genauer gesagt wenn in einem oder mehreren Speicherelementen des Seitenspeichers PBN der Lösch-Wert gespeichert ist, wird eine Programmieroperation durchgeführt. Hierbei werden allerdings nur diejenigen Speicherzellen des Speicherzellenfeldes, die nicht ordnungsgemäß gelöscht wurden, also diejenigen Speicherzellen, welchen ein den Lösch-Wert speicherndes Speicherelement PBEx des Seitenspeichers PBN zugeordnet ist, programmiert.

Im Anschluß daran können die Schritte LA3 bis LA5 und der dann immer noch zu stark gelöschten Speicherzellen wiederholt werden. Prinzipiell kann eine beliebig große Anzahl von Wiederholungen dieser Schritte durchgeführt werden. Vorzugsweise wird jedoch maximal eine vorgegebene maximale Anzahl von Wiederholungen durchgeführt. Wenn nach dieser Anzahl von Wiederholungen immer noch nicht alle zu löschenden Speicherzellen ordnungsgemäß gelöscht sind, kann davon ausgegangen werden, daß die Speichereinrichtung defekt ist. Der Vollständigkeit halber sei angemerkt, daß auch dann, wenn alle zu löschenden Speicherzellen ordnungsgemäß gelöscht sind, keine weiteren Wiederholungen mehr durchgeführt werden müssen.

Durch das einmalige oder mehrmalige Programmieren der zu stark gelöschten Speicherzellen verändert sich deren Threshold-Spannung. Genauer gesagt wandert die Thresholdspannung dadurch, sofern die zu stark gelöschten Speicherzellen nicht defekt sind, in den Bereich zwischen VT1 und VT2. D.h., aus einer zu stark gelöschten Speicherzelle wird durch das Programmieren eine normal gelöschte Speicherzelle.

Die modifizierte Anordnung läßt sich mannigfaltig abwandeln. Beispielsweise gelangt man zu einer Anordnung, die ebenfalls für eine Lösch-Abschwächung verwendbar ist, wenn

  • – als Lösch-Wert der Wert 1 verwendet wird, und Leseverstärker verwendet werden, die eine den Pegel 0 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung ein Strom fließt, und eine den Pegel 1 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung kein Strom fließt, oder
  • – als Lösch-Wert der Wert 1 verwendet wird, und der Drainanschluß des Transistors T11 nicht mit dem Knoten NA, sondern mit dem Knoten NE verbunden ist, oder
  • – der Drainanschluß des Transistors T11 nicht mit dem Knoten NA, sondern mit dem Knoten NE verbunden ist, und Leseverstärker verwendet werden, die eine den Pegel 0 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung ein Strom fließt, und eine den Pegel 1 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung kein Strom fließt.

Eine weitere Möglichkeit zur Modifikation des Inhaltes des Seitenspeichers PBN durch die Leseverstärker ist in 6 veranschaulicht.

Die in der 6 gezeigte Anordnung eignet sich, wie im folgenden näher beschrieben wird, insbesondere zum Löschen von Speicherzellen und anschließender Durchführung der vorstehend erwähnten Lösch-Abschwächung für die zu stark gelöschten Speicherzellen.

Der Aufbau der in der 6 gezeigten Anordnung entspricht weitgehend dem Aufbau der in der 5 gezeigten Anordnung. Die folgende Beschreibung der Anordnung gemäß 6 beschränkt sich daher großteils auf die Unterschiede zur Anordnung gemäß 5. Bezüglich weiterer Einzelheiten zur Anordnung gemäß 6 wird auf die vorstehende ausführliche Beschreibung der Anordnung gemäß 5 verwiesen. Mit den selben Bezugszeichen bezeichnete Komponenten bezeichnen identische oder einander entsprechende Komponenten.

Die 6 zeigt den Leseverstärker SAx, ein diesem Leseverstärker zugeordnetes Speicherelement PBE2x des Seitenspeichers PBN, die Umsetzungseinrichtung TM, und die Steuereinrichtung CLN.

Der Hauptunterschied zwischen der Anordnung gemäß 6 und der Anordnung gemäß 5 besteht in den unterschiedlich aufgebauten und arbeitenden Speicherelementen PBE2 bzw. PBE des Seitenspeichers PBN. Auch die Speicherelemente PBE2 und PBE stimmen jedoch teilweise überein.

Ein Speicherelement PBE2x besteht aus einer Reihenschaltung eines ersten Transistors TR21, eines zweiten Transistors TR22, und eines Zwischenspeichers, wobei der Zwischenspeicher im betrachteten Beispiel durch ein aus zwei antiparallel geschalteten Invertern I1 und I2 bestehendes Latch gebildet wird. Vom Transistor TR21 ist der Source-Anschluß mit Masse verbunden, ist der Gate-Anschluß mit dem Ausgangsanschluß des Leseverstärkers SAx verbunden, und ist der Drain-Anschluß mit dem Sourceanschluß des zweiten Transistors TR22 verbunden. Vom zweiten Transistor TR22 ist der Source-Anschluß mit dem Drain-Anschluß des ersten Transistors T21 verbunden, ist der Gate-Anschluß über die Leitung UPD mit der Steuereinrichtung CLN verbunden, und ist der Drain-Anschluß mit dem als Knoten NE bezeichneten Verbindungspunkt der Inverter I1 und I2 verbunden. Der andere, im folgenden als Knoten NA bezeichnete Verbindungspunkt der Inverter I1 und I2 stellt den Ausgangsanschluß des Speicherelementes PBE2x dar und ist über die Umsetzungseinrichtung TM mit der zugeordneten Bitleitung BLx verbunden. Es dürfte einleuchten und bedarf keiner näheren Erläuterung, daß die Gateanschlüsse der Transistoren TR21 und TR22 auch vertauscht sein könnten.

Wie vorstehend bereits erwähnt wurde, kann die Anordnung gemäß 6 zum Löschen von Speicherzellen und anschließender Durchführung der vorstehend bereits erwähnten Lösch-Abschwächung der zu stark gelöschten Speicherzellen verwendet werden.

Das Löschen der zu löschenden Speicherzellen erfolgt wie das Löschen bei der in der 5 gezeigten Anordnung durch die Ausführung der Schritte L1 und L2.

Im Idealfall sind die in Schritt L2 gelöschten Speicherzellen ordnungsgemäß, d.h. weder zu schwach noch zu stark gelöscht, so daß die Thresholdspannungen der gelöschten Speicherzellen zwischen VT1 und VT2 (siehe 2) liegen. Da dies jedoch nicht immer der Fall ist, erweist es sich als vorteilhaft, wenn anschließend die vorstehend erwähnten Schritte LA3 bis LA5 durchgeführt werden, genauer gesagt eine Lösch-Abschwächung der zu stark gelöschten Speicherzellen durchgeführt wird.

Hierbei wird zunächst das in Schritt LA3 erfolgende Auslesen der gelöschten Speicherzellen durchgeführt. Dieses Auslesen wurde vorstehend bereits ausführlich beschrieben und bedarf keiner näheren Erläuterung mehr. Erwähnenswert ist lediglich, daß im betrachteten Beispiel Leseverstärker verwendet werden, die – wie auch die zuvor beschriebenen Anordnungen – eine den Pegel 0 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung ein Strom fließt, und eine den Pegel 1 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung kein Strom fließt. Die Ausgangssignale der Leseverstärker werden dem Gate-Anschluß des Transistors TR21 zugeführt.

Wenn die Ausgangssignale der Leseverstärker gültig sind, wird das normalerweise einen niedrigen Pegel aufweisende Steuersignal UPD kurzzeitig auf den hohen Pegel geschaltet. Was dann passiert, hängt von der Ausgangsspannung der Leserverstärker ab und wird im folgenden für den Leseverstärker SAx und das diesem zugeordnete Speicherelement PBE2x des Seitenspeichers PBN beschrieben.

Es sei zunächst angenommen, daß der durch den Leseverstärker SAx ausgelesene Speichertransistor nicht zu stark gelöscht ist, also beispielsweise eine zwischen VT1 und VT2 liegende Thresholdspannung aufweist. In diesem Fall gibt der Leseverstärker SAx ein Signal mit dem Pegel 1 aus. Ferner sei an dieser Stelle nochmals darauf hingewiesen, daß in den Speicherelementen PEB2x des Seitenspeichers PBN, die den zu löschenden Speicherzellen des Speicherzellenfeldes zugeordnet sind, ein Bit mit dem Wert 0 gespeichert ist. D.h., am Knoten NA des Speicherelementes PBE2x liegt eine Spannung mit dem Pegel 0 an, und am Knoten NE des Speicherelementes PBE2x liegt eine Spannung mit dem Pegel 1 an. Das dem Gateanschluß des Transistors TR22 von der Steuereinrichtung CLN zugeführte Signal UPD hat zunächst noch niedrigen Pegel, so daß der Transistor TR22 sperrt und die sich an den Knoten NA und NE einstellenden Potentiale sich nicht verändern können.

Wenn in diesem Zustand das dem Speicherelement PBE2x von der Steuereinrichtung zugeführte Signal UPD kurzzeitig auf den hohen Pegel geht, werden die Transistoren TR21 und TR22 jedoch leitend, so daß der Knoten NE des Speicherelementes PBE2x mit Masse verbunden ist. Da das sich am Knoten NE einstellende Potential durch den Masseanschluß stärker auf Masse gezogen wird als es vom Inverter I2 auf hohes Potential getrieben wird, geht der Knoten NE auf niedriges Potential. Dies hat zur Folge, daß der Knoten NA auf hohes Potential geht, und folglich in dem durch die Inverter I1 und I2 gebildeten Latch nunmehr ein Bit mit dem Wert 1, also nicht mehr der Lösch-Wert gespeichert ist.

Anders verhält es sich, wenn der durch den Leseverstärker SAx ausgelesene Speichertransistor zu stark gelöscht, also unter den Auslesebedingungen selbstleitend ist. In diesem Fall gibt der Leseverstärker SAx ein Signal mit dem Pegel 0 aus. In diesem Fall bleiben die sich an den Knoten NA und NE einstellende Potentiale unverändert, so daß in dem durch die Inverter I1 und I2 gebildeten Latch weiterhin ein Bit mit dem Wert 0, also der Lösch-Wert gespeichert bleibt.

Die beschriebene Modifikation des Inhaltes der Speicherelemente PEB2x des Seitenspeichers ist die im vorstehend erwähnten Schritt LA4 erfolgende Modifikation.

Im Idealfall sind im Seitenspeicher PBN nach dem Auslesen der gelöschten Speicherzellen lauter Einsen gespeichert. Dies bedeutet, daß keine der in Schritt L2 gelöschten Speicherzellen zu stark gelöscht ist, und somit keine Lösch-Abschwächung erforderlich ist. Wenn andererseits im Seitenspeicher PBN eine oder mehrere Nullen gespeichert sind, bedeutet dies, daß das Löschen nicht erfolgreich war, genauer gesagt, daß diejenigen Speicherzellen des Speicherzellenfeldes, welchen die Bits mit dem Wert 0 speichernden Speicherelemente PBE des Seitenspeichers PBN zugeordnet sind, zu stark gelöscht wurden.

Im vorstehend erwähnten Schritt LA5 wird überprüft, ob alle in Schritt L2 gelöschten Speicherzellen ordnungsgemäß gelöscht wurden. Wenn sich hierbei herausstellt, daß dies nicht der Fall ist, genauer gesagt wenn in einem oder mehreren Speicherelementen des Seitenspeichers PBN der Lösch-Wert gespeichert ist, wird eine Programmieroperation durchgeführt. Hierbei werden allerdings nur diejenigen Speicherzellen des Speicherzellenfeldes, die nicht ordnungsgemäß gelöscht wurden, also diejenigen Speicherzellen, welchen ein den Lösch-Wert speicherndes Speicherelement PBE2x des Seitenspeichers PBN zugeordnet ist, programmiert.

Im Anschluß daran können die Schritte LA3 bis LA5 und das Programmieren der dann immer noch zu stark gelöschten Speicherzellen wiederholt werden. Prinzipiell kann eine beliebig große Anzahl von Wiederholungen dieser Schritte durchgeführt werden. Vorzugsweise wird jedoch maximal eine vorgegebene maximale Anzahl von Wiederholungen durchgeführt. Wenn nach dieser Anzahl von Wiederholungen immer noch nicht alle zu löschenden Speicherzellen ordnungsgemäß gelöscht sind, kann davon ausgegangen werden, daß die Speichereinrichtung defekt ist. Der Vollständigkeit halber sei angemerkt, daß auch dann, wenn alle zu löschenden Speicherzellen ordnungsgemäß gelöscht sind, keine weiteren Wiederholungen mehr durchgeführt werden müssen.

Durch das einmalige oder mehrmalige Programmieren der zu stark gelöschten Speicherzellen verändert sich deren Threshold-Spannung. Genauer gesagt wandert die Thresholdspannung dadurch, sofern die zu stark gelöschten Speicherzellen nicht defekt sind, in den Bereich zwischen VT1 und VT2. D.h., aus einer zu stark gelöschten Speicherzelle wird durch das Programmieren eine normal gelöschte Speicherzelle.

Die in der 6 gezeigte Anordnung läßt sich mannigfaltig abwandeln. Beispielsweise gelangt man zu einer Anordnung, die ebenfalls für eine Lösch-Abschwächung verwendbar ist, wenn

  • – als Lösch-Wert der Wert 1 verwendet wird, und Leseverstärker verwendet werden, die eine den Pegel 0 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung ein Strom fließt, und eine den Pegel 1 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung kein Strom fließt, oder
  • – als Lösch-Wert der Wert 1 verwendet wird, und der Drainanschluß des Transistors T22 nicht mit dem Knoten NE, sondern mit dem Knoten NA verbunden ist, oder
  • – der Drainanschluß des Transistors T22 nicht mit dem Knoten NE, sondern mit dem Knoten NA verbunden ist, und Leseverstärker verwendet werden, die eine den Pegel 0 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung ein Strom fließt, und eine den Pegel 1 repräsentierende Spannung ausgeben, wenn über die mit ihnen verbundene Bitleitung kein Strom fließt.

Weitere Modifikationen sind möglich, wenn die in der 6 gezeigte Anordnung dahingehend abgeändert wird, daß der Source-Anschluß des Transistors TR21 nicht mit Masse verbunden ist, sondern mit einer positiven Spannung beaufschlagt wird, und/oder anstelle von NMOS-Transistoren PMOS-Transistoren verwendet werden. Die Verwendung eines PMOS-Transistors anstelle eines NMOS-Transistors eröffnet übrigens auch bei der in der 5 gezeigten Anordnung weitere Modifikationsmöglichkeiten.

Modifiziert man die in der 6 gezeigte Anordnung "nur" dahingehend, daß der Drainanschluß des Transistors T22 nicht mit dem Knoten NE, sondern mit dem Knoten NA verbunden ist, dann kann diese modifizierte Anordnung zum Programmieren von Speicherzellen und anschließender Durchführung der vorstehend bereits erwähnten Nachprogrammierung der zu schwach programmierten Speicherzellen verwendet werden.

Wenn eine Komponente des die Speichereinrichtung enthaltenden Systems Daten in die Speichereinrichtung schreiben möchte, genauer gesagt eine Seite der Speichereinrichtung neu beschreiben möchte, übermittelt die betreffende Komponente an die Steuereinrichtung CLN entsprechende Steuerbefehle sowie die in die Speichereinrichtung zu schreibenden Daten und die Adresse, unter welcher diese Daten in der Speichereinrichtung zu speichern sind.

Die der Steuereinrichtung CLN zugeführten, in die Speichereinrichtung zu schreibenden Daten, oder darauf basierende Daten werden zunächst in den Seitenspeicher PBN geschrieben, genauer gesagt in den durch die Inverter I1 und I2 gebildeten Latches der Speicherelemente PBE2 gespeichert. Im allgemeinen veranlaßt die Steuereinrichtung CLN bereits vorher einen Löschvorgang, durch welchen die Speicherzellen der Seite, in welche die neuen Daten zu schreiben sind, gelöscht werden. Dies hat den Effekt, daß danach in allen Speicherzellen der betreffenden Seite Datenbits mit dem Wert 0 gespeichert sind. Im betrachteten Beispiel ist es so, daß die Steuereinrichtung CLN diejenigen Speicherelemente PBE2x des Seitenspeichers PBN, die zu programmierenden Speicherzellen des Speicherzellenfeldes SZF zugeordnet sind, mit dem Wert 1, und alle anderen Speicherelemente PBE2x des Seitenspeichers PBN mit dem Wert 0 beschreibt. D.h., im betrachteten Beispiel ist der Wert 1 der vorstehend bereits erwähnte Programmier-Wert. Dieses Beschreiben des Seitenspeichers PBN durch die Steuereinrichtung CLN erfolgt im vorstehend erwähnten Schritt B1.

Danach erfolgt das Programmieren der zu programmierenden Speicherzellen. Dabei werden diejenigen Speicherzellen, welchen ein den Programmier-Wert, also ein den Wert 1 speicherndes Speicherelement PBE2x des Seitenspeichers PBN zugeordnet ist, programmiert. Alle anderen Speicherzellen bleiben unverändert. D.h., es wird keine Aktion ausgeführt, durch welche der Ladungszustand des Floating Gate der anderen Speicherzellen verändert wird. Dieses Programmieren erfolgt im vorstehend erwähnten Schritt B2.

Im Idealfall sind die in Schritt B2 programmierten Speicherzellen ordnungsgemäß, d.h. nicht zu schwach programmiert, so daß die Thresholdspannungen der programmierten Speicherzellen über VT3 (siehe 2) liegen. Da dies jedoch nicht immer der Fall ist, erweist es sich als vorteilhaft, wenn anschließend die vorstehend erwähnten Schritte B3 bis B5 durchgeführt werden, genauer gesagt eine Nach-Programmierung der zu schwach programmierten Speicherzellen durchgeführt wird.

Hierbei wird zunächst das in Schritt B3 erfolgende Auslesen der beschriebenen Seite des Speicherzellenfeldes durchgeführt. Dieses Auslesen wurde vorstehend bereits ausführlich beschrieben und bedarf keiner näheren Erläuterung mehr. Erwähnenswert ist lediglich, daß im betrachteten Beispiel Leseverstärker verwendet werden, die eine den Pegel 0 repräsentierende Spannung ausgeben, wenn in der vom betreffenden Leseverstärker ausgelesenen Speicherzelle ein Bit mit dem wert 0 gespeichert ist, und eine den Pegel 1 repräsentierende Spannung ausgeben, wenn in der vom betreffenden Leseverstärker ausgelesenen Speicherzelle ein Bit mit dem Wert 1 gespeichert ist. Die Ausgangssignale der Leseverstärker werden dem Gate-Anschluß des Transistors TR21 zugeführt.

Wenn die Ausgangssignale der Leseverstärker gültig sind, wird das normalerweise einen niedrigen Pegel aufweisende Steuersignal UPD kurzzeitig auf den hohen Pegel geschaltet. Was dann passiert, hängt von der Ausgangsspannung der Leserverstärker ab und wird im folgenden für den Leseverstärker SAx und das diesem zugeordnete Speicherelement PBE2x des Seitenspeichers PBN beschrieben.

Es sei zunächst angenommen, daß der durch den Leseverstärker SAx ausgelesene Speichertransistor ordnungsgemäß programmiert ist, also eine über VT3 liegende Thresholdspannung aufweist. In diesem Fall gibt der Leseverstärker SAx ein Signal mit dem Pegel 1 aus. Ferner sei an dieser Stelle nochmals darauf hingewiesen, daß in den Speicherelementen PEB2x des Seitenspeichers PBN, die den zu programmierenden Speicherzellen des Speicherzellenfeldes zugeordnet sind, ein Bit mit dem Wert 1 gespeichert ist. D.h., am Knoten NA des Speicherelementes PBE2x liegt eine Spannung mit dem Pegel 1 an. Das dem Gateanschluß des Transistors TR22 von der Steuereinrichtung CLN zugeführte Signal UPD hat zunächst noch niedrigen Pegel, so daß der Transistor TR22 sperrt und das sich am Knoten NA einstellende Potential sich nicht verändern kann.

Wenn in diesem Zustand das dem Speicherelement PBE2x von der Steuereinrichtung zugeführte Signal UPD kurzzeitig auf den hohen Pegel geht, werden die Transistoren TR21 und TR22 jedoch leitend, so daß der Knoten NA des Speicherelementes PBE2x mit Masse verbunden ist. Da das sich am Knoten NA einstellende Potential durch den Masseanschluß stärker auf Masse gezogen wird als es vom Inverter I1 auf hohes Potential getrieben wird, geht der Knoten NA auf niedriges Potential, so daß in dem durch die Inverter I1 und I2 gebildeten Latch nunmehr ein Bit mit dem Wert 1, also nicht mehr der Programmier-Wert gespeichert ist.

Anders verhält es sich, wenn der durch den Leseverstärker SAx ausgelesene Speichertransistor zu schwach programmiert ist, also eine unter VT3 liegende Thresholdspannung aufweist. In diesem Fall gibt der Leseverstärker SAx ein Signal mit dem Pegel 0 aus, wodurch das sich am Knoten NA einstellende Potential unverändert bleibt, und in dem durch die Inverter I1 und I2 gebildeten Latch weiterhin ein Bit mit dem Wert 1, also der Programmier-wert gespeichert bleibt.

Beim Auslesen des Inhaltes einer nicht zu programmierenden Speicherzelle liegt am Knoten NA des zugeordneten Speicherelementes PBE2x eine den Nicht-Programmier-Wert repräsentierende Spannung, also eine den Pegel 0 repräsentierende Spannung an, und gibt der Leseverstärker SAx eine den Pegel 0 repräsentierende Spannung aus (die ausgelesene Speicherzelle ist eine nicht programmierte Speicherzelle). Dadurch bleibt das sich am Knoten NA einstellende Potential unverändert, so daß in dem durch die Inverter I1 und I2 gebildeten Latch weiterhin ein Bit mit dem Wert 0, also der Nicht-Programmier-Wert gespeichert bleibt.

Die beschriebene Modifikation des Inhaltes der Speicherelemente PEB2x des Seitenspeichers ist die im vorstehend erwähnten Schritt B4 erfolgende Modifikation.

Im Idealfall sind im Seitenspeicher PBN nach dem Auslesen der gelöschten Speicherzellen lauter Nullen gespeichert. Dies bedeutet, daß keine der in Schritt B2 programmierten Speicherzellen zu schwach programmiert ist, und somit keine Nach-Programmierung erforderlich ist. Wenn andererseits im Seitenspeicher PBN eine oder mehrere Einsen gespeichert sind, bedeutet dies, daß das Programmieren nicht oder jedenfalls nicht vollständig erfolgreich war, genauer gesagt, daß diejenigen Speicherzellen des Speicherzellenfeldes, welchen die Bits mit dem Wert 1 speichernden Speicherelemente PBE2 des Seitenspeichers PBN zugeordnet sind, zu schwach programmiert wurden.

Im vorstehend erwähnten Schritt B5 wird überprüft, ob sich unter den Speicherzellen der beschriebenen Seite zu schwach programmierte Speicherzellen befinden. Wenn sich hierbei herausstellt, daß dies nicht der Fall ist, genauer gesagt wenn in einem oder mehreren Speicherelementen des Seitenspeichers PBN der Programmier-Wert gespeichert ist, wird ein Nach-Programmieren (Wiederholung des Schrittes B2) durchgeführt. Hierbei werden allerdings nur diejenigen Speicherzellen des Speicherzellenfeldes, die nicht ordnungsgemäß programmiert wurden, also diejenigen Speicherzellen, welchen ein den Programmier-Wert speicherndes Speicherelement PBE2x des Seitenspeichers PBN zugeordnet ist, programmiert.

Im Anschluß daran können die Schritte B3 bis B5 und B2 wiederholt werden. Prinzipiell kann eine beliebig große Anzahl von Wiederholungen dieser Schritte durchgeführt werden. Vorzugsweise wird jedoch maximal eine vorgegebene maximale Anzahl von Wiederholungen durchgeführt. Wenn nach dieser Anzahl von Wiederholungen immer noch nicht alle zu programmierenden Speicherzellen ordnungsgemäß programmiert sind, kann davon ausgegangen werden, daß die Speichereinrichtung defekt ist. Der Vollständigkeit halber sei angemerkt, daß auch dann, wenn alle zu löschenden Speicherzellen ordnungsgemäß programmiert sind, keine weiteren Wiederholungen mehr durchgeführt werden müssen.

Durch das einmalige oder mehrmalige Nach-Programmieren der zu schwach programmierten Speicherzellen verändert sich deren Threshold-Spannung. Genauer gesagt wandert die Thresholdspannung dadurch, sofern die zu stark gelöschten Speicherzellen nicht defekt sind, in den über VT3 liegenden Bereich. D.h., aus einer zu schwach programmierten Speicherzelle wird durch das Nach-Programmieren eine ordnungsgemäß programmierte Speicherzelle.

Die zum Nach-Programmieren verwendbare Anordnung läßt sich mannigfaltig abwandeln, beispielsweise

  • – durch Verwendung von 0 als Programmier-Wert, und/oder
  • – durch Verwendung von Leseverstärkern, die eine den Pegel 0 repräsentierende Spannung ausgeben, wenn die ausgelesene Speicherzelle als programmierte Speicherzelle erkannt wird, und eine den Pegel 1 repräsentierende Spannung ausgeben, wenn die ausgelesene Speicherzelle als nicht programmierte Speicherzelle erkannt wird, und/oder
  • – durch Verbindung des Drainanschlusses des Transistors T22 nicht mit dem Knoten NA, sondern mit dem Knoten NE, und/oder
  • – durch Verbindung des Source-Anschlusses des Transistors TR21 nicht mit Masse, sondern mit einer positiven Spannung, und/oder
  • – durch Verwendung von PMOS-Transistoren anstelle von NMOS-Transistoren.

Eine weitere Möglichkeit zur Modifikation des Inhaltes des Seitenspeichers PBN durch die Leseverstärker ist in 7 veranschaulicht.

Die 7 zeigt den Leseverstärker SAx, das diesem Leseverstärker zugeordnete Speicherelement PBE3x des Seitenspeichers PBN, eine Umsetzungseinrichtung TM, und die Steuereinrichtung CLN.

Die in der 7 gezeigte Anordnung ist eine Kombination der in den 5 und 6 gezeigten Anordnungen bzw. darauf basierenden Abwandlungen, und enthält darüber hinaus einige Erweiterungen. Die Komponenten der in der 7 gezeigten Anordnung, die mit den selben Bezugszeichen bezeichnet sind wie in den Anordnungen gemäß den 5 und 6, sind identische oder einander entsprechende Komponenten und werden im folgenden nicht nochmals beschrieben. Diesbezüglich wird auf die 5 und 6 und die darauf bezugnehmende Beschreibung verwiesen.

Das Speicherelement PBE3x besteht aus einem durch zwei Inverter I1 und I2 gebildeten Zwischenspeicher bzw. Latch, und Transistoren TR31 bis TR39. Das Speicherelement PBE3x bekommt das Ausgangssignal des Leseverstärkers SAx zugeführt, ist ausgangsseitig über die Umsetzungseinrichtung TM mit der Bitleitung BLx verbunden, und wird über Steuersignale SET, RESET, UPD1, UPD2, WRITE, und SELECT von der Steuereinrichtung CLN gesteuert.

Die Inverter I1 und I2 sind antiparallel geschaltet und an Knoten NE und NA miteinander verbunden, wobei der Knoten NA zugleich der Ausgangsanschluß des Speicherelementes PBE3x ist. Das vom Leseverstärker SAx ausgegebene Signal wird unter anderem dem Gateanschluß des Transistors TR31 zugeführt. Von diesem Transistor TR31 liegt der Sourceanschluß auf Masse, und ist der Drainanschluß mit dem Sourceanschluß des Transistors TR32 verbunden. Dem Gateanschluß des Transistors TR32 wird das Signal SELECT zugeführt, und der Drainanschluß des Transistors TR32 ist unter anderem mit dem Sourceanschluß des Transistors TR33 verbunden. Dem Gateanschluß des Transistors TR33 wird das Signal WRITE zugeführt, und der Drainanschluß des Transistors TR33 ist mit dem Knoten NE verbunden. Somit kann das Latch (wenn das Leseverstärker-Ausgangssignal und die Steuersignale SELECT und WRITE gleichzeitig einen zum Durchschalten der Transistoren TR31 bis TR33 geeigneten hohen Pegel aufweisen) über die Transistoren TR31 bis TR33 gesetzt, d.h. in einen ein Bit mit Wert 1 speichernden Zustand versetzt werden. Der Drainanschluß des Transistors TR32 ist ferner mit dem Sourceanschluß des Transistors TR34 verbunden. Dem Gateanschluß des Transistors TR34 wird das Signal UPD1 zugeführt, und der Drainanschluß des Transistors TR33 ist mit dem Knoten NA verbunden. Somit kann das Latch (wenn das Leseverstärker-Ausgangssignal und die Steuersignale SELECT und UPD1 gleichzeitig einen zum Durchschalten der Transistoren TR31, TR32 und TR34 geeigneten hohen Pegel aufweisen) über die Transistoren TR31, TR32, und TR34 zurückgesetzt, d.h. in einen ein Bit mit Wert 0 speichernden Zustand versetzt werden. Das vom Leseverstärker SAx ausgegebene Signal wird ferner dem Sourceanschluß des Transistors TR35 zugeführt. Dem Gateanschluß des Transistors TR35 wird das Signal SELECT zugeführt, und der Drainanschluß des Transistors TR35 ist unter anderem mit dem Sourceanschluß des Transistors TR36 verbunden. Dem Gateanschluß des Transistors TR36 wird das Signal WRITE zugeführt, und der Drainanschluß des Transistors TR32 ist mit dem Knoten NA verbunden. Somit kann das Latch (wenn die Steuersignale SELECT und WRITE gleichzeitig einen zum Durchschalten der Transistoren TR35 und TR36 geeigneten hohen Pegel aufweisen) über die Transistoren TR35 und TR36 gesetzt oder zurückgesetzt werden, wobei es vom Pegel des Leseverstärker-Ausgangssignals abhängt, ob ein Setzen oder ein Rücksetzen erfolgt. Der Drainanschluß des Transistors TR35 ist ferner mit dem Sourceanschluß des Transistors TR37 verbunden. Dem Gateanschluß des Transistors TR37 wird das Signal UPD2 zugeführt, und der Drainanschluß des Transistors TR37 ist mit dem Knoten NE verbunden. Somit kann das Latch (wenn die Steuersignale SELECT und UPD2 gleichzeitig einen zum Durchschalten der Transistoren TR35 und TR37 geeigneten hohen Pegel aufweisen) über die Transistoren TR35 und TR37 gesetzt oder zurückgesetzt werden, wobei es vom Pegel des Leseverstärker-Ausgangssignals abhängt, ob ein Setzen oder ein Rücksetzen erfolgt. Der Knoten NE ist ferner über den Transistor TR38 mit Masse verbunden. Der Transistor TR38 wird durch das Signal SET gesteuert. Somit kann das Latch auch durch das Signal SET (wenn dieses einen zum Durchschalten des Transistors TR38 geeigneten hohen Pegel aufweist) gesetzt werden. Der Knoten NA ist ferner über den Transistor TR39 mit Masse verbunden. Der Transistor TR39 wird durch das Signal RESET gesteuert. Somit kann das Latch auch durch das Signal RESET (wenn dieses einen zum Durchschalten des Transistors TR39 geeigneten hohen Pegel aufweisen) zurückgesetzt werden.

Wie aus der 7 und der vorstehenden Beschreibung ersichtlich ist, kann durch die in der 7 gezeigte Anordnung sowohl eine Lösch-Abschwächung von zu stark gelöschten Speichertransistoren, als auch ein Nach-Löschen für zu schwach gelöschte Speichertransistoren als auch ein Nach-Programmieren für zu schwach programmierte Speicherzellen erfolgen. Genauer gesagt kann die Steuereinrichtung CLN

  • – durch das Steuersignal WRITE eine Lösch-Abschwächung, genauer gesagt die Ausführung der Schritte LA3 bis LA5 und (bei Bedarf) einer Programmierung der zu stark gelöschten Speicherzellen veranlassen,
  • – durch das Steuersignal UPD2 ein Nach-Löschen von zu schwach gelöschten Speicherzellen, genauer gesagt die Ausführung der Schritte NL3 bis NL5 und L2 veranlassen, und
  • – durch das Steuersignal UPD1 ein Nach-Programmieren von zu schwach programmierten Speicherzellen, genauer gesagt die Ausführung der Schritte B3 bis B5 und B2 veranlassen.

Die Anordnung gemäß 7 ist somit eine universell einsetzbare Anordnung für ein sicheres Programmieren und/oder Löschen des Speicherzellenfeldes SZF.

Bei der in der 7 gezeigten Anordnung bestehen darüber hinaus auch noch Möglichkeiten, den Seitenspeicher PBN unabhängig vom Leseverstärker-Ausgangssignal zu beschreiben. Dies erfolgt unter Steuerung durch das Steuersignal WRITE. Die in den Seitenspeicher zu schreibenden Daten werden diesem über einen in der 7 nicht gezeigten Multiplexer zugeführt, der zwischen dem Leserverstärker SAx und dem Speicherelement PBE2x angeordnet ist, und dem neben dem Ausgangssignal des Leseverstärkers auch Daten aus der Steuereinrichtung CLN zugeführt werden.

Ferner kann über die Steuerleitungen SET und RESET ein Setzen (= Beschreiben mit 1) bzw. ein Rücksetzen (= Beschreiben mit 0) des durch die Inverter I1 und I2 gebildeten Latches erfolgen.

Darüber hinaus kann das Speicherelement PBE2x durch die Steuerleitung SELECT in einen deselektierten Zustand versetzt werden, in welchem die in ihr (in dem durch die Inverter I1 und I2 gebildeten Latch) gespeicherten Daten unabhängig von den dem Speicherelement zugeführten Daten, Signalen und weiteren Steuersignalen gegen Veränderungen gesichert sind.

Den in den 5 bis 7 gezeigten Anordnungen ist gemeinsam, daß der Inhalt des Seitenspeichers PBN in alleiniger Abhängigkeit von den Leseverstärker-Ausgangssignalen verändert werden kann. Dies ermöglicht es, auf die in der herkömmlichen Anordnung gemäß 3 vorhandenen Verknüpfungseinrichtungen zu verzichten, welche die Leseverstärker-Ausgangssignale mit den Daten verknüpfen, die in den ausgelesenen Speicherzellen gespeichert sein müßten. Der Vollständigkeit halber sei angemerkt, daß die Steuersignale UPD, UPD1, UPD2, SELECT, WRITE, SET, und RESET, die dem Seitenspeicher PBN der hier vorgestellten Anordnungen gemäß den 5 bis 7 neben den Leseverstärker-Ausgangssignalen zugeführt werden, nichts mit den Daten zu tun haben, die in den Speicherzellen des Speicherzellenfeldes gespeichert sein müßten. Bei diesen Steuersignalen handelt es sich um Signale, die zur Steuerung des zeitlichen Ablaufes und der Konfiguration des Seitenspeichers PBN dienen.

Ein Verzicht auf die in der herkömmlichen Anordnung gemäß 3 vorhandenen Verknüpfungseinrichtungen und die damit einhergehende Verringerung der Anzahl und/oder der Länge der vorzusehenden Busse ermöglicht es, daß die hier vorgestellte Speichereinrichtung erheblich kleiner und billiger hergestellt werden kann und zudem einer deutlich geringeren Energiebedarf hat. Unabhängig hiervon läßt sich die hier vorgestellte Modifikation des Seitenspeicher-Inhaltes schneller durchführen als es etwa bei der herkömmlichen Anordnung gemäß 3 der Fall ist.

Darüber hinaus sind durch die in den 5 bis 7 gezeigten Anordnungen nicht nur ein zu schwaches Programmieren, sondern zusätzlich auch ein zu schwaches oder zu starkes Löschen nachträglich behebbar.

Wie vorstehend bereits erwähnt wurde, lassen sich die in den 5 bis 7 gezeigten Anordnungen auf die unterschiedlichste Art und Weise modifizieren. Der Vollständigkeit halber sei angemerkt, daß die erwähnten Modifikations-Möglichkeiten nicht als eine abschließende Aufzählung der möglichen Modifikationen anzusehen sind. Es dürfte einleuchten und bedarf keiner näheren Erläuterung, daß auch noch weitere Modifikationen möglich sind.

Die vorstehend beschriebene Speichereinrichtung erweist sich unabhängig von den Einzelheiten der praktischen Realisierung als vorteilhaft. Durch sie kann mit minimalem Aufwand ein ordnungsgemäßes Programmieren und Löschen der Speichereinrichtung gewährleistet werden.

BxThreshold-Spannungs-Bereich BLxBitleitung CLSteuerlogik CLNSteuerlogik CMVerknüpfungseinrichtung DDrain-Anschluß von T FGFloating Gate von T GGate-Anschluß von T IxInverter NAVerbindungspunkt zwischen I1 und I2 NEVerbindungspunkt zwischen I1 und I2 PBSeitenspeicher PBESpeicherelement von PBN PBE2Speicherelement von PBN PBE3Speicherelement von PBN PBNSeitenspeicher SSource-Anschluß von T SAxLeseverstärker SLxSourceleitung SRxSpeicherzellen-Reihe SSxSpeicherzellen-Spalte SZFSpeicherzellenfeld TxSpeichertransistor TMUmsetzungseinrichtung TRxTransistor VTxThreshold-Spannung WDMSchreibdatenspeicher WLxWortleitung

Anspruch[de]
  1. Verfahren zum Löschen oder Programmieren einer nichtflüchtigen Speichereinrichtung zum Speichern von Daten, die

    – mindestens eine Speicherzelle (T11–Tnm),

    – mindestens einen Leseverstärker (SAx) zum Auslesen des Inhaltes der mindestens einen Speicherzelle (T11–Tnm), und

    – einen Seitenspeicher (PBN) zum Zwischenspeichern von Daten, anhand welcher die Ansteuerung der mindestens einen Speicherzelle (T11–Tnm) während des Löschens oder Programmierens festgelegt wird,

    umfaßt,

    wobei das Löschen oder Programmieren einer Speicherzelle (T11–Tnm) folgende Schritte umfaßt:

    – Ausführen einer Lösch- oder Programmieroperation in Abhängigkeit von den im Seitenspeicher gespeicherten Daten,

    – Auslesen des Inhaltes der gelöschten oder programmierten Speicherzellen (T11–Tnm),

    – Modifizieren des Inhaltes des Seitenspeichers (PBN) in Abhängigkeit von den ausgelesenen Daten, und

    – Ausführen einer weiteren Lösch- oder Programmieroperation in Abhängigkeit von den modifizierten Daten, und

    wobei die aus der gelöschten oder programmierten Speicherzelle (T11–Tnm) ausgelesenen Daten dem Seitenspeicher (PBN) zugeführt werden, und der Inhalt des Seitenspeichers (PBN) in alleiniger Abhängigkeit von diesen Daten und den zeitlichen Ablauf steuernden Steuersignalen modifiziert wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß dann, wenn eine zu programmierende Speicherzelle (T11–Tnm) nicht ausreichend stark programmiert wurde, ein ein- oder mehrmaliges Nach-Programmieren dieser Speicherzelle erfolgt.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß dann, wenn eine zu löschende Speicherzelle (T11–Tnm) nicht ausreichend stark gelöscht wurde, ein ein- oder mehrmaliges Nach-Löschen dieser Speicherzelle erfolgt.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß dann, wenn eine zu löschende Speicherzelle (T11–Tnm) zu stark gelöscht wurde, ein ein- oder mehrmaliges Programmieren dieser Speicherzelle erfolgt.
  5. Nichtflüchtige Speichereinrichtung zum Speichern von Daten, mit

    – mindestens einer Speicherzelle (T11–Tnm),

    – mindestens einem Leseverstärker (SAx) zum Auslesen des Inhaltes der mindestens einen Speicherzelle (T11–Tnm),

    – einem Seitenspeicher (PBN) zum Zwischenspeichern von Daten, anhand welcher die Ansteuerung der mindestens einen Speicherzelle (T11–Tnm) während des Löschens oder Programmierens festgelegt wird, und

    – einer Steuereinrichtung (CLN) zur Steuerung des Löschens oder Programmierens der mindestens einen Speicherzelle (T11–Tnm),

    wobei die Steuereinrichtung (CLN) zum Löschen oder Programmieren der mindestens einen Speicherzelle die Ausführung folgender Schritte veranlaßt:

    – Ausführen einer ersten Lösch- oder Programmieroperation, in Abhängigkeit der im Seitenspeicher (PBN) gespeicherten Daten,

    – Auslesen des Inhaltes der gelöschten oder programmierten Speicherzellen (T11–Tnm),

    – Modifizieren des Inhaltes des Seitenspeichers (PBN) in Abhängigkeit von den ausgelesenen Daten, und

    – Ausführen einer weiteren Lösch- oder Programmieroperation in Abhängigkeit von den modifizierten Daten,

    wobei der mindestens eine Leseverstärker (SAx) eine Verbindung zum Seitenspeicher (PBN) aufweist, über welche die durch den Leseverstärker (SAx) aus der gelöschten oder programmierten Speicherzelle (T11–Tnm) ausgelesenen Daten dem Seitenspeicher (PBN) zugeführt werden, und

    wobei der Inhalt des Seitenspeichers (PBN) in alleiniger Abhängigkeit von diesen Daten und den zeitlichen Ablauf steuernden Steuersignalen modifiziert wird.
  6. Nichtflüchtige Speichereinrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der Seitenspeicher (PBN) mindestens ein Speicherelement (PBEx; PBE2x; PBE3x) enthält, wobei jedes Speicherelement (PBEx; PBE2x; PBE3x) einen Zwischenspeicher (I1, I2) zum Speichern eines Datenbits und einen Transistor (TE11, TR35) enthält, dessen Sourceanschluß mit dem Ausgangsanschluß des Leseverstärkers (SAx) verbunden ist, dessen Drainanschluß direkt oder über weitere Komponenten (TR36, TR37) des Speicherelementes (PBEx; PBE2x; PBE3x) mit dem Zwischenspeicher (I1, I2) verbunden ist, und dessen Gateanschluß mit einem von der Steuereinrichtung (CLN) ausgegebenen und den zeitlichen Ablauf steuernden Steuersignal (UPD; SELECT) beaufschlagt wird.
  7. Nichtflüchtige Speichereinrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der Seitenspeicher (PBN) mindestens ein Speicherelement (PBEx; PBE2x; PBE3x) enthält, wobei jedes Speicherelement (PBEx; PBE2x; PBE3x) einen Zwischenspeicher (I1, I2) zum Speichern eines Datenbits und zwei in Reihe geschaltete Transistoren (TR21, TR22; TR31, TR32) enthält, wobei der Sourceanschluß des ersten Transistors (TR21; TR31) mit einer konstanten Spannung beaufschlagt ist, der Drainanschluß des ersten Transistors (TR21; TR31) mit dem Sourceanschluß des zweiten Transistors (TR22; TR32) verbunden ist, der Drainanschluß des zweiten Transistors (TR22; TR32) direkt oder über weitere Komponenten des Speicherelementes (PBEx; PBE2x; PBE3x) mit dem Zwischenspeicher (I1, I2) verbunden ist, und von den Gateanschlüssen des ersten Transistors und des zweiten Transistors der Gateanschluß des einen Transistors mit dem Ausgangsanschluß des Leseverstärkers (SAx) verbunden ist, und der Gateanschluß des anderen Transistors mit einem von der Steuereinrichtung (CLN) ausgegebenen und den zeitlichen Ablauf steuernden Steuersignal (UPD2; SELECT) beaufschlagt wird.
  8. Nichtflüchtige Speichereinrichtung nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß der Zwischenspeicher (I1, I2) durch zwei antiparallel geschaltete Inverter gebildet wird.
Es folgen 4 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com