DE10352710A1 - Flash-Speicherbauelement, Verifizierverfahren und Programmiereinheit hierfür - Google Patents

Flash-Speicherbauelement, Verifizierverfahren und Programmiereinheit hierfür Download PDF

Info

Publication number
DE10352710A1
DE10352710A1 DE10352710A DE10352710A DE10352710A1 DE 10352710 A1 DE10352710 A1 DE 10352710A1 DE 10352710 A DE10352710 A DE 10352710A DE 10352710 A DE10352710 A DE 10352710A DE 10352710 A1 DE10352710 A1 DE 10352710A1
Authority
DE
Germany
Prior art keywords
programming
voltage
flash memory
programming verification
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10352710A
Other languages
English (en)
Inventor
Jin-Wook Lee
Kang-Deog Suh
Yeong-Taek Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE10352710A1 publication Critical patent/DE10352710A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits

Abstract

Die Erfindung bezieht sich auf ein Flash-Speicherbauelement mit einem Speicherzellenfeldblock (110), der eine Mehrzahl von Flash-Speicherzellen beinhaltet, und einem Wortleitungspegelselektor (130), auf ein Verfahren zum Verifizieren, ob Flash-Speicherzellen eines Flash-Speicherbauelements programmiert sind oder nicht, und auf eine Programmiereinheit für ein nichtflüchtiges Speicherbauelement. DOLLAR A Erfindungsgemäß ist ein Programmierverifizierspannungsgenerator (410) zum variablen Erzeugen einer Programmierverifikationsspannung mit verschiedenen Spannungspegeln vorgesehen, mit denen verifiziert wird, ob Flash-Speicherzellen programmiert sind oder nicht, wobei der Wortleitungspegelselektor die Programmierverifikationsspannung zu Wortleitungen überträgt, die mit Steuergateelektroden der Flash-Speicherzellen verbunden sind. DOLLAR A Verwendung z. B. für Flash-Speicherbauelemente.

Description

  • Die Erfindung bezieht sich auf ein Flash-Speicherbauelement nach dem Oberbegriff des Anspruchs 1, auf ein Verfahren zum Verifizieren, ob Speicherzellen eines Flash-Speicherbauelements programmiert sind oder nicht, und auf eine Programmiereinheit für ein nichtflüchtiges Speicherbauelement.
  • Flash-Speicherbauelemente bilden einen Typ nichtflüchtiger Datenspeicherbauelemente hoher Dichte, die es ermöglichen, Daten „on-board" zu schreiben und zu löschen. Eine Flash-Speicherzelle weist einen Feldeffekttransistor (FET) mit einem Auswahlgate, einem floatenden Gate, einer Source und einer Drain auf. Daten werden in der Flash-Speicherzelle durch Änderung der im floatenden Gate gespeicherten Ladungsmenge gespeichert, was eine Änderung einer Schwellenspannung Vt der Flash-Speicherzelle verursacht. Die in der Flash-Speicherzelle gespeicherten Daten werden durch Anlegen einer Auswahlspannung an eine mit dem Auswahlgate verbundene Wortleitung ausgelesen. Die Menge an Strom, die fließt, wenn die Flash-Speicherzelle ausgewählt ist, ist durch die Schwellenspannung Vt der Flash-Speicherzelle bestimmt.
  • Eine Flash-Speicherzelle hat üblicherweise zwei mögliche Zustände, und zwar „programmiert" und „gelöscht". Wenn die Flash-Speicherzelle programmiert ist, sind überschüssige Elektroden auf dem floatenden Gate eingefangen und die Schwellenspannung Vt liegt auf einem angehobenen Wert, so. dass nur wenig Drain-Source-Strom über die Flash-Speicherzelle fließt, wenn die Zelle zwecks Auslesen ausgewählt wird. Der programmierte Zustand der Flash-Speicherzelle wird als logisch „0" bezeichnet. Wenn die Flash-Speicherzelle gelöscht ist, gibt es keine oder nur wenig überschüssige Elektronen auf dem floatenden Gate, was zur Folge hat, dass relativ viel Source-Drain-Strom über die Flash-Speicherzelle fließt, wenn die Zelle zwecks Auslesen ausgewählt wird. Der gelöschte Zustand der Flash-Speicherzelle wird als logisch „1" bezeichnet.
  • 1 zeigt im Blockschaltbild ein herkömmliches Flash-Speicherbauelement 100 mit einem Speicherzellenfeldblock 110, einem Zeilendecoder 120, einem Wortleitungspegelauswahlblock 130, einem Treiberblock 140 und einem Seitenpuffer 150. Der Speicherzellenfeldblock 110 umfasst eine Anzahl i+1 von Zellenketten 200, 202, 204, 206, von denen jede in Reihe geschaltete Flash-Speicherzellen aufweist. So umfasst die erste Kette 200 in Reihe geschaltete Flash-Speicherzellen deren Gateelektroden mit jeweils einer von einer ersten bis sechzehnten Wortleitung WLj (j=0,1,..., 15) verbunden sind, wobei in 1 stellvertretend nur drei Zellen 112, 113 und 114 gezeigt sind. Die Flash-Speicherzelle 112, die mit der ersten Wortleitung WL0 verbunden ist, ist mit ihrer Drainelektrode an einen ersten Auswahltransistor 112 gekoppelt, dessen Gateelektrode mit einer Kettenauswahlleitung SSL verbunden ist. Die mit der sechzehnten Wortleitung WL15 verbundene Flash-Speicherzelle 114 ist mit einer Sourceelektrode an einen zweiten Auswahltransistor 115 gekoppelt, dessen Gateelektrode mit einer Masseauswahlleitung GSL verbunden ist. Eine Drainelektrode des ersten Auswahltransistors 111 ist mit einer ersten Bitleitung BL0 verbunden, und eine Sourceelektrode des zweiten Auswahltransistors 115 ist mit einer gemeinsamen Sourceleitung CSL verbunden.
  • In dieser Weise sind alle Ketten 200, 202, 204 und 206 mit der Kettenauswahlleitung SSL, der ersten bis sechzehnten Wortleitung WLj und der Masseauswahlleitung GSL verbunden. Außerdem ist jede Kette 200, 202, 204 und 206 über die erste Bitleitung BL0 bzw. je eine weitere Bitleitung BL1,..., Bli-1, Bli mit dem Seitenpuffer 150 verbunden, um eine Seiteneinheit zu bilden. Während 1 der Einfachheit halber nur eine im Speicherzellenfeldblock 110 enthaltene Seiteneinheit zeigt, versteht es sich, dass der Speicherzellenfeldblock 110 in Wirklichkeit eine beliebige, vorgebbare Anzahl an Seiteneinheiten umfassen kann. Die Seiteneinheiten werden durch den Zeilendecoder 120 adressiert. Im Treiberblock 140 enthaltene Transistoren werden in Reaktion auf Adressensignale des Zeilendecoders 120 leitend geschaltet, so dass eine jeweilige Seiteneinheit ausgewählt wird.
  • Der Wortleitungspegelauswahlblock 130 wählt eine Programmierspannung VPGM, eine Lesespannung VREAD, eine Programmverifizierspannung VRDV oder eine Durchlassspannung VPASS in Abhängigkeit von einer entsprechenden Betriebsart aus und überträgt die ausgewählte Spannung zum Treiberblock 140. Die Programmierspannung VPGM und die Lesespannung VREAD werden während eines Programmiervorgangs bzw. eines Lesevorgangs der ausgewählten Flash-Speicherzellen angelegt. Die Programmierverifizierungsspannung VRDV wird angelegt, um zu verifizieren, ob die Flash-Speicherzelle programmiert ist oder nicht. Die Durchlassspannung VPASS wird angelegt, um nicht ausgewählte Flash-Speicherzellen elektrisch „anzuschalten" und damit zu bewirken, dass über diese ein Zellenstrom fließt. Der Treiberblock 140 legt die modusabhängige Spannung an die Wortleitungen WLj einer ausgewählten Seiteneinheit in Reaktion auf ein Adressensignal des Zeilendecoders 120 an. Der Seitenpuffer 150 sensiert den über die Bitleitungen BL0, BI1,..., Bli-1, Bli fließenden Zellenstrom und interpretiert Daten von den ausgewählten Flash-Speicherzellen.
  • Nach dem Programmiervorgang führt das Flash-Speicherbauelement 100 wiederholt einen Zyklus in Form einer Programmiereinheitsschleife aus, mit dem der Programmierverifiziervorgang durchgeführt wird. Als Ergebnis des Programmierverifiziervorgangs wird der Programmiervorgang, wenn verifiziert wurde, dass die Flash-Speicherzellen programmiert sind, beendet, während ansonsten der Programmiervorgang nochmals durchgeführt und der Programmierverifiziervorgang wiederholt wird. Wenn beispielsweise eine große Anzahl von Flash-Speicherzellen mit einer zugehörigen Wortleitung verbunden sind, werden vorgegebene Zyklen zum Programmieren aller dieser Flash-Speicherzellen und zum Verifizieren ihres Programmierzustands benötigt. Sobald verifiziert worden ist, dass die Flash-Speicherzellen, die mit der ausgewählten Wortleitung verbunden sind, vollständig programmiert sind, werden Flash-Speicherzellen, die mit einer anderen Wortleitung verbunden sind, programmiert, und deren Programmierzustand wird verifiziert.
  • Wenn der Programmiervorgang und der Programmierverifiziervorgang für eine ausgewählte Wortleitung wiederholt durchgeführt werden, kann die Schwierigkeit auftreten, dass der Programmiervorgang dadurch verfrüht beendet wird, dass unterprogrammierte Flash-Speicherzellen fälschlich als programmiert erkannt werden. Die Ursache hierfür ist im Zeitablaufdiagramm von 2 veranschaulicht und liegt darin, dass sich mit ansteigender Programmierspannung VPGM und konstant anliegender Programmierverifizierungsspannung VRDV während der wiederholten Programmiereinheitsschleifen der Zellstrom aufgrund derjenigen Flash-Speicherzellen erhöht, die während der ersten paar Programmier einheitsschleifen unterprogrammiert bleiben, was ein Anstieg des Pegels der gemeinsamen Sourceleitung CSL verursacht. Dadurch werden die in Wirklichkeit unterprogrammierten Flash-Speicherzellen fälschlich als programmiert beurteilt.
  • 3 veranschaulicht graphisch beispielhafte Schwellenspannungsverteilungen von Flash-Speicherzellen während des Programmierverifizierablaufs von 2. Wie aus 3 ersichtlich, hat die Schwellenspannung Vt der Flash-Speicherzellen anfänglich, wenn ein Löschvorgang für alle Flash-Speicherzellen durchgeführt wurde, einen negativen Spannungspegel. Die Programmiereinheitsschleifen werden dann nacheinander ausgeführt, und die Flash-Speicherzellen werden durch die hohe Programmierspannung VPGM in der letzten Schleife programmiert. Diese Vorgehensweise kann zur Folge haben, dass die Schwellenspannung Vt am hohen Endbereich ungleichmäßig verteilt ist. Diese ungleichmäßige Verteilung der hohen Schwellenspannung Vt führt zu der Schwierigkeit, dass ein Überprogrammieren von Flash-Speicherzellen der Seiteneinheit auftreten kann. Gleichzeitig kann es sein, dass Flash-Speicherzellen mit einer niedrigen Schwellenspannung Vt ähnlich der Programmierverifizierungsspannung VRDV in einem unterprogrammierten Zustand bleiben, d.h. es ist unsicher, ob diese Flash-Speicherzellen programmiert sind oder nicht.
  • Der Erfindung liegt als technisches Problem die Bereitstellung eines Flash-Speicherbauelements der eingangs genannten Art sowie eines Programmierverifizierverfahrens und einer Programmiereinheit zugrunde, mit denen sich die oben erwähnten Schwierigkeiten herkömmlicher Systeme wenigstens teilweise vermeiden lassen und mit denen insbesondere zuverlässig und mit relativ geringem Aufwand beurteilt werden kann, ob Flash-Speicherzellen programmiert sind oder nicht.
  • Die Erfindung löst dieses Problem durch die Bereitstellung eines Flash-Speicherbauelements mit den Merkmalen des Anspruchs 1, eines Programmieiverifiziervertahrens mit den Merkmalen des Anspruchs 5 und einer Programmiereinheit mit den Merkmalen des Anspruchs 11.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Das erfindungsgemäße Flash-Speicherbauelement und das erfindungsgemäße Programmierverifizierverfahren sind in der Lage, eine fälschliche Erkennung, ob Flash-Speicherzellen programmiert sind oder nicht, zuverlässig zu verhindern, und eine verhältnismäßig gleichförmige Verteilung der Schwellenspannung über programmierte Speicherzellen hinweg bereitzustellen.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie das zu deren besserem Verständnis oben erläuterte herkömmliche Ausführungsbeispiel sind in den Zeichnungen dargestellt, in denen zeigen:
  • 1 ein Blockschaltbild eines herkömmlichen Flash-Speicherbauelements,
  • 2 ein Zeitablaufdiagramm zur Veranschaulichung eines Programmierverifiziervorgangs für das herkömmliche Flash-Speicherbauelement von 1,
  • 3 eine Serie von Diagrammen zur Veranschaulichung von Schwellenspannungsverteilungen von Flash-Speicherzellen gemäß dem Programmierverifiziervorgang von 2,
  • 4 ein Blockschaltbild eines erfindungsgemäßen Flash-Speicherbauelements,
  • 5 ein Zeitablaufdiagramm zur Veranschaulichung eines Programmierverifiziervorgangs mit erfindungsgemäß angelegten Programmierverifizierungsspannungen,
  • 6 eine Serie von Diagrammen zur Veranschaulichung von Schwellenspannungsverteilungen von Flash-Speicherzellen gemäß dem Programmierverifiziervorgang von 5,
  • 7 ein Zeitablaufdiagramm zur Veranschaulichung eines weiteren erfindungsgemäßen Programmierverifiziervorgangs mit erfindungsgemäß angelegten Programmierverifizierungsspannungen und
  • 8 ein Zeitablaufdiagramm noch eines weiteren erfindungsgemäßen Programmierverifiziervorgangs mit erfindungsgemäß angelegten Programmierverifizierungsspannungen.
  • 4 zeigt ein erfindungsgemäßes Flash-Speicherbauelement 400, das zusätzlich zu den Komponenten des herkömmlichen Flash-Speicherbauelements von 1, auf deren obige Beschreibung insoweit verwiesen werden kann, einen Programmierverifizierungsspannungsgenerator 410 aufweist. Dieser beinhaltet einen mit einer Speisespannung VCC verbundenen PMOS-Transistor 413, einen mit beiden Anschlüssen eines ersten Widerstands 414 verbundenen, ersten NMOS-Transistor 417, einen mit beiden Anschlüssen eines zweiten Widerstands 415 verbun denen, zweiten NMOS-Transistor 418 und einen dritten Widerstand 416, der zwischen den zweiten NMOS-Transistor 418 und eine Massespannung eingeschleift ist. Der PMOS-Transistor 413 wird vom Ausgangssignal eines Komparators 412 angesteuert, der eine Referenzspannung VREF mit einer Spannung an einem Knoten NA zwischen dem ersten und dem zweiten Widerstand 414, 415 vergleicht. Der erste NMOS-Transistor 417 wird von einem ersten Programmierverifiziersteuersignal PGM_VFEN1 angesteuert, um den ersten Widerstand 414 elektrisch kurzzuschließen, und der zweite NMOS-Transistor 418 wird von einem zweiten Programmierverifiziersteuersignal PGM_VFEN2 angesteuert, um den zweiten Widerstand 415 elektrisch kurzzuschließen.
  • Der Programmierverifizierungsspannungsgenerator 410 bewirkt ein selektives Kurzschließen des ersten oder zweiten Widerstands 414, 415 in Abhängigkeit von einer Aktivierung des ersten oder zweiten Programmierverifiziersteuersignals PGM_VFEN1, PGM_VFEN2. Dies erlaubt es, dass die Programmierverifizierungsspannung VRDV mit einem hohen oder einem niedrigen Spannungspegel erzeugt werden kann. Wenn das erste und das zweite Programmierverifiziersteuersignal PGM_VFEN1 und PGM_VFEN2 inaktiv sind, wird die Programmierverifizierungsspannung VRDV auf hohem Spannungspegel erzeugt. Wenn hingegen das erste und das zweite Programmierverifiziersteuersignal PGM_VFEN1 und PGM_VFEN2 aktiviert sind, wird die Programmierverifizierungsspannung VRDV auf niedrigem Spannungspegel erzeugt. Außerdem wird die Programmierverifizierungsspannung VRDV, wenn das erste oder das zweite Programmierverifiziersteuersignal PGM_VFEN 1, PGM_VFEN2 selektiv aktiviert wird, auf je einem von zwei Zwischenspannungspegeln zwischen dem hohen und dem niedrigen Spannungspegel erzeugt.
  • 5 veranschaulicht im Zeitablaufdiagramm einen zugehörigen erfindungsgemäßen Programmierverifiziervorgang, bei dem die Program mierverifizierungsspannung VRDV durch den Programmierverifizierungsspannungsgenerator 410 erzeugt wird. Wie aus 5 ersichtlich, wird der Programmiervorgang in einer (n-2)-ten Programmiereinheitsschleife (n=3,4...) mit einer ersten Programmierspannung VPGM1 ausgeführt, woraufhin der Programmierverifiziervorgang mit einer ersten Programmierverifizierungsspannung VRDV1 durchgeführt wird. In einer (n-1)-ten Programmiereinheitsschleife wird der Programmiervorgang mit einer zweiten Programmierspannung VPGM2 ausgeführt, wonach der Programmierverifiziervorgang mit einer zweiten Programmierverifizierungsspannung VRDV2 ausgeführt wird, die einen niedrigeren Spannungspegel aufweist als die erste Programmierverifizierungsspannung VRDV1. In einer n-ten Programmiereinheitsschleife wird der Programmiervorgang mit einer dritten Programmierspannung VPGM3 durchgeführt, wonach der Programmierverifiziervorgang mit der ersten Programmierverifizierungsspannung VRDV1 ausgeführt wird, deren Spannungspegel höher als derjenige der zweiten Programmierverifizierungsspannung VRDV2 ist. In einer (n+1)-ten Programmiereinheitsschleife wird der Programmiervorgang mit einer vierten Programmierspannung VPGM4 ausgeführt, wonach der Programmierverifiziervorgang mit der zweiten Programmierverifizierungsspannung VRDV2 durchgeführt wird, deren Spannungspegel niedriger als derjenige der ersten Programmierverifizierungsspannung VRDV1 ist.
  • Somit werden die Programmierverifiziervorgänge in den aufeinanderfolgenden Programmiereinheitsschleifen mit Spannungspegeln durchgeführt, die höher oder niedriger als ein jeweils vorhergehender Programmierverifizierungsspannungspegel sind, so dass Flash-Speicherzellen, die in Wirklichkeit unterprogrammiert sind, zwar eventuell durch die zweite, niedrigere Programmierverifizierungsspannung VRDV2 als „programmiert" verifiziert werden, jedoch dann durch die erste, höhere Programmierverifizierungsspannung VRDV1 als „unterprogrammiert" erkannt werden, so dass der Programmiervorgang fortgesetzt wird. Dem entsprechend werden unterprogrammierte Flash-Speicherzellen vollständig programmiert.
  • 6 veranschaulicht beispielhafte Schwellenspannungsverteilungen von Flash-Speicherzellen gemäß der erfindungsgemäßen Programmierverifizierung. Wie aus 6 ersichtlich, hat die Schwellenspannung Vt der Flash-Speicherzellen in einem Anfangszustand nach Durchführen eines Löschvorgangs für alle Flash-Speicherzellen einen negativen Spannungspegel. Anschließend wird der Wert der Programmierverifizierungsspannung in den aufeinanderfolgenden Programmiereinheitsschleifen verändert, wie oben zu 5 erläutert. In der (n-1)-ten Programmiereinheitsschleife, mit n=2, 3,..., ist es eventuell noch unsicher, ob die jeweilige Flash-Speicherzelle, die eine Schwellenspannung Vt von ungefähr der zweiten Programmierverifizierungsspannung VRDV2 aufweist, programmier ist oder nicht. Die Flash-Speicherzellen, die in der n-ten Programmiereinheitsschleife eine Schwellenspannung Vt niedriger als die erste Programmierverifizierungsspannung VRDV1 aufweisen und deren Programmierzustand somit als „unsicher" zu beurteilen ist, werden als unterprogrammiert verifiziert, so dass der Programmiervorgang fortgesetzt wird. Dadurch ist in der letzten Programmiereinheitsschleife die Schwellenspannung Vt der Flash-Speicherzellen gleichmäßig verteilt, so dass keine unterprogrammierten und keine überprogrammierten Flash-Speicherzellen vorliegen.
  • 7 veranschaulicht im Zeitablaufdiagramm eine weitere erfindungsgemäße Realisierung einer Programmierverifizierung mit verschiedenen Programmierverifizierungsspannungen. Wie aus 7 ersichtlich, wird der Programmiervorgang in den aufeinanderfolgenden Programmiereinheitsschleifen mit sukzessiver Erhöhung der Programmierspannungen VPGM1, VPGM2, VPGM3 und VPGM4 ausgeführt, während die Programmierverifiziervorgänge mit vier untereinander verschiedenen Programmierverifizierungsspannungen VRDV1, VRDV2, VRDV3 und VRDV4 ausgeführt werden. Ablauf und Wirkung dieser Programmverifizierung mit den vier verschiedenen Programmierverifizierungsspannungen VRDV1 bis VRDV4 entsprechen denjenigen, wie sie oben zu 5 für die Programmierverifizierung mit zwei verschiedenen Programmierverifizierungsspannungen VRDV1, VRDV2 erläutert wurden, worauf verwiesen werden kann.
  • 8 veranschaulicht im Zeitablaufdiagramm eine weitere erfindungsgemäße Realisierung einer Programmierverifizierung, bei denen die vier aufeinanderfolgenden Programmierverifizierungsspannungen VRDV1 bis VRDV4 wie im Beispiel von 7 voneinander verschiedene Werte haben, wobei im Beispiel von 8 die Programmierverifizierungsspannungswerte VRDV1 bis VRDV4 sukzessive niedriger werden, während in 7 die dritte Programmierverifizierungsspannung VRDV3 zwischen der höheren ersten Programmierverifizierungsspannung VRDV1 und der niedrigeren zweiten Programmierverifizierungsspannung VRDV2 liegt.
  • Mit anderen Worten ist im Beispiel von 8 für die Programmierverifizierungsspannung VRDV3 in der n-ten Programmiereinheitsschleife ein Wert niedriger als die Programmierverifizierungsspannung VRDV2 in der (n-1)-ten Programmiereinheitsschleife gewählt, und die Programmierverifizierungsspannung VRDV4 in der (n+1)-ten Programmiereinheitsschleife ist auf einen Wert niedriger als die Programmierverifizierungsspannung VRDV3 in der n-ten Programmiereinheitsschleife festgelegt. Im Unterschied dazu ist im Beispiel von 7 die Programmierverifizierungsspannung VRDV3 in der n-ten Programmiereinheitsschleife höher gewählt als die Programmierverifizierungsspannung VRDV2 in der (n-1)-ten Programmiereinheitsschleife. In einer weiteren Variante kann die Programmierverifizierungsspannung VRDV4 in der (n+1)-ten Programmiereinheitsschleife auch auf einen höheren Wert als die Programmierverifizierungsspannung VRDV3 in der n-ten Programmiereinheitsschleife festgelegt sein.
  • Erfindungsgemäß können Flash-Speicherzellen, die hinsichtlich ihres Programmierzustands als unsicher verifiziert worden sind, vollständig programmiert werden, da der Programmierverifiziervorgang mit verschiedenen Programmierverifizierungsspannungspegeln ausgeführt wird.

Claims (16)

  1. Flash-Speicherbauelement mit – einem Speicherzellenfeldblock (110) mit einer Mehrzahl von Flasch-Speicherzellen und – einem Wortleitungspegelselektor (130), dadurch gekennzeichnet, dass – ein Programmierverifizierungsspannungsgenerator (410) vorgesehen ist, der dafür ausgelegt ist, eine variable Programmierverifizierungsspannung zur Verifizierung, ob Flash-Speicherzellen programmiert sind oder nicht, zu erzeugen, und – der Wortleitungspegelselektor (130) dafür ausgelegt ist, die variable Programmierverifizierungsspannung zu Wortleitungen (WLO bis WL15) zu übertragen, die mit Steuergateelektroden der Flash-Speicherzellen verbunden sind.
  2. Flash-Speicherbauelement nach Anspruch 1, weiter dadurch gekennzeichnet, dass der Programmierverifizierungsspannungsgenerator folgende Elemente enthält: – einen PMOS-Transistor (413) und eine Reihe von Widerständen (414, 415, 416) zwischen einer Speisespannung (VCC) und einer Massespannung, – einen ersten NMOS-Transistor (417), der mit beiden Anschlüssen eines ersten der Widerstände verbunden und dafür ausgelegt ist, den ersten Widerstand in Reaktion auf ein erstes Programmierverifiziersteuersignal elektrisch kurzzuschließen, – einen zweiten NMOS-Transistor (415), der mit beiden Anschlüssen eines zweiten der Widerstände verbunden und dafür ausgelegt ist, den zweiten Widerstand in Reaktion auf ein zweites Programmierverifiziersteuersignal elektrisch kurzzuschließen, wobei die variable Programmierverifizierungsspannung an einem Knoten zwischen Drainelektroden des PMOS-Transistors und des ersten NMOS-Transistors erzeugt wird, und – einen Komparator (412), der zum Vergleichen einer Referenzspannung (VREF) mit einer Spannung (NA) an einem Knoten zwischen dem ersten und dem zweiten Widerstand ausgelegt ist und von dem ein Ausgang mit einer Gateelektrode des PMOS-Transistors verbunden ist.
  3. Flash-Speicherbauelement nach Anspruch 2, weiter dadurch gekennzeichnet, dass das erste und das zweite Programmierverifiziersteuersignal selektiv aktiviert werden, um verschiedene Programmierverifizierungsspannungspegel einzustellen.
  4. Flash-Speicherbauelement nach einem der Ansprüche 1 bis 3, weiter dadurch gekennzeichnet, dass der Wortleitungspegelselektor darauf ausgelegt ist, betriebsartabhängig eine Programmierspannung, eine Lesespannung, eine Durchlassspannung oder eine Löschspannung an die Wortleitungen der Flash-Speicherzellen anzulegen.
  5. Verfahren zum Verifizieren, ob Flash-Speicherzellen eines Flash-Speicherbauelementes programmiert sind oder nicht, gekennzeichnet durch ein wiederholtes Ausführen eines Programmiereinheitsschleifenzyklus, der das Anlegen vorgegebener Werte einer Programmierspannung an die Flash-Speicherzellen, das selektive Erzeugen der Programmierverifizierungsspannungswerte in Abhängigkeit von den Programmierspannungen und ein Verifizieren, ob die Flash-Speicherzellen programmiert sind oder nicht, in Reaktion auf die Programmierverifizierungsspannungswerte umfasst, bis das Programmieren der Flash-Speicherzellen abgeschlossen ist, wobei die Programmierverifizierungsspannungswerte zwischen zwei oder mehr Programmiereinheitsschleifenzyklen geändert werden.
  6. Verfahren nach Anspruch 5, wobei die Programmierverifizierungsspannung in einem n-ten Programmiereinheitsschleifenzyklus einen höheren Spannungspegel hat als in einem (n-1)-ten Programmiereinheitsschleifenzyklus.
  7. Verfahren nach Anspruch 5 oder 6, weiter dadurch gekennzeichnet, dass die Programmierverifizierungsspannung in einem (n+1)-ten Programmiereinheitsschleifenzyklus einen niedrigen Spannungspegel besitzt als in einem n-ten Programmiereinheitsschleifenzyklus.
  8. Verfahren nach einem der Ansprüche 5 bis 7, weiter dadurch gekennzeichnet, dass die Programmierverifizierungsspannung in einem (n-1)-ten Programmiereinheitsschleifenzyklus den gleichen Pegel hat wie in einem (n+1)-ten Programmiereinheitsschleifenzyklus.
  9. Verfahren nach einem der Ansprüche 5 bis 7, weiter dadurch gekennzeichnet, dass die Programmierverifizierungsspannung in einem (n-1)-ten, n-ten und (n+1)-ten Programmiereinheitsschleifenzyklus voneinander verschiedene Spannungspegel hat.
  10. Verfahren nach einem der Ansprüche 5, 7 und 9, weiter dadurch gekennzeichnet, dass die Programmierverifizierungsspannung in einem n-ten Programmiereinheitsschleifenzyklus einen niedrigeren Spannungspegel hat als in einem (n-1)-ten Programmiereinheitsschleifenzyklus und dass die Programmierverifizierungsspannung in einem (n+1)-ten Programmiereinheitsschleifenzyklus ei nen niedrigeren Spannungspegel hat als im n-ten Programmiereinheitsschleifenzyklus.
  11. Programmiereinheit für ein nichtflüchtiges Speicherbauelement, gekennzeichnet durch – einen Eingang für ein Programmierverifikationssteuersignal, – einen Spannungsgenerator (410) zur Erzeugung einer Programmierverifikationsspannung an einem Ausgang, wobei die Programmierverifikationsspannung mehrere mögliche Spannungspegel aufweist, die in Abhängigkeit von einem Zustand des Programmierverifikationssteuersignals auswählbar sind, und – eine Wortleitungsübertragungseinheit (130), die mit dem Ausgang des Spannungsgenerators gekoppelt und darauf ausgelegt ist, die Programmierverifikationsspannung zu einer oder mehreren Wortleitungen im Speicherbauelement zu übertragen.
  12. Programmiereinheit nach Anspruch 11, weiter gekennzeichnet durch einen zweiten Eingang für ein zweites Programmierverifikationssteuersignal, wobei der Spannungspegel der Programmierverifikationsspannung vom Zustand des Programmierverifikationssteuersignals und vom Zustand des zweiten Programmierverifikationssteuersignals abhängt.
  13. Programmiereinheit nach Anspruch 12, weiter dadurch gekennzeichnet, dass der Eingang mit einer Steuergateelektrode eines Transistors und der zweite Eingang mit einer Steuergateelektrode eines zweiten Transistors gekoppelt ist.
  14. Programmiereinheit nach Anspruch 12 oder 13, weiter dadurch gekennzeichnet, dass der Spannungsgenerator folgende Elemente enthält: – einen mit einer Spannungsversorgung gekoppelten seriellen Transistor (413), – einen ersten und einen zweiten Widerstand (414, 415), die in Reihe zwischen den seriellen Transistor und eine Massespannung eingeschleift sind, – einen ersten Steuertransistor (417), der parallel zum ersten Widerstand geschaltet ist, um den ersten Widerstand unter Steuerung durch das Programmierverifikationssteuersignal kurzzuschließen, und – einen zweiten Steuertransistor (418), der parallel zum zweiten Widerstand geschaltet ist, um den zweiten Widerstand unter Steuerung durch das zweite Programmierverifikationssteuersignal kurzzuschließen.
  15. Programmiereinheit nach Anspruch 14, weiter gekennzeichnet durch einen Komparator zum Vergleichen einer Spannung an einem Knoten zwischen dem ersten und dem zweiten Transistor mit einer Referenzspannung.
  16. Programmiereinheit nach Anspruch 15, weiter dadurch gekennzeichnet, dass der Komparator mit einem Ausgang an einen Steuereingang des seriellen Transistors gekoppelt ist.
DE10352710A 2002-11-18 2003-11-06 Flash-Speicherbauelement, Verifizierverfahren und Programmiereinheit hierfür Withdrawn DE10352710A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR2002-71599 2002-11-18
KR10-2002-0071599A KR100521364B1 (ko) 2002-11-18 2002-11-18 플레쉬 메모리 셀들의 프로그램 오판을 방지하고 균일한문턱 전압 산포를 가질 수 있는 플레쉬 메모리 장치 및 그프로그램 검증 방법

Publications (1)

Publication Number Publication Date
DE10352710A1 true DE10352710A1 (de) 2004-06-03

Family

ID=32291766

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10352710A Withdrawn DE10352710A1 (de) 2002-11-18 2003-11-06 Flash-Speicherbauelement, Verifizierverfahren und Programmiereinheit hierfür

Country Status (4)

Country Link
US (1) US7099196B2 (de)
JP (1) JP2004171747A (de)
KR (1) KR100521364B1 (de)
DE (1) DE10352710A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7030149B2 (en) * 2002-04-19 2006-04-18 Allergan, Inc. Combination of brimonidine timolol for topical ophthalmic use
KR100496866B1 (ko) * 2002-12-05 2005-06-22 삼성전자주식회사 미프로그램된 셀들 및 과프로그램된 셀들 없이 균일한문턱 전압 분포를 갖는 플레쉬 메모리 장치 및 그프로그램 검증 방법
JP4170952B2 (ja) 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
KR100680479B1 (ko) 2005-04-11 2007-02-08 주식회사 하이닉스반도체 비휘발성 메모리 장치의 프로그램 검증 방법
US7269066B2 (en) * 2005-05-11 2007-09-11 Micron Technology, Inc. Programming memory devices
KR100719372B1 (ko) 2005-08-10 2007-05-17 삼성전자주식회사 노어 플래시 메모리 장치 및 그것의 프로그램 방법
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7301817B2 (en) * 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
KR101197556B1 (ko) 2006-01-09 2012-11-09 삼성전자주식회사 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드
KR100794312B1 (ko) * 2006-12-27 2008-01-11 삼성전자주식회사 명령어 자동 처리 유니트를 포함한 메모리 컨트롤러 및그를 포함한 메모리 시스템
KR100874920B1 (ko) 2007-03-15 2008-12-19 삼성전자주식회사 셀 사이의 커플링에 의한 영향을 감소시킨 플래시 메모리장치 및 그 구동방법
KR101348173B1 (ko) * 2007-05-25 2014-01-08 삼성전자주식회사 플래시 메모리 장치, 그것의 소거 및 프로그램 방법들,그리고 그것을 포함한 메모리 시스템
KR101403429B1 (ko) 2007-10-09 2014-06-03 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
KR101448851B1 (ko) * 2008-02-26 2014-10-13 삼성전자주식회사 비휘발성 메모리 장치에서의 프로그래밍 방법
US8127091B2 (en) * 2008-10-30 2012-02-28 Micron Technology, Inc. Programming memory cells with additional data for increased threshold voltage resolution
KR100996108B1 (ko) * 2009-01-21 2010-11-22 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US8223555B2 (en) 2009-05-07 2012-07-17 Micron Technology, Inc. Multiple level program verify in a memory device
US8174895B2 (en) 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
KR101083676B1 (ko) * 2010-04-30 2011-11-16 주식회사 하이닉스반도체 반도체 메모리 장치
US9342401B2 (en) * 2013-09-16 2016-05-17 Sandisk Technologies Inc. Selective in-situ retouching of data in nonvolatile memory
US10157681B2 (en) 2015-09-14 2018-12-18 Sandisk Technologies Llc Programming of nonvolatile memory with verify level dependent on memory state and programming loop count
KR20220072284A (ko) * 2020-11-25 2022-06-02 에스케이하이닉스 주식회사 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05283708A (ja) * 1992-04-02 1993-10-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置,その製造方法および試験方法
JPH07226097A (ja) * 1994-02-15 1995-08-22 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JPH08190796A (ja) * 1995-01-09 1996-07-23 Mitsubishi Denki Semiconductor Software Kk データリフレッシュ機能を有するフラッシュメモリ及びフラッシュメモリのデータリフレッシュ方法
KR100566463B1 (ko) * 1995-01-31 2006-03-31 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US5661685A (en) * 1995-09-25 1997-08-26 Xilinx, Inc. Programmable logic device with configurable power supply
KR0169412B1 (ko) * 1995-10-16 1999-02-01 김광호 불휘발성 반도체 메모리 장치
KR0172401B1 (ko) * 1995-12-07 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 장치
US5675540A (en) * 1996-01-22 1997-10-07 Micron Quantum Devices, Inc. Non-volatile memory system having internal data verification test mode
JP3709606B2 (ja) * 1996-04-16 2005-10-26 富士通株式会社 不揮発性半導体記憶装置及びベリファイ方法
JPH1055691A (ja) * 1996-08-08 1998-02-24 Ricoh Co Ltd 不揮発性半導体メモリ
TW338165B (en) * 1996-09-09 1998-08-11 Sony Co Ltd Semiconductor nand type flash memory with incremental step pulse programming
FR2761191B1 (fr) * 1997-03-20 1999-06-25 Sgs Thomson Microelectronics Memoire a grille flottante adressable par mots comportant un circuit generateur de tension de reference pour la verification du contenu d'un mot
KR100281798B1 (ko) * 1998-10-30 2001-03-02 윤종용 플래시 메모리 장치
KR100525913B1 (ko) * 2000-12-29 2005-11-02 주식회사 하이닉스반도체 플래쉬 메모리 소자의 포스트 프로그램 검증 회로
US6538923B1 (en) * 2001-02-26 2003-03-25 Advanced Micro Devices, Inc. Staircase program verify for multi-level cell flash memory designs
JP2002319286A (ja) * 2001-04-19 2002-10-31 Hitachi Ltd 不揮発性記憶装置および記憶システム
KR100476888B1 (ko) * 2002-04-04 2005-03-17 삼성전자주식회사 온도보상기능을 가진 멀티비트 플래쉬메모리
KR100496866B1 (ko) * 2002-12-05 2005-06-22 삼성전자주식회사 미프로그램된 셀들 및 과프로그램된 셀들 없이 균일한문턱 전압 분포를 갖는 플레쉬 메모리 장치 및 그프로그램 검증 방법

Also Published As

Publication number Publication date
US7099196B2 (en) 2006-08-29
US20040095807A1 (en) 2004-05-20
JP2004171747A (ja) 2004-06-17
KR20040043363A (ko) 2004-05-24
KR100521364B1 (ko) 2005-10-12

Similar Documents

Publication Publication Date Title
DE10352710A1 (de) Flash-Speicherbauelement, Verifizierverfahren und Programmiereinheit hierfür
DE102005039099B4 (de) Löschverfahren und nichtflüchtiges Speicherbauelement
DE69333549T2 (de) Halbleiterspeicheranordnung
DE102007031027B4 (de) Leseverfahren einer Speichervorrichtung
DE102006034265B4 (de) Verfahren zum Programmieren eines Flash-Speicherelements und Flash-Speicherelement
DE102004038417B4 (de) Programmierschaltung und -verfahren und nichtflüchtiger Halbleiterspeicherbaustein
DE102007039908B4 (de) Programmierverfahren einer Flash-Speichervorrichtung
DE102004033443B4 (de) Flashspeicherbauelement mit Mehrpegelzelle
DE102006030758B4 (de) Nicht-flüchtiges Speicherelement, Flash-Speicher und Verfahren zum Programmieren eines Flash-Speicherelements
DE102005062521B4 (de) Verfahren und Schaltung zum Erzeugen einer hohen Spannung und nichtflüchtiges Speicherbauelement
DE102006054965B4 (de) Wortleitungsfreigabeverfahren in einem Flashspeicherbauelement und Flashspeicherbauelement
DE102005026663B4 (de) Nichtflüchtiges Speicherbauelement mit ISPP
DE102006003988B4 (de) Verfahren zum Treiben einer Programmieroperation in einem nichtflüchtigen Halbleiterspeicherbauelement
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102004059411B4 (de) Flash-Speichervorrichtung und Verfahren zur Steuerung derselben
DE102006003260A1 (de) Nichtflüchtiges Halbleiterspeicherbauelement mit Zellenkette
DE102005020796B4 (de) Halbleiterspeicherbauelement und Programmierverfahren
DE102009035340A1 (de) Verfahren zum Programmieren eines nichtflüchtigen Speicherelements, Halbleiterbauelement, Karte und System
DE102012217730A1 (de) Halbleitervorrichtung und Verfahren des Betreibens von dieser
DE102005009700A1 (de) Programmier-und Betriebsverfahren sowie Lesetoleranzeinstellverfahren für Speicherzellen und nichtflüchtiger Speicher
DE102006028967B4 (de) Verfahren zum Programmieren eines nichtflüchtigen Halbleiterspeicherbauelements und Verfahren zum Lesen von programmierten Speicherzellen
DE4226847C2 (de) Flash-EEPROM und Verfahren zum Löschen der Speicherzellen von Flash-EEPROMS
DE102006035241B4 (de) Nichtflüchtiges Speicherbauelement, Programmierverfahren und Speichersystem
DE112004002927B4 (de) Halbleiterbauelement und Verfahren zum Beschreiben desselben
DE102004019200A1 (de) Nichtflüchtiger Halbleiterspeicherbaustein, insbesondere Flash-Speicherbaustein

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee