KR101485644B1 - 이중화 시스템 및 이중화 시스템의 제어 방법 - Google Patents

이중화 시스템 및 이중화 시스템의 제어 방법 Download PDF

Info

Publication number
KR101485644B1
KR101485644B1 KR20120156735A KR20120156735A KR101485644B1 KR 101485644 B1 KR101485644 B1 KR 101485644B1 KR 20120156735 A KR20120156735 A KR 20120156735A KR 20120156735 A KR20120156735 A KR 20120156735A KR 101485644 B1 KR101485644 B1 KR 101485644B1
Authority
KR
South Korea
Prior art keywords
flag
memory
recorded
value
backup device
Prior art date
Application number
KR20120156735A
Other languages
English (en)
Other versions
KR20140086364A (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 주식회사 포스코아이씨티
Priority to KR20120156735A priority Critical patent/KR101485644B1/ko
Publication of KR20140086364A publication Critical patent/KR20140086364A/ko
Application granted granted Critical
Publication of KR101485644B1 publication Critical patent/KR101485644B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

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

Abstract

마스터 장치에서 백업 장치로 복사되어 기록되는 데이터의 유효성을 검증할 수 있는 본 발명의 일 측면에 따른 이중화 시스템의 상기 마스터 장치는, 복수개의 비트로 구성된 제1 플래그가 기록되는 제1 메모리 및 상기 제1 플래그를 생성하여 상기 제1 메모리에 기록하는 제1 제어부를 포함하고, 상기 백업 장치는, 상기 제1 메모리에 상기 제1 플래그가 기록되면 상기 제1 플래그가 복사된 제2 플래그가 기록되는 제2 메모리 및 상기 제2 메모리에 기록된 제2 플래그를 상기 마스터 장치로 피드백하는 제2 제어부를 포함하며, 상기 제1 제어부는 상기 제1 메모리에 기록된 제1 플래그와 상기 백업 장치로부터 피드백된 제2 플래그를 비교하여 데이터 유효성을 검증하는 것을 특징으로 한다.

Description

이중화 시스템 및 이중화 시스템의 제어 방법{Redundancy System and Method for Controlling Redundancy System}
본 발명은 이중화 시스템에 관한 것으로, 보다 구체적으로 이중화 시스템에서의 오류 검증 및 데이터 검증에 관한 것이다.
일반적으로 특정 시스템의 운전을 제어하는 제어기의 경우 사고나 고장 등에 효율적으로 대비하기 위해 이중화 시스템 구조를 채택하고 있다.
구체적으로 도 1에 도시된 바와 같이, 이중화 시스템(100)은 일반적으로 마스터 장치(110) 및 백업 장치(120)로 구성되고, 마스터 장치(110) 또는 백업 장치(120) 중 어느 하나가 액티브 모드로 동작하는 경우 다른 하나는 스탠바이 모드로 동작하게 된다.
이러한 이중화 시스템(100)의 경우 도 1에 도시된 바와 같이, 마스터 장치(110)가 액티브 모드로 동작하고 있는 경우 마스터 장치(110)가 시스템의 운전과 관련된 운전 데이터나 시스템의 운전을 위한 각종 프로그램들을 메모리에 기록하면 해당 운전 데이터 및 프로그램이 백업 장치(120)의 메모리에도 동일하게 기록되기 써 마스터 장치(110)와 백업 장치(120)가 운전 데이터 및 프로그램을 서로 공유하게 된다.
여기서, 마스터 장치(110)가 동일한 운전 데이터 및 프로그램을 백업 장치(120)의 메모리에도 기록하는 것은 마스터 장치(110)에 고장 등과 같은 이상이 발생하는 경우 백업 장치(120)가 액티브 모드로 전환하여 동일한 운전 데이터 및 프로그램을 이용하여 시스템을 동일한 조건으로 운전하여야 하기 때문이다.
따라서, 상술한 바와 같은 이중화 시스템(100)에서 마스터 장치(110)는 백업 장치(110)의 상태를 지속적으로 감시하여야 하고, 이를 위해 마스터 장치(110)는 백업 장치(120)의 메모리에 기록된 카운트 플래그 값의 증감을 모니터링하여 백업 장치(110)의 상태를 진단한다.
구체적으로, 도 1에 도시된 바와 같이, 마스터 장치(110)는 백업 장치(120)의 메모리에 기록된 카운트 플래그 값의 증감을 모니터링하여 카운트 플래그 값의 증감이 발생하지 않을 때 백업 장치(110)의 이상이 발생한 것으로 감지한다.
하지만, 이러한 종래의 이중화 시스템에서 마스터 장치(110)는 백업 장치(120)의 메모리에 기록된 카운트 플래그 값의 증감만을 통해 백업 장치(120)의 이상 발생 여부를 판단하기 때문에, 백업 장치(120)의 메모리 중 특정 비트에 불량이 발생하거나 데이터 버스에 불량이 발생하더라도 카운트 플래그 값만 증가된다면 백업 장치(120)에 이상이 없는 것으로 판단할 수 있다는 문제점 있다.
또한, 종래의 이중화 시스템의 경우, 운전 데이터 및 프로그램이 백업 장치(120)의 메모리에 단순 복사되어 기록될 뿐 백업 장치(120)의 메모리에 기록된 운전 데이터나 프로그램의 유효성을 검증할 수 없다는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 마스터 장치에서 백업 장치로 복사되어 기록되는 데이터의 유효성을 검증할 수 있는 이중화 시스템 및 이중화 시스템의 제어 방법을 제공하는 것을 그 기술적 과제로 한다.
또한, 본 발명은 데이터 버스나 메모리에서의 오류 발생을 검증할 수 있는 이중화 시스템 및 이중화 시스템의 제어 방법을 제공하는 것을 다른 기술적 과제로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 이중화 시스템은, 마스터 장치와 백업 장치를 포함하고, 상기 마스터 장치는, 복수개의 비트로 구성된 제1 플래그가 기록되는 제1 메모리 및 상기 제1 플래그를 생성하여 상기 제1 메모리에 기록하는 제1 제어부를 포함하고, 상기 백업 장치는, 상기 제1 메모리에 상기 제1 플래그가 기록되면 상기 제1 플래그가 복사된 제2 플래그가 기록되는 제2 메모리 및 상기 제2 메모리에 기록된 제2 플래그를 상기 마스터 장치로 피드백하는 제2 제어부를 포함하며, 상기 제1 제어부는 상기 제1 메모리에 기록된 제1 플래그와 상기 백업 장치로부터 피드백된 제2 플래그를 비교하여 데이터 유효성을 검증하는 것을 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 이중화 시스템의 제어 방법은, 복수개의 비트로 구성된 제1 플래그를 마스터 장치의 제1 공유 메모리에 기록하는 단계; 상기 제1 플래그가 복사된 제2 플래그를 백업 장치의 제2 공유 메모리에 기록하는 단계; 상기 제2 플래그를 상기 마스터 장치의 제1 공통 메모리로 피드백하는 단계; 상기 피드백되어 제1 공통 메모리에 기록된 제2 플래그와 상기 제1 공유 메모리에 기록된 제1 플래그를 비교하여 데이터의 유효성을 검증하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 마스터 장치에서 백업 장치로 복사되어 기록된 플래그를 백업 장치로부터 피드백 받아 마스터 장치에 기록된 플래그와 비교함에 의해 백업 장치로 복사되어 기록되는 데이터의 유효성을 검증할 수 있다는 효과가 있다.
또한, 본 발명에 따르면 플래그에서 특정 값이 할당되는 비트를 쉬프트 시켜가면서 데이터의 유효성 검증을 수행함으로써 데이터 전송을 위한 데이터 버스 및 데이터 기록을 위한 메모리에 대한 검증을 수행할 수 있어 이중화 시스템의 신뢰성을 향상시킬 수 있다는 효과가 있다.
도 1은 일반적인 이중화 시스템의 구성을 개략적으로 보여주는 블록도.
도 2는 본 발명의 일 실시예에 따른 이중화 시스템의 구성을 개략적으로 보여주는 블록도.
도 3은 도 2에 도시된 마스터 장치의 메모리 모듈과 백업 장치의 메모리 모듈을 구체적으로 보여주는 블록도.
도 4는 본 발명에 따른 이중화 시스템에서의 데이터 유효성 검증 방법을 예시적으로 보여주는 블록도.
도 5는 본 발명의 일 실시예에 따른 이중화 시스템의 제어 방법을 보여주는 플로우차트.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.
이중화 시스템
먼저, 도 2 및 도 3을 참조하여 본 발명의 일 실시예에 따른 이중화 시스템에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 이중화 시스템을 구성을 개략적으로 보여주는 블록도이고, 도 3은 도 2에 도시된 제1 메모리 모듈 및 제2 메모리 모듈을 구체적으로 보여주는 도면이다.
먼저, 도 2에 도시된 이중화 시스템(200)의 구성을 설명하기에 앞서 이러한 이중화 시스템(200)이 적용될 수 있는 환경에 대해 간략히 설명한다. 일 실시예에 있어서, 도 2에 도시된 이중화 시스템(200)은 분산 제어 시스템(Distributed Control System: DCS)의 제어기 또는 PLC(Programmable Logic Controller)에 포함되어 DCS 제어기나 PLC의 이중화하는 역할을 수행할 수 있다.
여기서, 분산 제어 시스템은 여러 대의 컴퓨터를 하나 이상의 제어 컴퓨터에 연결시켜 구성되는 시스템으로서, 공정 제어 및 모니터링이 필요한 장소에 배치될 수 있다. 예컨대, 분산 제어 시스템이 모니터링 시스템에 적용되는 경우 분산 제어 시스템은 다수의 모니터링 클라이언트와 네트워크로 연결되는 제어기로 구성된 서버로 이루어 질 수 있다.
이러한 경우, 본 발명에 따른 이중화 시스템(200)은 제어기로 구성된 서버를 이중화 하는데 사용될 수 있다.
이하에서는 설명의 편의를 위해, 이중화 시스템(200)이 분산 제어 시스템의 이중화를 위해 이용되는 것으로 가정하여 설명하기로 한다.
상술한 바와 같은 본 발명에 따른 이중화 시스템(200)은, 도 2 및 도 3에 도시된 바와 같이, 마스터 장치(210) 및 백업 장치(220)를 포함한다.
마스터 장치(210)는 액티브 모드로 동작하는 경우, 분산 제어 시스템의 운전을 위한 운전 데이터 및 프로그램을 이용하여 분산 제어 시스템을 제어한다. 이러한 마스터 장치(210)는 도 2에 도시된 바와 같이 제1 제어부(212), 제1 메모리 모듈(214), 및 제1 통신 모듈(216)을 포함하고, 제1 메모리 모듈(214)은 도 3에 도시된 바와 같이 제1 공유 메모리(310, Shared Memory) 및 제1 공통 메모리(320, Common Memory)를 포함한다.
백업 장치(220)는 스탠바이 모드로 동작하면서 마스터 장치(210)의 상태를 모니터링하고, 마스터 장치(210)에 이상이 발생하는 경우 액티브 모드로 천이하여 마스터 장치(210)를 대신하여 분산 제어 시스템을 제어한다. 이러한 백업 장치(220)는 도 2에 도시된 바와 같이, 제2 제어부(222), 제2 메모리 모듈(224), 및 제2 통신 모듈(226)을 포함하고, 제2 메모리 모듈(224)는 도 3에 도시된 바와 같이 제2 공유 메모리(330) 및 제2 공통 메모리(340)를 포함한다.
이하, 마스터 장치(210)의 구성에 대해 먼저 설명한 후 백업 장치(220)의 구성에 대해 설명하기로 한다.
먼저, 제1 제어부(212)는 분산 제어 시스템을 제어하기 위한 운전 데이터를 생성하여 제1 메모리 모듈(214)에 포함된 제1 공유 메모리(310)에 기록하고, 제1 공유 메모리(310)에 기록되어 있는 프로그램을 이용하여 분산 제어 시스템을 제어한다.
특히, 본 발명의 일 실시예에 따른 제1 제어부(212)는 백업 장치(220)의 진단을 위해 제1 플래그를 생성하여 제1 메모리 모듈(214)에 포함된 제1 공유 메모리(310)에 기록한다. 여기서, 백업 장치(220)의 진단이란 마스터 장치(210)로부터 제공되어 백업 장치(220)에 기록되는 데이터의 유효성 검증, 마스터 장치(210)와 백업 장치(220) 간의 데이터 버스의 오류 검증, 및 백업 장치(220)에 포함된 제2 공통 메모리(340)의 셀 오류 검증을 포함하는 개념이다.
이때, 제1 제어부(212)가 제1 플래그를 제1 공유 메모리(310)에 기록하면 백업 장치(220)의 제2 메모리 모듈(224) 중 제2 공유 메모리(330)에도 제1 플래그의 복사본인 제2 플래그가 기록된다.
이후, 제1 제어부(212)는 백업 장치(220)로부터 피드백 되어 제1 메모리 모듈(214) 중 제1 공통 메모리(320)에 기록된 제2 플래그와 제1 공유 메모리(310)에 기록되어 있는 제1 플래그를 비교하여 데이터의 유효성을 검증한다.
구체적으로, 제1 제어부(212)는 제1 공유 메모리(310)에 기록되어 있는 제1 플래그와 백업 장치(220)로부터 피드백되어 제1 공통 메모리(320)에 기록된 제2 플래그가 동일하면 백업 장치(220)에 기록되어 있는 제2 플래그가 유효한 것으로 판단한다. 이에 따라 제1 제어부(212)는 백업 장치(220)에 복사되어 기록되는 운전 데이터 및 프로그램 또한 유효한 것으로 판단할 수 있다.
또한, 제1 제어부(212)는 제1 공유 메모리(310)에 기록되어 있는 제1 플래그와 백업 장치(220)로부터 피드백되어 제1 공통 메모리(320)에 기록된 제2 플래그가 동일하지 않으면 백업 장치(220)에 기록되어 있는 제2 플래그가 유효하지 않은 것으로 판단한다. 이에 따라, 제1 제어부(212)는 백업 장치(220)에 복사되어 기록되는 운전 데이터 및 프로그램 또한 유효하지 않은 것으로 판단할 수 있다.
한편, 제1 제어부(212)는 제1 플래그를 생성할 때 제1 플래그를 구성하는 복수개의 비트들 중 적어도 하나의 비트에 제1 값(예컨대, 1)을 할당하고 나머지 비트들에는 제2 값(예컨대, 0)을 할당함으로써 제1 플래그가 제1 값을 갖도록 생성하고, 제1 값을 갖는 제1 플래그에 대한 유효성 검증이 완료되면 1을 할당할 비트를 쉬프트 시켜가면서 제1 플래그를 수정할 수 있다. 이를 통해, 제1 제어부(212)는 각각의 비트에 매칭되는 데이터 버스들에 오류가 발생하는지 여부를 검증할 수 있게 된다.
예컨대, 제1 제어부(212)는 16비트로 구성된 제1 플래그를 생성하되, 제1 플래그의 최하위 비트에 1을 할당하고 나머지 15개의 비트에 0을 할당함으로써 제1 값을 생성하여 제1 값을 갖는 제1 플래그에 대한 유효성을 검증하고, 이후 제1 플래그에서 1이 할당된 비트를 상위 비트 방향으로 쉬프트 시켜가면서 제1 플래그를 수정할 수 있다. 이러한 경우, 제1 제어부(212)에 의해 생성 또는 수정되는 제1 플래그는 아래의 표 1과 같을 수 있다.
Figure 112012109183885-pat00001
이와 같이, 본 발명에 따른 제1 제어부(212)의 경우, 제1 플래그를 생성할 때 1이 할당된 비트를 상위 비트 방향으로 쉬프트 시켜가면서 제1 플래그를 생성하기 때문에 데이터 버스의 개수가 n개라고 할 때 검증해야 할 데이터의 수는 n에 불과하지만, 종래와 같이 카운트 플래그 값의 증감변화를 모니터링하여 데이터 버스를 검증하는 경우 데이터 버스의 개수가 n개라고 할 때 검증해야 할 데이터의 수는 2n개가 되므로, 본 발명의 경우 종래기술에 비해 빠른 시간 내에 모든 데이터 버스의 이상 여부를 검증할 수 있게 된다.
한편, 제1 제어부(212)는 표 1에 도시된 16개의 제1 플래그의 값들을 반복적으로 검증함으로써 각 데이터 버스의 이상 발생 여부를 주기적으로 검증할 수 있다.
다음으로, 제1 메모리 모듈(214)은 분산 제어 시스템의 운전을 위한 운전 데이터 및 각종 프로그램이 기록되고, 제1 제어부(212)에 의해 생성된 제1 플래그와 백업 장치(220)로부터 피드백되는 제2 플래그가 기록된다. 이러한 제1 메모리 모듈(214)은 도 3에 도시된 바와 같이, 제1 공유 메모리(310) 및 제2 공통 메모리(320)를 포함한다.
먼저, 제1 공유 메모리(310)에는 분산 제어 시스템의 운전을 제어하기 위한 운전 데이터 및 각종 프로그램이 기록된다. 또한, 제1 공유 메모리(310)에는 백업 장치(200)의 진단을 위한 제1 플래그가 기록된다.
일 실시예에 있어서, 본 발명에 따른 제1 공유 메모리(310)는 단방향 복사만이 가능한 메모리로 구현되기 때문에, 제1 공유 메모리(310)에 기록되는 데이터는 제2 공유 메모리(330)에도 동일하게 복사되어 저장된다. 하지만, 제2 공유 메모리(330)에 기록되는 데이터는 제1 공유 메모리(310)에 복사되어 기록되지 않는다.
따라서, 상술한 바와 같이, 제1 플래그가 제1 공유 메모리(310)에 기록되면, 제1 플래그가 복사된 제2 플래그가 제2 공유 메모리(330)에도 기록된다. 따라서, 제1 공유 메모리(310)는 제2 공유 메모리(330)와 논리적으로 하나의 단방향 공유 메모리로 동작하게 된다.
다음으로, 제1 공통 메모리(320)에는 백업 장치(220)로부터 피드백되는 제2 플래그가 기록된다. 일 실시예에 있어서, 본 발명에 따른 제1 공통 메모리(330)는 양방향 복사가 가능한 메모리로 구현되기 때문에, 제2 공통 메모리(340)에 제2 플래그가 기록되면 제1 공통 메모리(320)에도 동일하게 제2 플래그가 복사되어 기록된다. 또한, 제1 공통 메모리(320)에 특정 데이터가 기록되면 제2 공통 메모리(340)에도 해당 데이터가 동일하게 복사되어 기록된다. 따라서, 제1 공통 메모리(320)와 제2 공통 메모리(340)는 논리적으로 하나의 양방향 공유 메모리로서 동작하게 된다.
한편, 도 3에서는 도시하지 않았지만 제1 메모리 모듈(214)은 마스터 장치(200)와 백업 장치(220) 중 액티브 모드로 동작하여야 하는 장치를 설정하기 위한 정보와 마스터 장치(210)에 연결되는 다양한 입출력 카드(미도시)에 대한 제어 정보가 기록되는 레지스터 영역 및 로컬 메모리 영역을 더 포함할 수 있다.
다시 도 2를 참조하면, 제1 통신모듈(216)은 마스터 장치(210)에 연결되는 다양한 종류의 입출력 카드(미도시)로부터 데이터를 수신하거나 다양한 종류의 입출력 카드로 데이터를 전송하는 역할을 수행한다.
다음으로, 도 2 및 도 3을 참조하여 백업 장치(220)의 구성에 대해 설명한다.
먼저, 제2 제어부(222)는 마스터 장치(210)에 이상이 발생하는 경우 마스터 장치(210)를 대신하여 분산 제어 시스템을 제어한다. 구체적으로, 제2 제어부(222)는 마스터 장치(210)로부터 제공되어 제2 메모리 모듈(224)의 제2 공유 메모리(330)에 기록되어 있는 운전 데이터 및 프로그램을 이용하여 분산 제어 시스템을 제어한다.
특히, 본 발명의 일 실시예에 따른 제2 제어부(222)는 마스터 장치(210)로부터 제공되어 제2 공유 메모리(330)에 기록되어 있는 제2 플래그의 유효성을 검증하기 위해 제2 공유 메모리(330)에 기록되어 있는 제2 플래그를 복사하여 제2 공통 메모리(340)에 기록함으로써 제2 플래그가 마스터 장치(210)로 피드백되도록 한다.
일 실시예에 있어서, 제2 제어부(222)는 제2 공유 메모리(330)에 기록되어 있는 제2 플래그를 복사하여 제2 공통 메모리(340)에 기록할 때, 제2 공통 메모리(340)에서 발생 가능한 단 셀 불량과 같은 오류를 검증하기 위해 제2 플래그를 구성하는 각 비트들의 값을 1차 반전시켜 제2 공통 메모리(340)에 기록하고, 이후 제2 공통 메모리(340)에 기록되어 있는 1차 반전된 제2 플래그를 구성하는 각 비트들의 값을 2차 반전시켜 제2 공통 메모리(340)에 다시 기록한다.
이에 따라, 제1 공통 메모리(320)에는 2차 반전된 제2 플래그가 자동으로 복사되어 기록되게 되기 때문에, 제1 제어부(212)는 제1 공유 메모리(310)에 기록된 제1 플래그와 제2 제어부(222)에 의해 2번 반전된 제2 플래그를 비교하고, 비교결과 비트 값이 상이한 비트가 존재하면 해당 비트에 매칭되는 데이터 버스에 오류가 없는 경우 해당 비트에 매칭되는 제2 공통 메모리(340)의 셀에 오류가 발생한 것으로 판단할 수 있다.
다음으로, 제2 메모리 모듈(224)은 마스터 장치(210)로부터 제공되는 운전 데이터 및 각종 프로그램이 기록되고, 특히 제1 플래그가 복사된 제2 플래그가 기록된다. 이러한 제2 메모리 모듈(224)은 도 3에 도시된 바와 같이, 제2 공유 메모리(330) 및 제2 공통 메모리(340)를 포함한다.
먼저, 제2 공유 메모리(330)에는 마스터 장치(210)로부터 제공되는 운전 데이터 및 각종 프로그램이 기록된다. 또한, 제2 공유 메모리(330)에는 백업 장치(200)의 진단을 위한 제1 플래그가 기록된다.
일 실시예에 있어서, 본 발명에 따른 제2 공유 메모리(330)는 단방향 복사만이 가능한 메모리로 구현되기 때문에, 제1 공유 메모리(310)에 특정 데이터가 기록되면 자동으로 해당 데이터가 복사되어 제2 공유 메모리(330)에도 기록된다. 하지만, 제2 공유 메모리(330)에 기록되는 데이터는 제1 공유 메모리(310)에 복사되어 기록되지는 않는다.
따라서, 상술한 바와 같이, 제1 플래그가 제1 공유 메모리(310)에 기록되면, 제1 플래그가 복사된 제2 플래그가 제2 공유 메모리(330)에도 기록되기 때문에 제1 공유 메모리(310)는 제2 공유 메모리(330)와 논리적으로 하나의 단방향 공유 메모리로 동작하게 된다.
다음으로, 제2 공통 메모리(340)에는 제2 공유 메모리(330)에 기록된 제2 플래그가 기록된다. 일 실시예에 있어서, 본 발명에 따른 제2 공통 메모리(340)는 상술한 제1 공통 메모리(320)와 동일하게 양방향 복사가 가능한 메모리로 구현되기 때문에, 제2 공통 메모리(340)에 제2 플래그가 기록되면 제1 공통 메모리(320)에도 동일하게 제2 플래그가 복사되어 기록된다. 또한, 제1 공통 메모리(320)에 특정 데이터가 기록되면 제2 공통 메모리(340)에도 해당 데이터가 동일하게 복사되어 기록된다. 따라서, 제1 공통 메모리(320)와 제2 공통 메모리(340)는 논리적으로 하나의 양방향 공유 메모리로서 동작하게 된다.
특히, 본 발명에 따른 제2 공통 메모리(340)에는 제2 플래그가 1차 및 2차 반전되어 기록된다. 상술한 바와 같이, 제2 공통 메모리(340)에는 제2 공유 메모리(330)에 기록된 제2 플래그를 구성하는 각 비트들의 값을 1차 반전시킨 제2 플래그가 먼저 기록되고, 이후 1차 반전된 제2 플래그를 구성하는 각 비트들의 값을 2차 반전시켜 최초 상태로 회복된 제2 플래그가 기록된다.
예컨대, 제2 공유 메모리(330)에 기록된 제2 플래그의 값이 "0000 0000 0000 0001"인 경우, 제2 공통 메모리(330)에는 제2 플래그를 구성하는 각 비트들의 값을 1차 반전시킨 "1111 1111 1111 1110"이라는 값이 기록된 후, 1차 반전된 값을 2차 반전시킨 "0000 0000 0000 0001"이라는 값이 기록된다.
한편, 도 3에서는 도시하지 않았지만 제2 메모리 모듈(224)은 마스터 장치(200)와 백업 장치(220) 중 액티브 모드로 동작하여야 하는 장치를 설정하기 위한 정보와 백업 장치(220)에 연결되는 다양한 입출력 카드(미도시)에 대한 제어 정보가 기록되는 레지스터 영역 및 로컬 메모리 영역을 더 포함할 수 있다.
다시 도 2를 참조하면, 제2 통신모듈(226)은 백업 장치(220)에 연결되는 다양한 종류의 입출력 카드로부터 데이터를 수신하거나 다양한 종류의 입출력 카드로 데이터를 전송하는 역할을 수행한다.
상술한 바와 같은 본 발명의 이중화 시스템에서 데이터 유효성 검증 방법을 도 4에 도시된 예를 참조하여 간략히 설명하기로 한다.
도 4는 본 발명에 따른 이중화 시스템에서 백업장치의 진단방법을 예시적으로 보여주는 도면이다. 도 4에 도시된 바와 같이, 제1 공유 메모리(310)에 "0000 0000 0000 0001"을 갖는 제1 플래그가 기록되면 제1 플래그가 복사되어 "0000 0000 0000 0001"을 갖는 제2 플래그가 제2 공유 메모리(330)에도 기록된다.
이후, 제2 공유 메모리(330)에 기록된 제2 플래그의 각 비트값이 1차 반전된 "1111 1111 1111 1110"이 제2 공통 메모리(340)에 기록되고, 1차 반전된 값이 2차 반전된 "0000 0000 0000 0001"을 갖는 제2 플래그가 제2 공통 메모리(340)에 다시 기록한다.
이후, 제2 공통 메모리(340)에 2차 반전된 제2 플래그가 기록되면 제1 공유 메모리(310)에도 제2 플래그가 복사되어 기록되고, 최종적으로 제1 공유 메모리(310)에 기록된 제1 플래그와 제2 공통 메모리(340)로부터 피드백되어 제1 공통 메모리(320)에 기록된 제2 플래그를 비교하여 백업 장치(220)를 진단하게 된다.
이중화 시스템의 제어 방법
이하에서는 도 5를 참조하여 본 발명에 따른 이중화 시스템의 제어 방법에 대해 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 이중화 시스템의 제어 방법을 보여주는 플로우차트이다. 도 5에 도시된 이중화 시스템의 제어 방법은 도 2에 도시된 이중화 시스템에 의해 수행될 수 있다.
먼저, 마스터 장치의 제1 제어부가 복수개의 비트로 구성된 제1 플래그를 생성한다(S500). 일 실시예에 있어서, 제1 제어부는 복수개의 비트들 중 하나 이상의 비트를 제1 값(예컨대, 1)로 설정하고 나머지 비트를 제2 값(예컨대, 0)으로 설정함에 의해 제1 플래그를 생성할 수 있다.
이후, 제1 제어부가 제1 플래그를 제1 공유 메모리에 기록하면(S510), 백업 장치의 제2 공유 메모리에도 제1 플래그가 복사된 제2 플래그가 기록된다(S520).
이후, 백업 장치의 제2 제어부가 제2 공유 메모리에 기록된 제2 플래그를 구성하는 각 비트들의 값을 1차 반전시켜 백업 장치의 제2 공통 메모리에 기록한다(S530).
이후, 제2 제어부가 제2 공통 메모리에 기록된 1차 반전된 제2 플래그를 구성하는 각 비트 값들 2차 반전시켜 제2 공통 메모리에 다시 기록하고(S540), 이에 따라 2차 반전된 제2 플래그가 복사되어 마스터 장치의 제1 공통 메모리에도 기록된다(S550).
이후, 제1 제어부는 제1 공유 메모리에 기록된 제1 플래그와 제2 공통 메모리로부터 피드백되어 제1 공통 메모리에 기록되어 있는 제2 플래그를 비교하여 데이터의 유효성을 검증한다(S560).
구체적으로, 제1 제어부는 제1 플래그와 제2 플래그가 동일하면 백업 장치에 기록되는 데이터가 유효한 것으로 판단하고, 제1 플래그와 제2 플래그가 상이하면 백업 장치에 기록되는 데이터가 유효하지 않은 것으로 판단하여 데이터 버스 또는 백업 장치에 포함된 메모리 셀을 점검할 수 있다.
이에 따라, 제1 제어부는 제1 공유 메모리에 기록된 제1 플래그와 2번에 걸쳐 반전된 제2 플래그를 비교하고, 비교결과 비트 값이 상이한 비트가 존재하면 해당 비트에 매칭되는 데이터 버스에 오류가 없는 경우 해당 비트에 매칭되는 제2 공통 메모리의 셀에 오류가 발생된 것으로 판단할 수 있게 된다.
이후, 제1 제어부는 제1 플래그를 구성하는 각 비트 중 제1 값이 할당되는 비트를 쉬프트 시켜가면서 제1 플래그를 수정하고(S570), 이후 수정된 제1 플래그에 대해 S510 내지 S570 과정을 반복한다. 이를 통해, 본 발명은 제1 플래그를 구성하는 각각의 비트에 매칭되는 데이터 버스들에 오류가 발생하는지 여부를 검증할 수 있게 된다.
또한, 본 발명의 경우 제1 플래그에서 제1 값이 할당된 비트를 상위 비트 방향으로 쉬프트 시켜가면서 제1 플래그를 생성하기 때문에 데이터 버스의 개수가 n개라고 할 때 검증해야 할 데이터의 수는 n에 불과하여 종래에 비해 빠른 시간 내에 모든 데이터 버스의 이상 여부를 검증할 수 있게 된다.
상술한 이중화 시스템의 제어 방법은 다양한 컴퓨터 수단을 이용하여 수행될 수 있는 프로그램 형태로도 구현될 수 있는데, 이때 이중화 시스템의 제어 방법을 수행하기 위한 프로그램은 하드 디스크, CD-ROM, DVD, 롬(ROM), 램, 또는 플래시 메모리와 같은 컴퓨터로 판독할 수 있는 기록 매체에 저장된다.
본 명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
200: 이중화 시스템 210: 마스터 장치
212: 제1 제어부 214: 제1 메모리 모듈
216: 제1 통신모듈 220: 백업 장치
222: 제2 제어부 224: 제2 메모리 모듈
226: 제2 통신모듈 310: 제1 공유 메모리
320: 제1 공통 메모리 330: 제2 공유 메모리
340: 제2 공통 메모리

Claims (12)

  1. 마스터 장치와 백업 장치를 포함하는 이중화 시스템으로서,
    상기 마스터 장치는, 복수개의 비트로 구성된 제1 플래그가 기록되는 제1 메모리 및 상기 제1 플래그를 생성하여 상기 제1 메모리에 기록하는 제1 제어부를 포함하고,
    상기 백업 장치는, 상기 제1 메모리에 상기 제1 플래그가 기록되면 상기 제1 플래그가 복사된 제2 플래그가 기록되는 제2 메모리 및 상기 제2 메모리에 기록된 제2 플래그를 상기 마스터 장치로 피드백하는 제2 제어부를 포함하며,
    상기 제1 제어부는 상기 제1 메모리에 기록된 제1 플래그와 상기 백업 장치로부터 피드백된 제2 플래그를 비교하여 상기 백업 장치로 복사되어 기록된 데이터의 유효성을 검증하고,
    상기 제1 메모리는, 상기 제1 플래그가 기록되는 제1 공유 메모리; 및 상기 피드백된 제2 플래그가 기록되는 제1 공통 메모리를 포함하고,
    상기 제2 메모리는, 상기 제2 플래그가 기록되는 제2 공유 메모리; 및 상기 제2 플래그의 피드백을 위해 상기 제2 플래그 기록되는 제2 공통 메모리를 포함하며,
    상기 제2 플래그가 상기 제2 공통 메모리에 기록되면 상기 제1 공통 메모리에 상기 제2 플래그가 복사되어 기록됨으로써 상기 제2 플래그가 상기 마스터 장치로 피드백되는 것을 특징으로 하는 이중화 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 제2 제어부는,
    상기 제2 공유 메모리에 기록된 상기 제2 플래그를 구성하는 각 비트의 값을 1차 반전 시켜 상기 제2 공통 메모리에 기록하고,
    상기 1차 반전된 제2 플래그를 구성하는 각 비트의 값을 2차 반전시켜 상기 제2 공통 메모리에 기록하며,
    상기 2차 반전된 제2 플래그가 상기 제1 공통 메모리에 복사되어 기록되는 것을 특징으로 하는 이중화 시스템.
  4. 제1항에 있어서,
    상기 제1 제어부는,
    상기 제1 플래그를 구성하는 복수개의 비트들 중 어느 하나의 비트에 제1 값을 할당하여 상기 제1 플래그를 생성하되, 상기 제1 값이 할당되는 비트를 쉬프트 시켜가면서 상기 제1 플래그를 생성하는 것을 특징으로 하는 이중화 시스템.
  5. 제1항에 있어서,
    상기 제1 제어부는,
    상기 제1 플래그를 구성하는 복수개의 비트들 중 최하위 비트에 1을 할당하여 상기 제1 플래그를 생성하고, 상기 최하위 비트에 1이 할당된 제1 플래그에 대한 데이터 유효성 검증이 완료되면 상기 제1 플래그를 구성하는 비트들 중 1이 할당되는 비트를 상기 최하위 비트에서 상위 비트 방향으로 순차적으로 쉬프트 시켜 상기 제1 플래그를 수정하는 것을 특징으로 하는 이중화 시스템.
  6. 마스터 장치와 백업 장치를 포함하는 이중화 시스템으로서,
    상기 마스터 장치는, 복수개의 비트로 구성된 제1 플래그가 기록되는 제1 메모리 및 상기 제1 플래그를 생성하여 상기 제1 메모리에 기록하는 제1 제어부를 포함하고,
    상기 백업 장치는, 상기 제1 메모리에 상기 제1 플래그가 기록되면 상기 제1 플래그가 복사된 제2 플래그가 기록되는 제2 메모리 및 상기 제2 메모리에 기록된 제2 플래그를 상기 마스터 장치로 피드백하는 제2 제어부를 포함하며,
    상기 제1 제어부는 상기 제1 메모리에 기록된 제1 플래그와 상기 백업 장치로부터 피드백된 제2 플래그를 비교하여 상기 백업 장치로 복사되어 기록된 데이터의 유효성을 검증하고,
    상기 이중화 시스템은 분산 제어 시스템(Distributed Control System)의 제어기를 이중화하는 것을 특징으로 하는 이중화 시스템.
  7. 복수개의 비트로 구성된 제1 플래그를 마스터 장치의 제1 공유 메모리에 기록하는 단계;
    상기 제1 플래그가 복사된 제2 플래그를 백업 장치의 제2 공유 메모리에 기록하는 단계;
    상기 제2 플래그를 상기 마스터 장치의 제1 공통 메모리로 피드백하는 단계;
    상기 피드백되어 제1 공통 메모리에 기록된 제2 플래그와 상기 제1 공유 메모리에 기록된 제1 플래그를 비교하여 상기 백업 장치로 복사되어 기록된 데이터의 유효성을 검증하는 단계를 포함하고,
    상기 제2 플래그를 상기 제1 공통 메모리로 피드백하는 단계는,
    상기 제2 플래그를 상기 백업 장치의 제2 공통 메모리에 기록하는 단계; 및
    상기 제2 공통 메모리에 상기 제2 플래그가 기록되면, 상기 제2 플래그를 복사하여 상기 제1 공통 메모리에 기록하는 단계를 포함하는 것을 특징으로 하는 이중화 시스템의 제어 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 제2 플래그를 상기 제2 공통 메모리에 기록하는 단계는,
    상기 제2 공유 메모리에 기록된 상기 제2 플래그를 구성하는 각 비트의 값을 1차 반전 시켜 상기 제2 공통 메모리에 기록하는 단계; 및
    상기 1차 반전된 제2 플래그를 구성하는 각 비트의 값을 2차 반전시켜 상기 제2 공통 메모리에 기록하는 단계를 포함하는 것을 특징으로 하는 이중화 시스템의 제어 방법.
  10. 제7항에 있어서,
    상기 제1 플래그를 구성하는 복수개의 비트들 중 어느 하나의 비트에 제1 값을 할당하여 상기 제1 플래그를 생성하는 단계를 더 포함하고,
    상기 제1 플래그를 생성하는 단계에서, 상기 제1 값이 할당되는 비트를 쉬프트 시켜가면서 상기 제1 플래그를 생성하는 것을 특징으로 하는 이중화 시스템의 제어 방법.
  11. 제7항에 있어서,
    상기 제1 플래그를 구성하는 복수개의 비트들 중 최하위 비트에 1을 할당하여 상기 제1 플래그를 생성하는 단계; 및
    상기 최하위 비트에 1이 할당된 제1 플래그에 대한 데이터 유효성 검증이 완료되면 상기 제1 플래그를 구성하는 비트들 중 1이 할당되는 비트를 상기 최하위 비트에서 상위 비트 방향으로 순차적으로 쉬프트 시켜 상기 제1 플래그를 수정하는 단계를 더 포함하는 것을 특징으로 하는 이중화 시스템의 제어 방법.
  12. 제7항, 제9항 내지 제11항 중 어느 하나의 항에 기재된 이중화 시스템의 제어 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR20120156735A 2012-12-28 2012-12-28 이중화 시스템 및 이중화 시스템의 제어 방법 KR101485644B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20120156735A KR101485644B1 (ko) 2012-12-28 2012-12-28 이중화 시스템 및 이중화 시스템의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120156735A KR101485644B1 (ko) 2012-12-28 2012-12-28 이중화 시스템 및 이중화 시스템의 제어 방법

Publications (2)

Publication Number Publication Date
KR20140086364A KR20140086364A (ko) 2014-07-08
KR101485644B1 true KR101485644B1 (ko) 2015-01-22

Family

ID=51735668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120156735A KR101485644B1 (ko) 2012-12-28 2012-12-28 이중화 시스템 및 이중화 시스템의 제어 방법

Country Status (1)

Country Link
KR (1) KR101485644B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7277229B2 (ja) * 2019-04-12 2023-05-18 ファナック株式会社 制御装置、制御方法及び制御プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000021045A (ko) * 1998-09-25 2000-04-15 차동해 컴퓨터 제어의 이중화 방법 및 그 시스템
JP2002373349A (ja) 2001-06-15 2002-12-26 Sony Corp 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法
JP2003067234A (ja) 2001-08-29 2003-03-07 Landscape:Kk データベース管理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000021045A (ko) * 1998-09-25 2000-04-15 차동해 컴퓨터 제어의 이중화 방법 및 그 시스템
JP2002373349A (ja) 2001-06-15 2002-12-26 Sony Corp 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法
JP2003067234A (ja) 2001-08-29 2003-03-07 Landscape:Kk データベース管理システム

Also Published As

Publication number Publication date
KR20140086364A (ko) 2014-07-08

Similar Documents

Publication Publication Date Title
US10379953B2 (en) Distributed object storage system
US7444540B2 (en) Memory mirroring apparatus and method
US9715436B2 (en) System and method for managing raid storage system having a hot spare drive
US20130282668A1 (en) Automatic repair of corrupt hbases
US8041984B2 (en) Redundancy information for adjusting threshold for component failure in a multi-layer system
US20050246576A1 (en) Redundant system utilizing remote disk mirroring technique, and initialization method for remote disk mirroring for in the system
US7549112B2 (en) Unique response for puncture drive media error
JP2006172320A (ja) データ複製制御装置
US9280453B1 (en) Method and system for test automation framework for backup and recovery applications
KR101485644B1 (ko) 이중화 시스템 및 이중화 시스템의 제어 방법
US7487294B2 (en) RAID systems and setup methods thereof
JP2005099995A (ja) 磁気ディスク装置のディスク共有方法及びシステム
JP2006268502A (ja) アレイコントローラ、メディアエラー修復方法及びプログラム
JP2009040199A (ja) 運行管理用フォルトトレラントシステム
WO2016051573A1 (ja) 分散型制御システム用制御機器
CN105785977A (zh) 车辆的电控系统的数据存储方法及电控系统
WO2021043246A1 (zh) 数据读取方法及装置
CN113703683A (zh) 一种单一的优化冗余存储系统的装置
WO2020214391A1 (en) Multilevel resiliency
JP2008084168A (ja) 情報処理装置及びデータ修復方法
JPH1084275A (ja) 論理回路
JP4831093B2 (ja) ディスクアレイシステム、ディスクアレイ制御方法およびディスクアレイ制御プログラム
JP6705255B2 (ja) 制御装置、制御方法及びプログラム、および、ストレージシステム
Proenza et al. Using FTT and stars to simplify node replication in CAN-based systems
JP5125722B2 (ja) ディスクアレイシステム、ディスク装置、筐体間ミラーリング方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee