ITRM20010549A1 - METHOD AND APPARATUS FOR HANDLING THE ADDRESS INFORMATION IN A MEMORY TESTING DEVICE. - Google Patents

METHOD AND APPARATUS FOR HANDLING THE ADDRESS INFORMATION IN A MEMORY TESTING DEVICE. Download PDF

Info

Publication number
ITRM20010549A1
ITRM20010549A1 IT2001RM000549A ITRM20010549A ITRM20010549A1 IT RM20010549 A1 ITRM20010549 A1 IT RM20010549A1 IT 2001RM000549 A IT2001RM000549 A IT 2001RM000549A IT RM20010549 A ITRM20010549 A IT RM20010549A IT RM20010549 A1 ITRM20010549 A1 IT RM20010549A1
Authority
IT
Italy
Prior art keywords
address
test
bit
bits
memory
Prior art date
Application number
IT2001RM000549A
Other languages
Italian (it)
Inventor
Alan S Krech Jr
John M Freeseman
Stephen D Jordan
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 ITRM20010549A0 publication Critical patent/ITRM20010549A0/en
Publication of ITRM20010549A1 publication Critical patent/ITRM20010549A1/en

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

Descrizione dell'invenzione industriale dal titolo "METODO ED APPARECCHIO PER MANIPOLARE L'INFORMAZIONE DI INDIRIZZO IN UN DISPOSITIVO DI COLLAUDO DI MEMORIA" Description of the industrial invention entitled "METHOD AND APPARATUS FOR HANDLING THE ADDRESS INFORMATION IN A MEMORY TESTING DEVICE"

DESCRIZIONE DESCRIPTION

Fondamento Foundation

I dispostivi elettronici e le loro capacità sono cresciute enormemente in comune nella vita odierna. Assieme agli elaboratori personali nel campo domestico, molti individui trasportano più di uno strumento di produttività per scopi vari e diversi. La maggior parte dei dispostivi elettronici personali di produttività includono qualche forma di memoria non volatile. I telefoni cellulari utilizzando una memoria non volatile allo scopo di memorizzare e mantenere i numeri telefonici e le configurazioni programmate dall'utilizzatore quando viene disattivata l'alimentazione. Le schede PCMCIA utilizzano una memoria non volatile per memorizzare e mantenere l'informazione anche quando la scheda vene rimossa dalla sua fenditura nell'elaboratore. Molti altri dispositivi elettronici comuni beneficiano anche della capacità di memorizzazione di lungo termine della memoria non volatile negli assiemi senza alimentazione . Electronic devices and their capabilities have grown enormously in common in today's life. Along with personal computers in the home field, many individuals carry more than one productivity tool for various and different purposes. Most personal electronic productivity devices include some form of non-volatile memory. Cell phones use non-volatile memory for the purpose of storing and maintaining telephone numbers and configurations programmed by the user when the power is turned off. PCMCIA cards use non-volatile memory to store and maintain information even when the card is removed from its slot in the computer. Many other common electronic devices also benefit from the long-term storage capability of non-volatile memory in unpowered assemblies.

I costruttori di memorie non volatili che vendono ai costruttori di dispositivi elettronici richiedono dispositivi di collaudo per esercitare e verificare il funzionamento apportato delle memorie che essi producono. A causa del volume delle memorie non volatili che vengono costruite e vendite a prezzi decisamente bassi è molto importante rendere minimo il tempo che è necessario per collaudare una singola parte. Gli acquisitori di memoria non volatili richiedono ai costruttori di memorie di fornire alte rese di spedizione a causa dei risparmi di costo associati alla pratica di incorporare i dispostivi di memoria in assiemi più costosi con un collaudo minimo o addirittura senza collaudo. Di conseguenza il procedimento di collaudo di memoria deve essere sufficientemente efficace per identificare una grande percentuale di parti non conformi e preferibilmente di tutte le parti non conformi in un singolo procedimento di collaudo . Manufacturers of non-volatile memories who sell to manufacturers of electronic devices require testing devices to exercise and verify the operation of the memories they produce. Due to the volume of non-volatile memories that are built and sold at very low prices it is very important to minimize the time it takes to test a single part. Non-volatile memory acquirers require memory manufacturers to provide high shipping yields due to the cost savings associated with the practice of incorporating memory devices into more expensive assemblies with minimal or even no testing. Consequently, the memory testing process must be effective enough to identify a large percentage of non-conforming parts and preferably all non-conforming parts in a single testing process.

Poiché le memorie non volatili diventano sempre più gradi, più dense e più complesse, i dispostivi di collaudo, debbono essere in grado di gestire la dimensione e la complessità aumentate senza aumentare significativamente il tempo che essi richiedono per il collaudo. Quando le memorie si evolvono e migliorano il dispositivo di collaudo può essere in grado di recepire facilmente le variazioni realizzate sul dispositivo. Un altro elemento specifico per le memorie di prova non volatili è che scritture ripetute sulle celle delle memorie possono peggiorare la prestazione dell'intera vita della parte. I costruttori di memorie non volatili hanno risposto a molte richieste di collaudo costruendo speciali modi di collaudo dei dispositivi di memoria. Questi modi di collaudo non vengono utilizzati affatto dall'acquirente della memoria ma possono essere sottoposti ad accesso da parte del costruttore per collaudare tutte le parti significative delle memorie in un tempo più piccolo possibile e più efficacemente possibile. Alcune memorie non volatili sono anche in grado di venire riparate durante il procedimento di collaudo. Il dispositivo di collaudo pertanto dovrebbe essere in grado di identificare: una necessità di riparazione; un posto di riparazione; il tripodi riparazione necessaria; e deve essere quindi in grado di eseguire la riparazione appropriata. Tale procedimento di riparazione richiede che un dispositivo di collaudo sia in grado di rivelare ed isolare una parte non specifica non conforme della memoria. Allo scopo di trarre pieno vantaggio da modi speciali di collaudo nonché dalle funzioni di riparazione è utile che un dispositivo di collaudo sia in grado eseguire un programma di collaudo che supporti una diramazione condizionale in base ad una risposta attesa dal dispositivo. As non-volatile memories become increasingly large, denser and more complex, test devices must be able to handle the increased size and complexity without significantly increasing the time they require for testing. As memories evolve and improve, the testing device may be able to easily acknowledge the changes made on the device. Another element specific to non-volatile test memories is that repeated writes to the memory cells can degrade the performance of the entire life of the part. Non-volatile memory manufacturers have responded to many testing requests by building special test modes for memory devices. These test modes are not used at all by the memory purchaser but can be accessed by the manufacturer to test all significant parts of the memories in the shortest possible time and as effectively as possible. Some non-volatile memories are also capable of being repaired during the testing process. The testing device should therefore be able to identify: a need for repair; a place of repair; the tripod needed repair; and must therefore be able to perform the appropriate repair. This repair process requires that a test device be able to detect and isolate a non-specific non-conforming part of the memory. In order to take full advantage of special test modes as well as repair functions it is useful for a test device to be able to run a test program that supports conditional branching based on an expected response from the device.

Da una prospettiva concettuale il procedimento per collaudare le memorie è un procedimento mediante algoritmo. Come esempio i collaudi tipici includono l'incremento o il decremento sequenziale degli indirizzi di memoria scrivendo 0 e 1 nelle celle di memoria. È consuetudine fare riferimento ad una raccolta di 1 e 0 che vengano scritti o letti durante un ciclo di memoria come un "lettore" mentre il termine "configurazione" si riferisce ad una sequenza di vettori. È convenzionale che i collaudi includano configurazioni di scrittura nello spazio di memoria come per esempio configurazioni "checkboards", "walking 1" e a farfalla. Lo sviluppatore di collaudo può entrare più facilmente ed efficacemente un programma per generare queste configurazioni con l'aiuto di costrutti ad algoritmo. Una configurazione di collaudo che è coerente dal punto di vista dell'algoritmo è anche più facile da sottoporre a "debug" e utilizzare metodi logici per isolare parti della configurazione che non sono conformi come atteso. Una configurazione di collaudo che viene generata mediante algoritmo che utilizza istruzioni e comandi che vengono ripetuti in cicli di programmazione consuma meno spaio nella memoria del dispositivo di collaudo. Di conseguenza è desiderabile avere una capacità di generazione di una configurazione di collaudo con algoritmo in un dispositivo di collaudo di memoria. From a conceptual perspective, the procedure for testing memories is an algorithm procedure. As an example, typical tests include sequential incrementing or decrementing memory addresses by writing 0s and 1s to memory cells. It is customary to refer to a collection of 1s and 0s that are written or read during a memory cycle as a "reader" while the term "pattern" refers to a sequence of vectors. It is conventional for tests to include writing configurations in the memory space such as "checkboards", "walking 1" and butterfly configurations. The test developer can more easily and effectively enter a program to generate these configurations with the help of algorithm constructs. A test configuration that is algorithm consistent is also easier to "debug" and use logical methods to isolate parts of the configuration that are not as compliant as expected. A test configuration that is generated by an algorithm that uses instructions and commands that are repeated in programming cycles consumes less space in the memory of the test device. Accordingly, it is desirable to have an algorithm test pattern generation capability in a memory test device.

La disposizione e la rivelazione precise di un fronte di un segnale sono anche una considerazione nella efficacia di un dispositivo di collaudo non volatile. Allo scopo di catturare le parti che sono generalmente conformi ad una mediana mentre non sono conformi con i margini specificati, un dispositivo di collaudo di memoria non volatile deve essere in grado di disporre in modo preciso ogni fronte di segnale relativo nel tempo su un altro fronte di segnale. È anche importante essere in grado di misurare in modo preciso in quale punto nel tempo viene ricevuto un fronte di segnale. Di conseguenza un dispositivo di collaudo di una memoria non volatile dovrebbe avere una sufficiente flessibilità ed il controllo della temporizzazione e della disposizioni degli stimoli e delle risposte dal dispositivo sotto collaudo (memoria). Accurate placement and detection of a signal edge is also a consideration in the effectiveness of a non-volatile test device. In order to capture parts that generally conform to a median while not conforming to the specified margins, a non-volatile memory tester must be able to accurately place each time-relative signal edge on another edge. signal. It is also important to be able to accurately measure at what point in time a signal edge is received. Consequently, a test device of a non-volatile memory should have sufficient flexibility and control of the timing and arrangement of the stimuli and responses from the device under test (memory).

Si dice che i dispostivi di collaudo di memoria generano vettori di trasmissione che vengono applicati (stimoli) al DUT e ricevono i vettori che sono attesi di ritorno (risposta). La logica di algoritmo che genera questi vettori può generalmente fare ciò senza preoccuparsi di come un bit particolare in un vettore deve essere posto o preso da una piazzola particolare di segnale nel DUT. A questo livello è quasi come se vi fosse una certezza che i bit adiacenti nel vettore dovrebbero terminare come segnali adiacenti fisicamente sul DUT. La vita dovrebbe essere proprio così! Memory testing devices are said to generate transmission vectors which are applied (stimuli) to the DUT and receive vectors which are expected to return (response). The algorithm logic that generates these vectors can generally do this without worrying about how a particular bit in a vector is to be placed or taken from a particular signal pad in the DUT. At this level it is almost as if there is a certainty that the adjacent bits in the vector should end as physically adjacent signals on the DUT. Life should be like this!

In realtà la corrispondenza tra i bit in un vettore al "livello concettuale" e i segnali reali nel DUT sono adatti ad essere piuttosto arbitrari. Se non venisse nulla per impedirlo potrebbe essere necessario attraversare uno o più cavi di sonda quando essi scendono da una periferia per fare contato con il DUT tale attraversamento è molto indesiderabile ed è convenzionale incorporare un meccanismo di mappatura nel percorso del vettore di trasmissione per ridisporre le posizioni dei bit nel vettore di trasmissione prima che essi vengano applicati al DUT, in modo che il compito di realizzare il contatto fisico non venga appesantito dagli attraversamenti. I lettori di ricezione vengono applicati corrispondentemente in un meccanismo di mappatura inverso prima di venire considerati. In questo modo la generazione di un vettore di algoritmo e i meccanismi di confronto possono essere abilitati ad ignorare questo intero particolare. Come altro esempio di cosa tali mappatori e mappatori inversi possono fare, consideriamo il caso in cui un evento differente dello stesso tipo del DUT venga disposto sullo stesso wafer, ma con una rotazione di qualche simmetria speculare, allo scopo di evitare spreco di spaio sul wafer. Queste pratiche hanno anche un effetto sulla corrispondenza tra la posizione dei bit dei vettori e la posizione fisica dei segnali, ma che può essere annullato mediante mappature e mappature inverse appropriate. Si noterà che le mappature e le mappature inverse necessarie per queste situazioni sono, una volta che sia identificato un DUT particolare, statiche e non debbono variare durante il corso del collaudo per questo particolare DUT. In reality the correspondence between the bits in a vector at the "conceptual level" and the actual signals in the DUT are suitable to be quite arbitrary. If nothing is done to prevent this, it may be necessary to traverse one or more probe cables as they descend from a periphery to make contact with the DUT. positions of the bits in the transmission vector before they are applied to the DUT, so that the task of making physical contact is not burdened by the crossings. Receive readers are applied correspondingly in a reverse mapping mechanism before being considered. In this way the generation of an algorithm vector and the comparison mechanisms can be enabled to ignore this whole detail. As another example of what such mappers and reverse mappers can do, consider the case where a different event of the same type as the DUT is placed on the same wafer, but with some mirror symmetry rotation, in order to avoid wasting space on the wafer. . These practices also have an effect on the correspondence between the position of the bits of the vectors and the physical position of the signals, but which can be overridden by appropriate mappings and inverse mappings. It will be noted that the mappings and reverse mappings required for these situations are, once a particular DUT is identified, static and do not need to change during the course of testing for this particular DUT.

Per alcuni tipi di memorie un collaudo efficace richiede la manipolazione di un gruppo di bit delle linee di indirizzo separate da un altro gruppo di bit delle linee di indirizzo. Nei dispositivi di collaudo di tecnica antecedente la generazione di configurazione ad algoritmi il compito era relativamente semplice in quanto le linee di indirizzo venivano definite come due gruppi separati e venivano gestite su una base di bit per bit. Un esempio di un tipo di memoria che utilizza questo genere di indirizzamento è una memoria che mantiene l'organizzazione di blocchi multipli di celle di memoria in un formato di indirizzamento di pagina dove 1'indirizzamento di pagina utilizza alcuni dei bit più significativi delle linee di indirizzo e 1'indirizzamento di parola di memoria utilizza alcune delle linee di indirizzo più significativo. Allo scopo di trarre pieno vantaggio della generazione di configurazione di algoritmo per collaudare questi tipi di memoria, tuttavia, esiste la necessità, di un dispositivo di collaudo che fornisca una semplice soluzione per raggruppare selettivamente i bit nelle linee di indirizzo per la generazione indipendente di configurazione di algoritmo. For some types of memories, effective testing requires the manipulation of one set of address line bits separated by another set of address line bits. In the test devices of the prior art the generation of algorithm configuration the task was relatively simple since the address lines were defined as two separate groups and were managed on a bit by bit basis. An example of a type of memory that uses this kind of addressing is a memory that maintains the organization of multiple blocks of memory cells in a page addressing format where the page addressing uses some of the most significant bits of the address and memory word addressing uses some of the more significant address lines. In order to take full advantage of the algorithm configuration generation for testing these types of memory, however, there is a need, for a test device that provides a simple solution to selectively group bits in the address lines for independent configuration generation. of algorithm.

Sommario Summary

Secondo un aspetto dell'invenzione un apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria ha uno o più registri di indirizzo che memorizzano una pluralità di bit di indirizzo logico e una pluralità di bit di sostituzione, ogni bit di sostituzione corrispondendo a uno dei bit di indirizzo logico. L'apparecchio possiede inoltre un selettore di bit per ogni bit di indirizzo logico e una combinazione di bit di sostituzione e ogni selettore di bit seleziona indipendentemente o il bit di indirizzo logico o il bit di sostituzione. Un'uscita collettiva dei selettori di bit e un indirizzo efficace per scopi di collaudo di una memoria. Un processore a vettori applica l'indirizzo efficace nel dispositivo di collaudo. According to an aspect of the invention, an apparatus for managing address channels in a memory test device has one or more address registers which store a plurality of logical address bits and a plurality of substitution bits, each substitution bit corresponding to one of the logical address bits. The apparatus also has a bit selector for each logical address bit and a replacement bit combination and each bit selector independently selects either the logical address bit or the replacement bit. A collective output of the bit selectors and an effective address for memory testing purposes. A vector processor applies the effective address in the test device.

Secondo un altro aspetto dell'invenzione un metodo per gestire i canali di indirizzo in un dispositivo di collaudo di memoria comprende i passi di presentare una pluralità di bit di indirizzo logico ad una rispettiva pluralità di selettori di bit con un bit di indirizzo logico per selettore di bit e un bit di sostituzione per selettore di bit. Il metodo seleziona quindi o il bit di indirizzo logico o il bit di sostituzione, un'uscita collettiva dei selettori di bit essendo un indirizzo effettivo. L'indirizzo effettivo viene utilizzato per scopi di indirizzamento di una memoria di DUT. According to another aspect of the invention, a method for managing the address channels in a memory testing device comprises the steps of presenting a plurality of logical address bits to a respective plurality of bit selectors with one logical address bit per selector of bits and a replacement bit for bit selector. The method then selects either the logical address bit or the replacement bit, a collective output of the bit selectors being an actual address. The actual address is used for DUT memory addressing purposes.

Vantaggiosamente un dispositivo di collaudo secondo gli insegnamenti della presente invenzione offre flessibilità e rendimento aggiuntivi nello sviluppo di configurazioni di collaudo in confronto ai dispostivi di collaudo di tecnica antecedente. Breve descrizione dei disegni Advantageously, a test device according to the teachings of the present invention offers additional flexibility and efficiency in the development of test configurations as compared to prior art test devices. Brief description of the drawings

La figura 1 è uno schema a blocchi semplificato di un dispositivo di collaudo di memoria non volatile riconfigurabile in modo estensivo costruito secondo l'invenzione. Figure 1 is a simplified block diagram of an extensively reconfigurable non-volatile memory test device constructed in accordance with the invention.

La figura 2 è un'espansione dello schema a blocchi semplificato del dispositivo di collaudo di DUT 6 di figura 1. Figure 2 is an expansion of the simplified block diagram of the test device of DUT 6 of Figure 1.

La figura 3 è uno schema a blocchi del mappatore di indirizzo 29 mostrato in figura 2. Figure 3 is a block diagram of the address mapper 29 shown in Figure 2.

La figura 4 è uno schema a blocchi della parte di XScramble 302 del mappatore di indirizzo 29 mostrato in figura 3. Figure 4 is a block diagram of the XScramble 302 portion of the address mapper 29 shown in Figure 3.

La figura 5 è uno schema a blocchi della parte di ZScramble 306 del mappatore di indirizzo 29 mostrato in figura 3. Figure 5 is a block diagram of the ZScramble 306 portion of the address mapper 29 shown in Figure 3.

Descrizione dettagliata Detailed description

Facciamo riferimento ora alla figura 1 in cui è mostrato uno schema a blocchi semplificato 1 di un sistema di collaudo di memoria non volatile costruito secondo i principi dell'invenzione. In particolare il sistema mostrato può collaudare contemporaneamente con fino a sessantaquattro punti di collaudo ciascuno, fino a trentasei DUT individuali (dispositivi sotto collaudo) in una volta, con forniture per riconfigurazione per consentire agli elementi di una collezione di risorse di collaudo da tenere unite assieme di controllare i DUT aventi più di sessantaquattro punti di collaudo. Questi punti di collaudo possono essere posizioni su una parte di un wafer di circuito integrato che non è stato ancora tagliato e impacchettato, o possono essere i pin di una parte impacchettata. Il termine "punto di collaudo" si riferisce ad una posizione elettrica dove il segnale può essere applicato (per esempio alimentazioni, clock, ingressi di dati) o dove un segnale può essere misurato (per esempio un'uscita di dati). Noi seguiremo la consuetudine industriale di far riferimento ai punti di collaudo come "canali" . La "collezione di risorse di collaudo da unire assieme" a cui si è fatto riferimento precedentemente può essere intesa come fino a trentasei siti di collaudo, dove ogni sito di collaudo include un controllore di sito di collaudo (4), un dispositivo di collaudo di DUT (sessantaquattro canali) e una collezione (sessantaquattro canali) di una elettronica a pin (9) che realizzano una connessione elettrica reale con un DUT (14). Nel caso in cui l'effettuazione della prova del DT richieda sessantaquattro o meno canali, è sufficiente un singolo sito di collaudo per eseguire i collaudi su questo DUT, e diciamo, per esempio, che il sito di collaudo #1 (come appare in figura 1) forma o funziona come una "stazione di collaudo di singolo sito". D'altra parte, quando viene eseguita qualche forma della cosiddetta riconfigurazione, due (o più) siti di collaudo vengono "uniti" fra di loro in modo da funzionare come un sito di collaudo equivalente più grande che ha centoventotto canali. Di conseguenza, di nuovo con riferimento ad un esempio mostrato in figura 1, possiamo dire che i siti di collaudo #35 e #36 formano una "stazione di collaudo a due siti". We now refer to figure 1 in which a simplified block diagram 1 of a non-volatile memory test system built according to the principles of the invention is shown. In particular, the system shown can test simultaneously with up to sixty-four test points each, up to thirty-six individual DUTs (devices under test) at once, with supplies for reconfiguration to allow elements of a collection of test assets to be kept together. to check DUTs with more than sixty-four test points. These test points can be locations on a part of an integrated circuit wafer that has not yet been cut and packaged, or they can be the pins on a packaged part. The term "test point" refers to an electrical location where the signal can be applied (eg power supplies, clocks, data inputs) or where a signal can be measured (eg a data output). We will follow the industrial practice of referring to test points as "channels". The "collection of test assets to be joined together" referred to above can be understood as up to thirty-six test sites, where each test site includes a test site controller (4), a test site DUT (sixty-four channels) and a collection (sixty-four channels) of pin electronics (9) that make a real electrical connection with a DUT (14). In the event that the execution of the DT test requires sixty-four or less channels, a single test site is sufficient to perform the tests on this DUT, and let's say, for example, that the test site # 1 (as shown in the figure 1) forms or functions as a "single site testing station". On the other hand, when some form of so-called reconfiguration is performed, two (or more) test sites are "joined" together to function as a larger equivalent test site that has one hundred twenty-eight channels. Consequently, again referring to an example shown in Figure 1, we can say that test sites # 35 and # 36 form a "two site test station".

Per considerare brevemente il caso opposto, si potrebbe assumere che un intero sito di collaudo è necessario per collaudare un singolo DUT o che un singolo sito di collaudo può collaudare tutto tranne un singolo DUT. Supponiamo che un wafer abbia due matrici (probabilmente, ma non necessariamente) adiacenti, di cui la somma dei requisiti di canali di collaudo sia di sessantaquattro canali o inferiore. Entrambi i DUT possono essere collaudati mediante un singolo sito di collaudo. Ciò che rende ciò possibile è la programmabilità per scopi generali di ogni sito di collaudo. Un programma di collaudo eseguito dal sito di collaudo può essere scritto in modo che una parte delle risorse del sito di collaudo collaudi uno dei DUT mentre un'altra parte venga utilizzata per collaudare l'altro DUT. Dopo tutto, assumiamo che se avessimo un terzo DUT che fosse l'unione logica dei primi due, allora noi saremmo in grado di collaudare il terzo DUT con un singolo sito di collaudo, quindi dovremmo essere in grado di collaudare similmente i suoi "DUT componenti" così come esso è. L'unica differenza è di mantenere individualmente traccia del fatto che i due "DUT componenti" passano o non passano il collaudo, al contrario di una risposta unificata per il "terzo DUT" (cioè esiste un'uscita concernente quale parte del "terzo DUT" non ha superato il collaudo). Questa capacità di "stazione di collaudo a singolo sito" è largamente convenzionale e noi la ricordiamo qui per completezza e per mettere in guardia da una potenziale confusione e non comprensione quando viene fatto il confronto con la nozione di unione di due o più siti di collaudo fra di loro. To briefly consider the opposite case, it could be assumed that an entire test site is required to test a single DUT or that a single test site can test all but a single DUT. Suppose a wafer has two (probably, but not necessarily) adjacent matrices, of which the sum of the test channel requirements is sixty-four channels or less. Both DUTs can be tested using a single test site. What makes this possible is the general purpose programmability of each test site. A test program run by the test site can be written so that part of the test site resources tests one of the DUTs while another part is used to test the other DUT. After all, we assume that if we had a third DUT that was the logical union of the first two, then we would be able to test the third DUT with a single test site, so we should be able to similarly test its "DUT components. "as it is. The only difference is to individually keep track of whether the two "component DUTs" pass or fail testing, as opposed to a unified response for the "third DUT" (ie there is an output concerning which part of the "third DUT" "did not pass the test). This "single site test station" capability is largely conventional and we remember it here for completeness and to warn of potential confusion and misunderstanding when comparing with the notion of joining two or more test sites. between them.

Se non fosse per questa nozione di riconfigurazione non vi sarebbe lacuna differenza fra un sito di collaudo e una stazione di collaudo e potremmo fare a meno di uno dei termini. In effetti tuttavia ci si renderà conto che il numero di stazioni di collaudo non deve essere uguale al numero di siti di collaudo. In passato i numeri potevano essere differenti poiché i siti di collaudo venivano suddivisi per creare più stazioni di collaudo (DUT non complessi abbastanza da consumare un intero sito di collaudo). Ora tuttavia la differenza potrebbe essere anche dovuta ai siti di collaudo che sono stati uniti fra di loro per formare stazioni di collaudo a siti multipli (DUT troppo complessi per un singolo sito di collaudo). Were it not for this notion of reconfiguration there would be no gap between a test site and a test station and we could do without one of the terms. In fact, however, it will be appreciated that the number of test stations does not have to equal the number of test sites. In the past, the numbers could have been different as test sites were split to create multiple test stations (DUTs not complex enough to consume an entire test site). Now, however, the difference could also be due to the test sites that have been joined together to form multiple site test stations (DUTs too complex for a single test site).

Per continuare quindi, un controllore di sistema di collaudo 2 viene collegato mediante un bus di sistema 3 fino a trentasei controllori di sito di collaudo i cui nomi terminano nei suffissi da #1 a #36 (4a-4z). (È vero che gli indici a-z vanno da uno a ventisei e non a trentasei ma questa deficienza minore sembra preferibile per gli indici numerici rispetto ai caratteri di riferimento numerico che potenzialmente potrebbero creare confusione) . Il controllore di sistema di collaudo 2 è un elaboratore (per esempio un PC che funziona come NT) che esegue un programma di controllo di sistema di collaudo adatto, durante il compito di collaudo di memoria non volatile. Il programma di controllo di sistema di collaudo rappresenta il più alto livello di astrazione in una divisione gerarchica del lavoro (e di complessità) per realizzare il collaudo desiderato. Il controllore di sistema di collaudo determina quali programmi debbono essere gestiti dai differenti siti di collaudo nonché la sorveglianza di un sistema a robot (non mostrato) che muove le sonde di collaudo e i DUT come necessario. Il controllore di sistema di collaudo 2 può funzionare in modo che supportano la nozione che alcuni siti di collaudo vengono programmati per funzionare come stazioni di collaudo a singolo sito, mentre altri vengono uniti fra loro per formare stazioni di collaudo a sito multiplo. Chiaramente, in tali circostanze esistono differenti parti che vengono collaudate e è molto desiderabile che vengano utilizzati differenti collaudi per le differenti parti. Analogamente non esiste nessun requisito per cui tutte le stazioni di collaudo a singolo sito debbano collaudare lo stesso stile di parte, né esiste tale squisito per le stazioni di collaudo a sito multiplo. Di conseguenza il controllore di sistema di collaudo 2 viene programmato per emettere i comandi per realizzare l'unione del sito di collaudo richiesto me quindi chiamare i programmi appropriati di comando per le varie stazioni di collaudo in uso. Il controllore di sistema di collaudo 2 riceve anche l'informazione circa i risultati ottenuti dai collaudi, in modo che esso possa prendere l'azione appropriata per scaricare la parte difettosa e in modo che esso mantenga i "log" per le varie analisi che possono essere utilizzate per controllare, per esempio, i processi di produzione in un impianto di fabbrica . To continue then, a test system controller 2 is connected via a system bus 3 to thirty-six test site controllers whose names end in suffixes # 1 to # 36 (4a-4z). (It is true that the a-z indices range from one to twenty-six and not to thirty-six but this minor deficiency seems preferable for numerical indexes over numerical reference characters which could potentially be confusing.) The test system controller 2 is a computer (e.g. a PC running as an NT) which executes a suitable test system control program, during the non-volatile memory test task. The test system control program represents the highest level of abstraction in a hierarchical division of labor (and complexity) to accomplish the desired test. The test system controller determines which programs are to be managed by the different test sites as well as monitoring a robot system (not shown) that moves the test probes and DUTs as needed. Test System Controller 2 can function in a way that supports the notion that some test sites are programmed to function as single site test stations, while others are joined together to form multiple site test stations. Clearly, in such circumstances there are different parts that are tested and it is highly desirable that different tests be used for the different parts. Similarly, there is no requirement that all single site testing stations should test the same part style, nor is there such exquisite for multiple site testing stations. Consequently, the test system controller 2 is programmed to issue the commands to accomplish the required test site union and then call the appropriate command programs for the various test stations in use. The test system controller 2 also receives the information about the results obtained from the tests, so that it can take the appropriate action to unload the defective part and so that it keeps the "logs" for the various analyzes that can be used to control, for example, production processes in a factory plant.

Lo stesso sistema di collaudo è un sistema discretamente grande e complesso ed è comune che esso utilizzi un subsistema a robot per caricare i wafer su una piattaforma che posiziona quindi sequenzialmente una o più matrici future sotto le sonde collegate all'elettronica a pin 9, dopodiché queste matrici future (il wafer non è stato ancora tagliato) vengono collaudate. Il sistema di collaudo può anche essere utilizzato per collaudare le parti impacchettate che sono state caricate su un supporto adatto. Esiste (come verrà illustrato di seguito) almeno un controllore di sito di collaudo associato ad ogni stazione di collaudo, indipendentemente da quanti siti di collaudo vengono utilizzati per formare questa stazione di collaudo o quante stazioni di collaudo esistono su un sito di collaudo. Un controllore di sito di collaudo è un sistema incorporato che può essere un processore i960 di Intel con da trentasei a sessantaquattro MB di un programma combinato e di una memoria di dati che funziona su un sistema operativo proprietario detto VOS (VersaTest O/S), che è stata anche utilizzato in prodotti precedenti per il collaudo di memorie non volatili (per esempio Agilent V1300 o V3300). Per il momento considereremo soltanto la situazione per le stazioni di collaudo a singolo sito. A titolo di esempio definito supponiamo che il sito di collaudo #1 stia funzionando come stazione di collaudo #1 e che esso debba collaudare il particolare WHIZCO n. The test system itself is a fairly large and complex system and it is common for it to use a robot subsystem to load the wafers onto a platform which then sequentially places one or more future matrices under the probes connected to the electronics at pin 9, after which these future dies (the wafer has not been cut yet) are tested. The testing system can also be used to test packaged parts that have been loaded onto a suitable stand. There is (as will be shown below) at least one test site controller associated with each test station, regardless of how many test sites are used to form this test station or how many test stations exist on a test site. A test site controller is an embedded system that may be an Intel i960 processor with thirty-six to sixty-four MB of combined program and data memory running on a proprietary operating system called VOS (VersaTest O / S), which has also been used in earlier products for testing non-volatile memories (eg Agilent V1300 or V3300). For now, we will only consider the situation for single site test stations. By way of a defined example suppose that the test site # 1 is functioning as test station # 1 and that it has to test the particular WHIZCO n.

0013. Il regime di collaudo implica all'incirca un centinaio di tipi differenti di collaudi (livelli di tensione variabili e di rilevamento, larghezze di impulso, posizioni di fronte, ritardi, nonché una grande quantità di memorizzazione semplice e quindi recupero di configurazioni selezionate di informazioni), ed ogni tipo di collaudo implica molto milioni di cicli di memoria individuali per il DUT. Al più alto livello gli operatori del sistema di collaudo istruiscono il controllore di sistema di collaudo 2 ad utilizzare la stazione di collaudo #1 per iniziare il collaudo del WHIZCO 0013. A tempo debito il controllore di sistema di collaudo 2 dice al controllore di sito di collaudo #1 (4a) (che è un sistema di [elaboratore] incorporato) di far funzionare il programma di collaudo associato, cioè, TEST_WHIZ_13. Se questo programma è già disponibile all'interno dell'ambiente del controllore di sito di collaudo #1 allora esso viene semplicemente eseguito. In caso negativo esso viene fornito dal controllore di sistema di collaudo 2. 0013. The test regime involves roughly a hundred different types of tests (variable voltage and detection levels, pulse widths, edge positions, delays, as well as a large amount of simple storage and then retrieval of selected configurations of information), and each type of testing involves many millions of individual memory cycles for the DUT. At the highest level, test system operators instruct Test System Controller 2 to use Test Station # 1 to initiate testing of WHIZCO 0013. In due course Test System Controller 2 tells site controller to test # 1 (4a) (which is an embedded [computer] system) of running the associated test program, ie, TEST_WHIZ_13. If this program is already available within the Test Site Controller # 1 environment then it is simply run. If not, it is supplied by the testing system controller 2.

Ora in linea di principio, il programma TEST_WHIZ_13 dovrebbe essere interamente autocontenuto. Ma se così fosse, esso dovrebbe almeno essere certamente piuttosto grande e potrebbe essere difficile che il processore del sistema incorporato all'interno del controllore di sito di collaudo 4a funzionasse abbastanza velocemente da produrre i collaudi alla velocità desiderata o anche ad una velocità che è uniforme da un ciclo di memoria di DUT al successivo. Di conseguenza le attività di tipo di subroutine di basso livello che generano le sequenze di indirizzo e i dati associati che debbono essere scritti o sono attesi da un'operazione di lettura, vengono generati come richiesto mediante un meccanismo ad algoritmo programmabile posto nel dispositivo di collaudo di DUT 6, ma che funzioni in sincronismo con il programma che viene eseguito dal sistema incorporato da controllore di sito di collaudo 4. Si può pensare a ciò come esportare qualche attività simile ad una subroutine di basso livello e al compito di iniziare i cicli di memoria di DUT da un meccanismo (il dispositivo di collaudo di DUT) che è più vicino all'ambiente hardware del DUT 14. Generalmente parlando, quindi ogni qualvolta che il controllore di sistema di collaudo 2 correda un controllore di sito di collaudo con un programma di collaudo fornisce anche il dispositivo di collaudo di DUT associato con le appropriate routine di implementazione di basso livello (specifiche per esempio per la memoria che viene collaudata) necessarie per realizzare l'attività completa descritta o necessarie per programmare da parte del controllore di sito di collaudo. Le routine di implementazione di basso livello vengono dette "configurazioni" e esse vengono nominate generalmente (proprio come le funzioni e le variabili nei linguaggi di programmazione di alto livello hanno i propri nomi). Now in principle, the TEST_WHIZ_13 program should be entirely self-contained. But if so, it should at least certainly be quite large and it may be difficult for the system processor embedded within the test site controller 4a to run fast enough to produce the tests at the desired speed or even at a speed that is uniform. from one DUT memory cycle to the next. Consequently, the low-level subroutine type activities that generate the address sequences and associated data to be written or expected by a read operation are generated as required by a programmable algorithm mechanism located in the test device. DUT 6, but which works in synchronism with the program that is executed by the embedded system as a test site controller 4. This can be thought of as exporting some activity similar to a low-level subroutine and the task of initiating memory cycles of DUT from a mechanism (DUT's test device) that is closer to the hardware environment than DUT 14. Generally speaking, so whenever test system controller 2 equips a test site controller with a test program testing also provides the DUT testing device associated with the appropriate low-level implementation routines (specific for ese mpio for the memory being tested) necessary to carry out the complete activity described or necessary for programming by the test site controller. Low-level implementation routines are referred to as "configurations" and they are generally named (just as functions and variables in high-level programming languages have their own names).

Ogni controllore di sito di collaudo #n (4) è accoppiato al dispositivo di collaudo di DUT associato #n (6) mediante un bus di collaudo di sito #n (5). Il controllore di sito di collaudo utilizza il bus di collaudo di sito 5 per controllare sia il funzionamento del dispositivo di collaudo di DUT che per ricevere da esso l'informazione circa i risultati del collaudo. Il dispositivo di collaudo di DUT è in grado do generare ad alta velocità i vari cicli di memoria di DUT che sono coinvolti nel regime di collaudo ed esso decide se i risultati di un ciclo di memoria di lettura sono come attesi. In realtà esso risponde ai comandi o ai codici operativi ("configurazioni nominate") inviate dal controllore di sito di collaudo iniziando le sequenze utili corrispondenti dei cicli di memoria di DUT di lettura e scrittura (cioè, esso esegue le configurazioni corrispondenti) . Concettualmente l'uscita del dispositivo di collaudo di DUT 6 è l'informazione di stimolo che deve essere applicata al DUT, e accetta anche da esso l'informazione di risposta. Questa informazione di stimolo/risposta 7a passa tra il dispositivo di collaudo di DUT 6a e un assieme di elettronica a pin #19a. L'assieme di elettronica a pin 9a supporta fino a sessantaquattro sonde che possono essere applicate al DUT 14. Each test site controller #n (4) is coupled to the associated DUT test device #n (6) via a site test bus #n (5). The test site controller uses the site test bus 5 to control both the operation of the test device of DUT and to receive information from it about the test results. The test device of DUT is capable of generating at high speed the various memory cycles of DUT which are involved in the testing regime and it decides whether the results of a reading memory cycle are as expected. It actually responds to commands or operational codes ("named configurations") sent by the test site controller by initiating the corresponding useful sequences of the read and write DUT memory cycles (i.e., it performs the corresponding configurations). Conceptually, the output of the testing device of DUT 6 is the stimulus information to be applied to the DUT, and also accepts the response information from it. This stimulus / response information 7a passes between the DUT test device 6a and an electronics assembly at pin # 19a. The 9a pin electronics assembly supports up to sixty-four probes which can be applied to the DUT 14.

L'informazione di stimolo prima menzionata è proprio una sequenza di configurazioni di bit in parallelo (cioè una sequenza di "vettori di trasmissione" e di "vettori di ricezione" attesi) espressi secondo i livelli di tensione di qualche famiglia di dispostivi logici utilizzati nel dispositivo di collaudo di DUT. Esiste una mappatura configurabile tra le posizioni di bit all'interno dello stimolo/risposta e delle sonde sulla matrice, e questa mappatura viene compresa dal dispositivo di collaudo di DUT 6. I bit individuali vengono corretti nella loro temporizzazione e disposizione di fronte ma in aggiunta alla mappatura essi possono anche aver bisogno di uno scalamento di livello di tensione prima che essi vengano applicati al DUT. Analogamente una risposta che ha origine nel DUT successiva a uno stimolo può necessitare di buffering e di scalamento di libello (inverso) prima che essa possa essere considerata adatta da retroazionare sul dispositivo di collaudo di DUT. Questi compiti di scalamento di livello sono di competenza della elettronica a pin 9a. La configurazione dell'elettronica a pin necessaria per collaudare un WHIZCO 0013 non funziona analogamente per collaudare una parte di ACME Co., e forse neanche con un'altra parte WHIZ Co. Così si noterà che l'assieme di elettronica a pin deve essere anche configurabile; tale configurabilità è la funzione delle linee di PE Config 8a. The stimulus information mentioned above is just a sequence of bit configurations in parallel (ie a sequence of "transmission vectors" and "reception vectors" expected) expressed according to the voltage levels of some family of logic devices used in the testing device of DUT. There is a configurable mapping between the bit positions within the stimulus / response and the probes on the matrix, and this mapping is understood by the DUT 6 test device. The individual bits are corrected in their timing and edge arrangement but in addition at mapping they may also need voltage level scaling before they are applied to the DUT. Similarly, a response originating in the DUT following a stimulus may require buffering and libellus (inverse) scaling before it can be considered suitable for feedback on the DUT testing device. These level scaling tasks are the responsibility of pin 9a electronics. The pin electronics configuration needed to test a WHIZCO 0013 does not work similarly to test a part of ACME Co., and perhaps not even with another WHIZ Co. part.So you will notice that the pin electronics assembly must also be configurable; this configurability is the function of the PE Config 8a lines.

Quanto sopra conclude una breve panoramica di architettura di come viene strutturato un singolo sito di collaudo per collaudare un DUT. Torniamo ora ai particolari che sorgono quando vi sono molti siti di collaudo con cui operare. In via preliminare descriveremo una realizzazione preferita per costruire un sistema di collaudo avente siti di collaudo multipli. In molti aspetti qualcuna delle informazioni che dobbiamo descrivere sono i particolari di scelta basati su studi di mercato di preferenza degli utilizzatori e di analisi costi-benefici. Comunque sia, per costruire una di queste cose occorre realizzare scelte definite e una volta che ciò è stato fatto esistono particolari conseguenze che sono visibili attraverso l'intero sistema. Si ritiene che sia utile descrivere almeno in una visione generale i profili maggiori e le proprietà hardware del sistema di collaudo. Anche se alcune di queste proprietà sono contingenti una conoscenza di essi tuttavia assisterà nell'apprezzamento dei vari esempi utilizzati per illustrare l'invenzione. The above concludes a brief architectural overview of how a single test site is structured to test a DUT. Let us now return to the details that arise when there are many test sites to operate with. We will preliminarily describe a preferred embodiment for building a test system having multiple test sites. In many respects some of the information we need to describe is the details of choice based on user preference market studies and cost-benefit analyzes. Be that as it may, to build one of these things you need to make definite choices and once that is done there are particular consequences that are visible throughout the entire system. It is believed that it is useful to describe at least in an overview the major profiles and hardware properties of the test system. While some of these properties are contingent a knowledge of them will nevertheless assist in the appreciation of the various examples used to illustrate the invention.

Per iniziare consideriamo quindi quattro gabbie di scheda piuttosto grandi. Ogni gabbia di scheda ha, oltre alle alimentazioni di energia e al raffreddamento di acqua (ventilatori che possono essere una sorgente di contaminazione in un ambiente a camera pulita), una scheda madre, un piano frontale ed un piano posteriore. In ogni gabbia di scheda possono essere disposti fino a nove assiemi. Ogni assieme include un controllore di sito di collaudo, un dispositivo di collaudo di DUT ed una elettronica a pin. Descriveremo i profili generali di come i controllori di sito di collaudo sono uniti tra di loro, il che implica alcuni bus utilizzati per creare catene a margherita . So let's start by considering four rather large board cages. Each board cage has, in addition to the power supplies and water cooling (fans which can be a source of contamination in a clean room environment), a motherboard, a front and a rear shelf. Up to nine assemblies can be arranged in each card cage. Each assembly includes a test site controller, a DUT test device and a pin electronics. We will describe general profiles of how test site controllers are joined together, which implies some buses used to create daisy chains.

Una breve descrizione concernente il termine "catena a margherita" forse è appropriata. Consideriamo gli elementi di sistema A, B, C e D supponiamo che essi debbano essere collegati fra di loro a margherita in questo ordine. Noi possiamo dire che esiste un'informazione o un percorso di controllo che lascia A e va in B, che B può passare selettivamente nel traffico che quindi lascia B e va in C e che C può passare selettivamente nel traffico e che quindi va in D. Questo stesso tipo di disposizione può esistere per il traffico anche nell'altra direzione. Le catene a margherita vengono spesso utilizzate per creare schemi di priorità; noi le useremo per creare relazioni "master/slave" tra i vari controllori di sito di collaudo. Indicheremo queste disposizioni di comunicazione di stile concatenato a margherita con il nome suffisso "DSY", invece di "BUS". Così faremo riferimento a un comando/dati DSY invece di un comando/BUS di dati. Ora la nozione che l'informazione "enter B viene selettivamente passata avanti" può suggerire che il traffico viene ripetuto su un insieme separato di connettori prima di essere passato avanti. Potrebbe essere così ma per motivi di prestazione è più probabile che un bus regolare abbia le entità indirizzabili. Mediante una disposizione a mappatura di indirizzi programmabile e la capacità di disporre le parti dei controllori di sito di collaudo a valle nello stato "dormiente", il singolo bus può essere realizzato per apparire logicamente (ciò funzionale) con una pluralità di catene a margherita. Infine si noterà che le catene a margherita sono percorsi di alta prestazione per l'informazione di comando di controllo e che se esse non ci fossero, noi non potremmo attendere che una combinazione master/slave (stazione di collaudo a siti multipli) funzionerebbe così velocemente come in effetti fa un singolo sito di collaudo. Per il beneficio della prestazione a margherita i vari DSY non rilasciano le loro rispettive gabbie di scheda. L'effetto di questa decisione è quella di porre alcuni limiti su quali siti di collaudo (e anche su quanti) possono essere collegati fra di loro. In linea di principio non esiste una necessità fondamentale per questo limite né esiste una mancanza genuina di praticità tecnica coinvolta (essa potrebbe essere); si pensa semplicemente che, poiché esistono già nove siti di collaudo in una gabbia di scheda, l'estensione del DSY aggiunge un costo significativo per un beneficio aggiuntivo relativamente piccolo. A brief description concerning the term "daisy chain" is perhaps appropriate. Let us consider the system elements A, B, C and D and suppose that they must be daisy-chained together in this order. We can say that there is information or a control path that leaves A and goes to B, that B can selectively pass in traffic which then leaves B and goes to C and that C can selectively pass through traffic and therefore goes to D This same type of arrangement may exist for traffic in the other direction as well. Daisy chains are often used to create priority schemes; we will use them to create "master / slave" relationships between the various test site controllers. We will refer to these daisy chained style communication arrangements with the suffix name "DSY", instead of "BUS". So we will refer to a DSY command / data instead of a data / BUS command. Now the notion that the "enter B is selectively passed forward" information may suggest that the traffic is repeated on a separate set of connectors before being passed forward. This could be the case but for performance reasons a regular bus is more likely to have addressable entities. By means of a programmable address mapping arrangement and the ability to arrange the parts of the test site controllers downstream in the "dormant" state, the single bus can be made to appear logically (this is functional) with a plurality of daisy chains. Finally it will be noted that daisy chains are high performance paths for control command information and that if they were not there, we could not wait for a master / slave combination (multi-site test station) to work that fast. as indeed a single test site does. For the benefit of daisy chain performance the various DSYs do not release their respective card cages. The effect of this decision is to place some limits on which test sites (and also on how many) can be linked together. In principle there is no fundamental need for this limit nor is there a genuine lack of technical practicality involved (it could be); it is simply thought that since nine test sites already exist in a board cage, the extension of the DSY adds a significant cost for a relatively small additional benefit.

Per riassumere la nostra descrizione di figura 1, quindi consideriamo i vari controllori di sito di collaudo 4a-4z che possono popolare le quattro gabbie di scheda, ciascuna con nove controllori di sito di collaudo. Indichiamole come 4a-4f, 4g-4m, 4n-4t e 4u-4z. (Non importa, come illustrato prima, che questi siano nominalmente soltanto ventisei indici, il lettore è invitato a immaginare che esistono altri dieci simboli di indice da qualche altra parte). Un DSY CMD/DAT 17a (Commando e catena a margherita di dati) interconnette i controllori di siti di collaudo 4a-4f che si trovano in una gabbia di scheda mentre un CMD/DAT DSY 17b interconnette i controllori di sito di collaudo 4g-4m in un'altra gabbia di scheda. La stessa disposizione esiste per le rimanenti gabbie di scheda e i controllori di sito di collaudo 4n-4t e rispettivamente 4u-4z. Noi abbiamo detto precedentemente che il DSY non lascia le gabbie di scheda in quanto 2estremità di coda" di un bus che in realtà forma il DSY non lascia una gabbia di scheda e diventa la testa del segmento successivo in un'altra gabbia di scheda. Al contrario il Bus di sistema 3 dal controllore di sistema di collaudo 2 va in tutti i controllori di sito di collaudo e ciascuno è in grado di diventare un Master e la testa di un segmento DSY non lascia la gabbia di scheda. To summarize our description of Figure 1, we then consider the various test site controllers 4a-4z that can populate the four board cages, each with nine test site controllers. Let's denote them as 4a-4f, 4g-4m, 4n-4t and 4u-4z. (It does not matter, as illustrated above, that these are nominally only twenty-six indices, the reader is encouraged to imagine that there are ten other index symbols somewhere else.) A DSY CMD / DAT 17a (Commando and daisy chain of data) interconnects 4a-4f test site controllers located in a board cage while a CMD / DAT DSY 17b interconnects 4g-4m test site controllers in another card cage. The same arrangement exists for the remaining board cages and test site controllers 4n-4t and 4u-4z respectively. We mentioned earlier that the DSY does not leave the card cages as the tail end of a bus that actually forms the DSY does not leave a card cage and becomes the head of the next segment in another card cage. otherwise System Bus 3 from Testing System Controller 2 goes to all Test Site Controllers and each is able to become a Master and the head of a DSY segment does not leave the board cage.

Il CMD/DAT DSY 17a-d che stiamo descrivendo esiste tra i vari controllori di sito di collaudo 4a-4z. Esiste una disposizione simile per il SYNC/ERR DSY 18a-18d e i dispositivi di collaudo DUT 6a-6z. L'informazione di sincronismo di errore convogliata dal SYN/ERR DSY 18 consente ai dispositivi di collaudo DUT di funzionare all'unisono. Queste due catene a margherita (17 e 18) trasportano tipi di informazione leggermente differenti, ma ciascuna esiste come una parte dello stesso meccanismo generale per unire uno o più siti di collaudo fra di loro in una stazione di collaudo . The CMD / DAT DSY 17a-d we are describing exists among the various 4a-4z test site controllers. There is a similar arrangement for the SYNC / ERR DSY 18a-18d and DUT 6a-6z test devices. The error synchronism information conveyed by the SYN / ERR DSY 18 allows the DUT test devices to operate in unison. These two daisy chains (17 and 18) carry slightly different types of information, but each exists as a part of the same general mechanism for joining one or more test sites together at a test station.

Ritorniamo ora a una descrizione di figura 2, che è una espansione dello schema a blocchi semplificato nel dispositivo di collaudo DUT 6 di figura 1, di cui ne possono esistere fino a trentasei. È sufficiente al momento descrivere soltanto un caso di essi. Uno sguardo alla figura 2 mostrerà che essa è discretamente popolata con materiale; specialmente finora uno schema a blocchi "semplificato" . Qualcosa di ciò che è nel dispositivo di collaudo di DUT 6 è rappresentato nello schema a blocchi è funzionalmente del tutto complicato e non disponibile nella forma "off thè shelf". Qui è appropriato realizzare due punti. In primo luogo lo scopo fondamentale di includere la figura 2 è quello di descrivere le proprietà fondamentali di un ambiente operativo importante all'interno del sistema di collaudo di memoria non volatile 1. L'invenzione (le invenzioni) che vengono descritte in modo completo in connessione in figura 3 e nelle successive figure sono o delle espansioni di meccanismi predisposti nella descrizione seguente di figura 2 o sono nuove meccanismi la cui premessa di motivazione si trova in figura 2. In ogni modo, poiché ciò è scritto non è esattamente noto quale di questi viene prima del lettore. L'obiettivo attuale è quello di fornire un punto di partenza ancora informativo semplificato per numerose descrizione dettagliate differenti di varie realizzazioni preferite, in modo che ciascuna di queste possa essere tanto concisa come appropriata (in opposizione a una specifica "jumbo" che descrive ogni cosa riguardante ogni invenzione differente) . Il secondo punto è che il materiale espanso o esteso, mentre in generale accordo totale con la figura 2, può contenere un'informazione che non "coincide" esattamente con la versione semplificata. Questo non significa che ci è stato un errore o che le cose sono fatalmente inconsistenti; il problema sorge per il fatto che talvolta è difficile o impossibile semplificare qualcosa che è l'esatta immagine in miniatura. La situazione è piuttosto come le mappe. Una mappa stradale di dimensione standard del Colorado mostra che quando si va verso est su 1-70 si può andare a nord su 1-25 a Denver. Sembra come una curva a sinistra. E mentre essa viene utilizzata essere una curva reale a sinistra, essa in effetti non è una mappa dettagliata di questa intersezione che mostra una sequenza di curve componenti e sezioni di strada che intervengono. Ma nessuno direbbe che la mappa della strada di dimensione standard è errata; è corretta per il suo livello di astrazione. In modo simile e malgrado il suo aspetto discretamente occupato la figura 2 è in effetti una semplificazione operativa a un livello medio di astrazione ma alcuni che sembrano curve a sinistra non sono semplici curve a sinistra per nulla. We now return to a description of Figure 2, which is an expansion of the simplified block diagram in the test device DUT 6 of Figure 1, of which up to thirty-six can exist. It is sufficient at the moment to describe only one case of them. A look at Figure 2 will show that it is fairly populated with material; especially so far a "simplified" block diagram. Something of what is in the DUT 6 test device is represented in the block diagram is functionally quite complicated and not available in the "off the shelf" form. Here it is appropriate to make two points. First, the fundamental purpose of including Figure 2 is to describe the fundamental properties of an important operating environment within the non-volatile memory test system 1. The invention (s) which are fully described in connection in figure 3 and in the following figures are either expansions of mechanisms predisposed in the following description of figure 2 or are new mechanisms whose motivation premise is found in figure 2. In any case, since this is written it is not exactly known which of this comes before the reader. The current goal is to provide a simplified yet informative starting point for numerous different detailed descriptions of various preferred embodiments, so that each of these can be as concise as appropriate (as opposed to a specific "jumbo" describing everything. concerning each different invention). The second point is that the expanded or expanded material, while in general total agreement with Figure 2, may contain information that does not exactly "coincide" with the simplified version. This does not mean that there has been a mistake or that things are fatally inconsistent; the problem arises from the fact that it is sometimes difficult or impossible to simplify something that is the exact miniature image. The situation is rather like the maps. A standard-sized street map of Colorado shows that when you go east on 1-70 you can go north on 1-25 in Denver. It looks like a left turn. And while it is used to be a real curve to the left, it is in fact not a detailed map of this intersection showing a sequence of component curves and intervening road sections. But no one would say that the standard-size road map is wrong; it is correct for its level of abstraction. Similarly and despite its fairly busy aspect Figure 2 is indeed an operational simplification at a medium level of abstraction but some that look like left curves are not simple left curves at all.

Come è mostrato in figura 1 l'ingresso principale del dispositivo di collaudo di DUT 6 è un caso del Bus di sito di collaudo 5 che ha origine da un controllore di sito di collaudo 4 che è associato al caso del dispositivo di collaudo di DUT 6 che è di interesse. Il Bus di sito di collaudo 5 è accoppiato a un sequenziatore di micro controllore 19 che può essere come un micro processore per scopi speciali. Esso preleva le istruzioni da un programma memorizzato di memoria di programma, che può essere interno al sequenziatore di micro controllore 6 8PGM SRAM 2=) o esterno ad esso (EXT. DRAM 21). Sebbene queste due memorie appaiono essere indirizzate da quello che è essenzialmente un indirizzo logicamente comune 63 che serve come un contatore di programma (o un indirizzo di prelievo di istruzione), e anche può essere una sorgente di programmazione da eseguire, notare che: (1) soltanto una delle memorie esegue i cicli di memoria di prelievo di istruzione durante un qualunque prelievo di tempo; e (2) in effetti esse vengono indirizzate mediante segnali elettricamente differenti. La SRAM è rapida e consente un accesso casuale genuino ma consuma uno spazio apprezzabile entro il controllore di micro sequenza 19 (che è un grande IC) per cui essa è limitata nelle dimensioni. La DRAM esterna può essere fornita in valori regolabili di quantità considerevole ma è rapida soltanto quando viene sottoposta all'accesso a blocchi sequenziali che comportano un esecuzione lineare e nessuna diramazione. La programmazione nella SRAM 20 che per lo più è intensamente formata da algoritmi, mentre la EXT. DRAM 21 è meglio adatta per un materiale non facilmente generato mediante procedimenti con algoritmi, come le routine di inizializzazione e i dati casuali o regolari. As shown in figure 1 the main input of the test device of DUT 6 is a case of the test site bus 5 which originates from a test site controller 4 which is associated with the case of the test device of DUT 6 which is of interest. The Test Site Bus 5 is coupled to a micro controller sequencer 19 which can be like a special purpose micro processor. It takes the instructions from a stored program of program memory, which can be internal to the sequencer of micro controller 6 8PGM SRAM 2 =) or external to it (EXT. DRAM 21). Although these two memories appear to be addressed by what is essentially a logically common address 63 which serves as a program counter (or instruction fetch address), and also may be a programming source to execute, note that: (1 ) only one of the memories executes the instruction picking memory cycles during any time picking; and (2) in effect they are addressed by electrically different signals. SRAM is fast and allows genuine random access but consumes appreciable space within the micro sequence controller 19 (which is a large IC) so it is limited in size. External DRAM can be provided in sizable amounts of adjustable values but is fast only when subjected to access to sequential blocks that involve linear execution and no branching. The programming in the SRAM 20 which is mostly heavily formed by algorithms, while the EXT. DRAM 21 is best suited for material not easily generated by algorithmic processes, such as initialization routines and random or regular data.

La parola di istruzione eseguita dal sequenziatore di micro controllore 19 è piuttosto ampia: duecentootto bit. Essa è costituita da tredici campi di sedici bit. Questi campi spesso rappresentano l'informazione di istruzione prelevata per i meccanismi che sono all'esterno del sequenziatore di micro controllore appropriato. Tali campi vengono dedicati ai loro meccanismi associati. Un insieme di istruzioni di ALU INSTRUCTIONS 22 vengono applicate a una raccolta di otto ALU di sedici bit 24, mentre gli altri vengono distribuiti in vari altri meccanismi distribuiti attraverso il dispositivo di collaudo di DUT. Quest'ultima situazione è rappresentata dalle linee e dalla leggenda "VARI VALORI DI CONTROLLO E ISTRUZIONI" 42. The instruction word executed by the micro controller sequencer 19 is quite large: two hundred and eight bits. It consists of thirteen fields of sixteen bits. These fields often represent instruction information taken for mechanisms that are outside the appropriate microcontroller sequencer. These fields are dedicated to their associated mechanisms. One set of ALU INSTRUCTIONS 22 instructions are applied to a collection of eight sixteen-bit 24 ALUs, while the others are distributed into various other mechanisms distributed through the DUT test device. This latter situation is represented by the lines and the legend "VARIOUS CONTROL VALUES AND INSTRUCTIONS" 42.

Gli otto ALU di sedici bit (24) hanno ciascuno un repertorio convenzionale di istruzioni aritmetiche incorporate attorno ai registri di risultato associati a sedici bit (ogni ALU ha parecchi altri registri) questi registri di risultato e i loro ALU associati servono per generare le componenti di indirizzo XY e Z 27 che vengono combinati in modo vario in un indirizzo completo da fornire al DUT. Altri due degli otto registri ALU (DH e DL) vengono forniti per assistere nella creazione degli algoritmi delle trentadue configurazioni di bit 28 che vengono suddivisi tra una parte più significativa (DH) e una parte meno significativa (DL). I tre registri ALU (A, B, C) vengono utilizzati come contatori e contribuiscono alla produzione dei vari FLAG di controllo di programma 25 che assistono con il controllo di programma e la diramazione nel completamento di qualche numero specificato programmaticamente di iterazione o altre condizioni numeriche. Questi FLAG di controllo di programma 25 vengono inviati di nuovo al sequenziatore di micro controllore 19 dove essi influenzano il valore dell'indirizzo di prelievo di istruzione in modo familiare a quelli si intendono di micro processori . Esistono anche vari altri FLAG 55 che possono essere utilizzati per effettuare la diramazione di programma. Questi traggono origine con vari altri meccanismi all'interno del dispositivo di collaudo di DUT 6 che vengono controllati dai differenti campi della parola di istruzione prelevata. Un FLAG aggiuntivo specifico viene mostrato espressamente come un particolare separato: VEC_FIFO_FULL 26. In altro disegno che ha un aspetto meno dettagliato esso potrebbe essere incorporato assieme ad altri FLAG 55. Noi lo abbiamo separato per assistere nell'illustrazione di un aspetto di un funzionamento del sequenziatore di micro controllori 19. The eight sixteen-bit ALUs (24) each have a conventional repertoire of arithmetic instructions embedded around the sixteen-bit associated result registers (each ALU has several other registers) these result registers and their associated ALUs serve to generate the address components XY and Z 27 which are combined in various ways into a complete address to be provided to the DUT. Two more of the eight ALU registers (DH and DL) are provided to assist in the creation of the algorithms of the thirty-two bit patterns 28 which are split between a more significant part (DH) and a less significant part (DL). The three ALU registers (A, B, C) are used as counters and contribute to the production of the various 25 program control FLAGs which assist with program control and branching in completing some programmatically specified number of iteration or other numerical conditions . These program control FLAGs 25 are sent back to the micro controller sequencer 19 where they influence the value of the instruction pickup address in a manner familiar to those of micro processors. There are also various other 55 FLAGs that can be used to carry out program branching. These originate with various other mechanisms within the test device of DUT 6 which are controlled by the different fields of the picked instruction word. A specific add-on FLAG is explicitly shown as a separate detail: VEC_FIFO_FULL 26. In another drawing that has a less detailed appearance it may be incorporated along with other FLAGs 55. We have separated it to assist in illustrating one aspect of an operation of the micro controller sequencer 19.

Ciò che VEC_FIFO_FULL fa è (temporaneamente) arrestare un ulteriore esecuzione di programma mediante il sequenziatore di micro controllore 19. Esistono molti stadi di "pipeline" tra le istruzioni prelevate dal sequenziatore di micro controllore 19 e il meccanismo che alla fine tratta i vettori di collaudo in modo che vengono applicati al DUT. Inoltre una parte del bagaglio che accompagna un vettore quando esso si muove per essere applicato al DUT e l'informazione concernente la velocità di un eventuale applicazione vettoriale o la durata di ciascun vettore. Così la velocità di applicazione di vettore al DUT deve essere costante e in particolare un gruppo di vettori possono richiedere più tempo per essere applicati di quanto non ne richiedono per la generazione. Il sequenziatore di micro controllore esegue semplicemente la programmazione alla sua massima velocità. Ma chiaramente in media, la velocità di "consumo di vettore" così come essa è deve essere uguale alla velocità di "produzione di vettore", almeno che la pipeline non necessiti di essere quasi elastica senza limite. Esiste un vettore FIFO 45 all'uscita del contatore di indirizzo 29 descritto di seguito, ed esso serve come una capacità elastica della pipeline. Il segnale VEC_FIFO_FULL viene utilizzato per impedire il superamento del numero limitato di stadi nella pipeline, causando una cessazione temporanea nella produzione di nuovi vettori alla fine della testa della pipe. What VEC_FIFO_FULL does is (temporarily) stop further program execution via the micro controller sequencer 19. There are many stages of "pipeline" between the instructions taken from the micro controller sequencer 19 and the mechanism that ultimately handles the test vectors so that they are applied to the DUT. In addition, a part of the baggage accompanying a carrier when it moves to be applied to the DUT and information concerning the speed of a possible vector application or the duration of each carrier. Thus the vector application rate to the DUT must be constant and in particular a group of vectors may take longer to apply than they require for generation. The micro controller sequencer simply performs programming at its maximum speed. But clearly on average, the "vector consumption" rate as it is must be equal to the "vector production" rate, unless the pipeline needs to be almost boundlessly elastic. There is a FIFO vector 45 at the output of the address counter 29 described below, and it serves as an elastic capacity of the pipeline. The VEC_FIFO_FULL signal is used to prevent the limited number of stages in the pipeline from being exceeded, causing a temporary cessation in the production of new vectors at the end of the pipe head.

Per continuare i (tre volte sedici e uguale a quarantotto bit) X, Y e Z componenti di indirizzo 27 vengono applicati a un mappatore di indirizzo 29, la cui uscita è una predisposizione quasi arbitraria selezionata in anticipo di ogni indirizzo nello spazio di indirizzi a quarantotto bit ordinata. Come punto di partenza per valutare ciò, supponiamo per un momento che il mappatore di indirizzo 29 sia una memoria che ha popolato completamente uno spazio di indirizzi di quarantotto bit e che contiene un valore di quarantotto bit in ogni indirizzo, (temporaneamente non importa che una tale memoria attualmente avrebbe le dimensioni di un grosso refrigeratore). Data una tale memoria potrebbe essere realizzata una tabella di ricerca che potrebbe mappare qualunque indirizzo applicato in un altro, arbitrariamente selezionato, un valore di 48 bit che potrebbe quindi essere utilizzato con indirizzo di sostituzione. Il motivo per cui tale mappatore di indirizzi è desiderabile è che le componenti di indirizzo X, Y e Z hanno generalmente un uso del significato nel contesto e una particolare architettura interna del DTU che molto probabilmente non viene incrementata con un grosso decodificatore lineare. Le nozioni di riga, colonne e strati, blocco o pagina possono essere molto utili per l'ingegnere del collaudo e i guasti che si verificano nelle posizioni che sono fisicamente vicine fra di loro possono comportare una corrispondente vicinanza negli indirizzi X, Y e Z. Tali configurazioni nei risultati di collaudo possono essere valide nell'apprezzare ciò che è sbagliato e nel tentativo di fissaggio, se un livello di progetto o un livello di produzione di riproduzione di una parte per mettere in corto circuito un'operazione di sezione difettosa con quella di una sezione di ricambio. Due particolari sorgono da tale supposizione. Il primo è pareggiare i quarantotto bit fino al numero reale di bit (ossia trentadue o forse sedici) da applicare al DUT. Menzioneremo brevemente come viene fatto il pareggiamento e ciò è fortemente questione di prendere tanti bit da X, tanti bit da Y e i restanti da Z. Ma non interamente e ciò è la seconda ipotesi, poiché alcuni indirizzi potrebbero trovarsi entro un circuito che è un'immagine speculare sinistra per destra (o sinistra per destra e sommità per fondo) di un'altra sezione di circuito. Ciò ha l'effetto di costituire quello che i bit significano, fin tanto che i valori degli indirizzi sequenziali sono in ordine fisico all'interno di questo circuito. Questa proprietà di disposizione di chip può verificarsi molte volte e può essere il caso in cui come un gruppo di bit per esempio Y vengono interpretati, può dipendere dal valore accompagnatorio di alcuni altri, cioè, i bit Z. Il mappatore di indirizzo 29 viene fornito per consentire che gli indirizzi X, Y e Z vengano "reimpaccate" così come erano, per riflettere questo tipo di cose a vantaggio di quelli che vorrebbero collaudare le memorie aventi tali disposizioni interne di architettura. Per quanto riguarda ciò che attualmente viene fatto il mappatore di indirizzo 29 viene costruito con un numero discretamente grande di multiplatori interconnessi . Esso non può implementare il comportamento della tabella di ricerca completamente arbitrario di uno schema di decodifica di memoria completamente popolata come è stato temporaneamente assunto prima per scopi di illustrazione. Tuttavia, esso può ricostituire i sub campi dei componenti degli indirizzi X, Y e Z come necessario, particolarmente poiché esiste ancora un altro meccanismo che farà il pareggiamento in basso dai quarantotto bit al numero reale richiesto. Il mappatore di indirizzo 29 contiene anche tre tabelle di ricerca a sedici bit (indirizzi) che consentono di realizzare una mappatura arbitrariamente limitata entro campi locali. To continue the (three times sixteen and equal to forty-eight bits) X, Y and Z components of address 27 are applied to an address mapper 29, whose output is an almost arbitrary pre-selected arrangement of each address in the address space a forty-eight bit sorted. As a starting point for evaluating this, let's assume for a moment that address mapper 29 is a memory that has fully populated a forty-eight-bit address space and that contains a forty-eight-bit value in each address, (temporarily it doesn't matter that a such memory would currently be the size of a large chiller). Given such a memory, a lookup table could be created which could map any address applied to another, arbitrarily selected, a 48-bit value which could then be used as a replacement address. The reason such an address mapper is desirable is that the X, Y, and Z address components generally have a use of meaning in context and a particular internal architecture of the DTU that is most likely not augmented with a large linear decoder. The notions of row, column and layer, block or page can be very useful for the test engineer, and failures that occur in locations that are physically close to each other can result in corresponding proximity in the X, Y and Z addresses. configurations in the test results can be valid in appreciating what is wrong and attempting to fix, if a design level or production level of reproduction of a part to short circuit a faulty section operation with that of a spare section. Two details arise from this supposition. The first is to equalize the forty-eight bits up to the real number of bits (i.e. thirty-two or perhaps sixteen) to be applied to the DUT. We will briefly mention how equalization is done and this is strongly a matter of taking many bits from X, many bits from Y and the rest from Z. But not entirely and this is the second hypothesis, since some addresses could be located within a circuit which is a ' mirror image left for right (or left for right and top for bottom) of another circuit section. This has the effect of constituting what the bits mean, as long as the sequential address values are in physical order within this circuit. This chip arrangement property can occur many times and it can be the case where as a group of bits for example Y are interpreted, it can depend on the accompanying value of some others, i.e., the Z bits. The address mapper 29 is provided to allow X, Y, and Z addresses to be "repacked" as they were, to reflect this kind of thing for the benefit of those who would like to test memories having such internal architecture arrangements. As regards what is currently being done, the address mapper 29 is constructed with a fairly large number of interconnected multiplexers. It cannot implement the completely arbitrary lookup table behavior of a fully populated memory decoding scheme as was temporarily assumed before for illustration purposes. However, it can reconstitute the sub fields of the components of the X, Y, and Z addresses as needed, particularly since there is yet another mechanism that will do the equalization down from forty-eight bits to the required real number. The address mapper 29 also contains three sixteen-bit lookup tables (addresses) which allow to realize an arbitrarily limited mapping within local fields.

L'uscita di indirizzo mappato 30 del mappatore di indirizzo 29 viene applicata come un indirizzo a una Aux RAM 31 e a una RAM di prelievo di errore 32, che mentre hanno funzioni separate, possono tuttavia essere parti selezionabili implementate in una RAM globale più grande. L'uscita di indirizzo mappatore 30 verrà anche applicata a un ingresso su un circuito Addr. Bis Select 37 che viene descritto di seguito. The mapped address output 30 of the address mapper 29 is applied as an address to an Aux RAM 31 and an error pickup RAM 32, which while they have separate functions, may nevertheless be selectable parts implemented in a larger global RAM. The mapping address output 30 will also be applied to an input on an Addr circuit. Bis Select 37 which is described below.

Consideriamo la Aux RAM 31. La sua funzione è quella di mantenere le configurazioni di dati 33 e gli indirizzi 34 che possono essere applicati al DUT. Queste sono uscite logicamente separate dalla Aux RAM 31, poiché esse vengono trattate in qualche modo differentemente e utilizzate in posti differenti, (la Aux RAM 31 non è una "memoria di porta" duplice, ma è preferibilmente costituita da alcuni banchi le cui uscite vengono applicate ai MUX) . Nel trattare ciò può essere che i dati memorizzati 33 vengano tenuti in un banco o in una gamma di indirizzi dalla Aux RAM 31 mentre gli indirizzi memorizzati 34 vengono tenuti in un altro. Inoltre noi non abbiamo mostrato un meccanismo esplicito per scrivere nella Aux RAM 31. Ciò viene realizzato mediante un'operazione di bus indirizzato iniziata da un controllore di sito di collaudo 4 su ordine del programma che è in esecuzione, (esiste un "under thè flooboards" come se fosse, un bus di "servizi di utilità" detto "bus ad anello" [non mostrato, come se raggruppasse immensamente il disegno] che va proprio per ogni cosa in figura 2). Let us consider Aux RAM 31. Its function is to hold data configurations 33 and addresses 34 that can be applied to the DUT. These are logically separate outputs from Aux RAM 31, as they are treated somewhat differently and used in different places, (Aux RAM 31 is not a dual "port memory", but is preferably made up of some banks whose outputs are applied to MUX). In dealing with this it may be that the stored data 33 is held in one bank or range of addresses by the Aux RAM 31 while the stored addresses 34 are held in another. Also we have not shown an explicit mechanism for writing to Aux RAM 31. This is accomplished by a routed bus operation initiated by a test site controller 4 on the order of the program that is running, (there is an "under the flooboards "as if it were, a bus of" utility services "called a" ring bus "[not shown, as if it immensely groups the drawing] which goes just for everything in figure 2).

La RAM di prelievo di errore 32 viene indirizzata con lo stesso indirizzo che viene applicato alla Aux RAM 31 e memorizza o recupera l'informazione circa gli errori, le quali operazioni vengono eseguite in unione a un circuito di post decodifica che verrà descritto successivamente. Come con i percorsi 33 e 34 dalla Aux RAM 31, i percorsi 61 (nella RAM di prelievo di errori) e 62 (dalla RAM di prelievo di errore) sono preferibilmente uscite sottoposte a MUX da una memoria a banchi multipli (la RAM di prelievo di errore 32) secondo l'informazione di configurazione distribuita dal bus ad anello (non mostrata). The error retrieval RAM 32 is addressed with the same address that is applied to the Aux RAM 31 and stores or retrieves the information about the errors, which operations are performed in conjunction with a post decoding circuit which will be described later. As with the paths 33 and 34 from Aux RAM 31, paths 61 (in the error sampling RAM) and 62 (from the error sampling RAM) are preferably MUX-submitted outputs from a multiple-bank memory (the sampling RAM). error 32) according to the configuration information distributed by the ring bus (not shown).

Notare che il MUX di dati 35 ha come ingressi i dati memorizzati posti in uscita 33 alla Aux RAM 31 nonché i dati 38 dai registri DH e DL nella raccolta 24 di ALU. Il MUX di dati 35 seleziona quale di questi ingressi (28, 32) presentare come sua uscita 38, che viene quindi applicata come uno di due componenti vettoriali a un mappatore di lettore di trasmissione/serializzatore/circuito di dati di confronto di vettore di ricezione 40 (un altro componente è l'uscita 39 del circuito Addr.Bit Select 37). Il circuito 40 può eseguire tre funzioni: assiemare i componenti vettoriali (38, 39) in una rappresentazione logica ordinata di un intero vettore che deve essere applicato (trasmesso) al DUT; applicare una corrispondenza dinamica arbitraria (mappatore) tra i bit ordinati della rappresentazione logica del vettore di trasmissione e il numero reale di canali fisici dell'elettronica a Pin (cioè quale punto di sonda) che sarà a contatto del DUT al posto di questo segnale (cioè questo bit nel vettore); e cooperare con il compilatore nella divisione di un vettore logico intero in elementi da applicare separatamente e in ordine (serializzazione) per i DUT che ammettono una tale cosa. Quale di queste funzioni viene realizzata viene determinato dai segnali di controllo da una SRAM 41 che viene anche indirizzata secondo un campo nell'istruzione di 208 bit prelevata dal sequenziatore di micro controllore 19. L'uscita del circuito 40 è un vettore fino a sessantaquattro bit 44 che viene applicato a un vettore FIFO 45 che quando è pieno genera il segnale VEC_FIFO_FULL 26 di cui il significato e l'uso e stato descritto prima. Il vettore sulla sommità del vettore FIFO 45 viene rimosso da esso al ricevimento di un segnale VEC_FIFO_UNLOAD 47 che ha origine in un vettore di periodo 49 (che verrà descritto brevemente). Tali vettori rimossi (46) vengono applicati a un circuito di temporizzazione/formattazione e confronto 52 che è collegato al DUT attraverso il caso associato dell'elettronica a Pin 9. Cioè ogni caso dell'elettronica a Pin 9 riceve i vettori trasmessi e ricevuti 7 e l'informazione di configurazione di elettronica a Pin 8 dal suo circuito associato di temporizzazione/formattazione e confronto 52. Note that the data MUX 35 has as inputs the stored data output 33 to the Aux RAM 31 as well as the data 38 from the DH and DL registers in the ALU collection 24. Data MUX 35 selects which of these inputs (28, 32) to present as its output 38, which is then applied as one of two vector components to a transmit reader / serializer / receive vector comparison data circuit. 40 (another component is output 39 of the Addr.Bit Select circuit 37). The circuit 40 can perform three functions: assembling the vector components (38, 39) in an ordered logical representation of an entire vector to be applied (transmitted) to the DUT; apply an arbitrary dynamic correspondence (mapper) between the ordered bits of the logical representation of the transmission vector and the real number of physical channels of the electronics to Pin (i.e. which probe point) that will be in contact with the DUT instead of this signal ( i.e. this bit in the vector); and cooperating with the compiler in dividing an integer logical vector into elements to be applied separately and in order (serialization) for DUTs that admit such a thing. Which of these functions is performed is determined by the control signals from a SRAM 41 which is also addressed according to a field in the 208-bit instruction taken from the sequencer of micro controller 19. The output of the circuit 40 is a vector of up to sixty-four bits 44 which is applied to a FIFO vector 45 which when full generates the signal VEC_FIFO_FULL 26 whose meaning and use have been described above. The vector on top of the FIFO vector 45 is removed therefrom upon receipt of a VEC_FIFO_UNLOAD signal 47 originating in a period vector 49 (which will be briefly described). Such removed vectors (46) are applied to a timing / formatting and comparison circuit 52 which is connected to the DUT through the associated case of the Pin 9 electronics. That is, each case of the Pin 9 electronics receives the transmitted and received 7 vectors. and the electronics configuration information at Pin 8 from its associated timing / formatting and comparison circuit 52.

Il circuito di temporizzazione/formattazione e confronto 52 ha una SRAM interna 54 indirizzata dallo stesso indirizzo di istruzione ("A" nel piccolo cerchio) poiché è la SRAM di programma 20 del sequenziatore di micro controllore 19. (Una DRAM esterna 53 può essere utilizzata al posto della SRAM interna 54). La SRAM interna 54 (o la DRAM esterna 53) assiste nella produzione dei cicli di pilotaggio e confronto. I cicli di pilotaggio applicano un vettore di trasmissione al DUT. I cicli di confronto ricevono un vettore presentato da DUT e lo esaminano per determinare se esso coincide con i dati di confronto forniti precedentemente. Entrambi i cicli di pilotaggio e di confronto sono regolabili per quanto riguarda la loro durata, se e quando viene applicato un carico e quando i dati vengono sottoposto a latch o a strob. Il confronto produce un valore a sessantaquattro bit 56 che viene applicato al mappatore verso il vettore di ricezione/deserializzatore 57, la cui funzione può essere considerata essere l'inverso logico del circuito 40. (il funzionamento del circuito 57 viene controllato da una SRAM 58 che corrisponde al controllo del circuito 40 mediante la SRAM 41). A sua volta l'uscita 59 del circuito 57 viene applicata al circuito di post decodifica 60. Prevalentemente è sufficiente dire che il circuito di post decodifica 60 può ispezionare mediante criteri programmatici entrambe l'informazione di errore in arrivo 59 e l'informazione di errore memorizzata (precedentemente) 60 (memorizzata nella RAM di prelievo di errore) per produrre una informazione di errore condensata e più facilmente interpretabile che può quindi essere memorizzata di nuovo nella RAM di prelievo di errore 32 attraverso il percorso 61. Un esempio servirebbe a creare un conteggio di quante volte è avvenuto un errore all'interno di un campo particolare di indirizzi, la quale informazione può essere utile nel decidere quando tentare di impegnarsi in una riparazione di un chip abilitando i circuiti sostitutivi. The timing / formatting and comparison circuit 52 has an internal SRAM 54 addressed by the same instruction address ("A" in the small circle) since it is the program SRAM 20 of the micro controller sequencer 19. (An external DRAM 53 can be used instead of the internal SRAM 54). Internal SRAM 54 (or external DRAM 53) assists in producing the driving and comparison cycles. Drive cycles apply a transmission vector to the DUT. The comparison cycles receive a vector presented by DUT and examine it to determine if it matches the comparison data provided previously. Both drive and compare cycles are adjustable for their duration, if and when a load is applied, and when data is latched or strobed. The comparison produces a sixty-four bit value 56 which is applied to the mapper towards the receive / deserializer vector 57, whose function can be considered to be the logical inverse of the circuit 40. (the operation of the circuit 57 is controlled by a SRAM 58 which corresponds to the control of the circuit 40 by the SRAM 41). In turn, the output 59 of the circuit 57 is applied to the post decoding circuit 60. It is generally sufficient to say that the post decoding circuit 60 can inspect both the incoming error information 59 and the error information by programmatic criteria. stored (previously) 60 (stored in the error sampling RAM) to produce a condensed and more easily interpretable error information which can then be stored again in the error sampling RAM 32 via path 61. An example would serve to create a counting how many times an error has occurred within a particular address range, which information can be useful in deciding when to attempt to engage in a chip repair by enabling replacement circuits.

Torniamo ora al generatore di periodo 49 e alla sua SRAM di temporizzazione associata 51. Queste rispondono a un segnale a otto bit T_SEL 43 che, per ogni istruzione di 208 bit prelevata dal sequenziatore di micro controllore 19, determina una durata per l'operazione associata del circuito di temporizzazione/formattazione e confronto 52. T_SEL 43 è l'elemento dei valori e istruzioni vari e di controllo 42 che sono rappresentati dai differenti campi all'interno dell'istruzione prelevata. Poiché un valore a otto bit può rappresentare o codificare duecentocinquantasei cose differenti. In questo caso queste "cose" sono valori a ventotto bit memorizzati nella SRAM di temporizzazione 51 e che vengono indirizzati mediante T_SEL. Ogni valore di ventotto bit indirizzato (23) specifica una durata desiderata con una risoluzione di 19.5 picosecondi . La sequenza dei valori di durata di ventotto bit indirizzati (23) viene memorizzata in una FIFO di periodo 50 in modo che gli elementi individuali di questa sequenza vengano recuperati e applicati in sincronismo col recupero del loro vettore corrispondente inteso, che è memorizzato nella FIFO di vettore 45. Let us now return to the period generator 49 and its associated timing SRAM 51. These respond to an eight-bit signal T_SEL 43 which, for each 208-bit instruction taken from the microcontroller sequencer 19, determines a duration for the associated operation of the timing / formatting and comparison circuit 52. T_SEL 43 is the element of the various and control values and instructions 42 which are represented by the different fields within the picked instruction. Because an eight-bit value can represent or encode two hundred and fifty-six different things. In this case these "things" are twenty-eight bit values stored in the timing SRAM 51 and which are addressed by T_SEL. Each addressed twenty-eight bit value (23) specifies a desired duration with a resolution of 19.5 picoseconds. The sequence of the addressed twenty-eight bit duration values (23) is stored in a FIFO of period 50 so that the individual elements of this sequence are retrieved and applied in synchronism with the retrieval of their intended corresponding vector, which is stored in the FIFO of vector 45.

Un campo di valore di temporizzazione grossolano nell'ingresso più vecchio nella FIFO 50 convoglia l'informazione di durata con una risoluzione di 5 nsec, e produce da essa un segnale VEC_FIFO_UNLOAD 47 che trasferisce il successivo vettore di trasmissione dalla FIFO di vettore 45 al circuito di temporizzazione ala formattazione e confronto 52. Un segnale accompagnatorio TIMING REMAINDER 48 viene anche applicato al circuito 52. È qui che viene realizzata l'ultima risoluzione fino a 19.5 picosecondi. A coarse timing value field in the oldest input in FIFO 50 conveys the duration information with a resolution of 5 nsec, and produces from it a signal VEC_FIFO_UNLOAD 47 which transfers the next transmission vector from the vector FIFO 45 to the circuit Formatting and Comparison 52. An accompanying TIMING REMAINDER 48 signal is also applied to circuit 52. This is where the last resolution down to 19.5 picoseconds is realized.

Alcune memorie sono costituite da blocchi multipli di memoria che vengono replicati su una singola matrice per realizzare lo spazio totale di memoria in un dispositivo di memoria. Come è spesso il caso i blocchi replicati sono immagini speculari gli uni degli altri su un asse verticale o orizzontale o su entrambi, e questi blocchi replicati possono venire ulteriormente replicati. Some memories consist of multiple blocks of memory that are replicated on a single matrix to realize the total memory space in a memory device. As is often the case, replicated blocks are mirror images of each other on a vertical or horizontal axis or both, and these replicated blocks can be replicated further.

Spesso è efficace comporre un singolo dispositivo di collaudo per uno dei blocchi di memoria e ripeterlo per i blocchi replicati. Mentre la configurazione di collaudo è rilevante per ogni blocco, non è possibile riutilizzare semplicemente un singolo dispositivo di collaudo e tutti i blocchi di memoria poiché i blocchi di memoria sono le immagini gli uni degli altri. Di conseguenza i blocchi replicati hanno un impatto con un collaudo per il dispositivo in quanto i bit di indirizzo possono seguire una sequenza differente per ogni blocco. Le sequenze differenti tuttavia sono in relazione una con l'altra. La caratteristica di "scramble" consente ad uno sviluppatore di collaudo di riutilizzare le configurazioni di collaudo per i differenti blocchi di memoria programmando soltanto una funzione di scramble. La stessa configurazione di collaudo viene riutilizzata, e la funzione di scramble, che è separata mediante algoritmi dalle istruzione di programma di configurazione di collaudo esegue i compiti di amministrazione relativi all'adattamento della configurazione di collaudo per ogni blocco di memoria replicato. Alcune memorie sono anche organizzate in pagine. Le pagine vengono indirizzate utilizzando alcuni subinsiemi di bit di indirizzo. La funzione d scramble viene migliorata consentendo un controllo mediante algoritmi di alcuni bit separatamente dalle altre linee di indirizzo e quindi consente la sostituzione di questi bit per i bit di indirizzo regolare che vengono posti in ingresso nella funzione di scramble. Con riferimento specifico alla figura 3 dei disegni viene mostrata una vista in dettaglio di medio livello del mappatore di indirizzo 29 mostrato in figura 2 dei disegni in cui i blocchi di XScramble 302, YScramble 304 e ZScramble 306 ricevono ciascuno 16 bit dì indirizzo dai registri di ALU di indirizzo X, indirizzo Y e indirizzo Z rispettivamente 24. Di conseguenza le quarantotto (48) linee di indirizzo mostrate come numero di riferimento 27 in figura 2 vengono separate in tre (3) raggruppamenti di linee di indirizzo logico a 16 bit in figura 3. I blocchi XScramble, YScramble e ZScramble 302, 304, 306 ricevono anche l'informazione che ha origine nei registri APG. La programmabilità dei registri APG fornisce le caratteristiche di programmabilità delle funzioni di dispositivo di collaudo. I valori per ciascuno dei registri APG sono memorizzati come parte del codice oggetto compilato in una configurazione di collaudo e vengono scaricate in modo da fornire i valori iniziali prima dell'esecuzione di una configurazione di collaudo. È anche possibile, sebbene non sia comune, modificare i valori in alcuni dei registri APG durante l'esecuzione della configurazione di collaudo. Esistono un grande numero di registri APG nel dispositivo di collaudo e soltanto quei registri che sono rilevanti per la presente invenzione vengono qui descritti. I registri APG rilevanti per il blocco XScramble 302 includono un registro 308 APG_XSCR_JAM_MASK[0:15], un registro 310 APG_XSCR_JAM_ADDR [0:15], il bit 2 di un registro APG_XYZ_SCR_EN 312, un registro APG_XSCR_Z_EN [0:7] 314 e i registri APG XSCR Z BITS L[0:15] e APG XCR Z BITS U [0:15] 316. I registri APG rilevanti per il blocco YScramble 304 includono un registro APG_YSCR_JAM_MASK [0:15] 318, un registro APG_YSCR_JAM_ADDR [0:15] 320, il bit 1 di un registro APG_XYZ_SCR_EN 312, un registro APG_YSCR_Z_EN [0:7] 322 e i registri APG_YSCR_Z_BITS_L [0:15] e APG_YSCR_Z_BITS_U [0:15] 324. I registri APG rilevanti per il blocco ZScramble 306 includono un registro APG_ZSCR_JAM_MASK [0:15] 326 e il registro APG_ZSCR_JAM_ADDR [0:15] 328, e il bit 0 del registro APG_XYZ_SCR_EN 312. I blocchi XScramble, YScramble e ZScramble 302, 304, 306 eseguono la funzione di mappatura e pongono in uscita tre (3) insiemi di informazione di indirizzo reale a 16 bit 330 in una logica di latenza programmabile 332. La logica di latenza programmabile 332 esegue la funzione che consente alo sviluppatore di collaudo di programmare una latenza tra l'informazione di indirizzo presentata al DUT e il DUT trasmette o risponde l'informazione di dati. La logica di latenza programmabile 332 pone in uscita quarantotto (48) linee di indirizzo regolato di latenza di ciclo 334 che vengono poste in ingresso nella RAM ausiliaria 31. It is often effective to dial a single tester for one of the memory blocks and repeat it for the replicated blocks. While the test configuration is relevant for each block, it is not possible to simply reuse a single test device and all memory blocks since the memory blocks are images of each other. Consequently, the replicated blocks have an impact with a test for the device as the address bits can follow a different sequence for each block. The different sequences, however, are related to each other. The "scramble" feature allows a test developer to reuse test configurations for different memory blocks by programming only one scramble function. The test configuration itself is reused, and the scramble function, which is separated by algorithms from the test configuration program instructions, performs the administrative tasks related to adapting the test configuration for each replicated memory block. Some memories are also organized into pages. Pages are addressed using some subsets of address bits. The d scramble function is improved by allowing algorithmic control of some bits separately from other address lines and thus allows the substitution of these bits for the regular address bits that are input into the scramble function. With specific reference to Figure 3 of the drawings, a mid-level detailed view of the address mapper 29 shown in Figure 2 of the drawings is shown in which the blocks of XScramble 302, YScramble 304 and ZScramble 306 each receive 16 bits of address from the registers of ALU of address X, address Y and address Z respectively 24. Consequently, the forty-eight (48) address lines shown as reference number 27 in Figure 2 are separated into three (3) groupings of 16-bit logical address lines in Figure 3. The XScramble, YScramble and ZScramble 302, 304, 306 blocks also receive the information originating in the APG registers. The programmability of the APG registers provides the programmability features of the test device functions. The values for each of the APG registers are stored as part of the compiled object code in a test configuration and are downloaded to provide initial values before a test configuration is run. It is also possible, although not common, to change the values in some of the APG registers while running the test configuration. There are a large number of APG registers in the test device and only those registers which are relevant to the present invention are described here. The APG registers relevant to the XScramble block 302 include a register 308 APG_XSCR_JAM_MASK [0:15], a register 310 APG_XSCR_JAM_ADDR [0:15], the bit 2 of an APG_XYZ_SCR_EN register 312, a register APG_XSCR_Z_EN [0: 7 registers] APG XSCR Z BITS L [0:15] and APG XCR Z BITS U [0:15] 316. The APG registers relevant to block YScramble 304 include one register APG_YSCR_JAM_MASK [0:15] 318, one register APG_YSCR_JAM_ADDR [0:15 ] 320, bit 1 of a register APG_XYZ_SCR_EN 312, a register APG_YSCR_Z_EN [0: 7] 322 and the registers APG_YSCR_Z_BITS_L [0:15] and APG_YSCR_Z_BITS_U [0:15] 324. The APG registers relevant to the block ZScramble 306 APG_ZSCR_JAM_MASK [0:15] 326 and the register APG_ZSCR_JAM_ADDR [0:15] 328, and bit 0 of the APG_XYZ_SCR_EN 312 register. The XScramble, YScramble and ZScramble blocks 302, 304, 306 perform the output mapping function ( 3) 16-bit real address information sets 330 in programmable latency logic 332 The programmable latency logic 332 performs the function which allows the test developer to program a latency between the address information presented to the DUT and the DUT transmits or responds to the data information. The programmable latency logic 332 outputs forty-eight (48) cycle latency regulated address lines 334 which are input into the auxiliary RAM 31.

Con riferimento specifico alla figura 4 dei disegni viene mostrato uno schema a blocchi dettagliato del blocco XScramble 302 in cui si trovano gli stadi di sostituzione a z bit e di logica di "jamming", una tabella di ricerca e uno stadio di disabilitazione tra l'ingresso e l'uscita del blocco XScramble 302. I blocchi XScramble e YScramble 302, 304 sono virtualmente identici nella struttura, di conseguenza, per evitare una ridondanza non necessaria, soltanto il blocco XScramble 302 viene mostrato e descritto per scopi di descrizione dei blocchi XScramble e YScramble 302, 304. Per semplicità di illustrazione la descrizione inizia con i componenti alla sinistra di figura 4 procede sulla destra. With specific reference to Figure 4 of the drawings, a detailed block diagram of the XScramble block 302 is shown in which there are the z-bit substitution and jamming logic stages, a search table and a disabling stage between the input and the output of the XScramble 302 block. The XScramble and YScramble 302, 304 blocks are virtually identical in structure, therefore, to avoid unnecessary redundancy, only the XScramble 302 block is shown and described for the purpose of describing the XScramble and YScramble 302, 304. For simplicity of illustration the description begins with the components on the left of figure 4 and proceeds on the right.

Per scopi di nomenclatura le linee di indirizzo X 27 che vengono ricevute dal registro ALU di indirizzo X 24 vengono dette le linee logiche di indirizzo X 404. Lo stadio di sostituzione di bit Z consente a uno sviluppatore di collaudo di sostituire fino a otto (8) delle linee di indirizzo X logico più significativo 404 con fino a otto (8) di una qualunque di sedici (16) linee di indirizzo Z 402. Gli ALU 24 di indirizzo X, Y e Z vengono manipolati separatamente uno rispetto all'altro. Consentendo la sostituzione di bit di alcune delle linee di indirizzo X o Y fino a otto (8) delle linee di indirizzo Z fornisce vantaggiosamente la manipolazione indipendente di due (2) subinsiemi dei canali di dispositivo di collaudo che sono dedicati alle linee di indirizzo X e di indirizzo Y. Lo sviluppatore di collaudo può volere questa caratteristica allo scopo di utilizzare il registro ALU di indirizzo z 24 per 1'indirizzamento di pagina in un DUT 14. Gli otto (8) bit di indirizzo X logico meno significativo 404b non vengono elaborati attraverso lo stadio logico di sostituzione di bit z. Ciascuno degli otto (8) bit di indirizzo X logico più significativi 404a, 404c viene elaborato attraverso i rispettivi stadi logici di sostituzione di bit z. Utilizzando il nono bit di indirizzo X reale 404a come esempio illustrativo, tutti i sedici (16) dei bit di indirizzo Z logico 402 sono disponibili per la selezione e vengono posti in ingresso in un multiplatore di selezione z 16x1 406. Quattro (4) bit posti nel registro APG_XSCR_Z_BITS_L 316, specificamente i bit APG_XCR_Z_BITS_L [0:3] vengono assegnati come rilevanti al nono bit di indirizzo X reale 404a. I quattro bit APG_XSCR_Z_BITS_L [0:3] selezionano uno dei sedici (16) di indirizzo Z disponibili 402 da presentare come un bit di sostituzione 408 per il nono bit di indirizzo X reale 404a all'uscita del multiplatore di selezione z 406. Il nono bit di indirizzo C reale 404a e la sostituzione del bit z selezionato 408 vengono posti in ingresso in un multiplatore di abilitazione di bit z 2x1 410. il bit 2 del registro APG_XYZ_SCR_EN 312 abilita o disabilita la funzione di scrambling per il blocco XScramble 302 in dipendenza dai blocchi YScramble e ZScramble 304, 306. I blocchi YScramble e ZScramble 304, 306 hanno ciascuno un bit unico, i bit rispettivamente APG_XYZ_SCR_EN [1] e APG_XYZ_SCR_EN [0], per abilitare o disabilitare la funzione di scramble indipendente dagli altri blocchi di scramble. Il registro APG_XSCR_Z_EN 314 contiene un bit per ciascuna delle otto (8) linee di indirizzo x 404a, 404c che abilita o disabilita la funzione di sostituzione di bit z per ogni linea e può essere predisposta indipendentemente per ciascuna delle linee di indirizzo superiori 404a, 404c. Nella realizzazione descritta il bit APG_XSCR_Z_EN [8] viene assegnato per abilitare o disabilitare la sostituzione del bit z per la nona linea di indirizzo X reale 404a. Una congiunzione del nono bit che ha origine nel registro APG_XSCR_Z_EN 314 (cioè il bit APG_XSCR_Z_EN [8]) e il bit APG_XYZ_SCR_EN [2] 312 seleziona o il nono bit di indirizzo X reale 404a o la sostituzione di bit z 408 da presentare come uscita 408 del multiplatore di abilitazione di bit z 410. l'operazione di congiunzione disabilita la funzione di sostituzione di bit z se la funzione di scramble viene bypassata dal blocco 302. di conseguenza il bit 2 del registro APG_XYZ_SCR_EN 312 e l'ottavo bit del registro APG_XSCR_Z_EN 314 deve essere predisposto come vero allo scopo di operare la funzione di sostituzione di bit z. Se uno qualunque dei bit di abilitazione dai registri 314 e 312 sono predisposti falsi, il bit di indirizzo x logico 404a viene presentato all'uscita del multiplatore di abilitazione di bit z ha associati con esso quattro (4) bit unici dai registri APG_XSCR_Z_BITS_L e APG_XSCR_Z_BITS_U 316 come un rispettivo bit unico nel registro APG_XSCR_Z_EN_314 . di conseguenza la funzione di sostituzione di bit z può essere programmata separatamente per ciascuno degli otto (8) bit più significativi delle linee di indirizzo X logico 404a, 404c. L'uscita collettiva dello stadio logico di sostituzione di bit z viene detta linee di indirizzo X selezionate z 412. For nomenclature purposes the X address lines 27 that are received by the X address ALU register 24 are referred to as the X address logic lines 404. The Z bit substitution stage allows a test developer to substitute up to eight (8 ) of the most significant logical X address lines 404 with up to eight (8) of any of sixteen (16) Z address lines 402. The X, Y and Z address ALUs 24 are handled separately from each other. Allowing bit substitution of some of the X or Y address lines up to eight (8) of the Z address lines advantageously provides independent manipulation of two (2) subsets of the test device channels which are dedicated to the X address lines and of address Y. The test developer may want this feature in order to use the ALU register of address z 24 for page addressing in a DUT 14. The eight (8) bits of least significant logical X address 404b are not processed through the bit substitution logic stage z. Each of the eight (8) most significant logical X address bits 404a, 404c is processed through the respective logical bit substitution stages z. Using the ninth real X address bit 404a as an illustrative example, all sixteen (16) of the logical Z address bits 402 are available for selection and are input into a 16x1 406 z selection multiplexer. Four (4) bits placed in the register APG_XSCR_Z_BITS_L 316, specifically the bits APG_XCR_Z_BITS_L [0: 3] are assigned as relevant to the ninth bit of the real X address 404a. The four bits APG_XSCR_Z_BITS_L [0: 3] select one of the sixteen (16) available Z address 402 to be presented as a replacement bit 408 for the ninth bit of real X address 404a at the output of the selection multiplexer z 406. The ninth bit of real C address 404a and the substitution of the selected bit z 408 are input into a 2x1 bit z enable multiplexer 410. bit 2 of the register APG_XYZ_SCR_EN 312 enables or disables the scrambling function for the XScramble block 302 in dependence from blocks YScramble and ZScramble 304, 306. The blocks YScramble and ZScramble 304, 306 each have a unique bit, the bits respectively APG_XYZ_SCR_EN [1] and APG_XYZ_SCR_EN [0], to enable or disable the scramble function independent of the other scramble blocks . The register APG_XSCR_Z_EN 314 contains one bit for each of the eight (8) address lines x 404a, 404c which enables or disables the bit substitution function z for each line and can be set independently for each of the upper address lines 404a, 404c . In the described embodiment the bit APG_XSCR_Z_EN [8] is assigned to enable or disable the substitution of the bit z for the ninth real address line X 404a. A conjunction of the ninth bit originating in the APG_XSCR_Z_EN 314 register (i.e. the APG_XSCR_Z_EN [8] bit) and the APG_XYZ_SCR_EN [2] 312 bit selects either the ninth bit of real X address 404a or the substitution of bit z 408 to be presented as output 408 of bit enable multiplexer z 410. the conjunction operation disables the bit substitution function z if the scramble function is bypassed by block 302. consequently bit 2 of register APG_XYZ_SCR_EN 312 and the eighth bit of register APG_XSCR_Z_EN 314 must be set as true in order to operate the bit substitution function z. If any of the enable bits from registers 314 and 312 are set false, the logical x address bit 404a is presented to the output of the z-bit enable multiplexer has four (4) unique bits associated with it from the registers APG_XSCR_Z_BITS_L and APG_XSCR_Z_BITS_U 316 as a respective unique bit in the APG_XSCR_Z_EN_314 register. consequently the bit substitution function z can be programmed separately for each of the eight (8) most significant bits of the logical X address lines 404a, 404c. The collective output of the bit-substitution logic stage z is called selected address lines X z 412.

I blocchi XScramble, YScramble e ZScramble 302, 304, 306 contengono tutti lo stadio logico di "jamming". Di conseguenza la presente descrizione è rilevante per tutti i blocchi scramble, soltanto il blocco XScramble 302 essendo qui descritto in dettaglio. Lo stadio logico di jamming comprende un multiplatore di jamming 2x1414 per ogni bit degli otto (8) bit meno significativi delle linee di indirizzo X logico 404b e per ogni bit delle linee di indirizzo X selezionate z più significative 412. Lo stadio di jamming consente lo scavalcamento dei valori di bit presentati come l'indirizzo Z logico 404b o l'indirizzo X selezionato z 412 con un valore programmato fisso. Le posizioni corrispondenti di bit nei registri APG_XSCR__JAM_MASK 308 e APG_XSCR_JAM_ADDR 310 corrispondono alla rispettiva posizione di bit nelle line di indirizzo X selezionato z 404, 412. I bit nel registro APG_XS CR_JAM_ADDR 310 vengono presentati come ingresso nel multiplatore di jamming 414. L'altro ingresso è uno dei bit dalle linee di indirizzo X selezionato z logico 404b, 412. Un bit nel registro APG_XSCR_JAM_MASK 308 che corrisponde al rispettivo bit nella linea di indirizzo X seleziona o la linea di indirizzo X selezionato z logico 404b, 412 o il valore di bit programmato nel registro APG_XSCR_JAM_MASK 310 fa presentare come l'uscita dal multiplatore di jamming 414. Ogni stadio di jamming ha associato ad esso un bit unico nei registri APG_XSCR_JAM_ADDR e APG_XSCR_JAM_MASK 308, 310. Di conseguenza la funzione di jamming può essere programmata separatamente per ciascuna delle sedici linee di indirizzo X 404. L'uscita collettiva dello stadio logico di jamming viene detta linee di indirizzo X effettivi 416. The XScramble, YScramble and ZScramble blocks 302, 304, 306 all contain the "jamming" logic stage. Consequently, the present description is relevant for all scramble blocks, only the XScramble block 302 being described in detail here. The jamming logic stage comprises a 2x1414 jamming multiplexer for each bit of the eight (8) least significant bits of the logical X address lines 404b and for each bit of the selected z most significant address lines 412. The jamming stage allows the overriding of the bit values presented as the logical Z address 404b or the selected X address z 412 with a fixed programmed value. The corresponding bit positions in the APG_XSCR__JAM_MASK 308 and APG_XSCR_JAM_ADDR 310 registers correspond to the respective bit position in the selected X address lines z 404, 412. The bits in the APG_XS CR_JAM_ADDR 310 register are presented as input in jamming multiplexer 414. The other input is one of the bits from the selected X address lines logical z 404b, 412. A bit in register APG_XSCR_JAM_MASK 308 that corresponds to the respective bit in the address line X selects either the selected address line X logical z 404b, 412 or the bit value programmed in the register APG_XSCR_JAM_MASK 310 shows how the output from jamming multiplexer 414. Each jamming stage has associated to it a unique bit in the registers APG_XSCR_JAM_ADDR and APG_XSCR_JAM_MASK 308, 310. Consequently the jamming function can be programmed separately for each of the sixteen address lines X 404. The collective output of the jamming logic stage is called lines of actual X address 416.

Le linee di indirizzo X effettive 416 indirizzano una RAM; XScramble 418. La RAM XScramble 418 è una memoria di 64 kparole per 16 bit che fornisce una tabella di ricerca per la funzione di mappatura secondo la convenzione. Le linee di indirizzo X effettive 416 indirizzano una delle 64 kparole e la parola che viene indirizzata viene presentata come linee di indirizzo X mappate 420. La RAM XScramble 418 viene programmata con valori di mappatura appropriati prima dell'esecuzione della configurazione di collaudo e viene programmata allo stesso momento dei registri APG 308-328. Actual X address lines 416 address a RAM; XScramble 418. XScramble 418 RAM is 64 kwords by 16 bit memory that provides a lookup table for the mapping function according to the convention. The actual X address lines 416 address one of the 64 kwords and the word being addressed is presented as 420 mapped X address lines. The XScramble 418 RAM is programmed with appropriate mapping values before running the test configuration and is programmed at the same time as APG registers 308-328.

Lo stadio di disabilitazione realizzato mediante programmazione appropriata dei bit 0-2 del registro APG_XYZ_SCR_EN 312. lo sviluppatore di collaudo può disabilitare in modo programmatico l'intera funzione di mappatura per ciascuno dei blocchi XScramble, YScramble e XScramble 302, 304, 306. Ciascuno dei tre (3) bit corrispondenti ai blocchi rispettivamente XScramble, YScramble e ZScramble 3902, 304 e 306. Le linee di indirizzo X effettive 416 alimentano due percorsi separati all'interno del blocco XScramble 302. Un percorso delle linee di indirizzo X effettive 416 indirizza la RAM XScramble 418. L'altro percorso delle linee di indirizzo X effettive 416 bypassa la RAM XScramble 418 e viene posto in ingresso in uno stadio di abilitazione di scramble 422. The disabling stage achieved by appropriate programming of bits 0-2 of the APG_XYZ_SCR_EN 312 register. The test developer can programmatically disable the entire mapping function for each of the XScramble, YScramble and XScramble blocks 302, 304, 306. Each of the three (3) bits corresponding to the XScramble, YScramble and ZScramble 3902, 304, and 306 blocks respectively. The actual X address lines 416 feed two separate paths within the XScramble block 302. One path of the actual X address lines 416 addresses the XScramble RAM 418. The other path of the actual X address lines 416 bypasses the XScramble RAM 418 and is input into a scramble enabling stage 422.

L'abilitazione di scramble 422 è un multiplatore 2x1 a sedici canali che accetta le linee di indirizzo X mappate 420 dalla RAM XScramble 418 e le linee di indirizzo X effettive 416 dai multiplatori di jamming 414. Il bit 2 dal registro APG_XYZ_SCR_EN 312 fa in modo che l'abilitazione di scramble 42 selezioni o le linee di indirizzo X mappate 420 o le linee di indirizzo Z effettive 404 da presentare come uscita 326 del blocco XScramble 302. Il bit 1 del registro APG_XYZ_SCR_EN controlla l'abilitazione YScramble e il bit 0 del registro APG_XYZ_SCR_EN 312 controlla l'abilitazione ZScramble in modo simile. The 422 scramble enable is a sixteen-channel 2x1 multiplexer that accepts the X address lines 420 mapped from the XScramble 418 RAM and the actual X address lines 416 from the jamming multiplexers 414. Bit 2 from the APG_XYZ_SCR_EN 312 register causes that the scramble enable 42 selects either the mapped X address lines 420 or the actual Z address lines 404 to be presented as output 326 of the XScramble block 302. Bit 1 of the APG_XYZ_SCR_EN register controls the YScramble enable and bit 0 of the register APG_XYZ_SCR_EN 312 controls the ZScramble enable in a similar way.

Con riferimento specifico alla figura 5 dei disegni viene mostrato uno scema a blocchi del blocco ZScramble 306 secondo gli insegnamenti della presente invenzione. Come prima menzionato il blocco ZScramble 306 include lo stadio di logico di sostituzione di bit z ma include lo stadio logico di jamming. Le linee di indirizzo Z logico 402 e i contenuti del registro APG_ZSCR_JAM_ADDR 328 vengono posti in ingresso nei sedici (16) multiplatori di jamming 2x1 502. Il registro APG_ZSCR_JAM_MASK 326 seleziona tra i due valori per ogni bit per produrre le linee di indirizzo Z effettive 304. Le linee di dirizzo z effettive 504 indirizzano una RAM ZScramble 506 per accedere alle posizioni di memoria nella RAM ZScramble 506 che diventano le linee di dirizzo Z mappate 508. Le linee di indirizzo z mappate 508 vengono poste in ingresso nell'abilitazione di scramble 2x1 a sedici (16) canali 510. Le linee di indirizzo z effettive 508 vengono anche poste in ingresso nell'abilitazione di scramble 2x1 a sedici (16) canali 510. Il bit associato al blocco ZScramble 306 nel registro APG_XYZ_SCR_EN 312, cioè il bit APG_XYZ_SCR_EN [0] seleziona le linee effettive di indirizzo Z 504 o le linee di indirizzo Z mappate 508 per essere presentate come informazione di indirizzo reale 330 all'uscita del blocco ZScramble 306. With specific reference to Figure 5 of the drawings, a block diagram of the ZScramble 306 block according to the teachings of the present invention is shown. As mentioned above, the ZScramble block 306 includes the bit substitution logic stage z but includes the jamming logic stage. The logical Z address lines 402 and the contents of the APG_ZSCR_JAM_ADDR 328 register are input to the sixteen (16) 2x1 jamming multiplexers 502. The APG_ZSCR_JAM_MASK register 326 selects between the two values for each bit to produce the actual Z address lines 304. The actual 504 z-address lines address a 506 ZScramble RAM to access the memory locations in 506 ZScramble RAM which become the 508 mapped Z-address lines. 508 mapped z-address lines are input into the 2x1 scramble enable a sixteen (16) channels 510. The actual z address lines 508 are also input into the 2x1 scramble enable at sixteen (16) channels 510. The bit associated with the ZScramble block 306 in the APG_XYZ_SCR_EN register 312, i.e. the APG_XYZ_SCR_EN [ 0] selects the actual Z address lines 504 or the mapped Z address lines 508 to be presented as real address information 330 at the output of the ZScra block mble 306.

La presente descrizione descrive le caratteristiche della presente invenzione che vengono descritte a titolo di esempio. Un esperto ordinario nella tecnica si rende conto che la presente invenzione può essere variata di scala senza discostarsi dal campo delle rivendicazioni. La presente descrizione è destinata ad essere illustrativa e non limitative della presente invenzione, il campo dell'invenzione essendo definito unicamente dalle rivendicazioni annesse. The present description describes the features of the present invention which are described by way of example. One of ordinary skill in the art will appreciate that the present invention can be scaled without departing from the scope of the claims. The present description is intended to be illustrative and not limitative of the present invention, the scope of the invention being defined solely by the appended claims.

Claims (10)

RIVENDICAZIONI 1. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria comprendente : uno o più registri di indirizzo (24) memorizzanti una pluralità di bit di indirizzo logico (27), una pluralità di bit di sostituzione (408), ogni bit di sostituzione corrispondendo ad uno di detti bit di indirizzo logico; un selettore di bit (410) per ogni combinazione di bit di indirizzo logico e di bit di sostituzione, ogni selettore di bit selezionando indipendentemente o detto bit di indirizzo logico o detto bit di sostituzione, un'uscita collettiva di detti selettori di bit essendo un indirizzo effettivo (416), e un processore di vettori (40) per applicare detto indirizzo effettivo in detto dispositivo di collaudo. CLAIMS 1. Apparatus for managing address channels in a memory testing device comprising: one or more address registers (24) storing a plurality of logic address bits (27), a plurality of replacement bits (408), each replacement bit corresponding to one of said logic address bits; a bit selector (410) for each combination of logical address bit and replacement bit, each bit selector independently selecting either said logical address bit or said replacement bit, a collective output of said bit selectors being a actual address (416), e a vector processor (40) for applying said actual address in said testing device. 2. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 1 e comprendente inoltre una memoria (418) che viene sottoposta ad acceso utilizzando detto indirizzo effettivo (416). 2. Apparatus for managing the address channels in a memory testing device as set forth in claim 1 and further comprising a memory (418) which is turned on using said actual address (416). 3. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 1 e comprendente inoltre un registro di sostituzione (24) che memorizza una pluralità di bit disponibili (402) che vengono presentati ad una pluralità di selettori di bit di sostituzione (406), ogni detto selettore di bit di sostituzione (406) corrispondendo a ciascuno in detta rispettiva pluralità di detti bit di sostituzione (408), ogni detto selettore di bit di sostituzione (406) selezionando uno di detta pluralità di bit disponibili (402) per generare ciascuno di detti bit di sostituzione (408). 3. Apparatus for managing address channels in a memory testing device as set forth in claim 1 and further comprising a substitution register (24) which stores a plurality of available bits (402) which are presented to a plurality of substitution bit selectors (406), each said substitution bit selector (406) corresponding to each in said respective plurality of said replacement bits (408), each said replacement bit selector (406) selecting one of said plurality of available bits (402) to generate each of said replacement bits (408). 4. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 1 in cui uno o più secondi registri di indirizzo (24) memorizzano detta pluralità di bit disponibili (402). 4. Apparatus for managing the address channels in a memory testing device as set forth in claim 1 wherein one or more second address registers (24) store said plurality of available bits (402). 5. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 1 o 4 in cui i contenuti di detto uno o più registri vengono generati mediante algoritmi. 5. Apparatus for managing the address channels in a memory testing device as set forth in claim 1 or 4 wherein the contents of said one or more registers are generated by algorithms. 6. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 3 in cui ogni detto selettore di bit di sostituzione (406) viene indirizzato con un valore per specificare quali di detti bit disponibili (420) è selezionato. 6. Apparatus for managing address channels in a memory tester as set forth in claim 3 wherein each said replacement bit selector (406) is addressed with a value to specify which of said available bits (420) is selected . 7. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 6 in cui ogni detto valore per specificare quale di detti bit disponibili (420) è selezionato viene memorizzato in uno o più registri di controllo di selezione (316). Apparatus for managing address channels in a memory tester as set forth in claim 6 wherein each said value for specifying which of said available bits (420) is selected is stored in one or more selection control registers ( 316). 8. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 7 in cui detto uno o più registri di controllo di selezione (316) sono programmabili. 8. Apparatus for managing address channels in a memory tester as set forth in claim 7 wherein said one or more selection control registers (316) are programmable. 9. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 7 in cui detti registri di controllo di selezione sono programmabili indipendentemente uno dall'altro. 9. Apparatus for managing the address channels in a memory testing device as set forth in claim 7 wherein said selection control registers are programmable independently of each other. 10. Apparecchio per gestire i canali di indirizzo in un dispositivo di collaudo di memoria come riportato nella rivendicazione 1 in cui detto selettore di bit può essere disabilitato. 10. Apparatus for managing the address channels in a memory testing device as set forth in claim 1 wherein said bit selector can be disabled.
IT2001RM000549A 2000-09-11 2001-09-11 METHOD AND APPARATUS FOR HANDLING THE ADDRESS INFORMATION IN A MEMORY TESTING DEVICE. ITRM20010549A1 (en)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
ITRM20010549A0 ITRM20010549A0 (en) 2001-09-11
ITRM20010549A1 true ITRM20010549A1 (en) 2003-03-11

Family

ID=24644441

Family Applications (1)

Application Number Title Priority Date Filing Date
IT2001RM000549A ITRM20010549A1 (en) 2000-09-11 2001-09-11 METHOD AND APPARATUS FOR HANDLING THE ADDRESS INFORMATION IN A MEMORY TESTING DEVICE.

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
KR20020020862A (en) 2002-03-16
JP2002163898A (en) 2002-06-07
DE10144645A1 (en) 2002-04-25
ITRM20010549A0 (en) 2001-09-11

Similar Documents

Publication Publication Date Title
US5224101A (en) Micro-coded built-in self-test apparatus for a memory array
US7814380B2 (en) Built-in self test (BIST) architecture having distributed interpretation and generalized command protocol
KR970004074B1 (en) Memory device and integrated circuit thereof
US6587979B1 (en) Partitionable embedded circuit test system for integrated circuit
US6574626B1 (en) Method and apparatus for administration of extended memory
US7017089B1 (en) Method and apparatus for testing a content addressable memory device
KR100881843B1 (en) Algorithmically programmable memory tester with breakpoint trigger, error jamming and 'scope mode that memorizes target sequences
KR100786418B1 (en) Error catch ram for memory tester has sdram memory sets configurable for size and speed
KR100896585B1 (en) Memory tester has memory sets configurable for use as error catch ram, tag ram's, buffer memories and stimulus log ram
US7729185B2 (en) Apparatus and method for detection of address decoder open faults
US6598112B1 (en) Method and apparatus for executing a program using primary, secondary and tertiary memories
KR100920277B1 (en) ALGORITHMICALLY PROGRAMMABLE MEMORY TESTER WITH HISTORY FIFO's THAT AID IN ERROR ANALYSIS AND RECOVERY
KR20050107628A (en) Tiered built-in self-test (bist) architecture for testing distributed memory modules
US6591385B1 (en) Method and apparatus for inserting programmable latency between address and data information in a memory tester
US8977915B2 (en) pBIST engine with reduced SRAM testing bus width
US7010732B2 (en) Built-in test support for an integrated circuit
US7076714B2 (en) Memory tester uses arbitrary dynamic mappings to serialize vectors into transmitted sub-vectors and de-serialize received sub-vectors into vectors
US6748562B1 (en) Memory tester omits programming of addresses in detected bad columns
US6763490B1 (en) Method and apparatus for coordinating program execution in a site controller with pattern execution in a tester
US6687861B1 (en) Memory tester with enhanced post decode
US6687855B1 (en) Apparatus and method for storing information during a test program
US6968545B1 (en) Method and apparatus for no-latency conditional branching
US6374376B1 (en) Circuit, system and method for arranging data output by semiconductor testers to packet-based devices under test
ITRM20010549A1 (en) METHOD AND APPARATUS FOR HANDLING THE ADDRESS INFORMATION IN A MEMORY TESTING DEVICE.
US6973404B1 (en) Method and apparatus for administering inversion property in a memory tester