상기 기술적 과제를 이루기 위하여 본 발명은,
웨이퍼에 다수개의 반도체 장치들을 제조하는 공정을 진행하는 반도체 공정 설비로부터 상기 웨이퍼의 공정을 진행하는데 필요한 공정 파라메타들 및 상기 웨이퍼의 공정 완료후에 상기 웨이퍼를 측정한 측정 데이터를 입력하고, 상기 공정 파라메타 및 측정 데이터를 정규화하고 분해하여 노이즈를 제거하는 필터; 상기 필터로부터 정규화되고 분해된 공정 파라메타 및 측정 데이터를 받아서 수학식(X × P ×M × Q')(X는 공정 파라메타, P는 공정 파라메타의 로딩 벡터, M은 X와 Y를 매핑한 행렬, Q'는 계측 데이터의 로딩 벡터에 대한 전치행렬)을 이용하여 상기 반도체 장치들의 공정 결과를 예측하기 위한 공정 모델을 생성하는 모델 생성부; 외부의 요청에 따라 상기 모델 생성부에 저장된 다수개의 공정 모델들 중에서 특정 웨이퍼의 공정을 진행하는데 적합한 공정 모델을 선택하는 모델 선택부; 상기 반도체 공정 설비로부터 상기 특정 웨이퍼의 공정을 진행하기 위한 공정 파라메타를 전송받아서 상기 모델 선택부에 공정 모델을 요청하여 수신하고, 상기 수신한 공정 모델을 이용하여 상기 특정 웨이퍼의 공정 결과를 예측하는 공정 예측부; 및 상기 공정 예측부로부터 상기 예측 결과를 받아서 상기 반도체 공정 설비의 동작을 제어하는 공정 제어부를 구비하는 것을 반도체 공정 제어 장치를 제공한다.
삭제
바람직하기는 또한, 상기 모델 생성부는 Non-Iteration 방법으로 PLS를 변형하여 상기 공정 모델을 생성한다.
바람직하기는 또한, 상기 공정 제어부는 상기 예측 결과 상기 웨이퍼가 불량될 것으로 판단되면 경보를 발하고, 또, 상기 예측 결과 상기 웨이퍼가 불량될 것으로 판단되면 상기 반도체 공정 설비의 공정 진행을 중단시키며, 또한, 상기 예측 결과 상기 웨이퍼가 불량될 것으로 판단되면 상기 반도체 공정 설비의 공정 파라메타를 조정한다.
바람직하기는 또한, 상기 필터 및 공정 예측부는 상기 반도체 공정 설비에서 전송되는 데이터를 직접 수신하지 않고 상기 반도체 공정 설비를 제어하는 설비 제어기를 통해서 수신한다.
바람직하기는 또한, 상기 모델 생성부에 연결되며, 상기 모델 생성부로부터 상기 생성된 공정 모델을 받아서 저장하는 모델 데이터베이스를 더 구비한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 반도체 공정 제어 장치 및 이에 연결된 장치들의 블록도이다. 도 1을 참조하면, 반도체 공정 제어 장치(101)는 설비 제어기(111)에 연결되며, 설비 제어기(111)는 다수개의 반도체 공정 설비들(121a∼121n)에 연결된다.
반도체 공정 설비들(121a∼121n)은 각각 웨이퍼에 반도체 장치들을 제조하고, 공정이 완료된 반도체 장치들을 측정한다. 반도체 공정은 일반적으로 확산(Diffusion) 공정, 포토(Photo) 공정, 에치(Etch) 공정, 스퍼터(Sputter) 공정, 씨브이디(CVD; Chemical Vapor Deposition) 공정, 임프랜트(Implant) 공정, 씨엠피(CMP; Chemical & Mechanical Polishing) 공정 및 클린(Clean) 공정으로 구분된다. 각 공정 별로 다양한 반도체 공정 설비들(121a∼121n)을 이용하여 웨이퍼에 반도체 장치들을 제조하며, 각 공정의 진행 결과를 평가하기 위해 반도체 공정 설비들(121a∼121n)은 제조가 완료된 반도체 장치들을 측정한다. 반도체 공정 설비들(121a∼121n)로는 에칭 장비(Etcher), 리쏘그래퍼(Lithographer), 셈(SEM; Scanning Electron Microscope) 등이 있다.
설비 제어기(111)는 반도체 공정을 진행 중인 반도체 공정 설비들(121a∼121n)을 제어하고, 반도체 공정 설비들(121a∼121n)로부터 데이터를 받아 반도체 공정 제어 장치(101)로 전달한다. 즉, 설비 제어기(111)는 반도체 공정 설비들(121a∼121n)로부터 공정 파라미터, PM(Preventive Maintenance) 시점, 환경변수 등과 같은 정보를 받아 반도체 공정 제어 장치(101)로 전송하고, 반도체 공정 제어 장치(101)로부터 받은 명령으로 반도체 공정 설비들(121a∼121n)을 제어한다. 이 때의 제어는 반도체 공정 설비들(121a∼121n)의 자동 조작 혹은 수동 조작을 의미한다.
반도체 공정 제어 장치(101)는 공정 제어기로부터 공정 파라메타 및 측정 데이터를 받아서 공정 모델을 생성하여 저장한다. 후에, 반도체 공정 설비들(121a∼121n)이 웨이퍼에 반도체 장치들을 제조하는 반도체 공정을 진행할 때, 반도체 공정 제어 장치(101)는 설비 제어기(111)를 통하여 공정 파라메타를 받아서, 반도체 공정 진행 결과를 예측하고, 그 결과에 따라 반도체 공정 설비들(121a∼121n)을 제어한다.
반도체 공정 제어 장치(101)는 FDC(Fault Detection and Classification), APC(Advanced Process Control), RMM(Recipe Management Module)과 같은 어플리케이션 모듈을 구축하고 있는 EES(Equipment Engineering System)에 포함될 수 있다.
반도체 공정 제어 장치(101)는 반도체 공정 설비들(121a∼121n)을 제어하기 위하여 PI(Partial Integrals), PD(Partial Derivatives), PID(Partial Integral and Derivatives), MPC(Model Predictive Control), 변형된 PLS(Partial Least Square)와 같은 설비 제어 방법들을 사용하여 반도체 공정 설비들(121a∼121n)을 제어하기도 한다.
반도체 공정 제어 장치(101)에 대해서는 도 2를 통하여 상세히 설명하기로 한다.
도 2는 도 1에 도시된 반도체 공정 제어 장치(101)의 블록도이다. 도 2를 참조하면, 반도체 공정 제어 장치(101)는 필터(211), 모델 생성부(221), 모델 선택 부(251), 공정 예측부(241) 및 공정 제어부(261)를 구비한다.
필터(211)는 웨이퍼에 다수개의 반도체 장치들을 제조하기 위한 다수개의 공정들 중 한 공정을 진행하는 반도체 공정 설비들(121a∼121n)로부터 상기 반도체 장치들을 제조하는데 필요한 공정 파라메타(IP1) 및 상기 반도체 장치들의 공정이 완료되어 측정된 데이터(DO)를 받으며, 공정 파라메타(IP1)에 포함된 노이즈를 제거하고, 이를 정규화 및 분해한다.
모델 생성부(221)는 반도체 공정 설비들(121a∼121n)로부터 상기 웨이퍼의 공정 완료후 상기 웨이퍼를 측정한 측정 데이터, 및 필터(211)로부터 전송되는 공정 파라메타를 받아서 상기 웨이퍼의 공정 결과를 예측하기 위한 공정 모델을 생성한다.
모델 데이터베이스(231)는 모델 생성부(221)에 연결되며, 모델 생성부(221)로부터 상기 생성된 공정 모델을 받아서 저장한다. 모델 데이터베이스(231)는 모델 생성부(221)에 포함될 수도 있다.
모델 선택부(251)는 공정 예측부(241)의 요청에 따라 모델 생성부(221)에 저장된 다수개의 공정 모델들 중에서 특정 웨이퍼의 공정을 진행하는데 적합한 공정 모델을 선택한다.
공정 예측부(241)는 반도체 공정 설비들(121a∼121n)로부터 상기 특정 웨이퍼의 공정을 진행하기 위한 공정 파라메타들(IP2)을 전송받아서, 모델 선택부(251)에 공정 모델을 요청하여 수신하고, 상기 수신한 공정 모델을 이용하여 상기 특정 웨이퍼의 공정 진행 결과를 예측한다.
공정 제어부(261)는 공정 예측부(241)로부터 상기 예측된 값을 받아서 반도체 공정 설비들(121a∼121n)을 제어한다. 즉, 공정 제어부(261)는 상기 예측값을 분석하여 상기 웨이퍼가 불량으로 판단되면 반도체 공정 설비들(121a∼121n)의 동작을 중단하고, 반도체 공정 설비들(121a∼121n)을 조작하는 작업자나 운영자에게 경고를 발한다. 또한, 공정 제어부(261)는 PI, PD, PID, MPC, 변형된 PLS와 같은 방법을 통해 반도체 공정 설비들(121a∼121n)을 제어하기도 한다.
도 3은 도 1에 도시된 반도체 공정 제어 장치(101)에 의한 공정 모델 생성 방법을 도시한 흐름도이다. 도 1 및 도 2를 참조하여 도 3에 도시된 공정 모델을 생성하는 방법을 설명하기로 한다.
제1 단계(311)로써, 반도체 공정 설비들(121a∼121n)에서 다수개의 웨이퍼들을 가공하는 공정들을 진행하고, 상기 공정들을 진행할 때마다 사용된 공정 파라메타들과 측정 데이터를 설비 제어기(111)로 전송한다.
제2 단계(321)로써, 설비 제어기(111)는 일정 기간동안 상기 공정 파라메타들과 상기 측정 데이터를 수집하여 반도체 공정 제어 장치(101)로 전송한다.
제3 단계(331)로써, 반도체 공정 제어 장치(101)는 상기 수신한 공정 파라미터들과 측정 데이터에 포함된 노이즈를 제거한다. 즉, 반도체 공정 제어 장치(101)는 상기 수신한 공정 파라메타들과 측정 데이터에 대해 정규화 및 분해 과정을 수행하고, 그 결과, 이상점이 발견되면 이를 제거하고, 다시 정규화하고 분해하는 과정을 수행하여 조건에 맞는 데이터를 선정한다.
공정 파라메타를 정규화하고 분해하는 과정을 설명하기로 한다.
공정 파라메타를 x라 하면, x는 배열의 형태로 구성되어 있다. 예를 들어, MFC(Mass Flow Controller)에서 읽히는 개스값을 10[sccm], 열 센서에서 읽히는 온도값을 50[℃], 압력 게이지에서 읽히는 압력값을 15[psi]라고 할 때, 반도체 공정 설비들(121a∼121n)에서 이벤트(Event)가 발생하는 시점, 혹은 사용자가 데이터를 받기 원하는 반도체 공정의 어느 시점에서 공정 파라메타 x는 [10 50 15]의 1차원 벡터값으로 저장될 수 있다. 이와 같은 데이터가 일정기간 쌓이게 되면 공정 파라메타는 이벤트 m이 발생하였을 때, 데이터 m개를 모을 수 있고, 측정되는 변수가 n개일 경우 (m*n)의 행렬이 된다. 그러나, 측정되는 변수값은 각각 단위를 가지고 있기 때문에 단위에 대한 종속성이 발생하여 사용자가 원하는 단위로 데이터를 변환할 경우 데이터가 크게 변하는 문제가 생긴다. 예를 들어 14.7[psi]는 1[atm]이고 1.014[kPa]이기 때문에 어느 단위를 선택하느냐에 따라 압력 게이지에서 읽히는 압력값이 변동될 수 있고, 기존 모델을 사용할 수 없는 경우도 생긴다. 또, 측정 변수들간의 상관관계를 이용하여 가장 상관관계가 큰 변수를 기준으로 성분을 분해하는 방법이 사용되어야 한다.
따라서, 공정 파라메타는 정규화 과정을 거쳐야 하는데, 일정기간 취합한 데이터에서 평균치와 표준편차값을 계산하여 아래 수학식 1과 같이 정규화하면 단위가 없어지고, 평균치 0, 표준편차값 1의 정규화값을 만들 수 있다.
i번째 벡터 x를 xi 라고 하면, 정규화값(zi)은 아래 수학식 1과 같다.
여기서, xi의 평균값과 xi의 표준편차값은 다음 수학식 2와 같다.
xi의 표준편차값을 (m-1)로 나누는 이유는 샘플링된 표준편차값을 구하기 때문이다. 샘플링이 잘되었다고 가정하면 정규분포에 가깝게 되는데, 이를 위해서 (m-1) 값을 사용하여 바이어스되지 않은 샘플링(unbiased sampling)을 해야 한다.
정규화된 (m*n)의 행렬을 X라고 하면 X는 다음 수학식 3과 같이 분해된다.
X = T × P' + E
여기서, T는 공정 파라메타의 스코어 벡터(Score Vector)이고, P는 공정 파라메타의 로딩 벡터(Loading Vector)이며, E는 공정 파라메타의 에러이다.
상기와 같이 X를 분해하는 이유는 X의 상관관계를 이용하여 새로운 좌표축으로 로딩 벡터(P)를 만들고, 상기 좌표축으로 변환된 값인 스코어 벡터(T)를 사용하기 위함이다. P'는 P의 전치행렬(Transpose)을 나타낸다. 이와 같이 행렬을 변환하면 에러(E)가 발생한다. 본 발명에서는 상기 에러(E)를 경계값(threshold)인 0.001 로 정하고, 상기 에러(E)가 0.001 미만일 때만 모델링(modeling)이 가능하도록 한다.
간혹 헌팅(Hunting)과 같은 센서의 일시적인 불량이나 데이터의 혼선 등으로 인해 생기는 노이즈를 제거하기 위해 이미 직교좌표로 구성되어 있는 스코어 벡터(T)를 이용하여 다차원 공간 거리를 계산하고, 이를 이용하여 이상점으로 판별한다. 그리고, 스코어 벡터(T)에서 각 파라메타의 기여율을 계산한 다음 기여율이 가장 높은 파라메타의 모델링 구간에서의 변동을 확인하여 이상유무를 판별한다. 이 때, 이상점 즉, 노이즈가 발견되면 상기 이상점을 제거한 후 상기 수학식 1 내지 수학식 3을 이용하여 공정 파라메타를 정규화하고 분해한다.
동일한 방법으로 계측 데이터에 대해 정규화하고, 아래 수학식 4와 같이 분해하여 계측 데이터에 대한 이상점을 제거한다.
Y = U × Q' + F
여기서, U는 계측 데이터에 대한 스코어 벡터이고, Q는 계측 데이터에 대한 로딩 벡터이며, F는 계측 데이터에 대한 에러이다.
예를 들어, 반도체 공정 제어 장치(101)에 수신된 공정 파라메타들이 다음 표 1과 같다고 가정한다.
가스 |
온도 |
압력 |
5 |
6 |
7 |
2 |
3 |
4 |
1 |
5 |
3 |
3 |
2 |
2 |
수학식 1 및 2를 이용하여 공정 파라메타들을 정규화하면 X는 다음 표 2와 같다.
1.317465 |
1.095445 |
1.38873 |
-0.43916 |
-0.54772 |
0 |
-1.0247 |
0.547723 |
-0.46291 |
0.146385 |
-1.09545 |
-0.92582 |
수학식 3에 따라 X를 직교 좌표를 만들어 분해하면 공정 파라메타들의 스코어 벡터(T)는 다음 표 3과 같다.
-2.1972 |
0.1838 |
0.0518 |
0.5302 |
0.0549 |
-0.4569 |
0.5449 |
-1.1128 |
0.1704 |
1.1222 |
0.8742 |
0.2347 |
또한, 공정 파라메타들의 로딩 벡터(P)는 다음 표 4와 같다.
-0.5284 |
0.7288 |
0.4355 |
-0.5444 |
-0.6845 |
0.4849 |
-0.6515 |
-0.0191 |
-0.7584 |
또한, 에러(E)는 다음 표 5와 같다.
에러(E)의 요소들이 모두 경계값인 0.001 이하이므로 수학식 3은 (X=T×P')로 되며, 그 결과는 다음 표 6과 같다.
1.317465 |
1.095445 |
1.38873 |
-0.43916 |
-0.54772 |
0 |
-1.0247 |
0.547723 |
-0.46291 |
0.146385 |
-1.09545 |
-0.92582 |
다음에, 예를 들어, 반도체 공정 제어 장치(101)에 수신된 측정 데이터가 다음 표 7과 같다고 가정한다.
상기 측정 데이터를 정규화하면 Y는 다음 표 8과 같다.
-0.78335 |
-0.78335 |
0.261116 |
0.261116 |
-0.78335 |
1.305582 |
1.305582 |
-0.78335 |
수학식 4에 따라 Y를 직교 좌표를 만들어 분해하면 측정 데이터의 스코어 벡터(U)는 다음 표 9와 같다.
0 |
1.1078 1.1078 |
0 |
-0.3693 |
-1.4771 |
-0.3693 |
1.4771 |
-0.3693 |
또한, 측정 데이터의 로딩 벡터(Q)는 다음 표 10과 같다.
0.7071 |
-0.7071 |
-0.7071 |
-0.7071 |
제4 단계(341)로써, 상기 정규화되고 분해된 X와 Y를 이용하여 공정 모델을 생성한다. 공정 모델은 다음 수학식 5와 같다.
Y = X × P ×M × Q'
여기서, X는 공정 파라메타이고, P는 공정 파라메타의 로딩 벡터이고, M은 수학식 3의 X와 수학식 4의 Y를 매핑(Mapping)한 행렬이고, Q'는 계측 데이터의 로딩 벡터에 대한 전치행렬이다.
수학식 5에 따라 상기 예제의 정규화되고 분해된 X값과 Y값을 이용하여 공정 모델값을 구하면 다음 표 11과 같다.
-0.78335 |
-0.78335 |
0.261116 |
0.261116 |
-0.78335 |
1.305582 |
1.305582 |
-0.78335 |
이와 같이, 기존의 PLS(Partial Least Square)를 응용하여 수학식 5와 같은 공정 모델을 생성할 수가 있다. 즉, 수학식 5에 의해 매핑된 값은 Non-Iteration 방법으로 PLS(Partial Least Square)를 변형하여 구할 수가 있다.
제5 단계(351)로써, 상기 공정 모델을 모델 데이터베이스(231)에 저장한다.
도 4는 도 1에 도시된 반도체 공정 제어 장치(101)에 의한 공정 제어 방법을 도시한 흐름도이다. 도 1 및 도 2를 참조하여 도 4에 도시된 공정 모델을 생성하는 방법을 설명하기로 한다.
제1 단계(411)로써, 반도체 공정 설비들(121a∼121n)이 특정 웨이퍼에 반도체 장치들을 제조하는 공정을 진행하기 위한 공정 파라메타들을 설비 제어기(111)로 전송한다.
제2 단계(421)로써, 반도체 공정 설비들(121a∼121n)은 상기 공정 파라메타들을 공정 예측부(241)로 전송한다.
제3 단계(431)로써, 공정 예측부(241)는 공정 모델을 모델 선택부(251)에 요청한다.
제4 단계(441)로써, 모델 선택부(251)는 상기 공정 파라메타들을 이용하여 공정을 진행하는데 가장 적합한 공정 모델을 모델 데이터베이스(231)로부터 선택하여 공정 예측부(241)로 전송한다.
제5 단계(451)로써, 공정 예측부(241)는 상기 수신한 공정 모델 예컨대, 수학식 5를 이용하여 웨이퍼의 공정 진행 결과를 예측한다. 예컨대, 특정 웨이퍼에 대한 공정을 진행하고자할 경우에 공정 파라메타를 정규화한 값이 아래 표 12와 같다고 가정한다.
-1.0247 |
0.547723 |
-0.46291 |
그러면, 수학식 5에서 X 대신에 상기 표 12에 기재된 값을 대입하여 예측값을 계산하면, 예측값은 아래 표 13과 같다.
표 13에 기재된 바와 같이, 상기 웨이퍼에 대한 공정을 진행할 경우, 예측되는 측정 데이터는 표 11에 도시된 바와 같게 된다.
상기와 같이, 공정 예측부(241)는 특정 웨이퍼에 대한 반도체 공정을 진행하기 전에 공정 파라메타들을 가지고 공정 완료 후의 측정 데이터를 예측할 수가 있다.
제6 단계(461)로써, 공정 제어부(261)는 공정 예측부(241)로부터 공정 예측값을 받아서 상기 웨이퍼의 불량 여부를 판단한다. 즉, 공정 제어부(261)는 상기 예측값이 기 설정된 상한선과 하한선 범위 안에 있으면 상기 웨이퍼의 공정 진행 결과를 양호로 판단하고, 상기 예측값이 상기 상한선과 하한선 범위를 벗어나면 상기 웨이퍼의 공정 진행 결과를 불량으로 판단한다. 상기 상한선과 하한선은 공지된 방법 중에 하나인 싱글 응답(Single Response) 방법으로 결정할 수가 있다.
공정 제어부(261)는 웨이퍼에 대해 불량 판정이 나면, 작업자나 운영자에게 경고를 발하고, 반도체 공정 설비들(121a∼121n)에 인터락(interlock)을 걸어서 반도체 공정 설비들(121a∼121n)의 동작을 중단시킨다.
또한, 공정 제어부(261)는 상기 예측값으로 반도체 공정 설비들(121a∼121n)의 공정 파라미터들을 조정한다. 공정 제어부(261)는 수학식 3의 A와 수학식 4의 Y를 매핑해주기 위한 행렬 M은 공정 파라메타들을 직교좌표로 변환한 스코어 벡터(수학식 3의 T)와 측정 데이터를 직교좌표로 변환한 스코어 벡터(수학식 4의 U)에서 어떤 것이 반도체 공정 설비들(121a∼121n)에 가장 영향을 주는 파라메타들인지에 대한 정보를 가지고 있다. 이 정보에 따라 영향력이 가장 큰 파라메타 순으로 조정할 수 있는데, 이 때 사용되는 방법은 PID(Partial Integral & Derivative), PD(Partial Derivative), 변형된 PLS(Partial Least Squares)(수학식 5), MPC(Model Predictive Control) 등이 있다. 작업자는 이들 중에서 원하는 방법을 선택하여 적용할 수 있으며, 반도체 공정 제어 장치(101)에서 공정 파라메타들을 조정할 수 있도록 변수를 제어할 수 있게 할 수가 있다. PID, PD, MPC는 기 공지된 방법이므로 구체적인 설명을 생략하기로 한다.
반도체 공정 설비들(121a∼121n)을 제어하는 변수는 1가지 이상인데, 제어 변수가 1개일 때는 MPC, PID, PD 방법을 사용하여 항상 같은 값을 유지할 수 있도록 해주고, 변수가 여러 개일 때는 변형된 PLS(수학식 5) 방법을 사용하여 제어하는 것이 바람직하다.
공정 제어부(261)는 상기 공정 예측값을 상기 작업자나 운영자가 알기 쉬운 형태의 도표나 그래프로 만들어서 화면이나 프린터로 출력하거나, 또는 필요한 경우 보고서 형태로 출력하여, 상기 작업자나 운영자로 하여금 모델 생성부(221) 및 공정 제어부(261)의 동작 상황을 모니터링 할 수 있게 한다.
도 5는 가공될 웨이퍼에 대한 공정 예측값과 공정 완료 후의 실제 측정값을 비교하기 위하여 도시한 그래프이다. 도 5에 도시된 바와 같이, 공정 예측값은 실제 측정값과 매우 유사함을 알 수 있다.
도면과 명세서에서 최적 실시예가 개시되었으며, 여기서 사용된 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이며, 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 따라서, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능할 것이므로, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 기재된 기술적 사상에 의해 정해져야 할 것이다.