KR20020019109A - 웨이퍼 공정 시스템의 로봇 선-위치설정 - Google Patents

웨이퍼 공정 시스템의 로봇 선-위치설정 Download PDF

Info

Publication number
KR20020019109A
KR20020019109A KR1020017016613A KR20017016613A KR20020019109A KR 20020019109 A KR20020019109 A KR 20020019109A KR 1020017016613 A KR1020017016613 A KR 1020017016613A KR 20017016613 A KR20017016613 A KR 20017016613A KR 20020019109 A KR20020019109 A KR 20020019109A
Authority
KR
South Korea
Prior art keywords
wafer
module
cluster tool
robot
time
Prior art date
Application number
KR1020017016613A
Other languages
English (en)
Other versions
KR100508680B1 (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 KR20020019109A publication Critical patent/KR20020019109A/ko
Application granted granted Critical
Publication of KR100508680B1 publication Critical patent/KR100508680B1/ko

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • 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
    • 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/41815Total 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 the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total 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 the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)
  • Manipulator (AREA)

Abstract

웨이퍼 클러스터 도구는 일정하고 주기적인 방법으로 동작한다. 본 발명의 실시예들은 하나의 전송 주기에 따른 주기성을 가진다. 본 발명은 클러스터 도구의 공정 반응로에 대한 픽업 시간을 결정할 수 있고, 본 발며의 실시예들은 갱신된 시간표를 생성 및 관리할 수 있다. 상기 시간표는 각 공정 반응로가 제공되는 시간들을 나타낸다. 이러한 값들은 상기 공정 반응로가 새로운 웨이퍼들을 수신하는 것으로 갱신된다. 상기 클러스터 도구의 로봇들은 서비스를 제공하기위해 그 자신들을 모듈들, 또는 공정 반응로의 정면으로 선 위치시킨다. 로봇 선 위치설정은 상기 모듈에 대해 예측된 큐 시간을 초과하는 개별적 모듈들의 대기 시간을 제거한다. 이는 개별적 로봇들의 경로를 예측적으로 배치하고, 클러스터 도구가 단일 그리퍼 로봇들을 이용할 수 있도록 한다.

Description

웨이퍼 공정 시스템의 로봇 선-위치설정{ROBOT PRE-POSITIONING IN A WAFER PROCESSING SYSTEM}
집적회로와 같은 반도체 디바이스를 생산하는 공정에서, 디바이스를 형성하기위해서 많은 미세-형성 단계들이 수행된다. 이러한 단계들은 개별적인 모듈들의 개별적인 생산 항목(item)들 상에 순차적으로 수행되며, 상기 생산 항목들은 로봇들과 같은 전달 메커니즘들에 의해서 모듈들 간에 이동된다. 원하는 처리량, 신뢰성, 그리고 미세전자 형성의 품질을 얻기위해서는 몇가지 조건들이 반드시 갖추어져야 하는데, 이들을 다음과 같다.
1) 처리 모듈들에서 그리고 그들로부터 상기 기판의 전달이나 제거 및 모듈들 간의 상기 웨이퍼 전송은 시기적절한 방식으로 성취되어야 한다. 이러한 시가 적절한 기판의 전송이나 제거는 기판의 흐름이 주기적이거나 동기화된 방법으로 유지되는 경우 달성된다. 만일 주기성이나 동기성이 유지되지 않으면, 상기 처리 결과들은 기판과 기판 간의 불일치를 유발할 수 있고, 기대되는 산출량은 줄어들 것이다.
2) 상기 기판들에 대한 처리 내력(history)의 변화들 때문에 발생하는 처리 결과들의 불일치를 피하기 위해서 유사한 처리 흐름 경로들은 상기 기판을 전송하는데 요구된다.
3) 생산자의 물품들이 중요한 공정이 행되는 모듈들에서 어떠한 전-처리 또는 후-처리 시간동안 공전(idling)하는 시간이 없어야만 한다. 이러한 모듈들의 부가적인 전-처리 또는 후-처리 시간은 상기 산출량 뿐만 아니라 상기 처리 결과들을 열화시킨다. 예를 들어서, IC 형성 시스템에 있어서, 만일 기판이 회전 코드(spin coat) 모듈에서 포토레지스트(photoresist) 막층(film layer)을 열적으로 회복시키는 경화(bake) 모듈로 즉시 전송되지 않으면, 결과 막 두께는 예측할 수 없게된다. 만일 전체적으로 전-처리 그리고/또는 후처리 시간들을 없앨 수 없으면, 가능한 간결하게 되어야 하며, 이러한 시간 동안 어떠한 변화들도 허용되지 않는다.
이러한 상기 조건들의 어떠한 하나 또는 모두를 맞출수 없는 이유는 전송의 충돌(conflict)들을 해결하지 못하기 때문이다. 충돌들은 여러 경우들인데, 여기서 분리된 모듈들은 이러한 모듈들에 대해서 로봇이 서비스를 제공하는데 불충분한 시간 내에서 로봇을 요구하는 경우들이다.
상기 나열된 걱정들을 해결할 수 있는 일반적인 한 방법은 추가적인 처리 모듈들과 전송 자원들(resources)을 추가하는 것이다. 그러나, 진행(track) 시스템의 크기 제한과 지리적 속박들은 추가적인 처리 모듈들 또는 전송 자원들을 부가하는 것으로 상기 어려움들을 해결할 가능성을 제한한다.
인접 모듈들 간에 기판을 전송하는 전용 전송 팔(arm)들(이하 인터 베이 전송 팔들(Inter Bay Transfer Arms), 또는 IBTAs라 칭함)의 추가는 산출량을 증가시키고 전처리 그리고/또는 후처리 시간들의 일부를 제거하는데 사용되는 또 다른 방법이다. 그러나, IBTAs의 부가 역시 심각한 문제점들이 있다. 전용 전송 팔들은 도구를 복잡하게 하고, 그 비용을 증가시키며, 상기 모듈들의 위치를 속박하고, 그리도 상기 도구의 모든 부분에 사용될 수 없다. 그 결과, 높은 산출량과 품질을 모두 유지하면서 상기 진행 시스템의 기판 흐름을 관리하는 일들과 모든 전송 충돌을 해결하는 것은 처리하기 어려워진다.
또 다른 일반적인 해법은 기판 전송 우선순위 규칙들의 셋을 도입하는 것이다. 모든 로봇 동작이전에, 제어 시스템은 소프트웨어 스케쥴러(scheduler)을 설명하고, 상이한 모듈들의 기판 들 상태를 인증하며, 상기 규칙들을 기반으로 전송 우선순위 결정들을 만든다. 그러나, 높은 산출량을 위해서, 상기 스케쥴(schedule)은 원하지 않고, 예측할 수 없으며, 가변적인 선-처리 및 후-처리 시간들을 중요한 모듈들에서 생성할 수 있고, 상기 기판은 이러한 처리 주기를 완결하기위해 상이한 흐름 경로들을 따르도록 강제될 수 있다.
또 다른 일반적인 해법은 로봇에 다중 그립퍼(gripper)들을 부가하는 것으로, 이는 웨이퍼 교환을 가능하게 한다. 다중 그립퍼 로봇들은 웨이퍼 교환과 로봇 전송의 수를 최소화 하기위해 종래 기술에서 종종 사용된 것이다. 그러나, 이러한 기법은 상기 클러스터 도구에 부가적인 제한을 가하는데, 예를 들어 이중 그립퍼를 가진 로봇은 스와핑을 위해 상기 그립퍼 중의 하나에 웨이퍼를 가지고 있어야 한다. 이러한 제한들은 상기 클러스터 도구의 성능을 구속한다. 또한, 상기 교환은모듈들 간의 전송 시간을 증가시키며, 이것 역시 상기 클러스터 도구의 성능을 감소시킬 수 있다.
지금까지 상기 언급한 충돌 해결, 동기화, 품질, 그리고 경로 일치에 필요한 것들을 모두 만족시키는 것은 없었다. 이러한 모든 요구들을 동시에 만족시킬 수 있는 해법이 필요하다.
본 발명은 웨이퍼 공정에 관한 것이다. 특히, 본 발명은 웨이퍼 클러스터 도구들에 대한 스케쥴링 기법들에 관한 것이다.
도 1은 웨이퍼들이 클러스터(cluster) 도구로 적재되는 지점을 예시하는 시간 라인을 예시하며, 여기서 상기 지점들은 하나의 전송 기간의 간격들에의해 분리된다.
도 2는 공정(i)에서 3개의 웨이퍼들이 상대적이고 절대적인 픽업(pick-up) 시간들을 상기 픽업 시간들의 가수(mantissa)들과 함께 예시하며, 여기서 상기 픽업 시간들은 상기 전달 기간에서 표준화 된다.
도 3은 상기 클러스터 도구의 다양한 모듈들과 전송 모듈들을 예시한다.
도 4는 상기 클러스터 도구의 상기 모듈 경로들을 예시하는 도표와 해당 표이다.
도 5는 클러스터 도구의 기록을 예시하는 표이다.
도 6은 전달 기간에서 상승하는 모듈 픽업 시간들에 해당하는 도표 및 표이며, 여기서 상기 전달 기간은 6개의 하부-간격들로 나누어지고, 하나의 전달 기간 내에서 6개의 가능한 로봇이 동작한다.
도 7은 로봇들로의 억세스에 대한 공정들 간에서 발생하는 충돌들을 예시하는 해당 도표 및 표이며, 여기서 충돌들은 단일 기간에서 픽업 요구들을 가지는 로봇에 두개의 모듈이 할당되는 경우를 나타낸다.
도 8은 도표 및 해당 표들과 행렬들이며, 이는 로봇들에 억세스 하기위해 모듈들 간의 충돌들을 제어하기위한 큐(queue)들의 삽입을 예시한다.
도 9는 공정법(recipe)들과 클러스터 도구의 공정법 시간들을 예시한다.
도 10은 클러스터 도구의 안정 상태에서 웨이퍼 흐름을 예시한다.
도 11은 전송 주기를 예시하며, 여기서 상기 클러스터 도구는 진입 구역(entering lot)과 이탈 구역(exiting lot)을 처리한다.
도 12는 본 발명의 일 실시예에 따라서 제 1웨이퍼가 상기 클러스터 도구의 진입 구역으로 오는 타이밍을 예시한다.
도 13은 본 발명 일 실시예의 다수의 국부 시계들을 예시한다.
도 14는 본 발명의 실시예에 사용되는 로봇 위치설정 알고리즘을 예시한다.
본 발명은 주기적 방법으로 웨이퍼 클러스터 도구를 조작하는 것을 포함한다. 상기 클러스터 도구는 하나의 전송 주기 간격으로 상기 시스템으로 적재된 웨이퍼들을 처리한다. 웨이퍼들은 다수의 공정 반응로들에서 처리되며, 로봇 또는 웨이퍼 전송기들을 이용하여 공정 반응로들 간을 전달된다. 본 발명의 실시예들은 한 전송 주기의 주기성을 가진다.
본 발명은 상기 공정 반응로에 대한 픽-업 시간들을 결정할 수 있고, 본 발명의 실시예들은 갱신된 시간표의 생성 및 관리를 허용한다. 상기 시간표는 각 공정 반응로가 제공되는 경우의 시간들을 나타낸다. 이러한 값들은 상기 공정 반응로들이 새로운 웨이퍼들을 받아들이는 것으로 갱신된다.
상기 클러스터 도구에서의 로봇들은 서비스를 제공하기위해 모듈들, 또는 공정 반응로의 전면에 자신들을 선-위치설정할 수 있다. 로봇 선-위치설정은 상기 모듈에 대해 기 설정된 큐 시간들을 넘어서는 개별 모듈들의 대기 시간을 제거할 수 있다. 이는 상기 개별적인 로봇 경로들을 기 설정된 것으로 예측할 수 있으며, 상기 클러스터 도구가 단일 그리퍼 로봇들을 사용할 수 있도록 한다.
본 발명의 몇가지 실시예들은 다수의 공정 스테이션들을 포함하고, 여기서 각 공정 스테이션은 공정 반응로와 상기 공정 반응로에 연결된 국부 시계를 포함한다. 이러한 실시예에서, 상기 클러스터 도구 역시 각 공정 스테이션의 국부 시계와 통신하는 주 서버를 포함한다. 상기 주 서버는 주 시계와 다수의 공정 스테이션들에서 각 시계들에 대한 국부 시간을 기록하는 시간표 소프트웨어를 포함한다.
어떠한 실시예들에서, 상기 웨이퍼 클러스터들 역시 상기 공정 스테이션과 연결되는 CPU를 가지며, 여기서 상기 공정 반응로와 연결되는 국부 시계는 상기 CPU에 속해 있다. 상기 웨이퍼 클러스터 도구는 각 국부 시계들에 대해 상기 주 서버와 연결되는 국부 지역 네트워크를 포함할 수도 있다. 상기 시간표는 관련된 데이터 베이스 또는 스프레드 시트의 형태를 취할 수 있다. 상기 주 서버는 인터넷을 통해 상기 국부 시계들과 차례로 연결될 수 있다.
동기화된, 충돌 해결 스케쥴러(schedulers)
본 발명의 한 측면은 시스템 자원들에 대한 충돌들을 제어하는 주기적이고 예측 가능한 방식으로 시스템의 사건(event)들의 스케쥴을 작성하는 것으로 생산 시스템의 산출량과 품질을 최대화 하는 방법을 포함한다. 이러한 생산 시스템의 예는 생산의 개별적 유닛들에서 연속적으로 행되는 직렬로 연결된 공정 단계들(1,...,N)을 포함한다. 상기 시스템의 개별적인 공정 단계들은 "모듈들"로 동작하거나 "공정 반응로들(chambers)"로 동작하고, 직렬의 단계들은 "공정방법(recipe)"에서 나열된다. 상기 생산 시스템은 상기 직렬들의 모둘들 간 생산 유닛들을 전송하기위한 자원들 역시 포함하며, 이러한 자원들은 로봇들을 포함할 수 있다.
충돌들은 상기 시스템의 공정들 간에 로봇이 모듈들 에 대한 서비스를 할 불충분한 시간 간격 내에서 상기 로봇에 대한 요구를 개별적인 모듈 들이 요구하는 경우에 발생한다. 부가적으로, 주기적으로 동작하는 방식으로 상기 시스템을 스케쥴링하는 것으로 상기 시스템의 사건들은 주기적이고 예측 가능한 간격들에서 발생하도록 동기화된다. 본 발명의 실시예는 강제적인 주기화를 포함한 이러한 모든 충돌들을 상기 시스템의 산출량 또는 품질을 줄이지 않으면서 제거하기 위하여 상기 생산 공정의 다양한 단계들에서 선택적으로 스케쥴되는 지연들의 기법을 포함한다.
충돌-해결 동기화의 예: 웨이퍼 클러스터 도구
상기 설명된 생산 시스템 종류의 예는 웨이퍼 클러스터 도구이다. 웨이퍼 클러스터 도구에서, 상기 모듈들은 상기 웨이퍼 상에 공정 단계들의 순서를 수행하기위해 웨이퍼 전달 자원들의 집단 또는 로봇들이 인접하여 구성되는 공정 반응로들을 포함한다. 웨이퍼는 적재 포트(port)라 불리는 버퍼(buffer)를 통해 상기 도구에 출입한다. 로봇이 적재 포트로부터 웨이퍼를 검색(retrieve)하면, 상기 웨이퍼는 공정방법에 특정된 모듈들의 나열을 통해 순차적으로 전송된다. 웨이퍼들의 모듈로의 진입과 웨이퍼들의 모듈밖으로의 배출로 정의되는 시간 기간은 모듈 공정 시간으로 간주된다. 상기 공정 시간은 상기 웨이퍼를 처리하고 픽업하기위해 준비되는 전체 시간과 상기 웨이퍼가 상기 모듈에서 실질적으로 소모하는 공정 시간을 포함한다.
(비록 상기 웨이퍼 클러스터 도구는 모듈들 간에 개별적인 웨이퍼를 전달하는 것으로 상기 설명되었지만, 본 발명은 모듈들 간에 불연속한 웨이퍼들의 셋이 전달되는 웨이퍼 클러스터 도구에도 동일하게 사용될 수 있다는 것은 당 업자들에게는 명백하다는 것을 유의한다.)
상기 클러스터 도구의 특정 모듈들에서, 상기 처리되는 웨이퍼를 픽업하는 지연은 웨이퍼 상에 안좋은 영향을 줄 수 있으며, 이러한 모듈들은 "중요 공정 모듈들(critical process modules)"로 식별되고, 이들은 지연에 대한 내성이 없다. 상기 클러스터 도구의 모든 모듈들 중에서 가장 긴 공정 시간을 가지는 모듈은 "게이팅 모듈(gating module)"로 식별되며, 상기 모듈에서 공정 시간은 상기 클러스터 도구의 산출량을 결정한다. 상기 게이팅 모듈이 상기 클러스터 도구의 산출량을 결정하기 때문에, 이 역시 지연에 대한 내성이 없다. 웨이퍼 클러스터 도구에 대한 공정방법은 순차적인 순서로 상기 모듈들을 개별적인 공정 시간과 나란히 나열한다. 상기 두 모듈들 간의 웨이퍼를 전달하기위해서 로봇에 요구되는 시간은 그의전송 시간으로 간주된다.
클러스터 도구의 웨이퍼 흐름 관리(Wafer Flow Management)
웨이퍼 흐름 관리, 즉 클러스터 도구의 웨이퍼 공정 및 웨이퍼 전송의 조화는 상기 시스템에의해 전달되는 산출량과 웨이퍼 상부의 결과물들 모두를 결정한다. 효율적인 웨이퍼 흐름 관리는 다음의 두가지 조건들을 동시에 만족시켜야 하는데: 전송 모듈에서 금방 처리되고 이제 옮겨질 준비가 된 웨이퍼는 (1)상기 웨이퍼사 순차적으로 처리될 수신 모듈이 비어있어야 하고, 그리고 (2)이러한 모듈들 간에 웨이퍼를 전송하기위해 할당된 로봇이 사용가능해야 한다. 종래 기술에서, 조건(1)은 부가적인 잉여 모듈들을 추가하는 것으로 만족될 수 있다. 그러나, 이러한 해결책은 조건(2)에서 두가지의 결과가 발생하는데, 이들은 다음과 같다: (a)이 결과 부적당한 수의 로봇들이 너무 많은 모듈들에 제공되거나 (b)두개 이상의 모듈들이 동시에 로봇의 서비스를 경쟁할 수 있다.
상기 나열된 두가지 조건들이 절충되는 경우, 웨이퍼 픽업에서 지연이 발생한다. 만일 이러한 지연이 중요 공정 모듈들에서 발생하는 경우, 이들은 웨이퍼 상에 좋지 않은 영향을 미친다. 그리고 만일 이러한 지연들이 상기 게이팅 모듈에서 발생한다면, 이들은 산출량을 줄인다. 따라서, 상기 나열된 전달 조건들은 중요 공정 모듈들과 게이팅 모듈들에서 보장되어야 한다. (a)의 경우, 여기서 제공되는 로봇들 보다 많은 처리가 요구되고, 이러한 경우에 대해서 추가적인 로봇들이 이를 완화 할 수 있다. 그러나, (b)의 경우, 이 문제는 상기 로봇 서비스 요청의 타이밍에 존재한다. 비록 로봇들을 추가하는 경우에도 경우(b)를 완화할 수 있겠지만, 이는 부적당한 해결책이다.
상기 클러스터 도구에 대해 지시된 상기 공정방법이 상기 로봇 서비스 요청의 타이밍들을 결정하기 때문에, 상기 두가지 조건들에 대한 근본적인 해결책은 웨이퍼 전송의 동기화에 대한 웨이퍼 공정방법을 대체하는 것이다. 여기에 설명되는 스케쥴링 알고리즘은 이러한 동기화를 수행한다.
여기 설명된 상기 스케쥴러는 컴퓨터로 실행되는 소프트웨어에서 인코드될 수 있으며, 여기서 상기 컴퓨터는 상기 소프트웨어를 저장하기위한 메모리와 상기 소프트웨어를 실행하기위한 CPU를 포함한다. 본 발명의 실시예에서, 상기 스케쥴러는 상기 시스템에 대한 기-설정된 스케쥴을 생성하기위하여 상기 생산 시스템으로부터 오프라인으로 사용될 수 있다. 대안적으로, 상기 컴퓨터는 상기 생산 시스템과 연결될 수 있으며, 그로인해 상기 스케쥴러는 실시간으로 상기 시스템의 동적을 갱신할 수 있다.
클러스터 도구의 웨이퍼 흐름 동기화
본 발명의 실시예에서, 웨이퍼 흐름은 고정된 비율로 상기 클러스터 도구를 통해 개별적인 웨이퍼들을 전송하는 것으로 동기화된다. 상기 도구의 "전송 비율"로 간주되는, 상기 비율은 시간당 웨이퍼들의 수로 표시되고, (3600/전송 비율)초와 동일한 주기로 상기 웨이퍼 흐름을 유지한다. 상기 클러스터 도구의 전송 주기로 간주되는 이러한 주기는 상기 시스템의 맥박(heartbeat)이다. 개별적인 웨이퍼 유닛들은 하나의 전송 주기의 간격에서 상기 시스템으로 유입된다. 상기 클러스터 도구를 동기화 하기위해서, 모든 공정과 전송 시간들은 전송 주기를 단위로 측정된다. 또한, 후속 공정에서 동일한 작업들이 반복된다는 것을 보장하기위해서, 상기 클러스터 도구의 로봇들은 모든 서비스 요청들에 대해 하나의 전송 주기에서 스케쥴되며, 이하 "작업들"이라 칭한다. 여기서, 상기 클러스터 도구의 동기화는 1)하나의 전송 주기에서 수행되는 전체 작업들의 수와, 2)이러한 작업들이 발생하는 전송 주기 내에서의 정확한 순간(moment)의 결정이 요구된다. 이러한 개별적인 작업들의 순간들은 이하 "타이밍들"이라 칭한다.
전송 주기들과 동기화의 개념들은 도 1에 예시된다. 시간라인(timeline)(100)은 원점(102)을 가지며, 이는 제 1웨이퍼가 상기 클러스터 도구에 적재되는 순간을 나타낸다. 상기 시간라인(100)은 하나의 전송 주기(110) 단위들로 구별된다. 각 구획(104, 106, 108)이 개별적으로 표시되며, 이 시간들은 제 2, 제 3,그리고 제 4 웨이퍼들이 상기 클러스터 도구에 적재되는 것을 타나낸다.
동기화의 주된 특징은 주기성이다: 본 발명은 각 작업 i, i=1,...,n 에 대해서, 상기 작업이 수행되는 모든 웨이퍼에 대해서 픽업 시간이 동일하다는 것을 보장한다. 그래서, 상기 클러스터 도구의 각 작업(i)은 Ti로 나타내어지는 상대적인 픽업 시간과 연관되며, 여기서 Ti는 상기 전송 주기를 단위로 표준화된다. 3개의 웨이퍼들, 웨이퍼 1(208), 웨이퍼 2(210), 웨이퍼 3(212)는 수직축(202)으로 묘사된다. 상기 수평선은 시간(TIME)축(200)을 묘사한다. 상기 축들의 원점(201)은 웨이퍼 1이 상기 클러스터 도구에 적재되는 시간을 나타낸다. 작업(i)에 대한 상기 상대적인 픽업 시간들(Ti)은 각 웨이퍼에 대해서 동일하다. 상기 웨이퍼들이 그 자체들이 하나의 전달 주기의 간격들에서 도입되기 때문에, 상기 실질적인 픽업 시간들은 하나의 전달 주기 단위들로 분리된다.
도 2 상대적인것과 "실질적인" 또는 "절대적인" 픽업 시간들 간의 차이도 예시한다. 공정(i)의 상대적인 픽업 시간은 Ti(204)로 나타내어진다. 상기 상대적인 픽업 시간이 시간으로 웨이퍼가 상기 웨이퍼 클러스터 도구로 유입되는 시간으로 측정되기 때문에, 상기 상대적인 픽업 시간은 각 웨이퍼, 웨이퍼 1(208), 웨이퍼 2(210), 그리고 웨이퍼 3(212)에서 동일하다. 상기 절대적인 픽업 시간(214)은 상기 제 1웨이퍼가 상기 클러스터 도구(201)로 적재되는 순간에서 측정된다. 상기 웨이퍼가 하나의 전송 주기의 간격에서 도입되기 때문에, 이는 모든 웨이퍼 번호.W에 대해서 다음을 따르는데, 모듈(i)에서 웨이퍼(w)의 절대 픽업 시간은
(w-1)+Ti이다.
상기 주기(w-1)는 도 216에 예시된다.
동기화에 있어서 또다른 중요한 파라메터는 기호 τi로 나타내어진다. 소수(fraction)τi= Ti-INT(Ti)이며, 여기서 INT(Ti)는 Ti를 가장 가까운 정수로 내림하는 함수이며, 상기 현재 진행 주기의 시간으로부터 경과된 Ti의 소수이다. 이러한 파라메터들(206) 역시 도 2에 예시된다. 상기 Ti값들은 각 웨이퍼에 대해서 동일하기고, 상기 웨이퍼들이 하나의 전송 주기의 기간들에서 삽입되기 때문에, τi의값들(206)은 각 웨이퍼에 대해서 동일하다. 이러한 소수들,τ,i=1,2,3,...N은 하나의 전송 주기 내에서 로봇들이 완수해야만 하는 상기 작업들의 타이밍을 포함한다.
작업들(N)의 수와 이러한 작업들의 타이밍들은 상기 전송의 부하(load)를 구성한다. Ti가 상기 공정 시간들 pj,j=1,2,3...j과 상기 로봇 전송 시간들 tj, j=1,2,3...i-1의 i번째 모듈까지 누산되기 때문에, 이는 모든 웨이퍼에 대해서 다르며, 모듈(i)에서 상기 상대적인 픽업 시간은:
; i=1,2,3...N 이다.
이는 또한 상기 작업들의 타이밍을 따르는데, τi=1,2,3...N, 이는
τi= Ti-INT(Ti)
; i=1,2,3...N 이다 (1)
전송 시간(ti)가 주어진 클러스터 도구에 대해서 고정되기 때문에, 식(1)에서 로봇 작업(τi)은 상기 작업방법에 의해서 설정되는 바와 같이 상기 공정시간들(p)에서 독립적이라는 것이 명백하다.
주기성 및 웨이퍼 식별
주기성의 특성은 또한 상기 클러스터 도구에서 웨이퍼들의 식별을 가능하게 한다. 다음의 정교한 것들에서, 상기 동기화된 스케쥴러는 1)상기 웨이퍼들이 하나의 전송 주기의 간격들에서 순차적인 순서로 상기 클러스터 도구로 적재되고, 2)상기 클러스터 도구에 적재되는 각 웨이퍼는 동시에 동일한 사건들을 겪으며, 이들이 적재된 순간에 상대적으로 측정된다는 것을 보장한다. 이러한 두 조건들의 결과, 하나의 전송 주기의 간격에서 이들이 원래대로 적재되기 위해서 상기 클러스터 도구의 각 모듈에 웨이퍼들이 출입한다. 이와 같이, 모듈의 각 웨이퍼는 상기 모듈에 들어오고 나가는 순서를 추적하는 것으로 간단히 식별될 수 있다. 상기 동기화 스케쥴러의 상기 특징은 웨이퍼 식별 또는 웨이퍼 "태깅(tagging)"으로 간주된다.
태깅과 모듈 경로들
본 발명의 실시예에서, 상기 클러스터 도구에 적재되는 각 웨이퍼는 특정한 "모듈 경로", 즉, 상기 클러스터 도구의 공정들에 해당하는 모듈들의 특정 셋을 따른다. 본 발명의 이러한 특징은 도 4에 예시된다. 상기 실시예에서, 상기 클러스터 도구의 각 공정은 그와 연결되는 하나 이상의 모듈들을 가지며, 여기서 상기 웨이퍼들이 처리된다. 각 공정들에 대한 상기 모듈들은 상기 공정에 도달한 웨이퍼들과 같이 순차적으로 나열되며, 이들은 상기 순차적인 순서로 해당 모듈들에 위치된다(예를 들어서, 만일 공정이 두개의 해당 모듈을 가지면, 상기 시스템의 제 1웨이퍼는 제 1모듈로 가고, 제 2웨이퍼는 제 2모듈로 가며, 제 3웨이퍼는 제 1모듈로 가고, 제 4웨이퍼는 제 2모듈로 가는 식이다.) 결과적으로, 웨이퍼가 따르는 전체 모듈 경로들의 수는 각 공정에 해당하는 모듈들의 최저 공통 다중 갯수로 구성된다.
상기 설명된 실시예는 도 4의 예제로 예시된다. 도 4는 공정 단계들, VP400, VPC402, CT404, SB406, SBC408, PEB410, PEBC412, DEV414, HB416, HBC418을 보인다. 공정 단계의 기호는 상기 공정 단계에 해당하는 각 모듈에 대해 나타난다. 예를 들어서, 상기 공정 CT404는 4개의 모듈들을 가지며, 해당하는 상기 기호 CT는 3번 나타난다(404). 상기 각 공정 단계는 공정 단계(420)에 대한 모듈들의 수이다.
상기 예제에서, 적어도 공통적인 다중 모듈들의 수는:
LCM(2,2,3,3,3,3,3,4,2,2)=12이다.
그래서, 상기 클러스터 도구에 대한 상기 공정방법은 12개의 모듈 경로들을 설정하고, 이는 422에 나열된다. 표(422)의 각 열(column)은 개별적인 묘듈 경로의 공정 단계에 대한 모듈들의 수를 나열한다. 여기에 12개의 가능한 경로가 존재하므로, 매 12번째 웨이퍼는 동일한 모듈 경로를 따른다. 이와 같이, 상기 도구에 적재된 웨이퍼와 순서를 식별하는 것으로, 본 발명은 상기 웨이퍼가 따르는 모듈 경로의 결정을 가능하게 한다.
전송 리소스들에 대한 충돌들을 제거하기위한 큐들의 추가
만일 작업방법이 특정 로못들에 대한 서비스 요청들을 경쟁하도록 동시에 요구한다면, 이는 더 많은 로봇들을 추가하는 것으로 이러한 충돌들을 해결할 것이 아니라 상기 작업방법 그 자체를 변해야 한다. 상기 작업방법을 변경하기위한 일반적인 방법은 신중한 지연들,이하 qj라 칭함,을 상기 도구에의해 전송되는 웨이퍼 상의 결과물들 또는 산출량을 절충하지 않고 충돌들을 해결하는 타이밍을 달성하기위해서 상기 중요하지 않은 공정 단계들로 도입하는 것이다. 식(1)과 함께 사용되는 상기 설계는 "동기화 알고리즘"을 기반으로 한다. 다시한번 말하면(recap), 원래 설정된 작업방법은 중요 공정 및 게이팅 단계들에 지연을 유발하는 서비스 요청들의 경쟁을 도입하며, 그로인해 상기 단일-웨이퍼 클러스터 도구의 산출량 및 웨이퍼 품질을 저하시킨다. "동기화 알고리즘"의 목표는 고의적인 지연들을 중요하지 않은 공정 단계들에 삽입하는 것으로 중요 공정 단계들 또는 게이팅 단계들에 지연이 발생되지 않도록 보장하는 것이며, 그로인해 산출량과 웨이퍼 품질을 보장할 수 있다.
큐들에 대한 해법
우리는 이제 상기 지연들 또는 qj에 대해서 어떠한 식으로 해결했는지를 보일 것이다. τ를 식(1)에 대해 설정된 작업방법에의해 지시되는 로봇 작업들의 타이밍이라 한다. 상기 작업방법을 변경하기위해 큐들(qj)을 상기 공정 시간(pj)에 추가하는 것으로 새로운 타이밍 τ*은 다음과 같이 주어진다.
목적은 중요하지 않은 공정 단계에 삽입되기위한 큐들의 셋(qi)를 찾아내기위한 것이며, 여기서 임의의 두 모듈들(k와 m),
k=1,2,3,...N이고
m=k,k+1,...,N이며, 모듈k와 모듈m은 동일한 로봇에의해 그들의 웨이퍼가 픽업되도록 할당되어있는데, 상기 두 모듈들 사이의 시간 간격은 상기 로봇의 전송시간 보다 더 길다. 이는 상기 로봇이 모든 모듈들에 대해 서비스하기에 충분한 시간 간격들을 제공하며, 그로인해 주어진 시간동안 하나 이상의 모듈에 서비스하는 것을 방지한다. 그러나, 상기와 같이 얻어진 큐들은 모듈들의 부가적인 공전 시간을 피하기위해 충분히 작아야 한다. 그리고 중요 공정 모듈들 또는 게이팅 모듈들에서는 큐들이 없어야만 한다.
큐들의 셋은 식(2)를 통해 해결될 것이다. 이는 선형 방정식들의 시스템을 산출하고; 여기서 aij는 낮은 삼각 행렬로, i<j에서 aij=0 이며, i≥j에서 aij=1이다.
중요 모듈들에 지연이 발생하지 않도록 한 구속(constraint)은 이제 식(3)에 적용된다. 예를 들어, 만일 모듈 #3과 #4가 중요하다면, 식(3)은 다음과 같은 선형방정식으로 변형될 것이다.
상기 식(4)에서, 상기 원래의 공정방법에 의해 설정된 타이밍 τi *은 먼저 언급했던 바와 같이, 상기 동일한 로봇을 이용하여 모든 모듈들 간의 충돌을 제거하는 값들의 셋이다. 그래서, 식(4)의 LSH는 알려진 값이다. 그 다음, 상기 벡터 qi는 다음의 식(5)에 도시되는 바와 같이 변경된 구속 행렬의 역과 (τi *i)를 미리 곱하는 것으로 해결된다. 이러한 qi의 셋을 상기 해당 모듈 공정 시간 pi에 추가하는 것으로 웨이퍼 공정과 웨이퍼 전송은 동기화 된다.
동기화 알고리즘의 응용
본 발명의 구체적인 실시예들은 중대한 구체적이고 다양한 특징들 중 일부를예시하기위해 제공되는 다음의 제한적이지 않은 예제들에의해 더 설명될 것이다. 예제는 단지 본 발명을 실시하고, 나아가 본 발명에 대해 당 업자들이 실시하기위한 방법들을 이해하기 쉽도록 하려는 것이다. 따라서, 예제는 본 발명의 범위를 제한하기위해 구성되어서는 안된다.
클러스터 도구에서 웨이퍼 공정을 웨이퍼 전송과 동기시키는 것은 클러스터 도구의 구체적인 예제들 이용하여 이제 예시될 것이다. 도 3은 웨이퍼 공정 장치의 개념적인 평면도를 간략히 보인 것이다. 상기 레지스트 코팅하고 현상하는 모듈들은 각각 CT300과 DEV302로 식별된다. 또한, 도 3에 도시한 것은 상이한 경화(bake) 모듈들로 기상 프라임(prime)(VP)(304), 약한 경화(soft bake:SB)(306), 후속 노출 경화(post exposure bake:PEB)(308), 그리고 강한 경화(hard bake)(310)및 그들에 따른 냉각 모듈들이다. 인접한 경화와 냉각을 연결하는 화살표들은 이러한 모듈들 간에 상기 기판을 전달하는 내부 베이 전송 팔들, IBTA들(312)을 나타낸다. 결과적으로 이러한 모듈들의 위치들은 그들에 해당하는 냉각 판들의 위치를 제한한다. 상기 도면에 오시된 카세트 종단 스테이션(cassette end station:CES) 로봇(314)는 기판들을 상기 카세트 종단 스테이션으로부터 또는 이곳으로 전달한다. 스테퍼 인터페이스(stepper interfacce:SI) 로봇(316)은 기판을 상기 스테퍼 인터페이스로부토 또는 이곳으로 전달한다. I/O 모듈(318)은 만일 필요해지는 경우 상기 스테퍼 인터페이스로 전송되는 상기 기판에 대한 버퍼 구역이다. 상기 주 로봇(320)은 기상 프라임 냉각기(VPC)에서 레지스트 코트(CT)와 같은 모든 상이한 모듈들 사이로 상기 기판을 전달하기위한 수단이다.
도 4는 웨이퍼 공정 흐름을 간략히 보인 것이다. 상기 간략한 도면에서 볼 수 있는 바와 같이, 상기 전송기 수단이 IBTA인 경우, 상기 기판은 상기 흐름 다이어그램의 단 하나의 선택을 가질 것이다. 이는 상기 기판이 기상 프라임 경화(400)에서 기상 프라임 냉각기(402)로 전달되는 경우이다. 그러나, 상기 전송기 수단이 상기 주 로봇이라면, 상기 기판은 몇가지 선택들을 가져야한다. 예를 들어서, 기판이 레지스트 코트 모듈(404)에서 제거되는 경우, 이는 도 4에 도시된 임의의 약한 경화 모듈들(406)로 전달될 수 있다.
동기화 알고리즘
이제 상기 클러스터 도구에 대한 동기화 알고리즘의 응용을 4개 단계들의 나열로 예시할 것이다.
단계 1 공정방법 및 산출량 요구의 입력 . 본 논의는 도 5에 나타나있다. 본 단계는 표(500)의 공정 방법을 삽입하는 것으로 시작된다. 처음의 두 열들(502)은 순차적인 순서로 공정 단계들을 나열한다. "시스템 타트(takt) 시간"으로 간주되는 상기 전송 기간은 504로 나타내어진다. 그 다음, 모듈 타트 시간들로 알려진 사이클(cycle) 시간들은 각 모듈 타트 시간이 상기 시스템 타트 시간보다 작다는 것을 보장하기 위해서 "모듈 종류" 열(502)의 각 모듈에 대해 계산된다. 각 공정 단계에 대한 상기 모듈 타트 시간은 열(506)에 나열된다. 만일 아니라면, 잉여 보듈들을 모듈 타트 시간을 줄이기위해 추가해야 한다. 당 업자들에게 명백하게 하기위해서, 각 공정 단계들은
요구되는 모듈들의 수 = INT(모듈 타트 시간/시스템 타트 시간)이다.
이러한 예제에서, 대부분의 모듈들은 하나의 부가적인 잉여 모듈을 요구한다. 각 공정 단계에 대해 요구되는 모듈들의 수는 열(508)에 나열된다.
단계 2 웨이퍼 전송의 부하 결정. 앞서 정의한 바와 같이, 상기 로봇의 "부하"는 동작들의 수를 의미하고, 이는 현재 전달 기간의 시작으로부터 측정되는 바와 같은 이러한 동작들을 수행하기위해서 상기 로봇에 할당된 시간들을 고려해 스케쥴된다. 상기 로봇 부하의 결정은 도 6의 표(600)에 묘사된다. 본 예제의 상기 클러스터 장치는 12개의 공정 단계들을 가진다. 로봇 동작들에 해당하는 12개의 타이밍들은 다음과 같이 결정된다. 상기 순간으로부터 시간을 계수하면서 상기 웨이퍼는 적재 포트(카세트)에 남겨지고, 각 모듈들의 공정 시간과 전송시간들은 상기 흥미 있는 모듈들까지 누적된다. 예를 들어서, 모듈 코드 이름이 VP(602)라고 된 것은(이하 모든 모듈들은 코드화됨), (62+6)=68초이고, 모듈 VPC(604)에 대해서 이는 (68+65+5)=138초이다. 모든 로봇 동작들에 대한 실질적인 타이밍들은 "실제"(606)라고 표시된 열에 초 단위로 나열된다. 상대적인 픽업 시간들(Ti)을 결정하기위해서, 상기 실제 시간들은 실제 전송 주기로 나누어진다. 예를 들어서, VP와 VPC의 실제 픽업 시간들을 45초의 실제 전송 주기로 개별적으로 나누면, 평균화된 픽업 시간들은 1.511과 3.067이다. 상기 12 공정 단계들의 각각의 상기 평균화된 픽업 시간들은 "Ti평균화"(608)에 나열된다.
Ti 값들의 정수 부분을 상기 τi값들로 나눈 결과, 즉 로봇들에의해 제공되는 상기 개별적인 모듈들에 허용 가능한 시간은 전송 주기의 시작으로부터 특정되며, 하나의 전송 주기를 단위로 표현된다. 예시와 같이, VP와 VPC의 τi값들은 0.511과 0.067인데, 이는 VP가 하나의 전송 주기의 .511 간격 내에서 제공되어져야 하며, VPC가 하나의 전송 주기의 .067 간격 내에서 제공되어져야만 한다는 것을 나타낸다. 평균화된 τi값들의 나열은 열(610)에 나열된다. 상기 다이어그램(612)은 상기 부하를 그림으로 나타낸 것으로, 전체 12개 동작들과 하나의 전송 주기 내에서 제공되어야 하는 시간을 보인다. 도 7은 다른 관점에서 동일한 정보를 보인 것이다. 상기 로봇 전송 시간들이 5와 6초들 근방에 있으므로, 동작의 수는 45초인 하나의 전송 주기에서 (45/6)~7이며, 대략적으로 6 동작들이다. 그래서 6 수직선들이 그래프(700)에 도시된다. 상기 모듈들의 사간들이 SBC(702), DEV(704), HB(706) 그리고 카세트(708)과 같은 하나의 간격 내에서 하나의 로봇에의해 제공되어지는 경우, 모두는 하나의 간격(710)에 해당하는데, 그 의미는 이들이 주어진 시간에 로봇의 동일한 동작을 경쟁한다는 것이다. 부연하자면, 만일 2개 이상의 작업들이 하나의 로봇을 이용한다면, 그리고, 만일 상기 이러한 작업들의 τ 값들이 6 간격들 중 하나에 해당한다면, 그 의미는 상기 두개 이상의 로봇들 각각이 제공하는데 있어 시간이 충분하지 않다는 것이다.
상기 로봇들을 이용하기위한 작업들의 이러한 "충돌들"은 다음의 단계에 설명되는 것 처럼 해소된다.
단계 3 전송 부하의 할당 . 상기 생산 시스템의 충돌들을 해결하기위한 제 1단계는 균형있는 전송 부하를 달성하기위해 로봇들 간에 동등하게 부하를 할당하는 것이다. 비록 충돌들이 공정조건에 종속적이지만, 로봇당 더 작은 부하들을 할당하는 것은 충돌의 경우를 줄일 수 있다. 그러나, 부하들 균형의 가능성은 로봇들에 상대적인 상기 모듈들의 배치에 종속적이다. 좋지 않은 배치는 로봇들의 상기 모듈들에 대한 접근성을 제한하고 균형잡힌 부하들을 얻기 힘들게한다. 본 예에서, 두개의 로봇돌(CES와 SI)와 같은 상기 배치는 각각 단 두개의 모듈들만 서비스할 수 있고, 상기 주 로봇(C-1)과 IBTA(내부 베이 전송 팔)로 알려진 3개의 전용 로봇들에 많은 부하들을 남겨둔다. 전송 부하의 최적 할당은 상기 배치의 제한 하에서, 도 7에 도시되는 바와 같다. 6개의 모듈들(VPC(712), CT(714), SBC(716), PEBC(718), DEV(720), 그리고 HB(722))은 앞서 논의된 것 처럼, 로봇의 한 동작에 대해 이들 중 3개(SBC, DEV, HB)가 경쟁하도록 상기 주 로봇(C-1)에 할당된다. 이러한 충돌들은 다음 단계에서 예시되는 바와 같은 큐잉(queuing)을 통해 해결될 것이다.
단계 4 동기화를 위한 큐잉 . 도 8의 표(800)의 정보는 단계 3으로부터 할당되는 부하의 요약이다. 단지 6개의 모듈들이 주 로봇(C-1)의 서비스를 받는데, 이들은 VPC(802), CT(804), SBC(806), PEBC(808), DEV(810), 그리고 HB(812)이며, 큐잉을 고려할 필요가 있다. 나머지 모듈들은 이들에 서비스를 제공하는 예를 들어 IBTA와 같은 전용 로봇들을 각각 가지고 있기 때문에 충돌이 없다. 목표 열(814)에서, 상기 목표 타이밍 프로파일(profile)은 상기 6개의 모듈들에 대해 설정된다. 상기 표에 나열된 모듈들 각각에 대해서, 해당 값은 τ*에 대해 설정되며, 여기서τ*는 로봇들의 작업들 간 충돌들을 제거하는 τ에 대한 갱신된 값이다. 상기 6개의 모듈들 중 단 3개(SBC(806), DEV(810), 그리고 HB(812))가 충돌하기 때문에, 단 두개(DEV와 HB)가 상기 공정방법에 의해 설정된 τ에 대한 원래 값들로부터 상이한 목표 타이밍을 가질 필요가 있다. 상기 타이밍 목표들은 열(814)에 나열되고, 6개 보듈들의 어떠한 쌍 간의 타이밍 간격이 로봇 전송 시간(=6/45~0.1333)보다 길도록 설정된다. 상기 목표와 상기 원래 설정된 타이밍 프로파일들 간의 차이는 갭(gap)으로 간주되며, 열(816)에 연산된다. 이들은 상기 표의 근처 그래프(818)에 도시된다. "동기화 알고리즘"의 다른 목표는 중요 공정 단계들에 지연들이 없다는 것을 보장하는 것이다. 본 예제에서, 중요한 공정 단계들은 단계 3(803), 단계 4(806),그리고 단계 7(809)이다. 이러한 단계들에 해당하는 모듈들에는 큐들이 첨가되어서는 안되는데, 즉, 이러한 모듈들의 목표 타이밍은 상기 설정된 값들과 동일해야만 한다. 상기 갭 열(816)에 연산된 상기 갭들은 이러한 갭들에 가까운 큐들을 해결하기위해 식(3)에서 대치될 수 있다. 그러나, 상기 중요 모듈들의 지연 없음을 보장하기 위해서, 상기 갭들과 큐들에 상대적인 행렬(818)은 변경된 행렬(820)을 생성하기위해 식(4)에서 변경되어야만 한다. 상기 변경된 행렬(822)의 역을 상기 갭 열(816)로부터 상기 갭들에 미리 곱하는 것으로 상기 갭(824)에 인접하여 필요한 큐들을 생성한다. 이러한 큐들에 대한 해법은 큐 열(826)로 전달된다. 상기 전송 주기를 단위로 나타내는 상기 해법은 실질적인 큐 열(828)의 실질적인 시간으로변환된다.
단계 5 해답의 검사 . 단계 4에서 결정되는 상기 큐들은 이제 상기원래 공정방법의 모듈 처리 시간에 부가된다. 이는 충돌들이 해결되었는 지를 검사한다. 이는 도면에 도시되는 경우이다.
로봇 할당
자동화의 장점이 있는 상기 스케쥴링 문제의 다른 측면은 모듈들에 대한 로봇들의 할당이다. 예를 들어서, 상기 나열된 3개의 단계들에서, 공정방법은 연속적인 모델들의 각 쌍 사이에 하나의 로봇이 할당 되도록 선택되며, 이러한 할당은 도 7의 나열된 공정순서에 도시된다. 상기 할당은 많은 가능한 할당들 중에서 선택된다.
일반적으로, 큐들을 결정하기 전에 최적의 로봇 할당을 결정하는 알고리즘이 필요하다. 이러한 알고리즘의 필요성을 다음의 예제에서 보인다. Mod1, Mod2, Mod3로 이름 붙여진 3개의 모듈들로 구성된 간략화된 진행 시스템을 가진다고 가정한다. 우리는 2개의 로봇들(로봇1, 로봇2)을 가지며, 이들 모두는 3개 모듈들 모두에 서비스를 제공할 수 있다고 가정한다. 전송 주기는 변수(SP)에 의해 정해진다고 하자. 상기 전송 주기를 단위로 하여 τ1=0.0, τ2=0.6, τ3=0.7로 가정하고, 상기 로봇들은 SP를 단위로 하여 0.3이내에 동작할 수 있다고 가정한다. 이제 4개의 가능한 로봇 할당들은 다음과 같다.
할당 Mod1에서 Mod2 Mod2에서 Mod1
1. 로봇1 로봇1
2. 로봇2 로봇2
3. 로봇1 로봇2
4. 로봇2 로봇1
조사에 따르면, 할당 3과 4만이 가능하다. 할당 1과 2에서, 상기 τ2=0.6, τ3=0.7 사이의 시간 간격은 0.1 전송 주기들이며, 이는 로봇이 동작하는데 요구되는 0.3 전송주기들보다 작다. 그래서, 상기 최적의 할당들은 이러한 경우 #3과 #4가 되며, 상기 τ값들 간의 상기 시간 간격들은 충분한 거리를 가지고, 상기 로봇 할당은 지연들의 삽입을 방지한다. 최적 로봇 할당의 결정에 다른 기준들 역시 도입될 수 있는데, 예를 들면, 균형있는 부하들, 산출량 증가 등이다. 상기 간략화 된 예제보다 더 복잡한 경우에, 최적 로봇 할당을 결정할 수 있는 알고리즘이 필요하다.
이러한 할당을 수행하는 한가지 방법은 소모적인(exhaustive) 기법인데, 가능한 모든 로봇 할당들을 생성하고 각 할당들의 타당성을 결정한다, 즉 로봇들이 이들에 대해 서비스를 제공할 수 있도록 이들의 τ값들을 충분히 상이하도록 한 로봇에 모든 모듈들을 할당하는 것이다. 그에 따라 상기 생성된 할당들은 부하 균형과 같은 부가적인 기준 상에서 선택된다.
갱신된 타이밍들(τ * )에 대한 해법
자동화의 장점이 있는 상기 동기화의 다른 특징은 τ*에 의해 주어지는 갱신된 타이밍들의 유도이다. 다시 말해서, 앞서 대략적으로 소개했던 상기 알고리즘의 단계 4에서, 상기 알고리즘은 갱신된 τ*값들이 주어지고, 여기서 하나의 로봇을 공유하는 임의의 2개 모듈들에 대해서, 상기 개별적인 τ*값들은 상기 로봇이 이들 사이를 움직이는 것을 허용하도록 충분한 시간에의해 상이해진다. 이러한 τ*값들을 유도할 수 있는 자동화된 방법이 필요하다. 이러한 기법들 중 하나는 다음과 같다.
충돌이 있는 각 로봇들에 대해서, 그 모듈들 각각에 대한 τ값을 취한다.
이러한 τ값들의 각 조합에 대해서, 가장 낮은 것부터 가장 높은 상기 τ값들을 분류한다.
τ값들의 각기 분류된 목록에 대해서,
가장 낮은 것에서 가장 높을 것으로 상기 τ값들을 순차적으로 진행한다.
주어진 τ값과 이보다 우선하는 것 간의 차이를 결정한다.
만일 상기 차이가 상기 로봇이 동작하는데 할당된 시간보다 작은경우 상기 τ값을 충분히 증가시킨다.
다음 τ값으로 진행한다.
상기 알고리즘이 충돌들을 제거하는 주어진 로봇에 대한 갱신된τ값들의 셋을 검출한 경우, 이들은 τ*값들이 된다. 만일 충돌 없는 τ*값들의 집단이 존재하면, 상기 윤곽을 보인 알고리즘은 이를 찾을 것이다.
유전 알고리즘
동기화, 로봇 할당, 그리고 유도 문제들은 유전 알고리즘(GA)의 이용을 통해 해결될 수도 있다. GA는 초기 유전인자들의 집단(population)에서 시작하는 처리를 반복하는 것이며, 이는 가능한 문제의 상태들을 인코드한다. 상기 집단은 선택적인 번식법(breeding)의 절차를 통해 각 반복에 있어서 시스템적으로 개선된다. 선택적인 번식법을 수행하기위해서, 상기 GA는 a)종(species)의 특징들 정의, 그리고 b)종의 적합성 판단이 필요하다.
종의 특징들종은 n개의 유전인자에의해 특징지어진다. 우리들의 문제에 있어서, 우리는 2종류의 유전인자들을 사용하는데, 하나는 로봇 할당을 나타내고, 다른 하나는 큐 단편(segment)을 나타낸다. 앞서 설명한 알고리즘에 사용된 예제를 고려한다. 로봇 할당은 1에서 4의 영역이고, 이는 로봇이 작업할 특정 모듈을 나타낸다. 큐 단편은 얼마나 많은 "시간 영역들(time zones)", 즉 로봇 동작 주기,를 로봇 할당의 충돌을 방지하기위해 모듈의 도달 시간에 부가할 것인지를 나타내는 정수이다. 앞선 예제에서, 상기 모듈들은 6개의 상이한 시간 영역들로 도달하는데, 이는 도 6의 612에 도시된다. 만일 시간 영역이 예를 들어 5개의 도달을 보이면, 충돌이 발생한다. 상기 모듈들 중 하나에 대한 큐 단편의 추가는 상기 도달을 다음 시간 영역으로 밀어내고, 그로인해 상기 충돌을 해소된다.
종의 적합성종의 '나쁨(badness)'의 역(reciprocal)에 의해서 적합성을 측정할 수 있다. 반대로, 나쁨은 충돌의 정도와 부가되는 튜 단편들의 수를 가중치 합하는 것으로 측정될 수 있다. 이상적인 종은 부가되는 단편들이 없는 것이고, 그 결과 로봇 할당에서 충돌이 없는 것이다.
상기 적합성 기능을 유추하기위해서 각 시간 영역을 검색하고 각 로봇들에 대한 잉여 할당들의 수를 계수한다. 결과들은 모든 로봇들과 모든 시간 영역들에 대해서 합산된다. 이를 합 s라 한다. 또한, 부가되는 큐 단편들의 수를 계수하여 이를 t라 한다. 그러면, 상기 적합성 기능은
이며,
여기서 가중치 w1과 w2는 s/t의 중요성에 상대적으로 할당된다.
공정방법 케스케이딩
본 발명의 일 실시예는 주기성을 유지하면서 상기 클러스터 도구가 제 1공정 방법에서 제 2공정방법으로 변화하는 것을 허용하고, 중요 시점들에서 지연이 없다는 것을 보장한다. 상기 과정은 공정방법 케스케이딩으로 간주된다. 케스케이딩은 이후이탈 구역(exiting lot)이라 칭해지는 웨이퍼들의 제 1 구역(lot)을 상기 클러스터 도구로부터 비우는 단계와, 동시에 이후진입 구역(entering lot)이라 칭해지는 직렬로 다른 웨이퍼들의 구역으로 상기 클러스터 도구를 채우는 단계를 포함한다. 상기 과정은
단계를 포함하며, 이는 중요 공정 간계들에서 지연을 발생시키지 않으면서 수핼될 수 있고, 부가적인 로봇들과 상기 공정 단계라 불리는 것 보다 많은 공정 모듈들과, 상기 진입 및 이탈 구역들의 산출량 요구들을 필요로 하지 않는다. 상기 진입 구역은 상기 이탈 구역의 산출력 요구들과는 상이한 공정 방법을 가질 수 있다.
표시법
다음의 파라메터들은 우리의 공정 방법 케스케이딩의 논의에 적용될 것이다.
mex= 공정 단계들의 수, 첨자(en,ex)는 이후 진입 또는 이탈 구역을 나타낸다.
nex= 완전히 비는 이탈 웨이퍼들 또는 완전히 클러스터 도구에 진입한 진입 웨이퍼의 수.
SPi ex= i번째 웨이퍼의 전송 주기로, 이는 (i-1)번째와 i번째 웨이퍼의 진입 간 시간 간격임.
SP.ex= 안정 상태 동안 상기 웨이퍼의 전송 주기.
SP1stj en= 이탈 구역의 j번째 모듈에서의 전환을 수용하기위한 진입 구역의 1번째 웨이퍼 진입에서의 지연.
COj= 새로운 설정으로 상기 이탈 구역의 j번째 모듈을 변경하는데 필요한 시간.
Tijk in= k번째 로봇에의해 전송되는 j번째 모듈에서 i번째 웨이퍼가 도달하는 시간.
Tijk out= k번째 로봇에의해 전송되는 j번째 모듈에서 i번째 웨이퍼가 이탈하는 시간.
Pj ex= 이탈 경로의 j번째 공정 단계의 공정 시간.
tj ex= 이탈 경로의 (j-1)번째와 j번째 공정 단계 간의 전송 시간.
qij ex= 이탈 경로의 j번째 공정 단계에서 i번째 웨이퍼에 부가되는 큐들.
공정방법 케스케이딩의 특성
도 9는 전형적인 작업 공정(900)을 예시한다. 이는 공정 및 전송 작업들과 클러스터 도구를 통해 상기 웨이퍼 진행상태로 웨이퍼에 수행되는 각 작업의 타이밍을 특정한다. 산출량 요구를 만족시키기 위해서, 후속 웨이퍼들은 고정 전송 주기로 상기 클러스터 도구를 통해 전송되며, 이는 도 10에 예시된다. 상기 전송 주기(SP)(100)은 다음과 같이 주어진다.
여기서 WPH는 시간당 웨이퍼의 산출량 요구이다.
n 번째 웨이퍼에 의해서, 상기 클러스터 도구는 웨이퍼들로 가득 채워진다. 상기 클러스터 도구를 이탈하는 매 웨이퍼에 있어서, 이를 채우기 위해 웨이퍼가 진입한다. 웨이퍼 상에서 수행되는 모든 공정과 전달 작업들은 주기적으로 발생하고, 상기 주기성은 전송 주기에 의해 제한된다. 상기 시스템이 상기 단계에 도달한 경우, 이는 안정 상태라 불린다. 상기 클러스터 도구를 완전히 채우기고 안정 주기상태가 되기위해 요구되는 웨이퍼들의 수(n)는 다음과 같이 구해질 수 있다.
(A)
여기서는 도 9의 902로 나타내는 것 처럼 웨이퍼 상에서 수행되는 전체 공정 및 전송 시간이다. 상기 기호 INT()는 가장 인접한 정수로 숫자를 내림하도록 하는 기능을 나타낸다. 상기 식은 안정 상태에서 상기 클러스터 도구를 완전히 이탈하는 구역에 대한 웨이퍼들의 수에도 적용될 수 있다. 안정 상태에서, 매 웨이퍼는 식별될 수 있는 시간 간격들에서 상기 웨이퍼 상에 수행되는 공정과 전송 작업들을 식별할 수 있다. 그로인해 상기 클러스터 도구 내부의 웨이퍼 이동을 계속 추적할 필요가 없다.
그러나, 상기 공정 방법 케스케이딩 중에, 상기 웨이퍼는 도 11에 예시된 것과 같이 상기 이탈 구역의 안정 상태에서 진입 구역의 안정 상태로 전이한다. 이러한 전송 중에서, 어떠한 웨이퍼들은 상기 공정 방법에 따라서 처리 및 전송되고 상기 이탈 구역에 대해 기 설정된 전송 주기로 처리되며, 나머지들은 상기 진입 구역에대해 기 설정된 공정 방법에 따라서 처리 및 전송된다. 그래서, 주기성은 유지되지 않는다. "충돌"이 발생할 것이다. "충돌"은 두가지 상황으로 간주된다. 공정 충돌이라 불리는 한가지 상황은, 상기 단계의 공정 시간보다 짧은 간격 내에서 2개의 웨이퍼가 동일한 처리 모듈로 동시에 처리되어야 하는 상황이다. 전송 충돌이라 불리는 다른 상황에 있어서, 이는 상기 로봇 이동 시간보다 짧은 간격 내에서 2개의 웨이퍼가 동일한 로봇에 의해 동시에 이동되어야 하는 상황이다.
충돌들을 해결하는 한가지 방법은 더 많은 모듈들과 로봇들을 사용하는 것이다. 이러한 해법은 비용이 많이 들고 실용적이지 않다. 다른 해법은 우선 순위 규칙 셋(set)을 고안하고, "if-then" 알고리즘을 상기 충돌이 발생하는 곳에 적용하는 것이다. 이러한 조합 특성 때문에, 이 해법은 첨차 혼돈에 빠지고 예측할 수 없는 출력들의 엄청나게 커다란 조합들을 생성한다. 상기 기본 해법은 상기 이탈 및 진입 구역 모두의 중요하지 않은 공정 단계에서 의도적인 지연들을 삽입하는 것으로 상기 진입 구역에서의 진입 시간에서 적절한 타이밍으로 충돌을 완전하게 제거하는 것이다. 이는 여기서 설명하는 숨은 공정 방법 케스케이딩 원리이다.
절차
단계1: 이송에서 웨이퍼 수를 산출한다.이동 중에, 상기 이탈 구역은 상기 클러스터 도구의 진입 구역이 채워져 있는 동안 비워진다. 상기 전송에 결부된 웨이퍼들의 수는 식(A)를 통해 산출할 수 있다. 산출을 위한 알고리즘은 다음과 같다.
단계2: "지연"의 하위 경계를 산출한다.상기 진입 구역의 웨이퍼 진입 타이밍은 충돌 발생에 영향을 미치는 가장 중요한 변수이다. 그래서 상기 진입의 적절한 타이밍은 중요하다. 부가적으로, 이하 "지연"이라 칭하는, 상기 제 1웨이퍼의 진입 타이밍은 상기 진입 구역에 의해서 호출되는 새로운 설정으로 공정 모듈을 변경시키는데 필요한 시간을 제공한다. 그래서, 상기 진입 구역의 제 1웨이퍼가 진입하는 경우, 상기 변경이 완료되고 상기 공정 모듈은 이를 받아들일 준비가 완료된다. 상기 진입 구역의 공정 방법에의해 호출되는 모듈 변경의 수 만큼 "지연"이 생길 것이다. 이들의 최대는 상기 지연의 하위 경계이다. 충돌 해결을 위해 사용되는 모든 지연의 크기는 상기 하위 경계보다 커야 한다. 도 12에 따르면, 상기 하위 경계는 다음으로부터 산출될 수 있다.
다음은 식(B)에 대한 지연의 하위 경계를 산출하기위한 알고리즘이다.
단계3:이송에서 웨이퍼 움직임 추적.이송에 있어서 웨이퍼 이동은 추적될 수 있다. 상기 k번째 로봇에의해 전송되는 j번째 모듈에서 i번째 웨이퍼의 도달 시간 Tijk in은 이전 (j-1)번째 공정 모듈로분터의 이탈시간 Ti(j-1)k out에 상기 (j-1)번째에서 상기 j번째 모듈로의 전송 시간(tj)을 더한 것이다.
Tijk in= Ti(j-1)k out+ tj(C)
순차적으로, 상기 j번째 모듈에서의 이탈 시간은 상기 도달 시간에 공정 시간 및 충돌 해결을 위해 신중히 삽입되는 큐들을 더한 것으로 다음과 같다.
Tijk out= Tijk in+ Pj+ qij(D)
상기 식(C)와 (D)의 재귀적 공식들은 이송에서의 상기 웨이퍼 이동을 정밀하게 알 수 있도록 한다. 그래서, 상기 이탈 구역의 마지막 웨이퍼가 진입되거나 이송되기 시작한 경우로부터 시간이 측정되고(도 11 참조), 상기 공정 모듈에서 웨이퍼의 도달 및 이탈은 이하의 알고리즘으로 계산된다. 상기 전송 이외의 도달 및 이탈 시간은 고려되지 않았으며, 그로인해 큰 음수 값들로 표시되었다.
이탈 구역의 웨이퍼들은 다음과 같다. 도 11 참조.
진입 구역의 웨이퍼들은 다음과 같다.
단계 4: 충돌 식별.상기 도달 시간 Tijk in과 이탈 시간 Tijk out을 결정하면서, 충돌을 검사할 수 있다. 공정 충돌은 j번째 공정 단계의 공정 모듈이 공정 시간보다 짧은 간격 내에서 한쌍(m번째와 n번째)의 웨이퍼를 동시에 처리해야 하는 경우 발생한다. 다시 말해서, n번째 웨이퍼가 상기 m번째 웨이퍼가 상기 모듈을 이탈하기 전에 도달한 것이다. 그래서, 다음이 참이면 충돌이 발생한다.
모든 공정 단계들에 대해서 (m,n) 쌍의 모든 가능한 조합을 실험하기위해 상기 논리적 선언을 이용하는 것으로 모든 공정 충돌들은 식별될 수 있다.
유사하게, 전송 충돌은 전송 시간보다 짧은 간격 내에서 k번째 로봇인 어떠한 로봇이 2개의 웨이퍼를 동시에 이동하도록 호출되는 경우 발생한다. 다시 말해서, m번째 웨이퍼의 도달과 n번째 웨이퍼의 이탈 간 간격이 상기 전송 시간보다 짧은것이다. 그래서, 다음이 참이면 전송 충돌이 발생한다.
상기에 있어서, 기호 ||는 절대값을 을 의미하며, "g"는 하나의 전송 이동을 하기위해 로봇에 할당된 시간이다. 상기 시간 "g"는 상기 로봇의 전송 시간보다 크거나 같다. 모든 공정 단계들에 대해서 (m,n) 쌍의 모든 가능한 조합을 실험하기위해 상기 논리적 선언을 이용하는 것으로 모든 전송 충돌들은 식별될 수 있다.
단계 5: 적절한 큐잉과 진입을 통한 충돌 해결.식들(E)에서 (G)까지에 있어서, 특정 로봇에의해 공정 모듈에서의 웨이퍼 도달과 이탈 시간을 연산하는데 필요한 변수들 중 3개를 아직 정의하지 않았다는 것을 유의하기 바란다. 이들은 의도적인 지연들로 큐들 qij ex, qij en그리고 진입 구역의 웨이퍼 진입 타이밍 SPi en이라 칭한다. 최적화된 절차들이 이러한 ㄷ가지 값들의 최적 조합들 찾는데 사용되며, 그로인해 충돌 없이 전체 큐를 최소화 할 수 있다. 유전 알고리즘들이 이러한 최적 절차들 중 하나이다. 다른 것들 역시 당 업자들에게는 명백할 것이다.
본 발명의 나열된 다양한 실시예들은 예시 및 설명을 위한 목적으로 나타내어진 것이다. 이는 설명한 구체적인 형태로 본 발명을 제한하기위한 것이 아니다. 많은 변경들 및 동등한 구성들은 명백한 것이다.
국부 시계들을 포함하는 클러스터 도구의 구조
본 발명에 사용되는 웨이퍼 클러스터 도구의 실시예는 도 13에 예시된다. 상기 클러스터 도구는 선형 순서로 배열된 직렬 공정모듈들(1300)을 포함한다. 웨이퍼 클러스터들은 본 명세서에서 이미 설명한 알고리즘들에 따라서 직렬의 공정 모듈들(1300)을 통해 이들을 전송하는 것으로 동작된다.
도 13에 예시된 실시예에 있어서, 각 공정 모듈들은 국부 시계(1302)를 포함한다. 상기 국부 시계는 상기 공정 모듈(1300)과 연결된 처리기에 존재한다. 상기 국부 시계들(1302)은 국부 지역 네트워크 또는 렌(LAN)(1306)을 통해 주 시계(1304)를 포함하는 서버와 연결된다. 본 발명의 실시예에 따르면, 상기 주 시계(1304)는 상기 국부 시계들(1302)을 주기적으로 핑(ping) 하는 것으로 상기 주 시계(1304)와 상기 국부 시계들(1302)을 동기화 시킨다.
상기 주 시계는 시간표(1308)와 연결된다. 상기 시간표(1308)는 상기 다수의 국부 시계들(1302)상에 기록된 시간들을 저장하는 데이터베이스를 포함한다. 상기 시간표(1308)는 상기 주 시계(1304)를 포함하는 상기 서버에 포함되거나 상기 주 시계(1304)와 연결된 외부 서버에 속한다. 상기 시간표(1308)는 스프레드 시트, 관련된 데이터베이스, 일반 파일, 또는 사용자 정의된 데이터 구조의 형태로 저장될 수 있으며, 당 업자에게는 명백한 일이다. 본 발명의 실시예에 있어서, 국부 시계들(1302) 또는 주 시계(1304)에의해 기록되는 상기 시간들은 상기 전송 주기를 단위로 저장된다.
본 발명의 어떠한 실시예에서, 웨이퍼 클러스터가 공정 모듈(1300)로 진입하는 각 시간 마다 상기 모듈의 국부 또는 내부 시계는 리셋되고 상기 시간표(1308)에 등록된다. 상기 시간표(1308)는 연속적으로 실시간 갱신되고, 그로인해 이는 상기 클러스터 도구의 국부 시계(1302)의 현재 기록을 유지한다. 주어진 모듈(1300)에 웨이퍼가 존재하는 전체 시간이 상기 스케쥴링 알고리즘에의해 기 설정되었기 때문에, 상기 시간표(1308)는 각 모듈(1300)에 대해서 웨이퍼 픽업 시간들을 식별할 수 있다.
클러스터 도구에서 로봇 선 위치설정
본 발명의 실시예들은 로봇이 이전 작접을 끝낸 직후 다가오는 모듈로 위치설정하는 것을 허용한다. 이러한 실시예에서, 상기 로봇은 상기 이전 작업의 종료 직후 서비스를 제공하기위해 상기 모듈의 전면으로 자신을 위치시킬 것이다. 모듈에서의 선위치설정 로봇들을 통해서, 상기 큐 시간을 초과하는 과다 대기시간이 없어지고, 그로인해 상기 클러스터 도구의 산출량이 개선된다. 이는 로봇이 상기 공정 스케쥴에 따라서 기 설정된 경로로 이동하는 것을 허용하고, 산출량 개선을 위해 로봇들에 어떠한 다중 그리퍼들을 부가할 필요성을 최소화 한다.
선 위치설정을 지원하는 본 발명의 실시예는 도 14에 예시된다. 상기 공정은 상기 클러스토 도구에 대한 예측 스케쥴을 생성하는 것(1400)으로 시작한다. 이는 로봇 충돌을 제거하기위해 모듈 공정 시간들에 큐들을 삽입하는 것을 포함하며, 이전에 설명한 선형 변환이나 유전 알고리즘에 의해 수행될 수 있다. 상기 예측할 수 있는 스케쥴은 주기적으로 동작하며, 하나의 전송 주기를 기간으로 한다. 로봇 (R)(1402)에의해 공정 단계(i)를 종료하면, 상기 클러스터 도구는 상기 시간표(1308)를 참조하고, 로봇(R)이 그 자신을 위치시키기 위해 공정 단계를 선택한다. 상기 단계(1404)는 공정 단계(j)를 피킹하는 것으로 포함하는데, 여기서 τj는 상기 주 시계(Tmaster) 상의 현재 시간의 십진(decimal) 부분에 근접하고, 공정 단계(j)는 현재 전송 주기에서 수행되지 않는다. 반복을 위해서 상기 단계(1404)는 다음을 포함한다.
j를 상기 시간표(1308)에서 선택하며, 여기서
τj는 Tmaster-INT(Tmaster)에 근접하고
그리고 단계 (j)는 현재 전송 주기에서 수행되지 않는다.
이러한 공정 단계(j)가 상기 시간표(1308)에서 발견되는 경우, 상기 로봇(R)은 공정 반응로(j)에 위치된다.
로봇 선 위치설정의 이점들
상기 기 설정된 공정 스케쥴(1400)을 상기 설명한 로봇 선 위치설정 알고리즘과 조합하는 것으로 상기 클러스터 도구의 개별 로봇들에 대한 경로가 예측 가능하다는 것은 당 업자에게 명백할 것이다. 상기 시간표(1308)이 실시간으로 갱신되고, 상기 스케쥴(1400)이 각 전송 주기에서 식별될 수 있기 때분에, 상기 시간표(1308)에 유지되는 τj값들의 집합은 각 전송 주기에서 식별 가능하다. 그래서, 각 로봇(R)에 대한 τj의 선택은 한 전송 주기의 간격들에서 반복될 수 있다. 그래서, 로봇(R)의 경로는 상기 클러스터 도구 스케쥴을 따라서 주기적으로 동작한다. 이는 각 로봇(R)의 경로가 상기 클러스터 도구 스케쥴(1400)의 생성에 따라서선 결정될 수 있도록 한다.
상기 설명된 선-위치설정 알고리즘은 상기 클러스터 도구의 산출량을 개선한다. 특히, 서비스될 각 모듈에서 이미 필요한 로봇이 그 앞에 위치된다. 이는 상기 로봇에 대해 요구되는 대기 시간을 없애고, 그로인해 층돌을 없애기위해 사용되는 큐를 넘어서는 지연을 제거한다. 선 위치설정을 통한 로봇의 잉여를 제거하면서, 상기 이미 설명된 대수적 기법들 또는 유전적 알고리즘에 따라서 큐 시간들의 최적화하는 것은 상기 클러스터 도구의 산출량을 최대화 한다.
로봇 선 위치설정은 시스템이 단일 그리퍼 로봇을 사용할 수 있도록 한다. 상세히 말하면, 다중 그리퍼 로봇들은 로봇의 전송 수를 최소화 도록 웨이퍼 교환을 허용하기위해 종래 기술에 전형적으로 사용되다. 이는 상기 클러스터 도구에 부가적인 제한을 가하는데, 이중 그리퍼들을 가진 로봇들은 교환을 위해 하나의 그리퍼에 웨이퍼를 가지고 있어야 한다. 이는 상기 클러스터 도구의 성능을 제한한다. 또한, 상기 교환은 모듈들 간의 전송 시간을 증가시키고, 상기 클러스터 도구의 산출량을 더욱 느리게 할 수 도 있다.
로봇 대기 시간을 없애는 것으로, 로봇 선 위치설정을 통한 상기 산출량의 개선은 웨이퍼 교환을 수행할 필요성을 최소화 한다. 그래서, 상기 클러스터 도구는 단일 그리퍼를 가진 로봇들을 사용한다. 이는 로봇을 단순화 시키고, 상기 로봇들에서 보드 상 공정에 대한 필요성을 최소화한다.

Claims (26)

  1. 웨이퍼 클러스터 도구에 있어서 이는,
    웨이퍼들을 처리하기 위한 다수의 공정 스테이션들과, 각 공정 스테이션들은,
    공정 반응로와,
    상기 공정 반응로와 연결된 국부 시계들을 포함하고,
    각 공정 스테이션의 국부 시계와 통신하는 주 서버를 포함하고, 상기 주 서버는,
    주 시계와,
    시간표 소프트웨어를 포함하며, 여기서 상기 시간표 소프트웨어는 다수의 공정 스테이션들의 각 시계들에 대한 국부 시간을 기록하는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  2. 제 1항에 있어서, 각 공정 스테이션은,
    상기 공정 스테이션과 연결되는 CPU를 포함하며, 상기 공정 반응로와 연결되는 상기 국부 시계는 상기 CPU에 포함되는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  3. 제 2항에 있어서,
    국부 지역 네트워크를 더 포함하며, 여기서 상기 주 서버는 상기 국부 지역 네트워크를 통해 각 공정 스테이션의 CPU와 연결되는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  4. 제 3항에 있어서,
    상기 주 서버와 연결되는 CPU를 더 포함하며, 여기서 상기 주 시계는 상기 주 서버와 연결되는 CPU에 포함되는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  5. 제 1항에 있어서, 상기 시간표 소프트웨어는 관련되는 데이터베이스를 포함하는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  6. 제 1항에 있어서, 상기 주 서버는 인터넷을 통해 각 공정 스테이션의 CPU와 연결되는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  7. 제 1항에 있어서, 상기 시간표 소프트웨어는 스프레드 시트를 포함하는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  8. 제 7항에 있어서, 상기 시간표 소프트웨어는 실시간 갱신되는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  9. 제 1항에 있어서, 상기 주 서버는 상기 클러스터 도구를 위한 스케쥴링 소프트웨어를 더 포함하는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  10. 제 9항에 있어서, 상기 스케쥴링 소프트웨어는 상기 클러스터 도구를 위한 기 설정된 스케쥴을 포함하는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  11. 제 10항에 있어서, 상기 기 설정된 스케쥴은 고정된 전송 주기에 따라서 주기적인 것을 특징으로 하는 웨이퍼 클러스터 도구.
  12. 제 11항에 있어서, 각 공정 스테이션의 국부 시계들 상에 기록되는 시간은 상기 전송 주기를 단위로 측정되는 것을 특징으로 하는 웨이퍼 클러스터 도구.
  13. 웨이퍼 클러스터 도구를 동기화 하는 방법에 있어서, 상기 웨이퍼 클러스터 도구는 다수의 공정 모듈을 포함하는데, 상기 방법은,
    a) 상기 웨이퍼 클러스터 도구에 대해서 전송 주기의 주기성을 가지는 예측적 스케쥴을 생성하는 단계와,
    b) 상기 스케쥴에 따라서 상기 클러스터 도구의 제 1공정 모듈로 제 1 웨이퍼 셋을 적재하는 단계와,
    c) 제 1공정 모듈에 제 1웨이퍼 셋을 적재하면 상기 제 1공정 모듈과 연결되는 제 1국부 시계를 재설정하는 단계와,
    d) 시간표의 제 1국부 시계로부터 제 1시간을 기록하는 단계와, 상기 시간표는 다수의 공정 모듈들과 연결되고, 제 1시간은 전송 주기를 단위로 측정되며,
    e) 상기 스케쥴에 따라서 상기 클러스터 도구의 제 2공정 모듈로 제 2웨이퍼 셋을 적재하는 단계와,
    f) 상기 제 2공정 모듈에 제 2웨이퍼 셋을 적재하면 상기 제 2공정 모듈과 연결되는 제 2국부 시계를 재설정하는 단계와,
    g) 시간표의 제 2국부 시계로부터 전송 주기를 단위로 제 2시간을 기록하는 단계를 포함하는 것을 특징으로 하는 웨이퍼 클러스터 도구 동기화 방법.
  14. 제 13항에 있어서,
    h) 상기 제 1웨이퍼 셋을 적재한 다음 하나의 전송주기가 지나면 제 3웨이퍼 셋을 상기 스케쥴에 따라서 제 1 공정 모듈로 적재하는 단계를 더 포함하는 것을 특징으로 하는 웨이퍼 클러스터 도구 동기화 방법.
  15. 제 14항에 있어서,
    i) 제 3웨이퍼 셋을 적재하면, 상기 제 1공정 모듈과 연결된 제 1국부 시계를 재설정하는 단계를 더 포함하는 것을 특징으로 하는 웨이퍼 클러스터 도구 동기화 방법.
  16. 제 15항에 있어서,
    j) 상기 시간표의 제 1국부 시계로부터 전송 주기를 단위로 하는 제 3시간을 기록하는 단계를 더 포함하는 것을 특징으로 하는 웨이퍼 클러스터 도구 동기화 방법.
  17. 웨이퍼 클러스터 도구의 로봇 위치설정 방법에 있어서, 상기 웨이퍼 클러스터 도구는 제 1공정 모듈, 제 2공정 모듈, 그리고 제 3공정 모듈을 포함하며, 상기 방법은,
    상기 웨이퍼 클러스터 도구에 대한 예측 스케쥴을 생성하는 단계와, 상기 스케쥴은 전송 주기로 전의되는 주기성을 가지며, 상기 스케쥴은 상기 클러스터 도구의 제 1모듈에 대한 제 1픽업 시간과 제 3모듈에 대한 제 2픽업 시간을 가지고, 제 2픽업 시간은 상기 제 1픽업 시간 이후 발생하며, 상기 예측 스케쥴은 제 1 사건과 제 2사건을 포함하는데, 상기 제 1 및 제 2사건들은 상기 전송 주기가 동일해 지도록 시간 연장하는 것으로 분리되며,
    제 1 사건에서 클러스터 도구의 제 1웨이퍼를 적재하는 단계와,
    로봇으로 제 1모듈에서 제 2웨이퍼를 픽업하는 단계와, 상기 제 2웨이퍼를 픽업하는 단계는 상기 제 1 및 제 2사건 사이에서 발생하며,
    상기 제 2 사건이 발생하기 전에 로봇을 통해 상기 제 2 웨이퍼를 상기 제1 모듈에서 제 2 모듈로 전송하는 단계와,
    상기 제 2웨이퍼를 전송한 직후, 상기 로봇을 제 3모듈에 위피시키는 단계를 포함하며, 상기 제 3모듈로의 로봇 위치설정은 상기 제 2픽업 시간 전에 발생하는것을 특징으로 하는 로봇 위치설정 방법.
  18. 제 17항에 있어서,
    제 2사건 전에 로봇을 이용하여 제 2웨이퍼를 제 3모듈에서 제 4모듈로 전송하는 것을 특징으로 하는 로봇 위치설정 방법.
  19. 제 18항에 있어서, 상기 로봇은 내부 베이(bay) 전송 팔인 것을 특징으로 하는 로봇 위치설정 방법.
  20. 제 18항에 있어서, 상기 스케쥴의 생성은 선형 변환을 통해 완성되는 것을 특징으로 하는 로봇 위치설정 방법.
  21. 제 18항에 있어서, 상기 스케쥴의 생성은 유전 알고리즘으로 완성되는 것을 특징으로 하는 로봇 위치설정 방법.
  22. 제 17항에 있어서, 상기 제 1모듈은 제 1국부 시계와 연결되고, 상기 제 2모듈은 제 2국부 시계와 연결되며, 상기 제 3모듈은 제 3국부 시계와 연결되고, 제 4모듈은 제 4국부 시계와 연결되는 것을 특징으로 하는 로봇 위치설정 방법.
  23. 제 17항에 있어서, 상기 제 1, 제 2, 제 3, 그리고 제 4 모듈들은 국부 지역네트워크와 연결되는 것을 특징으로 하는 로봇 위치설정 방법.
  24. 제 17항에 있어서, 상기 로봇은 단 하나의 그리퍼를 가지는 것을 특징으로 하는 로봇 위치설정 방법.
  25. 웨이퍼 클러스터 도구의 로봇 위치설정 방법에 있어서, 상기 웨이퍼 클러스터는 다수의 공정 모듈들을 포함하고, 상기 웨이퍼 클러스터는 제 1로봇과 제 2로봇을 포함하며, 상기 웨이퍼 클러스터 도구는 주기적 스케쥴에 따라 동작하고, 상기 주기적 스케쥴은 전송 주기로 정의되며, 상기 방법은,
    a) 다수의 공정 모듈들의 제 1공정 모듈로부터 제 1웨이퍼를 제 1로봇을 이용하여 다수의 모듈들 중 제 2모듈로 전송하는 단계와,
    b) 단계a 직후, 상기 제 1로봇을 제 3공정 모듈에 위치시키는 단계와,
    c) 다수의 공정 모듈들의 제 3공정 모듈로부터 제 2웨이퍼를 제 2로봇을 이용하여 다수의 모듈들 중 제 4모듈로 전송하는 단계와,
    d) 단계c 직후, 상기 제 2로봇을 제 5공정 모듈에 위치시키는 단계와,
    여기서 단계 a에서 d는 제 1시간 간격 내에서 실시되고, 상기 제 1시간 간격은 전송 주기와 동일한 길이를 가지는 것을 특징으로 하는 로봇 위치설정 방법.
  26. 제 25항에 있어서, 상기 제 1로봇과 제 2로봇 각각은 단 하나의 그리퍼를 가지는 것을 특징으로 하는 로봇 위치설정 방법.
KR10-2001-7016613A 1999-06-23 2000-06-23 웨이퍼 공정 시스템에서 로봇의 선 위치결정 KR100508680B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14066199P 1999-06-23 1999-06-23
US60/140,661 1999-06-23

Publications (2)

Publication Number Publication Date
KR20020019109A true KR20020019109A (ko) 2002-03-09
KR100508680B1 KR100508680B1 (ko) 2005-08-17

Family

ID=22492250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7016613A KR100508680B1 (ko) 1999-06-23 2000-06-23 웨이퍼 공정 시스템에서 로봇의 선 위치결정

Country Status (7)

Country Link
EP (1) EP1188097B1 (ko)
JP (4) JP2003502877A (ko)
KR (1) KR100508680B1 (ko)
AT (1) ATE320033T1 (ko)
AU (1) AU5636600A (ko)
DE (1) DE60026527T2 (ko)
WO (1) WO2000079356A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002184671A (ja) * 2000-12-14 2002-06-28 Tokyo Electron Ltd 基板処理システム及び基板処理方法
AU2002346098A1 (en) * 2001-07-13 2003-01-29 Fsi International Robotic system control
JP4492875B2 (ja) * 2005-06-21 2010-06-30 東京エレクトロン株式会社 基板処理システム及び基板処理方法
JP5275058B2 (ja) * 2009-01-23 2013-08-28 株式会社Sokudo 基板処理装置
US9927725B2 (en) 2015-02-16 2018-03-27 Canon Kabushiki Kaisha Lithography apparatus, lithography method, program, lithography system, and article manufacturing method
JP6198805B2 (ja) * 2015-02-16 2017-09-20 キヤノン株式会社 リソグラフィ装置、リソグラフィ方法、プログラム、リソグラフィシステムおよび物品製造方法
CN111923066B (zh) * 2020-08-14 2021-11-12 北京北方华创微电子装备有限公司 一种晶圆清洗设备中的工艺调度方法、装置
CN113299587B (zh) * 2021-05-21 2022-04-26 无锡亚电智能装备有限公司 一种晶圆清洗工艺任务排列方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3115297B2 (ja) * 1989-10-09 2000-12-04 キヤノン株式会社 自動装置の制御装置
JPH0512300A (ja) * 1990-12-18 1993-01-22 Nec Yamaguchi Ltd 半導体装置製造における実績表示方法
JPH053174A (ja) * 1991-06-26 1993-01-08 Fujitsu Ltd 半導体装置の製造方法
JPH06176030A (ja) * 1992-12-03 1994-06-24 Toshiba Corp 生産スケジューリングシステム
US5428555A (en) * 1993-04-20 1995-06-27 Praxair, Inc. Facility and gas management system
JPH07171478A (ja) * 1993-12-20 1995-07-11 Dainippon Screen Mfg Co Ltd 基板処理装置
KR100372925B1 (ko) * 1994-01-19 2003-03-19 동경 엘렉트론 주식회사 통신방법및장치
JP2982038B2 (ja) * 1994-04-01 1999-11-22 東京エレクトロン株式会社 被処理体の処理のスケジューリング方法及びその装置
JP3592771B2 (ja) * 1994-12-07 2004-11-24 大日本スクリーン製造株式会社 基板処理装置
JPH08222616A (ja) * 1995-02-13 1996-08-30 Dainippon Screen Mfg Co Ltd 基板処理装置
US5591299A (en) * 1995-04-28 1997-01-07 Advanced Micro Devices, Inc. System for providing integrated monitoring, control and diagnostics functions for semiconductor spray process tools
JPH08315017A (ja) * 1995-05-15 1996-11-29 Sanyo Electric Co Ltd 生産スケジュール作成方法
TW372926B (en) * 1996-04-04 1999-11-01 Applied Materials Inc Method and system of processing semiconductor workpieces and robot for use in said system
JPH09282359A (ja) * 1996-04-09 1997-10-31 Nippon Telegr & Teleph Corp <Ntt> ジョブショップスケジューリング装置
JPH09326338A (ja) * 1996-06-04 1997-12-16 Nikon Corp 製造管理装置
US5801945A (en) * 1996-06-28 1998-09-01 Lam Research Corporation Scheduling method for robotic manufacturing processes
US5928389A (en) * 1996-10-21 1999-07-27 Applied Materials, Inc. Method and apparatus for priority based scheduling of wafer processing within a multiple chamber semiconductor wafer processing tool
JP3684056B2 (ja) * 1996-11-15 2005-08-17 株式会社日立国際電気 半導体製造装置の基板搬送制御方法
JPH10256342A (ja) * 1997-03-06 1998-09-25 Kokusai Electric Co Ltd 搬送制御方法
US6201999B1 (en) * 1997-06-09 2001-03-13 Applied Materials, Inc. Method and apparatus for automatically generating schedules for wafer processing within a multichamber semiconductor wafer processing tool
JP3771050B2 (ja) * 1997-06-20 2006-04-26 東京エレクトロン株式会社 制御システム
US6292708B1 (en) * 1998-06-11 2001-09-18 Speedfam-Ipec Corporation Distributed control system for a semiconductor wafer processing machine
ATE302438T1 (de) * 1998-12-31 2005-09-15 Silicon Valley Group Verfahren zum synchronisieren eines substratbehandlungssystems

Also Published As

Publication number Publication date
JP4800191B2 (ja) 2011-10-26
JP2007214551A (ja) 2007-08-23
JP2003502877A (ja) 2003-01-21
WO2000079356A2 (en) 2000-12-28
DE60026527D1 (de) 2006-05-04
EP1188097B1 (en) 2006-03-08
WO2000079356A3 (en) 2001-08-09
JP2007305988A (ja) 2007-11-22
JP2007165913A (ja) 2007-06-28
DE60026527T2 (de) 2006-10-19
ATE320033T1 (de) 2006-03-15
EP1188097A2 (en) 2002-03-20
AU5636600A (en) 2001-01-09
JP4733011B2 (ja) 2011-07-27
KR100508680B1 (ko) 2005-08-17

Similar Documents

Publication Publication Date Title
JP4903553B2 (ja) ウェーハ処理システムのレシピ・カスケーディング
JP4621698B2 (ja) 基板処理システムを同期化させるための方法及び装置
US6865437B1 (en) Robot pre-positioning in a wafer processing system
US6694218B2 (en) Method and apparatus for resolving conflicts in a substrate processing system
Johri Practical issues in scheduling and dispatching in semiconductor wafer fabrication
JP4800191B2 (ja) ウェーハ処理システムにおけるロボットの事前配置
US20080051929A1 (en) Scheduling method for processing equipment
US20080014058A1 (en) Scheduling method for processing equipment
US20080051930A1 (en) Scheduling method for processing equipment
JP2001326152A (ja) 製造のために半導体ロットを製造装置に発送するシステム及び方法
KR102302724B1 (ko) 기판 라우팅 및 스루풋 모델링을 위한 그래픽 처리 유닛의 사용
KR20010101334A (ko) 기판 처리 시스템 동기화를 위한 방법 및 장치
Cho et al. Autonomous distributed scheduling adjustment function with interchanging operations
Shr et al. Scheduling for Dedicated Machine Constraint

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130726

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140801

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160729

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 13