DE69726219T2 - Verfahren und Vorrichtung zur Prüfung einer Speicher-integrierten Schaltung - Google Patents

Verfahren und Vorrichtung zur Prüfung einer Speicher-integrierten Schaltung Download PDF

Info

Publication number
DE69726219T2
DE69726219T2 DE69726219T DE69726219T DE69726219T2 DE 69726219 T2 DE69726219 T2 DE 69726219T2 DE 69726219 T DE69726219 T DE 69726219T DE 69726219 T DE69726219 T DE 69726219T DE 69726219 T2 DE69726219 T2 DE 69726219T2
Authority
DE
Germany
Prior art keywords
memory
test
chip
signal
crom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69726219T
Other languages
English (en)
Other versions
DE69726219D1 (de
Inventor
Jackson Leung Sugar Land Yu-Ying
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE69726219D1 publication Critical patent/DE69726219D1/de
Publication of DE69726219T2 publication Critical patent/DE69726219T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine nichtflüchtige Speichermatrix in Form einer integrierten Schaltung wie etwa auf eine löschbare, elektrisch programmierbare Flash-Festwertspeichermatrix (Flash-EPROM-Matrix oder Flash-EEPROM-Matrix). Insbesondere bezieht sich die Erfindung auf zwei On-Chip-Steuerungsvorgänge: (a) Lebensdauertest dieser Speicher für die Programmierung, die Löschung und/oder die Verdichtung und (b) Finden der maximalen und/oder minimalen Leistungsversorgungsspannung zum Betrieb dieser Speicher.
  • Flash-EPROMs vom hier erörterten Typ sind beschrieben in: (a) "A Single Transistor EEPROM cell and its implementation in a 512K CMOS EEPROM", S. Mukherjee u. a., IEDM 1985 (S. 616–619), und außerdem erörtert im US-Patent Nr. 4.698.787 und in (b) "A 90ns 100K Erase/Program Cycle Megabit Flash Memory", V. Kynett u. a., ISSCC 1989 (S. 140–141).
  • Frühe Flashspeicher erforderten komplexe Befehle von einem Mikroprozessor und/oder -Prüfgerät auf einem separaten Chip beim Ausführen von Schreib- und Löschoperationen einschließlich der Schreib- und Löschoperationen, die während der Anfangsprüfverfahren ausgeführt werden. Statt eines einfachen Löschbefehls vom Mikroprozessor lieferte der Mikroprozessor z. B. solche Informationen wie die Länge des Löschimpulses, wobei er eine Prüfroutine zum Prüfen auf korrekte Löschung lieferte. Statt eines einfachen Prüfzyklusbefehls vom Prüfgerät gab das Prüfgerät wiederholt Schreib- und Löschoperationen an den Speicher aus. Das Prüfgerät zeichnete außerdem die Anzahl der Zyklen auf, die ein Flash-Speicher überstand. Während die Befehle für Schreib/Lösch- und Prüfoperationen geändert werden konnten, um Herstellungsänderungen unter Chips desselben Typs auszugleichen, mussten diese Änderungen von Systemanwendern oder Prüfingenieuren programmiert werden und erforderten zusätzliche Prüfzeit während der Herstellung.
  • Da sich die Flash-Speichertechnologie entwickelt und da sich die Speicherkapazität erhöht, hat die Nachfrage von Prüfingenieuren nach zunehmender Erleichterung des Prüfens, verringerter Testzeit und verringerter Testhardware zur Entwicklung von automatisierten Testbefehlen für Programmier/Löschoperaionen und für das Finden von parametrischen Daten von Flash-Speichern geführt. Autoatisierte Programmier-/Lösch- und Prüfsteuer-Befehle sind in die Schreibzustandsmaschinen- (WSM-) Architektur dieser Flash-EPROMs eingebettet. Die Codes für diese Steuerbefehle sind in einem Kontroll-Festwertspeicher (CROM) in der WSM gespeichert. Mit automatisierten in die WSM eingebetteten Programmier/Lösch- und Testbefehlen müssen die chipexternen Prüfgeräte nur einen einfachen Befehl liefern. Das heißt, das chipexterne Prüfgerät muss keine Impulsängenanweisungen und andere Informationen liefern, die notwendig sind, um die Schreib/Lösch- oder Prüfoperationen auszuführen. Die eingebetteten Schreib/Lösch- und Prüfsteuer-Befehle ermöglichen einem Speicherhersteller, On-Chip-Schreib/Lösch- und Prüfsteuer-Befehle zum Ausgleichen von Herstellungsänderungen zu erzielen.
  • Die Gestaltung eines Mikroprozessors, der alle Merkmale eines chipexternen Mikroprozessors oder Prüfgeräts aufweist, auf einem Speicherchip ist nicht praktisch, weil Speicherchips im Allgemeinen begrenzten Raum außerhalb der Speichermatrix aufweisen. Eine Mikrocode-ROM-basierte Ausführung, die maximale Flexibilität mit Hilfe einer relativ kleinen Chip-Fläche erzielt, um mehrere Prüfoperationen oder -verfahren auszuführen, ist jedoch eine Ausführung des Standes der Technik von eingebetteten Steueranweisungen. Die ROM-basierte Ausführung des Standes der Technik enthält einen Kontroll-Festwertspeicher (CROM), der Mikrobefehle und Steuerdaten enthält, einen Programmzähler-Multiplexer (PCM), um Befehle aus dem Kontroll-Festwertspeicher (CROM) auszuwählen, einen Mikrobefehlsdecodierer (MID), einen Eingangsprüf-Eingangsmultiplexer (TIM), um Steuersignale zu prüfen, ein optionales Zustandsausgaberegister (SOR), um Steuersignale zu erzeugen, und einen optionalen Unterroutinen-Stapel (SS), um Funktionsaufrufe zu ermöglichen. Eine Mikrocode-ROM-basierte Ausführung des vorangehenden Typs ist in dem US-Patent Nr. 5.359.570 und in dem US-Patent Nr. 5.491.660 beschrieben, wobei das Letztere die Basis für den Oberbegriff der Ansprüche 1 und 6 bildet.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung werden ein Verfahren, wie es in Anspruch 1 definiert ist, und eine Schaltung, wie sie in Anspruch 6 definiert ist, geschaffen.
  • Der On-Chip-gesteuerte Lebensdauertest und der parametrische Eigenschaftsprüfungstest, die in dieser Erfindung beschrieben sind, sparen Testzeit und in vielen Fällen Hardware. Beide Tests werden nach der Übertragung eines einzelnen Befehls vom Prüfgerät an den Chip automatisch auf dem Speicherchip ausgeführt. Dies verringert die Belastung des Prüfgeräts einschließlich der Verringerung der Zeit, die dafür benötigt wird, das Prüfgerät einzurichten, um den Ablauf auszuführen, und der benötigten Zeit, um den Test zu überwachen. Das heißt, die automatisierten Prüfverfahren dieser Erfindung laufen schneller, weil das On-Chip-Prüfgerät weniger extern erteilte Befehle und weniger externe Zustandsprüfungen erfordert. Die Verfahren dieser Erfindung ermöglichen, dass das externe Prüfgerät eine kleinere Anzahl von Eingabe/Ausgabe-Anschlussstiften aufweist. Weil die Testdaten intern eingerichtet werden, ohne durch eine große Anzahl von Eingabe-/Ausgabedaten-Anschlussstiften zu gehen, sind die Kosten der externen Testhardware verringert. Genauer durchläuft der Lebensdauertest, der außerdem "Autocycle"-Test genannt wird, automatisch mittels irgendeiner Kombination aus Programmierungs-, Löschungs- und/oder Verdichtungsoperationen zyklisch den Speicherchip, bis entweder ein Fehler ermittelt ist oder bis die erforderliche Anzahl der Prüfzyklen beendet ist. Der parametrische Eigenschaftsprüfungstest, der außerdem "AutoVccMax/Min"-Testbetriebsart genannt wird, bestimmt automatisch den VccMax-Wert oder den VccMin-Wert für eine Operation, welche die im Speicherchip gespeicherten Daten verwendet.
  • Der Lebensdauertest verwendet eine Mikroablaufsteuerung, die ein On-Chip-Beobachtungsregister für eingebaute Logikblöcke (BILBO) enthält, um Informationen in einem Kontroll-Festwertspeicher (CROM) zu prüfen. Die Ausgabedaten aus dem Kontroll-Festwertspeicher werden in einem BILBO-Register, das für die Verwendung als ein Zähler für einen großen Zählwert verbessert ist, zwischengespeichert. Die Mikroablaufsteuerung empfängt einen Lebensdauertest-Befehl und überwacht mit Hilfe des verbesserten Zählers die Anzahl der On-Chip-gesteuerten Lebensdauertest-Zyklen. Während des parametrischen Tests bewirkt ein On-Chip-Digital-Analog-Umsetzer schrittweise Änderungen in der Versorgungsspannung sowohl für die Datenzellen als auch für die Referenzzellen des Speichers. Die Mikroablaufsteuerung empfängt einen Parameterdatentest-Befehl und führt den Parameterdatentest aus.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Die vorliegende Erfindung wird nun beispielhaft mit Bezug auf die beigefügte Zeichnung weiter beschrieben in der:
  • 1 ein Stromlaufplan einer Speicherzellenmatrix in Teilblockform ist;
  • 2 eine Schaltung in Blockform ist, die eine Ausführungsform eines Steuerverfahrens des Standes der Technik für die Programmierung, die Löschung oder die Verdichtung der Speicherzellenmatrix zeigt;
  • 3 eine Schaltung in Blockform ist, die eine Ausführungsform eines typischen Aufbaus für die parametrische Eigenschaftsprüfung eines Speicherchips zeigt;
  • 4 ein Ablaufplan in Blockform ist, der einen beispielhaften automatisierten Lebensdauertest-Ablauf zeigt, der außerdem als die "Autocycle"-Betriebsart des Tests bekannt ist;
  • 5 eine Schaltung in Blockform ist, die eine Ausführungsform zeigt, die einen zusätzlichen Zähler durch das Modifizieren eines vorhandenen Zählers erzeugt;
  • 6 eine Schaltung in Blockform ist, die ein On-Chip-Steuerverfahren zum Finden des VccMax oder des VccMin für eine Operation, welche die in der Speicherzellenmatrix gespeicherten Daten verwendet, zeigt; und
  • 7 ein Ablaufplan in Blockform ist, der einen beispielhaften automatisierten parametrischen Eigenschaftsprüfungstest-Ablauf zeigt, der außerdem als die "AutoVccMax/Min"-Betriebsart des Tests bekannt ist.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • In 1 ist eine Beispielmatrix von Speicherzellen, die ein wesentlicher Bestandteil eines Speicherchips ist, zur Veranschaulichung der Verwendung der Verfahren dieser Erfindung gezeigt.
  • Jede Zelle ist ein Transistor 10 mit schwebendem Gate, mit einer Source 11, einem Drain 12, einem schwebenden Gate 13, einem Steuergate 14. Jedes der Steuergates 14 in einer Zeile von Zellen 10 ist mit einer Wortleitung 15 verbunden, und jede der Wortleitungen 15 ist mit einem Wortleitungsdecodierer 16 verbunden. Jede der Sources 11 in einer Reihe von Zellen 10 ist mit einer Source-Leitung 17 verbunden. Jeder der Drains 12 in einer Spalte von Zellen 10 ist mit einer Drainspalten-Leitung 18 verbunden. Jede der Source-Leitungen 17 ist über eine gemeinsame Spalten-Leitung 17a mit einem Spaltendecodierer 19 verbunden, und jede der Drainspalten-Leitungen 18 ist mit dem Spaltendecodierer 19 verbunden.
  • In der Lesebetriebsart dient der Wortleitungsdecodierer 16 dazu, in Reaktion auf Wortleitungs-Adressensignale auf den Leitungen 20R und auf Signale von der Lese/Schreib/Lösch-Steuerschaltung 21 (oder von dem Mikroprozessor 21) eine im Voraus gewählte positive Spannung Vcc (ca. +5 V) an die ausgewählte Wortleitung 15 anzulegen und eine niedrige Spannung (Erde oder Vss) an die inaktivierten Wortleitungen 15 anzulegen. Der Spaltendecodierer 19 dient dazu, eine im Voraus gewählte positive Spannung Vsen (ca. +1 V) wenigstens an die ausgewählte Drainspalten-Leitung 18 anzulegen und eine niedrige Spannung (0 V) an die Source-Leitung 17 anzulegen. Der Spaltendecodierer 19 dient außerdem dazu, die ausgewählte Drainspalten-Leitung 18 der ausgewählten Zelle 10 in Reaktion auf Signale auf den Adressenleitungen 20R mit dem DATEN-EINGANGS/AUS-GANGS-Anschluss 22 zu verbinden. Der leitende oder nicht leitende Zustand der Zelle 10, die mit der ausgewählten Drainspalten-Leitung 18 und mit der ausgewählten Wortleitung 15 verbunden ist, wird von einem (nicht gezeigten) Leseverstärker ermittelt, der mit dem DATEN-EINGANGS/AUSGANGS-Anschluss 22 verbunden ist.
  • Während einer Flash-Löschbetriebsart dient der Spaltendecodierer 19 dazu, alle Drainspalten-Leitungen 18 schwebend zu lassen (verbunden mit einer hohen Impedanz wie etwa mit einem Feldeffekttransistor, der im "AUS"-Zustand vorgespannt ist). Der Wortleitungsdecodierer 16 dient dazu, alle Wortleitungen 15 mit Vss zu verbinden, die Erde oder 0 V sein kann. Der Spaltendecodierer 19 dient außerdem dazu, eine positive Spannung Vee (ca. +10 V bis +15 V) an alle Source-Leitungen 17 anzulegen. Diese Löschspannungen erzeugen eine ausreichende Feldstärke über der Gate-Oxid-Zone, um einen Fowler-Nordheim-Tunnelstrom zu erzeugen, der Ladung aus dem schwebenden Gate 13 überträgt und die Speicherzelle 10 löscht. Da das Potential an der Wortleitung 15 bei der Vergleichsspannung Vss liegt, bleibt die Zelle 10 während des Löschens im nicht leitenden Zustand. Übermäßig gelöschte Zellen werden von einem mehrerer Verdichtungsverfahren korrigiert.
  • In einer Schreib- oder Programmierbetriebsart kann der Wortleitungsdecodierer 16 dazu dienen, in Reaktion auf Wortleitungs-Adressensignalen in den Befehlszeilen 20R und auf Signale von der Lese/Schreib/Lösch-Steuerschaltung 21 (oder vom Mikroprozessor 21) eine im Voraus gewählte erste Programmierspannung Vpp (ca. +12 V) an die ausgewählte Wortleitung 15 zu leiten, die ein ausgewähltes Steuergate 14 enthält. Der Spaltendecodierer 19 dient außerdem dazu, eine zweite Programmierspannung Vb1 (ca. +5 bis +10 V) an eine ausgewählte Drainspalten-Leitung 18 und folglich an den Drain 12 der ausgewählten Zelle 10 zu leiten. Die Source-Leitungen 17 sind mit dem Referenzpotential Vss, das Erde sein kann, verbunden. Alle nicht ausgewählten Drainspalten-Leitungen 18 sind mit dem Referenzpotential Vss verbunden oder schwebend. Diese Programmierspannungen erzeugen einen Hochstrom- (Drain 12 bis Source 11) Zustand in dem Kanal der ausgewählten Speicherzelle 10, was nahe dem Drainkanalübergang zu der Erzeugung von heißen Kanalelektronen und Lawinendurchbruchelektronen führt, die über das Kanaloxid in das schwebende Gate 13 der ausgewählten Zelle 10 eingespeist werden. Die Programmierzeit wird ausreichend lang ausgewählt, um das schwebende Gate 13 mit einer negativen Programmierladung von etwa –2 V bis –6 V in Bezug auf den Kanalbereich (mit dem Steuergate 14 bei 0 V) zu programmieren. Bei den in Übereinstimmung mit der Beispielausführungsform hergestellten Speicherzellen 10 ist der Kopplungskoeffizient zwischen einem Steuergate 14/einer Wortleitung 15 und einem schwebenden Gate 13 etwa 0,6. Deshalb ordnet eine Programmierspannung Vpp von 12 V, z. B. an einer ausgewählten Wortleitung 15, die das ausgewählte Steuergates 14 enthält, eine Spannung etwa +7,2 V auf dem ausgewählten schwebenden Gate 13 an. Die Spannungsdifferenz zwischen dem schwebenden Gate 13 (bei ca. +7,2 V) und der geerdeten (ca. 0 V) Source-Leitung 17 ist ungenügend, einen Fowler-Nordheim-Tunnelstrom über das Gate-Oxid zwischen der Source 11 und dem schwebendem Gate 13 zu bewirken, um das schwebende Gate 13 einer ausgewählten oder nicht ausgewählten Zelle 10 zu laden. Das schwebende Gate 13 der ausgewählten Zelle 10 wird mit während des Programmierens eingespeisten heißen Elektronen geladen, und die Elektronen wiederum machen den Source-Drain-Weg unter dem schwebenden Gate 13 der ausgewählten Zelle 10 mit +5 V an seinem Steuergate nicht leitend, ein Zustand, der als ein "Null"-Bit gelesen wird. Die nicht programmierten Zellen 10 weisen unter dem schwebenden Gate 13 Source-Drain-Wege, die mit +5 V an ihren Steuergates leitend sind, auf, wobei diese Zellen 10 als "Eins"-Bits gelesen werden.
  • Zweckmäßigkeitshalber ist unten in der TABELLE I eine Tabelle von Lese-, Schreib- und Löschspannungen angegeben:
  • Figure 00080001
  • 2 zeigt eine Ausführungsform des Standes der Technik der Schaltungsanordnung, die in dem US-Patent Nr. 5.491.660 für die Steuerung der Programmierung, der Löschung oder der Verdichtung der in 1 gezeigten Speicherzellenmatrix beschrieben ist, in Blockschaltbildform. Die Schaltung der 2 enthält Folgendes:
    • a) Einen Mikroprogramm-Festwertspeicher oder Kontroll-Festwertspeicher CROM. Der Mikroprogramm-ROM CROM kann eine nichtflüchtige Matrix aus löschbaren Zellen 10 oder eine andere Art einer nichtflüchtigen Matrix sein. Die Ausgänge des CROM, die durch die Beobachtungsregister für eingebaute Logikblöcke gehen, die nachfolgend beschrieben werden, werden für die Mikrosteuerung und für das Steuern des internen Schaltungsbetriebs des Flash-EPROMs aus 1 verwendet.
    • b) Beobachtungsregister für eingebaute Logikblöcke (BILBO). Die BILBO-Register werden verwendet, um zu prüfen, ob die Informationen im Mikroprogrammspeicher richtig sind, und um Ausgabedaten aus dem CROM zwischenzuspeichern. Die BILBO-Register sind als ein Zähler und/oder als eine Schiebeeinrichtung verwendbar. Die zwischengespeicherten Ausgabedaten enthalten z. B. Ausgaben, welche die Aktivierung oder Deaktivierung der Hochspannungsschaltungen auf dem Chip, den Befehl des Adressenzählers und die Decodierschaltungsanordnung sowie die Aktivierung der Datenvergleichsschaltungsanordnung angeben.
    • c) Eine Mikroablaufsteuerungs-Schaltung (MC). Die Mikroablaufsteuerungs- (MC) Schaltung enthält einen Programmzähler PC; einen Inkrementierer INC; einen Programmzähler-Multiplexer PCM; einen Mikrobefehlsdecodierer MID; einen Testeingangs-Multiplexer TIM; einen Unterroutinen-Stapel SS, der einen ersten Stapelmultiplexer SMUX1, ein erstes Stapelregister SREG1, einen zweiten Stapelmultiplexer SMUX0 und ein zweites Stapelregisters SREG0 enthält; und ein Zustandsausgaberegister (SOR).
  • Der Programmzähler PC enthält die Adresse des momentan adressierten Mikrocodeworts.
  • Der Inkrementierer INC nimmt den momentanen Wert des Programmzählers PC und erzeugt aus ihm die nächste Mikrocode-Adresse.
  • Der Programmzähler-Multiplexer PCM dieses Beispiels ist ein Drei-zu-Eins-Multiplexer. Unter der Steuerung des (im nächsten Absatz beschriebenen) Mikrobefehlsdecodierers (MID) wählt der Programmzähler-Multiplexer PCM den Mikroprogrammspeicher CROM, entweder ein Feld aus dem momentanen Mikrocodewort (dem momentanen Wert des zweiten Stapelregisters SREG0) oder aus dem Inkrementierer INC, als die Adresseingabe aus.
  • Der Mikrobefehlsdecodierer (MID) decodiert das Operationscodefeld des Mikrocodeworts aus dem Testeingangs-Multiplexer TIM und andere Eingaben. Der MID steuert den Eingangszustand des Programmzähler-Multiplexers PCM, des ersten Stapelmultiplexers SMUX1, des zweiten Stapelmultiplexers SMUX0 und des Zustandsausgaberegisters SOR.
  • Der Testeingangs-Multiplexer TIM wählt eine von n Eingaben (z. B. 32 Eingaben) aus, um auf bedingte Verzweigungsbefehle zu testen.
  • Der Unterroutinen-Stapel SS enthält einen ersten Stapelmultiplexer SMUX1, ein erstes Stapelregister SREG1, einen zweiten Stapelmultiplexer SMUX0 und ein zweites Stapelregister SREG0. Der Unterroutinen-Stapel SS ermöglicht die Verschachtelung von Unterroutinen-Aufrufen der Tiefe zwei.
  • Das Zustandsausgaberegister SOR ist z. B. ein Dreizehn-Bit-Register, dessen Bits gesetzt oder gelöscht werden können.
  • Die Eingaben T1–Tn in den Testeingangs-Multiplexer TIM sind Prüfbedingungseingaben von einer weiteren Logikschaltungsanordnung auf dem Chip, wobei die weitere Logikschaltungsanordnung durch die Eingabe von einem Off-Chip-Mikroprozessor ausgelöst wird.
  • Die Ausgaben aus dem Zustandsausgaberegister SOR enthalten z. B. Ausgaben zum Mikroablaufsteuerungs-Zustand (durchgeführt oder nicht), für einen Überlagerungsblock, für einen Programmier/Lösch-Fehler, für den Haltetakt, für die Spaltenwahl, für den Sektorinkrementierungszähler, für die Zeitgeberüberschreibung, für den Inkrementzähler, für die Signatureinstell-Testbetriebsart, für die Überschreibung des Impulszeitgebers durch einen externen Takt, für das Erzwingen einer zeilenredundanten Anpassung, für das Erzwingen einer spaltenredundanten Anpassung, für die Bit- oder Byteauswahl-Korrektur und für den Zugriff auf den Überlagerungsblock.
  • Wenn der Kontroll-Festwertspeicher-CROM, die Beobachtungsregister für eingebaute Logikblöcke (BILBO) und die Mikroablaufsteuerungs-Schaltung (MC) in einen Flash-Speicherchip integriert worden sind, werden, wie in 1 beschrieben ist, die Programmier-, Lösch- und/oder Verdichtungsoperationen an der Matrix der Speicherzellen 10 durch das Programmieren eines Satzes von Mikrocodes in den Kontroll-Festwertspeicher-CROM realisiert. Im Stand der Technik gibt es jedoch keine spezielle realisierte Operation, die mit Hilfe einer Mikrocode-Vorgehensweise die Testzeit oder die Hardware verringert für: (a) den Lebens dauertest für die Programmierung, die Löschung und/oder die Verdichtung von diesen Speichern und (b) das automatische Finden des VccMax- oder VccMin-Wertes für Operationen, die in diesen Speichern gespeicherte Daten verwenden.
  • Herkömmlich wird der Lebensdauertest durch die Ausgabe eines "Vollchip"-Löschbefehls oder einer Folge von Blocklöschbefehlen an den Flash-Speicher von dem Prüfgerät bei jedem Zyklus der Programmier-, Lösch- und/oder Verdichtungsoperationen durchgeführt. Am Ende jedes Zyklus wird das Zustandsregister auf dem Flash-Speicher von dem Prüfgerät gelesen und aufgezeichnet. Wenn der Zyklus vorbeigeht, inkrementiert das Prüfgerät einen Zähler in dem Prüfgerät und erteilt einen weiteren "Vollchip"-Löschbefehl, um den Lebensdauertest fortzusetzen. Andernfalls, wenn der Chip versagt, stoppt das Prüfgerät und zeichnet aus dem Zähler die Anzahl der Operationszyklen auf, die der Flash-Speicher vor dem Fehler durchlaufen hat.
  • Ebenso wird die parametrische Eigenschaftsprüfung (das Finden) des Standes der Technik der VccMax- (der programmierten) oder der VccMin- (der gelöschten) Daten, die in den Speicherzellen 10 gespeichert sind, mit Hilfe des Prüfgeräts, das alle Adressen der Speicherzellen 10 durchläuft, vollständig "extern" gegenüber dem Chip durchgeführt. 3 zeigt einen typischen Aufbau für die parametrische Eigenschaftsprüfung eines Speicherchips. Das externe Prüfgerät EXTEST liefert die Versorgungsspannungsquelle Vcc mit 0,1 V-Schritten, z. B. entweder "nach oben" für das Finden von VccMax (z. B. 5,0 V, 5,1 V, 5,2 V ...) für die programmierten Daten, oder "nach unten" für das Finden von VccMin (z. B. 5,0 V, 4,9 V, 4,8 V, ...) für die gelöschten Daten, wobei die Daten in dem Flash-Speicherchip FMCUT im Test gespeichert werden. Bei jedem Vcc-Spannungsschritt wird der Adressraum der Speicherzellen 10 durchschritten, um die Daten zu lesen. Der Test hält an, wenn irgendwelche gelesenen Daten "nicht bestehen". Ein "nicht bestandenes" Lesen gibt an, dass der momentane Vcc-Spannungspegel entweder tatsächlich der VccMax für alle in der Speichermatrix gespeicherten programmierten Daten oder der VccMin für alle in der Speichermatrix gespeicherten gelöschten Daten ist.
  • Diese Erfindung "automatisiert" sowohl den vorhergehenden Lebensdauertest als auch den vorhergehenden parametrischen Eigenschaftsprüfungstest durch das Integrieren dieser Tests in ein On-Chip-Steuerverfahren, das die Belastung des Prüfgeräts verringert und die zum Programmieren des Prüfgeräts, um den Ablauf auszuführen und um den Test zu überwachen, benötigte Zeit spart. Außerdem laufen die automatisierten Tests schneller wegen der Ausschaltung der Notwendigkeit, dass der Tester zwischen den Zyklen extern Befehle ausgibt und extern den Zustand prüft. In Fällen, wo das Prüfgerät eine begrenzte Anzahl von Eingabe/Ausgabe-Anschlussstiften aufweist, ist dieser Ansatz äußerst entscheidend, weil alle Daten intern eingerichtet werden, was die Notwendigkeit beseitigt, über die Eingabe/Ausgabe-Anschlussstifte zu leiten. Die Kosten des Bereitstellens von zusätzlichen Eingabe/Ausgabe-Anschlussstiften und der an sie angeschlossenen Schaltungsanordnung werden beseitigt.
  • 4 zeigt den automatisierten Lebensdauertest-Ablauf, der außerdem "Autocycle"-Testbetriebsart genannt wird, der in dem Kontroll-Festwertspeicher-CROM aus 2 codiert ist. Sobald der On-Chip-Controller den Befehl der "Autocycle"-Betriebsart (der entweder ein normaler Betriebsartbefehl oder ein spezieller Test-Betriebsartbefehl sein kann) empfängt, beginnt der Lebensdauertest-Ablauf zuerst mit dem Rücksetzen des Schleifenzählers RSCYCL. Die Implementierung des Zählers RSCYCL wird später beschrieben. Danach wird die Vollchip- (oder Alle-Blöcke-) Betriebsart des Tests (ENDURE), der irgendeine Kombination von Vorbedingungs-, Löschungs- und/oder Verdichtungsoperationen ist, der einen Zyklus des Lebensdauertests für die Speicherzellenmatrix darstellt, ausgeführt. Wenn der Lebensdauertest nicht bestanden wird, werden die Bereit/Belegt-Statusbits gesetzt, um damit zu bezeichnen, dass der Test erfolglos ist, und der Testablauf wird angehalten. Wenn der Lebensdauertest bestanden wird, wird der Schleifenzähler auf das Ende der Zählung (EOC) geprüft. Wenn der Zähler das Ende der Zählung (z. B. M, das vom Entwurf des Zählers vorherbestimmt ist) nicht erreicht hat, wird der Schleifenzähler um eins inkrementiert (INCYCL) und der Testablauf in die Vollchip- (oder Alle-Blöcke-) Betriebsart (ENDURE) zurückgeschleift, um mit einem weiteren Zyklus des Lebensdauertests der Speicherzellen 10 der Matrix zu beginnen. Wenn der Zähler das Ende der Zählung M erreicht, geht der Ablauf an eine Routine oder Unterroutine, welche die Anzahl der abgeschlossenen Lebensdauerzyklen aufzeichnet. Diese Unterroutine wird später, nach der Erläuterung der Auslegungs-Datenspalten und der Erklärung des Entwurfs des Schleifenzählers, beschrieben.
  • Um das automatisierte Prüfverfahren zu implementieren, ohne die Logikschaltungsanordnung auf dem Chip zu erweitern, nutzt diese Erfindung die schon verfügbaren Adressenzähler und die verfügbaren Auslegungs-Datenspalten für das Speichern der Anzahl der Zykluszahlen aus. Die Adressenzähler werden für den Zugriff auf jedes Speicherwort in den Hauptspeicherzellen 10 oder in den Auslegungs-Datenspalten verwendet. Die Auslegungs-Datenspalten, die nichtlöschbare nichtflüchtige Speicherzellen 10 sind, werden gewöhnlich für das Speichern der Auslegungs-Testdaten verwendet, die sich auf den Speicherchip beziehen. Sowohl die Verfahren für die Konstruktion von Adressenzählern und Auslegungs-Datenspalten als auch ihr Betrieb sind in diesem Gebiet wohlbekannt. Die Größe der Auslegungs-Datenspalten ist im Allgemeinen und praktisch relativ klein und ist von der Anzahl der Zeilen abhängig, welche die Hauptspeicherzellenmatrix aufweist. In dem Verfahren dieser Erfindung wird jedes Bit oder Wort der Auslegungs-Datenspalten verwendet, um eine Zählung des Lebensdauerzyklus darzustellen. Da es jedoch eine begrenzte Anzahl von Auslegungs-Datenspalten gibt, wird eine Addition des Schleiferzählers notwendigerweise verwendet, um die Anzahl (bis zu Millionen) der Lebensdauerzyklen aufzuzeichnen.
  • Diese Erfindung nutzt außerdem die schon verfügbaren Zähler aus, die normalerweise verwendet werden, um die Impulszählung zu betreiben, und die allgemein in Flash-Speichermatrizen, die eine On-Chip-Steuerschaltungsanordnung aufweisen, zu finden sind. Ein Beispiel einer derartigen Schaltungsanordnung ist das Schieberegister LFSR mit linearer Rückkopplung, das in den Beobachtungsregistern für eingebaute Logikblöcke (BILBO) zu finden ist.
  • 5 zeigt den Entwurf eines zusätzlichen Zählers durch Modifizieren eines von Strichlinien eingeschlossenen vorhandenen Zählers. Wie in 5 gezeigt ist, wird der Multiplexer MUX verwendet, um die Daten des Anfangszählstandswerts (Lm ... L1) oder des zuvor gespeicherten Werts des zusätzlichen Zählers dieser Erfindung (Pm ... P1) an den Zähler CTR zu übermitteln. Wenn der zusätzliche Zähler verwendet wird, wird entweder der Anfangszählstandswert oder der zuvor gespeicherte Wert zuerst in den Zähler geladen. Danach beginnt der Zähler mit seiner Zählfunktion. Nachdem die Zählung abgeschlossen ist, führt das Register REG eine Zwischenspeicherung des entstehenden Zählwerts für die Speicherung aus. Der gespeicherte entstehende Zählwert wird später entweder für das Nachladen in den Zähler zur ununterbrochenen Zählung oder zum Prüfen auf das Ende der Zählung verwendet. Im Allgemeinen wird ein zusätzlicher m-Bit-Zähler durch das Hinzufügen eines Satzes von m Multiplexern und Registern oder Zwischenspeichern, m Rückkopplungswegen und einem m-Bit-Zählende-Detektor erhalten, was die Steuersignale modifiziert und das Steuerungsverfahren (z. B. den Kontroll-Festwertspeicher-CROM-Code, wie zuvor erwähnt) ändert. Der Maximalzählwert des Zählers ist offensichtlich 2 hoch m (2m) oder M, das zuvor als ein Beispiel verwendet wurde.
  • Durch das Ausnutzen der Verwendung der Auslegungs-Datenspalten und der Hinzufügung eines m-Bit-Zählers sind die maximalen Lebensdauerzyklen, die aufgezeichnet werden können, das Produkt der Anzahl C der Bits oder Wörter, die in den Auslegungs-Datenspalten gespeichert sind, und des Maximalzählwerts in der Zykluszahl M. Wenn M = 1024 ist (ein 10-Bit-Zähler), sind nur 1024 (1 K) Bits oder Wörter ausreichend für eine Zykluszahl von einer Million.
  • Jetzt wird die Routine oder Unterroutine, die in 4 gezeigt ist, für das Aufzeichnen der Anzahl der Zählungen aller M-Lebensdauerzyklen, welche die Adressenzähler und die Auslegungs-Datenspalten verwenden, erläutert. Jedes Mal, wenn der Schleifenzähler das Ende der Zählung (EOC) erreicht, werden die Adressenzähler, die für das Adressieren der Auslegungs-Datenspalten verwendet werden, auf Null zurückgesetzt (RESNGR). Der Zustand der Auslegungs-Datenspaltenzelle oder -zellen 10 der momentanen Adresse wird geprüft (BITCK). Wenn die Zelle 10 programmiert ist, prüfen die Adressenzähler auf das Ende der Zählung (AEOC). Wenn das Ende der Adresszählung erreicht worden ist, wird das Bereit-Statusbit gesetzt, um damit zu bezeichnen, dass der Testablauf erfolgreich abgeschlossen worden ist, und anschließend wird der Test angehalten. Wenn das Ende der Adresszählung nicht erreicht worden ist, werden die Adressenzähler inkrementiert (INCADR), wobei der Zustand der Auslegungs-Datenspaltenzelle oder -zellen 10 der momentanen Adresse erneut geprüft wird. Wenn die Auslegungs-Datenspaltenzelle 10 der mamentanen Adresse in einem gelöschten (nicht programmierten) Zustand ist, wird sie programmiert (PGMENG), wobei der Testablauf zum Rücksetzen der Zykluszahl RSCYCL zurückkehrt und weitergeht. Es wird angemerkt, dass in allen Flash-Speicherentwürfen, die eine On-Chip-Steuerung aufweisen, genau die gleichen Adressenzähler für den Zugriff der Auslegungs-Datenspalten und der Hauptspeicherzellen 10 verwendet werden, um Chip-Fläche zu sparen. Die gerade beschriebene Routine ist notwendig, da die Adressenzähler bei jedem Lebensdauerzyklus der Hauptspeicherzellen 10 zurückgesetzt werden. Sonst ist diese Routine einfach: (a) Inkrementieren der Adressenzähler, die für den Zugriff der Auslegungs-Spalten vorgesehen sind, (b) Programmieren der Auslegungs-Spaltenzellen 10 unter der momentanen Adresse, (c) Rückkehr zum Rücksetzen der Zykluszahl RSCYCL und (d) Fortsetzen des Testablaufs.
  • In dem üblichen Flash-Entwurf bestimmt die Abfrage des Statusbits (außerdem als das Bereit/Belegt-Bit bekannt) des Chips im Test, ob der Test abgeschlossen ist. Gleichfalls ist in der Autozyklus-Betriebsart die Abfrage des Bereit/Belegt-Statusbits eine Prüfung auf Fertigstellung. Nach der Fertigstellung wird das Versagen-Statusbit gelesen, um das Testergebnis zu bestimmen. Wenn das Versagen-Statusbit gesetzt ist, werden seine entsprechenden Auslegungs-Datenspalten gelesen, um die Minimalanzahl der Sätze der M Lebensdauerzyklen zu bestimmen, die vor dem Fehler abgeschlossen wurden. Wenn außerdem ein Abtasttest auf dem Chip verfügbar ist, wird der Wert des Schleifenzählers abgetastet, um die genaue Anzahl der vor dem Chipfehler abgeschlossenen Zyklen zu bestimmen. Wenn das Versagen-Statusbit nicht gesetzt ist, ist die Gesamtanzahl der abgeschlossenen Zyklen einfach die Anzahl C der Auslegungs-Datenspaltenzellen 10 für das Aufzeichnen des Tests, multipliziert mit dem Maximalzählwert M des Schleiferzählers, oder C × M. Im Fall eines Entwurfs, der keine Auslegungs-Datenspalten aufweist, wird die Konstruktion einer zusätzlichen Matrix von nichtflüchtigen Zellen 10 und der zugeordneten Logikschaltung benötigt, um die Autozyklus-Betriebsart anzupassen.
  • 6 zeigt bei dem automatischen VccMax- oder VccMin-Test, der ein parametrischer Eigenschaftsprüfungstest ist, eine On-Chip-Ausführungsform der Erfindung in einem Blockschaltplan. Dieser Test soll, wie zuvor beschrieben wurde, entweder den VccMax-Spannungspegel der programmierten Daten oder den VccMin-Spannungspegel der gelöschten Daten bestimmen, die in einem Flash-Speicherchip gespeichert sind. Wie in 6 gezeigt ist, ist der Digital-Analog-Umsetzer DAC einfach ein digital durch den On-Chip-Controller gesteuerter Generator für eine veränderliche Spannungsquelle, der auf dem Flash-Speicherchip gebaut ist. Die Konstruktion und der Betrieb dieses digital gesteuerten Generators für eine variable Spannung ist im Gebiet wohlbekannt.
  • Die in 6 gezeigte ausgegebene veränderliche Stufenspannung Vstep ist die Spannung, die an die Wortleitungen der Flash-Speicherzellen 10 und an ihre entsprechende Lese-Referenzzelle 10 angelegt wird. Anhand des Zustands einer Speicherzelle 10 und des Werts der Spannung Vstep erzeugt der Strom-Leseverstärker SENAMP das Leseergebnis entweder als "0" oder als "1". Bei dem normalen Wert von Vstep, welcher der in der TABELLE I als "Lesen" "auswählte Wortleitung" gezeigte 5-V-Wert sein kann, ist das Leseergebnis "0", wenn die Zelle 10 zuvor programmiert wird, oder ist es "1", wenn die Zelle 10 zuvor gelöscht wird. Die Lesedaten werden mit einer "0" (beim Finden von VccMax aller programmierten Zellen 10) oder mit einer "1" (beim Finden von VccMin aller gelöschten Zellen 10) in einem Komparator COMP verglichen (d. h. durch eine einfache Exklusiv-ODER-Funktion, XOR). Da Vstep, digital durch die On-Chip-Steuereinrichtung gesteuert, verschiedene Spannungspegel durchschreitet, setzt der Komparator seinen Ausgang auf "1", was angibt, dass entweder das VccMax oder das VccMin gefunden worden ist, wenn irgendein Leseergebnis gefunden wird, das von seinem Normalwert eins verschieden ist. Anschließend wird der Test angehalten und der Code, der den momentanen Vstep-Pegel (DAC-Code) darstellt, auf Wunsch durch eine Abtasttechnik oder durch Zustandsregister gelesen. Es wird angemerkt, dass der Spannungsbereich von Vstep vorher vorgegeben werden muss; andernfalls ist dieser Test bedeutungslos, wenn VccMax oder VccMin nicht in den Bereich von Vstep fällt. Die Konstruktion und der Betrieb dieses Strom-Leseverstärkers und dieses Komparators sind im Gebiet wohlbekannt.
  • 7 zeigt den Testablauf, der die in 6 gezeigten Schaltungsblöcke steuert, der die "AutoVccMax/Min"-Testbetriebsart genannt wird und der in den in 2 gezeigten Kontroll-Festwertspeicher-CROM auf dieselbe Art wie die zuvor beschriebene "Autocycle"-Testbetriebsart codiert ist. Wie in 7 gezeigt ist, beginnt der Testablauf mit dem Rücksetzen oder der Initialisierung des DAC-Codes (INITDAC), der den Spannungspegel, der an die Wortleitungen sowohl der Speicher- als auch der Referenzzellen 10 geschickt wird, steuert. Der Adressenzähler, der die Speichermatrix adressiert, wird zurückgesetzt (SETADDR), bevor aus der Speicherzelle 10 gelesen und verglichen wird (READCMP). Wenn der Vergleichsausgang auf "1" gesetzt ist, was das Finden von entweder VccMax oder VccMin angibt, hält der Testablauf an, nachdem der DAC-Code an das Zustandsregister ausgegeben ist oder im momentanen Register bleibt und auf eine spätere Abtastung (OUTDAC) wartet. Andernfalls wird der Adressenzähler geprüft, um zu sehen, ob die letzte Speicherzelle 10 gelesen wird. Wenn nicht die letzte Zelle gelesen wird, wird der Adressenzähler (INCADR) inkrementiert und die nächste Speicherzelle 10 gelesen und verglichen. Wenn die letzte Zelle 10 gelesen wird, wird der DAC-Code geprüft. Wenn der DAC-Code entweder den Maximal- oder den Minimalpegel erreicht hat, wird der Ablauf angehalten, was angibt, dass der VccMax- oder VccMin-Wert außerhalb des vorgegebenen Bereichs liegt oder dass ein Lesefehler (OUTERR) vorliegt. Wenn der DAC den Maximal- oder Minimalpegel nicht erreicht hat, wird der DAC-Code inkrementiert oder dekrementiert, um den Vstep-Pegel zu ändern (CHGDAC), und der Adressenzähler wird zurückgesetzt. Alle Speicherzellen 10 werden mit dem neuen Vstep-Pegel erneut gelesen und verglichen, wobei dies fortgesetzt wird, bis VccMax oder VccMin gefunden ist oder bis ein Fehler auftritt.
  • Beide in dieser Erfindung erwähnten Testverfahren sind für jede Vorrichtung nützlich, die eingebettete Steueranweisungen zum Betrieb aufweist und die ununterbrochene Lebensdauertests und parametrische Tests erfordert.
  • Während diese Erfindung in Bezug auf eine veranschaulichende Ausführungsform beschrieben wurde, soll diese Beschreibung nicht als einschränkend ausgelegt werden. Insbesondere ist diese Erfindung bei der Verwendung mit Spannungsversorgungen anwendbar, die Spannungsausgänge aufweisen, die von den hierin verwendeten Beispielen verschieden sind. Anhand dieser Beschreibung sind für den Fachmann auf dem Gebiet sowohl verschiedene Änderungen der veranschaulichenden Ausführungsform als auch weitere Ausführungsformen der Erfindung offensichtlich.

Claims (10)

  1. Verfahren zum Überwachen der Anzahl von On-Chip-Tests bestimmten Typs auf einer Speichermatrix in Reaktion auf Mikrocodes von einer externen Quelle (T1, ..., Tn), wobei das Verfahren umfasst: Programmieren von Befehlen zum sequenziellen Ausführen der On-Chip-Tests in einem Kontroll-Festwertspeicher (CROM); und Vorsehen einer Mikroablaufsteuerung (MC), um in Reaktion auf die Mikrocodes von der externen Quelle die Anzahl der On-Chip-Tests der Speichermatrix entsprechend den in dem Kontroll-Festwertspeicher (CROM) programmierten Befehlen zu überwachen, wobei die Mikroablaufsteuerung einen Test-Multiplexer (TIM) enthält, der Mikrocodes von der externen Quelle empfängt und ein erstes Signal in einen Befehlsdecodierer (MID) eingibt; wobei der Befehlsdecodierer außerdem einen Operationscode von dem Kontroll-Festwertspeicher (CROM) empfängt und einen Unterroutinen-Stapel (SS) steuert, der einen Programmzähler-Multiplexer (PCM) enthält, der den Operationscode, ein zweites Signal von dem Unterroutinen-Stapel (SS) sowie ein drittes Signal von einem Inkrementierer (INC) empfängt, wobei der Programmzähler-Multiplexer (PCM) an den Kontroll-Festwertspeicher ein viertes Signal liefert, wobei der Inkrementierer (INC) das vierte Signal von dem Programmzähler-Multiplexer entgegennimmt und anhand des vierten Signals das dritte Signal als eine nächste Mikrocode-Adresse erzeugt; wobei die Mikroablaufsteuerung (MC) außerdem Beobachtungsregister für eingebaute Logikblöcke (BILBO) enthält, die über erste Eingangsmittel mit dem Kontroll-Festwertspeicher (CROM) verbunden sind, um den Mikrocode darin zu prüfen und die Ausgangsdaten hiervon zwischenzuspeichern; dadurch gekennzeichnet, dass das Verfahren ferner umfasst: Verbinden der Beobachtungsregister für eingebaute Logikblöcke (BILBO) über zweite Eingangsmittel (SCAN IN) mit der externen Quelle (T1, ..., Tn), um einen Anfangszählstand und ein Signal von der externen Quelle zu empfangen und dadurch die Beobachtungsregister für eingebaute Logikblöcke (BILBO) als einen m-Bit-Zähler und einen separaten Zählende-Detektor zu betreiben, wobei der m-Bit-Zähler Zählinformationen an den separaten Zählende-Detektor und an den Programmzähler-Multiplexer (PCM) sendet und wobei der separate Zählende-Detektor einen Abtastausgang liefert.
  2. Verfahren nach Anspruch 1, das ferner das Bereitstellen einer nichtflüchtigen Speichermatrix umfasst.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, das ferner das Bereitstellen einer Kontroll-Festwertspeichermatrix, die eine maskenprogrammierbare nichtflüchtige Speichermatrix ist, umfasst.
  4. Verfahren nach einem vorhergehenden Anspruch, bei dem der Schritt des Überwachens eines On-Chip-Tests bestimmten Typs das Überwachen eines Lebensdauertests umfasst.
  5. Verfahren nach einem vorhergehenden Anspruch, bei dem der Schritt des Überwachens eines On-Chip-Tests bestimmten Typs das Überwachen eines parametrischen Tests umfasst.
  6. Schaltung zum Überwachen der Anzahl von On-Chip-Tests bestimmten Typs einer Speichermatrix in Reaktion auf Mikrocodes von einer externen Quelle (T1, ..., Tn), mit einem Kontroll-Festwertspeicher (CROM) zum Speichern von Befehlen zum Ausführen der On-Chip-Tests; und einer Mikroablaufsteuerung (MC), die in Reaktion auf die Mikrocodes von der externen Quelle die Überwachung der Anzahl von On-Chip-Tests der Speichermatrix in Übereinstimmung mit in dem Kontroll-Festwertspeicher (CROM) programmierten Befehlen ausführt, wobei die Mikroablaufsteuerung einen Test-Multiplexer (TIM) enthält, der Mikrocodes von der externen Quelle empfängt und ein erstes Signal in einen Befehlsdecodierer (MID) eingibt; wobei der Befehlsdecodierer außerdem einen Operationscode von dem Kontroll-Festwertspeicher (CROM) empfängt und einen Untenoutinen-Stapel (SS) steuert, der einen Programmzähler-Multiplexer (PCM) enthält, der ein zweites Signal von dem Untenoutinen-Stapel (SS) und ein drittes Signal von einem Inkrementierer (INC) empfängt, wobei der Programmzähler-Multiplexer (PCM) an den Kontroll-Festwertspeicher ein viertes Signal liefert; wobei der Inkrementierer (INC) das vierte Signal entgegennimmt und das dritte Signal als eine nächste Mikrocode-Adresse erzeugt; wobei die Mikroablaufsteuerung (MC) außerdem Beobachtungsregister (BILBO) für eingebaute Logikblöcke enthält, die über erste Eingangsmittel mit dem Kontroll-Festwertspeicher (CROM) verbunden sind, um den Mikrocode darin zu prüfen und die Ausgangsdaten hiervon zwischenzuspeichern, dadurch gekennzeichnet, dass die Beobachtungsregister (BILBO) für eingebaute Logikblöcke zweite Eingangsmittel (SCAN IN) umfassen, die die Beobachtungsregister (BILBO) für eingebaute Logikblöcke mit der externen Quelle (T1, ..., Tn) verbinden, um von der externen Quelle Signale zu empfangen und um einen Anfangszählstand zu empfangen, wobei die Beobachtungsregister (BILBO) für eingebaute Logikblöcke dadurch als ein m-Bit-Zähler und als ein separater Zählende-Detektor betrieben werden, wobei der m-Bit-Zähler Zählinformationen an den separaten Zählende-Detektor sendet und der separate Zählende-Detektor einen Abtastausgang liefert.
  7. Schaltung nach Anspruch 6, bei der die Tests bestimmten Typs einen Lebensdauertest umfassen.
  8. Schaltung nach Anspruch 6, bei der die Tests bestimmten Typs einen Parameterdatentest umfassen.
  9. Schaltung nach einem der Ansprüche 6 bis 8, bei dem die Speichermatrix eine nichtflüchtige Speichermatrix ist.
  10. Verfahren nach einem der Ansprüche 6 bis 9, bei dem die Kontroll-Festwertspeichermatrix eine maskenprogrammierbare nichtflüchtige Speichermatrix ist.
DE69726219T 1996-06-07 1997-06-06 Verfahren und Vorrichtung zur Prüfung einer Speicher-integrierten Schaltung Expired - Fee Related DE69726219T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/659,811 US5675546A (en) 1996-06-07 1996-06-07 On-chip automatic procedures for memory testing
US659811 1996-06-07

Publications (2)

Publication Number Publication Date
DE69726219D1 DE69726219D1 (de) 2003-12-24
DE69726219T2 true DE69726219T2 (de) 2004-09-02

Family

ID=24646940

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69726219T Expired - Fee Related DE69726219T2 (de) 1996-06-07 1997-06-06 Verfahren und Vorrichtung zur Prüfung einer Speicher-integrierten Schaltung

Country Status (6)

Country Link
US (1) US5675546A (de)
EP (1) EP0811989B1 (de)
JP (1) JPH1083700A (de)
KR (1) KR980006434A (de)
DE (1) DE69726219T2 (de)
TW (1) TW324825B (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923602A (en) * 1998-03-19 1999-07-13 Xilinx, Inc. Method for testing floating gate cells
US6151693A (en) * 1998-06-19 2000-11-21 Lucent Technologies, Inc. Automated method of burn-in and endurance testing for embedded EEPROM
KR100296327B1 (ko) 1998-12-23 2001-08-07 박종섭 플래쉬 메모리 장치의 테스트 회로 및 테스트 방법
EP1128391A1 (de) * 2000-02-22 2001-08-29 STMicroelectronics S.r.l. Verfahren und Schalterkreisarchitekur zur Prüfung einer integrierten Schaltung mit einem programmierbaren, nicht-flüchtigen Speicher
JP2001291385A (ja) * 2000-04-05 2001-10-19 Nec Corp 半導体記憶装置並びにその試験装置および試験方法
JP2002298590A (ja) 2001-03-30 2002-10-11 Fujitsu Ltd 不揮発性半導体記憶装置及び不揮発性半導体記憶装置の消去方法
US6966016B2 (en) * 2001-04-16 2005-11-15 Advanced Micro Devices, Inc. System and method for erase test of integrated circuit device having non-homogeneously sized sectors
US7127550B1 (en) * 2001-10-31 2006-10-24 Sandisk Corporation Multi-module simultaneous program, erase test, and performance method for flash memory
US20040049724A1 (en) * 2002-07-22 2004-03-11 Colin Bill Built-in-self-test (BIST) of flash memory cells and implementation of BIST interface
JP2005534131A (ja) * 2002-07-22 2005-11-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド フラッシュメモリセルの組込み自己試験
US7046555B2 (en) * 2003-09-17 2006-05-16 Sandisk Corporation Methods for identifying non-volatile memory elements with poor subthreshold slope or weak transconductance
US7321482B2 (en) 2004-03-19 2008-01-22 Hewlett-Packard Development Company, L.P. Sub-circuit voltage manipulation
US7395466B2 (en) * 2005-12-30 2008-07-01 Intel Corporation Method and apparatus to adjust voltage for storage location reliability
US7254071B2 (en) * 2006-01-12 2007-08-07 Sandisk Corporation Flash memory devices with trimmed analog voltages
US7457178B2 (en) * 2006-01-12 2008-11-25 Sandisk Corporation Trimming of analog voltages in flash memory devices
US7580288B2 (en) * 2006-05-24 2009-08-25 Freescale Semiconductor, Inc. Multi-level voltage adjustment
KR100931023B1 (ko) 2007-11-02 2009-12-10 주식회사 하이닉스반도체 반도체 메모리 장치
KR101062756B1 (ko) * 2009-07-30 2011-09-06 주식회사 하이닉스반도체 테스트 모드 신호 생성 장치
KR20120070408A (ko) * 2010-12-21 2012-06-29 에스케이하이닉스 주식회사 블록을 관리하는 비휘발성 메모리 장치의 제어 방법
US8775888B2 (en) * 2012-03-30 2014-07-08 Lsi Corporation Methods and structure for correlating multiple test outputs of an integrated circuit acquired during separate instances of an event
KR20160039461A (ko) * 2014-10-01 2016-04-11 에스케이하이닉스 주식회사 반도체 메모리 장치
US10528443B2 (en) * 2015-01-30 2020-01-07 Samsung Electronics Co., Ltd. Validation of multiprocessor hardware component
CN104698368B (zh) * 2015-04-01 2017-11-10 山东华芯半导体有限公司 一种实现芯片顶层测试用例重用的方法
US11105856B2 (en) 2018-11-13 2021-08-31 International Business Machines Corporation Detection of performance degradation in integrated circuits
CN110619919B (zh) * 2019-09-23 2021-08-13 上海华力微电子有限公司 Flash器件耐久性能测试方法
CN113552465A (zh) * 2020-04-26 2021-10-26 瑞昱半导体股份有限公司 图像处理芯片测试方法
KR20220019156A (ko) * 2020-08-06 2022-02-16 삼성전자주식회사 물리적 복제 방지 셀들을 포함하는 포함하는 보안 장치 및 그것의 동작 방법
CN112530511B (zh) * 2020-12-29 2023-06-23 芯天下技术股份有限公司 非易失型芯片内部单步测试方法、装置、存储介质、终端

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US542248A (en) * 1895-07-09 gaudron
JP2645122B2 (ja) * 1989-01-20 1997-08-25 株式会社東芝 不揮発性半導体メモリ
JP2870312B2 (ja) * 1992-07-28 1999-03-17 日本電気株式会社 半導体メモリ回路の調整方法
WO1995009424A1 (en) * 1993-09-30 1995-04-06 Macronix International Co., Ltd. Automatic test circuitry with non-volatile status write

Also Published As

Publication number Publication date
EP0811989A2 (de) 1997-12-10
EP0811989A3 (de) 1999-04-14
US5675546A (en) 1997-10-07
TW324825B (en) 1998-01-11
EP0811989B1 (de) 2003-11-19
JPH1083700A (ja) 1998-03-31
KR980006434A (ko) 1998-03-30
DE69726219D1 (de) 2003-12-24

Similar Documents

Publication Publication Date Title
DE69726219T2 (de) Verfahren und Vorrichtung zur Prüfung einer Speicher-integrierten Schaltung
DE3900798C2 (de) Verfahren zum Programmieren eines elektrisch löschbaren und programmierbaren Nur-Lese-Speichers
DE19860871B4 (de) Leistungsunabhängiger Halbleiterspeicherbaustein und Verfahren zur Ansteuerung von dessen Wortleitungen
DE4433098C2 (de) Halbleiter-Permanentspeichervorrichtung
DE19615956C2 (de) Ein nicht-flüchtiger, an einen DRAM-Bus anschließbarer Halbleiterspeicher und Verfahren zu dessen Betrieb
DE4232025C2 (de) Elektrisch löschbarer und programmierbarer nichtflüchtiger Halbleiterspeicher mit automatischem Schreibprüfungs-Controller
DE69432452T2 (de) Programmierte Referenz
DE102005063166B4 (de) Nicht-flüchtiges Speicherelement und Verfahren zur Programmierüberprüfung in einem nicht-flüchtigen Speicherelement
DE19859494C2 (de) Nichtflüchtiger Mehrebenen-Halbleiterspeicherbaustein mit einer Schaltung zum Einstellen der Datenlesezeit
DE60302473T2 (de) Built-in-self-test für flash speicherzellen
DE112010000955T5 (de) NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung
Portal et al. EEPROM diagnosis based on threshold voltage embedded measurement
DE4213731A1 (de) Nichtfluechtiges halbleiterspeicherbauelement und programmierverfahren hierfuer
DE102007016460A1 (de) Nichtflüchtiges Speicherbauelement, nichtflüchtiges Speichersystem und Leseverfahren für ein nichtflüchtiges Speicherbauelement
DE60015770T2 (de) Flashspeicheranordnung mit extern ausgelöster erfassung und heilung von fehlerhaften zellen
DE102004038417A1 (de) Programmierschaltung und -verfahren und nichtflüchtiger Halbleiterspeicherbaustein
DE102007039844A1 (de) Flashspeicherelement und Speichersystem
DE102005057112A1 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE69819961T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE60016104T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102005032484A1 (de) Nichtflüchtiges Speicherelement und zugehöriges Programmierverfahren
DE69828669T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE112004003009B4 (de) Nicht-flüchtiger Speicher und Verfahren zum Festlegen von Information eines Nicht-flüchtigen Speichers
DE3900979C2 (de) Elektrisch lösch- und programmierbares Nur-Lese-Speicherbauelement
DE19911101C2 (de) Nicht-flüchtige Halbleiterspeichervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee