DE102010037579B4 - Nichtflüchtige Speichervorrichtung und -system sowie Verfahren zum Programmieren einer nichtflüchtigen Speichervorrichtung - Google Patents

Nichtflüchtige Speichervorrichtung und -system sowie Verfahren zum Programmieren einer nichtflüchtigen Speichervorrichtung Download PDF

Info

Publication number
DE102010037579B4
DE102010037579B4 DE102010037579.9A DE102010037579A DE102010037579B4 DE 102010037579 B4 DE102010037579 B4 DE 102010037579B4 DE 102010037579 A DE102010037579 A DE 102010037579A DE 102010037579 B4 DE102010037579 B4 DE 102010037579B4
Authority
DE
Germany
Prior art keywords
data
pages
memory
ber
volatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102010037579.9A
Other languages
English (en)
Other versions
DE102010037579A1 (de
Inventor
Sangyong Yoon
Jinman Han
Kitae PARK
Joon Young Kwak
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 KR1020090091233A external-priority patent/KR101616100B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102010037579A1 publication Critical patent/DE102010037579A1/de
Application granted granted Critical
Publication of DE102010037579B4 publication Critical patent/DE102010037579B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

Nichtflüchtiger Speicher mit:einer Mehrzahl von N-Bit-Multi-Level-Zellen(MLC)-Speicherzellen zum Speichern von N Datenseiten (Seite1, Seite2, Seite3, Seite4) wobei jede der MLC-Speicherzellen in jede von 2NSchwellwertspannungsverteilungen (E, P1 - P14) programmierbar ist, wobei N eine positive Zahl ist;einer Steuerung (1140), die dazu ausgebildet ist, die N Datenseiten (Seite1, Seite2, Seite3, Seite4)in die MLC-Speicherzellen zu programmieren, und einen teilweisen Verschachtelungsprozess auszuführen, bei dem die N Datenseiten (Seite1, Seite2, Seite3, Seite4)in M Seitengruppen aufgeteilt werden, wobei M eine positive Zahl ist, und wobei jede Seitengruppe zumindest eine der N Datenseiten (Seite1, Seite2, Seite3, Seite4)enthält, und bei dem jede der M Seitengruppen einer Fehlerkorrekturcode(ECC)-Schaltung (1231) zugeführt wird, um Paritätsbits für entsprechenden M Seitengruppen zu erzeugen, wobei eine Bitfehlerrate (BER) der Seiten in jeder der M Gruppen durch den teilweisen Verschachtelungsprozess angeglichen wird.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegend beschriebenen erfinderischen Konzepte betreffen nichtflüchtige Speichervorrichtungen und ein Verfahren zum Betreiben derselben, und insbesondere nichtflüchtige Flash-Speichervorrichtungen einschließlich einer Fehlerkorrektur-Kodierungs-Funktionalität (ECC-Funktionalität) und ein Verfahren zum Betreiben von Flash-Speichervorrichtungen einschließlich einer ECC-Funktionalität.
  • 1 stellt schematisch ein Beispiel eines Speicherblocks BLK1 einer NAND-Flash-Speicherzellenanordnung dar, in welcher eine Mehrzahl von nichtflüchtigen Speicherzellen mit entsprechende Schnittstellen von Wortleitungen WL <0:31> und Bitleitungen BL <1:m> verbunden sind. Die Speicherzellen sind in Serie mit einer der Bitleitungen BL verbunden, um eine Speicherzellenkette zu definieren, wobei jede Kette gemeinsam mit einer gemeinsamen Source-Leitung CSL verbunden ist. Ferner enthält jede Kette an entgegengesetzten Enden einen Masse-Auswahlleitungs(GSL)-Transistor und einen Ketten-Auswahlleitungs(SSL)-Transistor. Die Daten, die in den Speicherzellen jeder Wortleitung WL gespeichert sind bilden eine Seite 1111 mit Daten. Wie hier später diskutiert, speichert bei Multi-Level-Cell(MLC)-Speichervorrichtungen jede Wortleitung WL mehrere Datenseiten.
  • 2 ist ein Blockdiagramm, das schematisch ein Beispiel einer nichtflüchtigen Speichervorrichtung darstellt. Wie dargestellt enthält der nichtflüchtige Speicher 1100 eine nichtflüchtige Speicherzellenanordnung 1110, einen Adressdekoder 1130, eine Daten-Eingabe/Ausgabe(I/O)-Schaltung 1120, sowie eine Steuerlogik- und Hochspannungsgeneratoreinheit 1140. Der Adressdekoder 1130 spricht auf die Steuerlogik- und Hochspannungsgeneratoreinheit 1130 an, um eine Lese-/Schreibeadresse ADDR zu dekodieren und Programmier-/Lesespannungen etc. an ausgewählte, adressierte Wortleitungen WL der nichtflüchtigen Speicherzellenanordnung 1110 anzulegen. Die Daten-I/O-Schaltung 1120 spricht auch auf die Steuerlogik- und Hochspannungsgeneratoreinheit 1130 an, und enthält zum Beispiel eine Bitleitungs(BL)-Auswahlschaltung, Schreibtreiber, und eine Leseschaltung, die mit der Eingabe und der Ausgabe der Daten (DATA) in Verbindung stehen. Die Steuerlogik- und Hochspannungsgeneratoreinheit steuert einen Gesamtbetrieb des nichtflüchtigen Speichers 1100, und erzeugt die relativ hohen Spannungen, die zum Programmieren der Speicherzellen der Speicherzellenanordnung 1110 erforderlich sind. Die Speicherzellenanordnung 1110 enthält eine Mehrzahl von Speicherblöcken BLK <1:n>, wie zum Beispiel den Speicherblock BLK1, der in 1 dargestellt ist.
  • Multi-Level-Cell(MLC)-Speichervorrichtungen sind durch Programmieren von zwei (2) oder mehr Bits von gespeicherten Daten in jeder einzelnen Speicherzelle gekennzeichnet. Im Falle einer N-Bit-MLC-Flash-Speichervorrichtung (wobei N eine positive Ganzzahl ist), wird dies durch Einstellen der Schwellwertspannung (zum Beispiel durch das Fowler-Nordheim-Tunneln) von jeder Speicherzelle auf eine von 2N Schwellwertverteilungen erreicht.
  • 3 stellt Schwellwertspannungsverteilungen bei dem Beispiel einer 2-Bit-MLC-Flash-Speichervorrichtung dar. Wie dargestellt ist jede Schwellwertspannung von jeder Speicherzelle auf einen von vier Schwellwertspannungsverteilungszuständen eingestellt, nämlich einen gelöschten Zustand E oder einen von programmierten Zuständen P1, P2 und P3. Wie ebenso dargestellt sind den Schwellwertspannungsverteilungszuständen E, P1, P2 und P3 gespeicherte Datenbits von „11“, „10“, „00“, bzw. „01“ zugeordnet.
  • Grundsätzlich weist jedes Bit der MLC-Speicherzellen eine separate Seitenadresse auf. Zum Beispiel bilden in einer 2-Bit-MLC-Speicherzelle die gespeicherten niedrigstwertigen Bits (LSB) der Zellen einer Wortleitung eine erste Datenseite, und die gespeicherten höchstwertigen Bits (MSB) der Zellen der Wortleitung bilden eine zweite Datenseite. Somit speichern die N-Bit-MLC-Speicherzellen (wobei N gleich 2 oder mehr ist), welche mit einer bestimmten Wortleitung verbunden sind, N Datenseiten.
  • MLC-Speichervorrichtungen sind als Antwort auf die Nachfrage nach einer höheren Integration entwickelt worden. Wie jedoch aus 2 ist ersichtlich ist, sind die Lücken zwischen Schwellwertspannungsverteilungen der MLC-Speicherzellen reduziert, wenn die Anzahl der Bits (N) ansteigt, was zu einer negative Auswirkung auf den Lesespielraum führen kann. Daher kann eine Speichersteuerung, welche zwischen einen Host und die Flash-Speichervorrichtung geschaltet ist, mit einer Fehlerkorrektur-code(ECC)-Schaltung ausgestattet sein, welche ausgebildet ist zum Erfassen und Korrigieren von Fehlern in von den MLC-Speicherzellen ausgelesenen Daten. Die Fehlerwahrscheinlichkeit steigt proportional zur Anzahl der Datenbits an, die in jeder Speicherzelle gespeichert sind, und somit können die der Komplexität, Größe und Betriebszeit der ECC-Schaltung geschuldeten Ressourcen in MLC-Speichervorrichtungen wesentlich zunehmen.
  • Aus der Druckschrift US 2009/0190397 A1 ist eine Speichervorrichtung und ein Verfahren zum Lesen von Speicherdaten bekannt. Die Speichervorrichtung umfasst: ein Multi-Bit-Zellenarray; eine Programmiereinheit, die N Datenseiten in einer Speicherseite in dem Multi-Bit-Zellenarray speichert; und eine Steuereinheit, die die N Datenseiten in eine erste Gruppe und eine zweite Gruppe unterteilt, Daten der ersten Gruppe von der Speicherseite liest und ein Schema zum Lesen von Daten der zweiten Gruppe von der Speicherseite basierend auf den gelesenen Daten der ersten Gruppe bestimmt.
  • Aus der Druckschrift US 2009/0187368 A1 ist ein Verfahren zur Durchführung von Burn-In-Tests bekannt, um Schwankungen aufgrund von Prozessstreuungen in hergestellten integrierten Schaltungen (IC) zu reduzieren. Hergestellte ICs werden basierend auf Leistungsmerkmalen (z. B. Betriebsgeschwindigkeit), die das Ausmaß der Prozessstreuung in den ICs anzeigen, in mehrere Kategorien eingeteilt. Die ICs werden Burn-In-Tests unterzogen, wobei die Schwere der Belastungsparameter, die während eines Burn-In-Tests angewendet werden, proportional zu den Leistungsmerkmalen ist. Als Ergebnis wird die von den ICs gezeigte Prozessstreuung (Post-Burn-In) verringert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem Aspekt der erfinderischen Konzepte ist ein nichtflüchtiger Speicher vorgesehen, welcher eine Mehrzahl von N-Bit-Multi-Level-Cell(MLC)-Speicherzellen und eine Steuerung enthält. Die Mehrzahl von N-Bit-MLC-Speicherzellen ist zum Speichern von N Datenseiten vorgesehen, wobei jede der MLC-Speicherzellen in jede von 2N Schwellwertspannungsverteilungen programmierbar ist, und wobei N eine positive Zahl ist. Die Steuerung ist dazu ausgebildet, die N Datenseiten in die MLC-Speicherzellen zu programmieren, und einen teilweisen Verschachtelungsprozess auszuführen, bei dem die N Datenseiten in M Seitengruppen aufgeteilt werden, wobei M eine positive Zahl ist, und wobei jede Seitengruppe zumindest eine der N Datenseiten enthält, und bei dem jede der M Seitengruppen einer Fehlerkorrekturcode(ECC)-Schaltung zugeführt wird, um Paritätsbits für die entsprechenden M Seitengruppen zu erzeugen, wobei eine Bitfehlerrate (BER) der Seiten in jeder der M Gruppen durch den teilweisen Verschachtelungsprozess angeglichen wird.
  • Gemäß einem weiteren Aspekt der erfinderischen Konzepte ist ein Verfahren zum Einstellen von Schwellwertspannungsverteilungen in einem nichtflüchtigen Speicher vorgesehen. Der nichtflüchtige Speicher enthält N-Bit-Multi-Level-Cell(MLC)-Speicherzellen zum Speichern von N Datenseiten, wobei jede der N-Bit-MLC-Speicherzellen in jede von 2N Schwellwertspannungsverteilungen programmierbar ist. Das Verfahren teilt die N Seiten in M Seitengruppen auf, und stellt 2N-1 Prüfspannungen, die mit den 2N Schwellwertspannungsverteilungen verknüpft sind, derart ein, dass die durchschnittliche Bitfehlerrate (BER) der M Seitengruppen angeglichen wird. Das Verfahren programmiert die N Datenseiten in N-Bit-MLC-Speicherzellen unter Verwendung der eingestellten 2N-1 Prüfspannungen und führt einen teilweisen Verschachtelungsprozesses aus, bei dem jede der M Seitengruppen einer Fehlerkorrekturcode(ECC)-Schaltung zugeführt wird, um Paritätsbits für die entsprechenden M Seitengruppen zu erzeugen, wobei eine Bitfehlerrate der Seiten in jeder der M Gruppen durch den teilweisen Verschachtelungsprozess angeglichen wird.
  • Gemäß einem weiteren Aspekt der erfinderischen Konzepte ist ein Speichersystem vorgesehen, welches einen nichtflüchtigen Speicher und eine Speichersteuerung enthält. Der nichtflüchtige Speicher enthält eine Steuerlogik, einen Adressdekoder und eine Speicherzellenanordnung. Die Speicherzellenanordnung enthält Zeilen und Spalten von N-Bit-Multi-Level-Cell(MLC)-Speicherzellen, wobei jede Zeile der MLC-Speicherzellen dazu ausgebildet ist, N Datenseiten zu speichern. Die Speichersteuerung enthält eine Host-Schnittstelle zum Ankoppeln an eine externe Vorrichtung, eine Speicherschnittstelle zum Ankoppeln an den nichtflüchtigen Speicher, einen Hauptprozessor, einen Pufferspeicher und eine Fehlerkorrekturcode(ECC)-Schaltung. Die Speicherschaltung ist dazu ausgebildet, einen teilweisen Verschachtelungsprozess auszuführen, bei dem die N Datenseiten in M Seitengruppen aufgeteilt werden, wobei M eine positive Zahl ist und wobei jede Seitengruppe zumindest eine der N Datenseiten enthält, und bei dem jede der M Seitengruppen der ECC-Schaltung zugeführt wird, um Paritätsbits für entsprechende M Seitengruppen zu erzeugen, wobei eine Bitfehlerrate (BER) der Seiten in jeder der M Gruppen durch den teilweisen Verschachtelungsprozess angeglichen wird.
  • Figurenliste
  • Die obigen und weitere Aspekte der erfinderischen Konzepte werden anhand der detaillierten Beschreibung unter Bezugnahme der beigefügten Figuren deutlicher ersichtlich, in denen:
    • 1 ein schematisches Diagramm einer nichtflüchtigen Speicheranordnung ist (Stand der Technik);
    • 2 ein schematisches Blockdiagramm ist, das eine Multi-Level-Cell(MLC)-Flash-Speichervorrichtung darstellt (Stand der Technik);
    • 3 ein Schwellwertspannungsverteilungsdiagramm ist, das verwendet wird beim Beschreiben einer Multi-Level-Cell(MLC)-Flash-Speichervorrichtung (Stand der Technik);
    • 4 ein Blockdiagramm einer Speichersteuerung gemäß einer Ausführungsform der erfinderischen Konzepte ist;
    • 5 ein Schwellwertspannungsverteilungsdiagramm zum Beschreiben einer Bitfehlerrate (BER) in einer MLC-Flash-Speichervorrichtung ist;
    • 6 eine Tabelle ist, welche relative BERs für Seiten einer 2-Bit MLC-Flash-Speichervorrichtung darstellt;
    • 7 ein Schwellwertspannungsdiagramm einer 4-Bit-MLC-Flash-Speichervorrichtung ist;
    • 8 eine Tabelle ist, welche relative BERs für Seiten einer 4-Bit-MLC-Flash-Speichervorrichtung darstellt;
    • 9 und 10 Diagramme sind zum Beschreiben eines Verschachtelungsverfahrens, welches zur Reduzierung eines BER-Missverhältnisses verwendet werden kann;
    • 11 bis 14 Diagramme sind zum Beschreiben der Verschiebung der Schwellwertspannungsverteilungen zum Reduzieren des BER-Missverhältnisses;
    • 15 und 16 Diagramme sind zum Beschreiben eines Schemas für die teilweise Verschachtelung zum Reduzieren des BER-Missverhältnisses gemäß einer Ausführungsform der erfinderischen Konzepte;
    • 17 ein Diagramm ist zum Beschreiben der Verschiebung der Schwellwertspannungsverteilungen zum Reduzieren des BER-Missverhältnisses gemäß einer Ausführungsform der erfinderischen Konzepte;
    • 18 ein Flussdiagramm ist zum Beschreiben eines Verfahrens zum Reduzieren des BER-Missverhältnisses gemäß einer Ausführungsform der erfinderischen Konzepte;
    • 19 und 20 Diagramme sind, die eine Speicherkarte und ein Speicherkartensystem gemäß einer Ausführungsform der erfinderischen Konzepte darstellen;
    • 21 und 22 Diagramme sind, welche ein Computersystem und eine Speichersteuerung gemäß einer Ausführungsform der erfinderischen Konzepte darstellen; und
    • 23 ein Diagramm ist, das ein Computersystem gemäß einer Ausführungsform der erfinderischen Konzepte darstellt.
  • DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Verschiedene beispielhafte Ausführungsformen der erfinderischen Konzepte werden nachstehend bezüglich der beigefügten Figuren beschrieben, wobei gleiche Bezugszeichen für ähnliche bzw. gleichartige Elemente verwendet werden.
  • Obwohl zum Beispiel die Begriffe „erster/erste/erstes“, „zweiter/zweite/zweites“, etc. hiernach zum Beschreiben verschiedener Elemente verwendet werden, sollten diese Elemente nicht durch diese Begriffe beschränkt bzw. begrenzt werden. Diese Begriffe werden lediglich zur Unterscheidung der Elemente verwendet. Zum Beispiel könnte ein erstes Element als zweites Element bezeichnet werden und ähnlich ein zweites Element als erstes Element, ohne dabei vom Umfang der erfinderischen Konzepte abzuweichen bzw. diese zu beschränken. Ähnlich sind die Begriffe „über“, „unter“, „oberhalb“, „unterhalb“ etc. relative Begriffe, welche nicht dazu gedacht sind, die erfinderischen Konzepte auf eine besondere Vorrichtungsanordnung zu beschränken. Der vorliegend verwendete Begriff „und/oder“ enthält jede Kombination von einem oder mehrerer der damit zusammenhängenden, aufgeführten Begriffe bzw. Gegenstände.
  • Hierbei ist zu verstehen, dass wenn ein Element als „verbunden“ oder „gekoppelt“ mit einem anderen Element bezeichnet wird, dieses entweder direkt mit dem anderen Element verbunden oder gekoppelt sein kann, oder Zwischenelemente vorliegen. Dagegen, wenn ein Element als „direkt verbunden“ oder „direkt gekoppelt“ mit einem anderen Element bezeichnet wird, liegen keine Zwischenelemente vor. Andere bzw. weitere Begriffe, welche zum Beschreiben der Beziehung zwischen Elementen verwendet werden, sollten ähnlich betrachtet werden (zum Beispiel „zwischen“ im Vergleich zu „direkt dazwischen“, „benachbart“ im Vergleich zu „direkt benachbart“ etc.).
  • Die vorliegend verwendeten Singularformen „einer/eine/eines“ und „der/die/das“ können auch die entsprechenden Pluralformen umfassen, solange der Kontext diesbezüglich nicht ausdrücklich anderes sagt. Ferner sollte verstanden werden, dass die Begriffe „aufweist“, „aufweisen“, „enthält“ und/oder „enthalten“ vorliegend das Vorhandensein von erwähnten Eigenschaften, Ganzzahlen, Schritten, Betätigungen, Elementen, und/oder Komponenten spezifizieren, nicht jedoch das Vorhandensein oder das Hinzufügen von einem oder mehreren weiteren Eigenschaften, Ganzzahlen, Schritten, Betätigungen, Elementen, Komponenten, und/oder Gruppen davon ausschließen.
  • Solange nicht anders definiert, weisen alle Begriffe (einschließlich technischer und wissenschaftlicher Begriffe), die vorliegend verwendet werden, die gleiche Bedeutung auf, wie sie für gewöhnlich von einem entsprechenden Fachmann verstanden wird. Ferner sollte verstanden werden, dass Begriffe, die in herkömmlichen Wörterbüchern definiert sind, eine Bedeutung haben, die dem Kontext der relevanten Technik entsprechen bzw. bezüglich diesem interpretiert werden können, und werden nicht in idealisierter oder verallgemeinerte Form interpretiert werden, solange dies hier nicht ausdrücklich so definiert ist.
  • 4 ist ein Blockdiagramm eines Speichersystems 1000, welches zur Implementierung von Ausführungsformen der erfinderischen Konzepte verwendet werden kann. Das Speichersystem 1000 kann zum Beispiel eine Multimediakarte (MMC), eine Sichere Digital Karte (SD-Karte), eine Mikro-SD-Karte, einen Speicherstift, eine ID-Karte, eine PCMCIA-Karte, eine Chip-Karte, eine USB-Karte, eine Smartcard, und/oder eine Kompakt-Flash(CF)-Karte sein.
  • Das Speichersystem 1000 enthält eine nichtflüchtige Speichervorrichtung 1100 und eine Speichersteuerung 1200. In diesem Beispiel ist die nichtflüchtige Speichervorrichtung 1100 ein Flash-Speicher mit MLC-Speicherzellen, wie z.B. denjenigen, die in der oben beschriebenen 2 dargestellt sind.
  • Die Speichersteuerung 1200 ist konfiguriert, die nichtflüchtige Speichervorrichtung 1100 über eine Flash-Schnittstelle (I/F) 1210 zu steuern. Ferner kommuniziert die Speichersteuerung 1200 mit einer externen Vorrichtung (zum Beispiel der Host-Vorrichtung) über einen Host-I/F 1220, wobei sie dabei irgendeines von verschiedenen Schnittstellenprotokollen, wie zum Beispiel einem Universial-Serial-Bus(USB)-Protokoll, einem Multimediakarten(MMC)-Protokoll, einem Peripheral-Component-Interconnection(PCI)-Protokoll, einem PIC-Express(PCI-E)-Protokoll, einem Advanced-Technology-Attachment(ATA)-Protokoll, einem Serial-ATA-Protokoll, einem Parallel-ATA-Protokoll, einem Small-Component-Small-Interface(SCSI)-Protokoll, einem Enhanced-Small-Disc-Interface(ESDI)-Protokoll, einem Integrated-Drive-Electronics(IDE)-Protokoll und einem E-IDE-Protokoll, verwendet.
  • Ein Pufferspeicher 1250 der Speichersteuerung 1200 funktioniert bzw. arbeitet als Input/Output-Puffer, welcher vorübergehend Daten speichert, die auf den Flash-Speicher 1100 zu schreiben sind („schreibe Daten“), und Daten, die von dem Flash-Speicher 1100 zu lesen sind („lese Daten“). Grundsätzlich ist eine Datenübertragungsrate des Busprotokolls (zum Beispiel SATA oder SAS) der Host-Vorrichtung weit höher als eine Datenübertragungsrate zu und von dem Flash-Speicher 1100. Der Pufferspeicher 1250 ist vorgesehen, um dieser Differenz der Datenübertragungsraten Rechnung zu tragen und sie zu organisieren.
  • Ein Fehlerkorrekturcode(ECC)-Block 1230 der Speichersteuerung 1230 erfasst und korrigiert Datenlesefehler, die von der nichtflüchtigen Speichervorrichtung 1100 gelesen werden. Eine Vielzahl von ECC-Protokollen ist im Stand der Technik bekannt, und die erfinderischen Konzepte sind diesbezüglich nicht beschränkt. Der EEC-Block kann grundsätzlich so funktionieren, dass Paritätsbits basierend auf den Bitlogikzuständen der Schreibdaten erzeugt werden, und diese Paritätsbits mit den geschriebenen Daten im Flash-Speicher 1100 in Verbindung gebracht werden. Anschließend werden die Paritätsbits bei einer Leseoperation verwendet, um Fehler in den Daten zu erfassen, wie sie vom Flash-Speicher 1100 gelesen werden.
  • Ein Hauptprozessor (CPU) 1240 der Speichersteuerung 1200 steuert einen Gesamtbetrieb des Datenaustauschs, der durch die Speichersteuerung 1200 ausgeführt wird. Obwohl nicht dargestellt, ist es für einen Fachmann offensichtlich, dass die Speichersteuerung ferner mit weiteren Komponenten wie zum Beispiel einem ROM (nicht dargestellt) vorgesehen sein kann, welches Datencodes zum Ankoppeln mit der Host-Vorrichtung speichern kann. Ferner kann die Steuerung 1200 mit mehreren CPUs ausgestattet sein, um Multitasking und eine Hochgeschwindigkeitsparallelverarbeitung zu ermöglichen.
  • 5 und 6 erläutern eine Bitfehlerrate, die in Zusammenhang mit einem 2-Bit-MLC-Flash-Speicher steht. 5 stellt eine Spannungsverteilung (Anzahl der Zellen gegen Schwellwertspannung Vth) von 2-Bit-Flash-Speicherzellen dar. Wie dargestellt, enthält die Spannungsverteilung einen gelöschten Zustand E, und Programmierzustände P1, P2 und P3. In dem in 5 dargestellten Beispiel sind die 2-Bit-Logikwerte (das heißt, 2-Bit-Daten) 11, 10, 00, 01 den entsprechenden Spannungsverteilungen E, P1, P2, P3 zugeordnet.
  • Im MLC-Flash-Speicher bildet jedes Datenbit pro Speicherzelle eine logische Datenseite. Im Falle des 2-Bit-MLC können die niedrigstwertigen Bits LSB der gespeicherten Daten eine erste Datenseite sein, und können die höchstwertigen Bits MSB der gespeicherten Daten eine zweite Datenseite sein. Dies ist in 6 dargestellt. In einer tatsächlichen, echten Flash-Speichervorrichtung sind die Schwellwertspannungsverteilungen nicht wie in 3 oben dargestellt ideal, sondern ein Abschnitt von jeder Schwellwertverteilung überlappt stattdessen mit einer benachbarten Schwellwertspannungsverteilung. Dies wird in 5 durch den Überschneidungsbereich 901 der Verteilungszustände E und P1, den Überschneidungsbereich 902 der Verteilungszustände P1 und P2, und die Überschneidungsbereiche 903 der Verteilungszustände P2 und P3 dargestellt. Beim Lesen der ersten (LSB) Datenseite wird eine Lesespannung angelegt, welche sich zentral zwischen den Spannungen der Verteilungszustände P1 und P2 befindet. Jedoch können Speicherzellen mit Schwellwertspannungen im Überschneidungsabschnitt 902 inkorrekt gelesen werden. Dies ist deshalb so, da die Speicherzellen der Schwellwertspannungsverteilung P1 inkorrekt als eine Schwellwertspannung oberhalb der Lesespannung aufweisend erfasst werden können, wobei Speicherzellen der Schwellwertspannungsverteilung P2 inkorrekt als eine Schwellwertspannung unterhalb der Lesespannung aufweisend erfasst werden können.
  • Bezüglich der Tabelle von 6 ist das niedrigstwertige Bit LSB (das heißt Seite 1) der 2-Bit-Daten 1, 1, 0, 0 für die entsprechenden Spannungsverteilungen E, P1, P2, P3, und ist das höchstwertige Bit MSB (Seite 2) der 2-Bit-Daten 1, 0, 0, 1 für die entsprechenden Spannungsverteilungen E, P1, P2, P3. Die normalisierte Bitfehlerrate (BER) von jeder Seite ist durch die Anzahl von Bitübergängen 1-0 oder 0-1 (das heißt die Anzahl von Leseoperationen) zwischen den Schwellwertspannungsverteilungen definiert. Im Beispiel von 6 weist Seite 1 einen solchen Übergang (von P1 zu P2) auf, und somit hat Seite 1 eine normalisierte BER von 1 hat. Seite 2 weist zwei solche Übergänge auf (von E zu P1, und von P2 zu P3), und somit hat Seite 2 eine normalisierte BER von 2.
  • Die BER von einem 4-Bit-Flash-Speicher wird nachstehend mit Bezug auf die 7 und 8 beschrieben.
  • 7 stellt schematisch eine ideale Schwellwertspannungsverteilung von 4-Bit-Flash-Speicherzellen dar. Wie dargestellt enthalten die Spannungsverteilungen einen gelöschten Zustand E und programmierte Zustände P1 bis P15. 7 stellt zudem Lesespannungen R1 bis R15 dar, die bei einer Leseoperation der Flash-Speicherzellen angelegt werden.
  • 8 stellt die 4-Bit-Logikwerte dar, die jedem der gelöschten Zustände E und den programmierten Zuständen P1 bis P15 von 7 zugeordnet werden. Beim Lesen der ersten Datenseite (Seite 1) liegt ein einzelner Bitübergang vor, wobei ein einzelnes Lesen bei R8 ausgeführt wird. Somit ist die normalisierte BER gleich 1. Beim Lesen von Seite 2 liegen zwei Bitübergänge vor, wobei das Lesen zweimal bei R4 und R12 ausgeführt wird, und die normalisierte BER ist gleich 2. Beim Lesen von Seite 3 liegen vier Bitübergänge vor, wobei das Lesen viermal bei R2, R6, R10 und R14 ausgeführt wird, und die normalisierte BER ist gleich 4. Zuletzt liegen beim Lesen von Seite 4 acht Übergänge vor, wobei das Lesen achtmal bei R1, R3, R5, R7, R9, R11, R13 und R15 ausgeführt wird, und die normalisierte BER ist gleich 8.
  • Wie oben beschrieben nimmt die BER überproportional mit der Anzahl der Bits (das heißt Seiten pro Wortleitung) der MLC-Flash-Speichervorrichtung zu. Wie in der Tat den oben angegebenen Beispielen entnommen werden, ist bei einer N-Bit-MLC-Speichervorrichtung die BER von jeder Seite gleich 2n-1, wobei n die Seitenanzahl von 1 bis N darstellt. Die ECC-Schaltung (zum Beispiel, der ECC-Block 1230 von 4) der Speichersteuerung muss für den schlechtesten Fall der BER ausgebildet sein. Im Falle des 4-Bit MLC-Flash-Speichers von den 7 und 8 bedeutet dies, dass die ECC-Schaltung für eine BER von 8 ausgestaltet ist, obwohl die Seiten 1 bis 3 eine BER von weniger als 8 aufweisen. Der überproportionale Anstieg der BER relativ zur Anzahl der Seiten pro Bitleitung kann eine übermäßige Vergrößerung der ECC-Kapazität erfordern.
  • 9 und 10 zeigen Diagramme zum Beschreiben eines Verschachtelungsverfahrens der verwandten Technik, welches zum Reduzieren der größten anzunehmenden BER einer MLC-Flash-Speichervorrichtung verwendet werden kann.
  • Bei dem Beispiel eines 4-Bit-MLC-Flash-Speichers ist dieses Verfahren gekennzeichnet durch das Verschachteln von von vier (4) Seiten (Seiten 1 bis 4) innerhalb jedes Sektors, der (zum Beispiel, von einem Host) in einen Pufferspeicher 1251 geladenen ist. Hierbei enthält der Pufferspeicher acht Sektoren SCT1 bis SCT8. Die verschachtelten Daten von jedem Sektor des Pufferspeichers 1252 werden als Sektordaten S1 bis S8 verwendet, welche der ECC-Schaltung 1231 zugeführt werden, und die ECC-Schaltung 1231 erzeugt Paritätsbits basierend auf den verschachtelten Daten. Die Paritätsbits werden anschließend in einem Reservespeicherbereich des Flash-Speichers 1100 so gespeichert, dass sie mit den darin gespeicherten Seitendaten 1111 in Verbindung gebracht werden. Wenn die Daten gelesen werden, führt die ECC 1231 eine Fehlerkorrektur der physikalischen Seiten basierend auf den Paritätsbits durch. Auf diese Weise haben alle Datenseiten die gleiche BER. Das heißt, im Falle der 4-Bit-Flash-Speichervorrichtung ist die BER (1+2+4+8)/4=3,75.
  • Während das Verschachtelungsverfahren des obigen Beispiels effektiv zum Verringern der größten anzunehmenden BER von 8 auf 3,75 ist, werden erhebliche Ressourcen an Pufferspeicher 1252 für dessen Implementierung benötigt. Dies liegt zumindest teilweise daran, dass alle vier (4) Datenseiten als ein Sektor in den Pufferspeicher 1251 geladen werden müssen. Zum Beispiel in dem Fall, in welchem jede Seite in der Lage ist, 512 Bits zu speichern, kann ein Sektor von 2 kB zugewiesen werden, und ein großer Kapazitätspufferspeicher 1251 wird notwendig.
  • Ein weiteres Verfahren zum Angleichen des BER-Missverhältnisses wird nachstehend bezüglich den 11 bis 14 beschrieben. Dieses Verfahren betrifft die Offenbarung der gemeinsam zugeteilten US Non-Provisional-Anmeldung mit der Nr. 12/081453 , eingereicht am 16. April 2008, und veröffentlicht am 09. April 2009 mit der Veröffentlichungsnummer US 2009 / 0 091 990 A1 .
  • Bezugnehmend auf 11 enthält dieses Verfahren das Verschieben von Lücken zwischen Schwellwertspannungsverteilungen, so dass die Überlappung bei Übergängen von Seiten mit niedriger BER relativ zur Verteilungsüberlappung bei Übergängen von Seiten mit hoher BER vergrößert wird. Zum Beispiel sind in 11 die Schwellwertspannungsverteilungen E, P1, P2 und P3 für eine 2-Bit MLC-Flash-Speichervorrichtung dargestellt. Im vorstehenden Beispiel von 5 hat jeder der Überlappungsbereiche 901, 902 und 903 die gleiche Fläche eingenommen, d.h. die mit jedem Überlappungsbereich verknüpfte BER war für dieselbe. Dagegen nimmt der Überlappungsbereich 902a von 11 die doppelte Fläche von jedem der Bereiche 901a und 903a ein. Daher ist eine des mit dem Überlappungsbereich 902a verknüpfte BER doppelt so hoch wie eine mit jedem der Überlappungsbereiche 901a und 903a verknüpfte BER. Hierbei ist zu beachten, dass die Summe der Bereiche 901 bis 903 gleich der Summe der Bereiche 901a bis 902c angenommen wird, und somit die gesamte BER der zwei kombinierten Seiten gleich ist. Die BER ist jedoch für jede Seite gleich, da die erste Seite einen einzelnen Leseschritt bei P1/P2 enthält, und die zweite Seite zwei Leseschritte bei E/P1 und P2/P3 enthält. Auf diese Weise wird die größte anzunehmende BER im Vergleich zu 5 auf die herkömmliche durchschnittliche BER reduziert, das heißt auf (1+2)/2=1,5.
  • 12 zeigt ein Diagramm zum Beschreiben der Einstellungen der Verteilung der Schwellwertspannung Vt im Falle einer 4-Bit-MLC-Flash-Speichervorrichtung. Wie dargestellt wird die Lücke zwischen den Verteilungen P7 und P8 der Schwellwertspannung Vt (das heißt der Leseübergang der Seite 1) so eingestellt, dass die BER (Überlappungsbereich) das Achtfache der Lücke zwischen E und P1, der Lücke zwischen P2 und P3, der Lücke zwischen P4 und P5, der Lücke zwischen P6 und P7, der Lücke zwischen P8 und P9, der Lücke zwischen P10 und P11, der Lücke zwischen P12 und P13, und der Lücke zwischen P14 und P15 ist (das heißt der Leseübergänge der Seite 4). Außerdem ist, wie dargestellt, die mit dem Übergang der Seite 1 verknüpfte Lücke doppelt so groß wie die, die mit den Übergängen der Seite 2 verknüpft sind, und vierfach so groß wie die, die mit den Übergängen der Seite 3 verknüpft sind. Auf diese Weise wird, verglichen mit 8, die ungünstigste BER auf die ursprünglich durchschnittliche BER reduziert, das heißt auf (1 + 2 + 3 + 4) = 3,75.
  • Das Einstellen der Lücken (BER) zwischen den Verteilungen der Schwellwertspannung Vt kann durch Einstellen von Leseprüfspannungen während eines Programmierbetriebs realisiert werden. Dies ist anhand eines Beispiels in den 13 und 14 dargestellt.
  • Bezug nehmend auf 13 würden normal positionierte Verteilungen P7 und P8 der Schwellwertspannung durch Ausführen eines Programmierbetriebs unter Verwendung von Leseprüfspannungen F7 und F8 resultieren. Um die Lücke zwischen den Verteilungen P7 und P8 der Schwellwertspannung zu verringern (BER zu erhöhen), kann die Leseprüfspannung F7 um A auf eine neue Leseprüfspannung F7' erhöht werden, und kann die Leseprüfspannung F8 um A auf eine neue Leseprüfspannung F8' erhöht werden. Auf diese Weise wird die BER bei dem P7/P8-Übergang erhöht.
  • 14 ist ein ähnliches Diagramm zum Darstellen einer Lückeneinstellung bei dem P3/P4-Übergang und dem P11/P12-Übergang. Normal positionierte Verteilungen P3 und P4 der Schwellwertspannung würden durch Ausführen eines Programmierbetriebs unter Verwendung von Leseprüfspannungen F3 und F4 resultieren. Um die Lücke zwischen den Verteilungen P3 und P4 der Schwellwertspannung zu verringern (BER anzuheben) kann die Leseprüfspannung F3 um B1 auf eine neue Leseprüfspannung F3' angehoben werden, und die Leseprüfspannung F4 um B1 auf eine neue Leseprüfspannung F4' verringert werden. Auf diese Weise wird die BER bei dem P3/P4-Übergang erhöht. Normal positionierte Verteilungen P11 und P12 der Schwellwertspannung würden durch Ausführen eines Programmierbetriebs unter Verwendung von Leseprüfspannungen F11 und F12 resultieren. Um die Lücke zwischen Verteilungen P11 und P12 der Schwellwertspannung zu verringern (BER zu erhöhen), kann die Leseprüfspannung F11 um B2 auf eine neue Leseprüfspannung F11' erhöht werden, und die Leseprüfspannung F12 um B2 auf eine neue Leseprüfspannung F12 verringert werden. Auf diese Weise wird die BER bei dem P11/P12-Übergang erhöht. Hierbei ist A > B1 und A > B2. Somit ist der Anstieg der BER bei dem P7/P8-Übergang größer als der bei den P3/P4- und P 11/P 12-Übergangen.
  • Auf eine ähnliche Weise können die Leseprüfspannungen so eingestellt werden, dass sie die BER bei den P1/P2-, P5/P6-, P9/P10- und P13/P14-Übergangen verringern, und ferner die BER bei den E/P1-, P2/P3-, P4/P5-, P6/P7-, P8/P9-, P10/11-, P12/P13- und P 14/P 15-Übergangen verringern.
  • Ausführungsformen der erfinderischen Konzepte werden nun mit Bezug auf die 15 bis 18 beschrieben. Bei den nachfolgenden Ausführungsformen sind N-Bit-MLC-Speicherzellen zum Speichern von N Datenseiten vorgesehen. Die N Datenseiten werden in M Seitengruppen aufgeteilt, wobei jede der M Seitengruppen zumindest eine der N Seiten enthält. In den nachfolgenden Beispielen enthält jede der M Seitengruppen N/M Seiten. Bei einem teilweisen Verschachtelungsprozess werden die Seitendaten von jeder Gruppe verschachtelt, um Sektordaten zu erzeugen, welche bei einem Fehlerkorrekturcode(ECC)-Prozess angewendet werden, um Paritätsbits für jede Gruppe zu erzeugen, um dadurch eine Bitfehlerrate (BER) der Seiten in jeder Gruppe anzugleichen (oder ein Missverhältnis der BER zu verringern). Ferner werden Einstellungen der Verteilungen der ausgeführt, um die BER der M Seitengruppen anzupassen bzw. anzugleichen (oder ein Missverhältnis der BER zu reduzieren). Spezifische Beispiele der Ausführungsformen werden nachstehend für einen Fall beschrieben, in welchen M = 4, und M = 2 ist, die erfinderischen Konzepte jedoch nicht darauf beschränkt sind.
  • Zuerst Bezug nehmend auf die 15 und 16 ist das Beispiel dieser Ausführungsform durch Ausführen eines teilweisen Verschachtelungsverfahrens der erfinderischen Konzepte gekennzeichnet.
  • Beim dargestellten Beispiel einer 4-Bit-MLC-Flash-Speichervorrichtung ist die Ausführungsform durch Verschachteln von zwei Seiten (z. B. Seiten 1 und 2) in manchen Sektoren (z. B. Sektoren SCT1-SCT4) des Pufferspeichers 1252, und Verschachteln von zwei weiteren Seiten (z. B. Seiten 3 und 4) in anderen Sektoren (z. B. Sektoren SCT5-SCT8) des Pufferspeichers 1252 gekennzeichnet. Die verschachtelten Daten von jedem Sektor SCT1-SCT4 des Pufferspeichers 1252 werden als Sektordaten S1-S4 einer ECC-Schaltung 1232 zugeführt, und die ECC-Schaltung 1232 erzeugt erste Paritätsbits basierend auf den verschachtelten Seite 1/Seite 2-Daten. Die ersten Paritätsbits werden anschließend in einem Reservespeicherbereich des Flash-Speichers 1100 so gespeichert, dass sie mit den darin gespeicherten Daten 1111 der Seite 1 und Seite 2 verknüpft sind. Ähnlich werden verschachtelte Daten von ihrem Sektor SCT5-SCT8 des Pufferspeichers 1252 als Sektordaten S5-S8 verwendet, die einer ECC-Schaltung 1232 zugeführt werden, und die ECC-Schaltung 1232 erzeugt zweite Paritätsbits basierend auf den verschachtelten Seite 3/Seite 4-Daten. Die zweiten Paritätsbits werden dann in einem Reservespeicherbereich des Flash-Speichers 1100 so gespeichert, dass sie mit darin gespeicherten Daten 1111 der Seite 3 und Seite 4 verknüpft sind. Wenn die Daten gelesen werden, führt die ECC eine Fehlerkorrektur der physikalischen Seiten basierend auf den ersten Paritätsbits und den zweiten Paritätsbits aus. Auf diese Weise haben die Daten der Seite 1 und der Seite 2 die gleiche BER, und die Daten der Seite 3 und der Seite 4 die gleiche BER. Das heißt, im Falle der 4-Bit Flash-Speichervorrichtung ist die BER von Seite 1/Seite 2 ist (1 + 2)/2 = 1,5, und die BER der Seite 3/Seite 4 ist (4 + 8)/2 = 6.
  • Da bei der obigen Ausführungsform in jedem Sektor zwei (2) Datenseiten geladen sind, kann die Kapazität des Pufferspeichers 1232 wesentlich reduziert werden, im Vergleich zu der Kapazität, die für das Verschachtelungsschema von den 9 und 10 benötigt wird. Ferner kann auch die Größe der ECC-Schaltung 1232 reduziert werden. Außerdem kann durch Einstellen der Verteilungen des Spannungsschwellwerts Vt wie unten beschrieben das Missverhältnis der BER zwischen den Seiten 1/2 und den Seiten 3/4 verhindert werden. Dies wird nachfolgend bezüglich 17 beschrieben.
  • Im obenstehenden Beispiel hatten die verschachtelten Seiten 1 und 2 eine BER von 1,5, und die verschachtelten Seiten 3 und 4 eine BER von 6. Dies kann auf eine BER von 1 für die Seiten 1 und 2, und eine BER von 4 für die Seiten 3 und 4 (d. h., einem BER-Verhältnis von 1:4) normalisiert werden. Sich 17 zuwendend werden die Seite 1/Seite 2-Übergänge (P3/P4 und P7/P8 und P11/P12) durch das zuvor beschriebene Einstellen der Prüflesespannungen so eingestellt, dass die BER bei jedem Übergang vier (4) mal größer bzw. höher als die der verbleibenden Seite 3/Seite 4-Übergänge ist. In anderen Worten ist die BER bei den P3/P4- und P7/P8- und P11/12-Übergangen (erste Seitengruppe) erhöht, und ist die BER bei den verbleibenden Übergängen (der zweiten Seitengruppe) verringert, so dass die BER für die erste Gruppe der Seite 1/Seite 2 an die BER der zweiten Seitengruppe Seite 3/Seite 4 angeglichen ist. In diesem besonderen Beispiel ist die normalisierte BER jeder Seitengruppe (1 + 2)/2 = 2,5.
  • 18 ist ein Flussdiagramm zum Beschreiben eines Verfahrens gemäß Ausführungsformen der erfinderischen Konzepte. Zuerst werden wie obenstehend vorgeschlagen N physikalische Datenseiten in M Seitengruppen unterteilt (S110). Zum Beispiel werden vier (4) physikalische Datenseiten in zwei Gruppen von Seiten aufgeteilt, wobei jede Gruppe zwei (4/2) Seiten enthält. Anschließend wird eine teilweises Verschachtelungsschema ausgeführt (S120), bei dem Seiten von jeder der M Gruppen verschachtelt werden, um Sektordaten zu erzeugen, welche in einem ECC-Prozess verwendet werden, um dadurch ein Missverhältnis der BER zwischen Seiten in jeder Gruppe zu reduzieren oder zu. Die Verteilungen der Schwellwertspannung Vt werden zudem so eingestellt, dass ein Missverhältnis der BER zwischen M Seitengruppen reduziert oder verhindert werden (S130).
  • Somit kann das BER-Missverhältnis gemäß den oben beschriebenen Ausführungsformen durch Ausführen des teilweisen Verschachtelungsprozesses während der ECC, und durch Einstellen der Verteilungen des Spannungsschwellwerts Vt basierend auf den teilweise verschachtelten Daten verhindert werden. Die Ausführungsformen ermöglichen einen Pufferspeicher mit verringerter Kapazität, im Vergleich zum vorstehend beschriebenen vollständigen Verschachtelungsprozess, und die Einstellungen der Verteilungen des Spannungsschwellwerts Vt sind im Vergleich zu dem vorstehend beschrieben Verfahren vereinfacht.
  • Für eine einfache Erläuterung stellt die obige Diskussion eine BER-Beziehung des Standes der Technik dar, bei der die normalisierte BER einer nten Seite 2n ist, wobei n gleich 0 bis (N-1) und N die Gesamtzahl der Seiten ist. Aufgrund von Betriebs- und/oder Prozessveränderungen (wie z. B. Burn-In), kann diese Seitenbeziehung der BER jedoch verändert werden, wobei die Ausführungsformen hierbei entsprechend verändert werden können. Zum Beispiel enthält eine Ausführungsform der erfinderischen Konzepte beim Abschätzen der BER für jede der N Seiten in dem Fall, in welchem die 2N-1 Prüfspannungen gleich verteilt sind, das Bestimmen einer erwarteten Veränderung, die aus einem Burn-In-Prozess resultiert, und eine entsprechende Einstellung der 2N-1 Prüfspannungen. Das Abschätzen bzw. der Abschätzschritt kann ferner das Bestimmen einer erwarteten Veränderung enthalten, welche von einer fehlenden Randomisierung von gespeicherten Daten in den MLC-Speicherzellen resultiert. Darüber hinaus können Programmierzustände mit einer niedrigen Schwellwertspannung eine breitere Verteilung aufgrund von Programmierladungsstörungen aufweisen, welche auch die BER von jeder Seite beeinflussen. Hierbei ist erneut darauf hinzuweisen, dass die hier vorliegenden Ausführungsformen auch verändert werden können, um solchen Variationen Rechnung zu tragen.
  • Die obigen Ausführungsformen sind dazu gedacht, die BER der N/M Seiten innerhalb jeder Gruppe von Seiten anzugleichen und/oder die BER für die M Gruppen von Seiten anzugleichen. Hierbei ist zu verstehen, dass ein exaktes Übereinstimmen der BER's in einer tatsächlichen Vorrichtung nicht möglich ist, und dass der Begriff „angleichen“ für eine Reduzierung des BER-Missverhältnisses derart steht, dass die BER-Werte innerhalb angemessener Grenzen von Prozess- und Betriebsvariationen im Wesentlichen gleich sind.
  • Ferner erwähnt die obige Beschreibung, dass die Verteilungen der Schwellwertspannung Vt korrigiert oder eingestellt werden können, um das BER-Missverhältnis der M Seitengruppen zu verringern. Dabei ist zu verstehen, dass diese Verteilungen der Schwellwertspannung Vt im Voraus vor dem Versenden eines Produkts eingestellt werden können oder stattdessen nach dem Versenden korrigiert und/oder eingestellt werden können.
  • 19 und 20 stellen eine perspektivische Ansicht einer SD-Speicherkarte bzw. eine Blockansicht eines Speicherkartensystems gemäß Ausführungsformen der erfinderischen Konzepte dar. Das Speicherkartensystem 2000 enthält eine Speicherkarte 2200 (wie zum Beispiel die SD-Speicherkarte, die in 19 dargestellt ist) und einen Host 2100. Die Host-Vorrichtung 2100 enthält eine Host-Steuerung 2110 und eine Host-Verbindung (CNT) 2120. Die Host-Steuerung 2110 enthält zum Beispiel eine Haupt-CPU, einen DRAM, einen SRAM, etc., und überträgt Befehle (CMD) und ein Taktsignal (CLK) an die Speicherkarte 2200. Die Speicherkarte enthält einen nichtflüchtigen Speicher 2230, eine Kartensteuerung 2220 und einen Kartenanschluss (CNT) 2210. Im Betrieb ist die Speicherkarte 2200 lösbar mit der Host-Anschluss 2120 verbunden, um den Austausch von Daten (DAT) zwischen der Host-Vorrichtung 2100 und der Speicherkarte 2200 zu ermöglichen. Ferner ist die Speichersteuerung 2220 gemäß einem oder mehreren der hier beschriebenen erfinderischen Konzepte ausgebildet.
  • 21 ist ein Blockdiagramm eines weiteren Speichersystems gemäß Ausführungsformen der erfinderischen Konzepte. Insbesondere enthält das Speichersystem dieses Beispiels eine Host-Vorrichtung 3100 und ein Festkörperlaufwerk bzw. ein Festkörperlaufwerk (SSD) 3200. Hierbei tauschen die Host-Vorrichtung 3100 und das SSD 3200 Signale über Signalanschlüsse 3231 des SSD 3200 aus, und die Host-Vorrichtung 3100 überträgt ein Leistungssignal PWR an einen Hilfs-Leistungs-Zuführanschluss 3221 der SSD 3200 überträgt. Der SSD 3200 enthält eine SSD-Steuerung 3210, eine Hilfsstromversorgung 3220, und eine Mehrzahl von Gruppen 3201 bis 320n von Speicherchips (NVM), wobei jede Speicherchipgruppe 3201 bis 320n zumindest einen nichtflüchtigen Speicherchip enthält. Die SSD Steuerung 3210 ist gemäß einer oder mehrerer der erfinderischen Konzepte, die vorliegend beschrieben werden, ausgebildet und kommuniziert mit den Speicherchipgruppen 3201 bis 320n über eine entsprechende Mehrzahl von Kanälen CH1 bis CHn.
  • 22 ist ein Blockdiagramm der in 21 gezeigten SDD-Steuerung 3200 gemäß Ausführungsformen der erfinderischen Konzepte. Dieses Beispiel ist ähnlich der Speichersteuerung 1200 aus 4, abgesehen davon, dass die Speichersteuerung 3210 über die Schnittstelle 3211 des nichtflüchtigen Speichers über eine Mehrzahl von Kanälen CH1<1:n> mit den entsprechenden Speicherchipgruppen 3201 bis 320n des nichtflüchtigen Speichers 3200 kommuniziert. Bevorzugt werden Daten über die Speicherchipgruppen verteilt, um zum Beispiel die Lebensdauer der Chipgruppen zu verlängern. Der Host I/F 3212, der ECC-Block 3213, der Pufferspeicher 3215 und die CPU 3214 sind gleich oder ähnlich den gleich bezeichneten Elementen der zuvor beschriebenen 4, und somit wird hier auf deren detaillierte Beschreibung verzichtet. Bei dieser Ausführungsform ist die Speichersteuerung 3210 mit einem SSD vorgesehen, aber die erfinderischen Konzepte sind nicht darauf beschränkt. Ausserdem kann die CPU 3214 mehrere Hauptprozessoren enthalten, wodurch Multitasking und/oder ein paralleles Verarbeiten bzw. eine Parallelverarbeitung ermöglicht wird.
  • 23 zeigt ein Blockdiagramm eines Computersystems gemäß einer Ausführungsform der erfinderischen Konzepte. Beispiele des Computersystems 4000 sind mobile Vorrichtungen, PCs, Digitalkameras, Camcorder, Mobiltelefone, MP3-Player, Tragbare Multimediaabspielgeräte (PMPs), Persönliche Digitale Assistenten (PDAs), und HD-Fernseher (HDTV). Das Computersystem 4000 dieses Beispiels enthält einen Hauptprozessor (CPU) 4300, eine Benutzerschnittstelle 4500, einen Direktzugriffsspeicher (RAM) 4400, eine Stromversorgung bzw. ein Netzteil 4200, eine Hilfsstromversorgung 4250 und ein Speichersystem 4100. Die Funktionalität der CPU 4300, der Benutzerschnittstelle 4500, des RAMs 4400, der Stromversorgung 4200, der Hilfsstromversorgung 4250 und des Bussystems sind von dem Fachmann gut verstanden. Das Speichersystem 4100 enthält eine Speichersteuerung 4120 und einen Flash-Speicher 4110, und kann einem der Speichersysteme, die vorstehend beschrieben worden sind, entsprechen. Ferner ist die Steuerung 4120 gemäß einer oder mehrerer erfinderischer Konzepte, die vorliegend beschrieben sind, konfiguriert.
  • Ein MLC-Flash-Speicher gemäß einem oder mehreren der erfinderischen Konzepte kann auf oder in einer der Mehrzahl verschiedener Gehäusetypen enthalten sein. Zum Beispiel kann eine Flash-Speichervorrichtung gemäß einem oder mehreren erfinderischen Konzepten auf oder in einer Package-on-Package (PoP), Ball-Grid-Arrays (BGAs), Chipscale-Gehäusen (CSPs), Plastic-Leaded-Chip-Carrier (PLCC), ein Plastic-Dual-In-Line-Gehäuse (PDIP), einem Die-In-Waffle-Pack, einer Die-In-Wafer-Form, einem Chip-On-Board (COB), einem keramischen Dual-In-Line-Gehäuse (CERDIP), einem Plastic-Metric-Quad-Flat-Pack (MQFP), einem Thin-Quad-Flatpack (TQFP), einer Small-Outline (SOIC), einem Shrink-Small-Outline-Gehäuse (SSOP), einem Thin-Small-Outline-Gehäuse (TSOP), einem Thin-Quad-Flatpack (TQFP), einem System-In-Gehäuse (SIP), einem Multi-Chip-Gehäuse (MCP), einem Wafer-Level-Fabricated-Gehäuse (WFP), einem Wafer-Level-Processed-Stack-Gehäuse (WSP), und dergleichen enthalten sein.

Claims (23)

  1. Nichtflüchtiger Speicher mit: einer Mehrzahl von N-Bit-Multi-Level-Zellen(MLC)-Speicherzellen zum Speichern von N Datenseiten (Seite1, Seite2, Seite3, Seite4) wobei jede der MLC-Speicherzellen in jede von 2N Schwellwertspannungsverteilungen (E, P1 - P14) programmierbar ist, wobei N eine positive Zahl ist; einer Steuerung (1140), die dazu ausgebildet ist, die N Datenseiten (Seite1, Seite2, Seite3, Seite4) in die MLC-Speicherzellen zu programmieren, und einen teilweisen Verschachtelungsprozess auszuführen, bei dem die N Datenseiten (Seite1, Seite2, Seite3, Seite4) in M Seitengruppen aufgeteilt werden, wobei M eine positive Zahl ist, und wobei jede Seitengruppe zumindest eine der N Datenseiten (Seite1, Seite2, Seite3, Seite4) enthält, und bei dem jede der M Seitengruppen einer Fehlerkorrekturcode(ECC)-Schaltung (1231) zugeführt wird, um Paritätsbits für entsprechenden M Seitengruppen zu erzeugen, wobei eine Bitfehlerrate (BER) der Seiten in jeder der M Gruppen durch den teilweisen Verschachtelungsprozess angeglichen wird.
  2. Nichtflüchtiger Speicher nach Anspruch 1, wobei die Schwellwertspannungsverteilungen (E, P1 - P14) vor dem Programmieren so eingestellt werden, dass eine BER der M Seitengruppen angeglichen wird.
  3. Nichtflüchtiger Speicher nach Anspruch 1, ferner mit einem Pufferspeicher (1251), der dazu ausgebildet ist, Daten in Einheiten von Sektoren (SCT1 - SCT8) von externen Vorrichtungen zu empfangen, wobei in jeden empfangenen Sektor (SCT1 - SCT8) von Daten eine der M Seitengruppen geladen ist.
  4. Nichtflüchtige Speichervorrichtung nach Anspruch 3, wobei die Daten von jedem Sektor (SCT1 - SCT8) als Sektordaten (S1 - S8) der ECC-Schaltung (1231) zugeführt werden.
  5. Nichtflüchtiger Speicher nach Anspruch 1, wobei jede Seitengruppe N/M Datenseiten (Seite1, Seite2, Seite3, Seite4) enthält.
  6. Nichtflüchtiger Speicher nach Anspruch 4, ferner mit einem Pufferspeicher, der dazu ausgebildet ist, Daten in Einheiten von Sektoren (SCT1 - SCT8) von einer externen Vorrichtung zu empfangen, wobei jeder empfangene Sektor N/M Datenseiten (Seite1, Seite2, Seite3, Seite4) enthält.
  7. Nichtflüchtiger Speicher nach Anspruch 1, wobei N mindestens 4 ist und M mindestens 2 ist.
  8. Nichtflüchtiger Speicher nach Anspruch 2, wobei die 2N Schwellwertspannungsverteilungen (E, P1 - P14) vor dem Programmieren durch Einstellen von 2N-1 Prüfspannungen (F1 - F12) für die 2N Schwellwertspannungsverteilungen (E, P1 - P14) derart eingestellt werden, dass die BER der M Seitengruppen angeglichen werden.
  9. Nichtflüchtiger Speicher nach Anspruch 1, wobei die Mehrzahl der N-Bit-MLC-Speicherzellen mit der gleichen Wortleitung einer nichtflüchtigen Speicherzellenanordnung verbunden sind.
  10. Nichtflüchtiger Speicher nach Anspruch 1, wobei die N-Bit-MLC-Speicherzellen durch Fowler-Nordheim-Tunneln programmiert sind.
  11. Verfahren zum Einstellen von Schwellwertspannungsverteilungen (E, P1 - P14) in einem nichtflüchtigen Speicher (1100), der N-Bit-Multi-Level-Zellen(MLC)-Speicherzellen zum Speichern von N Datenseiten (Seite1, Seite2, Seite3, Seite4) enthält, wobei N eine positive Zahl ist, und wobei jede der N-Bit-MLC-Speicherzellen in eine von 2N Schwellwertspannungsverteilungen (E, P1 - P14) programmierbar ist, wobei dieses Verfahren aufweist: Aufteilen der N Seiten in M Seitengruppen, wobei M eine positive Zahl ist; Einstellen von 2N-1 Prüfspannungen (F1 - F12), welche den 2N Schwellwertspannungsverteilungen (E, P1 - P14) derart entsprechen, dass die durchschnittliche Bitfehlerrate (BER) der M Seitengruppen angeglichen werden; Programmieren der N Datenseiten (Seite1, Seite2, Seite3, Seite4) in N-Bit-MLC-Speicherzellen unter Verwendung der eingestellten 2N-1 Prüfspannungen (F1 - F12); und Ausführen eines teilweisen Verschachtelungsprozesses, bei dem jede der M Seitengruppen einer Fehlerkorrekturcode(ECC)-Schaltung (1231) zugeführt wird, um Paritätsbits für die entsprechenden M Seitengruppen zu erzeugen, wobei eine Bitfehlerrate (BER) der Seiten in jeder der M Gruppen durch den teilweisen Verschachtelungsprozess angeglichen wird.
  12. Verfahren nach Anspruch 11, ferner aufweisend das Abschätzen einer BER für jede der N Datenseiten (Seite1, Seite2, Seite3, Seite4) im Voraus, in dem Fall, in welchem die 2N-1 Prüfspannungen (F1 - F12) gleichmäßig verteilt sind; und einem Schritt zum Korrigieren von zumindest einer der 2N-1 Prüfspannungen (F1 - F12) derart, dass die durchschnittliche Bitfehlerrate (BER) der M Seitengruppen angeglichen wird.
  13. Verfahren nach Anspruch 12, wobei das Abschätzen das Bestimmen einer angenommenen Veränderung bei zumindest einer der 2N Spannungsverteilungen (E, P1 - P14) enthält, die aus einem Burn-In-Prozess resultieren.
  14. Verfahren nach Anspruch 12, wobei das Abschätzen das Bestimmen einer angenommenen Veränderung bei zumindest einer der 2N Spannungsverteilungen (E, P1- P14) enthält, welche aus einer fehlenden Randomisierung von Daten resultiert, welche in den MLC-Speicherzellen gespeichert sind.
  15. Verfahren nach Anspruch 11, wobei N mindestens 4 ist und M mindestens 2 ist.
  16. Verfahren nach Anspruch 11, wobei die Mehrzahl von N-Bit MLC-Speicherzellen mit der gleichen Wortleitung einer nichtflüchtigen Speicherzellenanordnung verbunden sind.
  17. Verfahren nach Anspruch 11, wobei die N-Bit-MLC-Speicherzellen durch Fowler-Nordheim-Tunneln programmiert werden.
  18. Speichersystem mit: einem nichtflüchtigen Speicher (2230; 3200) mit einer Steuerlogik, einem Adressdekoder, und einer Speicherzellenanordnung, wobei die Speicherzellenanordnung Zeilen und Spalten von N-Bit-Multi-Level-Zellen(MLC)-Speicherzellen enthält, wobei jede Zeile der MLC-Speicherzellen dazu ausgebildet ist, N Datenseiten (Seite1, Seite2, Seite3, Seite4) zu speichern; einer Speichersteuerung (2220; 3210), welche eine Host-Schnittstelle zum Ankoppeln an eine externe Vorrichtung (2100; 3100), eine Speicherschnittstelle zum Ankoppeln an den nichtflüchtigen Speicher (2230; 3200), einen Hauptprozessor (3214), einen Pufferspeicher (3215) und eine Fehlerkorrektorcode(ECC)-Schaltung (3213) enthält, wobei die Speichersteuerung dazu ausgebildet ist, einen teilweisen Verschachtelungsprozess auszuführen, bei dem die N Datenseiten (Seite1, Seite2, Seite3, Seite4) in M Seitengruppen aufgeteilt werden, wobei M eine positive Zahl ist und wobei jede Seitengruppe zumindest eine der N Datenseiten (Seite1, Seite2, Seite3, Seite4) enthält, und bei dem jede der M Seitengruppen der ECC-Schaltung (1231) zugeführt wird, um Paritätsbits für entsprechende M Seitengruppen zu erzeugen, wobei eine Bitfehlerrate (BER) der Seiten der M Gruppen durch den teilweisen Verschachtelungsprozess angeglichen wird.
  19. Speichersystem nach Anspruch 18, wobei jede der N-Bit-MLC-Speicherzellen in eine der 2N Schwellwertspannungsverteilungen (E, P1 - P14) programmierbar ist, und wobei die Schwellwertspannungsverteilungen (E, P1- P14) vor dem Programmieren so eingestellt werden, dass eine BER der M Seitengruppen angeglichen wird.
  20. Speichersystem nach Anspruch 18, ferner mit einem Pufferspeicher, der dazu ausgebildet ist, Daten in Einheiten von Sektoren (SCT1 - SCT8) von einer externen Vorrichtung zu empfangen, wobei in jedem empfangene Sektor von Daten mit einer der M Seitengruppen geladen ist.
  21. Speichersystem nach Anspruch 18, wobei die N-Bit-MLC-Speicherzellen durch Fowler-Nordheim-Tunneln programmiert sind.
  22. Speichersystem nach Anspruch 18, wobei das Speichersystem ein Festkörperlaufwerk (SSD) ist, und wobei der nichtflüchtige Speicher eine Mehrzahl von nichtflüchtigen Speicherchips (3201 - 320n) und eine Mehrzahl von Datenkanälen (CH1 - CHn) zwischen der Speichersteuerung (3210) und den nichtflüchtigen Speicherchips (3201 - 320n) enthält.
  23. Speichersystem nach Anspruch 18, wobei das Speichersystem eine Speicherkarte ist.
DE102010037579.9A 2009-09-25 2010-09-16 Nichtflüchtige Speichervorrichtung und -system sowie Verfahren zum Programmieren einer nichtflüchtigen Speichervorrichtung Active DE102010037579B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020090091233A KR101616100B1 (ko) 2009-09-25 2009-09-25 메모리 시스템 및 그것의 동작 방법
KR10-2009-0091233 2009-09-25
US12/882,378 2010-09-15
US12/882,378 US8355279B2 (en) 2009-09-25 2010-09-15 Nonvolatile memory device and system, and method of programming a nonvolatile memory device

Publications (2)

Publication Number Publication Date
DE102010037579A1 DE102010037579A1 (de) 2011-04-07
DE102010037579B4 true DE102010037579B4 (de) 2023-01-19

Family

ID=43705833

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010037579.9A Active DE102010037579B4 (de) 2009-09-25 2010-09-16 Nichtflüchtige Speichervorrichtung und -system sowie Verfahren zum Programmieren einer nichtflüchtigen Speichervorrichtung

Country Status (1)

Country Link
DE (1) DE102010037579B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10573390B1 (en) * 2018-11-30 2020-02-25 Samsung Electronics Co., Ltd. High-density storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090091990A1 (en) 2007-10-09 2009-04-09 Samsung Electronics Co., Ltd. Apparatus and method of multi-bit programming
US20090187368A1 (en) 2008-01-21 2009-07-23 Texas Instruments Incorporated Burn-In Tests To Produce Fabricated Integrated Circuits With Reduced Variations Due To Process Spread
US20090190397A1 (en) 2008-01-30 2009-07-30 Samsung Electronics Co., Ltd. Memory device and data reading method
US8145308B2 (en) 2008-03-13 2012-03-27 Medtronic, Inc. Method and apparatus for determining a parameter associated with delivery of therapy in a medical device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090091990A1 (en) 2007-10-09 2009-04-09 Samsung Electronics Co., Ltd. Apparatus and method of multi-bit programming
US20090187368A1 (en) 2008-01-21 2009-07-23 Texas Instruments Incorporated Burn-In Tests To Produce Fabricated Integrated Circuits With Reduced Variations Due To Process Spread
US20090190397A1 (en) 2008-01-30 2009-07-30 Samsung Electronics Co., Ltd. Memory device and data reading method
US8145308B2 (en) 2008-03-13 2012-03-27 Medtronic, Inc. Method and apparatus for determining a parameter associated with delivery of therapy in a medical device

Also Published As

Publication number Publication date
DE102010037579A1 (de) 2011-04-07

Similar Documents

Publication Publication Date Title
DE102008003113B4 (de) ECC-Steuereinheit, Speichersystem und Verfahren zur Korrektur eines Fehlers
DE102011089880B4 (de) Verfahren zum Programmieren eines Speicherblocks eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speichersystem
DE112014004778B4 (de) Vorrichtung und Verfahren zum Verwalten von Chipgruppen
DE60217591T2 (de) Speicher-Steuerung für Mehrpegel-Speicherzelle
DE102008003944B4 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE112016004760T5 (de) System und Verfahren für direktes Schreiben auf einen MLC-Speicher
DE102014103125A1 (de) Verfahren und Vorrichtung zum Optimieren des Log-Likelihood-Quotienten (LLR), die verwendet werden für eine nichtflüchtige Speichervorrichtung und zum Korrigieren von Fehlern in einer nichtflüchtigen Speichervorrichtung
DE112014001305B4 (de) Auswahl einer redundanten Datenspeicherkonfiguration auf der Grundlage verfügbaren Speicherplatzes
DE102013109235A1 (de) Flash-Speichersystem mit Detektor für anormale Wortleitung und Verfahren zum Erfassen einer anormalen Wortleitung
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102011054181A1 (de) Nichtflüchtige Speichervorrichtung und Ausleseverfahren davon
DE102008033518B4 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE102011056776A1 (de) Flashspeichervorrichtung und Speichersystem mit derselben
DE112020006139T5 (de) Vor-lese-und lese-schwellenspannungsoptimierung
DE102014100161A1 (de) Speichersystem und Betriebsverfahren davon
DE102008009235A1 (de) Speichersystem
DE112008002553T5 (de) Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten
DE102004036888A1 (de) Flashspeichersystem und zugehöriges Datenschreibverfahren
DE102008033511A1 (de) Verfahren zum Programmieren eines Flashspeichers, Flashspeicher und Flashspeichersystem
DE112014005810B4 (de) anagement der Datenspeicherung in analogen Speicherzellen unter Verwendung einer nicht ganzzahligen Anzahl von Bits pro Zelle
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher
DE102018105277A1 (de) Auf Hamming-Abstand basierende Binärdarstellungen von Zahlen
DE102018123494A1 (de) Speichervorrichtung, die zum aktualisieren einesfeldprogrammierbaren gate-arrays ausgestaltetist, und betriebsverfahren dafür

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final