KR20180005843A - 기판 처리 장치 및 기판 처리 장치의 스케줄링 방법 - Google Patents

기판 처리 장치 및 기판 처리 장치의 스케줄링 방법 Download PDF

Info

Publication number
KR20180005843A
KR20180005843A KR1020160086012A KR20160086012A KR20180005843A KR 20180005843 A KR20180005843 A KR 20180005843A KR 1020160086012 A KR1020160086012 A KR 1020160086012A KR 20160086012 A KR20160086012 A KR 20160086012A KR 20180005843 A KR20180005843 A KR 20180005843A
Authority
KR
South Korea
Prior art keywords
modules
substrate
operations
scheduler
priority
Prior art date
Application number
KR1020160086012A
Other languages
English (en)
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 인베니아 주식회사
Priority to KR1020160086012A priority Critical patent/KR20180005843A/ko
Publication of KR20180005843A publication Critical patent/KR20180005843A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67011Apparatus for manufacture or treatment
    • H01L21/67155Apparatus for manufacturing or treating in a plurality of work-stations
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67011Apparatus for manufacture or treatment
    • H01L21/67155Apparatus for manufacturing or treating in a plurality of work-stations
    • H01L21/67201Apparatus for manufacturing or treating in a plurality of work-stations characterized by the construction of the load-lock chamber
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67242Apparatus for monitoring, sorting or marking
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/677Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for conveying, e.g. between different workstations
    • H01L21/67739Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for conveying, e.g. between different workstations into and out of processing chamber
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/677Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for conveying, e.g. between different workstations
    • H01L21/67739Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere for conveying, e.g. between different workstations into and out of processing chamber
    • H01L21/67742Mechanical parts of transfer devices
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/30Structural arrangements specially adapted for testing or measuring during manufacture or treatment, or specially adapted for reliability measurements

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • General Factory Administration (AREA)

Abstract

본 발명의 일 양태는 기판 처리 장치를 개시하고 있다. 상기 장치는 기판을 처리하는 복수 개의 모듈들 및 상기 복수 개의 모듈들의 동작을 제어하는 스케줄러(scheduler)를 포함하되, 상기 스케줄러는 상기 복수 개의 모듈들의 동작들 각각을 정의하고, 상기 정의된 동작들 각각에 대해 우선순위 값을 할당하며, 상기 각 동작에 할당된 우선순위 값을 상대적으로 비교하여 상기 복수 개의 모듈들의 동작을 제어한다.

Description

기판 처리 장치 및 기판 처리 장치의 스케줄링 방법{SUBSTRATE PROCESSING APPARATUS AND SCHEDULING METHOD OF THE SAID}
본 발명은 기판 처리 장치 및 기판 처리 장치의 스케줄링 방법에 관한 것으로, 보다 상세하게는 기판 처리에 대해 효율적인 스케줄링을 제공하기 위한 장치 및 방법에 관한 것이다.
기판 처리 장치에서 반도체 공정을 처리하는 여러 모듈의 효율적인 동작을 위해 스케줄러를 활용한다. 기판 처리 장치에서의 스케줄러는 기판 처리 공정에 사용되는 다수의 모듈들의 처리 순서 및 처리 시간 등을 조정하여 효율적인 동작이 이루어지도록 한다. 이를 보통 LCD(Liquid Crystal Display) 및 반도체 분야에서는 CTC(Cluster Tool Controller)라고 한다.
다만, 기판 처리 공정에서 활용되는 종래 스케줄러는 다양한 모듈에 대한 제어 명령을 최초 코딩된 대로 순차적으로 확인하면서 동작 조건이 만족되면 즉시 해당 동작을 수행하는 모듈에게 명령을 전달하여 동작이 취해지게 하고, 이를 처음부터 최종 모듈까지 진행하고, 한 사이클이 끝나면 다시 최초 모듈부터 제어명령을 순차적으로 확인하는 방식으로 운용되었다.
다만, 종래의 스케줄러는 A라는 동작을 수행하다가 B라는 동작을 수행하도록 변경하려면 많은 코딩 작업과 검증을 위한 시간이 요구된다는 문제점이 있다. 그로 인해, 프로그램 수정으로 인한 인원 배정, 경비 지출, 대응이 늦어져 전체적인 프로세스의 효율이 떨어지는 문제점이 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 목적은 다양한 기판 처리 공정 모듈 제어 명령을 순차적으로 확인하면서 해당 조건 만족시 동작을 바로 취하지 않고 액션 아이템(action item)으로 등록하였다가 등록된 액션 아이템의 우선순위(priority) 값을 참조하여 동작을 수행시키는 스케줄러를 포함하는 기판 처리 장치를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른 기판 처리 장치는 기판을 처리하는 복수 개의 모듈들 및 상기 복수 개의 모듈들의 동작을 제어하는 스케줄러(scheduler)를 포함하되, 상기 스케줄러는 상기 복수 개의 모듈들의 동작들 각각을 정의하고, 상기 정의된 동작들 각각에 대해 우선순위 값을 할당하며, 상기 각 동작에 할당된 우선순위 값을 상대적으로 비교하여 상기 복수 개의 모듈들의 동작을 제어할 수 있다.
또한, 상기 스케줄러는 상기 복수 개의 모듈들의 각 동작의 정의 및 동작별 우선순위 값을 관리하는 스케줄러 관리 프로그램을 이용할 수 있다.
또한, 상기 스케줄러는 상기 동작들 각각의 동작 조건 만족 여부를 판단하여 상기 동작들 각각의 실행 예정 동작으로의 등록 여부를 판단하고, 등록된 동작들의 우선순위 값을 비교하여 상기 모듈의 동작을 제어할 수 있다.
더욱이, 상기 스케줄러는 특정 동작에 대한 동작 조건이 만족되는 경우, 상기 특정 동작에 대한 제어명령을 즉시 전달하지 않고 실행 예정 동작으로 등록할 수 있다.
또한, 상기 스케줄러는 상기 복수 개의 모듈들의 모든 동작들 각각에 대해 실행 예정 동작으로의 등록 여부를 판단한 이후, 등록된 동작들의 우선순위 값을 비교하여 상기 복수 개의 모듈들의 동작을 제어할 수 있다.
추가적으로, 상기 복수 개의 모듈들의 동작들에 대한 정의 및 우선순위 값 중 적어도 하나는 사용자 인터페이스를 통해 가변될 수 있다.
또한, 스케줄러의 동작 중지(pause) 요청, 동작 재실행(resume) 요청 및 상기 사용자 인터페이스를 통해 변경된 우선순위 값을 재적용시키는 우선순위 업데이트 요청(priority update request) 중 적어도 하나를 사용자 인터페이스를 통해 입력할 수 있다.
또한, 상기 복수 개의 모듈들은 재료 이송 로봇, 로드락(Loadlock) 모듈 및 프로세스 챔버 중 적어도 하나를 포함할 수 있다.
더욱이, 상기 복수 개의 모듈의 동작들은 상기 로드락 모듈을 대기압 상태로 만드는 벤트(Vent) 동작, 기판을 상기 프로세스 챔버로 투입 또는 배출하기 위해 상기 로드락 모듈을 진공 상태로 만드는 펌프(pump) 동작, 상기 반도체 설비 안팍으로 상기 기판을 투입 또는 배출하기 위한 이송(transfer) 동작, 상기 로드락 모듈과 상기 재료 이송 로봇 사이에서 상기 기판을 이송시키기 위한 로드락 모듈 기판 이송 동작 및 상기 프로세스 챔버와 상기 재료 이송 로봇 사이에서 상기 기판을 이송시키기 위한 프로세스 챔버 기판 이송 동작 중 적어도 하나를 포함할 수 있다.
추가적으로, 상기 로드락 모듈에서 기판을 배출 또는 투입하기 위해 상기 재료 이송 로봇을 회전시키는 동작(LLx Rotate)의 우선순위 값보다 상기 로드락 모듈 기판 이송 동작 중 상기 로드락 모듈에서 기판을 배출하는 동작(LLx Pick)의 우선순위 값이 더 높을 수 있다.
대체가능하게, 상기 스케줄러는 상기 복수 개의 모듈들의 동작들에 대한 정의 및 우선순위 값을 저장하고 있는 스토리지 및 상기 복수 개의 모듈들의 동작들에 대한 우선순위를 비교하여 비교 결과에 따라 상기 복수 개의 모듈들이 동작을 수행하도록 제어 명령을 제공하는 제어부를 포함할 수 있다.
또한, 상기 스케줄러는 기판의 상태 변화를 모니터링하는 모니터링부를 더 포함하되, 상기 제어부는 모니터링된 기판의 상태에 따라 상기 우선순위 값을 변경할 수 있다.
더욱이, 상기 스토리지는 기판의 상태에 따른 우선순위 값 세트를 복수 개 유지하며, 상기 제어부는 상기 모니터링된 기판의 상태에 대응되는 우선순위 값 세트를 인출할 수 있다.
또한, 이격하여 위치한 원격 디바이스에 의해 상기 우선순위 값이 가변될 수 있다.
추가적으로, 상기 스케줄러는 클러스터 툴 콘트롤러(CTC: Cluster Tool Controller)일 수 있다.
상기한 목적을 달성하기 위한 본 발명의 다른 양태에 따른 기판 처리 장치의 스케줄링 방법은 기판을 처리하는 복수 개의 모듈들의 동작들 각각을 정의하는 단계, 상기 정의된 동작들 각각에 대해 우선순위 값을 할당하는 단계 및 상기 각 동작에 할당된 우선순위 값을 상대적으로 비교하여 상기 복수 개의 모듈들의 동작을 제어하는 단계를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 또 다른 양태에 따른 기판 처리 장치는 기판을 처리하는 복수 개의 모듈들 및 상기 복수 개의 모듈들의 동작을 제어하는 스케줄러(scheduler)를 포함하되, 상기 스케줄러는 상기 복수 개의 모듈들의 동작들 각각을 정의하고, 상기 정의된 동작들 각각에 대해 체제시간 값 및 공정시간 값을 할당하며, 상기 각 동작에 할당된 체제시간 값 및 공정시간 값 중 적어도 하나를 이용하여 상기 복수 개의 모듈들의 동작을 제어할 수 있다.
본 발명의 일 양태에 따른 기판 처리 장치에 따르면, 동작의 추가가 없는 이상 코드 수정 없이 수행 순서를 용이하게 변경할 수 있고, 스케줄링 중에도 변경이 가능하여 비효율적 공정에 대한 빠른 대응을 가능케 하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 기판 처리 장치의 구성을 개략적으로 나타낸 도면,
도 2는 팹(FAB: FABrication facility)로부터 이격하여 위치한 오피스(office)로부터 스케줄러가 원격 조종되는 반도체 공정 시스템을 나타낸 블록도,
도 3a는 다양한 모듈 제어 명령을 확인하면서 바로 동작을 취하는 방식의 우선순위 스케줄링 모드를 나타낸 흐름도,
도 3b는 본 발명의 일 실시예에 따라, 모듈 제어 명령을 순차적으로 확인 뒤 우선순위 값을 고려하여 제어명령을 제공하는 방식의 우선순위 스케줄링 모드를 나타낸 흐름도,
도 4a는 본 발명의 일 실시예에 따른 기판 처리 장치의 스케줄러에서 정의하고 있는 동작들을 설명하기 위한 개념도,
도 4b는 본 발명의 일 실시예에 따른 기판 처리 장치의 스케줄러에서 관리하는 스케줄러 관리 프로그램을 설명하기 위한 개념도,
도 5는 본 발명의 일 실시예에 따른 기판 처리 장치의 스케줄러의 구성을 구체적으로 나타낸 상세블록도,
도 6a 내지 6c는 본 발명의 일 실시예에 따른 기판 처리 장치의 스케줄러가 저장하고 있는 각 모듈들의 동작 순서 배열을 설명하기 위한 개념도,
도 7a는 효율적이지 못한 우선순위 값을 가질 경우의 기판 처리 장치의 동작을 설명하기 위한 개념도,
도 7b는 최적화된 우선순위 값을 가질 경우의 기판 처리 장치의 동작을 설명하기 위한 개념도,
도 8은 종래 방식에 따른 스케줄링 모드 적용 결과와 본 발명의 일 실시예에 따른 스케줄링 모드 적용 결과를 비교한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 기판 처리 장치의 구성을 개략적으로 나타낸 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 기판 처리 장치는 스케줄러(100) 및 복수 개의 모듈(110-1~2, 120-1~3, 130)을 포함할 수 있다.
도 1을 참조하면, 스케줄러(100)는 복수 개의 모듈(110-1~2, 120-1~3, 130)의 동작을 제어하여 전체 기판 처리 장치를 동작시키는 기능을 수행한다. 스케줄러(100)는 복수 개의 모듈(110-1~2, 120-1~3, 130)의 동작을 액션 아이템(action item)으로써 각각 정의하여 저장하고 있고, 각 액션 아이템의 우선순위 값을 저장하여 우선순위 값에 따라 복수 개의 모듈(110-1~2, 120-1~3, 130)에게 제어명령을 전송한다. 스케줄러(100)는 복수 개의 모듈(110-1~2, 120-1~3, 130)을 제어하는 유닛으로써 상기 복수 개의 모듈(110-1~2, 120-1~3, 130)과 별도로 구성된 컴퓨팅 디바이스로 구현될 수 있고, 또는 상기 복수 개의 모듈(110-1~2, 120-1~3, 130)이 구성하는 기판 처리 장치 내에 포함된 프로세서로써 구현될 수 있다. 스케줄러(100)는 모듈들(110-1~2, 120-1~3, 130)과의 정보 교환을 위해 통신 기능을 가질 수 있다. 여기서, 스케줄러(100)에 적용되는 통신 기술로는 TCP/IP, UDP, FTP, RS232/422/485, 산엉용이더넷, 필드버스 등의 통신 기술이 포함될 수 있다.
본 발명의 일 실시예에 따르면, 스케줄러(100)는 적어도 하나 이상의 재료 이송 로봇(130: Marerial Transfer Robot)과 다수의 처리 모듈(110-1~2, 120-1~3)로 구성된 클러스터 툴(Cluster Tool)을 제어하는 CTC(Cluster Tool Controller)일 수 있다. 스케줄러(100)는 전체 시스템을 동작시키기 위해 각 모듈(110-1~2, 120-1~3, 130)의 현 상태를 실시간으로 모니터링하여 각 모듈(110-1~2, 120-1~3, 130)에게 제어명령을 전달하고 생성되는 다양한 데이터를 수집하여 상위 제어 프로그램에게 데이터를 전송할 수 있다. 스케줄러는 재료 이송과 전체작업시간(TACT: Total Average Cycle Time)을 관리한다. 스케줄러(100)는 모듈들(110-1~2, 120-1~3, 130)의 대기시간을 최소화하여 수율을 극대화하는 방향으로 운용되는 것이 바람직하다.
복수 개의 모듈들(110-1~2, 120-1~3, 130)은 실질적으로 기판에 대한 반도체 공정을 수행하는 모듈들이다. 복수 개의 모듈들(110-1~2, 120-1~3, 130)은 건식 식각 장치(dry etcher)일 수 있다. 이에 따른 복수 개의 모듈들(110-1~2, 120-1~3, 130)은 로드락(Load Lock: L/L) 모듈(110-1~2), 프로세스 챔버(120-1~3) 및 재료이송 로봇(130)을 포함할 수 있다.
이러한 복수 개의 모듈들(110-1~2, 120-1~3, 130)은 클러스터 툴을 구성하는데, 이는 운송장치와 높은 정밀도를 가진 환경의 플랫폼이 기계적으로 결합되어 있는 장치이다. 로드락 모듈(110-1~2)은 장치 외부로부터 제공되는 기판을 반입 또는 반출한다. 프로세스 챔버(120-1~3)는 각각 기판에 대한 개별 공정을 수행하는 모듈이다. 물리적으로 하나의 프로세서 챔버(120-1~3)는 하나의 기판만을 가공할 수 있다. 프로세스 챔버(120-1~3)는 3개 이상일 수 있고, 이는 가스 공급/배출기, 스퍼터(soft sputter), CVD 모듈(Chemical Vapor Deposition), PVD 모듈(Physical Vapor Deposition), 급속열처리 장치(RTP) 등을 포함할 수 있다. 재료이송로봇(130)은 로드락 모듈(110-1~2) 및 프로세스 챔버(120-1~3) 중 하나로부터 기판을 반입하여 이송한 후 타 모듈로 반출하는 기능을 수행하는 모듈이다. 본 발명에 있어서, 재료(material)는 기판(substrate)을 의미할 수 있고, 이는 글래스(glass) 및 웨이퍼(wafer)를 포함할 수 있다.
따라서, 각 기판의 공정시작 시간을 결정하기 위한 고려 순서의 배열에 따라 사이클 타임이 달라질 수 있다. 따라서, 본 발명의 일 실시예에 따른 스케줄러(100)는 순서에 대한 고려를 통해 효율적인 공정이 이루어지도록 할 수 있다.
이러한 클러스터 장치의 수는 제한적이고 로봇이 반복적인 작업하기 때문에, 스케줄링 문제가 단순해 보일 수 있으나, 작업 중간에 기판을 놔둘 중간버퍼(intermediate buffer)가 없고, 일부 공정의 경우, 일정시간 내에 프로세스 챔버(120-1~3)에서 꺼내야하는 시간제약이 존재하므로 효율적인 스케줄링은 쉽지 않다.
스케줄러(100)는 각 모듈들(110-1~2, 120-1~3, 130)의 동작들의 체제시간 및 공정시간을 관리할 수 있다. 여기서, 체제시간이란 공전 진행 완료된 기판이 챔버 내에 대기하는 시간을 의미할 수 있다. 예컨대, 공정 완료된 기판이 언로드(Unload)되지 않고 대기를 지속하는 상태, 공정 완료된 기판이 언로드되고 있는 상태를 의미할 수 있다. 반대로, 공정시간을 로드 완료 후, 공정이 진행중인 상태를 의미할 수 있다. 체제시간은 기판의 품질에 영향을 미칠 수 있으므로, 적절한 체제시간 및 공정시간을 각 모듈들(110-1~2, 120-1~3, 130)이 갖도록 스케줄 표를 구성하는 것은 중요하다. 본 발명의 일 실시예에 따른 스케줄러(100)는 각 모듈들(110-1~2, 120-1~3, 130)의 동작들과 관련된 상태 정보(예컨대, 모듈의 상태 또는 모듈에 의해 처리되는 기판의 상태)를 기반으로 각 동작의 체제시간 및 공정시간을 결정할 수 있다.
도 2는 팹(FAB: FABrication facility)로부터 이격하여 위치한 오피스(office)로부터 스케줄러가 원격 조종되는 반도체 공정 시스템을 나타낸 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 반도체 공정 시스템은 원격 디바이스(252), 스케줄러(210), 스위치(220) 및 다수의 모듈(230-1~3)을 포함할 수 있다.
도 2를 참조하면, 반도체 공정 시스템은 실제 기판 처리 프로세스를 운영하는 팹(200) 장비와 장비 모니터링 및 생산 관리를 위한 오피스(250) 내 디바이스(252)를 포함할 수 있다.
팹(200)은 스케줄러(210), 스위치(220) 및 다수의 모듈(230-1~3)을 포함할 수 있다. 팹(200) 내에서 스케줄러(210)는 제어명령을 스위치(220)를 통해 제어대상 모듈(230-1~3)로 전송할 수 있다. 제어대상 모듈(230-1~3)은 각각의 모듈을 제어하기 위한 컴퓨팅 디바이스일 수 있다. 팹(200) 내의 구성요소간의 통신은 TCP/IP 통신을 이용할 수 있다. 스위치(220)는 스케줄러(210)와 제어대상 모듈(230-1~3) 사이에서 전기적 신호의 스위칭을 수행한다. 즉, 특정 대상 모듈(230-1~3)로의 제어명령이 해당 모듈(230-1~3)로 갈 수 있도록 통로를 열어주기 위해 스위칭을 수행한다. 스위치(220)는 하나의 키보드(K), 모니터(V) 및 마우스(M)로 여러 대의 모듈, 컴퓨터 또는 서버를 관리하기 위한 KVM 스위치를 포함할 수 있다.
팹(200)과 이격하여 위치한 오피스(250) 내의 원격 디바이스(252)는 스케줄러(210)의 스케줄러 관리 프로그램의 코드를 전부 또는 일부 변경할 수 있다. 원격 디바이스(252)는 장비 모니터링 및 모니터링된 상태 정보를 분석하여 최적 스케줄링을 위한 모듈들의 동작들의 우선순위를 설정 또는 변경할 수 있다. 즉, 원격 디바이스(252)는 호스트(host)로, 팹(200) 내의 스케줄러(210)는 CIM(Computer Integrated Manugacturing)으로써 공동으로 통합된 시스템을 구출할 수 있다.
도 3a는 다양한 모듈 제어 명령을 확인하면서 바로 동작을 취하는 방식의 우선순위 스케줄링 모드를 나타낸 흐름도이다.
도 3a를 참조하면, 스케줄러는 다양한 모듈에 대한 제어명령들을 순차적으로 확인하고, 해당 조건이 만족될 경우, 해당 모듈에게 제어 명령을 전달하여 액션이 취해지도록 한다. 즉, 로드락 교환 동작 조건이 만족되는지 확인하여(S302), 조건 만족시 즉시 로드락 모듈 교환 동작을 실행하도록 한다(S304). 그리고는, 프로세스 챔버 교환 동작의 동작 조건 만족 여부를 판단하여(S306), 동작 조건 만족시, 바로 프로세서 챔버로 교환 동작을 실행할 것을 명령한다(S308). 이와 같이 로드락 모듈에 위치한 기판을 재료이송로봇으로 빼는 동작(L/L pick 동작)(S310, S312), 로드락 모듈로 기판을 집어 넣는 동작(L/L place 동작)(S314, S316), 프로세스 챔버에 위치한 기판을 재료이송로봇으로 빼는 동작(P/C pick 동작)(S318, S320), 프로세스 챔버로 기판을 집어 넣는 동작(P/C place 동작)(S322, S324) 및 재료이송로봇의 회전동작(Rotate)(S326) 각각의 동작 조건 만족여부를 판단하여, 각 동작의 실행 여부를 바로 결정하고, 결정이 이루어지면 곧바로 해당 모듈로 제어명령을 전송할 수 있다. 그리고, 하나의 사이클이 완료되면 다시 처음부터 모듈 제어 명령을 순차적으로 확인하는 방식으로 운용될 수 있다.
다만, 이 경우, 스케줄링의 한 시점을 보았을 때, 한가지 동작만 취할 수 있는 것이 아니라 여러 동작이 취해질 수 있는데, 여러 동작 중 어느 동작을 수행하는 것이 장비 수율에 최적인지에 대한 확인 어렵다. 또한, 특정 시점에 특정 동작을 수행하도록 프로그래밍된 상태에서 다른 동작을 수행하도록 변경하는 작업이 어려울 수 있다.
도 3b는 본 발명의 일 실시예에 따라, 모듈 제어 명령을 순차적으로 확인 뒤 우선순위 값을 고려하여 제어명령을 제공하는 방식의 우선순위 스케줄링 모드를 나타낸 흐름도이다.
도 3b를 참조하면, 스케줄러는 다양한 모듈 제어 명령을 순차적으로 확인하면서 해당 조건이 만족될 경우, 바로 동작을 취하지 않고 액션 아이템으로 등록한다. 여기서 등록은 실행 예정 동작임을 의미할 수 있다. 예컨대, 로드락 모듈의 교환 동작의 관련 조건 만족여부를 판단하여(S350), 만족하는 경우, 액션 아이템으로 등록하고(S352), 관련된 모듈인 로드락 모듈로 교환 동작 실행 명령을 바로 전달하지 않는다. 그리고는, 다음 액션 아이템인 프로세스 챔버 교환 동작 관련 조건의 만족 여부를 따져(S354), 해당 동작의 액션 아이템으로의 등록 여부를 결정한다(S356). 이와 같은 방법으로 도 3a의 복수 개의 모듈들에 대한 동작의 조건 만족 여부를 판단하여(S358, S362, S366, S370, S374) 해당 조건 만족시 액션 아이템으로 등록하고(S360, S364, S368, S372, S376), 만족하지 않을시 다음 제어 명령에 대한 조건 만족 여부를 판단하는 방식으로 프로세스를 진행한다.
이렇게 복수의 모듈들에 대한 제어명령을 모두 확인한 뒤(S378), 등록된 액션 아이템만 추려, 그 중 가장 우선순위가 높은 동작을 수행하고, 우선순위 값에 따라 순차적으로 동작이 수행되도록 제어명령을 해당 모듈로 전달한다(S380). 이를 위해, 본 발명의 일 실시예에 따른 스케줄러는 복수의 모듈들에 대한 동작 관련 제어명열을 모두 나열하고 이에 대한 명확한 정의와 동작별 우선순위를 지정할 필요가 있을 수 있다. 이러한 전체적인 우선순위를 관리할 수 있는 별도의 프로그램을 실행할 수 있다.
도 4a는 본 발명의 일 실시예에 따른 기판 처리 장치의 스케줄러에서 정의하고 있는 동작들을 설명하기 위한 개념도이다.
도 4a를 참조하면, 로드락 모듈(LLU, LLL), 재료이송로봇(TC) 및 프로세스 챔버(PC1~PC3)를 장치로 보고, 이러한 구성요소 측을 장치내부로, 이러한 구성요소 외부를 장치외부로 구별할 수 있다.
외부에는 카세트(Cassete)가 존재하고, 카세트로부터 기판은 반입(로딩(Loading))이라 부를 수 있음) 또는 반출(언로딩(Unloading))될 수 있다. 즉, 카세트에서 로드락 모듈로 기판이 반입되는 것을 "로딩" 동작, 로드락 모듈에서 기판이 반출되는 것을 "언로딩" 동작으로 정의할 수 있다. 이와 같이 장치 내부 또는 외부로 기판을 반입 또는 반출하기 위해서는 재료를 이송시키는 동작이 필요한데, 이를 "이송(transfer)" 동작이라고 정의할 수 있다. 또한, 언로딩 동작 및 로딩 동작이 연속적으로 이루어지는 동작을 "교환(Exchange)" 동작으로 정의할 수 있다. 더욱이, 진행 시, 예외 상황이 발생하는 경우를 "예외(Exception)" 상태로 정의할 수 있다.
그리고, 기판을 장치 내부 또는 위부로 반입 또는 반출하기 위해서는 로드락 모듈을 대기압 상태로 만들어줘야 하는데, 이 동작을 "벤트(Vent)" 동작으로 정의할 수 있다.
또한, 기판을 프로세스 챔버에 반입 또는 반출하기 위해서는 로드락 모듈을 진공 상태로 만들어줘야 하는데, 이 동작을 "펌프(Pump)" 동작이라고 정의할 수 있다.
로드락 모듈과 재료이송로봇 사이에 기판을 이송시키기 위해서는 다음과 같은 동작이 존재하는데 이를 "로드락 모듈 기판 이송 동작"이라고 정의한다. 기본적으로 "로테이트(Rotate)" 동작은 재료이송로봇이 기판의 배출 또는 투입을 위해 회전하는 동작을 의미할 수 있다.
보다 구체적으로, 로드락 모듈에서 기판을 배출하기 위해 로봇을 회전시키는 동작을 "로드락 로테이트 픽(LLx Rotate Pick) 동작이라고 정의할 수 있고, 로드락 모듈에 기판을 투입하기 위해 로봇을 회전시키는 동작을 "로드락 로테이트 플레이스(LLx Rotate Place)"라고 정의할 수 있다. 또한, 로드락 모듈에서 기판을 배출하는 동작을 "로드락 픽(LLx Pick)" 동작으로, 로드락 모듈에서 기판을 투입하는 동작을 "로드락 플레이스(LLx Place)" 동작으로 정의할 수 있다. 또한, "LLx Pick"에서 "LLx Place" 동작이 연속적으로 이루어지는 경우를 "로드락 교환(LLx Exchange)" 동작이라고 정의할 수 있다.
추가적으로, 프로세스 챔버와 재료 이송 로봇 사이에서 기판을 이송시키기 위한 동작을 "프로세스 챔버 기판 이송 동작"이라고 정의할 수 있다. 보다 구체적으로, 프로세스 챔버에서 기판을 배출하기 위해 로봇을 회전시키는 동작을 "프로세스 챔버 로테이트 픽(PCx Rotate Pick) 동작이라고 정의할 수 있고, 프로세스 챔버에 기판을 투입하기 위해 로봇을 회전시키는 동작을 "프로세스 챔버 로테이트 플레이스(PCx Rotate Place)"라고 정의할 수 있다. 또한, 프로세스 챔버에서 기판을 배출하는 동작을 "프로세스 챔버 픽(PCx Pick)" 동작으로, 프로세스 챔버에서 기판을 투입하는 동작을 "프로세스 챔버 플레이스(PCx Place)" 동작으로 정의할 수 있다. 또한, "PCx Pick"에서 "PCx Place" 동작이 연속적으로 이루어지는 경우를 "프로세스 챔버 교환(PCx Exchange)"라고 정의할 수 있다.
위와 같은 정의는 사용자 인터페이스(미도시)를 통한 사용자 입력에 따라 추가 또는 변경될 수 있다. 이러한 변경은 스케줄러의 스케줄링 동작 동안에도 가능하다.
도 4b는 본 발명의 일 실시예에 따른 기판 처리 장치의 스케줄러에서 관리하는 스케줄러 관리 프로그램을 설명하기 위한 개념도이다.
도 4b를 참조하면, 스케줄러 관리 프로그램은 모듈별 액션 아이템(410), 액션 아이템별 우선순위 값(420) 및 액션 아이템에 대한 설명 부분(430)을 포함할 수 있다. 스케줄러 관리 프로그램은 상기 항목(410, 420, 430)들에 대한 내용이 리스트화된 형태로 나열될 수 있다.
모듈별 액션 아이템(410)을 보면, 해당 동작의 수행 주체, 메인 액션 및 해당 액션의 서브 액션들이 정의되어 있다.
아이템별 우선순위 값(420)은 각 액션 아이템을 수행에 대한 우선순위 값을 표시하고 있다. 우선순위 값은 일종의 가중치로써 우선순위 값이 높은 액션 아이템이 보다 우선적으로 실시되어야 함을 의미할 수 있다. 다만, 이는 사용자의 설정 변경에 따라 반대의 의미로 활용될 수 있다. 스케줄러의 운영자는 각 액션 아이템별 우선순위 값을 지정 또는 변경할 수 있다. 즉, 별도의 코드 수정 없이 우선순위 값을 변경함으로써 수행 순서를 변경할 수 있다. 이러한 우선순위 변경은 실시간으로 가능하다.
액션 아이템 설명 부분(430)은 각 액션 아이템의 구체적인 내용을 설명한다.
본 실시예에 있어서, 좌측 일련번호 1 내지 5번의 액션 아이템은 벤트(Vent) 동작을 나타내고 있고, 100 내지 900의 비교적 낮은 우선순위 값을 가질 수 있다.
또한, 일련번호 6 내지 11번의 펌프(Pump) 동작은 각각 1100부터 9900까지의 우선순위 값을 가질 수 있다.
더욱이, 일련번호 12 내지 15번의 이송(Transfer) 동작은 2100부터 3100까지의 우선순위 값을 가질 수 있다. 보다 구체적으로, 로드(Load) 동작, 언로드(Unload) 동작, 교환(Exchange) 동작은 2100의 우선순위 값을, 예외(Exception) 동작은 3100의 우선순위 값을 가질 수 있다.
또한, 일련번호 16 내지 21번의 로드락 모듈 기판 이송 동작은 800부터 4100까지의 우선순위 값을 가질 수 있다. 보다 구체적으로, 로드락 로테이트 픽(LLx Rotate Pick) 동작 및 로드락 로테이트 플레이스(LLx Rotate Place) 동작은 800의 우선순위 값을, 로드락 픽(LLx Pick) 동작은 1200의 우선순위 값을 가질 수 있다. 또한, 로드락 플레이스(LLx Place) 동작 및 로드락 교환(LLx Exchange) 동작은 각각 3100 및 2100의 우선순위 값을 가질 수 있다. 또한 로드락 플레이스 예외(LLx Place Exception) 동작은 4100의 우선순위 값을 가질 수 있다.
추가적으로, 일련번호 22 내지 27번의 프로세스 챔버 기판 이송 동작은 400부터 4100까지의 우선순위 값을 가질 수 있다. 보다 구체적으로, 프로세스 챔버 로테이트 픽(PCx Rotate Pick) 동작 및 프로세스 챔버 로테이트 플레이스(PCx Rotate Place) 동작은 로드락 로테이트 픽(LLx Rotate Pick) 동작 및 로드락 로테이트 플레이스(LLx Rotate Place) 동작보다 낮은 400의 우선순위 값을, 프로세스 챔버 픽(PCx Pick) 동작은 로드락 픽(LLx Pick) 동작보다 낮은 1111의 우선순위 값을 가질 수 있다. 또한, 프로세스 챔버 플레이스(PCx Place) 동작은 로드락 플레이스(LLx Place) 동작보다 높은 3200의 우선순위 값을 가질 수 있다. 또한, 프로세스 챔버 교환(PCx Exchange) 동작은 로드락 교환(LLx Exchange) 동작과 같은 2100의 우선순위 값을 가질 수 있고, 또한 프로세스 챔버 플레이스 예외(PCx Place Exception) 동작은 로드락 플레이스 예외(LLx Place Exception) 동작과 같은 4100의 우선순위 값을 가질 수 있다.
상기한 우선순위 값들은 그들간의 상대적인 크기가 동작의 순서를 결정하기 때문에, 중요한 의미를 갖는다.
본 발명의 일 실시예에 따른 스케줄러 관리 프로그램은 부가기능(440)을 갖는다. 부가기능(440)에는 스케줄러 동작 중지(pause) 아이콘, 동작 재실행(resume) 아이콘 및 변경된 우선순위 값을 재적용시키는 우선순위 업데이트 요청(priority update request) 아이콘이 포함될 수 있다.
동작 중지 기능은 스케줄러가 스케줄링을 하는 동작 처리 진행 상황을 일시 중지시키는 기능을 수행한다. 또한, 동작 재실행 기능은 중지되었던 스케줄러의 스케줄링 동작을 재개시키는 기능을 수행한다. 우선순위 업데이트 요청 기능은 운영자가 우선순위 값을 변경한 경우, 변경된 우선순위 값을 적용하여 스케줄링이 이루어지도록 야기하는 기능을 수행한다.
도 5는 본 발명의 일 실시예에 따른 기판 처리 장치의 스케줄러의 구성을 구체적으로 나타낸 상세블록도이다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 스케줄러(500)는 사용자 인터페이스(510), 스토리지(520), 제어부(530), 통신부(540), 모니터링부(550) 및 디스플레이부(560)를 포함할 수 있다.
도 5를 참조하면, 사용자 인터페이스(510)는 사용자의 입력된 사항에 따라 스케줄러 관리 프로그램의 각종 변수들을 변경, 추가 또는 삭제하는 구성요소이다. 또한, 사용자 인터페이스(510)를 통해 스케줄러의 동작 중지 요청, 재실행 요청 및 우선순위 값 재적용 요청 등을 입력할 수 있다. 사용자 인터페이스(510)는 키보드, 마우스, 터치 스크린, 터치 패드 등을 포함할 수 있다. 변경되는 변수는 각 모듈들이 수행하는 동작들에 대한 정의, 설명, 체재시간, 공정시간 및 우선순위 값 중 적어도 하나를 포함할 수 있다.
스토리지(520)는 스케줄러 관리 프로그램 동작에 대한 정의, 우선순위 값, 동작에 대한 설명, 체재시간, 공정시간, 수행 주체 등의 정보를 저장하고 있다. 저장된 정보는 제어부(530)로 제공되어 적절한 제어명령이 대상 모듈로 제공된다. 스토리지(520)는, 플래시 메모리, RAM, ROM, 하드 디스크 등을 포함할 수 있다.
제어부(530)는 스토리지(520)에 입력된 각 모듈들의 동작에 대한 정보에 따라 각 모듈로 제어명령을 제공한다. 제어부(530)는 스케줄러 관리 프로그램의 각 동작의 조건 만족 여부를 판단하고, 조건 만족시 해당 동작을 등록하며, 모든 동작에 대한 판단이 완료되면, 등록된 동작들의 우선순위 값을 상대적으로 비교하여 각 동작에 대한 순서를 결정한다. 그리고는, 순서에 맞게 해당 모듈로 제어명령을 제공한다. 제어부(530)는 하드웨어 프로세서로써 구현될 수 있다.
제어부(530)는 통신부(540)를 이용하여 제어명령을 해당 모듈로 제공할 수 있다. 통신부(540)는 스케줄러(500) 외부 장치와 정보 및/또는 신호를 송수신하는 구성요소로써, 통신 프로세서 및/또는 안테나를 포함할 수 있다. 이를 통해 유선 또는 무선 네트워크로 외부 디바이스 또는 연결된 각 처리 모듈과 통신한다. 통신부(540)는 외부 디바이스(예컨대, 이격된 오피스에 위치한 원격 조종 컴퓨팅 장치)로부터의 스케줄러 관리 프로그램의 변수 변경 또는 추가 요청을 수신하여 스토리지(520) 내의 변수 값을 변경시킬 수 있다.
모니터링부(550)는 각 모듈의 상태 및 각 모듈 상에 놓인 기판의 상태 변화를 모니터링한다. 그리고는 모니터링된 상태 정보를 제어부(530)로 제공한다. 모니터링부(550)의 모니터링 주기, 시작/정지, 화면 갱신 등의 명령을 제어부(530)로부터 수신될 수 있고, 이에 따라 모니터링을 수행할 수 있다. 모니터링부(550)의 모듈 및 기판의 상태 변화 모니터링 정보를 수신한 제어부(530)는 해당 상태에 맞게 우선순위 값, 체재시간 및 공정시간 중 적어도 하나를 적응적으로 변경할 수 있다. 예컨대, 최초 디폴트로 설정된 변수 값으로 공정을 진행하다가, 기판이 깨졌을 때 또는 예측하지 못했던 펌핑(Pumping)이 일어났을 때 등의 돌발 상황이 발생하면, 제어부(530)는 적응적으로 우선순위 값을 변경하는 등의 변화를 취할 수 있다.
본 발명의 실시예에 따르면, 이러한 부분은 상태 모니터링을 통한 자체학습을 통해 이루어질 수 있다. 학습은 각 모듈의 동작들에게 특정 우선순위 값, 체제시간 값 및 공정시간 값을 부여한 상태에서, 공정들을 진행하면서 측정 유닛(미도시)을 통해 측정되는 TACT 값을 누적 관리하면서, 이를 기반으로 최적의 TACT 값을 도출할 수 있는 우선순위 값, 체제시간 값 및 공정시간 값 등을 추출하는 학습을 통해 이루어질 수 있다.
또는, 운영자가 특정 상태 모니터링에 대응되는 우선순위 값 세트(또는 특정 우선순위 값의 변경)를 소정 개수 스토리지(520)에 저장하였다가 특정 상태가 발생하면 자동으로 우선순위 값이 세트로써 저장된 값들로 일괄 변경될 수 있도록 할 수 있다. 즉, 특수 상황에 대응되는 우선순위 값 세트는 자주 발생되는 기판 처리 공정의 특수 상태에 따라 다수 개 생성되는 것이 바람직할 수 있다.
디스플레이부(560)는 앞선 도 4b와 같이, 현재 설정되어 있는 각 모듈의 동작들의 정의들, 우선순위 값들, 수행 주체들, 동작에 대한 설명들을 디스플레이하는 구성요소이다. 또한 디스플레이부(560)는 각 모듈 상의 상태 모니터링 결과 값, 각 모듈에 대한 제어 화면 등을 적절한 GUI 어플리케이션을 통해 화면에 표시할 수 있다.
도 6a 내지 6c는 본 발명의 일 실시예에 따른 기판 처리 장치의 스케줄러가 저장하고 있는 각 모듈들의 동작 순서 배열을 설명하기 위한 개념도이다.
도 6a 내지 6c를 참조하면, 먼저, 하나의 로드락 모듈이 진공상태로 초기화된 상태에서 로드락 모듈에 기판을 로딩하는 동작을 수행한다. 그리고는, 펌프 동작이 수행되도록 제어한다. 다음, 로드락 모듈로부터 기판을 반출하여 이송로봇으로 기판을 이송시킨다. 다음 로드락 모듈의 벤트 동작이 수행되고 이송로봇으로부터 프로세서 챔버 1로의 이송이 동시에 수행될 수 있다. 이 사이, 이송로봇은 로테이트 동작을 수행한다. 다음, 프로세서 챔버 1의 공정이 완료되고 나면, 프로세서 챔버 1로부터 이송 로봇으로의 이송동작이 수행되고, 그 다음 로드락 모듈의 펌프 동작이 수행된다. 그리고는 이송 로봇이 로드락 모듈로 기판을 반출하는 동작이 수행된다. 그리고는, 로드락 모듈에 벤트 동작이 취해지고, 마지막으로 로드락 모듈의 기판 언로드 동작이 수행되면서 하나의 기판에 대한 처리가 완료된다.
본 발명의 일 실시예에 따른 기판 처리 장치에 따르면, 스케줄러는 위 기판 처리 공정 관련 각 모듈들의 동작들의 순서에 맞게 동작별 우선순위 값을 결정할 수 있다. 이때, 동작의 배열, 즉, 선후관계에 대응되도록 우선순위 값들의 상대적인 크기를 매칭시키는 것이 바람직하다.
도 7a는 효율적이지 못한 우선순위 값을 가질 경우의 기판 처리 장치의 동작을 설명하기 위한 개념도이다.
도 7a를 참조하면, 전반적인 기판 처리 공정에 있어서, 각 프로세서 챔버뿐만 아니라, 로드락 모듈 및 재료이송로봇 모두 각각 기판을 하나씩 가지고 공정을 수행하거나 대기중인 경우가 많다. 즉, 기판 처리 장치의 모듈들이 하나의 기판에 대한 프로세스 단위로 전체가 동작하지 않고, 효율성을 극대화하기 위해 각자 기판에 대한 처리동작을 수행하면서 전체 공정이 이루어진다.
이러한 상황에서 로드락 모듈에서 기판을 배출하기 위해 로봇을 회전시키는 동작인 "LLx Rotate" 동작의 우선순위 값이 로드락 모듈에서 기판을 배출하는 동작인 "LLx Pick" 동작의 우선순위 값보다 높은 경우, 도 7a의 좌측 첫 번째 도면과 같이, 프로세스 챔버로부터 로봇으로 기판이 배출되면서 공정이 완료된 상태에서(S710), 로봇의 회전 동작(Robot Rotate)이 수행되고(S720), 이후에 기판 교환 동작, 즉, "Pick" 및 "Place" 동작이 수행되게 된다(S730). 이때, 불필요한 로봇 회전 동작(Robot Rotate)이 수행되어 효율적이지 못한 스케줄링에 따라 장치수율에 문제가 생긴다.
도 7b는 최적화된 우선순위 값을 가질 경우의 기판 처리 장치의 동작을 설명하기 위한 개념도이다.
도 7b를 참조하면, "LLx Pick" 동작의 우선순위 값이 "LLx Rotate" 동작의 우선순위 값보다 높은 경우, 도 7b의 좌측 첫 번째 도면과 같이, 프로세스 챔버로부터 로봇으로 기판이 배출되면서 공정이 완료된 상태에서(S750), 로봇의 회전 동작(Robot Rotate)은 해당 동작의 우선순위 값이 "LLx Pick" 동작의 우선순위 값보다 작기 때문에 수행되지 않게 되고(도 7b의 가운데 도면 skip), 이를 건너뛰고 바로 기판 교환 동작, 즉, "Pick" 및 "Place" 동작이 수행되게 된다(S760). 이를 통해, 불필요하게 삽입된 로봇 회전 동작(Robot Rotate)과 같은 중간 과정이 빠지게 됨에 따라 스케줄링 효율이 증가할 수 있다. 즉, TACT는 줄어든다.
도 8은 종래 방식에 따른 스케줄링 모드 적용 결과와 본 발명의 일 실시예에 따른 스케줄링 모드 적용 결과를 비교한 그래프이다.
도 8을 참조하면, 시뮬레이션은 기판 1 로트(Lot: 30장)를 연속으로 투입시켜 공정 완류 후, 배출될 때까지의 시간(TACT)를 측정 비교한 것이다.
종래의 우선순위 값 고려없이 C 프로그램(program)과 같은 절차적 프로그램 방식의 스케줄링 방법에 비해, 본 발명의 일 실시예에 따른 우선순위 기판 스케줄링 방법은 약 7%의 TACT 절감 효과가 있는 것을 확인할 수 있다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (17)

  1. 기판을 처리하는 복수 개의 모듈들; 및
    상기 복수 개의 모듈들의 동작을 제어하는 스케줄러(scheduler)를 포함하되, 상기 스케줄러는,
    상기 복수 개의 모듈들의 동작들 각각을 정의하고,
    상기 정의된 동작들 각각에 대해 우선순위 값을 할당하며,
    상기 각 동작에 할당된 우선순위 값을 상대적으로 비교하여 상기 복수 개의 모듈들의 동작을 제어하는 기판 처리 장치.
  2. 제 1 항에 있어서,
    상기 스케줄러는 상기 모듈의 각 동작의 정의 및 동작별 우선순위 값을 관리하는 스케줄러 관리 프로그램을 이용하는 기판 처리 장치.
  3. 제 1 항에 있어서, 상기 스케줄러는,
    상기 동작들 각각의 동작 조건 만족 여부를 판단하여 상기 동작들 각각의 실행 예정 동작으로의 등록 여부를 판단하고,
    등록된 동작들의 우선순위 값을 비교하여 상기 모듈의 동작을 제어하는 기판 처리 장치.
  4. 제 3 항에 있어서,
    상기 스케줄러는 특정 동작에 대한 동작 조건이 만족되는 경우, 상기 특정 동작에 대한 제어명령을 즉시 전달하지 않고 상기 실행 예정 동작으로 등록하는 기판 처리 장치.
  5. 제 3 항에 있어서,
    상기 스케줄러는 상기 복수 개의 모듈들의 모든 동작들 각각에 대해 실행 예정 동작으로의 등록 여부를 판단한 이후, 등록된 동작들의 우선순위 값을 비교하여 상기 복수 개의 모듈들의 동작을 제어하는 기판 처리 장치.
  6. 제 1 항에 있어서,
    상기 복수 개의 모듈들의 동작들에 대한 정의 및 우선순위 값 중 적어도 하나는 사용자 인터페이스를 통해 가변되는 기판 처리 장치.
  7. 제 1 항에 있어서,
    스케줄러의 동작 중지(pause) 요청, 동작 재실행(resume) 요청 및 상기 사용자 인터페이스를 통해 변경된 우선순위 값을 재적용시키는 우선순위 업데이트 요청(priority update request) 중 적어도 하나를 사용자 인터페이스를 통해 입력하는 기판 처리 장치.
  8. 제 1 항에 있어서,
    상기 모듈은 재료 이송 로봇, 로드락(Loadlock) 모듈 및 프로세스 챔버 중 적어도 하나를 포함하는 기판 처리 장치.
  9. 제 8 항에 있어서, 상기 복수 개의 모듈의 동작들은:
    상기 로드락 모듈을 대기압 상태로 만드는 벤트(Vent) 동작;
    기판을 상기 프로세스 챔버로 투입 또는 배출하기 위해 상기 로드락 모듈을 진공 상태로 만드는 펌프(pump) 동작;
    상기 기판 처리 장치 안팍으로 상기 기판을 투입 또는 배출하기 위한 이송(transfer) 동작;
    상기 로드락 모듈과 상기 재료 이송 로봇 사이에서 상기 기판을 이송시키기 위한 로드락 모듈 기판 이송 동작; 및
    상기 프로세스 챔버와 상기 재료 이송 로봇 사이에서 상기 기판을 이송시키기 위한 프로세스 챔버 기판 이송 동작 중 적어도 하나를 포함하는 기판 처리 장치.
  10. 제 9 항에 있어서,
    상기 로드락 모듈에서 기판을 배출 또는 투입하기 위해 상기 재료 이송 로봇을 회전시키는 동작(LLx Rotate)의 우선순위 값보다 상기 로드락 모듈 기판 이송 동작 중 상기 로드락 모듈에서 기판을 배출하는 동작(LLx Pick)의 우선순위 값이 더 높은 기판 처리 장치.
  11. 제 1 항에 있어서, 상기 스케줄러는,
    상기 복수 개의 모듈들의 동작들에 대한 정의 및 우선순위 값을 저장하고 있는 스토리지; 및
    상기 복수 개의 모듈들의 동작들에 대한 우선순위를 비교하여 비교 결과에 따라 상기 복수 개의 모듈들이 동작을 수행하도록 제어 명령을 제공하는 제어부를 포함하는 기판 처리 장치.
  12. 제 11 항에 있어서,
    상기 스케줄러는 기판의 상태 변화를 모니터링하는 모니터링부를 더 포함하되,
    상기 제어부는 모니터링된 기판의 상태에 따라 상기 우선순위 값을 변경하는 기판 처리 장치.
  13. 제 12 항에 있어서,
    상기 스토리지는 기판의 상태에 따른 우선순위 값 세트를 복수 개 유지하며,
    상기 제어부는 상기 모니터링된 기판의 상태에 대응되는 우선순위 값 세트를 인출하는 기판 처리 장치.
  14. 제 1 항에 있어서,
    이격하여 위치한 원격 디바이스에 의해 상기 우선순위 값이 가변되는 기판 처리 장치.
  15. 제 1 항에 있어서,
    상기 스케줄러는 클러스터 툴 콘트롤러(CTC: Cluster Tool Controller)인 기판 처리 장치.
  16. 기판을 처리하는 복수 개의 모듈들의 동작들 각각을 정의하는 단계;
    상기 정의된 동작들 각각에 대해 우선순위 값을 할당하는 단계; 및
    상기 각 동작에 할당된 우선순위 값을 상대적으로 비교하여 상기 복수 개의 모듈들의 동작을 제어하는 단계를 포함하는 기판 처리 장치의 스케줄링 방법.
  17. 기판을 처리하는 복수 개의 모듈들; 및
    상기 복수 개의 모듈들의 동작을 제어하는 스케줄러(scheduler)를 포함하되, 상기 스케줄러는,
    상기 복수 개의 모듈들의 동작들 각각을 정의하고,
    상기 정의된 동작들 각각에 대해 체제시간 값 및 공정시간 값을 할당하며,
    상기 각 동작에 할당된 체제시간 값 및 공정시간 값 중 적어도 하나를 이용하여 상기 복수 개의 모듈들의 동작을 제어하는 기판 처리 장치.
KR1020160086012A 2016-07-07 2016-07-07 기판 처리 장치 및 기판 처리 장치의 스케줄링 방법 KR20180005843A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160086012A KR20180005843A (ko) 2016-07-07 2016-07-07 기판 처리 장치 및 기판 처리 장치의 스케줄링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160086012A KR20180005843A (ko) 2016-07-07 2016-07-07 기판 처리 장치 및 기판 처리 장치의 스케줄링 방법

Publications (1)

Publication Number Publication Date
KR20180005843A true KR20180005843A (ko) 2018-01-17

Family

ID=61026159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160086012A KR20180005843A (ko) 2016-07-07 2016-07-07 기판 처리 장치 및 기판 처리 장치의 스케줄링 방법

Country Status (1)

Country Link
KR (1) KR20180005843A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200010736A (ko) * 2018-07-23 2020-01-31 세메스 주식회사 기판 처리 장치 및 기판 처리 방법
KR20200079789A (ko) * 2018-12-26 2020-07-06 세메스 주식회사 이송유닛제어부 및 기판처리장치
KR20210062849A (ko) * 2019-11-22 2021-06-01 세메스 주식회사 공정 스케줄링 장치 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200010736A (ko) * 2018-07-23 2020-01-31 세메스 주식회사 기판 처리 장치 및 기판 처리 방법
CN110767575A (zh) * 2018-07-23 2020-02-07 细美事有限公司 用于处理基板的设备和方法
CN110767575B (zh) * 2018-07-23 2023-08-25 细美事有限公司 用于处理基板的设备和方法
US11809158B2 (en) 2018-07-23 2023-11-07 Semes Co., Ltd. Apparatus and method for treating substrate based on defect values of transfer paths
KR20200079789A (ko) * 2018-12-26 2020-07-06 세메스 주식회사 이송유닛제어부 및 기판처리장치
KR20210062849A (ko) * 2019-11-22 2021-06-01 세메스 주식회사 공정 스케줄링 장치 및 방법

Similar Documents

Publication Publication Date Title
US8768506B2 (en) Networked industrial control and method for changing of an operating mode of such an industrial control
KR20180005843A (ko) 기판 처리 장치 및 기판 처리 장치의 스케줄링 방법
CN101192055B (zh) 基板处理装置的控制装置和控制方法
JP2007005822A (ja) ウェーハ処理ツール内のウェーハの移動をスケジューリングするシステムと方法
JP6795444B2 (ja) 異常検知システム、半導体装置の製造システムおよび製造方法
JP5570775B2 (ja) 基板処理装置のセットアップ方法、基板処理装置により実施される半導体装置の製造方法及び基板処理装置
US11504845B2 (en) Reconfigurable robotic manufacturing cells
JP2017183545A (ja) 基板処理装置および基板処理方法
TWI758613B (zh) 在積體基板處理系統中排程半導體基板處理序列的方法及系統和非暫時性電腦可讀取媒體
US20140277677A1 (en) Production processing system, control device for production processing, method for controlling production processing and storage medium
KR102309759B1 (ko) 진공 처리 장치의 운전 방법
WO2019216379A1 (ja) 基板処理方法、基板処理装置、およびコンピュータプログラム
JP5987796B2 (ja) 基板処理装置、基板処理方法及び記憶媒体
US9818629B2 (en) Substrate processing apparatus and non-transitory computer-readable recording medium
JP5932537B2 (ja) 基板処理装置、基板処理方法およびプログラム
JP2001196439A (ja) 製品の製造管理方法及び製造管理システム
US11791179B2 (en) Substrate treating apparatus and substrate treating method
JP7019399B2 (ja) 基板処理システムおよび基板処理システムの制御方法
JP2001102425A (ja) 基板処理装置および基板処理装置のシミュレート装置並びにコンピュータ読み取り可能な記録媒体
US9478452B2 (en) Small production device and production system using the same
KR20180029475A (ko) 기판처리장치의 자가진단 방법 및 상기 방법을 사용하는 기판처리장치
TW202430703A (zh) 處理腔室構件的自動化控制
JPH10198408A (ja) 処理命令実行装置
CN114664697A (zh) 控制基板处理装置的工作的控制装置
KR20220097178A (ko) 공정 레시피 생성 방법