반도체 테스트란 무엇인가
공정은 완벽하지 않다. 300 mm 웨이퍼 한 장에 수백 개의 다이를 찍으면 그중 일부에는 반드시 먼지가 앉고, 비아가 덜 뚫리고, 산화막에 구멍이 난다. 반도체 테스트는 그 다이들을 전기 신호만으로 찾아내는 일이다. 칩 속을 들여다볼 수 없으니 핀에 전압과 패턴을 넣고, 돌아오는 응답이 기대와 같은지를 본다. 이 장은 테스트가 무엇을 잡으려 하는지(결함·폴트·고장), 어디서 잡는지(테스트 흐름), 얼마나 일찍 잡아야 하는지(10배 법칙), 그리고 얼마나 잘 잡아야 하는지(수율·커버리지·DPPM)를 하나의 그림으로 묶는다. 책 전체에서 따라갈 가상의 모바일 SoC TB-7의 테스트 계획서도 여기서 시작한다.
- 설계 검증, 특성 평가, 양산 테스트, 신뢰성 시험이 각각 어떤 질문에 답하는지 구분한다.
- 결함·폴트·오류·고장을 구분하고, 물리적 결함이 어떤 폴트 모델과 테스트로 이어지는지 설명한다.
- 웨이퍼 테스트에서 시스템 레벨 테스트까지의 흐름과 각 단계가 맡는 결함을 말한다.
- 10배 법칙으로 결함을 늦게 잡을 때의 비용을 계산한다.
- 윌리엄스–브라운 식 \(DL = 1 - Y^{1-T}\)으로 수율과 커버리지에서 출하 불량률을 구한다.
- 과잉 불량과 유출이라는 두 가지 테스트 오류, 그리고 DPPM과 FIT의 의미를 설명한다.
왜 테스트하나
TB-7은 5 nm급 공정에서 만드는 9 × 9 mm 다이다. 결함 밀도가 \(D_0 \approx 0.2\)개/cm²이면 다이 하나(0.81 cm²)에 떨어지는 치명 결함은 평균 \(\lambda = A D_0 \approx 0.16\)개이고, 포아송 모델로 결함이 하나도 없을 확률은 \(e^{-0.16} \approx 0.85\)다. 웨이퍼 한 장의 온전한 다이 780개 가운데 약 117개는 어딘가 고장 나 있다는 뜻이다. 어떤 다이가 그 117개인지는 겉으로 보아서는 모른다. 결함은 수십 나노미터이고, 대부분 금속 배선층 아래에 묻혀 있으며, 다이 하나에 트랜지스터가 수십억 개다. 그래서 모든 다이를 전기적으로 검사한다. 이것이 양산 테스트(Production test, manufacturing test)다.
양산 테스트는 "이 회로가 맞게 설계되었는가"를 묻지 않는다. 그것은 이미 끝난 질문이다. 묻는 것은 "이 다이 하나가 설계대로 만들어졌는가"다. 같은 회로를 수천만 번 찍어 내는 공장에서, 그중 어느 것이 잘못 찍혔는지를 가려내는 일이다. 설계 단계의 질문과 양산 단계의 질문은 섞기 쉬우므로 먼저 구분해 둔다.
설계 검증(Design verification)은 칩을 만들기 전에 시뮬레이션과 에뮬레이션으로 설계의 논리 오류를 찾는다. 첫 실리콘이 나오면 특성 평가(Characterization)가 수십에서 수백 개의 표본을 전압·온도·주파수를 바꿔 가며 재서 칩이 실제로 어디까지 동작하는지 지도를 그린다. 이 지도가 셔무 플롯이고, 여기서 양산 테스트의 한계값이 나온다. 신뢰성 시험(Reliability qualification)은 고온·고전압에서 수천 시간 동안 표본을 굴려 제품이 몇 년을 버틸지를 추정한다. 이 셋은 표본으로 하는 실험이다. 양산 테스트만이 전수 검사이고, 그래서 개당 시간이 몇 초로 제한되며 모든 결정이 비용과 연결된다.
테스트는 다이를 좋게 만들지 않는다. 나쁜 다이를 골라낼 뿐이다. 수율을 올리는 것은 공정 개선이고, 테스트가 하는 일은 수율 데이터를 공정에 되돌려 주는 것이다. 예외가 하나 있다. 메모리의 여분 행·열로 불량 셀을 대체하는 리페어(Repair)는 테스트가 찾은 불량을 그 자리에서 살린다(7장). TB-7은 이것으로 웨이퍼 수율을 82%에서 85%로 끌어올린다.
테스트가 지는 세 개의 짐
양산 테스트의 모든 결정은 세 가지 숫자 사이의 맞바꿈이다. 첫째는 품질, 즉 고객에게 나간 개체 가운데 불량의 비율이다. 백만 개당 불량 수 DPPM(Defective parts per million)으로 잰다. 둘째는 수율이다. 테스트가 좋은 다이를 나쁘다고 버리면 그만큼 매출이 사라진다. 셋째는 비용이다. 수억 원짜리 장비가 시간당 수백 달러씩 돌아가므로, 테스트 1초는 다이 하나마다 몇 센트다. 더 많이 테스트하면 품질은 오르지만 비용이 늘고, 한계를 조이면 품질은 오르지만 수율이 떨어진다. 이 책의 각 장은 이 삼각형의 어느 꼭짓점을 어떻게 움직이는지를 다룬다.
결함, 폴트, 오류, 고장
테스트를 이야기할 때 가장 먼저 정리해야 할 것이 네 단어다. 일상에서는 섞어 쓰지만 테스트에서는 서로 다른 층위를 가리킨다.
- 결함(Defect): 만들어진 실리콘의 물리적 잘못. 두 배선 사이에 낀 입자, 덜 뚫린 비아, 게이트 산화막의 구멍. 공정의 언어다.
- 폴트(Fault): 결함을 논리 회로 수준에서 본뜬 모델. "이 노드가 0에 고착되었다", "이 경로가 200 ps 늦다". 테스트 패턴은 결함이 아니라 폴트를 겨냥해 만든다.
- 오류(Error): 폴트가 특정 입력에서 드러나 회로 안의 어떤 값이 틀린 상태. 폴트가 있어도 그 노드를 건드리는 입력이 오지 않으면 오류는 생기지 않는다.
- 고장(Failure): 오류가 출력까지 전파되어 시스템이 사양을 어긴 사건. 사용자가 보는 것은 이것뿐이다.
이 구분이 중요한 이유는 테스트가 다루는 층위가 폴트이기 때문이다. 공정이 만드는 결함의 종류는 끝이 없지만, 그것을 몇 가지 폴트 모델로 줄여야 테스트 패턴을 자동으로 만들고 그 효과를 숫자로 셀 수 있다. 가장 오래되고 널리 쓰이는 것은 고착 폴트(Stuck-at fault)다. 회로의 각 노드가 0이나 1에 붙어 버렸다고 가정한다. 노드가 N개면 폴트는 2N개이고, 테스트 패턴 집합이 이 가운데 몇 개를 검출하는지가 폴트 커버리지(Fault coverage)다. 지연이 늘어나는 결함에는 천이 폴트(Transition fault), 두 배선이 붙는 결함에는 브리지 폴트(Bridging fault), 셀 내부의 결함에는 셀 인식 폴트(Cell-aware fault)를 쓴다.
모델은 현실의 근사다. 같은 브리지라도 저항이 1 Ω이면 고착처럼 동작하지만 10 kΩ이면 신호가 조금 늦어질 뿐이다. 산화막에 생긴 미세한 손상은 오늘은 아무 증상이 없다가 수백 시간 뒤에 단락이 된다. 이런 결함은 어떤 논리 폴트 모델로도 오늘 잡히지 않는다. 그래서 테스트는 한 가지 모델에 의존하지 않고 여러 모델과 여러 측정(전류, 속도, 스트레스)을 겹친다. 아래 시뮬레이터에서 결함 하나하나가 어떤 모델로 번역되는지 눌러 보자.
결함에서 폴트로: 레이아웃을 눌러 보자
| 물리 결함 | 대표 폴트 모델 | 주로 잡는 테스트 | 장 |
|---|---|---|---|
| 저저항 브리지(입자, 금속 잔여물) | 고착 폴트, 브리지 폴트 | 스캔 고착 패턴, IDDQ | 5, 4 |
| 열린 비아·끊어진 배선 | 고착 폴트, 고착 개방 | 스캔 고착 패턴, 연속성 | 5 |
| 저항성 비아·얇아진 배선 | 천이 폴트, 경로 지연 폴트 | 실속도 스캔(LOC·LOS), Fmax | 6, 10 |
| 게이트 산화막 단락 | 누설, IDDQ 상승 | IDDQ·ΔIDDQ, 누설 측정 | 4 |
| 메모리 셀 결함 | 셀 고착·결합·데이터 보존 폴트 | MBIST(March), 리페어 | 7 |
| 산화막 약점·미세 균열(잠재 결함) | (시간 0에는 폴트 없음) | 번인, 고전압 스트레스 | 11 |
| 공정 변동으로 느린 다이 | (결함 아님, 성능 미달) | 셔무, 속도 빈닝 | 10, 12 |
테스트 흐름: 웨이퍼에서 출하까지
칩 하나는 공장을 떠나기 전에 보통 서너 번 테스트를 받는다. 각 단계는 앞 단계가 잡지 못한 것, 앞 단계에서는 아직 생기지 않은 것을 맡는다.
- 웨이퍼 테스트(Wafer test, wafer sort, EDS): 웨이퍼 상태에서 프로브 카드의 탐침을 다이의 패드나 범프에 대고 잰다. 목적은 조립 전에 불량 다이를 버려 패키지 비용을 아끼는 것이다. 연속성, 누설, 스캔, 메모리 BIST와 리페어가 여기서 돌아간다. 결과는 다이 좌표마다 빈 번호가 찍힌 빈 맵이 되어 수율 분석으로 간다.
- 조립(Assembly): 다이를 자르고, 범프로 기판에 붙이고, 봉지한다. 이 과정이 새 결함(범프 균열, 들뜸, 휨)을 만든다. 다이 수준의 품질 이야기는 PackagingBook의 주제다.
- 번인(Burn-in): 고온·고전압에서 수 시간 굴려 초기 고장을 앞당긴다. 자동차·서버 제품은 대부분 하고, 모바일 제품은 비용 때문에 생략하거나 표본으로만 한다(11장).
- 파이널 테스트(Final test, FT): 패키지 상태에서 핸들러가 소켓에 꽂아 잰다. 조립 결함, 실속도 성능, 아날로그·고속 I/O, 속도 등급 분류가 여기서 이루어진다.
- 시스템 레벨 테스트(System-level test, SLT): 실제 보드와 비슷한 환경에서 운영 체제를 부팅하고 실사용 작업을 돌린다. 구조적 테스트가 놓친, 여러 블록이 엮여야 드러나는 결함을 잡는다. 느리지만 싸다.
단계마다 잡는 결함이 다르다는 것이 핵심이다. 웨이퍼 테스트는 다이의 결함 대부분을 잡지만, 탐침으로는 고속 신호를 다루기 어렵고 패키지 결함은 아직 생기지도 않았다. 파이널 테스트는 실속도와 패키지를 보지만, 여러 블록이 실제 소프트웨어로 동시에 엮일 때만 생기는 결함은 놓친다. SLT는 그것을 잡지만 개당 2분이 걸리고, 어느 회로가 틀렸는지는 알려 주지 못한다. 그리고 시간 0에 멀쩡한 잠재 결함은 어느 전기 테스트로도 잡히지 않는다. 번인만이 그것을 앞당겨 드러낸다. 아래 시뮬레이터에서 단계를 하나씩 끄고 켜 보며 출하 품질과 비용이 어떻게 바뀌는지 보자.
테스트 흐름: 칩이 흘러가며 걸러진다
10배 법칙: 일찍 잡을수록 싸다
같은 결함이라도 어디서 잡느냐에 따라 치르는 값이 다르다. 웨이퍼 테스트에서 잡으면 버리는 것은 다이 하나다. 파이널 테스트에서 잡으면 다이에 더해 기판·조립·테스트 비용까지 버린다. 고객의 보드 공장에서 발견되면 보드를 다시 손봐야 하고, 이미 스마트폰이 되어 사용자 손에서 고장 나면 반품·교체·물류·브랜드 손상이 붙는다. 업계는 이것을 단계마다 비용이 대략 열 배씩 뛴다는 10배 법칙(Rule of ten)으로 요약한다.
숫자로 따져 보자. TB-7은 한 해에 1,000만 개를 출하한다. 웨이퍼 수율이 85%이므로 투입 다이는 약 1,180만 개이고 그중 약 177만 개가 불량이다. 웨이퍼 테스트가 이 가운데 99.5%를 잡으면 약 8,800개가 조립으로 넘어간다. 파이널 테스트가 그중 90%를 잡고, 남은 880개 가운데 절반을 고객의 보드 테스트가 잡는다면 나머지 440개는 스마트폰 안에서 고장 난다. 비용은
웨이퍼 단계에서 버리는 다이 비용($5.3M)은 수율이 정하는 것이라 테스트가 줄일 수 없다. 테스트가 바꿀 수 있는 것은 뒤로 흘러가는 개수와 테스트 시간이다. 커버리지를 높이면 패턴이 늘어 테스트 시간이 길어지고, 그만큼 모든 다이에 비용이 붙는다. 그래서 총비용에는 최소점이 있다. 아래 계산기에서 직접 찾아보자. 이 최적화는 13장에서 더 정밀한 모델로 다시 한다.
10배 법칙 계산기: 총비용의 최소점을 찾아라
수율, 커버리지, 결함 수준
테스트가 완벽하지 않으면 불량 다이 일부가 합격으로 나간다. 그 비율, 즉 합격한 개체 가운데 실제로는 불량인 것의 비율을 결함 수준(Defect level, DL)이라 한다. 출하 품질 그 자체다. 결함 수준은 두 가지에 달려 있다. 테스트 전에 불량이 얼마나 많았는가(수율), 그리고 테스트가 그중 얼마를 잡는가(커버리지).
다이마다 결함이 평균 \(\lambda\)개씩 포아송 분포로 떨어진다고 하자. 결함이 하나도 없을 확률이 수율이다.
테스트는 결함 하나하나를 확률 \(T\)로 검출한다. 이것이 결함 커버리지(Defect coverage)다. 다이가 합격하려면 그 다이에 있는 모든 결함이 검출되지 않아야 한다. 포아송 분포에서 각 사건을 확률 \(T\)로 골라내면 골라진 것도 포아송 분포를 따르므로(포아송 솎아내기), 다이에 검출되는 결함이 하나도 없을 확률은 \(e^{-\lambda T} = Y^T\)다. 합격한 다이 가운데 결함이 정말로 하나도 없는 것은 \(Y\)이므로 결함 수준은
식이 말하는 것은 단순하다. DPPM은 놓친 폴트의 비율에 비례하고, 비례 상수는 수율의 로그다. 수율 85%인 TB-7에서 커버리지 99%는 약 1,620 DPPM, 99.9%는 162 DPPM이다. 커버리지에 9를 하나 더 붙일 때마다 DPPM이 열 배씩 준다. 목표 50 DPPM을 맞추려면
가 필요하다. 다이당 결함 1만 개 가운데 3개만 놓쳐도 되는 수준이다. 고착 폴트 커버리지 99%를 넘기는 것도 쉽지 않은데, 99.97%의 결함 커버리지는 고착 폴트 하나로는 결코 닿지 못한다. 고착 폴트가 모든 결함을 대변하지 않기 때문이다.
윌리엄스–브라운 결함 수준과 몬테카를로 확인
| 결함 커버리지 T | Y = 50% | Y = 85% (TB-7) | Y = 95% |
|---|---|---|---|
| 90% | 67,000 | 16,100 | 5,100 |
| 99% | 6,900 | 1,620 | 513 |
| 99.9% | 693 | 163 | 51 |
| 99.97% | 208 | 49 | 15 |
| 99.99% | 69 | 16 | 5 |
표의 숫자는 DPPM이다. 같은 커버리지라도 수율이 낮은 신공정에서는 유출이 몇 배로 늘어난다. 공정 초기에 테스트를 더 두껍게 하고, 수율이 오르면 테스트를 줄이는 이유가 이것이다.
윌리엄스–브라운 식의 \(T\)는 실제 결함 가운데 검출되는 비율이다. ATPG 도구가 보고하는 것은 모델 폴트의 커버리지다. 고착 폴트 커버리지 99.2%는 고착 폴트 목록의 99.2%를 검출했다는 뜻이지, 실제 결함의 99.2%를 잡는다는 뜻이 아니다. 저항성 비아나 셀 내부 결함 상당수는 고착 폴트 목록에 아예 없다. 그래서 천이 폴트, 셀 인식 폴트, IDDQ, 실속도, SLT를 겹쳐 결함 커버리지를 끌어올린다(5장). 결함 커버리지는 직접 잴 수 없고, 출하 후 반품률에서 거꾸로 추정한다.
테스트의 두 가지 오류: 과잉 불량과 유출
테스트는 판정이다. 판정에는 두 방향의 오류가 있다. 좋은 개체를 불량으로 버리는 것이 과잉 불량(Overkill, yield loss, false reject)이고, 불량을 합격으로 내보내는 것이 유출(Escape, test escape, false accept)이다. 통계의 1종·2종 오류와 같다. 과잉 불량은 수율을, 유출은 품질을 깎는다.
논리 테스트(스캔 패턴)의 판정은 0과 1이라 잡음이 거의 없다. 오류는 주로 커버리지 부족에서 나온다. 반면 전류, 전압, 주파수처럼 연속값을 재는 파라메트릭 테스트(Parametric test)에서는 측정 잡음과 한계값 위치가 두 오류를 정한다. 아래 시뮬레이터는 전원 전류를 재서 누설이 큰 다이를 거르는 상황이다. 대부분의 다이는 30 mA 근처에 모이지만, 게이트 산화막 결함이 있는 다이는 전류가 크다. 사양은 40 mA이고, 측정값이 한계를 넘으면 불합격이다.
과잉 불량 vs 유출: 한계선을 끌어 보자
DPPM과 FIT: 품질을 세는 두 단위
출하 품질을 세는 단위는 둘이다. DPPM은 출하 시점(시간 0)에 이미 불량인 개체의 비율이다. 고객이 받자마자 보드에 붙여 테스트했을 때 떨어지는 비율이라고 생각하면 된다. 결함 수준 \(DL\)에 \(10^6\)을 곱한 값이다.
FIT(Failures in time)은 사용 중에 고장 나는 빈도다. 기기 10억 시간당 고장 수로 정의한다.
DPPM은 테스트가 놓친 것이고, FIT는 테스트를 통과한 뒤에 생기는 것이다. 둘을 가르는 것이 잠재 결함이다. 출하 직후 수 주에서 수 개월 사이에 집중되는 초기 고장(Infant mortality)은 시간 0에는 멀쩡했으니 DPPM에 잡히지 않지만, 사용 초기에 FIT가 높게 나타난다. 번인은 이 초기 고장을 공장 안에서 미리 소진시켜 DPPM과 초기 FIT를 함께 낮춘다(11장).
출하 품질 계산기: 1,000만 개가 현장에서 겪는 일
책의 지도
이 책은 테스트 흐름을 따라 다섯 단계로 나아간다. 먼저 장비와 접촉이다. 테스트는 칩에 신호를 넣고 응답을 재는 일이니, 그 일을 하는 장비(ATE)와 장비를 칩에 잇는 프로브 카드·소켓, 가장 기본적인 DC 측정부터 본다. 다음은 폴트와 DFT다. 수십억 트랜지스터를 수백 개의 핀으로 검사하려면 설계 단계에서 칩 안에 테스트용 구조(스캔, BIST, 테스트 접근망)를 심어야 한다. 그다음 측정과 한계에서 아날로그·고속 회로를 재는 방법과, 측정 잡음 속에서 합격선을 긋는 방법을 다룬다. 번인과 분류는 시간 0에 보이지 않는 결함을 앞당기고 개체를 등급별로 나눈다. 마지막 비용과 흐름은 이 모든 것을 개당 테스트 비용과 하나의 테스트 흐름으로 묶고, 데이터가 수율로 돌아가는 고리를 닫는다.
TB-7 테스트 계획서 미리 보기
TB-7 테스트 계획
50 DPPM이면 결함 커버리지 99.97%: 테스트를 겹쳐야 한다
계획서의 첫 줄은 목표다. TB-7은 고객 출하 불량 50 DPPM 이하, 연간 1,000만 개 출하를 약속한다. 다이 0.81 cm²에 결함 밀도 0.2개/cm²이면 웨이퍼 테스트 수율은 \(e^{-0.162}\approx85\%\)다. 이 두 숫자를 윌리엄스–브라운 식에 넣으면 필요한 결함 커버리지는 \(T = 1 - \ln(1-50\times10^{-6})/\ln 0.85 \approx 99.97\%\)다. 다이에 떨어진 결함 1만 개 가운데 3개만 놓쳐도 되는 수준이다.
고착 폴트 커버리지 하나로는 이 수준에 닿지 못한다. 저항성 비아는 실속도 테스트에서만, 산화막 결함은 전류 측정에서만, 조립 결함은 패키지 상태에서만, 블록 사이의 상호작용은 실사용 작업에서만 드러난다. 그래서 TB-7의 테스트 흐름 초안은 웨이퍼 테스트(DC·스캔·MBIST·리페어) → 조립 → 파이널 테스트(실속도·혼성 신호·속도 등급) → SLT로 한다. 결함 하나를 현장에서 잡으면 $500, 웨이퍼에서 잡으면 $3이므로 각 단계는 앞에서 잡을 수 있는 것은 앞에서 잡는다. 전수 번인은 개당 비용이 너무 커서 초안에서 뺀다(11장에서 다시 검토).
핵심 정리
- 양산 테스트는 "이 개체가 설계대로 만들어졌는가"를 모든 다이에 묻는 전수 검사다. 설계 검증·특성 평가·신뢰성 시험과 질문이 다르다.
- 결함은 물리, 폴트는 그것의 논리 모델, 오류는 폴트가 드러난 틀린 값, 고장은 그것이 출력까지 전파된 사건이다. 테스트 패턴은 폴트를 활성화하고 전파한다.
- 테스트 흐름은 웨이퍼 테스트 → 조립 → (번인) → 파이널 → SLT이며, 단계마다 잡는 결함이 다르다. 잠재 결함은 어떤 시간 0 테스트로도 잡히지 않는다.
- 10배 법칙: 결함을 늦게 잡을수록 비용이 자릿수로 뛴다. TB-7은 $3 → $5 → $50 → $500. 테스트 비용과 유출 비용의 합에는 최소점이 있다.
- 윌리엄스–브라운 식 \(DL = 1 - Y^{1-T} \approx (1-T)(-\ln Y)\). TB-7(Y = 85%)이 50 DPPM을 맞추려면 결함 커버리지 약 99.97%가 필요하다.
- 판정 오류는 과잉 불량(수율 손실)과 유출(품질 손실) 두 방향이다. 측정 잡음이 있는 한 한계를 옮기는 것만으로는 둘을 함께 줄일 수 없다.
- DPPM은 시간 0의 유출, FIT는 사용 중 고장률(10억 기기·시간당)이다. 초기 고장은 그 사이에 있고 번인이 겨냥하는 대상이다.
확인 퀴즈
수율 90%인 제품을 결함 커버리지 99%로 테스트했다. 윌리엄스–브라운 식으로 구한 출하 결함 수준은 약 얼마인가?
어떤 다이는 저속 스캔 고착 패턴을 모두 통과했지만 3.2 GHz에서 동작하지 않는다. 가장 그럴듯한 결함과 그것을 잡는 테스트의 짝은?
TB-7은 파이널 테스트에서도 불량을 잡을 수 있는데 굳이 웨이퍼 테스트를 하는 가장 큰 이유는?
전원 전류 테스트에서 측정 잡음은 그대로 두고 한계값만 사양보다 안쪽으로 당겼다. 일어나는 일은?