콘텐츠로 이동
무료 평가 시작

GEM300

GEM300은 300 mm 웨이퍼 공장의 자동화를 위해 GEM 위에 더해진 SEMI 표준들을 함께 부르는 이름입니다. 300 mm 공장에서는 웨이퍼를 담은 캐리어(carrier)가 자동 반송 장치로 장비에 도착하고, 호스트가 어떤 웨이퍼를 어떤 레시피로 처리할지 작업(job) 단위로 지시합니다. GEM300은 이 과정을 장비와 호스트가 같은 방식으로 다루도록 합니다.

표준 이름 다루는 내용
SEMI E39 객체 서비스(Object Services) 장비 안의 객체와 속성을 조회하고 다루는 공통 방식
SEMI E40 공정 관리(Processing Management) 공정 작업(process job): 어떤 기판을 어떤 레시피로 처리할지
SEMI E87 캐리어 관리(Carrier Management Services) 캐리어와 로드 포트(load port)의 상태, 캐리어 확인
SEMI E90 기판 추적(Substrate Tracking) 웨이퍼 같은 기판의 위치와 처리 이력
SEMI E94 제어 작업 관리(Control Job Management) 여러 공정 작업을 묶어 실행 순서를 관리하는 제어 작업(control job)
SEMI E116 장비 성능 추적(Equipment Performance Tracking) 장비 가동 상태와 성능 지표
SEMI E148 시각 동기화(Time Synchronization) 장비 시계의 동기화와 시계 객체
SEMI E157 모듈 공정 추적(Module Process Tracking) 장비 모듈 안의 공정 단계 추적

각 표준은 자체 상태 머신과 메시지(주로 S3, S14, S16 스트림)를 정합니다. 자세한 내용은 각 SEMI 표준 문서를 참고합니다.

PDComm은 GEM300을 위한 선언형 기능 카탈로그(declarative capability catalog) 를 제공합니다. 애플리케이션은 장비 구성이 다루는 GEM300 기능과 그 상태를 프로필(profile) 단위로 기록하고, 변경 이력(revision)과 함께 조회합니다. 카탈로그는 HSMS나 GEM 세션과 독립된 데이터이며, 통신 상대에게 메시지를 보내지 않습니다.

카탈로그는 다음처럼 구성됩니다.

catalog (revision N)
+-- profile "LINE-A"
| +-- capability "pj-model" axis=ProcessJob status=ModelOnly
| +-- capability "carrier" axis=Carrier status=Planned
+-- profile "LINE-B"
+-- capability "cj-trial" axis=ControlJob status=Experimental
값 C 상수 .NET Gem300Axis 관련 표준
1 PDCOMM_GEM300_PROCESS_JOB ProcessJob E40
2 PDCOMM_GEM300_CARRIER Carrier E87
3 PDCOMM_GEM300_SUBSTRATE Substrate E90
4 PDCOMM_GEM300_CONTROL_JOB ControlJob E94

상태(status)와 검증 레이블(verification)

섹션 제목: “상태(status)와 검증 레이블(verification)”

상태는 애플리케이션이 자기 장비 구성의 기능에 붙이는 레이블입니다. 카탈로그는 값을 해석하지 않고 그대로 저장합니다.

값 C 상수 .NET Gem300Status 의미
1 PDCOMM_GEM300_PLANNED Planned 애플리케이션이 계획한 기능입니다.
2 PDCOMM_GEM300_MODEL_ONLY ModelOnly 애플리케이션이 데이터 모델을 갖춘 기능입니다.
3 PDCOMM_GEM300_EXPERIMENTAL Experimental 애플리케이션이 시험 운용하는 기능입니다.

검증 레이블(verification) 필드에는 정의된 값 PDCOMM_GEM300_UNVERIFIED(1, .NET Gem300Verification.Unverified)를 넣습니다. C++ 래퍼와 .NET은 이 값을 기본으로 채웁니다.

  • 카탈로그를 만들 때 프로필 수, 프로필당 기능 수, 전체 기능 수, ID 길이의 한도를 정합니다. 모든 한도는 0이 아니어야 하고, 프로필당 기능 수는 4를 넘을 수 없습니다.
  • pdcomm_gem300_capability_catalog_replace는 프로필 전체를 한 번에 원자적(atomic)으로 바꿉니다. 결과로 새 리비전과 실제 변경 여부를 돌려줍니다. 빈 목록으로 바꾸면 비우기와 같습니다. 카탈로그를 만들거나 바꾸려면 gem300 모듈 라이선스가 필요하고, 없으면 PDCOMM_LICENSE_REQUIRED가 돌아오며 카탈로그는 그대로입니다.
  • 스냅샷(snapshot)은 그 시점의 내용을 따로 소유합니다. 카탈로그를 바꾸거나 지워도 이미 만든 스냅샷은 그대로입니다.
  • C++는 Gem300CapabilityCatalog, .NET은 Gem300CapabilityCatalog의 Replace, Clear, GetInfo, Snapshot을 씁니다.

GUI 시뮬레이터의 GEM300 작업 공간과 headless 시뮬레이터의 gem300-capability-profile-lifecycle 시나리오에서 카탈로그를 직접 다뤄 볼 수 있습니다. 사용법은 SECS/GEM 가이드를 참고합니다.