DE602004002947T2 - NAND Flash Speicher mit Speicherredundanz - Google Patents

NAND Flash Speicher mit Speicherredundanz Download PDF

Info

Publication number
DE602004002947T2
DE602004002947T2 DE602004002947T DE602004002947T DE602004002947T2 DE 602004002947 T2 DE602004002947 T2 DE 602004002947T2 DE 602004002947 T DE602004002947 T DE 602004002947T DE 602004002947 T DE602004002947 T DE 602004002947T DE 602004002947 T2 DE602004002947 T2 DE 602004002947T2
Authority
DE
Germany
Prior art keywords
memory
memory block
block
address
red
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.)
Active
Application number
DE602004002947T
Other languages
English (en)
Other versions
DE602004002947D1 (de
Inventor
Massimiliano 20053 Picca
Stefano 24068 Zanardi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SRL
Original Assignee
STMicroelectronics SRL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SRL filed Critical STMicroelectronics SRL
Publication of DE602004002947D1 publication Critical patent/DE602004002947D1/de
Application granted granted Critical
Publication of DE602004002947T2 publication Critical patent/DE602004002947T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Description

  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet von Festkörperspeichern, insbesondere auf Halbleiterspeicher und noch weiter im Besonderen auf das Gebiet von nicht-flüchtigen Speichern. Insbesondere bezieht sich die Erfindung auf nicht-flüchtige Speicher, die elektrisch programmierbar sind.
  • Nicht-flüchtige Speicher werden gemeinhin in einigen Anwendungen verwendet, wenn die in dem Speicher gespeicherten Daten sogar bei Nichtvorhandensein einer Energieversorgung vorgehalten werden müssen. Innerhalb der Klasse von nicht-flüchtigen Speichern wurden elektrisch programmierbare (und löschbare) Speicher, wie zum Beispiel Flash-Speicher, sehr populär in Applikationen, in welchen die zu speichernden Daten nicht unveränderlich sind (wie es beispielsweise im Fall eines festen Codes für einen Mikroprozessor der Fall sein kann), wobei es statt dessen von Zeit zu Zeit notwendig sein kann, neue Daten zu speichern, oder die Daten, die bereits gespeichert sind, zu aktualisieren. Beispiele von solchen Anwendungen beinhalten Speicherkarten des Typs, wie er beispielsweise in Digitalkameras benutzt wird.
  • Typischerweise beinhaltet der Speicher eine Anordnung von Speicherzellen, die beispielsweise in Reihen und Spalten angeordnet sind, um eine Matrix zu bilden. Abhängig von der Art und Weise, wie die Speicherzellen in der Matrix verschaltet sind, kann eine so genannte NAND-Architektur für die Flash-Speicher identifiziert werden. Grob gesprochen, werden in einer NAND-Architektur Gruppen von Speicherzellen einer gleichen Matrixspalte seriell verschaltet, um jeweilige Stränge zu bilden, wobei die Stränge dann parallel zueinander mit einer gleichen Bitleitung verschaltet sind. NAND-Flash-Speicher sind kompakt (es wird eine niedrige Anzahl von Kontakten in der Matrix benötigt), und sie sind geeignet für Applikationen wie zum Beispiel Dateispeicherung.
  • In der NAND-Architektur wird der Speicherraum idealerweise partitioniert in eine Mehrzahl von Speicherseiten, wobei jede Seite einer Gruppe von Speicherzellen entspricht, welche im Betrieb gleichzeitig gelesen oder geschrieben werden, das heißt, parallel zueinander. Die Anzahl von Speicherzellen in jeder Gruppe bestimmt die Größe (das heißt, die Anzahl von Bits) der Speicherseite. Heutzutage sind Speicherseiten von 512 Bytes ziemlich typisch, jedoch werden größere Speicherseiten ebenso angetroffen, zum Beispiel von 2 KBytes.
  • Der Speicherraum ist weiterhin logisch partitioniert in eine Mehrzahl von Speicherblöcken oder Sektoren, wobei jeder Speicherblock eine Mehrzahl von Speicherseiten beinhaltet, die im Betrieb gleichzeitig gelöscht werden.
  • Vor der Auslieferung wird jeder NAND-Speicher einer Testphase unterworfen, in welcher manche betriebsunfähige Speicherblöcke, die beispielsweise ungültige Datenbits enthalten, die nicht reparierbar sind, gefunden werden können. Die betriebsunfähigen oder ungültigen Speicherblöcke (in der Fachsprache auch als "schlechte" Blöcke genannt) werden "markiert", um vor dem Gebrauch lokalisiert zu werden, indem eine Anzahl von Speicherzellen innerhalb eines jeden schlechten Blocks mit einer vorbestimmten Folge von Bits programmiert wird.
  • Zusätzlich kann während der Lebensdauer der NAND-Speicher (typischerweise von ungefähr zehn Jahren) ein Prozentsatz der anfänglich betriebsfähigen bzw. gültigen Speicherblöcke nicht betriebsfähig bzw. ungültig werden, nachdem Zyklen von Löschungs- oder Schreiboperationen durchlaufen wurden (typischerweise garantieren die Hersteller, dass höchstens 2% der gesamten Anzahl der Speicherblöcke während der erwarteten Lebensdauer schlecht werden können).
  • Die schlechten Blöcke sind zufällig über die NAND-Speicher verstreut, wobei es notwendig ist, sie derart aufzuzeichnen, dass sie nicht mehr benutzt werden, das heißt, nicht mehr zum Lesen oder Programmieren adressiert werden.
  • In Lösungen, die im Stand der Technik bekannt sind, muss eine externe Vorrichtung, von der es erforderlich ist, Betriebsoperationen auf dem NAND-Speicher durchzuführen, wie zum Beispiel ein Mikroprozessor oder ein Mikrocontroller, vor ausgehend den NAND-Speicher "scannen" (überprüfen), um die schlechten Blöcke zu lokalisieren. Die externe Vorrichtung muss ein Abbild des NAND-Speichers, insbesondere der schlechten Blöcke hinsichtlich der Speicheradressen kreieren, speichern und im Ablauf steuern, unter Verwendung von beispielsweise einem zusätzlichen nicht-flüchtigen Speicher, der extern zu dem NAND-Speicher ist. Typischerweise ist der externe Speicher ein inhaltsadressierbarer Speicher, wobei vor einer Operation der externe Speicher die an den NAND-Speicher bereitzustellende Speicheradresse mit dem Abbild vergleicht, das in dem inhaltsadressierbaren Speicher (Content Addressable Memory, CAM) gespeichert ist; danach verwirft und ersetzt die externe Vorrichtung ungültige Speicheradressen.
  • Als eine Folge wird die Handhabung der Betriebsoperationen, die auf dem NAND-Speicher durchzuführen sind, in großem Maße verkompliziert, hauptsächlich da die Handhabung der schlechten Blöcke innerhalb des NAND-Speichers für den externen Benutzer nicht transparent ist.
  • Weiterhin muss bedacht werden, dass das Auffinden von schlechten Blöcken in einem NAND-Speicher eine unvermeidbare Reduktion seiner Speicherkapazität impliziert, was konträr ist zu dem steigenden Verlangen nach Speichern mit immer größeren Kapazitäten.
  • Angesichts des Stands der Technik, der oben dargestellt wurde, war eines der Probleme, denen sich der Anmelder gestellt hat, wie ein NAND-Speicher bereitgestellt werden kann, der eine einfache Handhabung der schlechten Blöcke sicherstellt. Demgemäß stellt die vorliegende Erfindung bereit eine Handhabung der schlechten Blöcke, die zufällig über den NAND-Speicher verstreut sind, welche soweit als möglich für den Benutzer transparent ist, wobei dementsprechend für einen Benutzer, welcher den Speicher von außerhalb betrachtet, eine "Kontinuität" der Speicherblöcke bereitgestellt wird.
  • EP-A-O 537 973 offenbart einen elektrisch programmierbaren Speicher gemäß dem Oberbegriff des Anspruchs 1.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein NAND-Speicher bereitgestellt, wie im beiliegenden Anspruch 1 ausgeführt.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Betrieb des NAND-Speichers weiterhin bereitgestellt, wie in dem beiliegenden Anspruch 10 ausgeführt.
  • Die Merkmale und die Vorteile der vorliegenden Erfindung werden offenkundig gemacht durch die folgende Beschreibung einer bevorzugten Ausführungsform davon, die nur im Wege eines nicht-limitierenden Beispiels vorgesehen ist, wobei die folgende Beschreibung auf die beiliegenden Figuren sich bezieht, in welchen:
  • 1 eine detaillierte Blockdarstellung eines NAND-Speichers gemäß einer Ausführungsform der vorliegenden Erfindung ist;
  • 2 im Detail die NAND-Architektur einer Anordnung einer Mehrzahl von Flash-Speicherzellen darstellt, die in dem NAND-Speicher von 1 enthalten sind;
  • 3A ein NAND-Feld einer Mehrzahl von Flash-Speicherzellen darstellt, die in dem NAND-Speicher von 1 enthalten sind, die zur Speicherung von Information über Speicherblöcke des NAND-Speichers verwendet werden;
  • 3B in extrem schematischer Form das Speicherzellenfeld von 3A darstellt, das lokal partitioniert in eine Mehrzahl von Registern ist; und
  • 4 ein Flussdiagramm ist, welches den Betrieb des NAND-Speichers von 1 repräsentiert.
  • Mit Bezug auf die Zeichnungen ist 1 eine detaillierte Blockdarstellung eines nicht-flüchtigen Halbleiterspeichers 100 gemäß einer Ausführungsform der vorliegenden Erfindung, insbesondere eines elektrisch-programmierbaren, nichtflüchtigen Halbleiterspeichers, wie zum Beispiel ein Flash-Speicher. Der Flash-Speicher 100 ist in einem Chip aus Halbleitermaterial integriert und beinhaltet eine Anordnung 105 einer Mehrzahl von Speicherzellen mit einer so genannten NAND-Architektur (im Folgenden detaillierter beschrieben).
  • Der Flash-Speicher 100 ist mit der Außenwelt über I/O-Anschlüsse gekoppelt, die mit jeweiligen I/O-Puffern gekoppelt sind, allgemein bezeichnet als I/O-Inferface I/O; typischerweise wird der Flash-Speicher 100 mit acht oder sechzehn I/O-Anschlüssen vorgesehen.
  • Eine externe Vorrichtung, wie zum Beispiel ein Mikroprozessor (in der Zeichnung nicht dargestellt) kann mit dem Flash-Speicher 100 über das I/O-Interface I/O kommunizieren, welches im Betrieb typischerweise mit einem externen Bus 106 auf beispielsweise einer Leiterplatte verbunden ist, und kann auf den Speicher 100 zugreifen, um eine Operation auf der Anordnung 105 von Speicherzellen durchzuführen, beispielsweise eine Lese-, eine Schreib- oder eine Löschoperation. Über das I/O-Interface I/O erhält der Flash-Speicher 100 von dem Mikroprozessor Befehlscodes entsprechend der auszuführenden Operation, Speicheradressen zur Auswahl eines gewünschten Teils der Anordnung 105 von Speicherzellen und Daten, die in den adressierten Teil der Speicherzellenanordnung 105 zu schreiben ist. Weiterhin stellt der Flash-Speicher 100 über die I/O-Schnittstelle I/O an den Mikroprozessor Daten bereit, die von dem adressierten Teil der Speicherzellenanordnung 105 gelesen wurden und möglicherweise Kommunikationscodes, die beispielsweise bezeichnend sind für ein Fehlschlagen der durch den Mikroprozessor angeforderten Operation.
  • Die zu schreibenden Daten und die Befehlscodes, die von dem Mikroprozessor mittels der I/O-Schnittstelle I/O empfangen werden, werden an andere funktionale Blöcke des Flash-Speichers 100 über einen Kommunikationsbus 108 bereitgestellt, der aus einer Anzahl von Signalleitungen besteht, die gleich ist der Anzahl der I/O-Anschlüsse, zum Beispiel sechzehn Signalleitungen. Weiterhin wird der Kommunikationsbus 108 durch den Flash-Speicher 100 dazu verwendet, die gele senen Daten und die Kommunikationscodes, die an den Mikroprozessor bereitzustellen sind, zu dem I/O-Interface I/O zu übertragen; in anderen Worten, ist der Bus 108 bidirektional.
  • Der Flash-Speicher 100 beinhaltet eine Steuereinheit 110, die mit dem Kommunikationsbus 108 verbunden ist, welche den Betrieb des Flash-Speichers 100 handhabt und steuert und welche insbesondere in der Lage ist, die Befehlscodes, die durch den Mikroprozessor bereitgestellt werden, zu interpretieren und das Timing (Zeitsteuerung) des Flash-Speichers 100 zu steuern. Die Steuereinheit 110 stellt Steuersignale, allgemein bezeichnet als Sc, an die anderen funktionalen Blöcke des Flash-Speichers 100 bereit.
  • Der Flash-Speicher 100 weist weiterhin einen Adressbus 112 auf, der mit der I/O-Schnittstelle I/O verbunden ist, welcher die Speicheradressen, die von dem Mikroprozessor empfangen werden, an ein Adressregister 115 überträgt.
  • Die NAND-Architektur der Speicherzellenanordnung 105 ist mit Bezug auf 2 beschrieben.
  • Typischerweise besteht jede Speicherzelle 210 aus einem N-Kanal-MOS-Transistor mit einem Ladungs-Speicherungselement, wie zum Beispiel einem leitenden Floating-Gate, das eingerichtet ist, durch injizierte Elektronen geladen zu werden. Ohne überaus ins Detail zu gehen, wie es dem Fachmann wohlbekannt ist, hat in einem gelöschten Zustand (vereinbarungsgemäß assoziiert mit einem logischen Wert "1") die Speicherzelle 210 einen niedrigen Spannungsschwellenwert. Die Speicherzelle 210 wird durch Injizierung von elektrischen Ladungen in ihr Floating-Gate programmiert: In dem programmierten Zustand (vereinbarungsgemäß assoziiert mit einem logischen Wert "0") hat die Speicherzelle 210 einen hohen Spannungsschwellenwert. Deshalb wird, wenn eine ausgewählte Speicherzelle 210 für das Lesen ihres Inhalts vorgespannt wird, die Speicherzelle 210 leitend sein, falls in gelöschtem Zustand, oder nicht-leitend, falls im programmierten Zustand.
  • Die Anordnung 105 der Mehrzahl von Speicherzellen 210 besteht aus einer Matrix mit einer Mehrzahl von Spalten (zum Beispiel 8192 Spalten) und einer Mehrzahl von Reihen (zum Beispiel 2048 Reihen).
  • In der Speichermatrix 105 sind Gruppen von beispielsweise acht, sechzehn oder sogar mehr (beispielsweise zweiunddreißig) Speicherzellen 210 in Serie zueinander geschaltet, um einen jeweiligen Speicherzellenstrang zu bilden, und verschiedene Speicherzellenstränge, die zu einer gleichen Matrixspalte gehören, sind parallel zueinander mit einer gleichen Bitleitung BL verbunden.
  • Die Speicherzellen 210 eines allgemeinen Strangs sind insbesondere in Reihe zwischen einen Source-Auswahl-N-Kanal-MOS-Transistor 220s und einen Drain-Auswahl-N-Kanal-MOS-Transistor 220d geschaltet. Eine allgemeine zwischenliegende Speicherzelle 210 in dem Speicherzellenstrang hat einen Drain-Anschluss, der mit dem Source-Anschluss einer benachbarten Speicherzelle 210 verbunden ist, wobei der Source-Anschluss mit dem Drain-Anschluss einer anderen benachbarten Speicherzelle 210 verbunden ist. Eine der zwei End-Speicherzellen 210, die an dem Ende des Strangs platziert sind, haben einen Drain-Anschluss, der mit dem Source-Anschluss des Drain-Auswahl-Transistors 220d verbunden ist; der Drain-Anschluss des Drain-Auswahl-Transistors 220d ist mit der entsprechenden Bitleitung BL verbunden sowie mit dem Drain-Anschluss des entsprechenden Drain-Auswahl-Transistors 220d eines benachbarten Speicherzellenstrangs. In gleicher Weise hat die andere End-Speicherzelle 210 des Strangs einen Source-Anschluss, der mit dem Drain-Anschluss des Source-Auswahl-Transistors 220s verbunden ist; der Source-Anschluss des Source-Auswahl-Transistors 220s ist mit dem Source-Anschluss des entsprechenden Source-Auswahl-Transistors 220s eines anderen benachbarten Speicherzellenstrangs verbunden.
  • Die Steuergate-Anschlüsse der Speicherzellen 210 in jeder Reihe sind mit einer entsprechenden Wortleitung WL verbunden. Die Gate-Anschlüsse der Drain-Auswahl-Transistoren 220d, die zu einer gemeinsamen Reihe der Speichermatrix 105 gehören, sind alle mit einer entsprechenden Drain-Auswahlleitung DSL verbunden; in gleicher Weise sind die Gate-Anschlüsse der Source-Auswahl-Transistoren 220s, die zu einer gemeinsamen Reihe gehören, alle mit einer entsprechenden Source-Auswahlleitung SSL verbunden. Die Drain-Anschlüsse der Drain-Auswahl- Transistoren 220d, die zu einer gemeinsamen Spalte der Speichermatrix 105 gehören, sind mit einer entsprechenden Bitleitung BL verbunden. Umgekehrt sind die Source-Anschlüsse von allen den Source-Auswahl-Transistoren 220s in der Speichermatrix 105 mit einer gemeinsamen Source-Leitung SL verbunden (welche typischerweise auf einer Referenzspannung oder auf Masse gehalten wird).
  • Die Speicherzellen 210, die zu der gleichen Reihe gehören, und die dann mit der gleichen Wortleitung WL verbunden sind, sind logisch in Speicherseiten partitioniert. Angenommen, dass nur im Wege eines Beispiels die Matrix 105 8192 Bitleitungen BL beinhaltet, werden zwei Speicherseiten von 512 Bytes jeweils für jede Wortleitung WL definiert, wobei eine erste Seite zum Beispiel aus den Speicherzellen 210 an einer geraden Position besteht, und eine zweite Seite aus den Speicherzellen 210 an einer ungeraden Position besteht; daher hat, falls, immer noch im Wege eines Beispiels, die Speichermatrix 105 2048 Wortleitungen WL beinhaltet, der Flash-Speicher 100 eine Gesamtzahl von 4096 Speicherseiten von jeweils 512 Bytes.
  • Die Speicherzellen 210 der Matrix 105 sind weiterhin logisch partitioniert in eine Anzahl K von Speicherblöcken 225_1225_K. Jeder allgemeine Speicherblock 225k beinhaltet die gleiche Anzahl von Spalten der Matrix 105 und eine Anzahl von Reihen gleich zu der Anzahl von Speicherzellen 210, die in einem Strang enthalten sind, das heißt, die Speicherzellen 210, die in Serie zwischen eine Drain-Auswahlleitung DSL und eine Source-Auswahlleitung SSL geschaltet sind. Wenn im Wege eines Beispiels angenommen wird, dass jeder Strang 16 Speicherzellen beinhaltet und dass jede Wortleitung WL mit zwei Speicherseiten assoziiert ist, beinhaltet jeder Speicherblock 225_k zweiunddreißig Speicherseiten. Immer noch im Wege eines Beispiels ist, falls die Speichermatrix 105 2048 Wortleitungen WL beinhaltet, die Anzahl K von Speicherblöcken 225_1225_K gleich 128.
  • Es wird darauf hingewiesen, dass die Anzahl von Bitleitungen und Wortleitungen sowie die Größe der Speicherseite und des Speicherblocks in großem Maße variieren können, wobei dies keine Einschränkung für die vorliegende Erfindung ist. Insbesondere kann die Anzahl von Speicherseiten, die mit einer allgemeinen Wortleitung assoziiert sind, höher als zwei sein, insbesondere Vielfache von zwei, wie zum Beispiel vier, acht und so weiter.
  • Wieder Bezug nehmend auf 1, ist die Speichermatrix 105 schematisch partitioniert in die Anzahl K von Speicherblöcken 225_1225_K dargestellt.
  • Das Adressregister 115 wird mit einer Speicheradresse geladen, die durch den Adressbus 112 bereitgestellt wird zur Auswahl einer zu lesenden oder zu programmierenden Speicherseite oder eines zu löschenden Speicherblocks. In der Speicheradresse können drei Teile unterschieden werden, das heißt, ein Teil (Bitleitungsadresse BL_ADD) bezeichnend dafür, welche Bitleitungen BL auszuwählen sind, ein Teil (Blockadresse BLK_ADD) bezeichnend dafür, welcher Speicherblock auszuwählen ist, und ein Teil (Wortleitungsadresse WL_ADD) bezeichnend dafür, welche Wortleitung innerhalb des Speicherblocks auszuwählen ist.
  • Eine Speicherseite wird während eines Lese- oder eines Schreibbetriebs ausgewählt, indem in geeigneter Weise eine gegebene Wortleitung in Reaktion auf die Wortleitungsadresse WL_ADD und der Blockadresse BLK_ADD vorgespannt wird, und durch Auswahl eines Pakets von Bitleitungen BL in Reaktion auf die Bitleitungsadresse BL_ADD. Zum Beispiel, falls zwei Speicherseiten für jede Wortleitung existieren, entspricht eine Seite den Speicherzellen in einer geraden Position, und die andere Seite entspricht den Speicherzellen in ungerader Position. Das Paket von ausgewählten Bitleitungen BL beinhaltet alle die Bitleitungen BL in gerader Position oder alle die Bitleitungen BL in ungerader Position, wobei ein Bit ausreichend ist zur Adressierung des gewünschten Pakets von Bitleitungen. Wenn zum Beispiel angenommen wird, dass der Flash-Speicher 100 4096 Speicherseiten beinhaltet, sind 12 Bits ausreichend zur Auswahl der gewünschten Speicherseite. Wenn insbesondere angenommen wird, dass der Flash-Speicher 100 128 Speicherblöcke beinhaltet, von denen jeder 32 Speicherseiten beinhaltet, besteht die Blockadresse BLK_ADD aus 7 Bits, die Wortleitungsadresse WL_ADD aus 4 Bits und die Bitleitungsadresse BL_ADD aus einem Bit.
  • Ein Speicherblock 225_k wird ausgewählt während einer Löschoperation durch Auswahl der Mehrzahl der assoziierten Wortleitungen und aller Bitleitungen BL.
  • Der Flash-Speicher 100 weist einen Wortleitungs-Vor-Decoder 120 auf, der die Blockadresse BLK_ADD und die Wortleitungsadresse WL_ADD von dem Adressregister 115 empfängt. In Reaktion auf das Vor-Decodieren der Blockadresse BLK_ADD und der Wortleitungsadresse WL_ADD stellt der Wortleitungs-Vor-Decoder 120 eine vordecodierte Wortleitungsadresse PRE_WL_ADD bereit.
  • Die vordecodierte Wortleitungsadresse PRE_WL_ADD wird dann an einen Wortleitungsdecoder 125r bereitgestellt; Steuersignale, die durch die Steuereinheit 110 bereitgestellt werden, sind angepasst anzuzeigen, falls die durchzuführende Operation ein Lesen, Schreiben oder ein Löschen ist. Demgemäß wählt der Wortleitungsdecoder 125r die Drain-Auswahlleitung DSL und die Source-Auswahlleitung SSL des gewünschten Speicherblocks 225_k aus und spannt die assoziierten Wortleitungen auf geeignete Spannungen vor, abhängig von der durchzuführenden Operation.
  • Der Flash-Speicher 100 beinhaltet ebenso einen Spalten-/Block-Multiplexer 130 (im Folgenden kurz bezeichnet als Spalten-/Block-mux), der die Bitleitungs- und Blockadressen BL_ADD und BLK_ADD von dem Adressregister 115 empfängt. Der Spalten-/Block-mux 130 empfängt ebenso ein Steuersignal von der Steuereinheit 110 und gibt in selektiver Weise die Bitleitungsadresse BL_ADD oder die Blockadresse BLK_ADD aus (wie im Folgenden detaillierter beschrieben).
  • Die Bitleitungsadresse BL_ADD oder die Blockadresse BLK_ADD, ausgewählt durch den Spalten-/Block-mux 130, wird an einen Bitleitungsdecoder 125c bereitgestellt. Entsprechend der Decodierung der Adresse, ausgewählt durch den Spalten-/Block-mux 130, ermöglicht ein Datenmultiplexer 135 (Daten-mux) Verbindungen zwischen einem Datenbus 140 des Flash-Speichers 100, bestehend aus einer Anzahl von Signalleitungen gleich der Anzahl von Signalleitungen des Kommunikationsbus' 108 (zum Beispiel sechzehn Signalleitungen), und einem entsprechenden auswählbaren Teil eines Seitenpuffers 145.
  • Das Seitenpuffer 145 ist eingerichtet, ein Datenwort (bestehend aus beispielsweise 512 Bytes) von den Speicherseiten/in die Speicherseiten der Speichermatrix 105 zu lesen/zu schreiben und wird verwendet als eine temporäre Speicherung des Datenworts, das gelesen oder zu schreiben ist während Lese-/Schreib-Operationen auf der Speichermatrix 105. Der Betrieb des Seitenpuffers 145 wird im Allgemeinen gehandhabt bzw. gesteuert durch eine logische Seitenpuffersteuereinheit, schematisiert als ein Block identifiziert mit 147, die jeweilige Steuersignale von der Steuereinheit 110 empfängt.
  • Der Datenbus 140 ist mit dem Kommunikationsbus 108 durch einen R/D-Multiplexer 150 verbunden (im Folgenden kurz bezeichnet als R/D-mux) zum Empfangen des Datenworts, das in eine Speicherseite der Speichermatrix 105 zu schreiben ist, oder zum Übertragen eines Datenworts, das von einer Speicherseite der Speichermatrix 105 gelesen wurde. Das Datenwort wird seriell empfangen von, oder übertragen an die I/O-Schnittstelle I/O in Stücken von p-Datenbits zur gleichen Zeit, wobei p die Anzahl der I/O-Anschlüsse der I/O-Schnittstelle I/O ist (zum Beispiel p = 16). Der R/D-mux 150 wird verwendet, um die empfangenen p- Datenbits sowohl direkt an den Daten-mux 135 und an eine Fehlerüberprüfungs-/Korrekturschaltung 152 (ECC-Schaltung) bereitzustellen. Die ECC-Schaltung 152 stellt zum Beispiel ein Paritätsbit bereit, das verwendet wird zur Fehlerdetektion entsprechend den empfangenen Datenbits; das Paritätsbit wiederum ist an den Daten-mux 135 zusammen mit den entsprechenden Datenbits bereitzustellen. Weiterhin verifiziert, wenn die ECC-Schaltung 152 das Paritätsbit zusammen mit den entsprechenden Datenbits empfängt, diese die Richtigkeit davon und korrigiert einen möglichen Fehler.
  • Datenleitungen DL, die mit dem Seitenpuffer 145 verbunden sind, sind selektiv verbindbar mit den Bitleitungen BL einer ausgewählten Seite, beispielsweise den Bitleitungen BL in gerader oder ungerader Position, durch einen Bitleitungsselektor 155. Der Bitleitungsselektor 155 empfängt die decodierte Bitleitungsadresse von dem Bitleitungsdecoder 125c und selektiert entsprechend die gewünschten Bitleitungen, indem sie auf geeignete Spannungen vorgespannt werden.
  • Während einer Leseoperation wird ein Datenwort, das in der Speicherseite gespeichert ist, die durch den Wortleitungsdecoder 125c und durch den Bitleitungsselektor 155 ausgewählt wird, ausgelesen und zwischengespeichert in dem Seitenpuffer 145, dank der Verbindungen mit den Datenleitungen DL. Nachfolgend wird das gelesene Datenwort, das temporär in dem Seitenpuffer 145 gespeichert ist, vollständig oder teilweise seriell ausgegeben über den Daten-mux 135 in Blöcken von p-Bits zur gleichen Zeit, entsprechend der Auswahl, die durch den Bitleitungsdecoder 125c vorgenommen wurde, auf der Basis der Bitleitungsadresse BL_ADD, und wird auf den Datenbus 140 transferiert. Danach verbindet der R/D-mux 150 den Datenbus 140 mit dem Kommunikationsbus 108, zur Bereitstellung der ausgewählten p-Bitstücke an das I/O-Interface I/O.
  • Während einer Schreiboperation wird das zu schreibende Datenwort von außerhalb des Flash-Speichers 100 über die I/O-Schnittstelle I/O in p-Bitstücken zur gleichen Zeit empfangen, die an den R/D-mux 150 durch den Kommunikationsbus 108 seriell bereitgestellt werden. Danach transferiert der R/D-mux 150 die p-Bitstücke auf den Datenbus 140, wobei das Seitenpuffer 145 folglich mit Datenbits durch den Daten-mux 135 in einer Sequenz von Schritten aufgefüllt wird. Wenn das Seitenpuffer 145 tatsächlich gefüllt wurde, werden die Datenbits, die auf die Datenleitungen DL transferiert werden, parallel in die Speicherzellen einer gegebenen ausgewählten Seite geschrieben.
  • In dieser Weise wird der Daten-mux 135 verwendet zur Anpassung eines internen Datenparallelismus des Flash-Speichers 100 an einen externen Datenparallelismus. Dementsprechend überträgt der Daten-mux 135 p-Datenbits zur gleichen Zeit von dem Seitenpuffer 145 (mit einer Speicherkapazität von beispielsweise 512 Bytes) zu dem Datenbus 140 und umgekehrt; der Daten-mux 135 ist eingerichtet, aufeinanderfolgend geeignete Teile des Seitenpuffers 145 auszuwählen.
  • Zusätzlich enthält der Flash-Speicher 100 gemäß einer Ausführungsform der vorliegenden Erfindung wenigstens einen, vorzugsweise eine Anzahl M von redundanten Speicherblöcken RED_1–RED_M (zum Beispiel M = 4), wobei jeder die gleiche Architektur und Größe hat wie ein allgemeiner Speicherblock 225k. Insbesondere haben die redundanten Speicherblöcke RED_1–RED_M die Bitleitungen BL gemeinsam mit den Speicherblöcken 225_1225_K, wobei zusätzliche Wortleitungen vorgesehen werden zur Auswahl eines allgemeinen redundanten Speicherblocks RED_m oder einer Speicherseite innerhalb des redundanten Speicherblocks RED_m. Die redundanten Speicherblöcke RED_1–RED_M werden verwendet an Stelle der Speicherblöcke 225_1225_K, die sich während einer IC-Testphase vor der Auslieferung oder während der Speicherbetriebslebens dauer als ungültig herausstellen (das heißt, sich als schlechte Blöcke herausstellen), das heißt, die nicht erfolgreich gelesen oder geschrieben werden können. Im Einzelnen, falls ein Speicherblock 225k sich als ungültig herausstellt, kann er nicht mehr zur Speicherung von Daten verwendet werden, wobei einer der redundanten Speicherblöcke RED_1–RED_M statt dessen verwendet wird.
  • Der Flash-Speicher 100 beinhaltet weiterhin ein nicht-flüchtiges Redundanz-Adress-Speicherfeld 185 zur Speicherung eines Abbilds der schlechten Blöcke und von Informationen über die redundanten Speicherblöcke RED_1–RED_M, die als Ersatz verwendet werden.
  • Das Redundanz-Adress-Speicherfeld 185 weist eine Anordnung einer Mehrzahl von Flash-Speicherzellen mit einer NAND-Architektur auf. Das Redundanz-Adress-Speicherfeld 185 kann als Bitleitungen die Datenleitungen DL verwenden, die mit dem Seitenpuffer 145 verbunden sind, in solch einer Weise, dass das Seitenpuffer 145 verwendet wird zum Lesen/Schreiben ebenso des Redundanz-Adress-Speicherfelds 185. Vorzugsweise ist das Redundanz-Adress-Speicherfeld 185 nicht in der Speichermatrix 105 enthalten, separiert durch den Bitleitungsselektor 155. Auf diese Weise werden während einer Schreib- oder einer Löschoperation auf der Speichermatrix 105 die Speicherzellen 210a des Redundanz-Adress-Speicherfelds 185 nicht entsprechendem Stress unterzogen, wobei demgemäß eine größere Zuverlässigkeit sichergestellt wird.
  • Eine beispielhafte Struktur des Redundanz-Adress-Speicherfelds 185 ist mit Bezug auf 3A beschrieben. Die Architektur des Redundanz-Adress-Speicherfelds 185 ist analog zu der Architektur der Speichermatrix, die mit Bezug auf 2 beschrieben wurde und kann zum Beispiel einen einzelnen Block von Speicherzellen 210a aufweisen. Im Einzelnen kann das Redundanz-Adress-Speicherfeld 185 eine einzelne Drain-Auswahlleitung DSLa, eine einzelne Source-Auswahlleitung SSLa und eine gemeinsame Source-Leitung SLa aufweisen. Eine Mehrzahl von Strängen von Speicherzellen 210a ist zwischen die Drain-Auswahlleitung DSLa und die Source-Auswahlleitung SSLa geschaltet mittels jeweiliger Drain-Auswahltransistoren 220da und Source-Auswahltransistoren 220sa.
  • Jede Datenleitung DL kann mit zwei jeweiligen Strängen von Speicherzellen 210a parallel verbunden werden, wobei jeder Strang beispielsweise sechzehn Speicherzellen 210a aufweist, in der Weise, dass eine Schreiboperation auf dem Redundanz-Adress-Speicherfeld 185 ein gleiches Datenbit in zwei Speicherzellen 210a zur gleichen Zeit programmiert. Jede Reihe von Speicherzellen 210a wird gesteuert durch eine jeweilige Wortleitung WLa. Zum Beispiel kann nur eine Reihe von Speicherzellen 210a des Redundanz-Adress-Speicherfelds 185 mit der jeweiligen Wortleitung WLa verwendet werden oder alternativ kann jede Reihe von Speicherzellen 210a die gleichen Datenbits speichern, wobei die Wortleitungen WLa zusammengeschaltet sind. Solch eine Struktur erlaubt vorteilhafterweise, den gleichen Herstellungsprozess und die gleiche Schaltung zum Lesen/Schreiben sowohl der Speichermatrix 105 als auch des Redundanz-AdressSpeicherfelds 185 zu verwenden. Jedoch ist es nicht ausgeschlossen, dass das Redundanz-Adress-Speicherfeld 185 eine unterschiedliche Architektur hat. Außerdem führt die beschriebene Struktur des Redundanz-Adress-Speicherfelds 185 mit zwei parallel ausgewählten Speicherzellen auf der jeweiligen Datenleitung DL zu einer besseren Datenerhaltung und zu einer schnelleren Leseoperation mit Bezug auf ein Speicherfeld, das eine ausgewählte Speicherzelle für jede Datenleitung hat.
  • Unter Betrachtung von 3B ist das Redundanz-Adress-Speicherfeld 185, das in dem Flash-Speicher gemäß der vorliegenden Erfindung enthalten ist, extrem schematisch und logisch partitioniert in eine Anzahl K von Matrixspeicherregistern REG_1–REG_K plus einem Redundanzspeicherregister REG_M dargestellt. Das allgemeine Matrixspeicherregister REG_k ist assoziiert mit einem jeweiligen Speicherblock 225_k, während das Redundanzspeicherregister REG_M assoziiert ist mit den redundanten Speicherblöcken RED_1–RED_M.
  • Das allgemeine Matrixspeicherregister REG_k wird verwendet zur Speicherung eines Flag-Bits AR, das einen niedrigen logischen Wert "0" annimmt, falls der assoziierte Speicherblock 225 ein schlechter Block ist und einen hohen logischen Wert "1" annimmt, wenn der assoziierte Speicherblock 225_k ein "guter" (das heißt, ein funktionierender) Block ist.
  • Falls der assoziierte Speicherblock 225_k ein schlechter Block ist, speichert das Matrixspeicherregister REG_k außerdem eine Redundanzadresse in einem Redundanzadressfeld RED_ADD, welches den redundanten Speicherblock RED_m auswählt, der zum Ersatz verwendet wird. Falls der assoziierte Speicherblock 225_k ein "guter" Block ist, ist die gespeicherte Information in dem Redundanzadressfeld RED_ADD des Matrixspeicherregisters REG_k nicht relevant.
  • Zusätzlich speichert das Matrixspeicherregister REG_k vorzugsweise ein Paritätsbit Np entsprechend dem Inhalt des Redundanzadressfelds RED_ADD.
  • Das Redundanzspeicherregister REG_M wird verwendet zur Speicherung von Information über die redundanten Speicherblöcke RED_1–RED_M. Insbesondere speichert das Redundanzspeicherregister REG_M einen String NSR von M-Flag-Bits F1–FM plus einem Paritätsbit Mp entsprechend dem String NSR. Jedes Flag-Bit F1–FM des Strings NSR wird assoziiert mit einem jeweiligen redundanten Speicherblock RED_1–RED_M; zum Beispiel wird das niedrigstwertige Flag-Bit F1 des Strings NSR assoziiert mit dem redundanten Speicherblock RED_1, das nächstfolgende Flag-Bit F2 mit dem redundanten Speicherblock RED_2 und so weiter. Das höchstwertige Bit FM wird assoziiert mit dem redundanten Speicherblock RED_M. Jedes Flag-Bit F1–FM des Strings NSR nimmt einen niedrigen logischen Wert "0" an, wenn der assoziierte redundante Speicherblock RED_m an Stelle eines der Speicherblöcke 225_1225_k verwendet wird, wohingegen es einen hohen logischen Wert "1" annimmt, wenn der redundante Speicherblock RED m noch immer unbenutzt ist.
  • Noch immer Bezug nehmend auf 1 ist der Flash-Speicher 100 dargestellt in der Weise, dass er eine Feldauswahleinrichtung 190 beinhaltet zur Auswahl der Matrixspeicherregister REG_1–REG_K und des Redundanzspeicherregisters FEG_M.
  • Im Einzelnen werden vor einer Lese-, Schreib- oder Löschoperation die Matrixspeicherregister REG_1–REG_K und das Redundanzspeicherregister REG_M automatisch mittels der Feldauswahleinrichtung 190 ausgewählt, gesteuert durch die Steuereinheit 110, wobei der Inhalt aller dieser Register in das Seitenpuffer 145 geladen wird. Danach werden über den Daten-mux 135 der Inhalt des Redundanzadressfelds RED_ADD von einem der Matrixspeicherregister REG_1–REG_K plus das jeweilige Paritäts-Bit Np und das Flag-Bit AR an die ECC-Schaltung 152 bereitgestellt, gemäß der Auswahl, die durch den Bitleitungsdecoder 125c ausgeführt wird, auf der Basis der Blockadresse BLK_ADD. Der Inhalt des Redundanzadressfelds RED_ADD und das Flag-Bit AR, möglicherweise korrigiert durch die ECC-Schaltung 152, werden dann an den Wortleitungs-Vor-Decoder 120 übertragen.
  • Falls das Flag-Bit AR den hohen logischen Wert "1" annimmt (das heißt, wenn der adressierte Speicherblock 225_k "gut" ist), stellt der Wortleitungs-Vor-Decoder 120 die vorcodierte Wortleitungsadresse PRE_WL_ADD an den Wortleitungsdecoder 125r bereit. Auf der anderen Seite, falls das Flag-Bit AR den niedrigen logischen Wert "0" annimmt (das heißt, wenn der adressierte Speicherblock 225k ein schlechter Block ist), empfängt der Wortleitungs-Vor-Decoder 120 die Redundanzadresse RED_ADD und stellt eine vorcodierte Redundanzadresse PRE_RE_ADD in Reaktion auf die Wortleitungsadresse WL_ADD und auf die Redundanzadresse RED_ADD bereit.
  • Falls das Flag-Bit AR den niedrigen logischen Wert "0" annimmt, wird die vorcodierte Redundanzadresse PRE_RED_ADD an einen redundanten Wortleitungsdecoder 195 bereitgestellt, welcher die Wortleitung(en) des entsprechenden redundanten Speicherblocks RED_1–RE_M auswählt.
  • Im Folgenden werden die Lese-, Schreib- und Löschoperationen, die auf dem Flash-Speicher 100 ausgeführt werden, mit Bezug auf das Flussdiagramm von 4 in Verbindung mit 1 und 3B beschrieben.
  • Eine durchzuführende Operation auf dem Flash-Speicher 100 beginnt bei 403. Bei 406 stellt über den externen Bus 106, der mit der I/O-Schnittstelle I/O verbunden ist, der externe Mikroprozessor an den Flash-Speicher 100 eine Adresse entsprechend der gewünschten Speicherseite der Speichermatrix 105 bereit, die zu lesen oder zu schreiben ist, oder entsprechend einer Speicherseite in einem gewünsch ten Speicherblock, der zu löschen ist. Die Adresse wird in das Adressregister 115 über den Adressbus 112 geladen.
  • Bei 409 wird das Redundanz-Adress-Speicherfeld 185 automatisch mittels der Feldauswahleinrichtung 190 ausgewählt, und sein Inhalt wird auf die Datenleitungen DL transferiert. Das Seitenpuffer 145 liest aus und zwsichenspeichert den Inhalt des gesamten Redundanz-Adress-Speicherfelds 185.
  • Danach stellt der Spalten-/Block-mux 130 die Blockadresse BLK_ADD (entsprechend dem gewünschten adressierten Speicherblock 225_k) an den Bitleitungsdecoder 125c bereit, wobei die decodierte Blockadresse an den Daten-mux 135 bereitgestellt wird. Der Daten-mux 135 wählt den entsprechenden Teil des Seitenpuffers 145, das den Inhalt des Matrixspeicherregisters REG_k speichert (assoziiert mit dem gewünschten adressierten Speicherblock 225k), aus, und transferiert bei 412 das benötigte Flag-Bit AR und den Inhalt des Redundanz-Adressfelds RED_ADD auf den Datenbus 140. Das Flag-Bit AR und der Inhalt des Redundanz-Adressfelds RED_ADD werden dann an den Wortleitungs-Vordecoder 120 bereitgestellt, nachdem es durch die ECC-Schaltung 152 verifiziert und möglicherweise korrigiert wurde.
  • Nachfolgend deselektiert die Feldauswahleinrichtung 190 das Redundanz-Adressspeicherfeld 185, und der Spalten-/Block-mux 130 stellt die Bitleitungsadresse BL_ADD an den Bitleitungsdecoder 125c breit. Der Bitleitungsselektor 155 selektiert die Bitleitungen BL in gerader oder ungerader Position, gemäß der decodierten Bitleitungsadresse.
  • Falls das Flag-Bit AR den logischen Wert "1" annimmt (das heißt, falls der adressierte Speicherblock 225_k "gut" ist), wird die Wortleitungsadresse WL_ADD zusammen mit der Blockadresse BLK_ADD vorcodiert. Die vorcodierte Wortleitungsadresse PRE_WLADD wird an den Wortleitungsdecoder 125r zur Auswahl der gewünschten Wortleitung innerhalb des entsprechenden Speicherblocks 225k (415) bereitgestellt.
  • Falls das Flag-Bit AR statt dessen den logischen Wert "0" annimmt (das heißt, falls der ausgewählte Speicherblock 225_k "schlecht" ist), wird die Wortleitungsadresse WL_ADD zusammen mit dem Inhalt des Redundanz-Adressfelds RED_ADD des ausgewählten Registers REG_k vorcodiert. Danach wird die vorcodierte Redundanzadresse PRE_RED_ADD an den Redundanzdecoder 195 bereitgestellt zur Auswahl der gewünschten Wortleitung innerhalb des redundanten Blocks RED_m, der an Stelle des schlechten Speicherblocks 225_k verwendet wird (418).
  • An 421 stellt der Mikroprozessor weiterhin einen Befehlscode, das heißt, einen Lese-, Schreib- oder Löschbefehlscode bereit, empfangen über den Kommunikationsbus 108 durch die Steuereinheit 110, welche wiederum die entsprechenden Steuersignale Sc an die anderen funktionalen Blöcke des Flash-Speichers 100 bereitstellt. Die Reihenfolge, in welcher die Adresse und der Befehlscode durch den Flash-Speicher 100 empfangen werden, ist nicht bedeutend und hängt insbesondere von dem Kommunikationsprotokoll zwischen dem Flash-Speicher 100 und dem externen Mikroprozessor ab.
  • Es wird angenommen, dass eine Leseoperation auf dem Flash-Speicher 100 durchgeführt werden muss. Das Datenwort, das in der ausgewählten Speicherseite der Speichermatrix 105 gespeichert ist, wird auf die Datenleitungen DL transferiert, und es wird ausgelesen und zwischengespeichert in dem Seitenpuffer 145 (424). Der Daten-mux 135 transferiert das gelesene Datenwort auf den Datenbus 140 in Stücken von p-Datenbits zur gleichen Zeit. Danach werden die Datenbitstücke durch den R/D-mux 150 und den Kommunikationsbus 108 an die I/O-Schnittstelle I/O bereitgestellt, um seriell ausgegeben zu werden (427).
  • Unter der Annahme, dass eine Schreiboperation durchgeführt werden muss, stellt der externe Mikroprozessor weiterhin an den Flash-Speicher 100 ein Datenwort (beispielsweise von 512 Bytes) bereit, das in die ausgewählte Speicherseite zu schreiben ist (430). Das Datenwort wird an den Daten-mux 135 in Datenbitstücken über die I/O-Schnittstelle I/O, den Kommunikationsbus 108 und den Datenbus 140 bereitgestellt. Der Daten-mux 135 lädt das zu schreibende Datenwort in das Seitenpuffer 145 in einer Mehrzahl von Schritten.
  • Der Bitleitungsselektor 155 selektiert das Paket von Bitleitungen BL in gerader oder ungerader Position gemäß der Bitleitungsadresse BL_ADD (wie oben beschrieben); danach transferiert das Seitenpuffer 145 jedes Datenbit auf die jeweilige Datenleitung DL. An 433 wird die Wortleitung WL, die assoziiert ist mit der zu schreibenden Speicherseite, durch den Wortleitungsdecoder 125r oder durch den redundanten Decoder 195 ausgewählt, welche die geeignete Spannung zur Proarammierung der ausgewählten Speicherseite in dem Speicherblock 225k oder in einem der redundanten Speicherblöcke RED_1–RED_M entsprechend anlegen, wobei das Redundanz-Adress-Speicherfeld 185 deselektiert bleibt.
  • In einer Löschoperation (436) selektiert der Bitleitungsselektor 155 alle die Bitleitungen BL, und der Wortleitungsdecoder 125r bringt alle die Wortleitungen des ausgewählten Speicherblocks 225_k, oder der redundante Decoder 195 bringt alle die Wortleitungen des ausgewählten redundanten Blocks RED m auf eine geeignete Spannung.
  • Typischerweise folgt nach einer Schreib- oder Löschoperation auf einem ausgewählten Speicherblock 225_k bei 439 eine Verifizierungsphase (Programmierungsverifizierung oder Löschverifizierung). Falls die Verifizierungsphase den Erfolg der Schreib- oder Löschoperation anzeigt, endet die Operation bei 454.
  • In dem Fall, dass sich in der Verifizierungsphase ein Fehler in dem Speicherblock 225k herausstellt (beispielsweise sind eine oder mehrere Speicherzellen nicht korrekt programmiert oder nicht gelöscht), darf dieser Speicherblock nicht weiter benutzt werden und muss dementsprechend als ein schlechter Block "markiert" werden. Zusätzlich muss gemäß einer Ausführungsform der vorliegenden Erfindung einer der redundanten Blöcke RED_1–RED_M, die noch nicht verwendet werden, mit dem schlechten Speicherblock 225k assoziiert werden und an Stelle dessen verwendet werden.
  • Zu diesem Zweck stellt bei 442 die Steuereinheit 110 des Flash-Speichers 100 einen Verifizierungsfehlercode an den Mikroprozessor bereit über den Kommunikationsbus 108 und die I/O-Schnittstelle I/O.
  • Dementsprechend fordert der Mikroprozessor an, den schlechten Speicherblock 225k mit einem der redundanten Blöcke RED_1–RED_M zu setzen, indem ein entsprechender Befehlscode an den Flash-Speicher 100 bereitgestellt wird. In Reaktion auf den empfangenen Befehlscode selektiert die Feldauswahleinrichtung 190 das Redundanz-Adress-Speicherfeld 185 und das Seitenpuffer 145, liest aus und zwischenspeichert den gesamten Inhalt daraus (445). Der Daten-mux 135 transferiert den Inhalt des Redundanzspeicherregisters REG_M auf den Datenbus 140 zur Bereitstellung an die ECC-Schaltung 152, welche möglicherweise den gelesenen Inhalt korrigiert. Danach wird der Inhalt des Redundanzspeicherregisters REG_M an die Steuereinheit 110 zur Aktualisierung bereitgestellt.
  • Die Steuereinheit 110 decodiert bei 448 den String NSR von Flag-Bits und stellt eine Redundanzadresse entsprechend einem der redundanten Blöcke REG_1–REG_M, die noch nicht verwendet werden, bereit; diese Redundanzadresse muss in das Redundanzadressfeld RED_ADD des Matrixspeicherregisters REG_k geschrieben werden, das mit dem schlechten Speicherblock 225_k assoziiert ist. Zum Beispiel wird angenommen, dass die redundanten Blöcke RED_1–RED_M Redundanzadressen haben, die den Adressen der Speicherblöcke 225_1225_K nachfolgen. Die Steuereinheit 110 kann die Redundanzadresse berechnen, indem eine erste Redundanzadresse eines ersten redundanten Blocks RED 1 nach den Speicherblöcken 225_1225_K bekannt ist; im Einzelnen inkrementiert die Steuereinheit 110 die erste Redundanzadresse abhängig von der Position eines Flag-Bits Fm in dem String NSR, das als nicht gleich "0" befunden wurde. Danach modifiziert die Steuereinheit 110 den empfangenen String NSR, indem das Flag-Bit Fm entsprechend dem assoziierten redundanten Block RED_m gleich dem logischen Wert "0" gemacht wird.
  • Die Steuereinheit 110 empfängt weiterhin den Inhalt des Matrixspeicherregisters REG_k und bringt das Flag-Bit AR auf den logischen Wert "0" und macht den Inhalt des Redundanzadressfelds RED_ADD gleich der berechneten Redundanzadresse des redundanten Blocks RED_m.
  • Die Steuereinheit 110 stellt den aktualisierten Inhalt des Matrixspeicherregisters REG_k und des redundanten Blocks RED m an die ECC-Schaltung 152 zu Berech nung der entsprechenden Paritätsbits Np und Mp und zur Bereitstellung derselben an den Daten-mux 135 und an das Seitenpuffer 145 bereit.
  • Wenn bei 451 der gesamte aktualisierte Inhalt des Redundanz-Adress-Speicherfelds 185 in das Seitenpuffer 145 zwischengespeichert wird, wird das Redundanz-Adress-Speicherfeld 185 ausgewählt (während der Bitleitungsselektor 155 weiter die Bitleitungen BL deselektiert hält) und entsprechend den Datenbits, die auf den Datenleitungen DL transferiert werden, programmiert.
  • Schließlich kann der Mikroprozessor wiederum die Schreib- oder Löschoperation versuchen, indem der gewünschte Speicherblock 225_k adressiert wird; in Reaktion auf die Adresse des schlechten Speicherblocks 225k adressiert der Flash-Speicher 100 automatisch den assoziierten redundanten Block RED m in einer Weise, die für den Mikroprozessor insgesamt transparent ist, wie oben beschrieben.
  • Alternativ kann das Redundanz-Adress-Speicherfeld 185 nicht nur den String NSR von Flag-Bits speichern, die anzeigen, welche redundanten Blöcke RED_1–RED_M bereits verwendet wurden, sondern zusätzlich die entsprechenden Redundanzadressen. Auf diese Weise, wenn die Steuereinheit 110 ein Flag-Bit Fm gleich "1" decodiert, empfängt sie außerdem die benötigte Redundanzadresse, die in das Matrixspeicherregister REG_k zu programmieren ist.
  • Dank dem NAND-Speicher gemäß der vorliegenden Erfindung wird die Handhabung der durchzuführenden Operationen in großem Maße vereinfacht, da die Handhabung der schlechten Blöcke in dem NAND-Speicher intern ist. Die Abbildung der schlechten Blöcke wird innerhalb des NAND-Speichers gespeichert und wird automatisch durch den NAND-Speicher gelesen, bevor eine Operation ausgeführt wird. Falls der adressierte Speicherblock als ein schlechter Block erkannt wird, adressiert der NAND-Speicher automatisch den assoziierten redundanten Block in einer Weise, die für den Benutzer insgesamt transparent ist, wobei dadurch "Kontinuität" für die Speicherblöcke bereitgestellt wird, da der NAND-Speicher die zufällig verstreuten schlechten Blöcke vor dem Mikroprozessor "versteckt". Der Benutzer schreitet erst ein, nachdem ein Fehler einer Schreib- oder Löschoperation aufgetreten ist, jedoch tritt dies typischerweise nur zu einem kleinen Prozentsatz von Speicherblöcken auf.
  • Außerdem wird durch Vorsehen einer ausreichenden Anzahl von Speicherblöcken der NAND-Speicher nicht einer Reduktion seiner Speicherkapazität unterworfen, wenn schlechte Blöcke während der Betriebslebensdauer gefunden werden.
  • Es muss betrachtet werden, dass außerdem das Fehlschlagen einer Lösch- oder einer Schreiboperation vollständig innerhalb des Flash-Speichers gehandhabt werden kann. Tatsächlich kann nach dem Fehler der Mikroprozessor nicht durch den Fehlercode informiert werden, und der Flash-Speicher könnte automatisch einen schlechten Block mit einem redundanten Block ersetzen. Auf diese Weise können Operationen, die zu der funktionalen Ersetzung eines schlechten Blocks durch einen redundanten Block führen, vollständig intern gehandhabt werden, ohne die Interaktion mit dem externen Mikroprozessor.
  • Außerdem sollte herausgestellt werden, dass die gefundene Lösung für das Erhalten der oben genannten Vorteile nicht die Leistungsfähigkeit des Flash-Speichers gemäß der Ausführungsform der vorliegenden Erfindung beeinflusst und hat insbesondere keinen Einfluss auf die Betriebsgeschwindigkeit.
  • Obwohl in der vorhergehenden Beschreibung Bezug gemacht wurde auf ein Seitenpuffer mit einer Speicherkapazität gleich der Datenkapazität einer Speicherseite, kann das Seitenpuffer eine größere Größe haben. Die Speicherseiten können außerdem einen Reservebereich beinhalten, der beispielsweise verwendet wird zur Speicherung von Paritätsbits entsprechend dem gespeicherten Datenwort, wobei dementsprechend der Flash-Speicher eine weitere ECC-Schaltung zur Verifizierung der Richtigkeit eines Datenworts enthalten kann, das aus einer Speicherseite gelesen wurde oder in eine Speicherseite zu schreiben ist. Jedoch kann die gleiche ECC-Schaltung, die für das Redundanz-Adress-Speicherfeld verwendet wurde, ebenso für die Datenworte verwendet werden.
  • Obwohl die vorliegende Erfindung im Wege einer Ausführungsform offenbart und beschrieben wurde, ist es für den Fachmann offensichtlich, dass einige Modifika tionen der beschriebenen Ausführungsform sowie andere Ausführungsformen der vorliegenden Erfindung möglich sind, ohne von dem Schutzbereich abzuweichen, wie in den beiliegenden Ansprüchen definiert.

Claims (10)

  1. Elektrisch programmierbarer Speicher (100) beinhaltend: ein Feld (105) einer Mehrzahl von Speicherzellen (210), die gemäß einer NAND-Architektur angeordnet sind, wobei die Speicherzellen in einer Mehrzahl von Speicherblöcken (225_1225_K) gruppiert sind und jeder Speicherblock eine Mehrzahl von Speicherseiten beinhaltet; eine Einrichtung zum Empfangen (106, I/O, 112, 115) einer Adresse, die einem betreffenden Speicherblock entspricht; eine Auswahleinrichtung (120, 125r, 195, 125r, 130, 155) zur Auswahl des adressierten Speicherblocks; und eine Einrichtung zur Detektion (REG_1–REG_K, 135, 145, 147) eines Fehlers des adressierten Speicherblocks, wobei die Einrichtung zur Detektion eines Fehlers beinhaltet: eine Mehrzahl von Registern (REG_1–REG_K), wobei jedes Register eine Angabe (AR, RED_ADD) des Fehlers des jeweiligen Speicherblocks speichert; und eine Einrichtung zum Lesen (135, 145, 147) des Registers entsprechend dem adressierten Speicherblock in Reaktion auf das Empfangen der Adresse, wobei der programmierbare Speicher weiterhin wenigstens einen redundanten Speicherblock (RED_1–RED_M) von Speicherzellen beinhaltet, der eine Mehrzahl von redundanten Speicherseiten beinhaltet, wobei die Auswahleinrichtung den wenigstens einen redundanten Speicherblock anstelle des adressierten Speicherblocks in Reaktion auf das Lesen der Angabe des Fehlers auswählt, dadurch gekennzeichnet, dass jedes Register (REG_1–REG_K) einem betreffenden Speicherblock (225_1225_K) entspricht.
  2. Elektrisch programmierbarer Speicher nach Anspruch 1, in welchem jedes Register der Mehrzahl eine Mehrzahl von elektrisch programmierbaren nicht flüchtigen Speicherzellen (210a) beinhaltet zur Speicherung der Angabe des Fehlers des jeweiligen Speicherblocks in einer nicht-flüchtigen Weise.
  3. Elektrisch programmierbarer Speicher nach Anspruch 2, in welchem die Mehrzahl von elektrisch programmierbaren nicht-flüchtigen Speicherzellen der Mehrzahl von Registern wenigstens einen weiteren Speicherblock bildet, der wenigstens eine weitere Speicherseite der elektrisch programmierbaren nicht-flüchtigen Speicherzellen beinhaltet.
  4. Elektrisch programmierbarer Speicher nach einem der vorangehenden Ansprüche, in welchem die Adresse weiterhin einer zu lesenden oder zu schreibenden Speicherseite entspricht, die in dem adressierten Speicherblock beinhaltet ist, wobei die Auswahleinrichtung außerdem die Speicherseite oder die wenigstens eine redundante Speicherseite in dem wenigstens einen redundanten Speicherblock in Reaktion auf das Lesen der Angabe des Fehlers des adressierten Speicherblocks auswählt.
  5. Elektrisch programmierbarer Speicher nach Anspruch 4, weiterhin beinhaltend ein Seitenpuffer (135, 145, 147) zum Lesen/Programmieren der Speicherseite entsprechend der empfangenen Adresse, wobei das Seitenpuffer die Einrichtung zum Lesen des Registers entsprechend dem adressierten Speicherblock beinhaltet.
  6. Elektrisch programmierbarer Speicher nach einem der vorangehenden Ansprüche, in welchem der wenigstens eine redundante Speicherblock eine Mehrzahl von redundanten Speicherblöcken (RED_1–RED_M) beinhaltet, in welchem die Angabe des Fehlers eine Redundanzadresse (RED_ADD) entsprechend einem jeweiligen redundanten Speicherblock beinhaltet, der anstelle des adressierten Speicherblocks auszuwählen ist, und in welchem die Einrichtung zum Lesen außerdem eine Einrichtung zum Bereitstellen (135) der gelesenen redundanten Adresse an die Auswahleinrichtung beinhaltet.
  7. Elektrisch programmierbarer Speicher nach einem der vorangehenden Ansprüche, weiterhin beinhaltend: eine Einrichtung zur Verifikation eines Fehlers des adressierten Speicherblocks in Ausführung einer angeforderten Operation; und eine Einrichtung zur Aktualisierung (145) der Angabe des Fehlers des adressierten Speicherblocks.
  8. Elektrisch programmierbarer Speicher nach Anspruch 7, in welchem das Seitenpuffer weiterhin die Einrichtung zur Aktualisierung beinhaltet.
  9. Elektrisch programmierbarer Speicher nach Anspruch 7 oder 8, weiterhin beinhaltend eine Steuerungseinrichtung (110) zur internen Handhabung der Einrichtung zur Aktualisierung.
  10. Verfahren zum Betrieb eines elektrisch programmierbaren Speichers (100) beinhaltend ein Feld (105) einer Mehrzahl von Speicherzellen (210), die gemäß einer NAND-Architektur angeordnet sind, wobei die Speicherzellen in einer Mehrzahl von Speicherblöcken (225_1225_K) gruppiert sind und jeder Speicherblock eine Mehrzahl von Speicherseiten beinhaltet, wobei das Verfahren umfasst: Empfangen einer Adresse (406) entsprechend einem betreffenden Speicherblock; Auswählen des adressierten Speicherblocks (415, 418); und Feststellen eines Fehlers des adressierten Speicherblocks (409, 412), wobei das Feststellen eines Fehlers beinhaltet: Speichern einer Angabe (AR, RED_ADD) des Fehlers eines jeden Speicherblocks in einer Mehrzahl von Registern (REG_1–REG_K), die in dem programmierbaren Speicher enthalten sind, wobei jedes Register einem betreffenden Speicherblock entspricht; und Lesen (409, 412) der Angabe des Fehlers aus dem Register entsprechend dem adressierten Speicherblock in Reaktion auf das Empfangen der Adresse, und wobei das Verfahren weiterhin beinhaltet: Bereitstellen wenigstens eines redundanten Speicherblocks (RED_1–RED_M) von Speicherzellen beinhaltend eine Mehrzahl von redundanten Speicherseiten; und Auswählen (418) des wenigstens einen redundanten Speicherblocks anstelle des adressierten Speicherblocks in Reaktion auf das Lesen der Angabe des Fehlers.
DE602004002947T 2004-07-14 2004-07-14 NAND Flash Speicher mit Speicherredundanz Active DE602004002947T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP04103354A EP1617438B1 (de) 2004-07-14 2004-07-14 NAND Flash Speicher mit Speicherredundanz

Publications (2)

Publication Number Publication Date
DE602004002947D1 DE602004002947D1 (de) 2006-12-07
DE602004002947T2 true DE602004002947T2 (de) 2007-06-28

Family

ID=34929325

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004002947T Active DE602004002947T2 (de) 2004-07-14 2004-07-14 NAND Flash Speicher mit Speicherredundanz

Country Status (3)

Country Link
US (1) US7733697B2 (de)
EP (1) EP1617438B1 (de)
DE (1) DE602004002947T2 (de)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8175345B2 (en) 2004-04-16 2012-05-08 Validity Sensors, Inc. Unitized ergonomic two-dimensional fingerprint motion tracking device and method
US8447077B2 (en) 2006-09-11 2013-05-21 Validity Sensors, Inc. Method and apparatus for fingerprint motion tracking using an in-line array
US8229184B2 (en) 2004-04-16 2012-07-24 Validity Sensors, Inc. Method and algorithm for accurate finger motion tracking
US8358815B2 (en) 2004-04-16 2013-01-22 Validity Sensors, Inc. Method and apparatus for two-dimensional finger motion tracking and control
US8131026B2 (en) 2004-04-16 2012-03-06 Validity Sensors, Inc. Method and apparatus for fingerprint image reconstruction
EP1800243B1 (de) 2004-10-04 2010-08-11 Validity Sensors, Inc. Fingerabdruckerfassende konstruktionen mit einem substrat
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
KR101197556B1 (ko) * 2006-01-09 2012-11-09 삼성전자주식회사 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드
US7508708B2 (en) * 2006-03-30 2009-03-24 Micron Technology, Inc. NAND string with a redundant memory cell
US7529969B1 (en) * 2006-08-24 2009-05-05 Micron Technology, Inc. Memory device internal parameter reliability
US8290150B2 (en) * 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
KR20090014823A (ko) * 2007-08-07 2009-02-11 삼성전자주식회사 배드 블록을 리맵핑하는 플래시 메모리 장치 및 그것의배드 블록의 리맵핑 방법
EP2043105A1 (de) 2007-09-26 2009-04-01 Siemens Aktiengesellschaft Kopierverfahren für NAND-Flash-Speicher
US8204281B2 (en) 2007-12-14 2012-06-19 Validity Sensors, Inc. System and method to remove artifacts from fingerprint sensor scans
US8276816B2 (en) 2007-12-14 2012-10-02 Validity Sensors, Inc. Smart card system with ergonomic fingerprint sensor and method of using
US8116540B2 (en) 2008-04-04 2012-02-14 Validity Sensors, Inc. Apparatus and method for reducing noise in fingerprint sensing circuits
US7940582B2 (en) * 2008-06-06 2011-05-10 Qimonda Ag Integrated circuit that stores defective memory cell addresses
GB2474999B (en) 2008-07-22 2013-02-20 Validity Sensors Inc System and method for securing a device component
US8391568B2 (en) 2008-11-10 2013-03-05 Validity Sensors, Inc. System and method for improved scanning of fingerprint edges
US8600122B2 (en) 2009-01-15 2013-12-03 Validity Sensors, Inc. Apparatus and method for culling substantially redundant data in fingerprint sensing circuits
US8278946B2 (en) 2009-01-15 2012-10-02 Validity Sensors, Inc. Apparatus and method for detecting finger activity on a fingerprint sensor
US8374407B2 (en) 2009-01-28 2013-02-12 Validity Sensors, Inc. Live finger detection
KR20110001058A (ko) * 2009-06-29 2011-01-06 주식회사 하이닉스반도체 불휘발성 메모리 소자의 동작 방법
US8750059B2 (en) * 2009-08-12 2014-06-10 Taiwan Semiconductor Manufacturing Company, Ltd. Self-repairing memory
US9336428B2 (en) * 2009-10-30 2016-05-10 Synaptics Incorporated Integrated fingerprint sensor and display
US9274553B2 (en) 2009-10-30 2016-03-01 Synaptics Incorporated Fingerprint sensor and integratable electronic display
US8866347B2 (en) 2010-01-15 2014-10-21 Idex Asa Biometric image sensing
US8791792B2 (en) 2010-01-15 2014-07-29 Idex Asa Electronic imager using an impedance sensor grid array mounted on or about a switch and method of making
US8421890B2 (en) 2010-01-15 2013-04-16 Picofield Technologies, Inc. Electronic imager using an impedance sensor grid array and method of making
US8238178B2 (en) 2010-02-12 2012-08-07 Taiwan Semiconductor Manufacturing Company, Ltd. Redundancy circuits and operating methods thereof
US9666635B2 (en) 2010-02-19 2017-05-30 Synaptics Incorporated Fingerprint sensing circuit
US8716613B2 (en) 2010-03-02 2014-05-06 Synaptics Incoporated Apparatus and method for electrostatic discharge protection
US9001040B2 (en) 2010-06-02 2015-04-07 Synaptics Incorporated Integrated fingerprint sensor and navigation device
KR101660985B1 (ko) * 2010-07-09 2016-10-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US8331096B2 (en) 2010-08-20 2012-12-11 Validity Sensors, Inc. Fingerprint acquisition expansion card apparatus
US8594393B2 (en) 2011-01-26 2013-11-26 Validity Sensors System for and method of image reconstruction with dual line scanner using line counts
US8538097B2 (en) 2011-01-26 2013-09-17 Validity Sensors, Inc. User input utilizing dual line scanner apparatus and method
US9406580B2 (en) 2011-03-16 2016-08-02 Synaptics Incorporated Packaging for fingerprint sensors and methods of manufacture
US9202569B2 (en) * 2011-08-12 2015-12-01 Micron Technology, Inc. Methods for providing redundancy and apparatuses
KR101797565B1 (ko) * 2011-08-22 2017-12-12 삼성전자 주식회사 불량 페이지를 관리하는 메모리 장치
US10043052B2 (en) 2011-10-27 2018-08-07 Synaptics Incorporated Electronic device packages and methods
US9195877B2 (en) 2011-12-23 2015-11-24 Synaptics Incorporated Methods and devices for capacitive image sensing
US9785299B2 (en) 2012-01-03 2017-10-10 Synaptics Incorporated Structures and manufacturing methods for glass covered electronic devices
US9268991B2 (en) 2012-03-27 2016-02-23 Synaptics Incorporated Method of and system for enrolling and matching biometric data
US9251329B2 (en) 2012-03-27 2016-02-02 Synaptics Incorporated Button depress wakeup and wakeup strategy
US9137438B2 (en) 2012-03-27 2015-09-15 Synaptics Incorporated Biometric object sensor and method
US9600709B2 (en) 2012-03-28 2017-03-21 Synaptics Incorporated Methods and systems for enrolling biometric data
US9152838B2 (en) 2012-03-29 2015-10-06 Synaptics Incorporated Fingerprint sensor packagings and methods
US20130279769A1 (en) 2012-04-10 2013-10-24 Picofield Technologies Inc. Biometric Sensing
KR20130136734A (ko) * 2012-06-05 2013-12-13 에스케이하이닉스 주식회사 불휘발성 메모리 장치
US9111648B2 (en) 2012-08-28 2015-08-18 Apple Inc. Redundancy schemes for non-volatile memory based on physical memory layout
US9665762B2 (en) 2013-01-11 2017-05-30 Synaptics Incorporated Tiered wakeup strategy
JP5714681B2 (ja) * 2013-10-25 2015-05-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
FR3044817B1 (fr) 2015-12-02 2017-12-22 St Microelectronics Rousset Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant
US9905315B1 (en) * 2017-01-24 2018-02-27 Nxp B.V. Error-resilient memory device with row and/or column folding with redundant resources and repair method thereof
CN106951297B (zh) * 2017-04-06 2020-07-28 惠州佰维存储科技有限公司 嵌入式多媒体卡的生产方法及其系统
KR20190084488A (ko) * 2018-01-08 2019-07-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11438574B2 (en) 2020-10-26 2022-09-06 Semiconductor Components Industries, Llc Stitched integrated circuit dies

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05109292A (ja) * 1991-10-14 1993-04-30 Toshiba Corp 不揮発性半導体記憶装置
EP0637034B1 (de) * 1993-07-26 1999-01-13 STMicroelectronics S.r.l. Verfahren zur Erkennung fehlerhafter Elemente eines redundanten Halbleiterspeichers
DE69411532T2 (de) * 1994-02-17 1999-03-04 St Microelectronics Srl Verfahren zur Programmierung von Redundanzregistern in einer Zeilenredundanzschaltung für einen Halbleiterspeicherbaustein
FR2716743B1 (fr) * 1994-02-28 1996-09-27 Sgs Thomson Microelectronics Circuit de redondance de mémoire.
JP4413406B2 (ja) * 2000-10-03 2010-02-10 株式会社東芝 不揮発性半導体メモリ及びそのテスト方法
JP4250325B2 (ja) * 2000-11-01 2009-04-08 株式会社東芝 半導体記憶装置
US6614685B2 (en) * 2001-08-09 2003-09-02 Multi Level Memory Technology Flash memory array partitioning architectures

Also Published As

Publication number Publication date
EP1617438A1 (de) 2006-01-18
DE602004002947D1 (de) 2006-12-07
EP1617438B1 (de) 2006-10-25
US7733697B2 (en) 2010-06-08
US20060018159A1 (en) 2006-01-26

Similar Documents

Publication Publication Date Title
DE602004002947T2 (de) NAND Flash Speicher mit Speicherredundanz
DE102006001492B4 (de) Halbleiterspeicheranordnung und Verfahren zum Betreiben einer Halbleiterspeicheranordnung
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE102005045031B4 (de) Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement
DE60129710T2 (de) Anordnung und struktur für zuverlässige dateikopieoperation für nicht-flüchtige speicher
DE102005033165B4 (de) Nichtflüchtiges Speicherbauelement, Programmier- und Schreibverfahren
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE69630624T2 (de) EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern
DE60211653T2 (de) Teildatenprogrammier- und leseoperationen in einem nichtflüchtigen speicher
DE60132830T2 (de) Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher
DE19880311B3 (de) Nichtflüchtige Speicherstruktur
DE102005063166B4 (de) Nicht-flüchtiges Speicherelement und Verfahren zur Programmierüberprüfung in einem nicht-flüchtigen Speicherelement
DE602004010239T2 (de) Verbesserter Seitenspeicher für eine programmierbare Speichervorrichtung
DE102019123709A1 (de) Verwendung verschachtelter schreibvorgänge zur trennung von die-ebenen
DE112005003436B4 (de) Halbleiterbauelement, Adressenzuordnungsverfahren und Verifizierungsverfahren
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE10026993B4 (de) Flash-Speicherbauelement mit einer neuen Redundanzansteuerschaltung
DE102006016247A1 (de) Speicher, Datenverarbeitungssystem, Steuereinheit und Steuerverfahren
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102008003944A1 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE112010000955T5 (de) NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung
DE102018117357A1 (de) Speichervorrichtung mit einer Schaltung zum Erfassen eines Wortleitungsdefektes und Betriebsverfahren derselben
DE69930439T2 (de) Elektrische Vorrichtung mit integriertem Flashspeicher
DE102007039844A1 (de) Flashspeicherelement und Speichersystem
DE102007061406A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speicherkarte

Legal Events

Date Code Title Description
8364 No opposition during term of opposition