DE10147910A1 - Speichertester weist Speichersätze auf, die für die Verwendung als Fehlererfassungs-RAM, Etiketten-RAM, Pufferspeicher und Stimulus-LOG-RAM konfigurierbar sind - Google Patents
Speichertester weist Speichersätze auf, die für die Verwendung als Fehlererfassungs-RAM, Etiketten-RAM, Pufferspeicher und Stimulus-LOG-RAM konfigurierbar sindInfo
- Publication number
- DE10147910A1 DE10147910A1 DE10147910A DE10147910A DE10147910A1 DE 10147910 A1 DE10147910 A1 DE 10147910A1 DE 10147910 A DE10147910 A DE 10147910A DE 10147910 A DE10147910 A DE 10147910A DE 10147910 A1 DE10147910 A1 DE 10147910A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- test
- address
- dut
- tester
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
Abstract
Die verschiedenen Funktionen, die für einen inneren Testspeicher innerhalb eines Speichertesters wünschenswert sind, sind in Speichersätzen implementiert, die jeweils als der Host für eine oder manchmal mehrere solcher Funktionen dienen. Aufgrund seiner Größe und des Wunschs nach zweckorientierten Hochgeschwindigkeitsdatenwegen kann ein ECR einen gesamten Speichersatz für sich selbst erfordern. Eine vollständige Sammlung von Etiketten-RAM kann in einem weiteren Speichersatz positioniert sein. Falls nötig, könnten Pufferspeicher in noch einem weiteren Speichersatz positioniert sein. Eine Sammlung von Etiketten-RAM braucht vielleicht nicht die gesamte Breite des systemeigenen Worts, das durch den Speichersatz implementiert ist, und kann doch den gleichen Bereich an Adressen zeigen. Etiketten-RAM können Seite an Seite an den gleichen Adressen positioniert sein, indem das Schmal-Wort-Merkmal ausgenutzt wird. Die gleiche Ökonomie kann für Pufferspeicher erreicht werden. Obwohl diese unterschiedlichen Verwendungen von innerem Testspeicher innerhalb eines Speichersatzes in der Tat an beliebigen Positionen innerhalb des Adreßraums dieses Speichersatzes positioniert sind, ist es bezüglich der algorithmischen Prozesse innerhalb des Testprogramms wünschenswert, daß es so scheint, als ob dieselben durch die gleichen Adressen oder durch Adressen, die von der Architektur derselben abgeleitet sind, adressiert werden, die an das DUT angelegt werden. Dies wird durch Vermehren der ...
Description
Diese Offenbarung bezieht sich auf Informationen, die in
der US-Patentanmeldung mit der Seriennummer (unbekannt) mit
dem Titel ERROR CATCH RAM FOR MEMORY TESTER HAS SDRAM
MEMORY SETS CONFIGURABLE FOR SIZE AND SPEED, eingereicht am
20. September 2000, erscheinen, und dieselbe ist aus den
nachfolgenden Gründen hierin ausdrücklich durch Bezugnahme
aufgenommen. Der Gegenstand der vorliegenden Offenbarung
betrifft einen Abschnitt des Betriebs eines ziemlich großen
und komplexen Systems zum Testen von Halbleiterspeichern.
Der beschriebene Speichertester enthält ein umfassendes
Speicherteilsystem als eine Komponente in dem Gesamtpara
digma zum Durchführen von Tests. Bestimmte Fähigkeiten die
ses Speicherteilsystems sind hierin von Interesse, da die
selben als die bevorzugte Basis für einige der neuartigen
Gegenstände dienen, die offenbart werden. Aus Wirtschaft
lichkeitsgründen bei dem Produkt und begünstigt durch den
Wunsch, große Mengen an Speicher in dem Tester zur Verfü
gung zu haben, wurde ein Weg entwickelt, um unaufwendigen
Speicher (DRAM, der langsam ist, wenn direkt auf denselben
zugegriffen wird) als Ersatz für aufwendigen SRAM zu ver
wenden, der schnell ist, selbst wenn direkt auf denselben
zugegriffen wird. Wenn das Ergebnis mit verschiedenen ande
ren Speicherteilsystemmerkmalen kombiniert wird, ist das
selbe eine sehr komplexe Angelegenheit, die das Multiplexen
zwischen Gruppen und Verschachteln zwischen Bänken umfaßt,
und auch das Implementieren von Dingen wie z. B. eine varia
ble Wortbreite. Andererseits könnten die speziellen Merkma
le, die hier offenbart werden sollen, in einem System im
plementiert werden, das nur SRAM verwendet, mit einer we
sentlichen Reduzierung der Komplexität. Dies würde jedoch
einen wesentlichen ökonomischen Mehraufwand bedeuten, der
wahrscheinlich bewirken würde, daß das fertige Produkt eher
eine technische Rarität und keine brauchbare kommerzielle
Technik wäre. Bei dieser Offenbarung wurde ein Mittelweg
gewählt, wobei nicht vorgegeben wird, daß das System voll
ständig aus SRAM hergestellt wird, obwohl dies sicherlich
durchführbar wäre. Die DRAM-Technik ist selbstverständlich
enthalten, aber viele der kleinen Details über den inneren
Betrieb dieser DRAM-Technik wurden weggelassen, statt des
sen wird eine gemäßigte Beschreibung der Grundprinzipien
derselben gegeben. Selbst ein flüchtiger Leser wird zu dem
Schluß kommen, daß viel interessantes Material (z. B. die
unterschiedlichen Verschachtelungs- und Adressierschemata
und deren Verbindung zu den unterschiedlichen Betriebswei
sen) weggelassen wurde. Jeder Leser wird jedoch bei der Re
flexion erkennen, daß die Techniken und Merkmale, die of
fenbart werden sollen, nicht fundamental von dem ausgelas
senen Material abhängen, obwohl dieselben in einigen Fällen
leicht davon beeinflußt werden können. Somit liegt hier ein
Fall von mehreren Einzelheiten vor, die nur am Rand mit den
Hauptthemen zu tun haben. Die oben erwähnte aufgenommene
Offenbarung liefert eine große Menge an Details bezüglich
der DRAM-Technik. Diejenigen, die den Eindruck haben, daß
die vorliegende Offenbarung mehr Fragen über das Speicher
teilsystem aufwirft, als sie beantwortet, können in der
eingeschlossenen Offenbarung Antworten bekommen. Aus diesem
Grund wurde die Existenz derselben bekannt gemacht, indem
dieselbe hierin durch Bezugnahme aufgenommen wurde.
Allerdings gibt es eine Warnung für diejenigen, die die
Lehren dieser zwei Offenbarungen kombinieren möchten. Die
aufgenommene Offenbarung vertritt die Ansicht, daß die Ge
samtheit des Speichers von Interesse als Fehlererfassungs-
RAM (Error Catch RAM = ECR) bezeichnet wird, und daß der
selbe in Speichersätze unterteilt ist. Diese Ansicht funk
tioniert bei der aufgenommen Offenbarung ohne Schwierigkei
ten, da bei dieser Offenbarung ein ECR beinahe die einzige
Speicherfunktion von Interesse ist, auch wenn die Existenz
anderer solcher Funktionen angedeutet wird. Bei der Refle
xion während der Vorbereitung der vorliegenden Anmeldung
wurde jedoch herausgefunden, daß es praktischer ist, die
Gesamtheit des Speichers von Interesse mit der Verwendung
des Begriffs "innerer Testspeicher" zu beschreiben, der
wiederum aus vier getrennten und unabhängigen Speichersät
zen zusammengesetzt ist, in denen die verschiedenen funk
tionalen Speichermechanismen (einschließlich eines ECR)
durch geeignete Konfiguration definiert werden könnten. Da
her würde es so erscheinen, als wären die Speichersätze in
der aufgenommenen Offenbarung in einem ECR enthalten, wäh
rend es hierin umgekehrt ist. Trotzdem beziehen sich beide
Offenbarungen auf Gegenstände, die in dem gleichen Gesamt
system gefunden werden. Der Unterschied ist überwiegend ei
ne Frage der Terminologie und jede scheinbare Inkonsistenz
zwischen den beiden Offenbarung verschwindet, wenn die Ein
zelheiten des Speicherteilsystembetriebs auf unterer Ebene
betrachtet werden. Um dem interessierten Leser diese Ein
zelheiten aufgenommene eingeschlossene Offenbarung hinge
wiesen.
Im täglichen Leben sind elektronische Geräte und deren Lei
stungsfähigkeiten mittlerweile weit verbreitet. Außer dem
Personalcomputer zu Hause tragen viele Menschen mehr als
ein Produktivitätsgerät für die verschiedensten Zwecke mit
sich. Die meisten persönlichen elektronischen Produktivi
tätsgeräte umfassen eine Form von nicht-flüchtigem Spei
cher. Mobiltelephone verwenden nicht-flüchtige Speicher, um
benutzerprogrammierte Telephonnummern und Konfigurationen
zu speichern und zu erhalten, wenn die Leistung abgeschal
tet ist. PCMCIA-Karten verwenden nicht-flüchtigen Speicher,
um Informationen zu speichern und zu erhalten, selbst wenn
die Karte von ihrem Schlitz in dem Computer entfernt ist.
Viele andere weit verbreitete elektronische Geräte profi
tieren ebenfalls von der Langzeitspeicherfähigkeit von
nicht-flüchtigem Speicher in nicht-betriebenen Anordnungen.
Die Hersteller von nicht-flüchtigen Speichern, die an die
Hersteller von elektronischer Ausrüstung verkaufen, erfor
dern Tester, um den richtigen Betrieb der Speicher, die sie
herstellen, auszuführen und zu verifizieren. Aufgrund der
Menge an nicht-flüchtigen Speichern, die hergestellt werden
und bei fortlaufend niedrigen Preisen verkauft werden, ist
es sehr wichtig, die Zeit zu minimieren, die benötigt wird,
um ein einzelnes Teil zu testen. Aufgrund der Kosteneinspa
rungen im Zusammenhang mit der Praxis des Einbauens der
Speicherelemente in teurere Anordnungen mit minimalem oder
ohne Testen fordern die Käufer von nicht-flüchtigen Spei
chern von den Speicherherstellern, daß dieselben hohe Ver
sanderträge erzielen. Dementsprechend muß der Speichertest
prozeß ausreichend effizient sein, um einen großen Prozent
satz von fehlerhaften Teilen und vorzugsweise alle fehler
haften Teile in einem einzigen Testprozeß zu identifizie
ren.
Während nicht-flüchtige Speicher größer, dichter und kom
plexer werden, müssen die Tester in der Lage sein, die er
höhte Größe und Komplexität zu bearbeiten, ohne die Zeit
wesentlich zu erhöhen, die benötigt wird, um dieselben zu
testen. Die Speichertester laufen normalerweise ununterbro
chen, und die Testzeit wird als Hauptfaktor bei den Kosten
des Endteils angesehen. Während sich Speicher entwickeln
und verbessern, muß der Tester in der Lage sein, sich
leicht an die Änderungen anzupassen, die an dem Element
durchgeführt wurden. Ein weiteres spezifisches Thema beim
Testen nicht-flüchtiger Speicher ist, daß wiederholte
Schreibvorgänge auf Zellen der Speicher die Gesamtlebens
dauerleistungsfähigkeit des Teils verschlechtern können.
Die Hersteller von nicht-flüchtigen Speichern haben auf
viele der Testaufgaben durch Einbauen spezieller Testmodi
in die Speicherelemente reagiert. Diese Testmodi werden von
dem Käufer des Speichers überhaupt nicht verwendet, aber
der Hersteller kann auf dieselben zugreifen, um alle oder
wesentliche Abschnitte der Speicher in so kurzer Zeit wie
möglich und so effizient wie möglich zu testen. Einige
nicht-flüchtige Speicher können auch während dem Testprozeß
repariert werden. Der Tester sollte daher in der Lage sein,
folgendes zu identifizieren: eine benötigte Reparatur, eine
Position der Reparatur, den Typ der benötigten Reparatur,
und muß dann in der Lage sein, die geeignete Reparatur
durchzuführen. Ein solcher Reparaturprozeß erfordert, daß
ein Tester in der Lage ist, einen spezifischen fehlerhaften
Abschnitt des Speichers zu erfassen und abzutrennen. Um die
gesamten Vorteile der speziellen Testmodi als auch der Re
paraturfunktionen zu erhalten, ist es für einen Tester von
Vorteil, in der Lage zu sein, ein Testprogramm auszuführen,
das eine bedingte Verzweigung auf der Basis einer erwarte
ten Ansprache von dem Element unterstützt.
Von einer konzeptionellen Perspektive aus ist der Prozeß
des Testens von Speichern ein algorithmischer Prozeß. Als
Beispiel umfassen typische Tests das sequentielle Inkremen
tieren oder Dekrementieren von Speicheradressen, während
Nullen und Einsen in die Speicherzellen geschrieben werden.
Es ist gebräuchlich, eine Ansammlung von Einsen und Nullen,
die während einem Speicherzyklus geschrieben oder gelesen
werden, als einen "Vektor" zu bezeichnen, während sich der
Begriff "Struktur" auf eine Sequenz von Vektoren bezieht.
Es ist bei Tests gebräuchlich, Schreibstrukturen, wie z. B.
Schachbretter, laufende Einsen und Schmetterlingsstrukturen
in den Speicherplatz aufzunehmen. Ein Testentwickler kann
mit der Hilfe von algorithmischen Elementen ein solches
Programm zum Erzeugen dieser Strukturen leichter und effi
zienter erzeugen. Eine Teststruktur, die algorithmisch ko
härent ist, ist außerdem bei der Fehlersuche einfacher, und
logische Verfahren sind zum Isolieren von Abschnitten der
Struktur, die nicht wie erwartet funktionieren, leichter zu
verwenden. Eine Teststruktur, die unter Verwendung von An
weisungen und Befehlen, die in Programmierschleifen wieder
holt werden, algorithmisch erzeugt wurde, verbraucht in dem
Testerspeicher weniger Platz. Dementsprechend ist es wün
schenswert, in einem Speichertester eine algorithmische
Teststrukturerzeugungsfähigkeit zu haben.
Die genaue Signalflankenplazierung und -erfassung ist eben
falls eine Erwägung bei der Effektivität eines nicht
flüchtigen Testers. Um Teile zu erfassen, die im allgemei
nen einem Medianwert entsprechen, während sie nicht inner
halb der spezifizierten Spanne entsprechen, muß ein nicht
flüchtiger Speichertester in der Lage sein, jede Signal
flanke bezüglich der Zeit zu einer anderen Signalflanke
präzise zu plazieren. Es ist außerdem wichtig, daß derselbe
in der Lage ist, genau zu messen, zu welchem Zeitpunkt eine
Signalflanke empfangen wird. Dementsprechend sollte ein
nicht-flüchtiger Speichertester ausreichend Flexibilität
aufweisen und Steuerung der Zeitgebung und Plazierung von
Stimuli und Antworten von dem zu testenden Gerät (Spei
cher).
Die Speichertester sollen Sendevektoren erzeugen, die an
das DUT (device under test - zu testendes Gerät) angelegt
werden (Stimulus) und Vektoren empfangen, die als Reaktion
erwartet werden (Antwort). Die algorithmische Logik, die
diese Vektoren erzeugt, kann dies im allgemeinen durchfüh
ren, ohne sich damit zu befassen, wie ein spezielles Bit in
einem Vektor von oder zu einer speziellen
Signalanschlußstelle in dem DUT gelangt. An dieser Ebene
erscheint es beinahe so, als gäbe es eine Gewißheit, daß
benachbarte Bits in dem Vektor auch als physikalisch
benachbarte Signale an dem DUT ankommen. Wenn es nur so
einfach wäre!
In der Realität neigt die Korrespondenz zwischen den Bits
in einem Vektor auf der "konzeptionellen Ebene" und den
tatsächlichen Signalen in dem DUT dazu, eher willkürlich zu
sein. Falls nichts getan wird, um dies zu vermeiden, kann
es notwendig werden, einen oder mehrere Sondendrähte zu
kreuzen, da dieselben von einer Peripherie herunterhängen,
um mit dem DUT in Kontakt zu kommen. Ein solches Kreuzen
ist überhaupt nicht wünschenswert und es ist Konvention,
einen Abbildungsmechanismus in den Weg des Sendevektors
einzubauen, um die Bitpositionen in dem Sendevektor neu an
zuordnen, bevor dieselben an das DUT angelegt werden, so
daß die Aufgabe des Herstellens von physikalischem Kontakt
nicht durch Kreuzungen belastet ist. Empfangsvektoren wer
den entsprechend an einen umgekehrten Abbildungsmechanismus
angelegt, bevor dieselben bearbeitet werden. Auf diese Wei
se wird es den algorithmischen Vektorerzeugungs- und Ver
gleichsmechanismen ermöglicht, diesen gesamten Bereich zu
ignorieren. Als weiteres Beispiel dessen, was solche Abbil
der und Umkehrabbilder durchführen können, bedenke man den
Fall, in dem ein anderes Beispiel des gleichen Typs von DUT
auf dem gleichen Wafer ausgebreitet ist, aber mit einer Ro
tation oder einer gespiegelten Symmetrie, um zu verhindern,
daß Platz auf dem Wafer verschwendet wird. Diese Praktiken
haben außerdem einen Effekt auf die Korrespondenz zwischen
Vektorbitposition und physikalischer Signalposition, die
aber durch die geeigneten Abbildungen und Umkehrabbildungen
verdeckt werden können. Es ist zu erkennen, daß die Abbil
dungen und Umkehrabbildungen, die für diese Situationen be
nötigt werden, statisch sind, sobald sie für ein spezielles
DUT identifiziert sind, und während dem Testverlauf für
dieses spezielle DUT nicht geändert werden müssen.
Speichertester weisen einen inneren Testspeicher auf, der
verwendet wird, um den Testprozeß zu ermöglichen. Dieser
innere Testspeicher kann für mehrere Zwecke verwendet wer
den, unter anderem für das Speichern von Sendevektoren
zeitlich im voraus, im Gegensatz zum Erzeugen derselben in
Echtzeit, das Speichern von Empfangsvektoren und das Spei
chern einer Vielzahl von Fehleranzeigen und anderer Infor
mationen bezüglich des DUT-Verhaltens, die während des Te
stens erhalten werden. (Es gibt außerdem organisatorische
Zwecke in dem Betrieb des Speichertesters, die SRAM verwen
den, und von denen es scheint, als ob sie in den Bereich
des Begriffs "innerer Speicher" fallen. Diese gehören nur
zu dem inneren Betrieb des Testes, sind auf der algorithmi
schen Ebene meistens nicht sichtbar und sind mit inneren
Steuerregistern vergleichbar. Dieser Speicher wird als "in
nerer Steuerspeicher" beschrieben, und ist von dem ausge
schlossen, was hierin mit dem Begriff "innerer Testspei
cher" gemeint ist, der hierin verwendet wird, um einen
Speicher zu beschreiben, der verwendet wird, um Bitstruktu
ren zu speichern, die direkt auf den Stimulus und die Ant
wort von dem DUT bezogen sind. Es ist offensichtlich, daß
dieser innere Testspeicher mindestens so schnell arbeiten
muß wie die Tests durchgeführt werden, es ist ein sehr ge
bräuchliches Paradigma für den inneren Testspeicher (oder
einen Abschnitt desselben) von der gleichen Adresse (oder
einer Ableitung derselben) adressiert zu werden, die auch
an das DUT angelegt wird. Was dann an dieser adressierten
Position in dem inneren Testspeicher gespeichert ist, ist
etwas, das das DUT-Verhalten während einem Testvorgang
zeigt, der an dem DUT an dieser Adresse durchgeführt wird.
Algorithmische Betrachtungen innerhalb des Testprogramms
können bedeuten, daß die Sequenz von Adressen, die nachfol
genden Sendevektoren zugeordnet ist, beliebig sein kann.
Somit muß der innere Speicher die beiden Attribute von ho
her Geschwindigkeit und Zufallsadressierbarkeit aufweisen.
Mit SRAM wird unmittelbar verknüpft, daß derselbe schnell,
leicht zu steuern und tolerant gegenüber einer vollständi
gen Zufallsadressierung ist. In der Tat haben herkömmliche
Speichertester SRAM als ihren inneren Testspeicher verwen
det.
Leider ist SRAM ziemlich teuer, und dies hat die Menge an
innerem Testspeicher begrenzt, mit denen Speichertester zu
arbeiten hatten. Die Folge sind Begrenzungen der Speicher
testerfunktionalität, die durch einen Mangel an Speicher
auferlegt werden. Ein DRAM ist wesentlich kostengünstiger,
kann aber keine Zufallsadressierung tolerieren und dennoch
bei hoher Geschwindigkeit arbeiten. Ein DRAM ist intern or
ganisiert, um ein übermäßig langes Vorladen einer adres
sierten "Zeile" mit RAS (Row Address Strobe = Aktivierungs
signal für die Adreßzeile) zu erfordern, gefolgt von dem
Spezifizieren einer adressierten "Spalte" mit CAS (Column
Adress Strobe = Aktivierungssignal für die Adreßspalte).
Eine Speichersteuerung wandelt eine einheitliche Adresse in
Zeilen- und Spaltenkomponenten um, die mit RAS uns CAS an
gewendet werden. Der DRAM ist oft ausreichend schnell,
wenn, sobald eine Zeile vorgeladen ist, eine weitere Adres
sierung auf Spalten entlang dieser Zeile begrenzt werden
kann (d. h. weitere Beispiele von CAS, aber keine von RAS).
Eine solche algorithmische Beschränkung des Testerbetriebs
(die die Fähigkeit beeinträchtigt, das DUT beliebig zu
adressieren) ist im allgemeinen nicht akzeptabel, und daher
nicht zuverlässig, um den Hochgeschwindigkeitsbetrieb zu
liefern, der für die Verwendung als innerer Testspeicher
innerhalb eines Speichertestes benötigt wird. Es wäre wün
schenswert, wenn die Größe des inneren Testspeichers durch
Verwenden des DRAM sowohl erhöht als auch die Kosten des
selben reduziert werden könnten, und diese Vorteile können
realisiert werden, wenn es eine Möglichkeit gäbe, DRAM mit
beliebigem Adressieren mit der gleichen Rate betreiben
könnte, wie es im allgemeinen von teuereren SRAM erwartet
wird.
Der DRAM kann den SRAM als inneren Testspeicher in einem
Speichertester ersetzen. Wie es nachfolgend näher beschrie
ben ist, kann das Problem des Erhöhens der Geschwindigkeit
des DRAM-Betriebs für die Verwendung als innerer Testspei
cher durch Erhöhen der verwendeten Menge an DRAM gelöst
werden, anstatt durch Erhöhen der Geschwindigkeit dessel
ben. Die Anzahlen identischer DRAM-Bänke werden als Gruppen
behandelt. Eine Kombination von verschachtelten Signalen
für unterschiedliche Speicherbänke in einer Gruppe dessel
ben und Multiplexen zwischen diesen Gruppen von Bänken ver
langsamt den Speicherverkehr für jede Bank auf eine Rate,
die durch die Bank bearbeitet werden kann. (Für den Leser
wird hierin eine kurze Zusammenfassung dieser Technik ein
geschlossen, da viele architektonische Aspekte und die zu
geordnete Terminologie derselben für die folgende Erklärung
nützlich sind).
Ein Drei-Weg-Multiplexen zwischen drei Gruppen von jeweils
vier Bänken, kombiniert mit einem flexiblen vierfachen Ver
schachtelungsschema für Signalverkehr zu einer Gruppe er
zeugt eine Erhöhung bei der Betriebsgeschwindigkeit, die
einen Faktor von 12 erreicht, während nur drei Speicher
busse erforderlich sind. Eine zyklische Suchstrategie
(Round-Robin-Strategie) zum Auswählen der nächsten Gruppe
für den Multiplexer ist einfach und stellt sicher, daß der
Verschachtelungsmechanismus für jede Gruppe die Zeit hät,
die derselbe benötigt, um die letzte zugewiesene Aufgabe zu
beenden. Alle verschachtelten Zugriffe innerhalb einer
Gruppe werden auf einer nächsten Bank (innerhalb dieser
Gruppe) durchgeführt, die ebenfalls durch eine einfache
Round-Robin-Auswahl ausgewählt wird. Bei dieser Konfigura
tion stellt jede der 12 Bänke ein Duplikatbeispiel des ge
samten verfügbaren Adreßplatzes dar, und jeder einzelne
Schreibzyklus kann schließlich mit einem Zugriff auf eine
der 12 Bänke enden. Eine Folgerung ist, daß beim Beenden
des Testens alle 12 Bänke untersucht sein müssen, um zu er
fassen, welche Störungen während des Testens des DUT aufge
treten sind, da die Geschichte jeder Adresse oder jeder
Sammlung von Adressen von Interesse sich über alle 12 Bänke
ausbreiten wird. Somit wird ein spezieller Kanal durch 12
Bits dargestellt (ein Bit von jeder Bank, und dessen Bitpo
sition innerhalb des Worts für diese Bank ist durch den Ka
nal bestimmt).
Es wäre jedoch schwierig, alle 12 Bänke einzeln (manuell)
abfragen zu müssen, um Störungsinformationen zu entdecken,
daher ist ein Dienstmechanismus vorgesehen, um automatisch
die Ergebnisse aller 12 Bänke während einem Lesezyklus an
einer Adresse in ein einheitliches Ergebnis (zusammenzuset
zen) "zu mischen", das in einer oder allen 12 Bänken ge
speichert werden kann. Dies ermöglicht, daß zusammengesetz
te Daten später mit voller Geschwindigkeit gelesen werden
können. Die volle Geschwindigkeit bei einem Ausführungsbei
spiel ist eine 100 MHz-Rate für zufallsadressierte Spei
chertransaktionen.
Falls 33 MHz schnell genug ist, kann ein Zufallszugriff nur
durch das Verschachteln und ohne Multiplexen unterstützt
werden, in diesem Fall sind der Zusammensetzungsmechanismus
und das Speicheradressierschema passend eingestellt. Das
Adressierschema ändert sich, um zusätzliche Gruppenauswahl
bits zu umfassen, die es ermöglichen, daß die Tiefe des
Speichers dreimal tiefer ist als für einen 100 MHz-
Zufallsbetrieb. Diese beiden Betriebsweisen werden als R100
bzw. R33 bezeichnet. Es gibt außerdem einen L100-Modus von
100 MHz-Betrieb zu einzelnen Bänken, der sich darauf ver
läßt, daß Adressen mit gutem Verhalten zu dem DRAM gesendet
werden (ein absolutes Minimum an Zeilenadreßänderungen).
Auf der obersten Ebene der inneren Testspeicherorganisation
gibt es vier Speichersätze, von denen jeder seinen eigenen
getrennten und unabhängigen Adreßraum umfaßt und angefragte
Speichertransaktionen durchführt. Zwei sind von dem oben
beschriebenen SDRAM, und zwei von dem SRAM. Jeder Speicher
satz weist seine eigene Steuerung auf, an die Speicher
transaktionen gerichtet werden. Bezüglich extern sichtbarer
Betriebsfähigkeiten sind alle vier Speichersätze im wesent
lichen identisch. Dieselben unterscheiden sich nur in ihrer
Größe des Adreßraums, und wie dieselben intern implemen
tiert sind: Die SRAM-Speichersätze verwenden kein Multiple
xen und Verschachteln, da dieselben von Anfang an schnell
genug sind. Trotz ihrer Unabhängigkeit können Speichersätze
des gleichen Typs (von SRAM oder DRAM) "gestapelt" sein, d. h. als ein größerer Adreßraum behandelt werden. Dies wird
auf der Steuerebene oberhalb der Speichersätze selbst
durchgeführt, bei der algorithmischen Erzeugung der Adres
sen und der Entscheidung, an welchen Speichersatz eine
Speichertransaktion tatsächlich gesendet wird. Dies ist
nicht so automatisch wie die Art und Weise, auf die die
Speichersätze und die Steuerungen derselben Gruppen stapeln
können, um den Adreßraum zu verdreifachen, wie zwischen den
Betriebsweisen R100 und R33. Jede der Speichersatzsteuerun
gen hat keine Ahnung, daß es so etwas wie einen weiteren
Speichersatz mit einer weiteren Steuerung überhaupt gibt.
Daher ist es so, daß der innere Testspeicher des Testers in
vier Speichersätze unterteilt ist, von denen zwei "interne"
SRAM und zwei "externe" DRAM sind. Um es noch einmal zu be
tonen, alle diese Speicher sind physikalisch innerhalb des
Speichertestes, die Begriffe "intern" und "extern" beziehen
sich mehr auf eine Ebene der Integration. Die SRAM sind Be
standteile einer VLSI- (Höchstintegration-) Schaltung, die
der zentralen Funktionsschaltungsanordnung des Testers zu
geordnet ist, während die DRAM einzeln verpackte Teile
sind, die benachbart zu den VLSI-Teilen befestigt sind. Die
Menge an SRAM ist relativ klein (etwa 1 Megabit pro Spei
chersatz), während die Menge an DRAM wesentlich und aus
wählbar ist (etwa in dem Bereich von 128 bis 1024 Megabits
pro Speichersatz). Die SRAM-Speichersätze liegen immer vor,
und können für jeden geeigneten Zweck verwendet werden, wie
z. B. Speichern des erwarteten Inhalts eines DUT, das ein
ROM (Nur-Lese-Speicher) ist. Die DRAM-Speichersätze sind in
der Tat optional und werden typischerweise zum Erzeugen ei
ner Spur für eine nachfolgende Analyse verwendet, die zu
einer Reparatur führt, obwohl es auch andere Verwendungen
gibt. Der Tester macht keine Unterscheidung zwischen den
SRAM- und DRAM-Speichersätzen bezüglich unterschiedlicher
Zwecke, für die dieselben verwendet werden können. Diese
Unterscheidungen ergeben sich überwiegend als eine Frage
der Größe. Die SRAM-Speichersätze sind klein, während die
DRAM-Speichersätze potentiell riesig sind. Die Person oder
die Personen, die das Testprogramm erzeugen, treffen die
Entscheidungen bezüglich dessen, wie die verschiedenen
Speichersätze verwendet werden sollen.
Es wurde oben erwähnt, daß das DUT anfällig für Reparaturen
sein kann. Dies ist oft der Fall, selbst für nicht verein
zelte Speicherchips, die noch Teil eines Wafers sind. Wie
dies tatsächlich auf der Schaltungsebene erreicht wird, ist
für diejenigen, die solche Elemente herstellen offensicht
lich, daher reicht es aus, einfach zu sagen, daß in diese
Elemente eine Anzahl von selektiv zerstörbaren Elementen
eingebaut ist, deren Zerstörung ein Durchschalten ermög
licht, was wiederum die innere Logik einer zugeordneten
Schaltung ändert. Diese Fähigkeit wird verwendet, um innere
Signale zu Ersatzschaltungen umzuleiten, die defekte Schal
tungen ersetzen. Diese Fähigkeit kann nicht ökonomisch
sinnvoll sein, außer wenn die Reparatur mit weniger Aufwand
und in weniger Zeit durchgeführt werden kann, die erforder
lich wäre, um ein neues Teil herzustellen, andernfalls wäre
es kosteneffektiver, das schlechte Teil einfach in die Ab
falltonne zu werfen. Insbesondere ist es nicht wünschens
wert, daß sich ein Techniker mit den Prozessen des Verste
hens der speziellen Störungen bei den schlechten Teilen in
nerhalb eines Herstellungsstroms befaßt, und daß er für die
Entscheidung, wie dieselben repariert werden sollen, ver
antwortlich ist. Statt dessen kann ein algorithmischer Me
chanismus (Programm und zugeordnete Hardware) in dem Spei
chertester entwickelt werden, um die Störung zu analysieren
und die Reparatur derselben zu versuchen. Das reparierte
Teil kann sofort neu getestet werden und über das Schicksal
desselben entschieden werden.
Eine solche Betriebsweise hat bestimmte Auswirkungen auf
die Entwicklung des Speichertesters. Die Realzeiterfassung
von Störungen kann verwendet werden, um Flags zu setzen und
Testalgorithmen zu ändern, um das Verständnis der Störung
zu verbessern. Das heißt, die Tests, die durchgeführt wer
den, um den richtigen Betrieb zu verifizieren, sind viel
leicht nicht diejenigen, die am besten geeignet sind, um zu
entdecken, weshalb das Teil überhaupt ausfällt. Der Spei
chertester muß in der Lage sein, eine Spur (d. h. eine
brauchbare Aufzeichnung) von Testdaten für eine automati
sche Analyse zu erzeugen (die entweder direkt oder beim Be
endigen eines größeren Testprozesses durchgeführt wird),
die bestimmt, ob eine Reparatur versucht wird, und wenn ja,
welche Schritte beim Durchführen der Reparatur durchgeführt
werden. Typischerweise wird der Versuch von Reparaturen
verzögert, bis zumindest ein vorläufiges Testen das Ausmaß
oder die Anzahl möglicher Störungen offenbart. Die Anzahl
verfügbarer Ersatzschaltungen ist begrenzt (etwa ein halbes
Dutzend, wie es durch eine Chancen-getriebene Kosten-
Nutzen-Analyse bestimmt ist), und es macht keinen Sinn, zu
versuchen, ein Teil zu reparieren, von dem gezeigt werden
kann, daß es mehr Hilfe benötigt als verfügbar ist. All
dies findet unter der Voraussetzung "Zeit auf dem Tester
ist Geld" statt, und was Speichersteller benötigen, sind
Tester, die gründlich aber in einem absolut minimalen Zeit
raum testen. Folglich beschreibt der Begriff "Erzeugen ei
ner Spur von Testdaten für eine automatische Analyse" einen
Prozeß, der bei weitem nicht als einheitliche Aktivität an
gesehen werden kann, und selbst einer ausgedehnten Analyse
unterworfen wurde, um die Zeit zu minimieren, die erforder
lich ist, um ein Teil zu testen, und falls es angezeigt
ist, dasselbe zu reparieren. Das einfache Konzept eines
Speichertestes als ein universal programmierbarer Mechanis
mus (z. B. eine CPU und Speicher) der mit einer steuerbaren
Testumgebung zum Untersuchen eines DUT eine Schnittstelle
bildet, ist schon seit langem für das Testen von Speichern
in großen Mengen nicht mehr ökonomisch tragbar. Ein zu gro
ßer Prozentsatz der Zeit wird mit der Ausführung der CPU
und der Gesamtlogik verbracht, die erforderlich ist, um
Stimuli zu erzeugen und deren Antworten auszuwerten. Sehr
viel zweckorientierte Hardware wurde in Speichertester ein
gebaut, um es denselben zu ermöglichen, schnell zu laufen,
und dem universal programmierbaren Mechanismus werden nun
im allgemeinen Aufgaben zugewiesen, die die Steuerung auf
der Überwachungsebene betreffen.
Falls das Testen des DUT mit hoher Geschwindigkeit und ohne
unnötige Pausen durchgeführt werden soll, ist es offen
sichtlich, daß der innere Testspeicher des Testers, der
verwendet wird, um eine Spur zu erzeugen, die Störungen be
schreibt, mit den gleichen hohen Geschwindigkeiten arbeiten
muß, die verwendet werden, um das DUT zu testen. Bei Spei
chertestern von der Sorte, die hierin beschrieben werden,
wird ein Abschnitt des inneren Testspeichers, der Testan
sprechdaten in Adressen speichert, die denen entsprechen,
die in dem DUT getestet werden, als ECR (Fehlererfassungs-
RAM) bezeichnet. Es ist leicht zu erkennen, weshalb der In
halt eines ECR als eine Spur von Testergebnissen angesehen
werden kann. Es wäre jedoch ein Fehler, den Testerbetrieb
als eine einfache Spurerzeugung durch einen Stimulus aufzu
fassen, gefolgt von einer Nach-der-Tat-Spuranalyse, die auf
jede Adresse näher eingeht. Obwohl es in der Tat für be
stimmte Aspekte des DUT-Testens sinnvoll ist, ist ein sol
ches Modell zu langsam und für bestimmte Aufgaben für die
Hochgeschwindigkeitsherstellungstestung einfach zu mühsam.
Ein zentrales Thema, das bei den Möglichkeiten gefunden
wird, um den Gedanken einer Spur, die in einem ECR gefangen
ist, zu verstärken, ist die Verwendung von zweckorientier
ter Hardware, um verschiedene Fehler in Echtzeit zu katego
risieren und zu indexieren (d. h.: Erkennen und dann Spei
chern). während dieselben auftreten. Diese verschiedenen
Fehler treten entlang der organisierenden Architekturprin
zipien auf, die sich in dem speziellen getesteten DUT be
finden. Diese Strategie reduziert die Komplexität der Ana
lyseaufgabe und reduziert außerdem die Testzeit. Diese
Strategie verwendet einen inneren Testspeicher, die als
Etiketten-RAM bezeichnet werden, um eine indexierte Samm
lung von erfaßten Ereignissen für eine spätere Untersuchung
zu speichern.
Ein herkömmlicher Speichertester kann viele Verwendungen
für innere eigene Testspeicher umfassen, von denen ECR und
Etiketten-RAM lediglich zwei sind. Nachfolgend wird die Na
tur einiger dieser Verwendung für innere Speicher unter
sucht, und es wird die Schlußfolgerung gezogen, daß eine
Verbesserung bei der Architektur eines inneren Testspei
chers bei herkömmlichen Speichertestern wünschenswert ist.
Beim Betrieb wird ein ECR (1) von der gleichen Adresse
adressiert, die an das DUT angelegt wird, oder von einer
Adresse, die von dieser Adresse abgeleitet ist; und (2)
weist der ECR eine systemeigene Datenwortbreite in Bits
auf, die zumindest so ist wie die des DUT. Die effektive
Wortbreite ist entlang Potenzen von 2 (8, 16, 32) einstell
bar, wobei eine solche Einstellbarkeit durch eine entspre
chende umgekehrte Änderung bei der Adressierbarkeit beglei
tet wird. Dieses Merkmal wird als "schmales Wort" bezeich
net.
Wenn ein Testkanal für das DUT (ein Bit in einem Ausgabe
wort oder ein anderes Signal von Interesse) erwarteten Er
gebnissen entspricht oder nicht, wird ein entsprechendes
Bit an dieser Adresse in dem ECR gemäß der verwendeten Kon
vention entweder gesetzt oder gelöscht. Eine 0 wird gespei
chert, um eine zu vergleichende Störung darzustellen. Da
derselbe so organisiert ist, weist der ECR keinen Mehrfach
bitwert für jede Adressen/Kanalkombination auf, und kann
statt dessen nur Informationen im Wert von einem Bit für
jede solche Kombination speichern, unabhängig davon, wie
oft während einem Test auf diese Kombination zugegriffen
werden kann. Die Teststrategie versteht, was das Bit bedeu
tet und wie es erhalten wird. Das Bit kann die Zweiteilung
"es hat nie versagt/es hat mindestens einmal versagt" für
einen gesamten Mehrfachzugrifftest darstellen, oder es kann
nur das Ergebnis des letzten Zugriffs (d. h. Tests) dar
stellen, selbst wenn sich dieses von früheren Tests unter
scheidet. Falls Quantitätsinformationen über Störungen für
eine bestimmte Adresse/Kanal gewünscht werden, müssen eini
ge zusätzliche Ressourcen (ein Zähler) zugeordnet werden,
um dieselben aufzuzeichnen.
Die Etiketten-RAM sind eine andere Möglichkeit zum Auf
zeichnen von Informationen in dem Testspeicher eines Te
sters darüber, wie das DUT anspricht, während dasselbe ge
testet wird. Ein Etiketten-RAM weist im allgemeinen einen
viel kleineren Adreßraum auf als ein ECR und wird typi
scherweise durch eine "klassifizierte Adresse" adressiert,
die von derjenigen abgeleitet ist, die an das DUT angelegt
ist. Die Ableitung reflektiert die Existenz eines organisa
torischen Prinzips innerhalb des DUT und wird in dieser An
meldung als "Adreßklassifizierung" bezeichnet. Die in dem
Etiketten-RAM gespeicherten Daten werden durch die Erfas
sung eines Zustands gebildet, der in der Antwort des DUT
auf einen bestimmten Stimulus auftritt, und werden norma
lerweise wiederum abgeleitet durch Anwenden der Kenntnis
über den inneren Betrieb eines DUT durch einen Prozeß, der
als "Datenklassifizierung" bezeichnet wird. Der Gedanke da
bei ist, eine Bedingung oder ein Ereignis zu erkennen, das
möglicherweise ein Mitglied einer gesamten Familie (eines
Universums) von möglichen Ereignissen ist, wobei unter
schiedliche Mitglieder der Familie unterschiedliche Adres
sen aufweisen, und dann Informationen über die Testergeb
nisse zu speichern. Dies erzeugt ein Etiketten-RAM, dessen
Inhalt brauchbare Abstraktionen bezüglich der DUT-
Organisation sind, und die gemäß Aspekten dieser DUT-
Organisation indexiert sind. Unterschiedliche Familien von
Störungstypen sind durch unterschiedliche Etiketten-RAM
dargestellt.
Als ein Beispiel für ein Etiketten-RAM nehme man an, daß
eine Adresse, die an das DUT angelegt wird, in X-, Y- und
Z-Komponenten unterteilbar ist, die sich auf die interne
Organisation des DUT beziehen. Die X-, Y- und Z-Adressen
sind in die Adresse, die an das DUT angelegt wird, einge
bettet, aber vielleicht nicht auf eine offensichtliche oder
herkömmliche Weise. Aber geeignete Torschaltungen können
beispielsweise die Y-Adresse extrahieren und dieselbe als
eine Adresse an ein Etiketten-RAM anlegen. Nun können die
Informationen gespeichert werden, die gemäß der Y-Adresse
indexiert sind. Diese Informationen können ein einziges Bit
sein, dessen Bedeutung am Ende des Tests ist, daß eine Stö
rung zumindest einmal an der Y-Adresse auftrat, oder es
kann ein Mehrfachbitwert mit einer anderen Interpretation
sein. Durch Etiketten-RAM für X, Y und Z können brauchbare
Informationen über die Störungen in einem DUT erhalten wer
den, dessen innere Organisation den Gedanken der X-, Y- und
Z-Adressen umfaßt. Ferner wird eine wesentliche Reduzierung
bei den Speicheranforderungen realisiert, da die benötigten
Etiketten-RAM eine Anzahl von Positionen verbrauchen, die
lediglich gleich ist wie die Summe der X-, Y- und Z-
Adreßräume und nicht gleich wie deren Produkt, das ein ECR
aufweisen müßte.
Um mit diesem Beispiel fortzufahren, kann eine Datenklassi
fizierung die Nützlichkeit von Etiketten-RAM weiter erhö
hen. Angenommen, das DUT ist ein 8-Bit-breiter Speicher mit
inneren X- und Y-Adreßmechanismen. Innen weist das DUT 8
ein Bit-Speicher auf, von denen jeder die gleichen X- und
Y-Adressiermechanismen aufweist, und von denen jeder seine
Ausgangsdaten an einen anderen von 8 Anschlußstiften bzw.
Pins liefert. Es ist sinnvoll zu fragen: "Gab es für jede
Y-Adresse jemals eine Störung an einem dieser 8 Anschluß
stifte?" D. h., es ist eine Datenklassifizierung erwünscht,
die diese 8 Anschlußstifte logisch ODER-verknüpft. Der Be
griff für diesen Verhaltensmodus ist "Komprimierung", und
offensichtlich muß derselbe konfigurierbar sein. Nachfol
gend wird angenommen, daß ein Tester vorliegt, der eine sy
stemeigene Wortbreite von 32 Bits aufweist, und es sollen 4
dieser 8 Bit-DUT durch Unterteilen dieser systemeigenen
Wortbreite in 4 8-Bit-Segmente, eines für jedes DUT, zum
gleichen Zeitpunkt gestestet werden. Nun soll die ODER-
Verknüpfung viermal durchgeführt werden, aber auf den vier
verschiedenen Segmenten, als ob jedes das einzige Segment
wäre, und dementsprechend die Ergebnisse an vier verschie
dene Etiketten-RAM gesendet werden. Der Begriff für diesen
Verhaltensmodus ist "Maskieren", und offensichtlich muß
derselbe ebenfalls konfigurierbar sein, um mit den unter
schiedlichen DUT übereinzustimmen, die getestet werden kön
nen. Schließlich zeigen die hier ausgeführten Beispiele den
Bedarf nach vier Etiketten-RAM (einen für jedes DUT), die
durch Y adressierbar sind (egal, wie viele Bits dies benö
tigt), und die 8 Bits breit sind. Falls für X und Z eben
falls herkömmliche Etiketten-RAM gewünscht wären, gäbe es
einen Bedarf nach 12 solchen Etiketten-RAM. Herkömmliche
Etiketten-RAM sind eigenständige getrennte Speicher, die in
dem Tester enthalten sind. Als solche sind sie bestimmten
Aufgaben zugewiesen und zeitlich vorher für diese konfigu
riert, und können nicht ohne weiteres für die Verwendung
bei anderen Umständen angepaßt werden, falls dieselben in
der Tat überhaupt angepaßt werden können.
Ein Pufferspeicher ist eine weitere Art von innerer Test
speicherverwendung, die oft bei einem Speichertester ange
troffen wird. Derselbe kann verwendet werden, um ein Bild
entweder von Stimuli oder Antworten zu speichern, die zeit
lich im Voraus gefunden oder gegeben werden können. Ein
Beispiel ist der Inhalt eines ROM (Nur-Lese-Speicher). Ein
Pufferspeicher kann entweder statt oder in Verbindung mit
algorithmisch erzeugten Testmustern verwendet werden.
Bei einem herkömmlichen Speichertester werden diese unter
schiedlichen Arten von innerer Testspeicherverwendung durch
Einbauen getrennter Speichermechanismen in den Tester rea
lisiert, die jeweils ihrem eigenen speziellen Zweck zuge
wiesen sind. Dies ist sowohl erschwerend als auch ver
schwenderisch, da es oft der Fall sein wird, daß ungenütz
ter Speicher vorliegt, aber nicht für eine andere gewünsch
te Funktion verfügbar ist. Ferner werden solche herkömmli
chen ECR, Etiketten-RAM und Pufferspeicher bisher mit SRAM
realisiert, der relativ teuer ist, obwohl derselbe schnell
und leicht zu steuern ist. Auf einen SRAM wird unter Ver
wendung einer einzelnen einheitlichen Adresse zugegriffen,
und derselbe ist schneller als ein DRAM, wenn beliebig auf
denselben zugegriffen wird, aber auch wesentlich teuerer.
Es wäre wünschenswert, falls durch Verwenden von DRAM die
Größen der ECR, Etiketten-RAM und Pufferspeicher sowohl er
höht als auch deren Kosten reduziert werden könnten, diese
Vorteile könnten realisiert werden, falls es eine Möglich
keit gäbe, DRAM mit beliebiger Adressierung mit der glei
chen Rate zu betreiben, wie sie allgemein von den teureren
SRAM erwartet wird.
Wie ein RAM in einem inneren Testspeicher eines Speicherte
sters durch DRAM ersetzt werden kann, wurde oben kurz be
schrieben, und ist der Gegenstand von viel nachfolgendem
Material. Die hierin beschriebene Technik betont einen ECR
als ein Hauptbeispiel, aber ist auf keinen Fall auf einem
DRAM begrenzt, der als ein ECR verwendet wird. Es wird völ
lig offensichtlich werden, daß die DRAM-Speichersätze au
ßerdem verwendet werden können, um einen rekonfigurierbaren
inneren Testspeicher mit hoher Geschwindigkeit und niedri
gen Kosten zu liefern, der verwendet werden kann, um Eti
ketten-RAM und Pufferspeicher zu liefern. Dann wäre es wün
schenswert, wenn beliebig viele unterschiedliche Beispiele
aller dieser unterschiedlichen Verwendungen von innerem
Testspeicher innerhalb eines Speichertesters zugeordnet und
rekonfiguriert werden könnten, wie es von einer zentralen
Sammlung von Speicher benötigt wird, und nicht als getrenn
te vorkonfigurierte Speichermechanismen existieren.
Da nun eine relativ große Menge an unaufwendigem, schnellem
und rekonfigurierbarem inneren Testspeicher zur Verfügung
steht, ergibt sich ferner die Frage, was noch getan werden
könnte, um den Speichertesterbetrieb zu verbessern.
Insbesondere wäre es wünschenswert, daß es eine Möglichkeit
gäbe, den Aufwand zu reduzieren, der benötigt wird, um ein
Testprogramm zu schreiben und auszuführen. Könnte man bei
spielsweise die Spezifität und Komplexität reduzieren, die
mit einem Testprogramm verbunden ist, das sowohl Stimuli
als auch deren erwartete Antworten für ein zu testendes Ge
rät erzeugen muß? Schließlich werden Speicher getestet, und
es steht nun eine ziemliche Menge an innerem Testspeicher
zur Verfügung. Gerade wenn die Gedanken von Adreß- und Da
tenklassifizierung, die einen Etiketten-RAM antreiben, eine
Analyselast von dem Testprogramm nehmen, gäbe es vielleicht
eine zusätzliche Möglichkeit, einige der verschiedenen
Speichertestprogramme zu vereinfachen, falls ausreichend
innerer Testerspeicher verfügbar ist. Was ist zu tun?
Es ist die Aufgabe der vorliegenden Erfindung, ein Verfah
ren zum Testen eines Speichers auf einem Speichertester mit
verbesserten Charakteristika zu schaffen.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 ge
löst.
Die verschiedenen Funktionen, die für einen inneren Test
speicher wünschenswert sind, sind in Memory in Speichersät
zen implementiert, die als Host für eine oder mehrere sol
cher Funktionen dienen können. Beispielsweise kann es der
Fall sein, daß ein ECR aufgrund seiner Größe und dem Wunsch
nach zweckorientierten Hochgeschwindigkeitsdatenwegen einen
gesamten eigenen Speichersatz erfordert. Eine gesamte Samm
lung von Etiketten-RAM kann jedoch zusammen mit Pufferspei
chern in einem anderen Speichersatz positioniert sein.
falls es dort Platz und keine Konkurrenz für Speicherzyklen
gibt (ein Leistungsfähigkeitsthema oder Verhaltensthema).
Falls nötig, könnten die Pufferspeicher in noch einem ande
ren Speichersatz positioniert sein. Allgemein gesagt, Din
ge, auf die nicht gleichzeitig zugegriffen werden muß, wer
den in unterschiedlichen Speichersätzen positioniert. Ein
Speichersatz kann viele unterschiedliche Elemente enthal
ten, falls dieselben zu getrennten Zeiten erzeugt und ver
wendet werden.
Eine Sammlung von Etiketten-RAM benötigt vielleicht nicht
die gesamte Breite des systemeigenen Worts, das durch den
Speichersatz implementiert ist, und kann doch den gleichen
Bereich an Adressen aufweisen. Etiketten-RAM können Seite
an Seite an den gleichen Adressen positioniert sein, indem
der Vorteil des Schmal-Wort-Merkmals ausgenutzt wird. Die
gleiche Ökonomie kann für Pufferspeicher erreicht werden.
Obwohl diese unterschiedlichen Verwendungen von innerem
Testspeicher innerhalb eines Speichersatzes tatsächlich an
beliebigen Positionen innerhalb des Adreßraums dieses Spei
chersatz positioniert sind, ist es bezüglich der algorith
mischen Prozesse innerhalb des Testprogramms wünschenswert,
daß es so scheint, als ob dieselben durch die gleichen
Adressen oder durch Adressen, die von der Architektur der
selben abgeleitet sind, adressiert werden, die an das DUT
angelegt werden. Das heißt, mehrere unterschiedliche Tabel
len innerhalb eines Adreßraums sind jeweils organisiert,
als ob dieselben das gleiche Segment von Adreßraum beset
zen, sind aber in der Realität in getrennten Regionen ge
speichert, damit alle hineinpassen und nicht überlappen.
Aber das Testprogramm möchte frei von den unangenehmen Ein
zelheiten darüber sein, wo sich die Dinge tatsächlich in
dem Moment der Ausführung befinden. Dies kann durch Vermeh
ren der Adreßklassifizierungsmechanismen für die unter
schiedlichen Speichersätze erreicht werden, um unter der
Steuerung des Testprogramms eine automatische und dynami
sche Variation des Adreßklassifizierungsprozesses zu lie
fern, während entsprechende Testteile durchgeführt werden,
um die Etiketten-RAM (oder ECR oder Pufferspeicher) Ergeb
nisse zu der richtigen Position in dem Speichersatz von In
teresse zu steuern. Diese Variation ist auf einer Test-um-
Test-Basis (d. h. Struktur um Struktur, oder, was das glei
che ist, Segment um Segment des Testprogramms).
Schließlich kann für bestimmte Testklassen (darüber nach
folgend mehr) ein Abschnitt von innerem Testspeicher als
Stimulus-Log-RAM verwendet werden, der als ein ideales DUT
wirkt, um die korrekten Bedingungen zu erzeugen (wie durch
Emulation, aber der tatsächliche Mechanismus ist äquivalen
te Substitution), die in einem tatsächlichen DUT nach der
Beendigung aller oder zumindest einer Zwischenmenge der
Tests existieren sollen. Der Gedanke ist, zunächst den
Strom von Sendevektoren des Testprogramms dazu zu bringen,
zu erscheinen. Dieser Strom wird dann entweder (A) an den
Stimulus-Log-RAM (allein) angelegt, als ob derselbe statt
dem tatsächlichen DUT ausgeführt würde (der Stimulus-Log-
RAM macht genau das, was von einem tatsächlichen guten DUT
erwartet werden würde); oder (B) sowohl (A) tritt ein und
auch der Strom von Sendevektoren wird in der Tat gleichzei
tig an das tatsächliche DUT angelegt. In dem Fall von (A)
wird dann, wenn (A) abgeschlossen ist, ein tatsächliches
DUT getestet, indem die gleiche Sequenz von Sendevektoren
wieder erzeugt wird und zu dem tatsächlichen DUT gesendet.
In jedem Fall müssen nach (A) oder (B) der Stimulus-Log-RAM
und der DUT einen identischen Inhalt aufweisen. Nun kann
der tatsächliche Teil gelesen werden, um den Inhalt dessel
ben zu entdecken, während die erwarteten Empfangsvektoren
von dem Stimulus-Log-RAM genommen werden, und die Ver
gleichsergebnisse wie üblich zu einem ECR, Etiketten-RAM,
usw., gesendet werden. Auf diese Weise muß das Testprogramm
nicht die speziellen Empfangsvektoren erzeugen oder aufwei
sen, die die erwartete Antwort von dem angelegten Stimulus
sind. Für diese Testklassen, die mit diesem Lösungsansatz
kompatibel sind(von denen es viele gibt), ist das Testpro
gramm einfacher und leichter zu schreiben und zu erhalten,
da weniger interne Variable zu der Größe des DUT-Adreßraums
passen müssen.
Die Arten von Testprogrammen, die von dieser Technik profi
tieren können, sind diejenigen, die eine Reihe von Schreib
vorgängen ohne intervenierende Vergleichslesevorgänge
durchführen, oder die neu angeordnet werden können, um dies
zu tun, anschließend gefolgt von einer Reihe von Ver
gleichslesevorgängen (mit Empfangsvektoren), die an die
Adressen gerichtet sind, auf die früher geschrieben wurde.
Beim Stand der Technik ist dem Stimulussegment Nr. 1 norma
lerweise ein Prüfsegment Nr. 1 zugeordnet, das entweder mit
dem Stimulus gemischt wird oder nachfolgend getrennt durch
geführt wird. So oder so ist das Prüfsegment Nr. 1 spezi
fisch für das Stimulussegment Nr. 1, da dasselbe die spezi
ellen Empfangsvektoren enthalten muß, die erforderlich
sind, um den Test zu bestehen. Nun wird angenommen, daß das
Stimulussegment Nr. 2 folgt, gefolgt von (oder einschließ
lich) dem Prüfsegment Nr. 2. Dies ist ebenfalls spezifisch
für die Natur des Stimulussegments Nr. 2. Nun nehme man ein
universelles Prüfsegment an, das lediglich den Inhalt des
DUT mit dem in dem Stimulus-Log-RAM vergleicht. Ein solches
universales Prüfsegment kann als Prüfsegment Nr. 1 und Nr.
2 verwendet werden. Dies stellt eine wesentliche Vereinfa
chung bei dem Schreiben und der Wartung von Testprogrammen
dar.
Bei einem Speichertester, der gemäß dem bevorzugten Ausfüh
rungsbeispiel, das nachfolgend beschrieben wird, aufgebaut
ist, kann den Mechanismus, der Sendevektoren annimmt, die
an das DUT gesendet werden sollen, ebenfalls angewiesen
werden, dieselben außerdem (oder vielleicht statt dessen)
zu einem Abschnitt des inneren Testspeichers zu senden, der
sich verhält, als ob er ein ECR wäre, aber der in der Tat
der Stimulus-Log-RAM ist (sozusagen in Verkleidung). Diese
Sendevektoren werden über den gleichen Weg gesendet, der
für die Ergebnisse eines Vergleichs zwischen Sende- und
Empfangsvektoren (was diese nicht sind, aber der Weg kennt
den Unterschied nicht) verwendet werden würde. Der Stimu
lus-Log-RAM wirkt dann als ein idealer Speicher, der Stimu
lusabschnitt des Tests ohne Fehler ausführt. Es kann gesagt
werden, daß für diese anfängliche Stimulus-Log-RAM-Funktion
ein Pseudo-ECR verwendet wird: derselbe ist bequem und ef
fizient, da der verwendete Speicher sowieso schnell und mit
den Ergebnissen des Vergleichs verbunden sein muß. Sobald
der gesamte anfängliche Stimulus durchgeführt ist, wird der
Inhalt des Stimulus-Log-RAM (der nicht mehr als ein geeig
neter Abschnitt eines Speichersatzes ist, der vorübergehend
funktioniert hat, als ob derselbe tatsächlich ein ECR wäre)
nachfolgend als (ein Ziel-) Pufferspeicher behandelt (ein
Rekonfigurationsthema), der dann die verbleibende Funktion
des Stimulus-Log-RAM fortsetzt (Senden erwarteter Empfangs
vektoren zu dem Vergleichsmechanismus). Nun sendet der al
gorithmische Mechanismus (oder ein Quellenpufferspeicher)
einen Satz von Sendevektoren zu dem wahren DUT, um dasselbe
zu lesen und Empfangsvektoren hervorzurufen, während ein
anderer Abschnitt des (vielleicht anderen) Speichersatzes
diesmal als ein tatsächlicher ECR wirkt (zusammen mit allen
Etiketten-RAM, usw.). Es ist anzumerken, daß es nicht not
wendig ist, den Inhalt von dem ECR-Abschnitt in den Ziel-
Pufferspeicherabschnitt zu kopieren (als ob der ECR "frei
gegeben" und der Stimulus-Log-RAM "geladen" würde), es
reicht aus, einfach neu zu definieren, welche Abschnitte
von welchen Speichersätzen diese verschiedenen Funktionen
durchführen. Auf den tatsächlichen physikalischen Speicher,
der als der Stimulus-Log-RAM verwendet wird, wird zunächst
auf die gleiche Weise geschrieben wie auf ein ECR, und dann
wird von demselben gelesen, als ob derselbe ein Pufferspei
cher wäre, während ein anderer Teil des Speichersatzes der
ECR "wird".
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend Bezug nehmend auf die beiliegenden
Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein vereinfachtes Blockdiagramm eines umfassend
rekonfigurierbaren nicht-flüchtigen Speicherte
sters, der gemäß der Erfindung aufgebaut ist;
Fig. 2 eine Ausdehnung eines vereinfachten Blockdia
gramms des DUT-Testers 6 von Fig. 1;
Fig. 3 ein vereinfachtes funktionales Blockdiagramm des
inneren Testspeichermechanismus, der in dem
Blockdiagramm von Fig. 2 erscheint;
Fig. 4 ein detaillierteres Blockdiagramm des inneren
Testspeichermechanismus von Fig. 3;
Fig. 5 ein vereinfachtes Blockdiagramm eines DRAM-
Speichersatzsteuermechanismus, der in den Block
diagrammen von Fig. 3 und 4 erscheint;
Fig. 6 ein vereinfachtes Blockdiagramm einer Adreßklas
sifiziererschaltung, die in den Fig. 3 und 4 ver
wendet wird;
Fig. 7 ein vereinfachtes Blockdiagramm einer Datenklas
sifiziererschaltung, die in den Fig. 3 und 4 ver
wendet wird;
Fig. 8 ein vereinfachtes Blockdiagramm einer Komprimie
rungsschaltung, die in Fig. 7 verwendet wird;
Fig. 9 ein vereinfachtes Blockdiagramm einer Verschie
bungsschaltung, die in Fig. 7 verwendet wird;
Fig. 10 ein vereinfachtes Blockdiagramm einer Maskie
rungsschaltung, die in Fig. 7 verwendet wird; und
Fig. 11 ein vereinfachtes Blockdiagramm einer Sendevek
torerfassungsschaltung, die Teil der in Fig. 2
gezeigten Zeitgebungs/Formatier- und Vergleichs
schaltung ist.
Mit Bezugnahme auf Fig. 1 ist ein vereinfachtes Blockdia
gramm 1 eines nicht-flüchtigen Speichertestsystems gezeigt,
das gemäß den Prinzipien der Erfindung aufgebaut ist. Ins
besondere kann das gezeigte System gleichzeitig bis zu 36
einzelne DUTs (Devices Under Test = zu testende Geräte) mit
jeweils bis zu 64 Testpunkten zu einem Zeitpunkt testen,
mit Vorkehrungen für eine Rekonfiguration, um es Elementen
einer Sammlung von Testressourcen zu ermöglichen, zusammen
gebunden zu werden, um DUTs mit mehr als 64 Testpunkten zu
testen. Diese Testpunkte können Positionen auf einem Ab
schnitt eines integrierten Schaltungswafers sein, der noch
nicht vereinzelt und verpackt wurde, oder sie können die
Stifte des verpackten Teils sein. Der Begriff "Testpunkt"
bezieht sich auf eine elektrische Position, an der ein Si
gnal angelegt werden kann (z. B. Leistungsversorgung, Uh
ren, Dateneingänge), oder an der ein Signal gemessen werden
kann (z. B. ein Datenausgang). In dieser Beschreibung wer
den die Gebräuche der Industrie befolgt, die Testpunkte als
"Kanäle" zu bezeichnen. Die "Sammlung von Testressourcen,
die zusammengebunden werden sollen" auf die oben Bezug ge
nommen wurde, können als bis zu 36 Testorte angesehen wer
den, wobei jeder Testort eine Testortsteuerung (4), einen
(64 Kanal-) DUT-Tester (6) und eine (64 Kanal-) Sammlung
von Pinelektronik (9), die die tatsächliche elektrische
Verbindung zu einem DUT (14) herstellt, umfaßt. In dem
Fall, in dem das Testen des DUT 64 oder weniger Kanäle er
fordert, reicht ein einzelner Testort aus, um Tests an die
sem DUT durchzuführen, und hier wird beispielsweise ange
nommen, daß der Testort Nr. 1 (wie er in Fig. 1 erscheint)
eine "Einzelortteststation" bildet oder als eine solche
wirkt. Wenn dagegen eine Form der vorher erwähnten Rekonfi
guration wirksam ist, werden zwei (oder mehr) Testorte
"verbunden", um als ein größerer äquivalenter Testort mit
128 Kanälen zu wirken. Dementsprechend und unter erneuter
Bezugnahme auf ein in Fig. 1 gezeigtes Beispiel wird ange
nommen, daß die Testorte Nr. 35 und Nr. 36 eine "Zwei-Ort-
Teststation" bilden.
Um kurz den entgegengesetzten Fall zu bedenken sollte nicht
angenommen werden, daß ein gesamter Testort benötigt wird,
um ein einziges DUT zu testen, oder daß ein einziger Te
stort nur ein einziges DUT testen kann. Angenommen, ein Wa
fer würde zwei (möglicherweise aber nicht notwendigerweise
benachbarte) Chips aufweisen, wobei die Summe der Testka
nalanforderungen desselben 64 Kanäle oder weniger wäre.
Beide DUTs können durch einen einzigen Testort getestet
werden. Dies wird durch die Universalprogrammierbarkeit je
des Testorts ermöglicht. Ein Testprogramm, das durch den
Testort ausgeführt wird, kann derart geschrieben werden,
daß ein Teil der Ressourcen des Testorts verwendet wird, um
eines der DUTs zu testen, während ein Teil verwendet wird,
um das andere DUT zu testen. Wenn man schließlich annimmt,
daß, falls ein drittes DUT vorliegt, dieses die logische
Einheit der ersten beiden wäre, wäre man in der Lage, die
ses dritte DUT mit einem einzigen Testort zu testen, daher
sollte man in der Lage sein, gleichermaßen die "Komponen
ten-DUTs" desselben zu testen. Der einzige Unterschied ist,
individuell zu verfolgen, ob die beiden "Komponenten-DUTs"
bestehen oder versagen, im Gegensatz zu einer einheitlichen
Antwort für das "dritte" DUT (d. h., es gibt ein Problem
bezüglich der Frage, welcher Abschnitt des "dritten" DUT
versagt hat). Diese "Einzelort-Mehrfachteststation"-
Fähigkeit ist überwiegend konventionell und wird hier zum
Zweck der Vollständigkeit erwähnt, und um mögliche Verwir
rung und Mißverständnisse zu vermeiden, wenn dasselbe mit
der Idee des Verbindens von zwei oder mehr Testorten ver
glichen wird.
Abgesehen von diesem Gedanken der Rekonfiguration gäbe es
keinen Unterschied zwischen einem Testort und einer Test
station, und einer dieser Begriffe könnte weggelassen wer
den. So wie es ist, wird jedoch offensichtlich, daß die An
zahl von Teststationen nicht gleich der Anzahl von Testor
ten sein muß. In der Vergangenheit konnten die Anzahlen un
terschiedlich sein, weil die Testorte unterteilt wurden, um
mehr Teststationen zu erzeugen (DUTs, die nicht komplex ge
nug sind, um einen gesamten Testort zu verbrauchen). Nun
kann der Unterschied jedoch auch daran liegen, daß die Te
storte zusammen verbunden wurden, um Mehrfachort-
Teststationen zu bilden (DUTs, die zu komplex für einen
einzigen Testort sind).
Nachfolgend wird dann eine Testsystemsteuerung 2 durch ei
nen Systembus 3 mit bis zu 36 Testortsteuerungen verbunden,
deren Namen mit dem Zusatz Nr. 1 bis 36 (4a bis 4z) enden.
(Es stimmt, daß die Indexe a bis z nur von 1 bis 26 gehen,
und nicht bis 36. Aber diese kleine Abweichung ist im Ver
gleich zu numerischen Indexen hinter numerischen Bezugszei
chen vorzuziehen, die wahrscheinlich sehr verwirrend wä
ren.) Die Testsystemsteuerung 2 ist ein Computer (z. B. ein
PC, auf dem NT läuft), der ein geeignetes Testsystemsteuer
programm ausführt, das sich auf die Aufgabe des Testens
nichtflüchtiger Speicher bezieht. Das Testsystemsteuerpro
gramm stellt die höchste Abstraktionsebene in einer hierar
chischen Arbeitsteilung (und Komplexität) zum Ausführen des
gewünschten Testens dar. Die Testsystemsteuerung bestimmt,
welche Programme durch die unterschiedlichen Testorte aus
geführt werden, und überwacht auch ein Robotersystem (nicht
gezeigt), das die Testsonden und DUTs wie benötigt bewegt.
Die Testsystemsteuerung 2 kann auf bestimmte Weisen wirken,
die den Gedanken unterstützen, daß einige Testorte program
miert sind, um als Einzelort-Teststationen zu arbeiten,
während andere verbunden sind, um Mehrfachort-Teststationen
zu bilden. Selbstverständlich werden unter solchen Umstän
den unterschiedliche Teile getestet, und es ist sehr wün
schenswert, daß für die unterschiedlichen Teile unter
schiedliche Tests verwendet werden. Gleichartig dazu gibt
es weder die Anforderung, daß alle Einzelort-Teststationen
die gleiche Art von Teilen testen, noch gibt es eine solche
Anforderung für Mehrfachort-Teststationen. Dementsprechend
ist die Testsystemsteuerung 2 programmiert, um die Befehle
auszugeben, um das benötigte Testort-Verbinden auszuführen
und dann die geeignete Testprogramme für die verschiedenen
verwendeten Teststationen aufzurufen. Die Testsystemsteue
rung 2 empfängt außerdem Informationen über Ergebnisse, die
von den Tests erhalten werden, so daß dieselbe die geeigne
ten Aktionen zum Entsorgen des schlechten Teils durchführen
kann und daß dieselbe Protokolle für die verschiedenen Ana
lysen erhalten kann, die verwendet werden können, um bei
spielsweise Produktionsprozesse in einer Fabrikumgebung zu
steuern.
Das Testsystem selbst ist ein relativ großes und komplexes
System, und es ist gebräuchlich, daß dasselbe ein Roboter
teilsystem verwendet, um Wafer auf eine Stufe zu laden, die
dann nacheinanderfolgend eine oder mehrere zukünftige Chips
unter Sonden positioniert, die mit der Pinelektronik 9 ver
bunden sind, woraufhin diese zukünftigen Chips (der Wafer
wurde noch nicht vereinzelt) getestet werden. Das Testsy
stem kann ebenfalls verwendet werden, um verpackte Teile zu
testen, die auf einem geeigneten Träger geladen wurden. Je
der Teststation, die in Betrieb ist, wird zumindest eine
Testortsteuerung zugeordnet sein (wie es nachfolgend er
klärt wird), unabhängig davon, wie viele Testorte verwendet
werden, um diese Teststation zu bilden, oder wie viele
Teststationen sich an einem Testort befinden. Eine Testort
steuerung ist ein eingebettetes System, das ein i960-
Prozessor von Intel mit 36 bis 64 MB von kombiniertem Pro
gramm- und Datenspeicher sein kann, der auf einem eigenen
Betriebssystem namens VOS (VersaTest-Betriebssystem) läuft,
das auch bei früheren Produkten zum Testen nicht-flüchtiger
Speicher (z. B. Agilent V1300 oder V3300) verwendet wurde.
Für den Moment wird nur die Situation für Einzelort-
Teststationen betrachtet. Für den Zweck eines bestimmten
Beispiels wird angenommen, daß der Testort Nr. 1 als Test
station Nr. 1 wirkt, und daß derselbe das WHIZCO-Teil Nr.
0013 testen soll. Die Testbestimmungen umfassen etwa 100
unterschiedliche Typen von Tests (Variieren und Überwachen
der Spannungspegel, Pulsbreiten, Flankenpositionen, Verzö
gerungen, als auch eine große Menge an einfachem Speichern
und anschließendem Wiedergewinnen von ausgewählten Informa
tionsstrukturen), und jeder Typ von Test umfaßt viele Mil
lionen einzelner Speicherzyklen für das DUT. Auf der höch
sten Ebene weisen die Betreiber des Testsystems die Testsy
stemsteuerung 2 an, die Teststation Nr. 1 zu verwenden, um
damit zu beginnen, die WHIZCO 0013 zu testen. Zu gegebener
Zeit teilt die Testsystemsteuerung 2 der Testortsteuerung
Nr. 1 (4a) (die ein eingebettetes [Computer]-System ist)
mit, das zugeordnete Testprogramm, etwa TEST_WHIZ_13, ab
laufen zu lassen. Falls das Programm innerhalb der Umgebung
der Testortsteuerung Nr. 1 bereits verfügbar ist, wird es
einfach ausgeführt. Falls nicht, wird es durch die Testsy
stemsteuerung 2 geliefert.
Im Prinzip könnte nun das Programm TEST_WHIZ_13 vollständig
unabhängig sein. Aber wenn es dies wäre, wäre es mit ziem
licher Sicherheit sehr groß und es kann für den Prozessor
des eingebetteten Systems innerhalb der Testortsteuerung 4a
schwierig sein, schnell genug zu laufen, um die Tests mit
der gewünschten Geschwindigkeit zu erzeugen, oder selbst
mit einer Rate, die von einem DUT-Speicherzyklus zu dem
nächsten einheitlich ist. Dementsprechend werden Unterrou
tinetyp-Aktivitäten auf niedriger Ebene erzeugt, die Se
quenzen von Adressen und zugeordneten Daten, die geschrie
ben werden sollen oder von einer Leseoperation erwartet
werden, nach Bedarf von einem programmierbaren algorithmi
schen Mechanismus erzeugt, der in dem DUT-Tester 6 positio
niert ist, der aber synchron mit dem Programm wirkt, das
durch das eingebettete System in der Testortsteuerung 4
ausgeführt wird. Dies kann als Exportieren bestimmter Un
terroutineartiger Aktivitäten auf niedriger Ebene und der
Aufgabe des Auslösens von DUT-Speicherzyklen zu einem Me
chanismus (dem DUT-Tester), der näher bei der Hardwareumge
bung des DUT 14 liegt, angesehen werden. Allgemein gesagt,
jedesmal, wenn die Testsystemsteuerung 2 eine Testortsteue
rung mit einem Testprogramm ausstattet, versorgt dieselbe
dann außerdem den zugeordneten DUT-Tester mit geeigneten
Implementierungsroutinen auf niedriger Ebene (vielleicht
spezifisch für den getesteten Speicher), die benötigt wer
den, um die Gesamtaktivität auszuführen, die von dem Pro
grammieren für die Testortsteuerung beschrieben oder benö
tigt wird. Die Implementierungsroutinen auf niedriger Ebene
werden als "Strukturen" bezeichnet, und dieselben sind im
allgemeinen mit einem Namen versehen (genauso wie Funktio
nen und Variablen in Programmsprachen hoher Ebene Namen
aufweisen).
Jede Testortsteuerung Nr. n(4) ist durch einen Orttestbus
Nr. n(5) mit ihrem zugeordneten DUT-Tester Nr. n(6) gekop
pelt. Die Testortsteuerung verwendet den Orttestbus 5, so
wohl um den Betrieb des DUT-Testers zu steuern, als auch um
Informationen von demselben über Testergebnisse zu empfan
gen. Der DUT-Tester ist in der Lage, die verschiedenen DUT-
Speicherzyklen, die in den Testvorschriften enthalten sind,
mit hoher Geschwindigkeit zu erzeugen, und derselbe
entscheidet, ob die Ergebnisse eines Lesespeicherzyklus so
sind wie erwartet. Im wesentlichen spricht derselbe auf Be
fehle oder Operationscodes ("mit Namen versehene Struktu
ren") an, die von der Testortsteuerung gesendet werden,
durch Auslösen entsprechender nützlicher Sequenzen von Le
se- und Schreib-DUT-Speicherzyklen (d. h. derselbe führt
die entsprechenden Strukturen aus). Konzeptionell ist das
Ausgangssignal des DUT-Testers 6 eine Stimulusinformation,
die an das DUT angelegt werden soll, und dasselbe akzep
tiert auch Ansprechinformationen von demselben. Diese Sti
mulus/Ansprechinformation 7a verläuft zwischen dem DUT-
Tester 6a und einer Pinelektronik Nr. 1 Anordnung 9a. Die
Pinelektronikanordnung 9a unterstützt bis zu 64 Sonden, die
an das DUT 14 angelegt werden können.
Die oben erwähnte Stimulusinformation ist lediglich eine
Sequenz von parallelen Bitstrukturen (d. h. eine Sequenz
von "Sendevektoren" und erwarteten "Empfangsvektoren"), die
gemäß den Spannungspegeln einer Familie von Logikelementen,
die in dem DUT-Tester verwendet werden, ausgedrückt wird.
Es gibt ein konfigurierbares Abbilden zwischen Bitpositio
nen in einem Stimulus/Antwort und den Sonden auf dem Chip,
und dieses Abbilden wird durch den DUT-Tester 6 verstanden.
Die einzelnen Bits sind bezüglich ihrer Zeitgebung und
Flankenplazierung korrekt, aber zusätzlich zu dem Abbilden
können sie ebenfalls Spannungspegelumschalten benötigen,
bevor sie an das DUT angelegt werden können. Gleichartig
dazu kann eine Antwort, die nachfolgend zu einem Stimulus
in dem DUT auftritt, Puffern und "umgekehrtes" Pegelum
schalten benötigen, bevor dieselbe als geeignet angesehen
werden kann, um zurück zu dem DUT-Tester geführt zu werden.
Diese Pegelumschaltaufgabe sind das Gebiet der Pinelektro
nik 9a. Die Pinelektronikkonfiguration, die zum Testen ei
nes WHIZCO 0013 benötigt wird, wird wahrscheinlich beim Te
sten eines Teils von der ACME Co. nicht funktionieren, und
vielleicht nicht einmal bei einem anderen WHIZCO-Teil. Da
her ist offensichtlich, daß die Pinelektronikanordnung
ebenfalls konfigurierbar sein muß, eine solche Konfigurier
barkeit ist die Funktion der PE-Konfigurationsleitungen 8a.
Die obigen Ausführungen beenden einen kurzen architektoni
schen Überblick darüber, wie ein einzelner Testort zum Te
sten eines DUT strukturiert ist. Es folgen nun Themen, die
sich ergeben, wenn es viele Testorte gibt, die betrieben
werden müssen. Als Einleitung wird ein bevorzugtes Ausfüh
rungsbeispiel zum Aufbauen eines Testsystems mit mehreren
Testorten beschrieben. In vielerlei Hinsicht sind einige
der Informationen, die beschrieben werden, ein Frage von
Vorlieben auf der Basis von Marktstudien über Kundenvorlie
ben und Kosten-Nutzen-Analysen. Wie dem auch sei, um eines
dieser Dinge zu erstellen, muß man eine bestimmte Wahl
treffen, und sobald dies getan ist, ergeben sich bestimmte
Konsequenzen, die durch das gesamte System sichtbar sind.
Es wird davon ausgegangen, daß es nützlich ist, zumindest
auf allgemeine Weise die größeren Umrisse der Hardwareei
genschaften des Testsystems zu beschreiben. Selbst wenn ei
nige dieser Eigenschaften zufällig sind, wird die Kenntnis
derselben trotzdem eine Anerkennung der verschiedenen Bei
spiele unterstützen, die verwendet werden, um die Erfindung
darzustellen.
Man betrachte zu Beginn vier eher große Kartenkäfige. Außer
Leistungszufuhren und Wasserkühlung (Ventilatoren können in
einer sauberen Raumumgebung eine Verschmutzungsquelle dar
stellen) umfaßt jeder Kartenkäfig eine Hauptplatine, eine
Vorderfläche und eine Rückfläche. In jeden Kartenkäfig kön
nen bis zu 9 Anordnungen plaziert werden. Jede Anordnung
umfaßt eine Testortsteuerung, eine DUT-Tester und eine Pin
elektronik. Nachfolgend wird in groben Zügen dargestellt,
wie Testortsteuerungen verbunden werden, was einige Busse
umfassen wird, die verwendet werden, um Verkettungen (Dai
sy-Chains) zu erzeugen.
Ein kurzer Exkurs bezüglich des Begriffs "Verkettung" ist
an dieser Stelle vielleicht angebracht. Man betrachte die
Systemelemente A, B, C und D. Angenommen, dieselben sollen
in dieser Reihenfolge verkettet werden. Man könnte sagen,
daß es einen Informations- oder Steuerweg gibt, der A ver
läßt und in D geht, daß B selektiv Verkehr weiterleiten
kann, der dann B verläßt und in C geht, und daß C selektiv
Verkehr weiterleiten kann, der dann in D geht. Diese glei
che Art von Anordnungen können auch für Verkehr in der an
deren Richtung existieren. Verkettungen werden oft verwen
det, um Prioritätsschemata zu erzeugen, dieselben werden
hier verwendet, um Master/Slave-Beziehungen zwischen ver
schiedenen Testortsteuerungen zu erzeugen. Diese verkette
ten Kommunikationsanordnungen werden mit dem Zusatzwort
"DSY" statt "BUS" bezeichnet. Somit kann statt auf einen
Befehl/Datenbus auf einen Befehl/Daten-DSY Bezug genommen
werden. Nun kann der Gedanke, daß Informationen "in B ein
dringen und selektiv weitergeleitet werden", darauf hindeu
ten, daß der Verkehr auf einen getrennten Satz von Leitern
reproduziert wird, bevor er weitergeleitet wird. Es könnte
so sein, aber aus Leistungsgründen ist es eher ein regulä
rer Bus mit adressierbaren Einheiten. Durch eine program
mierbare Adreßabbildungsanordnung und die Fähigkeit, stro
mabwärtige Testortsteuerungen "stillzulegen" kann erreicht
werden, daß der einzelne Bus so logisch als eine Mehrzahl
von Verkettungen erscheint (d. h. so funktioniert).
Schließlich ist offensichtlich, daß die Verkettungen Hoch
leistungswege für Befehl und Steuerinformationen sind, und
daß, wenn sie dies nicht wären, man nicht erwarten könnte,
daß eine Master/Slave-Kombination (Mehrfachort-Teststation)
so schnell arbeitet wie ein einzelner Testort. Zugunsten
der Verkettungsleistungsfähigkeit muß gesagt werden, daß
die verschiedenen DSY ihre jeweiligen Kartenkäfige nicht
verlassen. Der Effekt dieser Entscheidung ist, daß einige
Beschränkungen auferlegt werden, welche Testorte (und somit
auch wie viele) verbunden werden können. Im Prinzip gibt es
keinen grundlegenden Bedarf für diese Beschränkung, noch
gibt es einen allgemeinen Mangel an technischer Praktikabi
lität (es könnte durchgeführt werden), es wird lediglich
davon ausgegangen, daß das Erweitern der DSYs wesentliche
Kosten für einen relativ geringen zusätzlichen Vorteil be
wirken würde, da bereits 9 Testorte in einem Kartenkäfig
bestehen.
Um die Erörterung von Fig. 1 wieder aufzunehmen, werden die
verschiedenen Testortsteuerungen 4a-4z betrachtet, die die
4 Kartenkäfige besetzen können, jede mit 9 Testortsteuerun
gen. Dieselben werden mit 4a-4f, 4g-4m, 4n-4t und 4u-4z be
zeichnet. (Es macht nichts, daß dies nominal nur 26 Zusätze
sind, wie vorher erklärt - der Leser ist eingeladen, sich
vorzustellen, daß es irgendwo dort draußen weitere 10 Zu
satzsymbole gibt.) Eine CMD/DAT DSY 17a (Befehls- und Da
ten-Daisy-Chain = Befehls- und Datenverkettung) verbindet
die Testortsteuerungen 4a-4f, die sich in einem Kartenkäfig
befinden, während eine andere CMD/DAT DSY 17b die Testort
steuerungen 4g-4m in einem anderen Kartenkäfig verbindet.
Die gleiche Anordnung besteht für die verbleibenden Karten
käfige und die Testortsteuerungen 4n-4t bzw. 4u-4z. Es wur
de vorher angemerkt, daß die DSY die Kartenkäfige nicht
verlassen, da das "Schwanzende" eines Busses, das tatsäch
lich die DSY bildet, einen Kartenkäfig nicht verläßt und
der Kopf des nächsten Segments in einem anderen Kartenkäfig
wird. Statt dessen geht der Systembus 3 von der Testsy
stemsteuerung 2 zu allen Testortsteuerungen, und jeder ist
in der Lage, an dem Kopf eines DSY-Segments, das den Kar
tenkäfig nicht verläßt, ein Master zu werden.
Die CMD/DAT DSY 17a-d, die erörtert wurden, existieren zwi
schen den verschiedenen Testortsteuerungen 4a-4z. Es gibt
eine ähnliche Anordnung für die SYNC/ERR DSY 18a-18d und
die DUT-Tester 6a-6z. Die Synchronisations- und Fehlerin
formationen, die durch die SYNC/ERR DSY 18 übertragen wer
den, ermöglichen es den DUT-Testern, in Übereinstimmung zu
funktionieren. Diese beiden Verkettungen (17 und 18) tragen
leicht unterschiedliche Typen von Informationen, aber jede
existiert als Teil des gleichen allgemeinen Mechanismus zum
Verbinden eines oder mehrerer Testorte in eine Teststation.
Nun folgt eine Erörterung von Fig. 2, die eine vereinfachte
Blockdiagrammerweiterung des DUT-Testers 6 von Fig. 1 ist,
von dem bis zu 36 vorliegen können. Es ist hier ausrei
chend, nur ein Beispiel derselben zu beschreiben. Ein Blick
auf Fig. 2 zeigt, daß dieselbe ziemlich vollgestopft ist,
insbesondere für ein "vereinfachtes" Blockdiagramm. Eini
ges, was sich in dem DUT-Tester 6 befindet und in dem
Blockdiagramm dargestellt ist, ist funktionell ziemlich
kompliziert und nicht in dieser Form direkt erhältlich. Es
ist hier angebracht, zwei Punkte darzulegen. Zunächst ist
es der Hauptzweck der Aufnahme von Fig. 2, die Basiseigen
schaften einer wichtigen Betriebsumgebung innerhalb des ge
samten nicht-flüchtigen Speichertestsystems 1 zu beschrei
ben. Die Erfindungen) die vollständig in Verbindung mit
Fig. 3 und nachfolgenden Figuren beschrieben ist, sind ent
weder Erweiterungen der Mechanismen, die in der folgenden
Beschreibung von Fig. 2 dargelegt sind, oder sie sind neue
Mechanismen, deren Motivationsvoraussetzung in Fig. 2 zu
finden ist. Jedenfalls ist, während dies geschrieben wird,
nicht genau bekannt, was davon dem Leser vorliegt. Das der
zeitige Ziel ist es, einen vereinfachten und doch informa
tiven Ausgangspunkt für zahlreiche unterschiedliche detail
lierte Beschreibungen von unterschiedlichen bevorzugten
Ausführungsbeispielen zu liefern, so daß jede derselben so
genau wie angemessen sein kann (im Gegensatz zu einer "Rie
sen"-Spezifikation, die alles über jede unterschiedliche
Erfindung offenbart). Der zweite Punkt ist, daß das ausge
dehnte oder erweiterte Material, obwohl es im allgemeinen
in Gesamtübereinstimmung mit Fig. 2 ist, Informationen ent
halten kann, die nicht genau mit der vereinfachten Version
übereinstimmen. Dies bedeutet nicht, daß ein Fehler vor
liegt oder daß die Dinge entscheidend widersprüchlich sind,
sondern dies tritt auf, weil es manchmal schwierig oder un
möglich ist, etwas so zu vereinfachen, daß es das exakte
Abbild in Miniatur ist. Die Situation ist eher so wie bei
Landkarten. Eine Standardgrößenstraßenkarte von Colorado
zeigt, daß man, wenn man auf der I-70 nach Osten fährt, auf
der I-25 bei Denver nach Norden fahren kann. Dies sieht aus
wie eine Linkskurve. Und obwohl es tatsächlich eine Links
kurve war, ist es jetzt keine, und eine detaillierte Karte
dieser Kreuzung wird eine Sequenz von Teilkurven und dazwi
schenliegenden Straßenabschnitten zeigen. Aber niemand wür
de sagen, daß die Standardgrößenstraßenkarte falsch ist,
sie ist für ihre Abstraktionsebene korrekt. Gleichartig da
zu und trotz der ziemlich überfüllten Erscheinung ist Fig.
2 tatsächlich eine Vereinfachung, die mit einer mittleren
Abstraktionsebene funktioniert, aber einige anscheinende
Linkskurven sind in Wirklichkeit einfach keine Linkskurven.
Wie es in Fig. 1 gezeigt ist, ist das Haupteingangssignal
an dem DUT-Tester 6 ein Beispiel des Testortbusses 5, des
sen Ursprung in der Testortsteuerung 4 liegt, die dem Bei
spiel des betreffenden DUT-Testers 6 zugeordnet ist. Der
Testortbus 5 ist mit einem Mikrocontroller-Sequenzer 19 ge
koppelt, der mit einem Spezialmikroprozessor verglichen
werden kann. Derselbe ruft Anweisungen von einem Programm
ab, das in einem Programmspeicher gespeichert ist, der ent
weder in dem Mikrocontroller-Sequenzer 6 (PGM SRAM 20) ent
halten sein kann oder außerhalb desselben sein kann
(EXT. DRAM 21). Obwohl es so scheint, daß diese beiden Spei
cher von einer im wesentlichen logischen gemeinsamen Adres
se 63 adressiert werden, die als ein Programmzähler (oder
eine Anweisungsabrufadresse) dient und beides kann eine
Programmierquelle sein, die ausgeführt werden muß, ist fol
gendes zu beachten: (1) nur einer der Speicher führt Anwei
sungsabrufspeicherzyklen während jeder Zeitperiode durch,
und (2) in der Tat werden sie durch elektrisch unterschied
liche Signale adressiert. Der SRAM ist schnell und ermög
licht einen wirklichen Direktzugriff, aber verbraucht in
nerhalb des Mikrocontroller-Sequenzers 19 (der eine große
IC ist) wertvollen Platz, daher ist seine Größe beschränkt.
Der externe DRAM kann in einstellbaren Ausmaßen von beacht
licher Menge geliefert werden, ist jedoch nur schnell, wenn
in aufeinanderfolgenden Blöcken auf denselben zugegriffen
wird, die lineare Ausführung und keine Verzweigung umfas
sen. Das Programmieren in dem SRAM 20 ist meistens am in
tensivsten algorithmisch, während der EXT. DRAM 21 am besten
für Material geeignet ist, das nicht leicht durch algorith
mische Prozesse erzeugt werden kann, wie z. B. Initialisie
rungsroutinen und zufällige oder unregelmäßige Daten.
Das Anweisungswort, das durch den Mikrocontroller-Sequenzer
19 ausgeführt wird, ist relativ breit: 208 Bits. Es besteht
aus 13 16-Bit-Feldern. Diese Felder stellen oft abgerufene
Anweisungsinformationen für Mechanismen dar, die außerhalb
des ordnungsgemäßen Mikrocontroller-Sequenzers liegen. Sol
che Felder sind für ihre zugeordneten Mechanismen reser
viert. Ein Satz von ALU-Befehlen 22 ist an eine Sammlung
von 8 16-Bit-ALUs 24 angelegt, während andere an verschie
dene andere Mechanismen verteilt werden, die durch den DUT-
Tester verteilt sind. Diese letztere Situation ist durch
die Linien und die Bezeichnung "Verschiedene Steuerungswer
te & Anweisungen" 42 dargestellt.
Die 8 16-Bit-ALUs (24) weisen jeweils ein herkömmliches Re
pertoire an arithmetischen Anweisungen auf, die um zugeord
nete 16-Bit-Ergebnisregister aufgebaut sind (jede ALU um
faßt außerdem mehrere andere Register). Drei dieser Ergeb
nisregister und deren zugeordnete ALUs sind zum Erzeugen
von X, Y und Z Adreßkomponenten 27, die verschieden zu ei
ner vollständigen Adresse kombiniert werden, die an das DUT
geliefert wird. Zwei weitere der 8 ALU/Register (DH und DL)
sind vorgesehen, um zu der algorithmischen Erzeugung von 32
Bit-Datenstrukturen 28 beizutragen, die zwischen einem
höchstwertigen Abschnitt (DH) und einem niedrigstwertigen
Abschnitt (DL) aufgeteilt sind. Die letzten drei
ALU/Register (A, B, C) werden als Zähler verwendet und tra
gen zu der Herstellung von verschiedenen Programmsteue
rungsflags 25 bei, die zur Programmsteuerung und Verzwei
gung bei der Vervollständigung einer programmatisch spezi
fizierten Anzahl von Iterationen oder anderen numerischen
Bedingungen beitragen. Diese Programmsteuerungsflags 25
werden zu dem Microcontroller-Sequenzer 19 zurückgesendet,
wo sie den Wert der Anweisungsabrufadresse auf Arten und
Weisen beeinflussen, die denjenigen vertraut sind, die et
was von Mikroprozessoren verstehen. Es gibt außerdem ver
schiedene andere Flags 55, die ebenfalls verwendet werden
können, um eine Programmverzweigung zu beeinflussen. Diese
haben ihren Ursprung zusammen mit verschiedenen anderen Me
chanismen in dem DUT-Tester 6, die durch die unterschiedli
chen Felder des abgerufenen Anweisungsworts gesteuert wer
den. Ein spezifisches zusätzliches Flag ist ausdrücklich
als ein getrenntes Element gezeigt: VEC_FIFO_FULL 26. Bei
einer anderen, weniger detaillierten Zeichnung kann dassel
be mit den anderen Flags 55 zusammengefaßt werden. Hier
wurde es getrennt, um dazu beizutragen, einen Aspekt des
Betriebs des Microcontroller-Sequenzers 19 zu erklären.
Das VEC_FIFO_FULL hält (temporär) die weitere Programmaus
führung durch den Mikrocontroller-Sequenzer 19 an. Es lie
gen viele Pipelinestufen zwischen den Anweisungen, die
durch den Mikrocontroller-Sequenzer 19 abgerufen werden,
und dem Mechanismus, der schließlich Testvektoren ausgibt,
die an das DUT angelegt werden sollen. Außerdem sind ein
Teil des Gepäcks, das einen Vektor begleitet, während der
selbe sich in die Richtung bewegt, um das DUT angelegt zu
werden, Informationen, die die Rate des eventuellen Anle
gens des Vektors betreffen, oder die Dauer jedes Vektors.
Somit muß die Rate des Anlegens des Vektors an das DUT
nicht konstant sein und insbesondere kann eine Gruppe von
Vektoren länger zum Anlegen benötigen als zum Erzeugen. Der
Microcontroller-Sequenzer führt das Programmieren einfach
mit seiner maximalen Rate aus. Aber selbstverständlich muß
die Rate des "Vektorverbrauchs" im Durchschnitt gleich sein
wie die Rate der "Vektorherstellung", sonst müßte die Pipe
line unbegrenzt elastisch sein. Es gibt einen Vektor FIFO
45 an dem Ausgang des Adreßabbilders 29, der nachfolgend
erörtert wird, und derselbe dient als eine elastische Kapa
zität in der Pipeline. Das Signal VEC_FIFO_FULL wird ver
wendet, um zu verhindern, daß die begrenzte Anzahl von Stu
fen in der Pipeline überschritten wird, durch Bewirken ei
nes temporären Stillstands bei der Herstellung von neuen
Vektoren an dem Kopfende der Pipeline.
Nachfolgend werden die (3 × 16 = 84 Bits von) X, Y und Z
Adreßkomponenten 27 an einen Adreßabbilder 29 angelegt,
dessen Ausgangssignal eine im voraus ausgewählte beinahe
beliebige Neuanordnung der Adreßwerte in dem sortierten 48-
Bit-Adreßplatz ist. Als Ausgangspunkt zum Anerkennen des
selben nehme man an, daß der Adreßabbilder 29 ein Speicher
ist, der einen 48-Bit-Adreßplatz vollständig besetzt, und
daß derselbe an jeder Adresse einen 48-Bit-Wert hält. (Vo
rübergehend ist nicht zu beachten, daß ein solcher Speicher
- zumindest heutzutage - die Größe eines großen Kühl
schranks hätte.) Wenn man von einem solchen Speicher aus
geht, könnte eine Nachschlagtabelle implementiert werden,
die jede angelegte Adresse in einen anderen, beliebig aus
gewählten 48-Bit-Wert abbilden könnte, der dann als eine
Austauschadresse verwendet werden könne. Der Grund dafür,
daß ein solches Adreßabbilden wünschenswert ist, ist, daß
die X-, Y- und Z-Adreßkomponenten im allgemeinen eine nütz
liche Bedeutung im Zusammenhang der internen Architektur
eines speziellen DUT aufweisen, die höchstwahrscheinlich
nicht mit einem großen linearen Decodierer implementiert
ist. Die Gedanken von Zeilen, Spalten und Schichten, Blöc
ken oder Seiten können für den Testingenieur sehr nützlich
sein, und Fehler, die in Positionen auftreten, die physika
lisch nahe beieinander liegen, können eine entsprechende
Nähe ihrer X-, Y- und Z-Adressen aufweisen. Solche Struktu
ren in den Testergebnissen können wertvoll sein beim Erken
nen dessen, was falsch ist, und bei dem Versuch, dies zu
reparieren, egal ob es auf der Entwicklungsebene oder einer
Herstellungsebene zum Neuprogrammieren eines Teils ist, um
den Betrieb eines defekten Abschnitts mit dem eines zusätz
lichen Abschnitts zu überbrücken. Aus diesem Denken ergeben
sich zwei Punkte. Der erste ist das Einschränken der 48
Bits zu der tatsächlichen Anzahl von Bits (etwa 32 oder
vielleicht 16), die an das DUT angelegt werden sollen.
Nachfolgend wird kurz erwähnt, wie das Einschränken durch
geführt wird, und es wird im großen und ganzen durch Weg
nehmen von soundsovielen Bits von X, soundsovielen von Y
und den Rest von Z durchgeführt. Aber nicht ausschließlich,
und dies ist der zweite Punkt, weil bestimmte Adressen in
nerhalb einer Schaltungsanordnung liegen können, die ein
Links-für-Rechts (oder Links-für-Rechts und Oben-für-Unten)
Spiegelbild eines weiteren Abschnitts der Schaltungsanord
nung ist. Dies hat den Effekt der Neuanordnung dessen, was
die Bits bedeuten, abhängig davon, welche aufeinanderfol
genden Adreßwerte innerhalb dieser Schaltungsanordnung in
physikalischer Reihenfolge sind. Diese Chiplayouteigen
schaft kann oft auftreten, und es kann gut der Fall sein,
daß die Tatsache, wie eine Gruppe von Bits, beispielsweise
y, interpretiert wird, von dem begleitenden Wert von ande
ren, beispielsweise Z-Bits, abhängen kann. Der Adreßabbil
der 29 ist vorgesehen, um es den rohen X-, Y- und Z-
Adressen zu ermöglichen, "neu gepackt" zu werden, um dies
zum Vorteil derer zu reflektieren, die Speicher mit solchen
internen architektonischen Anordnungen testen würden. So
wie es tatsächlich durchgeführt wird, ist der Adreßabbilder
29 aus einer relativ großen Anzahl von miteinander verbun
denen Multiplexern aufgebaut. Derselbe kann das vollständig
beliebige Nachschlagetabelle-Verhalten eines voll besetzten
Speicherdecodierschemas implementieren, wie es oben zu Er
klärungszwecken temporär angenommen wurde. Derselbe kann
jedoch Teilfelder der X-, Y- und Z-Adreßkomponenten wie be
nötigt neu anordnen, insbesondere, da es jetzt einen weite
ren Mechanismus gibt, der das Einschränken von 48 Bits zu
der tatsächlich benötigten Anzahl durchführt. Der Adreßab
bilder 29 enthält außerdem drei 16-Bit(Adreß-) Nachschlage
tabellen, die es demselben ermöglichen, beliebiges be
schränktes Abbilden innerhalb lokaler Bereiche durchzufüh
ren.
Das abgebildete Adreßausgangssignal 30 des Adreßabbilders
29 wird als eine Adresse an einen Puffer-Speicher 31 (AUX
RAM) 31 und einen Fehlererfassungs-RAM 32 angelegt, welche,
obwohl sie getrennte Funktionen aufweisen, trotzdem als
auswählbare Teile in die vier Speichersätze implementiert
werden können, die zusammen den inneren Testspeicher 128
bilden. Das abgebildete Adreßausgangssignal 30 wird eben
falls als ein Eingangssignal an eine Adreßbitauswahlschal
tung 37 angelegt, die nachfolgend beschrieben wird. Der in
nere Testspeicher kann konfiguriert werden, um viele Bei
spiele von verschiedenen RAM zu enthalten, die für ver
schiedene Funktionen verwendet werden. Dies wird durchge
führt durch Erklären, daß bestimmte Abschnitte der unter
schiedlichen Speichersätze für die zugeordneten Zwecke ver
wendet werden sollen. In Fig. 2 ist eine solche Anordnung
gezeigt, die Anordnungen können im Verlauf des Testens ge
ändert werden, und die ganze Angelegenheit mit der Spei
chersatzverwendung sollte als sehr dynamisch betrachtet
werden. Keines der Bestandteile des inneren Testspeichers
(z. B. der Fehlererfassungs-RAM 32) sind dauerhafte Hard
wareinstallationen. Was dauerhaft ist, sind die vier Spei
chersätze. Aber welcher Teil welches Speichersatzes zu ei
ner bestimmten Zeit ein Fehlererfassungs-RAM ist, (falls
überhaupt einer definiert ist), hängt davon ab, welche Kon
figuration gebildet wird.
Nachfolgend wird der Puffer-Speicher 31 betrachtet. Seine
Funktion ist es, Datenstrukturen 33 und Adressen 34 beizu
behalten, die an das DUT angelegt werden können. Diese sind
logisch getrennte Ausgangssignale von dem Puffer-Speicher
31, obwohl der Puffer-Speicher 31 kein "Dual-Port-Speicher"
ist, sondern vorzugsweise aus Abschnitten von zwei unter
schiedlichen Speichersätzen besteht. Um dem zu entsprechen,
kann es sein, daß gespeicherte Daten 33 in einem Speicher
satz gespeichert werden, während gespeicherte Adressen 34
in einem anderen gespeichert werden. Außerdem wurde kein
expliziter Mechanismus zum Schreiben auf den Puffer-
Speicher 31 gezeigt. Eine Möglichkeit, wie dies durchge
führt werden kann, ist durch eine adressierte Busoperati
on, die durch eine Testortsteuerung 4 auf Befehl des Pro
gramms, die dieselbe ausführt, ausgelöst wird. (Es gibt ei
nen darunterliegenden "Versorgungsdienstleistungs-" Bus,
der als "Ringbus" bezeichnet wird [der nicht gezeigt ist,
da derselbe die Zeichnung enorm überhäufen würde], der zu
fast allem in Fig. 2 führt). Eine andere und schnellere
Möglichkeit zum Schreiben von Informationen auf die Spei
chersätze ist in Verbindung mit Fig. 3 beschrieben.
Der Fehlererfassungs-RAM 32 wird durch die gleiche Adresse
adressiert, die an den Puffer-Speicher 31 angelegt wird,
und speichert Informationen über Fehler oder ruft diese ab,
wobei diese Operationen in Verbindung mit einer Nachdeco
dierschaltung durchgeführt werden, die nachfolgend erörtert
wird. Wie bei den Wegen 33 und 34 von dem Puffer-Speicher
31 sind die Wege 61 (in den Fehlererfassungs-RAM) und 62
(von dem Fehlererfassungs-RAM) vorzugsweise multiplexierte
Ausgänge von einem Mehrbankspeicher (dem Fehlererfassungs-
RAM 32) gemäß Konfigurationsinformationen, die durch den
Ringbus (nicht gezeigt) verteilt werden.
Es ist anzumerken, daß der Daten-MUX 35 als Eingangssignale
die gespeicherten Datenausgangssignale 33 von dem Puffer-
Speicher 31 umfaßt, und auch Daten 28 von den Registers DH
und DL in der Sammlung 24 von ALUs. Der Daten-MUX 35 wählt
aus, welche dieser Eingangssignale (28, 32) als sein Aus
gangssignal 38 dargestellt wird, das dann als eine der bei
den Vektorkomponenten an eine Sendevektorabbil
der/Seriellumsetzer/Empfangsvektorvergleichsdatenschaltung
40 angelegt wird (die andere Komponente ist das Ausgangssi
gnal 39 der Adreßbitauswahlschaltung 37.) Der Datenmulti
plexer 35 führt diese Auswahl gemäß den in PGM SRAM 20 ge
speicherten Werten 36 durch.
Die Schaltung 40 kann drei Funktionen durchführen: Zusam
mensetzen von Vektorkomponenten (38, 39) in eine sortierte
logische Darstellung eines gesamten Vektors, der an das DUT
angelegt (übertragen) werden soll, Anlegen einer beliebigen
dynamischen Korrespondenz (Abbilden) zwischen den sortier
ten Bits der logischen Darstellung des Sendevektors und der
tatsächlichen physikalischen Kanalanzahl der Pinelektronik
(d. h. welche Sondenspitze) das DUT für dieses Signal (d. h.
das Bit in dem Vektor) kontaktieren wird, und Kooperie
ren mit dem Compilierer bei der Unterteilung eines gesamten
logischen Vektors in Stücke, die getrennt und in Reihenfol
ge (Seriellumsetzung) für DUTs angelegt werden sollen, die
so etwas zulassen. Welche dieser Funktionen durchgeführt
wird, wird durch Steuersignale von einem SRAM 41 bestimmt,
der außerdem gemäß einem Feld in der 208-Bit-Anweisung, die
durch den Mikrocontroller-Sequenzen 19 abgerufen wird,
adressiert wird. Das Ausgangssignal der Schaltung 40 ist
ein bis zu 64-Bit-Vektor 44, der an einen Vektor FIFO 45
angelegt wird, der, wenn er voll ist, das Signal
VEC_FIFO_FULL 26 erzeugt, dessen Bedeutung und Verwendung
oben erörtert wurde. Der Vektor an der Spitze des Vektors
FIFO 45 wird beim Empfang eines Signals VEC_FIFO_UNLOAD 47,
das an einem Periodengenerator 49 (der nachfolgend erörtert
wird) entsteht, von demselben entfernt. Solche entfernen
Vektoren (46) werden an eine Zeitgebungs/Formatierungs- und
Vergleichsschaltung 52 angelegt, die über das zugeordnete
Beispiel der Pinelektronik 9 mit dem DUT verbunden ist. Das
heißt, jedes Beispiel der Pinelektronik 9 empfängt gesende
te und empfangene Vektoren 7 und Pinelektronikkonfigurati
onsinformationen 8 von ihrer zugeordneten Zeitge
bungs/Formatierungs- und Vergleichsschaltung 52.
Die Zeitgebungs/Formatierungs- und Vergleichsschaltung 52
umfaßt einen internen SRAM 54, der durch die gleiche Anwei
sungsadresse ("A" in dem kleinen Kreis) adressiert wird wie
der Programm-RAM 20 des Mikrocontroller-Sequenzers 19.
(Statt dem internen SRAM 54 kann ein externer DRAM 53 ver
wendet werden.) Der interne SRAM 54 (oder externe DRAM 53)
unterstützt die Herstellung von Treiber- und Vergleichszy
klen. Die Treiberzyklen legen einen Sendevektor an das DUT
an. Die Vergleichszyklen empfangen einen Vektor, der von
dem DUT dargestellt wird und untersuchen denselben, um zu
bestimmen, ob er mit vorher gesendeten Vergleichdaten über
einstimmt. Sowohl die Treiber- als auch die Vergleichszy
klus sind bezüglich ihrer Dauer einstellbar, und bezüglich
dessen, ob eine Belastung angelegt ist oder nicht, wann
diese angelegt ist und wann Daten zwischengespeichert oder
abgetastet werden. Der Vergleich erzeugt einen 64-Bit-Wert
56, der an einen Empfangsvektorumkehrabbilder/Serien-
Parallelumsetzer 57, dessen Funktion als die logische Um
kehrung der Schaltung 40 betrachtet werden kann. (Der Be
trieb der Schaltung 57 wird durch einen SRAM 58 gesteuert,
der der Steuerung der Schaltung 40 durch den SRAM 41 ent
spricht.) Danach wird das Ausgangssignal 59 der Schaltung
57 an die Nachdecodierschaltung 60 angelegt. Derzeit reicht
es aus, zu sagen, daß die Nachdecodierschaltung 60 über
programmatische Kriterien sowohl ankommende Fehlerinforma
tionen 59 und (vorher) gespeicherte Fehlerinformationen 60
(die in dem Fehlererfassungs-RAM gespeichert sind) untersu
chen kann, um komprimierte und leichter interpretierbare
Fehlerinformationen zu erzeugen, die dann über den Weg 61
zurück in den Fehlererfassungs-RAM 32 gespeichert werden
können. Ein Beispiel wäre es, eine Zahl zu erzeugen, wie
oft ein Fehler in einem speziellen Bereich von Adressen
auftrat, wobei diese Informationen nützlich wären für die
Entscheidung, wann durch Aktivieren von Ersatzschaltungen
eine Reparatur auf dem Chip versucht werden soll.
Nachfolgend wird der Periodengenerator 49 und sein zugeord
neter Zeitgebungs-SRAM 51 beschrieben. Diese sprechen auf
ein 8-Bit-Signal T_SEL 43 an, das für jede 208-Bit-
Anweisung, die durch den Mikrocontroller-Sequenzer 19 abge
rufen wird, eine Dauer für den zugeordneten Betrieb der
Zeitgebungs/Formatierungs- und Vergleichsschaltung 52 be
stimmt. T_SEL 43 ist ein Element der verschiedenen Steue
rungswerte und Anweisungen 42, die durch die unterschiedli
chen Felder in der abgerufenen Anweisung dargestellt sind.
Als ein 8-Bit-Wert kann dieselbe 265 unterschiedliche Dinge
darstellen oder codieren. In diesem Fall sind diese "Dinge"
28-Bit-Werte, die in dem Zeitgebungs-SRAM 51 gespeichert
sind und durch T_SEL adressiert werden. Jeder adressierte
28-Bit-Wert (23) spezifiziert eine gewünschte Dauer mit ei
ner 19,5 Pikosekunden-Auflösung. Die Sequenz von darauf zu
gegriffenen 28-Bit-Dauerwerten (23) ist in einer Periode
FIFO 50 gespeichert, so daß die einzelnen Elemente dieser
Sequenz bei der Wiedergewinnung des beabsichtigten entspre
chenden Vektors, der in dem Vektor FIFO 45 gespeichert ist,
wiedergewonnen und synchron angelegt werden.
Ein grobes Zeitgebungswertfeld in dem ältesten Eintrag in
dem FIFO 50 überträgt Dauerinformationen mit einer Auflö
sung von 5 Nanosekunden und erzeugt davon ein Signal
VEC_FIFO_UNLOAD 47, das den nächsten Sendevektor von dem
Vektor FIFO 45 zu der Zeitgebungs/Formatierungs- und Ver
gleichsschaltung 52 überträgt. Ein Begleitsignal Zeitge
bungsrest 48 wird ebenfalls an die Schaltung 52 angelegt.
Dort wird die endgültige Auflösung auf 19,5 Pikosekunden
durchgeführt.
Nachfolgend wird auf Fig. 3 Bezug genommen, die ein verein
fachtes Blockdiagramm 64 des inneren Testspeichers 128 in
dem Blockdiagramm von Fig. 2 38982 00070 552 001000280000000200012000285913887100040 0002010147910 00004 38863ist. Derselbe empfängt eine
abgebildete 48-Bit-Adresse 30 von dem Adreßabbilder 29, die
an verschiedene Adreßklassifizierer 77, 78 und 79 angelegt
wird. Die Adreßklassifizierer sind Speichersätzen 73-76 zu
geordnet, die jeweils vollständige Speichermechanismen
sind, die einzeln verschiedene Funktionen durchführen kön
nen, wie z. B. ein ECR 32 zu sein. Zwei dieser Speichersät
ze (73, 74) sind von einem externen DRAM, während zwei von
einem inneren SRAM sind. Die beiden externen DRAM-
Speichersätze weisen in Wirklichkeit immer die gleiche
Adreßklassifiziererfunktion auf, und teilen somit einen ge
meinsamen Adreßklassifizierer 77. Die inneren SRAM-
Speichersätze 75 und 76 weisen jeweils ihre eigenen zuge
ordneten Adreßklassifizierer 78 bzw. 79 auf. Diese
Adreßklassifizierer können entweder eine Adresse ungeändert
durchleiten, oder dieselbe auf Arten und Weisen modifizie
ren, die nachfolgend detailliert beschrieben werden.
Jeder Speichersatz umfaßt eine Speichersatzsteuerung, die
externen DRAM-Speichersätze 73 und 74 weisen DRAM-
Speichersatzsteuerungen 65 bzw. 66 auf, während die inneren
SRAM-Speichersätze 75 und 76 jeweilige SRAM-
Speichersatzsteuerungen 67 bzw. 68 aufweisen. Während des
Testens eines DUT kommt die Adresse für Speichertransaktio
nen, die an einen dieser Speichersätze gerichtet wird, an
der zugeordneten Speichersatzsteuerung von dem jeweils zu
geordneten Adreßklassifizierer an. Während des Testens ei
nes DUT werden Fehlerdaten 61, die von der Nachdecodier
schaltung 60 ankommen, und die in einen ECR geschrieben
werden sollen, zunächst an die Datenklassifizierer 80-83
angelegt, von denen jeweils einer jedem Speichersatz zuge
ordnet ist. Die Funktion der Datenklassifizierer wird nach
folgend beschrieben. Dieselben können Daten, die an diesel
ben angelegt werden, ändern oder nicht, abhängig davon, wie
dieselben konfiguriert sind und welche Funktion dieselben
durchführen sollen. Die Adreß- und Datenklassifizierer
stellen Hochgeschwindigkeitswege für Adressen bzw. Daten
dar, die mit der höchsten nötigen Geschwindigkeit arbeiten
sollen. In Kürze wird aufgezeigt, daß der Ringbus (noch
nicht gezeigt) eine weitere Möglichkeit liefert, um Adres
sen und Daten zu den Speichersätzen zu übertragen.
An diesem Punkt stehen vier Speichersatzsteuerungen (65-68)
zur Verfügung, die jeweils ankommende (klassifizierte)
Adressen und (klassifizierte) Daten aufweisen. Jede dieser
Speichersatzsteuerungen ist mit einem zugeordneten Speicher
gekoppelt: die DRAM-Speichersatzsteuerungen 73 und 74 sind
jeweils mit den externen DRAM 69 und 70 gekoppelt, während
die SRAM-Speichersatzsteuerungen 75 und 76 jeweils mit den
inneren RAM 71 bzw. 72 gekoppelt sind. Diese Anordnungen
bilden die vier Speichersätze 73-76, von denen zwei (75,
76) geringe Mengen an Hochgeschwindigkeits-SRAM aufweisen,
und von denen zwei (73, 74) große Mengen von langsamerem
DRAM aufweisen. Zu diesem Zeitpunkt ist von Interesse, wie
die DRAM-Speichersätze so schnell wie die SRAM-
Speichersätze gemacht werden können, und auch, wie bestimm
te Alternativen bezüglich der Konfiguration des DRAM einge
baut werden können, abhängig von den Benutzervorlieben und
der Testprogrammstrategie. Somit ergibt sich, daß die DRAM-
Speichersatzsteuerungen 65 und 66 konfigurierbar sind, un
terschiedliche Typen von Speichertransaktionen durchführen
und überhaupt nicht gleich sind wie die einfacheren SRAM-
Speichersatzsteuerungen 67 und 68. Der Kürze wegen zeigt
Fig. 3 nicht die Struktur, die diese Flexibilität liefert,
für den Moment soll nur gesagt werden, daß jede Speicher
satzsteuerung mit dem Ringbus (noch nicht gezeigt)verbunden
ist, von dem dieselbe in dem gewünschten Betriebsmodus und
der gewünschten Konfiguration angewiesen wird. Einige die
ser Modi beinhalten, wie Daten gespeichert sind, und einige
befassen sich damit, wie dieselben wieder herauszubekommen
sind. Abschließend ist anzumerken, daß jeder Speichersatz
ein zugeordnetes Datenausgangssignal (62A-D) aufweist, das
für eine weitere Verarbeitung zu dem Nachdecodiermechanis
mus 60 gesendet wird. Es ist außerdem anzumerken, daß die
Datenausgangssignale von den Speichersätzen 0 und 2 an ei
nen Multiplexer 126 angelegt werden, dessen Ausgangssignal
GESPEICHERTE DATEN 33 wird, die an den Datenmultiplexer 35
gesendet werden. Gleichartig dazu werden die Datenausgangs
signale von den Speichersätzen 1 und 3 an einen Multiplexer
127 angelegt, dessen Ausgangssignal GESPEICHERTE ADRESSEN
wird, die zu dem Adreßbitauswahlmultiplexer 37 gesendet
werden. Der Grund für den Einbau dieser Multiplexer 126 und
127 und die Einzelheiten, wie dieselben gesteuert werden,
werden nachfolgend erörtert.
Nachfolgend wird auf Fig. 4 Bezug genommen, die ein detail
lierteres Blockdiagramm 84 des inneren Testspeichers 128
ist, der in Verbindung mit Fig. 3 beschrieben wurde. Es ist
überwiegend gleich, und ähnliche Elemente wurden mit ge
meinsamen Bezugszeichen bezeichnet. Für die Zwecke der vor
liegenden Erfindung reicht es aus, auf die inkrementalen
Differenzen hinzuweisen, die in Fig. 4 vorliegen. Insbeson
dere ist anzumerken, daß jedem der Adreßklassifizierer
(78-79) ein zugeordneter Multiplexer (85-87) vorausgeht. Diese
Multiplexierer unterstützen den Prozeß der Adressenweiter
entwicklung, und insbesondere dabei, die Größe der Adresse
von achtundvierzig Bits auf zweiunddreißig Bits zu reduzie
ren. Ferner wird angemerkt, daß der Ringbus 85 mit jedem
der Speichersatzsteuerungen (65-68) gekoppelt ist. Es ist
anzumerken, daß die Datenausgangssignale (62A-D) von den
Speichersatzsteuerungen, sobald sie zu der Postdekodier
schaltung 60 gelangen, an einem 4 : 1-Multiplexierer 94 ange
legt werden, der gemäß einem Steuerregister 95, das durch
den Ringbus eingestellt wird, bestimmt, welches Ausgangssi
gnal für eine weitere Verarbeitung ausgewählt wird.
Das Hauptinteresse bei Fig. 4 hängt mit der Gesamtorganisa
tion des Speichers zusammen, der durch die verschiedenen
Speichersatzsteuerungen 65-68 gesteuert wird. In dem Fall
von Speichersatz zwei (75) und dem Speichersatz drei (76),
ist dieser Speicher einfach SRAM, der als ein einzelner
(innerhalb des Speichersatzes desselben) Adreßraum angeord
net ist, und der auf herkömmliche Weise arbeitet. In dem
Fall von Speichersatz Null (73) und Speichersatz Eins (74)
ist der Speicher für jeden drei Gruppen von jeweils vier
Bänken, und das Format für eine Adresse hängt von den Mo
dus- und Konfigurationsinformationen ab, die derzeit für
diese Speichersätze gelten.
So weist der Speichersatz Null (73) beispielsweise drei
Gruppen 88, 89 und 90 auf, während der Speichersatz Eins
(74) Gruppen 91, 92 und 93 aufweist. Bei einem Hochge
schwindigkeitsmodus für eine Zufallsadressierung werden
aufeinander folgende Speichertransaktionen automatisch an
unterschiedliche Gruppen gesendet (multiplexen), von denen
jede ihren eigenen Hardwareweg für Interessen und Daten
aufweist. Jede dieser Gruppen besteht aus vier Bänken (vier
Beispiele eines Adreßraums), für die die Speicheroperatio
nen gemäß Prinzipien und Praktiken, die in der Technik be
kannt sind, verschachtelt werden können. Genauer gesagt,
der Typ von DRAM, der derzeit für die Verwendung bevorzugt
wird, ist SDRAM, was eine spezielle Strategie für das Ver
schachteln impliziert. Es ist offensichtlich, daß es andere
Typen von DRAM gibt und daß andere Mechanismen für die Ver
schachtelung möglich sind, abgesehen von derjenigen, die
nachfolgend beschrieben wird. Bei einem anderen Modus für
langsamere Zufallsadressierung sind die Gruppen adressier
bar und werden nicht automatisch ausgewählt. Bei diesem
langsameren Modus werden Adreßbits für die Gruppe verwen
det, um den Hardwareweg auszuwählen. Bei diesem Modus spe
zifiziert eine Adresse eine Gruppe und eine Bankadresse in
nerhalb dieser Gruppe von verschachtelten Bänken. Bei noch
einem anderen Hochgeschwindigkeitsmodus mit gut funktionie
render Adressierung sind sowohl das Multiplexen als auch
das Verschachteln ausgeschaltet, und eine Adresse weist
Gruppenauswahlbits Bankauswahlbits und In-Bank-Adreßbits
auf. Bei einer Schmal-Wort-Betriebsweise werden noch weite
re Adressierbits verwendet, um ein Feld in dem gesamten
Wort zu spezifizieren, das das Ziel der Speichertransaktion
ist.
Nachfolgend wird auf Fig. 5 Bezug genommen, die ein verein
fachtes Blockdiagramm 96 einer DRAM-Speichersatzsteuerung
(65, 66) ist, die in den Fig. 3 und 4 erscheint. Dieselbe
empfängt als Eingangssignal KLASSIFIZIERTE ADRESSE 106, Mo
dus- und Konfigurationsinformationen von dem Ringbus 85 und
FEHLERDATENEINGANGSSIGNAL 105 von dem zugeordneten Da
tenklassifizierer. Wie vorher erzeugt dieselbe DATENAUS
GANGSSIGNAL (62A/B).
Es ist jedoch nun ersichtlich, daß andere Quellen von
Adressen und Daten diese Mengen über den Ringbus 85 liefern
können. Das heißt, es gibt eine Busschnittstelle 97, die
den Ringbus mit der DRAM-Speichersatzsteuerung koppelt, und
über die Schnittstelle sind DATEN VON DEM RINGBUS 99 und
ADRESSEN VON DEM RINGBUS 100 verfügbar. Ein Multiplexer 104
wählt aus, ob FEHLERDATENEINGANGSSIGNAL 105 oder DATEN VON
DEM RINGBUS 99 als Daten 107 weitergesendet werden, die
dann an den DATENEINGANGSSIGNAL-Anschluß einer Master-DRAM-
Steuerung 109 angelegt werden. Gleichartig dazu wählt ein
Multiplexer 103 zwischen KLASSIFIZIERTER ADRESSE 106 und
ADRESSE VON DEM RINGBUS 100 aus, um die Adresse 108 zu er
zeugen, die an den ADRESS-Anschluß der Master-DRAM-
Steuerung angelegt wird. Eine Sammlung von einem oder meh
reren Registern 98, dessen Inhalt durch den Verkehr auf dem
Ringbus eingestellt ist, erzeugt neue Signale 101 und 102,
die die Auswahlen anzeigen, die durch die Multiplexer 103
bzw. 104 getroffen werden müssen.
Es ist ferner offensichtlich, daß DATENAUSGANGSSIGNAL
(62A/B) zusätzlich an die Busschnittstelle 97 angelegt wer
den, wodurch ermöglicht wird, daß DATENAUSGANGSSIGNAL über
den Ringbus gesendet werden.
Eine Hauptfunktion der DRAM-Speichersatzsteuerung ist die
Zuordnung oder Verteilung der verschiedenen Speichertrans
aktionen unter den drei Gruppen. Bei einer Hochgeschwindig
keitsbetriebsweise führt dieselbe diese Zuordnung auf eine
zyklische Suchweise (Round-Robin-Weise) unter Verwendung
(des Äquivalents) eines 1 : 3-Multiplexers 125 durch. Der
Multiplexer 125 ist als eine gestrichelte Linie gezeigt, da
es klar ist, daß sich bei dem vorliegenden bevorzugten Aus
führungsbeispiel kein tatsächlicher Multiplexer an dieser
Position befindet während in der Tat ein Multiplexer vor
liegen könnte. Statt dessen gibt es mehrere Beispiele von
adressierbaren Datenquellen und der Steuerung eines hoch
entwickelten Regelbefolgungsmechanismus (eine Zustandsma
schine).
Um die Erörterung von Fig. 5 abzuschließen, ist anzumerken,
daß der 1 : 3-Multiplexer 125 drei Slave-SDRAM-Steuerungen
(110-112) antreibt, wobei es eine solche Slave-SDRAM-
Steuerung für die Gruppe 0, die Gruppe 1 und die Gruppe 2
gibt. Jede SDRAM-Slave-Steuerung weist als ihre Gruppe eine
Sammlung von vier Bänken von SDRAM auf. Beispielsweise ist
die SDRAM-Steuerung 110 für die Gruppe 0 mit den Bänken
113, 114, 115 und 116 gekoppelt. Auf ähnliche Weise weist
die Gruppe 1 die Bänke 117-120 auf, während die Gruppe 2
die Bänke 121 bis 124 aufweist. Das Ergebnis ist eine Ge
samtzahl von zwölf Bänken für jeden DRAM-Speichersatz, von
denen es zwei gibt.
Der SDRAM jeder Gruppe kann angeordnet werden, um in ver
schiedenen Modi oder Konfigurationen zu arbeiten. Wenn der
selbe für Zufallsadressieroperation mit höchster Geschwin
digkeit konfiguriert ist, tritt das Multiplexen zwischen
Gruppen mit der höchsten Rate auf, und nachfolgende Spei
cheroperationen werden immer und automatisch zu der näch
sten Gruppe in einer zyklischen Sequenz davon gesendet. In
nerhalb einer Gruppe werden Speicheroperation verschach
telt, um dieselben gleichmäßig zwischen den vier Bänken zu
verteilen. Hier wird ebenfalls eine regelmäßige zyklische
Sequenz bevorzugt. Das Verschachteln erzeugt eine vierfache
Erhöhung der Geschwindigkeit, die, wenn sie mit einer drei
fachen Erhöhung, die durch das Multiplexen geliefert wird,
kombiniert wird, eine Geschwindigkeitserhöhung um einen
Faktor von zwölf ist. Diese Betriebsweise behandelt jede
Bank als vollen Adreßraum, ohne zu versuchen, im Voraus zu
steuern, welche der zwölf Bänke das Ziel für eine spezielle
Speichertransaktion ist. Das heißt, zu speichernde Daten
können in jede der zwölf Bänke kommen, und ein einfacher
Lesevorgang von dem Speicher kann den Inhalt von jeder der
zwölf Bänke wiedergewinnen. Es gibt keinen Grund dafür, zu
erwarten, daß der Inhalt einer Adresse an einer Bank der
gleiche ist wie der Inhalt dieser gleichen Adresse in einer
anderen Bank. An diesem Punkt ist jedoch klar, daß Daten
mit einer Rate gespeichert werden können, die mindestens
zehnmal die Rate für eine einzelne Bank von DRAM ist. Der
Preis, der dafür zu zahlen ist, ist selbstverständlich, daß
der Inhalt dieser Adresse an allen zwölf Bänken (für R100-
Betrieb) oder an allen drei Bänken (für R33-Betrieb) unter
sucht werden muß, um Daten an einer Adresse auszulesen.
An diesem Punkt wird ein Teil der Terminologie und kurze
Beschreibungen für einige der verschiedenen Modi und Konfi
gurationen, die die DRAM-Speichersätze unterstützen können,
dargelegt. Dies sind:
Zufall 100 MHZ (R100)
Vollgeschwindigkeitsschreiboperation, die drei multiplexierte Gruppen von jeweils vier ver schachtelten Bänken verwendet, um zufallsadres sierte Schreibvorgänge auf einen Adreßraum zu er lauben, der tiefenmäßig gleich wie eine Bank ist. Sowohl Multiplexen als auch Verschachteln werden verwendet. Daten werden auf die "nächste" Bank in der "nächsten" Gruppe geschrieben, und eine an kommende Adresse weist keine Bits auf, um eine spezielle Gruppe oder spezielle Bank zu identifi zieren.
Zufall 33 MHZ (R33)
Schreiboperation mit reduzierter Geschwindigkeit, die eine adressierte Gruppe von vier verschach telten Bänken verwendet, um zufallsadressierte Schreibvorgänge zu einem Adreßraum zu erlauben, der tiefenmäßig gleich wie drei Gruppen ist, was äquivalent ist zu einem Adreßraum, der drei Bänke tief ist. Verschachteln wird verwendet, aber Mul tiplexen nicht. Daten werden auf die "nächste" Bank in der adressierten Gruppe geschrieben, und eine Adresse weist Gruppenauswahlbits, aber keine Bankauswahlbits auf. Die Gruppenauswahlbits sind höchstwertige Adreßbits, so daß aufeinanderfol gende Adressen außer an Gruppengrenzen zu nach folgenden In-Bank-Positionen gehören, aber an ei ner Bank, die durch das automatische Verschach teln bestimmt wird.
Lokalisierte 100 MHZ (L100)
Vollgeschwindigkeitsoperation, die eine adres sierte Bank innerhalb einer adressierten Gruppe verwendet, um sowohl Schreib- als auch Lesevor gänge mit minimalen ROW-Adreßänderungen zu einem Adreßraum zu erlauben, der tiefenmäßig gleich wie zwölf Bänke ist. Eine ankommende Adresse weist Gruppenauswahlbits, Bankauswahlbits und Adreß bits, die eine Position innerhalb einer Bank spe zifizieren, auf. Kein Multiplexen, kein Ver schachteln und Adressieren innerhalb der Bank muß Lokalitätsanforderungen erfüllen. Ein Fehlen von Lokalität wird automatisch erfaßt und benötigtes Neuadressieren wird durchgeführt. Das Fehlen von Lokalität ist nicht verhängnisvoll, aber falls dieselbe dauerhaft verletzt wird, ist das Ergeb nis ein sehr langsames Verhalten.
Gestapelte Speichersätze
Bei jedem der obigen können die Speichersätze 0 und 1 kombiniert werden, um zweimal die Tiefe des Adreßraums darzustellen, wie auch die Speicher sätze 2 und 3. Die ankommende Adresse weist Spei chersatzauswahlbits auf.
Schmale Worte
Bei jedem der obigen Modi kann ein Speichersatz konfiguriert werden, um eine Wortbreite aufzuwei sen, die eine Potenz von zwei und weniger als oder gleich zweiunddreißig ist. Ein solches schmales Wort ist ein Feld der gesamten Wortbrei te eines adressierten Worts, ist auf Zweier- Potenz-Grenzen positioniert, und verwendet zu sätzliche Adreßbits, um das Feld innerhalb des adressierten Worts zu positionieren. Funktioniert mit R100 und R33, aber nicht mit L100.
Zusammensetzung
Bei den obigen "Zufall"-Zugriffmodi wird der Be darf, mehrere Bänke zu lesen, wenn Ausgangsdaten für einen Lesevorgang vorbereitet werden, durch einen Hardwareassistenten unterstützt, der die Ergebnisse an eine Adresse von den vier Bänken der geeigneten Gruppe für R33 und von allen zwölf Bänken für R100 mischt. Durch Einbauen einer Zu sammensetzungsoperation in eine Schleife, die die Adresse in der Bank durchläuft, während die Er gebnisse in allen Bänken oder in einer bekannten Bank gespeichert werden, kann eine gesamte Spei cherregion im Voraus zusammengesetzt werden, um während der Analyse von Testergebnissen einen schnelleren Zugriff zu erlauben.
Zusammensetzungsintegrität
Die Erfassung von Verlust von Zusammensetzung ei ner zusammengesetzten Speicheregion weist eine Hardwareassistenten auf.
Versteckter Auffrischvorgang
Die Auffrischungsoperation der DRAM in den ver schiedenen Bänken wird automatisch durchgeführt, ohne Störung eines der obigen Modi oder Konfigu rationen.
Zufall 100 MHZ (R100)
Vollgeschwindigkeitsschreiboperation, die drei multiplexierte Gruppen von jeweils vier ver schachtelten Bänken verwendet, um zufallsadres sierte Schreibvorgänge auf einen Adreßraum zu er lauben, der tiefenmäßig gleich wie eine Bank ist. Sowohl Multiplexen als auch Verschachteln werden verwendet. Daten werden auf die "nächste" Bank in der "nächsten" Gruppe geschrieben, und eine an kommende Adresse weist keine Bits auf, um eine spezielle Gruppe oder spezielle Bank zu identifi zieren.
Zufall 33 MHZ (R33)
Schreiboperation mit reduzierter Geschwindigkeit, die eine adressierte Gruppe von vier verschach telten Bänken verwendet, um zufallsadressierte Schreibvorgänge zu einem Adreßraum zu erlauben, der tiefenmäßig gleich wie drei Gruppen ist, was äquivalent ist zu einem Adreßraum, der drei Bänke tief ist. Verschachteln wird verwendet, aber Mul tiplexen nicht. Daten werden auf die "nächste" Bank in der adressierten Gruppe geschrieben, und eine Adresse weist Gruppenauswahlbits, aber keine Bankauswahlbits auf. Die Gruppenauswahlbits sind höchstwertige Adreßbits, so daß aufeinanderfol gende Adressen außer an Gruppengrenzen zu nach folgenden In-Bank-Positionen gehören, aber an ei ner Bank, die durch das automatische Verschach teln bestimmt wird.
Lokalisierte 100 MHZ (L100)
Vollgeschwindigkeitsoperation, die eine adres sierte Bank innerhalb einer adressierten Gruppe verwendet, um sowohl Schreib- als auch Lesevor gänge mit minimalen ROW-Adreßänderungen zu einem Adreßraum zu erlauben, der tiefenmäßig gleich wie zwölf Bänke ist. Eine ankommende Adresse weist Gruppenauswahlbits, Bankauswahlbits und Adreß bits, die eine Position innerhalb einer Bank spe zifizieren, auf. Kein Multiplexen, kein Ver schachteln und Adressieren innerhalb der Bank muß Lokalitätsanforderungen erfüllen. Ein Fehlen von Lokalität wird automatisch erfaßt und benötigtes Neuadressieren wird durchgeführt. Das Fehlen von Lokalität ist nicht verhängnisvoll, aber falls dieselbe dauerhaft verletzt wird, ist das Ergeb nis ein sehr langsames Verhalten.
Gestapelte Speichersätze
Bei jedem der obigen können die Speichersätze 0 und 1 kombiniert werden, um zweimal die Tiefe des Adreßraums darzustellen, wie auch die Speicher sätze 2 und 3. Die ankommende Adresse weist Spei chersatzauswahlbits auf.
Schmale Worte
Bei jedem der obigen Modi kann ein Speichersatz konfiguriert werden, um eine Wortbreite aufzuwei sen, die eine Potenz von zwei und weniger als oder gleich zweiunddreißig ist. Ein solches schmales Wort ist ein Feld der gesamten Wortbrei te eines adressierten Worts, ist auf Zweier- Potenz-Grenzen positioniert, und verwendet zu sätzliche Adreßbits, um das Feld innerhalb des adressierten Worts zu positionieren. Funktioniert mit R100 und R33, aber nicht mit L100.
Zusammensetzung
Bei den obigen "Zufall"-Zugriffmodi wird der Be darf, mehrere Bänke zu lesen, wenn Ausgangsdaten für einen Lesevorgang vorbereitet werden, durch einen Hardwareassistenten unterstützt, der die Ergebnisse an eine Adresse von den vier Bänken der geeigneten Gruppe für R33 und von allen zwölf Bänken für R100 mischt. Durch Einbauen einer Zu sammensetzungsoperation in eine Schleife, die die Adresse in der Bank durchläuft, während die Er gebnisse in allen Bänken oder in einer bekannten Bank gespeichert werden, kann eine gesamte Spei cherregion im Voraus zusammengesetzt werden, um während der Analyse von Testergebnissen einen schnelleren Zugriff zu erlauben.
Zusammensetzungsintegrität
Die Erfassung von Verlust von Zusammensetzung ei ner zusammengesetzten Speicheregion weist eine Hardwareassistenten auf.
Versteckter Auffrischvorgang
Die Auffrischungsoperation der DRAM in den ver schiedenen Bänken wird automatisch durchgeführt, ohne Störung eines der obigen Modi oder Konfigu rationen.
Zusammen mit der obigen Sammlung von Fähigkeiten können
einzelne Speichertransaktionen als zu einer der folgenden
Kategorien gehörend beschrieben werden:
Überschreiben-Schreibvorgang (OWW)
Ein genauer Austauschschreibvorgang auf alle (je der der) eins, vier oder zwölf Bänke an eine Adresse, vorherige Inhalte gehen verloren. Funk tioniert mit R100 (12 Bänke), R33 (4 Bänke) und L100 (1 Bank), aber bewahrt keine Nenngeschwin digkeitsoperation für eine Zufallsadressierung. Wird für die Kompatibilität mit Testprogrammen für ältere Speichertester beibehalten. Verwendet klassifizierte Adressen und klassifizierte Daten.
Überlagerungsschreibvorgang (OLW)
Eine Lesen-Modifizieren-Schreiben-Operation, die "klebrige Nullen" zu der "nächsten" von einer, vier oder zwölf Bänken unterstützt. Eine Null in einer Bitposition wird nicht mit einer Eins über schrieben, aber eine Eins kann mit einer Null überschrieben werden. Funktioniert bei Nennge schwindigkeit mit R100 (12 Bänke), R33 (4 Bänke) und L100 (1 Bank). Dies ist die Hauptmöglichkeit, um Daten während des Testens zu schreiben, und ermöglicht das Einfangen einer Störung in einer Bitposition durch wiederholtes Testen an einer DUT-Adresse. Nicht zu verwechseln mit Zusammen setzung, da die Daten immer noch zusammengesetzt werden müssen (eine beschwerliche Anforderung), außer wenn dieselben in L100 geschrieben sind. Verwendet klassifizierte Adresse und klassifi zierte Daten.
Systemschreibvorgang (SYW)
Schreibt auf eine einzige Bank in L100. Schreibt das gleiche auf alle vier Bänke einer adressier ten Gruppe in R33 und auf zwölf Bänke in R100, aber bewahrt keine Nenngeschwindigkeit. Quelle für die Adressen und die Daten ist der Ringbus.
Systemlesevorgang (SYR)
Liest von einer einzigen Bank von L100. Führt an der Adresse einen zusammengesetzten Lesevorgang von allen vier Bänken einer adressierten Gruppe in R33 und von allen zwölf Bänken in R100 durch behält aber keine Nenngeschwindigkeit bei. Adres senquelle und Datenziel ist der Ringbus.
Analyselesevorgang (ANR)
Führt an der Adresse einen zusammengesetzten Le sevorgang von allen vier Bänken in einer adres sierten Gruppe R33 und von allen zwölf Bänken in R100 durch behält aber keine Nenngeschwindigkeit bei. Verwendet die klassifizierte Adresse und sendet die Daten zu der Nachdecodierung über die Wege 62A-D.
Bufferspeicherlesevorgang (BMR)
Vollgeschwindigkeitslesevorgang (100 MHZ) an ei ner Zufallsadresse, für die Bank, die als "näch stes" drankommt. Arbeitet mit L100 (die gleiche Bank ist immer die "nächste"), R33 ("nächste" von vier Bänken in der adressierten Gruppe) und R100 ("nächste" von vier Bänken in der "nächsten" von drei Gruppen). Verwendet die klassifizierte Adresse und sendet die Daten zur Nachcodierung über die Wege 62A-D.
Überschreiben-Schreibvorgang (OWW)
Ein genauer Austauschschreibvorgang auf alle (je der der) eins, vier oder zwölf Bänke an eine Adresse, vorherige Inhalte gehen verloren. Funk tioniert mit R100 (12 Bänke), R33 (4 Bänke) und L100 (1 Bank), aber bewahrt keine Nenngeschwin digkeitsoperation für eine Zufallsadressierung. Wird für die Kompatibilität mit Testprogrammen für ältere Speichertester beibehalten. Verwendet klassifizierte Adressen und klassifizierte Daten.
Überlagerungsschreibvorgang (OLW)
Eine Lesen-Modifizieren-Schreiben-Operation, die "klebrige Nullen" zu der "nächsten" von einer, vier oder zwölf Bänken unterstützt. Eine Null in einer Bitposition wird nicht mit einer Eins über schrieben, aber eine Eins kann mit einer Null überschrieben werden. Funktioniert bei Nennge schwindigkeit mit R100 (12 Bänke), R33 (4 Bänke) und L100 (1 Bank). Dies ist die Hauptmöglichkeit, um Daten während des Testens zu schreiben, und ermöglicht das Einfangen einer Störung in einer Bitposition durch wiederholtes Testen an einer DUT-Adresse. Nicht zu verwechseln mit Zusammen setzung, da die Daten immer noch zusammengesetzt werden müssen (eine beschwerliche Anforderung), außer wenn dieselben in L100 geschrieben sind. Verwendet klassifizierte Adresse und klassifi zierte Daten.
Systemschreibvorgang (SYW)
Schreibt auf eine einzige Bank in L100. Schreibt das gleiche auf alle vier Bänke einer adressier ten Gruppe in R33 und auf zwölf Bänke in R100, aber bewahrt keine Nenngeschwindigkeit. Quelle für die Adressen und die Daten ist der Ringbus.
Systemlesevorgang (SYR)
Liest von einer einzigen Bank von L100. Führt an der Adresse einen zusammengesetzten Lesevorgang von allen vier Bänken einer adressierten Gruppe in R33 und von allen zwölf Bänken in R100 durch behält aber keine Nenngeschwindigkeit bei. Adres senquelle und Datenziel ist der Ringbus.
Analyselesevorgang (ANR)
Führt an der Adresse einen zusammengesetzten Le sevorgang von allen vier Bänken in einer adres sierten Gruppe R33 und von allen zwölf Bänken in R100 durch behält aber keine Nenngeschwindigkeit bei. Verwendet die klassifizierte Adresse und sendet die Daten zu der Nachdecodierung über die Wege 62A-D.
Bufferspeicherlesevorgang (BMR)
Vollgeschwindigkeitslesevorgang (100 MHZ) an ei ner Zufallsadresse, für die Bank, die als "näch stes" drankommt. Arbeitet mit L100 (die gleiche Bank ist immer die "nächste"), R33 ("nächste" von vier Bänken in der adressierten Gruppe) und R100 ("nächste" von vier Bänken in der "nächsten" von drei Gruppen). Verwendet die klassifizierte Adresse und sendet die Daten zur Nachcodierung über die Wege 62A-D.
Offensichtlich ergibt sich einiges des obigen aus dem Mul
tiplexier- und Verschachtelungsschema. Das Multiplexier-
und das Verschachtelungsschema sind selbstverständlich auf
die DRAM-Speichersätze beschränkt (die SRAM-Speichersätze
sind von Anfang an schnell). Dies bedeutet jedoch nicht,
daß diese gleichen Fähigkeiten oder Betriebsweisen nicht
von den SRAM-Speichersätzen unterstützt werden können. Im
allgemeinen können Speichertransaktionen, die an einen
Speichersatz gerichtet werden können, an jeden anderen ge
richtet werden, und unterliegen lediglich Größenbeschrän
kungen. Ein SRAM-Speichersatz wird jeden Betriebsstil aner
kennen, den auch ein DRAM-Speichersatz anerkennen würde.
Der Unterschied ist, wie die Speichersatzsteuerung die ge
wünschte Transaktion implementiert. In dem Fall eines Ana
lyselesevorgangs (zusammensetzen) muß ein SRAM-Speichersatz
beispielsweise nichts weiter tun außer den einfachen Lese
vorgang durchzuführen, da die Daten desselben von Anfang an
zusammengesetzt sind.
Diese verschiedenen Stile von Speichertransaktionen können
wie benötigt innerhalb eines Testprogramms kombiniert wer
den. Beispielsweise kann eine Schleife nach dem Testen alle
Daten innerhalb eines Bereichs von Adressen für einen spe
ziellen Speichersatz zusammensetzen. Dann können BMR ver
wendet werden (mit hoher Geschwindigkeit), um auf die Daten
in jeder zufälligen Reihenfolge zuzugreifen. Dies funktio
niert, weil jede Bank an jeder Adresse (in den zusammenge
setzten Bereich) die gleichen Daten aufweist.
Um die Erörterung fortzusetzen, wird nun auf Fig. 6 Bezug
genommen, die ein vereinfachtes Blockdiagramm 129 der
Adreßklassifizierer (77, 78, 79) ist, die in den Fig. 3 und
4 gezeigt sind. Es wird wieder daran erinnert, daß es wün
schenswert ist, daß eine Mehrzahl von Tabellen, die in ei
nem Speichersatz (wie z. B. Etiketten-RAM, Pufferspeicher,
usw.) positioniert sind, alle Adressen von dem gleichen Be
reich von angelegten DUT-Adressen sind, aber daß diese Ta
bellen nicht überlappen. Dies bedeutet, daß die Tabellen
getrennte Bereiche von Adressen aufweisen müssen, selbst
wenn die Sequenz von adressierten Positionen darin einander
entsprechen. Es ist eine Funktion eines Adreßklassifizie
rers, einen Adreßbereich um einen bestimmten Betrag zu ver
schieben, so daß die Existenz des Bereichs beibehalten
wird, aber das die Position desselben um den Betrag der
Verschiebung geändert ist. Aus Leistungsgründen wird nicht
tatsächlich ein beliebiger Wert an die Adresse mit einem
Addierer addiert, das wäre langsam und würde große Mengen
an Platz auf dem Chip der VLSI-Schaltung benötigen, von dem
der Adreßklassifizierer ein Teil ist. Statt dessen werden
die oberen Adreßbits (für eine zu bewegende Adresse) ge
zwungen, unterschiedliche Werte aufzuweisen. Beispielsweise
ist der Bereich von Interesse durch zehn niedrigstwertige
Bits beschrieben. Dann kann dieser Bereich neu positioniert
werden indem jedes der signifikanteren (und andernfalls un
genutzten) Bits zu einem anderen Wert gezwungen wird.
In Fig. 6 wird dies durch eine Sammlung von Multiplexern
130a-z (entweder zweiunddreißig oder einundzwanzig in der
Zahl, für die Adreßklassifizierer 77 bzw. 78/79) durchge
führt, einen für jedes Adreßbit. Jeder Multiplexer in die
ser Sammlung 130 empfängt eine konstante logische Null, ei
ne konstante logische Eins und das entsprechende tatsächli
che Bit der zu klassifizierenden Adresse. Es ist die Funk
tion jedes Multiplexers, auszuwählen, welche Bitpositionen
in der klassifizierten Adresse zu Einsen oder Nullen ge
zwungen sind, und welchen es erlaubt wird, durch ihren wah
ren Wert getrieben zu werden. Um dies zu ermöglichen, emp
fängt jeder Multiplexer in der Sammlung 130 ein Zwei-Bit-
Steuereingangssignal, das seinen Ursprung an einem jeweili
gen Latch 131a-z in einer Sammlung solcher Latches hat.
Diese Latches werden durch Befehle gesetzt, die über den
Ringbus 85 gesendet werden.
Die Adreßklassifizierung kooperiert außerdem mit den stro
maufwertigen Multiplexern 85-87 von Fig. 4 dadurch, daß
diese Multiplexer bestimmen, welche der Bits der achtund
vierzig-Bit-Adresse 30 von dem Adreßabbilder 29 als eine
Zweiunddreißig-Bit-Adresse weitergeleitet werden, und wel
che Bitposition diese weitergeleiteten Bits besetzen.
Es wird außerdem daran erinnert, daß es mehrere Bedingungen
gab, die eine Datenklassifizierung erfordern. Unter diesen
war der Wunsch, daß jede Störung innerhalb einer definier
ten Sammlung von Kanälen durch ein Bit in den klassifizier
ten baten dargestellt wird. Dies wurde als "Komprimierung"
bezeichnet und ist eine der Funktionen der Datenklassifika
tion. Eine weitere ist "Verschieben", um das Schmal-Wort-
Merkmal zu unterstützen. Das erfordert, daß die Position in
einem Datenwort eines gesamten Felds von Datenbits inner
halb des Worts neu positioniert wird. Eine letzte Funktion,
die als eine Komponente der Datenklassifizierung benötigt
wird, ist "Maskieren", um ausgewählte Datenbits zu vorbe
stimmten Werten zu zwingen, während andere ausgewählt wer
den, die durch ihren ungeänderten Wert dargestellt werden
sollen. Fig. 7 ist ein gesamtes vereinfachtes Blockdiagramm
132 der Datenklassifizierer (80-83), die diese Funktionen
durchführen. Dasselbe zeigt, daß Daten, die klassifiziert
werden sollen (59/61) bevor dieselben in einem Speichersatz
gespeichert werden, zu einer Komprimierungsschaltung 133,
dann zu einer Verschiebungsschaltung 134 und schließlich zu
einer Maskierungsschaltung 135 gesendet werden. Dasselbe
zeigt außerdem, daß jede dieser Schaltungen 133-135 durch
den Ringbus 85 gesteuert wird.
Fig. 8 ist ein vereinfachtes Blockdiagramm 136 der Kompri
mierungsschaltung 133. Die Schaltung 133 umfaßt vier Multi
plexer 141, 142, 143 und 144, von denen jeder durch den In
halt eines gemeinsamen Registers 140 gesteuert wird, das
durch den Ringbus 85 eingestellt wird. Jeder Multiplexer
wird durch ein unterschiedliches niederwertiges Datenbit
(BIT 0-BIT 3) gespeist, als auch durch das UND-Verknüpfen
von verschiedenen benachbarten Bits in den Eingangsdaten
59/61. Es wird daran erinnert, daß es der Zweck der Kompri
mierung ist, ein Bit in den Datenweg dazu zu bringen, jede
Störung in einer vorspezifizierten Sammlung von Bits darzu
stellen. Die verschiedenen UND-Verknüpfungen stellen diese
vorspezifizierten Sammlungen dar. Es wird außerdem daran
erinnert, daß eine Null einen mißlungenen Vergleich dar
stellt, somit stellt eine Eins einen erfolgreichen Ver
gleich dar. Die verschiedenen UND-Gatter 145-151 erfassen
die vordefinierten Sammlungen von Bits, die alle innerhalb
ihrer jeweiligen Sammlungen erfolgreich verglichen haben.
Die Wahrheitstabelle 165 zeigt an, welche Sammlungen ihre
UND-Verknüpfung zu dem Ausgang für unterschiedliche Werte
in dem Steuerregister 140 weitergeleitet haben. Es ist an
zumerken, daß die Anordnung außerdem Bits 31 : 4 in jedem
Fall weiterleitet, um in der Lage zu sein, keine Komprimie
rung durchzuführen, wenn jeder der Multiplexer einfach sein
zugeordnetes niederwertiges Bit weiterleitet. Das Endergeb
nis sind komprimierte Daten 137, die zu der Verschiebungs
schaltung von Fig. 9 gesendet werden.
Nachfolgend wird auf die Verschiebungsschaltung 152 von
Fig. 9 Bezug genommen. Dieselbe empfängt als Eingangssignal
die komprimierten Daten 137, die durch die Komprimierungs
schaltung von Fig. 8 erzeugt werden. Grob gesagt, die
Schaltung 152 ist eine Multiplexer-Anordnung von zweiund
dreißig Sechs-Eingangs-Multiplexern 154a-154z. Jeder dieser
Multiplexer ist mit den verschiedenen Sammlungen kompri
mierter Daten verbunden, die in der Figur gezeigt sind. Die
Multiplexer 154a-z sind alle identisch, und jeder wählt ei
nen seiner sechs Eingänge gemäß dem Inhalt eines Drei-Bit-
Steuerregisters, das durch den Ringbus 85 eingestellt wird.
Wie durch eine Untersuchung der Figur ersichtlich ist, ist
die Art der erzeugten Verschiebung die Vervielfältigung von
Sammlungen von Bitpositionen, und keine "Bit nach links
Verschiebung" oder "Bit nach rechts Verschiebung" um n Bit
positionen, die durch beispielsweise einen Bitstellenver
schieber erzeugt werden können. Diese Vervielfältigungsform
der Verschiebung reicht aus, um ein spezielles vordefinier
tes Feld von Bits in eine andere Position in dem Wort zu
bekommen, und was die anderen Positionen sind, ist im all
gemeinen nicht von Interesse. Das Ergebnis sind komprimier
te und verschobene Daten 138, die durch die Maskierungs
schaltung von Fig. 10 maskiert werden sollen.
Der letzte Schritt in dem Datenklassifizierungsprozeß ist
in Fig. 10 gezeigt, die ein vereinfachtes Blockdiagramm 155
von zwei Arten von Maskierungsschaltungen ist. Die erste
Maskierungsschaltung ist zum Zwingen von Datenbits in aus
gewählte Positionen, um spezielle Werte aufzuweisen. Dieser
Abschnitt von Fig. 10 umfaßt zweiunddreißig 3 : 1-Multiplexer
156a-z, die durch jeweils zugeordnete Steuerregister 157a-z
gesteuert werden, die jeweils durch den Ringbus 85 einge
stellt werden können. Derselbe arbeitet auf exakt die glei
che Weise wie die Schaltung 129 von Fig. 6, außer daß die
Bits, die gezwungen werden, Datenbits und keine Adreßbits
sind. Das Zwingen von Datenbits ist, wie zu erinnern ist,
nützlich, wenn fremde Datenbits mißachtet werden sollen,
indem dieselben beispielsweise einfach als "gut" erklärt
werden. Die zweite Maskierungsfunktion ist nicht notwendi
gerweise ein Teil der Datenklassifizierungsfunktion, son
dern ist logisch an diesem Punkt in dem Datenfluß und ist
selbst eine weitere Maskierungsoperation. Da dieselbe ein
Merkmal für Interesse unterstützt (einen Lesen-
Modifizieren-Schreiben-Vorgang für eine Schmal-Wort-
Operation) wurde dieselbe der Vollständigkeit halber hierin
eingeschlossen. Die Multiplexer 158a-z wählen zwischen den
maskierten Daten mit gezwungenen Bits und den Daten, die
von einer Position in dem inneren Testspeicher gelesen wer
den, die teilweise modifiziert und teilweise ohne Modifika
tion neu geschrieben werden sollen. Die Auswahl, welche
Bits welche sind, wird durch die Multiplexer 158a-z auf ei
ner Bit-um-Bit-Basis durchgeführt, gemäß dem jeweiligen In
halt der Steuerlatches 159a-z, gemäß dem Verkehr auf dem
Ringbus 85 eingestellt werden. Falls ein Multiplexer 158
ein Bit von den gezwungenen Datenbits (Multiplexer 156)
auswählt, wird dieses Bit modifiziert. Falls andererseits
dieses Bit mit dem, was von dem Speicher gelesen und durch
die Speichersatzsteuerung geliefert wurde, gekoppelt ist,
wird es ohne Modifikation neu geschrieben. In jedem Fall
ist das Ergebnis komprimierte, verschobene und maskierte
Daten 139, die das Ausgangssignal von dem Datenklassifizie
rungsprozeß von Fig. 7 sind.
Es wird daran erinnert, daß für bestimmte Testklassen ein
Stimulus-Log-RAM als ein ideales DUT arbeitet, um die
korrekten Bedingungen zu erzeugen, die in einem
tatsächlichen DUT bei der Beendigung des gesamten oder nur
einer bestimmten Zwischenmenge des Testens vorliegen
sollten. Der Gedanke dabei ist, den Strom von Sendevektoren
des Testprogramms an den Stimulus-Log-RANI anzulegen, als ob
derselbe statt dem tatsächlichen DUT ausgeführt würde (der
Stimulus-Log-RAM tut genau das, was von einem tatsächlichen
guten DUT erwartet würde). Dieser Strom von Sendevektoren
kann ebenfalls gleichzeitig an das tatsächliche DUT
angelegt werden. In jedem Fall sollten der Stimulus-Log-RAM
und das DUT einen identischen Inhalt aufweisen, nachdem
beide auf die gleiche Sequenz von Sendevektoren
angesprochen haben. Nun kann der tatsächliche Teil gelesen
werden, um den Inhalt desselben zu entdecken, während die
erwarteten Empfangsvektoren (Vergleichsdaten) von dem
Stimulus-Log-RAM genommen werden, und die Ver
gleichsergebnisse wie üblich an einen ECR, Etiketten-RAM,
usw. gesendet werden. Auf diese Weise muß das Testprogramm
nicht die speziellen Empfangsvektoren erzeugen oder
enthalten, die die erwartete Antwort von dem angelegten
Stimulus sind. Für die Testklassen, die mit diesem Lö
sungsansatz kompatibel sind, ist das Testprogramm leichter
und einfacher zu schreiben und zu warten, da weniger
interne Variable beispielsweise zu der Größe des DUT-
Adreßraums passen müssen.
Bei einem Speichertester, der gemäß dem bevorzugten Ausfüh
rungsbeispiel, das beschrieben wird, aufgebaut ist, kann
der Mechanismus, der Sendevektoren annimmt, die an das DUT
gesendet werden sollen, außerdem (oder vielleicht statt
dessen) angewiesen werden, dieselben zu einem Abschnitt von
innerem Testspeicher zu senden, der sich verhält, als ob
derselbe ein ECR wäre, aber der in der Tat der Stimulus-
Log-RAM ist. Diese Sendevektoren werden über den gleichen
Weg gesendet, der für die Ergebnisse eines Vergleichs zwi
schen Sende- und Empfangsvektoren verwendet würde (was die
selben nicht sind, aber dieser Weg kennt den Unterschied
nicht). Der Stimulus-Log-RAM wird dann als idealer Speicher
wirken, der den Stimulusabschnitts des Tests ohne Fehler
ausführt. Es kann gesagt werden, daß für diese anfängliche
Stimulus-Log-RAM-Funktion ein Pseudo-ECR verwendet wurde:
dies ist bequem und effizient, da der verwendete Speicher
schnell sein muß und sowieso mit den Ergebnissen des Ver
gleichs verbunden werden muß. Sobald der gesamte anfängli
che Stimulus durchgeführt ist, wird der Inhalt des Stimu
lus-Log-RAM (der nicht mehr ist als ein geeigneter Ab
schnitt eines Speichersatzes, der temporär wirkte, als ob
er tatsächlich ein ECR wäre) wird nachfolgend als ein
(Ziel-) Pufferspeicher behandelt (ein Rekonfigurationsthe
ma), der dann die verbleibende Funktion des Stimulus-Log-
RAM fortsetzt (Senden erwarteter Empfangsvektoren zu den
Vergleichsmechanismus). Nun sendet der algorithmische Me
chanismus (oder ein Quellenpufferspeicher) einen Satz von
Sendevektoren zu dem realen DUT, um dasselbe zu lesen und
Empfangsvektoren hervorzurufen, während ein weiterer Ab
schnitt von (vielleicht einem weiteren) Speichersatz dies
mal als tatsächlicher ECR wirkt (zusammen mit jedem
ETIKETTEN-RAM, usw.). Es ist anzumerken, daß es nicht not
wendig ist, den Inhalt von dem ECR-Abschnitt tatsächlich in
den Zielpufferspeicherabschnitt zu kopieren (als ob ECR
"freigeben" und der Stimulus-Log-RAM "geladen" wird), es
reicht aus, einfach neu zu definieren, welche Abschnitte
welches Speichersatzes diese verschiedenen Funktionen aus
führen. Auf den tatsächlichen physikalischen Speicher, der
als der Stimulus-Log-RAM verwendet werden soll, wird zu
nächst auf die gleiche Weise geschrieben wie für einen ECR,
und dann wird von demselben gelesen, als ob derselbe ein
Pufferspeicher wäre, während ein anderer Teil des Speicher
satzes der ECR "wird".
Abschließend wird auf Fig. 11 Bezug genommen, die ein ver
einfachtes Blockdiagramm 161 eines Abschnitts der Zeitge
bungs/Formatierungs- und Vergleichsschaltung (52) von Fig.
2 ist. Was Fig. 11 zeigt, ist eine Schaltungsanordnung, die
es den Multiplexern 163a-z ermöglicht, entweder alle auf
die gleiche Weise oder alle auf andere Weise, zwischen ei
nem Vergleich eines Empfangsvektors mit den Vergleichsdaten
nachfolgend zu einem Sendevektor und zwischen den Sendevek
toren selbst zu entscheiden. Die letztere Auswahl ermög
licht es dem Stimulus-Log-RAM, diese Sendevektoren zu emp
fangen, so daß derselbe als ein ideales DUT wirken kann,
das die Quelle von Vergleichsdaten wird, die bei der Been
digung eines Teils oder des gesamten DUT-Testens verwendet
zu werden. Die Auswahl wird gemäß einem Latch 164 getrof
fen, das durch den Ringbus 85 eingestellt oder gelöscht
wird. Wenn Vergleichsdaten verwendet werden sollen, um Emp
fangsvektoren zu überprüfen, wird der tatsächliche Ver
gleich durch Exklusiv-NOR-Gatter 162a-z durchgeführt, deren
Ausgänge jeweils mit den Multiplexern 162a-z gekoppelt
sind.
Claims (9)
1. Verfahren zum Testen eines zu testenden Speichers (16)
auf einem Speichertester (6), wobei das Verfahren fol
gende Schritte umfaßt:
- a) Anlegen der gleichen Sequenz von Sendevektoren an den zu testenden Speicher und an einen Arbeitsspeicher innerhalb des Speichertesters (6), wobei die Sequenz von Sendevektoren das Speichern von Testmusterdaten innerhalb der Speicher, an die dieselben angelegt werden, bewirkt; und
- b) im Anschluß an Schritt (a) Vergleichen des Test musterdateninhalts des zu testenden Speichers (16) mit dem Testmusterdateninhalt des Arbeits speichers.
2. Verfahren gemäß Anspruch 1, bei dem die gleiche Se
quenz von Sendevektoren ein Beispiel der Sequenz ist,
die gleichzeitig an den zu testenden Speicher (16) und
an den Arbeitsspeicher angelegt wird.
3. Verfahren gemäß Anspruch 1 oder 2, bei dem die gleiche
Sequenz von Sendevektoren getrennte Beispiele der Se
quenz sind, die zu unterschiedlichen Zeiten an den zu
testenden Speicher und den Arbeitsspeicher angelegt
werden.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem
der Arbeitsspeicher ein auswählbarer Abschnitt eines
inneren Testspeichers innerhalb des Speichertesters
ist.
5. Verfahren gemäß Anspruch 4, das ferner den Schritt des
Verschachtelns von Arbeitsspeichertransaktionen zwi
schen Bänken eines DRAM umfaßt.
6. Verfahren gemäß Anspruch 4 oder 5, das ferner den
Schritt des Speicherns von Vergleichsergebnissen von
Schritt (b) in einem Fehlererfassungsspeicher umfaßt,
der ein Abschnitt eines inneren Testspeichers inner
halb des Testers ist.
7. Verfahren gemäß Anspruch 6, das ferner den Schritt des
Verschachtelns von Fehlererfassungsspeichertransaktio
nen zwischen Bänken eines DRAM umfaßt.
8. Verfahren gemäß Anspruch 4, bei dem der innere Test
speicher aus einer Mehrzahl von Speichersätzen besteht
und der auswählbare Abschnitt ein Segment eines Spei
chersatzes ist.
9. Verfahren gemäß Anspruch 8, das ferner den Schritt des
Speicherns von Vergleichsergebnissen von Schritt (b)
in einem Fehlererfassungsspeicher umfaßt, der ein Ab
schnitt eines Speichersatz ist, der sich von dem Spei
chersatz unterscheidet, von dem der Arbeitsspeicher
ein Segment ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/672,650 US6851076B1 (en) | 2000-09-28 | 2000-09-28 | Memory tester has memory sets configurable for use as error catch RAM, Tag RAM's, buffer memories and stimulus log RAM |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10147910A1 true DE10147910A1 (de) | 2002-04-25 |
Family
ID=24699438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10147910A Withdrawn DE10147910A1 (de) | 2000-09-28 | 2001-09-28 | Speichertester weist Speichersätze auf, die für die Verwendung als Fehlererfassungs-RAM, Etiketten-RAM, Pufferspeicher und Stimulus-LOG-RAM konfigurierbar sind |
Country Status (5)
Country | Link |
---|---|
US (1) | US6851076B1 (de) |
JP (1) | JP2002163897A (de) |
KR (1) | KR100896585B1 (de) |
DE (1) | DE10147910A1 (de) |
IT (1) | ITRM20010587A1 (de) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2003085838A1 (ja) * | 2002-04-05 | 2005-08-18 | ソニー株式会社 | インターリーブ装置及びインターリーブ方法、並びにデインターリーブ装置及びデインターリーブ方法 |
JP4737929B2 (ja) * | 2003-12-12 | 2011-08-03 | 株式会社東芝 | 半導体記憶装置 |
JP2005265619A (ja) * | 2004-03-18 | 2005-09-29 | Agilent Technol Inc | モジュール式テスタ用モジュール、および、該モジュールの校正方法 |
US7996339B2 (en) * | 2004-09-17 | 2011-08-09 | International Business Machines Corporation | Method and system for generating object classification models |
JP2006275986A (ja) * | 2005-03-30 | 2006-10-12 | Advantest Corp | 診断プログラム、切替プログラム、試験装置、および診断方法 |
KR100810140B1 (ko) * | 2005-11-16 | 2008-03-06 | 엠텍비젼 주식회사 | 선택적 테스트 벡터 압축 방법 및 장치 |
US7502974B2 (en) * | 2006-02-22 | 2009-03-10 | Verigy (Singapore) Pte. Ltd. | Method and apparatus for determining which timing sets to pre-load into the pin electronics of a circuit test system, and for pre-loading or storing said timing sets |
US7590903B2 (en) * | 2006-05-15 | 2009-09-15 | Verigy (Singapore) Pte. Ltd. | Re-configurable architecture for automated test equipment |
KR100891328B1 (ko) * | 2007-01-04 | 2009-03-31 | 삼성전자주식회사 | 병렬 타입 반도체 집적회로 테스트 시스템 및 병렬 타입반도체 집적회로 테스트 방법 |
KR100850270B1 (ko) * | 2007-02-08 | 2008-08-04 | 삼성전자주식회사 | 페일비트 저장부를 갖는 반도체 메모리 장치 |
US7620861B2 (en) * | 2007-05-31 | 2009-11-17 | Kingtiger Technology (Canada) Inc. | Method and apparatus for testing integrated circuits by employing test vector patterns that satisfy passband requirements imposed by communication channels |
US7757144B2 (en) * | 2007-11-01 | 2010-07-13 | Kingtiger Technology (Canada) Inc. | System and method for testing integrated circuit modules comprising a plurality of integrated circuit devices |
US7848899B2 (en) * | 2008-06-09 | 2010-12-07 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing integrated circuit devices |
JP5077265B2 (ja) * | 2009-02-26 | 2012-11-21 | 横河電機株式会社 | 記憶装置及び半導体試験装置 |
US8356215B2 (en) * | 2010-01-19 | 2013-01-15 | Kingtiger Technology (Canada) Inc. | Testing apparatus and method for analyzing a memory module operating within an application system |
US8918686B2 (en) | 2010-08-18 | 2014-12-23 | Kingtiger Technology (Canada) Inc. | Determining data valid windows in a system and method for testing an integrated circuit device |
CN102403044B (zh) * | 2010-09-08 | 2014-10-15 | 北京大学 | 测试阻变随机访问存储器件的数据保持特性的方法 |
US9003256B2 (en) | 2011-09-06 | 2015-04-07 | Kingtiger Technology (Canada) Inc. | System and method for testing integrated circuits by determining the solid timing window |
US8724408B2 (en) | 2011-11-29 | 2014-05-13 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing and assembling memory modules |
US9026870B2 (en) | 2012-07-27 | 2015-05-05 | Samsung Electronics Co., Ltd. | Memory module and a memory test system for testing the same |
US9117552B2 (en) | 2012-08-28 | 2015-08-25 | Kingtiger Technology(Canada), Inc. | Systems and methods for testing memory |
CN111367749B (zh) * | 2018-12-25 | 2023-05-05 | 中国移动通信有限公司研究院 | 业务监测方法、装置、相关设备及存储介质 |
CN113077837B (zh) * | 2021-03-24 | 2024-04-12 | 上海华虹宏力半导体制造有限公司 | 一种自动测试设备的多类型测试向量整合方法及系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5472924A (en) * | 1977-11-24 | 1979-06-11 | Hitachi Ltd | Semiconductor memory inspection equipment |
JPS5562598A (en) * | 1978-10-31 | 1980-05-12 | Nec Corp | Memory check unit |
DE3685078D1 (de) * | 1985-09-09 | 1992-06-04 | Hitachi Ltd | Speicherpruefgeraet. |
JP2527935B2 (ja) * | 1986-05-19 | 1996-08-28 | 株式会社 アドバンテスト | 半導体メモリ試験装置 |
JPH01145588A (ja) * | 1987-12-01 | 1989-06-07 | Mitsubishi Electric Corp | テストパターン圧縮装置 |
JP2613412B2 (ja) * | 1987-12-29 | 1997-05-28 | 株式会社アドバンテスト | メモリ試験装置 |
JPH01184700A (ja) * | 1988-01-11 | 1989-07-24 | Advantest Corp | メモリ試験装置 |
JP3201423B2 (ja) * | 1992-02-21 | 2001-08-20 | 株式会社アドバンテスト | メモリ試験装置 |
JPH06242181A (ja) * | 1992-11-23 | 1994-09-02 | Texas Instr Inc <Ti> | 集積回路の試験装置及び方法 |
US5701309A (en) * | 1992-12-02 | 1997-12-23 | At&T Global Information Solutions Company | Automated test equipment digital tester expansion apparatus |
US6055661A (en) * | 1994-06-13 | 2000-04-25 | Luk; Fong | System configuration and methods for on-the-fly testing of integrated circuits |
JPH08233912A (ja) * | 1995-02-24 | 1996-09-13 | Hitachi Ltd | Lsiテスタ |
JPH1064297A (ja) * | 1996-08-27 | 1998-03-06 | Advantest Corp | メモリ試験装置 |
JPH09152470A (ja) * | 1995-11-30 | 1997-06-10 | Hitachi Electron Eng Co Ltd | 高速データ取り込み装置及びic試験装置 |
US5790559A (en) * | 1996-03-29 | 1998-08-04 | Advantest Corporation | Semiconductor memory testing apparatus |
JPH09269358A (ja) * | 1996-03-29 | 1997-10-14 | Advantest Corp | 半導体メモリ試験装置 |
JP3700797B2 (ja) * | 1996-08-09 | 2005-09-28 | 株式会社アドバンテスト | メモリ試験装置 |
JP2000030491A (ja) * | 1998-07-15 | 2000-01-28 | Advantest Corp | 不良解析メモリ |
-
2000
- 2000-09-28 US US09/672,650 patent/US6851076B1/en not_active Expired - Lifetime
-
2001
- 2001-09-21 JP JP2001288120A patent/JP2002163897A/ja active Pending
- 2001-09-27 KR KR1020010060073A patent/KR100896585B1/ko not_active IP Right Cessation
- 2001-09-28 IT IT2001RM000587A patent/ITRM20010587A1/it unknown
- 2001-09-28 DE DE10147910A patent/DE10147910A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2002163897A (ja) | 2002-06-07 |
ITRM20010587A0 (it) | 2001-09-28 |
KR100896585B1 (ko) | 2009-05-21 |
ITRM20010587A1 (it) | 2002-03-28 |
US6851076B1 (en) | 2005-02-01 |
KR20020025773A (ko) | 2002-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10147910A1 (de) | Speichertester weist Speichersätze auf, die für die Verwendung als Fehlererfassungs-RAM, Etiketten-RAM, Pufferspeicher und Stimulus-LOG-RAM konfigurierbar sind | |
DE60111324T2 (de) | Fehlerdiagnose-RAM eines Speichertesters mit nach Grösse und Geschwindigkeit konfigurierbaren SDRAM Speichereinheiten | |
DE10217303A1 (de) | Algorithmisch programmierbarer Speichertester mit Unterbrechungspunktauslöser, Fehlerblockierung und Oszilloskop-Modus, der Zielsequenzen speichert | |
DE60219990T2 (de) | Speichertest-Schaltung | |
DE3902425C2 (de) | ||
DE19526007C2 (de) | Horizontal partitionierter Befehls-Cache-Speicher | |
DE60012966T2 (de) | Hochgeschwindigkeitsfehlererfassungsgerät und verfahren für automatische testeinrichtung | |
DE60220511T2 (de) | Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher | |
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE60208117T2 (de) | Selbsttest-Schaltung für Cache-Speicher | |
DE60009856T2 (de) | Umkonfigurierbare integrierte schaltung mit eingebautem fehlersuchsystem für ein simulationssystem | |
DE60001913T2 (de) | Mustergenerator für eine testvorrichtung von paketbasierten speichern | |
DE10153753B4 (de) | Speichertester unterläßt ein Programmieren von Adressen in erfaßten schlechten Spalten | |
DE102011053359B4 (de) | Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben | |
DE1928202A1 (de) | UEberwachungs- und Statistikeinrichtung fuer Datenverarbeitungssysteme | |
DE19510902A1 (de) | Emulation eines Mehrtor-Speichers unter Verwendung von Markierregistern | |
DE3015875A1 (de) | Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem | |
DE19639972B4 (de) | Hochgeschwindigkeitstestschaltkreis für eine Halbleiterspeichervorrichtung | |
DE19948388A1 (de) | Verfahren und System zum Prüfen eingebetteter Speicher | |
DE19627820A1 (de) | Speichertestvorrichtung | |
DE112019007371T5 (de) | Eine mit einem system-on-chip gekoppelte speichergerätearchitektur | |
DE10153665A1 (de) | Speichertester mit verbesserter Nachdecodierung | |
DE19930169A1 (de) | Testeinrichtung zum Prüfen eines Speichers | |
DE10134985A1 (de) | Test eines Halbleiterspeichers mit mehreren Speicherbänken | |
DE19743707A1 (de) | Speichertestvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: VERIGY (SINGAPORE) PTE. LTD., SINGAPORE, SG |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110401 |