DE102016115177A1 - Method for operating a memory device and memory device - Google Patents
Method for operating a memory device and memory device Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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.
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
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
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
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
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
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
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
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
In
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
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
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
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
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
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.
Wie in
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.
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
Die Speicherzellen des Zellenfeldes
In verschiedenen Ausführungsbeispielen können, wie in
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
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
In
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
Im Beispiel aus
In
In
Auch hier kann mittels eines Lesezugriffs auf die redundant gespeicherten Daten, z.B. wie im Zusammenhang mit
Anders als im Zusammenhang mit
Hier kann, beispielsweise mittels der Speichersteuerung
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.
Im Unterschied zu
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
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
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.
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
In verschiedenen Ausführungsbeispielen können mittels der Speichersteuerung
In verschiedenen Ausführungsbeispielen kann die Speichersteuerung
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
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
Von der PMU kann der (ggf. ein zweites Mal korrigierte) Datensatz in verschiedenen Ausführungsbeispielen an einen Zentralprozessor
Dabei kann der in
In verschiedenen Ausführungsbeispielen kann ein Datensatz der PMU
In verschiedenen Ausführungsbeispielen kann die Speichersteuerung
In verschiedenen Ausführungsbeispielen kann die Speichersteuerung
In verschiedenen Ausführungsbeispielen kann die Speichersteuerung
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
Mittels des Adressdecoders
Ein Aufbau des Speichers in
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
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
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.
Dabei veranschaulicht das in einer Ansicht
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
Ansicht
In
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
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
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
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)
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)
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)
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 |
-
2016
- 2016-08-16 DE DE102016115177.7A patent/DE102016115177B4/en active Active
Patent Citations (3)
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)
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 |