KR20020020862A - Method and apparatus for manipulating address information in a memory tester - Google Patents

Method and apparatus for manipulating address information in a memory tester Download PDF

Info

Publication number
KR20020020862A
KR20020020862A KR1020010055512A KR20010055512A KR20020020862A KR 20020020862 A KR20020020862 A KR 20020020862A KR 1020010055512 A KR1020010055512 A KR 1020010055512A KR 20010055512 A KR20010055512 A KR 20010055512A KR 20020020862 A KR20020020862 A KR 20020020862A
Authority
KR
South Korea
Prior art keywords
address
bit
test
bits
memory
Prior art date
Application number
KR1020010055512A
Other languages
Korean (ko)
Inventor
크레치알랜에스2세
프리즈맨존엠
조단스테판디
Original Assignee
마리 오 휴버
애질런트 테크놀로지스, 인크.
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 마리 오 휴버, 애질런트 테크놀로지스, 인크. filed Critical 마리 오 휴버
Publication of KR20020020862A publication Critical patent/KR20020020862A/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)

Abstract

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

Description

메모리 테스터 어드레스 채널 관리 장치{METHOD AND APPARATUS FOR MANIPULATING ADDRESS INFORMATION IN A MEMORY TESTER}MEMHOD AND APPARATUS FOR MANIPULATING ADDRESS INFORMATION IN A MEMORY TESTER}

전자 장치(electronics devices and capabilities)가 일상 생활에서 매우 보편화되고 있다. 가정에서의 개인용 컴퓨터와 함께, 많은 개인들은 다양한 여러 가지 목적을 위하여 둘 이상의 생산 장치(productivity tools)를 보유하고 있다. 대부분의 개인 생산 전자 장치는 소정의 형태의 비휘발성 메모리를 포함한다. 셀(cell) 전화는 파워가 턴 오프되는 경우 사용자에 의하여 프로그램된 전화 번호 및 구성을 저장하고 유지하기 위하여 비휘발성 메모리를 이용한다. PCMCIA 카드는 그 카드가 컴퓨터 슬롯에서 제거되는 경우에도 정보를 저장하고 유지하기 위하여 비휘발성 메모리를 이용한다. 많은 다른 일반적 전자 장치도 또한 상향-파워형 어셈블리(up-powered assemblies)에서 비휘발성 메모리의 장기 저장 능력에 의한 이익을 얻는다.Electronics devices and capabilities are becoming very common in everyday life. In addition to personal computers in the home, many individuals have more than one productivity tools for a variety of different purposes. Most personally produced electronic devices include some form of nonvolatile memory. Cell phones utilize nonvolatile memory to store and maintain phone numbers and configurations programmed by the user when power is turned off. PCMCIA cards utilize nonvolatile memory to store and retain information even when the card is removed from a computer slot. Many other common electronic devices also benefit from the long term storage capability of nonvolatile memory in up-powered assemblies.

전자 장비 제조자에게 판매하는 비휘발성 메모리 제조자는 그들이 생산한 메모리의 적절한 작동을 시험 및 입증하는 테스터(tester)를 필요로 한다. 지속적으로 저렴한 가격으로 제조되고 판매되는 비휘발성 메모리의 용량으로 인하여, 단일 부품을 테스트하는데 걸리는 시간을 최소화하는 것이 매우 중요하다. 비휘발성 메모리의 구매자는 최소한의 테스트를 거치거나 또는 어떠한 테스트도 거치지 않고 그 메모리 장치를 보다 값비싼 어셈블리로 결합할 수 있으면 비용이 절감되기 때문에 메모리 제조자가 높은 선적 수율(high shipment yields)을 제공할 것을 요구한다. 따라서, 메모리 테스트 프로세스는 단일 테스트 프로세스에 의하여 많은 비율의 비순응(nonconforming) 부품 및 바람직하게 전체 비순응 부품을 식별할 수 있을 만큼 충분히 효율적이어야 한다.Non-volatile memory manufacturers selling to electronic equipment manufacturers need testers to test and verify the proper operation of the memory they produce. Due to the capacity of nonvolatile memory that is constantly being manufactured and sold at a low price, it is very important to minimize the time taken to test a single component. Buyers of non-volatile memory can save money by combining the memory device into a more costly assembly with minimal or no testing, which will allow memory manufacturers to provide high shipment yields. Requires. Thus, the memory test process should be efficient enough to identify a large proportion of nonconforming parts and preferably the entire nonconforming part by a single test process.

비휘발성 메모리가 점점 더 커지고, 밀도가 높아지며 보다 복잡해짐에 따라서, 테스터는 테스트에 걸리는 시간을 크게 증가시키지 않고서 그 증가된 사이즈 및 복잡성을 프로세싱할 수 있어야 한다. 메모리가 발전하고 개선됨에 따라서, 테스터는 그 장치에 대하여 이루어지는 변화를 용이하게 받아들일 수 있어야 한다. 비휘발성 메모리를 테스트함에 관한 또 다른 구체적 문제는 메모리 셀에 대한 반복된 기록이 그 부품의 전체 존속 기간 동안의 성능을 저하시킨다는 점이다. 비휘발성 메모리 제조자는 메모리 장치에 대하여 특별한 테스트 모드를 형성함으로써 많은 테스트 문제에 대응하고 있다. 이러한 테스트 모드는 메모리의 구입자에 의해서는 전혀 이용되지 않으며, 가능한 적은 시간동안 가능한 효율적으로 메모리의 전체 또는 메모리의 중요 부분을 테스트하고자 메모리 제조자에 의하여 액세스될 수 있다. 일부 비휘발성 메모리는 또한 테스트 프로세스 동안 수리(repair)될 수 있다. 그러므로 테스터는 수리 요청, 수리 위치, 요구되는 수리의 유형을 식별할 수 있어야 하며, 적절한 수리를 수행할 수 있어야 한다. 그러한 수리 프로세스는 메모리의 특정 비순응 부품을 검출하고 분리시킬 수 있는 테스터를 필요로 한다. 특별한 테스트 모드와 수리 기능을 충분히 이용하기 위하여, 테스터가 장치로부터 예상되는 응답을 기초로 한 조건 분기를 지원하는 테스트 프로그램을 실행할 수 있는 것이 바람직하다.As nonvolatile memory grows larger, denser and more complex, testers must be able to process the increased size and complexity without significantly increasing the time it takes to test. As memory evolves and improves, testers must be able to easily accept changes made to the device. Another specific problem with testing nonvolatile memory is that repeated writing to the memory cell degrades performance for the entire lifetime of the part. Nonvolatile memory manufacturers address many test problems by forming special test modes for memory devices. This test mode is not used at all by the purchaser of the memory and can be accessed by the memory manufacturer to test all or a significant portion of the memory as efficiently as possible for as little time as possible. Some nonvolatile memory can also be repaired during the test process. The tester must therefore be able to identify the repair request, the location of the repair, the type of repair required, and be able to perform the appropriate repair. Such repair processes require testers that can detect and isolate specific noncompliant parts of the memory. In order to take full advantage of the special test modes and repair functions, it is desirable for the tester to be able to run a test program that supports conditional branching based on the expected response from the device.

개념적으로 보면, 메모리 테스트 절차는 알고리즘적 프로세스이다. 예로서, 전형적 테스트는 순차적으로 메모리 어드레스를 증가(incrementing) 또는 감소(decrementing)시키면서 메모리 셀에 대하여 0 또는 1을 기록하는 것을 포함한다. "벡터(vector)"란 용어는 메모리 사이클 동안 기록되거나 판독되는 1 및 0의 컬렉션(collection)을 지칭하는 반면, "패턴(pattern)"이란 용어는 벡터의 시퀀스를 지칭하는 것이 통상적이다. 테스트는 메모리 공간에 대하여 체커보드(checkerboards), 보행 1(walking 1's) 및 버터플라이 패턴(butterfly patterns)과 같은 패턴을 기록하는 것을 포함한다. 테스트 개발자는 알고리즘적 구성(algorithmic constructs)의 도움을 얻어 이들 패턴을 형성하는 프로그램을 보다 용이하고 효율적으로 생성할 수 있다. 또한 알고리즘적 응집적(algorithmically coherent)인 테스트 패턴은 디버깅(debugging)이 용이하고 예상되는 바대로 수행하지 않는 패턴의 일부분을 분리하는 논리적 방법을 이용함에 있어서 보다 용이하다. 프로그래밍 루프(programming loops)에서 반복되는 명령어(instructions) 및 명령(commands)을 이용하여 알고리즘적으로 생성된 테스트 패턴은 테스터 메모리에서 공간을 덜 소비한다. 따라서, 메모리 테스터에 있어서 알고리즘에 의한 테스트 패턴 생성 능력을 갖추는 것이 바람직하다.Conceptually, the memory test procedure is an algorithmic process. By way of example, a typical test involves writing zero or one for a memory cell while sequentially incrementing or decreasing the memory address. The term "vector" refers to a collection of ones and zeros that are written or read during a memory cycle, while the term "pattern" typically refers to a sequence of vectors. Testing includes writing patterns such as checkerboards, walking 1's and butterfly patterns over memory space. Test developers, with the help of algorithmic constructs, can more easily and efficiently create programs that form these patterns. Algorithmically coherent test patterns are also easier to debug and use a logical method of separating parts of the pattern that do not perform as expected. Test patterns that are algorithmically generated using instructions and commands repeated in programming loops consume less space in tester memory. Therefore, it is desirable to have a test pattern generation capability by an algorithm in a memory tester.

정확한 신호 에지 배치 및 검출이 또한 비휘발성 테스터의 효율성에 있어서 고려되어야 한다. 지정된 마진(margin)내에는 순응하지 않지만 일반적으로 중앙값(median)에는 일치하는 부분을 캡쳐하기 위하여, 비휘발성 메모리 테스터는 각각의 신호 에지를 또 다른 신호 에지와 시간적으로 관련하여 정확하게 배치할 수있어야 한다. 또한 에지가 수신되는 시간 시점을 정확하게 측정할 수 있는 것이 중요하다. 따라서, 비휘발성 메모리 테스터는 자극 및 이에 대한 DUT(Device Under Test)(메모리)로부터의 반응의 타이밍과 배치에 대해 충분한 제어 및 유연성을 가져야 한다.Accurate signal edge placement and detection should also be considered in the efficiency of the nonvolatile tester. In order to capture a portion that does not conform within the specified margin but generally matches the median, the nonvolatile memory tester must be able to accurately place each signal edge in time relative to another signal edge. . It is also important to be able to accurately measure the time point at which the edge is received. Thus, the nonvolatile memory tester must have sufficient control and flexibility over the timing and placement of the stimulus and the response from the device under test (DUT) (memory) thereto.

메모리 테스터는 DUT에게 인가되는 송신 벡터(자극)를 생성하고 반환될 것이 기대되는 벡터(반응)를 수신한다고 말해진다. 이들 벡터를 생성하는 알고리즘 논리는 일반적으로 벡터내 특정 비트가 DUT내의 특정한 신호 패드로부터 얻어지거나 특정 신호 패드에 대하여 도달하는 방법에 관하여 골치 아파 하지도 않고서 그렇게 할 수 있다. 이러한 레벨에서는 벡터 내 인접 비트가 DUT 상에서 물리적으로 인접한 신호로서 귀결(end up)될 것이 기정 사실인 양 여겨진다. 그러나 불행히도 그렇지 않다.The memory tester is said to generate a transmit vector (stimulus) applied to the DUT and receive a vector (response) that is expected to be returned. Algorithmic logic for generating these vectors can generally do so without having to worry about how a particular bit in the vector is obtained from or reached for a particular signal pad in the DUT. At this level it is assumed that it is a given fact that adjacent bits in the vector will end up as physically adjacent signals on the DUT. Unfortunately this is not the case.

실제로는, "개념적 레벨"에서의 벡터내의 비트와 DUT에서의 실제 신호 사이의 대응 관계는 오히려 제멋대로 인 경향이 있다. 이를 피하기 위하여 어떠한 조치도 취하여지지 않는다면, DUT와 접촉하는 주변장치로부터 유래하는 하나 이상의 프로브 와이어(probe wires)를 교차시킬(cross) 필요가 있을 것이다. 그러한 교차(crossing)는 대부분 바람직하지 않으므로, 송신 벡터에서의 비트가 DUT로 인가되기 이전에 그 송신 비트 위치를 재배치하도록 송신 벡터의 경로에 매핑 메카니즘을 통합하여, 물리적 접촉 작업이 교차의 부담을 지지 않게 하는 것이 통상적이다. 대응적으로 벡터 수신에는 역 매핑(reverse mapping) 메카니즘이 적용되고 그런 다음 이러한 벡터들이 고려된다. 이에 따라서 알고리즘 벡터 생성 및 비교 메카니즘은 이러한 전체 문제를 무시할 수 있게 된다. 그러한 매퍼 및 역매퍼가 수행할 수 있는 또 다른 예로서, 동일한 유형의 다른 DUT가 동일한 웨이퍼상에 배치되고 있으되, 웨이퍼 상의 공간 낭비를 피하기 위하여, 회전 또는 소정의 거울 반사형 대칭성을 가지는 경우를 고려해 보기 바란다. 이러한 방법은 벡터 비트 위치와 물리적 신호 위치 사이의 대응 관계에도 영향을 미치지만, 적절한 매핑 또는 역매핑에 의하여 이것이 감추어 질 수 있다. 이러한 상황에 있어서 요구되는 매핑 및 역매핑은, 일단 특정한 DUT에 대하여 한번 식별되면, 정적이어서, 그 특정 DUT에 대한 테스트 과정에서 변화를 필요로 하지 않는다는 것을 알 것이다.In practice, the correspondence between the bits in the vector at the "conceptual level" and the actual signal at the DUT tends to be arbitrary. If no action is taken to avoid this, it will be necessary to cross one or more probe wires from the peripheral device in contact with the DUT. Since such crossings are mostly undesirable, we incorporate a mapping mechanism in the path of the transmit vector to relocate its transmit bit position before the bit in the transmit vector is applied to the DUT, so that physical contact operations support the burden of the cross. It is common to not let. Correspondingly, the reverse mapping mechanism is applied to vector reception, and these vectors are then considered. As a result, algorithmic vector generation and comparison mechanisms can ignore this entire problem. As another example that such a mapper and reverse mapper can perform, consider the case where other DUTs of the same type are being placed on the same wafer, but with rotation or some mirror reflective symmetry to avoid wasting space on the wafer. Please see. This method also affects the correspondence between the vector bit position and the physical signal position, but it can be hidden by proper mapping or demapping. It will be appreciated that the mapping and demapping required in this situation, once identified for a particular DUT, is static and therefore does not require a change in the testing process for that particular DUT.

소정 유형의 메모리에 있어서는, 효율적 테스트는 각 어드레스 라인 비트 그룹을 다른 어드레스 라인 비트 그룹으로부터 분리하여 조작할 것을 요구한다. 알고리즘 패턴 생성이 없는 종래 기술의 테스터에 있어서, 그 작업은 비교적 단순하며 어드레스 라인은 두 개의 별도 그룹으로 정의되고 비트-비트 베이스로(on a bit for bit basis) 관리되었다. 이러한 어드레스 정렬을 이용하는 유형의 메모리의 일예는 페이지 어드레싱 포맷(여기서 페이지 어드레싱은 어드레스 라인 중 최상위 소정의 몇 비트를 이용하고 메모리 워드 어드레싱은 어드레스 라인의 최하위 소정의 몇 비트를 이용함)으로 다수의 메모리 셀 블록의 구성을 유지하는 메모리이다. 그러나, 이들 유형의 메모리를 테스트하기 위한 알고리즘 패턴 생성을 충분히 이용하기 위해서, 테스터가 독립적 알고리즘 패턴 생성을 위하여 어드레스 라인에서의 비트들을 선택적으로 그룹화하도록 간단한 솔루션을 제공할 것을 필요로 한다.For certain types of memory, efficient testing requires that each address line bit group be manipulated separately from other address line bit groups. In prior art testers without algorithmic pattern generation, the task is relatively simple and the address lines are defined in two separate groups and managed on a bit for bit basis. One example of a type of memory using such address alignment is the number of memory cells in the page addressing format, where page addressing uses some of the most significant bits of the address lines and memory word addressing uses some of the least significant bits of the address lines. Memory that maintains the block structure. However, in order to take full advantage of algorithmic pattern generation for testing these types of memory, it is necessary for the tester to provide a simple solution to selectively group bits in the address line for independent algorithmic pattern generation.

본 발명의 한가지 특징에 따르면, 메모리 테스터에서 어드레스 채널을 관리하는 장치는 다수의 논리 어드레스 비트 및 다수의 교체(replacement) 비트(각각의 교체 비트는 논리 어드레스 비트 하나씩에 대응함)를 저장하는 하나 이상의 어드레스 레지스터를 포함한다. 그 장치는 또한 각각의 논리 어드레스 비트 및 교체 비트 조합을 위한 비트 선택기(bit selector)를 가지며 각각의 비트 선택기는 독립적으로 논리 어드레스 비트 또는 교체 비트를 선택한다. 비트 선택기의 출력 집합이 메모리 테스트를 위하여 이용되는 유효 어드레스이다. 벡터 처리기가 테스터에서 유효 어드레스를 인가한다.According to one aspect of the invention, an apparatus for managing an address channel in a memory tester includes one or more addresses storing a plurality of logical address bits and a plurality of replacement bits (each replacement bit corresponding to one logical address bit). Contains registers The apparatus also has a bit selector for each logical address bit and replacement bit combination and each bit selector independently selects a logical address bit or a replacement bit. The output set of the bit selector is a valid address used for memory testing. The vector processor applies a valid address at the tester.

본 발명의 또 다른 특징에 따르면, 메모리 테스터에서 어드레스 채널을 관리하기 위한 방법은 비트 선택기마다 하나의 논리 어드레스 비트를 가지며 비트 선택기마다 하나의 교체 비트를 가지는 다수의 각 비트 선택기에 대하여 다수의 논리 어드레스 비트를 전달하는 단계를 포함한다. 그 방법은 논리 어드레스 비트 또는 교체 비트를 선택하며, 그 비트 선택기의 출력 집합이 유효 어드레스가 된다. 유효 어드레스는 DUT 메모리를 어드레싱하기 위하여 이용된다.According to another aspect of the invention, a method for managing an address channel in a memory tester comprises a plurality of logical addresses for each of the plurality of bit selectors having one logical address bit per bit selector and one replacement bit per bit selector. Delivering the bits. The method selects a logical address bit or a replacement bit, and the output set of that bit selector becomes a valid address. The effective address is used to address the DUT memory.

바람직하게, 본 발명의 원리에 따르는 테스터는 종래 기술의 테스터에 비하여 테스트 패턴을 개발하는데 있어 추가적인 유연성 및 효율성을 제공한다.Preferably, testers in accordance with the principles of the present invention provide additional flexibility and efficiency in developing test patterns over prior art testers.

도 1은 본 발명에 따른 확장 재구성 가능한 비휘발성 메모리 테스터를 도시하는 개략적 블록도,1 is a schematic block diagram illustrating an extended reconfigurable nonvolatile memory tester according to the present invention;

도 2는 도 1의 DUT 테스터의 개략적 블록도를 확장한 도면,2 is an enlarged schematic block diagram of the DUT tester of FIG. 1;

도 3은 도 2에 도시된 어드레스 매퍼(29)를 도시하는 블록도,3 is a block diagram showing the address mapper 29 shown in FIG.

도 4는 도 3에 도시된 어드레스 매퍼(29)의 X스크램블 부분(302)을 도시하는 블록도,4 is a block diagram showing an X scrambled portion 302 of the address mapper 29 shown in FIG.

도 5는 도 3에 도시된 어드레스 매퍼(29)의 Z스크램블 부분(306)을 도시하는 블록도.FIG. 5 is a block diagram showing a Z scrambled portion 306 of the address mapper 29 shown in FIG.

도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings

2 : 테스트 시스템 제어기 4 : 테스트 사이트 제어기2: test system controller 4: test site controller

5 : 테스트 사이트 버스 6 : DUT 테스터5: test site bus 6: DUT tester

9 : 핀 전자 장치 전자 장치 14 : DUT9 pin electronic device 14 DUT

도 1을 참조하면, 본 발명의 원리에 따라 구성된 비휘발성 메모리 테스트 시스템의 개략적 블록도(1)가 도시되어 있다. 특히, 도시된 시스템은 36개까지의 개별적 DUT의, 64개의 많은 테스트 포인트(test points) 각각에서, 동시에 테스트할 수 있으며, 64개보다 더 많은 테스트 포인트를 가지는 DUT를 테스트하도록 테스트 리소스 집합의 요소들이 서로 본딩되도록 하는 재구성을 제공한다. 이들 테스트 포인트는 아직 다이싱(diced)되지 않고 패키징(packaged)되지 않은 집적 회로 웨이퍼 상의 일부 위치가 있을 수 있고, 또는 패키지된 부품의 핀일 수도 있다. "테스트 포인트"라는 용어는 신호(예컨대, 전원, 클록, 데이터 입력)가 인가되거나 신호(예컨대, 데이터 출력)가 측정될 수 있는 전기적 위치를 지칭한다. 테스트 포인트를 "채널(channel)"이라고 지칭하는 업계의 관행을 따르기로 한다. 앞서 언급된 "서로 본딩될 테스트 리소스의 모음"이란 36개만큼의 테스트 사이트라고 이해될 수 있는데, 각 테스트 사이트는 테스트 사이트 제어기(Test Site Controller)(4), (64개 채널) DUT 테스터(6) 및 DUT(14)에 대하여 실제 전기적 연결을 이루는 (64개 채널) 핀 전자 장치(Pin Electronics) 모음을 포함한다. DUT 테스트가 64개 또는 그 이하의 채널을 요구하는 경우에, 하나의 단일 테스트 사이트가 그 DUT에 대하여 테스트를 수행하기에 충분하며, 말하자면, 예컨대, 테스트 사이트(#1)(도 1에 도시된 바에 따르면)는 "단일 사이트 테스트 스테이션으로서 형성되고 동작한다. 한편, 전술된 소정 형태의 재구성이 유효한 경우에는, 두 개(또는 그 이상의) 테스트 사이트가 서로 본딩되어 128개의 채널을 가지는 하나의 더 큰 등가의 테스트 사이트로서 기능한다. 따라서, 도 1에 도시된 예를 다시 참조하면, 이른바 테스트 사이트(#35, #36)는 "2-사이트 테스트 스테이션"을 형성한다.1, there is shown a schematic block diagram 1 of a nonvolatile memory test system constructed in accordance with the principles of the present invention. In particular, the illustrated system can test simultaneously on each of 64 large number of test points, up to 36 individual DUTs, and an element of a set of test resources to test a DUT having more than 64 test points. Provide a reconstruction that allows them to be bonded together. These test points may have some locations on the integrated circuit wafer that are not yet diced and packaged, or may be pins of packaged components. The term "test point" refers to an electrical location where a signal (eg, power supply, clock, data input) can be applied or a signal (eg, data output) can be measured. We will follow industry practice to refer to test points as "channels." The aforementioned "collection of test resources to be bonded together" can be understood to be as many as 36 test sites, each of which is a test site controller (4), (64 channels) DUT tester (6). ) And a collection of (64 channels) pin electronics that make actual electrical connections to the DUT 14. If a DUT test requires 64 or fewer channels, one single test site is sufficient to perform a test on that DUT, that is, for example, test site # 1 (shown in FIG. 1). Is formed and operates as a single site test station. On the other hand, if any of the forms of reconfiguration described above are valid, two (or more) test sites are bonded to one another and have one larger channel having 128 channels. It functions as an equivalent test site, therefore, referring again to the example shown in Fig. 1, the so-called test sites # 35 and # 36 form a "two-site test station".

반대의 경우를 간단히 생각해보면, 전체 테스트 사이트가 단일 DUT를 테스트하여야 한다거나, 단일 테스트 사이트가 단지 하나의 단일 DUT만을 테스트할 수 있다고 생각해서는 안 된다. 웨이퍼가 두 개의(아마도, 그러나 반드시 그러해야 하는 것은 아니며, 그 정도의) 다이(die)를 가지며, 그 테스트 채널 요청의 합이 64개의 채널 또는 그 이하라고 가정한다. 양쪽 DUT 모두는 단일 테스트 사이트에 의하여 테스트될 수 있다. 이를 가능하게 하는 것은 각 테스트 사이트의 범용 프로그램 가능성(general purpose programmability)이다. 테스트 사이트에 의하여 실행되는 테스트 프로그램은 테스트 사이트 리소소 중 일부분이 DUT중 하나를 테스트하는데 이용되는 동안 또 다른 부분은 다른 DUT를 테스트하는데 이용되도록 작성될 수 있다. 결국, 처음 두 개의 논리적 유니언(union)인 제 3 DUT를 가진다면, 단일 테스트 사이트로 그 제 3 DUT를 테스트할 수 있다고 할 것이며, 따라서 소위 그 "구성요소 DUT(component DUTs)"를 유사하게 테스트할 수 있어야 한다. 유일한 차이는, "제 3" DUT의 경우 통합된 답이 도출되는 것과 달리 두 개의 "구성요소 DUT"가 합격(pass)인지 불합격(fail)인지를 개별적으로 추적한다는 점이다(즉, 제 3 DUT의 어떠한 부분이 불합격인지에 관한 문제가 있다). 이러한 "단일-사이트 다수-테스트 스테이션" 능력은 종래 기술에 가깝지만, 명료성을 위하여 또한 두 개 이상의 테스트 사이트를 서로 본딩하는 개념과 비교하는 경우 있을 수 있는 잠재적 혼란 및 오해를 피하기 위하여 본 명세서에서 이를 거론하는 것이다.In simple terms, don't assume that the entire test site should test a single DUT, or that a single test site can only test one single DUT. Assume that a wafer has two (possibly, but not necessarily, a die) and the sum of its test channel requests is 64 channels or less. Both DUTs can be tested by a single test site. What makes this possible is the general purpose programmability of each test site. A test program executed by a test site may be written such that another portion is used to test another DUT while a portion of the test site resource is used to test one of the DUTs. After all, if you have a third DUT, which is the first two logical unions, you can test that third DUT with a single test site, thus testing similarly the so-called "component DUTs". You should be able to. The only difference is that, for the "third" DUT, the two "component DUTs" are tracked separately (ie, the third DUT) as opposed to the integrated answer. There is a question as to which part of the code is rejected). While this "single-site multi-test station" capability is close to the prior art, it is discussed here for clarity and to avoid potential confusion and misunderstandings that may arise when comparing the concept of bonding two or more test sites together. It is.

이러한 재구성의 개념이 없다면 테스트 사이트와 테스트 스테이션간에는 어떠한 차이도 없을 것이고, 그 용어들 중 하나는 없어도 될 것이다. 그러나, 사실,테스트 스테이션의 수가 테스트 사이트의 수와 동일할 필요는 없다는 것을 쉽게 알게 될 것이다. 과거에는, 테스트 사이트가 분할되어 더 많은 테스트 스테이션을 생성하였기 때문에(DUT는 전체 테스트 사이트를 사용할 만큼 복잡하지 않았다) 그 수가 서로 달랐을 수 있다. 그러나, 이제 그 차이는 테스트 사이트가 서로 본딩되어 다수-사이트 테스트 스테이션을 형성하는(DUT는 단일 테스트 사이트로 프로세싱하기에 너무 복잡하다) 테스트 사이트에 또한 기인할 수 있다.Without this concept of reconfiguration, there would be no difference between the test site and the test station, and one of the terms would not be necessary. In fact, however, it will be readily appreciated that the number of test stations need not be the same as the number of test sites. In the past, because the test sites were split to create more test stations (the DUT was not complex enough to use the entire test site), their numbers may have been different. However, the difference can now also be attributed to the test site, where the test sites are bonded to each other to form a multi-site test station (the DUT is too complex to process into a single test site).

그런 다음, 이어서, 테스트 시스템 제어기(2)는 시스템 버스(3)에 의하여 36개만큼의 테스트 사이트 제어기(그 이름이 접미사(#1) 내지 접미사(#36)로 끝남)(4a-4z)로 연결된다. (a-z까지의 첨자는 26개뿐이며 36개까지가 가능하지 않다는 것은 사실이다. 그러나 이러한 불일치에도 불구하고 숫자로 된 첨자를 붙이는 것(잠재적으로 매우 복잡할 수 있음)보다는 숫자 참조 문자를 사용하는 것이 바람직한 것으로 보인다.) 테스트 시스템 제어기(2)는 비휘발성 메모리를 테스트하는 작업을 포함하는 적합한 테스트 시스템 제어 프로그램을 실행하는 컴퓨터(예컨대, NT를 실행하는 PC)이다. 테스트 시스템 제어 프로그램은 바람직한 테스트를 달성하기 위하여 작업 (및 복잡도)을 계층적으로 분할하였을 때 최상위 레벨에 존재하는 추상화 혹은 축약화(abstraction)를 나타낸다. 테스트 시스템 제어기는 어떠한 프로그램이 서로 다른 테스트 사이트에서 수행되고 있는지 뿐만 아니라 어떠한 프로그램이 필요에 따라 DUT와 테스트 프로브를 바꾸는 로봇 시스템(도시되지 않음)을 검사하는지를 결정한다. 테스트 시스템 제어기(2)는 어떤 테스트 사이트가 단일-사이트 테스트 스테이션으로서 수행하도록 프로그램되고, 반면 다른 것들은 서로 본딩되어 다수-사이트 테스트 스테이션을 형성한다는 개념을 지지하는 방식으로 기능할 수 있다. 분명히, 그러한 환경에서는, 테스트되어야 하는 상이한 부품이 있으며, 상이한 부품에 대하여는 상이한 테스트가 수행되는 것이 가장 바람직하다. 유사하게, 모든 단일-사이트 테스트 스테이션이 동일한 유형의 부품을 테스트하도록 요구하는 경우는 없으며, 다수-사이트 테스트 스테이션에 대하여도 그러한 요구를 하는 경우는 없다. 따라서, 테스트 시스템 제어기(2)는 필요한 테스트 사이트 본딩을 달성하는 명령을 발행하고 그런 다음 다양한 테스트 스테이션에서 이용될 적절한 테스트 프로그램을 호출하도록 프로그램된다. 테스트 시스템 제어기(2)는 또한 그 테스트로부터 얻어진 결과에 관한 정보를 수신하여, 잘못된 부품을 폐기하기 위하여 적절한 행동을 취할 수 있으며 소위 공장 설정에 있어서의 생산 프로세스를 제어하는데 이용될 수 있는 다양한 분석에 관한 기록(log)을 유지할 수 있다.Then, the test system controller 2 is followed by the system bus 3 to as many as 36 test site controllers (names ending in suffixes # 1 to suffixes # 36) 4a-4z. Connected. (It's true that there are only 26 subscripts up to az and not 36. However, despite these discrepancies, using numeric reference characters rather than appending numeric subscripts (which can potentially be very complex) It appears desirable.) The test system controller 2 is a computer (e.g., a PC running NT) that runs a suitable test system control program that includes the task of testing the nonvolatile memory. Test system control programs represent the abstraction or abstraction that exists at the highest level when hierarchically dividing tasks (and complexity) to achieve desirable tests. The test system controller determines not only which programs are running at different test sites, but which programs also examine robotic systems (not shown) that change the DUT and test probes as needed. The test system controller 2 can function in a way that supports the concept that some test sites are programmed to perform as single-site test stations, while others are bonded to one another to form a multi-site test station. Clearly, in such an environment, there are different parts to be tested, and it is most desirable that different tests be performed on different parts. Similarly, not all single-site test stations require testing of the same type of components, and none of them require multiple-site test stations. Thus, the test system controller 2 is programmed to issue a command to achieve the required test site bonding and then call the appropriate test program to be used at the various test stations. The test system controller 2 can also receive information about the results obtained from the test and take appropriate action to discard the wrong parts and perform various analyzes that can be used to control the production process in the so-called factory setup. A log can be maintained.

테스트 시스템 그 자체는 상당히 크고 복잡한 시스템이며, 핀 전자장치(Pin Electronics)(9)에 연결된 프로브 하에 하나 이상의 미래 다이(웨이퍼가 아직 다이싱되지 않음)를 순차적으로 배치하는 스테이지에서 웨이퍼를 적재하는데 로봇 서브시스템을 이용하는 것이 일반적이며, 여기에서 그 미래 다이(웨이퍼는 아직 다이싱되지 않음)가 테스트된다. 테스트 시스템은 또한 적절한 캐리어 상에 적재된 패키지 부품을 테스트하는데 이용될 수도 있다. 얼마나 많은 테스트 사이트가 테스트 스테이션 형성에 이용되는지, 또는 얼마나 많은 테스트 스테이션이 테스트 사이트 상에 있는지에 관계없이, 각 테스트 스테이션에 관련되어 이용되는 적어도 하나의 테스트 사이트 제어기가(이하에서 설명되는 바와 같이) 있을 것이다. 테스트 사이트 제어기는 내장형 시스템으로서 VOS(VersaTest O/S)라 불리는 전용 오퍼레이팅 시스템을 실행하는 36 내지 64MB의 프로그램 및 데이터 결합형 메모리를 구비한 Intel i960 프로세서일 수 있으며, 이는 비휘발성 메모리를 테스트하기 위해 이전의 상품에도 이용되었다(예컨대, Agilent V1300 또는 V3300). 우선은, 단일-사이트 테스트 스테이션의 상황만을 고려한다. 명확한 예를 위하여, 테스트 사이트(#1)는 테스트 스테이션(#1)으로 기능하여, WHIZCO 부품 no.0013을 테스트한다고 가정한다. 테스트 형태는 백 개 정도의 다양한 유형의 테스트(전압 레벨(voltage level), 펄스 폭(pulse width), 에지 위치(edge position), 지연(delay), 그리고 대규모 단순 저장 및 선택된 정보 패턴의 검출을 변화시키고 모니터링함)에 관련되며, 각 유형의 테스트는 DUT마다 수백만의 개별적 메모리 사이클과 관련된다. 최상위 레벨에서, 테스트 시스템의 오퍼레이터는 테스트 시스템 제어기(2)에 대하여 테스트 스테이션(#1)을 이용하여 WHIZCO 0013을 테스트하기 시작하도록 지시한다. 결국 테스트 시스템 제어기(2)가 테스트 사이트 제어기(#1)(4a)(내장형 [컴퓨터] 시스템임)에 대하여 관련된 프로그램, 즉 TEST_WHIZ_13을 실행하도록 지시한다. 테스트 사이트 제어기(#1) 환경에서 이미 프로그램이 이용 가능하다면, 단순히 그것을 실행한다. 그렇지 않다면, 테스트 시스템 제어기(2)에 의하여 프로그램이 공급된다.The test system itself is a fairly large and complex system, and the robot is used to load wafers in a stage where one or more future dies (wafers are not yet diced) are sequentially placed under a probe connected to Pin Electronics 9. It is common to use a subsystem where the future die (wafer is not yet diced) is tested. The test system may also be used to test package components loaded on a suitable carrier. Regardless of how many test sites are used to form the test station, or how many test stations are on the test site, there is at least one test site controller used in connection with each test station (as described below). There will be. The test site controller may be an Intel i960 processor with 36 to 64 MB of program and data-coupled memory running a dedicated operating system called VersaTest O / S (VOS) as an embedded system, to test nonvolatile memory. It has also been used in previous products (eg, Agilent V1300 or V3300). At first, only the situation of a single-site test station is considered. For clarity, assume that test site # 1 functions as test station # 1 to test WHIZCO component no.0013. The test pattern changes hundreds of different types of tests (voltage level, pulse width, edge position, delay, and large scale simple storage and detection of selected information patterns). Each type of test involves millions of individual memory cycles per DUT. At the highest level, the operator of the test system instructs the test system controller 2 to start testing WHIZCO 0013 using the test station # 1. In turn, the test system controller 2 instructs the test site controller # 1 (4a) (which is a built-in [computer] system) to execute a related program, that is, TEST_WHIZ_13. If the program is already available in the test site controller (# 1) environment, simply run it. If not, the program is supplied by the test system controller 2.

원리상, 프로그램 TEST_WHIZ_13은 완전 자립형(self-contained)일 수 있다. 그러나 만약 그렇다면, 상당히 클 것이 거의 확실할 것이며, 테스트 사이트 제어기(4a)내의 내장형 시스템의 프로세서가 바람직한 속도로 테스트를 실시하기에충분히 빨리, 심지어 하나의 DUT 메모리 사이클로부터 다음 사이클까지 일정한 속도로 실행하도록 하는 것은 매우 어려울 수 있다. 어드레스 시퀀스 및 기록되어질 또는 판독 동작으로부터 예상되는 어드레스 시퀀스 및 관련 데이터를 생성하는 하위 레벨의 서브루틴 유형 동작은 필요에 따라서 DUT 테스트(6)내에 위치한 프로그램 가능 알고리즘 메카니즘에 의해 발생되지만, 이는 테스트 사이트 제어기(4)내의 내장형 시스템에 의해서 실행되는 프로그램과 동기하여(in synchrony with) 동작한다. 이것을, 소정의 하위 레벨 서브루틴 유사 동작(subroutine-like activity) 및 DUT 메모리 사이클을 개시하는 작업을 DUT(14)의 하드웨어 환경에 보다 가까운 메카니즘(DUT 테스터)으로 전달(export)하는 것으로 생각하기 바란다. 일반적으로 말해서, 테스트 시스템 제어기(2)는 테스트 사이트 제어기에 대하여 테스트 프로그램을 갖추도록 하는 경우마다, 테스트 사이트 제어기용 프로그래밍이 서술(describe) 혹은 필요로 하는 전체 동작을 달성하는데 필요한 적절한 하위 레벨 구현 루틴(아마도 테스트될 메모리에 특정한 루틴)을 관련 DUT 테스터에게 공급한다. 하위 레벨 구현 루틴은 "패턴"이라는 용어로서, 일반적으로 이름 붙여진다(상위 레벨 프로그래밍 언어에서 함수 및 변수가 이름을 가지는 것과 같이).In principle, the program TEST_WHIZ_13 may be self-contained. If so, however, it will most likely be quite large, allowing the processor of the embedded system in the test site controller 4a to run at a constant speed, from one DUT memory cycle to the next, sufficiently fast to run the test at the desired speed. It can be very difficult. The low level subroutine type operation of generating the address sequence and associated data to be expected from the write sequence or read operation is generated by a programmable algorithmic mechanism located within the DUT test 6 as needed, but this is a test site controller. It operates in synchrony with the program executed by the embedded system in (4). Think of this as exporting certain low-level subroutine-like activity and initiating DUT memory cycles to a mechanism closer to the hardware environment of the DUT 14 (DUT tester). . Generally speaking, whenever test system controller 2 has a test program for a test site controller, the appropriate low-level implementation routines needed to achieve the overall operation required for programming or test site controller programming. Supply the relevant DUT tester (perhaps a memory-specific routine to be tested). Low-level implementation routines are termed "patterns" and are generally named (as in functions and variables in high-level programming languages).

각각의 테스트 사이트 제어기(#n)(4)는 사이트 테스트 버스(#n)(5)에 의하여 그 관련된 DUT 테스터(#n)(6)로 연결된다. 테스터 사이트 제어기는 사이트 테스트 버스를 이용하여 DUT 테스터의 동작을 제어하고 그로부터 테스트 결과에 관한 정보를 수신한다. DUT 테스터는 테스트 형태에 관련된 다양한 DUT 메모리 사이클을 고속으로 생성할 수 있으며, "판독" 메모리 사이클의 결과가 예상되는바와 같은 지를판정한다. 사실, 판독 및 기록 DUT 메모리 사이클의 대응하는 유용한 시퀀스를 개시함으로써 테스트 사이트 제어기로부터 전송된 명령 또는 작동 명령어("패턴이라고 명명됨")에 응답한다(즉, 대응하는 패턴을 실행한다). 개념적으로, DUT 테스터(6)의 출력은 DUT로 인가될 자극 정보이며, 또한 그로부터 응답 정보를 수용한다. 이러한 자극/응답 정보(7a)는 DUT 테스터(6a) 및 핀 전자 장치(#1) 어셈블리(9a) 사이를 지난다. 핀 전자 장치 어셈블리(9a)는 DUT(14)로 인가될 수 있는 64개까지의 프로브를 지원한다.Each test site controller (#n) 4 is connected to its associated DUT tester (#n) 6 by a site test bus (#n) 5. The tester site controller uses the site test bus to control the operation of the DUT tester and to receive information about the test results therefrom. The DUT tester can generate various DUT memory cycles related to the test type at high speed, and determine whether the result of the "read" memory cycle is as expected. In fact, it responds to (ie executes a corresponding pattern) an instruction or an operation instruction (called a pattern) sent from the test site controller by initiating a corresponding useful sequence of read and write DUT memory cycles. Conceptually, the output of the DUT tester 6 is the stimulus information to be applied to the DUT, and also receives response information therefrom. This stimulus / response information 7a passes between the DUT tester 6a and the pin electronic device # 1 assembly 9a. The pin electronics assembly 9a supports up to 64 probes that can be applied to the DUT 14.

전술한 자극 정보는 DUT 테스터에서 이용되는 소정의 논리 장치군의 전압 레벨에 따라서 표현되는 병렬 비트 패턴의 시퀀스(즉, "송신 벡터" 및 예상되는 "수신 벡터"의 시퀀스)이다. 자극/응답내의 비트 위치와 다이상의 프로브 사이에 구성 가능한 매핑(configurable mapping)이 있으며, 이러한 매핑은 DUT 테스터(6)에 의하여 이해된다. 개별적 비트는 그 타이밍 및 에지 위치에 관하여 올바르지만, 매핑에 더하여 DUT로 적용될 수 있을 때까지 전압 레벨 시프팅을 필요로 할 수 있다. 이와 유사하게, 자극에 후속하여 DUT에서 발생하는 응답은 DUT 테스터로 다시 입력되기 전에 버퍼링 및 (반전)레벨 시프팅을 할 필요가 있을 수 있다. 이런 레벨 시프팅 작업은 핀 전자 장치(9a)의 책임이다. WHIZCO 0013을 테스트하기 위하여 요구되는 핀 전자 장치 구성은 ACMIE사로부터의 부품을 테스트하는데 유효하지 못할 것이고, 아마도 심지어 다른 WHIZ사 부품에 대하여도 그러하지 못할 것이다. 그러므로, 핀 전자 장치 어셈블리가 역시 구성 가능할 것(그러한 구성 가능성은 PE Config 라인(8a)의 기능임)을 요구한다는 점이 이해될 것이다.The foregoing stimulus information is a sequence of parallel bit patterns (ie, a sequence of "transmit vector" and expected "receive vector") expressed in accordance with the voltage level of a given group of logic devices used in the DUT tester. There is a configurable mapping between the bit position in the stimulus / response and the probe on the die, which mapping is understood by the DUT tester 6. Individual bits are correct with respect to their timing and edge position, but may require voltage level shifting until they can be applied to the DUT in addition to the mapping. Similarly, the response that occurs at the DUT following the stimulus may need to be buffered and (inverted) level shifted before being input back to the DUT tester. This level shifting operation is the responsibility of the pin electronics 9a. The pin electronics configuration required to test WHIZCO 0013 will not be valid for testing components from ACMIE, perhaps even for other WHIZ components. Therefore, it will be appreciated that the pin electronics assembly requires that it also be configurable (such configurability being a function of the PE Config line 8a).

이상으로 단일 테스트 사이트가 DUT 테스트를 위하여 어떻게 구성되는지에 관한 간단한 구조적 개요를 설명하였다. 이제 작동할 많은 테스트 사이트가 있는 경우 일어날 수 있는 문제에 관하여 논의한다. 준비 단계로서, 다수의 테스트 사이트를 가지는 테스트 시스템을 구성하는 바람직한 실시예를 설명할 것이다. 많은 측면에 있어서, 이제 설명하고자 하는 정보 중 어떤 것은 고객 선호 및 비용 편익 분석의 시장 조사를 기초로 하는 선택의 문제이다. 어찌되었건, 이들 중 하나를 구성하기 위해 일정한 선택을 하여야하며, 일단 선택이 이루어지면 전체 시스템을 통하여 명백한 특정 결과가 발생한다. 적어도 일반적으로는, 테스트 시스템의 하드웨어 특성에 관한 더 많은 개요를 설명하는 것이 유용할 것이다. 이러한 특성들 중 일부는 우연에 의한 것이라고 할지라도, 그럼에도 불구하고 이러한 특성들을 아는 것이 본 발명을 설명하는데 이용되는 다양한 예들을 이해하도록 도울 것이다.This concludes the brief structural overview of how a single test site is configured for DUT testing. Now let's discuss the problems that can arise if there are many test sites that will work. As a preparation step, a preferred embodiment of constructing a test system having a plurality of test sites will be described. In many respects, some of the information now being described is a matter of choice based on market research of customer preference and cost benefit analysis. In any case, certain choices must be made to make up one of these, and once a selection is made, specific results are evident throughout the entire system. At least in general, it would be useful to provide a more overview of the hardware characteristics of the test system. Although some of these features are by chance, knowing these features will nevertheless help to understand the various examples used to illustrate the invention.

네 개의 다소 큰 카드 케이지(card cages)를 고려하는 것으로 시작한다. 각 카드 케이지는, 전원(power supplies) 및 워터 쿨링(water cooling)(청정실 환경에서 팬(fan)은 오염원이 될 수 있음)에 더하여, 본체 기판(mother board), 프론트 플레인(front plane) 및 백 플레인(back plane)을 가진다. 각 카드 케이지에 대하여 9개까지의 어셈블리가 배치될 수 있다. 각각의 어셈블리는 테스트 사이트 제어기, DUT 테스터 및 핀 전자 장치를 포함한다. 테스트 사이트 제어기가 서로 본딩되는 방법의 일반적 개요를 설명할 것이며, 이는 데이지 체인(daisy chain)을 생성하는데 이용되는 몇몇 버스를 연루시킬 것이다.Start by considering four rather large card cages. Each card cage, in addition to power supplies and water cooling (in a clean room environment, fans can be a source of contamination), the motherboard, the front plane and the back It has a back plane. Up to nine assemblies can be placed for each card cage. Each assembly includes a test site controller, a DUT tester and a pin electronic device. A general overview of how test site controllers are bonded to each other will be described, which will involve several buses used to create daisy chains.

본론에서 벗어나 "데이지 체인"이란 용어에 관하여 간단히 설명하겠다. 시스템 요소 A, B, C 및 D를 생각해보자. 이들이 그러한 순서로 데이지 체인되어야 한다고 가정한다. A를 떠나 B로 가는 정보 및 제어 경로가 있고, 그런 다음 B는 B를 떠나 C로 가도록 트래픽을 선택적으로 전달할 수 있으며, 그런 다음 C는 C를 떠나 D로 가도록 트래픽을 선택적으로 전달할 수 있다고 말할 수 있다. 이러한 동일한 종류의 장치는 반대쪽 방향으로의 트래픽에 관하여도 존재할 수 있다. 데이지 체인은 종종 우선 순위 방안을 생성하기 위하여 이용된다. 여기서는 다양한 테스트 사이트 제어기들 사이에 마스터/슬레이브 관계를 생성하는데 이들을 이용할 것이다. 이들 데이지 체인 유형의 통신 장치는 "BUS" 대신에 접미사 "DSY"로 표시할 것이다. 그러므로, 명령어/데이터 버스 대신에 명령어/데이터 DSY라고 말할 것이다. 정보가 "B로 입력되어 선택적으로 전달된다"는 개념은 트래픽이 전달되기 전에 별도의 도전체 세트 상으로 복제되어야 한다는 것을 암시할 수 있다. 그러한 방법은, 성능 이유가 아니라면 이는 어드레스 가능한 엔티티를 가지는 정규 버스와 더욱 유사한 것일 수 있다. 프로그램 가능 어드레스 매핑 장치 및 다운 스트림 테스트 사이트 제어기의 일부가 "수면(to sleep)" 상태에 있도록 하는 능력에 의하여, 단일 버스는 논리적으로 다수의 데이지 체인처럼 보이게(즉, 그렇게 기능하게) 구성될 수 있다. 결국, 데이지 체인은 명령어 및 제어 정보에 대한 고성능 경로라고 할 수 있고, 만약 그렇지 않다면 마스터/슬레이브 조합(다수-사이트 테스트 스테이션)이 단일 테스트 사이트만큼 빨리 작동한다고 예상할 수 없다. 데이지 체인 성능의 이점을 위하여, 다양한 DSY는 그 각각의 카드 케이지를 벗어나지 않는다. 이러한 결정의 효과는 어떠한 테스트 사이트가 서로 본딩될 수 있는지(또한 얼마나많은 테스트 사이트가 서로 본딩될 수 있는지) 어떤 한계를 설정하게 한다. 원리상, 이러한 한계가 반드시 요구되는 것은 아니며, 또한 (그러한 경우에) 관련된 것이 기술적으로 실현 가능성이 없는 것도 아니다. 다만, 카드 케이지에는 이미 9개의 테스트 사이트가 있으므로, DSY를 확장하는 것은 상대적으로 적은 이점에 비하여 너무나 많은 부가 비용을 추가하는 것처럼 보인다.We will briefly explain the term "daisy chain" from the main text. Consider the system elements A, B, C and D. Assume that they must be daisy chained in that order. There is an information and control path from A to B, then B can selectively forward traffic from B to C, then C can selectively forward traffic from C to D have. This same kind of device may also exist with respect to traffic in the opposite direction. Daisy chains are often used to create priority schemes. We will use them to create a master / slave relationship between the various test site controllers. These daisy chain type communication devices will be denoted by the suffix "DSY" instead of "BUS". Therefore, we will say instruction / data DSY instead of instruction / data bus. The concept of "input to B and optionally delivered" may imply that traffic must be replicated onto a separate set of conductors before it can be delivered. Such a method may be more similar to a regular bus with an addressable entity if not for performance reasons. By virtue of the programmable address mapping device and the ability of some of the downstream test site controllers to be in a "to sleep" state, a single bus can be logically configured to look (i.e. function so) as multiple daisy chains. have. After all, daisy chains are high-performance paths for command and control information, and if not, you cannot expect the master / slave combination (multi-site test station) to run as fast as a single test site. For the benefit of daisy chain performance, the various DSYs do not leave their respective card cages. The effect of this decision allows you to set limits on what test sites can be bonded to each other (and how many test sites can be bonded to each other). In principle, these limitations are not necessarily required, nor are related (in such cases) technically impractical. However, since there are already nine test sites in the card cage, expanding the DSY seems to add too much additional cost for its relatively small advantage.

도 1의 논의를 다시 시작하여, 네 개의 카드 케이지에 있는 다양한 테스트 사이트 제어기(4a-4z)를 고려한다(각각의 카드 케이지는 9개의 테스트 사이트 제어기를 구비함). 이들을 참조 번호(4a-4f), 참조 번호(4g-4m), 참조 번호(4n-4t) 및 참조 번호(4u-4z)라고 표시한다. (이전에 설명했던 바와 같이, 이들은 명목상 26개의 첨자뿐임에 - 독자는 또 다른 10개의 첨자 심볼이 그곳 어딘가에 있을 것이라고 생각하기 바란다 - 주의할 필요는 없다.) CMD/DAT DSY(17a)(명령어 및 데이터 데이지 체인)는 하나의 카드 케이지에 있는 테스트 사이트 제어기(4a-4f)를 상호 연결하는 반면, 다른 CMD/DAT DSY(17b)는 또 다른 카드 케이지에서 테스트 사이트 제어기(4g-4m)를 상호 연결한다. 남아있는 카드 케이지에 대하여도 각각 동일한 장치, 테스트 사이트 제어기(4n-4t) 및 테스트 사이트 제어기(4u-4z)가 존재한다. 앞서 DSY는 카드 케이지를 벗어나지 않으며, DSY를 실제로 형성하는 버스의 "테일 엔드(tail end)"가 카드 케이지를 벗어나지 않고 또 다른 카드 케이지에서 다음 세그먼트의 헤드(head)가 된다고 설명한바 있다. 대신에, 테스트 시스템 제어기(2)로부터의 시스템 버스(3)는 테스트 사이트 제어기 전체로 연결되며, 각각은 카드 케이지를 벗어나지 않는 DSY 세그먼트의 헤드에서 마스터가 될 수 있다.Resuming the discussion of FIG. 1, consider various test site controllers 4a-4z in four card cages (each card cage has nine test site controllers). These are denoted by reference numbers 4a-4f, 4g-4m, 4n-4t, and 4u-4z. (As mentioned earlier, these are only nominal 26 subscripts-the reader should think that there will be another 10 subscript symbols somewhere-no need to be careful.) CMD / DAT DSY (17a) And data daisy chain) interconnect test site controllers 4a-4f in one card cage, while another CMD / DAT DSY 17b interconnects test site controllers 4g-4m in another card cage. Connect. The same device, test site controller 4n-4t and test site controller 4u-4z also exist for the remaining card cages, respectively. It has been described earlier that the DSY does not leave the card cage, and the "tail end" of the bus that actually forms the DSY is the head of the next segment in another card cage without leaving the card cage. Instead, the system bus 3 from the test system controller 2 is connected to the entire test site controller, each of which can be a master at the head of the DSY segment without leaving the card cage.

지금까지 논의해 온 CMD/DAT DSY(17a-17d)는 다양한 테스트 사이트 제어기(4a-4z) 사이에 존재한다. SYNC/ERR DSY(18a-18d) 및 DYT 테스터(6a-6z)에 대하여도 유사한 장치가 있다. SYNC/ERR DSY(18)에 의하여 운반된 동기화 및 에러 정보는 DUT 테스터가 일치하여 작동할 수 있게 해준다. 이들 두 개의 데이지 체인(17,18)은 약간씩 다른 유형의 정보를 전송하지만, 각각은 하나 이상의 테스트 사이트를 함께 하나의 테스트 스테이션으로 본딩하는 동일한 일반 메카니즘의 일부로서 존재한다.The CMD / DAT DSYs 17a-17d discussed so far exist between the various test site controllers 4a-4z. Similar devices exist for the SYNC / ERR DSY 18a-18d and the DYT tester 6a-6z. The synchronization and error information carried by the SYNC / ERR DSY 18 allows the DUT testers to operate in unison. These two daisy chains 17 and 18 carry slightly different types of information, but each exists as part of the same general mechanism for bonding one or more test sites together to one test station.

이제 도 2를 참조하면, 도 1의 DUT 테스터의 단순화한 확장 블록도가 도시되어(36개까지 있을 수 있음) 있다. 그 하나의 경우만을 설명하는 것으로 충분하다. 도 2를 언뜻 보면, 상당히 조밀하다고 느낄 것이다. DUT 테스터(6)에서 블록도에 도시되고 있는 일부는 기능적으로 상당히 복잡하고, "오프 더 쉘프(off the shelf)" 형태로는 이용가능하지 않다. 여기서 두 가지 포인트를 지적하는 것이 중요하다. 첫 번째, 도면에 도 2를 포함한 주요 목적은 전체적 비휘발성 메모리 테스트 시스템(1)내의 중요한 작동 환경의 기본 특성을 설명하는 것이다. 도 3 및 후속 도면들에 의하여 충분히 설명되는 본 발명은 도 2의 다음 설명에서 시작되는 메카니즘의 확장이거나 또는 도 2로부터 동기(motivation)가 부여되는 새로운 메카니즘일 것이다. 어느 쪽이나, 본 명세서를 작성함에 있어 이들 중 어떤 것이 독자 앞에 있는지는 정확히 알지 못한다. 현재의 목표는 차후의 여러 가지 바람직한 실시예의 방대한 상세한 설명을 위한 단순화되고 정보적인 시작 포인트를 제공하여, 차후의 설명 각각이 적절히 간결해지도록 하는 것이다(각각의 서로 다른 발명에 관하여 모든 것을 설명하는 하나의 "점보" 명세서가 되지 않도록). 두 번째는, 확대된 또는 확장된 요소가 일반적으로 전체적으로는 도 2와 일치하지만 도 2의 단순화 버전과 정확하게 "매치(match-up)"되지는 않는 정보를 포함할 수 있다는 것이다. 이는 에러가 있다는 것을 의미하거나 또는 그것들이 치명적으로 일치하지 않는다는 것을 의미하는 것은 아니며, 이는 때때로 무엇인가를 단순화하여 미니어처로 그 정확한 이미지를 나타내는 것이 곤란하거나 불가능하기 때문에 발생하는 것이다. 이러한 상황은 지도와 유사하다. 표준 사이즈의 콜로라도 지도는 I-70상에서 동쪽으로 가는 경우 덴버에서 I-25를 따라 북쪽으로 갈 수 있다는 것을 보여줄 것이다. 이는 좌회전처럼 보인다. 그리고 이는 과거에는 실제로 좌회전이었으나 지금은 그렇지 않고, 그 교차로에 대한 상세한 지도는 일련의 회전과 사이에 있는 사거리를 보여줄 것이다. 그러나 누구도 표준 사이즈 지도가 잘못되었다고 말할 수 없으며, 그 추상화 혹은 축약화의 레벨에 있어서는 올바른 것이다. 유사하게, 그리고 그 상당히 복잡한 외관에도 불구하고, 도 2는 실제로 중간 레벨의 추상화 혹은 축약화로 동작하는 간이한 것이지만, 일부 외관상 좌회전이 전혀 단순한 좌회전이 아닌 경우도 있다.Referring now to FIG. 2, a simplified extended block diagram of the DUT tester of FIG. 1 is shown (there may be up to 36). It is enough to explain only that one case. At first glance, you will feel quite dense. Some shown in the block diagram in the DUT tester 6 are quite functionally complex and not available in an "off the shelf" form. It is important to point out two points here. First, the main purpose of including FIG. 2 in the figures is to describe the basic characteristics of the critical operating environment within the overall nonvolatile memory test system 1. The invention, which is fully described by FIG. 3 and the subsequent figures, may be an extension of the mechanism beginning in the following description of FIG. 2 or a new mechanism to which motivation is provided from FIG. Either way, it is not known exactly which of these is in front of the reader in writing this specification. The present goal is to provide a simplified and informative starting point for the extensive details of the various preferred embodiments which follow, so that each of the following descriptions will be appropriately concise (one describing everything with respect to each of the different inventions). So that it does not become a "jumbo" statement). Second, an enlarged or expanded element may generally include information that is generally consistent with FIG. 2 but not exactly “match-up” to the simplified version of FIG. 2. This does not mean that there are errors or that they are fatally inconsistent, which sometimes occurs because it is difficult or impossible to simplify something and present its exact image in miniature. This situation is similar to a map. The full-size Colorado map will show that if you head east on I-70, you can head north along Denver I-25. This looks like a left turn. And this was actually a left turn in the past but not now, and a detailed map of the intersection will show the range between the series of turns. But no one can say that the standard size map is wrong, and it is correct at the level of abstraction or reduction. Similarly, and despite its fairly complex appearance, FIG. 2 is a simple operation that actually works with a medium level of abstraction or attenuation, although some apparent left turns are not simply left turns at all.

도 1에 도시된 바와 같이, DUT 테스터(6)로의 주 입력은 테스트 사이트 버스(5)가 한 예로, 이 테스트 사이트 버스(5)는 관심 DUT 테스터(6)의 예와 연관된 테스트 사이트 제어기(4)로부터 시발된다. 테스트 사이트 버스(5)는 특별한 목적의 마이크로프로세서에 유사할 수 있는 마이크로-제어기 시퀀서(19)와 결합한다. 테스트 사이트 버스(5)는 마이크로-제어기 시퀀서(19) 내부(PGM SRAM(20)) 혹은 마이크로-제어기 시퀀서(19) 외부(EXT. DRAM(21)) 중 하나일 수 있는 프로그램 메모리에 저장된 프로그램으로부터의 명령을 페치(fetch)한다. 이러한 두 개의 메모리가 본질적으로 프로그램 카운터로 역할하는 논리 공통 어드레스(63)(혹은 명령어 페치 어드레스)인 것에 의해 어드레싱되고 두 개의 메모리 중 어느 하나가 수행될 프로그래밍의 소스일 수 있지만, (1)메모리 중 오직 하나만이 임의의 시간 주기 동안에 명령어 페치 메모리 사이클을 수행하고 (2)실제로 두 개의 메모리가 전기적으로 상이한 신호에 의해 어드레싱된다는 점에 유의해야 한다. SRAM은 고속이고 진정한 랜덤 액세스를 허용하지만, 마이크로-시퀀스 제어기(19)(대형 IC인)내의 유용한 공간을 소모하여, SRAM의 크기는 제한된다. 외부 DRAM은 대용량의 조절가능한 양으로 제공될 수 있지만, 선형 수행을 포함하고 어떠한 브랜칭도 없는 순차 청크(chunk)로 액세스될 때에만 고속이다. 집중 알고리즘인 SRAM(20) 프로그래밍이 가장 흔하지만, EXT. DRAM(21)은 초기화 루틴 및 랜덤 혹은 비정규 데이터와 같이 알고리즘 프로세스에 의해 쉽게 생성되지 않는 요소에 가장 적합하다.As shown in FIG. 1, the main input to the DUT tester 6 is an example of a test site bus 5, which is a test site controller 4 associated with an example of the DUT tester 6 of interest. From). The test site bus 5 couples with a micro-controller sequencer 19 which may be similar to a special purpose microprocessor. The test site bus 5 may be from a program stored in a program memory, which may be either inside the micro-controller sequencer 19 (PGM SRAM 20) or outside the micro-controller sequencer 19 (EXT. DRAM 21). Fetch the command of These two memories are addressed by being essentially a logical common address 63 (or instruction fetch address) that serves as a program counter and either of the two memories can be the source of programming to be performed, but (1) It should be noted that only one performs an instruction fetch memory cycle for any period of time and (2) the two memories are actually addressed by electrically different signals. SRAMs are fast and allow true random access, but they consume valuable space in the micro-sequence controller 19 (which is a large IC), so that the size of the SRAMs is limited. External DRAMs can be provided in large, adjustable amounts, but are only fast when accessed in sequential chunks with linear performance and without any branching. Programming SRAM 20, the intensive algorithm, is the most common, but EXT. DRAM 21 is most suitable for elements that are not easily generated by algorithmic processes, such as initialization routines and random or irregular data.

마이크로-제어기 시퀀서(19)에 의해 수행되는 명령어 워드는 상당히 길다, 즉 208비트이다. 명령어 워드는 13개의 16비트 필드로 구성된다. 이러한 필드는 흔히 정규 마이크로-제어기 시퀀서 외부의 메카니즘에 관한 페치 명령 정보를 나타낸다. 이런 필드는 이와 연관된 메카니즘 전용이다. 한 세트의 ALU 명령(22)은 8개의 16비트 ALU(24)의 콜렉션에 제공되고, 다른 세트 ALU 명령은 DUT 테스터 도처에 분포된 다양한 다른 메카니즘에 분배된다. "다양한 제어값 & 명령"(42) 범례(legend) 및 라인이 이런 후자의 경우를 표시한다.The instruction word carried by the micro-controller sequencer 19 is quite long, ie 208 bits. The instruction word consists of 13 16-bit fields. These fields often indicate fetch command information about mechanisms outside the normal micro-controller sequencer. This field is dedicated to the mechanism associated with it. One set of ALU instructions 22 is provided for a collection of eight 16-bit ALUs 24, and another set of ALU instructions is distributed to various other mechanisms distributed throughout the DUT tester. "Various Control Values & Commands" 42 Legends and lines indicate this latter case.

8개의 16 비트 ALU(24) 각각은 연관된 16비트 결과 레지스터 주변에 구축된 전형적인 레퍼토리의 산술 명령을 갖는다(각각의 ALU는 또한 여러 다른 레지스터를 갖는다). 이러한 결과 레지스터 중 3개의 레지스터 및 3개의 레지스터와 연관된 ALU는 DUT에 제공될 완결 어드레스로 다양하게 결합되는 X, Y 및 Z 어드레스 성분(27)을 생성하기 위한 것이다. 8개의 ALU/레지스터 중 2개(DH & DL) 이상이 최대 유효부(most significant protion : DH)와 최소 유효부(least significant portion : DL) 사이에서 분할되는 32비트 데이터 패턴(28)의 알로리즘 생성을 지원하는데 제공된다. 마지막 3개의 ALU/레지스터(A, B, C)는 카운터로서 사용되고 어떤 프로그램 지정 횟수의 반복 혹은 다른 횟수 조건에서 완결하기 위해 프로그램 제어 및 브랜칭으로 지원하는 다양한 프로그램 제어 플래그(25)의 생성에 기여한다. 이러한 프로그램 제어 플래그(25)는 마이크로-제어기 시퀀서(19)에 되전송되는데, 마이크로-제어기 시퀀서(19)에서 플래그(25)는 마이크로프로세서에서와 같이 명령어 페치 어드레스의 값에 영향을 미친다. 또한 프로그램 브랜칭에 영향을 미치는데 사용될 수 있는 다양한 기타 플래그(55)가 존재한다. 이러한 플래그(55)는 페치 명령어 워드의 상이한 필드에 의해 제어되는 DUT 테스터(6)내의 다양한 기타 메카니즘과 관련된다. 하나의 특정한 추가 플래그가 분리 아이템, 즉 VEC_FIFO_FULL(26)로 명시적으로 도시되어 있다. 다소 덜 세부적인 사항을 갖는 다른 도면에서, 이 하나의 특정한 추가 플래그는 기타 플래그(55)와 함께 총괄될 수 있다. 본 명세서에서는 하나의 특정한 추가 플래그를 분리하여 마이크로-제어기 시퀀서(19) 동작의 한 측면의 설명을 용이하게 하고자 한다.Each of the eight 16-bit ALUs 24 has a typical repertoire of arithmetic instructions built around its associated 16-bit result register (each ALU also has several different registers). Three of these result registers and the ALUs associated with the three registers are for generating the X, Y, and Z address components 27 which are variously combined into a complete address to be provided to the DUT. The algorithm of the 32-bit data pattern 28 in which two of the eight ALU / registers (DH & DL) or more are divided between the most significant portion (DH) and the least significant portion (DL). It is provided to support creation. The last three ALUs / Registers (A, B, C) are used as counters and contribute to the creation of various program control flags 25 that support program control and branching to complete in some program specified number of iterations or other conditions. . This program control flag 25 is sent back to the micro-controller sequencer 19, in which the flag 25 affects the value of the instruction fetch address as in the microprocessor. There are also various other flags 55 that can be used to affect program branching. This flag 55 is associated with various other mechanisms in the DUT tester 6 controlled by different fields of the fetch instruction word. One particular additional flag is explicitly shown as a separate item, VEC_FIFO_FULL 26. In other figures with less detail, this one particular additional flag may be combined with the other flags 55. It is intended herein to facilitate the description of one aspect of the micro-controller sequencer 19 operation by separating one particular additional flag.

VEC_FIFO_FULL이 수행하는 것은 마이크로-제어기 시퀀서(19)에 의한 추가 프로그램 수행을 (일시) 중지시키는 것이다. 마이크로-제어기 시퀀서(19)에 의해 페치되는 명령과 DUT에 적용될 테스트 벡터를 최종적으로 핸드 오프 하는 메카니즘 사이에 많은 단계의 파이프라인이 존재한다. 또한, DUT에 제공될 수화물(baggage) 일부가 앞으로 진행함에 따라서 벡터를 수반하는 수화물 일부는 궁극적인 벡터 애플리케이션의 속도 혹은 각각의 벡터 지속 시간에 관한 정보이다. 따라서, DUT로의 벡터 애플리케이션의 속도는 상수일 필요가 없으며, 특히 어떤 그룹의 벡터는 생성하는 것보다 제공하는데 더 오래 걸릴 수 있다. 마이크로-제어기 시퀀서는 단지 자신의 최대 속도로 프로그래밍을 수행한다. 그러나 명백하게,평균적으로"벡터 소모"의 속도는 파이프라인이 거의 제한 없이 탄성체처럼 들쭉 날쭉 할 필요가 없도록 "벡터 생성"의 속도와 동일해야 한다. 후술할 어드레스 매퍼(29)의 출력에 벡터 FIFO(45)가 존재하고, 벡터 FIFO(45)는 파이프라인에서 탄성체 기능을 수행한다. VEC_FIFO_FULL 신호는 파이프의 헤드 엔드(head end)에서 새로운 벡터의 생성을 일시 중지시켜 파이프라인에서 제한된 수의 단계를 초과하는 것을 방지하는데 사용된다.What VEC_FIFO_FULL does is to pause (pause) further program execution by the micro-controller sequencer 19. There are many stages of pipeline between the instruction fetched by the micro-controller sequencer 19 and the mechanism for finally handing off the test vectors to be applied to the DUT. In addition, as some of the baggage to be provided to the DUT proceeds forward, some of the baggage accompanying the vector is information about the speed or the respective vector duration of the ultimate vector application. Thus, the speed of the vector application to the DUT need not be constant, and in particular some groups of vectors may take longer to provide than to generate. The micro-controller sequencer only performs programming at its maximum speed. Obviously, however, on average, the speed of "vector consumption" should be equal to the speed of "vector generation" so that the pipeline almost does not have to be jagged like an elastomer. The vector FIFO 45 exists at the output of the address mapper 29 to be described later, and the vector FIFO 45 performs an elastic function in the pipeline. The VEC_FIFO_FULL signal is used to pause the generation of a new vector at the head end of the pipe to avoid exceeding a limited number of steps in the pipeline.

계속하여, (16비트의 3배인 48비트의) X, Y 및 Z 어드레스 성분(27)은 어드레스 매퍼(29)에 제공되는데, 어드레스 매퍼(29)의 출력은 순서화된 48비트 어드레스 공간에서 거의 임의 재구성된 어드레스 값으로 사전 선택된다. 이것을 인식하는 출발점으로서, 어드레스 매퍼(29)가 완전히 찬 48비트 어드레스 공간인 메모리이고 각각의 어드레스에서 48비트 값을 보유한다고 우선 가정하자(이런 메모리가오늘날 대형 냉장고 크기가 될 것임을 잠시 고려하지 않기 바란다). 이런 메모리가 주어졌을 때, 탐색 테이블은 어느 제공 어드레스를 대체 어드레스로 사용될 수 있는 임의 선택된 다른 48비트 값에 매핑하게 구현될 수 있다. 이런 어드레스 매핑이 바람직한 이유는 X, Y 및 Z 어드레스 성분이 (일반적으로 하나의 큰 선형 디코더로는 구현되지 않을 가능성이 가장 높은 특정한 DUT 내부 아키텍처의 관점에서 유용한 의미를 갖는다는 점이다. 행, 열과 레이어, 블록 혹은 페이지의 개념은 테스트 엔지니어에게 매우 유용할 수 있고, 물리적으로 서로 가까운 위치에서 발생하는 오류는 그들의 X, Y 및 Z 어드레스에서 대응하는 유사성을 포함할 수 있다. 테스트 결과에서의 이런 패턴은 무엇이 오류인지를 인식하고 오류 섹션 동작을 예비 섹션 동작으로 회피하도록 일부를 재프로그래밍하는 생성 레벨에서 이런 혹은 설계 레벨에서 이런 오류를 정정하는데 유용할 수 있다. 이 점에서 두 가지 문제가 발생한다. 첫 번째는 48비트를 DUT에 제공될 실제수의 비트(32비트 혹은 16비트)로 줄이는 것이다. 본 발명자들은 줄이는 방법을 간략히 언급할 것인데, 줄이는 방법은 대개 X로부터 얼마의 비트, Y로부터 얼마의 비트 및 Z로부터 그 나머지를 취하는 문제이다. 전부는 아니지만, 이것은 두 번째 문제인데, 이는 소정 어드레스가 회로의 다른 섹션의 좌-우(left-for-right)(혹은 좌-우 및 상-하) 거울 이미지로 회로내에 놓여 있을 수 있기 때문이다. 이것은 어떤 순차 어드레스 값이 이 회로내에서 물리적 순서대로 존재하는 한 비트가 의미하는 것을 재구성하는 효과를 갖는다. 이런 칩 레이아웃 특성은 수차례 발생할 수 있고, 한 그룹의 비트, 즉 Y가 해석되는 방법이 어떤 다른, 즉 Z비트의 수반값에 의존할 수 있다는 것은 당연하다. 어드레스 매퍼(29)는 원래 X, Y 및 Z 어드레스가 "재패키징"되게 제공되어 이런 내부 아키텍처 구성을 갖는 메모리를 테스트할 사람이 이런 유형의 일을 반영하게 한다. 이와 같은 것을 실제 수행하기 위해, 어드레스 매퍼(29)는 상당수의 상호 접속 멀티플렉서를 포함한다. 어드레서 매퍼(29)는, 설명을 위해 앞서 일시 가정한 바와 같이, 완전히 찬 메모리 디코드 기법(fully populated memory decode scheme)의 완전 임의 탐색 테이블 행동(completely arbitrary look-up table behavior)을 달성할 수는 없다. 그러나, 어드레서 매퍼(29)는 필요한대로 X, Y 및 Z 어드레스 성분의 서브-필드를 재구성할 수 있는데, 이는 48비트를 필요한 실제수로 감소시킬 다른 메카니즘이 여전히 존재하기 때문이다. 어드레스 매퍼(29)는 또한 3개의 16비트(어드레스) 탐색 테이블을 포함하여 로컬 범위내에서 제한된 임의 매핑을 수행한다.Subsequently, the X, Y, and Z address components 27 (of 48 bits, three times 16 bits) are provided to the address mapper 29, with the output of the address mapper 29 almost random in the ordered 48 bit address space. It is preselected with the reconstructed address value. As a starting point for recognizing this, first assume that the address mapper 29 is a memory that is a full 48-bit address space and holds 48-bit values at each address (don't consider for a moment that this memory will be the size of a large refrigerator today). ). Given this memory, the lookup table can be implemented to map any given address to any other selected 48 bit value that can be used as an alternate address. The reason why such address mapping is desirable is that the X, Y and Z address components have a useful meaning in terms of the particular DUT internal architecture that is most likely not to be implemented with one large linear decoder. The concept of layers, blocks, or pages can be very useful to test engineers, and errors that occur in physically close locations can include corresponding similarities in their X, Y, and Z addresses. Can be useful for correcting these errors at this or design level at the production level, recognizing what is an error, and reprogramming some to avoid the error section behavior as a preliminary section behavior. The first is to reduce the 48 bits to the actual number of bits (32 or 16 bits) to be provided to the DUT. We will briefly mention how to reduce, which is usually a matter of taking some bits from X, some bits from Y, and the rest from Z. Not all, but this is the second problem, which This is because a given address may lie in the circuit with a left-for-right (or left-right and up-down) mirror image of another section of the circuit, because some sequential address value may be placed in the circuit. This has the effect of reconstructing what one bit means in physical order, and this chip layout characteristic can occur many times, and the way in which a group of bits, ie, Y, is interpreted, depends on the accompanying value of some other, ie, Z bits. Naturally, the address mapper 29 is originally provided such that the X, Y and Z addresses are "repackaged" so that the memory has this internal architecture configuration. Let the person to test reflect this type of work To actually do this, the address mapper 29 includes a large number of interconnect multiplexers The address mapper 29 is assumed to be temporary for the sake of explanation. As one can't achieve a completely arbitrary look-up table behavior of a fully populated memory decode scheme. However, the address mapper 29 can reconstruct the sub-fields of the X, Y and Z address components as needed because there is still another mechanism that will reduce the 48 bits to the actual number required. The address mapper 29 also includes three 16-bit (address) lookup tables to perform limited random mapping within the local range.

어드레스 매퍼(29)의 매핑 어드레스 출력(30)은 Aux RAM(31) 및 에러 캐치 RAM(32)에 어드레스로서 제공되는데, Aux RAM(31) 및 에러 캐치 RAM(32)은 별개 기능을 수행하지만 하나의 대형인 전체 RAM에서 선택가능한 부분으로 구현될 수 있다. 매핑 어드레스 출력(30)은 또한 후술할 어드레스 비트 선택 회로(37)에 하나의 입력으로 제공된다.The mapping address output 30 of the address mapper 29 is provided as an address to the Aux RAM 31 and the error catch RAM 32. The Aux RAM 31 and the error catch RAM 32 perform separate functions but It can be implemented as a selectable part of the whole RAM that is large of. The mapping address output 30 is also provided as an input to an address bit select circuit 37 which will be described later.

Aux RAM(31)을 고려해 보자. Aux RAM(31)의 기능은 DUT에 제공될 수 있는 데이터 패턴(33)과 어드레스(34)를 보유하는 것이다. 데이터 패턴(33)과 어드레스(34)는 Aux RAM(31)으로부터의 논리적으로 별개인 출력인데, 이는 데이터 패턴(33)과 어드레스(34)가 다소 상이하게 프로세싱되고 상이한 장소에서 사용되기때문이다(Aux RAM(31)은 이중 "포트 메모리"가 아니지만, 출력이 멀티플렉서에 제공되는 여러 뱅크인 것이 바람직하다). 이와 같은 구현시, 저장 데이터(33)는 Aux RAM(31) 어드레스의 하나의 뱅크 혹은 범위에 보존되고, 저장 어드레스(34)는 Aux Ram(31)의 다른 뱅크 혹은 범위에 보존될 수 있다. 또한, 본 발명자들은 Aux RAM(31)에 기록하기 위한 명시적인 메카니즘을 도시하지는 않는다. 이것은 수행 프로그램 명령에서 테스트 사이트 제어기(4)가 개시하는 어드레싱 버스 동작에 의해 달성된다(도 2에서의 거의 모든 부분으로 향하는 "under the floorboards", 즉 "링 버스"로 지칭되는 "유틸리티 서비스" 버스[도면을 매우 복잡하게 하기 때문에 도시하지 않음]가 존재한다).Consider Aux RAM 31. The function of the Aux RAM 31 is to hold a data pattern 33 and an address 34 that can be provided to the DUT. Data pattern 33 and address 34 are logically separate outputs from Aux RAM 31, because data pattern 33 and address 34 are processed somewhat differently and used in different places ( The Aux RAM 31 is not a dual "port memory," but preferably it is several banks whose output is provided to the multiplexer). In such an implementation, the store data 33 may be stored in one bank or range of Aux RAM 31 addresses, and the store address 34 may be stored in another bank or range of Aux Ram 31. Furthermore, we do not show an explicit mechanism for writing to the Aux RAM 31. This is accomplished by the addressing bus operation initiated by the test site controller 4 in the executing program instruction (the "utility service" bus, referred to as "under the floorboards", ie "ring buses," going to almost all parts in FIG. 2). (Not shown because of the complexity of the drawings).

에러 캐치 RAM(32)은 Aux RAM(31)에 제공되는 동일한 어드레스로 어드레싱되고, 에러 캐치 RAM(32)은 에러에 관한 정보를 저장하거나 혹은 검색하는데, 이 동작은 후술할 포스트 디코드 회로와 결합하여 수행된다. Aux RAM(31)으로부터의 경로(33 및 34)에서와 같이, 경로(61)(에러 캐치 RAM으로) 및 경로(62)(에러 캐치 RAM으로부터)는 링 버스(도시되지 않음)에 의해 분배된 구성 정보에 따라서 멀티-뱅크 메모리(에러 캐치 RAM(32))로부터 멀티플렉싱된 출력이 바람직하다.The error catch RAM 32 is addressed to the same address provided to the Aux RAM 31, and the error catch RAM 32 stores or retrieves information about the error, which operation is combined with a post decode circuit described below. Is performed. As with paths 33 and 34 from Aux RAM 31, path 61 (to error catch RAM) and path 62 (from error catch RAM) are distributed by a ring bus (not shown). The multiplexed output from the multi-bank memory (error catch RAM 32) is preferred in accordance with the configuration information.

데이터 멀티플렉서(35)는 ALU의 수집(24)에서의 레지스터(DH 및 DL)로부터의 데이터(28)뿐만 아니라 Aux RAM(31)으로부터의 저장 데이터 출력(33)을 입력으로 갖는다. 데이터 멀티플렉서(35)는 이러한 입력(28, 32) 중 어느 것을 자신의 출력(38)으로 제공할지를 선택하는데, 이 출력(38)은 전송 벡터 매퍼/직렬변환기/수신 벡터 비교 데이터 회로(40)에 두 개의 벡터 성분 중 하나로서 제공된다(다른성분은 어드레스 비트 선택 회로(37)의 출력(39)이다). 회로(40)는 세 가지 기능, 즉 벡터 성분(38, 39)을 DUT에 제공(전송)될 전체 벡터의 순서화된 논리 표현으로 어셈블링하고, 전송 벡터 논리 표현의 순서화된 비트와 이 신호(즉, 이 벡터내의 비트) 대신에 DUT와 접촉할 핀 전자 장치(즉, 어느 프로브 팁)의 실제 물리 채널 번호 사이에 임의 동적 대응(매핑)을 적용하며, 컴파일러와 협력하여 전체 논리 벡터를 DUT(이를 허용하는 DUT에)에 개별적으로 또한 순서대로 제공될 부분(pieces)으로 분할하는 기능을 수행할 수 있다. 이러한 기능 중 어느 기능이 수행될지는 마이크로-제어기 시퀀서(19)에 의해 페치되는 208비트 명령어에서의 필드에 따라서 또한 어드레싱되는 SRAM(41)으로부터의 제어 신호에 의해 결정된다. 회로(40)의 출력은 VEC_FIFO_FULL 신호(26)를 완전히 생성하는 벡터 FIFO(45)에 제공될 64비트 벡터(44)에 달하는데, VEC_FIFO_FULL 신호(26)의 의미와 이용은 전술하였다. 벡터 FIFO(45)의 상위 벡터는 주기 생성기(49)(간략히 설명될)에서 발생하는 VEC_FIFO_UNLOAD 신호(47)의 수신시 벡터 FIFO(45)에서 제거된다. 이 제거 벡터(46)는 핀 전자 장치(9)의 연관 동작을 통해 DUT에 연결되는 타이밍/포맷팅 및 비교 회로(52)에 제공된다. 즉, 핀 전자 장치(9)의 각각의 동작은 핀 전자 장치(9)와 연관된 타이밍/포맷팅 및 비교 회로(52)로부터 전송 & 수신 벡터(7) 및 핀 전자 장치 구성 정보(8)를 수신한다.The data multiplexer 35 has as inputs the stored data output 33 from the Aux RAM 31 as well as the data 28 from the registers DH and DL in the collection 24 of the ALU. The data multiplexer 35 selects which of these inputs 28, 32 to provide to its output 38, which output 38 transmits to the transmit vector mapper / serial converter / receive vector comparison data circuit 40. It is provided as one of two vector components (the other component is the output 39 of the address bit select circuit 37). The circuit 40 assembles three functions, the ordered logical representation of the entire vector to be provided (transmitted) to the DUT, and the ordered bits of the transmitted vector logic representation and this signal (i.e., Apply a random dynamic correspondence (mapping) between the actual physical channel numbers of the pin electronics (i.e., any probe tip) to contact the DUT instead of the bits in this vector, and work with the compiler to Splitting into pieces that will be provided separately and in order). Which of these functions is performed is determined by the control signal from the SRAM 41 that is also addressed according to the field in the 208-bit instruction fetched by the micro-controller sequencer 19. The output of the circuit 40 amounts to a 64-bit vector 44 to be provided to the vector FIFO 45 which completely generates the VEC_FIFO_FULL signal 26, the meaning and use of the VEC_FIFO_FULL signal 26 described above. The upper vector of the vector FIFO 45 is removed from the vector FIFO 45 upon receipt of the VEC_FIFO_UNLOAD signal 47 occurring in the period generator 49 (to be described briefly). This removal vector 46 is provided to the timing / formatting and comparing circuit 52 that is connected to the DUT via the associated operation of the pin electronics 9. That is, each operation of the pin electronic device 9 receives the transmit & receive vector 7 and the pin electronic device configuration information 8 from the timing / formatting and comparing circuit 52 associated with the pin electronic device 9. .

타이밍/포맷팅 및 비교 회로(52)는 마이크로-제어기 시퀀서(19)의 프로그램 SRAM(20)에서와 같이 동일한 명령 어드레스("원내부의 A")에 의해 어드레싱되는 내부 SRAM(54)을 갖는다(외부 DRAM(53)이 내부 SRAM(54) 대신에 사용될 수 있다).내부 SRAM(54)(혹은 외부 DRAM(53))은 구동 및 비교 사이클의 생성을 지원한다. 구동 사이클은 전송 벡터를 DUT에 제공한다. 비교 사이클은 DUT가 제공하는 벡터를 수신하고 이를 검사하여 이전에 제공된 비교 데이터와 매칭하는지를 판정한다. 구동 사이클 및 비교 사이클 모두는 그들의 지속 시간, 로드가 인가되는지 여부 및 언제 인가되는지 데이터가 언제 래칭 혹은 스트로빙되는지에 관해 조절될 수 있다. 전술한 비교는 수신 벡터 역매퍼/직병렬 변환기(57)에 제공되는 64비트 값(56)을 생성하는데, 이 변환기(57)의 기능은 회로(40)의 논리적인 반전으로 생각하면 된다 (회로(57)의 동작은 SRAM(41)에 의한 회로(40)의 제어에 대응하여 SRAM(58)에 의해 제어된다). 이어서, 회로(57)의 출력(59)은 포스트 디코드 회로(60)에 제공된다. 포스트 디코드 회로(60)는 프로그램 표준을 통해 입력 에러 정보(59) 및 (이전의) 저장 에러 정보(60)(에러 캐치 RAM에 저장된) 모두를 검사하여 후에 경로(61)를 통해 에러 캐치 RAM(32)에 되저장될 압축되고 쉽게 해석가능한 에러 정보를 생성할 수 있다. 한 가지 예로 에러가 몇 차례나 특정한 범위의 어드레스내에 존재하는지에 관한 정보가 생성될 수 있는데, 이 정보는 대체 회로를 구동하여 온-칩 수리 시도할 때를 결정하는데 유용할 수 있다.The timing / formatting and comparing circuit 52 has an internal SRAM 54 addressed by the same command address (“A inside the circle”) as in the program SRAM 20 of the micro-controller sequencer 19 (external DRAM 53 may be used in place of internal SRAM 54. Internal SRAM 54 (or external DRAM 53) supports the generation of drive and compare cycles. The drive cycle provides the transmission vector to the DUT. The comparison cycle receives the vector provided by the DUT and examines it to determine if it matches the previously provided comparison data. Both drive cycles and comparison cycles can be adjusted as to their duration, whether a load is applied and when the data is latched or strobe. The above-described comparison produces a 64-bit value 56 provided to the receive vector demapper / serial converter 57, which can be thought of as a logical inversion of circuit 40 (circuit 40). The operation of 57 is controlled by the SRAM 58 in response to the control of the circuit 40 by the SRAM 41). The output 59 of the circuit 57 is then provided to the post decode circuit 60. The post decode circuit 60 checks both the input error information 59 and the (previous) stored error information 60 (stored in the error catch RAM) via the program standard and later via the path 61 the error catch RAM ( It is possible to generate compressed and easily interpretable error information to be stored back. As one example, information may be generated about how many times an error exists within a particular range of addresses, which may be useful in determining when to attempt an on-chip repair by driving an alternate circuit.

이제 주기 생성기(49) 및 이와 연관된 타이밍 SRAM(51)을 설명하겠다. 주기 생성기(49)와 타이밍 SRAM(51)은 마이크로-제어기 시퀀서(19)에 의해 페치되는 각 208비트 명령에 대해 타이밍/포맷팅 및 비교 회로(52)의 연관 동작에 관한 지속 시간을 결정하는 8비트 신호 T_SEL(43)에 응답한다. T_SEL(43)은 페치 명령내의 상이한 필드에 의해 표시되는 다양한 제어값 및 명령(42)의 멤버이다. T_SEL(43)은8비트 값으로 256 상이한 경우를 표시하거나 혹은 인코딩할 수 있다. 이 경우에, 이러한 "경우들"은 타이밍 SRAM(51)에 저장된 28비트 값이고 T_SEL에 의해 어드레싱된다. 각각의 어드레싱된 28비트 값(23)은 19.5 피코초 해상도를 갖는 원하는 지속 시간을 지정한다. 액세스된 28비트 지속 시간 값(23)의 시퀀스는 이 시퀀스의 개별 멤버가 벡터 FIFO(45)에 저장된 목적 대응 벡터의 검색과 동시에 검색되고 제공될 수 있도록 주기 FIFO(50)에 저장된다.The period generator 49 and its associated timing SRAM 51 will now be described. The period generator 49 and the timing SRAM 51 have 8 bits that determine the duration for the associated operation of the timing / formatting and comparing circuit 52 for each 208 bit instruction fetched by the micro-controller sequencer 19. In response to the signal T_SEL 43. T_SEL 43 is a member of the command 42 and the various control values represented by the different fields in the fetch command. The T_SEL 43 may indicate or encode 256 different cases with 8-bit values. In this case, these "cases" are 28-bit values stored in timing SRAM 51 and addressed by T_SEL. Each addressed 28-bit value 23 specifies the desired duration with 19.5 picosecond resolution. The sequence of accessed 28-bit duration values 23 is stored in the periodic FIFO 50 so that individual members of the sequence can be retrieved and provided concurrently with the retrieval of the destination corresponding vector stored in the vector FIFO 45.

FIFO(50)에서 최초 엔트리에서의 거친 타이밍 값 필드는 5 nsec의 해상도를 갖는 지속 시간 정보를 운반하고 이 정보로부터 벡터 FIFO(45)로부터의 후속 전송 벡터를 타이밍/포맷팅 및 비교 회로(52)에 전송하는 VEC_FIFO_UNLOAD 신호(47)를 생성한다. 비교 신호 타이밍 리마인더(48)가 또한 회로(52)에 제공되는데, 이 회로(52)에서 최종 19.5 피코초 해상도가 달성된다.The coarse timing value field in the first entry in FIFO 50 carries duration information with a resolution of 5 nsec and from this information to the timing / formatting and comparison circuit 52 for subsequent transmission vectors from vector FIFO 45. Generate a VEC_FIFO_UNLOAD signal 47 to transmit. A comparison signal timing reminder 48 is also provided to the circuit 52 in which the final 19.5 picosecond resolution is achieved.

어떤 메모리는 메모리 장치에서 전체 메모리 공간을 구성하도록 단일 다이상에서 복제되는 다수의 메모리 블록으로 구성된다. 그러한 경우 종종, 복제된 블록은 세로축 또는 수평축을 가로지르거나 또는 양자 모두를 가로지르는 미러 이미지이며, 그 복제된 블록은 또한 더 복제될 수 있다. 종종 하나의 메모리 블록을 위한 단일 테스트를 구성하고 복제된 블록에 대하여는 이를 반복하는 것이 효과적이다. 테스트 패턴은 각 블록에 관련되는 반면, 그 메모리 블록이 서로의 이미지이기 때문에 메모리 블록 전체에 대하여 단일 테스트를 단순히 재사용하는 것은 가능하지 않다. 따라서, 복제된 블록은 어드레스 비트가 각 블록마다 상이한 시퀀스를 따르는 장치에 대한 테스트에 영향을 준다. 그러나, 서로 다른 시퀀스는 서로 관련이 있다. 스크램블 특성(scramble feature)은 스크램블 기능만을 프로그래밍 함으로써 테스트 개발자가 서로 다른 메모리 블록에 대하여 테스트 패턴을 재사용할 수 있게 한다. 테스트 패턴 자체는 재사용되고, 테스트 패턴 프로그램 명령어와는 알고리즘적으로 구별되는 스크램블 기능이 각각의 복제된 메모리 블록에 대한 테스트 패턴을 적응시키는데 관한 관리 책임을 수행한다. 일부 메모리는 또한 페이지로 구성된다. 페이지는 소정의 어드레스 비트 서브세트를 이용하여 어드레싱된다. 스크램블 기능은 다른 어드레스 라인과 별도로 소정의 비트의 알고리즘적 제어를 수행함으로써 강화되고 스크램블 기능으로 입력되는 정규 어드레스 비트에 대하여 그러한 비트들로의 교체를 허용한다. 도 3을 구체적으로 참조하면, X스크램블(302), Y스크램블(304), 및 Z스크램블(306) 블록 각각이 어드레스 X, 어드레스 Y 및 어드레스 Z ALU 레지스터(24)로부터 16비트 어드레스를 제각기 수신하는 것을 도시하고 있는 도 2에 도시된 어드레스 매퍼(29)의 중간 레벨(mid-level) 세부 모습이 도시되고 있다. 따라서, 도 2에서 참조 번호(27)로 도시된 48개의 어드레스 라인은 도 3에서 16비트 논리 어드레스 라인 3개 그룹으로 분할된다. X스크램블, Y스크램블, 및 Z스크램블 블록(302,304,306)이 또한 APG 레지스터에서 개시되는 정보를 수신한다. APG 레지스터의 프로그램 가능성은 테스터 기능의 프로그램 가능 특징을 제공한다. APG 레지스터 각각의 값은 컴파일된 오브젝트 코드의 일부로서 테스트 패턴에 저장되고 다운로드되어 테스트 패턴을 실행하기 이전에 초기 값을 제공한다. 또한 일반적이지는 않을 지라도, 테스트 패턴 실행동안 소정의 APG 레지스터 일부에서 값을 변화시키는 것이 가능하다. 테스터에는 많은 수의APG 레지스터가 있으며 본 명세서에서는 본 발명에 관련되는 일부 레지스터만이 설명되고 있다. X스크램블 블록(302)에 관련되는 APG 레지스터가 APG_XSCR_JAM_MASK[0:15] 레지스터(308)와, APG_XSCR_JAM_ADDR[0:15] 레지스터(310)와, APG_XYZ_SCR_EN 레지스터(312)의 비트 2와, APG_XSCR_Z_EN[0:7] 레지스터(314)와, APG_XSCR_Z_BITS_L[0:15] 및 APG_XSCR_Z_BITS_U[0:15] 레지스터(316)를 포함한다. Y스크램블 블록(304)에 관련된 APG 레지스터가 APG_YSCR_JAM_MASK[0:15] 레지스터(318)와, APG_YSCR_JAM_ADDR[0:15] 레지스터(320)와, APG_XYZ_SCR_EN 레지스터(312)의 비트 1과, APG_YSCR_Z_EN[0:7] 레지스터(322)와, APG_YSCR_Z_BITS_L[0:15] 및 APG_YSCR_Z_BITS_U[0:15] 레지스터(324)를 포함한다. Z스크램블 블록(306)에 관련된 APG 레지스터는 APG_ZSCR_JAM_MASK[0:15] 레지스터(326)와, APG_ZSCR_JAM_ADDR[0:15] 레지스터(328)와, APG_XYZ_SCR_EN 레지스터(312)의 비트 0을 포함한다. X스크램블, Y스크램블 및 Z스크램블 블록(302,304,306)은 매핑 기능을 수행하며 출력 3세트는 16비트의 실제 어드레스 정보(330)를 프로그램 가능한 지연 논리(332)로 출력한다. 프로그램 가능한 지연 논리(332)는 테스트 개발자가, DUT에 관한 어드레스 정보와 DUT 송신 또는 응답 데이터 정보 사이의 지연(latency)을 프로그램할 수 있게 하는 기능을 수행한다. 프로그램 가능 지연 논리(programmable latency logic)(332)는 예비(Auxiliary) RAM(31)으로 입력되는 48개의 사이클 지연 조절(adjusted) 어드레스 라인(334)을 출력한다.Some memory consists of multiple blocks of memory that are duplicated on a single die to make up the entire memory space in the memory device. In such cases often, the duplicated block is a mirror image across the longitudinal or horizontal axis, or both, and the duplicated block can also be further replicated. Often it is effective to construct a single test for one memory block and iterate over the duplicated block. While the test pattern is related to each block, it is not possible to simply reuse a single test for the entire memory block because the memory blocks are images of each other. Thus, the duplicated block affects testing for devices whose address bits follow a different sequence for each block. However, different sequences are related to each other. The scramble feature only allows the test developer to reuse test patterns for different memory blocks by programming only the scramble feature. The test pattern itself is reused, and a scramble function that is algorithmically distinct from the test pattern program instructions performs the administrative responsibility for adapting the test pattern for each replicated memory block. Some memory is also organized in pages. The page is addressed using a predetermined subset of address bits. The scramble function is enhanced by performing algorithmic control of certain bits separately from other address lines and allows replacement of those bits for regular address bits that are input into the scramble function. Referring specifically to FIG. 3, each of the X scramble 302, Y scramble 304, and Z scramble 306 blocks each receive a 16-bit address from the address X, address Y, and address Z ALU registers 24, respectively. A mid-level detail of the address mapper 29 shown in FIG. 2 is shown. Thus, the 48 address lines, shown at 27 in FIG. 2, are divided into three groups of 16-bit logical address lines in FIG. X scrambled, Y scrambled, and Z scrambled blocks 302, 304, 306 also receive information initiated in the APG register. Programmability of the APG registers provides a programmable feature of the tester function. The value of each APG register is stored and downloaded to the test pattern as part of the compiled object code, providing an initial value before executing the test pattern. It is also possible, although not common, to change the value in some of the APG registers during test pattern execution. There are a large number of AGP registers in the tester and only some of the registers related to the present invention are described herein. The APG register associated with the X scramble block 302 includes the APG_XSCR_JAM_MASK [0:15] register 308, the APG_XSCR_JAM_ADDR [0:15] register 310, bit 2 of the APG_XYZ_SCR_EN register 312, and APG_XSCR_Z_EN [0: 7] register 314, and APG_XSCR_Z_BITS_L [0:15] and APG_XSCR_Z_BITS_U [0:15] register 316. The APG register associated with the Y scramble block 304 includes the APG_YSCR_JAM_MASK [0:15] register 318, the APG_YSCR_JAM_ADDR [0:15] register 320, bit 1 of the APG_XYZ_SCR_EN register 312, and APG_YSCR_Z_EN [0: 7]. Register 322 and the APG_YSCR_Z_BITS_L [0:15] and APG_YSCR_Z_BITS_U [0:15] registers 324. The APG register associated with the Z scramble block 306 includes the APG_ZSCR_JAM_MASK [0:15] register 326, the APG_ZSCR_JAM_ADDR [0:15] register 328, and bit 0 of the APG_XYZ_SCR_EN register 312. The X scrambled, Y scrambled, and Z scrambled blocks 302, 304, and 306 perform mapping functions and three sets of outputs output 16 bits of real address information 330 to the programmable delay logic 332. Programmable delay logic 332 functions to enable a test developer to program a latency between address information about the DUT and DUT transmission or response data information. Programmable latency logic 332 outputs 48 cycle delay adjusted address lines 334 that are input to auxiliary RAM 31.

도면의 도 4를 구체적으로 참조하면, X스크램블 블록(302)의 입력 및 출력사이에 Z비트 교체(replacement) 및 재밍(jamming) 논리 스테이지와, 룩업 테이블(look-up table)과, 디스에이블(disable) 스테이지가 있는 X스크램블 블록(302)의 상세한 블록도가 도시되고 있다. X스크램블 및 Y스크램블 블록(302,304)은 실제로 구조의 측면에서 동일하다. 따라서, 불필요한 중복을 피하기 위하여, X스크램블 및 Y스크램블 블록(302,304)을 설명하려는 목적으로 X스크램블 블록(302)만이 도시되고 설명되고 있다. 설명을 간단히 하기 위하여, 도 4의 왼쪽에 있는 소자로 시작하여 오른쪽으로 진행한다.Referring specifically to FIG. 4 of the drawing, a Z-bit replacement and jamming logic stage, a look-up table, and a disable (between the input and output of the X scramble block 302). A detailed block diagram of an X scramble block 302 with stages is shown. The X scrambled and Y scrambled blocks 302 and 304 are actually the same in terms of structure. Thus, to avoid unnecessary duplication, only the X scramble block 302 is shown and described for the purpose of describing the X scramble and Y scramble blocks 302 and 304. For simplicity of explanation, start with the device on the left of FIG. 4 and proceed to the right.

호칭을 위하여, 어드레스X ALU 레지스터(24)로부터 수신된 X-어드레스 라인(27)은 논리 X-어드레스 라인(404)이라고 지칭된다. z비트 교체 스테이지는 테스트 개발자가 16개의 Z-어드레스 라인(402) 중 임의의 8개까지 라인으로 최상위 논리 X-어드레스 라인(404) 8개까지를 교체할 수 있게 허용한다. X, Y, 및 Z 어드레스 ALU(24)가 서로 별도로 조작된다. X 또는 Y 어드레스 라인의 일부를 Z 어드레스 라인 8개까지로 비트 교체하는 것을 허용하는 것은 바람직하게 x-어드레스와 y-어드레스 라인에 전용되는 두 개의 서브 세트의 테스터 채널에 대한 독립적 조작을 제공한다. 테스터 개발자는 DUT(14)에서 페이지 어드레싱을 위하여 Z-어드레스 ALU 레지스터(24)를 이용하기 위하여 이러한 특징을 원할 수 있다. 최하위 8개의 논리 X-어드레스 비트(404b)는 Z-비트 교체 논리 스테이지를 통하여 처리되지 않는다. 최상위 8개의 논리 X-어드레스 비트(404a,404c) 각각은 z-비트 교체 논리 스테이지를 통하여 처리된다. 도시된 예와 같이 9번째 실제 x-어드레스 비트(404a)를 이용한다면, 논리 Z-어드레스 비트(402) 16개(16) 모두가 선택에 이용 가능하며16x1 z-선택 멀티플렉서(406)로 입력된다. APG_XSCR_ZBITS_L 레지스터(316)에 배치된 4개의 비트, 구체적으로 APG_XSCR_Z_BITS_L[0:3] 비트는 9번째 실제 X-어드레스 비트(404a)에 관련되어 할당된다. 4개의 APG_XSCR_Z_BITS_L[0:3] 비트는 16개의 이용 가능한 Z-어드레스 비트(402) 중 하나를 선택하여 z-선택 멀티플렉서(406)의 출력에서 9번째 실제 X-어드레스 비트(404a)를 위한 교체 비트(408)로서 제공한다. 9번째 실제 X-어드레스 비트(404a) 및 선택된 z-비트 교체(408)는 2x1 z-비트 인에이블 멀티플렉서(410)로 입력된다. APG_XYZ_SCR_EN 레지스터(312)의 비트 2는 Y스크램블 및 Z스크램블 블록(304,306)과 독립하여 X스크램블 블록(302)을 위한 스크램블 기능을 인에이블 또는 디스에이블시킨다. Y스크램블 및 Z 스크램블 블록(304,306) 각각은 고유 비트, APG_XYZ_SCR_EN[1] 및 APG_XYZ_SCR_EN[0] 비트를 각각 가지는데, 이는 다른 스크램블 블록과 독립적으로 스크램블 기능을 인에이블 또는 디스에이블시킨다. APG_XSCR_Z_EN 레지스터(314)는 각 라인에 대한 z-비트 교체 기능을 인에이블 또는 디스에이블시키는 상위 8개의 x-어드레스 라인(404a,404c) 각각에 대하여 하나의 비트를 포함하며 상위 x-어드레스 라인(404a,404c) 각각에 대하여 독립적으로 설정될 수 있다. 개시된 실시예에서, APG_XSCR_Z_EN[8] 비트가 9번째 실제 x-어드레스 라인(404a)을 위한 z-비트 교체를 인에이블 또는 디스에이블하도록 할당된다. APG_XSCR_Z_EN 레지스터(314)에서 시작되는 9번째 비트(즉, APG_XSCR_Z_EN[8] 비트) 및 APG_XYZ_SCR_EN[2] 비트(312)의 결합(conjugation)은 z-비트 인에이블 멀티플렉서(410)의 출력으로서 전달될 9번째 실제 X-어드레스 비트(404a) 또는 z-비트 교체(408)를 선택한다. 결합 동작은 스크램블 기능이 블록(302)에 대하여 바이패스하는(by-pass) 경우 z-비트 교체 기능을 디스에이블시킨다. 따라서, APG_XYZ_SCR_EN 레지스터(312)의 비트 2 및 APG_XSCR_Z_EN 레지스터(314)의 8번째 비트는 z-비트 교체 기능이 작동하도록 양자 모두 참(true)으로 설정되어야 한다. 레지스터(314,312)로부터의 인에이블 비트 중 어느 하나가 거짓(false)으로 설정된 경우, 논리 x-어드레스 비트(404a)는 z-비트 인에이블 멀티플렉서(410)의 출력에서 나타난다. 각각의 서로 다른 z-비트 교체 스테이지는 APG_XSCR_Z_BITS_L 및 APG_XSCR_Z_BITS_U 레지스터(316)로부터의 고유 4개의 비트뿐만 아니라 APG_XSCR_Z_EN 레지스터(314)의 고유한 각각의 비트와 관련되어 있다. 따라서, z-비트 교체 기능은 논리 X-어드레스 라인(404a,404c)의 최상위 8개 비트 각각에 대하여 별도로 프로그램될 수 있다. z-비트 교체 논리 스테이지의 출력 집합은 z- 선택형 X-어드레스 라인(412)으로 지칭된다.For the purposes of nominal, the X-address line 27 received from the Address X ALU register 24 is referred to as a logical X-address line 404. The z-bit replacement stage allows the test developer to replace up to eight of the top logical X-address lines 404 with any eight of the sixteen Z-address lines 402. The X, Y, and Z address ALUs 24 are operated separately from each other. Allowing a bit replacement of a portion of the X or Y address line with up to eight Z address lines preferably provides independent operation for two subsets of tester channels dedicated to the x-address and y-address lines. Tester developers may want this feature to use the Z-address ALU register 24 for page addressing in the DUT 14. The lowest eight logical X-address bits 404b are not processed through the Z-bit replacement logic stage. Each of the top eight logical X-address bits 404a, 404c are processed through a z-bit swap logic stage. If using the ninth actual x-address bit 404a as shown in the example shown, all 16 (16) of logical Z-address bits 402 are available for selection and input to a 16x1 z-select multiplexer 406. . Four bits disposed in the APG_XSCR_ZBITS_L register 316, specifically APG_XSCR_Z_BITS_L [0: 3] bits, are allocated in association with the ninth actual X-address bits 404a. The four APG_XSCR_Z_BITS_L [0: 3] bits select one of the 16 available Z-address bits 402 to replace the replacement bits for the ninth actual X-address bits 404a at the output of the z-select multiplexer 406. Provided as 408. The ninth actual X-address bit 404a and the selected z-bit replacement 408 are input to the 2x1 z-bit enable multiplexer 410. Bit 2 of the APG_XYZ_SCR_EN register 312 enables or disables the scramble function for the X scramble block 302 independently of the Y scramble and Z scramble blocks 304 and 306. Each of the Y scrambled and Z scrambled blocks 304, 306 has a unique bit, APG_XYZ_SCR_EN [1] and APG_XYZ_SCR_EN [0] bits, respectively, which enable or disable the scramble function independently of other scrambled blocks. The APG_XSCR_Z_EN register 314 contains one bit for each of the top eight x-address lines 404a and 404c that enable or disable the z-bit swap function for each line and the upper x-address line 404a. , 404c) may be set independently for each. In the disclosed embodiment, the APG_XSCR_Z_EN [8] bits are allocated to enable or disable z-bit replacement for the ninth actual x-address line 404a. The conjugation of the 9th bit (i.e., APG_XSCR_Z_EN [8] bit) and APG_XYZ_SCR_EN [2] bit 312 starting at the APG_XSCR_Z_EN register 314 is passed to 9 as the output of the z-bit enable multiplexer 410. Select the first actual X-address bit 404a or z-bit swap 408. The combining operation disables the z-bit swap function when the scramble function bypasses block 302. Thus, bit 2 of the APG_XYZ_SCR_EN register 312 and the 8th bit of the APG_XSCR_Z_EN register 314 must both be set to true for the z-bit swap function to work. If any of the enable bits from registers 314 and 312 are set to false, the logical x-address bits 404a appear at the output of the z-bit enable multiplexer 410. Each different z-bit replacement stage is associated with each unique bit of the APG_XSCR_Z_EN register 314 as well as four unique bits from the APG_XSCR_Z_BITS_L and APG_XSCR_Z_BITS_U registers 316. Thus, the z-bit swap function can be programmed separately for each of the top eight bits of the logical X-address lines 404a and 404c. The output set of the z-bit replacement logic stage is referred to as z-selective X-address line 412.

X스크램블, Y스크램블, 및 Z스크램블 블록(302,304,306) 모두는 재밍 논리 스테이지를 포함한다. 따라서, 본 논의는 스크램블 블록의 전체에 관한 것이며, 단지 X스크램블 블록(302)만이 본 명세서에서 상세하게 기술된다. 재밍 논리 스테이지는 논리 X-어드레스 라인(404b)의 최하위 8비트의 각 비트 및 최상위 z-선택형 X-어드레스 라인(412)의 각 비트에 대한 2x1 재밍 멀티플렉서(414)를 포함한다. 재밍 스테이지는 확정적으로 프로그램된 값에 의한 논리 X-어드레스(404b) 또는 z-선택형 X-어드레스(412)로서 표시되는 비트 값의 중첩을 허용한다. APG_XSCR_JAM_MASK(308)과 APG_XSCR_JAM_ADDR(310) 레지스터에서 대응하는 비트 위치는 논리 및 z-선택형 X-어드레스 라인(404,412)에서의 각각의 비트 위치에 대응한다. APG_XSCR_JAM_ADDR 레지스터(310)는 재밍 멀티플렉서(414)에 대한 입력으로서 전달된다. 다른 입력은 논리 또는 z-선택형 X-어드레스 라인(404b,412)으로부터의 비트들 중하나이다. X-어드레스 라인에서 각각의 비트에 대응하는 APG_XSCR_JAM_MASK 레지스터(308)에서의 하나의 비트는 재밍 멀티플렉서(414)의 출력으로서 전달되도록 논리/z-선택형 X-어드레스 라인(404b,412) 또는 APG_XSCR_JAM_MASK 레지스터(310)의 프로그램 비트 값을 선택한다. 각각의 재밍 스테이지는 APG_XSCR_JAM_ADDR(310) 및 APG_XSCR_JAM_MASK 레지스터(308,310)에서의 비트들 중 유일한 하나의 비트와 관련되어 있다. 따라서, 재밍 기능은 16개의 Z-어드레스 라인(404)의 각각에 대하여 별도로 프로그램될 수 있다. 재밍 논리 스테이지의 출력 집합은 유효 X-어드레스 라인(416)으로 지칭된다.The X scrambled, Y scrambled, and Z scrambled blocks 302, 304, and 306 all comprise jamming logic stages. Thus, this discussion relates to the entirety of the scrambled block, only the X scrambled block 302 is described in detail herein. The jamming logic stage includes a 2x1 jamming multiplexer 414 for each bit of the least significant 8 bits of the logic X-address line 404b and each bit of the most significant z-selective X-address line 412. The jamming stage allows for overlapping of bit values represented as logical X-address 404b or z-selective X-address 412 by the definite programmed value. The corresponding bit positions in the APG_XSCR_JAM_MASK 308 and APG_XSCR_JAM_ADDR 310 registers correspond to respective bit positions in the logical and z-selective X-address lines 404 and 412. The APG_XSCR_JAM_ADDR register 310 is passed as input to the jamming multiplexer 414. The other input is one of the bits from the logic or z-selective X-address lines 404b and 412. One bit in the APG_XSCR_JAM_MASK register 308 corresponding to each bit in the X-address line is passed through the logic / z-selective X-address lines 404b, 412 or the APG_XSCR_JAM_MASK register (such as the output of the jamming multiplexer 414). Program bit value 310 is selected. Each jamming stage is associated with only one of the bits in the APG_XSCR_JAM_ADDR 310 and the APG_XSCR_JAM_MASK registers 308, 310. Thus, the jamming function can be programmed separately for each of the sixteen Z-address lines 404. The output set of the jamming logic stage is referred to as a valid X-address line 416.

유효 X-어드레스 라인(416)은 X스크램블 RAM(418)을 어드레싱 한다. X스크램블 RAM(418)은 통상적인 매핑 함수에 대한 룩업 테이블을 제공하는 64 킬로워드 x 16비트 메모리이다. 유효 X-어드레스 라인(416)은 64 킬로워드중 1워드를 어드레싱하고 그 어드레싱된 워드는 매핑된 X-어드레스 라인(420)으로서 표시되고 있다. X스크램블 RAM(418)은 테스트 패턴의 실행이전에 적절한 매핑 값으로 프로그램되고 APG 레지스터(308-328)와 동일한 시간에 프로그램된다.The valid X-address line 416 addresses the X scrambled RAM 418. X scrambled RAM 418 is 64 kiloword x 16 bit memory that provides a lookup table for a typical mapping function. The effective X-address line 416 addresses one word of the 64 kilowords and the addressed word is represented as a mapped X-address line 420. The X scrambled RAM 418 is programmed with the appropriate mapping values prior to execution of the test pattern and programmed at the same time as the APG registers 308-328.

디스에이블 스테이지는 APG_XYZ_SCR_EN 레지스터(312) 비트(0-2)의 적절한 프로그래밍에 의하여 구현된다. 테스트 개발자는 X스크램블, Y스크램블 및 Z스크램블 블록(302,304,306)중 어느 하나 또는 전체에 대하여 전체 매핑 함수를 프로그램적으로 디스에이블시킬 수 있다. 3개의 비트 중 각각은 X스크램블, Y스크램블및 Z스크램블 블록(302,304,306)에 각각 대응한다. 유효 X-어드레스 라인(416)은 X스크램블 블록(302)내에서 두 개의 별도의 경로를 제공한다. 유효 X-어드레스 라인(416)의 하나의 경로는 X-스크램블 RAM(418)을 어드레싱한다. 유효 X-어드레스 라인(416)의 다른 경로는 X 스크램블 RAM(418)을 바이패스하여 스크램블 인에이블 스테이지(422)로 입력된다.The disable stage is implemented by proper programming of the APG_XYZ_SCR_EN register 312 bits 0-2. The test developer can programmatically disable the entire mapping function for any or all of the X scrambled, Y scrambled, and Z scrambled blocks 302, 304, 306. Each of the three bits corresponds to X scrambled, Y scrambled and Z scrambled blocks 302, 304 and 306, respectively. The valid X-address line 416 provides two separate paths within the X scramble block 302. One path of the effective X-address line 416 addresses the X-scrambled RAM 418. Another path of the valid X-address line 416 enters the scramble enable stage 422 by bypassing the X scramble RAM 418.

스크램블 인에이블(422)은 16개의 채널, X스크램블 RAM(418)으로부터 매핑된 X-어드레스 라인(420)을 수용하는 2x1 멀티플렉서 및 재밍 멀티플렉서(414)로부터의 유효 X-어드레스 라인(416)을 포함한다. APG_XYZ_SCR_EN 레지스터(312)의 비트 2는 스크램블 인에이블(422)이 X 스크램블 블록(302)의 출력으로서 전달할 매핑형 X-어드레스 라인(420) 또는 유효 X-어드레스 라인(404)을 선택하게 한다. APG_XYZ_SCR_EN 레지스터(312)의 비트 1은 Y스크램블 인에이블을 제어하고 APG_XYZ_SCR_EN 레지스터(312)의 비트 0은 Z스크램블 인에이블을 유사한 방식으로 제어한다.The scramble enable 422 includes 16 channels, a 2x1 multiplexer that receives an X-address line 420 mapped from the X scrambled RAM 418 and a valid X-address line 416 from the jamming multiplexer 414. do. Bit 2 of the APG_XYZ_SCR_EN register 312 allows the scramble enable 422 to select a mapped X-address line 420 or a valid X-address line 404 to pass as the output of the X scramble block 302. Bit 1 of the APG_XYZ_SCR_EN register 312 controls Y scramble enable and bit 0 of the APG_XYZ_SCR_EN register 312 controls Z scramble enable in a similar manner.

도 5를 특히 참조하면, 본 발명의 원리에 따르는 Z스크램블 블록(306)의 블록도가 도시되어 있다. 앞서 언급된 바와 같이, Z스크램블 블록(306)은 z-비트 교체 논리 스테이지를 포함하지는 않으나, 재밍 논리 스테이지는 포함한다. 논리-Z 어드레스 라인(402) 및 APG_ZSCR_JAM_ADDR 레지스터(328)의 내용(contents)은 16개의 2x1 재밍 멀티플렉서(502)로 입력된다. APG_ZSCR_JAM_MASK 레지스터(326)는 유효 Z-어드레스 라인(504)을 생성하도록 각 비트마다 두 개의 값 사이에서 선택한다. 유효 z-어드레스 라인(504)은 Z스크램블 RAM(506)을 어드레싱하여 매핑형 z-어드레스 라인(508)이 되는 Z스크램블 RAM(506)에서의 메모리 위치에 액세스한다. 매핑형 z-어드레스 라인(508)은 16개의 채널 2x1 스크램블 인에이블(510)로 입력된다. 유효 z-어드레스 라인(508)도 또한 16개의 채널 2x1 스크램블 인에이블(510)로 입력된다. APG_XYZ_SCR_EN 레지스터(312)내의 Z스크램블 블록(306)과 관련된 비트, 즉 APG_XYZ_SCR_EN[0] 비트는 유효 Z-어드레스 라인(504) 또는 매핑형 Z-어드레스 라인(508)을 선택하여 Z스크램블 블록(306)의 출력에서 실제 어드레스 정보(330)로서 전달되도록 한다.With particular reference to FIG. 5, a block diagram of a Z scrambled block 306 in accordance with the principles of the present invention is shown. As mentioned above, Z scramble block 306 does not include a z-bit replacement logic stage, but a jamming logic stage. The contents of the logic-Z address line 402 and the APG_ZSCR_JAM_ADDR register 328 are input to sixteen 2x1 jamming multiplexers 502. The APG_ZSCR_JAM_MASK register 326 selects between two values for each bit to produce a valid Z-address line 504. The effective z-address line 504 addresses the Z scrambled RAM 506 to access a memory location in the Z scrambled RAM 506 that becomes the mapped z-address line 508. The mapped z-address line 508 is input to sixteen channel 2 × 1 scramble enable 510. A valid z-address line 508 is also input to sixteen channel 2 × 1 scramble enable 510. The bit associated with the Z scramble block 306 in the APG_XYZ_SCR_EN register 312, that is, the APG_XYZ_SCR_EN [0] bit, selects a valid Z-address line 504 or a mapped Z-address line 508 to allow the Z scramble block 306 to be selected. Is passed as actual address information 330 at the output of.

본 명세서는 본 발명의 특징을 예로써 설명하고 있다. 당업자라면 청구범위의 영역을 벗어나지 않고 본 발명이 변경될 수 있음을 알 것이다. 본 명세서는 본 발명을 설명하고자 하는 것일 뿐 본 발명을 제한하고자 의도하는 것은 아니며, 본 발명의 범위는 단지 첨부된 청구 범위에 의하여 정의되는 것이다.This specification illustrates the features of the invention by way of example. Those skilled in the art will appreciate that the present invention may be modified without departing from the scope of the claims. This specification is intended to explain the invention, but is not intended to limit the invention, the scope of the invention is defined only by the appended claims.

본 발명의 원리에 따르는 테스터는 종래 기술의 테스터에 비하여 테스트 패턴을 개발하는데 있어 추가적인 유연성 및 효율성을 제공한다.Testers in accordance with the principles of the present invention provide additional flexibility and efficiency in developing test patterns over prior art testers.

Claims (10)

메모리 테스터(tester)에서 어드레스 채널(address channels)을 관리하는 장치로서,A device for managing address channels in a memory tester, 다수의 논리 어드레스 비트(logical address bits)를 저장하는 하나 이상의 어드레스 레지스터(24)와,One or more address registers 24 for storing a plurality of logical address bits; 다수의 교체 비트(replacement bits)(408)- 각각의 교체 비트는 상기 논리 어드레스 비트 중 하나에 대응함 -와,A plurality of replacement bits 408, each replacement bit corresponding to one of the logical address bits; 각각의 논리 어드레스 비트 및 교체 비트 조합마다의 비트 선택기(a bit selector)(410)- 각각의 비트 선택기는 상기 논리 어드레스 비트 또는 상기 교체 비트 중 하나를 독립적으로 선택하고, 상기 비트 선택기들의 출력 집합이 유효 어드레스(an effective address)(416)가 됨 -와,A bit selector 410 for each logical address bit and replacement bit combination-each bit selector independently selects either the logical address bit or the replacement bit, and an output set of the bit selectors Becomes an effective address 416 -and 상기 테스터에서 상기 유효 어드레스를 인가하는 벡터 프로세서(a vector processor)를 포함하는A vector processor for applying the valid address in the tester; 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 1 항에 있어서,The method of claim 1, 상기 유효 어드레스(416)를 이용하여 액세스되는 메모리(418)를 더 포함하는And further includes a memory 418 accessed using the valid address 416. 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 1 항에 있어서,The method of claim 1, 다수의 교체 비트 선택기(406)로 전달되는 다수의 이용 가능한 비트(402)를 저장하는 교체 레지스터(a replacement register)(24)- 각각의 상기 교체 비트 선택기(406)는 상기 각각의 다수의 상기 교체 비트들(408) 중 각각의 하나에 대응하고, 각각의 상기 교체 비트 선택기(406)는 상기 교체 비트들 각각의 하나를 생성하도록 상기 다수의 이용 가능한 비트들(406) 중 하나를 선택함 -를 더 포함하는A replacement register 24 which stores a number of available bits 402 passed to a number of replacement bit selectors 406-each said replacement bit selector 406 is adapted for each of said plurality of said replacements Corresponding to each one of the bits 408, each said replacement bit selector 406 selecting one of said plurality of available bits 406 to generate one of each of said replacement bits. More containing 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 1 항에 있어서,The method of claim 1, 하나 이상의 제 2 어드레스 레지스터(24)가 상기 다수의 이용 가능한 비트(402)를 저장하는One or more second address registers 24 store the plurality of available bits 402. 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 1 항 내지 제 4 항에 있어서,The method according to claim 1, wherein 상기 하나 이상의 어드레스 레지스터의 내용(contents)이 알고리즘적으로(algorithmically) 발생하는Contents of the one or more address registers are generated algorithmically 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 3 항에 있어서,The method of claim 3, wherein 상기 교체 비트 선택기(406) 각각은 상기 이용 가능한 비트(420) 중 어느 것이 선택될 것이지 지정하는 값으로 어드레싱되는Each of the replacement bit selectors 406 is addressed to a value specifying which of the available bits 420 will be selected. 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 6 항에 있어서,The method of claim 6, 상기 이용 가능한 비트중 어느 것이 선택될 것인지를 지정하는 상기 각각의 값이 하나 이상의 선택 제어 레지스터(316)에 저장되는Wherein each value specifying which of the available bits is to be selected is stored in one or more select control registers 316. 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 7 항에 있어서,The method of claim 7, wherein 상기 하나 이상의 선택 제어 레지스터(316)가 프로그램 가능한The one or more select control registers 316 are programmable 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 7 항에 있어서,The method of claim 7, wherein 상기 선택 제어 레지스터는 서로 독립적으로 프로그램 가능한The select control registers are programmable independently of one another. 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device. 제 1 항에 있어서,The method of claim 1, 상기 비트 선택기가 디스에이블될 수 있는The bit selector may be disabled 메모리 테스터 어드레스 채널 관리 장치.Memory tester address channel management device.
KR1020010055512A 2000-09-11 2001-09-10 Method and apparatus for manipulating address information in a memory tester KR20020020862A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65919500A 2000-09-11 2000-09-11
US09/659,195 2000-09-11

Publications (1)

Publication Number Publication Date
KR20020020862A true KR20020020862A (en) 2002-03-16

Family

ID=24644441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010055512A KR20020020862A (en) 2000-09-11 2001-09-10 Method and apparatus for manipulating address information in a memory tester

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

Similar Documents

Publication Publication Date Title
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
US6671844B1 (en) Memory tester tests multiple DUT's per test site
US6574626B1 (en) Method and apparatus for administration of extended memory
US6779140B2 (en) Algorithmically programmable memory tester with test sites operating in a slave mode
US6587979B1 (en) Partitionable embedded circuit test system for integrated circuit
US6347056B1 (en) Recording of result information in a built-in self-test circuit and method therefor
KR100881843B1 (en) Algorithmically programmable memory tester with breakpoint trigger, error jamming and 'scope mode that memorizes target sequences
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
US20030167431A1 (en) Programmable test for memories
JPH04218785A (en) Ic tester
US6591385B1 (en) Method and apparatus for inserting programmable latency between address and data information in a memory tester
JP2003229000A (en) Method and apparatus for memory self testing
JP2008310955A (en) Method for preventing consumption of time to program address in defective column
US7076714B2 (en) Memory tester uses arbitrary dynamic mappings to serialize vectors into transmitted sub-vectors and de-serialize received sub-vectors into vectors
US6687855B1 (en) Apparatus and method for storing information during a test program
US6763490B1 (en) Method and apparatus for coordinating program execution in a site controller with pattern execution in a tester
JP4317338B2 (en) Memory tester with advanced post-decoding
US6968545B1 (en) Method and apparatus for no-latency conditional branching
KR100786414B1 (en) Method and apparatus for administering inversion properties in a memory tester
KR20020020862A (en) Method and apparatus for manipulating address information in a memory tester
EP1193502A2 (en) Apparatus and method for performing conditional calculations
EP1343174A2 (en) Programmable test for memories

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid