RTP 시스템에서 웨이퍼의 온도 균일도 제어

안효진, 양대륙, 이광순*

고려대학교 화학공학과

서강대학교 화학공학과*

Control of Wafer Temperature Uniformity in RTP System

Hyo Jin Ahn, Dae Ryook Yang, Kwang Soon Lee*

Dept. of Chemical Eng. Korea Univ.

Dept. of Chemical Eng. Sogang Univ.

서론

고속 열처리 공정(RTP)은 단일 웨이퍼 가공 공정으로 최근에 반도체 제조 공정에서 많이 적용되고 있으나 웨이퍼 표면의 온도 균일도의 유지가 아직 어려운 문제로 남아 있다. 본 연구에서는 기존의 LQG 제어 알고리즘에 학습제어가 가미된 BLQG 알고리즘을 실제 8 inch 웨이퍼용 RTP시스템에 적용하여 웨이퍼의 온도 제어 실험을 수행하였다. 알고리즘이 실제 시스템에서 모델 오차에도 불구하고 오차를 최소화하는 방향으로 수렴하여 가는지를 확인하는 것과 반복되는 외란을 제어를 통해서 최소화 시키는 것을 확인하는것에 목적을 두고 있다.

본론

실험에 사용한 RTP시스템은 8인치 웨이퍼용으로써, 개략도는 다음과 같다.

그림 1. RTP 시스템의 개략도

가열원으로는 19개의 2Kw-Max 선형타입의 텅스텐-할로겐 램프를 사용하였고, 온도의 측정은 K-type TC(Thermo Couple)를 웨이퍼 밑면의 center, 1/2radius, edge지점에 접촉시켜 측정하였다. 시스템과 제어를 위한 컴퓨터와의 인터페이스는 16bit A/D Converter와 12bit D/A Converter를 이용하였으며, 전원의 안정적인 공급을 위하여 TPR(Thyristor Power Regulator)를 사용하였다. 시스템은 3개의 입력신호와 3개의 출력신호로 이루어진 MIMO 시스템이다.

Experimental Design

전체 공정시간은 30초이고, 샘플링 시간은 0.5초로 하여 수행하였으며, 기준 온도궤적은 처음 10초동안 300℃에서 700℃로 가열한 후 20초동안 700℃에서 온도를 유지하는 것이다. 장치의 한계로 인하여 700℃보다 더 높은 기준 온도궤 적은 시도하지 않았다. 실험은 반복적인 외란이 없는 경우와 있는 경우의 두가지에 대하여 수행하였는데, 외란으로 사용한 것은 상온의 N2 기체를 사용하였고, 외란의 입력은 처음 17초동안 N2기체가 흐르지 않다가 17초후에 7□/min의 유량으로 MFC(Mass Flow Controller)를 사용하여 계단입력으로 투입하였다.

Model Identification

본 연구에서 사용한 BLQG 알고리즘은 시변 선형 state space 모델을 필요로 하는데, RTP시스템은 비선형성을 가지고 있고, 기준 온도 궤적을 따라 운전되기 때문에 시변 선형 모델로의 근사가 가능하고, 이의 적용을 해 보았다. 시변 선형 state space 모델을 구하는 과정은 다음과 같다.

1. 400℃에서 웨이퍼의 온도를 다중루프 PI제어기를 이용하여 안정화 시킨후 제어기를 끈 상태에서 정상상태의 램프입력에 120초동안 PRBS신호를 실어서 입력결과와 출력 결과를 얻는다.

2. 이렇게 얻은 Data를 기반으로 Subspace Identification 방법인 N4SID를 이용하여 Linear state space model을 찾는다.

3. 600℃에서도 1과 2의 과정을 반복한다.

4. 400℃와 600℃의 두 온도에서 구한 시불변 선형 모델을 state basis vector로변환하여 기준 궤적에 근거하여 변환된 모델을 내삽으로서 연결하여 전체적으로 하나의 시변 선형 모델을 구성한다.

Subspace Identification method로 찾아내어 구성한 time-varying stochastic state space model은 다음과같다.

[eqn: x(t+1)=A(t)x(t)+B(t)u(t)+K(t)v(t),~t=0,1,cdots,N]             (1)

[eqn: y(t)=C(t)x(t)+v(t),~~with~R_v (t)=E(v(t)v(t)^T )]

BLQG Formulation

일반적인 LQG 문제의 목적함수는 다음과 같이 주어진다.

[eqn: { min } atop {{}_{Deltau_k (·)}} J_k = E(e_k^T (N) M e_k (N)+sum_t=0^N-1 e_k^T (t) Q e_k (t)+Delta u_k^T (t) R Deltau_k (t) )]   (2)

위 식의 optimal solution은 Kalman filter와 LQR(Linear Quadratic Regulator)의 결합으로 주어진다. 여기서, [eqn: e_k (t) = {y}_k (t) - {y}_d (t)]이다. (1)식에서 오차를 나타내는 항인 [eqn: v_k (t)]는 다음과 같이 나누어질 수 있고, [eqn: v_k (t) = {barv}_k (t) + {hatv}_k (t)], [eqn: {barv}_k (t) - {barv}_{k-1} (t) = n_k (t)]이다. 여기서,[eqn: {hatv}_k (t)]와[eqn: {n}_k (t)]는 서로 독립된 random  sequence이고[eqn: {barv}_k (t)]는 지속적인 오차를 나타내며,[eqn: {hatv}_k (t)]은 미래에 사라질 항이다. 이렇게 하여 (1)식을 다시 정리하면 다음과 같다.

[eqn: {barx}_k (t+1)=A(t){barx}_k (t)+B(t)u_k (t)+K(t) {barv}_k (t)]            (3)

[eqn: {bary}_k (t)=C(t){barx}_k (t)+ {barv}_k (t)]

[eqn: {hatx}_k (t+1)=A(t){hatx}_k (t)+B(t)u_k (t)+K(t) {hatv}_k (t)]            (4)

[eqn: {haty}_k (t)=C(t){hatx}_k (t)+ {hatv}_k (t)]

(3)식을 run-wise로 차를 취하여 정리하면, 다음과 같다.

[eqn: Delta{barx}_k (t+1)=A(t)Delta{barx}_k (t)+B(t)Delta u_k (t)+K(t)n_k (t)]           (5)

[eqn: {bary}_k (t)=C(t)Delta{barx}_k (t)+ {bary}_{k-1} (t|t) + n_k (t)]

여기서, [eqn: {bary} _{k-1} (t|t)]는 k-1th run의 시간 t 에서의 추정값이다.

(4)식과 (5)식을 합하여 새로이 정리하면, 다음과 같은 식이 얻어진다.

