DE102016115177A1 - Method for operating a memory device and memory device - Google Patents

Method for operating a memory device and memory device Download PDF

Info

Publication number
DE102016115177A1
DE102016115177A1 DE102016115177.7A DE102016115177A DE102016115177A1 DE 102016115177 A1 DE102016115177 A1 DE 102016115177A1 DE 102016115177 A DE102016115177 A DE 102016115177A DE 102016115177 A1 DE102016115177 A1 DE 102016115177A1
Authority
DE
Germany
Prior art keywords
data
memory
data elements
memory cells
redundant
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.)
Granted
Application number
DE102016115177.7A
Other languages
German (de)
Other versions
DE102016115177B4 (en
Inventor
Martin Perner
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 DE102016115177.7A priority Critical patent/DE102016115177B4/en
Publication of DE102016115177A1 publication Critical patent/DE102016115177A1/en
Application granted granted Critical
Publication of DE102016115177B4 publication Critical patent/DE102016115177B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

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

Abstract

In verschiedenen Ausführungsbeispielen wird ein Verfahren zum Betreiben einer Speichervorrichtung bereitgestellt. Das Verfahren kann aufweisen ein erstes Speichern einer Mehrzahl von Datenelementen, die einen Datensatz bilden, in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen ersten Wortleitung angesteuert werden, so dass sich eine erste Zuordnung der Datenelemente zu den Bitleitungen ergibt, und ein zweites Speichern der Mehrzahl von Datenelementen in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen als ein erster redundanter Datensatz derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen zweiten Wortleitung angesteuert werden und bei denen die ansteuernden Bitleitungen dieselben sind wie beim ersten Speichern, so dass sich eine zweite Zuordnung der Datenelemente zu den Bitleitungen ergibt, wobei die erste Zuordnung sich von der zweiten Zuordnung unterscheidet. In various embodiments, a method of operating a memory device is provided. The method may comprise first storing a plurality of data elements forming a data record in the memory cells, wherein each data element of the plurality of data elements is stored in a respective memory cell of the plurality of memory cells such that the data elements of the data set are stored in memory cells be driven by a common first word line, so that there is a first assignment of the data elements to the bit lines, and a second storage of the plurality of data elements in the memory cells, each data element of the plurality of data elements in each case a separate memory cell from the A plurality of memory cells are stored as a first redundant data set such that the data elements of the data set are stored in memory cells driven by a common second wordline and in which the driving bitlines are the same as in FIG first storing, so that there is a second assignment of the data elements to the bit lines, wherein the first assignment is different from the second assignment.

Figure DE102016115177A1_0001
Figure DE102016115177A1_0001

Description

Die Erfindung betrifft ein Verfahren zum Betreiben einer Speichervorrichtung und eine Speichervorrichtung. The invention relates to a method for operating a memory device and a memory device.

Typische Halbleiter-Speichervorrichtungen (auch kurz als Speicher bezeichnet) können ein Feld von Speicherzellen (auch als Zellenfeld bezeichnet; in manchen Zusammenhängen wird hierin auch dieses Zellenfeld, also z.B. ohne Wort- bzw. Bitleitungstreiber usw., als Speicher bezeichnet; sofern der Unterschied relevant ist, wird aus dem Kontext klar, wie der Begriff jeweils zu verstehen ist) aufweisen. Typical semiconductor memory devices (also referred to as memory for short) may be a field of memory cells (also referred to as a cell array; in some contexts, this cell array, eg, without word or bitline drivers, etc., is also referred to herein as a memory, if the difference is relevant is, becomes clear from the context, as the term is to be understood).

In 1 ist beispielhaft eine Flash-Speichereinrichtung 100 dargestellt. Das Zellenfeld 102 eines in eine Speichersteuerung 112 (z.B. einen Mikrocontroller, z.B. ein so genanntes Flash Standard Interface, FSI) eingebetteten Flashspeichers 110 kann typischerweise zwischen einigen 100 kByte und einigen wenigen 1 Mbyte umfassen. Der Speicher 110 kann in mehrere Sektoren unterteilt sein, wie dies beispielhaft in 3 dargestellt ist, z.B. einen Konfigurations-Sektor (Config-Sektor CFS), LogSektoren und PhysSektoren als Sektoren eines so genannten PFlash-Bereichs (mit nummerierten Sektoren PS0, ..., PSn) und Datensektoren (z.B. in verschiedenen Modulen) DS0, ..., DSm in einem so genannten Dflash-Bereich. In 1 is an example of a flash memory device 100 shown. The cell field 102 one into a memory controller 112 (eg a microcontroller, eg a so-called Flash Standard Interface, FSI) embedded flash memory 110 can typically be between some 100 kByte and a few 1 Mbyte. The memory 110 can be divided into several sectors, as exemplified in 3 is shown, for example, a configuration sector (Config sector CFS), LogSectors and PhysSectors as sectors of a so-called PFlash area (with numbered sectors PS0, ..., PSn) and data sectors (eg in different modules) DS0, .. ., DSm in a so-called Dflash area.

Sektorgrenzen zwischen den Sektoren können parallel zu Wortleitungen (WL) verlaufen. Das heißt, dass WLen zu Sektoren zusammengefasst sein können. Die Wortleitungen können von einem Adressdecoder 106 angesteuert werden. Nicht ausgewählte WLen können deselektiert werden, ausgewählte WLen können selektiert werden. Sector boundaries between the sectors may be parallel to word lines (WL). This means that WLen can be grouped into sectors. The word lines may be from an address decoder 106 be controlled. Unselected WLen can be deselected, selected WLen can be selected.

Bei erfolgter Selektion kann der zu der ausgewählten Wortleitung gehörige Wortleitungstreiber eine erhöhte Ausgangsspannung generieren, die an Gates einer Vielzahl von Flash-Zellen in Reihe angeschlossen sein kann. Upon successful selection, the wordline driver associated with the selected wordline may generate an increased output voltage which may be connected in series to gates of a plurality of flash cells.

Die Zellen des Zellenfeldes 102 können üblicherweise als NMOS-FETs realisiert sein. Mittels eines eingebauten, isolierenden Floating-Gates kann eine Schwellspannung einer Durchschaltung mittels Ladungsinjektion über ein Tunnel-Oxid hinweg programmiert werden. Mit dem Ladungszustand des Floating-Gates kann ein Emitter-Kollektor-Strom des Transistors bei definierter Gate-Ansteuerung einstellbar sein. Der Stromfluss wird Zellstrom genannt. Ein zeitlicher Verlauf des Zellstroms Icell ist in 1B dargestellt. The cells of the cell field 102 can usually be realized as NMOS FETs. By means of a built-in, insulating floating gate, a threshold voltage of a through-connection can be programmed via charge injection via a tunnel oxide. With the charge state of the floating gate, an emitter-collector current of the transistor can be set with a defined gate drive. The current flow is called cell current. A time course of the cell current Icell is in 1B shown.

Der Vergleich des Zellstroms mit einem Referenzstrom bestimmt den logischen Bit-Zustand (im einfachsten Fall 0 oder 1). Generell kann unterschieden werden zwischen Eintransistor-(UCP-, für „Uniform Channel Program“)Zellen und Zweitransistor Flash-Speicherzellen (Split-Gate-Zellen). The comparison of the cell current with a reference current determines the logical bit state (in the simplest case 0 or 1). In general, a distinction can be made between single-transistor (UCP) for "Uniform Channel Program" cells and two-transistor flash memory cells (split-gate cells).

Während bei der Zweitransistor-Flashzelle die Deselektion der Zelle und die Speicherinformation von einem Transistor festgelegt werden, werden bei der Eintransistor-Zelle die Speicherinformation und die Speicherzellenauswahl von einem Gate bestimmt. Bei der Zweitransistor-Flash-Zelle ist das Auswahl-Gate von dem Speichertransistor abgekoppelt und unterdrückt zusätzlich Leckströme auf eine Bitleitung. While in the two-transistor flash cell, the deselection of the cell and the memory information from a transistor are set, in the one-transistor cell, the memory information and the memory cell selection are determined from a gate. In the two-transistor flash cell, the select gate is disconnected from the memory transistor and additionally suppresses leakage currents to a bit line.

Eine Wortleitung kann eine oder mehrere sogenannte Speicher“seiten“(Pages) aufweisen. Eine zu einer Page zusammensetzte Gruppe von Speicherinformationen entlang einer Page zeichnet sich dadurch aus, dass die Gates der Auswahltransistoren entlang der WL-Bahn parallel angesteuert werden können. Pages können entlang einer WL-Ansteuerung „verzahnt“ angeordnet sein. A wordline may have one or more so-called memory "pages". A page group of memory information along a page is characterized in that the gates of the select transistors along the WL path can be driven in parallel. Pages can be "meshed" along a WL drive.

Ein Speicherzugriff kann mittels einer so genannten „Page Address“ (Seitenadresse) addressiert sein. A memory access can be addressed by means of a so-called "page address".

Senkrecht zu den Wortleitungen WL bzw. zu den Sektoren können die Bitleitungen BL verlaufen. Eine Binärinformation einer Page kann parallel entlang der BL addressiert und bewertet sein bzw. werden. The bit lines BL can run perpendicular to the word lines WL or to the sectors. A binary information of a page may be addressed and evaluated in parallel along the BL.

Am Ende eines Sektors können die Bitleitungen, die auch als lokale Bitleitungen bezeichnet werden, auf so genannte globale Bitleitungen geschaltet werden. Die Bitleitungen können in so genannten Bewertungsverstärkerschaltungen (Sense-Amplifier, SA) enden. Die Bewertungsverstärkerschaltung SA kann den Bitstrom aus der Zelle (Icell) mit einem definierten Referenzstrom (IRef) vergleichen, wie dies in 2 veranschaulicht ist. At the end of a sector, the bitlines, also referred to as local bitlines, can be switched to so-called global bitlines. The bit lines may terminate in so-called sense amplifier circuits (SA). The evaluation amplifier circuit SA can compare the bit stream from the cell (Icell) with a defined reference current (IRef), as shown in FIG 2 is illustrated.

Ein zellindividueller Beitrag des Lese-Bitleitungsstroms kann anhand unterschiedlicher Bewertungsmethoden bewertet werden: neben einem zellenfeldumfassenden Bewerten (so genanntes IRef-Sensing) gibt es die Methoden des so genannten Differential Sensings (differenzielles Bewerten), und des Zellenfeld-individuellen Referenzzellen-Bewertens, um Zell-/BL-/WL-individuelle Unterschiede im Bewertungs-Offset zu eliminieren. A cell-individual contribution of the reading bit-line current can be evaluated by means of different evaluation methods: in addition to a cell field comprehensive assessment (so-called IRef-sensing), there are the methods of differential sensing, and of the cell-field-specific reference cell evaluation, to cell - / BL- / WL-eliminate individual differences in rating offset.

Eine Zeitdauer von dem Beginn der Wortleitungsauswahl über das Treiben der Wortleitungsspannung, das Öffnen des Transistors und Treiben der statischen Stromstärke bis zur anschließenden Bewertung im Bewertungsverstärker wird als Latenz bezeichnet. Diese Wartezeit ist im Wesentlichen durch eine RC-Zeitkonstante der Wort- und Bitleitungskapazität bestimmt. Hierbei spielt beispielsweise ein so genannter RAS-to-CAS delay (row-to-column delay, auf Deutsch Zeile-zu-Spalte-Verzögerung), welche die Zeit beschreibt, die nach der Aktivierung einer Wortleitung (activate) verstrichen sein muss, bevor ein Lesekommando (read) gesendet werden darf, eine Rolle. Der Wartezeit wird durch die Einstellung genügend vieler Wartetakte (Wait States) zwischen Datenanforderung und Bewertung Rechnung getragen. A period of time from the beginning of the word line selection via the driving of the word line voltage, the opening of the transistor and driving of the static current strength to the subsequent evaluation in the evaluation amplifier is referred to as latency. This waiting time is essentially due to an RC time constant of the word and Bit line capacity determined. Here, for example, plays a so-called RAS-to-CAS delay (row-to-column delay, in German line-to-column delay), which describes the time that must elapse after the activation of a word line (activate) before a read command (read) may be sent, a role. Waiting time is taken into account by setting enough wait clocks (wait states) between data request and rating.

Die intrinsische Wartezeit zur fehlerfreien Bewertung funktionaler Speicherzellen liegt innerhalb einer schmalen Verteilung, deren Schwankungsbreite durch die individuellen Schwankungsbreiten der Bewertungsdauer, der RC-Zeiten von BL und WL sowie der Zell-Grundprogrammierungsstärke abhängt. Jede Zelle des Zellenfeldes wird daher (nachdem alle defekten Zellen entlang von Wortleitungen und Bitleitungen mittels Redundanzersetzung eliminiert wurden) mit einem definierten (getrimmten) Satz von Betriebsparametern ausgelesen: Dazu gehören u.a. die Lesespannung an der Wortleitung VGate und die Referenzspannung IRef im Bewertungsverstärker. Je genauer die Betriebsparameter für das Löschen/Programmieren/Auslesen des Zellenfelds einstellbar sind und je geringer die Schwankungsbreite der Zell-zu-Zell-Fluktuation ist, desto mehr binär codierte Speicherzustände können in einer Speicherzelle abgelegt werden. Im Falle einer Zelle mit einem einzelnen Bewertungsniveau spricht man von einer Einzelniveauzelle (so genannte SingleLevelCell) mit den speicherbaren Zuständen 0 und 1. Im Falle von Multiniveauzellen (so genannte Multi-Level-Cells) können mehrere Bewertungsniveaus herangezogen werden, um 2-, 3- und mehrstellig binäre logische Zustände zu speichern. The intrinsic waiting time for error-free evaluation of functional memory cells lies within a narrow distribution, the fluctuation range of which depends on the individual fluctuation ranges of the evaluation duration, the RC times of BL and WL and the basic cell programming strength. Each cell of the cell array is therefore read (after eliminating all defective cells along wordlines and bitlines by redundancy replacement) with a defined (trimmed) set of operational parameters. the read voltage on the word line VGate and the reference voltage IRef in the evaluation amplifier. The more accurately the operating parameters for erasing / programming / reading the cell array are adjustable and the smaller the fluctuation range of the cell-to-cell fluctuation is, the more binary-coded memory states can be stored in a memory cell. In the case of a cell with a single rating level, this is referred to as a single level cell (so-called single level cell) with the storable states 0 and 1. In the case of multi-level cells (so-called multi-level cells), several evaluation levels can be used to determine 2, 3 - and multi-digit binary logic states store.

Mittels Fehlercodekorrektur unter Nutzung fehlerkorrigierender Codes (ECC, für Error Correcting Code) können einzelne, fehlerhaft gespeicherte oder interpretierte Zellinformationen konsistent korrigiert werden. By means of error code correction using error correcting codes (ECC, for Error Correcting Code), individual, incorrectly stored or interpreted cell information can be consistently corrected.

Eine Mächtigkeit eines verwendeten ECC-Korrekturverfahrens bestimmt, wie viele fehlerhafte Bits erkannt und korrigiert werden können. Typisch sind ECC-Verfahren, die 64 Nutzbitdaten und 8 ECCBit-Daten auf einem 72 bit ECCWort (wobei ECCWort oder ECC-Wort die Kombination von Wortdaten und ECC-Daten bezeichnet) enthalten und Einfachbitfehler (SBE, für „Single Bit Error“) korrigieren, Zweifachbitfehler (DBE, für „Double Bit Error“) erkennen können. A magnitude of a used ECC correction method determines how many erroneous bits can be detected and corrected. Typical are ECC methods that include 64 payload bit data and 8 ECC bit data on a 72 bit ECC word (where ECC word or ECC word denotes the combination of word data and ECC data) and correct single bit error (SBE) errors , Double Bit Error (DBE) for Double Bit Error.

In 4 und 5 ist die typische ECC-Korrektur, die von einer Program-Memory-Unit (PMU) ausgeführt wird, schematisch dargestellt. In 4 and 5 The typical ECC correction performed by a Program Memory Unit (PMU) is shown schematically.

Das ECC-Verfahren kann auf ECC-Wortbreite bitleitungsorientiert angewendet werden. Es können mehrere ECC-Worte auf einer Seite (Page) stehen. The ECC method can be applied to ECC word width bit line oriented. There may be several ECC words on a page.

In 6 sind verschiedene Verteilungen von ECC-Worten auf einzelne Pages dargestellt, wobei die weißen Bereiche (EW0 bis EW7) jeweils einen Datenbereich symbolisieren, die jeweils angrenzenden grauen Bereiche den zum Wort gehörenden ECC. In Ansicht 660 ist beispielsweise in einer WL ein Wort samt ECC gespeichert, in Ansicht 662 zwei ECC-Worte, in Ansicht 664 acht ECC-Worte (EW0 bis EW7 jeweils mit ECC), in Ansicht 666 ebenfalls acht ECC-Worte (auf zwei mittels derselben Wortleitung ansteuerbaren Pages jeweils die identischen Worte EW0 bis EW3 mit ECC), in Ansicht 668 vier Worte EW0 bis EW3 mit ECC, verteilt auf vier Pages. In 6 different distributions of ECC words are shown on individual pages, the white areas (EW0 to EW7) each symbolizing a data area, the adjacent gray areas respectively the ECC belonging to the word. In view 660 For example, in a WL, a word including ECC is stored in view 662 two ECC words, in view 664 eight ECC words (EW0 to EW7 each with ECC), in view 666 also eight ECC words (on two sides controllable by the same word line, the identical words EW0 to EW3 with ECC), in view 668 four words EW0 to EW3 with ECC, spread across four pages.

In 7 sind beispielhaft verschiedene Fehlermöglichkeiten, die jeweils oder in Kombination ein korrektes Abrufen von ECC-Worten beeinträchtigen können, schematisch dargestellt: Ein Wortleitungs-Treiberfehler 742, ein fehlerhaftes Öffnen 744 der WL und eine fehlerhafte Via-Strukturierung 746. In 7 By way of example, various possibilities for error, which in each case or in combination can impair a correct retrieval of ECC words are shown schematically: A word line driver error 742 , a faulty opening 744 the WL and a faulty via structuring 746 ,

Wenn durch einen WL-Ausfall die Transistoren nicht mehr aufgesteuert (d.h. zum offenen Zustand hin gesteuert) werden können, können weder die Nutz- noch die Prüfdaten aller der WL zugeordneten Pages ausgelesen werden. Die Daten entlang der WL sind aufgrund der Mehrfachfehler nicht mehr rekonstruierbar. If the transistors can no longer be turned on (i.e., driven open) by a WL failure, neither the payload nor the check data of all the pages associated with the WL can be read. The data along the WL can not be reconstructed due to multiple errors.

Um ebenfalls erkennen zu können, dass eine WL sich nicht öffnet, um fehlerbehaftete ECC-Worte zu erkennen (beispielhaft ist eine Ausfall/Lesesignatur eines 72 Bit ECC-Worts dargestellt, mit 64 Datenbits und 8 ECC-Bits: Stuck@1ECCwort: 0xFFFF_FFFF_FFFF_FFFF/0xFF), wird eine sogenannte Address-ECC-Methode angewendet. Eine Erzeugung und Überprüfung der Prüfbits im Falle von Fehlern schließt eine Adresse ein, von der die Daten gelesen werden. Auf diese Weise kann unter anderem aufgrund der ECC-Überprüfung sichergestellt sein, dass das gelesene ECCWort auch von der erwarteten Adresse gelesen wurde. In order to also be able to recognize that a WL does not open to recognize faulty ECC words (for example, a failure / read signature of a 72-bit ECC word is shown, with 64 data bits and 8 ECC bits: Stuck @ 1ECCword: 0xFFFF_FFFF_FFFF_FFFF / 0xFF), a so-called Address ECC method is used. Generation and checking of the check bits in case of errors includes an address from which the data is read. In this way it can be ensured, inter alia on the basis of the ECC check, that the read ECC word was also read from the expected address.

Wird festgestellt, dass ein ECCWort unkorrigierbare Bitfehler aufweist, muss die Software/Firmware versuchen, auf einem ihr bekannten redundanten Speicherbereich die erwarteten Daten fehlerfrei zu lesen. Umfasst eine WL zwei ECC-Worte, wie dies beispielhaft in 6 in Ansicht 662 und in 8 in Ansicht 801 dargestellt ist, bei welchem jedes der Worte (EW0, EW1) innerhalb der Wortleitung einmal redundant (als EW0‘ bzw. EW1‘) abgespeichert ist, können sich beide ECC-Worte nicht gegenseitig bzgl. eines WL Ausfalls redundant ergänzen. If it is determined that an ECC word contains uncorrectable bit errors, the software / firmware must try to read the expected data without errors on a known redundant memory area. Does a WL include two ECC words, as exemplified in 6 in view 662 and in 8th in view 801 is shown, in which each of the words (EW0, EW1) within the word line once redundantly stored (as EW0 'or EW1'), both ECC words can not complement each other redundantly with respect to a WL failure.

Mehrfach auftretenden Bitfehlern sich angrenzender physikalischer Bitleitungen kann mittels geschickten Scramblings, d.h. auf verschiedene ECC-Worte einer WL „verteilt“, begegnet werden, so dass ein „Cluster“ von Bitfehlern oder ein lokaler/globaler BL-orientierter Ausfall stets noch SBE-korrigierbar sein kann. Multiple occurring bit errors of adjacent physical bit lines can be addressed by means of skilful scramblings, ie, "distributed" to different ECC words of a WL so that a "cluster" of bit errors or a local / global BL-oriented failure will still always be SBE-correctable may,

In Ansicht 802 der 8 ist eine redundante Speicherung einer gesamten WL, die vier ECCWorte enthält (EW0 bis EW3) in einer weiteren WL mit identischer Abfolge (EW0‘ bis EW3‘) dargestellt. Dabei kann ein Software-gesteuertes Nachladen fehlerhafter ECCWorte nur für Daten sinnvoll sein, nicht für einen OpCode, denn wenn ein OpCode betroffen ist, kann dies zu einem Programmablauffehler führen, der unkorrigierbar sein kann. Daher kann es nötig sein, die Firmware bereits beim Nachladen von Code einzubeziehen. In view 802 of the 8th is a redundant storage of an entire WL containing four ECC words (EW0 to EW3) represented in another WL with identical sequence (EW0 'to EW3'). Software-controlled reloading of erroneous ECC words may only make sense for data, not for an OpCode, because if an OpCode is affected, this can lead to a program execution error that can be uncorrectable. Therefore, it may be necessary to include the firmware already while reloading code.

Allerdings kann es problematisch sein, dass der Zugriff auf eine WL in einem Sektor aufgrund des physikalischen Ansteuerungsprozess und Bewertungsverlaufs relativ zeitaufwändig ist. Möchte man für den gesamten Speicher 102 eine redundante Informationsspeicherung bereitstellen, würde dies nicht nur zu einem zusätzliche Verschaltungs- und Testaufwand führen. Auch müsste beachtet werden, dass im Falle eines fehlerhaften Zugriffs weitere Leseversuche auf anderen WLen zu einer zusätzlichen Ausleseverzögerung führen. However, accessing a WL in a sector can be problematic because of the physical driving process and evaluation history, which is relatively time consuming. Would you like for the entire memory 102 Provide redundant information storage, this would not only lead to an additional interconnection and test effort. It should also be noted that in case of an erroneous access further read attempts on other WLen lead to an additional read-out delay.

Dadurch könnte sich eine Befehlscodeabarbeitung von zu ladenden Befehlscodes (OpCodes) verzögern, was sich nachteilig in einer Abarbeitung von zeitkritischen Echtzeitanwendungen bemerkbar machen würde. This could delay instruction code execution of instruction codes (OpCodes) to be loaded, which would be detrimental to the processing of time-critical real-time applications.

Denkbar wäre, dass komplette Sektoren oder gar Flash-Module 110 (bzw. ihr Zellenfeld 102) redundant programmiert werden, um dem WL-/Sektor-/Flashmodul-Ausfall vorzubeugen. Allerdings sind typischerweise nicht alle Informationen eines Programmspeichers gleichermaßen bedeutsam und zeitkritisch in der Codeausführung. Außerdem wäre der übermäßige Speicherbedarf von Nachteil, denn Siliziumfläche ist kostbar, und ein Vermeiden von Platzverschwendung wird angestrebt. It would be conceivable that complete sectors or even flash modules 110 (or her cell field 102 ) are redundantly programmed to prevent the WL / Sector / Flash module failure. However, typically not all information in a program memory is equally significant and time-critical in code execution. In addition, the excessive storage requirements would be disadvantageous, because silicon area is precious, and a waste of space is sought.

Eine Erhöhung der (bisher häufig bereitgestellten) Ausfallsicherheit durch Korrektur von Einzelbitfehlern hin zu einer mächtigeren ECC-Korrektur (z.B. Korrektur von Zweibitfehlern oder mehr) könnte möglich sein. Hierbei wäre allerdings ein Nachteil, dass von Hause aus für ein gesamtes Flash-Modul die ECC-Wortbreite erhöht werden müsste, und dass bei einer Erstprogrammierung durch den Nutzer diese von Anfang an im vollen Umfang gegebenenfalls festgelegt und genutzt werden müsste. Die Erhöhung der ECC-Korrekturmächtigkeit wird durch parallel geschaltete BL-Pfade für ECC und Redundanz-Bits erreicht. Increasing the reliability (previously often provided) by correcting single bit errors for a more powerful ECC correction (e.g., correction of two-bit errors or more) might be possible. However, this would be a disadvantage that would have to be increased from home for an entire flash module, the ECC word width, and that in a first programming by the user from the outset in the full extent, if necessary, set and used. The increase in ECC correction power is achieved by paralleling BL paths for ECC and redundancy bits.

Die Mächtigkeit der ECC wird bestimmt von einer Zielsetzung, einen Ausfallfehler zu vermeiden, unter Einbeziehung einer (z.B. rechnerischen) Abschätzung, wie hoch die erwartete Einzelbit-(bzw. Mehrfachbit)-fehlerrate am Ende des Lebenszyklus sein wird und wie viele Bits statistisch rekonstruiert können werden müssen, um einen ECC-Wortfehler zu beheben. The power of the ECC is determined by an objective to avoid a failure error, including (eg computationally) estimating how high the expected single bit (or multiple bit) error rate will be at the end of the life cycle and how many bits can be statistically reconstructed must be to correct an ECC word error.

Ist die Mächtigkeit zu niedrig, läuft man Gefahr, im Laufe des Lebenszyklus einem Ausfallfehler zu haben. Ist die Mächtigkeit zu hoch, wurde Platz für die Siliziumherstellung verschwendet. If the power is too low, you run the risk of having a failure during the life cycle. If the power is too high, space for silicon production has been wasted.

Es gibt Möglichkeiten, eine bestimmte Anzahl von ECC-Bits für die Korrektur vorzusehen und nur ein Teil davon anfangs zu nutzen. Ist aber der Baustein aber ausgefallen, nützt die nachträgliche ECC-Bit-Breitenerweiterung nichts, weil die ECC-Bitinformation bei der Erstprogrammierung der Software im Programmspeicher des Steuergerätes bei Auslieferung gespeichert wird, und nicht während des Betriebs. There are ways to provide a certain number of ECC bits for the correction and to use only a part of them initially. However, if the device fails, the ECC bit wide extension does not help, because the ECC bit information is stored in the program memory of the controller at the time of initial programming of the software, not during operation.

In verschiedenen Ausführungsbeispielen kann einem Nutzer eine Möglichkeit einer individuellen Mehrfachspeicherung für eine Wortleitung bereitgestellt werden, deren Daten beim Zurücklesen mit erhöhter WL-Fehlertoleranz bei bekannter Leseverzögerung ermittelt werden können, ohne dass der Nutzer sich um das Konzept der fehlertoleranten Informationsverteilung zu kümmern braucht. In various exemplary embodiments, a user can be provided with a possibility of individual multiple storage for a word line, whose data can be determined when reading back with increased WL fault tolerance with known read delay, without the user having to worry about the concept of fault-tolerant information distribution.

In verschiedenen Ausführungsbeispielen können auch absolut fehlerfrei zu lesende Daten, die aus dem Konfigurationssektor (auch als Configsektor bezeichnet) beim Baustein-Booten gelesen und initialisert werden und welche die Bausteinkonfiguration absolut fehlerfrei einstellen müssen, fehlertolerant gespeichert bzw. gelesen werden. So können beispielsweise im Configsektor codierte Reparatur-Ersetzungsanweisungen mit höherer Zuverlässigkeit als mit der WL-weisen BL-Korrekturmöglichkeit gelesen werden. In various embodiments, even absolutely error-free to read data from the configuration sector (also referred to as config sector) are read and initialized during block boot and which must set the block configuration absolutely error-free, can be stored fault-tolerant or read. For example, in the config sector, encoded repair replacement instructions can be read with higher reliability than with the WL-wise BL correction capability.

In verschiedenen Ausführungsbeispielen wäre der Baustein im Falle von Configsektorfehlern auch bei WL- und mehrfach BL-Ausfall-Bedingungen zumindest startbar. In various embodiments, the block would be at least bootable in the case of Configsektorfehlern even with WL and multiple BL failure conditions.

In verschiedenen Ausführungsbeispielen kann auch der vom Nutzer nicht beschreibbare Configsektor oder können Teile des Configsektors mittels WL-redundanter Speicherung abgesichert sein. Die redundante Speicherung kann, beispielsweise einschließlich einer Nachladeanweisung, werksseitig voreingestellt sein. In various exemplary embodiments, the config sector that can not be written by the user or parts of the config sector can also be protected by means of WL-redundant storage. The redundant storage may be factory set, including, for example, a reload instruction.

In verschiedenen Ausführungsbeispielen können extrem ausfallkritische WL-Programmierungen während des Betriebs minimiert und unkompliziert abgewickelt werden. So wäre es möglich, den bei einer so genannten EEPROM Emulation im Wearout zu erwartenden Programmierausfall einer defekten WL zu begegnen. Bei der EEPROM Emulation werden im DF kontinuierlich in regelmäßigen Zeitabständen Informationen abgelegt, die zumindest fehlerfrei gelesen werden können sollten. Herkömmlich ist es demgegenüber zwar vorgesehen, einer Nichtprogrammierbarkeit einer WL auszuweichen, aber einem Leseverlust von geschriebenen Daten kann nicht begegnet werden. Auch kann versucht werden, Daten mehrmals redundant abzulegen, falls ein Lesefehler vorliegt. In various embodiments, extremely failure-critical WL programming can be minimized during operation and handled in an uncomplicated manner. Thus, it would be possible to counteract the programming failure of a defective WL which is to be expected in the case of a so-called EEPROM emulation in the wearout. With the EEPROM emulation, information is continuously stored in the DF at regular intervals, which should at least be read without errors. Conventionally, on the other hand, although it is intended to avoid non-programmability of a WL, read loss of written data can not be countered. It can also be attempted to store data redundantly several times if there is a read error.

Um einem WL-Fehler mit mehreren ECC-Worten einer WL-redundant gespeicherten Information einer Page zu begegnen, werden in verschiedenen Ausführungsbeispielen die fehlerfrei gelesenen ECC-Worte behalten und das Lesen auf einer der WL folgenden Page bzw. Pages fortgesetzt. In order to counter a WL error with several ECC words of a WL-redundantly stored information of a page, in various embodiments the error-free read ECC words are kept and the reading is continued on a page following the WL.

In verschiedenen Ausführungsbeispielen kann eine Konfiguration einer redundanten Speichertiefe beispielsweise vorkonfiguriert im Configsektor CFS abgelegt werden bzw. sein. Ferner kann im Configsektor stehen, wo die einzelnen Wortleitungs-Ersetzungen nachzuadressieren sind. Anders ausgedrückt kann im Configsektor quasi eine Redundanztabelle für die Redundanzspeicherung mit Nachladeoption abgelegt sein bzw. werden. In various embodiments, a configuration of a redundant memory depth may be stored, for example, preconfigured in the config sector CFS. It may also be in the config sector where the individual word line substitutions are to be addressed. In other words, a redundancy table for redundancy storage with a recharge option can be stored in the config sector, as it were.

In solch einer Ersetzungstabelle könnte neben der physikalischen Adresse auch die zur Verfügung gestellte Tiefe der Nachladeoption (anders ausgedrückt die Zahl redundanter Datensätze) und die dafür anzuwendende Korrekturmethode kennzeichnend abgelegt sein. In einem Extremfall können somit in der Redundanztabelle mit der Nachladeoption zwei einzelne, nicht zusammenhängende einzelne WLs mit unterschiedlicher Nachladetiefe und gleichzeitig unterschiedlicher anzuwendender Nachladekorrektur-Mächtigkeit für das redundante Programmieren und spätere Nachladen angezeigt werden. In such a replacement table, besides the physical address, the provided depth of the recharge option (in other words, the number of redundant data records) and the correction method to be used for this purpose could also be stored in a characteristic manner. In an extreme case, in the redundancy table with the reload option, two individual, non-contiguous individual WLs with different reloading depths and simultaneously different reload correction powers to be used can be displayed for the redundant programming and subsequent reloading.

In verschiedenen Ausführungsbeispielen kann der Nutzer nach einem Fehler selbst mittels eines OpCodes oder mittels einer speziellen Befehlssequenz selbst nachlesen. In various embodiments, the user may himself after an error itself by means of an Opcode or by means of a special command sequence read.

In verschiedenen Ausführungsbeispielen kann der Lesezugriff auf eine Information im Falle eines Fehlers mit den weiteren WLen fortgesetzt werden, indem mit einem neu zu definierendem Lese-Opcode (anstelle des üblichen Lese-Opcodes) auf eine lineare Einzel-WL-Adresse zugegriffen wird, von der ausgegangen wird, dass die nächste Page die redundanten Informationen enthält. In verschiedenen Ausführungsbeispielen kann Zugriff durch den Nutzer erfolgen. Der Opcode kann andeuten und anweisen, die Daten redundant nachzuladen. In various embodiments, read access to information in the event of a fault with the other WLs may be continued by accessing a single linear WL address, to be redefined (in place of the usual read opcode), from the It is assumed that the next page contains the redundant information. In various embodiments, access may be by the user. The opcode may indicate and instruct to reload the data redundantly.

In verschiedenen Ausführungsbeispielen kann der Lesezugriff auf eine Information im Falle eines Fehlers mit den weiteren WLen fortgesetzt werden, indem eine spezielle Befehlssequenz (Command-Sequence bzw. Cmd-Sequenz, wie für Löschen, Programmieren oder Protektion beim Flash üblich) verwendet wird, um von der redundanten WL-Speicherung zu lesen. In verschiedenen Ausführungsbeispielen kann Zugriff durch den Nutzer erfolgen. Die Befehlssequenz kann andeuten, dass die Daten verteilt nachgeladen werden können. In various embodiments, read access to information in the event of a fault with the other WLs may be continued by using a special command sequence (Command Sequence, as is common for erasure, programming, or protection in Flash) to move from read the redundant WL storage. In various embodiments, access may be by the user. The command sequence may indicate that the data can be reloaded distributed.

In verschiedenen Ausführungsbeispielen kann sowohl beim Verwenden des Opcodes als auch beim Verwenden der Befehlssequenz eine Speichersteuerung, z.B. ein Mikrocontroller, z.B. ein FSI, den Zugriff auf die redundant abgelegte Information steuern bzw. regeln. In various embodiments, both in using the opcode and in using the instruction sequence, memory control, e.g. a microcontroller, e.g. an FSI to control access to the redundantly stored information or regulate.

In verschiedenen Ausführungsbeispielen kann der Lesezugriff auf eine Information im Falle eines Fehlers mit den weiteren WLen fortgesetzt werden, indem ein Programmcounter automatisch von einer Speichersteuerung, z.B. einem Mikrocontroller, z.B. einem FSI, für das Nachladen auf die entsprechenden Pages geleitet wird, wenn beim Erstlesen ein unkorrigierbarer Fehler gefunden wird. In various embodiments, read access to information in the event of a fault with the other WLs may be continued by having a program counter automatically run by a memory controller, e.g. a microcontroller, e.g. an FSI for which reloading is directed to the corresponding pages if an uncorrectable error is found during initial reading.

In verschiedenen Ausführungsbeispielen kann, unabhängig davon, ob mittels eines speziellen Lese-Opcodes, mittels einer speziellen Befehlssequenz oder durch den Programmcounter bestimmt auf die redundanten Daten zugegriffen wird, das Nachladen von der Speichersteuerung bestimmt bzw. ausgeführt werden. Dabei können Details des Nachladens von der Speichersteuerung bestimmt werden bzw. sein, z.B. wie oft und welche Pages von der Speichersteuerung, z.B. der FSI, nachgeladen werden sollen, wie die Inhalte umformatiert werden müssen, und wann das Nachlesen der Information erfolgreich abgeschlossen ist. In dieser Zeit kann in verschiedenen Ausführungsbeispielen ein BUSY-Flag gesetzt bzw. die Wait-States automatisch verlängert werden. In various embodiments, regardless of whether the redundant data is determined to be accessed by means of a particular instruction sequence or by the program counter, the reloading may be determined by the memory controller. In this case, details of reloading may be determined by the memory controller, e.g. how often and which pages from the memory controller, e.g. The FSI should be reloaded, as the contents must be reformatted, and when the reading of the information is completed successfully. In this time, a BUSY flag can be set or the wait states automatically extended in various embodiments.

Im einfachsten Fall wird gemäß verschiedenen Ausführungsbeispielen im Fehlerfall eine Folge von WLen gelesen, in denen die Information komplett redundant abgelegt worden ist. Werden beispielsweise 8 WLen redundant geschrieben, könnten bis zu 7 komplette WL-Ausfälle kompensiert werden, bis in dem achten Leseversuch die WL vollständig korrekt erfasst wird. In the simplest case, a sequence of WLen is read according to various embodiments in the event of an error, in which the information has been stored completely redundant. If, for example, 8 WLs are written redundantly, up to 7 complete WL failures could be compensated until the WL is completely correctly detected in the eighth read attempt.

Einem BL-orientierten Mehrbitausfall über mehrere WLen hinweg kann in verschiedenen Ausführungsbeispielen begegnet werden, indem die ECC-Worte der WL mit einer anderen Zuordnung der jeweiligen Worte zu den Bitleitungen, beispielsweise zyklisch verschoben gespeichert abgelegt werden können. A BL-oriented multi-bit failure across several WLen can be done in different Embodiments are met by the ECC words of the WL can be stored stored with a different assignment of the respective words to the bit lines, for example, stored cyclically.

In verschiedenen Ausführungsbeispielen können bei jedem neuen Leseversuch einer Folge-WL weitere fehlerfrei gelesene ECC-Worte einem zu vervollständigenden Page-Buffer hinzugefügt werden. In various embodiments, with each new read attempt of a successor WL, further error-free read ECC words may be added to a page buffer to be completed.

Dieses Vorgehen kann in verschiedenen Ausführungsbeispielen einem einfachen 1:1 Lesen vergleichbar sein, kann aber zusätzliche Freiheitsgrade in der BL-orientierten Korrekturmöglichkeit bieten. This approach may be comparable to simple 1: 1 reading in various embodiments, but may provide additional degrees of freedom in the BL-oriented correction capability.

In verschiedenen Ausführungsbeispielen kann einem Extremfall, dass sämtliche WLen mit einem nicht korrigierbaren Mehrfachfehler behaftet sind, und dass es selbst nicht möglich wäre, korrekt ECC-Worte abschnittsweise aus den Folgeprogrammierungen (d.h. den redundanten, in ihrer Bitleitungszuordnung vertauschten Speicherungen der Information) zu ermitteln und zu einem kompletten, korrekten Seiteninhalt (auch als Page-Content bezeichnet) zusammenzufügen, vorgebeugt werden, indem anhand einer in Folge-Pages abgelegten Prüf- bzw. Korrektursignatur BL-Streifen-fein die ECC-Wort Signatur rekonstruiert wird. In various embodiments, an extreme case that all WLen are subject to a non-correctable multiple error, and that it would not be possible to correctly ECC words from the sequence programming (ie the redundant, in their bit line assignment stored information information) to determine and ECC words to prevent complete, correct page content (also referred to as page content) from being prevented by reconstructing the ECC word signature with the aid of a check or correction signature stored in sequence pages.

In verschiedenen Ausführungsbeispielen kann, wenn auf einer Page nur eine ECC-Information gespeichert ist, die redundant gespeicherte Information auf Nachbar-Pages bit-weise vertauscht, z.B. zyklisch vertauscht, programmiert vorliegen. In various embodiments, if only one ECC information is stored on a page, the redundantly stored information may be bit-wise interchanged on neighbor pages, e.g. cyclically reversed, programmed.

In verschiedenen Ausführungsbeispielen können, wenn bei einer 1ECCWort-Page-WL Speicherung der Vorteil von blockweise korrekten Pageabschnitten für die Zusammenstellung genutzt werden soll, neben der Haupt-ECC Kennzeichnung zur Korrektheit der Teilblöcke zusätzlich ECC (z.B. CRC, Cyclic Redundancy Check) Signaturen auswertbar bereitgestellt werden. In diesem Fall kann die ECC/CRC Signatur in der Page enthalten sein. In various exemplary embodiments, if the advantage of block-wise correct paging sections is to be used for the compilation in addition to the main ECC marking for the correctness of the subblocks, additionally ECC (eg CRC, Cyclic Redundancy Check) signatures can be provided evaluable in the case of a 1ECC word page WL storage become. In this case, the ECC / CRC signature may be included in the page.

In verschiedenen Ausführungsbeispielen kann die die Nutzdaten und ECC/CRC tragende Page ihre Daten redundant in Folge bitweise oder bitblockweise zyklisch permutiert gespeichert werden, und in einer oder mehreren folgenden Pages kann eine für die Bitleitung abgeleitete Signatur abgelegt werden. Auf diese Weise kann eine lokale BL-Signatur abrufbar sein, die in verschiedenen Ausführungsbeispielen auch die Bitadresse im Prüfwort enthalten kann. In various embodiments, the page carrying the payload data and ECC / CRC may be redundantly cyclically permutated sequentially bit by bit or bit-by-bit, and in one or more subsequent pages a signature derived for the bit line may be stored. In this way, a local BL signature can be retrieved, which in various embodiments can also contain the bit address in the check word.

In verschiedenen Ausführungsbeispielen kann eine bzw. jede WL-Ansteuerung genau eine Page bedienen. Dann können die Page und alle Folge-Pages von der WL-Ansteuerung getrennt und unabhängig sein. Ein WL-Fehler würde sich nur lokal auf die WL oder in Kopplung auf eine Nachbar-WL ausweiten. In einem solchen Fall kann eine pageweise redundante Speicherung genutzt werden. In various embodiments, one or each WL driver may serve exactly one page. Then the page and all subsequent pages can be separate from the WL driver and be independent. A WL error would extend only locally to the WL or into coupling to a neighbor WL. In such a case, a pagewise redundant storage can be used.

In verschiedenen Ausführungsbeispielen kann eine bzw. jede WL-Ansteuerung eine Mehrzahl von Pages, die zu einem Sektor zusammengefasst sein können, bedienen. In einem solchen Fall können alle WLen eines zu einem Sektor zusammengefassten Speicherbereichs sektor-redundant gespeichert werden. In various embodiments, an or each WL driver may serve a plurality of pages that may be grouped into one sector. In such a case, all WLen of a memory area combined to a sector can be stored sector-redundant.

In einem Fall, dass die Sektorredundanz zur Korrekturmöglichkeit von Bedeutung ist, kann in verschiedenen Ausführungsbeispielen die Information auf mehrere parallel auszulesende Sektoren verteilt sein bzw. werden. In a case that the sector redundancy is important for the possibility of correction, in various embodiments the information may be distributed among a plurality of sectors to be read out in parallel.

In verschiedenen Ausführungsbeispielen kann die pageweise redundante und BL-ECC-korrigierbare Information Speichermodulübergreifend verteilt vorliegen. Damit können alle Sektorinformationen von einer Speichermodul-Versorgung und -Ansteuerung entkoppelt sein. Anders ausgedrückt, kann die Information auch bei einem Ausfall einer Versorgung und/oder Ansteuerung eines Speichermoduls abrufbar sein. Wegen eines hohen Aktivierungsstroms, können diese verteilten Informationsspeicherungen, welche eine zusätzlich erhöhte Sicherheit bieten können, neben dem unvermeidbaren Platzverbrauch mit Performance oder Leistungseinbußen einhergehen. In various embodiments, the page-wise redundant and BL-ECC correctable information may be distributed across memory modules. Thus, all sector information may be decoupled from a memory module supply and drive. In other words, the information can also be retrievable in the event of a failure of a supply and / or activation of a memory module. Because of a high activation current, these distributed information stores, which can provide additional added security, can be associated with performance or performance degradation in addition to unavoidable space consumption.

In verschiedenen Ausführungsbeispielen kann der „einfach“ BL-ECC-geschützte Speicher um eine Möglichkeit der ganzheitlichen abgesicherten WL-BL-korrekten Speicherung von Wortleitungen optional erweiterbar sein. In various embodiments, the "simple" BL-ECC protected memory may be optionally expandable by one way of holistically securing WL-BL correct storage of word lines.

In verschiedenen Ausführungsbeispielen kann der optional betreibbare Teilspeicherbereich so konfigurierbar sein, dass dieser eine Mehrfachspeicherung zulässt, wobei gleichzeitig die z.B. lückenlose Linearität im Adressraum beibehalten wird. In various embodiments, the optionally operable sub-storage area may be configurable to permit multiple storage, wherein at the same time the e.g. continuous linearity in the address space is maintained.

In verschiedenen Ausführungsbeispielen kann der Speicherbereich des Programmspeichers an einem Adressraumende in logisch kleiner werdende Sektoren bei gleichbleibender physikalischer Größe unterteilt sein. Alternativ kann die physikalische Größe an die feste Redundanzoption angepasst sein oder werden, damit die logische erhalten bleibt. In various embodiments, the storage area of the program memory at an address space end may be divided into logically smaller sectors with the same physical size. Alternatively, the physical quantity may be or may be adapted to the fixed redundancy option to preserve the logical.

In verschiedenen Ausführungsbeispielen kann der Nutzer in diesen Programmbereich seine wichtigen sicherheitsrelevanten, WL-BL-Fehler-unempfindlichen Programm-Kernroutinen ablegen, die den sicheren Betrieb für elementar wichtige Steuerungen über die BL-ECC-Korrektur erlauben. In various embodiments, the user may deposit in this program area his important security-relevant, WL-BL error-insensitive program kernels, which allow safe operation for elementally important controls via BL-ECC correction.

In verschiedenen Ausführungsbeispielen können komplett bereits werksseitig zu schützende Sektoren beispielsweise Konfigurationssektoren oder Schlüssel-Sektoren für sicherheitsrelevante/vertrauensrelevante Datenspeicherungen aufweisen. In various embodiments, completely factory-protected sectors may include, for example, configuration sectors or key sectors for security-relevant / trust-related data storage.

In verschiedenen Ausführungsbeispielen können nachschaltbare Korrekturstufen bei EEPROM-Anwendungen genutzt werden, bei denen der Datenspeicher wissentlich an seine Grenze durch Lösch-Programmierungen gestresst wird und WL-Ausfälle mit hoher Wahrscheinlichkeit oder unausweichlich provoziert werden. In various embodiments, downstream correction stages may be used in EEPROM applications where the data storage is knowingly stressed to its limit by erase programming and WL failures are likely or inexplicably provoked.

In verschiedenen Ausführungsbeispielen kann der „einfache“ ECC-tolerante Lesezugriff (d.h. der Lesezugriff, der eine Fehlerkorrektur im Rahmen einer ECC-Mächtigkeit ermöglicht) auf diesen Speicherbereich von der FSI durch langsamere WL-fehlertolerante Mehrfachlesezugriffe ersetzt werden. Dabei kann die Mächtigkeit der zusätzlichen WL-BL-Korrektur konfigurierbar sein, und die CRC/ECC Überprüfung kann nach erfolgter Zusammenstellung der Daten über alle involvierten WLen im Nachgang durchgeführt werden. In various embodiments, the "simple" ECC tolerant read access (i.e., the read access that enables ECC kernel error correction) to that memory area may be replaced by the FSI with slower WL fault tolerant multi-read accesses. The power of the additional WL-BL correction can be configurable, and the CRC / ECC check can be carried out after compiling the data on all involved WLen afterwards.

In verschiedenen Ausführungsbeispielen kann ein unkorrigierbarer einfacher ECC-unterstützter Lesezugriff so behandelt werden, dass er nicht den Ablauf stoppt, sondern über den erfolgreichen Verlauf der (nachgeschalteten) Korrektur informiert. In various embodiments, uncorrectable simple ECC-assisted read access may be treated so that it does not stop the flow, but informs about the success of the (downstream) correction.

In verschiedenen Ausführungsbeispielen kann eine je nach Mächtigkeit der optional gewählten teil-korrekten Zusammenstellung von redundant gelesenen WL-Informationen eine Zugriffsgeschwindigkeitsreduzierung pauschal eingerechnet werden. Zumindest im Fehlerkorrekturfall kann in verschiedenen Ausführungsbeispielen eine maximal auftretende Wartezeit für den einfachen BL-Fehler-toleranten Zugriff um einen Faktor zusätzlich auszuwertender WLen verlängert werden. In various embodiments, depending on the thickness of the optionally selected partially correct compilation of redundantly read WL information, an access speed reduction can be calculated as a lump sum. At least in the error correction case, a maximum occurring waiting time for the simple BL error tolerant access can be extended by a factor of additional WLen to be evaluated in various embodiments.

Da die Prüfsummenberechnung und ggf. die ECC Korrektur in verschiedenen Ausführungsbeispielen bereits beim Zusammenstellen der Page-Information hinzugezogen werden kann, kann in den Ausführungsbeispielen die ECC-Berechnung/Überprüfung unmittelbar mittels der FSI bei der Page-Auswertung erfolgen (und nicht mittels einer Program-Memory-Unit PMU bei der Datenübermittelung). Since the checksum calculation and possibly the ECC correction in various embodiments can already be used when compiling the page information, in the exemplary embodiments the ECC calculation / checking can be carried out directly by means of the FSI during the page evaluation (and not by means of a program). Memory Unit PMU during data transmission).

