29편에서 fab DES 모델의 반쪽 — 서 있는 것, 즉 장비 — 을 다뤘다. 이번 글은 나머지 반쪽이다. 흐르는 것(lot)과 나르는 것(반송 시스템)을 어떻게 모델링하는가. 장비 모델이 아무리 정교해도 lot이 어떤 경로로, 어떤 우선순위로, 어떻게 운반되어 그 장비 앞에 도착하는지를 담지 못하면 fab 모델이 되지 않는다. 이 글로 9부의 “모델 구성요소” 편이 완결된다.

Lot과 route: 흐름의 뼈대

28편에서 정리했듯 fab의 entity는 lot — 웨이퍼 25장 안팎의 묶음 — 이다. lot은 물리적으로 FOUP(Front Opening Unified Pod)라는 캐리어에 담겨 이동한다. 처리의 단위이자 이동의 단위가 lot이라는 점이, 잠시 뒤 반송 모델링에서 다시 중요해진다.

lot의 여정을 정의하는 것이 route — 그 제품이 거쳐야 할 공정 스텝의 시퀀스 — 다. 스텝 하나는 최소한 다음 세 가지로 정의된다.

이 tuple이 말하는 것: 스텝 에서 lot은 지정된 툴그룹의 장비 중 하나를 잡아야 하고(29편의 qualification 행렬 가 여기서 발동한다), 그 장비에서 지정된 레시피로(29편의 setup 와 batch 형성이 여기 얽힌다), 지정된 처리 시간만큼 가공된다. 실제 route 데이터에는 여기에 부수 속성 — 스텝별 우선 제약, 계측 여부 같은 것들 — 이 더 붙는다.

문제는 규모다. route 하나가 스텝 수백 개이고, route는 제품마다, 심지어 같은 제품의 버전마다 다르다. 시뮬레이션 입력 데이터로서의 route 테이블은 (제품 수) × (스텝 수백 개) × (스텝별 속성들) 크기의 거대한 표이고, 제품과 공정이 바뀔 때마다 함께 바뀐다. 이 테이블을 손으로 만들고 유지보수하는 비용이 fab 시뮬레이션의 실질적 진입 장벽 중 하나이며, 26편에서 다룬 모델 자동 생성 — 운영 시스템의 데이터에서 모델을 뽑아내는 접근 — 이 정확히 이 지점을 노린다.

경로는 직선이 아니다: 샘플링과 rework

route가 스텝의 시퀀스라고 했지만, 모든 lot이 그 시퀀스를 그대로 따르는 것은 아니다. 흐름을 갈라놓는 분기가 두 종류 있다.

계측 샘플링. 계측(metrology) 스텝은 가공 결과를 측정·검사하는 스텝인데, 모든 lot을 다 재는 것이 아니라 일부 lot만 샘플링해서 통과시키는 경우가 흔하다. 모델에서는 계측 스텝에 확률 분기를 두어, 샘플링 비율만큼의 lot만 계측 장비를 실제로 점유하고 나머지는 그냥 지나가게 한다. 샘플링 비율을 무시하고 전 lot을 계측에 태우면 계측 툴그룹의 부하를 과대평가하고, 반대로 계측을 통째로 생략하면 그 툴그룹이 병목이 되는 시나리오를 볼 수 없게 된다.

Rework. 28편에서 언급한 대로, 계측에서 불량이 발견된 lot은 정상 경로를 벗어나 이전 스텝으로 되돌아가 재작업한다. 모델에서는 확률 분기다 — 계측 스텝에서 확률 로 지정된 앞 스텝으로 돌아가고, 로 다음 스텝으로 진행한다. 되돌아간 lot이 같은 계측을 다시 통과해야 한다면, 그 구간의 통과 횟수는 성공(통과) 확률 의 기하 분포를 따르고, 기대 통과 횟수는 기하급수의 합

이다. 이 식이 말하는 것: rework 확률 는 그 구간의 실효 부하를 배로 부풀린다. 가 몇 %만 되어도 해당 툴그룹들이 받는 실효 부하는 route 테이블에 적힌 명목 부하보다 대략 그 몇 %만큼 커지고(), 이미 포화에 가까운 툴그룹이라면 이 몇 %가 대기 폭발의 방아쇠가 될 수 있다. 더 고약한 것은 rework이 재진입 위에 얹히는 추가 재진입이라는 점이다 — 안 그래도 같은 툴그룹을 수십 번 재방문하는 흐름에, 확률적으로 되감기는 고리가 하나 더 생긴다. 계획된 재진입(layer 반복)은 route에 적혀 있어 예측 가능하지만, rework은 언제 어디서 터질지 모르는 확률적 되감기라서 흐름의 변동성을 키우는 쪽으로 작용한다.

우선순위: hot lot이라는 교란

fab의 lot이 모두 평등한 것도 아니다. 일반 lot 위에 hot lot — 급한 사유(고객 납기, 개발 샘플 등)로 높은 우선순위가 부여된 lot — 등급이 있다. 디스패칭 규칙은 장비가 빌 때 대기열의 hot lot을 일반 lot보다 먼저 태우고, 운영에 따라서는 반송이나 batch 형성에서도 hot lot을 우대한다.

시뮬레이션 관점에서 hot lot은 흥미로운 존재다. 소수의 hot lot 자신은 빨라지지만, 그 대가는 일반 lot 전체에 분산되어 청구된다 — hot lot에게 순서를 내준 일반 lot들의 대기가 길어지고, batch가 hot lot 때문에 덜 채워진 채 출발하면 실효 용량이 깎인다. “hot lot 비율을 얼마까지 허용해도 일반 lot의 cycle time이 감내할 만한가”는 fab 시뮬레이션이 답해 온 대표 질문 중 하나다. 모델 입장에서 필요한 것은 단순하다 — lot에 우선순위 속성을 부여하고, 디스패칭·batch·반송 규칙이 그 속성을 읽게 하는 것. 그러나 그 단순한 속성 하나가 흐름 전체의 통계를 바꾼다.

이중 자원 제약: 레티클

노광 스텝에는 다른 스텝에 없는 제약이 하나 더 있다. 노광은 레티클(reticle) — 해당 layer의 회로 패턴이 새겨진 원판으로, 노광 장비가 이것을 통해 패턴을 웨이퍼에 전사한다 — 이 있어야 진행된다. 즉 lot이 노광 스텝을 시작하려면 장비와 레티클을 동시에 확보해야 한다.

이 조건이 말하는 것: 자원 하나만 기다리는 통상의 큐잉과 달리, 두 자원의 가용성이 AND로 묶인다. 장비가 비어 있어도 그 layer의 레티클이 다른 장비에서 사용 중이면 lot은 기다려야 하고, 반대로 레티클이 놀고 있어도 장비가 없으면 마찬가지다. 레티클은 layer(레시피)마다 다르고 고가라서 소수만 보유하므로, 같은 layer의 lot들이 서로 다른 장비에 흩어져 있으면 레티클 쟁탈이 벌어진다. 여기에 레티클이 장비 사이를 이동하는 시간까지 있어, 레티클을 자원으로 상세히 모델링하면 “어느 레티클을 어느 장비로 옮겨 둘 것인가”라는 레티클 스케줄링 문제가 모델 안에 통째로 들어온다.

그래서 이것도 fidelity 선택의 문제다. 노광이 질문의 중심이 아니면 레티클 제약을 근사(예: 노광 처리 시간이나 가용성에 그 효과를 뭉뚱그리기)하고, 노광 병목의 세부 — 28편에서 봤듯 노광은 fab의 대표 병목이다 — 가 질문이면 레티클을 개별 자원으로 세워 이중 확보와 이동 시간을 명시적으로 돌린다. 29편의 fidelity 사다리 논리가 자원 종류 하나에 그대로 반복되는 셈이다.

AMHS: 나르는 것의 모델링

lot이 스텝을 마치면 다음 툴그룹으로 이동해야 한다. 현대 fab에서 이 이동을 담당하는 것이 AMHS(Automated Material Handling System, 자동 반송 시스템)다. 천장에 깔린 레일 위를 달리는 OHT(Overhead Hoist Transport) 차량이 FOUP를 집어 나르고, 스토커(stocker) — FOUP를 보관하는 자동 창고 — 가 장비 앞에 자리가 없는 lot을 임시로 받아 둔다.

AMHS를 모델에 어떻게 넣을 것인가에는 두 갈래가 있다.

(a) 지연 근사. 스텝 간 이동을 상수 또는 분포에서 뽑은 반송 지연 시간으로 치환한다. lot이 스텝을 마치면 지연만큼 기다렸다가 다음 큐에 나타나는 식이다. 차량도 레일도 모델에 없다. capacity 분석이나 디스패칭 규칙 평가처럼 질문이 장비·흐름 쪽에 있을 때 흔히 쓰는 선택이고, 반송이 병목이 아니라는 전제 아래에서는 충분히 유효하다.

(b) 상세 모델. 차량 대수, 레일 토폴로지, 차량 배차·경로 선택, 구간 혼잡, 스토커 용량까지 명시적으로 모델링한다. AMHS 자체가 질문일 때 — 차량을 몇 대 둘 것인가, 레일 배치를 어떻게 할 것인가 — 필요한 수준이다. 이 상세 모델은 24편에서 본 DES + agent 패턴이 자연스럽게 들어맞는 자리다. lot은 DES 방식대로 공정 경로를 흐르는 수동적 entity로 두고, 차량은 자기 위치·적재 상태·주변 혼잡을 보고 어느 반송 요청을 받을지 스스로 판단하는 agent로 세운다. 24편에서 “9부에서 그대로 다시 등장할 것”이라 예고했던 패턴이 바로 이것이다.

주의할 것은 (a)의 근사가 무엇을 놓치는가이다. 지연 근사는 반송 시간을 부하와 무관하게 모델 밖에서 주어지는 외생(exogenous) 값으로 취급한다. 그러나 실제 AMHS에서는 특정 구간에 교통이 몰리면 그 구간의 반송 시간이 늘어나고, 스토커가 차면 lot이 갈 곳을 잃는다 — 즉 반송 시간은 시스템 부하의 함수다. fab의 물동량이 높아져 반송이 병목에 접근하는 상황에서는, 고정 지연 모델은 존재하지 않는 여유를 보고하는 낙관적 모델이 된다. 29편에서 qualification을 무시한 모델이 용량을 과대평가했던 것과 같은 계열의 함정이다. 반송 지연을 상수로 둘지, 부하 의존으로 만들지, 차량까지 세울지 — 여기서도 결정권자는 질문이다.

사람: 줄었지만 사라지지 않은 자원

FOUP와 OHT가 상징하듯 현대 fab의 lot 이동·투입은 고도로 자동화되어, 과거 제조 시뮬레이션의 단골 요소였던 operator(작업자) 모델의 비중은 크게 줄었다. 그러나 사라진 것은 아니다. 수동 개입이 남아 있는 영역 — 일부 수동 조작이 필요한 작업, 장비 유지보수·트러블 대응 같은 일 — 에서는 사람이 여전히 용량이 제한된 자원이고, 그 인력이 부족하면 장비가 멈춘 채 사람을 기다리는 대기가 생긴다. 이런 영역이 질문에 걸려 있다면(예: 정비 인력 규모가 다운타임 복구 속도를 좌우하는 경우) 인력 풀을 자원으로 모델에 세워야 한다. 원리는 장비 자원과 같으므로 길게 다루지 않는다.

모델이 “그 fab”이 맞는가: 검증 지표

29편과 이번 글의 요소를 다 조립하면 fab DES 모델 하나가 선다. 그런데 이 모델이 우리 fab의 모델이 맞는지는 어떻게 확인하는가. 12편에서 validation의 일반 기법(실데이터 비교, historical validation 등)을 다뤘는데, fab 실무에서는 그 비교를 보통 다음 지표들로 한다.

  • 툴그룹별 가동률: 각 툴그룹이 시간의 몇 %를 처리에 쓰는가. 모델의 가동률 프로파일이 실데이터와 다르면 route·처리 시간·다운타임 어딘가의 입력이 틀렸다는 신호다. 특히 병목 툴그룹의 가동률이 어긋나면 이후의 모든 분석이 흔들린다.
  • WIP 수준과 분포: fab 안에 동시에 존재하는 재공(work-in-process) lot의 수. 총량뿐 아니라 어느 구간에 얼마나 쌓여 있는지의 분포까지 본다. 총 WIP은 맞는데 분포가 다르면, 흐름의 어딘가 — 분기 확률, batch 정책, 반송 — 가 현실과 다르게 굴러가고 있는 것이다.
  • Cycle time 분포: lot 투입부터 완성까지 걸린 시간의 분포. 평균만 맞추는 것으로는 부족하다 — 12편에서 강조했듯 평균뿐 아니라 분포까지 비교해야 하고, fab에서는 특히 분포의 꼬리(오래 걸린 lot들)가 납기 관점에서 중요하다.
  • 일별 moves: move란 lot이 공정 스텝 하나를 완료한 것을 세는 단위로, 하루에 fab 전체에서 일어난 move 수는 fab의 활동량을 요약하는 실무 표준 지표다. 모델의 일별 moves가 실적과 맞는지는 가장 기본적인 총량 검증이다.

이 지표들이 실데이터와 맞아떨어질 때 비로소 “그 fab의 모델”이라 부를 수 있고, 그 위에서 하는 what-if 실험이 신뢰를 얻는다. 그리고 이 상태 — 실제 fab의 데이터로 지어지고 실적과 대조되어 살아 있는 모델 — 는 25편에서 본 digital twin의 전 단계이기도 하다. 여기에 26편의 자동 동기화·자동 생성이 붙으면, 일회성 시뮬레이션 모델이 fab과 함께 늙어 가는 twin으로 넘어간다.

정리

  • fab 흐름의 뼈대는 lot(FOUP에 담겨 이동)과 route(스텝 수백 개의 시퀀스, 스텝 = 툴그룹·레시피·처리 시간 + 부수 속성). route 테이블은 제품·버전마다 달라 규모·유지보수가 실질적 부담이며, 26편의 모델 자동 생성이 노리는 지점이다.
  • 흐름은 직선이 아니다: 계측 샘플링(일부 lot만 계측 통과)과 rework(확률 로 앞 스텝 회귀 — 실효 부하를 배로 부풀리는 확률적 되감기)이 분기를 만들고, hot lot 우선순위는 소수 lot의 속도를 일반 lot 전체의 대기로 지불하는 교란이다.
  • 노광은 장비 + 레티클의 이중 자원 제약: 두 자원을 AND로 동시 확보해야 하고, 소수의 레티클과 이동 시간 때문에 상세 모델링 여부가 fidelity 선택이 된다.
  • AMHS(OHT·스토커)는 지연 근사 또는 상세 모델(차량 = agent, 24편의 DES + agent 패턴)로 모델링한다. 지연 근사는 반송 시간이 부하의 함수라는 사실을 놓치므로, 반송이 병목에 접근하는 질문에는 낙관적으로 틀린다.
  • 자동화 fab에서 operator 모델 비중은 줄었지만, 수동 개입·정비 영역에는 인력 자원 모델이 여전히 필요하다.
  • 조립된 fab 모델의 validation은 툴그룹별 가동률, WIP 수준·분포, cycle time 분포, 일별 moves를 실데이터와 대조하는 것으로 한다 — 이 지표들이 맞아야 “그 fab의 모델”이고, digital twin(25편)의 전 단계가 된다.

장비(29편)와 흐름·물류(이번 글)로 fab DES 모델의 구성요소가 갖춰졌다. 다음 글에서는 이 모델을 지은 본래의 목적 — 디스패칭 규칙을 시뮬레이션으로 평가하는 것 — 을 31편에서 다룬다.