KR100653296B1 - 메모리를 구비한 반도체 장치 및 메모리 테스트 방법 - Google Patents

메모리를 구비한 반도체 장치 및 메모리 테스트 방법 Download PDF

Info

Publication number
KR100653296B1
KR100653296B1 KR1020050011638A KR20050011638A KR100653296B1 KR 100653296 B1 KR100653296 B1 KR 100653296B1 KR 1020050011638 A KR1020050011638 A KR 1020050011638A KR 20050011638 A KR20050011638 A KR 20050011638A KR 100653296 B1 KR100653296 B1 KR 100653296B1
Authority
KR
South Korea
Prior art keywords
memory
code
test
test pattern
data
Prior art date
Application number
KR1020050011638A
Other languages
English (en)
Other versions
KR20060041870A (ko
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 KR20060041870A publication Critical patent/KR20060041870A/ko
Application granted granted Critical
Publication of KR100653296B1 publication Critical patent/KR100653296B1/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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/10Road Vehicles
    • B60Y2200/15Fork lift trucks, Industrial trucks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/40Special vehicles
    • B60Y2200/41Construction vehicles, e.g. graders, excavators
    • B60Y2200/411Bulldozers, Graders
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/40Special vehicles
    • B60Y2200/41Construction vehicles, e.g. graders, excavators
    • B60Y2200/412Excavators

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

데이터를 저장하는 데이터용 메모리 및 상기 데이터에 대응하는 ECC 코드를 저장하는 코드용 메모리를 갖는 반도체 장치가 개시되어 있다. 이 반도체 장치는 상기 데이터용 메모리의 테스트를 실행하기 위한 테스트 패턴을 상기 데이터로서 상기 데이터용 메모리에 출력하고, 또한 이 테스트 패턴으로부터 오류 검지 기능을 갖는 코드 정보를 생성하여, 상기 ECC 코드로서 상기 코드용 메모리에 출력하는 ECC 회로를 포함한다.
ECC 회로, 반도체 장치, 메모리 테스트, ECC 코드, 에러 검지

Description

메모리를 구비한 반도체 장치 및 메모리 테스트 방법{SEMICONDUCTOR DEVICE WITH MEMORY AND METHOD FOR MEMORY TEST}
도 1은 본 발명의 실시 형태에 관한 반도체 장치의 요부를 도시한 블럭도.
도 2a 내지 도 2c는 본 실시 형태에 관한 테스트 패턴의 구체예를 나타내는 도면.
도 3은 본 실시 형태에 관한 ECC 회로의 스킴을 설명하기 위한 도면.
도 4는 본 실시 형태에 관한 해밍 행렬의 구체예를 나타내는 도면.
도 5는 본 실시 형태에 관한 메모리 테스트에 사용하는 테스트 패턴의 구체예를 나타내는 도면.
도 6은 본 실시 형태에 관한 메모리 테스트의 순서의 일례를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 반도체 장치
10 : 데이터 메모리
11 : 코드 메모리
12 : ECC 회로
13 : 인터페이스
14 : 테스트 회로
본 발명은 일반적으로는 반도체 장치에 관한 것으로, 특히 메모리를 포함하는 반도체 장치, 및 이 메모리를 테스트하는 메모리 테스트 방법에 관한 것이다.
일반적으로, 반도체 기억 장치에는 에러 정정 회로(ECC 회로; Error Checking and Correcting circuit)를 내장하는 ECC 회로 내장형 반도체 장치가 있다. 이 ECC 회로 내장형의 반도체 기억 장치에서는 데이터를 기억하기 위한 데이터용 메모리 및 ECC 코드를 기억하기 위한 코드용 메모리의 양쪽 모두가 탑재되어 있다(예를 들면, 미국 특허 제6,295,617호를 참조).
이러한 반도체 기억 장치에 있어서, 내장되어 있는 테스트 회로 및 ECC 회로를 이용하여 메모리의 테스트를 행하는 메모리 테스트 방법이 있다(예를 들면, 일본 특허공개 2001-351389호 공보를 참조).
이 선행 기술 문헌에 기재되어 있는 메모리 테스트 방법은, 메모리의 판독 속도의 테스트시에, 1비트 반전 회로에 의해, 기입 데이터 및 ECC 코드 중에서 소정의 1비트를 반전시켜 에러 비트를 포함하는 데이터를 메모리 셀에 기입한다. 그리고, 판독시에 있어서 ECC 회로에 의해, 데이터의 에러 검지 및 정정을 행하도록 테스트 조건을 설정하는 방법이다.
종래의 메모리 테스트 방법에서는, 데이터용 메모리와 코드용 메모리 각각에 대해, 테스트를 실행할 필요가 있다. 이 때문에, 동일한 용량의 데이터용 메모리 만의 단체(單體) 메모리의 테스트에 비해, 테스트 처리에 요하는 시간이 길어진다. 또한, 데이터용 메모리와 코드용 메모리의 각각에 대응하는 테스트 회로가 필요하게 된다. 따라서, 테스트 코스트의 증대화를 초래하는 요인으로 되어 있다.
본 발명의 실시 형태에 따른 반도체 장치는 데이터를 저장하는 데이터용 메모리; 상기 데이터에 대응하는 에러 검지 및 정정용 코드를 저장하는 코드용 메모리; 상기 데이터용 메모리의 테스트를 실행하기 위한 테스트 패턴을 상기 데이터로서 상기 데이터용 메모리에 출력하고, 또한 이 테스트 패턴으로부터 에러 검지 기능을 갖는 코드 정보를 생성하며, 상기 에러 검지 및 정정용 코드로서 상기 코드용 메모리에 출력하는 에러 검지 및 정정 유닛(ECC unit)을 구비하는 것을 특징으로 한다.
이하, 도면을 참조하여 실시 형태를 설명한다.
(반도체 장치의 구성)
도 1은 본 실시 형태에 관한 반도체 장치의 요부를 도시한 블록도이다.
본 실시 형태의 반도체 장치(1)는 데이터를 저장하는 데이터용 메모리(10)와, 에러 검지 및 정정 코드(ECC 코드)인 코드 데이터(용장 코드)를 저장하는 코드용 메모리(11)를 갖는다.
이 데이터용 메모리(10) 및 코드용 메모리(11)로서는 예를 들면 DRAM, SRAM, 플래시 메모리, FeRAM, MRAM 등을 들 수 있다. 또한, 반도체 장치(1)는 반도체 기 억 장치 이외에 마이크로프로세서 등의 LSI칩이라도 된다.
또한, 반도체 장치(1)는 에러 검지 및 정정 회로(ECC 회로)(12)와 인터페이스(I/F)(13)와 테스트 회로(14)를 내장하고 있다.
ECC 회로(12)는 후술하는 바와 같이, 에러 검지 기능을 갖는 해밍 행렬(또는 해밍 코드; Hamming code)을 사용하여 코드용 메모리(11)에 저장하는 코드 데이터(코드 정보, 이하 ECC 코드로 표기하는 경우도 있음)를 생성하는 로직을 갖는다.
또한, ECC 회로(12)는 데이터용 메모리(10) 또는 코드용 메모리(11)로부터 판독한 데이터(테스트 패턴 또는 ECC 코드)로부터 에러 비트를 검지하는 로직을 포함한다.
테스트 회로(14)는 데이터용 메모리(10)의 메모리 테스트를 행하기 위한 테스트 패턴을 생성하는 로직을 포함하고, 인터페이스(13)를 통해 ECC 회로(12)와의 사이에서 데이터의 입출력을 실행한다. 테스트 회로(14)는 데이터용 메모리(1O)에 기입된 테스트 패턴을 판독하여, 메모리 테스트를 실행하는 BIST(Built-In Self Test) 로직 회로이다.
즉, 테스트 회로(14)는 ECC 회로(12) 및 인터페이스(13)를 통해, 테스트 패턴을 데이터용 메모리(10)에 기입하고, 이 테스트 패턴으로부터 생성된 코드 데이터를 코드용 메모리(11)에 기입한다. 그리고, 테스트 회로(14)는 데이터용 메모리(10)에 기입된 테스트 패턴을 판독하고, 코드용 메모리(11)에 기입된 코드 데이터를 판독한다. 이에 따라, 테스트 회로(14)는 기대치로서의 기입 데이터와 메모리 출력으로서의 판독 데이터를 비교하여, 메모리 셀의 불량 비트를 검출한다.
(메모리 테스트 방법)
본 실시 형태의 반도체 장치(1)는 BIST 논리 회로인 테스트 회로(14)에 의해 데이터용 메모리(10)의 메모리 테스트를 실행할 때, 코드용 메모리(11)의 메모리 테스트를 동시에 실행한다.
이를 실현하기 위해, ECC 회로(12)는 테스트 회로(14)에 의해 생성된 테스트 패턴을 데이터용 메모리(10)에 기입할 때에, 이 테스트 패턴에 대응하는 코드 데이터를 생성한다. ECC 회로(12)는 적절한 해밍 행렬 H(해밍 코드)를 사용하여, 코드 데이터(ECC 코드)를 생성하는 생성 로직에 의해, 테스트 패턴으로부터 에러 검지 기능을 갖는 코드 데이터를 생성하여, 코드용 메모리(11)에 출력한다(도 2b, 2c를 참조).
또, 이하에서는 편의상, 코드 데이터로서 해밍 행렬 H(해밍 코드)을 사용하여 생성된 코드 정보 S를 이용한 경우를 설명하지만, 이 코드 데이터는 해밍 코드 이외의 로직을 사용하여 생성된 것이라도 된다.
테스트 회로(14)는 데이터용 메모리(10)의 메모리 테스트를 실행할 때에, ECC 회로(12)는 코드용 메모리(11)로부터 판독한 코드 데이터(ECC 코드)로부터 에러 비트를 검지하여, 이 검지 결과를 테스트 회로(14)에 출력한다.
이상 요컨대, 데이터용 메모리(10)에 대해 테스트 패턴을 기입할 때에, ECC 회로(12)에 의해 이 테스트 패턴인 데이터에 대응하는 코드 데이터를 생성하여, 코드용 메모리(11)에 기입한다. 이에 따라, 테스트 회로(14)는 데이터용 메모리(10)의 테스트를 실행할 때에, ECC 회로(12)를 사용하여 코드용 메모리(11)에 대해 데 이터용 메모리(10)와 등가인 테스트를 실행하게 된다.
이하, 코드용 메모리(11)에 대한 테스트의 구체적 내용을 설명한다.
(1) 데이터를 저장하는 데이터용 메모리(10) 및 코드 데이터를 저장하는 코드용 메모리(11)에 있어서, 각 메모리(1O, 11)의 전체 어드레스에 백그라운드 데이터를 기입한다. 백그라운드 데이터로서는 예를 들면, 반복 데이터 (1010…), (0101…)나 동일 데이터 (1111…), (0000…) 등이 이용된다.
(2) 다음으로, 각 메모리(1O, 11)의 테스트 대상 어드레스(최초의 어드레스)를 특정하고, 그 테스트 대상 어드레스로부터 데이터를 판독한다. 그리고, 판독된 데이터와 백그라운드 데이터(기대치)를 비교하여, 각 메모리(10, 11)의 테스트 대상 어드레스의 테스트를 행한다.
(3) 계속해서, 데이터용 메모리(10)의 테스트 대상 어드레스 중, 적어도 일부의 데이터 비트에 대해 백그라운드 데이터를 반전시킨 데이터를 테스트 패턴으로서 데이터용 메모리(10)의 테스트 대상 어드레스에 기입한다. 이때, 코드용 메모리(11)의 테스트 대상 어드레스에는 이 테스트 패턴으로부터 ECC 회로(12)에 의해 생성된 코드 데이터가 기입된다.
다음으로, 각 메모리(1O, 11)의 테스트 대상 어드레스로부터 데이터를 판독하여 기입한 데이터와 비교함으로써, 각 메모리(10, 11)의 테스트 대상 어드레스의 테스트를 행한다. 그 후, 테스트 대상 어드레스를 바꾸면서, 상기 (2) 및 (3)의 동작을 반복하여 행한다.
상기 테스트 동작에 있어서는, 데이터용 메모리(10)를 테스트하기 위한 테스 트 패턴을 입력할 때에, 코드용 메모리(11)내의 전체 비트가 O→1→0(혹은 1→O→1)으로 천이한다. 이에 따라, 테스트용 회로(14)는 0/1의 기입(또는 판독) 테스트에 의한 고정 불량 체크와, 데이터 천이시에 발생하는 일부의 데이터 의존 불량 체크를 실행할 수 있다.
데이터용 메모리(10) 또는 코드용 메모리(11)의 에러 검지는 ECC 회로(12)에 의해 실행된다. 테스트 회로(14)는 ECC 회로(12)로부터 출력되는 에러 검지 결과에 근거하여, 테스트 패턴의 기입 직후에 발생하고 또한 재현성이 있는 에러 비트를 초기 불량으로서 판정한다.
여기에서, N비트 이상(N은 2 이상의 자연수)의 에러 검지 기능을 갖는 해밍 행렬을 이용하는 경우, 테스트 패턴 입력시에 데이터와 코드 데이터에 대해 임의의 N비트의 조합에서의 전체 패턴을 체크할 필요가 있다.
이하에, 해밍 행렬이 2비트 이상의 에러 검지 기능을 갖는 경우에 대해, 도 2a 내지 2c를 참조하면서 설명한다.
도 2a 내지 2c는 본 실시 형태에 따른 테스트 패턴의 구체예를 나타내는 도면이다. 또, 도 2c 내지 2c에서는 편의상, 데이터 비트가 8비트인 경우를 예로 들어 설명하고, 코드 비트에 대해서는 생략한다.
여기에서, 데이터 비트 중, 어드레스 5의 비트가 “1” 고정 불량이고, 어드레스 7의 비트가 “0” 고정 불량이라고 한다.
도 2b에 나타낸 바와 같이, 데이터 패턴이 (1010…)인 경우, 어드레스 5의 “1” 고정 불량에 대해서는 검출할 수 있지만, 어드레스 7의 “0” 고정 불량에 대해서는 검출할 수 없다.
또한, 도 2c에 나타낸 바와 같이, 데이터 패턴이 (0101…)인 경우, 어드레스 7의 “0” 고정 불량에 대해서는 검출할 수 있지만, 어드레스 5의 “1” 고정 불량에 대해서는 검출할 수 없다. 한편, 테스트 패턴에 있어서, 어드레스 5를 “0”으로 하고 어드레스 7을 “1”로 하면, 어드레스 5와 어드레스 7의 양쪽 모두의 고정 불량을 검출할 수 있다.
이와 같이, 해밍 행렬이 2비트 이상의 에러 검지 기능을 갖는 경우, 테스트 패턴 입력시에, 데이터와 코드 데이터에 대해, 임의의 2비트의 조합 (00, 01, 01, 11)에서의 전체 패턴을 체크함으로써, 1비트 불량과 2비트 불량의 구별이 가능하게 된다. 단, 1비트 에러 정정 방식인 SEC(single-error-correcting) 방식의 경우를 제외한다.
(ECC 회로(12)의 구성)
전술한 바와 같이, ECC 회로(12)는 테스트 회로(14)에 의해 생성된 테스트 패턴을 데이터용 메모리(10)에 기입할 때, 이 테스트 패턴에 대응하는 코드 데이터를 생성한다. ECC 회로(12)는 적절한 해밍 행렬 H(해밍 코드)를 사용하는 생성 로직을 포함한다. 코드용 메모리(11)에는 에러 검지 기능을 갖는 이 코드 데이터가 기입된다.
도 3은 ECC 회로(12)의 생성 논리의 원리를 나타내는 개념도이다.
ECC 회로(12)는 도 3에 나타낸 바와 같이, 해밍 행렬 H를 사용하여, 코드 데이터 S를 생성한다. 여기에서, 데이터용 메모리(10)에 저장되는 데이터(테스트 패 턴)의 데이터 비트폭을 n비트, 코드용 메모리(11)에 저장되는 코드 데이터의 비트폭을 m비트로 했을 때, 데이터 비트 w와 코드 비트 S의 관계는 하기 수학식 1과 같이 나타내진다.
Figure 112005007379713-pat00001
또, S는 코드 비트 (1×m) 행렬, w는 데이터 비트 (1×n) 행렬로 표시되고, 해밍 행렬 H는 (n×m) 행렬로 된다. T는 전치 행렬을 의미한다.
또한, 해밍 행렬 H의 행렬 요소는 “1” 또는 “0”중 어느 것인가에 의해 구성되어 있다.
여기에서, 해밍 행렬(해밍 코드)을 결정하기 위한 조건으로서, 편의적으로 조건 0 내지 조건 3으로서 정의한다.
조건 0으로서는, 1비트 정정 기능과 2비트 검지 기능을 갖는 Sec-Ded(single error correcting and double error detecting code) 방식의 조건에 상당한다.
이 조건 0을 만족하기 위해서는, 해밍 행렬의 각 열 성분의 합이 홀수가 될 필요가 있다. 여기에서, 코드용 메모리(11)에 기입된 코드 비트 행렬 So과 코드 비트 행렬 So을 코드용 메모리(11)로부터 판독한 코드 비트 행렬 S를 상정하면, 「S-So」는 하기의 수학식 2와 같이 나타내진다.
또, w는 데이터용 메모리(10)에 기입된 데이터 비트 행렬이고, wo는 데이터용 메모리(10)로부터 판독한 데이터 비트 행렬이다.
Figure 112005007379713-pat00002
수학식 2로부터, 에러 비트수가 제로일 때, 「S-So」의 열 성분의 합은 제로가 된다. 에러 비트수가 1비트일 때는, 해밍 행렬 H의 각 열 성분의 합이 홀수이기 때문에, 「S-So」의 열 성분의 합은 홀수가 된다. 또한, 에러 비트수가 2비트일 때는, 해밍 행렬 H의 각 열 성분의 합이 홀수이며 「S-So」의 열 성분의 합이 홀수와 홀수의 합이 되기 때문에, 「S-So」의 열 성분의 합은 짝수가 된다. 이와 같이 조건 0이란, 해밍 행렬의 각 열 성분의 합이 홀수가 되는 것을 의미한다.
다음으로, 조건 1로서는 해밍 행렬의 각 행 성분의 합이 3 이상의 홀수로 되는 조건이다.
또한, 조건 2로서는 소정의 테스트 패턴에 대해, 데이터용 메모리(1O)와 코드용 메모리(11)의 전체 셀이 “0”→“1”, “1”→“O”으로 천이하는 것이다.
또한, 조건 3으로서는 데이터용 메모리(10)와 코드용 메모리(11)의 동일 어드레스에 있어서, 데이터 비트 행렬 w와 코드 비트 행렬 S에 포함되는 임의의 2비트가 「00, 01, 10, 11」의 전체 패턴을 망라하고 있는 것이다.
(메모리 테스트의 구체예)
도 4는 본 실시 형태의 해밍 행렬 H의 구체예를 나타낸다. 도 5는 테스트 패턴의 구체예로서, 간편하면서 에러 검출율이 높은 마칭 패턴 테스트(marching pattern test)에 적용 가능한 테스트 패턴을 나타낸다. 도 6은 마칭 패턴 테스트(마칭 동작)의 순서를 나타낸다.
이 구체예에서는, 데이터 메모리(10)에 저장되는 데이터 w의 비트폭이 8비트이고, 입출력(I/O)의 비트폭이 2비트인 경우를 상정한다.
ECC 회로(12)가 사용하는 해밍 행렬 H는, 도 4에 나타낸 바와 같이 (n×m=8×5) 행렬로 이루어진다. 즉, 코드용 메모리(11)에 저장되는 코드 데이터의 비트폭은 5비트인 경우이다. 따라서, 데이터 비트 w는 (1×8) 행렬로서 표시되고, 코드 비트 S는 (1×5) 행렬로서 표시된다.
다음으로, 도 5 및 도 6을 참조하여, 구체적인 메모리 테스트로서 마칭 패턴 테스트를 적용한 경우에 대해 설명한다.
마칭 패턴 테스트란, 메모리의 특정의 어드레스에 대해 서로 다른 테스트 패턴을 이용하여 기입 및 판독을 복수회 실행한다. 그리고, 이 특정의 어드레스에 대한 복수회의 기입 및 판독을 어드레스를 변경하면서 차례로 반복하는 테스트이다. 이 어드레스를 변경하면서 테스트를 반복하는 일련의 동작을 마칭 동작이라 부른다.
여기에서, 본 구체예에서는 「8비트×내부 어드레스 n」의 메모리가 「2비트×외부 어드레스 4n」으로서 액세스되는 경우에 대해 설명한다. 도 5는 테스트 패턴으로서 데이터용 메모리(10)에 입력되는 데이터 입력 패턴 w와 코드용 메모리(11)에 기입되는 코드 출력 패턴 S의 구체예를 나타낸다.
도 5는 메모리의 1개의 특정 어드레스(내부 어드레스 1)에 주목했을 때의 테스트 패턴의 데이터 변화를 나타내고 있다.
테스트 회로(14)는 도 6에 나타낸 바와 같이, 초기 상태(단계 S10), 대기 상 태(단계 S11)를 거쳐, 테스트(마칭 동작)를 개시한다(단계 S12).
우선, 테스트 회로(14)는 제1 상태로서 메모리의 초기화를 실행한다(단계 S13∼S15). 즉, 데이터용 메모리(10) 및 코드용 메모리(11)의 전체 어드레스에 O을 기입한다.
여기에서, 테스트는 외부 어드레스에서 마칭 동작을 실행한다. 이 경우, 외부 어드레스의 어드레스 1로부터 차례로 2비트씩 「11」로 갱신하면, 내부 어드레스의 어드레스 1에 주목했을 경우에, 8비트 중 하위 2비트씩이 「11」로 갱신된다. 따라서, 제1 상태에서 메모리의 초기화를 실행하기 위해, 데이터용 메모리(10) 및 코드용 메모리(11)의 전체 어드레스에 「00」을 기입한다.
다음으로, 테스트 회로(14)는 상태 2에서, 메모리의 1개의 어드레스(외부 어드레스에서 표현)로부터 「00」을 판독하는 동작을 실행한다(단계 S16). 다음으로, 이 어드레스에 대해 「11」을 기입하는 동작을 실행한다(단계 S17). 또한, 이 어드레스로부터 「11」을 판독하는 동작을 실행한다(단계 S18).
이러한 테스트 패턴 「11」에 대한 일련의 동작(마칭 동작)을 메모리의 모든 어드레스에 대해 실행한다. 또한, 테스트 패턴 「01」에 대해서도 마찬가지로, 메모리의 모든 어드레스에 대해 마칭 동작을 실행한다.
구체적으로는, 데이터용 메모리(10)로부터 데이터 입력 패턴 w를 판독하고, 이에 대응하는 코드 출력 패턴 S를 코드용 메모리(11)에 기입한다. 그리고, 코드용 메모리(11)로부터 판독한 코드 출력 패턴 S를 체크한다.
여기에서, 테스트 회로(14)는 전술의 일련의 마칭 동작의 조건 1로서, 데이 터 입력 패턴 w가 모두 “O”인 경우에, 코드 출력 패턴 S가 모두 “0”(ALL 0)인지 체크한다(도 5 참조). 이에 따라, 0/1의 기입(또는 판독)시의 고정 불량 체크를 실행할 수 있다.
또한, 테스트 회로(14)는 마칭 동작의 조건 2로서, 데이터 입력 패턴 w에 대해, 코드용 메모리(11)내의 전체 비트가 “0”→“1”, 또는 “1”→“0”으로 천이하는지의 여부를 체크한다. 이에 따라, 데이터 천이 불량을 체크할 수 있다.
다음으로, 테스트 회로(14)는 마칭 동작의 조건 3으로서, 데이터용 메모리(1O)와 코드용 메모리(11)의 동일 어드레스 내의 임의의 2비트의 조합이 (0O, 01, 01, 11)의 전체 패턴을 망라하고 있는지의 여부를 체크한다(도 5의 화살표(50, 51)를 참조). 이에 따라, ECC 코드에 의한 2비트 불량을 체크할 수 있다.
마지막으로, 테스트 회로(14)는 마칭 동작의 조건 4로서, 해밍 행렬 H에 있어서 행렬 (n, m)이 (홀수, 짝수) 혹은 (짝수, 홀수)의 조합인 경우, 데이터 입력 패턴 w가 (011… 1)이고, 코드 출력 패턴 S가 모두 “1”(ALL 1)인지 체크한다(도 5를 참조).
이상과 같은 각 조건 1∼4에서의 일련의 동작인 마칭 동작을 완료함으로써, 메모리 테스트가 종료된다(단계 S19).
여기에서, 마칭 동작은 전술의 해밍 코드의 결정 조건으로서 정의한 조건 0 내지 3에 대해, 편의적으로 조건 4에 관계하는 테스트 동작이다.
조건 4란, 해밍 행렬 H의 지정된 1비트를 제외한 각 행 성분의 합이 홀수가 되도록 행렬을 구성하는 것이다. 이에 따라, 데이터 비트 w=(OO…O) 또는 (011… 1)일 때에, 코드 비트 S=(00…0) 또는 (11…1)이 된다.
해밍 행렬 H에 있어서, 행렬 (n, m)이 (홀수, 짝수) 혹은 (짝수, 홀수)의 조합인 경우, 전술의 조건 0과 조건 1을 동시에 만족하는 것은 수학적으로 불가능하다. 그 때문에, 테스트 패턴의 입력인 데이터 비트 w(11…1) 중에서, 1비트만 “0”을 입력(예: (011…1))으로 했을 때에, 코드용 메모리(11)에 저장되는 코드 비트 S가 (11…1)이 되는 것 같은 해밍 코드를 작성한다. 이에 따라 조건 0을 만족한 채로, 코드 비트 S=(00…0) 또는 (11…1)으로 하는 것이 가능하게 된다.
또, 도 5에서는, 테스트 패턴의 입력인 데이터 비트 w 중에서, 최상위 비트만 “0”을 입력한 경우를 설명하였지만, “0”을 입력하는 비트는 최상위 비트에 한정되지 않는다. 단, 데이터 비트 w의 최상위 비트는 다른 비트와 비교하여 데이터의 갱신 회수가 적으리라 예상되기 때문에, 반도체 장치의 신뢰성상, “0”을 입력하는 비트는 최상위 비트로 하는 것이 바람직하다.
이상과 같이, 본 실시 형태의 ECC 회로(12) 및 테스트 회로(14)를 내장하는 반도체 장치(1)라면, ECC 회로(12)에 의해 적절한 해밍 행렬을 사용하여, 조건 0 내지 3(또는 조건 4를 포함함)을 만족하는 해밍 코드를 생성하여, 코드 데이터로서 코드용 메모리(11)에 저장한다. 그리고, 테스트 패턴인 데이터 비트 행렬 w를 사용하여, 데이터용 메모리(10)를 테스트하는 테스트 시퀀스(BIST)에 있어서, 코드용 메모리(11)로부터 판독한 코드 데이터에 기초하여 코드용 메모리(11)의 테스트를 동시에 실행하는 것이 가능해진다.
따라서, 데이터용 메모리(10)와 코드용 메모리(11)를 각각 별개의 테스트 시 퀀스로 테스트하는 경우와 비교하여, 테스트 시간의 단축화를 도모할 수 있다. 또한, 데이터용 메모리(10)와 코드용 메모리(11)를 각각 테스트하기 위한 각 테스트 회로를, 1개의 테스트 회로에 통합하는 것이 가능해진다. 이에 따라, 결과적으로 메모리 테스트의 코스트를 삭감할 수 있다.
또한, 상기 실시 형태에 있어서는, 테스트 회로(14)가 테스트의 대상이 되는 데이터용 메모리(10) 및 코드용 메모리(11)가 배치되는 칩 내에 형성되는 경우를 나타냈지만, 테스트 회로(14)는 그 칩과는 다른 칩에 형성되어도 된다. 또한, 테스트 회로(14)를 생략하고, 외부 테스터를 이용하여 데이터용 메모리(10) 및 코드용 메모리(11)의 테스트를 행하여도 된다.
또한, 상기 실시 형태에 있어서는, ECC 회로(12)가 데이터용 메모리(10) 및 코드용 메모리(11)가 배치되는 칩 내에 형성되는 경우를 나타냈지만, ECC 회로(12)는 그 칩과는 다른 칩에 형성되어도 된다. 예를 들면, 데이터용 메모리(10) 및 코드용 메모리(11)와 ECC 회로(12)가 서로 다른 칩에 형성되고, 이들 칩이 PCB(Printed Circuit Board) 기판상에 배치되어도 된다.
또한, 상기 실시 형태에 있어서는, 메모리 테스트로서 마칭 패턴 테스트를 적용한 경우를 나타냈지만, 메모리 테스트는 마칭 패턴 테스트에 한정되지 않는다.
이상과 같이 본 실시 형태에 의하면, ECC 회로 내장형이며 데이터용 메모리와 코드용 메모리의 양쪽 모두를 탑재한 반도체 장치에 있어서, 데이터용 메모리와 코드용 메모리의 테스트를 일괄하여 행할 수 있다. 따라서, 메모리 테스트에 필요 로 하는 시간의 단축화 및 테스트 회로의 삭감화를 실현하여, 결과적으로 메모리 테스트에 요하는 코스트의 경감을 도모할 수 있다.
본 기술 분야에 통상의 지식을 가진 자라면 부가적인 이점과 변형을 용이하게 실행할 것이다. 따라서, 보다 넓은 관점에서의 본 발명은 본 명세서에 개시된 상세한 사항들 및 대표적인 실시예들로 한정되지 않는다. 따라서, 첨부된 특허청구범위 및 그의 균등물에 의해 정의되는 바와 같은 일반적인 발명의 개념의 정신 또는 범주를 벗어나지 않고 다양한 변형들이 실시될 수 있다.

Claims (17)

  1. 데이터를 저장하는 데이터용 메모리;
    상기 데이터에 대응하는 에러 검지 및 정정 코드(ECC code)를 저장하는 코드용 메모리; 및
    상기 데이터용 메모리의 테스트를 실행하기 위한 테스트 패턴을 상기 데이터로서 상기 데이터용 메모리에 출력하고, 또한 이 테스트 패턴으로부터 데이터용 메모리에 저장되는 데이터에 대한 에러의 검지 및 코드용 메모리 자신의 불량 비트의 검출을 위한 코드 정보를 생성하여, 상기 ECC 코드로서 상기 코드용 메모리에 출력하는 에러 검지 및 정정 유닛(ECC unit)을 포함하는 반도체 장치.
  2. 제1항에 있어서,
    상기 데이터용 메모리에 기입된 상기 테스트 패턴과, 상기 코드용 메모리에 기입된 상기 코드 정보를 판독함으로써, 상기 데이터용 메모리와 상기 코드용 메모리를 동시에 테스트하는 테스트 유닛을 더 포함하는 반도체 장치.
  3. 제2항에 있어서,
    상기 ECC 유닛은 상기 코드용 메모리로부터 판독된 상기 코드 정보에 기초하여 에러를 검지하고,
    상기 테스트 유닛은 상기 ECC 유닛의 에러 검지 결과에 기초하여, 상기 데이터용 메모리 및 상기 코드용 메모리의 테스트를 실행하는 반도체 장치.
  4. 제1항에 있어서,
    상기 ECC 유닛은 행렬의 각 행 성분의 합이 홀수가 되도록 구성된 해밍(Hamming) 행렬을 사용하여 상기 코드 정보를 생성하는 반도체 장치.
  5. 제2항에 있어서,
    상기 ECC 유닛은 행렬의 각 행 성분의 합이 홀수가 되도록 구성된 해밍(Hamming) 행렬을 사용하여 상기 코드 정보를 생성하는 반도체 장치.
  6. 제1항에 있어서,
    상기 ECC 유닛은 상기 테스트 패턴의 전체 비트가 “1”인 경우, 이 테스트 패턴으로부터 생성되는 코드 정보의 전체 비트가 “1”이 되도록, 상기 코드 정보를 생성하는 반도체 장치.
  7. 제2항에 있어서,
    상기 ECC 유닛은 상기 테스트 패턴의 전체 비트가 “1”인 경우, 이 테스트 패턴으로부터 생성되는 코드 정보의 전체 비트가 “1”이 되도록, 상기 코드 정보를 생성하는 반도체 장치.
  8. 제1항에 있어서,
    상기 ECC 유닛은 상기 코드 정보의 전체 비트가, 상기 테스트 패턴의 입력에 따라, “O”으로부터 “1” 또는 “1”로부터 “0”으로 천이하도록, 상기 코드 정보를 생성하는 반도체 장치.
  9. 제2항에 있어서,
    상기 ECC 유닛은 상기 코드 정보의 전체 비트가, 상기 테스트 패턴의 입력에 따라, “0”으로부터 “1” 또는 “1”로부터 “0”으로 천이하도록, 상기 코드 정보를 생성하는 반도체 장치.
  10. 제1항에 있어서,
    상기 ECC 유닛은 상기 테스트 패턴과, 이 테스트 패턴으로부터 생성되는 코드 정보에서, 동일 어드레스 내의 임의의 N비트(N은 2 이상의 자연수)가 상기 테스트 패턴의 입력에 따라 N비트의 조합의 전체 패턴을 망라하도록, 상기 코드 정보를 생성하는 반도체 장치.
  11. 제2항에 있어서,
    상기 ECC 유닛은 상기 테스트 패턴과, 이 테스트 패턴으로부터 생성되는 코드 정보에서, 동일 어드레스 내의 임의의 N비트(N은 2 이상의 자연수)가 상기 테스트 패턴의 입력에 따라 N비트의 조합의 전체 패턴을 망라하도록, 상기 코드 정보를 생성하는 반도체 장치.
  12. 제1항에 있어서,
    상기 ECC 유닛은 상기 테스트 패턴의 지정된 1비트를 제외한 전체 비트가 “1”일 때에, 이 테스트 패턴으로부터 생성되는 코드 정보의 전체 비트가 “1”이 되도록, 상기 코드 정보를 생성하는 반도체 장치.
  13. 제2항에 있어서,
    상기 ECC 유닛은 상기 테스트 패턴의 지정된 1비트를 제외한 전체 비트가 “1”일 때에, 이 테스트 패턴으로부터 생성되는 코드 정보의 전체 비트가 “1”이 되도록, 상기 코드 정보를 생성하는 반도체 장치.
  14. 데이터를 저장하는 데이터용 메모리와, 상기 데이터에 대응하는 에러 검지 및 정정 코드(ECC code)를 저장하는 코드용 메모리를 포함하는 반도체 장치에 적용하는 메모리 테스트 방법으로서,
    상기 데이터용 메모리의 테스트를 실행하기 위한 테스트 패턴을 생성하는 단계와,
    상기 테스트 패턴을 상기 데이터용 메모리에 출력하는 단계와,
    상기 테스트 패턴으로부터 에러 검지 기능을 갖는 코드 정보를 생성하여, 상기 ECC 코드로서 상기 코드용 메모리에 출력하는 단계와,
    상기 데이터용 메모리에 기입된 상기 테스트 패턴과, 상기 코드용 메모리에 기입된 상기 코드 정보를 판독함으로써, 상기 데이터용 메모리와 상기 코드용 메모리를 동시에 테스트하는 단계를 포함하는 메모리 테스트 방법.
  15. 제14항에 있어서,
    상기 테스트의 실행은, 상기 코드용 메모리로부터 판독된 상기 코드 정보의 전체 비트가 “0”으로부터 “1” 또는 “1”로부터 “O”으로 천이하는지의 여부를 체크하는 단계를 더 포함하는 메모리 테스트 방법.
  16. 제14항에 있어서,
    상기 테스트의 실행은, 상기 테스트 패턴과, 이 테스트 패턴으로부터 생성되는 상기 코드 정보에서, 동일 어드레스 내의 임의의 N비트(N은 2 이상의 자연수)가 상기 테스트 패턴의 입력에 따라 N비트의 조합의 전체 패턴을 망라하고 있는지의 여부를 체크하는 메모리 테스트 방법.
  17. 제14항에 있어서,
    상기 테스트의 실행은, 상기 테스트 패턴의 지정된 1비트를 제외한 전체 비트가 “1”일 때에, 이 테스트 패턴으로부터 생성되는 상기 코드 정보의 전체 비트가 “1”이 되는지의 여부를 체크하는 메모리 테스트 방법.
KR1020050011638A 2004-02-13 2005-02-11 메모리를 구비한 반도체 장치 및 메모리 테스트 방법 KR100653296B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00036077 2004-02-13
JP2004036077A JP2005228039A (ja) 2004-02-13 2004-02-13 半導体装置及びそのメモリテスト方法

Publications (2)

Publication Number Publication Date
KR20060041870A KR20060041870A (ko) 2006-05-12
KR100653296B1 true KR100653296B1 (ko) 2006-12-05

Family

ID=34836236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050011638A KR100653296B1 (ko) 2004-02-13 2005-02-11 메모리를 구비한 반도체 장치 및 메모리 테스트 방법

Country Status (5)

Country Link
US (1) US7398439B2 (ko)
JP (1) JP2005228039A (ko)
KR (1) KR100653296B1 (ko)
CN (1) CN1667755A (ko)
TW (1) TWI287798B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180121797A (ko) * 2016-04-05 2018-11-08 마이크론 테크놀로지, 인크. 메모리에서 에러 정정 코드(ecc) 연산

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200518074A (en) * 2005-01-19 2005-06-01 Via Tech Inc Test compact disk and its manufacturing method
US8369449B2 (en) * 2005-09-20 2013-02-05 Koninklijke Philips Electronics N.V. Method and system of diversity transmission of data employing M-point QAM modulation
DE102006001873B4 (de) * 2006-01-13 2009-12-24 Infineon Technologies Ag Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Speicherschaltung
DE102006001872B4 (de) * 2006-01-13 2013-08-22 Infineon Technologies Ag Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Datenverarbeitungseinrichtung auf Angriffe
WO2008155678A1 (en) * 2007-06-20 2008-12-24 Nxp B.V. Detection of defective data sequences
JP2009181425A (ja) * 2008-01-31 2009-08-13 Nec Corp メモリモジュール
TW200947450A (en) * 2008-05-09 2009-11-16 A Data Technology Co Ltd Storage system capable of data recovery and method thereof
CN101923896A (zh) * 2009-06-12 2010-12-22 威刚科技(苏州)有限公司 电子存储装置及其纠错方法
KR20120039142A (ko) 2010-10-15 2012-04-25 에스케이하이닉스 주식회사 반도체 패키지
JP5186587B1 (ja) * 2011-09-29 2013-04-17 株式会社アドバンテスト 試験装置および試験方法
CN103279401B (zh) * 2013-05-31 2016-01-27 华为技术有限公司 一种访问存储器的方法及装置
DE102014213071A1 (de) * 2014-07-04 2016-01-07 Robert Bosch Gmbh Verfahren und Vorrichtung zur Verarbeitung von Daten
US10276259B2 (en) 2017-07-05 2019-04-30 Winbond Electronics Corp. Memory testing method and memory apparatus therefor
KR102540772B1 (ko) * 2018-04-30 2023-06-08 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
US11335428B2 (en) * 2018-10-09 2022-05-17 Intel Corporation Methods, systems and apparatus for in-field testing for generic diagnostic components
US10950325B2 (en) * 2019-04-04 2021-03-16 Marvell Asia Pte., Ltd. Memory built-in self test error correcting code (MBIST ECC) for low voltage memories
JP7235591B2 (ja) * 2019-05-28 2023-03-08 株式会社東芝 情報処理回路及び情報処理方法
US20220164107A1 (en) * 2020-11-25 2022-05-26 Micron Technology, Inc. Using bad blocks for system data in memory
US11468962B2 (en) * 2021-03-03 2022-10-11 Micron Technology, Inc. Performing memory testing using error correction code values
KR20220127571A (ko) * 2021-03-11 2022-09-20 삼성전자주식회사 빌트-인-셀프-테스트 로직, 빌트-인-셀프 테스트 로직을 포함하는 메모리 장치, 및 메모리 모듈에 대한 테스트 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4448449A (en) * 1981-05-04 1984-05-15 Halling Horace P Flexible piping joint and method of forming same
US4772033A (en) * 1983-09-28 1988-09-20 General Electric Company Flexible duct joint utilizing lip in recess in a flange
US5195099A (en) * 1989-04-11 1993-03-16 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having improved error correcting circuit
US5697651A (en) * 1995-03-02 1997-12-16 Senior Flexonics, Inc. Flexible duct joint having a low leakage, pressure-balanced bellows seal
JP2908272B2 (ja) * 1995-03-22 1999-06-21 甲府日本電気株式会社 情報処理装置
JP3039455B2 (ja) 1997-06-30 2000-05-08 日本電気株式会社 半導体メモリ装置テスト方法及び半導体メモリ装置
JP3871471B2 (ja) 1999-07-12 2007-01-24 松下電器産業株式会社 Ecc回路搭載半導体記憶装置及びその検査方法
JP2001351398A (ja) 2000-06-12 2001-12-21 Nec Corp 記憶装置
JP3914839B2 (ja) * 2002-07-11 2007-05-16 エルピーダメモリ株式会社 半導体記憶装置
JP2004234770A (ja) * 2003-01-31 2004-08-19 Renesas Technology Corp 半導体記憶装置とテスト方法
US6988237B1 (en) * 2004-01-06 2006-01-17 Marvell Semiconductor Israel Ltd. Error-correction memory architecture for testing production errors

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180121797A (ko) * 2016-04-05 2018-11-08 마이크론 테크놀로지, 인크. 메모리에서 에러 정정 코드(ecc) 연산
KR102102828B1 (ko) 2016-04-05 2020-06-01 마이크론 테크놀로지, 인크. 메모리에서 에러 정정 코드(ecc) 연산

Also Published As

Publication number Publication date
CN1667755A (zh) 2005-09-14
US20050182997A1 (en) 2005-08-18
US7398439B2 (en) 2008-07-08
TWI287798B (en) 2007-10-01
KR20060041870A (ko) 2006-05-12
TW200532702A (en) 2005-10-01
JP2005228039A (ja) 2005-08-25

Similar Documents

Publication Publication Date Title
KR100653296B1 (ko) 메모리를 구비한 반도체 장치 및 메모리 테스트 방법
CA1315886C (en) Memory testing system
KR100864035B1 (ko) 패리티 셀 어레이를 구비한 메모리 회로
US7900100B2 (en) Uncorrectable error detection utilizing complementary test patterns
US6216251B1 (en) On-chip error detection and correction system for an embedded non-volatile memory array and method of operation
US7206988B1 (en) Error-correction memory architecture for testing production errors
US7272774B2 (en) Extender card for testing error-correction-code (ECC) storage area on memory modules
US8201037B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US6286116B1 (en) Built-in test method for content addressable memories
JPH01201736A (ja) マイクロコンピュータ
US20060253723A1 (en) Semiconductor memory and method of correcting errors for the same
US7249296B2 (en) Semiconductor integrated circuit
US8397132B2 (en) Memory device
US9015539B2 (en) Testing of non stuck-at faults in memory
US9298614B2 (en) Combined rank and linear address incrementing utility for computer memory test operations
US9256505B2 (en) Data transformations to improve ROM yield and programming time
US20080013389A1 (en) Random access memory including test circuit
US20050102595A1 (en) Method and apparatus for testing semiconductor memory device and related testing methods
JPH0212445A (ja) 記憶装置
JP2008176828A (ja) エラー検出訂正回路のテスト回路およびテスト方法
US7484147B2 (en) Semiconductor integrated circuit
US20120246527A1 (en) Built-in self test circuit and designing apparatus
US20040255224A1 (en) Semiconductor storage device and evaluation method
JP7425839B2 (ja) フェイルセーフic製造テスト
CN115083507B (zh) 一种对存储器ecc校验位存储阵列的测试方法

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
FPAY Annual fee payment

Payment date: 20111028

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20121114

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee