KR20070070165A - 가상 모듈들을 사용하는 반도체 프로세싱 방법 - Google Patents

가상 모듈들을 사용하는 반도체 프로세싱 방법 Download PDF

Info

Publication number
KR20070070165A
KR20070070165A KR1020077006951A KR20077006951A KR20070070165A KR 20070070165 A KR20070070165 A KR 20070070165A KR 1020077006951 A KR1020077006951 A KR 1020077006951A KR 20077006951 A KR20077006951 A KR 20077006951A KR 20070070165 A KR20070070165 A KR 20070070165A
Authority
KR
South Korea
Prior art keywords
module
wafer
processing system
process sequence
data
Prior art date
Application number
KR1020077006951A
Other languages
English (en)
Other versions
KR101200657B1 (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 KR20070070165A publication Critical patent/KR20070070165A/ko
Application granted granted Critical
Publication of KR101200657B1 publication Critical patent/KR101200657B1/ko

Links

Images

Classifications

    • 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
    • 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] or computer integrated manufacturing [CIM]
    • 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
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Factory Administration (AREA)
  • Drying Of Semiconductors (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Bipolar Transistors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)

Abstract

본 발명은 반도체 프로세싱 시스템을 제어하는 것에 관한 것이다. 다른 것들 중에서도, 본 발명은 가상 모듈들을 생성하여, 반도체 웨이퍼의 프로세싱 동안 다중-챔버 도구에 의해 수행되는 다중-통과 프로세스를 제어하는 R2R(run-to-run) 컨트롤러에 관한 것이다.
반도체 프로세싱 시스템, 반도체 웨이퍼, 다중-통과 프로세스, 가상 모듈, R2R 컨트롤러

Description

