DE102005028217B3 - Nichtflüchtiger Halbleiterspeicher und Verfahren zum Schreiben von Daten in einen nichtflüchtigen Halbleiterspeicher - Google Patents

Nichtflüchtiger Halbleiterspeicher und Verfahren zum Schreiben von Daten in einen nichtflüchtigen Halbleiterspeicher Download PDF

Info

Publication number
DE102005028217B3
DE102005028217B3 DE102005028217A DE102005028217A DE102005028217B3 DE 102005028217 B3 DE102005028217 B3 DE 102005028217B3 DE 102005028217 A DE102005028217 A DE 102005028217A DE 102005028217 A DE102005028217 A DE 102005028217A DE 102005028217 B3 DE102005028217 B3 DE 102005028217B3
Authority
DE
Germany
Prior art keywords
bit
memory
memory cells
memory cell
bits
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.)
Expired - Fee Related
Application number
DE102005028217A
Other languages
English (en)
Inventor
Francesco Maria Brani
Luca De Ambroggi
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.)
Polaris Innovations Ltd
Original Assignee
Qimonda Flash GmbH
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 Qimonda Flash GmbH filed Critical Qimonda Flash GmbH
Application granted granted Critical
Publication of DE102005028217B3 publication Critical patent/DE102005028217B3/de
Expired - Fee Related 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/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
    • G11C16/0491Virtual ground arrays

Abstract

Verfahren zum Beschreiben eines nichtflüchtigen Halbleiterspeichers mit Speicherzellen (MC), in denen je ein erstes Bit (B1) und ein zweites Bit (B2) gespeichert wird. Erste Speicherzellen (MC1) und entsprechende zweite Speicherzellen (MC2) sind jeweils mit derselben Bitleitung (BL) und derselben Wortleitung (WL) verbunden. Anfangszustände, die im ersten Bit (B1) einer zweiten Speicherzelle (MC2) und im zweiten Bit (B2) der entsprechenden ersten Speicherzelle (MC1) gespeichert sind, werden in Endzustände überführt, indem: DOLLAR A - die Anfangszustände der Bits (B1, B2) aufrecht erhalten werden, wenn die Endzustände der Bits (B1, B2) mit den Anfangzuständen übereinstimmen; DOLLAR A - die Bits (B1, B2) gelöscht werden, wenn sie gelöschte Endzustände aufweisen; DOLLAR A - das erste Bit (B1) programmiert wird, falls es von einem gelöschten Anfangszustand in einen programmierten Endzustand überführt werden soll, und das zweite Bit (B2) programmiert wird, falls es von einem gelöschten Anfangszustand in einen programmierten Endzustand überführt werden soll, wenn weder das erste Bit (B1) noch das zweite Bit (B2) von einem programmierten Anfangszustand in einen gelöschten Endzustand überführt werden sollen; DOLLAR A - beide Bits (B1, B2) gelöscht werden und dann das erste Bit (B1) programmiert wird, falls es im Endzustand programmiert ist oder das zweite Bit (B2) programmiert wird, falls es im Endzustand programmiert ist, wenn nur eines der Bits (B1, B2) von einem programmierten Anfangszustand in einen ...

