DE102014112947A1 - Schätzen von Schwellenwerten für Zustandsebenen bei Speicherzellen - Google Patents

Schätzen von Schwellenwerten für Zustandsebenen bei Speicherzellen Download PDF

Info

Publication number
DE102014112947A1
DE102014112947A1 DE201410112947 DE102014112947A DE102014112947A1 DE 102014112947 A1 DE102014112947 A1 DE 102014112947A1 DE 201410112947 DE201410112947 DE 201410112947 DE 102014112947 A DE102014112947 A DE 102014112947A DE 102014112947 A1 DE102014112947 A1 DE 102014112947A1
Authority
DE
Germany
Prior art keywords
window
state level
memory cells
value
read
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
DE201410112947
Other languages
English (en)
Inventor
Charalampos Pozidis
Nikolaos Papandreou
Thomas Mittelholzer
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.)
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102014112947A1 publication Critical patent/DE102014112947A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • 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
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Computer Hardware Design (AREA)
  • Error Detection And Correction (AREA)
  • Theoretical Computer Science (AREA)
  • Read Only Memory (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

Verfahren und Vorrichtungen werden bereitgestellt zum Ermitteln von Zustandsebenen- Schwellenwerten für Speicherzellen mit q Zustandsebenen. Eine Vielzahl der Speicherzellen wird gelesen, um entsprechende Lesesignalkomponenten zu erhalten. Die Lesesignalkomponenten werden in Abhängigkeit vom Signalwert verarbeitet, um einem Signalwertvektor zu erzeugen, der eine Reihe von Elementen aufweist, die die Verteilung von Lesesignalkomponenten in der Reihenfolge des Signalwertes angeben. Der Signalwertvektor wird mit einem Gleitfenster abgetastet, das länger ist als der Abstand von aufeinander folgenden Fensterpositionen beim Abtasten. An jeder Fensterposition wird in Abhängigkeit von den Elementen des Signalwertvektors in dem Fenster eine Maßzahl Mi berechnet. Ein Zustandsebenen-Schwellenwert für aufeinander folgende Speicherzellen- Zustandsebenen wird dann in Abhängigkeit von einer Variation der Maßzahl während des Abtastens ermittelt.

Description

  • Diese Erfindung bezieht sich allgemein auf das Schätzen von Schwellenwerten für Zustandsebenen bei Speicherzellen. Verfahren und Vorrichtungen werden bereitgestellt zum Ermitteln von Schwellenwerten zwischen aufeinander folgenden Zellen-Zustandsebenen beim Lesen von Speicherzellen mit q Zustandsebenen mitsamt Daten-Speichereinheiten, die derartige Vorrichtungen enthalten.
  • Bei einem Halbleiter-Speicher wie z.B. Flash-Speicher und Phasenänderungsspeicher kann die grundlegende Speichereinheit (die „Zelle“) auf q unterschiedliche Zustände oder „Ebenen“ (level) eingestellt werden, wodurch ein Speichern von Informationen ermöglicht wird. Jede Zelle kann zum Speichern eines q-stufigen Zeichens verwendet werden, wobei jeder der q möglichen Zeichenwerte durch eine unterschiedliche Zellen-Ebene dargestellt wird. Bei sogenannten „Single-Level-Cell-“(SLC-)Einheiten können die Speicherzellen auf lediglich zwei Ebenen eingestellt werden (q = 2) und können daher lediglich binäre Werte aufzeichnen. Bei anderen Einheiten werden sogenannte „Multi-Level-Cells“ verwendet, die auf q > 2 unterschiedliche Zellen-Ebenen eingestellt werden können, wodurch ein Speichern von mehr als einem Bit pro Zelle ermöglicht wird.
  • Ein Erkennen von Daten, die in Speicherzellen mit q Zustandsebenen gespeichert sind, beruht auf einem Erkennen der unterschiedlichen Zustandsebenen der Zellen beim Lesen. Bei Flash- und Phasenänderungsspeichern (CPM) weisen beispielsweise die unterschiedlichen Zellen-Zustandsebenen unterschiedliche elektrische Ladungs- bzw. elektrische Widerstandscharakteristiken auf, und diese können über Strom- oder Spannungsmessungen an den Zellen erkannt werden. Beim Lesen der Zellen kann der Lesesignalwert mit einer Gruppe von Referenzsignalwerten verglichen werden, die die q Zellen-Zustandsebenen angeben, um zu ermitteln, auf welchen Zustand jede Zelle eingestellt ist, und somit den gespeicherten Zeichenwert zu erkennen. Ein grundsätzliches Problem besteht darin, dass die physikalische Größe, die beim Lesen der Zelle gemessen wird, beispielsweise infolge von Störungen und/oder dem Driften von Messwerten mit der Zeit oder der nachlassenden Funktionstüchtigkeit der Zellen Schwankungen unterliegt. Für jeden vorgegebenen gespeicherten Zeichenwert und somit für jede Zellen-Zustandsebene ist deswegen der tatsächlich gelesene Wert der Signalhöhe, der beim Lesen der Zelle erhalten wird, veränderlich. Bei mehrfachen Leseoperationen an Zellen, die auf eine vorgegebene Zellen-Zustandsebene eingestellt sind, ergibt sich deswegen eine Verteilung von Lesesignalwerten.
  • Die Genauigkeit der Referenzsignalwerte, die bei der Datenerkennung verwendet werden, ist für die Leseleistung wesentlich. Referenzsignalwerte können für die q Zellen- Zustandsebenen als „Schwellenwerte für Zustandsebenen“ ausgedrückt werden. Für jedes Paar von Zustandsebenen aufeinander folgender Speicherzellen gibt der Zustandsebenen- Schwellenwert einen Lesesignalwert an, der den Schwellenwert oder die Grenze zwischen Lesesignalwert-Verteilungen definiert, die den beiden Zellen-Zustandsebenen entsprechen. Die Referenzsignalwerte für das Erkennen von Zellen mit q Zuständen können deswegen als q – 1 Schwellenwerte für Zustandsebenen ausgedrückt werden.
  • Bei einer herkömmlichen Technik zum Schätzen von Referenzsignalwerten werden Trainingsdaten verwendet, die aus einem Vorrat von Referenz-Speicherzellen abgeleitet werden. Jedes Mal, wenn ein Block von Benutzerdaten in den Speicher geschrieben wird, werden bekannte Informationen in die Referenz-Zellen geschrieben. Die Referenzzellen werden gelesen, wenn die Benutzerdatei gelesen wird, und die Referenzzellen- Leseergebnisse werden zum Ableiten von Schätzwerten für die veränderlichen Referenzsignalwerte verwendet, die zum Erkennen verwendet werden. Der Referenzzellen-Ansatz hat verschiedene Nachteile, darunter Aufwand infolge der Verwendung von Speicherbereich für Referenzzwecke, höhere Komplexität der Steuereinheit und Latenzzeit sowie veränderliche Effektivität wegen einer diesem Ansatz innewohnenden Variabilität zwischen Zellen in einem Speicher-Array, was bedeutet, dass Referenzzellen möglicherweise nicht wirklich repräsentativ sind.
  • Modernere Techniken zur Referenzwertschätzung sind selbstadaptiv, verwenden die Lesesignale von Zellen, die echte Benutzerdaten speichern, zum Schätzen der Referenzwerte, die zum Erkennen von Daten in diesen Zellen verwendet werden. Eine selbstadaptive Technik zur Referenzwertschätzung ist beispielsweise in unserer US-Patentanmeldung 2013/0227380 A1 beschrieben. Diese Anmeldung offenbart ein System zur Leseerkennung von Code aus q-stufigen Zeichen der Länge N in MLC-Speichern. Die Codewörter dieser Codes weisen somit jeweils N Zeichen auf, wobei jedes Zeichen einen von q Zeichenwerten annehmen kann. Jedes Zeichen wird in einer entsprechenden Zelle mit q Zustandsebenen aufgezeichnet, indem die Zelle auf einen Wert eingestellt wird, der von dem q-stufigen Zeichenwert abhängig ist. Speicherzellen werden in Stapeln gelesen, um Lesesignale zu erhalten, die einer Gruppe von Codewörtern entsprechen. Jedes Lesesignal weist N Signalkomponenten auf, die jeweiligen Zeichen eines Codewortes entsprechen. Die Lesesignalkomponenten der gesamten Gruppe von Lesesignalen werden gemäß dem Signalwert geordnet. Die resultierende geordnete Komponentenfolge wird anschließend partitioniert, um eine Vielzahl von Segmenten zu erhalten, die jeweils einer unterschiedlichen Speicherzellen-Zustandsebene entsprechen. Die Größe (d.h. die Anzahl von Komponenten) von jedem dieser Segmente wird auf der Grundlage von im Voraus festgelegten Häufigkeitsdaten ermittelt, die die erwartete Häufigkeit des Vorkommens des entsprechenden Wertes bei Verwendung des Codes angeben. Die Grenzen zwischen benachbarten Segmenten entsprechen somit den oben beschriebenen Schwellenwerten für Zustandsebenen. Bei diesem System werden die resultierenden Verteilungen des Lesesignalwertes, die den jeweiligen Speicherzellen-Zustandsebenen entsprechen, zum Ableiten statistischer Daten weiter verarbeitet. Diese Daten werden in einem nachfolgenden Erkennungsprozess, der eine oder mehrere Erkennungsstufen aufweist, zum Erkennen der Codewörter, die dem aktuellen Stapel von Lesesignalen entsprechen, verwendet. Bei US-Patentanmeldung 2013/0227380 A1 werden beim Erkennen vektor-gestützte Anpassungstechniken verwendet, die vollständige Lesesignale an Codewörter wirksam anpassen.
  • Bei der oben genannten selbstadaptiven Technik handelt es sich um einen wesentlichen Fortschritt gegenüber dem Referenzzellen-Ansatz, da sie eine stark verbesserte Leistungsfähigkeit selbst bei kleinen Datensätzen bietet, d.h. bei kleinen Stapelgrößen beim Lesen. Das Auftreten von Asymmetrien in den Benutzerdaten kann jedoch trotzdem ein Problem darstellen. Eine Daten-Asymmetrie in einem gelesenen Datensatz bedeutet, dass ein erheblicher Unterschied bei der Anzahl von Zellen besteht, die auf die q verschiedenen Zellen-Zustandsebenen eingestellt sind. Insbesondere bei kurzen Datensätzen, die in Speicheranwendungen üblicherweise vorkommen, können Daten-Asymmetrien selbst beim Vorhandensein einer Verwürfelungseinheit im Host mit einer bestimmten Wahrscheinlichkeit auftreten. Es wurde gezeigt, dass Asymmetrien in den Benutzerdaten die Erkennungsleistung wesentlich beeinflussen. Als Erläuterung zeigt 1 der beigefügten Zeichnungen ein Auftreten von Erkennungsfehlern bei mehreren aufeinander folgenden Leseoperationen von viertausend Datensätzen von Mehrzustandsebenen-PCM-Zellen. Das Erkennungssystem beruhte auf dem des oben erläuterten Systems der US-Patentanmeldung 2013/0227380 A1 , und die Benutzerdaten wurden in einem Phasenänderungsspeicher mit (q = 4)-Zustandsebenen-Zellen nach dem Codieren mit einem Code aus 4-stufigen Zeichen der Länge (N = 8) gespeichert. Bei diesen Ergebnissen befinden sich 82% der Fehler in drei Stapeln. Diese weisen wie in der Figur angegeben bei allen Simulations-Zeitschritten immer wieder Fehler auf. Die Zustandsverteilungen (d.h. Nummern von Zellen, die auf die vier aufeinander folgenden Zellen-Zustandsebenen eingestellt sind) lauteten in diesen Stapeln [89 61 41 65], [77 85 53 41] und [79 84 47 46], wodurch in jedem Fall eine deutliche Daten-Asymmetrie nachgewiesen wird.
  • Bei einer Ausführungsform eines Aspekts der Verwendung wird ein Verfahren zum Ermitteln von Zustandsebenen-Schwellenwerten für Speicherzellen mit q Zustandsebenen bereitgestellt. Das Verfahren beinhaltet:
    Lesen einer Vielzahl von Speicherzellen, um jeweilige Lesesignal-Komponenten zu erhalten;
    Verarbeiten der Lesesignal-Komponenten in Abhängigkeit vom Signalwert, um einen Signalwertvektor zu erzeugen, der eine Reihe von Elementen aufweist, die die Verteilung von Lesesignal-Komponenten nach dem Signalwert angeben;
    Abtasten des Signalwertvektors mit einem Gleitfenster mit einer Länge, die größer ist als der Abstand von aufeinander folgenden Fensterpositionen beim Abtasten;
    an jeder Fensterposition Berechnen einer Maßzahl in Abhängigkeit von den Elementen des Signalwertvektors in dem Fenster; und
    Ermitteln eines Zustandsebenen-Schwellenwerts für aufeinander folgende Speicherzellen-Zustandsebenen in Abhängigkeit von einer Variation der Maßzahl während des Abtastens.
  • Verfahren, bei denen diese Erfindung ausgeführt wird, können somit eine selbstadaptive Ermittlung von Zustandsebenen-Schwellenwerten bei Lesevorgängen von Speicherzellen mit q Zustandsebenen bereitstellen. Der Signalwertvektor, der aus den Lesesignalkomponenten für einen Stapel von Zellen erzeugt wird und die Verteilung dieser Komponenten in Bezug auf den Signalwert angibt, wird mit einem Gleitfenster abgetastet. Das Konzept eines Gleitfensters ist bekannt, wobei es sich bei dem fiktiven „Fenster“ um eine Gruppe von aufeinander folgenden Elementen in den Reihen handelt, die abgetastet werden, die an jeder vorgegebenen Position des Fensters beim Abtasten „betrachtet“ werden. Die Länge des Fensters entspricht der Anzahl von Elementen in der betrachteten Gruppe. Das Fenster wird über aufeinander folgende Fensterpositionen mit einem im Voraus festgelegten Abstand von einem Ende der Reihe zum anderen bewegt. Bei Verfahren, bei denen diese Erfindung ausgeführt wird, ist die Länge des Fensters größer als der Abstand von aufeinander folgenden Fensterpositionen während des Abtastens. Deswegen gibt es eine Überlagerung zwischen den Gruppen von Elementen in dem Fenster an benachbarten Fensterpositionen. Die Maßzahl, die an jeder Fensterposition berechnet wird, hängt von den Elementen in dem Fenster an dieser Position ab. Ein Zustandsebenen-Schwellenwert für aufeinander folgende Speicherzellen-Zustandsebenen wird anschließend auf der Grundlage einer Variation dieser Maßzahl während des Verlaufs des Abtastens ermittelt. Bei Ausführungsformen der Erfindung kann ein genaueres Erkennen von Zustandsebenen-Schwellenwerten sogar beim Vorhandensein von Daten-Asymmetrie ermöglicht werden, was zu verringerten Fehlerraten beim Erkennen und einer bedeutenden Verbesserung der Leseleistung führt.
  • Zwar kann eine Anwendung bei Single-Level-Speicherzellen in Betracht gezogen werden kann, jedoch sind Verfahren, bei denen die Erfindung ausgeführt wird, für Multi-Level-Speicherzellen, d.h. q > 2, besonders vorteilhaft. In diesem Fall kann in Abhängigkeit von der Variation der Maßzahl ein Zustandsebenen-Schwellenwert für jedes von q – 1 Paaren von aufeinander folgenden Speicherzellen-Zustandsebenen ermittelt werden.
  • Bei dem Signalwertvektor handelt es sich um eine Angabe der Verteilung von Lesesignalkomponenten in Bezug auf den Signalwert. Bei einigen Ausführungsformen kann der Signalwertvektor durch Ordnen der Lesesignalkomponenten gemäß dem Signalwert erzeugt werden. Zwar könnten zusätzliche Verarbeitungsschritte in Betracht gezogen werden, bei dem Signalwertvektor könnte es sich dabei jedoch einfach um den Vektor handeln, der durch Sortieren des Stapels von Lesesignalkomponenten in der Reihenfolge des Signalwertes, d.h. in der Reihenfolge von zunehmendem oder abnehmendem Signalwerten erzeugt wird. Bei anderen Ausführungsformen kann der Signalwertvektor durch Gruppieren der Lesesignalkomponenten gemäß dem Signalwert erzeugt werden. Das vermeidet die Sortieroperation, die zum Ordnen der eigentlichen Lesesignalkomponenten erforderlich ist, wodurch sich eine besonders einfache Umsetzung anbietet. Zwar könnten wiederum zusätzliche Verarbeitungsschritte in Betracht gezogen werden, der Signalwertvektor könnte einfach den Vektor der resultierenden Gruppenzählwerte für die Gruppen in der Reihenfolge des Signalwertes aufweisen.
  • Bei Verfahren, bei denen die Erfindung ausgeführt wird, können verschiedene Maßzahlen verwendet werden. Bei bevorzugten Verfahren wird jedoch ein Referenzwert für die Elemente in dem Fenster an jeder Fensterposition ermittelt, und die Maßzahl ist von der absoluten Differenz zwischen jedem Element in dem Fenster und dem Referenzwert abhängig. Bei dem Referenzwert handelt es sich vorzugsweise um einen Durchschnittswert, praktisch um einen Mittelwert der Elemente in dem Fenster. Bei bevorzugten Ausführungsformen handelt es sich bei der Maßzahl um die L1-Norm der Differenzen zwischen entsprechenden Elementen in dem Fenster und dem Referenzwert. Bei diesen Verfahren weist die Variation der Maßzahl während des Abtastens praktisch lokale Maximalwerte an Positionen auf, die den Zustandsebenen-Schwellenwerten entsprechen. Somit kann jeder Zustandsebenen-Schwellenwert in Abhängigkeit von der Lage des lokalen Maximalwerts ermittelt werden, der diesem Schwellenwert bei der Maßzahlvariation während des Abtastens entspricht. Wenn q = 2, gibt ein einzelner Maximalwert den Schwellenwert zwischen den beiden Zustandsebenen an. Wenn q > 2, erscheinen die lokalen Maximalwerte bei der Maßzahlvariation in der Reihenfolge von Zustandsebenen-Schwellenwerten. Da in den Daten außerdem unechte lokale Maximalwerte auftreten können, können die Zustandsebenen-Schwellenwerte für die q – 1 Paare von aufeinander folgenden Speicherzellen- Zustandsebenen zumindest anfänglich in Abhängigkeit von der Lage der q – 1 größten lokalen Maximalwerte bei der Maßzahlvariation ermittelt werden. Bei bevorzugten Ausführungsformen wird jedoch ein Korrektursystem auf der Grundlage von einer Bewertung der Fehlerrate bei einem anschließenden Erkennungsprozess unter Verwendung der anfänglichen Zustandsebenen-Schwellenwerte verwendet. Diese Ausführungsformen können verwendet werden, wobei in Multi-Level-Speicherzellen entsprechende q-stufige Zeichen der N-Zeichen-Codewörter einer im Voraus definierten Menge von gültigen Codewörtern gespeichert werden. Das Verfahren beinhaltet dabei:
    Lesen der Speicherzellen, die eine Gruppe von Codewörtern speichern, um entsprechende Lesesignale zu erhalten, die jeweils N der Lesesignalkomponenten aufweisen;
    Erkennen eines Codewortes, das einem jeweiligen Lesesignal entspricht, in Abhängigkeit von den Zustandsebenen-Schwellenwerten für die q – 1 Paare von aufeinander folgenden Speicherzellen-Zustandsebenen;
    Berechnen eines Fehlerwertes in Abhängigkeit von der Anzahl von gültigen Codewörtern, die für die Gruppe erkannt werden; und
    wenn der Fehlerwert einen vorgegebenen Fehlerschwellenwert übersteigt, Ersetzen des Zustandsebenen-Schwellenwerts, der dem (q – 1)-größten lokalen Maximalwert entspricht, durch einen neuen Zustandsebenen-Schwellenwert, der in Abhängigkeit von der Lage des q-größten lokalen Maximalwert bei der Maßzahlvariation während des Abtastens ermittelt wird.
  • Die Zustandsebenen-Schwellenwerte, die aus den Lesesignalkomponenten ermittelt werden, können dann zur Datenerkennung bei diesen Lesesignalkomponenten verwendet werden. Eine Ausführungsform eines zweiten Aspekts der Erfindung stellt insbesondere ein Verfahren zum Erkennen von Codewörtern bereit, die jeweils N q-stufige Zeichen aufweisen, die in entsprechenden Speicherzellen mit q Zustandsebenen gespeichert sind. Das Verfahren beinhaltet:
    Ausführen eines Verfahrens zum Ermitteln von Zustandsebenen-Schwellenwerten gemäß dem ersten Aspekt der Erfindung, wobei das Verfahren zum Ermitteln von Zustandsebenen-Schwellenwerten beinhaltet: Lesen der Speicherzellen, die eine Gruppe der Codewörter speichern, um entsprechende Lesesignale zu erhalten, die jeweils N der Lesesignalkomponenten aufweisen; und
    Erkennen eines Codewortes, entsprechend einem jeweiligen Lesesignal, in Abhängigkeit von dem oder jedem Zustandsebenen-Schwellenwert, der auf diese Weise ermittelt wird.
  • Erkennungsverfahren, bei denen die Erfindung ausgeführt wird, können das berechnen statistischer Daten für die Verteilung der Lesesignalkomponenten beinhalten, die dem jeweiligen Speicherzellen-Zustandsebenen entsprechen, gemäß dem oder jedem Zustandsebenen-Schwellenwert, der auf diese Weise ermittelt wird. Das Codewort, entsprechend jedem Lesesignal, kann dann in Abhängigkeit von den statistischen Daten erkannt werden.
  • Bei einer Ausführungsform eines dritten Aspekts der Erfindung wird eine Vorrichtung zum Ermitteln von Zustandsebenen-Schwellenwerten beim Lesen von Speicherzellen mit q Zustandsebenen bereitgestellt. Die Vorrichtung weist auf:
    einen Vektorgenerator zum Empfangen einer Vielzahl von Lesesignalkomponenten, die durch Lesen von entsprechenden Speicherzellen erhalten werden, und Verarbeiten der Lesesignalkomponenten in Abhängigkeit vom Signalwert, um einen Signalwertvektor zu erzeugen, der eine Reihe von Elementen aufweist, die die Verteilung von Lesesignalkomponenten in der Reihenfolge des Signalwertes angeben;
    einen Gleitfenster-Scanner zum Abtasten des Signalwertvektors mit einem Gleitfenster mit einer Länge, die größer ist als der Abstand von aufeinander folgenden Fensterpositionen beim Abtasten, und an jeder Fensterposition Berechnen einer Maßzahl in Abhängigkeit von den Elementen des Signalwertvektors in dem Fenster; und
    einen Schwellenwert-Identifizierer zum Ermitteln eines Zustandsebenen-Schwellenwertes für aufeinander folgende Speicherzellen-Zustandsebenen in Abhängigkeit von der Variation der Maßzahl über das Abtasten.
  • Bei einer Ausführungsform eines vierten Aspekts der Erfindung wird eine Datenspeichereinheit bereitgestellt, die aufweist:
    einen Speicher, der Speicherzellen mit q Zustandsebenen aufweist;
    eine Lese/Schreib-Vorrichtung zum Schreiben von q-stufigen Zeichen in entsprechende Speicherzellen und zum Lesen von Speicherzellen, um entsprechende Lesesignalkomponenten zu erhalten, die jeweils einem Zeichen entsprechen;
    eine Vorrichtung zum Ermitteln von Zustandsebenen-Schwellenwerten gemäß dem dritten Aspekt der Erfindung, um eine Vielzahl der Lesesignalkomponenten zu empfangen und daraus einen Zustandsebenen-Schwellenwert für aufeinander folgende Speicherzellen- Zustandsebenen zu ermitteln; und
    einen Detektor zum Erkennen von q-stufigen Zeichen, die den Lesesignalkomponenten entsprechen, in Abhängigkeit von dem oder jedem Zustandsebenen-Schwellenwert, der auf diese Weise ermittelt wird.
  • Wenn an dieser Stelle im Allgemeinen Merkmale unter Bezugnahme auf eine Ausführungsform eines Aspekts der Erfindung beschrieben werden, können gegebenenfalls entsprechende Merkmale bei Ausführungsformen eines anderen Aspekts der Erfindung bereitgestellt werden.
  • Bevorzugte Ausführungsformen der Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 das Auftreten von Erkennungsfehlern beim Lesen von Multi-Level-Speicherzellen bei Verwendung einer Erkennungstechnik nach dem Stand der Technik angibt;
  • 2 ein schematischer Blockschaltplan einer Datenspeichereinheit ist, bei der die Erfindung ausgeführt ist;
  • 3 ein schematischer Blockschaltplan einer Zustandsebenen-Schwellenwert- Schätzeinrichtung in der Einheit von 2 ist;
  • 4 den Betrieb eines Schwellenwert-Identifizierers in der Vorrichtung von 3 angibt;
  • 5 Ergebnisse eines Gleitfenster-Abtastens zeigt, das beim Betrieb der Vorrichtung von 3 ausgeführt wird;
  • 6 das Identifizieren von Zustandsebenen-Schwellenwerten für einen Signalwertvektor angibt, der durch die Vorrichtung von 3 erzeugt wird;
  • die 7a und 7b die Leistungsfähigkeit von Erkennungssystemen nach dem Stand der Technik mit Systemen vergleichen, bei denen Zustandsebenen-Schwellenwerte verwendet werden, die durch Verfahren ermittelt werden, bei denen die Erfindung ausgeführt wird;
  • 8 die Ergebnisse der Zustandsebenen-Schwellenwert-Schätzung beim Vorhandensein einer extremen Daten-Asymmetrie zeigt, wobei ein Verfahren verwendet wird, bei dem die Erfindung ausgeführt wird;
  • 9 den Betrieb eines Systems zum Korrigieren des Zustandsebenen-Schwellenwertes veranschaulicht, das bei bevorzugten Ausführungsformen der Erfindung verwendet wird; und
  • 10 die Leistungsfähigkeit von Erkennungssystemen nach dem Stand der Technik mit einer Ausführungsform der Erfindung zum Lesen von kleinen Datensätzen vergleicht.
  • 2 ist eine vereinfachte schematische Darstellung einer Daten-Speichereinheit, hier eine Einheit 1 mit Phasenänderungsspeicher (PCM), bei der die Erfindung ausgeführt wird. Die Einheit 1 enthält einen Phasenänderungsspeicher 2 zum Speichern von Daten in einem oder mehreren integrierten Arrays aus Multi-Level-PCM-Zellen. Jede der PCM-Zellen im Speicher 2 kann auf eine von q > 2 nominellen Zustandsebenen eingestellt werden, die an dieser Stelle mit I1 bis Iq bezeichnet sind, indem der Widerstand der Zelle in bekannter Weise eingerichtet wird. Zwar ist der Speicher 2 in der Figur als ein einzelner Block gezeigt, er kann jedoch im Allgemeinen jede gewünschte Konfiguration von PCM-Speichereinheiten aufweisen, die von einem einzelnen Chip bis zu einer Vielzahl von Bänken reichen, von denen jede mehrere Gruppen von Speicherchips enthält. Die Einheit 1 enthält einen Codierer 3 zum Codieren von eingegebenen Benutzerdaten wie nachfolgend erläutert. Eine Lese/Schreib-Steuereinheit 4 steuert ein Schreiben der resultierenden Codewörter im Speicher 2 und nachfolgend ein Lesen von Speicherzellen, um Lesesignale zu erhalten, die den Codewörtern entsprechen. Ein Decodierer 5 zum Verarbeiten der resultierenden Lesesignale enthält eine Schwellenwert-Schätzeinrichtung 6, einen Codewort-Detektor 7 und einen Daten-Detektor 8. Die Schwellenwert-Schätzeinrichtung 6 weist eine Funktionalität zum Ermitteln von Zustandsebenen-Schwellenwerten für die q Zellen-Zustandsebenen auf. Der Codewort-Detektor 8 verwendet die Zustandsebenen-Schwellenwerte zum Erkennen von Codewörtern, die den Lesesignalen entsprechen, und der Daten-Decodierer 8 decodiert die erkannten Codewörter, um die ursprünglichen Benutzerdaten wiederherzustellen.
  • Beim Betrieb der Einheit 1 werden die eingegebenen Benutzerdaten, die im Speicher 2 aufgezeichnet werden sollen, an den Codierer 3 bereitgestellt. Bei dieser Ausführungsform codiert der Codierer 3 die eingegebenen Daten in Codewörter einer im Voraus festgelegten Gruppe von Codewörtern aus q-stufigen Zeichen der Länge N, wobei im Allgemeinen gilt N☐q. Somit hat jedes Codewort N Zeichen sn, n = 1, 2, ..., N, und jedes Zeichen kann einen von q möglichen Werten annehmen. Jeder Code aus q-stufigen Zeichen der Länge N kann an dieser Stelle im Codierer 3 verwendet werden. Der Codierprozess kann im Allgemeinen Modulations-Codierung von eingegebenen Daten oder ein einfaches Abbilden von binären eingegebenen Daten auf q-stufige Zeichen ohne weiteres Codieren der Benutzerdaten beinhalten.
  • Codewörter, die durch den Codierer 3 ausgegeben werden, werden durch die Lese/Schreib-Steuereinheit 4 in den Speicher 2 geschrieben. Bei einer Schreiboperation werden die N Zeichen jedes Codewortes in entsprechenden Zellen des Speichers 2 gespeichert. Die q möglichen Zeichenwerte entsprechen jeweiligen im Voraus festgelegten Zustandsebenen I1 bis Iq der Zellen mit q Zustandsebenen im Speicher 2. Jede Speicherzelle wird somit auf eine Zustandsebene eingestellt, die von dem zu speichernden Zeichenwert abhängt gemäß der im Voraus definierten Entsprechung zwischen Zeichenwerten und Zellen-Zustandsebenen. (Es wird angemerkt, dass beim Einstellen einer Zelle auf eine vorgegebenen Zustandsebene der tatsächliche Widerstandswert x, der von der Zelle eingenommen wird, infolge von Schreibstörungen in einem kleinen Intervall um den nominellen Widerstandswert für die Zustandsebene liegt.) Um eine Zelle bei einer nachfolgenden Leseoperation zu lesen, wird ein kleines Prüfsignal an die Zelle angelegt, um ein Lesesignal zu erhalten, das den Widerstand der Zelle angibt.
  • Blöcke aus Codewörtern werden im Wesentlichen gleichzeitig durch die Steuereinheit 4 im Speicher geschrieben/gelesen. Bei dieser Ausführungsform schreibt/liest die Steuereinheit 4 Gruppen von B Codewörtern parallel, so dass die Codewörter in jeder Gruppe an demselben Zeitpunkt geschrieben/gelesen werden. Bei einer Leseoperation werden die Speicherzellen gelesen, die eine Gruppe aus B Codewörtern speichern, um B reelle Lesesignale y zu erhalten, von denen jedes N Lesesignalkomponenten yn, n = 1, 2, 3, ..., N aufweist, die die Lese-Widerstandswerte der Folge von Zellen angeben, die die N Zeichen eines Codewortes speichern. Die Signalkomponenten y1, ... yN jedes Lesesignals entsprechen somit den jeweiligen Zeichen eines Codewortes. Die Gruppe von Lesesignalen y wird an das Decodierer-Modul 5 zur Verwendung durch die Schwellenwert-Schätzeinrichtung 6 und den Codewort-Detektor 7 geliefert. Die Schwellenwert-Schätzeinrichtung 6 verarbeitet dann die Lesesignale wie nachfolgend erläutert, um eine aktuelle Gruppe von Zustandsebenen- Schwellenwerten für die q Speicherzellen-Zustandsebenen festzulegen. Der Codewort- Detektor 7 erkennt Codewörter, die der aktuellen Gruppe von Lesesignalen entsprechen, auf der Grundlage der Zustandsebenen-Schwellenwerte, die durch die Zustandsebenen- Schätzeinrichtung 6 für diese Gruppe ermittelt wurden. Der Daten-Decodierer 8 decodiert die erkannten Codewörter durch Ausführen einer Umkehrfunktion der Codierung, die durch den Codierer 3 ausgeführt wird, um auf diese Weise die ursprünglichen eingegebenen Daten wiederherzustellen.
  • Die Funktionalität von Codierer 5 und Decodierer 5 kann im Allgemeinen in Hardware, Software oder einer Kombination von beiden umgesetzt sein. Das Abbilden von eingegebenen Daten auf Codewörter im Codierer 3 kann beispielsweise insbesondere für kleine Codes unter Verwendung einer Verweistabelle oder unter Verwendung der bekannten Technik enumerative Source-Coding für einen wirkungsvolleren Betrieb bei großen Codes umgesetzt sein. Der Daten-Decodierer 8 kann in entsprechender Weise umgesetzt sein, um die Umkehrfunktion des Codier-Prozesses auszuführen. Die Schwellenwert- Schätzeinrichtung 6 weist eine Steuerlogik auf zum Umsetzen der verschiedenen Schritte des Prozesses zum Ermitteln von Zustandsebenen-Schwellenwerten, der nachfolgend erläutert wird, und diese Steuerlogik kann in Hardware, Software oder einer Kombination von Hardware- und Software-Komponenten ausgeführt sein. Ein oder mehrere Schritte könnten beispielsweise vollständig oder teilweise durch Software ausgeführt werden, die einen Prozessor so konfiguriert, dass er die beschriebene Funktionalität umsetzen kann, wobei geeignete Software für einen Fachmann leicht vorstellbar ist. Aus Gründen der Verarbeitungsgeschwindigkeit ist jedoch die Verwendung von festverdrahteten Logikschaltungen im Allgemeinen zu bevorzugen, um eine Funktionalität der Schwellenwert- Schätzeinrichtung umzusetzen. Geeignete Umsetzungen sind wiederum aus der Beschreibung der Funktionsweise, die an dieser Stelle erfolgt, leicht vorstellbar.
  • 3 zeigt die wesentlichen Funktionskomponenten der Schwellenwert-Schätzeinrichtung 6. Diese weisen einen Vektor-Generator 10, der den Stapel aus B Lesesignalen y von der Steuereinheit 4 empfängt, einen Gleitfenster-Scanner 11 und einen Schwellenwert- Identifizierer 12 auf. Der Vektor-Generator 10 weist eine Logikschaltung zum Verarbeiten der Lesesignalkomponenten des Stapels in Abhängigkeit vom Signalwert auf, um einen Signalwertvektor zu erzeugen. Dieser Signalwertvektor, der nachfolgend beschrieben wird, weist eine Reihe von Elementen auf, die die Verteilung oder Streuung von Lesesignalkomponenten in der Reihenfolge des Signalwertes angeben. Der Signalwertvektor wird an den Gleitfenster-Scanner 11 und den Schwellenwert-Identifizierer 12 ausgegeben. Der Gleitfenster-Scanner 11 weist ein Register 14 zum Speichern des Eingabesignalwertvektors und eine Abtastlogik 15 zum Ausführen eines Gleitfenster-Abtastens des Vektors auf, wie nachfolgend genau beschrieben wird. Die Abtastlogik berechnet während des Abtastens an jeder Position des Gleitfensters eine vorgegebenen Maßzahl oder Messgröße in Abhängigkeit von den Elementen des Signalwertvektors in dem Fenster. Eine Folge von Maßzahlwerten Mi für aufeinander folgende Fensterpositionen i = 1, 2, 3 usw. beim Abtasten wird an den Schwellenwert-Identifizierer 12 ausgegeben. Die Logik des Schwellenwert- Identifizierers ermittelt Zustandsebenen-Schwellenwerte für die q Speicherzellen- Zustandsebenen in Abhängigkeit von der Variation der Maßzahl über das Abtasten, die aus der Gruppe von Eingabewerten Mi ermittelt wird. Dieser Prozess wird nachfolgend genauer beschrieben. Wie durch den gestrichelten Pfeil in der Figur angegeben kann der Schwellenwert-Identifizierer außerdem eine Steuereingabe vom Codewort-Detektor 7 empfangen. Diese Eingabe kann verwendet werden, um in bevorzugten Ausführungsformen eine Fehlerbedingung zu signalisieren, indem die Ausführung eines nachfolgend beschriebenen Korrekturprozesses bestätigt wird. Die Funktionsweise aller Komponenten der Schwellenwert-Schätzeinrichtung 6 wird nachfolgend genauer erläutert.
  • Der Vektorgenerator 10 empfängt einen Stapel von B Lesesignalen y(b), b = 1, ..., B, der einer Gruppe von B Codewörtern entspricht, die vom Speicher 2 gelesen werden. Die B Lesesignale bilden gemeinsam ein verknüpftes Wort yB=[y(1), y(2), ..., y(B)] mit B × N Lesesignalkomponenten, die den B × N gespeicherten Codewort-Zeichen entsprechen. Bei dieser ersten Ausführungsform erzeugt der Vektor-Generator den Signalwertvektor durch BOrdnen der B × N Komponenten des verknüpften Worts y gemäß dem Signalwert. Die Lesesignalkomponenten werden dabei in der Reihenfolge des ansteigenden Signalwerte geordnet, so dass der resultierende Signalwertvektor eine Folge von Elementen [y1 s, y2 s, ... yBN s] aufweist, die den geordneten Lesesignalkomponenten entsprechen. Dieser Vektor wird dann an den Gleitfenster-Scanner 11 ausgegeben.
  • Der Signalwertvektor, der von dem Gleitfenster-Scanner 11 empfangen wird, wird im Register 14 gespeichert. Die Abtastlogik tastet den Signalwertvektor mit einem Gleitfenster ab, das eine Größe aufweist, welche die Abtast-Schrittweite übersteigt, d.h. den Abstand zwischen aufeinander folgenden Fensterpositionen beim Abtasten. Das stellt sicher, dass zwischen den Gruppen von Vektorelementen in dem Fenster an benachbarten Fensterpositionen eine Überlagerung vorhanden ist. Die Fensterlänge und die Abtastschrittweite werden in Abhängigkeit von der Länge des Signalwertvektors und der Anzahl q von Zellen- Zustandsebenen gewählt, damit sich eine ausreichende Auflösung bei den Abtastergebnissen ergibt, so dass Zustandsebenen-Schwellenwerte durch den nachfolgend beschriebenen Prozess identifiziert werden können. Die Fensterlänge sollte im Allgemeinen klein sein verglichen mit der Länge des Signalwertvektors und Fenster an benachbarten Positionen sollten sich um einen Bruchteil der Fensterlänge überlagern. Etwa 30 bis 70 Fensterpositionen könnten üblicherweise im Verlauf des Abtastens zweckdienlich sein, und eine Fensterüberlagerung von etwa 40 bis 60% an benachbarten Positionen kann geeignet sein. Bei einem veranschaulichenden Beispiel würde der Signalwertvektor für einen Stapel aus B = 32 Lesesignalen bei Verwendung eines N = 8, Codes mit 4-stufigen Zeichen bei Speicherzellen mit (q = 4) 256 Elemente aufweisen. Bei nachfolgend dargestellten Ergebnissen wurden eine Fensterlänge von acht Elementen und eine Abtastschrittweite von vier Elementen verwendet, wodurch sich 63 Fensterpositionen im Verlauf des Abtastens ergeben. Parameter können jedoch im Allgemeinen für ein vorgegebenes System nach Bedarf ausgewählt werden und geeignete Werte werden für einen Fachmann leicht ersichtlich sein.
  • An jeder Fensterposition beim Abtasten berechnet die Abtastlogik einen Wert einer Maßzahl Mi auf der Grundlage der Elemente des Signalwertvektors in dem Fenster. Bei dieser bevorzugten Ausführungsform hängt die Maßzahl Mi von der absoluten Differenz zwischen jedem Element in dem Fenster und einem Referenzwert ab, bei dem es sich hier um den Mittelwert der Elemente in dem Fenster handelt. Bei diesem speziellen Beispiel handelt es sich bei der Maßzahl Mi um die L1-Norm der Differenzen zwischen entsprechenden Elementen in dem Fenster und dem Mittelwert. Dabei berechnet die Abtastlogik 15 zunächst den Mittelwert ym der Fensterkomponenten und anschließend Mi als:
    Figure DE102014112947A1_0002
    wobei yj ein Element in dem Fenster und w die Fensterlänge ist. Die resultierende Folge von Maßzahlwerten Mi für aufeinander folgende Fensterpositionen i = 1, 2, 3, usw. beim Abtasten wird an den Schwellenwert-Identifizierer 12 geliefert.
  • 4 zeigt die wesentlichen Funktionsschritte, die durch den Schwellenwert-Identifizierer 12 ausgeführt werden, um die Zustandsebenen-Schwellenwerte für die Zellen mit q Zustandsebenen zu ermitteln. Die Operation beginnt wie beim Schritt 20 angegeben mit dem Empfangen der Maßzahlen von dem Gleitfenster-Scanner. Im Schritt 21 analysiert die Logik des Schwellenwert-Identifizierers die Variation von Mi mit dem Fensterindex i über den Verlauf des Abtastens. Bei der bevorzugten Maßzahl dieser Ausführungsform weist die Variation des Maßzahlwerts bei der Fensterposition lokale Maximalwerte auf, die an bestimmten Fensterpositionen die Zustandsebenen-Schwellenwerte angeben. Das ist in 5 dargestellt. Diese Darstellung zeigt Variationen der Maßzahl mit der Fensterposition für einen 256-Element-Signalwertvektor, der durch das oben genannte Verfahren aus B = 32 Lesesignalen erhalten wird, die Codewörtern aus 4-stufigen Zeichen mit der Länge 8 entsprechen, die im PCM-Speicher mit 4 Zustandsebenen gespeichert sind. Bei dem Gleitfenster-Abtasten wurde eine Fensterlänge w von acht Elementen und eine Abtast- Schrittweite von vier Elementen verwendet, woraus sich eine Reihe von 63 Maßzahlwerten für die 63 aufeinander folgenden Fensterpositionen ergab. Eine Daten-Asymmetrie von 70%:30% wurde bei den verwendeten binären Benutzerdaten zwischen Nullen und Einsen simuliert, um die codierten Daten zu erzeugen, die in den Speicherzellen aufgezeichnet werden. Es ist ersichtlich, dass die Maßzahlvariation drei starke lokale Maximalwerte aufweist. Diese entsprechen in der Reihenfolge des ansteigenden Fensterindex den drei Zustandsebenen-Schwellenwerten für die drei Paare von aufeinander folgenden Speicherzellen-Zustandsebenen I1 und I2, I2 und I3, I3 und I4.
  • Wieder in 4 wählt der Schwellenwert-Identifizierer im Schritt 22 die q – 1 größten lokalen Maximalwerte in den Abtastergebnissen aus. Im Schritt 23 wird eine Höhe des Schwellenwertsignals, die einem dieser Maximalwerte entspricht, folgendermaßen ermittelt. Der Fensterindex, bei dem ein Maximalwert auftritt, wird zunächst aus den Abtastergebnissen identifiziert. Die entsprechende Fensterposition in dem Signalwertvektor, der vom Vektorgenerator 10 empfangen wird, wird anschließend für diesen Fensterindex ermittelt. Der Übergang zwischen benachbarten Zellen-Zustandsebenen erfolgt in dem Fenster des Vektorelements an dieser Position, und das geeignete Schwellenwertelement wird dann durch die Logik des Schwellenwert-Identifizierers ausgewählt. Dabei könnten zum Auswählen des Schwellenwertelements verschiedenen Verfahren in Betracht gezogen werden. Bei einer einfachsten Ausführungsform kann beispielsweise angenommen werden, dass der Schwellenwert in der Mitte des Fensters auftritt, wodurch das zentrale Element (oder eines der beiden zentralen Elementen bei Fenstern mit geradzahligen Abschnitten) als das Schwellenwert-Element ausgewählt wird. Bei dieser bevorzugten Ausführungsform berechnet die Logik des Schwellenwert-Identifizierers die Differenz zwischen jedem Element und dem nächsten Element in dem Fenster. Das Element, für das diese Differenz einen Maximalwert darstellt, d.h. das Element, das sich von dem nächsten Element am stärksten unterscheidet, wird dann als Schwellenwert-Element ausgewählt. Der Signalwert, der diesem Element entspricht, definiert dann den Zustandsebenen-Schwellenwert. Im Schritt 24 werden die q – 1 Zustandsebenen-Schwellenwerte durch die Schwellenwert-Schätzeinrichtung 6 an den Codewort-Detektor 7 ausgegeben, und der Prozess wird beendet.
  • 6 zeigt das Ergebnis des Zustandsebenen-Schwellenwert-Identifizierungs-Prozesses für den Signalwertvektor, der den Abtastergebnissen von 5 entspricht. Es ist trotz der starken Daten-Asymmetrie ersichtlich, dass der Prozess ein korrektes Identifizieren der Schwellenwert-Elemente an den Übergängen zwischen den Zustandsebenen zur Folge hat.
  • Die q – 1 Zustandsebenen-Schwellenwerte, die aus den Lesesignalen für eine Gruppe von Codewörtern berechnet werden, werden durch den Detektor 7 zum Erkennen der Codewörter verwendet, die diesen Lesesignalen entsprechen. Das Erkennen von Codewörtern auf der Grundlage der Zustandsebenen-Schwellenwerte kann auf eine Vielzahl von Arten ausgeführt werden. Bei einer einfachsten Umsetzung könnten die Zustandsebenen- Schwellenwerte beispielsweise direkt zur Codeworterkennung verwendet werden, indem die Komponenten yn jedes Lesesignals mit diesen Zustandsebenen verglichen werden, um die spezielle Zellen-Zustandsebene und somit den Zeichenwert, dem jede Lesesignalkomponente entspricht, zu identifizieren. Bei intelligenteren Systemen können die Zustandsebenen-Schwellenwerte verwendet werden, um statistische Daten für die Verteilung von Lesesignalkomponenten zu berechnen, die so ermittelt wurden, dass sie gemäß den berechneten Zustandsebenen-Schwellenwerten allen Speicherzellen-Zustandsebenen entsprechen. Beispielsweise können die Mittelwerte ☐1 bis ☐q und die Standardabweichungen ☐1 bis ☐q aus den Verteilungen für die Zellen-Zustandsebenen I1 bis Iq berechnet werden. Das Codewort, entsprechend jedem Lesesignal, kann dann auf der Grundlage dieser statistischen Daten erkannt werden. Der Codewort-Detektor 7 kann beispielsweise eine oder mehrere Stufen des Codewort-Erkennens unter Verwendung einer Technik wie etwa ML-(Maximum-Likelihood-), MAP-(Maximum-a-Posteriori-) oder MD-(Minimum Distance)Decodieren ausführen. Spezielle Beispiele derartiger Erkennungsprozesse sind in unseren gleichzeitig anhängigen US- und UK-Patentanmeldungen genau erläutert, auf die oben Bezug genommen wurde, wobei die relevanten Inhalte hier durch Bezugnahme eingeschlossen sind. Im Allgemeinen kann jedoch jede gewünschte Erkennungstechnik auf der Grundlage von Zustandsebenen-Schwellenwerten, die durch die Schwellenwert-Schätzeinrichtung 6 ermittelt werden, verwendet werden, und geeignete Umsetzungen für den Codewort-Detektor 7 sind für einen Fachmann leicht ersichtlich.
  • Die oben beschriebene Technik zum Schätzen von Zustandsebenen-Schwellenwerten führt zur erheblichen Verbesserung der Leseleistung. Zur Erläuterung stellt 7a die Zustandsebenen-Fehlerrate als eine Funktion der Zeit (und somit der zunehmenden Zustandsebenen-Abweichung) für gleichwertige Leseoperationen bei verschiedenen Systemen zur Zustandsebenen-Schätzung und -erkennung nach dem Stand der Technik dar. Die Systemparameter sind im Allgemeinen so, wie sie oben für die 5 und 6 beschrieben wurden, darunter eine Daten-Asymmetrie von 70%:30% zwischen Nullen und Einsen in dem Benutzer-Bitstrom. Die mit „M1 vorherig“ bezeichnete Kurve entspricht dem System, auf das oben in unserer US-Anmeldung Bezug genommen wurde. Die mit „M2 vorherig“ bezeichnete Kurve entspricht dem System, auf das oben in unserer UK- Anmeldung Bezug genommen wurde. Die mit „Referenzzelle“ bezeichnete Kurve entspricht einem ML-gestützten Erkennen unter Verwendung von Referenzzellen zum Ermitteln der Zustandsebenen-Schwellenwerte wie oben beschrieben. Die Kurve „Genie“ entspricht einem ML-gestützten Erkennen bei Annahme der vollständigen Kenntnis der Zustandsebenen-Statistiken, und somit der Zustandsebenen-Schwellenwerte. Die mit „feststehend“ bezeichnete Kurve entspricht einem MD-gestützten Erkennen unter Verwendung von feststehenden (unveränderlichen) Zustandsebenen-Schwellenwerten, die den Anfangswerten zum Zeitpunkt t = 0 entsprechen. Das ausflachende Fehlerverhalten (Error Floor) der Verfahren M1 und M2 nach dem Stand der Technik infolge der Daten-Asymmetrie ist offensichtlich. 7b zeigt dagegen die gleichwertigen Ergebnisse mit Zustandsebenen- Schwellenwerten, die die durch die Schwellenwert-Schätzeinrichtung 6 ermittelt werden, die bei dem Erkennungssystem unserer oben benannten UK-Anmeldung (Kurve „M1 neu“) und dem Erkennungssystem unserer oben genannten UK-Anmeldung (Kurve „M2 neu“) verwendet wird. Die Verbesserung bei den Fehlerraten ist aus dieser Figur leicht ersichtlich. Es wird kein ausflachendes Fehlerverhalten (Error Floor) beobachtet, Fehlerraten sind vermindert, und die Leistung ist sogar bedeutend besser als bei dem Genie-gestützten Verfahren. Die oben beschriebene Technik bietet somit eine sehr genaue Identifizierung von Zustandsebenen-Schwellenwerten beim Vorhandensein von Daten-Asymmetrie, sogar bei starker Abweichung bei den Zellen-Zustandsebenen. Darüber hinaus ist die Technik robust, sogar beim Vorhandensein von sehr großer Daten-Asymmetrie. 8 zeigt die Ergebnisse des Prozesses zum Schätzen von Zustandsebenen-Schwellenwerten für ein Lese-Szenario im Allgemeinen wie zuvor, jedoch für einen 256-Zeichen-Datensatz mit 140, 59, 48 bzw. 9 Zellen, die auf die vier Zellen-Zustandsebenen I1 bis I4 eingestellt sind. Ein genaues Identifizieren der Schwellenwerte wird sogar in diesem extremen Fall nachgewiesen.
  • Zahlreiche Modifikationen an der obigen Ausführungsform können in Betracht gezogen werden. Bei einer alternativen Umsetzung des Vektorgenerators 10 kann beispielsweise der Signalwertvektor durch Bilden von Signalklassen (binning) der B × N Lesesignalkomponenten gemäß dem Signalwert erzeugt werden. Das heißt, eine Reihe von „Signalklassen“, von denen jede einer bestimmten Höhe des Signalwerts (oder einem Bereich von Werten) entspricht, wird in dem Vektorgenerator definiert, und jede Lesesignalkomponente wird gemäß ihrem Signalwert der geeigneten Signalklasse zugewiesen. Die eingegebenen Lesesignalkomponenten sind üblicherweise bereits quantisiert, da sie am Ausgang eines Analog/Digital-Umsetzers (ADC) in der Lese/Schreib-Steuereinheit 4 erzeugt werden. Deswegen kann der Vektorgenerator 10 bei einer einfachen Umsetzung so viele Signalklassen verwenden wie Signalkomponentenwerte am ADC-Ausgang vorhanden sind. (Alternativ könnten weniger Signalklassen verwendet werden, wobei jede Signalklasse einem Bereich von Signalkomponentenwerten entspricht.) Die resultierenden Signalklassen-Zählwerte geben somit die Anzahl von Komponenten mit dem entsprechenden Wert an. Angeordnet in einer Reihenfolge des zunehmenden (oder abnehmenden) Signalwertes stellen diese Signalklassen-Zählwerte somit ein Histogramm der Verteilung von Lesesignal-komponenten durch Signalwerte bereit. Die anschließende Operation des Gleitfenster-Codierers 11 und des Schwellenwert-Identifizierers 12 ist bei diesem Signalwertvektor vollständig gleichwertig. Das Bilden von Signalklassen beruht auf einem Prozess der Musteranpassung, der umgesetzt werden kann, indem lediglich logische AND-Gatter verwendet werden. Das bringt eine viel geringere Komplexität mit sich als ein Sortierprozess zum Ordnen von Komponenten gemäß dem Signalwert. Ausführungsformen auf der Grundlage des Bildens von Signalklassen bieten somit eine wertvolle Verringerung der Verarbeitungskomplexität.
  • Bei bevorzugten Ausführungsformen wird außerdem ein Korrektursystem auf der Grundlage der erkannten Fehlerrate umgesetzt. Der Codewort-Detektor 7 kann insbesondere einen Fehlerwert in Abhängigkeit von der Anzahl gültiger Codewörter (somit der Anzahl ungültiger Codewörter) berechnen, die für die Gruppe von Lesesignalen unter Verwendung der ursprünglichen Menge von Zustandsebenen-Schwellenwerten berechnen, die oben ermittelt wurden. Dieser Fehlerwert kann im Detektor 7 mit einem im Voraus definierten Fehlerschwellenwert verglichen werden. Wenn eine signifikante Anzahl der erkannten Codewörter als ungültig betrachtet werden, d.h., sie sind kein Element der im Voraus definierten Menge von gültigen Codewörtern für den Code, übersteigt der Fehlerwert den Schwellenwert. In diesem Fall liefert der Codewort-Detektor 7 ein Fehlersignal an den Steuereingang des Schwellenwert-Identifizierers 13 in 3. Beim Empfangen lokalisiert der Schwellenwert-Identifizierer den q-größten lokalen Maximalwert in den Abtastergebnissen (die für diesen Zweck vorübergehend gespeichert werden) und identifiziert den Signalwert, der diesem Maximalwert entspricht, als einen neuen Zustandsebenen-Schwellenwert. Der Schwellenwert-Identifizierer gibt anschließend eine korrigierte Menge von Zustandsebenen-Schwellenwerten aus, in der der neue Zustandsebenen-Schwellenwert, der dem q-größten lokalen Maximalwert entspricht, den vorhergehenden Zustandsebenen-Schwellenwert ersetzt, der dem (q – 1)-größten lokalen Maximalwert entspricht. Dieser Korrekturprozess ist in den Abtastergebnissen von 9 schematisch dargestellt. Hier hatte sich der drittgrößte lokale Maximalwert, der für die ursprüngliche Menge von Zustandsebenen-Schwellenwerten als inkorrekt erwiesen. Durch Ersetzen des fehlerhaften Zustandsebenen-Schwellenwerts, der diesem Maximalwert entspricht, durch einen neuen Zustandsebenen-Schwellenwert, der dem viertgrößten lokalen Maximalwert entspricht, wird die korrekte Menge von Zustandsebenen-Schwellenwerten erreicht. Das Erkennen wird dann erneut für die korrigierten Schwellenwerte ausgeführt, wodurch der Fehlerzustand eliminiert wird, der den Korrekturprozess veranlasst hatte.
  • Das oben genannte Korrektursystem bietet sogar eine weitere Verbesserung bei der Erkennungsleistung. Darüber hinaus bietet das System eine gute Leistung selbst bei sehr kleinen Datensätzen. Zur Erläuterung veranschaulicht 10 die Leistungsfähigkeit den Verfahrens „M2 neu“ wiederum im Vergleich mit Systemen nach dem Stand der Technik über einen langen Simulations-Programmlauf mit 107 Zellen und einer Stapelgröße von 16 Codewörtern. Wie durch diese Ergebnisse nachgewiesen, wird eine höhere Leistungsfähigkeit erreicht, und es wird selbst bei derartig kleinen Datensätzen kein ausflachendes Fehlerverhalten (Error Floor) beobachtet.
  • Natürlich können an den beispielhaften Systemen, die beschrieben wurden, weitere Änderungen und Modifikationen ausgeführt werden. Zahlreiche andere Maßzahlen könnten beispielsweise bei dem Gleitfenster-Abtasten verwendet werden. Ein von dem Mittelwert verschiedener Wert könnte bei der Maßzahl als Referenzwert verwendet werden, beispielsweise eine andere Form des Mittelwerts wie z.B. der Moduswert (der am häufigsten auftretende Wert) oder eine bestimmte Form des gewichteten Mittelwerts oder ein bestimmter repräsentativer Wert, der vom Mittelwert verschieden ist, z.B. der kleinste oder der größte Wert in dem Fenster. Bei der Maßzahl Mi könnte es sich per se um die L1-Norm oder das Ergebnis der Weiterverarbeitung dieses Werts auf bestimmte Weise handeln. Im Allgemeinen könnten an dieser Stelle andere Funktionen, beispielsweise andere Normen wie die L2-Norm verwendet werden und es könnten Maßzahlen in Betracht gezogen werden, die andere Merkmale aufweisen als Maximalwerte, die der Lage der Zustandsebenen-Schwellenwerte in den Abtastergebnissen entsprechen. Bei der Erzeugung des Signalwertvektors könnte außerdem in bestimmten Fällen die Weiterverarbeitung von Komponenten/Signalklassen-Zählwerten involviert sein.
  • Zwar werden beim Speicher 2 PCM-Zellen verwendet, jedoch sind die beschriebenen Techniken allgemeingültig und können natürlich bei anderen Speicherzellen angewendet werden. Während die Anwendung bei Multi-Level-Zellen besonders vorteilhaft ist, kann die Technik darüber hinaus außerdem angewendet werden, um einen Zustandsebenen- Schwellenwert im SLC-Speicher beim Lesen von Zellen mit q = 2 Zustandsebenen zu schätzen.
  • Es ist klar, dass viele andere Änderungen und Modifikationen an den beschriebenen beispielhaften Ausführungsformen ausgeführt werden, ohne vom Umfang der Erfindung 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
    • US 2013/0227380 A1 [0006, 0006, 0007]

Claims (15)

  1. Verfahren zum Ermitteln von Zustandsebenen-Schwellenwerten für Speicherzellen mit q-Zustandsebenen, wobei das Verfahren aufweist: Lesen einer Mehrzahl von Speicherzellen, um entsprechende Lesesignalkomponenten zu erhalten; Verarbeiten der Lesesignalkomponenten in Abhängigkeit vom Signalwert zum Erzeugen eines Signalwertvektors, der eine Reihe von Elementen aufweist, die die Verteilung von Lesesignalkomponenten in der Reihenfolge des Signalwertes angeben; Abtasten des Signalwertvektors mit einem Gleitfenster, das länger ist als der Abstand von aufeinander folgenden Fensterpositionen beim Abtasten; an jeder Fensterposition Berechnen einer Maßzahl in Abhängigkeit von den Elementen des Signalwertvektors in dem Fenster; und Ermitteln eines Zustandsebenen-Schwellenwertes für aufeinander folgende Speicherzellen-Zustandsebenen in Abhängigkeit von einer Variation der Maßzahl während des Abtastens.
  2. Verfahren nach Anspruch 1, wobei q > 2, wobei das Verfahren ein Ermitteln eines Zustandsebenen-Schwellenwerts für jedes der q – 1 Paare von aufeinander folgenden Speicherzellen-Zustandsebenen in Abhängigkeit von der Variation der Maßzahl während des Abtastens aufweist.
  3. Verfahren nach Anspruch 1 oder 2, das ein Erzeugen des Signalwertvektors durch Ordnen der Lesesignalkomponenten gemäß dem Signalwert aufweist.
  4. Verfahren nach Anspruch 1 oder 2, das ein Erzeugen des Signalwertvektors durch Bilden von Signalklassen der Lesesignalkomponenten gemäß dem Signalwert aufweist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, das beinhaltet: an jeder Fensterposition Ermitteln eines Referenzwertes für die Elemente in dem Fenster, wobei die Maßzahl von der absoluten Differenz zwischen jedem Element in dem Fenster und dem Referenzwert abhängig ist; und Ermitteln des Zustandsebenen-Schwellenwertes in Abhängigkeit von der Lage eines lokalen Maximalwerts, der diesem Schwellenwert bei der Maßzahlvariation während des Abtastens entspricht.
  6. Verfahren nach Anspruch 5, das ein Ermitteln des Zustandsebenen-Schwellenwertes aus den Elementen in dem Fenster an der Fensterposition enthält, die dem Maximalwert entspricht, durch Identifizieren des Elements, das sich von dem nächsten Element in dem Fenster am stärksten unterscheidet.
  7. Verfahren nach Anspruch 5 oder 6, wobei der Referenzwert einen Durchschnittswert der Elemente in dem Fenster aufweist, wobei der Durchschnittswert insbesondere einen Mittelwert aufweist.
  8. Verfahren nach Anspruch 2 und einem der Ansprüche 5 bis 7, wobei die Zustandsebenen-Schwellenwerte für die q – 1 Paare von aufeinander folgenden Speicherzellen-Zustandsebenen in Abhängigkeit von einer Lage der q – 1 größten lokalen Maximalwerten bei der Maßzahlvariation während des Abtastens ermittelt werden.
  9. Verfahren nach Anspruch 8, wobei die Speicherzellen entsprechende q-stufige Zeichen von N-Zeichen-Codewörtern einer im Voraus definierten Menge von gültigen Codewörtern speichern, wobei das Verfahren aufweist: Lesen der Speicherzellen, die eine Gruppe von Codewörtern speichern, um entsprechende Lesesignale zu erhalten, die jeweils N der Lesesignalkomponenten aufweisen; Erkennen eines Codewortes, entsprechend jedem Lesesignal, in Abhängigkeit von den Zustandsebenen-Schwellenwerten für die q – 1 Paare von aufeinander folgen- den Speicherzellen-Zustandsebenen; Berechnen eines Fehlerwertes, der von der Anzahl von gültigen Codewörtern abhängt, die für die Gruppe erkannt wurden; und wenn der Fehlerwert einen im Voraus festgelegten Fehlerschwellenwert übersteigt, Ersetzen des Zustandsebenen-Schwellenwerts, der dem (q – 1)-größten lokalen Maximalwert entspricht, durch einen neuen Zustandsebenen-Schwellenwert, der in Abhängigkeit von der Lage des q-größten lokalen Maximalwert bei der Maßzahlvariation während des Abtastens ermittelt wird.
  10. Verfahren nach einem der Ansprüche 5 bis 9, wobei die Maßzahl die L1-Norm der Differenzen zwischen entsprechenden Elementen in dem Fenster und dem Durchschnittswert aufweist.
  11. Verfahren zum Erkennen von Codewörtern, die jeweils N q-stufige Zeichen aufweisen, die in entsprechenden Speicherzellen mit q Zustandsebenen gespeichert werden, wobei das Verfahren aufweist: Ausführen eines Verfahrens zum Ermitteln von Zustandsebenen-Schwellenwerten nach einem der vorhergehenden Ansprüche, wobei das Verfahren zum Ermitteln von Zustandsebenen-Schwellenwerten ein Lesen der Speicherzellen aufweist, die eine Gruppe von Codewörtern speichern, um entsprechende Lesesignale zu erhalten, die jeweils N der Lesesignalkomponenten aufweisen; und Erkennen eines Codewortes, entsprechend jedem Lesesignal, in Abhängigkeit von dem oder allen Zustandsebenen-Schwellenwerten, die auf diese Weise ermittelt werden.
  12. Verfahren nach Anspruch 11, das aufweist: Berechnen statistischer Daten für eine Verteilung der Lesesignalkomponenten, die jeder Speicherzellen-Zustandsebene entsprechen, gemäß dem oder allen Zustandsebenen-Schwellenwerten; und Erkennen des Codewortes, entsprechend jedem Lesesignal, in Abhängigkeit von den statistischen Daten.
  13. Vorrichtung zum Ermitteln von Zustandsebenen-Schwellenwerten beim Lesen von Speicherzellen mit q Zustandsebenen, wobei die Vorrichtung aufweist: einen Vektorgenerator zum Empfangen einer Vielzahl von Lesesignalkomponenten, die durch Lesen von entsprechenden Speicherzellen erhalten werden, und Verarbeiten der Lesesignalkomponenten in Abhängigkeit vom Signalwert, um einen Signalwertvektor zu erzeugen, der eine Reihe von Elementen aufweist, die die Verteilung von Lesesignalkomponenten in der Reihenfolge des Signalwertes angeben; einen Gleitfenster-Scanner zum Abtasten des Signalwertvektors mit einem Gleitfenster, das länger ist als der Abstand von aufeinander folgenden Fensterpositionen beim Abtasten und an jeder Fensterposition Berechnen einer Maßzahl, die von den Elementen des Signalwertvektors in dem Fenster abhängt; und einen Schwellenwert-Identifizierer zum Ermitteln eines Zustandsebenen-Schwellenwertes für aufeinander folgende Speicherzellen-Zustandsebenen in Abhängigkeit von einer Variation der Maßzahl während des Abtastens.
  14. Vorrichtung nach Anspruch 13, wobei q > 2, wobei der Schwellenwert-Identifizierer eingerichtet ist zum Ermitteln eines Zustandsebenen-Schwellenwertes für jedes der q – 1 Paare von aufeinander folgenden Speicherzellen-Zustandsebenen in Abhängigkeit von einer Variation der Maßzahl während des Abtastens.
  15. Datenspeichereinheit, die aufweist: einen Speicher mit Speicherzellen mit q Zustandsebenen; eine Lese/Schreib-Vorrichtung zum Schreiben von q-stufigen Zeichen in entsprechenden Speicherzellen und zum Lesen von Speicherzellen, um entsprechende Lesesignalkomponenten zu erhalten, die jeweils einem Zeichen entsprechen; eine Vorrichtung zum Ermitteln von Zustandsebenen-Schwellenwerten nach Anspruch 13 oder Anspruch 14 zum Empfangen einer Mehrzahl der Lesesignalkomponenten und daraus Ermitteln eines Zustandsebenen-Schwellenwertes für aufeinander folgende Speicherzellen-Zustandsebenen; und einen Detektor zum Erkennen von q-stufigen Zeichen, die den Lesesignalkomponenten entsprechen, in Abhängigkeit von dem oder jedem Zustandsebenen-Schwellenwert, der auf diese Weise ermittelt wird, wobei es sich bei den Speicherzellen insbesondere um Phasenänderungs-Speicherzellen handelt.
DE201410112947 2013-09-26 2014-09-09 Schätzen von Schwellenwerten für Zustandsebenen bei Speicherzellen Withdrawn DE102014112947A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1317081.6A GB2518632A (en) 2013-09-26 2013-09-26 Estimation of level-thresholds for memory cells
GB1317081.6 2013-09-26

Publications (1)

Publication Number Publication Date
DE102014112947A1 true DE102014112947A1 (de) 2015-03-26

Family

ID=49553443

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201410112947 Withdrawn DE102014112947A1 (de) 2013-09-26 2014-09-09 Schätzen von Schwellenwerten für Zustandsebenen bei Speicherzellen

Country Status (4)

Country Link
US (1) US9928923B2 (de)
CN (1) CN104575592B (de)
DE (1) DE102014112947A1 (de)
GB (1) GB2518632A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017103347A1 (de) 2017-02-17 2018-08-23 Infineon Technologies Ag Verarbeitung von daten in speicherzellen eines speichers

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2518632A (en) * 2013-09-26 2015-04-01 Ibm Estimation of level-thresholds for memory cells
GB2527318A (en) 2014-06-17 2015-12-23 Ibm Estimation of level-thresholds for memory cells
US10514852B2 (en) 2018-02-19 2019-12-24 Infineon Technologies Ag Processing data in memory cells of a memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227380A1 (en) 2012-02-29 2013-08-29 International Business Machines Corporation Read-detection in solid-state storage devices

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993704B2 (en) * 2001-05-23 2006-01-31 Texas Instruments Incorporated Concurrent memory control for turbo decoders
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US10572824B2 (en) * 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US7941590B2 (en) * 2006-11-06 2011-05-10 Marvell World Trade Ltd. Adaptive read and write systems and methods for memory cells
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
CN102203876B (zh) 2008-09-30 2015-07-15 Lsi公司 用于存储器器件的软数据生成的方法和装置
US20150010143A1 (en) * 2009-04-30 2015-01-08 HGST Netherlands B.V. Systems and methods for signature computation in a content locality based cache
US8386884B2 (en) * 2009-07-14 2013-02-26 Macronix International Co., Ltd. Memory apparatus with multi-level cells and operation method thereof
US8631304B2 (en) 2010-01-28 2014-01-14 Sandisk Il Ltd. Overlapping error correction operations
US8578246B2 (en) * 2010-05-31 2013-11-05 International Business Machines Corporation Data encoding in solid-state storage devices
US9082480B2 (en) * 2011-01-04 2015-07-14 Seagate Technology Llc Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window
EP2684193B1 (de) * 2011-03-10 2019-08-14 International Business Machines Corporation Zellstatusbestimmung in einem phasenwechselspeicher
US20120230081A1 (en) * 2011-03-10 2012-09-13 International Business Machines Corporation Cell-state measurement in resistive memory
GB2509858B (en) * 2011-09-29 2015-08-26 Ibm Read-detection in solid-state storage devices
US8644067B2 (en) * 2011-11-30 2014-02-04 Sandisk Technologies Inc. Systems and methods of decoding data using soft bits at a non-binary decoder that uses probabilistic decoding
WO2013093669A1 (en) * 2011-12-21 2013-06-27 International Business Machines Corporation Read/write operations in solid-state storage devices
US8493791B2 (en) * 2011-12-23 2013-07-23 Stec, Inc. Word-line inter-cell interference detector in flash system
WO2014015032A2 (en) * 2012-07-19 2014-01-23 Cypress Semiconductor Corporation Touchscreen data processing
US9135155B2 (en) * 2012-11-30 2015-09-15 Sandisk Technologies Inc. Storage and retrieval of shaped data
GB2518632A (en) * 2013-09-26 2015-04-01 Ibm Estimation of level-thresholds for memory cells
GB2527318A (en) * 2014-06-17 2015-12-23 Ibm Estimation of level-thresholds for memory cells

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227380A1 (en) 2012-02-29 2013-08-29 International Business Machines Corporation Read-detection in solid-state storage devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017103347A1 (de) 2017-02-17 2018-08-23 Infineon Technologies Ag Verarbeitung von daten in speicherzellen eines speichers
DE102017103347B4 (de) 2017-02-17 2023-07-20 Infineon Technologies Ag Verarbeitung von daten in speicherzellen eines speichers

Also Published As

Publication number Publication date
GB2518632A (en) 2015-04-01
CN104575592A (zh) 2015-04-29
CN104575592B (zh) 2018-01-23
GB201317081D0 (en) 2013-11-06
US20150085591A1 (en) 2015-03-26
US9928923B2 (en) 2018-03-27

Similar Documents

Publication Publication Date Title
DE60029584T2 (de) Korrektur von statischen fehlern in einem a/d-wandler
DE112011100371B4 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts
DE60305987T2 (de) Reduzierung der in einem nicht flüchtigen Speicher durch Rausch verursachten Effekte durch mehrfaches Auslesen
DE112009002259B4 (de) Einheitliche Architektur für einen Folding-Analog-Digital-Wandler
DE102004058749B4 (de) Vorrichtung zur Erfassung einer A/D-Wandler-Abnormität
DE102013020712B4 (de) Techniken zum Speichern von Bits in Speicherzellen mit Hängenbleiben-auf-0-oder-1-Fehlern
DE102014112947A1 (de) Schätzen von Schwellenwerten für Zustandsebenen bei Speicherzellen
DE112007003080T5 (de) Verfahren, System und Vorrichtung für den ECC-Schutz von kleinen Datenstrukturen
DE19963683A1 (de) Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision
CH622916A5 (de)
DE102017103347B4 (de) Verarbeitung von daten in speicherzellen eines speichers
DE2830924A1 (de) Einrichtung zum aufzeichnen und/oder uebertragung von digitalen signalen
EP2940924A1 (de) PUF basierende Ableitung eines gerätespezifischen Wertes
DE112012005424T5 (de) Lese/Schreib-Operationen in Halbleiterspeicher-Bauelementen
DE102019123510B4 (de) Nichtflüchtige Speichervorrichtung und Speichersystem, das die nichtflüchtige Speichervorrichtung umfasst
DE112012003458B4 (de) Leseerkennung in Halbleiter-Speichereinheiten
DE60025290T2 (de) Mehrstufiger Signaldiscriminator
DE102004008240A1 (de) Verfahren und Vorrichtungen zum Bestimmen des Zustands eines Speicherelements
DE102018132503B4 (de) Detektion von Codewörtern
EP1504336B1 (de) Vorrichtung und verfahren zum erzeugen einer zufallszahl
DE1774314B1 (de) Einrichtung zur maschinellen zeichenerkennung
DE19961440A1 (de) Gerät zum Lesen und/oder Schreiben optischer Aufzeichnungsträger
DE60104338T2 (de) Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium
DE3007849A1 (de) Logikschaltung
DE102011087634A1 (de) Vorrichtung und verfahren zum erfassen eines fehlers in einem codierten binärwort

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NY, US

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: GLOBALFOUNDRIES US 2 LLC (N.D.GES.DES STAATES DELAWARE), HOPEWELL JUNCTION, N.Y., US

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee