DE112005003436T5 - Halbleiterbauelement, Adressenzuordnungsverfahren und Verifizierungsverfahren - Google Patents

Halbleiterbauelement, Adressenzuordnungsverfahren und Verifizierungsverfahren Download PDF

Info

Publication number
DE112005003436T5
DE112005003436T5 DE112005003436T DE112005003436T DE112005003436T5 DE 112005003436 T5 DE112005003436 T5 DE 112005003436T5 DE 112005003436 T DE112005003436 T DE 112005003436T DE 112005003436 T DE112005003436 T DE 112005003436T DE 112005003436 T5 DE112005003436 T5 DE 112005003436T5
Authority
DE
Germany
Prior art keywords
programming
semiconductor device
data
programmed
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112005003436T
Other languages
English (en)
Other versions
DE112005003436B4 (de
Inventor
Shozo Kasugai Kawabata
Kenji Kasugai Shibata
Takaaki Kasugai Furuyama
Satoru Kasugai Kawamoto
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 Japan Ltd
Infineon Technologies LLC
Original Assignee
Spansion Japan Ltd
Spansion LLC
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 Spansion Japan Ltd, Spansion LLC filed Critical Spansion Japan Ltd
Publication of DE112005003436T5 publication Critical patent/DE112005003436T5/de
Application granted granted Critical
Publication of DE112005003436B4 publication Critical patent/DE112005003436B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

Abstract

Halbleiterbauelement mit:
einem Zellenarray, das Betriebseinstellinformation für das Halbleiterbauelement enthält; und
einer Steuereinheit, die Lese- und Schreiboperationen, die an dem Zellenarray auszuführen sind, steuert,
wobei die Steuereinheit unterschiedliche Reihenadressen für die jeweiligen Funktionen der Betriebseinstellinformation zuweist.

Description

  • Querverweise zu verwandten Anmeldungen
  • Dies ist eine Weiterführung der internationalen Anmeldung mit der Nr. PCT/JP2005/001083, die am 27. Januar 2005 eingereicht wurde und die nicht in englisch gemäß dem PCT-Artikel 21 (2) veröffentlicht wurde.
  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen Halbleiterbauelemente und betrifft insbesondere ein Halbleiterbauelement, das einen nicht-flüchtigen Speicher enthält. Insbesondere betrifft die vorliegende Erfindung eine Technik zum Steuern des Betriebs eines Halbleiterbauelements unter Anwendung von CAM-(inhaltsadressierbaren Speicher)Daten.
  • Beschreibung des Stands der Technik
  • Üblicherweise sind zwei Arten an Halbleiterbauelementen gut bekannt:
    Eine Art besitzt eine Struktur, die bestimmt, ob die Daten, die in einem nicht-flüchtigen Speicher gespeichert sind, äquivalent sind zu den erwarteten Datenwerten, um damit in automatischer Weise eine Datenprüfung zum Zeitpunkt des Programmierens oder Löschens des nicht-flüchtigen Speichers durchzuführen; die andere Art ist eine Struktur, die reguläre nicht-flüchtiges Speicherzellen aufweist, die von Anwendern zu verwenden sind, und die CAM-Zellen aufweist, um die Funktionsweise des Halbleiterbauelements zu steuern. In der jüngeren Vergangenheit wurde zur Reduzierung der Bauteilgröße eine Struktur vorgeschlagen, die CAM-Zellen aufweist, die aus regulären nicht-flüchtigen Speicherzellen gebildet sind. Wenn die CAM-Zellen den gleichen Aufbau aufweisen wie die regulären Speicherzellen, sollten die Wortleitungen und die Bitleitungen, die mit den CAM-Zellen zu verbinden sind, vorzugsweise den gleichen Aufbau aufweisen wie jene, die mit den regulären Speicherzellen zu verbinden sind.
  • Die CAM-Daten, die in die CAM-Zellen mit dem gleichen Aufbau wie die regulären Speicherzellen geschrieben werden, werden vorzugsweise ausgelesen und zu einer flüchtigen Speichereinheit (einer Zwischenspeicherschaltung), etwa einem SRAM (statischer Speicher mit wahlfreiem Zugriff) zum Zeitpunkt des Einschaltens oder des Zurücksetzens der Hardware übertragen. Mit dieser Maßnahme wird die Arbeitsgeschwindigkeit zum Zeitpunkt eines Lesezugriffs auf die regulären nicht-flüchtigen Speicherzellen nicht durch das Auslesen der CAM-Daten verringert.
  • Wenn die CAM-Zellen den gleichen Aufbau wie die regulären Speicherzellen besitzen, sollte die Verifizieroperation der CAM-Zellen vorzugsweise in dem Halbleiterbauelement zum Zeitpunkt des Neubeschreibens der CAM-Daten abgeschlossen sein, ähnlich wie der Verifiziervorgang der regulären Speicherzellen. Die ungeprüfte japanische Patentoffenlegungsschrift 6-76586 offenbart eine Verifizierschaltung zum Programmieren regulärer Speicherzellen.
  • Wenn reguläre Speicherzellen zu programmieren sind, wird die Information „1" oder „0" durch I/O-Einrichtungen bzw. Eingabe/Ausgabe-Einrichtungen durch einen Anwender eingespeist. Eine Speicherzeile mit der eingespeisten Information „0" ist eine Speicherzelle, die zu programmieren ist, und eine Speicherzelle mit der eingespeisten Information „1" ist eine zu löschende Speicherzelle. Die Information jeder I/O-Einheit wird als ein erwarteter Wert zum Zeitpunkt des Verifizierens verwendet.
  • In einem Halbleiterbauelement werden vor dem tatsächlichen Programmieren die Daten aus der Speicherzelle, die mit den programmierenden Wortleitungen verbunden ist, ausgelesen. Dieser Prozess wird als „vorgeordnetes Auslesen bzw. Vor-auslesen" bezeichnet. Die vor-ausgelesenen Daten werden mit den durch die I/O-Einheiten eingespeisten Daten verglichen. Entsprechend den Vergleichsergebnissen wird das Programmieren lediglich an den Speicherzellen ausgeführt, die in dem gelöschten Zustand sind (die die Information „1" enthalten) und die über die I/O-Einheiten (mit der eingespeisten Information „0") zu programmieren sind.
  • Eine Programmierung wird an den bereits programmierten Speicherzellen (die die Information „0" enthalten) nicht ausgeführt, da das zusätzliche Programmieren zu einer Belastung führen würde. Wenn die Information, die in die bereits programmierten Speicherzellen (die die Information „0" enthalten) durch die I/O-Einheiten eingespeist wird, eine „1" ist, wird ein Fehlersignal zu der Steuerung zurückgegeben. Dies geschieht auf Grund dessen, dass die Speicherzellen nicht-flüchtige Speicher sind, die physikalisch Schreiboperationen ausführen und eine Irreversibilität besitzen. Daher ist eine Löschoperation unabhängig von einem Programmiervorgang und das Löschen wird kollektiv an einem Sektor ausgeführt. Wenn die Information, die über die I/O-Einheiten an die bereits gelöschten Speicherzellen (die die Information „1" enthalten) eingespeist wird, „1" beträgt, werden keine Operationen ausgeführt.
  • Das Programmieren von CAM-Zellen sollte vorzugsweise in der gleichen Weise wie das Programmieren regulärer Speicherzellen ausgeführt werden. Zum Programmieren von CAM-Zellen gibt es ein Verfahren, das zwei unterschiedliche Schnittstellen in Bezug auf die Programmierschnittstelle für reguläre Speicherzellen beinhaltet. Es wird eine Einspeisefestlegung gemäß der Information „1" und der Information „0", die über die I/O-Einheiten eingespeist werden, ausgeführt, um damit zu bestimmen, welche CAM-Zellen zu programmieren sind und welche nicht zu programmieren sind (siehe die japanische ungeprüfte Patentoffenlegungsschrift Nr. 10-106275). Die Programmierschnittstelle für die Eingabefestlegung wird als „Schnittstelle 1" bezeichnet. Im Falle der Schnittstelle 1 gibt ein Anwender die Information „1" und die Information „0" über die entsprechenden I/O-Einheiten ein. Die Information „1" bezeichnet eine Speicherzelle, die zu programmieren ist, während die Information „0" eine Speicherzelle bezeichnet, für die keine Operation ausgeführt wird (die nicht zu programmieren ist).
  • Zum Programmieren von CAM-Zellen gibt es nicht nur das Verfahren mit der Schnittstelle 1, sondern es gibt ein Verfahren zum Kennzeichnen lediglich der zu programmierenden CAM-Zellen mittels Befehlseingabe. Die in diesem Verfahren verwendete programmierende Schnittstelle wird als „Schnittstelle 2" bezeichnet. Im Falle der Schnittstelle 2 werden die Adressen von CAM-Zellen gekennzeichnet und die CAM-Zellen mit den gekennzeichneten Adressen werden programmiert.
  • Jede CAM-Zelle sollte vorzugsweise einen Anwenderblock, in welchem Anwender wiederholt Informationen schreiben können, und einen Fabrikblock aufweisen, in welchem der Auslieferer im Voraus Informationen speichern kann. Wenn die CAM-Daten in dem Anwenderblock in diesem Aufbau erneut beschrieben werden, ist es notwendig, die Speicherzellen in dem Fabrikblock vor einer Störung, die durch die Zelleninformation hervorgerufen wird, zu schützen. Die „Störung" ist ein Phänomen, in welchem ein Ladungsverlust oder ein Ladungszugewinn in den Speicherzellen auf Grund des elektrischen Einflusses der Wortleitungen und der Bitleitungen hervorgerufen wird, mit denen die Speicherzellen zum Zeitpunkt des Programmierens der gekennzeichneten Speicherzellen verbunden sind.
  • Wenn die CAM-Daten in dem Anwenderblock neu zu beschreiben sind, ist es notwendig, die Speicherzellen in dem Fabrikblock vor einer Störung zu schützen, die durch die Zelleninformation hervorgerufen wird. Jedoch gibt es kein Verfahren, um dieser Forderung zu entsprechen, was ein erstes Problem des Stands der Technik ist.
  • Das zweite Problem liegt in der Tatsache begründet, dass eine geeignete Verifizierung nach dem Programmieren von CAM-Zellen nicht ausgeführt werden kann. Im Folgenden wird dieses Problem beschrieben.
  • Das Problem wird hervorgerufen, wenn ein Verifiziervorgang gleichzeitig an den CAM-Zellen ausgeführt wird, die an der gleichen Wortleitung in einer Arraystruktur angeordnet sind, die mehr als eine CAM-Zelle aufweist, die mit einer einzelnen Wortleitung verbunden ist.
  • 1a zeigt CAM-Zellen, die mit einer einzelnen Wortleitung verbunden sind und nicht in einem programmierten Zustand sind. Die CAM-Zellen mit „1" in 1a sind gelöschte Zellen und sind nicht programmiert. Die CAM-Zellen mit „0" sind programmierte Zellen und sind bereits programmiert.
  • In 1b wird eine I/O-Eingabe über die Schnittstelle 1 an den CAM-Zellen an der Wortleitung, die in 1a gezeigt ist, ausgeführt. Dabei sind die CAM-Zellen mit „1" zu programmieren, und die Zellen mit „0" sind nicht zu programmieren und verbleiben in dem aktuellen Zustand.
  • In dem Halbleiterbauelement werden die Daten, die aus den CAM-Zellen an der gleichen Wortleitung im Voraus ausgelesen werden, mit den Daten verglichen, die über die I/O-Einheiten eingespeist werden. Entsprechend den Vergleichsergebnissen wird ein Programmieren lediglich an der Speicherzelle durchgeführt, die in dem gelöschten Zustand (in der die Information „1" gespeichert ist) ist und die durch I/O zu programmieren ist (mit der einzuspeisenden Information „1"). In diesem Beispiel wird das Programmieren an der äußersten rechten CAM-Zelle an der Wortleitung ausgeführt, wie dies in 1c gezeigt ist.
  • Die Verifizierung wird nach dem Programmieren ausgeführt. Die Daten, die nach dem Auslesen aus den CAM-Zellen nach dem Programmieren ausgelesen werden, werden mit den I/O-Eingangsdaten als erwartete Werte verglichen (siehe 1d). Wenn zu diesem Zeitpunkt ein durch den I/O eingespeister erwarteter Wert ein „Nichtprogrammieren" für eine bereits programmierte CAM-Zelle angibt, ist das Ergebnis des Vergleichs „falsch" und der Verifiziervorgang endet mit einem Fehler.
  • Wenn das zuvor beschriebene Kennzeichnungsverfahren mit der Schnittstelle 2 durchgeführt wird, werden nur die CAM-Zellen, die zu programmieren sind, mittels der Befehlseingabe ausgewählt. Daher werden die erwarteten Werte, die den CAM-Zellen entsprechen, die nicht an der gleichen Wortleitung programmiert sind, nicht bereitgestellt werden und es kann keine Verifizieroperation verwirklicht werden.
  • Überblick über die Erfindung
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Halbleiterbauelement, ein Adressenzuordnungsverfahren und ein Verifizierverfahren bereitzustellen, in welchem die obigen Nachteile vermieden werden.
  • Insbesondere ist es eine Aufgabe der vorliegenden Erfindung, ein Halbleiterbauelement mit CAM-Zellen bereitzustellen, in diese Daten neu geschrieben und eine Verifizierung in geeigneter Weise ausgeführt werden können, wobei ein Adressenzuordnungsverfahren bzw. ein Adressenkennzeichnungsverfahren und ein Verifizierverfahren bereitgestellt werden.
  • Um die obige Aufgabe der vorliegenden Erfindung zu erfüllen, umfasst ein Halbleiterbauelement der vorliegenden Erfindung: ein Zellenarray, das die Betriebseinstellinformation für das Halbleiterbauelement speichert; und eine Steuereinheit, die Lese- und Schreiboperationen, die an dem Zellenarray auszuführen sind, steuert. Die Steuereinheit ordnet unterschiedliche Zeilenadressen den entsprechenden Funktionen für die Betriebseinstellinformation zu. Da die unterschiedlichen Zeilenadressen den jeweiligen Funktionen der Betriebseinstellinformation zugeordnet werden, wird eine Belastung (Gate-Störung) in dem Zellenarray von nicht ausgewählten Funktionen zum Zeitpunkt des Programmierens nicht hervorgerufen.
  • In dem obigen Halbleiterbauelement weist die Steuereinheit unterschiedliche Spaltenadressen den jeweiligen Funktionen der Betriebseinstellinformation zu. Da die unterschiedlichen Spaltenadressen den jeweiligen Funktionen der Betriebseinstellinformation zugeordnet werden, wird eine Belastung (Drain-Störung) in dem Zellenarray der nicht ausgewählten Funktionen zum Zeitpunkt des Programmierens nicht hervorgerufen.
  • In dem zuvor genannten Halbleiterbauelement weist die Steuereinheit zusammenhängende Spaltenadressen für die jeweiligen Funktionen der Betriebseinstellinformation zu. Da die zusammenhängenden Spaltenadressen für die jeweiligen Funktionen zugeordnet werden, können die Daten nacheinander ausgelesen werden, und die Auslesezeit kann verringert werden.
  • In dem zuvor genannten Halbleiterbauelement ordnet die Steuereinheit die Betriebseinstellinformation den Spaltenadressen zu, die von einer einzelnen der Reihenadressen ausgewählt ist. Alternativ weist die Steuereinheit die Betriebseinstellinformation allen I/O-Einheiten einer beliebigen Spalte zu, die durch die Reihenadresse ausgewählt ist. Auf diese Weise kann die Anzahl der Auslesezyklen minimiert werden, und die Auslesezeit kann verringert werden.
  • In dem zuvor genannten Halbleiterbauelement sind Speicherzellen, auf die durch unterschiedliche Reihenadressen zugegriffen wird, voneinander getrennt. Da das Leitungsmuster der lokalen Bitleitungen zwischen den Speicherzellen mit unterschiedlicher Reihenadresse unterbrochen ist, können die Daten einfach durch Umschalten der Spaltenadressen ausgelesen werden, wobei eine Wortleitung zwischen den Speicherzellen der entsprechenden Funktionen ausgewählt wird.
  • In dem zuvor genannten Halbleiterbauelement sind Speicherzellen mit Schalter für das selektive Verbinden der Speicherzellen mit Bitleitungen, die in einer den Spalten entsprechenden Weise angeordnet sind, verbunden. Mit diesem Aufbau können die Daten einfach durch Umschalten der Spaltenadresse ausgelesen werden, wobei die Wortleitung zwischen Speicherzellen entsprechender Funktionen ausgewählt wird.
  • In dem zuvor genannten Halbleiterbauelement enthält das Zellenarray Zellen für jede Spalte, und Speicherzellen, die nicht die Betriebseinstellinformation enthalten, sind von Bitleitungen getrennt, die entsprechend den Spalten angeordnet sind. Folglich wird keine Belastung in dem Zellenarray für nicht ausgewählte Funktionen zum Zeitpunkt des Programmierens hervorgerufen.
  • In dem erfindungsgemäßen Halbleiterbauelement wählt die Steuereinheit alle Wortleitungen in dem Zellenarray aus und liest die Betriebseinstellinformation aus dem Zellenarray aus, wobei die Spaltenadressen nacheinander geändert werden. Mit diesem Aufbau können die Daten in einfacher Weise ausgelesen werden, indem die Spaltenadressen umgeschaltet werden, ohne dass die Wortleitungen geschaltet werden, und die Auslesezeit kann verkürzt werden.
  • In dem erfindungsgemäßen Halbleiterbauelement enthält die Steuereinheit eine Tabelle, die die Nummer einer zugeordneten bzw. gekennzeichneten Speicherzelle in eine Adresse einer entsprechenden Speicherzelle umwandelt. Da eine zugeordnete Speicherzellennummer in die Adresse der zugeordneten Zelle umgewandelt werden kann, kann das Programmieren an der gewünschten Zelle ausgeführt werden.
  • Die vorliegende Erfindung stellt ferner ein Verfahren zum Zuordnen von Adressen für ein Zellenarray bereit, das Betriebseinstellinformation für ein Halbleiterbauelement enthält. Das Verfahren umfasst das Zuordnen unterschiedlicher Reihenadressen zu entsprechenden Funktionen der Betriebseinstellinformation. Da die unterschiedlichen Reihenadressen den jeweiligen Funktionen der Betriebseinstellinformation zugewiesen werden, wird keine Belastung bzw. Störung in dem Zellenarray für nicht ausgewählte Funktionen zum Zeitpunkt des Programmierens hervorgerufen. Ferner kann auch eine Löschung für jede Funktion ausgeführt werden.
  • Das Verfahren umfasst ferner das Zuordnen unterschiedlicher Spaltenadressen für die jeweiligen Funktionen der Betriebseinstellinformation. Durch dieses Verfahren können die Daten mit unterschiedlichen Spaltenadressen für die jeweiligen Funktionen der Betriebseinstellinformation ausgelesen werden.
  • Das Verfahren umfasst ferner den Schritt des Zuordnens zusammenhängender Spaltenadressen für die jeweiligen Funktionen der Betriebseinstellinformation. Durch diese Maßnahme kann die Betriebseinstellinformation von jeweiligen Funktionen in einfacher Weise ausgelesen werden.
  • Das Verfahren umfasst ferner den Schritt des Auswählens aller Wortleitungen in dem Zellenarray und das aufeinanderfolgende Ändern der Spaltenadressen, um Daten aus dem Zellenarray auszulesen. Folglich kann die Betriebseinstellinformation einfach ausgelesen werden, indem die Spaltenadressen umgeschaltet werden, ohne dass die Wortleitungen geschaltet werden.
  • Die vorliegende Erfindung stellt ferner ein Halbleiterbauelement bereit, das umfasst: ein Zellenarray, das die Betriebseinstellinformation für das Halbleiterbauelement speichert; eine Schreibschaltung, die gleichzeitig Speicherzellen in dem Zellenarray programmieren kann; und eine Verifizierschaltung, die ausgebildet ist, ein Programmierergebnis lediglich einer Speicherzelle zu verifizieren, die tatsächlich programmiert ist. Auf diese Weise werden lediglich die Programmierergebnisse der tatsächlich programmierten Zelle verifiziert.
  • In dem erfindungsgemäßen Halbleiterbauelement umfasst die Verifizierschaltung: Komparatorschaltungen, die erwartete Datenwerte, die durch ein normales Programmieren erhalten werden, mit Daten, die aus den Speicherzellen ausgelesen werden, nach dem Programmieren vergleichen; und eine Steuereinheit, die ein fingiertes positives Ergebnis bzw. ein Pseudopositivergebnis für Komparatorausgänge erzeugt, die mit Programmierergebnissen von Speicherzellen verknüpft sind, die nicht programmiert werden. Auf diese Weise wird eine Steueroperation ausgeführt, die zu einem fingierten positiven Ergebnis für die Programmierergebnisse von den Komparatorschaltungen, die unprogrammierten Zellen zugeordnet sind, erzeugt. Folglich kann das Programmierergebnis der programmierten Zelle bei der Verifizierung wiedergegeben werden.
  • In dem erfindungsgemäßen Halbleiterbauelement erkennt die Steuereinheit eine Speicherzelle in einem gelöschten Zustand vor dem Programmieren, wobei die Speicherzelle durch eine externe Eingabe als eine zu programmierende Zelle bezeichnet ist, und das Halbleiterbauelement umfasst ferner eine Schaltung, die einen erwarteten Datenwert erzeugt, der durch ein normales Programmieren erhalten wird, in Reaktion auf einen Befehl von der Steuereinheit, und gibt den erwarteten Datenwert zu einer der Komparatorschaltungen aus, die der zugeordneten Speicherzelle entspricht. Auf diese Weise kann die tatsächlich programmierte Zelle erkannt werden, und der erwartete Datenwert wird an die der Zelle zugewiesenen Komparatorschaltung ausgegeben. Somit kann das Programmierergebnis der programmierten Zelle in genauer Weise bestimmt werden.
  • Die vorliegende Erfindung stellt ferner ein Halbeiterbauelement bereit, das umfasst: ein Zellenarray, das die Betriebseinstellinformation für das Halbleiterbauelement speichert; eine Schreibschaltung, die gleichzeitig Speicherzellen in dem Zellenarray programmieren kann; eine flüchtige Speicherschaltung, die Daten speichert, die in den Speicherzellen vor dem Programmieren gespeichert sind; und eine Verifizierschaltung, die mittels den in der flüchtigen Speicherschaltung gespeicherten Daten eine Speicherzelle verifiziert, die nicht programmiert ist, und eine weitere Speicherzelle, die tatsächlich programmiert ist, mit erwarteten Datenwerten verifiziert, die durch ein normales Programmieren gewonnen wurden. Auf diese Weise kann die Verifizierung von nicht-programmierten Zellen unter Anwendung der gespeicherten Daten ausgeführt werden. Für eine tatsächlich programmierte Zelle wird das Programmierergebnis unter Anwendung des erwarteten Datenwerts verifiziert, der erhalten wird, wenn die Programmierung in korrekter Weise ausgeführt wird. Somit kann das Programmierergebnis der programmierten Zelle in genauer Weise verifiziert werden.
  • In dem erfindungsgemäßen Halbleiterbauelement umfasst die Verifizierschaltung: Komparatorschaltungen, die erwartete Datenwerte, die durch das normale Programmieren erhalten werden, mit Daten vergleicht, die aus den Speicherzellen oder einem Fühlerverstärker nach dem Programmieren ausgelesen werden; und eine Steuereinheit, die die Speicherzelle erkennt, die tatsächlich programmiert ist und die eine der Komparatorschaltungen, die mit der tatsächlich programmierten Speicherzelle verknüpft ist, veranlasst, ein Programmierergebnis davon entsprechend den erwarteten Datenwerten, die durch normales Programmieren gewonnen werden, zu verifizieren. Mit diesem Aufbau wird die tatsächlich programmierte Zelle erkannt und das Programmierergebnis der programmierten Zelle kann in genauer Weise verifiziert werden.
  • In den erfindungsgemäßen Halbleiterbauelement erkennt die Steuereinheit eine Speicherzelle in einem gelöschten Zustand vor dem Programmieren, wobei die Speicherzelle durch ein externes Eingangssignal als zu programmierend gekennzeichnet ist, und das Halbleiterbauelement umfasst ferner eine Schaltung, die die erwarteten Datenwerte, die in der flüchtigen Speicherschaltung gespeichert und mit einer Speicherzelle in einem gelöschten Zustand in Beziehung stehen, vor dem Programmieren auf erwartete Datenwerte ändert, die durch ein normales Programmieren gewonnen werden, und die die erwarteten Datenwerte, die auf diese Weise geändert wurden, an eine der Komparatorschaltungen ausgibt. Mit diesem Aufbau wird die tatsächlich programmierte Zelle erkannt und das Programmierergebnis der programmierten Zelle kann in genauer Weise verifiziert werden.
  • In dem erfindungsgemäßen Halbleiterbauelement empfängt die Steuereinheit extern ein Befehlssignal, das angibt, ob jede Speicherzelle zu programmieren ist, und erkennt eine Speicherzelle, die tatsächlich zu programmieren ist, indem bestimmt wird, ob die zu programmierende Speicherzelle in einem gelöschten Zustand ist. Mit dieser Vorgehensweise wird eine zu programmierende Zelle durch ein externen Befehlssignal gekennzeichnet und das Programmieren wird an der erkannten Zelle ausgeführt.
  • In dem erfindungsgemäßen Halbleiterbauelement dekodiert die Steuereinheit Adresseninformationen, die extern zugeführt werden, um eine zu programmierende Speicherzelle zu erkennen, wobei die Steuereinheit eine Speicherzelle, die tatsächlich zu programmieren ist, erkennt, indem bestimmt wird, ob die zu programmierende Speicherzelle in einem gelöschten Zustand ist. Mit diesem Aufbau wird eine zu programmierende Zelle mittels einer externen eingespeisten Adresseninformation erkannt und das Programmieren wird an der erkannten Zelle ausgeführt.
  • In dem erfindungsgemäßen Halbleiterbauelement ändert die Steuerschaltung eine Schnittstelle, die eine zu programmierende Speicherzelle bezeichnet, in Reaktion auf ein Modusumschaltsignal, das extern zugeführt wird. Mit diesem Aufbau wird eine zu programmierende Zelle entsprechend den Schnittstellen zugewiesen.
  • In dem erfindungsgemäßen Halbleiterbauelement wird die Verifizierschaltung gemeinsam beim Verifizieren nach dem Programmieren des Zellenarrays, das die Betriebseinstellinformation speichert, und dem Verifizieren nach dem Programmieren eines regulären Zellenarrays, das reguläre Daten enthält, verwendet. Mit diesem Aufbau kann die Verifizierschaltung gemeinsam verwendet werden. Folglich kann die Größe der Schaltung verringert werden.
  • In dem erfindungsgemäßen Halbleiterbauelement vergleichen die Komparatorschaltungen die erwarteten Datenwerte, die durch das normale Programmieren gewonnen werden, mit Daten, die aus den Speicherzellen nach dem Programmieren ausgelesen werden, in Reaktion auf ein Modussignal zum Umschalten eines Betriebsmodus zum Programmieren des Zellenarrays, das die Betriebseinstellinformation speichert. Mit diesem Aufbau sind die Komparatorschaltungen lediglich zum Zeitpunkt des Verifizierens aktiv.
  • In dem erfindungsgemäßen Halbleiterbauelement verwenden die Komparatorschaltungen Ausgangssignale der flüchtigen Speicherschaltung zum Zeitpunkt des Programmierens des Zellenarrays, das die Betriebseinstellinformation enthält, und die Komparatorschaltungen verwenden Ausgangssignale einer Schaltung, die die erwarteten Datenwerte bewahrt, die durch das normale Programmieren der Speicherzelle während des Programmierens einer regulären Zelle gewonnen wurden. Mit diesem Aufbau können unterschiedliche Steueroperationen für das Verifizieren beim Programmieren des Zellenarrays, das die Betriebseinstellinformation speichert, und beim Programmieren des regulären Zellenarrays ausgeführt werden.
  • Die vorliegende Erfindung stellt ferner ein Verfahren zum Verifizieren eines Zellenarrays bereit, das die Betriebsinformation für ein Halbleiterbauelement enthält. Das Verfahren umfasst den Schritt des Verifizierens eines Programmierergebnisses lediglich einer Speicherzelle, die unter den Speicherzellen in dem Zellenarray tatsächlich programmiert wurde. Durch dieses Verfahren wird nur das Programmierergebnis der tatsächlich programmierten Zelle verifiziert.
  • Die vorliegende Erfindung stellt ferner ein Verfahren zum Verifizieren eines Zellenarrays bereit, das die Betriebseinstellinformation für ein Halbleiterbauelement speichert. Das Verfahren umfasst die Schritte: Verifizieren einer Speicherzelle, die nicht programmiert ist, mit Daten, die in der Speicherzelle vor dem Programmieren gespeichert sind, und Verifizieren einer weiteren Speicherzelle, die tatsächlich programmiert ist, mit erwarteten Datenwerten, die durch das normale Programmieren gewonnen werden. Durch dieses Verfahren wird die Verifizierung an nicht programmierten Zellen ausgeführt, wobei gespeicherte Daten verwendet werden. Für eine tatsächlich programmierte Zelle wird das Programmierergebnis unter Anwendung des erwarteten Datenwertes verifiziert, der erhalten wird, wenn die Programmierung in korrekter Weise ausgeführt wird. Somit kann das Programmierergebnis der programmierten Zelle in genauer Weise verifiziert werden.
  • Mit jedem der vorher genannten Halbleiterbauelemente, die jeweils ein Zellenarray aufweisen, das die Betriebseinstellinformation speichert, kann eine Datenneubeschreibung und eine Verifizierung in korrekter Weise ausgeführt werden.
  • Kurze Beschreibung der Zeichnungen
  • Weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung gehen deutlicher aus der folgenden detaillierten Beschreibung hervor, wenn diese in Verbindung mit den begleitenden Zeichnungen studiert wird, in denen:
  • 1a bis 1d die Probleme des Stands der Technik zeigen;
  • 2 den Aufbau eines Halbleiterbauelements gemäß der vorliegenden Erfindung zeigt;
  • 3 eine beispielhafte Bitmap bzw. ein beispielhaftes Bitfeld eines CAM-Zellenarrays zeigt;
  • 4 ein Beispiel eines Bitfeldes eines CAM-Zellenarrays zeigt;
  • 5 den Zusammenhang zwischen den WP-Bitnummern und den Adressen zeigt;
  • 6 die Umwandlung der WP-Adressen in die Adressen des CAM-Zellenarrays zeigt;
  • 7a und 7b die Speicherzellenstrukturen eines CAM-Zellenarrays und eines regulären Zellenarrays zeigen;
  • 8a und 8b die Speicherzellenstrukturen eines CAM-Zellenarrays und eines regulären Zellenarrays zeigen;
  • 9 die Strukturen von Logikschaltungen zeigt, die WP-Adressen in CAM-Spaltenadressen umwandeln;
  • 10 die Strukturen von Logikschaltungen zeigt, die WP-Adressen in DQ's umwandeln;
  • 11 die Strukturen eines Zellenarrays und einer Verifizierschaltung zeigt;
  • 12 die Struktur einer WP-Bitauswahlschaltung zeigt;
  • 13 ein Flussdiagramm der Funktionsweise der Verifizierschaltung in dem I/O-Modus ist;
  • 14a bis 14d die Verfahren zeigen, die von der Verifizierschaltung in den I/O-Modus auszuführen sind;
  • 15 ein Flussdiagramm der Funktionsweise der Verifizierschaltung in dem Adressiermodus ist;
  • 16 die Verfahren zeigt, die von der Verifizierschaltung in dem Adressiermodus auszuführen sind;
  • 17 den Aufbau der Verifizierschaltung in detaillierterer Form zeigt;
  • 18 die Strukturen eines Zellenarrays und einer Verifizierschaltung zeigt;
  • 19 den Aufbau einer WP-Auswahlschaltung zeigt;
  • 20 ein Flussdiagramm der Funktionsweise der Verifizierschaltung in dem I/O-Modus ist;
  • 21 die Verfahren zeigt, die von der Verifizierschaltung in dem I/O-Modus auszuführen sind;
  • 22 ein Flussdiagramm der Funktionsweise der Verifizierschaltung in dem Adressiermodus ist;
  • 23 die Verfahren zeigt, die vor der Verifizierschaltung in dem Adressiermodus auszuführen sind; und
  • 24 den Aufbau der Verifizierschaltung in detaillierter Form zeigt.
  • Beschreibung der bevorzugten Ausführungsformen
  • Das Folgende ist eine Beschreibung bevorzugter Ausführungsformen der vorliegenden Erfindung, wobei auf die begleitenden Zeichnungen Bezug genommen wird.
  • (erste Ausführungsform)
  • In 2 ist der Aufbau dieser Ausführungsform beschrieben. Ein Halbleiterbauelement 1 dieser Ausführungsform umfasst ein reguläres Zellenarray 3, das reguläre Daten speichert, und umfasst ein CAM-Zellenarray 4, das CAM-Daten enthält. Das reguläre Zellenarray 3 und das CAM-Zellenarray 4 bilden eine Zellenarrayeinheit 2. Das CAM-Zellenarray 4 ist aus Speicherzellen aufgebaut, die in mehreren Reihen und Spalten wie beim regulären Zellenarray 3 angeordnet sind. Das CAM-Zellenarray 4 speichert die Betriebseinstellinformation (sogenannte CAM-Daten) für das Halbleiterbauelement 1. Z. B. sind die Schreibschutzinformation für das reguläre Zellenarray 3, die interne Spannungssteuerinfonnation für das Halbleiterbauelement 1, die interne Zeitsteuerinformation, die Betriebsmodusumschaltinformation und die Speicherzellenredundanzbitinformation darin gespeichert. Das Halbleiterbauelement 1 umfasst ferner eine periphere Schaltung, die Datenschreib-, Lese- und Löschoperationen an den Zellenarrays durchführt. Wie in 1 gezeigt ist, umfasst die periphere Schaltung einen Reihendekodierer 5, einen Spaltendekodierer 6, ein Befehlsregister 7, eine Steuerung 8, eine Programmierspannungserzeugungsschaltung 9, einen Fühlerverstärker 10, eine flüchtige Speichereinheit 11, eine Bestimmungseinheit 12 und eine Verifizierschaltung 13 und eine Dateneingabe/Ausgabe-Schaltung 14. Der Reihendekodierer 5 steuert selektiv Wortleitungen WL auf der Grundlage der jeweiligen Adressen zum Zeitpunkt des Schreibens, des Löschens und des Auslesens von Daten an. Es wird eine vorbestimmte Spannung an den Wortleitungstreiber (nicht gezeigt) von der Programmierspannungserzeugungsschaltung 9 angelegt. Der Spaltendekodierer 6 wählt eine Spalte aus dem Zellenarray aus, d. h. eine globale Bitleitung oder eine lokale Bitleitung, auf der Grundlage einer extern eingespeisten Adresse.
  • Das Befehlregister 7 dekodiert einen externen Befehl in ein internes Steuersignal. Die Steuerung 8 steuert den inneren Betrieb in Reaktion auf das interne Steuersignal, das von dem Befehlsregister 7 dekodiert wird. Die Steuerung 8 ist mittels eines Mikroprozessors aufgebaut und steuert die Programmierspannungserzeugungsschaltung 9, eine Bestimmungsschaltung 12 und eine Verifizierschaltung 13.
  • Die in dem CAM-Zellenarray 4 gespeicherten CAM-Daten werden zu der flüchtigen Speichereinheit 11 zum Zeitpunkt des Einschaltens des Bauelements 1 oder beim Rücksetzen der Hardware übertragen und dort gespeichert. Durch das Einlesen der CAM-Daten in die flüchtige Speichereinheit 11 wird eine Verzögerung einer Leseoperation verhindert, wenn die CAM-Daten zum Zeitpunkt eines Lesezugriffs auf das reguläre Zellenarray 3 ausgelesen werden. Die Dauer der Leseoperation sollte vorzugsweise kurz sein, da die Aktivierungsphase länger wird, sofern die CAM-Daten nicht in einer kürzen Zeitdauer übertragen werden.
  • Die Dateneingabe/Ausgabe-Schaltung 14 umfasst einen I/O-Anschluss, der einen Programmierbefehl von außen einspeist und ausgelesene Daten ausgibt. Die Dateneingabe/Ausgabe-Schaltung 14 führt Datenschreiboperationen (Programmier- und Leseoperationen) an dem CAM-Array 4 durch.
  • Als nächstes wird der Aufbau des CAM-Zellenarrays 4 beschrieben. 3 zeigt eine Bitmap bzw. ein Bitfeld, das die Zuordnung der CAM-Daten zu dem CAM-Zellenarray 4 zeigt. Das CAM-Zellenarray 4 ist in Funktionsblöcke, d. h einen Anwenderblock und einen Fabrikblock unterteilt. Eine Datenlöschung findet in jedem Funktionsblock statt.
  • Ein „Anwenderblock" ist ein Schreibgebiet, in welchen ein Anwender ein Schreibschutzbit (im Weiteren als „WP-Bit" bezeichnet) schreibt. Ein „Schreibschutz" Bit ist ein Bit zum Steuern des Programmierens oder Löschens von Speicherzellen, und ein Einheitenschreibschutzbit repräsentiert eine beliebige Anzahl an Sektoren (im Weiteren wird die Einheit als die „Sektorgruppe" bezeichnet). In dem in 3 gezeigten Beispiel sind WP-Bits vorzugsweise allen I/O-Einheiten DQ 0 bis DQ 15 zugeordnet. Eine Wortleitung (eine Reihenadresse) und vier lokale Bitleitungen (LBL), d. h. vier Spaltenadressen (LBL0 bis LBL3) sind jeder einzelnen I/O-Einheit zugeordnet, und eine globale Bitleitung (GBL) (GBL0) ist einer einzelnen I/O-Einheit zugeordnet. Hierbei besteht die Zuweisung der WP-Bits zu allen I/O-Einheiten DQ 0 bis DQ 15 darin, allen Speicherzellen einer durch eine Reihenadresse ausgewählten Spalte Daten zuzuordnen. Wenn die Anzahl der WP-Bits nicht eine Ganzzahl ist, die durch die Anzahl der I/O-Einheiten teilbar ist, wird der Vorrang der I/O-Zuordnung in der Spaltenzuordnung gegeben, oder der Vorrang kann der Spaltenzuordnung in der I/O-Zuordnung eingeräumt werden. Wenn beispielsweise die Anzahl der WP-Bits 60 beträgt und die Anzahl der I/O-Einheiten 16 ist, werden I/O-Einheiten (DQ), die den WP-Bits 60, 61, 62 der letzten Spaltenadresse (000011) entsprechen, nicht zugewiesen, oder die I/O-Einheiten (DQ), die den WP-Bits 1, 2, 3, und 4 der obersten Spaltenadresse (000000) entsprechen, werden verschoben und durch das Spaltenzuordnungsverfahren zugeordnet, wobei der Vorrang der I/O-Zuordnung gegeben wird. Durch das I/O-Zuweisungsverfahren, bei dem der Spaltenzuordnung der Vorrang eingeräumt wird, werden die I/O-Einheiten (DQ), die den WP-Bits 15, 31, 47 und 63 entsprechen, weggelassen.
  • Der Anwenderblock ist aus 64-Bits 0 bis 63 aufgebaut, und die Bitzuordnung erfolgt entsprechend der Zuordnungsrelation (eine Umwandlungstabelle), die in 5 gezeigt ist, und gemäß der Umwandlungstabelle, die in 6 gezeigt ist. Wie in den 5 und 6 gezeigt ist, entsprechen die WP-Bits 0 bis 63 den Adressen A17 bis A20 der DQ-Anschlüsse als I/O-Einheiten, und den Adressen A21 und A22 als Spaltenadressen.
  • Der Fabrikblock ist ein Funktionsblock, in dem der Hersteller eine Speicherung durchführt, wobei allerdings die Anwender ein erneutes Beschreiben nicht durchführen können. In diesem Funktionsblock sind Redundanzdaten, interne Spannungsabstimmdaten und interne Zeitsteuerdaten zu schreiben.
  • Der in 3 gezeigte Fabrikblock ist durch die 16 Bits TR0 bis TR15 für die Feineinstellung, die 32 Bits REDSECA bis REDSECD für die Sektorredundanz und die 128 Bits der REDCOL (0-0) bis REDCOL (7-1) für die Spaltenredundanz gebildet. Jeweils 8 Sektorredundanzbits REDSECA bis REDSECD speichern eine einzelne Defektaustauschadresse. Jeweils 8 Spaltenredundanzbits der REDCOL (0-0) bis REDCOL (7-1) speichern eine einzelne Defektaustauschadresse.
  • Der Fabrikblock ist auch den DQ0 bis DQ15 zugeordnet, wie in 3 gezeigt ist. Eine einzelne Wortleitung und 11 lokale Bitleitungen (LBL), d. h. 11 Spaltenadressen (LBL4 bis LBL 14) sind jeder I/O-Einrichtung zugeordnet, und drei globale Bitleitungen (GBL) (GBL1 bis GBL3) sind jeder I/O-Einrichtung zugeordnet. Wie in 4 gezeigt ist, wird der Fabrikblock ebenfalls aus 64 Bits gebildet, genauso wie der Anwenderblock, und die 64 Bits sind den DQ0 bis DQ15 zugewiesen.
  • 7a zeigt den Aufbau des CAM-Zellenarrays 4 im Detail, und 7b zeigt den Aufbau des regulären Zellenarrays 3 im Detail. In dem CAM-Zellenarray 4, das in 7a gezeigt ist, besitzen der Fabrikblock und der Anwenderblock Wortleitungen, die voneinander unabhängig sind, so dass der Fabrikblock durch die Gatestörung bei der Speicherinformation auf Grund des Beschreibens des Anwenderblocks nicht negativ beeinflusst wird. Anders ausgedrückt, dem Fabrikblock und dem Anwenderblock sind unterschiedliche Reihenadressen zugewiesen. Der Reihendekodierer 5, der in 2 gezeigt ist, weist die CAM-Daten der jeweiligen Funktionsblöcke den unterschiedlichen Reihenadressen auf der Grundlage extern eingespeister Adressen zu. In 7a sind die Wortleitung WL0, die den WP-Bits, die in dem Anwenderblock enthalten sind, zugeordnet ist, und die Wortleitung WL1, die den in dem Fabrikblock enthaltenen Fabrikbits zugeordnet ist, dargestellt. Ferner ist in einem einzelnen Block (der Anwenderblock oder der Fabrikblock) die Anzahl an Wortleitungen, die zuzuweisen ist, auf die kleinstmögliche Anzahl beschränkt. Dies erfolgt aus dem Grund, dass der Aufbau so gestaltet ist, dass er in der Lage ist, in kollektiver Weise die Daten in einem einzelnen Funktionsblock zu löschen. Hierbei ist die „Gatestörung" ein Phänomen, in welchem die Bitleitungen mit der gleichen Wortleitung verbunden werden, mit der die zu programmierenden Speicherzellen verbunden sind, und ein Ladungszugewinn wird auf Grund einer hohen Spannung hervorgerufen, die an die Gates nicht ausgewählter Speicherzellen zum Zeitpunkt des Programmierens angelegt wird. Auf Grund dieses Effekts gehen die Daten der nicht ausgewählten Speicherzellen von „1" (wobei der Schwellwert gering ist) auf „0" (wobei der Schwellwert hoch ist) auf Grund des Ladungszugewinns über.
  • In ähnlicher Weise weist der Spaltendekodierer 6 die CAM-Daten der jeweiligen Funktionsblöcke den unterschiedlichen Spaltenadressen auf der Grundlage extern eingespeisten Adressen zu. Ferner wird die Adressenzuordnung so ausgeführt, dass die zugewiesenen Spaltenadressen zwischen dem Fabrikblock und dem Anwenderblock zusammenhängend sind.
  • Um den Fabrikblock vor einer Drain-Störung bei der Speicherinformation auf Grund des Beschreibens oder dergleichen, das in dem Anwenderblock ausgeführt wird, zu schützen, sind die Bitleitungen des Fabrikblocks und des Anwenderblocks voneinander getrennt, wie in 7a gezeigt wird. Anders ausgedrückt, der Spaltendekodierer 6 weist dem Anwenderblock und dem Fabrikblock Spaltenadressen zu, die voneinander unabhängig sind. Ferner weist der Spaltendekodierer 6 Adressen derart zu, dass die Spaltenadressen zwischen den unterschiedlichen Funktionsblöcken zusammenhängend sind. Dabei bezeichnet die „Bitleitungstrennung" sowohl eine physikalische Trennung als auch eine elektrische Isolierung der lokalen Bitleitungen und der globalen Bitleitungen. Die „Drain-Störung" ist ein Effekt, in welchem die Wortleitung mit den gleichen Bitleitungen verbunden wird, mit denen die zu programmierenden Speicherzellen verbunden sind, und es wird ein Ladungsverlust hervorgerufen auf Grund der hohen Spannung, die an die Drains von nicht ausgewählten Speicherzellen beim Programmieren angelegt ist. Auf Grund dieses Effekts werden die Daten nicht ausgewählter Speicherzellen von „0" (der Schwellwert ist hoch) auf „1" (der Schwellwert ist niedrig) auf Grund des Ladungsverlusts geändert.
  • Wenn ferner alle Wortleitungen (WL1 und WL2, beispielsweise) ausgewählt sind, werden in den Funktionsblöcken nicht die gleichen Spaltenadressen gemeinsam benutzt, und die Spaltenadressen werden zusammenhängend zwischen den Funktionsblöcken gewählt, so dass alle CAM-Daten in einfacher Weise ausgelesen werden können, indem die Spaltenadressen umgeschaltet werden. Auf diese Weise kann die Zeit zum Umschalten der Wortleitungen eingespart werden und die CAM-Daten können von dem CAM-Zellenarray 4 zu der flüchtigen Speichereinheit 11 in kurzer Zeit übertragen werden. Wenn in diesem Falle mehr als eine Wortleitung gleichzeitig ausgewählt wird, werden die Bitleitungen, die mit den unnötigen Zellendaten verbunden sind, ausgenommen, so dass die erforderlichen Zellendaten und die nicht erforderlichen Zellendaten nicht durch die gleiche Bitleitung ausgewählt werden können.
  • Unter Ausnutzung der Tatsache, dass der Anwenderblock und der Fabrikblock nicht die gleichen Spaltenadressen aufweisen, ist das Leitungsmuster der lokalen Bitleitungen (LBL) zwischen dem Anwenderblock und dem Fabrikblock physikalisch unterbrochen, und die abgeschnittenen lokalen Bitleitungen (LBL) sind nicht mit den globalen Bitleitungen verbunden (es ist beispielsweise keine Kontaktdurchführung vorgesehen). Alternativ können der Anwenderblock und der Fabrikblock voneinander als Sektoren getrennt sein, und es werden Spaltenschalter zum Verbinden der globalen Bitleitungen für den Anwenderblock und den Fabrikblock vorgesehen, wodurch der Anwenderblock und der Fabrikblock voneinander elektrisch getrennt werden.
  • Wenn bei einem derartigen Aufbau die Daten aus dem CAM-Zellenarray 4 in die flüchtige Speichereinheit L zum Zeitpunkt des Einschaltens oder dergleichen auszulesen sind, können die CAM-Daten in einfacher Weise durch Umschalten der Spaltenadresse ausgelesen werden, wobei die Wortleitung des Anwenderblocks und die Wortleitung des Fabrikblocks gleichzeitig ausgewählt sind. Da die Wortleitungen nicht geschaltet werden müssen, ist die Gesamtzeit, die zum Auslesen aller Bits der CAM-Daten erforderlich ist, verkürzt.
  • 9 zeigt die Strukturen von Umwandlungsschaltungen, die die Adressensignale für das Programmieren/Löschen in die Spaltenadressensignale für die jeweiligen Bänke umwandeln. Die Umwandlungsschaltungen werden in dem Spaltendekodierer 6 vorgesehen. CAM-Programmiermodussignale (CAMPGM) werden zwischen einem aktivierten Zustand und einem inaktiven Zustand umgeschaltet, so dass das Umschalten zwischen einer Spaltenadresse des regulären Zellenarrays 3 und einer Spaltenadresse des CAM-Zellenarrays 4 ausgeführt werden kann.
  • Die Umwandlungsschaltungen enthalten: Oder-Gatter 121, in die die Adressensignale WA(0) oder WA(1) für eine Programmier/Löschoperation und ein CAMPGM-Signal eingespeist werden; Oder-Gatter 123, in die das invertierte CAMPGM-Signal und Adressensignale WA(21) und WA(22) eingespeist werden; Nand-Gatter 124, in die die Ausgangssignale der Oder-Gatter 121 und 123 eingespeist werden, und Inverter 125, die die Ausgangssignale der Nand-Gatter 124 invertieren. Die Ausgänge der Inverter 125 sind Spaltenadressen AA(0) und AA(1). Wenn das CAMPGM-Signal in dem nicht aktiven Zustand ist, dienen die Adressensignale WA(1) und WA(0) als die Spaltenadressen AA(1) und AA(0).
  • Die Umwandlungsschaltungen umfassen ferner: Oder-Gatter 131, in die die Adressensignale WA(2), WA(3), WA(4) und WA(5) eingespeist werden; und Oder-Gatter 123, in die die invertierten CAMPGM-Signale und eine Spannungsversorgungsspannung VCC eingespeist werden; Nand-Gatter 134, in die die Ausgangssignale der Oder-Gatter 131 und 133 eingespeist werden; und Inverter 135, die die Ausgangssignale der Nand-Gatter 134 invertieren. Die Ausgänge der Inverter 135 dienen als Spaltenadressen AA(2), AA(3), AA(4) und AA(5).
  • 10 zeigt die Umwandlungsschaltungen, die die Adressensignale für die Programmier/Löschoperationen in DQ's umsetzen. Diese Umwandlungsschaltungen werden als Schalter in der Dateneingabe/Ausgabe-Schaltung 14 vorgesehen. Die Umwandlungsschaltung, die DQ0 erzeugt, umfasst: ein Nor-Gatter 142, in das die Adressensignale WA(20), WA(19), WA(18) und WA(17) eingespeist werden; ein Nand-Gatter 143, in das ein CAMPGM-Signal und das Ausgangssignal des Nor-Gatters 142 eingespeist werden; und einen Inverter 144, der das Ausgangssignal des Nand-Gatters 143 invertiert. Die Umwandlungsschaltungen, die DQ1 bis DQ15 erzeugen, besitzen ebenfalls den gleichen Schaltungsaufbau wie oben.
  • Wenn das CAMPGM-Signal in dem aktivierten Zustand ist, werden die Adressensignale WA(0) bis WA(17) den CAM_DQ15 bis CAM_DQ0 zugeordnet. Wenn das reguläre Zellenarray 3 in einem ausgewählten Zustand ist (d. h. das CAMPGM-Signal ist in dem inaktiven Zustand) werden CAM_DQ15 bis CAM_DQ0 in einen inaktiven Zustand versetzt.
  • Zum Zeitpunkt des Programmierens eines Schreibschutzbits ist nur der zu programmierende DQ aktiviert und die angelegte Spannung, die erwarteten Werte und die Identifizierungssignale werden durch die Umwandlungsschaltungen, die in 10 gezeigt sind, gesteuert, so dass die nicht zu programmierenden DQ ignoriert werden.
  • Obwohl die zuvor beschriebene Ausführungsform eine bevorzugte Ausführungsform ist, ist die vorliegende Erfindung nicht darauf beschränkt. Beispielsweise kann der Fabrikblock einen nur einmal programmierbaren ROM (OTP ROM) enthalten. Ein OTP ROM ist ein Funktionsspeicher, den ein Anwender nur ein einziges mal programmieren kann. Der OTP ROM unterscheidet sich von dem Fabrikblock im Hinblick auf die Funktion, die für den Anwender möglich ist, ist aber von dem Anwenderblock, in welchem die Anwender wiederholt ein Programmieren und ein Löschen ausführen können, im Hinblick auf die Funktion separiert, die kein erneutes Programmieren zulässt. Kurz gesagt, es ist erforderlich, eine Gatestörung und eine Drainstörung zu vermeiden.
  • Es ist auch möglich, den Anwenderblock mit einem Lesebitblock anstelle eines Schreibbitblocks zu bilden. In einem derartigen Falle wird die Lesesteuerung für jeden gewünschten Sektor ausgeführt.
  • In der zuvor beschriebenen Ausführungsform findet eine physikalische Trennung zwischen den lokalen Bitleitungen und eine elektrische Trennung der globalen Bittleitungen zwischen dem Fabrikblock und dem Anwenderblock statt. Jedoch ist die vorliegende Erfindung nicht auf diesen Aufbau eingeschränkt, und es ist auch möglich, die globalen Bitleitungen zwischen dem Fabrikblock und dem Anwenderblock physikalisch oder elektrisch zu trennen.
  • Das reguläre Zellenarray und das CAM-Zellenarray können so verbunden sein, dass sie einen Datenbus gemeinsam verwenden, oder diese können verbunden sein, um damit die globalen Bitleitungen des Anwenderblocks und des Fabrikblocks gemeinsam zu benutzen.
  • Ferner können auch Wannengebiete im Anwenderblock und in dem Fabrikblock separat sein oder können gemeinsam benutzt werden. Bei einer gemeinsamen Nutzung kann die Chipgröße verringert werden. In einem derartigen Fall wird ein schwebender bzw. potentialfreier Zustand der Wortleitung des Fabrikblocks zum Zeitpunkt des Durchführens einer Löschoperation in dem Anwenderblock ausgeführt.
  • (zweite Ausführungsform)
  • Mit Bezug zu 11 wird der Aufbau dieser Ausführungsform beschrieben. 11 zeigt eine Zellenarrayeinheit 2 (ein reguläres Zellenarray 3 und ein CAM-Zellenarray 4), die die Daten in Bezug auf ein Halbleiterbauelement 1 speichert, eine Verifizierschaltung 13, die einen beschriebenen Datenzustand oder einen gelöschten Zustand des Zellenarrays 2 bestätigt, und Erwartungswertspeicherschaltungen 32, die in einer Dateneingabe/Ausgabe-Schaltung 14 vorgesehen sind. In dieser Ausführungsform wird ein simultaner 16-Bit-Schreibmodus eingesetzt, so dass das Programmieren durch gleichzeitiges Zugreifen auf die 16 Speicherzellen des regulären Zellenarrays 3 oder des CAM-Zellenarrays 4 erfolgt.
  • Eine Verifizierschaltung 13 umfasst eine WP-Bitauswahlschaltung 33 und Datenkomparatorschaltungen 34. Die Anzahl der Erwartungswertspeicherschaltungen 32 und die Anzahl der Datenkomparatorschaltungen 34, die in der Dateneingabe/Ausgabe-Schaltung 14 enthalten sind, ist 16, was gleich ist zu der Anzahl der I/O-Einheiten.
  • Es werden ein Schnittstellenfestlegungssignal, ein Signal, das von jeder entsprechenden I/O-Einheit eingespeist wird und ein Adressensignal (WP-CAM-Adressenzuordnungssignal), das einen Schreibschutz (CP-CAM) bezeichnet, in die WP-Auswahlschaltung 33 eingespeist. Es gibt zwei Verfahren zum Festlegen bzw. Kennzeichnen einer zu programmieren CAM-Zelle. In einem der Verfahren wird die Information „1" der I/O-Einheit eingespeist, die der zu programmierenden CAM-Zelle entspricht, während die Information „0" den I/O-Einheiten eingespeist wird, die nicht zu programmieren sind („I/O-Modus"). In dem anderen Verfahren wird die entsprechende Adresse der zu programmierenden CAM-Zelle eingespeist („Adressiermodus"). Das Schnittstellenmodusfestlegungssignal ist ein Signal, um das Signal zum Festlegen einer zu programmierenden CAM-Zelle aus den beiden oben genannten Verfahren auszuwählen.
  • 12 zeigt den Aufbau der WP-Auswahlschaltung 33 im Detail. Wie in 12 gezeigt ist, umfasst die WP-Auswahlschaltung 33 einen Dekodierer 55, Und-Gatter 53 und Schalter 54. Die Anzahl der Und-Gatter 53 und die Anzahl der Schalter 54 beträgt jeweils 16 wie die Anzahl der I/O-Einheiten. Mit diesem Aufbau wird die Komparatorschaltung 34 ausgewählt, über die mittels einer Pseudoverifizierung ein positives Ergebnis erhalten wird.
  • Wenn der Adressiermodus durch das Schnittstellenmodusfestlegungssignal ausgewählt wird, werden die Schalter 54-(0) bis 54-(15) ausgeschaltet und das WP-CAM-Adressenzuweisungssignal wird von dem Dekodierer 51 dekodiert, um eine Verifiziersteuersignal zu erzeugen. Wenn der I/O-Modus durch das Schnittstellenfestlegungssignal eingestellt wird, wird der Dekodierer 51 durch das Schnittstellenmodusfestlegungssignal, das dem Dekodierer 51 über den Inverter 52 zugeführt wird, ausgeschaltet, und die Schalter 54-(0) und 54-(15) werden eingeschaltet.
  • Die Signale I/O-(0) bis I/O-(15) von den jeweiligen I/O-Einheiten und die Vorauslesedaten (DAV), die aus den CAM-Zellen im Voraus ausgelesen werden, werden den Und-Gattern 53-(0) bis 53-(15) eingespeist, die die logischen Produkte dieser Signale bilden. Genauer gesagt, wenn die Daten vor dem Programmieren der CAM-Zelle und die Daten, die von dem I/O eingespeist werden, jeweils „1" sind, wird ein hochpegeliges Signal als ein Verifizierungssteuersignal ausgegeben. In anderen Fällen wird ein tiefpegeliges Signal als ein Verifizierungssteuersignal 2 ausgegeben.
  • Die Erwartungswertspeicherschaltungen 32-(0) bis 32-(15) sind für die jeweiligen I/O-Einheiten vorgesehen, wie in 11 gezeigt ist, und speichern die I/O-Eingabeinformation. Die gespeicherte Information wird als erwartete Datenwerte an die Datenkomparatorschaltungen 34 nach dem Programmieren des regulären Zellenarrays 3 ausgegeben. Die Erwartungswertspeicherschaltungen 32-(0) bis 32-(15) erhalten ebenfalls Informationen, die zum Zeitpunkt des Programmierens des CAM-Zellenarrays 4 in dem I/O-Modus eingespeist wird. Die gespeicherte Information wird als erwartete Datenwerte an die Datenkomparatorschaltungen 34 nach dem Programmieren des CAM-Zellenarrays 4 ausgegeben. Des weiteren erzeugen die Erwartungswertspeicherschaltungen 32 erwartete Werte, die zu einem Ausgeben des Verifizierungssteuersignals von der WP-Auswahlschaltung 33 führen, wenn die Schalter 35 durch das Schnittstellenmodusfestlegungssignals zum Zeitpunkt des Programmierens des CAM-Zellenarrays 4 in dem Adressiermodus eingeschaltet sind. Die Daten werden dann als erwartete Datenwerte an die Datenkomparatorschaltungen 34 nach dem Programmieren des CAM-Zellenarrays 4 ausgegeben.
  • Die Datenkomparatorschaltungen 34-(0) bis 34-(15) sind auch für die jeweiligen I/O-Einheiten vorgesehen und vergleichen die aus dem regulären Zellenarray 3 oder dem CAM-Zellenarray 4 ausgelesenen Daten mit denjenigen Daten (den erwarteten Werten), die in den Erwartungswertspeicherschaltungen 32-(0) bis 32-(15) gespeichert sind. Wenn das CAM-Zellenarray 4 programmiert wird, führen die Datenkomparatorschaltungen 34 eine Pseudoverifizierung mit positivem Ergebnis an den nicht zu programmierenden Zellen durch, wobei das Verifiziersteuersignal aus der WP-Auswahlschaltung 33 verwendet wird.
  • Es sei nun auf das Flussdiagramm der 13 und 14 verwiesen, wobei die Funktionsweise beim Programmieren des CAM-Zellenarrays 4, das in den I/O-Modus gesetzt ist, gemäß dieser Ausführungsform beschrieben ist. In dieser Ausführungsform kann das Festlegungen von „schreibgeschützt" an jeder Sektorgruppe, die aus Sektoren aufgebaut ist, ausgeführt werden, und es werden I/O-Einheiten jedem Sektor zugewiesen. Wenn eine Sektorgruppe, in der der „Schreibschutz" festzulegen ist, ausgewählt wird, werden Schutzdaten in die WP-CAM-Zelle in der ausgewählten Sektorgruppe programmiert.
  • Zunächst werden CAM-Programmiereinstellsignale (I/O-0, 1, ..., 15) zum Festlegen einer WP-CAM-Zelle, die zu programmieren ist, von den jeweiligen I/O-Einheiten eingespeist (Schritt S10). Die Information „1" zum Befehlen einer Programmierung wird der I/O-Einheit eingespeist, die der zu programmierenden WP-CAM-Zelle entspricht, und die Information „0" zum Verhindern des Programmierens wird den anderen I/O-Einheiten eingespeist (siehe 14b).
  • Die Daten, die bereits in den WP-CAM-Zellen gespeichert sind, werden im Voraus ausgelesen (Vor-Auslesen) (Schritt S11). Auf Grundlage der vor-ausgelesenen Daten wird jede WP-CAM-Zelle dahingehend bewertet, ob diese in einem beschriebenen Datenzustand ist. Wenn Daten bereits gespeichert sind und das Programmieren bereits durchgeführt wird, wird die Information „0" gespeichert. Wenn eine WP-CAM-Zelle in einem gelöschten Zustand ist, ohne dass Daten darin geschrieben sind, wird die Information „0" in der I/O-Einheit gespeichert (siehe 14a).
  • Als nächstes wird eine WP-CAM-Zelle, die aktuell in einem gelöschten Zustand ist und für die ein Schreiben durch das I/O-Eingangssignal zulässig ist, ermittelt (Schritt S12). Genauer gesagt, es wird eine WP-CAM-Zelle mit vor-ausgelesenen Daten „1", die einen gelöschten Zustand angeben, und die auch einen I/O-Eingang mit „1" besitzt, ermittelt. In dieser Ermittlung können die Erwartungswertspeicherschaltungen 32 und die Datenkomparatorschaltungen, die in 11 gezeigt sind, verwendet werden.
  • An der ermittelten WP-CAM-Zelle wird nun ein Programmiervorgang durchgeführt (Schritt S13) (siehe auch beispielsweise 14c). Wenn die Programmierung ausgeführt wird, bestimmt die Verifizierschaltung 13, ob die Daten mit Gewissheit in die WP-CAM-Zelle geschrieben wurden. Zu diesem Zeitpunkt werden Schalter 35-(0) bis 35-(15), die für die jeweiligen I/O-Einheiten vorgesehen sind, durch die Schnittstellenmodusfestlegungssignale zum Festlegen des I/O-Modus ausgeschaltet. Das Festlegungssignal wird auch der WP-Bit-Auswahlschaltung 33 eingespeist, um damit die Schalter 54-(0) bis 54-(15) einzuschalten.
  • Die WP-Auswahlschaltung 33 bildet die logischen Produkte der vor-ausgelesenen Daten, die aus den WP-CAM-Zellen ausgelesen wurden, mit den I/O-Eingangssignalen (I/O-0, 1, ..., 15) über die Und-Gatter 53-(0) bis 53-(15), um Verifiziersteuersignale zu erzeugen. Wenn das I/O-Eingangssignal „1" ist, wodurch ein Programmieren angefordert wird, und wenn die vor-ausgelesenen Daten „1" sind, wodurch eine gelöschte Zelle angegeben wird, wird ein hochpegeliges Verifiziersteuersignal an die entsprechende Datenkomparatorschaltung 34 ausgegeben. Im anderen Fall wird ein tiefpegeliges Verifiziersteuersignal an die jeweilige Datenkomparatorschaltung 34 ausgegeben.
  • Die Erwartungswertspeicherschaltungen 32-(0) bis 32-(15) speichern die Eingangssignale I/O-(0, 1, ..., 15) in unveränderter Form und geben die zwischengespeicherten Daten als DIN 0 bis DIN 15 an die Datenkomparatorschaltungen 34-(0) bis 34-(15) in einer vorbestimmten Zeitabfolge aus. Die Daten werden als die erwarteten Datenwerte bezeichnet. Das Verifiziersteuersignal wird von der WP-Bitauswahlschaltung 33 an jede der Datenkomparatorschaltungen 34-(0) bis 34(15) ausgegeben.
  • Die Datenkomparatorschaltungen 34-(0) bis 34-(15) vergleichen die von den WP-CAM-Zellen ausgelesenen Daten, d. h. die Daten, die nach dem Programmieren ausgelesen wurden, mit den erwarteten Werten, die aus den Erwartungswertspeicherschaltungen 31-(0) bis 32-(15) ausgelesen werden. Zu diesem Zeitpunkt wird in jeder Datenkomparatorschaltung 34, an die ein tiefpegeliges Verifiziersteuersignal von der WP-Auswahlschaltung 33 ausgegeben wird, kein Vergleich ausgeführt, sondern das hochpegelige Übereinstimmungssignal wird ausgegeben, um damit ein fingiertes positives Ergebnis für die Verifizierung zu erzeugen (siehe 14d). In jeder Datenkomparatorschaltung 34, an die ein hochpegeliges Verifiziersteuersignal von der WP-Bit-Auswahlschaltung 33 ausgegeben wird, werden die erwarteten Datenwerte, die aus der entsprechenden Erwartungswertspeicherschaltung 32 eingespeist werden, mit den Daten nach dem Programmieren der WP-CAM-Zelle verglichen. Wenn das I/O-Eingangssignal „1" ist, das eine Programmierung anfordert, und wenn die aus der WP-CAM-Zelle nach dem Programmieren ausgelesenen Daten eine „1" repräsentieren, wodurch ein gelöschter Zustand angegeben wird, wird ein tiefpegeliges Signal an die Bestimmungsschaltung 12 ausgegeben, wodurch ein „Fehler bzw. negatives Ergebnis" angegeben wird. Wie in 14 gezeigt ist, wird ein hochpegeliges Signal, das eine positive Verifizierung angibt, an die Bestimmungsschaltung 12 ausgegeben, wenn der I/O-Eingang auf „1" ist und die aus der WP-CAM-Zelle nach dem Programmieren ausgelesenen Daten „0" sind, wodurch ein programmierter Zustand angegeben wird.
  • Wenn alle übereinstimmenden Signale, die von den Datenkomparatorschaltungen 34-(0) bis 34-(15) ausgegeben werden, dem hohen Pegel bzw. „H" entsprechen, gibt die Bestimmungsschaltung 12 ein Verifiziersignal an die Steuerung aus, das einen erfolgreichen Schreibvorgang für die Daten angibt.
  • Wie zuvor beschrieben ist, wird ein fingiertes positives Ergebnis bzw. ein Pseudoergebnis für die Vergleichsergebnisse der Datenkomparatorschaltungen, die den nicht programmierten CAM-Zellen zugewiesen sind, in dieser Ausführungsform verwendet. Folglich können die Programmierergebnisse der programmierten CAM-Zelle in der Verifizierung wiedergeben werden.
  • Es sei nun auf das Flussdiagramm der 15 und 16 verwiesen, wobei die Funktionsweise beschrieben ist, die in einem Falle anzuwenden ist, wenn eine Sektorgruppenadresse (SGA) von außen festgelegt wird. Wie in 16 gezeigt ist, werden gemäß der Sequenz zum Ausführen des Programmierbefehls für eine WP-CAM- Zelle die Prozeduren für die Befehlserkennung in 5 Zyklen ausgeführt, und Information wird im 6 Zyklus gespeichert. Kurz gesagt, es wird eine zu programmierende SGA festgelegt, und das Programmieren der SGA wird insgesamt in 6 Zyklen ausgeführt.
  • Zuerst wird ein WP-CAM-Adressenbenennungssignal zum Programmieren der WP-CAM-Zelle eingespeist. Das WP-CAM-Adressenbenennungssignal wird durch den Dekodierer analysiert (Schritt S20) um eine Adresse zu erzeugen, die der tatsächlich zu programmierenden WP-CAM-Zelle entspricht. In der Verifizierschaltung 13 wird das WP-CAM-Adressenbenennungssignal ebenfalls durch den Dekodierer 51 dekodiert, und es wird ein hochpegeliges Verifiziersteuersignal an die Erwartungswertspeicherschaltung 32 und die Datenkomparatorschaltung 34, die der zu programmierenden WP-CAM-Zelle entspricht, ausgegeben. An die anderen Erwartungswertspeicherschaltungen 32 und die anderen Datenkomparatorschaltungen 34 wird ein tiefpegeliges Verifiziersteuersignal ausgegeben.
  • Als nächstes werden die Daten, die bereits in der durch das Dekodierergebnis benannten WP-CAM-Zelle gespeichert sind, im Voraus ausgelesen (Schritt S21). Die vor-ausgelesenen Daten werden analysiert, um den Datenschreibzustand der WP-CAM-Zelle zu bestimmen.
  • Wenn die WP-CAM-Zelle als in einem gelöschten Zustand befindlich bestimmt wird („Ja" im Schritt S22), werden Daten in die WP-CAM-Zelle geschrieben und diese wird in einen programmierten Zustand versetzt (Schritt S23). Wenn die WP-CAM-Zelle als in einem programmierten Zustand befindlich bestimmt wird („Nein" im Schritt S22), ist der Vorgang zu Ende.
  • Wenn das Programmieren der WP-CAM-Zelle beendet ist, wird durch die Verifizierschaltung 13 eine Verifizierung vorgenommen, um zu bestimmen, ob die Daten zuverlässig in die WP-CAM-Zelle geschrieben sind.
  • Die WP-Bitauswahlschaltung 33 und die Datenkomparatorschaltungen 34-(0) bis 34-(15), die für die jeweiligen I/O-Einheiten vorgesehen sind, werden mit Leitungen verbunden, und es wird ein Verifiziersteuersignal von der WP-CAM-Auswahlschaltung 33 ausgegeben. In dem Adressiermodus werden die Schalter 35-(0) bis 35-(15) durch das Schnittstellenmodusfestlegungssignal eingeschaltet. Folglich wir das Verifiziersteuersignal lediglich derjenigen Erwartungswertspeicherschaltung 32 eingespeist, die mit der Leitung verbunden, über die ein hochpegeliges Verifiziersteuersignal bzw. ein „H"-Pegelverifiziersteuersignal ausgegeben wird. Die Erwartungswertspeicherschaltung 32, die das hochpegelige Verifiziersteuersignal erhält, erzeugt den erwarteten Wert „0", der angibt, dass die betreffende WP-Zelle programmiert ist, und gibt den Erwartungswert „0" an die Datenkomparatorschaltung 34 aus (Schritt S24) (siehe 16). Die anderen Erwartungswertspeicherschaltungen 32, denen ein niedrigpegeliges bzw. ein „L"-Pegelverifiziersteuersignal eingespeist wird, erzeugen keinen erwarteten Wert (Schritt S24). Folglich wird ein erwarteter Wert nicht an die Datenkomparatorschaltungen 34 ausgegeben.
  • Die Datenkomparatorschaltung 34, die den Erwartungswert „0" von der Erwartungswertspeicherschaltung 32 erhält, liest die Daten aus der entsprechenden WP-CAM-Zelle aus und vergleicht die Daten DAVi mit dem erwarteten Wert „0" (der durch/DINi in 16) bezeichnet ist. Auf Grund des Erhaltens des tiefpegeligen Verifiziersteuersignals geben die anderen Datenkomparatorschaltungen 34 zwangsweise ein hochpegeliges bzw. ein Übereinstimmungssignal mit „H"-Pegel aus. Kurz gesagt, es wird eine Pseudoverifizierung mit positivem Ergebnis ausgeführt (siehe 16).
  • Wenn alle Übereinstimmungssignale, die von den Datenkomparatorschaltungen ausgegeben werden, auf „H"-Pegel oder hochpegelig sind, gibt die Bestimmungsschaltung 12 ein Verifiziersignal an die Steuerung aus, das einen erfolgreichen Datenschreibvorgang kennzeichnet (Schritt S25). Das Datenvergleichsergebnis der tatsächlich programmierten WP-CAM-Zelle kann als das Verifizierungsergebnis ausgegeben werden.
  • 17 zeigt die Strukturen von jeder Erwartungswertspeicherschaltung 32 und jeder Datenkomparatorschaltung 34, die in 11 gezeigt sind, und zeigt auch den Aufbau der Bestimmungsschaltung 12. Wie zuvor beschrieben ist, wird der Ausgang jeder Datenkomparatorschaltung 34 durch das Verifiziersteuersignal aus der WP-Bitauswahlschaltung 33 gesteuert, und wird an die Bestimmungsschaltung 12 ausgegeben. Ferner wird auch jede Datenkomparatorschaltung 34 durch ein CAM-Modussignal zum erneuten Beschreiben einer CAM-Zelle gesteuert. Ferner wird jede Erwartungswertspeicherschaltung 32 durch das Schnittstellenmodusfestlegungssignal gesteuert.
  • (dritte Ausführungsform)
  • Mit Bezug zu 18 wird eine dritte Ausführungsform der vorliegenden Erfindung nun beschrieben. Die CAM-Daten, die in ein CAM-Zellenarray 4 geschrieben sind, werden ausgelesen, indem ein Schalter 61 zum Zeitpunkt des Einschaltens oder des Zurücksetzens der Hardware eingeschaltet wird. Die CAM-Daten werden dann an einen flüchtigen Speicher 11, etwa einen SRAM übertragen, der in 18 gezeigt ist. Die CAM-Daten werden aus dem flüchtigen Speicher 11 ausgelesen, so dass ein Lesezugriff auf ein reguläres Zellenarray 3 nicht verzögert wird. Wenn in dieser Ausführungsform eine Programmierung an den CAM's durchgeführt wird, werden die in dem flüchtigen Speicher 11 gespeicherten Daten als ein erwarteter Datenwert verwendet, und Datenkomparatorschaltungen 34 vergleichen den erwarteten Datenwert mit den Daten, die aus der CAM-Zelle ausgelesen werden.
  • Zu einem anderen Zeitpunkt als denjenigen, an dem eine Verifizierung an den Daten durchgeführt wird, die in dem CAM-Zellen-Array 4 programmiert sind, wird ein Schalter 64 von einem CAM-Modussignal aktiviert, um damit die Erwartungswertspeicherschaltungen 32 mit den Datenkomparatorschaltungen zu verbinden. Wenn dies erfolgt, kann eine Verifizierung unter Anwendung der Erwartungswertspeicherschaltungen 32 zum Zeitpunkt des Verifizierens des regulären Zellenarrays 3 ausgeführt werden.
  • 19 zeigt den Aufbau der WP-Bit-Auswahlschaltung 33. In dieser Ausführungsform werden die Und-Gatter 53 der zweiten Ausführungsform nicht verwendet. Wenn der I/O-Modus durch das Schnittstellenmodusfestlegungssignal eingestellt ist, werden die I/O-Eingangssignale I/O (0), (1), ..., (15) als Verifiziersteuersignale in unveränderter Form ausgegeben. In dem Adressiermodus sind die Schalter 54-(0) bis 54-(15) ausgeschaltet, und es wird ein dekodiertes Signal von dem Dekodierer 51 ausgegeben. Wenn der Adressiermodus festgelegt wird, wird ein WP-CAM-Adressenbenennungssignal dem Dekodierer 51 zugeleitet, der dann das Signal analysiert, um die für das Programmieren bestimmte CAM-Zelle zu bestimmen. Es wird ein hochpegeliges Verifiziersteuersignal, das angibt, dass die WP-CAM-Zelle von dem Programm ausgewählt ist, an den nicht-flüchtigen Speicher 11 ausgegeben. Die Verifiziersteuersignale, die von den anderen WP-CAM-Zellen ausgegeben werden (die WP-CAM-Zellen), die nicht durch das Programmieren benannt sind, sind auf tiefem Pegel.
  • In den flüchtigen Speicher 11 gibt es zwei Speichergebiete, die die von den CAM-Zellen ausgelesenen Daten enthalten. Ein erstes Speichergebiet ist ein Gebiet, das die Daten bewahrt, die mittels Verifizierung als zuverlässig in den CAM-Zellen gespeicherte Daten ermittelt wurden. Anders ausgedrückt, das erste Speichergebiet enthält die Daten, die äquivalent sind zu den nicht flüchtigen Speicherinformationen in dem CAM-Zellen-Array 4 nach dem Programmieren (einschließlich der Verifizierung) in den CAM-Zellen. Wenn daher eine Anforderung für die Daten der CAM-Zellen von einer Schaltung vorhanden ist, die für die Funktionen für den Zeitpunkt einer regulären Betriebsweise des regulären Zellenarrays 3 erforderlich ist, werden die in dem ersten Speichergebiet gespeicherten Daten ausgegeben. Ein zweites Speichergebiet ist ein Gebiet, das als ein temporärer Speicherbereich bzw. ein Zwischenspeicherbereich verwendet wird, und Daten der CAM-Zellen enthält, die zum Zeitpunkt des Programmierens im Voraus ausgelesen werden.
  • Beim Empfang eines Verifiziersteuersignals von der WP-Bit-Auswahlschaltung 33 gibt der flüchtige Speicher 11 eine „0" als den erwarteten Wert der WP-CAM-Zelle aus, die durch das Verifiziersteuersignal benannt ist, wie in 18 gezeigt ist, anstatt, dass Daten ausgegeben werden, die zum Zeitpunkt des Vor-Auslesens ermittelt werden. Der flüchtige Speicher 11 gibt ferner (anfänglicher Durchlauf) die Daten, die in dem zweiten Speichergebiet gespeichert sind, zum Zeitpunkt des Vor-Auslesens der Daten der anderen WP-CAM-Zellen entsprechend den niederpegeligen Verifiziersteuersignalen aus.
  • Es sei nun auf das Flussdiagramm der 20 und 21 verwiesen, worin die Funktionsweise des Programmierens des CAM-Zellenarrays 4, das in den I/O-Modus gesetzt ist, entsprechend dieser Ausführungsform beschrieben ist. Zunächst werden CAM-Programmiereinstellsignale (I/O-0 bis I/O-15) zum Bezeichnen einer WP-CAM-Zelle, die zu verwenden ist, von den jeweiligen I/O-Einheiten eingespeist (Schritt S30). Es wird die Information „1" zum Anweisen einer Programmierung der I/O-Einheit eingespeist, die der zu programmierenden WP-CAM-Zelle entspricht, und die Information „0" wird den anderen I/O-Einheiten zugewiesen.
  • Die Daten werden dann im vorab aus den WP-CAM-Zellen ausgelesen, und es wird für jede WP-CAM-Zelle der Datenschreibzustand bestimmt (Schritt S31). Wenn eine WP-CAM-Zelle in einem programmierten Zustand mit geschriebenen Daten ist, sollte die Information „0" in der WP-CAM-Zelle gespeichert sein. Wenn eine WP-CAM-Zelle in einem gelöschten Zustand ohne geschriebene Daten ist, sollte die Information „1" in der WP-CAM-Zelle gespeichert sein.
  • Als nächstes wird die WP-CAM-Zelle, die aktuell in einem gelöschten Zustand ist und für die ein Schreibzugriff durch ein I/O-Eingangssignal zulässig ist, ermittelt (Schritt S32). Genauer gesagt, diejenige WP-CAM-Zelle mit den vor-ausgelesenen Daten „1", die einen gelöschten Zustand angeben und mit dem I/O-Eingang von „1" wird ausgewählt. Wenn die WP-CAM-Zelle, die für die Programmierung vorgesehen ist, bereits programmiert ist, ist die Operation beendet und es wird ein Fehlersignal ausgegeben. Die bislang beschriebenen Prozeduren werden von der Steuerung 8 ausgeführt.
  • Nun wird das Programmieren an der erkannten WP-CAM-Zelle ausgeführt (Schritt S33). Wenn das Programmieren ausgeführt wird, bestimmt die Verifizierschaltung 13, ob die Daten mit Gewissheit in die WP-CAM-Zelle geschrieben sind. Zu diesen Zeitpunkt sind die Schalter 54-(0) bis 54-(15), die für die I/O-Einheiten vorgesehen sind, durch das Schnittstelleneinstellmoduseinstellsignal eingeschaltet. Der Dekodierer 51 beendet seine Arbeit beim Empfang des Schnittstellenmodusfeststellungssignals, das über den Inverter 52 eingespeist wird.
  • Die WP-Bit-Auswahlschaltung 33 gibt die Eingangssignal I/O-(0) bis I/O-(15) als Verifiziersteuersignale an den flüchtigen Speicher 11 in unveränderter Weise aus. Genauer gesagt, wenn eine „1" als I/O-Eingangssignal für die WP-CAM-Zelle vorgesehen ist, die durch das Programmieren benannt ist, gibt die WP-Bit-Auswahlschaltung 33 ein hochpegeliges Signal als das Verifiziersteuersignal aus. Die Verifiziersteuersignale, die den anderen WP-CAM-Zellen entsprechen, sind auf niedrigem Pegel.
  • Der flüchtige Speicher 11 gibt den erwarteten Wert „0" als Daten für die WP-CAM-Zelle, die durch das hochpegelige Verifiziersignal benannt ist, an die Datenkomparatorschaltung 34 aus (siehe 21). Die in dem zweiten Speicherbereich gespeicherten vor-ausgelesenen Daten werden als die erwarteten Datenwerte an die anderen WP-CAM-Zellen ausgegeben (siehe 21).
  • Die Datenkomparatorschaltungen 34-(0) bis 34-(15) vergleichen die aus der WP-CAM-Zelle ausgelesenen Daten nach dem Programmieren mit den erwarteten Werten, die aus dem flüchtigen Speicher 11 ausgelesen wurden (Schritt S34). Da die aus einer nicht programmierten WP-CAM-Zelle ausgelesenen Daten stets gleich sind zu dem erwarteten Wert der WP-CAM-Zelle, wird eine Verifizierung ausgeführt, indem bestimmt wird, ob die Daten jeder programmierten WP-CAM-Zelle gleich dem erwarteten Wert sind. Wenn die aus der WP-CAM-Zelle ausgelesenen Daten nicht gleich dem erwarteten Wert sind („Nein" im Schritt S35), kehrt der Funktionsablauf zur Programmierprozedur zurück (Schritt S33). Wenn die aus der WP-CAM-Zelle ausgelesenen Daten gleich dem erwarteten Wert sind („Ja" im Schritt S35), wird ein Übereinstimmungssignal von der Datenkomparatorschaltung 34 an die Bestimmungsschaltung 12 ausgegeben, das die Übereinstimmung zwischen den Daten und dem erwarteten Wert angibt. Wenn alle Übereinstimmungssignale aus den Datenkomparatorschaltungen 34 eine Übereinstimmung anzeigen, gibt die Bestimmungsschaltung 12 ein Signal über die erfolgreiche Verifizierung an die Steuerung aus (Schritt S36). Wenn die Verifizierung erfolgreich ist, werden die Daten aus der WP-CAM-Zelle oder den Fühlerverstärker ausgelesen und werden als die autorisierten Daten der WP-CAM-Zelle in dem ersten Speichergebiet des flüchtigen Speichers 11 gespeichert (Schritt S37).
  • In dieser Ausführungsform wird eine Steuerung so ausgeführt, dass ein positives Pseudoergebnis bei den Vergleichsergebnissen der Datenkomparatorschaltungen, die den nicht programmierten CAM-Zellen zugewiesen sind, erhalten wird. Folglich kann das Programmierergebnis der programmierten CAM-Zelle bei der Verifizierung angegeben werden.
  • Es sei nun auf das Flussdiagramm der 22 und 23 verwiesen, worin die Funktionsweise im Adressiermodus beschrieben ist. Zunächst wird ein WP-CAM-Adressierbenennungssignal zum Kennzeichnen einer zu programmierenden WP-CAM-Zelle eingespeist. Das WP-CAM-Adressierbenennungssignal wird von einem Dekodierer analysiert (Schritt S40), um eine Adresse zu erzeugen, die die tatsächlich zu programmierende WP-CAM-Zelle repräsentiert. In der Verifizierschaltung 13 wird das WP-CAM-Adressenbenennungssignal von dem Dekodierer 51 dekodiert. Es wird ein Verifiziersteuersignal zum Benennen der zu programmierenden WP-CAM-Zelle sodann an den flüchtigen Speicher 11 ausgegeben.
  • Als nächstes werden die Daten, die bereits in der durch das Dekodierergebnis ausgewählten WP-CAM-Zelle gespeichert sind, durch einen Vor-Ausleseschritt ausgelesen (Schritt S41). Unter Anwendung der vor-ausgelesenen Daten wird der Datenschreibzustand der WP-CAM-Zelle bestimmt.
  • Wenn die WP-CAM-Zelle als in einem gelöschten Zustand befindlich bestimmt wird („Ja" im Schritt S42), werden Daten in die WP-CAM-Zelle geschrieben, die somit in einen programmierten Zustand versetzt wird (Schritt S43). Wenn die WP-CAM-Zelle als in einem programmierten Zustand befindlich bestimmt wird („Nein" im Schritt S42), ist die Operation beendet.
  • Danach wird eine Programmierung und Verifizierung an der erkannten WP-CAM-Zelle in der gleichen Weise durchgeführt, wie dies in dem in 20 gezeigten Flussdiagramm der Fall ist. Zum Zeitpunkt des Verifizierens gibt der flüchtige Speicher 11 den erwarteten Wert „0" als die Daten der WP-CAM-Zelle, die durch das hochpegelige Verifiziersteuersignal bezeichnet ist, an die Datenkomparatorschaltung 34 aus (siehe 23). Die vor-ausgelesenen Daten, die in dem zweiten Speichergebiet gespeichert sind, werden als die erwarteten Datenwerte für die anderen WP-CAM-Zellen ausgegeben (siehe 23). Die Datenkomparatorschaltungen 34-(0) bis 34-(15) vergleichen die von den WP-CAM-Zellen nach dem Programmieren ausgelesenen Daten mit den erwarteten Datenwerten, die aus dem flüchtigen Speicher 11 ausgelesen werden. Wenn die von einer WP-CAM-Zelle nach dem Programmieren ausgelesenen Daten gleich sind zu dem erwarteten Wert der WP-CAM-Zelle, wird ein Signal für die erfolgreiche Verifizierung an die Steuerung 8 ausgegeben. Wenn die Verifizierung erfolgreich ist, werden die Daten aus der WP-CAM-Zelle oder dem Fühlerverstärker ausgelesen und werden als die korrekten Daten der WP-CAM-Zelle in dem ersten Speichergebiet des flüchtigen Speichers 11 abgelegt.
  • 24 zeigt den Aufbau des Halbleiterbauelements in detaillierter Form. Wie in dem in 24 gezeigten Halbleiterbauelement sind die Eingänge jeder Datenkomparatorschaltungen 34 entsprechend einem CAM-Modussignal geschaltet. Genauer gesagt, in einem CAM-Modus wird die Ausgabe des flüchtigen Speichers 11 jeder Datenkomparatorschaltung 34 eingespeist. In einem regulären Betrieb werden die Ausgangssignale der Erwartungswertspeicherschaltungen 32 den Datenkomparatorschaltungen 34 eingespeist.
  • Die zuvor beschriebenen Ausführungsformen sind bevorzugte Ausführungsformen der vorliegenden Erfindung. Die vorliegende Erfindung ist jedoch nicht auf diese Ausführungsformen eingeschränkt und es können diverse Änderungen und Modifizierungen durchgeführt werden, ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen.
  • Beispielsweise kann der flüchtige Speicher 11 mit nur lediglich einem Speichergebiet (das erste Speichergebiet) aufgebaut sein. Die CAM-Daten, die in das CAM-Zellenarray 4 geschrieben werden, werden ausgelesen, indem der Schalter 61 zum Zeitpunkt des Einschaltens oder des Zurücksetzens der Hardware aktiviert wird. Durch das Vor-Auslesen wird die WP-CAM-Zelle, die die Daten „1" aufweist, die einen gelöschten Zustand angeben, und die das I/O-Eingangssignal mit „1" besitzt, erkannt, indem die Information aus dem flüchtigen Speicher 11 ausgelesen wird. Das Programmieren wird dann an der erkannten WP-CAM-Zelle ausgeführt. Wenn das Programmieren ausgeführt wird, führt die Verifizierschaltung 13 eine Verifizierung durch, um zu bestimmen, ob die Daten auch mit Gewissheit in die WP-CAM-Zelle geschrieben sind. Die WP-Bitauswahlschaltung 33 gibt ein hochpegeliges Signal als ein Verifiziersteuersignal an die WP-CAM-Zelle, die durch das Programmieren ausgewählt ist, aus und gibt ferner tiefpegelige Signale als die Verifiziersteuersignale an die anderen WP-CAM-Zellen aus. Der flüchtige Speicher 11 gibt den erwarteten Wert „0" an die Datenkomparatorschaltungen 34 aus, unabhängig von der Information, die als die Daten der WP-CAM-Zelle gespeichert sind, die durch das hochpegelige Verifiziersteuersignal in dem Auslesebereich (nicht gezeigt) des ersten Speichergebiets ausgewählt ist. In einfacherer Weise ist eine Klemmschaltung, die ein Verifiziersteuersignal verwendet, mit dem Auslesebereich des ersten Speichergebiets verbunden, um damit die Ausgänge („0") zu klemmen. Die in dem ersten Speichergebiet gespeicherte Information wird als die erwarteten Datenwerte der anderen WP-CAM-Zellen ohne Aktivierung der Klemmschaltung ausgegeben. Die Datenkomparatorschaltungen vergleichen die aus einer WP-CAM-Zelle nach dem Programmieren ausgelesenen Daten mit dem erwarteten Datenwert, der aus dem flüchtigen Speicher 11 ausgelesen wird. Wenn das Verifizierergebnis eine „Übereinstimmung" anzeigt, werden die Daten aus der WP-CAM-Zelle oder dem Fühlerverstärker durch Aktivieren des Schalters 61 ausgelesen und werden als die korrekten Daten der WP-CAM-Zelle gespeichert.
  • Die Bauteilkomponenten des flüchtigen Speichers 11 können eine sogenannte statische Speicherzelle enthalten, oder können eine Signalspeicherschaltung bzw. Latch-Schaltung sein, die mit Logikelementen gebildet ist, die für die peripheren Schaltungen vorgesehen sind.
  • Obwohl einige bevorzugte Ausführungsformen der vorliegenden Erfindung nunmehr beschrieben und gezeigt sind, erkennt der Fachmann, dass Änderungen an diesen Ausführungsformen durchgeführt werden können, ohne von den Prinzipien und dem Grundgedanken der Erfindung abzuweichen, deren Schutzbereich durch die Patentansprüche und deren Äquivalente definiert ist.
  • Zusammenfassung
  • Ein Halbleiterbauelement der vorliegenden Erfindung umfasst ein CAM-Zellenarray, das Betriebseinstellinformation für das Halbleiterbauelement enthält, eine Steuerung, die das Lesen und Schreiben des CAM-Zellenarrays steuert, einen Reihendekodierer und einen Spaltendekodierer. Mit diesem Aufbau werden unterschiedliche Reihenadressen den jeweiligen Funktionen der Betriebseinstellinformation zugeordnet. Folglich wird keine Belastung in dem CAM-Zellenarray für die nicht ausgewählten Funktionen beim Programmieren verursacht.