Description

  • Die vorliegende Erfindung betrifft nichtflüchtige Halbleiterspeicher und Verfahren zum Schreiben von Daten in derartige Speicher.
  • Flashspeicher sind nicht flüchtige Speicher mit hoher Speicherdichte und lassen sich in Datenflash- und Codeflashspeicher unterteilen. Datenflashspeicher werden benutzt, wenn große Datenvolumina zu speichern sind und verfügen über eine große Anzahl von Speicherzellen pro Sektor. Codeflashspeicher werden benutzt, um Programmcode zu speichern und ermöglichen den Zugriff auf kleinere Speicherabschnitte für Lese-, Schreib- und Löschoperationen. Die Speicherkapazität von Flashspeichern lässt sich steigern, indem man die Anzahl der gespeicherten Bits pro Zelle erhöht.
  • Programmierbare Nitrid-Festwertspeicherzellen (NROM) können zwei Bits pro Zelle speichern. 1 zeigt einen Querschnitt durch eine aus dem Stand der Technik bekannte NROM-Zelle. Das Gate G der Zelle wird an eine Wortleitung angeschlossen, und die beiden Source-/Drain-Gebiete S/D werden an Bitleitungen angeschlossen. Unter dem Gate G befindet sich die sogenannte ONO-Schicht, die aus einer oberen Oxidschicht TO, einer unteren Oxidschicht BO und einer zwischen der oberen Oxidschicht TO und der unteren Oxidschicht BO eingebetteten Nitridschicht NL besteht. In der Nitridschicht NL kann elektrische Ladung an einer ersten Stelle in der Nähe eines ersten Source-/Drain-Gebiets S/D und an einer zweiten Stelle in der Nähe des zweiten Source-/Drain-Gebiets S/D gespeichert werden. Der Kanal der NROM-Zelle bildet sich zwischen dem ersten Source-/Drain-Gebiet S/D und dem zweiten Source-/Drain-Gebiet S/D aus und liegt unterhalb der ONO-Schicht im Halbleitersubstrat SB.
  • An jeder Stelle kann die gespeicherte Ladungsmenge unabhängig von der an der jeweils anderen Stelle gespeicherten Ladung eingestellt werden, so dass es möglich ist, in einer einzigen Zelle ein erstes Bit B1 und ein zweites Bit B2 zu speichern. Für jede Stelle bestimmt die gespeicherte Ladungsmenge den Schwellenspannungswert VTH dieses Teils der Zelle. Ein hoher Schwellenwert VTH entspricht einem programmierten Zustand, und ein niedriger Schwellenwert VTH entspricht einem gelöschten Zustand.
  • Das erste Bit B1 wird ausgelesen indem eine Gatespannung, die zwischen dem hohen und dem niedrigen Schwellenwert liegt, angelegt wird und der Strom, der durch die Zelle fließt, wenn ein Potential von beispielsweise 0 V an das erste Source-/Drain-Gebiet und ein Potential von beispielsweise 1,5 V an das zweite Source-/Drain-Gebiet S/D angelegt wird, gemessen wird.
  • Programmiert wird das erste Bit B1, indem beispielsweise eine Spannung von 4,5 V an das erste Source-/Drain-Gebiet S/D in der Nähe des Bits B1, eine Spannung von 0 V an das zweite Source-/Drain-Gebiet S/D sowie 9 V an das Gate G angelegt werden, so dass heiße Elektronen aus dem Kanal der Zelle in die Nitridschicht NL tunneln.
  • Gelöscht wird das erste Bit B1 mittels Injektion heißer Löcher, indem beispielsweise eine Spannung von 8 V an das erste Source-/Drain-Gebiet S/D in der Nähe des Bits B1 angelegt, das andere Source-/Drain-Gebiet S/D potentialfrei gelassen und eine negative Spannung an das Gate G angelegt wird.
  • Zum Auslesen, Speichern und Löschen des zweiten Bits B2 vertauscht man die an das erste und an das zweite Source-/Drain-Gebiet S/D angelegten Spannungen.
  • Für die Belange dieser Erfindung wird das in 2 gezeigte Symbol benutzt, um eine NROM-Zelle mit einem Gate-Kontakt G und zwei Source-/Drain-Kontakten S/D darzustellen und anzuzeigen, dass ein erstes Bit B1 und ein zweites Bit B2 in der Zelle gespeichert werden können. Der Source-/Drain-Kontakt S/D in der Nähe des ersten Bits B1 wird „erster Source-Drain-Kontakt" genannt, und der Source-/Drain-Kontakt S/D in der Nähe des zweiten Bits B2 wird „zweiter Source-/Drain-Kontakt" genannt. Sowohl für den ersten Source-/Drain-Kontakt als auch für den zweiten Source-/Drain-Kontakt wird das gleiche Bezugszeichen S/D benutzt, um anzuzeigen, dass die Zelle in Bezug auf diese Kontakte symmetrisch ist.
  • Um die Layoutfläche zu minimieren, werden NROM-Zellen häufig in einem „Virtual Ground Array" angeordnet und angeschlossen, wie in 3 gezeigt. Speicherzellen MC sind entlang Zeilen und Spalten angeordnet und an die Wortleitungen WL und Bitleitungen BL angeschlossen. Die Gate-Kontakte G der Speicherzellen MC, die entlang den Zeilen angeordnet sind, sind an die Wortleitungen WL angeschlossen. Die Source-/Drain-Kontakte S/D der Speicherzellen, die entlang den Spalten angeordnet sind, sind an die Bitleitungen BL angeschlossen, wobei jede der Bitleitungen BL von zwei entlang einer Zeile benachbarten Speicherzellen MC gemeinsam benutzt wird. Dadurch, dass anstelle von zwei Bitleitungen für jede Zelle die Bitleitungen BL von jeweils zwei Zellen gemeinsam benutzt werden, kann die für den Speicher M benötigte Chipfläche verringert werden. Jedes erste Bit B1 und zweite Bit B2 in den Speicherzellen MC im Speicher M kann durch die Wortleitung WL und Bitleitungen BL adressiert werden, die der Spalte und Zeile entsprechen, in der sich die jeweilige Speicherzelle MC befindet.
  • Eine Speicheranordnung mit NROM-Speicherzellen, die in einem Virtual Ground Array angeordnet sind, ist zum Beispiel aus der Patentschrift US 6,829,173 B2 bekannt.
  • Um den Speicherinhalt von Speicherzellen MC in Standard-Flashspeichern zu verändern wird jedes Mal, sofern die zu programmierenden Speicherzellen MC nicht bereits gelöscht wurden, ein ganzer Block oder Sektor gelöscht und der Sektor anschließend programmiert. Diese Vorgehensweise ist ein Überbleibsel aus der ersten Generation von Flashspeichern, den ETOX- oder Floating-Gate-Flashspeichern, bei denen die Speicherzellen an ein gemeinsames Substrat und einen gemeinsamen Source-Anschlusspunkt angeschlossen waren. Infolgedessen wird jedes Mal, wenn eine Löschspannung an Source und/oder Substrat angelegt wird, der Löschimpuls parallel an alle Zellen, die sich dasselbe Substrat und dieselben Source-Anschlusspunkte teilen, geleitet.
  • Zwar sorgt dieser Lösch- und Programmiermechanismus für Kompatibilität, er hat jedoch für moderne Flashspeicher auch wesentliche Nachteile. Da jedes Mal, wenn der Inhalt einer beliebigen Speicherzelle geändert werden soll, eine Löschoperation durchgeführt wird, ist die Leistungsaufnahme des Speichers hoch. Des Weiteren werden alle Zellen dem Lösch- und Programmierzyklus unterzogen, selbst wenn ihr jeweiliger Inhalt nicht geändert werden muss. Diese über flüssigen Zyklen verringern die Lebensdauer der Speicherzelle und die Zuverlässigkeit des Speichers als Ganzes. Ferner wird der Datendurchsatz reduziert, da jedes Mal, wenn Daten in den Speicher geschrieben werden, mindestens eine Löschoperation ausgeführt wird.
  • Der Erfindung liegt daher die Aufgabe zugrunde, einen nichtflüchtigen Halbleiterspeicher und ein Verfahren zum Betreiben des Speichers bereitzustellen, die einen höheren Datendurchsatz, geringere Leistungsaufnahme und verbesserte Zuverlässigkeit ermöglichen.
  • Die Erfindung stellt ein Verfahren zum Schreiben von Daten in einen nichtflüchtigen Halbleiterspeicher bereit, wobei der Halbleiterspeicher eine Vielzahl von Speicherzellen, Bitleitungen und Wortleitungen umfasst, wobei jede Speicherzelle einen Gate-Kontakt, einen ersten Source-/Drain-Kontakt und einen zweiten Source-/Drain-Kontakt aufweist und Speicher für ein erstes Bit und ein zweites Bit bereitstellt, wobei in dem ersten Bit und in dem zweiten Bit jeweils ein programmierter oder ein gelöschter Zustand gespeichert werden kann, die Vielzahl der Speicherzellen in Zeilen entlang einer ersten Richtung und in Spalten entlang einer zweiten Richtung angeordnet sind, in jeder Zeile die Gate-Kontakte der Speicherzellen an jeweils eine selbe Wortleitung aus der Vielzahl von Wortleitungen angeschlossen sind, in jeder Zeile jede Speicherzelle über jeweils einen ihrer Source-/Drain-Kontakte an eine benachbarte Speicherzelle angeschlossen ist, in jeder Spalte die Source-/Drain-Kontakte jeder der Speicherzellen an jeweils eine selbe Bitleitung der Vielzahl von Bitleitungen angeschlossen sind, erste Speicherzellen und zweite Speicherzellen Speicherzellen sind, die entlang von Zeilen aneinander angrenzen, wobei die Anfangszustände, die im ersten Bit einer zweiten Speicherzelle und im zweiten Bit einer entsprechenden ersten Speicherzelle gespeichert sind, in Endzustände überführt werden, indem ein Schritt in der Gruppe aus den Schritten a), b), c) und d) ausgeführt wird: Schritt a) wird ausgeführt, wenn die Endzustände sowohl des ersten Bits als auch des zweiten Bits mit den jeweiligen Anfangszuständen dieser Bits übereinstimmen, und umfasst das Aufrechterhalten der Anfangszustände des ersten Bits und des zweiten Bits, Schritt b) wird ausgeführt, wenn sowohl das erste Bit als auch das zweite Bit gelöschte Endzustände aufweisen und die Anfangszustände sowohl des ersten Bits als auch des zweiten Bits nicht gelöscht waren, und umfasst das Löschen sowohl des ersten Bits als auch des zweiten Bits, Schritt c) wird ausgeführt, wenn weder das erste Bit noch das zweite Bit von einem programmierten Anfangszustand in einen gelöschten Endzustand überführt werden sollen, und umfasst das Programmieren des ersten Bits, falls das erste Bit von einem gelöschten Anfangszustand in einen programmierten Endzustand überführt werden soll, und das Programmieren des zweiten Bits, falls das zweite Bit von einem gelöschten Anfangszustand in einen programmierten Endzustand überführt werden soll, Schritt d) wird ausgeführt, wenn nur das erste Bit oder das zweite Bit von einem programmierten Anfangszustand in einen gelöschten Endzustand überführt werden soll, und umfasst zunächst das Löschen sowohl des ersten als auch des zweiten Bits und dann das Programmieren des ersten Bits, falls das erste Bit im Endzustand programmiert ist, oder das Programmieren des zweiten Bits, falls das zweite Bit im Endzustand programmiert ist.
  • Dieses Verfahren zum Schreiben von Daten in den Speicher bietet den Vorteil, dass nicht ein ganzer Speicherzellensektor gelöscht werden muss, um die Speicherzellen zu programmieren. Stattdessen kann ein nur zwei Bit großer Abschnitt des Speichers adressiert und Daten in diesen geschrieben werden.
  • Die Zellen werden außerdem weder einer Lösch- noch einer Programmieroperation unterzogen, sofern der Inhalt der Speicherzellen nicht verändert werden muss. Falls zum Erreichen des Endzustands keine Löschoperation erforderlich ist, können die Zellen direkt programmiert werden, ohne zunächst einer Löschoperation unterzogen zu werden. Des Weiteren werden nur Bits programmiert, die verändert werden sollen, wohingegen nach Stand der Technik alle Bits, die zusammen mit den zu verändernden Bits gelöscht wurden, neu programmiert werden müssen, sofern ihr Anfangszustand programmiert war.
  • Vorzugsweise werden in den Schritten b) und d) das erste Bit der zweiten Speicherzelle und das zweite Bit der ersten Speicherzelle bezüglich aller anderen, in dem Halbleiterspeicher gespeicherten Bits selektiv gelöscht.
  • Vorzugsweise umfasst das selektive Löschen sowohl des ersten Bits als auch des zweiten Bits in den Schritten b) und d) folgende Schritte: Anlegen eines Wortleitungspotentials an die Wortleitung, die mit dem Gate-Kontakt der ersten Speicherzelle und dem Gate-Kontakt der zweiten Speicherzelle elektrisch verbunden ist, Anlegen eines zweiten Bitleitungspotentials, das höher als das Wortleitungspotential ist, an die Bitleitung, die mit dem zweiten Source-/Drain-Kontakt der ersten Speicherzelle und dem ersten Source-/Drain-Kontakt der zweiten Speicherzelle verbunden ist, Unterlassen des Anlegens eines Potentials an die Bitleitung, die mit dem ersten Source-/Drain-Kontakt der ersten Speicherzelle verbunden ist, und Unterlassen des Anlegens eines Potentials an die Bitleitung, die mit dem zweiten Source-/Drain-Kontakt der zweiten Speicherzelle verbunden ist.
  • Das Wortleitungspotential ist in der Regel negativ, das zweite Bitleitungspotential dagegen positiv. Das Unterlassen des Anlegens eines Potentials ist auch als „Floaten" bekannt.
  • Vorzugsweise umfasst das Löschen sowohl des ersten Bits als auch des zweiten Bits in den Schritten b) und d) Folgendes: Prüfen, ob sowohl das erste Bit als auch das zweite Bit gelöscht sind, und Wiederholen des Löschschritts solange, bis sowohl das erste Bit als auch das zweite Bit gelöscht sind. Auf diese Weise kann sichergestellt werden, dass die Bits tatsächlich einen gelöschten Zustand speichern.
  • Vorzugsweise umfasst das Programmieren des ersten Bits bzw. des zweiten Bits in den Schritten c) bzw. d) Folgendes: Anlegen eines Wortleitungspotentials an die Wortleitung, die mit dem Gate-Kontakt der ersten Speicherzelle und dem Gate-Kontakt der zweiten Speicherzelle verbunden ist, Anlegen eines zweiten Bitleitungspotentials, das niedriger als das Wortleitungspotential ist, an die Bitleitung, die mit dem zweiten Source-/Drain-Kontakt der ersten Speicherzelle und dem ersten Source-/Drain-Kontakt der zweiten Speicherzelle verbunden ist, Anlegen eines dritten Bitleitungspotentials, das niedriger als das zweite Bitleitungspotential ist, an die Bitleitung, die mit dem zweiten Source-/Drain-Kontakt der zweiten Speicherzelle verbunden ist, und Unterlassen des Anlegens eines Potentials an die Bitleitung, die mit dem ersten Source-/Drain-Kontakt der ersten Speicherzelle verbunden ist, falls das erste Bit in der zweiten Speicherzelle im Endzustand programmiert sein soll, und Anlegen eines ersten Bitleitungspotentials, das niedriger als das zweite Bitleitungspotential ist, an die Bitleitung, die mit dem ersten Source-/Drain-Kontakt der ersten Speicherzelle verbunden ist, und Unterlassen des Anlegens eines Potentials an die Bitleitung, die mit dem zweiten Source-/Drain-Kontakt der zweiten Speicherzelle verbunden ist, falls das zweite Bit der ersten Speicherzelle im Endzustand programmiert sein soll. Das Wortleitungspotential und das zweite Bitleitungspotential sind in der Regel positiv, das erste und das dritte Bitleitungspotential dagegen sind Massepotentiale.
  • Vorzugsweise umfasst das Programmieren des ersten Bits bzw. des zweiten Bits in den Schritten c) bzw. d) Folgendes: Prüfen, nach dem Programmieren, ob im ersten Bit und im zweiten Bit der gewünschte programmierte Endzustand gespeichert ist, und, falls im ersten Bit bzw. im zweiten Bit nicht der gewünschte programmierte Endzustand gespeichert ist, Wiederholen des Programmierens des ersten Bits und des zweiten Bits, bis der gewünschte programmierte Endzustand im ersten Bit bzw. im zweiten Bit gespeichert ist. Auf diese Weise kann sichergestellt werden, dass die Bits tatsächlich einen programmierten Zustand speichern.
  • Vorzugsweise werden in Schritt d) die Anfangszustände des ersten Bits und des zweiten Bits gespeichert, bevor der Schritt des Löschens des ersten und des zweiten Bits vollzogen wird, und die gespeicherten Werte werden dazu benutzt, jeweils das erste Bit und das zweite Bit auf den betreffenden Anfangswert zu programmieren. Auf diese Weise geht der Anfangswert nicht verloren, wenn beide Bits zusammen gelöscht werden.
  • Vorzugsweise wird die Anzahl der in den Halbleiterspeicher zu schreibenden Bits bestimmt, bevor einer der Schritte a) bis d) ausgeführt wird. So kann ermittelt werden, ob es effektiver ist, einen gesamten Zellensektor zu löschen, oder selektiv erste und zweite Bits zu löschen.
  • Vorzugsweise sind Speicherzellen in Sektoren gruppiert, wobei jeder Sektor eine vorbestimmte Anzahl von Speicherzellen enthält, wobei das Schreiben von Daten in die Speicherzellen eines Sektors Folgendes umfasst: Löschen aller Speicherzellen in diesem Sektor, sodann Programmieren der benötigten Speicherzellen, falls die Anzahl der in den Halbleiterspeicher zu schreibenden Datenbits einen vorbestimmten Bruchteil der vorbestimmten Anzahl von Speicherzellen in einem Sektor überschreitet, und Unterlassen der Ausführung der Schritte a) bis d). Die vorbestimmte Anzahl kann von Parametern wie etwa Stromverbrauch, benötigter Datendurchsatz und Sektorgröße abhängen.
  • Vorzugsweise handelt es sich bei den Speicherzellen um programmierbare Nitrid-Festwertspeicherzellen. Ein Vorteil dieser Zellen besteht darin, dass sie in der Lage sind, zwei Bits pro Zelle zu speichern und gleichzeitig sehr wenig Platz benötigen, wenn sie in einem Virtual Ground Array angeordnet werden. Zudem können solche Speicherzellen mit Standardverfahren hergestellt werden.
  • Alternativ formuliert sind die ersten Speicherzellen und die entsprechenden zweiten Speicherzellen, Speicherzellen, die an jeweils derselben Bitleitung und an derselben Wortleitung angeschlossen sind.
  • Bei Anwendung dieses Verfahrens werden Speicherzellen nur bei Bedarf programmiert und nur bei Bedarf gelöscht, so dass einerseits Energie gespart und der Datendurchsatz gesteigert wird und andererseits die Zellen weniger Zyklen durchlaufen, was eine verbesserte Zuverlässigkeit und Langlebigkeit zur Folge hat.
  • Weiterhin wird ein nichtflüchtiger Halbleiterspeicher bereitgestellt, der Folgendes umfasst: eine Vielzahl von Speicherzellen, die in Sektoren gruppiert und an eine Vielzahl von Wortleitungen und Bitleitungen angeschlossen sind, einen Wortleitungsdekodierer und einen Bitleitungsdekodierer, die an eine Adresseinheit angeschlossen sind, wobei jede Speicherzelle ein erstes Bit und ein zweites Bit speichert, die Wortleitungen und Bitleitungen die Speicherzellen so anschließen, dass ein Virtual Ground Array gebildet wird, eine Steuereinheit die Adresseinheit so steuert, dass diese zwischen der Adressierung ganzer Sektoren von Speicherzellen und der Adressierung der ersten Bits von zweiten Speicherzellen und der zweiten Bits von ersten Speicherzellen umschaltet, wobei die ersten Speicherzellen und die zweiten Speicherzellen jeweils von derselben Wortleitung und derselben Bitleitung angeschlossen werden.
  • Die Erfindung stellt damit einen Halbleiterspeicher bereit, der eine Kombination aus dem herkömmlichen Verfahren zum Schreiben von Daten in einen Flashspeicher und dem neuen Verfahren, bei dem zwei Bits in zwei verschiedenen Speicherzellen selektiv adressiert werden, darstellt. Die Möglichkeit zum Umschalten zwischen den beiden Verfahren ist insbesondere für Datenflashspeicher von großer Bedeutung, bei denen bisher große Sektoren gelöscht und neu programmiert werden, selbst wenn nur ein oder zwei Bits geändert werden müssen.
  • Vorzugsweise schaltet die Steuereinheit in Abhängigkeit von der Anzahl der in den Speicher zu schreibenden Bits zwischen dem Adressieren ganzer Sektoren und dem Adressieren erster Bits und zweiter Bits um. Die Anzahl der zu schreibenden Bits legt fest, welches Verfahren besser zum Schreiben von Daten in den Speicher geeignet ist.
  • Vorzugsweise schaltet die Steuereinheit in Abhängigkeit von dem zum Schreiben von Daten in den Speicher benutzten Befehl zwischen dem Adressieren ganzer Sektoren und dem Adressieren erster Bits und zweiter Bits um. Der Befehl enthält normalerweise die Datenmenge oder einen Adressbereich, in den die Daten geschrieben werden sollen, und stellt somit alle Informationen bereit, die notwendig sind, um zu entscheiden, welches Verfahren zum Schreiben von Daten in den Speicher benutzt wird.
  • Vorzugsweise handelt es sich bei den Speicherzellen um programmierbare Nitrid-Festwertspeicherzellen.
  • Nachstehend wird die Erfindung nun eingehender anhand von nicht als einschränkend zu verstehenden Beispielen und unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Es zeigen:
  • 1 einen Schnitt durch eine NROM-Zelle,
  • 2 ein Schaltsymbol einer NROM-Zelle,
  • 3 ein Virtual Ground Array,
  • 4 Doppelbits in einem Virtual Ground Array,
  • 5 eine Illustration des Doppelbit-Konzepts,
  • 6 einen Löschvorgang eines Doppelbits,
  • 7 einen Programmiervorgang eines Bits des Doppelbits,
  • 8 ein Flussdiagramm für ein Verfahren zum Programmieren des Speichers,
  • 9 ein Flussdiagramm für einen erweiterten Löschschritt,
  • 10 ein Flussdiagramm für einen erweiterten Programmierschritt,
  • 11 einen Speicher mit einer Steuereinheit zum Umschalten zwischen dem herkömmlichen Verfahren und dem erfindungsgemäßen Verfahren,
  • 12 eine Tabelle der zum Schreiben von Daten gemäß einem herkömmlichen Verfahren notwendigen Operationen und
  • 13 eine Tabelle der zum Schreiben von Daten nach einem erfindungsgemäßen Verfahren notwendigen Operationen.
  • Im Folgenden wird auf 4 Bezug genommen, die einen Teil eines Virtual Ground Arrays zeigt. Speicherzellen MC sind entlang einer ersten Richtung X und einer zweiten Richtung Y in Zeilen bzw. Spalten angeordnet. Die Gate-Kontakte G der in Zeilen angeordneten Speicherzellen MC werden von jeweils einer Wortleitung WL angeschlossen. Bitleitungen BL schließen die Source-/Drain-Kontakte S/D der in Spalten angeordneten Speicherzellen MC an. In Zeilenrichtung benachbarte Zellen MC teilen sich eine Bitleitung BL. Jede Speicherzelle MC kann ein erstes Bit B1 und ein zweites Bit B2 speichern. Die zweiten Bits B2 der Speicherzellen MC und die ersten Bits B1 der jeweils in X-Richtung benachbarten Speicherzellen MC bilden sogenannte „Doppelbits" DB. Doppelbits werden von Speicherzellen MC gebildet, die sich eine Bitleitung BL und eine Wortleitung WL teilen.
  • Das Konzept der Doppelbits DB wird in 5 weiter veranschaulicht, die zwei benachbarte Zellen zeigt: eine erste Speicherzelle MC1 und eine zweite Speicherzelle MC2. Die Gate-Kontakte G der ersten Speicherzelle MC1 und der zweiten Speicherzelle MC2 sind an die Wortleitung WL angeschlossen. Der erste Source-/Drain-Kontakt S/D der ersten Speicherzelle MC1 ist an die Bitleitung BL1 angeschlossen, während der zweite Source-/Drain-Kontakt S/D der zweiten Speicherzelle MC2 an die Bitleitung BL3 angeschlossen ist. Der zweite Source-/Drain-Kontakt S/D der ersten Speicherzelle MC1 und der erste Source-/Drain-Kontakt S/D der zweiten Speicherzelle MC2 sind beide an die Bitleitung BL2 angeschlossen.
  • Zur Darstellung des ersten Bits B1 und des zweiten Bits B2 werden Kreise benutzt. Ein leerer Kreis stellt den Wert "0" dar; ein ausgefüllter Kreis stellt den Wert "1" dar. Zum Zwecke der Veranschaulichung sei der Wert "0" im zweiten Bit B2 der ersten Speicherzelle MC1 und der Wert "1" im ersten Bit B1 der zweiten Speicherzelle MC2 gespeichert. Die Notation für die in dem Doppelbit DB gespeicherten Werte lautet "(m, n)", wobei "m" den Wert darstellt, der im zweiten Bit B2 der ersten Speicherzelle MC1 gespeichert ist, und "n" den Wert darstellt, der im ersten Bit B1 der zweiten Speicherzelle MC2 gespeichert ist. Der Wert "1" stellt einen gelöschten Zustand dar, und der Wert "0" stellt einen programmierten Zustand des Bits dar.
  • In den 5, 6 und 7 werden die Schritte gezeigt, die zum Umprogrammieren des Doppelbits DB von einem Anfangszustand (0, 1) in einen Endzustand (1, 0) nötig sind. Übergänge von einem Zustand in einen anderen Zustand werden durch einen Pfeil "→" angezeigt, so dass der oben genannte Übergang wie folgt dargestellt wird: (0, 1) → (1, 0).
  • Die Bits in einem Doppelbit können einzeln programmiert werden, jedoch lassen sie sich nur gemeinsam löschen. Ursache hierfür ist die gemeinsam benutzte Wortleitung WL und die gemeinsam benutzte zweite Bitleitung BL2, die bewirken, dass das zweite Bit B2 der ersten Speicherzelle MC1 und das erste Bit B1 der zweiten Speicherzelle MC2 stets gleichzeitig gelöscht werden. Hieraus folgt, dass zum Erreichen einiger der gewünschten Endzustände ein Zwischenschritt erforderlich ist, in dem das Doppelbit DB den Wert (1, 1) aufweist und sowohl das erste Bit B1 als auch das zweite Bit B2 des Doppelbits DB gelöscht sind.
  • 6 veranschaulicht diesen Zwischenschritt. Sowohl das erste Bit B1 der zweiten Speicherzelle MC2 als auch das zweite Bit B2 der ersten Speicherzelle MC1 sind als ausgefüllte Kreise dargestellt, was anzeigt, dass in beiden Bits ein gelöschter Zustand gespeichert ist. Zum Löschen des Doppelbits DB wird eine negative Spannung VWL an die Wortleitung WL angelegt. Gleichzeitig wird an die zweite Bitleitung BL2 eine positive Spannung angelegt, und die Potentiale VBL1 und VBL3 der ersten Bitleitung BL1 und der dritten Bitleitung BL3 bleiben potentialfrei. Die angelegten Spannungen können zum Beispiel VWL = –7 V und VBL2 = 6 V sein. Die angelegten Spannungen bewirken die Injektion heißer Löcher in die ONO-Schicht, wo sie die lokal gespeicherten Elektronen neutralisieren, so dass die effektive Ladung reduziert wird.
  • 7 zeigt den Programmierschritt, der erforderlich ist, um das Doppelbit DB (1, 0) zu erhalten. Das erste Bit B1 der zweiten Speicherzelle MC2 muss programmiert werden, während das zweite Bit B2 der ersten Speicherzelle MC1 im gelöschten Zustand gehalten werden muss. Die Programmierung des ersten Bits B1 lässt sich erreichen, indem man an die Wortleitung WL, an die die Gate-Kontakte G der Speicherzellen MC1 und MC2 angeschlossen sind, eine positive Spannung VWL anlegt. Gleichzeitig muss eine niedrigere positive Spannung VBL2 an die zweite Bitleitung BL2 angelegt werden, und eine noch niedrigere Spannung VBL3 wird an eine dritte Bitleitung BL3 angelegt. Das Potential VBL1 der ersten Bitleitung BL1 wird potentialfrei belassen. Beispielsweise können die angelegten Spannungen zu VWL = 9 V, VBL2 = 5 V und VBL3 = 0 V gewählt werden. Falls das zweite Bit B2 der ersten Speicherzelle MC1 programmiert werden soll, sind die Potentiale VBL1 und VBL3 auf der ersten Bitleitung BL1 und der dritten Bitleitung BL3 zu vertauschen.
  • 8 zeigt ein Flussdiagramm eines erfindungsgemäßen Verfahrens, das zum Schreiben von Daten in den Speicher benutzt wird. Die Ovale S0, S1, ..., S5 stellen Zustände dar, die Rauten Q0, Q1, ..., Q5 stellen Abfragen dar, und die Rechtecke A0, A1, ..., A5 stellen Aktionen dar.
  • Die erste Abfrage Q0 ermittelt, ob Datenvolumen in den Speicher geschrieben werden sollen, die im Vergleich zur Größe eines Sektors groß sind. Ist dies der Fall, wird die Aktion A0, ein aus dem Stand der Technik bekanntes Verfahren, benutzt, um Daten in den Speicher zu schreiben. Nach Abschluss von Aktion A0 wird der Endzustand S0 erreicht.
  • Falls nur eine kleine Anzahl von Bits geschrieben werden muss, wird mit Zustand S1 fortgefahren, der den ersten Schritt beim Schreiben von Daten in den Speicher mit Doppelbit-Granularität darstellt.
  • Als Nächstes wird in der Abfrage Q1 ermittelt, ob sich der gewünschte Endzustand der Bits im Doppelbit DB vom Anfangszustand im Doppelbit DB unterscheidet. Falls End- und Anfangszustand derselbe ist, endet das Verfahren mit Zustand S2, ohne irgendeines der Bits des Doppelbits DB zu löschen oder zu programmieren. Diese Bedingung ist für die folgenden Übergänge erfüllt: (0, 0) → (0, 0), (0, 1) → (0, 1), (1, 0) → (1, 0) und (1, 1) → (1, 1). Falls der Anfangszustand vom Endzustand abweicht, wird mit Abfrage Q2 fortgefahren.
  • In Abfrage Q2 wird ermittelt, ob nur die Programmierung eines oder mehrerer der Bits in einem Doppelbit notwendig ist, oder in anderen Worten: ob kein Löschvorgang notwendig ist, da keines der Bits des Doppelbits von einem programmierten in einen gelöschten Zustand überführt werden muss. Falls nur die Programmierung erforderlich ist, wird mit Aktion A1 fortgefahren, in der das bzw. die erforderlichen Bits des Doppelbits programmiert werden. Dies ist für folgende Übergänge der Fall: (0, 1) → (0, 0), (1, 0) → (0, 0), (1, 1) → (0, 0), (1, 1) → (0, 1), und (1, 1) → (1, 0). In diesen Fällen erfolgen alle Übergänge nur von einer "1" zu einer "0", und das Verfahren endet mit dem Zustand S3. Die zur Programmierung benötigten Schritte wurden zusammen mit 7 beschrieben.
  • Falls es notwendig ist, das Doppelbit DB zu löschen, um den Endzustand zu erreichen, wird mit Aktion A2 fortgefahren. Falls jedoch nur eines der Bits des Doppelbits gelöscht werden muss, wird eine Neuprogrammierung des anderen Bits des Doppelbits notwendig, da beide Bits des Doppelbits gelöscht werden. Zu diesem Zweck wird in Aktion A2 die Adresse oder der Zustand des Bits, das nicht gelöscht werden soll, in einem Register gespeichert. In Aktion A3 wird das Doppelbit DB gelöscht, indem wie in 6 gezeigt Potentiale an die jeweiligen Bitleitungen und die jeweilige Wortleitung angelegt werden.
  • Es wird sodann mit Abfrage Q3 fortgefahren, in der ermittelt wird, ob eine Neuprogrammierung eines der Bits des Doppelbits notwendig ist. Für Übergänge, die in Endzuständen mit (1, 1) enden, ist keine derartige Neuprogrammierung erforderlich. Dies sind die Übergänge (0, 0) → (1, 1), (0, 1) → (1, 1) und (1, 0) → (1, 1). Das Verfahren endet für diese Übergänge mit dem Zustand S4.
  • Falls eine Neuprogrammierung eines der Bits notwendig ist, wird mit Aktion A4 fortgefahren, in welcher die Adresse oder der Zustand des Bits, das nicht gelöscht werden soll, wiederhergestellt wird. Die Aktion A5 besteht in der Neuprogrammierung desjenigen Bits des Doppelbits DB, das in Aktion A3 nicht gelöscht werden sollte, oder in der Programmierung desjenigen Bits des Doppelbits DB, das von einem gelöschten Zustand in einen programmierten Zustand überführt werden soll. Die zur Programmierung der einzelnen Bits benötigten Potentiale wurden zusammen mit 7 beschrieben. Zustand S5 ist der Endzustand des Verfahrens für die Übergänge (0, 0) → (0, 1), (0, 0) → (1, 0), (0, 1) → (1, 0) und (1, 0) → (0, 1), bei denen der Zwischenzustand (1, 1) durchlaufen wurde.
  • Abwandlungen des Flussdiagrams sind möglich; so braucht etwa die Adresse oder der Zustand in Aktion A2 nicht ge speichert und die Adresse in Aktion A4 nicht wiederhergestellt werden, falls sich diese Schritte eliminieren lassen oder auf andere Weise oder zu einem anderen Zeitpunkt ausgeführt werden können.
  • 9 zeigt eine Abwandlung der Aktionen A1 und A5, in denen Bits des Doppelbits programmiert werden. Aktion A6 ist die Programmieraktion, während die Abfrage Q4 überprüft, ob das zu programmierende Bit bereits programmiert wurde. Falls ja, wird das Verfahren fortgesetzt. Andernfalls wird der Schritt der Programmierung des Bits wiederholt, bis der gewünschte Endwert erreicht ist. Um Zeit zu sparen ist es vorteilhaft, wenn nur das Bit, das im Endzustand programmiert sein soll, überprüft wird. Im Rahmen der Operation, die die Programmierung überprüft, wird ermittelt, ob die „programmierte" Schwellenspannung über einem minimalen Spannungspegel liegt, indem diese minimale Spannung an die Gate-Kontakte der Speicherzellen angelegt wird. Falls die Speicherzellen nichtleitend verbleiben, war die Programmieroperation erfolgreich.
  • Analog hierzu zeigt 10 eine Abwandlung der Löschaktion A3. Aktion A7 ist die Löschoperation zum Löschen des Doppelbits DB, und in der Abfrage Q5 wird geprüft, ob das Bit, das gelöscht werden soll, tatsächlich gelöscht wurde. Falls dies der Fall ist, wird das Verfahren fortgesetzt. Falls nicht, wird die Löschoperation wiederholt. Um Zeit zu sparen ist es vorteilhaft, wenn nur das Bit, das im Endzustand gelöscht sein soll, überprüft wird. Im Rahmen der Operation, die die Löschung überprüft, wird ermittelt, ob die „gelöschte" Schwellenspannung unter einem maximalen Spannungspegel liegt, indem diese maximale Spannung an die Gate-Kontakte G der Speicherzellen angelegt wird. Falls sich die Speicherzellen anschalten, war die Löschung erfolgreich.
  • 11 zeigt ein Blockdiagramm eines Halbleiterspeichers. Ein Speicherfeld M, das Sektoren SC – auch Segmente oder Blöcke genannt – umfasst, ist an Wortleitungen WL und Bitleitungen BL angeschlossen. Ein Bitleitungsdekodierer BLD und ein Wortleitungsdekodierer WLD werden benutzt, um Speicherzellen (nicht gezeigt) für Lese-, Lösch- und Programmieroperationen auszuwählen. Daten DA können durch den Bitleitungsdekodierer BLD ein- und ausgegeben werden. In der Adresseinheit A wird eine Adresse AD dekodiert. Speicher wie dieser sind im Stand der Technik bekannt.
  • Gemäß einer Ausführungsform der Erfindung werden der Adresseinheit A eine Steuereinheit CU und ein Register R hinzugefügt. Die Steuereinheit CU empfängt als Eingaben einen Speicherprogrammierbefehl C und eine Adresse AD. Mit Hilfe der Steuereinheit CU kann der Modus der Speicherprogrammierung umgeschaltet werden zwischen einem nach Stand der Technik üblichen Modus, in dem alle Speicherzellen in einem Sektor SC gelöscht und dann programmiert werden, und einem zweiten Modus, in dem wie obenstehend beschrieben Speicherzellen mit einer Doppelbit-Granularität programmiert werden können. Die Steuereinheit CU schaltet in Abhängigkeit des erhaltenen Befehls C zwischen den beiden Modi um. Falls laut Befehl C ein Datenblock programmiert werden soll, der bezüglich der Größe des Sektors SC groß ist, wird der aus dem Stand der Technik bekannte Betriebsmodus gewählt. Falls nur eine kleine Anzahl von Bits programmiert werden sollen, wird das erfindungsgemäße Programmierverfahren benutzt.
  • Falls der Befehl C die Menge der zu schreibenden Daten nicht angibt, vergleicht die Steuereinheit CU die Daten, die in den Speicher M geschrieben werden sollen, mit den Daten, die bereits im Speicher M gespeichert sind. Hierfür ermittelt die Steuereinheit CU, wie viele Bits in jedem Sektor gelöscht werden müssten, und die Verteilung der Bits über die Sektoren hinweg. In Abhängigkeit dieser Information entscheidet die Steuereinheit CU, ob das Löschen eines ganzen Sektors effizienter ist als das Löschen von Doppelbits. Außer von der Anzahl der notwendigen Programmier- und Löschzyklen kann das Effizienzkriterium auch von anderen Faktoren, wie etwa Energieverbrauch und der erforderlichen Programmiergeschwindigkeit, abhängen.
  • Das Register R wird benutzt, um im Doppelbit-Programmiermodus Werte wie etwa die Adresse oder die Anfangszustände der Bits, die nicht gelöscht werden sollen, zu speichern.
  • In 12 und 13 werden die Operationen gegenübergestellt, die zum Schreiben von Daten mittels eines Verfahrens nach Stand der Technik bzw, mittels des erfindungsgemäßen Verfahrens notwendig sind. Der Buchstabe "E" zeigt ein Löschen des Doppelbits an, der Buchstabe "P" das Programmieren eines der Bits, und ein "/" wird benutzt, um anzuzeigen, dass keine Operation ausgeführt wird.
  • 12 zeigt alle 16 möglichen Übergänge von Anfangszuständen IS zu Endzuständen FS in einem Speicher nach dem Stand der Technik. Es ist ersichtlich, dass bei allen 16 möglichen Übergängen das Doppelbit gelöscht wird. Die Bits werden daraufhin einzeln programmiert, um den gewünschten Endzustand zu erreichen. Da in einer Spalte alle Endzustände identisch sind, sind auch alle Aktionen in jeder Spalte jeweils identisch. Unter der Annahme, dass alle 16 möglichen Übergänge gleich wahrscheinlich sind, sind durchschnittlich 16 Löschoperationen "E" und 16 Programmieroperationen "P" erforderlich.
  • 13 stellt die nach dem erfindungsgemäßen Verfahren erforderlichen Operationen dar. Eine Löschoperation "E" wird nur ausgeführt, wenn ein Bit in dem Doppelbit von einem "0"-Zustand in einen "1"-Zustand überführt werden muss. Falls der Anfangszustand und der Endzustand gleich sind, werden überhaupt keine Operationen ausgeführt. In Fällen, bei denen keine Löschoperation notwendig ist, wird nur das zu programmierende Bit programmiert. Falls der Endzustand nur durch Löschen erreicht werden kann, wird keine weitere Programmierung vorgenommen. Eine Neuprogrammierung nach einer Löschoperation erfolgt nur, falls der Endzustand nicht bereits erreicht worden ist.
  • Im Gegensatz zum Stand der Technik werden durchschnittlich nur 10 statt 16 Programmieroperationen "P" benötigt, und die Anzahl der Löschoperationen "E" wurde von 16 auf 7 reduziert. Unter der Annahme, dass die Lösch- und Programmierzeiten proportional zur Anzahl der zu löschenden Doppelbits und der Anzahl der zu programmierenden Bits sind, wird in gleichem Maße die Leistungsaufnahme reduziert. Da weniger Lösch- und Programmierschritte ausgeführt werden, ist der Speicher schneller und gleichzeitig wird die Anzahl der Zyklen, die jede einzelne Speicherzelle durchläuft reduziert. Auf diese Weise wird die Zuverlässigkeit und die Lebensdauer des Speichers gesteigert.
  • Die Vorteile der Erfindung werden noch offenkundiger, wenn man bedenkt, dass bei bekannten Flashspeichern jeder Löschzyklus tatsächlich aus drei separaten Schritten besteht. In einem ersten Schritt, der vor dem eigentlichen Löschschritt ausgeführt wird, werden die Speicherzellen vorprogrammiert, um zu gewährleisten, dass alle Speicherzellen ungefähr die gleichen Schwellwerte besitzen. Dies geschieht, um die Wahrscheinlichkeit zu verringern, dass im zweiten Schritt, bei dem die Speicherzellen gelöscht werden, die Speicherzellen übermäßig gelöscht werden oder verarmen. In einem dritten Schritt, der nach dem Löschschritt ausgeführt wird und „Soft-Programmierung" genannt wird, werden die gelöschten Speicherzellen mit Spannungen programmiert, die unter der normalen Programmierspannung liegen, um zu gewährleisten, dass die Speicherzellen ungefähr die gleichen Schwellwerte aufweisen. Die Erfindung kann bei jedem dieser drei Schritte angewendet werden, so dass sich die Auswirkungen ihrer Vorteile multiplizieren.
  • A
    Adresseinheit
    AD
    Adresse
    A1 bis A7
    Aktionen
    B1
    erstes Bit
    B2
    zweites Bit
    BL
    Bitleitung
    BL1
    erste Bitleitung
    BL2
    zweite Bitleitung
    BL3
    dritte Bitleitung
    BLD
    Bitleitungsdekodierer
    BO
    untere Oxidschicht
    C
    Befehl
    CU
    Steuereinheit
    DA
    Daten
    DB
    Doppelbit
    FS
    Endzustand
    G
    Gate
    IS
    Anfangszustand
    M
    Speicherfeld
    MC
    Speicherzelle
    MC1
    erste Speicherzelle
    MC2
    zweite Speicherzelle
    NL
    Nitridschicht
    ONO
    Oxid-Nitrid-Oxid-Schich
    Q0 bis Q5
    Abfragen
    R
    Register
    S/D
    Source/Drain
    SB
    Halbleitersubstrat
    SC
    Sektor
    S0 bis S5
    Zustände
    TO
    obere Oxidschicht
    VWL
    Wortleitungspotential
    VBL1
    Potential der ersten Bitleitung
    VBL2
    Potential der zweiten Bitleitung
    VBL3
    Potential der dritten Bitleitung
    WL
    Wortleitung
    WLD
    Wortleitungsdekodierer
    X
    erste Richtung
    Y
    zweite Richtung

Claims (14)

  1. Verfahren zum Schreiben von Daten in einen nichtflüchtigen Halbleiterspeicher, wobei der Halbleiterspeicher Folgendes umfasst: – eine Vielzahl von Speicherzellen (MC), – eine Vielzahl von Bitleitungen (BL) und – eine Vielzahl von Wortleitungen (WL), wobei – jede Speicherzelle (MC) einen Gate-Kontakt (G), einen ersten Source-/Drain-Kontakt (S/D) und einen zweiten Source-/Drain-Kontakt (S/D) aufweist und Speicher für ein erstes Bit (B1) und ein zweites Bit (B2) bereitstellt, wobei in dem ersten Bit (B1) und in dem zweiten Bit (B2) jeweils ein programmierter oder ein gelöschter Zustand gespeichert werden kann, – die Speicherzellen (MC) in Zeilen entlang einer ersten Richtung (X) und in Spalten entlang einer zweiten Richtung (Y) angeordnet sind, – in jeder Zeile die Gate-Kontakte (G) der Speicherzellen (MC) an jeweils eine selbe Wortleitung (WL) aus der Vielzahl von Wortleitungen (WL) angeschlossen sind, – in jeder Zeile jede Speicherzelle (MC) über jeweils einen ihrer Source-/Drain-Kontakte (S/D) an eine benachbarte Speicherzelle (MC) angeschlossen ist, – in jeder Spalte die Source-/Drain-Kontakte (S/D) jeder der Speicherzellen (MC) an jeweils eine selbe Bitleitung (BL) aus der Vielzahl von Bitleitungen (BL) angeschlossen sind, – erste Speicherzellen (MC1) und zweite Speicherzellen (MC2) Speicherzellen (MC) sind, die entlang von Zeilen aneinander angrenzen, dadurch gekennzeichnet, dass die Anfangszustände, die im ersten Bit (B1) einer zweiten Speicherzelle (MC2) und im zweiten Bit (B2) einer entsprechenden ersten Speicherzelle (MC1) gespeichert sind, in Endzustände überführt werden, indem ein Schritt in der Gruppe aus den Schritten a), b), c) und d) ausgeführt wird: – Schritt a) wird ausgeführt, wenn die Endzustände sowohl des ersten Bits (B1) als auch des zweiten Bits (B2) mit den jeweiligen Anfangszuständen dieser Bits übereinstimmen, und umfasst das Aufrechterhalten der Anfangszustände des ersten Bits (B1) und des zweiten Bits (B2), – Schritt b) wird ausgeführt, wenn sowohl das erste Bit (B1) als auch das zweite Bit (B2) gelöschte Endzustände aufweisen und die Anfangszustände sowohl des ersten Bits (B1) als auch des zweiten Bits (B2) nicht gelöscht waren, und umfasst das Löschen sowohl des ersten Bits (B1) als auch des zweiten Bits (B2), – Schritt c) wird ausgeführt, wenn weder das erste Bit (B1) noch das zweite Bit (B2) von einem programmierten Anfangszustand in einen gelöschten Endzustand überführt werden sollen, und umfasst das Programmieren des ersten Bits (B1), falls das erste Bit (B1) von einem gelöschten Anfangszustand in einen programmierten Endzustand überführt werden soll, und das Programmieren des zweiten Bits (B2), falls das zweite Bit (B2) von einem gelöschten Anfangszustand in einen programmierten Endzustand überführt werden soll, – Schritt d) wird ausgeführt, wenn nur das erste Bit (B1) oder das zweite Bit (B2) von einem programmierten Anfangszustand in einen gelöschten Endzustand überführt werden soll, und umfasst zunächst das Löschen sowohl des ersten Bits (B1) als auch des zweiten Bits (B2) und dann das Programmieren des ersten Bits (B1), falls das erste Bit (B1) im Endzustand programmiert ist, oder das Programmieren des zweiten Bits (B2), falls das zweite Bit (B2) im Endzustand programmiert ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in den Schritten b) und d) das erste Bit (B1) der zweiten Speicherzelle (MC2) und das zweite Bit (B2) der ersten Speicherzelle (MC1) bezüglich aller anderen, in dem Halbleiterspeicher gespeicherten Bits selektiv gelöscht werden.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das selektive Löschen sowohl des ersten Bits (B1) als auch des zweiten Bits (B2) in den Schritten b) und d) die folgenden Schritte umfasst: – Anlegen eines Wortleitungspotentials (VWL) an die Wortleitung (WL), die mit dem Gate-Kontakt (G) der ersten Speicherzelle (MC1) und dem Gate-Kontakt (G) der zweiten Speicherzelle (MC2) verbunden ist, – Anlegen eines zweiten Bitleitungspotentials (VBL2), das höher als das Wortleitungspotential (VWL) ist, an die Bitleitung (BL2), die mit dem zweiten Source-/Drain-Kontakt (S/D) der ersten Speicherzelle (MC1) und dem ersten Source-/Drain-Kontakt (S/D) der zweiten Speicherzelle (MC2) verbunden ist, – Unterlassen des Anlegens eines Potentials (VBL1) an die Bitleitung (BL1), die mit dem ersten Source-/Drain-Kontakt (S/D) der ersten Speicherzelle (MC1) verbunden ist, und Unterlassen des Anlegens eines Potentials (VBL3) an die Bitleitung (BL3), die mit dem zweiten Source-/Drain-Kontakt (S/D) der zweiten Speicherzelle (MC2) verbunden ist.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das Löschen sowohl des ersten Bits (B1) als auch des zweiten Bits (B2) in den Schritten b) und d) Folgendes umfasst: – Prüfen, ob sowohl das erste Bit (B1) als auch das zweite Bit (B2) gelöscht wurden, und – Wiederholen des Schritts des Löschens, bis sowohl das erste Bit (B1) als auch das zweite Bit (B2) gelöscht sind.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Programmieren des ersten Bits (B1) und des zweiten Bits (B2) in den Schritten c) bzw. d) Folgendes umfasst: – Anlegen eines Wortleitungspotentials (VWL) an die Wortleitung (WL), die mit dem Gate-Kontakt (G) der ersten Speicherzelle (MC1) und den Gate-Kontakt (G) der zweiten Speicherzelle (MC2) verbunden ist, – Anlegen eines zweiten Bitleitungspotentials (VBL2), das niedriger als das Wortleitungspotential (VWL) ist, an die Bitleitung (BL2), die mit dem zweiten Source-/Drain-Kontakt (S/D) der ersten Speicherzelle (MC1) und dem ersten Source-/Drain-Kontakt (S/D) der zweiten Speicherzelle (MC2) verbunden ist, – Anlegen eines dritten Bitleitungspotentials (VBL3), das niedriger als das zweite Bitleitungspotential (VBL2) ist, an die Bitleitung (BL3), die mit dem zweiten Source-/Drain-Kontakt (S/D) der zweiten Speicherzelle (MC2) verbunden ist, und Unterlassen des Anlegens eines Potentials (VBL1) an die Bitleitung (BL1), die mit dem ersten Source-/Drain-Kontakt (S/D) der ersten Speicherzelle (MC1) verbunden ist, falls das erste Bit (B1) in der zweiten Speicherzelle (MC2) im Endzustand programmiert sein soll, und – Anlegen eines ersten Bitleitungspotentials, das niedriger als das zweite Bitleitungspotential (VBL2) ist, an die Bitleitung (BL1), die mit dem ersten Source-/Drain-Kontakt (S/D) der ersten Speicherzelle (MC1) verbunden ist, und Unterlassen des Anlegens eines Potentials (VBL3) an die Bitleitung (BL3), die mit dem zweiten Source-/Drain-Kontakt (S/D) der zweiten Speicherzelle (MC2) verbunden ist, falls das zweite Bit (B2) der ersten Speicherzelle (MC1) im Endzustand programmiert sein soll.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass das Programmieren des ersten Bits (B1) und des zweiten Bits (B2) in den Schritten c) bzw. d) Folgendes umfasst: – Prüfen, nach dem Programmieren, ob der gewünschte programmierte Endzustand in dem ersten Bit (B1) bzw. in dem zweiten Bit (B2) gespeichert ist, und – falls der gewünschte programmierte Endzustand nicht in dem ersten Bit (B1) bzw. dem zweiten Bit (B2) gespeichert ist, Wiederholen des Programmierens sowohl des ersten Bits (B1) bzw. des zweiten Bits (B2), bis der gewünschte programmierte Endzustand im ersten Bit (B1) bzw. im zweiten Bit (B2) gespeichert ist.
  7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in Schritt d) – die Anfangszustände des ersten Bits (B1) und des zweiten Bits (B2) vor dem Schritt des Löschens des ersten Bits (B1) und des zweiten Bits (B2) gespeichert werden und – die gespeicherten Werte zum Programmieren jeweils des ersten Bits (B1) und des zweiten Bits (B2) auf ihren jeweiligen Anfangswert benutzt werden.
  8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Anzahl der in den Halbleiterspeicher zu schreibenden Datenbits bestimmt wird, bevor einer der Schritte a) bis d) ausgeführt wird.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass Speicherzellen (MC) in Sektoren (SC) gruppiert sind, wobei jeder Sektor (SC) eine vorbestimmte Anzahl von Speicherzellen (MC) enthält, wobei das Schreiben von Daten in die Speicherzellen (MC) eines Sektors (SC) Folgendes umfasst: – Löschen aller Speicherzellen (MC) im Sektor (SC) und sodann Programmieren der erforderlichen Speicherzellen (MC), falls die Anzahl der in den Halbleiterspeicher zu schreibenden Datenbits einen vorbestimmten Bruchteil der vorbestimmten Anzahl von Speicherzellen (MC) in einem Sektor (SC) übersteigt, und – Unterlassen der Ausführung der Schritte a) bis d).
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass es sich bei den Speicherzellen (MC) um programmierbare Nitrid-Festwertspeicherzellen handelt.
  11. Nichtflüchtiger Halbleiterspeicher, umfassend eine Vielzahl von Speicherzellen (MC), die in Sektoren (SO) gruppiert und mit einer Vielzahl von Wortleitungen (WL) und einer Vielzahl von Bitleitungen (BL) verbunden sind, einen Wortleitungsdekodierer (WLD) und einen Bitleitungsdekodierer (BLD), die an eine Adresseinheit (A) angeschlossen sind, wobei – jede Speicherzelle (MC) ein erstes Bit (B1) und ein zweites Bit (B2) speichert, – die Wortleitungen (WL) und Bitleitungen (BL) die Speicherzellen (MC) so anschließen, dass ein Virtual Ground Array gebildet wird, dadurch gekennzeichnet, dass – eine Steuereinheit (CU) die Adresseinheit (A) so steuert, dass diese umschaltet zwischen: – Adressieren ganzer Sektoren (SC) von Speicherzellen (MC) und – Adressieren der ersten Bits (B1) von zweiten Speicherzellen (MC2) und der zweiten Bits (B2) von ersten Speicherzellen (MC1), wobei die ersten Speicherzellen (MC1) und die zweiten Speicherzellen (MC2) jeweils mit derselben Wortleitung (WL) und derselben Bitleitung (BL) verbunden wird.
  12. Halbleiterspeicher nach Anspruch 11, dadurch gekennzeichnet, dass die Steuereinheit (CU) in Abhängigkeit von der Anzahl der in den Speicher (M) zu schreibenden Bits zwischen dem Adressieren ganzer Sektoren (SC) und dem Adressieren erster Bits (B1) und zweiter Bits (B2) umschaltet.
  13. Halbleiterspeicher nach Anspruch 11, dadurch gekennzeichnet, dass die Steuereinheit (CU) in Abhängigkeit des zum Schreiben von Daten in den Speicher (M) benutzten Befehls (C) zwischen dem Adressieren ganzer Sektoren (SC) und dem Adressieren erster Bits (B1) und zweiter Bits (B2) umschaltet.
  14. Halbleiterspeicher nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass es sich bei den Speicherzellen (MC) um programmierbare Nitrid-Festwertspeicherzellen handelt.
DE102005028217A 2005-05-11 2005-06-17 Nichtflüchtiger Halbleiterspeicher und Verfahren zum Schreiben von Daten in einen nichtflüchtigen Halbleiterspeicher Expired - Fee Related DE102005028217B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/127,022 2005-05-11
US11/127,022 US7187589B2 (en) 2005-05-11 2005-05-11 Non-volatile semiconductor memory and method for writing data into a non-volatile semiconductor memory

Publications (1)

Publication Number Publication Date
DE102005028217B3 true DE102005028217B3 (de) 2006-11-09

Family

ID=37111708

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005028217A Expired - Fee Related DE102005028217B3 (de) 2005-05-11 2005-06-17 Nichtflüchtiger Halbleiterspeicher und Verfahren zum Schreiben von Daten in einen nichtflüchtigen Halbleiterspeicher

Country Status (5)

Country Link
US (1) US7187589B2 (de)
JP (1) JP2006318633A (de)
CN (1) CN1862705B (de)
DE (1) DE102005028217B3 (de)
TW (1) TWI304986B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295477B2 (en) * 2005-09-16 2007-11-13 Infineon Technologies Flash Gmbh & Co. Kg Semiconductor memory device and method for writing data into the semiconductor memory device
CN102067233B (zh) * 2008-06-12 2014-03-12 桑迪士克科技股份有限公司 使用索引编程和减少的验证的非易失性存储器和方法
TWI426384B (zh) * 2009-09-10 2014-02-11 Robustflash Technologies Ltd 資料寫入方法與系統
KR102593352B1 (ko) * 2016-05-04 2023-10-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829173B2 (en) * 2002-05-23 2004-12-07 Renesas Technology Corp. Semiconductor memory device capable of accurately writing data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990088517A (ko) * 1998-05-22 1999-12-27 마 유에 예일 비휘발성메모리셀구조및비휘발성메모리셀을작동시키는방법
US6490204B2 (en) * 2000-05-04 2002-12-03 Saifun Semiconductors Ltd. Programming and erasing methods for a reference cell of an NROM array

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829173B2 (en) * 2002-05-23 2004-12-07 Renesas Technology Corp. Semiconductor memory device capable of accurately writing data

Also Published As

Publication number Publication date
TWI304986B (en) 2009-01-01
US20060256621A1 (en) 2006-11-16
TW200639866A (en) 2006-11-16
CN1862705A (zh) 2006-11-15
US7187589B2 (en) 2007-03-06
CN1862705B (zh) 2010-05-12
JP2006318633A (ja) 2006-11-24

Similar Documents

Publication Publication Date Title
DE60216010T2 (de) Verfahren und Schaltung zum Auslesen von Doppelbit-Speicherzellen unter Verwendung einer Vielzahl von Doppelbit-Referenz-Speicherzellen, die beidseitig gelesen werden
DE60212661T2 (de) Hintergrund-ausführung einer operation mit speicherzellen
DE3842511C2 (de)
DE102005037287B3 (de) Nicht-flüchtiger Halbleiterspeicher und Verfahren zum Bestimmen einer Lesespannung zum Auslesen von Daten aus derartigen Speichern
DE60206624T3 (de) Segmentierung der bitleitung und des steuergates in einem nichtflüchtigen speicher
DE60225005T2 (de) Nichtflüchtiger speicher mit verbessertem programmieren und verfahren dafür
DE19880311B3 (de) Nichtflüchtige Speicherstruktur
DE19882933B4 (de) Flash-Speicher-Unterteilung für Lese-während-Schreiboperationen
DE19860871B4 (de) Leistungsunabhängiger Halbleiterspeicherbaustein und Verfahren zur Ansteuerung von dessen Wortleitungen
DE102005033165B4 (de) Nichtflüchtiges Speicherbauelement, Programmier- und Schreibverfahren
DE10026993B4 (de) Flash-Speicherbauelement mit einer neuen Redundanzansteuerschaltung
DE102006003260A1 (de) Nichtflüchtiges Halbleiterspeicherbauelement mit Zellenkette
DE4000787A1 (de) Elektrischer, seitenweise loeschbarer und programmierbarer nurlesespeicher
DE102005017828A1 (de) Verfahren zum Lesen von Speicherfeldern
DE102008007685B4 (de) Integrierte Schaltung und Verfahren zum Betreiben einer integrierten Schaltung
DE102005017534A1 (de) Nichtflüchtige ferroelektrische Speichervorrichtung
DE602005004553T2 (de) Flash-speichereinheit und verfahren zur programmierung einer flash-speichereinheit
DE19743555C2 (de) Nichtflüchtiges Speicherbauteil
DE102005031892B4 (de) Verfahren zum Programmieren von Multi-Bit-Charge-Trapping-Speicherzellenanordnungen und Speicherbauelement
DE60102466T2 (de) Zwei-tor cam speicher für simultanen flash speicher betrieb
DE102005028217B3 (de) Nichtflüchtiger Halbleiterspeicher und Verfahren zum Schreiben von Daten in einen nichtflüchtigen Halbleiterspeicher
DE69833348T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102005055292A1 (de) Halbleiterspeicher und Verfahren zum Betreiben eines Halbleiterspeichers, der eine Vielzahl von Speicherzellen umfasst
DE69828669T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE112019007183T5 (de) ReRAM-Speicherzelle mit Doppelwortleitungssteuerung

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee