DE10144645A1 - Device for manipulating address information in a memory tester controls address channels in the memory tester with address registers storing logical address bits, replacement bits, a bit selector and a vector processor. - Google Patents

Device for manipulating address information in a memory tester controls address channels in the memory tester with address registers storing logical address bits, replacement bits, a bit selector and a vector processor.

Info

Publication number
DE10144645A1
DE10144645A1 DE10144645A DE10144645A DE10144645A1 DE 10144645 A1 DE10144645 A1 DE 10144645A1 DE 10144645 A DE10144645 A DE 10144645A DE 10144645 A DE10144645 A DE 10144645A DE 10144645 A1 DE10144645 A1 DE 10144645A1
Authority
DE
Germany
Prior art keywords
address
bits
bit
spare
test
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
Application number
DE10144645A
Other languages
German (de)
Inventor
Jun Alan S Krech
John M Freeseman
Stephen D Jordan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE10144645A1 publication Critical patent/DE10144645A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory

Abstract

A memory tester has a feature for using any section of a z address register as a substitute for up to eight most significant bits in x address lines. A majority of z selection multiplexers select one of sixteen z address lines for transfer to a majority of z-bit activation multiplexers. Each z-bit activation multiplexer chooses between a selected z-bit or a matching x address bit. An Independent claim is also included for a method for manipulating address information in a memory tester.

Description

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.In everyday life there are electronic devices and their lei capabilities are now widely used. Moreover Many people wear personal computers at home more than a productivity device for all kinds of purposes yourself. Most personal electronic produktivi Process devices include a form of non-volatile memory cher. Mobile phones use non-volatile memory to user-programmed phone numbers and configurations to save and maintain when the performance is shut down is. PCMCIA cards use non-volatile memory, to store and receive information even if the card is removed from its slot in the computer. Many other widely used electronic devices professional also benefit from the long-term storage capacity of non-volatile memory in non-powered devices.

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.The manufacturers of non-volatile memories that are attached to the Electronic equipment manufacturers sell, develop testers to ensure the correct operation of the memory that they manufacture, execute and verify. Due to the Amount of non-volatile memories that are manufactured and are sold at continuously low prices it is very important to minimize the time it takes to test a single part. Due to the cost savings in connection with the practice of installing the Storage elements in more expensive arrangements with minimal or Without testing, buyers demand non-volatile food from memory manufacturers that the same high ver achieve sand yields. Accordingly, the memory test process be sufficiently efficient by a large percentage set of defective parts and preferably all defects  are liable to identify parts in a single test process 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. Während sich Speicher entwickeln und verbessern, muß der Tester in der Lage sein, sich leicht an die Ände­ rungen 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 Gesamtlebensdauerleistungsfä­ 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 Spei­ chers überhaupt nicht verwendet, aber der Hersteller kann auf dieselben zugreifen, um alle oder wesentliche Abschnit­ te der Speicher in so kurzer Zeit wie möglich und so effi­ zient wie möglich zu testen. Einige nicht-flüchtige Spei­ cher 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 Vor­ teile der speziellen Testmodi als auch der Reparaturfunk­ tionen 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 erwarteten Anspra­ che von dem Element unterstützt.While non-volatile memories are larger, denser and com To be more complex, the testers must be able to use it increased size and complexity to edit without the time significantly increase that is needed to do the same testing. As memories evolve and improve, the tester must be able to easily adapt to the changes adjustments that have been made to the element. Another specific topic when testing non- volatile memory is that repeated writes on cells the memory the total life performance ability of the part to deteriorate. The manufacturers of non-volatile memories have on many of the test tasks by installing special test modes in the memory elements responding. These test modes are used by the buyer of the Spei chers not used at all, but the manufacturer can access them to all or essential section storage in the shortest possible time and as efficiently as possible to test as efficiently as possible. Some non-volatile food They can also be repaired during the test process. The tester should therefore be able to: identify: a repair needed, a location of the Repair, the type of repair needed, and then must be able to carry out the appropriate repair. Such a repair process requires a tester to is able to identify a specific faulty section of the Capture and separate storage. To the entire front parts of the special test modes as well as the repair radio it is beneficial for a tester to to be able to run a test program that conditional branching based on an expected response che supported by the element.

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.The process is from a conceptual perspective of memory testing is an algorithmic process. As Typical tests include sequential increments  animals or decrement memory addresses while Zeros and ones are written into the memory cells. It is common to have a collection of ones and zeros, those written or read during a memory cycle are referred to as a "vector" while the The term "structure" refers to a sequence of vectors. It is common in tests to write structures such as. B. Chess boards, running ones and butterfly structures to record in the storage space. A test developer can with the help of algorithmic elements Program to create these structures easier and more effi generate more efficiently. A test structure that algorithmic ko is also easier to troubleshoot, and Logical procedures are used to isolate sections of the Structure that doesn't work as expected is easier to get use. A test structure created using An Instructions and commands that are in programming loops again fetched, generated algorithmically, consumed in the Tester memory less space. Accordingly, it is fine worth an algorithmic in a memory tester To have test structure generation capability.

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 bzw. Ansprechen von dem zu testenden Gerät (Speicher). The exact signal edge placement and detection is flat if a consideration to the effectiveness of a non- volatile tester. To capture parts that generally a median while not within half of the specified range, a non- volatile memory tester to be able to any signal edge in terms of time to another signal edge to be placed precisely. It is also important that the same is able to measure exactly at what time a Signal edge is received. Accordingly, a non-volatile memory tester sufficient flexibility and control the timing and placement of Stimuli and responses from the person to be tested Device (memory).  

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!The memory testers are intended to generate transmit vectors that are the DUT (device under test = device to be tested) is created are received (stimulus) and vectors that respond expected (answer). The algorithmic logic that generated these vectors can generally do this without dealing with it like a special bit in a vector from or to a special one Signal connection point in the DUT. At that level it almost seems as if there is a certainty that adjacent bits in the vector are also considered physical neighboring signals arrive at the DUT. If only so would be easy!

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.In reality, the correspondence between the bits tends in a vector on the "conceptual level" and the actual signals in the DUT to be more arbitrary his. If nothing is done to avoid this, you can it may be necessary to add one or more probe wires cross because they hang from a periphery, to get in touch with the DUT. Such a crossing is not desirable at all and it's convention a mapping mechanism in the path of the transmit vector to reinstall the bit positions in the transmit vector assign before they are applied to the DUT, so that the task of making physical contact is not burdened by crossings. Receive vectors who corresponding to an inverted imaging mechanism created before they are processed. In this way It will be the algorithmic vector generation and ver equal mechanisms enables this entire area to to ignore. As another example of what such fig who can perform and reverse images, consider that Case where another example of the same type of DUT spread on the same wafer, but with a ro tation or a mirrored symmetry to prevent that space on the wafer is wasted. These practices also have an effect on correspondence between Vector bit position and physical signal position that but through the appropriate illustrations and reverse images  can be covered. It can be seen that the fig and reversal images that are appropriate for these situations are required to be static once they are for a special DUT are identified, and during the course of testing for this particular DUT need not be changed.

Bei bestimmten Arten von Speichern erfordert ein effizien­ ter Test ein Manipulieren einer Gruppe von Bits der Adreß­ leitungen, die separat von einer anderen Gruppe von Bits der Adreßleitungen ist. Bei Testern des Standes der Technik ohne eine Erzeugung von algorithmischen Mustern war die Aufgabe insofern relativ einfach, als die Adreßleitungen als zwei separate Gruppen definiert waren und Bit für Bit verwaltet wurden. Ein Beispiel eines Speichertyps, der die­ se Art Adressierung verwendet, ist ein Speicher, der eine Organisation mehrerer Blocks von Speicherzellen in einem Seitenadressierungsformat beibehält, bei dem die Seiten­ adressierung bestimmte der höchstwertigen Bits der Adreß­ leitungen verwendet und die Speicherwortadressierung be­ stimmte der mindestwertigen Adreßleitungen verwendet. Um die Erzeugung algorithmischer Muster zum Testen dieser Ar­ ten von Speichern voll auszunutzen, ist es jedoch erforder­ lich, daß ein Tester eine einfache Lösung zum selektiven Gruppieren von Bits in den Adreßleitungen für eine unabhän­ gige Erzeugung von algorithmischen Mustern liefert.For certain types of storage, one requires efficiency ter test manipulating a group of bits of the address lines separate from another group of bits of the address lines. For testers of the prior art without generating algorithmic patterns Task relatively easy in that the address lines were defined as two separate groups and bit by bit were managed. An example of a type of storage that supports This type of addressing is a memory that has a Organization of several blocks of memory cells in one Maintains page addressing format where the pages addressing determined the most significant bits of the address lines used and the memory word addressing be agreed the minimum address lines used. Around the generation of algorithmic patterns for testing these ares However, it is necessary to take full advantage of memory Lich that a tester is a simple solution to selective Grouping bits in the address lines for an independent current generation of algorithmic patterns.

Es ist die Aufgabe der vorliegenden Erfindung, eine Vor­ richtung zum Verwalten von Adreßkanälen in einem Speicher­ tester, ein Verfahren zum Verwalten von Adreßkanälen in ei­ nem Speichertester sowie eine Vorrichtung zum Verwalten von Adressen in einem Speichertester zu schaffen, welche gün­ stige Eigenschaften aufweisen.It is the object of the present invention to provide a front Direction for managing address channels in a memory tester, a method of managing address channels in an egg nem memory tester and a device for managing To create addresses in a memory tester, which have permanent properties.

Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren gemäß Anspruch 12 oder eine Vorrichtung gemäß Anspruch 16 gelöst.This object is achieved by a device according to claim 1, a method according to claim 12 or an apparatus according to Claim 16 solved.

Gemäß einem Aspekt der Erfindung weist eine Vorrichtung zum Verwalten von Adreßkanälen in einem Speichertester ein oder mehr Adreßregister auf, die eine Mehrzahl von logischen Adreßbits und eine Mehrzahl von Ersatzbits aufweisen, wobei jedes Ersatzbit einem der logischen Adreßbits entspricht. Die Vorrichtung weist ferner einen Bitselektor für jedes logische Adreßbit und jede Ersatzbitkombination auf, und jeder Bitselektor wählt unabhängig entweder das logische Adreßbit oder das Ersatzbit aus. Ein kollektiver Ausgang der Bitselektoren ist eine effektive Adresse, die zum Zweck des Testens eines Speichers verwendet wird. Ein Vektorpro­ zessor wendet die effektive Adresse in dem Tester an.According to one aspect of the invention, a device for Manage address channels in a memory tester  more address registers that have a plurality of logical Have address bits and a plurality of spare bits, where each spare bit corresponds to one of the logical address bits. The device also has a bit selector for each logical address bits and each replacement bit combination, and each bit selector independently selects either the logical one Address bit or the replacement bit. A collective outcome The bit selector is an effective address that is for the purpose testing memory. A vector pro processor applies the effective address in the tester.

Gemäß einem weiteren Aspekt der Erfindung weist ein Verfah­ ren zum Verwalten von Adreßkanälen in einem Speichertester die Schritte des Übergebens einer Mehrzahl von logischen Adreßbits an eine jeweilige Mehrzahl von Bitselektoren mit einem logischen Adreßbit pro Bitselektor und einem Ersatz­ bit pro Bitselektor auf. Das Verfahren wählt daraufhin ent­ weder das logische Adreßbit oder das Ersatzbit, wobei ein kollektiver Ausgang der Bitselektoren eine effektive Adres­ se ist. Die effektive Adresse wird zum Zweck des Adressie­ rens eines DUT-Speichers verwendet.According to a further aspect of the invention, a method to manage address channels in a memory tester the steps of passing a plurality of logical ones Address bits to a respective plurality of bit selectors one logical address bit per bit selector and one replacement bit per bit selector. The procedure then selects neither the logical address bit or the replacement bit, where a collective output of the bit selectors an effective address se is. The effective address is for the purpose of addressing a DUT memory is used.

Vorteilhafterweise bietet ein Tester gemäß den Lehren der vorliegenden Erfindung eine zusätzliche Flexibilität und Effizienz bei dem Entwickeln von Testmustern im Vergleich zu Testern des Standes der Technik.Advantageously, a tester according to the teachings of present invention additional flexibility and Efficiency in developing test patterns in comparison to testers of the prior art.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:Preferred embodiments of the present invention are referred to below with reference to the enclosed Drawings explained in more detail. Show it:

Fig. 1 ein vereinfachtes Blockdiagramm eines weitgehend rekonfigurierbaren nicht-flüchtigen Speicherte­ sters, der gemäß der Erfindung aufgebaut ist; Figure 1 is a simplified block diagram of a largely reconfigurable non-volatile memory tester constructed in accordance with the invention.

Fig. 2 ein ausgedehntes vereinfachtes Blockdiagramm des DUT-Testers 6 der Fig. 1; FIG. 2 is an expanded simplified block diagram of the DUT tester 6 of FIG. 1;

Fig. 3 ein Blockdiagramm des in Fig. 2 gezeigten Adreß­ abbilders 29; Fig. 3 is a block diagram of the address mapper 29 shown in Fig. 2;

Fig. 4 ein Blockdiagramm des XScramble-Abschnitts (bzw. des X-Verscramblungs- bzw. Verwürfelungsab­ schnitts) 302 des in Fig. 3 gezeigten Adreßabbil­ ders 29; und FIG. 4 is a block diagram of the XScramble section (or the X-scrambling or scrambling section) 302 of the address mapper 29 shown in FIG. 3; and

