DE102007046401B4 - Nichtflüchtiges Halbleiterspeichersystem und zugehöriges Verfahren zum Durchführen einer Programmieroperation - Google Patents

Nichtflüchtiges Halbleiterspeichersystem und zugehöriges Verfahren zum Durchführen einer Programmieroperation Download PDF

Info

Publication number
DE102007046401B4
DE102007046401B4 DE102007046401.2A DE102007046401A DE102007046401B4 DE 102007046401 B4 DE102007046401 B4 DE 102007046401B4 DE 102007046401 A DE102007046401 A DE 102007046401A DE 102007046401 B4 DE102007046401 B4 DE 102007046401B4
Authority
DE
Germany
Prior art keywords
memory
data
bit
memory cells
bit data
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
DE102007046401.2A
Other languages
English (en)
Other versions
DE102007046401A1 (de
Inventor
Jin-hyeok Choi
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 KR1020060092472A external-priority patent/KR100894809B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102007046401A1 publication Critical patent/DE102007046401A1/de
Application granted granted Critical
Publication of DE102007046401B4 publication Critical patent/DE102007046401B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

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

Abstract

Nichtflüchtiges Halbleiterspeichersystem (200), aufweisend:- einen Flashspeicher (230) aufweisend ein Speicherfeld (231), das eine Mehrzahl von nichtflüchtigen Multibitspeicherzellen aufweist; und- eine Speichersteuereinheit (220), die ausgebildet ist, während Programmieroperationen Daten von einem Host (210) zu empfangen und zu dem Flashspeicher (230) zu übertragen und während Leseoperationen Daten von dem Flashspeicher (230) zu empfangen und zu dem Host (210) zu übertragen, die Speichersteuereinheit (120) aufweisend:- einen Pufferspeicher (221), der dazu ausgebildet ist, j-Bit-Daten zu speichern, die in ausgewählte Speicherzellen aus der Mehrzahl von nichtflüchtigen Multibitspeicherzellen zu programmieren sind; und- einen Rücksicherungsspeicher (222), der dazu ausgebildet ist, i-Bit-Daten zu sichern, die zuvor in die ausgewählten Speicherzellen programmiert wurden, bevor die j-Bit-Daten in die ausgewählten Speicherzellen programmiert werden, wobei die i-Bit-Daten, die in dem Rücksicherungsspeicher (222) gesichert sind, aus den ausgewählten Speicherzellen gelesen werden, bevor die j-Bit-Daten in die ausgewählten Speicherzellen programmiert werden.

Description

  • Die vorliegende Erfindung betrifft ein nichtflüchtiges Halbleiterspeichersystem und ein Verfahren zum Durchführen einer Programmieroperation in einem nichtflüchtigen Halbleiterspeichersystem.
  • Nichtflüchtige Speichersysteme werden gewöhnlich in einer breiten Vielzahl von elektronischen Anwendungen für Verbraucher und Industrie verwendet. Gewöhnliche Beispiele derartiger Anwendungen umfassen Mobiltelefone, Personal Digital Assistants (PDAs), MP3-Player, Digitalkameras, tragbare Festplattenlaufwerke, tragbare Medienabspielgeräte (PMP - Portable Media Players) und Hilfsspeicher, wie die grundlegenden Eingabe-/Ausgabesysteme (BIOS - Basic Input/Output System) für Personal Computer, um nur einige zu nennen.
  • Aufgrund der weit verbreiteten Nutzung von nichtflüchtigen Speichersystemen gibt es noch immer eine wachsende Nachfrage nach nichtflüchtigen Speichersystemen, die eine höhere Datenspeicherkapazität und eine höhere Gesamtleistungsfähigkeit aufweisen. Dies führt dazu, dass Forscher ständig nach neuen Wegen suchen, um mehr Daten pro Speicherchipeinheitsfläche innerhalb nichtflüchtiger Speichersysteme zu speichern.
  • Die Verwendung von nichtflüchtigen Multilevelspeicherzellen ist eine Technik, die verwirklicht wurde, um die Menge gespeicherter Daten pro Einheitsspeicherchipfläche in nichtflüchtigen Speichersystemen zu erhöhen. Eine nichtflüchtige Multilevelspeicherzelle ist in der Lage, mehr als ein Datenbit zu speichern. Demgemäß werden nichtflüchtige Multilevelspeicherzellen alternativ oft als nichtflüchtige Multibitspeicherzellen bezeichnet.
  • Ein typisches Beispiel einer nichtflüchtigen Multilevelspeicherzelle ist eine Multilevelflashspeicherzelle. Im Allgemeinen speichern Flashspeicherzellen Daten in Relation mit distinkten Schwellspannungsverteilungen. Mit anderen Worten, wenn ein anderer Datenwert innerhalb einer Flashspeicherzelle programmiert wird, ändert sich die Schwellspannung der Flashspeicherzelle von einem Wert innerhalb einer gegebenen Schwellspannungsverteilung auf einen Wert innerhalb einer anderen Schwellspannungsverteilung.
  • Beispielsweise zeigt Figur (Fig.) 1 zwei distinkte oder unterschiedliche Schwellspannungsverteilungen, die verwendet werden, um Daten in einer Einzellevelflashspeicherzelle zu speichern. In dem Beispiel gemäß 1, demzufolge die Einzellevelflashspeicherzelle eine Schwellspannung innerhalb einer Schwellspannungsverteilung aufweist, die mit „1“ bezeichnet ist, speichert die Einzellevelflashspeicherzelle eine logische „1“. Wenn anderenfalls die Einzellevelflashspeicherzelle eine Schwellspannung innerhalb einer Schwellspannungsverteilung aufweist, die mit „0“ bezeichnet ist, speichert die Einzellevelflashspeicherzelle eine logische „0“. Entsprechend kann der Logikzustand des einzelnen Bits, welches in der Einzellevelflashspeicherzelle gespeichert ist, bestimmt werden, indem eine Lesespannung Vread an einen Steueranschluss oder ein Steuergate der Einzellevelflashspeicherzelle angelegt wird und indem bestimmt wird, ob die Schwellspannung der Einzellevelflashspeicherzelle oberhalb oder unterhalb der Lesespannung Vread liegt.
  • In gleicher Weise illustriert 2 vier distinkte Schwellspannungsverteilungen, die dazu verwendet werden, Daten in einer Multilevelflashspeicherzelle zu speichern. Insbesondere ist die Multilevelflashspeicherzelle in 2 in der Lage, zwei Datenbits zu speichern, wie durch die Bezeichnungen an den vier Schwellspannungsverteilungen angegeben ist. Mit anderen Worten, wenn die Multilevelflashspeicherzelle in 2 eine Schwellspannung innerhalb einer mit „11“ bezeichneten Schwellspannungsverteilung aufweist, speichert die Multilevelflashspeicherzelle eine logische „11“ (d.h. ein höchstwertiges Bit (MSB - most significant bit) „1“ und ein niederwertigstes Bit (LSB - least significant bit) „1“), wenn die Multilevelflashspeicherzelle eine Schwellspannung innerhalb einer mit „10“ bezeichneten Schwellspannungsverteilung aufweist, speichert die Multilevelflashspeicherzelle eine logische „10“, wenn die Multilevelflashspeicherzelle eine Schwellspannung innerhalb einer mit „01“ bezeichneten Schwellspannungsverteilung aufweist, speichert die Multilevelflashspeicherzelle eine logische „01“, und wenn die Multilevelflashspeicherzelle eine Schwellspannung innerhalb einer mit „00“ bezeichneten Schwellspannungsverteilung aufweist, speichert die Multilevelflashspeicherzelle eine logische „00“.
  • 3 zeigt ein beispielhaftes nichtflüchtiges Speichersystem mit einem Flashspeicher, der Multilevelflashspeicherzellen aufweist.
  • Bezugnehmend auf 3 umfasst ein beispielhaftes nichtflüchtiges Speichersystem 100 einen Host 110, eine Speichersteuereinheit 120 und einen Flashspeicher 130. Unter anderem weist die Speichersteuereinheit 120 einen Pufferspeicher 121 auf und der Flashspeicher 130 umfasst ein Speicherzellenfeld 131 und einen Seitenpuffer 132.
  • In der Speichersteuereinheit 120 speichert der Pufferspeicher 121 temporär Daten, die während Programmieroperationen in den Flashspeicher 130 programmiert werden sollen. Der Pufferspeicher 121 speichert weiterhin temporär Daten, die während Leseoperationen von dem Flashspeicher 130 gelesen werden. Der Pufferspeicher 121 arbeitet nach Maßgabe der Steuerung durch die Speichersteuereinheit 120 und überträgt während Programmieroperationen Daten von dem Host 110 zu dem Flashspeicher 130 und überträgt während Leseoperationen Daten von dem Flashspeicher 130 zu dem Host 110.
  • In dem Flashspeicher 130 speichert das Speicherzellenfeld 131 programmierte Daten. Der Seitenpuffer 132 speichert temporär Daten, die während Programmieroperationen in das Speicherzellenfeld 131 programmiert werden sollen, und Daten, die während Leseoperationen von dem Speicherzellenfeld 131 gelesen werden. Das Speicherzellenfeld 131 umfasst eine Mehrzahl von nichtflüchtigen Multibitspeicherzellen, die in Zeilen und Spalten angeordnet sind. Als ein Beispiel kann das Zellenfeld 131 ein NAND-Flashspeicherfeld aufweisen, welches NAND-Flashspeicherzellen enthält, die in einer Mehrzahl von NAND-Strängen angeordnet sind. Typischerweise sind die Spalten des Speicherzellenfelds 131 mit zugehörigen Bitleitungen verbunden und die Zeilen sind mit zugehörigen Wortleitungen verbunden.
  • Jede Zeile von nichtflüchtigen Multibitspeicherzellen, die mit derselben Wortleitung in dem Speicherzellenfeld 131 verbunden ist, entspricht einer oder mehrerer Seiten an Datenspeicherung. Typischerweise, jedoch nicht notwendigerweise, werden Programmier- und Leseoperationen seitenweise an dem Speicherzellenfeld 131 durchgeführt. Beispielsweise wird eine Seite in dem Speicherzellenfeld 131 zu programmierender Daten zunächst zu dem Seitenpuffer 132 übertragen. Dann werden geeignete Spannungen an eine Wortleitung und an Bitleitungen angelegt, welche einer Zeile zu programmierender Speicherzellen in dem Speicherzellenfeld 131 entsprechen, basierend auf der in dem Seitenpuffer 132 gespeicherten Datenseite.
  • Wenn es sich bei den Speicherzellen in der Zeile um Multibitspeicherzellen handelt, wird jede Zeile aus nichtflüchtigen Speicherzellen, die mit derselben Wortleitung im Speicherzellenfeld 131 verbunden sind, einer oder mehrerer Seiten an Datenspeicherung entsprechen. Beispielsweise wird eine Zeile aus nichtflüchtigen 2-Bit-Speicherzellen zwei Seiten an Daten entsprechen. Insbesondere entsprechen die beiden Seiten, welche unabhängig voneinander programmiert werden können, einer Niederwertigstes-Bit(LSB - least significant bit)-Seite und einer Höchstwertiges-Bit(MSB - most significant bit)-Seite, da sie LSB- bzw. MSB-Daten der jeweiligen 2-Bit-Speicherzellen entsprechen.
  • Während einer Programmieroperation des nichtflüchtigen Speichersystems 100 sendet der Host 110 einen Programmierbefehl und zugehörige Programmierdaten zu der Speichersteuereinheit 120. Die Speichersteuereinheit 120 empfängt den Programmierbefehl und die Programmierdaten und speichert die Programmierdaten in dem Pufferspeicher 121. In Abhängigkeit von dem Programmierbefehl steuert die Speichersteuereinheit 120 anschließend den Flashspeicher 130 zum Laden der Programmierdaten aus dem Pufferspeicher 121 in den Seitenpuffer 132. Die Speichersteuereinheit 120 steuert anschließend weiterhin den Flashspeicher 130 zum Programmieren der Programmierdaten in ausgewählte Speicherzellen des Speicherzellenfelds 131. Der Ort der ausgewählten Speicherzellen in dem Speicherzellenfeld 131, an dem die Programmierdaten programmiert werden, wird typischerweise durch eine Programmieradresse spezifiziert, die zusammen mit dem Programmierbefehl von dem Host 110 zu der Speichersteuereinheit 120 geliefert wird. Für gewöhnlich umfasst der Flashspeicher 130 Zeilen- und Spaltendecodierer, die dazu verwendet werden können, geeignete Bitleitungen und Wortleitungen in dem Speicherzellenfeld 131 für die Programmieroperation basierend auf der Programmieradresse auszuwählen.
  • Während einer Leseoperation des nichtflüchtigen Speichersystems 100, sendet der Host 110 einen Lesebefehl zu der Speichersteuereinheit 120. In Abhängigkeit von dem Lesebefehl steuert die Speichersteuereinheit 120 den Flashspeicher 130 zum Übertragen von gelesenen Daten oder Lesedaten, die in ausgewählten Speicherzellen des Speicherzellenfelds 131 gespeichert sind, zu dem Seitenpuffer 132. Die Speichersteuereinheit 120 steuert dann weiterhin den Flashspeicher 130 zum Übertragen der Lesedaten von dem Seitenpuffer 132 zu dem Pufferspeicher 121. Schließlich steuert die Speichersteuereinheit 120 den Pufferspeicher 121 zum Übertragen der Lesedaten von dem Pufferspeicher 121 zu dem Host 110. Ähnlich wie bei der Programmieroperation wird der Ort der ausgewählten Speicherzellen des Speicherzellenfelds 131 typischerweise durch eine Leseadresse spezifiziert, die zusammen mit dem Lesebefehl von dem Host 110 zu der Speichersteuereinheit 120 geliefert wird. In gleicher Weise verwendet der Flashspeicher 130 für gewöhnlich Zeilen- und Spaltendecodierer zum Auslesen geeigneter Bitleitungen und Wortleitungen des Speicherzellenfelds 131 für die Leseoperation basierend auf der Leseadresse.
  • Im Anschluss an eine Programmieroperation steuert die Speichersteuereinheit 120 typischerweise den Flashspeicher 130 zum Ausführen einer Programmierprüfoperation. Die Programmierprüfoperation ist einer Leseoperation ähnlich, mit der Ausnahme, dass der Zweck der Programmierprüfoperation darin besteht zu erkennen, ob ausgewählte Speicherzellen erfolgreich programmiert wurden. Während der Programmierprüfoperation werden Programmierprüfdaten von ausgewählten Speicherzellen, die während der Programmieroperation programmiert wurden, zu dem Seitenpuffer 132 übertragen. Der Seitenpuffer 132 speichert die Programmierprüfdaten temporär und die Programmierprüfdaten werden mit Programmierdaten verglichen, die noch in dem Pufferspeicher 121 gespeichert sind. Wenn die in dem Pufferspeicher 121 gespeicherten Programmierdaten nicht den Programmierprüfdaten in dem Seitenpuffer 132 entsprechen, wurden die ausgewählten Speicherzellen nicht erfolgreich programmiert. Wenn anderenfalls die in dem Pufferspeicher 121 gespeicherten Programmierdaten den Programmierprüfdaten in dem Seitenpuffer 132 entsprechen, wurden die ausgewählten Speicherzellen erfolgreich programmiert. Wenn die ausgewählten Speicherzellen nicht erfolgreich programmiert wurden, werden diese Speicherzellen anschließend entweder mit den Programmierdaten, die in dem Pufferspeicher 121 gespeichert sind, erneut programmiert oder die Programmierdaten werden an einem anderen Ort des Speicherzellenfelds 131 programmiert, wie einer anderen Seite oder einem anderen Block.
  • 4 und 5 zeigen unterschiedliche Verfahren, die verwendet werden können, um ein nichtflüchtiges Speichersystem, wie dasjenige in 3, zu programmieren. Insbesondere handelt es sich bei den Verfahren gemäß 4 und 5 um Beispiele von Verfahren zum Programmieren nichtflüchtiger Speichersysteme, die 2-Bit-Speicherzellen aufweisen. In diesen und anderen Beispielen können die Entsprechungen zwischen Logikzuständen und Schwellspannungen umgeordnet werden. Beispielsweise sind in 4 und 5 den Schwellspannungen Logikzustände in einer nicht-graucodierten bzw. einer graucodierten Reihenfolge zugeordnet. Zusätzlich kann auch die Reihenfolge, in der die betreffenden Bits programmiert werden, verändert werden. So kann beispielsweise, obwohl 4 und 5 das Programmieren eines LSB vor dem Programmieren eines MSB zeigen, alternativ ein MSB vor dem LSB programmiert werden. Weiterhin ist dem Fachmann eine Vielzahl anderer Programmieränderungen bekannt, die daher vorliegend nicht detailliert beschrieben werden.
  • Bezugnehmend auf 4 ist ein programmierter Zustand einer nichtflüchtigen Multibitspeicherzelle in Relation mit fünf unterschiedlichen Schwellspannungsverteilungen charakterisiert. Vier dieser fünf Schwellspannungsverteilungen entsprechend jeweiligen Logikzuständen „11“, „01“, „10“ und „00“ und eine Schwellspannungsverteilung entspricht einem Zwischenprogrammierzustand, der durch einen gestrichelten Bogen dargestellt ist. In diesem Beispiel entspricht der Logikzustand „11“ einem gelöschten Zustand der nichtflüchtigen Multibitspeicherzelle und Logikzustände „01“, „10“ und „00“ entsprechen Programmierzuständen oder programmierten Zuständen der nichtflüchtigen Multibitspeicherzelle.
  • Bei dem Verfahren, das in 4 dargestellt ist, befindet sich die Speicherzelle anfänglich in dem gelöschten Zustand. Aus dem gelöschten Zustand wird zuerst ein LSB der Speicherzelle programmiert, gefolgt von einem MSB der Speicherzelle. Beim Programmieren des LSB ändert das Verfahren, falls das in der Speicherzelle zu programmierende LSB eine logische „0“ ist, die Speicherzelle von dem Logikzustand „11“ in den Zwischenprogrammierzustand, was durch einen mit „Program0“ bezeichneten Pfeil angezeigt ist. Anderenfalls verbleibt die Speicherzelle in dem Logikzustand „11“. Bei der anschließenden Programmierung des MSB ändert das Verfahren, falls das in der Speicherzelle zu programmierende MSB eine logische „0“ ist, die Speicherzelle aus dem Zwischenprogrammierzustand in den Logikzustand „00“, wie durch einen mit „Program1“ bezeichneten Pfeil angezeigt ist, oder von dem Logikzustand „11“ in den Logikzustand „01“, wie durch einen mit „Program3“ bezeichneten Pfeil angezeigt ist, abhängig von dem Logikzustand des LSB. Wenn es sich jedoch bei dem in der Speicherzelle zu programmierenden MSB um eine logische „1“ handelt, ändert das Verfahren die Speicherzelle von dem Zwischenprogrammierzustand in den Logikzustand „10“, wie durch einen mit „Program2“ bezeichneten Pfeil angezeigt ist, oder erhält die Speicherzelle in dem Logikzustand „11“, abhängig von dem Logikzustand des LSB.
  • Bezugnehmend auf 5 ist ein programmierter Zustand einer nichtflüchtigen Multibitspeicherzelle in Relation mit vier unterschiedlichen Schwellspannungsverteilungen gekennzeichnet. Die vier Schwellspannungsverteilungen entsprechen jeweils Logikzuständen „11“, „10“, „00“, „01“. In diesem Beispiel entspricht der Logikzustand „11“ einem gelöschten Zustand der nichtflüchtigen Multibitspeicherzelle und Logikzustände „10“, „00“ und „01“ entsprechen Programmierzuständen oder programmierten Zuständen der nichtflüchtigen Multibitspeicherzelle.
  • Bei dem Verfahren gemäß 5 befindet sich die Speicherzelle anfänglich in dem gelöschten Zustand. Aus dem gelöschten Zustand wird zunächst ein LSB der Speicherzelle programmiert, gefolgt von einem MSB der Speicherzelle. Beim Programmieren des LSB verändert das Verfahren, falls das in der Speicherzelle zu programmierende LSB eine logische „0“ ist, die Speicherzelle aus dem Logikzustand „11“ in den Logikzustand „10“, wie durch einen mit „Program1“ bezeichneten Pfeil angezeigt. Anderenfalls verbleibt die Speicherzelle in dem Logikzustand „11“. Bei der nachfolgenden Programmierung des MSB ändert das Verfahren, falls das in der Speicherzelle zu programmierende MSB eine logische „0“ ist, die Speicherzelle von dem Logikzustand „10“ in den Logikzustand „00“, wie durch einen mit „Program2“ bezeichneten Pfeil angezeigt, oder von dem Logikzustand „11“ in den Logikzustand „01“, wie durch einen mit „Program3“ bezeichneten Pfeil angezeigt, abhängig von dem Logikzustand des LSB. Wenn anderenfalls das in der Speicherzelle zu programmierende MSB eine logische „1“ ist, verbleibt die Speicherzelle in dem Logikzustand „10“ oder in dem Logikzustand „11“, in Abhängigkeit von dem Logikzustand des LSB.
  • Im Allgemeinen werden dann, wenn die in den 4 und 5 dargestellten Programmierverfahren durchgeführt werden, das LSB und das MSB der Speicherzelle nicht immer in unmittelbarer Abfolge programmiert. Stattdessen kann beispielsweise das LSB der Speicherzelle zuerst programmiert werden, woran sich Programmieroperationen für Speicherzellen in unterschiedlichen Zeilen des Speicherzellenfelds anschließen, und anschließend wird das MSB der Speicherzelle programmiert. Dementsprechend muss der Logikzustand des LSB in der Regel überprüft werden, indem z.B. die Speicherzelle gelesen wird, bevor das MSB der Speicherzelle programmiert werden kann, so dass die Schwellspannung der Speicherzelle auf einen Wert innerhalb der korrekten Schwellspannungsverteilung geändert werden kann.
  • Wenn jedoch unglücklicherweise ein Fehler oder eine Fehlfunktion während des Programmierens des MSB auftritt, kann das LSB dauerhaft verloren gehen. Wenn beispielsweise die MSB-Programmierung an der Speicherzelle vorgenommen wird, wie durch den mit „Program3“ bezeichneten Pfeil in 5 angegeben, und wenn die MSB-Programmierung außerhalb oder abweichend von der Schwellspannungsverteilung abbricht, welche dem Logikzustand „01“ entspricht, kann es basierend auf einer einfachen Inspektion oder Untersuchung der Speicherzelle unmöglich sein, zu bestimmen, ob das LSB der Speicherzelle eine logische „1“ oder eine logische „0“ war. Glücklicherweise können die MSB-Daten in solchen Fällen in der Regel aus dem Pufferspeicher 121 zurückgenommen werden. Allerdings kann der Verlust der LSB-Daten die Leistungsfähigkeit von nichtflüchtigen Speichersystemen letztendlich herabsetzen.
  • Dieses Problem wird zunehmend wichtig, da Forscher weiterhin bemüht sind, immer mehr Datenspeicherkapazität innerhalb einer begrenzten Chipfläche von nichtflüchtigen Speicherelementen unterzubringen, da mit zunehmender Integrationsdichte nichtflüchtiger Speicherchips die Wahrscheinlichkeit für Fehler und Fehlfunktionen bei Programmieroperationen entsprechend zunimmt. Im Ergebnis wäre es nützlich, Probleme wie das vorstehend geschilderte Datenverlustproblem effektiv anzugehen, die in Multilevelzellen durch Programmierfehler oder Fehlfunktionen hervorgerufen werden.
  • US 2004/0125651 A1 offenbart eine 2-Bit-Speicherzelle, bei der LSB-Daten und MSB-Daten für einen Schreibevorgang gleichzeitig in einem Speicher gespeichert werden.
  • US 6 034 891 A offenbart eine Flash-Speicherkarte, die mehrere einzelne Flashspeicher aufweist.
  • US 6 553 510 B1 offenbart ein Verfahren zum Korrigieren von Speicherfehlern, wobei im Falle eines Speicherfehlers die zu schreibenden Daten in eine redundante Speicherzelle geschrieben werden.
  • US 2006/0209592 A1 offenbart ein Verfahren zum energiearmen Auslesen einer Speicherzelle.
  • US 2006/0126393 A1 offenbart: Ein nichtflüchtiger Speicher bietet die Möglichkeit, Daten im Falle eines Programmfehlers wiederherzustellen, ohne dass eine Kopie der Daten gespeichert werden muss, bis der Schreibvorgang abgeschlossen ist. Da die Integrität der Daten auf diese Weise gewahrt werden kann, ohne dass eine Kopie gespeichert werden muss, können Puffer für andere Daten frei gemacht oder sogar eliminiert werden, wodurch der Speicherplatz des Controllers, der für die Datenpufferung benötigt wird, reduziert wird.
  • DE 10 2004 033 443 A1 offenbart: Ein Flashspeicherbauelement mit Mehrpegelzelle umfasst ein Speicherzellenfeld, eine Einheit zum Vorladen einer Bitleitung, eine Bitleitungsspannungsversorgungsschaltung zum Versorgen der Bitleitung mit einer Spannung und eine erste bis dritte Zwischenspeicherschaltung, welche voneinander verschiedene Funktionen ausführen. Lese- und Programmierverfahren werden durch LSB- und MSB-Lese- und -Programmiervorgänge ausgeführt. Ein Leseverfahren im Speicherbauelement wird durch ein zweimaliges Lesen eines LSB und durch ein einmaliges Lesen eines MSB umgesetzt. Ein Programmierverfahren wird durch einmaliges Programmieren eines LSB und einmaliges Programmieren eines MSB umgesetzt. Daten mit Mehrfachpegeln können in die Speicherzellen durch zweimalige Programmiervorgänge programmiert werden.
  • Der Erfindung liegt das technische Problem zugrunde, ein nichtflüchtiges Halbleiterspeichersystem und ein Verfahren zum Durchführen einer Programmieroperation in einem nichtflüchtigen Speichersystem anzugeben, welche gegenüber herkömmlichen nichtflüchtigen Speichersystemen eine verbesserte Zuverlässigkeit bieten, wobei speziell verhindert werden soll, dass Daten verloren gehen, wenn Multilevvelspeicherzellen weiter programmiert werden.
  • Durch Erkennen zumindest der vorstehend aufgeführten Probleme schaffen Ausgestaltungen der Erfindung nichtflüchtige Speichersysteme, welche Speichersteuereinheiten mit Backup- oder Rücksicherungsspeicher aufweisen. Die Backup- oder Rücksicherungsspeicher ermöglichen es den Speichersteuereinheiten, Daten zu speichern, die zuvor in Multilevelspeicherzellen des nichtflüchtigen Speichersystems programmiert wurden, bevor die Speicherzellen weiter programmiert werden. Durch Speichern der zuvor programmierten Daten vermeiden die Backup- oder Rücksicherungsspeicher, dass diese Daten verloren gehen, wenn Fehler oder Fehlfunktionen während der weiteren Programmierung der Speicherzellen auftreten.
  • Ausführungsformen der Erfindung sind in den beiliegenden Ansprüchen definiert.
  • Vorteilhafte Ausgestaltungen der Erfindung, die weiter unten detailliert beschrieben sind, sowie zur Erleichterung des Verständnisses der Erfindung beschriebene Ausgestaltungen des Standes der Technik sind den Zeichnungen dargestellt. Es zeigt/zeigen:
    • 1 einen Graph zur Darstellung zweier getrennter Schwellspannungsverteilungen, die zum Speichern von Daten in einer Einzellevelflashspeicherzelle verwendet werden;
    • 2 einen Graph zur Darstellung von vier getrennten Schwellspannungsverteilungen, die zum Speichern von Daten in einer Multilevelflashspeicherzelle verwendet werden;
    • 3 ein schematisches Blockschaltbild zur Darstellung eines herkömmlichen nichtflüchtigen Speichersystems;
    • 4 ein Schwellspannungsverteilungsdiagramm zur Darstellung eines Typs von Programmieroperation für nichtflüchtige Speicherzellen in einem nichtflüchtigen Speichersystem;
    • 5 ein Schwellspannungsverteilungsdiagramm zur Darstellung eines anderen Typs von Programmieroperation für nichtflüchtige Speicherzellen in einem nichtflüchtigen Speichersystem;
    • 6 ein schematisches Blockschaltbild zur Darstellung eines nichtflüchtigen Speichersystems gemäß einer Ausgestaltung der Erfindung;
    • 7 ein Flussdiagramm zur Darstellung eines Programmierverfahrens für ein nichtflüchtiges Speichersystem gemäß einer Ausgestaltung der Erfindung;
    • 8 ein schematisches Blockschaltbild zur Darstellung eines nichtflüchtigen Speichersystems gemäß einer anderen Ausgestaltung der Erfindung; und
    • 9 ein schematisches Blockschaltbild zur Darstellung eines nichtflüchtigen Speichersystems gemäß einer anderen Ausgestaltung der Erfindung.
  • Allgemein schaffen Ausgestaltungen der Erfindung nichtflüchtige Speichersysteme und zugehörige Verfahren, die dafür angepasst sind zu verhindern, dass Daten, die bereits in nichtflüchtigen Multibitspeicherzellen gespeichert sind, verloren gehen, wenn die nichtflüchtigen Multibitspeicherzellen weiter programmiert werden. Beispielsweise schaffen ausgewählte Ausgestaltungen der Erfindung eine Speichersteuereinheit mit einem Backup- oder Rücksicherungsspeicher zum Speichern einer Backup- oder Rücksicherungskopie derjenigen Daten, die bereits in den nichtflüchtigen Multibitspeicherzellen gespeichert sind, wenn die Speicherzellen weiter programmiert werden.
  • Ausgewählte Ausgestaltungen der Erfindung werden weiter unten in Relation mit nichtflüchtigen Speichersystemen beschrieben, welche 2-Bit-Speicherzellen aufweisen. Allerdings könnten derartige Ausgestaltungen leicht derart modifiziert werden, so dass sie mit nichtflüchtigen Speichersystemen arbeiten, die n-Bit-Zellen aufweisen, wobei n eine ganze Zahl größer als 2 ist. Zusätzlich wird in mehreren offenbarten Ausgestaltungen ein niederwertigstes Bit von Speicherzellen programmiert, bevor ein höchstwertiges Bit der Speicherzellen programmiert wird. Allerdings kann auch die Reihenfolge der Programmierung in einfacher Weise modifiziert werden. Des Weiteren erkennt der Fachmann, dass eine Vielzahl zusätzlicher Veränderungen an den weiter unten beschriebenen beispielhaften Ausgestaltungen vorgenommen werden kann, ohne das Gebiet der Erfindung zu verlassen. Schließlich wurden viele der gut bekannten Funktionen, Veränderungsmöglichkeiten und Nuancen nichtflüchtiger Speichersysteme absichtlich vereinfacht oder nicht mit in die Beschreibung aufgenommen, wo keine entsprechende Beschreibung unmittelbar erforderlich ist, um den Fachmann in die Lage zu versetzen, die unterschiedlichen Ausgestaltungen der Erfindung herzustellen und zu benutzen.
  • 6 ist ein schematisches Blockschaltbild zur Darstellung eines nichtflüchtigen Speichersystems gemäß einer Ausgestaltung der Erfindung.
  • Bezugnehmend auf 6 umfasst ein nichtflüchtiges Speichersystem 200 einen Host 210, eine Speichersteuereinheit 220 und einen Flashspeicher 230. Die Speichersteuereinheit 220 umfasst einen Pufferspeicher 221 und einen Rücksicherungsspeicher 222 für ein niederwertigstes Bit (LSB - least significant bit). Der Flashspeicher 230 umfasst ein Speicherzellenfeld 231, einen Decodierer 232, einen Seitenpuffer 233, eine Bitleitungsauswahlschaltung 234, einen Datenpuffer 235 und eine Steuereinheit 236.
  • In der Speichersteuereinheit 220 speichert der Pufferspeicher 221 temporär Daten, die während Programmieroperationen in den Flashspeicher 230 zu programmieren sind. Der Pufferspeicher 221 speichert weiterhin temporär Daten, die während Leseoperationen aus dem Flashspeicher 230 gelesen werden. Der Pufferspeicher 221 arbeitet nach Maßgabe der Steuerung durch die Speichersteuereinheit 220 und empfängt Daten von dem Host 210 und überträgt Daten zu dem Flashspeicher 230 während Programmieroperationen und er empfängt Daten von dem Flashspeicher 230 und überträgt Daten zu dem Host 210 während Leseoperationen.
  • Der LSB-Rücksicherungsspeicher 222 speichert Daten, die bereits in ausgewählten Speicherzellen des Flashspeichers 230 gespeichert wurden, bevor Programmierdaten, die in dem Pufferspeicher 221 gespeichert sind, in die ausgewählten Speicherzellen programmiert werden. Beispielsweise kann der Pufferspeicher 221 während einer Programmieroperation der ausgewählten Speicherzellen MSB-Daten speichern, die in die ausgewählten Speicherzellen programmiert werden sollen. Die Speichersteuereinheit steuert somit den Flashspeicher 230 zur Übertragung von LSB-Daten, die bereits in den ausgewählten Speicherzellen gespeichert sind, in den LSB-Rücksicherungsspeicher 222. Da der LSB-Rücksicherungsspeicher 222 Daten speichert, die bereits in die ausgewählten Speicherzellen programmiert wurden, und da der Pufferspeicher 221 Daten speichert, die noch in die ausgewählten Speicherzellen zu programmieren sind, können dann, wenn ein Fehler oder eine Fehlfunktion während der Programmierung der ausgewählten Speicherzellen auftritt, jegliche aus den ausgewählten Speicherzellen verlorene Daten aus dem Pufferspeicher 221 und dem LSB-Rücksicherungsspeicher 222 zurückgewonnen werden. Im Ergebnis erhöht das Vorhandensein des LSB-Rücksicherungsspeichers 222 die Zuverlässigkeit des nichtflüchtigen Halbleiterspeicherelements 200 gemäß 6.
  • Allgemein können der Pufferspeicher 221 und der LSB-Rücksicherungsspeicher 222 in einem einzelnen Speicherchip angeordnet sein. Beispielsweise könnte die Speichersteuereinheit 220 diejenigen Daten, die bereits in die ausgewählten Speicherzellen programmiert wurden, in einem ersten Bereich eines als Chip ausgebildeten dynamischen Speichers mit wahlfreiem Zugriff (DRAM - dynamic random access memory) speichern, der als LSB-Rücksicherungsspeicher 222 bezeichnet wird, und die Speichersteuereinheit 220 könnte die noch in die ausgewählten Speicherzellen zu programmierenden Daten in einem zweiten Bereich des DRAM-Chips speichern, der als Pufferspeicher 221 bezeichnet wird.
  • In dem Flashspeicher 230 speichert das Speicherzellenfeld 231 programmierte Daten. Der Decodierer 232 empfängt Lese- und Programmieradressen von der Speichersteuereinheit 220 über die Steuereinheit 236 und steuert die Aktivierung oder Auswahl von Wortleitungen und Bitleitungen für Schreib- und Programmieroperationen nach Maßgabe der Lese- und Programmieradressen. In dem Beispiel gemäß 6 ist der Decodierer 232 mit dem Speicherzellenfeld 231 über Wortleitungen WL0 bis WLn verbunden und erzeugt ein Bitleitungsauswahlsignal Yi, um die Aktivierung oder Auswahl von Bitleitungen für Programmier- und Leseoperationen durch die Bitleitungsauswahlschaltung 234 zu steuern.
  • Der Seitenpuffer 233 ist mit dem Speicherzellenfeld 231 über Bitleitungen BL0 bis BLn verbunden und speichert temporär einerseits Daten, die in dem Speicherzellenfeld 231 zu programmieren sind, während Programmieroperation und andererseits Daten, die von dem Speicherzellenfeld 231 gelesen werden, während Leseoperationen. Die Bitleitungsauswahlschaltung 234 steuert die Aktivierung oder Auswahl von Bitleitungen für Programmier- und Leseoperationen basierend auf dem Bitleitungsauswahlsignal Yi. Die ausgewählten oder aktivierten Bitleitungen werden getrieben, um die ausgewählten Speicherzellen in dem Speicherzellenfeld 231 zu programmieren oder zu lesen, basierend auf den Daten, die in dem Seitenpuffer 233 gespeichert sind.
  • Der Datenpuffer 235 ist ein Eingabe-/Ausgabepuffer, der dazu verwendet wird, Daten zwischen der Speichersteuereinheit 220 und dem Flashspeicher 230 zu übertragen. Beispielsweise werden bei Leseoperationen Daten, die in ausgewählten Speicherzellen gespeichert sind, von dem Speicherzellenfeld 231 zu dem Datenpuffer 235 über den Seitenpuffer 233 und die Bitleitungsauswahlschaltung 234 übertragen. Anschließend werden die Daten von dem Seitenpuffer 235 zu der Speichersteuereinheit 220 übertragen und danach werden die Daten zu dem Host 210 übertragen. Während einer Programmieroperation werden dagegen Daten, die in ausgewählten Speicherzellen des Speicherfels 231 zu programmieren sind, von dem Host 210 zu der Speichersteuereinheit 220 und anschließend zu dem Datenpuffer 235 übertragen. Dann werden die Daten von dem Datenpuffer 235 zu dem Seitenpuffer 233 über die Bitleitungsauswahlschaltung 234 übertragen und anschließend werden die Daten in die ausgewählten Speicherzellen programmiert. Der Datenpuffer 235 arbeitet nach Maßgabe der Steuerung durch die Steuereinheit 236, welche ihrerseits in Abhängigkeit von Steuersignalen arbeitet, die von der Speichersteuereinheit 220 erzeugt werden.
  • Das Speicherzellenfeld 231 umfasst eine Mehrzahl von nichtflüchtigen Multibitspeicherzellen, die in Zeilen und Spalten angeordnet sind. Beispielsweise kann das Zellenfeld 231 ein NAND-Flashspeicherfeld umfassen, welches NAND-Flashspeicherzellen enthält, die in einer Mehrzahl von NAND-Strängen angeordnet sind. Typischerweise sind die Spalten des Speicherzellenfelds 231 mit zugehörigen Bitleitungen verbunden und die Zeilen sind mit zugehörigen Wortleitungen verbunden.
  • Jede Zeile von nichtflüchtigen Multibitspeicherzellen, die mit derselben Wortleitung in dem Speicherzellenfeld 231 verbunden sind, entspricht einer oder mehrerer Seiten an Datenspeicher. Beispielsweise ist in 6 eine Seite „Page0“ mittels eines gepunkteten Ovals dargestellt. Das Speicherzellenfeld 231 ist weiterhin mit einer Mehrzahl von Blöcken ausgebildet, von denen jeder eine Mehrzahl von Seiten aufweist. Als ein typisches Beispiel kann jede Seite 512 Byte oder 2 kByte an Daten enthalten und jeder Block kann 32 oder 64 Datenseiten aufweisen.
  • In der Regel, jedoch nicht notwendigerweise, werden Programmier- und Leseoperationen an dem Speicherzellenfeld 231 seitenweise durchgeführt und Löschoperationen werden blockweise durchgeführt. Alternativ könnte beispielsweise das Speicherzellenfeld 231 auch in Einheiten von einem oder mehreren Blöcken programmiert werden.
  • In dem Beispiel gemäß 6 handelt es sich bei den Speicherzellen in dem Speicherzellenfeld 231 um nichtflüchtige 2-Bit-Speicherzellen. Diese Speicherzellen werden programmiert, indem zunächst ein LSB und später ein MSB programmiert wird. Das LSB und das MSB jeder Speicherzelle werden nicht notwendigerweise unmittelbar nacheinander programmiert. Mit anderen Worten, das LSB einer ausgewählten Speicherzelle kann zuerst programmiert werden, woraufhin andere Speicherzellen programmiert werden, woran sich die Programmierung des MSB der ausgewählten Speicherzelle anschließt. In dem Beispiel gemäß 6 werden die Speicherzellen in dem Speicherzellenfeld 231 mit einer Seite zur Zeit programmiert und gelesen und mit einem Block zur Zeit gelöscht.
  • Wie vorstehend beschrieben, könnten die Multilevelspeicherzellen in dem Beispiel gemäß 6 und gemäß anderen Ausgestaltungen alternativ mehr als zwei Bits speichern. Beispielsweise könnten die Speicherzellen 3-Bit-Speicherzellen, 4-Bit-Speicherzellen usw. sein. In solchen Speicherzellen, die dazu ausgebildet sind, unterschiedliche Bitanzahlen zu speichern, können Daten, die in den Speicherzellen gespeichert werden sollen, allgemein als 1-Bit-Daten, 2-Bit-Daten, 3-Bit-Daten usw. bezeichnet werden, um sie von den LSB-Daten und den MSB-Daten im Falle von 2-Bit-Speicherzellen zu unterscheiden. Beispielsweise wird in einer 4-Bit-Speicherzelle, die einen Datenstring „0100“ speichert, das Bit „1“ als 3-Bit-Datum bezeichnet, da es in dem String an einer dritten Position steht.
  • Wie ebenfalls vorstehend beschrieben, könnten die Multilevelspeicherzellen in dem Beispiel gemäß 6 und gemäß anderen Ausgestaltungen alternativ in abweichenden Reihenfolgen programmiert werden. Beispielsweise könnten Bits höherer Ordnung (z.B. MSB-Daten) vor Bits niedrigerer Ordnung (z.B. LSB-Daten) programmiert werden. Des Weiteren könnte die Programmierreihenfolge weiter modifiziert werden, indem die Reihenfolge von Zuordnungen zwischen Logikzuständen und Schwellspannungsverteilungen, z.B. denjenigen gemäß 5, umgeordnet wird.
  • 7 ist ein Flussdiagramm zur Darstellung eines Verfahrens zum Programmieren des in 6 dargestellten nichtflüchtigen Speichersystems 200 gemäß einer Ausgestaltung der Erfindung. Obwohl sich das in 7 dargestellte Verfahren auf das nichtflüchtige Speichersystem 200 bezieht, kann das Verfahren leicht modifiziert werden, um mit vielfältigen anderen nichtflüchtigen Speichersystemen gemäß anderen Ausgestaltungen der Erfindung zu funktionieren. In der folgenden Beschreibung werden beispielhafte Verfahrensschritte durch Klammerausdrücke (SXXX) bezeichnet, um sie von beispielhaften grafischen und Systemelementen zu unterscheiden, die in den 1 bis 5 dargestellt sind.
  • Bezugnehmend auf 7 steuert die Speichersteuereinheit 220 den Flashspeicher 230 zum Programmieren einer Seite von LSB-Daten in ausgewählte Speicherzellen eines ersten Speicherblocks block1 des Speicherzellenfelds 231 (S110). Nach dem Programmieren der LSB-Daten in die ausgewählten Speicherzellen führt der Flashspeicher 230 typischerweise eine Programmierprüfoperation durch, um zu bestimmen, ob die LSB-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden. In dem Verfahren gemäß 7 sei angenommen, dass die LSB-Daten erfolgreich programmiert wurden. Im Allgemeinen wird das Verfahren nicht fortgesetzt, solange nicht die LSB-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden. Nachdem die Seite von LSB-Daten in die ausgewählten Speicherzellen programmiert wurde können andere Programmieroperationen für andere Speicherzellen in dem Speicherzellenfeld 231 durchgeführt werden bevor MSB-Daten in die ausgewählten Speicherzellen programmiert werden.
  • Sobald die MSB-Daten zur Programmierung in die ausgewählten Speicherzellen anstehen, steuert die Speichersteuereinheit 220 den Flashspeicher 230 zum Rücksichern der LSB-Daten in den ausgewählten Speicherzellen durch Übertragen der LSB-Daten zu dem LSB-Rücksicherungsspeicher 222 der Speichersteuereinheit 220 (S120). Sobald die LSB-Daten von den ausgewählten Speicherzellen in dem LSB-Rücksicherungsspeicher 222 gespeichert sind, wird eine Seite mit MSB-Daten in die ausgewählten Speicherzellen des ersten Speicherblocks block1 des Flashspeichers 230 programmiert (S130).
  • Nachdem die LSB- und MSB-Daten in den Schritten S110 bzw. S130 in die ausgewählten Speicherzellen von block1 programmiert wurden, führt der Flashspeicher 230 eine Programmierprüfoperation durch, um zu bestimmen, ob die MSB-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden (S140). Wenn der Flashspeicher 230 feststellt, dass die MSB-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden, endet das Verfahren, wie durch einen in 7 mit „Nein“ bezeichneten Pfeil angegeben (welcher das Fehlen eines Programmierfehlers anzeigt). Wenn dagegen der Flashspeicher 230 bestimmt, dass die Daten nicht erfolgreich in die ausgewählten Speicherzellen programmiert wurden, steuert die Speichersteuereinheit 220 den Flashspeicher 230 zum Programmieren der Seite von LSB-Daten in einen zweiten Speicherblock block2 in dem Flashspeicher 230 (S150) und anschließend steuert die Speichersteuereinheit 220 den Flashspeicher 230 zum Programmieren der Seite von MSB-Daten in einen zweiten Speicherblock block2 in dem Flashspeicher 230 (S160). Nachdem die LSB- und MSB-Daten erfolgreich in den Flashspeicher 230 programmiert wurden endet das Programmierverfahren gemäß 7.
  • 8 ist ein schematisches Blockdiagramm zur Darstellung eines nichtflüchtigen Speichersystems 300 gemäß einer anderen Ausgestaltung der Erfindung.
  • Bezugnehmend auf 8 umfasst das nichtflüchtige Speichersystem 300 einen Host 310, eine Speichersteuereinheit 320 sowie einen ersten und einen zweiten Flashspeicherchip 330 bzw. 340. Die Speichersteuereinheit 320 umfasst einen ersten Pufferspeicher 321, einen ersten LSB-Rücksicherungsspeicher 322, einen zweiten Pufferspeicher 323 und einen zweiten LSB-Rücksicherungsspeicher 324. Typischerweise sind der erste Pufferspeicher 321 und der zweite Pufferspeicher 323 sowie der erste LSB-Rücksicherungsspeicher 322 und der zweite LSB-Rücksicherungsspeicher 324 auf einem einzelnen Chip ausgebildet, wie einen DRAM. Der erste Flashspeicherchip 330 umfasst ein erstes Zellenfeld 331 und einen ersten Seitenpuffer 332 und der zweite Flashspeicherchip 340 umfasst ein zweites Zellenfeld 341 und einen zweiten Seitenpuffer 342.
  • In dem nichtflüchtigen Speicherelement 300 fungieren der Host 310 und die Speichersteuereinheit 320 ähnlich wie der Host 210 bzw. die Speichersteuereinheit 220 in 6. Des Weiteren arbeiten der erste und der zweite Flashspeicherchip 330 bzw. 340 jeweils ähnlich wie der Flashspeicher 220 in 6. Allerdings speichern in der Speichersteuereinheit 320 der erste Pufferspeicher 321 und der erste LSB-Rücksicherungsspeicher 322 jeweils Daten, die zum Programmieren und Lesen des ersten Flashspeicherchips 330 verwendet werden, und der zweite Pufferspeicher 323 und der zweite LSB-Rücksicherungsspeicher 324 speichern jeweils Daten, die zum Programmieren und Lesen des zweiten Flashspeicherchips 340 verwendet werden. Des Weiteren arbeitet der Flashspeicherchip 330 in Abhängigkeit von einem ersten Chipauswahlsignal CS1, das durch die Speichersteuereinheit 320 erzeugt wird, und der Flashspeicherchip 340 arbeitet in Abhängigkeit von einem zweiten Chipauswahlsignal CS2, das von der Speichersteuereinheit 320 erzeugt wird.
  • Im Zuge einer Programmieroperation des nichtflüchtigen Speichersystems 300 wählt die Speichesteuereinheit 320 zunächst entweder den ersten oder den zweiten Flashspeicherchip 330 bzw. 340 aus, indem sie ein erstes oder ein zweites Chipauswahlsignal CS1 bzw. CS2 verwendet. Anschließend werden die Speicherzellen in dem ausgewählten Speicherchip programmiert, indem ein Programmierverfahren wie dasjenige in 7 verwendet wird. Mit anderen Worten, LSB-Daten zuerst werden in ausgewählten Speicherzellen in einen ersten Block innerhalb des ausgewählten Speicherchips programmiert. Dann werden die LSB-Daten in einen LSB-Rücksicherungsspeicher entsprechend dem ausgewählten Speicherchip übertragen bevor MSB-Daten in die ausgewählten Speicherzellen in dem ersten Block programmiert werden. Danach werden die MSB-Daten in die ausgewählten Speicherzellen in dem ersten Block programmiert und der ausgewählte Speicherchip führt anschließend eine Programmierprüfoperation durch, um zu bestimmen, ob die MSB-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden. Wenn die MSB-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden, bricht die Programmieroperation ab. Anderenfalls, d.h. wenn ein Fehler oder eine Fehlfunktion während der Programmierung der MSB-Daten in die ausgewählte Speicherzellen in dem ersten Block auftritt, können die LSB-Daten und die MSB-Daten aus dem LSB-Rücksicherungsspeicher und dem Pufferspeicher entsprechend dem ausgewählten Speicherchip zurückgewonnen und in einen zweiten Speicherblock in dem ausgewählten Flashspeicherchip oder in dem anderen Flashspeicherchip programmiert werden.
  • In gleicher Weise selektiert die Speichersteuereinheit 320 während einer Leseoperation des nichtflüchtigen Speichersystems 300 den ersten oder den zweiten Flashspeicherchip 330 bzw. 340 gemäß einer Adresse zu lesender Speicherzellen. Dann führen der ausgewählte Flashspeicherchip und die Speichersteuereinheit 320 eine Leseoperation ähnlich zu derjenigen Operation durch, die oben in Relation mit dem nichtflüchtigen Speichersystem 100 oder 200 beschrieben wurde.
  • 9 ist ein schematisches Blockschaltbild zur Darstellung eines nichtflüchtigen Speichersystems 400 gemäß noch einer anderen Ausgestaltung der Erfindung. Das nichtflüchtige Speichersystem 400 ist ähnlich zu dem nichtflüchtigen Speichersystem 300 mit der Ausnahme, dass das nichtflüchtige Speichersystem 400 eine beliebige Anzahl „n“ von Flashspeicherchips und zugehörige Pufferspeicher und LSB-Rücksicherungsspeicher und nicht nur jeweils zwei aufweisen kann.
  • Bezugnehmend auf 9 umfasst ein nichtflüchtiges Speichersystem 400 einen Host 410, eine Speichersteuereinheit 420 und eine Mehrzahl von Flashspeicherchips 431 bis 43n. Die Speichersteuereinheit 420 umfasst einen Pufferspeicher und einen LSB-Rücksicherungsspeicher für jeden Flashspeicherchip. Insbesondere umfasst die Speichersteuereinheit 420 Pufferspeicher 421 bis 42n und entsprechende LSB-Rücksicherungsspeicher 421' bis 42n'. Typischerweise sind die Pufferspeicher 421 bis 42n und die LSB-Rücksicherungsspeicher 421' bis 42n' auf einem einzelnen Chip ausgebildet, wie einem DRAM.
  • Während einer Programmieroperation selektiert das nichtflüchtige Speichersystem 400 einen der Flashspeicherchips 431 bis 43n durch Aktivieren (oder Deaktivieren) eines aus einer Mehrzahl entsprechender Chipauswahlsignale und programmiert anschließend ausgewählte Speicherzellen in dem ausgewählten Flashspeicherchip unter Verwendung eines Verfahrens, wie es oben in Relation mit dem nichtflüchtigen Speichersystem 300 beschrieben wurde. In gleicher Weise kann auch eine Leseoperation des nichtflüchtigen Speichersystems 400 ähnlich wie bei dem nichtflüchtigen Speichersystem 300 durchgeführt werden, indem einer der Flashspeicherchips 431 bis 43n ausgewählt und anschließend Daten von dem ausgewählten Flashspeicherchip durch einen zugehörigen Pufferspeicher in der Speichersteuereinheit 420 gelesen werden.
  • Durch Bereitstellen von Rücksicherungsspeichern für Daten, die bereits in ausgewählten Multilevelspeicherzellen gespeichert sind, verhindern Ausgestaltungen der Erfindung, dass Daten verloren gehen, wenn die Multilevelspeicherzellen weiter programmiert werden. Im Ergebnis schaffen Ausgestaltungen der Erfindung nichtflüchtige Speichersysteme, die gegenüber herkömmlichen nichtflüchtigen Speichersystemen eine verbesserte Zuverlässigkeit aufweisen.

Claims (34)

  1. Nichtflüchtiges Halbleiterspeichersystem (200), aufweisend: - einen Flashspeicher (230) aufweisend ein Speicherfeld (231), das eine Mehrzahl von nichtflüchtigen Multibitspeicherzellen aufweist; und - eine Speichersteuereinheit (220), die ausgebildet ist, während Programmieroperationen Daten von einem Host (210) zu empfangen und zu dem Flashspeicher (230) zu übertragen und während Leseoperationen Daten von dem Flashspeicher (230) zu empfangen und zu dem Host (210) zu übertragen, die Speichersteuereinheit (120) aufweisend: - einen Pufferspeicher (221), der dazu ausgebildet ist, j-Bit-Daten zu speichern, die in ausgewählte Speicherzellen aus der Mehrzahl von nichtflüchtigen Multibitspeicherzellen zu programmieren sind; und - einen Rücksicherungsspeicher (222), der dazu ausgebildet ist, i-Bit-Daten zu sichern, die zuvor in die ausgewählten Speicherzellen programmiert wurden, bevor die j-Bit-Daten in die ausgewählten Speicherzellen programmiert werden, wobei die i-Bit-Daten, die in dem Rücksicherungsspeicher (222) gesichert sind, aus den ausgewählten Speicherzellen gelesen werden, bevor die j-Bit-Daten in die ausgewählten Speicherzellen programmiert werden.
  2. System nach Anspruch 1, dadurch gekennzeichnet, dass der Pufferspeicher und der Rücksicherungsspeicher unterschiedliche Bereiche eines einzelnen Speicherchips umfassen.
  3. System nach Anspruch 2, dadurch gekennzeichnet, dass der einzelne Speicherchip einen Speicher mit wahlfreiem Zugriff aufweist.
  4. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die nichtflüchtigen Multibitspeicherzellen nichtflüchtige 2-Bit-Speicherzellen sind; und dass die i-Bit-Daten Höchstwertiges-Bit(MSB)-Daten und die j-Bit-Daten Niederwertigstes-Bit(LSB)-Daten sind.
  5. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die nichtflüchtigen Multibitspeicherzellen nichtflüchtige 2-Bit-Speicherzellen sind; und dass die i-Bit-Daten Niederwertigstes-Bit(LSB)-Daten und die j-Bit-Daten Höchstwertiges-Bit(MSB)-Daten sind.
  6. Speichersystem nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Multibitspeicherzellen in einer Zeilen-Spalten-Matrix angeordnet sind und dass das Speichersystem weiterhin aufweist: - eine Steuereinheit (236), die dazu ausgebildet ist, das Speichersystem in Abhängigkeit von einem Steuersignal von der Speichersteuereinheit zu steuern; - einen Decodierer (232), der dazu ausgebildet ist, eine Zeile der Matrix in Abhängigkeit von dem Steuersignal auszuwählen, und der weiterhin dazu ausgebildet ist, ein Auswahlsignal auszugeben; - eine Bitleitungsauswahlschaltung (234), die dazu ausgebildet ist, Spalten der Matrix in Abhängigkeit von dem Auswahlsignal auszuwählen; - einen Datenpuffer (235), der dazu ausgebildet ist, in die ausgewählten Speicherzellen zu programmierende Daten von der Speichersteuereinheit zu empfangen; und - einen Seitenpuffer (233), der dazu ausgebildet ist, die in die ausgewählten Speicherzellen zu programmierenden Daten zu speichern.
  7. System nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die i-Bit-Daten eine Seite an Daten und die j-Bit-Daten eine Seite an Daten umfassen.
  8. System nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass das Speicherfeld ein NAND-Flashspeicherfeld aufweist.
  9. System nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass j > i ist.
  10. System nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass beim Programmieren der i-Bit-Daten in die ausgewählten Speicherzellen eine oder mehrere der ausgewählten Speicherzellen einen Zwischenschwellspannungszustand annimmt bzw. annehmen, welcher eine Lesespannung der betreffenden einen oder mehreren ausgewählten Speicherzelle bzw. Speicherzellen überlappt.
  11. Nichtflüchtiges Halbleiterspeichersystem, aufweisend: - erste bis n-te Speicherchips (330, 340), die jeweils eine Mehrzahl von nichtflüchtigen Multibitspeicherzellen aufweisen; und - eine Speichersteuereinheit (320), die ausgebildet ist, während Programmieroperationen Daten von einem Host (310) zu empfangen und zu den ersten bis n-ten Speicherchips (330, 340) zu übertragen und während Leseoperationen Daten von den ersten bis n-ten Speicherchips (330, 340) zu empfangen und zu dem Host (310) zu übertragen, wobei die Speichersteuereinheit (320) erste bis m-te Pufferspeicher (321, 323) und erste bis m-te Rücksicherungsspeicher (322, 324) aufweist, welche den ersten bis m-ten Pufferspeichern (321, 323) entsprechen; wobei jeder der ersten bis m-ten Rücksicherungsspeicher (322, 324) dazu ausgebildet ist, i-Bit-Daten zu sichern, die zuvor in ausgewählte Speicherzellen der ersten bis n-ten Speicherchips (330, 340) programmiert wurden, bevor j-Bit-Daten in die ausgewählten Speicherzellen programmiert werden, wobei die i-Bit-Daten in den ausgewählten Speicherzellen durch Übertragung der programmierten i-Bit-Daten zu dem ersten bis m-ten Rücksicherungsspeicher (322, 324) gesichert werden, und wobei die i-Bit-Daten, die in dem Rücksicherungsspeicher (222) gesichert sind, aus den ausgewählten Speicherzellen gelesen werden, bevor die j-Bit-Daten in die ausgewählten Speicherzellen programmiert werden.
  12. System nach Anspruch 11, dadurch gekennzeichnet, dass die Speichersteuereinheit Datenübertragungen zwischen den ersten bis m-ten Pufferspeichern und den ersten bis n-ten Speicherchips steuert, um die Durchführung verschränkter Programmieroperationen in den ersten bis n-ten Speicherchips zu ermöglichen.
  13. System nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass die Speichersteuereinheit mit den ersten bis n-ten Speicherchips über eine Mehrzahl von Schnittstellen verbunden ist, um die Speichersteuereinheit mit gleichzeitigem Zugriff auf die ersten bis n-ten Speicherchips auszustatten.
  14. System nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass jeder der ersten bis n-ten Speicherchips in Abhängigkeit von einem zugehörigen Chipauswahlsignal unter ersten bis n-ten Chipauswahlsignalen (CS1, CS2) programmiert wird.
  15. System nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet, dass n gleich m ist.
  16. System nach einem der Ansprüche 11 bis 15, dadurch gekennzeichnet, dass die Pufferspeicher und die Rücksicherungsspeicher unterschiedliche Bereiche eines einzelnen Speicherchips umfassen.
  17. System nach Anspruch 16, dadurch gekennzeichnet, dass der einzelne Speicherchip einen Speicher mit wahlfreiem Zugriff aufweist.
  18. System nach einem der Ansprüche 11 bis 17, dadurch gekennzeichnet, dass die nichtflüchtigen Multibitspeicherzellen nichtflüchtige 2-Bit-Speicherzellen sind; und dass die i-Bit-Daten Höchstwertiges-Bit(MSB)-Daten und die j-Bit-Daten Niederwertigstes-Bit(LSB)-Daten sind.
  19. System nach einem der Ansprüche 11 bis 17, dadurch gekennzeichnet, dass die nichtflüchtigen Multibitspeicherzellen nichtflüchtige 2-Bit-Speicherzellen sind; und dass die i-Bit-Daten Niederwertigstes-Bit(LSB)-Daten und die j-Bit-Daten Höchstwertiges-Bit(MSB)-Daten sind.
  20. System nach einem der Ansprüche 11 bis 19, dadurch gekennzeichnet, dass wenigstens einer der ersten bis n-ten Speicherchips einen NAND-Flashspeicherchip aufweist.
  21. System nach einem der Ansprüche 11 bis 20, dadurch gekennzeichnet, dass beim Programmieren der i-Bit-Daten in die ausgewählten Speicherzellen eine oder mehrere der ausgewählten Speicherzellen einen Zwischenschwellspannungszustand annimmt bzw. annehmen, welcher eine Lesespannung der betreffenden einen oder mehreren ausgewählten Speicherzelle bzw. Speicherzellen überlappt.
  22. Verfahren zum Durchführen einer Programmieroperation in einem nichtflüchtigen Halbleiterspeichersystem (200), das einen Flashspeicher (230) aufweisend ein Speicherfeld (231) mit einer Mehrzahl von nichtflüchtigen Multibitspeicherzellen, und eine Speichersteuereinheit (220) aufweist, die ausgebildet ist, während Programmieroperationen Daten von einem Host (210) zu empfangen und zu dem Flashspeicher (230) zu übertragen und während Leseoperationen Daten von dem Flashspeicher (230) zu empfangen und zu dem Host (210) zu übertragen, und wobei die Speichersteuereinheit (120) einen Pufferspeicher (221) und einen Rücksicherungsspeicher (222) umfasst, wobei das Verfahren beinhaltet: - Programmieren von i-Bit-Daten in ausgewählte Speicherzellen in einem ersten Bereich des Speicherfelds (231); - Lesen der i-Bit-Daten aus den ausgewählten Speicherzellen; Sichern der gelesenen i-Bit-Daten in dem Rücksicherungsspeicher (222) durch Übertragung der programmierten i-Bit-Daten zu dem Rücksicherungsspeicher (222); - Programmieren von j-Bit-Daten in die ausgewählten Speicherzellen; - Bestimmen, ob die j-Bit-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden; und - bei einem Bestimmen, dass die j-Bit-Daten nicht erfolgreich in die ausgewählten Speicherzellen programmiert wurden, Programmieren der i-Bit-Daten, die in dem Rücksicherungsspeicher (222) gespeichert sind, und der j-Bit-Daten, die in dem Pufferspeicher (221) gespeichert sind, in Speicherzellen in einem zweiten Bereich des Speicherfelds (231).
  23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, dass die i-Bit-Daten in dem Rücksicherungsspeicher gespeichert werden, wenn festgestellt wird, dass die j-Bit-Daten in die ausgewählten Speicherzellen zu programmieren sind.
  24. Verfahren nach Anspruch 22 oder 23, weiterhin beinhaltend: bei einem Bestimmen, dass die j-Bit-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden, Beenden der Programm ieroperation.
  25. Verfahren nach einem der Ansprüche 22 bis 24, dadurch gekennzeichnet, dass die nichtflüchtigen Multibitspeicherzellen nichtflüchtige 2-Bit-Speicherzellen sind; und dass die i-Bit-Daten Höchstwertiges-Bit(MSB)-Daten und die j-Bit-Daten Niederwertigstes-Bit(LSB)-Daten sind.
  26. Verfahren nach einem der Ansprüche 22 bis 24, dadurch gekennzeichnet, dass die nichtflüchtigen Multibitspeicherzellen nichtflüchtige 2-Bit-Speicherzellen sind; und dass die i-Bit-Daten Niederwertigstes-Bit(LSB)-Daten und die j-Bit-Daten Höchstwertiges-Bit(MSB)-Daten sind.
  27. Verfahren nach einem der Ansprüche 22 bis 26, dadurch gekennzeichnet, dass das Speicherfeld ein NAND-Flashspeicherfeld aufweist.
  28. Verfahren nach einem der Ansprüche 22 bis 27, dadurch gekennzeichnet, dass beim Programmieren der i-Bit-Daten in die ausgewählten Speicherzellen eine oder mehrere der ausgewählten Speicherzellen einen Zwischenschwellspannungszustand annimmt bzw. annehmen, welcher eine Lesespannung der betreffenden einen oder mehreren ausgewählten Speicherzelle bzw. Speicherzellen überlappt.
  29. Verfahren zum Durchführen einer Programmieroperation in einem nichtflüchtigen Halbleiterspeichersystem mit ersten bis n-ten Speicherchips (330, 340), die jeweils eine Mehrzahl von nichtflüchtigen Multibitspeicherzellen aufweisen, und einer Speichersteuereinheit (320), die ausgebildet ist, während Programmieroperationen Daten von einem Host (310) zu empfangen und zu den ersten bis n-ten Speicherchips (330, 340) zu übertragen und während Leseoperationen Daten von den ersten bis n-ten Speicherchips (330, 340) zu empfangen und zu dem Host (310) zu übertragen, wobei die Speichersteuereinheit (320) erste bis m-te Pufferspeicher (321, 323) sowie erste bis m-te Rücksicherungsspeicher (322, 324) aufweist, wobei das Verfahren beinhaltet: - Programmieren von i-Bit-Daten in ausgewählte Speicherzellen in einem ersten Bereich eines der ersten bis n-ten Speicherchips (330, 340); - Lesen der i-Bit-Daten aus den ausgewählten Speicherzellen; Sichern der gelesenen i-Bit-Daten in einem der ersten bis m-ten Rücksicherungsspeicher (322, 324) durch Übertragung der programmierten i-Bit-Daten zu dem ersten bis m-ten Rücksicherungsspeicher (322, 324); - Programmieren von j-Bit-Daten in die ausgewählten Speicherzellen; - Bestimmen, ob die j-Bit-Daten erfolgreich in die ausgewählten Speicherzellen programmiert wurden; und - bei einem Bestimmen, dass die j-Bit-Daten nicht erfolgreich in die ausgewählten Speicherzellen programmiert wurden, Programmieren der i-Bit-Daten und der j-Bit-Daten in Speicherzellen in einem zweiten Bereich in einem der ersten bis n-ten Speicherchips (330, 340).
  30. Verfahren nach Anspruch 29, dadurch gekennzeichnet, dass der erste Bereich einen ersten Speicherblock und der zweite Bereich einen zweiten Speicherblock umfasst.
  31. Verfahren nach Anspruch 29 oder 30, dadurch gekennzeichnet, dass die i-Bit-Daten in dem einen der ersten bis m-ten Rücksicherungsspeicher gespeichert werden, wenn bestimmt wird, dass die j-Bit-Daten in die ausgewählten Speicherzellen zu programmieren sind.
  32. Verfahren nach einem der Ansprüche 29 bis 31, dadurch gekennzeichnet, dass die Programmieroperation Teil einer verschränkten Programmieroperation ist, die in Relation zu den ersten bis n-ten Speicherchips durchgeführt wird.
  33. Verfahren nach einem der Ansprüche 29 bis 32, dadurch gekennzeichnet, dass die Speichersteuereinheit mit den ersten bis n-ten Speicherchips über eine Mehrzahl von Schnittstellen verbunden ist, um der Speichersteuereinheit zeitgleichen Zugriff auf die ersten bis n-ten Speicherchips zu ermöglichen, und dass die Programmieroperation eine von mehreren simultanen Programmieroperationen ist, die in Relation zu den ersten bis n-ten Speicherchips durchgeführt werden.
  34. Verfahren nach einem der Ansprüche 29 bis 33, dadurch gekennzeichnet, dass wenigstens einer der ersten bis n-ten Speicherchips einen NAND-Flashspeicherchip aufweist.
DE102007046401.2A 2006-09-22 2007-09-21 Nichtflüchtiges Halbleiterspeichersystem und zugehöriges Verfahren zum Durchführen einer Programmieroperation Active DE102007046401B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020060092472A KR100894809B1 (ko) 2006-09-22 2006-09-22 메모리 시스템 및 그것의 프로그램 방법
KR2006-0092472 2006-09-22
US11/730,265 US7554859B2 (en) 2006-09-22 2007-03-30 Nonvolatile memory system and associated programming methods
US11/730,265 2007-03-30

Publications (2)

Publication Number Publication Date
DE102007046401A1 DE102007046401A1 (de) 2008-04-24
DE102007046401B4 true DE102007046401B4 (de) 2023-08-24

Family

ID=39198592

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007046401.2A Active DE102007046401B4 (de) 2006-09-22 2007-09-21 Nichtflüchtiges Halbleiterspeichersystem und zugehöriges Verfahren zum Durchführen einer Programmieroperation

Country Status (1)

Country Link
DE (1) DE102007046401B4 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6034891A (en) 1997-12-01 2000-03-07 Micron Technology, Inc. Multi-state flash memory defect management
US6553510B1 (en) 1999-09-02 2003-04-22 Micron Technology, Inc. Memory device including redundancy routine for correcting random errors
US20040125651A1 (en) 2002-12-26 2004-07-01 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory
DE102004033443A1 (de) 2003-07-11 2005-02-24 Samsung Electronics Co., Ltd., Suwon Flashspeicherbauelement mit Mehrpegelzelle sowie Lese- und Programmierverfahren
US20060126393A1 (en) 2004-12-14 2006-06-15 Yan Li Data recovery methods in multi-state memory after program fail
US20060209592A1 (en) 2005-03-16 2006-09-21 Yan Li Non-volatile memory and method with power-saving read and program-verify operations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6034891A (en) 1997-12-01 2000-03-07 Micron Technology, Inc. Multi-state flash memory defect management
US6553510B1 (en) 1999-09-02 2003-04-22 Micron Technology, Inc. Memory device including redundancy routine for correcting random errors
US20040125651A1 (en) 2002-12-26 2004-07-01 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory
DE102004033443A1 (de) 2003-07-11 2005-02-24 Samsung Electronics Co., Ltd., Suwon Flashspeicherbauelement mit Mehrpegelzelle sowie Lese- und Programmierverfahren
US20060126393A1 (en) 2004-12-14 2006-06-15 Yan Li Data recovery methods in multi-state memory after program fail
US20060209592A1 (en) 2005-03-16 2006-09-21 Yan Li Non-volatile memory and method with power-saving read and program-verify operations

Also Published As

Publication number Publication date
DE102007046401A1 (de) 2008-04-24

Similar Documents

Publication Publication Date Title
DE102008003944B4 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE102008030264B4 (de) Verfahren zum Lesen eines Flashspeichers und Speichersystem
DE69526123T2 (de) Fehlersteuerungsverfahren für flash-eeprom-speichermatritzen
DE60129710T2 (de) Anordnung und struktur für zuverlässige dateikopieoperation für nicht-flüchtige speicher
DE102007031027B4 (de) Leseverfahren einer Speichervorrichtung
DE102011089880B4 (de) Verfahren zum Programmieren eines Speicherblocks eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speichersystem
DE112008001151B4 (de) Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren
DE112008002553T5 (de) Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE102013109235A1 (de) Flash-Speichersystem mit Detektor für anormale Wortleitung und Verfahren zum Erfassen einer anormalen Wortleitung
DE102008009847A1 (de) Verfahren zum Treiben eines nichtflüchtigen Speicherelements und nichtflüchtiges Speicherelement
DE102012108545A1 (de) Verfahren zum Auslesen von Speicherzellen mit unterschiedlichen Schwellwertspannungen ohne Änderung der Wortleitungsspannung, sowie nicht-flüchtige Speichervorrichtung, die dieses verwendet
DE112020004922T5 (de) Speicherungsvorrichtung mit erhöhter beständigkeit
DE102010037290A1 (de) Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen
DE102008009235A1 (de) Speichersystem
DE102019135863A1 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher
DE102008032235A1 (de) Nichtflüchtiges Speicherbauelement, Löschverfahren und Löschtestverfahren
DE102018123961A1 (de) Gruppen-leseaktualisierung
DE102005063166B4 (de) Nicht-flüchtiges Speicherelement und Verfahren zur Programmierüberprüfung in einem nicht-flüchtigen Speicherelement
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102021107340A1 (de) Speichersystem und verfahren für eine ausgeglichene quad-level- cell(qlc)-codierung mit spielraum für einen internal-data-load(idl)-lesevorgang
DE60212332T2 (de) Selbstreparatur-Methode für nicht flüchtige Speicher mit einer Architektur zur Fehlervermeidung sowie nicht flüchtiger Speicher
DE102022101341A1 (de) Spitzen- und durchschnitts-icc-reduzierung durch stufenbasierte abtastung während der programmverifizierungsvergänge von nichtflüchtigen speicherstrukturen

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20131008

R016 Response to examination communication
R082 Change of representative

Representative=s name: KUHNEN & WACKER PATENT- UND RECHTSANWALTSBUERO, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final