KR20090019855A - 고전력 레이저 평판 제품 처리 시스템 컨트롤러 - Google Patents

고전력 레이저 평판 제품 처리 시스템 컨트롤러 Download PDF

Info

Publication number
KR20090019855A
KR20090019855A KR1020087031153A KR20087031153A KR20090019855A KR 20090019855 A KR20090019855 A KR 20090019855A KR 1020087031153 A KR1020087031153 A KR 1020087031153A KR 20087031153 A KR20087031153 A KR 20087031153A KR 20090019855 A KR20090019855 A KR 20090019855A
Authority
KR
South Korea
Prior art keywords
user
processing apparatus
product processing
database
command
Prior art date
Application number
KR1020087031153A
Other languages
English (en)
Other versions
KR101365000B1 (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 KR20090019855A publication Critical patent/KR20090019855A/ko
Application granted granted Critical
Publication of KR101365000B1 publication Critical patent/KR101365000B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01SDEVICES USING THE PROCESS OF LIGHT AMPLIFICATION BY STIMULATED EMISSION OF RADIATION [LASER] TO AMPLIFY OR GENERATE LIGHT; DEVICES USING STIMULATED EMISSION OF ELECTROMAGNETIC RADIATION IN WAVE RANGES OTHER THAN OPTICAL
    • H01S3/00Lasers, i.e. devices using stimulated emission of electromagnetic radiation in the infrared, visible or ultraviolet wave range
    • CCHEMISTRY; METALLURGY
    • C30CRYSTAL GROWTH
    • C30BSINGLE-CRYSTAL GROWTH; UNIDIRECTIONAL SOLIDIFICATION OF EUTECTIC MATERIAL OR UNIDIRECTIONAL DEMIXING OF EUTECTOID MATERIAL; REFINING BY ZONE-MELTING OF MATERIAL; PRODUCTION OF A HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; SINGLE CRYSTALS OR HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; AFTER-TREATMENT OF SINGLE CRYSTALS OR A HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; APPARATUS THEREFOR
    • C30B35/00Apparatus not otherwise provided for, specially adapted for the growth, production or after-treatment of single crystals or of a homogeneous polycrystalline material with defined structure
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/02Positioning or observing the workpiece, e.g. with respect to the point of impact; Aligning, aiming or focusing the laser beam
    • B23K26/06Shaping the laser beam, e.g. by masks or multi-focusing
    • B23K26/064Shaping the laser beam, e.g. by masks or multi-focusing by means of optical elements, e.g. lenses, mirrors or prisms
    • CCHEMISTRY; METALLURGY
    • C30CRYSTAL GROWTH
    • C30BSINGLE-CRYSTAL GROWTH; UNIDIRECTIONAL SOLIDIFICATION OF EUTECTIC MATERIAL OR UNIDIRECTIONAL DEMIXING OF EUTECTOID MATERIAL; REFINING BY ZONE-MELTING OF MATERIAL; PRODUCTION OF A HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; SINGLE CRYSTALS OR HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; AFTER-TREATMENT OF SINGLE CRYSTALS OR A HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; APPARATUS THEREFOR
    • C30B1/00Single-crystal growth directly from the solid state
    • C30B1/02Single-crystal growth directly from the solid state by thermal treatment, e.g. strain annealing
    • CCHEMISTRY; METALLURGY
    • C30CRYSTAL GROWTH
    • C30BSINGLE-CRYSTAL GROWTH; UNIDIRECTIONAL SOLIDIFICATION OF EUTECTIC MATERIAL OR UNIDIRECTIONAL DEMIXING OF EUTECTOID MATERIAL; REFINING BY ZONE-MELTING OF MATERIAL; PRODUCTION OF A HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; SINGLE CRYSTALS OR HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; AFTER-TREATMENT OF SINGLE CRYSTALS OR A HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; APPARATUS THEREFOR
    • C30B29/00Single crystals or homogeneous polycrystalline material with defined structure characterised by the material or by their shape
    • C30B29/02Elements
    • C30B29/06Silicon
    • CCHEMISTRY; METALLURGY
    • C30CRYSTAL GROWTH
    • C30BSINGLE-CRYSTAL GROWTH; UNIDIRECTIONAL SOLIDIFICATION OF EUTECTIC MATERIAL OR UNIDIRECTIONAL DEMIXING OF EUTECTOID MATERIAL; REFINING BY ZONE-MELTING OF MATERIAL; PRODUCTION OF A HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; SINGLE CRYSTALS OR HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; AFTER-TREATMENT OF SINGLE CRYSTALS OR A HOMOGENEOUS POLYCRYSTALLINE MATERIAL WITH DEFINED STRUCTURE; APPARATUS THEREFOR
    • C30B33/00After-treatment of single crystals or homogeneous polycrystalline material with defined structure
    • C30B33/02Heat treatment
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01SDEVICES USING THE PROCESS OF LIGHT AMPLIFICATION BY STIMULATED EMISSION OF RADIATION [LASER] TO AMPLIFY OR GENERATE LIGHT; DEVICES USING STIMULATED EMISSION OF ELECTROMAGNETIC RADIATION IN WAVE RANGES OTHER THAN OPTICAL
    • H01S3/00Lasers, i.e. devices using stimulated emission of electromagnetic radiation in the infrared, visible or ultraviolet wave range
    • H01S3/14Lasers, i.e. devices using stimulated emission of electromagnetic radiation in the infrared, visible or ultraviolet wave range characterised by the material used as the active medium
    • H01S3/22Gases

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Materials Engineering (AREA)
  • Metallurgy (AREA)
  • Organic Chemistry (AREA)
  • Optics & Photonics (AREA)
  • Plasma & Fusion (AREA)
  • Electromagnetism (AREA)
  • Thermal Sciences (AREA)
  • Mechanical Engineering (AREA)
  • General Factory Administration (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Recrystallisation Techniques (AREA)
  • Numerical Control (AREA)

Abstract

펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치 및 방법으로서, 펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원을 포함하고, 레이저 컨트롤러; 워크 스테이지 컨트롤러; 고객 리사이프 컨트롤 커맨드 발생기로부터 프로세스 리사이프 컨트롤 디맨드를 수신하고 상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러에 컨트롤 신호를 제공하는 시스템 컨트롤러;를 포함하고, 상기 시스템 컨트롤러는 외부 프로세스 유저 인터페이스를 통해 사용자에 의해 선택가능한 제너릭 프로세스 커맨드 스텝을 포함하는 데이터베이스를 포함하는 데이터베이스 구동 프로세스 컨트롤러를 포함하는 펄싱된 DUV 제품 처리 장치 및 방법이 개시되어 있다.
Figure P1020087031153
평판 디스플레이, 레이저 컨트롤러, 워크 스테이지 컨트롤러, 리사이프, 시스템 컨트롤러, 유저 인터페이스, 제너릭 프로세스 커맨드, 데이터베이스

Description

고전력 레이저 평판 제품 처리 시스템 컨트롤러{HIGH POWER LASER FLAT PANEL WORKPIECE TREATMENT SYSTEM CONTROLLER}
본 발명은 평판 디스플레이와 같은 제품을 제조하기 위한 박막 트랜지스터의 연속 형성과 같은 실리콘의 긴 다결정질 형태로 용융되고 재결정화되도록, 비정질 실리콘의 상층을 포함하는, 하나 이상의 층으로 덮힌 기판을 갖는 패널상의 재료의 표면 처리에 사용되는, 엑시머 또는 분자 플루오르 가스 방전 레이저 시스템과 같은 고펄스 반복율 레이저 시스템용 타이밍 및 에너지의 제어에 관한 것이다. 이러한 시스템은 예를 들어, 저온 폴리실리콘 프로세스("LTPS") 또는 얇은 빔 시퀀셜 측방향 솔리디피케이션("tbSLS") 시스템을 위해 사용될 수 있다.
관련된 출원의 상호 인용
본원은 2006년 6월 2일에 출원된 미국 특허 출원 제60/810,527호에 대해 우선권을 주장한다. 본원은 2007년 5월 21일에 출원된 "고전력 레이저 패널 제품 처리 시스템 컨트롤러" 표제의 미국 특허 출원 제 11/805,199호에 대해 우선권을 주장한다. 본원은 대리인 번호 2004-0132-01의 "기판상에 배치된 필름과 라인 빔으로서 형상화된 레이저 사이의 인터랙션을 구현하기 위한 시스템 및 방법" 표제의 2005년 5월 26일에 출원된 공동 계류중인 미국 특허 출원 제11/138,175호; 대리인 번호 제003-0105-02의 "초고 에너지, 고 안정도 가스 방전 레이저 표면 처리 시스 템" 표제의 공동 계류중인 미국 특허 출원 제10/781,251호; 대리인 번호 2004-0062-01의 2004년 7월 1일에 출원된 "레이저 립스 시스템" 표제의 공동 계류중인 미국 특허 출원 제10/884,547호; 및 2004년 7월 1일에 출원된 "레이저 립스 시스템 옵틱스" 표제의 공동 계류중인 미국 특허 출원 제10/884,101호와 관련되어 있고, 이것들은 여기에 언급되어 통합되어 있다.
평판 디스플레이와 같은 제품을 제조하기 위한 박막 트랜지스터의 연속 형성과 같은 실리콘의 긴 다결정질 형태로 용융되고 재결정화되기 위해 비정질 실리콘의 상층을 포함하는, 하나 이상의 층으로 덮힌 기판을 갖는 패널상의 재료의 기판 처리를 위해 유용한, 엑시머 또는 분자 플루오르 가스 방전 레이저 시스템과 같은 고펄스 반복율 레이저 시스템의 분야에서, 보다 양호한 시스템 컨트롤에 대한 필요가 있다. 이러한 시스템은 예를 들어, 저온 폴리실리콘 프로세스("LTPS") 또는 얇은 빔 시퀀셜 측방향 솔리디피케이션("tbSLS") 시스템을 위해 사용될 수 있다.
펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치 및 방법으로서, 펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장(very narrow width very elongated) 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원을 포함하고, 레이저 컨트롤러; 워크 스테이지 컨트롤러; 고객 리사이프 컨트롤 커맨드 발생기로부터 프로세스 리사이프 컨트롤 디맨드를 수신하고 상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러에 컨트롤 신호를 제공하는 시스템 컨트롤러;를 포함하고, 상기 시스템 컨트롤러는 외부 프로세스 유저 인터페이스를 통해 사용자에 의해 선택가능한 제너릭 프로세스 커맨드 스텝을 포함하는 데이터베이스를 포함하는 데이터베이스 구동 프로세스 컨트롤러를 포함하는 펄싱된 DUV 제품 처리 장치 및 방법이 개시되어 있다. 이러한 장치 및 방법은 사용자에 대한 프로세스 컨트롤 커스터마이제이션을 포함할 수 있고 외부 프로세스 유저 인터페이스를 통해 선택된 프로세스 커맨드 스텝을 각각의 제너릭 스크립트로 전환하는 인터프리터를 더 포함할 수 있다. 이러한 장치 및 방법은 OEM 데이터베이스에 저장된 태스크에 기초하여 OEM 데이터베이스로부터 사용자에 의해 선택가능한 프로세스 커맨드 스텝을 사용자에게 식별하고, OEM 데이터베이스에 저장된 태스크에 기초할 수 있는 워크 플로 엔진을 포함할 수 있다. 이러한 장치 및 방법은 상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및 사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서버에 전송하는 GUI 클라이언트;를 포함할 수 있다. 이러한 GUI 클라이언트는 레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이;를 포함할 수 있고 인터페이스를 통해 제조 실행 시스템과 통신할 수 있다. 이러한 장치 및 방법은 OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터베이스; 및 사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함할 수 있다. 이러한 장치 및 방법은 프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및 MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프리터;를 더 포함할 수 있다. 이러한 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함될 수 있다. 이러한 장치 및 방법은 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및 상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함할 수 있고, 상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀지 컨버터를 이용하는 디바이스 인터페이스를 더 포함할 수 있다. 펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치로서, 펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원을 포함하고, 레이저 컨트롤러; 워크 스테이지 컨트롤러; 태스크를 단일 스레드 또는 다수의 논-리엔트런트 스레드로서 코딩하기 위해 별개의 각 프로세스에서 각 태스크를 실시하는 시스템 컨트롤러;를 포함하는 펄싱된 DUV 제품 처리 장치가 개시되어 있다. 상기 각 태스크는 단일 스레드로서 단일 프로세스내의 각 스레드에서 각각 실시되는 코어 태스크를 포함할 수 있다. 각각의 스레드는 각 태스크로의 액세스를 시퀀셜 및 논블록킹으로 하는 각 메시지 펌프를 가질 수 있다. 상기 메시지 펌프는 메시지 큐 및 메시지 루프를 포함할 수 있고, 에러를 처리하는 시스템 프로세서를 더 포함할 수 있다. 이러한 시스템 프로세서 메시지는 메시지 펌프를 사용하여 처리될 수 있다. 펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치로서, 펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원을 포함하고, 레이저 컨트롤러; 워크 스테이지 컨트롤러; 및 하나가 복수의 프로세스 디바이스의 각각으로의 디바이스 인터페이스를 포함하는 적어도 2개의 별개로 기능하는 스레드를 이용하는 시스템 디바이스 매니저에 의해 컨트롤되는 복수의 프로세스 디바이스;를 포함하는 펄싱된 DUV 제품 처리 장치가 개시되어 있다. 상기 복수의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각 모두와 연관된 컨트롤 스레드 및 상기 복수의 프로세스 디바이스의 각각 모두와 연관된 진단 스레드를 포함할 수 있다. 각 별개로 기능하는 스레드는 별개의 통신 채널을 포함할 수 있다. 시스템 컨트롤러는 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용할 수 있다. 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응할 수 있다. 이러한 장치 및 방법은 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 GUI 클라이언트를 더 포함할 수 있고 메시지 큐 및 메시지 루프를 더 포함할 수 있다. 이러한 장치 및 방법은 상기 적어도 2개의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각으로의 별개의 디바이스 인터페이스로서 하나 이상의 별개로 기능하는 스레드를 포함할 수 있다. 상기 적어도 2개의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각으로의 별개의 디바이스 인터페이스로서 하나 이상의 별개로 기능하는 스레드를 포함할 수 있다. 상기 별개로 기능하는 스레드의 각각은 별개의 통신 채널을 포함할 수 있다. 이러한 시스템 컨트롤러는 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용할 수 있다. 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응할 수 있다.
도 1은 본 발명의 일실시예의 특징에 따른 마스터 시스템 컨트롤러("MSC")를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 2는 본발명의 일실시예의 특징에 따른 MSC의 일부의 특징을 개락적으로 그리고 블록도 형태로 도시한 예시도,
도 3은 본 발명의 일실시예의 특징에 따른 MSC의 일부의 구조 로직도를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 4는 본 발명의 일실시예의 특징에 따른 MSC의 일부의 데몬 프로세스도를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 5는 본 발명의 일실시예의 특징에 따른 MSC의 일부를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 6은 본 발명의 일실시예의 특징에 따른 MSC의 일부를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 7는 본 발명의 일실시예의 특징에 따른 시스템의 일예를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 8는 본 발명의 일실시예의 특징에 따른 MSC의 일부의 구조 배치도를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 9는 본 발명의 일실시예의 특징에 따른 서버 메시지 루프를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 10은 본 발명의 일실시예의 특징에 따른 메시지의 표를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 11은 본 발명의 일실시예의 특징에 따른 메시지의 표를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 12a 및 도 12b는 본 발명의 일실시예의 특징에 따른 UML 다이어그램을 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 13은 본 발명의 일실시예의 특징에 따른 UML 다이어그램을 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 14a 및 도 14b는 본 발명의 일실시예의 특징에 따른 UML 클래스 다이어그램을 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 15는 본 발명의 일실시예의 특징에 따른 UML 클래스 다이어그램을 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 16은 본 발명의 일실시예의 특징에 따른 UML 클래스 다이어그램을 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 17은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래피컬 유저 인터페이스 스크린을 도시한 예시도,
도 18은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린 도시한 예시도,
도 19는 본 발명의 일실시예의 특징에 따른 MSC의 일부를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 20a 및 도 20b는 본 발명의 일실시예의 특징에 따른, 중립적인 랭귀지 포맷로부터 디바이스 랭귀지 포맷으로의 변환을 구현하도록 사용될 수 있는 데이터베이스 및 스크립 코드를 도시한 예시도,
도 21은 본 발명의 일실시예의 특징에 따른 MSC의 일부를 개략적으로 그리고 블록도 형태로 도시한 예시도,
도 22는 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 23은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 24는 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인 터페이스 스크린을 도시한 예시도,
도 25는 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 26은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 27은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 28은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 29는 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 30은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 31은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 32는 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 33은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 34는 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인 터페이스 스크린을 도시한 예시도,
도 35는 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 36은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 37은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 38은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 39는 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 40은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 41은 본 발명의 일실시예의 특징에 따라 사용될 수 있는 그래픽 유저 인터페이스 스크린을 도시한 예시도,
도 42a 내지 도 42e는 본 발명의 일실시예의 특징에 따른 데이터베이스 테이블의 세터를 블록도 형태로 도시한 예시도,
도 43a 내지 도 43c는 본 발명의 일실시예의 특징에 따른 MSC의 일부를 개략적으로 그리고 블록도 형태로 도시한 예시도, 및
도 44는 본 발명의 일실시예의 특징에 따른 MSC의 일부를 개략적으로 그리고 블록도 형태로 도시한 예시도.
본 발명의 일실시예의 특징에 따라 소프트웨어로 구현되는 컨트롤러를 포함하는 마스터 시스템 컨트롤러("MSC")가 상술된 바와 같은 LTPS 레이저 어닐링 시스템와 같은, 고전력 긴 얇은 빔 표면 처리 시스템을 위해 제공될 수 있다. 도 1에 블록 형태로 개략적으로 예시된 MSC(10)는 TCZ 900X 레이저 어닐링 장치내의 레이저 어닐링 시스템에 의해 처리되는 패널, 제품의 기판상에 일층으로 비정질 실리콘을 어닐링하기 위한 TCZ 900X 펄싱된 긴 얇은 빔 레이저 어닐링 시스템과 같은, 레이저 표면 처리 시스템의 하드웨어 컴포넌트를 컨트롤하도록 마스터 시스템 컨트롤러로서 기능할 수 있는 컨트롤러 소프트웨어를 갖고 있다. MSC는 예를 들어, TCZ 900X 머신의 동작의 다른 특징은 물론, 고전력 DUV 조사의 긴 얇은 빔에 대한 제품의 배치 및 DUV 조사의 긴 얇은 빔에 대한 제품의 이동과 같은 레이저 동작의 특징과 같은 다양한 특징의 프로세스를 컨트롤할 수 있다. MSC(10) 소프트웨어를 사용하면, 프로세스 엔지니어는 리사이프 및 프로젝트를 한정할 수 있고, 실리콘 기판을 처리하고 머신 성능을 모니터링하는 작업을 실행할 수 있다. MSC(10)의 구조는 TCZ 900X 장치와 협동하여 기능할 수 있다. 툴 컴포넌트는 본 발명의 일실시예의 특징에 따라, TCZ 900X 툴의 동작이 가장 저렴하도록 그리고 동시에, 소비자로부터 소비자로 그리고 여러번 그리고 소비자 기구내의 사용간 다양한 소비자 필요에 툴의 동작을 용이하게 적용하도록 동작의 융통성을 제공하도록 충분히 높은 처리향에 대해 TCZ 900X 툴의 동작의 특정 특징에 대해 최적화될 수 있다.
다음은 MSC(10)의 동작의 이해를 돕기 위한 용어사전이다.
용어 정의
잡은 잡 큐에서 큐잉될 수 있는 "리사이프" 또는 "프로젝트"이다.
롯은 보통 각각 25개에 이르는 제품/기판으로 구성되는 하나 이상의 카세트.
리사이프 리사이프는 기판을 처리하기 위한 모든 파라미터의 컨테이너이다. 즉, 이미지의 집합이다.
이미지 기판은 상이한 프로세스 컨디션에 영향받을 수도 있다. 이미지는 펄스 에너지 또는 포커스 포지션과 같은 프로세스 컨디션의 세트이다.
프로젝트 프로젝트(잡)는 특정 유지 또는 모니터링 활동을 실행하는데 필요한 일련의 태스크이다.
태스크 태스크는 시퀀싱, 브런칭 및 루핑 로직을 갖는 액션의 집합이다.
액션 액션은 저레벨 시스템 또는 디바이스 커맨드 또는 또 다른 태스크에 대한 콜의 집합이다.
기판 실리콘 기판은 결정질화 프로세스에 대한 견본(제품)이다.
롯간 유지 하나의 롯과 다음 롯 사이에 요구되는 유지 액션.
이미지간 유지 많은 이미지는 기판에 존재할 수 있다. 이러한 이미지는 시스템이 다음 이미지에 대해 준비하기 위해 걸리는 시간에 실행될 수 있는 유지 액션일 수 있다.
이미지 스타트 포지션 이것은 기판의 스타트 코너에 대한 스타트 포지션이다.
이미지 엔드 포지션 이것은 기판의 엔드 코더에 대한 엔드 포지션이다.
이미지 스텝 사이즈 이것은 빔 길이축상의 2개의 펄스간의 중심선 거리이다.
이미지 빔 폭 예를 들어, 조사 빔의 단축을 가로질러 최대가 되는 반치폭(full width half max)
기판 회전 예를 들어, 0° 또는 90° 방위
기판 사이즈 모든 기판은 직사각형이다. 사이즈는 길이 및 폭에 의해 정의되어서 산업 표준 기판 사이즈에 따라, 2,3 및 4세대로 카테고리화된다.
오토 포커스 예를 들어, 작업 스테이지에서의 센서는 실제 기판 위치를 측정할 수 있고 시스템은 기판 두께 또는 다른 원인으로 인한 작은 변형을 보상할 수 있다.
스테이지 높이 예를 들어, 스테이지의 수직 포지션
리사이프 기판을 결정화하는데 사용되는 프로세스 파라미터를 정의한다.
프로젝트 스케줄 일부 프로젝트(특히, 모니터링 프로젝트)는 주기적으로 동작될 수도 있다. 이러한 프로젝트 스케줄은 이러한 프로젝트를 언제 실행시킬 지, 매일, 매주 또는 매월 실행시킬 지를 지정한다. 스케줄링된 프로젝트가 실행될 때 머신이 동작하는 것을 보장하기 위해, 스케줄링된 프로젝트는 그 날의 제1 기판이 처리되기 전에 실시될 수 있다.
프로젝트 매니저 프로젝트 매니저는 프로세스 엔지니어가 프로젝트를 생성, 수정 그리고 삭제하는 것을 돕는 MSC 모듈이다.
리사이프 매니저 리사이프 매니저는 이미지를 포함할 수 있는 리사이프를 프로세스 엔지니어가 생성/수정/삭제하는 것을 돕는 MSC 모듈이다.
프로세스 매니저/잡 매니저 프로세스 매니저는 잡 큐로 프로젝트 및 리사이프를 프로세스 엔지니어가 추가/제거/리오더링하는 돕는 MSC 모듈이다.
디바이스 대기 상태 이것은 (관심의) 태스크를 실행하는데 필요한 모든 초기 조건이 충족될 때의 디바이스의 상태이다. 이것은 디바이스 및 태스크에 의해 변한다.
LTPS 저온 폴리 실리콘
tbSLS 얇은 빔 시퀀션 측방향 솔리디피케이션
MSC 마스터 시스템 컨트롤러. 이것은 레이저 표면 처리 툴을 컨트롤하기 위한 맞춤 구조 및 소프트웨어를 갖는 리눅스 PC 기판 솔루션이다.
프로세스 엔지니어 프로세스 엔지니어는 기판을 처리하는 것과 같은 일간 생산 동작을 실행하는 개인이다. 프로세스 엔지니어는 시스템에 대하여 제한된 액세스를 갖는다.
필드 서비스 엔지니어 필드 서비스 엔지니어는 매일 프로세스 최적화 및 성능 모니터링 동작을 실행하는 개인다. 이 사람들은 시스템에 일부 추가적인 액세스를 갖는 시스템 판매자 훈련된 엔지니어일 수 있다.
관리자 관리자는 고장 수리 및 실행 동작을 실행하는 개인다. 이들은 시스템에 대한 완전한 액세스를 갖는다.
프로세스 최적화 이것은 생산 기판 공정전에 프로세스 파라미터의 디테일을 결정하는 반복적인 프로세스이다.
MES 제조 실행 시스템
SEMI 반도체 장비 및 재료 공급자 포럼
SECS SEMI 장비 통신 스탠더드
GEMS 일반적인 장비 모델
본 발명의 일실시예의 특징에 따라, MSC(10)는 사용자가 리사이프를 정의하고 잡을 실행할 수 있도록 하는 그래픽 유저 인터페이스("GUI")(40) 및 데몬 프로세스등을 갖는 상태와 같은 디바이스 커맨드를 발행하고 디바이스 상태를 체크하기 위한 수단(20)과 같은 하나 이상의 주요 소프트웨어 컴포넌트로 구성될 수 있다. 본 발명의 일실시예의 특징에 따라, MSC(10)는 그 데이터를 지속적으로 저장하기 위해 데이터베이스를 사용할 수 있다. 이 데이터베이스는 시스템 특정 정보를 포함할 수 있는 읽기전용 제너릭(OEM) 스키마 및 사용자 특정 정보를 포함하는 판독기록 사용자 특정(MSC) 스키마의 2개의 스키마를 사용할 수 있다.
MSC 컨트롤러(10)는 TCP/IP 소켓과 같은 특정 통신 프로토콜을 사용하여 디바이스의 대부분과 통신할 수 있고, 또한 GUI 유저 인터페이스에 의해 할 수도 있다.
MSC(10)는 각각 시스템의 서버, 통신, 유저 인터페이스 및 데이터베이스 특징을 포함하는 구조 및 디자인 레벨에서 설명될 수 있다.
다음 용어 및 머리글자어는 MSC 컨트롤러(10)의 동작 및 디자인을 설명하는 데 사용될 수 있다.
데몬 프로세서: 사용자 요구에 따라 계속 디바이스 상태를 체크하고 디바 이스 커맨드를 발행하는 서버 머신에 실행되는 컴퓨터 프 로세서;
OEM 스키마: 제조자에 의해 제공되는 상대적으로 안정적인 정보를 포 함하는 판독 전용 스키마;
MSC 스키마: 사용자에 의해 제공되는 리사이프 정의를 포함하는 기록 전용 스키마;
ICE9 데이터베이스:MSC 스키마 및 OEM 스키마를 포함하는 관련 데이터베이 스;
MES: 제조 실행 시스템
SEMI: 반도체 장비 및 재료 국제 표준
SECS/GEM: SEMI 장비 통신 표준 및 범용 장비 모델 인터페이스.
본 발명의 일실시예의 특징에 따라, 이러한 구조의 구성 및 동작에 기여하는 고레벨 특징은 프로젝트 스케줄링, 보안 및 액세스 컨트롤, 모듈 컨셉(수명 카운터), 워크플로, SEMI SECS/GEM 표준을 사용하는 MES 인터페이스, 리포팅 및 성능을 포함할 수 있다.
본 발명의 일실시예의 특징에 따라 이러한 것들은 프로젝트 스케줄링, 이벤트 및 스케줄에 모두에 기초한, 보안 및 액세스 컨트롤, 모듈의 플렉시블 및 제너릭 인트로덕션, 단지 디바이스가 아닌 모듈의 모니터링, 모듈 대체를 위한 스크린, 수명 카운터에 대한 플렉시블 및 제너릭 메커니즘, 값 및 텍스트와 같은 상태 탭으로의 유지 카운터의 디스플레이, 진단을 위한 맞춤 프로젝트 스크린, 다운로드 및 컨트롤, SEMI SECS/GEM 인터페이스를 사용한 소비자 MES(80)와의 통합, 프로젝트 리포팅, 스케줄링 및 폴더/파일 구조 및 성능 장점을 제공할 수 있다.
이러한 특징은 다음의 고레벨 컴포넌트를 사용하여 구현될 수 있다.
프로젝트 스케줄링: 서버-프로젝트 스케줄링;
보안 및 액세스 컨트롤 GUI-보안 관리:
서버-보안 관리;
모듈 컨셉(수명 카운터): GUI-시스템 구성 관리;
GUI-리포팅 관리;
GUI-잡 관리;
워크플로: GUI-프로젝트 관리;
GUI-워크플로 엔진;
GUI-리포트 관리
MES 인터페이스: 서버-MES 인터페이스;
리포팅: GUI-리포트 관리;
성능: 서버-잡 프로세싱
MSC(10)는 이루어진 작업을 나누기 위해 스레드 또는 프로세스를 사용하는지 여부의 구조적 질문에 하이브리드 접근법을 사용할 수 있다. 이러한 접근법에서, 스레드로 실시되는 핵심 태스크는 단일 프로세스를 포함하지만, 태스크의 코딩은 실제로 싱글 스레딩될 수 있다. 이것은 (메시지 큐 및 메시지 루프를 갖는) 자체 메시지 펌프를 갖는 각 스레드에 의해 가능해질 수 있다. 메시지 펌프에 의해 태스크로의 액세스는 실질상 시퀀셜 및 논블록킹될 수 있다. MSC(10)의 컨트롤 적용의 본 발명의 일실시예의 특징에 따라 이러한 하이브리드 접근법은 양측(스레드와 프로세스) 모두의 최상을 줄 수 있다.
본 발명의 일실시예의 특징에 따라, 다수의 스레드는 디바이스 인터페이스 접근법 당 하나의 스레드로 인터페이스에 대하여 사용될 수 있다. 이러한 접근법으로 인해 디바이스 인터페이스가 모든 디바이스를 컨트롤하기 위해 단일 스레드에 의존하는 대신에 통신 필요에 보다 부응할 수 있다. 상기 설명된 바와 같이, 동기화는 각 디바이스 인터페이스가 차단되지 않는 시퀀셜 액세스를 제공할 수 있는 자체 메시지 펌프를 가질 수 있기 때문에 이슈가 아니다. 메시지 펌프의 존재는 또한 바람직하게, 디바이스 인터페이스의 코드가 단일 스레딩될 수 있도록 할 수 있다.
본 발명의 일실시예의 특징에 따라, MSC(10)는 에러가 생성된 것을 사용자에게 통지하는 방법을 통합할 수 있다. 예를 들어, 디자인은 임의의 다른 메시지와같이 메시지 펌프를 사용하여 에러를 핸들링할 수 있다. 그러나, 에러 메시지는 특별한 우선순위가 할당될 수 있다. 결과적으로, 에러 메시지는 큐의 전방에 있지 않을 지라도 메모시 큐로부터 즉각 처리될 수 있다. 스레드를 인터럽팅하기 위해 신호를 사용하는 것과 같은 다른 접근법을 사용하는 것은 MSC(10)의 오브젝트 및 리소스를 미지의 상태로 남기게 할 수도 있다. MSC(10)가 에러 메시지 및 사용자 인터럽트에 응답할 수 있도록 보장하기 위해 블록킹 콜이 MSC(10)으로부터 제거될 수 있고 메시지 루프가 임의의 수용가능한 타임 리미트내에서 서비싱될 수 있다.
본 발명의 일실시예의 특징에 따라, 디자인 엔지니어는 태스크를 정의하고 이들을 OEM 데이터베이스에 저장하기 위해 스크립팅 랭귀지를 사용할 수 있다. 또한, MSC(10)는 디바이스를 단지 폴링할 수 있고, 즉, 디바이스로부터 아무런 인터럽트도 판독 전용 액세스를 위해 사용될 수 없다. 디바이스는 또한 컨트롤 및 진단을 위해 단지 단일 통신 채널만을 가질 수도 있다. 따라서, 아무런 스크립팅도 상태 루프 로직을 위해 필요하지 않을 수도 있고, 단일 프로세스에서의 다수의 스크립팅 인터프리터 및 패러럴 스레드가 회피될 수 있다.
MSC(10)에 부착된 모든 디바이스가 컨트롤 및 진단을 위해 별개의 통신 채널을 가지고 있다면, 디바이스 인터페이스당 하나의 스레드를 생성할 필요가 없을 수 있다. 오직 2개의 스레드, 컨트롤를 위한 것과 진단을 위한 것만이 디바이스의 수에 관계없이 필요할 수 있지만, 발명자는 특정 퍼포먼스를 이유로 해서 디바이스 하나를 사용하기로 결정하였다. 본 발명의 일실시예의 특징에 따라, 특정 제약이 발명자에 의해 인식되고 고려되었다. 예를 들어, 컨트롤러 시스템은 디바이스 타입에 관계없이 고레벨의 액션에 상응하는 디바이스 커맨드를 내도록 제너릭 메커니즘을 사용할 수 있다. 디바이스 커맨드는 코드내의 하드와이어보다는 데이터베이스 또는 파일에 저장될 수 있다. 이미지 파라미터는 이미지에 예를 들어, 유저 인터페이스 스크린에 코딩 수정없이 추가될 수 있다.
태스크 파라미터의 수 및 타입은 태스크마다 다를 수 있고, 태스크 파라미터 의 수/타입을 변경하거나 추가 태스크를 추가하는 것은 유저 인터페이스 스크린에 대한 코딩 수정을 포함하지 않는다. TCP-IP는 디바이스의 통신의 주요 형태일 수 있다. 이러한 시스템은 또한 디바이스로부터 응답을 받기를 기다릴 때 차단하지 않고 응답할 수 있다. 이러한 시스템은 모듈을 나타내고 이들의 유지 카운터를 업데이트하도록 일반적이고 플렉시블한 메커니즘을 사용할 수 있고, 필요하다면, 예를 들어, 처리량을 최대화하기 위해 TCZ 900X 결정화 프로세스 동안 컨트롤되는 장치의 작업 동안 퍼러렐 프로세싱을 실행할 수 있다. 이러한 시스템은 또한 사용자가 프로젝트를 한정하고 실행하고 보고하도록 하기 위해 일반적인 워크플로 엔진을 제공한다. 시스템은 MES(80)과 통신하기 위해 SEMI SECS/GEM 인터페이스를 사용한다.
본 발명의 일실시예의 특징에 따라, MSC(10) 소프트웨어 컨트롤러는 다음의 하드웨어, AMD 옵테론 x86-64비트 듀얼 프로세서 CPU, 램, RAIDI SCSI, RAID 1 Sata, 비디오 카드, NIC 및 터치 스크린 모니터와 함께 사용될 수 있다. 시스템은 또한 리눅스 레도라와 같은 운영체계, Postgres Relational DBMS와 같은 릴레이셔널 데이터베이스 및 Python과 같은 Scriptiong Engine을 채용할 수 있다.
본 발명의 일실시예의 특징에 따라, MSC(10)는 오브젝트-오리엔티드 및 UML 기반일 수 있다. 이러한 구조 및 디자인은 본원에서 설명되는 패키지 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램, 컴포넌트 다이어그램 및 디플로이먼트 다이어그램을 사용하여 예로서 설명되고 이해될 수 있다. 본 발명의 일실시예의 특징에 따라, 다른 이슈중에, 에러 핸들링 및 복구, 및 처리량에 대한 MSC(10)의 이 런 저런 특징의 영향은 발명자가 이러한 MSC(10)의 구조 및 동작을 선택하는데 있어 2가지 주요 요인을 수 있다.
본 발명의 일실시예의 특징에 따라, 구조의 개략은 MSC 소프트웨어의 기능이 적어도 2개의 탑레벨 컴포넌트 서버 데몬 프로세서 및 GUI 클라이언트에 의해 제공될 수 있다는 사실에서 시작할 수 있다. 서버 데몬 프로세서, 예를 들어, 도 1의 서버(20)는 디바이스 커맨드를 실행하고 디바이스의 상태를 모니터링하도록 기능할 수 있고. GUI 클라이언트, 예를 들어, 도 1의 GUI(40)은 사용자로부터 사용자 특정 정보 리사이프를 취하고 사용자 커맨드를 서버 데몬 프로세스(40)에 전송하는 책임을 가질 수 있다. GUI 클라이언트(10)은 또한 사용자에게 디바이스의 상태 및 결정질화 프로세스의 진행을 표시할 수 있다. MSC 시스템에 대한 톱 레벨의 일예가 시스템(10)의 주요 컴포넌트의 세트 및 이들의 관계를 도시하는 도 1 및 도 2에 도시되어 있다.
본 발명의 일실시예의 특징에 따라, 도 1 및 도 2의 블록도와 같이, OEM 스키마 데이터베이스(22)는 MSC 스키마 데이터베이스(24)로부터 분리될 수 있다. 이것은 OEM 스키마 데이터베이스(22)가 데이터 태스크 한정 데이터와 같은 읽기전용 정보를 포함할 수 있기 때문이다. 툴 사용자는 그것을 수정하도록 예상되지 않을 수 있다. MSC 스키마 데이터로부터 OEM 스키마 데이터를 분리상태로 유지함으로써, 워크 시스템 서플라이어, 예를 들어, MSC 시스템 매뉴팩처(OEM)로부터 새로운 태스크 한정으로 시스템을 업그레이드하는 것이 용이할 수 있고, 또한 예를 들어, 전체 시스템이 컨트롤되는 사용자의 특정 제조 시스템을 위한 처리량에 대해 최적 화하는 최상방법과 같은 특정 사용자의 필요 및 다른 필요에 맞춤되는 것이 보다 용이할 수 있다.
도 2에 도시된 바와 같이, MSC 스키마 읽기전용 데이터베이스(24)는 복수의 서브시스템, 예를 들어, 롯 관리 서브시스템(230), 리사이프 관리 서브시스템(232), 보안 관리 서브시스템(234), 프로젝트 관리 서브시스템(236), 시스템 구성 관리 서브시스템(270) 및 잡 프로세싱 서브시스템(42)에 링크될 수 있다. OEM 스키마 읽기전용 데이터베이스(26)는 또한 리사이프 관리 서브시스템(232), 보안 관리 서브시스템(234) 및 프로젝트 관리 서브시스템(236)에 접속될 수 있다. HOST일 수 있는 외부 서버(20)는 TCP/IP 소켓을 통해 MSC 스키마 데이터베이스(24)에 그리고 프로세스 관리 서브시스템(240)을 통해 서버 통신 관리 서브시스템(100)에 접속될 수 있고 서버 통신 관리 서브시스템(100)을 통해 이벤트 관리 서브시스템(250)에 접속될 수 있다. MSC 데이터베이스(24)는 또한 워크플로 엔진 서브시스템(280)을 통해 프로젝트 관리 서브시스템(236)에 접속될 수 있는 리포트 관리 서브시스템(290)과 통신할 수 있다.
본 발명의 일실시예의 특징에 따라, 구조 태스크 한정은 데이터베이스의 매크로 또는 스크립으로서 저장될 수 있다. 구조에 따라, 커맨드 인터프리터는 이러한 태스크 한정을 파싱하고 디바이스 커맨드를 실행하도록 사용될 수 있다. 예를 들어, 태스크 한정을 매크로 또는 스크립(모두 함께 여기서는 스크립으로서 부른다)을 데이터베이스에 저장함으로써, 마스터 컨트롤러의 로직은 컴파일된 코드로부터 데이터베이스내의 데이터로 이동될 수 있다. 이것은 MSC 소프트웨어의 코드를 재컴파일하지 않고 플라이에 마스터 시스템 컨트롤러(10)의 기능 및 인텔리전스를 변경하도록 플렉시블한 접근법을 제공할 수 있다.
구조의 프로세스 뷰에서 아래에서 설명될 수 있는 바와 같이, 각 서브시스템은 메시지 큐 및 메시지 루프를 가진 자체 메시지 펌프를 가질 수 있다. 이러한 메시지 펌프의 사용은 실질적으로 서브시스템에 대한 액세스를 시리얼라이징하여 서브시스템을 단일 스레딩되게 한다. 오직 소수의 서비스 서브시스템만이 안에 마무런 메시지 펌프를 가지고 있지 않고 멀티 스레딩될 수 있다. 단일 스레딩된 시스템은 아무런 동기화 이슈를 가지고 있지 않다. 이들은 또한 코딩하고 유지하기가 용이할 수 있다. 디바이스 인터페이스는 자체 스레드에서 실시될 수 있다. 잡 프로세서는 디바이스 인터페이스에 대한 비차단 콜을 만든다. 잡 프로세서로부터 일초 응답을 제공하기 위해, 비차단 콜이 필요할 수 있다. MSC(10)의 고레벨 디자인은 다음의 뷰, 각각 도 3 내지 도 7에 도시된 로지컬 뷰, 프로세스 뷰, 데이터 뷰, 디벨로프먼트 뷰 및 디플로이먼트 뷰를 사용하여 설명될 수 있다.
본 발명의 일실시예의 특징에 따라, 로지컬 뷰(300)는 시스템이 MSC(10)의 기능적 필요를 어떻게 제시하는지 설명할 수 있다. 그것은 디자인의 목표 모델일 수 있다. 도 1 및 도 3에 도시된 서버(20)측에서, 다음의 컴포넌트는 MSC(10)의 로지컬 뷰의 일부일 수 있다. 잡 매니저(30, 310)는 MSC 서버(20)에 대한 게이트키퍼를 포함할 수 있다. 이것은 GUI(40)로부터의 메시지를 컨트롤하고 잡 실행을 컨트롤하도록 응답할 수 있다. 잡 프로세서(42, 312)는 MSC 시스템 서버(20)의 워크호스를 포함할 수 있다. 이것은 커맨드 라이브러리 매니저(316)로부터의 커맨드 콜백을 갖는 Python과 같은 커맨드 인터프리터(314)를 사용하여 잡을 실행할 수 있다. 커맨드 콜백은 그룹, 예를 들어, 디바이스와의 통신을 위한 디바이스 커맨드, MSC(10)와의 데이터 전달을 위한 데이터 커맨드 및 MSC(10)와 통신하는 시스템 커맨드로 카테고리화될 수 있다. 데이터 오브젝트 매니저(320)는 데이터 커맨드의 구현을 촉진할 수 있다.
레이저 인터페이스(330), 스테이지 인터페이스(332), 마스터 디스트리뷰션("MD") 박스 인터페이스(334), 빔 스터빌리제이션 컨트롤러("BSC") 인터페이스(336), 감쇠기(338) 인터페이스(338), 서브시스템 n-1 인터페이스(340) 및 서브시스템 n 인터페이스(342)와 같은 하나 이상의 디바이스 인터페이스가 TCZ 900X 장치내의 이러한 물리적 또는 논리적 디바이스와 통신하는데 사용될 수 있다. 디바이스 인터페이스는 또한 디바이스와 MSC 서버(10) 사이의 통신을 위한 고레벨 추상화를 제공할 수 있다. MSC 시스템 서버(20)내에 처리되는 디바이스로의 모든 통신은 중립 랭귀지 포맷(NLF)을 사용하여 이루어질 수 있고, 그후에, NLF 커맨드 (여기에서 "제너릭 커맨드"로 불리기도 한다)는 각 특정 디바이스에 대한 디바이스 포맷(DF) 특정 커맨드("디바이스 특정 커맨드")로 전환될 수 있고 각 디바이스 인터페이스(330-342)를 통해 이러한 디바이스로 전송될 수 있다. 상태 매니저(50, 350)는 디바이스 인터페이스(330-342)를 통해 디바이스의 상태를 모니터링할 수 있다. 상태 매니저(350)는 또한 MSC 서버(20)내의 상태 메시지를 로그할 수 있다. UI 컨트롤 통신 매니저(60, 370)는 서버(20)와 GUI(40) 사이의 통신을 촉진시킬 수 있다. 컨트롤를 위한 것인지 또는 상태를 보고하기 위한 것인지 통신의 목적에 따 라, 이러한 컴포넌트의 하나 보다 많은 예, 즉, 컨트롤 메시지에 대한 UIControlCommManager(60, 370) 및 상태 메시지에 대한 UIStatusCommManager(60, 370')가 MSC 서버(20)에서 사용될 수 있다. 컨트롤 메시지는 MSC 서버(20)안팎으로 다닐 수 있다. 즉, 이들 메시지는 양방향을 갖는다. 그러나, 상태 메시지는 단지 서버(20)의 밖으로만 나갈 있다. 즉 이들 메시지는 일방향을 갖는다. 양쪽의 경우에, 서버(20)는 GUI(40)가 통신 접속 요구를 개시하기를 기달릴 수 있다. 프로젝트/잡 스케줄러(32, 380)는 레이저에 의해 생성된 펄스의 수, 처리되는 패널의 수등과 같은 임의의 다른 데이터에 기초하여 매일, 매주, 또는 매달 주기적인 또는 다른 선택된 실행의 시간 동안 활동 유지, 서비싱, 모니터링 및/또는 성능 보고 프로젝트를 스케줄링하는데 사용될 수 있다. 보안 서비스(34, 390)는 사용자를 인증하고 서버 층내의 시스템 특징에 대한 액세스를 컨트롤함으로써, 예를 들어, 로그인 컨트롤함으로써 보안 및 액세스 컨트롤을 제공할 수 있고, 예를 들어, 사용자 ID 및 인증, 머신 유용성등에 기초하여 MSC(10)를 사용하여 특정 동작을 실행하는 능력을 제공할 수 있다. 이러한 동작의 범위는 본원의 주제는 아니다. MES(80) 인터페이스(400)는 외부 시스템과의 통신을 예를 들어, SEMI SECS/GEM 인터페이스 표준을 사용하여 제공할 수 있다.
본 발명의 일실시예의 특징에 따라, MSC 서버(20)내에 오브젝트 디스커버리 팩실리티를 제공하는 네이밍 서비스, MSC 서버(20)내의 데이터 액세스를 위한 고레벨 추상화를 제공하는 데이터 액세스 서비스(420), MSC 서버(20)내의 고레벨 스레딩 및 동기화 팩실리티를 제공하는 스레드 서비스(430) 및 MSC 서버(20)내의 주요 컴포넌트간의 통신을 촉진하는 메시지 서비스(440)를 포함하는 다수의 서비스가 서버(20)내에 제공될 수 있다. 상술된 바와 같이, 2개의 데이터베이스, 즉, 시스템 한정된 태스크 및 파라미터를 포함할 수 있는 읽기전용 OEM 데이터베이스(22) 및 예를 들어, 리사이프, 롯, 프로젝트 및 잡을 위한 사용자 수정된 데이터를 포함할 수 있는 읽기-기록 MSC 데이터베이스(24)가 MSC 컨트롤러 시스템에 존재할 수 있다. 데이터 액세스 서비스에 의해 제공된 추상화에 더하여 애플리케이션 로직과 데이터 액세스간의 추가 분리가 임의의 애플리케이션 로직 없이 데이터베이스내의 데이터를 검색하고 업데이트하도록 코드를 포함할 수 있는 데이터 액세스 오브젝트(DAO) 헬퍼 클래스를 사용함으로써 얻어질 수 있다.
본 발명의 일실시예의 특징에 따라, 도 2 및 도 3에 도시된 GUI(40)측에서, 다음 컴포넌트는 MSC(10) 컨트롤러 시스템의 로직 뷰의 일부일 수 있다. 리사이프 매니저(510)는 사용자가 리사이프 및 연관된 리사이프를 GUI(40)를 사용하여 생성, 업데이트, 삭제, 카피 및 페이스트하도록 하기 위해 기능할 수 있다. 프로젝트 매니저(520)는 사용자가 GUI(40)를 사용하여 시스템에 의해 공급된 태스크에 대하여 프로젝트를 생성, 업데이터 및 삭제하도록 할 수 있고, 또한 사용자가 예를 들어, 프로젝트를 위한 스케줄을 제공하도록 할 수 있다. 잡 매니저/프로세스 매니저(530)는 사용자가 GUI(40)를 사용하여 잡을 생성, 삭제, 리오더링하고 실행하도록 할 수 있다. 잡/프로세스 매니저(530)는 또한 사용자가 잡 실행을 중지, 재시작 또는 중단시킬 수 있도록 한다. 잡/프로세스 매니저(530)는 또한 잡이 각 잡후의 정지 단계에서 실시되거나 잡/프로세스간 정지 없이 연속 모드에서 실시될 수 있게 하고, 컨트롤 메시지를 서버 컨트롤 통신 매니저(540)를 통해 MSC 서버(20)로 전송 및 수신할 수 있다. 상태/이벤트 매니저(550)는 사용자가 서버 진단 통신 매니저(560)를 통해 MSC 서버(20)로부터 상태 메시지를 볼 수 있도록 하고, 사용자가 예르 들어, 타이밍, 시비어리티 및 메시지 콘텐트에 기초하여 상태 메시지를 필터링하도록 할 수 있다. 시스템 구성 매니저(570)는 사용자가 서버/GUI 시스템 구성 및 디바이스 구성 정보를 업데이트하도록 할 수 있다. 시스템 구성 정보 변경은 캐싱된 값을 리프레싱함으로써 GUI(40) 및 서버(20)에 즉시 적용될 수 있다. 디바이스 구성 변경은 디바이스가 재접속될 수 있을 때 또는 적합한 잡이 실행될 수 있을 때 적용될 수 있다. 서버 통신 매니저(540, 560)는 GUI(40)와 서버(20) 사이의 통신을 촉진시킬 수 있다. 컨트롤을 위한 것인지 또는 상태 보고를 위한 것인지, 통신의 목적에 따라, 이러한 컴포넌트의 하나 보다 많은 예는 GUI(40)에서 사용될 수 있느데, 서버 컨트롤 통신 매니저(540)는 컨트롤 메시지를 위해 그리고 서버 상태 통신 매니저(560)는 상태 메시지를 위해 사용될 수 있다. 컨트롤 메시지는 GUI(40) 안팍으로 이동될 수 있다. 즉, 양방향성을 가질 수 있다. 상태 메시지는 MSC 서버(20)에서 나올 수 있을 뿐이다. 즉 단방향성을 가질 수 있다. 그러나, 양측의 경우에, GUI(40)는 먼저 통신을 위해 MSC(20)로 접속된다. 보안 매니저(580)는 사용자를 인증함으로써 보안 및 액세스 컨트롤을 제공할 수 있고 GUI(40)층내의 시스템 특징부로의 액세스를 컨트롤할 수 있다. 워크플로 엔진(590)에 의해 사용자는 맞춤 스크린을 사용하여 프로젝트를 한정, 실행 및 보고할 수 있다. 이러한 컴포넌트는 프로젝트 관리 시스템 컴포넌트(520)에서 유용한 제너릭 기능에 대한 맞춤 뷰를 제공할 수 있다. 워크플로 엔진(590)은 또한 보고 매니저(600)에 의해 표시되고 시스템내의 다양한 컴포넌트에 의해 생성된 프로젝트 실행 결과 리포트를 갖는 리포트를 디스플레이하기 위해 리포트 관리 시스템(600)을 사용할 수 있다. 데이터 액세스 서비스(610)는 GUI(40)로부터의 데이터 액세스를 위한 고레벨 추상화를 제공할 수 있다.
본 발명의 일실시예의 특징에 따라, 도 4에 블록도 형태로 도시된 서버 데몬 프로세스 뷰(650)는 MSC(10)의 동시발생, 퍼포먼스 및 스케일러빌리티와 같은 비기능 필요를 나타내고 있다. 도 4에 예시된 프로세스 뷰(650)는 디자인의 스레딩 및 동기화 특징을 포착한다. 2개의 컴포넌트, 스레드 서비스 및 메시지 서비스는 MSC 서버(20)내의 동기발생 및 인트라 컴포넌트 통신 팩실리티를 제공한다. 스레드 서비스 컴포넌트는 MSC 서버(20)내의 고레벨 스레딩 및 동기화 팩실리티를 제공한다. 메시지 서비스 컴포넌트는 MSC 서버(20)내의 주요 컴포넌트간의 통신을 촉진시킨다. 메시지 서비스 컴포넌트는 다른 컴포넌트로부터 수신된 메시지를 저장하는 메시지 큐(660) 및 선입선출(FIFO) 순서로 컴포넌트에 메시지를 디스패칭하는 메시지 펌프(670)로 구성되어 있다. 다양한 스레드에 의한 메시지 큐(660)의 사용은 상이한 프로세스에 의한 공유된 메모리의 사용과 보다 유사한다. 디스패치하기 위해 남겨진 메시지가 더 이상 없을 때, 메시지 펌프(670) 스레드는 예를 들어, 메시지 목적지 컴포넌트의 메시지 큐(660)에 메시지를 포스트한 후에 스레드 컨디셔널 변수를 기다릴 수 있고, 메시지 소스 컴포넌트는 목적지 컴포넌트의 대기 스레드를 깨울 수 있다. 이것은 메시지 펌프(670)내의 아무런 비지 웨이트 루프가 없기 때 문에 최대화된 성능을 제공할 수 있다.
MSC 서버(20)내의 각 주요 컴포넌트는 각 메시지 펌프(670) 및 관련된 메시지 큐(660)를 갖는 자체 스레드에서 실시될 수 있다.이러한 컴포넌트는 서로에게 메시지를 포스팅함으로써 서로 통신하여 통신의 비동기 플로를 제공할 수 있다. 싱글 디바이스(330'-342': 도 8에 도시됨)와의 통신은 각 디바이스 인터페이스 컴포넌트(330-342)내의 메시지 큐(660)를 사용함으로써 시리얼라이징될 수 있다. 각 디바이스 인터페이스(330-342)가 자체 스레드에서 실시되기 때문에 커맨드는 다수의 디바이스(330'-342')에 동시에 전송될 수 있다.
자체 스레드내의 MSC 서버(20)의 각 주요 컴포넌트를 실시하는 또 다른 장점은 이러한 컴포넌트가 다수의 스레딩된 프로그래밍의 복잡성 없이 단일 스레딩 코딩될 수 있다는 것이다. 메시지 서버(440), 네이밍 서비스(410) 및 데이터 액세스 서비스(420)와 같은 서비스 컴포넌트(도 3에 도시됨)는 하나 보다 많은 스레드가 이러한 서비스를 동시에 사용할 수 있기 때문에 멀티스레딩될 수 있다. 멀티스레딩된 프로그래밍을 소수의 서비스 컴포넌트로 한정함으로써, 대다수의 MSC 서버(20) 컴포넌트는 코딩 및 유지가 용이할 수 있다.
도 5에 블록도 형태로 개략적으로 예시된 데이터 뷰(680)는 MSC(10)의 데이터 필요, 즉 데이터 저장 및 검색 메커니즘을 나타낼 수 있다. GUI(40) 및 MSC 서버(20)내의 데이터 액세스 서비스 컴포넌트(420)(별개의 유닛이 또한 일부 실시예에서 가능할 수 있지만, 개시된 본발명의 일실시예의 특징에 따라 실제로 오직 하나만이 필요하고 실제로 사용되지만 설명의 용이를 위해 도 5에 별개로 도시되어 있다) MSC(10)내의 데이터 액세스를 위한 고레벨 추상화를 제공할 수 있다. 데이터 액세스 서비스 컴포넌트(420)는 MSC 애플리케이션 및 프리젠테이션 로직에 대해 데이터 스토어 독립성의 층을 제공하기 위해 MSC(10)에 데이터를 저장하고 검색하기 위해 사용된 실제 데이터 스토어의 디테일을 숨길 수 있다. MSC(10)는 2개의 데이터 스토어, 즉, 사용자 특정 정보 리사이프 관련된 데이터를 판독하고 기록하기 위한 하나의 데이터 스토어(24) 및 OEM 특정 데이터 시스템 및 디바이스 구성 데이터만을 판독하기 위한 또 다른 데이터 스토어(22)를 사용할 수 있다. 판독 및 기록 액세스 경로는 양방향 통신으로서 도 5의 데이터 뷰(680)의 예에 도시되어 있다. 읽기 전용 액세스 경로는 단방향 통신으로서 도 5의 데이터 뷰(680)의 예에 도시되어 있다.
도 6에 개략적으로 그리고 블록도 형태로 예시된 GUI 데이터 뷰가 도시되어 있고, GUI의 데이터 필요는 서버에 대해 상술된 것과 유사하다. 데이터 액세스 서비스 컴포넌트(오직 하나가 필요한 것으로 예시되어 있지만 예시를 위해 2개가 도시되어 있다)에 의해 롯 관리 컴포넌트(500), 리사이프 관리 컴포넌트(510), 시스템 구성 관리 컴포넌트(270) 및 보안 관리 컴포넌트(580)는 MSC 스키마 데이터베이스부(24) 및 OEM 스키마 데이터베이스부(22)로의 액세스가 가능하고, 프로세스 관리 컴포넌트(530), 리포트 관리 컴포넌트(600) 및 이벤트 관리 컴포넌트는 오직 데이터베이스의 MSC 스키마부에만 접속되도록 되어 있다.
도 7은 본 발명의 특징에 따라, 레이저 조사 얇은 빔 프로세싱 시스템과 같은 조사 프로세싱 시스템(700)을 개략적으로 그리고 블록도 형태로 도시하고 있다. 이것은 레이저 디바이스 컨트롤러(710), 워크 스테이지 컨트롤러(720), 도 43a, b, c에서 일실시예가 도시된 MSC(10)와 같은 시스템 컨트롤러 및 일부 다른 n개의 디바이스에 대한 컨트롤러를 포함할 수 있다.
본 발명의 일실시예의 특징에 따라, 블록도 형태로 예시된 도 8에 개략적으로 도시된 배치도(800)는 MSC(10)의 토폴로지 및 통신 특징을 설명하고 있다. 이러한 배치도(800)는 하드웨어로의 소프트웨어의 맵핑을 설명하고 그 분포된 특징을 나타내고 있다. 도 8의 배치도의 예는 MSC(10) 소프트웨어가 어떻게 하드웨어에 물리적으로 구현될 수 있는지를 도시하고 있다. MSC(10)는 TCZ 900X 프로젝트의 소프트웨어 컴포넌트일 수 있다. MSC 서버(20), MSC GUI(40), 및 2개의 데이터베이스/데이터베이스부(MSC(24) 및 OEM(22))는 단일 64 비트 듀얼 프로세서 리눅스 머신(810)에서 실시될 수 있다. MSC(10)는 TCZ 900X 머신의 일부일 수 있는 다수의 물리적 디바이스(330-336')에 접속될 수 있다. MSC(10)와 디바이스(330-336')간의 통신은 대부분에 대하여, 이러한 배열예에서, 도 8의 예에 의해 도시된 바와 같이 TCP/IP 소켓을 통할 수 있다. 또한, USB 인터페이스는 빔 메트롤지 유닛(830)내의 카메라(도시되지 않음) 또는 다은 빔 메트롤지 장치와 통신하는데 사용될 수 있다. MSC 서버(20)는 일예로서 도 8에 도시된 바와 같이 TCP/IP 소켓을 사용하여 MSC GUI(40)과 통신할 수 있다. 레이저(330') 및 BSC(336')과 같은 일부 디바이스는 단지 통신용 시리얼 포트만을 가질 수 있다. 이러한 경우에 MSC(10)는 TCP/IP 커넥션을 통해 랜트로닉스 모듈(840)에 접속될 수 있고, 그다음 TCP/IP 로 시리얼 포트 신호를 변환시키거나 그 반대로 할 수 있다. MSC(10)는 MSC(24) 및 OEM(22) 데이터베이스/데이터베이스부에 대한 포스트그레스QL를 사용할 수 있다. MSC 서버(20)는 libpq를 사용하여 데이터베이스(22, 24)에 그리고 JDBC를 사용하여 MSC GUI(40)에 접속할 수 있다. MSC(10) 및 디바이스(330'-338')는 또한 Cisco VPN PIX 방화벽(820) 뒤의 랜 스위치(814)를 가진 사설 랜에 있을 수 있다. 방화벽(820)의 외부로부터 MSC(10)로의 액세스는 방화벽(820)를 통해 VPN를 사용하여 제한된 예에서 허용될 수 있다.
도 10의 표는 본 발명의 일실시예의 특징에 따라 시스템의 컴포넌트간의 통신을 위해 사용되는 다양한 메시지를 도시한다. 도 11의 표는 사용될 수 있는 메시지의 예를 도시한다.
이제 도 12a에는 MSCSchedule 모듈(3010)과 통신상태에 있는 MSCObject 모듈(3002), MSCTask 모듈(3012), MSCImage 모듈(3014), MSCLot 모듈(3016), MSCProject 모듈(3018) 및 MSCJob 모듈(3020), 및 MSCRecipe 모듈(3022) 및 MCSMessage 모듈(3024)를 포함하는 MSC(10) 서버(20)내의 통신 링크 및 다양한 구성의 계층이 도시되어 있다. 또한, MSCObject 모듈(3002), MSC Tread 모듈(3004), MSCMessagePump 모듈(3006)과 MSCJobManager 모듈(3030), MSCDeviceInterface 모듈(3032), MSCServer 모듈(3034), MSCUICommManager 모듈(3036), MSCJobProcessor 모듈(3038), MSCStatusmanager 모듈(3040), MSCJobScheduler 모듈(3041) 및 MSCSchedulerTimer 모듈(3042)와의 접속이 예시되어 있다.
도 12b에 processMessage( ), postMessage( ), dispatch( ) and getNextMessage와 같은 실행가능한 커맨드의 예를 갖는 MSCMessagePump 모듈(3008) 과 MSCMessageQueue 모듈(3034) 및 MSCMessageLoop모듈(3043)의 접속의 예, 그리고, startJobQueue( ), stopJobQueue( ), haltTobQueue( ) 및 resumeJobQueue( )의 실행가능한 커맨드를 갖고, MSCJobQueue 모듈(3044) 및 MSCJob 모듈(3020)와 통신상태에 있는 MSCJobManager 모듈(3009)가 예시되어 있다. 또한, MSCObjectMap 모듈(3052)와 통신하고 있는 MSCNameService 모듈(3050) 및 MSCDataFormatter(3056)와 통신하고 있는 MSC DeviceINerface 모듈(3054) 및 MSCCommunicationn 모듈(3062)를 통해 MSCResultsSet 모듈(3064)와 통신하고 있는 MSC DataAccessService 모듈(3060)와 2개의 스탠드얼론 모듈, MSC SecurityService 모듈(3066) 및 MSCMEInterface 모듈(3068)이 도시되어 있다.
도 13은 예를 들어, MSCClient Socket 모듈(3084)을 통해 추가 MSCDevicelnterface 모듈(3096)에 그리고 MSCServerSocket 모듈(3086)을 통해 MSCUserlnterfaceCommunication 모듈(3088)에 접속된 MSCSocket 모듈(3082)을 도시하고 있는 본 발명의 일실시예의 특징에 따른, MSC(10) 서버 디자인 디바이스 인터페이스의 일예를 블록도로 도시하고 있다. 또한, MSCCommINterface 모듈(3092)을 통해 추가 MSCDevicelnterface 모듈(3096), MSCStagelnterface 모듈(3098), MSClLaserlnterface 모듈(3100) 및 MSCMDBoxInterface 모듈(3102)에 접속된 MSCDevicelnterface 모듈(3090)이 도시되어 있다.
도 14a는 MSCStatusLoop 모듈(3122)와 통신하는 MSCStatusManager 모듈(3040)을 포함하는, 본 발명의 일실시예의 특징에 따른 MSC(10) 서버 디자인 매니저 클래스 인터페이스를 블록도로 도시하고 있다. 또한, 각 직렬 링크, 예를 들 어, MSCTask 모듈(3012) 및 MSCProject 모듈(3018) 그리고 MSCImage 모듈(3014), MSCRecipe 모듈(3022) 및 MSCLot 모듈(3016)에 병렬로 MSCJob 모듈(3020)을 통해 통신하는 MSCDataObjectManager 모듈(3124)이 예시되어 있다. 또한, MSCDataObjectManager 모듈(3152), MSCCmdLibraryManager 모듈(3154), MSCProject 모듈(3018) 및 MSCCmdlnterpreter 모듈(3158)과 통신하는 MSCJobProcessor 모듈(3038)이 예시되어 있다. 또한, 도 14b에 도시된 바와 같이, initialize( ), refreshSchedule( ), timerEnded( ) 및 addJobToQueue( )와 같은 실행가능한 커맨드 및 정보를 가진 MSCJobScheduler 모듈(3041)은 startTimer( )와 같은 실행가능한 커맨드를 가진 MSCScheduletimer 모듈(3042)과 통신할 수 있다. getConfigMode( ), login( ), switchUser( ), HstUsers( ), updateUser( ), loginRole9 ), switchRole( ), listRoles( ), UpdateRole( ), getLogin( ), isallowed( ) and checkPermission( )와 같은 실행가능한 커맨드 및 정보를 가진 MSCSecurity Services 모듈(3066)이 도시되어 있다.
도 15에, 예를 들어, Pytononlnterpreter 모듈(3122)과 통신하는 MSC Cmdlnterpreter 모듈(3120) 및 MSCCmdCallback 모듈(3132)을 통해 MSCSysCmdCallback 모듈(3132), an MSCDataCmdCallback 모듈(3134) 및 MSCDevCmdCallback 모듈(3136)과 통신하는 MSCCmdLibraryManager 모듈(3130)을 포함하는 MSC 서버 인터프리터 인터페이스의 블록도가 예시되어 있다.
도 16은 나열된 실행가능한 커맨드 및 정보를 포함하는 다음의 모듈을 포함하는 MSC GUI 디자인의 일예를 개략적으로 그리고 블록도 형태로 도시하고 있다: 상술된 바와 같은 Security Manager 모듈(3066), 도 2에 역시 도시된 Lot Manager 모듈(230)(listLots( ), getLot( ), createLot( ), updateLot( ), deleteLot( )); RecipeManager 모듈(232) (listRecipe( ), getRecipe( ), xcreateRecipe( ) updateRecipe( ) deleteRecipe( ) listRecipeImages( ), addRecipeImage( ), updateRecipeImage( ), removeRecipeImage( ), reorderRecipeImages( )); JobManager 모듈(3009) (listTobs( ), ge[upsilon]ob( ), addJobToQueue( ), removeJobFromQueue( ), reorderJobQueue( ), startJobQueue( ), stopJobQueue( ) and setJobQueueMode( )); ReportManager 모듈(290) (HstReports( ), displayReport( )); StatusManager 모듈(3040) (displayAHMessages( ), filterMessages( )); SysConf[iota]gManager 모듈(570) (listConfigs( ), getConfig( ), updateConfigParameters( )); ProjectManager 모듈(236) (IistProjects( ), getProject( ), createProject( ), updateProject( ), deleteProject( ), HstProjectTasks( ), addProjectTask( ), updateProjectTask( ), removeProjectTask( ), reorderProjectTasks( )), 및 WorkfloManager module 280 (createCustomView( ), displayCustomView( ), updateCustomView( ), executeCustomView( ), CustomViewclose( )).
도 17은 도시된 바와 같이 "OK"와 같은 시스템 상태(2402), 도시된 바와 같이 "없음"과 같은 현재의 "경고"의 지시(2404), "처리중"으로 도시된 시스템 컨디션의 지시(2406)를 날자 및 시간에 더하여 스크린(2400)의 바닥의 위치에 지시할 수 있는 그래피컬 유저 인터페이스("GUI") 디스플레이 "메인" 스크린(2400)의 일예 를 도시하고 있다. 상부에는, 도시된 오퍼레이터와 같은 타임(2410)내에 로그된 사람의 역할 및 시스템 레벨 계층의 순서로 롯, 리사이프, 잡, 프로젝트 및 시스템과 같은 다른 디슬르레이에 사용자가 도달하기 위한 선택 버튼(2412) 및 로그 및 도움 기능 버튼(2414)의 표시가 있다. 또한 이러한 "메인" 스크린에는 사용자 ID 번호(2418)가 표시되어 있다. 본원의 다른 데서 설명된 도 18의 GUI 스크린(2160)에 사용자가 도달할 수 있도록 로그와 같은 선택이 존재한다.
도 19에서, 예를 들어, 프론트엔드 GUI 프로세스(40) 또는 백엔드 서버 프로세스(20)중 하나 또는 모드로의, 스레딩된 소켓 서버, 메시지 펌프 및 스레딩된 데이터베이스 접속을 갖는 데이터 및 메시지 프로세스("DMP")(906)에 대한 외부 통신 프로세스("ECP")의 접속이 개략적으로 그리고 블록도 형태로 도시되어 있다.
도 20a는 python 레이저 클래스 또는 python 태스크 스크립트등으로 디바이스 추상화 내추럴 랭귀지 포맷("NLF")을 구현하는 코드를 도시하고 있다. 마찬가지로, 도 20b에는 PostgreSQL로 이러한 코드가 도시되어 있다.
본 발명의 개시된 일실시예의 특징에 따라, 마스터 시스템 컨트롤러(MSC) 소프트웨어는 TCZ 900X 장치/워크피스 프로세싱 툴의 하드웨어 컴포넌트를 컨트롤하기 위해 마스터 시스템 컨트롤러로서 기능할 수 있다. MSC 소프트웨어를 사용하여, 프로세스 엔지니어는 리사이프 및 프로젝트를 한정하고, 잡을 실행하여 실리콘 기판을 처리하고 머신 성능 등을 모니터링할 수 있다.
도 43a 내지 도 43c에는, 본 발명의 일실시예의 특징에 따른 도 7의 시스템 컨트롤러 MSC(10)와 같은 시스템 컨트롤러를 개략적으로 도시한 블록도가 도시되어 있다. 팩토리 오토메이션 호스트와 같은 호스트(910)는 GEM 라이브러리(904)등을 통해 외부 통신 프로세서("ECP")에 접속될 수 있다. 데이터 및 메시지 프로세서("DMP")(906)는 ECP(902)로, 그리고 GUI인터페이스(40)로 그리고 툴 오퍼레이터로 접속될 수 있다. DMP(906)는 또한 백엔드 서비스 프로세서("BSP")(20)에 그리고, (도 43c에 도시된) 디바이스 드라이버 인터페이스(120) 및 디바이스 드라이버(22)등을 통해 OEM 데이터베이스(22) 및 디바이스(120b)와 통신할 수 있는 진단 데이터 분석 프로세서("DAS")(908)에 접속될 수 있다. BSP(20)는 또한 (도 43c에 도시된) 디바이스 인터페이스(120) 및 디바이스 드라이버(120a)를 통해 디바이스(120b)와 통신할 수 있다. 디바이스 프로세서는 도 43c에 도시된 바와 같이 디바이스 드라이버를 통해 DAS(908) 또는 BSP(20)를 통해 또는 직접 디바이스아 통신할 수 있다.
데몬 프로세서 백엔드 서버 프로세스("BSP")(650)는 디바이스 커맨드를 발행하고 디바이스 상태를 체크할 수 있다. 그래피컬 유저 인터페이스 프론트엔드 GUI 프로세스("FGP")(40)에 사용자는 예를 들어, 리사이프를 한정하고 잡을 실행하기 위해 시스템과 상호작용할 수 있다. 데몬 프로세서 데이터 및 메시지 프로세서("DSP")(906)는 프로세스간의 메시지를 루팅할 수 있고 데이터베이스 액세스를 위한 콘딧으로서 기능할 수 있다. 데몬 프로세스 데이터 획득 서버 프로세스("DAS")는 디바이스로부터 상태 및 데이터를 수집하고, 이러한 정보를 저장하고, 이것을 다른 프로세스에 제공할 수 있다. 데몬 프로세서 메시지 로깅 프로세서("MLP")는 다른 프로세스로부터 정보를 수신하고 이것을 텍스트 폼으로 로그할 수 있다. 데몬 프로세스 외부 통신 프로세스("ECP")는 제조 실행 시스템("MES(80)") 인터페이스와 같은 외부 통신을 다룰 수 있다.
데이터를 계속 저장하기 위해 데이터베이스를 사용하는데 있어, MSC(10)는 복수의 스키마, 예를 들어, 5개의 스키마, 시스템 특정 정보를 포함하는 OEM 읽기 전용 스키마; 사용자 특정 정보를 포함할 수 있는 MSC 읽기-기록 스키마; 디바이스 정보를 포함할 수 있는 데이터 웨어하우스(110) 읽기 전용 스키마; 시스템에 의해 생성된 로그 데이터를 포함할 수 있는 디바이스 상태 및 로거(112) 읽기 전용 스키마를 갖는 데이터베이스를 사용할 수 있다. 본 발명의 일실시예의 특징에 따라, MSC 구조는 시스템의 서버, 통신, 유저 인터페이스 및 데이터베이스 특징을 포함할 수 있다. 소프트웨어는 다수의 기능, 예를 들어, 임포트/엑스포트; 모듈 콘셉(수명 카운터); 서브스트레이트 콘셉; 예를 들어, 맞춤 프로젝트 스크린을 갖는 워크플로; 프로젝트 스케줄링; 시각적인 표시/컬러를 갖는 사용자 구성가능한 상태 팁; 카세트의 그래피컬 및 텍스추얼 표시; 프로젝트/롯에 대한 실행시간 파라미터; SEMI SECS/GEM 스탠더드를 사용하는 MES 인터페이스; 보안 및 액세스 컨트롤러; 및 보다 정밀한 에러 핸들링, 및 업그레이드어빌리티(버저닝등)을 포함할 수 있다.
상기 고레벨 특징은 시스템 필수요소, 예를 들어, 프로젝트/롯의 카피/페이스트를 갖는, 파일 포맷의 리사이프/이미지/프로젝트의 임포트/엑스포트; 리사이프의 계측 조직; 리사이프/이미지 파라미터에 대한 향상된 콘시스턴스 체크; 파라미터의 액세스 컨트롤러(예를 들어, 누가 이들을 변경할 수 있는지등); 파라미터간의 종속성; 널 리사이프; 리사이프의 계층 조직; 카세트 스테이션 넘버, 오퍼레이터 ID. 서브스트레이트 ID등에 따른 롯 한정; 서브스트레이트 콘셉, 플렉시블하고 일반적인 인트로듀스 모듈 콘셉, 저스트 디바이스에 대조되는, 모듈을 모니터링하는 능력; 모듈 대체를 위한 스크린; 수명 카운터를 위한 플렉시블하고 일반적인 메커니즘; 값 및 텍스트와 같은 상태 탭의 디스플레이 유지 카운터; 진단, 다운로드 및 컨트롤을 위한 맞춤 프로젝트 스크린; 폴더/파일 구조를 갖는 프로젝트 리포팅, 스케줄링; 프로젝트 스케줄링 이벤트 및 스케줄 기반; 잡 큐에 대한 아이들 타임아웃; 워크피스 포지션의 변경, 예를 들어, 결정화 그래픽스로의 수반된 변화를 갖는 유리 기판의 회전; 추가 리사이프 처리 상태 정보; 카세트의 그래피컬 표시; 추가 리사이프 처리 상태 정보; 카세트의 그래피컬 표시; 잡 큐에 더해딜 때 롯 및 프로젝트에 대한 실행시간 파라미터; 보안 및 액세스 컨트롤; 사용자 지적 재산권을 보호하는 인코딩된 스크립트; 디바이스를 식별하기 위해 시리얼 번호를 사용하는 디바이스를 갖는 인터페이스; 장치 컴포넌트, 예를 들어, 카세트 로딩/언로딩을 위한 로봇의 컨트롤; 사용자 구성가능한 상태 탭; 보다 정밀한 에러 핸들링; 예를 들어, 규격 펄스의 벗어남 또는 미싱에 대한 파손 복구 핸들링; 컬러 상태 탭 및 엔트리; SEMI SECS/GEM 인터페이스를 사용하는 소비자 MES(80)를 갖는 인티그레이션; 언그레이드어빌리티 및 퍼포먼스 메트릭스를 충족시키도록 기능할 수 있다.
아래에 이들이 적용될 수 있는 특징 컴포넌트의 예를 볼 수 있다.
임포트/엑스포트: GUI-리사이프 관리;
GUI-프로젝트 관리;
리사이프의 계층 조직: GUI-리사이프 관리;
모듈 콘셉(수명 카운터): GUI-시스템 구성 관리;
GUI-리포트 관리;
서브스트레이트 콘셉: GUI-롯 관리;
맞춤 프로젝트 스크린을 갖는 워크플로: GUI-프로젝트 관리;
GUI-워크플로 엔진;
GUI-리포트 관리;
프로젝트 스케줄리: 서버-프로젝트 스케줄링;
사용자 구성가능한 상태 탭-시각
인티케이션/컬러: 서버-상태 관리;
GUI-프로세스 관리;
GUI-이벤트 관리;
카세트의 그래피컬 및 텍스추얼 표시: 서버-잡 프로세싱;
GUI-프로세스 관리;
프로젝트/롯에 대한 실행시간 파라미터: GUI-프로세스 관리
보안 및 액세스 컨트롤: GUI-보안 관리;
향상된 에러 핸들링: 서버-잡 프로세싱;
GUI-프로세스 관리;
MES 인터페이스: 서버-MES 인터페이스
본 발명의 일실시예의 특징에 따라 MSC(10)의 저레벨 디자인의 일예가 시스 템의 컴포넌트의 예에 대한 클래스 다이어그램을 사용하여 설명될 수 있다. 다음은 본 발명의 일실시예의 특징에 따라 MSC 서버(20)내에 있을 수 있는 (최저로부터 최고로) 컴포넌트의 계층의 리스트예를 설명하고 있다.
코어 오브젝트(Core Objects) 컴포넌트는 아무런 로직을 갖지 않고 단지 데이터만을 포함하도록 데이터 오브젝트 클래스가 구성될 수 있는, MSC 서버(20)내의 모든 컴포넌트에 공통인 데이터 오브젝트 클래스를 포함할 수 있다. 대부분의 경우에, 데이터는 또한 공용이기 때문에 임의의 컴포넌트는 이러한 데이터 오브젝트내의 데이터에 액세스가능하다. 다음의 클래스의 예는 코어 오브젝트 컴포넌트의 일부일 수 있다.
MSCObject는 이러한 컴포넌트에서 가장 유명한 클래스일 수 있고 MSC(10)내의 모든 다른 주요 클래스에 대한 바람직한 베이스 클래스일 수 있다. MSC(10)내의 모든 클래스에 공통인 행동은 이러한 클래스트에서 구현될 수 있다. MSC(10)내의 클래스의 대부분은 임의의 타입의 데이터 인티저, 리얼, 스트링, 부울 또는 오브젝트 데이터 타입을 저장하기 위해 유니온을 사용할 수 있는 다수의 데이터 타입 홀더일 수 있는 MSCAtom; 모든 서버 컴포넌트를 통해 사용되는 상수에 대한 네임스페이스를 제공할 수 있는 MSCConstants; 스탠더드 콘테이너 콜렉션내의 한 쌍의 스트링을 사용하여 단순화할 수 있는 MSCPair; 모든 애플리케이션 특정 제외 클래스가 유도할 것으로 예측될 수 있는 MSC 서버(20)내의 기본 제외 클래스일 수 있는 MSCException; 모든 콤포넌트에 의해 사용되기 위해 스트링 및 다른 부수적인 유틸리티 메소드를 포함할 수 있는 MSCUtils; 이미지에 대한 데이터 오브젝트 클래스일 수 있고 이미지 파라미터를 포함할 수 있는 MSCImage; 각 리사이프에 대한 이미지의 리스크 및 리사이프 파라미터를 포함하는 리사이프에 대한 데이터 오브젝트 클래스일 수 있는 MSCRecipe; 롯에 대한 데이터 오브젝트 클래스일 수 있고, 롯에 적용가능한 리사이프의 리스트 및 롯 파라미터를 포함할 수 있는 MSCLot; 프로젝트내의 테스크에 대한 데이터 오브젝트 클래스일 수 있고, 예를 들어, 태스크에 상응하는, python 스크립트로, 태스크 파라미터, 바디 및 실행시간 파라미터를 포함할 수 있는 MSCTask; 프로젝트에 대한 데이터 오브젝트 클래스일 수 있고, 프로젝트 파라미터 및 태스크의 리스트를 포함할 수 있는 MSCProject; 잡에 대한 데이터 오브젝트 클래스일 수 있고 잡 상태 및 롯/프로젝트의 이름을 포함할 수 있는 MSCJob; 디바이스 파라미터에 대한 상태 체크 정보를 포함하는 데이터 오브젝트 클래스일 수 있고, 디바이스의 파라미터의 상태를 체크하도록 상태 루프에 의해 사용될 수 있는 MSCStatusCheck; 디바이스 파라미터에 대한 모든 상태 체크를 포함하는 데이터 오브젝트 클래스일 수 있고, 디바이스 상태가 에러, 경고 또는 다른 동작 정보인지를 체크하기 위해 상태 루프에 의해 사용될 수 있는 MSCStatusData; 상태 커맨드의 이름 및 그 연관된 입력을 포함하는 데이터 오브젝트 클래스일 수 있고 리턴 아큐먼트 파라미터 명칭일 있고, 디바이스 및 시스템 상태를 결정하기 위해 상태 루프에 의해 사용될 수 있는 MSCStatusCommand.
본 발명의 일실시예의 특징에 따라, ThreadService 컴포넌트는 스레드를 사용하는 동안, MSC 서버(20)에 고레벨 스레딩 및 동기화 팩실리티를 제공하는 컴포넌트일 수 있고, 다음의 클래스를 포함할 수 있다: (1) MSCTread는 실행의 새로운 스레드를 필요로 하는 임의의 클래스에 의해 부여받을 수 있는 추상 베이스 클래스일 수 있다. 인헤리팅 클래스는 그다음, MSCTread's abstract run() 메소드를 구현할 수 있다. 스레드 실행을 시작하기 위해, MSC는 run() 메소드를 부를 수 있는 MSCTread's abstract run() 메소드를 호출할 수 있다. 이러한 클래스는 공통으로 사용된 스레드 관리 애플리케이션 프로그래밍 인터페이스("API")를 래핑할 수 있다. pthreads mutex의 다른 특징 및 컨디션 변수는 이들 자체의 래퍼 클래스를 가질 수 있다. (2) MSCMutex는 오브젝트를 잠금 및 잠금해제하고 오브젝트 스레드를 안전하게 하는 메커니즘을 제공하는 pthread's mutex를 인캡슐레이팅하는 클래스일 수 있다. (3) MSCLockableObject는 오브젝트가 스레드 세이프되는 메커니즘을 제공하는 클래스일 수 있고, 스레드 세이프 오브젝트는 이러한 클래스로부터 유도할 필요가 있다. (4) MSCSingleLock은 멀티-스레딩된 코드에 동기화된 액세스를 허용하기 위해 MSCLockableObject를 사용하는 래퍼 클래스일 수 있다. 이러한 클래스는 오브젝트 레벨에 메소드를 동기화시키기 위해 MSCLockableObject에 의해 사용될 수 있다. MSCSingleLock의 네스팅된 사용은 MSCLockableObject 오브젝트가 재귀 뮤텍스(mutex)를 사용함에 따라 허용될 수 있다. (5) MSCWaitcondition은 이미 잠금된 뮤텍스로 불리는 대기 스레드의 wait() 및 notify()를 사용하여 대기 스레드를 통지하기 위해 pthread의 컨디션 변수를 구현하는 클래스일 수 있다. 그다음, 뮤텍스는 wait()가 호출될 때 자동 해제될 수 있고 notify() 메소드가 대기 스레드를 깨울 때 자동 재획득될 수 있다. 이러한 클래스는 대기 MSCMsgPumps를 통지하기 위해 MSCMsgPumps에 의해 사용될 수 있다.
본 발명의 일실시예의 특징에 따라, 시스템 유틸리티 컴포넌트는 시스템 와이드 로깅 및 검색 시스템 구성 정보에 대한 유틸리티와 같은 모든 컴포넌트에 의해 사용된 공통 유틸리티를 제공할 수 있다. 다음 클래스의 예는 이러한 컴포넌트의 일부일 수 있다.
(1) MSCIniFileHandler는 구성 파일을 핸들링하기 위한 유틸리티 메소드를 제공할 수 있고, 이러한 클래스내의 메소드는 글로벌할 수 있고 서버 구성 파일로부터 구성 파라미터를 로딩하기 위해 기능할 수 있다. 파라미터는 라인 당 하나의 스펙시피케이션을 갖는, option=value pairs로서 명기될 수 있다. 블랭크 라인 및 코멘트 라인이 또한 허용될 수 있다. (2) MSCLog는 로깅 팩실리티를 제공할 수 있고, MSCConstants 클래스에서 한정되는 바와 같이 다양한 에러 레벨 및 메시지의 시비어리티를 한정할 수 있다.
본 발명의 일실시예의 특징에 따라, NamingService 컴포넌트는 MSC 서버(10)내의 오브젝트 발견 팩실리티를 제공할 수 있고, 다음의 클래스를 포함할 수 있다. MSCNaimingService는 MSC 서버(20)내의 오브젝트 발견을 제공하는 서비스 클래스일 수 있다. 오브젝트는 하나의 컴포넌트에 의해 네이밍 서비스에 저장된 후에 다른 컴포넌트에 의해 사용될 수 있다. 이것은 서비스이기 때문에 멀티-스레딩되고 스레드 세이프될 수 있다.
본 발명의 일실시예의 특징에 따라, MessageService 컴포넌트는 MSC 서버(20)내의 주요 컴포넌트간의 통신을 촉진시킬 수 있고, 다음의 클래스를 포함할 수 있다. (1) MSCMessage는 메시지에 스트링을 저장함으로써 MSC 서버 컴포넌트 사이에 통신하는데 사용되는 메시지 정보를 포함하는 클래스일 수 있다. (2) MSCMessagePump는 메시지 큐로부터 메시지를 페칭하고 메시지를 서버 컴포넌트에 디스패칭하는 메커니즘을 구현하는 클래스일 수 있다. (3) MSCMessageQueue는 서버 컴포넌트간의 통신을 위해 사용되는 메시지에 대한 선입선출(FIFO) 컨테이너를 포함하는 클래스일 수 있고, 메시지를 저장하고 검색하기 위해 MSCMessagePump에 의해 사용될 수 있다.
본 발명의 일실시예의 특징에 따라, DataAccessService 컴포넌트는 MSC 서버(20)내의 데이터 액세스를 위한 고레벨 추상화 층을 제공할 수 있다. (OEM 및 MSC 스키마를 갖는) MSC내의 TCZ 900X 데이터베이스를 위해 사용되는 데이터베이스 서버(20)는 PostgreSQL일 수 있다. Libpqpp 패키지는 데이터베이스에 대해 고레벨 C++ API를 위해 사용될 수 있다. 다음의 클래스의 예는 이러한 컴포넌트의 일부일 수 있다. (1) MSCDataAccessService는 MSC에서 사용되는 실제 데이터베이스의 언더라잉 디테일을 숨기는 고레벨 데이터베이스 추상화 층을 제공할 수 있다. (2) MSCConnection은 커넥션이 미리 개방되어 있을 수 없다면 데이터베이스에 접속하기 위해 데이터베이스에 대한 커넥션 인터페이스를 구현하는 클래스일 수 있고, 이것은 레퍼런스 커서를 갖는 트랜잭션 기반 질의를 포함하는 질의를 실행하는데 사용될 수 있다. (3) MSCResultSet는 데이터베이스에 질의를 실행함으로써 리턴된 결과를 홀딩하는 클래스일 수 있고, 이러한 데이터베이스는 이러한 클래스로부터 스트링으로서 검색될 수 있다.
본 발명의 일실시예의 특징에 따라, SecurityService 컴포넌트는 서버층에 보안 및 액세스 컨트롤 서비스를 제공할 수 있다.
본 발명의 일실시예의 특징에 따라, DataFormatter 컴포넌트는 뉴트럴 랭귀지 포맷(NLF)으로부터 디바이스 포맷(DF)로 그리고 그 반대로 디바이스 커맨드를 전환시키는 유틸리티 메소드를 제공하는 컴포넌트일 수 있다. 다음의 클래스의 예는 이러한 컴포넌트의 일부일 수 있다. MSCDataFormatter는 디바이스 커맨드 및 리스판스를 뉴트럴 랭귀지 포맷(NLF) 및 디바이스 포맷(DF)간에 전환하는 클래스일 수 있다. MSC(10)는 뉴트럴 랭귀지 포맷을 사용할 수 있어서, ICE9 시스템내의 다양한 타입의 디바이스와 통신하기 위해 유니폼 랭귀지 포맷을 제공한다.
본 발명의 일실시예의 특징에 따라, DeviceDrivers 컴포넌트는 MSC(10)에 접속된 다양한 디바이스에 대한 디바이스 드라이버를 포함할 수 있다. 이러한 컴포넌트의 디바이스 드라이버 클래스는 앱스트랙 베이스 클래스, 즉 MSCCommInterface의 메소드를 구현할 수 있다. 디바이스 드라이버는 다이내믹 세어드 라이브러리일 수 있어서 추가 디바이스가 MSC(10) 오퍼레이팅 코드를 리콤파일링함 없이 추가될 수 있다. 예를 들어, 디바이스가 그 시리얼 넘버를 검색하기 위한 커맨드가 존재한다면, 디바이스는 시리얼 넘버를 검색할 수 있고 이것을 사용하여 디바이스를 로그하는 메시지 및/또는 디바이스 상태 리포팅에서 디바이스를 식별할 수 있다. 다음의 클래스예는 이러한 컴포넌트의 일부일 수 있다. MSCCommInterface는 물리적 디바이스와 통신하는데 사용되는 모든 디바이스 드라이버에 의해 사용되는 스탠더드 API를 제공하는 클래스일 수 있다. MSC(10)는 사용된 프로토콜, 즉, TCP/IP 소켓, USB, COBRA 등에 관계없이 다양한 디바이스와 균일하게 통신하기 위해 이러한 앱스트레이트 클래스를 사용할 수 있다.
본 발명의 일실시예의 특징에 따라, DeviceInterface 컴포넌트는 사용될 수 있는데, 이것은ICE9 레이저 어닐링 장치내의 물리적 또는 논리적 디바이스와 통신하는데 사용될 수 있는 이러한 컴포넌트의 하나 이상의 예를 포함하고, 디바이스와 MSC 서버(20)간의 통신을 위해 고레벨 추상화를 제공할 수 있다. MSC 서버(20)내로부터 디바이스로의 통신은 뉴트럴 랭귀지 포맷(NLF)을 사용하여 이루어질 수 있다. NLF 커맨드는 이들이 디바이스에 전송되기 전에 각 디바이스에 전용인 디바이스 포맷(DF)으로 전환될 수 있다. 다음의 클래스의 예는 DeviceInterface 컴포넌트의 일부일 수 있다. (1) MSCDeviceInterface는 MSC(10)가 디바이스와 통신하기 위한 고레벨 API를 제공하는 클래스일 수 있다. MSC(10)에 부착된 물리적 또는 논리적 디바이스로의 모든 접속을 위한 이러한 클래스의 일예가 존재할 수 있다. 이러한 클래스는 MSCCommInterface 앱스트랙트 클래스에 합치하는 디바이스 드라이버를 로딩함으로써 각 디바이스와 통신할 수 있다. MSCDeviceInterface는 디바이스로의 다수의 통신 요구를 시리얼라이징할 수 있다. 디바이스 드라이버를 로딩한 후에, 이러한 클래스는 먼저 init() 메소드를 호출하고 그다음 이어지는 다수의 set() 메소드를 호출하여 디바이스 파라미터를 설정할 수 있다. 그다음, MSCDeviceInterface는 open() 메소드를 호출하고 그다음 이어지는 다수의 write() 및 read() 콜을 호출할 수 있다. 마지막으로 MSCDeviceInterface는 close() 메소드를 호출할 수 있다. (2) MSCDeviceInterfaceDAO는 MSCDeviceInterface에 대한 데이터 액세스 헬퍼 클래스인 클래스일 수 있고, 이것은 이러한 클래스로부터 MSCDeviceInterface 컴포넌트로부터 데이터베이스로의 호출을 만들 수 있다. (3) MSCSocket은 저레벨 소켓 통신을 위한 리퍼 메소드를 갖는 제너릭 TCP/IP 소켓 구현을 포함하는 클래스일 수 있다. (4) MSCServerSocket은 서버측 TCP/IP 소켓 커넥션을 구현하기 위해 MSCSocket 클래스를 사용하는 클래스일 수 있다. (5) MSCClientSocket은 클라이언트측 TCP/IP 소켓 커넥션을 구현하기 위해 MSCSocket 클래스를 사용하는 클래스일 수 있다.
본 발명의 일실시예의 특징에 따라, UserInterfaceCommunication 컴포넌트는 MSC 서버(20)와 GUI(40)간의 통신을 촉진시키는데 사용될 수 있다. 통신의 목적에 따라, 예를 들어, 컨트롤을 위한 것인지, 상태를 보고하기 위한 것인지에 따라, 이러한 컴포넌트의 2개의 예, 즉, 메시지를 컨트롤하는데 사용되는 UIControlCommManager 및 상태 메시지를 위해 사용되는 UIStatusCommManager가 MSC 서버(20)에서 사용될 수 있다. 컨트롤 메시지는 MSC 서버(20)의 안팎으로 이동될 수 있다. 즉, 양방향성을 가질 수 있다. 상태 메시지는 MSC 서버(20)의 밖으로만 나갈 수 있다. 따라서, 이들은 단방향성을 가질 수 있다. 양측의 경우에 서버는 GUI(40)가 통신 접속 요구를 개시하기를 기다린다. 다음의 클래스의 예는 이러한 컴포넌트의 일부일 수 있다.
(1) MSCUICommManager는 GUI(40)와 서버(20)간의 통신 인터페이스일 수 있고, GUI(40)와 통신하기 위해 TCP/IP 소켓을 사용할 수 있고 컨트롤 및 진단 메시지 모두를 GUI(40)에 전송하는데 사용될 수 있다. 접속이 처음에 GUI(40)로부터 달성될 때, 서버(20)는 GUI(40)가 식별 정보, 예를 들어, 사용자 ID 및/또는 암호 화된 패스워드를 전송하도록 요청함으로써 접속을 인증할 수 있고, 인증이 실패하면, 서버(20)는 접속을 종료할 수 있다. (2) MSCUIMMessageListener는 GUI(40)로부터 컨트롤 메시지를 수신하기 위해 사용될 수 있고 MSCUICommManager(540, 560)에 의해 관리될 수 있는 클래스일 수 있다. 이러한 클래스는 워커 스레드에서 실시될 수 있어서 그 호스트 컴포넌트 스레드는 이러한 스레드가 GUI(40)로부터 메시지를 수신하기를 기다리는 동안에 차단되지 않는다. (3) MSCUIMessageTranslator는 클라이언트측 메시지를 서버 코드로 또는 그 반대로 변환시키는 클래스일 수 있고, UICommManager(370, 370')와 UIMessageListener 모두 그것을 호출할 수 있기 때문에 스레드세이프될 필요가 있다.
본 발명의 일실시예의 특징에 따라, StatusManager(350) 컴포넌트는 모든 디바이스의 상태를 모니터링할 수 있고, 또한 MSC 서버(20)에 상태 메시지를 로그할 수 있다. 다음의 클래스예는 이러한 컴포넌트의 일부일 수 있다. (1) MSCStatusManager는 시스템(10)내의 임의의 장소로부터 수신된 상태 메시지를 로그하는 클래스일 수 있다. 또한 그것은 디바이스의 상태에 대해 디바이스를 지속적으로 폴링하기 위해 상태 루프를 생성하고 관리할 수 있고, 만약 치명적인 에러가 검출되면 MSCJobManager(310) 클래스에 통지할 수 있다. (2) MSCStuatusManagerDAO는 MSCStatusManager(350)에 대한 데이터 액세스 헬퍼 클래스로서 동작하는 클래스일 수 있다. MSCStatusManager로부터의 데이터베이스에 대한 호출이 이러한 클래스로부터 만들어질 수 있다. (3) MSCStatusLoop는 디바이스의 상태에 대해 디바이스를 지속적으로 폴링하는 디바이스를 폴링하는 클래스일 수 있 다. MSCStatusLoop는 치명적이거 에러의 상태 표시를 위해 디바이스를 모니터링할 수 있다. MSCStatusLoop는 또한, 디바이스로부터 특정 파라미터에 대한 값을 검색하고 이들 값을 GUI(40)에 포스팅할 수 있다. MSCStatusLoop는 또한 수명 카운터 및 다른 시스템 또는 디바이스 파라미터가 이들의 임계값을 초과하였는지를 검사하기 위해 시스템 커맨드를 실시할 수 있고, 만약 임계값을 초과하였다면, 다음의 요구된 액션, 즉, 하나 이상의 선택된 다이얼로그 박스를 팝업하고, 아이콘의 형태로 에러 또는 경고 메시지를 표시하고 및/또는 스크립을 사용하여 커스텀 액션을 실행하는 액션중 하나를 GUI(40)가 실행하도록 할 수 있다. 데이터베이스로부터의 다음의 커맨드의 예는 디바이스 및 시스템 상태를 결정하기위해 상태 루프에 의해 실시될 수 있다.
TellSystem<System Command and Args><System Command Results>
TellDevice<DeviceName with Device Command and Args><Device Command Results>
DeviceStatus<Input Param Names><Derived Param Name>
(4) MSCStatusLoopDAO는 이러한 클래스로부터 만들어지는 MSCStatusLoop 클래스로부터의 데이터베이스에 대한 호출을 갖는, MSCStatusLoop에 대한 데이터 액세스 헬퍼 클래스일 수 있는 클래스일 수 있다.
본 발명의 일실시예의 특징에 따라, JobProcessor 컴포넌트(312)는 MSC 서버(20)의 워크호스를 구성하는 컴포넌트일 수 있다. JobProcessor 컴포넌트(312)는 커맨드 라이브러리 매니저(316)로부터의 커맨드 콜백을 갖는 python과 같은 커 맨드 인터프리터를 사용하여 잡을 실행할 수 있다. 커맨드 콜백은 3개의 그룹으로 카테고리화될 수 있다. (1) 디바이스와의 통신을 위한 디바이스 커맨드, (2) MSC(10)과의 데이터 전송을 위한 데이터 커맨드, (3) MSC(10)과의 통신을 위한 시스템 커맨드. 데이터 오브젝트 매니저(320) 데이터 커맨드의 구현을 촉진시킬 수 있다. 다음의 클래스의 예는 이러한 컴포넌트의 일부일 수 있다. (1) MSCJobProcessor(312)는 python 인터프리터를 사용하여 잡을 실행하는 클래스일 수 있고, MSCCommandLibraryManager(316)를 사용하여 python 스크립팅 엔진으로부터 콜백을 제공한다. MSCJobProcessor는 MSC 스키마 데이터베이스(24)로부터 검색된 인코딩된 스크립트를 디코딩할 수 있다. (2) MSCCommandLibraryManager는 3개의 그룹으로 구별될 수 있는, python 스크립팅 엔진에 대한 콜백, 즉 (1) 디바이스 콜백, (2) 데이터 콜백, 및 (3) 시스템 콜백을 포함하는 클래스일 수 있다. 디바이스 콜백은 디바이스와 통신을 제공할 수 있다. 데이터 콜백은 시스템, 디바이스 및 리사이프 파라미터에 대한 데이터의 검색을 허용한다. 시스템 콜백은 예를 들어, 메시지 로깅 및 시스템 컨트롤 기능을 제공할 수 있다.
다음의 코맨드 콜백의 예는 python 스크립트로부터 지지될 수 있다.
TellDevice<DeviceName><DeviceCommand><CommandArg>
TellSystem<SystemCommand><CommandArg>
GetValue<GetParamName>
PutValue<SetParamName><SetParamValue>
LogMaessage<DeviceName><MessageSeverity><MessageText>
LogParameter<ParamName><ParamValue>
RunProcedure<ProcName><ProcType><ProcArg>. <DeviceName>은 디바이스 커맨드를 전송할 디바이스의 이름이다. <DeviceCommand>는 뉴트럴 랭귀지 포맷(NFL)내의 디바이스 커맨드이다. 커맨드, 예를 들어, "GetConnectStatus"는 임의의 디바이스에 전송될 수 있다. 리스판스는 예를 들어, (디바이스가 현재 접속된 경우에) " OK"이고 (디바이스에 접속 실패한 경우) "NOK"의 2개의 값중 하나일 수 있다. <SystemCommand>는 (1) StartStatusLoop, (2) StopStatusLoop중 하나일 수 있다. <GetparamName>은 (1) Data.<UserParamName>, (2) Device.<DeviceName>.<DeviceParamName>, (3) Module.<ModuleName>.<ModuleParamName>, (4) Component.<ModuleName>.<ConponentName>.<ComponentParamName>, (5) Systme.<SysParamName>, (6) Task.Name, (7) Task.<TaskParamName>, (8) Lot.Name, (9) Lot.FirstRecipe, (10) Lot.NextRecipe, (11) Recipe.Name, (12) Recipe.FirstImage, (13) Recipe.NextImage, (14) Recipe.<RecipeParamName>, (15) Image.Name, (16) Image.<ImageParamName>중 하나일 수 있다.
<SetParamName>은 (1) Data.<UserParamName>, (2) System.<SysParamName>, (3) Module.<ModuleName>.<ModuleparamName>, (4) Component.<ModuleName>.<Componentname>.<ComponentParamName>중 하나일 수 있다.
<MessageSeverity>는 (1) "패탈", (2)"에러", (3) "경고", (4) "정보"중 하나일 수 있다. <ParamName>은 <GetParamName>과 동일할 수 있다. <ProcName>은 TCZ 900X 데이터베이스의 MSC 스키마 데이터베이스(24)내의 저장된 프로시져의 이름일 수 있다. <ProcType>은 저장된 프로시져 콜에 의해 리턴된 결과 세트의 타입을 명시할 수 있는데, 즉, 노멀 결과 세트에 대해 "0", 리퍼런스 커서 기반 결과 세트에 대해 "1"로 명시할 수 있다.
(3) MSCCommandInterpreter는 Python 스크립을 로드라고 실행할 수 있는 python 커맨드 인터프리터(314)에 대한 래퍼 클래스일 수 있다.
모듈내의 컴포넌트의 수명 카운터는 카운터를 업데이트하기 위한 로직을 인캡슐레이팅할 수 있는 모듈화된 python 스크립트를 사용함으로써 일관되게 업데이트될 수 있다. python 스크립트는 GetValue 및 SetValue 커맨드를 사용하고 아규먼트로서 Module.<ModuleName>.<ModuleParamName> 또는 Component.<ModuleName>.<ComponentName>.<ComponentParamName>을 패싱함으로써 수명 카운터 또는 임의의 다른 모듈 정보에 액세스할 수 있다. 향상된 에러 핸들링을 지원하기 위해, python 스크립은 익셉션을 캐치하고 다음 롯에 대해 지속하는 대신에 다음 이미지 또는 다음 리사이프에서 실행을 재시작할 수 있다.
(4) MSCDataObjectManager는 MSCCommandLibraryManager에서 정의된 데이터 콜백에 의해 제공된 데이터 검색 능력을 구현하는 클래스일 수 있다. MSCDataObjectManager는 시스템, 디바이스, 프로젝트, 롯, 태스크, 롯 및 리사이프 파라미터의 검색을 허용한다. MSCDataObjectManager는 python 스크립트으로부터 사용자 정의된 파라미터의 세팅 및 검색을 허용한다.
Job Manager(30)는 GUI(40)로부터의 컨트롤 메시지에 응답하고 잡 실행을 컨 트롤할 수 있는, MSC 서버(20)의 게이트키퍼일 수 있는 컴포넌트일 수 있다. 다음의 클래스는 이러한 컴포넌트의 일부일 수 있다. (1) MSCJobManager(30)는 GUI(40)로부터 전송된 컨트롤 메시지에 응답하는 클래스일 수 있고, GUI(40)에 서버(20)내의 치명적인 에러와 같은 임의의 상당한 이벤트를 통지할 수 있다. MSCJobManager(30)는 잡 큐에서 잡에 서비스한다. MSCJobManager(30)은 잡을 실행하기 위해 MSCJobProcessor(42)를 사용한다. MSCJobManager(30)가 잡 큐에 잡이 추가될 수 있다는 통지를 JobScheduler(32)로부터 수신하면, MSCJobManager(30)는 잡 큐의 디스플레이를 리프레시하라고 요구하는 GUI(40)에 컨트롤 메시지를 전송한다. 잡 큐에 아무런 잡도 존재하지 않는다면, MSCJobManager(30)은 잡 큐를 세트 모드로 되돌린다. 시스템이 사전구성된 타임아웃에 대해 아이들 상태라면, 사전정의된 스탠드바이 프로젝트를 실시함으로써 디바이스를 공지된 상태로 놓는다. (2) MSCJobManagerDAO는 MSCJobManager에 대한 데이터 액세스 헬퍼 클래스일 수 있고, 이러한 클래스로부터 잡매니저 컴포넌트로부터 데이터베이스로 콜을 만든다.
JobScheduler(32)는 MSC 스키마에 저장된 사전정의된 프로젝트 스케줄을 사용하여 실행하기 위한 잡/프로젝트를 스케줄링하는 컴포넌트일 수 있다. 다음의 클래스는 이러한 컴포넌트의 일부일 수 있다. (1) MSCJobScheduler(32)는 데이터베이스로부터 프로젝트 스케줄을 판독하고, 각 스케줄링된 잡에 대한 그다음 실행를 결정하고, 이러한 스케줄을 예를 들어, 이들의 실행 시간에 기초하여 처음부터 마지막까지 오더링하고, 이러한 실행시간이 리스트내의 제1 스케줄에 대하여 도다로딜 때까지 기다리기 위해 MSCSchedulerTimer 클래스를 사용하는 클래스일 수 있 고, MSCJobScheduler(32)는 예를 들어, 잡 큐가 시간에 관계없이 실시되는 잡을 스케줄링하는데 사용될 수 있어서, 예를 들어 잡을 줄지어 기다리기 위해, 스케줄링된 시간을 대기한다. 그다음, MSCJobScheduler(32)는 잡 큐의 끝에 리스트내의 제1 스케줄에 상응하는 프로젝트를 더하여 잡 큐의 임의의 것이 우선순위를 갖는다. MSCJobScheduler(32)는 MSC가 종료할 때까지 이러한 프로세스를 반복한다. MSCJobScheduler(32) 클래스는 임의의 인커밍 메시지를 처리하도록 준비된, 도 9내의 잡 프로세서에 대하여 도시된 것과 유사한, MSCJobScheduler(32) 클래스 자체 메시지루프를 가지고 차제 스레드내에 실시된다. 또한, 스케줄링된 잡은 예를 들어, 시스템 정희된 사전구성된 타임 윈도우내에서만 실시될 수 있다. 스케줄링된 잡은 타임 윈도 밖에서 실행될 수 없고 경고 메시지는 스케줄링된 잡이 이들의 윈도를 놓치는 경우에 로그될 수 있다.
GUI(40)는 사용자가 프로젝트를 생성, 업데이트하거나 삭제할 때 MSCJobScheduler(32) 클래스에 통지할 것으로 예측될 수 있다. 이러한 통지에 응답하여, MSCJobScheduler(32) 클래스는 MSC 스키마 데이터베이스(24)로부터 프로젝트 스케줄을 검색하고 프로젝트 실행 시간을 재평가함으로써, 스케줄링된 프로젝트 실행 시간을 업데이트한다. MSCJobScheduler(32)는 이러한 클래스가 대기를 위해 MSCSchedulerTimer를 이미 사용하고 있다면 MSCSchedulerTimer를 인터럽트할 수 있다.
(2) MSCSchedulerTimer는 자체 메시지루프를 가진 자체 스레드에 실시되는 클래스일 수 있다. MSCSchedulerTimer는 MSCScheduler(32) 클래스에 대한 헬퍼 클 래스일 수 있다. MSCSchedulerTimer는 주어진 시간이 경과될 때까지 대기한 후에 주어진 시간이 경과되었음을 MSCScheduler(32) 클래스에 통지하고 MSCSchedulerTimer(32) 클래스로부터의 인커밍 메시지를 기다린다.
(3) MESIInterface(80)는 SEMI SECS/GEM 인터페이스 스탠더드를 사용하여 MES(80)와 같은 외부 시스템으로 및 이 외부 시스템으로부터 통신을 제공하는 컴포넌트일 수 있다.
ServerDaemon은 MSC 서버(20)에 대한 메인 프로그램을 포함하는 컴포넌트일 수 있다. 다음의 클래스는 이러한 컴포넌트의 일부일 수 있다. (1) MSCServerMain은 MSC 서버(20)에 대한 메인 프로그램일 수 있다. MSCServerMain은 서버(20) 기능을 관리하기 위해 MSCServer(20)의 일예를 생성한다. (2) MSCServer(20) 클래스는 MSC 서버(20) 자체에 대한 스탠드인일 수 있다. 이것은 시스템 구성을 로드하고, MSC 서버(20) 컴포넌트 모두를 시작시킨다. 시스템 셧다운시에, 이것은 모든 컴포넌트를 정지시키고 리소스를 클린업한다. 이것은 기동시에 이니트(init) 스크립트를 실시한다. 이것은 또한 필요하다면 파손 복구를 실행한다. (3) MSCServerDAO는 MSCServer(20)에 대한 데이터 액세스 헬퍼 클래스일 수 있다. 서버 컴포넌트로부터 데이터베이스로의 모든 콜은 이러한 클래스로부터 만들어질 수 있다. (4) MSCDaemon 클래스는 호출 프로그램을 데몬으로 전환하는 기능을 제공한다. 이것은 2개의 새로운 프로세스를 포킹(fork)하고, 새로운 세션을 생성하고, 콘솔로부터 데몬을 디패칭한다.
상기 컴포넌트에 더하여, 외부 USB 인터페이스 컴포넌트는 빔 메트롤로 지(830)에 대한 카메라 디바이스와 통신하는데 사용될 수 있다. 또한, 예를 들어, 레이저(330')에 대한 COBRA 인터페이스를 사용하는 사이머 인코포레이티드의 제품인 COLDAS(824)는 레이저(330')로부터 진단 정보를 얻기 위해 사용될 수 있다. MSC(10)는 로지털 디바이스로서 COLDAS(824)를 처리하고 COLDAS(824)에 MSCCommInterface와 합치하는 디바이스 드라이버를 사용하여 접속된다.
MSC(10)의 유저 인터페이스 디자인은 참조된 도면에 도시된 바와 같이, UI내의 주요 스크린에 대한 스크린 스크레치를 사용하여 기술되었다. 다음은 MSC GUI내의 (최저로부터 최고로의) 패키지의 계층일 수 있다.
ics9.msc.core 패키지는 GUI(40)내의 모든 패키지에 의해 사용되는 공통 클래스를 포함한다. 이것은 또한, GUI(40)를 시작하기 위해 main() 메소드를 포함한다. 다음의 주요 클래스는 이러한 패키지의 일부일 수 있다.
Constants는 GUI(40)를 통해 사용되는 상수를 포함하는 클래스일 수 있다. DefaultPanel은 GUI(40)에서 사용되는 모든 패널에 대한 베이스 클래스일 수 있다. 이것은 모든 패널에 공통인 기능을 구현한다. MSCSystemProperties는 GUI 스크린의 룩 및 필을 컨트롤하는데 사용될 수 있는 데이터베이스로부터 시스템 레벨 특성을 로딩하는 클래스일 수 있다. StartMSC는 GUI(40)를 시작하기 위한 maim() 메소드를 갖는 클래스일 수 있다. MSCDynParam classes는 GUI(40)내의 다이내믹 파라미터 스크린의 디스플레이 및 업데이트 기능을 제공한다. 이러한 클래스는 컨트롤러, 모델 및 뷰 클래스를 갖는 스탠더드 모델 뷰 컨트롤러(MVC) 디자인 패턴을 사용한다.
ice9 . msc . util 패키지는 GUI(40)내의 모든 패키지에 의해 사용되는 공통 유틸리티 메소드를 포함한다. 이것은 이미지를 로딩하고 필내의 데이터를 검증하고, 테이블내의 데이터를 소팅하는 유틸리티 메소드를 포함한다. ice9 . msc . comm 패키지는 자바내의 TCP/IP 소켓 API를 사용하여 서버(20)와 GUI(40) 사이의 통신을 촉진한다. 이러한 패키지는 자바내의 JDBC API를 사용하여 GUI(40)로부터의 데이터 액세스를 위한 고레벨 추상화를 제공한다. 다음의 클래스는 이러한 패키지의 일부일 수 있다. (1) SocketConn은 GUI(40)내의 TCP/IP를 사용하여 소켓 통신을 구현한다. (2) CommandSocketConn은 서버(20)와 컨트롤 메시지를 송수신하기 위해 SocketConn 클래스를 사용한다. 서버(20)에 송신된 모든 컨트롤 메시지는 접속이 먼저 달성될 때 서버(20)에 의해 리턴된 세션 ID를 포함한다. 서버(20)는 액세스 컨트롤을 인포싱하기위해 이러한 세션 ID를 사용한다. (3) DiagnosticSocketConn은 서버로부터 상태 메시지를 수신하기 위해 SocketConn 클래스를 사용한다. (4) MSCDBConn은 예를 들어, MSC 데이터베이스에 대한 자바 데이터베이스 커넥션("JDBC")를 스탠더드 커넥티비티 디바이스에 제공한다. 이러한 접속을 제공하기 위해, MSC(10) 데이터베이스내의 저장된 프로시져가 MSC(10)내의 데이트를 검색하고 업데이트하기 위해 실행될 수 있다.
ice9 . msc . security 패키지는 사용자를 GUI(40)내의 다양한 특징에 대해 인증한다. 이것은 사용자 로그인을 검증한다. 이것은 사용자의 역할에 기초한 액세스 컨트롤을 결정한다. 다음의 클래스는 이러한 패키지의 일부일 수 있다.
SecurityManager: 이러한 클래스는 보안 타입에 기초하여 사용자 또는 역할 을 시스템에 로그인한다. 이것은 2개의 보안의 형태, 즉, 사용자 기반 보안 및 그룹 기반 보안을 지원한다. 이러한 시스템이 사용자 기반 보안이도록 구성될 수 있다면, 이것은 사용자 ID 및 사용자 패스워드가 공급될 것을 기대한다. 그다음, 이것은 데이터베이스로부터 사용자에 대응하는 역할을 찾아낸다. 한편, 시스템이 그룹 기반 보안이도록 구성되어 있다면, 이것은 역학 ID, 역할 패스워드 및 사용자 ID가 공급될 것을 기대한다. 어느 구성이 선택되는지에 관계없이, 결국, 시스템은 누가 시스템을 사용하는 사용자인지 그리고 사용자가 플레이할 수 있는 역할을 알게된다. 이러한 역할로부터, 시스템은 사용자 퍼미션을 결정할 수 있다.
역할 및 퍼미션은 사전한정될 수 있다. 이들은 OEM 스키마에 저장될 수 있다. 3개의 공통 역할이 존재할 수 있다: 오퍼레이터(프로세스 엔지니어); 서비스 엔지니어(파일드 서비스 엔지니어); 및 관리자.
퍼미션은 이들이 실행할 수 있는 액션을 사용하는 각 역할에 대해 한정될 수 있다. 사용자가 임의의 특징에 실행할 수 있는 5개의 공통 액션, 즉, 뷰; 생성; 수정; 삭제; 실행이 존재할 수 있다.
이러한 시스템은 MSC 서플라이어에 의해 임의의 레벨에서 퍼미션이 설정될 수 있도록 한다. 퍼미션은 다음의 레벨, 즉, 시스템; 특징; 엔티티에서 설정될 수 있다.
시스템 레벨(데이터베이스 레벨)에서 설정된 퍼미션은 특징 레벨(즉, 테이블 레벨)에서 설정된 퍼미션에 의해 무시될 수 있고, 이러한 특징 레벨은 엔티티 레벨(즉, 필드 레벨)에서 설정된 퍼미션에 의해 무시될 수 있다.
이러한 클래스의 2개의 중요한 메소드는, bool is Allowed(strig SessionID, string FeatureID, String ActionCode); bool checkPermission (string SessionID, string permissionID, string ActionCode)일 수 있다.
상기 bool is Allowed() 메소드는 주어진 특징에 대한 액세스를 체크하는데 사용될 수 있다. 액세스가 허용되지 않는다면, 상응하는 메뉴 또는 버튼이 디스에이블될 수 있다. 상기 bool checkPermission() 메소드는 필드 레벨 보안을 체크하는데 사용될 수 있다. 예를 들어, 퍼미션 ID이 데이터베이스내의 테스크 파라미터에 부착될 수 있다면, GUI내의 상응하는 파라미터 행은 상기 bool checkPermission() 메소드로부터의 리턴값에 기초하여 이네이블/디스에이블될 수 있다.
ice9 . msc . sysconfig 패키지에 의해 사용자는 시스템 및 디바이스 구성 정보를 업데이트할 수 있다. 이것은 시스템 및 디바이스 구성 파라미터를 디스플레이하고 업데이트하기 위해 ice9.msc.core 패키지로부터 MSCDynParam 클래스를 사용한다. 시스템 구성 스크린상의 탭의 수 및 내용은 데이터베이스 구동될 수 있다. 보통, 하나의 탭은 MSC(10)에 부착된 각 디바이스에 대해 디스플레이될 수 있다.
ice9 . msc . status 패키지에 의해 사용자는 MSC 서버(20)로부터 상태 메시지를 볼 수 있다. 이것은 또한 사용자가 예를 들어, 타이밍, 시비어리티 및 메시지 내용에 기초하여 상태 메시지를 필터링하도록 할 수 있다. 이것은 컨트롤러, 모델 및 뷰 클래스를 가진 스탠더드 모델 뷰 컨트롤러(MVC) 디자인 패턴을 사용한다. 상태 메시지를 디스플레이하기 위해, GUI(40)는 서버(20)로부터 "StatusMessage" 메시지를 듣는다. ice9 . msc , proj 패키지에 의해 사용자는 GUI내에 프로젝트를 생성, 업데이트 및 삭제할 수 있다. 이것은 컨트롤러, 모델 및 뷰 클래스를 가진 스탠더드 모델 뷰 컨트롤러(MVC) 디자인 패턴을 사용한다. 이러한 패키지에 의해 사용자는 프로젝트에 대한 스케줄을 제공할 수 있다. 프로젝트는 최대 하나의 스케줄에 제한될 수 있다. 태스크는 이것이 스케줄링될 수 있는지 나타내기 위해 파라미터를 가질 수 있다. 프로젝트는 이것이 스케줄링을 금지하는 태스크를 포함한다면 스케줄링될 수 있다. 태스크의 스케줄링가능한 파라미터가 변한다면, 시스템은 그러한 태스크를 포함하는 스케줄을 재 인증할 수 있고 스케줄링된 태스크가 언스케줄러블하다면 사용자에게 통지한다. 사용자가 컨트롤, 진단, 또는 다운로드를 위하여 템플릿에 기초한 프로젝트 스크린을 사용하기로 결정한다면, 커스텀 스크린은 요구된 템플릿를 사용하여 디스플레이될 수 있다. 데이터베이스에 대한 프로젝트 데이터의 저장 및 검색은 여전히 스탠더드 프로젝트 한정(즉, 프로젝트느 단순히 태스크 파라미터를 가진 태스크의 콜렉션일 수 있다)을 사용하여 이루어질 수 있다. 그래서, GUI내의 템플릿에 기반 커스텀 로직은 스탠더드 포맷과 템플릿 기반 커스텀 포맷 사이에서 프로젝트 데이터를 전환시킬 수 있다. 프로젝트를 임포트/엑스포트 및 카피/페이스트하기 위해, XML 포맷이 사용될 수 있다.
스타일시트가 프로젝트 정보를 용이하게 보기 위해 텍스트 포맷으로 XML을 전환시키는데 사용될 수 있다. 프로젝트 스케줄 정보는 프로젝트의 임포트/엑스포트내의 포함될 수 없다. 또한, 임포트/리플레이스 기능은 지원될 수 없다. 임포트는 새로운 프로젝트를 생성할 수 있다. 이것은 동일한 이름을 가진 프로젝트가 이미 존재한다면 에러가 날 수 있다. 엑스포팅된 XML 도큐먼트는 2개의 섹션, 즉, 헤드 및 바디로 분할될 수 있다. 엑스포팅된 데이터의 통합을 보장하기 위해 해시가 바디 섹션내의 엑스포팅된 데이터에 대하여 생성될 수 있고 헤딩 섹션내에 포함될 수 있다.
임포트시에, 바디 섹션의 해시는 헤딩 섹션내에 저장된 해시에 매칭하지 않는다면, 경고는 사용자에게 디스플레이될 수 있다. 임포트 동작은 그다음 사용자의 선택에 기초하여 처리되거나 중단될 수 있다.
ice9 . msc . recipe 패키지에 의해 사용자는 GUI내의 리사이프 및 이와 연관된 이미지를 생성, 업데이트, 삭제, 카피 및 페이스트할 수 있다. 이것은 컨트롤러, 모델 및 뷰 클래스를 가진 스탠더드 모델 뷰 컨트롤러(MVC) 디자인 패턴을 사용한다. 사용자는 폴더를 사용하여 리사이프를 구성한다. 이러한 폴더는 파일 시스템내의 실제 폴더가 아닐 수 있다. 폴더 계층(부모와 자녀 관계로서) 데이터베이스내에 저장될 수 있다. 짧은 리사이프 이름은 폴더에 걸쳐서 유일할 필요는 없다. 리사이프의 긴 이름은 그 폴더 계층을 포함한다. 리사이프의 긴 이름내의 폴더 이름은 포워드 슬래시(/)에 의해 분리될 수 있다. GUI는 데이터베이스로부터 폴더 계층을 검색하고 이것을 표시한다. 리사이프 및 이미지 파라미터에 대한 콘시스턴시 체크는 리사이프 파라미터간의 비교를 포함한다. 이러한 컨시스턴시 체크 자체는 리사이프 및 이미지 파라미터의 다른 정보와 함께 데이터베이스의 OEM 스키마내에 저장될 수 있다. 예를 들어, 이들은 Image.EndX<Image.StartX로서 저장될 수 있다. GUI는 OEM 스키마로부터 상기 컨시스턴시 체크를 검색하고, 상기 리사이프 및 이미지 파라미터에 대한 값을 구성하고 상기 컨시스턴시 체크를 참과 거짓에 대해 평가한다.
리사이프를 임포트/엑스포트 및 카피/페이스트하기 위해, XML 포맷이 사용될 수 있다.
스타일시트는 리사이프 및 이미지 정보를 용이하게 보기 위해 XML을 텍스트 포맷으로 전환하는데 사용될 수 있다. 임포트는 새로운 리사이프 또는 이미지를 적합한 것으로 생성한다. 이것은 동일한 이름을 가진 리사이프가 이미 존재한다면 에러가 난다. 이미지는 임포팅된 XML 파일내의 이미지의 이름에 관계없이 리사이프내의 이미지의 존재하는 리스트에 첨부될 수 있다. ice9.msc.proj 섹션에서 상술된 바와 같이, 엑스포팅된 파일의 인티그리티는 엑스포팅된 도큐먼트내의 엑스포팅된 데이터의 해시를 저장함으로써 검층될 수 있다.
ice9 . msc . lot 패키지에 의해 사용자는 GUI내의 롯을 생성, 업데이트 및 삭제할 수 있다. 이것은 컨트롤러, 모델 및 뷰 클래스를 가진 스탠더드 모델 뷰 컨트롤러(MVC) 디자인 패턴을 사용한다.
롯을 카피/페이스트하기 위해, XML 포맷이 사용될 수 있다.
ice9.msc.job 패키지에 의해 사용자는 GUI(40)로부터 잡을 생성, 삭제, 기록 및 실행할 수 있다. 이것에 의해 사용자는 또한, 잡 실행을 일시중지, 재시작 또는 중단할 수 있다. 이것에 의해 잡은 스텝 또는 지속적인 모드에서 실시될 수 있다. 이것은 컨트롤 메시지를 MSC 서버(20)에 송수신한다. 이것은 또한 결정화 그래픽 및 시스템 상태를 디스플레이한다. 시스템 상태 탭의 수 및 내용은 데이터베 이스 구동될 수 있다. 이러한 시스템은 컨트롤러, 모델 및 뷰 클래스를 가진 스탠더드 모델 뷰 컨트롤러(MVC) 디자인 패턴을 사용한다. 사용자가 잡 큐에 잡을 추가할 때, GUI(40)에 의해 사용자는 도 34내에 설명된, Add Job to Queue 스크린(100)내의 Edit 버튼(102)을 클릭함으로써 런타임 파라미터를 공급할 수 있다. Edit 버튼을 클릭하면 도 33에 도시된 바와 같은, 상응하는 잡 롯 또는 프로젝트의 수정 스크린이 된다. 대안으로, 상응하는 롯 또는 프로젝트의 파라미터만을 나열하는 새로운 스크린이 디스플레이될 수 있다. 사용자가 런타임 파라미터를 공급하였는지 여부에 관계없이, GUI(40)는 데이터베이스내의 잡의 카피를 만들 수 있고 이것을 잡 큐에 추가할 수 있다.
add job 스크린(100)은 또한 잡으로부터 롯으로 리스트를 토글링하는, 롯 또는 잡의, 잡의 타입을 지시하기 위한 선택 토글(104)을 가질 수 있다. 이것은 리스트(106)내에 선택가능한 잡을 디스플레이할 수 있다. 일단 선택이 이루어지면 사용자는 OK 버튼(108) 또는 Cancel 버튼(110)을 클릭할 수 있다.
스케줄링된 잡은 또는 스케줄이 이들의 실행 시간에 도달할 때 잡 큐의 끝에 추가된다. 시스템 구성 파라미터에 따라, 잡 스케줄러가 수동이 되도록 구성될 수 있다면, 시스템은 잡을 실행하기 전에 사용자를 프롬프팅한다. 한편, 잡 스케줄러가 자동으로 구성되어 있다면, 잡은 사용자를 프롬프팅함 없이 실행된다. 카세트의 그래피 표현, 결정화 그래픽스 및 시스템 상태 값에 대해, GUI(40)는 서버(20)로부터 "StatusParameter" 메시지를 기다린다. 다음의 파라미터, 즉, Lot.Name; Recipe.Name; Image.Name; Stage.CurrentY는 스크립으로부터 LogParameter 커맨드 를 사용하여 결정화 그래픽스에 대하여 GUI(40)에 전송될 수 있다.
미싱된 펄스에 대해, Stage/CurrentY 파라미터의 현 Y 포지션 값에 스페이스와 함께 "2"를 첨부한다. 유리 기판이 회전된다면, 이에 따라 결정화 그래픽스는 조정될 필요가 있다. 이러한 파라미터의 이름 및 값을 포함하는 것에 더하여, 서버(20)로부터의 "StatusParameter" 메시지는 GUI(40)에 의해 취해지는 액션을 나타내는데 사용될 수 있는 속성을 포함한다. 이러한 액션 속성은 데이터베이스내의 상태 테이블에 저장될 수 있다. GUI(40)는 다이얼로그 팝업; 아이콘 또는 경고 신호 표시; 별표 또는 느낌표 도시; 이메일 또는 페이저 전송; 커스텀 스크립트에 기초한 액션 실행;중 하나 이상을 행하기 위해 액션 속성을 사용할 수 있다.
ice9 . msc . workflow 패키지는 커스텀 프로젝트 스크린을 제공한다. 이것은 커스텀 뷰가 프로젝트를 생성, 수정 및 실행하기 위해 템플릿를 사용한다. 이것은 데이터베이스의 MSC 스키마로부터 프로젝트를 저장 및 검색하기 위해 ice9.msc.proj 패키지의 클래스를 사용한다. 이러한 패키지는 ice9.msc.proj 패키지 위에 추상화 층으로서 생각될 수 있다. 이러한 패키지는 템플릿에 포함된 정보에 기초한 커스터마이즈드 뷰로서, ice9.msc.proj 패키지를 사용하여, 데이터베이스로부터 검색된 프로젝트 정의를 만든다. 3개의 템플릿, 즉, Diagnosis, Control 및 Download가 식별되었다. 추가 템플릿가 필요한대로 추가될 수 있다. 이러한 패키지내의 워크플로 엔진은 스탠더드 프로젝트 정의를 커스텀 뷰로 전환한다. 사용자는 프로젝트를 생성 및 수정하기 위해 이러한 커스텀 뷰를 사용할 수 있다. 그다음, 워크플로 엔진은 커스텀 뷰를 스탠더드 프로젝트 정의로 다시 전환한다. 커스텀 뷰를 사용하여, 사용자는 또한 쌍방향으로 프로젝트를 실행할 수 있다. 사용자가 이러한 커스텀 뷰중 하나내의 Execute 버튼을 클릭할 때, 스크린뒤의 워크플로 엔진은 잡을 생성하고 이것을 당장 실시되도록 잡 큐에 추가한다. 그다음, 이것은 상태 윈도내의 상태 메시지를 재디렉팅함으로써 동일한 커스텀 뷰에 프로젝트 실행 결과를 디스플레이한다.
ice9 . msc . reporting 패키지에 의해 사용자는 시스템내의 다양한 서버 컴포넌트에 의해 발생된 리포트를 나열하고 볼 수 있다.
본 발명의 일실시예의 특징에 따라, 데이터베이스 디자인은 테이블을 사용하여 설명되는 바와 같이, MSC(10)의 데이터베이스 디자인을 포함할 수 있다.
데이터베이스내의 테이블은 보안, 잡 스케줄링, 모듈 및 리사이프 계층 정보를 저장할 수 있다. 이것은 사용자 ID 및 패스워드 및 사용자의 레벨, 예를 들어, 사용자의 역할을 갖는 사용자 테이블을 포함할 수 있고, 예를 들어, 프로세스 엔지니어, 필드 서비스 엔지니어 또는 관리자와 같은 특정 사용자에게 주어진 패스워드 및 퍼미션과 같은 다른 시큐어리티를 포함할 수 있다. 테이블은 예를 들어, 세션, 예를 들어, 다음의 데이터, 즉, SessionID (PK); SessionUserID; SessionRoleID; SessionType (GUI, MES등); SessionStartTime; SessionEndTime의 데이터를 갖는 MSC:: Session Table을 트래킹할 수 있다. Msc:: Action Table은 ActionCode (PK)(View, Create, Update, Delete, Execute 등); ActionDesc을 가질 수 있다. MSC::Feature Table은 FeatureCode (Lot, Recipe, Project, Job, Status, Queue, Schedule등); FeatureDesc를 포함할 수 있고, MSC::AcessControl Table은 Featurecode(PK-1); PermID(PK-1)를 포함할 수 있다.
PermID는 또한 필드 레벨에서 액세스를 컨트롤하기 위해 OEM 스키마(22)내의 파라미터 테이블에 추가될 수 있다. MSC::Schedule Table은 스케줄링 펑션의 일부일 수 있고, ScheduleIDIPK); ScheduleType(Hourly, Daily, Weekly, Monthly); RecurrenceTimes(즉, OccursEvent); RecurrencePeriodType(Day, Days, Week, Months); Recurrence Period; StartTime; StartDate을 포함할 수 있다. 이것은, 예를 들어, 도 29, 30, 31, 31의 GUI 스크린(2132, 2134, 2136, 2138)을 사용하여 이용될 수 있다. 사용자는 타이밍 선택 박스(2142)에 시간, 일, 주 또는 달(Hourly, Daily, Weekly, 또는 Monthly)를 선택하는데, 이것은 시간, 주, 또는 달 스케줄링에 대하여 각가 도 29-33의 각 스크린(2132, 2124, 2136, 2138)에서 예시된 각 스케줄링 윈도우(2144, 2144', 2144'' 또는 2144''')로 나타날 수 있다. 도시된 바와 같이, 이러한 각 윈도우(2144-2144''')는 시간, 일, 주, 및 달 단위로 스케줄링 시간 및 빈번수를 선택할 있게 한다.
MSC::JobSchedule Table은 Job(PK-1); SecheduleID(PK-1); ActiveIndicator(True or False); NextExecutionTime을 포함할 수 있고, MSC::Module Table은 ModuleID(PK); ModuleName을 포함할 수 있고, MSC::Component Table은 ModuleID(PK); ComponentID(PK-1); ComponentName; SequenceNumber를 포함할 수 있다. MSC::ModuleParameter Table은 ModuleID(PK-1); ParamName(PK-1); ParamValue; 및 모든 다른 제너릭 파라미터 관련된 컬럼을 포함할 수 있다. MSC::ComponentParameter Table은 ModuleID(PK-1); ComponentID(PK-1); ParamName(PK-1); ParamValue; 및 모든 다른 제너릭 파라미터 관련된 컬럼을 포함할 수 있다. MSC::RecipeFolder Table은 FolderID(PK); FolderName; ParentFolderID를 포함할 수 있다.
SubstrateID가 RecipeID에 더하여 LotRecipe 테이블에 그리고 Recipe 테이블에 ParentFolderID에 대한 컬럼에 대하여 추가될 수 있다. 인코딩된 스크립은 데이터베이스내에 저장될 수 있다. 다음의 파라미터, System Idle Timeout(분 단위), Scheduler manual/Automatic Mode and Window 를 데이터베이스내의 시스템 파라미터 리스트에, 태스크에 대한 다음의 파라미터, Task can be scheduled or not에 따라 추가될 수 있다. Pop up a dialog box, Display an error or warning icon or Perform a custom action using a script가 상태 체크가 실패할 때 예를 들어, 액션의 타입으로서 Status 테이블에 추가될 수 있다
도 42a-e는 variable_label, variable_uom, variable_data_type, variable_type, variable_default, variable_required, variable_validator, variable_order, variable_list 및 variable_internal data을 각 폼에 대하여 포함하는, OEM_form_variable 테이블(2502)에 링크될 수 있는, form_id(PK) 및 form_name 데이터를 포함하는, OEM_form 테이블(2500)과 같은 OEM 데이터베이스(2) 및 MSC 데이터베이스(24)를 예시하고 있다. 또한, 예를 들어, device_id, variable_name 및 variable_value 데이터를 포함하는 MSC_device_variable 테이블(2504), 예를 들어, variable_name 및 variable_value 데이터를 포함하는 MSC_confin_variable 테이블(2506), xseries 및 yseries 데이터를 포함하는 MSC_sater_data 테이블(2508) 및 xseries 및 yseries 데이터를 포함하는 MSC_n2_data 테이블(2510)가 포함될 수 있다. 또한, 각각 ib_id 및 rb_id 데이터 그리고 각 ib_timestamp 및 rb_timestamp 그리고 ib_project_id 및 rb-project_id를 각각 포함하는 MSC_linebeam_header 테이블(2520) 및 MSC_rawbeam_header 테이블(2530)이 예시되어 있다. 상기 MSC_linebeam_header 테이블(2520) 및 MSC_rawbeam_header 테이블(2530)은 MSC_linebeam_calculation 테이블(2524) 및 MSC_rawbeam_calculation 테이블(2532) 그리고 MSC_linebeam_data 테이블(2522) 및 MSC_rawbeam_data_data 테이블(2534)에 각각 링크되어 있고, 상기 테이블(2524) 및 테이블 (2532)는 예를 들어, lb_id, rb_id, lb_capture_id, rb_capture_id, lb_name, rb-name 및 lb_value, rb_value 데이터를 각각 포함한다. 상기 테이블(2522) 및 테이블(2534)는 예를 들어, ib_id, rb_id, lb_filename, rb-filename 및 lb_filedata, rb_filedata 데이터를 포함한다.
도 42b에 추가적인 OEM/MSC 데이터베이스 테이블이 도시되어 있다. project_id(PK), project_name, project_desc, 및 project_type 데이터를 포함하는 oem-project 테이블(2540)이 도시되어 있는데, 이러한 oem-project 테이블(2540)은 task_id(PK), task_anme, task_desc, task_type 데이터를 포함하는 oem_task 테이블(2544)에 링크되어 있고, oem_task 테이블(2544)은 각각 프로젝트내의 태스크에 대한 project-id, task-id, task_sequence를 포함할 수 있는 oem_project_task 테이블 및 msc_project_task 테이블(2548)에 링크되어 있다. 테이블(2540)은 또한, variable_label, variable_uom, variable_data_type, variable_type, variable_default, variable_required, variable_validator, variable_order, variable_list, variable_internal 데이터와 더불어 project_id, variable_name을 포함할 수 있는 oem_project_variable 테이블(2542)에 링크되어 있다. 테이블(2544)는 variable_label, variable_uom, variable_data_type, variable_type, variable_default, variable_required, variable_validator, variable_order, variable_list and variable_internal data는 물론 task_id and variable-name data를 포함할 수 있는 oem_task_variable에 링크될 수 있다.
테이블(2548)은 예를 들어, 로그 메시지 데이터는 물론 project id and log_timestamp를 포함하는 msc_project_log 테이블에 링크될 수 있고 project_id data and project_name, project_desc, and project_type 데이터를 포함할 수 있는 msc_project table(2550)에 링크될 수 있다. 테이블(2544)은 variable_label, variable_uom, variable_data_type, variable_type, variable_default, variable_required, variable_validator, variable_order, variable_list and variable_internal 데이터와 더불어 task_id and variable_name 데이터를 포함할 수 있는 oem_task_variable table(2560)에 링크될 수 있다.
또한, queue_status and queue_mode 데이터를 포함할 수 있는 msc_queue_status table(2564) 및 projected, task_id, variable_name and task_sequence and variable_value 데이터를 포함할 수 있는 msc_task_variable table(2566)가 있을 수 있다.
도 42c는 device_id, device_name and isinternal 데이터를 포함할 수 있는 oem_device 테이블 2570을 예시하고 있다. table 2570은 device_id, error_number and error_message 데이터를 포함할 수 있는 oem_error table 2572에 링크될 수 있고, device_id, command_name, value_nif and value_df 데이터를 포함할 수 있는 oem_command_lookup_ table 2574, variable-label, variable_uom, variable_data_type, variable_type, variable_default, variable_required, variable_validator, variable_order, variable_list and variable_internal 데이터와 더불어, device_id and variable_name 데이터를 포함할 수 있는 oem_device_variable table 2576에 링크될 수 있다.
테이블(2570)은 또한 low_level_command, df_data_conversion, nif_data_conversion and lookup_required 데이터는 물론 device_id and command_name 데이터를 포함할 수 있는 oem_device_command table 2580에 링크될 수 있다. 테이블(2570) 또한 device_id, warning_number and warning_message 데이터를 포함할 수 있는 oem_waqrning table 2582에 링크될 수 있다. 테이블(2570) 및 테이블(2580)은 device_id, callback_name, command-parameter, command_return_value and command sequence 데이터를 포함할 수 있는 oem_status_command 테이블(2578)에 링크될 수 있다.
도 42d는 recipe id table, recipe_name and recipe_desc를 포함하는 msc_recipe table 2600를 예시하고 있고 msc recipe log table 2602 및 msc recipe variable table 2604에 링크되어 있을 수 있다. 테이블 (2602)은 예를 들어, recipe_id, log timestamp and log_message 데이터를 포함하고, 테이블 2604은 recipe id, variable name and variable_yalue 데이터를 포함하고 있다. 테이블(2600) 또한 예를 들어, lot_id, recipoe_id and recipe_sequence 데이터를 포함할 수 있는 msc_lot_recipe table 2606에 링크될 수 있다. msc_lot table 2592은 lot_id, lot_name and lot_desc 데이터를 포함할 수 있고 테이블 2606에 링크될 수 있고 lot_id, log_timestamp and log_message 데이터를 포함하는 msc_lot_table 테이블(2594)에 링크되고 lot_id, variable_name and variable value data를 포함하는 msc_lot_variable 테이블(2596)에 링크될 수 있다. 또한, queue_idjob_id, job_type, job_status, job timestamp and job_sequence data를 포함하는 msc_job 테이블(2590)이 있을 수 있다.
도 42e는 다른 테이블을 예시하고 있는데, 예를 들어, image_id, recipe id, image name and image_sequence data를 포함하는 msc_image 테이블(2636)을 도시하고 있다. msc_image 테이블(2636)은 image_id, variable_name and variable_value data를 포함하는 msc_image_variable table 2638에 링크되어 있고 image_id, log_timestamp and log_message data를 포함하는 msc_image_log에 링크될 수 있다. oem_status table 2610은 tab_id, tab_name and tab_sequence data를 포함할 수 있고 status_name, tab_id, status_label, status_uom and status_sequnce data를 포함하는 oem_status_detail table 2612에 접속될 수 있고 테이블 2612은 또한 status_name, parameter_operator, parameter value, and parameter_status data를 포함할 수 있는 oem_status_parameter table에 링크될 수 있다.
다른 테이블은 queue_id, job_id, recipe_id, image_id, task_id and state data를 포함하는 msc_state table 2616, version_prefix, version_major, version_minor, version_patch and version_suffix data를 포함하는 oem_version table 2620, queue_id, job_id, jobjype, job_status, job_timestamp and job_sequence data를 포함하는 msc_queue tble 2622, device_id, log timestamp, log_type and log_message data를 포함하는 msc-log table 2624, 각각 xseries and yseried data를 포함하는 msc_air_data table (2626) 및 msc_alt_data table (2634)을 포함할 수 있다.
본 발명의 일실시예의 특징에 따라, 데이터 및 메시지 맵핑 프로세스(DMP(906))는 예를 들어, 도 19, 43a-c 및 도 44에 도시된 바와 같이 ECP(902) GEM 인터페이스(904)를 통해 호스트 시스템(910)과 통신할 수 있다. 이러한 디자인은 Asyst Technologies(conX300, Gem and SDR)로부터 제공된 3개의 제품을 포함할 수 있다. 본 발명의 일실시예의 특징에 다라, 시스템 오버뷰에는 (때로 여기에서 ice9로 불리는) TCZ900X는 2개의 주요 컴포넌트, MSC(마스터 시스템 컨트롤러; 10) 및 ECP(902)(외부 통신 프로세스)(900)로 구성되고, 후자는 팩토리 호스트(910)와 MSC(10) 사이의 메시지 변환 서비스이라는 것을 포함한다. ECP(900)는 TCZ 900X 벤더 라이브러리, 예를 들어, GEM 라이브러리(904)를 사용하여 이러한 메시지를 팩토리 HOST(910)로 변경하고, MSC(10)와 통신할 수 있다.
다음의 용어 및 머리글자는 MES(80)의 디자인의 기재에서 사용된다.
용어 정의
TCZ900X TCZ900X는 평판 디스플레이를 제조하기 위한 혁명적인 제조 툴이다. 이것은 LTPS(저온 폴리 실리콘) 또는 SLS(얇은 빔 시퀀셜 측방향 솔리디피케이션) 툴이다.
ECP 팩토리 호스트 및 MSC와 상호작용하는 프로세스
오퍼레이터 장비의 재료 포트에 액세스를 갖고 피널을 컨트롤하는 사람, 이 사람은 예를 들어, 프로세스 엔지니어와 같은 TCZ900X와 같은 레이저 어닐링 머신을 동작시키는 사람이다.
호스트 SECS/GEM 인터페이스를 통해 TCZ900X 장비에 접속된 컴퓨터
GEM 제너릭 장비 모델
SECS SEMI 장비 통신 표준
SEMI 반도체 장비 및 재료 인터내셔널
SV 상태 변수
DV 데이터 변수
CEID 콜렉션 이벤트 ID
다음의 디자인은 ECP(902) 및 MSC(10)가 별개의 머신에서 독립적으로 실시되도록 디자인될 수도 있지만 동일한 서버에서 실시되는 2개의 상이한 프로세스일 수 있기 때문에 MSC/ECP(900)인티그레이션, 멀티-프로세스 또는 멀티-스레딩에 대한 디자인의 일부일 수 있고, 또한 ECP(902)가 MSC(10)와 통신하고 HOST(910)에 토킹하기 위해 별개의 스레드를 사용하는 MSC(10)와 유사한 접근법을 사용하기 때문에 인터페이스에 대한 단일 스레드 또는 다수의 스레드일 수 있다.
본 발명의 일실시예의 특징에 따라, MSC(10)와 SECS 벤더 소프트웨어 사이의 통신에 레이저 어닐링 머신의 최종 사용자에 의해 요구되는 맞춤화를 허용하도록 확장될 수 있는 제너릭 기능이 제공될 수 있고, 동시에 MSC(10)의 중심 코어는 예를 들어, GEM 라이브러리(910)와 같은 스탠더드 GEM 인터페이스를 지원하도록 수정될 필요가 없게 할 수 있다. MES(80)는 ECP 900ECS/GEM 호스트 인터페이스의 중심부를 형성하는 클래스의 세트를 제공하고, 이러한 클래스는 이러한 최종 사용자의 특정 필요를 채우기 위해 재사용가능하고, 고품질이고, 안정하고, 확장가능할 수 있다. 이러한 구현은 구현 변경 및 다른 MSC(10) 프로세스의 임팩트를 최소화하도 록 가능하고 실제적인 인터페이스로부터 감추어질 수 있다. Asyst GWGEM 구현은 메인 ECP, GEM 익스텐션 프로세스, GEM 메시지 프로세스, GEM 데몬 및 SDR 데몬을 포함하는 최소 5개의 별개 실행 프로세스를 필요로 할 수 있다. 이러한 컴포넌트의 각각은 GEM 및 SDR 요구에 따라 GEM 및 SDR DLL와 인터페이스한다. 또한, GEM 구성에 의해 애플리케이션 개발자는 상술된 요구되는 프로세스간의 통신을 위한 메커니즘을 개발할 수 있다. GEM 데몬 프로세서는 ECP 900 태스크, 프라이머리 메시지 핸들러 태스크, 및 익스텐션 태스크 사이의 모든 인터랙션을 코디네이팅한다. GEM 데몬은 GEM 로직의 주요부를 포함한다.
메인 ECP(900)는 GEM 시스템에 대한 주요 인터페이스일 것으로 생각될 수 있다. ECP(900)는 장비 특정 소프트웨어 모듈중 어느 하나를 통합하거나 포함하지 않고 SECS/GEM 통신에 특정한 태스크를 핸들링하고 GEM 라이브러리에 인터페이스하는 것에만 제한될 수 있다. ECP(900)의 목적은 메시지 트랜슬레이터, 디스패처 및 전체 SECS/GEM 솔루션에 대한 서버로서 동작하는 것일 수 있다. ECP(900)는 아래에 보다 상세하게 설명되는 바와 같이, GEM 익스텐션 프로세스, GEM 메시지 프로세스 및 DMP(906)에 인터페이스하도록 요구될 수 있다.
사용자의 3개의 클래스는 예를 들어, TCZ900X 긴 얇은 빔 레이저 어닐링 장치내의 기판을 처리하는 매일 제조 동작을 실행하고, 시스템에 대한 제한된 액세스를 갖고, 특정 태스크 및 프로젝트만을 실행할 수 있는 프로세스 엔지니어를 포함하는, MSC 소프트웨어를 사용할 수 있다. 일예로서, 프로세스 엔지니어는 태스크 및 프로젝트를 편집 또는 삭제할 수 없다. 필드 서비스 엔지니어, 즉, 시스템에 대한 주요 액세스를 갖고 저레벨 커맨드를 준비하거나 디버그 모드를 시작할 책임을 갖지 않는 숙련된 시스템 엔지니어는 매일 프로세스 최적화 및 성능 모니터링 동작을 실행할 수 있다. 관리자, 즉, 시스템에 대한 관리자 액세스, 즉, 시스템에 대한 완전한 액세스를 갖지만 저레벨 커맨드를 준비하거나 디버그 모드를 시작할 책임을 갖지 않는 숙련된 시스템 엔지니어를 산발적인 관리, 트러블슈팅 및 성능 모니터링 동작을 실행할 수 있다.
다음의 매트릭스는 상기 사용자 클래스에 대한 액세스 레벨을 도시한다.
프로세스 엔지니어 필드 서비스 엔지니어 관리자
롯 관리
프로젝트 모든 프로젝트가 아니다
편집 태스크 X X
스케줄링 X
리사이프 모니터
런 리사이프 큐
파손 복구
에러 복구
러그인
리포트
MSC(10)는 실리콘 기판을 처리하는 동안, 첨부된 디바이스와 상화작용할 때 일초 정도의 범위에서 응답 시간을 제공하는 것으로 예상될 수 있다.
아래는 MSC(10)에 대한 요구 리스팅이다. 괄호내의 Cross Ref.는 레이어-컴포넌트-클래스 코드를 가리키는데, 예를 들어, 코드 GUI-CFG-MOD는 GUI 층의 시스템 구성 컴포넌트내의 모듈 클래스를 가리킨다.
제너럴 펑셔널 그룹에 대하여, 여기에 나열된 제너럴 펑셔널 필수요소는 MSC의 일반적인 펑셔널 필수요소가다. 시스템은 다음의 고레벨 기능을 가질 수 있다: 프로세스 기판 성능 리포팅 주기적 모니터링 (GUI-JOB, GUI-REP, GUI-SCH); 프로세 스 옵티마이제이션은 기판 처리의 일부일 수 있다(GUI-CFG); 사용자는 유저 인터페이스(UI)를 사용하여 시스템 와이드 구성 파라미터를 업데이트할 수 있다; UI는 워크플로 구동될 수 있다. 도 23 내지 도 32에 도시된 바와 같이, 커스텀 프로젝트 스크린과 같은 GUI(40)의 일부는 기본 워크플로를 시뮬레이팅할 수 있고(GUI-WFE); MSC는 서비스어빌리티 및 메인테인어빌리티(GUI-PRJ, SVR-SCR-MOD)를 지원할 수 있다.
리사이프 미니저 펑셔널 그룹에 대하여, 여기에 나열된 리사이프 정보 필수요소는 리사이프 정보의 롯 및 리사이프 특징 및 관리와 관련된 필수요소일 수 있다. 리사이프는 기판 프로세스에 대한 모든 파라미터의 컨테이너일 수 있다. 이것은 하나 이상의 이미지 GUI-RCP-RCP를 포함할 수 있고; 리사이프는 0 또는 90의 기판 회전, 2, 3, 4, 5와 같은 파라미터를 가질 수 있다(GUI-RCP-RCP). 리사이프 파라미터의 수는 고정되지 않을 수 있다. 리사이프에 추가된 추가 파라미터는 사용자 인터페이스 스크린에 대한 코딩 수정을 포함할 수 없다(GUI-RCP-DYN, DB-OEM-OAR). 사용자는 리사이프에 대한 유일한 디스크립션을 공급할 수 있다(GUI-RCP-IMG). 이미지는 스타트 포지션: (50mm, 0mm), 엔드 포지션: (100mm, 360mm), 에너지 밀도: 1000mJ/cm, 스텝 사이즈: 1um, 에너지 모드: EXT, INT, 오토 포커스: ON, OFF, 포커스: 5um과 같은 파라미터를 가질 수 있다(GUI-RCP-IMG). 이미지 파라미터의 수는 고정되지 않을 수 있다. 이미지에 추가된 추가 파라미터는 유저 인터페이스 스크린에 대한 코딩 수정을 수반하지 않을 수 있다(GUI-RCP-DYN, DB-OEM-PAR). 사용자는 리사이프를 생성, 수정, 삭제, 저장 및 로딩할 수 있다(GUI-RCP- RCM). 사용자는 머신에 걸쳐 리사이프를 전송하기 위해 파일로 그리고 파일로부터 저장 및 로딩할 수 있다.
사용자는 리사이프 또는 머신에 걸쳐서 이미지를 전송하기 위해 파일로부터/파일로 이미지를 저장 및 로딩할 수 있다. 사용자는 리사이프를 편집하는 동안 이미지를 카피/페이스트할 수 있다(GUI-RCP-CPY). 사용자는 새로운 리사이프를 생성하기 위해 리사이프를 카피/페이스트할 수 있다(GUI-RCP-CPY). 리사이프가 수정될 때, 리사이프 레벨 컨시스턴시 체크는 리사이프의 유효성을 보장하기 위해 실행될 수 있다. 일부 파라미터는 요구될 수 있거나 선택될 수 있다. 리사이프 레벨 컨시스턴시 체크의 예는 포지션 값이 기판 사이즈보다 작다, 펄스 에너지가 최대보다 작다, 값 스텝 사이즈가 특정 범위내에 있다. 포커스 오프셋이 자동 포커스 모듈 범위내에 있다(GUI-RCP-RCP, DB-OEM-PAR). 리사이프 레벨 컨시스턴시 체크를 실행할 때, 시스템은 최소 및 최대와 같은 파라미터에 대한 상수를 가정할 수 있다. 값은 필드 서비스 엔지니어에 의해 컨트롤이능할 수 있다(즉, 컨트롤이 역할에 기초할 수 있다). 시스템은 최소 및 최소값을 설정할 수 있어서 아무런 대미지, 오버사이트 및 셰이프티가 없도록 보장할 수 있다(GUI-RCP-RCP, DB-OEM-PAR). 추가 리사이프 레벨 컨시스턴시 체크는 코드 리컴파일레이션을 요구하지 않을 수 있다. 이러한 체크는 다이내믹할 수있다(GUI-RCP-RCP, DB-OEM-PAR). 각 컨시스턴시 체크는 테이블내의 행일 수 있거나 저장된 프로시져일 수 있다(DB-OEM-PAR). 컨시스턴시 체크 및 누가 이들을 수정할 수 있는지 등은 리사이프 및 이미지 파라미터에 부착될 수 있다(DB-OEM-PAR). 리사이프와 이미지 파라미터 간에 종속성이 있을 수 있다. 리사이프 생성 또는 업데이트 타임 체크는 임의의 이러한 종속성을 제거하는 것을 보장할 수 있다. 예를 들어, 리사이프 정의에서, EndX 는 StartX보다 클 수 없다. 또한, 리사이프 또는 이미지 파라미터 값은 컨시스턴시에 대한 디바이스 파라미터에 대하여 체크될 수 있다(DB-OEM-PAR).
롯은 하나 이상의 기판을 포함한다. 롯내의 상이한 기판은 상이한 리사이프를 사용할 수 있다(GUI-LOT-LOT). 사용자는 롯을 생성, 수정, 삭제, 저장 및 로딩할 수 있다(GUI-LOT-LTM). 사용자는 롯/리사이프가 잡 큐에 의해 처리되는 동안 롯/리사이프를 수정할 수 있다. 시스템은 롯/리사이프의 카피를 만들고 이러한 카피를 처리를 위해 사용할 것으로 예상될 수 있다(GUI-JOB-QUE).
사용자는 이미지/리사이프/프로젝트의 임포트/엑스포트를 실행하는 동안, (네트워크 드라이브를 포함하는) 로컬 머신에 구성된 임의의 드라이브에 액세스할 수 있다(GUI-LOT-LOT). 다음의 이미지 파라미터는 Step Size->Pitch; Pitch->Tilt in Y direction; Yaw-> Tilt in X direction으로서 이름지정될 수도 있다. (GUI-RCP-IMG). MSC는 롯내의 미사용된 패널을 지원할 수 있다. 이것은 이것에 대한 널 리사이프를 사용할 수 있다(GUI-LOT-LOT). 임의의 주어진 시간에 1000개의 리사이프가 유용할 수 있다. 다라서, 이러한 리사이프를 그룹핑하는 능력이 유용할 수 있다. 이러한 그룹피이은 10개의 레벨까지 이를 수 있다. 리사이프의 이름의 일예는 CRYS800-CHUNG-200QCIF이다. 이것은 예를 들어, 에너지 밀도(CRYS800), 엔지니어(CHUNG), 및 디바이스 이름(200QCIF)를 포함한다. 디렉토리 구조의 일예는 CRY->TFI-LCD->20QCIF->ENGR Name->Data->2개 보다 많은 레벨일 수 있다. (GUI- RCP-FLD). 이미지에 대하여 리사이프의 레이아웃을 보는 새로운 탭이 필요할 수 있다 (GUI-RCP-GRP). 이러한 시스템은 판독되고, 공유되고 용이하게 통신될 수 있는 리사이프를 임포팅/엑스포팅하기 위한 텍스트 파일을 제공할 수 있다(GUI-RCP-EXP). 제조에 있어서, 보통, 하나의 리사이프는 기판 단위로 사용될 수 있다. 따라서, 롯내의 모든 기판에 대해 동일한 리사이프를 사용하기 위한 "ALL" 버튼과 같은 펑션이 필요할 수 있다(GUI-LOT-LOT).
하나 보다 많은 카세트 로딩 스테이션이 있을 수 있다. MSC(10)는 롯 한정에서 사용자로부터의 입력에 따른 카세트 스테이션 수가 필요할 수 있다(GUI-LOT-LOT). 입력 파라미터는 레이저 스캐닝 프로세스를 위해 필요할 수 있다: a. 롯 정보: LotID, 프로세스 스텝, 양, 오퍼레이터 ID; b. 프로세스 정보: 빔 폭 및 길이, 스캔 피치 및 길이, 에너지 밀도, 레이저 출력 에너지, 기판 회전 또는 틸트각 등(GUI-LOT-LOT, GUI-RCP-RCP). 이러한 시스템은 기판 ID를 롯 한정에 대한 리사이프와 연관시킬 수 있다(GUI-LOT-LOT). 시스템은 리사이프 이미지 스크린에 대한 격자 기반 레이아웃을 가질 수 있다(GUI-RCP-IMG). 시스템은 리사이프로부터 별도의 기판 정보를 트래킹할 수 있다(GUI-LOT-LOT).
유지 매너지 그룹에 대하여, 여기에 나열된 유지/모니터링.서비싱 프로젝트 필요사항은 유지/모니터링/서비싱 프로젝트와 이들의 실행과 관련된 필요사항일 수 있다. 프로젝트는 개별적인 모듈 또는 전체 시스템과 관련된 유지, 모니터링 및 오퍼레이션 태스크의 콜렉션일 수 있다. 태스크의 예는 레이저 관련 모니터링 데이터 다운로드(Laser); 레이저의 동작(Laser); 균일성 측정(System); 강도의 측 정(System); 포컬 플레인 보정(System); 스테이지의 절대/상대 이동(Stage); SMM/TMM의 폐루프 턴오프(BSC 336); SMM으로부터 펄스 에너지 다운로드(BSC 336)(GUI-PRJ-PRJ)일 수 있다. 유지 및 모니터링 태스크는 파라미터를 갖는다. 사용자는 이러한 파라미터에 대한 데이터를 공급할 수 있다. 사용자는 태스크 정의를 변경할 수 없다(GUI-PRJ-TSK). 태스크 파라미터의 수 및 타입은 태스크 마다 다를 수 있다. 태스크 파라미터의 수/타입의 변경 또는 추가 태스크의 추가는 유저 인터페이스 스크린에 대한 코딩 수정을 포함할 수 없다(GUI-PRK-DYN, DB-OEM-PAR). 사용자는 프로젝트를 생성, 로딩, 저장 및 수정할 수 있다(GUI-PRJ-PJM). 사용자는 파일로부터 프로젝트를 카피/페이스트 및/또는 임포트/엑스포트할 수 있다. 사용자는 주문된 프로젝트를 실행할 수 있다(GUI-JOB-QUE). 프로젝트내의 태스크를 실행하기 전에, 시스템은 디바이스의 상태를 저장할 수 있고, 이러한 상태를 에러가 발생한 경우에 재저장한다(SVR-SCR-TSK).
사용자는 프로젝트에 대한 유일한 디스크립션을 공급할 수 있다(GUI-PRJ-PRJ). 사용자는 머신 및 시스템 구성 파라미터를 공급할 수 있다(GUI-CFG-SYS, GUI-CFG-DEV). 프로젝트를 실행하는 동안, 새로운 계산된 값이 한정된 최소 및 최대 값에 충분히 벗어난 경우에, 시스템은 오래딘 값을 재저장할 수 있다 (SVR-SCR-TSK). MSC(10)는 예를 들어, 얼마나 많은 펄스가 레이저에 의해 발사되었는지와 같은, 서비싱 및 유지를 위한 데이터를 수집할 수 있다(SVR-SCR-MOD). 시스템은 디바이스 대신에 모듈의 콜렉션으로서 MSC를 처리할 수 있다. 모듈은 함께 동작하는 컴포넌트의 그룹일 수 있다. 예를 들어, 레이저 시스템 스펙트럼 분석 모 듈("SAM')은 30 옵틱을 갖는다. 전체 모듈은 서비싱 목적을 위해 대체될 수도 있다(DB-OEM-MOD). MSC 소프트웨어는 서비싱으로 인한 모듈의 컴포넌트 및 모듈의 수에서의 변화를 지원하기에 충분할 수 있다. 이것은 모듈의 수를 증가시키거나 감소시키기 위해 플렉시빌리티를 가질 수 있다(GUI-CFG-MOD, DB-OEM-MOD). 시스템은 예를 들어, 수명 카운터와 같은 서비싱 및 유지를 위한 유지 카운터를 포함하는(DB-OEM-MOD), 개별적인 컴포넌트의 펄스의 수를 근사화할 수 있다(SVR-SCR-MOD), MSC(10)는 모든 모듈을 모니터링할 수 있다. 즉, 모든 모듈이 동작하는 것을 인식할 수 있다. MSC(10)가 논-펑셔닝 모듈을 검출한다면, 이것을 보고하고 모듈을 필요로 하는 동작을 중지시킬 수 있다(SVR-SCR-MOD, SVR-STS-STL).
MSC(10)에 접속된 모든 디바이스가 지능적인 것은 아니다. MSC(10)는 상실된 인텔리전스를 제공할 수 있다. 디바이스가 인텔리전트하더라도, MSC(10)는 여전히 디바이스를 모니터링할 수 있다. 예를 들어, Raw Beam Profiler는 자체 아무런 인텔리전스를 가지고 있지 않다. 감쇠기(338)는 자체 인텔리전스를 가지고 있다. MSC(10)는 여전히 감쇠기(338)를 모니터링해야만 한다(SVR-STS-STL). MSC는 GUI(40)로부터 레이저를 진단하기 위한 프로젝트를 가질 수 있다. MSC(10)에 의해 사용자는 GUI(40)를 통해 모드, 주파수, 펄스의 수 및 평균 수에 대하여 다양한 레이저 모드 구성을 공급할 수 있다. 태스크는 레이저 리필을 실행하고, 다양한 구성에서 레이저 모드를 체크하고 그 결과를 리포트 파일에 기록할 수 있다(GUI-PRJ-PRM, SVR-SCR-MJC). 레이저 진단 리포트 파일은 값 행이 이어지는 헤더 행을 갖는, (세미클론과 같은) 특별한 캐릭터 한계지정된 텍스트 파일일 수 있다. 리포트 는 레이저 진단 태스크가 실시될 때 자동으로 생성될 수 있다. 리포트 파일의 이름 및 위치는 잘 정의된 네이밍 컨벤션을 따를 수 있다(GUI-REP-PRJ). MSC(10)는 레이저로부터 GUI(40)로 데이터를 다운로드하는 프로젝트를 가질 수 있다. MSC(100에 의해 사용자는 GUI(40)를 통해 펄스의 수, 주파수 및 모드에 있어서 사전실시되는 다양한 구성을 공급할 수 있다. 태스크는 다양한 사전실시되는 구성을 실시할 수 있고, 레이저로부터 진단, 컨피규러블, 로숏(Rawshot), 10K 및 1M 데이터를 검색할 수 있고 마지막으로 그 결과를 리포트 파일에 기록할 수 있다(GUI-PRJ-PRM, SVR-SCR-PJC). 레이저 다운로드 리포트 파일은 값 행이 이어지는 헤더 행을 갖는 (세미클론과 같은) 특별한 캐릭터 한계지정된 텍스트 파일일 수 있다. 리포트는 레이저 다운로드 태스크가 실시될 때 자동으로 생성될 수 있다. 피로트 파일의 이름 및 위치는 충분히 정의된 네이밍 컨벤션을 따를 수 있다. 리포트 파일은 다운로드된 레이저 데이터를 포함하는 파일의 이름 및 위치를 포함할 수 있다(GUI-REP-PRJ). MSC(10)는 GUI(40)로부터 레이저를 컨트롤하기 위한 프로젝트를 가질 수 있다. MSC(10)에 의해 사용자는 완전 초기화, 리필 및 인젝트를 포함하는, 예를 들어, 레이저와 같은 임의의 장비에 임의의 태스크를 실시할 수 있다. 이것으로 인해 임의의 유효한 커맨드가 레이저에 전송될 수 있다. 예를 들어, 레이저와 같은 장비로부터의 응답은 GUI에 디스플레이될 수 있다(GUI-PRJ-PRM, SVR-SCR-PJC). 프로젝트가 실시될 때마다, MSC(10)는 프로젝트 리포트를 생성할 수 있다. 프로젝트 리포트는 프로젝트내의 모든 태스크의 시작/종료 시간 및 결과 써머리를 포함할 수 있다. 프로젝트리포트는 데이터 파일 및 태스크 리포트의 리스트 를 포함할 수 있다. 이것은 충분히 정의된 파일명 및 위치 컨벤션을 사용할 수 있다. 이것은 오래된 리포트가 age를 초과하면 오래된 리포트를 삭제할 수 있다(GUI-REP-PRJ, SVR-SCR-PJC).
다음의 모니터링 데이터 및 인터록 펑션이 요구될 수 있다: 데이터 모니터링: 실시간 레이저 안정도, 마지막 할로겐 인젝션의 수, 레이저 펄스의 전체 누적 수, 가스 교환후의 레이저 펄스의 누적수, P-렌즈 가열 온도, 실시간 포커스. Interlock and warning functions ( limited to process ): P-P 안정도가 예측되는 범위를 벗어날 때 레이저 조사 스톱, 레이저 상태에 관한 경고(예를 들어, 비정상적인 레이저 튜브 온도, 미싱 펄스, 레이저와 컨트롤 PC간의 통신 에러, 손상된 레이저 출력 에너지 변경등)(DB-OEM-SPR, SVR-SCR-ERP, DB-OEM-STS). 상술된 특허 및 공동 계류중인 특허 출원중 하나 이상에서 언급된 사이머 온라인(즉, LTPS 온라인)과 같은 기능은 실시간으로 원격으로 데이터를 수집하는데 사용될 수 있다. MSC(10)의 로컬 패시브 모니터링이 사용될 수 있다. 레이저 및 다른 디바이스에 대한 진단, 다운로드 및 컨트롤 프로젝트에 대한 커스텀 스크린이 제공될 수 있다(GUI-PRJ-PRM, SVR-SCR-PJC). 플렉시블하고 일반적인 메커니즘이 모듈내의 컴포넌트 및 디바이스에 대한 수명 카운터를 수집하고 저장하기 위해 제공될 수 있다. 3개의 값, 즉, 1) 예상되는 수명 2) 유지 수명 3) 현 수명이 수집될 수 있다(SVR-SCR-MOD, DB-MSC-MOD). MSC(10)은 모듈 레벨에서 트래킹할 수 있다(SVR-SCR-MOD, DB-MSC-MOD). 모듈이 대체될 때, GUI(40) 스크린은 새로운 시리얼 넘버를 입력하고 관련 수명 카운터를 클리어하는데 사용될 수 있다(SVR-CFG-MOD).
프로세스 매니저 그룹에 대하여, 여기에 기술된 롯 프로세서 필수요소는 잡 실행 및 롯 프로세스의 실행과 관련된 필수요소일 수 있다. 사용자는 잡 큐로부터 롯을 추가 및 제거할 수 있다(GUI-JOB-QUE). 사용자는 잡 큐내의 잡 시퀀스를 변경할 수 있다(GUI-JOB-QUE). 사용자는 잡 큐를 개시, 중지 및 재시작할 수 있다(GUI-JOB-QUE). 시스템은 사용자가 잡 큐를 시작할 때 큐의 앞으로부터 잡 큐내의 롯을 처리할 수 있다(SVR-JOB-JBM). 사용자는 잡 큐에 롯을 추가하고, 이것을 프론트로 이동시키고 잡 큐를 시작함으로써 즉시 롯 프로세스를 실행할 수 있다(GUI-JOB-QUE). 시스템이 롯 프로세스를 실행하고 있을 때, 결정화 프로세스 및 기판 로케이션의 과정이 그래픽으로(예를 들어, 상이한 컬러를 가진 직사각형 영역) GUI에 디스플레이될 수 있다(GUI-JOB-CRY). 시스템은 롯을 처리하는 동안 프로세스 레벨 컨시스턴시 체크 및 에러 핸들링을 실행할 수 있다. 이러한 컨시스턴시 체크는 기계적 레벨, 모듈 레벨, 롯/리사이프 레벨, 기판 레벨 및 이미지 레벨에서 이루어질 수 있다. 시스템은 또한 롯을 처리하는 동안 롯간, 리사이프간 및 이미지간 유지를 실행할 수 있다(SVR-SCR-LOT). 사전정의된 프로젝트에 대한 스케줄링 엔진은 이들을, 예를 들어, 매시간, 매일, 매주, 또는 매월 스케줄링할 수 있다(SVR-SCH, GUI-SCH); 스케줄링 엔진은 프로젝트를 자동으로 그리고 수동으로 실시하기 위해 구성가능할 수 있다. 수동 구성에서, 스케줄링된 프로젝트는 실시될 수 있기 전에 사용자에게 확인을 요구할 수 있다(GUI-CFG-SYS, GUI-JOB-QUE). 롯을 처리하기 위해, 시스템은 병렬 및 직렬일 수 있는 다수의 단계를 실행할 수 있다(SVR-SCR-LOT). 다수의 스캔은 장시간 기판을 처리하는데 필요할 수도 있다. 시스템 구조는 이것을 지원할 수 있다. 2개의 이미지가 기판의 처리 동안 오버랩될 수 있다(대칭 또는 비대칭으로). 시스템 구조는 이것을 지원할 수 있다(SVR-SCR-LOT, GUI-JOB-CRY). 기판은 수동으로 또는 자동으로 로딩될 수 있다.
잡 큐는 큐 모드에 더하여 스텝 모드를 가질 수 있다. 스텝 모드에서, 잡 실행은 각 단계후에(즉, 각 잡을 처리한 후에) 정지될 수 있다(GUI-JOB-QUE). 롯 또는 프로젝트를 처리하는 동안 에러가 발생한다면, 잡 큐는 정지될 수 있다(SVR-STS-ERH, GUI-JOB-QUE). 잡 큐는 구성가능한 아이들 타임아웃을 가질 수 있다. 타임아웃이 발생하면, 시스템은 공지된 상태로 디바이스를 놓을 수 있다(예를 들어, 레이저를 스탠바이 상태로 한다)(SVR-SYS-CFG, SVR-JOB-KBM).
프로젝트 및 리사이프는 잡 큐로부터 추가되고 제거될 수 있다(GUI-JOB-QUE). 스케줄링된 프로젝트는 또한 잡 큐에서 디스플레이될 수 있다. 이들은 이들의 스케줄링 기준을 충족시킨다면 큐내의 적합한 위치에서 잡 큐에 추가될 수 있다. 보정의 결핍은 스테이지상의 오프셋에 의해 이미지를 이동시킬 것을 필요로 할 수 있다(GUI-RCP-IMG). 특별한 디바이스를 위한 제조에서 유리 회전이 필요할 수 있다. 현 처리하는 리사이프에 대해, 시작 시간 및 추정된 종료 시간 GUI에 디스플레이될 수 있다(GUI-JOB-STS). 시스템은 처리되는 카세트내의 기판을 보이게 할 수 있다(GUI-JOB-CAS). 프로세스 디테일의 그래픽 표현은 a. 프로세스내의 단계, b. 현재 스캐닝되는 기판의 섹션, c. 프로세스내의 남아 있는 단계를 포함할 수 있다(GUI-JOB-CAS). 카세트 스테이션 수는 잡 큐에 볼 수 있다(GUI-JOB-QUE). 3-D 그래픽스가 결정화 프로세스의 시각화를 위해 사용될 수 있다.
런타임 파라미터 값은 롯 또는 프로젝트가 잡 큐에 추가되기 바로 전에 수집될 수 있다(즉, 롯은 템플릿일 수 있고 롯의 일예가 잡 큐에 추가될 수 있다(GUI-JOB-QUE). MSC내의 프로젝트 스케줄링은 이벤트기반 및 스케줄 기반의 조합일 수 있다(SVR-SCH-SCH). 시스템은 롯 또는 프로젝트를 실행하기 전에 리소스의 유용성(예를 들어, 질소 및 물과 같은 유틸리티의 유용성)에 대해 체크할 수 있다(SVR-SCR-LOT, SVR-SCR-PRJ). 스케줄링된 프로젝트는 특정 타임 윈도에서만 실시되도록 선택적으로 규정될 수 있다(GUI-SCH-SCH, SVR-SCH-SCH). 태스크는 이들이 스케줄링될 수 있는지 여부를 나타내는 특성을 가질 수 있다. 스케줄링 엔진은 스케줄링될 수 없는 프로젝트의 스케줄링을 방지할 수 있다(DB-OEM-PAR, GUI-SCH-SCH).
보안 매니저 그룹에 대하여, 여기에 기술된 보안, 감사 및 액세스 컨트롤 필수요소는 시스템, 리사이프 정보, 태스크 정보, 롯 프로세스 실행 및 태스크 실행의 컨트롤에 대한 액세스 및 보안과 관련된 필수요소일 수 있다. 시스템은 사용자 액세스의 3개의 레벨, 프로세스 엔지니어, 필드 서비스 엔지니어 및 관리자를 지원할 수 있다. 관리자는 최대 액세스를 갖고, 그다음, 필드 서비스 엔지니어, 그다음, 프로세스 엔지니어가 그다음의 액세스를 갖는데, 예를 들어, 필드 서비스 엔지니어는 시스템에 대한 관리 액세스를 갖지만(DB-MSC-ACS), 프로세스 엔지니어는 특정 태스크 및 프로젝트만을 실행할 수 있다(DB-MSC-PAR).
시스템은 리사이프 정보의 수정 히스토리를 유지할 필요가 없다(DB-MSC-RCP). 필드 서비스 엔지니어가 리사이프 프로세스를 시작하면, 프로세스 엔지니어는 이것을 나중에 취소할 수 있다(DB-MSC-ACS). MSC(10)는 단일 로그인 및 사용자 ID 기초한 트래킹 모두를 지원하기에 충분할 만큼 플렉시블할 수 있다(GUI-SEC-SCM). 다음의 액세스 레벨(역할에 기초함)이 요구될 수 있다: a. 프로세스 엔지니어, b. 필드 서비스 엔지니어, c. 관리자. 관리자는 프로세스 엔지니어 및 필드 서비스 엔지니어에 유용할 수 있는 모든 펑션을 실행할 수 있다. 필드 서비스 엔지니어 및 프로세스 엔지니어 역할은 중복된다(GUI-SEC-SCM). MSC(10)는 예를 들어, 리사이프를 실시하기 전에 사용자의 ID를 입력할 수 있는 기능이 수반되는 역할에 기초한 로그인을 갖는, 도 18에 도시된 바와 같은 스크린을 보여줄 수 있다. 사용자의 ID는 리사이프 프로세스 리포트에 포함될 수 있다. 사용자는 사용자-ID를 입력함 없이 리사이프를 생성할 수 있다. ID는 리사이프가 처리될 때 요구될 수 있다(GUI-SEC-SCM). 사용자는 태스크 스크립트를 바꿀 수 없다(DB-MSC-ACS). 태스크 스크립트내의 정보는 머신 서플라이어가 독점할 수 있다.
여기에 기술된 제너럴 인터페이스 필요사항은 통신 인터페이스와 관련되어 있을 수 있다. TCP-IP는 특정 디바이스 인터페이스 필수 요건에 의해 명기되지 않으면 마스터 시스템 컨트롤러(10)와 디바이스간에 필요한 통신의 메인 타입일 수 있다(SVR-DEV-DRV). 시스템은 고레벨 액션에 상응하는 디바이스 커맨드를 발생하기 위해 제너릭 메커니즘을 사용할 수 있다. 이러한 메커니즘은 디바이스 타입과 관계없을 수 있다(SVR-DEV-FMT). 디바이스 커맨드는 데이터베이스 또는 파일에 저장될 수 있다. 이들은 코드에 대해 유선화될 수고 있고 안 될 수도 있다(DB-OEM-CMD).
마스터 시스템 컨트롤러(10)와 디바이스간의 통신은 2개의 목적, 즉, 컨트롤 및 진단의 목적을 가질 수 있다(SVR-DEV-DRV). 예를 들어, 엑스포져 커맨드가 주어진 후에(즉, 스캔이 개시된 후에), 마스터 시스템 컨트롤러(10)는 엑스포져가 완료될 때까지 대기할 수 있다(SVR-SCR-LOT). 마스터 시스템 컨트롤러(10)는 부착된 디바이스의 시리얼 넘버를 알 수 있고, 디바이스가 이들의 시리얼 넘버를 검색하는 커맨드를 제공한다면 통신 동안 이들 시리얼 넘버를 사용하여 디바이스를 식별한다(SVR-DEV-DRV). 마스터 시스템 컨트롤러(10)는 디바이스를 폴링하여 디바이스로부터 아무런 인터럽트도 처리되지 않는다(SVR-DEV-DRV). 시스템은 소비자 MES(80)통합될 수 있다. MSC(10)는 SEMI 스탠더드: 호스트 머신(910)과의 통신을 촉진시키는 SEMI Equipment Communication Standard and Generic Equipment Model(SECS/GEM) 인터페이스를 지원할 수 있다. 예를 들어, 도 8에 도시된 바와 같이 VPN(820)를 통해 MSC(10)로의 WAN 또는 LAN 커넥션이 있을 수 있다.
서비스 및 유지는 물리적으로 분리될 수 있다. 서비스 영역으로부터 레이저 상태 정보로의 액세스가 필요할 수 있다. 이것은 상이한 물리적 영역으로부터 MSC를 모니터링하는 것이 가능할 수 있다. 인터페이스 프로토콜은 1) Received Only 2) Send Only 3) Receive followed by Send 4) Send followed by Receive 의 4개의 통신 모드를 지원할 수 있다(SVR-DEV-DRV).
여기에 나열된 레이저 인터페이스 필수요소는 레이저 디바이스 모듈과의 마스터 시스템 컨트롤러(10)의 통신과 관련된 요구항일 수 있다. 컨트롤 목적을 위해 MSC(10)와 레이저(330) 사이의 하나의 통신 인터페이스가 있을 수 있다. 현재 대략 10-15개의 이러한 커맨드가 존재한다(SVR-DEV-DRV). 진단 목적을 위해 MSC(10)와 레이저(330) 간의 하나의 통신 인터페이스가 존재할 수 있다. 현재 대략 80-100개의 이러한 커맨드가 있다(SVR-DEV-DRV). MSC(10)는 출원인 사이머 인코포레이티드에 의해 판매되는 것과 같은 예를 들어, XLA 또는 XLX 시리즈로부터 진단 정보를 얻기 위해 COBRA(824) 및 유사한 진단 촉진기를 갖는 관련 사이머 헤이저를 사용할 수 있다(SVR-DEV-DRV). 이러한 레이저의 일부는 RS232 또는 RS422와 같은 하나 보다 많은 시리얼 포트를 가지고 있고, 후자는 고속 응답을 위해 필요하고 전자는 수용가능한 저속 응답을 위한 것이다(SVR-DEV-DRV).
여기에 나열된 스테이지 인터페이스 필수요소는 스테이지 디바이스 모듈과의 MSC(10)의 통신과 관한 것이다. 사용자는 원격 실시되는 컨트롤 소프트웨어 또는 잉일부 다른 유사한 메커니즘을 사용하여 MSC(10)로부터 스테이지 디바이스의 GUI(40)를 볼 수 있다. 진단 및 컨트롤 목적을 위한 스테이지 MSC(10) 사이의 하나의 통신 인터페이스가 존재할 수 있다(SVR-DEV-DRV). MDBox(334) 인터페이스 필수요소에 대하여, 마스터 분포 박스 디바이스 모듈과의 MSC(10)의 통신과 관련된 필수요소가 있을 수 있다. 진단 및 컨트롤 목적을 위한 MSC(10)와 MDBox(334) 사이의 하나의 통신 인터페이스 및 관리 및 로그인을 위한 또 다른 통신 인터페이스가 존재할 수 있다(SVR-DEV-DRV). 여기에 나열된 BSC(336) 인터페이스 필수요소는 BSC(336) 디바이스 모듈과의 MSC(10)의 통신과 관련된 필수요소일 수 있다. 컨트롤 목적을 위해 MSC(10)과 BSC(336) 사이의 통신 인터페이스가 존재할 수 있다(SVR-DEV-DRV). 여기에 나열된 감쇠기(338) 인터페이스 필수요소는 감쇠기(338) 디바이스 모듈과의 MSC(10)의 통신과 관련된 필수요소일 수 있다. 컨트롤 목적을 위해 MSC(10)와 감쇠기(338) 사이에 하나의 통신의 인터페이스가 존재할 수 있다. 여기에 나열된 핸들러 인터페이스 필수요소는 카세트 핸들러 디바이스 모듈과의 MSC(10)의 통신과 관련된 필수요소일 수 있다. 로봇은 기판 로딩 및 언로딩을 위해 사용될 수 있다. MSC(10) 관점에서, 로봇은 랜트로닉스 TCP/IP 인터페이스(840)를 사용하여 MSC(10)에 접속된 시리얼 인터페이스와의 임의의 다른 디바이스와 같이 처리될 수 있다(SVR-DEV-ROB). 시스템은 이러한 로봇이 아무런 저장 능력을 가질 수 없다는 사실을 고려할 수 있다(SVR-DEV-ROB). 여기에 나열된 프로세서 셔터 인터페이스 필수요소는 프로세스 셔터 디바이스 모듈과의 MSC(10)의 통신과 관련된 필수요소일 수 있다. 하나가 존재할 수 있다(SVR-DEV-DRV).
여기에 나열된 빔 메트로롤지 인터페이스 필수요소는 빔 메트로롤지 디바이스 모듈(830)과의 MSC(10)의 통신과 관련된 필수요소일 수 있다. 빔 메트로롤지 인터페이스는 MSC(10)의 외부 또는 내부에 있을 수 있다(SVR-DEV-DRV). 여기에 나열된 리포팅 필수요소는 MSC(10)에 의한 리포트 및 로그의 생성 및 프리젠테이션과 관련된 필수요소일 수 있다. 시스템은 롯 또는 프로젝트 실행 정보를 획득할 수 있고 이것을 나중 검색을 위해 데이터베이스에 저장할 수 있다(SVR-SCR-PRJ, SVR-SCR-LOT). 사용자는 롯/리사이프 정보 및 롯/프로젝트 실행 정보를 보고 인쇄할 수 있다(GUI-REP-PRJ, GUI-REP-LOT). 사용자는 이벤트 로그를 보거나/인쇄할 수 있다(GUI-STS). 시스템은 롯 및 프로젝트 실행의 히스토리를 유지할 수 있다. 또한, 액세스 로그등의 시스템 로그가 파손 복구를 위해 필요할 수 있다(DB-MSC-JOB). 프로젝트 또는 롯이 실시될 때, 실행 로그가 특정 기간 동안 저장될 수 있 다(DB-MSC-JOB). 데이터 분석이 필요할 수 있다. 트렌드 데이터가 필요할 수 있다. 리포트는 진단을 위해 대부분 필요할 수 있다. 이들 리포트는 샘플 포맷을 가진 파일일 수 있다. 사용자는 데이터를 분석하기 위해 엑셀을 사용할 수도 있다. MSC(10)는 시스템 및 디바이스 구성값(configurable)을 보고할 수 있다(GUI-REP-CFG). 레이저 고전압과 같은 추가 상태 파라미터가 현 실시되고 있는 프로세스를 위해 요구되고 사용자 선택가능할 수도 있다. 이러한 것들을 MSC(10)는 도면에 도시된 스크린(33)과 같은 잡 큐 스크린에서 보여줄 수 있다. FSE는 상태 팁을 구성할 수 있다(GUI-JOB-STS, GUI-CFG-STS).
여기에 나열된 에러 핸들링, 익셉션 및 에러 복구 필요사항은 MSC(10)에 의한 태스크 실행의 예외 및 에러 복구와 관련된 필수요소일 수 있다. MSC(10)내의 이벤트 루프는 모든 부착된 디바이스로부터 상태를 폴링할 수 있다. 이러한 폴링의 대부분은 MDBox(334)를 통해 이루어질 수 있다(SVR-STS-STL). MSC(10)은 디바이스내의 고속 에러를 처리하기 위해 응답하지 않을 수 있지만, 디바이스의 상태를 보고할 수 있다. MSC(10)는 스캔을 시작한 후에 임의의 컨트롤을 갖지 않을 수 있다(SVR-STS-STL). 각 디바이스 커맨드가 알리는 타임아웃이 있을 수 있다(SVR-DEV-DRV). 이벤트 루프내의 타임아웃 파라미터는 조정가능할 수 있다. 모든 타임아웃 주기는 데이터베이스 구동될 수 있다(GUI-CFG-SYS). 시스템으로부터 상태 및 에러를 나타내는 윈도우가 보여지기 위해 개방될 수 있다. 윈도우는 날자, 시간, 에러 코드, 소스 파일, 라인 넘버등을 가질 수 있다(GUI-STS-STM). 에러 레벨, 모듈 레벨 또는 에러 코드에 의해 에러를 무시하는 능력이 제공될 수 있다(GUI-JOB- QUE). 모든 에러는 이벤트 로그에서 로그될 수 있다(SVR-STS-STM). 각 인터페이스에 대한 헨드세이킹 타임아웃이 존재할 수 있다(GUI-CFG-DEV). 초기화, 상태 체크, 프로젝트 실행, 롯간(lot-to-lot) 체크, 리사이프간(recipe-to-recipe) 체크, 이미지간(image-to-image) 체크 및 스캔 에러는 치명적일 수 있다. 스캔 동안 유틸리티 에러가 경고로서 처리될 수도 있고 무시될 수도 있다(SVR-SCR-LOT). (치명적이든 아니든 관계없이) 에러가 검출되면, 시스템은 정지하고 사용자에게 중지, 새시도 또는 무시의 옵션을 제공하고 계속할 수 있다(SVR-JOB-JBM, GUI-JOB-QUE). 필드 서비스 엔지니어 및 관리자는 에러를 무시하고 계속할 수 있다(DB-MSC-ASC). 디바이스의 수동 초기화(GUI-PRJ-PRM)이 필요할 수 있다. 경고는 프로세스 플로를 정지시킬 수 없는 정보 메시지로서 디스플레이될 수 있다(SVR-STS-STL). 롯 프로세싱이 에러로 인해 사용자의 선택에 기초하여 정지되거나 일시중지된다면, 에러 복구는 Start next image, Start next Substrate, 또는 Strat next lot일 수도 있다. 에러 상황에서, MSC(10)는 restrat the substrate, skip the substrate or obort the entire lot의 옵션을 제공할 수 있다(SVR-SCR-LOT). 예상되는 에러 타입은 모듈 또는 시스템 레벨에서의 인식 타임아웃, 디바이스로부터의 상태 에러, 보정 에러, 파라미터 측정 에러, 계산의 의심스런 결과가 될 수 있다(DE-OEM-STS). 파손 복구 프로시져는 다음을 포함할 수도 있다.
1. MSC(10)는 MDBox(334)로부터 상태를 계속 폴링할 수 있다.
2. MSC(10)는 "스테이트 풀" 파손 복구 로그를 관리할 수 있다.
3. 온 서버 파손 MDBox(334)는 이러한 폴링에서 미싱될 수 있다.
4. MDBox(334)는 Laser and Stage to Stop에 신호를 전송할 수 있다.
5. 일단 리부팅된 MSC(10)은 Crash 또는 Normal 셧다운이었는지를 결정하기 위해 그 로그를 지날 수 있다.
6. 파손의 경우에, 지문을 취하고 초기화 및 상태 체크의 프로세스를 시작하고, 시스템이 파손된 포인트로부터 재시작할 수 있다.
파손 복구 상태에서, MSC(10)는 (디바이스로부터 로그는 물론 자체 로그로부터) 파손된 상태를 인식할 수 있다. 모든 모듈이 무슨 상태에 현재 있는지를 결정하기 위해 지문을 포착할 수 있다. 큐는 정지될 수 있다. 사용자는 파손에 대해 통지될 수 있고 지문 정보를 포함하는 스크린이 제시될 수 있다. 오퍼레이터로부터의 수동 개인이 리스타트를 위해 리사이프를 조정하는데 요구될 수 있다(SVR-SCR-TSK). 미싱 펄스에 대해, MSC(10)는 사용자의 선택에 기초하여 복구할 수 있다. 이것은 정상적인 에러 핸들링의 일부일 수 있다(SVR-SCR-ERH). 복구는 보다 높은 에너지 레벨에서 가능하지 않을 수 있고 따라서, MSC(10)는 다음 기판 또는 다음 롯에 대해 사용자를 계속하기를 요구할 수 있다(SVR-SCR-ERH). 자주 유리/기판이 깨질 수 있다. 이러한 검출은 자동이 아닐 수 있다. 오퍼레이터는 디바이스 상태 정보에 기초하여 이것을 시각적으로 검출할 수 있다. 수동 일시중지가 나타날 수 있다(GUI-JOB-QUE). MSC(10)는 데이터를 수집할 수 있고 이것을 트러블슈팅을 위해 데이터베이스에 저장할 수 있다(SVR-STS-STM, DB-MSC-LOG). MSC(10)는 하드 셧다운을 핸들링할 수 있다(즉, 손실된 전력 또는 디바이스로의 전력 오프 사고)(SVR-STS-ERH). 시각적인 표시는 파라미터가 임계값을 초과하면 제공될 수 있 다. 상태 루프는 경고를 생성할 수 있고 및/또는 시각적인 cue를 제공할 수 있다(GUI-JOB-STS).
여기에 나열된 성능 필수요소는 제품의 서비스어빌리티, 유지, 책임 및 처리량과 관련된 성능 필수요소일 수 있다. 처리량을 최대화하기 위해, 퍼러랠 태스크가 익스포져 동안 실시되도록 요구될 수도 있다. 예를 들어, 기판을 노출하는 동안, 레이저 진단이 동시에 수집될 수 있다(SVR-SCR-LOT). 처리량을 최대화하기 위해, 시스템은 예를 들어, 병렬로 태스크를 실시함으로써 대기 시간을 제거하거나 최소화할 수 있다(SVR-SCR-LOT). 기판 노출 시간은 90초 미만일 수 있다(SVR-SCR-LOT). 기판 교환 시간은 45 초 미만일 수 있다(SVR-DEV-ROB). MSC(10) 소프트웨어는 시간당 대략 30개의 기판의 처리량을 허용할 수 있다(SVR-SCR-LOT). 인터럽트간의 평균 시간은 일주보다 적어야 한다. 다운타임은 24 시간 기간에서 30분보다 많지 않도록 디자인되어야 한다(즉, 대략 98%의 유용도).
여기에 나열된 유저빌리티 필수요소는 제품의 용이한 사용과 관련된 유저빌리티 필수요소일 수 있다. 키보드 및 마우스 서포트가 터치 스크린 기능에 더하여 요구될 수 있거나 또는 터치 스크린 기능에 대안으로서 요구될 수 있다. 리사이프 생성 동안, 터치 스크린이 유용하지 않을 수 있다. 프로세스 엔지니어 및 필드 서비스 엔지니어에 의한 매일의 실시에 대해, 터친 스크린은 유용하다면 필요할 수 있다. GUI(40)의 스타일러스 기반 터치 스크린 동작이 제공될 수 있다(GUI). 터치 스크린은 스크린 자산이 가득하면 보다 우선순위가 떨어질 수 있다. 스크린상에 보다 많은 정보다 보여질 수록 보다 양호하다(GUI).
MSC(10)는 상기 필수요소 리스트에 제시도니 유저 인터페이스에 더하여 수많은 외부 인터페이스 필수요소를 갖는다. 하드웨어 인터페이스에 대하여, MSC(10) 소프트웨어는 마스터 디스크리뷰션 모듈("MDBox"), 레이저, 빔 안정화 컨트롤러("BSC"), 스테이지, 감쇠기(338), 프로세서 셔터, 빔 메트로롤지, 핸들어, 카세트 및 로봇과 인터페이스한다. MSC(10)기반 머신 사이의 소프트웨어 인터페이스는 리사이프 및 이미지와 같은 정보의 엑스포트/임포트를 허용한다. MSC(10)는 또한, 예를 들어, 진단 정보를 검색하기 위해 스테이지 디바이스의 소프트웨어 인터페이스를 사용할 수 있다. TCP, HTTP, CORBA, USB는 MSC에 의해 다른 디바이스와의 통신을 위해 사용될 수 있다. MSC 소프트웨어는 모니터링 정보를 수십하고 저레벨 커맨드를 디바이스에 전송하기 위해 적합한 속도 및 정확도로, 실시간으로, 연관된 하드웨어와 통신한다. MSC(10)에 대한 품질 특성은 플렉시빌리티, 정교함, 다이내믹니스, 사용자 친밀감, 사용의 용이함 및 사용자 인터페이스, 즉, 직관 및 사용자 친밀성을 포함한다.
프로세스 엔지니어, 필드 서비스 엔지니어 및 관리자는 특정 액터에 관하여 MSC(10)에 대한 케이스("UCSs")를 사용하는 것과 관련되어 있다.
예를 들어, 도 22에 예시된 GUI(40) "리사이프" 인터페이스 스크린을 사용하는 매니지 리사이프에 대하여 다음의 Sub Use Cases가 적용된다. 먼저, 모든 사용자에게 유용한 생성 리사이프 서브 유즈일 수 있어서, 사용자는 일단 로그인되면, 데이터베이스에, 연관된 이미지 데이터를 가진 새로운 리사이프를 생성한다. 사용자는 사용자에 의해 명명된 리사이프를 생성하도록 시스템에게 요구한다. 사용자 는 로그인되고 인증되었다면 인증된 사용자에게 활성화될 "생성" 버튼(2002)을 사용할 수 있다. 사용자는 도시된 바와 같이 사용자 "JOHN" 리사이프에 더해지는 도 22에 도시된 바와 같은 예를 들어, CRT5800/JOHN/R4의 "명칭" 박스(2008)내에 리사이프 명칭을 입력할 수 있다. 시스템은 리사이프를 편집 모드로 놓는다. 사용자는 리사이프 파라미터를 공급한다. 사용자는 리사이프에 이미지를 더한다. 사용자는 예를 들어, "파라미터" 디스플레이(2020)에서 또는 아래에 설명되는 임포트 리사이프 유스 케이스를 사용하여 리사이프 데이터를 선택적으로 임포트한다. 사용자는 아래에 설명되는 페이스트 리사이프 유스 케이스를 사용하여 리사이프 데이터를 선택적으로 페이스트한다. 사용자는 아래에 설명되는 임포트 이미지 유스 케이스를 사용하여 리사이프내로 이미지를 선택적으로 임포트한다. 사용자는 아래에 설명되는 페이스트 이미지 유스 케이스로 이미지를 선택적으로 페이스트한다. 사용자는 이미지 파라미터를 공급한다. 사용자는 아래에 설명되는 엑스포트 이미지 유스 케이스를 사용하여 이미지를 선택적으로 엑스포트한다. 사용자는 아래에 설명되는 카피 이미지 유스 케이스를 사용하여 이미지를 선택적으로 카피한다. 사용자는 변경이 끝났음을 시스템에게 알린다. 시스템은 리사이프 및 이미지 데이터 컨시스턴시 체크를 실행한다. 시스템은 예를 들어, MSC 스키마에 리사이프를 생성하고 저장한다.
모든 사용자에게 유용한 수정 리사이프 서브 유스(sub-use) 케이스가 있을 수 있어서 사용자는 일단 로그인되면 데이터베이스내의 존재하는 리사이프를 수정한다. "수정" 버튼(2004)을 사용하는 사용자는 픽 리스트로부터 리사이프를 선택 하고 시스템은 데이터스토어로부터 요구된 리사이프를 검색하고 이것을 편집 모드로 놓는다. 사용자는 예를 들어, "파라미터" 디스플레이(2004) 또는 "이미지" 디스플레이(2006)를 선택하여, 리사이프 이미지 및/또는 파라미터를 편집하고, 도 22에 도시도니 바와 같은 "파라미터"의 경우에, 리사이프로부터 이미지를 더하거나 삭제하고 리사이프의 명칭을 변경하여 파라미터 리스트(2020) 및/또는 "값" 리스트(2022)를 수정하고, 생성 리사이프 유스 케이스에 대하여 알려진 임포트, 카피, 페이스트등의 기능을 선택적으로 사용한다.
삭제 리사이프 서브 유스 케이스가 있을 수 있어 인증된 사용자는 일단 로그인되면, 예를 들어, "삭제" 버튼(2024)을 사용하여 데이터스토어로부터 존재하는 리사이프를 삭제한다. 사용자는 픽 리스트로부터 리사이프를 선태갛고 이것을 삭제한다.
임포트 리사이프 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, "임포트" 버튼(2026)을 사용하여 리사이프를 생성 또는 편집하는 동안 외부 파일로부터 리사이프 데이터를 임포팅한다. 사용자는 네트워크 드라이브에 존재하는 파일의 명칭을 공급하고, 시스템은 상술된 바와 같이 사용자에 의한 연속 사용을 위해 파일로부터 판독된 리사이프 데이터로써 리사이프 생성 또는 편집 모드를 채운다. 사용자는 생성 리사이프 및 수정 리사이트 유스 케이스에서 설명된 바와 같이 리사이프 생성 또는 편집 모드로 계속한다.
엑스포트 리사이프 서브 유스 케이스가 있을 수 있어서, 사용자는 일단 로그인되면, 예를 들어, 도 22의 스크린에 도시된 "엑스포트" 버튼(2028)을 사용하여 외부 파일로 리사이프를 엑스포팅한다. 시스템은 리사이프의 픽 리스트를 제공하고 사용자는 네트워크 드라이브에 존재하는 파일명을 포함하는, 엑스포팅된 리사이프 데이터를 저장하는 파일명 및 리사이프를 선택한다.
임포트 이미지 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 예를 들어, "임포트" 버튼(2026)을 사용하고 "이미지" 디스플레이(2006)를 선택하여, 리사이프를 생성 또는 편집하는 동안 외부 파일로부터 이미지를 임포팅한다. 시스템은 네트워크 드라이브에 존재하는 파일명을 포함하는 파일명을 공급할 것을 사용자에게 요구하고, 사용자는 파일로부터 판독된 이미지 데이터로써 리사이프 생성 또는 편집 모드를 채운다.
엑스포트 이미지 서브 유스 클래스가 있을 수 있어서, 일단 로그인되면, 사용자는 예를 들어, "엑스포트 버튼(2028) 및 "이미지" 디스플레이(2006)를 선택하여, 리사이프를 생성 또는 편집하는 동안 외부 파일로 이미지를 엑스포팅한다. 사용자는 네트워크 드라이브에 존재하는 파일명을 포함하여, 엑스포팅된 이미지 데이터를 저장하는 파일명 및 파일수를 공급한다.
카피 리사이프 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, "카피" 버튼(2032)를 사용하여, 리사이프를 시스템 클립보드에 카피하여 이것을 나중에 리사이프 편집 모드에 페이스트한다. 사용자는 데이터스토어에 리사이프명을 공급하고 시스템은 예를 들어, 각 디스플레이(2020, 2022)에서 유용한 파라미터 및/또는 이미지를 만들어, 데이터스토어로부터 리사이프 데이터로써 클립보드를 채운다.
페이스트 리사이프 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, "페이스트" 버튼(2034)을 사용하여 리사이프를 생성 또는 편집하는 동안 시스템 크립보드로부터 리사이프 데이터를 페이스트한다. 사용자는 시스템 클립보드로부터 리사이프를 페이스트하도록 시스템에게 요구한다. 시스템은 시스템 클립보드로부터 판독된 리사이프 데이터로써 리사이프 생성 또는 편집 모드를 채운다. 사용자는 생성 리사이프 및 수정 리사이프 케이스에서 설명된 바와 같이 리사이프 생성 또는 편집 모드로 계속 진행한다.
카피 이미지 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, "카피" 버튼(2032)을 사용하고 "이미지" 디스플레이(2006)을 선택하여 리사이프를 생성 또는 편집하는 동안 이미지를 시스템 클립보드에 카피한다. 시스템은 리사이프에 이미지의 수를 공급하도록 요구하고 공급된 이미지 수를 사용하여 리사이프로부터의 이미지 데이터로써 시스템 클립보드를 채운다. 사용자는 생성 리사이프 및 편집 리사이프 유스 케이스에서 설명된 바와 같이 리사이프 생성 또는 편집 모드로 계속한다.
페이스트 이미지 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, 도 23에 예시도니 디스플레이를 가져옴으로써, "페이스트" 버튼(2034)을 사용하고 "이미지" 디스플레이(2006)를 선택함으로써 리사이프를 생성 또는 편집하는 동안 리사이프로 시스템 클립보드로부터의 이미지를 페이스트한다. 시스템은 예를 들어, "이미지" 탭(2006)이 선택딜 때 리사이프에 대한 이미지가 나열될 수 있는 윈도우(2010) 및 주어진 이미지에 대한 파라미터의 값을 볼 수 있는 윈도우(2012)에 나타난 바와같이, 시스템 클립보드로부터 판독된 선택된 이미지 데이터로써 리사이프 생성 또는 편집 모드를 채운다.
리스트 리사이프 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 데이터베이스내의 모든 리사이프를 나열한다. 시스템은 계층 폴더 구조로 데이터베이스내에 모든 리사이프의 명칭을 표시한다.
뷰 리사이프 서브 유스 케이스가 있을 수 있어서, 사용자는 데이터베이스내의 리사이트의 데이터를 보고 인쇄할 수 있다. 시스템은 이미지 데이터를 포함하여, 리사이프의 데이터를 사용자에게 표시하고, 사용자는 시스템에게 이러한 리사이프 데이터를 인쇄하도록 선택적으로 요구한다.
프로젝트의 대략적인 설명을 포함하는 도 24의 프로젝트 명칭 및 프로젝트 설명 박스(2054)를 사용자가 추가하거나 편집할 수 있는 프로젝트 명칭 박스(2052)를 포함할 수 있는, GUI(40) 인터페이스 스크린(2050)을 가져올 수 있는 다음과 같은 매니저 프로젝트 서브 유스 케이스가 있을 수 있다. 생성 프로젝트 서브 유스 케이스가 있을 수 있어서, 사용자는 일단 로그인되면 유지 또는 모니터링을 위해 새로운 프로젝트를 생성한다. 사용자는 2개의 뷰, 스탠더드 뷰 또는 맞춤 뷰중 하나를 사용하여 프로젝트를 생성하도록 시스템에게 요구한다. 시스템은 이러한 프로젝트를 편집 모드에 놓는다. 시스템은 예를 들어, 2060 및 2062에서 도 25의 스크린(2050')에 도시된 바와 같이, 스탠더드 뷰를 표시한다. 사용자는 도 24의 윈도우(2053)를 사용하여 프로젝트로 태스크를 추가한다. 사용자는 또한, 윈도우(2053)에 예시된 바와 같이, 프로젝트에 추가된 태스크를 선택적으로 활성화/비 활성화한다. 사용자는 프로젝트에 추가된 태스크에 대한 런타임 파라미터를 공급한다. 사용자는 변경을 끝냈음을 시스템에게 알린다. 시스템은 프로젝트 데이터 컨시스턴시 체크를 실행한다. 시스템은 데이터스토어에 프로젝트를 생성 및 저장한다. 사용자가 맞춤 뷰를 요구한다면, 시스템은 예를 들어, 도 25의 윈도우(2064)에 나열된 것, 레이저 컨트롤, 레이저 진단, 레이저 다운로드, 스테이지 컨트롤, 스테이지 진단 및 스테이지 다운로드로부터 맞춤 뷰를 표시하고, 사용자는 예를 들어, 진단, 다운로드 및 컨트롤로부터 프로젝트 템플릿을 선택한다. 시스템은 도 26 내지 도 28에 예시된 바와 같이, 컨트롤 템플릿(2070), 진단 템프릿(2080) 및 다운로드 템플릿(2090)과 같은 선택된 템플릿에 기초하여 맞춤 폼을 표시한다. 사용자는 예를 들어, (도 23등의 스크린(2000')의 윈도우(2010, 2012)를 사용하여 태스크에 대한 런타임 파라미터, 도 24의 스크린(2050)내의 윈도우(2051)를 사용하여, 프로젝트에 포함되는 태스크의) 프로젝트 데이터를 공급한다. 사용자는 순시 주문형 실행을 위해 프로젝트를 선택적으로 실행한다. 시스템은 잡 큐의 상부에 프로젝트를 더할 수 있고, 이러한 잡큐를 잡큐가 이미지 시작되지 않은 경우에 스텝 모드에서 시작할 수 있고 잡 실행의 결과를 표시할 수 있다.
수정 프로젝트 서브 유스 케이스가 있을 있어서, 사용자는 존재하는 프로젝트를 수정한다. 사용자는 픽 리스트로부터 프로젝트를 선택한다. 시스템은 데이터스토어로부터, 요청된 프로젝트를 검색하고 이것을 예를 들어, 도 24에 도시된 바와 같이, 편집 모드에 놓는다. 시스템은 스탠더드 뷰를 표시할 수 있다. 사용자는 프로젝트로부터 태스크를 추가하거나 삭제한다. 사용자는 예를 들어, 윈도 우(2053)내의 프로젝트내의 태스크를 선택적으로 활성화/비활성화한다. 사용자는 윈도우(5051)에 도시된 태스크를 선택함으로써 편집 태스크 유스 케이스를 사용하여 프로젝트에 존재하는 태스크를 편집한다. 사용자는 또한 프로젝트내의 태스크의 시퀀스를 변경할 수 있다. 사용자는 프로젝트의 명칭을 변경할 수 있다. 사용자는 예를 들어, 도 24내의 "적용" 버튼으로 이러한 변경을 마침하였음을 시스템에게 알린다. 그다음, 시스템은 데이터스토어에 이러한 프로젝트를 저장할 수 있다. 프로젝트가 템플릿을 사용하여 생성된다면, 시스템은 컨트롤, 진단 및 다운로드와 같은 레이저 시스템 맞춤 템플릿에 대한 도 26 내지 도 28에 도시된 바와 같은 맞춤 뷰를 표시할 수 있다. 시스템은 진단, 다운로드 및 컨트롤로부터 프로젝트의 템플릿에 기초한 맞춤 폼을 표시할 수 있다. 사용자는 프로젝트 데이터(예를 들어, 프로젝트에 포함되는 태스크, 태스크에 대한 런타임 파라미터등)를 수정할 수 있다. 사용자는 순시 주문형 실행을 위한 프로젝트를 선택적으로 실시할 수 있어서, 시스템은 잡 큐의 상부에 이러한 프로젝트를 추가하고, 이러한 잡큐를 잡큐가 이미지 시작되지 않은 경우에 스텝 모드에서 시작하고 이러한 잡 실행의 결과를 표시한다.
삭제 프로젝트 서브 유스가 있을 수 있어서, 사용자는 데이터스토어로부터 기존의 프로젝트를 삭제한다. 사용자는 픽 리스트로부터 프로젝트를 선택하고 이것은 삭제된다.
리스트 프로젝트 서브 유스 케이스가 있을 수 있어서, 사용자는 도 24의 윈도우(2056)내의 데이터스토어에 모든 프로젝트를 나열한다. 모든 사용자에게 유용 한 뷰 프로젝트 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 윈도우(2053, 2058)와 같이 윈도우(2056)의 리스트로부터 선택된 데이터스토어내의 프로젝트를 볼 수 있다. 모든 사용자에게 유용한 리스트 태스크 서브 유스 케이스가 있을 수 있어서, 일단 로그딘되면, 사용자는 예를 들어, 윈도우(2051)내의 데이터스토어내의 모든 태스크를 나열할 수 있다. 모든 사용자에게 유용한 임포트 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 프로젝트를 생성 또는 편집하는 동안 예를 들어, 도 24의 스크린(2050)상의 "임포트" 버튼을 사용하여 외부 파일로부터 프로젝트 데이터를 임포팅할 수 있다. 사용자는 지정된 파일로부터 판독된 프로젝트 데이터로써 프로젝트 생성 또는 편집 파일 모드를 채운다.
엑스포트 프로젝트 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 예를 들어, 도 24의 스크린(2050)의 "엑스포트" 버튼을 사용하여 외부 파일로 프로젝트로 엑스포팅할 수 있다. 사용자는 시스템이 프로젝트를 선택된 외부 파일로 엑스포팅하도록 요청한다. 시스템은 새로운 파일을 생성하거나, 공급된 프로젝트 명칭을 사용하여 데이터스토어로부터의 프로젝트 데이터로써 기존의 파일을 업데이트한다. 모든 사용자에게 유용한 카피 프로젝트 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, 도 24의 스크린(2050)의 "카피" 버튼을 사용하여, 프로젝트를 시스템 클립보드로 카피하여 이것을 나중에 프로젝트 편집 모드에서 페이스트한다. 사용자는 프로젝트의 명칭을 공급한다. 시스템은 공급된 프로젝트 명칭을 사용하여, 데이터스토어로부터의 프로젝트 데이터로써 시스템 클립보드를 채운다.
도 26의 레이저 제어 컨트롤 템플릿(2070)은 "STEPWISE" 아래의 블록(2072)내의 스텝의 리스트를 포함할 수 있다. 이것은 또한, 완전 초기화를 위한 박스(2074), 레이저에 대한 커맨드를 선택하는 박스(2075), 리필 및 주입 가스 관리 커맨드를 위한 박스(2076) 및 레이저로부터의 응답을 위한 박스(2078)를 가질 수 있다. 도 27의 레이저 진단 템필릿(2080)은 예를 들어, 선택될 때, 모든 인디케이터, 값 인디케이터, 주파수 인디케이터, 펄스의 수 인디케이터 및 평균수 인디케이터를 표시할 수 있는 복수의 선택가능한 레이저 체크 모드 정보 박스(2082)를 포함할 수 있다. 또한, 코멘트를 위한 박스(2084) 및 가스 리필을 실행하기 위해 선택될 수 있는 박스(2086)가 있을 수 있다. 도 28의 레이저 다운로드 템플릿(2090)은 예를 들어, 진단, 컨피규러블, 로숏(RawShot), 10K 및 1M을 선택하기 위한 복수의 박스(2094)를 갖는 예를 들어, 모드, 값, 펄스의 수 및 주파수를 보일 수 있는 복수의 프리런 정보 박스(2092)를 포함할 수 있다. 또한, 레이저 다운로드 템플릿(2090)은 "런" 박스를 포함할 수 있다.
페이스트 프로젝트 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, 도 24의 스크린(2050)의 "페이스트" 버튼을 사용하여, 프로젝트를 생성 또는 편집하는 동안 시스템 클립보드로부터의 프로젝트 데이터를 페이스트한다. 시스템은 시스템 클립보드로부터 판독된 프로젝트 데이터로써 프로젝트 생성 또는 편집 모드를 채운다. 사용자는 생성 프로젝트 및 수정 프로젝트 유스 케이스에서 기술된 바와 같이 프로젝트 생성 또는 생성 모드로 계속 진행한다.
매니지 잡 규 유스 케이스에서 다음의 서브 유스 케이스가 있을 수 있다. 잡 큐에 잡 추가하기 서브 유스 케이스가 있을 수 있어서, 사용자는 잡 큐를 사용하여 잡을 실행하거나 롯을 처리하기 위해 잡 큐에 프로젝트 또는 롯을 추가할 수 있다. 시스템은 사용자가 롯 또는 프로젝트를 선택하는 롯/프로젝트의 픽 리스트를 제공하고 런타임 파라미터를 롯 또는 프로젝트에 공급한다.(롯에 대한 런타임 파라미터는 기판 ID, 오퍼레이터 ID, 카세트 스테이션 넘버등일 수 있다. 프로젝트에 대한 런타임 파라미터는 오퍼레이터 ID, 리마크 등일 수 있다.) 시스템은 잡 큐에 롯 또는 프로젝트를 추가한다.
잡 큐로부터의 잡 제거 서브 유스 케이스가 있을 수 있어서, 사용자는 잡 큐로부터 롯/프로젝트를 제거한다. 사용자는 잡큐로부터 롯/프로젝트를 선택하고 이것을 잡 큐로부터 제거하도록 시스템에 요청한다. 시스템은 잡 큐로부터 롯/프로젝트를 제거한다.
잡 큐내의 잡 시퀀스 변경 서브 유스 케이스가 있을 수 있어서, 사용자는 잡 큐내의 잡 시퀀스를 변경한다. 사용자는 잡 큐로부터 잡을 선택하고 시스템이 이것을 잡 큐에서 상하로 이동시키도록 요청한다. 시스템은 잡을 잡 큐내의 새로운 위치로 이동시킨다.
잡 큐 스타크 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 잡 큐(2106)을 시작하여 잡 큐의 전방으로부터 잡 큐내의 잡을 처리하는 것을 시작한다. 사용자는 예를 들어, 도 33의 "잡" 스크린(2110)의 "시작" 버튼을 사용하여, 잡 큐를 시작하도록 시스템에게 요청한다. 시스템은 잡 큐가 실시되는 것을 나타내기 위해 상태 윈도우(2100)를 업데이트한다. 잡 큐(2106)가 이전에 포즈되 었다면, 시스템은 프로젝트내의 다음 태스크로 계속 진행한다. 그렇지않으면, 시스템은 예를 들어, 상태 윈도우(2100)내의 "Lot 1"과 같은 잡 큐(2106)의 전방으로부터 미처리된 잡을 취하고, 이러한 잡의 카피를 만들고 이러한 카피를 사용하여 차례로 실행을 시작한다. 롯이 처리되고 있다면, 시스템은 예를 들어, 도 33내의 윈도우(2107)내의 현 실행 롯의 기판 위치 및 결정화 프로세스의 진행과정을 그래픽으로 표시한다. 시스템은 또한, 예를 들어, 어느 기판이 현재 처리되고 있는지, 얼마나 많은 보다 많은 기판이 가는지 등의 카세트의 그래픽 표시(2104)를 표시한다. 시스템은 예를 들어, 윈도우(2100)내의 "처리중"으로 잡큐내의 현 처리하는 잡(2108)의 상태를 업데이트한다. 잡에 대한 처리가 완전하고 성공적일 때, 시스템은 예를 들어, 잡 P2에 대한 윈도우(2100)에 도시된 바와 같이, 잡 큐(2106)내의 잡의 상태를 "처리됨"으로 변경한다. 시스템이 잡을 성공적으로 실행하는데 실패하면, 시스템은 잡 큐내의 잡의 상태를 "처리 실패"로 변경한다.
정지 잡 큐 서브 유스 케이스가 있을 수 있어서, 사용자는 잡 큐(2106)내의 남아있는 잡(2108)이 처리되는 것을 방지하기 위해 스크린(2110)의 "정지" 버튼으로 잡 큐를 정지시킨다. 사용자는 시스템이 잡 큐(2106)를 정지시키도록 요청한다. 시스템은 잡(2108)이 현재 실시되고 있는지 체크한다. 잡, 예를 들어, 잡 큐(2106)내의 "Lot 1"이 현재 실시되고 있다면, 시스템은 사용자에게, 현 실시되고 있는 잡을 중단, 현 실시되고 있는 잡을 일시 정지, 현 실시되고 있는 잡을 마무리한 후에 정지, 중 하나를 선택하도록 프롬프팅한다. 사용자가 중단을 선택하면, 시스템은 잡의 현 실시되고 있는 태스크를 마무리한 후에 정지한다. 사용자가 정 지를 선택하면, 시스템은 현 실시되고 있는 잡이 종료한 후에 잡 큐(2106)를 정지시킨다. 시스템은 잡 큐가 정지될 수 있다는 것을 상태 윈도우(2100)가 나타내도록 업데이트한다.
뷰 잡 큐 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, 도 33의 스크린(2110)로 잡 큐(2108)내의 잡 리스크를 볼 수 있다.
잡 큐를 스텝 모드로 놓기 서브 유스 케이스가 있을 수 있어서, 예를 들어, 도 33의 "정지" 모드 선택기(2120)를 가진 사용자는 잡 큐(2106)를 스텝 모드에 놓아 잡 큐는 각 잡(2108)을 실행한 후에 정지한다. 시스템은 상태 윈도우(2100)를 업데이트시켜 잡 큐(2106)가 스텝 모드에 있는 것을 나타내도록 한다.
스텝 모드로부터 잡 큐(2106) 제거 서브 유스 케이스가 있을 수 있어서, 사용자는 스텝 모드로부터 잡 큐(2106)를 취하여서 잡 큐(2106)는 잡을 차례로 실행하기 시작한다. 시스템은 예를 들어, "연속" 모드 선택기(2122)를 사용하여 연속 모드로 잡 큐를 놓아서 잡 큐내의 모든 잡을 차례로 실행하기 시작한다. 시스템은 상태 윈도우(2100)를 업데이트시켜서 잡 큐(2106)가 연속 모드에 있다는 것을 나타낸다.
뷰 시스템 상태 서브 유스 케이스가 있어서, 사용자는 도 33의 윈도우(2130), 또는 도 35, 도 36의 스크린에서 시스템 및 디바이스의 현 상태를 볼 수 있다. 시스템은 다수의 상태 탭에 시스템 및 디바이스의 현 상태를 표시하는데, 각 상태 탭은 상태 파라미터의 현재 값을 나타낸다. 시스템은 심각도 즉, 치명, 에러, 경고 또는 메시지에 기초하여 탭상의 상태 파라미터 및 탭에 대한 컬러와 같 은 시각적 인디케이터를 제공한다. 시스템은 또한, 유지가 디바이스, 컴포넌트 및 모듈에 대하여 요구된다면 시각적 또는 문자적 인디케이터를 제공한다.
매니지 프로젝트 스케줄 유스 케이스에서 다음과 같은 다수의 서브 유스 케이스가 있을 수 있다. 유지 스케줄에 프로젝트를 더하기 서브 유스 케이스가 있을 수 있어서, 예를 들어, 도 24의 스크린을 사용하여, 사용자는 프로젝트를 스케줄, 예를 들어, 모니터링을 스케줄링하기 위한 유지 스케줄에 추가한다. 사용자는 픽 리스트(2140)로부터 프로젝트를 선택한다. 시스템은 프로젝트를 유지 스케줄에 추가하고 이것을 이네이블 상태로 놓는다. 사용자는 예를 들어, 도 29에 도시된 바와 같이, 유지 스케줄내의 프로젝트의 편집 스케줄 유스 케이스를 사용하는 프로젝트 스케줄을 제공한다. 프로젝트의 스케줄에 대하여, 시스템은 예를 들어, 도 29의 잡 큐(2144)의 상부에 프로젝트를 추가한다. 예를 들어, 공급된 스케줄이 주단위라면, 시스템은 잡 큐(2144)가 시작될 수 있는 그 주의 첫째날에 프로젝트를 실행한다.
유지 스케줄로부터 프로젝트 제거 서브 유스 케이스가 있을 수 있어서, 사용자는 일단 로그인되면, 예를 들어, "삭제" 키(2146)를 사용하여, 스케줄링된 모니터링에 사용되는 유지 스케줄로부터 프로젝트를 제거할 수 있다. 시스템은 유지 스케줄로부터 프로젝트를 제거한다.
유지 스케줄내의 프로젝트 이네이블 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, 도 29의 스크린의 "적용" 버튼(2150)을 사용하여 스케줄링을 위해 유지 스케줄내의 프로젝트를 활성화시킨다. 시스템은 스케줄링된 유지를 위해 프로젝트를 이네이블한다. 프로젝트의 스케줄에 대하여, 시스템은 그 날의 첫 리아시프가 처리될 때 프로젝트를 실행한다.
유지 스케줄내의 프로젝트 디스에이블 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, 도 29의 "취소" 버튼(2152)을 사용하여 유지 스케줄내의 프로젝트를 비활성화시켜서 프로젝트가 스케줄링되지 않는다.
유지 스케줄내의 프로젝트의 편집 스케줄 서브 유스 케이스가 있을 수 있어서, 사용자는 예를 들어, "수정" 버튼(2156)을 사용하여 유지 스케줄내의 프로젝트의 스케줄을 수정한다. 사용자는 유지 스케줄로부터 프로젝트를 선택하고, 시스템은 사용자가 프로젝트를 위한 스케줄을 공급하도록 요청한다. 사용자는 예를 들어, 도 29의 윈도우(2142)내의 매일, 매주, 또는 매달과 같은 스케줄을 공급한다. 시스템은 프로젝트의 유지 스케줄을 업데이트한다.
유지 스케줄 보기 서브 유스 케이스가 있을 수 있어서, 사용자는 유지 스케줄(2144)을 본다.
로그인 서브 유스 케이스에서, 다음의 서브 유스 케이스가 적용될 수 있다. 사용자가 예를 들어, 도 18의 스크린(2160)을 사용하여 로그인될 수 있는 사용자 로그인 서브 유스 케이스가 있을 수 있다.
사용자가 상기 로그인된 사용자를 본인으로 변경하는 사용자 전환 서브 유스 케이스가 있을 수 있다.
용자가 시스템으로부터 로그아웃하는 사용자 로그아웃 서브 유스 케이스가 있을 수 있다.
사용자가 새로운 사용자를 시스템에 등록하는 사용자 등록 서브 유스 케이스가 있을 수 있다. 시스템은 사용자가 사용자 ID, 패스워드 및 새로운 사용자의 역할(오퍼레이터/프로세스 엔지니어, 필드 서비스 엔지니어 또는 관리자중 하나)를 공급하도록 요청한다. 시스템은 사용자를 공급된 데이터와 함께 데이터스토어내의 사용자 리스트에 추가한다.
관리자가 시스템으로부터 기존의 사용자를 제거할 수 있는 사용자 등록해제 서브 유스 케이스가 있을 수 있다.
사용자가 그의 로그인 패스워드를 변경할 수 있는 사용자 로그인 패스워드 변경 서브 유스 케이스가 있을 수 있다.
역할 로그인 서브 유스 케이스가 있을 수 있어서, 사용자는 인증된 역할로 시스템에 로그인한다.
역할 전환 서브 유스 케이스가 있을 수 있어서, 사용자는 로그인된 역할을 또 다른 역할로 변경한다. 시스템은 오퍼레이터/프로세스 엔지니어, 필드 서비스 엔지니어 또는 관리자 역할중 하나를 사용자가 선택하도록 요청한다. 시스템은 사용자가 사용자ID 및 패스워드를 공급하도록 요구한다. 시스템은 현 로그인된 역할을 로그아웃하고 선택된 역할을 가지고 시스템에 액터를 로그인시킨다.
역할 사용자 전환 서브 유스 케이스가 있을 수 있어서, 사용자는 로그인된 사용자를 자신으로 변경한다. 시스템은 사용자에게 사용자 ID를 공급하도록 요구하고, 시스템은 현 로그인된 사용자를 로그아웃하고 시스템내의 액터로 로그인한다.
역할 로그아웃 서브 유스 케이스가 있을 수 있어서, 사용자는 시스템을 로그아웃한다. 시스템은 시스템으로부터 역할 로그아웃한다. 시스템은 그 메인 디스플레이 윈도우를 닫는다.
역할 로그인 패스워드 변경 서브 유스 케이스가 있을 수 있어서, 관리자는 임의의 역할의 패스워드를 변경한다. 시스템은 데이터스토어내의 선택된 역할의 패스워드를 변경한다. 시스템은 사용자에게 이러한 패스워드가 성공적으로 변경되었음을 알린다.
모듈 관리 서브 유스 케이스에서, 다음과 같은 다수의 서브 유스 케이스가 있을 수 있다. 모듈 나열 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 데이터스토어내의 모든 모듈을 나열한다.
모든 사용자에게 유용한 모듈 보기 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 예를 들어, 도 37의 스크린(2200)의 데이터스토어내의 모듈을 본다. 시스템은 모듈의 픽 리스트를 제공한다. 시스템은 데이터스토어로부터, 요청된 모듈을 검색하고 이것을 예를 들어, 윈도우(2204)내의 뷰 모드(2202)에 놓는다. 시스템은 명칭, 시리얼 넘버, 유지 카운터등을 갖는, 모듈을 포함하는 모든 컴포넌트 및 디바이스의 리스트를 표시한다.
모듈 수정 서브 유스 케이스가 있을 수 있어서, 사용자는 데이터스토어내의 모듈의 특정 컴포넌트 파라미터(예를 들어, 유지 카운터)를 수정한다. 시스템은 모듈의 픽 리스트를 제공한다. 시스템은 데이터스토어로부터, 요청된 모듈을 검색하고 이것을 편집 모드로 놓는다. 시스템은 스크린(2200)상의 "컴포넌트 특성"하 의 명칭, 시리얼 넘버, 유지 카운터등을 갖는, 스크린(2200)상의 "모듈 컴포넌트"(2206)하의 모듈을 포함하는 모든 컴포넌트 및 디바이스의 리스트를 표시한다. 사용자는 유지 카운터와 같은 파라미터 데이터를 편집한다. 시스템은 데이터스토어에 모듈을 저장한다.
시스템 구성 재유스 케이스에서, 다음과 같은 다수의 서브 유스 케이스가 있을 수 있다. 시스템 구성 편집 서브 유스 케이스가 있을 수 있어서, 일단 로그인되면, 사용자는 머신 또는 시스템 구성 정보를 수정한다. 사용자는 시스템에 시스템 구성 정보를 편집할 것으로 요구한다. 시스템은 시스템 구성을 편집 모드로 놓는다. 사용자는 예를 들어, 도 37, 도 38 및 도 39의 스크린(2200, 2200', 2200'')상의 시스템 구성 정보를 수정한다. 시스템은 데이터베이스에 시스템 구성 정보를 저장한다. 도 37의 스크린(2200)은 예를 들어, 사용자에 의해 수정되도록 선택될 수 있는 모듈의 리스트를 도시하는 윈도우(2202)를 갖는, 모듈 탭이 선택될 때의 디스플레이를 예시하고 있다. 또한, 예를 들어, "Optics"의 선택된 모듈에 대한 모듈 특성을 나타내는 윈도우(2204)가 도시되어 있다. 또한, 스크린(2200)은 선택된 모듈의 컴포넌트를 표시하는 윈도우(2206) 및 선택된 컴포넌트에 대한 컴포넌트 특성을 표시하는 윈도우(2208)를 포함할 수 있다. 도 35의 스크린(2200')은 시스템 탭이 선택될 때 표시되는 것을 예시하고 있다. 이러한 경우에, 윈도우(2210)는 파라미터 및 각 파라미터에 대한 값을 도시하고 있다. 도 36의 스크린(2200')은 "상태" 탭이 선택될 때 표시되는 것을 예시하고 있다. 도시된 바와 같이, Maintennce로 상태 탭 명칭이 도시되어 있고 예를 들어, Summary, Laser, Stage 및 System을 식별하는 윈도우가 도시되어 있다. 윈도우(2216)는 유용한 상태 파라미터를 표시하고 윈도우(2218)는 상태 탭 파라미터를 표시한다.
도 38 및 도 39의 역할 및 사용자 스크린(2300, 2300')은 박스(2312)에 패스워드를 삽입함으로써 윈도우(2310)로부터 선택된 역할을 위해 사용자가 로그인할 수 있고 사용자 ID에 의해 역할이 사용자에게 할당될 수 있는 역할 및 사용자 탭에 의해 선택된 디스플레이를 예시하고 있는데, 사용자 ID가 윈도우(2314)에 나타나고 박스(2316)에 입력되고, 역할이 박스(2318)에서 선택되고, 패스워드가 박스(2320)에 입력된다.
도 40 및 도 41의 스크린(2400, 2400')은 모든 메시지, 예를 들어, 에러 및 경고 메시지를 윈도우(2402)에 나타낼 수 있거나, 예를 들어, 디스플레이 윈도우(2406)에 필터링된 메시지로 필터링하기 위한 특정 시간, 디바이스, 메시지 심각도 레벨, 및 기간을 선택할 수 있는 도 41의 윈도우(2404)내의 필터를 갖는 특정 타입의 메시지/경고를 선택할 수 있다.
시스템 구성 보기 서브 유스 케이스가 있을 수 있어서, 사용자는 머신 또는 시스템 구성 정보를 본다. 시스템은 각 디바이스에 대하여 하나씩 다수의 탭을 갖는 시스템 구성을 표시한다.
시스템 상태 구성 서브 유스 케이스가 있을 수 있어서, 사용자는 새로운 상태 탭을 추가하고 기존의 상태 탭의 내용을 변경한다. 시스템은 데이터스토어내의 기존의 상태 탭의 리스트를 표시한다. 시스템은 또한 데이터스토어내의 모든 상태 파라미터의 리스트를 표시한다. 사용자는 상태 탭 리스트에 새로운 상태 탭을 선 택적으로 추가하고 하나 이상의 상태 파라미터를 새롭게 생성된 상태 탭에 추가한다. 사용자는 상태 파라미터를 추가하거나, 리오더링하거나 또는 기존의 상태 탭으로부터 상태 파라미터를 제거함으로써 기존 상태 탭의 내용을 선택적으로 수정한다. 사용자는 상태 탭을 선택적으로 리오더링한다. 사용자는 기존의 상태 탭을 선택적으로 삭제한다.
펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치로서, 펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원을 포함하고, 레이저 컨트롤러; 워크 스테이지 컨트롤러; 고객 리사이프 컨트롤 커맨드 발생기로부터 프로세스 리사이프 컨트롤 디맨드를 수신하고 상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러에 컨트롤 신호를 제공하는 시스템 컨트롤러;를 포함하고, 상기 시스템 컨트롤러는 외부 프로세스 유저 인터페이스를 통해 사용자에 의해 선택가능한 제너릭 프로세스 커맨드 스텝을 포함하는 데이터베이스를 포함하는 데이터베이스 구동 프로세스 컨트롤러를 포함하는 펄싱된 DUV 제품 처리 장치가 개시되어 있다. 이러한 장치 및 방법은 사용자에 대한 프로세스 컨트롤 커스터마이제이션을 포함할 수 있고, 외부 프로세스 사용자 인터페이스를 통해 선택된 프로세스 커맨드 단계를 각 일반적인 스크립트로 전환하는 인터프리터를 또한 포함할 수 있다. 이러한 장치 및 방법은 OEM 데이터베이스에 저장된 태스크에 기초할 수 있는, OEM 데이터베이스로부터 사용자에 의해 선택가능 할 수 있는 사용자 프로세스 커맨드 단계를 사용자에게 식별하는 워크 플로를 포함할 수 있다. 이러한 장치 및 방법은 레이저 컨트롤러 및 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로의 커맨드를 실행하는 프로세스 서버; 사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 프로세스 서버에 전송하는 GUI 클라이언트를 포함할 수 있다. GUI 클라이언트는 레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 제품의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함할 수 있고 인터페이스를 통해 제조 실행 시스템 인터페이스와 통신할 수 있다. 이러한 장치 및 방법은 OEM에 의해 공급되는 읽기 전용 태스크 정의를 포함할 수 있는 OEM 읽기 전용 데이터베이스; 사용자 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스를 더 포함할 수 있다. OEM 데이터베이스는 프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 매크로 또는 스트립트의 형태로 일반적으로 일반적인 태스크 정의를 포함할 수 있고, OEM 데이터베이스로부터 일반적인 커맨드를 갖는 MSC 데이터베이스내에 저장된 사용자 입력 파라미터를 조합하는 커맨드 인터프리터를 포함할 수 있다. 입력 파라미터는 MSC 데이터베이스에 이전에 저장될 수 있고 일반적인 커맨드가 OEM 데이터베이스내의 스크립내에 포함될 수 있다. 이러한 장치 및 방법은 프로세스 서버와 통신하는 복수의 프로세스 컨트롤 서브시스템을 더 포함할 수 있고, 각 서브시스템은 메시지 큐 및 메시지 루프; 각 서브시스템에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프를 포함하고, 커맨드 인터프린터에서 사용되는 뉴트럴 랭귀지 포맷으로부터 디 바이스 특정 디바이스 랭귀지 포맷으로 통신을 전환시키는 랭귀지 컨버터를 사용하는, 레이저 및 워크 스케이지를 포함하는 그룹으로부터의 적어도 하나의 디바이스와 통신하는 디바이스 인터페이스를 더 포함할 수 있다. 펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치로서, 펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원을 포함하고, 레이저 컨트롤러; 워크 스테이지 컨트롤러; 태스크를 단일 스레드 또는 다수의 논-리엔트런트 스레드로서 코딩하기 위해 별개의 각 프로세스에서 각 태스크를 실시하는 시스템 컨트롤러;를 포함하는 펄싱된 DUV 제품 처리 장치가 개시되어 있다. 각 태스크는 단일 스레드로서 단일 프로세스내의 각 스레드에서 각각 실시되는 코어 태스크를 포함할 수 있다. 각각의 스레드는 각 태스크로의 액세스를 시퀀셜 및 논블록킹으로 하는 각 메시지 펌프를 가질 수 있다. 메시지 펌프는 메시지 큐 및 메시지 루프를 포함할 수 있다. 시스템 프로세서 메시지는 메시지 펌프를 사용하여 처리될 수 있다. 펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치로서, 펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원을 포함하고, 레이저 컨트롤러; 워크 스테이지 컨트롤러; 및 하나가 복수의 프로세스 디바이스의 각각으로의 디바이스 인터페이스를 포함하는 적어도 2개의 별개로 기능하는 스레드를 이용하는 시스템 디바이스 매니저에 의해 컨트롤되는 복수의 프로세스 디바이스;를 포함하는 펄싱된 DUV 제품 처리 장치가 개시되어 있다. 복수의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각 모두와 연관된 컨트롤 스레드 및 상기 복수의 프로세스 디바이스의 각각 모두와 연관된 진단 스레드를 포함할 수 있다. 각 별개로 기능하는 스레드는 별개의 통신 채널을 포함할 수 있다. 시스템 컨트롤러는 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용할 수 있다. 제너릭 디바이스 커맨드는 고레벨 액션에 상응할 수 있다. 상기 장치 및 방법은 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 GUI 클라이언트를 포함할 수 있다. 상기 장치 및 방법은 적어도 2개의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각으로의 별개의 디바이스 인터페이스로서 하나 이상의 별개로 기능하는 스레드를 포함할 수 있다. 복수의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각 모두와 연관된 컨트롤 스레드 및 상기 복수의 프로세스 디바이스의 각각 모두와 연관된 진단 스레드를 포함할 수 있다. 각 별개로 기능하는 스레드는 별개의 통신 채널을 포함할 수 있다. 시스템 컨트롤러는 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용할 수 있다. 제너릭 디바이스 커맨드는 고레벨 액션에 상응할 수 있다.
본 발명의 일실시예의 특징에 다라 얇은 빔 레이저 어닐링 시스템이 예를 들어, 보다 높은 레벨의 성능을 갖는 보다 작은 박막 트랜지스터를 만드는 것이 가능한 예를 들어, 보다 긴 그레인 바운더리의 보다 양호한 결정을 갖고, 박막 트랜지 스터가 형성되는 다결정질 실리콘층을 형성하도록 비정질 실리콘층을 어닐링하는 기판의 처리에서 유용할 수 있다는 것을 당업자는 이해할 것이다. 이로 인해, 패널 자체 밖에 있는 것과 반대로 디스플레이 패널에 내장되는 컨트롤 전자장치를 갖는, 기판, 소위 시스템 온 글래스("SOG") 디스플레이에 박막 트랜지스터로써 형성되는 보다 휘도가 높은 디스플레이가 가능할 수 있다. 이러한 패널은 보다 높은 레졸루션 및 고속 응답 시간과 같은 다른 성능 향상을 갖도록 제조될 수 있어서 예를 들어, 블러링을 감소시킨다. 레이저 어닐링된 박막 트랜지스터 다결정질화 실리콘 패널를 만드는 데 있어 명확히 강화된 프로세스 컨트롤은 이러한 향상된 패널을 달성하는데 도움이 될 수 있다. 본 발명의 특징에 따라 컨트롤되는 종류의 얇은 빔 레이저 어닐링을 사용하여 형성되는 TFT 패널 및 유기발광 다이오드("OLED")는 예를 들어, 강화된 OLED 수명과 더불어 강화된 성능 특성을 갖고 보다 저렴하게 제조될 수 있다. 또한, 증가된 수율 및 보다 저렴한 비용으로 제조된 강화된 폴리 실리콘 디스플레이 패널은 현재 이용되는 비정질 실리콘 기반 디스플레이 패널에 비하여, 상술된 것과 같은 많은 장점 및 예를 들어, OLED에 필요한 고전류 부항하에서 보다 큰 안정도, 보다 작고 미디엄 사이즈의 디스플레이 패널을 제공할 수 있다. 또한, 본 발명의 특징에 따른 보다 양호한 프로세스 큰트롤이 이러한 장점에 더해진다.
예를 들어, 500 mm 보다 길고 10㎛ 미만의 매우 얇은 빔 폭의 엑시머를 갖는 1000W 보다 큰 고전력 엑시머 레이저 어닐링, 예를 들어, XeCl 또는 XeF 레이저 어닐링 시스템은 현재 상술된 박막 트랜지스터 및 OLED 결과를 얻기 위해 3세대 이상 의 큰 기판 비정질 어닐링을 실행하기 위한 우수한 장치로서 생각된다. 레이저 긴 얇은 빔은 예를 들어, 비정질 실리콘의 영역을 국부적으로 용해시키고 이러한 비정질 실리콘은 인접하는 냉각된 영역으로부터 결정화되어 시드를 형성하고, 큰(긴) 결정은 상대적 이동의 방향으로 결정을 확장시키도록 또 다른 것 또는 서로에 대해 상대적으로 빔 및 기판을 이동시킴으로써 달성될 수 있고, 따라서, 예를 들어, 다른 프로세스로 어닐링함으로써 얻어지는 보다 작은 입자의 폴리 실리콘 결정보다 보다 높은 전자 이동성을 갖고 상대적인 균일하고 긴 길이의 결정을 만들 수 있다. 이러한 얇은 빔에 의해 본 발명의 특징에 따라 컨트롤되는 결정화 머신내의 패널 제품의 표면을 가로지르는 솔리드 시드 영역에 인접한 작은 액화된 영역의 연속 생성이 피시험 시스템에 가능하게 한다. 이러한 빔 폭에 의해 보다 양호한 결정을 형성하는 것에 더해, 패널 처리량을 향상시키고, 단일 파스로 패널을 어닐링하는 것이 가능할 수 있다.
본 발명의 일실시예의 특징에 따라, 시스템은 마스터 시스템 컨트롤러("MSC") 서버, 마스터 디스트리뷰션 모듈("MDM"), 데이터 획득 서비스("DAS") 서버 및 필드 서비스 엔지니어("FSE") 서버를 포함할 수 있는 마스터 컨트롤러 캐비넷에 수용될 수 있다. 이러한 것들은 LAN 커넥션에 대한 19 포트 랜트로닉스 TCP/IP 컨버터 및 PIX 방화벽 및 시스코 스위치, 예를 들어, 3TB의 저장 공간을 갖는, 저장 어레이, 진단을 위한 듀얼 P4 서버 러닝 윈도우 2003 OS와 함께, 데이터 획득(DAS)에 대한 것과 예를 들어, 컨트롤을 위한 러닝 CentOS(MSC) 및 8GB의 RAM를 간는 듀얼 옵테론 서버를 사용하여 구현될 수 있다.
MSC 및 DAS는 예를 들어, MSC 및 DAS 및 디바이스가 인터페이스해야 하고 실시되어야 하고 그리고 어닐링 시스템/컨트로러 제조자에게 미리 알려지지 않고 최종 사용자 소비자가 선택하는 전기 및 플로이드 유틸리티 및 재료 핸들러 및 팩토리 오토메이션 호스트와 같은 다른 장짐, 빔 프로필 및 빔 에너지, 온도에 대한, 메트롤로지 센서, 모터 컨트롤러을 포함하는 프로젝션 옵틱 모듈("POM"), 스테이지 정밀 모터 컨트롤러, 액티브 일루미네이터 오토 포커스 컨트롤 및 액티브 빔 스티어링 및 안정화 모듈을 갖는 예를 들어, 1220W, 6kHz XeF DUV 레이저, 빔 전달 유닛, 처리 장비의 다양한 하드웨어 엘리먼트와 통신할 수 있다.
본 발명의 일실시예의 특징에 따른 컨트롤러는 다양한 디자인 장점을 제공한다. 시스템은 높은 유용성-24-7-7중 하나이다. 컨트롤러는 유용한 팩토리 호스트 컨트롤 및 로컬 오퍼레이터 컨트롤의 정보 플로우의 다수의 경로 및 MSC에 의해 핸들링되는 데이터 수집 및 오퍼레이터 피드백, 컨트롤, 전체 코디네이션, 컨트롤된 디바이스에 의해 핸들링되는 하드 실시간 필수요소를 갖고 분포된다. 시스템은 또한, 전체 재기록 또는 재컴파일레이션 필요 없고 모든 모듈 또는 어느 하나에 대한 컨트롤러 코드의 임의의 재기록/재컴파일레이션의 필요 없이 디바이스 세트내의 동일한 기능에 대한 상이한 디바이스의 대체 및/또는 디바이스 세트의 수정을 허용하고 인텔리전트 디바이스의 보조 세트의 모니터링 및 컨트롤을 가능하는 등, 높은 적응성을 갖는다.
디바이스 커맨드는 컨트롤러 코드로 유선화되지 않는다. 디바이스 커맨드는 성능의 이유로 캐싱되고 동적으로 로딩되고 저장될 수 있다. GUI 디자인은 임의의 태스크 또는 시스템 레벨 디바이스 또는 다른 구성에 대한, 파라미터의 수를 한정하지 않는다. 예를 들어, 추가의 파라미터 태스크가 예를 들어, 유저 인터페이스 스크린에 대한 코딩 수정 없이 태스크에 추가될 수 있다. 디바이스로의 TCP/IP 통신을 따라, 필요한 랜트로닉스가 예를 들어, 시리얼 통신 프로토콜을 전환하기 위해 사용될 수 있다. 시스템 커맨드는 예를 들어, 중요한 커맨드를 타이밍하는 때와 같은 디바이스로부터의 응답을 대기할 때 시스템을 차단하지 않도록 비동기식으로 실행될 수 있다.
많은 소프트웨어는 C++와 같은, 소프트웨어를 사용하기 위해 용이하게 구현될 수 있다. GUI는 JAVA를 사용하기 위해 용이하고 잘 이해되는 방식으로 구현될 수 있다. 컨트롤 및 데이터 수집, 예를 들어, 태스크는 PostgreSQL 또는 유사한 프로시져 랭귀지 기능과 같은 파라미터화된 스크립 형태로 저장될 수 있다. 태스크는 커맨드 라이브러리 셀 등을 통해 디바이스에 액세스할 수 있다. 작업은 예를 들어, 프로젝트 또는 리사이프를 실시함으로써, 본 발명의 일실시예의 특징에 따른 컨트롤러인 프로세싱 시스템에 행해질 수 있다. 프로젝트는 태스크의 특정 버전을 형성하는 리사이프와 함게, 태스크를 사용하여 시스템 오퍼레이터에 의해 생성될 수 있다. 런타임에, 커맨드 인터프리터가 태스크를 파싱하기 위해 사용되어 디바이스 커맨드를 실행한다. 따라서, 컨트롤 로직은 컴파일링된 코드로부터 메모리내에 저장된 다이내믹 데이터로 이동될 수 있다. 예를 들어, 태스크 실행 동안, 태스크는 OEM 스키마로부터 올 수 있고 파라미터는 MSC 스키마로부터 올 수 있고 커맨드 인터프리터는 이것을 사용하여 디바이스 커맨드를 디바이스에 제공할 수 있 다.
예를 들어, 파라미터화된 스크립 포맷을 갖는 PostgreSQL은 커넥션 타임아웃, 보정 팩터 및 디바이스 이네이블/디스에이블과 같은 시스템 동작의 사용자 컨트롤을 가능하게 하는 글로벌 레벨 변수로써 사용자 컨트롤되도록 구성될 수 있다. 사용자는 정의되고 이네이블될 수 있다. 프로젝트 및 리사이프는 프로젝트 레벨 파라미터, 포함된 태스크 및 연관된 파라미터 및 퍼미션을 포함할 수 있다. 또한 차크 템플릿이 사용될 수 있다. OEM 컨트롤 특징은 부트스트랩 유저 컨피규레이션, GUI 룩 및 필, 예를 들어, 컬러, 탭, 라벨등을 포함할 수 있다. 잡 실행은 OEM 컨피던셜 (및 암호화된) 태스크 및 클래스 스크립트에 의해 컨트롤될 수 있다. 내부 셋업은 DMP 및 메시지 맵핑에 대한 테이블의 라우팅을 포함할 수 있다. 디바이스 셋업 및 어베일러빌리티는 소위 "볼드" 리스트, NFL-2-DF 변환, 및 예를 들어, 동적으로 로딩될 수 있는 드라이버 공유 오브젝트를 갖는 디바이스의 테이블과 같은 디바이스 리스트의 구성을 포함할 수 있다.
상태 루프 데이터는 특정, 예를 들어, 상대적으로 느린 데이터속도로 스로틀링될 수 있는 연속 폴링 루프에 있을 수 있다. 별개의 스레드, 예를 들어, 디바이스 당 하나의 스레드는 타임 "싱크 스레드"에 의해 동기화될 수 있다. 많은 특징, 예를 들어, 오퍼레이션의 플렉시빌리티를 위해 필요할 수 있는 수백개의 특징이 예를 들어, 노멀라이징된 값을 사용하여 속성 값 형태를 사용하여, 예를 들어, PostgreSQL로 저장될 수 있다. 상태 루프는 타임/디바이스에 의해 분할되고 벌크 카피되고 버퍼링될 수 있다. 빌트인 차팅 및 리포팅 특징은 컨트롤되고 있는 시스 템의 다른 타입 또는 컨트롤되는 레이저 어닐링의 오퍼레이션을 모니터링하는데 사용될수 있다. 예를 들어, 시스템의 레이저 어닐링 타입에서, 시스템내의 다양한 포인트에서의 레이저 에너지 및 관련된 특성, 빔 프로필 및 다른 특성, 스테이지 및 메트로롤지 포지션 및 레이저 어닐링 시스템에 걸친 온도가 차팅/보고될 수 있다. 이러한 데이터는 메트로롤지 스트림으로 약 70개의 필드 및 레이저 속성 스트림내의 약 24개의 필드와 같은 애트리뷰터를 갖고 6kHz 위의 상대적으로 높은 데이터율에서 스트림될 수 있다.
시스템 로깅은 많은 시스템 디바이스로부터 정보를 수신할 수 있는 중심 로거 데몬에 예를 들어, MSC 컴포넌트가 로그하는 것을 허용한다. 중심 로거 데몬은 예를 들어, PostgreSQL 데이터베이스에 기록함으로써 저장, 버퍼링하고, 예를 들어, DMP를 통해 GUI에 병렬로 메시지를 전송한다. GUI는 디바이스, 타임/날짜, 심각도등에 의한 필터링 러브 로그 및 예를 들어, 디바이스에 의한 타임/날자, 심각도등의 리포트 발생을 허용할 수 있다.
하나의 데이터베이스 스키마, 예를 들어, OEM이 부트스트랩핑을 위해 사요오딜 수 있고 또 다른 데이터베이스 스키마가 사용자 세팅을 오버레이하는데 사용될 수 있는데, 예를 들어, 애플리케이션 디폴트가 OEM 스키마에 추가될 수 있고, 세팅이 MSC 스키마 세팅 없이 이루어질 수 있다. 예를 들어, 디바이스의 타임스탬프에 의한 파티셔닝은 예를 들어, 데이터 리텐션의 단순화되고 빠른 인포스먼트를 허용할 수 있는, 상태 및 스트리밍 데이터에 대하여 사용될 수 있다. 일부 경우에 DAS에 의해 획득된 데이터가 MSC에서 필요한 때와 같이, 예를 들어, 데이터베이스 링 크, dblink를 통해 일부 환경에서 MSC 스키마와 OEM 스키마가 서로 통신하여야 하지만 데이터 수집 및 컨트롤 기능이 서로 간섭하지 않는 것을 보장하기 위해 분리될 수 있는, OEM 스키마와 MSC 스키마 사이의 데이터베이스 링크가 존재할 수 있다. 컨트롤러는 예를 들어, XML 및 HMAC에 대한 커스텀 C 익스텐션 펑션과 같은 펑션을 유익하게 사용할 수 있는데, XML 메시지는 GUI 및 DMP에서 이용될 수 있고 HMAC가 프로젝트/리사이프 록킹을 위해 사용될 수 있다.
뉴트럴 랭귀지 포맷에서 디바이스 포맷으로의 전환은 예를 들어, 태스크 스크립트에 의해 사용되는 제너릭 커맨드로부터 디바이스 특정 커맨드로의 맵핑을 제공하는데 사용될 수 있는 엔티-애트리뷰트-값 포맷을 이용할 수 있다. 이것에 의해 하나의 세트의 커맨드를 가질 수 있는 하나의 디바이스의 또 다른 디바이스로의 용이한 대체가 가능한데, 이러한 또 다른 디바이스는 동일하거나 유사한 기능을 실행하지만 자체 유일한 세트의 커맨드 또는 적어도 일부 그러한 커맨드를 갖고 있다. 예를 들어, 논-스탠더드 세트의 커맨드 또는 적어도 일부 논-스탠더드 커맨드를 갖는 상이한 제조자로부터의 다양한 상이한 재료 핸들링 로봇이 컨트롤러 및 재료 처리 시스템에 대한 대체물로 만들어질 수 있다. 또 다른 예로서, 추가되거었거나 상이한 모듈을 가져서 상이한 커맨드를 가질 수 있는 새로운 모델 레이저로 대체될 수 있다. 또한, 디바이스 사이에, 일부 특성은 공통일 수 있지만 많은 특성은 주어진 디바이스에 고유할 수 있고, 데이터베이스 조직은 디바이스의 추가 또는 대체를 단순화하는, 상이한 디폴트 동작을 갖지만 동일한 기능을 갖는 도 다른 디바이스로 하나의 디바이스를 대체할 수 있도록 한다.
디바이스 변수는 예를 들어, 다음과 같은 테이블의 리스트의 일부로서, PostgreSQL로 테이블내에 포함될 수 있다:
Figure 112008087943834-PCT00001
그리고, 디바이스 변수는 다음과 같은 테이블을 포함할 수 있다.
Figure 112008087943834-PCT00002
변수는 또한 예를 들어, 동기화 스레드를 사용하여 디바이스에 걸쳐 결합될 수 있다. 각 디바이스는 자체 데이터 수집 스레드를 가질 수 있지만 동기화 스레드를 사용함으로써 예를 들어, 데이터의 상호 상관(cross-correlation)이 가능하다.
데이터는 디바이스 id, 타임스탬프, 상태 네임, 상태 값 및 상태 uom의 리스팅을 포함할 수 있는 예를 들어, 상태 로그, 예를 들어, das_status_log를 형성하는 특정 테이블을 선택함으로써 선택될 수 있다. 선택된 스타트 타임 타임스탬프와 정지 타임스탬프 사이의 상태 로그를 포함하고, 특정 디바이스 id 및 선택된 스타트 및 정지 타임스탬프를 이용하는 테이블이 생성될 수 있다. 결국, 테이블은 선택된 값 사이의 타임 스탬프와 함게 stage_CX, stage_CY 및 stage_CZ와 같은 선택된 변수에 대한 기록된 상태 값을 보여주는 GUI에 표시되거나 인쇄될 수 있다. 데이터는 예를 들어, 레이저 출력 에너지에 대한 타임의 차트의 형태로 GUI에 표시될 수 있다. 디바이스 및 타임스탬프에 의해 분할될 수 있는 정규화된 포맷으로 데이터를 이용함으로써 상대적으로 고정된 세트의 애트리뷰트 및 높은 데이터율을 제공할 수 있다. 데이터는 예를 들어, 레이저 숏 당 하나의 레코드의 비율로 스트리밍될 수 있고, 예를 들어, 유일한 숏 카운트 넘버로 태그되어서 디바이스에 걸친 데이터는 숏 카운트 넘버를 동기화함으로써 얻어진다.
상술된 본 발명의 실시예의 특징은 바람직한 실시예일 뿐 본 발명을 특정 바람직한 실시예로 제한하려는 것이 아니라는 것을 당업자는 이해할 수 있다. 당업자가 이해할 수 있는 많은 변경 및 수정이 본 발명의 실시예의 특징에 만들어질 수 있다. 첨부된 청구범위는 본 발명의 실시예의 개시된 실시예만 덮는 것이 아니라 당업자에게 이해될 수 있는 다른 수정 및 변경 및 동등물을 포함하도록 의도되었다. 상술된 본 발명의 개시되고 청구된 특징에 대한 변경 및 수정에 더하여 다른 것들도 구현될 수도 있다.
35 U.S.C. §112를 충족시키기 위해 필요한 본원에 개시되고 설명된 "전력 레이저 평판 제품 처리 시스템 컨트롤러"의 실시예의 특정 특징이 상술된 일실시예의 특징의 목적을 위한 임의의 다른 이유에 의해 또는 해결하고자 하는 문제로 인해 상술된 목적을 완전히 얻을 수 있지만, 본 밞여의 개시된 실시예의 현재 설명된 특징이 단지 예시일 뿐이라는 것을 당업자는 이해할 것이다. 현재 설명되고 청구된 범위의 실시예의 범위는 명세서에 기초하여 당업자에게 명백할 수 있는 다른 실시예를 온전히 포함한다. 현 "고전력 레이저 평판 제품 처리 시스템 컨트롤러"의 범위는 첨부된 청구범위에 의해서만 제한된다. 이러한 청구범위내의 엘리먼트에 대한 단수 언급은 따로 명백해 언급하지 않는한 "오직 하나"만을 의미하는 것이 아니고 "하나 이상"을 의미한다. 당업자에게 공지되거나 나중에 공지될 실시예의 엘리먼트중 어느 하나에 대한 모든 구조적 및 기능적 동등물은 여기에 언급되어 통합되어 있고 현 청구범위에 의해 포함되도록 의도되었다. 청구범위 및/또는 명세서에서 사용되고 본원의 명세서 및/또는 청구범위에 명백히 의미가 주어진 임의의 용어는 이러한 용어에 대해 널리 알려진 의미 또는 임의의 사전에 관계없이 그 주어진 의미를 가질 수 있다. 본원의 일실시예의 임의의 특징으로서 명세서에서 설명된 디바이스 또는 방법이 본원에 개시된 실시예의 특징에 의해 해결될 모든 문제를 언급한 것으로 의도되거나 꼭 필요한 것은 아닌데, 그 이유는 이러한 모든 문제는 본 청구범위에 의해 포함되기 때문이다. 본원내의 어떤 엘리먼트, 컴포넌트 또는 방법 단계도 그 엘리먼트, 컴포넌트 또는 방법 단계가 청구범위에 명확히 기재된 것과 관계없이 공개되도록 의도된 것은 아니다. 첨부된 청구범위내의 아무런 청구 범위 엘리먼트도 이러한 엘리먼트가 "수단"을 사용하여 명백하게 기재되어 있지 않은 경우에 35 U.S.C. §112의 조항하에 구성되는 것은 아니다.
미국 특허법의 충족을 위해 발명자가 본원에 각 첨부된 청구범위에 기재된 각 발명의 적어도 하나의 실시예를 개시하였음을 당업자는 이해할 수 있다. 본원 길이를 줄이고 본 발명의 용이한 이해를 위해 발명자는 발명자는 때로 한정 동사(예를 들어, "이다", "하다", "갖다", "포함하다"등) 및/또는 다른 한정 동사(예를 들어, "생성한다", "유발하다", "샘플링하다", "읽다", "신호를 주다"등) 또는 임의의 동명사(예를 들어, "사용하여", "취하여", "유지하여", "만들어"등)을 사용하여 본 발명의 일실시예의 특징/엘리먼트, 기능 또는 동작 및/또는 임의의 다른 특징을 한정하였다. 이러한 임의의 한정 단어 또는 숙어등, 즉, 임의의 특징, 엘리먼트, 시스템, 서브시스템, 컴포넌트, 서브컴포넌트, 프로세스 또는 알고리즘 단계, 특정 재료등이 여기에 개시된 하나 이상의 실시예중 하나의 특징을 설명하기 위해 사용될 때마다, 본 발명의 범위를 해석할 목적으로 읽을 수 있고, 다음의 한정하는 숙어 하나 이상 또는 모두, 즉 "예를 들어", "일예로서", "단지 예시로"등에 의해 및/또는 "일 수 있는", "일 수도 있는"등의 하나 이상 또는 모두에 의해 본 발명이 청구될 수 있다. 이러한 특징, 엘리먼트, 스텝, 재료등은 하나 이상의 실시예의 가능한 특징으로서만 기술되었고 임의의 실시예의 임의의 특징 또는 하나 이상의 실시예의 하나의 가능한 실시예로서 기술된 것은 아니다. 본 발명이 그렇게 특별히 명확하게 기술되지 않았다면 발명자는 개시된 실시예의 특정 특징은 단지 청구범위내의 임의의 특징 또는 엘리먼트를 구현하는 위한 유일한 방법이라고 생각한다. 발명자는 청구범위의 임의의 보다 상세한 특징, 엘리먼트, 스텝, 특징등을 갖는 종속항에 있어서, 그 인용되는 청구항이 다른 구현예를 따른 보다 상세한 사항을 포함하도록 충분히 범위가 넓고 이러한 보다 상세한 사항이 그 인용되는 청구항내의 특징, 또는 엘리먼트를 구현하는 유일한 방법이 아니고, 따라서, 임의의 종속항내의 특징 또는 엘리먼트가 종속항내의 보다 상세한 사항만을 포함하도록 임의의 그러한 인용되는 청구항의 특징 또는 엘리먼트를 제한하도록 각 인용되는 청구항내로 읽히지 않도록 의도하였다.

Claims (128)

  1. 펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치로서,
    펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원;
    레이저 컨트롤러;
    워크 스테이지 컨트롤러; 및
    고객 리사이프 컨트롤 커맨드 발생기로부터 프로세스 리사이프 컨트롤 디맨드를 수신하고 상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러에 컨트롤 신호를 제공하는 시스템 컨트롤러;를 포함하고,
    상기 시스템 컨트롤러는 외부 프로세스 유저 인터페이스를 통해 사용자에 의해 선택가능한 제너릭 프로세스 커맨드 스텝을 담고 있는 데이터베이스를 포함하는 데이터베이스 구동 프로세스 컨트롤러를 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  2. 제1항에 있어서, 사용자에 대한 프로세스 컨트롤 커스터마이제이션을 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  3. 제1항에 있어서, 외부 프로세스 유저 인터페이스를 통해 선택된 프로세스 커맨드 스텝을 각각의 제너릭 스크립트로 전환하는 인터프리터를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  4. 제2항에 있어서, 외부 프로세스 유저 인터페이스를 통해 선택된 프로세스 커맨드 스텝을 각각의 제너릭 스크립트로 전환하는 인터프리터를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  5. 제1항에 있어서, OEM 데이터베이스에 저장된 태스크에 기초하여 OEM 데이터베이스로부터 사용자에 의해 선택가능한 프로세스 커맨드 스텝을 사용자에게 식별하는 워크 플로 엔진을 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  6. 제2항에 있어서, OEM 데이터베이스에 저장된 태스크에 기초하여 OEM 데이터베이스로부터 사용자에 의해 선택가능한 프로세스 커맨드 스텝을 사용자에게 식별하는 워크 플로 엔진을 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  7. 제3항에 있어서, OEM 데이터베이스에 저장된 태스크에 기초하여 OEM 데이터 베이스로부터 사용자에 의해 선택가능한 프로세스 커맨드 스텝을 사용자에게 식별하는 워크 플로 엔진을 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  8. 제4항에 있어서, OEM 데이터베이스에 저장된 태스크에 기초하여 OEM 데이터베이스로부터 사용자에 의해 선택가능한 프로세스 커맨드 스텝을 사용자에게 식별하는 워크 플로 엔진을 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  9. 제1항에 있어서,
    상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및
    사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서버에 전송하는 GUI 클라이언트;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  10. 제2항에 있어서,
    상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및
    사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서 버에 전송하는 GUI 클라이언트;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  11. 제3항에 있어서,
    상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및
    사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서버에 전송하는 GUI 클라이언트;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  12. 제4항에 있어서,
    상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및
    사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서버에 전송하는 GUI 클라이언트;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  13. 제5항에 있어서,
    상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및
    사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서버에 전송하는 GUI 클라이언트;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  14. 제6항에 있어서,
    상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및
    사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서버에 전송하는 GUI 클라이언트;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  15. 제7항에 있어서,
    상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및
    사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서버에 전송하는 GUI 클라이언트;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  16. 제8항에 있어서,
    상기 레이저 컨트롤러 및 상기 워크 스테이지 컨트롤러를 포함하는 그룹으로 부터 디바이스의 컨트롤러로 커맨드를 실행하는 프로세스 서버; 및
    사용자로부터 리사이프 정의를 입력하고 사용자 커맨드를 상기 프로세스 서버에 전송하는 GUI 클라이언트;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  17. 제9항에 있어서,
    레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  18. 제10항에 있어서,
    레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  19. 제11항에 있어서,
    레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  20. 제12항에 있어서,
    레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  21. 제13항에 있어서,
    레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  22. 제14항에 있어서,
    레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  23. 제15항에 있어서,
    레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  24. 제16항에 있어서,
    레이저 및 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스의 상태 및/또는 펄싱된 DUV 제품 처리 장치의 결정화 프로세스의 상태를 표시하는 디스플레이를 포함하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  25. 제17항에 있어서, 인터페이스를 통해 제조 실행 시스템과 통신하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  26. 제18항에 있어서, 인터페이스를 통해 제조 실행 시스템과 통신하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  27. 제19항에 있어서, 인터페이스를 통해 제조 실행 시스템과 통신하는 GUI 클라 이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  28. 제20항에 있어서, 인터페이스를 통해 제조 실행 시스템과 통신하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  29. 제21항에 있어서, 인터페이스를 통해 제조 실행 시스템과 통신하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  30. 제22항에 있어서, 인터페이스를 통해 제조 실행 시스템과 통신하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  31. 제23항에 있어서, 인터페이스를 통해 제조 실행 시스템과 통신하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  32. 제24항에 있어서, 인터페이스를 통해 제조 실행 시스템과 통신하는 GUI 클라이언트를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  33. 제25항에 있어서,
    OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터베이스; 및
    사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  34. 제26항에 있어서,
    OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터베이스; 및
    사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  35. 제27항에 있어서,
    OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터베이스; 및
    사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  36. 제28항에 있어서,
    OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터 베이스; 및
    사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  37. 제29항에 있어서,
    OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터베이스; 및
    사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  38. 제30항에 있어서,
    OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터베이스; 및
    사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  39. 제31항에 있어서,
    OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터베이스; 및
    사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  40. 제32항에 있어서,
    OEM에 의해 공급된 읽기 전용 태스크 정의를 포함하는 OEM 읽기 전용 데이터베이스; 및
    사용자에 의해 제공된 리사이프 정의를 포함하는 마스터 시스템 컨트롤러 읽기-기록 데이터베이스;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  41. 제33항에 있어서,
    프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및
    MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프린터;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  42. 제34항에 있어서,
    프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및
    MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프린터;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  43. 제35항에 있어서,
    프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및
    MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프린터;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  44. 제36항에 있어서,
    프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및
    MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프린터;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  45. 제37항에 있어서,
    프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및
    MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프린터;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  46. 제38항에 있어서,
    프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및
    MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프린터;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  47. 제39항에 있어서,
    프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및
    MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프린터;를 더 포함하는 것을 특 징으로 하는 펄싱된 DUV 제품 처리 장치.
  48. 제40항에 있어서,
    프로세스 컨트롤 동안 프로세스 서버에 의해 사용가능한 스크립트 또는 매크로의 폼에 제너릭 태스크 정의를 포함하는 OEM 데이터베이스; 및
    MSC 데이터베이스에 저장된 사용자 입력 파라미터를 상기 OEM 데이터베이스로부터의 제너릭 커맨드와 조합시키는 커맨드 인터프린터;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  49. 제41항에 있어서, 상기 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  50. 제42항에 있어서, 상기 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  51. 제43항에 있어서, 상기 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  52. 제44항에 있어서, 상기 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  53. 제45항에 있어서, 상기 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  54. 제46항에 있어서, 상기 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  55. 제47항에 있어서, 상기 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  56. 제48항에 있어서, 상기 사용자 입력 파라미터는 MSC 데이터베이스에 사전 저장되어 있고 상기 제너릭 커맨드는 OEM 데이터베이스내의 스크립트에 포함되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  57. 제41항에 있어서, 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및
    상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  58. 제42항에 있어서, 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및
    상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  59. 제43항에 있어서, 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및
    상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  60. 제44항에 있어서, 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루 프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및
    상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  61. 제45항에 있어서, 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및
    상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  62. 제46항에 있어서, 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및
    상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  63. 제47항에 있어서, 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및
    상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라 이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  64. 제48항에 있어서, 프로세스 서버와 통신하고, 각각 메시지 큐 및 메시지 루프를 포함하는 복수의 프로세스 컨트롤 서브시스템; 및
    상기 복수의 프로세스 컨트롤 서브시스템의 각각에 대한 액세스를 시리얼라이징하는 각 메시지 큐 및 메시지 루프와 연관된 메시지 펌프;를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  65. 제49항에 있어서,
    상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀지 컨버터를 이용하는 디바이스 인터페이스를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  66. 제50항에 있어서,
    상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀 지 컨버터를 이용하는 디바이스 인터페이스를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  67. 제51항에 있어서,
    상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀지 컨버터를 이용하는 디바이스 인터페이스를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  68. 제52항에 있어서,
    상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀지 컨버터를 이용하는 디바이스 인터페이스를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  69. 제53항에 있어서,
    상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴 트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀지 컨버터를 이용하는 디바이스 인터페이스를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  70. 제54항에 있어서,
    상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀지 컨버터를 이용하는 디바이스 인터페이스를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  71. 제55항에 있어서,
    상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀지 컨버터를 이용하는 디바이스 인터페이스를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  72. 제56항에 있어서,
    상기 레이저 및 상기 워크 스테이지를 포함하는 그룹으로부터 적어도 하나의 디바이스와 통신 상태에 있고, 이러한 통신을 커맨드 인터프리터에서 이용되는 뉴트럴 랭귀지 포맷으로부터 디바이스 특정 디바이스 랭귀지 포맷으로 전환하는 랭귀지 컨버터를 이용하는 디바이스 인터페이스를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  73. 펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치로서,
    펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원;
    레이저 컨트롤러;
    워크 스테이지 컨트롤러; 및
    태스크를 단일 스레드 또는 다수의 논-리엔트런트 스레드로서 코딩하기 위해 별개의 각 프로세스에서 각 태스크를 실시하는 시스템 컨트롤러;를 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  74. 제73항에 있어서, 상기 각 태스크는 단일 스레드로서 단일 프로세스내의 각 스레드에서 각각 실시되는 코어 태스크를 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  75. 제73항에 있어서, 각각의 스레드는 각 태스크로의 액세스를 시퀀셜 및 논블록킹으로 하는 각 메시지 펌프를 갖는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  76. 제74항에 있어서, 각각의 스레드는 각 태스크로의 액세스를 시퀀셜 및 논블록킹으로 하는 각 메시지 펌프를 갖는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  77. 제75항에 있어서, 상기 메시지 펌프는 메시지 큐 및 메시지 루프를 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  78. 제73항에 있어서, 에러를 처리하는 시스템 프로세서를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  79. 제74항에 있어서, 에러를 처리하는 시스템 프로세서를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  80. 제75항에 있어서, 에러를 처리하는 시스템 프로세서를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  81. 제76항에 있어서, 에러를 처리하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  82. 제77항에 있어서, 에러를 처리하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  83. 제78항에 있어서, 상기 시스템 프로세서 메시지는 메시지 펌프를 사용하여 처리되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  84. 제79항에 있어서, 상기 시스템 프로세서 메시지는 메시지 펌프를 사용하여 처리되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  85. 제80항에 있어서, 상기 시스템 프로세서 메시지는 메시지 펌프를 사용하여 처리되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  86. 제81항에 있어서, 상기 시스템 프로세서 메시지는 메시지 펌프를 사용하여 처리되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  87. 제82항에 있어서, 상기 시스템 프로세서 메시지는 메시지 펌프를 사용하여 처리되는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  88. 펄싱된 DUV 제품 위의 재료의 결정화를 위해, 워크 스테이지 위에 탑재된 상기 펄싱된 DUV 제품에 조사하기 위해 광을 전달하는 펄싱된 DUV 제품 처리 장치로서,
    펄스 대 펄스에 기초하여 각 선택된 좁은 범위의 값 내에 유지되도록 요구되는 파라미터의 세트를 갖는 광 펄스의 초협폭 초장 빔을 생성하는 광 트레인 및 펄싱된 레이저 DUV 광원;
    레이저 컨트롤러;
    워크 스테이지 컨트롤러; 및
    하나가 복수의 프로세스 디바이스의 각각으로의 디바이스 인터페이스를 포함하는 적어도 2개의 별개로 기능하는 스레드를 이용하는 시스템 디바이스 매니저에 의해 컨트롤되는 복수의 프로세스 디바이스;를 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  89. 제88항에 있어서, 상기 복수의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각 모두와 연관된 컨트롤 스레드 및 상기 복수의 프로세스 디바이스의 각각 모두와 연관된 진단 스레드를 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  90. 제88항에 있어서, 각 별개로 기능하는 스레드는 별개의 통신 채널을 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  91. 제89항에 있어서, 각 별개로 기능하는 스레드는 별개의 통신 채널을 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  92. 제88항에 있어서, 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  93. 제89항에 있어서, 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  94. 제90항에 있어서, 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  95. 제91항에 있어서, 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장 치.
  96. 제92항에 있어서, 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  97. 제93항에 있어서, 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  98. 제94항에 있어서, 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  99. 제95항에 있어서, 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  100. 제9항에 있어서, 상기 GUI 클라이언트는 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  101. 제10항에 있어서, 상기 GUI 클라이언트는 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 것 을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  102. 제11항에 있어서, 상기 GUI 클라이언트는 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  103. 제12항에 있어서, 상기 GUI 클라이언트는 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  104. 제13항에 있어서, 상기 GUI 클라이언트는 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  105. 제14항에 있어서, 상기 GUI 클라이언트는 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  106. 제15항에 있어서, 상기 GUI 클라이언트는 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 것 을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  107. 제16항에 있어서, 상기 GUI 클라이언트는 상기 프로세스 서버에 유저 커맨드를 전송하기 전에 MSC 데이터베이스에 리사이프 정의를 파라미터로서 저장하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  108. 제57항에 있어서, 메시지 큐 및 메시지 루프를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  109. 제58항에 있어서, 메시지 큐 및 메시지 루프를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  110. 제59항에 있어서, 메시지 큐 및 메시지 루프를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  111. 제60항에 있어서, 메시지 큐 및 메시지 루프를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  112. 제61항에 있어서, 메시지 큐 및 메시지 루프를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  113. 제62항에 있어서, 메시지 큐 및 메시지 루프를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  114. 제63항에 있어서, 메시지 큐 및 메시지 루프를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  115. 제64항에 있어서, 메시지 큐 및 메시지 루프를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  116. 제88항에 있어서, 상기 적어도 2개의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각으로의 별개의 디바이스 인터페이스로서 하나 이상의 별개로 기능하는 스레드를 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  117. 제116항에 있어서, 상기 적어도 2개의 별개로 기능하는 스레드는 상기 복수의 프로세스 디바이스의 각각으로의 별개의 디바이스 인터페이스로서 하나 이상의 별개로 기능하는 스레드를 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  118. 제116항에 있어서, 상기 별개로 기능하는 스레드의 각각은 별개의 통신 채널 을 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  119. 제117항에 있어서, 상기 별개로 기능하는 스레드의 각각은 별개의 통신 채널을 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  120. 제116항에 있어서, 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  121. 제117항에 있어서, 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  122. 제118항에 있어서, 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  123. 제119항에 있어서, 디바이스 타입과 관계없이 제너릭 디바이스 커맨드를 이용하는 시스템 컨트롤러를 더 포함하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  124. 제120항에 있어서, 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  125. 제121항에 있어서, 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  126. 제122항에 있어서, 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
  127. 데이터베이스 구동 프로세스 서버를 포함하는 장치.
  128. 제123항에 있어서, 상기 제너릭 디바이스 커맨드는 고레벨 액션에 상응하는 것을 특징으로 하는 펄싱된 DUV 제품 처리 장치.
KR1020087031153A 2006-06-02 2007-05-31 고전력 레이저 평판 제품 처리 시스템 컨트롤러 KR101365000B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US81052706P 2006-06-02 2006-06-02
US60/810,527 2006-06-02
US11/805,199 2007-05-21
US11/805,199 US7848835B2 (en) 2006-06-02 2007-05-21 High power laser flat panel workpiece treatment system controller
PCT/US2007/013042 WO2007143151A2 (en) 2006-06-02 2007-05-31 High power laser flat panel workpiece treatment

Publications (2)

Publication Number Publication Date
KR20090019855A true KR20090019855A (ko) 2009-02-25
KR101365000B1 KR101365000B1 (ko) 2014-02-20

Family

ID=38802105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087031153A KR101365000B1 (ko) 2006-06-02 2007-05-31 고전력 레이저 평판 제품 처리 시스템 컨트롤러

Country Status (6)

Country Link
US (1) US7848835B2 (ko)
EP (1) EP2030293A4 (ko)
JP (1) JP5220732B2 (ko)
KR (1) KR101365000B1 (ko)
TW (1) TWI364702B (ko)
WO (1) WO2007143151A2 (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008085207A2 (en) * 2006-12-29 2008-07-17 Prodea Systems, Inc. Multi-services application gateway
US20080294282A1 (en) * 2007-05-24 2008-11-27 Applied Materials, Inc. Use of logical lots in semiconductor substrate processing
US8173931B2 (en) * 2008-06-13 2012-05-08 Electro Scientific Industries, Inc. Automatic recipe management for laser processing a work piece
US8108061B2 (en) * 2009-04-06 2012-01-31 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for detecting part abnormality in a manufacturing assembly line
US8332917B2 (en) 2009-12-29 2012-12-11 International Business Machines Corporation Providing secure dynamic role selection and managing privileged user access from a client device
FR2954840B1 (fr) * 2009-12-30 2012-01-27 Thales Sa Dispositif de gestion centralisee de taches a realiser par un equipage d'un aeronef
US8386602B2 (en) 2010-11-02 2013-02-26 International Business Machines Corporation Relevant alert delivery in a distributed processing system
US8364813B2 (en) 2010-11-02 2013-01-29 International Business Machines Corporation Administering incident pools for event and alert analysis
US8621277B2 (en) 2010-12-06 2013-12-31 International Business Machines Corporation Dynamic administration of component event reporting in a distributed processing system
US8737231B2 (en) 2010-12-07 2014-05-27 International Business Machines Corporation Dynamic administration of event pools for relevant event and alert analysis during event storms
CN102064466A (zh) * 2010-12-07 2011-05-18 深圳市大族激光科技股份有限公司 一种大功率激光电源控制系统与方法技术领域
US8868984B2 (en) 2010-12-07 2014-10-21 International Business Machines Corporation Relevant alert delivery in a distributed processing system with event listeners and alert listeners
US8805999B2 (en) 2010-12-07 2014-08-12 International Business Machines Corporation Administering event reporting rules in a distributed processing system
US8756462B2 (en) 2011-05-24 2014-06-17 International Business Machines Corporation Configurable alert delivery for reducing the amount of alerts transmitted in a distributed processing system
US8645757B2 (en) 2011-05-26 2014-02-04 International Business Machines Corporation Administering incident pools for event and alert analysis
US9213621B2 (en) 2011-05-27 2015-12-15 International Business Machines Corporation Administering event pools for relevant event analysis in a distributed processing system
US8676883B2 (en) 2011-05-27 2014-03-18 International Business Machines Corporation Event management in a distributed processing system
US8713366B2 (en) * 2011-06-22 2014-04-29 International Business Machines Corporation Restarting event and alert analysis after a shutdown in a distributed processing system
US8880943B2 (en) * 2011-06-22 2014-11-04 International Business Machines Corporation Restarting event and alert analysis after a shutdown in a distributed processing system
US8392385B2 (en) 2011-06-22 2013-03-05 International Business Machines Corporation Flexible event data content management for relevant event and alert analysis within a distributed processing system
US9419650B2 (en) 2011-06-22 2016-08-16 International Business Machines Corporation Flexible event data content management for relevant event and alert analysis within a distributed processing system
US9547575B2 (en) * 2011-08-30 2017-01-17 Amazon Technologies, Inc. Managing host computing devices
JP5895420B2 (ja) * 2011-09-21 2016-03-30 セイコーエプソン株式会社 ロボット制御装置、及びロボットシステム
US9178936B2 (en) 2011-10-18 2015-11-03 International Business Machines Corporation Selected alert delivery in a distributed processing system
US20130097215A1 (en) 2011-10-18 2013-04-18 International Business Machines Corporation Selected Alert Delivery In A Distributed Processing System
US8887175B2 (en) 2011-10-18 2014-11-11 International Business Machines Corporation Administering incident pools for event and alert analysis
US20130097272A1 (en) 2011-10-18 2013-04-18 International Business Machines Corporation Prioritized Alert Delivery In A Distributed Processing System
US8713581B2 (en) 2011-10-27 2014-04-29 International Business Machines Corporation Selected alert delivery in a distributed processing system
US9047292B2 (en) * 2012-03-07 2015-06-02 General Electric Company Systems and methods for application reuse
US8954811B2 (en) 2012-08-06 2015-02-10 International Business Machines Corporation Administering incident pools for incident analysis
US8943366B2 (en) 2012-08-09 2015-01-27 International Business Machines Corporation Administering checkpoints for incident analysis
US9532463B2 (en) * 2012-10-19 2016-12-27 The Boeing Company Methods and apparatus for reducing the occurrence of metal whiskers
US8990205B2 (en) * 2013-01-28 2015-03-24 International Business Machines Corporation Data caveats for database tables
JP6169365B2 (ja) * 2013-02-07 2017-07-26 株式会社日立国際電気 半導体装置の製造方法及び基板処理装置
US9361184B2 (en) 2013-05-09 2016-06-07 International Business Machines Corporation Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system
US9170860B2 (en) 2013-07-26 2015-10-27 International Business Machines Corporation Parallel incident processing
JP5939213B2 (ja) * 2013-08-09 2016-06-22 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP5850004B2 (ja) * 2013-08-09 2016-02-03 株式会社安川電機 ロボット制御装置及びロボット制御方法
US9658902B2 (en) 2013-08-22 2017-05-23 Globalfoundries Inc. Adaptive clock throttling for event processing
US9256482B2 (en) 2013-08-23 2016-02-09 International Business Machines Corporation Determining whether to send an alert in a distributed processing system
US9602337B2 (en) 2013-09-11 2017-03-21 International Business Machines Corporation Event and alert analysis in a distributed processing system
US9086968B2 (en) 2013-09-11 2015-07-21 International Business Machines Corporation Checkpointing for delayed alert creation
US9798750B2 (en) 2013-10-14 2017-10-24 Schneider Electric Software, Llc Parameter download verification in industrial control system
US9389943B2 (en) 2014-01-07 2016-07-12 International Business Machines Corporation Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system
EP2977895A1 (en) * 2014-07-23 2016-01-27 Siemens Aktiengesellschaft Managing data in a manufacturing execution system
EP3227789A4 (en) * 2014-12-04 2018-07-25 Hewlett-Packard Development Company, L.P. Access to network-based storage resource based on hardware identifier
CN104683586A (zh) * 2015-03-09 2015-06-03 深圳酷派技术有限公司 一种信息显示的方法及终端
US9961034B2 (en) * 2015-06-01 2018-05-01 International Business Machines Corporation Prioritization of lock allocation
CN107918362B (zh) * 2016-10-08 2020-06-26 佛山市顺德区美的电热电器制造有限公司 家电设备控制方法、装置及系统
USD927529S1 (en) * 2019-01-11 2021-08-10 Apple Inc. Electronic device with pair of display screens or portions thereof each with graphical user interface
USD943624S1 (en) 2016-10-27 2022-02-15 Apple Inc. Electronic device with pair of display screens or portions thereof each with animated graphical user interface
US10536505B2 (en) * 2017-04-30 2020-01-14 Cisco Technology, Inc. Intelligent data transmission by network device agent
WO2019036310A1 (en) * 2017-08-12 2019-02-21 Fulcrum 103, Ltd. METHOD AND APPARATUS FOR CONVERTING AND DISPLAYING DATA
US10783290B2 (en) 2017-09-28 2020-09-22 Taiwan Semiconductor Manufacturing Company, Ltd. IC manufacturing recipe similarity evaluation methods and systems
CN108227636B (zh) * 2018-01-17 2020-01-17 厦门理工学院 基于云端负载均衡控制的激光雕刻机工作系统及方法
CN113127164B (zh) * 2020-01-15 2024-03-26 伊姆西Ip控股有限责任公司 管理应用节点中的任务的方法、设备和计算机程序产品
US11711344B2 (en) 2020-04-30 2023-07-25 Forcepoint Llc System and method for creating buffered firewall logs for reporting
CN115735306A (zh) * 2020-06-24 2023-03-03 西默有限公司 用于光源的控制装置
CN113411568B (zh) * 2021-06-10 2022-06-14 浙江大华技术股份有限公司 电机的失步检测方法及装置、存储介质、电子装置
DE102021123783A1 (de) 2021-09-14 2023-03-16 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren zum Überprüfen eines Laserbearbeitungsvorgangs und zugehörige Laserbearbeitungsmaschine

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2820189B2 (ja) * 1993-07-15 1998-11-05 三菱電機株式会社 数値制御装置の制御ソフトウェア実行システム
JPH1092722A (ja) * 1996-09-18 1998-04-10 Nikon Corp 露光装置
KR100297995B1 (ko) 1998-02-23 2001-09-26 니시무로 타이죠 컬러수상관
AU5079199A (en) * 1998-05-20 1999-12-06 Cymer, Inc. Reliable modular production quality narrow-band high rep rate arf excimer laser
JP2002231628A (ja) * 2001-02-01 2002-08-16 Sony Corp 半導体薄膜の形成方法及び半導体装置の製造方法、これらの方法の実施に使用する装置、並びに電気光学装置
JPWO2002065597A1 (ja) * 2001-02-14 2004-06-17 株式会社ニコン 光源装置及び光照射装置、並びにデバイス製造方法
US6841033B2 (en) * 2001-03-21 2005-01-11 Nordson Corporation Material handling system and method for a multi-workpiece plasma treatment system
US7039086B2 (en) * 2001-04-09 2006-05-02 Cymer, Inc. Control system for a two chamber gas discharge laser
US7061959B2 (en) 2001-04-18 2006-06-13 Tcz Gmbh Laser thin film poly-silicon annealing system
US7167499B2 (en) 2001-04-18 2007-01-23 Tcz Pte. Ltd. Very high energy, high stability gas discharge laser surface treatment system
US7009140B2 (en) * 2001-04-18 2006-03-07 Cymer, Inc. Laser thin film poly-silicon annealing optical system
US20050259709A1 (en) * 2002-05-07 2005-11-24 Cymer, Inc. Systems and methods for implementing an interaction between a laser shaped as a line beam and a film deposited on a substrate
US7277188B2 (en) 2003-04-29 2007-10-02 Cymer, Inc. Systems and methods for implementing an interaction between a laser shaped as a line beam and a film deposited on a substrate
US7522650B2 (en) 2004-03-31 2009-04-21 Cymer, Inc. Gas discharge laser chamber improvements
JP4664630B2 (ja) * 2004-07-22 2011-04-06 株式会社東芝 半導体装置の製造装置に対する自動レシピ作成装置及び作成方法
US7193295B2 (en) * 2004-08-20 2007-03-20 Semitool, Inc. Process and apparatus for thinning a semiconductor workpiece
JP2006115236A (ja) * 2004-10-14 2006-04-27 Matsushita Electric Ind Co Ltd 基地局装置

Also Published As

Publication number Publication date
US7848835B2 (en) 2010-12-07
WO2007143151A3 (en) 2008-10-16
KR101365000B1 (ko) 2014-02-20
JP5220732B2 (ja) 2013-06-26
EP2030293A2 (en) 2009-03-04
TWI364702B (en) 2012-05-21
EP2030293A4 (en) 2017-08-09
WO2007143151A2 (en) 2007-12-13
JP2009540540A (ja) 2009-11-19
US20080071403A1 (en) 2008-03-20
TW200816042A (en) 2008-04-01

Similar Documents

Publication Publication Date Title
KR101365000B1 (ko) 고전력 레이저 평판 제품 처리 시스템 컨트롤러
JP6550623B2 (ja) リソグラフィ機のクラスタのためのネットワークアーキテクチャおよびプロトコル
TW201206687A (en) Imprinting method and imprinting apparatus, sample shot extraction method, and article manufacturing method using same
JP2010171276A (ja) 塗布、現像装置
US20210271430A1 (en) Managing the configurations of printing devices
FR2793916A1 (fr) Systeme et procede de gestion automatique d&#39;unites de production de semiconducteurs
CN104685988A (zh) 图像处理数据修正装置及图像处理数据修正方法
US20060271223A1 (en) Method and system for integrating equipment integration software, equipment events, mes and rules databases
CN1502066A (zh) 集成多工艺控制器的方法和装置
KR20180043174A (ko) 반도체 시스템 및 데이터 편집 지원 방법
US6678566B2 (en) Backup control system (BCS) for optimizing utilization of multiple fabrication facilities
JP2002246307A (ja) 露光装置及び露光方法
JP2003086481A (ja) 基板処理装置のスケジュール作成方法及びそのプログラム
JP2012163352A (ja) X線被爆量管理システム
JP4191399B2 (ja) 基板処理装置管理システム
JP2022158240A (ja) 管理装置、管理方法、およびプログラム
US20100266968A1 (en) Exposure apparatus, device manufacturing system, and method of manufacturing device
CN112020675B (zh) 基板处理期间剂量图及特征尺寸图的制作及使用
US20030105541A1 (en) System and method for managing work in process (WIP) handling instructions
WO2022104473A1 (en) Method and system for image processing using a vision pipeline
Matsumoto et al. LabVIEW interface for MADOCA II with key-value stores in messages
Dietze Improvement opportunities for the open source software development approach and how to utilize them
JP2000306823A (ja) 露光装置システム、露光装置、半導体製造装置および半導体製造方法
JP2006129148A (ja) 通信設定方法、表示方法、表示プログラム、表示システム、並びにデバイス製造方法及び製造システム
TW202338485A (zh) 數位微影術中用於裸晶位置改正的封裝成像

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180202

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 6