DE112005000866T5 - Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen - Google Patents

Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen Download PDF

Info

Publication number
DE112005000866T5
DE112005000866T5 DE112005000866T DE112005000866T DE112005000866T5 DE 112005000866 T5 DE112005000866 T5 DE 112005000866T5 DE 112005000866 T DE112005000866 T DE 112005000866T DE 112005000866 T DE112005000866 T DE 112005000866T DE 112005000866 T5 DE112005000866 T5 DE 112005000866T5
Authority
DE
Germany
Prior art keywords
write
bit
array
fast
cell
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.)
Ceased
Application number
DE112005000866T
Other languages
English (en)
Inventor
Mark San Jose Randolph
Darlene San Jose Hamilton
Roni Sunnyvale Kornitz
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.)
Spansion LLC
Original Assignee
Spansion LLC
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 Spansion LLC filed Critical Spansion LLC
Publication of DE112005000866T5 publication Critical patent/DE112005000866T5/de
Ceased legal-status Critical Current

Links

Classifications

    • 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/0466Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
    • G11C16/0475Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS] comprising two or more independent storage sites which store independent data
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Abstract

Verfahren (300) zum Partitionieren eines Multibit-Flash-Speicherarray in einen Schnellschreib-Teil und einen Normalschreib-Teil, mit folgenden Schritten:
– Identifizieren eines Arrayteils aus Zweibit-Flash-Speicherzellen (316, 318, 320, 322) für Schnellschreib-Operationen an diesen; und
– durchführen einer Schnellschreib-Lösch-Aktivierungs-Operation (200) an dem identifizierten Schnellschreib-Arrayteil vor einer Schreiboperation an diesem, wobei sich die Schnellschreib- Lösch-Aktivierungs-Operation von einer an einem anderen Arrayteil durchgeführten Lösch-Operation unterscheidet, welcher einen Normalschreib-Arrayteil aus Speicherzellen aufweist, der nicht für Schnellschreib-Operationen identifiziert ist.

Description

  • TECHNISCHES GEBIET
  • Die Erfindung betrifft generell das Gebiet der Speichervorrichtungen und insbesondere Verfahren und Systeme für eine Hochgeschwindigkeitsprogrammierung in Multibit-Flash-Speichervorrichtungen.
  • STAND DER TECHNIK
  • Flash- und andere Typen elektronischer Speichervorrichtungen sind aus Speicherzellen aufgebaut, die jeweils Daten speichern und Zugriff auf diese bieten. Ein Speicherzellentyp der ersten Generation speichert eine einzelne Binärinformation, die als Bit bezeichnet wird, welches sich in einem von zwei möglichen Zuständen befindet. Die Zellen sind normalerweise in Mehrzelleneinheiten organisiert, wie z.B. Bytes, die acht Zellen aufweisen, und Wörter, die sechzehn oder mehr dieser Zellen aufweisen können, welche normalerweise in Mehrfachkonfigurationen von acht konfiguriert sind. Das Speichern von Daten in diesen Speichervorrichtungsarchitekturen erfolgt durch Schreiben in einen speziellen Speicherzeliensatz, das manchmal als Programmieren der Zellen bezeichnet wird, aus dem die Daten dann in einer Leseoperation abgerufen werden können. Zusätzlich zu Programmier- (manchmal als Schreiben bezeichnet) und Leseoperationen können Zellengruppen in einer Speichervorrichtung gelöscht werden, wobei jede Zelle in der Gruppe auf einen bekannten Anfangszustand gesetzt wird (z.B. auf eine Eins "1").
  • Die einzelnen Speicherzellen weisen typischerweise eine Halbleiterstruktur zum Speichern eines Datenbits auf. Beispielsweise weisen zahlreiche herkömmliche Speicherzellen eine Metalloxidhalbleiter-(MOS-)Vorrichtung auf, in der eine Binärinformation festgehalten werden kann. Die Lösch-, Programmier- und Leseoperationen werden normalerweise durch Anlegen geeigneter Spannungen an spezifische Anschlüsse der Zellen-MOS-Vorrichtung durchgeführt. Bei einer Lösch- oder Programmieroperation werden die Spannungen derart angelegt, dass sie bewirken, dass eine Ladung in der Speicherzelle gespeichert oder von dieser entfernt wird. Bei einer Leseoperation werden geeignete Spannungen angelegt, um zu bewirken, dass ein Strom in der Zelle fließt, wobei die Menge eines solchen Stroms den Wert der in der Zelle gespeicherten Daten anzeigt. Die Speichervorrichtung weist eine geeignete Schaltung zum Erfassen des sich ergebenden Zellenstroms zwecks Ermittlung der darin gespeicherten Daten auf, weiche dann zu Datenbusanschlüssen der Vorrichtung geliefert werden und auf die dann andere Vorrichtungen in dem System, in dem die Speichervorrichtung verwendet wird, zugreifen können.
  • Ein Flash-Speicher ist ein nichtflüchtiger Speichertyp, der modifiziert werden und seinen Inhalt auch ohne Energieversorgung halten kann. Herkömmliche Einbit-Flash-Speicher sind in einer Zellenstruktur aufgebaut, wobei ein Einzelinformationsbit in jeder Flash-Speicherzelle gespeichert ist. Jede Flash-Speicherzelle weist eine Transistorstruktur mit einer Source, einem Drain und einem Kanal in einem Substrat oder dotierten Well sowie eine den Kanal überlagernde Gate-Speicherstruktur auf. Die Gate-Speicherstruktur kann auf der Fläche des dotierten Well ausgebildete dielektrische Schichten aufweisen. Die dielektrische Schicht ist häufig ein Mehrschichtisolator, wie z.B. eine Oxidnitridoxid-(ONO-)Schicht mit zwei Oxidschichten, in denen eine Nitridschicht sandwichartige angeordnet ist.
  • In jüngster Zeit ist ein Multibit-Flash-Speicher entwickelt worden, bei dem jede Zelle zwei oder mehr physische Datenbits speichern kann. Zweibit-Speicherzellen sind generell asymmetrisch, wobei die Drain- und Source-Anschlüsse austauschbar sind. Wenn geeignete Spannungen an die Gate-, Drain- und Source-Anschlüsse angelegt werden, kann auf eines der beiden Bits zugegriffen werden (z.B, für Lese-, Programmier-, Lösch-, Verifizier- oder andere Operationen). Wenn ein anderer Satz von Anschlussspannungen an die Zwei bit-Zelle angelegt wird, kann auf das andere der beiden Bits zugegriffen werden.
  • Eine typische Zweibit-Speicherzelle kann dadurch programmiert werden, dass eine relativ hohe Spannung an das Gate und eine mäßig hohe Spannung an den Drain angelegt wird, um "heiße" (hochenergetische) Elektronen in dem Kanal nahe dem Drain zu erzeugen. Diese Heißelektronen beschleunigen sich auf der unteren dielektrischen Schicht in die Ladungseinfangregionen, wie z.B. Nitrid, hinein und werden in der Ladungseinfangschicht eingefangen. Durch die eingefangenen Elektronen erhöht sich die Schwellenspannung der Speicherzelle. Diese durch die eingefangenen Elektronen hervorgerufene Veränderung der Schwellenspannung (und dadurch der Kanalleitfähigkeit) der Speicherzelle bewirkt die Programmierung der Speicherzelle. Zum Lesen der Speicherzelle wird eine vorbestimmte Gate-Spannung, die größer ist als die Schwellenspannung einer unprogrammierten oder gelöschten Zelle, jedoch kleiner als die Schwellenspannung einer programmierten Speicherzelle, an das Gate angelegt. Wenn die Speicherzelle leitet (z.B. ein erfasster Strom in der Zelle einen Mindestwert übersteigt), ist die Speicherzelle nicht programmiert worden (die Speicherzelle befindet sich daher in einem ersten logischen Zustand, z.B. Eins "1"). Wenn jedoch die Speicherzelle nicht leitet (z.B. der die Zelle durchfließende Strom einen Schwellenwert nicht übersteigt), ist die Speicherzelle programmiert worden (die Speicherzelle befindet sich daher in einem zweiten logischen Zustand, z.B. Null "0"). Somit kann jede Speicherzelle gelesen werden, um festzustellen, ob sie programmiert worden ist, wodurch der logische Zustand der Daten in der Speicherzelle identifiziert wird.
  • Flash-Speicherzellen sind in einzelnen adressierbaren Einheiten oder Gruppen, wie z.B. Bytes, Wörtern, Seiten oder Blöcken (die manchmal als Sektoren bezeichnet werden) organisiert, auf die eine Dekodierschaltung für Lese-, Programmier- oder Lösch-Operationen zugreift, wodurch diese Operationen an den Zellen in einer spezifischen Stelle durchgeführt werden können. Die Speichervorrichtung weist eine geeignete Dekodier- und Gruppenselektionsschaltung zum Adressieren oder Dekodieren dieser Bytes, Wörter, Seiten oder Blöcke sowie eine Schaltung zum Liefern von Spannungen zu den Zellen auf, an denen zur Realisierung der gewünschten Operation eine Operation durchgeführt wird.
  • Die Flash-Speicherzellen, unabhängig davon, ob es sich um Einbit- oder Multibit-Zellen handelt, können in einer Vielzahl von unterschiedlichen Konfigurationen miteinander verbunden sein. Beispielsweise können Zellen in einer NOR-Konfiguration konfiguriert sein, wobei die Zellen-Steuer-Gates einer Reihe einzeln mit einer Wortleitung verbunden sind und die Zellen-Drains einer speziellen Spalte durch eine leitende Bitleitung miteinander verbunden sind, während die Source-Anschlüsse sämtlicher Flash-Zellen in dem Array mit benachbarten Bitleitungen oder einem gemeinsamen Source-Anschluss verbunden sind. Im Betrieb werden die einzelnen Flash-Zellen in einer solchen NOR-Konfiguration über die jeweilige Wortleitung und Bitleitung unter Verwendung einer Peripherie-Decoder- und -Steuerschaltung zum Programmieren (Schreiben), Lesen, Löschen oder für andere Funktionen adressiert.
  • Eine weitere Zellenkonfiguration ist als Virtuell-Massen-Architektur bekannt, bei der die Kernzellen-Steuer-Gates einer Reihe mit einer gemeinsamen Wortleitung verknüpft sind. Eine typische Virtuell-Massen-Architektur weist Reihen von Flash-Speicherkernzellenpaaren auf, wobei ein Drain oder eine Source eines der Zellentransistoren mit einer diesem/dieser zugeordneten Bitleitung verbunden ist. Eine einzelne Flash-Zelle wird über die Wortleitung und ein Bitleitungspaar ausgewählt, die die dazugehörige Zelle begrenzen. Eine Zelle kann durch Anlegen von Spannungen an das Steuer-Gate (z.B. über die gemeinsame Wortleitung) und eine mit dem Drain verbundene Bitleitung gelesen werden, während die Source über eine weitere Bitleitung mit Masse (Vss) verbunden ist. Eine virtuelle Masse wird somit durch selektives Erden der der Source der zu lesenden Zellen zugeordneten Bitleitung gebildet. Wenn die Kernzellen Zellen des Zweibit-Typs sind, können die oben beschriebenen Verbindungen zum Lesen eines ersten Bit der Zelle verwendet werden, während das andere Bit auf im Wesentlichen gleiche Weise durch Erden der mit dem Drain verbundenen Bitleitung und Anlegen einer Spannung über die andere Bitleitung an den Source-Anschluss gelesen werden kann, wodurch die Source- und Drain-Regionen auf effektive Weise austauschbar sind.
  • Eine weitere Konfiguration ist als NAND-Architektur bekannt, bei der die Kernzellen entlang einer gemeinsamen Bitleitungsreihe miteinander in Serie geschaltet sind. Eine typische NAND-Architektur weist Reihen von Bitleitungen bildenden seriengeschalteten Flash-Speicherkernzellen auf, wobei jede Zelle in jeder Reihe mit ihrer eigenen jeweiligen Wortleitung verbunden ist. Jede Bitleitung ist selektiv über Selekt-Gate-Transistoren im oberen bzw. unteren Teil der Reihen mit Bitleitungsspannungen (z.B. einer Drain- und Source-Spannung für verschiedene Operationen) gekoppelt. Eine einzelne Flash-Zelle wird über die Wortleitung und durch Koppeln einer ausgewählten Bitleitung über die Selekt-Gate-Transistoren mit den Drain- und Source-Spannungen ausgewählt. Eine Zelle kann durch Anlegen einer Lesespannung an das Steuer-Gate (z.B. über die ausgewählte Wortleitung) gelesen werden, wobei sämtliche anderen Wortleitungen entlang der Bitleitung mit einer hohen Spannung aktiviert werden, während die Drain- und Source-Anschlüsse auf effektive Weise über die Selekt-Gate-Transistoren mit einer Drain-Vorspannung und Masse (Vss) gekoppelt sind, da die verbleibenden Zellen entlang der Bitleitung eingeschaltet sind. Wenn die Kernzellen Zellen des Zweibit-Typs sind, können die oben beschriebenen Verbindungen zum Lesen eines ersten Bit der Zeile verwendet werden, während das andere Bit auf im Wesentlichen gleiche Weise durch Erden der mit dem Drain verbundenen Bitleitung und Anlegen einer Spannung über die andere Bitleitung an den Source-Anschluss (z.B. effektives Austauschen der Source- und Drain-Anschlüsse) gelesen werden kann.
  • Flash-Speichervorrichtungen weisen verschiedene Leistungscharakteristiken auf, die je nach Flash-Speicherarchitektur variieren können. Zum Beispiel hat ein NOR-Flash relativ lange Lösch- und Schreibzeiten, weist jedoch ein volles Adressen/Daten-Interface auf, das einen Zufallszugriff auf eine beliebige Stelle ermöglicht. Aufgrund dieses Merkmals ist die NOR-Architektur zum Speichern eines Programmiercodes geeignet, der sporadisch aktualisiert wird, zum Beispiel zur Verwendung in Mobiltelefonen, Digitalkameras oder Minicomputern (PDAs). Alternativ hat ein NAND-Flash relativ kürzere Lösch- und Schreibzeiten und weist eine höhere Kernzellenpackdichte auf als ein NOR, sein I/O-Interface ermöglicht jedoch generell sequentiellen Datenzugriff. Folglich wird ein NAND-Flash häufig in Vorrichtungen des Massenspeichertyps verwendet, wie z.B. herausnehmbaren Flash-Karten, USB-Flash-Treibern und Solid State Disks.
  • Auf jeden Fall ist es häufig wünschenswert, die Geschwindigkeit zu verbessern, mit der Flash-Speichervorrichtungen gelesen oder programmiert werden. Zum Beispiel ist derzeit die Geschwindigkeit, mit der ein Flash-Speicher programmiert wird, etwas begrenzt, wodurch die Verwendung von Flash-Speichervorrichtungen bei Anwendungen, bei denen ein Hochgeschwindigkeits-Programmieren erforderlich ist, eingeschränkt ist. In diesen Fällen werden für diese Anwendungen typischerweise andere Speichermedien, wie z.B. ein DRAM, als temporäre Schnellspeicher vor dem Kopieren der Daten in einen nichtflüchtigen Speicher, wie z.B. einen Flash-Speicher, verwendet. Entsprechend ist eine verbesserte Schreibleistung bei Flash-Speichervorrichtungen wünschenswert, um unter anderem auf die Verwendung anderer Speichermedien bei Anwendungen, bei denen eine Hochgeschwindigkeits-Programmierleistung erforderlich ist, und nichtflüchtige Speicher zu verzichten.
  • OFFENBARUNG DER ERFINDUNG
  • Im Folgenden wird ein vereinfachter zusammenfassender Überblick über die Erfindung gegeben, um ein grundlegendes Verständnis einiger Aspekte der Erfindung zu ermöglichen. Dieser zusammenfassende Überblick ist kein extensiver Überblick über die Erfindung. Es ist damit weder beabsichtigt, Schlüssel- oder kritische Elemente der Erfindung zu identifizieren noch den Schutzumfang der Erfindung abzugrenzen. Der primäre Zweck dieses zusammenfassenden Überblicks ist vielmehr das Darstellen einiger Konzepte der Erfindung in vereinfachter Form als Einleitung der nachfolgenden detaillierteren Beschreibung.
  • Gemäß einem Aspekt der Erfindung ist ein Verfahren zum Programmieren einer oder mehrerer Zweibit-Flash-Speicherzellen vorgesehen. Das Verfahren umfasst das Löschen erster und zweiter Bits jeder Zelle in einem Teil des Array in einen ersten oder Anfangszustand und dann das Programmieren des ersten Bit jeder Zweibit-Zelle in dem Arrayteil in einen zweiten Zustand. Das Verfahren umfasst ferner das anschließende Programmieren des zweiten Bit der einen oder mehreren Zellen in dem Arrayteil in einen der ersten und zweiten Zustände anhand einer von dem Benutzer durchgeführten Dateneingabe. Bei dem oben beschriebenen Verfahren wird das erste Bit jeder Zweibit-Zelle nicht zum Festhalten der Benutzerdaten verwendet, sondern wird stattdessen zum positiven Beeinflussen (Beschleunigen) der Schreibgeschwindigkeit des entsprechenden zweiten Bit bei anschließenden Programmieroperationen verwendet. In dem oben beschriebenen Fall ist entweder die erste oder die zweite Bitstelle als "Ignorier"-Bitstelle austauschbar, wobei mit der anderen Bitstelle in der Zelle ein schnelles Programmieren durchgeführt wird. Obwohl die Benutzerdaten-Festhaltedichte reduziert wird, hat sich herausgestellt, dass das oben beschriebene Verfahren zu einer um ein Vier- oder Mehrfaches verbesserten Programmiergeschwindigkeiten gegenüber der herkömmlichen Programmierung der 2 Bits in einem Zweibit-Flash oder des Einzelbit des NAND-Flash führt.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung umfasst ein Verfahren zum Löschen von Zweibit-Flash-Speicherzellen das Entfernen der Ladung von den ersten und zweiten Bitstellen jeder Zelle innerhalb eines vorbestimmten Teils eines Flash-Speicherarray. Bei einem Ausführungsbeispiel reicht die Menge der Ladung, die von den ersten und zweiten Bitstellen entfernt wird, aus, um jedes Bit in einen ersten Zustand zu zwingen. Das Verfahren umfasst ferner das Anlegen einer Ladung an die erste Bitstelle jeder Zweibit-Zelle innerhalb des vorbestimmten Teils des Array. Anschließend wird eine Programmieroperation durchgeführt, wobei die zweite Bitstelle der einen oder mehreren Zweibit-Zellen innerhalb des vorbestimmten Teils des Array anhand der Dateneingabe durch einen Benutzer auf einen der beiden möglichen Zustände programmiert wird. Auch hier ist das Austauschen der ersten und zweiten Bitstellen als "Ignorier"-Bitstellen für jede Zeile in dem Arrayteil bei der vorliegenden Erfindung vorgesehen. Das Anlegen einer Ladung an die ersten Bitstellen bei dem hier beschriebenen Ausführungsbeispiel führt zu einer wesentlichen Erhöhung der Geschwindigkeit, mit der Benutzerdaten anschließend in die diesen Zellen zugeordnete zweite Bitstellen geschrieben werden können. Bei einem Ausführungsbeispiel wird eine beliebige Ladungsmenge den ersten Bitstellen zugeführt, während bei einem weiteren Ausführungsbeispiel die diesen zugeführte Ladung ausreicht, um die ersten unprogrammierten Stellen in einen zweiten (programmierten) Zustand zu ändern. Bei einem Ausführungsbeispiel erfolgt das Anlegen einer Ladung an eines der Bits in der Zelle beim eingebetteten Lösch-(oder Aufbereitungs-)Prozess, um ein schnelles Schreiben der Benutzerdaten in das andere Bit der Zellen zu einem späteren Zeitpunkt zu ermöglichen.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum Partitionieren eines Zweibit-Flash-Speicherarray vorgesehen. Das Verfahren umfasst das Identifizieren eines Arrayteils des Gesamtarray für auf diesen gerichtete Schnellschreib-Operationen. Bei dieser Identifizierung sind Schnellschreib-Operationen auf den identifizierten Arrayteil gerichtet, wobei sich die Schnellschreib-Operationen von den an Teilen des Array, die nicht derart bezeichnet sind (die mit Standardgeschwindigkeit programmiert werden) durchgeführten Operationen unterscheiden. Bei einem Ausführungsbeispiel unterscheiden sich die Schnellschreib-Operationen von den Standardschreib-Operationen bei einem Block-Lösch-(oder -Aufbereitungs-)Vorgang, wobei sowohl die ersten als auch die zweiten Bitstellen in dem identifizierten Arrayteil durch ausreichendes Entfernen von Ladung von diesen gelöscht werden. Ferner wird dann die Ladung der ersten Bitstelle für jede Zelle innerhalb des identifizierten Arrayteils zugeführt, wodurch anschließende Schnellprogrammier-Operationen an den zweiten Bitstellen an einer oder mehreren darin enthaltenen Zellen bewirkt werden. Die Schnellschreib-Blöcke müssen nicht unbedingt zusammenhängend sein: ein beliebiger Block des Flash kann dynamisch als Normalgeschwindigkeits- oder Hochgeschwindigkeitsblock eingestellt werden.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung kann die Identifizierung spezieller Arrayteile für Schnellschreib-Operationen benutzergesteuert sein und somit eine flexible Partitionierung der Arrayteile ermöglichen. Bei einem Ausführungsbeispiel ist ein Befehlsregister mit benutzergesteuerten Werten geladen, die anzeigen, ob spezielle Arrayteile als Schnell-Array- oder Normal-Arrayteile bezeichnet sind. Das Verfahren umfasst ferner das Zugreifen auf das Befehlsregister oder das Senden eines Abfragebefehls an den entsprechenden Arrayteilen zugeordnete Stellen, um aus den dort befindlichen Daten zu ermitteln, ob dieser Arrayteil ein Schnellschreib-Arrayteil ist, und das Ausführen einer Schnellschreib-Sektorlösch-, Seitenschreib- oder Seitenleseoperation, wenn dies ermittelt worden ist.
  • Die Erfindung betrifft ferner das Setzen eines "Schnellschreib-Modus", dem eine beliebige mit dem Schnellschreib-Modus in Beziehung stehende Operation folgt, und das Rücksetzen auf einen "Normalmodus", dem eine beliebige mit dem Normalmodus in Beziehung stehende Operation folgt. Bei dem Verfahren kann ferner der aktuelle Vorrichtungsmodus (Schnellschreib oder Normal) durch Senden eines Modusabfragebefehls und Lesen des Status aus dem Statusregister abgefragt werden.
  • Die vorliegende Erfindung betrifft ferner einen Zweibit-Speicher mit einem Kernzellenarray aus Zweibit-Flash-Speicherzellen, die in Form von mehreren Arrayteilen (z.B. Sektoren) konfiguriert sind. Der Speicher weist ferner eine Steuerschaltung zum Partitionieren der mehreren Arrayteile in einen Schnellschreib-Arrayteil und/oder einen Normalschreib-Arrayteil auf (wobei die beiden Teile nicht notwendigerweise zusammenhängend sind). Ferner weist bei einem Ausführungsbeispiel die Steuerschaltung eine Schnellschreib-Steuerlogik zum Durchführen einer Schnellschreib-Block-Lösch-Operation an in dem Array partitionierten bezeichneten Schnellschreib-Arrayteilen auf. Die Schnellschreib-Steuerlogik ist zum Beispiel zum Block-Löschen sowohl der ersten als auch der zweiten Bitstellen in jeder Zweibit-Zelle in dem Schnell-Arrayteil durch Entfernen von Ladung von diesen vorgesehen. Die Steuerlogik ist ferner zum Liefern einer Ladung zu der ersten Bitstelle jeder Zelle in dem Schnell-Arrayteil vorge sehen, um dadurch sich an die zweiten Bitstellen einer beliebigen Zelle in dem Schnell-Arrayteil anschließende Schnellschreib-Operationen zu vereinfachen.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weist ein Zweibit-Flash-Speicher ein Kernzellenarray aus Zweibit-Flash-Speicherzellen auf, die in Form mehrerer Arrayteile, wie z.B. Speichersektoren, konfiguriert sind. Der Speicher weist ferner eine Steuerschaltung zum selektiven Block-Löschen eines der Arrayteile, der für Schnellschreib-Operationen vorgesehen ist, in zwei Phasen auf, wobei eine erste Phase das Block-Löschen sowohl der ersten als auch der zweiten Bitstellen jeder darin enthaltenen Zelle in einen ersten Zustand umfasst. Die Steuerschaltung ist ferner in einer zweiten Phase zum Liefern von Ladung zu einer ersten Bitstelle jeder blockgelöschten Zelle vorgesehen. Bei einem Ausführungsbeispiel reicht die zu dieser gelieferte Ladung aus, damit die erste Bitstelle als zweiter Zustand lesbar gemacht wird. Anschließend kann der Schnellschreib-Arrayteil Benutzerdaten aufweisen, die mit einer wesentlich schnelleren Rate als bei herkömmlichen Speicherarchitekturen in die zweiten Bitstellen einer oder mehrerer darin enthaltener Zellen programmiert werden.
  • Die folgende Beschreibung und die beiliegenden Zeichnungen geben eine detailliertere Darstellung bestimmter der Erläuterung dienender Aspekte und Ausführungsformen der Erfindung. Diese zeigen nur einige wenige der zahlreichen Arten, in der die Prinzipien der Erfindung angewendet werden können.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt einen schematischen Teil-Querschnitt mit Darstellung eines Ausführungsbeispiels einer Zweibit-Flash-Speicherzelle zum Speichern zweier physischer Datenbits;
  • 2 zeigt ein Blockschaltbild einer beispielhaften Flash-Speichervorrichtung, die in der Lage ist, die erfindungsgemäßen Schnellschreib-Verfahren und -Vorrichtungen zu verwenden;
  • 3 zeigt eine schematische Darstellung einer Zweibit-Flash-Speicherarchitektur des Virtuell-Masse-Typs, bei der die erfindungsgemäßen Schnellschreib-Verfahren und -Vorrichtungen verwendet werden können;
  • 4 zeigt eine perspektivische Teilansicht mit Darstellung eines beispielhaften Layout einiger Zweibit-Flash-Speicherzellen in einer Virtuell-Masse-Architektur, die in Zusammenhang mit der vorliegenden Erfindung verwendet werden können;
  • 5 zeigt einen Teil-Querschnitt entlang der gestrichelten Linie 5-5 aus 4 mit Darstellung von Zweibit-Flash-Speicherzellen, bei denen beide Bitstellen auf einen Zustand programmiert sind, der beispielsweise den logischen Zustand "0" repräsentiert;
  • 6 zeigt ein Ablaufdiagramm mit Darstellung eines Verfahrens zum Durchführen einer Schnellschreib-Block-Löschung, der ein Hochgeschwindigkeits-Schreiben gemäß einem Aspekt der vorliegenden Erfindung folgt, wobei die Aktionen 204 und 206 bei einer Ausführungsform den Schnellschreib-Block-Löschprozess beschreiben;
  • 7 zeigt einen schematischen Teil-Querschnitt mit Darstellung mehrerer Zweibit-Flash-Speicherzellen innerhalb eines Schnellschreib-Arrayteils vor einer Schnellprogrammier-Operation gemäß der vorliegenden Erfindung mit einer Zufallsverteilung von darin enthaltenen Daten auf der Basis von vorhergehender Operationen;
  • 8 zeigt einen schematischen Teil-Querschnitt mit Darstellung der mehreren Zweibit-Flash-Speicherzellen aus 7 nach einem erfindungsgemäßen Block-Lösch-Schritt;
  • 9 zeigt einen schematischen Teil-Querschnitt mit Darstellung der mehreren Zweibit-Flash-Speicherzellen aus 7 nach einer Block-Pro grammierung einer ersten Bitstelle der Zellen in dem Schnellschreib-Arrayteil gemäß der vorliegenden Erfindung, wobei ein Status einer Schnellschreib-Zelle am Ende des Schnellschreib-Block-Löschprozesses dargestellt ist;
  • 10 zeigt einen schematischen Teil-Querschnitt mit Darstellung der Zweibit-Flash-Speicherzellen aus 7 nach einer Programmierung einer zweiten Bitstelle einer oder mehrerer Zellen in dem Schnellschreib-Arrayteil gemäß der vorliegenden Erfindung, wobei sich jedes Bit auf der Basis der Benutzerdaten in einem der beiden Zustände befinden kann;
  • 11 zeigt ein Ablaufdiagramm mit Darstellung eines Verfahrens zum Partitionieren eines Zweibit-Flash-Speichers in Schnellschreib-Arrayteile und Normal-Arrayteile gemäß der vorliegenden Erfindung;
  • 12 zeigt eine schematische Darstellung eines Zweibit-Flash-Speicherarray und Befehlsregisters zum Partitionieren des Flash-Speicherarray in Schnellschreib-Arrayteile bzw. Normal-Arrayteile; und
  • 13 zeigt ein schematisches Blockschaltbild mit Darstellung einer Zweibit-Flash-Speichervorrichtung mit einer Steuerlogik zum Partitionieren und Betreiben der Vorrichtung gemäß einem erfindungsgemäßen Schnellschreib-Operationsvorgang.
  • ART(EN) ZUM DURCHFÜHREN DER ERFINDUNG
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung werden nun mit Bezug auf die Zeichnungen beschrieben, in denen gleiche Bezugszeichen zum Bezeichnen gleicher Elemente in sämtlichen Zeichnungen verwendet werden. Ein oder mehrere Aspekte der Erfindung werden im Folgenden anhand einer beispielhaften Zweibit-Flash-Speichervorrichtung dargestellt und beschrieben, bei der leitende dotierte Polysilizium-Wortleitungen über einer La dungseinfangschicht ausgebildet sind, um Flash-Speicherzellen in Kombination mit diffundierten Teilen (z.B. Source/Drains) in einem darunter liegenden Siliziumhalbleiterkörper zu bilden, wobei die Zellen in Reihen (z.B. Wortleitungen) und Spalten (z.B. Bitleitungen) in einem Virtuell-Masse-Array organisiert sind. Die Erfindung ist jedoch nicht auf die dargestellten Ausführungsformen begrenzt und kann alternativ in Zusammenhang mit einem beliebigen spezifischen Substratmaterialtyp (z.B. Silizium-Wafer, SOI-Wafer, epitaxische Schicht etc.), einem beliebigen Typ einer Zweibit-Flash-Speicherzellenstruktur und einer beliebigen Arraykonfiguration (z.B. NOR, virtuelle Masse etc.) verwendet werden.
  • Eine beispielhafte Zweibit-Flash-Speicherzelle, die in Zusammenhang mit der vorliegenden Erfindung verwendet werden kann, ist in 1 gezeigt und mit dem Bezugszeichen 10 bezeichnet. Die Zweibit-Zelle 10 befindet sich in einem Halbleiterkörper 12, wie z.B. einem dotierten Substrat oder einer dotierten Well-Region innerhalb eines Substrats. Source-/Drain-Regionen 14 und 16 sind durch eine Kanalregion 18 voneinander getrennt, über welcher eine Gate-Struktur 20 ausgebildet ist. Die Gate-Struktur 20 weist bei dem hier beschriebenen Ausführungsbeispiel ein dotiertes Polysilizium-Gate 22 über einem Ladungseinfang-Dielektrikum 24, wie z.B. einer ONO-(Oxidnitridoxid-)Schicht, auf. Bei geeigneter Vorspannung der Source-/Drain-Regionen 14, 16 und des Gate 22 (wie nachstehend genauer beschrieben wird) kann eine Ladung zwei unterschiedlichen, in 1 mit A und B bezeichneten Bitstellen zugeführt oder von diesen entfernt werden.
  • 2 zeigt eine schematische Darstellung einer Draufsicht einer beispielhaften Zweibit-Flash-Speichervorrichtung 100 gemäß einem Aspekt der vorliegenden Erfindung. Der Speicher 100 weist generell einen Halbleiterkörper 102 mit einer oder mehreren Kernregionen 104 mit hoher Dichte auf, in denen sich die Zweibit-Flash-Speicherzellen befinden. Die Kernregionen mit hoher Dichte weisen typischerweise ein oder mehrere M-mal-N-Arrays 104 aus einzelnen adressierbaren, im Wesentlichen identischen Zweibit-Flash-Speicherzellen auf. Innerhalb solcher Arrays 104 kann der Speicher weiter in kleinere Speicher zellen-Arrayteile, wie z.B. mehrere Sektoren, unterteilt sein, es ist jedoch jede beliebige Konfiguration dieser Zellen durch die vorliegenden Erfindung abgedeckt. An anderer Stelle an der Vorrichtung befinden sich Peripherieteile mit niedrigerer Dichte, die typischerweise eine Eingangs-/Ausgangs-(I/O-)Schaltung 106 und eine Programmierschaltung zum selektiven Adressieren der einzelnen Speicherzellen aufweisen. Die Programmierschaltung ist teilweise durch einen oder mehrere X-Decoder 108 und einen oder mehrere Y-Decoder 110 repräsentiert und weist diese auf, welche mit der I/O-Schaltung 106 und einer Steuerlogikschaltung 112 zusammenwirken, um eine Source, ein Gate und/oder ein Drain von ausgewählten adressierten Speicherzellen selektiv mit vorbestimmten Spannungen oder Impedanzen zu verbinden, um vorgesehene Operationen an den jeweiligen Speicherzellen durchzuführen (z.B. Programmieren, Lesen und Löschen und Ableiten erforderlicher Spannungen zum Durchführen dieser Operationen).
  • 3 zeigt ein Beispiel eines Teils eines der Kernarrays 104 in der Vorrichtung 100, wobei Teile mehrerer Reihen und Spalten entlang Wortleitungen WL0 bis WLN bzw. Bitleitungen BL0 bis BLM dargestellt sind, wobei das Array 104 bei diesem Ausführungsbeispiel in einer Virtuell-Masse-Konfiguration dargestellt ist. Das Array 104 weist Reihen von Zweibit-Flash-Zellen 120, bei denen Steuer-Gate-Anschlüsse mit einer diesen zugeordneten Wortleitung WL gekoppelt sind, und Spalten von Zellen 120 auf, bei denen ein Drain einer Zelle zusammen mit der Source einer benachbarten Zelle mit einer diesen zugeordneten Bitleitung BL gekoppelt ist. Bei dieser Konfiguration sind die Drain-Anschlüsse der Zellen 120 innerhalb einer vorbestimmten Spalte mit derselben Bitleitung BL verbunden.
  • Einzelne Flash-Zellen 120 können über eine entsprechende Wortleitung WL und ein Paar Bitleitungen BL, die die Target-Zelle begrenzen, ausgewählt werden, wobei die Wortleitungs- und Bitleitungssignale von der Steuerlogik 112 und der Decoderschaltung 108, 110 (2) erzeugt werden. Somit wird bei Anlegen einer positiven Spannung an die mit dem Drain einer Zelle 120 gekoppelte Bitleitung BL ein leitender Pfad zwischen dem Drain und der Source dieser Zelle hergestellt, der durch Liefern der geeigneten Bitleitungssignale von der Steuerlogik 112 und den Decodern 108, 110 mit Masse verbunden ist. Auf diese Weise wird eine virtuelle Masse durch selektives Verbinden einer Masse mit der dem Source-Anschluss nur dieser ausgewählten zu lesenden oder zu programmierenden Flash-Zellen zugeordneten Bitleitung gebildet.
  • 4 zeigt eine perspektivische Ansicht eines Teils eines Zweibit-Flash-Speicherarray mit Darstellung mehrerer Zweibit-Zellen 140 in einem beispielhaften vereinfachten Layout für eine Virtuell-Masse-Architektur, wie z.B. der in 3 gezeigten. Die Zellen 140 weisen diffundierte oder vergrabene Bitleitungen 144 und 146 auf, die als Source-/Drain-Regionen innerhalb des Halbleiterkörpers 102 fungieren. Über dem Körper 102 ist die Ladungseinfang-Dielektrikumsschicht, zum Beispiel ein dreilagiges ONO 148 mit einem ersten Oxid 150, einem zweiten Oxid 152 und einem sandwichartig dazwischen angeordneten Nitrid 154, vorgesehen. Über dem Ladungseinfang-Dielektrikum 148 sind gemusterte dotierte Polysilizium-Wortleitungen 160, 162 vorgesehen, die im Wesentlichen orthogonal zu den vergrabenen Bitleitungen 144, 146 verlaufen. 5 zeigt einen Teil-Querschnitt der Zweibit-Flash-Speichervorrichtung aus 4 entlang der gestrichelten Linie 5-5. Bei dem in 5 gezeigten Ausführungsbeispiel verläuft eine gemusterte Polysilizium-Wortleitung (Transistor-Gate(s)) seitlich über mehrere vergrabene Bitleitungen (Source/Drain) 144, 146, welche in die Seite hinein verlaufen. Auf der Basis der Vorspannung der Source-/Drain-Regionen und des Steuer-Gate kann jede Zelle entlang einer Wortleitung gelöscht, programmiert bzw. gelesen werden. Gemäß 5 weisen die drei teilweise dargestellten Zweibit-Zellen jeweils sowohl erste als auch zweite Bitstellen A und B auf, die zumindest teilweise durch Anlegen einer Ladung an die Bitstellen programmiert werden. Zum Beispiel bewirkt ein Vorspannen der Bitleitung 144 auf ein positives Drain-Potential, der Bitleitung 146 auf ein Masse-Source-Potential und des Steuer-Gate auf ein ausreichendes Programmierpotential, dass Elektronen von der Source 146 in Richtung des Drain 144 laufen. Eine bestimmte Anzahl dieser Elektronen weist eine ausreichende Energie auf, um die der Oxidisolatorschicht 150 zugeordnete Energiesperre zu überwinden, und wird in die Ladungseinfangschicht injiziert (z.B. hauptsächlich die Nitridschicht 1S4), dabei handelt es sich um ein als Hot Carrier Injection bekanntes Phänomen. Auf der Basis der Größe und/oder Dauer der Drain- und Steuer-Gate-Vorspannung werden variierende Mengen an Ladung in eine Bitstelle injiziert (z.B. Bitstelle B in 5). Wenn eine ausreichende Ladung in die Bitstelle B injiziert wird, erhöht sich die Schwellenspannung der Flash-Zelle für diese Bitstelle derart, dass sich bei Lesen der Zelle die Bitstelle von einem ersten gelöschten oder unprogrammierten Zustand (z.B. "1") zu einem zweiten programmierten Zustand (z.B. "0") verändert hat.
  • Auf im Wesentlichen gleiche Weise kann durch Umschalten der Source-/Drain-Regionen (z.B. Vorspannen der Region 144 als Source und der Region 146 als Drain) die Ladung über eine Hot Carrier Injection in die Bitstelle A injiziert werden, wobei eine der Bitstelle A zugeführte Ladungsmenge schließlich den dieser Bitstelle zugeordneten Zustand festlegt.
  • Die Zeit, die zum Programmieren einer Flash-Speicherzelle benötigt wird, wird typischerweise von der Zeit, die zum Durchführen der Programmierung des Bit benötigt wird, sowie der Zeit, die zum Durchführen anschließender Programmierungs-Verifizieroperationen erforderlich ist, gemessen. Zum Beispiel wird nach dem Programmieren eines Bit auf einen gewünschten Zustand eine Programmierungs-Verifizieroperation durchgeführt, um zu verifizieren, ob sich das Datenbit in dem gewünschten Zustand befindet. Wenn dies nicht der Fall ist, wird ein Programmierimpuls erneut an dieses angelegt, und diesem Vorgang folgt ein weiterer Programmierungs-Verifizierschritt. Bei herkömmlichen Speichervorrichtungen ist die Schreib- oder Programmiergeschwindigkeit, wie sie von der zum Durchführen der Anfangs-Programmieroperation und der durchschnittlichen Anzahl von anschließenden Programmierungs-Verifizieriterationen benötigten Zeit definiert ist, nicht schnell genug, um die Verwendung eines Flash-Speichers bei Anwendungen, bei den schnelle Schreibgeschwindigkeiten erforderlich sind, zu ermöglichen.
  • Die Erfinder der vorliegende Erfindung erkannten, dass die Geschwindigkeit, mit der ein erstes Bit an einer ersten Bitstelle programmiert wird, und die Geschwindigkeit, mit der sich ein entsprechendes zweites Bit an demselben Transistor (z.B. an einer zweiten Bitstelle) unterscheidet, auf dem programmierten Zustand des ersten Bit, der die elektrischen Charakteristiken der zweiten Bitstelle verändert, basierte. In einigen Fällen wird das Verändern der Vorrichtungsleistung eines Bit durch sein entsprechendes zweites Bit als komplementäre Bitstörung (CBD) bezeichnet und wird generell als zu vermeidendes oder zu eliminierendes Problem betrachtet. Die Erfinder der vorliegenden Erfindung erkannten, dass mindestens ein Aspekt des CBD-Phänomens ausgenutzt werden kann, um Zweibit-Flash-Arrayteile zu erzeugen, die wesentlich schnellere Schreib- oder Programmiergeschwindigkeiten aufweisen als herkömmliche Vorrichtungen, zum Beispiel in der Größenordnung von 4- oder mehr Mal schneller sind (z.B. 20–25 % der herkömmlichen Schreibzeit eines Zweibit-Flash oder Einbit-NAND). Bei der vorliegenden Erfindung wird die oben genannte Leistung durch Block-Löschen einer Gruppe von Zellen, das heißt Entfernen der Ladung von beiden Bitstellen der Zellen realisiert, um dort einen ersten Zustand zu erreichen. Anschließend wird einer ersten Bitstelle jeder Zelle in der Gruppe eine Ladung zugeführt, um die elektrischen Charakteristiken jeder Zelle in der Gruppe zu verändern. Zum Beispiel kann eine ausreichende Ladung geliefert werden, um die erste Bitstelle auf einen zweiten Zustand zu programmieren. Anschließend können Programmieroperationen an den zweiten Bitstellen der Zellen innerhalb der Gruppe durchgeführt werden, wobei diese Programmieroperationen wesentlich schneller erfolgen als bei herkömmlichen Zellen, da an dem komplementären Bit eine Ladung angelegt ist. Ein Leistungs-Kompromiss besteht darin, dass die Gruppe von Zellen aussagefähige Daten nur an den zweiten Bitstellen halten können, wodurch sich die Dichte innerhalb dieses Arrayteils um die Hälfte reduziert, es hat sich jedoch herausgestellt, dass die Programmiergeschwindigkeit an diesen Zellen um das 4-Fache oder mehr gegenüber herkömmlichen Vorrichtungen steigt (z.B. Erreichen einer Schreibgeschwindigkeit von mehr als 30 MBytes/Sek.).
  • Obwohl bei der vorliegenden Erfindung der Ausdruck erste und zweite Bitstellen beispielhaft als Bitstellen A bzw. B bezeichnet sind, sei darauf hingewiesen, dass die ersten und zweiten Bitstellen derart austauschbar sind, dass die erste Bitstelle entweder das A- oder das B-Bit sein kann, und diese Variationen werden als in den Schutzumfang der Erfindung fallend betrachtet.
  • 6 zeigt ein Ablaufdiagramm mit Darstellung eines Verfahrens 200 zum Konfigurieren einer Zweibit-Flash-Speicherzelle zum Vereinfachen einer Hochgeschwindigkeits-Schreibleistung und zum anschließenden Ausführen dieser Schnellprogrammierung gemäß der vorliegenden Erfindung. Das beispielhafte Verfahren 200 wird nachstehend anhand von 710 dargestellt und beschrieben, in denen die dargestellten Vorrichtungen und Strukturen bei unterschiedlichen Stufen des Verfahrens nicht unbedingt maßstabsgerecht gezeigt sind. Obwohl das beispielhafte Verfahren 200 nachstehend in Form einer Abfolge von Handlungen oder Ereignissen dargestellt und beschrieben wird, sei angemerkt, dass die vorliegende Erfindung nicht durch die dargestellte Reihenfolge dieser Handlungen und Ereignisse eingeschränkt ist. Zum Beispiel können gemäß der Erfindung einige Handlungen in anderen Reihenfolgen und/oder gleichzeitig mit anderen Handlungen oder Ereignissen als den hier dargestellten und/oder beschriebenen erfolgen. Ferner sind möglicherweise nicht sämtliche dargestellten Schritte zum Implementieren einer erfindungsgemäßen Methodik erforderlich. Ferner können die erfindungsgemäßen Verfahren in Zusammenhang mit der Fertigung und/oder Bearbeitung von hier dargestellten und beschriebenen Flash-Speichervorrichtungen sowie in Zusammenhang mit anderen, nicht dargestellten Strukturen und Vorrichtungen implementiert werden.
  • Beginnend bei 202 wird eine Schnellprogrammier-Konfigurationsoperation initiiert, wobei bei 204 eine Block-Lösch-Operation an einem ausgewählten Teil des Zweibit-Kernzellenspeichers durchgeführt wird. Bei einem Ausführungsbeispiel ist der Kernspeicher in mehrere Speichersektoren partitioniert, und diese Sektoren können erfindungsgemäß unterschiedliche Größen aufweisen. Bei einem Ausführungsbeispiel dient die Block-Lösch-Operation zum Entfernen von Ladung sowohl von den ersten als auch den zweien Bitstellen jeder Zweibit-Flash-Speicherzelle innerhalb des ausgewählten Speichersektors. Zum Beispiel wird durch angemessenes Vorspannen der Source-/Drain-Regionen über die diesen zugeordneten Bitleitungen und Anlegen eines negativen Potentials an die Gate-Elektrode die Ladung, die an einer der Bitstellen gespeichert sein kann, aus der Ladungseinfangschicht extrahiert und wird die dieser zugeordnete Spannung verringert. Auf im Wesentlichen gleiche Weise wird durch Austauschen der Source-/Drain-Regionen und ebenfalls Anlegen der Vorspannungen eine an den zweiten Bitstellen der Zellen in dem Sektor gespeicherte Ladung von den Bitstellen entfernt, wodurch die diesen zugeordnete Schwellenspannung verringert wird. Vorzugsweise reicht die Block-Lösch-Operation aus, um eine adäquate Ladung sowohl von den ersten als auch den zweiten Bitstellen jeder Zelle in dem ausgewählten Sektor zu extrahieren, um einen ersten Zustand (z.B. einen unprogrammierten Zustand, "1") zu erzeugen.
  • Anfangs kann ein Arrayteil so aussehen, wie in 7 gezeigt, wobei Daten in den Zweibit-Zellen generell willkürlich beispielsweise auf einer vorhergehenden Programmierung basieren. Das heißt, dass bei einigen Zellen beide Bitstellen programmiert sein können und bei einigen Zellen beide Bitstellen gelöscht sein können, während bei anderen Zellen entweder die erste oder die zweite Bitstelle programmiert ist. Nach der Block-Lösch-Operation bei 204 sehen die Zellen so aus, wie in 8 gezeigt, wobei keine Ladung an den ersten und zweiten Bitstellen A und B für jede Zelle innerhalb des ausgewählten Sektors zu sehen ist. Obwohl 8 die Stellen völlig ohne Ladung zeigt, sei darauf hingewiesen, dass eine gewisse Restladung immer noch an einer oder beiden ersten und zweiten Bitstellen vorhanden sein kann und dass dies noch in den Schutzumfang der vorliegenden Erfindung fällt. Vorzugsweise wird eine ausreichende Ladung von beiden Bitstellen jeder Zelle extrahiert, damit diese als Zelle im unprogrammierten Zustand gelesen wird.
  • Das Verfahren 200 wird dann bei 206 fortgesetzt, wobei bei einem zweiten Teil der Schnellprogrammier-Konfigurierung bei 202 eine Block-Programmier-Operation an einer ersten Bitstelle jeder Zweibit-Zelle innerhalb des ausge wählten Sektors durchgeführt wird. Bei einem Aspekt der vorliegenden Erfindung wird die erste Bitstelle (z.B. die Bitstelle A) jeder Zelle auf einen zweiten programmierten Zustand (z.B. "0") programmiert. Bei einem alternativen Aspekt der vorliegenden Erfindung kann die Block-Programmierung der ersten Bitstelle bei 206 einfach das Zuführen einer Ladung zu jeder ersten Bitstelle umfassen, wobei die Ladung nicht ausreicht, um den Zustand der ersten Bitstellen zu verändern. Es hat sich herausgestellt, dass selbst eine relativ kleine Ladungsmenge an den ersten Bitstellen ausreicht, um eine wesentliche Verbesserung der Geschwindigkeit der anschließenden Programmierung an den entsprechenden zweiten Bitstellen zu bewirken.
  • Das Ergebnis der Block-Programmierung der ersten Bitstellen der Zellen bei 206 ist in 9 bzw. 10 gezeigt. Zum Beispiel werden erste Bitstellen 220 (z.B. Bitstelle A für jede Zelle in dem ausgewählten Sektor) mit einer beträchtlichen Ladungsmenge programmiert, die als relativ großes Gebiet mit dunkler Schraffur gezeigt ist. Alternativ sind in 10 die ersten Bitstellen 220 umgeschaltet, damit sie den Bitstellen B entsprechen, um zu zeigen, dass die Erfindung auf beide Fälle anwendbar ist, da die Zweibit-Zellen symmetrisch arbeiten. Ferner zeigt 10 den Fall, in dem eine kleinere Ladungsmenge den ersten Bitstellen zugeführt wird, und diese ist etwas kleiner und als heller schraffierte Ladungsverteilungen dargestellt. Es sei angemerkt, dass diese Variationen als in den Schutzumfang der vorliegenden Erfindung fallend betrachtet werden. Es sei angemerkt, dass die Ladungsmenge größer ist als bei einer gelöschten Bitstelle. In dieser Hinsicht reicht die Ladung aus, um nicht dem ersten (oder Lösch-) Zustand zu entsprechen, selbst wenn die Ladung möglicherweise nicht groß genug ist, um eine solche Bitstelle zu einer in den zweiten Zustand programmierten Bitstelle zu machen, der einem Pegel entsprechen würde, an dem Daten im herkömmlichen Sinne als Daten in einem anderen Zustand gelesen würden.
  • Nach der Schnellprogrammier-Konfigurierung bei 202 kann die eigentliche Schnellprogrammier-Operation beginnend bei 207 durchgeführt werden, wobei die Programmierung der zweiten Bitstelle in einer oder mehreren Zellen inner halb des Sektors bei 208 durchgeführt wird. Diese Schnellprogrammier-Operation kann je nach Wunsch eine unmittelbar auf den Konfiguriervorgang 202 folgende Programmieroperation umfassen oder etwas später erfolgen. Ferner kann die Schnellprogrammierung bei 208 je nach Art und Menge der zu sichernden Daten bei einer oder mehreren Zellen innerhalb des Sektors erfolgen. Die in 6 dargestellte Methodik 200 endet dann bei 210.
  • Es sei ferner angemerkt, dass das in 6 dargestellte Verfahren 200 auf einen oder mehrere Sektoren oder andere Arrayteile innerhalb des gesamten Kernspeichers begrenzt sein kann. Das heißt, dass zwar das Verfahren 200 eine wesentliche Verbesserung der Schreibgeschwindigkeit bewirkt, es jedoch auch die Speicherdichte in diesen Sektoren reduziert, da jede erste Bitstelle in den Zellen innerhalb des Schnellschreib-Sektors nicht zum Halten von Daten zur Verfügung steht; folglich kann es wünschenswert sein, dass nur ein oder mehrere Sektoren innerhalb des gesamten Kernspeichers für Schnellschreib-Operationen zweckbestimmt sind, während die verbleibenden Sektoren in Zusammenhang mit herkömmlichen Programmiertechniken arbeiten können. Ferner ist die Anzahl der derart partitionierten Sektoren flexibel steuerbar, um sich mit der Zeit verändernden Bedürfnissen des Speichers Rechnung zu tragen oder eine Flexibilität in einen einzelnen Chip zu bieten, um für unterschiedliche Anwendungen geeignet zu sein, bei denen unterschiedliche Größen eines Schnellschreib-Speichers und eines Speichers mit hoher Dichte (Normalschreib-Geschwindigkeit) erforderlich sind.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren 300 zum Partitionieren eines Zweibit-Flash-Speichers in Schnellschreib-Teile und Normalschreib-Teile vorgesehen, wie in 11 dargestellt. Das Verfahren 300 beginnt bei 302 und geht bei 304 zu einer Frage weiter, ob sämtliche Sektoren innerhalb des Kernarray als Schnellschreib-Teile oder -Sektoren zu behandeln sind. Wenn die Antwort auf diese Frage positiv ist (JA bei 304), wird bei 306 ein Befehlscode für sämtliche Sektoren innerhalb des Kernarray auf Schnellschreibung verändert. Bei dem vorstehenden Beispiel ist angenommen, dass eine Vorgabe-Bedingung besteht, wobei jeder Sektor anfangs auf einen Normalschreib-Operationsmodus gesetzt ist. Alternativen zu dieser Vorgabe-Bedingung sind jedoch von der vorliegenden Erfindung abdeckt. Wenn bei 306 der Befehlscode auf den Schnellschreib-Modus für jeden Sektor gesetzt ist, kann das Verfahren 300 bei 308 mit einem Ende der Partitionierung beendet werden, und bei anschließenden Operationen greift die Steuerschaltung zwecks Durchführung von Schnellschreib-Operationen auf Stellen zu, die den (die) bei 306 gesetzten Befehlscodes) enthalten.
  • Wenn die Antwort auf die bei 304 gestellte Frage negativ ist (NEIN bei 304), geht das Verfahren zu 310 weiter, wobei eine weitere Frage gestellt wird, ob sämtliche Sektoren innerhalb des Kernarray als Normalschreib-Sektoren behandelt werden sollen. Wenn die Antwort auf diese Frage positiv ist (JA bei 310), werden bei 312 die Vorgabe-Befehlscodes in ihrem aktuellen Zustand gehalten, beispielsweise in einer Speicherstelle. Auch hier ist bei Aktion 312 angenommen, dass der (die) Vorgabe-Befehlscodes) auf Normaloperationen gesetzt ist (sind). Wenn jedoch eine andere Vorgabe-Bedingung besteht, können Befehlscodes verändert werden, zum Beispiel wie oben bei 306 beschrieben. Wenn die Aktion 312 beendet ist, geht das Verfahren 300 zu 308 über, wobei das Partitionieren abgeschlossen ist und die Steuerlogik dann die Befehlscodes zum Konfigurieren des Kernspeichers zum nachfolgenden Schreiben (Programmieren) in diesen verwenden kann.
  • Wenn die Antwort auf die bei 310 gestellte Frage negativ ist (NEIN bei 310), wird eine Sektor-Zähler-Variable "N" auf einen Anfangswert gesetzt, der bei 314 den ersten Sektor innerhalb des Kernarray repräsentiert (z.B. N = 0). Bei 316 wird dann eine Frage gestellt, ob der spezielle Sektor (z.B. anfangs der Sektor 0) als Schnellschreib-Sektor partitioniert werden soll. Wenn die Antwort auf diese Frage positiv ist (JA bei 316), wird der dem aktuellen Sektor N zugeordnete Befehlscode verändert, um anzuzeigen, dass der Sektor bei 318 als Schnellschreib-Sektor partitioniert worden ist. Die Sektor-Zähler-Variable N wird dann bei 320 inkrementiert, und darauf folgt bei 322 eine Frage, ob sämtliche Sektoren durch Vergleichen der Zähler-Variablen mit einem maximalen Schwellenwert bewertet worden sind. Wenn die Antwort auf die bei 322 ge stellte Frage negativ ist (NEIN bei 322), müssen weitere Sektoren innerhalb des Kernarray noch bewertet und partitioniert werden, und das Verfahren 300 geht zu der Frage 316 über, wobei der nächste Sektor bewertet wird, um zu ermitteln, ob er als Schneilschreib-Sektor oder Normal-Sektor zu konfigurieren ist. Wenn die Antwort auf die bei 316 gestellte Frage negativ ist (NEIN bei 316), wird der betroffene Sektor bei 324 als Normalschreib-Sektor beibehalten, und das Verfahren geht bei Aktion 320 bzw. 322 zu dem nächsten Sektor in dem Kernarray über.
  • Es sei darauf hingewiesen, dass der Sektor-Zähler bei einem weiteren Ausführungsbeispiel durch anfängliches Setzen bei 304 auf den letzten Sektor abwärts zählen kann und bei 320 dekrementiert werden kann, bis bei 322 die erste Anzeige erfolgt, oder es kann ein anderes Zählverfahren sämtliche Sektoren des Zweibit-Speichers abdecken. Eine weitere Option besteht in dem Definieren einer Gruppe (einer oder mehrerer) von Sektoren, die als Hochgeschwindigkeitsschreib-Sektoren zu setzen sind (z.B. am Anfang oder am Ende des Flash-Kernarray), und dem Zählen nur der Sektoren in dieser Gruppe.
  • Es sei ferner darauf hingewiesen, dass das Aufrechterhalten einer solchen Sektorentabelle optional ist und andere Verfahren implementiert werden können, um zu ermitteln, ob ein Sektor ein Schnellschreib-Sektor oder ein Normal-Sektor ist. Zum Beispiel kann der Benutzer den Status des Sektors bei seiner Anwendung verfolgen und ferner den Sektorstatus-Abfragebefehl zum Verifizieren des Modus der in einem beliebigen Sektor gespeicherten Daten verwenden.
  • 12 zeigt schematisch, wie bei einem Ausführungsbeispiel die in 11 dargestellte Methodik 300 ausgeführt werden kann. Gemäß 12 ist ein Kernzellenarray 350 in N Sektoren 352 partitioniert, die als Sektoren 0 – (N – 1) nummeriert sind. Wie oben beschrieben, kann gemäß der Erfindung zwar die Partitionierung in Sektoren erfolgen, es sei jedoch darauf hingewiesen, dass auch andere Arrayteilgrößen verwendet werden können und dass diese Array teile selbst in ihrer Größe variieren können und diese Variationen als in den Schutzumfang der Erfindung fallend betrachtet werden. Eine Speicherstelle, die sich in dem Zweibit-Flash-Speicher befindet oder diesem zugeordnet ist, wie z.B. ein Sektor-Befehlsregister 354, weist mehrere Datenstellen auf, die generell den Sektoren innerhalb des Kernarray 350 entsprechen. Bei Durchführung der Partitionierung unter Anwendung des in 11 dargestellten Verfahrens 300 oder gemäß einem anderen Partitionierungskonzept werden Daten, die dahingehend zugeordnet sind, ob der Sektor als Schnellschreib-Sektor oder als Normalschreib-Sektor verwendet wird, in der entsprechenden Datenstelle gesichert. Bei dem in 12 dargestellten Ausführungsbeispiel wird ein Eindatenbit verwendet, wobei eine "0" einem gewünschten Normalschreib-Modus entspricht, während eine "1" einem gewünschten Schnellschreib-Modus für einen vorbestimmten, dieser Datenstelle entsprechenden Sektor entspricht. Auf diese Daten kann zum Beispiel die Steuerschaltung dann zugreifen und diese bei der anschließenden Konfiguration und Ausführung verschiedener Programmier- und Lösch-Operationen verwenden.
  • Die vorliegende Erfindung betrifft ferner eine Zweibit-Flash-Speichervorrichtung mit einem Kernzellenarray und einer Steuerschaltung, die gemäß den hier beschriebenen Funktionsprinzipien arbeiten. Zum Beispiel ist bei einem Aspekt der Erfindung eine Steuerschaltung zum Partitionieren der mehreren Arrayteile (z.B. Sektoren) innerhalb des Kernarray in einen Schnellschreib-Arrayteil und/oder einen Normalschreib-Arrayteil vorgesehen. Bei einem weiteren Aspekt der Erfindung ist eine Steuerschaltung zum Vereinfachen von Schnellschreib-Operationen in ausgewählten Speicherteilen durch Block-Löschen dieser Arrayteile in zwei Phasen vorgesehen, wobei beide Bitstellen in einer ersten Phase gelöscht werden (z.B. Ladung von diesen entfernt wird) und die ersten Bitstellen in einer zweiten Phase programmiert werden (z.B. Ladung an diese angelegt wird). Anschließend werden Schreiboperationen an zweiten Bitstellen an einer oder mehreren Zellen innerhalb der ausgewählten Arrayteile durchgeführt, wobei diese Schreiboperationen aufgrund des beabsichtigten Vorhandenseins von Ladung an der Stelle des komplementären Bit (ersten Bit) in ungefähr 20–25 % der für herkömmliche Schreiboperationen benötigten Zeit erfolgen. Die kurze Schreibzeit ist gleich der Schnellschreib-Geschwindigkeit, die 4- oder mehr Mal schneller ist als die Normaschreib-Geschwindigkeit eines Zweibit-Flash oder eines Einbit-NAND-Flash.
  • Gemäß 13 ist eine Zweibit-Speichervorrichtung 400 mit einem Zweibit-Flash-Speicherarray 402 vorgesehen, das in Form mehrerer Arrayteile, wie z.B. Sektoren, konfiguriert ist. Eine Steuerschaltung 404 ist mit dem Speicherarray 402 gekoppelt und liefert über eine Unterstützungsschaltung, wie z.B. (nicht gezeigte) X- und Y-Decoder, Steuer- und Datensignale für verschiedene Operationen (z.B. Lösch-, Programmier- und Leseoperationen) an die Zweibit-Flash-Zellen innerhalb des Array. Die Vorrichtung 400 weist ferner ein Sektor-Befehlsregister oder einen anderen Typ von Datenstellen 406 auf, die Daten enthalten, welche generell den verschiedenen Arrayteilen innerhalb des Kernarray 402 entsprechen. Die Daten zeigen an, ob diese Arrayteile in einem Schnellschreib-Modus oder einem Normalschreib-Modus arbeiten, und die Steuerschaltung 404 greift zum Durchführen der ihr zugeordneten spezifischen Operationen auf diese Daten zu. Schließlich weist die Speichervorrichtung 400 ein Benutzer-Interface 408 auf, das zum Vereinfachen einer flexiblen Partitionierung des Kernarray in Schnellschreib-Modus- bzw. Normalschreib-Modus-Teile verwendet werden kann.
  • Die Steuerlogik 404 weist eine Schnellschreib-Steuerschaltung 410 bzw. eine Normalschreib-Steuerschaltung 412 auf, die zum Steuern verschiedener Operationen an dem Flash-Array 402 in Abhängigkeit davon vorgesehen sind, ob der betroffene Arrayteil oder Sektor als Schnellschreib-Arrayteil oder Normalschreib-Arrayteil ausgeführt ist. Anhand von Daten, die der Steuerschaltung 404 von dem Sektor-Befehlsregister 406 zugeführt worden sind, verwendet die Steuerschaltung eine der Schreib-Steuerschaltungen 410, 412 zum Durchführen der gewünschten Operation. Es sei angemerkt, dass die Schreib-Steuerschaltungen 410 und 412 je nach Wunsch separate Hardwareteile aufweisen können oder in einer einzigen Zustandsmaschine integriert sein können oder sogar über eine Firmware bereitgestellt sein können, und jede Art der Bereit stellung dieser Steuerfunktionalität wird als in den Schutzumfang der vorliegenden Erfindung fallend betrachtet.
  • Wenn ein Sektor als Schnellschreib-Sektor ausgeführt ist, bereitet die Steuerschaltung 404 bei einem Ausführungsbeispiel diesen Sektor auf das Schnellschreiben in diesen vor. Bei einem Ausführungsbeispiel verwendet die Schaltung 404 die Schnellschreib-Steuerschaltung 410 zum Durchführen einer Operation, die der oben anhand der Schritte 204206 aus 6 beschriebenen in Wesentlichen gleich ist. Das heißt, dass der ausgewählte Sektor anfangs einem Block-Löschen unterzogen wird, wobei von beiden Bitstellen jeder Zweibit-Zelle innerhalb des Sektors eine ausreichende Ladung entfernt wird, um einen ersten, unprogrammierten Zustand (z.B. eine "1") zu erreichen. Die Schnellschreib-Steuerschaltung 410 programmiert dann das "Ignorier-" oder komplementäre Bit jeder Zelle innerhalb des ausgewählten Sektors. Wie oben beschrieben, wird bei einem Ausführungsbeispiel die erste Bitstelle (z.B. die Bitstelle A) jeder Zelle innerhalb des Schnellschreib-Sektors programmiert. Bei einem Ausführungsbeispiel reicht die Programmierung aus, um den Zustand des komplementären Bit (Bitstelle A) auf einen zweiten Zustand (z.B. eine "0") zu ändern. Alternativ kann eine kleinere Ladungsmenge dem komplementären Bit (z.B. der ersten Bitstelle) zugeführt werden, so dass das Bit seinen Zustand möglicherweise nicht tatsächlich ändert. Es hat sich herausgestellt, dass sogar kleine Ladungsmengen in dem komplementären Bit in vorteilhafter Weise die Programmiergeschwindigkeit an der zweiten Bitstelle innerhalb des ausgewählten Sektors erhöhen.
  • Bei der oben beschriebenen Operation der Schnellschreib-Steuerschaltung sind der Schnellschreib-Sektor oder die Schnellschreib-Sektoren zum anschließenden Schnellprogrammieren vorgesehen. In diesen Fällen ist die Schnellschreib-Steuerschaltung 410 ferner zum Liefern von Steuersignalen zwecks Bewirkens eines Datentransfer zu den zweiten Bitstellen der Zellen innerhalb des ausgewählten Sektors oder der ausgewählten Sektoren mit einer sehr hohen Datenrate vorgesehen. Bei einem Ausführungsbeispiel können die zu den Zellen gelieferten Steuersignale, der Drain-Vorspannimpuls und der Gate-Vor spannimpuls Impulse von kürzerer Dauer sein, um dadurch die Datentransferrate zu erhöhen. Ferner hat sich herausgestellt, dass die Programmierungs-Verifiziersteuerung zwar die gleiche sein kann, die auch in einem Normalschreib-Array verwendet wird, diese jedoch seltener zum Durchführen eines Datentransfer verwendet wird. Das heißt, dass statt der durchschnittlicht 4–5-maligen Wiederholung der Programmierungs-Verifizier- und Neuprogrammierungsschritte aufgrund der Programmierung des komplementären Bit gemäß der vorliegenden Erfindung die Programmierungs-Verifizier- und Neuprogrammierungsschritte durchschnittlich ungefähr einmal durchgeführt werden. Folglich ist die zum Beenden der Programmierung benötigte Gesamtzeit (selbst wenn die Programmierimpulsdauer an den Drains und Gates nicht reduziert ist) wesentlich reduziert.
  • Es sei darauf hingewiesen, dass, da eine Programmierung in den Schnellschreib-Sektoren nur auf die zweiten Bitstellen gerichtet ist, sich die Programmier-Zustandsmaschine von derjenigen unterscheidet, die in der Normalschreib-Array-Steuerschaltung 412 verwendet wird. Da aussagefähige Daten nur an der zweiten Bitstelle vorhanden sind, unterscheidet sich ferner die Lese-Zustandsmaschinenschaltung innerhalb der Schnellschreib-Steuerschaltung 410 von der in der Normalschreib-Sektor-Steuerschaltung 412 verwendeten. Ferner bezieht sich zwar, wie oben beschrieben, bei den meisten hier dargestellten Ausführungsbeispielen die erste Bitstelle auf die Bitstelle A der Zweibit-Zelle, es sei jedoch darauf hingewiesen, dass sich die erste Bitstelle, falls gewünscht, alternativ auch auf die Bitstelle B beziehen kann, da die Zweibit-Flash-Speicherzellen symmetrisch sind. Schließlich kann, da bei dem Schnellschreib-Modus nur eine der Bitstellen zum Festhalten von Daten verwendet wird, ferner ein Zähler 414 in Zusammenhang mit der Steuerschaltung 404 verwendet werden, um die Anzahl von an den Schnellschreib-Sektoren durchgeführten Operationen zu zählen und eine Umschaltung zu bewirken, wobei die ersten Bitstellen nach einer vorbestimmten Anzahl von Operationszyklen von dem A-Bit zu dem B-Bit oder umgekehrt umgeschaltet werden, damit die Effekte der Operationszyklen im Wesentlichen gleichmäßig an beiden Bitstellen in der Zelle wirksam werden. Ferner kann eine solche Umschaltung zu anderen vorbestimmten Zeiten derart wiederholt werden, dass, falls gewünscht, die ersten Bitstellen während der gesamten Lebensdauer der Speichervorrichtung ohne einen Zähler zwischen den A- und B-Bitstellen hin- und hergetauscht werden.
  • In jedem Fall unterscheiden sich die Operationssteuerungen, bei denen Block-Lösch-Operationen, Programmieroperationen und Leseoperationen über die Schnellschreib- und Normalschreib-Steuerschaltungen 410 und 412 durchgeführt werden, voneinander.
  • Ferner ist die Steuerschaltung 404, falls gewünscht, zum optionalen Datentransfer zwischen Schnellschreib-Arrayteilen (Speicherregionen mit relativ niedriger Dichte) und Normalschreib-Teilen (Speicherregionen mit relativ hoher Dichte) mittels eines einzigen Transferbefehls oder einer beliebigen Kombination aus Befehlen (z.B. Lesen einer Seite oder mehr des Schnellschreib-Teils und Schreiben in eine Seite oder mehr im Normal-Teil derselben oder einer anderen Flash-Vorrichtung) vorgesehen. Die Menge an transferierten Daten kann variabel sein.
  • Obwohl die Erfindung in den vorstehenden Beispielen anhand eines Zweibit-Flash beschrieben worden ist, ist sie auf eine beliebige Anzahl von Multibit-Flashs mit mindestens zwei physischen Bits pro Zelle anwendbar, wobei das Programmieren des ersten Bit (oder Bits) zu einer schnelleren Schreibgeschwindigkeit des anderen Bit (oder Bits) in derselben Speicherzelle führt, und alle diese Variationen sind von der vorliegenden Erfindung abgedeckt.
  • Obwohl in den vorstehenden Beispielen das Vorprogrammieren oder Vor-Aufbereiten einer Zellengruppe in einem Schnellprogrammier-Konfigurationsmodus durchgeführt wird, der ein Block-Löschen von Zellen umfasst, sind bei der vorliegenden Erfindung auch andere Variationen vorgesehen. Zum Beispiel kann eine Gruppe von Zellen derart einem Block-Löschen unterzogen werden, dass jedes Bit der Multibit-Zellen auf einen vorbestimmten Zustand programmiert wird (z.B. Ladung von diesem entfernt wird). Dann wird später eine Schnellprogrammier-Konfigurierung in Zusammenhang mit einer Programmieroperation durchgeführt. In diesem Fall wird, wenn eine vorbestimmte Zelle programmiert werden soll, ein erstes Bit anfangs in einem Vorprogrammier- oder Vor-Aufbereitungsschritt geladen, worauf ein Programmieren eines zweiten Bit in der Multibit-Zelle folgt. Dabei ist das Programmieren des zweiten Bit immer noch schneller als bei herkömmlichen Zellen, die nicht wie beschrieben aufbereitet worden sind (z.B. ungefähr 2–3 Mal schneller).
  • Ferner sind viele der vorstehenden Beispiele zwar in Zusammenhang mit einer Zweibit-Speicherzelle dargestellt worden, die Erfindung deckt jedoch auch Multibit-Zellen mit mehr als zwei Bits ab. Zum Beispiel kann erfindungsgemäß eine Vierbit- oder Achtbit-Zelle verwendet werden. In einem solchen Fall kann ein Bit der Zelle nach dem Löschen in gewissem Maße geladen werden, um ein Schnellschreiben in ein oder mehrere der verbleibenden Bits dieser Zelle zu vereinfachen. Alternativ können mehr als ein Bit nach dem Löschen in gewissem Maße geladen werden, um ein Schnellschreiben in ein oder mehrere der verbleibenden Bits dieser Zelle zu vereinfachen. Alle diese Varianten werden als in den Schutzumfang der Erfindung fallend betrachtet.
  • Obwohl die Erfindung anhand einer oder mehrere Ausführungsformen beschrieben worden ist, können Änderungen und/oder Modifikationen an den dargestellten Ausführungsbeispielen durchgeführt werden, ohne dass dadurch vom Geist und Umfang der beiliegenden Ansprüche abgewichen wird. Insbesondere hinsichtlich der verschiedenen Funktionen, die von den oben beschriebenen Komponenten oder Strukturen (Baugruppen, Vorrichtungen, Schaltungen, Systemen etc.) ausgeführt werden, sollen die zum Beschreiben derartiger Komponenten verwendeten Termini (einschließlich jedes Bezugs auf "Vorrichtungen"), sofern nicht anderweitig angegeben, jeder Komponente oder Struktur entsprechen, welche die bezeichnete Funktion der beschriebenen Komponente erfüllt (z.B. funktional äquivalent ist), auch wenn sie nicht der beschriebenen Struktur äquivalent ist, die bei den hier beschriebenen Ausführungsbeispielen der Erfindung die Funktion ausführt. Ferner kann, obwohl möglicherweise ein bestimmtes Merkmal der Erfindung in Bezug auf nur eine von mehreren Ausführungsformen beschrieben worden sein kann, ein solches Merkmal mit einem oder mehreren weiteren Merkmalen der anderen Ausführungsformen kombiniert werden, je nachdem, wie es bei irgendeiner gegebenen oder bestimmten Anwendung gewünscht und vorteilhaft sein mag. Ferner ist in dem Maß, in dem der Ausdruck "enthalten", "enthält", "haben", "hat", "mit" oder Varianten dieser Ausdrücke in der detaillierten Beschreibung und den Ansprüchen verwendet wird, dieser Ausdruck dahingehend zu verstehen, dass er ähnlich dem Ausdruck "aufweisen" eine Einbeziehung bezeichnet.
  • INDUSTRIELLE ANWENDBARKEIT
  • Die erfindungsgemäßen Systeme und Verfahren können auf dem Gebiet der nichtflüchtigen Speicher zum Verbessern der Schreibgeschwindigkeit von Flash-Speichervorrichtungen verwendet werden.
  • ZUSAMMENFASSUNG
  • VERFAHREN UND SYSTEME ZUR ERREICHUNG EINER HOHEN SCHREIBLEISTUNG IN MULTIBIT-SPEICHERVORRICHTUNGEN
  • Es werden Verfahren und Schaltungen zum Durchführen von Hochgeschwindigkeitsschreib-(Programmier-)Operationen in einen Zweibit-Flash-Speicherarray vorgeschlagen. Das Verfahren (ZOO) umfasst zum Beispiel Löschen (204) eines ersten und eines zweiten Bit jeder Zelle in dem Array auf einen ersten Zustand, Programmieren (206) des ersten Bit jeder Zelle in dem Array auf einen zweiten Zustand und anschließendes Programmieren des zweiten Bit einer oder mehrerer Zellen in dem Array gemäß den Benutzerdaten auf einen der ersten und zweiten Zustände, was zu einem Schnellschreiben (Programmieren) dieser zweiten Bits führt. Ferner weist die Schaltung zum Beispiel ein Kernzellenarray (402) mit Zweibit-Flash-Speicherzellen auf, die in Form von mehreren Arrayteilen konfiguriert sind. Die Schaltung weist ferner eine Steuerschaltung (404) zum selektiven Block-Löschen eines der Arrayteile auf, wobei in einer ersten Phase des Block-Löschens (204) sowohl von der ersten als auch von der zweiten Bitstelle jeder Zweibit-Flash-Speicherzelle in dem einen Arrayteil eine ausreichende Ladung entfernt wird, um einen ersten Zustand zu erreichen. Die Steuerschaltung (404) ist ferner in einer zweiten Phase (206) zum Block-Löschen und Zuführen einer Ladung zu der ersten Bitstelle jeder Zweibit-Flash-Speicherzelle des einen Arrayteils vorgesehen, um ein anschließendes Schnellschreiben von Benutzerdaten in die zweite Bitstelle zu ermöglichen.

Claims (10)

  1. Verfahren (300) zum Partitionieren eines Multibit-Flash-Speicherarray in einen Schnellschreib-Teil und einen Normalschreib-Teil, mit folgenden Schritten: – Identifizieren eines Arrayteils aus Zweibit-Flash-Speicherzellen (316, 318, 320, 322) für Schnellschreib-Operationen an diesen; und – durchführen einer Schnellschreib-Lösch-Aktivierungs-Operation (200) an dem identifizierten Schnellschreib-Arrayteil vor einer Schreiboperation an diesem, wobei sich die Schnellschreib- Lösch-Aktivierungs-Operation von einer an einem anderen Arrayteil durchgeführten Lösch-Operation unterscheidet, welcher einen Normalschreib-Arrayteil aus Speicherzellen aufweist, der nicht für Schnellschreib-Operationen identifiziert ist.
  2. Verfahren nach Anspruch 1, bei dem das Durchführen der Schnellschreib-Lösch-Aktivierungs-Operation folgende Schritte umfasst: – Löschen sowohl der ersten als auch der zweiten Bitstellen für jede Zelle (204) in dem identifizierten Schnellschreib-Arrayteil; und – Zuführen einer Ladung zu der ersten Bitstelle für jede Zelle (206) in dem identifizierten Schnellschreib-Arrayteil, wobei die den ersten Bitstellen zugeführte Ladung nicht mit den Benutzerdaten in Beziehung steht, wodurch anschießende Schnellschreib-Operationen an den zweiten Bitstellen jeder darin enthaltenen Zelle ermöglicht wird.
  3. Verfahren nach Anspruch 1, bei dem das Identifizieren des Schnellschreib-Arrayteils folgende Schritte umfasst: – Laden eines Befehlsregisters (354, 406) mit einem Wert, der einen Schnellschreib-Modus an einer Stelle innerhalb des dem identifizierten Schnellschreib-Arrayteil zugeordneten Befehlsregisters anzeigt; oder – Setzen des Flash-Speicherarray (402) in einen "Schnellschreib-Modus", wobei sämtliche nachfolgenden Befehle als mit Schnellschreib-Teilen in Beziehung stehend betrachtet werden.
  4. Verfahren nach Anspruch 3, ferner mit dem Schritt des Durchführens einer Löschung des Multibit-Flash-Speicherarray, wobei das Durchführen der Löschung folgende Schritte umfasst: – Identifizieren (316) eines zu löschenden Teils des Speicherarray; – Bewerten eines Modus des Befehlsregisters (354, 406) an einer dem identifizierten zu löschenden Arrayteil zugeordneten Steile in dem Register; und – Durchführen entweder der Schnellschreib-Lösch-Operation (410) oder einer Normal-Lösch-Operation (412), die sich von der auf der Basis der Bewertung an dem identifizierten Arrayteil durchgeführten Schnellschreib-Lösch-Operation unterscheidet.
  5. Verfahren nach Anspruch 1, bei dem der Arrayteil (402) mehrere Speicherblöcke aufweist, die relativ zueinander physisch nicht zusammenhängend sind.
  6. Multibit-Flash-Speicher (400) mit: – einem Kernzellenarray (402) mit Multibit-Flash-Speicherzellen, die in Form mehrerer Arrayteile konfiguriert sind; und – einer Steuerschaltung (404) zum Partitionieren der mehreren Arrayteile in einen Schnellschreib-Arrayteil und/oder einen Normalschreib-Arrayteil.
  7. Multibit-Flash-Speicher nach Anspruch 6, bei dem die Steuerschaltung (404) ferner eine Schnellschreib-Steuerlogikschaltung (410) zum Durchführen einer Schnellschreib-Block-Lösch-Operation an dem Schnellschreib-Arrayteil des Kernzellenarray aufweist, und bei dem die Schnellschreib-Steuerlogikschaltung (410) bei der Schnellschreib-Block-Lösch-Operation zum Block-Löschen (204) sowohl der ersten als auch der zweiten Bitstellen jeder Flash-Speicherzelle in dem Schnellschreib-Arrayteil durch Entfernen einer Ladung von den Bitstellen und ferner zum anschließenden Zuführen einer Ladung (206) zu der ersten Bitstelle jeder Zelle in dem Schnellschreib-Arrayteil vorgesehen ist, wodurch eine anschließende Schnellschreib-Operation (208) an der zweiten Bitstelle einer oder mehrerer Zellen in dem Schnellschreib-Arrayteil vereinfacht wird.
  8. Multibit-Speicher nach Anspruch 6, ferner mit einem Befehlsregister (354, 406) mit mehreren den mehreren Arrayteilen zugeordneten Speicherstellen und mit darin enthaltenen Daten, die anzeigen, ob diese Arrayteile Schnellschreib-Arrayteile oder Normalschreib-Arrayteile sind, und bei dem die Steuerschaltung (404) zum Zugreifen auf das Befehlsregister (354, 406) zwecks Partitionierens der mehreren Arrayteile vorgesehen ist.
  9. Multibit-Speicher nach Anspruch 8, ferner mit einem Benutzer-I/O-Interface (408), das mit dem Befehlsregister (406) gekoppelt ist und zum Vereinfachen der Konfiguration der Partitionierung der mehreren Arrayteile durch einen Benutzer vorgesehen ist.
  10. Mehrbit-Flash-Speicher mit: – mehreren in Normal- bzw. Schnellschreib-Bereiche unterteilten Speicherbereichen (402); und – einer Steuerschaltung (404) zum Liefern von Schreib-, Lösch- und Lese-Operationsbefehlen sowohl zu den Normal- als auch zu den Schnellschreib-Bereichen des Flash-Speichers, wobei die Schreibbefehle der Steuerschaltung für die Normal- und Schnellschreib-Bereiche unterschiedlich sind und wobei der den Schnellschreib-Bereichen zugeordnete Schreibbefehl einen Setup-Modus enthält, wobei ein nicht zum Festhalten der Benutzerdaten verwendetes erstes Bit auf einen ersten Zustand gesetzt ist.
DE112005000866T 2004-04-16 2005-02-11 Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen Ceased DE112005000866T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US56304604P 2004-04-16 2004-04-16
US60/563,046 2004-04-16
US11/037,477 2005-01-18
US11/037,477 US7206224B1 (en) 2004-04-16 2005-01-18 Methods and systems for high write performance in multi-bit flash memory devices
PCT/US2005/004552 WO2005106891A1 (en) 2004-04-16 2005-02-11 Methods and systems for high write performance in multi-bit flash memory devices

Publications (1)

Publication Number Publication Date
DE112005000866T5 true DE112005000866T5 (de) 2007-03-08

Family

ID=34960766

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005000866T Ceased DE112005000866T5 (de) 2004-04-16 2005-02-11 Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen

Country Status (7)

Country Link
US (2) US7206224B1 (de)
JP (1) JP4674234B2 (de)
KR (1) KR101092011B1 (de)
DE (1) DE112005000866T5 (de)
GB (1) GB2427947B (de)
TW (1) TWI397914B (de)
WO (1) WO2005106891A1 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2871282B1 (fr) * 2004-06-04 2006-09-15 St Microelectronics Sa Dispositif memoire programmable une seule fois
JP4684719B2 (ja) * 2005-04-07 2011-05-18 パナソニック株式会社 半導体記憶装置
US7307878B1 (en) 2005-08-29 2007-12-11 Spansion Llc Flash memory device having improved program rate
US7957204B1 (en) 2005-09-20 2011-06-07 Spansion Llc Flash memory programming power reduction
US7433228B2 (en) * 2005-09-20 2008-10-07 Spansion Llc Multi-bit flash memory device having improved program rate
US8358543B1 (en) 2005-09-20 2013-01-22 Spansion Llc Flash memory programming with data dependent control of source lines
US7462907B1 (en) * 2005-11-07 2008-12-09 Spansion Llc Method of increasing erase speed in memory arrays
TWI355664B (en) * 2006-09-29 2012-01-01 Macronix Int Co Ltd Method of reading a dual bit memory cell
KR100902008B1 (ko) * 2007-02-09 2009-06-12 삼성전자주식회사 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템
JP5032290B2 (ja) * 2007-12-14 2012-09-26 株式会社東芝 不揮発性半導体記憶装置
US8194492B2 (en) * 2008-04-08 2012-06-05 Samsung Electronics Co., Ltd. Variable resistance memory device and system
KR101378602B1 (ko) * 2008-05-13 2014-03-25 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
TWI437429B (zh) * 2008-06-04 2014-05-11 A Data Technology Co Ltd 多通道混合密度記憶體儲存裝置及其控制方法
CN101615421B (zh) * 2008-06-26 2014-01-29 威刚科技股份有限公司 多信道混合密度内存储存装置及其控制方法
US8762654B1 (en) 2008-07-02 2014-06-24 Marvell International Ltd. Selectively scheduling memory accesses in parallel based on access speeds of memory
WO2010134300A1 (ja) * 2009-05-21 2010-11-25 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
KR101572830B1 (ko) * 2009-06-22 2015-11-30 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
US8174895B2 (en) * 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
KR101082756B1 (ko) * 2010-07-09 2011-11-10 주식회사 하이닉스반도체 반도체 메모리 소자의 동작 방법
US9659604B1 (en) * 2015-12-07 2017-05-23 Globalfoundries Inc. Dual-bit 3-T high density MTPROM array
KR102533197B1 (ko) * 2016-09-22 2023-05-17 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381670B1 (en) 1997-01-07 2002-04-30 Aplus Flash Technology, Inc. Flash memory array having maximum and minimum threshold voltage detection for eliminating over-erasure problem and enhancing write operation
US5717635A (en) 1996-08-27 1998-02-10 International Business Machines Corporation High density EEPROM for solid state file
AU4996697A (en) * 1996-12-20 1998-07-17 Intel Corporation Nonvolatile writeable memory with fast programming capability
US5978307A (en) * 1998-05-21 1999-11-02 Integrated Device Technology, Inc. Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same
US6282145B1 (en) * 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US6248633B1 (en) 1999-10-25 2001-06-19 Halo Lsi Design & Device Technology, Inc. Process for making and programming and operating a dual-bit multi-level ballistic MONOS memory
JP4299428B2 (ja) * 2000-01-19 2009-07-22 三星電子株式会社 可変容量半導体記憶装置
JP3922516B2 (ja) * 2000-09-28 2007-05-30 株式会社ルネサステクノロジ 不揮発性メモリと不揮発性メモリの書き込み方法
US6331951B1 (en) 2000-11-21 2001-12-18 Advanced Micro Devices, Inc. Method and system for embedded chip erase verification
ATE389937T1 (de) 2000-12-15 2008-04-15 Halo Lsi Design & Device Tech Schnelles programmier- und programmierverifikationsverfahren
JP2004079002A (ja) * 2002-08-09 2004-03-11 Renesas Technology Corp 不揮発性記憶装置
JP2004079602A (ja) * 2002-08-12 2004-03-11 Fujitsu Ltd トラップ層を有する不揮発性メモリ
US6882567B1 (en) * 2002-12-06 2005-04-19 Multi Level Memory Technology Parallel programming of multiple-bit-per-cell memory cells on a continuous word line
US7120063B1 (en) * 2004-05-07 2006-10-10 Spansion Llc Flash memory cell and methods for programming and erasing

Also Published As

Publication number Publication date
JP2007535779A (ja) 2007-12-06
KR20070010160A (ko) 2007-01-22
US7283402B2 (en) 2007-10-16
US20070115730A1 (en) 2007-05-24
GB0620164D0 (en) 2006-11-22
WO2005106891A1 (en) 2005-11-10
US7206224B1 (en) 2007-04-17
TWI397914B (zh) 2013-06-01
KR101092011B1 (ko) 2011-12-09
GB2427947B (en) 2007-08-08
JP4674234B2 (ja) 2011-04-20
GB2427947A (en) 2007-01-10
TW200608406A (en) 2006-03-01

Similar Documents

Publication Publication Date Title
DE112005000866T5 (de) Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen
DE4207934C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung und Programmierverfahren für eine nichtflüchtige Halbleiterspeichervorrichtung
DE69936028T2 (de) Nichtflüchtiger Halbleiterspeicher
DE60315532T2 (de) Verfahren zur Reudzierung der Programmier- und Lese-Störungen eines nicht-flüchtigen Speichers
DE60214023T2 (de) Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus
DE4233248C2 (de) Nicht-flüchtige Halbleiterspeichereinrichtung und Verfahren zum blockweisen Löschen von Daten in einer nicht-flüchtigen Halbleiterspeichereinrichtung
DE102006020180B3 (de) Verfahren zum Programmieren eines Blocks von Speicherzellen, nicht-flüchtiger Speicher und Speicherkarte
DE60303511T2 (de) Verfahren zum löschen eines flash-speichers unter verwendung eines prä-lösch verfahrensschritts
DE102008003637B4 (de) Integrierter Schaltkreis, Verfahren zum Programmieren einer Speicherzellen-Anordnung eines Integrierten Schaltkreises, und Speichermodul
DE4000787A1 (de) Elektrischer, seitenweise loeschbarer und programmierbarer nurlesespeicher
DE10225398A1 (de) Halbleiterspeichervorrichtung mit Speicherzellenarrays, die zum Durchführen eines wahlfreien Zugriffs in der Lage ist
DE3839114A1 (de) Nichtfluechtige dynamische halbleiterspeicheranordnung mit nand-zellenstruktur
DE112005003380T5 (de) Mehrpegel-ONO-Flash-Programmieralgorithmus zur Steuerung der Breite der Schwellwertverteilung
DE10392492T5 (de) Durch Algorithmus dynamisierte Referenzprogrammierung
DE112005001595T5 (de) Verfahren zum Verbessern der Löschspannungsverteilung für ein Flash-Speicher-Array mit Platzhalterwortleitungen
DE102008007685B4 (de) Integrierte Schaltung und Verfahren zum Betreiben einer integrierten Schaltung
DE112004000703B4 (de) Verfahren zum Betrieb einer Doppelzellenspeichereinrichtung mit einer verbesserten Lesebereichsspanne über die Lebensdauer hinweg
DE602005004553T2 (de) Flash-speichereinheit und verfahren zur programmierung einer flash-speichereinheit
DE102005031892B4 (de) Verfahren zum Programmieren von Multi-Bit-Charge-Trapping-Speicherzellenanordnungen und Speicherbauelement
DE4213741A1 (de) Speicherschaltung
DE69833348T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE69828669T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE112004000658B4 (de) Verfahren zum Programmieren einer Doppelzellenspeichereinrichtung zur Speicherung von Mehrfach-Datenzuständen pro Zelle
EP1374308B1 (de) Speicherzellenanordnung mit individuel adressierbaren speicherzellen und verfahren zur herstellung derselben
DE112004002856B4 (de) Halbleitervorrichtung und Programmierverfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20131228