DE102005034922A1 - Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung und Speichertester, welcher diesen verwendet - Google Patents

Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung und Speichertester, welcher diesen verwendet Download PDF

Info

Publication number
DE102005034922A1
DE102005034922A1 DE102005034922A DE102005034922A DE102005034922A1 DE 102005034922 A1 DE102005034922 A1 DE 102005034922A1 DE 102005034922 A DE102005034922 A DE 102005034922A DE 102005034922 A DE102005034922 A DE 102005034922A DE 102005034922 A1 DE102005034922 A1 DE 102005034922A1
Authority
DE
Germany
Prior art keywords
address
data
memory
test
generating
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.)
Ceased
Application number
DE102005034922A
Other languages
English (en)
Inventor
Jong Koo Suwon Kang
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.)
UniTest Inc
Original Assignee
UniTest 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 UniTest Inc filed Critical UniTest Inc
Publication of DE102005034922A1 publication Critical patent/DE102005034922A1/de
Ceased 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/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56004Pattern generation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/31813Test pattern generators
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C2029/1806Address conversion or mapping, i.e. logical to physical address

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

Die vorliegende Erfindung bezieht sich auf einen Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung, welcher aufweist: einen Instruktionsspeicher zum Empfangen und Speichern eines Testprogramms einschließlich einer Instruktion zum Durchführen eines Tests von einem externen Konsolen-PC; eine Sequenzsteuereinheit zum sequenziellen Auslesen der in dem Testprogramm beinhalteten Instruktion von dem Instruktionsspeicher, wenn der Test durchgeführt wird; eine Schnittstelleneinheit zum Verbinden mit einer externen Vorrichtung; ein PLL zum Bereitstellen eins Taktsignals mit einer identischen Phase; eine Befehl erzeugende Einheit zum Erzeugen einer Befehlslogik, die für den Test erforderlich ist, bezogen auf jeden der von dem PLL bereitgestellten Zyklen; eine Adressen erzeugende Einheit zum Erzeugen einer Adresslogik, die für den Test notwendig ist, durch eine Adressverwürfelung im Hinblick auf jeden der Zyklen; eine Daten erzeugende Einheit zum Erzeugen einer Datenlogik, die für den Test notwendig ist, über eine Datenverwürfelung im Hinblick auf jeden der Zyklen sowie eine Daten vergleichende Einheit zum Vergleichen eines Datums, das in der Daten erzeugenden Einheit erzeugt wurde, und eines Testdatums für jeden der Zyklen und Speichern einer Information über einen durchgefallenen Speicher. DOLLAR A In Übereinstimmung mit der vorliegenden Erfindung, der Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung mit einer Konfiguration, welche eine Konfiguration eines ...

Description

  • Verwandte Anmeldungen
  • Die vorliegende Erfindung bezieht sich auf den Hauptgegenstand, der in der koreanischen Prioritätsanmeldung Nr. 10-2004-0061085 enthalten ist, welche am 03. August 2004 angemeldet worden ist und hier ausdrücklich durch Bezugnahme vollständig eingeschlossen ist.
  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf einen Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung, und insbesondere auf einen Algorithmus-Mustererzeuger zum Testen einer Speichervorrichtung mit einer Konfiguration, welche eine Konfiguration eines Speichertesters optimieren kann einschließlich einer Adressverwürfelung und einer Datenverwürfelung in einem Speichertester zum Durchführen eines Tests an einer Speichervorrichtung auf Modulebene oder Komponentenebene.
  • Ein Algorithmus-Mustergenerator (nachfolgend als "ALPG" bezeichnet) ist eine Vorrichtung zum Generieren eines Musters in einem Speichertester, der zum Testen einer Halbleitervorrichtung verwendet wird, insbesondere eines Speichermoduls oder einer Speicherkomponente. Der ALPG wird zum Kodieren einer Instruktion verwendet, um Datenlese-/-schreibvorgänge zu testen.
  • Ein Halbleitertester, insbesondere ein Speichertester, wird abhängig von dem Entwicklungsstatus einer Speichervorrichtung gestaltet und entwickelt, insbesondere von der eines DRAMs, welches einen wesentlichen Teil der Speichervorrichtungen darstellt. Der Entwicklungsstatus von DRAM hat sich von einem DRAM mit einer EDO- (Extended Data Output) funktion über SDRAM (Synchronous DRAM) und Rambus-DRAM zu DDR- (Double Data Rate) DRAM entwickelt.
  • Um diese DRAMs zu testen, sind hohe Geschwindigkeit und hohe Genauigkeit der Speichertester erforderlich. Des Weiteren steigt, da die Kapazität des DRAM steigt, die für den Test erforderliche Zeit. Dementsprechend muss eine Testgeschwindigkeit erhöht werden. Ein kleiner und ökonomischer Speichertester muss enthalten sein, um die Testkosten zu senken.
  • 1 ist ein Blockdiagramm, welches beispielhaft einen herkömmlichen Tester darstellt.
  • Unter Bezugnahme auf 1 weist ein Speichertester 100 eine Stromversorgung 110 zum Liefern von Netzspannung an eine zu testende Speichervorrichtung 180 einschließlich eines Speichermoduls oder einer Speicherkomponente, einen Treiber 120 zum Eingeben eines Signals an eine Eingabeeinheit der Speichervorrichtung 180, einen Komparator 130 zum Vergleichen eines Signalausgangs von einer Ausgabeeinheit der Speichervorrichtung 180 mit einem erwarteten Wert, einen Mustergenerator 140 zum Erzeugen eines Signal-Arrays (Testmuster), welches Eingabe an die Speichervorrichtung 180 ist, und ein Signal für einen erwarteten Wert, einen Timing-Generator 150 zum Erzeugen eines Timings für ein Signal, welches Eingabe an die Speichervorrichtung 180 ist, eine CPU 160, welche ein Controller zum Steuern dieser Schaltkreise ist, auf. Die CPU 160 ist gestaltet, um von einer externen Speichervorrichtung zu lesen und die gelesenen Daten durch ein Betriebssystem (OS = operating system) zu interpretieren, wobei sie ein Erzeugen und ein Bestimmen eines Signals für den Test (Testmuster) und die Ausführung dieser vorbestimmten Tests durchgeführt. Der Tester 100 kann einen Gleichstrom-Testschaltkreis 170 aufweisen zum Durchführen eines Gleichstromtests, wie beispielsweise Erkennen eines Spannungspegels an der Ausgabeeinheit.
  • Da der oben beschriebene herkömmliche Speichertester einen Gleichstromtest durchführt, um zu testen, ob Gleichstrom-Parameter für digitale Schaltkreisoperationen geeignet sind, und einen Wechselspannung-Grenzwerttest, der sich auf Signalübertragungsverzögerungszeit, Einrichtzeit und Haltezeit bezieht, und verschiedene Komponenten aufweist, wie beispielsweise den Timing-Generator, ist eine teure zugeordnete Ausrüstung erforderlich, welche sehr groß ist, wie beispielsweise ein Mainframe, um den herkömmlichen Speichertester herzustellen. Demzufolge ist der herkömmliche Speichertester nachteilig darin, dass die Herstellungskosten sehr hoch sind. Für Speicherhersteller ist es bevorzugt, die Produktionskosten zu minimieren und einen leistungsfähigen Speichertester zu entwerfen, um auf dem Markt konkurrenzfähig zu bleiben. Dementsprechend muss der Speichertester leistungsfähig entworfen werden, um eine geringe Größe zu haben und die Produktionskosten zu verringern.
  • Um eine Miniaturisierung des Testers zu erreichen, wurde eine Technologie zum Optimieren von ALPG, welche mit dem Erzeugen von Testmustern verwandt ist, vorgeschlagen.
  • Beispielsweise ist solch ein ALPG in der koreanischen Patentanmeldung Nr. 2001-0045014, angemeldet von Hitachi Ltd. am 26. Juli 2001 mit dem Titel "A METHOD FOR GENERATING TESTER CONSTRUCTION DATA, CONSTRUCTION METHOD FOR TESTER AND TEST CIRCUIT" offenbart.
  • 2 ist ein Blockdiagramm, welches einen Algorithmus-Mustergenerator darstellt, wie durch die koreanische Patentanmeldung Nr. 2001-0045014 offenbart.
  • Unter Bezugnahme auf 2 weist der herkömmliche ALPG einen Instruktionsspeicher 210 auf zum Speichern eines Mikroprogramms, welches aus einer Mehrzahl von Mikroinstruktionen besteht, die entsprechend einem ein Testmuster erzeugenden Algorithmus konfiguriert sind, einen Programmzähler 220 zum Bestimmen, was von dem Instruktionsspeicher 210 gelesen werden soll, einen Sequenzsteuerungsschaltkreis 230 zum Erzeugen eines Steuerungssignals für einen Speicherschaltkreis durch Dekodieren eines Instruktionscodes in der Mikroinstruktion, welche von dem Instruktionsspeicher 210 ausgelesen wurde, oder einen Funktionsblock, der einen ALPG darstellt, wie beispielsweise der Programmzähler 220, ein Adressoperationsschaltkreis 240 zum Erzeugen einer Testadresse entsprechend der von dem Instruktionsspeicher 210 ausgelesenen Mikroinstruktion, sowie einen Testdaten erzeugenden Schaltkreis 250 zum Erzeugen von Testdaten und erwarteten Datenwerten gemäß der gelesenen Mikroinstruktion.
  • Des Weiteren können, wenn bestimmt wird, ob der Speicherschaltkreis in Prüfung normal ist oder nicht, Mittel beinhaltet sein zum Bestimmen, ob die von dem Speicherschaltkreis ausgelesenen Daten mit den geschriebenen Daten übereinstimmend sind, indem diese vergleichen werden. Zusätzlich beinhaltet, wie in 2 dargestellt, die in dem Instruktionsspeicher 210 gespeicherte Mikroinstruktion ein Adressfeld MPa zum Speichern einer PC- (Program Counter, Programmschrittzähler) Adresse, welche eine Sprungadresse einer Instruktion anzeigt, die als Sprunginstruktion verwendet wird, ein OP-Codefeld MFb zum Speichern eines Sequenz-Steuerungscodes, ein Operand-Feld MFc zum Speichern der Anzahl wiederholter Instruktionen, ein Steuerungsfeld MFd zum Speichern eines Steuerungscodes zum Veranlassen eines Ausgabe- und Lese-/Schreibvorgangs einer Adresse oder eines Datums, ein Adressoperations-Codefeld MFe zum Speichern eines Adressoperations-Instruktionscodes, und ein Datenerzeugungs-Codefeld MFf zum Speichern des Datenerzeugungs-Instruktionscodes.
  • Jedoch offenbart die koreanische Patentanmeldung Nr. 2001-0045014 keine Adressverwürfelung oder jedwede andere Datenverwürfelung. Die Adressverwürfelung ist bezogen auf wechselseitige Konvertierung zum Abgleichen einer physikalischen Adresse und einer logischen Adresse (dargestellt als Reihe und Spalte) des Speichers. Die Datenverwürfelung wird als Funktion einer Adresse dargestellt. Da die Verfahren zum Minimieren eines Bereichs eines Layouts sich abhängig von den Speicherherstellern unterscheiden, ist das Verwürfeln von Daten ein Vorgang für die Konformität. Um das ALPG effizient zu entwickeln und die Anordnung des Speichertesters zu optimieren, muss die Entwicklung des ALPG das Verwürfeln mit berücksichtigen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist ein Ziel der vorliegenden Erfindung, einen Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung mit einer Konfiguration, welche eine Konfiguration eines Speichertesters optimieren kann, einschließlich einer Adressverwürfelung und einer Datenverwürfelung, zu offenbaren.
  • Es ist ein weiteres Ziel der vorliegenden Erfindung, einen Speichertester unter Verwendung des Algorithmus-Mustergenerators vorzusehen.
  • Es ist wiederum ein weiteres Ziel der vorliegenden Erfindung, ein Testverfahren für die Speichervorrichtung unter Verwendung des Algorithmus-Mustergenerators zum Testen der Speichervorrichtung zu offenbaren.
  • Es ist ebenfalls ein Ziel der vorliegenden Erfindung, ein computer-lesbares Aufzeichnungsmedium vorzusehen, welches darauf beinhaltet ein Programm für den Algorithmus-Mustergenerator zum Testen der Speichervorrichtung verkörpert.
  • Um die oben beschriebenen Ziele der vorliegenden Erfindung zu erreichen, wird ein Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung vorgesehen, welcher aufweist: Einen Instruktionsspeicher zum Empfangen und Speichern eines Testprogramms einschließlich einer Instruktion zum Durchführen eines Tests von einem externen Konsolen-PC; eine Sequenzsteuereinheit zum sequenziellen Abrufen der Instruktion, die in dem Testprogramm beinhaltet ist, vom Instruktionsspeicher, wenn der Test durchgeführt wird; eine Schnittstelleneinheit als Schnittstelle mit einer externen Vorrichtung; ein PLL zum Bereitstellen eines Taktsignals mit einer identischen Phase; eine Befehl erzeugende Einheit zum Erzeugen einer Befehlslogik, die für den Test im Hinblick auf jeden Zyklus, der von dem PLL bereitgestellt wird, notwendig ist; eine Adressen erzeugende Einheit zum Erzeugen einer Adresslogik, die für den Test erforderlich ist, über eine Adressverwürfelung im Hinblick auf jeden der Zyklen; eine Daten erzeugende Einheit zum Erzeugen einer Datenlogik, die für den Test erforderlich ist, über eine Datenverwürfelung im Hinblick auf jeden der Zyklen; sowie eine Daten vergleichende Einheit zum Vergleichen eines in der Daten erzeugenden Einheit erzeugten Datums und eines Testdatums für jeden der Zyklen und Speichern einer Information über einen durchgefallenen Speicher.
  • Ebenfalls wird ein Speichertester zum Testen einer Speichervorrichtung vorgesehen, welcher aufweist: Eine variable Stromversorgung zum Liefern einer Spannung für einen Test der Speichervorrichtung; einen Konsolen-PC zum Erzeugen des Testprogramms und zum Erhalten und Analysieren eines Testergebnisses; eine Takt erzeugende Einheit zum Erzeugen eines Referenztakts und eine Steuereinheit zum Steuern; sowie eine Muster erzeugende Platine zum Empfangen des Testprogramms von dem Konsolen-PC, um ein Testmustersignal zu erzeugen, Übermitteln des Testmustersignals an die zu testende Speichervorrichtung sowie Empfangen und Vergleichen einer Testergebnis-Ausgabe von der Speichervorrichtung, wobei ein Testmuster erzeugt und ein Test unter Verwendung des oben genannten Algorithmus-Mustergenerators durchgeführt wird.
  • Ebenfalls wird ein Verfahren zum Testen einer Speichervorrichtung offenbart unter Verwendung eines Algorithmus-Mustergenerators, welches die folgenden Schritte aufweist: Erzeugen eines Testprogramms durch Laden und Kompilieren eines Quellprogramms einschließlich einer Information über einen Test mit einem Compiler; Übertragen des Testprogramms an den Algorithmus-Mustergenerator in Übereinstimmung mit einem der Ansprüche 1 bis 15, um dasselbe in einem internen Instruktionsspeicher zu speichern; Abrufen einer in dem Testprogramm gespeicherten Instruktion und Erzeugen eines Testmusters einschließlich einer Befehlslogik, einer Adresslogik und einer Datenlogik, die auf die zu testende Speichervorrichtung angewendet werden, wobei ein Test durchgeführt wird; Bestimmen einer durchgefallenen Speichervorrichtung nach Durchführen des Tests durch Vergleichen einer Datenausgabe von der Speichervorrichtung mit einem von dem Algorithmus-Mustergenerator in Übereinstimmung mit einem der Ansprüche 1 bis 15 erzeugten Wert; sowie Speichern einer Information über den durchgefallenen Speicher, wenn der durchgefallene Speicher bestimmt ist.
  • Es wird ein computer-lesbares Aufzeichnungsmedium vorgesehen, worauf ein Programm verkörpert ist, welches die folgenden Funktionen durchführt: Empfangen von einem externen Konsolen-PC und Speichern eines Testprogramms einschließlich einer Instruktion zum Durchführen eines Test; sequenzielles Abrufen der Instruktion von dem Testprogramm von einem Instruktionsspeicher, wenn der Test durchgeführt wird; Durchführen einer Verbindung mit einer externen Vorrichtung; Erzeugen und Bereitstellen eines Taktsignals mit einer identischen Phase; sowie in Übereinstimmung mit einem Taktzyklus des Taktsignals, Erzeugen einer Adresslogik, die für den Test erforderlich ist, durch eine Adressverwürfelung in Übereinstimmung mit jedem der Taktzyklen; Erzeugen einer Datenlogik, die für den Test erforderlich ist, durch eine Datenverwürfelung in Übereinstimmung mit jedem der Taktzyklen; sowie Vergleichen eines von der Daten erzeugenden Einheit erzeugten Datums mit einem Testdatum in Übereinstimmung mit jedem der Taktzyklen und Speichern einer Information über einen durchgefallenen Speicher.
  • KURZE BESCHREIBUNG DER ZEICHNUNGSFIGUREN
  • 1 ist ein Blockdiagramm, welches einen herkömmlichen Tester beispielhaft darstellt.
  • 2 ist ein Blockdiagramm, welches einen herkömmlichen Algorithmus-Mustergenerator darstellt.
  • 3 ist ein Blockdiagramm, welches einen Speichertester einschließlich eines Algorithmus-Mustergenerators zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • 4 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Instruktion des Algorithmus-Mustergenerators zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • 5 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Sequenzsteuerungseinheit des Algorithmus-Mustergenerators zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • 6 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Adressen erzeugenden Einheit des Algorithmus-Mustergenerators zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • 7a bis 7c sind Diagramme, welche eine beispielhafte Konfiguration einer Daten erzeugenden Einheit des Algorithmus-Mustergenerators zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung darstellen.
  • 8 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Daten vergleichenden Einheit des Algorithmus-Mustergenerators zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • 9 ist ein Ablaufdiagramm, welches ein Testverfahren unter Verwendung des Algorithmus-Mustergenerators zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • 10a ist ein Diagramm, welches die Struktur eines Testprogramms in dem Testverfahren darstellt, in welchem der Algorithmus-Mustergenerator zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung verwendet wird.
  • 10b ist ein Diagramm, welches ein Beispiel eines Source-Programms in dem Testverfahren darstellt, in welchem der Algorithmus-Mustergenerator zum Testen von Speichervorrichtungen in Übereinstimmung mit der vorliegenden Erfindung verwendet wird.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung wird nun unter Bezugnahme auf die beigefügten Zeichnungsfiguren genauer beschrieben.
  • 3 ist ein Blockdiagramm, welches einen Speichertester einschließlich eines Algorithmus-Mustergenerators zum Testen einer Speichervorrichtung in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • Unter Bezugnahme auf 3 weist ein Speichertester 300 in Übereinstimmung mit der vorliegenden Erfindung eine variable Stromversorgung 310, einen Konsolen-PC 315, eine Steuereinheit 320 und eine Muster erzeugende Platine 325 auf. Die Muster erzeugende Platine 325 weist eine Takt erzeugende Einheit 330 und einen ALPG 335 auf. Der ALPG 335 weist eine Sequenzsteuereinheit 340, eine Schnittstelleneinheit 345, ein PLL (Phase Lock Loop) 350, einen Instruktionsspeicher 355, eine Befehl erzeugende Einheit 360, eine Adressen erzeugende Einheit 365, eine Daten erzeugende Einheit 370 sowie eine Daten vergleichende Einheit 375 auf. Vorzugsweise ist der ALPG 335 als einzelner Chip unter Verwendung eines FPGA verkörpert.
  • Die variable Stromversorgung 310 liefert verschiedene Ströme, die zum Testen einer Speichervorrichtung erforderlich sind. Die variable Stromversorgung 310 liefert ebenfalls Strom an einen Prüfling (nachfolgend als "DUT" (Device Under Test) bezeichnet).
  • Der Konsolen-PC 315 ist mit der Muster erzeugenden Platine 325 über einen Rückwandplatinenbus verbunden. Der Konsolen-PC 315 bietet eine Funktion wie beispielsweise Übertragen eines Testprogramms an die Muster erzeugende Platine 325 und empfängt und analysiert ebenfalls ein Testergebnis.
  • Die Steuereinheit 320 bietet eine Steuerung für den Speichertester 300.
  • Obwohl nicht dargestellt, kann ein Slot zum Installieren eines DUT, zum Beispiel ein DIMM-Slot, oder eine DUT-Platine einschließlich Komponentensockel beinhaltet sein.
  • Die Muster erzeugende Platine 325 erhält das Testprogramm von dem Konsolen-PC 315 und erzeugt ein Testmustersignal über den ALPG 335. Das Testmustersignal wird dann an das DUT übertragen, und ein Testergebnis wird von der Muster erzeugenden Platine 325 empfangen und verglichen. Das Ergebnis eines Vergleichs (oder das Testergebnis) kann an den Konsolen-PC 315 übertragen und dann analysiert werden.
  • Die Takt erzeugende Einheit 330 erzeugt einen Referenztakt und liefert diesen an die Schnittstelleneinheit 345 und den PLL 350 in dem ALPG 335.
  • Die Sequenzsteuereinheit 340 ruft sequenziell eine Testprogramminstruktion von dem Instruktionsspeicher 355 während eines Test ab.
  • Die Schnittstelleneinheit 345 verbindet den ALPG 335 mit der variablen Stromversorgung 310, dem Konsolen-PC 315 und der Steuereinheit 320 über den Rückwandplatinenbus. Die Schnittstelleneinheit 345 empfängt ebenfalls einen Takt und liefert diesen an den PLL 350. Zusätzlich übermittelt die Schnittstelleneinheit 345 das Testergebnis an den Konsolen-PC 315.
  • Der PLL 350 setzt eine Phasendifferenz zwischen einem Taktsignal, das von der Schnittstelleneinheit 345 erhalten wurde, und einem Taktsignal, das von der Takt erzeugenden Einheit 330 erhalten wurde, auf null, um ein Taktsignal zu erzeugen, welches eine identische Phase hat. Die Ausgänge CK und /CK des PLLs 350 beziehen sich auf einen Takt und einen invertierten Takt.
  • Der Instruktionsspeicher 355 empfängt das Testprogramm von dem Konsolen-PC 315 über die Schnittstelleneinheit 345 und speichert dieses.
  • Die Befehl erzeugende Einheit 360 erzeugt eine Befehlslogik, die für den Test für jeden Taktzyklus erforderlich ist. Ein Ausgabesignal CMD[8:0] der Befehl erzeugenden Einheit 360 bezieht sich beispielsweise auf einen Befehl, der CS- (chip select, Chipauswahl), RAS- (Row Address Strobe, Zeilenadressierungstaktimpuls) und CAS- (Column Address Strobe, Spaltenadresstaktimpuls) Signale beinhaltet, welche ein internes Befehlssignal eines DDR-SDRAM sind.
  • Die Adressen erzeugende Einheit 365 erzeugt eine Adressenlogik, die für den Test erforderlich ist, durch eine Adressverwürfelung für jeden Taktzyklus. Ein Ausgabesignal BA[2:0] der Adressen erzeugenden Einheit 365 bezieht sich auf eine Bankadresse, ADD[15:0] auf eine physikalische Adresse.
  • Die Daten erzeugende Einheit 370 erzeugt eine Datenlogik, die für den Test erforderlich ist, durch eine Datenverwürfelung für jeden Taktzyklus. Ein Ausgabesignal DQ[7:0) der Daten erzeugenden Einheit 370 bezieht sich auf einen Datenbus, welcher eine Dateneingabe/-ausgabe erzeugt, DQS auf Datentaktimpuls und DM auf ein intern geladenes Signal, um DQ und DQS in Übereinstimmung zu bringen.
  • Die Daten vergleichende Einheit vergleicht ein Datum, das in der Daten erzeugenden Einheit 370 erzeugt wurde, mit einem Testdatum für jeden Taktzyklus.
  • 4 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Instruktion des Algorithmus-Mustergenerators zum Testen einer Speichervorrichtung in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • Unter Bezugnahme auf 4 weist die Instruktion, die in dem Instruktionsspeicher 355 gespeichert ist, Sequenzfelder 410a und 410b, ein Adressfeld 420, ein Datenfeld 430 und ein Steuerfeld 440 auf.
  • Die Sequenzfelder 410a und 410b können als ein Opcode 410 und als Operand 420b klassifiziert werden und zum Berechnen eines Instruktionspunktes und zum Steuern einer Sequenz des Testprogramms für jeden Taktzyklus verwendet werden.
  • Der Opcode 410a bezieht sich auf einen Operationscode einschließlich NOP (no operation, keine Operation), SET (Opcode zum Setzen eines Registers), END (Ende des Musters), PAUSE (Sequenzstopp), JMP (unbedingter Sprung), JNZ1 bis JNZ8 (bedingte Sprünge, wenn die entsprechenden Register CX1 bis CX8 nicht null sind), CALL (Aufruf Subroutine) und RET (Rückkehr von Subroutine).
  • Der Operand 420b bezieht sich auf einen Index für einen Sprung oder für ein Register, wenn Opcode = SET.
  • Das Adressfeld 420 ist ein Feld für arithmetische Operationen zum Erzeugen einer Speicheradresszeile.
  • Ein ALU-X bezieht sich auf eine Adressoperation einer Zeilenadresse X eines Speichers, ein ALU-Y bezieht sich auf eine Adressoperation einer Spaltenadresse Y des Speichers, ein ALU-Z bezieht sich auf eine Adressoperation einer Bankadresse Z des Speichers, ALU-DX und ALU-DY beziehen sich auf Adressoperationen von Adressen DX und DY, welche zusätzliche Adressen zu den X und Y Adressen sind.
  • Zum Beispiel sind Codes zum Durchführen von Adressoperationen wie beispielsweise X = X, X = /X, X = X·2, X = DX, X = X + DX, X = X – DX, X = X&DX, X = X|DX, X = immX (sofortiger Wert der X Adresse), X = X + immX, X = X – immX, X = X&immX, X = X|immX und X = X^immX für ALU-X beinhaltet. ALU-Y ist gleich zu ALU-X.
  • Die sofortigen Werte wie beispielsweise immX und immY dienen zum Aufbau eines Befehlssatzes, so dass Zufallswerte zu einem X- und einem Y-Register in dem Mikrocode zugeordnet werden können.
  • Codes zum Durchführen von Adressoperationen wie beispielsweise Z = Z, Z = 0, Z = /Z, Z = Z + 1, Z = Z – 1, Z = Z·2, Z = Z/2, Z = ZR, Z = 1, Z = 2 und Z = 3 sind für ALU-Z beinhaltet.
  • Codes zum Durchführen von Adressoperationen wie beispielsweise DX = DX, DX = 0, DX = /DX, DX = DX + 1, DX = DX – 1, DX = DX·2, DX = DX/2 und DX = XR sind für ALU-DX beinhaltet. ALU-DY ist gleich zu ALU-DX.
  • ALU-X, ALU-Y, ALU-DX und ALU-DY werden später genauer mit einer Beschreibung der Adressen erzeugenden Einheit 365 beschrieben.
  • Das Datenfeld 430 ist ein Feld für arithmetische Operationen zum Erzeugen einer Speicherdatenzeile.
  • Ein ALU-D-Register kann durch eine solche Operation mit einem anfänglichen Register oder einer Operation mit einem Sofortwert aktualisiert werden. Ein DP-Feld, welches ein Teil des Datenfelds 430 ist, ist eine vereinfachte Darstellung einer Datenerzeugung gemäß einem gegenwärtigen X-Y Adressstatus. Das ALU-D-Register und das DP-Feld werden schließlich einer Exklusiv- OR-Operation unterzogen.
  • Codes zum Durchführen von Adressoperationen wie beispielsweise D = D, D = /D, D = D·2, D = D/2, D = DR, D = immD, D = D + immD, D = D – immD, D = D&immD, D = D|immD und D = D^immD sind für ALU-D beinhaltet.
  • Das DP-Feld kann DPO (festes Muster), DP1 (Schachbrettmuster), DP2 (Zeilenstreifenmuster), DP3 (Spaltenstreifenmuster), DP4 (Diagonalmuster) und DP5 (Maskenparität) darstellen.
  • Das Steuerfeld 440 ist ein Feld, welches einen Speichersteuerung-Signalzustand sowie ein Echtzeit-Inversionsflag usw. beinhaltet.
  • Das Steuerfeld 440 stellt beispielsweise CKE (clock enable, Taktfreigabe), CS (chip select, Chipauswahl), RAS (row address enable, Freigabe Zeilenadresse), CAS (column address enable, Freigabe Spaltenadresse), WE (write enable, Freigabe Schreiben), ODT (on-die termination enable, Terminierungsfreigabe auf dem Die), DMH (data mask at high going edge, Datenmaske bei steigender Flanke), DML (data mask at low going edge, Datenmaske bei fallender Flanke), CPEH (compare enable at high goind edge, Vergleichfreigabe bei steigender Flanke), CPEL (compare enable at low going edge, Vergleichfreigabe bei fallender Flanke), ASCROFF (address scramble disable, Sperre Adressverwürfelung), DSCROFF (data scramble disable, Sperre Datenverwürfelung), AP (auto precharge enable, Freigabe Auto-Vorspannung), /X (row address inversion flag, Inversionsflag Zeilenadresse), /Y (column address inversion flag, Inversionsflag Spaltenadresse), /Z (bank address inversion flag, Inversionsflag Bankadresse), /D (data inversion flag, Inversionsflag Daten), AY (column address enable, Freigabe Spaltenadresse) und I (Interrupt-Flag) dar.
  • 5 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Sequenz-Steuereinheit des Algorithmus-Mustergenerators zum Testen einer Speichervorrichtung in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • Unter Bezugnahme auf 5 weist die Sequenz-Steuereinheit 340 ein Start-Adressregister 510, einen Instruktionszeiger 520, eine Steuereinheit 530, CX1 bis CX8 550, ein Stack-Register 540 und ein Flag-Register 560 auf.
  • Das Start-Adressregister ("STR") 510 ist ein Register zum Speichern einer Startadresse und ist beispielsweise ein 10-bit-Register.
  • Der Instruktionszeiger ("IP") 520 ist ein Register zum Speichern eines Instruktionszeigers und ist beispielsweise ein 10-bit-Register. Der Instruktionszeiger 520 lädt und sichert einen entsprechenden Zeiger von einem Operanden des Instruktionsspeichers 355.
  • Die Steuereinheit 530 lädt und steuert eine entsprechende Operation aus dem Opcode des Instruktionsspeichers 355 und führt Steuerungen des IP 520, des Stack-Registers 540 und von CX1 bis CX8 550 durch.
  • Das Stack-Register 540 ist ein Register für einen Stack des Instruktionszeigers und beispielsweise als ein 16-bit/Tiefe 4 -Register konfiguriert.
  • CX1 bis CX8 sind Register für einen Instruktionszähler und beispielsweise als 16-bit-Register konfiguriert.
  • Das Flag-Register 560 speichert Flag-Daten.
  • 6 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Adressen erzeugenden Einheit des Algorithmus-Mustergenerators zum Testen einer Speichervorrichtung in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • Unter Bezugnahme auf 6 weist die Adressen erzeugende Einheit 365 eine logische Adressen erzeugende Einheit 600a zum Erzeugen der Zeilenadresse, der Spaltenadresse und der Bankadresse des Speichers, eine verwürfelte Adressen erzeugende Einheit 600b zum Erzeugen verwürfelter Adressen der Zeilenadressen und der Spaltenadressen, und eine Adressen multiplexende Einheit 600c zum Multiplexen der verwürfelten Adressen auf, um eine physikalische Adresse zu erzeugen.
  • Die logische Adressen erzeugende Einheit 600a, die verwürfelte Adressen erzeugende Einheit 600b und die Adressen multiplexende Einheit 600c werden nun genauer beschrieben.
  • Eine Beschreibung der logische Adressen erzeugenden Einheit 600a ist wie folgt.
  • Das anfängliche Register, d.h., das XR 610a, das YR 610b und das ZR 610c speichert Anfangswerte der Zeilenadresse X, der Spaltenadresse Y und der Bankadresse.
  • Das ALU-DX 615a und das ALU-DY 615b empfangen Werte der anfänglichen Register XR 610a und YR 610b und führen eine arithmetische Operation durch, um zusätzliche Adressen DX und DY zu erzeugen.
  • Das ALU-X 620a und das ALU-Y 620b empfangen Ausgabewerte von ALU-DX 615a und ALU-DY 615b und sofortige Adresswerte immX und immY und führen eine arithmetische Operation durch, um die Zeilen- und Spaltenadressen zu erzeugen.
  • Das ALU-Z 620c empfängt Werte des anfänglichen Registers ZR 610c und führt eine arithmetische Operation durch, um die Bankadresse zu erzeugen.
  • INV 625a, 625b und 625c führen jeweils eine Inversion der Daten durch, wenn Inversionsflags /X, /Y und /Z eingegeben werden.
  • Als Ergebnis werden eine Zeilenadresse X[15:0], eine Spaltenadresse Y[15:0] und eine Bankadresse Z[2:0] erzeugt. Die Bankadresse Z[2:0) ist identisch zu BA[2:0], in 3 dargestellt.
  • Eine Beschreibung der verwürfelte Adressen erzeugenden Einheit 600b und der Adressen multiplexenden Einheit 600c ist wie folgt.
  • Eine Adressverwürfelung bezieht sich auf eine wechselseitige Konvertierung zum Abgleichen einer physikalischen Adresse und einer logischen Adresse (als Zeile und Spalte dargestellt).
  • X[15:0] und Y[15:0] werden empfangen und dann von einer X-Verwürfelungslogik 630a und Y-Verwürfelungslogik 630b einer Adressverwürfelung unterzogen. In diesem Fall kann das Verwürfeln basierend auf einem Referenzdatum zum Verwürfeln durchgeführt werden, welches jeweils in Verwürfelungstabellen 650a und 650b gespeichert ist. Die in den Verwürfelungstabellen 650a und 650b gespeicherten Daten sind eindeutige Daten zum Erzeugen von Speicheradressdaten, welche von jedem Speichervorrichtungshersteller abhängen.
  • Multiplexer 635a und 635b empfangen Ausgaben von den Verwürfelungslogiken 630a und 630b, X[15:0] und Y[15:0] und führen das Multiplexen durch. In diesem Fall werden ein ASCRAM_EN- (Sperre Adressverwürfelung) Flag und ein ASCROFF- (Sperre Echtzeit-Adressverwürfelung) Flag empfangen und gemultiplext.
  • Operationslogiken 640a und 640b empfangen Ausgaben von Multiplexern 635a und 635b und führen verschiedene Operationen durch, um ein Xn[15:0] und ein Yn[15:0] zu erzeugen. Xn und Yn beziehen sich auf Verwürfelungsadressen, die zu Verwürfelungslogiken konvertiert wurden.
  • Xn und Yn erfüllen Gleichungen Xn = NOT(Xi Logik Xj) Yn = NOT(Yi Logik Yj), wobei n, i und j ganze Zahlen im Bereich von 0 bis 15 sind und Logik NOP- (Nicht-Operation), AND-, OR-, XOR-Operationen sind.
  • Xn und Yn sind physikalische Adressen und können nicht gleichzeitig eingegeben werden. Dementsprechend wird das Adressdatum A[15:0] durch Multiplexen erzeugt. A[15:0] ist identisch mit ADD[15:0], dargestellt in 3.
  • Eine Adressen multiplexende Einheit 645 weist Multiplexer 645 auf. Die Adressen multiplexende Einheit 645 empfängt Xn[15:0], Yn[15:0] und einen AY (Y-Adress-Auswahl-Flag), und führt Multiplexen durch, um das physikalische Adressdatum A[15:0] zu erzeugen.
  • 7 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Daten erzeugenden Einheit des Algorithmus-Mustergenerators zum Testen einer Speichervorrichtung in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • Unter Bezugnahme auf 7 weist die Daten erzeugende Einheit 370 eine logische Daten erzeugende Einheit 700a, eine verwürfelte Daten erzeugende Einheit 700b, eine Serialisierungseinheit 700c und eine Deserialisierungseinheit 700d auf.
  • 7a stellt eine beispielhafte Konfiguration der logische Daten erzeugenden Einheit 700a und der verwürfelte Daten erzeugenden Einheit 700b dar, 7b stellt eine beispielhafte Konfiguration der Serialisierungseinheit 700c dar, und 7c stellt eine beispielhaft Konfiguration der Deserialisierungseinheit 700d dar.
  • Eine genaue Beschreibung der logische Daten erzeugenden Einheit 700a ist wie folgt.
  • Ein anfängliches Register ("DR") 710 ist ein Register zum Speichern eines Anfangswertes eines Datums.
  • Die ALU-D 720 empfängt den DR-Wert und immD (Sofortwert des Datums), um eine arithmetische Operation durchzuführen.
  • Die Datenmuster erzeugende Einheit 725 empfängt die Signale von der Adressen erzeugenden Einheit 365 X[15:0], Y[15:0] und das DP-Auswahl- (Datenmusterauswahl) signal, um ein Datenmuster zu erzeugen.
  • DCMR (Data Complement Mask Register, Datenkomplement-Maskenregister) 730 ist ein Register zum Speichern eines Maskendatums zum Datenkomplement, und beispielsweise als ein 16-bit-Register konfiguriert.
  • DFLG (konsistentes Dateninversions-Flag) 735 ist ein Register zum Speichern eines Werts für Dateninversion.
  • Das Maskendatum aus DCMR 730 wird durch einen Inverter 740a invertiert. Der invertierte Wert und /D (Echtzeitdatumsinversions-Flag) werden einer AND-Operation in einer AND-Logik 740 unterzogen.
  • Ausgabewerte des ALU-D 720, der AND-Logik 740, der DFLG 735 und einer Ausgabe der Datenmuster erzeugenden Einheit 725 werden einer Exklusiv- OR-Operation in Exklusiv-OR-Logik 750 unterzogen, um D[15:0] zu erzeugen.
  • Eine genaue Beschreibung der verwürfelte Daten erzeugenden Einheit 700b ist wie folgt:
    Die Verwürfelung von Daten ist als eine Funktion einer Adresse dargestellt. Da Verfahren zum Minimieren einer Fläche eines Layouts abhängig von Speicherherstellern unterschiedlich sind, ist das Verwürfeln von Daten ein Vorgang für Konformität.
  • D[15:0] wird empfangen, und eine Datenverwürfelung wird in einer Datenverwürfelungslogik 755 durchgeführt. In diesem Fall kann die Verwürfelung durchgeführt werden basierend auf einem Verwürfelungsdatum in einer Datenverwürfelungstabelle 760. Das darin gespeicherte Datum ist ein eindeutiges Datum zum Erzeugen von Daten abhängig von jedem Speichervorrichtungshersteller.
  • Ein Mulitplexer 765 empfängt und multiplext eine Ausgabe der Datenverwürfelungslogik 755, X[3:0] und Y[3:0]. In diesem Fall wird ein DSCRAM_EN- (Sperre Datenverwürfelung) Flag und ein DSCROFF- (Sperre Echtzeitdatenverwürfelung) Flag empfangen und dem Multiplexen unterzogen. Ein Ausgabewert Dn[15:0] ist ein von der Datenverwürfellogik 755 konvertierter Wert des Datums [15:0]. Dout [15:0] hat die gleiche Bedeutung wie Dn[15:0], und sie sind Symbole, um ein Register und ein Netz zu unterscheiden.
  • Eine Operationslogik 770 empfängt einen Ausgabewert von dem Multiplexer 765 und führt verschiedene Operationen durch, um einen Dout[15:0] zu erzeugen. In dem Dout[15:0] ist definiert, dass Dn = NOT(Ai Logik Aj), wobei n eine ganze Zahl im Bereich von 0 bis 7 ist, A = X oder A = Y, i und j ganze Zahlen im Bereich von 0 bis 3 sind, und Logik NOP (keine Operation), AND, OR und XOR-Logiken sind.
  • Dout[15:0] ist Eingabe als ein DQ-Signal des Speichers durch Serialisierung. Da das DQ-Signal des Speichers bidirektional ist und sowohl für Eingabe als auch Ausgabe verwendet wird, ist ein Wert von Dout Ausgabe an eine DQ-Zeile, wenn in den Speicher geschrieben wird, und wird als Din durch Deserialisierung der DQ-Zeile verwendet, wenn von dem Speicher gelesen wird. Um diese Funktionen durchzuführen, weist die Daten erzeugende Einheit 375 die Serialisierungseinheit 700c und die Deserialisierungseinheit 700d für Daten auf.
  • Dout[15:0] ist in zwei Bereiche geteilt, nämlich DH[7:0] und DL[7:0], jeweils als Eingabe zu D-Flipflops 775a und 775b, und als Ausgabe, welche eine Änderung eines Werts wiederspiegelt gemäß einer steigenden Flanke oder einer fallenden Flanke des Ausgangstaktes. Eine Ausgabe von jedem der Flipflops 775a und 775b wird von einem Multiplexer 780a basierend auf der steigenden Flanke oder der fallenden Flanke des Ausgangstaktes gemultiplext und dann von einem Inverter 790 invertiert, um serialisiertes Ausgabesignal DQ[7:0] auszugeben.
  • Im Hinblick auf die Deserialisierung ist das DQ[7:0]-Signal Eingabe für jedes der D-Flipflops 775c und 775d von der Speichervorrichtung, und DH[7:0] und DL[7:0] werden jeweils in den D-Flipflops 775c und 775d von einem Eingangstakt-Signal erzeugt. Der Eingangstakt wird invertiert und dann in das D-Flipflop 775d und ein Latch 775e eingegeben. Ausgaben von Latch 775e und dem D-Flipflop 775d werden zu Ausgabe Din[15:0] summiert.
  • 8 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Daten vergleichenden Einheit des Algorithmus-Mustergenerators zum Testen einer Speichervorrichtung in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • Unter Bezugnahme auf 8 weist die Daten vergleichende Einheit 375 einen digitalen Komparator 810, Auswahleinheit für durchgefallenen Speicher 820, ein FMSR 830 und ein Fehlermoderegister 840 auf.
  • Der digitale Komparator 810 empfängt Din[15:0], welches ein Signal von der Daten vergleichenden Einheit 375 ist, und Dout[15:0], und führt einen Datenvergleich derselben durch, um Cout[15:0] auszugeben. In diesem Fall wird ein CPE- (Freigabe Vergleich) Signal eingegeben, um den Datenvergleich durchzuführen. Das heißt, der Din, welcher von dem Speicher gelesen wird, und erwartete Wert Dout werden in dem Komparator verglichen, um entsprechende Informationen zu speichern, wenn ein Defekt auftritt.
  • Die durchgefallenen Speicher auswählende Einheit 820 empfängt Din[15:0], Dout[15:0], X[15:0], Y[15:0], Xn[15:0] und Yn[15:0], um einen durchgefallenen Speicher auszuwählen. In diesem Fall kann die durchgefallenen Speicher auswählende Einheit 820 Werte von dem FMSR (Fail Memory Start Register, durchgefallener Speicher-Startregister) 830 und dem Fehlermoderegister 840 auslesen.
  • Ein Verfahren zum Testen der Speichervorrichtung unter Verwendung des Algorithmus-Mustergenerators wird nun genauer unter Bezugnahme auf die beigefügten Zeichnungsfiguren beschrieben.
  • 9 ist ein Ablaufdiagramm, welches ein Testverfahren unter Verwendung des Algorithmus-Mustergenerators zum Testen einer Speichervorrichtung in Übereinstimmung mit der vorliegenden Erfindung darstellt.
  • Unter Bezugnahme auf 9 wird ein Quell-Programm geladen. 10 zeigt ein Beispiel des Quell-Programms, wobei 10a eine Struktur des Quell-Programms darstellt und 10b ein tatsächliches Beispiel des Quell-Programms darstellt.
  • Wie in 9 und 10 dargestellt, ist das Quell-Programm ein Programm, welches einen Speichermusteralgorithmus und Register beschreibt. Das Quell-Programm kann in einen Bereich 1010 zum Definieren eines Makros, einen Registeranfangsblock 1020 zum Definieren eines Anfangswerts des Registers, einen Startfunktionsblock 1030 zum Beschreiben einer Testfunktion und einem Subfunktionsblock 1040 zum Beschreiben einer Subfunktion geteilt sein.
  • 10b stellt einen Teil des tatsächlichen Beispiels des Quell-Programms dar.
  • Das auf diese Weise geschriebene Quell-Programm wird von dem Konsolen-PC geladen und von einem Compiler kompiliert, um ein Testprogramm (S110) zu erzeugen. Das Quell-Programm und der Compiler werden durch TTL (Turbo Test Language) und einem von dem Anmelder entwickelten TTL-Kompiler zu Beispielzwecken beschrieben. Äquivalente Programme können verwendet werden.
  • Das von dem Compiler kompilierte Testprogramm wird von dem Konsolen-PC an ALPG in dem Speichertester in Übereinstimmung mit der vorliegenden Erfindung übertragen, um in einem internen Instruktionsspeicher (S130) gespeichert zu werden.
  • Das Testprogramm wird in dem ALPG analysiert, um ein Testmuster zu erzeugen. Das Testmuster wird auf die zu testende Speichervorrichtung angewendet, um einen Test durchzuführen (S150). Das heißt, eine in dem Testprogramm gespeicherte Instruktion wird ausgelesen, und das Testmuster einschließlich einer Befehlslogik, einer Adresslogik und einer Datenlogik, die für den Test notwendig sind, wird erzeugt und auf die zu testende Speichervorrichtung angewendet, um den Test durchzuführen.
  • Nachdem der Test durchgeführt wurde, wird eine Datenaufgabe von der Speichervorrichtung mit einem erwarteten Wert, der von dem ALPG in Übereinstimmung mit der vorliegenden Erfindung erzeugt wurde, verglichen, um eine durchgefallene Speichervorrichtung zu bestimmen.
  • Wenn die durchgefallene Speichervorrichtung bestimmt ist, werden Informationen über den durchgefallenen Speicher gespeichert.
  • Wie oben beschrieben, bietet der Speichertester zum Durchführen eines Tests auf einer Speichervorrichtungsmodulebene oder einer Komponentenebene in Übereinstimmung mit der vorliegenden Erfindung einen Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung mit einer Konfiguration, welche eine Konfiguration eines Speichertesters einschließlich einer Adressverwürfelung und einer Datenverwürfelung optimieren kann.
  • Obwohl die vorliegende Erfindung insbesondere unter Bezug auf die bevorzugte Ausführungsform derselben dargestellt und beschrieben wurde, wird dem Durchschnittsfachmann offenbar werden, dass verschiedene Änderungen in Form und Details daran durchgeführt werden können, ohne von dem Schutzbereich der Erfindung wie durch die beigefügten Patentansprüche definiert abzuweichen.

Claims (19)

  1. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung, welcher aufweist: einen Instruktionsspeicher zum Empfangen von einem externen Konsolen-PC und Speichern eines Testprogramms einschließlich einer Instruktion zum Durchführen eines Tests; eine Sequenzsteuereinheit zum sequenziellen Auslesen der in dem Testprogramm beinhalteten Instruktionen von dem Instruktionsspeicher, wenn der Test durchgeführt wird; eine Schnittstelleneinheit zum Verbinden mit einer externen Vorrichtung; ein PLL zum Bereitstellen eines Taktsignals mit einer identischen Phase; eine Befehl erzeugende Einheit zum Erzeugen einer Befehlslogik, die für den Test erforderlich ist, im Hinblick auf jeden der von dem PLL bereitgestellten Zyklen; eine Adressen erzeugende Einheit zum Erzeugen einer Adresslogik, die für den Test erforderlich ist, über eine Adressverwürfelung im Hinblick auf jeden der Zyklen; eine Daten erzeugende Einheit zum Erzeugen einer Datenlogik, die für den Test erforderlich ist, über eine Datenverwürfelung im Hinblick auf jeden der Zyklen; und eine Daten vergleichende Einheit zum Vergleichen eines in der Daten erzeugenden Einheit erzeugten Datums und eines Testdatums für jeden der Zyklen und Speichern einer Information über einen durchgefallenen Speicher.
  2. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 1, wobei die Schnittstelleneinheit ein Verbinden mit einer variablen Stromversorgung durchführt, um eine Spannung für den Test bereitzustellen, dem Konsolen-PC zum Erzeugen des Testprogramms und Empfangen und Analysieren eines Testergebnisses, einer Takt erzeugende Einheit zum Erzeugen eines Referenztakts, und einem Speichertester einschließlich einer steuernden Einheit zum Steuern.
  3. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 1, wobei der Instruktionsspeicher wenigstens eine Instruktion speichert, wobei die Instruktion ein Sequenzfeld, welches ein Datum ist, das zum Steuern einer Sequenz des Testprogramms verwendet wird durch Berechnen eines Instruktionszeigers für jeden Taktzyklus, ein Adressfeld, welches ein Datum für eine arithmetische Operation zum Erzeugen einer Speicherdatenzeile ist, sowie ein Steuerfeld, welches ein Datum für einen Speichersteuersignalzustand oder ein Echtzeit-Inversionsflag ist, aufweist.
  4. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 1, wobei die Sequenzsteuereinheit aufweist: einen Instruktionszeiger zum Laden und Speichern eines Zeigers für die Instruktion von dem Instruktionsspeicher; ein Stackregister für den Stack des Instruktionszeigers; eine Mehrzahl von Instruktionszählerregistern für einen Instruktionszähler; ein Flag-Register zum Speichern eines Flag-Datums; und eine Steuereinheit zum Laden und Steuern einer entsprechenden Operation von dem Instruktionsspeicher und Steuern des Instruktionszeigers, Stackregisters oder der Mehrzahl von Instruktionszählerregistern.
  5. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 1, wobei die Befehl erzeugende Einheit einen Befehl einschließlich CS- (Chipauswahl), RAS- (Row Address Strobe) und CAS- (Column Address Strobe) Signalen erzeugt.
  6. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 1, wobei die Adressen erzeugende Einheit aufweist: eine logische Adressen erzeugende Einheit zum Erzeugen einer Zeilenadresse, einer Spaltenadresse und einer Bankadresse eines Speichers; eine verwürfelte Adressen erzeugende Einheit zum Erzeugen einer verwürfelten Adresse der Zeilenadresse und der Spaltenadresse des Speichers; und ein Adress-Multiplexer zum Erzeugen einer physikalischen Adresse durch Multiplexen der verwürfelten Adresse.
  7. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 6, wobei die logische Adressen erzeugende Einheit aufweist: ein erstes Anfangswertregister zum Speichern eines Anfangswerts der Zeilenadresse X des Speichers; ein zweites Anfangswertregister zum Speichern eines Anfangswerts der Spaltenadresse Y des Speichers; ein drittes Anfangswertregister zum Speichern eines Anfangswerts der Bankadresse Z des Speichers; ein ALU-DX zum Erzeugen einer zusätzlichen Zeilenadresse DX, indem ein Wert von dem ersten Anfangswertregister empfangen wird und die arithmetische Operation durchgeführt wird; ein ALU-DY zum Erzeugen einer zusätzlichen Spaltenadresse DY, indem ein Wert von dem zweiten Anfangswertregister empfangen wird und die arithmetische Operation durchgeführt wird; ein ALU-X zum Durchführen der arithmetischen Operation zum Erzeugen der Spaltenadresse, indem ein Ausgabewert von dem ALU-DX und ein sofortiger Adresswert immX der Zeilenadresse empfangen wird; ein ALU-Y zum Durchführen der arithmetischen Operation zum Erzeugen der Spaltenadresse, indem ein Ausgabewert von dem ALU-DY und ein sofortiger Adresswert immY der Spaltenadresse empfangen wird; ein ALU-Z zum Durchführen der arithmetischen Operation zum Erzeugen der Bankadresse, indem ein Wert aus dem dritten Anfangswertregister empfangen wird; ein erster Inverter zum Ausgeben der Zeilenadresse des Speichers, indem ein Ausgabewert des ALU-X invertiert wird, wenn ein Zeilenadress-Inversionsflag eingegeben wird; ein zweiter Inverter zum Ausgeben der Spaltenadresse des Speichers, indem ein Ausgabewert von ALU-Y invertiert wird, wenn ein Spaltenadress-Inversionsflag eingegeben wird; ein dritter Inverter zum Ausgeben der Bankadresse des Speichers, indem ein Ausgabewert von ALU-Z invertiert wird, wenn ein Bankadress-Inversionsflag eingegeben wird.
  8. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 6, wobei die verwürfelte Adressen erzeugende Einheit aufweist: eine X-Verwürfelungstabelle zum Speichern eines Datums, welches eine Referenz für eine Zeilenadressverwürfelung ist; eine Y-Verwürfelungstabelle zum Speichern eines Datums, welches eine Referenz für eine Spaltenadressverwürfelung ist; eine X-Verwürfelungslogik zum Durchführen einer Adressverwürfelung basierend auf Werten, die in der X-Verwürfelungstabelle gespeichert sind, indem die Zeilenadresse X des Speichers empfangen wird, welche eine Ausgabe der logische Adressen erzeugenden Einheit ist; eine Y-Verwürfelungslogik zum Durchführen einer Adressverwürfelung basierend auf Werten, die in der Y-Verwürfelungstabelle gespeichert sind, indem die Spaltenadresse Y des Speichers empfangen wird, welche eine Ausgabe der logische Adressen erzeugenden Einheit ist; ein erster Multiplexer zum Empfangen und Multiplexen eines Ausgabewerts der X-Verwürfelungslogik und der Zeilenadresse X des Speichers, welche die Ausgabe der logische Adressen erzeugenden Einheit ist; ein zweiter Multiplexer zum Empfangen und Multiplexen eines Ausgabewerts der Y-Verwürfelungslogik und der Spaltenadresse Y des Speichers, welche die Ausgabe der logische Adressen erzeugenden Einheit ist; eine X-Operationslogik zum Erzeugen einer verwürfelten Zeilenadresse, indem eine Ausgabe von dem ersten Mulitplexer empfangen wird und ein ASCRAM_EN (Sperre Adressverwürfelung) Flag oder ein ASCROFF- (Sperre Echtzeitadressverwürfelung) Flag, welches ein Flag ist in Verbindung mit einem Verwürfeln, um in eine physikalische Adresse zu konvertieren; und eine Y-Operationslogik zum Erzeugen einer verwürfelten Spaltenadresse, indem eine Ausgabe von dem zweiten Mulitplexer empfangen wird und ein ASCRAM_EN- Flag oder ein ASCROFF- Flag, um in eine physikalische Adresse zu konvertieren, wobei die X-Verwürfelungslogik einen Ausgabewert erzeugt, definiert durch Xn = NOT (Xi Logik Xj) [wobei n, i und j ganze Zahlen sind im Bereich von 0 bis 15, und Logik eine NOP- (keine Operation), AND-, OR-, XOR-Operation ist], und wobei die Y-Verwürfelungslogik einen Ausgabewert erzeugt, definiert durch Yn = NOT(Yi Logik Yj) [wobei n, i und j ganze Zahlen sind im Bereich von 0 bis 15, und Logik eine NOP- (keine Operation), AND-, OR-, XOR-Operation ist].
  9. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 6, wobei der Adress-Multiplexer einen dritten Multiplexer aufweist zum Erzeugen einer physikalischen Adresse, indem ein Ausgabewert der verwürfelte Adressen erzeugenden Einheit unter Verwendung eines AY- (Y-Adressauswahl) Flags gemultiplext wird.
  10. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 1, wobei die Daten erzeugende Einheit aufweist: eine logische Daten erzeugende Einheit zum Erzeugen eines zu testenden Datums; eine verwürfelte Daten erzeugende Einheit zum Erzeugen eines verwürfelten Datums, welches erhalten wird, indem ein Ausgabesignal der logische Daten erzeugenden Einheit verwürfelt wird; eine Serialisierungseinheit zum Serialisieren des verwürfelten Datums, um als ein DQ-Signal des Speichers eingegeben zu werden; und eine Deserialisierungseinheit zum Deserialisieren einer Datumsausgabe von dem DQ-Signal des Speichers.
  11. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 10, wobei die logische Daten erzeugende Einheit aufweist: ein Anfangsregister zum Speichern eines Anfangswerts eines Datums; eine Datenmuster erzeugende Einheit zum Erzeugen eines Datenmusters, indem ein DP- (Datenmuster) Auswahlsignal erhalten wird sowie die Zeilenadresse X und die Spaltenadresse Y des Speichers, welche ein interner Signalwert der Adressen erzeugenden Einheit sind; ein Datenkomplement-Maskenregister zum Speichern eines Maskendatums zum Datenkomplement; ein DFLG-Register zum Speichern von DFLG (konsistentes Dateninversionsflag), welches zum Invertieren von Daten dient; ein vierter Inverter zum Invertieren der Maskendaten des Datenkomplement-Maskenregisters; eine AND-Logik zum Empfangen eines Ausgabesignals von dem vierten Inverter und eines Echtzeit-Inversionsflags, um eine AND-Logik-Operation durchzuführen; und eine XOR-Logik zum Durchführen einer XOR-Logik-Operation eines Ausgabewerts des ALU-D, eines Ausgabewerts der AND-Logik, eines Werts, der in dem DFLG-Register gespeichert ist, und eines Ausgabewerts der Muster erzeugenden Einheit.
  12. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 10, wobei die verwürfelte Daten erzeugende Einheit aufweist: eine Datenverwürfelungstabelle zum Speichern eines Datums, welche eine Referenz zum Verwürfeln ist; eine Datenverwürfelungslogik zum Empfangen eines logischen Datums, welches ein Ausgabesignal der logische Daten erzeugenden Einheit ist, und eines Teils des logischen Adresswerts der Adressen erzeugenden Einheit sowie Durchführen einer Datenverwürfelung basierend auf einem in der Datenverwürfelungstabelle gespeicherten Wert; ein vierter Multiplexer zum Empfangen und Multiplexen eines Ausgabewerts der Datenverwürfelungslogik und eines DSCRAM_EN- (Sperre Datenverwürfelung) Flags oder DSCROFF- (Sperre Echtzeitdatenverschlüsslung) Flags, welches ein Flag verbunden mit einem Verwürfeln ist, um in eine physikalische Adresse zu konvertieren; und eine Datenoperationslogik zum Erzeugen eines verwürfelten Datums durch Empfangen eines Ausgabewerts von dem vierten Mulitplexer, wobei die Datenoperationslogik einen Ausgabewert erzeugt, definiert durch Dn = NOT(Ai Logik Aj) [wobei A = X oder A = Y, i und j ganze Zahlen sind im Bereich von 0 bis 3, und Logik eine NOP- (keine Operation), AND-, OR-, XOR-Logik ist].
  13. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 10, wobei die Serialisierungseinheit aufweist: ein erstes Flipflop zum Ausgeben eines empfangenen MSB- (Most Significant Bit, bedeutendstes Bit) Teils eines Ausgabedatums der verwürfelte Daten erzeugenden Einheit durch Widerspiegeln einer Variation in einem Wert basierend auf einem Ausgangstakt; ein zweites Flipflop zum Ausgeben eines empfangenen LSB- (Least Significant Bit; bedeutungslosestes Bit) Teils eines Ausgabedatums der verwürfelte Daten erzeugenden Einheit durch Widerspiegeln einer Variation in einem Wert basierend auf einem Ausgangstakt; ein fünfter Multiplexer zum Empfangen und Multiplexen von Ausgaben von dem ersten und dem zweiten Flipflop basierend auf dem Ausgangstakt; ein fünfter Inverter zum Erzeugen eines serialisierten Ausgabesignals durch Inversion eines von dem fünften Mulitplexer gemultiplexten Signals.
  14. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 1, wobei die Deserialisierungseinheit aufweist: ein drittes Flipflop zum Ausgeben des empfangenen DQ-Signals des Speichers, indem eine Variation in einem Wert basierend auf einem Eingangstakt widergespiegelt wird; ein viertes Flipflop zum Ausgeben eines empfangenen Ausgabe-Signals der Serialisierungseinheit, indem eine Variation in einem Wert basierend auf einem invertierten Wert in dem Eingangstakt widergespiegelt wird; ein Latch zum Ausgeben eines empfangenen Ausgabe-Signals von dem dritten Flipflop, indem eine Variation in einem Wert basierend auf einem invertierten Wert in dem Eingangstakt widergespiegelt wird; und eine Ausgabeeinheit zum Ausgeben eines Signals, indem Ausgabesignale des Latches und des vierten Flipflops kombiniert werden.
  15. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit Anspruch 1, wobei die Daten vergleichende Einheit aufweist: eine digitale vergleichende Einheit zum Empfangen eines Ausgabesignals von der Daten erzeugenden Einheit, um einen Datenvergleich durchzuführen; eine durchgefallenen Speicher auswählende Einheit zum Auswählen eines durchgefallenen Speichers; und Speichermittel zum Speichern von Informationen über ein Startregister des durchgefallenen Speichers und eines Fehlermodes.
  16. Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung in Übereinstimmung mit einem der Ansprüche 1 bis 15, wobei der Algorithmus-Mustergenerator als einzelner Chip unter Verwendung eines FPGA verkörpert ist.
  17. Speichertester zum Testen einer Speichervorrichtung, welcher aufweist: eine variable Stromversorgung zum Bereitstellen einer Spannung für einen Test der Speichervorrichtung; einen Konsolen-PC zum Erzeugen des Testprogramms und Empfangen und Analysieren eines Testergebnisses; eine Takt erzeugende Einheit zum Erzeugen eines Referenztakts und eine Steuereinheit zum Steuern; und eine Muster erzeugende Platine zum Empfangen des Testprogramms von dem Konsolen-PC, um ein Testmustersignal zu erzeugen, Übermitteln des Testmustersignals an die zu testende Speichervorrichtung und Empfangen und Vergleichen einer Testergebnisausgabe von der Speichervorrichtung, wobei ein Testmuster erzeugt wird und ein Test durchgeführt wird unter Verwendung eines Algorithmus-Mustergenerators in Übereinstimmung mit einem der Ansprüche 1 bis 15.
  18. Verfahren zum Testen einer Speichervorrichtung unter Verwendung eines Algorithmus-Mustergenerators, welches die folgenden Schritte aufweist: Erzeugen eines Testprogramms, indem ein Quell-Programm einschließlich einer Information über einen Test mit einem Compiler geladen und kompiliert wird; Übermitteln des Testprogramms an den Algorithmus-Mustergenerator in Übereinstimmung mit einem der Ansprüche 1 bis 15, um dasselbe in einem internen Instruktionsspeicher zu speichern; Auslesen einer Instruktion, die in dem Testprogramm gespeichert ist, und Erzeugen eines Testmusters einschließlich einer Befehlslogik, einer Adresslogik und einer Datenlogik, die auf eine zu testende Speichervorrichtung angewendet werden, wobei ein Test durchgeführt wird; Bestimmen einer durchgefallenen Speichervorrichtung nach Durchführen des Tests, indem eine Datenausgabe von der Speichervorrichtung mit einem Wert, der von dem Algorithmus-Mustergenerator in Übereinstimmung mit einem der Ansprüche 1 bis 15 erzeugt wurde, verglichen wird; und Speichern von Information über den durchgefallenen Speicher, wenn der durchgefallene Speicher bestimmt ist.
  19. Computer-lesbares Aufzeichnungsmedium mit einem darauf verkörperten Programm, welches die folgenden Funktionen durchführt: Empfangen von einem externen Konsolen-PC und Speichern eines Testprogramms einschließlich einer Instruktion zum Durchführen eines Tests; sequenzielles Auslesen der Instruktion des Testprogramms von einem Instruktionsspeicher, wenn der Test durchgeführt wird; Herstellen einer Schnittstelle mit einer externen Vorrichtung; Erzeugen und Bereitstellen eines Taktsignals mit einer identischen Phase; und in Übereinstimmung mit einem Taktzyklus des Taktsignals, Erzeugen einer Adresslogik, die für den Test erforderlich ist, indem eine Adressverwürfelung in Übereinstimmung mit jedem der Taktzyklen durchgeführt wird; Erzeugen einer Datenlogik, die für den Test notwendig ist, indem eine Datenverwürfelung in Übereinstimmung mit jedem der Taktzyklen durchgeführt wird; und Vergleichen eines Datums, das von der Daten erzeugenden Einheit erzeugt wurde, mit einem Testdatum in Übereinstimmung mit jedem der Testzyklen und Speichern von Information über einen durchgefallenen Speicher.