가상 모듈들을 사용하는 반도체 프로세싱 방법 {SEMICONDUCTOR PROCESSING METHOD USING VIRTUAL MODULES}
이 PCT 출원은, 전체 내용들이 여기에 참고 문헌으로써 포함되어 있는, 2004년 8월 27일에 출원된, 미국 정규 특허출원(Non-Provisional) 제 10/927,514호에 기초하고, 그에 대한 우선권을 주장한다.
본 발명은 반도체 웨이퍼 프로세싱을 위한 측정 모듈들 및 프로세스 모듈들을 통합하는 것에 관한 것이다. 좀더 구체적으로, 본 발명은 가상 모듈들을 생성하여 반도체 웨이퍼의 프로세싱 동안 다중-챔버 도구(multi-chamber tool)에 의해 수행되는 다중-통과(multi-pass) 프로세스를 제어하는 컨트롤러에 관한 것이다.
반도체 산업에서 사용되는 프로세싱 도구들은 다수의 연관된 프로세스 모듈들을 가진 복잡한 프로세싱 시스템들로 개발되어 왔다. 이러한 개발 트렌드에 적어도 부분적으로 기인해, 도구 제어 시스템들(tool control systems)과 공장 제어 시스템들(factory control systems) 사이의 경계선이 점차 불분명해지고 있다. 공장 시스템으로 인해, 도구 제어 시스템은 프로세스 시퀀스의 특정 세그먼트들을 제어할 수 있다. 이것이 프로세스 시퀀스의 세그먼트들에 대한 로트 대 로트(lot-to-lot) 기반 또는 심지어 웨이퍼-대-웨이퍼 기반의 맞춤형 제어 및 최적화를 위한 새로운 기회들을 창출할 수도 있지만, 새로운 어려움들도 창출될 수 있다. 공장 제어 시스템이 웨이퍼들에 대한 제어를 도구 플랫폼에 양도한다면, 공장 제어 시스템은 웨이퍼들에서 실제로 발생하고 있는 것에 대한 직접적인 지식도 동일한 플랫폼에 양도해야 한다. 그 결과, 도구 플랫폼과 공장 제어 시스템의 통합을 위해서는 새로운 아키텍처가 생성되어야 한다. 새로운 아키텍처는, 레시피들(recipes), 측정된 데이터, 이벤트들, 예외들 등을 포함하는, 웨이퍼들에서 발생한 것들을 보고할 것을 도구 플랫폼에 요구할 것이다. 새로운 아키텍처는, 프로세스 제한들, 허용 가능한 조건들, 및 예외들에 대한 요구되는 반응을 포함하는, 도구 플랫폼에 의해 준수될 프레임워크를 설정할 것을 공장 시스템에 요구해야 한다.
또한, 다중-모듈 도구들은 SEMI(Semiconductor Equipment and Materials International) 표준들을 준수하는 공장 시스템들과 인터페이싱해야 한다.
공장 시스템으로 보고되어야 하는, 특정 모듈에서 수행되는 다수 이벤트들로부터의 데이터는, 웨이퍼의 동일한 모듈로의 후속 방문시에, 도구 플랫폼의 컨트롤러에 의해 또는 공장 시스템 컨트롤러들에 의해 기입될 수 있다. 이러한 정렬의 한가지 제한은, 물리적 모듈(physical module)이 한번 이상 사용되기 때문에, 레시피들이 물리적 모듈과 연관될 수 없다는 것이다. 더 나아가, 물리적 모듈이 상이한 동작들을 수행할 수도 있다.
이 문제를 해결하기 위한 한가지 방법은, 공장 및 도구 정보 시스템들이 다중-챔버 프로세스 도구의 동일한 모듈로의 다수 통과들을 다루는 방법을 찾아내는 것이다. 또한, 각각의 웨이퍼를 위해 상이할 수도 있는 라우팅을 확립하는 (웨이 퍼 샘플링) 문제 및/또는 (이 역시 웨이퍼 샘플링을 포함하는) 도구에 의해 판정되는 동적 라우팅을 확립하는 문제를 가진 다중-챔버 시스템의 경우, 2차 해결책이 요구된다. 특히, 각각의 모듈이 웨이퍼들을 상이하게 샘플링할 수 있을 때, 웨이퍼들이 물리적 모듈을 한번 이상 통과할 수 있을 때, 그리고 도구가 시퀀스 또는 샘플링을 변경할 수 있을 때, 기능할 수 있는 정보 시스템들의 아키텍처를 위한 수요가 발달되어 왔다.
반도체 프로세싱의 경우, 피드포워드 컨트롤러들(feedforward controllers)이 fab들(fabrication of semiconductor integrated circuits by semiconductor manufacturing facilities)에서 사용될 수도 있다는 것이 널리 확립되어 있다. 최근까지, 웨이퍼들은 배치(batch) 또는 로트(lot)로서 취급되었고 로트의 웨이퍼들 각각에 대해 동일한 프로세싱이 수행되었다. 로트의 사이즈는 fab의 제조 관행들에 따라 달라지지만, 통상적으로 최대 25개 웨이퍼들로 제한된다. 로트의 수개 웨이퍼들에 대해 관례대로 측정들이 수행되었고, 이러한 샘플 측정들에 기초해 프로세싱에 대한 조정들이 수행되었다. 현재의 로트에 대한 샘플 측정들 및 계속되는 로트들을 위한 프로세스 레시피 조정들에 기초하는 이 제어 방법을 L2L(lot-to-lot) 제어라고 한다. L2L 제어를 위한 프로세스 레시피들을 변경하는데 필요한 프로세스 모델들 및 정보는 저장되었고 계산들은 fab 레벨에서 수행되었다. 최근에, SPE(semiconductor processing equipment) 제조자들은, 프로세싱이 수행되는 직전 및 직후에 각각의 웨이퍼를 측정할 수 있는 능력을 포함시켜 왔다. 프로세싱 도구의 웨이퍼 각각을 측정하는 능력을 IM(integrated metrology)이라 한다. 다음에, IM은 W2W(wafer-to-wafer) 레벨에서 프로세스 레시피를 측정하고 조정할 수 있는 능력을 가능하게 하였다. 웨이퍼의 수집된 많은 양의 데이터 및 웨이퍼의 측정들과 후속 프로세싱 사이의 짧은 시간 때문에, fab 레벨이 아니라 도구 레벨에서 W2W 제어를 수행할 수 있는 능력을 제공할 수 있어야 한다.
본 발명의 일 실시예는 호스트 시스템 및 프로세싱 시스템을 포함하는 반도체 프로세싱 시스템에서의 프로세싱 시스템 컨트롤러 조작 방법을 제공한다. 본 방법은 SVMP(static virtual module plan)를 수신하는 단계를 포함하는데, 여기에서, SVMP는 적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과 및, N개의 프로세스 오브젝트들을 구비하는, 적어도 하나의 웨이퍼를 위한 프로세스 시퀀스를 포함한다. 제 1 갯수(Nact)의 프로세스 오브젝트들은 물리적 모듈(PM;physical module) 오브젝트들을 구비하고, 제 2 갯수(Nnon)의 프로세스 오브젝트들은 가상 모듈(VM;virtual module) 오브젝트들을 구비한다. PM 오브젝트는 물리적 모듈로의 웨이퍼에 의한 방문(visit)과 연관될 수 있는 한편, VM 오브젝트는 물리적 모듈로의 웨이퍼에 의한 비방문(non-visit)과 연관될 수 있다. 본 방법은 프로세스 시퀀스를 실행하는 단계, 프로세스 시퀀스의 PM 오브젝트가 실행될 때, PM 데이터를 수집하는 단계, 및 프로세스 시퀀스의 VM 오브젝트가 실행될 때, VM 데이터를 수집하는 단계도 포함한다.
다른 실시예는, 호스트 시스템 및 프로세싱 시스템을 포함하는 반도체 프로세싱 시스템에서의 호스트 컨트롤러 조작 방법을 제공한다. 본 방법은 SVMP(static virtual module plan)를 생성하는 단계를 포함하는데, 여기에서, SVMP는 적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과 및, N개의 프로세스 오브젝트들을 포함하는, 적어도 하나의 웨이퍼를 위한 프로세스 시퀀스를 구비한다. 제 1 갯수(Nact)의 프로세스 오브젝트들은 PM 오브젝트들을 구비하고, 제 2 갯수(Nnon)의 프로세스 오브젝트들은 VM 오브젝트들을 구비한다. PM 오브젝트는 물리적 모듈로의 웨이퍼에 의한 방문과 연관될 수 있는 한편, VM 오브젝트는 물리적 모듈로의 웨이퍼에 의한 비방문과 연관될 수 있다. 본 방법은 SVMP를 프로세싱 시스템으로 송신하는 단계도 포함할 수 있다.
다른 실시예는 호스트 시스템 및 프로세싱 시스템을 포함하는 반도체 프로세싱 시스템에서 프로세싱 시스템 컨트롤러를 조작하는 다른 방법을 제공한다. 본 방법은 호스트 시스템으로부터 적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과를 수신하는 단계 및 적어도 하나의 웨이퍼를 위한 프로세스 시퀀스를 구비하는 DVMP(dynamic virtual module plan)를 생성하는 단계로서, 프로세스 시퀀스는 적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과를 실현하도록 생성되는, 단계를 포함한다. 프로세스 시퀀스는 N개의 프로세스 오브젝트들을 포함할 수 있다. 제 1 갯수(Nact)의 프로세스 오브젝트들은 PM 오브젝트들을 구비하고, 제 2 갯수(Nnon)의 프로세스 오브젝트들은 VM 오브젝트들을 구비한다. PM 오브젝트는 물리적 모듈로의 웨이퍼에 의한 방문과 연관될 수 있는 한편, VM 오브젝트는 물리적 모듈로의 웨이퍼에 의한 비방문과 연관될 수 있다. 본 방법은 호스트 시스템으로 DVMP를 송신하는 단계도 포함한다.
다른 실시예는 호스트 시스템 및 프로세싱 시스템을 포함하는 반도체 프로세싱 시스템에서 호스트 컨트롤러를 조작하는 다른 방법을 제공한다. 본 방법은, 호스트 시스템에 의해, 프로세싱 시스템으로부터 DVMP(dynamic virtual module plan)를 수신하는 단계를 포함한다. DVMP는, 적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과를 실현하도록 생성되는, 적어도 하나의 웨이퍼를 위한 프로세스 시퀀스를 포함할 수 있다. 프로세스 시퀀스는 N개의 프로세스 오브젝트들을 구비할 수 있는데, 여기에서, Nact개의 프로세스 오브젝트들은 PM 오브젝트들을 구비하고, Nnon개의 프로세스 오브젝트들은 VM 오브젝트들을 구비한다. PM 오브젝트는 물리적 모듈로의 적어도 하나의 웨이퍼에 의한 방문과 연관될 수 있는 한편, VM 오브젝트는 물리적 모듈로의 적어도 하나의 웨이퍼에 의한 비방문과 연관될 수 있다. 본 방법은 DVMP를 실행하는 단계도 포함할 수 있다.
본 발명의 다른 태양들은, 수반되는 설명으로부터 그리고 여기에 첨부되어 있는 도면들로부터 명백할 것이다. 본 발명의 범위는 설명된 태양들 또는 논의된 실시예들로만 제한되지 않으며, 그것에 관한 모든 등가물들로 확장된다.
다음의 상세한 설명을 참조하면, 특히 첨부 도면들과 함께 고려될 때, 본 발명의 다양한 실시예들 및 그것에 관한 수반되는 이점들 중 다수에 대한 좀더 완전 한 이해가 매우 쉽게 명백해질 것이다.
도 1은 본 발명의 실시예에 따른 프로세싱 시스템의 예시적인 블록도를 나타낸다.
도 2는 본 발명의 실시예에 따른 공장 통합 구성의 간략화된 블록도를 나타낸다.
도 3은 본 발명의 실시예에 따른 통합된 프로세싱 시스템의 간략화된 블록도를 나타낸다.
도 4는 본 발명의 실시예에 따른 통합된 측정 프로세스를 위한 간략화된 흐름도를 나타낸다.
도 5는 본 발명의 실시예에 따른 다중-단계 프로세스 시퀀스의 간략화된 흐름도를 나타낸다.
도 6은 본 발명의 실시예에 따른 제어 프로세스의 간략화된 블록도를 나타낸다.
도 7은 본 발명의 실시예에 따른 물리적 모듈들을 위한 예시적 관계도를 나타낸다.
도 8은, 본 발명의 실시예에 따른, 프로세싱 시스템 컨트롤러를 조작하는 방법을 위한 흐름도를 나타낸다.
도 9는, 본 발명의 다른 실시예에 따른, 호스트 시스템 컨트롤러를 조작하는 방법을 위한 흐름도를 나타낸다.
도 10은, 본 발명의 다른 실시예에 따른, 프로세싱 시스템 컨트롤러를 조작 하는 방법을 위한 흐름도를 나타낸다.
도 11은, 본 발명의 다른 실시예에 따른, 호스트 시스템 컨트롤러를 조작하는 방법을 위한 흐름도를 나타낸다.
도 12는 본 발명의 실시예에 따른 VM Control Strategy 스크린의 예시적 화면을 예시한다.
도 13은 본 발명의 실시예에 따른 VM Control Plan 스크린의 예시적 화면을 예시한다.
도 1은 본 발명의 실시예에 따른 프로세싱 시스템의 예시적 블록도를 나타낸다. 예시된 실시예에서, 프로세싱 시스템(100)은 프로세싱 도구(110), 프로세싱 도구(110)에 커플링되어 있는 컨트롤러(120), 및 컨트롤러(120)에 그리고 프로세싱 도구(110)에 커플링되어 있는 MES(manufacturing equipment system;130)를 구비한다. 또한, 프로세싱 도구(110), 컨트롤러(120), 및 MES(130) 중 하나 이상은 (도시되어 있지 않은) GUI(Graphical User Interface) 컴포넌트 및/또는 데이터베이스 컴포넌트를 구비할 수 있다. 다른 실시예들에서는, GUI 컴포넌트 및/또는 데이터베이스 컴포넌트가 요구되지 않는다.
프로세싱 도구(110) 및/또는 컨트롤러(120)에 의해 공장 시스템(130)으로부터 일부의 설정 및/또는 구성 정보가 획득될 수 있다. 공장 레벨의 비지니스 규칙들이 제어 계층 구조를 확립하는데 사용될 수 있다. 예를 들어, 프로세싱 도구(110) 및/또는 컨트롤러(120)는 독립적으로 동작할 수 있거나, 어느 정도까지는 공장 시스템(130)에 의해 제어될 수 있다. 또한, 공장 레벨의 비지니스 규칙들은 프로세스가 일시 중단 및/또는 중단되는 때를 그리고 프로세스가 일시 중단 및/또는 중단되었다고 판정하는 것에 응답하여 수행되는 것을 판정하는데도 사용될 수 있다. 또한, 공장 레벨의 비지니스 규칙들은 프로세스를 변경할 때 뿐만 아니라 프로세스를 변경하는 방법을 판정하는데도 사용될 수 있다.
비지니스 규칙들은 정규 프로세싱을 위해 취해지는 액션 및 예외적인 조건들에 대해 취해지는 액션들을 특정하는데도 사용될 수 있다. 액션들은 (a) 초기 모델 로딩(loading); (b) 프리-에칭(pre-etch) 측정 데이터(metrology data) 필터링; (c) 컨트롤러 레시피 선택; (d) 포스트 에칭(post-etch) 측정 데이터 필터링; (e) 피드백 계산; 및 (f) 모델 업데이트를 포함할 수 있다.
비지니스 규칙들은 제어 전략 레벨, 제어 계획 레벨, 또는 제어 모델 레벨에서 정의될 수 있다. 비지니스 규칙들은, 특정 문맥에 맞닥뜨릴 때마다, 실행을 위해 할당될 수 있다. 높은 레벨에서 뿐만 아니라 낮은 레벨에서도 매칭 문맥에 맞닥뜨릴 경우에는, 높은 레벨과 연관된 비지니스 규칙들이 실행될 수 있다. GUI 스크린들은 비지니스 규칙들을 정의하거나 보유하는데 사용될 수 있다. 보통의 보안 레벨보다 높은 보안 레벨을 가진 사용자들에게는 비지니스 규칙의 정의 및 할당이 허용될 수 있다. 비지니스 규칙들은 데이터베이스에 보유될 수 있다. 비지니스 규칙들을 정의하고, 할당하고, 보유하는 방법에 대한 문서화 및 도움말 스크린들이 제공될 수 있다.
MES(130)는, 프로세싱 도구(110) 및/또는 컨트롤러(120)와 연관된 데이터베 이스들로부터 보고된 데이터를 사용해, 일부 시스템 프로세스들을 모니터링할 수 있다. 공장 레벨 비지니스 규칙들은, 어떤 프로세스들이 모니터링되고 어떤 데이터가 사용되는지를 판정하는데 사용될 수 있다. 예를 들어, 프로세싱 도구(110) 및/또는 컨트롤러(120)가 데이터를 독립적으로 수집할 수 있거나 데이터 수집 프로세스가 어느 정도까지는 공장 시스템(130)에 의해 제어될 수 있다. 또한, 공장 레벨 비지니스 규칙들은, 프로세스가 변경, 일시 중단, 및/또는 중단되는 경우, 데이터를 관리하는 방법을 판정하는데도 사용될 수 있다.
또한, MES(130)는 프로세싱 도구(110) 및/또는 컨트롤러(120)에 런타임 구성 정보(run-time configuration information)를 제공할 수 있다. 예를 들어, APC(automated process control) 설정들, 타깃들(targets), 제한들, 규칙들, 및 알고리즘들이 공장으로부터 프로세싱 도구(110) 및/또는 컨트롤러(120)로 런타임시의 "APC 레시피", "APC 시스템 규칙", 및 "APC 레시피 파라미터들"로서 다운로드될 수 있다.
일부 설정 및/또는 구성 정보는, 그들이 시스템(100)에 의해 처음으로 구성될 때, 프로세싱 도구(110) 및/또는 컨트롤러(120)에 의해 판정될 수 있다. 시스템 레벨 비지니스 규칙들(시스템 규칙들)은 제어 계층 구조를 확립하는데 사용될 수 있다. 예를 들어, 프로세싱 도구(110) 및/또는 컨트롤러(120)는 독립적으로 동작할 수 있거나 프로세싱 도구(110)가 어느 정도까지는 컨트롤러(120)에 의해 제어될 수 있다. 또한, 시스템 규칙들은 프로세스가 일시 중단 및/또는 중단되는 때를 그리고 프로세스가 일시 중단 및/또는 중단되는 경우에 수행되는 것을 판정하는데 도 사용될 수 있다. 또한, 시스템 규칙들은 프로세스를 변경할 때 및 프로세스를 변경하는 방법을 판정하는데도 사용될 수 있다. 더 나아가, 컨트롤러(120)는 도구 레벨 규칙들을 사용해 일부 도구 레벨 동작들을 제어할 수도 있다.
일반적으로, 규칙들은, 시스템의 동적 상태에 기초해 시스템 및/또는 도구 동작을 변경할 수 있게 한다.
도 1은 하나의 프로세싱 도구(110) 및 하나의 컨트롤러(120)를 도시하지만, 본 발명을 위해 반드시 그래야 하는 것은 아니라는 것을 알 수 있을 것이다. 반도체 프로세싱 시스템(100)은, 독립적인 프로세스 도구들(110) 및 모듈들 이외에, 그들과 연관되어 있는 임의 갯수의 컨트롤러들(120)을 가진 임의 갯수의 프로세싱 도구들(110)을 구비할 수 있다.
프로세싱 도구(110) 및/또는 컨트롤러(120)는, 임의 갯수의 독립적인 프로세스 도구들(11) 및 모듈들 이외에, 그들과 연관되어 있는 임의 갯수의 프로세싱 도구들(110)을 가진 임의 갯수의 프로세싱 도구들(110)을 구성하는데 사용될 수 있다. 프로세싱 도구(110) 및/또는 컨트롤러(120)는 프로세싱 도구들, 프로세싱 서브시스템들, 프로세스 모듈들, 및 센서들을 필요로 하는 프로세스들로부터의 데이터를 수집, 제공, 프로세싱, 저장, 및 표시할 수 있다.
프로세싱 도구(110) 및/또는 컨트롤러(120)는, (a) 적어도 하나의 도구 관련 애플리케이션; (b) 적어도 하나의 모듈 관련 애플리케이션; (c) 적어도 하나의 센서 관련 애플리케이션; (d) 적어도 하나의 인터페이스 관련 애플리케이션; (e) 적어도 하나의 데이터베이스 관련 애플리케이션; (f) 적어도 하나의 GUI 관련 애플리 케이션; 및 (g) 적어도 하나의 구성 애플리케이션을 포함하는, 다수 애플리케이션들을 구비할 수 있다.
예를 들어, 시스템(100)은 Unity Tool, Telius Tool, 및/또는 Trias Tool과 그들의 연관된 프로세싱 서브시스템들 및 프로세스 모듈들을 포함할 수 있는 Tokyo Electron Limited로부터의 APC(Automatic Process Control) 시스템을 구비할 수 있다. 또한, 시스템은, Tokyo Electron Limited로부터의 Ingenio TL ES 서버 및 Tokyo Electron Limited로부터의 IMM(integrated metrology module)과 같은, R2R(run-to-run) 컨트롤러를 구비할 수 있다. 다른 방법으로, 컨트롤러(120)는 다른 프로세스 도구들 및 다른 프로세스 모듈들을 지원할 수 있다.
(도시되어 있지 않은) GUI 컴포넌트는, 사용자들로 하여금 (a) 도구 상태 및 프로세스 모듈 상태를 살펴 볼 수 있게 하고; (b) 선택된 웨이퍼들을 위한 요약 및 미가공 (트레이스;trace) 파라미터 데이터의 x-y 챠트들을 생성 및 편집할 수 있게 하며; (c) 도구 알람 로그들(tool alarm logs)을 살펴 볼 수 있게 하고; (d) 데이터베이스 또는 출력 파일들에 데이터를 기입하기 위한 조건들을 특정하는 데이터 수집 계획들을 구성할 수 있게 하며; (e) SPC(statistical process control) 챠팅(charting), 모델링 및 스프레드시트 프로그램들에 파일들을 입력할 수 있게 하고; (f) 특정 웨이퍼들을 위한 웨이퍼 프로세싱 정보를 조사할 수 있게 하며, 데이터베이스에 현재 저장되어 있는 데이터를 검토할 수 있게 하고; (g) 프로세스 파라미터들의 SPC 차트들을 생성 및 편집할 수 있게 하며, 이-메일 경보들을 발생시키는 SPC 알람들을 설정할 수 있게 하고; (h) 다변수의 PCA 및/또는 PLS 모델들을 실 행할 수 있게 하며; (i) 컨트롤러(120)와의 문제들을 조정하고 보고하기 위해, 진단 스크린들을 살펴 볼 수 있게 하는, 사용이 용이한 인터페이스들을 제공할 수 있다.
도구로부터의 미가공 데이터 및 트레이스 데이터는 데이터베이스에 파일들로서 저장될 수 있다. 또한, IM 데이터 및 호스트 측정 데이터도 데이터베이스에 저장될 수 있다. 데이터량은 구성되는 데이터 수집 계획들 뿐만 아니라 프로세스들이 수행되고 프로세싱 도구들이 실행되는 주파수에도 의존한다. 프로세싱 도구들, 프로세싱 챔버들, 센서들 및 오퍼레이팅 시스템으로부터 획득되는 데이터는 데이터베이스에 저장될 수 있다.
다른 실시예에서, 시스템(100)은 (도시되어 있지 않은) 클라이언트 워크스테이션을 구비할 수 있다. 시스템(100)은 복수개의 클라이언트 워크스테이션들을 지원할 수 있다. 클라이언트 워크스테이션은, 사용자로 하여금 (a) 도구, 컨트롤러, 프로세스, 및 공장 상태를 포함하는 상태를 살펴보고; (b) 현재 및 이력 데이터를 살펴보며; (c) 모델링 및 챠팅 기능들을 수행하고; (d) 컨트롤러에 데이터를 입력하는 구성 절차들을 수행할 수 있게 한다. 예를 들어, 사용자에게는, 사용자로 하여금 컨트롤러에 의해 수행되는 적어도 하나의 프로세스들을 제어할 수 있게 하는 관리 권한들이 제공될 수 있다.
프로세싱 도구(110) 및 컨트롤러(120)는 MES(130)로 커플링될 수 있고 E-Diagnostic 시스템의 일부일 수 있다. 프로세싱 도구(110) 및/또는 컨트롤러(120)는 공장 시스템과 정보를 교환할 수 있다. 또한, MES(130)는 명령을 송신할 수 있 고 그리고/또는 프로세싱 도구(110) 및/또는 컨트롤러(120)로의 정보를 무효화할 수 있다. 예를 들어, MES(130)는, 각각의 레시피를 위한 가변 파라미터들로써, 임의 갯수의 프로세스 모듈들, 도구들, 및 측정 장치들을 위한 다운로드 가능한 레시피들을 프로세싱 도구(110) 및/또는 컨트롤러(120)로 피드포워드할 수 있다. 가변 파라미터들은, 로트에 의해 조정 가능해야 하는 도구 레벨 시스템에서의 최종적인 CD(critical dimension) 타깃들, 제한들, 오프셋들, 및 변수들을 포함할 수 있다. 또한, 공장의 리소그래피 CD 측정 데이터(litho CD metrology data)도 컨트롤러(120)로 피드포워드될 수 있다.
더 나아가, MES(130)는, CD SEM(critical dimension scanning electron microscope) 정보와 같은, 측정 데이터를 컨트롤러(120)에 제공하는데도 사용될 수 있다. 다른 방법으로, CD SEM 정보는 수동으로 제공될 수도 있다. 조정 팩터들은 IM과 CD SEM 측정들간의 임의의 오프셋을 조정하는데 사용된다. CD SEM 데이터의 수동 및 자동 입력은, R2R 컨트롤러에서의 피드백 제어 루프 이력으로의 적당한 삽입을 위한, 날짜와 같은, 타임스탬프를 포함한다.
구성 가능한 항목들이, GEM SECS(Generic Model SEMI Equipment Communications Standard) 통신 프로토콜을 사용해 공장 시스템으로부터 송신되는 가변 파라미터들의 세트로서 구성될 수 있다. 예를 들어, 가변 파라미터들은 "APC 레시피"의 일부로서 통과될 수 있다. APC 레시피는 적어도 하나의 서브 레시피들을 포함할 수 있고 각각의 서브 레시피는 가변 파라미터들을 포함할 수 있다.
앞서 지적된 바와 같이, 도 1에는 하나의 프로세싱 도구(110)가 도시되어 있 지만, 추가적인 프로세싱 도구들이 사용될 수 있으므로, 본 발명을 위해 반드시 그래야 하는 것은 아니다. 일 실시예에서, 프로세싱 도구(110)는 적어도 하나의 프로세싱 모듈들을 구비할 수 있다. 프로세싱 도구(110)는, 예를 들어, 에칭 모듈, 증착 모듈, 폴리싱 모듈(polishing module), 코팅 모듈, 현상 모듈(developing module), 및 열처리 모듈 중 적어도 하나를 구비할 수 있다.
프로세싱 도구(110)는 적어도 하나의 다른 프로세싱 도구 및/또는 컨트롤러에 커플링하기 위한 링크들(112, 114)을 구비할 수 있다. 예를 들어, 다른 프로세싱 도구들 및/또는 컨트롤러들은 앞서 수행된 프로세스와 연관될 수 있고 그리고/또는 다른 컨트롤러들은 후속적으로 수행되는 프로세스와 연관될 수 있다. 링크들(112, 114)은 정보를 피드포워드 및/또는 피드백하는데 사용될 수 있다. 예를 들어, 피드포워드 정보는, 입력되는 웨이퍼와 연관된 데이터를 구비할 수 있다. 이 데이터는 로트 데이터, 배치 데이터, 런 데이터(run data), 조성 데이터(composition data), 및 웨이퍼 이력 데이터를 포함할 수 있다. 데이터는 웨이퍼를 위한 입력 상태를 확립하는데 사용될 수 있는 프리-프로세스(pre-process) 데이터를 구비할 수 있다. 프리-프로세스 데이터의 제 1 부분은 컨트롤러(120)에 제공될 수 있고, 프리-프로세스 데이터의 제 2 부분은 프로세싱 도구(110)에 제공될 수 있다. 다른 방법으로, 2개 부분들이 동일한 데이터를 구비할 수도 있다.
프로세싱 도구(110)는 (도시되어 있지 않은) 하나의 IMM(integrated metrology module) 장치 또는 다수의 측정 장치들을 구비할 수 있다. 시스템(100)은 모듈 관련 측정 장치들, 도구 관련 측정 장치들, 및 외부 측정 장치들을 포함할 수 있다. 예를 들어, 적어도 하나의 모듈들에 커플링되어 있는 센서들 및 프로세싱 도구에 커플링되어 있는 센서들로부터 데이터가 획득될 수 있다. 또한, SEM 도구 및 ODP(Optical Digital Profiling) 도구와 같은 외부 장치로부터 데이터가 획득될 수 있다. ODP 도구는, 반도체 장치의 사양에 대한 프로파일을 측정하기 위한 특허 기술을 제공하는 Timbre Technologies Inc.(TEL company)로부터 입수 가능하다. 예를 들어, ODP 기술들은 CD(critical dimension) 정보, 사양 프로파일 정보, 또는 비아 프로파일(via profile) 정보를 획득하는데 사용될 수 있다.
컨트롤러(120)는 프로세싱 도구(110) 및 MES(130)에 커플링되고, 프리-프로세싱 데이터 및 포스트-프로세싱 데이터와 같은, 정보가 그들 사이에서 교환될 수 있다. 예를 들어, 도구(110)로부터 내부 리셋 이벤트가 발생 중일 때, 컨트롤러(120)는, 알람과 같은, 메시지를 MES(130)로 송신할 수 있다. 이로 인해, 공장 시스템 및/또는 공장 직원은, 보수 점검 또는 예방 점검 동안에 발생하는 것들과 같은, 주요 변화가 발생한 이후의 위험 상태에서 웨이퍼들의 수를 최소화하는데 필요한 변경들을 수행할 수 있다.
도 1에는 하나의 컨트롤러(120)가 도시되어 있지만, 추가적인 컨트롤러들이 사용될 수 있으므로, 본 발명을 위해 반드시 그래야 하는 것은 아니다. 예를 들어, 하나의 컨트롤러(120)가 R2R(run-to-run) 컨트롤러, FF(feed-forward) 컨트롤러, 프로세스 모델 컨트롤러, 피드백(FB) 컨트롤러, 프로세스 컨트롤러, 또는 (도 1에 모두가 도시되어 있는 것은 아닌) 그것에 관한 2 이상의 조합을 구비할 수도 있다.
컨트롤러(120)는, 적어도 하나의 다른 컨트롤러(120)에 커플링하기 위한 링크들(122, 124)을 구비할 수 있다. 예를 들어, 다른 컨트롤러들(120)은 앞서 수행된 프로세스와 연관될 수 있고, 그리고/또는 다른 컨트롤러들(120)은 후속적으로 수행되는 프로세스와 연관될 수 있다. 링크들(122, 124)은 정보를 피드포워드 및/또는 피드백하는데 사용될 수 있다.
컨트롤러(120)는 입력되는 재료의 측정된 CD(critical dimension)(입력 상태)와 타깃 CD(원하는 상태) 사이의 오차를 사용해, 웨이퍼의 상태를 입력 상태로부터 원하는 상태로 변경하는 원하는 프로세스 결과를 실현하기 위한 한 세트의 프로세스 파라미터들을 예측, 선택, 또는 계산한다. 예를 들어, 이렇게 예측된 프로세스 파라미터들의 세트는 입력 상태 및 원하는 상태에 기초해 사용하기 위한 레시피의 제 1 예측치일 수 있다. 일 실시예에서는, 입력 상태 및/또는 원하는 상태 데이터와 같은, 데이터가 호스트로부터 획득될 수 있다.
일 경우에서, 컨트롤러(120)는 입력 상태 및 웨이퍼를 위한 원하는 상태의 모델 방정식을 알고 있고, 컨트롤러(120)는, 웨이퍼를 입력 상태에서 프로세싱된 상태로 변경하기 위해, 웨이퍼에 대해 수행될 수 있는 한 세트의 레시피들을 판정한다. 예를 들어, 한 세트의 레시피들이 한 세트의 프로세스 모듈들을 필요로 하는 다중-단계 프로세스를 설명할 수 있다.
컨트롤러(120)를 위한 시상수(time constant)는 측정들간의 시간에 기초할 수 있다. 측정된 데이터가 로트가 완료된 이후에 이용 가능할 경우, 컨트롤러의 시상수는 로트들 사이의 시간에 기초할 수 있다. 측정된 데이터가 웨이퍼가 완료 된 이후에 이용 가능할 경우, 컨트롤러의 시상수는 웨이퍼들 사이의 시간에 기초할 수 있다. 측정 데이터가 프로세싱 동안 실시간으로 제공될 경우, 컨트롤러의 시상수는 웨이퍼내의 프로세싱 단계들에 기초할 수 있다. 측정된 데이터가, 웨이퍼가 프로세싱되고 있는 동안, 웨이퍼가 완료된 이후, 또는 로트가 완료된 이후에 이용 가능할 경우, 컨트롤러(120)는 프로세스 단계들 사이, 웨이퍼들 사이, 및/또는 로트들 사이의 시간에 기초할 수 있는 다수의 시상수들을 가질 수 있다.
적어도 하나의 컨트롤러들이 임의 시점에서 동작 중일 수 있다. 예를 들어, 하나의 컨트롤러는 동작 모드일 수 있는 한편, 제 2 컨트롤러는 모니터링 모드일 수 있다. 또한, 다른 컨트롤러는 시뮬레이션 모드일 수 있다. 컨트롤러는 단일 루프 또는 다수 루프들을 구비할 수 있고, 루프들은 상이한 시상수들을 가질 수 있다. 예를 들어, 루프들은 웨이퍼 타이밍, 로트 타이밍, 배치 타이밍, 챔버 타이밍, 및/또는 공장 타이밍에 의존할 수 있다.
컨트롤러(120)는 SISO(single input single output) 장치로서, SIMO(single input multiple output) 장치로서, MISO(multiple input single output) 장치로서, 그리고 MIMO(multiple input multiple output) 장치로서 동작할 수 있다. 또한, 입력들 및 출력들은 컨트롤러내에 그리고/또는 적어도 하나의 컨트롤러들 사이에 존재할 수 있다. 예를 들어, CD 및 측벽 각도와 같은 다수 입력들이 사용되고 있을 때, 입력들 및 출력들은 2개 모듈들(즉, CD 제어를 위한 하나 및 측벽 각도 제어를 위한 하나) 사이에서 피드포워드 및 피드백될 수 있다. 또한, 마스크 오픈 컨트롤러(mask open controller)가 사용될 수도 있다. 다수 모듈들을 포함하는 다 중-프로세스의 경우, 정보는 일 컨트롤러에서 다른 컨트롤러로 피드포워드 또는 피드백될 수 있다.
컨트롤러(120)는 입력 상태, 프로세스 특징들, 및 프로세스 모델에 기초해 웨이퍼를 위한 예측 상태를 계산할 수 있다. 예를 들어, 프로세싱 시간과 함께 트림 비율 모델(trim rate model)이 사용되어 예측되는 트림량을 계산할 수 있다. 다른 방법으로, 프로세싱 시간과 함께 에칭율 모델이 사용되어 에칭 깊이를 계산할 수 있고, 프로세싱 시간과 함께 증착율 모델이 사용되어 증착 두께를 계산할 수 있다. 또한, 모델들은 SPC 챠트들, PLS 모델들, PCA 모델들, FDC(Fitness Distance Correlation) 모델들, 및 MVA(Multivariate Analysis) 모델들을 포함할 수 있다.
컨트롤러(120)는 프로세스 모듈에서의 프로세스 파라미터 제한들을 위해 외부적으로 제공되는 데이터를 수신하고 이용할 수 있다. 예를 들어, 컨트롤러 GUI 컴포넌트는 프로세스 파라미터 제한들의 수동 입력을 위한 수단을 제공한다. 또한, 공장 레벨 컨트롤러가 각각의 프로세스 모듈을 위한 프로세스 파라미터들에 제한들을 제공할 수도 있다.
컨트롤러(120)는 제품화되어 있는 모델링 소프트웨어에 의해 생성되는 모델들을 수신하고 실행할 수 있다. 예를 들어, 컨트롤러(120)는 외부 애플리케이션들에 의해 생성되어 컨트롤러(120)로 송신된 모델들(PLS, PCA 등)을 수신하고 실행할 수 있다.
컨트롤러(120)는 무작위 잡음을 제거하기 위해 측정 데이터를 필터링하기 위한 (도시되어 있지 않은) 적어도 하나의 필터들을 구비할 수 있다. 아웃라이어 필 터(outlier filter)는 통계적으로 무의미하고 웨이퍼 측정치에 대한 평균의 계산에서 고려되지 않아야 하는 아웃라이어들을 제거하는데 사용될 수 있다. 잡음 필터는 무작위 잡음을 제거하고 제어 루프를 안정화하는데 사용될 수 있고, EVVMA(Exponentially Weighed Moving Average) 또는 Kalman 필터가 적용될 수 있다.
컨트롤러(120)는 예외 조건의 통지를 송수신할 수 있다. 예를 들어, 컨트롤러(120)는 공장 레벨 컨트롤러 또는 도구 레벨 컨트롤러로 그리고 그로부터 통지들을 송수신할 수 있다. 또한, 통지는, 예외 조건의 식별 정보 이후에, e-Diagnostics 네트워크, 이-메일, 또는 페이저를 통해 송신될 수 있다.
컨트롤러(120)는 입출력 데이터를 아카이빙(archiving)하기 위한 데이터베이스 컴포넌트를 구비할 수 있다. 예를 들어, 컨트롤러(120)는 수신된 입력들, 송신된 출력들, 및 컨트롤러(120)에 의해 취해진 액션들을 검색 가능한 데이터베이스에 아카이빙할 수 있다. 또한, 컨트롤러(120)는 데이터 백업 및 복구를 위한 수단을 구비할 수 있다. 또한, 검색 가능한 데이터베이스는 모델 정보, 구성 정보, 및 이력 정보를 포함할 수 있고, 컨트롤러(120)는 데이터베이스 컴포넌트를 사용해 과거와 현재 모두의 모델 정보 및 모델 구성 정보를 백업하고 복구할 수 있다.
컨트롤러(120)는 웹 기반 사용자 인터페이스를 구비할 수 있다. 예를 들어, 컨트롤러(120)는 데이터베이스의 데이터를 살펴보기 위한 웹 인에이블형 GUI 컴포넌트를 구비할 수 있다. 컨트롤러(120)는 보안 관리자에 의해 부여되는 권한들에 따라 액세스의 다수 레벨들을 제공할 수 있는 보안 컴포넌트를 구비할 수 있다. 컨트롤러(120)는 설치시에 제공되는 한 세트의 디폴트 모델들을 구비할 수 있고, 그에 따라, 컨트롤러는 디폴트 조건들을 재설정할 수 있다.
컨트롤러(120)는, 예외의 특징에 따라, 예외에 응답하여 다양한 액션들을 취할 수 있다. 예외에 대해 취해지는 액션들은 시스템 레시피, 프로세스 레시피, 모듈 유형, 모듈 식별 번호, 부하 포트 번호, 카세트 번호, 로트 번호, 제어 작업 ID, 프로세스 작업 ID, 및/또는 슬롯 번호에 의해 특정되는 문맥을 위해 확립된 비지니스 규칙들에 기초할 수 있다.
컨트롤러(120)는 동시에 실행되고 프로세스 레시피 제한들의 상이한 세트들에 종속되는 다수 프로세스 모델들을 관리할 수 있는 능력을 가진다. 컨트롤러(120)는 3가지 상이한 모드들: 시뮬레이션 모드, 테스트 모드, 및 표준 모드에서 실행될 수 있다. 컨트롤러(120)는 실제 프로세스 모드와 병렬로 시뮬레이션 모드에서 동작할 수 있다.
2가지 상이한 레시피들이 동일한 물리적 모듈(PM)에 의해 수행될 수 있을 때 그리고 가상 모듈들이 사용되지 않는다면, 물리적 모듈을 통한 제 1 통과와 연관된 데이터가 물리적 모듈을 통한 제 2 통과와 연관된 데이터와 혼동될 수 있다. 가상 모듈들이 사용되지 않으면, 컨트롤러(120) 및/또는 호스트 컨트롤러는 모듈을 통한 제 1 통과로부터의 데이터를 모듈을 통한 제 2 통과로부터의 데이터로 겹쳐쓰기(overwrite)할 수도 있다.
일 실시예에서는, (VMx)와 같은 명명 규약이 사용될 수 있다. 예를 들어, 제 1 가상 모듈은 VM1으로 식별될 수 있고, n번째 가상 모듈은 VMn으로 식별될 수 있다. 다른 방법으로는, 모듈(xx) 또는 (MODxx)와 같은, 다른 명명 규약들이 사용될 수 있다. 예를 들어, 가상 모듈 데이터는 가상 모듈 명칭을 인덱스 항목으로 사용해 데이터베이스에 저장될 수 있다.
다른 실시예에서, 호스트 시스템은, CD SEM 모듈 또는 TEM(transmission electron microscopy) 모듈과 같은, 적어도 하나의 외부 측정 모듈들을 구비할 수 있고, 가상 모듈들은, 외부 측정 모듈들로의 방문들을 포함하는 프로세스 시퀀스들을 확립하고 외부 측정 모듈들과 연관된 데이터 파일들을 위한 명명 규약을 확립하는데 사용될 수 있다. 호스트 레벨 컨트롤러 및/또는 R2R 컨트롤러는 외부 측정 모듈과 연관된 데이터 파일들을 사용할 수 있다. 또한, 상이한 외부 측정 모듈들이 상이한 레시피들을 수행하는데 사용될 수도 있다. 가상 모듈들은, 도구 레벨 및/또는 시스템 레벨 컨트롤러들이 외부 측정 모듈 이용을 최대화하고 처리량 시간을 최소화하도록 외부 측정 모듈 사용을 스케줄링하는 것을 허용하는데 사용될 수 있다.
또한, 가상 모듈들은, 프로세싱 시스템 컨트롤러들이 시뮬레이션 모델들을 실행할 때도 사용될 수 있다. 시뮬레이션 모델 실행들로부터의 결과들은 가상 모듈들을 사용해 저장되고 추적될 수 있다.
일 경우로서, 호스트는 적어도 하나의 가상 모듈들을 사용할 것을 컨트롤러(120)에게 지시하는 라우팅 시퀀스를 제공할 수 있다. 호스트는, 데이터가 컨트 롤러와 호스트 사이에서 저장 및/또는 통과될 때 사용하기 위한 명명 규약을 제공할 수 있다. 호스트는 프로세스 시퀀스의 프로세스 오브젝트들 중 하나 이상에 가상 모듈 명칭들을 할당할 수 있다. 컨트롤러(120)는 각각의 가상 모듈을 위한 프로세스 작업을 생성할 수 있고 물리적 모듈(PM)을 각각의 가상 모듈(VM)과 연관지을 수 있다. 다른 경우로서, 호스트는 좀더 낮은 레벨의 컨트롤러로 하여금 가상 모듈들을 생성하게 할 수 있다. 프로세싱 도구들이 좀더 복잡해짐에 따라, 도구 레벨 및/또는 시스템 레벨 컨트롤러들은, 리소스 이용을 최대화하고 처리량 시간을 최소화하는 것에 기초해, 어떤 프로세싱 및/또는 측정 모듈들을 사용할 것인지를 판정하는데 사용될 수 있다. 가상 모듈들은, 도구 레벨 및/또는 시스템 레벨 컨트롤러들이 프로세스 모듈 이용을 최대화하고 처리량 시간을 최소화하도록 물리적 모듈 사용을 스케줄링하는 것을 허용하는데 사용될 수 있다.
컨트롤러(120)는 각각의 가상 모듈을 위한 프로세스 작업을 생성할 수 있고 물리적 모듈을 각각의 가상 모듈(VM)과 연관지을 수 있다.
반도체 프로세싱 시스템(100)이 호스트 시스템 및 적어도 하나의 프로세싱 시스템들을 포함할 때, 호스트 시스템은 마스터 시스템으로서 동작할 수 있고 프로세싱 동작들의 주요 부분을 제어 및/또는 모니터링할 수 있다. 호스트 시스템은 프로세스 시퀀스를 포함하는 SVMP(static virtual module plan)을 생성할 수 있고, SVMP를 프로세싱 시스템으로 송신할 수도 있다. 일 실시예에서, 프로세스 시퀀스는 가상 모듈(VM) 오브젝트들 및/또는 물리적 모듈(PM) 오브젝트들의 시퀀스를 구비할 수 있다.
도 2는, 본 발명의 실시예에 따른, 공장 통합 구성(factory integration configuration)의 간략화된 블록도를 나타낸다. 예시된 실시예에서, 공장 시스템은 프로세싱 시스템에 커플링되는 것으로 도시되어 있다. 본 발명에 사용될 것으로 예상되는 하나의 프로세싱 시스템은 Tokyo Electron Limited에 의해 제공되는 TELIUSTM 프로세싱 시스템이다. 그러나, 당업자들이라면 알 수 있는 바와 같이, 본 발명의 범위를 벗어나지 않으면서, 다른 프로세싱 시스템들도 이용될 수 있다.
예시되어 있는 바와 같이, 공장 시스템은, 다른 것들 중에서도, APC(advanced process control) 능력들, DCS(data collection strategies), FDC(fitness distance correlation) 모듈들, 및 진단 시스템들(E1)을 포함하는 MES(130)이다. 도시되어 있는 일례에서, MES(130) 공장 시스템은 E diagnostic 링크들을 통해 TELIUSTM 프로세싱 시스템과 통신하고 정보를 교환한다.
도 3은, 본 발명의 실시예에 따른, 통합된 프로세싱 시스템의 간략화된 블록도를 나타낸다. 예시된 실시예에는, 프로세싱 도구, IMM(integrated metrology module), 및 도구 레벨 APC(Advanced Process Control) 컨트롤러를 구비하는, TELIUSTM 프로세싱 시스템과 같은, 프로세싱 시스템이 도시되어 있다.
도 4는, 본 발명의 실시예에 따른, 통합된 측정 프로세스를 위한 간략화된 도면을 나타낸다. 예시된 실시예에서, IM(Integrated Metrology) 프로세스는 ODP(Optical Digital Profilometry) 기술들에 기초한다. 예를 들어, 프로세싱된(예를 들어, 에칭된 그리고/또는 트림된(trimmed)) 웨이퍼에 대한 스펙트럼 데이터 가 수집되어 ODP 라이브러리의 시뮬레이션된 스펙트럼들에 매칭된다. 매칭되는 스펙트럼들은 CD, 막 두께 및 측벽 폴리머 정보를 갖춘 프로파일에 대응된다. 측정 데이터는 프로세싱 시스템 및/또는 호스트 시스템으로 보고될 수 있다.
도 5는, 본 발명의 실시예에 따른, 다중-단계 프로세스 시퀀스의 간략화된 흐름도를 나타낸다. 예시된 실시예에는, 다수의 측정 단계들이 도시되어 있고, 다수의 프로세싱 단계들(예를 들어, 레지스트 트림, 에칭, COR 트림 등) 뿐만 아니라 피드백 및 피드포워드 제어 능력들도 도시되어 있다. 적어도 하나의 가상 모듈 오브젝트들이, 도시되어 있는 각각의 측정 단계 및 각각의 프로세싱 단계를 위해 생성될 수 있다. 본 발명을 위해 반드시 그래야 하는 것은 아니다. 다른 방법으로, 다른 프로세스 시퀀스들이 사용될 수 있고, 상이한 갯수의 가상 모듈 오브젝트들이 사용될 수 있다.
도 6은, 본 발명의 실시예에 따른, 제어 프로세스의 간략화된 블록도를 나타낸다. 예시된 실시예에는, 제어 계획의 간략화된 블록도가 도시되어 있다. 가상 모듈 제어 계획들 및/또는 전략들이 생성되어 물리적 모듈들로 매핑될 수 있다.
도 7은, 본 발명의 실시예에 따른, 물리적 모듈들을 위한 예시적 관계도를 나타낸다. 예시된 실시예에는, 6개의 물리적 모듈들이 도시되어 있고, 6개의 물리적 모듈들이 4개의 프로세싱 모듈들(PM1-PM4) 및 2개의 측정 모듈들(IMM1 및 IMM2)을 포함한다. 본 발명을 위해 반드시 그래야 하는 것은 아니다. 다른 실시예들에서와 같이, 물리적 모듈들의 수 및 그들의 정렬은 상이할 수 있다.
예시적 라우팅 또는 프로세스 시퀀스가 도 7에 도시되어 있지만, 본 발명을 위해 그러한 라우팅/시퀀스가 요구되는 것은 아니다. 다른 실시예에서는, 상이한 시퀀스가 사용될 수도 있다. 예를 들어, 물리적 모듈이 각각의 실제 라우팅 단계를 위해 사용될 수 있고, 가상 모듈이 각각의 건너뛰기되는 라우팅 단계를 위해 사용될 수 있다.
도 8은, 본 발명의 실시예에 따른, 프로세싱 시스템 컨트롤러의 조작 방법을 위한 흐름도를 제공한다. 예시된 실시예에는, 웨이퍼 기반 절차(800)가 도시되어 있지만, 본 발명을 위해 반드시 그래야 하는 것은 아니다. 다시 말해, 절차는 로트 기반 또는 배치 기반일 수 있다. 절차(800)는 태스크(810)에서 시작하고, 시작 이벤트는, 예를 들어, 호스트 이벤트, 웨이퍼-인 이벤트(wafer-in event), 로트-시작 이벤트, 배치 시작 이벤트, 또는 다른 프로세스로부터의 끝 이벤트(end event)일 수 있다.
프로세싱 시스템은 프로세싱 모듈들 및 측정 모듈들을 구비할 수 있다. 프로세싱 모듈은 에칭 모듈, 증착 모듈, COR(chemical oxide removal) 모듈, 가열 모듈, 전송 모듈, 냉각 모듈, 현상 모듈, 또는 그것에 관한 2 이상의 프로세싱 모듈들의 조합을 구비할 수 있다. 측정 모듈들은 광학 측정 모듈, ODP(optical digital profile) 모듈, SEM 모듈, TEM 모듈, 또는 그것에 관한 2 이상의 조합을 포함할 수 있다.
태스크(820)에서, 프로세싱 시스템 컨트롤러는 호스트 시스템으로부터 웨이퍼를 위한 SVMP를 수신한다. SVMP는 적어도 하나의 웨이퍼들을 프로세싱하기 위해 프로세싱 시스템이 사용할 한 세트의 명령어들을 구비할 수 있다. SVMP가 사용될 때, 호스트 시스템은 마스터 컨트롤러로서 동작한다.
SVMP는, 호스트 시스템에 의해 판정될 수 있는, 웨이퍼를 위한 원하는 프로세스 결과도 구비할 수 있다. 원하는 프로세스 결과는 트림량, 에칭량, 증착량, 또는 그것에 관한 2 이상의 조합을 포함할 수도 있다.
더 나아가, SVMP는, 웨이퍼가 원하는 프로세스 결과를 실현하는데 사용할 수 있는 물리적 모듈을 통한 통과들의 실제 수(Nact), 웨이퍼가 원하는 프로세스 결과를 실현하는데 사용할 수 있는 물리적 모듈을 통한 통과들의 최대 수(Nmax), 및 물리적 모듈로의 비방문들의 수(Nnon)를 구비할 수 있다. SVMP는 각각의 물리적 모듈을 위한 프로세스 레시피를 구비할 수 있다.
더 나아가, SVMP는, 상이한 웨이퍼들이 프로세싱 모듈로의 상이한 방문들의 수를 형성할 때 사용될 수 있는 계획인 다중-방문 계획(multi-visit plan)을 구비할 수 있다. 다중-방문 계획은 웨이퍼 의존적일 수 있는데, 다시 말해, 일부 웨이퍼들은 프로세싱 모듈로의 다수 방문들을 요구하는 한편, 다른 웨이퍼들은 프로세싱 모듈로의 단일 또는 비방문을 요구할 수도 있다.
일 실시예에서, 다중-방문 계획은 호스트 컨트롤러에 의해 판정되어 R2R 컨트롤러로 송신될 수 있다. 다른 실시예에서는, R2R 컨트롤러와 같은, 다른 컨트롤러가 다중-방문 계획을 생성 및/또는 변경하는데 사용될 수 있다.
부가적으로, SVMP는, 상이한 웨이퍼들이 측정 모듈로의 상이한 방문들의 수를 형성할 때 사용될 수 있는 샘플링 계획인 샘플링 계획을 구비할 수 있다. 샘플링 계획은, 프리-프로세스 및 포스트-프로세스 측정들이 형성되는 때를 판정하는데 도 사용될 수 있다. 다중-방문 계획과 마찬가지로, 샘플링 계획도 웨이퍼 의존적일 수 있는데, 이 경우, 일부 웨이퍼들은 측정 모듈로의 다수 방문들을 요구하는 한편 다른 웨이퍼들은 측정 모듈로의 단일 또는 비방문을 요구할 수도 있다.
일 실시예에서, 샘플링 계획은 호스트 컨트롤러에 의해 판정되어 R2R 컨트롤러로 송신될 수 있다. 다른 실시예에서는, R2R 컨트롤러와 같은, 다른 컨트롤러가 샘플링 계획을 생성 및/또는 변경하는데 사용될 수 있다.
SVMP는, 물리적 모듈을 X회 방문할 것을 웨이퍼에 요구할 수 있는데, 여기에서, X는 0 이상인 정수이고, SVMP는, 물리적 모듈을 Y회 건너뛸 것을 웨이퍼에 요구할 수 있는데, 여기에서, Y는 0 이상인 정수이다. 프로세스 시퀀스는 N개의 프로세스 오브젝트들을 구비할 수 있는데, 여기에서, (N = XMax + YMax)이고, XMax는 방문들의 최대 수이며, YMax는 비방문들(건너뛰기되는 방문들)의 최대 수이다.
프로세스 시퀀스 # 1 2 3 4 5 6 7 8
프로세스 오브젝트 물리적 모듈
1 IM01(1) X X X X X X X X
2 PM01(1) X X X X X X X X
3 PM01(2) X X X X X
4 IM01(2) X X X X X X X
5 PM02(1) X X X X X X
6 PM02(2) X X X
7 IM01(3) X X X
8 IM02(1) X
앞서 도시된 표 1은 8개의 프로세스 오브젝트들을 위한 예시적인 다수의 상이한 프로세스 시퀀스들을 나타낸다. 이 일례에서, 제 1 측정 모듈(IM01)로의 방문들의 최대 수는 3이고, 제 2 측정 모듈(IM02)로의 방문들의 최대 수는 1이며, 제 1 프로세싱 모듈(PM01)로의 방문들의 최대 수는 2이고, 제 2 프로세싱 모듈(PM02)로의 방문들의 최대 수는 2이다. 다른 실시예들에서는, 프로세싱 모듈들의 수가 상이할 수도 있고, 방문들의 최대 수가 상이할 수도 있다.
프로세스 시퀀스 #1에서, 웨이퍼가 제 1 측정 모듈을 방문할 수 있는 실제 방문 수는 이 일례에서 허용 가능한 최대 수와 동일하다. 마찬가지로, 웨이퍼가 제 2 측정 모듈을 방문할 수 있는 실제 방문 수는 이 일례에서 허용 가능한 최대 수와 동일하다. 더 나아가, 웨이퍼가 제 1 프로세싱 모듈을 방문할 수 있는 실제 방문 수는 이 일례에서 허용 가능한 최대 수와 동일하다. 마찬가지로, 웨이퍼가 제 2 프로세싱 모듈을 방문할 수 있는 실제 방문 수는 이 일례에서 허용 가능한 최대 수와 동일하다. 본 발명을 위해 반드시 그래야 하는 것은 아니다. 도시되어 있는 프로세스 시퀀스들은 적어도 하나의 웨이퍼들에 적용 가능하다.
제 1 프로세스 시퀀스에서, 제 1 프로세스 오브젝트는 제 1 측정 모듈(IM01(1))로의 제 1 방문과 연관될 수 있고; 제 2 프로세스 오브젝트는 제 1 프로세싱 모듈(PM01(1))로의 제 1 방문과 연관될 수 있으며; 제 3 프로세스 오브젝트는 제 1 프로세싱 모듈(PM01(2))로의 제 2 방문과 연관될 수 있고; 제 4 프로세스 오브젝트는 제 1 측정 모듈(IM01(2))로의 제 2 방문과 연관될 수 있으며; 제 5 프로세스 오브젝트는 제 2 프로세싱 모듈(PM02(1))로의 제 1 방문과 연관될 수 있고; 제 6 프로세스 오브젝트는 제 2 프로세싱 모듈(PM02(2))로의 제 2 방문과 연관될 수 있으며; 제 7 프로세스 오브젝트는 제 1 측정 모듈(IM01(3))로의 제 3 방문과 연관될 수 있고; 제 8 프로세스 오브젝트는 제 2 측정 모듈(IM02(1))로의 제 1 방문과 연관될 수 있다.
SVMP와 관련하여 앞서 논의된 바와 같이, 웨이퍼는 측정 및/또는 프로세싱 모듈로의 한번 이상의 방문들(예를 들어, 다중-방문 계획)을 형성할 수 있고, 웨이퍼는 측정 모듈 및/또는 프로세싱 모듈로의 한번 이상의 방문들을 건너뛸 수도 있다(예를 들어, 샘플링 계획).
예시적인 제 1 프로세스 시퀀스는, 원하는 프로세스 결과가 제 1 측정 모듈로의 3회 방문들, 제 1 프로세싱 모듈로의 2회 방문들, 제 2 프로세싱 모듈로의 2회 방문들, 및 제 2 측정 모듈로의 1회 방문을 필요로 할 때 발생될 수 있다. 나머지 프로세스 시퀀스들은, 원하는 프로세스 결과가 프로세스 단계들의 상이한 조합들로써 실현될 수 있을 때, 발생할 수 있다. 프로세싱 모듈로의 다수 방문들은, 원하는 프로세스 결과가 프로세싱 모듈 또는 프로세싱 모듈들의 세트를 통한 단일 통과로 실현될 수 없을 때, 요구될 수 있다. 예를 들어, 필요한 에칭량, 필요한 트림량, 또는 필요한 증착량이 프로세싱 모듈을 통한 단일 통과에 의해 실현될 수 있는 양보다 클 수도 있다. 측정 모듈로의 다수 방문들은, 프리-프로세스 및/또는 포스트-프로세스 측정들이 요구될 때, 발생할 수도 있다.
또한, 표 1은, 웨이퍼가 물리적 모듈을 방문하는 실제 방문 수가 허용 가능한 최대 수보다 작을 때 발생할 수 있는, 일부 다른 프로세스 시퀀스들의 일례들도 예시한다. 프로세싱 모듈로의 실제 방문 수는 0 이상일 수 있다. 예를 들어, 트리밍 프로세스 또는 에칭 프로세스와 같은, 프로세스가 불필요할 때, 프로세싱 모듈로의 실제 방문 수는 0일 수 있다. 또한, 측정 모듈로의 실제 방문 수는 0 이상일 수 있다. 예를 들어, 프로세싱 도구 관련 측정 프로세스 또는 호스트 시스템 관련 측정 프로세스와 같은, 측정 프로세스가 불필요할 때, 측정 모듈로의 실제 방문 수는 0일 수 있다.
제 2 프로세스 시퀀스에서, 제 8 프로세스는 제 2 측정 모듈(IM02)로의 비방문(건너뛰기되는 방문)과 연관될 수 있다. 웨이퍼가 물리적 모듈로의 한번 이상의 방문들을 건너뛰기할 것이 허용될 때, 가상 모듈(VM) 오브젝트가 확립될 수 있다. 가상 모듈들이 위치 보유자들로서 사용될 때, 데이터의 최소량이 발생된다. 예를 들어, 데이터베이스는 가상 모듈 명칭 및 "널(null)" 식별자를 구비할 수 있다.
상이한 웨이퍼들을 위한 원하는 프로세스 결과를 실현하기 위해 물리적 모듈로의 상이한 방문 수가 요구될 수 있다. 물리적 모듈로의 상이한 방문 수를 표현하기 위해 가상 모듈들을 사용하는 SVMP가 확립될 수 있다. 프로세스 시퀀스에서 요구되는 가상 모듈 오브젝트들의 수는 적어도 하나의 프로세싱 모듈로의 요구되는 방문들의 최대 수 및 측정 모듈로의 요구되는 비방문들의 최대 수와 동일할 수 있다. PM 오브젝트는 물리적 모듈을 통한 단일 통과(예를 들어, 방문)을 표현할 수 있다. PM 오브젝트들의 최대 수는 물리적 모듈을 통한 통과들의 최대 수와 동일하다. 이 경우, PM 오브젝트들의 실제 수는 적어도 하나의 물리적 모듈들을 통한 통과들의 실제 수와 동일하다. 이벤트 데이터 및 측정 데이터와 같은, PM 데이터가 PM 오브젝트들을 위한 호스트 시스템으로 송신될 수 있다.
VM(virtual module) 오브젝트는 물리적 모듈로의 비방문(예를 들어, 건너뛰기된 방문)을 표현할 수 있다. VM 오브젝트들의 최대 수는 물리적 모듈로의 비방문들의 최대 수와 동일하다. 이 경우, VM 오브젝트들의 실제 수는 적어도 하나의 비방문된 물리적 모듈들로의 비방문들의 실제 수와 동일하다. 이벤트 데이터 및 위치 보유자 데이터와 같은, VM 데이터가 VM 오브젝트들을 위한 호스트 시스템으로 업로드될 수 있다.
웨이퍼 # 1 2 3 4 5 6 7 8
가상 모듈 물리적 모듈
VM1 IM01(1) PM1 PM1 PM1 PM1 PM1 PM1 PM1 PM1
VM2 PM01(1) PM2 PM2 PM2 PM2 PM2 PM2 VM1 PM2
VM3 PM01(2) PM3 PM3 PM3 PM3 PM3 VM1 VM2 VM1
VM4 IM01(2) PM4 PM4 PM4 VM1 PM4 PM3 VM3 VM2
VM5 PM02(1) PM5 PM5 PM5 PM4 VM1 PM4 PM2 VM3
VM6 PM02(2) PM6 PM6 PM6 VM2 VM2 VM2 VM4 VM4
VM7 IM01(3) PM7 PM7 VM1 PM5 PM5 VM3 VM5 VM5
VM8 IM02(1) PM8 VM1 VM2 VM3 PM6 VM4 VM6 VM6
앞서 예시된 표 2는 표 1에 도시되어 있는 프로세스 시퀀스들과 연관된 물리적 모듈(PM) 오브젝트들 및 가상 모듈(VVM) 오브젝트들을 나타낸다. 이 일례에서, 제 1 측정 모듈(IM01)로의 최대 방문 수는 3이고, 제 2 측정 모듈(IM02)로의 최대 방문 수는 1이며, 제 1 프로세싱 모듈(PM01)로의 최대 방문 수는 2이고, 제 2 프로세싱 모듈(PM02)로의 최대 방문 수는 2이다. 예시적인 프로세스 시퀀스는 8(예를 들어, 3 + 1 + 2 + 2 = 8)의 길이를 가진다. 다른 실시예들에서, 프로세싱 모듈들의 수는 상이할 수 있고, 측정 모듈들의 수는 상이할 수 있으며, 방문들의 최대 수는 상이할 수 있다.
이 일례에서, 웨이퍼 #1과 연관된 PM 오브젝트들의 실제 수는 이 일례에서 웨이퍼 #1이 제 1 측정 모듈을 방문하는 실제 방문 수 + 웨이퍼 #1이 제 2 측정 모듈을 방문하는 실제 방문 수 + 웨이퍼 #1이 제 1 프로세싱 모듈을 방문하는 실제 방문 수 + 웨이퍼 #1이 제 2 프로세싱 모듈을 방문하는 실제 방문 수와 같다. 이러한 특정 구현이, 본 발명을 위해 요구되는 것은 아니다. 웨이퍼 #1을 위해 도시된 프로세스 시퀀스가 적어도 하나의 웨이퍼들에 적용될 수도 있다.
또한, 표 2는, 웨이퍼가 모듈을 방문하는 실제 방문 수가 허용 가능한 최대 수 미만일 때 발생할 수 있는 일부 다른 프로세스 시퀀스들의 일례들도 예시한다. 비방문들의 수는 물리적 모듈로의 방문들의 최대 수 - 실제 방문 수와 같을 수 있고, VM 오브젝트들의 수는 물리적 모듈로의 방문들의 최대 수 - 실제 방문 수와 같을 수 있다. 예를 들어, 물리적 프로세스가 불필요할 때, 물리적 모듈로의 비방문들의 실제 수는 허용 가능한 방문들의 최대 수와 같을 수 있다.
이 일례에서, 웨이퍼와 연관된 PM 오브젝트들의 수는 웨이퍼가 물리적 모듈을 방문하는 실제 방문 수와 동일하고, 웨이퍼와 연관된 VM 오브젝트들의 수는 웨이퍼가 물리적 모듈을 방문하지 않는 실제 비방문 수와 동일하다.
일 실시예에서, 측정 모듈은, 웨이퍼 의존적이며 프로세스 작업에 의해 판정되는 샘플 계획을 사용해, 제어될 수 있다. 샘플 계획으로써, 시스템 레시피는 필요한 측정 모듈 방문들의 최대 수를 가진 웨이퍼 경로를 갖도록 구성된 다음 상이한 측정 모듈 샘플링들을 위해 동일한 시스템 레시피를 사용할 수 있다. 측정 모듈 데이터는 제어 계획 또는 피드백 계획으로 송신될 수 있다.
SVMP를 수신한 후, R2R 컨트롤러와 같은, 적어도 하나의 프로세싱 시스템 컨트롤러들은, 절차(800)의 태스크 830에서 지시되는 바와 같이, 프로세스 시퀀스를 실행하는데 사용될 수 있다. 일 실시예에서, 프로세스 시퀀스는 N개의 프로세스 오브젝트들을 구비하고, 프로세스 시퀀스는 제 1 갯수의 PM 오브젝트들 및 제 2 갯수의 VM 오브젝트들을 포함할 수 있다.
컨트롤러(120)는 시스템의 동작을 제어하기 위한 다수의 APC 레시피들(제어 전략들)을 포함할 수 있고, 제어 전략은 시스템 레시피와 연관될 수 있다. 제어 전략들은 제어 계획들을 포함할 수 있고, 제어하의 물리적 모듈은 물리적 모듈로의 방문을 위해 정의된 적어도 하나의 제어 계획을 가질 수 있다. 제어 계획들은 모델들, 제한들, 및 타깃들을 포함하고, 모듈내의 다수 프로세스 단계들을 커버할 수 있다. 일 실시예에서는, 가상 제어 전략 및/또는 계획이 확립되어 물리적 모듈로 매핑될 수 있다. 제어 전략들 및/또는 계획들은, 프로세스 작업(Process Job;PJ)이 수신 및/또는 생성될 때, 확립될 수 있다.
프로세싱 시스템 컨트롤러(120)는, 프로세스 시퀀스의 PM 오브젝트가 실행될 때, PM 제어 전략을 실행할 수 있다. PM 제어 전략은 적어도 하나의 PM 제어 계획들을 포함할 수 있다. PM 제어 전략 선택 및 개시는 문맥-기반적일 수 있다. PM 제어 전략이 실행될 때, 웨이퍼는 물리적 모듈에서 프로세싱될 수 있다. 다른 방법으로는, 컨트롤러(120)가, 웨이퍼를 위한 프로세싱 문맥과 매칭되는 PM 제어 전략이 존재하지 않는다고 판정할 때, 컨트롤러(120)가 새로운 PM 제어 전략을 생성할 수 있고 실행할 수 있다.
문맥 매칭은, 문맥 항목들을 포함하는 모든 레시피들을 매칭하는 SQL 문장들을 사용해 구현될 수 있다. 다른 방법으로, SQL은 불필요하다.
또한, 프로세싱 시스템 컨트롤러(120)는 적어도 하나의 PM DC(data collection) 계획을 구비하는 PM DC 전략을 실행할 수 있다. PM DC 전략 선택 및 개시 또한 문맥-기반적일 수 있다. PM DC 전략이 실행될 때, 물리적 모듈에서 프로세싱되고 있는 웨이퍼를 위한 PM 데이터가 수집될 수 있다.
DC 계획은 어떤 데이터가 수집되는지, 데이터가 어떻게 수집되는지, 그리고 데이터가 어디에 저장되는지를 판정한다. 컨트롤러(120)는 물리적 모듈들을 위한 데이터 수집 계획들을 자동적으로 발생시킬 수 있다. 통상적으로, 한 번에 하나의 데이터 수집 계획이 특정 모듈을 위해 활성일 수 있고, 컨트롤러(120)는 웨이퍼 문맥과 매칭되는 데이터 수집 계획을 선택하여 사용할 수 있다. 데이터는 트레이스 데이터, 프로세스 로그 정보, 레시피 데이터, 점검 카운터 데이터, OES 데이터, VIP 데이터, 아날로그 데이터, 또는 그것에 관한 2 이상의 조합을 포함할 수 있다. 측정 장치들 및/또는 센서들은 DC 계획에 의해 시작 및 중단될 수 있다. DC 계획은 데이터를 트리밍하고, 데이터를 클리핑하며, 스파이크 데이터(spike data) 및 아웃라이어들을 다루기 위한 정보도 제공할 수 있다.
더 나아가, 프로세싱 시스템 컨트롤러(120)는, 프로세스 시퀀스의 PM 오브젝트가 실행될 때, PM 분석 전략도 실행할 수 있다. PM 분석 전략은 PM 분석 계획, PM 판단 계획, 또는 그것에 관한 조합을 구비할 수 있다. PM 분석 전략이 실행될 때, 웨이퍼 데이터, 프로세스 데이터, 및/또는 모듈 데이터가 분석될 수 있고, 오류 조건들이 식별될 수 있다.
예를 들어, 데이터가 수집된 후, 데이터는 실행-규칙(run-rule) 평가를 위해 SPC(Statistical Process Control) 프로그램으로 송신될 수 있다. SPC 제한들은 이력 데이터에 기초해 자동적으로 계산될 수 있거나, 고객의 경험 또는 프로세스 지식에 기초해 수동적으로 입력될 수 있거나, 호스트 컴퓨터로부터 획득될 수 있다. SPC 챠트들은 가상 모듈들 및/또는 물리적 모듈들을 위한 컨트롤러(120)에 의해 자동적으로 발생될 수 있다.
데이터는 경보 및 제어 제한들과 비교될 수 있고, 실행-규칙이 침범될 때, 프로세스가 통계적 제한들을 초과했다는 것을 지시하는 SPC 알람이 발생될 수 있다. 알람이 발생될 때, 프로세스 시스템 컨트롤러는 통지나 개입(intervention)을 수행할 수 있다. 통지는 이-메일을 경유할 수 있거나 이-메일 활성형 페이저에 의한 것일 수 있다. 또한, 컨트롤러(120)는 현재 로트의 끝에서 프로세스를 일시 중단하거나 현재 웨이퍼의 끝에서 프로세스를 일시 중단하는 개입을 수행할 수 있다. 컨트롤러(120)는 알람을 발생시킨 가상 모듈 및/또는 물리적 모듈을 식별할 수 있다.
일 실시예에서, 프로세싱 시스템 컨트롤러(120)는 프로세스 시퀀스의 PM 오브젝트 각각을 위한 프로세스 레시피를 판정할 수 있다. 다른 방법으로, 프로세스 레시피들은 호스트 시스템에 의해 판정, 송신, 및/또는 확인될 수도 있다.
프로세싱 시스템 컨트롤러(120)는, 프로세스 시퀀스의 프로세싱 오브젝트가 물리적 모듈로의 비방문과 연관될 때, VM 제어 전략을 실행할 수도 있다. VM 제어 전략은 적어도 하나의 VM 제어 계획들을 구비할 수 있다. VM DC 전략이 실행될 수도 있고, VM DC 전략은 VM 데이터를 수집하기 위한 적어도 하나의 VM DC 계획들을 구비할 수 있다.
VM 제어 전략이 실행될 경우, 웨이퍼는 물리적 모듈에서 프로세싱되지 않거나 측정 모듈에서 측정되지 않는다. VM DC 전략이 실행될 경우에는, 웨이퍼를 위해 VM 데이터가 수집될 수 있다.
일 실시예에서, 프로세싱 시스템 컨트롤러(120)는 프로세스 시퀀스의 VM 오브젝트 각각을 위한 "널" 레시피를 판정하는데 사용될 수 있다. 예를 들어, "널" 레시피는 웨이퍼를 동작의 "보유" 유형으로서 물리적 모듈쪽으로 이동시키는데 사용될 수 있다. 다른 방법으로, "널" 레시피는 웨이퍼를, 전송 모듈, 로딩 모듈, 저장 모듈, 가열 모듈, 또는 냉각 모듈과 같은, 임시 저장 장소로 이동시키는데 사용될 수 있다.
VM 오브젝트가 실행될 때, 프로세스 시스템 컨트롤러(120)는 데이터의 최소량을 가진 데이터 파일을 생성할 수 있다. VM 오브젝트는, 웨이퍼가 물리적 모듈들 중 하나에서 적어도 하나의 프로세싱 단계들을 요구하지 않을 때, 발생할 수 있다. 프로세스 시스템 컨트롤러(120)는, VM 오브젝트의 실행 동안, 웨이퍼를 그것의 현재 위치에 남겨두거나 웨이퍼를 보유 위치로 이동시킬 수 있다. 다른 방법으로, "널" 레시피는 웨이퍼를, 전송 모듈, 로딩 모듈, 저장 모듈, 가열 모듈, 또는 냉각 모듈과 같은, 임시 저장 장소로 이동시키는데 사용될 수 있다.
가상 모듈들이 위치 보유자들로서 사용될 때, 데이터의 최소량이 발생된다. 예를 들어, 데이터 파일은 가상 모듈 명칭 및 "널" 식별자를 구비할 수 있다.
도 8로 복귀하면, 프로세스 시퀀스를 실행한 후, 프로세싱 시스템 컨트롤러(120)는, 프로세스 시퀀스의 프로세싱 오브젝트가 물리적 모듈을 통한 실제 통과와 연관될 때, PM 데이터를 수집할 수 있다. 또한, 프로세싱 시스템 컨트롤러(120)는, 프로세스 시퀀스의 프로세싱 모듈이 물리적 모듈로의 비방문과 연관될 때, VM 데이터를 수집할 수도 있다. PM 데이터 및 VM 데이터는 프로세싱 시스템과 연관된 데이터베이스에 저장될 수 있다.
일 실시예에서, 프로세싱 시스템 컨트롤러(120)는 PM 데이터, VM 데이터, 또는 그것에 관한 조합을 호스트 시스템으로 송신할 수 있다. 또한, PM 데이터 및 VM 데이터는 호스트 시스템과 연관된 데이터베이스에 저장될 수도 있다.
태스크 850에서는, 다른 웨이퍼가 프로세싱을 요구하는지를 판정하기 위한 쿼리(query)가 수행될 수 있다. 그렇다면, 절차(800)는, 도 8에 도시되어 있는 바와 같이, 프로세스 시퀀스를 실행하기 위해 태스크 830으로 역 분기한다. 다른 웨이퍼가 프로세싱을 요구하지 않는다면, 절차(800)는 절차(800)를 종료하는 태스크 860으로 분기한다.
도 9는, 본 발명의 다른 실시예에 따른, 호스트 시스템 컨트롤러 조작 방법을 위한 흐름도를 나타낸다. 예시된 실시예에는, 웨이퍼-기반 절차(900)가 도시되어 있지만, 본 발명을 위해 반드시 그래야 하는 것은 아니다. 다른 방법으로, 본 절차는 로트-기반 또는 배치-기반일 수 있다. 절차(900)는, 예를 들어, 시작 이벤트가 웨이퍼-인 이벤트, 로트-시작 이벤트, 배치 시작 이벤트, 또는 다른 프로세스로부터의 끝 이벤트일 수 있는 태스크 910에서 시작한다.
태스크 920에서, 호스트 컨트롤러는, 웨이퍼를 위한 원하는 프로세스 결과를 사용해, 필요한 프로세스 시퀀스를 판정할 수 있다.
태스크 930에서, 호스트 컨트롤러는, 프로세스 시퀀스, 프로세스 시퀀스 길이(N), PM 오브젝트들의 수(Nact), VM 오브젝트들의 수(Nnon), 물리적 모듈 각각을 통한 통과들의 최대 수(Nmax), 또는 그것에 관한 2 이상의 조합을 구비하는 SVMP(static virtual module plan)을 생성할 수 있다.
호스트 컨트롤러는, 웨이퍼가 원하는 프로세스 결과를 실현하기 위해 실제 로 사용하는 물리적 모듈을 통한 통과들의 실제 수(Nact)를 판정할 수 있고, 웨이퍼가 물리적 모듈을 통과하는 실제 통과 각각을 위한 PM 오브젝트를 확립할 수 있다. 또한, 호스트 컨트롤러는, 원하는 프로세스 결과를 실현하기 위해 웨이퍼가 실제로 사용하는 물리적 모듈로의 비방문들의 실제 수(Nact)를 판정할 수 있고, 웨이퍼와 연관된 각각의 비방문(건너뛰기되는 방문)을 위한 VM 오브젝트를 확립할 수 있다. 호스트 컨트롤러는, 웨이퍼가 원하는 프로세스 결과를 실현하는데 사용할 수 있는 각각의 물리적 모듈을 통한 통과들의 최대 수(Nmax)도 판정할 수 있다. 또한, 호스트 컨트롤러는 웨이퍼를 위한 프로세스 시퀀스 길이(N)도 판정할 수 있는데, 이 경우, 프로세스 시퀀스 길이(N)는 각각의 물리적 모듈과 연관된 방문들 및 비방문들의 최대 수의 합과 동일하다. 더 나아가, 호스트 컨트롤러는 웨이퍼와 연관된 물리적 모듈들로의 방문들의 수(Nact)를 판정할 수 있고(Nact는 0 이상인 정수), 웨이퍼와 연관된 물리적 모듈로의 방문(Nact) 각각을 위한 PM 오브젝트를 확립할 수 있다. 또한, 호스트 컨트롤러는 웨이퍼와 연관된 물리적 모듈들로의 비방문들의 수(Nnon)를 판정할 수 있고((Nnon = Nmax - Nact) 및 Nnon은 0 이상의 정수), 웨이퍼와 연관된 물리적 모듈로의 비방문(Nnon) 각각을 위한 VM 오브젝트를 확립할 수 있다. 더 나아가, 호스트 컨트롤러는 (Nact)개의 PM 오브젝트들 및 (Nnon)개의 VM 오브젝트들을 구비하는 프로세스 시퀀스를 판정할 수 있고, 프로세스 시퀀스의 PM 오브젝트 각각은 물리적 모듈을 통한 실제 통과와 연관될 수 있으며, 프로세스 시퀀스의 VM 오브젝트 각각은 물리적 모듈로의 비방문과 연관된다.
SVMP를 생성한 후, 호스트는, 태스크 940에서, SVMP를 프로세싱 시스템으로 송신할 수 있다. 그 다음, 절차(900)는 태스크 950에서 종료할 수 있다.
프로세싱 시스템이 SVMP를 실행할 때, 프로세싱 시스템은 호스트 시스템과 데이터를 교환할 수 있다. 예를 들어, 호스트 시스템은, 프로세싱 시스템이 프로세스 시퀀스를 실행하여 PM 오브젝트가 실행될 때, PM 데이터를 수신할 수 있다. 또한, 호스트 시스템은, 프로세싱 시스템이 프로세스 시퀀스를 실행하여 VM 오브젝트가 실행될 때, VM 데이터를 수신할 수 있다.
일 실시예에서, 호스트 컨트롤러는 프로세스 시퀀스의 PM 오브젝트 각각을 위한 프로세스 레시피를 판정할 수 있고, 그 다음, 프로세스 시퀀스의 PM 오브젝트 각각을 위한 프로세스 레시피를 프로세싱 시스템으로 송신할 수 있다. 호스트 컨트롤러는 프로세스 시퀀스의 VM 오브젝트 각각을 위한 프로세스 레시피를 판정할 수 있고, 호스트 컨트롤러는 프로세스 시퀀스의 VM 오브젝트 각각을 위한 프로세스 레시피를 프로세싱 시스템으로 송신할 수 있다.
호스트 컨트롤러는 원하는 프로세스 결과를 판정할 수 있고, 원하는 프로세스 결과는 트림량, 에칭량, 증착량, 또는 그것에 관한 2 이상의 조합을 구비할 수 있다.
반도체 프로세싱 시스템이 호스트 시스템 및 적어도 하나의 프로세싱 시스템들을 포함할 때, 호스트 시스템 및 프로세싱 시스템은 다같이 동작하여 프로세싱 동작들을 제어 및/또는 모니터링할 수 있다. 프로세싱 시스템은 호스트 시스템과 협력하여 프로세스 시퀀스를 포함하는 DVMP(dynamic virtual module plan)를 생성할 수 있고, 프로세싱 시스템 컨트롤러는 DVMP를 호스트 시스템으로 송신할 수 있다. 일 실시예에서, 프로세스 시퀀스는 VM 오브젝트들 및 PM 오브젝트들의 시퀀스를 구비할 수 있다.
도 10은, 본 발명의 다른 실시예에 따른, 프로세싱 시스템 컨트롤러 조작 방법을 위한 흐름도를 나타낸다. 예시된 실시예에는, 웨이퍼-기반 절차(1000)가 도시되어 있지만, 본 발명을 위해 반드시 그래야 하는 것은 아니다. 다른 방법으로, 본 절차는 로트-기반 또는 배치-기반일 수 있다. 절차(1000)는 태스크 1010에서 시작한다. 예를 들어, 시작 이벤트는 웨이퍼-인 이벤트, 로트-시작 이벤트, 배치 시작 이벤트, 또는 다른 프로세스로부터의 끝 이벤트일 수 있다.
태스크(1020)에서, 프로세싱 시스템 컨트롤러는 호스트 시스템으로부터 원하는 프로세스 결과를 수신할 수 있다. 원하는 프로세스 결과는 트림량, 에칭량, 증착량, 또는 그것에 관한 2 이상의 조합을 구비할 수 있다.
일 실시예에서, 프로세싱 시스템 및 호스트 시스템은 협력하여 웨이퍼를 프로세싱하는데 사용할 정확한 프로세스 시퀀스를 판정한다. 예를 들어, COR 프로세스와 같은, 트리밍 프로세스에서, 웨이퍼들 중 일부는 COR 모듈들을 통한 통과들을 요구하지 않을 수도 있고, 일부 웨이퍼들은 COR 모듈들을 통한 한번의 통과를 요구할 수도 있으며, 다른 웨이퍼들은 COR 모듈들을 통한 한번 이상의 통과들을 요구할 수도 있다. 이 경우, 호스트 시스템은, 프로세싱 시스템이 COR 모듈들 및 가상 모듈들을 통한 통과들의 수를 판정할 수 있게 한다. 통과들의 수는 상이한 웨이퍼들을 위한 프로세스 시퀀스들에서의 프로세스 오브젝트들의 상이한 수를 관리하도록 확립될 수 있다.
호스트 시스템으로부터 원하는 프로세스 결과가 수신된 후, 프로세싱 시스템 컨트롤러는, 태스크(1030)에서, 수신된 원하는 결과를 사용해, 웨이퍼를 위한 DVMP(dynamic virtual module plan)를 생성할 수 있다. 일 실시예에서, DVMP는 웨이퍼를 위한 원하는 프로세스 결과, 웨이퍼가 원하는 프로세스 결과를 실현하는데 사용할 수 있는 물리적 모듈을 통한 통과들의 실제 수(Nact), 웨이퍼가 원하는 프로세스 결과를 실현하는데 사용할 수 있는 물리적 모듈을 통한 통과들의 최대 수(Nmax), 프로세스 시퀀스, 및 웨이퍼를 위한 프로세스 시퀀스 길이(N)를 구비할 수 있다. 프로세스 시퀀스 길이(N)는 물리적 모듈을 통한 통과들의 최대 수(Nmax)와 동일할 수 있다. 프로세스 시퀀스는 N개의 프로세스 오브젝트들을 포함할 수 있고, 프로세스 시퀀스의 PM 오브젝트는 물리적 모듈을 통한 실제 통과와 연관될 수 있으며, VM 오브젝트는 물리적 모듈로의 비방문과 연관될 수 있다.
태스크(1040)에서, 프로세싱 시스템 컨트롤러는 DVMP를 호스트 시스템으로 송신할 수 있다.
프로세스 시퀀스가 판정되었을 때, 프로세싱 시스템 컨트롤러는 프로세스 시퀀스를 실행할 수 있고, 프로세스 시퀀스는 N개의 프로세스 오브젝트들을 구비할 수 있으며, PM 오브젝트, VM 오브젝트, 또는 그것에 관한 조합을 포함할 수 있다. PM 데이터는, 프로세스 시퀀스의 PM 오브젝트가 실행될 때, 수집될 수 있고, VM 데이터는, 프로세스 시퀀스의 VM 오브젝트가 실행될 때, 수집될 수 있다. 프로세싱 시스템 컨트롤러는 PM 데이터, VM 데이터, 또는 그것에 관한 조합을 호스트 시스템으로 송신할 수 있다. 또한, PM 데이터 및/또는 VM 데이터는 프로세싱 시스템 및/또는 호스트 시스템과 연관된 데이터베이스에 저장될 수 있다.
절차(1000)는 태스크(1050)에서 종료한다.
프로세싱 시스템 컨트롤러는, 프로세스 시퀀스의 PM 오브젝트가 실행될 때, PM 제어 전략을 실행할 수 있다. PM 제어 전략은 적어도 하나의 PM 제어 계획들을 포함할 수 있다. PM 제어 전략 선택 및 개시는 문맥-기반적일 수 있다. PM 제어 전략이 실행될 때, 웨이퍼가 물리적 모듈에서 프로세싱될 수 있다.
또한, 프로세싱 시스템 컨트롤러는 PM DC 전략을 실행할 수 있는데, PM DC 전략은 적어도 하나의 PM DC 계획을 구비한다. PM DC 전략 선택 및 개시 또한 문맥-기반적일 수 있다. PM DC 전략이 실행될 때, 물리적 모듈에서 프로세싱되고 있는 웨이퍼를 위해 PM 데이터가 수집될 수 있다.
더 나아가, 프로세싱 시스템 컨트롤러는, 프로세스 시퀀스의 PM 오브젝트가 실행될 때, PM 분석 전략을 실행할 수 있다. PM 분석 전략은 PM 분석 계획, PM 판단 계획, 또는 그것에 관한 조합을 구비할 수 있다. PM 분석 전략이 실행될 때, 웨이퍼 데이터, 프로세스 데이터, 및/또는 모듈 데이터가 분석될 수 있고, 오류 조건들이 식별될 수 있다.
일 실시예에서, 프로세싱 시스템 컨트롤러는 프로세스 시퀀스의 PM 오브젝트 각각을 위한 프로세스 레시피를 판정할 수 있다. 다른 방법으로, 프로세스 레시피들은 호스트 시스템에 의해 판정, 송신, 및/또는 확인될 수도 있다. 프로세싱 시스템 컨트롤러는, 프로세스 시퀀스의 프로세스 오브젝트가 물리적 모듈로의 비방문과 연관될 때, VM 제어 전략도 실행할 수 있다. VM 제어 전략은 적어도 하나의 VM 제어 계획들을 구비할 수 있다. VM DC 전략도 실행될 수 있고, VM DC 전략은 VM 데이터를 수집하기 위한 적어도 하나의 VM DC 계획들을 구비할 수 있다.
VM 제어 전략이 실행될 경우, 웨이퍼는 물리적 모듈에서 프로세싱되지 않는다. VM DC 전략이 실행될 경우에는, 웨이퍼를 위해 VM 데이터가 수집될 수 있다.
일 실시예에서, 프로세싱 시스템 컨트롤러는 프로세스 시퀀스의 VM 오브젝트 각각을 위한 "널" 레시피를 판정하는데 사용될 수 있다. 예를 들어, "널" 레시피는 웨이퍼를 동작의 "보유" 유형으로서 물리적 모듈쪽으로 이동시키는데 사용될 수 있다. 다른 방법으로, "널" 레시피는 웨이퍼를, 전송 모듈, 로딩 모듈, 저장 모듈, 가열 모듈, 또는 냉각 모듈과 같은, 임시 저장 장소로 이동시키는데 사용될 수 있다.
일 실시예에서, 프로세싱 시스템 컨트롤러는 프로세스 시퀀스의 적어도 하나의 프로세스 오브젝트들을 위한 프로세스 레시피를 수신할 수 있다. 예를 들어, 호스트 시스템은 물리적 모듈에 의해 특정 프로세스 레시피가 수행될 것을 요구할 수 있다. 또한, 호스트 시스템은 "샘플링된" 웨이퍼를 위한 프로세스 단계들의 특정 세트를 요구할 수도 있다. 예를 들어, 웨이퍼는 외부 측정 모듈로 송신될 수도 있다.
프로세싱 모듈은 에칭 모듈, 증착 모듈, COR(chemical oxide removal) 모듈, 가열 모듈, 전송 모듈, 냉각 모듈, 현상 모듈, 또는 그것에 관한 2 이상의 조합을 구비할 수 있다. 측정 모듈들은 광학 측정 모듈, ODP(optical digital profile) 모듈, SEM 모듈, TEM 모듈, 또는 그것에 관한 2 이상의 조합을 포함할 수 있다.
반도체 프로세싱 시스템이 호스트 시스템 및 적어도 하나의 프로세싱 시스템들을 포함할 때, 호스트 시스템 및 프로세싱 시스템은 다같이 동작하여 프로세싱 동작들을 제어 및/또는 모니터링할 수 있다. 프로세싱 시스템은 호스트 시스템과 협력하여, 프로세스 시퀀스를 포함하는 DVMP를 생성할 수 있다. 프로세싱 시스템 컨트롤러는 DVMP를 호스트 시스템으로 송신할 수 있고, 호스트 시스템은 DVMP를 실행할 수 있다. 일 실시예에서, 프로세스 시퀀스는 VM 오브젝트들 및/또는 PM 오브젝트들의 시퀀스를 구비할 수 있다.
도 11은, 본 발명의 다른 실시예에 따른, 프로세싱 시스템 컨트롤러 조작 방법을 위한 흐름도를 나타낸다. 예시된 실시예에는, 웨이퍼-기반 절차(1100)가 도시되어 있지만, 다른 방법으로, 본 절차는 로트-기반 또는 배치-기반일 수 있으므로, 본 발명을 위해 반드시 그래야 하는 것은 아니다. 절차(1100)는, 시작 이벤트가, 예를 들어, 웨이퍼-인 이벤트, 로트-시작 이벤트, 배치-시작 이벤트, 또는 다른 프로세스로부터의 끝 이벤트일 수 있는 태스크(1110)에서 시작한다.
태스크(1120)에서, 호스트 컨트롤러는 프로세싱 시스템으로부터 DVMP를 수신할 수 있다. DVMP는 웨이퍼를 위한 원하는 프로세스 결과, 웨이퍼가 원하는 프로세스 결과를 실현하는데 사용할 수 있는 물리적 모듈을 통한 통과들의 실제 수(Nact), 웨이퍼가 원하는 프로세스 결과를 실현하는데 사용할 수 있는 물리적 모듈을 통한 통과들의 최대 수(Nmax), 프로세스 시퀀스, 및 웨이퍼를 위한 프로세스 시퀀스 길이(N)를 구비한다. 프로세스 시퀀스 길이(N)는 물리적 모듈을 통한 통과들의 최대 수(Nmax)와 동일할 수 있다. 프로세스 시퀀스는 N개의 프로세스 오브젝트들을 가질 수 있다. 프로세스 시퀀스는, 물리적 모듈을 통한 실제 통과와 연관된, 프로세스 시퀀스의 프로세스 오브젝트 각각을 위한 PM 오브젝트를 포함할 수 있고, 물리적 모듈로의 비방문과 연관된, 프로세스 시퀀스의 프로세스 오브젝트 각각을 위한 VM 오브젝트를 포함할 수 있다.
태스크(1130)에서, 호스트 컨트롤러는 DVMP를 실행할 수 있고, 태스크 1140에서, 절차(1100)는 종료한다.
일 실시예에서, 호스트 컨트롤러는, 프로세싱 시스템이 프로세스 시퀀스를 실행하여 PM 오브젝트가 실행될 때, PM 데이터를 수신할 수 있고, 프로세싱 시스템이 프로세스 시퀀스를 실행하여 VM 오브젝트가 실행될 때, VM 데이터를 수신할 수 있다.
호스트 컨트롤러는 프로세스 시퀀스의 적어도 하나의 PM 오브젝트를 위한 프로세스 레시피를 판정 및/또는 확인할 수 있고, 프로세스 시퀀스의 적어도 하나의 PM 오브젝트들을 위한 프로세스 레시피를 데이터베이스로 송신할 수 있다.
호스트 컨트롤러는 프로세스 시퀀스의 적어도 하나의 VM 오브젝트를 위한 프로세스 레시피를 판정 및/또는 확인할 수 있고, 프로세스 시퀀스의 적어도 하나의 VM 오브젝트들을 위한 프로세스 레시피를 데이터베이스로 송신할 수 있다.
일 실시예에서, PM 데이터 오브젝트는 웨이퍼가 물리적 모듈을 통과하는 실제 통과 각각을 위해 확립될 수 있는 한편, VM 데이터 오브젝트는 웨이퍼와 연관된 물리적 모듈로의 비방문(Nnon) 각각을 위해 확립될 수 있다.
반도체 프로세싱 시스템이 호스트 시스템 및 적어도 하나의 프로세싱 시스템들을 포함할 때, 호스트 시스템은 마스터 시스템으로서 동작할 수 있고 프로세싱 동작들의 주요 부분을 제어 및/또는 모니터링할 수 있다. 호스트 시스템은 프로세스 시퀀스를 포함하는 SVMP를 생성할 수 있고, SVMP를 프로세싱 시스템으로 송신할 수 있다. 일 실시예에서, 프로세스 시퀀스는 물리적 모듈(PM) 및 가상 모듈(VM) 오브젝트들의 시퀀스를 구비할 수 있다.
SVMP 및/또는 DVMP는 웨이퍼 의존적일 수 있는데, 다시 말해, 일부 웨이퍼들은 물리적 모듈로의 다수 방문들을 요구하는 한편, 다른 웨이퍼들은 물리적 모듈로의 단일 또는 비방문을 요구할 것이다.
도 12는, 본 발명의 실시예에 따른, 가상 모듈(VM) Control Strategy 스크린의 예시적 화면을 예시한다. VM Control Strategy 스크린은 다수의 구성 항목들을 구비할 수 있다. Strategy Name 필드는 VM 제어 전략 명칭(strategy name)을 입력/편집하는데 사용될 수 있다. Description 필드는 VM 제어 전략 설명(description)을 입력/편집하는데 사용될 수 있다. Mode 필드는 VM 제어 전략을 위한 모드를 입력/편집하는데 사용될 수 있다. 예를 들어, 모드들은 표준 모드 및 시뮬레이션 모드를 포함할 수 있다. Enabled 박스는 VM 제어 전략을 인에이블(enable) 또는 디스에이블(disable)하는데 사용될 수 있다.
Load Port 필드는 프로세싱 도구로부터 부하 포트(load port) 정보의 리스트를 획득하는데 사용될 수 있다. Load Port Update 버튼은 리프레시 기능(refresh function)으로서 사용될 수 있고, 프로세싱 도구로부터 현재의 부하 포트 정보를 획득하는데 사용될 수 있다.
System Recipe 필드는 프로세싱 도구로부터 시스템 레시피(system recipe)들의 리스트를 획득하는데 사용될 수 있다. System Recipe Update 버튼은 리프레시 기능으로서 사용될 수 있고, 프로세싱 도구로부터 현재의 레시피 정보를 획득하는데 사용될 수 있다. 예를 들어, 시스템 레시피 명칭은, 시스템 레시피 명칭과 같은 적어도 하나의 문맥 항목들을 매칭하는 것에 의해, VM 제어 전략을 트리거하는데 사용될 수 있다.
Transfer Route 필드는, 프로세싱 도구로부터, 선택된 부하 포트 및 시스템 레시피를 위한 전송 경로(transfer route)를 획득하는데 사용될 수 있다. Transfer Route Update 버튼은 리프레시 기능으로서 사용될 수 있고, 프로세싱 도구로부터 현재의 레시피 정보를 획득하는데 사용될 수 있다.
Transfer Route 필드는, 프로세싱 도구로부터, 선택된 부하 포트 및 시스템 레시피를 위한 전송 경로를 획득하는데 사용될 수 있다. 예를 들어, 전송 경로는, 웨이퍼가 IMM쪽으로 전송되는 시점 및 웨이퍼가 프로세스 모듈(PMxx)에서 프로세싱되는 시점을 판정하는데 사용될 수 있다. Description 필드는 VM 모델을 위한 설명(description)을 제공하는데 사용될 수 있다.
전송 경로는, 웨이퍼들이 프리-프로세스 측정 및 포스트-프로세스 측정들을 위해 IM 모듈로 진행하는 것을 나타낼 수 있다. VM 프로세스 동안, 적어도 하나의 IMM들이 사용될 수 있다. 예시된 실시예에서, 전송 경로는 6-단계 프로세스(IMM1-PM01-IMM1-PM02-LLM2-IMM1)를 나타내지만, 본 발명을 위해 반드시 그래야 하는 것은 아니다. 다른 실시예들에서는, 상이한 전송 경로들이 사용될 수 있고, 상이한 모듈들이 사용될 수 있다. 다른 방법으로, 가상 모듈 명칭들이 도시될 수도 있다.
Metrology Data Failure 필드는 다음 옵션들: (1) Use Tool Process Recipe(Nominal Recipe) - 소프트웨어가 프로세스 도구로 지시를 송신하고 프로세스 도구는 도구 프로세스 레시피를 사용한다. (2) Do Not Use Process Recipe("null" Recipe) - 소프트웨어는 웨이퍼와 연관된 "널" 레시피 정보를 프로세스 도구로 송신하고 웨이퍼는, 프로세싱되지 않는 상태로, 챔버를 출입한다. (3) PM Pause - 프로세스 모듈 일시 중단하기, 및 (4) System Pause - 전송 시스템을 포함하는 시스템 일시 중단하기로부터 측정 데이터 장애 액션(metrology data failure action)을 입력/편집하는데 사용될 수 있다.
Control Failure 필드는 다음 옵션들: (1) Use Tool Process Recipe(Nominal Recipe) - 소프트웨어가 프로세스 도구로 지시를 송신하고 프로세스 도구는 도구 프로세스 레시피를 사용한다. (2) Do Not Use Process Recipe("null" Recipe) - 소프트웨어는 웨이퍼와 연관된 "널" 레시피 정보를 프로세스 도구로 송신하고 웨이퍼는, 프로세싱되지 않는 상태로, 챔버를 출입한다. (3) PM Pause - 프로세스 모듈 일시 중단하기, 및 (4) System Pause - 전송 시스템을 포함하는 시스템 일시 중단하기로부터 Control Failure 옵션을 입력/편집하는데 사용될 수 있다.
도구 레벨 및/또는 시스템 레벨 컨트롤러는 제어 장애들을 검출할 수 있다. 제어 장애가 발생하면, 시스템은 도구 프로세스 레시피(공칭 레시피)를 사용하거나, "널" 레시피를 사용하거나, VM 프로세스를 중단하거나, 프로세스 모듈을 중단하거나, 전체 시스템을 일시 중단하도록 구성될 수 있다.
또한, 다수의 Usage Context Specification 필드들은, 이러한 추가 문맥 항목들이 요구될 때, 추가적인 문맥 매칭 항목들을 제공하는데 사용될 수 있다. Lot ID(s) 필드는 로트 식별자들을 입력/편집하는데 사용될 수 있고; Wafer ID(s) 필드는 웨이퍼 식별자들을 입력/편집하는데 사용될 수 있으며; CJ ID(s) 필드는 제어 작업 식별자들을 입력/편집하는데 사용될 수 있고; PJ ID(s) 필드는 프로세스 작업 식별자들을 입력/편집하는데 사용될 수 있으며; Cassette ID(s) 필드는 카세트 식별자들을 입력/편집하는데 사용될 수 있고; Carrier ID(s) 필드는 캐리어 식별자들을 입력/편집하는데 사용될 수 있으며; Slot(s) 필드는 슬롯 번호들을 입력/편집하는데 사용될 수 있고; Substrate ID(s) 필드는 기판 식별자들을 입력/편집하는데 사용될 수 있으며; Wafer Type(s) 필드는 웨이어 유형들을 입력/편집하는데 사용될 수 있고; Scribed Wafer ID(s) 필드는 설명된 웨이퍼 식별자들을 입력/편집하는데 사용될 수 있으며; 제 1 Start Time 필드는 시작 시간을 입력/편집하는데 사용될 수 있고; 제 2 Start Time 필드는 끝 시간을 입력/편집하는데 사용될 수 있다.
도 12에 도시되어 있는 바와 같이, VM 제어 전략은 적어도 하나의 VM 제어 계획들을 구비할 수 있다. Control Strategy 스크린을 사용해, 사용자는 VM 제어 전략 구성을 수행할 수 있고, 기존의 VM 제어 전략을 살펴볼 수 있으며, 새로운 VM 제어 전략을 생성할 수 있고, 기존의 VM 제어 전략을 복사할 수 있으며, 기존의 VM 제어 전략을 편집할 수 있고, 기존의 VM 제어 전략을 삭제할 수 있으며, VM 제어 전략을 테스트할 수 있다. 예를 들어, 드롭다운 리스트가 행동 방침을 선택하는데 사용될 수 있다.
도 13은, 본 발명의 실시예에 따른, Control Plan Editor 스크린의 예시적 화면을 예시한다. 도 13에는, 프로세스 모듈(PM01)을 구비할 수 있는 가상 모듈을 관리하기 위한 제어 계획을 위한 VM Control Plan 화면이 도시되어 있다. 다른 방법으로, 다른 프로세스 모듈들(PMxx) 및 측정 모듈들(IMyy)과 같은, 다른 모듈들이 사용될 수도 있다.
VM Control Plan을 생성하기 위해, 사용자는 계획 명칭 항목을 선택할 수 있고 새로운 제어 계획이나 기존의 계획 또는 모델을 선택할 수 있다. 예를 들어, VM Control Strategy 스크린상에, 드롭다운 메뉴가 출현할 수 있고 Add Plan 선택이 선택될 수 있다.
VM Control Plan 스크린은 다수 필드들을 구비할 수 있다. Plan Name 필드는 VM 제어 계획을 위한 명칭을 입력/편집하는데 사용될 수 있다. Module 필드는 모듈 명칭을 입력/편집하는데 사용될 수 있다. 예를 들어, 계획이 전략과 연관되어 있다면, 모듈 필드는 자동적으로 채워질 수도 있다. 계획이 무관하다면, 모듈 필드는 프로세스 모듈 또는 측정 모듈을 선택하는데 사용될 수 있다. Recipe 필드는 레시피를 입력/편집하는데 사용될 수 있다. 예를 들어, 계획이 전략과 연관되어 있다면, 레시피 필드는 자동적으로 채워질 수도 있다. 계획이 무관하다면, 이 필드는 프로세스 모듈을 위한 프로세스 레시피 또는 측정 모듈을 위한 측정 레시피를 선택하는데 사용될 수 있다.
Description 필드는 계획을 위한 설명을 입력/편집하는데 사용될 수 있다. Updated 필드는 계획이 변경된 마지막 시간을 표시한다.
Data Sources 도표는 데이터 소스를 입력/편집하는데 사용될 수 있다. 예를 들어, VM Plan Data Source 스크린이 열릴 수도 있다. Data Sources 도표는 소스 유형, 데이터 소스 설명, 및 데이터 소스 파라미터/값을 포함할 수 있다. 예를 들어, 선택된 소스 유형이 Data Source 스크린상에 표시되는 옵션들을 판정하는데: "Telius ODP" 유형은 프로세싱 도구의 일부인 통합된 측정 모듈 데이터 소스들을 정의하는데 사용될 수 있고; "Desired Output" 유형은 사용자로 하여금 컨트롤러를 위한 고정 단위(fixed unit)를 입력할 수 있게 하며; "Feedback Offset" 유형은 사용자로 하여금 영속적인 피드백 변수를 정의할 수 있게 하고; "Control Plan Value"는 사용자로 하여금 상이한 제어 계획의 결과들을 참조하는 (내포형 계획들을 생성하는) 변수를 생성할 수 있게 하며; "Integrated Metrology Site Filtering" 유형은, 각각의 데이터 소스가 선택될 때의 옵션 각각에 대한 설명들로써 도표들을 생성하고; "Contextltem" 유형은 사용자로 하여금, Slot_Id, Wafer_Id, 또는 웨이퍼 번호와 같은, 문맥 항목을 참조하는 변수를 생성할 수 있게 한다.
Symbol 드롭다운 리스트로부터 심볼이 선택될 수 있고, Data Source Type 드롭다운 리스트로부터 소스 유형이 선택될 수 있다. 예를 들어, 데이터 소스 정보 필드들은 선택된 데이터 소스에 따라 달라질 수 있다.
하나의 입력 데이터 소스(d1)가 도시되어 있지만, 반드시 그래야 하는 것은 아니다. 상이한 수의 입력 데이터 소스들이 사용될 수 있고, 각각의 입력 데이터 소스는 상이한 심볼 값을 가질 수 있다. 예를 들어, 하나의 데이터 소스는 ODP 도구일 수 있고, 그것은, Telius와 같은, 프로세싱 도구의 일부일 수 있다. 또한, 다른 데이터 소스는 SEM일 수 있고, Parameter/Value는 CD-SEM 데이터와 같은 실제 측정 데이터일 수 있다.
일반적으로, 프로세스 제어는, 웨이퍼가 프로세스 모듈에 도착하기 전에 웨이퍼에 대해 측정된 측정 정보를 사용해, 프로세스 모듈 레시피를 업데이트하는 단계를 포함할 수 있다. 컨트롤러는, 프리-프로세싱 데이터를 사용해, 다양한 물리적 모듈들로의 얼마나 많은 방문들이 요구되는지를 판정할 수 있다. 원하는 프로세스 결과는 모델 방정식의 "y" 값일 수 있다. 태스크는, 원하는 프로세스 결과 "y"가 정확한 값인 때를 판정한다.
VM Control Plan 스크린상의 타깃 계산 필드에서, 타깃 계산이 입력될 수 있다. 예를 들어, 타깃 계산은 데이터 소스 항목과 동일하게 설정될 수 있다. 다른 방법으로, 데이터의 일 세트를 데이터의 다른 세트와 연관짓는 방정식이 입력될 수도 있다. 또한, 타깃 계산은 추가적인 보상 항목을 구비할 수도 있다. 예를 들어, 추가적인 보상 팩터는, 게이트 스택 에칭 단계와 같은, 다른 단계에서 도입된 오류들을 정정하는데 사용될 수 있다. 새로운 타깃 값은, 런타임시에 또는 런타임 이전에 계산되는 변수일 수 있고, 방정식이 타깃 값을 계산하는데 사용될 수 있다.
또한, 새로운 하한 및 상한 값들이 사용될 수 있고, 하한 필드 및 상한 필드에 이 값들이 입력될 수 있다. 예를 들어, 새로운 하한 및 상한 값들은 런타임시에 또는 런타임 이전에 계산되는 상수들 또는 변수들일 수 있고, 방정식들이 새로운 하한 및 상한 값들을 계산하는데 사용될 수 있다.
Model Selections 필드는 정적 모델(static model) 및/또는 공식 모델(formula model)을 편집/입력하는데 사용될 수 있다. 예를 들어, 모델 유형 선택 항목하에서, 도표의 선택 항목은 모델 유형을 입력 및/또는 편집하는데 사용될 수 있다. 드롭다운 리스트가 도표 항목으로부터 활성화될 수 있고 드롭다운 리스트로부터 선택이 이루어질 수 있다. 드롭다운 리스트의 일 옵션은 새로운 모델이 생성되게 하는 것이고; 다른 옵션들은, 사용하거나 변경하기 위해, 기존 모델들을 표시하고 선택하는데 사용될 수 있다. 각각의 모델 유형은 모듈 명칭, 타깃 값, 하한, 상한, 및 그것과 연관된 레시피 출력을 가질 수 있다. 새로운 모델을 생성할 경우, 새로운 모델 유형이 사용되어 모델 유형 필드에 입력될 수 있고, 새로운 모델 명칭이 사용되어 모델 명칭 필드에 입력될 수 있다.
Predicted Result Calculation 필드는 새로운 예측 결과 값을 입력하거나 기존의 예측 결과 값을 선택하는데 사용될 수 있다. 예측 결과 값은 예상되는 결과를 위한 방정식일 수 있다. 예를 들어, Control Plan은, Name, Target Calculation, 및 Model Selection 정보가 입력될 때, 저장될 수 있다.
# 필드는 모델들의 리스트에서의 모델 수를 구비한다. 모델 유형은, 정적 모델 또는 공식 모델 중 하나가 선택될 수 있게 한다. Model Name 필드는 이용 가능한 모델들의 명칭들을 열거한다. 예를 들어, 새로운 모델을 생성하기 위해, "New Static Recipe" 옵션 또는 "New Formula Recipe" 옵션이 드롭다운 리스트로부터 선택될 수 있다. 적어도 하나의 정적 레시피들을 구비하는 정적 제어 계획이 생성될 수 있다. 예를 들어, 10개 이상의 정적 모델들이 도시될 수 있다. 정적 모델들은 동일한 타깃 값(t1)을 갖는 것으로 도시되어 있지만, 반드시 그래야 하는 것은 아니다. 상이한 수의 정적 및/또는 공식 모델들이 사용될 수 있고, 각 모델은 상이한 타깃 값을 가질 수도 있다. 각각의 정적 레시피가 사용될 때, 새로운 타깃 값이 계산될 수도 있다. 도 13에 도시되어 있는 바와 같이, 정적 레시피 모델들은 하한 값들 및 상한 값들에 의해 정의되는 상이한 동작 범위들을 가질 수 있다. 또한, 정적 레시피 모델들은 상이한 정적 레시피 출력들을 가질 수 있고, 각각의 정적 레시피를 위한 상이한 정적 레시피 출력이 판정될 수 있다.
가상 모듈 제어 계획은 정적 모델 레시피, 공식 모델 레시피, 또는 그것에 관한 조합을 포함할 수 있다. 컨트롤러는 가상 모듈들을 위한 제어 계획들을 자동적으로 발생시킬 수 있다. 프로세스 레시피는, 각각이 적어도 하나의 프로세싱 단계들을 구비하는, 적어도 하나의 프로세스들을 구비할 수 있다. 프로세스 레시피는 단일 챔버 또는 다수 챔버들에서 수행될 수 있다. 프로세스 레시피는 공칭 레시피, 정적 레시피, 및 공식 모델 중 적어도 하나를 사용해 구성될 수 있다.
정적 레시피는, 특정 프로세스 결과를 실현하는데 사용되는 레시피 조정들의 단일 세트일 수 있다. 한 세트의 정적 레시피들이 사용되어 도표-기반 컨트롤러를 설정할 수 있거나, 정적 레시피들이 공식 모델들과 함께 사용되어, 동일 레시피가 사용되어야 하는 원하는 출력 범위들을 다룰 수 있다. 정적 레시피들과의 피드백을 사용할 경우, 사용되는 정적 레시피 각각을 위한 제어 계획에서 하나의 예측 프로세스 결과가 특정될 수 있다. 공식 모델은 프리-모델 조정, 모델 방정식, 일련의 포스트 모델 조정들, 및 레시피 파라미터 할당 맵을 구비할 수 있다. 프리-모델 조정은, 원하는 프로세스 결과(일반적으로 t1)의 (y 값을 초래하는) 모델 방정식에 사용되는 정확한 단위들로의 재표현을 허용할 수 있고, 모델 방정식은 1개 조작 변수(x)의 함수로서 예측 프로세스 결과를 계산하는 표현일 수 있다. 모델이 실행될 때, 모델은 재표현된 원하는 프로세스 결과(y)를 제공하는 x를 풀어낼 것이다. 일단 x가 판정되고 나면, 포스트 모델 조정들이 계산될 수 있고, 그 값들은 레시피 파라미터 맵에서 특정된 적절한 레시피 파라미터들에 할당될 것이다.
또한, 적어도 하나의 프로세스 모델들이 제공될 수도 있다. 프로세스 모델은 프로세스 공간을 정의하는데 사용될 수 있다. 프로세스 모델은 원하는 결과들(출력들)과 그 결과들을 실현하는데 필요한 수신 변수들 사이의 확인된 관계를 표현한다. 프로세스 모델들은 공식-기반 모델들을 포함할 수 있는 방정식들을 포함할 수 있다. 공식-기반 모델들은, 평가된 일부 실험 데이터에 기초하는, 레시피 변수들과 원하는 결과들의 불연속적인 연관들을 포함하는 방정식들을 구비할 수 있다. 프로세스 모델은 선형적이거나 비선형적일 수 있다. 프로세스 모델은 새로운 프로세스 레시피를 확인하고, 기존의 프로세스 레시피를 업데이트하는데 사용될 수 있다.
이 발명의 특정 실시예들만이 상술되었지만, 당업자들이라면, 이 발명의 신규한 교수들 및 이점들을 실질적으로 벗어나지 않으면서, 실시예들에서의 다수 변경들이 가능하다는 것을 쉽게 알 수 있을 것이다. 따라서, 그러한 변경들 모두는 이 발명의 범위내에 포함되는 것이다.

Claims (36)

  1. 호스트 시스템 및 프로세싱 시스템을 포함하는 반도체 프로세싱 시스템에서 프로세싱 시스템 컨트롤러를 조작하는 방법으로서,
    적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과 및 상기 적어도 하나의 웨이퍼를 위한 프로세스 시퀀스를 포함하는 정적 가상 모듈 계획(SVMP;static virtual module plan)을 수신하는 단계로서, 상기 프로세스 시퀀스는, 물리적 모듈로의 웨이퍼에 의한 방문과 연관된 PM(physical module) 오브젝트들 및/또는 물리적 모듈로의 웨이퍼에 의한 비방문과 연관된 VM(virtual module) 오브젝트들을 포함하는 복수개 프로세스 오브젝트들을 포함하는, 상기 정적 가상 모듈 계획을 수신하는 단계;
    상기 프로세스 시퀀스를 실행하는 단계;
    상기 프로세스 시퀀스의 PM 오브젝트가 실행될 때, PM 데이터를 수집하는 단계; 및
    상기 프로세스 시퀀스의 VM 오브젝트가 실행될 때, VM 데이터를 수집하는 단계
    를 포함하는 프로세싱 시스템 컨트롤러를 조작하는 방법.
  2. 제 1 항에 있어서,
    상기 PM 데이터 및 상기 VM 데이터 중 적어도 하나를 상기 호스트 시스템으 로 송신하는 단계를 더 포함하는 프로세싱 시스템 컨트롤러를 조작하는 방법.
  3. 제 1 항에 있어서,
    상기 프로세스 시퀀스의 PM 오브젝트가 실행될 때, PM 제어 전략을 실행하는 단계로서, 상기 PM 제어 전략은 적어도 하나의 PM 제어 계획들을 구비하는, 상기 PM 제어 전략을 실행하는 단계; 및
    적어도 하나의 PM 데이터 수집 계획을 포함하는 PM 데이터 수집 전략을 실행하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러를 조작하는 방법.
  4. 제 3 항에 있어서,
    상기 프로세스 시퀀스의 PM 오브젝트가 실행될 때, PM 분석 전략을 실행하는 단계로서, 상기 PM 분석 전략은 PM 분석 계획 및/또는 PM 판단 계획(judgment plan)을 구비하는, 상기 PM 분석 전략을 실행하는 단계를 더 포함하는 프로세싱 시스템 컨트롤러를 조작하는 방법.
  5. 제 3 항에 있어서,
    상기 프로세스 시퀀스의 상기 PM 오브젝트들 각각을 위한 프로세스 레시피를 판정하는 단계; 및
    상기 프로세스 시퀀스의 상기 VM 오브젝트들 각각을 위한 프로세스 레시피를 판정하는 단계를 더 포함하는 프로세싱 시스템 컨트롤러를 조작하는 방법.
  6. 제 1 항에 있어서,
    상기 프로세스 시퀀스의 VM 오브젝트가 실행될 때, VM 제어 전략을 실행하는 단계로서, 상기 VM 제어 전략은, 적어도 하나의 VM 제어 계획들을 구비하는, 상기 VM 제어 전략을 실행하는 단계; 및
    가상 모듈 비방문 데이터를 수집하기 위한 적어도 하나의 VM 데이터 수집 계획을 구비하는 VM 데이터 수집 전략을 실행하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러를 조작하는 방법.
  7. 제 1 항에 있어서,
    상기 프로세스 시퀀스의 상기 PM 오브젝트들 각각을 위한 프로세스 레시피를 수신하는 단계; 및
    상기 프로세스 시퀀스의 상기 VM 오브젝트들 각각을 위한 프로세스 레시피를 수신하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러를 조작하는 방법.
  8. 제 1 항에 있어서,
    상기 원하는 프로세스 결과는, 트림량(trim amount), 에칭량, 및/또는 증착량을 포함하는 것인, 프로세싱 시스템 컨트롤러를 조작하는 방법.
  9. 제 1 항에 있어서,
    상기 물리적 모듈은, 프로세싱 모듈, 측정 모듈, 전송 모듈, 및/또는 보유 모듈을 포함하는 것인, 프로세싱 시스템 컨트롤러를 조작하는 방법.
  10. 제 9 항에 있어서,
    상기 프로세싱 모듈은, 에칭 모듈, 증착 모듈, COR(chemical oxide removal) 모듈, 가열 모듈, 전송 모듈, 냉각 모듈, 및/또는 현상 모듈을 포함하는 것인, 프로세싱 시스템 컨트롤러를 조작하는 방법.
  11. 제 9 항에 있어서,
    상기 측정 모듈은, OES(optical emissions spectrum) 모듈, SEM(scanning electron microscope) 모듈, ODP(optical digital profile) 모듈 및/또는 TEM(transmission electron microscopy) 모듈을 포함하는 것인, 프로세싱 시스템 컨트롤러를 조작하는 방법.
  12. 호스트 시스템 및 프로세싱 시스템을 포함하는 반도체 프로세싱 시스템에서의 호스트 컨트롤러 조작 방법으로서,
    적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과 및 프로세스 시퀀스를 구비하는 정적 가상 모듈 계획(SVMP;static virtual module plan)을 생성하는 단계 로서, 상기 프로세스 시퀀스는, 물리적 모듈로의 웨이퍼에 의한 방문과 연관된 PM(physical module) 오브젝트들 및/또는 물리적 모듈로의 웨이퍼에 의한 비방문과 연관된 VM(virtual module) 오브젝트들을 포함하는 복수개 프로세스 오브젝트들을 포함하는 것인, 상기 정적 가상 모듈 계획을 생성하는 단계; 및
    상기 정적 가상 모듈 계획을 상기 프로세싱 시스템으로 송신하는 단계
    를 포함하는 호스트 컨트롤러 조작 방법.
  13. 제 12 항에 있어서,
    웨이퍼를 위한 원하는 프로세스 결과를 판정하는 단계;
    상기 웨이퍼가 상기 원하는 프로세스 결과들을 실현하는데 사용하는 적어도 하나의 물리적 모듈들로의 방문들의 실제 수를 판정하는 단계;
    각각의 방문을 위해 PM 오브젝트를 확립하는 단계;
    상기 웨이퍼가 상기 원하는 프로세스 결과를 실현하는데 사용하는 물리적 모듈로의 비방문들의 수를 판정하는 단계;
    각각의 비방문을 위해 VM 오브젝트를 확립하는 단계; 및
    상기 웨이퍼를 위한 프로세스 시퀀스 길이를 판정하는 단계로서, 상기 프로세스 시퀀스 길이는, 상기 방문들의 수와 비방문들의 수에 대한 합과 동일한 것인, 상기 웨이퍼를 위한 프로세스 시퀀스 길이를 판정하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  14. 제 12 항에 있어서,
    상기 웨이퍼가 상기 원하는 프로세스 결과를 실현하는데 사용할 수 있는 적어도 하나의 물리적 모듈들로의 방문들의 최대 수를 판정하는 단계로서, 상기 방문들의 최대 수는, 0 이상의 정수인 것인, 상기 방문들의 최대 수를 판정하는 단계; 및
    상기 웨이퍼를 위한 프로세스 시퀀스 길이를 판정하는 단계로서, 상기 프로세스 시퀀스 길이는, 상기 방문들의 최대 수와 동일한 것인, 상기 프로세스 시퀀스 길이를 판정하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  15. 제 14 항에 있어서,
    상기 웨이퍼가 상기 원하는 프로세스 결과를 실현하는데 사용하는 물리적 모듈 각각으로의 방문들의 수를 판정하는 단계;
    각각의 방문을 위해 PM 오브젝트를 확립하는 단계;
    상기 웨이퍼가 상기 원하는 프로세스 결과를 실현하는데 사용하는 물리적 모듈로의 비방문들의 수를 판정하는 단계로서, 상기 비방문들의 수는, 0 이상의 정수인 것인, 상기 비방문들의 수를 판정하는 단계; 및
    각각의 비방문을 위해 VM 오브젝트를 확립하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  16. 제 12 항에 있어서,
    상기 프로세싱 시스템이 상기 프로세스 시퀀스를 실행하여 PM 오브젝트가 실행될 때, PM 데이터를 수신하는 단계; 및
    상기 프로세싱 시스템이 상기 프로세스 시퀀스를 실행하여 VM 오브젝트가 실행될 때, VM 데이터를 수신하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  17. 제 12 항에 있어서,
    상기 프로세스 시퀀스의 상기 PM 오브젝트들 각각을 위한 프로세스 레시피를 판정하는 단계; 및
    상기 프로세스 시퀀스의 상기 PM 오브젝트들 각각을 위한 상기 프로세스 레시피를 상기 프로세싱 시스템으로 송신하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  18. 제 12 항에 있어서,
    상기 프로세스 시퀀스의 상기 VM 오브젝트들 각각을 위한 프로세스 레시피를 판정하는 단계; 및
    상기 프로세스 시퀀스의 상기 VM 오브젝트들 각각을 위한 상기 프로세스 레시피를 상기 프로세싱 시스템으로 송신하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  19. 제 12 항에 있어서,
    상기 물리적 모듈은, 프로세싱 모듈, 측정 모듈, 전송 모듈, 및/또는 보유 모듈을 포함하는 것인, 호스트 컨트롤러 조작 방법.
  20. 호스트 시스템 및 프로세싱 시스템을 포함하는 반도체 프로세싱 시스템에서의 프로세싱 시스템 컨트롤러 조작 방법으로서,
    상기 호스트 시스템으로부터 적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과를 수신하는 단계;
    상기 적어도 하나의 웨이퍼를 위한 프로세스 시퀀스를 포함하는 동적 가상 모듈 계획(DVMP;dynamic virtual module plan)을 생성하는 단계로서, 상기 프로세스 시퀀스는, 상기 적어도 하나의 웨이퍼를 위한 상기 원하는 프로세스 결과를 실현하도록 생성되고, 상기 프로세스 시퀀스는, 물리적 모듈로의 상기 적어도 하나의 웨이퍼에 의한 방문과 연관된 PM(physical module) 오브젝트들 및/또는 물리적 모듈로의 상기 적어도 하나의 웨이퍼에 의한 비방문과 연관된 VM(virtual module) 오브젝트들을 포함하는 복수개 프로세스 오브젝트들을 포함하는 것인, 상기 동적 가상 모듈 계획을 생성하는 단계; 및
    상기 동적 가상 모듈 계획을 상기 호스트 시스템으로 송신하는 단계
    를 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  21. 제 20 항에 있어서,
    상기 프로세스 시퀀스를 실행하는 단계;
    PM 오브젝트가 실행될 때, PM 데이터를 수집하는 단계; 및
    VM 오브젝트가 실행될 때, VM 데이터를 수집하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  22. 제 21 항에 있어서,
    상기 PM 데이터 및 상기 VM 데이터 중 적어도 하나를 상기 호스트 시스템으로 송신하는 단계를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  23. 제 21 항에 있어서,
    PM 오브젝트가 실행될 때, PM 제어 전략을 실행하는 단계로서, 상기 PM 제어 전략은, 적어도 하나의 PM 제어 계획들을 구비하는 것인, 상기 PM 제어 전략을 실행하는 단계; 및
    PM 데이터 수집 전략을 실행하는 단계로서, 상기 PM 데이터 수집 전략은, 적어도 하나의 PM 데이터 수집 계획을 포함하는 것인, 상기 PM 데이터 수집 전략을 실행하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  24. 제 23 항에 있어서,
    PM 오브젝트가 실행될 때, PM 분석 전략을 실행하는 단계로서, 상기 PM 분석 전략은, PM 분석 계획 및/또는 PM 판단 계획을 포함하는 것인, 상기 PM 분석 전략을 실행하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  25. 제 23 항에 있어서,
    각각의 PM 오브젝트를 위한 프로세스 레시피를 판정하는 단계; 및
    각각의 PM 오브젝트를 위한 상기 프로세스 레시피를 상기 호스트 시스템으로 송신하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  26. 제 21 항에 있어서,
    VM 오브젝트가 실행될 때, VM 제어 전략을 실행하는 단계로서, 상기 VM 제어 전략은, 적어도 하나의 VM 제어 계획들을 포함하는 것인, 상기 VM 제어 전략을 실행하는 단계; 및
    VM 데이터 수집 전략을 실행하는 단계로서, 상기 VM 데이터 수집 전략은, 가상 모듈 비방문 데이터를 수집하기 위한 적어도 하나의 VM 데이터 수집 계획을 포함하는 것인, 상기 VM 데이터 수집 전략을 실행하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  27. 제 21 항에 있어서,
    각각의 VM 오브젝트를 위한 프로세스 레시피를 판정하는 단계; 및
    각각의 VM 오브젝트를 위한 상기 프로세스 레시피를 상기 호스트 시스템으로 송신하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  28. 제 21 항에 있어서,
    상기 프로세스 시퀀스의 PM 오브젝트를 위한 프로세스 레시피를 수신하는 단계;
    상기 PM 오브젝트를 위한 상기 프로세스 레시피를 변경하는 단계; 및
    상기 변경된 프로세스 레시피를 상기 호스트 시스템으로 송신하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  29. 제 21 항에 있어서,
    상기 프로세스 시퀀스의 VM 오브젝트를 위한 프로세스 레시피를 수신하는 단계;
    상기 VM 오브젝트를 위한 상기 프로세스 레시피를 변경하는 단계; 및
    상기 변경된 프로세스 레시피를 상기 호스트 시스템으로 송신하는 단계
    를 더 포함하는 프로세싱 시스템 컨트롤러 조작 방법.
  30. 제 20 항에 있어서,
    상기 물리적 모듈은, 프로세싱 모듈, 측정 모듈, 전송 모듈, 및 보유 모듈 중 적어도 하나를 포함하는 것인, 프로세싱 시스템 컨트롤러 조작 방법.
  31. 호스트 시스템 및 프로세싱 시스템을 포함하는 반도체 프로세싱 시스템에서의 호스트 컨트롤러 조작 방법으로서,
    상기 프로세싱 시스템으로부터 적어도 하나의 웨이퍼를 위한 프로세스 시퀀스를 포함하는 동적 가상 모듈 계획(DVMP;dynamic virtual module plan)을 수신하는 단계로서, 상기 프로세스 시퀀스는, 상기 적어도 하나의 웨이퍼를 위한 원하는 프로세스 결과를 실현하도록 생성되고, 상기 프로세스 시퀀스는, 물리적 모듈로의 상기 적어도 하나의 웨이퍼에 의한 방문과 연관된 PM(physical module) 오브젝트들 및/또는 물리적 모듈로의 상기 적어도 하나의 웨이퍼에 의한 비방문과 연관된 VM(virtual module) 오브젝트들을 포함하는 복수의 프로세스 오브젝트들을 포함하는 것인, 상기 동적 가상 모듈 계획을 수신하는 단계; 및
    상기 동적 가상 모듈 계획을 실행하는 단계
    를 포함하는 호스트 컨트롤러 조작 방법.
  32. 제 31 항에 있어서,
    상기 프로세싱 시스템이 상기 프로세스 시퀀스를 실행하여 PM 오브젝트가 실행될 때, PM 데이터를 수신하는 단계; 및
    VM 오브젝트가 실행될 때, VM 데이터를 수신하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  33. 제 31 항에 있어서,
    상기 프로세싱 시스템으로부터, 상기 프로세스 시퀀스의 적어도 하나의 PM 오브젝트를 위한 프로세스 레시피를 수신하는 단계; 및
    상기 적어도 하나의 PM 오브젝트를 위한 상기 프로세스 레시피를 데이터베이스로 송신하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  34. 제 31 항에 있어서,
    상기 프로세싱 시스템으로부터, 상기 프로세스 시퀀스의 적어도 하나의 VM 오브젝트를 위한 프로세스 레시피를 수신하는 단계; 및
    상기 적어도 하나의 VM 오브젝트를 위한 상기 프로세스 레시피를 데이터베이스로 송신하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  35. 제 31 항에 있어서,
    상기 프로세싱 시스템으로부터, 상기 프로세스 시퀀스의 적어도 하나의 PM 오브젝트를 위한 프로세스 레시피를 수신하는 단계;
    상기 적어도 하나의 PM 오브젝트를 위한 상기 프로세스 레시피를 변경하는 단계; 및
    상기 변경된 프로세스 레시피를 상기 프로세싱 시스템으로 송신하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
  36. 제 31 항에 있어서,
    상기 프로세싱 시스템으로부터, 상기 프로세스 시퀀스의 적어도 하나의 VM 오브젝트를 위한 프로세스 레시피를 수신하는 단계;
    상기 적어도 하나의 VM 오브젝트를 위한 상기 프로세스 레시피를 변경하는 단계; 및
    상기 변경된 프로세스 레시피를 상기 프로세싱 시스템으로 송신하는 단계
    를 더 포함하는 호스트 컨트롤러 조작 방법.
KR1020077006951A 2004-08-27 2005-06-30 반도체 프로세싱 시스템에서 프로세싱 시스템 컨트롤러를 조작하는 방법 및 호스트 컨트롤러를 조작하는 방법 KR101200657B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/927,514 US7451011B2 (en) 2004-08-27 2004-08-27 Process control using physical modules and virtual modules
US10/927,514 2004-08-27
PCT/US2005/023941 WO2006025943A1 (en) 2004-08-27 2005-06-30 Semiconductor processing method using virtual modules

Publications (2)

Publication Number Publication Date
KR20070070165A true KR20070070165A (ko) 2007-07-03
KR101200657B1 KR101200657B1 (ko) 2012-11-12

Family

ID=35004156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077006951A KR101200657B1 (ko) 2004-08-27 2005-06-30 반도체 프로세싱 시스템에서 프로세싱 시스템 컨트롤러를 조작하는 방법 및 호스트 컨트롤러를 조작하는 방법

Country Status (9)

Country Link
US (1) US7451011B2 (ko)
EP (1) EP1782139B1 (ko)
JP (1) JP5033627B2 (ko)
KR (1) KR101200657B1 (ko)
CN (1) CN101006398B (ko)
AT (1) ATE488794T1 (ko)
DE (1) DE602005024821D1 (ko)
TW (1) TWI308705B (ko)
WO (1) WO2006025943A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335896B1 (ko) * 2010-08-02 2014-02-26 내셔날 쳉쿵 유니버시티 의존 인덱스를 이용하는 가상 계측을 활용한 고급 공정 제어 시스템

Families Citing this family (27)

* 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
US20060139587A1 (en) * 2004-12-23 2006-06-29 Asml Netherlands B.V. Software mechanism for generating flexible equipment state model views, software mechanism for measuring equipment reliability
US7289867B1 (en) * 2005-06-08 2007-10-30 Advanced Micro Devices, Inc. Automated integrated circuit device manufacturing facility using distributed control
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
US7412295B2 (en) * 2006-03-14 2008-08-12 Sap Ag Modeling manufacturing processes to include defined markers
US7567700B2 (en) * 2006-03-28 2009-07-28 Tokyo Electron Limited Dynamic metrology sampling with wafer uniformity control
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
US7558641B2 (en) * 2007-03-29 2009-07-07 Lam Research Corporation Recipe report card framework and methods thereof
US8396582B2 (en) 2008-03-08 2013-03-12 Tokyo Electron Limited Method and apparatus for self-learning and self-improving a semiconductor manufacturing tool
US8725667B2 (en) * 2008-03-08 2014-05-13 Tokyo Electron Limited Method and system for detection of tool performance degradation and mismatch
US8190543B2 (en) 2008-03-08 2012-05-29 Tokyo Electron Limited Autonomous biologically based learning tool
US8229588B2 (en) * 2009-03-03 2012-07-24 Taiwan Semiconductor Manufacturing Company, Ltd. Method and system for tuning advanced process control parameters
US8229578B2 (en) * 2009-09-21 2012-07-24 Fisher-Rosemount Systems, Inc. Methods and apparatus to manage module run sequences in a process control environment
CN104752150A (zh) * 2013-12-27 2015-07-01 中芯国际集成电路制造(上海)有限公司 工艺流程建立的方法
US9555326B2 (en) 2014-03-11 2017-01-31 Microsoft Technology Licensing, Llc Gaming system for modular toys
US9592443B2 (en) 2014-03-11 2017-03-14 Microsoft Technology Licensing, Llc Data store for a modular assembly system
US9703896B2 (en) 2014-03-11 2017-07-11 Microsoft Technology Licensing, Llc Generation of custom modular objects
AU2015100137A4 (en) * 2015-01-12 2015-03-05 Macau University Of Science And Technology Optimization of Start-up Transient Processes for Dual-Armed Cluster Tools with Wafer Revisiting
JP6337869B2 (ja) * 2015-11-05 2018-06-06 横河電機株式会社 プラントモデル作成装置、プラントモデル作成方法、およびプラントモデル作成プログラム
JP6805733B2 (ja) * 2016-10-31 2020-12-23 オムロン株式会社 制御システム、その制御方法およびそのコンピュータ読取可能な記憶媒体
US10705514B2 (en) 2018-10-09 2020-07-07 Applied Materials, Inc. Adaptive chamber matching in advanced semiconductor process control
US10930531B2 (en) 2018-10-09 2021-02-23 Applied Materials, Inc. Adaptive control of wafer-to-wafer variability in device performance in advanced semiconductor processes
US10657214B2 (en) 2018-10-09 2020-05-19 Applied Materials, Inc. Predictive spatial digital design of experiment for advanced semiconductor process optimization and control
EP3696738A1 (en) * 2019-02-12 2020-08-19 ABB Schweiz AG Automated maintenance schedule generation method for modular plants
CN112486113B (zh) * 2020-11-20 2021-09-24 长江存储科技有限责任公司 一种机台程式控制方法及装置
CN112580997B (zh) * 2020-12-24 2021-07-27 上海赛美特软件科技有限公司 数据收集方法及系统、spc系统及计算机存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07297258A (ja) * 1994-04-26 1995-11-10 Tokyo Electron Ltd 板状体の搬送装置
US5914879A (en) * 1997-03-04 1999-06-22 Advanced Micro Devices System and method for calculating cluster tool performance metrics using a weighted configuration matrix
US6747734B1 (en) * 2000-07-08 2004-06-08 Semitool, Inc. Apparatus and method for processing a microelectronic workpiece using metrology
US6447370B1 (en) * 2001-04-17 2002-09-10 Speedfam-Ipec Corporation Inline metrology device
US6708129B1 (en) * 2001-12-13 2004-03-16 Advanced Micro Devices, Inc. Method and apparatus for wafer-to-wafer control with partial measurement data
WO2004019147A2 (en) 2002-08-20 2004-03-04 Tokyo Electron Limited Method for processing data based on the data context
US20040200574A1 (en) * 2003-04-11 2004-10-14 Applied Materials, Inc. Method for controlling a process for fabricating integrated devices
US7212878B2 (en) * 2004-08-27 2007-05-01 Tokyo Electron Limited Wafer-to-wafer control using virtual modules

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335896B1 (ko) * 2010-08-02 2014-02-26 내셔날 쳉쿵 유니버시티 의존 인덱스를 이용하는 가상 계측을 활용한 고급 공정 제어 시스템

Also Published As

Publication number Publication date
TWI308705B (en) 2009-04-11
EP1782139A1 (en) 2007-05-09
EP1782139B1 (en) 2010-11-17
CN101006398A (zh) 2007-07-25
ATE488794T1 (de) 2010-12-15
WO2006025943A1 (en) 2006-03-09
US7451011B2 (en) 2008-11-11
US20060042543A1 (en) 2006-03-02
CN101006398B (zh) 2011-08-03
KR101200657B1 (ko) 2012-11-12
JP2008511986A (ja) 2008-04-17
JP5033627B2 (ja) 2012-09-26
DE602005024821D1 (de) 2010-12-30
TW200615814A (en) 2006-05-16

Similar Documents

Publication Publication Date Title
KR101200657B1 (ko) 반도체 프로세싱 시스템에서 프로세싱 시스템 컨트롤러를 조작하는 방법 및 호스트 컨트롤러를 조작하는 방법
KR101154658B1 (ko) 반도체 프로세싱 시스템에서 프로세싱 시스템 컨트롤러를 조작하는 방법 및 호스트 컨트롤러를 조작하는 방법
KR101158950B1 (ko) 반도체 처리 시스템 작동 방법 및 반도체 처리 도구 작동 방법
US7292906B2 (en) Formula-based run-to-run control
KR101032931B1 (ko) 에칭 처리를 위한 피드포워드, 피드백 웨이퍼 대 웨이퍼 제어 방법
KR101108856B1 (ko) 런투런 제어기를 이용한 결함 검출 및 분류 방법과 시스템
US7328418B2 (en) Iso/nested control for soft mask processing
WO2006044016A2 (en) R2r controller to automate the data collection during a doe

Legal Events

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

Payment date: 20151016

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 6