Claims (28)

  1. Halbleiterbauelement mit: einem Zellenarray, das Betriebseinstellinformation für das Halbleiterbauelement enthält; und einer Steuereinheit, die Lese- und Schreiboperationen, die an dem Zellenarray auszuführen sind, steuert, wobei die Steuereinheit unterschiedliche Reihenadressen für die jeweiligen Funktionen der Betriebseinstellinformation zuweist.
  2. Halbleiterbauelement nach Anspruch 1, wobei die Steuereinheit unterschiedliche Spaltenadressen für die jeweiligen Funktionen der Betriebseinstellinformation zuweist.
  3. Halbleiterbauelement nach Anspruch 1, wobei die Steuereinheit zusammenhängende Spaltenadresse für die jeweiligen Funktionen der Betriebseinstellinformation zuweist.
  4. Halbleiterbauelement nach Anspruch 1, wobei die Steuereinheit die Betriebseinstellinformation den Spaltenadressen, die durch eine der Reihenadressen ausgewählt sind, zuweist.
  5. Halbleiterbauelement nach Anspruch 1, wobei die Steuereinheit die Betriebseinstellinformation allen I/O-Einheiten einer beliebigen Spalte, die durch die Reihenadresse ausgewählt ist, zuweist.
  6. Halbleiterbauelement nach Anspruch 1, wobei Speicherzellen, auf die durch unterschiedliche Reihenadressen zugegriffen wird, voneinander in Bezug auf das Verdrahtungsmuster lokaler Bitleitungen getrennt sind.
  7. Halbleiterbauelement nach Anspruch 1, wobei Speicherzellen mit Schaltern verbunden sind, um selektiv Speicherzellen mit Bitleitungen zu verbinden, die in einer Spaltenzuordnung angeordnet sind.
  8. Halbleiterbauelement nach Anspruch 1, wobei das Zellenarray Zellen für jede Spalte umfasst und wobei Speicherzellen, die keine Betriebseinstellinformation enthalten, von Bitleitungen getrennt sind, die entsprechend den Spalten angeordnet sind.
  9. Halbleiterbauelement nach Anspruch 3, wobei die Steuereinheit alle Wortleitungen in dem Zellenarray auswählt und die Betriebseinstellinformationsdaten aus dem Zellenarray ausliest, während die Spaltenadressen aufeinanderfolgend geändert werden.
  10. Halbleiterbauelement nach einem der Ansprüche 1 bis 9, wobei die Steuereinheit eine Tabelle umfasst, die die Nummer einer entsprechenden Speicherzelle in eine Adresse einer entsprechenden Speicherzelle umwandelt.
  11. Verfahren zum Zuweisen von Adressen zu einem Zellenarray, das Betriebseinstellinformation für ein Halbleiterbauelement enthält, wobei das Verfahren den Schritt umfasst: Zuweisen unterschiedlicher Reihenadressen zu jeweiligen Funktionen der Betriebseinstellinformation.
  12. Verfahren nach Anspruch 11, das ferner den Schritt umfasst: Zuweisen unterschiedlicher Spaltenadressen für die jeweiligen Funktionen der Betriebseinstellinformation.
  13. Verfahren nach Anspruch 11, das ferner den Schritt umfasst: Zuweisen zusammenhängender Spaltenadressen für die jeweiligen Funktionen der Betriebseinstellinformation.
  14. Verfahren nach Anspruch 13, das ferner den Schritt umfasst: Auswählen aller Wortleitungen in dem Zellenarray und aufeinanderfolgendes Ändern der Spaltenadressen, um Daten aus dem Zellenarray auszulesen.
  15. Halbleiterbauelement mit: einem Zellenarray, das Betriebseinstellinformation für das Halbleiterbauelement enthält; einer Schreibschaltung, die gleichzeitig Speicherzellen in dem Zellenarray programmiert; und einer Verifizierschaltung, die nur Programmierergebnisse einer Speicherzelle verifiziert, die tatsächlich programmiert ist.
  16. Halbleiterbauelement nach Anspruch 15, wobei die Verifizierschaltung umfasst: Komparatorschaltungen, die einen erwarteten Datenwert, der durch normales Programmieren ermittelt wird, mit Daten vergleichen, die aus den Speicherzellen nach dem Programmieren ausgelesen werden; und eine Steuereinheit, die ein positives Pseudoergebnis für Komparatorausgangssignale erzeugt, die mit Programmierergebnissen von Speicherzellen verknüpft sind, die nicht programmiert sind.
  17. Halbleiterbauelement nach Anspruch 16, wobei: die Steuereinheit eine Speicherzelle in einem gelöschten Zustand vor dem Programmieren erkennt, wobei die Speicherzelle durch einen externen Eingang als zu programmierend gekennzeichnet ist; und wobei das Halbleiterbauelement ferner eine Schaltung umfasst, die einen erwarteten Datenwert, der durch normales Programmieren ermittelt wird, in Reaktion auf einen Befehl von der Steuereinheit erzeugt, und den erwarteten Datenwert zu einer der Komparatorschaltungen, die der gekennzeichneten Speicherzelle zugeordnet ist, ausgibt.
  18. Halbleiterbauelement mit: einem Zellenarray, das Betriebseinstellinformation für das Halbleiterbauelement speichert; einer Schreibschaltung, die gleichzeitig Speicherzellen in dem Zellenarray programmiert; einer flüchtigen Speicherschaltung, die in den Speicherzellen vor dem Programmieren gespeicherte Daten speichert; und einer Verifizierschaltung, die mit den in der flüchtigen Speicherschaltung gespeicherten Daten eine Speicherzelle, die nicht programmiert ist, verifiziert und die eine weitere Speicherzelle, die tatsächlich programmiert ist, mit erwarteten Datenwerten, die durch ein normales Programmieren gewonnen werden, verifiziert.
  19. Halbleiterbauelement nach Anspruch 18, wobei die Verifizierschaltung umfasst: Komparatorschaltungen, die erwartete Datenwerte, die durch normales Programmieren gewonnen werden, mit Daten vergleicht, die aus den Speicherzellen oder einem Fühlerverstärker nach dem Programmieren ausgelesen werden; und eine Steuereinheit, die die Speicherzelle kennzeichnet, die tatsächlich programmiert ist und eine der Komparatorschaltungen, die der tatsächlich programmierten Speicherzelle zugeordnet ist, veranlasst, ein Programmierergebnis davon mit dem erwarteten Datenwert, der durch das normale Programmieren gewonnen wird, zu verifizieren.
  20. Halbleiterbauelement nach Anspruch 19, wobei: die Steuereinheit eine Speicherzelle in einem gelöschten Zustand vor dem Programmieren ermittelt, wobei die Speicherzelle durch ein externes Eingangssignal als zu programmierend gekennzeichnet ist; und das Halbleiterbauelement ferner eine Schaltung umfasst, welche die erwarteten Datenwerte, die in der flüchtigen Speicherschaltung gespeichert sind und mit einer Speicherzelle in einem gelöschten Zustand vor dem Programmieren verknüpft sind, in die erwarteten Datenwerte ändert, die durch das normale Programmieren gewonnen werden, und welche die erwarteten Datenwerte, die auf diese Weise geändert sind, zu einer der Komparatorschaltungen ausgibt.
  21. Halbleiterbauelement nach einem der Ansprüche 16 oder 19, wobei die Steuerschaltung von außen ein Befehlssignal erhält, das angibt, ob jede Speicherzelle programmiert werden soll, und eine Speicherzelle, die tatsächlich zu programmieren ist, erkennt, indem bestimmt wird, ob die zu programmierende Speicherzelle in einem gelöschten Zustand ist.
  22. Halbleiterbauelement nach Anspruch 16 oder Anspruch 19, wobei die Steuereinheit eine Adressinformation, die extern zugeführt wird, dekodiert, um eine zu programmierende Speicherzelle zu erkennen, wobei die Steuereinheit eine tatsächlich zu programmierende Speicherzelle erkennt, indem bestimmt wird, ob die zu programmierende Speicherzelle in einem gelöschten Zustand ist.
  23. Halbleiterbauelement nach Anspruch 16 oder Anspruch 19, wobei die Steuereinheit zu einer Schnittstelle, die eine zu programmierende Speicherzelle kennzeichnet, in Reaktion auf ein Modusumschaltsignal, das extern zugeführt wird, wechselt.
  24. Halbleiterbauelement nach Anspruch 15 oder Anspruch 18, wobei die Verifizierschaltung gemeinsam für das Verifizieren nach dem Programmieren des Speicherzellenarrays, das die Betriebseinstellinformation enthält, und für das Verifizieren nach dem Programmieren eines regulären Zellenarrays, das die regulären Daten enthält, verwendet wird.
  25. Halbleiterbauelement nach Anspruch 16 oder Anspruch 19, wobei die Komparatorschaltungen die erwarteten Datenwerte, die durch das normale Programmieren erhalten werden, mit Daten, die aus den Speicherzellen nach dem Programmieren gewonnen werden, in Reaktion auf ein Modussignal zum Umschalten eines Betriebsmodus auf das Programmieren des Zellenarrays, das die Betriebseinstellinformation enthält, vergleichen.
  26. Halbleiterbauelement nach Anspruch 19, wobei: die Komparatorschaltungen Ausgangssignale der flüchtigen Speicherschaltung zum Zeitpunkt des Programmierens des Zellenarrays, das die Betriebseinstellinformation enthält, verwenden; und die Komparatorschaltungenausgangssignale einer Schaltung, die die erwarteten Datenwerte speichert, die durch das normale Programmieren der Speicherzelle erhalten werden, beim Programmieren einer regulären Zelle verwendet.
  27. Verfahren zum Verifizieren eines Zellenarrays, das Betriebseinstellinformation für ein Halbleiterbauelement enthält, wobei das Verfahren den Schritt umfasst: Verifizieren eines Programmierergebnisses ausschließlich jener Speicherzellen von den Speicherzellen in dem Zellenarray, die tatsächlich programmiert sind.
  28. Verfahren zum Verifizieren eines Zellenarrays, das Betriebseinstellinformation für ein Halbleiterbauelement enthält, wobei das Verfahren die Schritte umfasst: Verifizieren einer Speicherzelle, die nicht programmiert ist mit Daten, die in der Speicherzelle vor dem Programmieren gespeichert sind; und Verifizieren einer weiteren Speicherzelle, die tatsächlich programmiert ist, mit erwarteten Datenwerten, die durch das normale Programmieren gewonnen werden.
DE112005003436.4T 2005-01-27 2005-01-27 Halbleiterbauelement, Adressenzuordnungsverfahren und Verifizierungsverfahren Active DE112005003436B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/001083 WO2006080063A1 (ja) 2005-01-27 2005-01-27 半導体装置、アドレス割り付け方法及びベリファイ方法

Publications (2)

Publication Number Publication Date
DE112005003436T5 true DE112005003436T5 (de) 2007-12-13
DE112005003436B4 DE112005003436B4 (de) 2017-05-18

Family

ID=36740098

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005003436.4T Active DE112005003436B4 (de) 2005-01-27 2005-01-27 Halbleiterbauelement, Adressenzuordnungsverfahren und Verifizierungsverfahren

Country Status (7)

Country Link
US (3) US7433219B2 (de)
JP (1) JP4944763B2 (de)
CN (1) CN101111900B (de)
DE (1) DE112005003436B4 (de)
GB (1) GB2436272B (de)
TW (2) TWI529717B (de)
WO (1) WO2006080063A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006038678A1 (de) * 2006-08-17 2008-02-21 Bayerische Motoren Werke Ag Verfahren zur Vergabe von Adressen an die Speicherzellen eines wiederaufladbaren Energiespeichers
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
US7948802B2 (en) 2007-12-04 2011-05-24 Micron Technology, Inc. Sensing memory cells
US7895404B2 (en) * 2008-02-14 2011-02-22 Atmel Rousset S.A.S. Access rights on a memory map
KR101115637B1 (ko) 2009-06-30 2012-03-05 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 이의 동작 방법
JP5712681B2 (ja) * 2011-03-04 2015-05-07 富士通セミコンダクター株式会社 半導体記憶装置
KR101984796B1 (ko) 2012-05-03 2019-06-03 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20150078165A (ko) * 2013-12-30 2015-07-08 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR102496678B1 (ko) * 2016-02-19 2023-02-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
JP6473733B2 (ja) * 2016-12-13 2019-02-20 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置およびその動作設定方法
TWI708253B (zh) * 2018-11-16 2020-10-21 力旺電子股份有限公司 非揮發性記憶體良率提升的設計暨測試方法
KR102587962B1 (ko) 2019-06-25 2023-10-11 삼성전자주식회사 탐색 회로, 이를 포함하는 해머 어드레스 관리 회로 및 메모리 시스템

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6473435A (en) * 1987-09-16 1989-03-17 Hitachi Ltd Semiconductor integrated circuit device
JP3448051B2 (ja) * 1990-03-31 2003-09-16 株式会社東芝 不揮発性半導体記憶装置
JP2647321B2 (ja) 1991-12-19 1997-08-27 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた記憶システム
JP3178914B2 (ja) * 1992-10-14 2001-06-25 株式会社東芝 半導体ファイル装置
JPH06349285A (ja) * 1993-06-08 1994-12-22 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JPH0778106A (ja) * 1993-09-08 1995-03-20 Hitachi Ltd データ処理システム
US5818771A (en) 1996-09-30 1998-10-06 Hitachi, Ltd. Semiconductor memory device
JPH10214489A (ja) * 1997-01-31 1998-08-11 Kawasaki Steel Corp 連想メモリ
TW419828B (en) * 1997-02-26 2001-01-21 Toshiba Corp Semiconductor integrated circuit
JP3730381B2 (ja) * 1997-10-21 2006-01-05 株式会社東芝 半導体記憶装置
JP3093723B2 (ja) * 1998-04-22 2000-10-03 日本電気アイシーマイコンシステム株式会社 半導体集積回路
US6222779B1 (en) * 1998-04-24 2001-04-24 Kabushiki Kaisha Toshiba Semiconductor storage device with automatic write/erase function
JPH11306007A (ja) * 1998-04-24 1999-11-05 Nec Corp Bios書き換え方法及び方式
US6005790A (en) * 1998-12-22 1999-12-21 Stmicroelectronics, Inc. Floating gate content addressable memory
JP3779480B2 (ja) * 1999-02-10 2006-05-31 Necエレクトロニクス株式会社 半導体記憶装置
JP4034923B2 (ja) * 1999-05-07 2008-01-16 富士通株式会社 半導体記憶装置の動作制御方法および半導体記憶装置
KR100674454B1 (ko) 2000-02-16 2007-01-29 후지쯔 가부시끼가이샤 비휘발성 메모리
US6240040B1 (en) * 2000-03-15 2001-05-29 Advanced Micro Devices, Inc. Multiple bank simultaneous operation for a flash memory
JP4535563B2 (ja) * 2000-04-28 2010-09-01 ルネサスエレクトロニクス株式会社 半導体記憶装置
US6614685B2 (en) * 2001-08-09 2003-09-02 Multi Level Memory Technology Flash memory array partitioning architectures
JP2003157680A (ja) 2001-11-21 2003-05-30 Sony Corp 不揮発性半導体メモリ装置とその検証方法
JP3927024B2 (ja) * 2001-12-19 2007-06-06 株式会社東芝 不揮発性半導体記憶装置
KR100437461B1 (ko) * 2002-01-12 2004-06-23 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 소거, 프로그램,그리고 카피백 프로그램 방법
JP2003241730A (ja) * 2002-02-18 2003-08-29 Rohm Co Ltd 表示装置
US20030218913A1 (en) * 2002-05-24 2003-11-27 Le Binh Quang Stepped pre-erase voltages for mirrorbit erase
KR100460993B1 (ko) * 2002-12-27 2004-12-09 주식회사 하이닉스반도체 워드라인 리페어가 가능한 플래시 메모리 소자
JP4424952B2 (ja) * 2003-09-16 2010-03-03 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
KR100610006B1 (ko) * 2004-05-04 2006-08-08 삼성전자주식회사 호스트 시스템의 다중동작 지원에 적합한 메모리 구조를갖는 반도체 메모리 장치
KR101092012B1 (ko) * 2004-07-30 2011-12-09 스펜션 저팬 리미티드 반도체 장치 및 써넣기 방법
KR100702300B1 (ko) * 2005-05-30 2007-03-30 주식회사 하이닉스반도체 테스트 제어 회로를 갖는 반도체 메모리 장치
KR100823169B1 (ko) * 2007-01-25 2008-04-18 삼성전자주식회사 향상된 동작 특성을 갖는 플래시 메모리 시스템 및 그것의액세스 방법

