[go: up one dir, main page]

DE60102466T2 - Zwei-tor cam speicher für simultanen flash speicher betrieb - Google Patents

Zwei-tor cam speicher für simultanen flash speicher betrieb Download PDF

Info

Publication number
DE60102466T2
DE60102466T2 DE60102466T DE60102466T DE60102466T2 DE 60102466 T2 DE60102466 T2 DE 60102466T2 DE 60102466 T DE60102466 T DE 60102466T DE 60102466 T DE60102466 T DE 60102466T DE 60102466 T2 DE60102466 T2 DE 60102466T2
Authority
DE
Germany
Prior art keywords
cam
memory
cell
memory cell
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60102466T
Other languages
English (en)
Other versions
DE60102466D1 (de
Inventor
Ali Al-Shamma
Lee Cleveland
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.)
Spansion LLC
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Application granted granted Critical
Publication of DE60102466D1 publication Critical patent/DE60102466D1/de
Publication of DE60102466T2 publication Critical patent/DE60102466T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
    • G11C29/789Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/046Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Description

  • Die vorliegende Erfindung betrifft generell Halbleiter-Speichervorrichtungen. Insbesondere betrifft die vorliegende Erfindung inhaltsadressierbare Zweiport-Speicher für einen Simultanoperations-Flash-Speicher.
  • Ein Flash-Direktzugriffsspeicher (RAM), der allgemein als Flash-Speicher bekannt ist, ist eine Form von nichtflüchtigem Speicher, bei dem eine Speicherzellenkonfiguration mit einem Floating-Gate verwendet wird. Zum Programmieren oder Speichern einer Ladung an dem Floating-Gate oder Löschen oder Entfernen einer Ladung von dem Floating-Gate werden hohe Spannungen an die Speicherzelleneingänge angelegt. Das Programmieren erfolgt durch Heißelektroden-Transfer zum Aufbringen einer Ladung auf das Floating-Gate, wohingegen beim Löschen die Fowler-Nordheim-Tunnelung verwendet wird, bei der Elektronen ein dünnes dielektrisches Material durchbohren, wodurch das Maß an elektrischer Ladung an dem Floating-Gate reduziert wird. Durch das Löschen einer Zelle wird der logische Wert der Zelle auf "1" gesetzt, während durch das Programmieren der Zelle der logische Wert auf "0" gesetzt wird. Abgesehen von den Programmier- und Löschoperationen arbeitet ein Flash-Speicher auf im wesentlichen gleiche Weise wie ein Direktzugriffs-Festwertspeicher (ROM). Herkömmlicherweise wird ein Flash-Speicher-Chip, einschließlich der Flash-Speicher-Abspeicherzellen und der Unterstützungslogik/ -schaltungsanordnung durch Ausbilden von Schichten aus Halbleitermaterial und Verbindungsschichten aus Polysilizium und ersten und zweiten Metallschichten auf einem Substrat hergestellt. Es sei darauf hingewiesen, dass es zahlreiche Techniken zum Herstellen von integrierten Schaltungen gibt, bei denen mehr oder weniger Schichten vorgesehen sind, die in den Umfang dieser Anmeldung fallen.
  • Es werden redundante Kernzellenarrays zum Ersetzen inoperativer Speicherkernzellen von primären oder regulären Arrays verwendet. Eine inhaltsadressierbare Speicher- (CAM-) Schaltungsanordnung kann zum Unterstützen des Ersetzens durch redundante Arrays verwendet werden. Redundanz-CAM-Zellen speichern Informationen über die Stellen inoperativer Speicherzellen, so dass redundante Arrays von Speicherzellen zum Ersetzen der inoperativen Speicherzellen der Primärarrays verwendet werden können.
  • In dem Dokument US-A-6 006 313 ist eine Halbleiter-Speichervorrichtung beschrieben, die eine Neukonfigurierung um defekte Zonen in einem Speicherarray herum ermöglicht, wobei eine CAM-Daten-Einstelleinrichtung zum Speichern von CAM-Daten und Festlegen einer zu invalidierenden Speicherregion vorgesehen ist, wobei die CAM-Daten von einer externen Quelle kommen.
  • Typischerweise werden die Speicherzellenarrays vor der Verwendung durch einen Kunden oder Benutzer von dem Hersteller auf Leistungsfähigkeit und Genauigkeit geprüft. Die Redundanz-CAM-Zellen werden gegebenenfalls nach der Prüfphase mit den Stellen der inoperativen Speicherzellen gelöscht und programmiert.
  • Neuere Technologien, wie z. B. Simultan-Lese- und Schreiboperations-Flash-Speicher, bieten Gelegenheiten zum Neuauslegen von CAM-Schaltungsanordnungen und -Architekturen, um den höheren Standards hinsichtlich der Leistungsfähigkeit von Systemen und der Vorrichtungsdichte zu entsprechen. Es wäre wünschenswert, eine effizientere Redundanz-CAM-Schaltungsanordnung und -Architektur in einen Flash-Speicher zu implementieren.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockschaltbild eines Speichers gemäß einer derzeit bevorzugten Ausführungsform;
  • 2 zeigt ein beispielhaftes Kernzellenarray mit Primärarrays und redundanten Arrays entsprechend dem in 1 gezeigten Speicher;
  • 3 zeigt ein Schaltschema einer beispielhaften CAM-Stufe und einer dazugehörigen Ausgangsschaltungsanordnung entsprechend dem in 1 gezeigten Speicher;
  • 4 zeigt ein Blockschaltbild eines beispielhaften CAM-Stufenarrays und einer dazugehörigen Ausgangsschaltungsanordnung entsprechend dem in 1 gezeigten Speicher und dem beispielhaften Kernzellenarray aus 2;
  • 5 zeigt ein Blockschaltbild mit Darstellung einer beispielhaften Gruppe von CAM-Stufen, die einem Vertikalarray des in 2 gezeigten beispielhaften Kernzellenarrays zugeordnet sind; und
  • 6 zeigt ein Schaltschema einer beispielhaften Gruppe von CAM-Stufen mit gemeinsam genutzter Ausgangsschaltungsanordnung entsprechend dem in 2 gezeigten Speicher.
  • DETAILLIERTE BESCHREIBUNG DER DERZEIT BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Redundante Kernzellenarrays werden zum Ersetzen inoperativer Speicherkernzellen von primären oder regulären Arrays verwendet. Eine inhaltsadressierbare Speicher- (CAM-) Schaltungsanordnung kann zum Unterstützen des Ersetzens durch redundante Arrays verwendet werden. Redundanz-CAM-Zellen speichern Informationen über die Stellen inoperativer Speicherzellen, so dass redundante Arrays von Speicherzellen zum Ersetzen der inoperativen Speicherzellen der Primärarrays verwendet werden können.
  • Typischerweise werden die Speicherzellenarrays vor der Verwendung durch einen Kunden oder Benutzer von dem Hersteller auf Leistungsfähigkeit und Genauigkeit geprüft. Die Redundanz-CAM-Zellen werden gegebenenfalls nach der Prüfphase mit den Stellen der inoperativen Speicherzellen gelöscht und programmiert.
  • Kernzellen im Speicher können byte- oder wortadressierbar sein. Wenn eine spezielle Operation an einem Primärarray durchzuführen ist, wird eine Adresse für die Operation geliefert. Vor dem Zugreifen auf die Speicherzellenstelle für das Primärarray wird die Adresse mit Adresseninformationen bezüglich der Stelle der inoperativen Speicherzellen verglichen. Wenn die Adresse mit einer Stelle einer Gruppe inoperativer Speicherzellen übereinstimmt, wird die Adresse zu dem redundanten Array umgeleitet. Die Operation erfolgt dann an dem redundanten Array. Wenn die Adresse nicht mit einer Stelle einer Gruppe inoperativer Speicherzellen übereinstimmt, wird die Adresse an das Primärarray angelegt und wird die Operation an dem Primärarray durchgeführt. Typischerweise erfolgt das Ersetzen der Primärarray-Speicherzellen durch Speicherzellen eines redundanten Arrays nahtlos und ist für den Benutzer des Speichers transparent.
  • Neuere Technologien, wie z. B. Simultan-Lese- und Schreiboperations-Flash-Speicher, bieten Gelegenheiten zum Neuauslegen von CAM-Schaltungsanordnungen und -Architekturen, um den höheren Standards hinsichtlich der Leistungsfähigkeit von Systemen und der Vorrichtungsdichte zu entsprechen. Bei den hier beschriebenen derzeit bevorzugten Ausführungsformen wird eine effizientere Redundanz-CAM-Schaltungsanordnung und -Architektur in einen Speicher, wie z. B. einen Flash-Speicher, implementiert.
  • Eine CAM-Zelle ist zum Speichern von Informationen bezüglich einer Stelle einer inoperativen Speicherzelle in einem Primärzellenkernarray vorgesehen. Typischerweise macht die inoperative Speicherzelle ein Ersetzen durch eine Speicherzelle eines redundanten Arrays erforderlich. Die in der CAM-Zelle gespeicherten Informationen können sich ferner darauf beziehen, ob eine Speicherzelle, die von einer Operationsadresse des Primärkernzellenarrays adressiert wird, durch eine Speicherzelle eines redundanten Arrays ersetzt werden muss. Da eine einzelne CAM-Zelle oder eine Gruppe von CAM-Zellen Informationen speichern kann, anhand derer festgestellt wird, ob sich eine Operationsadresse auf eine Stelle einer inoperativen Speicherzelle in einem Kernzellenarray bezieht, und da die Operationsadresse für eine Lese- oder eine Schreiboperation verwendet werden kann, wird generell erwartet, das eine einzelne CAM-Zelle oder eine Gruppe von CAM-Zellen zum separaten Speichern von Informationen für jede Operation in einen speziellen Bereich erforderlich ist.
  • Bei Simultanoperation wird jedoch das gleichzeitige Durchführen einer Leseund einer Schreiboperation in der gleichen Bank eingeschränkt. Es können zusätzliche einschränkende Kriterien hinsichtlich einer gleichzeitig erfolgenden Lese- und Schreiboperation zur Anwendung kommen. Daher kann gemäß den derzeit bevorzugten Ausführungsformen auf eine einzelne Zweiport-CAM-Zelle oder eine Gruppe von CAM-Zellen, die Informationen bezüglich der Stelle der inoperativen Speicherzelle in dem Kernzellenarray speichern, während einer Leseoperation und während einer Schreiboperation zugegriffen werden. Aufgrund der Einschränkungen bei gleichzeitig erfolgender Lese- und Schreiboperation kann auf die CAM-Zelle oder -Zellen ohne Berücksichtigung des gleichzeitigen Zugriffs auf eine einzelne CAM-Zelle oder ein Gruppe von CAM-Zellen zugegriffen werden. Je nach Auslegung kann die Zweiport-Konfiguration der CAM-Zelle die gleichzeitig erfolgende Operation ausnutzen, um die Effizienz des CAM-Zellen-Layout zu verbessern und die Anzahl von Vorrichtungen und peripheren Schaltungsanordnungen zu reduzieren.
  • Diese Aufgaben werden in vorteilhafter Weise grundsätzlich durch die Merkmale der unabhängigen Ansprüche gelöst. Weitere Verbesserungen werden durch die Unteransprüche geschaffen.
  • 1 zeigt ein Blockschaltbild eines Speichers 100 gemäß einer derzeit bevorzugten Ausführungsform. Bei der dargestellten Ausführungsform ist der Speicher 100 als Flash-Speicher in Form einer integrierten Komplementär-Metall-Oxid-Halbleiter- (CMOS-) Schaltung zum Speichern von Digitaldaten ausgebildet. Der Speicher 100 kann jedoch in einer beliebigen anderen Form ausgebildet sein, und es können die hier beschriebenen Prinzipien auf eine beliebige andere geeignete Schaltung angewendet werden, bei der eine Simultanoperation eine Zweiport-CAM-Architektur ermöglicht. Der Speicher 100 weist ein Kernzellenarray 102, einen Decoder 104, eine Adressenpuffer-Schaltungsanordnung 108, eine Redundanz-CAM-Schaltungsanordnung 106, eine Steuerlogikschaltung 110 und eine Leseverstärkungs- und -Ausgangsschaltungsanordnung 112 auf. Die Steuerlogikschaltung 110 ist mit dem Decoder 104, der Adressenpuffer-Schaltungsanordnung 108 und der Leseverstärkungs- und -Ausgangsschaltungsanordnung 112 gekoppelt. Die Steuerlogikschaltung 110 erzeugt eine Folge von Lese- und Schreibauswahl-Operationssignalen RSEL, WSEL und verteilt die Signale an den Decoder 104 und die Redundanz-CAM-Schaltungsanordnung 106. Vorzugsweise verteilt die Steuerlogikschaltung 110 Zeitsteuer- und andere Steuersignale für den Speicher 100.
  • Das Kernzellenarray 102 weist mehrere Speicherzellen auf, von denen jede zum Speichern von Daten vorgesehen ist. Bei einigen Anwendungen kann jede Speicherzelle ein einziges Datenbit speichern; bei anderen Anwendungen kann jede Speicherzelle zwei oder mehr Datenbits speichern. Die Speicherzellen des Kernzellenarrays 102 können byte- oder wortadressierbar sein, und es wird über eine entsprechende Adresse der Adressenpuffer-Schaltungsanordnung 108 auf diese zugegriffen. Bei einer derzeit bevorzugten Ausführungsform wird auf die Speicherzellen als Datenwörter zugegriffen und entsprechen die Adressen eindeutigen Datenwörtern. Bei anderen Ausführungsformen hat jede Speicherzelle eine eindeutige Adresse, die von dem Decoder 104 decodiert wird.
  • Vorzugsweise weist der Decoder 104 eine Reihen- oder x-Adressen-Decodierlogik und eine Bitleitungs- oder y-Adressen-Decodierlogik auf. Vorzugsweise spricht die x-Adressen-Decodierlogik des Decoders 104 durch Aktivierung einer Wortleitung von mehreren Wortleitungen auf ein Adressensignal ADD von der Adressenpuffer-Schaltungsanordnung 108 an, wobei jede Wortleitung einer Reihe des Kernzellenarrays 102 zugeordnet ist. In Reaktion auf das Aktivieren der Wortleitung werden die dieser Wortleitung zugeordnete Speicherzellen eingeschaltet und beginnen mit dem Ziehen von Strom. Zum adäquaten Einschatten der Speicherzellen muss die Wortleitung um eine wesentliche Potentialdifferenz, wie beispielsweise 3,0 bis 4,0 Volt, variiert werden.
  • Vorzugsweise koppelt die y-Adressen-Decodierlogik des Decoders 104 die entsprechende Bitleitung des Kernzellenarrays 102 mit der Leseverstärkungsund -Ausgangsschaltungsanordnung 114. Die y-Adressen-Decodierlogik spricht zum Decodieren der ausgewählten Bitleitung aus den mehreren Bitleitungen des Kernzellenarrays 102 auf eine Adresse ADD von der Adressenpuffer-Schaltungsanordnung 108 an. Die Leseverstärkungs- und -Ausgangsschaltungsanordnung 114 detektiert den Strom in der ausgewählten Speicherzelle des Kernzellenarrays 102 und bestimmt den Binärzustand des einen oder der mehreren in der ausgewählten Speicherzelle gespeicherten Datenbits. Die Schaltungsanordnung 112 erzeugt die Speicherzellendaten, die von der Leseverstärkungs-Schaltungsanordnung 114 vorzugsweise in Form von Datenwörtern am Ausgang des Speichers 100 zur Benutzung außerhalb des Speichers 100 gelesen werden. Eine andere Schaltungsanordnung, die in 1 nicht gezeigt ist, ermöglichen ein Programmieren, Lesen, Prüfen, Löschen und das Ausführen anderer erforderlicher Operationen auf den einzelnen Speicherzellen des Kernzellenarrays 102.
  • Der Speicher 100 arbeitet in Reaktion auf eine Versorgungsspannung, die in 1 mit Vcc bezeichnet ist. Die Potentialdifferenz zwischen Vcc und Masse ist die Versorgungsspannung und kann beispielsweise im Bereich von 0,8 bis 3,3 Volt liegen. Die Eignung der Versorgungsspannung Vcc hängt von einer Vielzahl von Faktoren ab, einschließlich der für den Speicher 100 angewandten Herstellungstechnologie. Generell beträgt bei hochentwickelten CMOS-Verfahren die Versorgungsspannung nominell 1,8 Volt. Absolut ausgedrückt ist diese Spannung größer als die Größe der Einschalt- oder Schwellenspannung Vφ von -0,9 Volt für p-Kanal-Transistoren und der Einschalt- oder Schwellenspannung Vω von 1,0 Volt für n-Kanal-Transistoren.
  • Das Kernzellenarray 102 weist vorzugsweise eine Folge von Primärarrays und redundanten Arrays auf. Die in 1 gezeigte Redundanz-CAM-Schaltungsanordnung 106 weist ferner CAM-Zellen auf, die Informationen bezüglich der Stelle einer inoperativen Speicherzelle oder einer inoperativen Bitleitung eines der Primärarrays des Kernzellenarrays 102 speichern. Vorzugsweise wird eine Bitleitung eines dieser zugeordneten redundanten Arrays als Ersatz für eine inoperative Bitleitung verwendet. Die CAM-Zellen der Redundanz-CAM-Schaltungsanordnung 106 werden an dem in 1 gezeigten PROG/ERASE-Eingang programmiert und gelöscht. Vorzugsweise werden die CAM-Zellen in einer Testphase programmiert und gelöscht, die vor der Verwendung des Chips durch einen Endbenutzer oder Kunden stattfindet Vorzugsweise wird jedes Mal, wenn eine Operation, wie z. B. Lesen oder Schreiben, an dem Kernzellenarray 102 durchgeführt wird, die Operationsadresse an die Redundanz-CAM-Schaltungsanordnung 106 angelegt, um die Operationsadresse mit den in den CAM-Zellen gespeicherten Informationen zu vergleichen. Vorzugsweise ist, wenn die Operationsadresse mit den in den CAM-Zellen gespeicherten Stelleninformationen übereinstimmt, mindestens eine der Speicherzellenstellen, auf die sich die Operationsadresse bezieht, inoperativ und muss durch ein redundantes Array ersetzt werden.
  • Wenn beispielsweise eine Leseoperation in das reguläre Array durchgeführt wird, wird eine Adresse, die einer Folge von Speicherzellen entspricht, welche vorzugsweise ein Datenwort ergeben, mit den Informationen in den redundanten CAM-Zellen verglichen. Wenn eine inoperative Bitleitung zufällig eine Speicherzelle aus einer Folge von Speicherzellen aufweist, auf die die Lese-Adresse ohne Ersetzen durch ein redundantes Array zugreifen würde, zeigt die Redundanz-CAM-Schaltungsanordnung eine Lese-Übereinstimmung für die Lese-Adresse an. Vorzugsweise stellt die Decodierlogik sicher, dass eine Bitleitung des redundanten Arrays die inoperative Bitleitung und die inoperative Speicherzelle ersetzt, auf die die Lese-Adresse ohne Ersetzen durch ein redundantes Array zugreifen würde. Ein im wesentlichen gleiches Ersetzen erfolgt, wenn eine inoperative Bitleitung zufällig eine Speicherzelle aus der Folge von Speicherzellen aufweist, auf die die Schreib-Adresse ohne Ersetzen durch ein redundantes Array zugreifen würde.
  • 2 zeigt eine schematische Darstellung eines beispielhaften Kernzellenarrays 102 mit Primärarrays und redundanten Arrays entsprechend dem in 1 gezeigten Speicher 100. Das in 2 gezeigte beispielhafte Kernzellenarray 102 ist horizontal in eine oberen Bank 114 und eine untere Bank 116 unterteilt. Das Array 102 ist vertikal in vier Vertikalarrays VERT0,VERT1,VERT2, VERT3 unterteilt, wobei jedes Vertikalarray ein Primärarray und ein diesem zugeordnetes redundantes Array aufweist. Die obere Bank 114 weist obere Primärarrays 118,120,122,124 und obere redundante Arrays 126,128,130, 132 auf. Die untere Bank 116 weist untere Primärarrays 134,136,138,140 und untere redundante Arrays 142,144,146,148 auf. Das Vertikalarray VERT0 weist die Primärarrays 118,134 und die redundanten Arrays 126,142 auf. Das Vertikalarray VERT1 weist die Primärarrays 120,136 und die redundanten Arrays 128,144 auf. Das Vertikalarray VERT2 weist die Primärarrays 122, 138 und die redundanten Arrays 130,146 auf. Das Vertikalarray VERT3 weist die Primärarrays 124,140 und die redundanten Arrays 132,148 auf.
  • Vorzugsweise ist der Speicher 100 ein Simultanoperationsspeicher. Eine der Einschränkungen bei Simultanoperations-, beispielsweise bei Simultanleseund -schreiboperationsspeichern, liegt darin, dass eine Lese- und eine Schreiboperation gleichzeitig, jedoch in unterschiedlichen Bänken durchgeführt werden können. Vorzugsweise liegt eine zusätzliche Einschränkung hinsichtlich des in 2 gezeigten Kernzellenarrays 102 darin, dass eine Leseund eine Schreiboperation nur gleichzeitig in unterschiedlichen Bänken, die sich nicht in dem gleichen Vertikalarray befinden, durchführbar sind. Das heißt, wenn eine Schreiboperation in dem oberen Primärarray 118 des Vertikalarrays VERT0 durchgeführt wird, kann eine Leseoperation in einem der unteren Primärarrays 136,138,140 der Vertikalarrays VERT1, VERT2 bzw. VERT3 durchgeführt werden. In diesem Fall kann jedoch eine Leseoperation nicht in einem der oberen Primärarrays 118,120,122,124 der Vertikalarrays VERT0, VERT1,VERT2 bzw. VERT3 oder in dem unteren Primärarray 134 des Vertikalarrays VERT0 durchgeführt werden.
  • Bei einer derzeit bevorzugten Ausführungsform ist jedes Vertikalarray in neun (in 2 nicht gezeigte) Speicherzellensektoren unterteilt. Horizontal ist jeder Sektor vorzugsweise in eine Folge von Spaltenbereichen innerhalb des Primärarrays unterteilt. Jeder Spaltenbereich weist wiederum eine Anzahl von Speicherzellen auf. Jede Speicherzelle des Spaltenbereichs entspricht vorzugsweise einer einzigartigen Bitleitung für das Primärarray. Wie oben beschrieben, wird im Falle einer inoperativen Speicherzelle in den Primärarrays die Stelle der inoperativen Speicherzelle identifiziert. Vorzugsweise ersetzt eine Bitleitung, die die oberen und unteren redundanten Arrayteile des Vertikalarrays umspannt, die gesamte Bitleitung des Primärarrays, die der inoperativen Speicherzelle entspricht. Vorzugsweise wird, wenn eine Speicherzelle einer Bitleitung inoperativ ist, die gesamte Bitleitung durch eine redundante Bitleitung ersetzt, so dass die inoperative Bitleitung per Definition mindestens eine inoperative Speicherzelle aufweist. Typischerweise und je nach Auslegung des Kernzellenarrays 102 kann eine begrenzte Anzahl von inoperativen Bitleitungen eines Primärarrays durch ein diesen zugeordnetes redundantes Array ersetzt werden.
  • Bei einer derzeit bevorzugten Ausführungsform wird auf die Speicherzellen in Form von Datenwörtern zugegriffen, wobei ein Spaltenbereich von Speicherzellen ein eindeutiges Datenwort speichert. Beispielsweise wird bei einer Ausführungsform des Speichers 100 eine Leseoperation dann durchgeführt, wenn zwei 16-Bit-Datenwörter gleichzeitig intern gelesen werden, während immer ein 16-Bit-Datenwort auf einmal von der Ausgangsschaltungsanordnung 112 erzeugt wird. Auf diese Weise kann bei einer Leseoperation auf zwei Spaltenbereiche gleichzeitig zugegriffen werden. Im Gegensatz dazu wird eine Schreiboperation mit nur einem 16-Bit-Datenwort auf einmal durchgeführt und wird nur auf einen Spaltenbereich auf einmal zugegriffen. Selbstverständlich sind diese Datenwortlängen nur beispielhaft, und es können andere geeignete Wortlängen verwendet werden.
  • 3 zeigt ein Schaltschema einer beispielhaften Zweiport-CAM-Stufe 200 und einer dazugehörigen Ausgangsschaltungsanordnung entsprechend dem in 1 gezeigten Speicher. Bei anderen Ausführungsformen kann die Zweiport-CAM-Stufe 200 ohne dazugehörige Ausgangsschaltungsanordnung verwendet werden, um die Notwendigkeit eines Ersetzens durch ein redundantes Array anzuzeigen. Die beispielhafte CAM-Stufe 200 weist eine Zweiport-CAM-Zelle 202, einen Schreib-Datenbus 204 und einen Lese-Datenbus 206 auf. Die CAM-Zelle 202 ist ein Transistor, vorzugsweise ein n-Kanal-Metall-Oxid-Halbleiter-Feldeffekttransistor (MOSFET). Obwohl die CAM-Zelle 202 vorzugsweise ein in einer nichtflüchtigen Speicherzelle verwendeter MOSFET-Transistor ist, kann ein beliebiges geeignetes aktives Datenspeicherelement als CAM-Zelle 202 verwendet werden. Der Schreib-Datenbus 204 weist einen mit einem Schaltungspunkt 212 gekoppelten Ausgangsport und einen mit dem Drain der CAM-Zelle 202 an einem Schaltungspunkt 216 gekoppelten Eingang auf. Der Lese-Datenbus 206 weist einen mit einem Schaltungspunkt 214 gekoppelten Ausgang und einen mit dem Drain der CAM-Zelle 202 an dem Schaltungs punkt 216 gekoppelten Eingang auf. Der Schreib-Datenbus 204 und der Lese-Datenbus 206 sind Transistoren, vorzugsweise n-Kanal-MOSFETs. Selbstverständlich kann ein beliebiger geeigneter Datenbus als Datenbus 204,206 verwendet werden. Ein Schreib-Auswahlsignal WSELm wird an das Gate des Schreib-Datenbusses 204 angelegt, während ein Lese-Auswahlsignal RSELm an das Gate des Lese-Datenbusses 206 angelegt wird. Eine Spannung VG wird an den Gate-Eingang der CAM-Zelle 202 angelegt, während eine Spannung VS an den Source-Eingang der CAM-Zelle 202 angelegt wird. Vorzugsweise befindet sich bei Normalbetrieb der CAM-Zelle 202, wenn z. B. die CAM-Zelle 202 geprüft oder auf diese zugegriffen wird, die Spannung VS auf Erdpotential.
  • Eine Kurzbezeichnung für die beispielhafte Zweiport-CAM-Stufe 200 ist ebenfalls in 3 dargestellt. Eine generische CAM-Stufe 200 kann als CAMn/ VERTm bezeichnet werden, wobei sich m auf ein beliebiges von M Vertikalarrays VERT0,VERT1,...,VERTM und n auf eine beliebige von einem Vertikalarray VERTm zugeordneten N CAM-Stufen 200 CAM0,CAM1,...,CAMN bezieht. Vorzugsweise gibt es bei dem in 2 gezeigten beispielhaften Kernzellenarray 102 M=4 Vertikalarrays VERT0,VERTI,VERT2,VERT3. Vorzugsweise weist jedes Vertikalarray VERTm N=8 diesem zugeordnete und einzigartige redundante Zweiport-CAM-Stufen CAM0,CAM1,CAM2,CAM3,CAM4,CAM5,CAM6,CAM7 auf. Selbstverständlich ist das Kernzellenarray 102 skalierbar und kann anders als das in 2 gezeigte Kernzellenarray 102 ausgelegt, dimensioniert, angeordnet oder getrennt sein. Die Anzahl von redundanten CAM-Zellen 202 und -Stufen 200, die jedem Vertikalarray zugeordnet sind, kann ebenfalls je nach Ausführungsform und der speziellen Auslegung und dem speziellen Layout des Kernzellenarrays 102 variieren. Das heißt, es können mehr redundante Arrays vorgesehen sein, oder es können zusätzliche CAM-Zellen verwendet werden, um insbesondere die Stelle einer inoperativen Speicherzelle, die Stelle derjenigen inoperativen Bitleitung, die die inoperative Speicherzelle aufweist, oder denjenigen Spaltenbereich, in dem sich die inoperative Bitleitung befindet, zu identifizieren.
  • Vorzugsweise ist die CAM-Zelle 202 eine nichtflüchtige Speicherzelle, aus der Informationen gelöscht werden können oder die mit Informationen programmiert werden kann. Wenn die CAM-Zelle 202 ein n-Kanal-MOSFET-Transistor ist, erfolgt dies durch Modifizieren der Schwellenspannung des Transistors. Das Signal Zellenprogrammierung/-löschung und der dazugehörige Pfeil dienen zum Anzeigen der auf der CAM-Zelle 202 durchgeführten Programmier-/ Löschoperation. Die CAM-Zelle 202 spricht unterschiedlich auf eine angelegte Gate-Spannung an, und zwar je nachdem, ob die CAM-Zelle 202 programmiert oder gelöscht wird.
  • Wenn die CAM-Zelle 202 programmiert wird, werden geregelte Spannungen vorzugsweise an das Drain und das Gate der Transistorzelle 202 angelegt. Die geregelten Spannungen sind relativ hoch im Vergleich zu der Versorgungsspannung Vcc. Beispielsweise wird bei einer bevorzugten Ausführungsform eine Spannung VD von ungefähr 5,0 Volt an das Drain angelegt, während eine Spannung VG von ungefähr 8,5 Volt an den Gate-Eingang der Transistor-CAM-Zelle 202 angelegt wird. Unabhängig von den verwendeten Spannungen dient der kombinierte Effekt der Programmieroperation auf der CAM-Zelle 202 der Erhöhung der Schwellenspannung auf einen höheren Wert als den einer während des Normalbetriebs der Redundanz-CAM-Schaltungsanordnung 106 an das Gate der CAM-Zelle 202 angelegten Spannung, d. h. höher als den der Versorgungsspannung Vcc.
  • Bei Normalbetrieb wird nichts geschehen, wenn die CAM-Zelle 202 programmiert ist und sich das Drain der Zelle 202 auf Erdpotential befindet, wenn eine Gate-Spannung VG, vorzugsweise die Versorgungsspannung Vcc angelegt wird, d. h. die CAM-Zelle wird sich nicht einschalten oder leiten.
  • Typischerweise werden sämtliche CAMs, einschließlich der Zweiport-CAM-Zellen 202 im Speicher 100, vor dem Löschen vorprogrammiert, und sie werden gemeinsam gelöscht. Die CAM-Zellen 202 können unter Anwendung eines Ultraviolett-Löschverfahrens gelöscht werden, wie Fachleuten auf dem Sachge biet bekannt ist. Selbstverständlich können andere Löschtechniken angewendet werden. Die Auswirkung der Löschoperation auf die CAM-Zelle 202 liegt darin, dass der Wert der Schwellenspannung gesenkt wird, wenn die Zelle 202 auf einen Normalwert programmiert wird, der mit einem normalen Transistor übereinstimmt. Vorzugsweise wird, wenn die CAM-Zelle 202 gelöscht wird, die Schwellenspannung derart eingestellt, dass sich die Zelle 202 wie in n-Kanal-Transistor verhält, d. h. wenn eine Gate-Spannung VG angelegt wird, die zu der Versorgungsspannung Vcc äquivalent ist, schaltet sich der Transistor ein und leitet.
  • 3 zeigt ferner zwei p-Kanal-Vorspanntransistoren 208,210, die vorzugsweise als dazugehörige Ausgangsschaltungsanordnung für die beispielhafte CAM-Stufe 200 verwendet werden. Vorzugsweise sind die Transistoren 208,210 als relativ zu der CAM-Zelle 202 schwache Pull-up-Transistoren ausgelegt und dimensioniert. Die p-Kanal-Transistoren 208,210 sind in 3 vorzugsweise Transistoren mit einer niedrigen Schwellenspannung. Bei einem Ausführungsbeispiel haben die Transistoren 208,210 jeweils eine Nenn-Schwellenspannung, die ungefähr im Bereich von-0,5 Volt bis -0,8 Volt liegt. Eine in diesen Bereich fallende Schwellenspannung ist kleiner als eine Schwellenspannung eines herkömmlichen p-Kanal-Transistors, die typischerweise ungefähr -1,2 Volt beträgt. Es ist Fachleuten auf dem Sachgebiet bekannt, dass die Schwellenspannungen von Transistoren, wie z. B. MOSFETs, bei der Fertigung kontrolliert werden. Der Vorrichtungs-Fertigungsprozess ermöglicht ein gewisses Maß an Flexibilität bei der Wahl der Schwellenspannung. Normalwerte sind jedoch vorherrschend und werden bei bestimmten Prozessen bei MOSFETs normalerweise verwendet. Es sei darauf hingewiesen, dass diese Schwellenspannungen nur beispielhaft dargestellt sind. Generell können Transistorauslegungsparameter, wie z. B. Schwellenspannungen und Vorrichtungsgrößen, andere Schaltungskonfigurationen oder andere anwendbare Auslegungstechniken, die Fachleuten auf dem Sachgebiet zur Verfügung stehen, gegebenenfalls angewendet oder ersetzt werden.
  • Die p-Kanal-Transistoren 208,210 können mit Bezug auf ihre Verbindung mit den Schreib- und Lese-Datenbussen 204,206 genannt werden. Der Schreib-p-Kanal-Transistor 208 ist mit dem Ausgangsport des Schreib-Datenbusses 204 am Schaltungspunkt 212 gekoppelt. Die generische CAM-Stufe 200, die als CAMn/VERTm bezeichnet werden kann, und der Schreib-p-Kanal-Vorspanntransistor 208 erzeugen ein Signal CAMmW am Schaltungspunkt 212, wobei sich, wie oben beschrieben, n auf eine der N CAM-Stufen 200 CAM0, CAM1,...,CAMN, die einem Vertikalarray VERTm zugeordnet ist, bezieht. W identifiziert das Signal CAMnW am Schaltungspunkt 212 als Schreiboperations-CAM-Signal.
  • Ähnlich ist der Lese-p-Kanal-Vorspanntransistor 210 mit dem Ausgangsport des Lese-Datenbusses 206 am Schaltungspunkt 214 gekoppelt. Die generische CAM-Stufe 200, die als CAMn/VERTm bezeichnet werden kann, und der Lese-p-Kanal-Vorspanntransistor 210 erzeugen ein Signal CAMmR am Schaltungspunkt 214, wobei sich, wie oben beschrieben, n auf eine der N CAM-Stufen 200 CAM0,CAM1,...,CAMN, die einem Vertikalarray VERTm zugeordnet ist, bezieht. R identifiziert das Signal CAMnR am Schaltungspunkt 214 als Leseoperations-CAM-Signal.
  • Die Gate-Eingänge der Lese- und Schreib-p-Kanal-Vorspanntransistoren 210,208 sind mit dem Erdpotential verbunden, wohingegen sich die Source-Eingänge auf der Versorgungsspannung Vcc befinden. Daher sind, da die Transistoren 210,208 wie oben beschrieben Transistoren mit niedriger Schwellenspannung sind, die Transistoren 210,208 leitend und befinden sich die jeweiligen Schaltungspunkte 212,214 beim Fehlen einer Pull-down-Aktivität seitens der CAM-Stufe 200 auf Vcc.
  • Die Operation der CAM-Stufe 200 läuft in Zusammenhang mit den Transistoren 208,210 wie folgt ab. Vorzugsweise wird, wenn eine Operation zum Zugreifen auf das Kernzellenarray 102 erfolgt, und zwar unabhängig davon, ob die Operation eine Lese- oder Schreiboperation ist, auf die CAM-Zellen 202 der Redundanz-CAM-Schaltungsanordnung 106 zugegriffen. Es wird festgestellt, ob die in Frage stehende Adresse (eine Leseadresse oder eine Schreibadresse) eine inoperative Speicherzellenstelle enthält, so dass ein Ersetzen durch ein redundantes Array erforderlich ist. Die Informationen bezüglich der Stelle wurden vorzugsweise vor der Operation in die CAM-Zellen 202 einprogrammiert. Vorzugsweise befindet sich, wenn eine Lese- oder Schreiboperation oder beides erfolgt, die Source-Spannung VS jeder CAM-Zelle 202 auf Erdpotential und wird die Gate-Spannung VG jeder CAM-Zelle 202 auf die Versorgungsspannung Vcc gebracht.
  • Eine CAM-Zelle 202 spricht unterschiedlich auf eine angelegte Gate-Spannung an, und zwar abhängig davon, ob die CAM-Zelle 202 programmiert oder gelöscht wird. Wenn eine Schreiboperation an einem Vertikalarray VERTm durchgeführt wird, ist das Schreib-Auswahlsignal WSELm im H-Zustand und der Schreib-Datenbus 204 eingeschaltet. Eine programmierte CAM-Zelle 202 bleibt ausgeschaltet und schaltet sich in Reaktion auf eine angelegte Gate-Spannung VG, vorzugsweise die Versorgungsspannung Vcc, nicht ein oder wird leitend. Bei Fehlen einer Pull-down-Aktivität von der CAM-Stufe 200 wird der Schreib-Pull-up-Transistor 208 leitend und befindet sich der Schaltungspunkt 212 auf Vcc. Daher bleibt, wenn die CAM-Zelle 202 programmiert wird und der Schreib-Datenbus 204 eingeschaltet ist, der Schaltungspunkt 212 im H-Zustand oder auf Vcc.
  • Wenn eine Schreiboperation an einem Vertikalarray VERTm durchgeführt wird, ist das Schreib-Auswahlsignal WSEL im H-Zustand und der Schreib-Datenbus 204 eingeschaltet. Eine gelöschte CAM-Zelle 202 verhält sich wie ein n-Kanal-Transistor und schaltet sich in Reaktion auf eine angelegte Gate-Spannung VG, vorzugsweise die Versorgungsspannung Vcc, ein und wird leitend. Die CAM-Zelle 202 zieht den Schaltungspunkt 216 auf Erdpotential. Vorzugsweise ist die CAM-Zelle 202 derart ausgelegt, dass sie stärker ist als der Schreib-Pullup-Transistor 208 und daher wird, wenn die CAM-Zelle 202 gelöscht wird und der Schreib-Datenbus 204 eingeschaltet ist, der Schaltungspunkt 212 auf Erdpotential gezogen.
  • Wenn keine Schreiboperation an einem Vertikalarray VERTm durchgeführt wird, ist der Schreib-Datenbus 204 abgeschaltet und wird die CAM-Zelle 202 nicht geprüft. Ob die CAM-Zelle 202 programmiert oder gelöscht wird, hat keine Auswirkung auf den Wert des Signals CAMnW am Schaltungspunkt 212.
  • Generell spezifizieren, wenn eine Schreiboperation an einem Vertikalarray VERTm durchgeführt wird, die Signale CAM0W...CAMNW die Stelle derjenigen Bitleitung, an der ein Ersetzen durch ein redundantes Array erfolgen soll, wenn ein solches existiert und in die CAM-Stufen 200 CAM0/VERTm... CAMN/ VERTm einprogrammiert ist. Vorzugsweise werden ein oder mehrere der Signale CAM0W...CAMNW mit der Schreibadresse verglichen, um festzustellen, ob es eine Schreib-Übereinstimmung gibt. Wenn eine Schreib-Übereinstimmung für eine inoperative Bitleitung vorhanden ist, ersetzt eine Bitleitung aus dem redundanten Array die inoperative Bitleitung. Das heißt, dass die redundante Bitleitung anstelle der inoperativen Bitleitung verwendet wird, wenn eine Übereinstimmung zwischen der Schreibadresse und den dem Primärarray, an dem die Schreiboperation andernfalls erfolgt, zugeordneten CAM-Stufen 200 angezeigt wird.
  • Ähnlich ist, wenn eine Leseoperation an einem Vertikalarray VERTm durchgeführt wird, das Lese-Auswahlsignal RSELm im H-Zustand und der Lese-Datenbus 206 eingeschaltet. Eine programmierte CAM-Zelle 202 bleibt abgeschaltet und schaltet sich in Reaktion auf eine angelegte Gate-Spannung VG, vorzugsweise die Versorgungsspannung Vcc, nicht ein oder wird leitend. Bei Fehlen einer Pull-down-Aktivität von der CAM-Stufe 200 ist der Lese-Pull-up-Transistor 210 leitend und befindet sich der Schaltungspunkt 214 auf Vcc. Daher bleibt, wenn die CAM-Zelle 202 programmiert wird und der Lese-Datenbus 206 eingeschaltet ist, der Schaltungspunkt 214 im H-Zustand oder auf Vcc.
  • Wenn eine Leseoperation an einem Vertikalarray VERTm durchgeführt wird, ist das Lese-Auswahlsignal RSELm im H-Zustand und der Lese-Datenbus 206 eingeschaltet. Eine gelöschte CAM-Zelle 202 verhält sich wie ein n-Kanal-Transistor und schaltet sich in Reaktion auf eine angelegte Gate-Spannung VG, vorzugsweise die Versorgungsspannung Vcc, ein und wird leitend. Die CAM-Zelle 202 zieht den Schaltungspunkt 216 auf Erdpotential. Vorzugsweise ist die CAM-Zelle 220 derart ausgelegt, dass sie stärker ist als der Lese-Pull-up-Transistor 210 und daher wird, wenn die CAM-Zelle 202 gelöscht wird und der Lese-Datenbus 204 eingeschaltet ist, der Schaltungspunkt 214 auf Erdpotential gezogen.
  • Wenn keine Leseoperation an einem Vertikalarray VERTm durchgeführt wird, ist der Lese-Datenbus 206 abgeschaltet und wird die CAM-Zelle 202 nicht geprüft. Ob die CAM-Zelle 202 programmiert oder gelöscht wird, hat keine Auswirkung auf den Wert des Signals CAMnR am Schaltungspunkt 214.
  • Generell spezifizieren, wenn eine Leseoperation an einem Vertikalarray VERTm durchgeführt wird, die Signale CAM0R...CAMNR die Stelle derjenigen Bitleitung, an der ein Ersetzen durch ein redundantes Array erfolgen soll, wenn ein solches existiert und in die CAM-Stufen 200 CAM0/VERTm... CAMN/ VERTm einprogrammiert ist. Vorzugsweise werden ein oder mehrere der Signale CAM0R...CAMNR mit der Leseadresse verglichen, um festzustellen, ob es eine Lese-Übereinstimmung gibt. Wenn eine Lese-Übereinstimmung für eine inoperative Bitleitung vorhanden ist, ersetzt eine Bitleitung aus dem redundanten Array die inoperative Bitleitung. Das heißt, dass die redundante Bitleitung anstelle der inoperativen Bitleitung verwendet wird, wenn eine Übereinstimmung zwischen der Leseadresse und den dem Primärarray, an dem die Leseoperation andernfalls erfolgt, zugeordneten CAM-Stufen 200 angezeigt wird.
  • 4 zeigt ein Blockschaltbild mit Darstellung eines beispielhaften CAM-Stufenarrays 300 und einer dazugehörigen Ausgangsschaltungsanordnung ent sprechend dem in 1 gezeigten Speicher und dem in 2 gezeigten beispielhaften Kernzellenarray 102. Vorzugsweise weist die in 1 gezeigte Redundanz-CAM-Schaltungsanordnung 106 das beispielhafte CAM-Stufenarray 300 auf. Das CAM-Stufenarray 300 weist die folgenden CAM-Stufen 200 auf:
  • dem Vertikalarray VERT0 zugeordnet:
    • CAM0/VERT0 302, CAM1/VERT0 304, CAM2/VERT0 306, CAM3/VERT0 308,
    • CAM4/VERT0 310, CAM5/VERT0 312, CAM6/VERT0 314 und CAM7/VERT0 316;
  • dem Vertikalarray VERT1 zugeordnet:
    • CAM0/VERT1 318, CAM1/VERT1 320, CAM2/VERT1 322, CAM3/VERT1 324,
    • CAM4/VERT1 326, CAM5/VERT1 328, CAM6/VERT1 330 und CAM7/VERT1 332;
  • dem Vertikalarray VERT2 zugeordnet:
    • CAM0/VERT2 334, CAM1/VERT2 336, CAM2/VERT2 338, CAM3/VERT2 340,
    • CAM4/VERT2 342, CAM5/VERT2 344, CAM6/VERT2 346 und CAM7/VERT2 348;
  • dem Vertikalarray VERT3 zugeordnet:
    • CAM0/VERT3 350, CAM1/VERT3 352, CAM2/VERT3 354, CAM3/VERT3 356,
    • CAM4/VERT3 358, CAM5/VERT3 360, CAM6/VERT3 362 und CAM7/VERT3 364.
  • Das CAM-Stufenarray 300 weist ferner Lese-p-Kanal-Pull-up-Transistoren mit niedriger Schwellenspannung 366,368,370,372,374,376,378,380 und Schreib-p-Kanal-Pull-upTransistoren mit niedriger Schwellenspannung 382, 384,386,388,390,392,394,396 auf.
  • Sämtliche CAM-Stufen 200 des dem Vertikalarray VERT0 zugeordneten CAM-Stufenarrays 300 empfangen die Lese- und Schreib-Auswahlsignale WSEL0, RSEL0. Sämtliche CAM-Stufen 200 des dem Vertikalarray VERT1 zugeordneten CAM-Stufenarrays 300 empfangen die Lese- und Schreibsignale WSEL1, RSEL1. Sämtliche CAM-Stufen 200 des dem Vertikalarray VERT2 zugeordneten CAM-Stufenarrays 300 empfangen die Lese- und Schreibsignale WSEL2, RSEL2. Sämtliche CAM-Stufen 200 des dem Vertikalarray VERT3 zugeordneten CAM-Stufenarrays 300 empfangen die Lese- und Schreibsignale WSEL3, RSEL3.
  • Die CAM-Stufen CAM0/VERT0 302, CAM0/VERT1 318, CAM0/VERT2 334 und CAM0/VERT3 350 sind alle mit dem Lese-Pull-up-Transistor 366 an einem ein Signal CAM0R aufweisenden gemeinsam genutzten Ausgang gekoppelt und sind alle mit dem Schreib-Pull-up-Transistor 382 an einem ein Signal CAM0W aufweisenden gemeinsam genutzten Ausgang gekoppelt.
  • Die CAM-Stufen CAM1/VERT0 304, CAM1/VERT1 320, CAM1/VERT2 336 und CAM1/VERT3 352 sind alle mit dem Lese-Pull-up-Transistor 368 an einem ein Signal CAM1R aufweisenden gemeinsam genutzten Ausgang gekoppelt und sind alle mit dem Schreib-Pull-up-Transistor 384 an einem ein Signal CAM1W aufweisenden gemeinsam genutzten Ausgang gekoppelt.
  • Die CAM-Stufen CAM2/VERT0 306, CAM2/VERT1 322, CAM2/VERT2 338 und CAM2/VERT3 354 sind alle mit dem Lese-Pull-up-Transistor 370 an einem ein Signal CAM2R aufweisenden gemeinsam genutzten Ausgang gekoppelt und sind alle mit dem Schreib-Pull-up-Transistor 386 an einem ein Signal CAM2W aufweisenden gemeinsam genutzten Ausgang gekoppelt.
  • Die CAM-Stufen CAM3/VERT0 308, CAM3/VERT1 334, CAM3/VERT2 340 und CAM3/VERT3 356 sind alle mit dem Lese-Pull-up-Transistor 372 an einem ein Signal CAM3R aufweisenden gemeinsam genutzten Ausgang gekoppelt und sind alle mit dem Schreib-Pull-up-Transistor 388 an einem ein Signal CAM3W aufweisenden gemeinsam genutzten Ausgang gekoppelt.
  • Die CAM-Stufen CAM4/VERT0 310, CAM4/VERT1 326, CAM4/VERT2 342 und CAM4/VERT3 358 sind alle mit dem Lese-Pull-up-Transistor 374 an einem ein Signal CAM4R aufweisenden gemeinsam genutzten Ausgang gekoppelt und sind alle mit dem Schreib-Pull-up-Transistor 390 an einem ein Signal CAM4W aufweisenden gemeinsam genutzten Ausgang gekoppelt.
  • Die CAM-Stufen CAM5/VERT0 312, CAM5/VERT1 328, CAM5/VERT2 344 und CAM0/VERT3 360 sind alle mit dem Lese-Pull-up-Transistor 376 an einem ein Signal CAM5R aufweisenden gemeinsam genutzten Ausgang gekoppelt und sind alle mit dem Schreib-Pull-up-Transistor 392 an einem ein Signal CAMSW aufweisenden gemeinsam genutzten Ausgang gekoppelt.
  • Die CAM-Stufen CAM6/VERT0 314, CAM6/VERT1 330, CAM6/VERT2 346 und CAM6/VERT3 362 sind alle mit dem Lese-Pull-up-Transistor 378 an einem ein Signal CAM6R aufweisenden gemeinsam genutzten Ausgang gekoppelt und sind alle mit dem Schreib-Pull-up-Transistor 394 an einem ein Signal CAM6W aufweisenden gemeinsam genutzten Ausgang gekoppelt.
  • Die CAM-Stufen CAM7/VERT0 316, CAM7/VERT1 332, CAM7/VERT2 348 und CAM7/VERT3 364 sind alle mit dem Lese-Pull-up-Transistor 380 an einem ein Signal CAM7R aufweisenden gemeinsam genutzten Ausgang gekoppelt und sind alle mit dem Schreib-Pull-up-Transistor 396 an einem ein Signal CAM7W aufweisenden gemeinsam genutzten Ausgang gekoppelt.
  • 5 zeigt ein Blockschaltbild mit Darstellung einer beispielhaften Gruppe 400 von CAM-Stufen 200, die einem Vertikalarray VERTm des in 2 dargestellten beispielhaften Kernzellenarrays 102 zugeordnet sind. Die beispielhafte CAM-Stufen-Gruppe 400 weist folgende CAM-Stufen 200 auf: CAM0/ VERTm 402, CAM1/VERTm 404, CAM2/VERTm 406, CAM3/VERTm 408, CAM4/VERTm 410, CAM5/VERTm 412, CAM6/VERTm 414, CAM7/VERTm 416, die alle einem Vertikalarray VERTm zugeordnet sind. Sämtliche CAM-Stufen 200 der CAM- Stufen-Gruppe 400 empfangen ein Schreib-Auswahlsignal WSELm und ein Lese-Auswahlsignal RSELm entsprechend dem Vertikalarray VERTm.
  • Wie oben beschrieben, ist, da der Speicher 100 eine Simultanoperation unterstützt, die Redundanz-CAM-Schaltungsanordnung 106 vorzugsweise in der Lage, zwei separat stattfindende Operationen zu verfolgen, wie z. B. eine Leseoperation und eine Schreiboperation. Ferner wird bei einer derzeit bevorzugten Ausführungsform auf die Speicherzellen in Form von Datenwörtern zugegriffen, wobei ein Spaltenbereich von Speicherzellen ein eindeutiges Datenwort speichert. Beispielsweise erfolgt bei einer Ausführungsform des Speichers 100 eine Leseoperation, bei der zwei 16-Bit-Datenwörter gleichzeitig intern gelesen werden, während nur ein 16-Bit-Datenwort auf einmal von der in 1 gezeigten Ausgangsschaltungsanordnung 112 erzeugt wird. Auf diese Weise wird bei einer Leseoperation auf zwei Spaltenbereiche gemeinsam zugegriffen. Im Gegensatz dazu erfolgt eine Schreiboperation mit nur einem 16-Bit-Datenwort auf einmal, und es wird auf nur auf einen Spaltenbereich auf einmal zugegriffen. Selbstverständlich sind diese Datenwortlängen beispielhaft und können andere geeignete Wortlängen verwendet werden.
  • Gemäß der derzeit bevorzugten Ausführungsform weist eine horizontale Reihe in dem Primärarray eines Vertikalarrays VERTm p Spaltenbereiche mit jeweils q Bitleitungen auf. Beispielsweise kann die Reihe p=16 Spaltenbereiche aufweisen, wobei jeder der 16 Spaltenbereiche q=16 Bitleitungen aufweist, d. h. insgesamt 256 Bitleitungen in einer horizontalen Reihe. Selbstverständlich sind diese Werte beispielhaft und dienen nur der Erläuterung und nicht der Einschränkung der derzeit bevorzugten Ausführungsformen.
  • Die beispielhafte CAM-Stufen-Gruppe 400 mit acht CAM-Stufen 402,404,406, 408,410,412,414,416 spezifiziert die Stelle einer inoperativen Bitleitung mit einem Spaltenbereich des Primärarrays des Vertikalarrays VERTm. Vorzugsweise ersetzt eine redundante Bitleitung des redundanten Arrays die inopera tive Bitleitung, auf die andernfalls bei einer Lese- oder Schreiboperation zugegriffen würde.
  • Die Stelle einer inoperativen Bitleitung BLi wird zunächst durch Identifizieren desjenigen Spaltenbereichs der p Spaltenbereiche identifiziert, der die inoperative Bitleitung aufweist. Als nächstes wird die Bitleitung der q Bitleitungen desjenigen Spaltenbereichs, der der inoperativen Bitleitung entspricht, identifiziert. Entsprechend speichert die beispielhafte (CAM-Stufen-Gruppe 400 mit acht CAM-Stufen 402,404,406,408,410,412,414,416 vorzugsweise zwei Informationen zum Anzeigen der Stelle der inoperativen Bitleitung BLI.
  • Bei einer Schreiboperation wird die f-Bit- (2f=p) Schreibadresse, die einem Spaltenbereich mit q Bitleitungen entspricht, mit der in einer Gruppe mit f Adressen-CAM-Stufen gespeicherten f-Bit- (2f=p) Adresse verglichen. In dem Spaltenbereich wird vorzugsweise ein Datenwort gespeichert. Insbesondere spezifizieren die f Adressen-CAM-Stufen die f-Bit- (2f=p) Adresse desjenigen Spaltenbereichs, der die inoperative Bitleitung BLi aufweist. Wenn eine Übereinstimmung zwischen der f-Bit-Schreibadresse und der in den f Adressen-CAM-Stufen gespeicherten f-Bit-Adresse besteht, wird die Stelle der inoperativen Bitleitung BLi von g (2g=q) I/O-CAM-Stufen identifiziert. Die Werte für f und g hängen im wesentlichen von den Werten für p und q ab.
  • Beispielsweise wird gemäß einer derzeit bevorzugten Ausführungsform die Schreiboperation mit nur einem 16-Bit-Datenwort auf einmal durchgeführt und wird nur auf einen der p=16 Spaltenbereiche, von denen jeder q=16 Bitleitungen aufweist, auf einmal zugegriffen. Gemäß 5 wird in f=4 (24=16) Adressen-CAM-Stufen 410,412,414,416 die 4-Bit-Adresse eines Spaltenbereichs, der eine inoperative Bitleitung BLi aufweist, gespeichert und in g=4 (24=16) I/O-CAM-Stufen 402,404,406,408 die Stelle der inoperativen Bitleitung BLi der 16 Bitleitungen in dem Spaltenbereich gespeichert. Wenn eine Schreiboperation durchgeführt wird, wird die Schreibadresse mit den Schreibadressen-CAM-Signalen WRITEADD0, WRITEADD1, WRITEADD2 und WRITEADD3 der Adressen-CAM-Stufen CAM4/VERTm 410, CAMS/VERTm 412, CAM6/VERTm 414 bzw. CAM7/VERTm 416 verglichen (mit einer in 5 oder 1 nicht dargestellten Adressenübereinstimmungs-Schaltungsanordnung). Wenn die Schreibadresse und die Schreibadressen-CAM-Signale übereinstimmen, zeigen die I/O-CAM-Stufen 402,404,406,408 an, welche Bitleitung der 16 Bitleitungen die inoperative Bitleitung BLi ist.
  • Bei einer Leseoperation wird die die h-Bit- (2n=p/2) Leseadresse, die zwei Spaltenbereichen mit insgesamt 2q Bitleitungen entspricht, mit in einer Gruppe von h Adressen-CAM-Stufen verglichen. In den beiden Spaltenbereichen werden vorzugsweise zwei Datenwörter gespeichert. Insbesondere die h Adressen-CAM-Stufen spezifizieren die h-Bit- (2n=p/2) Adresse der beiden Speicherbereiche, von denen einer die inoperative Bitleitung BL, aufweist. Wenn eine Übereinstimmung zwischen der h-Bit-Leseadresse und der in den h Adressen-CAM-Stufen gespeicherten h-Bit-Adresse auftritt, wird die Stelle der inoperativen Bitleitung BLi von j (2j=2q) I/O-CAM-Stufen identifiziert. Die Werte für h und j hängen im wesentlichen von den Werten für p und q ab.
  • Beispielsweise werden bei einer Leseoperation gemäß einer derzeit bevorzugten Ausführungsform zwei 16-Bit-Datenwörter auf einmal intern gelesen, während nur ein 16-Bit-Datenwort auf einmal von der in 1 gezeigten Ausgangsschaltungsanordnung 112 erzeugt wird. Auf diese Weise wird auf zwei der p=16 Spaltenbereiche, von denen jeder q=16 Bitleitungen aufweist, auf einmal zugegriffen. Gemäß 5 wird in h=3 (23=8) Adressen-CAM-Stufen 412,414,416 die 3-Bit-Adresse zweier Spaltenbereiche, von denen einer eine inoperative Bitleitung BLi aufweist, gespeichert und in j=5 (25=32) I/0-CAM-Stufen 402,404,406,408,410 die Stelle der inoperativen Bitleitung BLi der 32 Bitleitungen in zwei Spaltenbereichen gespeichert. Wenn eine Leseoperation durchgeführt wird, wird die Leseadresse mit den Leseadressen-CAM-Signalen READADD0, READADD1 und READADD2 der Adressen-CAM-Stufen CAM5/ VERTm 412, CAM6/VERTm 414 bzw. CAM7/VERTm 416 verglichen (mit einer in 5 oder 1 nicht dargestellten Adressenübereinstimmungs-Schal tungsanordnung). Wenn die Leseadresse und die Leseadressen-CAM-Signale übereinstimmen, zeigen die I/O-CAM-Stufen 402,404,406,408,410 an, welche Bitleitung der 32 Bitleitungen in den beiden Spaltenbereichen die inoperative Bitleitung BLi ist.
  • Obwohl die Adressen-CAM-Stufen und die I/O-CAM-Stufen bei Lese- und Schreiboperationen unterschiedlich genutzt werden, liefern die CAM-Stufen zusammen die gleichen Informationen über die Stelle der gleichen inoperativen Bitleitung in einem Primärbereich, die durch eine Bitleitung aus dem redundanten Bereich ersetzt werden muss. Beispielsweise sei gemäß 5 angenommen, dass der Ausgang der Zweiport-CAM-Stufen 402,404,406,408, 410,412,414,416 jeweils 10001000 ist.
  • Wenn eine Schreiboperation an einem Spaltenbereich mit einer Schreibadresse 0001 durchgeführt werden soll, werden diese vier Bits mit den folgenden Signalen verglichen:
    • WRITEADD3=CAM7W=0 aus (Adressen-) CAM-Stufe 416;
    • WRITEADD2=CAM6W=0 aus (Adressen-) CAM-Stufe 414;
    • WRITEADD1=CAM5W=0 aus (Adressen-) CAM-Stufe 412; und
    • WRITEADD0=CAM4W=1 aus (Adressen-) CAM-Stufe 410.
  • Es gibt eine Schreibadressen-Übereinstimmung, so dass der Inhalt der I/O-CAM-Stufen geprüft wird, um die Stelle der inoperativen Bitleitung BLi in dem Spaltenbereich mit einer Adresse 0001 zu bestimmen, wie durch die folgenden Signale dargestellt:
    • WRITEIO3=CAM3W=0 aus (I/O-) CAM-Stufe 408;
    • WRITEIO2=CAM2W=0 aus (I/O-) CAM-Stufe 406;
    • WRITEIO1=CAM1W=0 aus (I/O-) CAM-Stufe 404; und
    • WRITEIO0=CAM0W=0 aus (I/O-) CAM-Stufe 402.
  • Wenn eine Leseoperation an den beiden Spaltenbereichen mit einer gemeinsamen Leseadresse 000 durchgeführt werden soll, werden diese drei Bits mit den folgenden Signalen verglichen:
    • READADD2=CAM7R=0 aus (Adressen-) CAM-Stufe 416;
    • READADD1=CAM6R=0 aus (Adressen-) CAM-Stufe 414; und
    • READADD0=CAM5R=0 aus (Adressen-) CAM-Stufe 412.
  • Es gibt eine Leseadressen-Übereinstimmung, so dass der Inhalt der I/O-CAM-Stufen geprüft wird, um die Stelle der inoperativen Bitleitung BLi in den beiden Spaltenbereichen, die gemeinsam eine Adresse 000 haben, zu bestimmen, wie durch die folgenden Signale dargestellt:
    • READIO4=CAM4R=0 aus (I/O-) CAM-Stufe 410;
    • READIO3=CAM3R=0 aus (I/O-) CAM-Stufe 408;
    • READIO2=CAM2R=0 aus (I/O-) CAM-Stufe 406;
    • READIO1=CAMIR=O aus (I/O-) CAM-Stufe 404; und
    • sREADIO0=CAM0R=1 aus (I/O-) CAM-Stufe 402.
  • 6 zeigt ein Schaltschema einer beispielhaften Gruppe 500 von CAM-Stufen 200 mit einer gemeinsam genutzten Ausgangsschaltungsanordnung entsprechend dem in 2 gezeigten Speicher. Die beispielhafte CAM-Stufen-Gruppe 500 weist folgende CAM-Stufen 200 auf: CAMn/VERT0 502, CAMn/ VERT1 504, CAMn/VERT2 506 und CAMn/VERT3 508. Die CAM-Stufe CAMn/ VERT0 502 empfängt die Schreib- und Lese-Auswahlsignale WSEL0 und RSEL0 für VERT0. Die CAM-Stufe CAMn/VERT1 504 empfängt die Schreib- und Lese-Auswahlsignale WSEL1 und RSEL1 für VERT1. Die CAM-Stufe CAMn/ VERT2 506 empfängt die Schreib- und Lese-Auswahlsignale WSEL2 und RSEL2 für VERT2. Die CAM-Stufe CAMn/VERT3 508 empfängt die Schreib- und Lese-Auswahlsignale WSEL3 und RSEL3 für VERT3. Eine CAM-Stufe 200 CAMn befindet sich in jedem Vertikalarray und in jeder CAMn 502,504,506,508 wird jeweils ein Informationsbit bezüglich der Stelle einer inoperativen Bitleitung in jedem jeweiligen Primärarray gespeichert.
  • Wie in 6 dargestellt, sind die CAMn-Stufen 502,504,506,508 alle mit einem Schreib-Pull-up-Transistor 510, vorzugsweise einem p-Kanal-Transistor, an einem ein Signal CAMnW aufweisenden gemeinsam genutzten Ausgang 512 gekoppelt und sind alle mit einem Lese-Pull-up-Transistor 514, vorzugsweise einem p-Kanal-Transistor, an einem ein Signal CAMnR aufweisenden gemeinsam genutzten Ausgang 516 gekoppelt.
  • Wenn beispielsweise eine Schreiboperation an VERT0 durchgeführt wird, ist das Schreib-Auswahlsignal WSEL0 aktiv und wird der Inhalt der CAM-Zelle in der Zweiport-CAM-Stufe CAMn/VERT0 502 geprüft. Da während der Durchführung einer Schreiboperation an VERT0 eine Leseoperation möglicherweise dort nicht durchgeführt wird, ist das Lese-Auswahlsignal RSELO nicht aktiv. Ferner sind die anderen Schreibprüfsignale WSEL1, WSEL2 und WSEL3 nicht aktiv und ist das Signal CAMnW an dem gemeinsam genutzten Ausgang 512 im Loder H-Zustand, je nach Inhalt der CAM-Zelle in CAMn/VERT0 502.
  • Ähnlich ist beispielsweise bei Durchführung einer Leseoperation an VERT2 das Schreib-Auswahlsignal RSEL2 aktiv und wird der Inhalt der CAM-Zelle in der Zweiport-CAM-Stufe CAMn/VERT2 506 geprüft. Da während der Durchführung einer Leseoperation an VERT 2 dort möglicherweise keine Schreiboperation durchgeführt wird, ist das Schreib-Auswahlsignal WSEL2 nicht aktiv. Ferner sind die anderen Lese-Auswahlsignale RSELO, RSEL1 und RSEL3 nicht aktiv und ist das Signal CAMnR an dem gemeinsam genutzten Ausgang 516 im Loder H-Zustand, je nach Inhalt der CAM-Zelle in CAMn/VERT2 506.
  • Bei einer Ausführungsform befinden sich sämtliche in 1 gezeigten Komponenten auf einem einzigen Chip mit integrierter Schaltung. Es sei angemerkt, dass Adressen- und Steuereingänge für die beispielhaften Flash-Speicherchips von der Speicherdichte und den Interface-Implementierungen abhängig sind.
  • Es sei darauf hingewiesen, dass die offenbarten Ausführungsformen mit anderen Speicherdichten und alternativen Interface-Implementierungen mit den dazugehörigen alternativen Adressen- und Steuereingangskonfigurationen arbeiten können.
  • Wie hier verwendet, bedeutet der Ausdruck Adresse im weiteren Sinne einen beliebigen Stellen-Identifizieren, der eindeutig der/den oder der Stelle einer oder mehrerer Speicherzellen entspricht. Die hier beschriebenen derzeit bevorzugten Ausführungsformen bieten eine Redundanz-CAM-Schaltungsanordnung mit Zweiport-CAM-Stufen. Aspekte der Ausführungsformen können jedoch für andere Operationen als das Ersetzen inoperativer Speicherzellen durch das redundante Array verwendet werden.
  • Wie hier verwendet, beziehen sich die Ausdrücke und Wendungen L-Zustand, logischer L-Zustand, nicht aktiviert, nicht aktiv und inaktiv im weiteren Sinne auf logische L-Werte eines digitalen Signals, die generell als eine binäre Null (0) repräsentierend verstanden werden.
  • Wie hier verwendet, beziehen sich die Ausdrücke und Wendungen H-Zustand, logischer N-Zustand, aktiviert und aktiv im weiteren Sinne auf logische H-Werte eines digitalen Signals, die generell als eine binäre Eins (1) repräsentierend verstanden werden.
  • Wie hier verwendet, bedeutet die Wendung "A ist mit B gekoppelt", dass A direkt mit B verbunden ist oder dass A indirekt über eine oder mehreren Zwischenkomponenten mit B verbunden ist.
  • Wie hier verwendet, bezieht sich der Ausdruck Benutzer auf einen Prozessor oder eine andere Komponente oder Entität, der/die auf den Speicher zuzugreifen beabsichtigt.
  • Wie hier verwendet, bezieht sich der Ausdruck inoperativ, wenn er in Zusammenhang mit einem Speicherelement oder einer Gruppe von Speicherelementen verwendet wird, im weiteren Sinne auf eine Bedingung oder einen Zustand, die/der das Ersetzen des inoperativen Speicherelements durch ein oder mehrere Speicherelemente erforderlich machen kann. Das Speicherelement kann beispielsweise eine oder mehrere Speicherzellen oder Bitleitungen oder eine Interface-Schaltungsanordnung zu Speicherzellen aufweisen. Insbesondere bezieht sich inoperative Speicherzelle, wie hier verwendet, im weiteren Sinne auf eine Speicherzelle mit oder ohne dazugehörige Schaltungsanordnung, wie z. B. eine mit der Speicherzelle gekoppelte Bitleitung oder eine die Speicherzelle aufweisende Bitleitung. Typischerweise macht das Fehlen der Funktionalität des Speicherelements ein Ersetzen des Speicherelements erforderlich. Das Fehlen der Funktionalität kann auf eine Beschädigung oder einen Defekt in dem Speicherelement oder in einem Interface zu dem Speicherelement zurückzuführen sein.
  • Es sei darauf hingewiesen, dass sich der Ausdruck Signal, wie hier verwendet, im weiteren Sinn auf ein analoges oder digitales Signal bezieht und beide Signaltypen umfasst.
  • Aus dem oben Gesagten geht hervor, dass bei den derzeit bevorzugten Ausführungsformen ein Speicher bereitgestellt wird, bei dem eine inoperative Speicherzelle durch eine zweite Speicherzelle ersetzt werden kann. Der Speicher weist ein Primärarray von Speicherzellen, ein redundantes Array von Speicherzellen und eine inhaltsadressierbare Redundanz-Speicher- (CAM-) Schaltungsanordnung auf. Die Redundanz-CAM-Schaltungsanordnung weist mehrere Zweiport-CAM-Stufen auf. Jede CAM-Stufe weist eine CAM-Zelle, einen mit der CAM-Zelle gekoppelten Schreib-Datenbus und einen mit der CAM-Zelle gekoppelten Lese-Datenbus auf. Die CAM-Zelle speichert Informationen bezüglich einer Stelle einer inoperativen Speicherzelle in dem Primärarray. Vorzugsweise macht die inoperative Speicherzelle ein Ersetzen durch eine zweite Speicherzelle in dem redundanten Array erforderlich. Der Schreib- Datenbus erzeugt die Informationen von der CAM-Zelle in Reaktion auf ein Schreib-Auswahlsignal. Das Schreib-Auswahlsignal zeigt eine an Speicherzellenplätzen in dem Primärarray durchzuführende Schreiboperation an. Der Lese-Datenbus erzeugt die Informationen von der CAM-Zelle in Reaktion auf ein Lese-Auswahlsignal. Das Lese-Auswahlsignal zeigt eine an Speicherzellenstellen in dem Primärarray durchzuführende Leseoperation an.
  • Vorzugsweise werden die Schreiboperation und die Leseoperation zu unterschiedlichen Zeiten an den Speicherzellenplätzen in dem Primärarray durchgeführt.
  • Vorzugsweise ist der Speicher in der Lage, eine Operationsadresse, die sich auf eine Stelle einer dritten Speicherzelle in dem Primärarray bezieht, mit Informationen der CAM-Zelle zu vergleichen, um festzustellen, ob die dritte Speicherzelle in dem Primärarray durch die zweite Speicherzelle in dem redundanten Array ersetzt werden muss.
  • Bei einer bevorzugten Ausführungsform weist die Zweiport-CAM-Stufe die in 3 gezeigte Zweiport-CAM-Stufe 200 auf. Selbstverständlich können andere geeignete Zweiport-CAM-Stufen gemäß den derzeit bevorzugten Ausführungsformen als die beispielhafte CAM-Stufe 200 verwendet werden.
  • Ferner bieten die derzeit bevorzugten Ausführungsformen eine inhaltsadressierbare Zweiport-Speicher- (CAM-) Stufe in einem Speicher. Die CAM-Stufe weist eine CAM-Zelle, einen mit der CAM-Zelle gekoppelten Schreib-Datenbus und einen mit der CAM-Zelle gekoppelten Lese-Datenbus auf. Die CAM-Zelle speichert Informationen bezüglich einer Stelle einer inoperativen Speicherzelle in einem Primärarray des Speichers. Vorzugsweise macht die inoperative Speicherzelle ein Ersetzen durch eine zweite Speicherzelle in dem redundanten Array des Speichers erforderlich. Der Schreib-Datenbus erzeugt die Informationen von der CAM-Zelle in Reaktion auf ein Schreib-Auswahlsignal. Das Schreib-Auswahlsignal zeigt eine an Speicherzellenplätzen in dem Primär array durchzuführende Schreiboperation an. Der Lese-Datenbus erzeugt die Informationen von der CAM-Zelle in Reaktion auf ein Lese-Auswahlsignal. Das Lese-Auswahlsignal zeigt eine an Speicherzellenstellen in dem Primärarray durchzuführende Leseoperation an.
  • Vorzugsweise werden die Schreiboperation und die Leseoperation zu unterschiedlichen Zeiten an den Speicherzellenplätzen in dem Primärarray durchgeführt.
  • Vorzugsweise ist der Speicher in der Lage, eine Operationsadresse, die sich auf eine Stelle einer dritten Speicherzelle in dem Primärarray bezieht, mit Informationen der CAM-Zelle zu vergleichen, um festzustellen, ob die dritte Speicherzelle in dem Primärarray durch die zweite Speicherzelle in dem redundanten Array ersetzt werden muss.
  • Bei einer bevorzugten Ausführungsform weist die Zweiport-CAM-Stufe die in 3 gezeigte Zweiport-CAM-Stufe 200 auf. Selbstverständlich können andere geeignete Zweiport-CAM-Stufen gemäß den derzeit bevorzugten Ausführungsformen als die beispielhafte CAM-Stufe 200 verwendet werden.
  • Vorzugsweise speichert die CAM-Zelle die Stelle einer inoperativen Speicherzelle in dem Primärarray. Vorzugsweise macht die inoperative Speicherzelle ein Ersetzen durch die zweite Speicherzelle in dem einen oder den mehreren redundanten Arrays erforderlich.
  • Ferner stellen die derzeit bevorzugten Ausführungsformen einen Speicher bereit, bei dem eine erste Speicherzelle durch eine dritte Speicherzelle und eine zweite Speicherzelle durch eine vierte Speicherzelle ersetzt werden kann. Der Speicher weist ein erstes Primärarray von Speicherzellen, ein erstes redundantes Array von Speicherzellen, das dem ersten Primärarray von Speicherzellen zugeordnet ist, ein zweites Primärarray von Speicherzellen, ein zweites redundantes Array von Speicherzellen, das dem ersten Array von Speicherzel len zugeordnet ist, und eine inhaltsadressierbare Redundanz-Speicher(CAM-) Schaltungsanordnung auf. Das erste Primärarray weist eine erste Speicherzelle auf, und das zweite Primärarray weist eine zweite Speichezelle auf. Die Redundanz-CAM-Schaltungsanordnung weist eine erste Gruppe von Zweiport-CAM-Stufen und ein zweiten Gruppe von Zweiport-CAM-Stufen auf. Die erste Gruppe von Zweiport-CAM-Stufen speichert erste Stelleninformationen der ersten Speicherzelle. Vorzugsweise macht die erste Speicherzelle ein Ersetzen durch eine dritte Speicherzelle in dem ersten redundanten Array erforderlich. Beispielsweise kann die erste Speicherzelle beschädigt oder anderweitig inoperativ sein. Die zweite Gruppe von Zweiport-CAM-Stufen speichert zweite Stelleninformationen der zweiten Speicherzelle. Vorzugsweise macht die zweite Speicherzelle ein Ersetzen durch eine vierte Speicherzelle in dem zweiten redundanten Array erforderlich. Beispielsweise kann die zweite Speicherzelle beschädigt oder anderweitig inoperativ sein. Eine erste Anfangs-CAM-Stufe der ersten Gruppe von CAM-Stufen weist eine erste CAM-Zelle, einen ersten Schreib-Datenbus und einen ersten Lese-Datenbus auf. Der erste Schreib-Datenbus und der erste Lese-Datenbus sind jeweils mit der CAM-Zelle gekoppelt. Eine zweite Anfangs-CAM-Stufe der zweiten Gruppe von CAM-Stufen weist eine zweite CAM-Zelle, einen zweiten Schreib-Datenbus und einen zweiten Lese-Datenbus auf. Der zweite Schreib-Datenbus und der zweite Lese-Datenbus sind jeweils mit der CAM-Zelle gekoppelt. Der zweite Schreib-Datenbus und der erste Schreib-Datenbus nutzen gemeinsam einen ersten Schreib-Ausgang. Der zweite Lese-Datenbus und der erste Lese-Datenbus nutzen gemeinsam einen ersten Lese-Ausgang.
  • Vorzugsweise erzeugt der erste Schreib-Datenbus einen ersten Teil der ersten Stelleninformationen von der ersten Gruppe von CAM-Zellen an dem ersten Schreib-Ausgang in Reaktion auf ein erstes Schreib-Auswahlsignal. Vorzugsweise weist der erste Teil der ersten Stelleninformationen ein Informationsbit auf. Das erste Schreib-Auswahlsignal zeigt eine an Speicherzellenplätzen in dem ersten Primärarray durchzuführende Schreiboperation an. Vorzugsweise erzeugt der zweite Schreib-Datenbus einen zweiten Teil der zweiten Stellenin formationen von der zweiten Gruppe von CAM-Stufen an dem ersten Schreib-Ausgang in Reaktion auf ein zweites Schreib-Auswahlsignal. Vorzugsweise weist der zweite Teil der zweiten Stelleninformationen ein Informationsbit auf. Das zweite Schreib-Auswahlsignal zeigt eine an Speicherzellenplätzen in dem zweiten Primärarray durchzuführende Schreiboperation an. Vorzugsweise weist der Speicher ferner einen mit dem ersten Schreib-Ausgang gekoppelten Schreib-Vorspanntransistor zum Vorspannen des ersten Schreib-Ausgangs auf einen ersten Wert an. Vorzugsweise wird, wenn eine Schreiboperation an dem ersten Primärarray durchgeführt wird und der erste Schreib-Ausgang auf einen zweiten Wert gezogen wird, die erste CAM-Zelle gelöscht. Vorzugsweise wird, wenn eine Schreiboperation an dem ersten Primärarray durchgeführt wird und der erste Schreib-Ausgang auf dem ersten Wert bleibt, die erste CAM-Zelle programmiert. Vorzugsweise wird, wenn eine Schreiboperation an dem zweiten Primärarray durchgeführt wird und der erste Schreib-Ausgang auf den zweiten Wert gezogen wird, die zweite CAM-Zelle gelöscht. Vorzugsweise wird, wenn eine Schreiboperation an dem zweiten Primärarray durchgeführt wird und der erste Schreib-Ausgang auf dem ersten Wert bleibt, die zweite CAM-Zelle programmiert.
  • Vorzugsweise erzeugt der erste Lese-Datenbus einen ersten Teil der ersten Stelleninformationen von der ersten Gruppe von CAM-Zellen an dem ersten Lese-Ausgang in Reaktion auf ein erstes Lese-Auswahlsignal. Vorzugsweise weist der erste Teil der ersten Stelleninformationen ein Informationsbit auf. Das erste Lese-Auswahlsignal zeigt eine an Speicherzellenplätzen in dem ersten Primärarray durchzuführende Leseoperation an. Vorzugsweise erzeugt der zweite Lese-Datenbus einen zweiten Teil der zweiten Stelleninformationen von der zweiten Gruppe von CAM-Stufen an dem ersten Lese-Ausgang in Reaktion auf ein zweites Lese-Auswahlsignal. Vorzugsweise weist der zweite Teil der zweiten Stelleninformationen ein Informationsbit auf. Das zweite Lese-Auswahlsignal zeigt eine an Speicherzellenplätzen in dem zweiten Primärarray durchzuführende Leseoperation an. Vorzugsweise weist der Speicher ferner einen mit dem ersten Lese-Ausgang gekoppelten Lese-Vorspanntransistor zum Vorspannen des ersten Lese-Ausgangs auf einen ersten Wert an. Vorzugsweise wird, wenn eine Leseoperation an dem ersten Primärarray durchgeführt wird und der erste Lese-Ausgang auf einen zweiten Wert gezogen wird, die erste CAM-Zelle gelöscht. Vorzugsweise wird, wenn eine Leseoperation an dem ersten Primärarray durchgeführt wird und der erste Lese-Ausgang auf dem ersten Wert bleibt, die erste CAM-Zelle programmiert. Vorzugsweise wird, wenn eine Leseoperation an dem zweiten Primärarray durchgeführt wird und der erste Lese-Ausgang auf den zweiten Wert gezogen wird, die zweite CAM-Zelle gelöscht. Vorzugsweise wird, wenn eine Leseoperation an dem zweiten Primärarray durchgeführt wird und der erste Lese-Ausgang auf dem ersten Wert bleibt, die zweite CAM-Zelle programmiert.
  • Ferner bieten die derzeit bevorzugten Ausführungsformen ein Verfahren zum Ersetzen einer inoperativen Zelle in einem Primärarray von Speicherzellen durch eine zweite Speicherzelle in einem redundanten Array von Speicherzellen. Informationen sind in einer Folge von Zweiport-CAM-Stufen gespeichert. Die Informationen beziehen sich auf eine Stelle der inoperativen Speicherzelle. Eine Operationsadresse, die einer oder mehreren Stellen von Speicherzellen in dem Primärarray entspricht, wird mit den Informationen in der Folge von Zweiport-CAM-Stufen verglichen, um festzustellen, ob die eine oder die mehreren Stellen von Speicherzellen die Stelle der inoperativen Speicherzelle aufweisen. Wenn die eine oder die mehreren Stellen von Speicherzellen die Stelle der inoperativen Speicherzelle aufweisen, wird mittels der Operationsadresse auf die Stelle der zweiten Speicherzelle zugegriffen. Wenn die eine oder die mehreren Stellen von Speicherzellen die Stelle der inoperativen Speicherzelle nicht aufweisen, wird mittels der Operationsadresse auf die eine oder die mehreren Speicherzellen zugegriffen. Bei einer bevorzugten Ausführungsform ist die Operationsadresse eine Schreibadresse. Bei einer bevorzugten Ausführungsform ist die Operationsadresse eine Leseadresse.
  • Es sei darauf hingewiesen, dass die hier beschriebenen Verfahrensschritte in einer mit den beschriebenen Handlungen übereinstimmenden Reihenfolge durchgeführt werden können.
  • Obwohl spezielle Ausführungsformen der vorliegenden Erfindung dargestellt und beschrieben worden sind, können Modifikationen durchgeführt werden. Beispielsweise können die Richtungen der einzelnen Transistoren, nämlich p-Kanal und n-Kanal, bei geeigneten Anwendungen umgekehrt werden. Es sei angemerkt, dass geeignete Transistorgrößen, die die Kanal-Längen-zu-Breiten-Verhältnisse (gemessen in Mikrometer oder Mikron) für die die dargestellten Schaltungen bildenden Transistoren spezifizieren, aus den Figuren weggelassen worden sind. Es sei darauf hingewiesen, dass je nach Auslegungsanforderungen und den Möglichkeiten und Beschränkungen des speziellen Fertigungsverfahrens für integrierte Schaltungen, das für die Implementierung der Schaltung angewendet wird, sowie den Leistungsanforderungen der spezifischen Ausführungsform geeignete Verhältnisse gewählt werden können. Ferner können die hier beschriebenen erfindungsgemäßen Konzepte auf andere Schaltungen als Speichervorrichtungen angewendet werden.
  • In der vorstehenden detaillierten Beschreibung sind nur einige wenige der zahlreichen Formen dargestellt, die die vorliegende Erfindung annehmen kann. Die vorstehende detaillierte Beschreibung darf daher nur als Erläuterung und nicht als Einschränkung angesehen werden, und es sei darauf hingewiesen, dass die nachfolgenden Patentansprüche, einschließlich sämtlicher Äquivalente, den Umfang der vorliegenden Erfindung definieren. Daher decken die beiliegenden Patentansprüche sämtliche Änderungen und Modifikationen ab, die in den Umfang der Erfindung fallen.

Claims (16)

  1. Inhaltsadressierbare Zweiport-Speicher- (CAM-) Stufe (200) in einem Speicher (100), wobei die CAM-Stufe aufweist: eine CAM-Zelle (202) zum Speichern von Informationen bezüglich der Stelle einer inoperativen Speicherzelle in einem Primärarray des Speichers, wobei die inoperative Speicherzelle durch eine zweite Speicherzelle in einem redundanten Array des Speichers ersetzt werden muss; einen mit der CAM-Zelle gekoppelten Schreib-Datenbus (204) zum Erzeugen der Informationen von der CAM-Zelle in Reaktion auf ein Schreib-Auswahlsignal, das das Durchführen einer Schreiboperation an Speicherzellenstellen in dem Primärarray anzeigt; und einen mit der CAM-Zelle gekoppelten Lese-Datenbus (206) zum Erzeugen der Informationen von der CAM-Zelle in Reaktion auf ein Lese-Auswahlsignal, das das Durchführen einer Leseoperation an den Speicherzellenstellen in dem Primärarray anzeigt.
  2. Zweiport-CAM-Stufe nach Anspruch 1, bei der die Schreiboperation und die Leseoperation zu unterschiedlichen Zeiten an Speicherzellenstellen in dem Primärarray durchgeführt werden.
  3. Zweiport-CAM-Stufe nach Anspruch 1, bei der der Speicher in der Lage ist, eine Operationsadresse, die sich auf eine Stelle einer dritten Speicherzelle in dem Primärarray bezieht, mit den Informationen der CAM-Zelle zu vergleichen, um festzustellen, ob die dritte Speicherzelle in dem Primärarray durch die zweite Speicherzelle in dem redundanten Array ersetzt werden muss.
  4. Speicher (100), der in der Lage ist, eine inoperative Speicherzelle durch eine zweite Speicherzelle zu ersetzen, wobei der Speicher aufweist: ein erstes Primärarray von Speicherzellen; ein erstes redundantes Array von Speicherzellen; und eine inhaltsadressierbare Redundanz- (CAM-) Schaltungsanordnung (106), die durch das Aufweisen mehrerer Zweiport-CAM-Stufen (200) gekennzeichnet ist, wobei jede CAM-Stufe aufweist: eine CAM-Zelle (202) zum Speichern von Informationen bezüglich der Stelle einer inoperativen Speicherzelle in einem Primärarray, wobei die inoperative Speicherzelle durch eine zweite Speicherzelle in einem redundanten Array ersetzt werden muss; einen mit der CAM-Zelle gekoppelten Schreib-Datenbus (204) zum Erzeugen der Informationen von der CAM-Zelle in Reaktion auf ein Schreib-Auswahlsignal, das das Durchführen einer Schreiboperation an Speicherzellenstellen in dem Primärarray anzeigt; und einen mit der CAM-Zelle gekoppelten Lese-Datenbus (206) zum Erzeugen der Informationen von der CAM-Zelle in Reaktion auf ein Lese-Auswahlsignal, das das Durchführen einer Leseoperation an den Speicherzellenstellen in dem Primärarray anzeigt.
  5. Speicher nach Anspruch 4, bei dem die Schreiboperation und die Leseoperation zu unterschiedlichen Zeiten an Speicherzellenstellen in dem Primärarray durchgeführt werden.
  6. Speicher nach Anspruch 4, bei dem der Speicher in der Lage ist, eine Operationsadresse, die sich auf eine Stelle einer dritten Speicherzelle in dem Primärarray bezieht, mit den Informationen der CAM-Zelle zu vergleichen, um festzustellen, ob die dritte Speicherzelle in dem Primärarray durch die zweite Speicherzelle in dem redundanten Array ersetzt werden muss.
  7. Speicher nach Anspruch 4, ferner mit: einem zweiten Primärarray von Speicherzellen; und einem zweiten redundanten Array von Speicherzellen, das dem zweiten Primärarray von Speicherzellen zugeordnet ist; wobei die CAM-Schaltungsanordnung aufweist: eine erste Gruppe von Zweiport-CAM-Stufen zum Speichern einer ersten Stelleninformation einer ersten Speicherzelle in dem ersten Primärarray von Zellen, wobei die erste Speicherzelle durch eine dritte Speicherzelle in dem ersten redundanten Array ersetzt werden muss, wobei eine erste Anfangs-CAM-Stufe der ersten Gruppe von CAM-Stufen aufweist: eine erste CAM-Zelle, einen ersten Schreib-Datenbus und einen ersten Lese-Datenbus, wobei der erste Schreib-Datenbus und der erste Lese-Datenbus jeweils mit der CAM-Zelle gekoppelt sind; und eine zweite Gruppe von Zweiport-CAM-Stufen zum Speichern einer zweiten Stelleninformation einer zweiten Speicherzelle in dem zweiten Primärarray von Zellen, wobei die zweite Speicherzelle durch eine vierte Speicherzelle in dem zweiten redundanten Array ersetzt werden muss, wobei eine zweite Anfangs-CAM-Stufe der zweiten Gruppe von CAM-Stufen aufweist: eine zweite CAM-Zelle, einen zweiten Schreib-Datenbus und einen zweiten Lese-Datenbus, wobei der zweite Schreib-Datenbus und der zweite Lese-Datenbus jeweils mit der CAM-Zelle gekoppelt sind, wobei der zweite Schreib-Datenbus und der erste Lese-Datenbus einen ersten Schreib-Ausgang gemeinsam nutzen und der zweite Lese-Datenbus und der erste Lese-Datenbus einen ersten Lese-Ausgang gemeinsam nutzen.
  8. Speicher nach Anspruch 7, bei dem die erste Speicherzelle oder die zweite Speicherzelle inoperativ ist.
  9. Speicher nach Anspruch 7, bei dem der erste Schreib-Datenbus einen ersten Teil der ersten Stelleninformation von der ersten Gruppe von CAM-Stufen erzeugt und der zweite Schreib-Datenbus einen zweiten Teil der zweiten Stelleninformation von der zweiten Gruppe von CAM-Stufen erzeugt, und zwar an dem ersten Schreib-Ausgang und jeweils in Reaktion auf erste und zweite Schreib-Auswahlsignale, wobei die ersten und zweiten Schreib-Auswahlsignale das Durchführen einer Schreiboperation an Speicherzellenstellen in dem ersten bzw. zweiten Primärarray anzeigen.
  10. Speicher nach Anspruch 9, bei dem der erste Teil der ersten Stelleninformation und/oder der zweite Teil der zweiten Stelleninformation ein Informationsbit aufweisen.
  11. Speicher nach Anspruch 7, bei dem der erste Lese-Datenbus einen ersten Teil der ersten Stelleninformation von der ersten Gruppe von CAM-Stufen erzeugt und der zweite Lese-Datenbus einen zweiten Teil der zweiten Stelleninformation von der zweiten Gruppe von CAM-Stufen erzeugt, und zwar an dem ersten Lese-Ausgang und jeweils in Reaktion auf erste und zweite Lese-Auswahlsignale, wobei die ersten und zweiten Lese-Auswahlsignale das Durchführen einer Leseoperation an Speicherzellenstellen in dem ersten bzw. zweiten Primärarray anzeigen.
  12. Speicher nach Anspruch 11, bei dem der erste Teil der ersten Stelleninformation und/oder der zweite Teil der zweiten Stelleninformation ein Informationsbit aufweisen.
  13. Speicher nach Anspruch 4, bei dem der Schreib-Datenbus (204) und der Lese-Datenbus (206) jeweils mit Vorspanntransistoren (208,210) gekoppelt sind.
  14. Speicher nach Anspruch 13, bei dem die Vorspanntransistoren (208, 210) Pull-up-Transistoren mit einer Schwellenspannung im Bereich von -0,5 bis -0,8 Volt aufweisen.
  15. Verfahren zum Ersetzen einer inoperativen Speicherzelle in einem Primärarray von Speicherzellen in einem Speicher durch eine zweite Speicherzelle in einem redundanten Array von Speicherzellen, wobei das Verfahren dadurch gekennzeichnet ist, dass es folgende Schritte umfasst: Speichern von Informationen in einer Folge von Zweiport-CAM-Stufen, wobei jede Stufe der Stufe (200) nach Anspruch 1 entspricht, wobei die Informationen eine Stelle der inoperativen Speicherzelle betreffen; Vergleichen einer Operationsadresse, die einer oder mehreren Stellen von Speicherzellen in dem Primärarray entspricht, mit den Informationen in der Folge von Zweiport-CAM-Stufen, um festzustellen, ob die eine oder die mehreren Stellen von Speicherzellen die Stelle der inoperativen Speicherzelle umfassen; wenn die eine oder die mehreren Stellen von Speicherzellen die Stelle der inoperativen Speicherzelle umfassen, dann Zugreifen auf die Stelle der zweiten Speicherzelle mittels der Operationsadresse; und wenn die eine oder die mehreren Stellen von Speicherzellen die Stelle der inoperativen Speicherzelle nicht umfassen, dann Zugreifen auf die eine oder die mehreren Stellen von Speicherzellen mittel der Operationsadresse.
  16. Verfahren nach Anspruch 15, bei dem die Operationsadresse eine Schreib- oder eine Leseadresse ist.
DE60102466T 2000-05-31 2001-05-21 Zwei-tor cam speicher für simultanen flash speicher betrieb Expired - Lifetime DE60102466T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US20844900P 2000-05-31 2000-05-31
US208449P 2000-05-31
US829657 2001-04-10
US09/829,657 US6396749B2 (en) 2000-05-31 2001-04-10 Dual-ported CAMs for a simultaneous operation flash memory
PCT/US2001/016393 WO2001093034A2 (en) 2000-05-31 2001-05-21 Dual-ported cams for a simultaneous operation flash memory

Publications (2)

Publication Number Publication Date
DE60102466D1 DE60102466D1 (de) 2004-04-29
DE60102466T2 true DE60102466T2 (de) 2005-02-24

Family

ID=26903205

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60102466T Expired - Lifetime DE60102466T2 (de) 2000-05-31 2001-05-21 Zwei-tor cam speicher für simultanen flash speicher betrieb

Country Status (11)

Country Link
US (1) US6396749B2 (de)
EP (1) EP1290559B1 (de)
JP (1) JP4606694B2 (de)
KR (1) KR100915450B1 (de)
CN (1) CN1204497C (de)
AT (1) ATE262700T1 (de)
AU (1) AU2001264757A1 (de)
BR (1) BR0111245A (de)
DE (1) DE60102466T2 (de)
TW (1) TW587255B (de)
WO (1) WO2001093034A2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6492881B2 (en) * 2001-01-31 2002-12-10 Compaq Information Technologies Group, L.P. Single to differential logic level interface for computer systems
US6711720B2 (en) * 2002-03-14 2004-03-23 Hewlett-Packard Development Company, L.P. Method of optimizing high performance CMOS integrated circuit designs for power consumption and speed through genetic optimization
US6745371B2 (en) * 2002-03-15 2004-06-01 Sun Microsystems, Inc. Low Vt transistor substitution in a semiconductor device
US6845025B1 (en) 2003-03-21 2005-01-18 Netlogic Microsystems, Inc. Word line driver circuit for a content addressable memory
US7032200B1 (en) 2003-09-09 2006-04-18 Sun Microsystems, Inc. Low threshold voltage transistor displacement in a semiconductor device
US6973003B1 (en) 2003-10-01 2005-12-06 Advanced Micro Devices, Inc. Memory device and method
US7200693B2 (en) * 2004-08-27 2007-04-03 Micron Technology, Inc. Memory system and method having unidirectional data buses
US7209405B2 (en) 2005-02-23 2007-04-24 Micron Technology, Inc. Memory device and method having multiple internal data buses and memory bank interleaving
US20070028027A1 (en) * 2005-07-26 2007-02-01 Micron Technology, Inc. Memory device and method having separate write data and read data buses
US7301832B2 (en) * 2005-11-03 2007-11-27 Atmel Corporation Compact column redundancy CAM architecture for concurrent read and write operations in multi-segment memory arrays
US7567448B2 (en) * 2007-01-05 2009-07-28 Atmel Corporation Content addressable memory cell having a single floating gate transistor
JP2008234806A (ja) * 2007-03-23 2008-10-02 Toshiba Corp 半導体記憶装置およびそのリダンダンシ方法
WO2009079478A1 (en) * 2007-12-14 2009-06-25 Virident Systems, Inc. Distributing metadata across multiple different disruption regions within an asymmetric memory system
US7996736B2 (en) * 2008-10-26 2011-08-09 Sandisk 3D Llc Bad page marking strategy for fast readout in memory
US7911818B2 (en) * 2009-03-16 2011-03-22 Netlogic Microsystems, Inc. Content addressable memory having bidirectional lines that support passing read/write data and search data
US20140115422A1 (en) 2012-10-24 2014-04-24 Laurence H. Cooke Non-volatile memory error correction

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02282999A (ja) * 1989-04-25 1990-11-20 Oki Micro Design Miyazaki:Kk 半導体メモリ装置
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
FR2716743B1 (fr) * 1994-02-28 1996-09-27 Sgs Thomson Microelectronics Circuit de redondance de mémoire.
JP3059076B2 (ja) * 1995-06-19 2000-07-04 シャープ株式会社 不揮発性半導体記憶装置
US6317349B1 (en) * 1999-04-16 2001-11-13 Sandisk Corporation Non-volatile content addressable memory
US6484271B1 (en) * 1999-09-16 2002-11-19 Koninklijke Philips Electronics N.V. Memory redundancy techniques
US6307787B1 (en) * 2000-07-25 2001-10-23 Advanced Micro Devices, Inc. Burst read incorporating output based redundancy

Also Published As

Publication number Publication date
TW587255B (en) 2004-05-11
JP4606694B2 (ja) 2011-01-05
ATE262700T1 (de) 2004-04-15
CN1432153A (zh) 2003-07-23
US20010048613A1 (en) 2001-12-06
US6396749B2 (en) 2002-05-28
WO2001093034A3 (en) 2002-05-02
KR20030007812A (ko) 2003-01-23
BR0111245A (pt) 2003-06-03
CN1204497C (zh) 2005-06-01
WO2001093034A2 (en) 2001-12-06
AU2001264757A1 (en) 2001-12-11
EP1290559A2 (de) 2003-03-12
KR100915450B1 (ko) 2009-09-04
DE60102466D1 (de) 2004-04-29
JP2003535430A (ja) 2003-11-25
EP1290559B1 (de) 2004-03-24

Similar Documents

Publication Publication Date Title
DE69623474T2 (de) Architektur für blockweise angeordnete nichtflüchtige speicher und redundanzblöcke
DE60102466T2 (de) Zwei-tor cam speicher für simultanen flash speicher betrieb
DE69406074T2 (de) Integrierte Halbleiterspeicherschaltung
DE4207934C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung und Programmierverfahren für eine nichtflüchtige Halbleiterspeichervorrichtung
DE3852833T2 (de) Nichtflüchtiger Speicher.
DE19983565B4 (de) Interner Auffrisch-Modus für eine Flash-Speicherzellenmatrix
DE69527741T2 (de) Halbleiterspeichergerät und Antriebsverfahren
DE19880311B3 (de) Nichtflüchtige Speicherstruktur
DE60206624T3 (de) Segmentierung der bitleitung und des steuergates in einem nichtflüchtigen speicher
DE602004010239T2 (de) Verbesserter Seitenspeicher für eine programmierbare Speichervorrichtung
DE69500007T2 (de) Speicherredundanzschaltung
DE69500143T2 (de) Schaltung zum Wählen von Redundanzspeicherbauelementen und diese enthaltende FLASH EEPROM
DE69417712T2 (de) Nichtflüchtige Halbleiter-Speichereinrichtung
DE69411762T2 (de) Flash-EEPROM mit redundanter Speicherzellenmatrix
DE60316510T2 (de) Inhaltsadressierbare Speicheranordnung und zugehöriges Betriebsverfahren
DE112005000866T5 (de) Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen
DE69712883T2 (de) Zweimodenspeicher mit eingebettem ROM
DE69324694T2 (de) Doppelreihige Adressendekodierung- und Auswahlschaltung für eine elektrisch löschbare und programmierbare nichtflüchtige Speicheranordnung mit Redundanz, insbesondere für Flash-EEPROM Anordnungen
DE60126800T2 (de) Burstread mit ausgangbasierter redundanz
DE60003451T2 (de) Wortleitungssignale einer flashspeicher bleiben überall auf dem chip verlustfrei
DE112004002851T5 (de) Halbleitervorrichtung und Programmierverfahren
DE69700379T2 (de) Elektrisch modifizierbarer nichtflüchtiger Mehrpegelspeicher mit internen Auffrischungsmitteln
EP0224887B1 (de) Gate Array Anordnung in CMOS-Technik
DE69833348T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE69500009T2 (de) Nichtflüchtiger programmierbarer Flip-Flop mit Verminderung von parasitären Effekten beim Lesen für Speicherredundanzschaltung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SPANSION LLC (N.D.GES.D. STAATES DELAWARE), SU, US