Fault Diagnosis for Embedded Read-Only Memories ITC(International Test Conference) 2009 Paper 7.1 N. Mukherjee, A. Pogiel, J. Rajski(Mentor Graphics) J. Tyszer(Poznan Uni. Poland) 이재훈
Introduction ITRS의 예측 회로 크기, 복잡도 증가 결함 향후 Chip area의 90% 이상은 메모리가 차지할 것으로 예측 회로 크기, 복잡도 증가 Memory Array가 다른 부분보다 결함에 더 취약 Embedded Memory가 테스트 과정에서 크기와 복잡도에 비례하여 yield를 떨어트리는 요소가 될 것 결함 반도체 고집적도로 polysilicon, diffusion, metal간의 거리가 극단적으로 가까워져 결함 가능성 커짐 MBIST(Memory-BIST)는 메인 DFT방법으로 자신을 테스트하고, 나머지 부분은 상대적으로 간단한 test logic을 이용하여 테스트한다 IIRS(International Technology Roadmap for Semiconductors)
Introduction ROM Diagnosis 기술의 발달로 multiple metal layer, Low-power를 위한 storage solution으로 계속적으로 많이 사용될 것 ROM에서의 defect를 찾는 과정이 중요 ROM diagnosis를 위해서는 ROM의 내용을 알 수 있는 초기화 파일(initialization file)이 제공되야 한다 초기화 파일은 테스트와 연관되는 random vector 일 수 도 있다 ROM의 내용은 different addressing scheme과 compressed signature등에서 여러 번 사용된다 ROM에서 결함 존재시 ROM의 모든 내용을 읽어 address, data 검사 – time consuming 부가적인 회로를 추가하여 ROM의 내용을 검사
Test Logic Architecture 일반적인 ROM 구조
Embedded ROM Test Address에 defect 존재 시 문제 복잡 Embedded ROM의 내용이 바뀌면 Rom Row address X Assumption Permanent Address independent failure Column data
기본 개념 M개 X개 fault 존재 시 X+1번의 test로 검출 Memory Diagnosis를 위한 부가회로 삽입 (Area Overhead 문제) Partition과 group으로 빠른 검출을 보장 Algorithm + Hardware …… X
Collection of Diagnostic data Diagnostic environment to collect diagnostic data from the ROM array row, column selector에 의해 선택된 데이터를 signature register에서 observed된다 row enable=0, column enable=1 row selecting(선택) column selector disable (2) row enable=1, column enable=0 row selector disable 원하는 column 선택 (3) row enable=0, column enable=0 선택된 row와 column에 존재하는 memory cell의 observation을 허용
Collection of Diagnostic data Diagnostic environment 만일 signature 결과가 reference(golden) signature와 일치하면 fault free 이 논문의 scheme은 [4]에서 scan based diagnosis를 위해 제안된 deterministic partition을 개선 => Fault source의 가장 빠른 인식을 보장 [4] “The construction of optimal deterministic partitioning in scan-based BIST fault diagnosis : mathematical foundations and cost-effective implementations”, IEEE Trans. Comput. Jan 2005
Signature register Signature Register MIRG(Multiple Input Ring Generator) 선택된 Memory로 부터 얻은 test response를 모으는데 사용 입력 증가 – diagnostic resolution 증가 다른 입력으로부터 전달된 error를 인식 가능하게 한다 : bitwise addition modulo 2
Deterministic Partitioning Row, Column Selection Single diagnostic test run동안 관찰되는 row와 column의 선택은 [4]의 deterministic scheme과 일치 Memory row와 column은 분리된 partition으로 2n개의 group으로 분해된다 n = 0.5 log2v (v : total # of memory words or column) (예) v=16이면 n=2가 되므로 group은 22 = 4가 된다 Such a technique guarantees the most time-efficient tracking down of faulty row or column Memory array가 x개의 failing element를 갖는다면 faulty item을 유일하게 결정하기 위해 x+1개의 group을 test하면 충분하다[4]
Deterministic Partitioning Example group 0 16 row memory array – 4 partition, Suppose row 7 is faulty 그림 a에서 1개의 error가 있으므로 2개의 group을 test하면 된다. group 0에서 partition 3를 제외한 partition 0,1,2는 fault-free가 되고 row 3,7,11,15에 x를 표시한다. Group 1에서 7이 유일하게 결정 그림 b에서 error가 3개(5,10,11)라고 가정하면 4 group test group 0에서 partition 0가 fault free이므로 partition 0,4,8,12는 fault-free이고, 나머지 partition에는 x를 표시 group 1 에서 x가 표시된 것 중에서 error가 있는 row표시 group 4에서 5,10,11이 결정
Row and Column Selection Row,Column Selection Hardware solution for the row and column selectors 4개의 register로 구성 partition, group register – up counter diffractor : LFSR offset register – down counter
Row and Column Selection Row Selection 주어진 group g내에서 successive partition p의 member r을 구하는 식 r = Sk +( p ( gk )), k=0,1,…,P-1 (1) S : Size of partition : bit-wise addition modulo 2(2진수 덧셈) p : # of partition : g k : LFSR state (k의 next state) k=0인 경우 g k=0 (k : # of row) S=4(partition수가 4), k=0,1,2,3 assume diffractor state trajectory 1->2->3->1 1 0 = 012 002 = 012 =1 1 2 = 012 102 = 112 =3 1 3 = 012 112 = 102 =2 1 1 = 012 012 = 002 =0 For g=2 and p=1 k=0: r = 4 0 + (1 ( 2 0 )) = 0 + (1 0) = 0 + 1 = 1 k=1: r = 4 1 + (1 ( 2 1 )) = 4 + (1 2) = 4 + 3 = 7 k=2: r = 4 2 + (1 ( 2 2 )) = 8 + (1 3) = 8 + 2 = 10 k=3: r = 4 3 + (1 ( 2 3 )) = 12 + (1 1) = 12 + 0 = 12
Row and Column Selection Row selection Row address 증가에 따라 partition, group내의 모든 address가 선택된다 전체 address에 대해 test Row selection 은 offset counter가 0이 될 때 까지 수행 diffractor의 state 수 감소 회로 내 observe row의 검출 g=3,p=2의 경우 offset = p diffractor
Row and Column Selection Row selection g=3(112), p=2 (102) offset = p 이전 state diffractor 처음 로드 시 offset number는 partition number가 된다 p offset 102 -> 102 =2 1 3 3 10 11 = 01= 1 1 3 2 10 01 = 11= 3 2 2 1 10 10 = 00= 0 3 3 2 1 2,5,11,12
Row and Column Selection Column Selector Row Selector와 유사 동일한 selection 원리를 수행 가장 큰 차이는 offset 부분이 decoder로 바뀜 Decoder는 column decoder의 B 출력 중 하나를 선택
Row and Column Selection Column Selector 1 2 3 1 2 3 Column address 0 Column address 1 00 11 14 10 01 5 11
Combined row & Co,umn Selection
Hardware Overhead Area Overhead NAND2 = 1,XOR2 = 4, INV = 0.6 PS = 2n XOR = 8n Gate count depends on Memory Word Size Area Overhead가 그리 크지 않음
Experimental Results Memory와 compacter size의 함수로 diagnostic coverage를 나타내었다
Experimental Results Memory run증가 -> diagnostic coverage 향상 Application time 증가