DE102005034922A 2004-08-03 2005-07-26 Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung und Speichertester, welcher diesen verwendet Ceased DE102005034922A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040061085A KR100540506B1 (ko) 2004-08-03 2004-08-03 메모리 소자 테스트를 위한 알고리즘 패턴 생성기 및 이를이용한 메모리 테스터
KR10-2004-0061085 2004-08-30

Publications (1)

Publication Number Publication Date
DE102005034922A1 true DE102005034922A1 (de) 2006-03-23

Family

ID=35758911

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005034922A Ceased DE102005034922A1 (de) 2004-08-03 2005-07-26 Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung und Speichertester, welcher diesen verwendet

Country Status (5)

Country Link
US (1) US7302623B2 (de)
JP (1) JP2006047311A (de)
KR (1) KR100540506B1 (de)
DE (1) DE102005034922A1 (de)
TW (1) TWI274350B (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958422B2 (en) * 2006-03-27 2011-06-07 Sapphire Infotech, Inc. Method and apparatus for generating self-verifying device scenario code
US8010851B2 (en) * 2008-03-31 2011-08-30 Advantest Corporation Testing module, testing apparatus and testing method
US7941713B2 (en) * 2008-08-27 2011-05-10 Taiwan Semiconductor Manufacturing Company, Ltd. Programmable self-test for random access memories
KR101055529B1 (ko) 2009-11-06 2011-08-08 삼성전기주식회사 가변 시퀀스를 이용한 메모리 테스트 장치 및 그 방법
KR20130048999A (ko) * 2011-11-03 2013-05-13 삼성전자주식회사 반도체 테스트 장치 및 그의 어드레스 스크램블 생성 방법
WO2013101006A1 (en) 2011-12-28 2013-07-04 Intel Corporation Generic address scrambler for memory circuit test engine
DE112012006172B4 (de) * 2012-03-30 2020-12-03 Intel Corporation Generischer Adressen-Scrambler für Speicherschaltungs-Testengine
US9354274B2 (en) * 2012-08-13 2016-05-31 Nanya Technology Corporation Circuit test system electric element memory control chip under different test modes
KR101456028B1 (ko) 2013-07-31 2014-11-03 주식회사 유니테스트 Fpga기반 메모리 시험 장치의 출력신호 교정 장치 및 그 방법
KR101530587B1 (ko) 2013-07-31 2015-06-23 주식회사 유니테스트 고속 Fail Memory 데이터 취득 장치 및 그 방법
KR102087603B1 (ko) 2013-10-07 2020-03-11 삼성전자주식회사 메모리 테스트 장치 및 이의 동작 방법
US9324454B2 (en) 2013-12-30 2016-04-26 Qualcomm Incorporated Data pattern generation for I/O testing of multilevel interfaces
US9535119B2 (en) 2014-06-30 2017-01-03 Intel Corporation Duty cycle based timing margining for I/O AC timing
KR102301651B1 (ko) * 2015-06-02 2021-09-14 에스케이하이닉스 주식회사 테스트 패턴 발생 장치 및 방법, 이를 이용한 테스트 시스템과, 컴퓨터 프로그램
KR102538991B1 (ko) * 2016-07-15 2023-06-02 에스케이하이닉스 주식회사 반도체 테스트 장치 및 반도체 테스트 방법
US10705934B2 (en) * 2017-06-30 2020-07-07 Taiwan Semiconductor Manufacturing Co., Ltd. Scan synchronous-write-through testing architectures for a memory device
KR102471416B1 (ko) 2018-05-23 2022-11-29 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 메모리 모듈
CN112464613B (zh) * 2019-09-09 2023-09-15 瑞昱半导体股份有限公司 数字电路鲁棒性验证方法及***
CN112052483B (zh) * 2020-08-21 2022-03-25 郑州信大捷安信息技术股份有限公司 一种密码卡的数据通信***及方法
KR102314419B1 (ko) * 2021-07-27 2021-10-19 (주) 에이블리 반도체 테스트 패턴 발생 장치 및 방법
CN114637638B (zh) * 2022-05-18 2022-08-05 南京宏泰半导体科技有限公司 一种模板化的存储器测试图形发生器及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100286101B1 (ko) * 1999-04-17 2001-03-15 윤종용 반도체 장치의 신호 발생회로
JP2001148199A (ja) * 1999-11-19 2001-05-29 Mitsubishi Electric Corp 自己テスト回路内蔵半導体記憶装置
US6754868B2 (en) * 2001-06-29 2004-06-22 Nextest Systems Corporation Semiconductor test system having double data rate pin scrambling
US7003697B2 (en) * 2001-07-02 2006-02-21 Nextest Systems, Corporation Apparatus having pattern scrambler for testing a semiconductor device and method for operating same
JP2003068098A (ja) * 2001-08-28 2003-03-07 Mitsubishi Electric Corp テスト回路装置および半導体集積回路装置
JP2003223798A (ja) * 2002-01-25 2003-08-08 Mitsubishi Electric Corp テスト容易化回路
JP2004157079A (ja) * 2002-11-08 2004-06-03 Renesas Technology Corp チップ内蔵半導体検査装置

Also Published As

Publication number Publication date
TWI274350B (en) 2007-02-21
JP2006047311A (ja) 2006-02-16
US7302623B2 (en) 2007-11-27
KR100540506B1 (ko) 2006-01-11
US20060031725A1 (en) 2006-02-09
TW200617977A (en) 2006-06-01

Similar Documents

Publication Publication Date Title
DE102005034922A1 (de) Algorithmus-Mustergenerator zum Testen einer Speichervorrichtung und Speichertester, welcher diesen verwendet
US6516428B2 (en) On-chip debug system
US7424660B2 (en) Synchronization point across different memory BIST controllers
DE69226001T2 (de) Hochgeschwindigkeitsprüfung einer integrierten Schaltung mit JTAG
DE102004023407B4 (de) Testvorrichtung und Verfahren zum Testen eines eingebetteten Speicherkerns sowie zugehöriger Halbleiterchip
US6467053B1 (en) Captured synchronous DRAM fails in a working environment
US5633877A (en) Programmable built-in self test method and controller for arrays
US20030182641A1 (en) Rapid input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it
US5170398A (en) Pattern generating apparatus for memory having a logical operation function
US8655637B2 (en) Address range comparator for detection of multi-size memory accesses with data matching qualification and full or partial overlap
DE10034899C1 (de) System zum Test schneller synchroner Halbleiterschaltungen
US6618826B1 (en) Test sequences generated by automatic test pattern generation and applicable to circuits with embedded multi-port RAMs
Camurati et al. Industrial BIST of embedded RAMs
US7610518B2 (en) Program counter range comparator with equality, greater than, less than and non-equal detection modes
KR100295546B1 (ko) 반도체디바이스시험장치
US6842712B2 (en) Method for testing an electronic component; computer program product, computer readable medium, and computer embodying the method; and method for downloading the program embodying the method
US6006350A (en) Semiconductor device testing apparatus and method for testing memory and logic sections of a semiconductor device
US20060200805A1 (en) Reporting a Saturated Counter Value
US6490700B1 (en) Memory device testing apparatus and data selection circuit
US4441182A (en) Repetitious logic state signal generation apparatus
US6445205B1 (en) Method of testing integrated circuits
JP2934608B2 (ja) 半導体メモリ試験方法及びその装置
US20020049943A1 (en) Semiconductor test system
JP3972416B2 (ja) メモリテストパタン生成回路
US6675330B1 (en) Testing the operation of integrated circuits by simulating a switching-mode of their power supply inputs

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: DF-MP, 80333 MUENCHEN

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final