KR100566340B1 - 정보 처리 장치 - Google Patents

정보 처리 장치 Download PDF

Info

Publication number
KR100566340B1
KR100566340B1 KR1020030046385A KR20030046385A KR100566340B1 KR 100566340 B1 KR100566340 B1 KR 100566340B1 KR 1020030046385 A KR1020030046385 A KR 1020030046385A KR 20030046385 A KR20030046385 A KR 20030046385A KR 100566340 B1 KR100566340 B1 KR 100566340B1
Authority
KR
South Korea
Prior art keywords
computer
unit
memory
monitor
addresses
Prior art date
Application number
KR1020030046385A
Other languages
English (en)
Other versions
KR20040005684A (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 KR20040005684A publication Critical patent/KR20040005684A/ko
Application granted granted Critical
Publication of KR100566340B1 publication Critical patent/KR100566340B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명의 정보 처리 장치는 동일한 명령들을 실제 동기상태에서 실질적으로 동시에 실행하며, 각각 제 1 및 제 2 메모리부를 구비하는 제 1 및 제 2 컴퓨터부를 구비한다. 정보 처리 장치는 제 2 메모리부에 저장된 데이터 중 일부를 제 1 메모리부에 복사하는 복사부, 및 제 1 컴퓨터부가 동기상태에서 벗어난 것을 모니터부가 찾을 때 제 2 메모리부에 저장된 데이터 중 어느 부분이 복사부에 의해 복사되었는지를 나타내는 정보를 저장하는 제 3 메모리부를 구비한다. 본 발명의 또 다른 정보 처리 장치에서, 각 제 1 및 제 2 컴퓨터부는 프로세서 및 그 프로세서에 접속되는 버스를 더 구비하며, 모니터부는 버스에 더 접속한다.
컴퓨터 모듈, 메모리 제어기, 모니터링부, 어드레스 저장부, 데이터 전송부, 주변 장치 제어기, 캐시 플러쉬, 재동기화

Description

정보 처리 장치 {INFORMATION PROCESSING APPARATUS}
도 1 은 본 발명의 실시형태를 도시한 블록도.
도 2 는 본 발명의 동작예를 도시한 도면.
* 도면의 주요부분에 대한부호의 설명 *
100, 200, 300 : 컴퓨터 모듈
101, 201, 301, 102, 202, 302 : 프로세서
103, 203, 303 : 버스 104, 204, 304 : 메모리
105, 205, 305 : 메모리 제어기 400, 500 : 주변 장치 제어기
700 : 모니터링부 701 : 어드레스 저장부
702 : 데이터 전송부
600, 601, 602, 610, 611, 612, 710, 711, 712, 720, 721, 722, 730, 731, 732 : 신호선
본 발명은 복수의 클럭-동기 컴퓨터 모듈들 (clock-synchronized computer modules) 에서 동일한 명령들을 동시에 처리하는 록스텝 고장 허용형 컴퓨터 (lockstep fault tolerant computer) 등의 정보 처리 장치에 관한 것으로, 좀더 자세하게는, 다른 컴퓨터 모듈들과 동기상태에서 벗어나서 다른 컴퓨터 모듈들과의 동작으로부터 분리된 컴퓨터 모듈을 신속하게 동기시키는 정보 처리 장치에 관한 것이다.
종래의 록스텝 고장 허용형 컴퓨터는 동일한 명령들을 동시에 실행하는 복수의 컴퓨터 모듈들을 구비한다. 고장 허용형 컴퓨터에서, 컴퓨터 모듈들 중 하나는 고장 또는 다른 원인들 때문에 다른 컴퓨터 모듈들과 상이하게 동작할 수도 있다. 다른 컴퓨터 모듈들과 상이하게 동작하는 컴퓨터를 검출할 경우, 즉, 록스텝 동기상태에서 벗어난 컴퓨터 모듈을 발견할 경우, 록스텝 고장 허용형 컴퓨터는 일단 검출된 컴퓨터 모듈을 동작하지 않게 한다.
컴퓨터 모듈이 록스텝 동기상태에서 벗어나게 하는 원인들은 다양하다. 록스텝 동기상태에서 벗어난 컴퓨터 모듈로 간주될 때의 대응 방향은 그 원인에 따라 결정된다. 컴퓨터 모듈을 록스텝 동기상태에서 벗어나게 하는 원인들 중 하나는 컴퓨터 모듈내에서 발생하는 영구 고장 (permanent failure) 일 수도 있다. 영구 고장은 컴퓨터 모듈 자체로 복구되는 일시적인 교란 또는 고장이 아니라, 수리가 필요한 고장이다. 일반적으로, 영구 고장이 발생한 컴퓨터 모듈은 록스텝 고장 허용형 컴퓨터로부터 제거하여, 그 모듈 대신, 다른 양호한 컴퓨터 모듈을 설치한다.
컴퓨터 모듈을 록스텝 동기상태에서 벗어나게 하는 또 다른 잠재적인 원인은, 컴퓨터 모듈들의 제조상 변형체들 때문에 동작 타이밍이 일시적으로 다른 컴퓨터 모듈들과 동기하지 않는 동기의 결여일 수도 있다. 또한, 또 다른 잠재적인 원인은 α선 등의 영향을 받은 컴퓨터 모듈의 메모리의 일시적인 오작동 (malfunction) 일 수도 있다. 영구 고장을 초래하지 않는 동기의 결여 또는 일시적인 오작동과 같은 원인의 경우, 컴퓨터 모듈을 교체할 필요는 없다.
영구 고장이 발생하면, 고장난 컴퓨터 모듈은 교체되며 교체된 컴퓨터 모듈은 다른 컴퓨터 모듈들에 결합하여 동기시킨다. 영구 고장이 없으면, 컴퓨터 모듈은 다른 컴퓨터 모듈에 재결합하여 재동기시킨다. 접속이 중단된 컴퓨터 모듈을 다른 컴퓨터 모듈들과 재결합시키는 동작을 재동기화 (resynchronization) 라고 한다. 종래의 록스텝 고장 허용형 컴퓨터를 록스텝 동기상태에서 벗어난 컴퓨터 모듈과 재동기화시킬 때, 종래의 록스텝 고장 허용형 컴퓨터는 재결합되는 컴퓨터 모듈의 메모리를 록스텝 동기상태에 있는 다른 컴퓨터 모듈의 메모리로부터 복사한다. 그 후, 재결합된 컴퓨터 모듈은 다른 컴퓨터 모듈들과 동일한 동작을 실행한다.
컴퓨터 모듈을 결합 또는 재결합할 때, 종래의 록스텝 고장 허용형 컴퓨터는 모든 컴퓨터 모듈을 중단시키고 결합 또는 재결합되는 컴퓨터 모듈의 메모리의 전체 내용을 록스텝 동기상태에 있는 다른 컴퓨터 모듈로부터 복사한다. 이것은 모든 컴퓨터 모듈들이 완전히 동일한 내부 상태를 갖도록 한다. 종래의 록스텝 고장 허용형 컴퓨터는 컴퓨터 모듈을 결합 또는 재결합하기 위하여 장시간 중지되어야 한다. 이것은 컴퓨터 모듈의 메모리의 전체 내용을 복사하는데 많은 시간이 걸리기 때문이다. 특히, 컴퓨터 모듈의 메모리 사이즈가 증대함에 따라, 컴퓨터 모듈의 메모리의 전체 내용을 복사하는 시간도 증대한다.
본 발명의 목적은 유용성을 개선한 정보 처리 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 고장을 검출한 후 동작을 신속하게 재개하는 정보 처리 장치를 제공하는 것이다.
본 발명의 일 양태에 따르면, 정보 처리 장치는 동일한 명령들을 실질적인 동기상태에서 실질적으로 동시에 실행하고 각각 제 1 및 제 2 메모리부들을 구비하는 제 1 및 제 2 컴퓨터부들; 컴퓨터부들 중 동기상태에서 벗어난 컴퓨터부를 찾는 모니터부; 제 1 컴퓨터부가 동기상태에서 벗어난 것을 모니터부가 찾은 경우, 제 2 메모리부에 저장된 데이터 중 일부를 제 1 메모리부에 복사하는 복사부; 및 제 1 컴퓨터부가 동기상태에서 벗어난 것을 모니터부가 찾은 경우, 제 2 메모리부에 저장된 데이터 중 어느 부분이 복사부에 의해 복사되었는지를 나타내는 정보를 저장하는 제 3 메모리부를 구비한다.
본 발명의 또 다른 양태에 따르면, 정보 처리 장치는 동일한 명령들을 실질적인 동기상태에서 실질적으로 동시에 실행하고 각각 제 1 및 제 2 메모리부들을 구비하며, 각각은 하나 이상의 프로세서 및 프로세서에 접속된 버스를 구비하는 제 1 및 제 2 컴퓨터부들; 컴퓨터부들 중 버스에 접속되어 동기상태에서 벗어난 컴퓨터부를 찾는 모니터부; 제 1 컴퓨터부가 동기상태에서 벗어난 것을 모니터부가 찾은 경우, 제 2 메모리부에 저장된 데이터 중 일부를 제 1 메모리부에 복사하는 복사부; 및 제 1 컴퓨터부가 동기상태에서 벗어난 것을 모니터부가 찾은 경우, 제 2 메모리부에 저장된 데이터 중 어느 부분이 복사부에 의해 복사되었는지를 나타내는 정보를 저장하는 제 3 메모리부를 구비한다.
이하, 본 발명의 다른 특징 및 이점을 도면을 참조하여 자세히 설명한다.
도면에서, 동일한 도면부호는 동일한 구조부를 나타낸다.
종래 기술에서 설명한 바와 같이, 컴퓨터 모듈을 록스텝 동기상태에서 벗어나게 하는 원인은 영구 고장 또는 비-영구 고장이다. 고장 허용형 컴퓨터에서, 영구 고장이 발생된 컴퓨터 모듈은 교체해야 한다. 반면, 컴퓨터 모듈이 비-영구 고장 때문에 록스텝 동기상태에서 벗어난 경우, 통상 교체하지 않고 그대로 재결합한다. 즉, 상당한 경우에, 록스텝 동기상태에서 벗어난 컴퓨터 모듈은 대체하지 않고 그대로 설치한다. 만약 고장이 검출되지 않으면 컴퓨터 모듈들의 메모리들은 동일한 데이터를 저장하지만, 록스텝 동기상태에서 벗어난 컴퓨터 모듈의 메모리에 저장된 데이터와 록스텝 동기상태에 있는 컴퓨터 모듈의 메모리에 저장된 데이터 간의 차이가 있을 수 있다. 대부분, 그 차이는 적거나 제한적이다.
이하, 본 발명의 실시형태를 상세히 설명한다.
도 1 을 참조하면, 정보 처리 장치는 컴퓨터 모듈들 (100, 200 및 300), 주변 장치 제어기들 (400 및 500), 모니터링부 (700), 어드레스 저장부 (701) 및 데이터 전송부 (702) 을 구비한다. 이 실시형태에서, 정보 처리 장치는 록스텝 고장 허용형 컴퓨터이다.
컴퓨터 모듈 (100) 은 프로세서들 (101 및 102), 버스 (103), 메모리 (104) 및 메모리 제어기 (105) 를 구비한다. 프로세서들 (101 및 102) 는 동일 또는 등가 구성을 가지며 동일한 버스 (103) 에 접속한다. 메모리 제어기 (105) 는 버스 (103) 에 접속한다. 프로세서들 (101 및 102) 는 버스 (103) 를 경유하여 메모리 제어기 (105) 에 접속한다. 메모리 (104) 는 메모리 제어기 (105) 에 접속한다. 메모리 제어기 (105) 는 신호선 (730) 을 경유하여 데이터 전송부 (702) 에 접속한다. 메모리 제어기 (105) 는 신호선 (600) 을 경유하여 주변 장치 제어기 (400) 및 신호선 (610) 을 경유하여 주변 장치 제어기 (500) 에 접속한다.
모든 컴퓨터 모듈들 (100, 200 및 300) 은 동일 또는 등가 구성 또는 구조를 갖는다. 좀더 자세하게는, 컴퓨터 모듈 (200) 은 프로세서들 (201 및 202), 버스 (203), 메모리 (204) 및 메모리 제어기 (205) 를 구비한다. 프로세서들 (201 및 202) 는 동일한 버스 (203) 에 접속한다. 메모리 제어기 (205) 는 신호선 (731) 을 경유하여 데이터 전송부 (702) 에 접속한다. 메모리 제어기 (205) 는 신호선 (601) 을 경유하여 주변 장치 제어기 (400) 및 신호선 (611) 을 경유하여 주변 장치 제어기 (500) 에 접속한다. 컴퓨터 모듈 (300) 은 프로세서들 (301 및 302), 버스 (303), 메모리 (304) 및 메모리 제어기 (305) 를 구비한다. 프로세서들 (301 및 302) 는 동일한 버스 (303) 에 접속한다. 메모리 제어기 (305) 는 신호선 (732) 를 경유하여 데이터 전송부 (702) 에 접속한다. 메모리 제어기 (305) 는 신호선 (602) 를 경유하여 주변 장치 제어기 (400) 및 신 호선 (612) 를 경유하여 주변 장치 제어기 (500) 에 접속한다.
이하, 본 발명의 실시형태를 상세히 설명한다. 간결한 설명을 위해, 설명을 컴퓨터 모듈 (100) 에 집중한다.
프로세서들 (101 및 102) 는 록스텝 고장 허용형 컴퓨터 (1) 에 의해 지시받은 명령들을 실행한다. 프로세서들 (101 및 102) 에 의한 명령 실행은 일치 또는 실제로 동일한 클럭 신호에 기초한 컴퓨터 모듈들 (200 및 300) 의 프로세서들에 의한 명령 실행과 동기되며, 프로세서들 (101 및 102) 는 컴퓨터 모듈들 (200 및 300) 의 프로세서들과 일치 또는 실제로 동일한 명령들을 실제로 동시에 실행한다. 클럭 신호의 소스 (source) 를 모든 컴퓨터 모듈들 (100, 200 및 300) 을 위해 공통으로 제공하거나, 동기되는 클럭 신호들의 소스들을 컴퓨터 모듈들 (100, 200 및 300) 을 위해 각각 제공한다. 즉, 컴퓨터 모듈들 (100, 200 및 300) 은 모든 컴퓨터 모듈들 (100, 200 및 300) 이 실제로 동일한 명령 스트림을 실제로 동시에 실행하는 "록스텝" 동기상태 명령에서 실행한다. 명령 실행 중, 프로세서들 (101 및 102) 는 데이터를 메모리 (104) 에 기입 또는 메모리 (104) 로부터 데이터를 판독한다. 클럭 신호에 기초한 컴퓨터 모듈들 (200 및 300) 의 프로세서들과 동기된 프로세서들 (101 및 102) 는 주변 장치 또는 주변 장치들에 액세스 (access) 한다. 좀더 자세하게는, 프로세서들 (101 및 102) 는 버스 (103), 메모리 제어부 (105) 및 신호선 (600) 을 경유하여 주변 장치 제어기 (400) 에 접속된 주변 장치에 액세스한다. 프로세서들 (101 및 102) 는 버스 (103), 메모리 제어부 (105) 및 신호선 (610) 을 경유하여 주변 장치 제어기 (500) 에 접속된 주 변 장치에 액세스한다. 프로세서들 (101 및 102) 가 모니터링부 (700) 으로부터 중지 명령 (stop direction) 인 인터럽트 (interrupt) 를 수신할 때, 프로세서들 (101 및 102) 는 인터럽트를 수신시 실행되는 처리 또는 처리들의 콘텍스트 (context) 를 메모리의 소정 영역에 기입하고 동작을 중지한다. 만약 프로세서들 (101 및 102) 가 록스텝 동기상태에서 벗어났다는 자체 이유로부터 발생된 중지 명령 때문에 동작을 중지하면, 그후, 프로세서들 (101 및 102) 는 하드웨어 진단 (hardware diagnose) 을 실행한다. 하드웨어 진단은 컴퓨터 모듈 (100) 의 하드웨어의 고장 유무를 진단하기 위한 실행이다.
메모리 제어기 (105) 는 프로세서들 (101 및/또는 102) 로부터 수신된 기입 액세스 리퀘스트들 및/또는 판독 액세스 리퀘스트들인 액세스 리퀘스트들 (access requests) 을 메모리 (104) 까지 전송한다. 메모리 제어기 (105) 는 응답들 (responses) 을 메모리 (104) 로부터 프로세서들 (101 및 102) 까지 전송한다. 액세스 리퀘스트가 기입 액세스 리퀘스트 또는 판독 액세스 리퀘스트일 때, 리퀘스트를 프로세서들 (101 및 102) 로부터 메모리 (104) 까지 전송한다. 기입 액세스 리퀘스트는 기입 데이터를 포함한다. 리퀘스트가 판독 액세스 리퀘스트일 때, 응답을 메모리 (104) 로부터 프로세서들 (101 및 102) 까지 전송한다. 응답은 판독 데이터를 포함한다. 메모리 제어기 (105) 는, 프로세서들 (101 및/또는 102) 로부터 출력되어 하나 이상의 주변 장치에 어드레스되는 액세스 리퀘스트들을 주변 장치 제어기들 (400 및 500) 까지 전송한다. 메모리 제어기 (105) 는, 데이터 전송부 (702) 로부터 신호선 (730) 를 경유하여 수신된 액세스 리퀘스트들을 메모리 (104) 까지 전송한다. 예를 들어, 데이터 전송부 (702) 로부터 수신된 액세스는 직접 메모리 액세스 (direct memory access; DMA) 전송을 실행하는 것이다. DMA 전송에서, 메모리 (104) 는 전송의 근원이거나 전송의 목적지이다.
주변 장치 제어기들 (400 및 500) 은 모든 컴퓨터 모듈들 (100, 200 및 300) 로부터 주변 장치까지 수신된 액세스 리퀘스트들이 서로 상이한지의 여부를 모니터한다. 만약 모든 컴퓨터 모듈들 (100, 200 및 300) 로부터 수신된 액세스 리퀘스트들 중 어떤 것도 상이하지 않으면, 각 주변 장치 제어기들 (400 및 500) 은 액세스 리퀘스트들 중에서 단일 액세스 리퀘스트 (single access request) 를 대응 주변 장치까지 전송한다. 예를 들어, 만약 모든 컴퓨터 모듈들 (100, 200 및 300) 로부터 수신된 임의의 액세스 리퀘스트들이 서로 상이하면, 각 주변 장치 제어기들 (400 및 500) 은 다수결 원칙에 의해 결정하여, 액세스 리퀘스트들을 포기하거나 단일 액세스 리퀘스트를 대응 주변 장치까지 전송한다. 주변 장치에 어드레스하는 액세스 리퀘스트가 판독 액세스 리퀘스트일 경우, 각 주변 장치 제어기들 (400 및 500) 은 대응 주변 장치로부터 판독된 데이터를 포함한 응답을 모든 컴퓨터 모듈들 (100, 200 및 300) 까지 동시에 전송한다.
이 실시형태에서, 모니터링부 (700) 은 프로세서들 (101 및 102) 에 직접 접속된 버스에 접속한다. 이것은 모니터링부 (700) 에 의해 컴퓨터 모듈들 (100, 200 및 300) 중에서 록스텝 동기상태에서 벗어난 것을 찾는 검출을 가속화한다. 모니터링부 (700) 은 신호선들 (710 및 720) 을 통하여 컴퓨터 모듈 (100) 의 버스 (103) 에 접속한다. 프로세서들 (101 및 102) 로부터 메모리 (104) 또는 주변 장치까지의 액세스 리퀘스트에서, 신호선 (710) 은 어드레스가 출력될 때의 시간을 나타내는 어드레스 스트로브 (address strobe) 을 버스 (103) 으로부터 모니터링부 (700) 까지 전달한다. 프로세서들 (101 및 102) 로부터 메모리 (104) 또는 주변 장치까지의 액세스 리퀘스트에서, 신호선 (720) 은 코맨드 (command) 및 어드레스를 버스 (103) 으로부터 모니터링부 (700) 까지 전달한다. 예를 들어, 코맨드는 기입 액세스 코맨드 또는 판독 액세스 코맨드를 포함한다. 모니터링부 (700) 은 신호선들 (711 및 721) 을 통하여 컴퓨터 모듈 (200) 의 버스 (203) 에 접속하며, 신호선들 (712 및 722) 를 통하여 컴퓨터 모듈 (300) 의 버스 (303) 에 접속한다.
모니터링부 (700) 은 컴퓨터 모듈들 (100, 200 및 300) 중 록스텝 동기상태에서 벗어난 것을 찾는다. 모니터링부 (700) 은 신호선들 (710, 711 및 712) 를 경유하여 수신된 어드레스 스트로브들 및 신호선들 (720, 721 및 722) 를 경유하여 수신된 코맨드들 및 어드레스들에 기초하여 컴퓨터 모듈들 (100, 200 및 300) 로부터 액세스 리퀘스트들의 일치 (consistency) 를 모니터한다. 모니터링부 (700) 이 컴퓨터 모듈들 (100, 200 및 300) 으로부터 액세스 리퀘스트들의 불일치를 검출할 경우, 모니터링부 (700) 은 어드레스 저장부 (701) 에게 컴퓨터 모듈들 (100, 200 및 300) 간 액세스 리퀘스트들의 불일치가 있으며 어떤 것이 불일치하는 컴퓨터 모듈인지를 통지한다. 액세스 리퀘스트가 다른 컴퓨터 모듈들과 불일치하는 컴퓨터 모듈은 "록스텝" 동기상태에서 벗어난 것으로 결정한다. 모니터링부 (700) 이 불일치를 검출할 때, 모니터링부 (700) 은 모든 컴퓨터 모듈들 (100, 200 및 300) 의 프로세서들에게 컴퓨터 모듈들 (100, 200 및 300) 의 프로세서들에게는 사실상 인터럽션 (interruption) 인 중지 명령을 통지한다. 중지 명령을 수신하면, 각 프로세서는 인터럽션 시점에 수행되는 처리 또는 처리들의 콘텍스트를 메모리의 소정의 위치에 기입한 후 중지한다. 컴퓨터 모듈들 (100, 200 및 300) 간 액세스 리퀘스트들의 불일치를 모니터링하는 예에서, 모니터링부 (700) 은 모든 컴퓨터 모듈들 (100, 200 및 300) 으로부터 어드레스 스트로브들을 동일한 사이클 동안 수신하고 이 사이클에서 코맨드들 및 어드레스들은 컴퓨터 모듈들 (100, 200 및 300) 간에 동일할 때, 모니터링부 (700) 은 액세스 리퀘스트들의 일치 또는 불일치를 검출한다. 만약 컴퓨터 모듈 (100) 으로부터의 액세스 리퀘스트의 어드레스가 특정 사이클 동안 컴퓨터 모듈들 (200 및 300) 으로부터의 액세스 리퀘스트들의 어드레스들과 상이하면, 컴퓨터 모듈 (100) 은 록스텝 동기상태에서 벗어난 것, 즉, 불일치한 것으로 찾아진다. 또 다른 단순화한 예에서, 모니터링부 (700) 은 모든 컴퓨터 모듈들 (100, 200 및 300) 으로부터 어드레스 스트로브들만 수신하며, 동일한 사이클 동안, 컴퓨터 모듈들 (100, 200 및 300) 으로부터 어드레스 스트로브들을 수신할 때 액세스 리퀘스트들의 일치 또는 불일치를 결정한다.
어드레스 저장부 (701) 은, 록스텝 동기상태에 있는 컴퓨터 모듈의 메모리에 저장되고 록스텝 동기상태에서 벗어난 컴퓨터 모듈의 메모리에 저장된 데이터와 상이한 데이터에 대응하는 어드레스 또는 어드레스들을 저장하는 버퍼를 구비한다. 모니터링부 (700) 은 어드레스 저장부 (701) 에게 액세스 리퀘스트의 불일치 및 불일치하는 컴퓨터 모듈을 통지하기 때문에, 어드레스 저장부 (701) 은 불일치를 검출하는 액세스 리퀘스트 및 그 후 컴퓨터 모듈들 (100, 200 및 300) 에 의한 기입 액세스 리퀘스트들에 의해 명령된 주소 또는 주소들을 저장한다.
컴퓨터 모듈들 (100, 200 및 300) 의 모든 프로세서들이 중지한 후 하드웨어 진단을 완료할 때, 데이터 전송부 (702) 는 에러 표시자 플래그 (error indicator flag) 및 하드웨어 진단 결과를 묻는다. 에러 표시자 플래그는 컴퓨터 모듈에서 발생된 에러를 표시하는 플래그이다. 만약 컴퓨터 모듈에서 영구 고장이 발생한다면, 데이터 전송부 (702) 는 영구 고장을 에러 표시자 플래그 및 하드웨어 진단 결과에 기초하여 찾을 수 있다. 영구 고장은 저절로 복구되는 일시적인 교란 또는 고장이 아니라, 수리가 필요한 고장이다. 영구 고장이 컴퓨터 모듈에서 발생되지 않으면, 데이터 전송부 (702) 는 재동기화를 실행한다. 재동기화는 록스텝 동기상태에서 벗어난 컴퓨터 모듈의 메모리 내용들을 록스텝 동기상태에 있는 다른 컴퓨터 모듈들의 메모리 내용들과 일치시키는 실행을 포함한다. 재동기화에서, 만약 컴퓨터 모듈이 캐시 (cache) 를 구비하면, 좀더 자세하게는, 만약 프로세서들이 캐시를 구비하면, 록스텝 동기상태에 있는 컴퓨터 모듈에서 캐시 플러쉬 동작들 (cache flush operations) 을 수행한다. 캐시 플러쉬 동작은 록스텝 동기상태에 있는 단일 컴퓨터 모듈에서만 실행될 수도 있다. 캐시 플러쉬 동작에 의하여, 메모리에 캐시의 데이터를 기입한다. 메모리에 기입된 캐시로부터의 데이터에 대응하는 어드레스 또는 어드레스들은 어드레스 저장부 (701) 에 저장된다. 캐시 플러쉬를 완료한 후, 데이터 전송부 (702) 는, 어드레스 저장부 (701) 에 저장된 어드레스 또는 어드레스들에 대응하는 록스텝 동기상태에서 벗어난 컴퓨터 모듈의 메모리의 데이터를 록스텝 동기상태에 있는 컴퓨터 모듈의 메모리로부터 복사한다. 즉, 어드레스 저장부 (701) 에 저장된 어드레스 또는 어드레스들로 나타내며 록스텝 동기상태에 있는 컴퓨터 모듈의 메모리에 저장된 데이터는 록스텝 동기상태에서 벗어난 컴퓨터 모듈의 메모리에 복사된다. 이 복사 동작에서, 직접 메모리 액세스 (DMA) 전송을 이용할 수도 있다.
데이터 전송부 (702) 가 복사 동작을 완료한 후, 데이터 전송부 (702) 는 모든 컴퓨터 모듈들 (100, 200 및 300) 을 리셋하고 그들의 실행을 재개시킨다. 모든 컴퓨터 모듈들 (100, 200 및 300) 은 통상의 실행을 시작한다. 컴퓨터 모듈들 (100, 200 및 300) 의 모든 프로세서들은 통상의 실행을 시작하기 위하여 컴퓨터 모듈의 소정의 메모리 영역에 저장된 콘텍스트를 이용한다.
전술한 실시형태에서는, 메모리 (104) 에 어드레스하는 액세스 리퀘스트를 프로세서들 (101 및 102) 로부터 모니터링부 (700) 및 어드레스 저장부 (701) 까지 전송하기 위해 버스 (103) 로부터 유래한 신호선들 (710 및 720) 은 이용한다. 제한된 경우, 본 발명은 변형될 수도 있다. 예를 들어, 이 변형예는 액세스 리퀘스트를 프로세서들 (101 및 102) 로부터 모니터링부 (700) 및 어드레스 저장부 (701) 까지 전송하기 위하여 메모리 제어기 (105) 와 메모리 (104) 를 접속하는 선으로부터 유래한 신호선들을 이용하는 것이다.
이하, 이 실시형태의 동작을 설명한다.
도 1 및 도 2 을 참조하면, 일반적으로, 컴퓨터 모듈들 (100, 200 및 300) 은 록스텝 동기상태의 동작들을 수행한다. 즉, 일반적으로, 컴퓨터 모듈들 (100, 200 및 300) 은 일치 또는 실제로 동일한 클럭 신호에 기초한 동일한 명령들을 실제로 동시에 수행한다. 컴퓨터 모듈들 (100, 200 및 300) 의 프로세서들은 그 명령들에 따라서 메모리 및 주변 장치에 액세스한다. 모니터링부 (700) 은 컴퓨터 모듈들 (100, 200 및 300) 으로부터의 모든 액세스를 모니터한다. 좀더 자세하게는, 모니터링부 (700) 은 동일한 사이클에서 액세스 리퀘스트들의 시간, 코맨드 및 어드레스가 컴퓨터 모듈들 (100, 200 및 300) 간에 일치하는지를 주시한다.
컴퓨터 모듈 (100) 이 교란되어 컴퓨터 모듈 (100) 로부터의 액세스 리퀘스트가 다른 컴퓨터 모듈들 (200 및 300) 으로부터의 액세스 리퀘스트들과 불일치하지만 컴퓨터 모듈 (100) 에서 영구 고장이 발생하지 않았다고 가정하면, 모니터링부 (700) 는 불일치를 검출한다. 불일치를 검출할 때, 모니터링부 (700) 은 컴퓨터 모듈들 (100, 200 및 300) 중 록스텝 동기상태에서 벗어난 것을 결정한다. 이 실시형태에서, 모니터링부 (700) 는 컴퓨터 모듈 (100) 이 록스텝 동기상태에서 벗어났다고 결정한다. 모니터링부 (700) 은 어드레스 저장부 (701) 에게 액세스 불일치 및 록스텝 동기상태에서 벗어난 컴퓨터 모듈, 이 실시형태에서는 컴퓨터 모듈 (100) 을 통지한다. 모니터링부 (700) 은 컴퓨터 모듈들 (100, 200 및 300) 의 모든 프로세서들에게 인터럽션에 의한 중지 명령을 통지한다.
어드레스 저장부 (701) 에게 액세스 불일치 및 록스텝 동기상태에서 벗어난 컴퓨터 모듈 (100) 을 통지할 때, 어드레스 저장부 (701) 은 불일치한 액세스 리퀘 스트 및 그 후 각 컴퓨터 모듈들 (100, 200 및 300) 으로부터의 기입 액세스 리퀘스트들의 어드레스들을 기록한다.
중지 명령이 통지되는 프로세서는 진행 중인 처리 또는 진행 중인 처리들의 콘텍스트를 메모리의 소정의 영역에 기입한 후, 중지한다. 액세스가 다른 컴퓨터 모듈과 불일치하는 컴퓨터 모듈 상에서 하드웨어 진단을 수행한다. 이 예에서, 컴퓨터 모듈 (100) 상에서 하드웨어 진단을 수행한다. 하드웨어 진단을 완료한 후, 데이터 전송부 (702) 는 에러 표시자 및 하드웨어 진단 결과를 묻는다. 이 실시형태에서, 영구 고장이 컴퓨터 모듈 (100) 에서 발생하지 않았기 때문에, 데이터 전송부 (702) 는 재동기화를 실행한다.
재동기화에서, 만약 록스텝 동기상태에 있는 어떤 컴퓨터 모듈이 캐시를 구비하면, 캐시 플러쉬를 실행한다. 예를 들어, 캐시 플러쉬는 컴퓨터 모듈 (200) 에서 수행된다. 이 실시형태에서, 캐시 플러쉬는 캐시의 전체 내용들을 컴퓨터 모듈의 메모리의 영역에서 판독하는 것이다. 캐시 플러쉬는 캐시의 데이터를 메모리에 기입되게 한다. 이렇게 메모리에 기입되는 동작은 기입 액세스에 의해 수행되며, 기입된 데이터의 어드레스들은 어드레스 저장부 (701) 에 저장된다.
데이터 전송부 (702) 는 어드레스 저장부 (701) 에만 저장되는 어드레스 또는 어드레스들에 대응하고 록스텝 동기상태에 있는 다른 컴퓨터 모듈들 중 하나, 이 실시형태에서는 컴퓨터 모듈 (200) 의 메모리 저장된 데이터를 재동기화되는 컴퓨터 모듈, 이 실시형태에서는 컴퓨터 모듈 (100) 의 메모리에 복사한다. 이 실시형태에서, 복사 동작은 DMA 전송을 이용한다. 어드레스 저장부 (701) 에 저장되는 어드레스의 수는 메모리의 전체 어드레스 수보다 작다. 본 발명에서, 어드레스 저장부 (701) 에 저장된 어드레스들에 기초한 데이터의 복사는 전체 어드레스들의 데이터 복사보다 시간이 덜 걸린다. 복사 동작을 완료한 후, 데이터 전송부 (702) 는 모든 컴퓨터 모듈들 (100, 200 및 300) 을 리셋한다. 리셋한 후, 모든 컴퓨터 모듈들 (100, 200 및 300) 은 일치 또는 실제로 동일한 클럭 신호와 서로 동기되어 통상의 실행을 시작한다.
상술한 바와 같이, 모니터링부 (700) 이 록스텝 동기상태에서 벗어난 어떤 컴퓨터 모듈을 찾았을 때, 어드레스 저장부 (701) 은, 데이터가 다른 컴퓨터 모듈들의 대응하는 데이터와 상이할 가능성을 갖는, 록스텝 동기상태에서 벗어난 컴퓨터 모듈의 메모리의 어드레스 또는 어드레스들을 저장한다. 또한, 재동기화 중, 데이터 전송부 (702) 는 어드레스 저장부 (701) 에 저장된 어드레스 또는 어드레스들에 대응하는 데이터를 록스텝 동기상태에 있는 컴퓨터 모듈의 메모리로부터 록스텝 동기상태에서 벗어난 컴퓨터 모듈의 메모리에 복사한다. 재동기화하는 컴퓨터 모듈의 메모리의 복사를 완료하는 시간은 단축된다. 그 결과, 영구 고장 등의 중대한 원인이 아니기 때문에, 한때 록스텝 동기상태에서 벗어났던 컴퓨터 모듈을 고장 허용형 컴퓨터에 가능하면 조기에 탑재할 수 있다.
이 실시형태에서는, 설명을 위해, 록스텝 고장 허용형 컴퓨터 (1) 에 3 개의 컴퓨터 모듈들 (100, 200 및 300) 을 제공한다. 본 발명은 이러한 특정 구성에 제한되지 않으며, 컴퓨터 모듈의 수는 2 개 이상이면 된다.
상기, 본 발명은 바람직한 실시형태들과 함께 설명하였지만, 당업자는 다양한 다른 방법들로 본 발명을 실시할 수 있다.
상술한 바와 같이, 정보 처리 장치를 개시한 본 발명에 의하면, 컴퓨터 모듈간의 교란이 발생한 경우 모니터링부는 액세스 불일치 및 록스텝 동기상태에서 벗어난 컴퓨터 모듈을 검출하고 어드레스 저장부에 그 어드레스를 기록하며, 복사부는 어드레스 저장부에 기록된 어드레스의 데이터만 복사하기 때문에, 교란된 컴퓨터 모듈을 신속하게 검출할 수 있고 록스텝 동기상태에서 벗어난 컴퓨터 모듈을 고장 허용형 컴퓨터에 신속하게 탑재할 수 있다.

Claims (12)

  1. 각각 제 1 및 제 2 메모리부를 구비하고, 동일한 명령들을 실제 동기상태에서 실질적으로 동시에 실행하는 제 1 및 제 2 컴퓨터부;
    상기 컴퓨터부들 중 상기 동기상태에서 벗어난 컴퓨터부를 찾는 모니터부;
    상기 제 1 컴퓨터부가 상기 동기상태에서 벗어난 것을 상기 모니터부가 찾은 경우, 상기 제 2 메모리부에 저장된 데이터 중 일부를 상기 제 1 메모리부에 복사하는 복사부; 및
    상기 제 1 컴퓨터부가 상기 동기상태에서 벗어난 것을 상기 모니터부가 찾은 경우, 상기 제 2 메모리부에 저장된 데이터 중 어느 부분이 상기 복사부에 의해 복사되었는지를 나타내는 정보를 저장하는 제 3 메모리부를 구비하는 것을 특징으로 하는 정보 처리 장치.
  2. 각각 제 1 및 제 2 메모리부를 구비하고 각각은 하나 이상의 프로세서 및 상기 프로세서에 접속되는 버스를 구비하며, 동일한 명령들을 실제 동기상태에서 실질적으로 동시에 실행하는 제 1 및 제 2 컴퓨터부;
    상기 버스와 접속되며 상기 컴퓨터부들 중 상기 동기상태에서 벗어난 컴퓨터부를 찾는 모니터부;
    상기 제 1 컴퓨터부가 상기 동기상태에서 벗어난 것을 상기 모니터부가 찾은 경우, 상기 제 2 메모리부에 저장된 데이터 중 일부를 상기 제 1 메모리부에 복사 하는 복사부; 및
    상기 제 1 컴퓨터부가 상기 동기상태에서 벗어난 것을 상기 모니터부가 찾은 경우, 상기 제 2 메모리부에 저장된 데이터 중 어느 부분이 상기 복사부에 의해 복사되었는지를 나타내는 정보를 저장하는 제 3 메모리부를 구비하는 것을 특징으로 하는 정보 처리 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 컴퓨터부에서 영구 고장이 발생하지 않으면, 상기 복사부가 활성화되는 것을 특징으로 하는 정보 처리 장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 모니터부는, 상기 모든 컴퓨터부들로부터의 제 1 신호들을 수신한 시간에 기초하여, 상기 제 1 컴퓨터부가 상기 동기상태에서 벗어난 것을 찾는 것을 특징으로 하는 정보 처리 장치.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 모니터부는, 상기 모든 컴퓨터부들로부터의 시간, 코맨드들 및 리퀘스트들의 어드레스들에 기초하여, 상기 제 1 컴퓨터부가 상기 동기상태에서 벗어난 것을 찾는 것을 특징으로 하는 정보 처리 장치.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 정보는 상기 제 1 및 제 2 메모리부와 관련한 어드레스 또는 어드레스들을 구비하는 것을 특징으로 하는 정보 처리 장치.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 모니터부는 상기 제 1 컴퓨터부가 상기 동기상태에서 벗어난 것을 찾기 때문에, 상기 정보가 액세스 리퀘스트들의 어드레스 또는 어드레스들을 구비하는 것을 특징으로 하는 정보 처리 장치.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 정보는 상기 동기상태에서 벗어난 상기 제 1 컴퓨터부의 데이터에 관련된 정보를 포함하며, 상기 데이터가 상기 동기상태에 있는 상기 제 2 컴퓨터부의 대응 데이터와 상이할 가능성을 갖는 것을 특징으로 하는 정보 처리 장치.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 정보는 상기 동기상태에서 벗어난 상기 제 1 컴퓨터부를 검출하는 액세스 리퀘스트, 및 이후 상기 제 2 컴퓨터부에 의한 기입 액세스 리퀘스트 또는 기입 액세스 리퀘스트들에 의해 명령받는 어드레스 또는 어드레스들을 구비하는 것을 특징으로 하는 정보 처리 장치.
  10. 제 1 항 또는 제 2 항에 있어서,
    상기 정보는 상기 제 2 메모리부에 캐시 내용들을 기입할 때 어드레스 또는 어드레스들을 구비하는 것을 특징으로 하는 정보 처리 장치.
  11. 제 1 항 또는 제 2 항에 있어서,
    상기 정보는 상기 제 2 메모리부와 불일치 가능성을 갖는 상기 제 1 메모리부에서의 위치를 나타내는 것을 특징으로 하는 정보 처리 장치.
  12. 제 1 항 또는 제 2 항에 있어서,
    상기 복사부는 직접 메모리 전송을 이용하여 상기 데이터 중 일부를 복사하는 것을 특징으로 하는 정보 처리 장치.
KR1020030046385A 2002-07-10 2003-07-09 정보 처리 장치 KR100566340B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002201796A JP2004046455A (ja) 2002-07-10 2002-07-10 情報処理装置
JPJP-P-2002-00201796 2002-07-10

Publications (2)

Publication Number Publication Date
KR20040005684A KR20040005684A (ko) 2004-01-16
KR100566340B1 true KR100566340B1 (ko) 2006-03-31

Family

ID=29728480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030046385A KR100566340B1 (ko) 2002-07-10 2003-07-09 정보 처리 장치

Country Status (10)

Country Link
US (1) US20040153731A1 (ko)
EP (1) EP1380950B1 (ko)
JP (1) JP2004046455A (ko)
KR (1) KR100566340B1 (ko)
CN (1) CN1269040C (ko)
AU (1) AU2003211183A1 (ko)
CA (1) CA2434290A1 (ko)
DE (1) DE60303468T2 (ko)
ES (1) ES2253613T3 (ko)
TW (1) TWI241479B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155721B2 (en) * 2002-06-28 2006-12-26 Hewlett-Packard Development Company, L.P. Method and apparatus for communicating information between lock stepped processors
US7085959B2 (en) * 2002-07-03 2006-08-01 Hewlett-Packard Development Company, L.P. Method and apparatus for recovery from loss of lock step
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US7350026B2 (en) * 2004-12-03 2008-03-25 Thales Memory based cross compare for cross checked systems
JP4161276B2 (ja) 2004-12-17 2008-10-08 日本電気株式会社 フォルトトレラントコンピュータ装置およびその同期化方法
JP4117684B2 (ja) * 2004-12-20 2008-07-16 日本電気株式会社 フォルトトレラント・二重化コンピュータシステムとその制御方法
JP2006178636A (ja) 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
US7730350B2 (en) * 2005-04-28 2010-06-01 Hewlett-Packard Development Company, L.P. Method and system of determining the execution point of programs executed in lock step
US7496786B2 (en) * 2006-01-10 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining lock step operation
TWI397820B (zh) * 2007-03-25 2013-06-01 Mstar Semiconductor Inc 記憶體界面裝置與應用於其上之記憶體資料存取方法
US7979746B2 (en) * 2009-04-27 2011-07-12 Honeywell International Inc. Dual-dual lockstep processor assemblies and modules
JP6084366B2 (ja) * 2012-03-30 2017-02-22 沖電気工業株式会社 冗長化構築システム及び冗長化構築プログラム
JP6007822B2 (ja) * 2013-02-15 2016-10-12 日本電気株式会社 フォールトトレラントサーバ、およびそのメモリコピー方法
CN104516840B (zh) * 2013-09-29 2017-08-29 联想(北京)有限公司 信息处理方法和信息处理设备
CN112767332B (zh) * 2021-01-08 2024-05-17 心医国际数字医疗系统(大连)有限公司 一种基于cta影像的血管区域判断方法及系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394745A (en) * 1980-04-11 1983-07-19 Sony Corporation Video editing apparatus
DE3923872A1 (de) * 1989-07-19 1991-01-24 Philips Patentverwaltung Schaltungsanordnung zum steuern des zugriffs auf einen speicher
JP2836637B2 (ja) * 1990-07-06 1998-12-14 三菱電機株式会社 無線通信機の制御装置
US5249188A (en) * 1991-08-26 1993-09-28 Ag Communication Systems Corporation Synchronizing two processors as an integral part of fault detection
AU680974B2 (en) * 1993-12-01 1997-08-14 Marathon Technologies Corporation Fault resilient/fault tolerant computing
FR2737029B1 (fr) * 1995-07-19 1997-09-26 Sextant Avionique Dispositif d'interface entre un calculateur a architecture redondante et un moyen de communication
DE19626184C2 (de) * 1996-06-29 1998-07-30 Alexander Ernst Erdwin Lahmann Vorrichtung zum Betreiben eines Systems mit zwei funktionsmäßig in einem Rechner parallel geschalteten Prozessoren
US5953742A (en) * 1996-07-01 1999-09-14 Sun Microsystems, Inc. Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism
US5799022A (en) * 1996-07-01 1998-08-25 Sun Microsystems, Inc. Faulty module location in a fault tolerant computer system
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US6249828B1 (en) * 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6065102A (en) * 1997-09-12 2000-05-16 Adaptec, Inc. Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types
JP2001523855A (ja) * 1997-11-14 2001-11-27 マラソン テクノロジーズ コーポレイション 故障回復/耐故障計算機
US6243829B1 (en) * 1998-05-27 2001-06-05 Hewlett-Packard Company Memory controller supporting redundant synchronous memories
US6138198A (en) * 1998-06-15 2000-10-24 Sun Microsystems, Inc. Processor bridge with dissimilar data registers which is operable to disregard data differences for dissimilar data write accesses
US7007190B1 (en) * 2000-09-06 2006-02-28 Cisco Technology, Inc. Data replication for redundant network components
GB2369692B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Processor state reintegration
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US6970392B1 (en) * 2001-06-29 2005-11-29 Cypress Semiconductor Corp. High speed asynchronous and programmable state machine for generating almost full synchronous flags in a synchronous FIFO
US7472230B2 (en) * 2001-09-14 2008-12-30 Hewlett-Packard Development Company, L.P. Preemptive write back controller
US7085955B2 (en) * 2001-09-14 2006-08-01 Hewlett-Packard Development Company, L.P. Checkpointing with a write back controller
US20030163769A1 (en) * 2002-02-27 2003-08-28 Sun Microsystems, Inc. Memory module including an error detection mechanism for address and control signals
US6941493B2 (en) * 2002-02-27 2005-09-06 Sun Microsystems, Inc. Memory subsystem including an error detection mechanism for address and control signals
US7003692B1 (en) * 2002-05-24 2006-02-21 Cisco Technology, Inc. Dynamic configuration synchronization in support of a “hot” standby stateful switchover
US7003691B2 (en) * 2002-06-28 2006-02-21 Hewlett-Packard Development Company, L.P. Method and apparatus for seeding differences in lock-stepped processors

Also Published As

Publication number Publication date
AU2003211183A1 (en) 2004-01-29
KR20040005684A (ko) 2004-01-16
DE60303468D1 (de) 2006-04-20
JP2004046455A (ja) 2004-02-12
TWI241479B (en) 2005-10-11
ES2253613T3 (es) 2006-06-01
EP1380950A1 (en) 2004-01-14
EP1380950B1 (en) 2006-02-08
CA2434290A1 (en) 2004-01-10
TW200402622A (en) 2004-02-16
CN1472650A (zh) 2004-02-04
CN1269040C (zh) 2006-08-09
US20040153731A1 (en) 2004-08-05
DE60303468T2 (de) 2006-09-28

Similar Documents

Publication Publication Date Title
EP0731945B1 (en) Fault resilient/fault tolerant computing
KR100566340B1 (ko) 정보 처리 장치
US8234521B2 (en) Systems and methods for maintaining lock step operation
JPH0792765B2 (ja) 入/出力コントローラ
JPH03182939A (ja) ソフトウェアのエラー処理の方法
JPH079625B2 (ja) フォールトトレラントな能力を備えたコンピュータ
JPH01152543A (ja) 欠陥分離及び修理機能を有する耐欠陥コンピュータシステム
JPH079626B2 (ja) 多重プロセッサを備えたフォールトトレラントなコンピュータシステム
JPH01154240A (ja) 単一レールインターフェイスにエラーチェック機能を有する二重レールプロセッサ
US6785763B2 (en) Efficient memory modification tracking with hierarchical dirty indicators
US6961826B2 (en) Processor state reintegration using bridge direct memory access controller
JPH0934809A (ja) 高信頼化コンピュータシステム
US6950907B2 (en) Enhanced protection for memory modification tracking with redundant dirty indicators
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
KR20040007310A (ko) 정보 처리 장치
US6981172B2 (en) Protection for memory modification tracking
JPS6119061B2 (ko)
JPH05313930A (ja) 高信頼度化情報処理装置
JPH0916535A (ja) マルチプロセッサ計算機
JPH08305637A (ja) 記憶装置
JP2002244879A (ja) プロセッサ二重化方式の情報処理装置

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
LAPS Lapse due to unpaid annual fee