KR20010071104A - 통신장치의 이중화 방법 및 이중화된 프로세서 장치 - Google Patents

통신장치의 이중화 방법 및 이중화된 프로세서 장치 Download PDF

Info

Publication number
KR20010071104A
KR20010071104A KR1019990065303A KR19990065303A KR20010071104A KR 20010071104 A KR20010071104 A KR 20010071104A KR 1019990065303 A KR1019990065303 A KR 1019990065303A KR 19990065303 A KR19990065303 A KR 19990065303A KR 20010071104 A KR20010071104 A KR 20010071104A
Authority
KR
South Korea
Prior art keywords
processor
unit
redundant
memory
active unit
Prior art date
Application number
KR1019990065303A
Other languages
English (en)
Other versions
KR100362572B1 (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 KR1019990065303A priority Critical patent/KR100362572B1/ko
Publication of KR20010071104A publication Critical patent/KR20010071104A/ko
Application granted granted Critical
Publication of KR100362572B1 publication Critical patent/KR100362572B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/54558Redundancy, stand-by
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13166Fault prevention
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13167Redundant apparatus

Abstract

가. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 통신장치의 이중화방법 및 이중화된 프로세서 장치에 관한 것이다.
나. 발명이 해결하고자 하는 기술적 과제
본 발명은 이중화된 프로세서 장치에서 보호절체후 스탠바이 유니트가 액티브 유니트로서 정상동작하기까지 소요되는 시간을 최소화하여 서비스 지연 및 가입자 호 파괴를 최소화한다.
다. 발명의 해결방법의 요지
통신장치의 이중화된 프로세서 장치중 액티브 유니트의 프로세서가 프로그램 수행시 발생되는 제1데이타를 상기 이중화된 프로세서 장치가 구비하는 메모리에 컨커런트하게 저장하는 단계와, 보호절체시 상기 액티브 유니트의 프로세서가 자신이 수행하던 프로그램을 계속하여 수행할 때에 필요로 하는 제2데이타를 스탠바이 유니트의 프로세서에 제공하는 단계와, 상기 스탠바이 유니트의 프로세서가 상기 제1 및 제2데이타를 이용하여 액티브 유니트의 프로세서가 수행하던 프로그램을 계속하여 수행하는 단계를 구비하는 것을 특징으로 한다.
라. 발명의 중요한 용도
본 발명은 통신장치에 사용될 수 있다

Description

통신장치의 이중화 방법 및 이중화된 프로세서 장치{DUPLICATION METHOD AND DUPLICATION PROCESSOR APPARATUS FOR COMMUNICATION APPARATUS}
본 발명은 통신장치에 관한 것으로, 특히 통신장치의 이중화방법 및 이중화된 프로세서 장치에 관한 것이다.
통상적으로 통신장치를 이루는 일반 유니트 한 장에 문제가 생길 경우에는 서비스에 큰 문제가 발생하지 않지만, 그 통신장치를 전반적으로 제어하는 메인 프로세서 장치에 문제가 발생하면 전체 서비스에 마비가 생긴다. 이에따라 통신장치의 안정성을 높이기 위하여 메인 프로세서 장치는 이중화 구조를 채택하고 있다. 이러한 이중화는 액티브 유니트에서 경보나 할트(HALT)가 발생될 경우에 액티브 유니트와 스탠바이 유니트를 절체함으로써 계속하여 통신장치의 제어를 수행할 수 있도록 하는 것이다.
통상적인 통신장치에서의 이중화된 프로세서 장치의 블럭구성도를 도시한 도 1을 참조하면, 상기 이중화된 프로세서 장치는 제1프로세서 장치(100)와 제2프로세서 장치(200)로 구성된다. 상기 제1프로세서 장치(100)는 CPU(102)와 어드레스 버퍼(104)와 데이타 버퍼(106)와 듀얼포트램(DUAL PORT RAM;이하 DPRAM이라 칭함)(108)으로 구성되며, 상기 제2프로세서 장치(200)는 CPU(202)와 어드레스 버퍼(204)와 데이타 버퍼(206)와 DPRAM(208)으로 구성된다.
상기 제1프로세서 장치(100) 및 제2프로세서 장치(200)는 각 장치의 상태 등에 따라 액티브 유니트 또는 스탠바이 유니트로 설정되며, 이는 보호절체되기도 한다. 상기 보호절체시 액티브 유니트는 커뮤니케이션 메모리를 이용하여 수행중이던 어플리케이션 정보 등을 스탠바이 유니트로 제공한다. 상기 커뮤니케이션 메모리는 상기 제1프로세서 장치(100)가 액티브 유니트로 설정될 경우에 제2프로세서 장치(200)의 DPRAM(208)이 되고, 제2프로세서 장치(200)가 액티브 유니트로 설정될 경우에는 제1프로세서 장치(100)의 DPRAM(108)이 된다. 상기 DPRAM(108,208)를 엑세스하기 위한 어드레스 버퍼(104,204)와 데이타 버퍼(106,206)는 액티브 유니트에 의해 점유된다. 그리고 스탠바이 유니트의 DPRAM의 버스는 액티브 유니트의 선택신호(STAND-BY DPRAM CS)에 따라 결정된다. 즉 상기 DPRAM(108,208)은 액티브 유니트와 스탠바이 유니트가 엑세스할 수 있도록 패스를 열어 액티브 유니트와 스탠바이 유니트간의 통신을 가능하게 한다.
상술한 바와 같이 종래에는 통신장치의 프로세서 장치를 이중화 구조로 설계하였는데, 보호절체가 이루어진 후에 스탠바이 유니트는 액티브 유니트로서 동작하기 위해 리셋(reset)하거나 커뮤니케이션 메모리의 정보를 읽어 어플리케이션을 다시 시작하였다.
이에따라 스탠바이 유니트가 액티브 유니트로서 동작하기까지 걸리는 시간은 OS 부팅(OS booting) 시간, 커넬 부팅(Kernel Booting) 시간, 어플리케이션 부팅(Application Booting) 시간 등을 합한 시간으로, 이 시간이 경과된 후에야 액티브 유니트로서 정상적인 동작을 할 수 있었다. 그런데 이러한 시간이 경과될 동안에는 서비스가 지연될 뿐만 아니라 그 동안에 발생된 가입자 호(User Call)들은 파괴되는 문제점이 있었다.
상술한 바와 같이 종래 이중화된 프로세서 장치에서, 보호절체가 이루어지면 그 보호절체가 이루어진 시점에서부터 스탠바이 유니트가 액티브 유니트로서 정상동작하기까지 소요되는 시간이 길어, 서비스 지연 및 가입자 호 파괴 등이 야기되는 문제점이 있었다.
따라서 본 발명의 목적은 이중화된 프로세서 장치에서 보호절체후 스탠바이유니트가 액티브 유니트로서 정상동작하기까지 소요되는 시간을 최소화하여 서비스 지연 및 가입자 호 파괴를 최소화하는 통신장치의 이중화방법 및 이중화된 프로세서 장치를 제공함에 있다.
도 1은 종래의 이중화된 프로세서 장치의 블럭구성도,
도 2는 본 발명의 바람직한 제1실시예에 따른 이중화된 프로세서 장치의 블럭구성도,
도 3은 도 2의 CPU의 처리흐름도,
도 4는 도 2의 리플래쉬 제어부의 처리흐름도,
도 5는 본 발명의 바람직한 제2실시예에 따른 보호절체 상태도.
상술한 목적을 달성하기 위한 본 발명은 통신장치의 이중화된 프로세서 장치중 액티브 유니트의 프로세서가 프로그램 수행시 발생되는 제1데이타를 상기 이중화된 프로세서 장치가 구비하는 메모리에 컨커런트하게 저장하는 단계와, 보호절체시 상기 액티브 유니트의 프로세서가 자신이 수행하던 프로그램을 계속하여 수행할 때에 필요로 하는 제2데이타를 스탠바이 유니트의 프로세서에 제공하는 단계와, 상기 스탠바이 유니트의 프로세서가 상기 제1 및 제2데이타를 이용하여 액티브 유니트의 프로세서가 수행하던 프로그램을 계속하여 수행하는 단계를 구비하는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부 도면에서 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있으나, 이들 특정 상세들은 본 발명의 설명을 위해 예시한 것으로 본 발명이 그들에 한정됨을 의미하는 것은 아니다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
본 발명의 바람직한 제1실시예에 따른 이중화된 프로세서 장치의 구성도를도시한 도 2를 참조하면, 상기 이중화된 프로세서 장치는 제1프로세서 장치(300)와 제2프로세서 장치(400)로 구성된다. 상기 제1프로세서 장치(300)와 제2프로세서 장치(400)의 구성과 동작은 동일하므로, 이하 제1프로세서 장치(300)의 구성과 동작만을 설명한다. 먼저 상기 제1프로세서 장치(300)의 구성을 설명한다. 상기 제1프로세서 장치(300)의 CPU(302)는 통신장치를 전반적으로 제어한다. ROM(304)에는 상기 CPU(302)의 부팅 프로그램이 저장되며, 상기 CPU(302)는 그 부팅 프로그램 수행시 발생된 데이타를 DRAM(310)에 저장한다. 이를 위해 셀프 경로가 인에이블되며, 상기 셀프 경로는 데이타 경로와 어드레스 경로로 이루어지며, 상기 셀프 경로의 데이타 경로는 'CPU(302)→제1셀프 버퍼(306)→DRAM(310)'으로 이루어지고, 상기 셀프 경로의 어드레스 경로는 'CPU(302)→제2셀프 버퍼(308)→DRAM(310)'으로 이루어진다. 이러한 셀프 경로의 인에이블을 위해 CPU(302)는 부팅 프로그램이 수행되는 동안 제1셀프버퍼(306)와 제2셀프버퍼(308)를 인에이블하는 버퍼제어신호를 버퍼제어신호 발생부(312)가 발생하도록 제어한다.
그리고 상기 CPU(302)는 부팅 프로그램의 수행이 완료되면 제1프로세서 장치(300)가 초기에 액티브 유니트로서 동작하도록 정해졌는지를 검색하여 그럴 경우에 OS 부팅 및 어플리케이션 프로그램을 수행하고, 그 수행시 발생되는 데이타가 DRAM(310)과 제2프로세서 장치(400)의 DRAM(410)에 컨커런트(concurrent)하게 저장한다. 이를 위해 로컬 경로와 리모트 경로가 인에이블되며, 상기 로컬 경로는 데이타 경로와 어드레스 경로로 이루어지며, 상기 로컬 경로의 데이타 경로는 'CPU(302)→제1로컬 버퍼(314)→제1리모트 버퍼(318)→DRAM(310)'으로 이루어지고,상기 로컬 경로의 어드레스 경로는 'CPU(302)→제2로컬 버퍼(316)→제2리모트 버퍼(320)→DRAM(310)'으로 이루어진다. 이러한 로컬 경로의 인에이블을 위해 CPU(302)는 액티브 유니트로 동작하는 동안 제1,제2리모트 버퍼(318,320), 제1,제2로컬버퍼(314,316)를 인에이블하는 버퍼제어신호를 버퍼제어신호 발생부(312)가 발생하도록 제어한다. 그리고 상기 리모트 경로는 데이타 경로와 어드레스 경로로 이루어지며, 상기 리모트 경로의 데이타 경로는 'CPU(302)→제1로컬 버퍼(314)→제2프로세서 장치(400)의 제1리모트 버퍼(418)→제2프로세서 장치(400)의 DRAM(410)'으로 이루어지고, 상기 리모트 경로의 어드레스 경로는 'CPU(302)→제2로컬 버퍼(316)→제2프로세서 장치(400)의 제2리모트 버퍼(420)→제2프로세서 장치(400)의 DRAM(410)'으로 이루어진다. 이러한 리모트 경로의 인에이블을 위해 스탠바이 유니트로 동작하는 프로세서 장치의 CPU는 스탠바이 유니트로 동작하는 동안 리모트 버퍼들을 인에이블하는 버퍼제어신호를 버퍼제어신호 발생부가 발생하도록 제어한다.
상기와 같이 액티브 유니트로 동작하던 제1프로세서 장치(300)의 보호절체시에 상기 CPU(302)는 코어(core) 레지스터 값을 DRAM(310,410)에 컨커런트하게 저장한 후에 SCC(Serial Communication Channel)를 통해 제2프로세서 장치(400)의 CPU(402)에 코어 레지스터 값을 리드해가도록 하는 신호를 제공한다. 상기 코어 레지스터 값은 현재의 동작상태를 나타내는 각종 플래그와 프로그램 카운터, 각종 포인터 등이 될 수 있다. 상기 신호의 제공후에 CPU(302)는 로컬 경로를 디스에이블 시키기 위하여 제1로컬 버퍼(314) 및 제2로컬 버퍼(316)를 디스에이블하도록 하는버퍼제어신호를 발생하도록 버퍼제어신호 발생부(312)를 제어한다. 또한 상기 CPU(302)는 제2프로세서 장치(400)에 의한 컨커런트한 저장을 가능하게 하기 위해 제1리모트 버퍼(314) 및 제2리모트 버퍼(316)는 인에이블시키도록 버퍼제어신호 발생부(312)를 제어한다.
그리고 CPU(302)는 부팅 프로그램의 수행이 완료된 후 제1프로세서 장치(300)가 초기에 스탠바이 유니트로서 동작하도록 정해졌는지를 검색하여 그럴 경우에는 제2프로세서 장치(400)의 CPU(402)가 리모트 경로를 통해 DRAM(310)의 OS 및 어플리케이션 프로그램 수행중 발생된 데이타를 저장할 수 있도록 제2프로세서 장치(400)의 리모트 경로를 인에이블시킨다. 상기 제2프로세서 장치(400)의 리모트 경로의 인에이블을 위해 상기 CPU(302)는 제1리모트 버퍼(318)와 제2리모트 버퍼(320)를 인에이블하는 버퍼제어신호를 버퍼제어신호 발생부(312)가 발생하도록 제어한다. 여기서 스탠바이 유니트의 CPU(302)는 OS 구동없이 단순히 SCC를 통한 통신만이 가능한 상태로 동작한다.
상기와 같이 스탠바이 유니트로 동작하던 제1프로세서 장치(300)의 보호절체시에 상기 CPU(302)에는 제2프로세서 장치(400)로부터 SCC를 통해 컨커런트하게 저장된 제2프로세서 장치(400)의 CPU(402)의 코어 레지스터 값을 리드해 가라는 신호가 제공되며, 상기 제1프로세서 장치(300)의 CPU(300)는 상기 신호에 따라 제2프로세서 장치(400)의 CPU(402)가 DRAM(301)에 저장해둔 코어 레지스터 값과, 제2프로세서 장치(400)의 CPU(402)가 저장해둔 OS 및 어플리케이션 프로그램 수행중 발생된 데이타를 이용하여 DRAM(310)의 스타트 업(START UP)상태까지 복구하여 이전에제2프로세서 장치(400)의 CPU(402)가 수행하던 OS 및 어플리케이션 프로그램을 계속하여 수행한다. 이와같이 OS 및 어플리케이션 프로그램을 수행하면서 발생된 각종 데이타를 컨커런트하게 저장한다.
상기와 같이 CPU(302)는 제1프로세서 장치(300)의 상태에 따라 셀프 경로, 로컬 경로, 리모트 경로를 인에이블하기 위해 버퍼제어신호 발생부(312)를 제어한다. 즉, CPU(302)는 부팅시에는 셀프 경로를 인에이블하기 위해 제1,제2셀프 버퍼(306,308)를 인에이블하도록 하는 신호를 발생시키도록 버퍼제어신호 발생부(312)를 제어하고, 액티브 유니트로 동작할 때에는 로컬 경로를 인에이블하기 위해 제1,제2로컬 버퍼(314,316)와 제1,제2리모트 버퍼(318,320)를 인에이블하도록 하는 신호를 발생시키도록 버퍼제어신호 발생부(312)를 제어하고, 스탠바이 유니트로 동작할 때에는 상대 장치에 의한 리모트 경로가 인에이블되도록 하기 위해 제1,제2리모트 버퍼(318,320)만이 인에이블되도록 하는 신호는 발생시키도록 버퍼제어신호 발생부(312)를 제어한다.
그리고 시그널 체크로직부(322)는 하드웨어적으로 시그널의 주기적인 파형의 형태를 체크하여 경보를 검출하여 경보로직부(324)에 제공하며, 상기 경보로직부(324)는 시그널 체크로직부(322)가 경보검출을 알리면 소프트웨어적으로도 에러상태인지를 체크하여 그럴 경우에는 경보를 나타내는 인터럽트를 CPU(302)에 제공한다. 상기 CPU(302)는 제1프로세서 장치(300)가 액티브 유니트로 동작할 때에 경보를 나타내는 인터럽트가 발생되면 DRAM(310)과 DRAM(410)에 코어 레지스터 값을 저장한 후에 SCC를 통해 그 코어 레지스터 값을 리드해가도록 하는 신호를제공한다. 그후 CPU(302)는 OS 및 어플리케이션 프로그램의 수행에 따라 발생된 데이타의 저장을 중단하고, 타스크를 정리한 후에 스탠바이 유니트로 동작한다.
리플래쉬 제어부(330)는 버퍼(328)를 통해 제2프로세서 장치(400)의 상태정보를 제공받아, 제2프로세서 장치(400)가 액티브 유니트로 동작하는 동안 DRAM(310)의 리플래쉬를 담당한다. 또한 제2프로세서 장치(400)의 리플래쉬 제어부(430)의 DRAM(410) 리플래쉬 동작을 위해 CPU(302)는 초기 및 보호절체가 일어날 때마다 자신의 상태정보를 버퍼(326,428)를 통해 제2프로세서 장치(400)의 리플래쉬 제어부(430)에 제공한다.
리플래쉬 버퍼(332)는 CPU(302)의 제어에 따라 제1 및 제2프로세서 장치(300,400)중 어느 하나도 액티브 유니트로 동작하지 않는 경우, 즉 두 장치의 역할이 정해지지 않은 경우에 DRAM(310)의 리플래쉬를 담당한다.
상기 제1실시예에서는 액티브 유니트로 동작할 때에는 CPU가 직접 DRAM의 리플래쉬를 담당하고, 스탠바이 유니트로 동작할 때에는 리플래쉬 제어부가 DRAM의 리플래쉬를 담당하게 하였다. 또한 스탠바이 유니트로 동작할 때를 리플래쉬 제어부가 판단할 수 있도록 상대장치의 CPU가 리플래쉬 제어부에 상태정보를 제공하도록 하였다. 그러나 이와달리 CPU가 표 1에 나타낸 플래그에 상태정보를 실어 상대장치의 CPU에 제공하여, 그 CPU가 제공받은 상태정보에 따라 DRAM의 리플래쉬 방식을 선택할 수 있게 할 수도 있다. 즉 CPU가 상대장치의 상태정보를 제공받아 상대장치의 상태가 액티브 유니트이면 리플래쉬 제어부를 통해 DRAM을 리플래쉬하고, 상대장치의 상태가 스탠바이 유니트이면 직접 DRAM을 리플래쉬하게 할 수 있다.
아울러 상기 DRAM의 리플래쉬의 시기와 보호절체시기가 비동기적이므로, 보호절체를 수행할 때에도 DRAM을 리플래쉬하여 리플래쉬가 필요한 시점을 얼마 안남기고 보호절체를 수행하는 경우에도 정보가 유실되지 않도록 하는 것이 바람직하다.
또한 상기 제1실시예에서는 DRAM을 사용함에 따라 리플래쉬 절차가 요구되었으나, DRAM 대신 SRAM을 채용하는 경우에는 리플래쉬를 수행하지 않아도 된다.
이제 제1프로세서 장치(300)의 동작을 도 3에 도시한 처리 흐름도를 참조하여 설명한다. 도 3의 (500)단계에서 제1프로세서 보드(300)의 CPU(302)는 초기화를 수행한다. 즉 상기 CPU(302)는 롬(304)에 저장된 부팅 프로그램을 리드하여 수행함과 아울러 그 부팅 프로그램 수행시 발생되는 데이타를 셀프경로를 통해 DRAM(310)에 저장한다. 또한 상기 CPU(302)는 상기 초기화시에 제1프로세서 장치(300)와 제2프로세서 장치(400)간의 통신채널인 SCC의 초기화를 수행할 수 있다. 또한 상기 CPU(302)는 제1프로세서 장치(300)의 DRAM(310)과 제2프로세서 장치(400)의 DRAM(410)에서 컨커런트하게 데이타가 라이트되는 영역에 대해 일치화를 수행할 수있다. 이후 CPU(302)는 (502)단계로 진행하여 제1프로세서 보드(300)가 초기화후에 액티브 유니트로 동작하게끔 설정되었는지를 검색한다. 이러한 설정은 이중화된 프로세서 장치의 제조시에 미리 설정될 수 있는데, 이는 표 1에 나타낸 레지스터에 보드식별정보로서 기록될 수 있다. 이런 경우 CPU는 이렇게 기록된 보드식별정보를 이용하여 초기에 액티브 유니트로 동작하게 설정되었는지 그렇지 않은지를 알 수 있게 된다. 이때 CPU(302)는 제1프로세서 보드(300)가 초기화후에 액티브 유니트로 동작하게끔 설정되어 있으면 (504)단계로 진행하여 OS 및 어플리케이션 프로그램을 수행함과 아울러 그 OS 및 어플리케이션 프로그램 수행중 발생되는 데이타를 로컬경로와 리모트경로를 통해 DRAM(310,410)에 컨커런트하게 저장한다. 또한 CPU(302)는 DRAM(310)의 리플래쉬를 담당한다. 이후 CPU(302)는 (506)단계로 진행하여 제1프로세서 보드(300)의 상태정보를 버퍼(326,428)를 통해 상대장치인 제2프로세서 장치(400)의 리플래쉬 제어부(430)에 제공한다. 여기서 상기 상태정보는 제1프로세서 장치(300)가 액티브 유니트로 동작하는지, 스탠바이 유니트로 동작하는지를 나타내는 정보가 포함된다.
이후 CPU(302)는 (508)단계로 진행하여 시그널 체크로직부(322)가 경보를 검출하여 경보로직부(324)가 그에 따라 경보를 나타내는 인터럽트를 발생하는지를 검색한다.
여기서 인터럽트의 종류는 표 2와 같다.
이러한 인터럽트들은 표 3에 나타낸 인터럽트 레지스터를 통해 CPU(302)로 통보될 수 있다.
상기와 같은 인터럽트중 상기 경보로직부(324)가 자기 유니트 경보 인터럽트를 발생하면 CPU(302)는 액티브 유니트에서 스탠바이 유니트로의 보호절체를 수행하여야 할 때로 판단한다. 이렇게 보호절체를 수행하여야 할 때로 판단되면 CPU(302)는 (510)단계로 진행하여 코어 레지스터 값을 컨커런트하게 저장한 후에 그 코어 레지스터 값을 리드해도록 하는 신호는 SCC를 통해 상대장치에 제공한다. 그후 CPU(302)는 컨커런트하게 저장하던 것을 중단하고 수행중이던 타스크를 정리한다. 아울러 상기 CPU(302)는 스탠바이 유니트의 상태에서 액세스할 수 있는 메모리 영역으로 인터럽트 벡터 테이블을 초기화한다. 이러한 인터럽트 벡터 테이블의 초기화는 스탠바이 유니트로 부팅될 때에도 수행된다. 아울러 상기 CPU(302)는 상기와 같은 보호절체를 위한 동작을 수행하기 전에 DRAM(310,410)을 리플래쉬하여 보호절체를 위한 동작을 수행하기 전에 DRAM(310,410)에 저장되어 있던 데이타가 손상되지 않도록 할 수도 있다.
이후 CPU(302)는 (512)단계로 진행하여 상대장치가 리모트 경로를 통해 DRAM(310,410)에 컨커런트하게 저장할 수 있도록 하기 위해 제1,제2리모트 버퍼(318,320)를 인에이블시키는 버퍼제어신호를 발생하도록 버퍼제어신호 발생부(312)를 제어한다. 또한 CPU(302)는 DRAM(310)의 리플래쉬를 중단하며, 이후 DRAM(310)의 리플래쉬는 리플래쉬 제어부(330)에 의해 계속된다.
(514)단계에서 상기 CPU(302)는 제1프로세서 장치(300)의 상태정보를 상대장치인 제2프로세서 장치(400)의 리플래쉬 제어부(430)에 제공한다. 이후 CPU(302)는 (516)단계로 진행하여 제2프로세서 장치(400)가 SCC를 통해 코어 레지스터 값을 리드해가도록 하는 신호를 제공하는지를 검색한다. 이때 상기 신호가 제공되면 CPU(302)는 보호절체를 수행하여야 할 때로 판단하여 (518)단계로 진행한다. 상기 (518)단계에서 CPU(302)는 DRAM(310)에 저장된 코어 레지스터 값과 프로그램 수행시 발생된 데이타를 이용하여 제2프로세서 장치(400)가 수행하던 OS와 어플리케이션 프로그램을 계속하여 수행한다. 또한 상기 CPU(302)는 액티브 유니트의 CPU(302)가 담당하는 DRAM 리플래쉬나, 프로그램 수행시 발생된 데이타의 컨커런트한 저장을 수행한다. 이렇게 액티브 유니트로서 동작하는 중에 CPU(302)는 (508)단계로 진행하여 다시 보호절체가 발생되는지를 검색한다.
상기와 같이 본 발명은 이중화된 프로세서 장치중 액티브 유니트가 OS 및 어플리케이션 프로그램 수행중에 발생되는 데이타를 실시간으로 스탠바이 유니트에 업데이트한다. 이런 상태에서 보호절체가 발생하면 액티브 유니트가 프로그램 시작점에 관련된 각종 포인터나 플래그, 프로그램 카운터 등의 코어 레지스터 값을 스탠바이 유니트에 제공하여, 스탠바이 유니트가 부팅 프로그램이나, OS 부팅이나 어플리케이션 프로그램의 재시작등의 과정없이 액티브 유니트가 수행하던 OS와 어플리케이션 프로그램을 계속하여 수행할 수 있도록 한다. 이러한 방식으로 보호절체를 수행함에 따라 보호절체시에 소요되는 시간이 매우 줄어들 뿐만 아니라, 데이타 복구율도 향상된다.
여기서, 상대장치로부터 제공되는 상태정보에 따라 DRAM을 자제적으로 리플래쉬하는 리플래쉬 제어부의 동작을 제1프로세서 장치(300)에 구비된 리플레쉬 제어부(330)의 처리흐름도를 도시한 도 4를 참조하여 설명한다. 도 4의 (600)단계에서 리플래쉬 제어부(330)는 상대장치인 제2프로세서 장치(400)의 CPU(402)가 상태정보를 제공하면 (602)단계로 진행하여 그 상태정보가 상대장치가 액티브 유니트임을 나타내는지를 검색한다. 상기 리플래쉬 제어부(330)는 상태정보가 상대장치가 액티브 유니트임을 나타내면 (604)단계로 진행하여 DRAM(310)을 리플래쉬한다.
상기 본 발명의 바람직한 실시예에서는 보호절체의 조건으로 자기 유니트에서의 경보발생만을 예로 들었으나, 상기 보호절체의 조건으로는 자기 유니트의 리셋, 상대 유니트의 리셋, 상대 유니트의 탈장, 상대 유니트의 실장 등이 더 포함될 수 있다. 이제 상술한 바와 같은 다양한 보호절체의 조건에 따라 보호절체를 수행하는 본 발명의 바람직한 제2실시예를 도 5에 도시한 이중화된 프로세서 장치중 어느 한 프로세서 장치의 처리 상태도를 참조하여 설명한다.
제1상태는 프로세서 장치에 전원이 제공될 때(POWER ON)의 초기 부팅상태로서, 이러한 초기 부팅이 완료되면 프로세서 장치는 자신이 액티브 유니트로 동작하게 설정되었는지, 그렇지 않은지를 검색한다. 상기 프로세서 장치는 자신이 초기에 액티브 유니트로 동작하게 설정되었으면 (700)경로를 따라 제2상태로 진입하고, 그렇지 않으면 (716)경로를 따라 제5상태로 진입한다. 상기 제2상태는 액티브 유니트로 동작을 시작하는 상태로서, 상기 제2상태에서 프로세서 장치는 자기 유니트에서의 리셋이 발생되면 (702)경로를 따라 다시 제1상태로 진입하고, 그렇지 않으면 (704)경로를 따라 컨커런트 라이트를 요구하여 제3상태로 진입한다. 상기 제3상태에서 프로세서 장치는 컨커런트하게 라이트되는 메모리 영역을 일치화하기 위해 메모리 리드 라이트를 수행한다. 이러한 메모리 일치화가 완료되면 프로세서 장치는 (710)경로를 통해 액티브 유니트로서 동작하는 상태인 제4단계로 진입한다. 그리고 상기 제3상태에서 메모리 일치화중 자기 유니트에서의 리셋이 발생되면 (708)경로를 따라 제1상태로 진입한다. 그리고 상기 액티브 유니트로 동작하는 제4상태에서 프로세서 장치는 프로그램 수행중 발생되는 데이타를 이중화된 프로세서 장치의 이중화된 메모리에 컨커런트하게 라이트한다. 이러한 제4상태에서 상기 프로세서 장치는 상대 유니트의 리셋이나 상대 유니트의 탈장이 발생되면 (712)경로를 따라 제2상태로 진입하고, 자기 유니트의 리셋이 발생되면 (714)경로를 따라 제1상태로 진입한다. 상기 제5상태는 프로세서 장치가 스탠바이 유니트로 동작을 시작하는 상태이며, 이런 제5상태에서 프로세서 장치는 자기 유니트 리셋이나 상대 유니트 리셋이나 상대 유니트 탈장이 발생되면 (718)경로를 따라 제1상태로 진입하고, 그렇지 않으면 (720)경로를 통해 정상적인 스탠바이 유니트로서의 동작을 수행하는 상태인 제6상태로 진입한다. 상기 제6상태에서 프로세서 장치는 상대 유니트에 리셋이 발생되면 보호절체를 위해 (722)경로를 따라 제2상태로 진입한다.
상술한 바와 같이 본 발명의 바람직한 제2실시예에서는 스탠바이 유니트가 보호절체할 때에 부팅부터 수행하기 위해 제1단계로 진입하는 것이 아니라, 부팅을 생략한채 직접 액티브 유니트로서의 동작을 시작하는 제2단계로 진입한다. 이에따라 보호절체시 소요되는 시간을 감소시킬 수 있게 된다.
상술한 바와 같이 본 발명은 이중화된 프로세서 장치에서 보호절체후 스탠바이 유니트가 액티브 유니트로서 정상동작하기까지 소요되는 시간을 최소화하여 서비스 지연 및 가입자 호 파괴를 최소화할 수 있는 이점이 있다.

Claims (10)

  1. 통신장치의 이중화 방법에 있어서,
    상기 통신장치의 이중화된 프로세서 장치중 액티브 유니트의 프로세서가 프로그램 수행시 발생되는 제1데이타를 상기 이중화된 프로세서 장치가 구비하는 메모리에 컨커런트하게 저장하는 단계와,
    보호절체시 상기 액티브 유니트의 프로세서가 자신이 수행하던 프로그램을 계속하여 수행할 때에 필요로 하는 제2데이타를 스탠바이 유니트의 프로세서에 제공하는 단계와,
    상기 스탠바이 유니트의 프로세서가 상기 제1 및 제2데이타를 이용하여 액티브 유니트의 프로세서가 수행하던 프로그램을 계속하여 수행하는 단계를 구비하는 것을 특징으로 하는 통신장치의 이중화방법.
  2. 제1항에 있어서,
    상기 제2데이타가 액티브 유니트의 프로세서의 코어 레지스터 값임을 특징으로 하는 통신장치의 이중화방법.
  3. 제1항에 있어서, 상기 제2데이타를 제공하는 단계가,
    상기 액티브 유니트의 프로세서가 상기 제2데이타를 상기 메모리에 컨커런트하게 저장하는 단계와,
    상기 액티브 유니트의 프로세서가 상기 스탠바이 유니트의 프로세서에 자신의 프로세서 장치에 구비된 메모리에 저장되어 있는 제2데이타를 리드해가도록 하는 신호를 제공하는 단계와,
    상기 스탠바이 유니트의 프로세서가 상기 제2데이타를 리드해가는 단계로 구성됨을 특징으로 하는 통신장치의 이중화방법.
  4. 통신장치의 이중화된 프로세서 장치에 있어서,
    이중화된 메모리와,
    액티브 유니트로 동작할 때에는 프로그램 수행중 발생되는 데이타를 상기 이중화된 메모리에 컨커런트하게 저장하며, 액티브 유니트였다가 스탠바이 유니트로 보호절체될 때에는 수행중이던 프로그램을 계속하여 수행할 때에 필요로 하는 각종 데이타를 스탠바이 유니트였던 프로세서로 제공하고, 스탠바이 유니트였다가 액티브 유니트로 보호절체될 때에는 액티브 유니트로 동작하던 프로세서로부터 액티브 유니트가 수행하던 프로그램을 계속하여 수행할 때에 필요로 하는 각종 데이타를 제공받아 그 프로그램을 계속하여 수행하는 이중화된 프로세서를 구비하는 것을 특징으로 하는 통신장치의 이중화된 프로세서 장치.
  5. 제4항에 있어서, 상기 이중화된 프로세서 중 어느 하나가,
    액티브 유니트로 동작할 때에는 자신의 데이타 입출력을 가능하게 하는 제1버퍼와, 상기 이중화된 메모리중 자신이 구비하는 메모리를 액세스하기 위한 제2버퍼를 인에이블하고,
    스탠바이 유니트로 동작할 때에는 상대 프로세서가 자신이 구비하는 메모리를 액세스할 수 있도록 상기 제2버퍼를 인에이블하고,
    상기 액티브 유니트로 동작할 때에는 프로그램 수행시 발생되는 데이타를 상기 이중화된 메모리에 컨커런트하게 저장함을 특징으로 하는 통신장치의 이중화된 프로세서 장치.
  6. 제4항에 있어서, 상기 이중화된 프로세서 중 어느 하나가,
    초기화시에는 상기 이중화된 메모리중 자신이 구비하는 메모리만을 액세스하기 위한 버퍼를 인에이블하여 부팅 프로그램 운용시 발생되는 데이타를 상기 자신이 구비하는 메모리에 저장함을 특징으로 하는 통신장치의 이중화된 프로세서 장치.
  7. 제6항에 있어서,
    상기 이중화된 메모리는 디램임을 특징으로 하는 통신장치의 이중화된 프로세서 장치.
  8. 제7항에 있어서,
    상기 이중화된 프로세서 각각은 액티브 유니트로 동작하는 동안에는 상기 이중화된 메모리중 자신이 구비하는 메모리의 리플래쉬를 담당함을 특징으로 하는 통신장치의 이중화된 프로세서 장치.
  9. 제8항에 있어서,
    상기 이중화된 프로세서중 어느 하나가 스탠바이 유니트로 동작하는 경우에 자신이 속한 장치의 메모리의 리플래쉬를 담당하는 이중화된 리플래쉬 제어부를 더 구비하는 것을 특징으로 하는 통신장치의 이중화된 프로세서 장치.
  10. 제8항에 있어서,
    상기 이중화된 프로세서중 어느 하나가 역할이 정해지지 않았을 경우에 자신이 속한 장치의 메모리의 리플래쉬를 담당하는 이중화된 리플래쉬 버퍼를 더 구비하는 것을 특징으로 하는 통신장치의 이중화된 프로세서 장치.
KR1019990065303A 1999-12-29 1999-12-29 통신장치의 이중화 방법 및 이중화된 프로세서 장치 KR100362572B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990065303A KR100362572B1 (ko) 1999-12-29 1999-12-29 통신장치의 이중화 방법 및 이중화된 프로세서 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990065303A KR100362572B1 (ko) 1999-12-29 1999-12-29 통신장치의 이중화 방법 및 이중화된 프로세서 장치

Publications (2)

Publication Number Publication Date
KR20010071104A true KR20010071104A (ko) 2001-07-28
KR100362572B1 KR100362572B1 (ko) 2002-11-27

Family

ID=19632500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990065303A KR100362572B1 (ko) 1999-12-29 1999-12-29 통신장치의 이중화 방법 및 이중화된 프로세서 장치

Country Status (1)

Country Link
KR (1) KR100362572B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100525677B1 (ko) * 2002-07-09 2005-11-03 학교법인 두원학원 통신제어모듈의 이중화 장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07162509A (ja) * 1993-12-07 1995-06-23 Nec Corp 電子交換機のプログラム変更方法
JP2630263B2 (ja) * 1994-07-29 1997-07-16 日本電気株式会社 電子交換機
JPH08139732A (ja) * 1994-11-09 1996-05-31 Oki Electric Ind Co Ltd 無瞬断系切替方式およびこの方式による冗長構成を備えた装置
JPH08316957A (ja) * 1995-05-22 1996-11-29 Nec Commun Syst Ltd 二重化ネットワーク管理システム
JPH08331247A (ja) * 1995-06-05 1996-12-13 Nec Corp 交換機の重度障害時の再開制御方式
JPH10248076A (ja) * 1997-03-05 1998-09-14 Fujitsu Ltd ファイル更新時データ引き継ぎ方法
JPH11168559A (ja) * 1997-12-03 1999-06-22 Matsushita Electric Ind Co Ltd 呼制御装置及び該呼制御装置を利用する交換機システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100525677B1 (ko) * 2002-07-09 2005-11-03 학교법인 두원학원 통신제어모듈의 이중화 장치 및 방법

Also Published As

Publication number Publication date
KR100362572B1 (ko) 2002-11-27

Similar Documents

Publication Publication Date Title
US6438668B1 (en) Method and apparatus for reducing power consumption in a digital processing system
US7840768B2 (en) Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support
CN100383739C (zh) 嵌入式操作系统镜像启动的启动优化方法
US20060150010A1 (en) Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support
JPH06236284A (ja) コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
JPH0193837A (ja) デバッグ用マイクロプロセッサ
JPH04362718A (ja) システム再起動装置
JPH10133714A (ja) 集積回路装置
KR100362572B1 (ko) 통신장치의 이중화 방법 및 이중화된 프로세서 장치
KR100338626B1 (ko) 통신시스템의 이중화 방법
CN110134545A (zh) 基于可信执行环境的提供虚拟nvram的方法及系统
US20080313413A1 (en) Method and Device for Insuring Consistent Memory Contents in Redundant Memory Units
USRE45632E1 (en) Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support
JP2006260393A (ja) Cpuシステム
JP2002229692A (ja) 情報処理装置
KR100650574B1 (ko) 피씨아이를 이용한 이중화 장치의 심볼 테이블 복원 방법
JPH06259274A (ja) 二重系システム
JP3579129B2 (ja) ポータブルコンピュータ
KR100560563B1 (ko) 이동통신 교환기에서의 프로세서간 액티브/스탠드바이 이중화장치 및 방법
JPH08220198A (ja) 電池バックアップメモリユニットおよびバックアップ機能試験方法
CN117093143A (zh) 一种输入输出进程处理方法、装置、电子设备及存储介质
JPH04296954A (ja) メモリシステム
JPH1131085A (ja) 二重化システム
JP2005327284A (ja) 多重化システム
JPH04273553A (ja) 計算機システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061018

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee