[go: up one dir, main page]

DE102020106169A1 - METHOD OF OPERATING A STORAGE DEVICE, STORAGE DEVICE, AND DATA STORAGE DEVICE - Google Patents

METHOD OF OPERATING A STORAGE DEVICE, STORAGE DEVICE, AND DATA STORAGE DEVICE Download PDF

Info

Publication number
DE102020106169A1
DE102020106169A1 DE102020106169.2A DE102020106169A DE102020106169A1 DE 102020106169 A1 DE102020106169 A1 DE 102020106169A1 DE 102020106169 A DE102020106169 A DE 102020106169A DE 102020106169 A1 DE102020106169 A1 DE 102020106169A1
Authority
DE
Germany
Prior art keywords
value
comparison
values
status
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020106169.2A
Other languages
German (de)
Inventor
Thomas Kern
Robert Strenz
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102020106169.2A priority Critical patent/DE102020106169A1/en
Publication of DE102020106169A1 publication Critical patent/DE102020106169A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods

Landscapes

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

Abstract

Es wird ein Verfahren zum Lesen einer Mehrzahl von Speicherzellen, in welchen ein mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes gesichertes Datenwort gespeichert ist, bereitgestellt. Das Verfahren kann aufweisen, für jede der Speicherzellen, Vergleichen eines Zustandswerts der Speicherzelle oder eines von einem Zustandswert der Speicherzelle abgeleiteten Werts mit mehreren Vergleich-Zustandswerten, wobei jede der Speicherzellen mit denselben Vergleich-Zustandswerten verglichen wird, Bilden einer Mehrzahl von gelesenen Datenwörtern, wobei für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter gebildet wird, und Anwenden des Fehlererkennungs- und/oder Fehlerkorrekturcodes zur Fehlererkennung auf eine Mehrzahl der gelesenen Datenwörter.A method is provided for reading a plurality of memory cells in which a data word secured by means of an error detection and / or error correction code is stored. The method can comprise, for each of the memory cells, comparing a status value of the memory cell or a value derived from a status value of the memory cell with a plurality of comparison status values, wherein each of the memory cells is compared with the same comparison status values, forming a plurality of read data words, wherein one of the read data words is formed for each of the comparison status values, and applying the error detection and / or error correction code for error detection to a plurality of the read data words.

Description

Technisches GebietTechnical area

Verschiedene Ausführungsformen betreffen im Allgemeinen ein Verfahren zum Betreiben einer Speichervorrichtung, eine Speichervorrichtung und eine Datenspeichereinrichtung.Various embodiments generally relate to a method of operating a storage device, a storage device, and a data storage device.

Hintergrundbackground

In 1 sind in der Ansicht 100a Zellenstromverteilungen für Speicherzellen (auch abkürzend als Zellen bezeichnet) eines klassischen Flash-Speichers dargestellt, z.B. eines so genannten Floating-Gate-Speichers oder eines so genannten Charge-Trapping-Speichers. Zellen in einem ersten Programmierzustand bilden dabei eine statistische Verteilung von ersten Zellenstromwerten 106, und Zellen in einem zweiten Programmierzustand bilden dabei eine statistische Verteilung von zweiten Zellenstromwerten 108. Um bei einem Lesevorgang auszuwerten, ob ein Zellenstrom einer gelesenen Zelle dem ersten Programmierzustand oder dem zweiten Programmierzustand entspricht, wird üblicherweise ein Referenzstrom Iref/104 bereitgestellt. Dessen Wert wird so gewählt, dass die Zellenströme des ersten Programmierzustands 106 unterhalb des Referenzstroms Iref/104 liegen, und die Zellenströme des zweiten Programmierzustands 108 oberhalb des Referenzstroms Iref/104. Ein lediglich schematisch dargestellter und mittels eines Doppelpfeils markierter Abstand zwischen der Verteilung von ersten Zellenstromwerten 106 und der Verteilung von zweiten Zellenstromwerten 108 (auch als „Lesefenster“ bezeichnet) ist bei einem Flash-Speicher relativ groß. Er kann beispielsweise ungefähr ein Zehnfaches des Referenzstromwerts betragen.In 1 are in the view 100a Cell current distributions for memory cells (also referred to as cells for short) of a classic flash memory are shown, for example a so-called floating gate memory or a so-called charge trapping memory. Cells in a first programming state form a statistical distribution of first cell current values 106 , and cells in a second programming state form a statistical distribution of second cell current values 108 . In order to evaluate during a reading process whether a cell current of a read cell corresponds to the first programming state or the second programming state, a reference current is usually used Iref / 104 provided. Its value is chosen so that the cell currents of the first programming state 106 below the reference current Iref / 104 and the cell currents of the second programming state 108 above the reference current Iref / 104 . A distance between the distribution of first cell current values, shown only schematically and marked by means of a double arrow 106 and the distribution of second cell current values 108 (also known as the “reading window”) is relatively large on a flash memory. For example, it can be approximately ten times the reference current value.

In der Ansicht 100b sind Zellenstromverteilungen für Speicherzellen einer typischen Speichervorrichtung gemäß sich entwickelnden Technologien wie z.B. RRAM, MRAM usw. dargestellt. Auch wenn eine Art, auf welche die Speicherung bewirkt wird, sich von der des Flash-Speichers unterscheidet, bilden die Zellen im ersten Programmierzustand auch hier eine statistische Verteilung von ersten Zellenstromwerten 106, und die Zellen im zweiten Programmierzustand bilden eine statistische Verteilung von zweiten Zellenstromwerten 108. Zur Auswertung wird beim Lesen wiederum der Referenzstrom Iref/104 bereitgestellt.In the view 100b Cell current distributions for memory cells of a typical memory device according to developing technologies such as RRAM, MRAM, etc. are shown. Even if a way in which the storage is effected differs from that of the flash memory, the cells in the first programming state also here form a statistical distribution of first cell current values 106 , and the cells in the second programming state form a statistical distribution of second cell current values 108 . The reference current is again used for evaluation during reading Iref / 104 provided.

Allerdings ist der Abstand zwischen den Verteilungen, wie in der Ansicht 100b veranschaulicht, bei allen emerging NVM Technologien wie z.B. RRAM-Speichern ein wesentlich schmalerer Lesefenster als bei Flash-Speichern. Das Lesefenster bei Emerging Speichern kann in extremen Fällen beispielsweise nur eine Breite von etwa 25% des Referenzstroms Iref/104. Das führt zu einer erhöhten Fehler-Anfälligkeit , beispielsweise in einem Fall, dass mindestens eine der Verteilungen von Zellenstromwerten 106, 108 verbreitert wird, z.B. infolge einer Einwirkung einer hohen Temperatur, oder indem der Referenzstrom nicht mit dem exakten Wert, sondern leicht verschoben bereitgestellt wird.However, the distance between the distributions is as in the view 100b illustrates that with all emerging NVM technologies such as RRAM memories a much narrower reading window than with Flash memories. In extreme cases, for example, the reading window for emerging storage systems can only have a width of around 25% of the reference current Iref / 104 . This leads to an increased susceptibility to errors, for example in the event that at least one of the distributions of cell current values 106 , 108 is broadened, for example as a result of exposure to a high temperature, or in that the reference current is provided not with the exact value, but rather slightly shifted.

Im Stand der Technik wird beispielsweise mittels komplementären Speicherns/Lesens versucht, Lesefehlern vorzubeugen bzw. diese zu beheben. Dabei kann beispielsweise nur ein halbes Bit (statt einem Bit) pro Speicherzelle gespeichert werden. Dadurch wird allerdings doppelt so viel Speicherplatz benötigt, also ein 100%iger Overhead an benötigten Speicherzellen erzeugt. Auch andere herkömmliche Verfahren können einen stark erhöhten Bedarf an Speicherplatz haben und/oder technisch relativ aufwändig sein, wie beispielsweise ein genaues Abstimmen/Einstellen des Referenzstroms.In the prior art, attempts are made, for example, to prevent or correct read errors by means of complementary storage / reading. For example, only half a bit (instead of one bit) can be stored per memory cell. As a result, however, twice as much storage space is required, i.e. a 100% overhead of required storage cells is generated. Other conventional methods can also have a greatly increased requirement for storage space and / or be relatively complex technically, such as, for example, precise tuning / setting of the reference current.

KurzdarstellungBrief description

Es wird ein Verfahren zum Lesen einer Mehrzahl von Speicherzellen, in welchen ein mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes (EDC bzw. ECC) gesichertes Datenwort gespeichert ist, bereitgestellt. Das Verfahren kann aufweisen, für jede der Speicherzellen, Vergleichen eines Zustandswerts der Speicherzelle oder eines von einem Zustandswert der Speicherzelle abgeleiteten Werts mit mehreren Vergleich-Zustandswerten, wobei jede der Speicherzellen mit denselben Vergleich-Zustandswerten verglichen wird, Bilden einer Mehrzahl von gelesenen Datenwörtern, wobei für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter gebildet wird, und Anwenden des Fehlererkennungs- und/oder Fehlerkorrekturcodes zur Fehlererkennung auf eine Mehrzahl der gelesenen Datenwörter.A method is provided for reading a plurality of memory cells in which a data word secured by means of an error detection and / or error correction code (EDC or ECC) is stored. The method can comprise, for each of the memory cells, comparing a status value of the memory cell or a value derived from a status value of the memory cell with a plurality of comparison status values, wherein each of the memory cells is compared with the same comparison status values, forming a plurality of read data words, wherein one of the read data words is formed for each of the comparison status values, and applying the error detection and / or error correction code for error detection to a plurality of the read data words.

FigurenlisteFigure list

In den Zeichnungen beziehen sich gleiche Bezugszeichen im Allgemeinen alle verschiedenen Ansichten hindurch auf die gleichen Teile. Die Zeichnungen sind nicht unbedingt maßstabsgetreu, stattdessen ist der Akzent auf die Veranschaulichung der Prinzipien der Erfindung gesetzt. In der folgenden Beschreibung werden verschiedene Ausführungsformen der Erfindung unter Bezugnahme auf die folgenden Zeichnungen beschrieben, wobei:

  • 1 schematische Ansichten von Verteilungen von Zellenstromwerten einer typischen Flash-Speichervorrichtung bzw. einer typischen RRAM-Speichervorrichtung darstellt;
  • 2A eine schematische Ansicht von Verteilungen von Zellenstromwerten einer RRAM-Speichervorrichtung zusammen mit einem Referenzstrom darstellt;
  • 2B eine schematische Ansicht von Verteilungen von Zellenstromwerten einer RRAM-Speichervorrichtung zusammen mit drei Referenzströmen, welche gemäß verschiedenen Ausführungsbeispielen beim Lesen bereitgestellt werden, darstellt;
  • 3 eine Veranschaulichung von Teilaspekten eines Lesevorgangs einer Speichervorrichtung gemäß verschiedenen Ausführungsformen darstellt;
  • 4 eine Veranschaulichung von Teilaspekten eines Lesevorgangs einer Speichervorrichtung gemäß verschiedenen Ausführungsformen darstellt;
  • 5 eine schematische Teilansicht einer Speichervorrichtung gemäß verschiedenen Ausführungsformen während eines Lesevorgangs darstellt;
  • 6 eine Veranschaulichung von Teilaspekten eines Lesevorgangs einer Speichervorrichtung gemäß verschiedenen Ausführungsformen darstellt;
  • 7 eine schematische Veranschaulichung einer Speichervorrichtung und ihrer Nutzung gemäß verschiedenen Ausführungsformen darstellt;
  • 8 eine schematische Ansicht einer Speichervorrichtung gemäß verschiedenen Ausführungsformen darstellt; und
  • 9 ein Flussdiagramm eines Verfahrens zum Lesen einer Mehrzahl von Speicherzellen gemäß verschiedenen Ausführungsformen darstellt.
In the drawings, like reference characters generally refer to the same parts throughout the different views. The drawings are not necessarily to scale, instead it is emphasis is placed on illustrating the principles of the invention. In the following description, various embodiments of the invention are described with reference to the following drawings, wherein:
  • 1 Fig. 11 illustrates schematic views of distributions of cell current values of a typical flash memory device and a typical RRAM memory device, respectively;
  • 2A Fig. 3 is a schematic view of distributions of cell current values of an RRAM memory device together with a reference current;
  • 2 B shows a schematic view of distributions of cell current values of an RRAM memory device together with three reference currents which are provided during reading according to various exemplary embodiments;
  • 3 represents an illustration of partial aspects of a read operation of a memory device according to various embodiments;
  • 4th represents an illustration of partial aspects of a read operation of a memory device according to various embodiments;
  • 5 shows a schematic partial view of a memory device according to various embodiments during a read process;
  • 6th represents an illustration of partial aspects of a read operation of a memory device according to various embodiments;
  • 7th Figure 12 is a schematic illustration of a storage device and its usage in accordance with various embodiments;
  • 8th illustrates a schematic view of a memory device according to various embodiments; and
  • 9 illustrates a flow diagram of a method for reading a plurality of memory cells according to various embodiments.

Beschreibungdescription

Die folgende ausführliche Beschreibung nimmt auf die beiliegenden Zeichnungen Bezug, welche spezifische Einzelheiten und Ausführungsformen, in welchen die Erfindung realisiert werden kann, veranschaulichend darstellen.The following detailed description makes reference to the accompanying drawings, which illustrate specific details and embodiments in which the invention may be practiced.

Das Wort „beispielhaft“ wird hierin so verwendet, dass es „als Beispiel oder zur Veranschaulichung dienend“ bedeutet. Ausführungsformen oder Designs, die hierin als „beispielhaft“ beschrieben werden, sind nicht unbedingt als bevorzugt oder vorteilhaft gegenüber anderen Ausführungsformen oder Designs zu interpretieren.The word "exemplary" is used herein to mean "serving as an example or illustration". Embodiments or designs described herein as "exemplary" are not necessarily to be interpreted as preferred or advantageous over other embodiments or designs.

Verschiedene Aspekte der Offenbarung werden für Vorrichtungen bereitgestellt, und verschiedene Aspekte der Offenbarung werden für Verfahren bereitgestellt. Es versteht sich von selbst, dass die Grundeigenschaften der Vorrichtungen auch für die Verfahren gelten und umgekehrt. Daher wurde eine doppelte Beschreibung solcher Eigenschaften der Kürze halber möglicherweise unterlassen.Various aspects of the disclosure are provided for devices and various aspects of the disclosure are provided for methods. It goes without saying that the basic properties of the devices also apply to the method and vice versa. Therefore, a duplicate description of such properties may have been omitted for the sake of brevity.

In verschiedenen Ausführungsbeispielen werden ein Verfahren, das ein robustes und schnelles Lesen von Speicherzellen, die ein schmales Lesefenster haben, und eine entsprechende Speichervorrichtung bereitgestellt. Robust bedeutet hierbei, dass das Verfahren bzw. die Speichervorrichtung gemäß den Ausführungsbeispielen zumindest teilweise auch unter Bedingungen, die bei herkömmlichen Verfahren bzw. Vorrichtungen zu Lesefehlern führen würden, ein fehlerfreies Lesen ermöglichen.In various exemplary embodiments, a method that enables robust and rapid reading of memory cells that have a narrow reading window, and a corresponding memory device, are provided. In this context, robust means that the method or the storage device according to the exemplary embodiments enable error-free reading, at least in part, even under conditions which would lead to reading errors in conventional methods or devices.

Das fehlerfreie Lesen wird ermöglicht, indem ein mittels einer Lesevorrichtung (z.B. einem Leseverstärker) ausgegebener Zellenwert gleichzeitig, z.B. parallel, mit einer Mehrzahl von Referenzwerten verglichen wird, z.B. ein Zellenstrom mit einer Mehrzahl von Referenzströmen, ein entsprechender Zellen-Spannungswert mit einer Mehrzahl von Referenz-Spannungswerten oder eine entsprechende Zellen-Zeitdauer mit einer Mehrzahl von ReferenzZeitdauern. Anders ausgedrückt kann das Lesen des Zellenwerts basierend auf einer Strom- oder Spannungsmessung oder auf einem Vergleich von Zellen bzw. Zelleigenschaften im Zeitbereich (vereinfachend auch als „Zeitmessung“ bezeichnet) erfolgen.Error-free reading is made possible by comparing a cell value output by means of a reading device (e.g. a sense amplifier) simultaneously, e.g. in parallel, with a plurality of reference values, e.g. a cell current with a plurality of reference currents, a corresponding cell voltage value with a plurality of references Voltage values or a corresponding cell time period with a plurality of reference time periods. In other words, the reading of the cell value can be based on a current or voltage measurement or on a comparison of cells or cell properties in the time domain (also referred to as “time measurement” for simplicity).

Mittels Verwendens der Zeitmessung können besonders kostengünstige Ausführungsbeispiele bereitgestellt werden. Das heißt, dass mittels Verwendens mehrerer Zeit-Referenzwerte eine relativ einfache, mit geringem Aufwand zu verwirklichende Lösung für das Lesen nichtflüchtiger Speicher, die schnell gelesen werden müssen (welche beispielsweise zum Speichern von Programmcode genutzt werden) bereitgestellt werden kann.By using the time measurement, particularly cost-effective exemplary embodiments can be provided. This means that by using several time reference values, a relatively simple solution that can be implemented with little effort can be made available for reading non-volatile memories that have to be read quickly (which are used, for example, to store program code).

Bei Verwenden der Zeitmessung kann beispielsweise ein Flächen-Overhead minimiert werden, indem analoge Spannungs-/Stromkomparatoren mit hoher Auflösung (statisch/dynamisch) vermieden werden können.When using time measurement, for example, area overhead can be minimized by avoiding analog voltage / current comparators with high resolution (static / dynamic).

In verschiedenen Ausführungsbeispielen kann ein schneller Lesevorgang mit mehreren Referenzwerten für Speichervorrichtungen mit einem schmalen Lesefenster bereitgestellt werden.In various exemplary embodiments, a fast read process with multiple reference values can be provided for memory devices with a narrow read window.

Die im Folgenden beschriebenen Ausführungsbeispiele können eine Speichervorrichtung 800 betreffen, wie sie in 8 schematisch dargestellt ist. Die Speichervorrichtung 800 kann eine Mehrzahl von Speicherzellen aufweisen, z.B. in Form eines Speicherarrays 550 wie in 5 und 7 dargestellt. Verschiedene Aspekte, die ein Lesen der Mehrzahl von Speicherzellen gemäß verschiedenen Ausführungsbeispielen betreffen, sind in 2A bis 7 veranschaulicht. 2A zeigt eine schematische Ansicht 200a von Verteilungen 106, 108 von Zellenstromwerten einer RRAM-Speichervorrichtung zusammen mit einem Referenzstrom Iref, 2B zeigt eine schematische Ansicht 200b von Verteilungen 106, 108 von Zellenstromwerten einer RRAM-Speichervorrichtung zusammen mit drei Referenzströmen, Iref und zwei verschiedenen Irefopt , welche gemäß verschiedenen Ausführungsbeispielen beim Lesen bereitgestellt werden, 3 und 4 zeigen jeweils Teilaspekte des Lesevorgangs der Speichervorrichtung, 5 zeigt eine schematische Teilansicht der Speichervorrichtung 800 gemäß verschiedenen Ausführungsformen während des Lesevorgangs, 6 zeigt eine Veranschaulichung 600 von Teilaspekten des Lesevorgangs, und 7 zeigt eine schematische Veranschaulichung 700 der Speichervorrichtung und ihrer Nutzung gemäß verschiedenen Ausführungsformen.The exemplary embodiments described below can be a memory device 800 concern as they are in 8th is shown schematically. The storage device 800 may have a plurality of memory cells, for example in the form of a memory array 550 as in 5 and 7th shown. Various aspects relating to reading the plurality of memory cells in accordance with various exemplary embodiments are illustrated in FIG 2A until 7th illustrated. 2A shows a schematic view 200a of distributions 106 , 108 of cell current values of an RRAM memory device together with a reference current Iref, 2 B shows a schematic view 200b of distributions 106 , 108 of cell current values of an RRAM memory device together with three reference currents, Iref and two different ones Iref opt which are provided during reading according to various exemplary embodiments, 3 and 4th each show partial aspects of the reading process of the storage device, 5 shows a schematic partial view of the memory device 800 according to various embodiments during the reading process, 6th shows an illustration 600 of partial aspects of the reading process, and 7th shows a schematic illustration 700 the storage device and its usage according to various embodiments.

2A zeigt zum einen dieselben Verteilungen 106, 108 wie in 1B von Zellenstromwerten einer Speichervorrichtung (z.B. der Speichervorrichtung 800, welche in 8 dargestellt ist, z.B. eine RRAM-Speichervorrichtung) zusammen mit einem Referenzstrom Iref. Die Speichervorrichtung 800 kann so eingerichtet sein, dass sie ein Bit pro Speicherzelle speichert (eine Speicherzelle kann hierin auch einfach als eine Zelle bezeichnet werden), d. h. die Speicherzelle kann ein Setzen/Differenzieren von zwei programmierbaren Pegeln ermöglichen (welchen zum Beispiel die Bitwerte 0 und 1 zugeordnet sein können). 2A shows on the one hand the same distributions 106 , 108 as in 1B of cell current values of a storage device (e.g. the storage device 800 , what a 8th is shown, e.g. an RRAM memory device) together with a reference current Iref. The storage device 800 can be set up so that it stores one bit per memory cell (a memory cell can also be referred to herein simply as a cell), ie the memory cell can enable setting / differentiation of two programmable levels (to which the bit values 0 and 1 are assigned, for example can).

In verschiedenen Ausführungsbeispielen kann die Speicherzelle ein Setzen/Differenzieren von drei oder mehr programmierbaren Pegeln ermöglichen. In dem Fall kann das Setzen/Differenzieren bereits gemäß einem Stand der Technik zwei oder mehr Referenzströme erfordern. Gemäß verschiedenen Ausführungsbeispielen, die hierin nicht detailliert ausgeführt werden, werden anstelle jedes dieser Referenzströme eine Mehrzahl von Referenzströmen zum parallelen Vergleichen des Zellenstromwerts bereitgestellt.In various exemplary embodiments, the memory cell can enable three or more programmable levels to be set / differentiated. In that case, the setting / differentiating can already require two or more reference currents according to a prior art. According to various exemplary embodiments, which are not explained in detail herein, a plurality of reference currents for parallel comparison of the cell current value are provided instead of each of these reference currents.

Eine allgemeinere Terminologie von „Speicherwert“ kann hierin anstelle von oder zusätzlich zu „Bitwert“ verwendet werden.More general terminology of “memory value” may be used herein in place of or in addition to “bit value”.

Zusätzlich sind in 2A noch (Teil-)Verteilungen 106R, 108R von Zellenstromwerten gezeigt, bei denen eine Gesamtanzahl der Zellenstromwerte nur einen Bruchteil der Gesamtanzahl der Zellenstromwerte der Verteilungen 106, 108 beträgt, nämlich z.B. nur für ein Speichern von 128 bit (was ein willkürlich zur Veranschaulichung gewählter Wert sein kann, oder beispielsweise einem Wort samt EDC/ECC-Information entsprechen kann).In addition, in 2A still (partial) distributions 106R , 108R of cell current values are shown in which a total number of the cell current values is only a fraction of the total number of the cell current values of the distributions 106 , 108 is, namely for example only for a storage of 128 bits (which can be an arbitrarily chosen value for illustration, or for example can correspond to a word including EDC / ECC information).

Einige Eigenschaften der (Teil-)Verteilungen 106R, 108R können, wie in 2A dargestellt, im Wesentlichen denjenigen der Verteilungen 106, 108 entsprechen. Beispielsweise können eine Lage der Verteilungsmaxima und eines Mittelpunkts zwischen den beiden Verteilungen 106R, 108R dieselben sein wie bei den Verteilungen 106, 108. Dementsprechend kann, wie in 2A gezeigt, ein für die Verteilungen 106, 108 optimaler Referenzstrom Iref, welcher ein Mittelwert der Zellenströme ist, die den jeweiligen Verteilungsmaxima der Verteilungen 106 und 108 entsprechen, derselbe sein wie ein für die (Teil-)Verteilungen 106R, 108R optimaler Referenzstrom Irefopt , welcher ein Mittelwert der Zellenströme ist, die den jeweiligen Verteilungsmaxima der Verteilungen 106R und 108R entsprechen.Some properties of the (partial) distributions 106R , 108R can, as in 2A shown, essentially those of the distributions 106 , 108 correspond. For example, a position of the distribution maxima and a midpoint between the two distributions 106R , 108R be the same as the distributions 106 , 108 . Accordingly, as in 2A shown one for distributions 106 , 108 optimal reference current Iref, which is an average value of the cell currents which correspond to the respective distribution maxima of the distributions 106 and 108 be the same as one for the (partial) distributions 106R , 108R optimal reference current Iref opt , which is an average of the cell currents corresponding to the respective distribution maxima of the distributions 106R and 108R correspond.

Das kann, wie in 2B dargestellt ist, anders sein, wenn einige Eigenschaften der (Teil-)Verteilungen 106R, 108R sich von denjenigen der Verteilungen 106, 108 unterscheiden. Beispielsweise können sie zu höheren Zellenströmen verschoben sein (die entsprechenden (Teil-)Verteilungen sind mit 106aR, 108aR bezeichnet), oder zu niedrigeren Zellenströmen (bezeichnet mit 106bR, 108bR). Eine Ursache dafür können beispielsweise höhere oder niedrigere Umgebungs- oder Betriebsbedingungen sein, oder andere externe oder interne Einflussfaktoren, z.B. Alterung oder eine Anzahl von stattgefundenen Schreibvorgängen.As in 2 B is shown to be different if some properties of the (partial) distributions 106R , 108R differ from those of the distributions 106 , 108 differentiate. For example, they can be shifted to higher cell currents (the corresponding (partial) distributions are with 106aR , 108aR marked), or to lower cell currents (marked with 106bR , 108bR ). A cause for this can be, for example, higher or lower ambient or operating conditions, or other external or internal influencing factors, for example aging or a number of write processes that have taken place.

Für solche verschobenen (Teil-)Verteilungen 106aR, 108aR bzw. 106bR, 108bR ist der ursprüngliche Referenzstrom Iref nicht mehr optimal zum Ermitteln eines Speicherwerts der Speicherzelle. Denn auch wenn in dem gezeigten Beispiel Iref immer noch zwischen allen (Teil-)Verteilungen liegt, können die (Teil-)Verteilungen auch leicht so weit verschoben (und ggf. zusätzlich noch verbreitert) sein, dass beispielsweise Zellströme der Verteilung 108bR niedriger sind als Iref, so dass bei Verwendung von Iref eine Fehlzuordnung des Speicherwerts (also des Programmierzustands, z.B. von Bitwerten 0 bzw. 1) erfolgen könnte.For such shifted (partial) distributions 106aR , 108aR respectively. 106bR , 108bR the original reference current Iref is no longer optimal for determining a memory value of the memory cell. Because even if Iref is still between all (partial) distributions in the example shown, the (partial) distributions can also easily be shifted (and possibly additionally broadened) to such an extent that, for example, cell flows of the distribution 108bR are lower than Iref, so that if Iref is used, a misallocation of the memory value (i.e. the programming status, for example bit values 0 or 1) could occur.

In verschiedenen Ausführungsbeispielen wird deshalb zusätzlich zu Iref mindestens ein weiterer Referenzwert bereitgestellt. In 2B sind das die gegenüber Iref zu niedrigeren bzw. höheren Zellenströme verschobenen optimalen Referenzströme Irefopt . Jeder der Zellenströme, dem ein Speicherwert zugeordnet werden soll, wird parallel mit jedem der bereitgestellten Zellströme verglichen. Im Beispiel aus 2B also mit Iref und den beiden dazu verschobenen Irefopt .In various exemplary embodiments, at least one further reference value is therefore provided in addition to Iref. In 2 B these are the optimal reference currents shifted to lower or higher cell currents compared to Iref Iref opt . Each of the cell streams to which a memory value is to be assigned is compared in parallel with each of the cell streams provided. In the example from 2 B so with Iref and the two postponed to it Iref opt .

In 3 ist in Ansicht 300a das Vergleichen des Zellenstroms Icell einer Zelle mit einer Mehrzahl von verschiedenen Referenzströmen Iref0 , Iref1 , Irefn-1 (mittels eines Komparators 330, z.B. eines Stromkomparators 330a) veranschaulicht, welches als Datenausgabe DO0 , DO1 , DOn-1 n Speicherwerte erzeugt, welche auf Zuordnungen des Zellenstroms Icell zu dem Speicherwert aus einer Mehrzahl von Speicherwerten (z.B. 0, 1) basieren. Für die Mehrzahl von verschiedenen Referenzströmen Iref0 , Iref1 , Irefn-1 wird im Folgenden teilweise Irefx für die Speicherwerte DOx verwendet..In 3 is in view 300a comparing the cell current Icell of a cell with a plurality of different reference currents Iref 0 , Iref 1 , Iref n-1 (using a comparator 330 , e.g. a current comparator 330a) illustrates which as data output DO 0 , DO 1 , DO n-1 n memory values are generated which are based on assignments of the cell current Icell to the memory value from a plurality of memory values (for example 0, 1). For the majority of different reference currents Iref 0 , Iref 1 , Iref n-1 in the following it becomes partially Iref x for the memory values DO x used..

Der Zellenstrom Icell kann allgemein als ein Zustandswert der Speicherzelle der aus einer Speicherzelle ausgelesen wird, bezeichnet werden. Es versteht sich, dass ein allgemeines Konzept, das hierin beschrieben wird, auch für andere Typen von Zustandswerten, z. B. Spannungen, Widerstandswerte usw., bzw. daraus abgeleiteten Werten gilt, insbesondere auch für die unten ausführlicher beschriebene Verwendung einer Zeitdauer, welche einen aus dem Zellenstrom abgeleiteten Wert darstellt, der dem Ermitteln des Programmierzustands der Zelle dient. Hierin ist im Folgenden zur Vereinfachung der Beschreibung die Zeitdauer mitunter bei den Zustandswerten der Speicherzelle mitgemeint. Das bedeutet, dass „Zustandswert der Speicherzelle“ als eine verkürzte Formulierung von „Zustandswert der Speicherzelle oder eines davon abgeleiteten Werts“ zu verstehen ist, es sei denn, es sei denn, die abgeleiteten Werte sind explizit genannt oder aus dem Kontext geht etwas anderes hervor. Analoges gilt für Plural-Formulierungen usw.The cell current Icell can generally be referred to as a state value of the memory cell that is read from a memory cell. It will be understood that a general concept described herein also applies to other types of state values, e.g. B. voltages, resistance values, etc., or values derived therefrom applies, in particular also to the use of a period of time, which is described in more detail below, which represents a value derived from the cell current and used to determine the programming state of the cell. In the following, in order to simplify the description, the duration is sometimes also meant for the state values of the memory cell. This means that “state value of the memory cell” is to be understood as an abbreviated formulation of “state value of the memory cell or a value derived therefrom”, unless the derived values are explicitly named or the context indicates otherwise . The same applies to plural formulations, etc.

