KR100589532B1 - Method and apparatus for built-in self test of integrated circuits - Google Patents

Method and apparatus for built-in self test of integrated circuits Download PDF

Info

Publication number
KR100589532B1
KR100589532B1 KR1020007014379A KR20007014379A KR100589532B1 KR 100589532 B1 KR100589532 B1 KR 100589532B1 KR 1020007014379 A KR1020007014379 A KR 1020007014379A KR 20007014379 A KR20007014379 A KR 20007014379A KR 100589532 B1 KR100589532 B1 KR 100589532B1
Authority
KR
South Korea
Prior art keywords
address
memory
row
delete delete
column
Prior art date
Application number
KR1020007014379A
Other languages
Korean (ko)
Other versions
KR20010052985A (en
Inventor
레페지안예반트데이비드
마란드지안흐란트
구카시안호바네스
크라우스로렌스
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 KR20010052985A publication Critical patent/KR20010052985A/en
Application granted granted Critical
Publication of KR100589532B1 publication Critical patent/KR100589532B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Static Random-Access Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Dram (AREA)

Abstract

시험되는 메모리(90)의 열 주소(50)와 행 주소(40)를 독립적으로 선택할 수 있는 BIST 기능을 제공한다. 본 발명은 시험할 주소를 선택하는 데 있어서 유연성을 제공하고, 열 사이의 천이 시간을 개선하며, 어떤 메모리 주소가 시험을 통과하는 지 실패하는 지를 결정하도록 한다.It provides a BIST function that can independently select the column address 50 and the row address 40 of the memory 90 to be tested. The present invention provides flexibility in selecting addresses to test, improves transition time between columns, and allows determining which memory addresses pass or fail a test.

BIST 기능, 로컬 타이밍 조정 회로, 주소 생성기, 주소 필터, 데이터 비교기, 의사 랜덤 기법BIST function, local timing adjustment circuit, address generator, address filter, data comparator, pseudo random technique

Description

집적 회로의 내장형 자체 시험 방법 및 장치 {METHOD AND APPARATUS FOR BUILT-IN SELF TEST OF INTEGRATED CIRCUITS}Built-in self test method and device for integrated circuits {METHOD AND APPARATUS FOR BUILT-IN SELF TEST OF INTEGRATED CIRCUITS}

본 발명은 반도체 집적 회로에 관한 것으로, 좀 더 구체적으로는 내장 메모리, 특히 판독/기록 메모리를 효율적으로 시험할 수 있는 집적 회로(ICs)에 내장되는 시험 회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to semiconductor integrated circuits and, more particularly, to test circuits embedded in integrated circuits (ICs) capable of efficiently testing internal memories, particularly read / write memories.

집적 회로의 집적 수준이 점점 더 높아짐에 따라 집적 회로의 논리 블록에 내장된 다양한 크기의 여러 메모리 블록을 발견할 수 있음이 일반적이다. 내장 메모리의 전형적인 예는 데이터 및 명령 캐시 메모리(data and instruction cache memories)와 이들과 결합되어 요즘 대부분의 마이크로프로세서에 내장된 태그 및 유효 데이터 캐시 메모리(tag and valid data cache memories)이다. 상기 메모리들은 집적 회로 칩의 입출력 핀으로부터 직접적으로 접근 불가능하기 때문에 "내장(embedded)"된다고 한다. 대신에, 내장 메모리는 회로의 정상 동작 시에는 논리 블록에 의해 입출력 핀으로부터 차단된다. 따라서, 상기 내장 메모리의 시험은 칩의 정상 동작 중에는 결합된 논리 블록이 모든 접근을 중개하므로 복잡해진다. As the level of integration of integrated circuits becomes higher and higher, it is common to find several memory blocks of varying sizes embedded in logic blocks of an integrated circuit. Typical examples of onboard memory are data and instruction cache memories and tag and valid data cache memories in combination with these and incorporated into most microprocessors these days. The memories are said to be "embedded" because they are not directly accessible from the input and output pins of the integrated circuit chip. Instead, the internal memory is isolated from the input and output pins by the logic block during normal operation of the circuit. Thus, testing of the internal memory is complicated because the combined logic blocks mediate all accesses during normal operation of the chip.

집적 회로는 가격 대 성능비가 높기 때문에 널리 사용되고 있다. 현대의 집 적 회로 제조에 필요한 경제성을 달성하기 위해서, 시험 비용은 물론 원 회로(raw circuit)의 비용을 최소화할 필요가 있다. 많은 경우에 있어서, 소자의 시험 비용은 제조 공장에서의 원 다이(raw die)의 제조 비용과 비슷하다. 기능성 다이의 비용은 다이 면적의 지수 함수의 역함수에 거의 비례한다. 따라서, 다이 비용을 최소화하기 위하여 다이 면적을 줄일 필요가 있다. 시험 비용은 시험 시간과 시험 장비 비용의 곱에 거의 비례한다. 따라서, 시험 비용을 줄이기 위해서는 시험 시간과 시험 장비의 복잡성 모두를 최소화하는 것이 바람직하다. Integrated circuits are widely used because of their high cost-performance ratio. In order to achieve the economics required for modern integrated circuit manufacturing, there is a need to minimize the cost of raw circuits as well as test costs. In many cases, the cost of testing a device is comparable to the cost of manufacturing a raw die in a manufacturing plant. The cost of a functional die is approximately proportional to the inverse of the exponential function of the die area. Thus, there is a need to reduce die area in order to minimize die costs. The cost of the test is almost proportional to the product of the test time and the cost of the test equipment. Therefore, it is desirable to minimize both the test time and the complexity of the test equipment in order to reduce test costs.

일반적으로 메모리 시험은 시험 벡터(test vectors)를 메모리에 인가하고 적절한 메모리 동작을 보증하기 위하여 결과를 다시 읽어들임으로써 수행한다. 그러나, 주변의 논리 블록을 통하여 내장 메모리를 시험하는 것은 장치를 시험하는 데 사용되는 자동 시험 장비에서 사용 가능한 허용 메모리보다 더 많은 시험 벡터를 필요로 할 수도 있고, 일정한 경우에 있어서는 시간이 아주 많이 소요될 수도 있다. 또한 그러한 시험을 수행하는 프로그램의 개발은 숙련된 시험 조정 시간(test engineering time)을 많이 필요로 하고 추가 비용이 발생하기 때문에 바람직하지 못하다. In general, memory testing is performed by applying test vectors to memory and reloading the results to ensure proper memory operation. However, testing the internal memory through peripheral logic blocks may require more test vectors than the allowable memory available in the automatic test equipment used to test the device, and in some cases would be very time consuming. It may be. Also, the development of a program that performs such tests is undesirable because it requires a lot of skilled test engineering time and additional costs.

내장 메모리 시험의 다른 가능한 접근은 집적 회로의 외부 패드에 메모리의 제어, 주소 및 데이터 라인을 연결하는 것이다. 멀티플렉서 블록(multiplexer blocks)이 집적 회로에 내장되어 내장 메모리를 시험용 추가 패드 또는 표준 회로 동작용 내부 버스에 연결시킨다. 상기의 접근에 대한 단점은 추가 버스 라인 및 패드가 반도체 다이의 크기를 증가시키고 추가 패드는 시험에 필요한 핀의 수를 증 가시킨다는 것이다. 일반적으로 시험기의 비용은 핀의 수에 대체로 비례한다. 요즘 IC의 추세가 점차 대용량의 광역메모리(wide memory)를 지향하고 있기 때문에, 필요한 추가 버스 및 패드 수가 종종 백 개를 초과할 수 있고, 이것은 엄청난 가격 부담을 나타낸다.Another possible approach to the onboard memory test is to connect the control, address and data lines of the memory to an external pad of the integrated circuit. Multiplexer blocks are embedded in the integrated circuit to connect the internal memory to an additional pad for testing or an internal bus for standard circuit operation. The disadvantage of this approach is that additional bus lines and pads increase the size of the semiconductor die and the additional pads increase the number of pins required for the test. In general, the cost of the tester is generally proportional to the number of pins. As the trend of today's ICs increasingly aims at large, wide memory, the number of additional buses and pads required can often exceed a hundred, which represents a huge price burden.

과도한 비용을 피함과 동시에 오류를 적절하게 보정하기 위하여, 집적 회로의 내장형 자체 시험(built-in self test; BIST)에 대한 움직임이 있어 왔다. 이러한 접근은 집적 회로에 내장되어 메모리를 시험하고 제한된 수의 핀을 통해 그 결과를 오프칩 일렉트로닉스(off-chip electronics)에 통보하는 회로(circuitry)에 의존한다. BIST 방법의 일례가 일반적으로 사용되는 통합 시험 시행 그룹(Joint Test Action Group; JTAG) 표준이다. 회로의 정상 동작을 디스에이블시키는 특수 시험 모드(special test modes)는 BIST를 인에이블시키기 위해 실행된다.In order to properly avoid errors while avoiding excessive costs, there has been a move towards the built-in self test (BIST) of integrated circuits. This approach relies on circuitry embedded in integrated circuits that tests memory and informs off-chip electronics of the results through a limited number of pins. One example of a BIST method is the commonly used Joint Test Action Group (JTAG) standard. Special test modes that disable the normal operation of the circuit are implemented to enable the BIST.

BIST는 시험 시간과 BIST 회로 성분이 차지하는 다이 면적을 최소화하면서 완전하게 오류를 보정하고자 한다. 일부 적용에 있어서, 또한 진단 정보를 검출된 오류에 사용하는 것이 바람직하다. 추가 진단 능력은 BIST의 크기를 증가시키기 때문에 상기의 요구와 상충된다. 다른 요인들을 희생하여 어느 한 요인을 최적화하는 다양한 시도가 있어 왔다. BIST aims to fully compensate for errors while minimizing test time and die area occupied by BIST circuit components. In some applications, it is also desirable to use diagnostic information for detected errors. Additional diagnostic capabilities conflict with the above requirements because they increase the size of the BIST. Various attempts have been made to optimize one factor at the expense of others.

데이터 버스 전용 칩의 면적을 줄이는 한 방법은 직렬 데이터 입력 라인 및 직렬 데이터 출력 라인을 사용하는 것이다. 버퍼들은 직렬로 적재되고 이후 판독, 기록 및 메모리로부터 판독한 결과를 저장된 데이터와 비교하는 동안에 병렬 동작을 위해 사용된다. 이러한 접근에 대한 단점은 최대 동작 주파수가 데이터 워드의 폭(예를 들어 32 비트)까지 줄어들어 메모리를 동작 주파수보다 훨씬 낮은 주파수에서 시험한다는 것이다. 따라서, 정상 속도 동작 시에만 나타나는 오류, 즉 용량성 결합 오류(capacitive coupling faults) 및 천이 오류(transition faults) 등은 검출되지 않는다. 다른 결과는 버퍼들을 직렬로 적재하는 데 필요한 시간에 의해 메모리 시험에 필요한 시간이 증가한다는 것이다. 이것은 메모리 워드의 폭과 거의 동일한 요인으로 시험 시간을 증가시킬 수 있다. One way to reduce the area of the chip dedicated to the data bus is to use serial data input lines and serial data output lines. The buffers are loaded in series and then used for parallel operation while comparing the results of reading, writing and reading from memory with the stored data. The disadvantage of this approach is that the maximum operating frequency is reduced to the width of the data word (eg 32 bits), so that the memory is tested at a much lower frequency than the operating frequency. Therefore, errors that appear only during normal speed operation, ie capacitive coupling faults and transition faults, are not detected. Another result is that the time required to load the buffers in series increases the time required for memory testing. This can increase test time by a factor approximately equal to the width of the memory words.

다른 접근은 멀티플렉서를 메모리의 입출력 라인에 추가하여, 메모리가 시험 모드에 있으면서 후속하는 기록 과정 중에 메모리로부터 판독한 데이터를 인접 비트에 다시 적재(load)할 수 있다. 따라서, 비트 1로부터의 데이터는 비트 2로 기록이 가능하고 비트 2로부터의 데이터는 비트 3으로 기록이 가능하다. 제1 비트는 새로운 데이터를 수신하고 마지막 비트로부터의 데이터 출력은 비교를 위해 유한 상태 머신 BIST 제어기(finite state machine BIST controller)로 다시 전송된다. 동작 모드에서, 멀티플렉서는 메모리 데이터 라인을 칩 데이터 버스에 연결한다. 판독 동작이 끝났을 때 데이터는 항상 기록이 가능하므로 메모리는 동작 속도에서 시험될 수 있고, 이것은 시험 절차의 정확성 및 질을 향상시킨다. Another approach is to add a multiplexer to the input and output lines of the memory so that the memory is in test mode and reloads the data read from the memory into adjacent bits during subsequent writes. Thus, data from bit 1 can be written to bit 2 and data from bit 2 can be written to bit 3. The first bit receives new data and the data output from the last bit is sent back to a finite state machine BIST controller for comparison. In the operating mode, the multiplexer connects the memory data line to the chip data bus. Since the data can always be written at the end of the read operation, the memory can be tested at operating speed, which improves the accuracy and quality of the test procedure.

이러한 구상을 실현하는 여러 방법이 가능하다. 하나의 구현 가능한 방법은모든 메모리를 효과적으로 하나의 매우 큰 사용 목적용 메모리로 만들기 위하여 제1 메모리에 있는 워드의 마지막 비트의 출력이 제2 메모리에 있는 워드의 제1 비트로 입력되는 것 등이다. 다른 구현 가능한 방법은 메모리 각각이 별개로 인에이블(enable)될 수 있도록 일련의 제어 라인을 추가하는 것이다. 이렇게 함으로써 메모리 각각을 연속적으로 시험할 수 있다. 내장 메모리들의 깊이(depth)가 다른 경우에 있어서, 제1 방법은 메모리 깊이가 동일할 것을 요구하기 때문에 반드시 제2 방법을 사용하여야 한다. Various ways of realizing this concept are possible. One feasible method is that the output of the last bit of the word in the first memory is input to the first bit of the word in the second memory in order to effectively make all the memory into one very large purpose memory. Another possible implementation is to add a series of control lines so that each of the memories can be enabled separately. This allows each memory to be tested in succession. In the case where the depths of the built-in memories are different, the first method must use the second method because the memory depth requires the same.

이러한 접근에는 약간의 단점이 있다. 예를 들면, 상기 시도는 작은 면적을 활용하는 데 유리하지만, 그럼에도 불구하고 상대적으로 속도가 느리다. 게다가, 오류가 발생한 경우, 아는 것은 오류가 발생한 워드 주소뿐이다. 워드는 내부 관측을 할 수 없는 직렬 시프트 레지스터(serial shift register)로서 동작하도록 구성되어 있어서 오류가 발생한 비트에 대한 정보를 얻을 수 없다. 실제로 워드를 병렬로 연결하는 제1 방법을 사용하는 경우에 있어서, 오류가 발생한 메모리조차도 확인할 수 없다. 단순 통과(simple pass) 또는 오류 시험에 있어서는 오류의 발생을 확인하는 데는 충분하다. 그러나, 오류를 보정하기 위하여 여분(redundancy)을 사용하거나 오류의 원인을 분석할 경우에는 중요한 정보를 얻을 수 없다. 사실상 워드가, 의도한 데이터와는 반대로 비트를 읽도록 하는 천이 또는 용량성 결합 오류의 짝수개(even number)를 포함할 경우, 오류의 존재조차도 은폐된다.This approach has some drawbacks. For example, this approach is advantageous for utilizing small areas, but is relatively slow in spite of this. In addition, when an error occurs, the only thing known is the word address where the error occurred. The word is configured to operate as a serial shift register which cannot be internally observed, so that information about a bit in which an error occurs cannot be obtained. In the case of using the first method of actually connecting words in parallel, even an errored memory cannot be confirmed. In a simple pass or error test, it is sufficient to confirm the occurrence of the error. However, important information cannot be obtained when using redundancy to correct errors or analyzing the cause of the errors. In fact, even if the word contains an even number of transitional or capacitive coupling errors that cause the bits to be read in contrary to the intended data, even the presence of the error is concealed.

대안적인 접근은 중앙 집중식으로 데이터 패턴 및 주소 시퀀스를 생성하여 내장 메모리로 전송하는 것이다. 이러한 접근은 특히 내장 메모리의 일부를 병렬로 시험할 경우, 상기의 직렬 시험 접근보다 빠르다. 이러한 접근의 단점은, 여분의 데이터 및 주소 버스를 전송하면 데이터 경로 폭이 8비트 크기에서 점차 일반적으로 되어 가는 32비트 또는 64비트로 증가하기 때문에 칩의 면적을 심각하게 소비한다는 것이다. 버스가 종종 분리되어 동작되는 동안(예를 들어 데이터 및 명령 캐시의 경우), 내장 메모리에 시험 신호를 병렬로 전송하므로 시험 및 정상 동작 중에는 동일한 버스를 사용할 수 없다. 이것은 시험이 추가 버스와 함께 데이터 및 주소 라인 당 멀티플렉서를 필요로 한다는 의미이다.An alternative approach is to generate data patterns and address sequences centrally and transfer them to internal memory. This approach is faster than the serial test approach above, especially when testing some of the internal memory in parallel. The disadvantage of this approach is that sending extra data and address buses consumes a significant amount of chip area because the data path width increases from 8 bits to 32 bits or 64 bits, which is becoming more and more common. While the bus is often operating in isolation (eg for data and instruction caches), the test bus is sent in parallel to internal memory, so the same bus cannot be used during test and normal operation. This means that the test requires multiplexers per data and address line with additional buses.

시험할 어레이 각각에 대한 개별적인 패턴 발생기를 사용하고, 제어기가 패턴 발생기에 단순 부호화 명령만을 전송하여 패턴 발생기에 미리 준비되어 저장된 시험 세트 중에 어느 것을 실행시켜야 하는 지를 지시함으로써 버스 면적을 줄이려는 제안이 있다. 이러한 접근은 복수의 메모리를 시험하기 위한 개별적인 패턴 발생기를 생성하는 데 필요한 면적을 대가로 전송 면적을 줄인다. There is a proposal to reduce the bus area by using a separate pattern generator for each array to be tested and by instructing the controller to send only a simple coding command to the pattern generator to indicate which of the pre-prepared and stored test sets to execute. . This approach reduces the transfer area at the expense of the area needed to create separate pattern generators for testing multiple memories.

내장 메모리의 병렬 시험이 속도의 관점에서는 바람직하지만 집적 회로에서의 상이한 내장 메모리(예를 들어, 데이터 캐시 램과 이와 연관된 태그 캐시 램)는 종종 동일한 크기가 아니다. 상이한 크기의 2개의 메모리를 동일한 데이터 패턴을 기록하여 시험할 경우, 작은 메모리의 데이터는 주소 공간이 초과할 경우에 작은 메모리에 기록 과정이 금지되지 않는다면 큰 메모리의 나머지 공간에 채우고자 하는 데이터로 하위 주소 공간에 중복기록이 시작된다. 이러한 상황은 작은 메모리에 대해서는 부정확한 시험 결과를 초래한다.Parallel testing of internal memory is desirable in terms of speed, but different internal memory (eg, data cache RAM and associated tag cache RAM) in integrated circuits are often not the same size. When two memory of different sizes are tested by recording the same data pattern, the data of the small memory is subordinate to the data to be filled in the remaining space of the large memory unless the writing process is prohibited in the small memory when the address space is exceeded. Overwriting starts in the address space. This situation results in inaccurate test results for small memories.

상기의 문제를 해결하고자 제안된 한 접근은 상위 주소의 상태를 사용하여 작은 메모리에 기록 신호를 금지하는 것인데, 이것은 일부 특정한 경우에 있어서는 효율적이다. 예를 들면, 어느 메모리가 열(row) 방향으로 더 작으며, 더 작은 메모리의 열 주소 공간의 크기가 큰 배열의 2진 배수(즉, 2k)일 경우, 작은 메모리에 서 사용되지 않는 상위 열 주소를 논리합하여 필요한 금지 신호를 발생시키는 간편한 수단을 제공하는 것이다. 그러나, 작은 어레이가 큰 어레이의 2진 배수가 아닌 임의의 크기인 좀 더 일반적인 경우에 있어서, 큰 주소 공간에 대하여 매우 복잡해지면서 결과적으로 허용 한도를 초과하는 대용량의 칩 면적을 소비하는 크기 비교기(magnitude comparator)가 필요하다. One approach proposed to solve the above problem is to prohibit write signals to small memories using the state of the upper address, which is efficient in some specific cases. For example, if a memory is smaller in the row direction and the size of the column address space of the smaller memory is a binary multiple of the larger array (ie 2 k ), the higher memory that is not used in the small memory It provides a simple means of ORing the column addresses to generate the necessary forbidden signal. However, in the more general case where a small array is any size rather than a binary multiple of a large array, a magnitude comparator that becomes very complex for a large address space and consequently consumes a large chip area that exceeds the allowable limit. comparator).

일정 형태의 메모리에 있어서는 열과 행 주소 사이에는 상당한 차이가 있다. 예를 들면, DRAM은 한 번에 모든 열을 감지한다. 따라서, 동일 열 내의 행 주소 사이의 주소 천이에 대한 접근 시간은 상이한 열의 선택을 필요로 하는 주소 천이에 대한 접근 시간보다 훨씬 빠르다. 유사하게, 어떤 비휘발성 메모리는 한 번에 한 페이지를 쓸 수 있는 능력을 가지고 있으며, 여기서 상기 페이지는 동일 열을 따라 놓여 있다. 이러한 능력 때문에, 한 열을 따라 천이하는 경우의 시간은 한 열에서 다른 열로 천이하는 경우의 기록 시간과 상당히 다를 수 있다.In some types of memory, there is a significant difference between column and row addresses. For example, DRAM senses all the heat at once. Thus, the access time for address transitions between row addresses within the same column is much faster than the access time for address transitions requiring the selection of different columns. Similarly, some nonvolatile memories have the ability to write one page at a time, where the pages lie along the same column. Because of this capability, the time when transitioning along one row may be significantly different from the recording time when transitioning from one row to another.

열과 행에서 발생할 수 있는 시간차에도 불구하고, 메모리 BIST에서는 행과 열 주소 사이에 발생하는 차이에 관계없이 전체적으로 주소 공간을 처리하는 것이 일반적이다. 따라서 주소를 국지적으로 생성할 경우에는 단일 계수기를 주소 생성에 사용한다. 이것은 내장 메모리가 판독 및 기록 모드 둘 다에 있어서 열과 행 주소 천이 사이에는 별다른 차이를 나타내지 않도록 설계된 SRAM이라는 암묵적인 가정이 있기 때문이다. SRAM이 아마도 내장 메모리의 가장 일반적인 형태이지만, 내장 메모리로서 비휘발성 메모리 및 DRAM의 사용이 일반적으로 되어 가고 있다. Despite the time differences that can occur in columns and rows, it is common for memory BIST to process the address space as a whole, regardless of the differences that occur between rows and columns. Therefore, when generating addresses locally, a single counter is used to generate the address. This is because there is an implicit assumption that internal memory is an SRAM designed to show little difference between column and row address transitions in both read and write modes. SRAM is probably the most common form of internal memory, but the use of nonvolatile memory and DRAM as internal memory is becoming common.

따라서, 예를 들면, 열 주소 공간에 천이가 있을 때마다 전체 행 주소가 접 근될 수 있도록 제어된 방식으로 열과 행 주소를 변화시킬 수 있는 기술이 필요하다. 게다가, 모든 내장 메모리가 열과 행의 동일한 구성을 갖지 않을 수도 있기 때문에 필요하다면 열과 행 주소의 상이한 패턴에 따라 집적 회로의 내장 메모리 각각을 시험하도록 하는 기술이 필요하다. Thus, for example, there is a need for a technique that can change column and row addresses in a controlled manner such that the entire row address is accessed whenever there is a transition in the column address space. In addition, because not all internal memories may have the same configuration of columns and rows, a technique is needed to test each of the internal memories of an integrated circuit according to a different pattern of columns and row addresses if necessary.

본 발명은 BIST 회로로 반도체 메모리의 열과 행의 주소 지정을 독립적으로 제어하는 방법 및 장치를 제공한다. 또한 본 발명은 시험 하는 동안에 상이한 크기나 구성의 주소 공간을 구비한 메모리를 고려하여 행과 열이 상이한 패턴을 사용할 수 있도록 한다. The present invention provides a method and apparatus for independently controlling the addressing of columns and rows of a semiconductor memory with a BIST circuit. The present invention also allows for the use of different patterns of rows and columns, taking into account memory having different size or configuration address spaces during testing.

본 발명의 일 실시예에 있어서, 반도체 소자는 주소 행열과 메모리 시험 BIST 회로를 구비한 메모리를 포함하고, 상기 BIST 회로는 상기 메모리와 연결되는 입력 회로를 포함하여 메모리의 열 주소 또는 행 주소를 독립적으로 선택하고 선택된 열 또는 행에 시험신호를 제공할 수 있다.In one embodiment of the present invention, the semiconductor device includes a memory having an address matrix and a memory test BIST circuit, wherein the BIST circuit includes an input circuit connected to the memory to independent a column address or a row address of the memory. Can be selected and the test signal provided to the selected column or row.

다른 실시예에 있어서, BIST 회로를 사용하여 반도체 소자를 시험하는 방법을 제공하고, 상기 소자는 주소 매트릭스(matrix)를 구비한 복수의 메모리를 포함하며, 상기 방법은 제1 주소의 제1 열 및 제1 행을 독립적으로 선택함으로써 제1 메모리에서 제1 주소를 선택하는 단계, 제2 주소의 제2 열 및 제2 행을 독립적으로 선택함으로써 제2 메모리에서 제2 주소를 선택하는 단계 및 상기 2개의 주소에 시험 신호를 인가하는 단계를 포함한다. In another embodiment, a method of testing a semiconductor device using a BIST circuit is provided, the device including a plurality of memories having an address matrix, the method comprising a first column of a first address and Selecting the first address in the first memory by independently selecting the first row, selecting the second address in the second memory by independently selecting the second column and the second row of the second address, and the second Applying a test signal to the two addresses.

상기 실시예들은 시험될 주소를 선택하는 데 있어서의 유연성, 열들 사이의 개선된 천이 시간 그리고 어느 메모리 주소가 시험을 통과하는 지 실패하는 지를 결정하는 능력을 제공한다.The above embodiments provide flexibility in selecting the address to be tested, improved transition time between columns, and the ability to determine which memory address passes the test and fails.

본 발명은 또한 복수 메모리를 동시에 시험하고 어느 메모리가 다른 메모리보다 작은 주소 공간을 가질 경우, 메모리 주소로 보내지는 데이터의 중복기록 방지를 위한 방법을 제공한다. 예를 들면, 중복기록 방지를 위해서, 본 발명은 시험 신호를 모든 주소에 인가한 메모리에는 더 이상 시험 신호를 인가하지 않거나, 선택된 최종 주소에 최종 신호를 계속해서 인가한다. 바람직하지 않은 중복기록을 방지함으로써, 본 발명은 개선된 진단 방법을 제공한다.The present invention also provides a method for preventing overwrite of data sent to a memory address when a plurality of memories are simultaneously tested and one memory has a smaller address space than another memory. For example, in order to prevent overwriting, the present invention no longer applies the test signal to the memory to which the test signal is applied to all addresses, or continuously applies the final signal to the selected last address. By preventing undesirable duplication, the present invention provides an improved diagnostic method.

본 발명은 또한 복수의 메모리를 동시에 시험할 경우, 실질적으로 동시에 시험 신호를 메모리에 인가하기 위하여 시험 신호를 지연시킨다. 이것은 BIST 회로로부터 상이한 거리에 배치된 메모리의 시험을 개선할 수 있다.The present invention also delays the test signal to apply the test signal to the memory substantially simultaneously when testing a plurality of memories at the same time. This may improve the testing of memory placed at different distances from the BIST circuit.

본 발명의 특성 및 장점에 대한 추가적인 이해는 명세서의 나머지 부분과 첨부 도면의 설명으로 실현될 수 있다.Further understanding of the features and advantages of the invention may be realized by the remainder of the specification and the description of the accompanying drawings.

도 1은 본 발명에 따른 전체 BIST 기능 회로 및 BIST 기능 경로 연결을 나타낸 블록도이다.1 is a block diagram illustrating an overall BIST functional circuit and a BIST functional path connection in accordance with the present invention.

도 2는 본 발명에 따른 주제어기의 블록도이다.2 is a block diagram of a master controller according to the present invention.

도 3은 본 발명에 따른 로컬 주소 발생기의 논리도이다.3 is a logic diagram of a local address generator in accordance with the present invention.

도 4는 본 발명에 따른 로컬 타이밍 조정 회로에 대한 일예의 논리도이다.4 is an example logic diagram for a local timing adjustment circuit in accordance with the present invention.

도 1은 본 발명에 따른 BIST 회로의 바람직한 실시예의 전체 블록도이다. 도 1에 도시한 바와 같은 BIST 기능용 회로는 실행된 기능을 기술하는 고급 설계 언어로 입력을 수신하는 논리 합성 장치(logic synthesizer)로 생성할 수 있다. 도 1에서, 실제로는 버스인 라인들은 라인들에 사선으로 표시하는 데, 예를 들어 해독기(decoder)(85)와 로컬 타이밍 조정 회로(local timing de-skewing circuit)(70) 사이의 라인(86)이다. 주제어기(10)가 도면의 점선 왼쪽에 도시된다. 상기 도면의 점선 오른쪽에 나타나는 블록은 시험할 내장 메모리(예를 들어, 메모리(90,91)) 당 하나의 그룹으로 구분된다. 이러한 논리 기능의 2개 그룹을 도 1에 도면부호 100 및 101로서 도시한다. BIST 기능으로 구분된 블록은 열 주소 발생기(50) 및 행 주소 발생기(40), 주소 필터(49, 59), 데이터 해독기(85), 데이터 비교기(85) 및 로컬 타이밍 조정 회로(70)이다. 주제어기로부터 구분 블록으로 이어지는 라인들 중의 하나만이 버스, 즉 부호화 데이터 라인(12)임을 유의하여야 한다. 본원의 양수인에게 양도되고 이후 참고적으로 편입되며, 현재는 포기된 발명의 명칭이 "Method And Apparatus For Built-In Self Test of Integrated Circuits"인 관련 출원 SN 08/697,969에 도시된 바와 같이, 상기 버스에 대하여도 부호화 데이터 버스의 폭을 적절하게 최소화하는 부호화 회로에 대하여 log2(패턴의 수)보다 작거나 같게 상기 버스의 라인의 수를 도시할 수 있다. 전송에 필요한 적은 라인 수는 본 발명의 효율성의 일예이다. 이러한 방법은 열과 행 주소 사이를 구별하지 않는 방법보다 단지 하나 더 많은 라인만을 필요로 한다.1 is an overall block diagram of a preferred embodiment of a BIST circuit in accordance with the present invention. The circuit for BIST functions as shown in FIG. 1 can be generated by a logic synthesizer that receives input in an advanced design language that describes the executed function. In Fig. 1, the lines that are actually buses are shown in diagonal lines in the lines, for example the line 86 between the decoder 85 and the local timing de-skewing circuit 70. )to be. The master controller 10 is shown to the left of the dashed line in the figure. The blocks appearing to the right of the dashed line in the figure are divided into one group per internal memory (e.g., memory 90,91) to be tested. Two groups of such logic functions are shown in FIG. 1 as reference numerals 100 and 101. The blocks separated by the BIST function are the column address generator 50 and the row address generator 40, the address filters 49 and 59, the data decoder 85, the data comparator 85 and the local timing adjustment circuit 70. Note that only one of the lines from the main controller to the division block is the bus, i. The bus, as shown in the related application SN 08 / 697,969, assigned to the assignee of the present application and hereafter incorporated by reference, which is now entitled "Method And Apparatus For Built-In Self Test of Integrated Circuits" The number of lines of the bus can also be shown to be less than or equal to log2 (the number of patterns) for the encoding circuit that minimizes the width of the encoded data bus appropriately. The small number of lines needed for transmission is an example of the efficiency of the present invention. This method requires only one more line than does not distinguish between column and row addresses.

도 2에 도시한 주제어기는 개별 메모리에서 시행되는 시험을 조정하고 동기 화시킨다. 열과 행 주소 클록(13, 14), 주소 초기화 신호(15) 및 증가/감소 신호(17)는 메모리의 주소 생성을 제어한다. 상기 제어기가 구별하지 않는 경우에 필요한 단일 계수기가 아닌 2개의 계수기를 필요로 하지만 상기 계수기는 더 작다. 대부분의 경우에 있어서, 2개의 계수기에 결합되는 비트 수는 구별하지 않는 경우에 사용되는 단일 계수기의 비트 수와 동일하다. 따라서, 본 발명에서 계수기들이 사용하는 전체 칩 면적은 구별하지 않는 경우의 단일 계수기의 칩 면적과 비슷하다.The master controller, shown in Figure 2, coordinates and synchronizes tests performed in individual memories. The column and row address clocks 13 and 14, the address initialization signal 15 and the increase / decrease signal 17 control the address generation of the memory. The counter is smaller, although it requires two counters, rather than a single counter, where the controller does not differentiate. In most cases, the number of bits coupled to the two counters is the same as the number of bits of a single counter used when not distinguishing. Therefore, the total chip area used by the counters in the present invention is similar to the chip area of a single counter when not distinguishing.

다시 도 1을 참고하여, 해독기(85)는 패턴 정보를 해독하여 시험중인 메모리에 데이터를 제공한다. 상기 데이터는 해독되어 데이터 버스(86)에 나타난다. 로컬 타이밍 조정 회로(70)는 상기 신호 및 주소를 동기화시킨다. 데이터 버스(81), 주소 버스(84) 및 제어 라인(83) 상의 신호는 상이한 주소 시퀀스를 가진 데이터 상태 모두에서의 모든 메모리 위치로부터 판독 및 기록에 의해 시험을 행한다. Referring again to FIG. 1, the decoder 85 decrypts the pattern information and provides data to the memory under test. The data is decrypted and shown on data bus 86. Local timing adjustment circuit 70 synchronizes the signal and address. Signals on data bus 81, address bus 84, and control line 83 are tested by reading and writing from all memory locations in all data states with different address sequences.

데이터 비교기(80)는 메모리로부터 판독한 데이터와 대응하는 입력 데이터를 비교하여 판독 인에이블 버스(19) 및 진단/시프트 신호(18)의 제어 하에 결과, 즉 통과/실패를 통보한다. 상기 정보가 유용하기 위해서는 2개 이상의 라인을 추가하여 데이터 비교기가 임의의 불량 비트의 주소 위치를 다시 제어기로 통보하도록 할 수 있다. 어떤 패턴 및 데이터 극성(polarity)이 사용되었는지에 관한 정보 그리고 추가 분석, 여분 보정(redundancy repair), 또는 다른 조치를 위해 외부 시험기로 통보한 정보와 함께 상기 정보를 결합할 수 있다.The data comparator 80 compares the data read from the memory with the corresponding input data and notifies the result, ie pass / fail, under the control of the read enable bus 19 and the diagnostic / shift signal 18. For this information to be useful, two or more lines can be added to cause the data comparator to notify the controller of the address location of any bad bits again. The information can be combined with information about which patterns and data polarities were used and information notified to an external tester for further analysis, redundancy repair, or other measures.

도 3은 의사 랜덤(pseudo-random) 행 주소 생성기(40)에 관한 바람직한 실시 예의 논리도를 도시한다. 의사 랜덤 행 주소 생성기는 선형 궤환(linear feedback)을 구비한 동기 시프트 레지스터에 기초한다. 상기 궤환은 초기 다항식에 의해 결정되고, 상기 다항식 차수는 생성되는 주소의 수에 따른다. 다항식은 본 발명의 기술 분야에서 잘 알려져 있고 예를 들면, 바델(Bardell) 등이 저술한 "VLSI용 내장형 시험: 의사 랜덤 기법(Built-in Test for VLSI: Pseudo-random Techniques)"이라는 책에 나와 있다. 동작 시, 주소 리셋 신호(16)는 처음에 레지스터의 모든 플립플롭(flip-flop)의 모든 출력을 "0"으로 리셋한다. 따라서, 영(0)의 주소는 주소 버스(46)의 출력이고 리셋할 때 이외에는 의사 랜덤 생성기(40)에 의해서 생성되지 않는다. 다음에, 주소 생성기(40)는 주소 초기화 신호(15)를 이용하여 AC0 플립플롭(43)을 "1"로 셋시킴으로써 시드(seed)를 발생시킨다. AC0 플립플롭(43)을 단지 예로써 시딩(seeding)용으로 선택하며, 임의의 다른 플립플롭을 생성기의 시딩용으로 적절히 선택할 수 있다. 시프트 레지스터와 주소 클록(14)을 클로킹(clocking)하여 주소 버스(46) 상에 의사 랜덤 차수에서 모두 영(0)이 아닌 주소를 정확히 한번 발생하고, 이후 상기 생성기는 인터럽트(interrupt)가 없다면 동일 차수를 반복한다. 3 shows a logic diagram of a preferred embodiment of a pseudo-random row address generator 40. The pseudo random row address generator is based on a synchronous shift register with linear feedback. The feedback is determined by the initial polynomial, and the polynomial order depends on the number of addresses generated. Polynomials are well known in the art and are described, for example, in the book "Built-in Test for VLSI: Pseudo-random Techniques" by Bardell et al. have. In operation, the address reset signal 16 initially resets all outputs of all flip-flops of the register to " 0 ". Thus, an address of zero is the output of address bus 46 and is not generated by pseudo random generator 40 except upon reset. The address generator 40 then generates a seed by setting the A C0 flip-flop 43 to " 1 " using the address initialization signal 15. A C0 flip-flop 43 is selected for seeding by way of example only, and any other flip-flop may be appropriately selected for seeding of the generator. Clocking the shift register and the address clock 14 generates exactly one nonzero address in both pseudorandom orders on the address bus 46 exactly once, after which the generator is the same if there is no interruption. Repeat the order.

멀티플렉서(45)는, 증가/감소 신호(17)와 함께 플립플롭(43, 44)으로부터 데이터 또는 보수 데이터 출력을 선택함으로써, 주소를 오름 차순(즉, 모두"0"으로 시작) 또는 내림 차순(즉, 모두 "1"로 시작)으로 할 것인지를 결정하는데 사용된다. 궤환 네트워크(47)는 플립플롭(43, 44)의 적절한 출력과 연결되어 원하는 초 기 다항식을 형성한다. XOR 게이트(41)를 통한 이러한 다항식 궤한 루프는 시프트 레지스터를 통해 시프트되는 "0"과 "1"의 의사 랜덤 시퀀스를 발생하게 한다. 멀티플렉서(45)의 출력은 주소 버스(46) 라인을 형성한다.The multiplexer 45 selects the data or complement data output from the flip-flops 43 and 44 together with the increase / decrease signal 17, thereby ascending (i.e., starting with all "0") or descending order (address). That is, all start with "1"). Feedback network 47 is connected to the appropriate outputs of flip-flops 43 and 44 to form the desired initial polynomial. This polynomial feedback loop through the XOR gate 41 causes a pseudo random sequence of "0" and "1" to be shifted through the shift register. The output of multiplexer 45 forms the address bus 46 line.

주제어기에서와 같은 이러한 기능에서, 계수기(counter)의 래치(latches) 수는 열과 행 주소로 분할되느냐가 아니라 생성되는 주소 수에 달려 있다. 따라서, 주소 생성 전용 면적은 개별적인 열과 행 주소 생성기를 구비하는 것에 크게 영향을 받지 않는다.In this function, such as in the master controller, the number of latches in the counter depends on the number of addresses generated, not whether it is divided into column and row addresses. Thus, the address generation area is not significantly affected by having separate column and row address generators.

다른 유형의 메모리, 예를 들면, 불휘발성 메모리와 SRAM을 동일 집적 회로 상에 통합할 경우에 상이한 메모리가 상이한 크기의 주소 공간을 가지는 어려움이 생길 수 있다. 큰 주소 공간의 전체에 기록하면 복수의 주소가 동일 주소에 앨리어싱(aliasing)되므로 작은 주소 공간을 갖는 메모리는 데이터 파손이 일어날 수 있다. When integrating different types of memory, such as nonvolatile memory and SRAM on the same integrated circuit, difficulties may arise that different memories have different sized address spaces. Writing over the entire address space can result in data corruption in a memory with a small address space since multiple addresses are aliased to the same address.

본 발명은 작은 주소 공간을 갖는 메모리 상에 앨리어싱된 주소에의 기록을 금지할 수 있다. 금지 방법 중의 하나가 주소 경계값이 최종 유효 주소의 신호를 초과하는 주소 신호 및 데이터 신호를 동결하는 것이다. 다른 유효 신호(즉, 메모리의 주소 공간 내의 주소)가 어서팅될 때까지 상기 신호는 동결된다. 이것은상기 주소 생성기가 작은 메모리의 주소 공간을 초과하는 주소를 제공할 때, 큰 메모리의 다른 주소 위치에서 다른 데이터를 기록하고 판독하는 동안, 최종 유효 주소 위치에서 그 위치에 적합한 데이터를 기록하고 판독함을 의미한다.The present invention can prohibit writing to an aliased address on a memory having a small address space. One of the prohibition methods is to freeze the address signal and the data signal whose address threshold exceeds the signal of the last valid address. The signal is frozen until another valid signal (ie, an address in the address space of the memory) is asserted. This means that when the address generator provides an address that exceeds the address space of the small memory, it writes and reads the appropriate data for that location at the last valid address location, while writing and reading other data at different address locations in the large memory. Means.

주소 필터(49, 59)는 신호를 발생하여 메모리의 열 또는 행 주소 공간의 경 계값이 초과한 때를 나타낸다. 이러한 기능은 집적 회로 상에서, 동시에 시험되는 메모리보다 작은 주소 공간을 갖는 메모리에만 필요하다. 따라서, 이러한 블록은 시험되는 칩 상의 가장 큰 메모리의 주소 공간과 동등한 주소 공간을 갖는 메모리와 결합한 논리 그룹으로부터 생략될 수 있다. 또한, 의사 랜덤 기법을 주소 생성에 사용할 경우, 주소는 작은 메모리의 허용 주소 공간에서 교대로 여러 번 입출력될 수 있다. 본 발명은 효과적으로 이러한 상태를 보상한다.The address filters 49, 59 generate a signal to indicate when the boundary value of the column or row address space of the memory has been exceeded. This functionality is only needed on integrated circuits, which have a smaller address space than the memory being tested at the same time. Thus, such blocks can be omitted from logical groups in combination with memory having an address space that is equivalent to the address space of the largest memory on the chip being tested. In addition, when pseudo-random techniques are used for address generation, addresses can be input and output alternately several times in an allowable address space of a small memory. The present invention effectively compensates for this condition.

예를 들면, 본원의 양수인에게 양도되고 이후 참고적으로 편입되며 발명의 명칭이 "Efficient Filtering of Differing Address Space in Built-in Self Test for Embedded Memories"인 관련 출련 SN 08/697,968에 개시된 방법으로 주소 필터(50)를 생성할 수 있다. 주소 공간의 분할은 필터링 문제를 간소화하고 레이아웃(layout) 면적을 줄일 수 있다.For example, an address filter may be assigned to the assignee of the present application and subsequently incorporated by reference, and the address filter in the manner disclosed in the relevant publication SN 08 / 697,968 entitled "Efficient Filtering of Differing Address Space in Built-in Self Test for Embedded Memories". 50 can be generated. Splitting the address space can simplify filtering problems and reduce layout area.

로컬 타이밍 조정 회로(70)는 입력 신호에 대한 펄스 형성 및 에지 배치(pulse shaping and edge placement)를 내장 메모리 어레이(90, 91) 각각에 제공한다. 주소 버스(84), 제어 라인(83) 및 부호화 데이터 버스(81) 상의 신호는 상이한 주소 시퀀스를 가진 두 메모리의 모든 메모리에서 기록과 판독을 행함으로써 내장 메모리(90, 91)를 시험한다. 보정 회로(70)는 타이밍 문제를 일으킬 수 있는 거리, 가령 1 센티미터 이상 분리 될 수 있는 상이한 내장 메모리(90 또는 91)에 접근하는 것과 관련된 타이밍 문제를 해결한다. The local timing adjustment circuit 70 provides pulse shaping and edge placement for the input signal to each of the internal memory arrays 90 and 91. The signals on the address bus 84, control line 83 and encoded data bus 81 test the built-in memories 90 and 91 by writing and reading from all memories of the two memories having different address sequences. The correction circuit 70 solves timing problems associated with accessing different internal memories 90 or 91 that may be separated by distances that may cause timing problems, such as more than one centimeter.

또한, 기록/판독 신호를 제어하는 주소 필터링 기능의 결과를 이용하여 앨리어싱을 방지할 수 있다. 본원의 양수인에게 양도되고 이후 참고적으로 편입되며 발명의 명칭이 "Efficient Built-In Self Test For Embedded Memories With Differing Address Space"인 관련 출련 SN 08/707,062에 개시된 바와 같이, 접근 방법에는 작은 주소 공간에서 기록 기능을 방해하는 신호를 발생하도록 주제어기에서의 주소 계수기의 출력을 이용하는 방법을 포함한다. In addition, aliasing can be prevented by using the result of the address filtering function that controls the write / read signal. As disclosed in the related training SN 08 / 707,062, which is assigned to the assignee of the present application and hereafter incorporated by reference and entitled "Efficient Built-In Self Test For Embedded Memories With Differing Address Space", the approach involves a small address space. A method of using the output of the address counter at the master controller to generate a signal that interferes with the recording function.

도 4는 로컬 타이밍 조정 회로(70)를 단순화시킨 회로도이다. 조정 회로(70)는 VLSI 설계에서 일반적인 것처럼 조정 기능을 제공하도록 동기화된 클록 래치(72, 73)를 사용한다. 추가 논리 소자인 AND 게이트(71)는 무효의 주소 위치에 시험 데이터를 기록하지 못하게 한다. 주소 정지 신호(48, 58)가 하이(high)인 동안, 필수적인 클록 신호(20)인 AND 게이트(71)의 출력은 시험 중인 내장 메모리를 통하여 제어 신호(83), 주소 신호(84) 및 데이터 신호(81)를 계속하여 전송한다. 그러나, 주소 정지 신호(address halt signal)(48, 58)이 로우(low)가 될 경우, 작은 내장 메모리(91)의 주소 공간의 경계값을 초과하는 주소 출력을 나타내고, AND 게이트(71)의 출력이 항상 로우이면 데이터 및 주소 라인 각각에 연결되는 래치(72, 73)의 출력이 동결된다. 오직 제어 신호(83)만이 래치(75)를 통하여 전송된다. 따라서, 작은 메모리의 주소 공간을 초과하기 전의 최종 유효 주소로 판독 및 기록이 제한되고, 이후 최종 유효 주소의 위치에 반복해서 재기록된다. 본 회로에서의 게이트 수는 주소 분할과는 상관이 없다.4 is a circuit diagram simplifying the local timing adjustment circuit 70. The adjusting circuit 70 uses synchronized clock latches 72 and 73 to provide the adjusting function as is common in VLSI designs. An additional logic element, AND gate 71, prevents writing test data at an invalid address location. While the address stop signals 48 and 58 are high, the output of the AND gate 71, which is an essential clock signal 20, is controlled via the internal memory under test, the control signal 83, the address signal 84 and the data. The signal 81 continues to be transmitted. However, when the address halt signals 48 and 58 go low, they indicate an address output exceeding the boundary value of the address space of the small internal memory 91 and the If the output is always low, the output of latches 72 and 73, which are connected to the data and address lines, respectively, is frozen. Only control signal 83 is transmitted via latch 75. Thus, reading and writing is limited to the last valid address before exceeding the address space of the small memory, and then rewritten repeatedly at the location of the last valid address. The number of gates in this circuit has nothing to do with address splitting.

도 2는 본 실시예가 열과 행 주소 각각에 대해 별개의 계수기(21,22)를 이용하고 있음을 도시한다. 주제어기에서, 2개의 계수기는 상태 신호(29)에 의해 제어된다. 빠른 열, 빠른 행이냐 또는 원할 때 임의 주소지정 시퀀스인지에 따라 어느 한 쪽 또는 양쪽 모두가 동시에 가동될 수 있다. 주제어기의 2개의 계수기는 행과 열 주소 클록(13, 14) 각각의 작동을 결정한다. 2 shows that the present embodiment uses separate counters 21 and 22 for each of the column and row addresses. In the main controller, two counters are controlled by the status signal 29. Either or both can run at the same time, depending on whether they are fast columns, fast rows, or random addressing sequences as desired. Two counters of the master controller determine the operation of each of the row and column address clocks 13, 14.

상기한 설명은 예시적인 것이며, 제한적인 것이 아니다. 본 발명의 많은 변형예가 본 명세서의 반복을 통해 당업자에게 명백해 질 것이다. 예를 들면, 많은 주소 공간 및 다른 데이터 패턴이 사용될 수 있고, 그것은 다른 논리 방정식과 논리도를 만들 것이다. 게다가, 동일한 논리 기능이 다양한 방식으로 구현될 수 있다. 따라서, 본 발명의 범위는 설명에 따라 결정되는 것이 아니라 균등물의 전 범위와 함께 첨부된 특허청구범위에 따라 결정된다.The above description is illustrative and not restrictive. Many variations of the invention will become apparent to those skilled in the art upon repetition of this specification. For example, many address spaces and other data patterns can be used, which will create different logic equations and logic diagrams. In addition, the same logical function can be implemented in various ways. Accordingly, the scope of the invention is not to be determined by the description, but rather by the claims appended herewith along with the full scope of equivalents.

Claims (20)

제1 주소 공간을 점유하는 복수의 제1 메모리 셀을 가지는 제1 메모리(90)로서, 각각의 메모리셀이 제1 메모리에 입력으로서 제공되는 제1 주소에 의하여 선택될 때 데이터를 저장하고 판독하는 제1 메모리(90),   A first memory (90) having a plurality of first memory cells occupying a first address space, wherein each memory cell stores and reads data when selected by a first address provided as input to the first memory. First memory 90, 각각의 제1 메모리 셀에 기록되는 데이터와 각각의 제1 메모리 셀로부터 판독되는 데이터를 비교하는 제1 데이터 비교기(80), A first data comparator 80 for comparing data written to each first memory cell with data read from each first memory cell, 상기 제1 주소 공간내의 주소와 상기 제1 주소 공간밖의 주소를 포함하는 주소들의 제1 주소 시퀀스를 생성하는 제1 주소 생성기(40, 50), 및A first address generator 40, 50 for generating a first address sequence of addresses comprising an address in the first address space and an address outside the first address space, and 상기 제1 주소 시퀀스로부터 상기 제1 주소 공간밖에 있는 주소를 제거하고, 상기 제1 메모리 셀을 선택하기 위하여 제1 주소 입력 시퀀스로서 상기 제1 주소 시퀀스의 남은 주소를 상기 제1 메모리에 제공하는 제1 주소 필터 수단(49, 59, 70)Removing an address outside the first address space from the first address sequence and providing the first memory with the remaining address of the first address sequence as a first address input sequence to select the first memory cell; 1 address filter means (49, 59, 70) 을 포함하는 반도체 장치. A semiconductor device comprising a. 제1항에 있어서,The method of claim 1, 제2 주소 공간을 점유하는 복수의 제2 메모리 셀을 가지는 제2 메모리(91)로서, 각각의 메모리 셀이 제2 메모리에 입력으로서 제공되는 제2 주소에 의하여 선택될 때 각각이 데이터를 저장하고 판독하는 제2 메모리(91),A second memory (91) having a plurality of second memory cells occupying a second address space, each storing data when each memory cell is selected by a second address provided as input to the second memory; A second memory 91 to read, 각각의 제2 메모리 셀에 기록되는 데이터와 각각의 제2 메모리 셀로부터 판독되는 데이터를 비교하는 제2 데이터 비교기(80),A second data comparator 80 for comparing data written to each second memory cell with data read from each second memory cell, 상기 제2 주소 공간내의 주소와 상기 제2 주소 공간밖의 주소를 포함하는, 상기 제1 주소 시퀀스와 동일한 제2 주소 시퀀스를 생성하는 제2 주소 생성기(40, 50), 및 A second address generator 40, 50 for generating a second address sequence identical to the first address sequence, the address including the address in the second address space and an address outside the second address space; 상기 제2 주소 시퀀스로부터 상기 제2 주소 공간밖에 있는 주소를 제거하고 상기 제2 메모리 셀을 선택하기 위하여 제2 주소 입력 시퀀스로서 상기 제2 주소 시퀀스의 남은 주소를 상기 제2 메모리에 제공하는 제2 주소 필터 수단(49, 59, 70)A second address providing the remaining address of the second address sequence to the second memory as a second address input sequence to remove an address outside the second address space from the second address sequence and select the second memory cell; Address filter means (49, 59, 70) 을 더 포함하며, 상기 제1 및 제2 주소 공간은 크기가 다른 반도체 장치. The semiconductor device of claim 1, wherein the first and second address spaces have different sizes. 제1항에 있어서,The method of claim 1, 상기 제1 주소 생성기는 열 주소 발생기를 포함하고, The first address generator comprises a column address generator, 상기 제1 주소 필터 수단은The first address filter means 열 주소 생성기에 의하여 제공되는 열 주소를 제1 메모리의 열 주소 범위와 비교하여 열 주소 발생기에 의하여 제공되는 열 주소가 상기 열 주소 범위의 밖인 경우 열 정지 신호를 인가하는 열 주소 필터, 및 A column address filter for applying a column stop signal when the column address provided by the column address generator is out of the column address range by comparing the column address provided by the column address generator with the column address range of the first memory, and 열 정지 신호가 인가되는 경우 제1 주소 시퀀스내의 주소가 메모리에 제공되지 않도록 하는 정지 회로를 포함하는 것을 특징으로 하는 반도체 장치.And a stop circuit for preventing an address in the first address sequence from being provided to the memory when a column stop signal is applied. 제3항에 있어서,The method of claim 3, 상기 제1 주소 생성기는 행 주소 발생기를 더 포함하고, The first address generator further comprises a row address generator, 상기 제1 주소 필터 수단은 행 주소 생성기에 의하여 제공되는 행 주소를 제1 메모리의 행 주소 범위와 비교하여 행 주소 발생기에 의하여 제공되는 행 주소가 상기 행 주소 범위의 밖인 경우 행 정지 신호를 인가하는 행 주소 필터를 더 포함하고, The first address filter means compares the row address provided by the row address generator with the row address range of the first memory to apply a row stop signal if the row address provided by the row address generator is outside the row address range. Further includes a row address filter, 상기 정지 회로는 열 정지 신호 또는 행 정지 신호가 인가되는 경우 제1 주소 시퀀스내의 주소가 메모리에 제공되지 않도록 하는 것을 특징으로 하는 반도체 장치.And the stop circuit prevents an address in the first address sequence from being provided to the memory when a column stop signal or a row stop signal is applied. 제1항에 있어서,The method of claim 1, 상기 제1 주소 생성기는 행 주소 생성기를 포함하고, The first address generator comprises a row address generator, 상기 제1 주소 필터 수단은 The first address filter means 행 주소 생성기에 의하여 제공되는 행 주소를 제1 메모리의 행 주소 범위와 비교하여 행 주소 발생기에 의하여 제공되는 행 주소가 상기 행 주소 범위의 밖인 경우 행 정지 신호를 인가하는 행 주소 필터, 및 A row address filter for applying a row stop signal when the row address provided by the row address generator is out of the row address range by comparing the row address provided by the row address generator with the row address range of the first memory; and 행 정지 신호가 인가되는 경우 제1 주소 시퀀스내의 주소가 메모리에 제공되지 않도록 하는 정지 회로를 포함하는 것을 특징으로 하는 반도체 장치.And a stop circuit for preventing an address in the first address sequence from being provided to the memory when a row stop signal is applied. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020007014379A 1998-08-21 1998-08-21 Method and apparatus for built-in self test of integrated circuits KR100589532B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1998/017298 WO2000011674A1 (en) 1998-08-21 1998-08-21 Method and apparatus for built-in self test of integrated circuits

Publications (2)

Publication Number Publication Date
KR20010052985A KR20010052985A (en) 2001-06-25
KR100589532B1 true KR100589532B1 (en) 2006-06-13

Family

ID=22267708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007014379A KR100589532B1 (en) 1998-08-21 1998-08-21 Method and apparatus for built-in self test of integrated circuits

Country Status (4)

Country Link
EP (1) EP1105876A4 (en)
JP (1) JP2002523854A (en)
KR (1) KR100589532B1 (en)
WO (1) WO2000011674A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6550034B1 (en) 2000-02-17 2003-04-15 Hewlett Packard Development Company, L.P. Built-in self test for content addressable memory
US6658610B1 (en) * 2000-09-25 2003-12-02 International Business Machines Corporation Compilable address magnitude comparator for memory array self-testing
JP2006252702A (en) * 2005-03-11 2006-09-21 Nec Electronics Corp Semiconductor integrated circuit apparatus and its inspection method
JP2008065862A (en) * 2006-09-04 2008-03-21 System Fabrication Technologies Inc Semiconductor memory
US8185694B2 (en) * 2008-07-25 2012-05-22 International Business Machines Corporation Testing real page number bits in a cache directory
KR101232195B1 (en) * 2011-02-25 2013-02-12 연세대학교 산학협력단 A test method for a semiconductor memory device and a test apparatus thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0492624A1 (en) * 1990-12-27 1992-07-01 Kabushiki Kaisha Toshiba Semiconductor integrated circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817093A (en) * 1987-06-18 1989-03-28 International Business Machines Corporation Method of partitioning, testing and diagnosing a VLSI multichip package and associated structure
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5258986A (en) * 1990-09-19 1993-11-02 Vlsi Technology, Inc. Tightly coupled, low overhead RAM built-in self-test logic with particular applications for embedded memories
JP3269117B2 (en) * 1992-05-26 2002-03-25 安藤電気株式会社 Test pattern generator for semiconductor memory
KR0141432B1 (en) * 1993-10-01 1998-07-15 기다오까 다까시 Semiconductor memory device having circuit for activating predetermined rows of memory cells upon detection of disturb refresh test
US5617531A (en) * 1993-11-02 1997-04-01 Motorola, Inc. Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor
US5659551A (en) * 1995-05-31 1997-08-19 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on
US5661732A (en) * 1995-05-31 1997-08-26 International Business Machines Corporation Programmable ABIST microprocessor for testing arrays with two logical views
US5615159A (en) * 1995-11-28 1997-03-25 Micron Quantum Devices, Inc. Memory system with non-volatile data storage unit and method of initializing same
US5805789A (en) * 1995-12-14 1998-09-08 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0492624A1 (en) * 1990-12-27 1992-07-01 Kabushiki Kaisha Toshiba Semiconductor integrated circuit

Also Published As

Publication number Publication date
JP2002523854A (en) 2002-07-30
WO2000011674A1 (en) 2000-03-02
KR20010052985A (en) 2001-06-25
EP1105876A4 (en) 2003-09-17
EP1105876A1 (en) 2001-06-13

Similar Documents

Publication Publication Date Title
US5974579A (en) Efficient built-in self test for embedded memories with differing address spaces
US6011748A (en) Method and apparatus for built-in self test of integrated circuits providing for separate row and column addresses
US7444559B2 (en) Generation of memory test patterns for DLL calibration
US6560740B1 (en) Apparatus and method for programmable built-in self-test and self-repair of embedded memory
US5568437A (en) Built-in self test for integrated circuits having read/write memory
US5946246A (en) Semiconductor memory device with built-in self test circuit
KR970004074B1 (en) Memory device and integrated circuit thereof
US5663965A (en) Apparatus and method for testing a memory array
US6536004B2 (en) On-chip circuit and method for testing memory devices
US7603603B2 (en) Configurable memory architecture with built-in testing mechanism
US6681358B1 (en) Parallel testing of a multiport memory
US7729185B2 (en) Apparatus and method for detection of address decoder open faults
US6574758B1 (en) Testing a bus coupled between two electronic devices
EP0421693B1 (en) Memory self-test
JPH0773696A (en) Self-time type memory-array and testing method thereof
US7047461B2 (en) Semiconductor integrated circuit device with test data output nodes for parallel test results output
US5930814A (en) Computer system and method for synthesizing a filter circuit for filtering out addresses greater than a maximum address
US7478297B2 (en) Merged MISR and output register without performance impact for circuits under test
KR100589532B1 (en) Method and apparatus for built-in self test of integrated circuits
CN101114527B (en) Semiconductor device
US6907385B2 (en) Memory defect redress analysis treating method, and memory testing apparatus performing the method
US6490700B1 (en) Memory device testing apparatus and data selection circuit
US4752907A (en) Integrated circuit scanning apparatus having scanning data lines for connecting selected data locations to an I/O terminal
US6915467B2 (en) System and method for testing a column redundancy of an integrated circuit memory
US6327683B1 (en) Device scan testing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee