DE102005045031B4 - Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement - Google Patents

Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement Download PDF

Info

Publication number
DE102005045031B4
DE102005045031B4 DE102005045031A DE102005045031A DE102005045031B4 DE 102005045031 B4 DE102005045031 B4 DE 102005045031B4 DE 102005045031 A DE102005045031 A DE 102005045031A DE 102005045031 A DE102005045031 A DE 102005045031A DE 102005045031 B4 DE102005045031 B4 DE 102005045031B4
Authority
DE
Germany
Prior art keywords
memory cell
data
programmed
memory cells
memory
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.)
Active
Application number
DE102005045031A
Other languages
English (en)
Other versions
DE102005045031A1 (de
Inventor
Seok-Heon Suwon Lee
Young-Joon Seongnam Choi
Tae-Gyun Seongnam Kim
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 DE102005045031A1 publication Critical patent/DE102005045031A1/de
Application granted granted Critical
Publication of DE102005045031B4 publication Critical patent/DE102005045031B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/10Programming or data input circuits
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

Programmierverfahren für ein nichtflüchtiges Speicherbauelement, mit folgenden Schritten:
– Programmieren von Daten in eine erste Mehrzahl von Speicherzellen eines nichtflüchtigen Speicherbauelements,
– Programmieren einer Bestätigungsinformation, welche mit den in die erste Mehrzahl von Speicherzellen programmierten Daten assoziiert ist, in wenigstens eine zweite Speicherzelle des nichtflüchtigen Speicherbauelements während des Programmierens der Daten in die erste Mehrzahl von Speicherzellen (Schritt 1000) und
– Bestimmen, ob die Daten korrekt in die erste Mehrzahl von Speicherzellen programmiert sind, basierend auf der Ermittlung einer Schwellwertspannungsverteilung von wenigstens einem Teil der ersten Mehrzahl von Speicherzellen und der Schwellwertspannungsverteilung der wenigstens einen zweiten Speicherzelle (Schritte 1400 und 1500).

Description

  • Die Erfindung betrifft ein Programmierverfahren und ein Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement.
  • Aus dem Stand der Technik sind flüchtige und nichtflüchtige Speicherbauelemente bekannt. Flüchtige Speicherbauelemente speichern Daten so lange wie das Bauelement mit Energie versorgt wird. Wird die Energie jedoch abgeschaltet, dann sind die Daten verloren. Im Gegensatz dazu bleiben die Daten in einem nichtflüchtigen Speicher auch gespeichert, wenn das Bauelement abgeschaltet wird. Beispiele für herkömmliche nichtflüchtige Speicherbauelemente umfassen maskierte Nurlesespeicher (maskierte ROM bzw. MROM), programmierbare ROM (PROM), lösch- und programmierbare ROM (EPROM) und elektrisch lösch- und programmierbare ROM (EEPROM).
  • Die meisten nichtflüchtigen Halbleiterspeicherbauelemente können neu programmiert werden, um andere Daten zu speichern. Die Vorgänge zum Löschen von Daten aus den und zum anschließenden Schreiben oder Programmieren von neuen Daten in die nichtflüchtigen Speicherbauelemente sind z. B. bei MROM-, PROM- und EPROM-Bauelementen jedoch relativ aufwändig. Als Konsequenz sind Benutzer von Computern oder anderen elektronischen Geräten, welche diese Arten von nichtflüchtigen Speicherbauelementen enthalten, meist nicht in der Lage, die Speicherbauelemente neu zu programmieren, um andere Daten zu speichern. Andererseits können als EEPROM ausgeführte nichtflüchtige Speicherbauelemente elektrisch gelöscht und programmiert werden. Daher werden EEPROM häufig zum Speichern von Systemprogrammiercode und in Zusatzspeicherbauelementapplikationen verwendet, in welchen kontinuierliches oder häufiges Neuprogrammieren des nichtflüchtigen Speicherbauelements erforderlich ist. Flash-EEPROM, welche nachfolgend auch einfach als Flashspeicherbauelemente bezeichnet werden, können verglichen mit anderen herkömmlichen EEPROM-Bauelementen eine hohe Integrationsdichte aufweisen. Daher werden Flashspeicherbauelemente häufig als Zusatzspeicherbauelemente hoher Kapazität verwendet. Flashspeicherbauelemente vom NAND-Typ weisen dabei im Allgemeinen eine höhere Integrationsdichte als Flashspeicherbauelemente vom NOR-Typ auf.
  • 1 zeigt eine Feldstruktur bzw. ein Speicherzellenfeld 100 eines herkömmlichen Flashspeicherbauelements vom NAND-Typ. Das Speicherzellenfeld 100 wird verwendet, um Informationen bzw. Daten zu speichern, und ist in einen Hauptbereich oder ein Hauptfeld 10 und einen Ersatzbereich oder ein Ersatzfeld 20 unterteilt. Während für das Speicherzellenfeld 100 in 1 nur ein Speicherblock gezeigt ist, weist es im Allgemeinen eine Mehrzahl von Speicherblöcken auf. Informationen, welche das Hauptfeld 10 betreffen, und andere allgemeine Informationen, welche das Flashspeicherbauelement betreffen, werden im Ersatzfeld 20 gespeichert. Diese Informationen können beispielsweise Fehlerkorrekturcodes, Bauelementcodes, Markierungscodes, Seiteninformationen usw. umfassen. Das Hauptfeld 10 und das Ersatzfeld 20 des Spei cherzellenfelds 100 umfassen eine Mehrzahl von Zellenketten 1, denen je eine Bitleitung BL0, BLn, SBL0, SBLx zugeordnet ist. Diese Zellenketten können auch als NAND-Ketten bezeichnet werden.
  • Zusätzlich kann das Flashspeicherbauelement eine in 1 nicht dargestellte Seitenpufferschaltung umfassen, welche zum Programmieren von Daten in das Speicherzellenfeld 100 oder zum Lesen von Daten aus dem Speicherzellenfeld 100 verwendet werden kann. Typischerweise werden die Speicherzellen eines Flashspeicherbauelements vom NAND-Typ durch Fowler-Nordheim-Tunnelströme gelöscht oder programmiert. Verfahren zum Löschen und Programmieren von EEPROM-Bauelementen vom NAND-Typ sind beispielsweise in den Patentschriften US 5.473.563 und US 5.696.717 beschrieben, auf deren Offenbarungen hiermit Bezug genommen wird.
  • Um Daten im Hauptfeld 10 zu speichern, wird ein Datenladebefehl an das Flashspeicherbauelement angelegt und dann werden Adresseninformationen und die zu speichernden Daten dem Bauelement zur Verfügung gestellt. Allgemein werden die in das Flashspeicherbauelement zu speichernden oder zu programmierenden Daten in Einheiten von Bytes oder Worten in der Reihenfolge an die Seitenpufferschaltung übertragen, in welcher die Daten gespeichert werden sollen. Die in der Seitenpufferschaltung gespeicherten Daten können in Reaktion auf einen Programmierbefehl in das Speicherzellenfeld programmiert werden, d. h. in Speicherzellen einer ausgewählten Seite.
  • Nachdem die Speicherzellen der ausgewählten Seite programmiert sind, wird ein Verifizierungsvorgang ausgeführt, um zu ermitteln, ob die Speicherzellen der ausgewählten Seite korrekt programmiert sind oder nicht. Zeigt der Verifizierungsvorgang an, dass die Speicherzellen der ausgewählten Seite korrekt programmiert sind, dann wird eine Information be züglich des Verifizierungsvorgangs in einen spezifischen Bereich des Bauelements programmiert, z. B. in das Ersatzfeld. Diese das Ergebnis des Verifizierungsvorgangs anzeigende Information wird als Seiteninformation oder Bestätigungsmarkierung bezeichnet. Die Seiteninformation jeder von mehreren Seiten, die mit einer jeweiligen Wortleitung WL0 bis WLm korrespondieren, kann in einer spezifischen Kette des Ersatzfeldes 20 gespeichert werden. Beispielhaft können im nichtflüchtigen Speicherbauelement 100 gemäß 1 die Seiteninformationen zu den Wortleitungen WL0 bis WLm in der Kette gespeichert werden, welche die gestrichelt eingekreisten Zellen M0', M1' ... Mn' umfasst. Daher kann im Ausführungsbeispiel gemäß 1 die Seiteninformation, welche mit der ersten Seite WL0 korrespondiert, in der Speicherzelle M0' einer Kette gespeichert werden, die mit einer Ersatzbitleitung SBL0 verbunden ist, die Seiteninformation, welche mit der zweiten Seite WL1 korrespondiert, kann in der Speicherzelle M1' der Kette gespeichert werden, die mit der Ersatzbitleitung SBL0 verbunden ist, und die Seiteninformation, welche mit der letzten Seite WLm korrespondiert, kann in der Speicherzelle Mm' der Kette gespeichert werden, die mit der Ersatzbitleitung SBL0 verbunden ist.
  • Wie oben ausgeführt, können mit herkömmlichen Programmierverfahren zwei Datenprogrammiervorgänge ausgeführt werden, um eine Seite von Daten zu speichern. Der erste Vorgang ist der normale Programmiervorgang, welcher verwendet wird, um die Daten in der Speicherzelle des Hauptfeldes 10 zu speichern. Der zweite Vorgang ist der Programmiervorgang, welcher ausgeführt wird, um die Seiteninformation oder die Bestätigungsmarkierung im Ersatzfeld 20 zu speichern, wobei diese Seiteninformation oder Bestätigungsmarkierung anzeigt, ob die Speicherzellen im Hauptfeld 10 korrekt programmiert sind oder nicht. Mit dieser Programmierstruktur ist die Zeitspanne, welche erforderlich ist, um eine Seite von Daten zu speichern, etwa doppelt so lang wie die Zeitspanne, welche erforderlich ist, um die Information im Hauptfeld zu speichern.
  • Daher sind, wenn das Speicherzellenfeld beispielsweise 32 Seiten oder Wortleitungen umfasst, insgesamt 64 Programmiervorgänge erforderlich, um 32 Seiten von Daten im Speicherzellenfeld zu speichern. Daher kann das oben beschriebene Programmierverfahren die Betriebsgeschwindigkeit des Flashspeicherbauelements begrenzen. Um den Betrieb des Bauelements zu beschleunigen, können mehrere Bestätigungsmarkierungen gleichzeitig programmiert werden.
  • Während der Programmierung kann die Energieversorgung für das Flashspeicherbauelement unerwartet unterbrochen werden. Wird die Energie wieder angelegt, dann kann ein Bestätigungsvorgang ausgeführt werden, um zu bestimmen, ob das oder die vorherigen Programmierverfahren normal ausgeführt worden sind. Dies kann durch Überprüfen des in die Zelle des Ersatzfelds programmierten Wertes ausgeführt werden, welche die Bestätigungsmarkierung umfasst, die mit einer vorher programmierten Seite des Hauptfelds korrespondiert. Wie oben jedoch ausgeführt, wird die Bestätigungsmarkierung nach der Programmierung der Benutzerdaten in das Hauptfeld des Bauelements pro grammiert. Als Konsequenz sind, wenn die Energie nach der Programmierung der Benutzerdaten in die Speicherzellen des Hauptfelds, jedoch vor der Programmierung der Bestätigungsmarkierung unterbrochen wird, die in das Hauptfeld programmierten Daten eventuell verloren, d. h. sie müssen neu programmiert werden, selbst wenn die Speicherzellen des Hauptfelds korrekt programmiert worden sind. Dieser Datenverlust kann sich in Situationen verstärken, in welchen eine Mehrzahl von Bestätigungsmarkierungen gleichzeitig programmiert wird.
  • Die Offenlegungsschrift US 2003/0189860 A1 offenbart ein Programmierverfahren für ein nichtflüchtiges Speicherbauelement, bei dem Daten seitenweise in einen normalen Speicherzellenbereich programmiert und im gleichen Seitenprogrammiervorgang begleitende Information, wie logische Adressdaten und eine Schreibabschlussmarkierung, in einen redundanten Speicherzellenbereich geschrieben wird.
  • Es ist Aufgabe der Erfindung, ein Programmierverfahren und ein Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement anzugeben, welche die oben beschriebenen Unzulänglichkeiten des Standes der Technik zumindest teilweise vermeiden können.
  • Die Erfindung löst diese Aufgabe durch ein Programmierverfahren für ein nichtflüchtiges Speicherbauelement mit den Merkmalen des Patentanspruchs 1 und durch ein Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement mit den Merkmalen des Patentanspruchs 11.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprü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. Es zeigen:
  • 1 ein Blockdiagramm einer herkömmlichen Speicherzellenfeldstruktur eines nichtflüchtigen Speicherbauelements,
  • 2 ein Blockdiagramm einer Speicherzellenfeldstruktur eines nichtflüchtigen Speicherbauelements gemäß der Erfindung,
  • 3 ein Kennliniendiagramm zur Darstellung einer Schwellwertspannungsverteilung für Speicherzellen eines nichtflüchtigen Speicherbauelements nach Art von 2,
  • 4 eine Tabelle zur Darstellung eines Entscheidungsbaums gemäß der Erfindung zum Bestimmen, ob in Speicherzellen eines nichtflüchtigen Speicherbauelements nach Art von 2 gespeicherte Daten korrekt programmiert sind,
  • 5 ein Flussdiagramm zur Darstellung eines Programmierverfahrens für ein nichtflüchtiges Speicherbauelement gemäß der Erfindung und
  • 6 ein Flussdiagramm zur Darstellung eines Verfahrens zur Analyse einer Schwellwertspannungsverteilung in Speicherzellen eines nichtflüchtigen Speicherbauelements gemäß der Erfindung.
  • In den Zeichnungen bezeichnen gleiche Bezugszeichen Elemente bzw. Komponenten, welche gleiche oder analoge Funktionen ausführen. In Ausgestaltung der Erfindung werden Verfahren zur Verfügung gestellt, die gleichzeitig Daten und Informationen, welche die Daten betreffen, wie eine Bestätigungsmarkierung, in ein nichtflüchtiges Speicherbauelement programmieren. Diese Verfahren können verwendet werden, um Daten in ein Hauptfeld und ein Ersatzfeld eines nichtflüchtigen Speicherbauelements zu programmieren, wie z. B. in ein Flashspeicherbauelement. In weiterer Ausgestaltung der Erfindung kann, wenn ein Programmiervorgang unterbrochen wird, beispielsweise durch eine Unterbrechung der Energieversorgung, die Schwellwertspannungsverteilung in Speicherzellen, in welchen Daten und Bestätigungsmarkierungen gespeichert sind, als Teil eines Wiederherstellungs- bzw. Erholprozesses analysiert werden. Basierend auf dieser Analyse kann eine Bestimmung durchgeführt werden, ob die korrespondierenden Speicherzellen normal bzw. korrekt programmiert sind. Zeigt die Analyse an, dass die korrespondierenden Speicherzellen normal programmiert sind, dann wird der Programmiervorgang startend mit der nächsten Speicherzelle ausgeführt. Zeigt die Analyse anderseits an, dass die korrespondierenden Speicherzellen nicht normal programmiert sind, dann werden die abnormal programmierten Speicherzellen erneut programmiert, wenn der Vorgang fortgesetzt wird.
  • 2 zeigt schematisch die Speicherzellenfeldstruktur eines nichtflüchtigen Speicherbauelements in Form eines Flashspeicherbauelements vom NAND-Typ gemäß Ausführungsformen der Erfindung. Die Erfin dung kann jedoch auch in anderen Halbleiterspeicherbauelementen wie z. B. MROM-, PROM- und FRAM-Bauelementen sowie Flashspeicherbauelementen vom NOR-Typ angewendet werden.
  • Das nichtflüchtige Speicherbauelement von 2 umfasst ein Speicherzellenfeld 100 zum Speichern von Daten, das in einen Hauptbereich 10 und einen Ersatzbereich 20 aufgeteilt ist. Der Hauptbereich 10 und der Ersatzbereich 20 können identische Speicherzellenstrukturen aufweisen. Benutzerdaten können in den Hauptbereich 10 des Speicherzellenfelds 100 in Einheiten von Seiten 11, 12, 13, ... programmiert werden. Zusätzliche Informationen, welche mit jeder dieser Seiten 11, 12, 13, ... korrespondieren, können in den Ersatzbereich 20 programmiert werden. Die zusätzlichen Informationen umfassen beispielsweise Bestätigungsmarkierungen CM0, CM1, CM2, ..., welche anzeigen, ob die Daten korrekt in die korrespondierenden Seiten des Hauptbereich 10 programmiert sind oder nicht. Die Größe der Bestätigungsmarkierungen CM0, CM1, CM2, ... kann ein fester Wert sein oder kann entwurfsabhängig gesteuert werden. Die Struktur des Speicherzellenfelds 100 gemäß 2 kann identisch oder sehr ähnlich zu der Struktur des in 1 dargestellten Speicherbauelements ausgeführt sein. Entsprechend ist das Speicherzellenfeld gemäß 2 mit den gleichen Bezugszeichen wie das Speicherzellenfeld gemäß 1 dargestellt und die Beschreibung der verschiedenen Komponenten des Speicherzellenfelds wird nicht wiederholt.
  • In Ausgestaltung der Erfindung werden Verfahren zum Verifizieren zur Verfügung gestellt, ob ein Datenprogrammiervorgang korrekt ausgeführt worden ist. Gemäß diesen Verfahren können der Ersatzbereich 20 und der Hauptbereich 10 gleichzeitig programmiert werden. Der Begriff „gleichzeitig” bedeutet hierbei, dass der Ersatzbereich 20 und der Hauptbereich 10 als Teil des gleichen Programmiervorgangs programmiert werden, unabhängig davon, ob die individuellen Zellen exakt zum gleichen Zeitpunkt programmiert werden. Dies unterscheidet sich vom oben beschriebenen herkömmlichen Programmierverfahren eines Flashspeicherbauelements, in welchem der Hauptbereich 10 und der Ersatzbereich 20 sequentiell programmiert werden. Daraus resultiert, dass die Programmierdauer im Vergleich zu bestimmten herkömmlichen Programmierverfahren nahezu auf die Hälfte verkürzt werden kann. Des Weiteren können, wie nachfolgend detaillierter beschrieben wird, die Programmierverfahren gemäß Ausführungsformen der Erfindung den Datenverlust reduzieren und/oder minimieren, welcher auftreten kann, wenn während eines Datenprogrammiervorgangs die Energieversorgung kurzzeitig unterbrochen wird.
  • Insbesondere werden in erfindungsgemäßen Ausführungsformen, wenn die Energieversorgung zum Bauelement während eines Programmiervorgangs unterbrochen wird, nach der Wiederherstellung der Energieversorgung eine oder mehr Bestätigungsmarkierungen untersucht, um zu bestimmen, an welchem Punkt des Programmiervorgangs fortgesetzt werden soll. Wie oben für die herkömmlichen Programmierverfahren ausgeführt ist, werden, wenn der Ersatzbereich 20 zum Zeitpunkt der Unterbrechung der Energieversorgung noch nicht programmiert ist, die korrespondierenden Daten im Hauptbereich 10 als verloren betrachtet, unabhängig davon, ob die Daten erfolgreich in den Hauptbereich 10 programmiert worden sind oder nicht. Im Gegensatz dazu werden bei Ausführungsformen der Erfindung die Daten gleichzeitig in den Hauptbereich 10 und den Ersatzbereich 20 programmiert und es kann eine Analyse durchgeführt werden, um zu bestimmen, ob die in den Hauptbereich 10 programmierten Daten zuverlässig bzw. korrekt programmiert worden sind oder nicht. Ein erfindungsgemäßes Verfahren zur Bestimmung, ob die Daten zuverlässig in den Hauptbereich 10 programmiert worden sind, wird nachfolgend beschrieben.
  • Wird nach einer Unterbrechung die Energieversorgung während eines Programmiervorgangs wiederhergestellt, dann werden die Daten im Flashspeicherbauelement abgetastet, bis ein nicht leerer Dateneintrag, z. B. ein Wert „FFh” oder ein logischer Wert „1”, detektiert wird, wie aus 2 ersichtlich ist, d. h. bis die Daten detektiert werden, welche als letztes programmiert worden sind. Es können die gespeicherten Benutzerdaten im Hauptbereich 10 und/oder die gespeicherten Informationen im Ersatzbereich 20 abgetastet werden, um den nicht leeren Eintrag zu detektieren. Dann wird die Bestätigungsmarkierung, die mit den die detektierten Daten enthaltenden Speicherzellen korrespondiert, in 2 z. B. die Bestätigungsmarkierung CM2, gemeinsam mit der Schwellwertspannung der Speicherzellen analysiert, z. B. der Schwellwertspannung der Speicherzellen, die mit dem Bezugszeichen 13 in 2 korrespondieren, um zu bestimmen, ob die Speicherzellen 13 korrekt programmiert worden sind oder nicht. Die oben beschriebene Datenabtastung kann sequentiell über die Speicherzellen hinweg ausgeführt werden oder eine Mehrzahl von Speicherzellen kann gleichzeitig abgetastet werden, beispielsweise durch Anwendung einer verdrahteten ODER-Verknüpfungstechnik.
  • Im Allgemeinen ist ein Schichtaufbau eines nichtflüchtigen Speicherbauelements von einer Isolationsschicht bedeckt. Zusätzlich kann das Bauelement ein floatendes Gate, welches zwischen einer Source und einer Drain angeordnet ist, sowie ein Steuergate umfassen, welches mit einer Wortleitung verbunden ist. Ladungsträger, d. h. Elektronen, werden während des Vorgangs der Datenprogrammierung in eine Zelle des Speicherbauelements durch die Isolationsschicht hindurch in das floatende Gate injiziert. Mit der Akkumulation der Elektronen im floatenden Gate wird die effektive Schwellwertspannung des Zellentransistors erhöht, um eine Schwellwertspannungsverteilung von links nach rechts zu bewegen.
  • Wird eine Lesespannung Vread, welche in 3 mit einer Spannung Vver1 korrespondiert, von z. B. 0 V an das Steuergate und die Drain des Zellentransistors angelegt, dann bleibt die programmierte Zelle nichtleitend und zeigt einen logischen Zustand „0” an, d. h. die Zelle entspricht einer Aus- bzw. OFF-Zelle. Nach Abschluss eines Programmiervorgangs wird die Schwellwertspannung jedoch in einen Bereich verschoben, welcher in 3 mit „B” bezeichnet und einem Bereich „A” in 3 entgegengesetzt ist, welcher an den Spannungspegel von 0 Volt angrenzt. Daraus resultiert, dass es, wenn die oben beschriebene Datenlesestruktur benutzt wird, schwierig sein kann, korrekt zu bestimmen, ob die korrespondierende Speicherzelle fehlerfrei programmiert ist, nachdem die Energieversorgung wiederhergestellt ist. In weiterer Ausgestaltung der Erfindung kann die Lesespannung als erste Programmierverifizierungsspannung Vver1 verwendet werden und eine Spannung von beispielsweise 1,2 Volt, welche ungefähr mit dem minimalen Wert des Bereichs „B” korrespondiert, kann als zweite Programmierverifizierspannung Vver2 verwendet werden, um die Zuverlässigkeit der in die Speicherzelle programmierten Daten zu bestimmen. Wie hier ausgeführt, können ähnliche oder identische Verfahren verwendet werden, um die Zuverlässigkeit der Programmiervorgänge zu ermitteln, die durchgeführt wurden, um die Benutzerdaten und/oder die Bestätigungsmarkierungen zu programmieren.
  • Werden durch den Abtastvorgang eine leere Seite bzw. leere Daten detektiert, dann kann spezifisch die erste Programmierverifizierspannung Vver1 an das Gate eines Zellentransistors angelegt werden, der eine Bestätigungsmarkierung speichert, und eine Bestimmung durchgeführt werden, ob der Zellentransistor in einem nicht leitenden Zustand bleibt. Bleibt der Zellentransistor im nichtleitenden Zustand, dann wird die Bestätigungsmarkierung als programmiert beurteilt. Dies zeigt an, dass die Schwellwertspannung Vcon des Zellentransistors, der die Bestätigungsmarkierung speichert, im Bereich „A” oder im Bereich „B” aus 3 liegt.
  • Danach wird spezifisch die zweite Programmierverifizierspannung Vver2 an den Zellentransistor angelegt und eine zweite Bestimmung durchgeführt, ob der Zellentransistor im nichtleitenden Zustand bleibt. Bleibt der Zellentransistor im nichtleitenden Zustand, dann wird angezeigt, dass die Bestätigungsmarkierung nicht nur programmiert ist, sondern zuverlässig programmiert ist. In diesem Fall, liegt die Schwellwertspannung Vcon des Zellentransistors, der die Bestätigungsmarkierung speichert, im Bereich „B”, welcher, wie aus 3 ersichtlich ist, einem Spannungsbereich entspricht, der über der zweiten Programmierverifizierspannung Vver2 liegt. Wird die Bestätigungsmarkierung als zuverlässig programmiert beurteilt, dann kann die Zuverlässigkeit der Benutzerdaten ermittelt werden.
  • Um zu bestimmen, ob die Benutzerdaten zuverlässig programmiert sind, kann die erste Programmierverifizierspannung Vver1 an die Gates der Zellentransistoren angelegt werden, in welchen die Benutzerdaten gespeichert sind, und eine Bestimmung durchgeführt werden, ob die korrespondierenden Zellentransistoren leitend oder nichtleitend sind. Ist ein korrespondierender Zellentransistor leitend, dann zeigt dies an, dass die Zelle nicht programmiert ist, sondern in einem gelöschten Zustand gehalten wird, d. h. einen Datenwert „1” aufweist. Ist der korrespondierende Zellentransistor jedoch nichtleitend, dann wird der Zellentransistor als programmiert beurteilt, d. h. programmiert als Wert „0”. Wird die korrespondierende Zelle als programmiert bestimmt, dann liegt eine Schwellwertspannung Vuser des Zellentransistors entweder im Bereich „A” oder im Bereich „B” aus 3, in Abhängigkeit davon, ob die korrespondierende Programmierung normal abgeschlossen wurde.
  • Wird die Zelle mit den Benutzerdaten als programmiert beurteilt, dann kann eine zweite Bestimmung durchgeführt werden, ob der Programmiervorgang normal abgeschlossen wurde oder nicht. Um dies zu errei chen, kann die zweite Programmierverifizierspannung Vver2 an den Zellentransistor angelegt und eine Bestimmung durchgeführt werden, ob der korrespondierende Zellentransistor im nichtleitenden Zustand bleibt. Bleibt der korrespondierende Zellentransistor im nichtleitenden Zustand, dann werden die Benutzerdaten als zuverlässig programmiert beurteilt. In diesem Fall liegt die Schwellwertspannung Vuser des Zellentransistors, welcher die Benutzerdaten speichert, im Bereich „B” aus 3, der einem Spannungsbereich entspricht, welcher über der zweiten Programmierverifizierspannung Vver2 liegt.
  • Wie aus 4 ersichtlich ist, sind die Bestätigungsmarkierung und die Benutzerdaten als zuverlässig programmiert bestimmt, wenn die Schwellwertspannung Vcon des Transistors, der die Bestätigungsmarkierung speichert, und die Schwellwertspannung Vuser des Transistors, der die Benutzerdaten speichert, im Bereich „B” aus 3 liegen, der einem Bereich entspricht, in welchem der Spannungspegel höher als die zweite Programmierverifizierspannung Vver2 ist. Das Bestimmungsschema der Zuverlässigkeit der Programmiervorgänge kann Datenverluste reduzieren, die auftreten können, wenn eine Unterbrechung der Energieversorgung auftritt. Zusätzlich kann gemäß der Erfindung die Zuverlässigkeit der Programmierung in Bezug auf die Bestätigungsmarkierung und die Benutzerdaten beurteilt werden, so dass die Datenzuverlässigkeit weiter verbessert wird.
  • 5 zeigt ein Flussdiagramm eines Programmierverfahrens für ein nichtflüchtiges Speicherbauelement gemäß Ausführungsformen der Erfindung. Wie aus 5 ersichtlich ist, kann das Programmierverfahren des nichtflüchtigen Speicherbauelements im Schritt 1000 mit der gleichzeitigen Programmierung von Benutzerdaten und der zu diesen Benutzerdaten gehörigen Bestätigungsmarkierung beginnen. Wie oben ausgeführt, können die Benutzerdaten in Einheiten von Seiten in einen Hauptbereich eines Speicherzellenfelds programmiert werden. Die Bestäti gungsmarkierung kann in einen Ersatzbereich des Speicherzellenfelds programmiert und als Anzeige benutzt werden, ob die korrespondierenden Seiten des Hauptbereichs des Speicherzellenfelds zuverlässig programmiert sind.
  • Dann wird im Schritt 1100 eine Bestimmung durchgeführt, ob während der Programmierung die Energieversorgung unterbrochen war. War dies der Fall, dann werden nach der Wiederherstellung der Energieversorgung im Schritt 1200 die im Speicherzellenfeld gespeicherten Daten abgetastet. Wie aus dem Schritt 1300 aus 5 ersichtlich ist, wird diese Datenabtastung durchgeführt, um Speicherzellen zu detektieren, welche Daten enthalten, d. h. Speicherzellen, die nicht leer sind. Die Vorgänge in den Schritten 1200 und 1300 aus 5 können so lange wiederholt werden, bis eine Speicherzelle mit programmierten Daten detektiert wird. Werden im Schritt 1300 Speicherzellen mit programmierten Daten detektiert, dann wird im Schritt 1400 die Schwellwertspannungsverteilung der Speicherzellen, die eine Bestätigungsmarkierung speichern, und der Speicherzellen analysiert, die Benutzerdaten derjenigen Seite speichern, zu welcher die detektierten Daten gehören.
  • Basierend auf der Analyse im Schritt 1400 wird im Schritt 1500 eine Bestimmung durchgeführt, ob die Benutzerdaten in diesen Speicherzellen korrekt und zuverlässig programmiert sind. Zeigt das Ergebnis des Schrittes 1500 an, dass der Programmiervorgang, welcher die Benutzerdaten in die korrespondierende Seite programmiert hat, zuverlässig ausgeführt wurde, d. h. die Daten gültig sind, dann wird der Vorgang im Schritt 1600 mit der Programmierung der nächsten Seite von zu programmierenden Daten fortgesetzt. Zeigt das Ergebnis des Schrittes 1500 jedoch an, dass der Programmiervorgang nicht zuverlässig ausgeführt wurde, dann wird der Vorgang im Schritt 1700 mit der erneuten Programmierung der Daten der korrespondierenden Seite fortgesetzt.
  • 6 zeigt ein Flussdiagramm zur Darstellung eines Verfahrens zur Bestimmung, ob Daten zuverlässig programmiert sind, gemäß Ausführungsformen der Erfindung. Das Verfahren gemäß 6 kann beispielsweise benutzt werden, um den Vorgang gemäß Schritt 1400 aus 5 auszuführen.
  • Wie aus 6 ersichtlich ist, kann der Vorgang im Schritt 1410 mit mehreren Teilschritten beginnen, welche benutzt werden, um die Zuverlässigkeit der Bestätigungsmarkierung zu ermitteln. Speziell kann im Schritt 1412 die Schwellwertspannung Vcon der Zelle ermittelt werden, welche die Bestätigungsmarkierung enthält, um zu bestimmen, ob die Schwellwertspannung Vcon höher als die erste Programmierverifizierspannung Vver1 ist. Ist die Schwellwertspannung Vcon kleiner als die erste Programmierverifizierspannung Vver1, dann wird die Seite, die mit der Bestätigungsmarkierung korrespondiert, im Schritt 1450 als gelöschte Seite beurteilt, d. h. als eine Seite, welche nicht programmiert ist, wonach der Vorgang beendet ist. Ist die Schwellwertspannung Vcon stattdessen höher als die erste Programmierverifizierspannung Vver1, dann wird die mit der Bestätigungsmarkierung korrespondierende Seite im Schritt 1414 als programmierte Seite beurteilt.
  • Wird im Schritt 1414 die korrespondierende Seite als programmiert beurteilt, dann kann als nächstes im Schritt 1416 die Schwellwertspannung Vcon mit der höheren zweiten Programmierverifizierspannung Vver2 verglichen werden. Ist die Schwellwertspannung Vcon höher als die zweite Programmierverifizierspannung Vver2, dann wird die Bestätigungsmarkierung als zuverlässig programmiert beurteilt. Ist die Schwellwertspannung Vcon kleiner als die zweite Programmierverifizierspannung Vver2, dann wird im Schritt 1440 die korrespondierende Seite als nicht zuverlässig programmiert beurteilt.
  • Wird die Bestätigungsmarkierung im Schritt 1416 als zuverlässig programmiert beurteilt, dann wird im Schritt 1420 die Zuverlässigkeit der in die korrespondierende Seite programmierten Benutzerdaten ermittelt. Um die Beschreibung dieses Schrittes zu vereinfachen, wird der Vorgang der Bestimmung der Zuverlässigkeit von programmierten Benutzerdaten im Schritt 1420 in Bezug auf eine einzelne Speicherzelle beschrieben. Es versteht sich, dass der beschriebene Vorgang für einige oder alle Zellen der Seite wiederholt werden kann.
  • Zuerst wird im Schritt 1422 die Schwellwertspannung Vuser der Zelle ermittelt, um zu bestimmen, ob die Schwellwertspannung Vuser höher als die erste Programmierverifizierspannung Vver1 ist. Ist die Schwellwertspannung Vuser kleiner als die erste Programmierverifizierspannung Vver1, dann wird die korrespondierende Zelle im Schritt 1460 als gelöschte Zelle beurteilt, d. h. als eine Zelle mit einem Datenwert „1”, wonach der Vorgang abgeschlossen ist. Ist die Schwellwertspannung Vuser höher als die erste Programmierverifizierspannung Vver1, dann wird die korrespondierende Zelle im Schritt 1424 als programmierte Zelle beurteilt, d. h. als eine Zelle mit einem Datenwert „0”.
  • Wird die korrespondierende Zelle als programmiert beurteilt, dann wird im Schritt 1426 eine Bestimmung durchgeführt, ob die Schwellwertspannung Vuser höher als die zweite Programmierverifizierspannung Vver2 ist. Ist dies der Fall, dann wird die Zelle im Schritt 1430 als zuverlässig programmiert beurteilt. Ist die Schwellwertspannung Vuser stattdessen kleiner als die zweite Programmierverifizierspannung Vver2, dann wird im Schritt 1440 bestimmt, dass die korrespondierende Zelle nicht zuverlässig programmiert ist.
  • Es können folgende Modifikationen der beschriebenen Programmierverfahren vorgenommen werden, ohne den Schutzbereich der Erfindung zu verlassen. So kann die Bestimmung der Zuverlässigkeit der programmierten Daten beispielsweise auch allein durch einen Vergleich mit der zweiten Programmierverifizierspannung Vver2 durchgeführt werden.
  • Die oben beschriebenen Schritte, in welchen die Zuverlässigkeit der Programmierung der Zellen beurteilt wird, können individuell in jeder Zelle oder in mehreren Zellen gemeinsam, beispielsweise durch Verwendung einer verdrahteten ODER-Verknüpfungstechnik, ausgeführt werden. Wird irgendeine der Mehrzahl von Zellen, welche zu einer Seite gehören, als nicht zuverlässig programmiert beurteilt, dann wird die korrespondierende Seite neu programmiert.
  • Wie oben ausgeführt, werden Verfahren zur Programmierung von nichtflüchtigen Speicherbauelementen zur Verfügung gestellt, in welchen eine Mehrzahl von Daten- und Programmierbestätigungsinformationen gleichzeitig programmiert werden. Wird der Programmiervorgang durch eine Unterbrechung der Energieversorgung oder dergleichen unterbrochen, dann kann basierend auf einer Schwellwertspannungsverteilung der Speicherzellen, welche die Benutzerdaten speichern, und der Speicherzellen, welche die Programmierbestätigungsinformation speichern, z. B. eine Bestätigungsmarkierung, der Grad bestimmt werden, bis zu dem der Programmiervorgang abgeschlossen wurde. Basierend auf dem Ergebnis dieser Bestimmung können die nicht korrekt programmierten Daten identifiziert und neu programmiert werden. Durch die gleichzeitige Programmierung der Bestätigungsmarkierung mit den Benutzerdaten kann die Gesamtprogrammierdauer der erfindungsgemäßen Programmierverfahren verglichen mit derjenigen der herkömmlichen Programmierverfahren verkürzt werden. Zusätzlich kann der Datenverlust verglichen mit herkömmlichen Verfahren reduziert werden, wenn die Energieversorgung nach einer Unterbrechung während eines Programmiervorgangs wieder zur Verfügung gestellt wird.

Claims (20)

  1. Programmierverfahren für ein nichtflüchtiges Speicherbauelement, mit folgenden Schritten: – Programmieren von Daten in eine erste Mehrzahl von Speicherzellen eines nichtflüchtigen Speicherbauelements, – Programmieren einer Bestätigungsinformation, welche mit den in die erste Mehrzahl von Speicherzellen programmierten Daten assoziiert ist, in wenigstens eine zweite Speicherzelle des nichtflüchtigen Speicherbauelements während des Programmierens der Daten in die erste Mehrzahl von Speicherzellen (Schritt 1000) und – Bestimmen, ob die Daten korrekt in die erste Mehrzahl von Speicherzellen programmiert sind, basierend auf der Ermittlung einer Schwellwertspannungsverteilung von wenigstens einem Teil der ersten Mehrzahl von Speicherzellen und der Schwellwertspannungsverteilung der wenigstens einen zweiten Speicherzelle (Schritte 1400 und 1500).
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Bestimmungschritt einen ersten Vergleich einer Einschaltspannung (Vuser) von wenigstens einem Teil der ersten Mehrzahl von Spei cherzellen mit einem ersten Schwellwert (Vver1) (Schritt 1422) und einen zweiten Vergleich einer Einschaltspannung (Vcon) der wenigstens einen zweiten Speicherzelle mit dem ersten Schwellwert (Vver1) (Schritt 1412) umfasst.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Bestätigungsinformation eine Bestätigungsmarkierung (CM0, CM1, CM2) umfasst.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die erste Mehrzahl von Speicherzellen in einem Hauptbereich (10) eines Speicherzellenfeldes (100) des nichtflüchtigen Speicherbauelements angeordnet werden und die wenigstens eine zweite Speicherzelle in einem Ersatzbereich (20) des Speicherzellenfelds (100) angeordnet wird.
  5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass der Bestimmungsschritt folgende Teilschritte umfasst: – Bestimmen, ob die Einschaltspannung (Vcon) der wenigstens einen zweiten Speicherzelle den ersten Schwellwert (Vver1) übersteigt (Schritt 1412), und – Bestimmen, ob die Einschaltspannung (Vuser) von wenigstens dem Teil der ersten Mehrzahl von Speicherzellen den ersten Schwellwert (Vver1) übersteigt (Schritt 1422).
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Bestimmungsschritt folgende weitere Schritte umfasst: – Bestimmen, ob die Einschaltspannung (Vcon) der wenigstens einen zweiten Speicherzelle einen zweiten Schwellwert (Vver2) übersteigt (Schritt 1416), und – Bestimmen, ob die Einschaltspannung (Vuser) von wenigstens dem Teil der ersten Mehrzahl von Speicherzellen den zweiten Schwellwert (Vver2) übersteigt (Schritt 1426).
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die in die erste Mehrzahl von Speicherzellen programmierten Daten nur als korrekt programmiert bestimmt werden, wenn die Einschaltspannung (Vcon) der wenigstens einen zweiten Speicherzelle den zweiten Schwellwert (Vver2) übersteigt und die Einschaltspannung (Vuser) von wenigstens dem Teil der ersten Mehrzahl von Speicherzellen den zweiten Schwellwert (Vver2) übersteigt.
  8. Verfahren nach einem der Ansprüche 2 bis 7, dadurch gekennzeichnet, dass bestimmt wird, ob während der Programmierung von Daten in die erste Mehrzahl von Speicherzellen und/oder während der Programmierung der Bestätigungsinformation, welche mit den in die erste Mehrzahl von Speicherzellen programmierten Daten assoziiert ist, in die wenigstens eine zweite Speicherzelle, eine Unterbrechung einer Energieversorgung aufgetreten ist.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass eine dritte Mehrzahl von Speicherzellen des nichtflüchtigen Speicherbauelements, welche wenigstens einen Teil der ersten Mehrzahl von Speicherzellen umfassen, abgetastet wird, um eine Gruppe von Speicherzellen innerhalb der dritten Mehrzahl von Speicherzellen zu bestimmen, welche keinen leeren Wert aufweisen.
  10. Verfahren nach einem der Ansprüche 2 bis 9, dadurch gekennzeichnet, dass die in die erste Mehrzahl von Speicherzellen des nichtflüchtigen Speicherbauelements zu programmierenden Daten eine oder mehrere Seiten von Daten umfassen.
  11. Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement nach einer Unterbrechung, mit folgenden Schritten: – Abtasten eines Speicherzellenfeldes (100) des nichtflüchtigen Speicherbauelements, um eine Speicherzelle mit programmierten Daten zu identifizieren, und – Bestimmen der Zuverlässigkeit der in die Speicherzelle programmierten Daten basierend auf einer Analyse einer Schwellwertspannung (Vuser) der Speicherzelle (Schritt 1420) und einer Schwellwertspannung (Vcon) von wenigstens einer zusätzlichen Speicherzelle (Schritt 1410), welche Information bezüglich der Zuverlässigkeit der in die Speicherzelle programmierten Daten umfasst.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die Bestimmung der Zuverlässigkeit der in die Speicherzelle programmierten Daten für die wenigstens eine zusätzliche Speicherzelle folgende Schritte umfasst: – Bestimmen, ob die Schwellwertspannung (Vcon) der wenigstens einen zusätzlichen Speicherzelle eine erste Referenzspannung (Vver1) übersteigt (Schritt 1412), und bejahendenfalls bestimmen, ob die Schwellwertspannung (Vcon) eine zweite Referenzspannung (Vver2) übersteigt (Schritt 1416), und – Bestimmen, dass die in die wenigstens eine zusätzliche Speicherzelle programmierten Daten zuverlässige Daten sind, wenn die Schwellwertspannung (Vcon) der wenigstens einen zusätzlichen Speicherzelle höher als die zweite Referenzspannung (Vver2) ist.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Bestimmung der Zuverlässigkeit der in die Speicherzelle programmierten Daten für die Speicherzelle folgende Schritte umfasst: – Bestimmen, ob die Schwellwertspannung (Vuser) der Speicherzelle die erste Referenzspannung (Vver1) übersteigt (Schritt 1422), und bejahendenfalls bestimmen, ob die Schwellwertspannung (Vuser) die zweite Referenzspannung (Vver2) übersteigt (Schritt 1426), und – Bestimmen, dass die in der Speicherzelle programmierten Daten zuverlässige Daten sind, wenn die wenigstens in die eine zusätzliche Speicherzelle programmierten Daten zuverlässige Daten sind und die Schwellwertspannung (Vuser) der Speicherzelle höher als die zweite Referenzspannung (Vver2) ist.
  14. Verfahren nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass die Information bezüglich der Zuverlässigkeit der in die Speicherzelle programmierten Daten eine Bestätigungsmarkierung (CM0, CM1, CM2) umfasst.
  15. Verfahren nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet, dass die Speicherzelle in einem Hauptbereich (10) eines Speicherzellenfeldes (100) des nichtflüchtigen Speicherbauelements angeordnet wird und die wenigstens eine zusätzliche Speicherzelle in einem Ersatzbereich (20) des Speicherzellenfelds (100) angeordnet wird.
  16. Verfahren nach einem der Ansprüche 11 bis 15, dadurch gekennzeichnet, dass die erste Referenzspannung (Vver1) ungefähr 0 Volt beträgt.
  17. Verfahren nach einem der Ansprüche 11 bis 16, dadurch gekennzeichnet, dass die zweite Referenzspannung (Vver2) ungefähr 1,2 Volt beträgt.
  18. Verfahren nach einem der Ansprüche 11 bis 17, dadurch gekennzeichnet, dass – eine erste Gruppe der Mehrzahl von Speicherzellen erkannt wird, welche programmierte Daten zu enthalten scheinen, – Bestimmen, ob die Schwellwertspannung (Vuser) von wenigstens einer Speicherzelle der ersten Gruppe von Speicherzellen einen ersten Wert (Vver1) übersteigt (Schritt 1422), und – erneutes Programmieren der ersten Gruppe von Speicherzellen, wenn wenigstens eine der Schwellwertspannungen (Vuser) niedriger als der erste Wert (Vver1) ist (Schritt 1700).
  19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass bestimmt wird, ob die Schwellwertspannung (Vcon) von wenigstens einer zusätzlichen Speicherzelle, welche eine Bestätigungsinformation bezüglich der Programmierzuverlässigkeit der Daten in der ersten Gruppe von Speicherzellen umfasst, den ersten Wert (Vver1) übersteigt (Schritt 1412), bevor bestimmt wird, ob die Schwellwertspannung (Vuser) der wenigstens einen Speicherzelle der ersten Gruppe von Speicherzellen den ersten Wert (Vver1) übersteigt (Schritt 1422).
  20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass die erste Gruppe von Speicherzellen wenigstens teilweise in einem Hauptbereich (10) des nichtflüchtigen Speicherbauelements angeordnet ist und die wenigstens eine zusätzliche Speicherzelle in einem Ersatzbereich (20) des Speicherzellenfelds (100) angeordnet ist.
DE102005045031A 2004-09-17 2005-09-16 Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement Active DE102005045031B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2004-0074674 2004-09-17
KR10-2004-74674 2004-09-17
KR1020040074674A KR100645044B1 (ko) 2004-09-17 2004-09-17 높은 신뢰도를 갖는 불 휘발성 메모리 장치의 프로그램 방법

Publications (2)

Publication Number Publication Date
DE102005045031A1 DE102005045031A1 (de) 2006-03-30
DE102005045031B4 true DE102005045031B4 (de) 2010-11-11

Family

ID=36073783

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005045031A Active DE102005045031B4 (de) 2004-09-17 2005-09-16 Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement

Country Status (5)

Country Link
US (1) US7085167B2 (de)
JP (1) JP4843277B2 (de)
KR (1) KR100645044B1 (de)
CN (1) CN100576352C (de)
DE (1) DE102005045031B4 (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITVA20050024A1 (it) * 2005-04-13 2006-10-14 St Microelectronics Srl Metodo e circuito di programmazione simultanea di celle di memoria
JP5014125B2 (ja) * 2005-05-30 2012-08-29 スパンション エルエルシー 半導体装置及びプログラムデータ冗長方法
KR20080022496A (ko) * 2006-09-06 2008-03-11 주식회사 하이닉스반도체 낸드 플래시 메모리 소자의 소거 문턱 전압 분포 모니터링방법
US7447076B2 (en) * 2006-09-29 2008-11-04 Sandisk Corporation Systems for reverse reading in non-volatile memory with compensation for coupling
US7684247B2 (en) * 2006-09-29 2010-03-23 Sandisk Corporation Reverse reading in non-volatile memory with compensation for coupling
KR100841980B1 (ko) * 2006-12-19 2008-06-27 삼성전자주식회사 소거된 셀의 산포를 개선할 수 있는 플래시 메모리 장치의소거 방법
US7606070B2 (en) * 2006-12-29 2009-10-20 Sandisk Corporation Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation
US7518923B2 (en) 2006-12-29 2009-04-14 Sandisk Corporation Margined neighbor reading for non-volatile memory read operations including coupling compensation
US7830718B2 (en) * 2007-11-21 2010-11-09 Micron Technology, Inc. Mitigation of data corruption from back pattern and program disturb in a non-volatile memory device
US7768812B2 (en) 2008-01-15 2010-08-03 Micron Technology, Inc. Memory cells, memory cell programming methods, memory cell reading methods, memory cell operating methods, and memory devices
US8034655B2 (en) 2008-04-08 2011-10-11 Micron Technology, Inc. Non-volatile resistive oxide memory cells, non-volatile resistive oxide memory arrays, and methods of forming non-volatile resistive oxide memory cells and memory arrays
US8211743B2 (en) * 2008-05-02 2012-07-03 Micron Technology, Inc. Methods of forming non-volatile memory cells having multi-resistive state material between conductive electrodes
US7848144B2 (en) 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
US8134137B2 (en) * 2008-06-18 2012-03-13 Micron Technology, Inc. Memory device constructions, memory cell forming methods, and semiconductor construction forming methods
US9343665B2 (en) 2008-07-02 2016-05-17 Micron Technology, Inc. Methods of forming a non-volatile resistive oxide memory cell and methods of forming a non-volatile resistive oxide memory array
JP2010044504A (ja) * 2008-08-11 2010-02-25 Hitachi Cable Ltd フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法
US7864587B2 (en) * 2008-09-22 2011-01-04 Micron Technology, Inc. Programming a memory device to increase data reliability
KR20100133707A (ko) * 2009-06-12 2010-12-22 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 최상위 비트 프로그램 상태 판별 방법
KR101605824B1 (ko) * 2009-08-06 2016-04-01 삼성전자주식회사 메모리 장치를 테스트 방법 및 테스트 장치
US8411477B2 (en) 2010-04-22 2013-04-02 Micron Technology, Inc. Arrays of vertically stacked tiers of non-volatile cross point memory cells, methods of forming arrays of vertically stacked tiers of non-volatile cross point memory cells, and methods of reading a data value stored by an array of vertically stacked tiers of non-volatile cross point memory cells
US8427859B2 (en) 2010-04-22 2013-04-23 Micron Technology, Inc. Arrays of vertically stacked tiers of non-volatile cross point memory cells, methods of forming arrays of vertically stacked tiers of non-volatile cross point memory cells, and methods of reading a data value stored by an array of vertically stacked tiers of non-volatile cross point memory cells
US8289763B2 (en) 2010-06-07 2012-10-16 Micron Technology, Inc. Memory arrays
US8539311B2 (en) * 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8351242B2 (en) 2010-09-29 2013-01-08 Micron Technology, Inc. Electronic devices, memory devices and memory arrays
US8759809B2 (en) 2010-10-21 2014-06-24 Micron Technology, Inc. Integrated circuitry comprising nonvolatile memory cells having platelike electrode and ion conductive material layer
US8796661B2 (en) 2010-11-01 2014-08-05 Micron Technology, Inc. Nonvolatile memory cells and methods of forming nonvolatile memory cell
US8526213B2 (en) 2010-11-01 2013-09-03 Micron Technology, Inc. Memory cells, methods of programming memory cells, and methods of forming memory cells
US9454997B2 (en) 2010-12-02 2016-09-27 Micron Technology, Inc. Array of nonvolatile memory cells having at least five memory cells per unit cell, having a plurality of the unit cells which individually comprise three elevational regions of programmable material, and/or having a continuous volume having a combination of a plurality of vertically oriented memory cells and a plurality of horizontally oriented memory cells; array of vertically stacked tiers of nonvolatile memory cells
US8431458B2 (en) 2010-12-27 2013-04-30 Micron Technology, Inc. Methods of forming a nonvolatile memory cell and methods of forming an array of nonvolatile memory cells
US8791447B2 (en) 2011-01-20 2014-07-29 Micron Technology, Inc. Arrays of nonvolatile memory cells and methods of forming arrays of nonvolatile memory cells
US8631294B2 (en) 2011-02-02 2014-01-14 Seagate Technology Llc Methods and devices to increase memory device data reliability
US8488365B2 (en) 2011-02-24 2013-07-16 Micron Technology, Inc. Memory cells
US8537592B2 (en) 2011-04-15 2013-09-17 Micron Technology, Inc. Arrays of nonvolatile memory cells and methods of forming arrays of nonvolatile memory cells
KR101996004B1 (ko) * 2012-05-29 2019-07-03 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템
KR20130134186A (ko) * 2012-05-30 2013-12-10 삼성전자주식회사 메모리 장치의 리라이트 방법
JP2014186787A (ja) * 2013-03-25 2014-10-02 Toshiba Corp 不揮発性半導体記憶装置、メモリコントローラ、及びメモリシステム
US9728278B2 (en) 2014-10-24 2017-08-08 Micron Technology, Inc. Threshold voltage margin analysis
CN105810246B (zh) * 2014-12-31 2020-08-11 群联电子股份有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US9424948B1 (en) 2015-10-23 2016-08-23 International Business Machines Corporation Detection of initial state by eFuse array
KR20170073792A (ko) * 2015-12-18 2017-06-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9921898B1 (en) * 2016-12-27 2018-03-20 Micron Technology, Inc. Identifying asynchronous power loss
KR102639697B1 (ko) 2017-01-09 2024-02-21 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그램 방법
US10541032B2 (en) 2017-05-10 2020-01-21 Micron Technology, Inc. Responding to power loss
US10192626B1 (en) * 2017-08-31 2019-01-29 Micro Technology, Inc. Responding to power loss
US10373694B2 (en) 2017-08-31 2019-08-06 Micron Technology, Inc. Responding to power loss
US10607702B1 (en) 2018-12-03 2020-03-31 Micron Technology, Inc. Responding to power loss

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473563A (en) * 1993-01-13 1995-12-05 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory
US5696717A (en) * 1995-10-16 1997-12-09 Samsung Electronics Co., Ltd. Nonvolatile integrated circuit memory devices having adjustable erase/program threshold voltage verification capability
US20030189860A1 (en) * 2001-06-28 2003-10-09 Akio Takeuchi Non-volatile memory control method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01109599A (ja) * 1987-10-22 1989-04-26 Nec Corp 書込み・消去可能な半導体記憶装置
US5627786A (en) * 1995-02-10 1997-05-06 Micron Quantum Devices, Inc. Parallel processing redundancy scheme for faster access times and lower die area
US5909449A (en) * 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
JPH11282765A (ja) * 1998-03-27 1999-10-15 Hitachi Ltd フラッシュメモリを使用した外部記憶装置
KR19990080832A (ko) 1998-04-22 1999-11-15 윤종용 불 휘발성 메모리 장치의 프로그램 검증 방법
JP2000040382A (ja) 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP2001076496A (ja) * 1999-09-02 2001-03-23 Fujitsu Ltd 不揮発性メモリのデータ化け防止回路およびその方法
JP2001332096A (ja) * 2000-05-16 2001-11-30 Hitachi Ltd 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置
KR100418522B1 (ko) * 2001-06-11 2004-02-14 삼성전자주식회사 이동가능한 스페어 메모리 어레이 어드레스를 갖는 불휘발성 반도체 메모리 장치 및 그에 따른 리드방법
KR100443792B1 (ko) 2001-10-15 2004-08-09 주식회사 하이닉스반도체 플래시 이이피롬의 프로그램회로 및 이를 이용한 프로그램방법
DE60319718D1 (de) * 2002-10-02 2008-04-24 Matsushita Electric Ind Co Ltd Steuerverfahren für eine nichtflüchtige speichereinrichtung
KR100632946B1 (ko) * 2004-07-13 2006-10-12 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법
KR100632947B1 (ko) * 2004-07-20 2006-10-12 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473563A (en) * 1993-01-13 1995-12-05 Samsung Electronics Co., Ltd. Nonvolatile semiconductor memory
US5696717A (en) * 1995-10-16 1997-12-09 Samsung Electronics Co., Ltd. Nonvolatile integrated circuit memory devices having adjustable erase/program threshold voltage verification capability
US20030189860A1 (en) * 2001-06-28 2003-10-09 Akio Takeuchi Non-volatile memory control method

Also Published As

Publication number Publication date
KR20060025833A (ko) 2006-03-22
CN1767067A (zh) 2006-05-03
JP4843277B2 (ja) 2011-12-21
KR100645044B1 (ko) 2006-11-10
JP2006085895A (ja) 2006-03-30
CN100576352C (zh) 2009-12-30
US7085167B2 (en) 2006-08-01
DE102005045031A1 (de) 2006-03-30
US20060062049A1 (en) 2006-03-23

Similar Documents

Publication Publication Date Title
DE102005045031B4 (de) Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement
DE60017838T2 (de) Nichtflüchtiger Speicher Typ NAND
DE102005039099B4 (de) Löschverfahren und nichtflüchtiges Speicherbauelement
DE69502169T2 (de) Verfahren zum Einschreiben von Daten in einen Speicher und entsprechender elektrisch-programmierbarer Speicher
DE60213620T2 (de) Nichtflüchtiger speicher mit blocklöschung
DE4309814C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE102005033165B4 (de) Nichtflüchtiges Speicherbauelement, Programmier- und Schreibverfahren
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE10026993B4 (de) Flash-Speicherbauelement mit einer neuen Redundanzansteuerschaltung
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE102005047377B4 (de) Nichtflüchtiges Speicherbauelement und Verfahren zum Verifizieren von Daten
DE102006058380A1 (de) Flash-Speicherbauelement und Verfahren zur Steuerung einer Löschoperation desselben
DE102007026511A1 (de) Flash-Speichereinrichtung und Löschverfahren hierfür
DE102006028209A1 (de) Verfahren zum Löschen von Speicherzellen einer Flash-Speichereinrichtung und Speichereinrichtung
DE112010000955T5 (de) NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE60015770T2 (de) Flashspeicheranordnung mit extern ausgelöster erfassung und heilung von fehlerhaften zellen
DE102005049845A1 (de) Verfahren zum Testen einer Speicheranordnung, Speicheranordnung und Testeinheit zum Testen einer solchen
DE112005000866T5 (de) Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen
DE102007041845A1 (de) Verfahren zum Betreiben eines integrierten Schaltkreises mit mindestens einer Speicherzelle
DE102005035077A1 (de) Löschverfahren für ein Flashspeicherbauelement
DE102008032235A1 (de) Nichtflüchtiges Speicherbauelement, Löschverfahren und Löschtestverfahren
DE10329627A1 (de) Flash-Speicherbaustein
DE69731255T2 (de) Verfahren zum Löschen eines nichtflüchtigen Speichers
DE4226847C2 (de) Flash-EEPROM und Verfahren zum Löschen der Speicherzellen von Flash-EEPROMS

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R020 Patent grant now final

Effective date: 20110211