[eqn: BMATRIX { {{hatx}_k (t+1) }# {Delta {barx}_k (t+1) }} = BMATRIX{{A(t)}&{0}#{0}&{A(t)}} BMATRIX { {{hatx}_k (t) }# {Delta {barx}_k (t)}} + BMATRIX { {0 }# {B(t)}} Delta u_k (t) + BMATRIX { {K(t){hatv}_k (t) }# {K(t) n_k (t)}}]  (6)

[eqn: y_k (t) = BMATRIX{{C(t)} &{C(t)}} BMATRIX { {{hatx}_k (t) }# {Delta {barx}_k (t)}} + {bary} _{k-1} (t|t) + {hatv}_k (t) + n_k (t)]

(5)식을 간단히 쓰면 다음과 같이 쓸 수 있다.

[eqn: z_k (t+1)=Phi(t)z_k (t)+Gamma(t)Delta u_k (t)+ zeta _k (t)]               (7)

[eqn: y_k (t) - {bary} _{k-1} (t|t) = Sigma(t)z_k (t)+ eta_k (t)]

여기서, [eqn: {bary} _{k-1} (t|t)]는 k-1th run의 시간 t 에서의 추정값이다.

Kalman filter equation은 다음과 같이 정리된다.

[eqn: z_k (t+1|t)=Phi(t)z_k (t|t)+Gamma(t)Delta u_k (t)]

[eqn: z_k (t|t)=z_k (t|t-1)+ tilde K (t) left[y_k (t) - {bary} _{k-1} (t|t)- Sigma(t) z_k (t|t-1) right]]   (8)

with

[eqn: tildeK (t) = left( Phi(t)S(t)Sigma(t)^T + R_{ zeta eta} right) left( Sigma(t)S(t)Sigma(t)^T +R_eta right) ^{-1}]

[eqn: S(t+1) = Phi(t)S(t)Phi(t)^T + R_zeta - tildeK (t) (Sigma(t)S(t)Sigma(t)^T + R_eta ) tildeK (t)^T]

[eqn: S(0) = E left{ z_k (0) - z_k (0|-1))(z_k (0) -z_k (0|-1))^T right}]

where,  [eqn: R_{zeta eta } = BMATRIX { {K(t) }& {0 }# {0 }& {K(t) } } R_eta] and [eqn: R_{zeta } = BMATRIX { {K(t) }& {0 }# {0 }& {K(t) } } R_eta BMATRIX { {K(t)^T }& {0 }# {0 }& {K(t)^T } }]

(2)식의 형태와 같은 추적제어 목적함수의 일반적인 해는 다음과 같이 주어진다.

[eqn: Delta u_k (t) =-L_fb (t) z_k (t|t)+L_ff (t)b_k (t+1)]                    (9)

[eqn: L_fb (t) = left[Gamma^T (t)P(t+1)Gamma(t)+R right]^{-1}Gamma^T (t)P(t+1)PHI(t)]

[eqn: L_ff (t) = left[Gamma^T (t)P(t+1)Gamma(t)+R right]^{-1} Gamma^T (t)]

[eqn: P(t)= Phi ^{T}(t)P(t+1) left[ Phi(t)-Gamma(t) L_{fb}(t) right ] +Sigma^{T}(t)Q Sigma(t)]

where,       [eqn: P(N)=Sigma^T (N)M Sigma(N)]

[eqn: b_k (t)=left[ Phi^T (t) - Gamma (t) L_ff (t) right ]^T b_k (t+1)+ Sigma^T (t) Q left[ y_d (t) - {bary} _{k-1} (t|t) right ]]

[eqn: b_k (N)= Sigma^T (N) Q left [ y_d (N) - {bary}_{k-1} (N|N) right ]]

[eqn: L_{ff} (t)] 와 [eqn: L_{fb} (t)]는 run-invariant이고, off-line으로 추정할 수 있다. [eqn: b_k (t)]는[eqn: k-1 ^{th}] run후에 계산된다. (8)식과 (9)식만이 실시간으로 계산하면 된다.

실험결과

그림2.는 외란이 없는 경우에 대해서 PI제어기와 BLQG 알고리즘을 적용하여 실험한 결과를 나타낸 것이고, 그림3.은 외란이 있는 경우에 PI제어기와 BLQG 알고리즘을 적용한 결과이다. BLQG 알고리즘은 전 batch운전 데이터가 필요한데, 1st batch의 운전은 PI결과를 전운전 데이터로 사용하였다.

그림 2. PI제어(왼쪽)과 BLQG 12th run(오른쪽) : 외란이 없는 경우

그림 3. PI제어(왼쪽)과 BLQG 12th run(오른쪽) : 외란이 있는 경우

결론

앞서서 제시한 BLQG 제어 알고리듬의 성능을 RTP장치의 실험을 통하여 검증하여 보았는데, PI제어기에 비하여 좋은 성능을 보여줌을 볼 수 있었고, 반복적인 외란이 들어오는 경우에도 실시간으로 계산되어지는 부분과, 학습을 통하여 외란후 오차를 지속적으로 줄여나감을 볼 수 있었다. BLQG 알고리즘은 모사뿐 아니라 실제 시스템에 적용에서도 좋은 성능을 보여줌을 알 수 있었다.

참고문헌

1 Cho, Y. M., Gyugyi, P., Control of Rapid Thermal Processing: A System Theoretic Approach, IEEE Trans. Contr. Sys. Tech.,  1997.

2. Lee, Jay H.; Lee, K. S., Model-based Iterative Learning Control with a Quadratic Criterion for Time-varying Linear Systems, Automatica. 2000.