KR20210140899A - 끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법 - Google Patents

끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법 Download PDF

Info

Publication number
KR20210140899A
KR20210140899A KR1020200057620A KR20200057620A KR20210140899A KR 20210140899 A KR20210140899 A KR 20210140899A KR 1020200057620 A KR1020200057620 A KR 1020200057620A KR 20200057620 A KR20200057620 A KR 20200057620A KR 20210140899 A KR20210140899 A KR 20210140899A
Authority
KR
South Korea
Prior art keywords
process module
slave
master controller
controllers
controller
Prior art date
Application number
KR1020200057620A
Other languages
English (en)
Inventor
임상용
Original Assignee
세메스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세메스 주식회사 filed Critical 세메스 주식회사
Priority to KR1020200057620A priority Critical patent/KR20210140899A/ko
Publication of KR20210140899A publication Critical patent/KR20210140899A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21005Several slave modules connected to same I-O of master, multiplexed by master
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2228Master detects and configures slaves
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2237Selection of master or slave
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2239Reallocate, reschedule execution of controlled functions if one processor fails
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2602Wafer processing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2609Process control

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법에 관한 것으로서, 본 발명의 프로세스 모듈 제어 시스템은, 설비의 공정을 진행하는 프로세스 모듈을 제어하는 마스터 제어기 및 상기 마스터 제어기의 고장 시에 상기 프로세스 모듈에 대한 끊김없는 제어를 수행하기 위한 하나 이상의 슬레이브 제어기를 포함하고, 상기 설비의 공정 중 상기 프로세스 모듈로부터 상기 마스터 제어기 및 하나 이상의 슬레이브 제어기가 상기 설비의 공정에 대한 프로세스 모듈 데이터를 1회 이상 수신하며, 상기 마스터 제어기의 고장 시에, 복수의 슬레이브 제어기가 상기 프로세스 모듈에 연결되어 있는 경우에, 상기 복수의 슬레이브 제어기 중 가장 최근의 데이터의 사이즈가 가장 큰 프로세스 모듈 데이터를 가진 어느 하나의 슬레이브 제어기는 업데이트된 마스터 제어기로 동작하고, 나머지는 업데이트된 슬레이브 제어기로 동작한다,

Description

끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법{System and Method for Fault-tolerant Process Module Control Based on Seamless Control}
본 발명은 프로세스 모듈 제어 시스템 및 방법에 관한 것으로서, 특히, 반도체 분야 등의 프로세스 모듈을 제어하기 위한 복수의 제어기를 이용해 끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법에 관한 것이다.
일반적으로 프로세스 모듈 등의 설비를 제어하는 장치는 고장에 대비하여 복수로 구성되어 사용되기도 한다. 예를 들어, 하나의 제어기 고장으로 다른 제어기가 고장 제어기를 대체할 수 있도록 한다.
그러나, 다른 제어기가 고장 제어기를 대체한다고 하더라도, 교체하는 동안설비가 멈추게 되고 멈추는 시간만큼 고객사의 손실은 커지게 된다. 나아가 소프트웨어의 문제가 있는 경우 적용 소프트웨어를 새로 설치하여 간단히 조치가 이루어질 수도 있지만, 제어기 내의 메모리 장치와 같은 하드웨어의 고장이 발생한 경우에는 단순히 제어기를 교체하여도 빠른 시간에 재가동되지 못하고 고장 당시의 메모리 장치의 데이터에 맞는 설비 상태를 찾기 위하여 일일이 설비 상태와 그에 맞는 데이터를 확인하면서 메모리 장치의 데이터 설정을 복구하는 데 많은 시간이 소요되는 문제점이 있다.
따라서, 본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은, 반도체 분야 등의 프로세스 모듈을 제어하기 위해 복수의 제어기를 이용하되 프로세스 모듈을 제어 중인 제어기의 소프트웨어뿐만아니라 하드웨어장치(예, 메모리장치)의 고장 발생에도 다른 제어기가 연이어 제어를 수행해 끊김없는 제어가 이루어지도록 하기 위한 프로세스 모듈 제어 시스템 및 방법을 제공하는 데 있다.
먼저, 본 발명의 특징을 요약하면, 상기의 목적을 달성하기 위한 본 발명의 일면에 따른 프로세스 모듈 제어 시스템은, 설비의 공정을 진행하는 프로세스 모듈을 제어하는 마스터 제어기; 및 상기 마스터 제어기의 고장 시에 상기 프로세스 모듈에 대한 끊김없는 제어를 수행하기 위한 하나 이상의 슬레이브 제어기를 포함하고, 상기 설비의 공정 중 상기 프로세스 모듈로부터 상기 마스터 제어기 및 하나 이상의 슬레이브 제어기가 상기 설비의 공정에 대한 프로세스 모듈 데이터를 1회 이상 수신하며, 상기 마스터 제어기의 고장 시에, 복수의 슬레이브 제어기가 상기 프로세스 모듈에 연결되어 있는 경우에, 상기 복수의 슬레이브 제어기 중 가장 최근의 데이터의 사이즈가 가장 큰 프로세스 모듈 데이터를 가진 어느 하나의 슬레이브 제어기는 업데이트된 마스터 제어기로 동작하고, 나머지는 업데이트된 슬레이브 제어기로 동작한다.
상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 중 하나가 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 한번도 수신하지 못하며, 다른 모든 슬레이브 제어기로부터 슬레이브 제어기 존재를 공지하는 isSlave 메시지를 수신하지 못하면, 상기 마스터 제어기의 해당 고장에 대하여, 자신이 마스터 제어기로 업데이트하여 동작한다.
상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 각각은 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 수신하면, 자신은 계속하여 슬레이브 제어기로서 자신의 존재를 공지하기 위한 isSlave 메시지를 상기 프로세스 모듈 및 상기 프로세스 모듈에 연결된 다른 모든 제어기에 전송할 수 있다.
그리고, 본 발명의 다른 일면에 따른 프로세스 모듈 제어 방법은, (A) 설비의 공정을 진행하는 프로세스 모듈을 제어하는 마스터 제어기 및 상기 마스터 제어기의 고장 시에 상기 프로세스 모듈에 대한 끊김없는 제어를 수행하기 위한 하나 이상의 슬레이브 제어기를 이용하여, 상기 설비의 공정을 진행하는 단계; (B) 상기 설비의 공정 중 상기 프로세스 모듈로부터 상기 마스터 제어기 및 하나 이상의 슬레이브 제어기가 상기 설비의 공정에 대한 프로세스 모듈 데이터를 1회 이상 수신하는 단계; 및 (C) 상기 마스터 제어기의 고장 시에, 복수의 슬레이브 제어기가 상기 프로세스 모듈에 연결되어 있는 경우에, 상기 복수의 슬레이브 제어기 중 가장 최근의 데이터의 사이즈가 가장 큰 프로세스 모듈 데이터를 가진 어느 하나의 슬레이브 제어기는 업데이트된 마스터 제어기로 동작하고, 나머지는 업데이트된 슬레이브 제어기로 동작하는 단계를 포함한다.
상기 프로세스 모듈 제어 방법은, (D) 상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 중 하나가 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 한번도 수신하지 못하며, 다른 모든 슬레이브 제어기로부터 슬레이브 제어기 존재를 공지하는 isSlave 메시지를 수신하지 못하면, 상기 마스터 제어기의 해당 고장에 대하여, 자신이 마스터 제어기로 업데이트하여 동작하는 단계를 더 포함한다.
상기 프로세스 모듈 제어 방법은, (E) 상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 각각은 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 수신하면, 자신은 계속하여 슬레이브 제어기로서 자신의 존재를 공지하기 위한 isSlave 메시지를 상기 프로세스 모듈 및 상기 프로세스 모듈에 연결된 다른 모든 제어기에 전송하는 단계를 더 포함한다.
상기 (C) 단계는, 상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 각각이 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 한번도 수신하지 못하고, 하나 이상의 다른 슬레이브 제어기로부터 슬레이브 제어기 존재를 공지하는 isSlave 메시지를 수신한다면, 상기 마스터 제어기의 고장으로 판단하고 마스터 제어기 선정을 위한 voteMaster 메시지를 다른 모든 슬레이브 제어기에 전송하는 단계; 및 상기 voteMaster 메시지를 하나라도 수신하는 슬레이브 제어기는, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈와 다른 모든 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈를 비교하여 업데이트된 마스터 제어기로 동작할 것인지, 또는 업데이트된 슬레이브로 동작할 것인지 여부를 결정하는 단계를 포함한다.
상기 결정하는 단계에서, 상기 모든 슬레이브 제어기 중 하나가, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈가 다른 모든 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈 보다 크면, 업데이트된 마스터 제어기로 결정하고 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지할 수 있다.
상기 결정하는 단계에서, 상기 모든 슬레이브 제어기 중 하나가, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈가 다른 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈 보다 작으면, 업데이트된 슬레이브 제어기로 결정하고 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지할 수 있다.
또한, 상기 결정하는 단계에서, 상기 모든 슬레이브 제어기 중 2 이상이, 자신들의 가장 최근의 프로세스 모듈 데이터의 사이즈가 서로 같다면, 제어기 식별번호에 따라, 하나는 업데이트된 마스터 제어기로 결정하고 해당 업데이트된 마스터 제어기는 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지하며, 나머지는 업데이트된 슬레이브 제어기로 결정하고 해당 업데이트된 슬레이브 제어기는 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지할 수 있다.
본 발명에 따른 프로세스 모듈 제어 시스템 및 방법에 따르면, 반도체 분야 등의 프로세스 모듈을 제어하기 위한 복수의 제어기 중 프로세스 모듈을 제어 중인 제어기에서 소프트웨어뿐만아니라 하드웨어장치(예, 메모리장치)의 고장 발생에도 다른 제어기가 연이어 제어를 수행해 끊김없는 제어가 이루어지도록 할 수 있다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는 첨부도면은, 본 발명에 대한 실시예를 제공하고 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템의 동작 개념을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템의 동작 설명을 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템에서 업데이트 전후의 마스터 제어기와 슬레이브 제어기의 결정 방식을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템의 구현 방법의 일례를 설명하기 위한 도면이다.
이하에서는 첨부된 도면들을 참조하여 본 발명에 대해서 자세히 설명한다. 이때, 각각의 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타낸다. 또한, 이미 공지된 기능 및/또는 구성에 대한 상세한 설명은 생략한다. 이하에 개시된 내용은, 다양한 실시 예에 따른 동작을 이해하는데 필요한 부분을 중점적으로 설명하며, 그 설명의 요지를 흐릴 수 있는 요소들에 대한 설명은 생략한다. 또한 도면의 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시될 수 있다. 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니며, 따라서 각각의 도면에 그려진 구성요소들의 상대적인 크기나 간격에 의해 여기에 기재되는 내용들이 제한되는 것은 아니다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
도 1은 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템(100)의 동작 개념을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템(100)은, 반도체 분야 등의 증착, 에칭, 세정, 리소그래피 등의 공정(#1, #2,...,#M)을 진행하는 설비의 공정을 진행(제어, 데이터 입출력, 모니터링 등)하는 프로세스 모듈들(110)을 제어하기 위한 것으로서, 각각의 프로세스 모듈(110)에 연결된 복수의 제어기들(#1, #2,...,#N)(120, 130)을 포함한다.
다만, 본 발명의 프로세스 모듈 제어 시스템(100)은, 반도체 분야 이외에도 LCD 공정, LED 공정, 각종 기계/기구의 제작 공정, 기타 일련의 공정들을 자동 처리하는 다양한 제조 공정 상의 설비들의 공정을 진행하는 프로세스 모듈들(110)을 제어하기 위하여 적용될 수 있다.
복수의 제어기들(120, 130)은, 설비의 공정을 진행하는 프로세스 모듈(110)을 제어하는 마스터 제어기(120) 및 마스터 제어기(120)의 고장 시를 대비해 프로세스 모듈(110)에 대한 끊김없는 제어를 수행하기 위한 하나 이상의 슬레이브 제어기(130)를 포함한다. 즉, 설비의 공정 중에 복수의 제어기들(120, 130) 중 하나는 마스터 제어기(120)로서 동작하며, 나머지는 슬레이브 제어기(130)로서 대기한다.
마스터 제어기(120) 및 하나 이상의 슬레이브 제어기(130)가 프로세스 모듈(110)에 연결되어 있으며, 이들은 모두 프로세스 모듈(110)로부터 주기적으로 또는 간헐적으로 제어 및 모니터링에 필요한 데이터 입출력 데이터(IO Data), 로그 데이터 등을 수신한다. 또한, 마스터 제어기(120) 및 하나 이상의 슬레이브 제어기(130)는 서로 통신하여 연동하도록 연결되어 있다. 마스터 제어기(120) 및 슬레이브 제어기(130)는 프로세스 모듈(110)과 TCP/IP(transmission control protocol/internet protocol) 통신, 병렬 통신, 시리얼 통신 등 다양한 통신 방식으로 연동할 수 있으며, 마스터 제어기(120) 및 슬레이브 제어기(130) 간의 통신도 TCP/IP 통신, 병렬 통신, 시리얼 통신 등 다양한 통신 방식이 이용될 수 있다.
특히, 본 발명에서는, 프로세스 모듈(110)을 제어하기 위한 복수의 제어기(120, 130) 중 프로세스 모듈(110)을 제어 중인 마스터 제어기(120)에서 소프트웨어뿐만아니라 하드웨어장치(예, 메모리장치)의 고장 발생에도 다른 슬레이브 제어기(130)가 연이어 제어를 수행해 끊김없는 제어가 이루어질 수 있도록 하였다.
이를 위하여, 설비의 공정 중 프로세스 모듈(110)로부터 마스터 제어기(120) 및 하나 이상의 슬레이브 제어기(130)가 해당 설비의 공정에 대한 프로세스 모듈 데이터(예, 제어 및 모니터링에 필요한 데이터 입출력 데이터(IO Data), 로그 데이터 등)를 1회 이상 수신한다. 프로세스 모듈(110)이 주기적으로 또는 간헐적으로 이와 같은 프로세스 모듈 데이터를 마스터 제어기(120) 및 하나 이상의 슬레이브 제어기(130)로 전송하도록 미리 설정될 수 있다.
이와 같은 설비의 공정 중 마스터 제어기(120)의 고장 발생이 있는 경우에, 복수의 슬레이브 제어기(130)가 프로세스 모듈(110)에 연결되어 있는 경우에, 해당 복수의 슬레이브 제어기(130) 중 가장 최근의 데이터의 사이즈가 가장 큰 프로세스 모듈 데이터를 가진 어느 하나의 슬레이브 제어기는 업데이트된 마스터 제어기로 동작하고, 나머지는 업데이트된 슬레이브 제어기로 동작할 수 있도록 하였다. 이와 같이 주기적으로 또는 간헐적으로 프로세스 모듈 데이터를 업데이트하는 슬레이브 제어기(130) 중 가장 최근이며 가장 데이터의 사이즈가 가장 큰 프로세스 모듈 데이터를 저장하고 있는 슬레이브 제어기를 이전의 마스터 제어기(120)의 역할을 대체하도록 함으로써, 이전의 마스터 제어기(120)의 고장 발생 전까지의 제어 이후의 제어를 연이어 수행해 끊김없는 제어가 이루어도록 할 수 있게 된다. 예를 들어, 증착 공정 설비에서의 웨이퍼 로딩, 히팅, 증착, 열처리, 인시추 공정, 냉각, 언로딩 등의 공정 진행 중 어느 단계에서 마스터 제어기(120)의 고장 발생이 있는 경우, 슬레이브 제어기(130) 중 가장 최근이며 데이터의 사이즈가 가장 큰 프로세스 모듈 데이터를 저장하고 있는 슬레이브 제어기가 업데이트된 마스터 제어기로 동작하여, 이후의 다음 공정에 대한 제어를 계속해 나가게 된다.
이하 도 2의 흐름도를 참조하여 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템(100)의 동작을 좀 더 자세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템(100)의 동작 설명을 위한 흐름도이다.
도 2를 참조하면, 마스터 제어기(120)가 프로세스 모듈(110)을 제어하여 프로세스 모듈(110)이 설비의 공정을 진행하는 동안에, 먼저, 프로세스 모듈(110)에 연결된 모든 슬레이브 제어기(130)는 마스터 제어기(120)의 존재를 판단하기 위한 isMaster 메시지를 브로드캐스트하며, 마스터 제어기(120)는 이에 대하여 응답(isMaster 응답 메시지(IP(internet protocol) 주소 및 OK 메시지 등을 포함))을 전송한다. 모든 슬레이브 제어기(130)는 슬레이브 제어기로서의 자신의 존재를 공지하기 위한 isSlave 메시지를 주기적으로 또는 미리 설정된 시각에 간헐적으로 프로세스 모듈(110) 및 프로세스 모듈(110)에 연결된 다른 모든 제어기(120, 130)에 전송한다. 프로세스 모듈(110)은 설정 형태에 따라 주기적으로 또는 미리 설정된 시각에 간헐적으로 제어 및 모니터링에 필요한 데이터 입출력 데이터(IO Data), 로그 데이터 등 프로세스 모듈 데이터를 모든 제어기(120, 130)로 전송한다.
이와 같은 마스터 제어기(120)와 모든 슬레이브 제어기(130)의 동작과 함께 설비의 공정 중에, S110 단계에서, 프로세스 모듈(110)에 연결된 모든 슬레이브 제어기(130) 각각은 마스터 제어기(120)의 존재를 판단하기 위한 isMaster 메시지를 프로세스 모듈(110)에 연결된 다른 모든 제어기(마스터 제어기(120) 및 슬레이브 제어기)에 소정의 횟수(예, K회, K는 자연수) 전송하고 해당 응답(isMaster 응답 메시지)을 수신하면, 자신은 슬레이브 제어기 모드로 설정하고 슬레이브 제어기로 동작한다(S111). 이때 해당 슬레이브 제어기는 계속하여 슬레이브 제어기로서 자신의 존재를 공지하기 위한 isSlave 메시지를 프로세스 모듈(110) 및 프로세스 모듈에 연결된 다른 모든 제어기(마스터 제어기(120) 및 슬레이브 제어기)에 전송한다(S112).
S110 단계에서, 프로세스 모듈(110)에 연결된 모든 슬레이브 제어기(130) 중 어느 하나가 위와 같이 마스터 제어기(120)의 존재를 판단하기 위한 isMaster 메시지를 프로세스 모듈(110)에 연결된 다른 모든 제어기(마스터 제어기(120) 및 슬레이브 제어기)에 소정의 횟수(예, K회, K는 자연수) 전송하고 해당 응답(isMaster 응답 메시지)을 한 번도 수신하지 못하는 경우에, S120 단계에서, 다른 모든 슬레이브 제어기로부터 슬레이브 제어기 존재를 공지하는 isSlave 메시지를 수신하지 못하면, 마스터 제어기(120)의 해당 고장으로 판단하고, 자신이 마스터 제어기 모드로 설정하고 마스터 제어기로 업데이트하여 동작할 수 있다(S130). 업데이트된 마스터 제어기는 이후의 isMaster 메시지의 수신에 응답하여 해당 응답(isMaster 응답 메시지)을 전송할 수 있다(S131).
위에서, S110 단계에서, 프로세스 모듈(110)에 연결된 모든 슬레이브 제어기(130) 각각이 마스터 제어기(120)의 존재를 판단하기 위한 isMaster 메시지를 프로세스 모듈(110)에 연결된 다른 모든 제어기(마스터 제어기(120) 및 다른 슬레이브 제어기)에 소정의 횟수(예, K회, K는 자연수) 전송하고 해당 응답(isMaster 응답 메시지)을 한번도 수신하지 못하는 경우에, S120 단계에서, 하나 이상의 다른 슬레이브 제어기로부터 슬레이브 제어기 존재를 공지하는 isSlave 메시지를 수신한다면, S140 단계에서, 모든 슬레이브 제어기(130) 각각이 마스터 제어기(120)의 고장으로 판단하고 마스터 제어기 선정 모드로 설정해 마스터 제어기 선정을 위한 voteMaster 메시지(예, 제어기 NUMBER, 고유 ID(Identification), Timestamp, Data Size,...)를 다른 모든 슬레이브 제어기에 전송한다(S141). Timestamp(타임 스탬프)는 가장 최근의 시각이고, Data Size(데이터 사이즈)는 프로세스 모듈 데이터(예, 제어 및 모니터링에 필요한 데이터 입출력 데이터(IO Data), 로그 데이터 등)의 사이즈이다.
S142 단계에서, 프로세스 모듈(110)에 연결된 모든 슬레이브 제어기(130) 각각, 어느 한 슬레이브 제어기(130)가 voteMaster 메시지를 하나도 수신하지 못하면, 자신이 마스터 제어기 모드로 설정하고 마스터 제어기로 업데이트하여 동작할 수 있다(S130).
S142 단계에서, voteMaster 메시지를 하나라도 수신하면, 프로세스 모듈(110)에 연결된 모든 슬레이브 제어기(130) 각각이, S143 단계에서, voteMaster 메시지에 포함된 Timestamp, Data Size를 참조하여, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈와 다른 모든 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈를 비교하여, 업데이트된 마스터 제어기로 동작할 것인지, 또는 업데이트된 슬레이브로 동작할 것인지 여부를 결정한다.
이때, 프로세스 모듈(110)에 연결된 모든 슬레이브 제어기(130) 각각, 즉, 모든 슬레이브 제어기(130) 중 하나가, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈가 다른 모든 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈 보다 크면, 업데이트된 마스터 제어기로 결정하고 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지할 수 있다(S144).
또한, 그리고, 모든 슬레이브 제어기(130) 중 하나가, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈가 다른 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈 보다 작으면, 업데이트된 슬레이브 제어기로 결정하고 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지할 수 있다(S146).
그리고, 모든 슬레이브 제어기(130) 중 2 이상이, 자신들의 가장 최근의 프로세스 모듈 데이터의 사이즈가 서로 같다면, 즉, 모든 슬레이브 제어기(130) 중 하나가 다른 슬레이브 제어기로부터 수신한 voteMaster 메시지의 수신 개수가 0이 아닌 경우로서, 제어기 식별번호(제어기 NUMBER)에 따라, 도 3과 같이 하나는(예, 제어기 NUMBER가 가장 작은것) 업데이트된 마스터 제어기로 결정하고 해당 업데이트된 마스터 제어기는 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지할 수 있다. 이때 도 3과 같이 나머지 슬레이브 제어기는 업데이트된 슬레이브 제어기로 결정하고 해당 업데이트된 슬레이브 제어기는 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지할 수 있다.
도 4는 본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템(장치)(100)의 구현 방법의 일례를 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 프로세스 모듈 제어 시스템(100) 각각의 프로세스 모듈(110), 제어기들(120, 130)은, 하드웨어, 소프트웨어, 또는 이들의 결합으로 이루어질 수 있다. 예를 들어, 본 발명의 프로세스 모듈 제어 시스템(100) 각각의 프로세스 모듈(110), 제어기들(120, 130)은 위와 같은 기능/단계/과정들을 수행하기 위한 적어도 하나의 프로세서를 갖는 도 4와 같은 컴퓨팅 시스템(1000) 또는 인터넷 상의 서버 형태로 구현될 수 있다.
컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다. 프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory)(1310) 및 RAM(Random Access Memory)(1320)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같이 컴퓨터 등 장치로 판독 가능한 저장/기록 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
상술한 바와 같이, 본 발명에 따른 프로세스 모듈 제어 시스템(100)에 따르면, 반도체 분야 등의 프로세스 모듈(110)을 제어하기 위한 복수의 제어기(120, 130) 중 프로세스 모듈(110)을 제어 중인 마스터 제어기(120)에서 소프트웨어뿐만아니라 하드웨어장치(예, 메모리장치)의 고장 발생에도 다른 슬레이브 제어기(130)가 연이어 제어를 수행해 끊김없는 제어가 이루어지도록 할 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
프로세스 모듈(110)
마스터 제어기(120)
슬레이브 제어기(130)

Claims (10)

  1. 설비의 공정을 진행하는 프로세스 모듈을 제어하는 마스터 제어기; 및
    상기 마스터 제어기의 고장 시에 상기 프로세스 모듈에 대한 끊김없는 제어를 수행하기 위한 하나 이상의 슬레이브 제어기를 포함하고,
    상기 설비의 공정 중 상기 프로세스 모듈로부터 상기 마스터 제어기 및 하나 이상의 슬레이브 제어기가 상기 설비의 공정에 대한 프로세스 모듈 데이터를 1회 이상 수신하며,
    상기 마스터 제어기의 고장 시에, 복수의 슬레이브 제어기가 상기 프로세스 모듈에 연결되어 있는 경우에, 상기 복수의 슬레이브 제어기 중 가장 최근의 데이터의 사이즈가 가장 큰 프로세스 모듈 데이터를 가진 어느 하나의 슬레이브 제어기는 업데이트된 마스터 제어기로 동작하고, 나머지는 업데이트된 슬레이브 제어기로 동작하는 프로세스 모듈 제어 시스템.
  2. 제1항에 있어서,
    상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 중 하나가 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 한번도 수신하지 못하며, 다른 모든 슬레이브 제어기로부터 슬레이브 제어기 존재를 공지하는 isSlave 메시지를 수신하지 못하면, 상기 마스터 제어기의 해당 고장에 대하여, 자신이 마스터 제어기로 업데이트하여 동작하는 프로세스 모듈 제어 시스템.
  3. 제1항에 있어서,
    상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 각각은 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 수신하면, 자신은 계속하여 슬레이브 제어기로서 자신의 존재를 공지하기 위한 isSlave 메시지를 상기 프로세스 모듈 및 상기 프로세스 모듈에 연결된 다른 모든 제어기에 전송하는 프로세스 모듈 제어 시스템.
  4. (A) 설비의 공정을 진행하는 프로세스 모듈을 제어하는 마스터 제어기 및 상기 마스터 제어기의 고장 시에 상기 프로세스 모듈에 대한 끊김없는 제어를 수행하기 위한 하나 이상의 슬레이브 제어기를 이용하여, 상기 설비의 공정을 진행하는 단계;
    (B) 상기 설비의 공정 중 상기 프로세스 모듈로부터 상기 마스터 제어기 및 하나 이상의 슬레이브 제어기가 상기 설비의 공정에 대한 프로세스 모듈 데이터를 1회 이상 수신하는 단계; 및
    (C) 상기 마스터 제어기의 고장 시에, 복수의 슬레이브 제어기가 상기 프로세스 모듈에 연결되어 있는 경우에, 상기 복수의 슬레이브 제어기 중 가장 최근의 데이터의 사이즈가 가장 큰 프로세스 모듈 데이터를 가진 어느 하나의 슬레이브 제어기는 업데이트된 마스터 제어기로 동작하고, 나머지는 업데이트된 슬레이브 제어기로 동작하는 단계
    를 포함하는 프로세스 모듈 제어 방법.
  5. 제4항에 있어서,
    (D) 상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 중 하나가 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 한번도 수신하지 못하며, 다른 모든 슬레이브 제어기로부터 슬레이브 제어기 존재를 공지하는 isSlave 메시지를 수신하지 못하면, 상기 마스터 제어기의 해당 고장에 대하여, 자신이 마스터 제어기로 업데이트하여 동작하는 단계
    를 더 포함하는 프로세스 모듈 제어 방법.
  6. 제4항에 있어서,
    (E) 상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 각각은 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 수신하면, 자신은 계속하여 슬레이브 제어기로서 자신의 존재를 공지하기 위한 isSlave 메시지를 상기 프로세스 모듈 및 상기 프로세스 모듈에 연결된 다른 모든 제어기에 전송하는 단계
    를 더 포함하는 프로세스 모듈 제어 방법.
  7. 제4항에 있어서,
    (C) 단계는,
    상기 프로세스 모듈에 연결된 모든 슬레이브 제어기 각각이 상기 마스터 제어기의 존재를 판단하기 위한 isMaster 메시지를 상기 프로세스 모듈에 연결된 다른 모든 제어기에 소정의 횟수 전송하고 해당 응답을 한번도 수신하지 못하고, 하나 이상의 다른 슬레이브 제어기로부터 슬레이브 제어기 존재를 공지하는 isSlave 메시지를 수신한다면, 상기 마스터 제어기의 고장으로 판단하고 마스터 제어기 선정을 위한 voteMaster 메시지를 다른 모든 슬레이브 제어기에 전송하는 단계; 및
    상기 voteMaster 메시지를 하나라도 수신하는 슬레이브 제어기는, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈와 다른 모든 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈를 비교하여 업데이트된 마스터 제어기로 동작할 것인지, 또는 업데이트된 슬레이브로 동작할 것인지 여부를 결정하는 단계
    를 포함하는 프로세스 모듈 제어 방법.
  8. 제7항에 있어서,
    상기 결정하는 단계에서,
    상기 모든 슬레이브 제어기 중 하나가, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈가 다른 모든 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈 보다 크면, 업데이트된 마스터 제어기로 결정하고 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지하는 프로세스 모듈 제어 방법.
  9. 제7항에 있어서,
    상기 결정하는 단계에서,
    상기 모든 슬레이브 제어기 중 하나가, 자신의 가장 최근의 프로세스 모듈 데이터의 사이즈가 다른 슬레이브 제어기로부터 수신한 프로세스 모듈 데이터의 사이즈 보다 작으면, 업데이트된 슬레이브 제어기로 결정하고 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지하는 프로세스 모듈 제어 방법.
  10. 제7항에 있어서,
    상기 결정하는 단계에서,
    상기 모든 슬레이브 제어기 중 2 이상이, 자신들의 가장 최근의 프로세스 모듈 데이터의 사이즈가 서로 같다면, 제어기 식별번호에 따라, 하나는 업데이트된 마스터 제어기로 결정하고 해당 업데이트된 마스터 제어기는 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지하며, 나머지는 업데이트된 슬레이브 제어기로 결정하고 해당 업데이트된 슬레이브 제어기는 해당 결정 메시지를 다른 모든 슬레이브 제어기로 공지하는 프로세스 모듈 제어 방법.
KR1020200057620A 2020-05-14 2020-05-14 끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법 KR20210140899A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200057620A KR20210140899A (ko) 2020-05-14 2020-05-14 끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200057620A KR20210140899A (ko) 2020-05-14 2020-05-14 끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20210140899A true KR20210140899A (ko) 2021-11-23

Family

ID=78694876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200057620A KR20210140899A (ko) 2020-05-14 2020-05-14 끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20210140899A (ko)

Similar Documents

Publication Publication Date Title
CN107295080B (zh) 应用于分布式服务器集群的数据存储方法和服务器
US8174962B2 (en) Global broadcast communication system
US20030018930A1 (en) Peer-to-peer fault detection
JP4695705B2 (ja) クラスタシステムおよびノード切り替え方法
US9430221B2 (en) Device and method for updating firmware of a rackmount server system
CN106941420B (zh) 一种集群应用环境升级方法及装置
US9210059B2 (en) Cluster system
CN111651291A (zh) 一种共享存储集群防脑裂的方法、系统、计算机存储介质
US20200228293A1 (en) Systems and methods for improved uptime for network devices
CN107948063B (zh) 一种建立聚合链路的方法和接入设备
US10842041B2 (en) Method for remotely clearing abnormal status of racks applied in data center
CN114531373A (zh) 节点状态检测方法、节点状态检测装置、设备及介质
US11748217B2 (en) Method for failure detection and role selection in a network of redundant processes
US20140129865A1 (en) System controller, power control method, and electronic system
KR20210140899A (ko) 끊김없는 제어를 수행하는 프로세스 모듈 제어 시스템 및 방법
US20200305300A1 (en) Method for remotely clearing abnormal status of racks applied in data center
US20050262224A1 (en) Method for modifying one or more parameters for the operation of a network and subscribers for carrying out this method
KR20210141852A (ko) 빠른 데이터 복구 기법을 적용한 프로세스 모듈 제어 시스템 및 방법
JP2010146363A (ja) 二重化プログラマブルコントローラの系切替方式
CN112214437A (zh) 一种存储设备及通信方法、装置、计算机可读存储介质
CN111934909A (zh) 主备机ip资源切换方法、装置、计算机设备和存储介质
JP4863984B2 (ja) 監視処理プログラム、方法及び装置
JP5262492B2 (ja) クラスタシステム及びコマンド競合制御方法
CN111064608A (zh) 消息系统的主从切换方法、装置、电子设备及存储介质
CN111555931B (zh) 上游服务器监控处理方法、监控器及电子设备