In verschiedenen Ausführungsbeispielen können häufig gezykelte Schreiblese-Speicherungen in Sektoren, die zum WL Ausfall führen können, vollständig durch Nachprogrammierung bei sich andeutenden Degradationsfehlern geschützt werden. In various embodiments, frequently-written read-write memories in sectors that may lead to WL failure can be completely protected by post-programming for anticipated degradation errors.

In verschiedenen Ausführungsbeispielen wird eine Möglichkeit bereitgestellt, einem wortleitungsorientierten Fehler, der mit einem mittels ECC nicht rekonstruierbaren Verlust des programmierten Dateninhalts verbunden ist, entgegnet werden kann. In various embodiments, a possibility is provided for responding to a word line oriented error associated with a loss of the programmed data content that can not be reconstructed by ECC.

In verschiedenen Ausführungsbeispielen kann es möglich sein, besonders wichtige Informationen auf speziellen Speicherbereichen redundant und mit anpassbarer ECC-Mächtigkeit abzulegen. Dabei kann eine Mächtigkeit der redundanten Wortleitungsspeicherung adaptiv von einem Nutzer nach Bedarf bestimmt werden. Auf diese Weise können Page/WL-Daten, die von WL-Ausfällen, mehrfachen Bitleitungsbitfehlern, oder einer Kombination aus Wortleitungs- und Bitleitungsfehler betroffen sind, mittels Kombination mehrerer Pages mit angepasster Korrekturmächtigkeit gelesen werden. In various embodiments, it may be possible to store particularly important information in dedicated memory areas redundantly and with adaptive ECC power. In this case, a thickness of the redundant word line storage can be determined adaptively by a user as required. In this way, page / WL data that is affected by WL failures, multiple bitline bit errors, or a combination of wordline and bitline errors can be read by combining multiple pages with adjusted correction power.

In verschiedenen Ausführungsbeispielen kann das Verfahren sowohl bei volatilen als auch bei nicht volatilen Speicherzellenfeldern angewendet werden, vorzugsweise jedoch bei Speichern mit nichtflüchtigem Zellenfeld, insbesondere des Flash-Typs. In various embodiments, the method may be applied to both volatile and nonvolatile memory cell arrays, but preferably to nonvolatile cell array memories, particularly of the flash type.

In verschiedenen Ausführungsbeispielen kann eine Art und Weise, mit welcher WL-Korrekturmöglichkeit der Speicher Abschnittsweise beschrieben und/oder gelesen werden soll, vom Nutzer ausgewählt werden. In various embodiments, a manner by which WL correction capability the memory is to be sectioned described and / or read may be selected by the user.

In verschiedenen Ausführungsbeispielen können mit Hilfe einer Einbindung ungenutzter WL-Redundanzen auch vereinzelte WLen mit höherer Mächtigkeit abgesichert werden, ohne einen linearen Adressraum der WL-Adressierung zu stören. In various embodiments, isolated WLen can be secured with higher power by means of an integration of unused WL redundancies, without disturbing a linear address space of the WL addressing.

In verschiedenen Ausführungsbeispielen kann eine über Pages hinweg redundante Speicherung von WL-Informationen, die einzeln für sich durch ein BL-Scrambling und eine ECC-Korrektureinheit eine Prüfsignatur und Korrekturmöglichkeit von BL-orientierten Fehlern ermöglicht, bereitgestellt werden. In various embodiments, redundant storage of WL information across pages, which individually provides for BL signature checking and correction capability by BL scrambling and ECC correction unit, may be provided.

In verschiedenen Ausführungsbeispielen kann ein blockweise (und ggf. ECC-Wort-weise) korrigiertes Auslesen von Informationen, die über Pages hinweg zusammengestellt und rekonstruiert worden sein können, bereitgestellt werden. In various embodiments, a block-wise (and optionally ECC word-wise) corrected readout of information that may have been compiled and reconstructed across pages may be provided.

In verschiedenen Ausführungsbeispielen kann eine Möglichkeit bereitgestellt werden, Speicherbereiche (Sektoren) zu definieren, die eine Mehrfachspeicherung zum Zwecke der Wiederherstellbarkeit der Daten im Falle von WL-orientierten Ausfällen ermöglichen. In various embodiments, a way may be provided of defining storage areas (sectors) that enable multiple storage for recoverability of the data in the case of WL-oriented outages.

In verschiedenen Ausführungsbeispielen kann eine Möglichkeit einer Kennzeichnung einzelner Pages zur Nutzung des Redundanz-Features bereitgestellt werden, um das Nachlesen auf Redundanz-WLen in Redundanz-Sektoren durchzuführen. Durch das Nachladen aus einem abgetrennten Redundanz-Sector oder Redundanz-WL-Bereich kann der lineare Adressraum trotz Nachlese-Option gewahrt bleiben. In various embodiments, a way of labeling individual pages for utilizing the redundancy feature may be provided to perform read-only on redundancy WLs in redundancy sectors. By reloading from a separate redundancy sector or redundancy WL area, the linear address space can be maintained despite the read-in option.

In verschiedenen Ausführungsbeispielen kann eine Beibehaltung des linearen Adressraums durch Bereitstellung von abnehmend kleineren Sektoren am Ende des Zellenfeldes(z.B. Pflash) oder werksseitig für ein gesamtes Zellenfeld (Configuration-Sektor), oder optional nachschaltbar im Betrieb des Daten-Flashs (EEPROM-Emulationsbetrieb) ermöglicht werden. In various embodiments, maintaining the linear address space by providing decreasing smaller sectors at the end of the cell array (eg Pflash) or factory-wide for an entire cell array (configuration sector), or optionally downstream in the operation of the data flash (EEPROM emulation operation) become.

In verschiedenen Ausführungsbeispielen kann eine Speichersteuerung, z.B. ein Mikrocontroller, z.B. ein FSI, einen möglicherweise notwendigen Mehrfachzugriff und die hierfür notwendigen physikalisch notwendigen WL-Adresssprünge kontrollieren. In various embodiments, a memory controller, e.g. a microcontroller, e.g. an FSI, a possibly necessary multiple access and the necessary physically necessary WL address jumps control.

In verschiedenen Ausführungsbeispielen kann eine Speichersteuerung, z.B. ein Mikrocontroller, z.B. ein FSI, eine logische WL-Speichertiefe regeln. Hierbei können WL-Adressen mitunter nicht mehr 1:1 physikalisch abbildbar sein, sondern als logische WL-Adressen je nach Speicherredundanzauslegung verstanden werden. In various embodiments, a memory controller, e.g. a microcontroller, e.g. an FSI, a logical WL memory depth regulate. In this case, WL addresses can sometimes no longer be physically reproducible 1: 1, but be understood as logical WL addresses depending on the memory redundancy design.

In verschiedenen Ausführungsbeispielen kann mittels Nutzerkonfiguration eine Tiefe der Mehrfachspeicherung einstellbar sein. In various embodiments, a depth of the multiple storage can be adjustable by means of user configuration.

Die Tiefe der Mehrfachspeicherung kann in verschiedenen Ausführungsbeispielen für verschiedene Sektoren, beispielsweise einen ersten Sektor und einen zweiten Sektor, unterschiedlich hoch sein. The depth of multiple storage may be different in different embodiments for different sectors, such as a first sector and a second sector.

Beispielsweise kann einem Nutzer ermöglicht sein, die Tiefe des Nachladens während des Betriebs einzustellen, beispielsweise wenn er erkennt, dass ein Speicherbereich (z.B. Datenflash0) gegenüber einem zweiten Speicherbereich (z.B. Datenflash1) mit höherer Nachladtiefe betrieben werden sollte, weil sich hier schon Abnutzungen abzeichnen. For example, a user may be allowed to adjust the depth of reload during operation, for example, when he realizes that one memory area (e.g., data flash 0) should be operated with a higher post-load depth over a second memory area (e.g., data flash1) because signs of wear are already beginning to appear.

In verschiedenen Ausführungsbeispielen kann eine Option der zyklischen Vertauschung und Prüfsummengenerierung über Pages hinweg beim Programmieren eines zu schreibenden Page-Buffers und im gleichen Modus auslesbaren Speicherbereichs einstellbar sein. Das Erzeugen eines redundanten Pagemusters kann mit einer Befehlsabfolge (Command-Sequence) angestoßen werden, die von der FSI abgearbeitet wird. In various embodiments, an option of cyclic swap and checksum generation across pages may be adjustable in programming a page buffer to be written and a memory area that can be read in the same mode. The generation of a redundant page pattern can be initiated with a command sequence executed by the FSI.

In verschiedenen Ausführungsbeispielen kann ein abgesichertes Lesen einer Seite (Page, daher auch als Page-Read bezeichnet) im EEPROM Modus bereitgestellt werden, das mit nicht programmierbaren WL-Fehler-Signaturen unkomplizierter und benutzerfreundlicher umgehen kann. Beispielsweise braucht ein Nutzer sich nicht um das redundante Nachschreiben oder Interpretieren der fehlerhaften Daten zu kümmern. In various embodiments, secure page reading (also known as page read) may be provided in EEPROM mode that can handle non-programmable WL error signatures in a simpler and more user-friendly manner. For example, a user does not need to worry about redundantly rewriting or interpreting the erroneous data.

In verschiedenen Ausführungsbeispielen kann einem Nutzer ein dokumentierter Registersatz bereitgestellt werden, mit dem er den Speicherbereich mit optionaler WL-übergreifender Korrekturmöglichkeit in der Mächtigkeit konfigurieren kann. In various embodiments, a documented register set may be provided to a user with which he may configure the memory area with optional WL-overlapping correction capability in the width.

Die Konfiguration der Option kann in verschiedenen Ausführungsbeispielen im Config-Sector abgelegt werden. The configuration of the option can be stored in various embodiments in the Config-Sector.

In verschiedenen Ausführungsbeispielen wird ein Verfahren zum Betreiben einer Speichervorrichtung bereitgestellt. Die Speichervorrichtung kann ein Array einer Mehrzahl von Speicherzellen aufweisen, eine Mehrzahl von Wortleitungen; und eine Mehrzahl von Bitleitungen, wobei jede Wortleitung mit einer Mehrzahl von den Speicherzellen verbunden ist, wobei jede Bitleitung mit einer Mehrzahl von den Speicherzellen verbunden ist, und wobei jede der Speicherzellen mittels einer eindeutigen Kombination aus einer der Wortleitungen und einer der Bitleitungen ansteuerbar ist. Das Verfahren kann aufweisen ein erstes Speichern einer Mehrzahl von Datenelementen, die einen Datensatz bilden, in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen ersten Wortleitung angesteuert werden, so dass sich eine erste Zuordnung der Datenelemente zu den Bitleitungen ergibt, und ein zweites Speichern der Mehrzahl von Datenelementen in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen als ein erster redundanter Datensatz derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen zweiten Wortleitung angesteuert werden und bei denen die ansteuernden Bitleitungen dieselben sind wie beim ersten Speichern, so dass sich eine zweite Zuordnung der Datenelemente zu den Bitleitungen ergibt, wobei die erste Zuordnung sich von der zweiten Zuordnung unterscheidet. In various embodiments, a method of operating a memory device is provided. The memory device may include an array of a plurality of memory cells, a plurality of word lines; and a plurality of bit lines, wherein each word line is connected to a plurality of the memory cells, each bit line being connected to a plurality of the memory cells, and wherein each of the memory cells is drivable by means of a unique combination of one of the word lines and one of the bit lines. The method may comprise first storing a plurality of data elements forming a data record in the memory cells, wherein each data element of the plurality of data elements is stored in a respective memory cell of the plurality of memory cells such that the data elements of the data set are stored in memory cells be driven by a common first word line, so that there is a first assignment of the data elements to the bit lines, and a second storage of the plurality of data elements in the memory cells, each data element of the plurality of data elements in each case a separate memory cell from the A plurality of memory cells are stored as a first redundant data set such that the data elements of the data set are stored in memory cells driven by a common second wordline and in which the driving bitlines are the same as in FIG first storing, so that there is a second assignment of the data elements to the bit lines, wherein the first assignment is different from the second assignment.

In verschiedenen Ausführungsbeispielen kann das Verfahren ferner ein Speichern von Prüf-/Korrekturinformation zum Prüfen und gegebenenfalls zum Korrigieren der Datenelemente aufweisen. In various embodiments, the method may further include storing check / correction information for checking and, if necessary, correcting the data elements.

In verschiedenen Ausführungsbeispielen kann bei der zweiten Zuordnung jedes der Datenelemente einer anderen Bitleitung zugeordnet sein als bei der ersten Zuordnung. In various embodiments, in the second association, each of the data elements may be associated with a different bitline than in the first association.

In verschiedenen Ausführungsbeispielen kann bei der zweiten Zuordnung die Mehrzahl der Datenelemente zyklisch vertauscht gegenüber der ersten Zuordnung zugeordnet sein. In various embodiments, in the second assignment, the plurality of data elements may be cyclically interchanged with respect to the first assignment.

In verschiedenen Ausführungsbeispielen kann das Verfahren ferner aufweisen ein ein- oder mehrmaliges Ausführen eines weiteren Speicherns der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen als weiterer redundanter Datensatz derart, dass die Datenelemente in Speicherzellen gespeichert werden, die von einer gemeinsamen weiteren Wortleitung angesteuert werden und bei denen die ansteuernden Bitleitungen dieselben sind wie beim ersten Speichern, so dass sich eine weitere Zuordnung der Datenelemente zu den Bitleitungen ergibt, wobei die weitere Zuordnung sich von allen vorherigen Zuordnungen unterscheidet. In various exemplary embodiments, the method may further comprise a further one or more times further storing the plurality of data elements in each of its own memory cell of the plurality of memory cells as a further redundant data record such that the data elements are stored in memory cells that are shared by another Word line are driven and in which the driving bit lines are the same as in the first storage, so that there is a further assignment of the data elements to the bit lines, the further assignment is different from all previous assignments.

In verschiedenen Ausführungsbeispielen kann das Verfahren vor dem ersten Speichern ein Löschen aufweisen. Das Löschen kann eine zweite Art der Programmierung (auch als inverses Programmieren bezeichnet) darstellen. Damit kann eine Programmierfähigkeit vorbereitet werden. In various embodiments, the method may include erasing prior to the first store. The deletion may represent a second type of programming (also referred to as inverse programming). This allows a programming capability to be prepared.

In verschiedenen Ausführungsbeispielen kann das Verfahren ferner aufweisen ein Lesen des beim ersten Speichern gespeicherten Datensatzes, ein Prüfen und ggf. Korrigieren der gelesenen Datenelemente anhand der Prüf-/Korrekturinformation, in einem Fall, dass das Prüfen ergibt, dass mindestens eines der gespeicherten Datenelemente unkorrigierbar fehlerhaft ist, ein Lesen des ersten redundanten Datensatzes, und ein Prüfen und gegebenenfalls Korrigieren der Datenelemente anhand der Prüf-/Korrekturinformation. In various embodiments, the method may further comprise reading the record stored at the first save, checking and possibly correcting the read data items based on the check / correct information in a case that the check indicates that at least one of the stored data items is uncorrectably erroneous , reading the first redundant data set, and checking and possibly correcting the data elements based on the check / correct information.

In verschiedenen Ausführungsbeispielen kann das Verfahren ferner aufweisen ein Zwischenspeichern der fehlerfrei gelesenen Datenelemente vor dem Lesen des ersten redundanten Datensatzes, in einem Fall, dass das Prüfen des gelesenen ersten redundanten Datensatzes ergibt, dass mindestens eines der gespeicherten Datenelemente unkorrigierbar fehlerhaft ist, ein Prüfen, ob aus einer Kombination der fehlerfreien zwischengespeicherten Datenelemente in Kombination mit fehlerfreien Datenelementen des ersten redundanten Datensatzes der fehlerfreie Datensatz erzeugbar ist, und in einem Fall, dass der fehlerfreie Datensatz erzeugbar ist, ein Erzeugen des fehlerfreien Datensatzes. In various embodiments, the method may further comprise buffering the data elements read without error prior to reading the first redundant data set, in a case that checking the read first redundant data set indicates that at least one of the stored data elements is uncorrectably erroneous, checking whether from a combination of the error-free cached data elements in combination with error-free data elements of the first redundant data set, the error-free data set can be generated, and in a case that the error-free data set can be generated, generating the error-free data set.

In verschiedenen Ausführungsbeispielen kann das Verfahren ferner aufweisen, in einem Fall, dass der fehlerfreie Datensatz nicht erzeugbar ist, ein wiederholtes Ausführen von: Zwischenspeichern der fehlerfrei gelesenen Datenelemente, Lesen des weiteren redundanten Datensatzes; Prüfen und ggf. Korrigieren der gelesenen Datenelemente anhand der Prüf-/Korrekturinformation, und Prüfen, ob aus einer Kombination der fehlerfreien zwischengespeicherten Datenelemente in Kombination mit fehlerfreien Datenelementen des weiteren redundanten Datensatzes ein fehlerfreier Datensatz erzeugbar ist, bis der fehlerfreie Datensatz erzeugt ist oder bis eine festgelegte Höchstzahl von redundanten Datensätzen erreicht ist. In various embodiments, the method may further comprise, in a case that the error-free data set is not producible, repeatedly executing: caching the data elements read without error, reading the further redundant data set; Checking and possibly correcting the read data elements based on the check / correction information, and checking whether a combination of the error-free cached data elements in combination with error-free data elements of the further redundant data record an error-free data set can be generated until the error-free data set is generated or to one fixed maximum number of redundant data records is reached.

In verschiedenen Ausführungsbeispielen kann das Verfahren ferner vor dem zweiten Speichern ein Festlegen einer Höchstzahl von redundanten Datensätzen durch einen Nutzer aufweisen. In various embodiments, the method may further comprise, prior to the second storing, setting a maximum number of redundant data sets by a user.

In verschiedenen Ausführungsbeispielen kann das erste Speichern unter einer ersten Adresse erfolgen und das zweite Speichern an einer der ersten Adresse direkt nachfolgenden Adresse erfolgen. In various exemplary embodiments, the first storage can be carried out under a first address and the second storage can take place at an address directly following the first address.

In verschiedenen Ausführungsbeispielen kann das zweite Speichern in einen für das zweite Speichern vorbestimmten eigenen Sektor erfolgen. In various embodiments, the second storage may be done in a dedicated sector designated for the second storage.

In verschiedenen Ausführungsbeispielen wird eine Speichervorrichtung bereitgestellt. Die Speichervorrichtung kann eine Mehrzahl von Speicherzellen aufweisen, welche als ein Array von Speicherzellen gestaltet sein können, welches mittels einer Mehrzahl von Wortleitungen und einer Mehrzahl von Bitleitungen ansteuerbar sein kann, wobei jede Wortleitung mit einer Mehrzahl von den Speicherzellen verbunden sein kann, jede Bitleitung mit einer Mehrzahl von den Speicherzellen verbunden sein kann, und jede der Speicherzellen mittels einer eindeutigen Kombination aus einer der Wortleitungen und einer der Bitleitungen ansteuerbar sein kann, wobei die Speichervorrichtung eingerichtet sein kann, das Verfahren gemäß verschiedenen Ausführungsbeispielen auszuführen. In various embodiments, a memory device is provided. The memory device may comprise a plurality of memory cells, which may be configured as an array of memory cells, which may be controllable by means of a plurality of word lines and a plurality of bit lines, wherein each word line may be connected to a plurality of the memory cells, each bit line a plurality of the memory cells may be connected, and each of the memory cells may be controllable by means of a unique combination of one of the word lines and one of the bit lines, wherein the memory device may be configured to perform the method according to various embodiments.

In verschiedenen Ausführungsbeispielen kann die Speichervorrichtung einen nicht-flüchtigen Speicher aufweisen. In various embodiments, the memory device may include a non-volatile memory.

In verschiedenen Ausführungsbeispielen kann die Speichervorrichtung einen Speicher aufweisen aus einer Gruppe von Speichern, die Gruppe aufweisend einen FLASH-Speicher, einen EEPROM, einen RRAM, einen CBRAM, einen PCRAM und einen MRAM. In various embodiments, the memory device may comprise a memory of a group of memories, the group comprising a FLASH memory, an EEPROM, an RRAM, a CBRAM, a PCRAM and an MRAM.

In verschiedenen Ausführungsbeispielen kann die Mehrzahl von Datenelementen Datenelemente aus einem Configsektor aufweisen. In various embodiments, the plurality of data elements may comprise data elements from a configector.

In verschiedenen Ausführungsbeispielen kann die Speichervorrichtung einen ersten Speicherbereich zum Speichern eines ersten Datensatzes mit einer ersten Höchstzahl redundanter Datensätze aufweisen, und einen zweiten Speicherbereich zum Speichern eines zweiten Datensatzes mit einer zweiten Höchstzahl redundanter Datensätze, wobei die zweite Höchstzahl größer sein kann als die erste Höchstzahl. In various embodiments, the storage device may include a first storage area for storing a first data set having a first maximum number of redundant data sets, and a second storage area for storing a second data set having a second maximum number of redundant data sets, wherein the second maximum number may be greater than the first maximum number.

In verschiedenen Ausführungsbeispielen kann die Speichervorrichtung ferner einen Controller zum Steuern des Speicherns des Datensatzes gemäß verschiedenen Ausführungsbeispielen und zum Lesen des Datensatzes gemäß verschiedenen Ausführungsbeispielen aufweisen. In various embodiments, the memory device may further include a controller for controlling the storage of the data set according to various embodiments and for reading the data set according to various embodiments.

In verschiedenen Ausführungsbeispielen kann die Speichervorrichtung gemäß verschiedenen Ausführungsbeispielen ferner einen Zwischenspeicher zum Zwischenspeichern der fehlerfrei gelesenen Datenelemente aufweisen. In various embodiments, the memory device according to various embodiments may further include a latch for latching the data elements read without error.

In verschiedenen Ausführungsbeispielen kann das Speicherzellenarray eine Mehrzahl von Speicherzellenbereichen (Sektoren) aufweisen, wobei eine Größe der Sektoren zu einem Ende des Speicherzellenarrays hin zunehmen. In various embodiments, the memory cell array may include a plurality of memory cell areas (sectors), with a size of the sectors increasing towards an end of the memory cell array.

In verschiedenen Ausführungsbeispielen kann die Speichervorrichtung einen ersten Speicherbereich zum Speichern eines ersten Datensatzes mit einer ersten Anzahl redundanter Datensätze aufweisen und einen zweiten Speicherbereich zum Speichern eines zweiten Datensatzes mit einer zweiten Anzahl redundanter Datensätze, wobei die zweite Anzahl größer sein kann als die erste Anzahl. In various embodiments, the memory device may include a first memory area for storing a first data set having a first number of redundant data sets and a second memory area for storing a second data set having a second number of redundant data sets, wherein the second number may be greater than the first number.

In verschiedenen Ausführungsbeispielen kann die Speichervorrichtung eine in einem Configsektor des Speicherzellenarrays abgelegten Redundanznachladetabelle aufweisen, die eine individuell konfigurierbare oder werksseitig im Configsektor vorkonfigurierte Anzahl redundanter Datensätze für mindestens eine einzelne WL, für einen Teil eines Sektors oder für einen gesamten Sektor aufweist. In various embodiments, the memory device may include a redundancy reload table stored in a config sector of the memory cell array that has an individually configurable or pre-configured in the config sector redundant data sets for at least a single WL, for a portion of a sector or for an entire sector.

In verschiedenen Ausführungsbeispielen kann in der Redundanznachladetabelle ferner ein Nachladekorrekturverfahren bestimmt sein. In various embodiments, a reload correction method may be further determined in the redundancy reload table.

In verschiedenen Ausführungsbeispielen kann ein werkseitig abgesichertes Nachladen der werkseitig vorkonfigurierten Redundanznachladetabelle bereitgestellt sein zu einem korrekten Erfassen der WL- oder Sektor-individuellen Anzahl der redundanten Datensätze und von/der den Datensätzen zugewiesenen Nachladekorrekturverfahren. In various embodiments, factory-backed reloading of the factory pre-configured redundancy reload table may be provided to properly detect the WL or sector individual number of redundant data sets and reload correction methods assigned to the data sets.

Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert. Embodiments of the invention are illustrated in the figures and are explained in more detail below.

Es zeigen Show it

1A eine schematische Darstellung einer Flash-Speichereinrichtung; 1A a schematic representation of a flash memory device;

1B eine schematische Darstellung eines zeitlichen Verlaufs eines Zellstroms der Flash-Speichereinrichtung; 1B a schematic representation of a time course of a cell stream of the flash memory device;

2 eine schematische Darstellung einer Bitverteilung innerhalb eines Sektors; 2 a schematic representation of a bit distribution within a sector;

3 eine schematische Darstellung einer Einteilung eines Speichers in Sektoren; 3 a schematic representation of a division of a memory in sectors;

4 eine Veranschaulichung eines Betriebs eines Speichers; 4 an illustration of an operation of a memory;

5 eine Veranschaulichung eines Lesevorgangs bei einem Speicher; 5 an illustration of a read at a memory;

6 eine schematische Darstellung verschiedener Arten von Datenspeicherung mit ECCs; 6 a schematic representation of different types of data storage with ECCs;

7 eine Veranschaulichung verschiedener beispielhafter Fehlermöglichkeiten; 7 an illustration of various exemplary error possibilities;

8 eine Veranschaulichung zusätzlicher herkömmlicher Maßnahmen für eine erhöhte Wiederherstellungswahrscheinlichkeit korrekter Daten; 8th an illustration of additional conventional measures for an increased recovery probability of correct data;

9A bis 9C schematische Darstellungen von Verteilungen redundanter Information auf Wortleitungen und Wiederherstellung der korrekten Information gemäß verschiedenen Ausführungsbeispielen; 9A to 9C schematic diagrams of distributions of redundant information on wordlines and restoration of correct information according to various embodiments;

10A und 10B schematische Darstellungen von Verteilungen redundanter Information auf Wortleitungen gemäß verschiedenen Ausführungsbeispielen; 10A and 10B schematic diagrams of distributions of redundant information on word lines according to various embodiments;

11A und 11B einen Vergleich eines herkömmlichen Lesevorgangs und eines Lesevorgangs gemäß verschiedenen Ausführungsbeispielen bei einem Speicher; 11A and 11B a comparison of a conventional read operation and a read operation according to various embodiments in a memory;

12A und 12B einen Vergleich eines herkömmlichen Schreibvorgangs und eines Schreibvorgangs gemäß verschiedenen Ausführungsbeispielen bei einem Speicher; 12A and 12B a comparison of a conventional write operation and a write operation according to various embodiments in a memory;

13 eine schematische Darstellung für eine Verteilung redundanter Information gemäß verschiedenen Ausführungsbeispielen auf Sektoren eines Speichers; 13 a schematic representation of a distribution of redundant information according to various embodiments on sectors of a memory;

14A und 14B schematische Darstellungen zum Veranschaulichen von Sektor-Formatierungen zur Unterstützung einer redundanten WL-Speicherung mit adaptiver Korrekturmöglichkeit gemäß verschiedenen Ausführungsbeispielen; und 14A and 14B schematic diagrams illustrating sector formatting to support redundant WL storage with adaptive correction capability according to various embodiments; and

15 ein Ablaufdiagramm für ein Verfahren zum Betreiben einer Speichervorrichtung gemäß verschiedenen Ausführungsbeispielen. 15 a flowchart for a method of operating a memory device according to various embodiments.

In der folgenden ausführlichen Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die Teil dieser bilden und in denen zur Veranschaulichung spezifische Ausführungsformen gezeigt sind, in denen die Erfindung ausgeübt werden kann. In dieser Hinsicht wird Richtungsterminologie wie etwa „oben“, „unten“, „vorne“, „hinten“, „vorderes“, „hinteres“, usw. mit Bezug auf die Orientierung der beschriebenen Figur(en) verwendet. Da Komponenten von Ausführungsformen in einer Anzahl verschiedener Orientierungen positioniert werden können, dient die Richtungsterminologie zur Veranschaulichung und ist auf keinerlei Weise einschränkend. Es versteht sich, dass andere Ausführungsformen benutzt und strukturelle oder logische Änderungen vorgenommen werden können, ohne von dem Schutzumfang der vorliegenden Erfindung abzuweichen. Es versteht sich, dass die Merkmale der hierin beschriebenen verschiedenen beispielhaften Ausführungsformen miteinander kombiniert werden können, sofern nicht spezifisch anders angegeben. Die folgende ausführliche Beschreibung ist deshalb nicht in einschränkendem Sinne aufzufassen, und der Schutzumfang der vorliegenden Erfindung wird durch die angefügten Ansprüche definiert. In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. In this regard, directional terminology such as "top", "bottom", "front", "back", "front", "rear", etc. is used with reference to the orientation of the described figure (s). Because components of embodiments can be positioned in a number of different orientations, the directional terminology is illustrative and is in no way limiting. It should be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. It should be understood that the features of the various exemplary embodiments described herein may be combined with each other unless specifically stated otherwise. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

Im Rahmen dieser Beschreibung werden die Begriffe "verbunden", "angeschlossen" sowie "gekoppelt" verwendet zum Beschreiben sowohl einer direkten als auch einer indirekten Verbindung, eines direkten oder indirekten Anschlusses sowie einer direkten oder indirekten Kopplung. In den Figuren werden identische oder ähnliche Elemente mit identischen Bezugszeichen versehen, soweit dies zweckmäßig ist. As used herein, the terms "connected," "connected," and "coupled" are used to describe both direct and indirect connection, direct or indirect connection, and direct or indirect coupling. In the figures, identical or similar elements are provided with identical reference numerals, as appropriate.

9A bis 9C zeigen schematische Darstellungen 901, 902, 903 von Verteilungen redundanter Information auf Wortleitungen WL und Wiederherstellung der korrekten Information gemäß verschiedenen Ausführungsbeispielen. 9A to 9C show schematic representations 901 . 902 . 903 distributing redundant information to word lines WL and recovering the correct information according to various embodiments.

Wie in 9A dargestellt ist, kann ein Zellenfeld 102 einer Speichervorrichtung, z.B. einer volatilen (flüchtigen) oder einer nicht-volatilen (nichtflüchtigen) Speichervorrichtung, z.B. eines FLASH-Speichers, eines EEPROMs, eines RRAMs, einen CBRAMs, eines PCRAMs, eines MRAMs, oder jeder anderen geeigneten elektronischen Speichervorrichtung, z.B. Halbleiterspeichervorrichtung, gemäß verschiedenen Ausführungsbeispielen eine Mehrzahl von Speicherzellen aufweisen, welche mittels einer Mehrzahl von Wortleitungen WL0, WL1 usw. und mittels einer Mehrzahl von Bitleitungen ansteuerbar sein können. As in 9A can represent a cell field 102 a memory device, eg a volatile (volatile) or a non-volatile (non-volatile) memory device, eg a FLASH memory, an EEPROM, an RRAM, a CBRAM, a PCRAM, an MRAM, or any other suitable electronic memory device, eg semiconductor memory device, According to various embodiments, have a plurality of memory cells, which can be controlled by means of a plurality of word lines WL0, WL1, etc. and by means of a plurality of bit lines.

Dabei kann jede Wortleitung mit einer Mehrzahl von den Speicherzellen verbunden sein, jede Bitleitung mit einer Mehrzahl von den Speicherzellen verbunden sein, und jede der Speicherzellen mittels einer eindeutigen Kombination aus einer der Wortleitungen und einer der Bitleitungen ansteuerbar sein. Anders ausgedrückt kann die Mehrzahl von Speicherzellen ein Array bilden, welches mittels der Wort- und Bitleitungen ansteuerbar sein kann. Eine Ansteuerung kann (siehe dazu z.B. 11B (Ansicht 1101) und 12B (Ansicht 1201)) anhand einer für jede Speicherzelle eindeutigen Adresse mittels eines Adressdecoders 106, eines WL-Treibers 104 und eines BL-Treibers 108 erfolgen. In this case, each word line can be connected to a plurality of the memory cells, each bit line can be connected to a plurality of the memory cells, and each of the memory cells can be controlled by means of a unique combination of one of the word lines and one of the bit lines. In other words, the plurality of memory cells form an array which can be controllable by means of the word and bit lines. An activation can (see eg 11B (View 1101 ) and 12B (View 1201 )) based on an address unique for each memory cell address by means of an address decoder 106 , a WL driver 104 and a BL driver 108 respectively.

In einer Mehrzahl der Speicherzellen, welche der ersten Wortleitung WL0 zugeordnet sein können, können als Datenelemente Datenworte (hier beispielhaft vier) EW0 bis EW3 gespeichert sein. In a plurality of the memory cells, which may be associated with the first word line WL0, data words (four by way of example here) EW0 to EW3 may be stored as data elements.

Jeweils zugeordnete ECC können in an die Wortbereiche angrenzenden Bereichen 994 gespeichert sein, wobei heller dargestellte ECC-Bereiche symbolisieren, dass das zugeordnete ECC-Wort fehlerfrei oder zumindest mittels des zugehörigen ECC-Codes korrigierbar ist, dunkler dargestellte Bereiche symbolisieren, dass entweder das Wort oder der ECC-Code so fehlerbehaftet sind, dass das zugehörige Wort mittels des ECC nicht korrigierbar ist. In 9A sind beispielhaft die Worte fehlerfrei oder zumindest korrigierbar, die mit Bereichen 990 und 992 markiert sind. Each assigned ECC can be in areas adjacent to the word areas 994 be symbolized, wherein brighter represented ECC areas symbolize that the associated ECC word is error-free or at least correctable by means of the associated ECC code, darker areas symbolize that either the word or the ECC code are so buggy that the associated Word can not be corrected by means of the ECC. In 9A are exemplary the words error-free or at least correctable with areas 990 and 992 are marked.

Die Speicherzellen des Zellenfeldes 102 können ferner mittels Bitleitungen angesteuert werden, wie dies beispielsweise in 11B (Ansicht 1101) und 12B (Ansicht 1201) dargestellt ist. Die Bitleitungen können in Richtung eines angedeuteten BL-Pfads (in Richtung des Pfeils) verlaufen, in der Art, dass jede der Speicherzellen mittels einer der Wortleitungen und einer der Bitleitungen ansteuerbar ist. Dabei kann jede der Speicherzellen mittels einer eindeutigen Kombination aus Wortleitung und Bitleitung ansteuerbar sein (siehe dazu auch z.B. 16, Ansicht 1601). The memory cells of the cell field 102 can also be controlled by means of bit lines, as for example in 11B (View 1101 ) and 12B (View 1201 ) is shown. The bit lines may run in the direction of an indicated BL path (in the direction of the arrow) in such a way that each of the memory cells can be driven by means of one of the word lines and one of the bit lines. In this case, each of the memory cells can be controlled by means of a unique combination of word line and bit line (see also eg 16 , View 1601 ).

In verschiedenen Ausführungsbeispielen können, wie in 9A beispielhaft dargestellt ist, in Speicherzellen, welche einer gemeinsamen Wortleitung aus der Mehrzahl von Wortleitungen (hier der Wortleitung WL0) zugeordnet sind, als Datenelemente vier Datenwörter EW0 bis EW3 (mit ihren zugehörigen ECC-Codes) gespeichert sein. Dies kann hierin auch ausgedrückt werden als „in der WL sind vier Datenwörter gespeichert“, „entlang der WL sind vier Datenwörter gespeichert“, „die WL enthält vier Datenwörter“, oder sinngemäß entsprechende Formulierungen. Diese Speicherung der ursprünglichen Daten kann auch als erstes Speichern oder erste Speicherung bezeichnet werden. Anhand einer Zuordnung der Datenelemente zu der Mehrzahl von Bitleitungen kann eine erste Zuordnung bestimmt sein. In various embodiments, as in 9A is exemplified in memory cells which a common Word line from the plurality of word lines (here the word line WL0) are assigned to be stored as data elements four data words EW0 to EW3 (with their associated ECC codes). This can also be expressed herein as "four data words stored in the WL", "four data words stored along the WL", "the WL contains four data words", or equivalent phrases accordingly. This storage of the original data may also be referred to as first storage or first storage. Based on an assignment of the data elements to the plurality of bit lines, a first assignment may be determined.

In weiteren Datenleitungen WL1, WL2, WL3 können dieselben Datenwörter EW0, EW1, EW2, EW3 wie in WL0 als Datenelemente redundant (mit demselben Informationsgehalt) abgespeichert sein, jeweils mit zugehörigem ECC. Dies kann auch als zweites Speichern bzw. zweite Speicherung bezeichnet werden. Anhand einer Zuordnung der Datenelemente zu der Mehrzahl von Bitleitungen bei der zweiten Speicherung kann eine zweite Zuordnung bestimmt sein. In further data lines WL1, WL2, WL3, the same data words EW0, EW1, EW2, EW3 as in WL0 can be stored redundantly (with the same information content) as data elements, in each case with the associated ECC. This can also be referred to as second storage or second storage. Based on an assignment of the data elements to the plurality of bit lines in the second storage, a second allocation may be determined.

Dabei kann bei jeder der redundanten Speicherungen eine Zuordnung der Datenelemente (der Datenwörter) zu den Bitleitungen unterschiedlich sein. Zur Veranschaulichung ist eine Bitleitung BL eingezeichnet, der bei der ersten Zuordnung (in WL0) das Datenwort EW2 zugeordnet ist, bei der zweiten Zuordnung (in WL1) das Datenwort EW3, und bei weiteren Zuordnungen (in WL2 bzw. WL3) die Datenwörter EW0 bzw. EW1. Die erste und die zweite Zuordnung können also verschieden sein. Beispielsweise können, wie im Beispiel in 9A dargestellt, die Datenwörter jeweils zyklisch vertauscht gespeichert sein (EW0, EW1, EW2, EW3 in WL0, EW1; EW2, EW3, EW0 in WL1; EW2, EW3, EW0, EW1 in WL0; EW3, EW0, EW1, EW2 in WL1). In this case, an assignment of the data elements (the data words) to the bit lines may be different for each of the redundant memories. For illustration, a bit line BL is shown, which is assigned the data word EW2 in the first assignment (in WL0), the data word EW3 in the second assignment (in WL1), and the data words EW0 and WL3 in further assignments EW1. The first and the second assignment can therefore be different. For example, as in the example in 9A The data words are stored cyclically interchanged (EW0, EW1, EW2, EW3 in WL0, EW1, EW2, EW3, EW0 in WL1, EW2, EW3, EW0, EW1 in WL0, EW3, EW0, EW1, EW2 in WL1). ,

In verschiedenen Ausführungsbeispielen, z.B. wenn beim Bilden des zum jeweiligen Datenwort gehörigen ECCs die Adresse des Datenworts einbezogen ist, können die ECC bei den bzgl. der Dateninformation redundanten Speicherungen die ECC an die geänderten Adressen angepasst werden. In various embodiments, e.g. if the address of the data word is included in the formation of the ECC associated with the respective data word, the ECCs can be adapted to the changed addresses in the case of the redundant memories with regard to the data information.

In 9A, 9B und 9C sind die Felder derjenigen ECC-Codes dunkler markiert, deren zugehörige Datenwörter nicht korrigierbar fehlerhaft sind, oder bei denen ein Fehler beim ECC vorliegt. In 9A . 9B and 9C For example, the fields of those ECC codes are marked darker, whose associated data words are uncorrectably erroneous, or which have an ECC error.

In 9A sind alle Wortleitungen und alle Bitleitungen funktionstüchtig, jedoch liegen in WL0, WL1, WL3, BL0, BL2 und BL3 jeweils bei mindestens einem Datenwort (bei jeweils drei Datenwörtern) nicht korrigierbare Fehler vor. In 9A If all word lines and all bit lines are functional, however, uncorrectable errors are present in WL0, WL1, WL3, BL0, BL2 and BL3 for at least one data word (for every three data words).

In verschiedenen Ausführungsbeispielen kann beim Lesen der entlang der WL0 abgespeicherten Datenwörter EW0 bis EW3 erkannt werden, dass zumindest eines der Datenwörter (hier beispielhaft drei, nämlich EW0, EW2 und EW3) mindestens einen nicht korrigierbaren Fehler aufweist. In various embodiments, when reading the data words EW0 to EW3 stored along the WL0, it can be recognized that at least one of the data words (in this case three, namely EW0, EW2 and EW3) has at least one non-correctable error.

Dann kann in verschiedenen Ausführungsbeispielen der Lesezugriff mit den weiteren WLen (hier z.B. WL1, WL2, WL3) fortgesetzt werden, z.B. indem mit einem neu zu definierendem Lese-Opcode auf eine lineare Einzel-WL-Adresse zugegriffen wird, von der ausgegangen wird, dass die nächste Page (hier WL1) die redundanten Informationen enthält. In verschiedenen Ausführungsbeispielen kann Zugriff durch den Nutzer erfolgen. Then, in various embodiments, read access may be continued with the other WLs (here, e.g., WL1, WL2, WL3), e.g. by accessing, with a read-opcode to be redefined, a single linear WL address, which is assumed to contain the redundant information of the next page (here WL1). In various embodiments, access may be by the user.

In verschiedenen Ausführungsbeispielen kann der Lesezugriff auf die Information im Falle des Fehlers mit den weiteren WLen fortgesetzt werden, indem eine spezielle Befehlssequenz verwendet wird, um von der redundanten WL-Speicherung, z.B. in WL1, zu lesen. In verschiedenen Ausführungsbeispielen kann der Zugriff durch den Nutzer erfolgen. In various embodiments, the read access to the information in the event of failure with the other WLs may be continued by using a special instruction sequence to extract from the redundant WL storage, e.g. in WL1, read. In various embodiments, access may be by the user.

In verschiedenen Ausführungsbeispielen kann der Lesezugriff auf die Information im Falle des Fehlers mit den weiteren WLen fortgesetzt werden, indem ein Programmcounter automatisch von einer Speichersteuerung, z.B. einem Mikrocontroller (z.B. einem FSI), für das Nachladen auf die entsprechenden Pages geleitet wird. In various embodiments, the read access to the information in the event of failure may be continued with the further WLen by a program counter automatically from a memory controller, e.g. a microcontroller (e.g., an FSI) for reloading to the appropriate pages.

In verschiedenen Ausführungsbeispielen kann, unabhängig davon, ob mittels Lese-Opcode, mittels Befehlssequenz oder durch den Programmcounter bestimmt auf die redundanten Daten zugegriffen wird, von einer Speichersteuerung 112, z.B. einem Mikrocontroller (z.B. einem FSI; in 9A nicht dargestellt, aber siehe z.B. 11B, 12B, Ansichten 1101 bzw. 1201, wobei 11B den Lesezugriff veranschaulicht, 12B den entsprechenden Schreibvorgang) bestimmt werden, wie oft und welche Pages von der Speichersteuerung 112 nachgeladen werden sollen, wie die Inhalte umformatiert werden müssen, und wann das Nachlesen der Information erfolgreich abgeschlossen. In dieser Zeit kann in verschiedenen Ausführungsbeispielen ein BUSY-Flag gesetzt bzw. Wait-States automatisch verlängert werden. In various embodiments, regardless of whether the redundant data is determined by means of a read opcode, by means of a command sequence or determined by the program counter, a memory controller is used 112 , eg a microcontroller (eg an FSI; 9A not shown, but see eg 11B . 12B , Views 1101 respectively. 1201 , in which 11B illustrates read access 12B the appropriate write), how often and which pages from the memory controller 112 should be reloaded, as the contents must be reformatted, and when the reading of the information completed successfully. During this time, in various embodiments, a BUSY flag can be set or wait-states can be automatically extended.

Im Beispiel aus 9A würde beim dritten Lesezugriff (beim Lesen von WL2) der korrekte Inhalt abgerufen, denn alle in WL2 gespeicherten Datenwörter (in der Reihenfolge EW2, EW3, EW0 und EW1) sind entweder korrekt oder zumindest anhand des zugehörigen ECC korrigierbar. In the example off 9A would retrieve the correct content on the third read access (when reading WL2), because all data words stored in WL2 (in the order EW2, EW3, EW0 and EW1) are either correct or at least correctable by the associated ECC.

In 9B ist dasselbe Speichermuster verwendet wie in 9A. Hier kann der Fehler allerdings eine gesamte WL (WL0, wie anhand des Blitzsymbols dargestellt ist) betreffen. Auch hier können die Daten, ebenso wie im Zusammenhang mit 9A beschrieben, mittels eines Lesezugriffs auf die redundant gespeicherten Daten, korrekt abgerufen werden, beispielsweise aus WL1, in welcher, wie mittels der Markierung 992 angedeutet ist, alle Datenworte zumindest mittels Korrigierens mittels des jeweils zugehörigen ECCs korrekt abrufbar sind. In 9B the same memory pattern is used as in 9A , Here is the error, however an entire WL (WL0, as indicated by the lightning bolt symbol). Again, the data, as well as related 9A described, by means of a read access to the redundantly stored data, retrieved correctly, for example from WL1, in which, as by means of the marker 992 is indicated, all data words are at least correct by means of the respective associated ECCs correctly retrieved.

In 9C ist dasselbe Speichermuster verwendet wie in 9A. Hier kann der Fehler mehrere Bitleitungen (bzw. zugeordnete Bewertungsverstärkerschaltungen SA, welche jeweils von 0 bis 71 nummeriert sind) betreffen, wie anhand des Blitzsymbols dargestellt ist. In 9C the same memory pattern is used as in 9A , Here, the error may involve a plurality of bit lines (or associated evaluation amplifier circuits SA numbered 0 to 71, respectively) as indicated by the lightning symbol.

Auch hier kann mittels eines Lesezugriffs auf die redundant gespeicherten Daten, z.B. wie im Zusammenhang mit 9A beschrieben, korrekte Information abgerufen werden. Here too, by means of a read access to the redundantly stored data, for example as in connection with 9A described, correct information can be retrieved.

Anders als im Zusammenhang mit 9A und 9B beschrieben kann hierbei jedoch nicht der gesamte korrekte Dateninhalt der WL0 aus dem Inhalt einer einzigen anderen redundanten WL bereitgestellt werden, denn beim jeweils ersten und letzten Datenwort der WL0 bis WL3 können beispielhaft zwei Bitleitungen gestört sein (wie anhand des Blitzsymbols dargestellt ist), was mittels der beispielhaften 1-bit-korrigierenden ECC nicht korrigierbar ist), beim jeweils dritten Datenwort kann ein Bitleitungsfehler beim Datenwort vorliegen, welches aber wegen einer fehlerhaften, den zugehörigen ECC betreffenden Bitleitung ebenfalls nicht korrigierbar ist. Unlike in connection with 9A and 9B However, in this case the entire correct data content of WL0 can not be provided from the content of a single other redundant WL, because in the first and last data word of WL0 to WL3, for example, two bit lines may be disturbed (as illustrated by the lightning symbol), which means the example 1-bit correcting ECC is not correctable), the third data word may have a bit line error in the data word, which is also due to a faulty, the corresponding ECC bit line is also not correctable.

