KR20050061498A - 반도체 제조 프로세스의 모니터링 및 제어를 위한 방법 및장치 - Google Patents

반도체 제조 프로세스의 모니터링 및 제어를 위한 방법 및장치 Download PDF

Info

Publication number
KR20050061498A
KR20050061498A KR1020057005460A KR20057005460A KR20050061498A KR 20050061498 A KR20050061498 A KR 20050061498A KR 1020057005460 A KR1020057005460 A KR 1020057005460A KR 20057005460 A KR20057005460 A KR 20057005460A KR 20050061498 A KR20050061498 A KR 20050061498A
Authority
KR
South Korea
Prior art keywords
apc
data
tool
coupling
sensor
Prior art date
Application number
KR1020057005460A
Other languages
English (en)
Other versions
KR101025527B1 (ko
Inventor
메리트 펑크
레이몬드 피터슨
Original Assignee
도쿄 일렉트론 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 도쿄 일렉트론 가부시키가이샤 filed Critical 도쿄 일렉트론 가부시키가이샤
Publication of KR20050061498A publication Critical patent/KR20050061498A/ko
Application granted granted Critical
Publication of KR101025527B1 publication Critical patent/KR101025527B1/ko

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0264Control of logging system, e.g. decision on which data to store; time-stamping measurements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0267Fault communication, e.g. human machine interface [HMI]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31186TCP-IP internet protocol
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32126Hyperlink, access to program modules and to hardware modules in www, web server, browser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32128Gui graphical user interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33148CLS client server architecture, client consumes, server provides services
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33225Interface nc machine to data server
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45031Manufacturing semiconductor wafers
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67242Apparatus for monitoring, sorting or marking
    • H01L21/67276Production flow monitoring, e.g. for increasing throughput
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/20Sequence of activities consisting of a plurality of measurements, corrections, marking or sorting steps
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning

Abstract

반도체 처리 시스템에 의해 수행되는 반도체 제조 공정을 모니터링 및 제어하기 위한, 그래픽 사용자 인터페이스(GUI)들을 포함하는 고급 프로세스 제어(APC) 시스템이 제시되어 있다. 상기 반도체 처리 시스템은 여러 처리 툴들, 여러 처리 모듈(챔버)들, 및 여러 센서들을 포함하고, 상기 APC 시스템은 APC 서버, 데이터베이스, 인터페이스 서버, 클라이언트 워크스테이션 및 GUI 구성요소를 포함하여 이루어진다. 상기 GUI는 웹기반이며, 웹 브라우저를 이용하여 사용자가 볼 수 있다.

Description

반도체 제조 프로세스의 모니터링 및 제어를 위한 방법 및 장치{METHOD AND APPARATUS FOR THE MONITORING AND CONTROL OF A SEMICONDUCTOR MANUFACTURING PROCESS}
본 출원은, 2002년 9월 30일에 출원되었으며 그 전문이 본 명세서에 인용참조되는 미국 특허 가출원 번호 제60/414,425호에 기초하고 있고 그 이익을 주장한다.
본 출원은 함께 계류중인, 2002년 3월 29일에 "Method For Interaction With Status and Control Apparatus"라는 제목으로 출원된 미국 가출원 번호 제 60/368,162호; 2002년 4월 23일에 "Method and Apparatus for Simplified System Configuration"이라는 제목으로 출원된 미국 가 출원 번호 제60/374,486호; 2002년 5월 29일에 "Method and Apparatus For Monitoring Tool Performance"이라는 제목으로 출원된 미국 가출원 번호 제60/383,619호; 2002년 7월 3일에 "Method for Dynamic Sensor Configuration and Runtime Execution"이라는 제목으로 출원된 미국 가출원 번호 제60/393,091호; 및 2002년 7월 3일에 "Method and Apparatus for Automatic Sensor Installation"이라는 제목으로 출원된 미국 가출원 번호 제60/393,104호와 관련되어 있다. 이들 출원 각각의 전문이 본 명세서에서 인용참증된다.
본 발명은, 반도체 처리 시스템, 특히 고급 프로세스 제어(Advanced Process Control:APC)를 사용하는 반도체 처리 시스템에 관한 것이다.
일반적으로, 컴퓨터는 제조 공정들을 제어하고, 모니터링하며, 초기화하는데 사용된다. 재입력 가능한 웨이퍼 플로우(reentrant wafer flow), 중요한(critical) 처리 단계들, 및 프로세스들의 유지보수성으로 인한 반도체 제조 플랜트의 복잡성 때문에, 이들 작동에는 컴퓨터가 이상적이다. 프로세스 플로우, 웨이퍼 상태, 및 유지보수 스케쥴을 제어하고 모니터링하는데 다양한 입력/출력(I/O) 디바이스들이 사용된다. 에칭과 같은 중요한 작동에서부터 뱃치 처리(batch processing)까지의 이들 복잡한 단계들 및 검사들을 완료하기 위해 반도체 제조 플랜트내에 다양한 툴들이 존재한다. 대부분의 툴 설치는, 설치 소프트웨어를 포함하는 제어 컴퓨터의 그래픽 사용자 인터페이스(GUI)의 일부분인 디스플레이 스크린을 사용하여 달성된다. 반도체 처리 툴의 설치는 시간 소모적인 절차이다.
반도체 처리 설비들은 정기적인 모니터닝을 필요로 한다. 처리 조건들은, 바람직하지 않은 결과들을 생성하는 중요한 프로세스 파라미터들의 매우 사소한 변화들을 가지고, 시간에 따라 변한다. 작은 변화들은 에칭 가스의 조성 또는 압력, 프로세스 챔버, 또는 웨이퍼 온도에 있어 쉽게 발생할 수 있다. 많은 경우에서, 처리 특성의 저하를 반영하는 프로세스 데이터의 변화들은 단순히 디스플레이된 프로세스 데이터를 참조하여서는 검출될 수 없다. 프로세스의 비정상성(abnormalities) 및 특성 열화를 조기에 검출하는 것은 어렵다. 흔히 고급 프로세스 제어(APC)에 의하여 제공되는 예측(prediction) 및 패턴 인식(pattern recognition)이 필요하다.
설비 제어는 흔히 다양한 제어기를 구비한 다수의 상이한 제어 시스템들에 의해 실행된다. 몇몇 제어 시스템들은 터치 스크린과 같은 인간-기계 인터페이스(man-machine interface)를 가질 수 있는 한편, 다른 제어 시스템들은 온도와 같은 하나의 변수만을 수집하고 디스플레이할 수도 있다. 모니터링 시스템은 프로세스 제어 시스템에 대해 제표된(tabulated) 데이터를 수집할 수 있어야 한다. 모니터링 시스템의 데이터 수집은, 단변(univariate) 및 다변(multivariate) 데이터, 상기 데이터의 분석 및 디스플레이를 다루어야만 하고, 수집을 위해 프로세스 변수들을 선택할 수 있는 능력을 가진다. 프로세스내에서의 다양한 조건들은 프로세스 챔버들 각각에 제공된 상이한 센서들에 의해 모니터링되며, 그 모니터링된 조건들의 데이터는 제어 컴퓨터로 전송되고 누적(accumulate)된다. 상기 프로세스 데이터가 자동으로 디스플레이되고 검출된다면, 양산 라인(mass-production line)의 최적의 공정 조건들이 통계 프로세스 제어(statistical process control:SPC) 차트를 통해 설정되고 제어될 수 있다. 설비의 불충분한 모니터링은 전체 운영비를 가중시키는 설비 휴지시간(downtime)을 유발할 수 있다.
본 명세서에 통합되고 또한 그 일부분을 구성하는 첨부 도면들은, 상기에 서술된 개략적인 설명과 그리고 하기에 서술된 실시예들의 상세한 설명과 함께 본 발명의 바람직한 실시예들을 예시하며, 본 발명의 원리들을 설명하기 위해 제공된다. 이하의 상세한 설명을 참조하면, 본 발명을 보다 완전하게 파악하고 그것의 여러 장점들을 쉽게 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 반도체 제조 환경에서의 고급 프로세스 제어(APC) 시스템의 예시적인 블록도;
도 2는 Tokyo Electron사의 시스템의 예시적인 블록도;
도 3은 본 발명의 일 실시예에 따른 APC 시스템에 대한 간략화된 데이터 흐름도;
도 4는 본 발명의 일 실시예에 따른 간략화된 인터페이스 다이어그램;
도 5는 본 발명의 일 실시예에 따른 이벤트 콘텍스트(event contexts), 전략, 콘트롤 잡(control job) 및 플랜들에 대한 예시적인 관계도;
도 6은 본 발명의 일 실시예에 따른 간략화된 데이터 플로우 도;
도 7은 본 발명의 일 실시예에 따른 인터페이스 서버의 예시적인 블록도;
도 8은 본 발명의 일 실시예에 따른 반도체 처리 시스템에서 처리 툴에 대한 프로세스를 모니터링하는 흐름도의 간략화된 도;
도 9는 전략 및 플랜들에 대한 예시적인 관계도;
도 10은 전략 및 플랜들에 대한 또 다른 예시적인 관계도;
도 11은 본 발명의 일 실시예에 따른 판정 플랜(judgment plan) 및 개입 플랜(intervention plan)에 대한 예시적인 관계도;
도 12는 본 발명의 일 실시예에 따른 툴 상태 스크린(Tool Status screen)의 예시도이다.
따라서, 본 발명의 목적은 반도체 처리 환경에서 처리 툴을 제어하는 고급 프로세스 제어(APC) 시스템을 제공하는 것이며, 여기서 상기 APC 시스템은 복수의 APC 관련 어플리케이션을 제공하는 APC 서버; 상기 APC 서버에 커플링된 인터페이스 서버(IS); 상기 IS 및 APC 서버에 커플링된 데이터베이스; 및 상기 APC 서버에 커플링된 GUI 구성요소를 포함하고, 상기 IS는 처리 툴에 커플링하기 위한 수단, 및 상기 처리 툴에 커플링된 복수의 프로세스 모듈에 커플링하기 위한 수단을 포함한다.
또한 본 발명의 목적은 반도체 처리 환경에서 처리 툴을 제어하는 고급 프로세스 제어(APC) 시스템을 사용하는 방법을 제공하는 것이며, 상기 방법은: 복수의 APC 관련 어플리케이션을 제공하는 APC 서버를 제공하는 단계; 상기 APC 서버에 커플링된 인터페이스 서버(IS)를 제공하는 단계; 상기 IS 및 APC 서버에 커플링된 데이터베이스를 제공하는 단계; 및 상기 APC 서버에 커플링된 GUI 구성요소를 제공하는 단계를 포함하고, 상기 IS는 처리 툴에 커플링하기 위한 수단, 및 상기 처리 툴에 커플링된 복수의 프로세스 모듈에 커플링하기 위한 수단을 포함한다.
도 1은 본 발명의 일 실시예에 따른 반도체 제조 환경에서의 APC 시스템의 예시적인 블록도를 도시한다. 예시된 실시예에서, 반도체 제조 환경(100)은 1이상의 반도체 처리 툴(110), 다중 프로세스 모듈(120; PM1 내지 PM4), 상기 툴, 상기 모듈 및 프로세스들을 모니터링하는 다중 센서(130), 센서 인터페이스(140), 및 APC 시스템(145)을 포함한다. APC 시스템(145)은 인터페이스 서버(IS; 150), APC 서버(160), 클라이언트 워크스테이션(170), GUI 구성요소(180), 및 데이터베이스(190)를 포함할 수 있다. 일 실시예에서, IS(150)는 "허브(Hub)"로서 뷰잉(view)될 수 있는 실시간 메모리 데이터베이스를 포함할 수 있다.
APC 시스템(145)은 처리 툴, 프로세스 모듈, 및 센서 중 1이상을 제어하는 툴 레벨(TL) 콘트롤러(도시 안됨)를 포함할 수 있다.
예시된 실시예에서, 4개의 프로세스 모듈(120)과 함께 단일 툴(110)이 도시되어 있으나, 이는 본 발명에 필수적인 것은 아니다. APC 시스템(145)은 1이상의 프로세스 모듈을 갖는 클러스터 툴들을 포함하는 다수의 처리 툴과 인터페이스할 수 있고, 또한 1이상의 프로세스 모듈을 갖는 클러스터 툴을 포함하는 다수의 처리 툴을 구성하고 모니터링하는데 사용될 수 있다. 예를 들어, 툴 및 그와 관련된 프로세스 모듈들은 에칭, 피처 트리밍(feature trimming), 증착, 확산, 세정, 측정, 폴리싱, 현상, 이송(transfer), 저장, 로딩, 언로딩, 정렬, 온도 제어, 리소그래피, 통합된 메트롤로지(integrated metrology; IM), 광학 데이터 프로파일링(ODP), 입자 검출, 아크 억제 및 여타의 반도체 제조 프로세스들을 실행하는데 사용될 수 있다.
IM 요소는 처리 툴에 커플링되는 모듈(통합된 메트롤로지 모듈;IMM)로서 배치될 수 있다. 예를 들어, IMM은 웨이퍼의 피처의 형상을 측정하고 분석하는 (Timbre사의) ODP 시스템일 수 있다.
일 실시예에서, 처리 툴(110)은 (미도시된) 툴 에이전트(tool agent)를 포함할 수 있는데, 이 툴 에이전트는 하나의 툴(110)상에서 진행되는 소프트웨어 프로세스일 수 있으며 데이터 획득(data acquisition)을 툴 프로세스와 동기화하는데 사용되는 이벤트 정보(event information), 콘텍스트 정보(context information), 및 시작-정지 타이밍 명령들을 제공할 수 있다. 또한, APC 시스템(145)은 툴 에이전트에 커넥션을 제공하는데 사용될 수 있는 소프트웨어 프로세스일 수 있는 에이전트 클라이언트(미도시됨)를 포함할 수 있다. 예를 들어, APC 시스템(145)은 인터넷 또는 인트라넷 커넥션을 통해 처리 툴(110)에 연결될 수 있다.
예를 들어, 에이전트 클라이언트는 툴 에이전트로부터 이벤트들 및 그들의 관련 메세지들을 수신하고 APC 시스템을 통해 상기 메세지들을 전파하는데 사용될 수 있다. 클라이언트 소프트웨어는 커뮤니케이션 클래스(communications class) 및 드라이버를 포함할 수 있다. 에이전트 클라이언트 커뮤니케이션 클래스는 동적으로 로딩가능한 모듈(DLL)로서 구현되는 재사용가능한 클래스로서 설계될 수 있다. 또한, 툴 에이전트로부터 메세지들을 파싱(parse)하고 상기 메세지들을 요소들로 나누는데(break) 사용되는 메세지 클래스일 수도 있다. 에이전트 메세지 클래스는 파라미터로서 툴 에이전트로부터 수용된 문자열(string)을 이용하여 실증(instantiate)될 수 있다. 설증시, 문자열이 해석되고 모든 클래스 속성들은 상기 문자열로부터의 데이터로 채워진다. 상기 에이전트 클라이언트 커뮤니케이션 클래스는 BSD 소켓을 통해 툴 에이전트와 통신하며, 그것은 다음의 방법들을 포함할 수 있다.
a. Start Agent : 툴 에이전트와의 통신을 수립하고 에이전트에 시작 메세지를 보내는 방법. 에이전트로부터 시작 인식 메세지가 수신되면, 커넥션이 클로징되고 이벤트 수신 스레드(event receive thread)가 생성된다(spawned). 상기 에이전트에 의해 초기 커넥션이 수립되면, 상기 툴을 찾은(found) 로컬 인터페이스가 저장된다.
b. Event Receive Thread : 이는 에이전트와의 "event listen" 커넥션을 수립시킨다. 일단 커넥션이 수립되면, 스레드는 에이전트로부터의 메세지를 무기한(indefinitely) 기다린다. 메세지가 수신되면, 새로운 에이전트 메세지 객체가 실증되고 메세지 큐(queue)에 배치된다. 그 다음, 스레드는 "wait for message" 상태로 돌아간다.
c. Get Next Message : 메세지 큐의 다음 객체를 취하여(get off) 그것을 호출자에게 되돌려 보내는 방법.
d. Stop Agent : 툴 에이전트에 정지 신호를 보내는 방법. 그것이 정지 신호를 수용하면, 상기 툴은 이벤트 수신 스레드와의 커넥션을 클로징할 수 있다. 이벤트 수신 스레드가 상기 커넥션이 클로징되었다는 것을 감지하면, 그것은 제거된다.
일 실시예에서, 처리 툴(110)은 소켓을 이용하여 IS(150)와 통신한다. 예를 들어, 인터페이스는 TCP/IP 소켓 통신을 이용하여 구현될 수 있다. 매 통신 이전에, 소켓이 수립된다. 그런 후, 메세지가 큐로서 보내진다. 메세지가 보내진 후, 소켓은 삭제(cancel)된다.
대안적으로, 이산 메세지 허브(Distributed Message Hub; DMH) 클라이언트 클래스와 같은 특정한 클래스를 사용하는 C/C++코드, 또는 C/C++프로세스로 확장된 TCL 프로세스로서 인터페이스가 구조화될 수 있다. 이 경우, 소켓 커넥션을 통해 프로세스/툴 이벤트들을 수집하는 로직은, IS(150)의 테이블내에 이벤트들 및 이들의 콘텍스트 데이터를 삽입하도록 수정될 수 있다.
툴 에이전트는 이벤트 및 콘텍스트 정보를 APC 시스템에 제공하도록 메세지를 전송할 수 있다. 예를 들어, 툴 에이전트는 로트(lot) 시작/정지 메세지, 뱃치 시작/정지 메세지, 웨이퍼 시작/정지 메세지, 레시피(recipe) 시작/정지 메세지, 및 프로세스 시작/정지 메세지를 보낼 수 있다. 또한, 툴 에이전트는 설정점 데이터(set point data)를 송신 및/또는 수신하는데 사용될 수 있고, 유지보수 카운터 데이터(maintenance counter data)를 송신 및/또는 수신하는데 사용될 수 있다.
일 실시예에서, 복수의 처리 툴에 공통 툴 에이전트가 설치될 수 있다. 공통 툴 에이전트는 인터페이스 메세지 포맷이 공유(common)되도록 할 수 있다. 예를 들어, 통신 메세지 포맷은 3가지 부분: 즉 메세지 ID로부터 터미네이터(terminator)까지의 메세지의 길이인 메세지 길이; 명령 및 이벤트 식별에 사용되는 메세지 ID; 상기 명령 또는 이벤트의 콘텐츠를 포함하는 메세지 보디(message body)를 포함할 수 있다. 또한, 메세지는 ASCII 코드를 사용할 수 있고, 길이는 변화가능하다. 또한, 각각의 메세지는 제어 코드에 의하여 분리될 수 있고, 터미네이터가 사용될 수 있다. 대안실시예에서는, 툴에 듀얼 에이전트가 수립될 수 있다.
처리 툴이 내부 센서를 포함하는 경우, 처리 툴은 소정의 센서로 간주될 수 있고, 이 데이터는 APC 시스템(145)에 보내어질 수 있다. 데이터 파일들은 이 데이터를 전송하는데 사용될 수 있다. 예를 들어, 몇몇 처리 툴들은, 생성될 때 툴에서 압축되는 트레이스(trace) 파일들을 생성할 수 있다. 압축된 파일 및/또는 압축되지 않은 파일들이 전송될 수 있다. 트레이스 파일들이 처리 툴에서 생성될 경우, 트레이스 데이터는 종료점 검출(end point detection; EPD) 데이터를 포함하거나 포함하지 않을 수 있다. 트레이스 데이터는 프로세스에 대한 중요한 정보를 제공한다. 트레이스 데이터는 웨이퍼 처리가 완료된 후에 업데이트되고 전송될 수 있다. 트레이스 파일들은 각각의 프로세스에 대해 적절한 디렉토리로 전송될 수 있다. 일 실시예에서, 툴 트레이스 데이터, 유지보수 데이터, 및 EPD 데이터는 처리 툴(110)로부터 획득될 수 있다.
도 1에서, 4개의 프로세스 모듈이 도시되지만, 이는 본 발명에 필수적인 것은 아니다. 반도체 처리 시스템은, 처리 툴들과 관련된 여하한의 개수의 프로세스 모듈 및 독립적 프로세스 모듈을 가지는 여하한의 개수의 처리 툴을 포함할 수 있다. (1이상의 TL 콘트롤러를 포함하는) APC 시스템(145)은, 처리 툴들과 연관된 여하한의 개수의 프로세스 모듈 및 독립적 프로세스 모듈을 가지는 여하한의 개수의 처리 툴을 구성하고, 제어하고, 모니터링하는데 사용될 수 있다. APC 시스템은 처리 툴, 프로세스 모듈, 및 센서를 수반하는 프로세스로부터 데이터를 수집, 제공, 처리, 저장, 및 디스플레이할 수 있다.
프로세스 모듈은 ID, 모듈 형식, 가스 파라미터, 및 유지보수 카운터와 같은 데이터를 이용하여 식별될 수 있으며, 이 데이터는 데이터베이스에 세이브될 수 있다. 새로운 프로세스 모듈이 구성되는 경우, 이 데이터 형식은 GUI 구성요소(180)의 모듈 구성 패널/스크린을 이용하여 제공될 수 있다. 예를 들어, APC 시스템은 도쿄 전자 유한회사(Tokyo Electron Limited)의 다음과 같은 툴 형식: 유니티(Unity)-관련 프로세스 모듈, 트리아스(Trias)-관련 프로세스 모듈, 텔리우스(Telius)-관련 프로세스 모듈, OES-관련 모듈, 및 ODP-관련 모듈을 지원할 수 있다. 도 2는 도쿄 전자 유한회사의 시스템의 예시적인 블록도를 나타내고 있다. 대안적으로, APC 시스템은 여타의 툴 및 그와 관련된 프로세스 모듈을 지원할 수 있다. 예를 들어, APC 시스템(145)은 인터넷 또는 인트라넷 커넥션을 통해 프로세스 모듈(120)에 연결될 수 있다.
프로세스 모듈 ID은 정수일 수 있고; 가스 파라미터들의 수는 모듈 형식에 종속적일 수 있으며, 유지보수 카운터 정보 또한 상기 모듈에 종속적일 수도 있다. 예를 들어, 사용자는 특정 유지보수 카운터에 새로운 이름을 할당하고, 그것에 특별한 스케일 레이트(scale rate)를 할당하며, 이 유지보수 카운터에 상기 툴 중단 기능(tool pause function)을 할당할 수 있다. 일반적인 카운터들은 유지보수 카운터들의 일부로서 제공되며, 사용자에 의해 구성될 수 있다.
예시적인 실시예에서, 연관된 프로세스 모듈과 함께 단일 센서(130)가 도시되나, 이는 본 발명에 필수적인 것은 아니다. 여하한의 개수의 센서가 프로세스 모듈에 커플링될 수 있다. 센서(130)는 ODP 센서, OES 센서, VIP 센서, 아날로그 센서, 및 디지털 프로브(digital probe)를 포함하는 여타의 종류의 반도체 처리 센서를 포함할 수 있다. APC 데이터 관리 어플리케이션은 다양한 센서들로부터 데이터를 수집, 처리, 저장, 디스플레이, 및 출력하는데 사용될 수 있다.
APC 시스템에서, 센서 데이터는 외부 소스와 내부 소스 둘 모두에 의해 제공될 수 있다. 외부 소스는 외부 데이터 리코더 형식을 이용하여 정의될 수 있고; 데이터 리코더 객체(data recorder object)는 각각의 외부 소스에 할당될 수 있으며, 상태 가변 표시(state variable representation)가 사용될 수 있다.
센서 구성 정보는 센서 형식 및 센서 인스턴스 파라미터(sensor instance parameter)를 조합한다. 센서 형식은 센서의 기능에 대응하는 범용 용어(generic term)이다. 센서 인스턴스는 특정 프로세스 모듈 및 툴상에서 특정 센서에 대해 센서 형식을 짝지운다(pair). 툴에 부착되는 각각의 물리적 센서(physical sensor)를 위해 1이상의 센서 인스턴스가 구성된다.
예를 들어, OES 센서는 일 형식의 센서일 수 있고; VI 프로브는 또 다른 형식의 센서일 수 있으며, 아날로그 센서는 상이한 형식의 센서일 수 있다. 또한, 추가 범용 형식(generic type)의 센서들 및 추가 특정 형식의 센서들이 있을 수 있다. 센서 형식은 특정 종류의 센서를 런 타임으로 설정하는데 필요한 모든 변수들을 포함한다. 이들 변수들은 정적(static)이고(이 형식의 모든 센서들은 동일한 값을 가짐), 인스턴스에 의해 구성가능하거나(상기 센서 형식의 각각의 인스턴스는 유일한 값을 가질 수 있음), 또는 데이터 수집 플랜에 의해 동적으로 구성가능하다(센서가 런 타임으로 활성화 될 때마다, 상이한 값이 주어질 수 있음).
"인스턴스에 의해 구성가능한" 변수는 센서/프로브 IP 어드레스일 수 있다. 이 어드레스는 (각각의 프로세스 챔버에 대한) 인스턴스에 의해 변하지만 런(run)으로부터 런까지 변하지는 않는다. "데이터 수집 플랜에 의해 구성가능한" 변수는 고조파들의 리스트일 수 있다. 이들은 콘텍스트 정보에 기초하여 각각의 웨이퍼에 대해 상이하게 구성될 수 있다. 예를 들어, 웨이퍼 콘텍스트 정보는 툴 ID, 모듈 ID, 슬롯 ID, 레시피 ID, 카세트 ID, 시작 시간, 및 종료 시간을 포함할 수 있다. 동일한 센서 형식의 많은 인스턴스들이 있을 수 있다. 센서 인스턴스는 하드웨어의 특정 피스(specific piece)에 대응하고 센서 형식을 툴 및/또는 프로세스 모듈(챔버)에 연결시킨다. 다시 말해, 센서 형식은 범용이고 센서 인스턴스는 특정하다.
도 1에 도시된 바와 같이, 센서 인터페이스(140)는 센서(130)와 APC 시스템(145)간의 인터페이스를 제공하는데 사용될 수 있다. 예를 들어, APC 시스템(145)은 인터넷 또는 인트라넷 커넥션을 통해 센서 인터페이스(140)에 연결될 수 있으며, 상기 센서 인터페이스(140)는 인터넷 또는 인트라넷 커넥션을 통해 센서(130)에 연결될 수 있다. 또한, 센서 인터페이스(140)는 프로토콜 컨버터, 미디어 컨버터, 및 데이터 버퍼로서 작용할 수 있다. 또한, 센서 인터페이스(140)는 데이터 획득, 피어-투-피어(peer-to-peer) 통신, 및 I/O 스캐닝과 같은 실시간 기능들을 제공할 수 있다. 대안적으로, 센서 인터페이스(140)는 제거될 수 있으며, 상기 센서(130)는 APC 시스템(145)에 직접 커플링될 수 있다.
센서(130)는 정적 또는 동적 센서일 수 있다. 예를 들어, 동적 VI 센서는 그 주파수 범위, 샘플링 주기, 스케일링, 트리거링(triggering), 및 데이터 수집 플랜에 의해 제공되는 파라미터들을 이용하여 런 타임에서 수립된 오프셋 정보를 가질 수 있다. 센서(130)는 정적 및/또는 동적일 수 있는 아날로그 센서일 수 있다. 예를 들어, 아날로그 센서는 ESC 전압, 매처 파라미터(matcher parameters), 가스 파라미터, 유속, 압력, 온도, RF 파라미터에 대한 데이터, 및 여타의 프로세스 관련 데이터를 제공하는데 사용될 수 있다. 센서(130)는, VIP 프로브, OES 센서, 아날로그 센서, 디지털 센서, ODP 센서 및 여타 반도체 처리 센서들 중 1이상을 포함할 수 있다.
일 실시예에서, 센서 인터페이스는 원 데이터 파일(raw data file)에 데이터 포인트들을 기록할 수 있다. 예를 들어, IS(150)는 데이터 획득을 시작하기 위해서 센서 인터페이스로 시작 명령을 보낼 수 있으며, 상기 파일이 클로징되도록 하는 정지 명령을 보낼 수 있다. 그 후, IS(150)는 센서 데이터 파일을 판독 및 파싱하고, 데이터를 처리하고, 데이터 값을 인-메모리 데이터 테이블(in-memory data tables)에 포스트(post)할 수 있다. 대안적으로, 센서 인터페이스는 실시간으로 데이터를 IS(150)로 스트리밍할 수 있다. 센서 인터페이스가 디스크에 파일을 기록하도록 하는 스위치가 제공될 수 있다. 또한, 센서 인터페이스는 오프-라인 처리 및 분석을 위해 파일을 판독하고 IS(150)로 데이터 포인트들을 스트리밍하는 방법을 제공할 수도 있다.
도 1에 도시된 바와 같이, APC 시스템(145)은 데이터베이스(190)를 포함할 수 있다. 툴 유지보수 데이터가 데이터베이스(190)에 저장될 수 있다. 또한, 툴로부터의 원 데이터 및 트레이스 데이터가 데이터베이스(190)내에 파일로서 저장될 수 있다. 데이터량은 사용자에 의해 구성된 데이터 수집 플랜뿐만 아니라 프로세스들이 수행되고 처리 툴이 실행되는 빈도(frequency)에 의존한다. 예를 들어, 데이터 수집 플랜은 어떻게 그리고 언제 툴 상태 및 프로세스-관련 데이터를 수집하는지를 결정하도록 수립될 수 있다. 처리 툴, 처리 챔버, 센서, 및 APC 시스템으로부터 획득된 데이터는 테이블내에 저장된다.
일 실시예에서, 상기 테이블은 IS(150)에서 인-메모리 테이블로서 그리고 데이터베이스(190)에서 지속형 스토리지(persistent storage)로서 구현될 수 있다. IS(150)는 열(column)과 행(row) 생성을 위해서 뿐만 아니라 데이터를 테이블에 포스트하기 위해서 SQL(Structured Query Language)를 사용할 수 있다. 상기 테이블은 데이터베이스(190)내의 지속형 테이블내에서 복사(duplicate)될 수 있으며(즉, DB2가 사용될 수 있음), 동일한 SQL 문장(statements)을 사용하여 파퓰레이팅(populated)될 수 있다.
예시된 실시예에서, IS(150)는 인-메모리 실시간 데이터베이스와 서브스크립션 서버(subscription server) 둘 모두일 수 있다. 예를 들어, 클라이언트 프로세스는 관계적 데이터 테이블(relational data table)의 친숙한 프로그래밍 모델을 가지는 SQL을 사용하여 데이터베이스 기능을 수행할 수 있다. 또한, IS(150)는 그 선택 기준(selection criteria)을 충족시키는 데이터가 삽입되거나, 업데이트되거나 또는 삭제될 때마다 클라이언트 소프트웨어가 비동기식 통지(asynchronous notification)를 수신하는 데이터 서브스크립션 서비스를 제공할 수 있다. 퓨처(future) 데이터 변경 통지를 필터링하기 위해 어떤 테이블 열들이 해당되고 어떤 행의 선택 기준이 사용되는지를 특정하기 위하여, 서브스크립션은 SQL 선택 문장을 충분히 사용한다.
IS(150)가 데이터베이스와 서브스크립션 서버 둘 모두이기 때문에, 클라이언트는 서브스크립션이 초기화되는 경우 기존의 테이블 데이터에 "동기식" 서브스크립션을 오픈할 수 있다. IS(150)는 퍼블리시/서브스크라이브 메커니즘(publish/subscribe mechanism), 인-메모리 데이터 테이블, 그리고 시스템을 통해 이벤트 및 알람을 정리(marshal)하는 감독 로직(supervisory logic)을 통해 데이터 동기화를 제공한다. IS(150)는 소켓, UDP, 및 퍼블리시/서브스크라이브를 포함하는 기술에 기초하여 수개의 메세징 TCP/IP를 제공한다.
예를 들어, IS(150) 아키텍처는 실시간 데이터 관리 및 서브스크립션 기능들을 제공할 수 있는 다중 데이터 허브(즉, SQL 데이터베이스)를 사용할 수 있다. 어플리케이션 모듈 및 사용자 인터페이스는 SQL 메세지를 사용하여 데이터 허브(들)내의 정보에 액세스하고 업데이트한다. 관련 데이터베이스에 런 타임 데이터를 포스트하는 것과 연관된 성능 한계로 인해, 런 타임 데이터는 IS(150)에 의해 관리되는 인-메모리 데이터 테이블에 포스팅된다. 이들 테이블의 콘텐츠는 웨이퍼 처리의 종료시 관련 데이터베이스에 포스트될 수 있다.
도 1에 도시된 예시적인 실시예에서는, 단일 클라이언트 워크스테이션(170)이 도시되었지만, 이는 본 발명에 필수적인 것은 아니다. APC 시스템(145)은 복수의 클라이언트 워크스테이션(170)을 지원할 수 있다. 일 실시예에서, 클라이언트 워크스테이션(170)은 사용자로 하여금 센서들을 구성하게 하고; 툴, 챔버, 및 센서 상태를 포함하는 상태를 뷰잉하며; 프로세스 상태를 뷰잉하고; 히스토리 데이터를 뷰잉하며; 오류 데이터를 뷰잉하고, 그리고 모델링 및 차팅(charting) 기능들을 수행하게 한다.
도 1에 도시된 예시적인 실시예에서, APC 시스템(145)은 IS(150), 클라이언트 워크스테이션(170), GUI 구성요소(180), 및 데이터베이스(190)에 커플링될 수 있는 APC 서버(160)를 포함할 수 있으나, 이는 본 발명에 필수적인 것은 아니다. APC 서버(160)는 1이상의 툴-관련 어플리케이션, 1이상의 모듈-관련 어플리케이션, 1이상의 센서-관련 어플리케이션, 1이상의 IS-관련 어플리케이션, 1이상의 데이터베이스-관련 어플리케이션, 및 1이상의 GUI-관련 어플리케이션을 포함하는 다수의 어플리케이션을 포함할 수 있다. 또한, APC 서버는 다수의 프로세스-관련 어플리케이션을 포함할 수 있다.
APC 서버(160)는 1이상의 컴퓨터 및 소프트웨어를 포함할 수 있는데, 이는 다중 프로세스 툴을 지원하고; 툴, 프로세스 모듈, 센서, 및 프로브로부터 데이터를 수집하고 동기화하며; 데이터베이스에 데이터를 저장하고, 사용자가 기존 차트를 뷰잉할 수 있도록 하며; 및/또는 오류 검출(fault detection)을 제공한다. 예를 들어, APC 서버(160)는 도쿄전자의 인제니오(Ingenio) 소프트웨어와 같은 운영 소프트웨어를 포함할 수 있다. APC 서버는 온라인 시스템 구성, 온라인 로트-대-로트 오류 검출, 온라인 웨이퍼-대-웨이퍼 오류 검출, 온라인 데이터베이스 관리를 허용하고, 히스토리 데이터(historical data)에 기초한 모델들을 이용하여 서머리 데이터의 다변 분석을 수행한다. 또한, APC 시스템은 프로세스들 및 처리 툴의 실시간 모니터링을 허용한다.
예를 들어, APC 서버(160)는 최소 3GB의 이용가능한 디스크 공간; 적어도 600MHz CPU(듀얼 프로세서); 최소 512Mb RAM(물리적 메모리); RAID 5 구성의 9 GB SCSI 하드 드라이브; 상기 RAM 크기의 두배인 최소 디스크 캐시; 설치된 Windows 2000 서버 소프트웨어; Microsoft Internet Explorer; TCP/IP 네트워크 프로토콜; 및 2이상의 네트워크 카드를 포함할 수 있다.
테이블들에 대한 소프트웨어 인터페이스는 TCL 및 SQL의 조합에 의해 제공된다. 예를 들어, 배경(background)내에서 작동하는 로더(loader) 프로세스는, 일 파일로부터 데이터베이스로 SQL 명령들을 보내는 데이터베이스에 데이터의 포스팅을 제공할 수 있다. 인-메모리 테이블로부터 지속형 테이블로의 데이터의 이송은 소정 파일에 SQL을 기록하고 상기 파일을 로더 디렉토리내에 배치함으로써 달성될 수 있다. SQL이 실행된 후에, 상기 파일은 로더 디렉토리로부터 자동으로 삭제될 수 있다.
시스템내에 수집되는 데이터는, 실시간 센서 수집과 데이터베이스 저장 사이의 한 세트의 단계들을 통해 흐른다(flow). 시스템으로부터 수집된 데이터는 먼저 IS(150)의 실시간 메모리 SQL 데이터베이스내로 로딩된다. SQL 데이터베이스는, APC 시스템의 데이터 관리부내의 플랜들을 통하여 사용자에 의해 정의되는 상이한 알고리즘들에 의해 그리고 콘트롤 잡에 의하여 정의되는 스크립트들에 의해 처리될 데이터에 대한 물리적인 로케이션을 제공한다.
APC 시스템(145)은, 센서로부터의 원 데이터를 포함하는 파일들 및 툴로부터의 트레이스 데이터를 포함하는 파일들을 저장하는 1이상의 저장 디바이스를 포함할 수 있다. 이들 파일들이 적절히 관리되지(즉, 정규적으로 삭제되지) 않는 경우, 저장 디바이스는 디스크 공간이 꽉 찰 수 있고, 새로운 데이터 수집을 정지시킬 수 있다. APC 시스템(145)은 사용자가 구 파일(older file)들을 삭제하도록 하는 데이터 관리 어플리케이션을 포함할 수 있게 함에 따라, 인터럽션(interruption) 없이 데이터 수집을 계속할 수 있도록 디스크 공간을 여유롭게 한다. APC 시스템(145)은 시스템을 운영하는데 사용되는 복수의 테이블을 포함할 수 있으며, 이들 테이블은 데이터베이스(190)에 저장될 수 있다. 또한, 온-사이트 또는 오프-사이트 컴퓨터/워크스테이션 및/또는 호스트와 같은 다른 컴퓨터들(미도시됨)은, 1개 또는 다수의 툴에 대해 데이터/차트 뷰잉, SPC 차팅, EPD 분석, 파일 액세스와 같은 기능들을 제공하도록 네트워킹될 수 있다.
도 1에 도시된 바와 같이, APC 시스템(145)은 GUI 구성요소(180)를 포함할 수 있다. 예를 들어, GUI 구성요소는 APC 서버(160), 클라이언트 워크스테이션(170), 및 툴(110)에 관한 어플리케이션으로서 실행될 수 있다.
GUI 구성요소(180)는, APC 시스템 사용자로 하여금 가능한 한 적게 입력하면서 원하는 구성, 데이터 수집, 모니터링, 모델링, 및 장애 추적 태스크(troubleshooting task)를 수행할 수 있게 한다. GUI 설계는, SEMI Human Interface Standard for Semiconductor Manufacturing Equipment(SEMI Draft Doc. #2783B) 및 SEMATECH Strategic Cell Controller(SCC) User-Interface Style Guide 1.0(Technology Transfer 92061179A-ENG)에 따른다. 당업자라면, GUI 패널/스크린이 좌-우 선택 탭 구조(left-to-right selection tab structure) 및/또는 우-좌 구조, 바텀-탑(bottom-to-top) 구조, 탑-바텀 구조, 또는 조합 구조를 포함할 수 있다는 것을 이해할 수 있을 것이다.
또한, 비록 예시를 위해 도시된 스크린이 영어 버전으로 되어 있지만, 이는 본 발명에 필수적인 것은 아니며 다른 언어들이 사용될 수 있다.
또한, GUI 구성요소(180)는 APC 시스템과 사용자간의 상호작용 수단을 제공한다. GUI가 시작되면, 사용자 ID 및 패스워드를 유효화(validate)하는 로그온 스크린이 디스플레이될 수 있으며, 이는 첫번째 레벨의 보안을 제공한다. 바람직하게는, 사용자들은 로그온 하기 이전에 보안 어플리케이션(security application)을 이용하여 등록(register)될 수 있다. 사용자 ID의 데이터베이스 체크는, 이용가능한 GUI 기능들을 스트림라이닝할(streamline) 인증 레벨(authorization level)을 나타낸다. 사용자가 인증되지 않은 선택 아이템들은 상이할 수 있으며 이용할 수 없다. 또한, 보안 시스템은 사용자가 기존의 패스워드를 변경할 수 있도록 한다. 예를 들어, 로그온 패널/스크린은 넷스케이프 또는 인터넷 익스플로어와 같은 브라우저 툴로부터 오픈될 수 있다. 사용자는 로그온 필드에서 사용자 ID 및 패스워드를 입력할 수 있다.
인증된 사용자들 및 관리자들은 시스템 구성 및 센서 셋업 파라미터를 수정하기 위해 GUI 패널/스크린을 사용할 수 있다. GUI 구성요소(180)는 사용자가 처리 툴, 처리 모듈, 센서, 및 APC 시스템을 구성하도록 하는 구성 구성요소(configuration component)를 포함할 수 있다. 예를 들어, GUI 구성 패널/스크린은, 처리 툴, 처리 모듈, 센서, 센서 인스턴스, 모듈 중지, 및 알람 중 1이상에 대해 제공될 수 있다. 구성 데이터는 속성 데이터베이스 테이블(attribute database table)에 저장될 수 있으며 설치 시 디폴트로 셋업될 수 있다.
GUI 구성요소(180)는 처리 툴, 처리 모듈, 센서, 및 APC 시스템에 대해 현 상태를 디스플레이하는 상태 구성요소를 포함할 수 있다. 또한, 상태 구성요소는 1이상의 상이한 형식의 차트를 이용하여 사용자에게 시스템-관련 및 프로세스-관련 데이터를 제시하는 차팅 구성요소를 포함할 수 있다.
또한, GUI 구성요소(180)는 실시간 작동 구성요소를 포함할 수 있다. 예를 들어, GUI 구성요소는 배경 태스크(background task)와 커플링될 수 있으며, 공유 시스템 로직은 배경 태스크와 GUI 구성요소 둘 모두에 의해 사용되는 공통 기능성(common functionality)을 제공할 수 있다. 공유 로직은, GUI 구성요소로의 복귀 값이 배경 태스크로의 복귀되는 것과 동일함을 보증하는데 사용될 수 있다. 더욱이, GUI 구성요소(180)는 APC 파일 관리 GUI 구성요소 및 보안 구성요소를 포함할 수 있다. 또한, 도움말 패널/스크린이 이용가능하다. 예를 들어, 도움말 파일들은 PDF(Portable Document Format) 및/또는 HTML 포맷으로 제공된다.
도 1에 도시된 바와 같이, APC 시스템(145)은 팩토리 시스템(factory system; 105) 및/또는 E-진단 시스템(E-diagnostics system; 115)에 커플링될 수 있다. 팩토리 시스템(105) 및/또는 E-진단 시스템(115)은 반도체 처리 시스템의 툴, 모듈, 센서, 및 프로세스를 외부에서 모니터링하고 외부에서 제어하는 수단을 포함할 수 있다. 대안적으로, 팩토리 시스템(105) 및/또는 E-진단 시스템(115)은 툴 상태 모니터링을 실행할 수 있다. 예를 들어, 사용자는 팩토리 시스템(105) 및/또는 E-진단 시스템(115)을 통해 반도체 처리 시스템에 커플링되는 웹 기반 단말기를 이용하여 툴 상태 모니터링 시스템에 액세스할 수 있다.
또한, APC 시스템 및 E-진단 시스템은 문제들을 실시간으로 해결하기 위해 함께 작동할 수 있다. 예를 들어, APC 시스템(145)이 오류를 검출한 경우, 그 문제를 진단하는데 필요한 정보는 APC 서버에 의해 번들링(bundle)되고, E-진단 시스템으로 전송되거나, 또는 이후에 E-진단 시스템에 의한 액세스를 위해 저장될 수 있다. 운영 방법은 보안 제약(security constrain) 및/또는 고객 비즈니스 룰을 이용하여 결정될 수 있다.
또한, APC는 센서를 추가하고, 콘텍스트 및/또는 이벤트 구동되는 데이터 수집 플랜을 에디팅하는 수단을 포함한다. 예를 들어, 이는 E-진단 "프로브들" 및/또는 소프트웨어 구성요소들이 E-진단 시스템에 다운로드되게 하여 상기 시스템을 장애 추적할 수 있다. APC 시스템은, 문제를 진단하고 검출하며 및/또는 예상하는데 사용될 수 있는, 추가 데이터를 제공할 수 있는 포터블 세트(portable set)의 진단 툴들을 포함할 수 있다. 예를 들어, APC 시스템은 이들 진단 툴들을 추가 센서들로서 사용할 수 있다. 최하 레벨로서 아날로그 입력을 포함하여 다중 프로토콜을 지원하는 일반적인 센서 인터페이스로, 로컬 포터블 진단 유닛(local portable diagnostic unit)이 팩토리 시스템에 결합된 후 APC 시스템, E-진단 시스템 및/또는 팩토리 시스템에 의해 원격으로 사용될 수 있다.
APC 시스템에는, 팩토리에서 원격으로 개발되고 팩토리 또는 E-진단 시스템으로부터 다운로딩된 새로운 어플리케이션이 제공될 수 있다. 예를 들어, 새로운 어플리케이션은 APC 서버에 로컬로 상주(reside)할 수 있다. APC 시스템은, 새로운 프로시저들을 습득하고, 센서들을 동적으로 추가하고, 어플리케이션들을 추가하며, 심지어는 고객 센서에 대한 GUI 스크린을 추가하는 능력을 가진다. 나아가, APC 시스템은, 툴 및/또는 모듈이 기능불량(malfunction)인 경우(즉, 모터 또는 액츄에이터 아암 위치에 대한 웨이퍼 핸들링 시스템 문제)를 해결하기 위해 타이밍 분석 할당과 같은 매우 특별한 프로시저를 실행할 수 있다.
또한, APC 시스템은 툴 성능에 기초하여 샘플링 속도를 변경할 수 있다. 예를 들어, 데이터 수집 샘플링 속도 및 분석량은 툴 헬스(tool health)에 기초하여 변경될 수 있다. 또한, APC 시스템은 문제를 예상하거나 또는 툴 및/또는 모듈이 한계 조건 부근에서 실행되고 있는지를 검출할 수 있다.
또한, 고급 사용자들 및 관리자들은 GUI 스크린을 사용하여, 시스템 구성 및 센서 셋업 파라미터를 수정하게 하고; 툴-관련 전략 및 플랜을 생성 및 에디팅하고; 및/또는 툴 및 모듈의 수를 수정할 수 있다.
APC 시스템은, 고객(최종 사용자)이 처리 툴, 프로세스 모듈 및/또는 센서들을 추가하게 할 수 있는 구성가능한 시스템을 사용하여 구현된다. APC 시스템은, 고객이 모니터링 소프트웨어를 주문하게 하고, 분석 어플리케이션을 추가하며, 및/또는 상기 환경내의 새로운 툴, 모듈, 및 센서를 설치하고 모니터링할 수 있게 하는 개발 환경 및 메트롤로지를 제공한다.
APC 시스템 소프트웨어 아키텍처는 4개의 기능적 구성요소: 데이터 획득 구성요소, 메세징 시스템 구성요소, 관련 데이터베이스 구성요소, 및 포스트-처리 구성요소를 포함한다. 또한, 상기 아키텍처는 런-타임 데이터 획득 파라미터를 저장하는데 사용되는 인-메모리 데이터 테이블을 포함한다. APC 시스템 외부에는 툴 및 툴 에이전트가 있으며, 상기 툴 에이전트는 툴 프로세스와 데이터 획득을 동기화하는데 사용되는 시작-정지 타이밍 명령 및 콘텍스트 정보를 제공한다.
데이터 획득 구성요소는 데이터 포인트들, 이른바 파라미터들을 수집하고 파일에 그것들을 기록한다. 메세징 시스템은 데이터 획득 구성요소로부터 수신된 런-타임 데이터의 임시 저장을 위해 인-메모리 데이터 테이블을 이용한다. 메세징 시스템은, 에이전트 및/또는 툴 클라이언트에 의한 데이터 획득 주기의 시작 및 종료를 통지한다. 데이터 획득 주기의 종료시, 상기 데이터는 관련 데이터베이스에 포스트되고 인-메모리 데이터 테이블은 다음 획득 주기를 위해 클리어된다. 메세징 시스템에 의해 공급된 데이터의 포스트 처리는 런-타임으로 수행되고; 관련 데이터베이스에 저장된 상기 데이터의 포스트 처리는 오프-라인으로 수행된다.
APC 시스템의 목적은 실시간 그리고 히스토리 데이터를 사용하여 반도체 처리 시스템의 성능을 개선시키는 것이다. 이 목적을 달성하기 위해, 잠재적인 문제들은 상기 문제들이 발생하기 이전에 예측 및 보정될 수 있으며, 따라서 장비 휴지시간 및 생산되는 불량 웨이퍼(non-product wafer)의 수를 감소시킬 수 있다. 이는 데이터를 수집한 다음 그 데이터를, 특정 툴, 프로세스 모듈 및/또는 센서의 거동(behavior)을 모델링하는 소프트웨어 알고리즘으로 전송하여 달성될 수 있다. APC 시스템은 프로세스 파라메트릭 적응값(process parametric adaptation)들을 출력하는데, 그 후 이 적응값들은 특정 한계내에서 툴 성능을 유지하기 위해 피드 포워드 또는 피드 백된다. 이 제어는 상이한 레벨들에서 상이한 형식들로 달성될 수 있다.
APC 시스템의 알람 관리부는 오류 검출 알고리즘, 오류 분류 알고리즘, 및/또는 오류 예상 알고리즘을 제공할 수 있다. APC 시스템은 툴, 프로세스 모듈 및/또는 센서가 언제 기능불량 되는지를 예측할 수 있고, 또한 가능한 솔루션을 식별(identify)할 수 있어 기능불량을 보정하고 유지보수 및 처리 기능 도중에 생산되는 불량 웨이퍼의 수를 감소시킬 수 있다.
오류 예상은 오류 검출 및 고장 모델링의 조합이다. 이 방법은 챔버 세정 및 소모성 부품의 교체를 최적화하는데 사용될 수 있으며, 이는 생산시 일시중단(lull)이 있는 경우에 예방 유지보수 태스크의 "기회주의적 스케쥴링(opportunistic scheduling)"을 용이하게 하기 위함이다. 오류 예상은 복잡한 다변 모델 또는 단순한 단변 관계(예를 들어, 에칭 시 습식 세정에 대한 APC 각도) 중 어느 하나에 기초할 수 있다. 예를 들어, 오류 예상은 툴, 프로세스 모듈 및/또는 센서가 오류를 일으키는 경우, 그리고 툴, 프로세스 모듈 및/또는 센서의 유지보수를 수행해야 하는 경우를 예측하는데 사용될 수 있다.
GUI 어플리케이션은, 센서가 데이터를 수집하고 있는지를 판정할 수 있는 능력을 사용자에게 제공한다. 데이터 수집 플랜이 센서로부터의 데이터를 요구하지 않는 경우, 센서 상태의 상태(sensor status state)는 사용자에게 상기 센서가 온(on)이 되지 않을 것으로 예상되는 지시를 제공한다. 예를 들어, 데이터 수집 플랜이 센서로부터의 데이터를 요하지 않는 경우, 센서 상태는 "온-라인 오프"이어야하고, 사용자가 시스템 레벨에서 센서를 디세이블(disable)한 경우, 상기 상태는 "오프-라인 오프"이어야 한다.
툴, 모듈 및/또는 센서에 대한 인터베이스는, 장애(failure) 및 서비스 관련 불통(service related disruption)에 대해 관대하다(tolerant). 추가적으로 인터페이스는 셋업 및 장애 추적 능력을 제공한다. 예를 들어, 불통이 발생되는 경우, 툴, 모듈 및/또는 센서, 및/또는 APC 시스템은 불통을 검출하고 로깅, 알람 및 자동 회복/분석을 개시하여 정확한 거동을 판정하고 기능성의 손실을 최소화시킨다. 이러한 방식으로, 툴, 모듈, 센서, 및/또는 APC 시스템이 저감된 기능성(decreased functionality)에서 작동되는 동안 제품을 생산하는 고객의 우려를 줄일 수 있다.
또한, 장애-추적 및/또는 유지보수 어플리케이션은 서비스/유지보수 모드동안 작동될 수 있다. 장애 추적 센서 통신의 목적으로, 센서는 웨이퍼의 러닝 없이 테스트될 수 있다. 예를 들어, 센서는 WEB 기반 GUI로부터 셋업, 개시 및 중단될 수 있다. 이러한 특징은 흔히 센서 셋업 및 루틴 센서 유지보수시 사용될 수 있다.
APC 시스템은 도쿄 전자 유한회사의 문서 제1D97-A50003-21에 나타낸 바와 같이 설치 및 구성될 수 있다. 이 문서는 "APC Installation/Startup Manual"이란 제목으로 되어 있으며 본 발명에서 그 전문을 인용참조하고 있다.
도 3은 본 발명의 일 실시예에 따른 APC 시스템에 대한 간략화된 데이터 흐름도이다. 도 3에는 주 데이터 흐름 경로들이 도시되어 있다. APC 소프트웨어 아키텍처는 4개의 기능적 서브시스템: 즉 데이터 획득 서브시스템, 메세징 시스템 서브시스템, 관계 데이터베이스 서브시스템 및 후처리 서브시스템을 포함한다. 또한, 아키텍처는 런-타임 데이터 획득 파라미터들을 저장하는데 사용되는 인-메모리 데이터 테이블들을 포함한다. APC 소프트웨어의 외부에는 툴 및 툴 에이전트가 있어서, 툴 프로세스와 데이터 획득을 동기화시키는데 사용되는 시작-정지 타이밍 명령 및 콘텍스트 정보를 제공한다.
데이터 획득 서브시스템은 데이터 포인트, 즉 파라미터들을 수집하고, 그들을 파일에 기록한다. 메세징 시스템은 데이터 획득 서브시스템으로부터 수신되는 런-타임 데이터의 임시 저장을 위한 인-메모리 데이터 테이블들을 사용한다. 에이전트 클라이언트는 메세징 시스템에 데이터 획득 주기의 시작 및 종료를 통지한다. 데이터 획득 주기의 종료시, 데이터가 관련 데이터베이스에 포스팅되고, 다음 획득 주기를 위해 인-메모리 데이터 테이블이 클리어링된다. 메세징 서브시스템에 의하여 공급되는 데이터의 후처리는 런-타임으로 수행되고; 관련 데이터베이스내에 저장되는 데이터의 후처리는 오프-라인으로 수행된다.
데이터 수집으로도 알려진 데이터 획득은 2가지 루트를 통해 달성된다. 툴은 웨이퍼 런(wafer run) 동안 데이터를 수집하고 상기 데이터를 트레이스 파일내에 저장한다. 툴에서 각각의 웨이퍼가 처리된 후에, 트레이스 파일은 툴로부터 APC 파일 시스템으로 복사(copy)되며, 여기서 APC 소프트웨어는 상기 파일을 파싱하고 상기 데이터를 인-메모리 데이터 테이블에 포스팅한다. 그 후, 인-메모리 데이터는 관련 데이터베이스로 보내지고, 최종적으로 후처리 구성요소에 포스팅된다.
프로세스 관련 데이터는, 그 각각이 데이터 리코더를 사용하는 1이상의 센서들을 사용하는 APC 시스템에 의하여 수집된다. 런 타임시, 이 데이터는 툴상의 트레이스 파일과 유사한 파일로 보내진다. 레시피 종료시, 상기 파일이 파싱되고, 데이터는 IS(150)에 의하여 관리되는 인-메모리 데이터 테이블로 보내진다.
후처리 데이터는 2가지 경로 중 하나를 따른다. 후처리가 런-타임으로 실행되는 경우, 데이터는 IS(150)로부터 1이상의 후처리 구성요소로 흐른다. 후처리가 오프-라인으로 수행되는 경우, 상기 데이터는 관련 데이터베이스로부터 후처리 구성요소로 흐른다. 이들 두 경로는 도 3에 예시되어 있으며, 각각 "런-타임" 및 "오프-라인"이라 명명된다.
도 4는 본 발명의 일 실시예에 따른 Fault Detection and Classification(FDC) 프로세스에 대한 간략화된 흐름도를 예시하고 있다. 예시된 실시예에는, APC 아키텍처의 다양한 구성요소들과 함께 에칭 처리 모듈이 도시되어 있다.
도 4에서, 인커밍 웨이퍼 상태 및 아웃고잉 웨이퍼 상태가 나타나 있다. 예를 들어, 인커밍 웨이퍼 상태는 웨이퍼 ID(Wafer ID), 로트 ID(Lot ID), 카세트 수(Cassette number), 슬롯 ID(Slot ID), 프로세스 단계(process step) 또는 레이어 수(layer number), 프로세스 레시피(process recipe)로 이루어진 콘텍스트를 특징으로 할 수 있다. 인커밍 레이어 두께와 같은 추가 정보 또한 이용가능할 수도 있다. 또한, 아웃고잉 웨이퍼 상태는 웨이퍼 ID, 로트 ID, 카세트 수, 슬롯 ID, 프로세스 단계 또는 레이어 수, 프로세스 레시피를 특징으로 한다.
에칭 처리 모듈 역시 도시되어 있으나, 여타 모듈이 사용될 수도 있다. 예를 들어, 플라즈마 에칭 프로세스는 소정 레시피를 기반으로 할 수 있으며, 1이상의 단계들을 포함할 수 있다. 단계들은 연속적으로 넘버링될 수 있고, 프로세스 설정점이 일정하게 유지되는 시간의 주기를 지칭한다. 프로세스 설정점은 상기 레시피에 종속적인 단계의 경계들에서 변화된다.
또한, 모델 도출(derivation) 구성요소가 도시되어 있다. 예를 들어, 모델 도출 구성요소는 현재의 웨이퍼 프로세스에 관한 분석을 수행하기 위한 프로세스 모델 엔진에 필요한 구성 및 데이터를 포함할 수 있다. 상기 구성은 사용자, 통상적으로는 프로세스 엔지니어로부터 공급될 수 있고, 센서 세팅들, 수집을 위한 프로세스 변수들의 리스트, 수집을 위한 센서 변수들의 리스트, 상기 변수들 각각을 처리하는 방법에 관한 명령어들 및 수행을 위한 모델링 타입의 선택을 포함한다. 데이터는 정상적으로 작동하고 있는 프로세스를 나타내는 트레이닝 세트(training set)로부터 추출된 값들을 포함할 수 있다.
또한 도 4에는 프로세스 모듈(PM) 상태, Sensor 및 Process Data 요소가 도시되어 있다. APC 시스템의 한가지 기능은 다양한 센서들로부터 데이터를 수집하고 에칭 툴에서의 처리와 데이터 수집을 동기화시키는 것이다. 수집을 위한 데이터의 수 및 형태는 데이터 수집 플랜이라 불리는 구성 파라미터들에 따라 좌우된다. 프로세스 모듈(PM) 상태, 센서 데이터 및 프로세스 데이터는 테이블내에 수집될 수 있다. 데이터 수집은 Tool Agent Client에 의해 보고되는 바와 같이 Tool Agent로부터 나오는 이벤트들에 의해 에칭 프로세스와 동기화된다.
도 4에 도시된 프로세스 모델 엔진은 원 데이터의 처리 및 분석뿐 아니라 현재의 프로세스를 트레이닝 세트에 의해 표현되는 이전 웨이퍼 처리와 비교하기 위한 다양한 방법을 제공할 수도 있다. 데이터 분석 플랜을 기초로 하여 선택된 변수들의 요약이 생성될 수 있고, 요약된 데이터는 모델 엔진으로 보내질 수 있다. 예를 들어, 모델 엔진은 "PCA" 및 "PLS" 모델을 지원할 수 있다. 통상적으로, 프로세스 변수들만이 공지되어 있다면, 이 때는 PCA가 사용된다. 프로세스 변수들 및 메트롤로지 데이터가 이용가능하다면, 이 때는 PLS가 사용된다.
도 4에는 데이터 관리 시스템(Data Management System) 요소가 도시되어 있다. APC 시스템에서, 취해진 데이터 및 동작들은 상기 데이터 관리 시스템에 포스팅된다. 상기 데이터 관리 시스템은 지속 데이터베이스뿐만 아니라, 센서 및 프로세스 데이터를 저장하는 파일 시스템으로 이루어진다. 센서 데이터, 프로세스 데이터 및, 상기 센서 및 프로세스 데이터의 처리를 통해 나온 결과는, 데이터 수집 및 데이터 분석 플랜에서의 세팅들에 따라 파일 시스템 및 지속 데이터베이스에 포스팅된다.
도 4에는, 모델 출력 요소가 도시되어 있으며, 이는 "예상된 결과 또는 예상된 결과로부터의 편차(deviation)"라는 명칭이 붙어 있다. 예를 들어 프로세스 모델 엔진으로부터의 출력은 1이상의 수치 값(numerical value) 형태의 예상된 결과들 또는 예상된 결과들로부터의 편차이다. PCA 또는 PLS 분석의 경우에, 상기 값들은 데이터베이스내의 통계적 파라미터들로서 요약화되는 프로세스 변수들의 수집을 나타내며, "T2 및 Q"로 라벨링될 수 있다. 여타 요약들은 데이터 분석 플랜의 구성에 따른 프로세스 모델 엔진에 의하여 생성될 수 있다.
도 4에는 조회(query) 요소가 도시되어 있으며, 여기에는 예상된 결과들 또는 예측된 결과들로부터의 편차가, 상위 수치 한도(upper numerical limit) 및 하위 수치 한도뿐만 아니라, "Western Electric Rules"로 불리는 한 세트의 패턴 매칭 룰들로 이루어진 SPC 런-룰(run-rules)을 이용하여 비교되어 있다. 용어 프로세스 한도는 특정 프로세스에 대해 수립된 한 세트의 수치 값들을 지칭한다. 이들 값들은 상위 제어 한도 및 하위 제어 한도를 포함할 수 있다. 프로세스가 상기 한도들내에 있지 않는 경우에 취해지는 동작은 분석 전략에서의 구성을 기초로 한다.
1에서는, Incoming Wafer 상태가 Etch Process 모듈에 제공된다. 예를 들어 인커밍 웨이퍼는 웨이퍼 ID(스크라이브), 로트 ID, 레이어 수 또는 프로세스 단계, , 카세트 수, 슬롯 ID, 및 에칭 레시피 이름을 특징으로 할 수 있다. 이 정보는 에칭 처리 이전에 에칭 툴로 전해지고 "WAFER IN" 이벤트와 함께 APC 시스템으로 패스된다. 상기 이벤트 및 그와 관련된 데이터는 툴 에이전트로부터 툴 에이전트 클라이언트에게로 전달된다. "WAFER IN" 이벤트의 수신시, APC 서버는 인-메모리 테이블들에 관련 데이터를 포스팅하고, 데이터 수집 플랜에 의하여 소요되는 센서 구성의, 레시피 이름을 기초로 하는 룩-업(look-up)을 수행하고, 그 구성을 각각의 센서로 전달한다. 그 이후에, 에칭 프로세스는 툴 에이전트로부터 툴 에이전트 클라이언트에게로 "RECIPE START"를 전달하여 에칭 프로세스의 시작을 알린다. APC 서버는 "Start acquisition" 명령을 각각의 센서로 전달함으로써 응답한다. 또한, 에칭 웨이퍼 처리동안 여타 이벤트들도 가능하다.
2에서는, 에칭 프로세스(Etch Process) 모듈이 PM 상태(PM State), 센서 데이터(Sensor data) 및 프로세스 데이터(Process data)와 같은 데이터를 제공한다. 예를 들어, 에칭 프로세스의 완료시, 에처(etcher) 모듈은 상기 에처에 로컬 디스크 드라이브에 에칭 프로세스 데이터 파일들을 기록할 수 있고, 툴 에이전트로부터 툴 에이전트 클라이언트로 "RECIPE END" 이벤트를 전달할 수 있다. "RECIPE END" 이벤트의 수신시, APC 서버는 툴로부터 APC 서버 파일 시스템으로 데이터 파일들을 이송한다. 파일 이송의 완료시, APC 서버는 각각의 프로세스 파일들과 센서 데이터를 파싱하고, 그 결과를 인-메모리 테이블에 포스팅한다.
3에서는, 아웃고잉 웨이퍼 상태(Outgoing Wafer State)를 수립하는데 에칭 프로세스(Etch Process) 데이터가 사용될 수 있다. 예를 들어, 처리의 종료 및 에칭 프로세스로부터의 웨이퍼의 제거는, 툴 에이전트로부터 툴 에이전트 클라이언트에게로 전달된 "WAFER OUT" 이벤트에 의하여 신호로 알려질 수 있다. APC 서버는 상기 이벤트 및 그와 관련된 데이터를 인-메모리 테이블에 포스팅하고, 웨이퍼 객체와 관련되는 여하한의 처리 루틴을 개시함으로써 응답할 수 있다.
4에서는, 모델 도출(Model Derivation) 출력치가 모델 엔진(Model Engine)으로 제공된다. 예를 들어, 요약 계산의 완료는 프로세스 모델의 실행을 트리거링할 수 있다. 여기에서, 일 세트의 명령어들과 이미 분석된 트레이닝 세트로부터의 입력 데이터로 이루어진 모델 도출은 프로세스 모델 엔진에서 판독된다. 모델 도출은 예상된 결과들로부터의 편차인 결과들을 어떻게 출력할 지에 대한 명령어들을 포함할 수도 있다.
5에서는, PM 상태, 센서 데이터, 프로세스 데이터가 모델 엔진에 제공될 수 있다. 예를 들어, 프로세스 및 센서 데이터가 인-메모리 테이블로 포스팅되면, 데이터의 처리가 시작될 수 있다. 에칭 프로세스 레시피내의 개별 프로세스 단계들의 통계적 요약들을 생성하는, 요약 계산들을 생성함으로써 처리가 진행된다. 파라미터의 선택 및 통계적 계산의 수행 타입이 사용자에 의해 구성가능하다. 각각의 파라미터 및 프로세스 단계에 대하여 평균, 표준 편차, 최소치 및 최대치가 계산될 수 있다. 이들 계산들의 결과들은 추가 처리를 위해 인-메모리 테이블에 포스팅될 수 있다. 요약 계산들의 처리의 완료는 메트롤로지 결과들이 필요하지 않다면 프로세스 모델의 실행을 트리거링할 수 있다.
6에서는 모델 엔진이 그것의 결과들을 출력한다. 예를 들어, 프로세스 모델 엔진의 실행은 모델 도출의 명령어에 따라 예상된 결과 및 예측된 결과들로부터의 편차 형태의 1이상의 수치 결과들을 생성시킨다. 이들 결과 각각은 일 세트의 구성가능한 런들에 대한 평가를 위해 런 룰 평가 프로세스(run rule evaluation process)로 전달될 수 있다. 이러한 룰들은 프로세스가 한도들내에 존재하는 지의 여부를 나타내는 일 세트의 값들에 대한 현 포인트의 평가를 포함한다.
7 내지 10에서는, 프로세스가 한도내에 있지 않은 경우의 상황들에 대하여 프로세스들이 도시되어 있다. 예를 들어, 오류가 검출될 경우 시스템은 엔지니어에게 통지하도록 구성될 수 있다. 이는 알람 시스템을 통해 적절한 사람(들)에게 e-메일을 전송하거나 페이징을 하는 방법으로 구현될 수 있다.
오류가 검출될 경우 시스템은 툴을 중단하도록 구성될 수 있다. 이는 소정 값을 특정 툴 유지보수 카운터로 전달함으로써 구현될 수 있다. 오류가 검출될 경우 시스템은 유지보수를 제안하도록 구성될 수 있다. 이는 알람 시스템을 통해 적절한 사람(들)에게 e-메일을 전송하거나 페이징을 하는 방법으로 구현될 수 있다. 오류가 검출될 경우 시스템은 상기 오류를 분류하도록 구성될 수 있다. 이는, 분포 차트(그 프로세스가 PCA 또는 PLS를 사용하는 경우)로 경고를 나타내는 SPC차트로부터 트레이스 차트로의 드릴 다운(drill down)을 포함하는 수작업일 수 있다.
11 및 12에서는, 데이터 관리 시스템으로 데이터가 전달된다. 예를 들어, 오류가 검출되지 않는다면, 이 이벤트는 데이터 관리 시스템으로 포스팅될 수 있다. 또한, 오류가 검출되거나 보정이 요구된다면, 오류 작동(들)은 지속 데이터베이스에 포스팅될 수 있다.
13 및 14에서는, 모델 엔진과 데이터 관리 시스템간에 데이터가 교환된다. 예를 들어, 프로세스를 위한 데이터가 처리되고 프로세스 모델 엔진에 의하여 분석된 후에, 그것은 지속 데이터베이스에 포스팅될 수 있다. 또한, 특정 시나리오들은, 이전 프로세스 런들로부터의 히스토리 데이터가 프로세스 현 상태와의 비교를 위해 프로세스 모델 엔진에서 재구성되어야 할 필요가 있다. 또한, 프로세스 모델 엔진은 프로세스 및 센서 데이터를 기초로 하여 CD를 예측할 수 있다. 시간에 따라, 이러한 모델들은 실제 프로세스 성능으로부터 드리프트(drift)된다고 알려져 있다. 실제 메트롤로지 결과들과의 주기적인 비교는, 프로세스 모델이 상기 드리프트에 대해 보정될 수 있도록 한다.
APC 시스템(145)(도 1)은 시스템을 작동하는데 사용되는 복수의 테이블을 포함할 수 있으며, 이들 테이블들은 데이터베이스(190)(도 1)내에 저장될 수 있다.
상기 테이블들은, 입력 센서 디바이스, 프로세스 툴, 분석 모듈, 출력 인터페이스, 장비 리소스 등과 같은 시스템의 구성요소들을 구성하는데 사용될 수 있는 구성요소 테이블을 포함할 수 있다. 예를 들어, 구성요소 테이블은 유일 모듈/구성요소 ID의 할당, 모듈/구성요소의 기술(description) 등과 같은 아이템들을 포함할 수 있다.
또한, 상기 테이블들은 속성 테이블을 포함할 수 있고, 구성요소 테이블의 각각의 구성요소는 속성 테이블에서 다수의 관련 기록들을 가질 수 있는데, 이는 위와 같은 것들을, 디바이스 로케이션, 클록 오프셋, 최종 캘리브레이션 시간, 담당 엔지니어 등으로 특정하는데(specify) 사용될 수 있다. 예를 들어, 속성 테이블은 툴, 챔버 등에 대한 셋업 정보를 포함할 수 있다. 시스템 구성 파라미터들은, type='system' 및 ID='configuration'으로 속성 테이블내에 저장될 수 있다. 테이블, 이름 및 값에서의 나머지 열들은 특정 파라미터와 그들의 값들을 식별하는데 사용된다.
또한, APC 시스템 구성 GUI 스크린은 속성 테이블로부터 데이터를 얻을 수 있다. 예를 들어, 사용자가 저장 또는 삭제 작업을 수행하는 경우에 속성 테이블내의 데이터가 업데이트될 수 있다.
APC 시스템은, 구성요소들, 프로세스 런, 모델 데이터 테이블 및 여타 엔티티들(entities)에 대한 (이름, 값) 쌍들의 정상화 저장(normalized storage)을 관리하는데 사용될 수 있는 런 속성 테이블을 포함할 수도 있다. 이러한 별도의 테이블에 의하면, 쌍들의 개수에 관한 제한이 존재하지 않고, 정상화되고 인덱싱된 표현으로 인해 특정 아이템들을 신속하게 찾을 수 있다. 몇몇 테이블들은 비정상화 속성 필드를 가지는데; 이것은 속성들의 예상되는 수가 작고, 사용 패턴이 개별 값들에 대해 보다 양호한 직접적인 액세스를 요구하지 않는 경우에 행해진다.
APC 시스템에는 연관 테이블(associations table)이 포함될 수도 있다. 연관을 나타내기 위하여 범용 테이블(generic table) 사용될 수 있다. 예를 들어, 모델 입력 데이터의 테이블과 모델과의 연관은, parent type='model', parent ID='my model1', item type='table', item ID='model data1' 및 attributes='{last edit{1999-05-19 09:30:23}}'을 가질 수 있다.
또한, APC 시스템은, 원래의 런(raw run)에 대한 헤더 테이블(header table)을 정의하는데 사용될 수 있는 프로세스 런 테이블을 포함할 수 있다. 프로세스 런 테이블은 시작 시간, 웨이퍼, 재료 타입 등과 같은 아이템들을 포함할 수 있다. 콘텍스트 행은 소프트웨어가 콘텍스트를 식별(know)하도록 여하한의 관련된 원래의 행에 앞서 생성될 수 있다. 런의 다른 관련 속성들은 속성 테이블내에 기록되고 런 ID와 같은 파라미터를 사용하여 조인(join)된다.
나아가, APC 시스템은, 런을 위한 센서 디바이스에 대한 셋업 및 작동 파라미터들을 포함할 수 있는 디바이스 런 테이블을 포함할 수 있다. 예를 들어, 디바이스 런 테이블은 원래의 런 데이터에 대해 어떠한 관측들이 기록되는지를 나타내기 위한 헤더 데이터를 포함할 수도 있다. 이는 셋업 및 수집된 데이터가 런으로부터 런까지 변화되도록 한다.
또한, APC 시스템은 원래의 관측값들을 수집 및 퍼블리싱(publish)하는데 사용될 수 있는 원래의 런 데이터 테이블(raw run data table)을 포함할 수 있다. 예를 들어, 각각의 웨이퍼는 그와 관련된 원래의 런 데이터 테이블을 가질 수 있다.
모델 맵 테이블은 또한 모델 데이터 테이블에 대한 원래의 센서 판독치들(readings)의 맵핑을 구성하는데 사용될 수도 있다. 예를 들어, 출력 테이블은 빠짐값(missing values)없이 완전한 행들을 갖도록 구성될 수 있고, 데이터를 보간(interpolating)하거나 출력 생성시 사용될 수 있는 이전의 관측치들을 사용하는 등의 구성 옵션들이 존재한다. 상기 테이블은 또한 누가 그 맵을 셋업하였는지, 그것이 마지막으로 수정된 것은 언제인지 등을 나타내는 속성 테이블에서의 속성들을 가질 수도 있다.
또한, APC 시스템은 모델 데이터 테이블내의 열들을 기술하는데 사용될 수 있는 모델 열 테이블을 포함할 수 있다. 예를 들어, 상기 데이터는 새로운 모델 데이터 테이블들을 동적으로 생성시키는데 사용될 수 있다. 모델 데이터 테이블은 모델 분석을 위한 입력 및 출력 데이터를 홀딩하기 위해 동적으로 생성된 테이블일 수 있다. 테이블의 생성 및 파퓰레이션(population)은 그 상태로 모델 데이터 맵 테이블로 구성될 수 있다.
APC 시스템은 또한 런 요약 정보를 포함할 수 있는 런 요약 테이블을 포함할 수도 있다. 예를 들어, 런 요약 테이블은 런 ID(run ID), 런 타입(run type), 값 이름(value name), 시작 단계(start step), 종료 단계(end step), 값 최소(value min) 및 값 최대(value max)와 같은 정보를 포함할 수 있다.
APC 시스템은, 알람 정보(예를 들어, 타입 스탬프, 알람 코드, 기술 등등)를 포함할 수 있는 1이상의 알람 테이블을 포함할 수도 있다.
다변 분석 모델 테이블 또한 제공될 수 있다. 예를 들어, 이 테이블 및 관련 테이블들은, Simca-P와 같은 다변 모델링 어플리케이션의 출력을 파싱함으로써 파퓰레이팅될 수 있다. 파싱되거나 계산될 수 없는 데이터 아이템들을 사용자로부터 프롬프팅(prompt) 및 획득하기 위해 구성 다이알로그(configuration dialogs)가 사용될 수 있다.
APC 시스템은, 시스템 작동시 사용되는 다수의 어플리케이션을 포함할 수 있으며, 상기 어플리케이션은: 툴 APC 마스터 어플리케이션; APC 알람 어플리케이션; 1이상의 센서 인터페이스 어플리케이션; APC 데이터베이스 관리 지원 어플리케이션; APC 데이터 수집 지원 어플리케이션; APC 이벤트 관리 지원 어플리케이션; 프로브 인터페이스 어플리케이션; APC 프로세스 챔버 지원 어플리케이션; APC 전략 선택 어플리케이션; 툴 인터페이스 어플리케이션; 웨이퍼 데이터 어플리케이션; 및 APC 플랜 실행자(executor) 어플리케이션을 포함할 수 있다.
또한, APC 시스템은 소프트웨어가 설치되는 네트워크상에서의 여하한의 시트(seat)로부터 실행될 수 있는 디버깅 및 진단 어플리케이션을 포함할 수 있고, 이들 어플리케이션들은 APC 시스템을 검사, 진단, 디버깅 및/또는 수정하는데 사용될 수 있다. 예를 들어, APC 서버(160)는 파일 유지보수를 수행할 수 있다. 대안적으로, 워크스테이션이 파일 유지보수를 수행할 수도 있다. 로그 파일들은 데이터베이스(190)내에 저장되고 APC 시스템과의 문제들을 장애 추적(troubleshoot)하는데 사용될 수 있다. 이들 파일들은 제한된 시간동안 유지될 수 있다. 시스템 에러 및 어플리케이션 실패의 여타 원인들은 로그 파일들에서 찾을 수 있다. 예를 들어, 로그 파일들은 시스템 에러 메세지들 및 이벤트 타이밍과 같은 정보를 포함하는 경고(alert) 로그; 이벤트 정보를 포함하는 툴 이벤트 로그; 및 APC 서버에서의 활동의 히스토리를 포함하는 운영시스템 로그를 포함할 수 있다. 이들 로그는 유지보수가 최소화되도록 순환 로깅(circular logging)(파일이 특정 크기에 도달하면 가장 오래된 데이터가 삭제됨) 방식으로 구성될 수 있다.
또한, APC 시스템(145)은, 알람 및 이벤트 정보를 고객의 MES(Manufacturing Execution System)과 통신할 수 있는 인터페이스 어플리케이션을 포함할 수 있다.
어플리케이션들간에 커넥션 및 메세지 흐름을 제공하기 위하여 인터페이스 서버의 메세징 구성요소가 사용될 수 있다. 예를 들어, 어플리케이션 모듈 및 사용자 인터페이스는 데이터 허브(들)내의 정보를 액세스 및 업데이트하기 위해 SQL 메세지들을 사용할 수 있다.
예를 들어, 툴 APC 마스터 어플리케이션은: 셧다운(shutdown)시에 정리(clean up)를 위해 사용될 수 있는 셧다운 올(shut down all) 방법; 파라미터들을 초기화하는데 사용될 수 있는 초기화 방법; 로직 매니저 프로세스의 우선순위(priority)를 부스팅하는데 사용될 수 있는 Lgmgr 부스트 방법; 데이터베이스로부터의 시스템 구성을 로딩하는데 사용될 수 있는 로드 구성 방법; 데이터베이스로부터의 시스템 상태 변수들을 로딩하는데 사용될 수 있는 로드 상태 방법; 데이터베이스에 시스템 구성을 저장하는데 사용될 수 있는 저장 구성 방법; 및 GUI 시간 변수를 업데이트하는데 사용될 수 있는 업데이트 GUI 시간 방법을 포함하는 일 세트의 방법들을 포함하여 이루어질 수 있다.
또한, 툴 APC 마스터 어플리케이션은 메모리 변수를 사용할 수 있고, 툴 APC 마스터 어플리케이션과 관련된 2개의 리코드 포맷: 즉 APC 시스템 로그 리퀘스트 리코드인 시스템 로그 리퀘스트(system log request) 및 속성 데이터베이스 테이블에 들어가거나 그로부터 나오도록 데이터를 홀딩하기 위한 리코드 포맷인 속성 포맷 리코드(attribute Format record)가 존재할 수 있다.
또한, APC 시스템(145)은 상기 시스템으로부터 APC 및 툴 알람을 처리할 수 있는 APC 알람 어플리케이션을 포함할 수 있다. APC 알람 어플리케이션은, GUI 디스플레이에 대한 알람 텍스트(alarm text)를 홀딩하는데 사용될 수 있는 1이상의 메모리 변수를 사용할 수 있다. 알람 파일 방법은 데이터베이스내의 알람 테이블내로 APC 및 툴 알람을 기록하는데 사용될 수 있다. 알람 파일은 2개의 파라미터, 알람 메세지 및 이벤트 ID를 포함할 수 있다. 상기 방법은 알람 TCL API를 호출하고 알람 정보를 패싱(pass)한다. 상기 알람은 알람 관리 프로시저를 실행함으로써 처리될 수 있다. 예를 들어, 알람이 발생되는 경우, 이메일이 전송될 수 있고; 지속 데이터베이스내의 알람 테이블로 엔트리가 기록될 수 있으며, GUI 상태 디스플레이를 사용하여 알람 텍스트가 디스플레이될 수 있다. 또한, 시스템이 알람을 통해 복원(recover)되는 경우, 알람 테이블에 엔트리가 기록되고, GUI 상태 디스플레이를 사용하여 텍스트 메세지가 디스플레이될 수 있다. 또한, 사용자는 알람 로그 GUI 스크린을 통해 알람 테이블의 콘텐츠를 뷰잉할 수 있다.
또한, APC 시스템(145)은 1이상의 센서 인터페이스 어플리케이션을 포함할 수 있다. 예를 들어, 1이상의 OES 데이터 리코더는, 각각의 광학 방출 센서(optical emissions sensor)로부터의 데이터를 기록하는데 사용될 수 있고, 처리 툴과 관련된 각각의 OES 센서에 대한 OES 디바이스 인터페이스가 존재할 수 있다. 데이터를 수집하고 상기 데이터를 하나의 파일로 기록하는 겟 샘플(get sample) 방법; 개시시 러닝하는 초기화 방법; 리코딩용 센서를 셋업하고 기록용 파일을 오픈하는 셋업 방법; OES 디바이스 커넥션을 시작하기 위한 시작 디바이스 방법; 리코딩 데이터를 시작하기 위한 시작 리코딩 방법; OES 디바이스 커넥션을 정지시키기 위한 정지 디바이스 방법; 및 리코딩 데이터를 정지시키고, 제어 레지스터에 기록하고 그 파일을 클로징하기 위한 정지 리코딩 방법을 포함하는, OES 데이터 리코더 어플리케이션과 관련된 다수의 방법들이 존재할 수 있다.
또한, APC 및 SPCDB 데이터베이스에서의 일일 데이터 백업, 데이터 아카이브 및 데이터 삭제를 수행하기 위해, APC 시스템(145)의 일부로서, APC 데이터베이스 관리 어플리케이션이 제공될 수 있다(즉, 백업 및 아카이브가 압축 및 지핑(zip)될 수 있다).
예를 들어, 차트들의 히스토리 데이터 포인트들을 백업 및 퍼징(purge)하도록 BADRR 유틸리티 프로그램이 구성될 수 있다. BADRRGUI 모듈은 데이터가 어떻게 처리될지를 판정하기 위하여 사용자와 상호작용하는 수개의 GUI 패널들을 포함할 수 있다. 어떤 데이터가 백업되어야 하는지를 판정하기 위해 백업 함수가 사용될 수 있다(백업 데이터는 구성 데이터와 런 웨이퍼 데이터로 이루어진다). 아카이브 함수는 아카이빙되어야 하는 데이터를 판정한다. 삭제 함수는 어떤 데이터가 삭제되어야 하는지를 결정하고 한 번에 하나의 런 ID로 그들을 처리할 수 있다. 데이터는 그것이 아카이빙된 후에만 삭제될 수 있다. 리스토어 함수는 백업 디렉토리에 저장되는 현재 파일을 취하고, 그것을 작업 디렉토리(work directory)에 압축을 풀고(unzip), 파일 이름에 따라 각각의 테이블을 재저장할 수 있다. 검색 함수(retrieve funtion)는 아카이브 디렉토리에 저장된 선택된 파일을 취하고 각각의 파일을 개별적으로 처리하고, 상기 파일을 작업 디렉토리에 언지핑하고 파일 이름에 따라 각각의 테이블을 검색할 수 있다. 리인덱스(reindex) 함수는 테이블 및 인덱스들에서의 현재 통계들을 수집할 수 있는데; 이는 데이터를 검색할 때 최상의 액세스 플랜을 결정할 수 있는 가장 정확한 정보를 옵티마이저(optimizer)에게 제공할 수 있다. 재조직 함수(reorg function)는 프래그맨팅된(fragmented) 데이터를 제거하기 위하여 행들을 재구성하고, 정보를 컴팩팅(compacting)함으로써 테이블을 재조직(reorganize)할 수 있다. 상기 재조직 함수는 APC 시스템이 데이터를 수집하지 않는 경우에만 수행될 수 있다.
APC 데이터 수집 지원 어플리케이션은 APC 시스템(145)에 제공될 수도 있다. APC 데이터 수집 지원 어플리케이션은, 1이상의 겟 로트 데이터 함수(get lot data function), 겟 웨이퍼 데이터 함수, 셋업 센서 함수, 시작 센서 함수, 정지 센서 함수 및 로드 디폴트 플랜 함수(load default pause function) 등을 포함하는, 다수의 방법을 포함할 수 있다.
APC 시스템(145)에는, APC 이벤트 관리 지원 어플리케이션이 제공될 수도 있다. APC 이벤트 관리 지원 어플리케이션은 이벤트들을 기반으로 하는 방법들을 디스패치(dispatch)하는데 사용될 수 있다. APC 이벤트 관리 지원 어플리케이션은, 액티브 이벤트(active event) 방법, 로트 시작(lot start) 방법, 레시피 종료(recipe end) 방법, 파일 레디(file ready) 방법, 알람(alarm) 방법, 로트 종료(lot end) 방법, 레시피 시작(recipe start) 방법, RF 오프 방법, RF 온 방법, 웨이퍼 인(wafer in) 방법 및 웨이퍼 아웃(wafer out) 방법 중 1이상을 포함하는 다수의 방법들을 포함할 수 있다. 또한, 프로브 인터페이스 어플리케이션은 APC 시스템의 일부로서 제공될 수 있다. 프로브 인터페이스 어플리케이션은, 프로브와 센서 인터페이스간의 통신을 제공하는데 사용될 수 있고, RS-232에 대한 전매 텍스트 기반(proprietary text-based) 프로토콜을 사용할 수 있다.
예를 들어, 프로브의 셋업 동안 SCNx=freq 명령이 내려질(issued) 수 있고 웨이퍼 인 이벤트(wafer in event)에 의하여 트리거링될 수 있다. 변수 x는 0 내지 16 범위의 인덱스 번호일 수 있다. 주파수는 Hertz로 지정될 수 있다. 리코딩은 레시피 스타트 이벤트(recipe start event)가 수신된 경우 시작할 수 있다. 이 때, 고정 주기(즉, 샘플들간의 시간)로 SCN 명령이 내려질 수 있으며, 그 값은 레지스터내에 저장될 수 있다. SCN 명령이 내려지면, 프로브는 셋업 명령에 의해 지정된 각각의 주파수에 대해 한 라인의 데이터를 리턴(return)시킬 수 있다. 각각의 라인은 주파수, 시간, 상태(status), 전압, 전류, 위상 및 임피던스를 포함할 수 있다.
APC 시스템(145)에는 APC 프로세스 챔버 지원 어플리케이션도 제공될 수 있다. APC 프로세스 챔버 지원 어플리케이션은: 툴 에이전트로부터 이벤트를 수신하고 전역적 메모리를 업데이트하는 리시브 툴 이벤트(receive tool event) 방법 및 프로세스 챔버에 대한 상태 변수들을 업데이트하는 업데이트 상태(update state) 방법을 포함하는 다수의 방법들을 포함할 수 있다. APC 프로세스 챔버 지원 어플리케이션은: 프로세스 챔버들의 상태를 기술하는데 사용되는 챔버 변수; 현재의 로트 러닝을 기술하는데 사용되는 현재 로트 변수; 및 매 시간에 증가(increment)되는 런 ID의 일부인 런 ID 카운터 변수를 포함하는 다수의 메모리 변수들을 포함하여 이루어질 수 있다.
또한, APC 시스템(145)은 툴 인터페이스 어플리케이션을 포함할 수 있다. 툴 인터페이스 어플리케이션은 툴 인터페이스, 파일 이송 및 일반적인 상태를 관리할 수 있다. 예를 들어, 툴 인터페이스 어플리케이션은, 툴로부터 이벤트 ID를 캡처링하는 체인지 이벤트(change event) 방법; 디바이스 인터페이스에 의해 호출되는 디바이스 실패(device failed) 방법; 디바이스 인터페이스에 의해 호출되는 디바이스 복원(device recovery) 방법; 툴로부터 액티브 이벤트를 수신하는 액티브(active event) 방법; 에이전트 통신이 소실되는 경우 러닝하는 에이전트 다운 클린업(agent down cleanup) 방법; 에이전트가 실패한 경우를 찾기 위하여 액티브 플래그의 상태를 체크하는 체크 액티브(check active) 방법; 이벤트들을 적절한 방법에 디스패칭하는 이벤트 디스패처(event dispatcher) method; 툴 에이전트로부터 새로운 무요구(unsolicited) 이벤트가 전달될 때 트리거링되는 이벤트 리시버(event receiver) 방법; 그것이 변화될 때 리코드의 크기를 찾는 겟 툴 리코드 크기(get tool record size) 방법; 툴로부터 트레이스 파일을 다운로드하는 겟 트레이스 데이터(get trace data) 방법; 통신을 시작하기 위해 상기 툴로 클라이언트 에이전트를 다운로드하는 시작 에이전트(start agent) 방법; 및 에이전트 클라이언트 및 에이전트를 정지시키는 정지 에이전트(stop agent) 방법을 포함하는 복수의 방법들을 포함할 수 있다.
APC 시스템(145)은 웨이퍼 데이터 어플리케이션을 포함할 수도 있다. 웨이퍼 데이터 어플리케이션은 웨이퍼 데이터의 시뮬레이팅된 동적 할당(simulated dynamic allocation)을 제공할 수 있다. 웨이퍼 데이터 어플리케이션과 관련된 메모리 변수들은, 풀(pool) 어레이의 크기로 설정되는 웨이퍼 풀 크기 변수 및, 웨이퍼 리코드들의 풀인 웨이퍼 풀 어레이를 포함한다. 웨이퍼 데이터 어플리케이션과 관련된 방법들은 툴 인터페이스가 중지된 후에 웨이퍼들을 클리닝하는 클린업(cleanup) 방법 및 웨이퍼 풀을 알려진 상태로 초기화하는 초기화 웨이퍼(initialize wafer) 방법을 포함한다.
또한, APC 시스템(145)은 APC 전략 선택 어플리케이션을 포함할 수 있다. APC 전략 선택 어플리케이션은 각각의 챔버에 대한 전략 액티브의 이름을 포함할 수 있는 메모리 변수를 사용할 수 있다. 예를 들어, APC 전략 선택 어플리케이션은 어떤 전략을 실행할 것인지를 판정하기 위한 콘텍스트 매칭과 같은 방법을 사용할 수 있다. 제어 전략은 호스트 컴퓨터에 의하여 제어 전략의 이름을 지정하거나 제어 전략을 다운로드함으로써 선택될 수 있다.
APC 시스템의 작동은 콘텍스트 구동 전략 및 플랜들을 사용하여 수립될 수 있다. APC 시스템에서 한 세트의 시퀀스들이 진행되는 동안 어떤 경우가 발생하는지를 한정하기 위하여 일 전략이 사용된다. 상기 세트의 시퀀스는 로트, 뱃치, 웨이퍼, 레시피 또는 일 세트의 기계 동작들(machine activities)과 관련될 수 있다. 전략은 처리, 전처리(pre-processing) 및 후처리(post-processing) 동작들의 조합을 포함할 수 있다. 각각의 전략은 복수의 플랜들을 포함할 수 있다. 하나의 플랜 또는 일 세트의 플랜들의 러닝 제어는 콘트롤 잡이라 불릴 수 있다.
전략은 이벤트들을 기반으로 하여 활성화(activate) 및 비활성화(deactivate)되는 사전-정의된 스크립트일 수 있다. 예를 들어, 콘트롤 잡은, 주어진 콘텍스트(로트, 챔버, 프로세스 레시피 등)에 대해 처리챔버에서의 웨이퍼 런을 위한 일 세트의 데이터 수집 및 구성 플랜들을 셋업할 수 있다. 전략은 웨이퍼 콘텍스트에 의하여 판정되는 특정 거동을 가질 수 있다. 다중 챔버에서 러닝될 수 있는 로트 콘텍스트와 관련된 전략은 각각의 모듈에 대한 플랜(들)을 셋업할 수 있다. 전략 콘텍스트는: 높은 우선순위 로트; 챔버 자격(qualification) 런; 이물질 모니터링; 챔버 콘디셔닝; 로트 수; 레시피 이름; 프로세스 챔버; 및 콤비네이션에 대해 주문화(customize)될 수 있다.
APC 시스템(145)은 어떤 전략을 러닝할지를 판정하는데 사용될 수 있는 APC PE(Plan Executor) 어플리케이션을 더 포함할 수 있다. 예를 들어, 전략은 어느 주어진 시간에 작동되어야 하는 일 세트의 플랜들을 지정할 수 있고; 이벤트들은 어떤 특정 전략이 러닝되어야 하는지를 판정하기 위하여 PE에 의해 평가될 수 있으며; 동작은 플랜의 형태로 실행될 수 있다. 플랜들은 단일 웨이퍼에 대해 일어나는 특정한 동작들일 수 있다. 상기 동작들은 주어진 웨이퍼, 로트 또는 웨이퍼 런의 세트에 대한 센서 셋업, 데이터 수집 및 데이터 분석을 관리하는 사전 정의된 스크립트에 의해 지정될 수 있다.
PE 어플리케이션은 다중 플랜을 동시에 시작할 수 있다. 예를 들어, 1이상의 플랜이 각 챔버에 대해 러닝될 수 있고, 1이상의 플랜이 에칭 툴에 대해 러닝될 수 있다. 플랜들은 챔버 클리닝들간의 시간 만큼 길게 지속되거나, 단일 웨이퍼를 러닝시키는 시간 만큼 짧게 지속될 수 있다.
도 4는 본 발명을 일 실시예에 따른 이벤트 콘텍스트들, 전략들, 콘트롤 잡들 및 플랜들에 대한 예시적인 관계도이다. 이벤트들은, 내부 및 외부 모두에서 APC 시스템내로 공급될 수 있고 적절히 동작될 수 있다. 이벤트들을 생성시키는 각각의 인터페이스에 대하여, 이벤트들을 받아들이고 그들을 전파하기 위한 시스템 어플리케이션이 존재할 수 있다.
도 5는 본 발명의 일 실시예에 따른 간략화된 데이터 흐름도를 예시하고 있다. 툴 및 센서로부터 관련 데이터베이스로의 데이터의 흐름은, 도 5에 나타낸 바와 같이 간략화된 데이터 흐름도로 표현될 수 있다. 도시된 실시예에서, 화살표들은 이벤트들을 나타내며, 각각의 화살표에는 이벤트 이름이 라벨링될 수 있다. 이 경우에, 시간은 도면의 최상부로부터 도면 최하부로 진행된다. 예를 들어, 도 5에 나타낸 간략화된 데이터 흐름도는, 초기화, 로트 처리 및 데이터베이스 관리 동안의 구성요소들간의 이벤트 및 데이터 흐름을 예시하는데 사용될 수 있다. 이벤트들은 처리 및 저장을 위한 인터페이스 서버로 직접적으로 진행할 수 있다. 상기 인터페이스 서버는 전역적 상태 변수들의 테이블을 유지하는데 사용될 수 있다. 각각의 이벤트/알람은 대응되는 상태를 업데이트하는데 사용될 수 있다.
도 6은 본 발명의 일 실시예에 따른 인터페이스 서버의 예시적인 블록도를 나타내고 있다. 도시된 실시예에서는, DMH(Distributed Message Hub) 메세지 시스템을 이용하여 인터-프로세스 통신이 구현될 수 있다. 예를 들어, DMH 시스템은 메일박스라 명명된 이름 메세지 큐(named message queue)로 그리고 그로부터 플레인(plain) 텍스트 메세지들을 사용할 수 있다. 메세지들이 지정된 메일박스내에 도달할 경우 콜백 로직(callback logic)이 실행될 수 있다. DMH 시스템은, 피크 로드(peak load)에 걸쳐 평탄화하고(smooth) 리소스 로딩을 저감시키기 위해 비동기적 메세징 및 메세지 큐를 사용할 수 있다. 또한, 센서 인터페이스 및 데이터베이스 인터페이스는, DMH 메세지 시스템 서버의 간단한 단일-스레드(single-threaded) 클라이언트로서 기록될 수 있다.
예를 들어, 1이상의 처리 툴과 인터페이스하는데 툴-관련 어플리케이션이 사용될 수 있다. 툴 어플리케이션은 툴로부터 기인하는 이벤트들에 대한 인터페이스로서 사용될 수 있는 에이전트 클라이언트를 포함할 수 있다. 이벤트들이 툴상에서 러닝되는 툴 에이전트로부터 수신되는 경우, 에이전트 클라이언트가 상기 이벤트들을 처리할 수 있다. 툴 어플리케이션은 에이전트 클라이언트로부터의 무요구 데이터에 의하여 트리거링될 수 있는 이벤트 리시버 방법을 포함할 수 있다. 데이터는, 리코드 포맷(record format)내로 직접 맵핑될 수 있는 블랍(blob) 형태로 이벤트 리시버 방법에 제공될 수 있다. 또한, 이벤트 리시버는 프로세스 챔버 어플리케이션에서 어레이 리코드에 툴 리코드를 맵핑할 수 있고 디스패치 이벤트 방법을 호출한다. 그 다음, 이 이벤트는 전략 및 제어 잡 어플리케이션으로 전파될 수 있다.
이벤트들이 APC 시스템을 통해 전파되고 있을 때, 몇몇 객체들은 상태를 변화시킴으로써 반응할 수 있다. 예를 들어, 로트 상태 기계 또는 배치 상태 모델이 사용될 수 있다. 로트 상태 기계는 (로트 처리에 대해) 온 및 (로트 아이들(idle)에 대해) 오프일 수 있고, 뱃치 상태 기계는 (뱃치 처리에 대해) 온 및 (뱃치 아이들에 대해) 오프일 수 있다.
또한, 툴 상태 기계가 사용될 수 있다. 예를 들어, 툴 상태는 툴 준비, 툴 러닝, 툴 중단, 툴 정지를 포함할 수 있다. 오류가 검출되는 경우, 툴은 상기 오류의 심각성에 따라 중단 또는 정지될 수 있다. 툴이 중단되는 경우, GUI 구성요소는 APC 사용자를 위한 다음 동작의 선택을 디스플레이 하는데 사용되어 그에 대해 응답할 수 있다. 또한, GUI 구성요소는 툴 중단을 트리거링하는 오류, 가능한 원인들의 톱-5 리스트까지 유도하는 제어 차트를 디스플레이할 수 있고, 다음 동작---오류 웨이퍼의 원래 데이터를 뷰잉하고, 오류 웨이퍼의 주된 구성요소 스코어 스캐터 플롯을 뷰잉하고, 오류 웨이퍼의 분포 차트를 뷰잉하고, 현재의 오류 웨이퍼와 동일한 레시피로 처리되는 웨이퍼의 요약 데이터 히스토리를 뷰잉하고, 검색 키들을 입력함으로써 뷰잉되어질 데이터를 지정하고, 센서를 체크하고, 분석을 스킵하고 툴 중단을 클리어링하며, 분석을 스킵하고 유지보수를 위한 툴 오프-라인을 취하는 동작의 선택을 제공한다. APC 사용자는 중단을 클리어링하기 위한 판단을 내리는데 따른 책임이 있다.
또한, 각각의 프로세스 모듈에 대해 프로세스 챔버 상태 기계가 수립될 수 있다(PM 120 도 1). 예를 들어, 프로세스 챔버 객체는 3가지 상태 변수: 즉 사용 상태, 인 유즈(in use) 상태 및 레시피 상태를 가질 수 있다. 예시적 챔버 상태들은 "Idle", "InUse', 'Ready', 'Processing', 'PlasmaNotActive', 'PlasmaActive' 및 'RecipeComplete'를 포함할 수 있다.
일반적인 경우에 대하여, 각각의 데이터 리코더 객체는 센서의 시작시 이네이블링(enable)될 수 있고, 웨이퍼의 완료시 턴 오프될 수 있다. 몇몇 경우에, 데이터는 웨이퍼들 사이에서 리코딩될 수 있다(환경 데이터-이송 챔버 진공, 온도, 습도, 등...). 이 경우에, 리코더 객체들은 일 샘플 레이트(sample rate)에서 웨이퍼로 그리고 (구성가능한) 다른 샘플 레이트에서 기계 객체(machine object)로 데이터를 연관시키는 데이터의 다중 출력을 가질 수 있다.
또한, APC 시스템(145)은 APC 기능성을 기동(invoke)하는데 사용되는 메인 인터페이스를 포함하는 제어 실행 구성요소 및 프로세스 제어를 기술하고 지시하는 객체들을 포함할 수 있다.
일 실시예에서, 어플리케이션들 중 1이상은 Windows NT 서비스로서 러닝되도록 구성될 수 있다. 이와 같이, 어플리케이션은 사용자의 로그온없이 시스템 부트를 이용하여 시작되고; 상기 어플리케이션은 사용자가 로그온 및 로그아웃하는 동안 러닝을 유지하고; 상기 어플리케이션은 사용자의 디스플레이와 상호작용하지 않도록 구성될 수 있으며; 상기 어플리케이션은 로그인한 사용자의 것과는 상이한 보안 자격(security credential)을 갖는 상이한 로그온 어카운트(account)를 사용할 수 있도록 한다.
또한, APC 시스템(145)은 바이러스 보호 구성요소를 포함할 수 있다. 예를 들어, 바이러스 보호 소프트웨어는 APC 서버(160) 및 클라이언트 워크스테이션(170)에 설치될 수 있고, 스케쥴링된 기초(basis)의 업데이트를 수행하기 위해 LAN 커넥션이 사용될 수 있다.
나아가, APC 시스템(145)은 1이상의 GUI 스크린에 커플링될 수 있는 온-라인 도움말 구성요소를 포함할 수 있다. 예를 들어, 도움말 스크린은 사용자에게 접근가능할 수 있고, PDF(Portable Document Format) 및/또는 HTML 포맷내에 도움말 파일들이 제공될 수 있다.
APC 시스템 어플리케이션은 실패들과 서비스 관련 혼란(disruption)에 대해 관대하다. 추가적으로, 어플리케이션들은 셋업 및 장애 추적 능력을 제공한다. 예를 들어, 혼란이 발생하는 경우, APC 시스템 어플리케이션은 상기 혼란을 검출할 수 있고 데이터의 손실의 최소화시키기 위해 정확한 거동을 시작할 수 있다. 이러한 방식으로, APC 시스템이 저하된 기능성에서 작동되고 있는 동안에 생산되는 제품의 고객에 대한 우려가 저감될 수 있다.
APC 시스템은 고객들(최종 사용자들)이 툴, 챔버 및 센서들을 부가할 수 있도록 하는 구성가능한 시스템을 사용하여 구현된다. APC 시스템은, 고객들이 데이터 관리 어플리케이션을 주문할 수 있도록 하는 개발 환경과 메소돌로지(methodology)를 제공한다.
TEL Ingenio TL APC 소프트웨어는 다수의 기능들---오류 검출 및 분류(FDC), E-진단 서비스 및 런-투-런(R-2-R) 제어를 제공한다. FDC는 히스토리 데이터와 현재 프로세스 결과들을 비교함으로써 작동되고, 검출된 오류의 레벨에 따라 통지 및 개입을 생성한다. R-2-R은 프로세스 레시피를 조정하고 시간에 따라 프로세스 모델을 유지하기 위한 피드-포워드 및 피드백 제어 루프 둘 모두를 제공한다.
도 8은 본 발명의 일 실시예에 따른 반도체 처리 시스템에서 처리 툴을 모니터링하는 흐름도의 개략도를 나타내고 있다. 소프트웨어 및 연관 GUI 스크린은 상기 시스템내의 1이상의 처리 툴을 모니터링하는 단순하면서도, 사용자 편의의 프로시저를 제공한다. 프로시저 800은 반도체 처리 시스템에서 처리 툴에 의해 수행되는 각각의 생산 단계에 대하여 수행될 수 있다. 대안적으로, 프로시저 800은 반도체 처리 시스템에서 처리 모듈에 의해 수행되는 일 세트의 생산 단계들에 대하여 수행될 수 있다. 생산 단계는 에칭 프로세스, 증착 프로세스, 확산 프로세스, 세정 프로세스, 측정 프로세스, 이송 프로세스, 또는 여타의 반도체 제조 프로세스일 수 있다.
810에서는, 스타트 이벤트가 수신될 수 있다. 예를 들어, 처리 툴 제어기는 스타트 이벤트를 APC 시스템으로 전달할 수 있다. 대안적으로, 호스트와 같은 또 다른 컴퓨터가 스타트 이벤트를 전달할 수 있다. 스타트 이벤트는 프로세스 또는 레시피 단계가 시작되는 시간내의 일 포인트일 수 있으며, 콘텍스트-기반일 수 있다. 예를 들어, 웨이퍼 인, 레시피 스타트, 프로세스 스타트, 단계 스타트, 모듈 스타트, 및 툴 스타트가 스타트 이벤트들일 수 있다. 또한, 웨이퍼가 처리 챔버로 들어가는 경우 스타트 이벤트가 발생될 수 있다. 대안적으로, 스타트 이벤트는, 웨이퍼가 이송 챔버로 들어가거나 웨이퍼가 처리 시스템으로 들어가거나 또는 데이터가 호스트나 IM으로부터 이용가능한 경우 발생될 수 있다.
제어 전략은 처리 모듈 및/또는 처리 툴에서의 한 세트의 시퀀스 도중에 발생하는 것을 정의한다. 제어 전략은 단일 웨이퍼, 단일 툴, 단일 로트, 또는 툴 액티비티들(activities)의 조합에 대해 한 세트의 시퀀스를 정의할 수 있다. 제어 전략은 처리 액티비티들의 조합을 포함할 수 있고, 제어 전략은 콘텍스트와 연관될 수 있다. 콘텍스트 정보는 주어진 작업을 또 다른 작업과 연관시키는데 사용되는 것이 바람직하다. 특히, 콘텍스트 정보는 프로세스 단계 또는 레시피를 1이상의 전략들 및/또는 플랜들과 연관시킨다.
815에서는, 제어 전략이 실행된다. 제어 전략이 선택되는 경우에 영향을 줄 하나 또는 수개의 콘텍스트 아이템들을 사용자가 정의할 수 있다는 점에서 상기 제어 전략은 콘텍스트-구동될(context-driven) 수 있다. 제어 전략들은 시스템/툴 레벨에서 정의될 수 있고, 프로세스 모듈 레벨에서는 정의되지 않는다. 이는, R2R 제어가 통상적으로 다중 IM 및 프로세스 모듈을 통과하는 웨이퍼를 포함하기 때문에 필요하다. 주어진 웨이퍼에 대해 일 제어 전략이 실행된다. 주어진 웨이퍼의 콘텍스트가 다중 제어 전략들과 매칭된다면, 제1매칭 제어 전략이 선택될 수 있다.
제어 전략들은 "웨이퍼 단위(wafer by wafer)"의 기초 위에 평가될 수 있다. 제어 전략은 이네이블 또는 디세이블되는 것으로 명시될 수 있다. 제어 전략은 그것이 디세이블되는 경우 실행되지 않을 것이다. 제어 전략은 시뮬레이션으로서 명시될 수 있고, 이 경우에 있어 그 모든 제어 플랜들이 시뮬레이션 모드로 실행될 수 있으며, 이는 툴에서 레시피의 변화가 이루어지지 않는다는 것을 의미한다.
제어 전략은 다수의 제어 플랜들을 포함할 수도 있다. 이는 주어진 웨이퍼에 대해 몇가지 제어 모델들의 실행을 가능하게 한다. 하지만, 단일 제어 플랜은 실제로 툴에서의 레시피 변화를 제공할 제어 플랜으로서 명시되어야 한다. 여타 제어 플랜들이 시뮬레이션 모드로 실행될 수 있다.
콘텍스트-인식(context-sensitive) 제어 플랜은 처리 시스템 및/툴이 웨이퍼를 처리하는 경우에 어떤 제어 동작들이 취해질 것인지를 정의한다. 예를 들어, 제어 플랜의 콘텍스트는 단일 처리 시스템 레시피의 선택만으로 제한될 수 있다.
제어 플랜 정보는 인-메모리 테이블 및 DB2내에 저장될 수 있다. 제어 플랜은 R2R 제어를 아카이빙하는데 사용될 수 있는 모델을 포함할 수 있다. 시스템 레시피 및 여타 콘텍스트는 패어런트 제어 전략으로부터 유래된다(inherited). 제어 플랜은 인티그레이션 섹션, 제어 섹션 및 알고리즘 섹션을 포함할 수 있다. 인티그레이션 섹션은 어떤 모듈들이 제어 데이터의 소스 및 R2R 제어의 타겟인지를 판정할 수 있다. 제어 섹션은 다수의 피드-포워드 변수들에 대한 지원을 제공할 수 있다. 알고리즘 섹션은 상이한 타입의 제어 모델에 대한 지원을 제공할 수 있다.
제어 플랜은 제어 모델을 포함할 수 있다. 다수의 제어 모델들이 동시에 실행되는 경우, 이전 모델로부터의 출력들이 제2모델로의 입력으로서 사용될 수 있다. 제어 모델로부터의 출력이 같은 실행 사이클내에서 이전 제어 모델에 의하여 설정된 파라미터를 변화시킨다면, 알람 메세지가 발생될 수 있고 새로운 세팅이 사용될 수 있다. 프로세스 모듈은 1이상의 제어 플랜들을 포함할 수 있고, 하나의 제어 플랜은 일 프로세스 모듈에서 또는 다른 프로세스 모듈과 함께 또 다른 제어 플랜에 데이터를 제공할 수 있다.
제어 플랜들은 실행될 제어 모델(들)을 선택하는데 필요하는 정보를 포함한다. 제어 플랜들은 하나 및 단 하나의 프로세스 모듈과 연관되어 있다. 따라서, 제어되고 있는 각 프로세스 모듈에 대하여 제어 플랜이 있을 필요가 있다.
제어 플랜은 제어 모델이 사용될 수 있는 최소 및 최대 범위를 지정할 수 있다. 제어 모듈의 범위는 오버랩핑될 수 있다. 최소 및/또는 최대 범위가 사용자에 의해 입력되지 않는다면, 손실 범위(missing range)가 제한되지 않을 수 있다.
일반적으로 제어 플랜은 프로세스 모듈 및 레시피 조합과 관련되어 있다. 툴이 다수의 시스템 레시피들이 동일한 프로세스 레시피를 포함하도록 하는 경우, 다수의 제어 전략들이 일 제어 플랜을 공유할 수 있다. 상이한 프로세스 모듈 레시피들에 대하여 상이한 프로세스 모듈 레시피 한도들이 존재할 수도 있다. 각각의 제어 플랜은 툴로 보내질 레시피 수정들에 사용될 레시피 제약을 독립적으로 설정할 수 있다.
예측 모델들은 실험 기반 또는 이론 기반 모델을 나타낼 수 있다. 예측 EWMA(Exponentially Weighted Moving Average) 방법은 일부 제약들을 갖는 이론-기반의 예측 방법들 중 하나이다. PLS(Partial Least Squares) 귀환(regression) 방법은 실험 결과들을 기반으로 한 모델을 생성시키는데 사용될 수 있다. 모델 필터 구현은 모델 예측 에러를 보정하는데 필요할 수 있다.
제어 플랜에는 아웃라이어 거부 필러(outlier rejection filler)가 정의될 수 있다. 사용자는 제어를 수행하는데 필요한 최소 개수의 포인트들을 설정할 수 있다. 최소 수의 포인트들이 제공되지 않거나 필터링으로 인하여 일 사이트가 제거된다면, 소정의 알람이 런-타임으로 생성될 것이다.
최소 및 최대 제어 범위는 제어 플랜에 의해 사용되는 각각의 제어 모델에 대하여 지정될 수 있다. 최소값이 지정되지 않는다면, 제어 모델을 위한 최소 범위는 존재하지 않는다. 최대값이 지정되지 않는다면, 제어 모델에 대한 최대 범위는 존재하지 않는다. 1이상의 제어 모델들이 매칭되어 선택 기준을 충족시킬 수 있다. 1이상의 제어 모델이 매칭되면, 모든 매칭 제어 모델들이 런-타임으로 사용될 것이다. 선택 기준을 충족시키는 제어 모델들이 존재하지 않는다면, 런-타임 알람이 생성되고, 상기 플랜은 상기 모듈이 중단될 것인지, "NULL" 레시피가 사용될 것인지 또는 공칭(nominal) 레시피가 사용될 것인지를 결정할 것이다.
제어될 신규 웨이퍼가 시스템으로 들어가면, 시스템 레시피와 웨이퍼 콘텍스트를 매칭시키는 제어 레시피(들)이 선택된다. 메트롤로지 데이터가 수신되면, 제1매칭 제어 전략이 메트롤로지 데이터를 처리하고, 선택된 아웃라이어 방법을 사용하여 어떠한 아웃라이어 데이터 포인트도 제거할 수 있다. 그 다음, APC 시스템(R2R 콘트롤러)은 메트롤로지 데이터에 대응되는 제어 모델(들)을 선택할 수 있다. 그 다음, 제어 모델(들)이 실행되고 툴로 보내질 파라미터 세팅들을 계산한다. 이들 세팅은 툴로 보내지고 DB2내에 저장되며 상기 웨이퍼에 사용되는 세팅들로서 플래깅될 수 있다. 그 다음, 다른 매칭 제어 전략들이 처리될 수 있으며, 그 결과들 또한 DB2내에 저장되나 툴로 보내지지는 않는다.
처리동안 예외가 발견되면, 알람이 발생되어 APC 시스템(TL 콘트롤러)으로 보내질 수 있다.
예를 들어, 제어 전략은 ControlStrategyA1이라 명명될 수 있으며, 상이한 시간에 수행되는 4개의 시퀀스들을 포함할 수 있다. 시퀀스 1은 제1메트롤로지 레시피를 사용하는 메트롤로지 모듈에서 수행되는 하드 마스크 CD 프로세스일 수 있고; 시퀀스 2는 제1에칭 레시피를 사용하는 프로세스 모듈에서 수행되는 하드 마스크 에칭 프로세스일 수 있고; 시퀀스 3은 제2메트롤로지 레시피를 사용하는 메트롤로지 모듈에서 수행되는 폴리 CD 프로세스일 수 있으며; 시퀀스 4는 제2에칭 레시피를 사용하는 프로세스 모듈에서 수행되는 폴리 에칭 프로세스일 수 있다.
820에서는, 데이터 수집(DC) 전략이 수행된다. APC 시스템은, 제어 전략에 대해 정의되는 DC 전략을 실행하여, DC 플랜 필터들을 적용하고 프로세스 콘텍스트를 기초로 하는 요약 계산들을 실행한다. 프로세스 콘텍스트는 수행되는 생산 단계 및/또는 모니터링되는 챔버에 종속적일 수 있다. 콘텍스트는 특정 프로세스 레시피에 대해 어떤 전략 및/또는 플랜이 실행되는지를 판정한다. 예를 들어, 레시피가 콘텍스트 용어 "하드 마스크 CD"를 포함한다면, 프로세스 툴이 콘텍스트 용어 (요소) "하드 마스크 CD"를 포함하는 여느 레시피로 프로세스들을 러닝하는 경우 상기 "하드 마스크 CD"와 연관된 DC 전략이 실행될 수 있다.
런타임 동안, 스타트 이벤트는 APC 시스템이 현 콘텍스트 데이터를 룩 업(lookup)하고, 어떤 전략들이 상기 콘텍스트와 매칭되는지를 결정하고, 어떤 플랜들이 그들의 대응되는 스크립트들을 러닝하고 기동시킬지를 결정하도록 할 수 있다. 제어 전략 리코드는 웨이퍼-런, 툴, 챔버, 레지피, 슬롯 등과 같은 콘텍스트-매칭 정보를 포함할 수 있다. 예를 들어, APC 시스템은 런타임 콘텍스트 정보와 비교할 수 있고, 그것을 전략들의 데이터베이스에 대해 매칭시키도록 할 수 있다. 각각의 제어 전략은 다음과 같은 콘텍스트 정보: 즉 툴 ID(tool ID), 로트 ID, 챔버 ID, 카세트 ID, 슬롯 ID, 웨이퍼 ID, 레시피 ID, 시작 시간(start time), 종료 시간(end time), 단계 수(step number), 상태(state), 유지보수 카운터 값(maintenance counter value), 제품 ID(product ID) 및 재료 ID(material ID) 중 적어도 일부를 포함할 수 있다.
프로세스 콘텍스트는 수행되는 프로세스 및 모니터링되는 툴에 종속적일 수 있다. 콘텍스트 매칭 프로세스에서, 검색 순서(search order)가 중요할 수 있다. 예를 들어, GUI 테이블에서의 선행 순서(precedence order)를 이용하여 검색이 실행될 수 있다. 검색은 SQL 문장들을 사용하여 구현될 수 있다. 일단, 전략이 식별되면, 센서 플랜을 포함하는 데이터 수집 플랜, 데이터 전처리 플랜, 및 판정 플랜이 자동으로 결정될 수 있다. 데이터 수집 플랜 ID, 데이터 전처리 플랜 ID, 및 판정 플랜 ID는 "실행 제어 전략" 모듈로 보내질 수 있다. 비교 프로세스 콘텍스트 함수가 수행될 때 매칭 전략이 존재하지 않으면, 소프트웨어는 툴 상태 GUI 스크린 및 팝업 윈도우의 오류 필드에 에러 메세지를 디스플레이한다.
콘텍스트는 콘텍스트 요소들의 조합에 의해 정의될 수 있다. 예를 들어, 콘텍스트는 사전결정된 순서로 된 콘텍스트 요소들의 어레이일 수 있거나, 또는 콘텍스트는 사전 형태로(dictionary form) 된 한 세트의 이름 값의 쌍일 수도 있다.
또한, DC 전략과 연관된 플랜들이 실행된다. 데이터 수집 플랜, 데이터 전처리 플랜 및 판정 플랜 중 1이상이 실행될 수 있다. 또한, 센서 플랜, 파라미터 선택 플랜 및 트림 플랜이 실행될 수도 있다.
고품질 제품을 산출하는 생산 런 중에 수집된 데이터는 "양호한 툴 상태" 데이터를 수립하는데 사용될 수 있으며, 후속하여 수집된 데이터는 툴이 실시간으로 올바르게 수행되고 있는지를 판정하기 위하여 베이스라인 데이터와 비교될 수 있다.
제어 전략은 품질 제어(QC) 테스팅의 일부분으로서 툴 헬스 상태를 판정하도록 수립될 수 있다. 제어 전략 및 그와 연관된 플랜들은 시스템 또는 처리 툴과 같은 상기 시스템의 일부가 적절히 작동될 수 있도록 실행될 수 있다. 예를 들어, 툴 헬스 제어 전략 및 그와 연관된 플랜들은 규정된 시간에, 또는 사용자가 그것을 스케쥴링할 때 실행될 수 있다. 툴 헬스 제어 전략 및 그와 연관된 플랜들이 실행되고 있는 경우, 진단 웨이퍼 데이터가 수집될 수 있다. 진단, 더미(dummy), 제품 또는 테스트 웨이퍼가 처리될 수 있으며, 콘텍스트는 툴, 모듈, 또는 센서 진단일 수 있다.
제어 전략 및 그와 연관된 플랜들은 시즈닝-관련 프로세스(seasoning-related process)와 같은 프로세스 모듈 준비 프로세스에 대해 수립될 수 있다. 예를 들어, 세정 공정(즉, 습식 세정) 후에, 다수의 더미 웨이퍼들은 시즈닝 관련 전략, 플랜, 및 레시피들을 이용하여 처리될 수 있다. 사용자는 APC 시스템의 일부분인 전략 및 플랜들을 사용할 수 있거나, 또는 사용자는 APC 시스템을 이용하여 새로운 시즈닝-관련 제어 전략들을 쉽고 빠르게 개발할 수 있다. 사용자는 어떤 시즈닝 레시피가 가장 좋은 검출 능력(detection power)을 갖는지를 판정하기 위해 한 세트의 상이한 시즈닝 데이터 수집 플랜 및 레시피들을 시도할 수도 있다. 이들 시즈닝 런으로부터의 데이터는, 프로세스 및 툴 모델링을 더욱 개선하는데 사용될 수 있다.
제어 전략 및 그와 연관된 플랜들이 챔버 핑거프린팅과 같은 프로세스 모듈 특성화 프로세스들에 대해 수립될 수 있다. 예를 들어 유지보수 프로세스 후에, 다수의 더미 웨이퍼들이 핑거프린팅-관련 데이터 수집 플랜 및 레시피들을 사용하여 처리될 수 있다. 이들 핑거프린팅 런으로부터의 데이터가 사용되어 프로세스 및 툴 모델링을 보다 개선시킬 수 있다. 핑거프린팅 데이터는, 웨이퍼 프로세스 결과에 영향을 주는 결정적인 챔버 미스매치들을 최소화시키는 최적의 모델을 식별하기 위한 위한 분석에 사용될 수 있다.
데이터 수집 플랜이 실행되는 경우에는 정적 및 동적 센서들이 셋업된다. 데이터 수집 플랜은 센서 셋업 플랜을 포함할 수 있다. 예를 들어, 센서들에 대한 시작 및 정지 시간은 센서 셋업 플랜에 의하여 판정될 수 있다. 동적 센서들에 의해 요구되는 동적 변수들은 센서 셋업 플랜에 의하여 판정될 수 있다. 레시피 스타트 이벤트는 센서에 리코딩 시작을 알리는데 사용될 수 있다. 웨이퍼 인 이벤트는 센서를 셋업하는데 사용될 수 있다. 레시피 스톱 이벤트 또는 웨이퍼 아웃 이벤트는 센서에 리코딩 정지를 알리는데 사용될 수 있다.
수집된 데이터 및 사용되는 센서들은 DC 전략 콘텍스트에 종속적이다. 바람직하게는, 상이한 센서들이 사용될 수 있고, 정상 웨이퍼와 불량 웨이퍼에 대하여 상이한 데이터가 수집될 수 있다. 예를 들어, 툴 상태 데이터는 정상 웨이퍼에 대하여 수집된 데이터의 작은 부분일 수 있으며, 툴 상태 데이터는 불량 웨이퍼에 대해 수집된 데이터의 큰 부분일 수 있다.
또한, 데이터 수집 플랜은 예상된 관측 파라미터들이 스파이크 카운팅(spike counting), 스텝 트리밍(step trimming), 값 임계치, 및 값 클립 한도(value clip limits)에 대해 어떻게 처리되는지를 수립하는 데이터 전처리 플랜을 포함한다.
데이터 전처리 플랜이 실행되는 경우, 타임 시리즈 데이터(time series data)가 원래의 데이터 파일로부터 생성될 수 있으며 데이터베이스내에 저장될 수 있고; 웨이퍼 요약 데이터는 타임 시리즈 데이터로부터 생성될 수 있으며; 로트 요약 데이터는 웨이퍼 데이터로부터 생성될 수 있다. 데이터 수집은, 웨이퍼가 처리되고 있는 동안에 실행될 수 있다. 웨이퍼가 이 처리 단계를 벗어난 경우, 데이터 전처리 플랜이 실행될 수 있다.
데이터 수집 플랜은, 원하는 데이터를 수집하도록 사용자에 의해 구성된 재사용가능한 엔티티(reusable entity)이다. 데이터 수집 플랜은 1이상의 별도의 프로세스 모듈에 관한 1이상의 센서의 구성(configuration)으로 이루어져 있다. 또한, 상기 플랜은 연관된 센서들에 의해 수집되어야 하는 데이터 아이템들의 선택을 포함하며, 이들 중 어떤 데이터 아이템들은 세이브되어야 한다.
센서는, 디바이스, 기구, 처리 툴, 프로세스 모듈, 센서, 프로브, 또는 관측 데이터를 수집하거나 소프트웨어 셋업 상호작용을 필요로 하거나, 그것이 센서인 경우처럼 시스템 소프트웨어에 의해 처리될 수 있는 여타의 엔티티일 수 있다. 예를 들어, 처리 툴들 및 프로세스 모듈들은 그들이 데이터 수집 플랜에서의 센서인 경우에서와 같이 취급될 수 있다.
동일한 센서 형식의 몇몇 인스턴스가 동시에 툴상에 설치될 수 있다. 사용자는 각각의 데이터 수집 플랜에 대해 사용하기 위하여 특정 센서 또는 센서들을 선택할 수 있다.
시스템에서 수집된 데이터는, 실시간 센서 수집과 데이터베이스 저장 사이의 일 세트의 단계들을 통해 흐른다. 수집된 데이터는 실시간 메모리 SQL 데이터베이스를 포함할 수 있는 인터페이스 서버로 보내질 수 있다. 인터페이스 서버는, APC 시스템의 플랜들을 통하여 사용자에 의해 정의되는 상이한 알고리즘들에 의해 그리고 사용자에 의하여 정의되는 스크립트들에 의해 처리될 데이터에 대한 물리적 로케이션을 제공할 수 있다.
APC 시스템은 각각의 프로세스 모듈에 대해 독립적 데이터 수집 모드 및 셋업 모드를 제공한다; 즉, 각각의 프로세스 모듈은 여타의 프로세스 모듈에 대해 독립적일 수 있고, 일 프로세스 모듈의 셋업은 다른 프로세스 모듈들의 데이터 수집을 인터럽트하지 않는다. 이는 반도체 처리 시스템에 대한 비생산적인 시간량을 최소화시킨다.
DC 전략이 판정 플랜을 포함하는 경우, 판정 플랜이 실행된다. 상기 실행은 룰 기반일 수 있으며, SQL 문장들을 포함할 수 있다. 스타트 이벤트 판정 플랜은 "스타트 이벤트"가 발생한 후에 실행될 수 있으며, 엔드-이벤트 판정 플랜은 "엔드 이벤트"가 발생한 후에 실행될 수 있다. 예를 들어, 스타트-이벤트 판정 플랜이 제어 전략과 연관되는 경우, 그것은 웨이퍼-인 이벤트, 프로세스 스타트 이벤트, 또는 레시피 스타트 이벤트와 같은 스타트 이벤트 후에 실행될 수 있다. 스타트-이벤트 판정 플랜은 툴 상태 모니터링 시스템의 알람 관리부의 일부분일 수 있다.
스타트 이벤트 후에 알람이 발생한 경우(즉, 오류가 검출된 경우), 제어 전략과 연관된 판정 플랜은, 개입 플랜으로 메세지 및/또는 명령어들을 보내 다음과 같은 동작; 상태 스크린상에 오류 메세지를 디스플레이하고, 로그 파일에 오류 메세지를 기록하며, 다음 웨이퍼를 중단하라는 메세지를 보내고, 다음 로트 메세지를 중단하라는 메세지를 보내며, 상기 툴에 경고 메세지를 보내고, 툴 소유자에게 이메일을 보내는 동작을 취할 수 있다.
판정 플랜들은 독립적으로 운영된다. 각각의 판정 플랜은 다른 판정 플랜들의 동작들을 알 필요가 없다. 결과적으로, 동작들에 있어 몇몇 리던던시 또는 불일치가 있을 수 있으며, 개입 플랜이 여하한의 문제들을 해결하는데 사용될 수 있다. 전략 및 플랜들에 대한 예시적인 관계도가 도 9 및 도 10에 도시되어 있으며, 판정 플랜들과 개입 플랜에 대한 예시적인 관계도가 도 11에 도시되어 있다.
825(도 8)에서는, 프로세스 콘텍스트를 기반으로 하여 분석 전략이 실행될 수 있다. 프로세스 콘텍스트는 수행되는 생산 단계 및 모니터링되는 툴에 종속적일 수 있다. 콘텍스트는 특정 프로세스 단계 동안 어떤 분석 전략 및/또는 플랜이 실행되는지를 판정한다. 예를 들어, 분석 전략을 "하드 마스크 CD"와 같은 프로세스 타입과 연관시키기 위하여, 분석 전략에 대한 콘텍스트는 "하드 마스크 CD"라는 콘텍스트 용어를 포함해야 한다.
분석 전략은 플랜들의 홀더일 수 있다. 분석 전략 및 그와 연관된 플랜들은 수집후에 데이터를 "분석한다"
일 실시예에서, 프로세스 콘텍스트는 분석 전략들의 리스트와 비교될 수 있다. 예를 들어, APC 서버(160)(도 1)는 "프로세스 스타트" 이벤트가 발생하는 경우에 문자열로서 현 프로세스 콘텍스트를 얻는다. 상기 프로세스 콘텍스트는 분석 전략들의 리스트와 비교될 수 있으며, 그 후 적절한 전략들이 식별될 수 있다.
이 프로세스에서, 검색 순서가 중요할 수 있다. 예를 들어, GUI 테이블의 우선순위 순서를 이용하여 검색이 실행될 수 있다. 검색은 SQL 문장들을 사용하여 구현될 수 있다. 분석 전략이 식별되면, SPC(Statistical Process Control) 플랜, PLS(Partial Least Squares) 플랜, PCA(Principal Component Analysis) 플랜, MVA(Multivariate Analysis) 플랜, FDC(Fault Detection and Classification) 플랜, 판정 플랜 및 사용자 정의 플랜 중 1이상이 자동적으로 판정된다. 분석 플랜 ID들 및 판정 플랜 ID들은, "실행 분석 전략" 모듈들로 보내질 수 있다. 비교 프로세스 콘텍스트 함수가 수행되는 경우 매칭 전략이 존재하지 않는다면, 소프트웨어는 툴 상태 GUI 스크린의 오류 필드에 에러 메세지를 표시할 수 있고, 사용자가 정확한 전략의 사용을 식별할 수 있도록 팝업 윈도우가 제공될 수 있다.
런 콘텍스트를 매칭하는 다수의 분석 전략들이 있을 수 있고, 이들 분석 전략은 특정 처리 툴에 대해 특정 시간에 실행된다. 사용자는 전략들을 리스트상에서 위 또는 아래로 이동시켜 특정 콘텍스트내에서 전략의 순서를 결정한다. 전략이 선택될 시간이 오면, 소프트웨어는 리스트의 최상부에서 시작하여 그것이 콘텍스트에 의해 판정된 요건들을 매칭시키는 첫번째 전략을 찾아낼 때까지 리스트 아래로 진행시켜 상기 전략을 우선 실행한다.
또한, 각각의 분석 전략내에 다수의 플랜들이 존재할 수 있으며, 사용자는 플랜들을 리스트상에서 위 또는 아래로 이동시켜 분석 전략내에서 플랜의 순서를 결정한다. 플랜이 실행될 시간이 오면, 소프트웨어는 리스트의 최상부에서 시작하여 리스트를 아래로 진행시킨다.
콘텍스트 매칭을 하기 위해서, 콘텍스트-기반 실행을 이용하는 한가지 방법이 있을 수 있다. 예를 들어, 콘텍스트 매칭을 실행하는 경우, 현재 처리되고 있는 웨이퍼의 콘텍스트가 사용될 수 있다. 대안적으로, 현재 처리되고 있는 기판 또는 여타의 반도체 제품의 콘텍스트가 사용될 수 있다. 콘텍스트가 결정되는 경우, 이는 분석 전략들의 콘텍스트와 비교될 수 있다. 콘텍스트 매칭이 일어나면, 1이상의 분석 전략이 실행될 수 있다.
분석 전략이 실행되는 경우, 분석 플랜 및 판정 플랜이 식별될 수 있다. 예를 들어, 콘텍스트-매칭 실행 소프트웨어 모듈은 1이상의 분석 전략의 동적 셋업 및 기동을 허용하는데 사용될 수 있다. 일 경우에 있어서, 웨이퍼-아웃 이벤트는 현 콘텍스트 데이터를 룩업하기 위해 시스템 콘트롤러를 트리거링하고, 어떤 분석 전략이 러닝되는지를 결정하며, 그와 연관된 플랜을 결정하도록 대응하는 스크립트를 기동시킬 수 있다.
또한, 분석 전략과 연관된 플랜들이 실행된다. 분석 플랜들이 실행되면, SPC 플랜, PLS 플랜, PCA 플랜, MVA 플랜, 및 FDC 플랜, 판정 플랜 및 사용자 정의 플랜 중 1이상이 실행될 수 있다. 고품질 제품을 산출하는 생산 런 중에 수집된 데이터에 관해 수행된 분석은, "양호한 툴 상태" 모델을 수립하는데 사용될 수 있으며, 후속하여 수집된 데이터는 툴이 실시간으로 올바르게 수행되고 있는지를 판정하기 위하여 상기 베이스라인 모델을 사용하여 분석될 수 있다.
분석 전략은 품질 제어(QC) 테스팅의 일부분으로서 툴 헬스 상태를 판정하도록 수립될 수 있다. 예를 들어, 시스템 또는 처리 툴과 같은 시스템의 일부가 적절히 작동될 수 있도록 하기 위해 툴 헬스 분석 전략 및 그와 관련된 플랜들이 실행될 수 있다. 툴 헬스 분석 전략 및 그와 관련된 플랜들은 규정된 시간에 실행되거나 사용자가 그것을 스케쥴링할 때 실행될 수 있다. 툴 헬스 분석 전략 및 그와 관련된 플랜들이 실행되고 있는 경우, 진단 웨이퍼 데이터는 진단 모델을 사용하여 분석될 수 있으며, 여기서 상기 진단 모델은 SPC 차트, PLS 모델, PCA 모델, FDC 모델 및 MVA 모델을 포함할 수 있다.
분석 전략 및 그와 연관된 플랜들은 시즈닝-관련 프로세스와 같은 프로세스 모듈 준비 프로세스에 대해 수립될 수 있다. 예를 들어, 세정 공정(즉, 습식 세정) 후에, 다수의 더미 웨이퍼들로부터 수집된 데이터는 시즈닝 관련 모델을 사용하여 분석될 수 있다. 사용자는 APC 시스템의 일부분인 분석 전략, 플랜 및 모델을 사용할 수 있거나, 사용자는 APC 시스템을 이용하여 새로운 시즈닝-관련 분석 전략, 플랜 및 모델들을 쉽고 빠르게 개발할 수 있다. 사용자는 어떤 시즈닝 관련 모델이 가장 좋은 검출 능력을 갖는지를 판정하기 위해 상이한 분석 모델들을 시도할 수도 있다. 이들 시즈닝 런으로부터의 분석 결과들은 제어 전략들과 데이터 수집 플랜들을 더욱 개선하는데 사용(피드백)될 수 있다.
분석 전략은 챔버 핑거프린팅과 같은 프로세스 모듈 특성화 프로세스들에 대해 수립될 수 있다. 예를 들어 유지보수 프로세스 후에, 다수의 더미 웨이퍼들로부터 수집된 데이터가 핑거프린팅-관련 모델들을 사용하여 분석될 수 있다. 이들 핑거프린팅 런으로부터의 분석 결과들이 사용(피드백)되면 제어 전략들 및 데이터 수집 플랜들을 더욱 개선시킬 수 있다. 분석 결과들은 최적의 모델을 식별하여 온-웨이퍼 프로세스 결과에 영향을 주는 결정적인 챔버 미스매치들을 최소화시키는데 사용될 수 있다.
전략이 판정 플랜을 포함하는 경우, 판정 플랜이 실행될 수 있다. 상기 실행은 룰 기반일 수 있으며 SQL 문장들을 포함할 수 있다. 스타트 이벤트 판정 플랜은 "스타트 이벤트"가 발생한 후에 실행될 수 있으며, 엔드-이벤트 판정 플랜은 "엔드 이벤트"가 발생한 후에 실행될 수 있다. 예를 들어, 스타트-이벤트 판정 플랜이 제어 전략과 연관되는 경우, 그것은 웨이퍼-아웃 이벤트, 프로세스 스톱 이벤트, 레시피 스톱 이벤트, 뱃치-아웃 이벤트 또는 로트-아웃 이벤트와 같은 엔드 이벤트 후에 실행될 수 있다. 엔드-이벤트 판정 플랜은 툴 상태 모니터링 시스템의 알람 관리부의 일부분일 수 있다.
엔드 이벤트 후에 알람이 발생한 경우(즉, 오류가 검출된 경우), 분석 전략과 연관된 판정 플랜은 개입 플랜으로 메세지 및/또는 명령어들을 보내 다음과 같은 동작; 상태 스크린상에 오류 메세지를 디스플레이하고, 로그 파일에 오류 메세지를 기록하며, 다음 웨이퍼를 중단하라는 메세지를 보내고, 다음 로트를 중단하라는 메세지를 보내며, 상기 툴에 경고 메세지를 보내고, 툴 소유자에게 이메일을 보내는 동작을 취할 수 있다.
판정 플랜들은 독립적으로 운영된다. 각각의 판정 플랜은 다른 판정 플랜들의 동작들을 알 필요가 없다. 결과적으로, 동작들에 있어 몇몇 리던던시 또는 불일치가 있을 수 있으며, 개입 플랜이 여하한의 문제들을 해결하는데 사용될 수 있다. 판정 플랜 및 개입 플랜에 대한 예시적인 관계도가 도 10에 도시되어 있다.
830에서는, 알람이 생성되었는지를 판정하도록 조회(query)가 수행될 수 있다. 알람이 발생되었다면, 프로시저 800은 850으로 분기된다. 알람이 발생되지 않았다면, 프로시저 800은 835으로 분기한다.
850에서는, 개입 플랜이 실행될 수 있다. 개입 플랜은 다음과 같은 프로세스: 각각의 판정 플랜으로부터 메세지(판단)를 획득하고; 상이한 판정 플랜들로부터 동작들을 카테고리화하며; 툴 ID, 레시피 ID, 레시피 시작 시간 등과 같은 프로세스 조건들을 이메일 및 로그에 붙이고; 로그 파일/데이터베이스를 저장하며; 개입 관리자에게 적절한 메세지를 보내는 프로세스를 실행한다.
개입 전략들은, 사용자가 데이터 분석의 결과로서 취하도록 선택하는 동작으로서 정의된다. 예를 들어, 이들 동작들은: 의심스러운 웨이퍼 또는 로트를 플래깅(flag)하고 시스템 소유자 및/또는 툴 소유자에게 통지하고; 데이터를 검토하고 결정을 내리도록 엔지니어에게 페이징하거나 이메일을 보내며; 데이터가 검토되어 처리 금지가 해제될 때까지 툴이 웨이퍼를 처리하지 못하게 하고; 툴을 정지시키거나 또는 툴로부터 남아있는 웨이퍼들을 퍼지(purge)할 수 있는 툴 "오프-라인"을 취하며; 그리고 챔버 세정 또는 유지보수 프로시저들을 트리거링하는 동작을 포함할 수 있다.
각각의 프로세스 단계 동안 단 하나의 개입 플랜이 실행되는 것이 바람직하다. 개입 플랜 실행은 APC 서버에서 구현될 수 있다. 예를 들어, 개입 플랜은 판정 플랜으로부터의 정보(문자열)을 얻을 수 있다. 이 정보는 판정 플랜 ID, 제안된 동작들을 갖는 메세지들, 오류 메세지들, 복원 메세지들 및 동작 리스트들을 포함할 수 있다.
개입 플랜이 실행된 후에, 적절한 동작에 관한 메세지는 개입 관리자에게 보내진다. 예를 들어, 동작 후보(action candidate)로는: 상태 스크린상에 오류 메세지를 디스플레이하고; 다음 웨이퍼 이전에 프로세스를 중단시키도록 메세지를 보내며; 다음 로트 이전에 프로세스를 중단시키도록 메세지를 보내고; 1이상의 툴에 중단 또는 정지 메세지를 보내고, 1이상의 프로세스 모듈에 중단 또는 정지 메세지를 보내고, 1이상의 센서에 중단 또는 정지 메세지를 보내며, 시스템 소유자, 툴 소유자 프로세스 소유자에게 이메일을 보내는 것들이 포함될 수 있다. 예를 들어, "정지" 메세지는 툴에게 이미 이 툴내에 있는 웨이퍼 처리를 계속하라고 지시하는데 사용될 수 있으며, "중지(abort)" 메세지는 툴에게 이 툴내의 웨이퍼를 처리하지 않도록 지시하여 웨이퍼를 캐리어로 다시 보내는데 사용될 수 있다.
몇몇 경우에서, APC 시스템은 작업자의 개입 없이도 문제에 개입하고 응답할 수 있다. 다른 경우에는, 작업자의 개입이 요구될 것이다. 예를 들어, 사용자는 APC 시스템으로부터의 데이터에 액세스하여 오류의 성질(nature)을 판정할 수 있으며, 상기 사용자는 프로세스를 계속할 것인지 끝낼 것인지를 결정할 수 있다. 사용자가 프로세스를 끝내는 경우, 툴은 수리 상태(repair state)에 놓일 수도 있다. 사용자는 툴 스크린으로부터 이를 트리거링할 수 있다. 예를 들어, 사용자는 챔버 습식 세정을 수행하기 위한 결정을 내릴 수 있다. 습식 세정, 체크 및 프로세스 테스트 후에, 다음 웨이퍼에 대해 상기 프로세스가 재개(resume)될 수 있다.
개입 플랜 및 분석 플랜의 실행 중에, APC 시스템은 "툴 헬스" 차트를 사용자에게 제시할 수 있다. 예를 들어, 상기 차트는 압력계 데이터(manometer data), 질량 유동(mass flow) 데이터, 누설 데이터, 펌프 데이터, 가스 시스템 데이터, 카세트 시스템 데이터 및 이송 시스템 데이터를 포함할 수 있다. 상기 차트는 1이상의 툴, 1이상의 모듈, 1이상의 프로세스 단계에 대해, 그리고 상이한 시간들에 대해 실시간 데이터, 히스토리 데이터, 그리고 실시간 및 히스토리 데이터의 조합을 디스플레이할 수 있다.
835에서는, 프로세스가 종료되었는지를 판정하기 위해 조회가 수행될 수 있다. 프로세스가 종료되었다면, 프로시저 800은 840으로 분기되고 프로시저 800은 종료된다. 프로세스가 종료되지 않았다면, 도 8에 나타낸 바와 같이 프로시저 800은 815로 분기되고 프로시저 800이 계속 진행된다.
APC 시스템은 생산에 있어 툴이 존재하지 않을 경우의 툴 에러들을 검출 및 분류하고; 생산시 툴 에러들을 검출 및 분류하고; 생산시 툴 에러들을 검출 및 보정하고; 생산에 앞서 툴 에러들을 예측하며; 생산 후의 툴 오차를 예측하는데 사용될 수 있다. 예를 들어, 툴 상태 모니터링 시스템은, 자동 셋업 기능, 자동 체크 기능 및 자체 체크 기능과 같은 다수의 자체 모니터링 기능을 수행하는 처리 툴과 인터페이스할 수 있다. 툴이 기계 이벤트를 실시간으로 보내는 경우, 모니터링 시스템은 데이터를 실시간으로 모니터링하며, 툴이 데이터를 비실시간으로 보내는 경우, 툴이 데이터(즉, 기계 로그내에 저장된 데이터)를 보내자 마자 상기 모니터링 시스템이 상기 데이터를 처리한다. 툴 데이터는 누설율 체크, 제로 오프셋, 히스토리 이벤트, 알람 정보 및 프로세스 로그 데이터와 같은 정보를 포함할 수 있다.
APC 시스템은, 범용 오류 검출 및 분류 어플리케이션, 챔버 핑거프린팅 어플리케이션, 시즈닝 완료 어플리케이션, 소모성 수명 예측, 습식 세정 사이클 어플리케이션, 및 부품 조립에 대한 진단 어플리케이션에 사용될 수 있는 전략, 플랜, 및 베이스라인 모델을 포함할 수 있다. 또한, APC 시스템은 처리 툴로부터의 ARAMS(Automated Reliability, Availability and Maintainability Standards) 로그들을 수집 및 분석할 수 있다. APC 시스템은 이 데이터 수집을 데이터 수집 플랜의 일부로서 수행할 수 있다.
APC 시스템은 유지보수 데이터를 수집 및 분석하기 위한 전략 및 플랜들을 포함할 수 있다. 데이터 수집 플랜들은 소모성 부품 및 관리가능(maintainable) 부품들을 포함한다. 예를 들어, 이들 부품들은 포커스 링, 실드 링, 상부 전극 등을 포함할 수 있다. 유지보수 데이터 전략 및 플랜들은 툴 타입, 프로세스 모듈 타입 및 수 등에 종속적이다. 오류 유지보수 데이터 전략 및 플랜들은, 툴 셋업, 프로세스 모듈 셋업 및 애드-온(add-on) 센서 셋업 정보의 일부로서 자동으로 구성될 수 있다. 사용자는 디폴트 세팅들을 변경할 수 있다.
APC 시스템은 웨이퍼-투-웨이퍼 개입, 뱃치-투-뱃치 개입 또는 로트-투-로트 개입을 제공하는데 사용될 수 있다.
APC 시스템(145)은 또한 프로세스 또는 웨이퍼의 몇몇 특성에 대해 다양한 센서들로부터 수집되는 데이터와 상호 관련(correlate)시키는데 사용될 수 있는 분석 및 모델링 어플리케이션을 포함할 수 있다. 예를 들어, MVA(Multivariate Analysis), PLS(Partial Least Squares) 및 PCA(Principle Component Analysis)에 대해 어플리케이션들이 제공될 수 있으며, 추가적인 조작 및 SPC 룰 평가를 위해 분석/모델링 어플리케이션들로부터의 출력이 SPC 차팅 프로세스로 제공될 수 있다.
분석 및 모델링 어플리케이션들은 웨이퍼 처리시에 발생되는 비정상성 및 정상적 드리프트(normal drifts)를 뷰잉하는데 사용될 수 있다. 비정상성 또는 드리프트가 발견되면, 그것을 다시 정상적인 레벨안으로 가져가기 위해 프로세스를 정지 또는 조정시키기 위한 단계들이 취해질 수 있다. 단변 모니터링에서와는 달리, 오류가 검출된 후에, 엔지니어는 모델에 대한 현재 데이터를 취해, 프로세스를 다시 제어 환경으로 가져가기 위한 보다 많은 가이던스를 갖는다. APC를 사용하여 수집되는 데이터는 상기 데이터를 이용하여 모델들을 생성시키기 위한 제3자 모델링 소프트웨어 프로그램들에 직접적으로 임포팅(import)될 수 있다. 상기 모델들은 오류 검출 및 파라미터 예측을 위한 APC 서버로 익스포팅(export)될 수 있다.
본 발명의 일 형태에서는, 1이상의 GUI 스크린을 이용하여 상태 데이터가 표시될 수 있다. 예를 들어, 도 12에 나타낸 바와 같이 GUI 스크린을 이용하여 툴 상태 데이터가 디스플레이될 수 있다. 대안적으로, 다른 GUI 스크린을 사용하여 다른 상태 데이터가 디스플레이될 수 있다. 일 패널에서는, 각각의 프로세스 챔버에 대한 현재의 정보가 상기 스크린상에 디스플레이될 수 있다. 챔버 정보는 1이상의 프로세스 챔버 이름을 포함할 수 있다. 현재 프로세스 챔버내의 웨이퍼에 대한 정보는 개별 필드들에 디스플레이될 수 있다. 플랜 정보는 현재 웨이퍼와 관련하여 실행되는 데이터 수집 플랜의 이름을 포함할 수 있다. 프로세스 챔버 패널들은, 챔버의 키 요소들의 상태를 나타내기 위한 텍스트 및 그래픽들을 포함한다.
본 명세서에서 제시된 소프트웨어 및 그와 연관된 GUI 스크린은 또한 여러 언어로 이용가능하다. GUI 스크린 레이아웃은 전역적 툴 설치들을 돕도록 설계되어 왔다. 여러 나라의 사용자들은 사용 및 이해가 쉬운 콘텍스트-기반의 데이터 관리 소프트웨어를 요구하고 있다. 시스템이 설치되거나 시스템 구성이 변경되는 경우, 상기 소프트웨어는 사용자에게 필요한 모든 데이터베이스 및 파일들을 생성시킨다. 콘텍스트-기반의 데이터 관리 GUI 스크린은 시스템과 최종 사용자의 다양한 수준 사이에 상호작용 수단을 제공한다.
소프트웨어는 설치시 기계 타입 및 하드웨어 구성을 셋업하고 구성의 변화가 있을 때에는 그 후에 셋업한다. 예를 들어, 사용자 프로파일은, 터치 스크린 온리(Touch screen only), 키보드 및 마우스용 지지부, 여러 언어들-일본어, 중국어, 영어, 불어, 독일어 등, 사용자 클래스-시스템, 클래스 레벨, PE, EE, 오퍼레이터, 칼라 블라인드-그레이 스케일/패턴 또는 칼라 좌-우, 톱-바텀 워크플로우, 아이콘들, 사진들, 또는 단어들, 정적 탭 및 정적 탭들과 같은 피처들을 제공하는 뷰들에 대한 사용자의 선호도 및 언어에 대해 생성될 수 있다.
위 교시의 관점에서 본 발명의 다양한 수정 및 변형례들이 가능하다. 따라서, 첨부된 청구항의 범위내에서 본 발명은 본 명세서에 특정적으로 기술된 바와 달리 실시될 수도 있다는 것을 이해해야 한다.

Claims (34)

  1. 반도체 처리 환경에서 처리 툴을 제어하기 위한 고급 프로세스 제어(APC) 시스템에 있어서,
    복수의 APC 관련 어플리케이션들을 제공하는 APC 서버;
    상기 APC 서버에 커플링된 인터페이스 서버(IS);
    상기 IS 및 APC 서버에 커플링된 데이터베이스; 및
    상기 APC 서버에 커플링된 GUI 구성요소를 포함하여 이루어지고,
    상기 IS는 처리 툴에 커플링하기 위한 수단, 복수의 프로세스 모듈에 커플링하기 위한 수단 및 복수의 센서에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  2. 제 1항에 있어서,
    복수의 센서에 커플링하기 위한 상기 수단은, 광학 방출 스펙트럼(OES) 센서에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  3. 제 2항에 있어서,
    상기 OES 센서에 커플링하기 위한 상기 수단은, TCP/IP 커넥션을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  4. 제 1항에 있어서,
    복수의 모듈에 커플링하기 위한 상기 수단은, 광학 데이터 프로파일(ODP) 모듈에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  5. 제 4항에 있어서,
    ODP 모듈에 커플링하기 위한 상기 수단은, ODP 라이브러리에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  6. 제 1항에 있어서,
    복수의 센서에 커플링하기 위한 상기 수단은, 전압/전류(V/I) 프로브에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  7. 제 6항에 있어서,
    상기 VI 프로브에 커플링하기 위한 상기 수단은, TCP/IP 커넥션을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  8. 제 1항에 있어서,
    E-진단 시스템에 커플링하기 위한 수단을 더 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  9. 제 1항에 있어서,
    팩토리 시스템에 커플링하기 위한 수단을 더 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  10. 제 1항에 있어서,
    상기 APC 시스템은, 아날로그 프로브에 커플링하기 위한 수단을 더 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  11. 제 10항에 있어서,
    상기 아날로그 프로브에 커플링하기 위한 상기 수단은, TCP/IP 커넥션을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  12. 제 1항에 있어서,
    복수의 모듈에 커플링하기 위한 상기 수단은, 에칭 모듈에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  13. 제 11항에 있어서,
    복수의 모듈에 커플링하기 위한 상기 수단은, 증착 모듈에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  14. 제 1항에 있어서,
    복수의 센서에 커플링하기 위한 상기 수단은, 이산 메세지 허브(DMH) 클라이언트를 생성하는 센서 리코더 베이스 클래스에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  15. 제 1항에 있어서,
    처리 툴에 커플링하기 위한 상기 수단은, 상기 처리 툴내의 툴 에이전트 및 상기 APC 시스템내의 에이전트 클라이언트를 포함하고, 상기 에이전트 클라이언트는 에이전트 클라이언트 통신 클래스 및 드라이버를 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  16. 제 15항에 있어서,
    상기 에이전트 클라이언트 통신 클래스는, BSD 소켓들을 통해 상기 툴 에이전트와 통신하고, 스타트 에이전트(start agent) 방법, 이벤트 리시브 스레드(event receive thread), 겟 넥스트 메세지(get next message) 방법, 및 스톱 에이전트(stop agent) 방법 중 하나 이상을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  17. 제 1항에 있어서,
    상기 APC 서버는, 적어도 3 GB의 이용가능한 디스크 공간을 갖는 저장 디바이스; 2이상의 600 MHz CPU를 포함하는 프로세서; 및 적어도 512 Mb의 RAM을 포함하는 물리적인 메모리를 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  18. 제 1항에 있어서,
    상기 APC 서버는, 1이상의 툴-관련 어플리케이션, 1이상의 모듈-관련 어플리케이션, 1이상의 센서-관련 어플리케이션, 1이상의 IS-관련 어플리케이션, 1이상의 데이터베이스-관련 어플리케이션 및 1이상의 GUI-관련 어플리케이션을 포함하는 복수의 어플리케이션을 제공하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  19. 제 1항에 있어서,
    상기 APC 서버는, 툴 APC 마스터 어플리케이션; 툴 APC 알람 어플리케이션; 1이상의 센서 인터페이스 어플리케이션; APC 데이터베이스 관리 지원 어플리케이션; APC 데이터 수집 지원 어플리케이션; APC 이벤트 관리 지원 어플리케이션; 프로브 인터페이스 어플리케이션; APC 처리 챔버 지원 어플리케이션; APC 전략 선택 어플리케이션; 툴 인터페이스 어플리케이션; 웨이퍼 데이터 어플리케이션; 및 APC 플랜 실행자(PE) 어플리케이션 중 하나 이상을 포함하는 복수의 어플리케이션을 제공하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  20. 제 19항에 있어서,
    상기 툴 APC 마스터 어플리케이션은, 셧 다운 올(shut down all) 방법, 초기화(initialization) 방법, 로직 매니저 부스트(logic manager boost) 방법, 로드 구성(load configuration) 방법, 로드 상태(load state) 방법, 저장 구성(save configuration) 방법 및 업데이트 GUI 시간(update GUI time) 방법 중 하나 이상을 포함하는 복수의 함수를 수행하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  21. 제 19항에 있어서,
    상기 APC 이벤트 관리 지원 어플리케이션은, 이벤트들에 기초한 방법들을 디스패칭하도록 구성되는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  22. 제 19항에 있어서,
    상기 APC 이벤트 관리 지원 어플리케이션은, 액티브 이벤트(active event) 방법, 파일 레디(file ready) 방법, 알람(alarm) 방법, 로트 엔드(lot end) 방법, 로트 스타트(lot start) 방법, 레시피 엔드(recipe end) 방법, 레시피 스타트(recipe start) 방법, RF 오프(RF off) 방법, RF 온(RF on) 방법, 웨이퍼 인(wafer in) 방법, 및 웨이퍼 아웃(wafer out) 방법 중 하나 이상을 포함하는 복수의 방법을 수행하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  23. 제 19항에 있어서,
    상기 APC 데이터 수집 지원 어플리케이션은, 겟 로트 데이터(get lot data) 함수, 겟 웨이퍼 데이터(get wafer data) 함수, 셋업 센서(setup sensors) 함수, 스타트 센서(start sensors) 함수, 스톱 센서(stop sensors) 함수, 및 로드 디폴트 플랜(load default plans) 함수 중 하나 이상을 포함하는 다수의 방법들을 수행하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  24. 제 19항에 있어서,
    상기 툴 인터페이스 어플리케이션은, 툴 인터페이스, 파일 이송 및 상태(status)를 관리하도록 구성되는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  25. 제 19항에 있어서,
    상기 툴 인터페이스 어플리케이션은, 체인지 이벤트(change event) 방법, 디바이스 실패(device failed) 방법, 디바이스 복원(device recovery) 방법, 액티브 이벤트(active event) 방법, 체크 액티브(check active) 방법, 이벤트 이스패처(event dispatcher) 방법, 이벤트 리시버(event receiver) 방법, 겟 트레이스 데이터(get trace data) 방법, 스타트 에이전트(start agent) 방법, 및 스톱 에이전트(stop agent) 방법 중 하나 이상을 포함하는 복수의 방법들을 수행하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  26. 제 19항에 있어서,
    상기 APC PE 어플리케이션은, 어떤 전략이 러닝될 것인지를 결정하도록 구성되고, 상기 전략은 여하한의 주어진 시간에 활성화되는 한 세트의 플랜들을 지정하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  27. 제 19항에 있어서,
    상기 APC PE 어플리케이션은, 어떤 전략이 러닝될 것인지를 결정하기 위하여, 콘텍스트 정보를 사용하도록 구성되는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  28. 제 1항에 있어서,
    상기 데이터베이스는, 구성요소 테이블, 속성 테이블, 런 속성 테이블, 연관 테이블, 프로세스 런 테이블, 디바이스 런 테이블, 원래의 런 데이터 테이블, 모델 데이터 테이블, 런 요약 테이블, 및 알람 테이블 중 하나 이상을 포함하는 복수의 테이블을 포함하고, 상기 구성요소 테이블은 상기 시스템의 구성요소들을 구성하는데 사용되며, 상기 구성요소 테이블내의 각각의 구성요소는 상기 속성 테이블내의 다중 연관 리코드(multiple associated record)들을 가질 수 있는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  29. 제 28항에 있어서,
    상기 프로세스 런 테이블은, 스타트 타임, 웨이퍼 및 재료 타입을 포함하는 콘텍스트 아이템들을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  30. 제 28항에 있어서,
    상기 디바이스 런 테이블은, 센서에 대한 셋업 및 작동 파라미터들을 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  31. 제 28항에 있어서,
    상기 원래의 런 데이터 테이블은 원래의 관측 데이터를 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  32. 제 28항에 있어서,
    상기 모델 데이터 테이블은, 모델 분석을 위한 입력 및 출력 데이터를 홀딩하기 위한 동적으로 생성된 테이블일 수 있는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  33. 제 28항에 있어서,
    상기 런 요약 테이블은, 런 ID, 런 타입, 값 이름, 시작 단계, 종료 단계, 값 최소, 및 값 최대를 포함하는 런 요약 정보를 포함하는 것을 특징으로 하는 고급 프로세스 제어 시스템.
  34. 반도체 처리 환경에서 처리 툴을 제어하기 위한 고급 프로세스 제어(APC) 시스템을 이용하는 방법에 있어서,
    복수의 APC 관련 어플리케이션들을 제공하는 APC 서버를 제공하는 단계;
    상기 APC 서버에 커플링된 인터페이스 서버(IS)를 제공하는 단계;
    상기 IS 및 APC 서버에 커플링된 데이터베이스를 제공하는 단계; 및
    상기 APC 서버에 커플링된 GUI 구성요소를 제공하는 단계를 포함하여 이루어지고,
    상기 IS는 처리 툴에 커플링하기 위한 수단, 복수의 프로세스 모듈에 커플링하기 위한 수단 및 복수의 센서에 커플링하기 위한 수단을 포함하는 것을 특징으로 하는 방법.
KR1020057005460A 2002-09-30 2003-09-25 반도체 제조 프로세스의 모니터링 및 제어를 위한 방법 및장치 KR101025527B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41442502P 2002-09-30 2002-09-30
US60/414,425 2002-09-30

Publications (2)

Publication Number Publication Date
KR20050061498A true KR20050061498A (ko) 2005-06-22
KR101025527B1 KR101025527B1 (ko) 2011-04-04

Family

ID=32069736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057005460A KR101025527B1 (ko) 2002-09-30 2003-09-25 반도체 제조 프로세스의 모니터링 및 제어를 위한 방법 및장치

Country Status (8)

Country Link
US (1) US7123980B2 (ko)
EP (1) EP1546827A1 (ko)
JP (1) JP4694843B2 (ko)
KR (1) KR101025527B1 (ko)
CN (1) CN100407215C (ko)
AU (1) AU2003270866A1 (ko)
TW (1) TWI233008B (ko)
WO (1) WO2004031875A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388802B1 (ko) * 2007-03-29 2014-04-23 램 리써치 코포레이션 레시피-앤-컴포넌트 제어 모듈 및 그 방법
KR20190026887A (ko) * 2016-07-12 2019-03-13 에이에스엠엘 네델란즈 비.브이. 디자인 레이아웃들의 컴퓨터 분석의 성능 메트릭 시각화

Families Citing this family (180)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785140B2 (en) * 2000-02-01 2017-10-10 Peer Intellectual Property Inc. Multi-protocol multi-client equipment server
US7213478B2 (en) * 2003-02-18 2007-05-08 Tokyo Electron Limited Method for automatic configuration of processing system
US7010374B2 (en) * 2003-03-04 2006-03-07 Hitachi High-Technologies Corporation Method for controlling semiconductor processing apparatus
TWI283817B (en) * 2003-05-30 2007-07-11 Tokyo Electron Ltd Method of operating a process control system and method of operating an advanced process control system
US7228257B1 (en) * 2003-06-13 2007-06-05 Lam Research Corporation Architecture for general purpose programmable semiconductor processing system and methods therefor
DE10342769A1 (de) * 2003-09-16 2005-04-21 Voith Paper Patent Gmbh System zur computergestützten Messung von Qualitäts- und/oder Prozessdaten
US7113890B2 (en) * 2003-10-16 2006-09-26 Abb Inc. Method and apparatus for detecting faults in steam generator system components and other continuous processes
US20070282480A1 (en) 2003-11-10 2007-12-06 Pannese Patrick D Methods and systems for controlling a semiconductor fabrication process
US8639489B2 (en) 2003-11-10 2014-01-28 Brooks Automation, Inc. Methods and systems for controlling a semiconductor fabrication process
US8639365B2 (en) 2003-11-10 2014-01-28 Brooks Automation, Inc. Methods and systems for controlling a semiconductor fabrication process
US7822826B1 (en) 2003-12-30 2010-10-26 Sap Ag Deployment of a web service
EP1706718A2 (en) * 2004-01-14 2006-10-04 ABB Inc. Method and apparatus to diagnose mechanical problems in machinery
US7369913B2 (en) * 2004-04-02 2008-05-06 Siemens Medical Solutions Usa, Inc. Recipe editor and controller
US9219729B2 (en) 2004-05-19 2015-12-22 Philip Drope Multimedia network system with content importation, content exportation, and integrated content management
DE602005022855D1 (de) 2004-05-24 2010-09-23 Panduit Corp Automatisches werkzeug mit datenschnittstelle
US20060004786A1 (en) * 2004-06-07 2006-01-05 Taiwan Semiconductor Manufacturing Company Ltd. Design mechanism for semiconductor fab-wide data warehouse application
WO2006017160A2 (en) * 2004-07-09 2006-02-16 Ade Corporation System and method for searching for patterns of semiconductor wafer features in semiconductor wafer data
US8108470B2 (en) * 2004-07-22 2012-01-31 Taiwan Semiconductor Manufacturing Co., Ltd. Message management system and method
US7153709B1 (en) * 2004-08-31 2006-12-26 Advanced Micro Devices, Inc. Method and apparatus for calibrating degradable components using process state data
JP4384093B2 (ja) * 2004-09-03 2009-12-16 株式会社東芝 プロセス状態管理システム、管理サーバ、プロセス状態管理方法及びプロセス状態管理用プログラム
KR100639676B1 (ko) * 2004-09-21 2006-10-30 삼성전자주식회사 반도체 제조용 포토리소그라피 설비 제어시스템 및 그제어방법
US7254513B2 (en) * 2004-09-22 2007-08-07 Taiwan Semiconductor Manufacturing Co., Ltd. Fault detection and classification (FDC) specification management apparatus and method thereof
US7296103B1 (en) * 2004-10-05 2007-11-13 Advanced Micro Devices, Inc. Method and system for dynamically selecting wafer lots for metrology processing
US7142938B2 (en) * 2004-10-13 2006-11-28 Taiwan Semiconductor Manufacturing Co., Ltd. Manufacturing management system and method
US7242995B1 (en) 2004-10-25 2007-07-10 Rockwell Automation Technologies, Inc. E-manufacturing in semiconductor and microelectronics processes
US8676538B2 (en) * 2004-11-02 2014-03-18 Advanced Micro Devices, Inc. Adjusting weighting of a parameter relating to fault detection based on a detected fault
TWI257538B (en) * 2004-11-26 2006-07-01 Ind Tech Res Inst On-line quality control information system and method
US8145748B2 (en) 2004-12-13 2012-03-27 American Power Conversion Corporation Remote monitoring system
US20060143244A1 (en) * 2004-12-28 2006-06-29 Taiwan Semiconductor Manufacturing Co., Ltd. Semiconductor data archiving management systems and methods
US7248939B1 (en) * 2005-01-13 2007-07-24 Advanced Micro Devices, Inc. Method and apparatus for multivariate fault detection and classification
EP1853982B1 (de) * 2005-02-28 2008-08-20 Siemens Aktiengesellschaft Verfahren zum elektronischen betreiben einer werkzeugmaschine
US7291285B2 (en) * 2005-05-10 2007-11-06 International Business Machines Corporation Method and system for line-dimension control of an etch process
US8078919B2 (en) * 2005-06-14 2011-12-13 Hitachi Global Storage Technologies Netherlands B.V. Method, apparatus and program storage device for managing multiple step processes triggered by a signal
US7457675B2 (en) * 2005-08-15 2008-11-25 Abb Inc. External status asset monitor
US8078671B2 (en) 2005-09-21 2011-12-13 Sap Ag System and method for dynamic web services descriptor generation using templates
US20070067388A1 (en) * 2005-09-21 2007-03-22 Angelov Dimitar V System and method for configuration to web services descriptor
US20070067384A1 (en) * 2005-09-21 2007-03-22 Angelov Dimitar V System and method for web services configuration creation and validation
US7673028B2 (en) 2005-09-28 2010-03-02 Sap Ag Method and system for container-managed configuration and administration
US7200523B1 (en) * 2005-11-30 2007-04-03 Taiwan Semiconductor Manufacturing Company, Ltd. Method and system for filtering statistical process data to enhance process performance
CN100429745C (zh) * 2005-12-08 2008-10-29 北京圆合电子技术有限责任公司 半导体制造设备控制系统及其方法
US7814060B2 (en) * 2005-12-30 2010-10-12 Sap Ag Apparatus and method for web service client deployment
US8010695B2 (en) * 2005-12-30 2011-08-30 Sap Ag Web services archive
US8024425B2 (en) * 2005-12-30 2011-09-20 Sap Ag Web services deployment
KR100668103B1 (ko) * 2006-01-17 2007-01-11 (주)스마트에이시스템 반도체 세정 장비의 모니터링 방법
US8600539B2 (en) * 2006-01-27 2013-12-03 Hitachi Kokusai Electric Inc. Substrate processing apparatus
DE102006004408B4 (de) * 2006-01-31 2010-03-18 Advanced Micro Devices, Inc., Sunnyvale Verfahren und System zum Analysieren von standardmäßigen Anlagennachrichten in einer Fertigungsumgebung
US20070199655A1 (en) * 2006-02-28 2007-08-30 Tokyo Electron Limited Substrate processing apparatus, method for modifying substrate processing conditions and storage medium
JP4874678B2 (ja) * 2006-03-07 2012-02-15 株式会社東芝 半導体製造装置の制御方法、および半導体製造装置の制御システム
JP5114009B2 (ja) * 2006-03-10 2013-01-09 株式会社日立国際電気 基板処理システム、サーバ及びデータ処理方法
US20070238201A1 (en) * 2006-03-28 2007-10-11 Merritt Funk Dynamic metrology sampling with wafer uniformity control
US7502709B2 (en) * 2006-03-28 2009-03-10 Tokyo Electron, Ltd. Dynamic metrology sampling for a dual damascene process
US7567700B2 (en) * 2006-03-28 2009-07-28 Tokyo Electron Limited Dynamic metrology sampling with wafer uniformity control
US8037522B2 (en) * 2006-03-30 2011-10-11 Nokia Corporation Security level establishment under generic bootstrapping architecture
JP5177958B2 (ja) * 2006-03-31 2013-04-10 Hoya株式会社 処理データ管理システム、磁気ディスク製造装置用の処理システム、および、磁気ディスク製造装置のデータ管理方法
SG156651A1 (en) * 2006-04-17 2009-11-26 Chartered Semiconductor Mfg Manufacturing system with active failover
US7813817B2 (en) * 2006-05-19 2010-10-12 Westinghouse Electric Co Llc Computerized procedures system
US7829468B2 (en) * 2006-06-07 2010-11-09 Lam Research Corporation Method and apparatus to detect fault conditions of plasma processing reactor
JP2008078630A (ja) * 2006-08-24 2008-04-03 Hitachi Kokusai Electric Inc 基板処理システム
US7565220B2 (en) 2006-09-28 2009-07-21 Lam Research Corporation Targeted data collection architecture
US7814046B2 (en) * 2006-09-29 2010-10-12 Lam Research Corporation Dynamic component-tracking system and methods therefor
ES2431863T5 (es) 2006-11-03 2017-07-27 Air Products And Chemicals, Inc. Sistema y método para la monitorización de procesos
DE102006061962A1 (de) 2006-11-13 2008-05-15 Abb Technology Ag Echtzeit Prozesshistorien-Server
US7882076B2 (en) * 2006-12-14 2011-02-01 Lam Research Corporation Primary server architectural networking arrangement and methods therefor
GB2449518B (en) * 2007-03-08 2011-08-03 American Power Conv Corp Remote monitoring system
US7531368B2 (en) * 2007-03-30 2009-05-12 Tokyo Electron Limited In-line lithography and etch system
KR101475967B1 (ko) * 2007-03-30 2014-12-23 도쿄엘렉트론가부시키가이샤 인라인 리소그래피 및 에칭 시스템에서의 복수의 웨이퍼 처리 방법 및 웨이퍼 처리 플랫폼
US7813828B2 (en) * 2007-04-02 2010-10-12 Hitachi Kokusai Electric Inc. Substrate processing system and group management system
DE102007037247A1 (de) * 2007-08-07 2009-02-19 Abb Ag System und Verfahren zur Instandhaltungsunterstützung
US7835814B2 (en) * 2007-08-16 2010-11-16 International Business Machines Corporation Tool for reporting the status and drill-down of a control application in an automated manufacturing environment
US7793162B2 (en) * 2007-08-16 2010-09-07 International Business Machines Corporation Method for reporting the status and drill-down of a control application in an automated manufacturing environment
US7805639B2 (en) * 2007-08-16 2010-09-28 International Business Machines Corporation Tool to report the status and drill-down of an application in an automated manufacturing environment
JP5138322B2 (ja) * 2007-09-14 2013-02-06 東京エレクトロン株式会社 処理システムの制御装置、処理システムの制御方法および制御プログラムを記憶した記憶媒体
DE102007046848A1 (de) * 2007-09-29 2009-04-02 Advanced Micro Devices, Inc., Sunnyvale Verfahren und System zum Steuern der Transportsequenzen in einer Prozessanlage mittels eines vorausschauenden Modus
US8825189B2 (en) * 2007-11-13 2014-09-02 Fisher Rosemount Systems, Inc. Methods and apparatus to execute an auxiliary recipe and a batch recipe associated with a process control system
EP2071580A1 (en) * 2007-12-13 2009-06-17 Siemens Aktiengesellschaft Controlling the closing of a plant application
JP4975656B2 (ja) * 2008-02-01 2012-07-11 東京エレクトロン株式会社 情報処理装置、情報処理方法、およびプログラム
JP4550908B2 (ja) * 2008-02-05 2010-09-22 東京エレクトロン株式会社 製造装置、情報処理方法、及びプログラム
JP2009224374A (ja) * 2008-03-13 2009-10-01 Oki Semiconductor Co Ltd Peb装置及びその制御方法
TWI380390B (en) * 2008-04-08 2012-12-21 Inotera Memories Inc Method and system for detecting tool errors to stop a process recipe for a single chamber
JP5294681B2 (ja) * 2008-04-28 2013-09-18 東京エレクトロン株式会社 基板処理装置及びその基板搬送方法
US20090326704A1 (en) * 2008-06-25 2009-12-31 International Business Machines Corporation Processing lots through a cluster tool having multiple processing chambers
US20100063610A1 (en) * 2008-09-08 2010-03-11 David Angell Method of process modules performance matching
JP5200970B2 (ja) * 2009-02-04 2013-06-05 富士ゼロックス株式会社 品質管理システムおよび品質管理装置および品質管理プログラム
US8285414B2 (en) 2009-03-31 2012-10-09 International Business Machines Corporation Method and system for evaluating a machine tool operating characteristics
JP5207310B2 (ja) * 2009-04-08 2013-06-12 株式会社日立製作所 プラント監視制御システム用の制御装置
US8295966B2 (en) * 2009-06-30 2012-10-23 Lam Research Corporation Methods and apparatus to predict etch rate uniformity for qualification of a plasma chamber
CN102804929B (zh) * 2009-06-30 2015-11-25 朗姆研究公司 用于处理室的预测性预防性维护的方法和装置
US8538572B2 (en) * 2009-06-30 2013-09-17 Lam Research Corporation Methods for constructing an optimal endpoint algorithm
US8618807B2 (en) * 2009-06-30 2013-12-31 Lam Research Corporation Arrangement for identifying uncontrolled events at the process module level and methods thereof
US8983631B2 (en) * 2009-06-30 2015-03-17 Lam Research Corporation Arrangement for identifying uncontrolled events at the process module level and methods thereof
US8271121B2 (en) * 2009-06-30 2012-09-18 Lam Research Corporation Methods and arrangements for in-situ process monitoring and control for plasma processing tools
US8655472B2 (en) * 2010-01-12 2014-02-18 Ebara Corporation Scheduler, substrate processing apparatus, and method of transferring substrates in substrate processing apparatus
EP2365410B1 (en) * 2010-03-09 2018-06-27 Siemens Aktiengesellschaft Controlling a manufacturing process
JP5381831B2 (ja) * 2010-03-16 2014-01-08 東京エレクトロン株式会社 半導体製造システム
US20110282866A1 (en) * 2010-05-17 2011-11-17 Invensys Systems, Inc. System And Method For Retrieving And Processing Information From A Supervisory Control Manufacturing/Production Database
EP2390743A1 (de) * 2010-05-31 2011-11-30 Siemens Aktiengesellschaft Verfahren zur Überwachung des Ablaufs eines Steuerrezeptes eines Chargenprozesses
US9052709B2 (en) * 2010-07-30 2015-06-09 Kla-Tencor Corporation Method and system for providing process tool correctables
EP2622483A4 (en) * 2010-09-28 2014-06-04 Siemens Ag ADAPTIVE REMOTE CONTROL OF ROLLING EQUIPMENT
TW201234464A (en) * 2011-02-14 2012-08-16 Horng Terng Automation Co Ltd Breaking point height detection method of wafer breaking
TWI448927B (zh) 2011-06-24 2014-08-11 Ind Tech Res Inst 具相對位置認知之控制系統及控制方法
US10295993B2 (en) * 2011-09-01 2019-05-21 Kla-Tencor Corporation Method and system for detecting and correcting problematic advanced process control parameters
TW201316425A (zh) * 2011-10-12 2013-04-16 Horng Terng Automation Co Ltd 晶圓劈裂檢知方法
US9594367B2 (en) * 2011-10-31 2017-03-14 Rockwell Automation Technologies, Inc. Systems and methods for process control including process-initiated workflow
US9250619B2 (en) 2011-12-06 2016-02-02 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods of automatic boundary control for semiconductor processes
CN103199036B (zh) * 2012-01-06 2015-09-09 沈阳新松机器人自动化股份有限公司 集成调度系统的efem及其调度方法
JP5992706B2 (ja) * 2012-03-26 2016-09-14 東京エレクトロン株式会社 半導体製造装置の障害監視システム及び障害監視方法
US9229446B2 (en) * 2012-05-08 2016-01-05 International Business Machines Corporation Production line quality processes
US9740182B2 (en) 2012-06-08 2017-08-22 Applied Materials, Inc. Integrated controller solution for monitoring and controlling manufacturing equipment
KR101512950B1 (ko) * 2012-06-26 2015-04-16 도시바 미쓰비시덴키 산교시스템 가부시키가이샤 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램이 기록된 기록매체
US20140006338A1 (en) * 2012-06-29 2014-01-02 Applied Materials, Inc. Big data analytics system
JP5783975B2 (ja) * 2012-08-29 2015-09-24 株式会社東芝 半導体製造処理システムおよび方法
US8990375B2 (en) * 2012-08-31 2015-03-24 Facebook, Inc. Subscription groups in publish-subscribe system
US9727045B2 (en) 2012-12-31 2017-08-08 Sunedison Semiconductor Limited (Uen201334164H) Method and system for a meta-recipe control software architecture
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
US9558220B2 (en) 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US9665088B2 (en) 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US9804588B2 (en) 2014-03-14 2017-10-31 Fisher-Rosemount Systems, Inc. Determining associations and alignments of process elements and measurements in a process
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US9823626B2 (en) 2014-10-06 2017-11-21 Fisher-Rosemount Systems, Inc. Regional big data in process control systems
US9397836B2 (en) 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US10282676B2 (en) 2014-10-06 2019-05-07 Fisher-Rosemount Systems, Inc. Automatic signal processing-based learning in a process plant
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US9541905B2 (en) 2013-03-15 2017-01-10 Fisher-Rosemount Systems, Inc. Context sensitive mobile control in a process plant
CN105051760B (zh) 2013-03-15 2018-03-02 费希尔-罗斯蒙特系统公司 数据建模工作室
US10132309B2 (en) * 2013-03-15 2018-11-20 Integrated Designs, L.P. Apparatus and method for the remote monitoring, viewing and control of a semiconductor process tool
KR101821032B1 (ko) * 2013-05-17 2018-01-22 미쓰비시덴키 가부시키가이샤 프로그래머블 컨트롤러와 그 주변 장치, 및 프로그래머블 컨트롤러의 테이블 데이터 액세스 프로그램
US10642255B2 (en) * 2013-08-30 2020-05-05 Taiwan Semiconductor Manufacturing Company, Ltd. Component control in semiconductor performance processing with stable product offsets
US10168691B2 (en) 2014-10-06 2019-01-01 Fisher-Rosemount Systems, Inc. Data pipeline for process control system analytics
US20190354096A1 (en) * 2014-11-18 2019-11-21 Machinesense, Llc System for rule management, predictive maintenance and quality assurance of a process and machine using reconfigurable sensor networks and big data machine learning
US11042128B2 (en) * 2015-03-18 2021-06-22 Accenture Global Services Limited Method and system for predicting equipment failure
US9971478B2 (en) 2015-04-10 2018-05-15 Asml Netherlands B.V. Method and apparatus for inspection and metrology
DE102015214054A1 (de) 2015-07-24 2017-01-26 Siemens Aktiengesellschaft Verfahren zum Betreiben einer Automatisierungskomponente
WO2017127042A1 (en) * 2015-12-08 2017-07-27 Sight Machine, Inc. System and method for monitoring manufacturing
US10325792B2 (en) 2015-12-17 2019-06-18 Applied Materials, Inc. Methods and apparatus for interactively and dynamically updating a schematic overlay
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
CN107203196B (zh) * 2016-03-17 2021-03-02 深圳智造谷工业互联网创新中心有限公司 工业设备检测系统及方法
US10901407B2 (en) * 2016-05-31 2021-01-26 Applied Materials, Inc. Semiconductor device search and classification
US11061795B2 (en) * 2016-08-22 2021-07-13 Optimal Plus Ltd. Methods of smart pairing
JP6476370B2 (ja) * 2016-09-26 2019-03-06 株式会社Kokusai Electric 記録媒体、プログラム、半導体装置の製造方法および基板処理装置。
US10768076B1 (en) 2016-09-30 2020-09-08 Sight Machine, Inc. System and method for monitoring manufacturing
JP2018067626A (ja) * 2016-10-19 2018-04-26 東京エレクトロン株式会社 半導体システム及びデータ編集支援方法
US10606253B2 (en) * 2017-02-08 2020-03-31 United Microelectronics Corp. Method of monitoring processing system for processing substrate
US11068478B2 (en) 2017-03-15 2021-07-20 Optimal Plus Ltd. Augmenting reliability models for manufactured products
US11675347B2 (en) 2017-06-01 2023-06-13 LeClaire Manufacturing Company Industrial machine monitoring device
EP3415988A1 (en) * 2017-06-14 2018-12-19 ASML Netherlands B.V. Device manufacturing methods
TWI670952B (zh) * 2017-08-14 2019-09-01 艾普仕股份有限公司 網路切換控制系統
US10389659B2 (en) * 2017-09-27 2019-08-20 Lam Research Corporation Universal multiprotocol industrial data logger
CN108181891B (zh) * 2017-12-13 2020-05-05 东北大学 基于智能核主元分析的工业大数据故障诊断方法
TWI647553B (zh) * 2018-01-19 2019-01-11 上銀科技股份有限公司 Multi-machine synchronous cooperative control method and system
US11610273B2 (en) 2018-04-26 2023-03-21 InfinityQS International, Inc. Enterprise-wide process stream analysis and grading engine with interactive user interface method, system, and computer program product
CN108375390A (zh) * 2018-04-28 2018-08-07 深圳远征技术有限公司 可配置数据集中采集方法、装置及设备
US10896833B2 (en) * 2018-05-09 2021-01-19 Applied Materials, Inc. Methods and apparatus for detecting an endpoint of a seasoning process
US10867823B2 (en) 2018-05-29 2020-12-15 Taiwan Semiconductor Manufacturing Co., Ltd. Fault detection method in semiconductor fabrication
US10698392B2 (en) * 2018-06-22 2020-06-30 Applied Materials, Inc. Using graphics processing unit for substrate routing and throughput modeling
JP6851348B2 (ja) * 2018-08-15 2021-03-31 日本電子株式会社 真空装置及び復旧支援方法
WO2020055555A1 (en) * 2018-09-12 2020-03-19 Applied Materials, Inc. Deep auto-encoder for equipment health monitoring and fault detection in semiconductor and display process equipment tools
KR102268279B1 (ko) * 2018-10-18 2021-06-22 세메스 주식회사 기판 처리 장치, 이의 제어 방법 및 기억 매체
EP3654103A1 (en) * 2018-11-14 2020-05-20 ASML Netherlands B.V. Method for obtaining training data for training a model of a semicondcutor manufacturing process
EP3657281B1 (en) * 2018-11-26 2022-11-30 ASML Netherlands B.V. Control strategy evaluation tool for a semiconductor manufacturing process and its user interface
US20200174444A1 (en) * 2018-11-30 2020-06-04 Lear Corporation Assembly line tool test carrier and method of using
DE102019209110A1 (de) * 2019-06-24 2020-12-24 Sms Group Gmbh Industrielle Anlage, insbesondere Anlage der metallerzeugenden Industrie oder der Aluminium- oder Stahlindustrie und Verfahren zum Betreiben einer industriellen Anlage, insbesondere einer Anlage der metallerzeugenden Industrie oder der Aluminium- oder Stahlindustrie
US11856706B2 (en) * 2019-12-03 2023-12-26 Applied Materials, Inc. Method and system for improving the operation of semiconductor processing
CN115039040A (zh) * 2020-02-21 2022-09-09 纳米电子成像有限公司 制造过程的系统、方法和介质
US11302545B2 (en) * 2020-03-20 2022-04-12 Nanya Technology Corporation System and method for controlling semiconductor manufacturing equipment
US11675340B2 (en) * 2020-04-08 2023-06-13 Nanya Technology Corporation System and method for controlling semiconductor manufacturing apparatus
USD977504S1 (en) 2020-07-22 2023-02-07 Applied Materials, Inc. Portion of a display panel with a graphical user interface
US11688616B2 (en) * 2020-07-22 2023-06-27 Applied Materials, Inc. Integrated substrate measurement system to improve manufacturing process performance
US11687439B2 (en) * 2020-07-23 2023-06-27 Pdf Solutions, Inc. Automatic window generation for process trace
KR20230104540A (ko) * 2020-11-12 2023-07-10 램 리써치 코포레이션 반도체 제작 장비를 위한 예측 유지 보수
US11483412B2 (en) * 2020-12-30 2022-10-25 Blackberry Limited Method for marshalling events in a publish-subscribe system
CN114609980A (zh) * 2021-05-13 2022-06-10 苏州蓝桥智能科技有限公司 一种生物医药生产环境管理系统
CN115599620A (zh) * 2021-06-28 2023-01-13 深圳富桂精密工业有限公司(Cn) 监控告警方法及终端设备
US11874649B2 (en) 2021-11-09 2024-01-16 Applied Materials, Inc. Methods and systems for cleaning process sequence management
CN114218197A (zh) * 2021-12-17 2022-03-22 上海繁易信息科技股份有限公司 基于面向对象的工业物联网数据建模方法与系统
US20230298872A1 (en) * 2022-03-16 2023-09-21 Applied Materials, Inc. Process characterization and correction using optical wall process sensor (owps)
CN115951893B (zh) * 2022-12-02 2024-02-23 深圳微迅信息科技有限公司 一种半导体加工脚本获取方法、系统、设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864773A (en) * 1995-11-03 1999-01-26 Texas Instruments Incorporated Virtual sensor based monitoring and fault detection/classification system and method for semiconductor processing equipment
US6088689A (en) * 1995-11-29 2000-07-11 Hynomics Corporation Multiple-agent hybrid control architecture for intelligent real-time control of distributed nonlinear processes
US6263255B1 (en) * 1998-05-18 2001-07-17 Advanced Micro Devices, Inc. Advanced process control for semiconductor manufacturing
JP3998372B2 (ja) * 1999-06-30 2007-10-24 株式会社東芝 半導体処理工程制御システム、半導体処理工程制御方法、及び、そのための処理を記録した記録媒体
US6571285B1 (en) * 1999-12-23 2003-05-27 Accenture Llp Providing an integrated service assurance environment for a network
US6480854B1 (en) * 2000-03-27 2002-11-12 Advanced Micro Devices, Inc. Method and apparatus for increasing database availability
US6725402B1 (en) * 2000-07-31 2004-04-20 Advanced Micro Devices, Inc. Method and apparatus for fault detection of a processing tool and control thereof using an advanced process control (APC) framework
US6819963B2 (en) * 2000-12-06 2004-11-16 Advanced Micro Devices, Inc. Run-to-run control method for proportional-integral-derivative (PID) controller tuning for rapid thermal processing (RTP)
US20020087229A1 (en) * 2001-01-02 2002-07-04 Pasadyn Alexander J. Use of endpoint system to match individual processing stations wirhin a tool
US6801817B1 (en) * 2001-02-20 2004-10-05 Advanced Micro Devices, Inc. Method and apparatus for integrating multiple process controllers
US7019543B2 (en) * 2001-03-16 2006-03-28 Tokyo Electron Limited Impedance monitoring system and method
KR20020081767A (ko) 2001-04-19 2002-10-30 (주) 젠터닷컴 Epg 기반의 데이터 방송 시스템 및 방법과 그 프로그램소스를 저장한 기록매체
US6630362B1 (en) * 2001-06-13 2003-10-07 Advanced Micro Devices, Inc. Method and apparatus for performing trench depth analysis
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
US6674459B2 (en) * 2001-10-24 2004-01-06 Microsoft Corporation Network conference recording system and method including post-conference processing
US6842660B2 (en) * 2001-10-31 2005-01-11 Brooks Automation, Inc. Device and method for communicating data in a process control system
TWI233141B (en) * 2001-12-26 2005-05-21 Nat Science Council Method of equipment management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388802B1 (ko) * 2007-03-29 2014-04-23 램 리써치 코포레이션 레시피-앤-컴포넌트 제어 모듈 및 그 방법
KR20190026887A (ko) * 2016-07-12 2019-03-13 에이에스엠엘 네델란즈 비.브이. 디자인 레이아웃들의 컴퓨터 분석의 성능 메트릭 시각화
US10896282B2 (en) 2016-07-12 2021-01-19 Asml Netherlands B.V. Visualization performance metrics of computational analyses of design layouts

Also Published As

Publication number Publication date
JP4694843B2 (ja) 2011-06-08
JP2006501680A (ja) 2006-01-12
TW200415453A (en) 2004-08-16
AU2003270866A1 (en) 2004-04-23
WO2004031875A1 (en) 2004-04-15
TWI233008B (en) 2005-05-21
CN1682165A (zh) 2005-10-12
US20050187649A1 (en) 2005-08-25
CN100407215C (zh) 2008-07-30
US7123980B2 (en) 2006-10-17
EP1546827A1 (en) 2005-06-29
KR101025527B1 (ko) 2011-04-04

Similar Documents

Publication Publication Date Title
KR101025527B1 (ko) 반도체 제조 프로세스의 모니터링 및 제어를 위한 방법 및장치
US7113838B2 (en) Method and apparatus for monitoring tool performance
US7636608B2 (en) Method for dynamic sensor configuration and runtime execution
KR100873114B1 (ko) 자동 센서 설치 방법 및 장치
US7395131B2 (en) Method for processing data based on the data context
KR101030104B1 (ko) 데이터 선이식을 위한 방법
KR100970684B1 (ko) 동적 센서 구성 및 런타임 실행 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180302

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190305

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 10