KR0152240B1 - 메모리 데이타 불일치 검출 및 복구 방법 - Google Patents

메모리 데이타 불일치 검출 및 복구 방법 Download PDF

Info

Publication number
KR0152240B1
KR0152240B1 KR1019950039788A KR19950039788A KR0152240B1 KR 0152240 B1 KR0152240 B1 KR 0152240B1 KR 1019950039788 A KR1019950039788 A KR 1019950039788A KR 19950039788 A KR19950039788 A KR 19950039788A KR 0152240 B1 KR0152240 B1 KR 0152240B1
Authority
KR
South Korea
Prior art keywords
memory
data
error
recovering
memory data
Prior art date
Application number
KR1019950039788A
Other languages
English (en)
Other versions
KR970031695A (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 KR1019950039788A priority Critical patent/KR0152240B1/ko
Publication of KR970031695A publication Critical patent/KR970031695A/ko
Application granted granted Critical
Publication of KR0152240B1 publication Critical patent/KR0152240B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • 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
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
    • 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
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/05Aspects of automatic or semi-automatic exchanges related to OAM&P

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 초기 메모리 데이타 불일치 방법에 추가하여 이중화 운용중에 장애 발생으로 인한 메모리 데이타 불일치를 검출하고 복구되도록 하는 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 구성은, 메모리 동시 쓰기 프로세스와 블럭 단위의 동시쓰기 비교 기능과 발생된 오류에 대하여 복구하는 세가지 처리 기능부를 구비하여 메모리 데이타의 불일치 검출 및 복구를 수행하도록 하였다.
이에 따라 본 발명은 이중화로 운용되는 시스템에 있어서, 이중화의 양측 메모리를 주기적으로 동일화 시킴으로서 이중화 운용을 위한 필수적인 기능을 달성하게 되고, 부분적인 장애가 발생하여도 조기에 복구함으로써 시스템의 신뢰도 및 가용성을 대폭 향상시키는 효과를 가져온다.

Description

메모리 데이타 불일치 검출 및 복구 방법
제1도는 본 발명이 적용되는 하드웨어 시스템의 구성도.
제2도는 본 발명의 전체 흐름도.
제3도는 본 발명의 메모리 데이타 불일치 검출 상세 흐름도.
제4도는 본 발명의 메모리 데이타 비교 상세 흐름도.
제5도는 본 발명의 메모리 데이타 이상 발생시 복구 상세 흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 : PU(프로세서 유니트)
2 : MPMA(주 처리 및 메모리 관리 보드)
3 : MECA(확장 메모리 보드)
4 : PCCA(프로세서간 통신 제어 보드)
5 : DCCA(이중화 운용 제어 보드)
6 : D,C,S-ch(채널)
본 발명은 대용량 전전자 교환 시스템의 이중화 운용에 있어서 메모리 데이타 불일치 검출 및 복구방법에 관한 것이다.
동작(이하, active 라 함) 및 대기(이하, standby 라 함)이 이중화로 운용되는시스템에서, active 프로세서의 장애 발생시에도 절체를 통해서 standby 프로세서가 active 프로세서의 서비스를 계속할 수 있도록 이중화 운용을 한다. 여기서 가장 중요시 요구되는 것은 active와 standby(양측) 프로세서가 항상 동일한 메모리 데이타를 유지하여야만 한다.
종래에는 시스템 초기 출발시에 양측 프로세서의 메모리 데이타 동기화와 메모리 동기쓰기 방식만으로 데이타 일치성 보장을 해왔다. 따라서 메모리 동시쓰기 등의 일시적인 장애 발생시에는 양측데이타의 불일치가 발생할 수 있다. 그리고 장시간 운용중에 전자파 및 전원 불안 등과 같은 외부적인 영향에 의해서 발생한 메모리의 패리티(parity) 오류와 standby 측만의 메모리 이상 발생 등은 이중화 절체시 혹은 정상운용 중에 양측 메모리 데이타 불일치로 인해 다운되는 경우가 발생가능한 문제점이 있었다.
따라서 본 발명은 초기 메모리 데이타 불일치 방법에 추가하여 이중화 운용중에 장애 발생으로 인한 메모리 데이타 불일치를 검출하고 복구되도록 하는 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명은, active측에서 실행되는 주기적인 메모리 데이타 불일치 검출 프로세스를 생성시켜 이중화로 동작 중일 때만 블럭 단위 나누어 처리하는 제1단계와, 상기 제1단계에서 양측 메모리 데이타를 데이타 채널을 통하여 각각 읽고 비교하여 부분적인 이상을 복구하는 제2단계와, 상기 제2단계 수행후, 하드웨어 메모리 이상을 버스 오류 처리 기능을 활용하여 검출하는 제3단계와, 상기 제3단계 수행후, 검출된 오류가 메모리 패리티 오류일 때 이를 정상 데이타로 복구하는 제4단계와, 상기 제4단계 수행후, standby 측의 메모리 이상에 대하여도 Active측의 데이타로 복구하는 제5단계와, 상기 제5단계 수행후, 프로그램의 텍스트/데이타 영역의 데이타 이상유무를 판정하여 절체를 통한 복구와 재시도를 통한 복구를 행하는 제6단계, 및 주기적인 프로세스와 메모리 동시쓰기 비교를 주기적으로 수행하여 데이타를 일치시키는 제7단계를 더 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세히 설명하면 다음과 같다.
제1도는 본 발명이 적용하는 하드웨어 구성도로서, 각 프로세서 유니트(I:PU)는 중앙 처리 장치와 메모리를 가지며 본 발명의 소프트웨어가 탑재되어 동작하는 주처리 장치 및 메모리 관리 보드(2.MPMA)와, 그리고 시스템의 필요한 용량에 따라 확장 가능한 메모리 보드(3.MECA), 주 처리 및 메모리 관리 보드의 제어를 받아 타 프로세서 간의 통신을 담당하는 프로세서간 통신 제어 보드(4.PCCA), 이중화와 관련한 데이타 채널(D-채널), 제어 채널(C-채널) 제어를 담당하며 메모리 동시쓰기 기능을 가지는 이중와 운용 제어 보드(5.DCCA)등이 장착되어 있으며 이 프로세서 유니트가 쌍으로구성되어 이중화 시스템이 된다.
양측간의 고속 데이타 전송은 D-채널을 사용하여 가능하며, 운용상태 및 제어 신호 전송을 위해서 C-채널과 S-채널이 연결되어 있다.
본 발명이 관리하는 메모리 데이타는 MPMA(2) 및 MECA(3)의 전 메모리 영역을 모두 대상으로 하고 있다. 본 발명과 관련하여 주 처리 및 메모리 관리 보드는 이중화 운용시 D-ch과 DCCA(5)의 양측 데이타 읽기/쓰기 기능을 활용하여 양측 프로세서의 메모리 데이타 불일치 검출과 복구를 행하는 소프트웨어를 수행한다.
제2도는 본 발명의 전체 흐름도로서, 이중화로 운용되는 시스템의 메모리 데이타 불일치 검출 및 복구를 수행하는 소프트웨어의 처리 흐름도이다.
시스템이 시동되면 기본적으로 시스템 전체의 상태를 파악할 수 있도록하며 디버깅을 지원하는 시스템 셀(shell) 프로세스가 기동(21)된다. 이 시스템 셀 프로세스는 메모리 데이타 파손을 검출할 수 있는 동시쓰기 비교를 위한 주기적인 프로세스(CWCP)(22)와 장애 본 고안은 프로세스(27)를 생성한다. CWCP(22)는 시스템이 이중화로 운용중이 아니면 데이타 일치를 위한 일이 필요 없으므로 이중화로 운용될때까지 휴지하며(24), 이중화 운용중이면 주기적으로 1 Kbyte 단위의 블럭(block)을 메모리 동시쓰기 비교(BCWC)(23)하는 기능을 행한다. 여기서 블럭(Block) 단위의 비교 기능은 시스템이 운용 중일 때 비교기능에 의한 시스템 성능을 최소이게 하기 위한 것이며 최대 메모리(16∼64MBytes)를 한번에 비교하지 않는 것이다.
동시 쓰기 비교 기능이 시작되면 실제로 이중화된 메모리 데이타 비교는 커널 모드에서 DCCA(5)와 D-ch의 도움으로 가능하기 때문에 커널 모드 블럭(block) CWC를 호출하여 실행(25)한다.
각 블럭(block)별 비교결과는 발생 즉시로 본 고안은 프로세스(27)에게 전달 된다. 그리고 비교 기능이 동작될때 Active측 메모리 장애와 standby측 메모리 장애는 중앙 처리 장치에게 버스 장애(Bus Error)로 접수(26)된다. 버스 장애(Bus Error)가 발생하지 않는 메모리 데이타 불일치는 비교 즉시 Active측 데이타로 복구하고 복구 결과를 본 고안은 프로세서(27)에게 보낸다. 버스 장애(Bus Error)가 발생한 메모리 장애는 복구 후 본 고안은 프로세서(27)에게 결과를 보낸다. 이상의 기능이 없을때는 장애가 발생하고도 검출이 되지 않고 남아 있게 되는 단점이 있고 잘못된 데이타가 있는 영역을 참조하여 비정상 결과나 시스템이 다운되기도 하는 결과를 초래하여 시스템의 가용도를 떨어뜨리는 결과를 낳는다.
제3도는 본 발명의 CWCP(메모리 동시 쓰기 비교) 프로세스의 처리 흐름도로서, 프로세스가 기동되면 수행 시간을 파악하기 위한 시간 변수를 초기화 하여 둔다(31). 그리고 이중화로 운용 중인지 아닌지 확인하기 위하여 상태 조회를 한다(32). 그리고 상태 조회 결과에 따라 단중화이면 다음 체크 주기를 재설정한 후(34) 휴지한다. 이중화 운용중인 상태면 본격적으로 동기화 메모리 영역내의 block CWC(메모리 동시 쓰기 비교) 기능을 호출하다(35). 전체 메모리를 모두 체크하기 위하여 다음 블럭(block)을 설정하고 다음 비교 주기를 설정(36)한 후(32)부터 (35)과정을 반복한다.
제4도는본 발명의 Block CWC(메모리 동시 쓰기 비교) 기능의 흐름도로서, Block CWC가 호출되면 동기화 메모리 영역으로부터의 주소를 설정(41)하고 또다시 이중화 상태 조회(42)와 점검을 한다(43). 이 동작은 이중화 운용이 아니면서 이 기능을 잘못 호출 하였을 때는 곧바로 리턴(return;45)하도록하여 프로그램의 오동작을 줄인다. 이중화 운용 중일때 비교 주소가 메모리 동기화 영역 1K 블럭(Block) 범위와 전체 범위 밖인지 비교(44)하여 잘못이 있으면 곧바로 리턴한다. 비교주소가 정상일 때 자기측(Active 측) 메모리 데이타 읽기를 하고(46), 다른 측(standby 측) 메모리 데이타를 D-ch를 통하여 읽어 온다(47). 양측 데이타의 내용을 비교하여 이상이 있는지 확인한다. Active측의 데이타를 기준으로 하여 만일 이상이 있으면 파손된 데이타를 정상 데이타로 복구(49)하고 오류주소와 그 내용을 보고(50)하고, 다음 주소를 설정(51)한 후 1 블럭이 될때까지 (42)에서 (51)까지 반복한다.
제5도는 본 발명의 메모리 데이타 이상 발생시 복구 흐름도로서, 제4도의 메모리 동시 쓰기 비교 기능이 수행되고 있을 때 하드웨어적인 장애가 동시에 검출되는 경우에는 메모리 접근시 버스 오류 예외(Bus Error Ecception) 형태로 발생(51)된다. 이러한 예외 발생은 하드웨어 제시도 로직(Retry logic)으로 복구되기도 하지만 이중화 운용중에 발생 한 것은 다음과 같은 순서로 소프트웨어적으로부분적인 복구가 가능하다. 버스 오류 예외가 발생했을 때, 우선 복구 깃발을 ON(52)으로 하고 에외 프레임(Frame)으로부터 오류의 종류와 위치를 파악한다(53).
만일 메모리의 패리티(Parity) 오류가 발생하였다면, 이는 패리티 비트(Parity Bit)를 복구하면 정상 동작이 가능한 경우이므로 패리티 오류가 없는 측의 메모리 데이타로 복구한다(55). 만일 Standby 측에서 메모리 장애가 발생하였을 때는 Active측의 데이타로 복구한다(57). 그외의 오류들에 대하여는 프로그램 로딩시 부여하여 둔 텍스트/데이타 체크 썸(text/data checksum)과 실제 메모리 내의 텍스트/단계이타(text/data) 영역에 대한 체크 썸(checksum) 계산을 하여 비교하여(58) 데이타 파손이 여전히 존재하면 포기(Abort)후 재시동토록 하고 시스템 영역에 해당하면 절체를 통한 복구를 시도한다(60). 이상과 같은 일련의 동작이 완료되면 복구 깃발을 off(61)시킨다. 이 깃발은 복구 과정 중에 중첩된 오류를 방지하는 목적으로 사용된다.
이상의 일련의 과정을 마치면 버스 오류 예외가 발생하기 이전으로 돌아간다(62).
이상과 같은 본 발명은 이중화로 운용되는 시스템에 있어서, 이중화의 양측 메모리를 주기적으로 동일화 시킴으로써 이중화 운용을 위한 필수적인 기능을 달성하게 되고, 부분적인 장애가 발생하여도 조기에 복구함으로써 시스템의 신뢰도 및 가용성을 대폭 향상시키는 효과를 가져온다.

Claims (1)

  1. 이중화로 운용되는 프로세서유니트에 적용되어 메모리 데이타 동일상태 유지와 불일치 검출 및 복구 방법에 있어서, 동작측에서 실행되는 주기적인 메모리 데이타 불일치 검출 프로세스를 생성시켜이중화로 동작 중일 때만 블럭 단위로 나누어 처리하는 제1단계와, 상기 제1단계에서 양측 메모리 데이타를 데이타 채널을 통하여 각각 읽고 비교하여 부분적인 이상을 복구하는 제2단계와, 상기 제2단계 수행후, 하드웨어 메모리 이상을 버스 오류 처리기능을 활용하여 검출하는 제3단계와, 상기 제3단계 수행후, 검출된 오류가 메모리 패리티 오류일 때 이를 정상 데이타로 복구하는 제4단계와, 상기 제4단계 수행후, 대기 측의 메모리 이상에 대하여도 동작측의 데이타로 복구하는 제5단계와, 상기 제5단계 수행후, 프로그램의 텍스트/데이타 영역의 데이타 이상 유무를 판정하여 절체를 통한 복구와 재시도를 통한 복구를 행하는 제6단계, 및 주기적인 프로세스와 메모리 동시쓰기 비교를 주기적으로 수행하여 데이타를 일치시키는 제7단계를 포함하는 것을 특징으로 하는 메모리 데이타 불일치 검출 및 복구 방법.
KR1019950039788A 1995-11-04 1995-11-04 메모리 데이타 불일치 검출 및 복구 방법 KR0152240B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950039788A KR0152240B1 (ko) 1995-11-04 1995-11-04 메모리 데이타 불일치 검출 및 복구 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950039788A KR0152240B1 (ko) 1995-11-04 1995-11-04 메모리 데이타 불일치 검출 및 복구 방법

Publications (2)

Publication Number Publication Date
KR970031695A KR970031695A (ko) 1997-06-26
KR0152240B1 true KR0152240B1 (ko) 1998-11-02

Family

ID=19432992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950039788A KR0152240B1 (ko) 1995-11-04 1995-11-04 메모리 데이타 불일치 검출 및 복구 방법

Country Status (1)

Country Link
KR (1) KR0152240B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790170B1 (ko) * 2001-10-13 2008-01-02 삼성전자주식회사 교환 시스템에서 운용유지보수를 위한 추가 데이터의 형태불일치 검증방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317546B1 (ko) * 1999-12-30 2001-12-24 서평원 교환기의 이중화 프로세서에서의 메모리 일치 검증 장치및 방법
KR20030015075A (ko) * 2001-08-14 2003-02-20 삼성전자주식회사 동작프로그램에 대한 데이터를 관리할 수 있는 전자기기및 그 데이터 관리방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790170B1 (ko) * 2001-10-13 2008-01-02 삼성전자주식회사 교환 시스템에서 운용유지보수를 위한 추가 데이터의 형태불일치 검증방법

Also Published As

Publication number Publication date
KR970031695A (ko) 1997-06-26

Similar Documents

Publication Publication Date Title
US6065135A (en) Error detection and fault isolation for lockstep processor systems
US4941087A (en) System for bumpless changeover between active units and backup units by establishing rollback points and logging write and read operations
US7085959B2 (en) Method and apparatus for recovery from loss of lock step
CA2150059C (en) Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process message-passing applications
Sedmak et al. Fault tolerance of a general purpose computer implemented by very large scale integration
US5742851A (en) Information processing system having function to detect fault in external bus
JP3068009B2 (ja) 冗長化メモリのエラー訂正機構
KR0152240B1 (ko) 메모리 데이타 불일치 검출 및 복구 방법
JP3063334B2 (ja) 高信頼度化情報処理装置
JP2000298594A (ja) フォールトトレラント制御方法および冗長コンピュータシステム
JP2731656B2 (ja) 二重系電子計算機
KR0130418B1 (ko) 전전자 교환기의 이중화 공통 버스 자원 및 프로세서의 자가 진단 및 복구 방법
Johnson et al. Intel iAPX 432: VLSI building blocks for a fault-tolerant computer
KR940017582A (ko) 전전자 교환기의 시스템에서의 제어시스템의 이중화 운용 방법
KR930010952B1 (ko) 메모리 장애 처리 방법
KR930010950B1 (ko) 에러위치 및 상태 확인장치
JPS608962A (ja) 記憶情報一時障害検出方式
JPS603225B2 (ja) 主記憶装置情報修復方式
JPH076050A (ja) 2重系システム切替方法
JPH07152659A (ja) コンピュータの記憶データ保護装置
Palaniswamy Fault tolerant computers
JPH07244613A (ja) 二重化メモリ制御方法
JPS5947605A (ja) バツク・アツプ制御装置
JPH0594380A (ja) 二重化メモリ装置
JPH0268634A (ja) 電子計算機予備方式

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110609

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee