KR100946397B1 - 자동화된 제조 환경에서 능동 소프트웨어 에이전트의 전문화 - Google Patents

자동화된 제조 환경에서 능동 소프트웨어 에이전트의 전문화 Download PDF

Info

Publication number
KR100946397B1
KR100946397B1 KR1020047019536A KR20047019536A KR100946397B1 KR 100946397 B1 KR100946397 B1 KR 100946397B1 KR 1020047019536 A KR1020047019536 A KR 1020047019536A KR 20047019536 A KR20047019536 A KR 20047019536A KR 100946397 B1 KR100946397 B1 KR 100946397B1
Authority
KR
South Korea
Prior art keywords
scheduling
lot
agent
processing
agents
Prior art date
Application number
KR1020047019536A
Other languages
English (en)
Other versions
KR20050004902A (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 KR20050004902A publication Critical patent/KR20050004902A/ko
Application granted granted Critical
Publication of KR100946397B1 publication Critical patent/KR100946397B1/ko

Links

Images

Classifications

    • 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]
    • 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
    • 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/32263Afo products, their components to be manufactured, lot selective
    • 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/32328Dynamic scheduling, resource allocation, multi agent negotiation
    • 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]
    • 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)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

전문화된, 자율의, 능동 소프트웨어 에이전트(265)를 이용한 자동화된 프로세싱 환경를 구현하기 위한 장치 및 방법이 제공된다. 상기 소프트웨어 에이전트(265)는 이들이 대표하는 엔티티 타입, 및 공정 흐름에서 이들이 수행하는 기능에 의하여 전문화된다. 상기 장치는 제 2 서브세트의 제조 영역 엔티티(115, 130, 320, 420)에 의해 제공된 공정 자원(420)을 소비하도록 제 1 서브세트의 제조 영역 엔티티(115, 130, 320, 420)를 스케줄링하기 위한 복수의 소프트웨어 에이전트(610) 및 복수의 제조 영역 엔티티(115, 130, 320, 420)로 구성되는 공정 흐름을 포함한다. 상기 방법은 이런 소프트웨어 에이전트들(265)을 실증하는 단계와, 및 이후에 이들을 프로그래밍된 바와같이 동작하도록 허용하는 단계를 포함한다.
Figure R1020047019536
반도체 제조 공정, 소프트웨어 에이전트.

Description

자동화된 제조 환경에서 능동 소프트웨어 에이전트의 전문화{SPECIALIZATION OF ACTIVE SOFTWARE AGENTS IN AN AUTOMATED MANUFACTURING ENVIRONMENT}
본 발명은 자동화된 제조 환경에 관한 것이고, 더욱 특히, 자동화된 제조 환경에서 능동 소프트웨어 에이전트의 전문화에 관한 것이다.
복잡한 전자 디바이스들이 전세계적으로 수용되고 그 기술 요건들이 증가함에 따라, 전례없이 대규모의 복잡한 집적 회로들이 필요하게 되었다. 반도체 산업의 경쟁에 의해, 제품들은 가능한 가장 효율적인 방식으로 설계, 제조 및 판매될 것이 요구된다. 이에 따라, 전자 산업의 급속한 진보와 보조를 맞추어 제조 기술의 진보가 요구된다. 이러한 요구들을 충족시키기 위해, 물질 및 처리 장비에 있어서 많은 기술적인 진보가 이루어졌고, 집적 회로 설계의 수를 상당히 증가시켰다. 이러한 개선들은 또한 제조 공정의 스케쥴링, 제어 및 자동화 뿐 아니라, 설계 및 제조를 돕는 컴퓨팅 자원들 및 기타 정교한 장비를 효율적으로 이용할 것을 요구한다.
먼저, 제조와 관련하여, 집적 회로들 또는 마이크로칩들은, 전형적으로 몇 마이크로미터의 크기를 갖는 많은 구조들 또는 특성들을 포함하는 현대의 반도체 디바이스들로부터 제조된다. 상기 특성들은 반도체 기판의 로컬라이즈(localized)된 영역에 위치되며, 전도체, 비전도체, 또는 반도체(즉, 도펀트로 한정된 영역에서 전도체로 되는)이다. 일반적으로, 제조 공정은 일련의 제조 툴들을 통해 다수의 웨이퍼들을 처리한다. 각 제조 툴은 하기에서 완전히 논의될 네가지 기본 동작 중 하나 이상을 수행한다. 전체 공정에 따라 이러한 4개의 기본 동작들을 수행하여, 궁극적으로 반도체 디바이스들의 제조를 완료한다.
집적 회로는 반도체 기판 물질의 웨이퍼로부터 제조된다. 제조하는 동안 반도체 기판에 물질층들이 부가되고, 이로부터 제거되고, 그리고/또는 처리됨으로써, 디바이스를 구성하는 집적된, 전자 회로들을 생성한다. 이러한 제조는 본질적으로 다음의 4개의 기본 동작들:
ㆍ반도체가 제조되는 웨이퍼에 여러가지 얇은 물질층들을 쌓거나 부가하고;
ㆍ부가된 층들의 선택된 부분들을 패턴닝하거나 제거하고;
ㆍ부가된 층들의 개구부들을 통해 웨이퍼의 선택된 부분들에 특정량의 도펀트들을 도핑하거나 배치하고; 그리고
ㆍ물질들을 열 처리, 또는 가열 및 냉각하여, 처리되는 웨이퍼에서 원하는 효과들을 발생시키는 것을 포함한다.
단지 4개의 기본 동작들만을 나타냈지만, 이러한 동작들은 특정 제조 공정에 따라 수백개의 다른 방법들로 결합될 수 있다. 예를 들어, 피터 밴 잔트(Peter Van Zant)의 "Microchip Fabrication A Practical Guide to Semiconductor Processing"(3d Ed. 1997 McGraw-Hill Companies, Inc.)(ISBN 0-07-067250-4)을 참조하라. 각 제조 툴은 4개의 기본 동작들중 1개 또는 그 이상을 수행한다.
하지만, 반도체 공장을 관리하는 것은 힘든 일이다. 반도체 공장("팹(fab)")은 복잡한 환경으로서, 여기에서는 많은 파트들(전형적으로, 40,000개 또는 그 이상의 웨이퍼들) 및 많은 파트 타입들(전형적으로, 100개 또는 그 이상의 파트 타입들)이 동시에 제조된다. 각 웨이퍼는 반도체 공장(또는 "팹")을 통해 이동하기 때문에, 이는 300개 이상의 처리 단계들을 거쳐야하는바, 이들중 많은 처리 단계들은 동일한 머신을 이용한다. 큰 공장은 이러한 웨이퍼 처리를 수행하기 위한 약 500개의 컴퓨터 제어 머신들을 구비할 수 있다. 컴퓨터화된 공장 제어 시스템의 도움을 받더라도, 팹을 통해 물질을 라우팅(routing)하고, 스케쥴링하고, 추적하는 것은 어렵고 복잡한 작업이다.
반도체 칩들과 같은 제품들을 제조하기 위한 설비를 효율적으로 관리하기 위해서는, 제조 공정을 다양한 견지에서 감시할 필요가 있다. 일반적으로, 예를 들어 가지고 있는 미가공 물질의 양, 재공품(work-in-process)의 상태, 공정의 모든 단계에서의 머신들 및 툴들의 상태 및 유용성을 추적하는 것이 바람직하다. 가장 중요한 결정들중 하나는 어떠한 소정의 시간에 각 머신에서 어떤 로트(lot)가 실행되어야 하는 지를 선택하는 것이다. 또한, 제조 공정에 이용되는 대부분의 머신들은 기계적인 예방 관리(preventative maintenance)("PM") 및 장비 검증(equipment qualification)("Qual") 절차들 뿐 아니라, 규칙적으로 수행되어야 하는 기타 진단 및 재조정 절차들의 스케쥴링을 필요로 한다. 이러한 절차들은 제조 공정 자체를 방해하지 않도록 수행되어야 한다.
이러한 문제에 대한 하나의 시도는 자동화된 "제조 실행 시스템("MES")을 구 현한다. 이러한 자동화된 MES에 의해, 사용자는 제조 환경의 머신들 및 툴들 또는 "엔티티들"의 상태를 제한된 정도로 검사 및 조정할 수 있다. 또한, MES는 제조 공정을 통해 로트들 또는 재공품의 디스패칭(dispatching) 및 추적을 가능하게 함으로써, 자원들이 가장 효율적인 방식으로 관리될 수 있게 한다. 구체적으로, MES의 요구(prompt)에 응답하여, 사용자는 재공품 및 엔티티 상태에 관해 요구되는 정보를 입력한다. 예를 들어, 사용자가 특정 엔티티에 대해 PM을 수행할 때, 관리 기술자("MT")는 PM("이벤트")의 성능을 MES 스크린에 기록(log)하여, 그 엔티티의 상태에 관해 MES 데이터베이스에 저장된 정보를 갱신한다. 또한, 엔티티가 복구 또는 유지를 위해 다운되어야 하는 경우, MT는 이 정보를 MES 데이터베이스에 기록함으로써, 이후에 제조 대기 상태로 다시 기록될때까지 이 엔티티의 이용을 막는다.
MES 시스템들이 로트들 및 머신들을 충분히 추적할 수 있음에도 불구하고, 이러한 시스템들은 몇 개의 결점들을 갖는바, 이들중 가장 명백한 것은 이들의 수동적인 특성, 사전 스케쥴링의 부족, 및 상당히 자동화된 공장 동작들을 지원할 수 없다는 것이다. 현재의 MES 시스템들은 공장 상태를 감시하고 정확한 시간에 활동들을 개시하는 데에 제조 직원들에게 크게 의존한다. 예를 들어, 웨이퍼 팹 기술자("WFT")가 적절한 MES 커맨드를 발행해야만, 로트의 공정이 시작된다. 그리고, 공정 이전에, WFT는 머신이 이용가능하게 될 때 이 머신에서 로트가 이용될 수 있다는 충분한 사전 계획에 의해, 자동화된 물질 처리 시스템("AMHS")으로부터 로트를 회수하기 위한 MES 커맨드를 발행해야 한다. WFT가 충분히 빠르게 로트를 회수하지 못하거나, 이용가능한 가장 이른 시간에 공정을 개시하지 못한다면, 머신은 아이들 (idle) 상태가 되고 제조에 악영향을 미치게 된다.
전형적인 자동화 MES에서의 이러한 타입의 문제점들은 제조 공정의 효율적인 동작에 있어서 WFT의 중요성을 강조한다. WFT들은 극히 중요한 많은 기능들을 수행한다. 이를 테면, WFT들은 자신들이 주목하고 시간이 허락될 때 디스패칭, 전송 및 프로세싱을 개시한다. 이들은 근접하는 로트들을 기다리는 것과 대비적으로 불완전한 배치(batch)를 실행할 것인지, 또는 로트들을 프로세싱하는 대신 PM 또는 검증 절차들을 수행할 것인 지와 같은, 스케쥴링 결정을 한다. WFT들은 비 부가가치의 MES 처리들을 수행하고, 수동적인 통상적인 공장 제어 시스템들을 이용한다. 이러한 환경에서, "수동"이라는 용어는 제어 시스템의 활동들이 스스로 시작 또는 초기화되지 않고 WFT에 의해 초기화되어야 함을 의미한다.
하지만, WFT들의 존재 또한 필연적으로 어떠한 비효율성을 가져온다. 전형적으로, 최고의 WFT의 작업과 최악의 WFT의 작업간에는 큰 차이가 있다. WFT는 전형적으로 다수의 툴들 및 로트들의 처리를 동시에 감시하기 때문에, 개별적인 로트 또는 툴에 집중하기가 어렵다. 또한, 현대의 제조 공정 흐름들의 규모 및 복잡성으로 인해, WFT가 업스트림의 활동들로부터 발생하는 다운스트림의 병목 또는 부족을 미리 예견하여 방지하는 것은 상당히 어렵다. WFT의 교대조 변경, 휴식 및 휴일 또한 비효율성 또는 머신의 아이들 시간을 야기시킴으로써, 제조 공정의 흐름에 악영향을 미친다. 자동화된 MES의 부족에 의해 WFT의 중요성이 확대되는 것과 마찬가지로, 이 WFT의 중요성에 의해 WFT의 비효율성이 또한 확대된다.
따라서, 오늘날의 웨이퍼 팹에서 이용되는 공장 제어 시스템들은 수동적이고 고도의 자동화를 가능하게 하지 못한다. 이러한 시스템들은, 공장의 상태를 감시하고, 변경에 연속적으로 반응하고, 신속한 논리 결정을 하고, 시기 적절하게 공장 제어 활동을 초기화 및 조정하는 데에 있어서 웨이퍼 팹 기술자 및 다른 공장 직원에게 매우 의존한다. 이러한 웨이퍼 팹 기술자들은 공장 제어 시스템들에는 없는 능동적 요소를 제공하는 에이젼트(agent)들이다. 결과적으로, 매우 경쟁적인 반도체 산업에 있어서의 공장의 효율성은 이러한 인간 에이젼트들의 유용성, 생산성, 기술 수준 및 일관성에 상당히 의존한다. 웨이퍼 팹 기술자들은 팹의 다양한 베이(bay)들에 위치하는 많은 툴들을 감시하고 동작시켜야 한다. 이들은 툴들, 베이들, 물질 처리 시스템들 및 다수의 공장 제어 시스템들을 통해 멀티플렉싱을 수행해야 한다. 팹의 생산량이 증가하고 보다 복잡한 공정들이 도입되면, 직원 또는 시스템의 성능을 증가시키지 않으면서 증가되는 복잡성 및 용량을 충족시키는 것이 더욱 어려워졌다. 업스트림 및 다운스트림 동작들, 툴 상태, 재공품 및 자원 유용성에 대한 웨이퍼 팹 기술자들의 가시도가 제한된다.
하지만, 중요한 논리 결정들은 종종 이러한 제한되고 날짜가 있는 정보에 기초하는바, 이러한 정보는 공장 제어 시스템들에 의해 단지 부분적으로 제공된다. 웨이퍼 팹 기술자들은 시스템들과 상호작용을 하고, 공장 이벤트들 및 상태 변경들을 감시하며, 그리고 MES 기록(logging)과 같은 기타 비 부가가치 기능들을 수행하는 데에 상당량의 시간을 소비한다. 교대조 변경은 팹의 동작을 중단시키는데, 그 이유는 기술자들이 요구되는 감시 및 조정을 일시적으로 제공할 수 없기 때문이다. 기술자들의 최선의 노력에도 불구하고, 툴들의 이용에 어려움을 겪에 됨으로써, 순환 시간, 재고 수준, 공장의 생산 및 혼합(mix)을 포함한 기타 중요한 공장 메트릭(metric)들에 악영향을 준다. 베이내(intrabay) 물질 처리에 있어서, 새로운 300mm 웨이퍼 팹들에서 12인치 웨이퍼들을 전송해야하는 필요성으로 인해, 상당한 복잡성이 부가적으로 도입된다. 통상적인 공장 제어 시스템들은 이러한 수준의 상세한 스케쥴링 및 실행 제어를 제공하지 못한다.
본 발명은 상기 언급된 하나 이상의 모든 문제들을 해결하거나, 또는 적어도 감소하는 것이다.
미국 특허 제 5,444,632호는프로세싱 머신을 제어하고 스케줄링하기 위한 장치 및 방법을 개시한다. 스케줄러는 일련의 제조 동작에 따라 제조된 아이템(item)의 로트를 제조하는데 요구되는 스케줄링 선택을 한다. 상기 스케줄러는 객체 지향 프로그래밍 환경에서 존재하는 소프트웨어 "객체들"을 포함한다.
라손 알.디.(LATHON R.D.) 등, "생산 목표를 달성하기 위한 스케줄링 에이전트간의 협상" IEEE, 1994년 10월 2일, 페이지 1541-1546, XP010139150 ISBN: 0-7803-2129-4는 제조 숍 플로어(maunfacturing shop floor)상에서 스케줄링 기능을 수행하기 위한 아키텍처를 설명한다. 에이전트들은 이들 시스템의 기능성에 따라 제조 서브시스템(복수의 엔티티를 병합하는)을 대표한다.
전문화된, 자율의, 능동 소프트웨어 에이전트를 이용한 자동화된 프로세싱 환경를 구현하기 위한 장치 및 방법이 제공된다. 상기 소프트웨어 에이전트는 이들이 대표하는 엔티티 타입, 및 공정 흐름에서 이들이 수행하는 기능에 의하여 전문화된다. 상기 장치는 제 2 서브세트의 제조 영역 엔티티에 의해 제공된 공정 자원을 소비하도록 제 1 서브세트의 제조 영역 엔티티를 스케줄링하기 위한 복수의 소프트웨어 에이전트 및 복수의 제조 영역 엔티티로 구성되는 공정 흐름을 포함한다. 상기 방법은 이런 소프트웨어 에이전트들을 실증하는 단계와, 및 이후에 이들을 프로그래밍된 바와같이 동작하도록 허용하는 단계를 포함한다.
본 발명은 첨부 도면과 관련하여 취해진 하기의 상세한 설명을 참조하여 이해될 수 있으며, 여기서 동일 참조번호는 동일 소자를 나타낸다.
도 1은 본 발명에 따라 구성되고 동작되는 제 1 공정 흐름의 특정 실시예의 일부분을 개념적으로 도시한다.
도 2는 도 1의 컴퓨팅 디바이스의 하드웨어 및 소프트웨어 각각의 선택된 부분들을 부분 블록도에서 개념적으로 도시한다.
도 3A는 제 1 레벨상에서 에이전트들(즉, 도 1의 제 2 공정 흐름에서 소비자 에이전트 및 제공자 에이전트)의 전문화를 부분 블록도에서 개념적으로 도시한다.
도 3B는 도 3A의 공정 흐름에 대한 계약 네트 협상 프로토콜(contract net negotiation protocol)의 플로팅 마켓(floating market) 모델 구현을 도시한다.
도 4는 도 1의 공정 흐름에서 타입, 엔티티, 및 기능에 관한 에이전트의 전문화를 부분 블록도로 도시한다.
도 5A 및 도 5B는 예시된 실시예의 객체 지향 프로그래밍 환경에서 두 클래스의 에이전트에 대한 계승 계층구성(inheritance hierarchy)을 도시한다.
도 6은 도 1의 공정 흐름의 AEMS에서 다양한 클래스의 에이전트를 도시한다.
본 발명은 많은 변형들 및 대안적인 형태들을 가질 수 있지만, 도면들에는 특정한 실시예들이 도시되어 있으며, 본원에서는 이에 대해 상세히 설명한다. 그러나, 이러한 특정한 실시예들은 본 발명을 개시된 형태들로 한정하지 않으며, 본 발명은 첨부된 청구항들에 의해 정의되는 본 발명의 범주내에 있는 모든 변형들, 등가들 및 대안들을 포함한다.
이하, 본 발명의 예시적인 실시예들에 대해 설명한다. 명확성을 위해, 본원에서는 실제 구현의 모든 특징들을 모두 설명하지는 않는다. 물론, 주목할 사항으 로서, 이러한 모든 실제 실시예의 개발시, 예를 들어 시스템 관련 제약 및 사업 관련 제약을 따르는 것과 같이, 개발자의 특정한 목표들을 달성하기 위해서는, 구현 마다 특정한 다양한 결정들이 이루어져야 하는바, 이는 구현 마다 달라질 것이다. 또한, 주목할 사항으로서, 이러한 개발 노력은 복잡하고 시간 소모적이지만, 그럼에도 불구하고 본원의 개시의 이득을 갖는 당업자들에게는 일상적인 작업이다.
도 1은 본 발명에 따라 구성되어 동작하는 공정 흐름(100)의 일 특정 실시예의 일부를 개념적으로 도시한다. 이 공정 흐름(100)은 반도체 디바이스들을 제조한다. 하지만, 본 발명은 다른 타입의 제조 공정들에도 적용될 수 있다. 따라서, 상기 설명한 공정 흐름(100)에서, 웨이퍼들(135)들의 로트들(130)은 보다 일반적으로 "워크 피스들(work pieces)"이라 칭한다. 공정 툴들(115) 및 그 위에서 수행되는 어떠한 공정 동작들이 반드시 모든 실시예들의 반도체 디바이스들의 제조와 관련될 필요는 없다. 하지만, 명확성을 위해 그리고 본 발명의 이해를 위해, 반도체 제조와 관련된 용어는 도시된 실시예들의 환경에서 본 발명을 설명하는 데에 있어서 유지된다. 따라서, "로트"라는 용어는 광의로 해석되며, 제조 공정에서 프로세싱될 수 있는 임의의 워크 피스를 의미한다.
공정 흐름(100)의 도시된 부분은 2개의 스테이션들(105)을 포함하는바, 각 스테이션(105)은 공정 툴(115)과 통신하는 컴퓨팅 디바이스(110)를 포함한다. 이 스테이션들(105)은 통신 링크들(120)을 통해 서로 통신한다. 도시된 실시예에서, 컴퓨팅 디바이스들(110) 및 통신 링크들(120)은 보다 큰 컴퓨팅 시스템, 예를 들어네트워크(125)의 일부를 포함한다. 도 1의 공정 툴들(115)은 웨이퍼들(135)의 로트 들(130)을 공정 처리하는바, 이들이 궁극적으로 집적 회로 디바이스들이 된다.
도 2는 본 발명에 따라 프로그래밍되고 동작되는 컴퓨팅 디바이스(110) 하드웨어 및 소프트웨어 각각의 선택된 부분들을 도시한다. 하드웨어 및 소프트웨어 아키텍처의 몇가지 양상(예를 들면, 개인 카드, 기초 입력/출력 시스템("BIOS"), 입력/출력 드라이버 등)은 도시되지 않았다. 이들 양상은 본 발명을 불명확하게함을 방지하고, 명확성을 위해 생략되었다. 본 명세서의 이익을 갖게 될 당업자들에게는 자명한 사항이지만, 컴퓨팅 디바이스(110)의 소프트웨어 및 하드웨어 아키텍처는 그런 많은 일반적 특성을 포함할 것이다.
예시된 실시예에서, 컴퓨팅 디바이스(110)는 UNIX-기반의 오퍼레이팅 시스템을 이용하는 워크스테이션이지만, 본 발명은 이에 제한되지 않는다. 컴퓨팅 디바이스(110)는 랩탑 컴퓨터, 데스크탑 컴퓨터, 미니-컴퓨터, 메인프레임 컴퓨터, 슈퍼컴퓨터와 같은 가상인, 임의의 타입의 전자 컴퓨팅 디바이스로 구현될 수 있다. 일부 대안 실시예에서, 컴퓨팅 디바이스(110)는 심지어 프로세스 툴(115)에 내장된 제어기 또는 프로세서일 수 있다. 또한, 본 발명은 UNIX-기반의 오퍼레이팅 시스템에 제한되지 않는다. 또한, 대안적인 오퍼레이팅 시스템(예를 들면, 윈도우즈TM, 리눅스TM, 또는 디스크 오퍼레이팅 시스템("DOS")-기반의)이 이용될 수 있다. 본 발명은 컴퓨팅 디바이스(110)의 특정 구현에 제한되지 않는다.
또한, 컴퓨팅 디바이스(110)는 버스 시스템(215)을 통하여 몇개의 저장소(210)와 통신하는 프로세서(205)를 포함한다. 저장소(210)는 전형적으로 적어도 하 나의 하드 디스크와 몇개의 랜덤 액세스 메모리("RAM")을 포함할 것이다. 몇가지 실시예에서, 컴퓨팅 디바이스(110)은 또한 광 디스크(230), 또는 플로피 전자기 디스크(235)와 같은 제거가능한 저장소, 또는 자기 테이프나 집 디스크(zip disk)(미도시)와 같은 어떤 다른 형태를 포함할 수 있다. 프로세서(205)는 종래에 알려진 임의의 적절한 프로세서일 수 있다. 예를 들어, 프로세서는 일반적 목적의 마이크로프로세서 또는 디지털 신호 프로세서("DSP")일 수 있다. 예시된 실시예에서, 프로세서(205)는 어드밴스드 마이크로 디바이시즈, 인크.("AMD")로부터 상업적으로 이용가능한 애스론(AthlonTM) 프로세서이지만, 본 발명은 이에 제한되지 않는다. 선 마이크로시스템사의 64-비트 UltraSPARCTM , 또는 32-비트 microSPARCTM, 인텔사의 ItaniumTM, 펜티엄TM, 또는 AlphaTM-클래스 프로세서가 대안적으로 이용될 수 있다.컴퓨팅 디바이스(110)는 모니터(240), 키보드(245), 및 마우스(250)를 포함하고, 그리고 이들과 관련된 사용자 인터페이스 소프트웨어(255)(도 2에 도시)와 함꼐 사용자 인터페이스(260)을 포함한다. 예시된 실시예에서 사용자 인터페이스는 그래픽 유저 인터페이스("GUI")인데, 이것이 본 발명의 실시에 반드시 필요한 것은 아니다.
도 2는 컴퓨팅 디바이스(110)의 소프트웨어 아키텍처의 선택된 부분을 도시한다. 예시된 실시예에서, 각 컴퓨팅 디바이스(110)는 저장소(210)에서 디바이스상에 놓여진 소프트웨어 에이전트(265)를 포함한다. 소프트웨어 에이전트(265)는 컴퓨팅 디바이스(110)와는 다른 장소에서 공정 흐름(100)에 놓여질 수 있음을 주목하자. 소프트웨어 에이전트(265)의 위치는 본 발명의 실시에서 중요하지 않다. 또한, 소프트웨어 에이전트(265)의 위치가 중요하지 않기 때문에, 일부 컴퓨팅 디바이스(110)는 그 위에 상주하는 다수의 소프트웨어 에이전트(265)를 가질 수 있는 반면에, 다른 컴퓨팅 디바이스(110)는 전혀 가지지 않을 수 있다. WORKSTREAMTM과 같은 자동화된 MES(270)의 일부분들은 적어도 하나의 컴퓨팅 디바이스(110)상에 상주한다.
간단히 도 1을 참조하면, 상기에 언급된 바와같이, 또한 컴퓨팅 디바이스(110)는 통신 링크(120)를 통한 접속에 의해 큰 컴퓨팅 시스템(125)의 일부일 수 있다. 이런 구현의 예시적인 컴퓨팅 시스템은 근거리 통신망("LAN"), 광대역 통신망("WAN"), 시스템 영역망("SAN"), 인트라넷, 또는 심지어 인터넷을 포함할 것이다. 컴퓨팅 시스템(125)은 네트워킹된 클라이언트/서버 아키텍처를 이용하지만, 다른 실시예들은 동등계층(peer-to-peer) 또는 다른 타입의 아키텍처를 이용할 수 있다. 따라서, 일부 대안 실시예에서, 컴퓨팅 디바이스(110)는 서로간에 직접적으로 통신할 수 있다. 통신 링크(120)는 무선, 동축 케이블, 광섬유, 또는 연선 링크일 수 있다. 실시예에서 하나를 이용한 컴퓨팅 시스템(125) 및 통신 링크(120)는 구현 특정일 것이고, 종래에 알려진 임의의 적절한 방식으로 구현될 수 있다. 컴퓨팅 시스템(125)은 종래에 알려진 임의의 적절한 통신 프로토콜( 예를 들어, 전송 제어 프로토콜/인터넷 프로토콜("TCP/IP"))을 이용할 수 있다.
이제 도 1 및 도 2 모두를 참조하면, 소프트웨어 에이전트(265)들은 총괄하여 제조 공정을 통하여 웨이퍼(135)의 로트(130)의 효율적인 스케줄링 및 제어에 대한 책임을 진다. 각 공정 툴(115)은 이런 목적을 위해 이용될 수 있는 몇가지 자원을 대표한다. 예를 들어, 공정 툴(115)은 웨이퍼(135)의 일부분을 제조(즉, 웨이퍼(135)의 레이어(layer), 패턴, 도핑, 또는 열처리)하는데 사용되는 제조 툴일 수 있다. 혹은, 공정 툴(115)은 다양한 부분의 공정 흐름(100)의 성능을 평가하는데 사용되는 측정 툴일 수 있다. 따라서, 소프트웨어 에이전트(265)는 웨이퍼(135) 로트(130)의 연속적 프로세싱을 위해 복수의 자원을 평가하고, 공정 툴(115)에 의해 대표되는 자원을 할당하며, 그리고 웨이퍼(135) 로트(130)의 연속적 프로세싱을 위한 이들 자원의 할당을 위해 이들 서로 간의 협상을 할 수 있다.
도시된 실시예에서, 소프트웨어 에이전트(265)는 시작시에 자체-설정가능하고, 지능적이며, 상태를 인식하며, 특정 목적으로 고취되어 있으며, 이들은 상기 목적을 얻기 위해 자율적으로 특성을 초기화한다. 또한, 소프트웨어 에이전트(265)는 환경이 변함에 따라 자체-조정가능하다. 도시된 실시예에서, 소프트웨어 에이전트(265)는 객체 지향 프로그래밍("OOP") 환경의 객체로 구현되지만, 본 발명은 객체 지향이 아닌 기술을 사용하여 구현될 수 있다. 이런 특성은 비교적 단순하며, 규약(scripts) 및 속성(properties)으로 부분적으로 설정가능하다. 이런 특성은 할당된 로트 마감일을 달성하는 것, 소정의 레벨의 품질을 얻는것, 머신 사용도를 최대화하는 것, 및 기회적(opportunistic) 예방 관리를 스케줄링하는 것과 같은 선택된 목적을 얻도록 설계되었다. 이런 목적을 달성하기 쉽게 하기 위해, 소프트웨어 에이전트(265)는 MES(270)와 인터페이스하고, 기존의 공장 제어 시스템(미도시)에 통합된다. 본 명세서의 이익을 취하는 기술분야의 당업자들에게 자명한 바와같이, 이런 인터페이스 및 통합이 발생하는 방식은 구현 특정이며, 이는 공장 제어 시스템 및 MES(270)의 동일성에 의존한다.
종합적으로, 하기에서 완전히 논의될 바와 같이, 소프트웨어 에이전트(265)는 특정의 검증된 공정 툴(115)상에 각 로트(130)에 대한 하나 이상의 동작(전송 및 요구된 자원을 포함하는)을 미리 스케줄링한다. 이는 로트(130)의 불완전한 배치를 실행하는 것(접근에 대해 대기하는 것과는 상반대는 것으로서)과 같이 결정을 최적화하는 것, 및 사양을 만족하기 위하여 기회적 예방 관리 또는 검증을 스케줄링하는 것을 포함한다. 소프트웨어 에이전트(265)는 로트 전송 및 프로세싱과 같은 활동을 스케줄하고 초기화하며, MES 처리를 수행하며, 프로세싱 및 전송을 감시하며, 및 스케줄되지않은 활동 및 스케줄된 활동으로부터의 일탈에 반응한다. 더욱 상세하게는, 소프트웨어 에이전트(265)는 예를 들어, 하기사항을 포함한다:
ㆍ 특정 툴(115)에서 다음 프로세싱 약속(appointment)을 만족하기 위하여 로트(130)에 대하여 요구된 물질 전송의 실행을 스케줄하고 초기화한다;
ㆍ 전송 활동을 감시하고 일탈에 반응한다;
ㆍ 특정 약속 시작 시간에 의해 남겨진 머신 포트로의 전송을 스케줄하고 초기화한다;
ㆍ 자동-확인 및 장비 이벤트를 통하여 머신 포트 캐리어 도달을 검출한다;
ㆍ 장비 인터페이스를 통하여 공정 툴(115)에 대한 프로세싱 및 방식(recipe) 다운로드를 초기화한다;
ㆍ MES 처리를 수행한다;
ㆍ 프로세싱 활동을 감시하고, WFT에 비정상을 통지한다;
ㆍ 장비 이벤트를 통하여 프로세싱의 근접 완료를 검출하고, 인증된 공정 툴(115)로 공정 흐름의 다음 공정에 대한 프로세싱 약속을 스케줄한다;
ㆍ 최근접 스토커(stocker) 또는 근접 공정 툴(115)로의 전송을 초기화한다;
ㆍ 캐리어 출발을 검출하고 포트를 방출한다;
ㆍ 예방 관리 절차를 스케줄하고 적절한 시간에 관리 기술자("MT")를 통지한다;
ㆍ 검증 절차를 스케줄하고 적절한 시간에 WFT를 통지한다; 그리고
ㆍ PM 또는 Qual을 프로세싱하거나 수행하기 위하여 자원(예를 들어, 레티클(reticle), 로더(loader), 언로더(unloader) 등)을 스케줄한다.
제공된 실시예는 구현 레벨에 따라 임의 또는 모든 상기 기능, 또는 심지어 상기에 리스트되지않은 기능을 구현할 수 있음을 주목하자.
하기에서 더 설명될 바와같이, 이런 특성을 추진하기 위하여, 소프트웨어 에이전트(265)는 수개의 다른 레벨로 전문화될 수 있다. 일 레벨은 "타입", 즉, 소프트웨어 에이전트(265)가 공정 흐름(100)에서 "소비자" 또는 서비스 "제공자"를 대표하는지 여부이다. 더욱 상세하게는, 소프트웨어 에이전트(265)가 소비자 또는 제공자를 대표하는지 여부는 대표하는 엔티티의 타입, 및 이런 대표가 발생하는 환경(context)에 의해 결정된다. 예를 들어, 소프트웨어 에이전트(265)는 웨이퍼(135)의 로트(130)(즉, "로트 에이전트"), 공정 툴(115)(즉, "머신 에이전트"), 공정 자원(즉, "자원 에이전트"), 또는 PM 혹은 Qual(즉, "PM 에이전트")를 대표할 수 있 다. 하기에서 완전히 논의될 바와같이, 어떤 소프트웨어 에이전트(265)는 일부 환경에서 소비자이고, 다른 환경에서 제공자인 제조 영역 엔티티를 대표함을 주목하자. 또한, 소프트웨어 에이전트(265)는 기능에 의해-공정 흐름에서 소프트웨어 에이전트(265)가 무슨 기능을 수행하는지에 의해- 전문화된다. 각 전문화된 소프트웨어 에이전트(265)는 본 실시예가 구현된 공정 흐름(100)의 전체 성능에서 다른 임무를 담당한다.
소프트웨어 에이전트(265)는 반드시 로트(130), 공정 툴(115) 등과 같은 제조 영역 엔티티와 일대일 대응으로 존재할 필요가 없음을 주목하자. 대신에, 대부분의 영역 엔티티 각각은 에이전트 그룹에 의해 대표된다. 예컨대, 하기에 완전히 설명될 바와같이, 로트(130) 또는 공정 툴(115)은 "스케줄링" 에이전트 및 "프로세싱" 에이전트 모두를 가질 수 있다. 이는 영역 엔티티 기능성의 단일 양상을 지원하는 전문화된 특성을 나타내는 전문화된 객체들의 설계를 용이하게 한다.
도 3A을 참조하면,(일반적인 의미로) 예시적 공정 흐름(300)에서 소프트웨어 에이전트(265)는 전형적으로 "소비자 에이전트"(305) 및 "제공자 에이전트"(310)로 분류될 수 있다. 소비자 에이전트(305)는 각각 소비자(315)(예를 들어, 로트(130) 또는 PM 절차(320))의 이익을 대표하는데, 이는 시기적절하고 효율적인 방식으로 공정 흐름(100)을 통한 로트(130)를 진행하거나, 또는 허용가능한 윈도우(window)내에서 PM 또는 Qual 절차를 수행함에 있어서 그러하다. 제공자 에이전트(310)는 제공자(325)(예를 들어, 공정 툴(115)과 같은 머신)의 이익을 대표하는데, 이는 시기적절하고 효율적인 방식으로 공정 흐름(100)을 통한 로트(130)를 진행함에 있어서 공정 자원에 대한 소비자의 요구를 만족하는 것이다. 예컨대, 웨이퍼(135)의 로트(130)를 대표하는 소프트웨어 에이전트(265)는 "소비자" 에이전트(305)로 고려될 것이고, 공정 툴(115)을 대표하는 소프트웨어 에이전트(265)는 "제공자" 에이전트로 고려될 것이다(이는 공정 툴(115)은 로트(130)에 의해 "소비될" 공정 서비스이기 때문이다). 이전에 언급되고 하기에서 더욱 완전히 논의될 바와같이, 소프트웨어 에이전트(265)는 종종 어떤 환경에서 제공자 에이전트(310)로, 다른 환경에서는 소비자 에이전트(305)로 분류될 수 있음을 주목하자.
상기에서 주목된 바와같이, 소비자 에이전트(305)와 제공자 에이전트(310)간의 구분은 스케줄링 환경에서 특히 용이하다. 도시된 실시예에서 소프트웨어 에이전트(265)에 의해 초기화된 동작의 스케줄링은 공정과 관련된 비율(ratio), 경비(budget), 비용을 선회한다. 더욱 상세하게는, 자원 할당을 위한 계약 네트 협상 프로토콜의 구현을 추진하기 위하여, 경비, 비용, 비율의 조합은 플로팅 마켓 모델 방식을 구현하기 위해 사용된다. 상기 조합은 (예를 들어, 마감일을 만족하는 것, 머신의 효율적 사용 등) "바람직한" 특성을 촉진하도록 구성된다. 더욱 상세하게는, "경비"는 소비자 에이전트(305)가 제공자(325)의 공정 서비스를 획득하는데 사용하도록 소비자(315)에게 할당된다. 유사하게는, 제공자(325)는 자신이 대표하는 공정 서비스(예를 들어, 공정 시간)에 대해 소비자(315)에게 청구한다. 소비자(315)가 지불하고자 하는 경비는 소비자(315)가 스케줄대로 유지하는데 필요한 공정 자원의 양에 의존하고, 제공자(325)에 의해 청구된 양은 제공자가 스케줄을 충족하는데 필요한 양에 의존한다. 본원에서 예시된 실시예에서, 경비 및 비용은 달 러로 표현되지만, 이는 반드시 본 발명의 실시에 필요하지 않다. 대신에 임의의 척도 단위가 사용될 수 있다.
도 3B를 참조하면, 방법(330)이 도시된다. 방법(330)은 다양한 실시예 및 구현에서 실시될 수 있으며, 특정 실시예가 하기에 개시된다. 소비자 소프트웨어 에이전트(305) 및 제공자 소프트웨어 에이전트(310)는 제공자(325)에 대한 소비자(315)를 스케줄하기 위하여 "계약 네트 협상 프로토콜"를 사용한다. 소비자 에이전트(305)는 제공자(325)의 서비스에 대한 소비자(315)의 접근을 위해 제공자 에이전트(310)와 협상한다. 이러한 접근은 "약속(appointment)"으로 언급된다. 상세한 실시예에서, 소비자 에이전트(305) 및 제공자 에이전트(310) 모두는 이들 각각의 캘린더(calendar)상에 약속을 "예약"한다.
방법(330)은 특정 공정 자원(예를 들어, 공정 툴(215)상의 공정 시간)에 대하여 소비자(315)에게 경비를 제공함으로써 시작되며, 박스(335)에 제시된 바와같이 소비자는 다음에 소비하기를 원한다. 박스(340)에 제시된 바와같이, 이후에 소비자(315)는 공정 자원을 얻기 위하여 소비자 소프트웨어 에이전트(305)를 통하여 소비자(315)에 대한 비드 요구서를 발송한다. 일 구현에서, 소비자 소프트웨어 에이전트(305)는 소비자(315)를 대신하여 모든 적격의 제공자(310)로부터 비드를 요구한다. 소비자 소프트웨어 에이전트(305)가 비드를 요구할 때, 이는 제공자(310)에게 하기와 같은 관련 정보를 제공한다: 소비자 신원확인; 전송을 시작할 가장 이른 시간; 스케줄될 공정 동작; 소비자(315)에게 수용가능한 최근 완료 시간; 소비자(315)가 제공자(310)로 전송될 위치; 및 소비자의 "경비 계산기".
박스(345)에 제시된 바와같이, 이후에, 제공자(325)는 제공자 소프트웨어 에이전트(310)를 통하여 소비자(315)에게 비드 요구에 응답하는 적어도 하나의 비드를 제출한다. 대안 실시예에서, 제공자 소프트웨어 에이전트(310)는 어떤 비드도 제출하지 않을 수 있다. 상기에 언급된 바와같이, 제공자 소프트웨어 에이전트는 약속을 추적하기 위하여 캘린더(327)를 유지한다. 비드 요구가 수신될 때, 제공자 소프트웨어 에이전트(310)는 제공자(305)가 잠재적으로 요구된 서비스를 제공할 수 있는 타임 슬롯에 대한 캘린더(327)를 검색한다. 각 잠재적 타임 슬롯에 대하여, 제공자(305)는 시작 및 종료 시간, 및 선택 비용으로 구성된 비드를 제출한다.
이후에, 소비자(315)는 소비자 소프트웨어 에이전트(305)를 통하여 상기 시간 및 선택 비용을 고려함으로써 제출된 비드를 선택한다. 박스(355)에 제시된 바와같이, 이후에, 소비자(315)는 소비자 소프트웨어 에이전트(305)를 통하여 선택된 비드에 대한 계약서를 제공자(325)에게 수여한다. 하지만, 제공자(325)는 전형적으로 진행중인 단위로서 수개의 소비자(315)와 협상하고 있다. 제공자(325)가 제출된 비드와 다투는 방식으로 연속적으로 다른 소비자(315)를 스케줄하는 것이 가능하며, 이에 따라 제공자(325)는 더 이상 계약서를 받을 수 없게 된다. 따라서, 제공자(325)는 제공자 소프트웨어 에이전트(310)를 통하여 제공자가 여전히 비드를 구현하고 계약서를 받을 수 있는지를 알기 위해 캘린더(327)를 조사한다. 박스(360)에 제시된 바와같이, 만일 비드가 여전히 캘린더(327)상에서 실행가능하다면, 이후에, 제공자(325)는 수여된 계약서를 승인하며, 소비자 및 제공자 모두는 각 자신의 캘린더(323, 327)상에 약속(3620을 스케줄한다. "약속"은 제공자(325)가 활동을 수행하도록 자신에게 의무지운 특정 시간이다.
따라서, 공정 흐름(300)에서 결정수립은 수요와 공급의 경제력에 의해 지도된다. 더욱 상세하게는, 소비자 소프트웨어 에이전트(305)는 우선순위 또는 지연과 같은 선택된 인자에 다소 적극적으로 의존하여 서비스를 획득하도록 설계되었다. 제공자 소프트웨어 에이전트(310)는 캘린더의 사용도의 레벨과 같은 다수의 인자에 다소 적극적으로 의존하여 그러한 서비스를 제공하도록 설계되었다. 이들 결정은 결정의 기초가 되는 경비 및 비용에 영향을 미치는 설정가능한 속성 및 커브(curve)를 통하여 외부적으로 조작될 수 있음을 주목하자. 이처럼 협력하여 작업함으로써, 소비자 및 제공자 소프트웨어 에이전트(305, 310)는 시기적절하고 효율적인 방식으로 소비자(305)를 만족하도록 협력한다.
도 4는 도 2의 소프트웨어 에이전트(265)가 모두 세가지 레벨의 전문화를 구체화하는 반도체 제조 공정 흐름(400)의 일부분을 도시한다. 더욱 상세하게는, 공정 흐름(400)은 다음을 포함한다:
ㆍ 목적을 스케줄링하기 위한 공정 툴에 대한 PM 및 Qual 절차를 대표하는 소비자 소프트웨어 에이전트인 PM 스케줄링 에이전트("PMSA")(418);
ㆍ 목적을 스케줄링하기 위한 로트(130)를 대표하는 소비자 소프트웨어 에이전트인 로트 스케줄링 에이전트("LSA")(405);
ㆍ 목적을 스케줄링하기 위한 공정 툴(115)을 대표하는, 자신이 동작하는 환경에 의존하는, 모두가 소비자 및 제공자 소프트웨어 에이전트인 머신 스케줄링 에이전트("MSA")(410); 그리고
ㆍ 목적을 스케줄링하기 위한 레티클(420)을 대표하는 제공자 소프트웨어 에이전트인 자원 스케줄링 에이전트("RSA")(415).
비록 도시되지 않았지만은, 로트(130), 공정 툴(115), 및 PM 또는 Qual 절차(미도시) 및 레티클(420) 모두는 대응하는 "프로세싱" 에이전트를 갖는데, 스케줄링 에이전트(405, 410, 415, 418)는 활동을 실행할 때에 상기 에이전트에 제어를 넘겨준다. RSA(415)는 다른 구현에서 다른 타입의 공정 자원(예를 들어, 머신 로딩 자원, 더미(dummy) 웨이퍼, 빈(empty) 카세트, 웨이퍼 팹 기술자(wafer fab technician) 등)을 대표할 수 있음을 주목하자. 공정 흐름(400)은 상기에서 도 3A 및 3B를 참조하여 논의된 계약 네트 협상 프로토콜에 대하여 부동 마켓 모델 방식을 구현한다. 상기 LSA(405)는 스케줄상을 유지하면서 비용을 최소화하도록 시도한다. MSA(410)은 이익을 최대화하면서 툴 사용도의 최적화를 시도한다.
LSA(405)는 스케줄상에서 자신이 대표하는 로트(130)를 유지하려고 한다. MSA(410)는 자신이 대표하는 공정 툴(115)의 사용도의 최대화를 시도한다. 유사하게는, RSA(415)는 자신이 대표하는 자원(즉, 레티클(420))의 사용도의 최대화를 시도한다. RSA(415)는 다른 구현에서 다른 타입의 자원들(예를 들어, 머신 로딩 자원, 더미 웨이퍼, 카세트, 웨이퍼 팹 기술자, 관리 기술자 등)을 대표할 수 있다. PMSA(418)는 특히 공정 툴(115)상의 PM 및 Qual를 기회적으로 스케줄하는 시도를 한다. 다양한 에이전트(405, 410, 415, 및 418)는 이들이 만족할 필요가 있거나 유지하기를 원하는 스케줄에 일치하여 이들이 제안한 가격 또는 서비스에 대해 지불할 경비를 조정함으로써 공정 자원의 소비에 대한 협상 약속의 환경에서 이를 수행 한다.
더욱 상세하게는, 로트(130)는 전형적으로 다수의 피스의 장비(pieces of equipment)( 예를 들어, 공정 툴(115))와 협상을 한다. LSA(405)는 로트(130)로 하여금 마감일을 만족하게 하고, 적절한 시간에 후차의 병목 머신 스테이션(bottleneck machine station)을 공급하게 하는 공정 툴에 의해 제공된 타밍 슬롯을 찾으려고 한다. 이와 동시에, MSA(410)는 공정 툴(115)의 사용도를 최적화하는 방식으로 프로세싱하기 위하여 로트(130)를 획득하려고 한다. 전체적으로, MSA(410)의 목표는 각 공정 툴(115)의 전체 사용도를 최대화하고, 로트(130)의 상대적 우선순위를 존중하며, 셋업 또는 방식 변경을 감소하며, 및 자신의 배치 크기를 최적화한다. 이런 에이전트 상호작용의 협력으로 특정 시간 윈도우내의 특정 공정 툴(115)상의 로트(130)를 스케줄링하게 된다.
일반적으로, LSA(405)는 바람직한 제조 동작을 수행할 수 있는 공정 툴(115)을 대표하는 모든 MSA(410)에게 "요구 비드" 메시지(425)를 전송함으로써 협상을 시작한다. 이 시점에서, 공정 툴(115)이 공정 서비스(즉, 공정 시간)를 제공하기 때문에 MSA(410)는 제공자로서 동작한다. 요구 비드 메시지(425)의 수신이 있자마자, 각 가능한 공정 툴(115)에 대한 MSA(410)는 잠재적 비드를 확인하고, 작업을 수행하기 위하여 검증된 레티클(420)이 필요한지를 인식하고, 자신의 요구 비드 메시지(430)를 모든 가능한 자원(즉, 검증된 레티클(420))의 RSA(415)으로 전송한다. 공정 툴(115)이 이제 공정 서비스(즉, 레티클(420)과의 시간)를 소비하기 때문에, MSA(410)는 이제 이 시점에서 제공자로부터 소비자로 바뀌었다. 검증된 레티클(420)을 대표하는 각 RSA(415)는 하나 이상의 비드(435)를 제출하고, MSA(410)는 이들중 하나를 자신의 비드(460)에 삽입을 위해 선택한다. 이제 필요한 자원을 확인한 MSA(410)는 공정 서비스 제공자로서의 자신의 임무로 복귀한다. 다른 잠재적 비드가 MSA(410)에 의해 확인된다면, 이는 다시 한번 적절한 RSA(415)로부터의 비드를 요구한다.
가능한 공정 툴(115)을 대표하는 각 MSA(410)는 요구 비드 메시지(425)를 전송한 LSA(405)로 하나 이상의 비드(460)를 제출한다. LSA(405)는 모든 MSA(410)의 모든 제출된 비드(460)로부터 하나의 비드(460)를 선택한다. 이후에, LSA(405)는 선택된 비드(460)를 제출한 MSA(410)에 계약서(465)를 수여한다. MSA(410)은 자신의 머신 캘린더(470)를 조사하고, 비드가 여전히 이용가능한지를 결정하고, 만일 그러하다면, 선택된 비드(435)를 제출한 레티클(420)에 계약서(440)를 수여한다. RSA(415)는 자신의 자원 캘린더(445)를 조사하고, 비드가 여전히 이용가능한지를 살펴보며, 및 자신의 자원 캘린더(445)상에 약속(475a)을 스케줄한다. 이후에, RSA(415)는 "승인 비드" 메시지(455)로 계약서를 승인하고, MSA(410)는 "자원" 비드(435)를 제공한 RSA(415)를 참조하여 자신의 머신 캘린터(470)상에 약속(475b)을 스케줄한다. 이후에, MSA(410)는 "승인된 비드" 메시지(480)를 LSA(405)로 보낸다. 이후에, LSA(405)는 자신의 로트 캘린더(485)상에 대응하는 약속(475c)을 스케줄한다. 약속(475a, 475b, 475c)의 실행 시간이 도달했을때, 스케줄링 에이전트(405, 410, 및 415)는 제어를 이들 각 프로세싱 에이전트로 넘겨준다(미도시).
따라서, 비록 동일 타입의 에이전트가 대개 유사한 특성으로 프로그래밍되었지만, 전문화된 에이전트를 생성하는데 차이가 발생한다. 상기 논의된 MSA(410)의 특성을 LSA(405) 및 RSA(415)에 비교함으로써, 이러한 차이가 쉽게 분명해 진다. 하지만, 도시된 실시예에서는 또한 더욱 섬세한 차이가 존재한다. 예컨대, 많은 타입의 공정 툴(115)이 있고, 각 타입의 공정 툴(115)은 각 소프트웨어 에이전트(265)가 전문화를 필요로 하기 때문에 다른 특징을 소유할 수 있다. 도시된 실시예에서 ,머신 에이전트의 전문화에 적합한 예시적인 특징은 다음을 포함한다:
ㆍ 공정 툴(115)이 웨이터에 의해, 로트(130)에 의해, 로트(130) 배치에 의해, 또는 웨이퍼 배치에 의해 프로세싱되는지 여부;
ㆍ 공정 툴(115)이 웨이퍼, 로트(130), 또는 배치를 직렬로(즉, 제 2 유닛의 프로세싱 시작전에 제 1 유닛의 프로세싱을 완료) 혹은 순차적으로 프로세싱하는지 여부("캐스케이딩", 즉, 제 1 유닛의 프로세싱 완료전에 제 2 유닛의 프로세싱을 시작할 수 있는);
ㆍ 공정 툴(115)에 대한 포트의 수;
ㆍ 공정 툴(115)에 대한 포트들이 입력, 출력, 또는 입/출력인지 여부;
ㆍ 공정 툴(115)에 대한 챔버가 직렬로 또는 병렬로 사용되는지 여부;
ㆍ 공정 툴(115)이 PM을 연쇄(chain)할 수 있는지 여부;
ㆍ 공정 툴(115)에서 챔버 개수;
ㆍ 공정 툴(115)이 내부 저장소를 포함하는지 여부;
ㆍ 공정 툴(115)이 다른 로트(130) 또는 배치를 프로세싱하는 동안에 로트(130) 또는 배치의 프로세싱을 큐잉(queue)할수 있는지 여부;
ㆍ 공정 툴(115)이 로딩 그리고/또는 언로딩을 요구하는지 여부;
ㆍ 공정 툴(115)이 자원을 요구하는지 여부, 및 만일 그러하다면, 이들 자원이 전용 자원 또는 공유 자원인지 여부;
하지만, 인자(factor)(이 인자에 따라 머신 에이전트, 또는 임의의 소프트웨어 에이전트(265)가 전문화됨)는 매우 구현 특정일 것임을 주목하자.
예를 들어, 웨이퍼에 의해, 로트에 의해, 배치 등에 의해 프로세싱하는지에 의해 머신 에이전트가 전문화되는 실시예를 고려하자. 하나의 특정 실시예에서, 다음의 머신 에이전트들이 사용된다.
ㆍ 기준라인(baseline) 프로세싱 에이전트;
ㆍ 웨이퍼-기반의, 프로세싱 에이전트;
ㆍ 웨이퍼-기반의, 순차적 프로세싱 에이전트;
ㆍ 웨이퍼-기반의, 배치 순차적 프로세싱 에이전트;
ㆍ 웨이퍼-기반의, 배치 프로세싱 에이전트;
ㆍ 로트-기반의 프로세싱 에이전트;
ㆍ 로트-기반의, 순차적 프로세싱 에이전트;
ㆍ 로트-기반의. 배치 프로세싱 에이전트;
ㆍ 로트-기반의, 배치 순차적 프로세싱 에이전트;
ㆍ 기준라인 스케줄링 에이전트;
ㆍ 웨이퍼-기반의, 스케줄링 에이전트;
ㆍ 웨이퍼-기반의, 순차적 스케줄링 에이전트;
ㆍ 웨이퍼-기반의, 배치 순차적 스케줄링 에이전트;
ㆍ 웨이퍼-기반의, 배치 스케줄링 에이전트;
ㆍ 로트-기반의 스케줄링 에이전트;
ㆍ 로트-기반의, 순차적 스케줄링 에이전트;
ㆍ 로트-기반의, 배치 스케줄링 에이전트; 그리고
ㆍ 로트-기반의, 배치 순차적 스케줄링 에이전트;
상기 특정 실시예는 객체 지향 프로그래밍 기술을 사용한 에이전트를 구현하고, 기준라인 에이전트는 클래스 정의를 제공하며, 다른 에이전트는 상기 클래스의 서브클래스이다. 캘린더(예를 들어, 도 3A의 캘린더(327))는 이들과 관련된 머신이 전문화된 것과 같이 또한 전문화될 수 있다. 따라서, 상기 언급된 실시예에서, 하기의 전문화된 캘린더가 사용된다:
ㆍ 웨이퍼-기반의, 순차적 캘린더;
ㆍ 웨이퍼-기반의, 직렬 캘린더;
ㆍ 웨이퍼-기반의, 직렬 배치 캘린더;
ㆍ 웨이퍼-기반의, 배치 순차적 캘린더;
ㆍ 로트-기반의, 직렬 캘린더;
ㆍ 로트-기반의, 순차적 캘린더;
ㆍ 로트-기반의, 직렬 배치 캘린더; 그리고
ㆍ 로트-기반의, 배치 순차적 캘린더.
하지만, 이것은 본 발명의 실시예에 반드시 필요한 것이 아님을 주목하자.
또한, 다른 에이전트 전문화가 이용될 수 있다. PM 에이전트는 이들이 수행하는 관리 절차가 시간, 프로세싱된 웨이퍼, 프로세싱된 로트, 프로세싱된 배치, 프로세싱 시간, 이벤트의 발생 등에 기초하여 수행되는지에 의해 전문화될 수 있다. 일 특정 실시예에서, 하기의 전문화된 PM 에이전트가 이용된다:
ㆍ 웨이퍼-기반의 PM 스케줄링 에이전트;
ㆍ 시간-기반의 PM 스케줄링 에이전트;
ㆍ 프로세싱 유닛-기반의(예를 들어, 프로세싱될 로트(130)의 개수, 프로세싱될 배치의 개수) PM 스케줄링 에이전트;
ㆍ 프로세싱 시간-기반의(예를 들어, 누적 프로세싱 시간) PM 스케줄링 에이전트;
ㆍ 이벤트-기반의 PM 스케줄링 에이전트(예를 들어, 프로세싱 이벤트의 종료);
ㆍ 웨이퍼-기반의 PM 프로세싱 에이전트;
ㆍ 시간-기반의 PM 프로세싱 에이전트;
ㆍ 프로세싱 유닛-기반의(예를 들어, 프로세싱될 로트(130)의 개수, 프로세싱될 배치의 개수) PM 프로세싱 에이전트;
ㆍ 프로세싱 시간-기반의(예를 들어, 누적 프로세싱 시간) PM 프로세싱 에이전트; 그리고
ㆍ 이벤트-기반의 PM 프로세싱 에이전트(예를 들어, 프로세싱 이벤트의 종료).
각 PM 스케줄링 에이전트는 다른 타입의 PM에 기인한 고유의 특성을 포함한 다. 예를 들어, 시간-기반의 PM 스케줄링 에이전트는 시간(예를 들어, 30일 PM)에 기초하여 PM을 스케줄한다. 시간-기반의 PM 스케줄링 에이전트는 PM의 최종 발생일에 30일을 더함으로써 PM 마감 시간을 결정한다. 반면에, 이벤트-기반의 PM 스케줄링 에이전트는 다르게 행동한다. 이벤트-기반의 PM 스케줄링 에이전트는 툴에 발생한 이벤트(예를 들어, 엔드 에치(End Etch) PM)에 기초하여 PM을 스케줄한다. 이벤트-기반의 PM 스케줄링 에이전트가 엔드 에치가 발생했음을 검츨할 때, 이는 특정 공정 툴(115)상의 PM을 스케줄할 것이다.
LSA는 다음과 같은 이유로 전문화될 수 있다:
ㆍ 우선순위;
ㆍ 제품; 그리고
ㆍ 제품군(product family).
따라서, LSA는 로트의 우선순위, 제품, 또는 제품군에 기초하여 비드를 선택함에 있어서 다른 특성를 가질 수 있다. 예를 들어, 높은 우선순위 로트가 처리가능한 시간에 기초하여 비드를 선택할 수 있는 반면에, 낮은 우선순위 로트는 비용에 기초하여 비드를 선택할 것이다. 또한, 로트는 로트의 제품군에 기초하여 다르게 행동할 수 있다. 일 예로서, 마이크로프로세서 로트에 대한 플래쉬 프로세서 로트를 고려하자. 플래쉬 프로세서는 가능한한 빨리 공정 흐름을 통과하는 특성을 가질 수 있다. 이 경우에, 로트는 시간에 기초하여 비드를 선택할 것이다. 반면에, 마이크로프로세서는 반대 특성을 가질 수 있으며, 비용에 기초하여 비드를 선택할 것이다.
자원 에이전트는 유사하게 스케줄링 또는 프로세싱 에이전트로서, 그리고 이 들이 대표하는 특정 타입의 자원뿐만 아니라 이들이 전용 자원(예를 들어, 로딩 자원) 또는 공유 자원(예를 들어, WFT, 레티클, 더미 웨이퍼, 또는 빈 캐리어(empty carrier))을 대표하는지에 의하여 전문화될 수 있다. 여전히 다른 전문화가 대안 실시예에서 이용될 수 있다.
예시된 실시예가 도시된 OOP 환경은 이런 타입의 전문화에 매우 적합하다. 당업자에 의해 이해될 바와같이, OOP 환경은 수많은 소프트웨어-구현된 객체를 포함하며, 이들 각각은 객체 타입, 또는 객체 클래스에 속한다. 도시된 실시예에서, 프로세싱 에이전트 및 스케줄링 에이전트는 두 개의 다른 객체 클래스에 속한다. 일 클래스내의 객체들은 "계승 계층(inheritance hierarchy)"으로 차분화될 수 있으며, 여기서 낮은 레벨은 높은 레벨의 특성을 계승하는 반면에, 높은 레벨로부터 구별되는 속성 또는 특성을 포함한다.
도 5A에 도시된 MSA 객체 클래스에 대한 계승 계층(500)을 고려하자. MSA(502)는 MSA에 대한 기준라인 클래스이다. MSA(502)는 모든 MSA에 의해 공유된 특성을 포함한다. 예를 들어, MSA(502)는 약속 시작 시간 및 종료 시간 경보를 생성하고 제거하는 책임을 진다. 또한, 에이전트는 몇가지 공통 헬퍼 클래스를 구성하는데, 이는 예를 들어, 약속 변경 통지자, 약속 변경 청취기(Listner), 머신 스타트(stats), 머신 청취기, 비드 요구 가입자(Subscriber), 얼리 스타터(Early starter), 벌금 상환 계산기(Penalty Refund Calculator), 충돌 평가자(Bump Evaluator), 시프트 로트 라이트 리스케줄러(Shift Lot Right Rescheduler), 및 머신 비드 요구기를 포함한다. 이들 모두의 개념은 하기에서 완전하게 논의될 것이 다. 또한 MSA(502)는 툴 상태의 요구를 책임진다. 또한, LSA는 비드를 생성하거나 승인하기 위하여 MSA(502)를 호출한다. MSA(502)의 모든 특성은 MSA에 의해 계승된다. MSA는 로트 MSA(504), 로트 순차적 MSA(506), 배치 MSA(508), 배치 로트 MSA(510), 배치 로트 순차적 MSA(512), 배치 웨이퍼 MSA(514), 배치 웨이퍼 순차적 MSA(516), 웨이퍼 머신 스케줄링 에이전트(518), 및 웨이퍼 순차적 MSA(520)를 포함한다.
기준라인 특성의 계승에 부가하여, 각 전문화된 MSA는 고유의 특성을 포함하며, 이는 일부 계승된 특성에 우선한다. 예시된 실시예에서, 대부분의 고유의 특성은 MSA와 관련된 공정 툴(115)이 로트(130)을 프로세싱하는 방법에 기초한다. 일부의 특성은 툴 상태를 프로세싱하는 것, 장비 이벤트를 프로세싱하는 것, 약속 상태 변경에 반응하는 것, 공장 상태 변경에 반응하는 것, 로트 또는 배치에 대한 소비 시간을 결정하는 것, 및 전문화된 헬퍼 클래스의 생성(하기에서 더 논의됨)을 포함한다. 스케줄링 에이전트간의 다른 특성을 설명하기 위하여, 배치 로트 MSA(510)에 대한 웨이퍼 MSA(518)의 특성을 비교하고 대조할 것이다.
웨이퍼 MSA(518)(예를 들어, 플라즈마 스트립 툴을 대표하는)는 소정의 로트에 대해 한번에 웨이퍼를 프로세싱한다. 반면에, 배치 로트 MSA(510)(예를 들어, 퍼니스(furnace)를 대표하는)은 한번에 수개의 로트의 배치를 프로세싱한다. 초기화 동안에, 모든 에이전트(510, 518)는 툴 상태를 요구할 것이다. 에이전트(510, 518)에 의해 수신된 툴 상태는 고유하다. 웨이퍼 MSA(518)는 웨이퍼 기반의 정보를 포함하는 툴 상태를 수신할 것이며, 반면에 배치 로트 MSA(510)는 로트 배치에 기 반한 툴 상태를 수신할 것이다. 각 에이전트(510, 518)는 머신의 상태를 발견하기 위하여 툴 상태를 고유적으로 프로세싱할 것이다. 에이전트(510, 518)간의 다른 차이는 이들이 장비 이벤트를 프로세싱하는 방법이다. 이벤트는 머신이 로트를 프로세싱하는 방법에 의존한다. 웨이퍼 머신의 경우에서, 일부 장비 이벤트는 웨이퍼-기반이다. 배치 로트 머신에 있어서, 일부 장비 이벤트는 시간-기반이다. 예를 들어, 근접 완료 이벤트는 공정 툴(115)이 로트(130) 또는 배치의 프로세싱을 거의 종료할 때에 트리거링(trigering)된다. 웨이퍼-기반의 머신상에서, 이벤트는 소정의 수의 웨이퍼가 남아있을때 트리거링된다. 배치 로트 머신상에서, 이벤트는 남은 시간이 특정 임계값에 도달할 때에 트리거링된다.
또한, 새로운 약속 소비 시간의 결정은 웨이퍼 MSA(518)과 배치 로트 MSA(510)간의 차이이다. 로트(130)을 포함하는 웨이퍼(135)의 개수 및 공정 동작은 웨이퍼-기반의 머신상의 소비 시간을 결정한다. 반면에, 배치 로트 MSA(510)는 공정 및 공정 동작에 대하여 배치 소비 시간을 사용한다. 스케줄링 에이전트가 근접 완료 이벤트를 수신할 때에, 에이전트는 약속을 확장 또는 축소해야하는지를 결정한다. 웨이퍼 MSA(518)의 경우에서, 에이전트(518)는 프로세싱될 남은 웨이퍼의 개수를 결정한다. 이후에, 이는 남은 웨이퍼 개수에 기초하여 남은 소비 시간을 결정할 것이다. 이는 남은 소비 시간에 기초하여 약속을 축소하거나 확장할 것이다. 배치 로트 MSA(510)는 근접 완료 이벤트내의 남은 소비 시간을 수신한다. 이는 남은 소비 시간에 기초하여 약속을 축소하거나 확장할 것이다.
대안적으로, 도 5B의 계승 계층(550)을 고려한다. RSA 객체 클래스(552)는 모든 RSA의 기준라인 클래스이다. 기준라인 RSA(552)는 모든 RSA에 의해 공유된 특성을 포함한다. 예를 들어, 기준라인 RSA(552)는 약속 시작 시간 및 종료 시간 경보를 생성하고, 및 제거할 의무가 있다. 기준라인 RSA(552)는 두개의 서브클래스로 더 분류된다: 전용 RSA(554) 및 공유 RSA(556). 전용 자원의 전형적 예는 배치 프로세싱 툴(115)상의 로트(130)의 로딩 및 언로딩을 책임지는 로딩 자원이다. 이런 전용 자원은 전용 RSA(554)(예를 들어, 로딩 RSA(558))에 의해 대표된다. 공유 자원의 전형적 예는 레티클, 빈 카세트, 더미 웨이퍼, WFT, 및 MT이다. 이런 공유 자원은 공유 RSA(556), 예를 들어, 레티클 스케줄링 에이전트(560), 빈 카세트 스케줄링 에이전트(562), 더미 웨이퍼 스케줄링 에이전트(564), WFT 스케줄링 에이전트(568), MT 스케줄링 에이전트(570)에 의해 대표된다.
로딩 RSA(558)의 전문화된 특성중 하나는 로딩 순서 최적화이다. 로딩 RSA(558)이 로트(130)의 가장 이른 도달 시간의 갱신과 관련된 약속 이벤트 변경을 수신할 때마다, 이는 배치의 모든 로트(130)의 최적화된 로딩 순서를 결정할 것이며, 이에 따라 모든 배치 관계자(participant)의 로딩은 최단 시간에 완료될 수 있다. 로딩 RSA(558)의 다른 전문화된 특성은 배치 작업이 늦은 도달 시간 로트(130)를 가질때에 언로딩 약속의 스케줄링이다. 바람직한 세팅에서, 제 2 배치 작업에 대한 모든 로딩은 제 1 배치 작업의 디스차징(discharge) 시작 시간전에 완료되도록 스케줄될 것이다. 제 2 배치 작업에 대한 모든 로딩은 제 1 배치 작업의 디스차징 시작 시간전에 완료되도록 스케줄될 것이다. 따라서, 제 1 배치 작업의 디스차징이 완료될 때, 제 2 배치 작업의 차징(charging)을 시작할 수 있으며, 제 1 배치 작업의 로트(130)의 언로딩은 제 2 배치의 차징 종료 시간후에 스케줄될 것이다. 하지만, 만일 제 2 배치 작업의 하나의 로트(130)가 제 1 배치의 디스차징 시작 시간전에 로딩되도록 충분히 일찍 공정 툴(115)에 도달할 수 없다면, 상기 로트(130)에 대한 로딩 약속은 제 1 배치의 디스차징 완료후에 스케줄되어야 한다. 이런 환경하에서, RSA는 공정 툴(115)상에 프로세싱된 공정 동작의 본질(nature)에 의존하여 다른 전문화된 특성을 가질 것이다. 일 경우에서, 일 타입의 배치 공정 툴(115)상에 수행된 공정 동작은 공정 라우트의 종료에 매우 근접하며, RSA는 항상 디스차징의 종료후 즉시 제 1 배치에 대한 언로딩 약속을 스케줄링할 것이며, 이후에 늦은 도달의 공정 약속은 제 1 배치의 언로딩이후에 스케줄된다. 어떤 다른 경우에서, 공정 동작은 공정 라우트의 종료에 매우 근접하지 않으며, 언로딩 약속을 서두를 긴급성은 없으며, 이에 따라 늦은 도달 로트(130)는 제 1 배치 작업의 디스차징이후에 로딩을 위해 스케줄링될 것이고, 제 1 배치의 언로딩은 제 2 배치 작업의 차징의 완료이후에 스케줄될 것이다.
전용 자원의 본질때문에, 전용 RSA(554)에 대하여는 어떠한 이동 약속도 약속간의 자원을 전송하는데 요구되지 않는다. 하지만, 공유 RSA(556)에 대하여, 자원이 공정 툴(115) 또는 로트(130)의 그룹 간에 공유되어야하기 때문에, 이동 약속은 만일 이들 두개의 약속이 두개의 다른 위치를 위해 스케줄링된다면 두 약속들간에 스케줄되어야한다. 따라서, 공유 RSA(556)는 자원 공정 약속을 생성하거나 예약할때에 자신의 전문화된 특성을 가질 것이다: 이동 약속은 만일 자원의 전송이 필요하다면 생성되고 예약될 것이다. 또한, 공유 RSA(556)는 비드 생성과 비드 승인에 관하여 자신의 전문화된 특성을 갖는다. 이것은 높은 우선순위 공정 툴(115) 또는 로트(130)가 덜 중요한 공정 툴(115) 또는 로트(130)에 대한 약속을 취소하게 할 수 있다.
또한, 다른 전문화된 RSA는 다른 전문화된 특성을 나타낸다. WFT 또는 MT 스케줄링 에이전트(568, 570), 각각은 개인의 자격(기술), 휴식 시간 요구, 및 이동 제한에 관련된 제약을 고려하는 전문화된 특성을 갖는다. WFT 및 MT간의 차이는 전형적으로 MT가 복구 또는 PM의 전 기간에 대해 필요한 반면에, WFT는 단지 일부 시간에 필요될 것이다. 예컨대, WFT는 로딩 및 언로딩동안에 공정 툴(115)에서 필요될 것이지만, 툴(115)이 프로세싱하는동안에 다른 임무를 수행할 수 있다. 빈 카세트 스케줄링 에이전트(562)는 전문화된 특성을 갖는데, 이는 동적으로 생성되며, 사용된후에 존재를 종료하기 때문이다. 빈 카세트는 웨이퍼를 저장하도록 사용된 이후에 공유 자원에서 종료될 것인 반면에, 생산 로트를 전송하는 카세트는 만일 웨이퍼가 카세트로부터 제거된다면 빈 카세트로 될 수 있다. 더미 웨이퍼 스케줄링 에이전트(564)는 이들 웨이퍼가 주기적 개장(refurbishing)을 요구하기 때문에 전문화된 특성을 갖는다. 더미 웨이퍼는 정확한 프로세싱을 위해 최소 로드 크기를 요구하는 일부 배치 머신에서 빈 슬롯을 채우는데 사용된다. 더미 웨이퍼는 특정양의 사용이후에 서비스로부터 제거되어야 하며, 이들이 개장될때까지 다시 사용될 수 없다.
따라서, 도시된 실시예의 AEMS(600)는 부분적으로 도 6에 도시된 소프트웨어 객체를 포함하는 다수의 소프트웨어 성분들을 포함한다. 이들은 하기의 클래스를 포함한다:
ㆍ 다음을 더 포함하는 스케줄링 에이전트 클래스(610)와:
ㆍ 특정 로트(130)를 대신하여 프로세싱 및 관련 이동 약속을 스케줄하는 LSA(630);
ㆍ 특정 머신을 대신하여 다른 스케줄링 에이전트와의 약속을 스케줄하는 MSA(650);
ㆍ 특정 머신을 대신하여 특정 PM 및 Qual 약속을 스케줄하는 PM 스케줄링 에이전트("PSA")(640); 그리고
ㆍ 2차 자원(예를 들어, 레티클, WFT, MT)의 사용을 스케줄하는 RSA(660);
ㆍ 다음을 더 포함하는 프로세싱 에이전트 클래스(620)와:
ㆍ 로트 프로세싱 및 이동 약속을 실행하는 로트 프로세싱 에이전트("LPA")(670);
ㆍ 셋업, 로트 프로세싱 또는 배치 프로세싱, PM 및 Qual 약속을 실행하는 머신 프로세싱 에이전트("MPA")(690);
ㆍ PM 및 Qual 약속을 실행하는 PM 프로세싱 에이전트("PPA")(680); 그리고
ㆍ 자원-특정 약속(예를 들어, 머신 로딩 자원에 대한 로딩 및 언로딩, 자원 이동, 자원 사용)을 실행하는 자원 프로세싱 에이전트("RPA")(685); 그리고
ㆍ 다음을 더 포함하는 로트 시작 에이전트 클래스(602):
ㆍ 병목 결핍(starvation)을 예방하기 위한 적절한 시간에 로트를 방출하는 결핍 회피 로트 시작 에이전트("SALSA")(605); 그리고
ㆍ 소정의 스케줄에 따라 로트를 방출하는 스케줄된 방출 로트 시작 에이전트("SRLSA")(615).
대안적인 실시예는 물론 다른 클래스를 이용할 수 있다.
언급된 바와같이, SALSA 에이전트(605)는 새로운 로트(130)가 팹(fab)의 공정 흐름으로 방출될때를 결정한다. 더욱 상세하게는, SALSA 에이전트(605)는 공정 흐름에서 재공품(work in process)("WIP")을 감시하고, 공정 흐름에서 병목을 생성하는 하나 이상의 워크스테이션을 확인한다. SALSA 에이전트(605)는 각 병목 워크스테이션에 근접하는 작업량을 나타내는 WIP 값을 계산하고, 상기 WIP 값이 평가 기간동안에 제어 한계아래를 나타내는지를 결정한다. 만일 상기 WIP 값이 평가 기간동안에 제어 한계아래를 나타낸다면, 선택된 양의 부가의 작업은 제조 라인으로 방출된다. 일부 구현에서, SALSA 에이전트(605)는 심지어 선택된 양의 부가의 작업에 대한 하나 이상의 제품 타입을 결정한다.
또한, AEMS(600)은 이들 기능을 달성하도록 소프트웨어 에이전트(265)에 의해 사용된 "헬퍼 클래스"에서 다수의 소프트웨어 성분들(미도시)을 포함한다. 이들 다른 성분들은 일반적으로 하기와 같이 그룹화될 수 있다:
ㆍ 다양한 수량을 계산하기 위한 계산기(예를 들어, 로트 경비 계산기, 최근 완료 시간 계산기, 비드 비용 계산기);
ㆍ 다양한 이벤트를 스케줄하기 위한 스케줄러(예를 들어, 이동 스케줄러);
ㆍ 선택된 이벤트의 발생 및 상태 변경을 검출하고 보고하기 위한 청취기(예를 들어, 로트 청취기, 비드 청취기);
ㆍ 시간(실시간 또는 모의화된)을 AEMS(500)의 성분들에 제공하고, 특정 시간 또는 기간에 대한 경보를 세팅하는 능력, 및 청취기를 호출하는 자명종(alarm clock); 그리고
ㆍ 인터페이스를 제조 설비의 다른 측면에 제공하는 어댑터(예를 들어, MES, EI, AMHS):
ㆍ MES 처리를 수행하도록 MES와 인터페이스하는 MES 어댑터(예를 들어, 로트 또는 머신을 트랙 인/아웃(track-in/out), 로트의 유지(put lot on hold)등);
ㆍ 명령을 장비 인터페이스로 전송하고(예를 들어, 다운로드 방법, 요구 툴 상태 등), 장비 이벤트 디스패처를 통하여 장비 인터페이스로부터 이벤트 정보를 수신하는 EI 어댑터;
ㆍ 이동 명령을 AMHS에 전송하고, AMHS로부터 이동 상태 갱신을 수신하는 AMHS 어댑터; 그리고
ㆍ 다양한 형태의 통지(예를 들어, 스크린, 페이저, 이메일 등)를 팹 직원(예를 들어, WFT)에게 전송하는 통지 어댑터.
표 1은 본 발명의 특정 실시예에 대힌 에이전트에 의한 헬퍼 클래스 성분을 리스팅한다.
표 1. 소프트웨어 에이전트에 의해 호출된 헬퍼 클래스 객체들
소프트웨어 에이전트 헬퍼 클래스 객체 헬퍼 클래스 객체의 기능성
로트 스케줄링 에전트 AMHS 청취기 AMHS 이동이벤트에 대해 청취하고 보고한다.
비드 요구자 비드 요구를 생성하고 전송한다.
비드 선택자 비용및시간에 관해 비드를 선택한다.
합성 비율 계산기 갈망(hunger) 비율과 임계(critical) 비율의 조합인 합성 비율을 계산한다.
갈망 비율 계산기 공정 흐름에 병목 다운스트림을 공급하기 위해 특정 로트가 가속될 필요가 있는지의 척도인 에이전트의 갈망 비율을 계산한다.
임계 비율 계산기 특정 로트가 스케줄상에 있는지의 척도인 에이전트의 임계 비율을 계산한다.
로트 경비 계산기 프로세싱을 위한 에이전트의 경비를 결정하고 유지한다.
LDT 계산기 에이전트의 최근 전송시간및 완료일을 계산
이동 약속 스케줄러 이동 약속을 스케줄한다.
로트 스케줄링 캘린더 약속을 저장하고 조작한다.
로트 약속 스케줄러 프로세싱 약속을 스케줄한다.
로트 청취기 약속 기간에 영향주는 상태 변경을 청취하고 반응한다.
머신 스케줄링 에이전트 머신 청취기 약속에 영향주는 상태변경을 청취하고 반응한다.
챔버 스케줄링에이전트 머신의 작업처리량에 영향줄 챔버 이벤트에 반응한다.
챔버 청취기 챔버 이벤트를 청취한다.
머신 성능 머신 공정 성능을 유지할 책임이 있다.
얼리 스타터 머신이아이들(idle)일때시작할약속을찾는다.
로트 이동 라이트 리스케줄러 약속을 최근 시작 시간으로 이동하기 위하여로트 요구에 응답한다.
전체 전송 계산기 비드 생성기에 의해 호출되었을때, 이는 소정의 로트에 대한 전체전송시간을 계산한다.
비드 생성기 비드 요구로부터 비드를 생성한다; 오픈 슬롯 생성기, 충돌 슬롯 생성기, 및 배치 비드 생성기를 호출한다.
충돌 비드 생성기 비드 생성기에 의해 호출될때, 이는 머신 스케줄링 캘린더상에 다른 약속과 충돌하는 비드를 생성한다.
소프트웨어 에이전트 헬퍼 클래스 객체 헬퍼 클래스 객체의 기능성
머신 스케줄링 에이전트 오픈 슬롯 비드 생성기 비드 생성기에 의해 호출될때, 이는 머신 스케줄링 캘린더상의 오픈슬롯에 비드를 생성한다.
비드 비용 계산기 특정 비드에 대한 비용을 계산한다.
비드 승인기 비드를 거부하고, 캘린터상에 수락된 약속을 예약한다.
배치 비드 생성기 비드 생성기에 의해 호출될때, 이는 배치에 참가하거나 새로운 배치를 시작하도록 로트에 대한 비드를 생성한다.
머신 스케줄링 캘린더 약속을 저장하고 조작한다.
PM 스케줄링 에이전트 머신 청취기 약속에 영향주는 머신에 대한 상태 변경을 청취하고 반응한다.
챔버 청취기 챔버 이벤트를 청취한다.
PM 스케줄일 캘린더 약속을 저장하고 조작한다.
PM 비드 선택자 PM 비드를 선택한다.
PM 윈도우 계산기 PM이 수행될 윈도우를 계산한다.
PM 경비 계산기 PM에 대한 경비를 계산한다.
비드 요구자 특정 서비스에 대한 비드 요구자를 생성하고, 요구자를 적절한 MSA로 전송한다.
로트 프로세싱 에이전트 MES 어댑터 MES 처리를 초기화한다.
통지 적절한 팹 직원에게 통지한다.
AMHS 퍼사드(Facade) 로트 전송 활동을 초기화한다.
머신 프로세싱 에이전트 로트 청취기 머신 프로세싱에 영향주는 로트와 관련된 이벤트를 청취한다.
MES 어댑터 MES 처리를 초기화한다.
통지 적절한 팹 직원에게 통지한다.
EI 어댑터 명령을 장비 인터페이스("EI")에 전송한다.
PM 프로세싱 에이전트 MES 어댑터 MES 처리를 초기화한다.
통지 적절한 팹 직원에게 통지한다.
EI 어댑터 명령을 장비 인터페이스("EI")에 전송한다.
자원 프로세싱 에이전트 MES 어댑터 MES 처리를 초기화한다.
통지 적절한 팹 직원에게 통지한다.
EI 어댑터 명령을 장비 인터페이스("EI")에 전송한다.
소프트웨어 에이전트 헬퍼 클래스 객체 헬퍼 클래스 객체의 기능성
자원 스케줄링 에이전트 로딩 순서 계산기 적절한 로딩 순서, 및 배치 약속의 모든 관계자에 대한 실행가능한 로딩 시작 시간을 계산한다.
충돌 비드 요구 프로세서 MSA로부터 충돌 비드 요구에 응답하고, 이는 자원 스케줄링 캘린더 상에 실행가능한 충돌 비드를 생성한다.
오픈 슬롯 비드 요구 프로세서 MSA로부터 오픈 슬롯 비드 요구에 응답하고, 이는 자원 스케줄링 캘린더 상에 실행가능한 오픈 슬롯 비드를 생성한다.
연합 배치 비드 요구 프로세서 MSA로부터 연합 배치 비드 요구에 응답하고, 이는 자원 스케줄링 캘린더 상에 실행가능한 연합 배치 비드를 생성한다.
연합 배치 충돌 비드 요구 프로세서 MSA로부터 연합 배치 충돌 비드 요구에 응답하고, 이는 자원 스케줄링 캘린더 상에 실행가능한 연합 배치 충돌 비드를 생성한다.
시프트 레프트 동작 컨버터 대응하는 머신 스케줄링 캘린더로부터 들어오는 소정의 시프트 레프트 동작 콜렉션에 대한 동작 약속 시프트 및 점프의 콜렉션을 생성한다.
시프트 라이트 동작 컨버터 대응하는 머신 스케줄링 캘린더로부터 들어오는 소정의 시프트 라이트 동작 콜렉션에 대한 동작 약속 시프트 및 점프의 콜렉션을 생성한다.
충돌 실행가능성 프로세서 충돌 비드의 실행가능성을 평가하고, 만일 실행가능하다면, 이는 충돌 비드를 수행할 콜렉션을 생성할 것이다.
오픈 슬롯 실행가능성 프로세서 오픈 슬롯 비드의 실행가능성을 평가하고, 만일 실행가능하다면, 이는 오픈 슬롯 비드를 수행할 콜렉션을 생성할 것이다.
연합 배치 실행가능성 프로세서 연합 배치 비드의 실행가능성을 평가하고, 만일 실행가능하다면, 이는 연합 배치 비드를 수행할 콜렉션을 생성할 것이다.
연합 배치 충돌 실행가능성 프로세서 연합 배치 충돌 비드의 실행가능성을 평가하고, 만일 실행가능하다면, 이는 연합 배치 충돌 비드를 수행할 콜렉션을 생성할 것이다.
머신 청취기 약속에 영향주는 머신의 상태 변경을 청취하고 반응한다.
자원 스케줄링 캘린더 약속을 저장하고 조작한다.
상기 특정 실시예에서, 객체-지향 프로그래밍 기술을 사용한 소프트웨어 에이전트가 구현된다. 객체-지향 컴퓨팅이란 용어에서, 소프트웨어 "에이전트"는 자율적인, 능동 객체이다. 동작 세트가 제공될 때, 소프트웨어 에이전트는 로컬 조건에 응답하여 독립된 동작을 취하며, 이에 따라 적응성 시스템 특성을 생성한다. 본 발명은 공장 작업자, 재료, 장비, 자원 등과 같은 반도체 제조 플랜트에서 " 실제 세계" 에이전트의 기능을 모방하고 개선하는 자율적이며 이동가능한 "소프트웨어 에이전트"를 정의하고, 구성하며, 전개하는 에이전트-강화된 시스템을 제공한다. 당업자는 에이전트 또는 다른 소프트웨어 객체가 하나 이상의 소프트웨어 객체를 포함할 수 있음을 인식할 것이다. 본원에서 사용된 바와같이, 용어 "객체"는 교대로 다른 소프트웨어 객체로 구성될 수 있는 소프트웨어 객체로 이해될 것이다. 역으로, 또한, 당업자는 일 객체의 기능성이 다른 객체의 기능성과 결합될 수 있음을 인식할 것이다. 개별 객체와 관련된 것으로서 설명된 기능성은 단일 객체와 관련된 기능성으로 결합될 수 있음이 이해되어야 한다.
본원의 상세한 설명의 일부분은 결과적으로 컴퓨팅 시스템 또는 컴퓨팅 디바이스의 메모리내의 데이터 비트상의 동작의 상징적 표현을 포함하는 소프트웨어 구현된 공정에 관하여 제공된다. 이런 설명 및 표현은 다른 당업자들에게 이런 작업의 요지를 가장 효율적으로 전달하기 위하여 당업자들에 의해 사용된 수단이다. 공정 및 동작은 물리적 수량에 대한 물리적 조작을 요구한다. 대개, 비록 반드시 필요한것은 아니지만은, 이런 수량은 저장되고, 전송되며, 결합되며, 비교되며, 기타 조작될 수 있는 전기적, 자기적, 또는 광 신호의 형태를 취한다. 이들 신호를 비트, 값, 소자, 심볼, 문자, 용어, 숫자 등으로 언급하는 것은 원칙적으로 일반적으로 사용됨을 이유로 종종 그 편리함이 증명되었다.
하지만, 이들 및 유사한 용어 모두가 적절한 물리량에 관련되고, 이들 양에 적용된 단지 편리한 라벨임을 명심해야 한다. 본 발명의 명세서를 통하여 상세하게 설명되지 않았거나 기타 자명한 사항으로서, 이들 상세한 설명은 어떤 전자 디바이스의 저장소내의 물리적(전자적, 자기적, 또는 광) 양으로 표현된 데이터를 저장소내 또는 전송 혹은 디스플레이 디바이스내의 물리적 양으로 유사하게 표현된 다른 데이터로 조작하고 변환하는 전자적 디바이스의 동작 및 프로세스를 언급한다. 아무런 제한없이, 상세한 설명을 표시하는 용어의 예시는 용어 "프로세싱", "컴퓨팅", "계산하기", "결정하기", "디스플레이" 등이다.
또한, 본 발명의 소프트웨어 구현된 양상은 전형적으로 일종의 프로그램 저장 매체로 부호화되고, 일종의 전송매체를 통하여 구현된다. 프로그램 저장 매체는 자기(예를 들어, 플로피 디스크 또는 하드 드라이브) 또는 광(예를 들어, 콤팩트 디스크 판독 전용 메모리, 또는 "CD ROM")일 수 있으며, 판독 전용 또는 랜덤 액세스일 수 있다. 유사하게는, 전송매체는 연선, 동축 케이블, 광섬유, 또는 종래에 알려진 어떤 다른 적합한 전송매체일 수 있다. 본 발명은 임의의 제시된 구현의 양상들에 제한되지 않는다.
이제 상세한 설명을 마무리한다. 본 발명은 본원의 이익을 갖는 당업자에게 다르지만 자명한 등가의 방식으로 변형되고 실행될 수 있기 때문에, 상기에 개시된 특정 실시예는 단지 예시적이다. 더욱이, 하기에 청구범위에서 설명된 바를 제외하고, 어떠한 제한도 상세한 설명 또는 본원에 도시된 도면에 가해지지 않는다. 따라서, 상기에서 개시된 특정 실시예는 변경 또는 변형될 수 있고, 이런 모든 변화는 하기의 청구범위의 범주내로 고려됨이 명백하다. 따라서, 본원에서 청구된 보호범위는 하기의 청구범위에 제시된 바와 같다.

Claims (18)

  1. 복수의 제조 영역 엔티티들(115, 130, 320, 420)과; 그리고
    상기 제조 영역 엔티티들(115, 130, 320, 420)의 제 2 서브세트에 의해 제공되는 공정 자원들을 소비하기 위하여 상기 제조 영역 엔티티들(115, 130, 320, 420)의 제 1 서브세트를 스케줄링하도록 상기 제조 영역 엔티티들(115, 130, 320, 420)을 대표하기 위한 대표 수단(265)을 포함하여 구성되고, 상기 대표 수단(265)은 이들이 대표하는 엔티티들(115, 130, 320, 420)의 타입에 따라 전문화되고 분산되는 것을 특징으로 하는 자동화된 제조 환경.
  2. 제 1 항에 있어서,
    상기 제조 영역 엔티티들(115, 130, 320, 420)은:
    공정 툴(115)과;
    상기 공정 툴(115)에 대한 예방 관리/검증 절차(320)와;
    상기 공정 툴(115)에 의해 사용되는 공정 자원(420)과; 그리고
    상기 공정 툴(115)상에서의 프로세싱을 위한 로트(130) 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  3. 제 1 항에 있어서,
    상기 대표 수단은, 상기 제조 엔티티들(115, 130, 320, 420)을 대신하여 스케줄링하기 위한 수단과 그리고 상기 제조 엔티티들(115, 130, 320, 420)을 대신하여 프로세싱을 대표하기 위한 수단 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  4. 제 1 항에 있어서,
    상기 대표 수단은, 공정 툴(115)을 대표하기 위한 수단과, 로트(130)를 대표하기 위한 수단과, 예방 관리 절차(320)를 대표하기 위한 수단과, 그리고 자원(420)을 대표하기 위한 수단 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  5. 제 1 항에 있어서,
    상기 대표 수단은 이들이 대표하는 특정 엔티티(115, 130, 320, 420)의 특성에 의해 더 전문화되는 것을 특징으로 하는 자동화된 제조 환경.
  6. 제 1 항에 있어서,
    상기 제조 영역 엔티티들(115, 130, 320, 420)은:
    복수의 공정 툴들(115)과;
    상기 공정 툴들(115)에 대한 복수의 예방 관리/검증 절차들(320)과;
    상기 공정 툴들(115)에 의해 사용되는 복수의 공정 자원들(420)과; 그리고
    상기 공정 툴들(115) 상에서의 프로세싱을 위한 복수의 로트들(130)을 포함하며; 그리고
    상기 대표 수단(265)은:
    상기 공정 툴들(115) 상에서의 활동들을 스케줄링하고 실행하기 위한 복수의 머신 에이전트들(650, 690)과;
    상기 공정 툴들(115) 상에서의 프로세싱을 위한 상기 로트들(130)을 스케줄링하고, 그리고 상기 공정 툴들(115) 상에서의 상기 로트들(130)의 상기 프로세싱을 용이하게 하는 동작들을 실행하기 위한 복수의 로트 에이전트들(630, 670)과;
    상기 공정 툴들(115)에 의한 상기 공정 자원들(420)의 사용을 스케줄링하고, 그리고 상기 공정 툴들(115)에 의한 상기 공정 자원들(420)의 사용을 용이하게 하는 동작들을 실행하기 위한 복수의 자원 에이전트들(660, 685)과; 그리고
    상기 공정 툴들(115) 상에서의 상기 예방 관리/검증 절차들(320)을 스케줄링하고 실행하기 위한 복수의 예방 관리 에이전트들(640, 685)을 포함하는 컴퓨팅 시스템을 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  7. 제 6 항에 있어서,
    상기 머신 에이전트들(650, 690)은, 상기 공정 툴들(115) 상에서의 활동들을 스케줄링하기 위한 머신 스케줄링 에이전트(650)와 그리고 상기 공정 툴들(115) 상에서의 스케줄링된 활동들을 실행하기 위한 머신 프로세싱 에이전트(690) 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  8. 제 6 항에 있어서,
    상기 머신 에이전트들(650, 690) 중 적어도 하나는,
    상기 공정 툴(115)이, 웨이퍼(135)에 의해, 로트(130)에 의해, 로트들(130)의 배치(batch)들에 의해, 또는 웨이퍼들(135)의 배치들에 의해 프로세싱하는지 여부와;
    상기 공정 툴(115)이, 웨이퍼들(135)을, 로트들(130)을, 또는 배치들을 직렬로 또는 순차적으로 프로세싱하는지 여부와;
    상기 공정 툴(115)에 대한 포트들의 수와;
    상기 공정 툴(115)에 대한 상기 포트들이 입력, 출력, 또는 입/출력인지 여부와;
    상기 공정 툴(115)에 대한 챔버들이 직렬로 또는 병렬로 사용되는지 여부와;
    상기 공정 툴(115)이 예방 관리 절차들을 연쇄할 수 있는지 여부와;
    상기 공정 툴(115)에서의 챔버들의 수와;
    상기 공정 툴(115)이 내부 저장소를 포함하는지 여부와;
    상기 공정 툴(115)이 또 다른 로트(130) 또는 배치를 프로세싱하는 동안에 로트(130) 또는 배치의 프로세싱을 큐잉할 수 있는지 여부와;
    상기 공정 툴(115)이 프로세싱될 로트 또는 배치의 로딩을 요구하는지 또는 프로세싱된 로트 또는 배치의 언로딩을 요구하는지 여부와; 그리고
    상기 공정 툴(115)이 자원들(420)을 요구하는지 여부와, 그리고 만일 요구한다면, 상기 자원들(420)이 전용 자원들 또는 공유 자원들인지 여부 중 적어도 하나에 따라 전문화되는 것을 특징으로 하는 자동화된 제조 환경.
  9. 제 6 항에 있어서,
    상기 로트 에이전트들(620, 670)은 로트 스케줄링 에이전트(630)와 그리고 로트 프로세싱 에이전트(670) 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  10. 제 9 항에 있어서,
    상기 로트 스케줄링 에이전트(630)와 그리고 상기 로트 프로세싱 에이전트(670) 중 적어도 하나는 이것이 대표하는 상기 로트(130)의 우선순위와, 제품과, 또는 제품군 중 적어도 하나에 의해 전문화되는 것을 특징으로 하는 자동화된 제조 환경.
  11. 제 6 항에 있어서,
    상기 자원 에이전트들(660, 685)은 자원 스케줄링 에이전트(660)와 그리고 자원 프로세싱 에이전트(685) 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  12. 제 6 항에 있어서,
    상기 예방 관리 에이전트들(640, 680)은 예방 관리 스케줄링 에이전트(640)와 그리고 예방 관리 프로세싱 에이전트(680) 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  13. 제 6 항에 있어서,
    복수의 로트 시작 에이전트들(605, 615)을 더 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  14. 제 1 항에 있어서,
    상기 복수의 제조 영역 엔티티들(115, 130, 320, 420)은:
    복수의 공정 툴들(115)과;
    상기 공정 툴들(115)에 대한 복수의 예방 관리/검증 절차들(320)과;
    상기 공정 툴들(115)에 의해 사용되는 복수의 공정 자원들(420)과; 그리고
    상기 공정 툴들(115) 상에서의 프로세싱을 위한 복수의 로트들(130)을 포함하며; 그리고
    상기 대표 수단은:
    상기 공정 툴들(115) 상에서 상기 예방 관리/검증 절차들(320)과, 공정 자원들(420)과, 그리고 로트들(130)에 대한 활동들을 스케줄링하기 위한 복수의 스케줄링 에이전트들(610)과; 그리고
    상기 스케줄링된 활동들을 실행하기 위한 복수의 프로세싱 에이전트들(620)을 포함하는 컴퓨팅 시스템을 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  15. 제 14 항에 있어서,
    상기 스케줄링 에이전트들(610)과 그리고 상기 프로세싱 에이전트(620) 중 적어도 하나는 이것이 대표하는 엔티티의 본질에 따라 전문화되는 것을 특징으로 하는 자동화된 제조 환경.
  16. 제 14 항에 있어서,
    상기 스케줄링 에이전트들(610)은:
    상기 공정 툴들(115) 상에서의 활동들을 스케줄링하기 위한 머신 스케줄링 에이전트(650)와;
    상기 공정 툴들(115) 상에서의 프로세싱을 위한 상기 로트들(130)을 스케줄링하기 위한 로트 스케줄링 에이전트(630)와;
    상기 공정 툴들(115) 상에서의 상기 예방 관리/검증 절차(320)를 스케줄링하기 위한 예방 관리 스케줄링 에이전트(640)와; 그리고
    상기 공정 툴들(115)에 의한 상기 공정 자원들(420)의 사용을 스케줄링하기 위한 자원 스케줄링 에이전트(660) 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  17. 제 14 항에 있어서,
    상기 프로세싱 에이전트들(620)은:
    상기 공정 툴들(115) 상에서의 스케줄링된 활동들을 실행하기 위한 머신 프로세싱 에이전트(690)와;
    상기 공정 툴들(115) 상에서 상기 로트들(130)의 프로세싱을 용이하게 하는 동작들을 실행하기 위한 로트 프로세싱 에이전트(670)와;
    상기 공정 툴들(115)에 의한 상기 공정 자원들(420)의 사용을 용이하게 하는 동작들을 실행하기 위한 자원 프로세싱 에이전트(685)와; 그리고
    상기 공정 툴들(115) 상에서의 스케줄링된 예방 관리/검증 절차(320)를 실행하기 위한 복수의 예방 관리 프로세싱 에이전트들(680) 중 적어도 하나를 포함하는 것을 특징으로 하는 자동화된 제조 환경.
  18. 제 14 항에 있어서,
    상기 컴퓨팅 시스템은 복수의 로트 시작 에이전트들(602)을 더 포함하는 것을 특징으로 하는 자동화된 제조 환경.
KR1020047019536A 2002-05-31 2002-12-20 자동화된 제조 환경에서 능동 소프트웨어 에이전트의 전문화 KR100946397B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/160,990 US20030225474A1 (en) 2002-05-31 2002-05-31 Specialization of active software agents in an automated manufacturing environment
US10/160,990 2002-05-31
PCT/US2002/041659 WO2003102771A2 (en) 2002-05-31 2002-12-20 Specialization of active software agents in an automated manufacturing environment

Publications (2)

Publication Number Publication Date
KR20050004902A KR20050004902A (ko) 2005-01-12
KR100946397B1 true KR100946397B1 (ko) 2010-03-09

Family

ID=29583320

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047019536A KR100946397B1 (ko) 2002-05-31 2002-12-20 자동화된 제조 환경에서 능동 소프트웨어 에이전트의 전문화

Country Status (9)

Country Link
US (1) US20030225474A1 (ko)
JP (1) JP4722479B2 (ko)
KR (1) KR100946397B1 (ko)
CN (1) CN100403324C (ko)
AU (1) AU2002359877A1 (ko)
DE (1) DE10297744T5 (ko)
GB (1) GB2404458B (ko)
TW (1) TWI295754B (ko)
WO (1) WO2003102771A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101055645B1 (ko) 2009-06-30 2011-08-09 국민대학교산학협력단 로봇을 이용한 협업 방법 및 시스템

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640529B2 (en) * 2002-07-30 2009-12-29 Photronics, Inc. User-friendly rule-based system and method for automatically generating photomask orders
US20030233290A1 (en) * 2002-06-14 2003-12-18 Yang Lou Ping Buyer, multi-supplier, multi-stage supply chain management system with lot tracking
US7529695B2 (en) * 2002-06-14 2009-05-05 E2Open, Inc. Multi-stage supply chain management system with dynamic order placement
US7426419B2 (en) * 2002-08-13 2008-09-16 Texas Instruments Incorporated Scheduling system and method
US6909996B2 (en) * 2003-03-12 2005-06-21 Taiwan Semiconductor Manufacturing Co., Ltd Online material consumption monitoring system and method for monitoring material within a wafer fabrication facility
US7006885B2 (en) * 2003-06-19 2006-02-28 Taiwan Semiconductor Manufacturing Co., Ltd. Method for generating a suggestive dispatch lot list that considers upstream/downstream stage requirements
KR100524472B1 (ko) * 2003-07-18 2005-10-31 삼성전자주식회사 반도체공정장치 및 공정진단방법
US7039482B2 (en) * 2003-10-28 2006-05-02 Taiwan Semiconductor Manufacturing Company, Ltd. Floating process flow control system to handle operation events in a full automation plant
JP2005294473A (ja) * 2004-03-31 2005-10-20 Canon Inc 露光装置、デバイス製造方法及びデバイス
US6983188B2 (en) * 2004-04-16 2006-01-03 Hewlett-Packard Development Company, L.P. Scheduling system
JP2006108474A (ja) * 2004-10-07 2006-04-20 Canon Inc 露光装置及びそれを用いたデバイス製造方法
US7680970B2 (en) * 2004-10-22 2010-03-16 Fisher-Rosemount Systems, Inc. Method and system for batch process arbitration in a process control system
US7463939B1 (en) * 2004-11-18 2008-12-09 Advanced Micro Devices, Inc. Scheduling tools with queue time constraints
US20080275582A1 (en) * 2004-11-19 2008-11-06 Nettles Steven C Scheduling AMHS pickup and delivery ahead of schedule
US7151972B2 (en) 2005-01-05 2006-12-19 International Business Machines Corporation Method for autonomic control of a manufacturing system
US20060271223A1 (en) * 2005-05-27 2006-11-30 International Business Machines Corporation Method and system for integrating equipment integration software, equipment events, mes and rules databases
US8014889B2 (en) * 2005-10-13 2011-09-06 Stratasys, Inc. Transactional method for building three-dimensional objects
US7206653B1 (en) * 2005-11-29 2007-04-17 Taiwan Semiconductor Manufacturing Co., Ltd. Wafer-based planning methods and systems for batch-based processing tools
US20070143124A1 (en) * 2005-12-15 2007-06-21 International Business Machines Corporation Extensible object data enabled manufacturing
US7515982B2 (en) * 2006-06-30 2009-04-07 Intel Corporation Combining automated and manual information in a centralized system for semiconductor process control
US8160736B2 (en) * 2007-01-31 2012-04-17 Globalfoundries Singapore Pte. Ltd. Methods and apparatus for white space reduction in a production facility
JP2012511221A (ja) * 2010-02-25 2012-05-17 アドバンスト コンピュータ サービス カンパニー、リミテッド 生産設備移動時における資源構成自動化システム及びその方法
TWI512415B (zh) * 2014-09-04 2015-12-11 Formosa Plastics Corp 製程控制系統
US10295979B2 (en) * 2015-09-15 2019-05-21 Applied Materials, Inc. Scheduling in manufacturing environments
KR20170034053A (ko) * 2015-09-18 2017-03-28 삼성전자주식회사 제품의 생산 또는 분석과 연동하는 데이터 수집/처리 시스템, 및 이를 포함하는 제품 생산/분석 시스템
US10003549B2 (en) * 2016-04-21 2018-06-19 Google Llc System for allocating sensor network resources
US11383377B2 (en) * 2018-10-09 2022-07-12 Jpmorgan Chase Bank, N.A. System and method for bot automation lifecycle management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571147B1 (en) * 1997-09-22 2003-05-27 Dainippon Screen Mfg. Co., Ltd. System for and method of managing jobs
US20030158615A1 (en) * 1998-06-26 2003-08-21 Patrick Weber Control system and method therefor
US20050193269A1 (en) * 2000-03-27 2005-09-01 Accenture Llp System, method, and article of manufacture for synchronization in an automated scripting framework

Family Cites Families (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0757002B2 (ja) * 1982-10-05 1995-06-14 キヤノン株式会社 画像処理装置
JP2513180B2 (ja) * 1986-01-13 1996-07-03 ソニー株式会社 ビデオテックス表示装置
US4796194A (en) * 1986-08-20 1989-01-03 Atherton Robert W Real world modeling and control process
DE3722169C2 (de) * 1987-07-04 1997-06-05 Thomson Brandt Gmbh Verfahren und Vorrichtung zur Durchführung des Verfahrens zur Anpassung eines Mehrbetriebsarten-Monitors an einen Personal Computer
JPS6471652A (en) * 1987-09-09 1989-03-16 Fanuc Ltd Automatic work scheduling method based on expert system
US4912624A (en) * 1988-03-30 1990-03-27 Syracuse University Multi-parameter optimization circuit
US5014208A (en) * 1989-01-23 1991-05-07 Siemens Corporate Research, Inc. Workcell controller employing entity-server model for physical objects and logical abstractions
US5093794A (en) * 1989-08-22 1992-03-03 United Technologies Corporation Job scheduling system
US5040123A (en) * 1989-09-08 1991-08-13 General Motors Corporation Expert system scheduler
US5233533A (en) * 1989-12-19 1993-08-03 Symmetrix, Inc. Scheduling method and apparatus
US5291394A (en) * 1990-06-01 1994-03-01 Motorola, Inc. Manufacturing control and capacity planning system
DE69132012T2 (de) * 1990-10-16 2000-11-16 Consilium, Inc. Objektorientierte architektur für fabrikverwaltung
US5249120A (en) * 1991-01-14 1993-09-28 The Charles Stark Draper Laboratory, Inc. Automated manufacturing costing system and method
US5402350A (en) * 1991-06-28 1995-03-28 Texas Instruments Incorporated Scheduling for multi-task manufacturing equipment
JPH05250377A (ja) * 1992-03-04 1993-09-28 Fujitsu Ltd スケジューリング方式
US5487144A (en) * 1992-12-01 1996-01-23 Yokogawa Electric Corporation Scheduling system
US6128542A (en) * 1993-03-29 2000-10-03 Cmsi Acquisition Corporation Method and apparatus for generating a sequence of steps for use by a factory
US5666493A (en) * 1993-08-24 1997-09-09 Lykes Bros., Inc. System for managing customer orders and method of implementation
US5446671A (en) * 1993-10-22 1995-08-29 Micron Semiconductor, Inc. Look-ahead method for maintaining optimum queued quantities of in-process parts at a manufacturing bottleneck
US5467268A (en) * 1994-02-25 1995-11-14 Minnesota Mining And Manufacturing Company Method for resource assignment and scheduling
US5963911A (en) * 1994-03-25 1999-10-05 British Telecommunications Public Limited Company Resource allocation
US5444632A (en) * 1994-04-28 1995-08-22 Texas Instruments Incorporated Apparatus and method for controlling and scheduling processing machines
US5787000A (en) * 1994-05-27 1998-07-28 Lilly Software Associates, Inc. Method and apparatus for scheduling work orders in a manufacturing process
US6801820B1 (en) * 1994-05-27 2004-10-05 Lilly Software Associates, Inc. Method and apparatus for scheduling work orders in a manufacturing process
US5548518A (en) * 1994-05-31 1996-08-20 International Business Machines Corporation Allocation method for generating a production schedule
US5548535A (en) * 1994-11-08 1996-08-20 Advanced Micro Devices, Inc. Monitor utility for use in manufacturing environment
US5596502A (en) * 1994-11-14 1997-01-21 Sunoptech, Ltd. Computer system including means for decision support scheduling
JP3334400B2 (ja) * 1995-02-02 2002-10-15 トヨタ自動車株式会社 仕掛計画立案装置
US5546326A (en) * 1995-04-04 1996-08-13 Taiwan Semiconductor Manufacturing Company Ltd Dynamic dispatching rule that uses long term due date and short term queue time to improve delivery performance
US5933354A (en) * 1995-10-13 1999-08-03 Matsushita Electric Industrial Co., Ltd. System for controlling physical distribution pallets
US5890134A (en) * 1996-02-16 1999-03-30 Mcdonnell Douglas Corporation Scheduling optimizer
US5765137A (en) * 1996-03-04 1998-06-09 Massachusetts Institute Of Technology Computer system and computer-implemented process for correlating product requirements to manufacturing cost
US5960417A (en) * 1996-03-19 1999-09-28 Vanguard International Semiconductor Corporation IC manufacturing costing control system and process
US5970476A (en) * 1996-09-19 1999-10-19 Manufacturing Management Systems, Inc. Method and apparatus for industrial data acquisition and product costing
US5953229A (en) * 1996-09-24 1999-09-14 Environmental Research Institute Of Michigan Density-based emergent scheduling system
US6571215B1 (en) * 1997-01-21 2003-05-27 Microsoft Corporation System and method for generating a schedule based on resource assignments
US6192354B1 (en) * 1997-03-21 2001-02-20 International Business Machines Corporation Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge
US5920692A (en) * 1997-03-24 1999-07-06 International Business Machines Corp. Method and system for a remote notification service for a multi-user server architecture
AU735024B2 (en) * 1997-07-25 2001-06-28 British Telecommunications Public Limited Company Scheduler for a software system
US6216108B1 (en) * 1997-08-11 2001-04-10 Levander Mark R. Service business management system
US5963447A (en) * 1997-08-22 1999-10-05 Hynomics Corporation Multiple-agent hybrid control architecture for intelligent real-time control of distributed nonlinear processes
US6415196B1 (en) * 1997-08-28 2002-07-02 Manugistics, Inc. Manufacturing scheduling process with improved modeling, scheduling and editing capabilities for solving finite capacity planning problems
JPH11328465A (ja) * 1998-05-13 1999-11-30 Dainippon Screen Mfg Co Ltd デジタル情報を処理するとともにジョブ情報の管理を行うシステムおよび方法、並びにプログラムを記録した記録媒体
US6889178B1 (en) * 1997-10-01 2005-05-03 Sony Corporation Integrated wafer fabrication production characterization and scheduling system
US6128588A (en) * 1997-10-01 2000-10-03 Sony Corporation Integrated wafer fab time standard (machine tact) database
US6470227B1 (en) * 1997-12-02 2002-10-22 Murali D. Rangachari Method and apparatus for automating a microelectric manufacturing process
JPH11235648A (ja) * 1998-02-17 1999-08-31 Toshiba Corp 製造計画管理装置、製造計画管理方法、及び、製造計画管理プログラムを記録したコンピュータ読み取り可能な記録媒体
US6263255B1 (en) * 1998-05-18 2001-07-17 Advanced Micro Devices, Inc. Advanced process control for semiconductor manufacturing
US6400999B1 (en) * 1998-07-06 2002-06-04 Yokogawa Electric Corporation Production system and manufacturing equipment selecting method on production system
TW490625B (en) * 1998-07-22 2002-06-11 I2 Technologies Inc Computer-implemented value management tool for an asset intensive manufacturer
US6397197B1 (en) * 1998-08-26 2002-05-28 E-Lynxx Corporation Apparatus and method for obtaining lowest bid from information product vendors
US6091998A (en) * 1998-09-30 2000-07-18 Rockwell Technologies, Llc Self organizing industrial control system using bidding process
JP3327235B2 (ja) * 1998-12-22 2002-09-24 トヨタ自動車株式会社 受注品納期管理システム
US6374144B1 (en) * 1998-12-22 2002-04-16 Varian Semiconductor Equipment Associates, Inc. Method and apparatus for controlling a system using hierarchical state machines
US6356797B1 (en) * 1999-01-04 2002-03-12 Taiwan Semiconductor Manufacturing Co., Ltd. Method for automatic scheduling of production plan
US6202062B1 (en) * 1999-02-26 2001-03-13 Ac Properties B.V. System, method and article of manufacture for creating a filtered information summary based on multiple profiles of each single user
US6389454B1 (en) * 1999-05-13 2002-05-14 Medical Specialty Software Multi-facility appointment scheduling system
US6434443B1 (en) * 1999-05-17 2002-08-13 Taiwan Semiconductor Manufacturing Company Method for performing dynamic re-scheduling of fabrication plant
US6556949B1 (en) * 1999-05-18 2003-04-29 Applied Materials, Inc. Semiconductor processing techniques
US6408220B1 (en) * 1999-06-01 2002-06-18 Applied Materials, Inc. Semiconductor processing techniques
US6397115B1 (en) * 1999-10-08 2002-05-28 Smithkline Beecham Hazardous material classification system
US7130807B1 (en) * 1999-11-22 2006-10-31 Accenture Llp Technology sharing during demand and supply planning in a network-based supply chain environment
WO2001055898A1 (en) * 2000-01-14 2001-08-02 Synquiry Technologies, Ltd. Software composition using graph types, graphs, and agents
US6711450B1 (en) * 2000-02-02 2004-03-23 Advanced Micro Devices, Inc. Integration of business rule parameters in priority setting of wafer processing
US6584369B2 (en) * 2000-02-02 2003-06-24 Texas Instruments Incorporated Method and system for dispatching semiconductor lots to manufacturing equipment for fabrication
US6714830B2 (en) * 2000-02-28 2004-03-30 Canon Kabushiki Kaisha Push-type scheduling for semiconductor fabrication
US6856848B2 (en) * 2000-04-24 2005-02-15 Matsushita Electric Industrial Co., Ltd. Method and apparatus for controlling progress of product processing
US6636848B1 (en) * 2000-05-31 2003-10-21 International Business Machines Corporation Information search using knowledge agents
US6418350B1 (en) * 2000-06-09 2002-07-09 Brooks Automation Inc. Periodic scheduler for dual-arm robots in cluster tools with process-module residency constraints
US6591262B1 (en) * 2000-08-01 2003-07-08 International Business Machines Corporation Collaborative workload management incorporating work unit attributes in resource allocation
US6618692B2 (en) * 2000-09-20 2003-09-09 Hitachi, Ltd. Remote diagnostic system and method for semiconductor manufacturing equipment
US7457680B2 (en) * 2000-12-27 2008-11-25 Tokyo Electron Limited Conveyance method for transporting objects
JP4213871B2 (ja) * 2001-02-01 2009-01-21 株式会社日立製作所 半導体装置の製造方法
US20020116210A1 (en) * 2001-02-20 2002-08-22 Honeywell International Inc. Computerized method for online quoting and pricing of tasks
US20020120533A1 (en) * 2001-02-23 2002-08-29 Hubert Wiesenmaier Method and system for management of ordering, production, and delivery of made-to-specification goods
US7194323B2 (en) * 2001-03-22 2007-03-20 International Business Machines Corporation Method and system for object oriented approach and data model for configure-to-order manufacturing system
US8065219B2 (en) * 2001-06-13 2011-11-22 Sungard Energy Systems Inc. System architecture and method for energy industry trading and transaction management
US20030004912A1 (en) * 2001-06-29 2003-01-02 Lalit Pant Architecture for intelligent agents and distributed platform therefor
US6898472B2 (en) * 2001-12-27 2005-05-24 Manugistics, Inc. System and method for order group planning with attribute based planning
US20030149631A1 (en) * 2001-12-27 2003-08-07 Manugistics, Inc. System and method for order planning with attribute based planning
US7035877B2 (en) * 2001-12-28 2006-04-25 Kimberly-Clark Worldwide, Inc. Quality management and intelligent manufacturing with labels and smart tags in event-based product manufacturing
US6731999B1 (en) * 2002-01-02 2004-05-04 Taiwan Semiconductor Manufacturing Company Wafer start order release algorithm in a foundry fab
US7010386B2 (en) * 2002-03-22 2006-03-07 Mcdonnell Ryan P Tool wear monitoring system
US20040030531A1 (en) * 2002-03-28 2004-02-12 Honeywell International Inc. System and method for automated monitoring, recognizing, supporting, and responding to the behavior of an actor
US6907305B2 (en) * 2002-04-30 2005-06-14 Advanced Micro Devices, Inc. Agent reactive scheduling in an automated manufacturing environment
US7286999B2 (en) * 2002-05-09 2007-10-23 International Business Machines Corporation Integrated project management and development environment for determining the time expended on project tasks
US7512454B1 (en) * 2002-05-31 2009-03-31 Advanced Micro Devices, Inc. Display unit with processor and communication controller
US6748282B2 (en) * 2002-08-22 2004-06-08 Taiwan Semiconductor Manufacturing Co., Ltd Flexible dispatching system and method for coordinating between a manual automated dispatching mode
US6904329B1 (en) * 2002-08-30 2005-06-07 Advanced Micro Devices, Inc. Method and apparatus for generating a multi-dimensional cost function
US7127310B1 (en) * 2002-08-30 2006-10-24 Advanced Micro Devices, Inc. Method and apparatus for determining cost functions using parameterized components
US7069097B1 (en) * 2002-08-30 2006-06-27 Advanced Micro Devices, Inc. Method and apparatus for reducing scheduling conflicts for a resource
US6782302B1 (en) * 2002-08-30 2004-08-24 Advanced Micro Devices, Inc. Method and apparatus for scheduling workpieces with compatible processing requirements
US6801819B1 (en) * 2002-08-30 2004-10-05 Advanced Micro Devices, Inc. Method and apparatus for evaluating bids for scheduling a resource
US6862555B2 (en) * 2002-11-27 2005-03-01 Taiwan Semiconductor Manufacturing Co., Ltd Enhanced preventative maintenance system and method of use
US7027885B1 (en) * 2002-12-30 2006-04-11 Advanced Micro Devices, Inc. Determining batch start versus delay
US7565662B2 (en) * 2004-09-24 2009-07-21 International Business Machines Corporation Program agent initiated processing of enqueued event actions
US7337032B1 (en) * 2004-10-04 2008-02-26 Advanced Micro Devices, Inc. Scheduling ahead for various processes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571147B1 (en) * 1997-09-22 2003-05-27 Dainippon Screen Mfg. Co., Ltd. System for and method of managing jobs
US20030158615A1 (en) * 1998-06-26 2003-08-21 Patrick Weber Control system and method therefor
US20050193269A1 (en) * 2000-03-27 2005-09-01 Accenture Llp System, method, and article of manufacture for synchronization in an automated scripting framework

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101055645B1 (ko) 2009-06-30 2011-08-09 국민대학교산학협력단 로봇을 이용한 협업 방법 및 시스템

Also Published As

Publication number Publication date
AU2002359877A8 (en) 2003-12-19
WO2003102771A2 (en) 2003-12-11
GB0424487D0 (en) 2004-12-08
GB2404458B (en) 2006-06-14
JP2005528787A (ja) 2005-09-22
DE10297744T5 (de) 2005-08-11
US20030225474A1 (en) 2003-12-04
TW200400428A (en) 2004-01-01
KR20050004902A (ko) 2005-01-12
WO2003102771A3 (en) 2004-04-01
CN100403324C (zh) 2008-07-16
AU2002359877A1 (en) 2003-12-19
TWI295754B (en) 2008-04-11
GB2404458A (en) 2005-02-02
CN1628273A (zh) 2005-06-15
JP4722479B2 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
KR100946397B1 (ko) 자동화된 제조 환경에서 능동 소프트웨어 에이전트의 전문화
US7337032B1 (en) Scheduling ahead for various processes
KR100950796B1 (ko) 자동 제조 환경에서의 에이젼트 반응 스케쥴링
KR101391419B1 (ko) Amhs 픽업의 스케쥴링 및 스케쥴 이전의 전달
KR101216189B1 (ko) 제조 공정 흐름의 스케줄링 카렌다 및 약속
US6434440B1 (en) Production estimate management system
US6564113B1 (en) Lot start agent that calculates virtual WIP time in a multi-product and multi-bottleneck manufacturing environment
US7463939B1 (en) Scheduling tools with queue time constraints
Liao et al. Daily scheduling for R&D semiconductor fabrication
US7623936B1 (en) Determining scheduling priority using queue time optimization
US6725113B1 (en) Lot start agent that determines virtual WIP time including an exponentially weighted moving average cycle time
US7072731B1 (en) Starvation avoidance lot start agent (SALSA)
US7027885B1 (en) Determining batch start versus delay
US7043318B1 (en) Lot start agent that determines quantity and timing for lot starts
US7054702B1 (en) Lot start agent that determines delta virtual WIP time for each bottleneck station in a multi-product and multi-bottleneck manufacturing environment
Kim et al. A due-date-based algorithm for lot-order assignment in a semiconductor wafer fabrication facility
US20050203655A1 (en) Scheduling system and method for avoiding low equipment utilization
Chakravorty et al. Semiconductor Scheduling and Dispatching Automation–Gearing towards Industry 4.0
Wang et al. A closed-loop feedback simulation for RFID-based manufacturing planning and control system
Cheng et al. Simulation and multi-agent-based integrated solution for manufacturing planning and control
Luhn et al. Automation concept for complex production processes

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
LAPS Lapse due to unpaid annual fee