-
Technisches Gebiet
-
Diese
Erfindung betrifft im Allgemeinen Halbleiterbauelemente und Schreibverfahren
und betrifft insbesondere ein Halbleiterbauelement mit einer Mehrpegelspeicherzelle
und ein Verfahren zum Schreiben von Daten in die Mehrpegelspeicherzelle.
-
Hintergrund
-
Halbleiterbauelemente
werden in flüchtige Bauelemente,
die ihre Information verlieren und nicht-flüchtige Bauelemente, die ihre
Information beibehalten, wenn die Versorgungsleistung abgeschaltet
wird, unterteilt. Flash-Speicher, in denen die Wiederbeschreibungszeit
verkürzt
wird, indem die Daten gleichzeitig gelöscht werden, sind als repräsentative nicht-flüchtige Bauelemente
bekannt.
-
1 ist
eine Blockansicht des Programmierens eines Flash-Speichers, der
keinen Schreibpuffer für
eine SLC-(Einzelpegel- bzw. Einzelniveauzelle) darin aufweist. In
diesem Flash-Speicher wird das Programmieren für jedes einzelne Wort (16 Bits)
ausgeführt.
Wie in 1 gezeigt ist, umfasst ein Flash-Speicher 1 einen
Eingangspuffer 2, eine Schreibspeicher- bzw. Latchschaltung 3,
eine Schaltung 4 zum Anlegen der Schreibspannung bzw. eine Schreibspannungszuführschaltung,
ein Speicherzellenarray 5, eine Fühlerverstärkerschaltung 6, eine Komparatorschaltung 7 und
eine Steuerschaltung 8. Der Eingangspuffer 2 bewahrt
die Schreibdaten eines Anwenders. Die Schreibspeicherschaltung 3 speichert
die Schreibdaten des Anwenders, die von dem Eingangspuffer 2 geliefert
werden, zwischenzeitlich.
-
Die
Schreibspannungszuführschaltung 4 schreibt
die Daten in die Speicherzelle, die den Schreibdaten zugeordnet
ist. Die Fühlerverstärkerschaltung 6 liest
die Daten aus der Speicherzelle während einer Verifizierungsperiode
aus, und die Komparatorschaltung 7 vergleicht die ausgelesenen Daten
mit den von außen
eingespeisten Schreibdaten. Wenn die Speicherzelle ausreichend programmiert
ist, invertiert die Schreibspeicherschaltung 3 die Schreibdaten
in dem Zwischenspeicher darin und beendet das Programmieren. Wenn
andererseits die Speicherzelle nicht ausreichend programmiert ist, fährt die
Schreibspeicherschaltung 3 mit dem Programmieren fort.
Die Komparatorschaltung 7 bestimmt, ob alle Bits erfolgreich
programmiert sind. Wenn alle Bits erfolgreich programmiert sind,
führt die
Steuerschaltung 8 den Programmablauf zum nächsten Schritt
weiter.
-
Es
wurde auch ein Flash-Speicher mit MLC (Mehrpegelzelle) im Stand
der Technik vorgeschlagen. Ein Produkt mit der Mehrpegelzelle besitzt
etwa vier Schwellwertpegel, Pegel 1, Pegel 2, Pegel 3 und Pegel
4. Je höher
der Pegel ist, desto höher
ist der Schwellwertspannungspegel. Die zuvor genannten 4 Pegel bilden
zwei Arten von Ausgangs-(oder Eingangs-) Daten. Im Allgemeinen wird
während
des Programmierens der Daten des Pegels 4 ein Schreibverfahren angewendet,
in welchem die Pegel 1 bis Pegel 3 durchlaufen werden, um den Pegel
4 zu erreichen.
-
Die
Patentschrift 1 offenbart einen Halbleiterspeicher mit einem binären Datenregister,
das die eingespeisten Schreibdaten bewahrt. Ferner zeigt die Patentschrift
2 ein weiteres Halbleiterbauelement mit einer Datenzwischenspeicherschaltung
bzw. Latch-Schaltung, die die von außen zugeführten Schreibdaten zwischenspeichert,
und beschreibt eine Fühlerspeicherschaltung,
die die Schreibsteuerinformation zwischenspeichert.
-
- Patentschrift 1: Japanische
Patentanmeldung mit der Veröffentlichungsnummer
11-73790
- Patentschrift 2: Japanische
Patentanmeldung mit der Veröffentlichungsnummer
11-232886
-
Überblick über die
Erfindung
-
Von der Erfindung zu lösende Probleme
-
Das
Programmieren der Mehrpegelspeicherzelle ist problematisch dahingehend,
dass ein zu starkes Programmieren, das den Pegel übersteigt, auftritt,
und das Programmieren muss so ausgeführt werden, dass die Schwellwertspannung
Vth immer nur geringfügig
erhöht
wird. In dem zuvor genannten Programmierverfahren müssen das
Programmieren und das Verifizieren mehrere Male wiederholt werden,
wodurch nachteiligerweise die Programmierdauer anwächst. Die
in der Patentschrift 1 und der Patentschrift 2 beschriebenen Bauelemente
können das
Problem der ansteigenden Programmierdauer nicht lösen.
-
Die
vorliegende Erfindung hat es sich zur Aufgabe gemacht, die zuvor
genannten Probleme in den konventionellen Verfahren zu lösen und
ein Halbleiterbauelement bereitzustellen, in welchem eine Programmierdauer
auf Basis einzelner Wörter
verkürzt
wird oder wobei ein Datenschreibverfahren bereitgestellt wird.
-
Mittel zum Lösen des
Problems
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird vorzugsweise ein Halbleiterbauelement bereitgestellt
mit: einer ersten Zwischenspeicher- bzw. Latchschaltung, die Schreibinformation
aus mehreren Wörtern
zwischenspeichert, und in die die eingespeiste Information aus mehreren
Wörtern
auf der Grundlage der Pegel einer Mehrpegelspeicherzelle geändert wird;
und einer Schreibschaltung, die die Schreibinformation mit mehreren
Wörtern
als Gruppe schreibt, wobei eine Gruppe mehreren Speicherzellen zugeordnet
ist, die gleichzeitig programmierbar sind. Erfindungsgemäß wird die
Information auf Basis einer Gruppe programmiert, in die die mehreren
Wörter
der eingespeisten Information unterteilt werden, wodurch es möglich ist,
eine Programmierdauer deutlich zu verkürzen. Dies verlängert nicht
die Programmierdauer, selbst wenn das Programmieren und Verifizieren
in einer Mehrpegelspeicherzelle wiederholt auszuführen sind.
-
Das
zuvor genannte Halbleiterbauelement umfasst ferner eine zweite Zwischenspeicherschaltung,
die die Mehrworteingangsinformation in eine Schreibinformation aus
mehreren Wörtern
umwandelt und die damit erhaltene Schreibinformation der ersten
Zwischenspeicherschaltung zuführt.
Erfindungsgemäß kann die
Mehrworteingangsinformation in die Information umgewandelt werden,
die jedem Pegel der Mehrpegelspeicherzelle entspricht.
-
Im
dem Halbleiterbauelement kann die erste Zwischenspeicherschaltung
die Schreibinformation der Schreibschaltung auf Basis einer Gruppe übermitteln.
Gemäß der vorliegenden
Erfindung sind die mehreren Wörter
der eingespeisten Information auf Basis einer Gruppeneinteilung
gleichzeitig programmierbar. Die erste Zwischenspeicherschaltung
in dem Halbleiterbauelement kann Schaltungen aufweisen, die zahlenmäßig gleich
sind zu Schaltungen, die die zweite Zwischenspeicherschaltung bilden,
und die die Anzahl der Schaltungen übersteigen, die die Schreibschaltung
bilden.
-
Das
zuvor genannte Halbleiterbauelement kann ferner eine Steuerschaltung
aufweisen, die ein Signal erzeugt, das eine Verifizierung und Programmierung
auf Gruppenbasis erzwingt. Erfindungsgemäß kann durch Ausführen einer
Verifizieraktion und einer Programmieraktion auf Gruppenbasis die
Programmierdauer für
einzelne Wörter
deutlich verkürzt werden.
Das zuvor genannte Halbleiterbauelement kann ferner eine Steuerschaltung
aufweisen, die ein Signal für
eine wiederholte Verifizierung und Programmierung auf Basis mehrerer
Gruppen erzeugt. Im Vergleich zur wiederholten Verifizierung und
Programmierung auf Basis einzelner Gruppen ist es möglich, auf
der Grundlage mehrerer Gruppen zu operieren, indem die Verifizierung
und Programmierung für
mehrere Gruppen wiederholt wird.
-
Das
zuvor genannte Halbleiterbauelement kann ferner eine Bestimmungsschaltung
aufweisen, die bestimmt, ob eine Verifizierung für eine Gruppe erfolgreich ist,
wobei die Steuerschaltung die Verifizierung und die Programmierung
für eine
Gruppe beendet, für
die die Verifizierung erfolgreich ist. Erfindungsgemäß kann das
Verifizieren und Programmieren einer unnötigen Gruppe vermieden werden.
Dies ermöglicht
es, die wesentliche Programmierdauer auf Basis einzelner Wörter zu
beschleunigen.
-
Das
zuvor genannte Halbleiterbauelement kann ferner eine Steuerschaltung
aufweisen, die ein Signal erzeugt, das die Verifizierung für ein Wort
weiterleitet, das in einer Gruppe nicht ausgewählt ist. Gemäß der vorliegenden
Erfindung werden Verifizierungsdaten für die Verifizierung weitergeleitet,
obwohl die Verifizierungsdaten ein Wort angeben, auf das von dem
Anwender in einer Gruppe nicht zugegriffen wird und dieses wird
aus der Speicherzelle ausgelesen, wodurch es möglich ist, die Programmierdauer
auf Basis einzelner Wörter
deutlich zu verringern.
-
Das
oben genannte Halbleiterbauelement kann ferner eine Steuerschaltung
aufweisen, wobei, wenn die Speicherzelle ausreichend auf einen ersten Pegel
programmiert ist, die Steuerschaltung ein Signal erzeugt, das die
Speicherzelle anweist, bei einem zweiten Pegel programmiert zu werden.
Gemäß der vorliegenden
Erfindung kann ein vorgegebener Pegel in die Mehrpegelspeicherzelle
programmiert werden.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird vorteilhafterweise
ein Verfahren bereitgestellt mit den Schritten: Ändern einer Mehrworteingangsinformation
in eine Schreibinformation aus Wörtern
entsprechend den Pegeln einer Mehrpegelspeicherzelle, und Schreiben
der Schreibinformation mit mehreren Wörtern auf Gruppenbasis, wobei
eine einzelne Gruppe mehreren Speicherzellen zugeordnet ist, die
gleichzeitig programmierbar sind. Gemäß der vorliegenden Erfindung
wird die Information auf Grundlage von Gruppen bzw. in Form von
Gruppen programmiert, in die die mehreren Wörter der Eingangsinformation
eingeteilt werden, und es ist möglich,
die Programmierdauer deutlich zu verkürzen. Dies verlängert die
Programmierdauer nicht, selbst wenn das Programmieren und das Verifizieren in
der Mehrpegelspeicherzelle wiederholt auszuführen sind.
-
Das
zuvor genannte Verfahren kann ferner den Schritt des wiederholten
Ausführens
des Verifizierens und Programmierens auf Gruppenbasis umfassen.
Gemäß der vorliegenden
Erfindung kann durch Ausführen
des Verifiziervorgangs und des Programmiervorgangs auf Basis einer
Gruppe die Programmierdauer auf der Grundlage einzelner Wörter deutlich
verkürzt
werden. Das zuvor genannte Verfahren kann ferner einen Schritt zum
wiederholten Ausführen
einer Verifizierung auf Grundlage mehrerer Gruppen umfassen. Im
Vergleich zur wiederholten Verifizierung und Programmierung auf
Basis einzelner Gruppen ist es möglich,
auf der Grundlage mehrerer Gruppen zu operieren, indem das Verifizieren
und Programmieren auf Basis der mehreren Gruppen ausgeführt wird.
-
Das
zuvor genannte Verfahren kann ferner die Schritte umfassen: Bestimmen,
ob die Verifizierung für
eine Gruppe erfolgreich ist, und Beenden des Verifizierens und des
Programmierens einer Gruppe, für
die die Verifizierung erfolgreich war. Gemäß der vorliegenden Erfindung
kann das Verifizieren und Programmieren einer unnötigen Gruppe
vermieden werden. Dies ermöglicht
es, die Programmierdauer auf Basis einzelner Wörter wesentlich zu beschleunigen.
-
Das
zuvor genannte Verfahren kann ferner einen Schritt des erfolgreichen
Verifizierens für
ein Wort umfassen, das in einer Gruppe nicht ausgewählt ist.
Gemäß der vorliegenden
Erfindung werden Verifizierungsdaten bei der positiven Verifizierung
erzeugt, obwohl die Verifizierungsdaten ein Wort repräsentieren,
auf das von dem Anwender in einer Gruppe nicht zugegriffen wird
und dieses wird aus der Speicherzelle ausgelesen, und damit ist
es möglich, die
Programmierdauer auf Grundlage einzelner Wörter deutlich zu verringern.
-
Das
zuvor genannte Verfahren kann ferner einen Schritt umfassen, dass,
wenn die Speicherzelle ausreichend auf einen ersten Pegel programmiert ist,
ein Signal erzeugt wird, das die Speicherzelle anweist, bei einem
zweiten Pegel programmiert zu werden. Gemäß der vorliegenden Erfindung
kann in der Mehrpegelspeicherzelle ein vorgegebener Pegel programmiert
werden.
-
Wirkung der Erfindung
-
Gemäß der vorliegenden
Erfindung ist es möglich,
ein Halbleiterbauelement bereitzustellen, in welchem eine Programmierdauer
auf Grundlage einzelner Wörter
verkürzt
werden kann, oder wobei ein Datenschreibverfahren bereitgestellt
wird.
-
Kurze Beschreibung der Zeichnungen
-
1 ist
eine Blockansicht zum Programmieren eines konventionellen Halbleiterbauelements;
-
2 ist
eine Blockansicht des Programmierens eines Halbleiterbauelements
gemäß der vorliegenden
Erfindung;
-
3 ist
eine Ansicht, in der ein Beispiel einer Steuerlogik gezeigt ist,
die diverse Steuersignale in einem Schreibpuffer in einer Steuerschaltung 18 erzeugt;
-
4 ist
eine Ansicht, in der eine Eingangszwischenspeicherschaltung gemäß der vorliegenden Erfindung
gezeigt ist;
-
5 ist
eine Ansicht, in der eine Schreibzwischenspeicherschaltung für eine Mehrpegelspeicherzelle
gezeigt ist;
-
6 ist
eine Ansicht, in der eine Schreibspannungszuführungsschaltung für die Mehrpegelspeicherzelle
gezeigt ist;
-
7 ist
eine Ansicht, in der eine Komparatorschaltung für die Mehrpegelspeicherzelle
gezeigt ist;
-
8 ist
eine Ansicht, in der das Konzept des Schreibsteuerverfahrens für die Mehrpegelspeicherzelle
gezeigt ist;
-
9 ist
eine Ansicht, in der ein Aufwärtszähler für eine Vier-Wort-Gruppe
in einem 16-Wortschreibpuffer
gezeigt ist;
-
10 ist
eine Ansicht, in der ein Beispiel eines Schieberegisters gezeigt
ist, das in dem Aufwärtszähler verwendet
wird;
-
11 zeigt
einen Zeitablauf von q vollständigen
Operationen des Schreibpuffers;
-
12 zeigt
ein erstes Zeitablaufdiagramm während
des Betriebs;
-
13 zeigt
ein zweites Zeitablaufdiagramm während
des Betriebs.
-
Beste Art zum Ausführen der
Erfindung
-
Es
folgt nun eine Beschreibung von Ausführungsformen der vorliegenden
Erfindung unter Bezugnahme auf die begleitenden Zeichnungen.
-
Ausführungsformen
-
2 ist
eine Blockansicht des Schreibens eines Halbleiterbauelements 10 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Wie in 2 gezeigt
ist, umfasst das Halbleiterbauelement 10 den Eingangspuffer 2,
eine Eingangszwischenspeicher- bzw. Latchschaltung 11,
eine Schreibzwischenspeicher- bzw. Latchschaltung 13, eine Schreibspannungszuführschaltung 14,
das Speicherarray 5, die Fühlerverstärkerschaltung 6, eine
Komparatorschaltung 17 und eine Steuerschaltung 18.
Im Folgenden wird eine Mehrpegelspeicherzelle mit zwei Bits beschrieben.
In der Mehrpegelspeicherzelle mit zwei Bits sind der Pegel 1 bzw.
das Niveau 1, der Pegel 2, der Pegel 3 und
der Pegel 4 entsprechend definiert als (1,1), (0,1), (1,0)
und (0,0), d. h. zwei Eingangsdaten und zwei Ausgangsdaten.
-
Das
Halbleiterbauelement 10 umfasst eine Schreibschaltung für die Mehrpegelspeicherzelle, wobei
der Schreibpuffer verwendet ist. Das Halbleiterbauelement 10 führt ein
Daten schreibverfahren aus. Das Halbleiterbauelement 10 kann
ein Halbleiterspeicherbauelement sein, in welchem lediglich das
Halbleiterbauelement in einem einzelnen Gehäuse untergebracht ist, etwa
ein Flash-Speicher, oder das Bauelement 10 kann in ein
Halbleiterbauelement als ein einzelner Teil von mehreren eingebaut
sein. Der Eingangspuffer 2 bewahrt die Eingangsdaten entsprechend
einem Wort, das mittels 16 I/O- bzw. Ein/Aus-Anschlüssen von
außen
eingespeist werden.
-
Die
Eingangszwischenspeicherschaltung 11 speichert die Information
der Eingangsdaten, die in den mehreren Daten enthalten sind, die
sequenziell von außen
mittels des Eingangspuffers 2 eingespeist werden. D. h.,
die Eingangszwischenspeicherschaltung 11 speichert die
Eingangsinformation aus (1,1), (0,1), (1,0) und (0,0). Die Eingangszwischenspeicherschaltung 11 ist
ausgebildet, 2-Bit-Daten zu speichern. Daher werden 8 Eingangszwischenspeicherschaltungen 11 zum
Speichern der Daten mit einem einzelnen Wort aus 16 Bits benötigt. Somit
sind zum Zwischenspeichern der Daten für 16 Wörter 128 (16 × 8 = 128)
Eingangszwischenspeicherschaltungen 11 vorzusehen. In der
vorliegenden Ausführungsform ist
die Anzahl der Eingangszwischenspeicherschaltungen 11 gleich
der Anzahl der Schreibzwischenspeicherschaltungen 13, und
gleichzeitig ist die Anzahl größer als
die Anzahl der Schreibspannungszuführschaltungen 14.
Der Schreibpuffer der vorliegenden Erfindung ist aus der Eingangszwischenspeicherschaltung 11,
der Schreibzwischenspeicherschaltung 13 und der Schreibspannungszuführschaltung 14 aufgebaut.
-
Die
Eingangszwischenspeicherschaltung 11 verarbeitet ein Datenpaar,
das aus einem ungeradzahligen Ein/Aus-Anschluss und von einem geradzahligen
Ein/Aus-Anschluss eingespeist wird, wandelt die eingespeisten Daten
aus mehreren Wörtern in
die Schreibdaten aus mehreren Wörtern
gemäß den jeweiligen
Pegeln der Mehrpegelspeicherzelle um und überträgt die Daten zu der Schreibzwischenspeicherschaltung 3.
Hierbei gehören
zu den zuvor genannten jeweiligen Pegeln der Pegel 1, der Pegel 2,
der Pegel 3 und der Pegel 4. Als Mehrpegelspeicherzelle kann eine
Art einer Mehrpegelspeicherzelle verwendet werden, in der vier Informationen
gespeichert werden, indem Elektronen in unterschiedlicher Menge
in dem schwebenden Gate bzw. in dem Gate mit frei einstellbarem
Potential gespeichert werden, oder es kann eine andere Art verwendet
werden, in welchem eine Elektroneneinfangschicht aus Nitrid oder
dergleichen anstelle des schwebenden Gates vorgesehen ist.
-
Die
Schreibzwischenspeicherschaltung 13 speichert die von der
Eingangszwischenspeicherschaltung 11 übertragene Schreibinformation.
Die Schreibzwischenspeicherschaltung 13 speichert die Schreibdaten
in Form eines Speicherzellenpegels. Die Daten mit den 16 Bits eines
einzelnen Wortes werden in acht Schreibinformationen umgewandelt und
somit sind 16 × 8
= 128 Schreibzwischenspeicherschaltungen 13 für das Zwischenspeichern
von 16 Wörtern
erforderlich. Die Schreibzwischenspeicherschaltung 13 unterteilt
die mehreren Wortinformationsanteile, die von dem Schreibpuffer
bewahrt werden, gemäß der Anzahl
der Speicherzellen, die gleichzeitig programmierbar sind, und überträgt sequenziell
diese Daten zu der Schreibspannungszuführschaltung 4 als
eine Gruppe. Dabei unterteilt die Schreibzwischenspeicher 13 die
16 Wörter
in vier Gruppen, wobei jede Gruppe vier Wörter aufweist und überträgt sequenziell
diese Daten an die Schreibspannungszuführschaltung 4 auf
der Grundlage bzw. in Form einer einzelnen Gruppe. Anders ausgedrückt, die
Schreibzwischenspeicherschaltung 13 gibt vier Wörter aus.
-
Die
Schreibspannungszuführschaltung 14 beschreibt
die Mehrpegelspeicherzelle mit der Schreibinformation, die von der
Schreibzwischenspeicherschaltung 13 als Gruppe übertragen
wird, so dass eine Zuordnung zu der Anzahl der gleichzeitig programmierbaren
Speicherzellen besteht. In einem Schreibverfahren für die Mehrpegelspeicherzelle wird
der Schwellwert Vth jeweils geringfügig erhöht, und es wird nicht viel
Schreibstrom verbraucht. Dies ermöglicht es, immer mehr Zellen
zu programmieren. 16 Wörter
entspricht der Anzahl, die der Schreibpuffer als Daten bewahren
kann, und 32 Zellen ist die Anzahl der programmierbaren Zellen,
und die Schreibspannungszuführschaltung 14 wendet
ein Verfahren an, um einen Schreibpuls 4 mal bei jeder Schreiboperation
anzulegen. Auf diese Weise programmiert die Schreibspannungszuführspannung 14 32
Zellen gleichzeitig mit einer einzelnen Gruppe.
-
Das
Speicherzellenarray 5 beinhaltet Verbindungsstrukturen,
Wortleitungen, Bitleitungen und dergleichen des Mehrpegelspeicherzellentransistors mit
mehreren unterschiedlichen Schwellwertspannungswerten, und Daten
werden in jedem Speicherzellentransistor gespeichert. Die Daten
werden aus der Speicherzelle, die durch eine aktivierte Wortleitung
ausgewählt
ist, in die Bitleitung beim Auslesen der Daten ausgelesen. Durch
Einstellen der Wortleitung und der Bitleitung auf geeignete Potentiale
kann entsprechend den jeweiligen Aktivitäten zum Zeitpunkt des Programmierens
oder Löschens
Elektronen in die Speicherzelle eingeführt und daraus herausgelöst werden.
-
Die
Fühlerverstärkerschaltung 6 wandelt
den Strom der Daten in der ausgewählten Speicherzelle in eine
Spannung um, wobei der Strom von dem Speicherzellenarray aufgebracht
wird, und überträgt die ausgelesenen
Daten an die Komparatorschaltung 17 und die Zwischenspeicherschaltung 13.
Die Komparatorschaltung 17 vergleicht die ausgelesenen
Daten mit den Schreibdaten und überträgt ein Vergleichsergebnis
zu der Steuerschaltung 18. Die Schreibspannungszuführschaltung 14 programmiert
die Speicherzelle erneut, wenn bestimmt wird, dass die Speicherzelle
nicht ausreichend programmiert ist. Die Schreibspannungszuführschaltung 14 invertiert die
internen Schreibdaten und beendet eine einzelne Programmieroperation,
wenn die Speicherzelle ausreichend auf einen gegebenen Pegel programmiert ist.
Die Komparatorschaltung 17 bestimmt, ob die Verifizierung
für jede
Gruppe erfolgreich war.
-
Die
Steuerschaltung 18 empfängt
ein Steuersignal von außen,
empfängt
einen Befehl von einem Befehlsregister (nicht gezeigt) gleichzeitig
dazu, fungiert als eine Zustandsmaschine und steuert jeden Teil
des Halbleiterbauelements 10. Insbesondere steuert die
Steuerschaltung 18 das Programmieren des Speicherzellenarrays 5.
-
Die
Steuerschaltung 18 erzeugt ein Schreibsteuersignal des
nächsten
Pegels und überträgt dieses
zu der Eingangszwischenspeicherschaltung 11, wenn die Mehrpegelspeicherzelle
bei dem vorgegebenen Pegel ausreichend programmiert ist. Die Eingangszwischenspeicherschaltung 11 wandelt
die eingespeisten Daten aus mehreren Wörtern, die gespeichert sind,
in die Schreibdaten um, und überträgt die Schreibdaten
zu der Schreibzwischenspeicherschaltung 13. Die Steuerschaltung 18 wiederholt
die zuvor genannten Prozesse und beendet den gesamten Programmiervorgang,
wenn die Anwenderschreibdaten vollständig den Speicherzellendaten
entsprechen.
-
Anschließend wird
eine Beschreibung der Steuerschaltung 18 angegeben. 3 ist
ein Beispiel einer Steuerlogik, die diverse Steuersignale in dem
Schreibpuffer erzeugt. Wie in 3 gezeigt
ist, umfasst die Steuerschaltung 18 Schaltungen 81 bis 85.
Die Schaltung 81 enthält
eine NAND-Schaltung 811. Die Schaltung 81 erzeugt
ein Signal STRAT_PULSE, das ein Signal DLOADB und ein Signal START
enthält.
Das Signal STRAT_PULSE ist ein kurzer Puls, der zu Beginn jedes
Programmierablaufs erzeugt wird, und der der Schreibzwischenspeicherschaltung 13 eingespeist
wird.
-
Die
Schaltung 82 umfasst Inverter 821 bis 823 und
eine NAND-Schaltung 824. Die Schaltung 82 erzeugt
ein Signal DLOADB mit dem Signal START und ein Signal MATCH1B. Das
Signal DLOADB wird in einer anfänglichen
Phase des Programmiervorgangs tiefpegelig. Nach dem Erhalt des Signals
DLOADB werden die Anwendereingangsdaten an die Eingangszwischenspeicherschaltung 11 aus
dem Eingangspuffer 2 übertragen.
-
Die
Schaltung 83 enthält
einen NMOS-Transistor 831, einen PMOS-Transistor 832,
eine NOR-Schaltung 833 und Inverter 834 bis 837.
Die Schaltung 83 erzeugt ein Signal SELB(k) und ein Signal
SELB_LATCHB(k) mit ADRESSE (3:0)X und dem Signal DLOADB. Hier läuft k von
0 bis 15 und zeigt, welchem Wort aus den 16 Wörtern das Signal zugeordnet
ist. Es müssen
16 Schaltungen 83 zum Steuern des Schreibpuffers aus 16
Wörter
vorgesehen werden. Gemäß dem Signal
ADRESSE (3:0) wird die Information, welches Wort von dem Anwender
ausgewählt
wird, in dem Zwischenspeicher festgelegt, der aus den Invertern 835 und 836 zusammengesetzt
ist. Hierbei ist die Adresse (3:0)X eine Wortauswahladresse, die
von dem Anwender eingespeist wird, und bezeichnet alle Kombinationen
(16 Kombinationen) der Adresse (3:0) und des entsprechenden
komplementären
Signals ADRESSE (3:0)B. Das Signal SELB_LATCH(k) wird auf tiefen
Pegel gesetzt, wenn der Anwender das k-te-Wort auswählt. Das
Signal SELB_LATCH(k), das einem nicht ausgewählten Wort entspricht, wird
auf einen hohen Pegel gesetzt. Dieses Signal wird verwendet, um
die Verifizierdaten zum Weiterführen
der Verifizierung zu steuern, und wird zur Einspeisung in die Komparatorschaltung 17 verwendet,
obwohl die Verifizierdaten das Wort repräsentieren, auf das von dem
Anwender in einer Schreibgruppe aus vier Wörtern nicht zugegriffen wird
und aus der Speicherzelle ausgelesen wird.
-
Das
Signal SELB(k) ist ein Wortdecodiersignal in dem Schreibpuffer,
das das Wort gemäß der Wortauswahladresse
ADRESSE (3:0) auswählt,
und das ausgewählte
Wort wird auf einen niedrigen Pegel gesetzt. Während der Programmierung gibt
der Anwender sequenziell Wortadressen und die Daten ein, und das
entsprechende Signal SELB(n) geht in jedem Falle auf einen tiefen
Pegel über.
Die Schreibdaten werden sequenziell in der Eingangszwischenspeicherschaltung 11 gespeichert.
-
Die
Schaltung 84 umfasst einen NMOS-Transistor 841,
einen PMOS-Transistor 842, eine NOR-Schaltung 843,
eine NAND-Schaltung 844 und Inverter 845 bis 847.
Die Schaltung 84 erzeugt das Signal MATCH1B mit dem Signal
START, ein Signal PASS_ALL und ein Signal PGM2ND. Das Signal PASS_ALL
wird hochpegelig, wenn die Verifizierung für alle Zellen erfolgreich war.
Die in den Invertern 845 und 846 gespeicherten
Daten werden von dem Inverter 847 als das Signal MATCH1B
ausgegeben.
-
Die
Schaltung 85 enthält
einen NMOS-Transistor 851, einen PMOS-Transistor 852,
eine NOR-Schaltung 853, eine NAND-Schaltung 854 und Inverter 855 bis 857.
Die Schaltung 85 erzeugt ein Signal MATCH2B mit dem Signal
START, das Signal PASS_ALL und ein Signal PGM3ND. Die in den Invertern 855 und 856 zwischengespeicherten
Daten werden von einem Inverter 857 als das Signal MATCH2B
ausgegeben. Das Signal MATCH1B und das Signal MATCH2B werden in
die Eingangszwischenspeicherschaltung 11 eingespeist.
-
Anschließend wird
eine Beschreibung der Eingangszwischenspeicherschaltung 11 angegeben. 4 ist
eine Ansicht, in der die Eingangszwischenspeicherschaltung gemäß einer
Ausführungsform der
Erfindung gezeigt ist. Wie in 4 gezeigt
ist, umfasst die Eingangszwischenspeicherschaltung 11 Schaltungen 21 bis 23.
Die Eingangszwischenspeicherschaltung 11 wandelt die zwei
Eingangsdaten in ein einzelnes Schreibdatum PLOADp um. Es müssen 128
Eingangszwischenspeicherschaltungen 11 für das Speichern
der Daten für
16 Wörter
vorgesehen werden. Es wird eine Beschreibung für PGM2ND, das als ein Programmierablauf
für den
Pegel 1 bis Pegel 2 definiert ist, für PGM3RD, das als ein Programmierablauf
vom Pegel 2 zum Pegel 3 definiert ist, und für PGM4TH, das als der Programmierablauf
vom Pegel 3 zum Pegel 4 definiert ist, angegeben.
-
Das
Signal DLOADB wird in der anfänglichen Phase
des Programmiervorgangs tiefpegelig. Nach dem Erhalt des Signals
DLOADB werden die Anwendereingangsdaten zur Eingangszwischenspeicherschaltung 11 aus
dem Eingangspuffer 2 übertragen. Das
Signal SELB(k) ist ein Wortdecodiersignal in dem Schreibpuffer und
wird von der Steuerschaltung 18 bereitgestellt. Es gibt
16 Signale SELB(k) im Puffer aus 16 Wörtern. Ein Signal IN_EVENm
und ein Signal IN_ODDm werden auf der Grundlage der Anwendereingangsdaten,
die von dem Eingangspuffer 2 übertragen werden, entsprechend
variiert. Hierbei läuft
m von 0 bis 7. Der Pegel 1 wird repräsentiert, wenn das Signal IN_EVENm
hochpegelig und das Signal IN_ODDm hochpegelig ist. Der Pegel 2
wird repräsentiert,
wenn das Signal IN_EVENm tiefpegelig und das Signal IN_ODDm hochpegelig
sind. Der Pegel 3 wird repräsentiert,
wenn das Signal IN_EVENm hochpegelig und das Signal IN_ODDm tiefpegelig sind.
Der Pegel 4 wird repräsentiert,
wenn das Signal IN_EVENm tiefpegelig und das Signal IN_ODDm tiefpegelig
sind.
-
Das
Signal MATCH1B wird tiefpegelig, wenn PGM2ND abgeschlossen ist.
Das Signal MATCH2B wird tiefpegelig, wenn PGM3ND beendet ist. Das
Signal MATCH1B und das Signal MATCH2B werden von der Steuerschaltung 18 bereitgestellt.
Die Schaltung 22 enthält
NMOS-Transistoren 221 bis 223, einen PMOS-Transistor 224,
eine NOR-Schaltung 225 und Inverter 226 bis 229.
Wenn ein Signal RESETB tiefpegelig ist, das Signal DLOADB und das
Signal SELB(k) tiefpegelig und ein Signal DSEL hochpegelig sind,
werden die Anwendereingangsdaten als die Signale IN_EVENm und IN_ODDm
eingespeist und in dem Zwischenspeicher, der aus den Invertern 226 uknd 227 aufgebaut
ist, gespeichert. Der Inverter 228 erzeugt ein Signal DINa
und der Inverter 229 erzeugt ein Signal DINaB. Das Signal
DINa und das Signal DINaB werden in die Inverterschaltung 21 eingespeist.
-
Die
Schaltung 23 umfasst NMOS-Transistoren 231 bis 233,
einen PMOS-Transistor 234 und Inverter 235 bis 238.
Wenn das Signal RESETB tiefpegelig und das Signal DLOADB und das
Signal SELBn tiefpegelig und das Signal DSEL hochpegelig sind, werden
die Anwendereingangsdaten als die Signale IN_EVENm und IN_ODDm eingespeist,
und in dem Zwischenspeicher, der aus den Invertern 235 und 236 aufgebaut
ist, gespeichert. Der Inverter 237 erzeugt ein Signal DINb
und der Inverter 238 erzeugt ein Signal DINbB. Das Signal
DINbB und das Signal DINbB werden der Inverterschaltung 21 eingespeist.
-
Die
Inverterschaltung 21 umfasst NAND-Schaltungen 211 bis 214.
Die Inverterschaltung 21 invertiert die von dem ungeradzahligen Ein/Aus-Anschluss
zugeführten
Daten und die von dem geradzahligen Ein/Aus-Anschluss gelieferten Daten
zu einem einzelnen Schreibdatum PLOAD. Wenn das Signal PLOAD hochpegelig
ist, wird ein Befehl zum Schreiben in dem Programmierablauf ausgeführt. Das
Signal MATCH1B und das Signal MATCH2B sind beide während des
Ablaufs PGM2ND hochpegelig, und die Anwendereingangsdaten von (0,1),
(1,0) bzw. (0,0) sind in dem Signal PLOADp hochpegelig. Das Signal
MATCH1B ist tiefpegelig und das Signal MATCH2B ist in PGM3RD hochpegelig
und die Anwendereingangsdaten (1,0) oder (0,0) sind in dem Signal
PLOADp hochpegelig. Das Signal MATCH1B ist tiefpegelig und das Signal MATCH2B
ist in PGM4TH tiefpegelig und lediglich die Anwendereingangsdaten
(0,0) sind in dem Signal PLOADp hochpegelig. Auf diese Weise wird
das Programmieren auf einen höheren
Pegel ausgeführt, nachdem
der untere Pegel durchlaufen ist. Das Signal PLOADp ist als PLOAD
(3:0) gezeigt, und jedes Signal PLOAD(n) enthält 32 Signale gleich der Anzahl
der gleichzeitig programmierbaren Speicherzellen (beispielsweise
die Anzahl an Speicherzellen für vier
Wörter).
-
Als
nächstes
wird die Schreibzwischenspeicherschaltung 13 beschrieben. 5 ist
eine Ansicht, die die Schreibzwischenspeicherschaltung 13 für eine Mehrpegelspeicherzelle
zeigt. Wie in 5 gezeigt ist, umfasst jede
der Schreibzwischenspeicherschaltungen 13 NMOS-Transistoren 31 und 32, PMOS-Transistoren 33 bis 35 und
Inverter 36 und 37. Es sind 128 Schreibzwischenspeicherschaltungen 13 zum
Speichern der Daten von 16 Wörtern
erforderlich.
-
Die
Schreibzwischenspeicherschaltung 13 unterteilt 16 Wörter in
vier Gruppen, wovon jede vier Wörter
aufweist, und überträgt diese
sequenziell zu der Schreibspannungszuführschaltung 14. Ein
Signal DATAx repräsentiert
Verifizierdaten, die von der Fühlerverstärkerschaltung 6 geliefert
werden, und dieses Signal wird nach dem Durchlaufen des Programmierens
tiefpegelig. Ein Signal SELECT(n) unterteilt die Mehrfachwortinformation,
die in dem Schreibpuffer bewahrt wird, gemäß der Anzahl der gleichzeitig
programmierbaren Speicherzellen. Das Signal SELECT(n) wird von der
Steuerschaltung 18 geliefert. Ein Signal START_PULSE ist
ein kurzer Puls, der zu Beginn jedes Programmierablaufs erzeugt
wird. Das Signal PLOADp wird von der Eingangszwischenspeicherschaltung 11 zu
Beginn des Programiervorgangs für
jeden Pegel übertragen.
-
Wenn
das Signal START_PULSE hochpegelig ist und das Signal PLOADp hochpegelig
ist, werden die Schreibdaten in dem Zwischenspeicher bzw. Latch
festgelegt, der aus den Invertern 36 und 37 aufgebaut
ist. Danach wird ein Ausgang PGMq hochpegelig und repräsentiert
den Zustand des Programmierens. Hier ist das Signal PGMq als PGM
(3:0) repräsentiert.
Jedes Signal PGM(n) enthält
32 Signale entsprechend der Anzahl der gleichzeitig programmierbaren
Speicherzellen (beispielsweise entsprechend der Anzahl der Speicherzellen
für vier
Wörter). Wenn
die Fühlerverstärkerschaltung 6 bestimmt, dass
die Speicherzelle ausreichend programmiert ist, erhält die Schreibzwischenspeicherschaltung 13 die Verifizierdaten
DATAx in tiefpegeligem Zustand. Wenn die Verifizierungsdaten DATAx
tiefpegelig sind und das Signal SELECT tiefpegel ist, werden die Schreibdaten
in dem aus den Invertern 36 und 37 zusammengesetzten
Zwischenspeicher invertiert, und ein einzelner Programmiervorgang
ist abgeschlossen. Somit wird die Speicherzelle, die die Verifizierung
erfolgreich beendet hat, nicht programmiert.
-
Als
nächstes
wird die Schreibspannungszuführschaltung
beschrieben. 6 ist eine Ansicht, die die
Schreibspannungszuführschaltung 14 für eine Mehrpegelspeicherzelle
zeigt. Die zuvor genannnten Schaltungen sind lediglich in der Anzahl
der gleichzeitig programmierbaren Speicherzellen vorgesehen (beispielsweise
32 Schaltungen für
vier Wörter).
Wie in 6 gezeigt ist, umfasst die Schreibspannungszuführschaltung 14 Interverter 41 bis 45,
Transfergates 46 bis 49, NMOS-Transistoren 50 bis 52 und PMOS-Transistoren 53 bis 55.
Das Gate des NMOS-Transistors 50 wird von einem Signal
RESET gesteuert, und die Gates der NMOS-Transistoren 51 und 52 werden
durch die Versorgungsspannung VCC gesteuert.
-
Das
Signal SELECT (3:0) unterteilt die Mehrwortinformation, die in dem
Schreibpuffer bewahrt wird, gemäß der Anzahl
der gleichzeitig programmierbaren Speicherzellen, und wird hochpegelig
zum Zeitpunkt des Programmierens oder Verifizierens jeder Gruppe.
Das Signal SELECT (3:0) wird von der Steuerschaltung 18 erzeugt.
Das Signal PGM (3:0) repräsentiert
die Schreibeingangsdaten, die von der Schreibzwischenspeicherschaltung 13 geliefert
werden. Das Signal PGM (3:0) wird von einem Signal SELECT (3:0)
und dem Signal SELECT (3:0) ausgewählt. Ein Signal mit niedrigem
Pegel wird in einen Knotenpunkt N1 eingespeist, und der Transistor 55 für die Versorgung
wird leitend. Danach wird ein Programmierpuls PGMPULSEz der ausgewählten Speicherzelle
zugeführt.
Ein hochpegeliges Signal wird in den Knotenpunkt N1 eingespeist,
und der Transistor 55 für
die Versorgungsspannung schaltet aus. Der Programmierpuls PGMPULSz
wird nun nicht mehr der ausgewählten
Speicherzelle zugeführt.
-
Als
nächstes
wird die Komparatorschaltung 17 beschrieben. 7 ist
eine Ansicht, die die Komparatorschaltung 17 für die Mehrpegelspeicherzelle zeigt.
Die Komparatorschaltung 17 bestimmt „erfolgreich/Fehler" in jeder Verfifzierung
auf der Grundlage der eingespeisten Signale mit dem Signal PLOAD (3:0),
das von der Eingangszwischenspeicherschaltung 11 geliefert
wird, dem Signal PGM (3:0), das von der Schreibzwischenspeicherschaltung 13 geliefert wird,
und den Verifizierungsdaten DATAx, die von der Fühlerverstärkerschaltung 6 geliefert
werden. Das Signal SELECT (3:0) unterteilt die Anzahl der Wörter in
dem Schreibpuffer gemäß der Anzahl
der gleichzeitig programierbaren Speicherzellen. Ein Signal SELB_LATCH(k)
zwingt die Verifizierdaten zu einem erfolgreichen Durchlaufen bei
der Verifizierung, selbst wenn die Verifizierdaten das Wort repräsentieren,
auf das nicht von dem Anwender in den vier Wörtern der Programiergruppe
eingegriffen wird, und dieses wird aus der Speicherzelle ausgelesen.
-
Die
Komparatorschaltung 17 umfasst Schaltungen 71 bis 75.
Die Schaltung 71 enthält
einen Inverter 711. Der Inverter 711 erzeugt die
Daten DATAB bei Verifizierungsdaten DATAx, die von der Fühlerverstärkerschaltung 6 zugeführt werden.
Die Daten DATAB werden den Transfergattern 734 und 735 in der
Schaltung 73 eingespeist. Die Schaltung 72 umfasst
NAND-Schaltungen 721 bis 725. Die NAND-Operation
wird für
die Signale SELECT(n) durch das Signal SELB_LATCH(k) in den NAND-Schaltungen 721 bis 724 ausgeführt. Die NAND-Operation
wird für
das Ergebnis in der NAND-Schaltung 725 ausgeführt, und
es wird ein Signal FMATCH(w) erzeugt. Hierbei bezeichnet w eine Wortkennzeichnungszahl
in jeder Gruppe, die von 0 bis 3 läuft. Die Schaltung 72 ist
in vereinfachter Form dargestellt, wobei beispielsweise ein Signal FMATCH(0)
mit Signalen SELB_LATCHB(0), SELB_LATCHB(4), SELB_LATCHB(8) und SELB_LATCHB(12)
erzeugt wird. In gleicher Weise wird ein Signal FMATCH(1) mit Signalen SELB_LATCHB(1),
SELB_LATCHB(5), SELB_LATCH(9) und SELB_LATCHB(13) erzeugt.
-
Wenn
beispielswiese auf das nullte und das erste Wort von dem Anwender
zugegriffen wird, sind SELB_LATCHB(0) und SELB_LATCHB(1) tiefpegelig,
und es ist eine Gruppe 0 zu programmieren (SELECT(0) ist hochpegelig),
die Signale FMATCH(0) und FMATCH(1) sind niederpegelig und die Signale FMATCH(2)
und FMATCH(3) sind hochpegelig. Wenn auf das zweite und das dritte
Wort von dem Anwender zugegriffen wird, ist das Gatesignal eines Transistors 736 stets
auf tiefem Pegel und so angesteuert, dass die Verifizierung positiv
ist, unabhängig von
den aus der Speicherzelle ausgelesenen Verifizierungsdaten. Dies
macht es möglich,
dass das nicht ausgewählte
Wort in der Gruppe die Verifizierung durchläuft. Es werden 32 Zellen gleichzeitig
der Verfizierung und der Programmierung unterzogen, und folglich
muss der zuvor genannte erzwungene (erfolgreiche) Verifizierdurchlauf
gesteuert werden.
-
Die
Schaltung 74 enthält
einen PMOS-Transistor 741 und Transfergates 742 bis 745.
Das von der Schreibzwischenspeicherschaltung 13 zugeführte PGM(3:0)
wird mit den Signalen SELECTB (3:0) bis SELECT (3:0) ausgewählt, und
es wird ein Signal DVLOG ausgegeben. Das Signal DVLOG wird in einer
NOR-Schaltung 732 der Schaltung 73 eingespeist.
Die Schaltung 75 umfasst einen PMOS-Transistor 751 und
Transfergates 752 bis 755. Das von der Eingangszwischenspeicherschaltung 11 bereitgestellte
Signal PLOAD (3:0) wird von den Signalen SELECTB (3:0) bis SELECT
(3:0) ausgewählt,
und es wird ein Signal PLDATA ausgegeben. Das Signal PLDATA wird
einem Inverter 731 der Schaltung 73 zugeführt.
-
Die
Schaltung 73 umfasst den Inverter 731, die NOR-Schaltung 732 und 733,
die Transfergates 734 und 735 und den NMOS-Transistor 736.
-
Ein
Signal des Ergebnisses der NOR-Operation an dem Signal FMATCH(w)
und dem Signal DVLOG in der NOR-Schaltung 732 und ein weiteres
Signal des Ergebnisses in der NOR-Schaltung 733 der NOR-Operation
des Signals FMATCH(w) und des Ausgangs aus dem Inverter 731,
der das Signal PLDATA empfangen hat, werden von dem Signal DATAB
ausgewählt.
Die ausgewählten
Signale steuern das Gate des NMOS-Transistors 736 und es
wird ein Signal MATCHx an die Steuerschaltung 18 ausgegeben.
Auf diese Weise vergleicht die Komparatorschaltung 17 die
in einer Verfizierungsperiode ausgelesenen Daten und die Schreibdaten,
und gibt das Vergleichsergebnis als das Signal MATCHX aus. Die Schaltung 73 ist
eine verdrahtete ODER-Schaltung und es gibt 32 Bereiche, die von
einer gestrichelten Linie umgeben sind und die mit einem Anschluss MATCHX
verbunden sind. Wenn eine einzelne Verifizierung negativ ist, wird
das Signal MATCHX niederpegelig. Dadurch wird die Programmieroperation
erneut ausgeführt.
Wenn alle Bits erfolgreich programmiert sind, wird das Signal MATCHX
hochpegelig. Die Steuerschaltung 18 erzeugt ein Signal,
um die nachfolgende Verfifizierung und Programierung für die Gruppe
einzuleiten, die die Verifizierung durchlaufen hat, nach dem Empfang
des Signals MATCHX.
-
8 ist
eine Ansicht, in der ein Steuerungsverfahren zum Beschreiben der
Mehrpegelspeicherzelle gezeigt ist. 8 enthält die Fühlerverstärkerschaltung 6,
Schreibzwischenspeicherschaltungen 13a bis 13d,
die Schreibspannungszuführschaltung 14,
die Komparatorschaltung 17 und die Steuerschaltung 18.
32 Zellen sind gleichzeitig programmierbar und folglich werden 32
Fühlerverstärkerschaltungen 6, 32 Schreibzwischenspeicherschaltungen 13a bis 13d, 32 Schreibspannungszuführschaltungen 14, 32 Vergleicherschaltungen 17 und 32 Steuerschaltungen 18 vorgesehen.
Wenn der Schreibpuls 4 Gruppen vier mal zugeführt wird,
wird das Schreibsignal PGM(n) entsprechend der Decodierung (SELECT(n))
ausgewählt,
und der Schreibpuls wird sequenziell an die Speicherzelle angelegt.
-
In
dieser Konfiguration überträgt die Schreibzwischenspeicherschaltung 13a die
Schreibdaten für die
erste Gruppe, die eine von vier Gruppen ist, in die die 16 Wörter unterteilt
sind, an die Schreibspannungszuführschaltung 14.
Die Schreibspannungszuführspannung 14 schreibt
die Daten in die Speicherzelle gemäß Schreibdaten PGM(0), die
von der Schreibzwischenspeicherschaltung 13a bereitgestellt
werden. Als nächstes überträgt die Schreibzwischenspeicherschaltung 13b die
zweite Gruppe an Schreibdaten an die Schreibspannungszuführschaltung 14.
Die Schreibspannungszuführschaltung 14 schreibt
die Daten in die Speicherzelle gemäß einem Schreibdatensignal
PGM(1), das von der Schreibzwischenspeicherschaltung 13b geliefert
wird. Die Schreibzwischenspeicherschaltung 13c überträgt die dritte
Gruppe der Schreibdaten an die Schreibspannungszuführschaltung 14.
Die Schreibspannungszuführschaltung 14 schreibt
die Daten in die Speicherzelle gemäß einem Schreibdatensignal
PGM(2), das von der Schreibzwischenspeicherschaltung 13c geliefert
wird. Die Schreibzwischenspeicherschaltung 13d überträgt die vierte
Gruppe der Schreibdaten zu der Schreibspannungszuführschaltung 14.
Die Schreibspannungszuführschaltung 14 schreibt
die Daten in die Speicherzelle gemäß einem Schreibdatensignal
PGM(3), das von der Schreibzwischenspeicherschaltung 3d geliefert
wird. Für
jede Gruppe können
gleichzeitig 32 Zellen programmiert werden.
-
9 ist
eine Ansicht, in der ein Aufwärts- bzw.
Inkrementzähler
für eine
Gruppe aus vier Wörtern
in dem 16-Wort-Schreibpuffer gezeigt ist, gemäß einem der Merkmale der vorliegenden
Erfindung. In 9 bezeichnet das Bezugszeichen 17 die
Komparatorschaltung, das Bezugszeichen 18 repräsentiert die
Steuerschaltung und das Bezugszeichen 91 repräsentiert
ein Schieberegister. 10 ist eine Ansicht eines Beispiels
des Schieberegisters, wie es in dem Aufwärtszähler verwendet wird. Wie in 10 gezeigt
ist, umfasst das Schieberegister 91 NMOS-Transistor 911 bis 913,
einen PMOS-Transistor 914 und Inverter 915 und 918.
-
Das
Signal SELECT (3:0) wird sequenziell durch Zuführen eines Signals OUTPUT einer
vorhergehenden Schaltung zu einem Signaleingang bzw. INPUT weiter
gezählt.
Ein Signal CLK taktet gemäß den 8
Steuersignalen, die von der Steuerschaltung 18, die in 8 gezeigt
ist, geliefert werden. Das Signal INPUT wird eingespeist, während das
Signal CLK hochpegelig ist, und die Daten werden in den Zwischenspeicher
geschrieben, der aus den Invertern 915 und 916 aufgebaut
ist. Das Signal INPUT wird eingespeist, während ein Signal CLKB hochpegelig
ist, und die Daten im Zwischenspeicher, der aus dem Inverter 915 und 916 aufgebaut
ist, werden in den Zwischenspeicher geschoben, der aus den Inverter 917 und 918 aufgebaut
ist.
-
Es
sei wieder auf 9 verwiesen; die Steuerschaltung 18 erzeugt
diverse Steuersignale, die den Zähler
zugeführt
werden, nachdem entsprechende Bestimmungsangaben über „erfolgreich/Fehler", wie dies von der
Komparatorschaltung 17 bestimmt wird, empfangen werden.
Im Allgemeinen wird das Signal SELECT sequenziell wie folgt erhöht: 0-1-2-3. Hier
soll ein Signal SELECT(2) auf „erfolgreich" gesetzt werden (tiefpegelig),
und die Gruppe 2 absolviert die nächste Verifizierung erfolgreich,
und folglich wird das Signal SELECT als 1-2-4 in der nachfolgenden Verifizierung
und Programmierung erhöht.
Dabei wird die Eingabe 1-3 in das Schieberegister bei einem Signal
SELECT(3) anstelle der Eingabe 2-3 eingespeist.
-
Ferner
absolviert die Gruppe 1 die nächste Verifizierung
und das Signal SELECT(1) wird auf erfolgreich (tiefpegelig) festgelegt,
so dass das Signal SELECT 0-3 in der nachfolgenden Verifizierung
und Programmierung inkrementiert wird. Dieses mal wird die Eingabe
0-3 in das Schieberegister mit dem Signal SELECT(3) anstelle der
Eingabe 1-3 eingespeist. Ferner geht die Gruppe 0 in die nächste Verfifizierung über, wobei
das Signal SELECT(0) „erfolgreich" anzeigt (niederpegelig),
und es wird lediglich die Gruppe 4 in der nächsten Verifizierung und Programmierung
ausgeführt,
und das Schieberegister wird nicht inkrementiert.
-
Auf
diese Weise erzeugt die Steuerschaltung 18 das Signal,
um zur nächsten
Verifizierung und Programmierung für die Gruppe weiterzugehen,
die die Verifizierung erfolgreich durchlaufen hat, nachdem eine
vorgegebene Gruppe der Verifizierung abgeschlossen ist. Es ist möglich, die
Verfizierung und Programmierung einer nicht notwendigen 4-Wort-Gruppe zu vermeiden.
Dies ermöglicht
es, die Schreibgeschwindigkeit für
jedes Wort deutlich zu erhöhen.
In diesem Falle kennzeichnet das Signal aus vier Pulsen einen Befehl,
dass alle vier Gruppen zu verifizieren und zu programmieren sind,
und das Signal aus drei Pulsen bezeichnet den Befehl, dass lediglich
drei Gruppen zu verifizieren und programmieren sind. Durch Kombinieren
der zuvor beschriebenen Steuersignale und des Signals, das angibt,
welche 4-Wort-Gruppe die Verifizierung durchlaufen hat, kann die
Inkrementierung des zuvor genannten Zählers realisiert werden.
-
Als
nächstes
wird die Gesamtfunktion des Schreibpuffers beschrieben. 11 ist
ein Zeitablaufdiagramm der Gesamtfunktion des Schreibpuffers. Das
Signal DLOADB wird in der Anfangsphase der Programmieraktion tiefpegelig,
und die Anwendereingangsdaten werden zu der Eingangszwischenspeicherschaltung 11 aus
dem Eingangspuffer 2 übertragen.
Die Signale MATCH1B und MATCH2B sind beide hochpegelig, und es wird
PGM2ND an den Anwendereingangsdaten (0,1), (1,0), (0,0) ausgeführt. Die
Verifizierung aller Zellen wird in PGM2ND durchlaufen, ein Signal
PASS_ALL(MATCHX) wird hochpegelig, und das Signal MATCH1B wird tiefpegelig.
-
Das
Signal MATCH1B ist auf tiefem Pegel und das Signal MATCH2B ist auf
hohem Pegel, und es wird PGM3RD (1,0) oder (0,0) der Anwendereingangsdaten
ausgeführt.
Die Verifizierung aller Zellen wird in PGM3RD durchlaufen, und das
Signal PASS_ALL geht auf hohen Pegel, und das Signal MATCH2B wird
tiefpegelig. Die Signale MATCH1B und MATCH2B sind auf tiefem Pegel
und es wird daher PGM4TH an den Anwendereingangsdaten (0,0) ausgeführt. PGM4TH
ist abgeschlossen und ein Puls DONE geht auf hohen Pegel und beendet
den Prozess.
-
12 ist
ein Zeitablaufdiagramm des Verifizierens aller Gruppen. Die Verifizierung
und Programmierung werden abwechselnd auf Grundlage mehrerer Gruppen
im Ablauf PGM2ND ausgeführt. Die
Steuerschaltung 18 erhöht
sequenziell das Signal SELECT(3:0), um jede Gruppe zu verifizieren. Die
Steuerschaltung 18 erhöht
sequenziell das Signal SELECT (3:0), erzeugt einen Schreibpuls PGMPULSE(3:0)
für jede
Gruppe in der Schreibspannungszuführschaltung 14 und
schreibt die Daten in die Speicherzelle. Das Verifizieren und das
Programmieren werden auf Grundlage mehrerer Gruppen für eine vorgegebene
Anzahl an Durchläufen
wiederholt.
-
Die
Verifizierung aller Zellen wird in PGM2ND durchlaufen, das Signal
PASS ALL geht auf hohen Pegel und wird zu PGM3RD weitergeleitet. Hier
wird gemäß dem Signal
mit vier Pulsen die Verifizierung und Programmierung an allen vier
Gruppen ausgeführt.
-
13 ist
ein Zeitablaufdiagramm, in welchem die Gruppe, die die Verifizierung
erfolgreich durchlaufen hat, betrachtet wird. Die Verifizierung und
das Programmieren werden abwechselnd auf der Grundlage mehrerer
Gruppen in PGM2ND durchlaufen. Die Steuerschaltung 18 erhöht sequenziell das
Signal SELECT(3:0) und verifiziert jede Gruppe. Die Steuerschaltung 18 inkrementiert
sequenziell das Signal SELECT(3:0), erzeugt den Schreibpuls PGMPULSE(3:0)
für jede
Gruppe in der Schreibspannungszuführschaltung 14 und
schreibt die Daten in die Speicherzelle.
-
Im
Allgemeinen wird das Signal SELECT sequenziell in Form von 0-1-2-3
inkrementiert. Wenn hier die Gruppe 1 die erste Verifizierung erfolgreich durchläuft, wird
das Signal SELECT(1) auf „erfolgreich" (tieferen Pegel)
gesetzt, das Signal SELECT wird als 0-2-3 in der nachfolgenden Verifizierung
und Programmierung inkrementiert. Dabei wird die Eingabe 0-2 in
das Schieberegister beim Signal SELECT(2) anstelle der Eingabe 1-2
eingespeist. Wenn ferner die Gruppe 3 die erste Verifizierung erfolgreich durchläuft, wird
das Signal SELECT(3) auf „erfolgreich" (niedrigen Pegel)
gesetzt und das Signal SELECT wird als 0-2 in der nachfolgenden
Verifizierung und Programierung inkrementiert.
-
Auf
diese Weise werden alle vier Gruppen durch das Signal mit den vier
Pulsen in der ersten Verifizierung verifiziert. Wenn die Gruppe
1 die erste Verifizierung absolviert, werden die drei Gruppen durch das
Signal mit drei Pulsen in der nächsten
Verifizierung verifiziert. Wenn die Gruppe 3 die nachfolgende Verifizierung
erfolgreich durchläuft,
werden die zwei Gruppen durch das Signal mit zwei Pulsen in der nächsten Verifizierung
verifiziert.
-
Die
vorliegende Schaltung ist in der Lage, eine unnötige Verifizierung und Programmierung
für die
4-Wort-Gruppe zu vermeiden. Dies erhöht die Programmiergeschwindigkeit
auf Basis einzelner Wörter
beträchtlich.
Gemäß den Ausführungsformen ist
es möglich,
die Schreibpufferschaltung mit einem Schreibverfahren bereitzustellen,
das speziell für
den Mehrpegelspeicher ist, wobei die Schreibdauer auf Wortbasis
deutlich reuduziert wird. Die Schreibzwischenspeicherschaltung 13 entspricht
einer ersten Latch- bzw. Zwischenspeicherschaltung, die Eingangszwischenspeicherschaltung 11 entspricht
einer zweiten Zwischenspeicherschaltung, die Schreibspannungszuführschaltung 14 entspricht
einer Schreibschaltung und die Komparatorschaltung 17 entspricht
einer Bestimmungsschaltung.
-
Obwohl
einige bevorzugte Ausführungsformen
der vorliegenden Erfindung gezeigt und beschrieben sind, sollte
der Fachmann beachten, dass Änderungen
an diesen Ausführungsformen
durchgeführt
werden können,
ohne von den Prinzipien und dem Grundgedanken der Erfindung abzuweichen, deren
Schutzbereich durch die Patentansprüche und ihre Äquivalente
definiert ist. In den zuvor genannten Ausführungsformen wurde die Mehrpegelspeicherzelle
mit 2 Bits als Beispiel beschrieben. Jedoch ist die vorliegende
Erfindung nicht darauf eingeschränkt.
-
Zusammenfassung
-
Ein
Halbleiterbauelement weist ein Speicherarray auf mit: einer Mehrpegelspeicherzelle
mit mehreren unterschiedlichen Schwellwerten, einer ersten Zwischenspeicherschaltung,
die Information aus mehreren Wörtern
einer Eingangsinformation speichert, einer zweiten Zwischenspeicherschaltung,
die Schreibinformation speichert, in die die Information in mehreren
Wörtern
der Eingangsinformation entsprechend jedem Pegel der Mehrpegelspeicherzelle
umgewandelt wird, einer Schreibschaltung, die Information in die
Mehrpegelspeicherzelle auf Grundlage einer einzelnen Gruppe entsprechend
der Anzahl der gleichzeitig programmierbaren Speicherzellen gemäß der Schreibinformation
schreibt, und einer Steuerschaltung, die das Programmierern des
Speicherzellenarrays steuert. Die Information wird gleichzeitig in
Form von Gruppen, in die die Mehrworteingangsinformation unterteilt
wird, programmiert, wodurch es möglich
ist, eine Programmierdauer auf Basis einzelner Wörter deutlich zu verkürzen. Die
Programmierdauer verlängert
sich nicht, selbst wenn das Programmieren und das Verifizieren einige
Male bei der Programmierung der Mehrpegelspeicherzelle wiederholt
werden.