Das ist zumindest teilweise in 3 veranschaulicht. Ansicht 300b zeigt, dass nach einer Strom-Spannungs-Wandlung sowohl des Zellenstroms Icell in eine Zellenspannung Vcell als auch der Referenzströme in Referenzspannungen, z.B. mittels eines Strom-Spannungs-Wandlers 332, das Vergleichen mittels eines Spannungskomparators 330, 330b erfolgen kann. Auch hier werden als Datenausgabe DO0 , DO1 , DOn-1 n Speicherwerte (z.B. 0 oder 1) basierend auf Zuordnungen des Zellenstroms Icell (bzw. der Zellenspannung) zu dem Speicherwert erzeugt.That's at least partially in 3 illustrated. opinion 300b shows that, after a current-voltage conversion, both the cell current Icell into a cell voltage Vcell and the reference currents into reference voltages, for example by means of a current-voltage converter 332 , the comparison by means of a voltage comparator 330 , 330b can be done. Here, too, are used as data output DO 0 , DO 1 , DO n-1 n memory values (for example 0 or 1) are generated based on assignments of the cell current Icell (or the cell voltage) to the memory value.

Wie in 3 (in Ansicht 300c) weiter dargestellt und in 5 detaillierter veranschaulicht ist, kann nach einer Strom-Zeit-Wandlung sowohl des Zellenstroms Icell in eine Zellenzeitdauer tcell als auch der Referenzströme in Referenzzeitdauern tref (auch als Referenzzeiten bezeichnet), z.B. mittels eines Strom-Zeit-Wandlers 334 (der z.B. einen Kondensator aufweisen kann und eine Zeitdauer bis zum Erreichen einer vorgegebenen Spannung ermitteln kann), das Vergleichen mittels eines Zeitkomparators 330, 330c erfolgen. Auch hier werden als Datenausgabe DO0 , DO1 , DOn-1 n Speicherwerte (z.B. 0 oder 1) basierend auf Zuordnungen des Zellenstroms Icell (bzw. der Zellenzeitdauer) zu dem Speicherwert erzeugt.As in 3 (in view 300c ) further shown and in 5 is illustrated in more detail, after a current-time conversion, both the cell current Icell into a cell time duration tcell and the reference currents in reference time durations tref (also referred to as reference times), for example by means of a current-time converter 334 (which can, for example, have a capacitor and can determine a period of time until a predetermined voltage is reached), the comparison by means of a time comparator 330 , 330c take place. Here, too, are used as data output DO 0 , DO 1 , DO n-1 n memory values (for example 0 or 1) are generated based on assignments of the cell current Icell (or the cell duration) to the memory value.

Referenzströme, Referenzspannungen, Referenzzeitdauern und ggf. andere als Referenz herangezogene Größen werden hierin allgemein als Vergleich-Zustandswerte bezeichnet, auch in dem Fall der Referenzzeitdauer, obwohl, wie oben ausgeführt, die Zeitdauer streng genommen kein Zustandswert der Speicherzelle ist, sondern ein daraus abgeleiteter Wert.Reference currents, reference voltages, reference time durations and possibly other variables used as reference are generally referred to herein as comparison status values, also in the case of the reference time duration, although, as explained above, the time duration is, strictly speaking, not a status value of the memory cell, but a value derived therefrom .

Das Zuordnen kann beispielsweise derart vorgenommen werden, dass der erste Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert der Speicherzelle kleiner ist als der Vergleich-Zustandswert, und der zweite Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert der Speicherzelle mindestens genauso groß ist wie der Vergleich-Zustandswert.The assignment can be made, for example, such that the first memory value is assigned when the comparison shows that the status value of the memory cell is less than the comparison status value, and the second memory value is assigned when the comparison shows that the status value of the memory cell is is at least as large as the comparison status value.

In verschiedenen Ausführungsbeispielen können die Vergleich-Zustandswerte (z.B. die Referenzströme Irefx) so gewählt sein, dass für alle oder im Wesentlichen alle vorgesehenen Betriebszustände und/oder Umgebungsbedingungen und dementsprechend erwartete verschobene (Teil-)Verteilungen von Zellen-Zustandswerten (z.B. der Zellenströme 106R, 108R) mindestens einer der Vergleich-Zustandswerte (z.B. Referenzströme) zwischen den beiden (Teil-)Verteilungen der Zellen-Zustandswerte liegt, beispielsweise um weniger als 10%, z.B. weniger als 5%, von einem Mittelwert der Zellen-Zustandswerte, die den jeweiligen erwarteten Verteilungsmaxima der Verteilungen (für die Zellenströme der (Teil-)Verteilungen 106R und 108R) entsprechen, entfernt ist.In various exemplary embodiments, the comparison status values (e.g. the reference currents Iref x ) can be selected in such a way that for all or essentially all provided operating states and / or environmental conditions and the correspondingly expected shifted (partial) distributions of cell status values (e.g. the cell currents 106R , 108R ) at least one of the comparison status values (e.g. reference currents) lies between the two (partial) distributions of the cell status values, for example by less than 10%, e.g. less than 5%, of a mean value of the cell status values which the respective expected Distribution maxima of the distributions (for the cell flows of the (partial) distributions 106R and 108R ) is removed.

Dementsprechend sollte zumindest für das Zuordnen des Zellenstroms zum Speicherwert, bei welchem dieser mindestens eine Vergleich-Zustandswert verwendet wird, der Speicherwert richtig zugeordnet werden.Accordingly, at least for the assignment of the cell current to the memory value in which this at least one comparison status value is used, the memory value should be assigned correctly.

In verschiedenen Ausführungsbeispielen kann die Mehrzahl der Vergleich-Zustandswerte eine ungerade Anzahl aufweisen, d.h. n kann ungerade sein, z.B. 3, 5, 7, oder mehr. Das ermöglicht beispielsweise, einen Standard-Vergleich-Zustandswert und auf beiden Seiten des Standard-Vergleich-Zustandswerts (d.h. zu höheren und zu niedrigeren Werten) jeweils gleich viele weitere Vergleich-Zustandswerte bereitzustellen. Anders ausgedrückt kann eine Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die kleiner als der Standard-Vergleich-Zustandswert sind, gleich sein einer Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die größer als der Standard-Vergleich-Zustandswert sind. Dabei kann der Standard-Vergleich-Zustandswert derjenige Zustandswert sein, der beim Lesen der Speicherzellen unter Standardbedingungen (z.B. einer erwarteten üblichen Betriebstemperatur, Betriebsspannung, usw.) einem Mittelwert von Zustandswerten entspricht, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden. Der Mittelwert kann z.B. ein arithmetisched Mittel aller Werte, ein arithmetisches Mittel der häufigsten Zustandswerte der Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand, ein Median aller erwarteten Zustandswerte, oder eine andere geeignete Art von Mittelwert sein.In various embodiments, the majority of the comparison state values can have an odd number, i.e. n can be odd, e.g. 3, 5, 7, or more. This makes it possible, for example, to provide a standard comparison status value and an equal number of further comparison status values on both sides of the standard comparison status value (i.e. at higher and lower values). In other words, a number of those of the further comparison status values which are smaller than the standard comparison status value can be equal to a number of those of the further comparison status values which are greater than the standard comparison status value. The standard comparison status value can be that status value which, when reading the memory cells under standard conditions (e.g. an expected normal operating temperature, operating voltage, etc.) corresponds to an average value of status values for memory cells in a first programming state or in a second programming state to be expected. The mean value can be, for example, an arithmetic mean of all values, an arithmetic mean of the most frequent state values of the memory cells in a first programming state or in a second programming state, a median of all expected state values, or another suitable type of mean value.

In verschiedenen Ausführungsbeispielen kann die Mehrzahl der Vergleich-Zustandswerte eine gerade oder eine ungerade Anzahl aufweisen, d.h. n kann größer oder gleich zwei sein. Die Mehrzahl der Vergleich-Zustandswerte kann dabei z.B. einen Standard-Vergleich-Zustandswert und mindestens einen weiteren Vergleich-Zustandswert aufweisen, oder zwei oder mehr Vergleich-Zustandswerte, von denen keiner der Standard-Vergleich-Zustandswert ist, z.B. wenn die Standardbedingungen, z.B. Umgebungsbedingungen, nicht bekannt sind.In various exemplary embodiments, the majority of the comparison status values can have an even or an odd number, i.e. n can be greater than or equal to two. The majority of the comparison status values can have, for example, a standard comparison status value and at least one further comparison status value, or two or more comparison status values, none of which is the standard comparison status value, e.g. if the standard conditions, e.g. ambient conditions , are not known.

In verschiedenen Ausführungsbeispielen kann der mindestens eine weitere Vergleich-Zustandswert den Standard-Vergleich-Zustandswert und eine Mehrzahl weiterer Vergleich-Zustandswerte aufweisen, wobei eine größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, und eine kleinere Anzahl der weiteren Vergleich-Zustandswerte größer ist als der Standard-Vergleich-Zustandswert, oder umgekehrt. Anders ausgedrückt können die Vergleich-Zustandswerte hinsichtlich ihrer Anzahl (ggf. auch hinsichtlich ihrer Abstände) unsymmetrisch um den Standard-Vergleich-Zustandswert verteilt sein. Bei der unsymmetrischen Anordnung der Vergleich-Zustandswerte in Bezug auf den Standard-Vergleich-Zustandswert kann beispielsweise berücksichtigt werden, welche(r) Betriebsbedingung(en) zusätzlich zu den Standardbedingungen am wahrscheinlichsten auftritt bzw. auftreten werden. Wenn beispielsweise zu erwarten ist, dass die Speichervorrichtung entweder bei Standardbedingungen oder bei höheren Umgebungstemperaturen betrieben wird, was bedeutet, dass die erwarteten Verteilungen der Zustandswerte 106R, 108R entweder denjenigen bei den Standardbedingungen entsprechen, oder zu höheren Zustandswerten verschoben sind, kann der mindestens eine Vergleich-Zustandswert so gewählt sein, dass er den Bereich höherer Zustandswerte besser (z.B. mit mehr Vergleich-Zustandswerten) abdeckt als den niedrigerer Zustandswerte.In various exemplary embodiments, the at least one further comparison status value can have the standard comparison status value and a plurality of further comparison status values, a larger number of the further comparison status values being smaller than the standard comparison status value and a smaller number of further comparison status values is greater than the standard comparison status value, or vice versa. In other words, the comparison status values can be distributed asymmetrically around the standard comparison status value with regard to their number (possibly also with regard to their distances). With the asymmetrical arrangement of the comparison status values in relation to the standard comparison status value, it is possible, for example, to take into account which operating condition (s) occur or will most likely occur in addition to the standard conditions. For example, if the storage device is expected to be operated either under standard conditions or at higher ambient temperatures, which means that the expected distributions of the state values 106R , 108R either correspond to those under the standard conditions or are shifted to higher status values, the at least one comparison status value can be selected such that it covers the range of higher status values better (e.g. with more comparison status values) than the lower status values.

Allgemeiner ausgedrückt kann ein so genannter Offset-Zustandswert einem Mittelwert von Zustandswerten entsprechen, die beim Lesen der Speicherzellen unter anderen als den Standardbedingungen für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden, wobei die größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert kleiner als der Standard-Zustandswert ist, und wobei die größere Anzahl der weiteren Vergleich-Zustandswerte größer als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert größer als der Standard-Zustandswert ist.In more general terms, what is known as an offset state value can correspond to an average value of state values that are expected when reading the memory cells under conditions other than the standard conditions for memory cells in a first programming state or in a second programming state, the larger number of further comparison state values being smaller than the standard comparison status value if the offset status value is smaller than the standard status value, and wherein the greater number of further comparison status values is greater than the standard comparison status value if the offset status value is greater than the The default status value is.

Eine Differenz zwischen dem Standard-Vergleich-Zustandswert und dem mindestens einen weiteren Vergleich-Zustandswert kann in verschiedenen Ausführungsbeispielen größer sein als ein Zehntel, z.B. größer als ein Siebtel, z.B. größer als ein Fünftel, der Differenz der Zustandswerte, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden.A difference between the standard comparison status value and the at least one further comparison status value can be greater than a tenth, for example greater than a seventh, for example greater than a fifth, of the difference in the status values for memory cells in a first Programming state or are expected in a second programming state.

Allgemein können in verschiedenen Ausführungsbeispielen Differenzen zwischen jedem der Vergleich-Zustandswerte und seinen benachbarten Vergleich-Zustandswerten gleich sein, also die Mehrzahl von Vergleich-Zustandswerten (einschließlich eines Standard-Vergleich-Zustandswertes, oder ohne dass ein solcher verwendet wird) äquidistant verteilt sein, oder die Differenzen können variieren. Beispielsweise können die Differenzen in einem Bereich (in dem z.B. ein Offset-Zustandswert erwartet werden kann) kleiner sein, die Vergleich-Zustandswerte also dichter angeordnet sein, und in einem weiteren Bereich größer sein, die Vergleich-Zustandswerte also weniger dicht angeordnet sein.In general, in various exemplary embodiments, differences between each of the comparison status values and its neighboring comparison status values can be the same, that is to say the plurality of comparison status values (including a standard comparison status value, or without such being used) can be distributed equidistantly, or the differences can vary. For example, the differences can be smaller in one area (in which, for example, an offset status value can be expected), i.e. the comparison status values are arranged more densely, and larger in a further area, the comparison status values can therefore be arranged less densely.

In verschiedenen Ausführungsbeispielen kann zumindest einer der zugeordneten Speicherwerte DOx der richtige Speicherwert sein, also derjenige, der in die Speicherzelle geschrieben wurde. Allerdings kann zumindest ein weiterer der zugeordneten Speicherwerte DOx einen anderen Wert aufweisen. Beispielsweise kann DO0 „0“ sein, und DO1 bis DOn können „1“ sein. Dementsprechend kann es in verschiedenen Ausführungsbeispielen erforderlich sein, zu ermitteln, welcher der zugeordneten Speicherwerte DOx der richtige ist.In various exemplary embodiments, at least one of the assigned memory values DO x be the correct memory value, i.e. the one that was written into the memory cell. However, at least one other of the assigned memory values can DO x have a different value. For example, can DO 0 Be "0", and DO 1 up to DO n can be "1". Accordingly, it may be necessary in various exemplary embodiments to determine which of the assigned memory values DO x is the right one.

In verschiedenen Ausführungsbeispielen kann ein wortweises Lesen in Kombination mit der EDC-/ECC-Datensicherung genutzt werden, um zu ermitteln, welcher der zugeordneten Speicherwerte DOx der richtige ist.In various exemplary embodiments, word-by-word reading can be used in combination with the EDC / ECC data backup in order to determine which of the assigned memory values DO x is the right one.

In verschiedenen Ausführungsbeispielen kann, wie in 4 veranschaulicht ist, das Lesen der Speicherzelle nicht einzeln, sondern vielmehr als ein wortweises Lesen einer Mehrzahl von Speicherzellen erfolgen. Das gespeicherte Datenwort kann mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes gesichert sein. Das Datenwort kann (z.B. einschließlich EDC-/ECC-Bits) m Bits aufweisen. Dementsprechend sind die zugeordneten Speicherwerte mit DOxy bezeichnet, wobei x für die n Vergleich-Zustandswerte steht (in 4 ist n=3: der Standard-Referenzstrom IREF mit x=1, der niedrigere Referenzstrom IREF-ΔI mit x=0 und der höhere Referenzstrom IREF+ΔI mit x=2), und m für die Bits steht, die das Wort bilden, wobei das erste Bit jeweils y=0 hat und das letzte Bit y=m-1.In various embodiments, as in 4th As is illustrated, the reading of the memory cell does not take place individually, but rather as a word-by-word reading of a plurality of memory cells. The stored data word can be secured by means of an error detection and / or error correction code. The data word can (for example including EDC / ECC bits) have m bits. Accordingly, the assigned memory values are designated DO xy, where x stands for the n comparison status values (in 4th if n = 3: the standard reference current IREF with x = 1, the lower reference current IREF-ΔI with x = 0 and the higher reference current IREF + ΔI with x = 2), and m stands for the bits that form the word, where the first bit has y = 0 and the last bit y = m-1.

Anschaulich beschrieben kann beim wortweisen Lesen mittels mehrerer Vergleich-Zustandswerte parallel eine Mehrzahl von gelesenen Datenwörtern gebildet werden, wobei für jeden der Vergleich-Zustandswerte ein zugehöriges gelesenes Datenwort gebildet wird. Dabei kann jedes gelesene Datenwort für jede der Speicherzellen eine zugeordnete Dateneinheit enthalten. Jeder der Dateneinheiten wird einer von mehreren Speicherwerten zugeordnet (z.B. 0 oder 1) basierend auf dem Vergleich des Zustandswerts der zugeordneten Speicherzelle mit dem für das Datenwort genutzten Vergleich-Zustandswert.Described clearly, when reading word by word by means of several comparison status values, a plurality of read data words can be formed in parallel, an associated read data word being formed for each of the comparison status values. Each read data word can contain an assigned data unit for each of the memory cells. Each of the data units is assigned one of several memory values (e.g. 0 or 1) based on the comparison of the status value of the assigned memory cell with the comparison status value used for the data word.

Anders ausgedrückt kann das Verfahren das oben beschriebene Vergleichen eines Zustandswerts der Speicherzelle mit einer Mehrzahl von Vergleich-Zustandswerten (z.B. Irefx) aufweisen, wobei das Vergleichen für jede der (im Beispiel m) Speicherzellen, in denen ein Teil des Wortes gespeichert ist, erfolgt, und jede der Speicherzellen mit derselben Mehrzahl von Vergleich-Zustandswerten (z.B. Irefx) verglichen wird, und jedes der Vergleichsergebnisse als eine Dateneinheit des mittels des zugehörigen Vergleich-Zustandsworts gebildeten Datenworts gespeichert wird.In other words, the method can include the above-described comparison of a status value of the memory cell with a plurality of comparison status values (eg Iref x ), the comparison being carried out for each of the (in the example m) memory cells in which a part of the word is stored , and each of the memory cells is compared with the same plurality of comparison status values (for example Iref x ), and each of the comparison results is stored as a data unit of the data word formed by means of the associated comparison status word.

Das Vergleichen kann zum Bilden einer Mehrzahl von gelesenen Datenwörtern 336Wx führen (im Beispiel 336W0, 336W1 und 336W2) mittels Zuordnens, für jede der Speicherzellen und für jeden der Vergleich-Zustandswerte, des ersten oder des zweiten Speicherwertes zu der Speicherzelle basierend auf dem Vergleich. Mittels des Zuordnens wird dabei jeweils eine der Dateneinheiten 336xy eines der Datenwörter 336Wx gebildet bzw. mit einem Wert gefüllt. Bei den Dateneinheiten steht der Index x für den verwendeten Vergleich-Zustandswert, und y für die Position innerhalb des Datenworts 336Wx . Eine Gruppierung der Speicherwerte kann somit derart vorgenommen werden, dass für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter 336Wx gebildet wird. Im Beispiel wird bei Nutzung des Referenzstroms IREF-ΔI das Datenwort 336W0 gebildet, bei Nutzung des Standard-Referenzstroms IREF Standard das Datenwort 336W1 , und bei Nutzung des Referenzstroms IREF+ΔI das Datenwort 336W2 .The comparison can lead to the formation of a plurality of read data words 336W x (in the example 336W 0 , 336W 1 and 336W 2 ) by means of assignment, for each of the memory cells and for each of the comparison status values, based on the first or the second memory value to the memory cell on the comparison. By means of the assignment, one of the data units becomes in each case 336 xy one of the data words 336W x formed or filled with a value. In the case of the data units, the index x stands for the comparison status value used, and y for the position within the data word 336W x . The memory values can thus be grouped in such a way that for each of the comparison status values one of the read data words 336W x is formed. In the example, when the reference current IREF-ΔI is used, the data word 336W 0 formed, the data word when using the standard reference current IREF Standard 336W 1 , and when using the reference current IREF + ΔI, the data word 336W 2 .

In verschiedenen Ausführungsbeispielen können auf die so gebildeten Datenwörter 336Wx die Fehlererkennungs- und/oder Fehlerkorrekturcodes angewendet werden (als 440 gekennzeichnet). Dies kann auf im Wesentlichen bekannte Weise erfolgen, beispielsweise unter Verwendung einer für die Fehlererkennung/Fehlerkorrektur eingerichteten Hardware, z.B. eines Logikschaltkreises, welcher einen (Mikro-)Prozessor aufweisen kann, oder einen Prozessor aufweisen kann, der zum Ausführen weiterer (z.B. aller oder im Wesentlichen aller) Prozesse im Zusammenhang mit dem Lesen (und ggf. Schreiben) der Speichervorrichtung 800 eingerichtet ist. In beiden Fällen kann der jeweilige Prozessor beispielsweise eine Software aufweisen, die das Ausführen der Fehlererkennung/Fehlerkorrektur ermöglicht.In various exemplary embodiments, the data words formed in this way 336W x the error detection and / or error correction codes are applied (as 440 marked). This can be done in an essentially known manner, for example using hardware set up for error detection / error correction, e.g. a logic circuit, which can have a (micro) processor, or can have a processor that is capable of executing further (e.g. all or in Essentially all) processes related to reading (and possibly writing) the storage device 800 is set up. In both cases, the respective processor can, for example, have software that enables the error detection / error correction to be carried out.

In verschiedenen Ausführungsbeispielen können die Fehlererkennungs- und/oder Fehlerkorrekturcodes zunächst nur zur Fehlererkennung angewendet werden, z.B. parallel für mindestens zwei der Vergleich-Zustandswerte, z.B. für alle Zustandswerte. Sofern mindestens eines der gelesenen Datenwörter 336x als fehlerfreies Datenwort vorliegt, kann dieses ausgegeben werden als Ausgabe-Datenwort 777 (siehe dazu 7).In various exemplary embodiments, the error detection and / or error correction codes can initially only be used for error detection, for example in parallel for at least two of the comparison status values, for example for all status values. Provided at least one of the read data words 336x is present as an error-free data word, this can be output as an output data word 777 (see 7th ).

Sofern die Fehlererkennung noch nicht auf alle Datenwörter 336x angewendet wurde, die aus demselben gespeicherten Datenwort mittels der unterschiedlichen Vergleich-Zustandswerte gebildet wurden, kann bei Nichtvorliegen eines fehlerfreien gelesenen Datenworts auf die weiteren gelesenen Datenwörter die Fehlererkennung angewandt werden, und/oder - parallel mit der weiteren Fehlererkennung oder in einem Anschluss dazu, z.B. falls kein fehlerfreies gelesenes Datenwort 336x identifiziert wird, mindestens eines der Datenwörter, bei welchem ausschließlich korrigierbare Fehler vorliegen, korrigiert werden und als Ausgabe-Datenwort 777 bereitgestellt werden.If the error detection has not yet been applied to all data words 336 x that were formed from the same stored data word by means of the different comparison status values, the error detection can be applied to the other read data words in the absence of an error-free read data word, and / or - in parallel with the further error detection or in a connection thereto, for example if no error-free read data word 336 x is identified, at least one of the data words in which only correctable errors exist are corrected and as an output data word 777 to be provided.

Das Ausführen der Fehlererkennung kann in verschiedenen Ausführungsbeispielen wesentlich schneller ablaufen als das Korrigieren der korrigierbaren Fehler, so dass das Auffinden fehlerfreier gelesener Datenwörter ggf. schneller erfolgen kann als das Korrigieren von mit korrigierbaren Fehlern behafteten gelesenen Datenwörtern.In various exemplary embodiments, the execution of the error detection can proceed significantly faster than the correction of the correctable errors, so that the finding of error-free read data words can possibly take place faster than the correction of read data words afflicted with correctable errors.

Die Anwendung der Fehlererkennungs- und/oder Fehlerkorrekturcodes kann, beispielsweise bei Vorliegen einer Rangfolge, z.B. wenn ein Standard-Vergleich-Zustandswert verwendet wird, sequenziell und abhängig von zumindest einem Ergebnis der ersten Fehlererkennung/Fehlerkorrektur erfolgen, ggf. auch abhängig von den weiteren Ergebnissen. Eine solche Vorgehensweise ist in der folgenden Tabelle veranschaulicht: EDC-/ECC-Ausgabe Datenausgabe basierend auf Iref0 Iref1 Iref2 x 1 x Iref1 (Standard) x 0 1 Iref2 1 0 0 Iref0 „x“, „1“ und „0“ zeigen an, ob eine EDC-/ECC-Ausgabe vorliegt, und wenn ja, was das Ergebnis des Anwendens der Fehlererkennung/Fehlerkorrektur ist. Eine „1“ zeigt an, dass entweder ein fehlerfreies gelesenes Datenwort vorliegt, oder dass ausschließlich korrigierbare Fehler vorliegen, so dass mittels des Fehlerkorrekturcodes das Datenwort so korrigiert werden kann, dass es wieder fehlerfrei ist. Eine „0“ zeigt an, dass mindestens ein nicht korrigierbarer Fehler vorliegt. Und ein „x“ zeigt an, dass die Fehlererkennung/Fehlerkorrektur nicht ausgeführt wurde oder für die Auswahl unerheblich ist. Die Rangfolge kann im vorliegenden Beispiel so umgesetzt sein, dass die Tabelle von oben nach unten abgearbeitet wird: Sofern bei Verwendung von Iref1 , welcher als Standard-Vergleichsstrom genutzt werden kann, das Datenwort fehlerfrei vorliegt oder erzeugbar ist („1“ in der ersten Datenzeile in der Iref1-Spalte), kann das fehlerfreie Datenwort (direkt oder nach der ECC-Korrektur) als Ausgabe-Datenwort 777 (siehe dazu 7) ausgegeben werden. Das heißt, das Ausgabe-Datenwort 777 würde dem nach dem ECC bereitgestellten Datenwort 4461 aus 4 entsprechen, wobei „nach dem ECC bereitgestellt“ bedeuten kann, dass das fehlerfreie Datenwort 336W1 unkorrigiert übernommen wird, oder dass das fehlerbehaftete Datenwort 336W1 mittels des ECC korrigiert und fehlerfrei bereitgestellt wird. Auf ein Anwenden der Fehlererkennung/Fehlerkorrektur für Iref0 und Iref2 kann dann verzichtet werden (dementsprechend „x“ in der ersten Datenzeile in den entsprechenden Spalten). In einem Fall, dass die Fehlerkorrektur nicht möglich ist, kann auf eine Bereitstellung eines (fehlerbehafteten) Datenworts 4461 nach dem ECC verzichtet werden, sondern lediglich eine entsprechende EDC-/ECC-Information 448 (auch als EDC-/ECC-Flag oder kurz Flag bezeichnet) bereitgestellt werden, z.B. wie oben in der Tabelle eingetragen eine 1 für Fehlerfreiheit/nur korrigierbare Fehler und eine 0 für mindestens einen nicht korrigierbaren Fehler. In verschiedenen Ausführungsbeispielen kann der EDC-/ECC-Flag 448 anstelle von 0 oder 1 oder ergänzend dazu weitere Information bereitstellen, z.B. zur Anzahl der ermittelten Fehler oder ähnlichem.The error detection and / or error correction codes can be used sequentially and depending on at least one result of the first error detection / correction, if necessary also depending on the further results, if there is a ranking, e.g. if a standard comparison status value is used . Such a procedure is illustrated in the following table: EDC / ECC output Data output based on Iref 0 Iref 1 Iref 2 x 1 x Iref 1 (standard) x 0 1 Iref 2 1 0 0 Iref 0 "X", "1" and "0" indicate whether there is an EDC / ECC output and, if so, what the result of applying error detection / correction is. A “1” indicates that either an error-free read data word is present or that there are only correctable errors, so that the data word can be corrected using the error correction code so that it is error-free again. A "0" indicates that there is at least one uncorrectable error. And an "x" indicates that the error detection / error correction was not carried out or is irrelevant for the selection. In this example, the order of precedence can be implemented in such a way that the table is processed from top to bottom: If using Iref 1 , which can be used as a standard comparison current, the data word is error-free or can be generated ("1" in the first data line in the Iref 1 column), the error-free data word (directly or after the ECC correction) can be used as an output data word 777 (see 7th ) can be output. That is, the output data word 777 would be the data word provided after the ECC 446 1 the end 4th where "provided after the ECC" can mean that the error-free data word 336W 1 is accepted uncorrected, or that the erroneous data word 336W 1 is corrected and made available without errors by means of the ECC. Applying error detection / correction for Iref 0 and Iref 2 can then be omitted (accordingly "x" in the first data line in the corresponding columns). In the event that the error correction is not possible, a (faulty) data word can be provided 446 1 after the ECC can be omitted, but only a corresponding EDC / ECC information 448 (also referred to as EDC / ECC flag or flag for short), for example, as entered in the table above, a 1 for freedom from errors / only correctable errors and a 0 for at least one non-correctable error. In various exemplary embodiments, the EDC / ECC flag 448 instead of 0 or 1 or in addition to this, provide further information, e.g. the number of errors detected or the like.

Sofern bei Verwendung des Standard-Vergleichsstroms Iref1 das Datenwort nicht fehlerfrei vorliegt oder erzeugbar ist, dargestellt durch die „0“ in der zweiten Zeile in der Iref1-Spalte, kann für einen nachrangigen Vergleichsstrom, hier Iref2, die Fehlererkennung/Fehlerkorrektur ausgeführt werden. Sofern diese erfolgreich ist („1“ in der Iref2-Spalte in der zweiten Zeile) kann das unter Verwendung von Iref2 erzeugte fehlerfreie Datenwort als das Ausgabe-Datenwort 777 ausgegeben werden. Wenn diese nicht erfolgreich ist („0“ in der Iref2-Spalte in der dritten Zeile) kann das unter Verwendung von Iref0 erzeugte fehlerfreie Datenwort („1“ in der Iref0-Spalte in der dritten Zeile) als das Ausgabe-Datenwort 777 ausgegeben werden. Diese Vorgehensweise kann entsprechend für weitere Vergleichsströme (bzw. allgemein Vergleich-Zustandswerte) fortgesetzt werden. Da die Fehlererkennung/Fehlerkorrektur zunächst nur für eines der Datenwörter 336Wx ausgeführt wird, und für weitere der Datenwörter 336Wx nur bei Bedarf, kann der Lesevorgang in verschiedenen Ausführungsbeispielen beschleunigt werden.Provided that the standard comparison current is used Iref 1 the data word is not present or cannot be generated without errors, represented by the "0" in the second line in the Iref 1 column, the error detection / error correction can be carried out for a subordinate comparison current, here Iref 2. If this is successful ("1" in the Iref 2 column in the second line), the error-free data word generated using Iref 2 can be used as the output data word 777 are issued. If this is unsuccessful ("0" in the Iref 2 column in the third row) this can be done using Iref 0 Generated error-free data word ("1" in the Iref 0 column in the third line) as the output data word 777 are issued. This approach can can be continued accordingly for further comparison currents (or, in general, comparison status values). Since the error detection / error correction initially only applies to one of the data words 336W x is executed, and for others of the data words 336W x The reading process can be accelerated in various exemplary embodiments only if necessary.

In verschiedenen Ausführungsbeispielen, beispielsweise wenn kein Standard-Vergleich-Zustandswert vorliegt, oder auch trotz des Vorliegens eines solchen Standard-Vergleich-Zustandswerts, kann die Fehlererkennung/Fehlerkorrektur parallel, oder zumindest ohne dass eine Abhängigkeit von einem oder mehreren der Ergebnisse der Fehlererkennung/Fehlerkorrektur besteht, für alle gelesenen Datenwörter 336Wx ausgeführt werden. Das ist in 6 (und auch in 7) veranschaulicht. Auf eine (an die Speichervorrichtung gerichtete) Leseanforderung 660 hin werden die angesprochenen Speicherzellen, in welchen sowohl Nutzerdaten als auch EDC-/ECC-Daten gespeichert sein können, gelesen. Dabei werden sie wie oben beschrieben mit mehreren (hier: drei) verschiedenen Vergleich-Zustandswerten (hier: Strömen) verglichen und basierend auf dem Vergleich jeder der Speicherzellen ein Speicherwert zugeordnet, so dass sich für jeden der Vergleich-Zustandswerte ein eigenes gelesenes Datenwort 336W0 , 336W1 bzw. 336W2 ergibt. Das Vergleichen mit den drei Vergleich-Zustandswerten kann dabei beim Lesen jeder der Speicherzellen parallel erfolgen. Das ist durch die parallele Anordnung der drei Äste veranschaulicht. Anschließend kann (parallel, z.B. gleichzeitig für die drei gelesenen Datenwörter 336W0 , 336W1 bzw. 336W2 ) die Fehlererkennung/Fehlerkorrektur vorgenommen werden (bei 440), beispielsweise wie oben beschrieben. Als Ergebnis der Fehlererkennung/Fehlerkorrektur 440 können zum einen die korrigierten Datenwörter 446x (in den Beispielen aus 4 und 7 die drei korrigierten Datenwörter 4460 , 4461 und 4462 ) bereitgestellt werden (wobei die korrigierten Datenwörter 446x ggf. auch die fehlerfreien unkorrigiert übernommenen Datenwörter 336Wx sein können; eine treffendere Bezeichnung wäre dann „korrekte Datenwörter 446x “), und zum anderen die EDC-/ECC-Flags 448, 448x (in 4 die drei Flags 4480 , 4481 , 4482 ) bereitgestellt werden. Ein Auswählen, welches der korrigierten Datenwörter 336Wx als das Ausgabe-Datenwort 777 bereitzustellen ist, kann somit bei parallelem Vorliegen aller korrigierten Datenwörter 336Wx und der entsprechenden Flags 448, 448x erfolgen.In various exemplary embodiments, for example if there is no standard comparison status value, or even despite the presence of such a standard comparison status value, the error detection / error correction can be carried out in parallel, or at least without a dependency on one or more of the results of the error detection / error correction exists for all read data words 336W x are executed. Is in 6th (and also in 7th ) illustrated. In response to a read request (directed to the storage device) 660 the addressed memory cells, in which both user data and EDC / ECC data can be stored, are read. As described above, they are compared with several (here: three) different comparison status values (here: currents) and, based on the comparison, a memory value is assigned to each of the memory cells, so that a separate read data word is available for each of the comparison status values 336W 0 , 336W 1 respectively. 336W 2 results. The comparison with the three comparison status values can take place in parallel when reading each of the memory cells. This is illustrated by the parallel arrangement of the three branches. Then (in parallel, e.g. simultaneously for the three read data words 336W 0 , 336W 1 respectively. 336W 2 ) the error detection / error correction can be carried out (with 440 ), for example as described above. As a result of error detection / correction 440 can on the one hand the corrected data words 446 x (in the examples from 4th and 7th the three corrected data words 446 0 , 446 1 and 446 2 ) are provided (where the corrected data words 446 x possibly also the error-free, uncorrected data words 336W x could be; a more appropriate designation would then be “correct data words 446 x “), And on the other hand the EDC / ECC flags 448 , 448 x (in 4th the three flags 448 0 , 448 1 , 448 2 ) to be provided. Selecting which of the corrected data words 336W x as the output data word 777 is to be provided, can thus with the parallel presence of all corrected data words 336W x and the corresponding flags 448 , 448 x take place.

Wie in 7 veranschaulicht ist, können die Flags 448, 448x in einer Prioritäten-Tabelle 772 ausgewertet werden. Diese kann, bei Vorliegen eines Standard-Vergleich-Zustandswerts, beispielsweise ähnlich dem oben beschriebenen Beispiel derart eingerichtet sein, dass, sofern die EDC-/ECC-Flags 448 für das mittels des Standard-Vergleich-Zustandswerts gelesene Datenwort 336 (welches nach der EDC-/ECC-Behandlung 440 als das Datenwort 446 ausgegeben wurde) ergeben, dass es fehlerfrei ist (also fehlerfrei war oder nur korrigierbare Fehler aufwies), dieses als das Ausgabe-Datenwort 777 ausgegeben wird. Dafür, welches der Datenwörter 446 auszugeben ist, wenn das korrigierte Datenwort 446 für den Standard-Vergleich-Zustandswert fehlerbehaftet bzw. nicht vorhanden ist, kann die Prioritäten-Tabelle 772 weitere Anweisungen enthalten, welche von den Flags 448 abhängig sein können, beispielsweise wie im Folgenden für einen Fall ohne Standard-Vergleich-Zustandswert beschrieben.As in 7th is illustrated, the flags can 448 , 448 x in a priority table 772 be evaluated. If a standard comparison status value is present, for example, similar to the example described above, this can be set up in such a way that, provided that the EDC / ECC flags 448 for the data word read by means of the standard comparison status value 336 (which after EDC / ECC treatment 440 as the data word 446 was output) show that it is error-free (i.e. it was error-free or only had errors that could be corrected), this as the output data word 777 is issued. For which of the data words 446 is to be output when the corrected data word 446 for the standard comparison status value is faulty or does not exist, the priority table 772 further instructions contain which of the flags 448 can be dependent, for example as described below for a case without a standard comparison status value.

Die Prioritäten-Tabelle 772 kann beispielsweise Anweisungen enthalten, für aufsteigende (oder absteigende) Vergleich-Zustandswerte anhand der Flags 448 zu prüfen, ob das korrigierte Datenwort 446 fehlerfrei ist, und das erste fehlerfreie korrigierte Datenwort 446, das angetroffen wird, als das Ausgabe-Datenwort 777 auszugeben. Alternativ kann beispielsweise das letzte fehlerfreie korrigierte Datenwort 446, das angetroffen wird, als das Ausgabe-Datenwort 777 ausgegeben werden, oder ein beliebiges anderes der korrigierten Datenwörter 446, welches eine in der Prioritäten-Tabelle 772 festgelegten Bedingungen erfüllt.The priority table 772 can for example contain instructions for ascending (or descending) comparison status values based on the flags 448 to check whether the corrected data word 446 is error-free, and the first error-free corrected data word 446 that is encountered as the output data word 777 to spend. Alternatively, for example, the last corrected data word without errors 446 that is encountered as the output data word 777 output, or any other of the corrected data words 446 which one in the priority table 772 specified conditions are met.

In verschiedenen Ausführungsbeispielen kann die Vorgehensweise so beschrieben werden, dass mit oder nach dem Anwenden des Fehlererkennungs- und/oder Fehlerkorrekturcodes auf ein erstes der gelesenen Datenwörter bei Fehlerfreiheit des ersten gelesenen Datenworts ein Ausgeben des fehlerfreien ersten gelesenen Datenworts ausgeführt wird, bei Vorliegen ausschließlich korrigierbarer Fehler beim ersten gelesenen Datenwort ein Korrigieren des ersten gelesenen Datenworts und ein Ausgeben des korrigierten ersten gelesenen Datenworts ausgeführt wird, oder, bei Vorliegen mindestens eines nicht korrigierbaren Fehlers beim ersten gelesenen Datenwort, der Fehlererkennungs- und/oder Fehlerkorrekturcode auf ein zweites der gelesenen Datenwörter ausgeführt wird, wobei bei Fehlerfreiheit des zweiten gelesenen Datenworts dieses ausgegeben wird. Dabei kann das Anwenden des Fehlererkennungs- und/oder Fehlerkorrekturcodes auf des erste der gelesenen Datenwörter und das zweite der gelesenen Datenwörter (und, sofern vorhanden, weitere der gelesenen Datenwörter) in verschiedenen Ausführungsbeispielen grundsätzlich immer erfolgen. In verschiedenen Ausführungsbeispielen kann das Anwenden des Fehlererkennungs- und/oder Fehlerkorrekturcodes auf das zweite der gelesenen Datenwörter (und, sofern vorhanden, weitere der gelesenen Datenwörter) nur bei Bedarf ausgeführt werden.In various exemplary embodiments, the procedure can be described in such a way that, with or after applying the error detection and / or error correction code to a first of the read data words, if the first read data word is free from errors, the first read data word is output without errors, if only correctable errors are present the first read data word is corrected for the first read data word and the corrected first read data word is output, or, if there is at least one uncorrectable error in the first read data word, the error detection and / or error correction code is executed on a second of the read data words , whereby if the second read data word is free of errors, this is output. The application of the error detection and / or error correction code to the first of the read data words and the second of the read data words (and, if available, further of the read data words) can in principle always take place in various exemplary embodiments. In various exemplary embodiments, the application of the error detection and / or error correction code to the second of the read data words (and, if present, further of the read data words) can only be carried out when required.

In verschiedenen Ausführungsbeispielen kann bei Verwendung der Zeitdauer als Vergleich-Zustandswert ein geringer zusätzlicher Platzbedarf (z.B. Halbleiterflächenbedarf) bei der Speichervorrichtung verwirklicht werden.In various exemplary embodiments, when the duration is used as the comparison status value, a small additional space requirement (for example semiconductor area requirement) can be achieved in the memory device.

In 3 (in Ansicht 300c) und in 5 ist die Vorgehensweise dabei veranschaulicht und oben in ihren Grundzügen beschrieben. Das vergleichen der Zell-Zeitdauer tcell mit den Vergleich-Zeitdauern tref bzw. trefx (hier: tref0, tref1, tref2) bei 330, 330c kann hierbei beispielsweise durch einfache und kleine Logikschaltungen z.B. Latches vorgenommen werden, was im Vergleich mit genauen Komparatorschaltungen, welche typischerweise beim Vergleichen von Strömen oder Spannungen genutzt werden, den Platzbedarf verringert.In 3 (in view 300c ) and in 5 the procedure is illustrated and its basic features are described above. The comparison of the cell duration tcell with the comparison duration tref or tref x (here: tref 0 , tref 1 , tref 2 ) at 330 , 330c can in this case, for example, be carried out by simple and small logic circuits, for example latches, which reduces the space requirement in comparison with precise comparator circuits which are typically used when comparing currents or voltages.

Die in 8 dargestellte Speichervorrichtung 800 weist eine Mehrzahl von Speicherzellen auf, welche mit 550 gekennzeichnet sind und beispielsweise Teil eines Speicherzellenarrays sind. Die Speicherzellen 550 können eingerichtet sein zum Speichern eines mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes gesicherten Datenworts. Der Fehlererkennungscode kann, z.B. auf bekannte Art, eingerichtet sein, eine vorbestimmte Anzahl von Fehlern im Datenwort zu erkennen. Der Fehlererkennungscode kann ferner, z.B. auf bekannte Art, eingerichtet sein, eine vorbestimmte Anzahl von Fehlern im Datenwort zu korrigieren, wobei die Anzahl von Fehlern, die erkannt werden können, größer sein kann als die Anzahl von Fehlern, die korrigiert werden können. Beispielsweise können drei Fehler erkannt, aber höchstens einer korrigiert werden, oder sieben Fehler können erkannt, aber nur fünf können korrigiert werden, oder ähnliches.In the 8th illustrated storage device 800 has a plurality of memory cells, which are identified by 550 and are, for example, part of a memory cell array. The memory cells 550 can be set up to store a data word secured by means of an error detection and / or error correction code. The error detection code can be set up, for example in a known manner, to detect a predetermined number of errors in the data word. The error detection code can furthermore be set up, for example in a known manner, to correct a predetermined number of errors in the data word, wherein the number of errors that can be detected can be greater than the number of errors that can be corrected. For example, three errors can be detected but at most one can be corrected, or seven errors can be detected but only five can be corrected, or the like.

Die Speichervorrichtung 800 kann ferner eine Mehrzahl von Leseverstärkern 334 aufweisen, welche eingerichtet sind, Zustandswerte der Speicherzellen 550 und Vergleich-Zustandswerte bereitzustellen. Dabei kann mindestens einer der Leseverstärker bereitgestellt sein, um den Zustandswert der zu lesenden Speicherzelle 550 bereitzustellen, und mindestens einer der Leseverstärker kann bereitgestellt sein, um den Vergleich-Zustandswert bereitzustellen, z.B. wie oben beschrieben.The storage device 800 may further include a plurality of sense amplifiers 334 have, which are set up, state values of the memory cells 550 and provide comparison status values. In this case, at least one of the sense amplifiers can be provided in order to determine the status value of the memory cell to be read 550 and at least one of the sense amplifiers can be provided to provide the comparison state value, for example as described above.

Die Speichervorrichtung 800 kann ferner mindestens einen Logikschaltkreis 880 aufweisen, welcher eingerichtet ist, für jede der Speicherzellen 550 den von einem der Leseverstärker 334 bereitgestellten Zustandswert der Speicherzelle 550 mit einer Mehrzahl von Vergleich-Zustandswerten zu vergleichen, welche von mindestens einem weiteren der Leseverstärker 334 bereitgestellt sind.The storage device 800 can also include at least one logic circuit 880 have which is set up for each of the memory cells 550 that of one of the sense amplifiers 334 provided state value of the memory cell 550 to compare with a plurality of comparison status values which of at least one further of the sense amplifiers 334 are provided.

Die Speichervorrichtung 800 kann dabei eingerichtet sein, jede der Speicherzellen mit denselben Vergleich-Zustandswerten zu vergleichen und eine Mehrzahl von gelesenen Datenwörtern zu bilden, wobei für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter gebildet wird, wobei jedes gelesene Datenwort für jede der Speicherzellen, in denen das Datenwort gespeichert ist, eine zugeordnete Dateneinheit enthält, und wobei jeder der Dateneinheiten einer von zwei möglichen Speicherwerten zugeordnet wird basierend auf dem Vergleich des Zustandswerts der zugeordneten Speicherzelle mit dem für das Datenwort genutzten Vergleich-Zustandswert.The storage device 800 can be set up to compare each of the memory cells with the same comparison status values and to form a plurality of read data words, one of the read data words being formed for each of the comparison status values, each read data word for each of the memory cells in which the Data word is stored, contains an assigned data unit, and wherein each of the data units is assigned one of two possible memory values based on the comparison of the status value of the assigned memory cell with the comparison status value used for the data word.

Der mindestens eine Logikschaltkreis 880, welcher derselbe Logikschaltkreis 880 sein kann, der für das Vergleichen der Zustandswerte der Speicherzelle 550 mit der Mehrzahl von Vergleich-Zustandswerten vorzunehmen, oder aber, bei mehr als einem Logikschaltkreis 880, ein weiterer der Logikschaltkreise 880 sein kann, kann ferner eingerichtet sein, die Fehlererkennungs- und/oder Fehlerkorrekturcodes zur Fehlererkennung auf eine Mehrzahl der gelesenen Datenwörter anzuwenden, und bei Fehlerfreiheit eines der gelesenen Datenwörter das fehlerfreie gelesene Datenwort auszugeben, anderenfalls bei Vorliegen ausschließlich korrigierbarer Fehler bei mindestens einem der gelesenen Datenwörter mindestens eines der gelesenen Datenwörter zu korrigieren und das korrigierte gelesene Datenwort auszugeben.The at least one logic circuit 880 which is the same logic circuit 880 can be that for comparing the state values of the memory cell 550 to be carried out with the plurality of comparison status values, or else with more than one logic circuit 880 , another of the logic circuits 880 can also be set up to apply the error detection and / or error correction codes for error detection to a plurality of the read data words, and output the error-free read data word if one of the read data words is free of errors, otherwise only correctable errors are present in at least one of the data words read correct at least one of the read data words and output the corrected read data word.

Die Speichervorrichtung 800 kann, wie oben beschrieben, eingerichtet sein, sinngemäß für weitere Vergleich-Zustandswerte und dementsprechend weitere gelesene Datenwörter fortzufahren.The storage device 800 can, as described above, be set up to continue analogously for further comparison status values and correspondingly further read data words.

9 zeigt ein Flussdiagramm 900 eines Verfahrens zum Lesen einer Mehrzahl von Speicherzellen, in welchen ein mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes gesichertes Datenwort gespeichert ist, gemäß verschiedenen Ausführungsformen. 9 shows a flow chart 900 of a method for reading a plurality of memory cells in which a data word secured by means of an error detection and / or error correction code is stored, according to various embodiments.

Das Verfahren kann aufweisen, Vergleichen eines Zustandswerts der Speicherzelle mit mehreren Vergleich-Zustandswerten, wobei jede der Speicherzellen mit denselben Vergleich-Zustandswerten verglichen wird (bei 910), ein Bilden einer Mehrzahl von gelesenen Datenwörtern, wobei für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter gebildet wird (bei 920), ein Anwenden des Fehlererkennungs- und/oder Fehlerkorrekturcodes zur Fehlererkennung auf eine Mehrzahl der gelesenen Datenwörter (bei 930), und, basierend auf einem Erkennen eines Fehlerzustands (bei 940), bei Fehlerfreiheit eines der gelesenen Datenwörter: Ausgeben des fehlerfreien gelesenen Datenworts (bei 950a), anderenfalls bei Vorliegen ausschließlich korrigierbarer Fehler bei mindestens einem der gelesenen Datenwörter: Korrigieren von mindestens einem der gelesenen Datenwörter und Ausgeben des korrigierten gelesenen Datenworts (bei 950b).The method can include comparing a state value of the memory cell with a plurality of comparison state values, each of the memory cells being compared with the same comparison state values (at 910 ), a formation of a plurality of read data words, one of the read data words being formed for each of the comparison status values (at 920 ), an application of the error detection and / or error correction code for error detection to a plurality of the read data words (in 930 ), and, based on the detection of an error condition (with 940 ), if one of the read data words is free of errors: Output of the error-free read data word (with 950a ), otherwise if there are only correctable errors in at least one of the read data words: Correct at least one of the read data words and output the corrected read data word (for 950b ).

Im Folgenden werden zusammenfassend einige Ausführungsbeispiele angegeben.Some exemplary embodiments are summarized below.

Ausführungsbeispiel 1 ist ein Verfahren zum Lesen einer Mehrzahl von Speicherzellen, in welchen ein mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes gesichertes Datenwort gespeichert ist. Das Verfahren kann aufweisen, für jede der Speicherzellen, Vergleichen eines Zustandswerts der Speicherzelle oder eines von einem Zustandswert der Speicherzelle abgeleiteten Werts mit mehreren Vergleich-Zustandswerten, wobei jede der Speicherzellen mit denselben Vergleich-Zustandswerten verglichen wird, Bilden einer Mehrzahl von gelesenen Datenwörtern, wobei für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter gebildet wird, Anwenden des Fehlererkennungs- und/oder Fehlerkorrekturcodes zur Fehlererkennung auf eine Mehrzahl der gelesenen Datenwörter.Embodiment 1 is a method for reading a plurality of memory cells in which a data word secured by means of an error detection and / or error correction code is stored. The method can comprise, for each of the memory cells, comparing a status value of the memory cell or a value derived from a status value of the memory cell with a plurality of comparison status values, wherein each of the memory cells is compared with the same comparison status values, forming a plurality of read data words, wherein one of the read data words is formed for each of the comparison status values, applying the error detection and / or error correction code for error detection to a plurality of the read data words.

Ausführungsbeispiel 2 ist ein Verfahren gemäß Ausführungsbeispiel 1, welches ferner bei Fehlerfreiheit eines der gelesenen Datenwörter ein Ausgeben des fehlerfreien gelesenen Datenworts aufweist, anderenfalls bei Vorliegen ausschließlich korrigierbarer Fehler bei mindestens einem der gelesenen Datenwörter ein Korrigieren von mindestens einem der gelesenen Datenwörter und Ausgeben des korrigierten gelesenen Datenworts aufweist.Embodiment 2 is a method according to embodiment 1, which further includes outputting the correct read data word if one of the read data words is free of errors; otherwise, if there are exclusively correctable errors in at least one of the read data words, correcting at least one of the read data words and outputting the corrected read data word Has data word.

Ausführungsbeispiel 3 ist ein Verfahren gemäß Ausführungsbeispiel 1 oder 2, wobei das Vergleichen als paralleles Vergleichen des Zustandswerts oder des von dem Zustandswert der Speicherzelle abgeleiteten Werts jeweils einer der Speicherzellen mit jedem der Vergleich-Zustandswerte erfolgt.Embodiment 3 is a method in accordance with embodiment 1 or 2, the comparison being carried out as a parallel comparison of the status value or the value derived from the status value of the memory cell in each case of one of the memory cells with each of the comparison status values.

Ausführungsbeispiel 4 ist ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 3, wobei der Zustandswert oder der von dem Zustandswert der Speicherzelle abgeleitete Wert ein Wert ist, der mittels eines Programmierens der Speicherzelle änderbar ist.Embodiment 4 is a method in accordance with one of the embodiments 1 to 3, the status value or the value derived from the status value of the memory cell being a value which can be changed by means of programming the memory cell.

Ausführungsbeispiel 5 ist ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 4, wobei der Zustandswert einen Strom oder eine Spannung oder der von dem Zustandswert der Speicherzelle abgeleitete Wert eine Zeitdauer aufweist.Embodiment 5 is a method in accordance with one of the embodiments 1 to 4, the state value having a current or a voltage or the value derived from the state value of the memory cell having a duration.

Ausführungsbeispiel 6 ist ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 5, wobei das Zuordnen derart vorgenommen wird, dass ein erster Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert der Speicherzelle oder der von dem Zustandswert der Speicherzelle abgeleitete Wert kleiner ist als der Vergleich-Zustandswert, und ein zweiter Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert der Speicherzelle oder der von dem Zustandswert der Speicherzelle abgeleitete Wert mindestens genauso groß ist wie der Vergleich-Zustandswert.Embodiment 6 is a method in accordance with one of the embodiments 1 to 5, the assignment being carried out in such a way that a first memory value is assigned if the comparison shows that the state value of the memory cell or the value derived from the state value of the memory cell is less than Comparison status value, and a second memory value is assigned if the comparison shows that the status value of the memory cell or the value derived from the status value of the memory cell is at least as large as the comparison status value.

Ausführungsbeispiel 7 ist ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 6, wobei die mehreren Vergleich-Zustandswerte eine ungerade Anzahl aufweisen.Embodiment 7 is a method in accordance with one of the embodiments 1 to 6, wherein the plurality of comparison status values have an odd number.

Ausführungsbeispiel 8 ist ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 6, wobei die Mehrzahl der Vergleich-Zustandswerte mindestens drei Vergleich-Zustandswerte aufweist.Embodiment 8 is a method in accordance with one of the embodiments 1 to 6, the majority of the comparison status values having at least three comparison status values.

Ausführungsbeispiel 9 ist ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 8, wobei die mehreren Vergleich-Zustandswerte einen Standard-Vergleich-Zustandswert und mindestens einen weiteren Vergleich-Zustandswert aufweisen, wobei der Standard-Vergleich-Zustandswert festgelegt ist als derjenige Zustandswert, der beim Lesen der Speicherzellen unter Standardbedingungen einem optimalen Zustandswert, z.B. einem Mittelwert von Zustandswerten, entspricht, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden, wobei optional beim Festlegen des Standard-Vergleich-Zustandswerts ein Alter der Speicherzellen, Bedingungen (z.B.), unter welchen sie gelagert wurden und mögliche weitere Faktoren, welche den erwarteten Zustandswert beeinflussen können, berücksichtigt werden.Embodiment 9 is a method in accordance with one of the embodiments 1 to 8, the multiple comparison status values having a standard comparison status value and at least one further comparison status value, the standard comparison status value being defined as the status value that is used when reading of the memory cells under standard conditions corresponds to an optimal state value, e.g. an average value of state values, which are expected for memory cells in a first programming state or in a second programming state, with an optional age of the memory cells, conditions (e.g. ), under which they were stored and possible other factors that can influence the expected condition value are taken into account.

Ausführungsbeispiel 10 ist ein Verfahren gemäß Ausführungsbeispiel 9, wobei der mindestens eine weitere Vergleich-Zustandswert eine Mehrzahl weiterer Vergleich-Zustandswerte aufweist, wobei eine Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die kleiner als der Standard-Vergleich-Zustandswert sind, gleich ist einer Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die größer als der Standard-Vergleich-Zustandswert sind.Embodiment 10 is a method according to embodiment 9, wherein the at least one further comparison status value has a plurality of further comparison status values, with a number of those of the further comparison status values which are smaller than the standard comparison status value, is equal to a number of those of the further comparison status values which are greater than the standard comparison status value.

Ausführungsbeispiel 11 ist ein Verfahren gemäß Ausführungsbeispiel 9, wobei der mindestens eine weitere Vergleich-Zustandswert eine Mehrzahl weiterer Vergleich-Zustandswerte aufweist, wobei eine größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, und eine kleinere Anzahl der weiteren Vergleich-Zustandswerte größer ist als der Standard-Vergleich-Zustandswert, oder umgekehrt.Embodiment 11 is a method according to embodiment 9, the at least one further comparison status value having a plurality of further comparison status values, a larger number of the further comparison status values being smaller than the standard comparison status value, and a smaller number of the further comparison status values Comparison status values is greater than the standard comparison status value, or vice versa.

Ausführungsbeispiel 12 ist ein Verfahren gemäß Ausführungsbeispiel 11, wobei ein Offset-Zustandswert einem Mittelwert von Zustandswerten oder davon abgeleiteten Werten entspricht, die beim Lesen der Speicherzellen unter anderen als den Standardbedingungen für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden, wobei die größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert kleiner als der Standard-Zustandswert ist, und wobei die größere Anzahl der weiteren Vergleich-Zustandswerte größer als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert größer als der Standard-Zustandswert ist.Embodiment 12 is a method in accordance with embodiment 11, wherein an offset status value corresponds to an average value of status values or values derived therefrom which are expected when reading the memory cells under other than the standard conditions for memory cells in a first programming state or in a second programming state, wherein the larger number of further comparison status values is smaller than the standard comparison status value if the offset status value is smaller than the standard status value, and the larger number of further comparison status values is greater than the standard comparison status value if the offset status value is greater than the standard status value.

Ausführungsbeispiel 13 ist ein Verfahren gemäß einem der Ausführungsbeispiele 9 bis 12, wobei eine Differenz zwischen dem Standard-Vergleich-Zustandswert und dem mindestens einen weiteren Vergleich-Zustandswert größer ist als beispielsweise ein Zehntel der Differenz der Zustandswerte, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden.Embodiment 13 is a method according to one of the embodiments 9 to 12, wherein a difference between the standard comparison status value and the at least one further comparison status value is greater than, for example, a tenth of the difference in the status values that are required for memory cells in a first programming state or respectively are expected in a second programming state.

Ausführungsbeispiel 14 ist ein Verfahren gemäß einem der Ausführungsbeispiele 5 bis 13, wobei der vom Zustandswert abgeleitete Wert die Zeitdauer aufweist, und wobei das Vergleichen des Zustandswerts der Speicherzelle mit der Mehrzahl von Vergleich-Zustandswerten aufweist: Integrieren eines Zellstroms der Speicherzelle bis zu einem vorbestimmten Zielwert, Ermitteln der Zeitdauer, die für das Erreichen des vorbestimmten Zielwerts benötigt wurde, Integrieren einer Mehrzahl von Vergleichsströmen, wobei jeder der Vergleich-Zustandswerte diejenige Vergleich-Zeitdauer ist, die einer der integrierten Vergleichsströme zum Erreichen des vorbestimmten Zielwerts benötigt, und, für jede der Vergleich-Zeitdauern, Ermitteln, ob die Zeitdauer kleiner oder größer als die Vergleich-Zeitdauer ist.Embodiment 14 is a method in accordance with one of the embodiments 5 to 13, wherein the value derived from the state value has the duration, and wherein the comparison of the state value of the memory cell with the plurality of comparison state values comprises: integrating a cell current of the memory cell up to a predetermined target value Determination of the period of time which was required for reaching the predetermined target value, integrating a plurality of comparison currents, each of the comparison status values being that comparison time period which one of the integrated comparison currents requires to achieve the predetermined target value, and, for each of the Comparison periods, determining whether the period is less than or greater than the comparison period.

Ausführungsbeispiel 15 ist ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 14, welches ferner, bei Fehlerfreiheit von mindestens zwei der gelesenen Datenwörter, ein Vergleichen der mindestens zwei fehlerfreien gelesenen Datenwörter und ein Ausgeben eines Alarms, wenn das Vergleichen ergibt, dass die mindestens zwei fehlerfreien gelesenen Datenwörter ungleich sind, aufweist.Embodiment 15 is a method according to one of the embodiments 1 to 14, which furthermore, if at least two of the read data words are free from errors, comparing the at least two error-free read data words and outputting an alarm if the comparison shows that the at least two error-free read data words Data words are unequal.

Ausführungsbeispiel 16 ist ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 14, welches ferner, bei Vorliegen ausschließlich korrigierbarer Fehler bei mindestens zwei der gelesenen Datenwörter, ein Korrigieren von mindestens zwei der gelesenen korrigierbaren Datenwörter und Vergleichen der mindestens zwei korrigierten gelesenen Datenwörter und ein Ausgeben eines Alarms, wenn das Vergleichen ergibt, dass die mindestens zwei korrigierten gelesenen Datenwörter ungleich sind, aufweist.Embodiment 16 is a method according to one of the embodiments 1 to 14, which further, in the presence of exclusively correctable errors in at least two of the read data words, correcting at least two of the read correctable data words and comparing the at least two corrected read data words and outputting an alarm if the comparison shows that the at least two corrected read data words are not equal.

Ausführungsbeispiel 17 ist ein Verfahren gemäß Ausführungsbeispiel 15 oder 16, wobei das Vergleichen mittels einer XOR-Funktion erfolgt.Embodiment 17 is a method according to embodiment 15 or 16, the comparison being carried out by means of an XOR function.

Ausführungsbeispiel 18 ist eine Speichervorrichtung. Die Speichervorrichtung kann eine Mehrzahl von Speicherzellen aufweisen, welche eingerichtet sind zum Speichern eines mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes gesicherten Datenworts, eine Mehrzahl von Leseverstärkern, welche eingerichtet sind, Zustandswerte der Speicherzellen und Vergleich-Zustandswerte bereitzustellen, und mindestens einen Logikschaltkreis, welcher eingerichtet ist, für jede der Speicherzellen einen Zustandswert der Speicherzelle oder einen von einem Zustandswert der Speicherzelle abgeleiteten Wert mit mehreren Vergleich-Zustandswerten zu vergleichen, wobei jede der Speicherzellen mit denselben Vergleich-Zustandswerten verglichen wird, eine Mehrzahl von gelesenen Datenwörtern zu bilden, wobei für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter gebildet wird, und die Fehlererkennungs- und/oder Fehlerkorrekturcodes zur Fehlererkennung auf eine Mehrzahl der gelesenen Datenwörter anzuwenden.Embodiment 18 is a storage device. The memory device can have a plurality of memory cells which are set up to store a data word secured by means of an error detection and / or error correction code, a plurality of sense amplifiers which are set up to provide status values of the memory cells and comparison status values, and at least one logic circuit which is set up to compare a status value of the memory cell or a value derived from a status value of the memory cell with a plurality of comparison status values for each of the memory cells, wherein each of the memory cells is compared with the same comparison status values, to form a plurality of read data words, wherein for each of the comparison status values of one of the read data words is formed, and the error detection and / or error correction codes for error detection are applied to a plurality of the read data words.

Ausführungsbeispiel 19 ist eine Speichervorrichtung gemäß Ausführungsbeispiel 18, welche ferner aufweist, bei Fehlerfreiheit eines der gelesenen Datenwörter das fehlerfreie gelesene Datenwort auszugeben, anderenfalls bei Vorliegen ausschließlich korrigierbarer Fehler bei mindestens einem der gelesenen Datenwörter mindestens eines der gelesenen Datenwörter zu korrigieren und das korrigierte gelesene Datenwort auszugeben.Embodiment 19 is a memory device according to embodiment 18, which furthermore has to output the error-free read data word if one of the read data words is free of errors, otherwise if only correctable errors are present in at least one of the read data words Correct data words at least one of the read data words and output the corrected read data word.

Ausführungsbeispiel 20 ist eine Speichervorrichtung gemäß Ausführungsbeispiel 18 oder 19, wobei das Vergleichen als paralleles Vergleichen des Zustandswerts oder des vom Zustandswert abgeleiteten Werts jeweils einer der Speicherzellen mit jedem der Vergleich-Zustandswerte erfolgt.Embodiment 20 is a memory device according to embodiment 18 or 19, the comparison taking place as a parallel comparison of the status value or the value derived from the status value of one of the memory cells with each of the comparison status values.

Ausführungsbeispiel 21 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 18 bis 20, wobei der Zustandswert oder der vom Zustandswert abgeleitete Wert ein Wert ist, der mittels eines Programmierens der Speicherzelle änderbar ist.Embodiment 21 is a memory device in accordance with one of the embodiments 18 to 20, the status value or the value derived from the status value being a value which can be changed by means of programming the memory cell.

Ausführungsbeispiel 22 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 18 bis 21, wobei der Zustandswert einen Strom oder eine Spannung oder der vom Zustandswert abgeleitete Wert eine Zeitdauer aufweist.Embodiment 22 is a memory device according to one of the embodiments 18 to 21, wherein the status value has a current or a voltage or the value derived from the status value has a duration.

Ausführungsbeispiel 23 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 18 bis 22, wobei der Logikschaltkreis eingerichtet ist, das Zuordnen derart vorzunehmen, dass ein erster Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert der Speicherzelle oder der vom Zustandswert abgeleitete Wert kleiner ist als der Vergleich-Zustandswert, und ein zweiter Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert der Speicherzelle oder der vom Zustandswert abgeleitete Wert mindestens genauso groß ist wie der Vergleich-Zustandswert.Embodiment 23 is a memory device according to one of the embodiments 18 to 22, wherein the logic circuit is set up to undertake the assignment in such a way that a first memory value is assigned if the comparison shows that the state value of the memory cell or the value derived from the state value is less than the comparison status value and a second memory value is assigned if the comparison shows that the status value of the memory cell or the value derived from the status value is at least as large as the comparison status value.

Ausführungsbeispiel 24 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 18 bis 23, wobei die mehreren Vergleich-Zustandswerte eine ungerade Anzahl aufweisen.Embodiment 24 is a memory device in accordance with one of the embodiments 18 to 23, wherein the plurality of comparison state values have an odd number.

Ausführungsbeispiel 25 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 18 bis 24, wobei die mehreren Vergleich-Zustandswerte mindestens drei Vergleich-Zustandswerte aufweisen.Embodiment 25 is a memory device in accordance with one of the embodiments 18 to 24, wherein the plurality of comparison status values have at least three comparison status values.

Ausführungsbeispiel 26 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 18 bis 24, wobei die mehreren Vergleich-Zustandswerte einen Standard-Vergleich-Zustandswert und mindestens einen weiteren Vergleich-Zustandswert aufweisen, und wobei der Standard-Vergleich-Zustandswert festgelegt ist als derjenige Zustandswert bzw. davon abgeleiteter Wert, der beim Lesen der Speicherzellen unter Standardbedingungen einem Mittelwert von Zustandswerten entspricht, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden.Embodiment 26 is a memory device according to one of the embodiments 18 to 24, wherein the multiple comparison status values have a standard comparison status value and at least one further comparison status value, and the standard comparison status value is defined as that status value or one thereof Derived value which, when reading the memory cells under standard conditions, corresponds to an average value of state values which are expected for memory cells in a first programming state or in a second programming state.

Ausführungsbeispiel 27 ist eine Speichervorrichtung gemäß Ausführungsbeispiel 26, wobei der mindestens eine weitere Vergleich-Zustandswert eine Mehrzahl weiterer Vergleich-Zustandswerte aufweist, wobei eine Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die kleiner als der Standard-Vergleich-Zustandswert sind, gleich ist einer Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die größer als der Standard-Vergleich-Zustandswert sind.Embodiment 27 is a memory device according to embodiment 26, the at least one further comparison status value having a plurality of further comparison status values, a number of those of the further comparison status values that are smaller than the standard comparison status value being equal to a number those of the further comparison status values which are greater than the standard comparison status value.

Ausführungsbeispiel 28 ist eine Speichervorrichtung gemäß Ausführungsbeispiel 26, wobei der mindestens eine weitere Vergleich-Zustandswert eine Mehrzahl weiterer Vergleich-Zustandswerte aufweist, wobei eine größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, und eine kleinere Anzahl der weiteren Vergleich-Zustandswerte größer ist als der Standard-Vergleich-Zustandswert, oder umgekehrt.Embodiment 28 is a storage device according to embodiment 26, the at least one further comparison status value having a plurality of further comparison status values, a larger number of the further comparison status values being smaller than the standard comparison status value, and a smaller number of the further comparison status values Comparison status values is greater than the standard comparison status value, or vice versa.

Ausführungsbeispiel 29 ist eine Speichervorrichtung gemäß Ausführungsbeispiel 28, wobei ein Offset-Zustandswert einem Mittelwert von Zustandswerten oder davon abgeleiteten Werten entspricht, die beim Lesen der Speicherzellen unter anderen als den Standardbedingungen für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden, wobei die größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert kleiner als der Standard-Zustandswert ist, und wobei die größere Anzahl der weiteren Vergleich-Zustandswerte größer als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert größer als der Standard-Zustandswert ist.Embodiment 29 is a memory device according to embodiment 28, wherein an offset status value corresponds to an average value of status values or values derived therefrom which are expected when reading the memory cells under conditions other than the standard conditions for memory cells in a first programming state or in a second programming state, wherein the larger number of further comparison status values is smaller than the standard comparison status value if the offset status value is smaller than the standard status value, and the larger number of further comparison status values is greater than the standard comparison status value if the offset status value is greater than the standard status value.

Ausführungsbeispiel 30 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 27 bis 29, wobei eine Differenz zwischen dem Standard-Vergleich-Zustandswert und dem mindestens einen weiteren Vergleich-Zustandswert größer ist als beispielsweise ein Zehntel der Differenz der Zustandswerte, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden.Embodiment 30 is a memory device according to one of the embodiments 27 to 29, wherein a difference between the standard comparison status value and the at least one further comparison status value is greater than, for example, a tenth of the difference in the status values that are required for memory cells in a first programming state or respectively are expected in a second programming state.

Ausführungsbeispiel 31 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 22 bis 30, welche ferner eine Mehrzahl von Kondensatoren aufweist, wobei der vom Zustandswert abgeleitete Wert die Zeitdauer aufweist, und wobei das Vergleichen des Zustandswerts der Speicherzelle mit den Vergleich-Zustandswerten aufweist: Integrieren eines Zellstroms der Speicherzelle mittels eines ersten der Kondensatoren bis zu einem vorbestimmten Spannungswert, Ermitteln der Zeitdauer, die für das Erreichen des vorbestimmten Spannungswerts benötigt wurde, Integrieren einer Mehrzahl von Vergleichsströmen mittels mehrerer weiterer der Kondensatoren, wobei jeder der Vergleich-Zustandswerte diejenige Vergleich-Zeitdauer ist, die einer der integrierten Vergleichsströme zum Erreichen des vorbestimmten Spannungswerts benötigt, und für jede der Vergleich-Zeitdauern, Ermitteln, ob die Zeitdauer kleiner oder größer als die Vergleich-Zeitdauer ist.Embodiment 31 is a memory device according to one of the embodiments 22 to 30, which furthermore has a plurality of capacitors, wherein the value derived from the state value has the duration, and wherein the comparison of the state value of the memory cell with the comparison state values comprises: integrating a cell current of the Memory cell by means of a first of the capacitors up to a predetermined voltage value, determining the time period which was required for reaching the predetermined voltage value, integrating a plurality of comparison currents by means of several further capacitors, each of the comparison status values being the comparison time period which one of the integrated comparison currents is required to reach the predetermined voltage value, and for each of the comparison time periods, determining whether the time period is less than or greater than the comparison time period.

Ausführungsbeispiel 32 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 18 bis 31, wobei die Speichervorrichtung eine RRAM-, MRAM-, PCRAM-, FLASH- oder CBRAM-Vorrichtung ist.Embodiment 32 is a memory device according to one of the embodiments 18 to 31, wherein the memory device is an RRAM, MRAM, PCRAM, FLASH or CBRAM device.

Ausführungsbeispiel 33 ist eine Speichervorrichtung gemäß einem der Ausführungsbeispiele 19 bis 32, wobei die Speicherzellen resistive Speicherzellen sind.Embodiment 33 is a memory device in accordance with one of the embodiments 19 to 32, wherein the memory cells are resistive memory cells.

Ausführungsbeispiel 34 ist eine Datenspeichereinrichtung. Die Datenspeichereinrichtung kann die Speichervorrichtung gemäß einem der Ausführungsbeispiele 18 bis 33 aufweisen, wobei die Datenspeichereinrichtung eine aus einer Gruppe von Datenspeichereinrichtungen ist, wobei die Gruppe eine Festplatte, eine SSD und eine selbständige nichtflüchtige Speichervorrichtung wie einen Speicherstift aufweist.Embodiment 34 is a data storage device. The data storage device can comprise the storage device according to one of the exemplary embodiments 18 to 33, the data storage device being one of a group of data storage devices, the group comprising a hard disk, an SSD and an independent non-volatile storage device such as a memory stick.

Claims (26)

Verfahren zum Lesen einer Mehrzahl von Speicherzellen, in welchen ein mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes gesichertes Datenwort gespeichert ist, aufweisend: • für jede der Speicherzellen Vergleichen eines Zustandswerts der Speicherzelle oder eines von einem Zustandswert der Speicherzelle abgeleiteten Werts mit mehreren Vergleich-Zustandswerten, wobei jede der Speicherzellen mit denselben Vergleich-Zustandswerten verglichen wird; • Bilden einer Mehrzahl von gelesenen Datenwörtern, wobei für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter gebildet wird; • Anwenden des Fehlererkennungs- und/oder Fehlerkorrekturcodes zur Fehlererkennung auf eine Mehrzahl der gelesenen Datenwörter.Method for reading a plurality of memory cells in which a data word secured by means of an error detection and / or error correction code is stored, comprising: • for each of the memory cells comparing a status value of the memory cell or a value derived from a status value of the memory cell with a plurality of comparison status values, each of the memory cells being compared with the same comparison status values; • Formation of a plurality of read data words, one of the read data words being formed for each of the comparison status values; Application of the error detection and / or error correction code for error detection to a plurality of the data words that have been read. Verfahren gemäß Anspruch 1, wobei das Vergleichen als paralleles Vergleichen des Zustandswerts oder des von dem Zustandswert der Speicherzelle abgeleiteten Werts jeweils einer der Speicherzellen mit jedem der Vergleich-Zustandswerte erfolgt.Procedure according to Claim 1 wherein the comparison takes place as a parallel comparison of the status value or the value derived from the status value of the memory cell in each case of one of the memory cells with each of the comparison status values. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei der Zustandswert oder der von dem Zustandswert der Speicherzelle abgeleitete Wert ein Wert ist, der mittels eines Programmierens der Speicherzelle änderbar ist.Method according to one of the Claims 1 or 2 wherein the status value or the value derived from the status value of the memory cell is a value which can be changed by means of programming the memory cell. Verfahren gemäß einem der Ansprüche 1 bis 3, wobei das Zuordnen derart vorgenommen wird, dass ein erster Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert oder der von dem Zustandswert der Speicherzelle abgeleitete Wert der Speicherzelle kleiner ist als der Vergleich-Zustandswert, und ein zweiter Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert oder der von dem Zustandswert der Speicherzelle abgeleitete Wert der Speicherzelle mindestens genauso groß ist wie der Vergleich-Zustandswert.Method according to one of the Claims 1 until 3 , the assignment being carried out in such a way that a first memory value is assigned if the comparison shows that the status value or the value of the memory cell derived from the status value of the memory cell is less than the comparison status value, and a second memory value is assigned if the comparison shows that the status value or the value of the memory cell derived from the status value of the memory cell is at least as large as the comparison status value. Verfahren gemäß einem der Ansprüche 1 bis 4, wobei die mehreren Vergleich-Zustandswerte eine ungerade Anzahl aufweisen.Method according to one of the Claims 1 until 4th , wherein the plurality of comparison state values have an odd number. Verfahren gemäß einem der Ansprüche 1 bis 5, wobei die mehreren Vergleich-Zustandswerte mindestens drei Vergleich-Zustandswerte aufweisen.Method according to one of the Claims 1 until 5 wherein the plurality of comparison state values have at least three comparison state values. Verfahren gemäß einem der Ansprüche 1 bis 6, wobei die mehreren Vergleich-Zustandswerte einen Standard-Vergleich-Zustandswert und mindestens einen weiteren Vergleich-Zustandswert aufweisen, wobei der Standard-Vergleich-Zustandswert festgelegt ist als derjenige Zustandswert, der beim Lesen der Speicherzellen unter Standardbedingungen einem Mittelwert von Zustandswerten oder aus Zustandswerten abgeleiteter Werte entspricht, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden.Method according to one of the Claims 1 until 6th , wherein the plurality of comparison status values have a standard comparison status value and at least one further comparison status value, the standard comparison status value being defined as that status value which, when reading the memory cells under standard conditions, is an average of status values or of status values corresponds to derived values that are expected for memory cells in a first programming state or in a second programming state. Verfahren gemäß Anspruch 7, wobei der mindestens eine weitere Vergleich-Zustandswert eine Mehrzahl weiterer Vergleich-Zustandswerte aufweist, wobei eine Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die kleiner als der Standard-Vergleich-Zustandswert sind, gleich ist einer Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die größer als der Standard-Vergleich-Zustandswert sind.Procedure according to Claim 7 , wherein the at least one further comparison status value has a plurality of further comparison status values, wherein a number of those of the further comparison status values that are smaller than the standard comparison status value is equal to a number of those of the further comparison status values that are are greater than the standard compare status value. Verfahren gemäß Anspruch 7, wobei der mindestens eine weitere Vergleich-Zustandswert eine Mehrzahl weiterer Vergleich-Zustandswerte aufweist, wobei eine größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, und eine kleinere Anzahl der weiteren Vergleich-Zustandswerte größer ist als der Standard-Vergleich-Zustandswert, oder umgekehrt.Procedure according to Claim 7 , the at least one further comparison status value having a plurality of further comparison status values, a larger number of the further comparison status values being smaller than the standard comparison status value, and a smaller number of the further comparison status values being greater than the standard -Comparison status value, or vice versa. Verfahren gemäß Anspruch 9, wobei ein Offset-Zustandswert einem Mittelwert von Zustandswerten oder davon abgeleiteten Werten entspricht, die beim Lesen der Speicherzellen unter anderen als den Standardbedingungen für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden, wobei die größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert kleiner als der Standard-Zustandswert ist, und wobei die größere Anzahl der weiteren Vergleich-Zustandswerte größer als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert größer als der Standard-Zustandswert ist.Procedure according to Claim 9 , wherein an offset state value corresponds to an average value of state values or values derived therefrom which are expected when reading the memory cells under other than the standard conditions for memory cells in a first programming state or in a second programming state, the greater number of further comparison state values is smaller than the standard comparison status value if the offset status value is smaller than the standard status value, and wherein the larger number of further comparison status values is greater than the standard comparison status value if the offset status value is greater than is the default state value. Verfahren gemäß einem der Ansprüche 7 bis 10, wobei eine Differenz zwischen dem Standard-Vergleich-Zustandswert und dem mindestens einen weiteren Vergleich-Zustandswert größer ist als beispielsweise ein Zehntel der Differenz der Zustandswerte, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden.Method according to one of the Claims 7 until 10 , wherein a difference between the standard comparison status value and the at least one further comparison status value is greater than, for example, a tenth of the difference in the status values that are expected for memory cells in a first programming state or in a second programming state. Verfahren gemäß einem der Ansprüche 4 bis 11, wobei der vom Zustandswert abgeleitete Wert die Zeitdauer aufweist, und wobei das Vergleichen des vom Zustandswert der Speicherzelle abgeleiteten Werts mit den Vergleich-Zustandswerten aufweist: Integrieren eines Zellstroms der Speicherzelle bis zu einem vorbestimmten Zielwert; Ermitteln der Zeitdauer, die für das Erreichen des vorbestimmten Zielwerts benötigt wurde; Integrieren einer Mehrzahl von Vergleichsströmen, wobei jeder der Vergleich-Zustandswerte diejenige Vergleich-Zeitdauer ist, die einer der integrierten Vergleichsströme zum Erreichen des vorbestimmten Zielwerts benötigt; und für jede der Vergleich-Zeitdauern, Ermitteln, ob die Zeitdauer kleiner oder größer als die Vergleich-Zeitdauer ist.Method according to one of the Claims 4 until 11 wherein the value derived from the state value comprises the duration, and wherein comparing the value derived from the state value of the memory cell with the comparison state values comprises: integrating a cell current of the memory cell up to a predetermined target value; Determining the length of time it took to achieve the predetermined target value; Integrating a plurality of comparison currents, each of the comparison status values being that comparison time period which one of the integrated comparison currents requires to reach the predetermined target value; and for each of the comparison periods, determining whether the period is less than or greater than the comparison period. Verfahren gemäß einem der Ansprüche 1 bis 12, ferner aufweisend: bei Fehlerfreiheit von mindestens zwei der gelesenen Datenwörter, Vergleichen der mindestens zwei fehlerfreien gelesenen Datenwörter; und Ausgeben eines Alarms, wenn das Vergleichen ergibt, dass die mindestens zwei fehlerfreien gelesenen Datenwörter ungleich sind.Method according to one of the Claims 1 until 12th , further comprising: if at least two of the read data words are free of errors, comparing the at least two error-free read data words; and outputting an alarm if the comparison shows that the at least two error-free read data words are not the same. Verfahren gemäß einem der Ansprüche 1 bis 13, ferner aufweisend: bei Vorliegen ausschließlich korrigierbarer Fehler bei mindestens zwei der gelesenen Datenwörter, Korrigieren von mindestens zwei der gelesenen korrigierbaren Datenwörter und Vergleichen der mindestens zwei korrigierten gelesenen Datenwörter; und Ausgeben eines Alarms, wenn das Vergleichen ergibt, dass die mindestens zwei korrigierten gelesenen Datenwörter ungleich sind.Method according to one of the Claims 1 until 13th , further comprising: if exclusively correctable errors are present in at least two of the read data words, correcting at least two of the read correctable data words and comparing the at least two corrected read data words; and outputting an alarm if the comparison shows that the at least two corrected read data words are not the same. Speichervorrichtung, aufweisend: eine Mehrzahl von Speicherzellen, welche eingerichtet sind zum Speichern eines mittels eines Fehlererkennungs- und/oder Fehlerkorrekturcodes gesicherten Datenworts; eine Mehrzahl von Leseverstärkern, welche eingerichtet sind, Zustandswerte der Speicherzellen und Vergleich-Zustandswerte bereitzustellen; und mindestens einen Logikschaltkreis, welcher eingerichtet ist: • für jede der Speicherzellen einen Zustandswerts der Speicherzelle mit mehreren Vergleich-Zustandswerten zu vergleichen, wobei jede der Speicherzellen mit denselben Vergleich-Zustandswerten verglichen wird; • eine Mehrzahl von gelesenen Datenwörtern zu bilden, wobei für jeden der Vergleich-Zustandswerte eines der gelesenen Datenwörter gebildet wird, und • die Fehlererkennungs- und/oder Fehlerkorrekturcodes zur Fehlererkennung auf eine Mehrzahl der gelesenen Datenwörter anzuwenden.A memory device comprising: a plurality of memory cells which are set up to store a data word secured by means of an error detection and / or error correction code; a plurality of sense amplifiers which are set up to provide state values of the memory cells and comparison state values; and at least one logic circuit which is set up: • to compare a state value of the memory cell with a plurality of comparison state values for each of the memory cells, wherein each of the memory cells is compared with the same comparison state values; • to form a plurality of read data words, one of the read data words being formed for each of the comparison status values, and • to apply the error detection and / or error correction codes for error detection to a plurality of the read data words. Speichervorrichtung gemäß Anspruch 15, wobei das Vergleichen als paralleles Vergleichen des Zustandswerts oder des vom Zustandswert abgeleiteten Wert jeweils einer der Speicherzellen mit jedem der Vergleich-Zustandswerte erfolgt.Storage device according to Claim 15 wherein the comparison takes place as a parallel comparison of the status value or the value derived from the status value of in each case one of the memory cells with each of the comparison status values. Speichervorrichtung gemäß einem der Ansprüche 15 oder 16, wobei der Zustandswert oder der vom Zustandswert abgeleitete Wert ein Wert ist, der mittels eines Programmierens der Speicherzelle änderbar ist.Storage device according to one of the Claims 15 or 16 , wherein the state value or the value derived from the state value is a value which can be changed by means of programming the memory cell. Speichervorrichtung gemäß einem der Ansprüche 15 bis 17, wobei der Logikschaltkreis eingerichtet ist, das Zuordnen derart vorzunehmen, dass ein erster Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert der Speicherzelle oder der davon abgeleitete Wert kleiner ist als der Vergleich-Zustandswert, und ein zweiter Speicherwert zugeordnet wird, wenn der Vergleich ergibt, dass der Zustandswert der Speicherzelle oder der davon abgeleitete Wert mindestens genauso groß ist wie der Vergleich-Zustandswert.Storage device according to one of the Claims 15 until 17th , wherein the logic circuit is set up to undertake the assignment in such a way that a first memory value is assigned if the comparison shows that the state value of the memory cell or the value derived therefrom is less than the comparison state value, and a second memory value is assigned if the comparison shows that the status value of the memory cell or the value derived therefrom is at least as large as the comparison status value. Speichervorrichtung gemäß einem der Ansprüche 15 bis 18, wobei die mehreren Vergleich-Zustandswerte eine ungerade Anzahl aufweisen.Storage device according to one of the Claims 15 until 18th , wherein the plurality of comparison state values have an odd number. Speichervorrichtung gemäß einem der Ansprüche 15 bis 19, wobei die mehreren Vergleich-Zustandswerte mindestens drei Vergleich-Zustandswerte aufweisen.Storage device according to one of the Claims 15 until 19th wherein the plurality of comparison state values have at least three comparison state values. Speichervorrichtung gemäß einem der Ansprüche 15 bis 20, wobei die mehreren Vergleich-Zustandswerte einen Standard-Vergleich-Zustandswert und mindestens einen weiteren Vergleich-Zustandswert aufweist, wobei der Standard-Vergleich-Zustandswert festgelegt ist als derjenige Zustandswert oder davon abgeleitete Wert, der beim Lesen der Speicherzellen unter Standardbedingungen einem Mittelwert von Zustandswerten oder davon abgeleiteten Werten entspricht, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden.Storage device according to one of the Claims 15 until 20th , wherein the plurality of comparison status values has a standard comparison status value and at least one further comparison status value, the standard comparison status value being defined as that status value or a value derived therefrom which, when reading the memory cells under standard conditions, has an average value of status values or corresponds to values derived therefrom which are expected for memory cells in a first programming state or in a second programming state. Speichervorrichtung gemäß Anspruch 21, wobei der mindestens eine weitere Vergleich-Zustandswert eine Mehrzahl weiterer Vergleich-Zustandswerte aufweist, wobei eine Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die kleiner als der Standard-Vergleich-Zustandswert sind, gleich ist einer Anzahl derjenigen der weiteren Vergleich-Zustandswerte, die größer als der Standard-Vergleich-Zustandswert sind.Storage device according to Claim 21 , wherein the at least one further comparison status value has a plurality of further comparison status values, wherein a number of those of the further comparison status values that are smaller than the standard comparison status value is equal to a number of those of the further comparison status values that are are greater than the standard compare status value. Speichervorrichtung gemäß Anspruch 21, wobei der mindestens eine weitere Vergleich-Zustandswert eine Mehrzahl weiterer Vergleich-Zustandswerte aufweist, wobei eine größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, und eine kleinere Anzahl der weiteren Vergleich-Zustandswerte größer ist als der Standard-Vergleich-Zustandswert, oder umgekehrt.Storage device according to Claim 21 , the at least one further comparison status value having a plurality of further comparison status values, a larger number of the further comparison status values being smaller than the standard comparison status value, and a smaller number of the further comparison status values being greater than the standard -Comparison status value, or vice versa. Speichervorrichtung gemäß Anspruch 23, wobei ein Offset-Zustandswert einem Mittelwert von Zustandswerten oder davon abgeleiteten Werten entspricht, die beim Lesen der Speicherzellen unter anderen als den Standardbedingungen für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden, wobei die größere Anzahl der weiteren Vergleich-Zustandswerte kleiner als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert kleiner als der Standard-Zustandswert ist, und wobei die größere Anzahl der weiteren Vergleich-Zustandswerte größer als der Standard-Vergleich-Zustandswert ist, wenn der Offset-Zustandswert größer als der Standard-Zustandswert ist.Storage device according to Claim 23 , wherein an offset state value corresponds to an average value of state values or values derived therefrom which are expected when reading the memory cells under other than the standard conditions for memory cells in a first programming state or in a second programming state, the greater number of further comparison state values is smaller than the standard comparison status value if the offset status value is smaller than the standard status value, and wherein the larger number of further comparison status values is greater than the standard comparison status value if the offset status value is greater than is the default state value. Speichervorrichtung gemäß einem der Ansprüche 21 bis 24, wobei eine Differenz zwischen dem Standard-Vergleich-Zustandswert und dem mindestens einen weiteren Vergleich-Zustandswert größer ist als beispielsweise ein Zehntel der Differenz der Zustandswerte, die für Speicherzellen in einem ersten Programmierzustand bzw. in einem zweiten Programmierzustand erwartet werden.Storage device according to one of the Claims 21 until 24 , wherein a difference between the standard comparison status value and the at least one further comparison status value is greater than, for example, a tenth of the difference in the status values that are expected for memory cells in a first programming state or in a second programming state. Speichervorrichtung gemäß einem der Ansprüche 21 bis 25, ferner aufweisend: eine Mehrzahl von Kondensatoren; wobei der vom Zustandswert abgeleitete Wert die Zeitdauer aufweist, und wobei das Vergleichen des vom Zustandswert der Speicherzelle abgeleiteten Werts mit den Vergleich-Zustandswerten aufweist: Integrieren eines Zellstroms der Speicherzelle mittels eines ersten der Kondensatoren bis zu einem vorbestimmten Spannungswert; Ermitteln der Zeitdauer, die für das Erreichen des vorbestimmten Spannungswerts benötigt wurde; Integrieren einer Mehrzahl von Vergleichsströmen mittels mehrerer weiterer der Kondensatoren, wobei jeder der Vergleich-Zustandswerte diejenige Vergleich-Zeitdauer ist, die einer der integrierten Vergleichsströme zum Erreichen des vorbestimmten Spannungswerts benötigt; und für jede der Vergleich-Zeitdauern, Ermitteln, ob die Zeitdauer kleiner oder größer als die Vergleich-Zeitdauer ist.Storage device according to one of the Claims 21 until 25th , further comprising: a plurality of capacitors; wherein the value derived from the state value comprises the duration, and wherein comparing the value derived from the state value of the memory cell with the comparison state values comprises: integrating a cell current of the memory cell by means of a first one of the capacitors up to a predetermined voltage value; Determining the length of time it took to reach the predetermined voltage value; Integrating a plurality of comparison currents by means of a plurality of further of the capacitors, each of the comparison status values being that comparison time duration which one of the integrated comparison currents requires to reach the predetermined voltage value; and for each of the comparison periods, determining whether the period is less than or greater than the comparison period.
DE102020106169.2A 2020-03-06 2020-03-06 METHOD OF OPERATING A STORAGE DEVICE, STORAGE DEVICE, AND DATA STORAGE DEVICE Pending DE102020106169A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020106169.2A DE102020106169A1 (en) 2020-03-06 2020-03-06 METHOD OF OPERATING A STORAGE DEVICE, STORAGE DEVICE, AND DATA STORAGE DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020106169.2A DE102020106169A1 (en) 2020-03-06 2020-03-06 METHOD OF OPERATING A STORAGE DEVICE, STORAGE DEVICE, AND DATA STORAGE DEVICE

Publications (1)

Publication Number Publication Date
DE102020106169A1 true DE102020106169A1 (en) 2021-09-09

Family

ID=77388916

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020106169.2A Pending DE102020106169A1 (en) 2020-03-06 2020-03-06 METHOD OF OPERATING A STORAGE DEVICE, STORAGE DEVICE, AND DATA STORAGE DEVICE

Country Status (1)

Country Link
DE (1) DE102020106169A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110205823A1 (en) 2010-02-19 2011-08-25 Gerrit Jan Hemink Non-Volatile Storage With Temperature Compensation Based On Neighbor State Information
US20170271031A1 (en) 2013-05-31 2017-09-21 Western Digital Technologies, Inc. Updating read voltages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110205823A1 (en) 2010-02-19 2011-08-25 Gerrit Jan Hemink Non-Volatile Storage With Temperature Compensation Based On Neighbor State Information
US20170271031A1 (en) 2013-05-31 2017-09-21 Western Digital Technologies, Inc. Updating read voltages

Similar Documents

Publication Publication Date Title
DE102011083180B4 (en) Readout distribution management for phase change memory
DE10233642B4 (en) Error correction coding and decoding in a solid state storage device
DE102014111654A1 (en) Systems and methods utilizing a flexible read reference for a dynamic read window
DE112011100371T5 (en) Method, apparatus and computer program product for decoding a codeword
EP2100308B1 (en) Method and semiconductor memory with a device for detecting addressing errors
DE2456709C2 (en) Circuit arrangement for error detection and correction
DE102015113414A1 (en) Error correction using WOM codes
DE102017103347B4 (en) PROCESSING OF DATA IN MEMORY CELLS OF A MEMORY
DE10043440C2 (en) Magnetoresistive memory and method for reading it out
DE102015215401A1 (en) A memory device and method for correcting a stored bit string
DE10344625A1 (en) Semiconductor memory device with a preventive function regarding a data change due to accumulated disturbances
DE10206689A1 (en) Integrated memory and method for operating an integrated memory
DE112017003013T5 (en) Methods and apparatus for reading nonvolatile memory cells
DE3827174A1 (en) SEMICONDUCTOR STORAGE DEVICE
DE102013222136B4 (en) Circuit and method for multi-bit correction
DE102018124836A1 (en) NEW STORAGE BLOCK
EP0902924B1 (en) Redundancy memory circuit with rom storage cells
DE102020106169A1 (en) METHOD OF OPERATING A STORAGE DEVICE, STORAGE DEVICE, AND DATA STORAGE DEVICE
DE60212103T2 (en) STRUCTURED MEMORY CELL TEST
DE112021000637T5 (en) CONTINUOUS MONOTONIC COUNTER FOR STORAGE DEVICES
DE102020211842B4 (en) Storage devices and methods for operating them
DE102020100541B4 (en) DETERMINATION OF A RESULTING DATA WORD WHEN ACCESSING A STORAGE
DE112022004976T5 (en) DYNAMIC MEASUREMENT LEVELS FOR NON-VOLATILE MEMORY DEVICES
DE69526789T2 (en) Memory arrangement with improved result and improved reliability
DE112022005281T5 (en) Erase Performance Loss Indicator (EPLI) implementation in a flash memory device

Legal Events

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