AIDT 온디바이스 STEM 반도체 노광 극자외선(EUV) 다층막 거울(Mo/Si Multilayer) 브래그 반사 피크 위상 정합 서보 제어기

13.5nm 브래그 반사율 극대화 서브-피코미터 층두께 열변형 보상, 피에조 가변 벤더(Bender) 곡률 제어, 10,000Hz C# 엔진

1. 개요

High-NA EUV 노광 장비(개구수 NA 0.55)는 13.5nm 파장의 극자외선 광선을 마스크에서 웨이퍼로 전달하기 위해 굴절 렌즈 대신 몰리브덴/실리콘(Mo/Si) 다층막 나노 코팅 반사경을 10매 이상 직렬로 배치한 전반사 투영 광학계를 사용합니다. 약 40~50쌍의 Mo/Si 박막(주기 두께 \(d \approx 6.9\text{ nm}\))에서 일어나는 브래그 간섭 반사율은 각 거울당 이론상 최대 약 70%에 달하지만, 반사되지 못한 30%의 고에너지 EUV 광선은 거울 기판에 흡수되어 국소 열부하를 발생시킵니다. 거울의 표면 온도가 0.1°C만 변해도 다층막 주기가 피코미터 단위로 팽창하여 중심 브래그 반사 피크가 13.5nm 파장 대역에서 벗어나고, 파면 수차(Wavefront Aberration)가 발생하여 웨이퍼 패턴 임계치수(CD) 불균일이 초래됩니다. 본 고에서는 파면 센서와 적외선 온도 분포를 10,000Hz 주기로 분석하여 후면 피에조 벤더(Piezo Bender) 액추에이터와 펠티어 소자를 동시 구동하는 0-Alloc C# 엔진을 구현합니다.

2. 수학적 모델링 및 지배 방정식

Mo/Si 다층막 거울의 굴절률 보정 브래그 1차 반사 파장 조건식은 다음과 같습니다:

\[ \lambda_{peak} = 2 d_{period} \sin\theta \sqrt{1 - \frac{2\bar{\delta}}{\sin^2\theta}}, \quad d_{period} = d_{Mo} + d_{Si} \approx 6.95\text{ nm} \]

열팽창에 의한 층두께 팽창 및 브래그 피크 파장 변위 방정식은 다음과 같습니다:

\[ \Delta \lambda_{peak}(x, y) = \lambda_0 \left( \frac{\alpha_{Mo} d_{Mo} + \alpha_{Si} d_{Si}}{d_{period}} \right) \Delta T(x, y) \]

광학 파면 왜곡의 젤니케(Zernike) 다항식 전개 및 피에조 벤더 보정 수식은 다음과 같습니다:

\[ W(\rho, \theta) = \sum_{j=1}^{16} c_j Z_j(\rho, \theta) \implies \Delta z_{piezo} = \mathbf{J}_{piezo}^{-1} \vec{c}_Z \le 0.05\text{ nm RMS} \]

피에조 벤더 2축 벤딩 모멘트와 열보상 펠티어 전류 복합 폐루프 제어식은 다음과 같습니다:

\[ \vec{V}_{piezo}^{cmd} = -\mathbf{K}_p \vec{c}_Z - \mathbf{K}_d \frac{d\vec{c}_Z}{dt}, \quad I_{peltier}^{cmd} = -K_T (\lambda_{peak} - 13.50\text{ nm}) \]

3. 실시간 C# 서보 제어기 구현

다음은 Shack-Hartmann 파면 수차 측정 데이터와 거울 표면 온도 프레임을 10,000Hz 주기로 분석하여 8채널 피에조 전압과 펠티어 냉각 전류를 갱신하는 0-Alloc C# 엔진 구현체입니다:

EuvMultilayerMirrorBraggServoEngine.cs
using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.EuvOptics
{
    public readonly ref struct EuvMirrorSensorFrame
    {
        public readonly double MirrorCenterTempCelsius;
        public readonly double PeakReflectanceWavelengthNm;
        public readonly double ZernikeDefocusC4Nm;
        public readonly double ZernikeAstigmatismC5Nm;
        public readonly double ZernikeComaC7Nm;

        public EuvMirrorSensorFrame(
            double mirrorCenterTempCelsius,
            double peakReflectanceWavelengthNm,
            double zernikeDefocusC4Nm,
            double zernikeAstigmatismC5Nm,
            double zernikeComaC7Nm)
        {
            MirrorCenterTempCelsius = mirrorCenterTempCelsius;
            PeakReflectanceWavelengthNm = peakReflectanceWavelengthNm;
            ZernikeDefocusC4Nm = zernikeDefocusC4Nm;
            ZernikeAstigmatismC5Nm = zernikeAstigmatismC5Nm;
            ZernikeComaC7Nm = zernikeComaC7Nm;
        }
    }

    public ref struct EuvMirrorControlCommand
    {
        public double PiezoBenderVoltageVolts;
        public double PeltierCoolingCurrentAmps;
        public double RmsWavefrontErrorNm;
        public bool IsBraggPeakAligned;
        public bool IsWavefrontDiffractionLimited;
    }

    public ref struct EuvMultilayerMirrorBraggServoEngine
    {
        private const double TargetWavelengthNm = 13.50;
        private const double BaseTempCelsius = 22.0;
        private readonly double _kpWavefront;
        private readonly double _kdWavefront;
        private readonly double _kpThermal;
        private readonly double _dt;
        private double _prevDefocusNm;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public EuvMultilayerMirrorBraggServoEngine(double kpWavefront, double kdWavefront, double kpThermal, double dt)
        {
            _kpWavefront = kpWavefront;
            _kdWavefront = kdWavefront;
            _kpThermal = kpThermal;
            _dt = dt;
            _prevDefocusNm = 0.0;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public void ComputeOpticsCompensation(in EuvMirrorSensorFrame frame, out EuvMirrorControlCommand cmd)
        {
            cmd = default;
            double dDefocus = (frame.ZernikeDefocusC4Nm - _prevDefocusNm) / _dt;
            _prevDefocusNm = frame.ZernikeDefocusC4Nm;

            // Piezo bender voltage for defocus / curvature correction
            double benderVolts = -(_kpWavefront * frame.ZernikeDefocusC4Nm + _kdWavefront * dDefocus);
            benderVolts = Math.Clamp(benderVolts, -150.0, 150.0);

            // Thermal Peltier current to lock 13.50nm Bragg peak
            double waveErr = frame.PeakReflectanceWavelengthNm - TargetWavelengthNm;
            double peltierCurrent = -_kpThermal * waveErr;
            peltierCurrent = Math.Clamp(peltierCurrent, -5.0, 5.0);

            // Total RMS wavefront error: sqrt(c4^2 + c5^2 + c7^2)
            double rmsWfe = Math.Sqrt(
                (frame.ZernikeDefocusC4Nm * frame.ZernikeDefocusC4Nm) +
                (frame.ZernikeAstigmatismC5Nm * frame.ZernikeAstigmatismC5Nm) +
                (frame.ZernikeComaC7Nm * frame.ZernikeComaC7Nm));

            cmd.PiezoBenderVoltageVolts = benderVolts;
            cmd.PeltierCoolingCurrentAmps = peltierCurrent;
            cmd.RmsWavefrontErrorNm = rmsWfe;
            cmd.IsBraggPeakAligned = Math.Abs(waveErr) <= 0.01; // Within 10 pm
            cmd.IsWavefrontDiffractionLimited = rmsWfe <= 0.07; // Maréchal criterion for EUV (lambda/14 ~ 0.9nm, strict 0.07nm)
        }
    }
}

4. 교육 및 실무 적용 방안

  • 한국방송통신대학교 전자물리/광학: 극자외선 다층막 반사 광학계 원리, 젤니케 파면 수차 및 적응 제어 광학 교구.
  • 삼성전자/ASML 파운드리 양산 라인: High-NA EUV 노광 장비 거울 파면 수차 및 열변형 능동 보정 제어기 탑재.