KR100939329B1 - 에이전트 기반 제어 아키텍쳐 - Google Patents

에이전트 기반 제어 아키텍쳐 Download PDF

Info

Publication number
KR100939329B1
KR100939329B1 KR1020047010792A KR20047010792A KR100939329B1 KR 100939329 B1 KR100939329 B1 KR 100939329B1 KR 1020047010792 A KR1020047010792 A KR 1020047010792A KR 20047010792 A KR20047010792 A KR 20047010792A KR 100939329 B1 KR100939329 B1 KR 100939329B1
Authority
KR
South Korea
Prior art keywords
agent
workpiece
tool
controller
control
Prior art date
Application number
KR1020047010792A
Other languages
English (en)
Other versions
KR20040074116A (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 KR20040074116A publication Critical patent/KR20040074116A/ko
Application granted granted Critical
Publication of KR100939329B1 publication Critical patent/KR100939329B1/ko

Links

Images

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/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
    • 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]
    • 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] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • 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
    • H01L22/26Acting in response to an ongoing measurement without interruption of processing, e.g. endpoint detection, in-situ thickness measurement
    • 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/32097Recipe programming for flexible batch
    • 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
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Factory Administration (AREA)
  • Multi-Process Working Machines And Systems (AREA)

Abstract

제조 시스템(100, 300)이 공정 툴(150), 제어기 에이전트(350) 및 제 1 공정 에이전트를 포함한다. 상기 공정 툴(150)은 동작 레시피에 따라 워크피스를 공정하도록 구성된다. 상기 제어기 에이전트(350)는 상기 공정 툴(115)에서 상기 워크피스(130)의 공정과 관련된 제어 규칙을 결정하도록 구성된다. 상기 제 1 공정 에이전트(320, 340)는 상기 공정 툴(115) 및 상기 워크피스(130) 중 적어도 하나와 관련되고, 상기 제어기 에이전트(350)와 인터페이스하고, 상기 제어 규칙을 수신하고, 그리고 상기 제어 규칙에 근거하여 상기 동작 레시피를 작성하도록 구성된다.
동작 레시피에 따라 워크피스(130)를 공정하도록 구성된 공정 툴(115)을 제어하는 방법이 제공된다. 상기 공정 툴(115) 및 상기 워크피스(130) 중 적어도 하나와 관련된 제 1 공정 에이전트(320, 340)가 인스턴스화된다. 상기 공정 툴(115)에서 상기 워크피스(130)의 공정과 관련된 제어 규칙을 결정하도록 구성된 제어기 에이전트(350)가 인스턴스화된다. 상기 제 1 공정 에이전트(320, 340)는 상기 제어 규칙을 수신하기 위하여 상기 제어기 에이전트(350)와 인터페이스된다. 상기 제 1 공정 에이전트(320, 340)는 상기 제어 규칙에 근거하여 상기 동작 레시피를 구성하기 위하여 상기 공정 툴(115)과 인터페이스된다.

Description

에이전트 기반 제어 아키텍쳐{AGENT-BASED CONTROL ARCHITECTURE}
본 발명은 일반적으로 반도체 디바이스 제조에 관한 것으로, 특히 웨이퍼들의 공정 레시피(즉, 동작 레시피)를 제어하기 위하여 자율적인, 능동적인 소프트웨어 에이전트들을 사용하는 자동화된 제조 환경에 관한 것이다.
반도체 산업에서 예를 들어, 마이크로프로세서들, 메모리 다바이스들 및 유사한 것등과 같은 집적 회로 디바이스들의 품질, 신뢰성 및 작업 처리량의 증대가 지속적으로 추구되고 있다. 이러한 추구는 더욱 신뢰성 있게 동작하는 고 품질 컴퓨터들 및 전기 디바이스들에 대한 소비자들의 요구에 의해 촉진된다. 이러한 요구들은 트랜지스터들을 통합한 집적 회로 디바이스들의 제조뿐만 아니라, 트랜지스터들과 같은 반도체 디바이스들의 제조에 있어 계속적인 발전을 가져왔다. 또한, 전형적 트랜지스터의 부품의 제조상 결함을 줄임으로써 트랜지스터들이 통합된 집적 회로 디바이스들의 비용뿐만 아니라 각 트랜지스터의 전체 비용을 또한 줄이게 된다.
일반적으로, 일련의 공정 단계들이 포토리소그라피 스테퍼들, 식각 툴들, 증착 툴들, 연마 툴들, 급속 열 공정 툴들, 주입 툴들 등을 포함하는 다양한 공정 툴들을 이용하여 웨이퍼 상에서 수행된다. 반도체 공정 툴들에 기초한 기술들은 최근 몇 년에 걸쳐 관심을 끌어왔고, 실질적인 개량을 가져왔다. 그러나, 이러한 분야에서 진보가 있었음에도 불구하고, 현재 상업적으로 이용가능한 많은 공정 툴들이 임의의 결함들을 가지고 있다. 특히, 그러한 툴들은 사용자에게 익숙한 포맷으로 이력 파라미터 데이터(historical parametric data)를 제공하고, 현재 공정 파라미터들 및 전체 런의 공정 파라미터들 모두에 대한 이벤트 로깅(event logging)의 실시간 그래픽 디스플레이를 제공하고 그리고 원격 모니터링(즉, 지역 및 광역 모니터링)을 제공할 수 있는 그러한 진보된 공정 데이터 모니터링 성능이 결여되어 있다. 이러한 결함들은 작업처리량, 정확도, 안정도 및 반복가능성(repeatability)과 같은 중요한 공정 파라미터들, 공정 온도, 기계 툴 파라미터들 및 그와 유사한 것들의 최적의 제어를 가져올 수 없다. 이러한 변동성은 제품 품질 및 성능에 있어서의 오차로 전달될 수 있는 런 내의(within-run) 불균형, 런별(run-to-run) 불균형 및 툴별(tool-to-tool) 불균형으로써 나타나는 반면, 그러한 툴들에 관한 이상적인 모니터링 및 진단 시스템은 중요한 파라미터들을 최적으로 제어하는 수단을 제공할 뿐만 아니라 이러한 변동성을 모니터링하는 수단을 제공할 것이다.
반도체 공정 라인의 운용을 향상시키기 위한 한 기술은 다양한 제조 툴들의 동작을 자동적으로 제어하는 공장 전체의 제어 시스템의 사용을 포함한다. 제조 툴들은 제조 체제(framework)나 제조 모듈들의 네트워크와 통신한다. 각 제조 툴은 일반적으로 장치 인터페이스에 연결된다. 상기 장치 인터페이스는 상기 제조 툴과 상기 제조 체제 사이의 통신을 용이하게 하는 기계 인터페이스(machine interface)에 연결된다. 상기 기계 인터페이스는 일반적으로 진보된 공정 제어(APC : advanced process control) 시스템의 일부일 수 있다. 상기 APC 시스템은 제조 모델에 근거하여 제어 스크립트(control script)를 개시(initiate)하는 바, 제어 스크립트는 제조 공정을 실행하는데 필요한 데이터를 자동적으로 검색하는 소프트웨어 프로그램일 수 있다. 종종, 반도체 디바이스들은 다양한 공정들을 위한 다양한 제조 툴들로 진행되고 피가공 반도체 디바이스들의 품질과 관련된 데이터를 발생한다.
제조 단계 동안, 다양한 이벤트들이 발생하여 피가공 디바이스들의 성능에 영향을 미치게 된다. 즉, 제조 공정 단계들에서 변동들이 디바이스 성능 변화를 가져온다. 피처 임계 치수(feature critical dimension), 식각 레벨들, 접촉 저항, 입자 오염 등과 같은 팩터들 모두는 디바이스의 최종 성능(end performance)에 잠재적으로 영향을 준다. 공정 라인 내의 다양한 툴들이 공정 변동을 감소시키도록 성능 모델들에 따라 제어된다. 일반적으로 제어 대상의 툴들은 포토리소그라피 스테퍼, 연마 툴, 식각 툴 및 증착 툴을 포함한다. 선공정 및/또는 후공정 측정 데이터가 툴들에 대한 공정 제어기들에 제공된다. 후공정 결과들이 타겟 값에 가능한 가까워지도록 하기 위해, 공정 시간과 같은 동작 레시피(operating recipe) 파라미터들이 성능 모델 및 측정 정보에 근거하여 공정 제어기들에 의해 계산된다. 이러한 방법으로 변동을 줄임으로써 작업 처리량, 감소된 비용, 보다 높은 디바이스 성능의 증대를 가져올 수 있으며, 이 모두는 수익성의 증대와 직결된다.
공장 규모의 APC 시스템과 같은 분산 처리 환경에서 구성 제어 및 능률에 관한 기술 문헌들이 많이 발표되어 있다. 일반적으로, 공정 제어기들을 구성하기 위하여 제어 코드를 작성하는 많은 소프트웨어 개발자들이 있다. 어느 한 개발자는 특정한 형태의 제어기들을 널리 개발하려할 수도 있다. 각 개발자들이 독특한 프로그램 스타일을 가지고, 그들이 직접 만든 루틴들을 신뢰한다는 것이 일반적이다. 예를 들어, 각 개발자들은 APC 제조 체제 내의 데이터베이스 또는 다른 엔티티들과 인터페이스하는 그리고 다양한 수학 함수들(math functions) 및 기본 유틸리티 함수들을 수행하는 일련의 루틴들을 가질 수 있다.
그러한 구성과 관련된 한 문제점은 공정 제어 스크립트들 사이에 거의 일관성이 없다는 점이다. 많은 맞춤형 스크립트들(custom scripts)이 또한 구성 제어 문제점 및 능률 문제점을 나타낸다. 개발자들은 아마도 다른 개발자들이 만들어온 다른 형태의 공정 제어기를 위하여 이미 개발된 코드를 복제하는데 많은 시간을 보낼 것이다. 비표준 코드의 디버깅은 또한 매우 시간 소모적이며 또한 효율성을 감소시킨다.
본 발명은 전술된 문제점들 중 일부 또는 전부를 해결하거나 적어도 그에 대한 노력들을 줄이기 위한 것이다.
본 발명의 일 양상이 공정 툴, 제어기 에이전트 및 제 1 공정 에이전트를 포함하는 제조 시스템에서 나타난다. 상기 공정 툴은 동작 레시피에 따라 워크피스(workpiece)를 공정하도록 구성된다. 상기 제어기 에이전트는 상기 공정 툴에서 상기 워크피스의 공정과 관련된 제어 규칙(control action)을 결정하도록 구성된다. 상기 제 1 공정 에이전트는 상기 공정툴 및 상기 워크피스 중 적어도 하나에 관련되고, 상기 제어기 에이전트와 인터페이스하고 상기 제어 규칙을 수신하고 그리고 상기 제어 규칙에 근거하여 상기 동작 레시피를 구성하도록 구성된다.
본 발명의 또 다른 양상이 동작 레시피에 따라 워크피스를 공정하도록 구성된 공정 툴을 제어하는 방법에서 나타난다. 상기 공정 툴 및 상기 워크피스 중 적어도 하나와 관련된 제 1 공정 에이전트가 인스턴스화(즉, 작성)(instantiate)된다. 상기 공정 툴에서 상기 워크피스의 공정과 관련된 제어 규칙을 결정하도록 구성된 제어기 에이전트가 인스턴스화된다. 상기 제 1 공정 에이전트는 상기 제어 규칙을 수신하기 위하여 상기 제어기 에이전트와 인터페이스된다. 상기 제 1 공정 에이전트는 상기 제어 규칙에 근거하여 상기 동작 레시피를 구성하기 위하여 상기 공정 툴과 인터페이스된다.
본 발명은 첨부 도면들과 관련하여 다음의 설명을 참조함으로써 이해될 수 있으며, 이 첨부 도면들에서 동일한 참조부호들은 동일한 요소들을 나타낸다.
도 1은 본 발명에 따라 구성 및 동작되는 제 1 공정 흐름의 특정 일 실시예의 일부를 개념적으로 도시한다.
도 2는 도 1의 컴퓨팅 디바이스의 하드웨어 및 소프트웨어 아키텍쳐들의 선택된 부분들을 부분 블럭도로 개념적으로 도시한다.
도 3은 본 발명에 따라 구성 및 동작되는 제 2공정 흐름에서 에이전트들을 스케줄링 에이전트, 공정 에이전트들 및 제어기 에이전트들로 전문화 한 것을 부분 블럭도로 개념적으로 도시한다.
본 발명은 비록 다양한 수정과 대안적인 형태들이 가능하지만, 본 명세서에서는 발명의 특정한 실시예를 예로써 도면에 도시하였으며, 이에 대해 자세히 설명될 것이다. 그러나 도면 및 이에 대한 상세한 설명은 본 발명을 개시된 특정 예로만 한정하도록 의도된 것은 아니며, 오히려 첨부된 청구항에 의해 정의되는 것처럼 본 발명의 정신 및 범위 내에 드는 모든 변형, 균등물 및 대안들을 포괄하도록 의도된 것이다.
이하, 본 발명의 예시적인 실시예들이 설명된다. 명확성을 위하여, 본원에서는 실제 구현시의 모든 특징들을 다 설명하지는 않는다. 어떠한 실제 실시예의 전개에 있어서, 실행마다 변하게 되는 시스템 관련 및 사업 관련 제약들과의 호환성과 같은 개발자의 특정한 목표들을 달성하기 위해서는 다수의 실시별 특정한 결정들이 이루어져야 한다는 것을 알 수 있을 것이다. 또한, 이러한 개발 노력은 복잡하고 시간 소모적이지만, 그럼에도 불구하고 본원의 개시의 이익을 갖는 당업자에게 있어서는 일상적인 일이라는 것을 알 수 있을 것이다.
도 1에서, 본 발명의 일 실시예에 따라 구성 및 동작되는 공정 흐름(100)의 일부의 개념도가 도시된다. 예시된 공정 흐름(100)의 일부는 두 개의 스테이션들(105)을 포함하는데, 스테이션들(105) 각각은 공정 툴(115)과 통신하는 컴퓨팅 디바이스(110)를 포함한다. 상기 스테이션들(105)은 통신 링크들(120)을 통하여 서로 통신한다. 예시된 실시예에서, 상기 컴퓨팅 디바이스(110) 및 상기 통신 링크(120)는 보다 큰 컴퓨팅 시스템, 예를 들어 네트워크(125)의 일부를 포함한다. 공정 툴들(115)이 집적 회로 디바이스들의 제조에 있어서 도 1의 웨이퍼들(135)의 공정 로트들(130) 내에 나타나있다. 본 발명이 반도체 디바이스들을 제조하는 데에 사용되는 것으로 도시되었지만, 그 응용이 거기에 한정되는 것이 아니고 다른 유형의 제조 공정들에 적용될 수 있다. 따라서, 상기에 언급된 공정 흐름(100)에서, 웨이퍼(135)들의 로트들(130)은 좀 더 일반적으로 "워크피스"라고 언급될 수 있다. 모든 실시예에서, 상기 공정 툴들(115) 및 공정 툴들에서 수행되는 임의의 공정 동작은 반도체 디바이스들의 제조에 관한 것일 필요는 없다. 그러나, 명료화를 위하여 그리고 본 발명의 이해를 위하여, 반도체 제조에 속하는 용어가 예시된 실시예의 측면에서 본 발명을 개시하는데 이용될 것이다.
도 2는 본 발명에 따라 프로그램 되고 동작되는 컴퓨팅 디바이스들(110)의 하드웨어 및 소프트웨어 아키텍쳐의 일부를 도시한다. 상기 하드웨어 및 소프트웨어 아키텍쳐의 일부 요소들 예를 들어,, 개별적인 카드들, 기본 입력/출력 시스템(BIOS), 입력/출력 드라이버들 등은 도시되지 않는다. 이러한 요소들은 간략화와 본 발명을 불명료하게 하지 않기 위하여 생략된다. 그러나, 본원의 개시의 이득을 갖는 이 기술분야의 당업자에 의해 알 수 있는 바와 같이, 상기 컴퓨팅 시스템(110)의 상기 소프트웨어 및 하드웨어 아키텍쳐는 그러한 많은 통상적인 구성들을 포함할 것이다.
예시된 실시예에서, 상기 컴퓨팅 디바이스(110)는 UNIX 기반 오퍼레이팅 시스템을 사용하는 워크스테이션이지만, 본 발명은 이에 한정되지 않는다. 상기 컴퓨팅 디바이스(110)는 랩탑 컴퓨터, 데스크탑 컴퓨터, 미니컴퓨터, 대형 고속 컴퓨터(mainframe computer) 또는 슈퍼컴퓨터와 같은 전자 컴퓨팅 디바이스의 임의의 형 태로 실질적으로 구현된다. 임의의 대안적 실시예에서, 상기 컴퓨팅 디바이스(110)는 상기 공정 툴(115)에 내장된 프로세서 또는 제어기일 수도 있다. 본 발명은 또한 UNIX 기반 오퍼레이팅 시스템에 한정되지 않는다. 대안적인 오퍼레이팅 시스템들(예를 들어, WindowsTM 기반 또는 디스크 오퍼레이팅 시스템(DOS) 기반 오퍼레이팅 시스템)이 또한 사용될 수 있다. 본 발명은 상기 컴퓨팅 디바이스(110)의 특정 구현에만 한정되지 않는다.
상기 컴퓨팅 디바이스(110)는 또한 버스 시스템(215)을 통하여 임의의 저장 디바이스(210)와 통신하는 프로세서(205)를 포함한다. 상기 저장 디바이스(210)는 일반적으로 적어도 하드 디스크(도시되지 않음) 및 RAM(random access memory)(도시되지 않음)을 포함한다. 임의의 실시예에서, 상기 컴퓨팅 디바이스(110)는 또한 광학 디스크(도시되지 않음), 플로피 전자기 디스크(도시되지 않음), 또는 자기 테입이나 ZIP 디스크(도시되지 않음)와 같은 다른 형태의 착탈가능한 저장 디바이스를 포함한다. 상기 프로세서(205)는 본 기술분야에 알려진 임의의 적절한 프로세서일 수 있다. 예를 들어, 상기 프로세서는 범용 마이크로 프로세서 또는 디지털 신호 프로세서(DSP)일 것이다. 예시된 실시예에서, 상기 프로세서(205)는 "AMD(Advanced Micro Devices, Inc.)"로부터 상업적으로 입수할 수 있는 AthlonTM 64-비트 프로세서이지만, 본 발명은 그에 한정되지는 않는다. 선 마이크로시스템스(Sun Microsystems)의 64-비트 UltraSPARCTM 또는 32-비트 microSPARCTM, 인텔 코포레이션(Intel Corporation)으로부터의 ItaniumTM 또는 PentiumTM류의 프로세서들 및 컴팩 컴퓨터 코포레이션(Compaq Computer Corporation)으로부터의 AlphaTM 프로세서등이 대안적으로 사용될 수 있을 것이다. 상기 컴퓨팅 디바이스(110)는 모니터(240), 키보드(245) 및 마우스(250)를 포함하며, 이들은, 이들의 관련 사용자 인터페이스 소프트웨어(255)와 더불어 사용자 인터페이스(260)를 함께 포함한다. 예시된 실시예에서 상기 사용자 인터페이스(260)는 그래픽 사용자 인터페이스(GUI : graphical user interface)인데, 이는 본 발명의 실시에 필수적이지는 않다.
도 2는 또한 상기 컴퓨팅 디바이스(110)의 소프트웨어 아키텍쳐의 선택된 일부분을 도시한다. 도시된 실시예에서, 각 컴퓨팅 디바이스(110)는 상기 저장 디바이스(210)에서 자신에 상주하는 소프트 에이전트(265)를 포함한다. 상기 소프트웨어 에이전트(265)는 상기 컴퓨팅 디바이스(110)가 아닌 상기 공정 흐름(100) 내에 상주한다는 점이 주목된다. 상기 소프트웨어 에이전트(265)의 위치는 본 발명의 실시에 중요하지는 않다. 또한, 상기 소프트웨어 에이전트(265)의 위치가 중요하지 않기 때문에, 일부 컴퓨팅 디바이스들(110)은 자신에 상주하는 다수의 소프트웨어 에이전트(265)들을 구비할 수 있고, 다른 컴퓨팅 디바이스(110)들은 상기 소프트웨어 에이전트를 전혀 구비하지 않을 수 있다. 캘리포니아주 마운틴 뷰의 컨실리엄 인코포레이티드(Consilium, Inc.)에 의해 제공되는 WORKSTREAMTM 과 같은 자동화된 제조 실행 시스템(MES)(270)이 적어도 하나의 컴퓨팅 디바이스(110)에 상주한다.
도 1에 대해 간략히 보면, 상기에 언급된 바와 같이, 상기 컴퓨팅 디바이스(110)는 또한 통신 링크들(120)을 통해 연결되는 보다 큰 컴퓨팅 시스템(125)의 일부일 수 있다. 그러한 실시예에서, 예시적인 컴퓨팅 시스템은 근거리 통신망(LAN :Local Area Network), 광역망(WAN : Wide Area Network), 시스템 영역 통신망(SAN : System Area Network), 인트라넷 또는 인터넷도 포함한다. 상기 컴퓨팅 시스템(125)은 네트워크 클라이언트/서버 아키텍쳐를 사용하는데, 대안적 실시예들은 피어-투-피어(peer-to-peer) 아키텍쳐를 사용할 수 있다. 따라서, 임의의 대안적 실시예에서, 상기 컴퓨팅 디바이스(110)는 서로 간에 직접적으로 통신할 수 있다. 상기 통신 링크들(125)은 무선, 동축 케이블, 광학 섬유 또는 연선(twisted wire pair) 링크로될 수 있다. 상기 컴퓨팅 시스템(125) 및 상기 통신 링크들(120)은 구현마다 특정적이며 본 기술분야에 알려진 임의의 적절한 방법으로 제공된다. 상기 컴퓨팅 시스템(125)은 본 기술분야에 알려진 임의의 적절한 통신 프로토콜, 예를 들어 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP : Transmission Control Protocol/Internet Protocol)을 이용할 수 있다.
도 1 및 도 2에 있어서, 상기 소프트웨어 에이전트(265)들은 집합적으로 제조 공정을 통하여 웨이퍼들(135)의 로트들(130)을 능률적으로 안내하는 역할을 한다. 각 공정 툴(115)은 이러한 목적을 위하여 이용될 수 있는 임의의 리소스를 나타낸다. 예를 들면, 상기 공정 툴(115)은 상기 웨이퍼들(135)의 층을 만들거나, 패턴하거나, 불순물을 첨가하거나 또는 열처리하는 것과 같이, 상기 웨이퍼들(135)의 임의의 일부를 제조하는 데에 사용되는 제조 툴일 수 있다. 또는 상기 공정 툴(115)은 상기 공정 흐름(100)의 다양한 부분들의 성능을 평가하는 데에 사용되는 측정 툴(metrology tool)일 수 있다. 따라서, 상기 소프트웨어 에이전트들(265)은 웨이퍼들(135)의 상기 로트들(130)의 후속 공정을 위한 다수의 리소스들에 액세스할 수 있고, 상기 공정 툴들(115)에 의해 나타내진 상기 리소스들을 할당할 수 있고, 웨이퍼들(135)의 상기 로트(130)의 후속 공정을 위한 그러한 리소스들의 할당을 위하여 공정 툴들 사이에서 절충(negotiate)을 행할 수 있다.
예시된 실시예에서, 상기 소프트웨어 에이전트(265)들은 개시(start-up)시에 자기 설정(self-configuring)되고, 지능형(intelligent)이고, 상태 인식적(state-aware)이며 그리고 목적을 달성하기 위하여 작동을 자율적으로 개시하는 특정 목표들을 가진다. 상기 소프트웨어 에이전트들(265)은 또한 그들의 환경 변화에 따라 자기 적응(self-adjusting)된다. 상기 소프트웨어 에이전트들(265)은 객체 지향 프로그래밍(OOP : objective-oriented programming) 환경에서 객체들로서 구현되나, 본 발명은 객체 지향이 아닌 기술들을 사용하여 구현될 수도 있다. 그들의 작동은 상대적으로 간단하고 스크립트이거나 또는 법칙 기반(rules-based)이다. 상기 작동은 할당된 로트 처리 기한(due date)을 달성하거나, 품질의 소정 수준을 달성하거나, 기계 사용을 최대화하거나 그리고 기회적 예방 정비를 스케줄링하는 것과 같은 소정 목적들을 달성하도록 설계된다. 이러한 목적들의 촉진에서, 상기 소프트웨어 에이전트들(265)은 상기 MES(270)와 인터페이스하고 기존의 공장 제어 시스템들(도시되지 않음)과 통합된다. 본원의 개시의 이득을 갖는 이 기술분야의 당업자에 의해 알 수 있는 바와 같이, 이러한 인터페이스 및 통합이 발생되는 방법은 상기 MES(270) 및 상기 공장 제어 시스템들의 본질에 따라, 특정한 구현이 될 것이다.
하기에서 더 설명되는 바와 같이, 상기 소프트웨어 에이전트들(265)은 몇 개의 다른 레벨들로 세분화(specialized)될 수 있다. 한 레벨은 "유형"에 의하는데, 즉 상기 소프트웨어 에이전트들(265)이 상기 공정 흐름(100)에서 "수요자" 또는 "공급자"를 나타내는지 여부에 의한다. 더 특별하게는, 상기 소프트웨어 에이전트들(265)이 "수요자" 또는 "공급자"를 나타내는지 여부는 전체 공정 흐름(100)내에서 그것이 나타내는 엔티티의 유형에 의해 결정된다. 예를 들어, 소프트웨어 에이전트(265)는 웨이퍼들(135)의 로트(130)(즉, "로트 에이전트"), 프로세서 툴(115)(즉, "기계 에이전트") 또는 공정 물질(즉, "리소스 에이전트")을 나타낼 수 있다. 상기 소프트웨어 에이전트들(265)은 또한 기능에 의해, 즉 공정 흐름에서 상기 소프트웨어 에이전트(265)가 수행하는 기능에 의하여 전문화된다. 예를 들어, 소프트웨어 에이전트(265)는 특정한 엔티티를 반드시 나타내지 않으면서 특정한 기능을 수행하도록 구성된다. 예를 들어, 상기 소프트웨어 에이전트(265)는 공정 툴(115)내에서 공정되는 웨이퍼(135)들의 특정한 로트(130)에 관한 제어 규칙들을 결정하도록(즉 "제어기 에이전트") 구성된다. 상기 제어기 에이전트에 의해 선택되는 규칙들은 상기 로트(130)의 특색 및 상기 공정 툴(115)의 특성들 모두에 의존하게 된다. 제어기 에이전트는 로트 에이전트 또는 기계 에이전트 중 하나에 의하여 호출되고, 특정한 구현에 따르게 된다. 도시된 실시예에서, 상기 제어기 에이전트는 그 라이프 사이클동안 특정한 공정 툴(115)과 관련되어 있으나, 다른 구성들이 또한 사용될 수 있다. 소프트 에이전트들(265)에 의해 수행될 수 있는 다른 기능들에 스케줄링이 포함한다.
하기에서 보다 자세히 설명되는 실시예에서, 예를 들어, 스케줄링 에이전트들, 공정 에이전트들, 제어기 에이전트들이 있다. 상기 소프트웨어 에이전트들(265)은 로트들(130), 프로세서 툴들(115) 등과 같은 제조 영역 엔티티들에 반드시 하나씩 대응하여 존재할 필요는 없다는 점이 주목된다. 대신에, 대부분의 영역 엔티티들은 각각 소프트웨어 에이전트들(265)의 그룹에 의해 나타내어진다. 예를 들어, 로트(130) 또는 공정 툴(115)은 스케줄링 에이전트 및 공정 에이전트 모두를 가질 것이다. 제어기 에이전트는 특정한 공정 툴(115)과 관련될 것이고, 상기 공정 에이전트들 중 하나(즉, 상기 로트(130) 또는 상기 공정 툴(115)과 관련된)에 의해 호출된다. 이러한 구성은 영역 엔티티 기능성의 단일한 측면을 지지하기 위하여 전문화된 작동을 표시하는 전문화된 목적들의 설계를 용이하게 한다.
이러한 특정한 실시예에서, 상기 소프트웨어 에이전트(265)들은 객체 지향 프로그래밍 기술들을 사용하여 구현된다. 객체 지향 컴퓨팅의 용어에서, 소프트웨어 "에이전트"는 자율적이고 능동적인 객체이다. 일련의 동작들이 주어진다면, 소프트웨어 에이전트(265)는 국지적 조건들에 응답하여 독자적인 규칙을 취할 수 있고, 이에 따라 순응성있는 시스템 작동을 발생한다. 본 발명은, 공장 노동자들, 물질, 장치, 공정들 등과 같은 반도체 제조 공장 내의 "실제 세상(real world)"의 에이전트 기능을 모방하고 향상시키는, 자율적이고 이동성인 "소프트웨어 에이전트"를 정의하고, 구성하고, 전개하는 에이전트 확장 시스템(agent-enhanced system)을 나타낸다. 기술분야의 당업자는 에이전트 또는 다른 소프트웨어 객체는 하나 이상의 소프트웨어 객체들을 포함할 수 있다는 점을 알 것이다. 본 장에서 사용되는 바와 같이, 상기 용어 "객체"는 소프트웨어 객체들일 수 있으며, 또한 소프트웨어 객체는 다른 소프트웨어 객체들로 이루어질 수 있다는 점이 이해될 것이다. 역으로, 기술분야의 당업자는 한 객체의 기능성은 다른 기능성들로 조합될 수 있다는 점을 또한 알 것이다. 개별적인 객체들과 관련된 것으로 설명된 기능성들이 단일 객체와 관련된 기능성으로 조합될 수 있다는 점이 이해된다.
또한, 이러한 특정 실시예에서, 상기 소프트웨어 에이전트(265)는 "설정가능(configurable)"하다. 이러한 특정 실시예에서, 상기 소프트웨어 에이전트는 그들의 작동을 좌우하는 스크립트들을 변경하거나 또는 "제어 노브(knob)들"을 변경함으로써 구성될 수 있다. 제어 노브들은 융통성 및/또는 시스템 교정을 제공하는 상기 소프트웨어 에이전트들의 외부적으로 설정가능한 파라미터들 또는 특성들이다. 예를 들어, 임의의 특성들은 시스템 결정들을 지배하는 커브(curve)들을 특정한다. 또한, 상기 소프트웨어 에이전트들(265)의 규칙들을 프로세싱하고 스케줄링하는 것이 스크립트되어 특정한, 소정의 이벤트들이 스크립트 세그먼트의 실행을 야기한다. 한 특정한 실시예에서, 상기 스크립트들은 양방향 자바 인터페이스를 제공하는 오픈 소스 자바 프로그래밍 언어(open source Java programming language)인 JPython내에서 구현된다. JPython의 다운로드를 포함하는 추가적인 정보는 인터넷 사이트 < http ://www. jpython. org/ > 상에서 얻을 수 있다.
본 장의 상세한 설명의 일부들은 결과적으로 컴퓨팅 시스템 또는 컴퓨팅 디바이스 메모리 내의 데이터 비트들의 동작을 기호로 나타내는 것을 포함하는 소프트웨어 구현 공정의 관점에서 나타내진다. 이러한 묘사들 및 표시들은 기술 분야의 당업자들이 다른 당업자들에게 그들의 작업의 요지를 가장 효율적으로 전달하기 위 하여 사용되는 수단이다. 상기 공정 및 동작은 물리량의 물리적 조작을 필요로 한다. 보통, 반드시 그런 것은 아니지만, 이 물리량은 저장, 전송, 결합, 비교 및 기타 방법으로 처리될 수 있는 전기, 자기 또는 광 신호의 형태를 취한다. 주로 공통 사용의 이유로, 이들 신호들을 데이터, 비트, 값, 요소, 기호, 문자, 용어, 번호 또는 이와 유사한 것들로 지칭하는 것이 흔히 편리하다고 증명되었다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리량과 관련된 것이며, 단지 이들 물리량에 적용된 편리한 라벨일 뿐임을 명심해야 한다. 특정하게 다른 규정이 없는 한 즉, 논의로부터 명백할 때, 이러한 설명들은 임의의 전자 디바이스의 저장 디바이스내의 물리량(전자, 자기, 또는 광학)으로 나타낸 데이터를, 그 저장 디바이스내의 또는 다른 전송 또는 디스플레이 디바이스내의 물리량으로 유사하게 나타낸 다른 데이터로 조작 및 변환시키는 전자 디바이스의 상기 동작 및 공정으로 언급된다. 이러한 설명들을 지칭하는 예시적인 용어는, 한정됨 없이, "프로세싱" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레이" 또는 이와 유사한 용어들이다.
본 발명의 소프트웨어 구현 양상들은 일반적으로 프로그램 저장 매체의 임의의 형태 상에 엔코드되거나, 임의의 형태의 전송 매체를 통하여 구현된다는 점이 또한 유의된다. 상기 프로그램 저장 매체는 플로피 디스크 또는 하드 드라이브와 같은 자기 매체일 수 있거나, 또는 컴팩트 디스크 판독 전용 메모리 또는 "CD ROM"과 같은 광 매체일 수 있으며, 판독 전용 또는 랜덤 액세스일 수 있다. 유사하게, 상기 전송 매체는 연선, 동축 케이블, 광학 섬유 또는 기술 분야에 알려진 다른 적절한 전송 매체일 수 있다. 그러나, 본 발명은 이러한 임의의 소정된 구현의 양상들로 한정되지 않는다.
상기 공정 흐름(100)은 진보된 공정 제어(APC: Advanced Process Control) 체제하에서 구현될 수 있다. APC 시스템은 공정 흐름(100)에서 런별 제어 및 결함 검출/분류를 허용하는 호환성 표준화 소프트웨어 구성요소들의 배포된 소프트웨어 시스템을 포함한다. 소프트웨어 에이전트들(265) 및 그들의 동작의 본 발명은 거의 자율적으로 동작하는 반도체 제조 공정 흐름을 달성하기 위하여 상기 APC 시스템의 상층부를 이룬다.
상기 APC 시스템의 상기 소프트웨어 구성요소들은 국제 반도체 설비 및 물질(Semiconductor Equipment and Materials International)("SEMI") 컴퓨터 집적 제조(Computer Integrated Manufacturing)("CIM") 체제 호환 시스템 기술들 및 APC 체제를 기초로 하는 아키텍처 표준을 구현한다. CIM(SEMI E81-0699 - CIM 체제 도메인 아키텍처에 대한 가 사양) 및 APC(SEMI E93-0999 - CIM 체제 진보된 공정 제어 구성요소에 대한 가 사양) 사양은 SEMI로부터 일반적으로 입수할 수 있다. SEMI는 주소: 미국 텍사스주 78731 오스틴 슈트 290 텍사스시 하이웨이 노스, 캐피탈 8310(8310 Capital of Texas Highway North, Suite 290 Austin, TX 78731), 전화번호: 512-349-2422, 팩스:512-349-2442, 인터넷 사이트:<http ://www. semi. org > 를 통해연락 가능하다.
이러한 특정 아키텍처는 객체 지향 프로그래밍을 이용하는 소프트웨어에 크게 의존하며, 객체 관리 그룹(Object Management Group)("OMG")의 공통 객체 요구 매개자 아키텍처(Common Object Request Broker Architecture)("CORBA") 및 보급된 객체 시스템들에 대한 CORBA_Services 사양을 이용한다. OMG CORBA 아키텍처에 대한 정보 및 사양은 또한 쉽게, 공개적으로 입수할 수 있다.
본원에 설명된 APC 시스템의 기능을 수행할 수 있는 소프트웨어 시스템의 예로는 KLA-텐코 사(KLA-Tencor, Inc)에 의해 상업적으로 제공되는 촉매 시스템(Catalyst system)이 있다. KLA-텐코는 주소:미국 켈리포니아 95134 산 조스 리오 로브레스 160(160 Rio Robles, San Jose, CA 95134), 전화: 408-875-6000, 팩스: 408-875-3030, 인터넷 사이트:<http ://www. kla-tencor. com > 상에서 연락가능하다. 상기 촉매 시스템에 관한 추가적인 정보는 KLA-텐코의 웹사이트 <www.kla-tencor.com/controlsolutions/catalystapc.html>에서 입수할 수 있다.
도 3에서, 본 발명의 다른 실시예에 따라 소프트웨어 에이전트들(265)을 사용하여 구현된 공정 흐름(300)의 예시적인 실시예의 단순화된 블럭도가 제공된다. 예시적인 로트(130)가 로트 스케줄링 에이전트(310) 및 로트 공정 에이전트(320)에 의해 나타내진다. 예시적인 공정 툴(115)이 기계 스케줄링 에이전트(330) 및 기계 공정 에이전트(340)에 의해 나타내진다. 상기 로트의 완성을 위해 요구되는 상기 리소스들을 보장하기 위하여, 상기 로트 스케줄링 에이전트(310)는 상기 기계 스케줄링 에이전트(330)와 같은 공정 흐름(300) 내의 다양한 엔티티들을 절충한다. 예를 들어, 상기 로트 스케줄링 에이전트(310) 및 상기 기계 스케줄링 에이전트(330)는 상기 로트(130)에 관한 지정(appointment)을 상기 공정 툴(115)로 스케줄하기 위하여 "콘트랙트 네트 절충 프로토콜(contract net negotiation protocol)" 방식을 사용한다.
상기 로트 공정 에이전트(320) 및/또는 기계 공정 에이전트(340)는 상기 로트(130)가 공정을 위하여 상기 공정 툴(115)에서 수신될 때 호출된다. 상기 로트 공정 에이전트(320) 및/또는 기계 공정 에이전트(340)는 상기 로트(130)를 공정하는 상기 공정 툴(115)의 동작 레시피를 설정하는 데에 필요한 제어 규칙들을 결정하기 위하여 제어기 에이전트(350)와 인터페이스한다. 로트 공정 에이전트(320) 또는 기계 공정 에이전트(340)는 상기 제어기 에이전트(350)를 호출한다. 일 실시예에서, 상기 로트 공정 에이전트(320)는 상기 제어기 에이전트(350)에게 상기 로트(130)의 특성에 관한 데이터, 즉 치수 측정 데이터, 전기적 측정 데이터 등을 전달한다. 유사하게, 상기 기계 공정 에이전트(340)는 상기 공정 툴(115)에 관한 데이터, 예를 들어 유휴 시간(idle time), 마지막 세척 후 시간, 툴 헬스 등을 상기 제어기 에이전트(350)로 전달한다. 대안적 실시예에서, 상기 로트(130) 및/또는 공정 툴(115)의 특색에 관한 데이터는 중앙 데이터 저장 디바이스(360)내에 저장될 수 있는데, 이 저장 디바이스에서 데이터는 상기 제어기 에이전트(350)에 의하여 액세스될 수 있다. 상기 데이터 저장 디바이스(360)는 선공정 측정 데이터 및 후공정 측정 데이터, 툴 상태, 로트 우선권등과 같은 데이터를 저장하도록 구성된다.
이제, 상기 제어기 에이전트(350)의 동작에 대하여 자세히 설명된다. 상기 제어기 에이전트(350)에 의해 취해지는 특정한 제어 규칙들은 구현에 따라 변화된다. 예를 들어, 만일 상기 공정 툴(115)이 CMP 툴이라면, 상기 제어기 에이전트(350)는 선연마(pre-polish) 두께 치수(예를 들어, 높은(high) 피쳐들의 두께, 낮은(low) 피쳐들의 두께)를 수신하고 후연마(post-polish) 목적(target) 두께를 달성하기 위하여 요구되는 연마 시간을 예측한다. 상기 공정 툴(115)이 식각 툴인 경우에, 상기 제어기 에이전트(350)는 선식각 및/또는 후식각 두께 치수에 근거하여 상기 공정 툴(115)의 식각 성능을 모델화(model)한다. 상기 제어기 에이전트(350)는 예측을 발생하기 위하여 상기 공정 툴(115)의 제어 모델을 사용할 수 있다. 상기 제어 모델은 일반적으로 알려진 선형 또는 비선형 기술들을 이용하여 경험적으로 개발될 수 있다. 상기 제어 모델은 예를 들어 선형, 지수, 가중 평균등과 같은 상대적으로 단순한 방정식 기반 모델이거나 또는 중립 네트워크 모델, 주요 성분 분석(PCA : principal component analysis) 모델 또는 잠재 구조 투영(PLS : projection to latent structures ) 모델과 같은 다소 복잡한 모델일 수 있다. 상기 모델의 특정한 구현은 선택된 모델화 기술에 따라 변할 수 있다. 상기 제어 모델을 사용하여, 상기 제어기 에이전트(350)는 후식각 두께 변동을 줄이기 위하여, 식각 시간, 플라즈마 파워, 온도, 압력, 반응물 기체 농도 등과 같은 동작 레시피 파라미터들을 결정할 수 있다. 다른 유형의 공정 툴들(115)에 대하여 다른 제어 시나리오가 가능하다.
상기 제어기 에이전트(350)를 설정하는 동안, 즉 제어기 에이전트가 처음으로 인스턴스화되었을 때), 전체 설정 변수들이 상기 제어기 에이전트(35)에 의해 사용되도록 정의된다. 예시적인 실시예에서, 이러한 전체 변수들은 방법 관리 시스템(RMS : recipe management system )으로부터의 변수들(즉, 상기 공정 툴(115)에 의해 주입된 현재 공정에 관한 디폴트 방법을 저장하는 방법 셋팅들의 전체 데이터베이스) 및 상황 변수(context variable)의 값들을 포함한다. 상황 변수 값은 제어 스레드(thread)를 정의하는데, 일반적으로 툴 식별 코드, 로트 넘버, 동작 넘버 등과 같은 변수들의 값을 포함한다. 또한, 어떤 필요한 기준선(baseline) 변수들 역시 소정의 값이다. 예를 들면, 에러 통지를 위한 이메일 목록, 타임아웃 값, "child" 로트로 고려된 로트 내에 허용되는 웨이퍼들의 최대 수, 상기 제어기 에이전트(350)가 사용할 선행 층 정보(피드 포워드 정보) 및 등등을 포함한다.
상기 제어기 에이전트(350)는 웨이퍼들의 로트 넘버 및 양에 관한 값들을 상기 전체 설정 변수 내의 세트로 사용하고, 로트 넘버, 패밀리(family) 네임, 패런트(parent) 네임, 설비, 웨이퍼들의 수, 상태(즉, 로트가 패런트(parent) 로트인지 차일드(child) 로트인지)에 관한 값들을 결정한다. 앞서서 정의된 상황 정보 및 RMS 정보가 상기 제어기 에이전트(350)가 제어 이동을 계산하기 위하여 사용하는 값들을 설정하는 데에 사용될 것이다. 예를 들어, 상기 제어기 에이전트(350)는 RMS에서 정의된 값에 따라 제어 모델 파라미터의 값을 설정하는데 상기 상황 정보(또는 "스레드" 지정)를 사용할 수 있다. 특정 예는 특정한 식각 챔버의 상황에 따라 제어 모델에서 사용되는 식각율에 관한 값 및 RMS에서 정의된 것과 같이 식각 챔버의 식각율에 관한 값을 설정할 수 있다.
또한, 상기 제어기 에이전트(350)는 로트 넘버 및 층 네임에 의해 대기 행렬을 사용하여 상기 데이터 저장 디바이스(360)로부터 피드 포워드 측정 정보를 검색할 것이다. 상기 제어기 에이전트(350)는 소정 로트와 관련된 데이터의 배열(array)에서 성분들을 체크하고 손실된 값들에 대해 디폴트 값을 채울(fill) 것이다. 예를 들어, 상기 제어기 에이전트(350)에 의해 사용되는 피드 포워드 정보의 일부로 요구되는 손실된 측정의 값을 설정하는데, 선행 공정의 타겟 값이 사용될 것이다. 손실된 피드 포워드 정보의 값을 설정하는데 디폴트 값을 사용하는 것에 대신하여 다른 방법들이 또한 수행될 수 있다.
상기 제어기 에이전트(350)는 현재 제어 스레드와 관련된 제어 상태를 검색하기 위하여 상기 데이터 저장 디바이스(360)에 질문(query)하는 데에 요구되는 키(key)들 및 상태 구성들의 값들을 설정한다. 상기 키들은 상기 데이터 저장 디바이스(360)로부터 상기 스레드 상태 데이터를 검색하는 데에 사용될 것이다. 상기 제어기 에이전트(350)는 이러한 스레드 상황으로 공정되는 최근 로트에 관한 정렬된 데이터의 스택에서 상기 스레드 상태 데이터를 조사한다. 만일 그러한 값들이 발견된다면 그것들은 제어 모델을 포함하는 사용자 정의 함수로 전달되는바, 상기 제어 모델은 상기 스레드 상태들에 관한 값들을 계산 및 반환한다. 만일 상기 스택에서 어떤 값들도 발견되지 않는다면, 상기 제어기 에이전트(350)는 계층을 조사하고 상기 스레드 상태들에 관한 값을 가지는 제 1 계층 레벨로부터 상기 데이터를 검색(lookup)한다. 상기 스택 및 모든 계층 레벨들은 유사한 데이터이나 다른 정확도의 데이터를 포함한다고 가정된다.
상기 제어기 에이전트(350)는 상기 데이터 저장 디바이스(360)에서 검색을 수행함으로써 그리고 위험 스택에서 로트들의 수에 대한 값, 즉 마지막 측정 동작 이래로 소정 스레드 상에서 공정되었던 로트들의 스택을 검색함으로써 위험 체크를 수행한다. 이러한 값은 위험 카테고리내의 로트들의 수에 관한 임계 값, RMS에서 일반적으로 특정되는 값에 비교될 수 있다. 만일 이러한 위험 임계 값이 초과되지 않는다면, 상기 제어기 에이전트(350)가 계속 동작된다. 만일 상기 임계값이 초과된다면, 상기 제어기 에이전트(350)는 중단되고, 현재 로트에 관한 제어 규칙을 결정하기에 앞서 상기 위험 스택 내의 로트들의 리스트로부터 로트에 측정 이벤트를 수행하도록 지시하는 팝업 디스플레이를 전달한다.
상기 제어기 에이전트(350)는 상기에 설명된 바와 같이, 앞서서 결정된 상태 및 타겟 정보로부터 제어기 입력들(공정 레시피 갱신)을 계산한다. 상기 제어기 에이전트(350)는 그 후, 상기 제어 규칙의 결과들을 상기 기계 공정 에이전트(340)로 전달하고, 그 후, 상기 로트(130)의 공정에 앞서 상기 공정 툴(115)의 동작 레시피를 갱신한다.
임의의 실시예에서, 하나 이상의 제어기 에이전트(350)가 상기 로트(130)의 공정에 대해 인스턴스화될 것이다. 예를 들어, 만일 상기 공정 툴(115)이 포토리소그라피 스테퍼라면, 한 제어기 에이전트(350)는 오버레이(overlay)를 제어하도록 호출되고, 다른 제어기 에이전트(350)는 임계 크기(CD : critical dimensions)를 제어하도록 호출될 것이다. 상기 다수의 제어기 에이전트들(350)은 노광 도즈, 노광 시간, 촛점등과 같은 다양한 스테퍼 파라미터들을 조정하기 위하여 공정된 웨이퍼들로부터 피드백을 사용한다. 다른 예에서, 폴리실리콘 층들을 형성하기 위한 툴과 같은 증착 툴이 폴리실리콘 입자(grain) 사이즈 및 폴리실리콘 층 두께와 같은 파라미터들을 제어하는 다양한 제어기 에이전트들(350)을 또한 구비할 것이다.
상기 제어기 에이전트들(350)이 호출된 때, 어떤 개별적인 제어기 에이전트들(350)이 제어 규칙들을 결정하는데 필요한지를 결정하기 위하여 상기 상황 변수들이 체크된다. 상기 동작 ID는 상기 공정이 동작될 것임을 나타낸다(예를 들어, 폴리 게이트 마스크 대 제 2 중간 유전층 마스크(ILD)). 각 제어기 에이전트(350)는 단지 특정한 상황 상태 하에서 요구되고, 그러한 상황 상태들이 만족되었을 때에만 동작될 것이다. 예를 들어, 상기 CD 제어기 에이전트(350)는 폴리 게이트 마스크에 대해 동작되지만, 상기 제 2 ILD 마스크 공정에서는 동작되지 않는다. 반면에, 상기 오버레이 제어기 에이전트(350)는 두 마스크 이벤트들에서 동작할 것이다.
본 장에서 설명된 바와 같이, 에이전트-기반 제어 아키텍쳐의 사용은 공장 전체의 효율성을 향상시키고, 보다 종합적인 자동조작을 제공한다. 보다 특별히, 상기 자율적인 능동적인 소프트웨어 에이전트들(265)은 로트 스케줄링 및 공정의 실행을 스케줄하고 개시한다. 일반적으로, 향상된 공정 제어는 생산 변동을 감소시켜, 이는 생산 수행 및 적합성을 증가한다.
상기 개시된 특정 실시예들은 단지 예시적인 것으로서, 본 발명은 서로 다르지만, 본원의 가르침의 이득을 갖는 이 기술분야의 당업자들에게 명백한 등가적인 방식으로 변경 및 실행될 수 있다. 또한, 본 발명은 본원에 도시된 구조 또는 설계의 세부적인 사항들에 한정되지 않으며, 하기의 청구항들에 의해서만 정의된다. 따라서, 상기 개시된 특정 실시예들은 본 발명의 청구 범위 내에서 변동 또는 변경될 수 있다. 그러므로, 본원에서 보호받고자 하는 권리는 하기의 청구항들에서 정의된다.

Claims (10)

  1. 동작 레시피에 따라 워크피스(130)를 공정하도록 된 공정 툴(115)과;
    상기 공정 툴(115)에서의 상기 워크피스(130)의 공정과 관련된 제어 규칙을 결정하도록 된 제어기 에이전트(350)와; 그리고
    상기 공정 툴(115)과 상기 워크피스(130) 중 적어도 하나에 관련되며, 상기 제어기 에이전트(350)와 인터페이스하고, 상기 제어 규칙을 수신하며, 그리고 상기 제어 규칙에 근거하여 상기 동작 레시피를 구성하도록 된 제 1 공정 에이전트(320, 340)를 포함하는 것을 특징으로 하는 제조 시스템(100, 300).
  2. 제 1 항에 있어서,
    상기 공정 툴(115)과 상기 워크피스(130) 중 하나와 관련되지만 상기 제 1 공정 에이전트(320, 340)와 관련되지 않은 제 2 공정 에이전트(320, 340)를 더 포함하며, 상기 제 1 공정 에이전트(320, 340)와 상기 제 2 공정 에이전트(320, 340) 중 적어도 하나는 상기 제어기 에이전트(350)와 인터페이스하도록 구성되는 것을 특징으로 하는 제조 시스템(100, 300).
  3. 제 2 항에 있어서,
    상기 제 1 공정 에이전트(320)는 상기 워크피스(130)에 관련되고, 상기 제어 규칙을 수신하고 상기 제어 규칙을 상기 공정 툴(115)과 관련된 상기 제 2 공정 에이전트(340)에 전달하기 위하여 상기 제어기 에이전트(350)와 인터페이스하도록 구성되며, 상기 제 2 공정 에이전트(340)는 상기 제어 규칙에 근거하여 상기 동작 레시피를 구성하도록 구성된 것을 특징으로 하는 제조 시스템(100, 300).
  4. 제 1 항에 있어서,
    상기 제어기 에이전트(350)는 상기 워크피스(130)과 상기 공정 툴(115) 중 적어도 하나와 관련된 데이터를 수신하고, 제어 모델 및 상기 수신된 데이터에 근거하여 상기 제어 규칙을 결정하도록 구성되는 것을 특징으로 하는 제조 시스템(100, 300).
  5. 제 4 항에 있어서,
    상기 제 1 공정 에이전트(320)는 상기 워크피스(130)와 관련된 데이터를 상기 제어기 에이전트(350)에 제공하도록 구성되고, 상기 제 2 공정 에이전트(340)는 상기 공정 툴(115)과 관련된 데이터를 상기 제어기 에이전트(350)에 제공하도록 구성되며, 그리고 상기 제어기 에이전트(350)는 상기 제어 모델, 상기 워크피스(130)와 관련된 데이터 및 상기 공정 툴(115)과 관련된 데이터에 근거하여 상기 제어 규칙을 결정하도록 구성되는 것을 특징으로 하는 제조 시스템(100, 300).
  6. 동작 레시피에 따라 워크피스(130)를 공정하도록 구성된 공정 툴(115)을 제어하는 방법에 있어서,
    상기 공정 툴(115)과 상기 워크피스(130) 중 적어도 하나와 관련된 제 1 공정 에이전트(320, 340)를 인스턴스화하는 단계와;
    상기 공정 툴(115)에서의 상기 워크피스(130)의 공정과 관련된 제어 규칙을 결정하도록 구성된 제어기 에이전트(350)를 인스턴스화하는 단계와;
    상기 제어 규칙을 수신하도록 상기 제 1 공정 에이전트(320, 340)를 상기 제어기 에이전트(350)와 인터페이스하는 단계와; 그리고
    상기 제어 규칙에 근거하여 상기 동작 레시피를 구성하도록 상기 제 1 공정 에이전트(320, 340)와 상기 공정 툴(115)을 인터페이스하는 단계를 포함하는 것을 특징으로 하는 공정 툴(115)을 제어하는 방법.
  7. 제 6 항에 있어서,
    상기 공정 툴(115)과 상기 워크피스(130) 중 하나와 관련되지만 상기 제 1 공정 에이전트(320, 340)와 관련되지 않은 제 2 공정 에이전트(320, 340)를 인스턴스화하는 단계와; 그리고
    상기 제 1 공정 에이전트(320, 340)와 상기 제 2 공정 에이전트(320, 340) 중 적어도 하나를 상기 제어기 에이전트(350)와 인터페이스하는 단계를 더 포함하는 것을 특징으로 하는 공정 툴(115)을 제어하는 방법.
  8. 제 7 항에 있어서,
    상기 제어 규칙을 상기 제 1 공정 에이전트(320)로부터 상기 제 2 공정 에이전트(340)로 전달하는 단계와; 그리고
    상기 제어 규칙에 근거하여 상기 동작 레시피를 구성하도록 상기 제 2 공정 에이전트(340)와 상기 공정 툴(115)을 인터페이스하는 단계를 더 포함하는 것을 특징으로 하는 공정 툴(115)을 제어하는 방법.
  9. 제 6 항에 있어서,
    상기 워크피스(130)와 상기 공정 툴(115) 중 적어도 하나와 관련된 데이터를 상기 제어기 에이전트(350)에 제공하는 단계와; 그리고
    제어 모델 및 상기 제공된 데이터에 근거하여 상기 제어 규칙을 결정하는 단계를 더 포함하는 것을 특징으로 하는 공정 툴(115)을 제어하는 방법.
  10. 제 9 항에 있어서,
    상기 워크피스(130)와 관련된 데이터를 제공하기 위해 상기 제 1 공정 에이전트(320)와 상기 제어기 에이전트(350)를 인터페이스하는 단계와;
    상기 공정 툴(115)과 관련된 데이터를 제공하기 위해 상기 제 2 공정 에이전트(340)와 상기 제어기 에이전트(350)를 인터페이스하는 단계와; 그리고
    상기 제어 모델, 그리고 상기 공정 툴(115) 및 상기 워크피스(130)와 관련된 상기 데이터에 근거하여 상기 제어 규칙을 결정하는 단계를 더 포함하는 것을 특징으로 하는 공정 툴(115)을 제어하는 방법.
KR1020047010792A 2002-01-10 2002-10-31 에이전트 기반 제어 아키텍쳐 KR100939329B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US4464002A 2002-01-10 2002-01-10
US10/044,640 2002-01-10
PCT/US2002/034850 WO2003060779A1 (en) 2002-01-10 2002-10-31 Agent-based control architecture

Publications (2)

Publication Number Publication Date
KR20040074116A KR20040074116A (ko) 2004-08-21
KR100939329B1 true KR100939329B1 (ko) 2010-01-28

Family

ID=21933483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047010792A KR100939329B1 (ko) 2002-01-10 2002-10-31 에이전트 기반 제어 아키텍쳐

Country Status (8)

Country Link
JP (1) JP4849773B2 (ko)
KR (1) KR100939329B1 (ko)
CN (1) CN100449551C (ko)
AU (1) AU2002343588A1 (ko)
DE (1) DE10297636B4 (ko)
GB (1) GB2400925B (ko)
TW (1) TWI312448B (ko)
WO (1) WO2003060779A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296687B2 (en) 2003-09-30 2012-10-23 Tokyo Electron Limited System and method for using first-principles simulation to analyze a process performed by a semiconductor processing tool
US8032348B2 (en) 2003-09-30 2011-10-04 Tokyo Electron Limited System and method for using first-principles simulation to facilitate a semiconductor manufacturing process
US8036869B2 (en) 2003-09-30 2011-10-11 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process via a simulation result or a derived empirical model
US8014991B2 (en) 2003-09-30 2011-09-06 Tokyo Electron Limited System and method for using first-principles simulation to characterize a semiconductor manufacturing process
US8073667B2 (en) * 2003-09-30 2011-12-06 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process
US7542880B2 (en) * 2006-04-06 2009-06-02 Advanced Micro Devices, Inc. Time weighted moving average filter
DE102007014970B3 (de) * 2007-03-28 2008-07-31 Siemens Ag Konfiguration von medizintechnischen Prozessen
DE102008035258A1 (de) * 2008-07-29 2010-03-25 Siemens Aktiengesellschaft Verfahren und Anordnung zum Prüfen der Datenkonsistenz einer technischen Anlage
DE102011109388A1 (de) * 2011-08-04 2013-02-07 Heidelberger Druckmaschinen Aktiengesellschaft Automatische Druckmaschinenverbesserung
JP6176633B2 (ja) * 2012-02-21 2017-08-09 アプライド マテリアルズ インコーポレイテッドApplied Materials,Incorporated レガシーハードウェアおよびソフトウェアに対する強化された再ホスティング性能
US20130282333A1 (en) * 2012-04-23 2013-10-24 Abb Technology Ag Service port explorer
DE102019218623A1 (de) * 2019-11-29 2021-06-02 Sms Group Gmbh Steuerungssystem für eine industrielle Anlage, insbesondere für eine Anlage zur Herstellung oder Verarbeitung von metallischen Bändern oder Blechen und Verfahren zum Steuern einer industriellen Anlage, insbesondere einer Anlage zur Herstellung oder Verarbeitung von metallischen Bändern oder Blechen

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001338856A (ja) * 2000-05-30 2001-12-07 Tokyo Seimitsu Co Ltd 半導体製造システムのプロセスコントローラ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548505A (en) * 1994-07-15 1996-08-20 Oktrak Systems, Inc. Scrubber control system
JP4276711B2 (ja) * 1998-01-05 2009-06-10 株式会社日立国際電気 半導体製造装置制御システム
JP3002776B1 (ja) * 1998-07-16 2000-01-24 横河電機株式会社 生産システム及び生産システムにおける加工装置の選択方法
JP3704698B2 (ja) * 1998-08-12 2005-10-12 横河電機株式会社 生産システム
JP2000158297A (ja) * 1998-12-01 2000-06-13 Dainippon Screen Mfg Co Ltd ジョブ管理システム、ジョブ管理方法および記録媒体
US6485990B1 (en) * 2000-01-04 2002-11-26 Advanced Micro Devices, Inc. Feed-forward control of an etch processing tool
US6694275B1 (en) * 2000-06-02 2004-02-17 Timbre Technologies, Inc. Profiler business model

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001338856A (ja) * 2000-05-30 2001-12-07 Tokyo Seimitsu Co Ltd 半導体製造システムのプロセスコントローラ

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"An agent architecture for manufacturing control; manAge", computers in industry 46(2001)*
"Towards agent systems engineering", data & knowledge engineering 23(1997)*

Also Published As

Publication number Publication date
GB2400925A (en) 2004-10-27
TWI312448B (en) 2009-07-21
WO2003060779A1 (en) 2003-07-24
CN100449551C (zh) 2009-01-07
TW200301854A (en) 2003-07-16
KR20040074116A (ko) 2004-08-21
JP4849773B2 (ja) 2012-01-11
GB0412557D0 (en) 2004-07-07
DE10297636B4 (de) 2008-05-08
AU2002343588A1 (en) 2003-07-30
DE10297636T5 (de) 2005-01-05
CN1610908A (zh) 2005-04-27
GB2400925B (en) 2005-08-03
JP2005515623A (ja) 2005-05-26

Similar Documents

Publication Publication Date Title
CN100378941C (zh) 在制造过程中预测装置的电气参数的方法及***
JP4261190B2 (ja) ベースライン制御スクリプトを用いてツールを制御するための方法および装置
US6950716B2 (en) Dynamic control of wafer processing paths in semiconductor manufacturing processes
US6678570B1 (en) Method and apparatus for determining output characteristics using tool state data
KR100939329B1 (ko) 에이전트 기반 제어 아키텍쳐
US6684122B1 (en) Control mechanism for matching process parameters in a multi-chamber process tool
JP5124444B2 (ja) 自動ジョブ管理
US6790686B1 (en) Method and apparatus for integrating dispatch and process control actions
US6563300B1 (en) Method and apparatus for fault detection using multiple tool error signals
JP2003520435A (ja) Fdc半導体製造プロセスからトレースデータ報告を要求する方法
US6785586B1 (en) Method and apparatus for adaptively scheduling tool maintenance
KR100804287B1 (ko) 복수의 프로세스 제어기를 통합하는 방법 및 장치
JP2005515623A6 (ja) 自動生産システム
WO2006022945A1 (en) Method and system for prioritizing material to clear exception conditions
US6937914B1 (en) Method and apparatus for controlling process target values based on manufacturing metrics
KR20050065663A (ko) 첫 번째-원칙 피드-포워드 제조 제어를 제공하기 위한 방법및 장치
US7020535B1 (en) Method and apparatus for providing excitation for a process controller
Moyne Making the move to fab-wide APC.
US6968252B1 (en) Method and apparatus for dispatching based on metrology tool performance
US7340318B1 (en) Method and apparatus for assessing controller performance
KR101169038B1 (ko) 예외 상황들을 해소하기 위해 재료에 우선순위를 정하기위한 방법 및 시스템
Toprac et al. The status and future of APC software.(Manufacturing Software)

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: 20121227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150106

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 11