Also Published As

Publication number Publication date
US8023341B2 (en) 2011-09-20
GB2436272A (en) 2007-09-19
CN101111900B (zh) 2011-02-16
WO2006080063A1 (ja) 2006-08-03
CN101111900A (zh) 2008-01-23
US20110026287A1 (en) 2011-02-03
TWI529717B (zh) 2016-04-11
GB0714115D0 (en) 2007-08-29
DE112005003436B4 (de) 2017-05-18
TW200632912A (en) 2006-09-16
JP4944763B2 (ja) 2012-06-06
US7433219B2 (en) 2008-10-07
JPWO2006080063A1 (ja) 2008-06-19
TW201346912A (zh) 2013-11-16
US20060209583A1 (en) 2006-09-21
TWI407440B (zh) 2013-09-01
US20080316787A1 (en) 2008-12-25
GB2436272B (en) 2011-01-19
US7813154B2 (en) 2010-10-12

Similar Documents

Publication Publication Date Title
DE112005003436B4 (de) Halbleiterbauelement, Adressenzuordnungsverfahren und Verifizierungsverfahren
DE102006001492B4 (de) Halbleiterspeicheranordnung und Verfahren zum Betreiben einer Halbleiterspeicheranordnung
DE19615956C2 (de) Ein nicht-flüchtiger, an einen DRAM-Bus anschließbarer Halbleiterspeicher und Verfahren zu dessen Betrieb
DE60129710T2 (de) Anordnung und struktur für zuverlässige dateikopieoperation für nicht-flüchtige speicher
DE102011089880B4 (de) Verfahren zum Programmieren eines Speicherblocks eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speichersystem
DE60132830T2 (de) Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE19880311B3 (de) Nichtflüchtige Speicherstruktur
DE102011085988B4 (de) Verfahren und Vorrichtungen zum Beeinflussen eines Betriebszustands eines Mehrfachpegelzelle-Speichers
DE69626792T2 (de) Elektrische löschbare und programmierbare nichtflüchtige Speicheranordnung mit prüfbaren Redundanzschaltungen
US5796653A (en) Circuit for the selection of redundant memory elements and flash EEPROM memory comprising said circuit
DE60012081T2 (de) Nichtflüchtige Halbleiterspeicheranordnung, die eine Datenleseoperation während einer Datenschreib/lösch-Operation erlaubt
DE102005063166B4 (de) Nicht-flüchtiges Speicherelement und Verfahren zur Programmierüberprüfung in einem nicht-flüchtigen Speicherelement
DE102007041845A1 (de) Verfahren zum Betreiben eines integrierten Schaltkreises mit mindestens einer Speicherzelle
DE69835635T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE112010000955T5 (de) NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung
DE112004002928T5 (de) Verfahren zum Steuern der Initialisierung eines nicht-flüchtigen Speicherbauelements und nicht-flüchtiges Speicherbauelement
DE102020105946A1 (de) Speicherzellen-fehlform-abschwächung
DE102008032235A1 (de) Nichtflüchtiges Speicherbauelement, Löschverfahren und Löschtestverfahren
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE112004003005B4 (de) Nicht-Flüchtiges Speicherbauelement
DE60102466T2 (de) Zwei-tor cam speicher für simultanen flash speicher betrieb
DE112004002857T5 (de) Halbleitervorrichtung und Steuerverfahren für diese
DE112004003009B4 (de) Nicht-flüchtiger Speicher und Verfahren zum Festlegen von Information eines Nicht-flüchtigen Speichers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: SPANSION JAPAN LTD., AIZUWAKAMATSU-SHI, JP

Free format text: FORMER OWNERS: SPANSION LLC (N.D.GES.D. STAATES DELAWARE), SUNNYVALE, CALIF., US; SPANSION JAPAN LTD., AIZUWAKAMATSU-SHI, FUKUSHIMA, JP

Owner name: INFINEON TECHNOLOGIES LLC, SAN JOSE, US

Free format text: FORMER OWNERS: SPANSION LLC (N.D.GES.D. STAATES DELAWARE), SUNNYVALE, CALIF., US; SPANSION JAPAN LTD., AIZUWAKAMATSU-SHI, FUKUSHIMA, JP

R082 Change of representative

Representative=s name: KUEMMEL, HANSJOERG, DIPL.-PHYS. DR.RER.NAT., DE