DE10135583B4 - Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher - Google Patents

Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher Download PDF

Info

Publication number
DE10135583B4
DE10135583B4 DE10135583A DE10135583A DE10135583B4 DE 10135583 B4 DE10135583 B4 DE 10135583B4 DE 10135583 A DE10135583 A DE 10135583A DE 10135583 A DE10135583 A DE 10135583A DE 10135583 B4 DE10135583 B4 DE 10135583B4
Authority
DE
Germany
Prior art keywords
data
semiconductor memory
word
test
shift register
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
DE10135583A
Other languages
English (en)
Other versions
DE10135583A1 (de
Inventor
Carsten Ohlhoff
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.)
Polaris Innovations Ltd
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10135583A priority Critical patent/DE10135583B4/de
Priority to US10/200,633 priority patent/US7120841B2/en
Publication of DE10135583A1 publication Critical patent/DE10135583A1/de
Application granted granted Critical
Publication of DE10135583B4 publication Critical patent/DE10135583B4/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/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/36Data generation devices, e.g. data inverters

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

Datengenerator (2) zur Erzeugung von Testdaten für einen wortorientierten Halbleiterspeicher (1), der auf dem Halbleiterchip (3) des Halbleiterspeichers (1) integriert ist und ein Schieberegister (4) aufweist, dadurch gekennzeichnet, dass der Halbleiterspeicher (1) zur Speicherung von n Bit breiten Datenworten ausgelegt ist und dass das Schieberegister(4) eine Länge von S Bit aufweist, die einem ganzzahligen Vielfachen von n entspricht, wobei eine Auswahleinheit (5) vorgesehen ist, die zur Erzeugung eines n Bit breiten Datenworts eine Teilmenge von n Datenbits aus dem S Datenbits umfassenden Inhalt des Schieberegisters (4) auswählt.

Description

  • Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher.
  • Gegenstand der vorliegenden Erfindung ist ein Datengenerator zur Erzeugung von in Datenworten organisierten Testdaten für einen wortorientierten Halbleiterspeicher, insbesondere zum Einsatz in einem dynamischen Schreib-/Lesespeicher mit wahlfreiem Zugriff (DRAM).
  • Unter einem wortorientierten Halbleiterspeicher ist im Rahmen dieser Anmeldung ein Halbleiterspeicher zu verstehen, bei dem bei Anlegen einer Speicheradresse mehrere Datenbits in Form eines Datenworts parallel über mehrere Datenleitungen in den Halbleiterspeicher ein- oder aus diesem ausgelesen werden. Moderne wortorientierte Halbleiterspeicher wie z.B. dynamische Speicher mit wahlfreiem Zugriff (DRAM) weisen Wortlängen von typisch 4, 8 oder 16 Bits und entsprechend 4, 8 oder 16 Datenleitungen auf.
  • Ein Halbleiterspeicher weist typisch M × N Speicherzellen auf, die in M Spalten und N Zeilen angeordnet sind. Daneben sind die Speicherzellen bei einem n Bit wortorientierten Halbleiterspeicher in aus n Speicherzellen bestehenden Datensegmenten zusammengefasst.
  • Die Speicherzellen eines Datensegments werden häufig über eine gemeinsame Wortleitung (WL) adressiert. Die Zahl der über eine Wortleitung adressierten Speicherzellen, die z.B. in einer Zeile („row") angeordnet sind, ist dabei ein ganzzahliges Vielfaches der Wortbreite n. Von Außen wird die Zeile durch Angabe einer Zeilenadresse x adressiert, was der Auswahl der Wortleitung entspricht, die der Zeile zugeordnet ist.
  • Innerhalb eines Datensegments werden die n einzelnen Speicherzellen über n verschiedene Bitleitungen adressiert. Von Außen werden jedoch alle n Speicherzellen des Datensegments gleichzeitig durch die Angabe einer Spaltenadresse y („column") über n externe Datenleitungen (DQ „data query", d0 bis dn – 1) adressiert. Die Angabe einer x-y-Speicheradresse adressiert somit ein gesamtes, aus n Speicherzellen bestehendes Datensegment.
  • Die y-Adressierung bewirkt, dass der Inhalt der n externen Datenleitungen, nämlich ein n Bit breites Datenwort, mittels eines Multiplexverfahrens in das Datensegment an der Adresse x–y eingeschrieben oder ausgelesen wird. Unter einer Adresse x–y ist jeder Datenleitung 0 bis n – 1 genau eine Speicherzelle innerhalb des adressierten Datensegments zugeordnet.
  • Die n Speicherzellen eines Datensegments sind i.a. räumlich benachbart im Halbleiterspeicher angeordnet. Ebenso sind die n Bitleitungen, über die die n Speicherzellen des Datensegments adressiert werden, i.a. benachbart angeordnet. Aufgrund von Produktionsfehlern kann es somit nicht nur zu Fehlfunktionen kommen, die in fehlerhaften einzelnen Speicherzellen bzw. Zuleitungen alleine begründet sind. Gerade wegen der hohen Integrationsdichte und der Organisation der Speicherzellen in Datensegmenten kann es zu unerwünschten Wechselwirkungen wie z.B, Kurzschlüssen zwischen benachbarten Bitleitungen bzw. Speicherzellen und/oder z.B. kapazitivem Übersprechen zwischen benachbarten Bitleitungen kommen, die die einwandfreie Funktion des Datensegments oder benachbarter Datensegmente und damit des gesamten Halbleiterspeichers beeinträchtigen.
  • Um die hergestellten Halbleiterspeicher auf einwandfreie Funktion zu überprüfen, werden diese aufwendigen Testverfahren unterzogen. Bislang werden großtechnisch hergestellte Halbleiterspeicher i.a. erst nach ihrer Fertigstellung mittels eines externen Testsystems auf eventuelle Produktionsfehler getestet.
  • Zum Testen eines n Bit wortorientierten Halbleiterspeichers wird in einem Datengenerator ein n Bit breites Datenwort er zeugt. Ein Adressgenerator erzeugt eine x-y-Adresse zur Adressierung eines n Bit Datensegments, in das das erzeugte Datenwort eingelesen wird. Datengenerator und Adressgenerator sind dabei Teile des Testsystems.
  • Im nachfolgenden Schritt wird der Inhalt des Datensegments ausgelesen und mit dem ursprünglich eingelesenen Datenwort verglichen. Dabei wird eine Vielzahl verschiedener Datenmuster benötigt, um alle Zellen eines Datensegments auf eventuelle Fehlfunktionen hin zu testen.
  • Weiterhin können Wechselwirkungen zwischen einzelnen Zellen bzw. Bitleitungen auftreten, die die Speicherzuverlässigkeit negativ beeinflussen. Mittels geeigneter Datenmuster können alle Speicherzellen eines Datensegments auf solche Wechselwirkungen hin überprüft werden.
  • Die zum Testen benötigten Datenmuster können entweder aus einem vorab programmierten statischen Register ausgelesen werden, oder mittels eines algorithmischen Datengenerators erzeugt werden. Algorithmische Datengeneratoren, so wie sie heute in typischen Testsystemen implementiert sind, weisen den Vorteil auf, dass sie flexibel an die Architektur des zu testenden Halbleiterspeichers anzupassen sind.
  • Wechselwirkungen zwischen einzelnen Datensegmenten können getestet werden, indem die Schreib-/Lesegenauigkeit eines Datensegments vor einem wechselnden Datenhintergrund in den anderen Datensegmenten getestet wird. Durch systematische Variation des Datenhintergrunds ist es möglich, unerwünschte Wechselwirkungen zwischen einzelnen Datensegmenten aufzuspüren. Wechselwirkungen zwischen verschiedenen Speicherzellen bzw. Bitleitungen innerhalb eines Datensegments können getestet werden, indem n Bits innerhalb des Datenworts variiert werden.
  • Nachteilig an dem beschriebenen Testverfahren mittels eines externen Testsystems ist, dass das externe Testsystem für je den zu testenden Halbleiterspeicher alle Eingangssignale (Testdaten mit Adressierung) zur Verfügung stellen muss, wozu eine Vielzahl von Testkanälen benötigt wird. Entsprechende Testsysteme erfordern hohe Investitionen, wobei ihre Kosten mit der Zahl der benötigten Testkanäle skalieren.
  • Aus der US 5,659,151 ist ein Halbleiterspeicher mit einem Datengenerator gemäß dem Oberbegriff des Anspruchs 1 bekannt. Bei diesem Datengenerator ist für einen Built-In-Self-Test ein Schieberegister für Testdaten vorgesehen. Das Schieberegister hat dabei eine Breite von n + 1, d.h. ein Testdatenwort plus ein zusätzliches Bit können gleichzeitig im Schieberegister gespeichert werden.
  • Aus der DE 68 92 35 31 T2 ist ein weiteres Schieberegister bekannt, das zur Adressvariation eingesetzt wird.
  • Es ist Aufgabe der Erfindung einen Datengenerator mit einem Schieberegister bereitzustellen, welches einen optimalen Test insbesondere hinsichtlich der Wechselwirkungen zwischen nächst benachbarten Speicherzellen und Bitleitungen ermöglicht.
  • Diese Aufgabe wird erfindungsgemäß durch einen Datengenerator mit den Merkmalen des Anspruchs 1 gelöst. Bevorzugte Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
  • Dabei ist der Datengenerator zur Erzeugung von Testworten für einen wortorientierten Halbleiterspeicher nicht als externer Datengenerator ausgebildet, der Teil eines komplexen Testsystems ist, mit welchem gleichzeitig eine Vielzahl von Halbleiterspeichern getestet werden können. Erfindungsgemäß ist der Datengenerator als Teil einer Testlogik wie z.B. eines BIST-(„built-in-self-test")-Controllers auf den Halbleiterchip des Halbleiterspeichers integriert. Hierdurch lässt sich die Zahl der für jeden zu testenden Chip erforderlichen Testkanäle eines weiterhin erforderlichen externen Testsystems drastisch reduzieren. Durch die Integration des Datengenerators in den zu testenden Halbleiterspeicher selbst kann die Testdatenerzeugung auf einem externen Testsystem ersetzt werden. Dies erlaubt es, bei einem gegebenen Testsystem eine deutlich höhere Anzahl von Halbleiterspeichern parallel zu testen, wodurch entsprechende Kostenvorteile realisiert werden.
  • Die Integration des Datengenerators in den Halbleiterspeicher erlaubt es weiterhin, den Datengenerator optimal an die Architektur des zu testenden Halbleiterspeichers anzupassen. Im Gegensatz dazu ist ein externer Datengenerator, der im allgemeinen Teil eines Testsystems mit weiteren Bestandteilen wie beispielsweise einem Adressgenerator ist, stets sehr universell auszulegen, da er zur Erzeugung von Testalgorithmen für die verschiedensten Halbleiterspeicher geeignet sein muss.
  • Auch wenn der erfindungsgemäße Datengenerator aufgrund seiner Integration in den Halbleiterchip des Halbleitspeichers optimal an die zu testende Speicherarchitektur anzupassen ist, so erhöht der Datengenerator dennoch die Zahl der mindestens erforderlichen funktionellen Elemente, die neben den Speicherzellen zusätzlich auf dem Halbleiterchip untergebracht werden müssen. Da moderne Halbleiterspeicher im allgemeinen höchste Integrationsdichten realisieren, ist der Datengenerator daher vorteilhaft so auszulegen, dass er mit einem möglichst geringen Maß an funktionellen Elementen auskommt. Es muss also ein Optimum zwischen dem Funktionsumfang des Datengenerators und der hierzu erforderlichen Chipfläche angestrebt werden.
  • Hierzu weist der erfindungsgemäße Datengenerator ein Schieberegister auf. In dieses Schieberegister wird zu Beginn eines Testablaufs ein bestimmtes Datenmuster eingelesen und im Ablauf des Testprogramms algorithmisch manipuliert, um eine Vielzahl verschiedener Datenmuster im Schieberegister zu erzeugen. n Bit des Schieberegisterinhalts können über n Datenleitungen DQ in die zu testenden Datensegmente des Halbleiterspeichers eingelesen werden. Im nachfolgenden Verfahrensschritt wird der Inhalt der Speicherzellen des zu testenden Datensegments ausgelesen und das ausgelesene Datenwort mit dem ursprünglich eingelesenen Datenwort verglichen.
  • Der erfindungsgemäße Datengenerator mit Schieberegister ermöglicht eine flexible Datengenerierung und vermeidet dadurch mögliche Einschränkungen in der Testabdeckung.
  • Im allgemeinen wird die Adressierung des vom erfindungsgemäßen Datengenerator erzeugten n Bit breiten Datenworts von einem Adressgenerator erzeugt, der beispielsweise im Rahmen eines vorgegebenen Algorithmus die Adressen zu testender Datensegmente generiert, die während des Testablaufs einzeln und vor zugsweise auch auf eventuelle Wechselwirkungen mit anderen Datensegmenten zu testen sind. Dieser Adressgenerator kann als externer Adressgenerator realisiert werden, also außerhalb des Halbleiterspeichers selbst angeordnet sein, oder auch neben dem Datengenerator ebenfalls auf den Halbleiterchip des Halbleiterspeichers integriert sein.
  • Die Länge S des Schieberegisters ist im wesentlichen frei wählbar, seine Mindestlänge ist durch die Wortbreite n des zu erzeugenden Datenworts vorgegeben. Vorteilhaft wird die Länge S des Schieberegisters stets ein ganzzahliges Vielfaches der Länge n des Datenworts betragen.
  • Übersteigt die Länge des S des Schieberegisters die Länge n des zu erzeugenden Datenworts, so wird zur Generierung eines Datenworts nur eine Teilmenge von n Datenbits aus dem S Daten Bits umfassenden Schieberegisterinhalt auf die n Datenleitungen des Halbleiterspeichers ausgelesen. Dies kann beispielsweise mittels einer Auswahleinheit geschehen, die aus den S Datenbits des Schieberegisters eine Teilmenge von n Bits auswählt. Diese Auswahleinheit kann algorithmisch gesteuert sein. Sie kann aber auch in einer einfacheren Ausgestaltung über eine bis mehrere Steuerleitungen dergestalt angesteuert werden, dass bei Vorliegen eines bestimmten Datenmusters auf den Steuerleitungen stets bestimmte, fest vorgegebene Datenbits aus dem Schieberegister ausgewählt werden. Eine entsprechende Auswahleinheit ist im Rahmen des Ausführungsbeispiels näher erläutert.
  • In einer vorteilhaften Weiterbildung des erfindungsgemäßen Datengenerators umfasst dieser eine Speichereinheit, die zur Aufnahme eines Start-Datenmusters für das Schieberegister vorgehen ist. Wie bereits vorstehend beschrieben, wird zu Beginn eines Testablaufs ein Start-Datenmuster in das Schieberegister eingelesen. Alternativ kann das Start-Datenwort vor dem auszuführenden Test z.B. über einen seriellen Datenpfad von Außen programmiert werden.
  • Dieses Start-Datenmuster wird dann algorithmisch manipuliert, um die erforderlichen Testdaten zu erzeugen. Dabei wird das Start-Datenmuster vorteilhaft einerseits an die Architektur des zu testenden Datensegments und andererseits an die Größe des Schieberegisters sowie die Art dessen algorithmischer Steuerung angepasst.
  • Besondere Vorteile ergeben sich, wenn der Speicher der Speichereinheit als nichtflüchtiger Speicher ausgeführt ist. In diesem nichtflüchtigen Speicher kann dann ein geeignetes Start-Datenmuster abgelegt und zur Durchführung eines Tests aus diesem abgerufen werden. Weiterhin ist es vorteilhaft, wenn die Speichereinheit so ausgelegt ist, dass im Ablauf eines Testprogramms wiederholt neue Start-Datenmuster in der Speichereinheit abgelegt werden können.
  • Ein weiterer Gegenstand der vorliegenden Erfindung ist ein wortorientierter Halbleiterspeicher auf einem Halbleiterchip. Erfindungsgemäß umfasst dieser Halbleiterspeicher einen auf den Halbleiterchip integrierten BIST-Controller, der wiederum einen Datengenerator zur Erzeugung von Testdaten gemäß des Anspruchs 1 aufweist.
  • Ein solcher Halbleiterspeicher kann auf einfache Weise auf einwandfreie Funktion aller Datensegmente getestet werden, da je nach Auslegung des BIST-Controllers für einen Test nur sehr wenige externe Anschlüsse zu kontaktieren sind, d.h. es werden nur wenige Kanäle eines externen Testsystems belegt. Dies bietet ernorme Kostenvorteile bei der großtechnischen Fertigung von Halbleiterspeichern.
  • Weiterhin bietet die in Form eines BIST-Controllers auf den Halbleiterchip integrierte Testlogik den Vorteil, dass der erfindungsgemäße Halbleiterspeicher auch noch nach seiner Fertigung, beispielsweise während seiner Verwendung beim Endkunden, auf einwandfreie Funktionsfähigkeit aller Datensegmente hin zu testen ist. Der BIST-Controller ist dabei mit einfachen Mitteln z.B. mittels eines Programmcodes algorithmisch zu steuern, der auf der Maschine ausgeführt wird, in der der Halbleiterspeicher verwendet wird.
  • Weitere Vorteile ergeben sich, wenn der BIST-Controller einen Adressgenerator aufweist, der die für den Test des Halbleiterspeichers notwendigen Adressen erzeugt.
  • Alternativ hierzu kann die Adressierung der vom Datengenerator erzeugten Testdaten mittels eines externen Controllers gesteuert werden, der nicht in den zu testenden Halbleiterspeicher integriert ist, sondern beispielsweise in Form eines programmierbaren externen Testsystems mit deutlich vereinfachtem Aufbau gegenüber den bislang üblichen Testsystemen zu realisieren ist.
  • Weitere Vorteile ergeben sich, wenn der erfindungsgemäße Halbleiterspeicher einen BIST-Controller aufweist, der programmierbar ist. Insbesondere kann über dessen Programmierung einerseits die algorithmische Manipulation des im Schieberegister gespeicherten Start-Datenmusters und die algorithmische Erzeugung der Adressen realisiert werden.
  • Weitere Vorteile und Merkmale der Erfindung ergeben sich aus den Unteransprüchen sowie den nun folgenden Ausführungsbeispielen, die anhand der Zeichnung erläutert werden. In dieser zeigen:
  • 1: eine schematische Darstellung eines erfindungsgemäßen Halbleiterspeichers mit einem auf den Halbleiterchip integrierten Datengenerator, und
  • 2: ein Ausführungsbeispiel für einen erfindungsgemäßen Datengenerator.
  • 1 zeigt einen Halbleiterspeicher 1, der auf einem Halbleiterchip 3 basiert. Auf diesem Halbleiterchip 3 ist eine Vielzahl von Speicherzellen 11 integriert, die in Datensegmenten 10 organisiert sind. Jedes Datensegment umfasst n Speicherzellen 11. Die Datensegmente 10 sind wiederum in einer Matrix mit M Spalten und N Zeilen angeordnet. Jedes Datensegment wird intern über eine Wortleitung und über n Bitleitungen adressiert, so dass jede Speicherzelle 11 einzeln ansprechbar ist.
  • Extern wird ein Datensegment 10 unter einer Adresse x (Zeile/ row) und y (Spalte/column) adressiert. Dabei geschieht die Adressierung über die Adressleitungen 13 (a0 bis ai). Im gezeigten Beispiel werden die x- und die y-Adresse gemultiplext, d.h. die erforderlichen zwei x-Adressbits und die erforderlichen zwei y-Adressbits werden nacheinander mit entsprechenden ROW- und COLUMN-Befehlen über nur zwei Adressleitungen 13 (a0, a1) an den Halbleiterspeicher 1 übertragen.
  • Die Speicherzellen 11 eines Datensegments 10 können über die n Datenleitungen 12 (d0 bis dn – 1) angesprochen werden, wobei die über die Datenleitungen 12 übertragenen Daten mittels eines Multiplexverfahrens auf die relevanten Bitleitungen gelegt werden.
  • Im gezeigten Beispiel ist N = 4 (d.h. 4 Zeilen), M = 4 (d.h. 4 Spalten), i = 1 (d.h. 2 Adressleitungen) und n = 4 (d.h. 4 Speicherzellen 11 je Datensegment 10).
  • Ebenfalls auf den Halbleiterchip 3 ist ein BIST-Controller 15 integriert, der einen Datengenerator 2, einen Adressgenerator 7 und einen Mikrocontroller 14 umfasst.
  • Der Datengenerator 2 umfasst ein Schieberegister 4, welches die Länge S aufweist. Dabei ist S ein ganzzahliges Vielfaches der Wortbreite n der zu erzeugenden Testdaten, im gegebenen Fall z.B. S = 8.
  • Weiterhin umfasst der Datengenerator 2 eine Auswahleinheit 5, die dazu dient, aus den acht (allgemein S) Speicherplätzen (b0 bis bS – 1) des Schieberegisters vier (allgemein n) Datenbits auszuwählen, aus denen das zu erzeugende Datenwort gebildet wird.
  • Des weiteren weist der Datengenerator 2 eine Speichereinheit 6 auf, die einen nichtflüchtigen Speicher umfasst. In diesem nichtflüchtigen Speicher können Start-Datenmuster abgelegt werden, die zu Beginn eines Testlaufs aus der Speichereinheit 6 ausgelesen und in das Schieberegister 4 geladen werden.
  • Der Adressgenerator 7 ist dazu vorgesehen, die vom Datengenerator 2 erzeugten n Bit breiten Testdaten, die über die Datenleitungen 12 (d0 bis dn – 1) an den Halbleiterspeicher 1 übergeben werden, an bestimmte Datensegmente 10 zu adressieren.
  • Hierzu erzeugt der Adressgenerator 7 Adressen, die über die Adressleitungen 13 (a0, a1) an den Halbleiterspeicher 1 übergeben und dort dekodiert werden.
  • Vorzugsweise werden die Testdaten im Datengenerator 2 auf der Basis eines vorgegebenen Algorithmus erzeugt. Ebenso werden auch die Adressdaten, welche vom Adressgenerator 7 erzeugt werden, ebenfalls vorzugsweise auf der Grundlage eines vorgegebenen und an die Architektur des zu testenden Halbleiterspeichers und insbesondere an die Anordnung der Datensegmente 10 angepassten Algorithmus generiert. Hierzu ist auf den Halbleiterchip 3 weiterhin als Bestandteil des BIST-Controllers 15 ein Mikrocontroller 14 integriert. Dieser Mikrocontroller 14 ist zur Ausführung eines Programmcodes vorgesehen, auf dessen Basis ein vorgegebener Testalgorithmus für den Halbleiterspeicher erzeugt wird, der die algorithmische Generierung von Testdaten durch den Datengenerator 2 sowie die algorithmische Generierung von Adressdaten durch den Adressgenerator 7 umfasst. Weiterhin ist der Mikrocontroller 14 für die Erzeugung und Ausgabe von Steuerbefehlen für den Halbleiterspeicher 1 (WRITE, READ, etc.) vorgesehen. Dabei werden die Steuerbefehle für den Halbleiterspeicher 1 über einen Kommandobus 8 an den Halbleiterspeicher 1 übertragen.
  • Der Mikrocontroller 14 ist weiterhin mit einem Programmspeicher 9 verbunden, der zur Aufnahme des Programmcodes für den Mikrocontroller 14 vorgesehen ist. Schließlich ist der Mikrocontroller 14 über Steuerleitungen 16 extern ansprechbar, z.B. zum Einspielen eines neuen Programmcodes.
  • 2 zeigt schematisch einen möglichen Aufbau für einen erfindungsgemäßen Datengenerator 2. Zur Vereinfachung wird im folgenden angenommen, dass der Datengenerator zur Erzeugung von Testdaten mit einer Wortbreite von 4 Bit vorgesehen ist, die über einen 4 Bit breiten Datenbus 27, realisiert durch die Datenleitungen 12 (d0 bis d3) mit dem Halbleiterspeicher 1 verbunden sind.
  • Im allgemeinen Fall ist der Halbleiterspeicher 1 wortorientiert mit einer Wortbreite von n Bit aufgebaut. Entsprechend ist der Datengenerator 2 über einen n Bit breiten Datenbus 27 mit dem Halbleiterspeicher 1 verbunden.
  • Der Datengenerator 2 weist ein Schieberegister 4 auf, welches die Länge S hat. Dabei entspricht S im allgemeinen einem ganzzahligen Vielfachen der Wortbreite n der zu erzeugenden Testdaten. Im vorliegenden Fall ist die Wortbreite 4 Bit, so dass S einem ganzzahligen Vielfachen von 4 entspricht, also z.B. 8, 12, 16 usw.. Besondere Vorteile ergeben sich, wenn S so groß gewählt wird, dass das zu erzeugende Datenwort zweifach in das Schieberegister geschrieben werden kann. Im vorliegenden Fall ergibt sich somit eine Länge S des Schieberegisters von 8 Bit.
  • Typischerweise ergibt sich eine Wechselwirkung zwischen verschiedenen Speicherzellen des Halbleiterspeichers 1 nicht zwischen sämtlichen Speicherzellen 11 eines Datensegments 10, sondern zwischen solchen Speicherzellen 11, die unmittelbar räumlich benachbart sind oder über unmittelbar räumlich benachbarte Bitleitungen adressiert werden.
  • Aus diesem Grunde ist es vorteilhaft, wenn das zu erzeugende Testwort ein Bitmuster enthält, welches genau auf das Testen von Wechselwirkungen zwischen nächstbenachbarten Speicherzellen 11 bzw, Bitleitungen ausgelegt ist. Dies wird im allgemeinen bedeuten, dass das kritische Bitmuster genauso viele Testbits umfasst, wie durch die Zahl der Speicherzellen 11 oder Bitleitungen, die miteinander Wechselwirken, vorgegeben ist. Ob als Testbits HIGH- oder LOW-Bits verwendet werden, hängt von den tatsächlichen Gegebenheiten des zu testenden Halbleiterspeichers 1 (Layout, adressierter Failure Mode, etc.) ab.
  • Beispielsweise liegen bei typischen DRAM-Strukturen einer Speicherzelle 11 zwei Speicherzellen 11 so unmittelbar benachbart, dass eine Wechselwirkung z.B. durch kapazitives Übersprechen möglich ist. Weiterhin liegen bei üblichen DRAM-Strukturen jeweils zwei Bitleitungen benachbart zu einer zu prüfenden Bitleitung. Im vorliegenden Fall müsste daher das generierte Datenwort drei Bits umfassen.
  • Im allgemeinen Fall treten Wechselwirkungen zwischen X benachbarten Speicherzellen 11 oder Bitleitungen auf. Da die Länge S des Schieberegisters 4 einem ganzzahligen Vielfachen der Wortbreite n entsprechen soll, ergibt sich daraus als optimale Länge S des Schieberegisters 4 die Summe der auf ein ganzzahliges Vielfaches X* der Wortbreite n aufgerundeten Zahl X plus n, also; S = X* + nwobei X die Zahl der auf eine Wechselwirkung miteinander zu testenden Bitleitungen oder Speicherzellen 11 angibt. Im allgemeinen ergibt sich eine Schieberegisterlänge S, die der doppelten Wortbreite n entspricht, d.h. S = 2n
  • Das Schieberegister 4 ist über einen seriellen Datenpfad 17 mit der Speichereinheit 6 verbunden. Zu Beginn eines Testzyklus wird das in der Speichereinheit 6 abgelegte Start-Datenmuster über den seriellen Datenpfad 17 in das Schieberegister 4 eingelesen. Das Schieberegister 4 ist dabei so aufgebaut, dass nach jedem Puls an einem Verschiebeeingang 18 der Registerinhalt um eine Registerposition weitergeschoben wird. Dabei weist das Schieberegister 4 eine Feedbackschleife 19 auf, über die das höchstwertige Bit (b7) wieder auf die niederwertigste Position (b0) verschoben wird.
  • In einer vorteilhaften Weiterbildung ist die Feedbackschleife 19 schaltbar ausgelegt, so dass mittels eines externen Signals die Verschieberichtung der Feedbackschleife 19 gesteuert werden kann.
  • Das Schieberegister 4 weist acht Ausgänge auf, über welche der Inhalt der Registerpositionen b0 bis b7 ausgelesen werden kann. Diese acht Ausgänge sind mit der Auswahleinheit 5 verbunden. Die Auswahleinheit 5 ist dazu vorgesehen, aus den acht Bit des Registerinhalts vier Bit auszuwählen, die dann auf den Datenbus 27 ausgelesen werden.
  • Im gezeigten Ausführungsbeispiel besteht die Auswahleinheit 5 aus acht AND-Gattern 21. Diese sind an ihrem ersten Eingang mit den Ausgängen des Schieberegisters 4 verbunden und an ihrem zweiten Eingang mit dem Auswahleingang 20. Dabei liegt das Signal des Auswahleingangs 20 an den oberen vier AND-Gattern 21 unmittelbar an, wogegen das Signal auf dem Auswahleingang 20 der unteren vier AND-Gatter 21 mittels eines Inverters invertiert wird. Durch das an den Auswahleingang 20 angelegte Signal können somit entweder die oberen vier Bit (b4 bis b7) oder die unteren vier Bit (b0 bis b3) des Schieberegisters 4 auf den Datenbus 27 ausgelesen werden. Im vorliegen Fall ist nur ein Auswahleingang 20 erforderlich, da jeweils genau eine Hälfte des Schieberegisterinhalts auf den Datenbus 27 gelegt werden muss.
  • Um Datenkonflikte auf dem Datenbus 27 zu vermeiden, sind die AND-Gatter 21 so ausgelegt, dass nur eine Polarität getrieben wird. Im Falle des komplementären Datums (LOW) wird der Ausgang der Gatter 21 in einen hochohmigen Zustand geschaltet. Der Datenbus 27 muss dann vor jedem Zyklus auf 0 (LOW) vorgeladen werden.
  • Neben der hier vorgeschlagenen konkreten Ausgestaltung der Auswahleinheit 5 sind beliebige andere Ausgestaltungen denkbar, die aus den S Bit des Schieberegisterinhalts n Bit auf den Datenbus 27 legen. Dabei ist es vorteilhaft, wenn die Auswahleinheit 5 über eine oder mehrere externe Steuerleitungen wie z.B. den Auswahleingang 20 angesteuert werden kann.
  • Weiterhin kann ein auf dem Datenbus 27 angeordneter Dateninverter 24 vorgesehen werden, der zur bitweisen Invertierung des erzeugten Datenworts vorgesehen ist. Zur Ansteuerung des Dateninverters 24 ist ein Invertereingang 22 vorgesehen.
  • Weiterhin kann optional ein Datenscrambler beispielsweise in die algorithmische Steuerung des Datengenerators 2 integriert werden. Dieser Datenscrambler erzeugt als Funktion der Spaltenadresse x und der Reihenadresse y des zu testenden Datensegments 10 ein HIGH- oder ein LOW-Signal. Im gezeigten Ausführungsbeispiel ist das Signal des Datenscramblers auf dem Scramblereingang 23 über ein Exclusiv-ODER (XOR) mit dem Signal auf dem Invertereingang 22 verknüpft. Das Ausgangssignal des Exclusiv-ODER steuert dann den Dateninverter 24.
  • Der vorstehend beschriebene Datengenerator 2 wird somit über ein Verschiebesignal (SHIFT) am Verschiebeeingang 18, ein Auswahlsignal (REGSELECT) am Auswahleingang 20, ein optionales Invertersignal (DATA_INV) am Invertereingang 22 und ein optionales Scramblersignal (DATA_SCR) am Scramblereingang 23 gesteuert. Diese Steuersignale können nunmehr mittels des aus 1 ersichtlichen Mikrocontrollers 14 anhand eines vorge gebenen Testalgorithmus generiert werden, der vom Mikrocontroller 14 auf der Basis des im Programmspeicher 9 abgelegten Programmcodes durchlaufen wird.
  • Alternativ kann die Ansteuerung auch mit Hilfe eines externen Testsystems geschehen, der ebenfalls zur Ausführung eines vorgegebenen Testalgorithmus vorgesehen ist.
  • Die Kontrollsignale am Verschiebeeingang 18 (SHIFT), am Auswahleingang 20 (REGSELECT), am Invertereingang 22 (DATA_INV) und am Scramblereingang 23 (DATA_SCR) werden während des Testablaufs in jedem Zyklus neu generiert, z.B. vom Mikrocontroller 14 oder einem externen Testsystem.
  • Mit der beschriebenen Auswahleinheit 5 kann bei jedem Zyklus eines von zwei Datenmustern aus dem Registerinhalt ausgewählt werden. Mit Hilfe der Verschiebefunktionalität des Schieberegisters 4 kann das anfänglich in das Schieberegister 4 eingelesene Start-Datenmuster algorithmisch über alle auf Wechselwirkung zu testenden Bitleitungen oder Speicherzellen 11 geschoben werden. Dabei ist der Testalgorithmus so auszulegen, dass am Ende des Testablaufs jede einzelne Speicherzelle 11 bzw. Bitleitung für sich alleine auf einwandfreie Funktion getestet wurde. Daneben soll jede Speicherzelle 11 auf Wechselwirkung mit benachbarten Speicherzellen 11 bzw. jede Bitleitung auf Wechselwirkung mit benachbarten Bitleitungen hin getestet worden sein. Vorzugsweise wird dabei auch über die Grenzen einzelner Datensegmente 10 hinweg getestet. Dies lässt sich durch eine entsprechende Anpassung des verwendeten Algorithmus umsetzen.
  • Weiterhin zeigt 2 einen optionalen Frequenzteiler 26 mit einem Frequenzteilereingang 25 (ADR_SWITCH). Der Frequenzteiler 26 ist dafür vorgesehen, nach jedem vierten Verschiebepuls (SHIFT) auf dem Verschiebeeingang 18 das Signal auf dem Auswahleingang 20 (REGSELECT) zu invertieren, so dass die Auswahleinheit 5 automatisch zwischen der oberen (b4–b7) und der unteren (b0–b3) Hälfte des Schieberegisters 4 umschaltet. In diesem Ausführungsbeispiel, in dem das Schieberegister 4 lediglich die doppelte Wortbreite n umfasst, kann die Umschaltung wie gezeigt einfach über ein Exclusiv-ODER (XOR) realisiert werden.
  • Die vorgeschlagene Verknüpfung zwischen dem Verschiebesignal (SHIFT) auf dem Verschiebeeingang 18 und dem Auswahlsignal (REGSELECT) auf dem Auswahleingang 20 vereinfacht die Programmierung eines Controllers, der zur algorithmischen Erzeugung der Steuersignale SHIFT, REGSELECT, etc. vorgesehen ist.
  • Der hier vorgeschlagene erfindungsgemäße Datengenerator ermöglicht eine flexible Datengenerierung und vermeidet dadurch mögliche Einschränkungen in der Testabdeckung.
  • 1
    Halbleiterspeicher
    2
    Datengenerator
    3
    Halbleiterchip
    4
    Schieberegister
    5
    Auswahleinheit
    6
    Speichereinheit
    7
    Adressgenerator
    8
    Kommandobus
    9
    Programmspeicher
    10
    Datensegment
    11
    Speicherzelle
    12
    Datenleitungen d0 – dn – 1
    13
    Adressleitungen a0 – ai
    14
    Mikrocontroller
    15
    BIST-Controller
    16
    Steuerleitung
    17
    serieller Pfad
    18
    Verschiebeeingang (SHIFT)
    19
    Feedbackschleife
    20
    Auswahleingang (REGSELECT)
    21
    AND-Gatter
    22
    Invertereingang (DATA_INV)
    23
    Scramblereingang (DATA_SCR)
    24
    Daten-Inverter
    25
    Frequenzteilereingang (ADR_SWITCH)
    26
    Frequenzteiler
    27
    Datenbus

Claims (7)

  1. Datengenerator (2) zur Erzeugung von Testdaten für einen wortorientierten Halbleiterspeicher (1), der auf dem Halbleiterchip (3) des Halbleiterspeichers (1) integriert ist und ein Schieberegister (4) aufweist, dadurch gekennzeichnet, dass der Halbleiterspeicher (1) zur Speicherung von n Bit breiten Datenworten ausgelegt ist und dass das Schieberegister(4) eine Länge von S Bit aufweist, die einem ganzzahligen Vielfachen von n entspricht, wobei eine Auswahleinheit (5) vorgesehen ist, die zur Erzeugung eines n Bit breiten Datenworts eine Teilmenge von n Datenbits aus dem S Datenbits umfassenden Inhalt des Schieberegisters (4) auswählt.
  2. Datengenerator gemäß Anspruch 1, dadurch gekennzeichnet, dass die Auswahleinheit (5) algorithmisch gesteuert ist.
  3. Datengenerator gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine Speichereinheit (6) zur Aufnahme eines Start-Datenmusters für das Schieberegister (4) vorgesehen ist.
  4. Datengenerator gemäß Anspruch 3, dadurch gekennzeichnet, dass der Speicher der Speichereinheit (6) nicht flüchtig ist.
  5. Wortorientierter Halbleiterspeicher auf einem Halbleiterchip (3) mit einem integrierten BIST (built-inself-test)-Controller (15), der einen Datengenerator (2) zur Erzeugung von Testdaten gemäß Anspruch 1 bis 4, aufweist dadurch gekennzeichnet, dass der BIST-Controller (15) einen Adressgenerator (7) zur Adressierung der vom Datengenerator (2) erzeugten Testdaten aufweist.
  6. Halbleiterspeicher gemäß Anspruch 5, dadurch gekennzeichnet, dass die Adressierung der vom Datengenerator (2) erzeugten Testdaten mittels eines externen Testsystems algorithmisch gesteuert wird.
  7. Halbleiterspeicher gemäß Anspruch 5 oder 6, dadurch gekennzeichnet, dass der BIST-Controller (15) programmierbar ist und einen Programmspeicher (9) zur Aufnahme des Programmcodes umfasst.
DE10135583A 2001-07-20 2001-07-20 Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher Expired - Fee Related DE10135583B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10135583A DE10135583B4 (de) 2001-07-20 2001-07-20 Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher
US10/200,633 US7120841B2 (en) 2001-07-20 2002-07-22 Data generator for generating test data for word-oriented semiconductor memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10135583A DE10135583B4 (de) 2001-07-20 2001-07-20 Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher

Publications (2)

Publication Number Publication Date
DE10135583A1 DE10135583A1 (de) 2003-02-13
DE10135583B4 true DE10135583B4 (de) 2004-05-06

Family

ID=7692630

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10135583A Expired - Fee Related DE10135583B4 (de) 2001-07-20 2001-07-20 Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher

Country Status (2)

Country Link
US (1) US7120841B2 (de)
DE (1) DE10135583B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004047663B4 (de) * 2004-09-30 2007-07-19 Infineon Technologies Ag Speicherschaltung mit einer Initialisierungseinheit, sowie Verfahren zum Optimieren von Datenempfangsparametern in einem Speichercontroller
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
JP2007102653A (ja) * 2005-10-07 2007-04-19 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置の機能試験方法及び機能試験装置
DE102007016622A1 (de) * 2007-04-05 2008-10-09 Qimonda Ag Halbleiter-Bauelement-Test-Verfahren und -Test-System mit reduzierter Anzahl an Test-Kanälen
US8055668B2 (en) * 2008-02-13 2011-11-08 Camouflage Software, Inc. Method and system for masking data in a consistent manner across multiple data sources
KR20100053202A (ko) * 2008-11-12 2010-05-20 삼성전자주식회사 Rdbi 기능을 지원하는 반도체 메모리 장치 및 그 테스트 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68923531T2 (de) * 1988-04-01 1996-04-04 Digital Equipment Corp Verfahren und vorrichtung zum speicherselbsttest.
US5659551A (en) * 1995-05-31 1997-08-19 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5033048A (en) * 1988-04-01 1991-07-16 Digital Equipment Corporation Memory selftest method and apparatus same
US5258986A (en) * 1990-09-19 1993-11-02 Vlsi Technology, Inc. Tightly coupled, low overhead RAM built-in self-test logic with particular applications for embedded memories
US6014336A (en) * 1997-04-30 2000-01-11 Texas Instruments Incorporated Test enable control for built-in self-test
US6477676B1 (en) * 1999-11-03 2002-11-05 Unisys Corporation Intermediate stage of a multi-stage algorithmic pattern generator for testing IC chips
US20020194558A1 (en) * 2001-04-10 2002-12-19 Laung-Terng Wang Method and system to optimize test cost and disable defects for scan and BIST memories

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68923531T2 (de) * 1988-04-01 1996-04-04 Digital Equipment Corp Verfahren und vorrichtung zum speicherselbsttest.
US5659551A (en) * 1995-05-31 1997-08-19 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on

Also Published As

Publication number Publication date
US20030018934A1 (en) 2003-01-23
US7120841B2 (en) 2006-10-10
DE10135583A1 (de) 2003-02-13

Similar Documents

Publication Publication Date Title
DE112020006398T5 (de) Geräte, systeme und verfahren zur fehlerkorrektur
DE102006062399A1 (de) Halbleiterspeicherbauelement mit mehreren Speicherbereichen, Zugriffsverfahren und Testverfahren
DE19956550A1 (de) Trimmschaltung für systemintegrierte Schaltung
DE19639972B4 (de) Hochgeschwindigkeitstestschaltkreis für eine Halbleiterspeichervorrichtung
DE10135583B4 (de) Datengenerator zur Erzeugung von Testdaten für wortorientierte Halbleiterspeicher
DE10134985A1 (de) Test eines Halbleiterspeichers mit mehreren Speicherbänken
DE10131277A1 (de) On Chip Scrambling
DE10226585C1 (de) RAM-Speicherschaltung
DE19922786B4 (de) Halbleiterspeicher mit Testeinrichtung
DE10139724B4 (de) Integrierter dynamischer Speicher mit Speicherzellen in mehreren Speicherbänken und Verfahren zum Betrieb eines solchen Speichers
DE10261328B4 (de) Kompensation überkreuzter Bitleitungen in DRAMs mit Redundanz
DE4018669C2 (de)
DE19830362A1 (de) Halbleiterspeichervorrichtung
DE102006004009A1 (de) Prüfdatentopologie-Schreibvorgang in Speicher unter Verwendung von zwischengespeicherten Leseverstärkerdaten und Zeilenadressenverwürfelung
DE10335012B4 (de) Halbleiterspeicherbauelement mit mehreren Speicherfeldern und zugehöriges Datenverarbeitungsverfahren
DE19924153B4 (de) Schaltungsanordnung zur Reparatur eines Halbleiterspeichers
DE10124742C1 (de) Verfahren und Einrichtung zum Testen einer Speicherschaltung
DE10323237A1 (de) Verfahren und Vorrichtung zur Optimierung der Funktionsweise von DRAM-Speicherelementen
DE10146185B4 (de) Verfahren zum Betrieb eines Halbleiterspeichers und Halbleiterspeicher
DE10050212A1 (de) Verfahren und integrierte Schaltung zum Testen eines Speichers mit mehreren Speicherbänken
DE10126599C2 (de) Speicherbaustein, Verfahren zum Aktivieren einer Speicherzelle und Verfahren zum Reparieren einer defekten Speicherzelle
EP1113453A2 (de) Speichereinrichtung
DE10147201A1 (de) Halbleiterspeichervorrichtung und Verfahren zum Ersetzen einer Redundanzschaltung
DE60036896T2 (de) Eingebauter programmierbar Mustererzeuger für Halbleiter-Speicheranordnungen
DE10041688B4 (de) Integrierter Speicher mit Speicherzellen in mehreren Speicherzellenblöcken und Verfahren zum Betrieb eines solchen Speichers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8325 Change of the main classification

Ipc: G11C 29/00 AFI20010720BHDE

8327 Change in the person/name/address of the patent owner

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee