DE102010037290A1 - Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen - Google Patents

Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen Download PDF

Info

Publication number
DE102010037290A1
DE102010037290A1 DE102010037290A DE102010037290A DE102010037290A1 DE 102010037290 A1 DE102010037290 A1 DE 102010037290A1 DE 102010037290 A DE102010037290 A DE 102010037290A DE 102010037290 A DE102010037290 A DE 102010037290A DE 102010037290 A1 DE102010037290 A1 DE 102010037290A1
Authority
DE
Germany
Prior art keywords
read
memory cell
memory
correctable
voltage level
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.)
Withdrawn
Application number
DE102010037290A
Other languages
English (en)
Inventor
Seon-taek Suwon-si Kim
Yoon-young Paju-si Kyung
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 DE102010037290A1 publication Critical patent/DE102010037290A1/de
Withdrawn 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine Schaltung wird betrieben, um instabile Speicherzellen unter einer Vielzahl von Speicherzellen in mindestens einer Seite zu erfassen. Es wird anhand eines Ausgangszustands von in einer Speicherzelle gespeicherten Daten bestimmt, ob kein Lesefehler auftritt, wenn die Daten bei einem Standard-Lesespannungspegel ausgelesen werden, ob ein Lesefehler auftritt und der Lesefehler korrigierbar ist, und ob ein Lesefehler auftritt und der Lesefehler unkorrigierbar ist. In Reaktion auf ein Bestimmen, dass ein Lesefehler auftritt, der korrigierbar ist, wird eine weitere Bestimmung vorgenommen, ob die Speicherzelle korrigierbar ist, durch Auslesen der in der Speicherzelle gespeicherten Daten bei einem Korrektur-Lesespannungspegel, der einen Spannungspegel aufweist, der sich von dem Standard-Lesespannungspegel unterscheidet, und durch Bestimmen, ob ein Lesefehler, der in den Daten auftritt, die bei dem Korrektur-Lesespannungspegel ausgelesen werden, korrigierbar oder unkorrigierbar ist.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der koreanischen Patentanmeldung Nr. 10-2009-0094047 , die am 1. Oktober 2009 bei dem Koreanischen Amt für geistiges Eigentum eingereicht wurde und deren Offenbarung in ihrer Gesamtheit durch Inbezugnahme hierdurch mit aufgenommen wird.
  • HINTERGRUND
  • Die Erfindung betrifft Speichersysteme und zugehörige Verfahren zur Erfassung der Verteilung von instabilen Speicherzellen in Speichersystemen.
  • Einige Computer verwendeten Festplattenlaufwerke als Massenspeichermedium. Festplattenlaufwerke können eine große Kapazität zur Datenspeicherung bereitstellen. Wenn ein Festplattenlaufwerk eine äußere Erschütterung erfährt, können jedoch Daten, die in der Platte gespeichert sind verloren gehen. Ein Festplattenlaufwerk schreibt und liest Daten durch einen Kopf, der von einem Aktor bewegt wird, wobei sich die Lesegeschwindigkeit bei inneren Bereichen der Platte von der Lesegeschwindigkeit bei äußeren Bereichen der Festplatte unterscheidet. Festkörperplatten (SSDs), die Flash-Speicher verwenden, ersetzen bei gewissen Anwendungen für Massendatenspeicherung zunehmend Festplattenlaufwerke. Eine Datenzugriffsgeschwindigkeit ist schneller als im Falle eines Festplattenlaufwerks und insbesondere dann, wenn mehrere Dateien zeitgleich ausgelesen werden.
  • Gewöhnliche Speichersysteme umfassen einen Speicher, der Daten speichert und eine Speichersteuerung, die den Betrieb des Speichers steuert. Ein Flash-Speicher ist ein Typ eines Halbleiterspeichers, der Transistorspeicherzellen, d. h. Floating-Gate-Transistoren, die Daten speichern, umfasst. Durch das Ansammeln einer vorbestimmten Menge an Ladungen in dem Floating-Gate wird ein Programmablauf durchgeführt. In jeder Speicherzelle werden Single-Bit-Daten oder Multi-Bit-Daten gespeichert. Die Speicherzelle, in der die Single-Bit-Daten gespeichert sind, weist zwei Spannungspegel auf, die durch die Verteilung von Schwellwertspannungen bestimmt werden und die Speicherzelle, in der die Multi-Bit-Daten gespeichert sind, weist vier oder mehr Spannungspegel auf.
  • Single-Bits, d. h. logisch 1 und logisch 0, können durch eine vorbestimmte Ladungsmenge abgebildet werden, die sich in einem Floating-Gate eines Transistors ansammelt. Mit anderen Worten wird eine Schwellwertspannung des Transistors durch die Ladungen bestimmt, die in dem Floating-Gate gespeichert sind. Folglich können ein eingeschalteter Transistor und ein ausgeschalteter Transistor voneinander unterschieden werden, wenn ein Signal bei einem vorbestimmten Spannungspegel an einen Gate-Anschluss eines Transistors angelegt wird. Um ein Single-Bit auszulesen, kann an dem Gate-Anschluss des Transistors ein Single-Typ eines Auslese-Spannungspegels angelegt werden.
  • Wenn Multi-Bits, wie zum Beispiel logisch 00, 01, 10, und 11 gebildet werden, sollte die Ladungsmenge, die an dem Floating-Gate angesammelt wird, in drei Typen unterteilt werden, und daher werden drei Typen von Auslese-Spannungspegeln benötigt. Die Ladungen, die in dem Floating-Gate eines Flash-Speichers gespeichert werden, sollten einheitlich innerhalb eines zulässigen Bereichs variieren, da sich ihre Beweglichkeit mit einer Abweichung der Temperatur verändert, gespeicherte Ladungen sich mit der Zeit reduzieren, während eines Programmablaufs Störungen in benachbarten Zellen auftreten, sowie weitere Effekte. Demzufolge wird die Ladungsmenge, die in dem Floating-Gate angesammelt werden soll, unter Berücksichtigung einer vorbestimmten Toleranz zwischen Spannungspegeln von Programmabläufen und Auslese-Spannungspegeln angepasst.
  • Eine Grundeinheit zum Schreiben von Daten in einer Flash-Speicherzelle ist eine Seite. Um eine Speicherzelle des Flash-Speichers zu programmieren, sollte eine vorbestimmte Spannung an die Source-, Drain-, Gate- und Bulk-Abschnitte angelegt werden. Wenn jedoch der Strom plötzlich ausgeschaltet wird während ein Programmablauf durchgeführt wird, können Daten, die geschrieben werden, nicht ordnungsgemäß gespeichert werden. Die Daten, die in dieser Seite in diesem Zustand gespeichert sind können nicht benutzt werden und können unkorrigierbar sein.
  • Während des Ausleseablaufs einer Seite verwendet die Speichersteuerung einen Fehlerberichtigungscode(ECC)-Algorithmus, um zu bestimmen, ob ein ECC-Fehler oder ein korrigierbarer ECC-Fehler in der Seite erzeugt worden ist. Wenn die Speichersteuerung bestimmt, dass die Seite nicht normal programmiert ist, erzeugt die Speichersteuerung ein Unkorrigierbarer-ECC-Fehler-Signal, so dass die Seitendaten als ungültige Daten verarbeitet werden können. Mit anderen Worten wird, wenn bestimmt wird, dass die Seite programmiert wird bevor die Stromzufuhr unterbrochen wird und aufgrund der plötzlichen Unterbrechung der Stromzufuhr ein Fehler erzeugt wird, die Seite als ungültige Daten verarbeitet und Daten von logischen Blockadressen (LBA) einer letzten Schreibanforderung werden nicht beachtet.
  • Allerdings können Daten, die in der Seite gespeichert sind korrigiert werden, wenn der Programmablauf fast abgeschlossen ist. In diesem Fall erzeugt die Speichersteuerung ein Korrigierbarer-ECC-Fehler-Signal, so dass die Seite später verwendet werden kann. Wenn der Programmierablauf fast abgeschlossen ist, wird schließlich eine Grenzwertmenge einer Ladung an dem Floating-Gate angesammelt. Wenn jedoch die Seite korrigierbar ist und die in der Seite gespeicherten Daten verwendet werden können ohne abgeschlossen zu sein, kann ein Lesefehler erzeugt werden, wenn die Daten ausgelesen werden. In diesem Fall wird auf der Seite später kein Programmierablauf ausgeführt werden, da durch die Speichersteuerung ein Korrigierbarer-Fehler-Signal erzeugt worden ist. Die Ladungen, die an dem Floating-Gate angesammelt sind, sind somit nicht ausreichend.
  • Die Ladungsmenge, die an dem Floating-Gate angesammelt ist, kann durch eine Funktion des Lesens der gespeicherten Daten und aufgrund eines natürlichen Verlusts reduziert werden. Wenn die Ladungsmenge, die an dem Floating-Gate angesammelt ist nicht ausreicht, weisen die in den Zellen gespeicherten Daten einen Wert auf, der sich von dem zugedachten Wert während des Programmierungsablaufs unterscheidet.
  • Demzufolge wird ein Verfahren zum Blockieren von Lesefehlern benötigt, die auftreten können, wenn Daten ausgelesen werden, die in einer Seite gespeichert sind, für die ein Programmierablauf fast abgeschlossen ist.
  • ZUSAMMENFASSUNG
  • Gemäß einigen Ausführungsformen der Erfindung, umfasst ein Speichersystem eine Festkörperplatte (SSD) und eine Speichersteuerung. Die SSD umfasst eine Vielzahl an Speicherzellen. Die Speichersteuerung schreibt Daten in die SSD oder liest Daten aus der SSD aus. Die Speichersteuerung legt eine Standard-Schreibspannung und eine Korrektur-Schreibspannung, die eine vorbestimmte Pegeldifferenz zu der Standard-Lesespannung aufweist, an die SSD an, und analysiert unter Verwendung der Standard-Lesespannung und der Korrektur-Lesespannung die Verteilung von Daten, die in der SSD gespeichert sind, und bestimmt ob die in der SSD gespeicherten Daten gültig sind, und korrigiert die in der SSD gespeicherten Daten.
  • Gemäß einiger anderer Ausführungsformen der Erfindung weist ein Speichersystem einen Speicher und eine Speichersteuerung zum Steuern des Speichers auf, wobei die Speichersteuerung unter Verwendung eines Standard-Lesespannungspegels und eines Korrektur-Lesespannungspegels Daten, die in einer Speicherzelle gespeichert sind, die in dem Speicher enthalten ist, oder Daten, die in einer Speicherseite einer Speicherzelle, die in dem Speicher enthalten ist, ausliest, einen Lesefehler, der in der Speicherzelle auftritt erfasst, Daten, die in einer Speicherzelle gespeichert sind, ausliest nachdem ein Lesespannungspegel angepasst ist, um eine Funktion zum Bestimmen, ob die Speicherzelle in Übereinstimmung mit einem Erfassungssignal verwendet wird oder ob Daten erneut in der Speicherzelle gespeichert werden müssen, durchzuführen, und einen Lesefehler, der in der Speicherzelle auftritt erfasst.
  • Gemäß einiger weiterer Ausführungsformen der Erfindung wird ein Verfahren zum Erfassen einer Verteilung von instabilen Speicherzellen unter einer Vielzahl von Speicherzellen, in der Seiten einer einzelnen Speicherzelle oder der Vielzahl von Speicherzellen enthalten sind, vorgeschlagen. Das Verfahren umfasst einen Speicherzellen-Ausgangszustands-Prüfablauf und einen Speicherzellen-Korrektur-Bestimmungsablauf. Bei dem Speicherzellen-Ausgangszustands-Prüfablauf wird ein Ausgangszustand von den in einer Speicherzelle gespeicherten Daten geprüft und es wird in Übereinstimmung mit dem Prüfergebnis bestimmt, ob kein Lesefehler auftritt, wenn in der Speicherzelle gespeicherte Daten bei einem Standard-Lesespannungspegel ausgelesen werden, ob ein Lesefehler auftritt und der Lesefehler korrigierbar ist, oder ein Lesefehler auftritt und der Lesefehler unkorrigierbar ist. Bei dem Speicherzellen-Korrektur-Bestimmungsablauf wird dann, wenn bestimmt worden ist, dass der Lesefehler korrigierbar ist, durch Auslesen der in der Speicherzelle gespeicherten Daten bei einem Korrektur-Lesespannungspegel, der eine Pegeldifferenz zu dem Standard-Lesespannungspegel aufweist, bestimmt, ob die Speicherzelle korrigierbar ist, und es wird bestimmt, ob ein Lesefehler, der dann auftritt, wenn die in der Speicherzelle gespeicherten Daten bei dem Korrektur-Lesespannungspegel ausgelesen werden, korrigierbar oder unkorrigierbar ist.
  • Gemäß einiger weiterer Ausführungsformen der Erfindung wird ein Verfahren zum Bestimmen einer Verteilung von instabilen Speicherzellen unter einer Vielzahl von Speicherzellen, in der Seiten einer einzelnen Speicherzelle oder der Vielzahl an Speicherzellen enthalten sind, vorgeschlagen. Das Verfahren umfasst einen Speicherzellen-Ausgangszustands-Prüfablauf und einen Speicherzellen-Korrektur-Bestimmungsablauf. Bei dem Speicherzellen-Ausgangszustands-Prüfablauf wird ein Ausgangszustand von in der Speicherzelle gespeicherten Daten geprüft, und es wird in Übereinstimmung mit einem Prüfergebnis bestimmt, ob kein Lesefehler auftritt, wenn in der Speicherzelle gespeicherte Daten bei einem Standard-Lesespannungspegel ausgelesen werden, ob ein Lesefehler auftritt und der Lesefehler korrigierbar ist, oder ob ein Lesefehler auftritt und der Lesefehler unkorrigierbar ist. Bei dem Speicherzellen-Korrektur-Bestimmungsablauf wird dann, wenn bestimmt ist, dass der Lesefehler korrigierbar ist, durch Auslesen der in der Speicherzelle gespeicherten Daten bei einem Korrektur-Lesespannungs-Pegel, der eine Pegeldifferenz zu dem Standard-Lesespannungspegel aufweist, geprüft, ob die Speicherzelle korrigierbar ist, und es wird bestimmt, ob der Lesefehler, der dann auftritt, wenn die in der Speicherzelle gespeicherten Daten bei dem Korrektur-Lesespannungspegel ausgelesen werden, korrigierbar oder unkorrigierbar ist. Der Speicherzellen-Korrektur-Bestimmungsablauf wird wiederholt durchgeführt, durch Anpassen des Korrektur-Lesespannungspegels als mindestens zwei Spannungspegel, oder der Speicherzellen-Ausgangszustands-Prüfablauf und der Speicherzellen-Korrektur-Bestimmungsablauf werden wiederholt an mindestens zwei Seiten durchgeführt. Wahlweise werden diese beiden Möglichkeiten wiederholt durchgeführt.
  • Einige weitere Ausführungsformen betreffen ein Verfahren zum Betreiben einer Schaltung zum Erfassen von instabilen Speicherzellen unter einer Vielzahl von Speicherzellen in mindestens einer Seite eines Speichers. Das Verfahren umfasst ein Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten, ob ein Lesefehler auftritt, wenn die Daten bei einem Standard-Lesespannungspegel ausgelesen werden, ob ein Lesefehler auftritt und der Lesefehler korrigierbar ist, und ob ein Lesefehler auftritt und der Lesefehler unkorrigierbar ist. In Reaktion auf ein Bestimmen, dass ein Lesefehler auftritt, der korrigierbar ist, wird eine weitere Bestimmung darüber, ob die Speicherzelle korrigierbar ist, vorgenommen, durch Auslesen der in der Speicherzelle gespeicherten Daten bei einem Korrektur-Lesespannungspegel, der einen Spannungspegel aufweist, der sich von dem Standard-Lesespannungspegel unterscheidet, und durch Bestimmen, ob ein Lesefehler, der in den Daten auftritt, die bei dem Korrektur-Lesespannungspegel ausgelesen werden, korrigierbar oder unkorrigierbar ist.
  • In einigen weiteren Ausführungsformen wird auf die Bestimmung, dass kein Lesefehler auftritt, eine Reaktion vorgenommen, durch Bestimmen, dass in der Speicherzelle oder in einer Seite der Speicherzelle gespeicherte Daten stabil sind, und in Reaktion auf eine Bestimmung, dass der Lesefehler unkorrigierbar ist, durch Bestimmen, dass die in der Speicherzelle oder in der Seite der Speicherzelle gespeicherten Daten nicht für einen Datenzugriff durch eine Host-Vorrichtung zu verwenden sind. Das Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten kann ein Bestimmen aus dem Ausgangszustand von den in einer Speicherzelle gespeicherten Daten, ob ein unkorrigierbarer Lesefehler aufgetreten ist, und in Reaktion auf ein Bestimmen, dass kein unkorrigierbarer Lesefehler aufgetreten ist, ein Bestimmen, ob es keinen Lesefehler gibt, umfassen.
  • Das Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten kann ein erstes Bestimmen einer Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn in den Speicherzellen gespeicherte Daten bei dem Standard-Lesespannungspegel ausgelesen werden, umfassen. Das weitere Bestimmen, ob die Speicherzelle korrigierbar ist, kann ein Bestimmen, ob ein Lesefehler, der auftritt, wenn in den Speicherzellen gespeicherte Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, korrigierbar oder unkorrigierbar ist, umfassen.
  • Das Bestimmen, ob ein Lesefehler, der auftritt, wenn in den Speicherzellen gespeicherte Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, korrigierbar oder unkorrigierbar ist, kann ein Bestimmen, ob der Lesefehler unkorrigierbar ist, in Reaktion auf ein Bestimmen, dass ein Lesefehler korrigierbar ist, ein zweites Bestimmen einer Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn die in den Speicherzellen gespeicherten bei dem Korrektur-Lesespannungspegels ausgelesen werden, und ein Bestimmen, ob die Anzahl der Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Korrektur-Lesespannungspegel ausgelesen werden, größer ist als eine Anzahl von Speicherzellen ist, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Standard-Lesespannungspegel ausgelesen werden, umfassen.
  • In Reaktion auf eine Bestimmung, dass der Lesefehler unkorrigierbar ist, wird eine weitere Bestimmung, dass Daten in einer Speicherzelle oder in einer Seite des Speichers nicht für einen Datenzugriff durch einen Host zu verwenden sind, und ein Beschränken eines Zugriffs durch den Host auf diese (welche durch eine Speichersteuerung ausgeführt werden kann) vorgenommen. In Reaktion auf eine Bestimmung, dass die Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Korrektur-Lesespannungspegel ausgelesen werden, größer als eine Anzahl von Speicherzellen ist, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Standard-Lesespannungspegel ausgelesen werden, wird eine weitere Bestimmung, dass die in der Speicherzelle oder in der Seite der Speicherzelle gespeicherten Daten nicht für einen Datenzugriff durch den Host zu verwenden sind, und ein Beschränkung eines Zugriffs durch den Host auf diese, vorgenommen. In Reaktion darauf, dass die Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Korrektur-Lesespannungspegel ausgelesen werden, kleiner ist als die Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Standard-Lesespannungspegel ausgelesen werden, wird eine weitere Bestimmung vorgenommen, dass die in der Speicherzelle oder in der Seite der Speicherzelle gespeicherten Daten stabil sind und für einen Zugriff durch den Host zulässig sind.
  • Das Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten und das Bestimmen, ob die Speicherzelle korrigierbar ist, kann an einer Vielzahl von Seiten wiederholend durchgeführt werden. Das Bestimmen, ob die Speicherzelle korrigierbar ist, kann ein wiederholendes Auslesen der Speicherzelle bei einer Vielzahl von verschiedenen Spannungspegeln umfassen.
  • Einige weitere Ausführungsformen betreffen ein Verfahren zum Betreiben einer Schaltung, um instabile Speicherzellen unter einer Vielzahl von Speicherzellen in mindestens einer Seite zu erfassen. Das Verfahren kann ein Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten, ob kein Lesefehler auftritt, wenn die Daten bei einem Standard-Lesespannungspegel ausgelesen werden, ob ein Lesefehler auftritt und der Lesefehler korrigierbar ist, und ob ein Lesefehler auftritt und der Lesefehler unkorrigierbar ist, umfassen. In Reaktion auf ein Bestimmen, dass ein Lesefehler auftritt, der korrigierbar ist, wird eine weitere Bestimmung vorgenommen, ob die Speicherzelle korrigierbar ist, durch Auslesen der in der Speicherzelle gespeicherten Daten bei einem Korrektur-Lesespannungspegel, der einen Spannungspegel aufweist, der sich von dem Standard-Lesespannungspegel unterscheidet, und es wird eine Bestimmung vorgenommen, ob ein Lesefehler, der in Daten auftritt, die bei dem Korrektur-Lesespannungspegel ausgelesen werden, korrigierbar oder unkorrigierbar ist. Das Bestimmen, ob die Speicherzelle korrigierbar ist, durch Auslesen der in der Speicherzelle gespeicherten Daten, wird bei einer Vielzahl von verschiedenen Korrektur-Lesespannungen wiederholend durchgeführt.
  • Einige andere Ausführungsformen betreffen ein Speichersystem, das einen Speicher und eine Speichersteuerung umfasst. Die Speichersteuerung ist dazu ausgestaltet, den Speicher zu steuern, wobei die Speichersteuerung Daten, die in einer Speicherzelle des Speichers oder in einer Speicherseite der Speicherzelle des Speichers gespeichert sind, unter Verwendung eines Standard-Lesespannungspegels ausliest und die Daten, die in der Speicherzelle des Speichers oder in einer Speicherseite der Speicherzelle des Speichers gespeichert sind, unter Verwendung eines Korrektur-Lesespannungspegels, der sich von dem Standard-Lesespannungspegel unterscheidet, ausliest, und dazu ausgestaltet ist, zu bestimmen, ob ein Datenzugriff auf die Speicherzelle durch einen Host zulässig ist, in Reaktion auf ein Erfassen, ob ein Lesefehler in der Speicherzelle auftrat, wenn diese bei dem Korrektur-Lesespannungspegel ausgelesen wurde und wenn bei dem Standard-Lesespannungspegel ausgelesen wurde.
  • Einige weitere Ausführungsformen betreffen ein Speichersystem, das eine Festkörperplatte (SSD) und eine Speichersteuerung umfasst. Die SSD umfasst eine Vielzahl von Speicherzellen. Die Speichersteuerung ist dazu ausgestaltet, Daten in die SSD zu schreiben und Daten aus der SSD auszulesen. Die Speichersteuerung verwendet sequenziell eine Standard-Lesespannung, um Daten aus den Speicherzellen auszulesen und verwendet eine Korrektur-Lesespannung, die sich von der Standard-Lesespannung unterscheidet, um Daten von den Speicherzellen auszulesen, und bestimmt eine Verteilung von Lesefehlern in den Daten, die bei der Standard-Lesespannung und bei der Korrektur-Lesespannung von den Speicherzellen ausgelesen wurden, und bestimmt in Reaktion auf die bestimmte Verteilung von Lesefehlern, ob Daten, die in der Vielzahl von Speicherzellen gespeichert sind, gültig sind.
  • Die Speichersteuerung kann eine zentrale Verarbeitungseinheit (CPU) und eine Fehlerkorrekturcode (ECC)-Einheit umfassen. Die CPU führt die Standard-Lesespannung an der SSD zu und bestimmt die Verteilung von Fehlern, wenn die Daten unter Verwendung der Standard-Lesespannung ausgelesen werden. Die ECC-Einheit bestimmt, ob in den in der SSD gespeicherten Daten ein Fehler aus der bestimmten Verteilung auftritt. In Reaktion auf ein Bestimmen, dass ein Fehler in den in der SSD gespeicherten Daten auftrat, bestimmt die CPU, ob der Fehler korrigierbar oder unkorrigierbar ist. In Reaktion auf ein Bestimmen, dass der Fehler unkorrigierbar ist, weist die CPU einen Host an, die in der Speicherzelle gespeicherten Daten nicht zu verwenden. In Reaktion auf eine Bestimmung, dass der Fehler korrigierbar ist, führt die CPU die Korrektur-Lesespannung an der SSD zu und bestimmt die Verteilung von Fehlern in den Daten, die unter Verwendung der Korrektur-Lesespannung ausgelesen werden, und die ECC-Einheit bestimmt in Übereinstimmung mit der bestimmten Verteilung von Fehlern in den Daten, die unter Verwendung der Korrektur-Lesespannung ausgelesen werden, ob der Fehler korrigierbar oder unkorrigierbar ist, und die CPU korrigiert die in der SSD gespeicherten Daten in Übereinstimmung mit der bestimmten Verteilung von Fehlern.
  • Die Speichersteuerung kann weiterhin einen Arbeitsspeicher (RAM) umfassen. Wenn die in der SSD gespeicherten Daten korrigiert werden, speichert die CPU die in der Speicherzelle gespeicherten Daten in dem RAM und schreibt danach die in dem RAM gespeicherten Daten wieder in die Speicherzelle der SSD.
  • Die SSD kann einen Flash-Speicher umfassen. Eine Gültigkeit der in der SSD gespeicherten Daten kann basierend auf Daten bestimmt werden, die von einer Sektion der SSD umfasst werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Beispielhafte Ausführungsformen der Erfindung werden besser verständlich aus der nachfolgenden näheren Beschreibung in Verbindung mit den begleitenden Zeichnungen:
  • 1 stellt die Programmierungsverteilung von einer Seite eines niedrigstwertigen Bits (LSB) dar;
  • 2 stellt die Programmierverteilung von einer LSB-Seite und einer Seite eines höchstwertigen Bits (MSB) dar;
  • 3 ist ein Flussdiagramm, das Verfahren zum Erfassen von der Verteilung von instabilen Speicherzellen in Übereinstimmung mit einigen Ausführungsformen der Erfindung darstellt;
  • 4 ist ein Flussdiagramm, das Verfahren zum Erfassen der Verteilung von instabilen Speicherzellen, die einen Vorgang zum Anpassen eines Korrektur-Lesespannungspegels in Übereinstimmung mit einigen Ausführungsformen der Erfindung umfassen, darstellt;
  • 5 ist ein Flussdiagramm, das Verfahren zum Erfassen der Verteilung von instabilen Speicherzellen, die einen Ablauf eines wiederholt durchgeführten Programmierungsablaufs an einer Vielzahl von Seiten in Übereinstimmung mit einigen anderen Ausführungsformen der Erfindung umfassen, darstellt;
  • 6 ist ein Blockdiagramm von einem Speichersystem, das eine Speichersteuerung umfasst, die derart ausgestaltet ist, dass sie die Verteilung von instabilen Speicherzellen erfasst, in Übereinstimmung mit einigen Ausführungsformen der Erfindung;
  • 7 bis 9 stellen Beispiele für das Verarbeiten von Seiten, die instabile Speicherzellen umfassen, dar; und
  • 10 ist ein Speichersystem in Übereinstimmung mit einigen anderen Ausführungsformen der Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Ausführungsformen der Erfindung werden nachstehend unter Bezugnahme auf die begleitenden Zeichnungen, in denen Ausführungsformen der Erfindung gezeigt werden, näher beschrieben. Die Erfindung kann jedoch in vielen verschiedenen Formen ausgeführt werden und sollte nicht auf die vorgestellten Ausführungsformen begrenzt ausgelegt werden. Diese Ausführungsformen werden vielmehr bereitgestellt, damit diese Offenbarung klar und vollständig ist, und sie werden dem Fachmann den Umfang der Erfindung vollständig vermitteln. Gleiche Ziffern beziehen sich durchgehend auf gleiche Elemente.
  • Es wird verstanden werden, dass obwohl die Ausdrücke erste, zweite, usw. hierin zum Beschreiben verschiedener Elemente verwendet werden können, wobei diese Elemente nicht auf diese Ausdrücke beschränkt sind. Diese Ausdrücke werden nur zum Unterscheiden eines Elements von einem anderen verwendet. Zum Beispiel könnte ein erstes Element als ein zweites Element bezeichnet werden, und genauso könnte ein zweites Element als ein erstes Element bezeichnet werden, ohne von dem Umfang der beispielhaften Ausführungsformen abzuweichen. Wie hier verwendet, umfasst der Ausdruck „und/oder” jeden und alle Kombinationen von einem oder mehreren dazugehörigen aufgeführten Gegenständen.
  • Die hier verwendete Terminologie ist nur zum Zwecke der Beschreibung bestimmter Ausführungsformen und nicht dazu gedacht, beispielhafte Ausführungsformen zu beschränken. Wie hierin verwendet sind die Singularformen „einer/eine/eines” und „der/die/das” so gedacht, dass sie die Pluralformen auch mit umfassen, solange der Kontext nicht eindeutig anderes anzeigt. Es wird außerdem verstanden werden, dass die Begriffe „umfasst”, „umfassend”, „enthält”, und „enthaltend”, wenn sie hier verwendet werden, das Vorhandensein der angegebenen Merkmale, Zahlen, Schritte, Abläufe, Elemente und/oder Komponenten spezifizieren, aber nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer anderer Merkmale, Zahlen, Schritte, Abläufe, Elemente, Komponenten und/oder Gruppen davon ausschließen.
  • Solange nicht anders definiert, besitzen hier alle Begriffe (einschließlich technischer und wissenschaftlicher Begriffe) die gleiche Bedeutung, wie sie allgemein von einem gewöhnlichen Durchschnittsfachmann auf dem Gebiet verstanden werden, zu dem die beispielhaften Ausführungsformen gehören. Es wird weiter verstanden werden, dass Begriffe, wie zum Beispiel diejenigen, die in üblicher Weise verwendeten Wörterbüchern definiert sind, so ausgelegt werden sollen, dass sie eine Bedeutung besitzen, die konsistent ist mit der Bedeutung in dem Kontext der verwandten Technik und nicht in einer idealisierten oder übermäßig formalen Art und Weise ausgelegt werden sollen, außer es ist hier ausdrücklich so definiert.
  • Es wird verstanden werden, dass wenn ein Element als „verbunden” oder „gekoppelt” mit einem anderen Element bezeichnet wird, es mit dem anderen Element direkt verbunden oder gekoppelt sein kann oder Zwischenelemente vorhanden sein können. Demgegenüber gibt es keine Zwischenelemente, wenn ein Element als „direkt verbunden” oder „direkt verbunden mit einem anderen Element” bezeichnet wird.
  • Gemäß einiger Ausführungsformen wird die Verteilung von Schwellwertspannungen der Speicherzellen unter Verwendung eines Korrektur-Lesespannungspegels erfasst, der sich von einem Standard-Lesespannungspegel, der in einem normalen Betriebszustand verwendet wird, unterscheidet, und die Gültigkeit eines Programmierungsablaufs einer entsprechenden Speicherzelle wird basierend auf dem Erfassungsergebnis bestimmt. Ebenso werden Fehler, die aufgrund von Veränderungen in der Umgebung einer Speichervorrichtung nach dem Auftreten von einem Problem während eines Programmierungsablaufs oder nachdem ein normaler Programmierungsablauf durchgeführt wurde, auftreten können, geprüft und im Voraus gemessen.
  • 1 stellt die Programmierungsverteilung einer Seite eines niedrigstwertigen Bits (LSB) dar. Die LSB-Seite wird als logisch hoch oder logisch niedrig in einer Single-Level-Zelle (SLC) oder einer Multi-Level-Zelle (MLC) abgebildet. Eine Normalverteilung P1, die durch eine durchgezogene Linie angezeigt ist, stellt den Fall dar, in der die LSB-Seite normal programmiert ist, und eine anormale Verteilung P1', die durch eine gepunktete Linie angezeigt ist, stellt den Fall dar, in dem ein Programmierungsablauf anormal durchgeführt wurde oder der Programmierablauf normal durchgeführt wurde, aber die Verteilung aufgrund von Umgebungsfaktoren einer Speichervorrichtung abweicht. Die horizontale Achse stellt Spannungspegel dar und die vertikale Achse stellt die Anzahl von Speicherzellen dar, die dem Spannungspegel entsprechen. Die Spannungspegel der Spannungszellen sind Spannungen, die zum Einschalten der Speicherzellen verwendet werden, d. h. Schwellwertspannungen. Der Begriff der Verteilung wird verwendet, weil die Basiseinheit zum Schreiben von in einer Speicherzelle gespeicherten Daten eine Seite ist und eine Vielzahl von Speicherzellen in einer Seite enthalten sind.
  • Wenn die in der Speicherzelle gespeicherten Daten der normalen Verteilung P1 entsprechen tritt kein Lesefehler auf, wenn die in der Speicherzelle gespeicherten Daten unter Verwendung eines Standard-Lesespannungspegels lesen 1 ausgelesen werden. Mit anderen Worten werden die Speicherzellen, die jeweils eine Schwellwertspannung aufweisen, die dem Standard-Lesespannungspegel lesen 1 entspricht, nicht gefunden. In der normalen Verteilung P1 gibt es keine Speicherzellen, die jeweils eine Schwellwertspannung aufweisen, die einem Korrektur-Lesespannungspegel lesen 1', die sich durch eine vorbestimmte Differenz von dem Standard-Lesespannungslevel lesen 1 unterscheidet, aufweisen. Wenn die Schwellwertspannungen der Speicherzellen nicht aufgrund von Umgebungsfaktoren der Speicherzellen angepasst werden, nachdem der Programmierungsablauf normal durchgeführt wurde oder angesammelte Ladungen an dem Floating-Gate nicht verloren gingen, tritt kein Lesefehler auf, selbst wenn der Standard-Lesespannungspegel lesen 1 und der Korrektur-Lesespannungspegel lesen 1' innerhalb eines vorbestimmten Bereichs, wie obenstehend beschrieben, korrigiert werden.
  • Allerdings kann es in der anormalen Verteilung P1', in welcher der Programmierungsablauf anormal programmiert ist, sein, dass keine Fehler auftreten, wenn die in der Speicherzelle gespeicherten Daten unter Verwendung des Standard-Lesespannungspegels lesen 1 ausgelesen werden. Wenn jedoch die in der Speicherzelle gespeicherten Daten unter Verwendung des Korrektur-Lesespannungspegels lesen 1' ausgelesen werden, tritt ein Lesefehler auf. Mit anderen Worten gibt es eine Vielzahl von Speicherzellen, die jeweils eine Schwellwertspannung aufweisen, die dem Korrektur-Lesespannungslevel lesen 1' entspricht.
  • Wie obenstehend beschrieben, tritt in normalen Speicherzellen selbst dann ein Lesefehler auf, wenn der Standard-Lesespannungspegel lesen 1 und der Korrektur-Lesespannungspegel lesen 1' innerhalb eines vorbestimmten Bereichs angepasst werden.
  • Andererseits nimmt in anormalen Speicherzellen selbst dann, wenn der Standard-Lesespannungspegel lesen 1 und der Korrektur-Lesespannungspegel lesen 1' geringfügig angepasst werden, die Wahrscheinlichkeit zu, dass ein Lesefehler auftreten kann. Eine Differenz zwischen dem Korrektur-Lesespannungspegel lesen 1' und dem Standard-Lesespannungspegel lesen 1 kann in Übereinstimmung mit einem Transistor, der in Speicherzellen verwendet wird, verwendet werden. Die Differenz kann in Schritten von 0,05 V vergrößert oder verkleinert werden.
  • 2 bildet die Programmierungsverteilung von einer LSB-Seite und einer Seite eines höchstwertigen Bits (MSB) ab. Die in 2 abgebildete Verteilung betrifft eine MSB- oder eine LSB-Seite in einer MLC. Die normalen Verteilungen P1, P2 und P3, die durch eine durchgezogene Linie angezeigt sind, stellen den Fall dar, in dem die MSB- oder LSB-Seite normal programmiert ist und anormale Verteilungen P1', P2', und P3', die durch eine gepunktete Linie angezeigt sind, stellen den Fall dar, in dem ein Programmierungsablauf normal durchgeführt ist, aber die Verteilung aufgrund von Umgebungseinflüssen einer Speichervorrichtung abweicht. Die Verteilung von 2 betrifft Multi-Bits und demzufolge stellt die Verteilung von jedem der Multi-Bits logisch 00, 01, 10 oder 11 dar.
  • Bezug nehmend auf 2 gibt es in den normalen Verteilungen P1, P2 und P3 der Speicherzellen, die normal programmiert sind, keine Speicherzellen, die Schwellwertspannungen aufweisen, die den Standard-Lesespannungspegeln lesen 1, lesen 2 und lesen 3 und Korrektur-Lesespannungspegeln lesen 1', lesen 2' und lesen 3' entsprechen. Bei den anormalen Verteilungen P1', P2' und P3' der Speicherzellen, die anormal programmiert sind, gibt es keine Speicherzellen, die Schwellwertspannungen aufweisen, die den Standard-Lesespannungspegeln lesen 1, lesen 2 und lesen 3 entsprechen, aber es gibt Speicherzellen, die Schwellwertspannungen aufweisen, die den Korrektur-Lesespannungspegeln lesen 1', lesen 2' und lesen 3' entsprechen.
  • Wenn Umgebungsfaktoren von normal programmierten Speicherzellen oder einem Speichersystem, das normal programmierte Speicherzellen umfasst, variieren, tritt mit Bezugnahme auf die 1 und 2 dann, wenn Schwellwertspannungspegel der Speicherzellen kaum angepasst werden, sowohl in dem Fall, in dem Daten bei den Standard-Lesespannungspegeln lesen 1, lesen 2 und lesen 3 ausgelesen werden, als auch in dem Fall, in dem Daten bei den Korrektur-Lesespannungspegeln lesen 1', lesen 2' und lesen 3' ausgelesen werden, kein Lesefehler auf. Wenn jedoch die Schwellwertspannungspegel der Speicherzellen in Reaktion auf eine Änderung der Umgebungsfaktoren von anormal programmierten Speicherzellen oder einem Speichersystem, das anormal programmierte Speicherzellen umfasst, schnell angepasst werden, tritt ein Lesefehler auf. Nachstehend werden verschiedene Ausführungsformen basierend auf der obenstehenden Beschreibung beschrieben.
  • 3 ist ein Flussdiagramm, das Verfahren zum Erfassen der Verteilung von instabilen Speicherzellen (300) in Übereinstimmung mit einigen Ausführungsformen der Erfindung abbildet. In Bezug auf 3 umfassen die Verfahren ein Auslesen von in den Speicherzellen gespeicherten Daten (Ablauf 310), ein Prüfen eines Ausgangszustands der Daten (Ablauf 320), ein Bestimmen, ob ein Lesefehler korrigierbar ist (Ablauf 350), ein Bestimmen von nicht verwendeten Speicherzellen (Ablauf 380), ein Neuprogrammieren von Speicherzellen, die als nicht verwendete Speicherzellen bestimmt wurden (Ablauf 380-1), und ein Bestimmen von stabilen Speicherzellen (Ablauf 390).
  • In Ablauf 310 werden in Speicherzellen gespeicherte Daten bei Standard-Lesespannungspegeln ausgelesen.
  • In Ablauf 320 werden in Speicherzellen gespeicherte Daten bei den Standard-Lesespannungspegeln ausgelesen und eine Bestimmung vorgenommen, ob ein Fehler auftritt. Wenn ein Lesefehler auftritt, wird eine weitere Bestimmung, ob der Lesefehler korrigierbar oder unkorrigierbar ist, vorgenommen. Demzufolge umfasst ein Ablauf 320 eine erste Bestimmung, ob der Lesefehler unkorrigierbar ist (Ablauf 321) und eine zweite Bestimmung, ob es keinen Lesefehler gibt (Ablauf 322).
  • Wenn in Ablauf 321 bestimmt wird, dass der Lesefehler unkorrigierbar ist, wird bestimmt, dass in einer Speicherzelle gespeicherte Daten oder eine Seite, in welcher der Lesefehler auftritt, nicht verwendet werden (Ablauf 380). In diesem Fall wird schließlich ein Neuprogrammieren der Speicherzellen, die als nicht verwendete Speicherzellen bestimmt sind (Ablauf 380-1) durchgeführt. Wenn in Ablauf 321 bestimmt wird, dass der Lesefehler korrigierbar ist, gibt es entweder keinen Lesefehler oder es verbleibt lediglich ein korrigierbarer Lesefehler. Wenn in Ablauf 322 bestimmt wird, dass es keinen Lesefehler gibt, besteht kein Problem in den in einer Speicherzelle oder einer Seite gespeicherten Daten, und dementsprechend kann die Speicherzelle oder Seite als stabil bestimmt werden (Ablauf 390).
  • Anschließend wird Ablauf 350 durchgeführt, wenn in Ablauf 320 bestimmt wird, dass der Lesefehler korrigierbar ist. In Ablauf 350 werden in Speicherzellen gespeicherte Daten bei einem Korrektur-Lesespannungspegel, der einen unterschiedlichen Pegel zu dem Standard-Lesespannungspegel aufweist, ausgelesen, und eine Bestimmung, ob der Lesefehler korrigierbar oder unkorrigierbar ist, wenn die in den Speicherzellen gespeicherten Daten bei dem Korrektur-Lesespannungspegel ausgelesen werden, vorgenommen.
  • Ablauf 350 umfasst ein erstes Bestimmen (Ablauf 360) und ein Bestimmen eines Korrektur-Lesefehlers (Ablauf 370).
  • Ablauf 360 umfasst ein Bestimmen einer Anzahl N von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn die in den Speicherzellen gespeicherten Daten bei dem Standard-Lesespannungspegel ausgelesen werden (Ablauf 361), und ein Bestimmen des Korrektur-Lesespannungspegels (Ablauf 362).
  • Ablauf 370 umfasst ein drittes Bestimmen (Ablauf 371), ein zweites Bestimmen (Ablauf 372) und ein viertes Bestimmen (Ablauf 373). Es wird eine Bestimmung vorgenommen, ob ein Lesefehler, der auftritt, wenn die in den Speicherzellen gespeicherten Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, korrigierbar oder unkorrigierbar ist.
  • In Ablauf 371 werden die in der Speicherzelle oder der Seite gespeicherten Daten als nicht zu verwenden bestimmt (Ablauf 380) und ein entsprechend bezeichnendes Signal kann erzeugt und verwendet werden, um eine Programmierung der Speicherzellen zu steuern, wenn bestimmt wird, dass der Lesefehler, der in den in der Speicherzelle gespeicherten Daten auftritt, unkorrigierbar ist.
  • In Ablauf 372 wird die Anzahl N' der Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn die in den Speicherzellen gespeicherten Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, bestimmt, wenn bestimmt wird, dass des Lesefehler nicht unkorrigierbar ist.
  • In Ablauf 373 wird bestimmt, ob die Anzahl N' der korrigierbaren Speicherzellen, die in Ablauf 372 bestimmt wird, größer als die Anzahl N der korrigierbaren. Speicherzellen ist, die in Ablauf 360 bestimmt wird (N' < N). In Reaktion auf die Bestimmung in Ablauf 373 werden die in der Speicherzelle oder der Seite gespeicherten Daten als nicht zu verwenden bestimmt (Ablauf 380) und ein entsprechendes bezeichnendes Signal kann erzeugt und verwendet werden, um eine Programmierung der Speicherzellen zu steuern, wenn die Anzahl N' der korrigierbaren Speicherzellen, die in Ablauf 372 bestimmt wird, größer als die Anzahl N der korrigierbaren Speicherzellen ist, die in Ablauf 360 bestimmt wird.
  • Wie obenstehend beschrieben, kann das Bestimmen von instabilen Speicherzellen (300) effizienter sein, wenn bestimmt wird, dass der Lesefehler, der auftritt, wenn die in den Speicherzellen gespeicherten Daten unter Verwendung des Standard-Lesespannungspegels ausgelesen werden, korrigierbar ist. In diesem Fall werden die in den Speicherzellen gespeicherten Daten erneut unter Verwendung des Korrektur-Lesespannungspegels, der durch Anpassen eines Lesespannungspegels erhalten wird, ausgelesen. Der Fall, in dem die in den Speicherzellen gespeicherten Daten unter Verwendung des Standard-Lesespannungspegels ausgelesen werden und der Fall, in dem die in den Speicherzellen gespeicherten Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, werden miteinander verglichen, und es wird bestimmt, ob die Speicherzelle oder die Seite nicht zu verwenden ist oder neu zu programmieren ist. Mit anderen Worten werden die Anzahl von korrigierbaren Lesefehlern, die auftreten, wenn in Speicherzellen gespeicherte Daten unter Verwendung des Standard-Lesespannungspegels ausgelesen werden und die Anzahl von korrigierbaren Lesefehlern, die auftreten, wenn in Speicherzellen gespeicherte Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, miteinander verglichen, und wenn die Anzahl der korrigierbaren Lesefehler, die auftreten, wenn in Speicherzellen gespeicherte Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, nicht kleiner als die Anzahl der korrigierbaren Lesefehler, die auftreten, wenn in Speicherzellen gespeicherte Daten unter Verwendung des Standard-Lesespannungspegels ausgelesen werden, ist, wird bestimmt, dass die Wahrscheinlichkeit, dass unkorrigierbare Lesefehler in der Speicherzelle oder der Seite auftreten können, beträchtlich hoch ist, und es werden angemessene Maßnahmen vorgenommen.
  • Die obenstehende Beschreibung bezieht sich auf eine Speicherzelle oder eine Seite. Der Korrektur-Lesespannungspegel kann ebenso auf einen beliebigen Spannungspegel eingestellt werden. Allerdings ist die Erfindung nicht darauf beschränkt, wie nachstehend beschrieben werden wird.
  • 4 ist ein Flussdiagramm, das Verfahren zum Erfassen der Verteilung von instabilen Speicherzellen (400) abbildet, die einen Ablauf zum Anpassen eines Korrektur-Lesespannungspegels in Übereinstimmung mit einigen anderen Ausführungsformen der Erfindung umfasst. In Bezug auf 4 kann ein Erfassen der Verteilung von instabilen Speicherzellen (400) unter Verwendung einer Vielzahl von Korrektur-Lesespannungspegeln, die verschiedene Spannungspegel aufweisen, durchgeführt werden. Andere Abläufe entsprechen den verschiedenen Abläufen, die in 3 abgebildet sind, und demzufolge wird nun lediglich ein Auslesen von in einer Speicherzelle gespeicherten Daten durch Anpassen eines Korrektur-Lesespannungspegels (Ablauf 430) beschrieben.
  • In Ablauf 430 werden in Speicherzellen gespeicherte Daten ausgelesen, während ein vorbestimmter Spannungspegel Inc sequenziell zu einem Standard-Lesespannungspegel Ini addiert wird oder von diesem abgezogen wird, bis der Korrektur-Lesespannungspegel einen letzten Lesespannungspegel LAST annimmt. Hierbei ist i eine Variable und L ist eine ganze Zahl. U. C. E. bedeutet ein unkorrigierbarer Fehler und C/E bedeutet ein korrigierbarer Fehler.
  • 5 ist ein Flussdiagramm, das Verfahren zum Erfassen der Verteilung von instabilen Speicherzellen (500) abbildet, die einen Ablauf zum wiederholten Durchführen eines Programmierungsablaufs an einer Vielzahl von Seiten in Übereinstimmung mit einigen anderen Ausführungsformen der Erfindung umfassen. In Bezug auf 5 kann ein Erfassen der Verteilung von instabilen Speicherzellen (500) leicht an einer Vielzahl von Seiten L durchgeführt werden.
  • Die Flussdiagramme, die in den 4 und 5 dargestellt sind, sind im Hinblick auf die Offenbarung der vorliegenden Anmeldung für den Fachmann verständlich, und demzufolge sind weitere ausführliche Beschreibungen hierzu an dieser Stelle nicht vorgesehen. Ein Fachmann kann im Hinblick auf die Offenbarung der vorliegenden Anmeldung auch die 4 und 5 in einem Flussdiagramm kombinieren, und demzufolge sind ausführliche Beschreibungen einer solchen Kombination an dieser Stelle nicht vorgesehen.
  • 6 ist ein Blockdiagramm eines Speichersystems 600, das eine Speichersteuerungsschaltung umfasst, die dazu ausgelegt ist, die Verteilung von instabilen Speicherzellen in Übereinstimmung mit einigen Ausführungsformen der Erfindung zu erfassen und die dazu ausgestaltet werden kann, die hier offenbarten Abläufe einschließlich der Abläufe der 3, 4 und/oder 5, jedoch nicht auf diese begrenzt, auszuführen. In Bezug auf 6 umfasst das Speichersystem eine Speichersteuerung 610 und einen Speicher 620.
  • Die Speichersteuerung 610 liest unter Verwendung eines Standard-Lesespannungspegels und eines Korrektur-Lesespannungspegels Daten aus, die in eine in dem Speicher 620 enthaltenen Speicherzelle gespeichert sind, oder Daten, die in einer Speicherseite der in dem Speicher 620 enthaltenen Speicherzelle gespeichert sind, erfasst einen Lesefehler, der in Speicherzellen auftritt, liest in Speicherzellen gespeicherte Daten aus nachdem ein Lesespannungspegel angepasst ist, um eine Funktion zum Erfassen eines Falls durchzuführen, in dem die Speicherzelle in Übereinstimmung mit dem Ergebnis der Erfassung verwendet wird und dem Fall, in dem Daten erneut in der Speicherzelle gespeichert werden müssen, und erfasst einen Lesefehler, der in der Speicherzelle auftritt. In Übereinstimmung mit dem Ergebnis der Erfassung wird bestimmt, ob die Speicherzelle zu verwenden ist oder ein Programmierungsablauf an der Speicherzelle erneut durchzuführen ist.
  • Dieses Verfahren wird in verschiedenen Abläufen zum Erfassen der Verteilung von instabilen Speicherzellen, die in 3, 4 und 5 dargestellt sind, beschrieben.
  • Wie obenstehend beschrieben werden die folgenden drei Abläufe zum Verarbeiten von Seiten, welche die Verteilung von instabilen Speicherzellen umfassen, durchgeführt, wenn bestimmt wird, dass der Programmierungsablauf an der Speicherzelle erneut durchgeführt werden muss.
  • 7 bis 9 bilden Beispiele zum Verarbeiten von Seiten ab, die instabile Speicherzellen umfassen. In Bezug auf 7, die einen ersten Typ zum Verarbeiten von Seiten abbildet, die eine Verteilung von instabilen Speicherzellen umfassen, werden Daten, die bei einer Seite programmiert sind, die einen Block umfasst, in dem ein korrigierbarer ECC-Fehler auftritt als nicht zu verwenden bestimmt (2), wenn eine Stromzufuhr plötzlich unterbrochen wird während ein Programmierungsablauf in einer Seiteneinheit durchgeführt wird. In diesem Fall wird der Programmierungsablauf entsprechend einer letzten Schreibanforderung zu einem Zeitpunkt, bei dem eine Stromzufuhr unterbrochen wird, erneut an Lokalblockadressen(LBA)-Daten durchgeführt.
  • In Bezug auf 8, die einen zweiten Typ zum Verarbeiten von Seiten abbildet, der die Verteilung von instabilen Speicherzellen umfasst, werden Informationen über die physikalische Position entsprechend der LBA aktualisiert (2) nachdem Daten, die in einer Seite gespeichert sind, die einen Block umfasst, in dem ein korrigierbarer ECC-Fehler auftritt, in interne überschüssige Blöcke, d. h. intakten Blöcke, kopiert worden sind (1). In diesem Fall wird kein Programmierungsablauf erneut durchgeführt und demzufolge wird eine LBA bei einer Schreibanforderung zu dem Zeitpunkt, bei dem eine Stromzufuhr unterbrochen ist als normal zu verarbeiten bestimmt.
  • In Bezug auf 9, die einen dritten Typ zum Verarbeiten von Seiten abbildet, der die Verteilung von instabilen Speicherzellen umfasst, werden Daten, die in Seiten gespeichert sind, die einen Block umfassen, in dem ein korrigierbarer ECC-Fehler auftritt, in einen temporären Puffer auf einem intakten Block kopiert (1) und danach zu den originalen Seiten (d. h. instabile Blöcke) zurückkopiert (3). Bevor das Zurückkopieren (3) durchgeführt wird können die Daten, die in der Seite gespeichert sind, an der ein unvollständiger Programmierungsablauf durchgeführt ist, gelöscht werden (2). In diesem Fall müssen Informationen über die physikalische Position entsprechend der LBA nicht aktualisiert werden.
  • 10 ist ein Speichersystem 1000 in Übereinstimmung mit einigen anderen Ausführungsformen der Erfindung. In Bezug auf 10 umfasst das Speichersystem 1000 eine Speichersteuerung 1020 und eine Festkörperplatte (SSD) 1010. Die SSD 1010 kann als eine Vielzahl von Flash-Speicherzellen realisiert werden.
  • Die Speichersteuerung 1020 ist dazu ausgestaltet, Daten in die SSD 1010 zu schreiben und Daten, die in die SSD 1010 geschrieben sind, auszulesen. Insbesondere legt die Speichersteuerung 1020 eine Standard-Lesespannung und eine Korrektur-Lesespannung, die eine vorbestimmte Pegeldifferenz zu der Standard-Lesespannung aufweist, an der SSD 1010 an, und analysiert die Verteilung von in der SSD 1010 gespeicherten Daten durch Verwendung der Standard-Lesespannung und der Korrektur-Lesespannung, bestimmt, ob in der SSD 1010 gespeicherte Daten gültig sind, und korrigiert die in der SSD 1010 gespeicherten Daten.
  • Um die oben beschriebenen Funktionen durchzuführen umfasst die Speichersteuerung 1020 ein Host-Interface (I/F) 1021, einen Arbeitsspeicher (RAM) 1022, eine zentrale Verarbeitungseinheit (CPU) 1023, eine ECC-Einheit 1024 und einen Speicher I/F 1025. Der Host I/F 1021 bildet eine Verknüpfung zwischen der Speichersteuerung 1020 und einem Host (nicht dargestellt), und der Speicher I/F 1025 bildet eine Verknüpfung zwischen der Speichersteuerung 1020 und der SSD 1010.
  • Die CPU 1023 überträgt die Standard-Lesespannung zu der SSD 1010 und analysiert die Verteilung von Daten in Übereinstimmung mit der Standard-Lesespannung. Die ECC-Einheit 1024 bestimmt aus der Verteilung der Daten, ob es einen Fehler in den in der SSD gespeicherten Daten gibt, und wenn bestimmt wird, dass es einen Fehler in den in der SSD gespeicherten Daten gibt, bestimmt die ECC-Einheit 1024 weiterhin, ob der Fehler korrigierbar oder unkorrigierbar ist.
  • Wenn bestimmt wird, dass der Fehler unkorrigierbar ist, ordnet die CPU 1023 einem Host (nicht dargestellt) an, dass die in der Speicherzelle gespeicherten Daten nicht zu verwenden sind. Wenn bestimmt wird, dass der Fehler korrigierbar ist, überträgt die CPU 1023 die Korrektur-Lesespannung zu der SSD 1010 und analysiert die Verteilung der Daten in Übereinstimmung mit der Korrektur-Lesespannung. Die ECC-Einheit 1024 bestimmt in Übereinstimmung mit dem Ergebnis der Analyse, ob der Fehler korrigierbar oder unkorrigierbar ist. Die CPU 1023 korrigiert die in der SSD 1010 gespeicherten Daten in Übereinstimmung mit dem Ergebnis der Bestimmung.
  • Die Verteilung der Daten bedeutet die Verteilung der Speicherzellen, die basierend auf einem Standard-Lesespannungspegel oder einem Korrektur-Lesespannungspegel bestimmt werden. Beispielhafte Verteilungen sind in 1 und 2 abgebildet.
  • Die in der SSD 1010 gespeicherten Daten können unter Verwendung der CPU 1023 auf verschiedene Weisen korrigiert werden. Als Beispiel hierzu werden in dem RAM 1022 gespeicherte Daten noch einmal in die Speicherzelle der SSD 1010 geschrieben nachdem die in der Speicherzelle der SSD 1010 gespeicherten Daten in dem RAM 1022 gespeichert sind.
  • Eine Vielzahl von Speicherzellen, die in der SSD 1010 enthalten sind, werden in einer Seiteneinheit von einander unterschieden. Daten werden gewöhnlich in die Vielzahl von Speicherzellen in der Seiteneinheit geschrieben. In einigen Ausführungsformen kann die Gültigkeit von geschriebenen Daten in der Seiteneinheit bestimmt werden.
  • In 10 werden funktionale Blöcke abgebildet, die in der Speichersteuerung 1020 enthalten sein können, und die das Host-Interface 1021, das RAM 1022, die CPU 1023, die ECC 1024 und das Speicherinterface 1025 umfassen. Es ist zu verstehen, dass diese beispielhafte Ausführungsform lediglich zum Nutzen der Erklärung vorgesehen ist und nicht den Umfang der Erfindung beschränkt.
  • Während die Erfindung insbesondere mit Bezug auf die beispielhaften Ausführungsformen zu dieser gezeigt und beschrieben worden ist, wird es verstanden werden, dass verschiedene Änderungen in Form und Detail an dieser vorgenommen werden können, ohne von dem Kern und dem Umfang der folgenden Ansprüche abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 10-2009-0094047 [0001]

Claims (15)

  1. Verfahren zum Betreiben einer Schaltung zum Erfassen von instabilen Speicherzellen unter einer Vielzahl von Speicherzellen in mindestens einer Seite, mit den Schritten: Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten, ob kein Lesefehler auftritt, wenn die Daten bei einem Standard-Lesespannungspegel ausgelesen werden, ob ein Lesefehler auftritt und der Lesefehler korrigierbar ist, und ob ein Lesefehler auftritt und der Lesefehler unkorrigierbar ist; und in Reaktion auf ein Bestimmen, dass ein Lesefehler auftritt, der korrigierbar ist, ein weiteres Bestimmen, ob die Speicherzelle korrigierbar ist, durch Auslesen der in der Speicherzelle gespeicherten Daten bei einem Korrektur-Lesespannungspegel, der einen Spannungspegel aufweist, der sich von dem Standard-Lesespannungspegel unterscheidet, und durch Bestimmen, ob ein Lesefehler, der in den Daten auftritt, die bei dem Korrektur-Lesespannungspegel ausgelesen werden, korrigierbar oder unkorrigierbar ist.
  2. Verfahren nach Anspruch 1, weiterhin mit einem Reagieren auf eine Bestimmung, dass kein Lesefehler auftritt, durch Bestimmen, dass in der Speicherzelle oder in einer Seite der Speicherzelle gespeicherte Daten stabil sind, und einem Reagieren auf eine Bestimmung, dass der Lesefehler unkorrigierbar ist, durch Bestimmen, dass in der Speicherzelle oder in einer Seite der Speicherzelle gespeicherte Daten nicht für einen Datenzugriff durch eine Host-Vorrichtung (1021) zu verwenden sind.
  3. Verfahren nach Anspruch 2, wobei das Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten aufweist: Bestimmen aus dem Ausgangszustand von den in einer Speicherzelle gespeicherten Daten, ob ein unkorrigierbarer Lesefehler aufgetreten ist, und in Reaktion auf ein Bestimmen, dass kein unkorrigierbarer Lesefehler aufgetreten ist, ein Bestimmen, ob es keinen Lesefehler gibt.
  4. Verfahren nach Anspruch 1, wobei: das Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten ein erstes Bestimmen einer Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn die in der Speicherzelle gespeicherten Daten bei dem Standard-Lesespannungspegel ausgelesen werden, umfasst; und das weitere Bestimmen, ob die Speicherzelle korrigierbar ist, ein Bestimmen, ob ein Lesefehler, der auftritt wenn die in den Speicherzellen gespeicherten Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, korrigierbar oder unkorrigierbar ist, umfasst.
  5. Das Verfahren nach Anspruch 4, wobei das Bestimmen, ob ein Lesefehler, der auftritt wenn die in den Speicherzellen gespeicherten Daten unter Verwendung des Korrektur-Lesespannungspegels ausgelesen werden, korrigierbar oder unkorrigierbar ist, aufweist: Bestimmen, ob der Lesefehler unkorrigierbar ist; in Reaktion auf ein Bestimmen, das ein Lesefehler korrigierbar ist, ein zweites Bestimmen einer Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn die in der Speicherzelle gespeicherten Daten bei dem Korrektur-Lesespannungspegel ausgelesen werden; und Bestimmen, ob die Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Korrektur-Lesespannungspegel ausgelesen werden, größer als eine Anzahl von Speicherzellen ist, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Standard-Lesespannungspegel ausgelesen werden.
  6. Verfahren nach Anspruch 5, weiterhin mit: in Reaktion auf eine Bestimmung, dass der Lesefehler unkorrigierbar ist, ein Bestimmen, dass Daten in einer Speicherzelle oder in einer Seite des Speichers nicht für einen Datenzugriff durch einen Host (1021) zu verwenden sind, und ein Beschränken eines Zugriffs durch den Host (1021) auf diese; in Reaktion auf eine Bestimmung, dass die Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Korrektur-Lesespannungspegel ausgelesen werden, größer als eine Anzahl von Speicherzellen ist, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Standard-Lesespannungspegel ausgelesen werden, ein Bestimmen, dass die in der Speicherzelle oder in der Seite der Speicherzelle gespeicherten Daten nicht für einen Datenzugriff durch den Host (1021) zu verwenden sind, und ein Beschränken eines Zugriffs durch den Host (1021) auf diese; und in Reaktion darauf, dass die Anzahl von Speicherzellen, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Korrektur-Lesespannungspegel ausgelesen werden, kleiner als eine Anzahl von Speicherzellen ist, in denen ein korrigierbarer Lesefehler auftritt, wenn diese bei dem Standard-Lesespannungspegel ausgelesen werden, ein Bestimmen, dass die in der Speicherzelle oder in der Seite der Speicherzelle gespeicherten Daten stabil sind und für einen Zugriff durch den Host (1021) zulässig sind.
  7. Verfahren nach Anspruch 1, wobei das Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten und das Bestimmen, ob die Speicherzelle korrigierbar ist, an einer Vielzahl von Seiten wiederholend durchgeführt werden.
  8. Verfahren nach Anspruch 1, wobei das Bestimmen, ob die Speicherzelle korrigierbar ist, ein wiederholendes Auslesen der Speicherzelle bei einer Vielzahl von verschiedenen Spannungspegeln umfasst.
  9. Verfahren zum Betreiben einer Schaltung, um instabile Speicherzellen unter einer Vielzahl von Speicherzellen in mindestens einer Seite zu erfassen, mit den Schritten: Bestimmen aus einem Ausgangszustand von in einer Speicherzelle gespeicherten Daten, ob kein Lesefehler auftritt, wenn die Daten bei einem Standard-Lesespannungspegel ausgelesen werden, ob ein Lesefehler auftritt und der Lesefehler korrigierbar ist, und ob ein Lesefehler auftritt und der Lesefehler unkorrigierbar ist; und in Reaktion auf ein Bestimmen, dass ein Lesefehler auftritt, der korrigierbar ist, ein weiteres Bestimmen, ob die Speicherzelle korrigierbar ist, durch Auslesen der in der Speicherzelle gespeicherten Daten bei einem Korrektur-Lesespannungspegel, der einen Spannungspegel aufweist, der sich von dem Standard-Lesespannungspegel unterscheidet, und durch Bestimmen, ob ein Lesefehler, der in den Daten auftritt, die bei dem Korrektur-Lesespannungspegel ausgelesen werden, korrigierbar oder unkorrigierbar ist; und wiederholendes Durchführen des Bestimmens, ob die Speicherzelle korrigierbar ist, durch Auslesen der in der Speicherzelle gespeicherten Daten bei einer Vielzahl von verschiedenen Korrektur-Lesespannungen.
  10. Speichersystem (1000) mit: einem Speicher; und einer Speichersteuerung (1020), die dazu ausgestaltet ist, den Speicher zu steuern, wobei die Speichersteuerung (1020) Daten, die in einer Speicherzelle des Speichers oder in einer Speicherseite der Speicherzelle des Speichers gespeichert sind, unter Verwendung eines Standard-Lesespannungspegels ausliest, und die Daten, die in einer Speicherzelle des Speichers oder in einer Speicherseite der Speicherzelle des Speichers gespeicherte sind, unter Verwendung eines Korrektur-Lesespannungspegels, der sich von dem Standard-Lesespannungspegel unterscheidet, ausliest, und dazu ausgestaltet ist, zu bestimmen, ob ein Datenzugriff auf die Speicherzelle durch einen Host (1021) zulässig ist, in Reaktion auf ein Erfassen, ob ein Lesefehler in der Speicherzelle auftrat, wenn diese bei dem Korrektur-Lesespannungspegel ausgelesen wurde und bei dem Standard-Lesespannungspegel ausgelesen wurde.
  11. Speichersystem (1000) mit: einer Festkörperplatte (SSD) (1010), die eine Vielzahl von Speicherzellen aufweist; und einer Speichersteuerung (1020), die dazu ausgestaltet ist, Daten in die SSD (1010) zu schreiben und die Daten aus der SSD (1010) auszulesen; wobei die Speichersteuerung (1020) eine Standard-Lesespannung sequenziell verwendet, um Daten aus den Speicherzellen auszulesen und eine Korrektur-Lesespannung verwendet, die sich von der Standard-Lesespannung unterscheidet, um Daten aus den Speicherzellen auszulesen, und eine Verteilung von Lesefehlern in den Daten bestimmt, die bei der Standard-Lesespannung und bei der Korrektur-Lesespannung aus der Speicherzelle ausgelesen werden, und in Reaktion auf die bestimmte Verteilung von Lesefehlern bestimmt, ob Daten, die in einer Vielzahl von Speicherzellen gespeichert sind, gültig sind.
  12. Speichersystem (1000) nach Anspruch 11, wobei die Speichersteuerung (1020) eine zentrale Verarbeitungseinheit (CPU) (1023) und einen Fehlerkorrekturcode (ECC)-Einheit (1024) aufweist, wobei die CPU (1023) die Standard-Lesespannung an die SSD (1010) liefert und die Verteilung von Fehlern bestimmt, wenn die Daten bei der Standard-Lesespannung ausgelesen werden, und die FCC-Einheit (1024) anhand bestimmten Verteilung bestimmt, ob in den in der SSD (1010) gespeicherten Daten ein Fehler auftritt, und in Reaktion auf ein Bestimmen, dass ein Fehler in den in der SSD (1010) gespeicherten Daten auftrat, die CPU (1023) bestimmt, ob der Fehler korrigierbar oder unkorrigierbar ist, und in Reaktion auf ein Bestimmen, dass der Fehler unkorrigierbar ist, die CPU (1023) einen Host (1021) anweist, die in der Speicherzelle gespeicherten Daten nicht zu verwenden, und in Reaktion auf ein Bestimmen, dass der Fehler korrigierbar ist, die CPU (1023) die Korrektur-Lesespannung an die SSD (1010) liefert und die Verteilung von Fehlern in den Daten bestimmt, die unter Verwendung der Korrektur-Lesespannung ausgelesen werden, und die ECC-Einheit (1024) in Übereinstimmung mit der bestimmten Verteilung von Fehlern in den Daten, die unter Verwendung der Korrektur-Lesespannung ausgelesen werden, bestimmt, ob der Fehler korrigierbar oder unkorrigierbar ist, und die CPU (1023) die in der SSD (1010) gespeicherten Daten in Übereinstimmung mit der bestimmten Verteilung von Fehlern korrigiert.
  13. Speichersystem (1000) nach Anspruch 12, wobei die Speichersteuerung (1020) weiterhin einen Arbeitsspeicher (RAM) (1022) aufweist, und wenn die in der SSD (1010) gespeicherten Daten korrigiert werden, speichert die CPU (1023) die in der Speicherzelle gespeicherten Daten in dem RAM (1022) und schreibt danach die in dem RAM (1022) gespeicherten Daten wieder in die Speicherzelle der SSD (1010).
  14. Speichersystem (1000) nach Anspruch 11, wobei die SSD (1010) einen Flash-Speicher aufweist.
  15. Speichersystem (1000) nach Anspruch 11, wobei eine Gültigkeit der in der SSD (1010) gespeicherten Daten basierend auf Daten bestimmt wird, die von einer Sektion der SSD (1010) umfasst werden.
DE102010037290A 2009-10-01 2010-09-02 Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen Withdrawn DE102010037290A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090094047A KR101603099B1 (ko) 2009-10-01 2009-10-01 불안정 메모리 셀 산포를 검출하는 메모리 시스템 및 상기 불안정 메모리 셀 산포 검출방법
KR10-2009-0094047 2009-10-01

Publications (1)

Publication Number Publication Date
DE102010037290A1 true DE102010037290A1 (de) 2011-04-28

Family

ID=43796936

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010037290A Withdrawn DE102010037290A1 (de) 2009-10-01 2010-09-02 Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen

Country Status (6)

Country Link
US (1) US8122295B2 (de)
JP (1) JP5678302B2 (de)
KR (1) KR101603099B1 (de)
CN (1) CN102033785B (de)
DE (1) DE102010037290A1 (de)
TW (1) TWI515742B (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370719B2 (en) * 2010-05-21 2013-02-05 Intel Corporation Persistent moving read reference
JP5682466B2 (ja) * 2011-06-14 2015-03-11 日本電気株式会社 電子装置、フラッシュメモリ交換管理システム、方法およびプログラム
CN102841831A (zh) * 2011-06-24 2012-12-26 鸿富锦精密工业(深圳)有限公司 服务器的内存测试系统及方法
US8406053B1 (en) * 2011-09-21 2013-03-26 Sandisk Technologies Inc. On chip dynamic read for non-volatile storage
US8824203B2 (en) * 2012-07-13 2014-09-02 Micron Technology, Inc. Multiple step programming in a memory device
EP2901281B1 (de) * 2012-09-25 2017-11-01 Hewlett-Packard Enterprise Development LP Benachrichtigung über adressbereiche mit nicht korrigierbaren fehlern
JP2014086062A (ja) * 2012-10-29 2014-05-12 Sony Corp 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
KR102081581B1 (ko) 2012-11-02 2020-02-26 삼성전자 주식회사 메모리 장치 구동 방법
KR102002385B1 (ko) * 2012-11-14 2019-07-23 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
US9032271B2 (en) * 2012-12-07 2015-05-12 Western Digital Technologies, Inc. System and method for lower page data recovery in a solid state drive
KR102048765B1 (ko) * 2013-01-15 2020-01-22 삼성전자주식회사 메모리 시스템의 동작 방법 및 메모리 시스템
KR102050896B1 (ko) 2013-02-19 2019-12-02 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법
KR102174030B1 (ko) * 2014-05-13 2020-11-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법
US9939865B2 (en) * 2014-06-13 2018-04-10 Seagate Technology Llc Selective storage resource powering for data transfer management
KR20200099441A (ko) * 2019-02-14 2020-08-24 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
CN111104061A (zh) * 2019-11-21 2020-05-05 深圳忆联信息系统有限公司 避免固体存储设备因异常掉电导致数据丢失的方法、装置、计算机设备及存储介质
KR20220034332A (ko) * 2020-09-11 2022-03-18 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
CN112216333B (zh) * 2020-09-30 2024-02-06 深圳市宏旺微电子有限公司 芯片测试方法及装置
CN114595090A (zh) * 2020-12-03 2022-06-07 华为技术有限公司 一种纠错方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090094047A (ko) 2007-02-23 2009-09-02 픽셀옵틱스, 인크. 안과 역동적 구경

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944416A (ja) 1995-08-03 1997-02-14 Shinko Electric Co Ltd コンピュータによるデータ処理システムの停電時のデータ保護方法と停電時のデータ保護機能を備えたデータ処理システム
JP2001331382A (ja) 2000-05-19 2001-11-30 Matsushita Electric Ind Co Ltd 不揮発性メモリの管理方法および管理装置
US6678192B2 (en) * 2001-11-02 2004-01-13 Sandisk Corporation Error management for writable tracking storage units
JP4133166B2 (ja) 2002-09-25 2008-08-13 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
KR100736103B1 (ko) 2006-06-27 2007-07-06 삼성전자주식회사 비휘발성 메모리, 상기 비휘발성 메모리의 데이터 유효성을판단하는 장치 및 방법
JP5177991B2 (ja) * 2006-10-25 2013-04-10 株式会社東芝 不揮発性半導体記憶装置
US8006166B2 (en) * 2007-06-12 2011-08-23 Micron Technology, Inc. Programming error correction code into a solid state memory device with varying bits per cell
KR100882841B1 (ko) * 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법
KR101397549B1 (ko) * 2007-08-16 2014-05-26 삼성전자주식회사 고속 프로그램이 가능한 불휘발성 반도체 메모리 시스템 및그것의 독출 방법
KR101425958B1 (ko) * 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
KR101466698B1 (ko) * 2008-02-19 2014-11-28 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
US8473809B2 (en) * 2009-11-20 2013-06-25 Sandisk Technologies Inc. Data coding for improved ECC efficiency

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090094047A (ko) 2007-02-23 2009-09-02 픽셀옵틱스, 인크. 안과 역동적 구경

Also Published As

Publication number Publication date
US20110083039A1 (en) 2011-04-07
TWI515742B (zh) 2016-01-01
US8122295B2 (en) 2012-02-21
JP2011076706A (ja) 2011-04-14
JP5678302B2 (ja) 2015-03-04
KR20110036398A (ko) 2011-04-07
CN102033785B (zh) 2016-05-25
TW201129982A (en) 2011-09-01
CN102033785A (zh) 2011-04-27
KR101603099B1 (ko) 2016-03-28

Similar Documents

Publication Publication Date Title
DE102010037290A1 (de) Speichersysteme und Verfahren zur Erfassung einer Verteilung von instabilen Speicherzellen
DE102017001433B4 (de) Systeme und Verfahren für adaptive Lesepegelanpassung
DE112014004778B4 (de) Vorrichtung und Verfahren zum Verwalten von Chipgruppen
DE102008003944B4 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE112014004761B4 (de) Beeinflussung des Wear-Leveling in Speichersystemen
DE102017120840B4 (de) Verfahren und Vorrichtung zur Detektion und Handhabung von Lesestörungen
DE112011103295B4 (de) Decodieren in Solid-State-Speichereinheiten
DE102008003113B4 (de) ECC-Steuereinheit, Speichersystem und Verfahren zur Korrektur eines Fehlers
DE112008001151B4 (de) Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE102019123709A1 (de) Verwendung verschachtelter schreibvorgänge zur trennung von die-ebenen
DE112020006139T5 (de) Vor-lese-und lese-schwellenspannungsoptimierung
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
DE112014002632T5 (de) Lesespannungsberechnung bei Solid-State-Speichervorrichtungen
DE102013109235A1 (de) Flash-Speichersystem mit Detektor für anormale Wortleitung und Verfahren zum Erfassen einer anormalen Wortleitung
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE102017104257A1 (de) Auf Zellenstrom basierende Bitleitungsspannung
DE102007031027A1 (de) Leseverfahren einer Speichervorrichtung
DE102010061530A1 (de) Speicher mit variablem Widerstand, Betriebsverfahren und System
DE102008030264A1 (de) Verfahren zum Lesen eines Flashspeichers und Speichersystem
DE112021004294T5 (de) Verfahren und einrichtung zum bestimmen, wann der tatsächliche verschleiss einer flash-speichervorrichtung von zuverlässigkeitszuständen für die flash-speichervorrichtung abweicht
DE102019125060A1 (de) Datenspeichersysteme und verfahren zum autonomen anpassen der leistung, kapazität und/oder der betriebsanforderungen eines datenspeichersystems
DE112020004922T5 (de) Speicherungsvorrichtung mit erhöhter beständigkeit
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher
DE112019000167T5 (de) Anpassbare Lesewiederholungsreihenfolge basierend auf einem Decodierungserfolgstrend

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination