KR20140001542A - 반도체 장치의 빌트 인 셀프 테스트 장치 - Google Patents

반도체 장치의 빌트 인 셀프 테스트 장치 Download PDF

Info

Publication number
KR20140001542A
KR20140001542A KR1020120069388A KR20120069388A KR20140001542A KR 20140001542 A KR20140001542 A KR 20140001542A KR 1020120069388 A KR1020120069388 A KR 1020120069388A KR 20120069388 A KR20120069388 A KR 20120069388A KR 20140001542 A KR20140001542 A KR 20140001542A
Authority
KR
South Korea
Prior art keywords
test
program data
programming
test program
information
Prior art date
Application number
KR1020120069388A
Other languages
English (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 에스케이하이닉스 주식회사
Priority to KR1020120069388A priority Critical patent/KR20140001542A/ko
Publication of KR20140001542A publication Critical patent/KR20140001542A/ko

Links

Images

Classifications

    • 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/14Implementation of control logic, e.g. test mode decoders
    • 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/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

빌트 인 셀프 테스트 장치는 BIST 제어부, 프로그래밍 블록 및 테스트 패턴 생성부를 포함한다. 상기 BIST 제어부는 메모리 테스트를 위한 복수의 테스트 프로그램 데이터를 제공한다. 상기 프로그래밍 블록은 제 1 루프의 테스트 동작을 위해 테스트 시퀀스에 관한 정보를 갖는 테스트 프로그램 데이터를 저장하는 제 1 저장부와, 다음 루프의 테스트 동작을 위해 상기 테스트 시퀀스에서 변경되는 부분에 관한 정보를 갖는 테스트 프로그램 데이터를 저장하는 제 2 저장부를 포함한다. 상기 테스트 패턴 생성부는 상기 프로그래밍 블록에 저장된 상기 테스트 프로그램 데이터를 수신하여 복수의 테스트 신호를 생성한다.

Description

반도체 장치의 빌트 인 셀프 테스트 장치 {BUILT-IN SELF TEST DEVICE OF SEMICONDUCTOR APPARATUS}
본 발명은 반도체 장치에 관한 것으로서, 더 상세하게는 반도체 장치의 빌트 인 셀프 테스트 장치에 관한 것이다.
메모리를 포함하는 반도체 장치는 일반적으로 클럭에 동기하여 동작을 수행한다. 반도체 장치의 성능이 지속적으로 향상되면서, 점점 더 빠른 주파수의 클럭에 동기하여 동작하게 되었다.
반도체 장치 제조과정에서 다양한 테스트를 수행하여 제품의 성능을 점검한다. 반도체 장치의 테스트는 테스트 장비를 통해 수행될 수 있는데, 일반적으로 테스트 장비는 반도체 장치가 동작할 수 있는 주파수보다 낮은 주파수의 클럭을 이용하여 반도체 장치를 테스트한다.
기존에는, 낮은 주파수를 갖는 클럭을 이용한 테스트를 통해서 반도체 장치의 신뢰성을 충분히 점검할 수 있었다. 그러나, 반도체 장치의 동작 속도가 점차 증가하면서, 테스트 장비가 지원할 수 있는 주파수를 갖는 클럭을 이용해서 반도체 장치의 성능을 제대로 검증할 수 없는 문제점이 발생하였다.
따라서, 높은 주파수에서 동작하는 반도체 장치의 성능을 제대로 테스트하기 위해 빌트 인 셀프 테스트 장치가 개발되었다. 상기 빌트 인 셀프 테스트 장치는 반도체 장치에 내장되어 반도체 장치의 테스트를 수행할 수 있다. 상기 빌트 인 셀프 테스트 장치는 반도체 장치의 동작 주파수와 실질적으로 동일한 주파수로 상기 반도체 장치를 테스트 할 수 있다.
도 1은 종래기술에 따른 빌트 인 테스트 장치 및 이를 포함하는 반도체 장치를 개략적으로 보여주는 블록도이다. 도 1에서, 상기 반도체 장치(10)는 빌트 인 셀프 테스트 장치(11, 이하, BIST) 및 메모리(12)를 포함한다. 상기 BIST(11)는 외부 컨트롤러(미도시)로부터 커맨드 또는 어드레스를 수신하여 테스트 커맨드 및 테스트 어드레스를 생성한다. 상기 메모리는 상기 BIST(11)로부터 상기 테스트 커맨드 및 테스트 어드레스를 수신하여 테스트 동작을 수행하고, 테스트 결과를 상기 BIST로 피드백 할 수 있다.
상기 BIST 중 널리 쓰이고 있는 형태는 프로그래밍 가능한 BIST이다. 상기 프로그래밍 가능한 BIST는 테스트를 위한 프로그래밍 요소를 마이크로 코드 형태로 할당한다. 상기 BIST는 상기 마이크로 코드를 저장하는 공간을 구비하고 있으면 충분하다. 상기 BIST는 상기 마이크로 코드로부터 메모리의 테스트를 위한 테스트 신호들, 예를 들어, 테스트 커맨드 및 테스트 어드레스 등을 생성한다.
DRAM과 같은 메모리는 캐패시터로 구성된 휘발성 메모리 셀을 포함하고 있으므로, 수행되어야 하는 테스트 시퀀스가 매우 다양하고 많다. 따라서, DRAM의 테스트를 위해 프로그래밍 가능한 BIST가 저장해야 하는 마이크로 코드의 수 또한 증가할 수 밖에 없다. 상기 BIST는 테스트를 위한 것임에도 불구하고, 많은 저장 공간을 구비하는 것은 매우 비효율적이다.
본 발명은 테스트 프로그램 저장 공간을 효율적으로 사용할 수 있는 방법을 제공하여 적은 프로그램 공간으로 다양한 테스트 신호를 생성할 수 있는 빌트 인 셀프 테스트 장치 및 이를 포함하는 반도체 장치를 제공한다.
본 발명의 실시예에 따른 반도체 장치의 메모리 테스트를 위한 복수의 테스트 프로그램 데이터를 제공하는 BIST 제어부; 제 1 루프의 테스트 동작을 위해 테스트 시퀀스에 관한 정보를 갖는 테스트 프로그램 데이터를 저장하는 제 1 저장부와, 다음 루프의 테스트 동작을 위해 상기 테스트 시퀀스에서 변경되는 부분에 관한 정보를 갖는 테스트 프로그램 데이터를 저장하는 제 2 저장부를 포함하는 프로그래밍 블록; 및 상기 프로그래밍 블록에 저장된 상기 테스트 프로그램 데이터를 수신하여 복수의 테스트 신호를 생성하는 테스트 패턴 생성부를 포함한다.
본 발명에 의하면, 적은 프로그램 저장 공간에 테스트를 위한 다양한 프로그램 요소를 저장할 수 있으므로 빌트 인 셀프 테스트 장치의 효율을 증가시킬 수 있다.
도 1은 종래기술에 따른 반도체 장치의 구성을 개략적으로 보여주는 도면,
도 2는 본 발명의 실시예에 따른 빌트 인 셀프 테스트 장치의 구성을 개략적으로 보여주는 블록도,
도 3은 도 2의 프로그래밍 블록의 실시예의 구성을 개략적으로 보여주는 도면,
도 4는 프로그래밍 블록을 구성하는 제 1 내지 제 n 저장부에 저장되는 테스트 프로그램 데이터의 예시를 보여주는 도면,
도 5는 본 발명의 실시예에 따라 프로그래밍 블록의 프로그램 저장 공간을 감소시키는 방법을 보여주는 도면,
도 6은 본 발명의 다른 실시예에 따른 프로그래밍 블록의 프로그램 저장 공간을 감소시키는 방법을 보여주는 도면,
도 7은 본 발명의 또 다른 실시예에 따른 프로그램 블록의 프로그램 저장 공간을 감소시키는 방법을 보여주는 도면이다.
도 2는 본 발명의 실시예에 따른 빌트 인 셀프 테스트 장치(1)의 구성을 개략적으로 보여주는 블록도이다. 도 2에서, 상기 빌트 인 셀프 테스트 장치(1)는 BIST 제어부(100), 프로그래밍 블록(200) 및 테스트 패턴 생성부(300)를 포함한다. 상기 BIST 제어부(100)는 메모리의 테스트를 위한 모든 정보(TI)를 외부 컨트롤러(미도시)로부터 수신한다. 상기 BIST 제어부(100)는 메모리의 테스트를 위해 상기 외부 컨트롤러로부터 수신된 모든 정보(TI)로부터 테스트 프로그램 데이터(TPD)를 생성한다. 상기 BIST 제어부(100)는 상기 테스트 프로그램 데이터(TPD)를 프로그래밍 블록(200)으로 제공한다. 상기 테스트 프로그램 데이터(TPD)는 마이크로 코드의 형태를 갖는다.
상기 BIST 제어부(100)는 프로그래밍 블록(200)의 저장 공간(210)에 맞추어 상기 테스트 프로그램 데이터(TPD)를 제공한다. 상기 테스트 프로그램 데이터(TPD)는 상기 프로그램 저장 블록(200)의 저장 공간(210)의 설정 방식에 따라 변경될 수 있다. 또한, 상기 BIST 제어부(100)는 메모리 테스트를 위한 제어 데이터(DCD)를 상기 프로그래밍 블록(200)으로 제공한다. 또한, 상기 BIST 제어부(100)는 메모리의 테스트가 수행된 결과에 관한 신호(TRF)를 상기 프로그래밍 블록(200)으로부터 수신하여 상기 외부 컨트롤러로 출력(TR)할 수 있다.
상기 프로그래밍 블록(200)은 복수의 저장 공간(210)을 포함한다. 상기 프로그래밍 블록(200)은 상기 BIST 제어부(100)로부터 상기 테스트 프로그램 데이터(TPD)를 수신하여 상기 복수의 저장 공간(210)에 저장한다. 상기 프로그래밍 블록(200)은 메모리 테스트를 위해 복수의 테스트 시퀀스에 관한 정보를 갖고 있는 상기 테스트 프로그램 데이터(TPD)를 저장할 수 있다. 또한, 상기 프로그래밍 블록(200)은 테스트 시퀀스에 관한 테스트 프로그램 데이터(TPD)를 상기 테스트 패턴 생성부(300)로 제공하기 위하여 상기 복수의 저장 공간(210)에 저장된 상기 테스트 프로그램 데이터(TPD)를 선택하기 위한 상기 제어 데이터(DCD)를 저장한다. 또한, 상기 프로그래밍 블록(200)은 메모리 테스트가 수행된 후, 테스트 결과를 피드백 받아 저장하는 리페어 정보 데이터(TRFSIG)를 저장할 수 있다.
상기 테스트 패턴 생성부(300)는 상기 프로그래밍 블록(200)으로부터 상기 테스트 프로그램 데이터(TPD)를 수신한다. 상기 테스트 패턴 생성부(300)는 상기 테스트 프로그램 데이터(TPD)를 수신하여 다양한 테스트 신호(BISTSIG)를 생성할 수 있다. 상기 테스트 신호(BISTSIG)는 테스트 커맨드, 테스트 어드레스, 테스트 데이터 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 3은 도 2의 프로그래밍 블록의 실시예의 구성을 개략적으로 보여주는 도면이다. 도 3에서, 상기 프로그래밍 블록(200)은 복수의 저장부를 포함한다. 제 1 저장부(220-1)는 첫 번째 루프의 테스트 시퀀스에 관한 모든 테스트 프로그램 데이터를 저장한다. 상기 테스트 시퀀스는 1회의 테스트 루프를 통해 메모리에 대해 수행되는 일련의 테스트 동작들을 의미한다. 상기 테스트 시퀀스에 대한 테스트 프로그램 데이터는 테스트 종류, 어드레스 및 데이터에 관한 모든 정보를 포함한다. 따라서, 상기 제 1 저장부(220-1)는 가장 큰 프로그램 저장 공간을 할당 받는다. 상기 테스트 프로그램 데이터는 상기 테스트 종류, 상기 어드레스 및 상기 데이터에 관한 정보를 갖는 복수의 프로그래밍 요소(Programmable Factor)들로 구성된다. 상기 프로그래밍 요소들은 각각 마이크로 코드의 형태를 갖고 있다.
상기 제 2 내지 제 n 저장부(220-2~220-n)는 두 번째 내지 k 번째 테스트 루프에서 메모리에 대해 수행되는 테스트에 관한 테스트 프로그램 데이터를 저장한다. 본 발명에 실시예에서, 상기 제 2 내지 제 n 저장부(220-2~220-n)는 제 1 저장부(220-1)보다 작은 프로그램 저장 공간을 할당 받는다. 상기 제 2 내지 제 n 저장부(220-2~220-n)는 각각 두 번째 내지 k 번째 루프의 테스트 시퀀스를 형성하기 위해, 해당하는 루프의 테스트 시퀀스에서 변경하고자 하는 사항에 관한 정보를 상기 테스트 프로그램 데이터로 저장한다. 즉, 상기 제 2 내지 제 n 저장부(220-2~220-n)는 두 번째 내지 k 번째 테스트 루프의 테스트 시퀀스를 형성하기 위해, 두 번째 내지 k 번째 루프의 테스트 시퀀스 중 변경되는 부분에 관한 정보만을 저장한다. 상기 제 2 저장부(220-2) 내지 제 n 저장부(220-n)는 상기 제 1 저장부(220-1)저장된 상기 테스트 프로그램 데이터의 프로그래밍 요소 중 변경되는 값을 갖는 프로그래밍 요소와 상기 프로그래밍 요소가 업데이트 되어야 하는 테스트 순서(즉, 해당하는 루프)의 정보를 갖는 프로그래밍 요소를 포함하는 테스트 프로그램 데이터를 저장한다. 상기 제 1 저장부(220-1)에 저장된 테스트 프로그램 데이터가 제 1 내지 제 n-1 프로그래밍 요소를 포함한다면, 상기 제 2 내지 제 n 저장부(220-2~220-n)는 각각 테스트 순서에 따라 변경되어야 하는 상기 제 1 내지 제 n-1 프로그래밍 요소를 저장한다. 상기 테스트 순서는 루프의 순서에 관한 정보를 갖는다. 따라서, 상기 제 2 저장부(220-2)는 두 번째 내지 k 번째 루프의 테스트 시퀀스에서 변경되어야 하는 상기 제 1 프로그래밍 요소에 관한 테스트 프로그램 데이터를 저장한다. 마찬가지로, 상기 제 n 저장부(220-n)는 상기 두 번째 내지 k 번째 루프의 테스트 시퀀스에서 변경되어야 하는 상기 제 n-1 프로그래밍 요소에 관한 테스트 프로그램 데이터를 저장한다.
첫 번째 루프의 테스트 시퀀스는 상기 제 1 저장부(220-1)에 저장된 상기 제 1 내지 제 n-1 프로그래밍 요소에 따라 형성된다. 두 번째 루프의 테스트 시퀀스는 상기 제 2 내지 제 n 저장부(220-2~220-n)에 저장된 테스트 프로그램 데이터에 기초하여 상기 제 1 내지 제 n-1 프로그래밍 요소를 업데이트 함으로써 형성된다. 마찬가지로, 세 번째 내지 k 번째 루프의 테스트 시퀀스 또한 상기 제 2 내지 제 n 저장부(220-2~220-n)에 저장된 테스트 프로그램 데이터에 기초하여 상기 제 1 내지 제 n-1 프로그래밍 요소를 업데이트 함으로써 형성될 수 있다.
또한, 상기 프로그래밍 블록(200)은 제어 데이터 저장부(230)를 포함한다. 상기 제어 데이터 저장부(230)는 상기 BIST 제어부(100)로부터 제공된 상기 제어 데이터(DCD)를 저장한다. 또는, 상기 BIST 제어부(100)로부터 제공된 상기 제어 데이터(DCD)를 디코딩하여 저장할 수 있다. 상기 제어 데이터(DCD)는 상기 제 1 내지 제 n 저장부(220-1~220-n)를 선택하기 위한 정보를 갖는다. 예를 들어, 상기 제어 데이터(DCD)는 첫 번째 루프의 테스트 시퀀스를 형성하기 위해 제 1 저장부(220-1)에 저장된 테스트 프로그램 데이터가 출력되도록 상기 제 1 저장부(220-1)를 선택하는 정보를 가질 수 있고, 두 번째 내지 k 번째 루프의 테스트 시퀀스를 형성하기 위해 상기 제 2 내지 제 n 저장부(220-2~220-n)에 저장된 테스트 프로그램 데이터 중 각각의 테스트 순서에 해당하는 테스트 프로그램 데이터가 출력되도록 상기 제 2 내지 제 n 저장부(220-2~220-n)를 선택하는 정보를 가질 수 있다.
또한, 상기 프로그래밍 블록(200)은 리페어 정보 저장부(240)를 포함한다. 상기 리페어 정보 저장부(240)는 테스트 시퀀스에 따라 메모리의 테스트가 진행된 후, 테스트 결과로 피드백 되는 리페어 정보(TRFSIG)를 저장하는 공간이다. 상기 리페어 정보(TRFSIG)는 상기 리페어 정보 저장부(240)에 저장되고, 상기 BIST 제어부(100)로 전송될 수 있으며, 상기 BIST 제어부(100)에 의해 외부 컨트롤러로 출력될 수 있다.
도 4는 프로그래밍 블록(200)을 구성하는 제 1 내지 제 n 저장부(220-1~220-n)에 저장되는 테스트 프로그램 데이터의 예시를 보여주는 도면이다. 먼저, 제 1 저장부(220-1)에는 첫 번째 루프의 테스트 시퀀스에 대한 모든 테스트 프로그램 데이터가 저장된다. 상기 제 1 저장부(220-1)에 저장되는 테스트 프로그램 데이터는 제 1 내지 제 n-1 프로그래밍 요소를 포함하고, 상기 제 1 내지 제 n-1 프로그래밍 요소는 테스트 종류에 관한 정보, 어드레스에 관한 정보 및 데이터에 관한 정보를 포함한다.
첫 번째 루프의 테스트 동작을 위해, 상기 프로그래밍 블록(200)은 상기 제어 데이터(DCD)에 따라 상기 제 1 저장부(220-1)에 저장되는 테스트 프로그램 데이터를 상기 테스트 패턴 생성부(300)로 제공한다. 상기 테스트 패턴 생성부(300)는 상기 테스트 프로그램 데이터에 따라 테스트 신호(BISTSIG)를 생성하고, 첫 번째 루프의 테스트 동작이 수행된다.
두 번째 루프의 테스트 동작을 위해 상기 프로그래밍 블록(200)은 상기 제어 데이터(DCD)에 따라 제 2 내지 제 n 저장부(220-2~220-n)에 저장된 테스트 프로그램 데이터 중 2 번째 루프의 테스트 순서에서 변경이 필요한 제 1 내지 제 n-1 프로그래밍 요소를 상기 테스트 패턴 생성부(300)로 제공한다. 상기 제 2 내지 제 n 저장부(220-2~220-n)에 저장되는 테스트 프로그램 데이터는 변경되어야 하는 테스트 종류, 어드레스 및 데이터에 관한 정보를 갖는다. 세 번째 내지 k 번째 루프의 테스트 동작을 위해 상기 프로그래밍 블록은 상기 제어 데이터에 따라 제 2 내지 제 n 저장부에 저장된 테스트 프로그램 데이터 중 각각 세 번째 내지 k 번째 루프의 테스트 순서에서 변경이 필요한 제 1 내지 제 n-1 프로그래밍 요소를 상기 테스트 패턴 생성부(300)로 제공한다.
도 4에 도시된 바와 같이, 상기 제 2 저장부(220-2)에 저장된 테스트 프로그램 데이터는 몇 번째 테스트 루프인가에 대한 정보, 즉, 테스트 순서에 대한 정보와 변경되어야 하는 제 1 프로그래밍 요소에 관한 정보를 포함한다. 즉, 상기 제 2 저장부(220-2)는 001로 지정되는 테스트 순서에서 0001의 데이터를 상기 제 1 프로그래밍 요소로 제공하고, 010으로 지정되는 테스트 순서에서 0000의 데이터를 상기 제 1 프로그래밍 요소로 제공하며, 011로 지정되는 테스트 순서에서 1011의 데이터를 상기 제 1 프로그래밍 요소로 제공한다.
상기 제 3 저장부(220-3)에 저장된 테스트 프로그램 데이터는 또한 몇 번째 테스트 루프인가에 대한 정보와 변경되어야 하는 제 2 프로그래밍 요소에 관한 정보를 포함한다. 즉, 상기 제 3 저장부(220-3)는 001로 지정되는 테스트 루프에서 01의 데이터를 상기 제 2 프로그래밍 요소로 제공하고, 011로 지정되는 테스트 루프에서 11의 데이터를 상기 제 2 프로그래밍 요소로 제공한다.
마찬가지로, 제 n 저장부(220-n)에 저장된 테스트 프로그램 데이터는 몇 번째 테스트 루프인가에 대한 정보와 변경되어야 하는 제 n-1 프로그래밍 요소에 관한 정보를 포함한다. 즉, 상기 제 n 저장부(220-n)는 001로 지정되는 테스트 루프에서 011의 데이터를 상기 제 n-1 프로그래밍 요소로 제공하고, 011로 지정되는 테스트 루프에서 111의 데이터를 상기 제 n-1 프로그래밍 요소로 제공한다. 또한, 상기 제 n 저장부는 100으로 지정되는 테스트 루프에서 011의 데이터를 상기 제 n-1 프로그래밍 요소로 제공하고, 110으로 지정되는 테스트 루프에서 111의 데이터를 상기 제 n-1 프로그래밍 요소로 제공한다.
상기 테스트 패턴 생성부(300)는 각각의 테스트 루프에서 상기 제 2 내지 제 n 저장부(220-2~220-n)에 저장된 테스트 프로그램 데이터를 수신하고, 이미 저장된 첫 번째 루프의 테스트 시퀀스에 대한 정보를 갖는 테스트 프로그램 데이터의 각각의 프로그래밍 요소를 제 2 내지 제 n 저장부(220-2~220-n)로부터 새롭게 입력된 테스트 프로그램 데이터의 프로그래밍 요소로 업데이트 시킨다. 상기 테스트 패턴 생성부(300)는 상기 업데이트가 완료되면 이를 저장하고, 두 번째 루프의 테스트 동작을 수행한다.
k 번째 루프의 테스트 동작을 수행하기 위해 상기 테스트 패턴 생성부(300)는 제 2 내지 제 n 저장부(220-2~220-n)에 저장된 테스트 프로그램 데이터를 수신하고, 해당 테스트 순서의 프로그래밍 요소를 상기 제 2 내지 제 n 저장부(220-2~220-n)로부터 새롭게 입력된 테스트 프로그램 데이터의 프로그래밍 요소로 업데이트 시킨 후 k 번째 루프의 테스트 동작을 수행한다.
위와 같이, 첫 번째 내지 k 번째 루프의 테스트를 수행하는데 있어 테스트 시퀀스에 관한 모든 테스트 프로그램 데이터를 각각의 저장부에 모두 저장하지 않고, 기준이 되는 테스트 프로그램 데이터(즉, 첫 번째 루프의 테스트 시퀀스를 위한 테스트 프로그램 데이터)를 제 1 저장부(220-1)에 저장하고, 제 2 내지 제 n 저장 부(220-2~220-n)에는 상기 기준이 되는 테스트 프로그램 데이터 중에서 업데이트 및/또는 변경이 필요한 부분에 관한 정보를 갖는 테스트 프로그램 데이터 만을 저장함으로써, 메모리 테스트를 위해 테스트 프로그램 데이터를 저장해야 하는 프로그램 저장 공간을 대폭 감소시킬 수 있다.
도 5는 본 발명의 실시예에 따라 프로그래밍 블록(200)의 프로그램 저장 공간을 감소시키는 방법을 보여주는 도면이다. 도 5에 도시된 방법은 특히, 테스트 동작 및/또는 테스트 종류를 위한 테스트 프로그램 데이터의 프로그램 저장 공간을 감소시킬 수 있는 방법으로 활용될 수 있다. 예를 들어, 메모리에 백그라운드 데이터를 저장하기 위한 라이트(W) 동작을 수행하고, 데이터가 저장된 메모리 셀에 대해 리드(R)-라이트(W)-리드(R) 동작이 연속적으로 수행되는 테스트를 가정하자. 이 때, 종래에는 라이트 동작(W)을 위한 테스트 프로그램 데이터를 1로 지정하고, 리드 동작(R)을 위한 테스트 프로그램 데이터을 0으로 지정한다. 따라서, 라이트-리드-라이트-리드(WRWR)의 일련의 테스트 동작을 수행하기 위해서는 1010의 값을 갖는 4 비트의 테스트 프로그램 데이터를 저장하기 위한 프로그램 저장 공간이 요구된다.
본 발명의 실시예에서는, 필수적으로 연속되는 테스트 동작을 1개 비트의 테스트 프로그램 데이터로 묶는다. 즉, 첫 번째 라이트(W) 동작을 위한 테스트 프로그램 데이터를 1로 지정하고, 연속되는 리드-라이트-리드(RWR) 동작을 위한 테스트 프로그램 데이터를 0으로 지정한다. 따라서, 라이트-리드-라이트-리드(WRWR)의 일련의 테스트 동작을 수행하기 위해서 10의 값을 갖는 2 비트의 테스트 프로그램 데이터를 저장하기 위한 프로그램 저장 공간이 요구된다.
본 발명의 실시예에 따르면, 동일한 테스트 동작을 수행하기 위한 테스트 프로그램 데이터의 비트가 감소하고, 이에 따라 상기 테스트 프로그램 데이터가 저장되는 프로그램 저장 공간을 감소시킬 수 있다.
도 6은 본 발명의 다른 실시예에 따른 프로그래밍 블록(200)의 데이터 저장 공간을 감소시키는 방법을 보여주는 도면이다. 도 6에 도시된 방법은 특히, 테스트 어드레스 및/또는 데이터를 위한 테스트 프로그램 데이터의 프로그램 저장 공간을 감소시킬 수 있는 방법으로 활용될 수 있다. 도 6에서, 첫 번째 루프에서 0000000000001의 값을 갖는 테스트 프로그램 데이터에 기초하여 테스트가 수행되고, 두 번째 루프에서 상기 테스트 프로그램 데이터가 0000000000010의 값으로 변경되어 테스트가 수행되며, 세 번째 루프에서 상기 테스트 프로그램 데이터가 0000000000011의 값으로 또 다시 변경되어 테스트가 수행되는 경우를 가정하자.
종래에는, 상기 3개의 테스트 루프를 수행하기 위해 13 비트 * 3, 총 39 비트의 테스트 프로그램 데이터의 프로그램 저장 공간이 요구되었다. 그러나, 본 발명의 실시예는 상기 테스트 프로그램 데이터의 기능을 효율적으로 분류하여 상기 3개의 테스트 루프를 수행하기 위한 테스트 프로그램 데이터의 개수 및 저장 공간을 감소시킬 수 있다.
도 6에 도시된 바와 같이, 먼저, 논리 값이 변경되어야 하는 비트의 위치를 거칠게 분류하기 위한 업데이트 영역 정보 데이터를 3 비트로 할당하고, 상기 분류된 영역 내에서 실제로 논리 값이 변경되어야 하는 비트의 위치를 지정하기 위한 업데이트 비트 정보 데이터를 2 비트로 할당한다. 즉, 상기 3 비트의 업데이트 영역 정보 데이터는 논리 값이 변경되어야 하는 부분이, 어디에 위치하는지를 지정할 수 있다. 예를 들어, 13 비트의 데이터 중 왼쪽으로부터 제 1 내지 제 4 번째에 해당하는 비트의 논리 값이 변경되어야 하는 경우에는 상기 업데이트 영역 정보 데이터의 첫 번째 비트의 논리 값을 변경시키고, 상기 13 비트의 데이터 중 제 5 내지 제 8 번째 비트의 논리 값이 변경되어야 하는 경우에는 상기 업데이트 영역 정보 데이터의 두 번째 비트의 논리 값을 변경시키며, 상기 13 비트의 데이터 중 제 9 내지 제 13 번째 비트의 논리 값이 변경되어야 하는 경우에는 상기 업데이트 영역 정보 데이터의 세 번째 비트의 논리 값을 변경시킨다.
또한, 상기 업데이트 비트 정보 데이터에 따라 상기 세 개로 분류된 영역에 위치하는 비트들 중 실제로 논리 값이 변경되어야 하는 비트를 정확하게 지정할 수 있다. 예를 들어, 상기 업데이트 비트 정보 데이터 중 1개의 비트는 논리 값이 변경되어야 하는 비트가 상기 분류된 영역 중 몇 번째 위치하는 비트인지 여부를 지정할 수 있고, 또한 상기 업데이트 비트 정보 데이터의 다른 1개의 비트는 상기 지정된 비트의 위치를 증가 또는 감소시키는 정보로 활용될 수 있다.
또한, 본 발명의 실시예는 천이 값 설정 데이터로 2 비트를 할당하고, 테스트 루프 회수 정보로 2 비트를 할당할 수 있다. 상기 천이 값 설정 데이터는 상기 업데이트 영역 정보 데이터 및 업데이트 비트 정보 데이터에 의해 지정된 비트가 어떠한 논리 값으로 변경되어야 하는지에 관한 정보를 갖는다. 상기 테스트 루프 회수 정보는 상기 변경된 논리 값이 몇 회의 테스트 루프 동안 유지되어야 하는지에 대한 정보를 갖는다.
예를 들어, 상기 업데이트 영역 정보 데이터가 100의 논리 값을 갖고, 상기 업데이트 비트 정보 데이터가 01의 논리 값을 가지며, 상기 천이 값 설정 데이터는 10의 논리 값을 갖고, 루프 회수 정보가 01의 논리 값을 갖는다고 가정하자. 상기 13 비트의 테스트 프로그램 데이터의 초기 값이 0000000000000으로 설정되어있다면, 상기 업데이트 영역 정보 데이터에 의해 상기 13 비트의 테스트 프로그램 데이터 중 제 1 내지 제 4 번째 비트 중 4 번째 비트가 선택될 수 있다. 또한, 상기 업데이트 비트 정보 데이터에 의해 상기 4 번째 비트에서 1 자리가 증가한 3번째 비트가 선택될 수 있다. 상기 제 3 및 제 4 번째 비트는 상기 천이 값 설정 데이터에 따라 10의 논리 값으로 변경된다. 따라서, 상기 13 비트의 테스트 프로그램 데이터는 0010000000000으로 변경될 수 있다. 변경된 상기 테스트 프로그램 데이터는 테스트 루프가 2회 반복되는 동안 그 논리 값을 그대로 유지할 수 있다.
이와 같이, 테스트 프로그램 데이터를 기능에 따라 효율적으로 분류함으로써, 동일한 테스트 동작을 수행하기 위한 테스트 프로그램 데이터의 개수 및 프로그램 저장 공간을 감소시킬 수 있다. 도 6에서, 본 발명의 실시예는 13 비트* 3, 총 39 비트의 테스트 프로그램 데이터를 9개의 비트로 구현하는 방식을 예시하였으나, 이에 한정하는 것은 아니다. 본 발명의 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 사상을 벗어나지 않고 상기 테스트 프로그램 데이터의 활용 방식을 변경 및/또는 수정 가능함을 알 것이다.
도 7은 본 발명의 또 다른 실시예에 따른 프로그래밍 블록(200)의 프로그램 저장 공간을 감소시키는 방법을 보여주는 도면이다. 상기 프로그래밍 블록의 제 1 저장부는 모든 테스트 시퀀스에 관한 테스트 프로그램 데이터를 저장하고, 상기 테스트 프로그램 데이터는 복수의 프로그래밍 요소를 포함함을 앞서 설명하였다. 상기 복수의 프로그래밍 요소 각각에 대해 프로그램 저장 공간을 동일하게 지정하는 것은 불필요하게 저장 공간을 증가시킨다. 따라서, 본 발명의 실시예는 프로그래밍 요소의 사용 횟수를 예측하여 가변적으로 프로그램 저장 공간을 할당한다.
예를 들어, 제 1 내지 제 3 프로그래밍 요소를 저장하기 위해 종래에는 15개의 저장 공간을 할당하였다. 그러나, 본 발명의 실시예에서는, 상기 제 1 내지 제 3 프로그래밍 요소의 사용 횟수를 예측하여 적절한 프로그램 저장 공간을 할당한다. 상기 제 1 프로그래밍 요소가 5번 사용될 것으로 예측되고, 제 2 프로그래밍 요소가 3번 사용될 것으로 예측되며, 상기 제 3 프로그래밍 요소가 2번 사용될 것으로 예측된다면, 상기 제 1 프로그래밍 요소를 위해 5개의 프로그램 저장 공간을 할당하고, 상기 제 2 프로그래밍 요소를 위해 3개의 프로그램 저장 공간을 할당하며, 상기 제 3 프로그래밍 요소를 위해 2개의 프로그램 저장 공간을 할당한다. 따라서, 상기 제 1 내지 제 3 프로그래밍 요소를 저장하기 위한 프로그램 저장 공간의 수는 총 10개가 되고, 종래보다 감소된 데이터 저장 공간을 필요로 한다.
이상에서 설명된 본 발명의 실시예는 각각의 하나가 독립적으로 활용될 수도 있고, 두 개 이상의 실시예가 서로 결합되어 활용될 수 있을 것이다. 또한, 각각의 실시예는 본 발명의 사상을 벗어나지 않는 범위 내에서 변경 및 수정될 수 있을 것이다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1/11: 빌트 인 셀프 테스트 장치 10: 반도체 장치
12: 메모리 100: BIST 제어부
200: 프로그래밍 블록 300: 테스트 패턴 생성부
210: 복수의 저장 공간 220-1: 제 1 저장부
220-2: 제 2 저장부 220-3: 제 3 저장부
220-n: 제 n 저장부 230: 제어 데이터 저장부
240: 리페어 정보 저장부

Claims (12)

  1. 메모리 테스트를 위한 복수의 테스트 프로그램 데이터를 제공하는 BIST 제어부;
    제 1 루프의 테스트 동작을 위해 테스트 시퀀스에 관한 정보를 갖는 테스트 프로그램 데이터를 저장하는 제 1 저장부와, 다음 루프의 테스트 동작을 위해 상기 테스트 시퀀스에서 변경되는 부분에 관한 정보를 갖는 테스트 프로그램 데이터를 저장하는 제 2 저장부를 포함하는 프로그래밍 블록; 및
    상기 프로그래밍 블록에 저장된 상기 테스트 프로그램 데이터를 수신하여 복수의 테스트 신호를 생성하는 테스트 패턴 생성부를 포함하는 빌트 인 셀프 테스트 장치.
  2. 제 1 항에 있어서,
    상기 제 1 저장부에 저장되는 상기 테스트 시퀀스에 관한 테스트 프로그램 데이터는 테스트 종류, 어드레스 및 데이터에 관한 프로그래밍 요소를 포함하는 빌트 인 셀프 테스트 장치.
  3. 제 2 항에 있어서,
    상기 제 2 저장부에 저장되는 테스트 프로그램 데이터는 상기 테스트 순서에 대한 프로그래밍 요소와 변경되는 테스트 종류, 어드레스 및 데이터에 관한 프로그래밍 요소를 포함하는 빌트 인 셀프 테스트 장치.
  4. 제 1 항에 있어서,
    상기 프로그래밍 블록은 복수의 프로그래밍 저장 공간을 더 포함하고,
    연속으로 수행되는 n개(2보다 큰 정수)의 테스트 동작과 관련된 n개의 프로그래밍 요소를 m(1 보다 크고 n 보다 작은 정수)개의 프로그래밍 요소로 그룹화하여 상기 저장 공간에 저장하는 빌트 인 셀프 테스트 장치.
  5. 제 1 항에 있어서,
    상기 테스트 프로그램 데이터는 복수의 프로그래밍 요소를 포함하고, 상기 프로그래밍 저장 블록은 복수의 저장 공간을 더 포함하며,
    상기 프로그래밍 요소의 사용 빈도에 따라 상기 프로그래밍 요소가 저장되는 저장 공간을 할당하되, 상기 프로그래밍 요소의 사용 빈도가 많을 수록 많은 저장 공간을 할당하는 빌트 인 셀프 테스트 장치.
  6. 제 1 항에 있어서,
    상기 제 1 및 제 2 저장부에 저장되는 테스트 프로그램 데이터는 복수 비트로 구성되고,
    상기 제 2 저장부에 저장되는 상기 테스트 프로그램 데이터는 상기 제 1 저장부에 저장되는 상기 테스트 프로그램 데이터 중 논리 값이 변경되어야 하는 비트의 위치에 대한 정보, 상기 변경되어야 하는 논리 값에 대한 정보 및 상기 논리 값을 유지하여야 하는 회수에 관한 정보 중 하나 이상을 포함하는 빌트 인 셀프 테스트 장치.
  7. 제 1 항에 있어서,
    상기 BIST 제어부는 외부로부터 메모리 테스트를 위한 정보를 수신하여, 상기 테스트 프로그램 데이터를 생성하는 인터페이스 회로인 빌트 인 셀프 테스트 장치.
  8. 제 1 항에 있어서,
    상기 프로그래밍 블록은 상기 테스트 시퀀스에 따라 테스트가 수행된 후, 테스트 결과로서 피드백 되는 리페어 정보를 저장하는 리페어 정보 저장부를 더 포함하는 빌트 인 셀프 테스트 장치.
  9. 제 8 항에 있어서,
    상기 BIST 제어부는 상기 프로그래밍 블록으로부터 상기 리페어 정보를 수신하여 외부로 출력하는 빌트 인 셀프 테스트 장치.
  10. 제 1 항에 있어서,
    상기 프로그래밍 블록은 상기 BIST 제어부로부터 제어 데이터를 더 수신하고, 상기 프로그래밍 블록은 상기 제어 데이터에 기초하여 상기 제 1 및 제 2 저장부에 저장된 테스트 프로그램 데이터 중 하나를 상기 테스트 패턴 생성부로 제공하는 빌트 인 셀프 테스트 장치.
  11. 제 10 항에 있어서,
    상기 테스트 패턴 생성부는 상기 제 1 루프의 테스트 동작을 위해 상기 제 1 저장부에 저장된 테스트 프로그램 데이터를 수신하여 저장하고, 저장된 테스트 프로그램 데이터에 따라 상기 테스트 신호를 생성하는 빌트 인 셀프 테스트 장치.
  12. 제 11 항에 있어서,
    상기 테스트 패턴 생성부는 상기 제 2 루프의 테스트 동작을 위해 상기 제 2 저장부에 저장된 테스트 프로그램 데이터를 수신하고, 상기 저장된 테스트 프로그램 데이터를 상기 제 2 저장 공간에 저장된 테스트 프로그램 데이터에 기초하여 업데이트하는 빌트 인 셀프 테스트 장치.
KR1020120069388A 2012-06-27 2012-06-27 반도체 장치의 빌트 인 셀프 테스트 장치 KR20140001542A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120069388A KR20140001542A (ko) 2012-06-27 2012-06-27 반도체 장치의 빌트 인 셀프 테스트 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120069388A KR20140001542A (ko) 2012-06-27 2012-06-27 반도체 장치의 빌트 인 셀프 테스트 장치

Publications (1)

Publication Number Publication Date
KR20140001542A true KR20140001542A (ko) 2014-01-07

Family

ID=50139048

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120069388A KR20140001542A (ko) 2012-06-27 2012-06-27 반도체 장치의 빌트 인 셀프 테스트 장치

Country Status (1)

Country Link
KR (1) KR20140001542A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170033550A (ko) * 2015-09-17 2017-03-27 에스케이하이닉스 주식회사 반도체 메모리 및 이를 이용한 메모리 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170033550A (ko) * 2015-09-17 2017-03-27 에스케이하이닉스 주식회사 반도체 메모리 및 이를 이용한 메모리 시스템
KR20220058872A (ko) * 2015-09-17 2022-05-10 에스케이하이닉스 주식회사 반도체 메모리 및 이를 이용한 메모리 시스템

Similar Documents

Publication Publication Date Title
KR101025407B1 (ko) 테스트 데이터 처리 디바이스 및 방법, 테스트 장치 및 컴퓨터 판독가능 매체
CN105745623B (zh) 集成电路缺陷检测和修复
US7366965B2 (en) Semiconductor integrated circuit
US7401281B2 (en) Remote BIST high speed test and redundancy calculation
WO2008001543A1 (fr) Appareil de test de semi-conducteur et procédé de test de mémoire semi-conductrice
US9564245B2 (en) Integrated circuit defect detection and repair
CN104916325A (zh) 锁存电路和包括锁存电路的半导体器件
US9293226B2 (en) Memory test device and operating method thereof
US10777293B2 (en) Semiconductor device, memory test method for semiconductor device, and test pattern generation program
JP4129187B2 (ja) 半導体メモリ試験装置及び不良解析用アドレス発生方法
US10535418B2 (en) Memory device including repair circuit and operation method thereof
KR20140001542A (ko) 반도체 장치의 빌트 인 셀프 테스트 장치
US7971116B2 (en) Semiconductor storage device and test method therefor
US20140136909A1 (en) Testing of srams
US20140133247A1 (en) Semiconductor memory device and method for testing the same
JP2014164784A (ja) 半導体集積回路装置
US8254204B2 (en) Burst address generator and test apparatus including the same
US9519020B2 (en) Semiconductor apparatus and chip selecting method thereof
CN110261754A (zh) 半导体装置以及包括该半导体装置的测试系统
US8830749B2 (en) Semiconductor memory device and method for controlling the same
US9159457B2 (en) Non-volatile memory device for storing write data having different logic levels
CN106710632A (zh) 存储器装置
CN105321575A (zh) 半导体器件
US10026690B1 (en) Fuse blowing method and fuse blowing system
KR100496773B1 (ko) 낸드형 플래시 메모리의 테스트 장치 및 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination