27편으로 8부(digital twin)를 마치며 예고했듯, 9부는 이 시리즈의 최종 목적지 — 반도체 wafer fab — 으로 간다. 지금까지 우리는 도구를 쌓아 왔다. next-event 엔진의 동작 원리(06편), 검증 기준선이 되어 주는 큐잉 이론(07편), 모델을 엄밀하게 명세하는 형식론(18편·19편), 그리고 수백만 이벤트를 감당하는 엔진 성능(20편)까지. 이번 부에서는 이 도구 전부를 가장 혹독한 시험대에 올린다. wafer fab은 규모·복잡성·확률성 어느 축으로 봐도 DES가 상대해 온 시스템 중 최상급이고, 그래서 DES라는 도구의 진가와 한계가 동시에 드러나는 무대다.
이 글은 9부의 도입부다. 먼저 제조 시스템 일반을 DES의 언어로 옮기는 표준 대응을 정리하고, wafer fab이 무엇인지 처음부터 설명한 뒤(반도체 지식을 전혀 가정하지 않는다), fab이 왜 “DES의 끝판왕”인지를 하나씩 짚는다.
제조 시스템을 DES의 언어로
06편에서 DES 모델의 구성요소 — entity, 자원(resource), 큐(queue) — 를 은행 창구 예로 익혔다. 제조 시스템은 이 어휘에 거의 1:1로 대응된다.
| DES 구성요소 | 제조 시스템 대응 |
|---|---|
| entity | job — 제조 지시 단위. 시스템을 흘러 다니며 가공되는 대상 |
| resource | 기계(machine) — job을 가공하는, 용량이 제한된 설비 |
| queue | 버퍼(buffer) — 기계가 바빠 대기하는 job이 머무는 곳 |
“손님이 도착해 → 줄 서고 → 서비스받고 → 떠난다”가 “job이 투입되어 → 버퍼에서 대기하고 → 가공되고 → 다음 공정으로 간다”로 바뀔 뿐, 뼈대는 단일 서버 대기열과 같다. 차이는 기계가 여러 대이고 job이 그 사이를 경로(route) 를 따라 이동한다는 것이다. 이 경로의 구조에 따라 제조 시스템을 분류하는 것이 표준이다.
- flow shop: 모든 job이 같은 순서로 기계들을 통과한다. 처럼 한 방향의 라인. 자동차 조립 라인이 전형이다.
- job shop: job마다 경로가 다르다. 어떤 job은 , 다른 job은 처럼 제각각의 경로를 가진다. 다품종 소량 생산의 기계 가공 공장이 전형이다.
이 구분은 시뮬레이션만의 것이 아니라 스케줄링 이론의 표준 분류이기도 하다. “어떤 job을 어느 기계에 어떤 순서로 배정할 것인가”라는 스케줄링 문제의 난이도와 해법이 흐름 구조에 따라 근본적으로 달라지기 때문에, 두 분야가 같은 어휘를 공유한다. 그리고 잠시 뒤에 보겠지만 — wafer fab은 이 표준 분류 어느 쪽에도 깔끔하게 들어가지 않는다.
Wafer fab이란
wafer fab(fabrication facility)은 반도체 칩을 만드는 공장이다. 원판 모양의 얇은 실리콘 기판인 웨이퍼(wafer) 위에 회로 패턴을 layer 단위로 수십 층 쌓아 올려 칩을 완성한다. 건물을 층층이 올리듯, 한 층을 만들 때마다 비슷한 종류의 공정들을 한 바퀴 돌고, 그것을 수십 번 반복하는 구조다.
fab 안에서 물건이 이동하는 단위는 웨이퍼 낱장이 아니라 lot — 웨이퍼 25장 안팎을 담은 묶음 — 이다. DES의 언어로 말하면 lot이 곧 entity(job) 다. lot 하나가 투입되어 완성되기까지 거치는 공정 스텝은 수백 개에 이르며, 스텝들은 종류별로 다음과 같은 공정 그룹에 속한다.
- 노광(photolithography): 빛으로 회로 패턴을 웨이퍼 위에 새기는 공정. 층마다 반드시 거친다.
- 식각(etch): 패턴대로 재료를 깎아내는 공정.
- 증착(deposition): 웨이퍼 표면에 얇은 막을 입히는 공정.
- 이온주입(implant): 불순물 이온을 심어 전기적 성질을 부여하는 공정.
- 세정(clean): 공정 사이사이 오염물을 씻어내는 공정.
- 계측(metrology): 가공 결과를 측정·검사하는 공정.
같은 종류의 공정을 수행하는 장비 여러 대를 묶어 툴그룹(tool group)이라 부른다. lot의 경로는 이 툴그룹들을 스텝 순서대로 방문하는 여정이다.
FAB의 특수성: 왜 DES의 끝판왕인가
여기까지는 “기계가 많고 스텝이 긴 공장”일 뿐이다. fab을 특별하게 — 그리고 시뮬레이션하기 지독하게 — 만드는 성질들은 따로 있다.
Re-entrant flow: flow shop도 job shop도 아니다
layer를 쌓을 때마다 비슷한 공정 한 바퀴를 반복한다고 했다. 그 말은 곧, lot이 같은 툴그룹을 여러 번 다시 방문한다는 뜻이다. 특히 노광 장비는 층마다 반드시 거치므로, 30층짜리 제품이라면 같은 노광 툴그룹에 30번 돌아온다. 경로를 적어 보면
처럼 같은 기호가 반복해 등장한다. 이런 구조를 re-entrant flow(재진입 흐름)라 한다. 모든 job이 같은 순서로 한 방향으로만 흐르는 flow shop이 아니고, 경로가 제각각인 job shop과도 다르다 — 경로 자체는 제품별로 정해져 있지만 같은 자원으로 되돌아온다는 점이 고유하다.
재진입이 만드는 문제의 핵심은 이것이다. 같은 노광 툴그룹 버퍼 앞에 “1층 작업을 기다리는 lot”과 “20층 작업을 기다리는 lot”이 나란히 줄을 선다. 장비가 비었을 때 어느 쪽을 먼저 처리할 것인가? 갓 투입된 lot을 우선하면 공장 안의 재공(work-in-process)이 쌓이고, 거의 다 된 lot을 우선하면 초반 스텝이 굶는다. 이 선택 — 디스패칭(dispatching, 지금 비는 장비에 다음으로 어떤 lot을 배정할지 정하는 실시간 의사결정) — 이 fab 운영의 중심 문제이고, 이 시리즈가 최종적으로 시뮬레이션과 잇고 싶은 대상이다.
장비 이질성: 서버가 다 같은 서버가 아니다
07편의 큐잉 모델에서 서버는 “한 번에 한 손님”이었다. fab의 장비는 그렇게 균질하지 않다.
- 낱장 처리 장비: 웨이퍼를 한 장씩 처리한다. lot이 들어가도 내부에서는 25장이 순차 처리된다.
- batch 장비: 여러 lot을 한꺼번에 처리한다. 확산로(furnace)가 대표로, 여러 lot을 모아 한 번에 굽는다. “지금 반만 채워서 돌릴까, 더 모일 때까지 기다릴까”라는 batch 형성 결정이 새로 생긴다.
- cluster tool: 챔버(chamber, 개별 처리실) 여러 개를 가운데의 로봇 팔이 이어 주는 복합 장비. 장비 하나가 그 자체로 작은 시스템이어서, 내부의 로봇 이동과 챔버 점유까지 모델링할지 말지가 fidelity 선택의 문제가 된다.
서버 하나의 동작 방식이 이렇게 제각각이면, 단일한 “서비스 시간 분포” 하나로 장비를 추상화하는 것이 어디까지 유효한지부터 따져야 한다.
확률적 교란: 계획대로 되는 것이 없다
fab의 장비와 공정은 끊임없이 계획을 벗어난다.
- 비계획 다운타임: 장비가 예고 없이 고장 나 멈춘다.
- 정기 PM(preventive maintenance): 고장을 막기 위한 계획 정비로, 예정된 것이긴 하나 그동안 장비는 생산에서 빠진다.
- 리워크(rework): 계측에서 불량이 발견되면 lot이 정상 경로를 벗어나 앞 스텝으로 되돌아가 재작업한다 — 경로에 확률적 분기가 생기는 것이다.
이 교란들은 모두 확률적이어서, 이들을 반영한 순간 모델은 필연적으로 확률 시뮬레이션이 된다.
규모: 이벤트 수백만이 나오는 이유
대형 fab은 장비 수백~수천 대, 동시 진행 lot 수천~수만 개, 제품별 공정 스텝 수백 개 규모다. lot 하나가 스텝 하나를 지날 때마다 도착·가공 시작·가공 완료 같은 이벤트가 여럿 발생하니, 수천~수만 lot × 수백 스텝이면 이벤트 수는 곧바로 수백만 단위가 된다. 20편에서 “FAB 규모 모델이라면 하루치 시뮬레이션에 수백만 이벤트가 흔하다”고 했던 것이 바로 이 계산이다. FEL 자료구조와 엔진 성능 이야기가 fab 앞에서는 교양이 아니라 생존 문제가 된다.
고가 설비와 병목 관리
fab의 장비는 극단적으로 비싸고, 그중에서도 노광 장비가 최고가이자 대표적 병목(bottleneck) 이다. 병목이란 시스템 전체의 처리 능력을 결정짓는 가장 부하가 높은 자원을 말한다. 병목 장비가 노는 1시간은 다른 어떤 장비의 유휴보다 비싸다 — 병목의 가동률이 fab 전체의 throughput(단위 시간당 완성량)을 결정하기 때문이다. 그래서 fab 운영의 많은 규칙이 “병목을 굶기지 마라”로 수렴하고, 시뮬레이션의 주요 용도 중 하나가 어떤 정책이 병목을 얼마나 잘 먹여 살리는지 평가하는 것이다.
시간 스케일의 괴리
lot 하나가 투입되어 완성까지 걸리는 시간 — cycle time — 은 주(week)에서 월(month) 단위다. 반면 “지금 빈 장비에 어느 lot을 넣을까”라는 디스패칭 결정은 분 단위로 내려진다. 분 단위 결정 수백만 개가 쌓여 월 단위 성과를 만들기 때문에, 개별 결정 하나가 최종 지표에 미친 영향을 즉각 관측할 수 없다. 정책을 바꿔 보고 그 효과를 확인하려면 시뮬레이션 시간으로 수 주~수 개월을 돌려야 한다는 뜻이고, 이는 규모 문제와 곱해져 계산 부담을 더 키운다.
왜 해석적 모델로는 부족한가
07편의 큐잉 이론은 fab에도 소중한 직관을 준다 — 병목의 가 1에 다가갈 때 대기가 어떻게 비선형으로 폭발하는지, 그리고 그 혼잡이 무작위성이 있는 한 피할 수 없다는 것. 그러나 정확한 답을 주지는 못한다. 07편의 닫힌 해는 M/M/1이라는 극단적으로 단순한 가정 위의 것이었는데, fab은 그 가정을 하나도 남김없이 깨뜨린다. re-entrant flow(재진입으로 얽힌 대기열 네트워크) + batch 처리 + sequence-dependent setup(직전에 처리한 작업 종류에 따라 다음 작업 전 준비 시간이 달라지는 것) + 다운타임의 조합에는 닫힌 형태의 해가 존재하지 않는다.
큐잉 근사(mean-value 계열 분석)는 이 간극을 일부 메워 준다 — 툴그룹별 평균 가동률과 대략의 cycle time을 추정해 대략적인 capacity 분석(장비가 몇 대 필요한가 수준의 계산)까지는 가능하다. 그러나 우리가 정말 알고 싶은 것 — 이 디스패칭 규칙과 저 규칙 중 어느 쪽이 나은가 — 은 확률적 동역학의 세부에 의존하는 질문이라 평균 기반 근사의 해상도로는 답할 수 없다. 여기가 바로 1편에서 말한 “수식으로 풀 수 없을 때 시뮬레이션”의 영역이고, fab에서 DES가 표준 도구인 이유다.
맛보기: cycle time과 throughput의 긴장 — operating curve
07편의 핵심 직관 — , 가동률이 1에 가까울수록 대기가 비선형으로 폭발한다 — 이 fab에서는 operating curve라는 이름으로 나타난다. 가로축에 fab의 로딩 수준(병목 가동률), 세로축에 cycle time을 놓고 그린 곡선이다. M/M/1의 체류시간 식을 변형해 보면 곡선의 모양이 이미 보인다.
이 식이 말하는 것: 체류시간은 “순수 가공시간 “에 혼잡 배율 가 곱해진 것이다. 로딩 를 올리면 throughput은 늘지만 그 배율이 비선형으로 커져, 에서 cycle time이 폭발한다. throughput을 위해 로딩을 밀어붙일수록 cycle time이 희생되는 이 긴장이 fab 운영의 근본 트레이드오프이고, operating curve는 그것을 한 장의 그림으로 보여 준다.
여기에 fab의 현실 — 다운타임, batch, 재진입 — 이 얹히면 변동성이 커지고, 변동성이 클수록 곡선은 왼쪽으로 꺾인다. 즉 더 낮은 로딩에서부터 cycle time이 급상승하기 시작해, 같은 cycle time 목표를 지키려면 로딩을 그만큼 낮춰야 한다. 좋은 디스패칭·운영 정책이 하는 일을 이 곡선의 언어로 말하면 “곡선을 오른쪽 아래로 눌러 주는 것” — 같은 로딩에서 더 짧은 cycle time, 같은 cycle time에서 더 높은 throughput — 이다. 이 곡선을 시뮬레이션으로 실제로 그려 보고 디스패칭 규칙에 따라 어떻게 달라지는지 확인하는 정량 실험은 31편에서 한다.
정리
- 제조 시스템은 entity = job, resource = 기계, queue = 버퍼라는 표준 대응으로 DES에 옮겨지며, 흐름 구조에 따라 flow shop(모두 같은 경로) / job shop(job마다 다른 경로)으로 나뉜다 — 스케줄링 이론과 공유하는 표준 분류다.
- wafer fab은 웨이퍼 위에 회로 layer를 수십 층 쌓는 공장으로, lot(웨이퍼 25장 안팎의 묶음)이 entity이고, 노광·식각·증착·이온주입·세정·계측 등 수백 개의 스텝을 거친다.
- fab이 DES의 끝판왕인 이유: re-entrant flow(같은 툴그룹 반복 방문 — flow shop도 job shop도 아님), 장비 이질성(낱장·batch·cluster tool), 확률적 교란(다운타임·PM·리워크), 규모(장비 수백
수천 대, lot 수천수만 개 → 이벤트 수백만), 병목 관리(노광 병목의 가동률이 전체 throughput을 결정), 시간 스케일 괴리(cycle time은 주~월, 디스패칭은 분 단위). - 큐잉 이론은 직관과 대략적 capacity 분석까지를 주고, 디스패칭·스케줄링 정책의 평가는 DES의 몫이다. 로딩과 cycle time의 트레이드오프는 operating curve로 요약되며, 변동성이 클수록 곡선이 왼쪽으로 꺾인다.
다음 두 편에서 fab DES 모델의 구성요소를 둘로 나눠 본다. 29편에서 장비 — 낱장·batch·cluster tool과 다운타임을 어떻게 모델링하는가 — 를, 30편에서 흐름과 물류 — lot의 경로, 버퍼, 반송 — 를 다룬다.