Hier kann, beispielsweise mittels der Speichersteuerung 112, z.B. des Mikrocontrollers, z.B. des FSI, z.B. wie in 11B (Ansicht 1101) dargestellt ist (12B (Ansicht 1201) zeigt den entsprechenden Schreibvorgang), nach dem Lesezugriff eine ECC-Korrektur durchgeführt werden (und nicht, wie üblicherweise, mittels der PMU, wie in 11A (Ansicht 1100) bzw. 12A (Ansicht 1200) dargestellt). Dies ermöglicht, einzelne korrekte Datenwörter in einem Zwischenspeicher (z.B. der PMU) zwischenzuspeichern, und so mittels mehrerer aufeinanderfolgender Lesezugriffe den gesamten korrekten ursprünglichen Dateninhalt (z.B. die Daten EW0 bis EW3) zusammenzustellen. Here can, for example by means of memory control 112 , eg of the microcontroller, eg of the FSI, eg as in 11B (View 1101 ) is shown ( 12B (View 1201 after the read access, an ECC correction is made (and not, as usual, by means of the PMU, as in 11A (View 1100 ) respectively. 12A (View 1200 ). This makes it possible to buffer individual correct data words in an intermediate memory (eg the PMU), and thus to assemble the entire correct original data content (eg the data EW0 to EW3) by means of several consecutive read accesses.

Dabei kann der Zwischenspeicher (auch als Buffer bezeichnet) so lange mit einzelnen korrekten Datenwörtern gefüllt werden und nachfolgende Lesezugriffe ausgeführt werden, bis eine Bewertung, z.B. mittels der Speichersteuerung, z.B. des Mikrocontrollers, z.B. des FSI, ergibt, dass ein kompletter vollständiger Datensatz erzeugt wurde. In this case, the buffer (also referred to as buffer) can be filled with individual correct data words and subsequent read accesses are carried out until a rating, e.g. by means of the memory controller, e.g. of the microcontroller, e.g. FSI results in a complete complete record being created.

Alternativ oder zusätzlich kann in verschiedenen Ausführungsbeispielen vor dem Lesezugriff, z.B. beim Speichern, eine Maximalzahl von Lesezugriffen (welche beispielsweise einer Zahl von redundanten Speicherungen entsprechen kann) festgelegt werden, so dass maximal die vorbestimmte Maximalzahl von Lesezugriffen erfolgen kann. Alternatively or additionally, in various embodiments, prior to read access, e.g. when storing, a maximum number of read accesses (which may correspond, for example, a number of redundant memories) are set so that a maximum of the predetermined maximum number of read accesses can be made.

In verschiedenen Ausführungsbeispielen, beispielsweise wenn ein Bereitstellen der gelesenen Dateninhalte, zu einem vorbestimmten Zeitpunkt zu erfolgen hat, kann eine Wartezeit (auch als Wait State bezeichnet) eingerichtet sein, welche so angepasst sein bzw. werden kann, dass die korrekt gelesenen/zusammengestellten Dateninhalte erst nach Ablauf der Zeit bereitgestellt werden, zu welcher die Daten nach Abarbeiten der Maximalzahl von Lesezugriffen bereitgestellt werden könnte, selbst wenn die korrekten Dateninhalte bereits nach weniger Lesezugriffen verfügbar wären. In various exemplary embodiments, for example when provision of the read data contents has to take place at a predetermined point in time, a waiting time (also referred to as wait state) can be set up which can be adapted such that the correctly read / compiled data contents only become available be provided after the time at which the data could be provided after processing the maximum number of read accesses, even if the correct data contents would already be available after fewer read accesses.

10A und 10B zeigen schematische Darstellungen 1000, 1001 von Verteilungen redundanter Information für Datenwörter EW0 bis EW3 auf Wortleitungen WL0 bis WL63 gemäß verschiedenen Ausführungsbeispielen. Dabei kann ein dem im Zusammenhang mit 9A bis 9C erläuterten Prinzip des vertauschten Speicherns von Datenelementen angewendet werden. 10A and 10B show schematic representations 1000 . 1001 distributions of redundant information for data words EW0 to EW3 on word lines WL0 to WL63 according to various embodiments. It can be a related to 9A to 9C explained principle of exchanged storage of data elements are applied.

Im Unterschied zu 9A bis 9C können in 10A allerdings einzelne Bits der jeweiligen Datenwörter EW0 bis EW3 die Datenelemente bilden, die beim redundanten Speichern (z.B. zyklisch) vertauscht gespeichert werden. In contrast to 9A to 9C can in 10A However, individual bits of the respective data words EW0 to EW3 form the data elements that are stored reversed during redundant storage (eg cyclically).

Für jedes der Datenwörter EW0 bis EW3 ist in jeder der dargestellten Wortleitungen WL0 bis WL63 ein Bit markiert, welches jeweils einer gemeinsamen Bitleitung zugeordnet ist. For each of the data words EW0 to EW3, a bit is marked in each of the illustrated word lines WL0 to WL63, which is in each case assigned to a common bit line.

In dem Ausführungsbeispiel aus 10A kann somit beispielsweise in der ersten Wortleitung WL0 aus dem Datenwort EW0 das Bit Nr. 62 der Bitleitung BL63 zugeordnet sein, in der zweiten Wortleitung WL1 das Bit Nr. 63 aus dem Datenwort EW0, in der dritten Wortleitung WL2 das Bit Nr. 0 aus dem Datenwort EW0, usw. In the embodiment 10A Thus, for example, bit No. 62 of bit line BL63 may be assigned in first word line WL0 from bit data EW0, bit No. 63 from data word EW0 in second word line WL1, bit number 0 from third word line WL2 Data word EW0, etc.

In verschiedenen Ausführungsbeispielen, beispielsweise wenn der ECC 1-Bit-fehlerkorrigierend und 2-Bit-fehlererkennend ist, und z.B. die fehlerhaften Bits identifiziert werden können, können die korrekt gelesenen Bits, ähnlich dem oben ausgeführten Beispiel, in dem korrekt gelesene Wörter zwischengepseichert werden, in den Zwischenspeicher geschrieben, der beim Lesen der nächsten Wortleitung weiter mit korrekt gelesenen Bits gefüllt wird. Das Lesen kann mit neuen Wortleitungen so lange fortgesetzt werden, bis alle Bits von allen Wörtern korrekt gelesen wurden, oder bis eine vorbestimmte Höchstzahl von Lesezugriffen (die einer Höchstzahl redundanter Speicherungen entsprechen kann) erreicht ist. In various embodiments, for example, if the ECC is 1-bit error correcting and 2-bit error detecting, and, for example, the erroneous bits can be identified, the correctly read bits, similar to the example set forth above, can be pinned in the correctly read words, is written to the buffer, which is further filled with correctly read bits when reading the next word line. The reading can be continued with new word lines until all bits of all words have been read correctly, or until a predetermined maximum number of read accesses (which may correspond to a maximum number of redundant stores) has been reached.

In verschiedenen Ausführungsbeispielen kann, wie in 10B dargestellt, ein Wort als eine Mehrzahl von Teilworten TW gespeichert sein. Eine Zuordnung der Teilwörter zu Bitleitungen kann bei redundanten Speicherungen in unterschiedlichen Wortleitungen verschieden sein. Im in 10B dargestellten Beispiel kann eine beispielhafte Bitleitung BL beispielsweise in der WL0 einem Bit des Teilworts TW1 zugeordnet sein, in der WL1 einem Bit des TW2, in der Wortleitung WL2 einem Bit des TW3 und in der WL3 einem ECC der Teilworte TW1, TW2 und TW3. Das heißt, der ECC-Wert im vierten Teilwort kann eine ECC-Bewertung der vorausgegangenen Teilworte der entsprechenden TW-Spalte aufweisen. In various embodiments, as in 10B illustrated, a word may be stored as a plurality of partial words TW. An assignment of the partial words to bit lines may be different for redundant memories in different word lines. Im in 10B For example, an exemplary bit line BL may, for example, be assigned to one bit of the partial word TW1 in the WL0, one bit of the TW2 in the WL1, one bit of the TW3 in the word line WL2 and one ECC of the partial words TW1, TW2 and TW3 in the WL3. That is, the ECC value in the fourth subword may have an ECC rating of the preceding subwords of the corresponding TW column.

In verschiedenen Ausführungsbeispielen kann eine ECC-Berechnung über einen größeren WL-Bereich mit einer größeren Mächtigkeit erfolgen als nur für eine einzelne alleine. Beispielsweise könnten 4 × 64Bit und 24Bit ECC auch mit 3 × 64Bit und 1 × 64 Zusatz ECC, oder mit 2 × 64 Daten und 2 × Zusatz ECC neben den 24 regulären ECC Bits je 280 Bit ECCWort gespeichert werden. In various embodiments, ECC calculation may be done over a larger WL range of greater thickness than just for a single one alone. For example, 4 × 64 bit and 24 bit ECC could also be stored with 3 × 64 bit and 1 × 64 ancillary ECC, or with 2 × 64 data and 2 × ancillary ECC in addition to the 24 regular ECC bits per 280 bit ECC word.

Auch bei Aufteilung von Wörtern in Teilwörter können, wie oben für die Wörter und die Bits beschrieben, die korrekt gelesenen bzw. zumindest korrigierbaren Teilwörter TW in einem Zwischenspeicher vor jedem neuen Lesezugriff zwischengespeichert werden, bis alle Teilwörter korrekt gelesen wurden, oder bis eine festgelegte Maximalzahl von Lesezugriffen erreicht ist. Dabei kann die Teilwort-ECC (z.B. TW_ECC1) über alle Teilwörter TW einer Spalte gebildet sein. Dabei kann die festgelegte Maximalzahl von Lesezugriffen der Zahl redundanter Speicherungen entsprechen. Also, when dividing words into subwords, as described above for the words and the bits, the correctly read or at least correctable subwords TW can be cached in a buffer before each new read access until all subwords have been read correctly, or until a fixed maximum number of read accesses. In this case, the subword ECC (e.g., TW_ECC1) may be formed over all the subwords TW of a column. In this case, the specified maximum number of read accesses can correspond to the number of redundant storages.

11A und 11B zeigen einen Vergleich eines herkömmlichen Lesevorgangs (in 11A) und eines Lesevorgangs gemäß verschiedenen Ausführungsbeispielen bei einem Speicher (in 11B). 11A and 11B show a comparison of a conventional reading (in 11A ) and a read operation according to various embodiments at a memory (in 11B ).

Teile der Speichervorrichtung, Vorgänge usw. können ähnlich oder identisch zu denen sein, die im Zusammenhang mit anderen Ausführungsbeispielen erläutert wurden. Portions of the storage device, operations, etc., may be similar or identical to those discussed in connection with other embodiments.

In verschiedenen Ausführungsbeispielen kann eine Speichersteuerung 112, z.B. ein FSI, mittels eines Adressendecoders 106 die einer vorgegebenen Adresse zugeordnete WL mittels eines WL-Treibers 105 und die zugeordnete BL mittels eines BL-Treibers ansteuern zum Ausgeben der in der adressierten Speicherzelle gespeicherten Information an einen Bewertungsverstärker SA und von dort – unkorrigiert und einschließlich möglicherweise vorhandener ECC-Informationen – an die Speichersteuerung 112. In various embodiments, a memory controller 112 , eg an FSI, by means of an address decoder 106 the WL assigned to a given address by means of a WL driver 105 and drive the associated BL by means of a BL driver to output the information stored in the addressed memory cell to an evaluation amplifier SA and from there - uncorrected and possibly including ECC information - to the memory controller 112 ,

In verschiedenen Ausführungsbeispielen können mittels der Speichersteuerung 112 aus den unkorrigierten Daten mittels der ECC-Information korrigierte Datenwörter EW0, EW1, usw. des Datensatzes erzeugt werden und gegebenenfalls, z.B. wenn kein vollständiger korrekter Datensatz gelesen wurde, können zumindest bereits korrekt gelesene Teile des Datensatzes in einem Zwischenspeicher, der beispielsweise Teil der Speichersteuerung 112 sein oder mit der Speichersteuerung 112 verbunden sein kann, gespeichert werden, bis ein vollständiger korrekter Datensatz vorliegt. Ein solcher Prozess kann bei einem herkömmlichen Lesevorgang fehlen. In various embodiments, by means of the memory controller 112 from the uncorrected data by means of the ECC information corrected data words EW0, EW1, etc. of the data record are generated and optionally, for example, if no completely correct record was read, at least already read correctly parts of the record in a cache, for example, part of the memory control 112 be or with the memory controller 112 be stored until a complete correct record is present. Such a process may be missing in a conventional read operation.

In verschiedenen Ausführungsbeispielen kann die Speichersteuerung 112, die so eingerichtet ist, dass sie ein Lesen (und ein Schreiben) redundant in verschiedenen WLen vertauscht gespeicherter Datensätze unterstützt, veranlassen, dass bei zumindest teilweise (unkorrigierbar) fehlerhaft gelesenem Datensatz redundant gespeicherte Information abgerufen wird. In various embodiments, the memory controller 112 , which is arranged to support a read (and a write) of redundantly stored data sets exchanged in different WLs, cause redundantly stored information to be retrieved if at least partially (uncorrectably) erroneously read data record is retrieved.

In verschiedenen Ausführungsbeispielen kann dafür ein Programmzähler so gesetzt werden, dass beim Hochzählen des Programmzählers der nächste Lesezugriff automatisch auf eine Page mit redundanter Information zugreift. Alternativ oder zusätzlich kann ein Lese-Opcode genutzt werden, der auf eine lineare Einzel-WL-Adresse zugreift, von der ausgegangen wird, dass die dort abgerufene Page die redundanten Daten enthält. Ferner kann alternativ oder zusätzlich eine spezielle Befehlssequenz (Command-Sequence) genutzt werden, um den Lesezugriff auf die redundanten Daten bei Vorliegen eines unkorrigierbaren Fehlers in den bereits gelesenen Daten zu ermöglichen. In various embodiments, a program counter can be set for such that when the program counter is incremented, the next read access automatically accesses a page with redundant information. Alternatively or additionally, a read opcode may be used which accesses a single linear WL address, which is assumed to contain the redundant data retrieved page. Furthermore, alternatively or additionally, a special command sequence (command sequence) can be used to allow the read access to the redundant data in the presence of an uncorrectable error in the already read data.

Die redundant gespeicherten Daten, die in verschiedenen Ausführungsbeispielen wie oben beispielsweise im Zusammenhang mit 9A bis 9C, 10A und 10B erläutert gebildet sein können, können beispielsweise in benachbarten Wortleitungen, in einem redundanten WL-Sektor oder einem speziell dafür vorgesehenen Sektor gespeichert sein. The redundantly stored data used in various embodiments as above, for example, in connection with 9A to 9C . 10A and 10B may be formed, for example, may be stored in adjacent word lines, in a redundant WL sector, or in a dedicated sector.

In verschiedenen Ausführungsbeispielen kann der erneute Lesezugriff so häufig erfolgen, bis entweder ein vollständiger korrekter Datensatz vorliegt, oder bis eine vorbestimmte Maximalzahl von Lesezugriffen erfolgt ist. In various embodiments, the re-read access may occur so frequently until either a complete correct record is present or until a predetermined maximum number of read accesses has occurred.

Die Maximalzahl von Lesezugriffen kann in verschiedenen Ausführungsbeispielen so bestimmt sein oder werden, z.B. durch den Nutzer, dass sie der Anzahl der redundanten Speicherungen entspricht. In Ausführungsbeispielen kann die Maximalzahl auch zu einem Zahlenwert bestimmt werden oder sein, der kleiner ist als die Anzahl der redundanten Speicherungen, beispielsweise um eine Geschwindigkeit zu erhöhen (z.B. in einem Fall, dass Daten gelesen werden, die für einen Betrieb der Speichervorrichtung oder damit verbundener Einrichtungen unkritisch sind). The maximum number of read accesses may be or may be determined in various embodiments, eg by the user, that they are the Number of redundant memories corresponds. In embodiments, the maximum number may also be determined to be a numerical value less than the number of redundant memories, for example, to increase speed (eg, in a case of reading data associated with operation of the memory device or its associated Facilities are not critical).

In verschiedenen Ausführungsbeispielen kann der gelesene Datensatz von der Speichersteuerung 114 an die PMU 1110 weitergegeben werden, wo in manchen Ausführungsbeispielen eine weitere ECC-Korrektur ausgeführt werden kann. In various embodiments, the read record may be from the memory controller 114 to the PMU 1110 where in some embodiments another ECC correction may be performed.

Von der PMU kann der (ggf. ein zweites Mal korrigierte) Datensatz in verschiedenen Ausführungsbeispielen an einen Zentralprozessor 114 (die CPU) weitergegeben werden. From the PMU the (possibly corrected a second time) record in various embodiments to a central processor 114 (the CPU) are passed.

12A und 12B zeigen einen Vergleich eines herkömmlichen Schreibvorgangs und eines Schreibvorgangs gemäß verschiedenen Ausführungsbeispielen bei einem Speicher. 12A and 12B FIG. 12 shows a comparison of a conventional write operation and a write operation according to various embodiments in a memory.

Dabei kann der in 12B dargestellte Schreibvorgang gemäß verschiedenen Ausführungsbeispielen im Wesentlichen ein umgekehrter Vorgang zum in 11B dargestellten Lesevorgang sein. Teile der Speichervorrichtung, Vorgänge usw. können ähnlich oder identisch zu denen sein, die im Zusammenhang mit anderen Ausführungsbeispielen erläutert wurden. Here, the in 12B illustrated write operation according to various embodiments, essentially a reverse process to in 11B be shown reading. Portions of the storage device, operations, etc., may be similar or identical to those discussed in connection with other embodiments.

In verschiedenen Ausführungsbeispielen kann ein Datensatz der PMU 1110 von der CPU 114 bereitgestellt sein oder werden. In der PMU kann dem Datensatz Prüf-/Korrekturinformation (z.B. in Form eines ECC) hinzugefügt werden. Der Datensatz mit der ECC-Information kann als ECCWörter bezeichnet werden. In various embodiments, a record of the PMU 1110 from the CPU 114 be or be provided. In the PMU test / correction information (eg in the form of an ECC) can be added to the data record. The ECC information record may be referred to as ECC words.

In verschiedenen Ausführungsbeispielen kann die Speichersteuerung 112 die ECC-Wörter von der PMU 1110 abrufen, beispielsweise mittels eines Kommandosequenz-Zugriffs, der von einem Zwischenspeicher unterstützt sein oder werden kann. In various embodiments, the memory controller 112 the ECC words from the PMU 1110 retrieve, for example by means of a command sequence access, which may be or may be supported by a cache.

In verschiedenen Ausführungsbeispielen kann die Speichersteuerung 112 den ursprünglichen Datensatz, z.B. die ECCWörter, wie gewöhnlich (z.B. wie in 12A dargestellt) speichern. In various embodiments, the memory controller 112 the original data set, eg the ECC words, as usual (eg as in 12A shown).

In verschiedenen Ausführungsbeispielen kann die Speichersteuerung 112 eingerichtet sein, den Datensatz für das redundante Speichern aufzubereiten, beispielsweise um den Datensatz als Datenworte mit jeweils einem ECC pro Datenwort (wie z.B. in 9A bis 9C dargestellt), als Datenbits mit zugeordnetem ECC (was in 12B und z.B. in 10A dargestellt ist), oder z.B. als Teilwörter (wie z.B. in 10B dargestellt) zu speichern. In various embodiments, the memory controller 112 be set up to prepare the record for the redundant storage, for example, the data record as data words with one ECC per data word (such as in 9A to 9C shown) as data bits with associated ECC (which is shown in FIG 12B and eg in 10A is shown), or as subwords (such as in 10B shown).

Für das redundante Speichern kann der Datensatz in seiner Abfolge, in welcher er auf einer Page gespeichert werden kann, geändert werden, beispielsweise permutiert, z.B. zyklisch verstauscht. For redundant storage, the record may be changed in its sequence in which it can be stored on a page, for example permuted, e.g. cyclically interrogated.

Sofern beim Erzeugen der ECC-Information eine absolute (z.B. bei Einbeziehung der Adresse) oder eine relative (z.B. in Bezug auf die anderen Datenwörter) Positionierung des Datensatzes oder der Datenelemente einen Einfluss haben kann, können diese beim Bilden der ECC-Information, z.B. mittels der Speichersteuerung 112 berücksichtigt werden. If, during the generation of the ECC information, an absolute (eg when the address is included) or a relative (eg with respect to the other data words) positioning of the data set or data elements can have an influence, these can be used to form the ECC information, eg by means of the memory controller 112 be taken into account.

Mittels des Adressdecoders 106, des BL-Treibers 108 und des WL-Treibers 104 können die redundanten Daten dann in für die redundante Datenspeicherung entlang Wortleitungen für die redundante Speicherung (auf zugeordneten Pages) gespeichert werden, wobei die Zuordnung der Pages wie oben beschrieben erfolgen kann. By means of the address decoder 106 , the BL driver 108 and the WL driver 104 For example, the redundant data may then be stored in redundant storage (for associated redundant storage) word lines for redundant data storage, where the assignment of the pages may be as described above.

13 zeigt eine schematische Darstellung 1300 für eine Verteilung redundanter Information gemäß verschiedenen Ausführungsbeispielen auf Sektoren eines Speichers. 13 shows a schematic representation 1300 for distributing redundant information according to various embodiments to sectors of a memory.

Ein Aufbau des Speichers in 13 kann im Wesentlichen ähnlich dem in 3 dargestellten Speicher sein. A construction of the memory in 13 can be substantially similar to the one in 3 be shown memory.

Allerdings können der Speicher und die Speichersteuerung, z.B. die FSI, in verschiedenen Ausführungsbeispielen so eingerichtet sein, dass ein Grad einer Redundanz konfigurierbar sein kann, beispielsweise konfigurierbar durch den Nutzer. However, the memory and the memory controller, e.g. the FSI, in various embodiments, may be configured such that a degree of redundancy may be configurable, for example, configurable by the user.

Anders ausgedrückt kann in verschiedenen Ausführungsbeispielen eine Anzahl redundanter Speicherungen, die wie oben in Zusammenhang mit verschiedenen Ausführungsbeispielen erläutert ausgeführt werden kann, einstellbar sein. In other words, in various embodiments, a number of redundant storages, which may be performed as discussed above in connection with various embodiments, may be adjustable.

Die Anzahl redundanter Speicherungen kann beispielsweise bei einer Herstellung der Speichervorrichtung, bei einer Inbetriebnahme, oder später im Betrieb einstellbar und/oder änderbar sein. The number of redundant storages may be adjustable and / or changeable, for example, during manufacture of the memory device, during startup, or later during operation.

Dabei kann die Anzahl redundanter Speicherungen in verschiedenen Ausführungsbeispielen sektorweise einstellbar sein. In this case, the number of redundant storages in different embodiments can be set sector by sector.

Beispielsweise kann ein Sektor (in 13 beispielhaft dargestellt für Sektor PS5) für eine vierfach redundante Speicherung vorgesehen sein. Beispielhaft dargestellt ist eine Speicherung von vier ECCWörtern EW0 bis EW3, die in jeder Wortleitung der redundanten Speicherungen bzgl. der Bitleitungen zyklisch verschoben angeordnet sind, aber selbstverständlich kann jede andere hierin im Zusammenhang mit verschiedenen Ausführungsbeispielen erläuterte Zuordnung gewählt werden. For example, a sector (in 13 exemplified for sector PS5) may be provided for a quadruple redundant storage. Illustrated is a storage of four ECC words EW0 to EW3, which are stored in each Word line of the redundant storage with respect to the bit lines are arranged cyclically shifted, but of course, any other explained herein in connection with various embodiments, assignment can be selected.

In einem solchen Sektor mit relativ hoher Redundanz können beispielsweise systemrelevante Programmdaten o.Ä. gespeichert werden oder sein. In such a sector with relatively high redundancy, for example, system-relevant program data or the like can be used. be saved or be.

Bei anderen Sektoren (hier beispielhaft Sektor PS4) können andere Stufen der Redundanz gewählt werden, beispielsweise eine zweifach redundante Speicherung (auch hier ist beispielhaft die zyklisch verschobene Speicherung in der redundanten Wortleitung dargestellt). For other sectors (here exemplary sector PS4), other stages of redundancy can be selected, for example a double-redundant storage (here too, the cyclically shifted storage in the redundant word line is shown as an example).

Alternativ oder zusätzlich können in verschiedenen Ausführungsbeispielen Sektoren bereitgestellt werden, beispielsweise ein in 13 an DF0 angrenzender Sektor, die für redundante Speicherung vorgesehene reservierte Wortleitungen enthalten können, und/oder einen oder mehrere Sektoren mit einem Seiten-Datenformat mit einer skalierbaren Redundanz (beispielhaft in 13 als Sektor DF1 dargestellt). Alternatively or additionally, in various embodiments, sectors may be provided, for example, an in 13 a sector adjacent to DF0, which may contain reserved wordlines for redundant storage, and / or one or more sectors having a page data format with scalable redundancy (exemplified in FIG 13 represented as sector DF1).

In verschiedenen Ausführungsbeispielen kann einem Nutzer eine Konfigurierungsmöglichkeit (beispielsweise auch sektorweise) bereitgestellt werden, um eine auf seine Bedürfnisse zugeschnittene Abwägung von Datensicherungs- und Platzbedarf vorzunehmen und den Grad der redundanten Speicherung (ggf. sektorweise) entsprechend zu bestimmen (z.B. festzulegen). In various embodiments, a user may be provided with a configuration option (eg, sector wise) to balance their backup and space requirements and tailor (e.g., specify) the degree of redundant storage (possibly sector wise).

In verschiedenen Ausführungsbeispielen kann der Speicher an einem Ende seines Zellenfeldes Sektoren mit abnehmender Größe aufweisen, um einen anpassbaren und flexiblen Grad der Redundanz zu ermöglichen. In various embodiments, the memory may have sectors of decreasing size at one end of its cell array to allow for an adaptable and flexible degree of redundancy.

14A und 14B zeigen schematische Darstellungen zum Veranschaulichen von Sektor-Formatierungen zur Unterstützung einer redundanten WL-Speicherung mit adaptiver Korrekturmöglichkeit gemäß verschiedenen Ausführungsbeispielen. 14A and 14B 10 are schematic diagrams illustrating sector formatting to support redundant WL storage with adaptive correction capability according to various embodiments.

Dabei veranschaulicht das in einer Ansicht 1601 dargestellte Beispiel eine Sektor-Formatierung für einen Sektor mit 32 kByte. This illustrates this in a view 1601 Example shown sector formatting for a 32 kbyte sector.

Dabei kann jede Page 128 Byte aufweisen, jede Wortleitung zwei Pages, und jede Page 16 ECCWörter mit jeweils 8 Byte aufweisen. Jede Wortleitung kann somit zwei Pages mit jeweils 16 ECCWörtern ansteuern. Each page can have 128 bytes, each wordline can have two pages, and each has 8 bytes of ECC words. Each word line can thus drive two pages with 16 ECC words each.

Ein zugeordneter addressierbarer Adressbereich kann beispielsweise 0x0000 – 0x7FFF sein (z.B. 0x80 Bytes/Page, 0x100 Bytes/WL, d.h. 256 Pages bzw. 128 WLen in 32 kByte. An associated addressable address range may be, for example, 0x0000 - 0x7FFF (e.g., 0x80 bytes / page, 0x100 bytes / WL, i.e. 256 pages, or 128 WLs in 32k bytes).

In Ansicht 1602 ist ein entsprechender linearer Adressraum veranschaulicht, wobei Adresselemente A14 bis A8 die 128 WLen adressieren können, Adresselemente A14 bis A7 die entsprechenden Pages (d.h. Adresselement A7 kann ein so genannter PageAddressSelector (ein Page-Auswähler) sein), und die Adresselemente A6 bis A0 können Intrapage-Adressen für die 128 Bytes pro Page aufweisen. In view 1602 is illustrated a corresponding linear address space, wherein address elements A 14 to A 8 can address the 128 WLen, address elements A 14 to A 7, the corresponding pages (ie address element A 7 may be a so-called PageAddressSelector (a page selector)), and Address elements A 6 to A 0 may have intrapage addresses for the 128 bytes per page.

Ansicht 1603 veranschaulicht die Verteilung der Daten als ECCWörter auf die jeweils zwei Pages der insgesamt 128 Wortleitungen. view 1603 illustrates the distribution of the data as ECC words on the two respective pages of the total of 128 word lines.

In 16B ist veranschaulicht, dass bei einer redundanten WL-Speicherung gemäß verschiedenen Ausführungsbeispielen eine Kopplung von Wortleitungen vorgenommen werden kann. In 16B 1 illustrates that, in a redundant WL storage according to various embodiments, a coupling of word lines can be made.

Anders ausgedrückt kann in verschiedenen Ausführungsbeispielen nur ein Teilbereich eines (linearen) Adressbereichs A14 bis A0 adressierbar sein für eine unabhängige Datenspeicherung (z.B. der Bereich 1676 in Ansicht 1605), der Rest des dargestellten Adressbereichs kann dann beispielsweise für eine achtfach redundante Speicherung der Daten gemäß verschiedenen Ausführungsbeispielen genutzt werden. Entsprechend kann bei einer Freigabe eines Adressbereichs 1674 der Rest des Adressbereichs für eine vierfach redundante Speicherung und bei einer Freigabe eines Adressbereichs 1672 der Rest des Adressbereichs für eine zweifach redundante Speicherung gemäß verschiedenen Ausführungsbeispielen. In other words, in various embodiments, only a portion of a (linear) address range A 14 to A 0 may be addressable for independent data storage (eg, the range 1676 in view 1605 ), the rest of the illustrated address range can then be used, for example, for eightfold redundant storage of the data according to various embodiments. Accordingly, upon release of an address range 1674 the remainder of the address range for a quadruple redundant storage and a release of an address range 1672 the remainder of the address range for dual redundant storage according to various embodiments.

Um innerhalb des Adressbereichs eine redundante Speicherung in unabhängigen Wortleitungen zu ermöglichen, kann ein so genanntes „Page Scrambling“ (Durcheinanderwürfeln von Pages) angewendet werden, bei welchem gemäß verschiedenen Ausführungsbeispielen ein Dateninhalt, z.B. eine redundante Speicherung eines Datensatzes, zwar extern einer linear zugeordneten Adresse zugewiesen werden kann, eine physikalische Speicherung aber mittels einer intern angewendeten Page-Adressierung in einer Page gespeichert werden kann, welche mittels einer anderen Wortleitung angesteuert wird. Dies ist beispielhaft in Ansicht 1604 veranschaulicht. In order to enable redundant storage in independent word lines within the address range, a so-called "page scrambling" can be used, in which, according to various embodiments, a data content, eg a redundant storage of a data record, externally a linearly assigned address can be assigned, but a physical storage can be stored by means of an internally applied page addressing in a page, which is controlled by a different word line. This is an example in view 1604 illustrated.

17 zeigt ein Ablaufdiagramm 1800 für ein Verfahren zum Betreiben einer Speichervorrichtung gemäß verschiedenen Ausführungsbeispielen. 17 shows a flowchart 1800 for a method of operating a memory device according to various embodiments.

In verschiedenen Ausführungsbeispielen wird ein Verfahren zum Betreiben einer Speichervorrichtung bereitgestellt. Dabei kann die Speichervorrichtung ein Array einer Mehrzahl von Speicherzellen aufweisen, eine Mehrzahl von Wortleitungen; und eine Mehrzahl von Bitleitungen, wobei jede Wortleitung mit einer Mehrzahl von den Speicherzellen verbunden sein kann, wobei jede Bitleitung mit einer Mehrzahl von den Speicherzellen verbunden sein kann, und wobei jede der Speicherzellen mittels einer eindeutigen Kombination aus einer der Wortleitungen und einer der Bitleitungen ansteuerbar sein kann. In various embodiments, a method of operating a memory device is provided. In this case, the memory device may comprise an array of a plurality of memory cells, a plurality of word lines; and a plurality of bit lines, each word line being connectable to a plurality of the memory cells, each bit line being connectable to a plurality of the memory cells, and each of the memory cells being controllable by means of a unique combination of one of the word lines and one of the bit lines can be.

In verschiedenen Ausführungsbeispielen kann das Verfahren aufweisen ein erstes Speichern einer Mehrzahl von Datenelementen, die einen Datensatz bilden, in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen ersten Wortleitung angesteuert werden, so dass sich eine erste Zuordnung der Datenelemente zu den Bitleitungen ergibt (in 1710), und ein zweites Speichern der Mehrzahl von Datenelementen in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen als ein erster redundanter Datensatz derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen zweiten Wortleitung angesteuert werden und bei denen die ansteuernden Bitleitungen dieselben sind wie beim ersten Speichern, so dass sich eine zweite Zuordnung der Datenelemente zu den Bitleitungen ergibt, wobei die erste Zuordnung sich von der zweiten Zuordnung unterscheidet (in 1720). In various embodiments, the method may include first storing a plurality of data elements forming a data set in the memory cells, wherein each data element of the plurality of data elements is stored in each of a separate memory cell of the plurality of memory cells such that the data elements of the data set are stored in memory cells, which are driven by a common first word line, so that there is a first assignment of the data elements to the bit lines (in 1710 a second storage of the plurality of data elements in the memory cells, wherein each data element of the plurality of data elements is stored in a respective memory cell of the plurality of memory cells as a first redundant data set such that the data elements of the data set are stored in memory cells, which are driven by a common second word line and in which the driving bit lines are the same as in the first storage, resulting in a second assignment of the data elements to the bit lines, wherein the first assignment is different from the second assignment (in 1720 ).

Weitere Ausführungsbeispiele des Verfahrens können im Zusammenhang mit der Vorrichtung beschrieben sein und umgekehrt. Further embodiments of the method may be described in connection with the device and vice versa.

Claims (20)

Verfahren zum Betreiben einer Speichervorrichtung, wobei die Speichervorrichtung aufweist: • ein Array einer Mehrzahl von Speicherzellen, • eine Mehrzahl von Wortleitungen; und • eine Mehrzahl von Bitleitungen; • wobei jede Wortleitung mit einer Mehrzahl von den Speicherzellen verbunden ist; • wobei jede Bitleitung mit einer Mehrzahl von den Speicherzellen verbunden ist; und • wobei jede der Speicherzellen mittels einer eindeutigen Kombination aus einer der Wortleitungen und einer der Bitleitungen ansteuerbar ist; das Verfahren aufweisend: • erstes Speichern einer Mehrzahl von Datenelementen, die einen Datensatz bilden, in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen ersten Wortleitung angesteuert werden, so dass sich eine erste Zuordnung der Datenelemente zu den Bitleitungen ergibt; und • zweites Speichern der Mehrzahl von Datenelementen in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen als ein erster redundanter Datensatz derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen zweiten Wortleitung angesteuert werden und bei denen die ansteuernden Bitleitungen dieselben sind wie beim ersten Speichern, so dass sich eine zweite Zuordnung der Datenelemente zu den Bitleitungen ergibt; • wobei die erste Zuordnung sich von der zweiten Zuordnung unterscheidet.  A method of operating a memory device, the memory device comprising: An array of a plurality of memory cells, • a plurality of word lines; and • a plurality of bit lines; Wherein each word line is connected to a plurality of the memory cells; Wherein each bit line is connected to a plurality of the memory cells; and Wherein each of the memory cells is controllable by means of a unique combination of one of the word lines and one of the bit lines; the method comprising: • first storing a plurality of data elements forming a data record in the memory cells, wherein each data element of the plurality of data elements is stored in each case a separate memory cell of the plurality of memory cells such that the data elements of the data set are stored in memory cells that from a common first word line are driven, so that there is a first assignment of the data elements to the bit lines; and Second storage of the plurality of data elements in the memory cells, wherein each data element of the plurality of data elements is stored in each of its own memory cell of the plurality of memory cells as a first redundant data set such that the data elements of the data set are stored in memory cells which are stored in memory cells common second word line are driven and in which the driving bit lines are the same as in the first storage, so that there is a second assignment of the data elements to the bit lines; • where the first assignment differs from the second assignment. Verfahren gemäß Anspruch 1, ferner aufweisend: Speichern von Prüf-/Korrekturinformation zum Prüfen und gegebenenfalls zum Korrigieren der Datenelemente.  The method of claim 1, further comprising: Storing check / correction information for checking and, if necessary, correcting the data elements. Verfahren gemäß Anspruch 1 oder 2, wobei bei der zweiten Zuordnung jedes der Datenelemente einer anderen Bitleitung zugeordnet ist als bei der ersten Zuordnung.  Method according to claim 1 or 2, wherein in the second assignment each of the data elements is assigned to a different bit line than in the first assignment. Verfahren gemäß einem der Ansprüche 1 bis 3, wobei bei der zweiten Zuordnung die Mehrzahl der Datenelemente zyklisch vertauscht gegenüber der ersten Zuordnung zugeordnet sind.  Method according to one of claims 1 to 3, wherein in the second assignment, the plurality of data elements are cyclically reversed to the first assignment associated. Verfahren gemäß einem der Ansprüche 1 bis 4, ferner aufweisend: ein- oder mehrmaliges Ausführen eines weiteren Speicherns der Mehrzahl von Datenelementen in den Speicherzellen, wobei jedes Datenelement der Mehrzahl von Datenelementen in jeweils einer eigenen Speicherzelle aus der Mehrzahl von Speicherzellen als ein weiterer redundanter Datensatz derart gespeichert wird, dass die Datenelemente des Datensatzes in Speicherzellen gespeichert werden, die von einer gemeinsamen weiteren Wortleitung angesteuert werden und bei denen die ansteuernden Bitleitungen dieselben sind wie beim ersten Speichern, so dass sich eine weitere Zuordnung der Datenelemente zu den Bitleitungen ergibt; wobei die weitere Zuordnung sich von allen vorherigen Zuordnungen unterscheidet.  The method of any one of claims 1 to 4, further comprising: one or more times carrying out a further storing of the plurality of data elements in the memory cells, wherein each data element of the plurality of data elements is stored in each case a separate memory cell of the plurality of memory cells as another redundant data record such that the data elements of the data set stored in memory cells be driven by a common further word line and in which the driving bit lines are the same as in the first storage, so that there is a further assignment of the data elements to the bit lines; the further allocation differs from all previous assignments. Verfahren gemäß einem der Ansprüche 2 bis 5, ferner aufweisend: Lesen des beim ersten Speichern gespeicherten Datensatzes; Prüfen und gegebenenfalls Korrigieren der gelesenen Datenelemente anhand der Prüf-/Korrekturinformation; in einem Fall, dass das Prüfen ergibt, dass mindestens eines der gespeicherten Datenelemente unkorrigierbar fehlerhaft ist, Lesen des ersten redundanten Datensatzes; und Prüfen und gegebenenfalls Korrigieren der Datenelemente anhand der Prüf-/Korrekturinformation. The method of one of claims 2 to 5, further comprising: reading the record stored in the first save; Checking and possibly correcting the read data elements based on the check / correction information; in a case that the checking reveals that at least one of the stored data items is uncorrectably erroneous, reading the first redundant data set; and checking and possibly correcting the data elements based on the check / correction information. Verfahren gemäß Anspruch 6, ferner aufweisend: Zwischenspeichern der fehlerfrei gelesenen Datenelemente vor dem Lesen des ersten redundanten Datensatzes; und in einem Fall, dass das Prüfen des gelesenen ersten redundanten Datensatzes ergibt, dass mindestens eines der gespeicherten Datenelemente unkorrigierbar fehlerhaft ist, Prüfen, ob aus einer Kombination der fehlerfreien zwischengespeicherten Datenelemente in Kombination mit fehlerfreien Datenelementen des ersten redundanten Datensatzes der fehlerfreie Datensatz erzeugbar ist; und in einem Fall, dass der fehlerfreie Datensatz erzeugbar ist, Erzeugen des fehlerfreien Datensatzes.  The method of claim 6, further comprising: Caching the error-free read data elements before reading the first redundant data set; and in a case that the checking of the read first redundant data set reveals that at least one of the stored data elements is uncorrectably erroneous, checking whether the error-free data set can be generated from a combination of the error-free buffered data elements in combination with error-free data elements of the first redundant data record; and in a case that the error-free data set can be generated, generating the error-free data record. Verfahren gemäß Anspruch 7, ferner aufweisend: in einem Fall, dass der fehlerfreie Datensatz nicht erzeugbar ist, wiederholtes Ausführen von: Zwischenspeichern der fehlerfrei gelesenen Datenelemente; Lesen des weiteren redundanten Datensatzes; Prüfen und gegebenenfalls Korrigieren der gelesenen Datenelemente anhand der Prüf- /Korrekturinformation; und Prüfen, ob aus einer Kombination der fehlerfreien zwischengespeicherten Datenelemente in Kombination mit fehlerfreien Datenelementen des weiteren redundanten Datensatzes ein fehlerfreier Datensatz erzeugbar ist, bis der fehlerfreie Datensatz erzeugt ist oder bis eine festgelegte Höchstzahl von redundanten Datensätzen erreicht ist.  The method of claim 7, further comprising: in a case that the error-free record can not be generated, repeated execution of: Buffering of the correctly read data elements; Reading the further redundant data record; Checking and possibly correcting the read data elements based on the check / correction information; and Check whether a fault-free data record can be generated from a combination of the error-free buffered data elements in combination with error-free data elements of the further redundant data record, until the error-free data record is generated or until a defined maximum number of redundant data records has been reached. Verfahren gemäß einem der Ansprüche 1 bis 8, ferner aufweisend: vor dem zweiten Speichern, Festlegen einer Anzahl von redundanten Datensätzen durch einen Nutzer.  The method of any one of claims 1 to 8, further comprising: prior to the second save, setting a number of redundant records by a user. Verfahren gemäß einem der Ansprüche 1 bis 9, wobei das erste Speichern unter einer ersten Adresse erfolgt und das zweite Speichern an einer der ersten Adresse direkt nachfolgenden Adresse.  Method according to one of claims 1 to 9, wherein the first storage takes place under a first address and the second storage at a first address directly following the first address. Verfahren gemäß einem der Ansprüche 1 bis 10, wobei das zweite Speichern in einen für das zweite Speichern vorbestimmten eigenen Sektor erfolgt.  A method according to any one of claims 1 to 10, wherein the second storage is done in a dedicated sector predetermined for the second storage. Speichervorrichtung, aufweisend: • ein Array einer Mehrzahl von Speicherzellen, • eine Mehrzahl von Wortleitungen; • eine Mehrzahl von Bitleitungen; und • eine Speichersteuerung; • wobei jede Wortleitung mit einer Mehrzahl von den Speicherzellen verbunden ist; • wobei jede Bitleitung mit einer Mehrzahl von den Speicherzellen verbunden ist; und • wobei jede der Speicherzellen mittels einer eindeutigen Kombination aus einer der Wortleitungen und einer der Bitleitungen ansteuerbar ist; und • wobei die Speichersteuerung eingerichtet ist, das Verfahren gemäß einem der Ansprüche 1 bis 10 auszuführen.  Storage device comprising: An array of a plurality of memory cells, • a plurality of word lines; • a plurality of bit lines; and • a memory controller; Wherein each word line is connected to a plurality of the memory cells; Wherein each bit line is connected to a plurality of the memory cells; and Wherein each of the memory cells is controllable by means of a unique combination of one of the word lines and one of the bit lines; and Wherein the memory controller is configured to carry out the method according to one of claims 1 to 10. Speichervorrichtung gemäß Anspruch 12, wobei die Speichervorrichtung einen nicht-flüchtigen Speicher aufweist.  The memory device of claim 12, wherein the memory device comprises a non-volatile memory. Die Speichervorrichtung gemäß einem der Ansprüche 12 oder 13, wobei die Speichervorrichtung einen Speicher aufweist aus einer Gruppe von Speichern, die Gruppe aufweisend: einen FLASH-Speicher; einen EEPROM; einen RRAM; einen CBRAM; einen PCRAM; und einen MRAM.  The memory device of claim 12, wherein the memory device comprises a memory of a group of memories, the group comprising: a FLASH memory; an EEPROM; an RRAM; a CBRAM; a PCRAM; and an MRAM. Die Speichervorrichtung gemäß einem der Ansprüche 12 bis 14, ferner aufweisend: einen Zwischenspeicher zum Zwischenspeichern der fehlerfrei gelesenen Datenelemente gemäß einem der Ansprüche 5 bis 9.  The storage device of any one of claims 12 to 14, further comprising: a buffer for buffering the data elements read without error according to one of claims 5 to 9. Die Speichervorrichtung gemäß einem der Ansprüche 12 bis 15, wobei das Speicherzellenarray eine Mehrzahl von Sektoren aufweist, wobei eine Größe der Sektoren zu einem Ende des Speicherzellenarrays hin zunimmt.  The memory device of claim 12, wherein the memory cell array has a plurality of sectors, wherein a size of the sectors increases toward an end of the memory cell array. Die Speichervorrichtung gemäß einem der Ansprüche 12 bis 16, aufweisend: einen ersten Speicherbereich zum Speichern eines ersten Datensatzes mit einer ersten Anzahl redundanter Datensätze; und einen zweiten Speicherbereich zum Speichern eines zweiten Datensatzes mit einer zweiten Anzahl redundanter Datensätze, wobei die zweite Anzahl größer ist als die erste Anzahl.  The storage device of any one of claims 12 to 16, comprising: a first storage area for storing a first data set having a first number of redundant data sets; and a second storage area for storing a second data set with a second number of redundant data sets, wherein the second number is greater than the first number. Die Speichervorrichtung gemäß einem der Ansprüche 12 bis 17, ferner aufweisend: eine in einem Configsektor des Speicherzellenarrays abgelegten Redundanznachladetabelle, die eine individuell konfigurierbare oder werksseitig im Configsektor vorkonfigurierte Anzahl redundanter Datensätze für mindestens eine einzelne Wortleitung, für einen Teil eines Sektors oder für einen gesamten Sektor aufweist.  The storage device of any one of claims 12 to 17, further comprising: a redundancy reload table stored in a config sector of the memory cell array, which has an individually configurable or pre-configured in the config sector number of redundant data sets for at least a single word line, for a part of a sector or for a whole sector. Die Speichervorrichtung gemäß Anspruch 18, wobei in der Redundanznachladetabelle ferner ein Nachladekorrekturverfahren bestimmt ist. The memory device of claim 18, wherein a reload correction method is further defined in the redundancy reload table. Die Speichervorrichtung gemäß einem der Ansprüche 18 oder 19, wobei ein werkseitig abgesichertes Nachladen der werkseitig vorkonfigurierten Redundanznachladetabelle bereitgestellt ist zu einem korrekten Erfassen der WL-oder Sektor-individuellen Anzahl der redundanten Datensätze und von/der den Datensätzen zugewiesenen Nachladekorrekturverfahren.  The memory device of claim 18 or 19, wherein factory-backed reloading of the factory pre-configured redundancy reload table is provided for correctly detecting the WL or sector individual number of redundant data sets and reload correction methods assigned to the data sets.
DE102016115177.7A 2016-08-16 2016-08-16 Method for operating a storage device and storage device Active DE102016115177B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016115177.7A DE102016115177B4 (en) 2016-08-16 2016-08-16 Method for operating a storage device and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016115177.7A DE102016115177B4 (en) 2016-08-16 2016-08-16 Method for operating a storage device and storage device

Publications (2)

Publication Number Publication Date
DE102016115177A1 true DE102016115177A1 (en) 2018-02-22
DE102016115177B4 DE102016115177B4 (en) 2023-10-12

Family

ID=61082597

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016115177.7A Active DE102016115177B4 (en) 2016-08-16 2016-08-16 Method for operating a storage device and storage device

Country Status (1)

Country Link
DE (1) DE102016115177B4 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486416A (en) * 2020-11-30 2021-03-12 北京泽石科技有限公司 Data processing method, data processing device, storage medium and processor
US20220091914A1 (en) * 2020-09-22 2022-03-24 Infineon Technologies Ag Memory devices and methods for operating the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073994A1 (en) * 2005-09-28 2007-03-29 Xiv Limited Virtual partitioning
US20130055012A1 (en) * 2011-08-30 2013-02-28 Samsung Electronics Co., Ltd. Data management method of improving data reliability and data storage device
US20130170296A1 (en) * 2012-01-03 2013-07-04 Samsung Electronics Co., Ltd. Memory controller for multi-level memory device and error correcting method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073994A1 (en) * 2005-09-28 2007-03-29 Xiv Limited Virtual partitioning
US20130055012A1 (en) * 2011-08-30 2013-02-28 Samsung Electronics Co., Ltd. Data management method of improving data reliability and data storage device
US20130170296A1 (en) * 2012-01-03 2013-07-04 Samsung Electronics Co., Ltd. Memory controller for multi-level memory device and error correcting method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220091914A1 (en) * 2020-09-22 2022-03-24 Infineon Technologies Ag Memory devices and methods for operating the same
US11907044B2 (en) * 2020-09-22 2024-02-20 Infineon Technologies Ag Memory devices and methods for operating the same
CN112486416A (en) * 2020-11-30 2021-03-12 北京泽石科技有限公司 Data processing method, data processing device, storage medium and processor
CN112486416B (en) * 2020-11-30 2024-04-16 北京泽石科技有限公司 Data processing method, device, storage medium and processor

Also Published As

Publication number Publication date
DE102016115177B4 (en) 2023-10-12

Similar Documents

Publication Publication Date Title
DE102007031027B4 (en) Reading method of a memory device
DE602004002947T2 (en) NAND flash memory with memory redundancy
US6728913B1 (en) Data recycling in memory
DE69500143T2 (en) Circuit for selecting redundancy memory components and FLASH EEPROM containing them
DE60306510T2 (en) Method for storing data in non-volatile memories
JP4901348B2 (en) Semiconductor memory device and control method thereof
DE102007016460A1 (en) Non-volatile memory device, non-volatile memory system and reading method for a nonvolatile memory device
US7457911B2 (en) Nonvolatile memory device and method for storing status information using multiple strings
DE102008030264A1 (en) Method for reading a flash memory and memory system
DE102013109235A1 (en) An abnormal word line detector flash memory system and method for detecting an abnormal word line
DE112008001151B4 (en) Multi-bit programming device and method for multi-bit programming
DE112014002632T5 (en) Read voltage calculation for solid-state storage devices
DE102008003944A1 (en) Storage system and programming method for a storage system
DE102006001492A1 (en) Semiconductor memory e.g. nitride read only memory, arrangement, has controller for selecting memory cells in memory array or in non-volatile redundancy information storage that is directly associated with controller via sense amplifier
DE112020006139T5 (en) PRE-READ AND READ THRESHOLD VOLTAGE OPTIMIZATION
US20090003066A1 (en) Non-volatile memory system and programming method of the same
US20220013189A1 (en) Error detection and correction using machine learning
DE102021103606A1 (en) Controller, storage device including the controller, and reading method of the storage device
US9312024B2 (en) Flash memory device having efficient refresh operation
DE102007041845A1 (en) Method for operating an integrated circuit with at least one memory cell
DE102008032235A1 (en) Non-volatile memory device, erase method and erase test method
CN103177765A (en) Semiconductor memory device and method of operating the same
DE102019135863A1 (en) Memory controller, memory device and memory system with improved threshold voltage distribution characteristics and similar methods of operation
DE102010037064A1 (en) A nonvolatile memory device and system and method of programming a nonvolatile memory device
DE102016115177B4 (en) Method for operating a storage device and storage device

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division