Fig. 5 ein Blockdiagramm des ZScramble-Abschnitts 306 des in Fig. 3 gezeigten Adreßabbilders. FIG. 5 is a block diagram of the ZScramble section 306 of the address mapper shown in FIG. 3.

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.With reference to Fig. 1 is a simplified Blockdia program is shown a non-volatile memory test system 1, the principles of the invention constructed in accordance with. In particular, the system shown can simultaneously test up to 36 individual DUTs (Devices Under Test = test devices), each with up to 64 test points at a time, with provisions for reconfiguration to enable elements of a collection of test resources to test DUTs with more than 64 test points. These test points can be positions on a portion of an integrated circuit wafer that has not yet been singulated and packaged, or they can be the pins of the packaged part. The term "test point" refers to an electrical position at which a signal can be applied (e.g. power supply, clocks, data inputs) or at which a signal can be measured (e.g. a data output). In this description, those who follow the customs of the industry refer to the test points as "channels". The "collection of test resources to be linked" referred to above can be viewed as up to 36 test sites, each test site having a test site controller ( 4 ), a (64 channel) DUT tester ( 6 ) and a (64 channel) collection of pin electronics ( 9 ) that actually connects to a DUT ( 14 ). In the event that testing of the DUT requires 64 or fewer channels, a single test site is sufficient to perform tests on this DUT, and here, for example, it is assumed that test site # 1 (as shown in Fig. 1 appears) forms or acts as a "single site test station". Conversely, if one form of the aforementioned reconfiguration is effective, two (or more) test sites are "connected" to act as a larger equivalent test site with 128 channels. Accordingly, and again referring to an example shown in FIG. 1, it is assumed that test sites # 35 and # 36 form a "two-site test station".

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.To briefly consider the opposite case, shouldn't be assumed that an entire test site is required, to test a single DUT or that a single Te can only test a single DUT. Suppose a wa fer would two (but may not necessarily be neighboring) chips, the sum of the Testka would be 64 channels or less. Both DUTs can be tested by a single test site become. This is due to the universal programmability of the test site. A test program by the Test site is executed, can be written as that part of the test site's resources is used to test one of the DUTs while using a part to test the other DUT. When you finally assume that if there is a third DUT, this is the logical one Unit of the first two would be able to to test this third DUT with a single test site, therefore one should be able to use the "Compos ten-DUTs "of the same. The only difference is to track individually whether the two "component DUTs" exist or fail as opposed to a uniform Answer for the "third" DUT (i.e. there is a problem regarding which section of the "third" DUT has failed). This "single-site multiple test station" - Ability is mostly conventional and becomes here Purpose of completeness mentioned and possible confusion and misunderstandings to avoid if the same with  the idea of connecting two or more test sites is compared.

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).Apart from this thought of reconfiguration, there would be no difference between a test site and a test station, and one of these terms could be omitted the. As it is, however, it becomes apparent that the An number of test stations does not equal the number of testors must be. In the past, the numbers could not be different because the test locations have been divided to generate more test stations (DUTs that are not complex are enough to consume an entire test site). Now the difference can also be due to the fact that the Te were linked together to multi-site Form test stations (DUTs that are too complex for one are the only test site).

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 42) 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.A test system controller 2 is then connected by a system bus 3 to up to 36 test site controllers, the names of which end with the suffix 1 to 36 ( 4 a to 42 ). (It is true that the indices a to z only go from 1 to 26, and not to 36. But this small deviation is preferable to numerical indices after numerical reference signs, which would probably be very confusing.) The test system controller 2 is a computer (e.g. a PC running NT) that executes an appropriate test system control program related to the task of testing non-volatile memory. The test system control program represents the highest level of abstraction in a hierarchical division of labor (and complexity) for performing the desired testing. The test system control determines which programs are run by the different test sites and also monitors a robot system (not shown) that the test probes and DUTs moved as needed. The test system controller 2 can act in certain ways that support the idea that some test sites are programmed to operate as single-site test stations while others are connected to form multi-site test stations. Of course, under such circumstances, the different parts are tested, and it is very desirable that different tests are used for the different parts. Similarly, there is no requirement that all single-site test stations test the same type of parts, nor is there a requirement for multiple-site test stations. Accordingly, the test system controller 2 is programmed to issue the commands, to perform the required test site connection and then to call up the appropriate test programs for the various test stations used. The test system controller 2 also receives information about results obtained from the tests so that it can take the appropriate actions to dispose of the bad part and obtain the same logs for the various analyzes that can be used to for example to control production processes in a factory environment.

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.The test system itself is a relatively large and complex system, and it is common for the same to use a robot subsystem to load wafers onto a stage, which then successively positions one or more future chips under probes connected to pin electronics 9 are, after which these future chips (the wafer has not yet been isolated) are tested. The test system can also be used to test packaged parts that have been loaded on a suitable carrier. Depending on the test station that is in operation, at least one test site controller will be assigned (as will be explained below), regardless of how many test sites are used to form this test station or how many test stations are at a test site. A test site controller is an embedded system, which can be an i960 processor from Intel with 36 to 64 MB of combined program and data memory, which runs on its own operating system called VOS (VersaTest operating system), which is also used in earlier products Testing non-volatile memory (e.g. Agilent V1300 or V3300) was used. For the moment, only the situation for single-site test stations is considered. For the purpose of a specific example, it is assumed that test site # 1 acts as test station # 1 and that it should test WHIZCO part # 0013. The test determinations include about 100 different types of tests (varying and monitoring voltage levels, pulse widths, edge positions, delays, as well as a large amount of simple storage and then retrieval of selected information structures), and each type of test involves many millions of individuals Storage cycles for the DUT. At the highest level, the operators of the test system instruct the test system controller 2 to use the test station No. 1 to start testing the WHIZCO 0013. In due course, the test system controller 2 notifies the test site controller No. 1 ( 4 a) (which is an embedded [computer] system) to let the assigned test program, such as TEST_WHIZ_13, run. If the program is already available within the Test Site Control # 1 environment, it will simply run. If not, it is supplied by the test system controller 2 .

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).In principle, the TEST_WHIZ_13 program could now be completely independent. But if it were so, it would be very large with ziem Licher security and it can for the processor of the embedded system within the Test Site Controller 4a be difficult, fast enough to run, to produce the tests at the desired speed, or even with a Rate that is uniform from one DUT memory cycle to the next. Accordingly, low level subroutine type activities are generated, the sequences of addresses and associated data to be written or expected from a read operation are generated as needed by a programmable algorithmic mechanism that is positioned in the DUT tester 6 is niert, but works synchronously with the program that is executed by the embedded system in the test site control 4 . This can be seen as exporting certain low-level subroutine-like activities and the task of triggering DUT memory cycles to a mechanism (the DUT tester) that is closer to the hardware environment of the DUT 14 . Generally speaking, each time the test system controller 2 equips a test site controller with a test program, it then also provides the associated DUT tester with appropriate low level implementation routines (perhaps specific to the memory under test) that are needed to determine overall activity to be carried out, which is described or required by the programming for the test site control. The low level implementation routines are called "structures" and are generally named (just as functions and variables in high level program languages have names).

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.Each test site controller n (4) is coupled to its associated DUT tester n (6) by a site test bus n (5). The test location controller uses the location test bus 5 , both to control the operation of the DUT tester and to receive information from it about test results. The DUT tester is able to control the various DUT memory cycles as specified in the test regulations are included, generate at high speed, and decide whether the results of a read memory cycle are as expected. In essence, it responds to commands or opcodes ("named structures") sent by the test site controller by triggering appropriate useful sequences of read and write DUT memory cycles (ie, it executes the appropriate structures) ). Conceptually, the output signal of the DUT tester 6 is stimulus information to be applied to the DUT, and the same also accepts response information from the same. This stimulus / response information 7 a runs between the DUT tester 6 a and a pin electronics no. 1 arrangement 9 a. The pin electronics arrangement 9 a supports up to 64 probes that can be applied to the DUT 14 .

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.The stimulus information mentioned above is only a sequence of parallel bit structures (ie, a sequence of "transmit vectors" and expected "receive vectors") that is expressed according to the voltage levels of a family of logic elements used in the DUT tester. There is configurable mapping between bit positions in a stimulus / response and the probes on the chip, and this mapping is understood by the DUT tester 6 . The individual bits are correct in timing and edge placement, but in addition to mapping, they may also require voltage level switching before they can be applied to the DUT. Likewise, a response that occurs subsequent to a stimulus in the DUT may require buffering and "reverse" level switching before it can be considered appropriate to be returned to the DUT tester. This level switching task are the area of pin electronics 9 a. The pin electronics configuration needed to test a WHIZCO 0013 is unlikely to work on testing a part from ACME Co., and maybe not even on another WHIZCO part. Since it is obvious that the pin electronics arrangement must also be configurable, such a configurability is the function of the PE configuration lines 8 a.

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.The above explanations end with a brief architectural overview of how a single test site for te most of a DUT is structured. Subjects that follow now arise when there are many test sites that operate Need to become. As an introduction, a preferred version Example for setting up a test system with several Test sites described. In many ways, there are some the information that is described is a question of Preferences based on market studies on customer preference ben and cost-benefit analyzes. Anyway, one thing  To create these things you have to make a certain choice meet, and once this is done, certain arise Consequences that are visible through the entire system. It is believed to be useful, at least in general the larger outline of the hardware egg to describe properties of the test system. Even if egg some of these properties are random; becomes the knowledge the same nevertheless an acknowledgment of the different be Support games that are used to complete the invention display.

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.To begin with, consider four rather large card cages. Except Power supplies and water cooling (fans can be in a clean room environment is a source of pollution each card cage includes a motherboard, one Front surface and a rear surface. Can be in any card cage up to 9 arrangements can be placed. Any arrangement includes a test site controller, a DUT tester and a pin electronics. The following is a rough outline of how test site controls are connected, what some buses which will be used to make concatenations (Dai sy-chains).

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.A brief digression on the term "chaining" is perhaps appropriate at this point. Look at that System elements A, B, C and D. Suppose the same should be chained in this order. You could say, that there is an information or control route that ver lets and goes in D that B selectively forward traffic which then leaves B and goes into C, and that C is selective Can forward traffic that then goes to D. This same che type of arrangements can also be used for traffic in the whose direction exist. Chains are often used det to create priority schemes, the same used here to establish master / slave relationships between ver to generate different test site controls. This chain th communication arrangements are with the additional word "DSY" instead of "BUS". So instead of one  Command / data bus referred to a command / data DSY become. Now the thought that information "in B. penetrate and be forwarded selectively ", hindeu that traffic on a separate set of ladders is reproduced before being forwarded. It could be like that, but for performance reasons it's more of a regular rer bus with addressable units. Through a program mable address mapping arrangement and the ability to stro Downstream test site controls can be achieved that the single bus is as logical as a plurality of chains appears (that is, how it works). Finally, it is obvious that the concatenations are high power paths for command and control information are, and that if they weren't, you couldn't expect that a master / slave combination (multi-site test station) works as fast as a single test site. In favor of Concatenation efficiency must be said that the different DSY their respective card cages leave. The effect of this decision is that some Restrictions are imposed on which test locations (and thus also how many) can be connected. In principle there is no basic need for this restriction, yet there is a general lack of technical internship lity (it could be done), it will only assumed that expanding the DSYs was essential Cost for a relatively small additional benefit would work, since there are already 9 test locations in a card cage consist.

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.To accommodate the discussion of Fig. 1 again, the various Test Site Controllers 4 are a- 4 z regarded that can occupy the 4 card cages, each gene having 9 Testortsteuerun. The same will be f 4 a- 4, 4 g 4 m, 4 n- 4 t and 4 u- 4 z. (It doesn't matter that these are nominally only 26 additions, as previously explained - the reader is invited to imagine that there are another 10 addition symbols somewhere out there.) A CMD / DAT DSY 17 a (command and data -Daisy chain = command and data chaining) connects the test site controls 4 a- 4 f, which are located in a card cage, while another CMD / DAT DSY 17 b connects the test site controls 4 g- 4 m in another card cage. The same arrangement exists for the remaining card cages and the test site controls 4 n- 4 t or 4 u- 4 z. It has previously been noted that the DSY does not leave the card cages because the "tail end" of a bus that actually forms the DSY does not leave a card cage and the head of the next segment becomes another card cage. Instead, the system bus 3 goes from the test system controller 2 to all test site controllers, and everyone is able to become a master at the head of a DSY segment that does not leave the card cage.

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.The CMD / DAT DSY 17 a-d that were discussed exist between the various test site controls 4 a- 4 z. There is a similar arrangement for the SYNC / ERR DSY 18 a- 18 d and the DUT testers 6 a- 6 z. The synchronization and error information transmitted by the SYNC / ERR DSY 18 enables the DUT testers to function in unison. These two chains ( 17 and 18 ) carry slightly different types of information, but each exists as part of the same general mechanism for connecting one or more test sites to a test station.

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 Erfindung(en) 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.A discussion of FIG. 2 follows, which is a simplified block diagram extension of the DUT tester 6 of FIG. 1, of which up to 36 may be present. It is sufficient here to describe only one example. A look at Figure 2 shows that it is quite crammed, especially for a "simplified" block diagram. Some of what is in the DUT tester 6 and shown in the block diagram is functionally quite complicated and is not directly available in this form. It is appropriate to make two points here. First, the primary purpose of the inclusion of FIG. 2 is to describe the basic properties of an important operating environment within the entire non-volatile memory test system 1 . The invention (s) fully described in connection with FIG. 3 and subsequent figures are either extensions of the mechanisms set out in the following description of FIG. 2, or they are new mechanisms whose motivation requirement in FIG. 2 can be found. In any case, while this is being written, it is not known exactly what the reader has. The current goal is to provide a simplified, yet informative, starting point for numerous different detailed descriptions of different preferred embodiments, so that each of them can be as accurate as appropriate (as opposed to a "giant" specification that reveals everything about each different invention). The second point is that the expanded or expanded material, although generally in general agreement with FIG. 2, may contain information that does not exactly match the simplified version. This does not mean that there is a mistake or that things are crucially contradictory, but it occurs because it is sometimes difficult or impossible to simplify something so that it is the exact miniature image. The situation is more like that of maps. A standard size road map of Colorado shows that if you drive east on I-70, you can drive north on I-25 at Denver. This looks like a left turn. And although it was actually a left-hand bend, it isn't now, and a detailed map of this intersection will show a sequence of sub-bends and road sections in between. But nobody would say that the standard size road map is wrong, it is correct for its level of abstraction. Similar to and despite the rather crowded appearance, Fig. 2 is actually a simplification that works with a medium level of abstraction, but some apparent left turns are simply not left turns in reality.

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.As shown in Fig. 1, the main input to the DUT Tester 6 is an example of the Test Site Bus 5, the sen origin lies in the Test Site Controller 4 that is associated with the case of play of the DUT Tester 6. The test site bus 5 is coupled to a microcontroller sequencer 19 , which can be compared with a special microprocessor. The same retrieves instructions from a program that is stored in a program memory, which can either be contained in the microcontroller sequencer 6 (PGM SRAM 20 ) or can be outside the same (EXT. DRAM 21 ). Although these two memories appear to be addressed by an essentially logical common address 63 that serves as a program counter (or instruction fetch address) and both can be a programming source to be executed, the following should be noted: (1) only one of the memories performs instruction fetch memory cycles during each period of time, and (2) in fact they are addressed by electrically different signals. The SRAM is fast and enables real direct access, but takes up valuable space within the microcontroller sequencer 19 (which is a large IC), so its size is limited. The external DRAM can be supplied in adjustable amounts of a considerable amount, but is only fast if it is accessed in successive blocks that include the linear design and no branching. Programming in the SRAM 20 is mostly most algorithmic, while the EXT. DRAM 21 is best suited for material that cannot be easily generated by algorithmic processes, such as. B. Initialization routines and random or irregular data.

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.The instruction word executed by the microcontroller sequencer 19 is relatively wide: 208 bits. It consists of 13 16-bit fields. These fields often represent instruction information retrieved for mechanisms that lie outside the proper microcontroller sequencer. Such fields are reserved for their assigned mechanisms. A set of ALU instructions 22 is applied to a collection of 8 16-bit ALUs 24 , while others are distributed to various other mechanisms distributed by the DUT tester. This latter situation is represented by the lines and the designation "Various control values &instructions" 42 .

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. The 8 16-bit ALUs ( 24 ) each have a conventional repertoire of arithmetic instructions, which are structured around assigned 16-bit result registers (each ALU also includes several other registers). Three of these result registers and their associated ALUs are for generating X, Y and Z address components 27 which are combined differently into a complete address which is provided to the DUT. Two more of the 8 ALU / registers (DH and DL) are provided to contribute to the algorithmic generation of 32 bit data structures 28 which are divided between a most significant section (DH) and a least significant section (DL). The last three ALU / registers (A, B, C) are used as counters and contribute to the creation of various program control flags 25 , which are used for program control and branching upon completion of a programmatically specified number of iterations or other numerical conditions contribute. These program control flags 25 are sent back to the microcontroller sequencer 19 where they affect the value of the instruction fetch address in ways that are familiar to those who understand microprocessors. There are also various other flags 55 that can also be used to affect a program branch. These originate together with various other mechanisms in the DUT tester 6 , which are controlled by the different fields of the instruction word retrieved. A specific additional flag is explicitly shown as a separate element: VEC_FIFO_FULL 26 . In another, less detailed drawing, the same can be summarized with the other flags 55 . Here, it has been separated to help explain an aspect of the operation of the microcontroller sequencer 19 .

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, dfe 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.The VEC_FIFO_FULL (temporarily) stops the further program execution by the microcontroller sequencer 19 . There are many pipeline stages between the instructions that are fetched by the microcontroller sequencer 19 and the mechanism that ultimately outputs test vectors to be applied to the DUT. Also, part of the baggage accompanying a vector as it moves in the direction to apply the DUT is information related to the rate of eventual application of the vector or the duration of each vector. Thus, the rate of vector application to the DUT need not be constant and, in particular, a group of vectors may take longer to apply than to generate. The microcontroller sequencer simply does the programming at its maximum rate. But of course the rate of "vector consumption" must on average be the same as the rate of "vector production", otherwise the pipe line would have to be infinitely elastic. There is a vector FIFO 45 at the output of address mapper 29 , discussed below, and it serves as an elastic capacity in the pipeline. The VEC FIFO FULL signal is used to prevent the limited number of stages in the pipeline from being exceeded by causing a temporary stop in the production of new vectors at the head end of the 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.Subsequently, the (3 × 16 = 84 bits of) X, Y and Z address components 27 are applied to an address mapper 29 , the output signal of which is a preselected almost arbitrary rearrangement of the address values in the sorted 48-bit address space. As a starting point for recognizing the same, assume that the address mapper 29 is a memory that completely occupies a 48-bit address space and that it holds a 48-bit value at each address. (It is temporarily not to be taken into account that such a memory - at least nowadays - would be the size of a large refrigerator.) If one starts from such a memory, a lookup table could be implemented which arbitrarily outplaces each address created could map the selected 48-bit value, which could then be used as an exchange address. The reason that such address mapping is desirable is that the X, Y and Z address components generally have a useful meaning in the context of the internal architecture of a particular DUT, which is unlikely to be implemented with a large linear decoder , The thoughts of rows, columns, and layers, blocks, or pages can be very useful to the test engineer, and errors that occur in positions that are physically close to each other can be close to their X, Y, and Z addresses exhibit. Such structures in the test results can be valuable in recognizing what is wrong and trying to fix it, whether it is at the development level or a manufacturing level to reprogram a part, to operate a defective section with the to bridge an additional section. Two points arise from this thinking. The first is to limit the 48 bits to the actual number of bits (approximately 32 or maybe 16) to be applied to the DUT. The following briefly mentions how the constraint is performed, and is generally done by taking out so many bits of X, so many of Y, and the rest of Z. But not exclusively, and this is the second point, because certain addresses can reside within a circuit arrangement that is a left-for-right (or left-for-right and up-for-down) mirror image of another section of the circuitry , This has the effect of rearranging what the bits mean, depending on which consecutive address values are in physical order within this circuitry. This chip layout property can occur often, and it may well be the case that how a group of bits, e.g. y, is interpreted may depend on the accompanying value of others, e.g. Z bits. The address map of Figure 29 is provided to allow the raw X, Y and Z addresses to be "repackaged" to reflect this to the benefit of those who would test memories with such internal architectural arrangements. As it is actually carried out, the address mapper 29 is constructed from a relatively large number of multiplexers which are connected to one another. The same can implement the completely arbitrary lookup table behavior of a fully occupied memory decoding scheme, as was temporarily assumed above for explanatory purposes. However, it can rearrange subfields of the X, Y, and Z address components as needed, especially since there is now another mechanism that restricts 48 bits to the number actually needed. The address images 29 also contains three 16-bit (address) look-up tables which enable the same to perform any limited mapping within local areas.

Das abgebildete Adreßausgangssignal 30 des Adreßabbilders 29 wird als eine Adresse an einen Hilfs-RAM 31 (AUX RAM) 31 und einen Fehlererfassungs-RAM 32 angelegt, welche, obwohl sie getrennte Funktionen aufweisen, trotzdem implementierte auswählbare Teile in einem größeren Gesamt-RAM sein können. Das abgebildete Adreßausgangssignal 30 wird ebenfalls als ein Eingangssignal an eine Adreßbitauswahlschaltung 37 an­ gelegt, die nachfolgend beschrieben wird.The mapped address output signal 30 of the address mapper 29 is applied as an address to an auxiliary RAM 31 (AUX RAM) 31 and an error detection RAM 32 which, although having separate functions, can nevertheless be implemented selectable parts in a larger total RAM , The mapped address output signal 30 is also applied as an input signal to an address bit selection circuit 37 , which will be described below.

Nachfolgend wird der Hilfs-RAM 31 betrachtet. Seine Funkti­ on ist es, Datenstrukturen 33 und Adressen 34 beizubehal­ ten, die an das DUT angelegt werden können. Diese sind lo­ gisch getrennte Ausgangssignale von dem Hilfs-RAM 31, da dieselben etwas unterschiedlich behandelt werden und an un­ terschiedlichen Stellen verwendet werden. (Der Hilfs-RAM 31 ist kein "Dual-Port-Speicher", sondern besteht vorzugsweise aus mehreren Bänken, deren Ausgangssignale an Multiplexer angelegt werden.) Um dem zu entsprechen, kann es sein, daß gespeicherte Daten 33 in einer Bank oder einem Bereich von Adressen des Hilfs-RAM 31 gespeichert werden, während ge­ speicherte Adressen 34 in einem anderen gespeichert werden. Außerdem wurde kein expliziter Mechanismus zum Schreiben auf den Hilfs-RAM 31 gezeigt. Dies wird durch eine adres­ sierte Busoperation durchgeführt, die durch eine Testort­ steuerung 4 auf Befehl des Programms, die dieselbe aus­ führt, ausgelöst wird. Es gibt einen darunterliegenden "Versorgungsdienstleistungs-"Bus, der als "Ringbus" be­ zeichnet wird [der nicht gezeigt ist, da derselbe die Zeichnung enorm überhäufen würde], der zu fast allem in Fig. 2 führt).The auxiliary RAM 31 is considered below. Its function is to maintain data structures 33 and addresses 34 that can be applied to the DUT. These are logically separate output signals from the auxiliary RAM 31 , since they are treated somewhat differently and are used in different places. (The auxiliary RAM 31 is not a "dual port memory", but preferably consists of several banks, the output signals of which are applied to multiplexers.) To match this, stored data 33 may be in a bank or area of addresses of the auxiliary RAM 31 are stored, while stored addresses 34 are stored in another. In addition, no explicit mechanism for writing to the auxiliary RAM 31 has been shown. This is carried out by an addressed bus operation, which is triggered by a test location controller 4 at the command of the program, which executes the same. There is an underlying "utility service" bus, referred to as the "ring bus" (which is not shown since it would overwhelm the drawing enormously) which leads to almost everything in Figure 2).

Der Fehlererfassungs-RAM 32 wird durch die gleiche Adresse adressiert, die an den Hilfs-RAM 31 angelegt wird, und speichert Informationen über Fehler oder ruft diese ab, wo­ bei diese Operationen in Verbindung mit einer Nachdecodier­ schaltung durchgeführt werden, die nachfolgend erörtert wird. Wie bei den Wegen 33 und 34 von dem Hilfs-RAM 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.The error detection RAM 32 is addressed by the same address that is applied to the auxiliary RAM 31 and stores or retrieves information about errors where these operations are performed in conjunction with a post-decode circuit, which will be discussed below. As with paths 33 and 34 from the auxiliary RAM 31 , the paths 61 (in the fault detection RAM) and 62 (from the fault detection RAM) are preferably multiplexed outputs from multi-bank memory (the fault detection RAM 32 ) according to configuration information distributed through the ring bus (not shown).

Es ist anzumerken, daß der Daten-MUX 35 als Eingangssignale die gespeicherten Datenausgangssignale 33 von dem Hilfs-RAM 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, wel­ che dieser Eingangssignale (28, 32) als sein Ausgangssignal 38 dargestellt wird, das dann als eine der beiden Vektor­ komponenten an eine Sendevektorabbil­ der/Seriellumsetzer/Empfangsvektorvergleichsdatenschaltung 40 angelegt wird (die andere Komponente ist das Ausgangssi­ gnal 39 der Adreßbitauswahlschaltung 37.) Die Schaltung 40 kann drei Funktionen durchführen: Zusammensetzen von Vek­ torkomponenten (38, 39) in eine sortierte logische Darstel­ lung eines gesamten Vektors, der an das DUT angelegt (über­ tragen) werden soll, Anlegen einer beliebigen dynamischen Korrespondenz (Abbilden) zwischen den sortierten Bits der logischen Darstellung des Sendevektors und der tatsächli­ chen physikalischen Kanalanzahl der Pinelektronik (d. h. welche Sondenspitze) das DUT für dieses Signal (d. h. das Bit in dem Vektor) kontaktieren wird, und Kooperieren mit dem Compilierer bei der Unterteilung eines gesamten logi­ schen Vektors in Stücke, die getrennt und in Reihenfolge (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 entfernten Vektoren (46) werden an eine Zeitgebungs/Formatierungs- und Vergleichsschaltung 52 angelegt, die über das zugeordnete Beispiel der Pinelektronik 9 mit dem DUT verbunden ist.It should be noted that the data MUX 35 includes, as input signals, the stored data output signals 33 from the auxiliary RAM 31 , and also data 28 from the registers DH and DL in the collection 24 of ALUs. The data MUX 35 selects which of these input signals ( 28 , 32 ) is presented as its output signal 38 , which is then applied as one of the two vector components to a transmit vector map of the / serial converter / receive vector comparison data circuit 40 (the other component is the output si Signal 39 of the address bit selection circuit 37. ) The circuit 40 can perform three functions: assembling vector components ( 38 , 39 ) into a sorted logical representation of an entire vector which is to be applied to the DUT, applying any dynamic Correspondence (mapping) between the sorted bits of the logical representation of the transmit vector and the actual physical number of channels of the pin electronics (ie which probe tip) the DUT will contact for this signal (ie the bit in the vector) and cooperating with the compiler in the division of an entire logical vector into pieces that are separated and in rows sequence (serial conversion) should be created for DUTs that allow such a thing. Which of these functions is performed is determined by control signals from an SRAM 41 , which is also addressed according to a field in the 208-bit instruction that is fetched by the microcontroller sequences 19 . The output of circuit 40 is an up to 64-bit vector 44 which is applied to a vector FIFO 45 which, when full, generates signal VEC_FIFO_FULL 26 , the meaning and use of which has been discussed above. The vector at the top of the FIFO 45 vector is removed therefrom upon receipt of a VEC_FIFO_UNLOAD 47 signal generated at a period generator 49 (discussed below). Such remote vectors ( 46 ) are applied to a timing / formatting and comparison circuit 52 which is connected to the DUT via the associated example of pin electronics 9 .

Das heißt, jedes Beispiel der Pinelektronik 9 empfängt ge­ sendete und empfangene Vektoren 7 und Pinelektronikkonfigu­ rationsinformationen 8 von ihrer zugeordneten Zeitge­ bungs/Formatierungs- und Vergleichsschaltung 52.That is, each example of pin electronics 9 receives transmitted and received vectors 7 and pin electronics configuration information 8 from its associated timing / formatting and comparison circuit 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.The timing / formatting and comparison circuit 52 includes an internal SRAM 54 which is addressed by the same instruction address ("A" in the small circle) as the program RAM 20 of the microcontroller sequencer 19th (An external DRAM 53 can be used instead of the internal SRAM 54. ) The internal SRAM 54 (or external DRAM 53 ) supports the production of driver and comparison cycles. The driver cycles apply a send vector to the DUT. The comparison cycles receive a vector represented by the DUT and examine it to determine if it matches previously sent comparison data. Both the driver cycle and the comparison cycle can be set with regard to their duration, with regard to whether a load is applied or not, when it is applied and when data is temporarily stored or sampled. The comparison produces a 64-bit value 56 that is sent to a receive vector inverse / serializer 57 , the function of which can be viewed as the logic inverse of circuit 40 . (The operation of the circuit 57 is controlled by an SRAM 58 , which corresponds to the control of the circuit 40 by the SRAM 41. ) Thereafter, the output signal 59 of the circuit 57 is applied to the post-decoding circuit 60 . It is currently sufficient to say that the post-decoder circuit 60 can examine, via programmatic criteria, both incoming error information 59 and (previously) stored error information 60 (which is stored in the error detection RAM) in order to generate compressed and easier to interpret error information, which can then be saved back to error detection RAM 32 via path 61 . An example would be to generate a number of times an error occurred in a particular range of addresses, which information would be useful in deciding when to attempt to repair on-chip by activating spare circuits.

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 niit ÄI­ 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.The period generator 49 and its associated timing SRAM 51 will now be described. These respond to an eight bit signal T_SEL 43 on which for each 208-bit instruction that is call 19 abge by the microcontroller sequencer, a duration for the associated operation of the Timing / Formatting & Comparison circuit 52 agrees be. T_SEL 43 is an element of the various control values and instructions 42 , which are represented by the different fields in the called instruction. As an 8-bit value, it can represent or encode 265 different things. In this case, these "things" are 28-bit values stored in the timing SRAM 51 and addressed by T_SEL. Each addressed 28-bit value (23) specifies a desired duration NIIT ÄI ner 19, 5 picosecond resolution. The sequence of 28-bit duration values ( 23 ) to be accessed is stored in a period FIFO 50 , so that the individual elements of this sequence are recovered and synchronized when the intended corresponding vector stored in the vector FIFO 45 is retrieved be created.

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.A coarse timing value field in the oldest entry in the FIFO 50 transmits duration information with a resolution of 5 nanoseconds and generates a signal VEC_FIFO_UNLOAD 47 which transfers the next transmit vector from the vector FIFO 45 to the timing / formatting and comparison circuit 52 . An accompanying signal Zeitge bungsrest 48 is also applied to the circuit 52 . There the final resolution is carried out to 19.5 picoseconds.

Manche Speicher bestehen aus mehreren Speicherblöcken, die auf einem einzigen Chip reproduziert werden, um den Gesamt­ speicherraum in einer Speichervorrichtung zu bilden. Wie es oft der Fall ist, sind die reproduzierten Blöcke über ent­ weder eine vertikale oder eine horizontale Achse oder bei­ des Spiegelbilder voneinander, und diese reproduzierten Blöcke können weiter reproduziert werden. Oft ist es effi­ zient, einen einzelnen Test für einen der Speicherblöcke zu erstellen und ihn für die reproduzierten Blöcke zu wieder­ holen. Während das Testmuster für jeden Block relevant ist, ist es nicht möglich, einen einzelnen Test für all die Speicherblöcke lediglich neu zu verwenden, da die Speicher­ blöcke Bilder voneinander sind. Dementsprechend wirken sich die reproduzierten Blöcke auf einen Test für die Vorrich­ tung insofern aus, als die Adreßbits einer unterschiedli­ chen Sequenz für jeden Block folgen. Die unterschiedlichen Sequenzen stehen jedoch zueinander in Beziehung. Das Ver­ scramblungsmerkmal ermöglicht einem Testentwickler, Testmu­ ster für die verschiedenen Speicherblöcke durch Programmie­ ren lediglich einer Verscramblungsfunktion neu zu verwen­ den. Das Testmuster selbst wird neu verwendet, und die Verscramblungsfunktion, die algorithmisch von den Testmu­ sterprogrammanweisungen separat ist, führt Verwaltungsauf­ gaben durch, die mit dem Anpassen des Testmusters für jeden reproduzierten Speicherblock in Beziehung stehen. Manche Speicher sind auch in Seiten organisiert. Seiten werden un­ ter Verwendung bestimmter Teilsätze von Adreßbits adres­ siert. Die Verscramblungsfunktion wird durch ein Erlauben einer algorithmischen Steuerung bestimmter Bits separat von den anderen Adreßleitungen verstärkt und erlaubt daraufhin eine Substitution regulärer Adreßbits durch diejenigen Bits, die in die Verscramblungsfunktion eingegeben sind. Unter spezifischer Bezugnahme auf Fig. 3 der Zeichnungen ist eine Detailansicht auf mittlerer Ebene des in Fig. 2 der Zeichnungen gezeigten Adreßabbilders 29 gezeigt, bei dem XScramble- 302, YScramble- 304 und ZScramble- 306 Blöcke jeweils 16 Adreßbits von den Adresse-X-, Adresse-Y- und Adresse-Z-ALU-Registern 24 empfangen. Dementsprechend sind die in Fig. 2 als Bezugszeichen 27 gezeigten achtund­ vierzig (48) Adreßleitungen in drei (3) Gruppierungen von 16-Bit-Logikadreßleitungen in Fig. 3 unterteilt. Die XScramble-, YScramble- und ZScramble-Blöcke 302, 304, 306 empfangen ebenfalls Informationen, die in APG-Registern ih­ ren Ursprung haben. Die Programmierbarkeit der APG-Register liefert die Programmierbarkeitsmerkmale der Testerfunktio­ nen. Werte für jedes der APG-Register werden als Teil des zusammengetragenen Objektcodes in einem Testmuster gespei­ chert und heruntergeladen, um vor der Ausführung eines Testmusters Anfangswerte zu liefern. Es ist auch möglich, allerdings nicht so üblich, während der Ausführung eines Testmusters Werte in bestimmten der APG-Register zu ändern. In dem Tester liegt eine große Anzahl von APG-Registern vor, und nur diejenigen Register, die für die vorliegende Erfindung relevant sind, sind hierin offenbart. Die für den XScramble-Block 302 relevanten APG-Register umfassen ein APG_XSCR_JAM_MASK[0 : 15]-Register 308, ein APG_XSCR_JAM_ADDR[0 : 15]-Register 310, Bit 2 eines APG_XYZ_SCR_EN-Registers 312, ein APG_XSCR_Z_EN[0 : 7]- Register 314 und APG_XSCR_Z_BITS_L[0 : 15] & APG_XSCR_Z_BITS_U[0 : 15]-Register 316. Die für den YScram­ ble-Block 304 relevanten APG-Register umfassen ein APG_YSCR_JAM_MASK[0 : 15]-Register 318, ein APG_YSCR_JAM_ADDR[0 : 15]-Register 320, Bit 1 des APG_XYZ_SCR_EN-Registers 312, ein APG_YSCR_Z_EN[0 : 7]- Register 322 und ein APG_YSCR_Z_BITS_L[0 : 15]-&- APG_YSCR_Z_BITS_U[0 : 15]-Register 324. Die für den ZScram­ ble-Block 306 relevanten APG-Register umfassen ein APG_ZSCR_JAM_MASK[0 : 15]-Register 326 und APG_ZSCR_JAM_ADDR[0 : 15]-Register 328 und Bit 0 des APG_XYZ_SCR_EN-Registers 312. Die XScramble-, YScramble- und ZScramble-Blöcke 302, 304, 306 führen die Abbildungs­ funktion durch und geben drei (3) Sätze von tatsächlichen 16-Bit-Adreßinformationen 330 in eine programmierbare La­ tenzzeitlogik 332 aus. Die programmierbare Latenzzeitlogik 332 führt die Funktion durch, die es dem Testentwickler er­ möglicht, eine Latenzzeit zwischen Adreßinformationen, die an das DUT übergeben werden, und DUT-Sende- oder -Ansprechdateninformationen zu programmieren. Die program­ mierbare Latenzzeitlogik 332 gibt achtundvierzig (48) zy­ kluslatenzzeiteingestellte Adreßleitungen 334 aus, die in den Hilfs-RAM 31 eingegeben werden.Some memories consist of multiple memory blocks that are reproduced on a single chip to form the total memory space in a memory device. As is often the case, the reproduced blocks are over either a vertical or a horizontal axis or the mirror image of each other, and these reproduced blocks can be reproduced further. It is often efficient to create a single test for one of the memory blocks and to repeat it for the reproduced blocks. While the test pattern is relevant to each block, it is not possible to reuse a single test for all of the memory blocks because the memory blocks are images of each other. Accordingly, the reproduced blocks affect a test for the device in that the address bits follow a different sequence for each block. However, the different sequences are related to each other. The scrambling feature enables a test developer to reuse test patterns for the various memory blocks by programming only one scrambling function. The test pattern itself is reused, and the scrambling function, which is algorithmically separate from the test pattern program instructions, performs management tasks related to adjusting the test pattern for each block of memory being reproduced. Some memories are also organized in pages. Pages are addressed using certain subsets of address bits. The scrambling function is enhanced by allowing algorithmic control of certain bits separately from the other address lines, and then allows regular address bits to be substituted for those bits entered into the scrambling function. Referring specifically to Figure 3 of the drawings, a mid-level detail view of address mapper 29 shown in Figure 2 of the drawings is shown, in which XScramble- 302 , YScramble- 304 and ZScramble- 306 blocks each have 16 address bits from address-X- , Address-Y and Address-Z ALU registers 24 received. Accordingly, the forty-eight ( 48 ) address lines shown in FIG. 2 as reference number 27 are divided into three ( 3 ) groupings of 16-bit logic address lines in FIG. 3. The XScramble, YScramble and ZScramble blocks 302 , 304 , 306 also receive information that has their origin in APG registers. The programmability of the APG registers provides the programmability features of the tester functions. Values for each of the APG registers are stored and downloaded as part of the compiled object code in a test pattern to provide initial values prior to executing a test pattern. It is also possible, but not as common, to change values in certain of the APG registers while executing a test pattern. A large number of APG registers exist in the tester and only those registers relevant to the present invention are disclosed herein. The APG registers relevant to XScramble block 302 include an APG_XSCR_JAM_MASK [0:15] register 308 , an APG_XSCR_JAM_ADDR [0:15] register 310 , bit 2 of an APG_XYZ_SCR_EN register 312 , an APG_XSCR_Z] - Register 314 and APG_XSCR_Z_BITS_L [0:15] & APG_XSCR_Z_BITS_U [0:15] register 316 . The APG registers relevant for the YScramble block 304 comprise an APG_YSCR_JAM_MASK [0:15] register 318 , an APG_YSCR_JAM_ADDR [0:15] register 320 , bit 1 of the APG_XYZ_SCR_EN register 312 , an APG_YSCR_Z_EN [0 - Register 322 and an APG_YSCR_Z_BITS_L [0:15] - & - APG_YSCR_Z_BITS_U [0:15] register 324 . The APG registers relevant to the ZScramble block 306 include an APG_ZSCR_JAM_MASK [0:15] register 326 and APG_ZSCR_JAM_ADDR [0:15] register 328 and bit 0 of the APG_XYZ_SCR_EN register 312 . The XScramble, YScramble, and ZScramble blocks 302 , 304 , 306 perform the mapping function and output three ( 3 ) sets of actual 16-bit address information 330 into programmable latency logic 332 . Programmable latency logic 332 performs the function that enables the test developer to program a latency between address information passed to the DUT and DUT transmit or response data information. Programmable latency logic 332 outputs forty eight ( 48 ) cycle latency address lines 334 that are input to auxiliary RAM 31 .

Unter spezifischer Bezugnahme auf Fig. 4 der Zeichnungen ist ein ausführliches Blockdiagramm des XScramble-Blocks 302 gezeigt, bei dem z-Bit-Ersatz- und Störlogikstufen, ei­ ne Nachschlagtabelle und eine Deaktivierungsstufe zwischen dem Eingang und Ausgang des XScramble-Blocks 302 vorliegen. Die XScramble- und YScramble-Blöcke 302, 304 sind von ihrer Struktur her praktisch identisch. Um also Unnötiges zu ver­ meiden, ist für die Zwecke der Offenbarung der XScramble- und YScramble-Blöcke 302, 304 lediglich der XScramble-Block 302 gezeigt. Der Einfachheit der Ausführung halber beginnt die Diskussion mit Komponenten auf der linken Seite der Fig. 4 und geht dann nach rechts weiter.With specific reference to FIG. 4 of the drawings, there is shown a detailed block diagram of the XScramble block 302 , in which there are z-bit replacement and fault logic stages, a look-up table and a deactivation stage between the input and output of the XScramble block 302 . The XScramble and YScramble blocks 302 , 304 are practically identical in structure. In order to avoid the unnecessary, only the XScramble block 302 is shown for the purposes of the disclosure of the XScramble and YScramble blocks 302 , 304 . For simplicity of implementation, the discussion begins with components on the left side of FIG. 4 and then continues to the right.

Zu Nomenklaturzwecken werden die X-Adreßleitungen 27, die von dem AdreßX-ALU-Register 24 erhalten werden, als die Lo­ gik-X-Adreßleitungen 404 bezeichnet. Die z-Bit-Ersatzstufe ermöglicht es einem Testentwickler, bis zu acht (8) der höchstwertigen Logik-X-Adreßleitungen 404 durch bis zu acht (8) von beliebigen von sechzehn (16) Z-Adreßleitungen 402 zu ersetzen. Die X-, Y- und Z-Adreß-ALU 24 werden getrennt voneinander behandelt. Das Ermöglichen eines Bitersatzes mancher der X- oder Y-Adreßleitungen durch bis zu acht (8) der Z-Adreßleitungen liefert vorteilhafterweise eine unab­ hängige Behandlung der zwei (2) Teilsätze der Testerkanäle, die den x-Adreß- und y-Adreßleitungen zugeordnet sind. Es kann sein, daß der Testentwickler dieses Merkmal wünscht, um das Z-Adreß-ALU-Register 24 für eine Seitenadressierung in einem DUT 14 zu verwenden. Die acht (8) mindestwertigen Logik-X-Adreßbits 404b werden nicht durch die z- Bitersatzlogikstufe verarbeitet. Jedes der acht (8) höchstwertigen Logik-X-Adreßbits 404a, 404c wird durch je­ weilige z-Bitersatzlogikstufen verarbeitet. Unter Verwen­ dung des neunten tatsächlichen X-Adreßbits 404a als veran­ schaulichendes Beispiel werden alle sechzehn (16) der Lo­ gik-Z-Adreßbits 402 für eine Auswahl verfügbar und werden in einen 16x1-z-Auswählmultiplexer 406 eingegeben. Vier (4) in dem APG_XSCR_Z_BITS_L-Register 316 angeordnete Bits, im einzelnen APG_XSCR_Z_BITS_L[0 : 3]-Bits, werden als für das neunte tatsächliche X-Adreßbit 404a relevant zugeordnet. Die vier APG_XSCR_Z_BITS_L[0 : 3]-Bits wählen eines der sech­ zehn (16) verfügbaren Z Adreßbits 402 aus, die als ein Er­ satzbit 408 für das neunte tatsächliche X-Adreßbit 404a an dem Ausgang des z-Auswählmultiplexers 406 übergeben werden sollen. Das neunte tatsächliche X-Adreßbit 404a und der ausgewählte z-Bitersatz 408 werden in einen 2x1-z- Bitaktivierungsmultiplexer 410 eingegeben. Das Bit 2 des APG_XYZ_SCR_EN-Registers 312 aktiviert oder deaktiviert die Verscramblungsfunktion des XScramble-Blocks 302 unabhängig von den YScramble- und ZScramble-Blöcken 304, 306. Die YScramble- und ZScramble-Blöcke 304, 306 weisen jeweils ein eindeutiges Bit, APG_XYZ_SCR_EN[1]- bzw. APG_XYZ_SCR_EN[0]- Bits auf, die die Verscramblungsfunktion unabhängig von den anderen Verscramblungsblöcken aktivieren oder deaktivieren. Das APG_XSCR_Z_EN-Register 314 enthält ein Bit für jede der acht (8) oberen x-Adreßleitungen 404a(404c, das die z- Bitersatzfunktion für jede Leitung aktiviert oder deakti­ viert, und kann für jede der oberen x-Adreßleitungen 404a, 404c unabhängig eingestellt sein. Bei dem offenbarten Aus­ führungsbeispiel ist es dem APG_XSCR_Z_EN[8]-Bit zugewie­ sen, einen z-Bitersatz für die neunte tatsächliche X- Adreßleitung 404a zu aktivieren oder deaktivieren. Eine Verknüpfung des neunten Bits, das in dem APG_XSCR_Z_EN- Register 314 seinen Ursprung hat (d. h. des APG_XSCR_Z_EN[8]-Bits) und des APG_XYZ_SCR_EN[2]-Bits 312 wählt entweder das neunte tatsächliche X-Adreßbit 404a oder den z-Bitersatz 408 aus, um als die Ausgabe 408 des z- Bitaktivierungsmultiplexers 410 übergeben zu werden. Die Verknüpfungsoperation deaktiviert die z-Bitersatzfunktion, wenn die Verscramblungsfunktion für den Block 302 umgangen wird. Dementsprechend müssen das Bit 2 des APG_XYZ_SCR_EN- Registers 312 und das achte Bit des APG_XSCR_Z_EN-Registers 314 wahr eingestellt sein, damit die z-Bitersatzfunktion arbeiten kann. Wenn eines der beiden Aktivierungsbits von den Registern 314 und 312 falsch eingestellt ist, wird das Logik-x-Adreßbits 404a an dem Ausgang des z- Bitaktivierungsmultiplexers 410 übergeben. Jeder verschie­ denen z-Bitersatzstufe sind eindeutige vier (4) Bits von den APG_XSCR_Z_BITS L- und APG_XSCR_Z_BITS_U-Registern 316 sowie ein eindeutiges und jeweiliges Bit in dem APG_XSCR_Z_EN-Register 314 zugeordnet. Dementsprechend kann die z-Bitersatzfunktion für jedes der acht (8) höchstwerti­ gen Bits der Logik-X-Adreßleitungen 404a, 404c programmiert werden. Der kollektive Ausgang der z-Bitersatzlogikstufe wird als die z-ausgewählten-X-Adreßleitungen 412 bezeich­ net. For nomenclature purposes, the X address lines 27 obtained from the address X ALU register 24 are referred to as the logic X address lines 404 . The z-bit replacement stage enables a test developer to replace up to eight ( 8 ) of the most significant logic X address lines 404 with up to eight ( 8 ) of any of sixteen ( 16 ) Z address lines 402 . The X, Y and Z address ALU 24 are handled separately. Enabling bit replacement of some of the X or Y address lines by up to eight ( 8 ) of the Z address lines advantageously provides independent treatment of the two ( 2 ) subsets of the tester channels associated with the x address and y address lines , The test developer may want this feature to use the Z address ALU register 24 for page addressing in a DUT 14 . The mindestwertigen eight (8) logic X-address bits 404 are not processed by the z Bitersatzlogikstufe b. Each of the eight ( 8 ) most significant logic X address bits 404 a, 404 c is processed by respective z-bit replacement logic stages. Under USAGE 404 dung of the ninth actual X-address bits A as veran illustrative example, all sixteen (16) of the Lo-Z gik address bits 402 available for selection and are input to a 16x1-z Auswählmultiplexer 406th Four ( 4 ) bits arranged in the APG_XSCR_Z_BITS_L register 316 , in particular APG_XSCR_Z_BITS_L [0: 3] bits, are assigned as relevant for the ninth actual X address bit 404 a. The four APG_XSCR_Z_BITS_L [0: 3] bits select one of the six ten ( 16 ) available Z address bits 402 , which are to be transferred as a replacement bit 408 for the ninth actual X address bit 404 a at the output of the z-select multiplexer 406 , The ninth actual X address bit 404 a and the selected z bit set 408 are input to a 2x1 z bit activation multiplexer 410 . Bit 2 of the APG_XYZ_SCR_EN register 312 activates or deactivates the scrambling function of the XScramble block 302 independently of the YScramble and ZScramble blocks 304 , 306 . The YScramble and ZScramble blocks 304 , 306 each have a unique bit, APG_XYZ_SCR_EN [1] and APG_XYZ_SCR_EN [0] bits, respectively, which activate or deactivate the scrambling function independently of the other scrambling blocks. The APG_XSCR_Z_EN register 314 contains one bit for each of the eight ( 8 ) upper x-address lines 404 a (404c, which activates or deactivates the z-bit replacement function for each line, and can for each of the upper x-address lines 404 a, 404 c In the disclosed exemplary embodiment, the APG_XSCR_Z_EN [8] bit is assigned to activate or deactivate a z-bit replacement for the ninth actual X address line 404 a, a combination of the ninth bit that is in the APG_XSCR_Z_EN - Register 314 has its origin (ie the APG_XSCR_Z_EN [8] bit) and the APG_XYZ_SCR_EN [2] bit 312 selects either the ninth actual X address bit 404 a or the z bit set 408 to be used as the output 408 of the z Bit enable multiplexer 410. The join operation disables the z-bit replacement function if the scrambling function for block 302 is bypassed. Accordingly, bit 2 of the APG_XYZ_SCR_EN register 312 and the eighth bit of the APG_XSCR_Z_EN register 314 is set true so that the z-bit replacement function can operate. If one of the two activation bits is incorrectly set by the registers 314 and 312 , the logic x address bits 404 a are transferred to the output of the z-bit activation multiplexer 410 . Each different z-bit replacement level is assigned unique four ( 4 ) bits from the APG_XSCR_Z_BITS L and APG_XSCR_Z_BITS_U registers 316 and a unique and respective bit in the APG_XSCR_Z_EN register 314 . Accordingly, the z-bit replacement function can be programmed for each of the eight ( 8 ) most significant bits of the logic X address lines 404 a, 404 c. The collective output of the z-bit replacement logic stage is referred to as the z-selected-X address lines 412 .

Die XScramble-, YScramble- und ZScramble-Blöcke 302, 304, 306 enthalten alle die Störlogikstufe. Dementsprechend ist die vorliegende Diskussion für alle Verscramblungsblöcke relevant, wobei lediglich der XScramble-Block 302 hierin ausführlich beschrieben ist. Die Störlogikstufe weist einen 2x1-Störmultiplexer 414 für jedes Bit der mindestwertigen acht (8) Bits von Logik-X-Adreßleitungen 404b und für jedes Bit der höchstwertigen z-ausgewählten-X-Adreßleitungen 412 auf. Die Störstufe erlaubt ein Aufheben der Bitwerte, die als die Logik-X-Adresse 404b oder die z-Ausgewählte-X- Adresse 412 übergeben werden, durch einen festgelegten pro­ grammierten Wert. Entsprechende Bitpositionen in dem APG_XSCR_JAM_MASK- 308 und dem APG_XSCR_JAM_ADDR-Register 310 entsprechen einer jeweiligen Bitposition in den Logik- und z-ausgewählten-X-Adreßleitungen 404, 412. Die Bits in dem APG_XSCR_JAM_ADDR-Register 310 werden an den Störmulti­ plexer 414 als Eingabe übergeben. Die andere Eingabe ist eines der Bits von den Logik- oder z-ausgewählten-X- Adreßleitungen 404b, 412. Ein Bit in dem APG_XSCR_JAM_MASK- Register 308, das dem jeweiligen Bit in der X-Adreßleitung entspricht, wählt entweder die Logik-/z-ausgewählte-X- Adreßleitung 404b, 412 oder den Bitwert aus, der in dem APG_XSCR_JAN_MASK-Register 310 programmiert ist, um als die Ausgabe des Störmultiplexers 414 übergeben zu werden. Jeder Störstufe ist ein eindeutiges der Bits in dem APG_XSCR_JAN_ADDR- und APG_XSCR_JAN_MASK-Register 308, 310 zugeordnet. Dementsprechend kann die Störfunktion separat für jede der sechzehn X-Adreßleitungen 404 programmiert sein. Der kollektive Ausgang der Störlogikstufe wird als die effektiven X-Adreßleitungen 416 bezeichnet.The XScramble, YScramble and ZScramble blocks 302 , 304 , 306 all contain the fault logic level. Accordingly, the present discussion is relevant to all scrambling blocks, with only XScramble block 302 being described in detail herein. The interference logic stage has a 2x1 interference multiplexer 414 for each bit of the least significant eight ( 8 ) bits of logic X address lines 404 b and for each bit of the most significant z selected X address lines 412 . The interference level allows the bit values, which are transferred as the logic X address 404 b or the z-selected X address 412, to be canceled by a defined programmed value. Corresponding bit positions in the APG_XSCR_JAM_MASK- 308 and the APG_XSCR_JAM_ADDR register 310 correspond to a respective bit position in the logic and z-selected-X address lines 404 , 412 . The bits in the APG_XSCR_JAM_ADDR register 310 are passed to the fault multiplexer 414 as input. The other input is one of the bits of the logic or z-selected X address lines 404-b, 412th A bit in the APG_XSCR_JAM_MASK- register 308 corresponding to the respective bit in the X-address line selects either the logic / z-selected X address line 404-b, 412, or the bit value of the program in the register 310 APG_XSCR_JAN_MASK to be passed as the output of the noise multiplexer 414 . Each fault level is assigned a unique one of the bits in the APG_XSCR_JAN_ADDR and APG_XSCR_JAN_MASK registers 308 , 310 . Accordingly, the spurious function may be programmed separately for each of the sixteen X address lines 404 . The collective output of the spurious logic stage is referred to as the effective X address lines 416 .

Die effektiven X-Adreßleitungen 416 adressieren ein XScram­ ble-RAM 418. Das XScramble-RAM 418 ist ein 64K-Wort-Mal-16- Bit-Speicher, der eine Nachschlagtabelle für die Abbil­ dungsfunktion gemäß der Konvention liefert. Die effektiven X-Adreßleitungen 416 adressieren eines der 64K-Worte, und das Wort, das adressiert wird, wird als die abgebildeten X- Adreßleitungen 420 übergeben. Der XScramble-RAM 418 wird vor der Ausführung des Testmusters mit geeigneten Abbil­ dungswerten programmiert und wird zur gleichen Zeit wie die APG-Register 308-328 programmiert.The effective X address lines 416 address an XScramble RAM 418 . The XScramble RAM 418 is a 64K word by 16 bit memory that provides a lookup table for the mapping function according to the convention. Effective X address lines 416 address one of the 64K words, and the word being addressed is passed as the mapped X address lines 420 . The XScramble RAM 418 is programmed with appropriate mapping values prior to executing the test pattern and is programmed at the same time as the APG registers 308-328 .

Die Deaktivierungsstufe wird durch geeignetes Programmieren der Bits 0-2 des APG_XYZ_SCR_EN-Registers 312 implemen­ tiert. Der Testentwickler kann die gesamte Abbildungsfunk­ tion für einen oder alle der XScramble-, YScramble- und ZScramble-Blöcke 302, 304, 306 programmatisch deaktivieren. Jedes der drei (3) Bits entspricht den XScramble-, YScram­ ble- bzw. ZScramble-Blöcken 302, 304 bzw. 306. Die effekti­ ven X-Adreßleitungen 406 dienen als Zuleitung für zwei se­ parate Pfade in dem XScramble-Block 302. Ein Pfad der ef­ fektiven X-Adreßleitungen 416 adressiert den XScramble-RAN 418. Der andere Pfad der effektiven X-Adreßleitungen 416 umgeht den XScramble-RAM 418 und wird in eine Verscramb­ lungsaktivierungsstufe 422 eingegeben.The deactivation stage is implemented by suitably programming bits 0-2 of the APG_XYZ_SCR_EN register 312 . The test developer can programmatically disable the entire mapping function for one or all of the XScramble, YScramble and ZScramble blocks 302 , 304 , 306 . Each of the three ( 3 ) bits corresponds to the XScramble, YScram ble, and ZScramble blocks 302 , 304, and 306 , respectively. The effective X address lines 406 serve as a feed line for two separate paths in the XScramble block 302 . A path of the effective X address lines 416 addresses the XScramble RAN 418 . The other path of the effective X address lines 416 bypasses the XScramble RAM 418 and is input to a scramble activation stage 422 .

Die Verscramblungsaktivierungseinrichtung 422 ist ein 2 × 1- Multiplexer mit sechzehn Kanälen, der die abgebildeten X- Adreßleitungen 420 von dem XScramble-RAM 418 und die effek­ tiven X-Adreßleitungen 416 von den Störmultiplexern 414 an­ nimmt. Das Bit 2 des APG_XYZ_SCR_EN-Registers 312 bewirkt, daß die Verscramblungsaktivierungseinrichtung 422 entweder die abgebildeten X-Adreßleitungen 420 oder die effektiven X-Adreßleitungen 404 auswählt, um als die Ausgabe 326 des XScramble-Blocks 302 übergeben zu werden. Das Bit 1 des APG_XYZ_SCR_EN-Registers 312 steuert die YScramble- Aktivierungseinrichtung, und das Bit 0 des APG_XYZ_SCR_EN- Registers 312 steuert die ZScramble-Aktivierungseinrichtung auf ähnliche Weise.The scrambling activator 422 is a 16 channel 2x1 multiplexer that takes the mapped X address lines 420 from the XScramble RAM 418 and the effective X address lines 416 from the noise multiplexers 414 . Bit 2 of the APG_XYZ_SCR_EN register 312 causes the scramble activator 422 to select either the mapped X address lines 420 or the effective X address lines 404 to be passed as the output 326 of the XScramble block 302 . Bit 1 of the APG_XYZ_SCR_EN register 312 controls the YScramble activator, and bit 0 of the APG_XYZ_SCR_EN register 312 controls the ZScramble activator in a similar manner.

Unter spezifischer Bezugnahme auf Fig. 5 der Zeichnungen ist ein Blockdiagramm des ZScramble-Blocks 306 gemäß den Lehren der vorliegenden Erfindung gezeigt. Wie zuvor er­ wähnt wurde, umfaßt der ZScramble-Block 306 nicht die z- Bitersatzlogikstufe, sondern umfaßt die Störlogikstufe. Die Logik-Z-Adreßleitungen 402 und der Inhalt des APG_ZSCR_JAM_ADDR-Registers 328 werden in sechzehn (16) 2 × 1-Störmultiplexer 502 eingegeben. Das APG_ZSCR_JAM_MASK- Register 326 wählt zwischen den beiden Werten für jedes Bit aus, um effektive Z-Adreßleitungen 504 zu erzeugen. Die ef­ fektiven z-Adreßleitungen 504 adressieren einen ZScramble- RAM 506, um auf Speicherplätze in dem ZScramble-RAM 506 zu­ zugreifen, die zu den abgebildeten z-Adreßleitungen 508 werden. Die abgebildeten z-Adreßleitungen 508 werden in ei­ ne 2 × 1-Verscramblungsaktivierungseinrichtung 510 mit sech­ zehn (16) Kanälen eingegeben. Die effektiven z- Adreßleitungen 508 werden ebenfalls in die 2 × l- Verscramblungsaktivierungseinrichtung 510 mit sechzehn (16) Kanälen eingegeben. Das Bit, das dem ZScramble-Block 306 in dem APG_XYZ_SCR_EN-Register 312 zugeordnet ist, d. h. das APG_XYZ_SCR_EN[0]-Bit, wählt die effektiven Z- Adreßleitungen 504 oder die abgebildeten Z-Adreßleitungen 508 aus, um als die tatsächlichen Adreßinformationen 330 an dem Ausgang des ZScramble-Blocks 306 übergeben zu werden.Referring specifically to FIG. 5 of the drawings, a block diagram of ZScramble block 306 in accordance with the teachings of the present invention is shown. As previously mentioned, the ZScramble block 306 does not include the z-bit replacement logic level, but includes the noise logic level. The logic Z address lines 402 and the contents of the APG_ZSCR_JAM_ADDR register 328 are input to sixteen ( 16 ) 2x1 interference multiplexers 502 . The APG_ZSCR_JAM_MASK register 326 selects between the two values for each bit to create effective Z address lines 504 . The effective z address lines 504 address a ZScramble RAM 506 to access memory locations in the ZScramble RAM 506 which become the mapped z address lines 508 . The mapped z address lines 508 are input to a 2x1 ( six ) ( 16 ) channel scramble activator 510 . The effective z address lines 508 are also input to the 2x1 scramble activator 510 with sixteen ( 16 ) channels. The bit associated with the ZScramble block 306 in the APG_XYZ_SCR_EN register 312, that is, the APG_XYZ_SCR_EN [0] bit, selects the effective Z address lines 504 or the mapped Z address lines 508 to be the actual address information 330 to be passed to the output of ZScramble block 306 .

Claims (20)

1. Vorrichtung zum Verwalten von Adreßkanälen in einem Speichertester, die folgende Merkmale aufweist:
ein oder mehr Adreßregister (24), die eine Mehrzahl von logischen Adreßbits (27) speichern;
eine Mehrzahl von Ersatzbits (408), wobei jedes Er­ satzbit einem der logischen Adreßbits entspricht;
einen Bitselektor (410) für jede Kombination aus einem logischen Adreßbit und einem Ersatzbit, wobei jeder Bitselektor entweder das logische Adreßbit oder das Ersatzbit unabhängig auswählt, und wobei ein kollekti­ ver Ausgang der Bitselektoren eine effektive Adresse (416) ist; und
einen Vektorprozessor (40) zum Anwenden der effektiven Adresse in dem Tester.
1. Device for managing address channels in a memory tester, which has the following features:
one or more address registers ( 24 ) storing a plurality of logical address bits ( 27 );
a plurality of spare bits ( 408 ), each spare bit corresponding to one of the logical address bits;
a bit selector ( 410 ) for each combination of a logical address bit and a spare bit, each bit selector independently selecting either the logical address bit or the spare bit, and wherein a collective output of the bit selectors is an effective address ( 416 ); and
a vector processor ( 40 ) for applying the effective address in the tester.
2. Vorrichtung gemäß Anspruch 1, die ferner einen Spei­ cher (418) aufweist, auf den unter Verwendung der ef­ fektiven Adresse (416) zugegriffen wird.2. The apparatus of claim 1, further comprising a memory ( 418 ) accessed using the effective address ( 416 ). 3. Vorrichtung gemäß Anspruch 1 oder 2, die ferner fol­ gendes Merkmal aufweist:
ein Ersatzregister (24), wobei das Ersatzregister eine Mehrzahl von verfügbaren Bits (402) speichert, die an eine Mehrzahl von Ersatzbitselektoren (406) übergeben werden, wobei jeder der Ersatzbitselektoren jedem in der jeweiligen Mehrzahl der Ersatzbits (408) ent­ spricht, und wobei jeder Ersatzselektor eines der Mehrzahl von verfügbaren Bits auswählt, um jedes der Ersatzbits zu erzeugen.
3. Apparatus according to claim 1 or 2, further comprising the fol lowing feature:
a spare register ( 24 ), the spare register storing a plurality of available bits ( 402 ) that are passed to a plurality of spare bit selectors ( 406 ), each of the spare bit selectors corresponding to each of the respective plurality of spare bits ( 408 ), and wherein each replacement selector selects one of the plurality of available bits to generate each of the replacement bits.
4. Vorrichtung gemäß einem der Ansprüche 1 bis 3, bei der ein oder mehr Zweitadreßregister (24) die Mehrzahl von verfügbaren Bits (402) speichern.4. The device according to one of claims 1 to 3, wherein one or more second address registers ( 24 ) store the plurality of available bits ( 402 ). 5. Vorrichtung gemäß einem der Ansprüche 1 bis 4, bei der der Inhalt des einen oder der mehreren Adreßregister algorithmisch erzeugt wird.5. Device according to one of claims 1 to 4, in which the content of the one or more address registers is generated algorithmically. 6. Vorrichtung gemäß Anspruch 4, bei der der Inhalt des einen oder der mehreren Zweitadreßregister (24) algo­ rithmisch erzeugt wird.6. The device according to claim 4, wherein the content of the one or more second address register ( 24 ) is generated algo rithmisch. 7. Vorrichtung gemäß einem der Ansprüche 3 bis 6, bei der jeder Ersatzselektor mit einem Wert zum Spezifizieren, welches der verfügbaren Bits (402) ausgewählt wird, adressiert wird.7. The device according to one of claims 3 to 6, wherein each substitute selector is addressed with a value for specifying which of the available bits ( 402 ) is selected. 8. Vorrichtung gemäß Anspruch 7, bei der jeder Wert zum Spezifizieren, welches der verfügbaren Bits (402) aus­ gewählt wird, in einem oder mehr Auswahlsteuerregi­ stern (316) gespeichert ist.8. The apparatus of claim 7, wherein each value for specifying which of the available bits ( 402 ) is selected is stored in one or more selection control registers ( 316 ). 9. Vorrichtung gemäß Anspruch 8, bei der das eine oder die mehreren Auswahlsteuerregister (316) programmier­ bar sind.9. The apparatus of claim 8, wherein the one or more selection control registers ( 316 ) are programmable. 10. Vorrichtung gemäß Anspruch 8 oder 9, bei der die Aus­ wahlsteuerregister (316) unabhängig voneinander pro­ grammierbar sind.10. The apparatus of claim 8 or 9, wherein the selection control register ( 316 ) are independently programmable. 11. Vorrichtung gemäß einem der Ansprüche 1 bis 10, bei der der Bitselektor (410) deaktiviert sein kann.11. The device according to one of claims 1 to 10, wherein the bit selector ( 410 ) can be deactivated. 12. Verfahren zum Verwalten von Adreßkanälen in einem Speichertester, das folgende Schritte aufweist:
Übergeben einer Mehrzahl von logischen Adreßbits (27) an eine entsprechende Mehrzahl von Bitselektoren (410) mit einem logische Adreßbit pro Bitselektor;
Übergeben eines Ersatzbits (408) pro Bitselektor;
Auswählen entweder des logischen Adreßbits oder des Ersatzbits, wobei ein kollektiver Ausgang der Bitse­ lektoren eine effektive Adresse (416) ist; und
Adressieren eines Speichers (418) mit der effektiven Adresse.
12. A method for managing address channels in a memory tester, comprising the following steps:
Passing a plurality of logical address bits ( 27 ) to a corresponding plurality of bit selectors ( 410 ) with one logical address bit per bit selector;
Passing a spare bit ( 408 ) per bit selector;
Selecting either the logical address bit or the spare bit, wherein a collective output of the bit selectors is an effective address ( 416 ); and
Addressing a memory ( 418 ) with the effective address.
13. Verfahren gemäß Anspruch 12, das ferner folgende Schritte aufweist:
Bereitstellen einer willkürlichen Mehrzahl von verfüg­ baren Bits (402); und
Auswählen jedes der Ersatzbits (408) aus der willkür­ lichen Mehrzahl von Ersatzbits.
13. The method of claim 12, further comprising the steps of:
Providing an arbitrary plurality of available bits ( 402 ); and
Selecting each of the spare bits ( 408 ) from the arbitrary plurality of spare bits.
14. Verfahren gemäß Anspruch 13, bei dem der Schritt des Auswählens jedes der Ersatzbits (408) ein Programmie­ ren eines Auswahlsteuerregisters (316) mit einem Wert, der dem Ersatzbit entspricht, aufweist.The method of claim 13, wherein the step of selecting each of the spare bits ( 408 ) comprises programming a selection control register ( 316 ) with a value corresponding to the spare bit. 15. Verfahren gemäß Anspruch 14, bei dem der Schritt des Programmierens des Auswahlsteuerregisters (316) ferner einen Schritt des Zuweisens von einem oder mehreren eindeutigen Bits in einem oder mehreren Auswahlsteuer­ registern, um jedes der Ersatzbits (408) aus der Mehr­ zahl von verfügbaren Bits (402) unabhängig auszuwäh­ len, umfaßt.The method of claim 14, wherein the step of programming the selection control register ( 316 ) further includes a step of assigning one or more unique bits in one or more selection controls to each of the spare bits ( 408 ) from the plurality of available bits ( 402 ) to be selected independently. 16. Vorrichtung zum Verwalten von Adressen in einem Spei­ chertester, die folgende Merkmale aufweist:
eine Erstadreßquelle, die eine Mehrzahl von Erstadreß­ bits aufweist;
eine Ersatzadreßquelle, die eine Mehrzahl von Ersatz­ bits (408) aufweist;
einen Selektor, der unabhängig eines oder mehrere der Ersatzbits auswählt, um eines oder mehrere der Erst­ adreßbits zu ersetzen, um ein abgebildetes Adreßwort zu erzeugen; und
einen Vektorprozessor zum Anlegen von Signalen an ein DUT gemäß dem abgebildeten Adreßwort.
16. Device for managing addresses in a memory tester, which has the following features:
a first address source having a plurality of first address bits;
a spare address source having a plurality of spare bits ( 408 );
a selector that independently selects one or more of the spare bits to replace one or more of the first address bits to generate a mapped address word; and
a vector processor for applying signals to a DUT according to the mapped address word.
17. Vorrichtung gemäß Anspruch 16, die ferner eine Zweit­ adreßquelle aufweist, die eine Mehrzahl von Zweit­ adreßbits aufweist, und bei der der Selektor unabhän­ gig ein oder mehrere der Ersatzbits (408) auswählt, um das eine oder die mehreren der Zweitadreßbits zu er­ setzen.17. The apparatus of claim 16, further comprising a second address source having a plurality of second address bits, and wherein the selector independently selects one or more of the spare bits ( 408 ) to set the one or more of the second address bits , 18. Vorrichtung gemäß Anspruch 16 oder 17, die ferner ei­ nen Speicher (418) aufweist, der unter Verwendung ei­ ner Kombination der Erstadreßbits und der Ersatzbits (408) adressiert wird, um ein abgebildetes Adreßwort zu erzeugen.18. The apparatus of claim 16 or 17, further comprising a memory ( 418 ) that is addressed using a combination of the first address bits and the spare bits ( 408 ) to generate a mapped address word. 19. Vorrichtung gemäß einem der Ansprüche 16 bis 18, die ferner eine Deaktivierungsstufe aufweist, um die Aus­ wahl des einen oder der mehreren Ersatzbits (408), um eines oder mehrere der Erstadreßbits zu ersetzen, zu verhindern.19. The apparatus of one of claims 16 to 18, further comprising a deactivation stage to prevent selection of the one or more replacement bits ( 408 ) to replace one or more of the first address bits. 20. Vorrichtung gemäß einem der Ansprüche 16 bis 19, die ferner eine Störstufe aufweist, um die Auswahl des oder der mehreren Ersatzbits (408) mit einer Stör­ adresse aufzuheben.20. Device according to one of claims 16 to 19, further comprising an interference stage in order to cancel the selection of the one or more replacement bits ( 408 ) with an interference address.
DE10144645A 2000-09-11 2001-09-11 Device for manipulating address information in a memory tester controls address channels in the memory tester with address registers storing logical address bits, replacement bits, a bit selector and a vector processor. Withdrawn DE10144645A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US65919500A 2000-09-11 2000-09-11

Publications (1)

Publication Number Publication Date
DE10144645A1 true DE10144645A1 (en) 2002-04-25

Family

ID=24644441

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10144645A Withdrawn DE10144645A1 (en) 2000-09-11 2001-09-11 Device for manipulating address information in a memory tester controls address channels in the memory tester with address registers storing logical address bits, replacement bits, a bit selector and a vector processor.

Country Status (4)

Country Link
JP (1) JP2002163898A (en)
KR (1) KR20020020862A (en)
DE (1) DE10144645A1 (en)
IT (1) ITRM20010549A1 (en)

Also Published As

Publication number Publication date
JP2002163898A (en) 2002-06-07
ITRM20010549A1 (en) 2003-03-11
KR20020020862A (en) 2002-03-16
ITRM20010549A0 (en) 2001-09-11

Similar Documents

Publication Publication Date Title
DE60111324T2 (en) Error memory RAM of a memory tester with size and speed configurable SDRAM memory units
DE60219990T2 (en) Memory test circuit
DE60001913T2 (en) PATTERN GENERATOR FOR A TEST DEVICE OF PACKAGE-BASED STORAGE
DE10147910A1 (en) Method for testing a memory device under test on a memory tester applies the same sequence of transmission vectors to a memory under test and to a main memory within the memory tester comparing sample test data for both.
DE60220511T2 (en) METHOD AND SYSTEM FOR OPTIMIZING TEST COSTS AND DEACTIVATION DEFECTS FOR SCAN AND BIST MEMORY
DE10217303A1 (en) Algorithmically programmable memory tester with breakpoint trigger, error blocking and oscilloscope mode, which stores target sequences
DE60017927T2 (en) BUILT-IN SYSTEM FOR ANALYSIS OF THE EXCHANGE OF FREE LINES AND COLUMNS FOR INTEGRATED MEMORY
DE60023882T2 (en) System on a chip with reprogrammable tester, debugger and bus monitor
DE60030480T2 (en) DEVICE AND METHOD FOR THE SELECTIVE COMPRESSION OF TEST RESULTS
DE60102164T2 (en) SYSTEM INITIALIZATION OF A MICROCODE-BASED BUILT-IN MEMORY SELF-TEST
DE69628034T2 (en) HIGH IMPEDANCE MODE FOR JTAG
DE112019005121T5 (en) TEST SYSTEMS FOR EXECUTING SELF-TESTS IN AUTOMOBILE PLATFORMS IN USE
DE19639972B4 (en) High speed test circuit for a semiconductor memory device
DE10153753B4 (en) Memory tester fails to program addresses in detected bad columns
DE60010614T2 (en) On-line testing of the programmable interconnect network in a field programmable gate array
DE102011053359A1 (en) Latch-based storage device
DE19814415A1 (en) Logic analysis subsystem in a time slice emulator
DE19627820A1 (en) Memory tester
DE102005026403B4 (en) A method of providing sample patterns to an electronic device
DE102004012279B3 (en) Self-testing method for memories embedded in semicomnductor chip using memory self-testing control with memory self-testing register for storing memory test configuration data
DE10153665A1 (en) Memory tester for enhanced re-decoding, involves applying mask on data result without previous storage of test result
DE19743707A1 (en) Large capacity memory tester for flash-memory
DE10226585C1 (en) Random-access memory circuit with in-built testing aid for rapid parallel testing of all memory banks
DE19522335A1 (en) Setting input and output base addresses for jump free configurations
DE10226948A1 (en) Device and method for a built-in random sample self-check

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal