DE102011054181A1 - Nichtflüchtige Speichervorrichtung und Ausleseverfahren davon - Google Patents

Nichtflüchtige Speichervorrichtung und Ausleseverfahren davon Download PDF

Info

Publication number
DE102011054181A1
DE102011054181A1 DE102011054181A DE102011054181A DE102011054181A1 DE 102011054181 A1 DE102011054181 A1 DE 102011054181A1 DE 102011054181 A DE102011054181 A DE 102011054181A DE 102011054181 A DE102011054181 A DE 102011054181A DE 102011054181 A1 DE102011054181 A1 DE 102011054181A1
Authority
DE
Germany
Prior art keywords
read
soft
decision
data
group
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.)
Pending
Application number
DE102011054181A
Other languages
English (en)
Inventor
Sangyong Yoon
Kitae PARK
Hong Rak Son
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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102011054181A1 publication Critical patent/DE102011054181A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/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
    • 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/5642Sensing or reading circuits; Data output 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/5678Digital 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 amorphous/crystalline phase transition storage elements
    • 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/5685Digital 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 storage elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • 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
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Materials Engineering (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

In einer Ausführungsform weist das Verfahren zum Lesen von Speicherzellen in einer Matrix von nichtflüchtigen Speicherzellen Lesen von Daten von einer Speicherzelle unter Verwendung einer Gruppe von Hard-Decision-Spannungen und wenigstens einer ersten Gruppe von Soft-Decision-Spannungen auf Grundlage eines einzelnen Lesebefehls auf.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese nicht vorläufige US-Anmeldung beansprucht die Priorität gemäß 35 U.S.C. § 119 von der koreanischen Patentanmeldung Nr. 10-2010-0117940, eingereicht am 25. November 2010, deren gesamter Inhalt hiermit durch Bezugnahme aufgenommen ist.
  • HINTERGRUND
  • Die hier vorliegende Offenbarung bezieht sich auf eine Halbleiterspeichervorrichtung und genauer auf eine Flashspeichervorrichtung und ein Ausleseverfahren davon.
  • Halbleiterspeichervorrichtungen werden im Allgemeinen in flüchtige Speichervorrichtungen (z. B. DRAMs und SRAMs) und nichtflüchtige Speichervorrichtungen (z. B. EEPROMs, FRAMs, PRAMs, MRAMs und Flashspeicher) klassifiziert. Eine flüchtiges Speichervorrichtung verliert in ihr gespeicherte Daten, wenn die Stromversorgung zu ihr unterbrochen wird, während eine nichtflüchtige Speichervorrichtung in ihr gespeicherte Daten erhält, sogar wenn die Stromversorgung zu ihr unterbrochen wird. Insbesondere finden Flashspeichervorrichtungen breite Verwendung als Speichermedium in einem Computersystem wegen ihrer Hohen Programmgeschwindigkeit, ihres niedrigen Energieverbrauchs und ihrer großen Datenspeicherkapazität.
  • In der Flashspeichervorrichtung können Datenzustände, die in der jeweiligen Speicherzelle speicherbar sind, entsprechend der Anzahl von Bits, die in der Speicherzelle gespeichert sind, bestimmt werden. Eine Speicherzelle, die Daten mit einem Bit pro Zelle speichert, wird eine Einzelbitzelle oder Einzelniveauzelle (SLC, engl.: single-level cell) genannt, und eine Speicherzelle, die Daten mit mehren Bits (d. h. wenigstens Daten mit 2 Bits) pro Zelle speichert, wird eine Mehrbitzelle, eine Mehrniveauzelle (MLC, engl.: multi-level cell) oder eine Mehrzustandszelle genannt. Die Mehrbitzelle ist für eine hohe Integration vorteilhaft. Wenn sich allerdings die Anzahl von Bits, die in jeder Speicherzelle programmiert werden, erhöht, verringert sich die Zuverlässigkeit und die Fehlerrate beim Auslesen erhöht sich.
  • Wenn zum Beispiel k Bits in einer Speicherzelle programmiert werden sollen, muss eine von 2k Schwellenspannungen in der Speicherzelle hergestellt werden. Wegen des winzigen Unterschieds zwischen den elektrischen Eigenschaften von Speicherzellen können die Schwellenspannungen von Speicherzellen, die mit denselben Daten programmiert werden, eine erwünschte (oder alternativ eine vorher festgelegte) Spannbreite der Verteilung von Schwellenspannungen bilden. Verteilungen von Schwellenspannungen können jeweils 2k Datenwerten, die von k Bits erzeugt werden können, entsprechen.
  • Allerdings ist ein Spannungsfenster, das für Verteilungen von Schwellenspannungen verfügbar ist, beschränkt. Wenn sich der Wert k erhöht, verringert sich deshalb der Abstand zwischen den Verteilungen der Schwellenspannungen und die nebeneinander liegenden Verteilungen der Schwellenspannungen können miteinander überlappen. Wenn die nebeneinander liegenden Verteilungen der Schwellenspannungen miteinander überlappen, können ausgelesene Daten eine Anzahl von Fehlerbits (z. B. mehrere Fehlerbits oder mehrere Dutzend Fehlerbits) aufweisen.
  • ZUSAMMENFASSUNG
  • Die vorliegende Offenbarung stellt eine nichtflüchtige Speichervorrichtung und/oder ein Ausleseverfahren davon zur Verfügung, die die Effizienz einer Fehlerkorrektur verbessern können, während sie den Leistungsverlust, der von einer Fehlerkorrekturoperation verursacht wird, minimieren.
  • Die vorliegende Offenbarung stellt auch eine nichtflüchtige Speichervorrichtung und/oder ein Ausleseverfahren davon zur Verfügung, die die Verwaltungsdaten einer Auslese-/Eingabeoperation an Daten, die für die Fehlerkorrektur verwendet werden sollen, reduzieren können.
  • Die vorliegende Offenbarung stellt auch eine nichtflüchtige Speichervorrichtung und/oder ein Ausleseverfahren davon zur Verfügung, die die Zuverlässigkeit von Daten, die von der Flashspeichervorrichtung ausgelesen werden, verbessern können.
  • In einer Ausführungsform weist das Verfahren zum Auslesen von Speicherzellen in einer Matrix von nichtflüchtigen Speicherzellen Auslesen von einer Speicherzelle unter Verwendung einer Gruppe von „Hard-Decision”-Spannungen und wenigstens einer ersten Gruppe von „Soft-Decision”-Spannungen auf Grundlage von einem einzigen Auslesebefehl auf.
  • In einer anderen Ausführungsform weist das Verfahren zum Auslesen von Speicherzellen in einer Matrix von nichtflüchtigen Speicherzellen Senden eines Auslesebefehls, Senden eines ersten Auslesebefehls und Empfangen von ersten Ausleseergebnissen in Reaktion auf den ersten Auslesebefehl auf. Die ersten Ausleseergebnisse basieren auf einer Ausleseoperation unter Verwendung einer Gruppe von Hard-Decision-Spannungen. Das Verfahren weist ferner ein erstes Bestimmen, ob Fehler in den ersten Ausleseergebnissen korrigierbar sind, und Senden eines zweiten Auslesebefehls auf, ohne einen dazugehörigen Auslesebefehl zu senden, wenn das erste Bestimmen feststellt, dass Fehler in den ersten Ausleseergebnissen nicht korrigierbar sind. Zweite Ausleseergebnisse werden in Reaktion auf den zweiten Auslesebefehl empfangen und die zweiten Ausleseergebnisse basieren auf einer Ausleseoperation, die eine erste Gruppe von Soft-Decision-Spannungen verwendet.
  • In einer Ausführungsform weist eine nichtflüchtige Speichervorrichtung eine Matrix von nichtflüchtigen Speicherzellen und eine Steuerungslogik auf, die so ausgelegt ist, dass sie Daten von einer Matrix von Speicherzellen unter Verwendung einer Gruppe von Hard-Decision-Spannungen und wenigstens einer ersten Gruppe von Soft-Decision-Spannungen auf Grundlage eines einzigen Auslesebefehls ausliest.
  • Ausführungsformen zielen auch auf ein Datenspeichersystem, elektronisches Gerät, Rechensystem usw. und ein dazugehöriges Betriebsverfahren für diese, das eine Ausführungsform der Speichervorrichtung oder des Verfahrens des Auslesens von Speicherzellen gemäß der vorliegenden Erfindung beinhaltet.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die begleitenden Zeichnungen sind eingefügt, um ein besseres Verständnis der erfinderischen Konzepte bereitzustellen und sind in diese Spezifikation eingegliedert und stellen einen Teil von dieser dar. Die Zeichnungen illustrieren beispielhafte Ausführungsformen der erfinderischen Konzepte und dienen zusammen mit der Beschreibung der Erklärung von Prinzipien der erfinderischen Konzepte. In den Zeichnungen:
  • ist 1 ein Blockdiagramm, das eine schematische Struktur einer Speichervorrichtung mit einer Flashspeichervorrichtung gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert;
  • ist 2 ein Blockdiagramm, das eine detaillierte Struktur der Speichervorrichtung von 1 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert;
  • ist 3 ein Blockdiagramm, das eine detaillierte Struktur der Flashspeichervorrichtung von 1 und 2 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert;
  • ist 4 ein Diagramm, das eine Ausleseoperation mit 2-Bit-Soft-Decision illustriert;
  • ist 5 ein Diagramm, das eine Ausleseoperation mit 3-Bit-Soft-Decision illustriert;
  • sind 6A bis 6E Diagramme, die eine Verteilung von Schwellenspannungen für jede Zelle einer 3-Bit-Flashspeichervorrichtung und eines 2-Bit-Flashspeichervorrichtung und Zuverlässigkeitsdaten, die darauf anwendbar sind, illustrieren;
  • sind 7A und 7B Flussdiagramme, die Ausleseverfahren mit Soft-Decision und Fehlerkorrekturverfahren, die dieses verwenden, gemäß einer ersten beispielhaften Ausführungsform der erfinderischen Konzepte illustrieren;
  • ist 8 ein Zeitverlaufsdiagramm, das ein Ausleseverfahren mit Soft-Decision und ein Fehlerkorrekturverfahren, das dieses verwendet, gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert;
  • ist 9 ein Zeitverlaufsdiagramm, das ein Ausleseverfahren mit Soft-Decision und ein Fehlerkorrekturverfahren, das dieses verwendet, gemäß einer anderen beispielhaften Ausführungsform der erfinderischen Konzepte illustriert;
  • sind 10A und 10B Flussdiagramme, die Ausleseverfahren mit Soft-Decision und Fehlerkorrekturverfahren, die diese verwenden, gemäß einer zweiten beispielhaften Ausführungsform der erfinderischen Konzepte illustrieren;
  • sind 11A, 11B und 12 Diagramme, die Ausleseverfahren mit Soft-Decision und Fehlerkorrekturverfahren, die diese verwenden, gemäß einer dritten beispielhaften Ausführungsform der erfinderischen Konzepte illustrieren;
  • ist 13 ein Zeitverlaufsdiagramm, das eine Befehlsfolge eines Cache-Auslesemodus illustriert, der einem Ausleseverfahren mit 3-Bit-Soft-Decision entspricht, das in 11A illustriert ist;
  • ist 14 ein Zeitverlaufsdiagramm, das eine Befehlsfolge eines Cache-Auslesemodus illustriert, der einem Ausleseverfahren mit 2-Bit-Soft-Decision entspricht, das in 11B illustriert ist;
  • sind 15 bis 17 Diagramme, die Beispiele einer Datenausgabefolge und einer Auslesefolge eines Seitenpuffers in einer Ausleseoperation gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustrieren;
  • ist 18 ein Blockdiagramm, das eine Struktur eines Systems zur Datenspeicherung mit einer Flashspeichervorrichtung gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert;
  • ist 19 ein Blockdiagramm, das eine Struktur eines Speichersystems gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert; und
  • ist 20 ein Blockdiagramm, das eine Struktur eines Rechensystems mit einer Flashspeichervorrichtung gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert.
  • AUSFÜHRLICHE BESCHREIBUNG VON BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
  • Detaillierte beispielhafte Ausführungsformen werden hier offenbart. Allerdings sind spezielle strukturelle und funktionelle Einzelheiten, die hier offenbart werden, nur zum Zweck der Beschreibung von beispielhaften Ausführungsformen repräsentativ. Beispielhafte Ausführungsformen können jedoch in vielen alternativen Formen realisiert sein und es soll nicht angenommen werden, dass sie nur auf die Ausführungsformen, die hier dargelegt sind, beschränkt sind.
  • Während dementsprechend beispielhafte Ausführungsformen verschiedene Modifikationen und alternative Formen haben können, werden Ausführungsformen davon als Beispiel in den Zeichnungen gezeigt und werden hier genau beschrieben. Es sollte offensichtlich sein, dass es jedoch keine Absicht ist, die beispielhaften Ausführungsformen auf die speziellen Formen, die offenbart werden, zu beschränken, sondern im Gegenteil sollen beispielhafte Ausführungsformen alle Modifikationen, Äquivalente und Alternativen, die in den Rahmen der beispielhaften Ausführungsformen fallen, abdecken. Gleiche Bezugszeichen beziehen sich in der gesamten Beschreibung auf gleiche Elemente.
  • Obwohl die Begriffe „erste(r)”, „zweite(r)”, usw. hier verwendet werden können, um verschiedene Elemente zu beschreiben, wird offensichtlich sein, dass diese Elemente nicht durch diese Begriffe beschränkt werden sollen. Diese Begriffe werden nur verwendet, um ein Element von einem anderen unterscheiden. Zum Beispiel könnte ein erstes Element ein zweites Element genannt werden und in ähnlicher Weise könnte ein zweites Element ein erstes Element genannt werden, ohne von dem Rahmen von beispielhaften Ausführungsformen abzuweichen. So wie der Begriff „und/oder” hier gebraucht wird, schließt er jede beliebige und alle Kombinationen von einem oder mehreren von den dazugehörigen, aufgelisteten Gegenständen ein.
  • Wenn ein Element als „verbunden” oder „gekoppelt” mit einem anderen Element bezeichnet wird, wird es offenkundig sein, dass es direkt mit dem anderen Element verbunden oder gekoppelt sein kann oder dass dazwischentretende Elemente vorhanden sein können. Wenn im Gegenteil ein Element als „direkt verbunden” oder „direkt gekoppelt” mit einem anderen Element bezeichnet wird, sind keine dazwischentretenden Elemente vorhanden. Andere Wörter, die verwendet werden, um die Beziehung zwischen Elementen zu bezeichnen, sollen in ähnlicher Weise interpretiert werden (z. B. „zwischen” im Gegensatz zu „direkt zwischen”, „benachbart” im Gegensatz zu „direkt benachbart” usw.).
  • Die Terminologie, die hier verwendet wird, dient nur dem Zweck, spezielle Ausführungsformen zu beschreiben, und soll nicht beispielhafte Ausführungsformen einschränken. Die Singularformen „ein(e)” und „der/die/das” sollen, so wie sie hier verwendet werden, auch die Pluralformen einschließen, wenn der Zusammenhang es nicht offensichtlich anders anzeigt. Es wird ferner offensichtlich sein, dass die Begriffe „aufweisen”, „aufweisend”, „einschließen”, und/oder „einschließlich” das Vorhandensein von angegebenen Eigenschaften, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, wenn sie hier verwendet werden, aber nicht das Vorhandensein oder die Hinzufügung von einem oder mehreren anderen Eigenschaften, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Es sollte auch zur Kenntnis genommen werden, dass in manchen alternativen Implementierungen die angegebenen Funktionen/Handlungen in einer anderen Reihenfolge als in den Figuren angegeben geschehen können. Zum Beispiel können zwei der Reihe nach gezeigte Figuren tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder können manchmal in umgekehrter Reihenfolge ausgeführt werden, abhängig von den involvierten Funktionalitäten/Handlungen.
  • Beispielhafte Ausführungsformen der Erfindung werden hier mit Bezug auf schematische Illustrationen von idealisierten Ausführungsformen (und Zwischenstrukturen) der Erfindung beschrieben. Als solche sind Abwandlungen von den Gestalten der Illustrationen zum Beispiel als Folge von Herstellungstechniken und/oder Toleranzen zu erwarten. Deshalb sollten beispielhafte Ausführungsformen der Erfindung nicht als beschränkt auf die speziellen Formen von Bereichen, die hier illustriert sind, angesehen werden, sondern sollen Abweichungen in Gestalten, die die Folge zum Beispiel von der Herstellung sind, einschließen.
  • 1 ist ein Blockdiagramm, das eine schematische Struktur eines Speichersystems 1000 mit einer Flashspeichervorrichtung 100 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert.
  • Bezug nehmend auf 1 kann ein Speichersystem 1000 eine Flashspeichervorrichtung 100 und eine Speichersteuerung 200 aufweisen. Die Speichersteuerung 200 kann so ausgelegt sein, dass sie die Flashspeichervorrichtung 100 steuert. Die Speichersteuerung 200 kann einen Schaltkreis zur Fehlerkorrektur (ECC, engl: error correction circuit) 230 zur Korrektur eines Fehlers in Daten, die von der Flashspeichervorrichtung 100 ausgelesen werden, aufweisen. Der ECC 230 kann ein „Hard-Decision”-Schema oder ein „Soft-Decision”-Schema als ein Fehlerkorrekturschema verwenden.
  • Das Hard-Decision-Schema („hartes Urteil”) korrigiert einen Fehler in Daten nur mit der Verwendung von einem Fehlerkorrektur-Code und Daten (von nun an als Hard-Decision-Daten bezeichnet), die gemäß der An/Aus-Charakteristik einer Speicherzelle ausgelesen werden, wenn eine gewünschte (oder alternativ eine vorher festgelegte) Referenzspannung (z. B. Read Ref) (siehe V4 von 6A bis 6E) an sie angelegt wird. Das Soft-Decision-Schema („weiches Urteil”) korrigiert einen Fehler nicht nur mit der Verwendung des Fehlerkorrektur-Codes und der Hard-Decision-Daten, sondern auch von zusätzlicher Information (von nun an als Zuverlässigkeitsdaten bezeichnet) über die Zuverlässigkeit der Hard-Decision-Daten. Als ein Beispiel illustrieren die erfinderischen Konzepte den Fall, wo der ECC 230 ein Soft-Decision-Schema verwendet, um eine genauere Fehlerkorrektur durchzuführen. Die Kodierung der Zuverlässigkeitsdaten und die Anzahl der Bits von Zuverlässigkeitsdaten, die auf den ECC 230 anwendbar sind, sind nicht auf eine spezielle Ausführungsform beschränkt, sondern können gemäß verschiedener Ausführungsformen variieren.
  • Wie unten beschrieben werden wird, kann die Flashspeichervorrichtung 100 der erfinderischen Konzepte eine Ausleseoperation mit Soft-Decision gemäß einer gewünschten (oder alternativ einer vorher festgelegten) Soft-Decision-Ausleseauflösung durchführen und jedes Bit von Zuverlässigkeitsdaten und Hard-Decision-Daten entsprechend der Soft-Decision-Ausleseauflösung in einem Seitenpuffer zwischenspeichern. Danach kann unter der Steuerung der Steuerlogik 150 die Flashspeichervorrichtung 100 der erfinderischen Konzepte der Reihe nach und selektiv die Bits von Zuverlässigkeitsdaten (z. B. höchstwertige Bits (MSBs, engl.: most significant bits) und niedrigstwertige Bits (LSBs, engl: least significant bits)) und Hard-Decision-Daten, die von einer Ausleseoperation mit Soft-Decision ausgelesen werden, an den ECC 230 ausgeben. In einer beispielhaften Ausführungsform kann ein Soft-Decision-Auslesebefehl in den erfinderischen Konzepten gegeben werden (das heißt, dass eine Ausleseoperation mit Soft-Decision mit einer Auflösung „n” einmal durchgeführt wird, wobei n eine ganze Zahl ist, die gleich oder größer als 2 ist), wobei eine Mehrzahl von Soft-Decision-Ausgabebefehlen für jedes Bits (z. B. MSB und LSB) der Zuverlässigkeitsdaten und Hard-Decision-Daten erzeugt werden kann. Gleichzeitig kann eine Auslese-/Ausgabeoperation an den Bits (z. B. MSBs und LSBs) der Zuverlässigkeitsdaten und Hard-Decision-Daten gemäß den erfinderischen Konzepten parallel dazu durch ein Pipeline-Schema wie etwa einem Cache-Auslesemodus durchgeführt werden.
  • Der ECC 230 kann eine Fehlerkorrekturoperation auf Grundlage von Hard-Decision-Daten und eine Fehlerkorrekturoperation auf Grundlage der Bits der Zuverlässigkeitsdaten schrittweise durchführen, indem die Bits der Zuverlässigkeitsdaten und der Hard-Decision-Daten, die der Reihe nach von der Flashspeichervorrichtung 100 geliefert werden, verwendet werden. Gemäß dem Ergebnis der schrittweisen Fehlerkorrekturoperation können die Ausgabe der Bits der Zuverlässigkeitsdaten von der Flashspeichervorrichtung 100 an den ECC 230 und die nächste Fehlerkorrekturoperation, die diese verwendet, ausgelassen werden. Dafür kann gemäß dem Ergebnis der schrittweisen Fehlerkorrekturoperation die Speichersteuerung 200 die Erzeugung eines Soft-Decision-Ausgabebefehls CMD, der an die Flashspeichervorrichtung 100 übergeben wird, auslassen und kann ein Unterbrechungssignal Intr oder ein Rücksetzsignal an die Flashspeichervorrichtung 100 erzeugen.
  • Die Verwendung der obigen Konfiguration der erfinderischen Konzepte kann jedes Bit von Zuverlässigkeitsdaten und Hard-Decision-Daten mit einer erwünschten (oder alternativ einer vorher festgelegten) Soft-Decision-Ausleseauflösung in einem Seitenpuffer zwischenspeichern und kann die zwischengespeicherten Daten selektiv in Reaktion auf einen Soft-Decision-Ausgabebefehl CMD ausgeben. Folglich kann die Genauigkeit der Fehlerkorrektur graduell durch einen Operation mit minimaler Datenübertragung erhöht werden, ohne von vornherein einen massiven Umfang an Daten zwischen der Flashspeichervorrichtung 100 und dem ECC 230 zu übertragen. Folglich kann der Leistungsverlust, der von der Fehlerkorrekturoperation verursacht wird, minimiert werden und die Effizienz der Fehlerkorrektur kann verbessert werden. Ebenfalls können die Zusatzdaten einer Auslese-/Ausgabeoperation an den Daten, die für Fehlerkorrektur verwendet werden sollen, reduziert werden und die Zuverlässigkeit von Daten, die von der Flashspeichervorrichtung ausgelesen werden, kann verbessert werden.
  • 2 ist ein Blockdiagramm, das eine detaillierte Struktur des Speichersystems 1000 von 1 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert. 3 ist ein Blockdiagramm, das eine detaillierte Struktur der Flashspeichervorrichtung 100 von 1 und 2 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert.
  • Bezug nehmend auf 2 und 3 kann eine Flashspeichervorrichtung 100 eine Matrix von Speicherzellen 110, einen Schalkreis zur Zeilenauswahl (X-SEL) 120, einen Seitenpufferschaltkreis 130, einen Schaltkreis zur Spaltenauswahl (Y-SEL) 140, eine Steuerlogik 150 und einen Schaltkreis zur Spannungserzeugung 160 aufweisen. Der Schaltkreis zur Spannungserzeugung 160 kann eine Erzeugung für eine variable Auslesespannung 170 aufweisen. Eine Flashspeichersteuerung 200 kann einen Schaltkreis zur Fehlerkorrektur (ECC) 230, eine Hauptsteuerung 240 und einen Systembus 250 aufweisen.
  • Wie in 3 illustriert wird, kann die Matrix von Speicherzellen 110 eine Mehrzahl von Zellenketten (oder NICHT-UND-Ketten) 111, die jeweils mit Bitleitungen BL0~BLm – 1 verbunden sind, aufweisen. Die Zellenkette 111 jeder Spalte kann wenigstens einen Kettenauswahltransistor SST und wenigstens einen Masseauswahltransistor GST aufweisen. Eine Mehrzahl von Speicherzellen (oder Speicherzellentransistoren) MC0~MCn – 1 kann in Reihe verbunden sein zwischen den Auswahltransistoren SST und GST. Jede der Speicherzellen MC0–MCn – 1 kann eine Mehrniveauzelle (MLC) aufweisen, die Daten mit mehreren Bits pro Zelle speichert. Die Zellen 111 können elektrisch jeweils mit den entsprechenden Bitleitungen BL0–BLm – 1 verbunden sein.
  • 3 illustriert einen beispielhaften Fall, wo die Flashspeichervorrichtung 100 ein NAND-Flashspeicher ist. Allerdings ist das Flashspeichervorrichtung 100 der erfinderischen Konzepte nicht auf einen NAND-Flashspeicher beschränkt. Zum Beispiel kann die Matrix von Speicherzellen 110 so ausgelegt sein, dass sie einen NAND-Flashspeicher, einen Hybrid-Flashspeicher mit einem Hybrid von wenigstens zwei Arten von Speicherzellen oder einen One-NAND-Flashspeicher mit einer Steuerung, die in einem Speicherchip eingebettet ist, aufweist. Die Betriebseigenschaften der Flashspeichervorrichtungs 100 gemäß den erfinderischen Konzepten können nicht nur auf einen Flashspeicher mit einer Ladungsspeicherschicht, die ein leitendes ungeerdetes Gatter (engl.: „floating gate”) aufweist, sondern auch auf einen Ladungsfallen-Flashspeicher (CTF, engl.: charge trap flash) mit Ladungsfallenschicht, die eine dielektrische Schicht einschließt, anwendbar sein.
  • Die Steuerungslogik 150 kann eine Gesamtoperation, die eine Programmier-, Lösch- oder Ausleseoperation betrifft, steuern. Gemäß der Betriebsmodi kann der Schaltkreis zur Spannungserzeugung 160 Wortleitungsspannungen (z. B. eine Programmierspannung Vpgm, eine Auslesespannung Vread und eine Durchlassspannung Vpass), die an die jeweiligen Wortleitungen angelegt werden sollen, und eine Spannung erzeugen, die an einen Volumenteil (z. B. eine Wannenregion) mit Speicherzellen angelegt werden soll. Die Operation der Spannungserzeugung des Schaltkreises zur Spannungserzeugung 160 kann von einer Steuerlogik 150 gesteuert werden. Die Auslesespannung Vread unter den Wortleitungsspannungen, die von dem Schaltkreis zur Spannungserzeugung 160 erzeugt werden, kann als eine Referenzauslesespannung verwendet werden (entsprechend V4 von 6A bis 6E). Der Schaltkreis zur Spannungserzeugung 160 kann die Erzeugung einer variablen Auslesespannung 170 aufweisen, um eine Mehrzahl von variablen Auslesespannungen mit einer gewünschten (oder alternativ einer vorher festgelegten) Spannungsdifferenz auf Grundlage der Referenzauslesespannung zu erzeugen. Die variablen Auslesespannungen können für eine Soft-Decision-Ausleseoperation anwendbar sein.
  • In Reaktion auf die Steuerung der Steuerlogik 150 kann der Zeilenauswahlschaltkreis 120 einen der Speicherblöcke (oder -abschnitte) der Matrix von Speicherzellen 110 auswählen und kann eine der Wortleitungen des ausgewählten Speicherblocks auswählen. In Reaktion auf die Steuerung der Steuerlogik 150 kann der Zeilenauswahlschaltkreis 120 die Wortleitungsspannungen, die von dem Schaltkreis zur Spannungserzeugung 160 erzeugt werden, jeweils an die ausgewählten Wortleitungen und die nicht ausgewählten Wortleitungen übergeben.
  • Der Seitenpufferschaltkreis 130 kann von der Steuerlogik 150 gesteuert werden, um als ein Leseverstärker zu arbeiten oder ein Schreibtreiber gemäß eines Betriebsmodus zu arbeiten.
  • Zum Beispiel arbeitet der Seitenpufferschaltkreis 130 in einer Verifizier- oder normalen Ausleseoperation als ein Leseverstärker zum Auslesen von Daten von der Matrix von Speicherzellen 110. In einer normalen Ausleseoperation gibt der Spaltenauswahlschaltkreis 140 Daten, die von dem Seitenpufferschaltkreis 130 ausgelesen werden, an ein externes Gerät (z. B. die Speichersteuerung 200 oder einen Host) in Reaktion auf eine Spaltenadressinformation Y-addr aus. In einer Verfizierausleseoperation können die ausgelesenen Daten an einen Erfolgreich/Erfolglos-Verifizierschaltkreis (nicht illustriert) in der Flashspeichervorrichtung 100 übergeben werden, um den Programmiererfolg/das Programmierscheitern der Speicherzellen zu bestimmen.
  • In einer Programmieroperation arbeitet der Seitenpufferschaltkreis 130 als ein Schreibtreiber, der die Bitleitungen gemäß den Daten, die in der Matrix von Speicherzellen 110 gespeichert werden sollen, betreibt. In einer Programmieroperation empfängt der Seitenpufferschaltkreis 130 Daten, die in die Matrix von Speicherzellen 110 geschrieben werden sollen, von einem Puffer (nicht illustriert) und betreibt die Bitleitungen gemäß den empfangenen Daten.
  • Der Seitenpufferschaltkreis 130 kann eine Mehrzahl von Seitenpuffern PB (z. B. eine oder mehrere Seiten) aufweisen, die jeweils Spalten (oder Bitleitungen) oder Spaltenpaaren (oder Bitleitungspaaren) entsprechen. Jeder der Seitenpuffer PB kann eine Mehrzahl von Auffangregistern aufweisen (siehe S, U, M, L und C von 12). Die Auffangregister können eine Mehrzahl Zuverlässigkeitsdaten-Bits und Soft-Decision-Daten, die von dem Seitenpuffer PB ausgelesen werden, zwischenspeichern. Der Wert von Zuverlässigkeitsdaten-Bits kann bestimmt werden, indem die Daten, die durch eine Ausleseoperation mit Soft-Decision ausgelesen werden, kodiert werden. Die Kodieroperation zur Bestimmung des Bitwerts der Zuverlässigkeitsdaten kann in dem Seitenpufferschaltkreis 130 durchgeführt werden oder kann von einem externen Gerät (z. B. einer Speichersteuerung) des Seitenpufferschaltkreises 130 durchgeführt werden.
  • 4 ist ein Diagramm, das eine Ausleseoperation mit 2-Bit-Soft-Decision illustriert. 5 ist ein Diagramm, das eine Ausleseoperation mit 3-Bit-Soft-Decision illustriert.
  • Bezug nehmend auf 4 erhalten Datenzustände, die in einer Speicherzelle programmiert sind, idealerweise ein gewünschtes (oder alternativ ein vorher festgelegtes) Spannungsintervall mit benachbarten Datenzuständen, um eine ausreichende Auslesespanne sicherzustellen. Eine Referenzauslesespannung kann auf der Grundlage von idealen Datenzuständen eingestellt werden. Ideale Datenzustände Si und Si + 1, die von durchgezogenen Linien in 4 und 5 repräsentiert werden, können von einer Referenzauslesespannung, gekennzeichnet durch die Referenznummer 101, geteilt werden. Eine Ausleseoperation, der mit einer Referenzauslesespannung 101 durchgeführt wird, wird eine Ausleseoperation mit Hard-Decision genannt.
  • Allerdings kann jeder Datenzustand zu einer nicht-idealen Form deformiert werden, wie es durch die gepunkteten Linien in den 4 und 5 repräsentiert wird. Wenn die Datenzustände Si und Si + 1, die von durchgezogenen Linien repräsentiert werden, deformiert werden, wie es von den gepunktete Linien repräsentiert wird, ist es schwierig, zwischen den deformierten Datenzuständen Si und Si + 1 zu unterscheiden, indem nur eine Ausleseoperation mit Hard-Decision verwendet wird. Dieses Problem wird außerdem gravierender, wenn die Anzahl von Datenbits, die in einer Speicherzelle gespeichert werden, sich erhöht. Das Problem wird auch gravierender aufgrund von verschiedenen Faktoren wie etwa einem Ladungsverlust, einem Verstreichen der Zeit, einer Temperaturerhöhung, einer Kopplung, die dadurch verursacht wird, dass benachbarte Zellen programmiert werden, einer Auslesung einer benachbarten Zelle und eines Zellendefekts.
  • In diesem Fall können die deformierten Datenzustände Si und Si + 1 durch eine Ausleseoperation mit Soft-Decision unterschieden werden. Die Zuverlässigkeitsdaten, die von der Ausleseoperation mit Soft-Decision erhalten werden, können an den ECC 230 zusammen mit den Hard-Decision-Daten übergeben werden, und können verwendet werden, um einen möglichen Fehler in den deformierten Datenzuständen Si und Si + 1 zu korrigieren.
  • Die Ausleseoperation mit Soft-Decision kann eine gewünschte (oder alternativ eine vorher festgelegte) Ausleseauflösung haben. Wenn sich die Ausleseauflösung erhöht, erhöht sich der Auslese-/Abtastzähler während der Ausleseoperation mit Soft-Decision. Zum Beispiel können die Daten von einer Speicherzelle, die durch einen schwarzen Punkt (•) repräsentiert werden, von einer Ausleseoperation mit 2-Bit-Soft-Decision unterschieden werden. Der Ausleseoperation mit 2-Bit-Soft-Decision kann drei Ausleseoperationen aufweisen, die der Reihe nach auf der Grundlage von Auslesespannungen 101, 102 und 103 ausgeführt werden. In der Ausleseoperation mit Soft-Decision können die Daten, die durch die drei Ausleseoperationen ausgelesen werden, kodiert werden, um eigentliche Daten (oder Hard-Decision-Daten) mit 1 Bit und Zuverlässigkeitsdaten mit 1 Bit zu erzeugen. Die eigentlichen (Hard-Decision) Daten können als „1” oder „0” bestimmt werden gemäß dem Wert der Zuverlässigkeitsdaten in dem ECC 230. Die Zuverlässigkeitsdaten (1 Bit) werden, wie in 4 gezeigt wird, erhalten oder kodiert von einer exklusiven NICHT-ODER-Operation an den Ausleseergebnissen der Auslesespannungen 102 und 103.
  • Die Ausleseauflösung, die auf die Ausleseoperation mit Soft-Decision angewendet wird, kann sich für ein genaueres Datenurteil erhöhen. Wenn sich die Ausleseauflösung erhöht, erhöht sich der Auslese-/Abtastzähler während der Ausleseoperation mit Soft-Decision.
  • Bezug nehmend auf 5 können die Daten einer Speicherzelle, die durch einen schwarzen Punkt (•) repräsentiert werden, durch eine Ausleseoperation mit 3-Bit-Soft-Decision unterschieden werden. Die Ausleseoperation mit 3-Bit-Soft-Decision kann sieben Ausleseoperationen aufweisen, die auf der Grundlage von sieben Auslesespannungen durchgeführt werden. Die Daten, die durch die sieben Ausleseoperationen ausgelesen werden, können in eigentliche Daten mit 1 Bit (oder Hard-Decision-Daten) und Zuverlässigkeitsdaten mit 2 Bit kodiert werden. Die eigentlichen Daten können als „1” oder „0” gemäß dem Wert der Zuverlässigkeitsdaten mit 2 Bit in dem ECC 230 bestimmt werden. Das höchstwertige Bit (MSB) der Zuverlässigkeitsdaten wird wie in 5 gezeigt erhalten oder kodiert in der gleichen Weise, wie oben beschrieben worden ist, um die Zuverlässigkeitsdaten in 4 mit Hilfe der zweiten und sechsten Auslesespannung zu erhalten. Das niedrigstwertige Bit (LSB) der Zuverlässigkeitsdaten wird, wie in 5 gezeigt wird, erhalten oder kodiert durch: Erhalten eines ersten exklusiven NOR-Ergebnisses von den Ausleserergebnissen der ersten und dritten Auslesespannung, Erhalten eines zweiten exklusiven NORErgebnisses von den Ausleseergebnissen der fünften und siebenten Auslesespannungen und Durchführen einer AND-Operation an dem ersten und zweiten exklusiven NOR-Ergebnis.
  • Ein Verfahren zur Bestimmung des Werts von eigentlichen Daten auf der Grundlage von Zuverlässigkeitsdaten mit m Bits (m: eine ganze Zahl gleich oder größer als 1) durch den ECC 230 kann variieren gemäß der Konfiguration einer Fehlerkorrektur-Engine, die in dem ECC 230 bereitgestellt ist. Auch können Zuverlässigkeitsdaten mit m Bits auf verschiedene Weise von einer Mehrzahl von Daten, die in einer Ausleseoperation mit Soft-Decision ausgelesen werden, kodiert werden. Die erfinderischen Konzepte illustrieren den Fall, wo Zuverlässigkeitsdaten mit m Bits in dem Seitenpuffer PB der Flashspeichervorrichtungs 100 kodiert werden.
  • In einer beispielhaften Ausführungsform kann jeder Seitenpuffer PB so ausgelegt sein, dass er die Daten in Zuverlässigkeitsdaten mit einer gewünschten (oder alternativ einer vorher festgelegten) Anzahl von Bits (z. B. Zuverlässigkeitsdaten mit m Bits) kodiert, wenn er eine Mehrzahl von Daten, die in einer Ausleseoperation mit Soft-Decision ausgelesen werden, zwischenspeichert. Zum Beispiel kann der Seitenpufferschaltkreis 130 direkt eine Mehrzahl von Daten in Zuverlässigkeitsdaten mit einer gewünschten (oder alternativ vorher festgelegten) Anzahl von Bits konvertieren (oder kodieren), indem er den Datenwert, der in einem Auffangregister gespeichert ist, umschaltet, wenn Daten mit einem bestimmten (oder alternativ einem vorher festgelegten) Wert (z. B. 0) von dem Seitenpuffer PB in einer Ausleseoperation mit Soft-Decision ausgelesen werden.
  • Gemäß einer Kodierung des Seitenpuffers PB, welcher Zuverlässigkeitsdaten von einer Mehrzahl von Daten, die von dem Seitenpuffer PB in einer Ausleseoperation mit Soft-Decision ausgelesen werden, kodiert, kann der Seitenpuffer PB Zuverlässigkeitsdaten mit einer gewünschten (oder alternativ vorher festgelegten) Anzahl von Bits erzeugen, sogar ohne die Aufbietung eines zusätzlichen Schaltkreises (z. B. eines Kodierers) in der Flashspeichervorrichtung 100 oder der Speichersteuerung 200. Entsprechend kann die Chipgröße reduziert werden, der Umfang von Daten, die von der Flashspeichervorrichtung 100 an den ECC 230 übertragen werden müssen, kann reduziert werden und die Datenübertragungsrate zwischen der Flashspeichervorrichtung 100 und dem ECC 230 kann verbessert werden. Die Kodierung von Zuverlässigkeitsdaten, die oben beschrieben worden ist, ist nicht auf eine spezielle Ausführungsform beschränkt, sondern kann gemäß verschiedenen Ausführungsformen variieren.
  • 6A und 6B sind Diagramme, die Verteilungen von Schwellenspannungen für jede Zelle einer 3-Bit-Flashspeichervorrichtung und eines 2-Bit-Flashspeichervorrichtung und darauf anwendbare Zuverlässigkeitsdaten illustrieren.
  • Wie in 6A bis 6C illustriert wird, kann die Schwellenspannung einer Speicherzelle mit Daten mit 3 Bits, die pro Zelle programmiert sind, (also einer 3-Bit-MLC) einem von 8-Niveau-Datenzuständen E und P1~P7 entsprechen. Wie in 6D bis 6E illustriert wird, kann die Schwellenspannung einer Speicherzelle mit Daten mit 2 Bits, die pro Zelle programmiert sind, (also einer 2-Bit-MLC) einem von 4-Niveau-Datenzuständen E und P1–P3 entsprechen.
  • Jeder Datenzustand kann ein gewünschtes (oder alternativ ein vorher festgelegtes) Schwellenspannungsfenster bilden. Der ideale Datenzustand der programmierten MLC erhält ein gewünschtes (oder alternativ ein vorher festgelegtes) Spannungsintervall zu einem benachbarten Datenzustand bei, um eine ausreichende Auslesespanne sicherzustellen. Allerdings kann die Verteilung von Schwellenspannungen für jeden Zustand in einer tatsächlichen Implementierung der Mehr-Bit-Flashspeichervorrichtung zu einer nicht-idealen Form deformiert sein, wie sie von den gepunkteten Linien von 6A bis 6E repräsentiert wird.
  • Für ein genaueres Datenurteil und Fehlerkorrektur können die erfinderischen Konzepte ein Ausleseschema mit Soft-Decision verwenden, welches eine Ausleseoperation mehrmals durchführt, indem es eine Mehrzahl von variablen Auslesespannungen sowie eine Referenzauslesespannung verwendet. Wenn eine Mehrzahl von Datenbits in jeder Speicherzelle gespeichert wird (z. B. 3-Bit-MLC und 2-Bit-MLC), kann jedes Bit, das in der jeweiligen Speicherzelle gespeichert ist, unabhängig ausgelesen werden. Zum Beispiel illustriert 6A die Konfiguration von Daten, die ausgegeben werden, wenn das erste Bit (d. h. das LSB), das in einer 3-Bit-MLC gespeichert ist, von einem Ausleseverfahren mit Soft-Decision ausgelesen wird. 6B illustriert die Konfiguration von Daten, die ausgegeben werden, wenn das zweite Bit, das in der 3-Bit-MLC gespeichert ist, von einem Ausleseverfahren mit Soft-Decision ausgelesen wird. 6C illustriert die Konfiguration von Daten, die ausgegeben werden, wenn das dritte Bit, das in der 3-Bit-MLC gespeichert ist, von einem Ausleseverfahren mit Soft-Decision ausgelesen wird. 6D illustriert die Konfiguration von Daten, die ausgegeben werden, wenn das erste Bit, das in einer 2-Bit-MLC gespeichert ist, von einem Ausleseverfahren mit Soft-Decision ausgelesen wird. 6E illustriert die Konfiguration von Daten, die ausgegeben werden, wenn das zweite Bit, das in der 2-Bit-MLC gespeichert ist, von einem Ausleseverfahren mit Soft-Decision ausgelesen wird.
  • Eine Ausleseoperation mit Soft-Decision gemäß den erfinderischen Konzepten kann eine gewünschte (oder alternativ eine vorher festgelegte) Soft-Decision-Ausleseauflösung haben. Zum Beispiel kann eine Soft-Decision-Ausleseauflösung mit 2 Bits oder eine Soft-Decision-Ausleseauflösung mit 3 Bits angewendet werden, um jedes Bit, das in einer 3-Bit-MLC gespeichert ist, auszulesen. Auch kann eine Soft-Decision-Ausleseauflösung mit 2 Bits oder eine Soft-Decision-Ausleseauflösung mit 3 Bits angewendet werden, um jedes Bit, das in einer 2-Bit-MLC gespeichert ist, auszulesen.
  • Eine Soft-Decision-Ausleseauflösung gemäß den erfinderischen Konzepten kann von einer Information zur Soft-Decision-Ausleseauflösung eingestellt werden, die der Flashspeichervorrichtung 100 zusammen mit einem Soft-Decision-Auslesebefehl übergeben wird. Eine Ausleseoperation mit Soft-Decision gemäß den erfinderischen Konzepten kann einen Soft-Decision-Auslesebefehl und einen oder mehrere Soft-Decision-Ausgabebefehle aufweisen. Jeder der Soft-Decision-Ausgabebefehle kann getrennt bezogen auf das jeweilige Bit (z. B. MSB und LSB) von Zuverlässigkeitsdaten und Hard-Decision-Daten erzeugt werden.
  • Tabelle 1 zeigt die Konfiguration von Daten, die von jedem Seitenpuffer PB in einer Ausleseoperation mit 2-Bit-Soft-Decision ausgegeben werden. Tabelle 1
    Hard-Decision-Daten Zuverlässigkeitsdaten Bedeutung
    0 1 stark 0
    0 schwach 0
    1 1 stark 1
    0 schwach 0
  • Bezug nehmend auf 6A bis 6E und Tabelle 1 kann in einer Ausleseoperation mit 2-Bit-Soft-Decision jeder Seitenpuffer PB entsprechend jeder Bitleitung (oder einem Bitleitungspaar) Daten mit 2 Bits an den ECC 230 ausgeben. Der 1-Bit-Wert, der von dem Seitenpuffer PB ausgegeben wird, ist der Wert, der von einer Referenzauslesespannung (z. B. V4) ausgelesen wurde, was einem Hard-Decision-Datenwert entspricht. Außerdem ist der andere 1-Bit-Wert, der von dem Seitenpuffer PB ausgegeben wird, ein Zuverlässigkeitsdatenwert, der dem Kodierergebnis von Daten entspricht, die von zwei variablen Auslesespannungen (d. h. V2 und V6) ausgelesen worden sind.
  • Die Zuverlässigkeitsdaten sind eine Wahrscheinlichkeitsinformation, die anzeigt, ob die entsprechenden Hard-Decision-Daten korrekt bestimmt worden sind. Wenn der Wert der Zuverlässigkeitsdaten „1” ist, bedeutet das, dass die Zuverlässigkeit der entsprechenden Hard-Decision-Daten hoch ist (stark (S)). Wenn der Wert der Zuverlässigkeitsdaten „0” ist, bedeutet das, dass die Zuverlässigkeit der entsprechenden Hard-Decision-Daten niedrig ist (schwach (W)).
  • Tabelle 2 zeigt die Konfiguration von Daten, die von jedem Seitenpuffer PB in einer Ausleseoperation mit 3-Bit-Soft-Decision ausgegeben werden. Tabelle 2
    Hard-Decision-Daten Zuverlässigkeitsdaten (MSB) Zuverlässigkeitsdaten (LSB) Bedeutung
    0 1 1 sehr stark 0
    0 stark 0
    0 0 schwach 0
    1 sehr schwach 0
    1 1 1 sehr stark 1
    0 stark 1
    0 0 schwach 1
    1 sehr schwach 1
  • Bezug nehmend auf 6A bis 6E und Tabelle 2 kann in einer Ausleseoperation mit 3-Bit-Soft-Decision mit einer 3-Bit-Auflösung jeder Seitenpuffer PB Daten mit 3 Bits an den ECC 230 ausgeben. Die ausgegebenen Daten mit 3 Bits können Hard-Decision-Daten mit 1 Bit und Zuverlässigkeitsdaten mit 2 Bits aufweisen.
  • Der Hard-Decision-Datenwert mit 1 Bit, der durch die Ausleseoperation mit 3-Bit-Soft-Decision erhalten wird, kann ausgelesen werden, wenn eine Referenzauslesespannung (d. h. V4) angelegt wird. Der MSB-Wert von den 2-Bit-Zuverlässigkeitsdaten kann dem Kodierergebnis von Daten entsprechen, wenn zwei variable Auslesespannungen (d. h. V2 und V6) angelegt werden. Wie in 6A bis 6E illustriert wird, kann der MSB-Wert der Zuverlässigkeitsdaten im Wesentlichen identisch zum 1-Bit-Zuverlässigkeitsdatenwert sein, der durch die Ausleseoperation mit 2-Bit-Soft-Decision erhalten wird. Das bedeutet, dass die Fehlerkorrekturoperation, die auf dem MSB-Wert der Zuverlässigkeitsdaten basiert, im Wesentlichen identisch mit der Fehlerkorrekturoperation ist, die auf den Zuverlässigkeitsdaten basiert, welche durch die Ausleseoperation mit 2-Bit-Soft-Decision erhalten werden. Folglich kann gemäß den erfinderischen Konzeptender MSB-Wert der Zuverlässigkeitsdaten, der durch die Ausleseoperation mit 3-Bit-Soft-Decision erhalten worden ist, ebenso wie der Wert, der durch die Ausleseoperation mit 2-Bit-Soft-Decision erhalten worden ist, verwendet werden, um eine Fehlerkorrekturoperation durchzuführen. Folglich kann die Verwendung eines Teil der Daten, die durch die Ausleseoperation mit 3-Bit-Soft-Decision erhalten worden sind, denselben Effekt haben wie in dem Fall der Durchführung einer Fehlerkorrekturoperation mit Verwendung von Zuverlässigkeitsdaten, die von einer Ausleseoperation mit 2-Bit-Soft-Decision ausgegeben werden, sogar ohne die Ausleseoperation mit 2-Bit-Soft-Decision durchzuführen.
  • Der LSB-Wert von den Werten der 2-Bit-Zuverlässigkeitsdaten kann den Kodierergebnissen von Daten entsprechen, welche ausgelesen werden, wenn vier variable Auslesespannungen (d. B. V1, V3, V5 und V7) angelegt werden. Der LSB-Wert der Zuverlässigkeitsdaten entspricht einer Unterteilung eines Wahrscheinlichkeitsraums, der von dem MSB-Wert der Zuverlässigkeitsdaten bestimmbar ist (der Zuverlässigkeitsdatenwert, welcher durch die Ausleseoperation mit 2-Bit-Soft-Decision erhalten wird). Das heißt, dass der MSB-Wert der Zuverlässigkeitsdaten die Zuverlässigkeit der entsprechenden Hard-Decision-Daten in eine starke (S) und eine schwache (W) unterteilen kann, während der LSB-Wert der Zuverlässigkeitsdaten die Zuverlässigkeit der entsprechenden Hard-Decision-Daten in eine sehr starke (VS), eine starke (S), eine schwache (W) und eine sehr schwache (VW) unterteilen kann.
  • Wie oben beschrieben worden ist, hat die Fehlerkorrekturoperation mit Soft-Decision eine bessere Fehlerkorrekturleistung als die Fehlerkorrekturoperation mit Hard-Decision, die nur die Hard-Decision-Daten verwendet. Hierbei erhöht sich die Genauigkeit der Zuverlässigkeitsinformation, wenn die Auflösung in der Ausleseoperation mit Soft-Decision sich erhöht, und verbessert so die Fehlerkorrekturleistung. Allerdings erhöhen sich, wenn sich die Auflösung in der Ausleseoperation mit Soft-Decision erhöht, die notwendige Auslesungszahl und der Umfang der Auslesedaten, was folglich die Zeit, die es dauert, um Daten mit der Flashspeichervorrichtung 100 auszulesen, und die Zeit erhöht, die es dauert, um die ausgelesenen Daten von der Flashspeichervorrichtung 100 an den ECC 230 zu übertragen.
  • Um das obige Problem zu vermeiden, kann dieas Flashspeichervorrichtung 100 der erfinderischen Konzepte nur dann eine Ausleseoperation mit Soft-Decision mit hoher Auflösung (z. B. eine Ausleseoperation mit 3-Bit-Soft-Decision) ohne eine Ausleseoperation mit Soft-Decision mit niedriger Auflösung (z. B. eine Ausleseoperation mit 2-Bit-Soft-Decision) durchführen, wenn es erheblich überlappende Soft-Decision-Ausleseergebnisse hat. In diesem Fall kann die Auflösung der Ausleseoperation mit Soft-Decision durch eine Auflösungsinformation eingestellt werden, die an den Flashspeicher 100 zusammen mit dem Auslesebefehl übertragen wird. Die Daten, die durch eine Ausleseoperation mit Soft-Decision mit hoher Auflösung erhalten worden sind, können von der Flashspeichervorrichtung 100 an den ECC 230 in aufsteigender Reihenfolge der Ausleseauflösung übergeben werden. Zu diesem Zweck kann die Flashspeichervorrichtung 100 der erfinderischen Konzepte der Reihe nach die Daten an den ECC 230 ausgeben, die durch die Ausleseoperation mit 3-Bit-Soft-Decision erhalten worden sind, anstatt die gesamten erhaltenen Daten an den ECC 230 von Anfang an auszugeben. Zum Beispiel kann die Flashspeichervorrichtung 100 der Reihe nach den Hard-Decision-Datenwert (der Datenwert, der durch die Referenzauslesespannung ausgelesen worden ist), den MSB-Wert der Zuverlässigkeitsdaten (der dem Zuverlässigkeitsdatenwert entspricht, der durch die Ausleseoperation mit 2-Bit-Soft-Decision erhalten worden ist) und den LSB-Wert der Zuverlässigkeitsdaten (der dem LSB-Wert der Zuverlässigkeitsdaten entspricht, die durch die Ausleseoperation mit 3-Bit-Soff-Decision erhalten worden sind) an den ECC 230 ausgeben.
  • Der ECC 230 kann eine schrittweise Fehlerkorrekturoperation in Reaktion auf den Hard-Decision-Datenwert, den MSB-Wert der Zuverlässigkeitsdaten und den LSB-Wert der Zuverlässigkeitsdaten durchführen, die der Reihe nach von der Flashspeichervorrichtung 100 erhalten werden. Zum Beispiel kann der ECC 230 eine Fehlerkorrekturoperation auf Grundlage der Hard-Decision-Daten, eine Fehlerkorrekturoperation auf Grundlage des MSB-Werts der Zuverlässigkeitsdaten und eine Fehlerkorrekturoperation auf Grundlage des LSB-Werts der Zuverlässigkeitsdaten schrittweise durchführen.
  • Die Ergebnisse der schrittweisen Fehlerkorrekturoperationen, die von dem ECC durchgeführt worden sind, können verwendet werden, um zu bestimmen, ob jeder von den Zuverlässigkeitsdaten-Bits in einer Fehlerkorrekturoperation zu verwenden ist. Wenn zum Beispiel der Fehler von der Fehlerkorrekturoperation, die auf dem MSB-Wert der Zuverlässigkeitsdaten basiert, korrigierbar ist, werden eine Datenausgabeoperation des Bits, der dem MSB der Zuverlässigkeitsdaten folgt, und eine Fehlerkorrekturoperation, die diesen verwendet, ausgelassen oder abgebrochen. Das heißt, dass in Reaktion auf die der Reihe nach übergebenen Soft-Decision-Ausleseergebnisse der ECC 230 der Reihe nach eine Fehlerkorrekturoperation mit einer niedrigen Genauigkeit und eine Fehlerkorrekturoperation mit einer hohen Genauigkeit durchführen kann. Gemäß dieser Konfiguration der erfinderischen Konzepte können nur die Daten, die tatsächlich in den schrittweisen Fehlerkorrekturoperationen verwendet werden sollen, der Reihe nach an die Flashspeichervorrichtung 100 und den ECC 230 übertragen werden. Entsprechend kann die Fehlerkorrektureffizienz verbessert werden und gleichzeitig der Leistungsverlust, der von der Fehlerkorrektur verursacht wird, minimiert werden.
  • Außerdem kann in der Ausleseoperation mit Soft-Decision die Flashspeichervorrichtung 100 die Operationen des Auslesens/Ausgebens der Bits (z. B. MSB und LSB) der Zuverlässigkeitsdaten und der Hard-Decision-Daten parallel durch ein Pipeline-Schema durchführen.
  • 7A und 7B sind Flussdiagramme, die Ausleseverfahren mit Soft-Decision und Fehlerkorrekturverfahren, die diese verwenden, gemäß einer ersten beispielhaften Ausführungsform der erfinderischen Konzepte illustrieren. 8 und 9 sind Zeitverlaufsdiagrammme, die ein Ausleseverfahren mit Soft-Decision und ein Fehlerkorrekturverfahren, das diese benutzt, gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustrieren. 7A und 8 illustrieren ein Ausleseverfahren mit 3-Bit-Soft-Decision und eine Befehlsfolge, die diesem entspricht. 7B und 9 illustrieren ein Ausleseverfahren mit 2-Bit-Soft-Decision und eine Befehlsfolge, die diesem entspricht.
  • Bezug nehmend auf 7A und 8 kann ein Soft-Decision-Auslesebefehl zusammen mit einer Information über die Ausleseauflösung (durch „3Ch” in 8 gekennzeichnet) und einer Adresse Addr einer Seite eingegeben werden, auf der eine Ausleseoperation mit Soft-Decision durchgeführt werden wird. Hierbei kann die Information über die Ausleseauflösung verwendet werden, um die Anzahl von Bits der Zuverlässigkeitsdaten zu bestimmen. Die Information über die Ausleseauflösung, die durch „3Ch” in 8 gekennzeichnet wird, kann bedeuten, dass eine Ausleseoperation mit 3-Bit-Soft-Decision durch einen eingegebenen Soft-Decision-Auslesebefehl durchgeführt wird.
  • Die Flashspeichervorrichtung 100 kann der Reihe nach Hard-Decision-Daten, den MSB der Zuverlässigkeitsdaten und den LSB der Zuverlässigkeitsdaten von den Speicherzellen der entsprechenden Seite in Reaktion auf den Soft-Decision-Auslesebefehl 00h, die Adresse Addr und die Information über die Ausleseauflösung 3Ch, die von der Speichersteuerung 200 erzeugt werden, auslesen (S1008, S1100 und S1200). In einer Ausleseoperation mit 3-Bit-Soft-Decision kann eine Ausleseoperation sieben Mal durchgeführt werden und Daten mit 3 Bits (d. h. die Hard-Decision-Daten, der MSB der Zuverlässigkeitsdaten und der LSB der Zuverlässigkeitsdaten) können gemäß dem Ausleseergebnis der Ausleseoperation mit 3-Bit-Soft-Decision in jedem Seitenpuffer PB zwischengespeichert werden. Während der Ausleseoperation mit 3-Bit-Soft-Decision in der Flashspeichervorrichtung 100 kann ein R/B-Signal von einem High-Logikpegel zu einem Low-Logikpegel wechseln. Nach der Ausleseoperation mit 3-Bit-Soft-Decision in der Flashspeichervorrichtung 100 kann das R/B-Signal von einem Low-Logikpegel zu einem High-Logikpegel zurückkehren.
  • Danach können die Hard-Decision-Daten, der MSB der Zuverlässigkeitsdaten und der LSB der Zuverlässigkeitsdaten, die in jedem Seitenpuffer PB zwischengespeichert sind, der Reihe nach an den ECC 230 in Reaktion auf eine Mehrzahl von Soft-Decision-Ausgabebefehlen, die von der Speichersteuerung 200 erzeugt werden, übergeben werden.
  • Wenn zum Beispiel der erste Soft-Decision-Ausgabebefehl (durch „41h” in 8 gekennzeichnet) von der Speichersteuerung 200 an die Flashspeichervorrichtung 100 eingegeben wird, können die Hard-Decision-Daten, die in dem Seitenpuffer PB der Flashspeichervorrichtung 100 zwischengespeichert sind, an den ECC 230 der Speichersteuerung 200 ausgegeben werden (S1300). Nachdem der erste Soft-Decision-Ausgabebefehl 41h an die Flashspeichervorrichtung 100 eingegeben worden ist, kann das R/B-Signal zu einem Low-Logikpegel wechseln. Wenn danach nach dem Ablauf einer gewünschten (oder alternativ vorher festgelegten) Zeit das R/B-Signal von einem Low-Logikpegel zu einem High-Logikpegel zurückkehrt, können die Hard-Decision-Daten von der Flashspeichervorrichtung 100 an das ECC 230 ausgegeben werden.
  • Der ECC 230 kann die Hard-Decision-Daten von der Flashspeichervorrichtung 100 empfangen, um eine Fehlerkorrekturoperation auf Grundlage von Hard-Decision-Daten durchzuführen (S2000). Danach bestimmt der ECC 230, ob alle Fehler in den ausgelesenen Daten von der Fehlerkorrekturoperation von S2000 korrigierbar sind (d. h. die Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert) (S2100).
  • In einer beispielhaften Ausführungsform kann die Flashspeichervorrichtung 100 eine Ausleseoperation mit Hard-Decision und eine normale Hard-Decision auf einer Seitenbasis durchführen. Eine Seite kann acht Abschnitte umfassen und ein Abschnitt kann 1 KB an Daten umfassen. Der ECC 230 kann eine Fehlerkorrekturoperation auf einer Abschnittsbasis durchführen. In eine Fehlerkorrekturoperation, die auf Hard-Decision-Daten basiert, kann die Anzahl von Fehlern, die in einem Abschnitt korrigierbar sind, als 60 definiert sein. Hierbei ist die Anzahl der korrigierbaren Fehler nicht auf eine spezielle Ausführungsform beschränkt, sondern kann gemäß verschiedenen Ausführungsformen variieren.
  • Wenn bestimmt wird, dass der Fehler von der Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert, korrigierbar ist (zum Beispiel wenn es weniger als 60 Fehler pro Abschnitt gibt) (S2100), wird die Fehlerkorrekturoperation beendet, ohne die Operation des Ausgebens der anderen Soft-Decision-Daten durchzuführen (d. h. des MSB der Zuverlässigkeitsdaten und des LSB der Zuverlässigkeitsdaten) (S2800). In diesem Fall wird die Erzeugung des zweiten und dritten Soft-Decision-Ausgabebefehls 41h und 4Bh ausgelassen. Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 60 Fehler pro Abschnitt gibt) (S2100), wird der zweite Soft-Decision-Ausgabebefehl 41h an die Flashspeichervorrichtung 100 übergeben.
  • Die Flashspeichervorrichtung 100 gibt den MSB der Zuverlässigkeitsdaten an den ECC 230 in Reaktion auf den zweiten Soft-Decision-Ausgabebefehl 41h aus (S1400). Der ECC 230 empfängt die Zuverlässigkeitsdaten von der Flashspeichervorrichtung 100. Der ECC 230 führt eine Fehlerkorrekturoperation unter Verwendung der Hard-Decision-Daten, die in S1300 übergeben worden sind, und des MSB der Zuverlässigkeitsdaten, der in S1400 übergeben worden ist, durch (S2200).
  • Die Fehlerkorrekturoperation, die in S2200 durchgeführt wird, entspricht im Wesentlichen einer Fehlerkorrekturoperation, die auf den Soft-Decision-Ausleseergebnissen mit einer Ausleseauflösung von 2 basiert. Im Vergleich mit der Fehlerkorrekturoperation, die auf den Hard-Decision-Ausleseergebnissen basiert, kann die Fehlerkorrekturoperation, die auf den Soft-Decision-Ausleseergebnissen mit einer Ausleseauflösung von 2 basiert, die Fehlerkorrekturgenauigkeit weiter erhöhen. Eine Erhöhung der Fehlerkorrekturgenauigkeit kann eine Erhöhung der Anzahl von Fehlern, die pro Abschnitt korrigierbar sind, bedeuten. In einer beispielhaften Ausführungsform kann die Anzahl von Fehlern, die pro Abschnitt korrigierbar sind, in der Fehlerkorrekturoperation, die auf den Soft-Decision-Ausleseergebnissen mit einer Ausleseauflösung von 2 basiert, als 80 definiert werden. Hierbei ist die Anzahl von korrigierbaren Fehlern nicht auf eine spezielle Ausführungsform beschränkt, sondern kann gemäß verschiedenen Ausführungsformen variieren.
  • Unterdessen entspricht der MSB der Zuverlässigkeitsdaten, die in S1400 ausgegeben werden, den Zuverlässigkeitsdaten, die in der Ausleseoperation mit 2-Bit-Soft-Decision wie in 6 illustriert ausgegeben werden. Also ist die Fehlerkorrekturoperation von S2200 im Wesentlichen identisch mit der Fehlerkorrekturoperation, die auf den Zuverlässigkeitsdaten basiert, die in der Ausleseoperation mit 2-Bit-Soft-Decision ausgegeben werden. Das heißt, dass die erfinderischen Konzepte eine Fehlerkorrekturoperation mit einer höheren Genauigkeit durchführen können, indem selektiv nur der MSB der Zuverlässigkeitsdaten von den Daten, die in einer Ausleseoperation mit Soft-Decision mit einer Ausleseauflösung von 3 erhalten worden sind, an den ECC 230 übergeben wird, ohne dabei eine Ausleseoperation mit Soft-Decision mit einer Ausleseauflösung von 2 durchzuführen.
  • Danach bestimmt der ECC 230, ob ein Fehler in den ausgelesenen Daten mit der Fehlerkorrekturoperation von S2200 korrigierbar ist (d. h. mit der Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert) (S2300).
  • Wenn bestimmt wird, dass der Fehler durch die Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zu Beispiel wenn es weniger als 80 Fehler pro Abschnitt gibt) (S2300), wird die Fehlerkorrekturoperation abgeschlossen, ohne die Operation des Ausgebens der anderen Soft-Decision-Daten (d. h. des LSB der Zuverlässigkeitsdaten) durchzuführen (S2800). In diesem Fall wird die Erzeugung des dritten Soft-Decision-ab4Bh ausgelassen. Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 80 Fehler pro Abschnitt gibt) (S2300), wird der dritte Soft-Decision-Ausgabebefehl 4Bh zur Ausgabe der letzten Soft-Decision-Daten (d. h. des LSB der Zuverlässigkeitsdaten) an die Flashspeichervorrichtung 100 übergeben. Die Flashspeichervorrichtung 100 gibt den LSB der Zuverlässigkeitsdaten an den ECC 230 in Reaktion auf den dritter Soft-Decision-Ausgabebefehl 4Bh aus (S1500). Der ECC 230 führt eine Fehlerkorrekturoperation mit Verwendung der Hard-Decision-Daten von S1300, des MSB der Zuverlässigkeitsdaten von S1400 und des LSB der Zuverlässigkeitsdaten von S1500 durch (S2400).
  • Der LSB der Zuverlässigkeitsdaten, die in S1500 ausgegeben werden, ist eine Unterteilung der Zuverlässigkeitsdaten, die in der Ausleseoperation mit 2-Bit-Soft-Decision, wie sie in den 6A bis 6E illustriert wird, ausgegeben werden, was den Zuverlässigkeitsdaten entspricht, die nur in der Ausleseoperation mit 3-Bit-Soft-Decision erhalten werden können. Folglich ist die Fehlerkorrekturoperation von S2400 im Wesentlichen identisch mit der Fehlerkorrekturoperation, die auf den Zuverlässigkeitsdaten basiert, die in der Ausleseoperation mit 3-Bit-Soft-Decision ausgegeben werden. Im Vergleich mit der Fehlerkorrekturoperation, die auf den Soft-Decision-Ausleseergebnissen mit einer Ausleseauflösung von 2 basiert, kann die Fehlerkorrekturoperation, die auf den Soft-Decision-Ausleseergebnissen mit einer Ausleseauflösung von 3 basiert, die Fehlerkorrekturgenauigkeit weiter erhöhen. In einer beispielhaften Ausführungsform kann die Anzahl von Fehlern, die pro Abschnitt korrigierbar sind, in der Fehlerkorrekturoperation, die auf den Soft-Decision-Ausleseergebnissen mit einer Ausleseauflösung von 3 basiert, als 110 definiert werden. Hierbei ist die Anzahl der korrigierbaren Fehler nicht auf eine spezielle Ausführungsform beschränkt, sondern kann gemäß verschiedenen Ausführungsformen variieren.
  • Danach bestimmt der ECC 230, ob ein Fehler in den ausgelesenen Daten mit der Fehlerkorrekturoperation von S2400 korrigierbar ist (d. h. mit der Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert) (S2500). Wenn bestimmt wird, dass der Fehler durch die Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es weniger als 110 Fehler pro Abschnitt gibt) (S2500), wird die Fehlerkorrekturoperation abgeschlossen (S2700). Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 110 Fehler pro Abschnitt gibt) (S2500), wird die Fehlerkorrekturoperation als gescheitert bestimmt (S2600).
  • 7B und 9 sind Diagramme, die ein Ausleseverfahren mit 2-Bit-Soft-Decision und eine Befehlsfolge, die diesem entspricht, illustrieren. 9 illustriert eine Befehlsfolge, die einem Ausleseverfahren mit 2-Bit-Soft-Decision entspricht.
  • Die Diagramme von 7B und 9 unterscheiden sich von den Diagrammen von 7A und 8 hinsichtlich der Ausleseauflösung, die in der Ausleseoperation mit Soft-Decision angewendet wird. Die Differenz in der Ausleseauflösung kann der Differenz in der Anzahl von Bits der Zuverlässigkeitsdaten entsprechen, die in der Ausleseoperation mit Soft-Decision erzeugt werden.
  • 7B und 9 verzichten auf die Illustration einer Operation des Auslesens/Ausgebens des LSB der Zuverlässigkeitsdaten und die anderen Konfigurationen sind im Wesentlichen identisch mit denjenigen von 7A und 8. Zum Beispiel sind die Information über die Ausleseauflösung 3Bh, die verwendet wird, um die Anzahl von Bits der Zuverlässigkeitsdaten zu bestimmen, und der Befehl 4Ah zum Ausgaben der letzten Zuverlässigkeitsdaten in 8 und 9 unterschiedlich, was der Differenz hinsichtlich der Ausleseauflösung Rechnung trägt. Allerdings sind die Konfigurationen der anderen Befehle, die in 9 illustriert werden, und die Daten-Auslese-/Ausgabeoperationen gemäß dem jeweiligen Befehl die gleichen wie diejenigen von 8. Deshalb wird eine Beschreibung der gleichen Konfigurationen zum Zwecke der Prägnanz ausgelassen.
  • In den 8 und 9 können die Hard-Decision-Daten, der MSB der Zuverlässigkeitsdaten und der LSB der Zuverlässigkeitsdaten, welche der Reihe nach von der Flashspeichervorrichtung 100 an den ECC 230 übergeben werden, in schrittweisen Fehlerkorrekturoperationen durch den ECC 230 verwendet werden. Die Ergebnisse der schrittweisen Fehlerkorrekturoperationen können verwendet werden, um zu bestimmen, ob das nächste Bit der Zuverlässigkeitsdaten für Fehlerkorrektur verwendet werden soll. Wenn zum Beispiel der Fehler durch die Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert, korrigierbar ist, wird die Fehlerkorrekturoperation abgeschlossen und eine Operation des Ausgebens der Soft-Decision-Daten, die auf den MSB der Zuverlässigkeitsdaten folgen, und eine Fehlerkorrekturoperation, die diese verwendet, werden ausgelassen. Zu diesem Zweck erzeugt nach Abschluss der Fehlerkorrektur die Speichersteuerung 200 der erfinderischen Konzepte nicht den Soft-Decision-Ausgabebefehl zum Ausgeben der nächsten Soft-Decision-Daten. Folglich kann nach Abschluss der Fehlerkorrektur durch den ECC 230 die Operation des Ausgebens der Soft-Decision-Daten von der Flashspeichervorrichtung 100 ausgelassen oder unterbrochen werden. Entsprechend können die Verwaltungsdaten der Auslese-/Ausgabeoperation an den Daten, die zur Fehlerkorrektur verwendet werden, reduziert werden und die Zuverlässigkeit der Daten, die von der Flashspeichervorrichtung 100 ausgelesen werden, kann verbessert werden.
  • Es sind die Fälle illustriert worden, in denen die Auflösung der Ausleseoperation mit Soft-Decision 2 oder 3 ist. Allerdings ist das lediglich ein Beispiel der erfinderischen Konzepte. Die Ausleseauflösung, die auf die Ausleseoperation mit Soft-Decision anwendbar ist, ist nicht auf eine spezielle Ausführungsform beschränkt, sondern kann gemäß verschiedenen Ausführungsformen variieren. Auch kann die Anzahl der Bits der Zuverlässigkeitsdaten, die in den Soft-Decision-Daten eingeschlossen sind, ebenfalls gemäß einer Variation in der Ausleseauflösung der Ausleseoperation mit Soft-Decision variieren.
  • 10A und 10B sind Flussdiagramme, die Ausleseverfahren mit Soft-Decision und Fehlerkorrekturverfahren, die diese verwenden, gemäß einer zweiten beispielhaften Ausführungsform der erfinderischen Konzepte illustrieren. 10A illustriert ein Ausleseverfahren mit 3-Bit-Soft-Decision und 10B illustriert ein Ausleseverfahren mit 2-Bit-Soft-Decision.
  • Die Ausleseverfahren mit Soft-Decision von 10A und 10B unterschieden sich von den Ausleseverfahren mit Soft-Decision von 7A und 7B hinsichtlich der Auslesezeiten der Hard-Decision-Daten, des MSB der Zuverlässigkeitsdaten und des LSB der Zuverlässigkeitsdaten in der Ausleseoperation mit Soft-Decision. Allerdings kann das Ausleseverfahren mit Soft-Decision von 10A und 10B implementiert werden, indem die Zeitverlaufsdiagramme von 8 und 9 angewendet werden, sogar ohne eine zusätzliche Befehlsfolge zu konstruieren.
  • Bezug nehmend auf 8 und 10A liest die Flashspeichervorrichtung 100 Hard-Decision-Daten von den Speicherzellen der entsprechenden Seite in Reaktion auf den Soft-Decision-Auslesebefehl 00h, die Adresse Addr und die Information über die Ausleseauflösung 3Ch aus, die von der Speichersteuerung 200 erzeugt werden (S3000). In diesem Fall können die Operationen des Auslesens des MSB und des LSB der Zuverlässigkeitsdaten in einer geeigneten Terminierung unter der Steuerung der Steuerlogik 150 koordiniert werden (siehe S3200 und S3400).
  • Die Flashspeichervorrichtung 100 überträgt die Hard-Decision-Daten an den ECC 230 in Reaktion auf den Soft-Decision-Ausgabebefehl 41h, der von der Speichersteuerung 200 erzeugt wird (S3100). In einer beispielhaften Ausführungsform kann die FlashSpeichervorrichtung 100 das Auslesen des MSB der Zuverlässigkeitsdaten fortsetzen, nachdem die Hard-Decision-Daten an den ECC 230 übertragen worden sind, sogar wenn ein zusätzlicher Soft-Decision-Auslesebefehl nicht eingegeben wird (S3200). Die Operation des Auslesens des MSB der Zuverlässigkeitsdaten entspricht der Koordinierungsoperation, die von der Steuerlogik 150 in Reaktion auf den Soft-Decision-Auslesebefehl 00h, die Adresse Addr und die Information über die Ausleseauflösung 3Ch, die der Flashspeichervorrichtung 100 in S3000 übergeben werden, durchgeführt wird.
  • Der ECC 230 empfängt die Hard-Decision-Daten von der Flashspeichervorrichtung 100, um eine Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert, durchzuführen (S4000). Danach bestimmt der ECC 230, ob ein Fehler in den ausgelesenen Daten von der Fehlerkorrekturoperation von S4000 korrigierbar ist (d. h. die Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert) (S4100). Wenn bestimmt wird, dass der Fehler von dem Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert, korrigierbar ist (zum Beispiel wenn es weniger als 60 Fehler pro Abschnitt gibt) (S4100), wird die Fehlerkorrekturoperation abgeschlossen, ohne die Operation des Auslesens/Ausgebens der anderen Soft-Decision-Daten (d. h. des MSB der Zuverlässigkeitsdaten und des LSB der Zuverlässigkeitsdaten) durchzuführen (S4800). Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 60 Fehler pro Abschnitt gibt) (S4100), wird der zweite Soft-Decision-Ausgabebefehl 41h zur Ausgabe des MSB der Zuverlässigkeitsdaten an die Flashspeichervorrichtung 100 übergeben.
  • Die Flashspeichervorrichtung 100 überträgt den MSB der Zuverlässigkeitsdaten an den ECC 230 in Reaktion auf den zweiten Soft-Decision-Ausgabebefehl 41h, der von der Speichersteuerung 200 erzeugt wird (S3300). In einer beispielhaften Ausführungsform kann die Flashspeichervorrichtung 100 das Auslesen des LSB der Zuverlässigkeitsdaten fortsetzen, nachdem der MSB der Zuverlässigkeitsdaten an den ECC 230 übertragen worden ist, sogar wenn ein zusätzlicher Soft-Decision-Auslesebefehl nicht eingegeben wird (S3400). Die Operation des Auslesens des LSB der Zuverlässigkeitsdaten entspricht der Koordinierungsoperation, die von der Steuerlogik 150 in Reaktion auf den Soft-Decision-Auslesebefehl 00h, die Adresse Addr und die Information über die Ausleseauflösung 3Ch, die der Flashspeichervorrichtung 100 in S3000 übergeben werden, durchgeführt wird.
  • Der ECC 230 führt einer Fehlerkorrekturoperation durch, indem er die Hard-Decision-Daten, die in S3100 übergeben worden sind, und den MSB der Zuverlässigkeitsdaten, der in S3300 übergeben worden ist, verwendet (S4200). Der MSB der Zuverlässigkeitsdaten, der in S3300 ausgegeben worden ist, entspricht den Zuverlässigkeitsdaten, die in der Ausleseoperation mit 2-Bit-Soft-Decision ausgegeben werden. Folglich ist die Fehlerkorrekturoperation von S4200 im Wesentlichen identisch mit der Fehlerkorrekturoperation, die auf den Zuverlässigkeitsdaten basiert, die in der Ausleseoperation mit 2-Bit-Soft-Decision ausgegeben werden. Das heißt, dass die erfinderischen Konzepte eine Fehlerkorrekturoperation mit einer höheren Genauigkeit durchführen können, indem selektiv nur der MSB der Zuverlässigkeitsdaten von den Daten, die in einer Ausleseoperation mit Soft-Decision mit einer Ausleseauflösung von 3 erhalten worden sind, an den ECC 230 übergeben wird, ohne dabei eine Ausleseoperation mit Soft-Decision mit einer Ausleseauflösung von 2 durchzuführen.
  • Danach bestimmt der ECC 230, ob ein Fehler in den ausgelesenen Daten mit der Fehlerkorrekturoperation von S4200 korrigierbar ist (d. h. mit der Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert) (S4300). Wenn bestimmt wird, dass der Fehler durch die Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es weniger als 80 Fehler pro Abschnitt gibt) (S4300), wird die Fehlerkorrekturoperation abgeschlossen, ohne die Operation des Auslesens/Ausgebens der anderen Soft-Decision-Daten (d. h. des LSB der Zuverlässigkeitsdaten) durchzuführen (S4800). Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 80 Fehler pro Abschnitt gibt) (S4300), wird der dritte Soft-Decision-Ausgabebefehl 4Bh zur Ausgabe der letzten Soft-Decision-Daten (d. h. des LSB der Zuverlässigkeitsdaten) an die Flashspeichervorrichtung 100 übergeben.
  • Die Flashspeichervorrichtung 100 überträgt den LSB der Zuverlässigkeitsdaten an den ECC 230 in Reaktion auf den dritten Soft-Decision-Ausgabebefehl 4Bh, der von der Speichersteuerung 2000 erzeugt wird (S3500). Der ECC 230 führt eine Fehlerkorrekturoperation mit Verwendung der Hard-Decision-Daten, die in S3100 übergeben werden, des MSB der Zuverlässigkeitsdaten, der in S3300 übergeben wird, und des LSB der Zuverlässigkeitsdaten, der in S3500 übergeben wird, aus (S4400). Der LSB der Zuverlässigkeitsdaten, die in S3500 ausgegeben werden, ist eine Unterteilung der Zuverlässigkeitsdaten, die in der Ausleseoperation mi 2-Bit-Soft-Decision, wie sie in den 6A bis 6E illustriert wird, ausgegeben werden, was den Zuverlässigkeitsdaten entspricht, die nur in der Ausleseoperation mit 3-Bit-Soft-Decision erhalten werden können. Folglich ist die Fehlerkorrekturoperation von S4400 im Wesentlichen identisch mit der Fehlerkorrekturoperation, die auf den Zuverlässigkeitsdaten basiert, die in der Ausleseoperation mit 3-Bit-Soft-Decision ausgegeben werden.
  • Danach bestimmt der ECC 230, ab ein Fehler in den ausgelesenen Daten mit der Fehlerkorrekturoperation von S4400 korrigierbar ist (d. h. mit der Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert) (S4500). Wenn bestimmt wird, dass der Fehler durch die Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es weniger als 110 Fehler pro Abschnitt gibt) (S4500), wird die Fehlerkorrekturoperation abgeschlossen (S4700). Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 110 Fehler pro Abschnitt gibt) (S4500), wird die Fehlerkorrekturoperation als gescheitert bestimmt (S4600).
  • 10B und 9 illustrieren ein Ausleseverfahren mit 2-Bit-Soft-Decision und eine Befehlsfolge, die diesem entspricht. Die Diagramme von 10B und 9 unterscheiden sich von den Diagrammen von 10A und 8 hinsichtlich der Ausleseauflösung, die in einer Ausleseoperation mit Soft-Decision angewendet wird. 10B und 9 verzichten auf die Illustration der Operation des Auslesens/Ausgebens des LSB der Zuverlässigkeitsdaten. Die anderen Konfigurationen sind identisch mit denjenigen von 10A und 8. Deshalb wird eine Beschreibung der gleichen Konfigurationen zum Zwecke der Prägnanz ausgelassen.
  • 11A, 11B und 12 sind Diagramme, die Ausleseverfahren mit Soft-Decision und Fehlerkorrekturverfahren, die diese verwenden, gemäß einer dritten beispielhaften Ausführungsform der erfinderischen Konzepte illustrieren. 11A und 12 illustrieren ein Ausleseverfahren mit 3-Bit-Soft-Decision und 11B illustriert ein Ausleseverfahren mit 2-Bit-Soft-Decision.
  • Bezug nehmend auf 11A und 12 liest die Flashspeichervorrichtung 100 Hard-Decision-Daten von den Speicherzellen der entsprechenden Seite in Reaktion auf den Soft-Decision-Auslesebefehl 00h, die Adresse Addr und die Information über die Ausleseauflösung 3Ch, die von der Speichersteuerung 200 erzeugt werden (S5000). Danach gibt in Reaktion auf den ersten Soft-Decision-Ausgabebefehl 41h, der von der Speichersteuerung erzeugt wird, die FlashSpeichervorrichtung 100 die Hard-Decision-Daten an den ECC 230 aus und liest den MSB der Zuverlässigkeitsdaten (S5100). Das heißt, dass die Operation des Ausgebens der Hard-Decision-Daten und die Operation des Auslesens des MSB der Zuverlässigkeitsdaten gleichzeitig (oder parallel) durchgeführt werden. Die Operation des Auslesens der Hard-Decision-Daten und die Operation des Auslesens des MSB der Zuverlässigkeitsdaten kann in einer geeigneten Terminierung durch die Steuerung der Steuerungslogik 150 geplant werden in Reaktion auf den Soft-Decision-Auslesebefehl 00h, die Adresse Addr und die Information über die Ausleseauflösung 3Ch, die von der Speichersteuerung 200 erzeugt werden, umn eine Ausleseoperation mit Soft-Decision durchzuführen. Der Soft-Decision-Auslesebefehl gemäß den erfinderischen Konzepten kann einen Soft-Decision-Auslesebefehl und einen oder mehrere Soft-Decision-Auslesebefehle einschließe. Jeder der Soft-Decision-Auslesebefehle kann getrennt bezogen auf das jeweilige Bit (z. B. MSB und LSB) der Zuverlässigkeitsdaten und die Hard-Decision-Daten erzeugt werden.
  • Wie in 12 illustriert wird, kann jeder Seitenpuffer PB, der der jeweiligen Bitleitung (dem jeweiligen Bitleitungspaar) entspricht, eine Mehrzahl von Auffangregistern S, U, M L und C aufweisen. Das Auffangregister S ist ein Abtastauffangregister, welches Daten von der entsprechenden Bitleitung (dem entsprechen Bitleitungspaar) liest/zwischenspeichert. Das Auffangregister C ist ein Cache-Auffangregister, dass vorübergehend Daten, die von einem externen Gerät empfangen werden, und Daten, die von dem Seitenpuffer PB an ein externes Gerät ausgegeben werden, speichert. Das Auffangregister U, das Auffangregister M und das Auffangregister L sind ein oberes Auffangregister, ein mittleres Auffangregister bzw. ein unteres Auffangregister, die die Daten zwischenspeichern können, die von dem Abtastauffangregister S oder dem Auffangregister empfangen werden, die an das Cache-Auffangregister C zu übergeben sind. Zum Beispiel können die Daten, die in dem Abtastauffangregister S zwischengespeichert werden, zu einem von dem oberen Auffangregister U, dem mittleren Auffangregister M und dem unteren Auffangregister L abgeladen werden. Die Daten, die in dem oberen Auffangregister U, dem mittleren Auffangregister M und dem unteren Auffangregister L gespeichert werden, können an ein externes Gerät ausgegeben werden, nachdem sie vorübergehend in dem Cache-Auffangregister gespeichert worden sind. Diese Konfiguration der Auffangregister ist nur ein Beispiel der erfinderischen Konzepte. Die Anzahl der Auffangregister in jedem Seitenpuffer PB ist nicht beschränkt auf eine spezielle Ausführungsform, sondern kann gemäß verschiedenen Ausführungsformen variieren.
  • In einer beispielhaften Ausführungsform können die Hard-Decision-Daten in dem unteren Auffangregister L zwischengespeichert werden, nachdem sie durch das Abtastauffangregister in S5000 ausgelesen worden sind. Die Hard-Decision-Daten, die in dem unteren Auffangregister L zwischengespeichert werden, werden an das Cache-Auffangregister C in S5100 vor der Ausgabe an den ECC 230 übertragen. Alternativ kann der MSB der Zuverlässigkeitsdaten in dem mittleren Auffangregister M zwischengespeichert werden, nachdem er durch das Abtastauffangregister S ausgelesen worden ist.
  • Der ECC 230 empfängt die Hard-Decision-Daten von der Flashspeichervorrichtung 100, um eine Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert, durchzuführen (S6000). Danach bestimmt der ECC 230, ob ein Fehler in den ausgelesenen Daten von der Fehlerkorrekturoperation von S6000 korrigierbar ist (d. h. die Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert) (S6100).
  • Wenn bestimmt wird, dass der Fehler von dem Fehlerkorrekturoperation, das auf den Hard-Decision-Daten basiert, korrigierbar ist (zum Beispiel wenn es weniger als 60 Fehler pro Abschnitt gibt) (S4100), wird die Fehlerkorrekturoperation abgeschlossen, ohne die Operation des Auslesens/Ausgebens der anderen Soft-Decision-Daten (d. h. des Ausgebens des MSB der Zuverlässigkeitsdaten und des Auslesens und Ausgebens des LSB der Zuverlässigkeitsdaten) durchzuführen (S6800). Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf den Hard-Decision-Daten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 60 Fehler pro Abschnitt gibt) (S6100), wird der zweite Soft-Decision-Ausgabebefehl 41h an die Flashspeichervorrichtung 100 übergeben. In Reaktion auf den zweiten Soft-Decision-Ausgabebefehl 41h gibt die Flashspeichervorrichtung 100 den MSB der Zuverlässigkeitsdaten an den ECC 230 in S5100 aus und liest den LSB der Zuverlässigkeitsdaten aus (S5200). Das heißt, dass die Operation des Ausgebens des MSB der Zuverlässigkeitsdaten und die Operation des Auslesens des LSB der Zuverlässigkeitsdaten gleichzeitig (oder parallel) durchgeführt werden. Die Operation des Auslesens des LSB der Zuverlässigkeitsdaten kann in einer geeigneten Terminierung durch die Steuerung der Steuerungslogik 150 koordiniert werden in Reaktion auf den Soft-Decision-Auslesebefehl 00h, die Adresse Addr und die Information über die Ausleseauflösung 3Ch.
  • Hierbei wird der MSB der Zuverlässigkeitsdaten, die in dem mittleren Auffangregister M zwischengespeichert ist, an das Cache-Auffangregister C vor der Ausgabe übertragen und der LSB der Zuverlässigkeitsdaten wird in dem oberen Auffangregister U zwischengespeichert, nachdem er durch das Abtastauffangregister S ausgelesen worden ist.
  • Der ECC 230 führt eine Fehlerkorrekturoperation durch, indem er die Hard-Decision-Daten, die in S5100 übergeben worden sind, und den MSB der Zuverlässigkeitsdaten, der in S5200 übergeben worden ist, verwendet (S6200). Die Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert, ist im Wesentlichen identisch mit der Fehlerkorrekturoperation, die auf den Zuverlässigkeitsdaten basiert, die in der Ausleseoperation mit 2-Bit-Soft-Decision ausgegeben werden. Das heißt, dass die erfinderischen Konzepte eine Fehlerkorrekturoperation mit einer höheren Genauigkeit durchführen können, indem selektiv nur der MSB der Zuverlässigkeitsdaten von den Daten, die in einer Ausleseoperation mit Soft-Decision mit einer Ausleseauflösung von 3 erhalten worden sind, an den ECC 230 übergeben wird, ohne dabei eine Ausleseoperation mit Soft-Decision mit einer Ausleseauflösung von 2 durchzuführen.
  • Danach bestimmt der ECC 230, ob ein Fehler in den ausgelesenen Daten mit der Fehlerkorrekturoperation von S6200 korrigierbar ist (d. h. mit der Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert) (S6300). Wenn bestimmt wird, dass der Fehler durch die Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zu Beispiel wenn es weniger als 80 Fehler pro Abschnitt gibt) (S6300), wird die Fehlerkorrekturoperation abgeschlossen, ohne die Operation des Ausgebens der anderen Soft-Decision-Daten (d. h. des LSB der Zuverlässigkeitsdaten) durchzuführen (S6800). Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf dem MSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 80 Fehler pro Abschnitt gibt) (S6300), wird der dritte Soft-Decision-Ausgabebefehl (41h oder 4Bh in 13) zur Ausgabe der letzten Soft-Decision-Daten an die Flashspeichervorrichtung 100 übergeben. Hierbei wird der LSB der Zuverlässigkeitsdaten, der in dem oberen Auffangregister U zwischengespeichert ist, an das Cache-Auffangregister C vor der Ausgabe übertragen.
  • Die Flashspeichervorrichtung 100 gibt den LSB der Zuverlässigkeitsdaten an den ECC 230 aus in Reaktion auf den dritten Soft-Decision-Ausgabebefehl (41h oder 4Bh in 13) (S5300). Der ECC 230 führt eine Fehlerkorrekturoperation unter Verwendung der Hard-Decision-Daten, die in S5100 übergeben worden sind, des MSB der Zuverlässigkeitsdaten, der in S5200 übergeben worden ist, und des LSB der Zuverlässigkeitsdaten, der in S5300 übergeben worden ist, aus (S6400). Der LSB der Zuverlässigkeitsdaten, der in S5300 ausgegeben wird, ist eine Unterteilung der Zuverlässigkeitsdaten, die in der Ausleseoperation mi 2-Bit-Soft-Decision ausgegeben werden, was den Zuverlässigkeitsdaten entspricht, die nur in einer Ausleseoperation mit 3-Bit-Soft-Decision erhalten werden können. Folglich ist die Fehlerkorrekturoperation von S6400 im Wesentlichen identisch mit der Fehlerkorrekturoperation, die auf den Zuverlässigkeitsdaten basiert, die in der Ausleseoperation mit 3-Bit-Soft-Decision ausgegeben werden.
  • Danach bestimmt der ECC 230, ob ein Fehler in den ausgelesenen Daten mit der Fehlerkorrekturoperation von S6400 korrigierbar ist (d. h. mit der Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert) (S6500). Wenn bestimmt wird, dass der Fehler durch die Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es weniger als 110 Fehler pro Abschnitt gibt) (S6500), wird die Fehlerkorrekturoperation abgeschlossen (S6700). Wenn bestimmt wird, dass der Fehler nicht von der Fehlerkorrekturoperation, die auf dem LSB der Zuverlässigkeitsdaten basiert, korrigierbar ist (zum Beispiel wenn es mehr als 110 Fehler pro Abschnitt gibt) (S6500), wird die Fehlerkorrekturoperation als gescheitert bestimmt (S6600).
  • 11B illustriert ein Ausleseverfahren mit 2-Bit-Soft-Decision. Das Diagramm von 11B unterscheidet sich von dem Diagramm von 11A hinsichtlich der Ausleseauflösung, die in einer Ausleseoperation mit Soft-Decision angewendet wird. 11B verzichtet auf die Illustration der Operation des Auslesens/Ausgebens des LSB der Zuverlässigkeitsdaten. Die anderen Konfigurationen sind im Wesentlichen identisch mit denjenigen von 11A. Deshalb wird eine Beschreibung der gleichen Konfigurationen zum Zwecke der Prägnanz ausgelassen.
  • 13 ist ein Zeitverlaufsdiagramm, das eine Befehlsfolge eines Cache-Auslesemodus illustriert, der dem Ausleseverfahren mit 3-Bit-Soft-Decision von 11A entspricht, und 14 ist ein Zeitverlaufsdiagramm, das eine Befehlsfolge eines Cache-Auslesemodus illustriert, der dem Ausleseverfahren mit 2-Bit-Soft-Decision von 11B entspricht.
  • Wenn – Bezug nehmend auf 13 und 14 – eine Ausleseoperation mit Soft-Decision in einer Pipeline-Art durchgeführt wird, sind die grundsätzlichen Konfigurationen des Soft-Decision-Auslesebefehl mit dem Soft-Decision-Auslesebefehl 00h und der Information über die Ausleseauflösung 3Ch und 3Bh dieselben wie diejenigen, die in 8 und 9 illustriert sind. Außerdem ist die Konfiguration zur Bestimmung der Anzahl der Bits der Zuverlässigkeitsdaten durch die Verwendung der Information über die Ausleseauflösung des Soft-Decision-Auslesebefehls dieselbe wie diejenige, die in 8 und 9 illustriert wird.
  • Das Zeitverlaufsdiagramm von 13 unterscheidet sich von dem Zeitverlaufsdiagramm von 14 hinsichtlich der Ausleseauflösung, die in der Ausleseoperation mit Soft-Decision angewendet wird. Der Unterschied in der Ausleseauflösung kann dem Unterschied in der Anzahl von Bits der Zuverlässigkeitsdaten entsprechen, die in der Ausleseoperation mit Soft-Decision erzeugt werden. Das bedeutet, dass es Unterschiede zwischen 13 und 14 hinsichtlich der Information über die Ausleseauflösung 3Ch und 3Bh, die verwendet wird, um die Anzahl der Bits der Zuverlässigkeitsdaten zu bestimmen, und der Befehle 4Bh und 40h zur Ausgabe der letzten Zuverlässigkeitsdaten gibt. Allerdings sind die Konfigurationen der anderen Befehle und die Datenausleseoperationen/Datenausgabeoperationen gemäß dem jeweiligen Befehl dieselben in 13 und 14. Folglich wird das Zeitablaufdiagramm, das dem Ausleseverfahren mit 3-Bit-Soft-Decision von 13 entspricht, beispielhaft erklärt, um eine Ausleseoperation mit Soft-Decision, die auf einem Cache-Ausleseschema basiert, zu beschreiben. Eine Beschreibung einer Überschneidung von 13 und 14 wird also zum Zwecke der Prägnanz ausgelassen.
  • Bezug nehmend auf 11A und 13 liest die Flashspeichervorrichtung 100 Hard-Decision-Daten von den Speicherzellen der entsprechenden Seite in Reaktion auf die Soft-Decision-Auslesebefehle 00h, die Adresse Addr und die Information über die Ausleseauflösung 3Ch, die von der Speichersteuerung 200 erzeugt werden, aus. Immer wenn danach der entsprechende der Soft-Decision-Ausgabebefehle 00h von der Speichersteuerung 200 erzeugt wird, kann die Flashspeicbervorrichtung 100 gleichzeitig eine Operation des Ausgebens der vorherigen ausgelesen Daten (z. B. der Hard-Decision-Daten) an den ECC 230 und eine Operation des Auslesens der nächsten Soft-Decision-Daten (z. B. des MSB der Zuverlässigkeitsdaten) durchführen. Folglich können in der Ausleseoperation mit Soft-Decision die Operation des Auslesens von Daten und die Operation des Ausgebens der ausgelesenen Daten in einer Pipeline-Art durchgeführt werden.
  • Wenn hierbei die Information über die Ausleseauflösung so eingestellt wird, dass sie die Anzahl von Bits der Zuverlässigkeitsdaten, die einer Mehrzahl von Seiten entsprechen, darstellt, können die Operation des Ausgebens der letzten Soft-Decision-Daten der M-ten Seite und die Operation des Auslesens der Hard-Decision-Daten der (M + 1)-ten Seiten gleichzeitig durchgeführt werden. Hierbei ist die Anzahl von Bits der Zuverlässigkeitsdaten, die von der Information über die Ausleseauflösung eingestellt wird, nicht beschränkt auf die Anzahl von Bits der Zuverlässigkeitsdaten, die einer speziellen Seite entsprechen, sondern kann gemäß verschiedenen Ausführungsformen variieren.
  • In 13 und 14 können die Hard-Decision-Daten, der MSB der Zuverlässigkeitsdaten und der LSB der Zuverlässigkeitsdaten, die der Reihe nach von der Flashspeichervorrichtung 100 an den ECC 230 in einer Pipeline-Art übergeben werden, in schrittweisen Fehlerkorrekturoperationen durch den ECC 230 verwendet werden. Die Ergebnisse der schrittweisen Fehlerkorrekturoperationen können verwendet werden, um zu bestimmen, ob das nächste Bit der Zuverlässigkeitsdaten zur Fehlerkorrektur verwendet werden soll. Wenn zum Beispiel der Fehler durch den MSB der Zuverlässigkeitsdaten korrigiert wird, wird die Fehlerkorrekturoperation abgeschlossen und eine Operation des Ausgebens der Soft-Decision-Daten an dem Bit, der auf den MSB der Zuverlässigkeitsdaten folgt, und eine Fehlerkorrekturoperation, die diesen verwendet, wird ausgelassen oder abgebrochen. Für diesen Zweck erzeugt die Speichersteuerung 200 keinen Soft-Decision-Ausgabebefehl oder erzeugt ein Unterbrechungssignal Intr, so dass der Datenbit, der auf den Bit der Soft-Decision-Daten, der in der aktuellen Fehlerkorrekturoperation verwendet wird, folgt, nicht von der Flashspeichervorrichtung 100 an den ECC 230 ausgegeben wird. Folglich kann nach Abschluss der Fehlerkorrekturoperation durch den ECC 230 die Operation des Ausgebens der Soft-Decision-Daten von der Flashspeichervorrichtung 100 ausgelassen oder unterbrochen werden. Entsprechend können die Zusatzdaten der Auslese-/Ausgabeoperation an den Daten, die für Fehlerkorrektur verwendet werden, reduziert werden und die Zuverlässigkeit der Daten, die von der Flashspeichervorrichtung 100 ausgelesen werden, kann verbessert werden.
  • 15 bis 17 sind Diagrammbeispiele einer Datenausgabefolge und einer Auslesefolge eines Seitenpuffers in einer Ausleseoperation gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte. In 15 bis 17 stellt eine Zahl in [] die Nummer der jeweiligen der 7 Ausleseoperationen, die in der Ausleseoperation mit Soft-Decision eingeschlossen sind, dar. Außerdem stellt eine Ziffer 0 die Ausgabefolge der Daten, die durch die Ausleseoperation mit Soft-Decision erhalten werden, dar.
  • Wenn die Flashspeichervorrichtung 100 eine Ausleseoperation mit 3-Bit-Soft-Decision durchführt, kann eine Ausleseoperation sieben Mal durchgeführt werden und 1-Bit-Hard-Decision-Daten und 2-Bit-Zuverlässigkeitsdaten können in jedem Seitenpuffer PB zwischengespeichert werden. In einer beispielhaften Ausführungsform können die 2-Bit-Zuverlässigkeitsdaten durch den Seitenpuffer PB kodiert werden.
  • Bezug nehmend auf 15 kann die Flashspeichervorrichtung 100 die Auslesefolge gemäß der ausgegebenen Datenfolge bestimmen. Zum Beispiel kann die Flashspeichervorrichtung 100 zuerst die Hard-Decision-Daten auslesen und dann den MSB der Zuverlässigkeitsdaten und den LSB der Zuverlässigkeitsdaten der Reihe nach auslesen.
  • In einer beispielhaften Ausführungsform können die Hard-Decision-Daten zuerst ausgelesen werden, indem eine Spannung V4 angelegt wird (siehe [1]). Die ersten ausgelesenen Hard-Decision-Daten können zuerst an den ECC 230 in Reaktion auf den ersten Soft-Decision-Ausgabebefehl, der von der Speichersteuerung 200 gegeben wird (siehe o, 1), ausgegeben werden.
  • Die Hard-Decision-Daten, die dem ECC 230 übergeben werden, können in der Fehlerkorrekturoperation des ersten Schritts unter den schrittweisen Fehlerkorrekturoperationen verwendet werden. Als Ergebnis der Fehlerkorrekturoperation des ersten Schritts wird die Fehlerkorrekturoperation abgeschlossen und die Operation des Auslesens/Ausgebens des MSB und des LSB der Zuverlässigkeitsdaten wird ausgelassen, wenn der Fehler mit den Hard-Decision-Daten korrigierbar ist. Wenn der Fehler nicht mit den Hard-Decision-Daten korrigierbar ist, erzeugt die Speichersteuerung 200 den Soft-Decision-Ausgabebefehl an die Flashspeichervorrichtung 100, um die Flashspeichervorrichtung 100 zu veranlassen, den MSB der Zuverlässigkeitsdaten auszugeben.
  • Der MSB der Zuverlässigkeitsdaten kann als das Kodierergebnis von zwei Daten erzeugt werden (d. h. die zweiten ausgelesenen Daten und die dritten ausgelesenen Daten), indem eine Spannung V2 und eine Spannung V6 angelegt werden (siehe [2] und [3]). Der kodierte MSB der Zuverlässigkeitsdaten kann als zweites an den ECC 230 in Reaktion auf den zweiten Soft-Decision-Ausgabebefehl, der von der Speichersteuerung 200 gegeben wird (siehe o, 2), ausgegeben werden. Der MSB der Zuverlässigkeitsdaten, der an den ECC 230 übergeben wird, kann in der Fehlerkorrekturoperation des zweiten Schritts unter den schrittweisen Fehlerkorrekturoperation verwendet werden. Als Ergebnis der Fehlerkorrekturoperation des zweiten Schritts wird die Fehlerkorrekturoperation abgeschlossen und die Operation des Auslesens/Ausgebens des MSB der Zuverlässigkeitsdaten wird ausgelassen, wenn der Fehler mit dem MSB der Zuverlässigkeitsdaten korrigierbar ist. Wenn der Fehler nicht mit dem MSB der Zuverlässigkeitsdaten korrigierbar ist, erzeugt die Speichersteuerung 200 den dritten Soft-Decision-Ausgabebefehl an die Flashspeichervorrichtung 100, um die Flashspeichervorrichtung 100 zu veranlassen, den LSB der Zuverlässigkeitsdaten auszugeben.
  • Der MSB der Zuverlässigkeitsdaten kann als das Kodierergebnis von vier Daten erzeugt werden (d. h. der vierten bis siebenten ausgelesenen Daten), indem Spannungen V1, V3, V5 und V7 angelegt werden (siehe [4] bis [7]). Der kodierte LSB der Zuverlässigkeitsdaten kann als drittes an den ECC 230 in Reaktion auf den dritten Soft-Decision-Ausgabebefehl, der von der Speichersteuerung 200 gegeben wird (siehe o, 3), ausgegeben werden. Der LSB der Zuverlässigkeitsdaten, der an den ECC 230 übergeben wird, kann in der Fehlerkorrekturoperation des dritten Schritts unter den schrittweisen Fehlerkorrekturoperationen verwendet werden. Als Ergebnis der Fehlerkorrekturoperation des dritten Schritts bestimmt die Speichersteuerung 200, dass die Fehlerkorrekturoperation gescheitert ist, wenn der Fehler nicht mit dem LSB der Zuverlässigkeitsdaten korrigierbar ist. Wenn der Fehler mit dem LSB der Zuverlässigkeitsdaten korrigierbar ist, wird die Fehlerkorrekturoperation abgeschlossen.
  • 16 und 17 sind Diagramme einer Datenausgabefolge und einer Auslesefolge in einer Ausleseoperation mit Soft-Decision einer Flashspeichervorrichtungs 100 gemäß einer anderen Ausführungsform der erfinderischen Konzepte.
  • Bezug nehmend auf 16 und 17 kann in einer Ausleseoperation mit Soft-Decision die Flashspeichervorrichtung 100 eine Mehrzahl von Ausleseoperationen durchführen, indem der Reihe nach variable Spannungen V1~V7 mit der Reihe nach erhöhten oder verringerten Pegeln (siehe [1]~[7] von 6 und [7]~[1] von 7) angelegt werden. Die der Reihe nach ausgelesenen Daten können in einer Mehrzahl von Auffangregistern, die in dem Seitenpuffer PB bereitgestellt werden, zwischengespeichert werden. Zum Beispiel können die ersten Daten an den ECC 230 ausgegeben werden (siehe o, 1), nachdem die Flashspeichervorrichtung 100 die vierten Daten ausgelesen hat, indem es der Reihe nach die Spannungen mit der Reihe nach erhöhten oder verringerten Pegeln anlegt (siehe [4]). Nachdem die sechsten Daten (siehe [6]) in 16 oder die zweiten Daten (siehe [2]) in 17 ausgelesen worden sind, kodiert die Flashspeichervorrichtung 100 die zweiten ausgelesenen Daten (siehe [2]) und die sechsten ausgelesenen Daten (siehe [6]), um den MSB der Zuverlässigkeitsdaten auszugeben (siehe o, 2). Nachdem die siebenten Daten (siehe [7]) in 16 oder die ersten Daten in 17 (siehe [1]) ausgelesen worden sind, kodiert die Flashspeichervorrichtung 100 die ersten, dritten und fünften ausgelesenen Daten (siehe [1], [3] und [5]) und die siebenten ausgelesenen Daten (siehe [7]), um den LSB der Zuverlässigkeitsdaten auszugeben (siehe o, 3).
  • Gemäß der obigen Konfiguration sind die Datenausgabefolge und die Ausleseoperationsfolge in dem Seitenpuffer PB in der Ausleseoperation mit Soft-Decision nicht miteinander konsistent. Weil allerdings die variablen Auslesespannungen der Reihen nach erzeugt werden, kann die Effizienz der Wortleitungsspannungserzeugung der Flashspeichervorrichtungs 100 verbessert werden. Unterdessen können die Daten-Ausgabeoperation und die Ausleseoperation in dem Seitenpuffer PB unabhängig voneinander durchgeführt werden oder können parallel mit einem Pipeline-Schema wie etwa einem Cache-Auslesemodus durchgeführt werden. Außerdem sind die Ausgabefolge und die Auslesefolge des Seitenpuffers PB in den 15 bis 17 nicht beschränkt auf eine spezielle Ausführungsform, sondern können gemäß verschiedenen Ausführungsformen variieren.
  • 18 ist ein Blockdiagramm, das eine Struktur eines Datenspeichersystems 1002, das eine Flashspeichervorrichtung 100 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte aufweist, illustriert. In 18 wird ein System mit einem Festkörperlaufwerk (SSD, engl.: solid state disk) 1002, das eine Halbleiter-speichervorrichtung als eine Hauptspeichereinheit verwendet, als das Datenspeichersystem 1002 illustriert. Allerdings ist das nur eine beispielhafte Ausführungsform und das Datenspeichersystem ist nicht auf ein SSD beschränkt. Zum Beispiel kann das Datenspeichersystem in ein Halbleitergerät integriert werden, um eine PC-Karte (z. B. eine PCMCIA (Personal Computer Memory Card International Association)), eine Compact-Flash-Karte (CF), eine Smart-Media-Karte (z. B. SM und SMC), einen Memory-Stick, eine Multimedia-Karte (z. B. MMC, RS-MMC und MMC-micro), eine SD-Karte (z. B. SD, miniSD, microSD und SDHC) oder einen universalen Flashspeicher (UFS) zu bilden.
  • Bezug nehmend auf 18 kann das SSD-System 1002 einen Host 1100 und ein SSD 1200 aufweisen. Das SSD 1200 kann eine SSD-Steuerung 1210, einen Pufferspeicher 1220 und die Flashspeichervorrichtung 100 aufweisen, wie es gemäß einer beliebigen der obigen Ausführungsformen beschrieben worden ist.
  • Die SSD-Steuerung 1210 kann eine physikalische Verbindung mit dem Host 1100 und dem SSD 1200 zur Verfügung stellen. Das heißt, dass die SSD-Steuerung 1210 eine Schnittstelle mit dem SSD 1200 gemäß einem Bus-Format des Hosts 1100 zur Verfügung stellen kann. Die SSD-Steuerung 1210 kann einen Befehl, der von dem Host 1100 empfangen wird, dekodieren. Gemäß den Dekodierergebnissen kann die SSD-Steuerung 1210 auf die Flashspeichervorrichtung 100 zugreifen. Beispiele des Bus-Formats des Hosts 1100 können Universal Serial Bus (USB), Small Computer System Interface (SCSI), PCI Express, ATA, Parallel ATA (PATA), Serial ATA (SATA) und Serial Attached SCSI (SAS) einschließen.
  • Der Pufferspeicher 1220 kann mit Verwendung von einem synchronen DRAM (SRAM) ausgelegt sein, um eine ausreichende Zwischenspeicherung in dem SSD 1200 bereitzustellen. Allerdings ist das nur ein Beispiel der Konfiguration des Pufferspeichers 1220. Die Konfiguration des Pufferspeichers 1220 ist nicht beschränkt auf eine spezielle Ausführungsform, sondern kann gemäß verschiedenen Ausführungsformen variieren.
  • Der Pufferspeicher 1220 kann vorübergehend Schreibdaten speichern, die von dem Host 1100 empfangen werden, oder Daten, die von der Flashspeichervorrichtung 100 ausgelesen werden. Bei der Ausleseaufforderung des Hosts 1100 kann der Pufferspeicher 1220 eine Cache-Funktion des Bereitstellens der gespeicherten Daten direkt an den Host 1100 unterstützten, wenn Daten in der Flashspeichervorrichtung 100 in dem Pufferspeicher 1220 gespeichert sind. In der Regel ist die Datenübertragungsrate gemäß dem Bus-Format (z. B. SATA oder SAS0) des Hosts 1100 viel höher als die Datenübertragungsrate eines Speicherkanals des SSD 1200. Wenn die Schnittstellenrate des Hosts 1100 viel höher ist als die des SSSD 1200, kann ein Pufferspeicher mit großer Kapazität 1220 zur Verfügung gestellt werden, um die Leistungsverschlechterung, die durch die Differenz der Raten verursacht wird, zu minimieren.
  • Die Flashspeichervorrichtung 100 kann als ein Hauptspeicher des SSD 1200 verwendet werden. Zu diesem Zweck kann die Flashspeichervorrichtung 100 so ausgelegt sein, dass es einen NAND-Flashspeicher mit einer großen Speicherkapazität verwendet. Allerdings ist der Typ der Flashspeichervorrichtung 100 in dem SSD 1200 nicht beschränkt auf einen NAND-Flashspeicher. Zum Beispiel kann die Flashspeichervorrichtung 100 auch auf die Verwendung eines NOR-Flashspeichers, eines Hybrid-Flashspeichers mit einem Hybrid aus wenigstens zwei Typen von Speicherzellen oder einen One-NAND-Flashspeicher mit einer Steuerung, die in einen Speicherchip eingebettet ist, ausgelegt sein. Auch kann es eine Mehrzahl von Kanälen in dem SSD 1200 geben und eine Mehrzahl von Flashspeichern 100 kann mit den jeweiligen Kanälen verbunden sein. Obwohl ein NAND-Flashspeicher beispielhaft als der Hauptspeicher erläutert worden ist, können andere nichtflüchtige Speicher als der Hauptspeicher verwendet werden. Zum Beispiel können wenigstens einer von flüchtigen Speichern (z. B. DRAMs und SRAMs) und nichtflüchtigen Speichern (z. B. PRAMS, MRAMs, ReRAMs und FRAMs) als der Hauptspeicher verwendet werden.
  • Die Flashspeichervorrichtung 100 von 18 kann so ausgelegt sein, dass es im Wesentlichen dieselbe Konfiguration wie die Flashspeichervorrichtung von 1 und 2 hat. Die Flashspeichervorrichtung 100 kann eine Mehrzahl von Ausleseoperationen an einer Speicherzelle durchführen, indem eine Referenzauslesespannung und eine Mehrzahl von variablen Auslesespannungen, die von der Referenzauslesespannung abweichen, angelegt werden. Die ausgelesenen Daten, die von den Ausleseoperationen erhalten werden, können eine Mehrzahl von Zuverlässigkeitsdaten und Hard-Decision-Daten aufweisen. Bei der Übergabe der ausgelesenen Daten an den Schaltkreis zur Fehlerkorrektur 230 kann die Flashspeichervorrichtung 100 der erfinderischen Konzepte die Zuverlässigkeitsdaten ohne eine Veränderung übergeben oder kann die Zuverlässigkeitsdaten in ein gewünschtes (oder alternativ ein vorher festgelegtes) Datenformat (z. B. Zuverlässigkeitsdaten) kodieren, bevor sie an den ECC 230 übergeben werden. In einer beispielhaften Ausführungsform können die Zuverlässigkeitsdaten und die Hard-Decision-Daten, die von der Flashspeichervorrichtung 100 übergeben werden, durch den Seitenpuffer der Flashspeichervorrichtung 100 sogar ohne die Verwendung eines zusätzlichen Schaltkreises wie etwa eines Kodierers kodiert werden. Unterdessen sind die Kodierung der Zuverlässigkeitsdaten und die Anzahl der Bits der Zuverlässigkeitsdaten gemäß den erfinderischen Konzepten nicht auf eine spezielle Ausführungsform beschränkt, sondern können gemäß verschiedenen Ausführungsformen variieren.
  • Unter der Steuerung der Steuerlogik 150 kann die Flashspeichervorrichtung 100 der erfinderischen Konzepte der Reihe nach die Bits (z. B. höchstwertige Bits (MSBs) und niedrigstwertige Bits (LSBs)) von Zuverlässigkeitsdaten und Hard-Decision-Daten, die von einer Ausleseoperation mit Soft-Decision ausgelesen werden, an den ECC der SSD-Steuerung 1210 ausgeben. Außerdem können eine Auslese-/Ausgabeoperation an den Bits (z. B. MSBs und LSBs) von Zuverlässigkeitsdaten und Hard-Decision-Daten gemäß den erfinderischen Konzepten parallel durch ein Pipeline-Schema wie etwa einen Cache-Auslesemodus durchgeführt werden.
  • Die SSD-Steuerung 1210 kann eine Fehlerkorrekturoperation, die auf Hard-Decision-Daten basiert, und eine Fehlerkorrekturoperation, die auf den Bits von Zuverlässigkeitsdaten basiert, schrittweise durchführen, indem die Bits der Zuverlässigkeitsdaten und die Hard-Decision-Daten, die von der Flashspeichervorrichtung 100 übergeben werden, verwendet werden. Gemäß dem Ergebnis der schrittweisen Fehlerkorrekturoperation können die Ausgabe der Bits der Zuverlässigkeitsdaten von der Flashspeichervorrichtung 100 an den ECC 230 und die nächste Fehlerkorrekturoperation, die diese verwendet, ausgelassen werden. Zu diesem Zweck kann die Speichersteuerung 200 gemäß dem Ergebnis der schrittweisen Fehlerkorrekturoperation die Erzeugung eines Soft-Decision-Ausgabebefehls CMD, der der Flashspeichervorrichtung 100 übergeben wird, unterlassen und kann ein Unterbrechungssignal Intr oder ein Rücksetzsignal an die Flashspeichervorrichtung 100 erzeugen.
  • 19 ist ein Blockdiagramm, das eine Struktur eines Speichersystems 2000 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert.
  • Bezug nehmend auf 19 kann das Speichersystem 2000 eine Flashspeichervorrichtung 100 und eine Speichersteuerung 2100 aufweisen.
  • Die Flashspeichervorrichtung 100 von 19 kann so ausgelegt sein, dass sie im Wesentlichen dieselbe Konfiguration wie die Flashspeichervorrichtung der 1 und 2 hat. Außerdem kann die Flashspeichervorrichtung 100 von 19 eine Datenauslese-/Datenausgabeoperation in derselben Weise wie die Ausleseoperation mit Soft-Decision, die oben beschrieben worden ist, durchführen. Die Speichersteuerung 2100 kann so ausgelegt sein, dass sie die Flashspeichervorrichtung 100 steuert. Die Speichersteuerung 2100 kann mit derselben Konfiguration wie die Speichersteuerung 200 von 2 ausgelegt sein. Deshalb wird auf eine überschneidende Beschreibung derselben Konfiguration zum Zwecke der Prägnanz verzichtet.
  • Das Speichersystem 2000 kann eine Speicherkarte oder ein Festkörperlaufwerk (SSD) durch die Kombination mit der Flashspeichervorrichtung 100 und der Speichersteuerung 2100 darstellen. Beispiele für die Speicherkarte schließen PC-Karten (z. B. PCMCIA (Personal Computer Memory Card International Association)), Compact Flash-Karten (CF), Smart Media-Karten (z. B. SM und SMC), Speichersticks, Multimedia-Karten (z. B. MMC, RS-MMC und MMC-micro), SD-Karten (z. B. SD, miniSD, microSD und SDHC) und universelle Flashspeicher (UFS) ein.
  • Ein SRAM 2110 kann als ein Arbeitsspeicher eines Prozessors (CPU, engl.: central processing unit) 2120 verwendet werden. Eine Host-Schnittstelle (I/F) 2130 kann ein Datenaustauschprotokoll eines Hosts, der mit dem Flashspeichersystem 2000 verbunden ist, haben. Ein Schaltkreis zur Fehlerkorrektur (ECC) 2140 in der Speichersteuerung 2100 kann so ausgelegt sein, dass er im Wesentlichen dieselbe Konfiguration wie der ECC 230 von 2 hat. Der ECC 2140 kann einen Fehler in ausgelesenen Daten erfassen/korrigieren, indem er eine Mehrzahl von Zuverlässigkeitsdaten, die vom der Flashspeichervorrichtung 100 empfangen werden, verwendet. Eine Speicherschnittstelle (I/F) 2150 kann eine Schnittstelle mit der Flashspeichervorrichtung 100 zur Verfügung stellen. Der Prozessor 2120 kann eine Gesamtsteuerungsoperation für Datenaustausch der Speichersteuerung 2100 durchführen. Obwohl es nicht in 19 illustriert ist 6, kann das Speichersystem 2000 ferner einen „Read-Only”-Speicher (ROM) aufweisen, der Code-Daten für die Schnittstelle mit dem Host speichert.
  • Die Flashspeichervorrichtung 100 kann als ein Multi-Chip-Paket mit einer Mehrzahl von Flashspeicherchips zur Verfügung gestellt werden. Das Speichersystem 2000 der erfinderischen Konzepte kann als ein Speichermedium mit hoher Zuverlässigkeit mit einer niedrigen Fehlerwahrscheinlichkeit zur Verfügung gestellt werden. Insbesondere kann die Flashspeichervorrichtung der erfinderischen Konzepte in einem Speichersystem wie etwa einem Festkörperlaufwerk (SSD) zur Verfügung gestellt werden, welches sich in aktiver Erforschung befindet. In diesem Fall kann die Speichersteuerung 2100 für die Kommunikation mit einem externen Gerät (z. B. dem Host) über eines von verschiedenen Schnittstellenprotokollen wie etwa USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI und IDE ausgelegt sein. Außerdem kann die Speichersteuerung 2100 ferner eine Konfiguration für die Durchführung einer zufälligen Operation aufweisen.
  • 20 ist ein Blockdiagramm, das eine Struktur eines Rechensystems 3000 mit einer Flashspeichervorrichtung 100 gemäß einer beispielhaften Ausführungsform der erfinderischen Konzepte illustriert.
  • Bezug nehmend auf 20 kann das Rechensystem 3000 einen Mikroprozessor (oder eine CPU) 3200, ein RAM 3300, eine Anwenderschnittstelle 3400, ein Modem 3500 (z. B. einen Basisband-Chipsatz) und ein Speichersystem 3100 aufweisen, welche elektrisch mit einem System-Bus 3600 verbunden sind.
  • Das Speichersystem 3100 kann eine Speichersteuerung 3110 und eine Flashspeichervorrichtung 100 aufweisen. Die Speichersteuerung 3110 kann eine physikalische Verbindung mit dem Prozessor 3200 und der Flashspeichervorrichtung 100 durch den System-Bus 3600 zur Verfügung stellen. Das heißt, dass die Speichersteuerung 3110 eine Schnittstelle mit der Flashspeichervorrichtung 100 gemäß einem Bus-Format des Prozessors 3200 zur Verfügung stellen kann.
  • Die Flashspeichervorrichtung 100 von 20 kann so ausgelegt sein, dass sie im Wesentlichen dieselbe Konfiguration wie die Flashspeichervorrichtung von 1 und 2 hat. Außerdem kann die Flashspeichervorrichtung 100 von 20 eine Datenauslese-/Datenausgabeoperation in derselben Weise wie die Ausleseoperation mit Soft-Decision, die oben beschrieben worden ist, durchführen. Deshalb wird auf eine überschneidende Beschreibung derselben Konfiguration zum Zwecke der Prägnanz verzichtet.
  • Wenn das Rechensystem 3000 ein Mobilgerät ist, kann ferner eine Batterie (nicht illustriert) zur Verfügung gestellt sein, um eine Betriebsspannung des Rechensystems 3000 aufzubringen. Obwohl es nicht in 20 illustriert wird, kann das Rechensystem 3000 ferner einen Anwendungschipsatz, einen Kamerabildprozessor und ein mobiles DRAM aufweisen. Zum Beispiel kann das Speichersystem 3100 ein Festkörperlaufwerk (SSD) darstellen, das einen nichtflüchtigen Speicher verwendet, um Daten zu speichern. Zum Beispiel kann das Speichersystem 3100 von 20 das SSD 1200 von 18 darstellen. In diesem Fall kann die Speichersteuerung 3110 als die SSD-Steuerung 1210 arbeiten.
  • Die nichtflüchtige speichervorrichtung und/oder die Speichersteuerung gemäß den erfinderischen Konzepten können in verschiedenen Arten von Paketen angebracht sein. Beispiele für Pakete der Flashspeichervorrichtungs und/oder der Speichersteuerung gemäß den erfinderischen Konzepten schließen Package an Package (PoP), Ball Grid Arrays (BGAs), Chip Scale Packages (CSPs), Plastic Leaded Chip Carrier (PLCC), Plastic Dual In-Line Package (PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board (COB), Ceramic Dual In-Line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flat Pack (TQFP), Small Outline Integrated Circuit (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline Package (TSOP), System In Package (SIP), Multi Chip Package (MCP), Wafer-level Fabricated Package (WFP) und Waferl-level Processed Stack Package ein.
  • Wie oben beschrieben worden ist, übergeben die erfinderischen Konzepte der Reihe nach Bits von Zuverlässigkeitsdaten und Hard-Decision-Daten von der Flashspeichervorrichtung an den Schaltkreis zur Fehlerkorrektur und ermöglichen so dem Schaltkreis für Fehlerkorrektur, eine schrittweise Fehlerkorrekturoperation durchzuführen. Gemäß den Ergebnissen der schrittweisen Fehlerkorrekturoperation können die Ausgabe von Zuverlässigkeitsdaten von der Flashspeichervorrichtung an den Schaltkreis zur Fehlerkorrektur und die nächste Fehlerkorrekturoperation, die diese verwendet, ausgelassen werden. Folglich kann der Leistungsverlust, der von der Fehlerkorrekturoperation verursacht wird, minimiert werden und die Effizienz der Fehlerkorrektur kann verbessert werden.
  • Außerdem führen die erfinderischen Konzepte eine Auslese-/Ausgabeoperation der Bits von Zuverlässigkeitsdaten und Hard-Decision-Daten, die für Fehlerkorrektur verwendet werden sollen, in einer Pipeline-Art aus. Entsprechend können die Zusatzdaten einer Auslese-/Ausgabeoperation an den Daten, die für Fehlerkorrektur verwendet werden sollen, verringert werden und die Zuverlässigkeit von Daten, die von der Flashspeichervorrichtung ausgelesen werden, kann verbessert werden.
  • Der oben offenbarte Gegenstand soll als Illustration und nicht einschränkend angesehen werden und die beigefügten Ansprüche sollen alle solchen Modifikationen, Verbesserungen und andere Ausführungsformen, die in den legitimen Geist und Rahmen der erfinderischen Konzepte fallen, abdecken. Folglich soll der Rahmen der erfinderischen Konzepte, soweit es vom Gesetz erlaubt ist, durch die weiteste zulässige Interpretation der folgenden Ansprüche und ihrer Äquivalente bestimmt werden und soll nicht beschränkt oder begrenzt sein durch die obige ausführliche Beschreibung.

Claims (33)

  1. Verfahren zum Lesen von Speicherzellen in einer Matrix von nichtflüchtigen Speicherzellen, wobei das Verfahren gekennzeichnet ist durch: Lesen von Daten von einer Speicherzelle unter Verwendung von einer Gruppe von Hard-Decision-Spannungen und wenigstens einer ersten Gruppe von Soft-Decision-Spannungen auf Grundlage eines einzelnen Lesebefehls.
  2. Verfahren nach Anspruch 1, wobei das Lesen Daten von der Speicherzelle liest unter Verwendung der Gruppe von Hard-Decision-Spannungen und wenigstens der ersten Gruppe von Soft-Decision-Spannungen auf Grundlage des einzelnen Lesebefehls, einer Adresse und eines Auflösungsindikators, wobei der Auflösungsindikator eine Anzahl von Gruppen von Soft-Decision-Spannungen anzeigt.
  3. Verfahren nach Anspruch 2, wobei das Lesen Daten von der Speichzelle unter Verwendung der Gruppe von Hard-Decision-Spannungen, der ersten Gruppe von Soft-Decision-Spannungen und einer zweiten Gruppe von Soft-Decision-Spannungen liest, wenn der Leseauflösungsindikator zwei Gruppen anzeigt.
  4. Verfahren nach Anspruch 3, wobei eine Anzahl von Soft-Decision-Spannungen in der zweiten Gruppe größer ist als in der ersten Gruppe.
  5. Verfahren nach Anspruch 1, ferner gekennzeichnet durch: Ausgeben von ersten Leseergebnissen auf Grundlage der Hard-Decision-Spannungen in Reaktion auf einen ersten Auslesebefehl.
  6. Verfahren nach Anspruch 5, ferner gekennzeichnet durch: Ausgeben von zweiten Leseergebnissen auf Grundlage der ersten Gruppe von Soft-Decision-Spannungen in Reaktion auf einen zweiten Auslesebefehl.
  7. Verfahren nach Anspruch 6, wobei das Lesen Daten von der Speicherzelle unter Verwendung der Gruppe von Hard-Decision-Spannungen, unter Verwendung der ersten Gruppe von Soft-Decision-Spannungen und unter Verwendung einer zweiten Gruppe von Soft-Decision-Spannungen liest in Reaktion auf den Lesebefehl; und ferner aufweisend Ausgeben von dritten Leseergebnissen auf Grundlage der zweiten Gruppe von Soft-Decision-Spannungen in Reaktion auf einen dritten Auslesebefehl.
  8. Verfahren nach Anspruch 7, wobei das Ausgeben von zweiten Leseergebnissen einen einzelnen Soft-Bit für jeden Hard-Bit ausgibt, der in dem Ausgeben von ersten Leseergebnissen ausgegeben wird; und das Ausgeben von dritten Leseergebnissen einen einzelnen Soft-Bit für jeden Hard-Bit ausgibt, der in dem Ausgeben von ersten Leseergebnissen ausgegeben wird.
  9. Verfahren nach Anspruch 5, wobei das Ausgeben von zweiten Leseergebnissen einen einzelnen Soft-Bit für jeden Hard-Bit ausgibt, der in dem Ausgeben von ersten Leseergebnissen ausgegeben wird.
  10. Verfahren nach Anspruch 7, wobei der Leseschritt der Reihe nach Lesen von Daten auf Grundlage der Gruppe von Hard-Decision-Spannungen, der ersten Gruppe von Soft-Decision-Spannungen und der zweiten Gruppe von Soft-Decision-Spannungen in Reaktion auf den Lesebefehl ausführt.
  11. Verfahren nach Anspruch 1, wobei der Leseschritt der Reihe nach Lesen von Daten auf Grundlage der Gruppe von Hard-Decision-Spannungen und der ersten Gruppe von Soft-Decision-Spannungen in Reaktion auf den Lesebefehl ausführt.
  12. Verfahren nach Anspruch 7, wobei der Leseschritt gekennzeichnet ist durch: Lesen von Daten von der Speicherzelle unter Verwendung der Gruppe von Hard-Decision-Spannungen nach Empfang des Lesebefehls; Lesen von Daten von der Speicherzelle unter Verwendung der ersten Gruppe von Soft-Decision-Spannungen nach Empfang des ersten Auslesebefehls; und Lesen von Daten von der Speicherzelle unter Verwendung der zweiten Gruppe von Soft-Decision-Spannungen nach Empfang des zweiten Auslesebefehls.
  13. Verfahren nach Anspruch 5, wobei der Leseschritt gekennzeichnet ist durch: Lesen von Daten von der Speicherzelle unter Verwendung der Gruppe von Hard-Decision-Spannungen nach Empfang des Lesebefehls; und Lesen von Daten von der Speicherzelle unter Verwendung der ersten Gruppe von Soft-Decision-Spannungen nach Empfang des ersten Auslesebefehls.
  14. Verfahren nach Anspruch 1, wobei der Leseschritt gekennzeichnet ist durch: Lesen von Daten von der Speicherzelle unter Verwendung der Gruppe von Hard-Decision-Spannungen nach Empfang des Lesebefehls; und Lesen von Daten von der Speicherzelle unter Verwendung der ersten Gruppe von Soft-Decision-Spannungen nach Ausgeben von Daten, die unter Verwendung der Gruppe von Hard-Decision-Spannungen ausgelesen worden sind.
  15. Verfahren nach Anspruch 7, wobei das Lesen gekennzeichnet ist durch: Lesen von Daten auf Grundlage der ersten Gruppe von Soft-Decision-Spannungen parallel zu dem Ausgeben von ersten Leseergebnissen; und Lesen von Daten auf Grundlage der zweiten Gruppe von Soft-Decision-Spannungen parallel zu dem Ausgeben von zweiten Leseergebnissen.
  16. Verfahren nach Anspruch 5, wobei das Lesen gekennzeichnet ist durch: Lesen von Daten auf Grundlage der ersten Gruppe von Soft-Decision-Spannungen parallel zu dem Ausgeben von ersten Leseergebnissen.
  17. Verfahren nach Anspruch 1, wobei die Speicherzellen Mehrniveauspeicherzellen sind.
  18. Verfahren zum Lesen von Speicherzellen in einer Matrix von nichtflüchtigen Speicherzellen, wobei das Verfahren gekennzeichnet ist durch: Senden eines Lesebefehls; Senden eines ersten Auslesebefehls; Empfangen von ersten Leseergebnissen in Reaktion auf den ersten Auslesebefehl, wobei die ersten Leseergebnisse auf einer Leseoperation unter Verwendung einer Gruppe von Hard-Decision-Spannungen basieren; erstes Bestimmen, ob Fehler in den ersten Leseergebnissen korrigierbar sind; Senden eines zweiten Auslesebefehls, ohne dabei einen dazugehörigen Lesebefehl zu senden, wenn das erste Bestimmen bestimmt, dass Fehler in den ersten Leseergebnissen nicht korrigierbar sind; und Empfangen von zweiten Leseergebnissen in Reaktion auf den zweiten Auslesebefehl, wobei die zweiten Leseergebnisse auf einer Leseoperation unter Verwendung einer ersten Gruppe von Soft-Decision-Spannungen basieren.
  19. Verfahren nach Anspruch 18, wobei der zweite Auslesebefehl nicht gesendet wird, wenn das erste Bestimmen bestimmt, dass Fehler in den ersten Leseergebnissen korrigierbar sind.
  20. Verfahren nach Anspruch 18, ferner gekennzeichnet durch: Senden einer Leseauflösung verbunden mit dem Lesebefehl, wobei die Leseauflösung eine Anzahl von Soft-Decision-Leseoperation, die in Verbindung mit einer Hard-Leseoperation durchzuführen sind, anzeigt, wobei die Hard-Leseoperation auf Grundlage der Gruppe von Hard-Decision-Spannungen durchgeführt wird und jede Soft-Decision-Leseoperation auf Grundlage einer unterschiedlichen Gruppe von Soft-Decision-Spannungen durchgeführt wird.
  21. Verfahren nach Anspruch 20, wobei das Verfahren ferner gekennzeichnet ist, wenn die Leseauflösung zwei Soft-Decision-Leseoperationen anzeigt, durch: zweites Bestimmen, ob Fehler in den zweiten Leseergebnissen korrigierbar sind; Senden eines dritten Auslesebefehls, ohne dabei einen dazugehörigen Lesebefehl zu senden, wenn das zweite Bestimmen bestimmt, dass Fehler in den zweiten Leseergebnissen nicht korrigierbar sind; und Empfangen von dritten Leseergebnissen in Reaktion auf den dritten Lesebefehl, wobei die dritten Leseergebnisse auf einer Leseoperation unter Verwendung einer zweiten Gruppe von Soft-Decision-Spannungen basieren.
  22. Verfahren nach Anspruch 21, wobei der dritte Auslesebefehl nicht gesendet wird, wenn das zweite Bestimmen bestimmt, dass Fehler in den ersten Leseergebnissen korrigierbar sind.
  23. Verfahren nach Anspruch 21, ferner gekennzeichnet durch: drittes Bestimmen, ob Fehler in den zweiten Leseergebnissen korrigierbar sind.
  24. Verfahren nach Anspruch 18, ferner gekennzeichnet durch: zweites Bestimmen, ob Fehler in den zweiten Leseergebnissen korrigierbar sind; Senden eines dritten Auslesebefehls, ohne dabei einen dazugehörigen Lesebefehl zu senden, wenn das zweite Bestimmen bestimmt, dass Fehler in den zweiten Leseergebnissen nicht korrigierbar sind; und Empfangen von dritten Leseergebnissen in Reaktion auf den dritten Lesebefehl, wobei die dritten Leseergebnisse auf einer Leseoperation unter Verwendung einer zweiten Gruppe von Soft-Decision-Spannungen basieren.
  25. Verfahren nach Anspruch 24, wobei der dritte Auslesebefehl nicht gesendet wird, wenn das zweite Bestimmen bestimmt, dass Fehler in den ersten Leseergebnissen korrigierbar sind.
  26. Verfahren nach Anspruch 24, ferner gekennzeichnet durch: drittes Bestimmen, ob Fehler in den zweiten Leseergebnissen korrigierbar sind.
  27. Verfahren nach Anspruch 24, wobei das Empfangen von zweiten Leseergebnissen ein einzelnes Soft-Bit für jedes Hard-Bit, das in dem Empfangen von ersten Leseergebnissen empfangen wird, empfängt; und das Empfangen von dritten Leseergebnissen eines einzelnen Soft-Bit für jedes Hard-Bit, das in dem Empfangen von ersten Leseergebnissen empfangen wird, empfängt.
  28. Verfahren nach Anspruch 18, wobei das Empfangen von zweiten Leseergebnissen ein einzelnesn Soft-Bit für jedes Hard-Bit, das in dem Empfangen von ersten Leseergebnissen empfangen wird, empfängt.
  29. Verfahren nach Anspruch 18, wobei die Speicherzellen Mehrniveauspeicherzellen sind.
  30. Nichtflüchtige Mehrniveauspeichervorrichtung (100), gekennzeichnet durch: eine Matrix von nichtflüchtigen Speicherzellen (110); Steuerlogik (150), die so ausgelegt ist, dass sie Daten von einer Matrix von Speicherzellen liest, wobei sie eine Gruppe von Hard-Decision-Spannungen und wenigstens eine erste Gruppe von Soft-Decision-Spannungen auf Grundlage eines einzelnen Lesebefehls verwendet.
  31. Datenspeichervorrichtung (1200), gekennzeichnet durch: Speichervorrichtung nach Anspruch 30; und eine Steuerung (1210), die so ausgelegt ist, dass sie den Lesebefehl bereitstellt.
  32. Elektronische Vorrichtung (2000), gekennzeichnet durch: Speichervorrichtung nach Anspruch 30; und eine Steuerung (2100), wobei die Steuerung eine Fehlerkorrekturkodierungseinheit (2140) aufweist, die so ausgelegt ist, dass sie eine Fehlerkorrektur an Leseergebnissen durchführt, die von der Speichervorrichtung ausgegeben werden, und wobei die Steuerung einen Prozessor (2120) aufweist, der so ausgelegt ist, dass er den Lesebefehl bereitstellt.
  33. Rechensystem (3000), gekennzeichnet durch: einen Prozessor (3200); ein Speichersystem (3100), wobei das Speichersystem die Speichervorrichtung nach Anspruch 30 und eine Steuerung (3110), die so ausgelegt ist, dass sie den Lesebefehl bereitstellt, aufweist; und einen Bus (3600), der den Prozessor und das Speichersystem kommunikativ koppelt.
DE102011054181A 2010-11-25 2011-10-05 Nichtflüchtige Speichervorrichtung und Ausleseverfahren davon Pending DE102011054181A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100117940A KR101792868B1 (ko) 2010-11-25 2010-11-25 플래시 메모리 장치 및 그것의 읽기 방법
KR10-2010-0117940 2010-11-25

Publications (1)

Publication Number Publication Date
DE102011054181A1 true DE102011054181A1 (de) 2012-05-31

Family

ID=46049896

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011054181A Pending DE102011054181A1 (de) 2010-11-25 2011-10-05 Nichtflüchtige Speichervorrichtung und Ausleseverfahren davon

Country Status (5)

Country Link
US (1) US8576622B2 (de)
JP (1) JP6037373B2 (de)
KR (1) KR101792868B1 (de)
CN (1) CN102479556B (de)
DE (1) DE102011054181A1 (de)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9679664B2 (en) 2012-02-11 2017-06-13 Samsung Electronics Co., Ltd. Method and system for providing a smart memory architecture
CN103247347B (zh) * 2012-02-11 2017-07-25 三星电子株式会社 提供智能存储器架构的方法和系统
WO2013134890A1 (en) * 2012-03-13 2013-09-19 Micron Technology, Inc. Nonconsecutive sensing of multilevel memory cells
US9256522B1 (en) * 2012-04-19 2016-02-09 Sk Hynix Memory Solutions Inc. Method and system for generating soft-information after a single read in NAND flash using expected and measured values
KR102089570B1 (ko) * 2012-06-04 2020-03-16 삼성전자주식회사 저장 장치 및 그것의 데이터 처리 방법
KR101984900B1 (ko) * 2012-07-24 2019-05-31 삼성전자 주식회사 메모리 장치 및 상기 메모리 장치의 독출 전압 결정 방법
US9239754B2 (en) * 2012-08-04 2016-01-19 Seagate Technology Llc Single read based soft-decision decoding of non-volatile memory
US8848453B2 (en) 2012-08-31 2014-09-30 Micron Technology, Inc. Inferring threshold voltage distributions associated with memory cells via interpolation
US20140071761A1 (en) * 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading
US9703945B2 (en) 2012-09-19 2017-07-11 Winbond Electronics Corporation Secured computing system with asynchronous authentication
US8913422B2 (en) * 2012-09-28 2014-12-16 Intel Corporation Decreased switching current in spin-transfer torque memory
KR102125371B1 (ko) * 2012-12-04 2020-06-22 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 동작방법
KR102083491B1 (ko) * 2012-12-05 2020-03-02 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
US20140169102A1 (en) * 2012-12-19 2014-06-19 Western Digital Technologies, Inc. Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems
KR102123946B1 (ko) 2012-12-28 2020-06-17 삼성전자주식회사 멀티 레벨 셀 메모리 장치 및 그것의 동작방법
JP2014157650A (ja) * 2013-02-18 2014-08-28 Toshiba Corp 半導体記憶装置
WO2014138246A1 (en) * 2013-03-07 2014-09-12 Marvell World Trade Ltd. Systems and methods for decoding with late reliability information
KR102131802B1 (ko) * 2013-03-15 2020-07-08 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법
KR20150131370A (ko) * 2013-03-21 2015-11-24 마벨 월드 트레이드 리미티드 멀티-스테이지 소프트 입력 디코딩을 위한 방법 및 시스템
US9025393B2 (en) 2013-03-25 2015-05-05 Seagate Technology Llc Method of optimizing solid state drive soft retry voltages
KR102252379B1 (ko) 2013-06-24 2021-05-14 삼성전자주식회사 메모리 시스템 및 이의 독출 방법
KR102120823B1 (ko) * 2013-08-14 2020-06-09 삼성전자주식회사 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템
US9455962B2 (en) 2013-09-22 2016-09-27 Winbond Electronics Corporation Protecting memory interface
US9343162B2 (en) * 2013-10-11 2016-05-17 Winbond Electronics Corporation Protection against side-channel attacks on non-volatile memory
US9612773B2 (en) * 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof
CN104679441B (zh) * 2013-12-02 2018-06-29 群联电子股份有限公司 时间估测方法、存储器存储装置、存储器控制电路单元
US9417960B2 (en) * 2013-12-20 2016-08-16 Seagate Technology Llc Preventing programming errors from occurring when programming flash memory cells
US9645763B2 (en) 2014-01-13 2017-05-09 Seagate Technology Llc Framework for balancing robustness and latency during collection of statistics from soft reads
KR102127287B1 (ko) 2014-02-11 2020-06-26 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러가 불휘발성 메모리로부터 데이터를 읽는 데이터 읽기 방법
US9318221B2 (en) 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
US9632879B2 (en) * 2014-09-22 2017-04-25 Hewlett-Packard Development Company, L.P. Disk drive repair
IL234956A (en) 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
US9406377B2 (en) * 2014-12-08 2016-08-02 Sandisk Technologies Llc Rewritable multibit non-volatile memory with soft decode optimization
US10320429B2 (en) 2015-03-04 2019-06-11 Toshiba Memory Corporation Memory controller, memory system and memory control method
CN106297883B (zh) * 2015-06-05 2020-01-07 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
KR20160149463A (ko) * 2015-06-18 2016-12-28 에스케이하이닉스 주식회사 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법
US10474525B2 (en) * 2015-08-11 2019-11-12 Sandisk Technologies Llc Soft bit techniques for a data storage device
US9659637B2 (en) 2015-08-11 2017-05-23 Western Digital Technologies, Inc. Correlating physical page addresses for soft decision decoding
KR102425259B1 (ko) * 2015-11-27 2022-07-27 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 반도체 장치 및 반도체 장치의 동작 방법
US10019571B2 (en) 2016-03-13 2018-07-10 Winbond Electronics Corporation Protection from side-channel attacks by varying clock delays
TWI584304B (zh) * 2016-05-23 2017-05-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN107436820B (zh) * 2016-05-27 2020-07-17 深圳大心电子科技有限公司 解码方法、存储器存储装置及存储器控制电路单元
US10222996B2 (en) * 2017-02-07 2019-03-05 Western Digital Technologies, Inc. Read operation and soft decoding timing
JP2019056955A (ja) * 2017-09-19 2019-04-11 東芝メモリ株式会社 メモリシステム
KR102496272B1 (ko) * 2017-09-27 2023-02-03 삼성전자주식회사 비휘발성 메모리 장치, 및 이의 동작 방법
KR20190075354A (ko) * 2017-12-21 2019-07-01 에스케이하이닉스 주식회사 메모리 장치 및 메모리 장치의 동작 방법
CN110797069B (zh) * 2018-08-01 2021-10-22 群联电子股份有限公司 电压调整方法、存储器控制电路单元以及存储器存储装置
TWI725368B (zh) * 2018-12-25 2021-04-21 群聯電子股份有限公司 解碼方法、記憶體控制電路單元以及記憶體儲存裝置
KR102118899B1 (ko) * 2019-03-07 2020-06-04 한양대학교 산학협력단 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
KR102144732B1 (ko) * 2019-05-10 2020-08-14 한양대학교 산학협력단 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
US11342044B2 (en) * 2019-05-28 2022-05-24 Nuvoton Technology Corporation System and method for prioritization of bit error correction attempts
KR20200139496A (ko) * 2019-06-04 2020-12-14 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR20220034341A (ko) * 2020-09-11 2022-03-18 삼성전자주식회사 메모리 컨트롤러, 스토리지 장치 및 메모리 컨트롤러의 구동방법
CN115509465B (zh) * 2022-11-21 2023-03-28 杭州字节方舟科技有限公司 一种扇区管理方法、装置、电子设备及存储介质
TWI824873B (zh) * 2022-12-12 2023-12-01 旺宏電子股份有限公司 記憶體內搜尋記憶體單元、記憶體內搜尋方法及記憶體內搜尋記憶體裝置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644224B2 (en) 2005-11-15 2010-01-05 Sandisk Il Ltd. Flash memory device and method
TWI360126B (en) * 2006-09-28 2012-03-11 Sandisk Corp Nonvolatile memory with adaptive operations and me
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
WO2008057822A2 (en) * 2006-11-03 2008-05-15 Sandisk Corporation Nonvolatile memory with variable read threshold
US7904788B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of varying read threshold voltage in nonvolatile memory
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US7966550B2 (en) 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
KR101436505B1 (ko) 2008-01-03 2014-09-02 삼성전자주식회사 메모리 장치
JP2010118123A (ja) * 2008-11-14 2010-05-27 Toshiba Corp 半導体記憶装置
JP2010192049A (ja) * 2009-02-19 2010-09-02 Toshiba Corp 半導体記憶装置
JP4818381B2 (ja) * 2009-03-02 2011-11-16 株式会社東芝 半導体メモリ装置
KR101618311B1 (ko) * 2010-02-08 2016-05-04 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
KR101635506B1 (ko) * 2010-03-29 2016-07-04 삼성전자주식회사 데이터 저장 시스템 및 그것의 읽기 방법
US8498152B2 (en) * 2010-12-23 2013-07-30 Sandisk Il Ltd. Non-volatile memory and methods with soft-bit reads while reading hard bits with compensation for coupling
US8099652B1 (en) * 2010-12-23 2012-01-17 Sandisk Corporation Non-volatile memory and methods with reading soft bits in non uniform schemes
US9177664B2 (en) * 2012-02-22 2015-11-03 Silicon Motion, Inc. Method, memory controller and system for reading data stored in flash memory
US20140071761A1 (en) * 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading

Also Published As

Publication number Publication date
JP6037373B2 (ja) 2016-12-07
US20120134207A1 (en) 2012-05-31
CN102479556B (zh) 2017-04-05
US8576622B2 (en) 2013-11-05
KR20120058694A (ko) 2012-06-08
CN102479556A (zh) 2012-05-30
KR101792868B1 (ko) 2017-11-02
JP2012113809A (ja) 2012-06-14

Similar Documents

Publication Publication Date Title
DE102011054181A1 (de) Nichtflüchtige Speichervorrichtung und Ausleseverfahren davon
DE102008003113B4 (de) ECC-Steuereinheit, Speichersystem und Verfahren zur Korrektur eines Fehlers
DE102014101267B4 (de) Speichersystem mit nichtflüchtiger Speichervorrichtung und Programmierverfahren davon
DE102007031027B4 (de) Leseverfahren einer Speichervorrichtung
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
DE102015105858A1 (de) Halbleitervorrichtungen mit Peripherieschaltungsbereich und einem ersten und einem zweiten Speicherbereich, sowie zugehörige Programmierverfahren
DE102013100596B4 (de) Nichtflüchtiges Speichersystem mit Programmier- und Löschverfahren und Blockverwaltungsverfahren
DE102010061530A1 (de) Speicher mit variablem Widerstand, Betriebsverfahren und System
DE102012108545A1 (de) Verfahren zum Auslesen von Speicherzellen mit unterschiedlichen Schwellwertspannungen ohne Änderung der Wortleitungsspannung, sowie nicht-flüchtige Speichervorrichtung, die dieses verwendet
DE102013109235A1 (de) Flash-Speichersystem mit Detektor für anormale Wortleitung und Verfahren zum Erfassen einer anormalen Wortleitung
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102013104196A1 (de) System und Verfahren mit dreidimensionaler nichtflüchtiger Speichervorrichtung und Direktzugriffsspeicher
DE102011089880A1 (de) Verfahren zum Programmieren eines Speicherblocks eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speichersystem
DE102008033511A1 (de) Verfahren zum Programmieren eines Flashspeichers, Flashspeicher und Flashspeichersystem
US20160358647A1 (en) Threshold voltage analysis
DE102020105946A1 (de) Speicherzellen-fehlform-abschwächung
DE102019124668A1 (de) Transistorschwellenspannungshaltung in 3d-speicher
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE102018123887A1 (de) Nichtflüchtiges Speichersystem. das fehlerhafte Blöcke regeneriert
DE102019135863A1 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren
DE112020000159T5 (de) Systeme und verfahren zum definieren von speicher-unterblöcken
DE112015004531T5 (de) Latch-Initialisierung für eine Datenspeichervorrichtung
US7564713B2 (en) Semiconductor integrated circuit device wherein during data write a potential transferred to each bit line is changed in accordance with program order of program data
DE102013200515A1 (de) Halbleiterspeichervorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication