DE102005020796B4 - Halbleiterspeicherbauelement und Programmierverfahren - Google Patents

Halbleiterspeicherbauelement und Programmierverfahren Download PDF

Info

Publication number
DE102005020796B4
DE102005020796B4 DE200510020796 DE102005020796A DE102005020796B4 DE 102005020796 B4 DE102005020796 B4 DE 102005020796B4 DE 200510020796 DE200510020796 DE 200510020796 DE 102005020796 A DE102005020796 A DE 102005020796A DE 102005020796 B4 DE102005020796 B4 DE 102005020796B4
Authority
DE
Germany
Prior art keywords
programming
programming method
voltage
speed
memory device
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
DE200510020796
Other languages
English (en)
Other versions
DE102005020796A1 (de
Inventor
Sang-Won Suwon Hwang
Jin-Yub Lee
Bum-Soo Seongnam Kim
Kwang-Yoon Seongnam Lee
Chan-Ik Park
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020040031883A external-priority patent/KR100632940B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102005020796A1 publication Critical patent/DE102005020796A1/de
Application granted granted Critical
Publication of DE102005020796B4 publication Critical patent/DE102005020796B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G11C11/5621Digital 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 using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

Speicherprogrammierverfahren, bei dem
– eine erste Programmierung von vorgegebenen Speicherzellen in einem ersten Speicherbereich (110A) mit einem ersten Programmierverfahren durchgeführt wird und
– ein Ergebnis der ersten Programmierung bestätigt wird,
gekennzeichnet durch die Schritte:
– Durchführen einer zweiten Programmierung von vorgegebenen Speicherzellen in einem zweiten Speicherbereich (110B) mit einem vom ersten verschiedenen, zweiten Programmierverfahren, wenn das Ergebnis der ersten Programmierung als korrekt bestätigt ist,
– wobei eine Anfangsprogrammierspannung des zweiten Programmierverfahrens von derjenigen des ersten Programmierverfahrens verschieden ist.

Description

  • Die Erfindung betrifft ein Speicherprogrammierverfahren nach dem Oberbegriff des Anspruchs 1 und ein entsprechend programmierbares Halbleiterspeicherbauelement.
  • Neuere Entwicklungen bei Speicheranwendungen, wie z. B. Massenspeicher, Codespeicher und andere Multimedianwendungen, erfordern eine ansteigende Anzahl von Speicherbauelementen mit hoher Dichte. Massenspeicheranwendungen umfassen Speicherkarten, z. B. für tragbare Computer, Festkörperspeicher, z. B. widerstandsfähige und/oder zuverlässige Speicherplatten, digitale Kameras zum Aufnehmen von stehenden oder bewegten Bildern und Ton, und Sprach- oder Audiorekorder für Aufnahmen mit quasi CD-Tonqualität. Codespeicheranwendungen umfassen BIOS-Anwendungen (Basic-Input/Output-System-Anwendungen) und Netzwerkanwendungen wie z. B. Speicher in einem Personalcomputer (PC) und anderen Endgeräten, in Netzverbindern (Routern) und Knotenpunkten (Hubs), in Telekommunikationsanwendungen, wie z. B. Vermittlungen, und in Mobiltelefonanwendungen, wie z. B. Codes und/oder Daten, sowie Anwendungen in anderen tragbaren elektronischen Informationsgeräten, wie z. B. Codes und/oder Daten für persönliche digitale Assistenten (PDAs), Palm-Betriebssysteme (POS) und persönliche Kommunikationsassistenten (PCAs).
  • In der Regel benutzen Massenspeicheranwendungen kostengünstigere Speicher mit einer höheren Dichte und/oder einer besseren Programmier-/Löschzykluslebensdauer, während Codespeicheranwendungen einen schnelleren direkten Zugriff aufweisen und/oder intern ausführbar sind (XIP).
  • Bekannte Speicher umfassen dynamische Speicher mit direktem Zugriff (DRAM), statische Speicher mit direktem Zugriff (SRAM) und nichtflüchtige Speicher (NVM). Nichtflüchtige Speicher umfassen maskierte Nur-Lesespeicher (ROM), löschbare, programmierbare Nur-Lesespeicher (EPROM), elektrisch löschbare, programmierbare Nur-Lesespeicher (EEPROM), Flashspeicher, z. B. flash-löschbare EEPROMs, und ferroelektrische Speicher. Nichtflüchtige Speicher verlieren keine Daten, wenn die Versorgungsspannung fehlt, erlauben aber normalerweise keinen wahlfreien Zugriff und sind im Allgemeinen langsamer als flüchtige Speicher.
  • Flashspeicher können aus einer Kombination von löschbaren, programmierbaren Nur-Lesespeichern (EPROM) und elektrisch löschbaren, programmierbaren Nur-Lesespeichern (EEPROM) aufgebaut sein, und zwar als NAND- oder NOR-Flashspeicher. Lösch- und Programmiervorgänge können in einem Flashspeicher durch Anlegen von verschiedenen Spannungen an jede Flashspeicherzelle ausgeführt werden.
  • NAND-Flashspeicher umfassen eine Kette von in Reihe geschalteten Zellen, z. B. kann eine Kette aus 16 Zellen bestehen. Die Kette weist einen oder mehrere Kettenauswahltransistoren auf. NAND-Flashspeicher besitzen einen relativ kleinen „An-Zellenstrom" und daher eine relativ langsame Abtastzeit, z. B. 10 ms bis 25 ms, und führen einen Lesevorgang durch gleichzeitiges Abtasten von Seiteneinheiten, z. B. 512 Bytes, und Zwischenspeichern in Seitenpuffern aus. NAND-Flashspeicher können Daten mit einer relativ hohen Geschwindigkeit, z. B. 50 ns, aus einem Seitenpufferspeicher auslesen.
  • NAND-Flashspeicher können Programmier- und/oder Löschvorgänge durch einen Tunnelvorgang ausführen, z. B. durch Fowler-Nordheim-Tunneln (F-N-Tunneln). Ein Programmiervorgang kann einen relativ schnellen seriellen Datenladevorgang in einen Seitenpuffer umfassen, z. B. 50 ns, durch welchen Zellen gleichzeitig programmiert werden, beispielsweise 512 Bytes. Ein Löschvorgang kann in Blockeinheiten erfolgen, wobei eine Anzahl von Seiten, z. B. 32 Seiten mit 16k-Bytes Zellen, gleichzeitig gelöscht werden.
  • Ein zuverlässiger F-N-Tunnelvorgang kann bei ungefähr 10 mV/cm ausgeführt werden, woraus ein niedriger Energieverbrauch, eine niedrigere Temperaturabhängigkeit, einheitlichere Programmier-/Löschvorgänge und/oder einfachere Bauelement-/Spannungsskalierungen resultieren können.
  • NAND-Flashprogrammiervorgänge können eine Kopplung zwischen einem Gate und einem Kanal verwerten. Eine zu programmierende Zelle kann beispielsweise eine höhere Spannungsdifferenz zwischen dem Gate und dem Kanal als eine nicht zu programmierende Zelle aufweisen. Zudem können NAND-Flashprogrammiervorgänge eine Schwellwertspannungsverteilung benutzen, wie sie in einem Beispiel aus 1 ersichtlich ist. 1 zeigt das Verhältnis zwischen einer Wortleitungsspannung Vword, z. B. 0 V, einer Lesespannung Vread und einer Zellenspannungsverteilung Vth einer unprogrammierten oder gelöschten Zelle und einer programmierten Zelle. In 1 repräsentiert die y-Richtung die Schwellwertspannung der Speicherzelle und die x-Richtung reprä sentiert die Anzahl der Zellen mit einer bestimmten Schwellwertspannung.
  • Herkömmlich wird eine Zellenspannungsverteilung Vth durch eine Inkrementschrittimpulsprogrammierung (ISPP) gesteuert. Beispielhafte ISPPs sind in 2A und 2B dargestellt. 2A zeigt ein Ausführungsbeispiel einer bekannten ISPP, bei welcher die Pulsweite und die Amplitude gleich bleiben. Wie aus 2A ersichtlich ist, wird eine Spannung V0 von beispielsweise 18 V während einer Programmierperiode von beispielsweise 30 μs angelegt und eine andere Spannung V1 von beispielsweise 1,2 V wird während einer Verifizierperiode von beispielsweise 5 μs angelegt. 2B zeigt ein anderes Ausführungsbeispiel einer bekannten ISPP, bei welcher die Pulsweite gleich bleibt und die Amplitude variiert wird. Wie aus 2B ersichtlich ist, wird eine Spannung V0 von beispielsweise 15 V während einer ersten Programmierperiode von beispielsweise 30 μs angelegt und um beispielsweise 0,5 V bei jeder nachfolgenden Programmierperiode erhöht, bis eine Endspannung von beispielsweise 19V erreicht wird. Eine andere Spannung V1 von beispielsweise 1,2 V wird während jeder Verifizierperiode von beispielsweise 5 μs angelegt. In den 2A und 2B beträgt die Gesamtdauer ungefähr 250 μs. Die Variation der Zellenspannung Vth und die Zyklenanzahl gemäß 2B ist in vorteilhafter Weise kleiner als in 2A.
  • 3 zeigt ein aus dem Stand der Technik bekanntes Überprogrammierungsproblem. Ist die Zellenschwellwertspannung Vth höher als die Lesespannung Vread, dann wird ein Lesevorgang für eine NAND-Zellenkette eventuell nicht richtig ausgeführt. Es gibt bekannte Verfahren, welche während einer ISPP eine Überprogrammierung verhindern.
  • Bekannte Verfahren benutzen zudem ein Flagsignal oder eine andere Markierung, um anzuzeigen, dass ein normaler Zellenprogrammiervorgang ordnungsgemäß beendet wurde, aufgrund der relativ langen Pro grammierzeit von ungefähr 250 μs, wie oben angegeben, vor allem auch für NAND-Flashspeicher. Während dieser relativ langen Programmierzeit kann ein Abschaltvorgang oder eine andere ähnliche Unterbrechung auftreten. Das Flagsignal oder die andere Markierung werden benutzt, um zu bestätigen, dass der Programmiervorgang abgeschlossen ist. 4A zeigt ein Beispiel, in welchem das Flagsignal oder die andere Markierung, z. B. eine Bestätigungsmarkierung, abgeschlossen wurde, und 4B zeigt ein Beispiel, in welchem die normale Programmierung und/oder das Flagsignal oder die andere Markierung nicht abgeschlossen wurde.
  • Bei bekannten Verfahren, in welchen normale Zellenprogrammiervorgänge ausgeführt werden, wird eine Feststellung getroffen, ob der Vorgang abgeschlossen ist, und wenn dies der Fall ist, wird das Flagsignal oder die andere Markierung geschrieben. Das Flagsignal oder die andere Markierung kann in einen Ersatzzellenbereich des Speichers geschrieben werden.
  • 5A zeigt eine bekannte normale Zellenprogrammierung und Bestätigung der Zellenprogrammierung sowie eine bekannte normale Dauer der Zellenprogrammierung und Bestätigung der Zellenprogrammierung. Wie aus 5A ersichtlich ist, umfasst die bekannte normale Dauer der Zellenprogrammierung und Bestätigung der Zellenprogrammierung Zyklen aus einer Programmierperiode und einer Verifizierungsperiode. 5B zeigt ein Beispiel einer Speicherposition, in welche gemäß dem Stand der Technik die bekannte normale Zellenprogrammierung und Bestätigung der Zellenprogrammierung geschrieben werden können. Wie aus 5B ersichtlich, gilt für das Schreiben der Zellenprogrammierung:
    1 Seite/1 Programmierungszeit = 512 Byte/1 Programmierungszeit = 4k Bit/250 μs (200 μs ~ 300 μs) = 16,4 Bit/1 μs.
  • Für das Schreiben der Bestätigungsmarkierung gilt:
    1 Bit/1 Programmierungszeit = 1 Bit/ 250 μs = 0,004 Bit/1 μs.
  • Aus den obigen Ausführungen ergibt sich, dass bei diesen herkömmlichen Techniken das Schreiben der Bestätigungsmarkierung deutlich weniger effizient als das Schreiben der Zellenprogrammierung ist.
  • Die Offenlegungsschrift DE 199 11 794 A1 offenbart ein weiteres herkömmliches Verfahren mit Markierungsanzeige eines ordnungsgemäß abgeschlossenen Speicherzellenprogrammiervorgangs. Speziell wird dort zur Anzeige eines fehlerfreien Programmiervorgangs in einem Hauptspeicherbereich als letzter Programmierschritt eine bestimmte Kennung in einen Abschnitt des Speicherbereichs geschrieben, vorzugsweise einen zuletzt programmierten Abschnitt des Hauptspeicherbereichs, so dass durch eine Auswertung dieser gespeicherten Kennung ermittelt werden kann, ob der Nutzdaten-Schreibvorgang vollständig ausgeführt wurde.
  • Es ist Aufgabe der Erfindung, ein Programmierverfahren mit gegenüber dem oben erwähnten Stand der Technik reduzierter Programmierungszeit anzugeben und ein Halbleiterspeicherbauelement zur Verfügung zu stellen, welches einen Flashspeicher mit einer dementsprechend reduzierten Programmierungszeit umfasst.
  • Die Erfindung löst diese Aufgabe durch ein Programmierverfahren mit den Merkmalen des Patentanspruchs 1 und durch ein Halbleiterspeicherbauelement mit den Merkmalen des Patentanspruchs 25.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie die zu deren besserem Verständnis oben erläuterten, herkömmlichen Ausführungsbeispiele sind in den Zeichnungen dargestellt.
  • Es zeigen:
  • 1 ein Diagramm zur Darstellung von Zusammenhängen zwischen einer Wortleitungsspannung Vword, einer Lesespannung Vread und einer Zellenspannungsverteilung Vth einer unprogrammierten oder gelöschten Zelle und einer programmierten Zelle,
  • 2A und 2B jeweils ein Diagramm eines Beispiels einer Inkrementschrittimpulsprogrammierung (ISPP),
  • 3 ein Diagramm zur Darstellung eines bekannten Überprogrammierungsproblems,
  • 4A ein Diagramm zur Darstellung eines Programmierbeispiels, bei welchem eine Bestätigungsmarkierung erfolgreich abgeschlossen wird,
  • 4B ein Diagramm zur Darstellung eines Programmierbeispiels, bei welchem eine Bestätigungsmarkierung nicht erfolgreich abgeschlossen wird,
  • 5A ein Diagramm zur Darstellung einer bekannten normalen Zellenprogrammierung und Bestätigung der Zellenprogrammierung und der hierzu benötigten Zeitdauern,
  • 5B eine schematische Darstellung einer Speicherposition, in welche die bekannte normale Zellenprogrammierung und die bekannte Bestätigung der Zellenprogrammierung geschrieben werden können,
  • 6A, 6B und 6C jeweils ein Diagramm zur Darstellung von verschiedenen Programmierverfahren für ein Flagsignal, ein Steuerflagsignal, eine Markierung, eine Steuermarkierung oder für eine andere Steuerinformation und für Zellendaten gemäß der Erfindung,
  • 7A und 7B Diagramme zum Vergleich eines herkömmlichen Programmierverfahrens und eines erfindungsgemäßen Programmierverfahrens,
  • 8A und 8B jeweils ein Flussdiagramm von Ausführungsbeispielen des erfindungsgemäßen Programmierverfahrens,
  • 9A bis 9D jeweils ein Diagramm zur Darstellung einer Anwendung von zwei verschiedenen Programmierverfahren in erfindungsgemäßen Ausführungsbeispielen,
  • 10A bis 10D jeweils ein Blockdiagramm zur Darstellung eines Speicherzellenfelds und Belegungen desselben für erfindungsgemäße Ausführungsbeispiele,
  • 11A ein Blockdiagramm eines Hauptspeicherfelds und eines Ersatzspeicherfelds in einem erfindungsgemäßen Ausführungsbeispiel,
  • 11B ein Flussdiagramm eines Schreibvorgangs in ein NAND-Flashspeicherzellenfeld in einem erfindungsgemäßen Ausführungsbeispiel,
  • 12A und 12B jeweils ein Flussdiagramm eines gegenüber 8A und 8B allgemeineren erfindungsgemäßen Verfahrensbeispiels,
  • 13 ein Blockschaltbild eines erfindungsgemäßen Halbleiterspeicherbauelements,
  • 14A ein Blockschaltbild eines Ausführungsbeispiels eines Wortleitungsspannungsgenerators des Halbleiterspeicherbauelements aus 13,
  • 14B ein Schaltbild eines Ausführungsbeispiels eines Spannungsteilers des Wortleitungsspannungsgenerators aus 14A,
  • 14C ein Schaltbild eines Ausführungsbeispiels eines Komparators des Wortleitungsspannungsgenerators aus 14A und
  • 15A und 15B jeweils ein Zeitablaufdiagramm von dualen Programmierungsvorgängen gemäß der Erfindung.
  • Die 6A, 6B und 6C zeigen die Anwendung von verschiedenen Programmierverfahren für ein Flagsignal, ein Steuerflagsignal, eine Markierung, eine Steuermarkierung oder für andere Steuerinformationen und für Zellendaten in erfindungsgemäßen Ausführungsformen. Wie aus 6A ersichtlich ist, kann das Programmierverfahren für Zellendaten mit einer relativ niedrigen Anfangsspannung beginnen, z. B. mit Vpgm1, und kann mehrere ansteigende Schrittimpulse umfassen, beispielsweise vier inkrementale Impulse, wie in 6A dargestellt ist. Im Gegensatz dazu kann, wie aus den 6B und 6C ersichtlich ist, das Programmierverfahren für ein Flagsignal, ein Steuerflag, eine Markierung, eine Steuermarkierung oder für eine andere Steuerinformation mit einer relativ hohen Anfangsspannung beginnen, z. B. gemäß 6B mit Vpgm4 oder gemäß 6C mit Vpgm5, und weniger ansteigende Schrittimpulse umfassen, beispielsweise gemäß 6B einen ansteigenden Impuls oder gemäß 6C keinen ansteigenden Impuls. Das Programmierverfahren für Zellendaten kann als normales oder langsameres Programmierverfahren charakterisiert werden und das Programmierverfahren für das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder für die andere Steuerinformation kann als schnelleres Programmierverfahren charakterisiert werden, da das Programmierverfahren für die Zellendaten eine längere Programmierungszeit aufweist und das Programmierverfahren für das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation eine kürzere Programmierungszeit aufweist, wie aus den 6A bis 6C ersichtlich ist.
  • In einem Ausführungsbeispiel können das in 6A dargestellte Programmierverfahren als vollständige ISPP, das in 6B dargestellte Programmierverfahren als Teil-ISPP und das in 6C dargestellte Programmierverfahren als Einzelschuss-Programmierverfahren implementiert sein. Die vollständige ISPP kann die Programmierungszeit verlängern, die Zellenspannungsverteilung Vth reduzieren oder minimieren und/oder eine Überprogrammierung reduzieren oder verhindern. Die Teil-ISPP und das Einzelschuss-Programmierverfahren können die Programmierungszeit verkürzen, die Verteilung der Zellenschwellwertspannung Vth erhöhen, die Speichereffizienz verschlechtern und/oder die Möglichkeit der Überprogrammierung erhöhen. In alternativen Ausführungsformen kann die Teil-ISPP und/oder das Einzelschuss-Programmierverfahren auch für Zellendaten verwendet werden.
  • Die 7A und 7B zeigen einen Vergleich eines herkömmlichen Programmierverfahrens (7A) und eines erfindungsgemäßen Programmierverfahrens (7B). Wie aus den 7A und 7B ersichtlich ist, ist die normale Zellenprogrammierungszeit für beide Verfahren gleich, wenn beide Verfahren als vollständige ISPP implementiert sind. Gemäß der Erfindung kann jedoch die Dauer der Bestätigung der Zellenprogrammierung und dadurch die Gesamtprogrammierungszeit durch die Anwendung eines Einzelschuss-Programmierverfahrens verkürzt werden, bei welchem die Spannung des einmaligen Impulses gleich der Spannung des bei der vorhergehenden vollständigen ISPP zuletzt angelegten Impulses ist.
  • Die 8A und 8B zeigen jeweils ein Flussdiagramm von Realisierungen des erfindungsgemäßen Programmierverfahrens. 8A zeigt speziell ein Programmierverfahren für die Zellendaten und 8B zeigt ein Programmierverfahren für das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation.
  • Wie aus 8A ersichtlich ist, umfasst das gezeigte Beispiel des Programmierverfahrens für Zellendaten einen Schritt S210, in welchem ein Befehl, wie z. B. ein sequentieller Dateneingabebefehl, empfangen wird, und einen Schritt S220, in welchem Adressen empfangen werden. Im Schritt S230 werden die zu programmierenden Daten geladen und im Schritt S240 wird ein Programmierbefehl empfangen. Im Schritt S250 führt das Verfahren einen Programmiervorgang mit einer Wortleitungsspannung mit einem Pegel Vpgm1 aus. Im Schritt S260 führt das Verfahren einen Verifizierungsvorgang aus. Ist die Überprüfung durch den Verifizierungsvorgang im Schritt S270 erfolgreich, dann wird das Verfahren beendet. Ist die Überprüfung nicht erfolgreich, dann wird zum Schritt S280 verzweigt, in welchem die Wortleitungsspannung um ein Inkrement ΔV erhöht wird, wonach zum Schritt S250 zurückgekehrt wird, um den Programmiervorgang mit der neuen Wortleitungsspannung zu wiederholen.
  • Wie aus 8B ersichtlich ist, umfasst das gezeigte Beispiel des Programmierverfahrens für das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation einen Schritt S610, in welchem ein Befehl, wie z. B. ein sequentieller Dateneingabebefehl, empfangen wird, und einen Schritt S620, in welchem Adressen empfangen werden. Im Schritt S630 werden die zu programmierenden Daten geladen und im Schritt S640 wird der Programmierbefehl empfangen. Im Schritt S650 führt das Verfahren einen Programmiervorgang mit einer Wortleitungsspannung mit einem Pegel Vpgm4 aus. Im Schritt S660 führt das Verfahren einen Verifizierungsvorgang aus. Ist die Überprüfung durch den Verifizierungsvorgang im Schritt S670 erfolgreich, dann wird das Verfahren beendet. Ist die Überprüfung nicht erfolgreich, dann wird zum Schritt S680 verzweigt, in welchem die Wortleitungsspannung um ein Inkrement ΔV erhöht wird und anschließend zum Schritt S650 verzweigt wird, um den Programmiervorgang mit der neuen Wortleitungsspannung zu wiederholen.
  • Die 9A bis 9D zeigen eine Anwendung von zwei oder mehr verschiedenen Programmierverfahren gemäß der Erfindung. 9A zeigt im Wesentlichen eine Kombination der Ausführungsformen aus den 6A und 6B. 9B zeigt im Wesentlichen eine Kombination der Ausführungsformen der 6A und 6C. Bei den Ausführungsformen gemäß den 9C und 9D wird die Spannung basierend auf einer Anfangsspannung erhöht. Wie aus 9C ersichtlich ist, ist in diesem Beispiel die Anfangsspannung der zweiten Programmierung gleich der letzten Spannung der ersten Programmierung und wird konstant gehalten. In 9D unterscheidet sich die Anfangsspannung der zweiten Programmierung beispielsweise von der letzten oder vorletzten Spannung der ersten Programmierung um einen Wert von ±a bzw. ±α, wie gezeigt, wobei die Spannungsdifferenz a bzw. α eine fest vorgegebene Spannung sein kann oder auf irgendeiner der vorherigen Spannungen basieren kann, beispielsweise auf der letzten oder auf der vorletzten Spannung der ersten Programmierung.
  • Die 10A bis 10D zeigen jeweils ein Speicherzellenfeld für ein erfindungsgemäßes Ausführungsbeispiel. 10A zeigt das gesamte Speicherzellenfeld und die 10B bis 10D zeigen drei Beispiele, wie das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation in ein Hauptspeicherzellenfeld und/oder ein Ersatzspeicherzellenfeld dieses beispielhaften Speicherzellenfelds gemäß der Erfindung geschrieben werden.
  • Wie aus 10A ersichtlich, wird das Speicherzellenfeld von einer Steuerschaltung, einer Schreib-/Leseschaltung und/oder einem X-Decoder gesteuert. Diese Komponenten sind z. B. als Hardware aus dem Stand der Technik bekannt. Das Speicherzellenfeld kann zwei oder mehr Feldbereiche umfassen. 10A zeigt, dass das Speicherzellenfeld in die sem Beispiel einen Bereich 110A mit niedrigerer Schreibgeschwindigkeit und einen Bereich 110B mit höherer Schreibgeschwindigkeit umfasst.
  • Bei einem Ausführungsbeispiel ist der Bereich 110A mit der niedrigeren Schreibgeschwindigkeit als Hauptspeicherzellenfeld ausgeführt und kann mit einer normalen oder niedrigeren Programmiergeschwindigkeit und/oder durch eine vollständige ISPP beschrieben werden, wobei er vorzugsweise keine Überprogrammierungen erlaubt. Bei einem Ausführungsbeispiel ist der Bereich 110B mit der höheren Schreibgeschwindigkeit als Ersatzspeicherzellenfeld ausgeführt und kann mit einer höheren Programmiergeschwindigkeit, durch eine reduzierte ISPP und/oder durch eine Einzelschuss-Programmierung beschrieben werden, wobei eine Überprogrammierung zugelassen wird.
  • Wie aus 10B ersichtlich ist, wird in einem Ausführungsbeispiel das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation vollständig in den Bereich 110B mit der höheren Schreibgeschwindigkeit geschrieben, wie durch einen schraffierten Bereich in 10B dargestellt. Wie aus 10C ersichtlich ist, werden in einem anderen Ausführungsbeispiel das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation vollständig in den Bereich 110A mit der niedrigeren Schreibgeschwindigkeit geschrieben, wie durch einen schraffierten Bereich in 10C dargestellt. Wie aus 10D ersichtlich ist, wird in einem weiteren Ausführungsbeispiel das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation in aufeinanderfolgende Bereiche 110A mit der niedrigeren Schreibgeschwindigkeit geschrieben, wie durch schraffierte Bereiche in 10D dargestellt. Zudem sind noch weitere, nicht dargestellte Ausführungsbeispiele möglich. So kann das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation bei spielsweise in aufeinanderfolgende Bereiche 110B mit der höheren Schreibgeschwindigkeit geschrieben werden.
  • 11A zeigt ein erfindungsgemäßes Ausführungsbeispiel eines Hauptspeicherfelds und eines Ersatzspeicherfelds eines NAND-Flashspeicherzellenfelds, entsprechend den 10A bis 10D. Wie aus 11A ersichtlich ist, umfasst das NAND-Flashspeicherzellenfeld eine Mehrzahl von Blöcken. Auf jeden Block kann über eine Zeilenauswahleinheit und eine Spaltenauswahleinheit zugegriffen werden. Die Zeilenauswahl erfolgt über eine Wortleitung WL und die Spaltenauswahl erfolgt über eine Bitleitung BL. Jeder Block kann in zwei oder mehr Gruppen aufgeteilt werden, einen Hauptzellenbereich, welcher als Hauptspeicher wirkt, und einen Ersatzzellenblock für Steuerflagsignale und/oder zur Redundanz. Programmiervorgänge können in Seiteneinheiten ausgeführt werden, welche einer Einheit von Zellen entsprechen, die zusammen mit einer gemeinsamen Wortleitung WL verbunden sind.
  • 11B zeigt ein Flussdiagramm eines Schreibvorgangs in ein derartiges NAND-Flashspeicherzellenfeld gemäß der Erfindung. Das Verfahren empfängt in einem Schritt 10 Daten und eine Adresse und gibt im Schritt 30 die Wortleitung WL frei. Im Schritt 50 werden die empfangenen Daten unter Anwendung einer niedrigeren Programmiergeschwindigkeit in Hauptblockspeicherzellen programmiert und im Schritt 70 wird das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation unter Anwendung einer höheren Programmiergeschwindigkeit in die durch Freigabe der Wortleitung WL ausgewählte Speicherzelle programmiert. Im Schritt 90 kann die Wortleitung WL gewechselt werden und der Ablauf kehrt dann zum Schritt 30 zurück, um die nächste Wortleitung freizugeben.
  • Die 12A und 12B zeigen jeweils ein Flussdiagramm eines allgemeineren Ausführungsbeispiels der erfindungsgemäßen Verfahren von 8A und 8B. 12A zeigt ein Flussdiagramm eines erfindungsgemäßen Verfahrens zur Durchführung eines Programmiervorgangs mit niedrigerer Geschwindigkeit, die von einem Programmiervorgang mit höherer Geschwindigkeit gefolgt wird, wenn die korrekte Durchführung der Programmierung mit niedrigerer Geschwindigkeit bestätigt wird. 12B zeigt ein Flussdiagramm eines erfindungsgemäßen Verfahrens zum Empfangen und Schreiben von ersten Daten in einen ersten Speicherbereich durch Anwenden eines ersten Programmierverfahrens und zum Empfangen und Schreiben von zweiten Daten in einen zweiten Speicherbereich durch Anwenden eines zweiten Programmierverfahrens, wenn eine korrekte Ausführung des ersten Programmierverfahrens bestätigt wird.
  • Wie aus 12A ersichtlich ist, umfasst das Verfahren im Schritt 120 eine Ausführung einer Programmierung mit niedrigerer Geschwindigkeit. Im Schritt 140 wird das Ergebnis der Programmierung mit niedrigerer Geschwindigkeit überprüft, um beispielsweise zu bestimmen, ob die Programmierung mit niedrigerer Geschwindigkeit korrekt und/oder vollständig ausgeführt wurde. Im Schritt 160 wird eine Programmierung mit höherer Geschwindigkeit ausgeführt, wenn im Schritt 140 festgestellt wurde, dass die Programmierung mit niedrigerer Geschwindigkeit korrekt und/oder vollständig ausgeführt wurde.
  • Wie aus 12B ersichtlich ist, umfasst ein anderes Ausführungsbeispiel des erfindungsgemäßen Verfahrens einen Schritt 130, in welchem in einen ersten Speicherbereich zu schreibende Daten empfangen werden. Im Schritt 150 werden die Daten beispielsweise durch Anwendung eines ersten Programmierverfahrens in den ersten Speicherbereich geschrieben. Im Schritt 170 werden in einen zweiten Speicherbereich zu schreibende Daten empfangen, wenn im Schritt 150 festgestellt wird, dass das Schreiben in den ersten Speicherbereich korrekt und/oder vollständig ausgeführt wurde. Im Schritt 190 werden die Daten beispiels weise durch Anwendung eines zweiten Programmierverfahrens in den zweiten Speicherbereich geschrieben.
  • Wie oben im Zusammenhang mit 12B ausgeführt ist, kann das erste Programmierverfahren einen normalen oder langsameren Programmiervorgang für normale Daten umfassen, das zweite Programmierverfahren kann einen schnelleren Programmiervorgang für das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation umfassen, der erste Speicherbereich kann ein Hauptblock eines Speicherzellenfelds sein und/oder der zweite Speicherbereich kann ein Ersatzblock des Speicherzellenfelds sein.
  • 13 zeigt ein Ausführungsbeispiel eines erfindungsgemäßen Halbleiterspeicherbauelements 100, das ein Speicherzellenfeld 110 und einen Speichertreiber 140 umfasst. Wie aus den 10A bis 10D ersichtlich ist, umfasst das Speicherzellenfeld 110 einen Bereich 110A mit niedrigerer Schreibgeschwindigkeit und einen Bereich 110B mit höherer Schreibgeschwindigkeit. Wie oben ausgeführt, kann der Bereich 110A mit niedrigerer Schreibgeschwindigkeit ein Hauptzellenspeicherfeld sein, welches durch eine normale oder durch eine Programmierung mit niedrigerer Geschwindigkeit bzw. mit einer vollständigen ISPP beschrieben wird und/oder keine Überprogrammierung erlaubt. Wie oben ebenfalls ausgeführt, kann der Bereich 110B mit höherer Schreibgeschwindigkeit ein Ersatzzellenspeicherfeld sein, welches mit höherer Programmiergeschwindigkeit bzw. mit einer reduzierten ISPP beschrieben wird und/oder mit einer Einschuss-Programmierung beschrieben wird und/oder eine Überprogrammierung erlaubt.
  • Beim gezeigten Ausführungsbeispiel umfasst der Speichertreiber 140 einen X-Decoder oder Zeilendecoder 141 zum Steuern der Zeilen und einen Y-Decoder oder Spaltendecoder mit einem Seitenpuffer 142, einem Y-Gate 143 und einem Din/Dout-Puffer 143 zur Spaltensteuerung.
  • Das Halbleiterspeicherbauelement 100 kann eine Gesamtsteuerschaltung umfassen, welche eine Programmiersteuerung 120, einen Wortleitungsspannungsgenerator 146 und eine Programmierungsabschlussschaltung (P/F-Schaltung) 145 umfasst. Die Programmiersteuerung 120 umfasst ein Statusregister, welches die Übersicht über abgeschlossene Vorgänge behält. Ein Ausführungsbeispiel des Wortleitungsspannungsgenerators 146 ist in 14A dargestellt.
  • Die in 14A gezeigte Realisierung des Wortleitungsspannungsgenerators 146 umfasst eine Signalsteuerlogik 200, einen Oszillator 210, einen Referenzspannungsgenerator 220, einen Spannungsteiler 230, einen Komparator 240 und eine Ladungspumpe 250. Wie aus 14A ersichtlich ist, versorgt die Signalsteuerlogik 200 den Spannungsteiler 230 mit einem Schrittsignal STEP_CNT[5:0]. Der Spannungsteiler 230 erzeugt ein Signal Vdvd mit einem variablen Pegel, welches gemeinsam mit einem Referenzsignal Vref vom Referenzspannungsgenerator 220 an den Komparator 240 angelegt wird. Der Komparator 240 vergleicht die Spannungen Vdvd und Vref und stellt das Ergebnis COMP des Vergleichs der Ladungspumpe 250 zum Erzeugen der gewünschten Spannung Vpgm zur Verfügung. Die Spannung Vpgm kann über den X-Decoder 141 an das Speicherzellenfeld 110 angelegt werden.
  • 14B zeigt eine mögliche Implementierung des Spannungsteilers 230 aus 14A mit einer Transistorlogik mit NMOS- und PMOS-Transistoren, um basierend auf dem von der Signalsteuerlogik 200 erzeugten Schrittsignal STEP_CNTL[5:0] Spannungen mit ansteigenden Stufen zu erzeugen, wie die Spannungen Vpgm1 bis Vpgm gemäß den 6A bis 6C und 9A bis 9D
  • 14C zeigt eine mögliche Realisierung des Komparators 240 aus 14A. Wie dargestellt ist, vergleicht der Komparator 240 die Spannung Vdvd vom Spannungsteiler 230 und die Spannung Vref vom Referenz spannungsgenerator 220 gesteuert von einem Signal OSC vom Oszillator 210 und gibt das Vergleichsergebnis COMP an die Ladungspumpe 250 aus.
  • Die 15A und 15B zeigen jeweils ein Zeitablaufdiagramm von dualen Programmierungsvorgängen gemäß der Erfindung. Wie aus 15A ersichtlich ist, werden zuerst normale Zellendaten mit einem normalen oder langsameren Programmiervorgang geschrieben. Wie dargestellt ist, kann dies das Laden der normalen Zellendaten, Schreiben der Adresse für die normalen Zellendaten, Schreiben der normalen Zellendaten und Ausführen des normalen oder langsameren Programmiervorgangs umfassen. Wie dargestellt ist, kann darauf das Laden des Flagsignals, des Steuerflagsignals, der Markierung, der Steuermarkierung oder der anderen Steuerinformation, das Schreiben des Flagsignals, des Steuerflagsignals, der Markierung, der Steuermarkierung oder der anderen Steuerinformation und das Ausführen des schnelleren Programmiervorgangs folgen.
  • Im Ausführungsbeispiel gemäß 15A sind die Vorgänge getrennt und zwei getrennte Befehle werden benutzt, um den normalen oder langsameren Programmiervorgang (10 h) und den schnelleren Programmiervorgang (20 h) auszuführen. Ein Vorteil dieser Anordnung besteht in der Flexibilität, welche durch die getrennte Ausführung der normalen oder langsameren und der schnelleren Programmierung ermöglicht wird.
  • Wie aus 15B ersichtlich ist, werden bei diesem Beispiel zuerst die normalen Zellendaten mit einem normalen oder langsameren Programmiervorgang geschrieben. Wie dargestellt ist, kann dies das Laden der normalen Zellendaten (Laden), Schreiben der Adresse für die normalen Zellendaten (Adresse schreiben) und Schreiben der normalen Zellendaten (Daten schreiben) umfassen. Wie weiter dargestellt ist, kann darauf das Laden des Flagsignals, des Steuerflagsignals, der Markierung, der Steuermarkierung oder der anderen Steuerinformation, das Schreiben der Adresse für das Flagsignal, das Steuerflagsignal, die Markierung, die Steuermarkierung oder die andere Steuerinformation (Adresse schreiben) und das Schreiben des Flagsignals, des Steuerflagsignals, der Markierung, der Steuermarkierung oder der anderen Steuerinformation (Daten schreiben) folgen.
  • Im Ausführungsbeispiel gemäß 15B werden der normale oder langsamere Programmiervorgang und der schnellere Programmiervorgang gleichzeitig mit einem gemeinsamen Befehl (10 h/20 h) ausgeführt (beide Programme). Ein Vorteil dieser Anordnung besteht darin, dass die Gesamtprogrammierzeit verkürzt wird.
  • Erfindungsgemäße Ausführungsformen umfassen folglich Halbleiterbauelemente allgemein sowie nichfflüchtige Speicher, Flashspeicher, NAND- oder NOR-Flashspeicher im besonderen. Die Erfindung ist für Zellen mit Einfachpegel (SLC) und/oder auf Zellen mit Mehrfachpegel (MLC), für Massenspeicheranwendungen und/oder Codespeicheranwendungen einsetzbar.
  • Erfindungsgemäße Ausführungsformen beziehen sich auf ein Flagsignal, ein Steuerflagsignal, eine Markierung, eine Steuermarkierung oder ein Bestätigungsflagsignal als Beispiele für mögliche Steuerinformationen, welche mit einem anderen Schreibverfahren als normale Daten und/oder einem schnelleren Schreibverfahren als normale Daten geschrieben werden.
  • Bei den beschriebenen Ausführungsbeispielen wird eine Wortleitungsspannung inkrementiert, beispielsweise vier Mal, es können aber auch andere bekannte Techniken bzw. eine beliebige andere Anzahl von Wortleitungsspannungsinkrementen angewendet werden. Die beschriebene Wortleitungsspannung umfasst eine Programmierspannung und eine Verifizierspannung, es können jedoch auch andere Spannungen benutzt werden. Während die erfindungsgemäßen Ausführungsbeispiele unter Bezugnahme auf beispielhafte Spannungen und Zeitspannen beschrieben sind, können die beschriebenen Spannungen und Zeitspannen variiert werden, ohne den Gegenstand der Erfindung zu verlassen.
  • So kann die ansteigende Schrittimpulsprogrammierung (ISPP) beispielsweise mit einer Anfangsspannung VL und N Programmierschritten umgesetzt werden, wobei N eine ganze Zahl ist. Die Programmierung mit höherer Geschwindigkeit umfasst beispielsweise eine reduzierte ansteigende Stufenimpulsprogrammierung (ISPP) mit einer Anfangsspannung VH, wobei VH > VL ist, und mit M Programmierschritten, wobei M eine ganze Zahl ist, mit 1 < M < N. Alternativ kann die Anfangsspannung VH kleiner oder gleich V1 sein. Die Anfangsspannung VH der Programmierung mit höherer Geschwindigkeit kann z. B. einen festen Wert aufweisen und/oder von der letzten Spannung VL der Programmierung mit niedrigerer Geschwindigkeit abhängig sein.

Claims (36)

  1. Speicherprogrammierverfahren, bei dem – eine erste Programmierung von vorgegebenen Speicherzellen in einem ersten Speicherbereich (110A) mit einem ersten Programmierverfahren durchgeführt wird und – ein Ergebnis der ersten Programmierung bestätigt wird, gekennzeichnet durch die Schritte: – Durchführen einer zweiten Programmierung von vorgegebenen Speicherzellen in einem zweiten Speicherbereich (110B) mit einem vom ersten verschiedenen, zweiten Programmierverfahren, wenn das Ergebnis der ersten Programmierung als korrekt bestätigt ist, – wobei eine Anfangsprogrammierspannung des zweiten Programmierverfahrens von derjenigen des ersten Programmierverfahrens verschieden ist.
  2. Programmierverfahren nach Anspruch 1, dadurch gekennzeichnet, dass das erste Programmierverfahren die Programmierung der vorgegebenen Speicherzellen im ersten Speicherbereich (110A) mit einer niedrigeren Programmiergeschwindigkeit ausführt und das zweite Programmierverfahren die Programmierung der vorgegebenen Speicherzellen im zweiten Speicherbereich (110B) mit einer höheren Programmiergeschwindigkeit ausführt.
  3. Programmierverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die vorgegebenen Speicherzellen nur in zwei Zustände programmiert werden.
  4. Programmierverfahren nach einem der Ansprüche 1 bis dadurch gekennzeichnet, dass die vorgegebenen Speicherzellen in mehr als zwei Zustände programmiert werden.
  5. Programmierverfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das erste Programmierverfahren einen Datenschreibvorgang ausführt.
  6. Programmierverfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das zweite Programmierverfahren einen Schreibvorgang von Steuerinformationen ausführt.
  7. Programmierverfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das zweite Programmierverfahren einen Schreibvorgang für eine Bestätigungsmarkierung ausführt.
  8. Programmierverfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass das erste Programmierverfahren eine ansteigende Schrittimpulsprogrammierung (ISPP) mit einer Anfangsspannung VL und N Programmierschritten umfasst, wobei N eine ganze Zahl ist, und das zweite Programmierverfahren eine reduzierte ansteigende Schrittimpulsprogrammierung (ISPP) mit einer Anfangsspannung VH und M Programmierschritten umfasst, wobei M eine ganze Zahl kleiner als N ist.
  9. Programmierverfahren nach Anspruch 8, dadurch gekennzeichnet, dass das zweite Programmierverfahren nur einen einzigen Programmierschritt umfasst (M = 1).
  10. Programmierverfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die Anfangsspannung VH größer als die Anfangsspannung VL gewählt wird.
  11. Programmierverfahren nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass die Anfangsspannung VH des zweiten Programmierverfahrens als fester Wert vorgegeben wird.
  12. Programmierverfahren nach einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, dass die Anfangsspannung VH des zweiten Programmierverfahrens von einer letzten Spannung des ersten Programmierverfahrens abhängig ist.
  13. Programmierverfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Anfangsspannung VH des zweiten Programmierverfahrens gleich oder größer als die letzte Spannung des ersten Programmierverfahrens gewählt wird.
  14. Programmierverfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Anfangsspannung VH des zweiten Programmierverfahrens kleiner als die letzte Spannung des ersten Programmierverfahrens gewählt wird.
  15. Programmierverfahren nach Anspruch 14, dadurch gekennzeichnet, dass das erste Programmierverfahren eine längere Zyklusdauer als das zweite Programmierverfahren aufweist.
  16. Programmierverfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass die letzte Programmierspannung des zweiten Programmierverfahrens höher als die letzte Spannung des ersten Programmierverfahrens ist.
  17. Programmierverfahren nach einem der Ansprüche 5 bis 16, dadurch gekennzeichnet, dass der Datenschreibvorgang in ein Hauptspeicherfeld ausgeführt wird.
  18. Programmierverfahren nach einem der Ansprüche 5 bis 16, dadurch gekennzeichnet, dass der Datenschreibvorgang in ein Ersatzspeicherfeld ausgeführt wird.
  19. Programmierverfahren nach einem der Ansprüche 6 bis 18, dadurch gekennzeichnet, dass der Schreibvorgang der Steuerinformationen in ein Hauptspeicherfeld ausgeführt wird.
  20. Programmierverfahren nach einem der Ansprüche 6 bis 18, dadurch gekennzeichnet, dass der Schreibvorgang der Steuerinformationen in ein Ersatzspeicherfeld ausgeführt wird.
  21. Programmierverfahren nach einem der Ansprüche 1 bis 20, dadurch gekennzeichnet, dass das erste Programmierverfahren und das zweite Programmierverfahren durch einen einzigen Befehl ausgeführt werden.
  22. Programmierverfahren nach einem der Ansprüche 1 bis 21, dadurch gekennzeichnet, dass das erste Programmierverfahren und das zweite Programmierverfahren unabhängig voneinander ausgeführt werden.
  23. Programmierverfahren nach einem der Ansprüche 1 bis 20 und 22, dadurch gekennzeichnet, dass das erste Programmierverfahren und das zweite Programmierverfahren durch verschiedene Befehle ausgeführt werden.
  24. Programmierverfahren nach einem der Ansprüche 1 bis 23, dadurch gekennzeichnet, dass das erste Programmierverfahren und das zweite Programmierverfahren nacheinander ausgeführt werden.
  25. Halbleiterspeicherbauelement mit – einem nichtflüchtigen Speicherzellenfeld (110), welches einen ersten Speicherbereich (110A) und einen zweiten Speicherbereich (110B) umfasst, gekennzeichnet durch – eine Steuereinheit (120) zum Durchführen einer Programmierung mit einer niedrigeren Geschwindigkeit von vorgegebenen Speicherzellen im ersten Speicherbereich (110A) des nichtflüchtigen Speicherzellenfelds (110), zum Bestätigen eines Ergebnisses der Programmierung mit der niedrigeren Geschwindigkeit und zum Durchführen einer Programmierung mit einer höheren Geschwindigkeit von vorgegebenen Speicherzellen im zweiten Speicherbereich (110B) des nichtflüchtigen Speicherzellenfelds (110), wenn das Ergebnis der Programmierung mit der niedrigeren Geschwindigkeit als korrekt bestätigt ist, – wobei eine Anfangsprogrammierspannung des Programmierverfahrens mit der höheren Geschwindigkeit von derjenigen des Programmierverfahrens mit der niedrigeren Geschwindigkeit verschieden ist.
  26. Halbleiterspeicherbauelement nach Anspruch 25, dadurch gekennzeichnet, dass das Programmierverfahren mit der niedrigeren Geschwindigkeit einen Datenschreibvorgang ausführt.
  27. Halbleiterspeicherbauelement nach Anspruch 25 oder 26, dadurch gekennzeichnet, dass das Programmierverfahren mit der höheren Geschwindigkeit einen Schreibvorgang für ein Bestätigungsflagsignal ausführt.
  28. Halbleiterspeicherbauelement nach einem der Ansprüche 25 bis 27, dadurch gekennzeichnet, dass die Steuereinheit (120) einen Wort leitungsspannungsgenerator (146) umfasst, welcher ein Signal (LS_PGMen) zur Freigabe der Programmierung mit der niedrigeren Geschwindigkeit und ein Signal (HS_PGMen) zur Freigabe der Programmierung mit der höheren Geschwindigkeit empfängt und wenigstens einem Speicherblock des nichtflüchtigen Speicherzellenfelds (110) eine Wortleitungsspannung zur Verfügung stellt.
  29. Halbleiterspeicherbauelement nach Anspruch 28, dadurch gekennzeichnet, dass das der Wortleitungsspannungsgenerator (146) selektiv eine ansteigende Schrittimpulsprogrammierung (ISPP) mit einer Anfangsspannung VL und N Programmierschritten erzeugt, wobei N eine ganze Zahl ist, oder eine reduzierte ansteigende Schrittimpulsprogrammierung (ISPP) mit einer Anfangsspannung VH und M Programmierschritten erzeugt, wobei M eine ganze Zahl kleiner als N ist.
  30. Halbleiterspeicherbauelement nach Anspruch 29, dadurch gekennzeichnet, dass die Spannung VH größer als die Spannung VL ist.
  31. Halbleiterspeicherbauelement nach Anspruch 29 oder 30, dadurch gekennzeichnet, dass das Programmierverfahren mit der höheren Geschwindigkeit einen einzigen Programmierschritt umfasst (M = 1).
  32. Halbleiterspeicherbauelement nach einem der Ansprüche 29 bis 31, dadurch gekennzeichnet, dass die Anfangsspannung VH des Programmierverfahrens mit der höheren Geschwindigkeit ein fester Wert ist.
  33. Halbleiterspeicherbauelement nach einem der Ansprüche 29 bis 31, dadurch gekennzeichnet, dass die Anfangsspannung VH des Programmierverfahrens mit der höheren Geschwindigkeit von der letz ten Spannung des Programmierverfahrens mit der niedrigeren Geschwindigkeit abhängig ist.
  34. Halbleiterspeicherbauelement nach Anspruch 33, dadurch gekennzeichnet, dass die Anfangsspannung VH des zweiten Programmierverfahrens mit der höheren Geschwindigkeit gleich oder größer als die letzte Spannung des ersten Programmierverfahrens mit der niedrigeren Geschwindigkeit ist.
  35. Halbleiterspeicherbauelement nach Anspruch 33, dadurch gekennzeichnet, dass die Anfangsspannung VH des zweiten Programmierverfahrens mit der höheren Geschwindigkeit kleiner als die letzte Spannung des ersten Programmierverfahrens mit der niedrigeren Geschwindigkeit ist.
  36. Halbleiterspeicherbauelement nach einem der Ansprüche 29 bis 35, dadurch gekennzeichnet, dass der Wortleitungsspannungsgenerator (146) folgende Komponenten umfasst: – einen Spannungsteiler (230) zum Erzeugen eines Spannungszunahmesignals für jeden der N und M Programmierschritte für die ISPP, – einen Referenzspannungsgenerator (220), welcher eine Referenzspannung (VREF) erzeugt, die mit einer Ausgabe des Spannungsteilers (230) verglichen wird, – einen Komparator (240), welcher das vom Spannungsteiler (230) erzeugte Spannungszunahmesignal und die Referenzspannung (VREF) miteinander vergleicht, um eine Spannungszunahme zu erzeugen, und ein Oszillatorsignal steuert, und – einen Oszillator (210), welcher dem Komparator (240) periodisch das Oszillatorsignal zur Verfügung stellt, und – eine Ladungspumpe (250), welche eine höhere Programmierspannung für die Programmiervorgänge zur Verfügung stellt.
DE200510020796 2004-05-06 2005-04-28 Halbleiterspeicherbauelement und Programmierverfahren Expired - Fee Related DE102005020796B4 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2004-0031883 2004-05-06
KR2004/31883 2004-05-06
KR1020040031883A KR100632940B1 (ko) 2004-05-06 2004-05-06 프로그램 사이클 시간을 가변시킬 수 있는 불 휘발성반도체 메모리 장치
US10/998,987 US7660159B2 (en) 2004-05-06 2004-11-30 Method and device for programming control information
US10/998,987 2004-11-30
US10/998987 2004-11-30

Publications (2)

Publication Number Publication Date
DE102005020796A1 DE102005020796A1 (de) 2005-12-01
DE102005020796B4 true DE102005020796B4 (de) 2009-04-16

Family

ID=35267575

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510020796 Expired - Fee Related DE102005020796B4 (de) 2004-05-06 2005-04-28 Halbleiterspeicherbauelement und Programmierverfahren

Country Status (3)

Country Link
JP (1) JP5264047B2 (de)
DE (1) DE102005020796B4 (de)
TW (1) TWI267864B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG130988A1 (en) 2005-09-29 2007-04-26 Trek 2000 Int Ltd Portable data storage device incorporating multiple flash memory units
KR100706816B1 (ko) * 2006-03-10 2007-04-12 삼성전자주식회사 프로그램 속도를 향상시킬 수 있는 불휘발성 메모리 장치및 그것의 프로그램 방법
EP2383748A3 (de) * 2006-09-12 2012-03-28 SanDisk Corporation Nichtflüchtiger Speicher und Verfahren zur linearen Schätzung von anfänglichen Programmierungsspannung
JP4996277B2 (ja) * 2007-02-09 2012-08-08 株式会社東芝 半導体記憶システム
KR100824203B1 (ko) * 2007-04-03 2008-04-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
KR101397549B1 (ko) 2007-08-16 2014-05-26 삼성전자주식회사 고속 프로그램이 가능한 불휘발성 반도체 메모리 시스템 및그것의 독출 방법
WO2009152037A2 (en) * 2008-06-12 2009-12-17 Sandisk Corporation Nonvolatile memory and method for correlated multiple pass programming
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
JP5777991B2 (ja) * 2011-09-22 2015-09-16 ルネサスエレクトロニクス株式会社 半導体装置
JP2022040515A (ja) * 2020-08-31 2022-03-11 ウィンボンド エレクトロニクス コーポレーション フラッシュメモリおよびプログラミング方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19911794A1 (de) * 1999-03-17 2000-09-28 Bosch Gmbh Robert Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3930074B2 (ja) * 1996-09-30 2007-06-13 株式会社ルネサステクノロジ 半導体集積回路及びデータ処理システム
KR100259972B1 (ko) * 1997-01-21 2000-06-15 윤종용 메모리 셀당 2개 이상의 저장 상태들을 갖는 불휘발성 반도체 메모리 장치
KR100332950B1 (ko) * 1998-04-10 2002-08-21 삼성전자 주식회사 단일비트동작모드와다중비트동작모드를갖는불휘발성반도체메모리장치및그것의기입/독출방법
JP2003257187A (ja) * 2002-02-28 2003-09-12 Hitachi Ltd 不揮発性メモリ、icカード及びデータ処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19911794A1 (de) * 1999-03-17 2000-09-28 Bosch Gmbh Robert Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten

Also Published As

Publication number Publication date
JP5264047B2 (ja) 2013-08-14
JP2005322248A (ja) 2005-11-17
DE102005020796A1 (de) 2005-12-01
TWI267864B (en) 2006-12-01
TW200537509A (en) 2005-11-16

Similar Documents

Publication Publication Date Title
DE102005020796B4 (de) Halbleiterspeicherbauelement und Programmierverfahren
DE102004059411B4 (de) Flash-Speichervorrichtung und Verfahren zur Steuerung derselben
DE102005039099B4 (de) Löschverfahren und nichtflüchtiges Speicherbauelement
DE69533429T2 (de) Automatischer progammier-algorithmus für flash-speicher im seitenmodus mit variabler programmierimpulshöhe und -breite
DE3900798C2 (de) Verfahren zum Programmieren eines elektrisch löschbaren und programmierbaren Nur-Lese-Speichers
DE102007002248B4 (de) Nichtflüchtiges Halbleiter-Speicherbauelement und Verfahren zum Löschen eines Flash-Speicherbauelements
DE10037037B4 (de) Erfassungszeit-Steuervorrichtung und -Verfahren
DE102004033443B4 (de) Flashspeicherbauelement mit Mehrpegelzelle
DE19859494C2 (de) Nichtflüchtiger Mehrebenen-Halbleiterspeicherbaustein mit einer Schaltung zum Einstellen der Datenlesezeit
DE102006030758B4 (de) Nicht-flüchtiges Speicherelement, Flash-Speicher und Verfahren zum Programmieren eines Flash-Speicherelements
DE60132830T2 (de) Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher
US7660159B2 (en) Method and device for programming control information
DE102005035084B4 (de) Speicherbauelemente und Programmierverfahren
DE102006020180B3 (de) Verfahren zum Programmieren eines Blocks von Speicherzellen, nicht-flüchtiger Speicher und Speicherkarte
CN101213614B (zh) 擦除非易失性存储器的方法和装置
DE60318714T2 (de) System und verfahren zur steuerung einer löschspannung während des löschens mehrerer sektoren eines flash-speichers
DE102005052213A1 (de) Programmierverfahren und nichtflüchtiges Speicherbauelement
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE10034743B4 (de) Flash-Speicherbauelement und Programmierverfahren hierfür
DE102005020797A1 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102005039847A1 (de) Zeilen-Decoderschaltung für Nand-Flash-Speicher und Verfahren zum Zuführen einer Betriebsspannung unter Benutzung derselben
DE4309814A1 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE102007026511A1 (de) Flash-Speichereinrichtung und Löschverfahren hierfür
DE102009035340A1 (de) Verfahren zum Programmieren eines nichtflüchtigen Speicherelements, Halbleiterbauelement, Karte und System

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20141101