KR100375691B1 - 오류검출기능을가진논리회로,용장자원의관리방법및그것을이용한폴트톨러런트시스템 - Google Patents

오류검출기능을가진논리회로,용장자원의관리방법및그것을이용한폴트톨러런트시스템 Download PDF

Info

Publication number
KR100375691B1
KR100375691B1 KR1019940026329A KR19940026329A KR100375691B1 KR 100375691 B1 KR100375691 B1 KR 100375691B1 KR 1019940026329 A KR1019940026329 A KR 1019940026329A KR 19940026329 A KR19940026329 A KR 19940026329A KR 100375691 B1 KR100375691 B1 KR 100375691B1
Authority
KR
South Korea
Prior art keywords
task
computer module
output
computer
function
Prior art date
Application number
KR1019940026329A
Other languages
English (en)
Other versions
KR950013043A (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
Priority claimed from JP25801393A external-priority patent/JP3279004B2/ja
Priority claimed from JP02766494A external-priority patent/JP3206275B2/ja
Application filed by 가부시끼가이샤 히다치 세이사꾸쇼 filed Critical 가부시끼가이샤 히다치 세이사꾸쇼
Publication of KR950013043A publication Critical patent/KR950013043A/ko
Application granted granted Critical
Publication of KR100375691B1 publication Critical patent/KR100375691B1/ko

Links

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/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
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/085Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
    • 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/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • G06F11/188Voting techniques where exact match is not required
    • 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/2023Failover techniques
    • 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/2035Error 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 without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits

Landscapes

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

Abstract

본 발명은 자기진단회로 및 그 구성방법에 관한 것으로 특히 고신뢰시스템구성에 적합한 자기진단 비교회로에 관한 것이다.
본 발명에서는, 복수의 신호를 출력하는 기능블럭을 적어도 2중화 구성으로 하고, 이들 기능블럭출력을 비교하는 비교회로를 구비하고, 비교결과에 기초하여 오류를 검출하는 오류검출기능을 가진 논리회로에 있어서, 한쪽 기능블럭의 출력신호에 대하여, 미리 각 출력신호마다 할당된 고유의 파형, 즉 직교파형생성회로에서 생성되는 직교파형을 중첩하는 합성부를 설치하고, 이 합성부에서의 출력과 상기 다른쪽의 기능블럭으로부터의 출력을 비교하고, 이들 양출력에 각각 고유의 파형이 존재할 경우에 한하여, 상기 양기능블럭을 포함한 회로전체가 정상이라고 판정하도록 한 것이다.

Description

오류검출기능을 가진 논리회로, 용장자원의 관리방법 및 그것을 사용한 폴트톨러런트 시스템{Logic circuit with fault detecting function, method for managing redundant resources and fault tolerant system using them}
본 발명은 자기진단회로 및 그 구성방법에 관한 것으로, 특히 고신뢰 시스템 구성에 바람직한 자기진단 비교회로에 관한 것이다.
또한, 본 발명은 용장자원의 관리방법에 관한 것으로, 특히 폴트톨러런트 컴퓨터 시스템에 있어서의 용장자원의 효율적인 이용에 관한 것이다.
항공기, 열차, 자동차 등의 교통기관의 에너지(연료)효율의 향상, 조작성의 향상, 승차감의 향상, 안정성 향상, 고속화 등을 위하여 고속제어가 요구됨에 다라, 이들 제어장치의 전자화가 진행되고 있다. 이들 교통기관의 안정적인 운행을 위해서는 제어장치의 신뢰성, 장해안전성(장해발생에 의하여 위험측의 출력이 나오지 않는 것)이 강력히 요구되고 있다.
제어장치의 신뢰성있는 장해안전성을 보증하기 위해서는, 제어장치의 장해발 생을 검출할 수 있는 것, 즉 자기진단이 중요하다. 자기진단성을 실현하기 위하여, M-out-of-N 부호 또는 2선논리(1-out-of-2 부호, 즉 M-out-of-N부호의 일종이라고 생각할 수 있다)등 부호간의 허밍거리를 2 이상으로 한, 이른바 용장부호에 의한 방법이 널리 이용되고 있다. 이상의 방법에 의하면, 단일의 폴트에 관해서는 완전히 검출할 수가 있다. 그러나, 다중의 폴트가 발생한 경우에는 이것에 한정되지 않고, 자기진단 회로를 LSI내에 실현하는 경우에는, 발생한 폴트가 칩전체에 파급하여 다중의 폴트가 발생한 것과 등가의 현상을 나타내는 일이 있다. 여기서 장해가 발생했을 때, 잘못된 출력이 정해진 출력부호 공간(0)의 부호점과 일치되는 확률은 오류쪽이 랜덤이라고 가정하면 하기와 같이 된다.
단, No : 출력부호공간(0)의 부호점의 수
Nu : 부호점의 수
따라서, No에 대하여 Nu를 어떻게 크게 할지가 검출향상면에서의 과제이다.
이상과 같은 용장부호를 사용하여 자기진단회로를 실현하는 방법으로서는 이하의 2가지 방법이 있다.
(1) 회로전체를 용장부호에 의하여 구성하는 방법
(2) 기능블럭부를 2중화하고, 기능블럭부의 출력을 용장부호에 의하여 구성된 자기진단 비교회로로 비교하는 방법
(1)의 방법은 자기진단화를 위하여 신규로 설계하지 않으면 안되는 것 이외에, 회로동작속도의 최적화가 곤란하다는 문제가 있다.
한편, (2)의 방법에 의하면, 비교회로만을 용장논리로 새로이 설계하면 되므로, 기존의 프로세서, 메모리 등을 기능블럭부에 사용할 수가 있기 때문에 개발 코스트를 대폭적으로 저감시킬 수 있고, 최신의 반도체 기술을 활용할 수 있기 때문에 고속화가 용이하게 도모된다. 이런 방법의 자기진단성은 비교기의 자기진단성에 의존하는 점이 많다.
따라서, 자기진단 비교기를 실현하기 위하여, 비교회로 중에서 사용되는 논리자체를 M-out-of-N부호 또는 2선논리등의 용장부호를 사용하는 것이 제안되고 있다. 예를 들면, 문헌(다이마 요시히로편:[폴트톨러런트 시스템 논], 전자정보통신학회 (1990))의 제2.5도(p.31)에 나타내는 RCCO(Reduction Circuit for Checker Output)회로를 제2.6.도면 (p.32)에 나타내는 바와 같이 트리구조로 접속함으로써, 자기진단 비교기를 실현할 수 있다.
비교기기의 경우, 비교대상이 되는 회로의 장해발생 확률은 작기 때문에, 비교 대상이 되는 신호사이에 불일치가 발생하는 일은 거의 없다. 따라서, 불일치를 검출할 경우에 활성화되어야 할 경로가 활성화되는 일은 거의 없고, 이 경로의 출력이 항상 [일치]를 의미하도록 고정되는 모드의 고장이 발생한 경우에는, 고장이 잠재화할 우려가 있다. 그래서, 비교회로의 경우에는 앞에서 서술한 용장부호에 덧붙혀 0, 1,의 2치의 레벨논리가 아닌 주파수논리나 교번검사방식등과 같이 교류적으로 신호의 레벨이 변화하는 다이나믹한 논리를, 회로가 정상인 것을 나타내는 신호(이하, 시그너쳐 신호라고 한다)로서 사용하고 있다. 그 일례가, 상기 문헌의 제2.15도, 제5.16도(p.42)에 나타내는 RCCO에 테스트용에 유사적으로 고장을 주입하는 퍼뮤터(permuter)를 전치하는 방법이다. 이상과 같이하면, 정상시에는 교류적인 출력이 얻어져 반도체 소자의 임계치 변동 또는 0, 1레벨의 고정고장(stack-at 0, 1 고장)등 소자의 직류특성 변동에 기인하는 고장시에는 교류적인 신호가 얻이지지 않는 외에, 주기적으로 오류를 주입하여 오류검출 기능의 동작을 항상 확인하고 있기 때문에 회로의 자기진단성이 현저하게 향상된다.
상기의 종래기술은 반도체 소자내의 배선망 사이의 혼촉(混觸)의 영향을 받기 쉽다고 하는 문제점이 있었다. 반도체 소자의 고장에 의하여 배선망 사이에 크로스토오크, 배선재료의 마이그레이션, 절연층의 절연불랑등에 의하여 혼촉이 발생한 경우, 원래 시그너쳐 신호가 존재하지 않는 배선망에 다른 배선망의 시그너쳐 신호(이하, 위조시그너쳐라고 한다)가 유기되어 버린다. 통상의 장해안전 회로에서는 시그너쳐 신호에 의하여 정상임을 나타내고 있으므로, 혼촉에 의한 위조시그너쳐에 의하여 이상임에도 불구하고 정상으로 인식하게되어, 회로의 장해안전성을 손상시켜 버릴 우려가 있다.
이 때문에, 종래의 기술에서는 배선간격 등에 특수한 설계제약을 가함으로서 혼촉의 발생을 방지하고 있었다. 그러나 이런 방법에 의하면, 범용의 반도체와는 전혀 다른 제약에 의거하여 반도체 기판상에 트랜지스터, 배선을 형성하지 않으면안되기 때문에 기존의 기술, 설계자동화 공구등의 은혜를 전혀 받지못하고, 대부분의 경우 인간의 수작업에 의한 부분이 많았다.
또한, 최근 컴퓨터가 교통관제나 금속등 사회의 중추라고도 할 수 있는 역할과, 우주선이나 항공기 제어등의 인명에 관계되는 역할을 담당하게 되어 컴퓨터의 고장에 의한 정지나 오동작이 커다란 영향을 미치게 되어 있다. 이와 같은 시대의 추세중에 컴퓨터의 신뢰성이 점점 요구되고 있다.
컴퓨터를 고신뢰화하기 위하여 폴트발생에 대비하여 컴퓨터나 컴퓨터를 구성하는 유닛을 미리 여분으로 준비해 놓는 용장화(冗長化)라고 하는 수단이 널리 이용되고 있다.
한편, 컴퓨터의 고신뢰화를 위하여 용장인 하드웨어를 가지게 하는 것은, 코스트, 치수, 중량, 소비전력의 대폭적인 증가에 연결된다. 그래서, 폴트톨러런트 컴퓨터 시스템에 대한 투자효율, 즉 코스트 퍼포먼스를 높히기 위해서는 용장하드웨어 자원의 신뢰성 향상, 처리성능 향상을 위하여 효과적으로 이용하는 것이 요구된다.
용장하드웨어 자원을 효과적으로 이용하기 위한 용장자원 관리방법으로서, 문헌(Jean-Charles Fabre, et al.: "Saturation:reduced idleness for Improved fault-tolerance, "Proc.FTCS-18(The 18th Int'l Symp. on Fault-tolerant Computing), pp.200-205(1988))이 종래부터 제안되고 있다.
본 종래기술에 의하면, 태스크마다 동시에 실행하는 용장카피의 최소 필요수, 즉 MNC(Minimum Number of Copies)를 미리 정해두고, 태스크 실행요구 메시지가 도달했을 때, 비어있는(idle상태의) 노드(용장컴퓨터 모듈)의 수가 MNC보다 큰 경우에는, 상기 비어있는 노드로 태스크실행을 개시한다. 만약 비어있는 노드의 수가 MNC보다 작은 경우에는, 현재 실행하고 있는 태스크가 종료하고 필요한 수만큼 비어있는 노드가 나올때까지 기다린다.
상기 문헌에 나타나 있는 종래 기술은, 태스크의 개시요구가 빈번히 일어나는 OLTP(On-Line Transaction Processor)에는 적합한 용장자원 관리방법이다.
종래기술은 실시간 제어용 컴퓨터의 고신뢰화에 있어서 태스크 실행중의 폴트발생, 나아가서는 다중폴트의 발생에 대해서는 충분한 고려가 되어있지 않다. 이것은 트랜잭션이 단시간에 종료한다는 OLTP의 성질로부터, 태스크 실행시간이 평균고장간격(MTBF)(Mean Time Between Failure)에 비하여 충분히 짧다는 가정하에 종래 기술이 제안되고 있기 때문이다. 그러나 실시간 제어용 컴퓨터 경우, 태스크가 장시간 연속하여 실행되는 일이 많다. 예를 들면, 항공기, 우주선 등에서는 그 미션타임 사이에 컴퓨터는 정상으로 동작을 계속하지 않으면 안될 뿐만 아니라, 미션을 중단하는데도 컴퓨터의 지원을 필요로한다. 그렇기 때문에 태스크 실행시간은 평균고장간격(MTBF)과 비교하여 무시할 수 없으며, 태스크 실행도중에서의 폴트의 발생, 또는 다중폴트발생에 대하여 고려할 필요가 생긴다.
상기 종래기술에서는 할당되는 컴퓨터 모듈의 수를 관리하는 것은 태스크 실행개시시 뿐이다. 따라서, 태스크 실행중에 폴트발생에 의한 태스크를 실행하고 있는 컴퓨터 모듈의 기능이 손실되어도 새로이 컴퓨터 모듈을 추가하는 것 같은 일은 없다. 즉, 태스크 실행중에 폴트가 발생한 경우에는, 용장도(태스크를 용장으로 실행하고 있는 컴퓨터 모듈의 수)가 감소한채로 태스크 실행을 계속하게 되어 상기 태스크의 신뢰도가 손상된다. 예를 들면, 2개의 컴퓨터 모듈이 용장으로 태스크를 실행하고 있을때, 2개중 하나의 컴퓨터 모듈에 고장이 발생한 경우, 만일 제2의 폴트가 계속발생하면 데스크의 실행은 중단되게 된다.
본 발명의 제1특징은 복수의 신호를 출력하는 기능블럭을 적어도 2중화구성으로하여 이들 기능블럭의 출력을 비교하는 비교회로를 구비하고, 비교결과에 의거하이 오류를 검출하는 오류검출기능을 가진 논리회로에 있어서, 한쪽 기능블럭의 출력신호에 대하여 미리 각 출력신호마다 할당된 고유의 파형을 중첩하는 합성부를 설치하고, 이 합성부로부터의 출력과 상기 다른 쪽의 기능블럭으로부터의 출력을 비교함으로서 오류검출하도록 한 것이다.
즉, 예를 들면 반도체 소자를 상정한 경우, 상기 각 출력신호에 대응하는 배선망마다 고유의 신호파형을 시그너쳐로서 할당하고, 신호파형이 배선망 고유의 신호파형과 일치했을때만 정당한 시그너쳐인 것으로 간주하도록 하는 것이다.
또, 정당한 시그너쳐와 위조시그너쳐를 구별하기 위해시는, 배선망마다 고유한 시그너쳐가 상호 상관을 가지지 않는 것이 바람직하다. 여기서 상관을 가지지 않도록 하는 함수로서 널리 알려져있는 것이 직교함수로, 하기와 같을 때
함수 fi(x), fj(x)는 상호 직교라고 말한다. 직교함수로서는, 주기가 다른 삼각함수, Walsh-Hadamal 함수, M계열 등이 알려져있다. 또한 종래의 Fourier 해석대신에, 시간주파수 영역에서 신호파형을 해석하는 Wavelet 해석이 최근에 주목되고 있는데, 이것의 기초가 되는 Wavelet도 직교함수이다. 또, 삼각함수, Wavelet는 아날로그의 함수인데 이들을 디지탈회로에 적용하기 위해서는 2치화하면 된다.
본 발명의 제1 특징에 의하면, 예를 들면 반도체 소자를 상정한 경우, 배선망마다 고유의 신호파형을 시그너쳐로서 할당하고, 신호파형이 배선망고유의 신호파형과 일치했을 때에만 정당한 시그너쳐로 간주된다. 이것에 의하여, 만일 배선망 사이에 크로스토오크, 배선재료의 마이그레이션, 절연층의 절연불량등에 의하여 혼촉이 발생하여 다른 배선망으로부터 시그너쳐 신호가 유기된 경우에도, 위조시그너쳐 배선망 고유의 신호파형과 일치하지 않으므로 정당한 시그너쳐와 구별할 수가 있다. 따라서, 종래기술에서는 장해의 완전검출에 불가결하였던 혼촉방지를 위한 특수한 배선제약등이 불필요하게되고, 또 장해안전성을 보증하는 것도 가능해진다.
또한, 본 발명의 제2 특징은, 복수의 태스크를 복수의 컴퓨터 모듈에 할당하여 실행하는 분산형 폴트톨러런트 컴퓨터 시스템에 있어서, 시스템내의 임의의 컴퓨터 모듈에 고장이 발생한 경우, 그 고장이 발생한 컴퓨터 모듈이 실행되고 있던 태스크와 다른 태스크를 미리 할당되고 있던 다른 컴퓨터 모듈중으로부터 적어도 1 이상의 컴퓨터 모듈을 선택하고, 이 선택된 컴퓨터 모듈에 대하여 고장이 발생한 컴퓨터 모듈이 실행되고 있던 태스크를 할당하여 실행시키는 선택실행부를 설치하는데 있다.
또, 본 발명에 있어서의 각 컴퓨터 모듈은 구체적으로는 이하와 같은 구성을 취하는 것이다.
(1) 각각의 컴퓨터 모듈은 태스크 처리중에는 항상 적당한 타이밍(체크포인트)으로 자기 컴퓨터 모듈에 대한 폴트발생정보(폴트의 검출결과), 처리결과를 다른 컴퓨터 모듈에 브로드캐스트한다.
(2) 각각의 컴퓨터 모듈은 다른 컴퓨터 모듈로부터 브로드캐스트된 폴트의 발생정보(폴트의 검출결과), 및 처리결과의 일치/불일치의 정보에 의거하여 각 태스크에 대한 신뢰도의 여유도를 나타내는 평가함수(Fij)(i : 컴퓨터 모듈의 번호, j : 태스크의 번호)를 추정한다.
(3) 각각의 컴퓨터 모듈은 평가함수(Fij)를 최소로하는 태스크(j)를 실행해야할 처리로서 결정하고, 실행하고 있는 처리를 상기 실행해야할 처리로 전환한다.
또한 여기서 평가함수(Fij)는 각 태스크에 대한 신뢰도의 여유도를 나타내므로 태스크의 중요도가 높을수록 Fij는 낮고, 컴퓨터 모듈의 태스크에 대한 책임도가 높을수록 Fij는 낮으며, 태스크의 신뢰도가 높을수록 Fij는 높아지도록 정한다.
예를 들면, 이하와 같이 정하면 이상의 조건을 만족시킬 수가 있다.
또는,
단, Lthij : 컴퓨터 모듈(i)에 있어서의 태스크(j)의 신뢰도 레벨의 임계치
Lrj : 태스크(j)의 신뢰도 레벨
i : 자기 컴퓨터 모듈의 번호
j : 태스크의 번호
또는,
단, pej : 태스크(j)의 결과가 잘못되어 있을 확률
또한, 여기서 태스크(j)의 신뢰도 레벨의 임계치(Lthij)는 태스크에 따라 다르고, 보다 높은 신뢰도가 요구되는 중요한(중요도가 높은) 태스크일수록 큰값의 Lthij가 설정된다.
또, Lthij는 컴퓨터 모듈에(i)에 따라 다르고, 태스크에 대하여 책임도가 높은 컴퓨터 모듈일수록 높은 Lthij가 설정된다.
본 발명의 제2특징에 의하면, 항상 평가함수(Fij)가 균형을 이루도록 각 태스크에 컴퓨터 모듈이 할당되므로,특정 태스크의 Fij가 돌출하여 커지거나, 작아지는 일이 없다. 즉, 동작중에 폴트발생에 의해 신뢰도 레벨이 저하된 특정의 태스크(이하, 위험태스크라고 한다)가 있는 경우에는 신뢰도면에서 여유있는 다른 태스크를 실행하고 있는 컴퓨터 모듈이 위험태스크를 실행하므로, 특정 태스크만의 신뢰도 레벨저하를 방지할 수가 있다. 따라서, 태스크 실행중의 폴트발생에 대처하여 신뢰도를 유지하면서 시스템에 부여된 책무를 완수할 수 있다.
또한, 중요도가 높은 태스크일수록 Lthij가 높게 설정되므로 보다 높은 Lrj로 다른 태스크와 Fij가 균형을 이룬다. 따라서 중요도가 높은 태스크일수록 많은 컴퓨터 모듈을 할당함으로서 높은 신뢰도 레벨(Lrj)을 유지할 수가 있다.
또, 각 컴퓨터 모듈이 자율적으로 실행해야할 태스크를 결정할 수가 있으므로, 태스크실행을 할당하기 위한 중추적인 기구가 불필요하고, 단일 고장점이 없다. 따라서, 폴트에 의하여 시스템전체가 장해를 받는 일없이, 시스템의 신뢰성을 항상 시킬 수가 있다.
이하, 제1도내지 제19도를 이용하여 본 발명의 실시예인 자기진단 비교기를 설명한다.
제1도는 본 발명에 의한 비교기의 실시예이다. 기능블럭(A)으로부터의 신호(a0∼an)(10∼1n)에는 퍼뮤터(permuter)(80∼8n)로 직교파형 생성 회로(100)에서 생성된 직교파형(테스트패턴)에 따라 테스트를 위한 오류가 주입되어 오류주입후의 신호(a0'∼an')(10'∼1n')로 된다. 또한 퍼뮤터(80∼8n)는 도면에 나타내는 바와 같이 배타적 논리합(Exclusive OR)으로, 테스트를 위하여 유사적으로 오류를 주입하는 기능을 가진다. 이어서, 오류주입 후의 신호(10'∼1n')는 비교회로(30∼3n)에서 기능블럭(B)으로부터의 신호(b0∼bn) (20∼2n)와 비교되어, 비교결과(40∼4n)는 집성회로(5)에 모아지고, 집성회로(5)에서는 비교결과(40∼4n)가 정상인 시그너쳐를 나타내고 있을 때에만 시그너쳐 출력(6)에 정상임을 나타내는 시그너쳐 신호를 출력한다.
여기서 오류주입 후의 신호(a0'∼an')(10'∼1n')중 임의의 하나를 ai'로 나타내면 하기와 같이 된다.
단,
i : 신호의 번호(i : 0 …n)
pi : 직교파형 생성회로(100)에서 생성된 직교파형(테스트패턴)
^ : 배타적 논리합(Exclusive OR)의 연산자
또한, 비교결과(c0∼cn)(40∼4n)중 임의의 하나를 ci로 나타내면 하기와 같이 된다.
여기서 기능블럭(A, B)이 정상일 때에는 ai=bi이기 때문에 ai^bi=0이다. 따라서, 하기와 같이 된다.
여기서 임의의 pi(i : 1…n)가 상호 직교이기 때문에 ci, cj(i ≠j)도 직교이다. ai, pi가 통계적으로 독립, 즉 직교라고 가정하면 ai, ai'도 상호 직교이고, 또 bi, ai'도 서로 직교이다. 따라서, 이들 파형군중 직교가 아닌 상관이 있는 것은 ai와 bi사이 및 pi, ci사이이다. 그러므로, 상술한 혼촉에 의한 위조시그너쳐의 발생을 방지하기 위하여 ai, bi의 사이 및 pi, ci사이는 물리적으로 떨어지도록 회로 레이아웃 면에서 고려해보면, 혼촉에 의한 위조시그너쳐 발생의 영향을 방지할 수가 있다. 또한, 이 회로 레이아웃의 실시예에 대해서는 후술(제15도)한다.
이상 서술한 본 실시예에 의하면, 특수한 배선제약 등을 필요로 하지않고 완전한 자기진단 비교기를 제공할 수가 있다.
또, 제2도에 있어서 기능블럭(A)(110), 기능블럭(B)(111)은 항시 유효한 신호(a0 ∼ an)(10 ∼ 1n), (b0 ∼ bn)(20 ∼ 2n)를 보내고 있다고는 한정지을 수 없고, 신호(a0 ∼ an)(10 ∼ 1n), (b0 ∼ bn)(20 ∼ 2n)가 유효임을 나타내는 스트로브 신호와 함께 출력되는 경우가 많다. 이와같은 경우에는 제2도에 나타내는 바와 같이 스트로브 신호(130, 131)에 의하여 신호(a0 ∼ an)(10 ∼ 1n), (b0 ∼ bn)(20 ∼ 2n)가 유효할 때에 래치(120, 121)로 유지하면 된다. 마이크로프로세서를 사용한 회로의 스트로브 신호로서 사용하는 신호의 종류는 마이크로프로세서에 따라 다르고, 어드레스신호, 콘트롤신호에 대해서는 AS(Address Strobe), BS(Bus Start) 등, 데이터신호에 대해서는 TA(TransferAcknwledge), DTACK(Data TransferAtknowledge) 등의 신호가 스트로브 신호로서 사용될 수 있다.
제3도는 본 발명을 문헌(다이마 요시히로편: [폴트톨러릴트 시스템론], 전자정보통신학회(1990))의 RCCO트리에 의한 비교기에 적용한 실시예이다. 기능블럭(A)으로부터의 신호(a0 ∼ an)(10 ∼ 1n)에는 퍼뮤처(80 ∼ 8n)로 직교파형 생성회로(100)에서 생성된 직교파형(테스트패턴)에 따라 테스트를 위한 오류가 주입되고, 오류주입후의 신호(10'∼ 1n')로되어 RCCO트리(3)에 입력된다. 또한, RCCO트리의 경우, 시그너쳐출력(6)도 2선논리가 된다.
RCCO트리(3)내부에서는 제1도의 실시예와 마찬가지로 RCCO의 입출력은 직교가 되고, 혼촉에 의한 위조시그너쳐 발생의 영향을 막을 수가 있다.
또 이하의 실시예 설명에서는 제1도에 나타내는 비교회로에 의거하여 설명을 진행하나 특별한 사항이 없는한 RCCO트리에 의한 비교회로에 대해서도 같은 실시가가능하다.
제4도는 기능블럭(B)으로부터의 신호(b0 ∼ bn)(20 ∼ 2n)도 직교파형 생성회로(100)에 의한 직교파형에 의하여 퍼뮤터(90 ∼ 9n)로 오류주입하는 실시예이다. 본 실시예에 의하여 bi가 장시간 같은 같을 취하는 경우에 비교회로의 입력 스택고장이 잠재화하는 것을 막을 수가 있다. 예를 들면 bi가 어드레스신호이고, 프로그램이 특정영역의 어드레스 밖에 사용하지 않는 경우에는 어드레스의 상위비트의 값은 장시간동안 일정한 값으로 된다.
제5도는 기능블럭A와 B로 각각 별도로 독립시켜 직교파형 생성회로(100, 101)를 가지게 한 실시예이다. 본 실시예에 의하면 직교파형 생성회로(100, 101)가 2중화 되어 있으므로, 직교파형 생성회로(100, 101)의 어느 한쪽의 장해를 검출하고 보고할 수가 있다. 또한 본 실시예에 의하면 제15도에서 후술하는 바와같은 레이아웃상, 2가지 시스템의 독립성을 활용할 수가 있다.
제6도는 직교파형으로서 각 배선망 고유의 타임슬롯에 펄스가 온하는 파형을 사용한 실시예이다. 본 실시예에 의하여 직교파형 생성회로(100)의 출력패턴(p0 ∼ pn)라 기능블럭(A110) 및 기능블럭(B111)이 모두 정상일 때의 비교결과(c0 ~ cn)(40 ∼ 4n)는 제6도와 같이 된다.
제6도에 나타내는 바와 같이 패턴을 발생하는 직교파형 생성회로(100)의 실시예를 제7도에 나타낸다. 시스템의 파워온리 세트시에 RESET(리세트)신호가 액티브하게 되고, 플립플롭(1001)이 프리세트(초기치로써 1이 설정된다)되고, 플립플롭(1002 ∼ 100m)이 리세트(초기치로써 0이 설정된다)된다. 즉,플립플롭예(1001 ∼ 100m)에는 1, 0, 0, 0, 0, … 0의 값이 설정된다. 파워온리 세트 후에는 CLK(클럭)신호에 따라 1, 0, 0, 0, 0, … 0의 패턴이 순시대로 시프트하여 제6도의 패턴이 생성된다. 플립플롭(1001 ∼ 100m)을 용장화 하고, 다시 각 단계마다 용장인 플립플롭 출력의 다수결을 취하면, 노이즈, 방사선등에 의한 플립플롭의 소프트에러나 싱글이벤트업세트 등으로 불리워지고 있는 일시적인 에러(트랜젠트폴트)의 영향을 막을 수가 있고, 또 신뢰성을 향상시킬 수가 있다. 또한, 이 직교파형 생성회로(100)는 제3도의 RCCO트리(3)에도 사용할 수 있음은 물론이다.
제8도는 제6도의 패턴에 적용한 집성회로(5)의 실시예이다. 제6도의 패턴에 의하면 제8도에 나타내는 바와같은 단순한 OR(논리합)은 다른 파형으로 되므로 고장의 발생을 판단할 수가 있다. 이 때에 배선망 사이에 혼촉이 발생한 경우에도 p2, c2의 정당한 시그너쳐를 사용하고 있는 배선망은 다른 곳에는 존재하고 있지 않으므로 정당한 시그너쳐가 잘못하여 시그너쳐출력(6)에 나타나는 것, 즉 위조시그너쳐가 출력되는 일은 없다. 따라서, 혼촉에 의한 위조시그너쳐가 발생한 경우에도 장해안전성을 보증할 수가 있게된다.
제11도는 제8도의 집성회로의 펄스누락 검출기능에 덧붙혀 과잉펄스 검출기능을 추가한 실시예이다. 여기서 과잉펄스란 신호c0∼cn(40∼4n)중 어느 하나의 신호가 동시에 온으로 되는 현상이다. 제9도와 같이 c0∼cn(40∼4n)중 어느 하나의 신호가 온으로 되는 경우에는 OR(논리합)(50), EOR(배타적 논리합)(51) 모두 제9도에 나타내는 바와같은 시그너쳐 출력을 생성한다. 여기서 제12도에 나타내는 바와 같이 c2, cn에서 동시에 펄스가 온으로 된 경우에는 제12도에 나타내는 바와 같이시그너쳐출력(61)의 펄스가 누락되어, 정당한 시그너쳐와는 다른 파형이 되므로 고장의 발생을 판단할 수가 있다.
제13도는 펄스의 도래순서를 고려한 집성회로(5)의 실시예이다. 정상적으로 비교결과의 시그너쳐 펄스가 c0, c1, c2, … cn의 순서로 도래하면 시그너쳐출력(6)은 cn의 시그너쳐펄스의 도래때마다 제14도에 나타내는 바와 같이 레벨이 반전한다. 그러나, 시그너쳐의 펄스0, c1, c2, … cn중 어느 하나가 누락된 경우에는 시그너쳐출력(6)이 반전하게 되지않게 되거나 주기가 현저하게 길어진다. 본 실시예에 의하면, 고장에 의하여 시그너쳐출력(6)의 주기가 현저히 변화하므로 고장검출이 용이하다.
제15도는 본 발명의 레이아웃 실시예이다. 기능블럭A(110)으로부터의 신호a0~an(10∼1n)는 스트로브신호(130)에 의하여 래치(120)로 래치되고, 직교파형 생성회로(101))의 직교파형과 퍼뮤터(80∼8n)로 배타적 논리함을 취하여 a0'∼an'(10'∼1n')이 된다. 마찬가지로하여 기능블럭B(111)으로부터의 신호b0∼bn(20∼2n)는 스트로브신호(131)에 의하여 래치(121)로 래치되고, 직교파형 생성회로(101)의 직교파형과 퍼뮤터(90∼9n)로 배타적 논리를 취하여 b0'∼bn'(20'∼2n')으로 된다. 이상과 같이하여 생성된 신호a0'∼an'(10'∼1n'), b0'∼bn'(20'∼2n')는 비교회로(40∼4n)에서 비교되어 비교결과c0∼cn(40∼4n)으포되고, 집성 회로(5)에서 시그너쳐출력(6)으로 된다. 여기까지는 이상 서술해온 실시예와 같다.
여기서, 비교회로(40∼4n), 집성회로(5)를 영역0(200), 기능블럭A(110), 래치(120), 직교파형 생성회로(100), 퍼뮤터(80∼8n)를 영역1(201), 기능블럭B(111), 래치(121), 직교파형 생성회로(101), 퍼뮤터(90∼9n)를 영역2(202)의 2개의 영역으로 나눈다. 이들 회로를 개별 래치로 하는 경우에는, 영역0(2110), 영역1(201), 영역2(202)별로 별도로 칩으로한다. 또, 이들의 회로를 동일 칩에 격납시키는 경우에는 레이아웃에 의하여 영역0(200), 영역1(201), 영역2(202) 상호간에 거리를 두거나 전원 그라운드를 별도로 하면 장해의 파급을 막을 수가 있다. 이상 서술한 본 실시예의 레이아웃에 의하면 상관있는 신호, 즉 ai, bi의 사이 및 pi, ci의 사이를 기하학적, 물리적, 혹은 전기적으로 격리시킬 수가 있므므로, 혼촉에 의한 위조시그너쳐 발생의 영향을 막을 수가 있다.
고성능인 LSI를 설계할 때에는 개략적인 레이아웃(플로어플랜)은 인간의 경험과 직감이라는 발견적 수법에 의하여 세부를 일정한 알고리즘에 의거하여 자동적으로 배선하는 방법이 일반적으로는 효율이 좋다. 따라서, 기존의 자동배선 틀의 대부분은 개략적인 레이아웃(플로어플랜)을 인간이 입력하여, 세부의 배선을 자동적으로 배선하는 기능을 가지고 있다. 따라서, 본 실시예에 의한 방법은 기존의 자동배선 툴 기능과의 정합성(상성)이 좋아 이들 자동배선 툴의 기능을 최대한으로 활용할 수가 있다.
이상 서술한 본 실시예에 의하면 통상의 논리설계에 의한 기능불럭을 단순히 논리적으로 혹은 광학적으로 카피하여, 비교회로(40∼4n), 점성회로(5)로 구성되는 영역0(200)과 조합시킴으로서 용이하게 자기진단화 할수가 있어 신뢰성을 향상시킬 수 있을 뿐만아니라, 개발코스트 공정수를 대폭적으로 삭감시킬 수가 있다.
제16도는 본 발명을 이용한 자기진단 컴퓨터의 실시예이다. 각자의 기능블럭A(110), B(111)에는 MPU(Micro-Processing Unit), WDT(Watch Dig Timer), INTC(인터럽트 콘트롤러)등의 컴퓨터 구성요소가 내부버스(212, 213)에 접속되어 있다. 또, 각각의 기능블럭에서는 인터페이스(204, 205)를 거쳐 외부버스(206, 207)에 접속되어 있다. 본 발명에 의한 비교기는 내부버스(212, 213)의 신호에 직교파형 생성회로(100, 101)에 의하여 생성된 패턴에 따라 퍼뮤터(80∼8n), (90∼9n)에 의하여 시그너쳐를 중첩한 신호를 비교함으로서 기능블럭A(110), B(111)의 정상/이상을 판정한다. 내부버스(212, 213)의 신호가 일치한 경우에는 비교기(영역0(200))는 시그너쳐 신호를 시그너쳐출력(6)으로 내보낸다. 또, 제1도에 나타내는 바와같이 기능블럭A(110)을 (영역1(201)), 기능블럭B(111)을 (영역2(202)), 비교기의 영역0(200)을 각각 제15도에 나타내는 레이아웃에 따라 영역상호간의 거리를 두거나 전원 그라운드를 분리하거나 한 다음 하나의 칩위에 배치하면, 원칩자기진단 마이크로컴퓨터를 실현할 수가 있다. 또한 간단하게 하기 위하여 도면중, 래치(120, 121)는 생략하고 있다.
내부버스(212, 213) 이외에 외부버스(206, 207)를 비교기(영역0(200))로 체크하면, 다시 인터페이스(204, 205)의 동작을 포함한 LSI 전체의 동작을 감시할 수가있다.
본 실시예에 의하면 통상의 설계에 의한 MPU(Micro- Processing Unit), WDT(Watch Dig Timer), INTC(인터럽트 콘트롤러)등의 마이크로컴퓨터의 구성요소로부터 구성되는 마이크로컴퓨터의 기능블럭을 단순히 논리적으로 혹은 광학적으로(마스크패턴 레벨로)카피하여 2중화하고, 비교회로(40∼4n), 점성회로(5)로 구성되는 영역(1(200)과 조합시킴으로서 용이하게 자기진단 마이크로컴퓨터를 실현시킬 수가 있고, 보다 적은 개발공정수, 비용으로 고신뢰의 자기진단회로를 실현할 수가 있다.
제17도는 자기진단 컴퓨터를 사용한 폴트톨러런트 컴퓨터 시스템의 실시예이다. 자기진단 컴퓨터(203, 203')로부터 외부버스206(207), 206'(207')로 출력된 신호는 출력선택회로(210)에 의하여 선택되어 최종출력(211)으로 된다. 출력선택회로(210)는, 시그너쳐출력(6, 6')에 의거하여 전환제어회로(208)에서 생성된 전환제어신호(209)에 의하여 제어된다. 즉, 자기진단 컴퓨터(203, 203')로부터의 시그니쳐출력(6, 6')에 의거하여 정상으로 간주되는 자기진단 컴퓨터의 출력이 선택된다.
제 8도는 전환제어회로(208)의 구성을 설명하기 위한 도면이다. 시그너쳐 감시회로(212, 213)는 시그너쳐출력(6, 6')을 감시하고, 시그너쳐출력(6, 6')이 정상인 경우에는 감시결과(214, 215)에 [정상]을 나타내는 신호를 출력하고, 시그너쳐출력(6, 6')이 이상인 경우에는 감시결과(214, 215)에 [이상]을 나타내는 신호를 출력한다. 판정논리(216)에서는 시그너쳐출력(6)이 이상인 동시에 시그너쳐출력(6')이 정상인 경우만 전환제어신호(209)에 [외부버스206'(207')를 선택한다] 의미의 신호를 출력하고, 그 이외의 경우에는 [외부버스206(207)를 선택한다] 의미의 신호를 출력한다. 또, 도면에서는 간단하게 하기위해 감시결과(214, 215)의 [정상]을 나타내는 신호를 통상의 2치논리의 H레벨로, [이상]을 나타내는신호를 L레벨로, 전환제어신호(209)의 [외부버스206'(207')를 선택한다] 의미의 신호를 H레벨로, [외부버스206(207)를 선택한다] 의미의 신호를 L레벨로 표시하고 있다. 그러나, 이들 신호는 2치논리에 한정되지 않고, 2선논리 등의 용장논리, 주파수논리, 그리고 본 발명에서 제공하는 네트마다의 고유 시그너쳐를 사용하면, 전환제어회로(208)의 고신뢰화가 도모되어 시스템 전체의 신뢰성을 더욱 향상시킬 수 있다.
다음에 시그너쳐감시회로(212, 213)실시예에 대하여 설명을 부가한다. 시그너쳐출력(6)이 제9도에 나타내는 바와 같은 주기적인 파형의 경우, 카운터로 일정 간격으로 펄스가 도달하는 것을 감시하면 시그너쳐 감시회로(212, 212)를 실현 할 수가 있다. 또, 시그너쳐출력(6)이 더욱 복잡한 파형인 경우에는 기준(텐플레이트)이 되는 파형과의 상관을 취하여, 상관이 1.0인 경우에는 정상으로 판단하고, 1.0을 만족하지 않는 경우에는 이상으로 판단하면 시그너쳐 감시회로(212, 213)를 실현 할 수 있다.
이상 서술한 본 실시예에 의하면 자기진단 컴퓨터(203)가 주시스템이고, 자기 진단 컴퓨터(203')가 종시스템(대기시스템)인 핫스텐바이방식의 폴트톨리런트 시스템을 구축할 수 있다. 또한 본 발명이 제공하는 검출 누락이 적은 오류검출방식에 의하여, 종래보다 고신뢰인 시스템을 제공할 수가 있다.
또, 본 발명이 제공하는 자기진단 컴퓨터는 이상 서술한 시스템의 구성 이외에 다른 여러가지 구성의 폴트톨러런트 시스템에 적용시킬 수가있다. 예를 들면 본 발명자등에 의하며 이미 출원되어 있는 일본국 특개평 03-15946호 공보에 대한 적용이 가능하다. 상기 특개평03-15946호 공보중 제5도의 서브시스템(1-1∼1-N)을 본 발명히 제공하는 자기진단 컴퓨터(203)로 치환하고, 상기 특개평03-15946호 공보중의 출력(3-1∼3-N)을 본 발명의 외부버스208(207)로 치환하고, 또 상기 특개평03-15946호 공보중의 상호진단 결과(4-1, 4∼-N)을 본 발명의 시그너쳐출력(6)으로 치환하면 적용할 수가 있다.
제19도는 본 발명에 의한 자기진단 비교기의 실시예이다. 여기서, 비교회로(40∼4n), 집성회로(5)를 영역0(200), 래치(120), 직교파형 생성회로(100), 퍼뮤터(80∼8n)를 영역1(201), 래치(121), 직교파형 생성회로(101), 퍼뮤터(90∼9n)을 영역2(202)의 2개의 영역으로 나누고, 레이아웃에 의하여 영역0(200), 영역1(201), 영역2(202) 상호간에 거리를 두거나 전원 그라운드를 별도로 하여 장해의 파급을 방지하고, 이들 회로를 동일의 칩에 격납하고, 비교기(217)로 하고있다. 비교기(217)는 외부의 기능블럭A(110), 기능블럭B(111)에 접속되어 그 출력을 비교한다. 본 실시예에 의하면 제15도에 나타내는 실시예와 마찬가지로 상관있는 신호, 즉 ai, bi사이 및, pi, ci사이를 기하학적, 물리적, 혹은 전기적으로 격리시킬 수가 있으므로, 혼촉에 의한 위조시그너쳐 영향을 막을 수가 있고, 자기진단 비교기를 실현 할 수가 있다.
상기의 본 발명 실시예에 의하면, 혼촉에 의한 위조시그너쳐가 발생하여도 장해안전성을 보증할 수 있는 새로운 방식을 제공 할 수가 있다. 따라서, 본 발명에 의하여 장해안전 논리회로의 실현에 있어서 특수한 제약을 필요로 하지 않고, 기존의 반도체기술, 설계자동화트리의 은혜를 받을 수 있게되어 개발에 걸리는 코스트, 시간도 대폭적인 저감을 기대 할 수가 있다.
다음에 제20도∼제43도에 따라 본 발명의 실시예인 용장자원의 관리방법 및 그것을 사용한 폴트톨러런트 시스템에 대하여 설명한다.
<동작개념>
제23도는 본 발명의 실시예를 모식적으로 나타낸 것이다. 제23도에서는 예로써 컴퓨터 모듈(1101∼110(i-1))이 용장으로 태스크(1)를 실행하고, 컴퓨터 모듈(110i-110m)이 용장으로 태스크(2)를 실행하고 있고, 컴퓨터 모듈(110(i-1))에서 폴트(장해)가 발생하고, 정상인 동작이 불가능하게 된 경우를 상정하고 있다. 본 실시예에 의하면 컴퓨터 모듈(110(i-1))에서 폴트(장해)가 발생하고, 정상인 동작이 불가능하게 된 경우에는 컴퓨터 모듈(110i)이 태스크(2)의 실행을 중지하고, 태스크(1)의 실행을 개시한다. 따라서, 컴퓨터 모듈(110(i-1))의 장해에 의하여 태스크(1)를 실행하고 있는 컴퓨터 모듈의 수가 대폭적으로 감소하는 것을 완화하고, 태스크(1) 신뢰도의 대폭적인 저하를 방지할 수가 있다.
제24도는 제23도의 컴퓨터 모듈(110i)의 태스크전환 판단에 평가함수(F1, F2)를 도입할 실시예이다. 여기서 평가함수(F1, F2)는 각각 태스크(1), 태스크(2)의 신뢰도를 반영한 것이다. 또한, 평가함수를 정하는 방법에 대해서는 후술한다. 먼저, 제24도의 좌측에서는 태스크(1)를 실행하고 있는 컴퓨터 모듈110(i-1)에서 폴트가 발생하였기 때문에 평가함수(F1)(신뢰도)가 저하되어 F2보다도 저하된다. 그래서 제24도의 좌측과 같이 태스크(2)를 실행하고 있는 컴퓨터 모듈중의 컴퓨터 모듈(110i)이 태스크(1)의 실행에 더해져 평가함수(F1, F2)가 거의 동일치가 된다.또, 폴트발생에 수반하여 평가함수의 값에 커다란 차이가 발생한 경우에 어떤 컴퓨터 모듈로 실행하고 있는 태스크를 변화시킬 것인가의 판단은, 미리 각 컴퓨터 모듈의 각 태스크에 대한 책임도를 정하여 둠으로서 결정 할 수가있다. 본 실시예에서는 태스크(2)를 실행하고 있는 컴퓨터 모듈(110i∼110m) 중에서는 컴퓨터 모듈(110i)이 태스크(1)에 대한 책임도가 가장 높다.
이상 서술한 용장자원 관리기능, 즉 태스크 전환기능, 판단기능을 담당하는 하드웨어가 용장되어 있지않고 단일하면, 당해 하드웨어의 긴장에 의하여 용장관리 기능을 원래보다 시스템 전체의 정상동작이 방해받을 우려가 있다. 그래서, 용장자원 관리기능을 담당하는 하드웨어 자체를 용장화하는 일이 필요하다. 용장화의 방법으로서는 이하의 3가지 방법이 있다.
(1) 전용 하드웨어에 용장자원 관리기능을 담당시켜, 그 하드웨어를 용장화하는 방법.
(2) 컴퓨터 모듈(1101∼110(i-1)) 중 복수의 컴퓨터 모듈에 용장자원 관리기능을 담당시키고, 어떤 컴퓨터 모듈에 용장자원 관리기능을 담당시킬 것인가 라는 판단 및 제어를 용장자원 관리기능에 의하여 실현하는 방법.
(3) 컴퓨터 모듈(1101∼110(i-1)) 각각에 자율적으로 자기 컴퓨터 모듈로 실행해야할 태스크를 판단하고, 실행하는 용장자원 관리기능을 가지게하는 방법.
(1)의 방법은, 제23도, 제24도에 나타내는 용장자원 관리기능을 실현시키기위한 하드웨어 또는 하드웨어 및 소프트웨어를 복수개 준비하면 실현시킬 수가 있다. 또, (2)의 방법은 제23도, 제24도에 나타내는 용장자원 관리기능을 행하는 태스크를 복수의 컴퓨터 모듈에 할당하고, 이 태스크도 다른 태스크와 마찬가지로 용장자원 관리의 대상으로 하면 된다. 이어서 (3)의 방법의 실시예를 이하에 서술한다.
제25도는 폴트발생에 수반하여 평가함수의 값에 커다란 차이가 발생한 경우에, 평가함수가 저하된 태스크의 실행에 더해지는지의 여부를 각 컴퓨터 모듈이 단독으로 독립하여 판단하는 실시이다. 컴퓨터 모듈(1101∼110m)은 각각의 평가함수(Fij)(i : 프로세서의 번호, j : 태스크의 번호)를 계산하고 있다. 여기서 평가함수(Fij)는 태스크(j)에 대한 책임도 높은 컴퓨터 모듈일수록 낮아지도록 정의하는 것으로 한다. 즉, 평가함수(Fij)는 각 태스크에 대한 각 컴퓨터 모듈이 담당해야 할 책임의 여유도라고 생각 할 수가 있다. 예를 들면, 제25도에서는 컴퓨터 모듈1101, …, 110m의 순서로 태스크(1)에 대한 책임도가 높고, 태스크(2)에 대한 책임도가 낮으므로, 제25도의 좌측과 같이 모든 컴퓨터 모듈이 정상인 때에도 F11<F22<…<Fm1, F12>F22…>Fm2으로 된다. 컴퓨터 모듈(1101∼110(i-1))에서는 Fi1<Fi2가 성립하고, 컴퓨터 모듈(110i∼110m)에서는 Fi1>Fi2가 성립하기 때문에 각각 태스크(1), 태스크(2)를 실행하고 있다.
제25도의 중앙과 같이 컴퓨터 모듈110(i-1)에서 폴트가 발생할 경우에는 모든 컴퓨터 모듈에 있어서 Fi1의 값이 저하되고, 컴퓨터 모듈(110i)에서는 Fi1, Fi2사이의 대소관계가 반전하여, Fi1<Fi2가 된다. 따라서 제25도의 오른쪽에 나타내는 바와 같이 컴퓨터 모듈(110i)은 독자의 판단에 의하여 태스크(2)의 실행을 중지하고 태스크(1)를 개시한다. 이상과 같이 본 실시예에 의하면, 각각의 컴퓨터 모듈이자율적으로 독자의 판단으로 실행되고 있는 태스크를 전환하고 있으므로 시스템 전체의 용융자원 관리기능이 집중된 소위, 매니저가 존재하지 않으므로 신뢰성 향상면에서 애로사항이 되는 단일 고장이 없고, 용융자원 관리기능 자체의 신뢰성을 높일 수가 있다.
이상, 제23도 내지 제25도에 나타내는 실시예에서는 간단하게 하기위해 시스템내에서는 태스크(1)와 태스크(2)의 2개밖에 실행하고있지 않는 경우를 예로 들었는데, 임의의 n개의 태스크에 대해서도 마찬가지로 용장자원의 관리가 가능한 것은 물론이다.
또한, 각 태스크의 용장인 컴퓨터 모듈에 의한 계산결과의 선택방법으로서는 다수결에 의한 방법, 본건 발명자들에 의해 이미 출원되어 있는 일본국 특개평 1-288928호 공보에 기재된 방법등이 있다.
<시스템 구성>
제20도는 본 발명을 실현하기 위한 시스템 구성이다. 본 발명에 의한 시스템은 동설 기능을 가지는 m개의 컴퓨터 모듈(1101∼110m)로 구성 되어있다. 태스크(1111∼111n)에는 고신뢰화를 위하여 복수의 컴퓨터 모듈이 할당되고, 용장으로 태스크를 실행하고 있다. 제20도의 예에서는 컴퓨터 모듈(1101∼110i) 1개가 태스크1(1111)에, 컴퓨터 모듈110(i1+1)∼110i2의 (i2-i1)개가 태스크2(1112)에 컴퓨터 모듈110(in+1+1)∼110m의 (in+1-m)개가 태스크n(111n)으로 분할되어 있다.
컴퓨터 모듈(1101∼110m) 각각이 출력선택회로(151∼15ℓ)에 출력을 낸다.또, 출력(31-1∼31-ℓ, …, 3m-1∼3m-ℓ)은 각각 컴퓨터 모듈(110-1, …, 110-m)의 출력선택회로(151∼15ℓ)로의 출력이다. 또한, 컴퓨터 모듈(110-1, …, 110-m)은 출력선택회로(151∼15ℓ)로 선택제어신호(41-1∼41-ℓ, …, 4m-1∼4m-ℓ)를 출력(31-1∼31-ℓ, …, 3m-1∼3m-ℓ)과 함께 내고 있다. 선택제어신초(41-1~41-ℓ, …, 4m-1∼4m-ℓ)는, 출력(31-1∼31-ℓ, …, 3m-1∼3m-ℓ)을 출력선택회로(151∼15ℓ)에서 선택해야 할지의 여부를 나타내고 있다. 예를 들면 컴퓨터모듈(1101)이 정상이고 또 출력선택회로(151)로 출력해야 할 출력(31-3)을 출력하고 있을 때에는, 선택제어신호(41-1)가 온이 된다.
또 도면중에서는 출력(31-1∼31-ℓ), 선택제어신호(41-1∼41-ℓ)만을 나타내고, 출력(32-1∼32-ℓ, …, 3m-1∼3m-ℓ), 선택제어신호(42-1∼42-ℓ, …, 4m-1∼4m-ℓ)는 생략하고 있다.
출력격선택회로(151∼15ℓ)에서는, 선택제어신호(41-1∼41-ℓ, …, 4m-1~4m-ℓ)에 의거하여, 선택해야 할 출력을 결정하고 각 출력(161-16ℓ)으로 한다. 또한, 출력(161∼16ℓ)은 출력장치(171-17ℓ)에 접속되어 있다. 또한 대부분의 제어장치의 경우, 출력장치(171-17ℓ)는 전기, 유압 등의 액츄에이터로 제어대상을 제어한다.
출력선택회로(151-15ℓ)로서는 본건 발명자등에 의해 이미 출원되어 있는 일본국 특개평1-288928호 공보에 기재된 제2도의 MV(modified voter)회로가 있다.
제21도는 본 발명을 실시하기 위한 컴퓨터 모듈(110i)의 구성을 기능이미지로 나타낸 것이다. 컴퓨터 모듈(110i)에 태스크실행수단(12i),폴트정의교환수단(13i), 실행해야할 태스크를 결정하는 판정기능(14i), 태스크전환기능(15i)을 가지고, 판정기능(14i)에서의 판정결과에 의거하여 태스크1(1111)로부터 태스크n(111n)중으로부터 실행해야 할 태스크를 선택하여 실행한다. 제21도의 실시예에서 컴퓨터 모듈(1101)은 태스크1(1111)를 실행하고 있다.
폴트정보교환기능(13i)에서는 자기 컴퓨터 모듈에서의 폴트발생상황 또는 실행되고 있는 태스크의 처리결과를 통신로(11)를 거쳐 다른 컴퓨터 모듈에 브로드캐스트하는 동시에, 다른 컴퓨터 모듈이 브로드캐스트된 폴트발생상황 또는 실행되고 있는 태스크의 처리결과를 수집한다.
또한, 통신로(11)를 거쳐 다른 컴퓨터 모듈과 통신하는 방법으로는, 메시지패싱에 의한 방법, 공유메모리에 의한 방법, 메모리백전환에 의한 방법등이 종래부터 제안되고 있고, 또 통신로(11)의 형태에도 버스형, 네트형, 링형등이 제안되고 있다.
제22도는 본 발명을 실시하기 위한 컴퓨터 모듈(1101)의 구성을 나타낸 것이다. 버스(201i)에는 MPU(MIcro-Processing Unit)(21i), 통신인터페이스(22i), 출력인터페이스(23i), 선택제어신호 인터페이스(24i), 기억장치(25i)가 접속되어 있다. 통신인터페이스(22i)는 다른 컴퓨터 모듈과의 통신을 위한 것으로, 통신로(11)를 경유하여 다른 컴퓨터 모듈과 접속되어 있다. 제22도의 폴트정보교환기능(13i)은, 선택제어신호 인터페이스(24i)를 통하여 실현된다.
출력인터페이스(23i)는 출력선택회로(151∼15ℓ)에 출력(3i-1∼3i-ℓ)을 출력하기 위한 회로이다. 출력의 전송방식은 용도에 맞게 병렬전송과 직렬전송이 어느 것이라도 가능하다. 또한, 출력인터페이스(23i)로부터 각각 독립된 출력(3i-1∼3i-ℓ)을 내도록 하면 동시에 복수의 출력장치를 사용하는 용도에 사용할 수가 있다.
선택제어신호 인터페이스(24i)는, 출력선택회로(151∼15ℓ)에 선택제어신호(4i-1∼4i-ℓ)를 보내기 위한 회로이다. MPU(211)로부터 선택제어신호 인터페이스(24i)의 레지스터에 기입함으로서 소정의 선택제어신호(4i∼1∼4i-ℓ)를 큰(선택)시킬 수가 있다. 또한, 선택제어신호4i-ℓ'( ℓ' : 1, …, ℓ의 정수)를 온(선택)시키는 조건은,
(a) 컴퓨터 모듈(110i)에서 출력선택회로(151')로 출력(31-1')을 출력하는 태스크를 실행하고 있고, 또,
(b) 컴퓨터 모듈(110i)에서 실행하고 있는 태스크가 정상이라고 간주되는 것이다. 또한, (b)가 정상인지 이상인지를 판단하는 방법은, 이미 본 발명자등에 의해 출원되어 있는 일본국 특개평 1-288928호 공보에 기재된 방법이 있다.
컴퓨터 모듈(1101)이 정상이고 또 출력선택회로(151)로 출력을 내는 태스크(1)를 실행하고 있고, 출력선택회로(152)로 출력을 내는 태스크(2)를 실행하고 있는 다른 모듈(110-i)에서 폴트가 발생하여, 컴퓨터 모듈(1101)의 태스크(2)에 대한 책임도가 가장 높은 경우에는, 컴퓨터 모듈(1101)은 태스크(1)의 실행을 종료하고, 태스크(2)의 실행을 개시한다. 이 때에는 태스크(1)를 실행중 온으로 되어있던 컴퓨터 모듈(1101)로부터 출력선택회로(151)에 대한 선택제어신호(41-1)가 태스크(1)의 실행종료와 함께 온으로되고, 태스크(2)실행개시와 함께출력선택회로(152)로의 선택제어신호(42-1)가 온으로 된다. 또, 온으로 되어있던 컴퓨터 모듈(110-i)로부터 출력선택회로(152)에 대한 선택제어신호(4i-2)는 폴트발생과 함께 오프로된다. 그 결과, 출력선택회로(152)에서는 폴트발생 전에는 정상으로 태스크(2)를 실행하고 있는 컴퓨터 모듈(110-i)로부터의 출력(32-i)을 출력(162)으로서 선택하고 액츄에이터(172)로 보내고 있으나, 폴트발생후에는 컴퓨터 모듈(1101)로부터의 출력(32-1)을 출력(162)으로서 선택하고 액츄에이터(172)로 보낼수가 있다.
이상, 본 발명의 실시예에 의하면 복수의 컴퓨터 모듈을 이용하여 복수의 태스크를 병렬로 또한 용장으로 실시 할 수있게 된다.
또한 여기서는 1개의 태스크가 복수의 액츄에이터로 출력하는 경우를 상정하여 설명했는데, 1개의 데스크가 복수의 액츄에이터로 출력되거나, 태스크가 액츄에이터로 전혀 출력하지 않는 경우등도 고려할 수 있다.
<평가함수의 산출과 판정 알고리즘>
제26도는 본 발명에 의해 실행해야 할 태스크를 판정기능(14-1∼14-m)으로 판정 할때의 판정 플로우챠트를 나타낸 것이다.
평가함수 산출처리(300)에서는 각 태스크에 대한 평가함수(Fij)(j:태스크의 신호)를 산출한다.
또한, 여기서 평가함수(Fij)는 각 태스크에 대한 신뢰도의 여유도를 나타내므로, 태스크의 중요도가 높을수록 Fij는 낮고, 컴퓨터 모듈의 데스크에 대한 책임도가 높을수록 Fij는 낮고, 태스크의 신뢰도가 높을수록 Fij는 높아지도록 결정된다. 즉, 하기와 같이 된다.
단, I : 중요도
Resp : 책임도
Re1 : 신뢰도
상기의 조건을 만족하는 평가함수(Fij)는 예를 들면, 하기와 같이 된다.
단, Lthij : 컴퓨터 모듈(i)에 있어서의 태스크(j)의 신뢰도 레벨의 임계치
Lrj : 태스크(j)의 신뢰도 레벨
i : 자기 컴퓨터 모듈의 번호
j : 태스크의 번호
또한 여기서 태스크(j)의 신뢰도 레벨의 임계치(Lthij)는 태스크의 중요도에 따라 다르고, 중요한 태스크 즉, 높은 신뢰도가 요구되는 태스크일수록 커다란 값이 설정된다. 또 모든 컴퓨터 모듈에 대하여 같은 값의 Lthij를 설정하면, 폴트발생시에 모든 컴퓨터 모듈이 동일한 태스크를 실행해버리기 때문에 시스템의 동작이불안정해진다. 따라서, Lthij는 컴퓨터 모듈(i)에 따라 다르고, 태스크에 대한 책임도가 높은 컴퓨터 모듈일수록 높은 값이 설정된다.
즉, 하기와 같이 된다.
여기서 태스크(j)의 신뢰도 레벨(Lrj)의 결정방법에 대하여 설명한다. 신뢰도 레벨(Lrj)이 되는 평가함수는, 태스크(j)를 실행하고 있는 컴퓨터 모듈의 수, 처리결과의 일치, 불일치 및 처리결과가 일치하고 있는 프로세서의 수등의 폴트컴출결과, 즉 폴트정보로부터 산출되는 것으로 한다.
먼저 여기서 잘못된 결과를 시스템의 출력으로서 채용해버리게되는 확률에 착안하면, 체크(검사)의 합격정도로부터 신뢰도 레벨(Lrj)을 산출할 수 잇다. N1개의 컴퓨터 모듈이 태스크(j)를 실행하고 있고, 그 중에서 N2개의 컴퓨터 모듈이 체크의 결과, 정상이라고 판단되고, N3개의 컴퓨터 모듈의 계산결과가 일치한 경우, 태스크(j)의 계산결과가 잘못되어 있을 확률(pej)은, 하기와 같이 된다.
단 Pε : 오류가 발생될 확률
Pεd : 체크가 오류를 간과할 확률
Pεa : 잘못된 계산결과가 우연히 일치할 확률
또한 여기서, Pε, Pεd, Pεa는 시스템의 동작환경, 오류검출방식에 의하여 구할 수가 있고, 알고있는 정수이므로 Pej는 N1, N2, N3-1의 함수이다.
태스크(j)의 신뢰도 레벨(Lrj), 즉 계산결과가 잘못되지 않을 확률은, 하기와 같다.
또한 여기서, 간단하게 하기 위해 (8)식에 의하여 Pej의 대소로 Lrj의 대소를 평가하면, (7)식의 양변의 대수를 취하면,
로 되고 Pε, Pεd, Pεa의 값은 필드데이터 또는 시뮬레이션에 의하여 산출이 가능하기 때문에, 이들 값의 대수를 각각 K1, K2, K3로 하면 (9)식은, 하기와 같이 간략화 된다.
또, 여기서 (6)식의 평가함수 대신에 계산결과가 잘못되어 있을 확률(Pe)에 착안하여,
로 되는 평가함수를 정의하면,
와 평가함수(Fij)의 산출이 가산, 감산, 승산만으로 가능해져 용이화(고속화)할 수 있다.
마긴가지로, 태스크(j)를 실행하고 있는 컴퓨터 모듈에서 오류가 발생할 확률에 착안하여도 태스크(j)의 신뢰도 레벨(Lrj)를 산출 할 수가 있다.
N1개의 컴퓨터 모듈이 데스크(j)를 실행하고 있다고 가정하면, 이들 모든 컴퓨터 모듈에서 오류가 발생하여 태스크(j)에 대한 계산결과가 잘못될 확률은,
가 되고, 양변의 대수를 취하면 (7)식과 마찬가지로 하여
로 평가함수(Fij)의 산출을 간략화 할 수가 있다.
조건판정처리(301)에서는, 각 태스크에 대한 평가함수(Fij (j : l, …, n, n : 태스크의 수)와 현재 실행하고 있는 태스크(k)에 대한 평가함수(Fik)를 비교한다. 그 결과도 Fij<Fik를 만족하는 태스크(j)가 있으면, 현재 실행하고 있는 태스크(k)를 종료하고, 태스크(j)를 개시한다.
태스크(k)의 종료, 태스크(j)개시의 타이밍을 제27도에 나타낸다. 피이드백 제어용의 컴퓨터인 경우에는 제27도와 같이 제어프레임마다 주기적으로 입력데이터를 판독하여 태스크를 실행하고, 결과를 출력한다. 현재, 컴퓨터 모듈(i)에서 태스크(k)를 실행하고 있고, 제어프레임(l)에 있어서 태스크(j)를 실행하고 있는 컴퓨터 모듈에서의 고장발생에 의하여 Fij<Fik가 되었다고 한다. 컴퓨터 모듈(i)에서는 즉시 태스크(k)를 종료하고, 태스크(j)의 실행준비를 개시한다. 태스크(j)를 개시하기 위하여 전회의 제어프레임까지의 데이터(이력데이터)가 불필요한 경우에는, 제어프레임(2)으로부터 태스크(j)를 개시할 수가 있다. 또, 태스크(j)를 개시하기 위하여 이력데이터가 필요한 경우에는 제27도와 같이 제어프레임(2)에서 이력데이터를 수집하고, 제어프레임(3)으로부터 태스크(j)를 개시한다. 이때, 이력데이터는 이미 태스크(j)를 실행하고 있는 컴퓨터 모듈에 통신로(11)를 거쳐 요구를 내어 수집하면된다.
<핸칭방지 - 불감대의 설정>
제28도는 조건판정처리(301)에서의 판단시에 불감대(δ)를 설치하고, Fij< Fik-δ를 만족하는 태스크(j)가 있으면, 현재 실행하고 있는 태스크(k)를 종료하고, 태스크(j)를 개시하도록한 실시예이다. 본 실시예는 제26도의 동작을 더욱 개선한 것이다.
제26도의 실시예에 있어서 제29도에 나타내는 바와 같이
(1) 폴트발생에 의하여 Fij < Fik로 되고, 태스크(k)를 실행하고 있는 컴퓨터 모듈이 태스크(j)의 실행을 시각(t1)에 시작하면, 평가함수(Fij)가 커지고, 평가함수(Fik)가 작아진다.
(2) 여기서 만약 Fij, Fik의 대소가 역전하여 Fij>Fik으로 되면 태스크(2)의 실행을 개시한 컴퓨터 모듈이 다시 태스크(k)를 시각(t2)에 개시한다.
상기 (1), (2)를 반복한 결과, 이력데이터수집 등을 위한 시스템의 동작율이 저하되어 버릴 가능성이 있다.
그래서 제28도와 같이 조건판단처리(301)에서의 판단시에 태스크전환시의 Fik, Fij의 변화분 보다도 큰 불감대(δ)를 설치한 히스테리시스 특성을 가지게 하면, 실행태스크 전환의 핸칭이 발생하지 않고 시스템을 제30도에 나타내는 바와 같이 안정되게 동작시킬 수가 있다.
또한 Pε, Pεd, Pεa를 미리 알고있으므로 N1, N2, N3가 변화했을 때의 Fij의 변화분( ∂Fij/∂N1, ∂Fij/∂N2, ∂Fij/∂N3)을 미리 알 수가 있다. 그래서 불감대(δ)의 폭은, 하기보다 큰 값으로 설정하면 된다.
이상 서술한 제20도 내지 제30도에 나타내는 실시예에 의하여 제31도에 나타내는 바와 같이, 고장발생에 의하여 용장시스템을 구성하는 컴퓨터 모듈의 시간과 함께 손실되어 있어도, 태스크(l), …, 태스크(n)에 컴퓨터 모듈을 할당해 가고, 각 태스크에 구해져 있는 신뢰도 레벨에 따라 태스크간의 용장도의 균형을 유지할 수가 있다. 또한, 높은 신뢰도가 요구되는 중요도가 높은 태스크일수륵 많은 용장컴퓨터 모듈을 할당하므로 폴트검출의 커버레지를 높힐 수가 있다.
<안정도의 향상 - 시간 평균화>
또, 제20도내지 제31도에 나타내는 실시예를 제32도에 나타내는 실시예를 덧붙혀 시스템의 안정도를 높힐 수가 있다.
제32도는 평가함수(Fij)를 산출할 때에 Lrj 또는 Pe를 시간영역에서 평균화하는 실시예이다.
제20도내지 제31도에 나타내는 실시예에 의하면, 태스크(j)를 실행하고 있는 컴퓨터 모듈의 고장이 발생한 경우, 태스크(k)를 실행하고 있는 컴퓨터 모듈중에서도 Lthij가 가장 높은, 즉 태스크(j)에 대한 책임도가 가장 높은 컴퓨터 모듈(i)에 있어서 Fij<Fik를 성립되기 때문에 컴퓨터 모듈(i)은 태스크(j)의 실행을 개시하고, 제33도의 a에 나타내는 바와 같이 태스크(j)의 신뢰도 레벨을 유지할 수가 있다. 만약 이때 컴퓨터 모듈(i)에서도 고장이 발생한 경우에는 태스크(j)의 실행을 새로 시작하는 컴퓨터 모듈은 존재하지 않게 되고 제33도의 b에 나타내는 바와 같이 태스크(j)의 신뢰도 레벨이 저하된다. 즉, 컴퓨터 모듈(i)고장의 발생에 의하여 용장자원관리의 결과가 영향을 받아 시스템의 안정도가 저하되게 된다.
그래서 제32도에 나타내는 바와 같이 평가함수(Fij)를 산출할 때에 Lrj 또는 pej를 시간영역에서 평균화하면 제34도의 실선으로 나타내는 바와 같이 Fij는 시간경과와 함께 서서히 저하되어 간다. 만약, 태스크(j)에 대한 책임도가 가장 높은 컴퓨터 모듈(i)이 존재하고 있다면, 제34도의 a로 나타내는 바와 같이 시각(t1)에 있어서 컴퓨터 모듈(i)이 태스크(j)의 실행을 개시하여 Fij의 값이 회복된다. 만약, 컴퓨터 모듈(i)이 존재하고 있지 않고, 이어서 태스크(j)에 대한 책임도가 높은 컴퓨터 모듈(1')이 존재하고 있다면 제34도의 b에 나타내는 바와 같이 시각(t2)에 있어서 컴퓨터 모듈(1')이 태스크(j)의 실행을 개시하여 Fij의 값이 회복된다. 만약, 컴퓨터 모듈(i)도 컴퓨터 모듈(i')도 생존하고 있지않고, 컴퓨터 모듈(i')에 계속해서 태스크(j)에 대한 책임도가 높은 컴퓨터 모듈(j')이 존재하고 있다면 제34도의 c로 나타내는 바와 같이 시각(t3)에 있어서 컴퓨터 모듈(i")이 태스크(j)의 실행을 개시하여 Fij의 값이 회복된다.
Lrj 또는 Pe를 시간영역에서 평균화하는 방법으로서는, 하기와 같은 것 등이 있다.
(1) 이동평균을 취하는 방법,
(2) k차(次) 지연 시스템(전달함수G(s)=1/(1+Ts)^k)을 사용하는 방법
본 실시예에 의하면, 태스크에 대한 책임도가 큰 특정의 컴퓨터 모듈의 고장에 의하여 용장자원관리의 결과가 받는 영향을 경감시킬 수가 있으므로, 용장자원관리 방식 자체의 폴트톨러런스(내고장성)를 높힐 수가 있다.
<통신량, 계산량의 삭감>
제35도는 본 발명 실시에 의하여 컴퓨터 모듈(1101-m)상호간의 통신량 및 평가함수 산출을 위한 계산량의 증가를 완화하는 실시예이다. 제20도내지 제34도에 나타내는 실시예에 의하면, 각각의 컴퓨터 모듈은 자기 컴퓨터 모듈에서의 폴트 검출상황을 다른 모든 컴퓨터 모듈에 통지(브로드캐스트함)하기 위하여 Vcom=m(m-1)회의 통신이 필요하게 되어 통신량이 현저히 증가한다. 그래서 제35도에서는 통상은 동일태스크를 실행하고 있는 컴퓨터 모듈만 평가함수폴트 검출상황을 통지하고, 평가함수(Fij)가 변화했을 때에만 다른 모든 컴퓨터 모듈에 통지한다. 컴퓨터 모듈(1∼3)이 태스크(1)를 실행하고 있고, 컴퓨터 모듈(1)이 태스크(2)를 실행하고 있는 경우를 고려한다. 제어프레임(1)에서는, 컴퓨터 모듈(1∼3)에는 이상이 보이지 않기때문에, 컴퓨터 모듈(1-3) 상호간에서만 6회의 통신이 발생한다. 이어서, 제어프레임(2)에서 컴퓨터 모듈(3)에 이상이 발생한 경우를 고려한다. 제1회째의 통신은 컴퓨터 모듈(1∼3) 상호간에서만 행해지고, 통신에 의하여 교환된 폴트검출 정보에 의거하여(이 경우는 컴퓨터 모듈(3)이 다운하여 침묵하고 있다) 산출된 평가함수(Fij)는 컴퓨터 모듈(3)의 이상으로 인하여 전회(제어프레임(1))보다 저하되고 있다 따라서, 제어시스템(2)에서는 이어서 제2회째의 통신이 실시되고, 평가함수(Fij)가 저하된 것이 컴퓨터 모듈(1)에 통지된다. 컴퓨터 모듈(i)에서는 통지된정보를 근거로 자기 컴퓨터 모듈이 태스크(1)의 실행에 참가해야할지의 여부를 판단하고, 참가해야 할 때에는 태스크(2)의 실행을 중지하고 태스크(1)의 실행을 개시한다.
본 실시예에 의하면, 컴퓨터 모듈 상호간의 통신은 하기와 같다.
단, N1j : 태스크(j)를 실행하고 있는 컴퓨터 모듈의 수가 된다. 여기서,
이기 때문에 본 실시예에 의하여 통신의 회수는 Vcom' ≒ /n과 거의 l/n으로 된다.
제36도는 제35도의 실시예를 위한 모든 컴퓨터 모듈에 브로드캐스트 해야할지 여부의 판단을 나타내는 플로우차트이다. 먼저, 동일태스크를 실행하고 있는 컴퓨터 모듈끼리 폴트검출정보를 교환(302)하고, 그것에 의거한 평가함수(Fij)를 산출(300')한다. 또한, 평가함수(Fij)의 산출처리(300')는 동일태스크를 실행하고 있는 컴퓨터 모듈만의 평가함수(Fij)를 산출하고 있는 점에서, 제26도, 제28도, 제37도에 나타내는(모든 컴퓨터 모듈의)평가함수(Fij)의 산출처리(300)와 다르다. 따라서, 평가함수(Fij)의 산출처리(300)에서는 m회의 Fij의 계산이 필요한 것에 대하여, 평가함수(Fij)의 산출처리(300')에서는 동일태스크를 실행하고 있는 컴퓨터 모듈의 개수만큼(0(m/n))의 Fij를 계산하면 되므로 계산량도 거의 l/n으로 할 수가 있다. 평가함수(Fij)의 산출(300')후, 현재의 Fij와 전회의 값(Fijold)을비교하여(303) 불일치의 경우에는 폴트정보를 모든 컴퓨터 모듈에 브로드캐스트(304)한다. 마지막으로 현재의 평가함수의 값(fij)을 다음회에 대비하여 변수(Fijold)에 격납(305)한다.
한편, 브로드캐스트를 받는 측의 컴퓨터 모듈에서는 제37도에 나타내는 바와 같이 전영역 브로드캐스트가 있었는지의 여부를 판정(306)하여 전영역 브로드캐스트가 있었던 경우에 한하여 제26도, 제28도에 나타내는 판단으로 진행한다.
<적응제어 시스템에 대한 응용>
제38도는 본 발명을 적응제어 시스템에 적용한 실시예이다. 제어대상(8)의 물리량을 센서(9)로 측정하고, 상태관측기(16)로 제어대상의 상태를 관측(추정)하고, 관측된 상태에 의거하여 제어에 적절한 특성을 가진 레귤레이터(17), 엑츄에이터(7)를 개재하여 제어대상(8)에 피드백을 더한다. 이상은 현대제어이론에 의거하여 상태피드백을 행하는 제어시스템의 전형적인 구성이다.
또한, 센서(9)의 출력신호와 엑츄에이터(7)에 대한 입력신호로부터, 제어대상 특성식별부(18)에서 센서(9), 엑츄에이터(7)를 포함한 제어대상(8)의 특성을 식별하고, 최적의 레귤레이터 설계부(19)에서는, 제어대상특성의 식별결과로부터 제어에 최적인 레귤레이터의 파라미터를 산출하여, 레귤레이터(17)의 파라미터를 최적치로 설정한다. 이상과 같은 적응제어 시스템에 의해 제어특성이 향상하고, 특히 항공기, 우주왕환기(소위, 스페이스셔틀) 등의 공기역학 특성의 비선형성에 의해 선형근사한 제어시스템에 있어서 고도, 속도에 의해 제어대상의 특성이 외관상 변화하는 것 같은 제어대상의 제어에 특히 최적인 것으로 알려져 있다. 또한, 제어대상(8), 센서(9), 엑츄에이터(7)에 고장이 발생한 경우에도 제어시스템은 제어대상의 특성변화로서 받아들이고, 그 때마다 최적한 파라미터를 레귤레이터(17)에 설정하므로, 제어대상의 고장에 의한 특성열화를 보충할 수가 있다. 통상 신뢰성이 요구되는 제어시스템에서는 엑츄에이터도 용장화되어 있는 경우가 많다. 예를 들어 항공기 등에서는, 승강타 방향타 등의 제어타면(Control Surface)과 추력발생장치는 용장화되어, 일부가 고장난 경우에도 비행에는 지장이 없도록 설계되어 있다. 그러나 이들 용장화된 엑츄에이터의 일부가 고장난 경우에는, 등가적으로 엑츄에이터의 계인이 저하하게 되어, 시스템 전체의 제어특성이 악화된다. 또한, 경우에 따라서는, 제어의 대상이 되는 값 사이에 간섭이 일어나는데, 특히 인간의 운전조작을 개재한 제어가 현저하게 곤란해진다. 그래서 본 실시예에 의한 적응제어장치는 엑츄에이터의 게인저하를 특성식별부(18)에서 검출하고, 최적의 레귤레이터 설계부(19)에서는 그것에 최적인 레귤레이터(17)의 파라미터를 결정하면, 제어특성의 악화를 보충할 수가 있다.
본 실시예에서는, 적응제어에의 응용에 있어서, 상태관측기(16)와 레귤레인터(17)를 태스크(1)(또는 태스크그룹 1)로 실현하고, 제어대상 특성식별부(18)와 최적의 레귤레이터 설계부(19)를 태스크(2)(또는 태스크그룹 2)로 실현하고,
와 같이 설정하고, 태스크(2)(또는 태스크그룹 2)를 실행하는 컴퓨터 모듈이 존재하지 않는 경우에는 미리 준비한 수표에 의해 레귤레이터(17)의 파라미터를 설정하도록 한 것이다. 본 실시예에 의한 용장자원관리의 상태를 제39도에 나타낸다. 먼저, 정상적인 컴퓨터 모듈의 수가 5개일 경우에는 3개의 컴퓨터 모듈이 태스크(1)(또는 데스크그룹 1)에, 2개의 컴퓨터 모듈이 태스크(2)(또는 태스크그룹 2)에 할당된다. 1개의 컴퓨터 모듈에서 고장이 발생하고, 정상적인 컴퓨터 모듈의 수가 4개가 된 경우에는 2개의 컴퓨터 모듈이 데스크(1)(또는 태스크그룹 1)에, 2개의 컴퓨터 모듈이 태스크(2)(또는 태스크그룹 2)에 할당된다. 2개의 컴퓨터 모듈에서 고장이 발생하고, 정상적인 컴퓨터 모듈수가 3개가 된 경우에는 2개의 컴퓨터 모듈이 태스크(1)(또는 태스크그룹 1)에, 1개의 컴퓨터 모듈이 태스크(2)(또는 태스크그룹 2)에 할당된다. 3개의 컴퓨터 모듈에서 고장이 발생하고, 정상적인 컴퓨터 모듈수가 4개가 된 경우에는 2개의 컴퓨터 모듈이 태스크(1)(또는 태스크그룹 1)에 할당되고, 태스크(2)(또는 태스크그룹 2)에는 컴퓨터 모듈은 할당되지 않는다. 대신에 미리 준비된 수표에 의해 레귤레이터(17)의 파라미터를 설정해 제어를 속행한다.
이상, 본 실시예에 의하면, 컴퓨터 모듈에서의 고장뿐만 아니라 제어대상의 고장도 허용하는 제어시스템을 구성할 수가 있고, 제어시스템 전체의 신뢰도를 향상시킬 수가 있다.
제40도, 제41도 및 제42도는 출력선택, 다수결 기능을 가진 서보모터 시스템의 실시예이다. 이 서보모터 시스템은 제20도의 출력선택회로 (51∼15ℓ)와 출력장치(171∼17ℓ)의 기능을 모두 갖추고 있다. 본 실시예의 서보모터는 제21도에 나타낸 바와 같이 단일한 샤프트(701)에 복수의 전기자권선(7041∼7041)을 설치하고, 전기자권선에 대응한 계자권선(7031∼7031)을 전기자권선에 대향시켜 하우징(102)내에 설치한 것이다. 또한, 제40도중의 A-A'면의 단면을 제41도에 나타낸다. 이 서보모터의 출력토오크는 다음식으로 주어진다.
단,
Ifi : 계자권선(703i)의 전류
Iai : 전기자권선(704i)의 전류
K : 비례계수
여기에서, 모든 Ifi를 일정하게 하면,
단,
K' : 비례계수 (K' Ifi)
가 되어 Iri를 입력하면 다수결에 준한 동작(이하, 유사다수결이라고 한다)을 시킬 수가 있다. 또한, Ifi를 각 입력 Iai의 신뢰도에 비례한 값으로 하면(17)식에 나타낸 바와 같이 가중의 유사다수결을 실시할 수 있다. 제42도는 제40도 및 제41도의 유사다수결 기능을 가진 서보모터를 이용하여 가중의 유사다수결을 실시하기 위한 회로이다. 이 도면에서는 제20도의 출력선택회로(151)와 출력장치(171)의 기능을 담당하는 회로를 나타내고 있는데, 다른 출력선택회로(152∼15ℓ)와 출력장치(712∼17ℓ)에 대해서도 마찬가지이다. 컴퓨터 모듈(1101∼110m)로부터의 출력(31-1∼3m-1) , 선택제어신호(41-1∼4m-1)에 비 띤한 전류를 시보업을 개재해 전기자권선(7041~704m), 계자권선(7031∼703m)에 각각 공급한다. 이상에 의해, 선택제어신호(41-1∼4m-1)에 의해 정상이라고 간주된 컴퓨터 모듈(1101~110m)로부터의 출력(31-1∼3m-1)의 다수결을 실현할 수 있다. 또한, 서보앰프, 전기자권선(7041∼704m), 계자권선(7031∼703m)을 다중차하면 서브앰프의 고장이나 권선의 단락, 단선에 의한 장애를 방지하고, 서보모터 시스템의 신뢰도를 높이는 것이 가능하다.
또한 여기에서, 선택제어신호(41-1∼4m-1)는 ON/OFF의 2치 뿐만 아니라 출력을 내고 있는 각 컴퓨터 모듈의 신뢰도에 대응한 다치(多値)로 하면, 가중의 유사다수결을 실현할 수 있다. 상기 서보모터 시스템을 적용한 시스템 구성을 제43도에 나타낸다. 앞에 서술한 바와 같이 제20도의 시스템에서 출력선택회로(152∼15ℓ)와 출력장치 (172∼17ℓ)를 각각 서보모터 시스템(700)으로 치환하면 된다. 이상, 서술한 본 실시예에 의하면, 서보모터 시스템에 의해 제20도의 출력선텍회로(151∼15ℓ)와 출력장치(171∼17ℓ)의 기능을 실현할 수 있으므로, 시스템 전체의 구성을 간략화할 수 있고, 소형화, 부품점수의 삭감에 의한 고신뢰화가 가능하다. 또한, (17)식에서 명백한 바와 같이 Ifi, Iai의 사이에서는 교환법칙이 성립되므로, 컴퓨터 모듈(1101∼110m)으로부터의 출력(31-1∼3m-1)에 대응한 전류를 세자걸신(7031∼703m)에, 선택제어신호(41-1∼4m-1)에 대응한 전류를 전기자권선(1041∼704m)에각각 흘려도 같은 효과가 얻어진다.
상기 본 발명의 실시예에 의하면, 각 태스크에 요구되는 신뢰도 레벨에 따라 적절한 수의 용장자원을 할당할 수가 있으므로, 용장자원의 처리성능향상, 신뢰도 향상이 가능해진다.
또한, 본 발명을 적응제어 시스템에 응용함으로서 컴퓨터 모듈에서의 고장뿐만 아니라, 제어대상의 고장도 허용하는 제어시스템을 구성할 수 있고, 제어시스템 전체의 신뢰도를 향상시킬 수가 있다.
제1도는 본 발명의 기본적인 실시예의 구성도이고,
제2도는 기능블럭에 대응한 실시예의 구성도이며,
제3도는 RCCO 트리에 의한 실시예의 설명도이고,
제4도는 기능블럭(B)으로부터의 출력에도 직교파형을 부가하는 실시예의 구성도이며,
제5도는 직교파형 생성회로를 2중화한 경우의 구성도이고,
제6도는 직교함수 파형의 설명도이며,
제7도는 직교파형 생성회로의 구성도이고,
제8도는 집성회로의 구성도이며,
제9도는 직교함수 파형과 시그너쳐 출력의 설명도이고,
제10도는 장해시의 직교함수 파형과 시그너쳐 출력의 설명도이며,
제11도는 집성회로의 구성도이고,
제12도는 장해시의 직교함수 파형과 시그너쳐 출력의 설명도이며,
제13도는 집성회로의 구성도이고,
제14도는 직교함수 파형과 시그너쳐 출력의 설명도이며,
제15도는 본 발명에 의한 회로 레이아웃의 설명도이고,
제16도는 본 발명에 의한 자기진단 컴퓨터의 구성도이며,
제17도는 자기진단 컴퓨터를 사용한 폴트톨러런트 컴퓨터 시스템의 구성도이고,
제18도는 전환제어회로 내부의 구성도이며,
제19도는 자기진단 비교기의 구성도이고,
제20도는 본 발명의 폴트톨러런트 시스템의 구성도이며,
제21도는 컴퓨터 모듈의 구성도이고,
제22도는 컴퓨터 모듈의 다른 구성도이며,
제23도는 본 발명의 실시예의 개념도이고,
제24도는 본 발명의 실시예의 개념도이며,
제25도는 본 발명의 실시예의 개념도이고,
제26도는 조건판정의 플로우챠트이며,
제27도는 태스크전환의 타이밍을 설명하는 도이고,
제28도는 조건판정의 플로우챠트(불감대 있음)이며,
제29도는 Fij의 변화(불감대 없음)를 나타내는 도이고,
제30도는 Fij의 변화(불감대 있음)를 나타내는 도이며,
제31도는 컴퓨터 모듈 할당상황을 나타내는 도이고,
제32도는 Lrj의 평균화를 나타내는 도이며,
제33도는 Fij의 변화(Lrj의 평균화 없음)를 나타내는 도이고,
제34도는 Fij의 변화(Lrj의 평균화 있음)를 나타내는 도이며,
제35도는 모듈간 통신량의 삭감을 설명하는 도이고,
제36도는 광역 브로드캐스트를 위한 조건판단 플로우챠트이며,
제37도는 광역 브로드캐스트를 위한 조건판단 플로우챠트이고,
제38도는 적응제어 시스템에 대한 응용을 한 경우의 시스템 구성도이며,
제39도는 컴퓨터 모듈 할당 상황을 나타내는 도이고,
제40도는 서보모터의 단면도이며,
제41도는 서보모터의 단면도(제21도 A-A'면)이고,
제42도는 서보모터 시스템의 블럭도이며,
제43도는 서보모터 시스템을 적용한 시스템의 구성도이다.

Claims (25)

  1. 적어도 2중화된 기능블럭의 출력을 비교하여 오류를 검출하는 오류검출기능을 갖는 논리회로에 있어서,
    상기 2중화된 기능블럭의 출력의 한쪽 또는 양쪽에 상기 각 블럭마다 미리 할당된 고유의 파형을 중첩하는 합성수단을 마련하고,
    상기 합성수단으로부터의 출력에 의거하여 오류를 검출하는 것으로서,
    상기 각 블럭마다 미리 할당된 고유의 파형은 블럭마다 및 비트마다 서로 직교하는 파형인 것을 특징으로 하는 오류검출기능을 갖는 논리회로.
  2. 제 1 항에 있어서,
    상기 합성수단은, 상기 기능블럭마다 미리 할당된 고유의 파형을 생성하는 파형생성수단과, 상기 생성된 고유의 파형과 상기 기능블럭으로부터의 출력과의 배타적 논리합을 연산하는 논리연산수단을 가지는 것을 특징으로 하는 오류검출기능을 갖는 논리회로.
  3. 복수의 신호를 출력하는 기능블럭을 적어도 2중화 구성으로 하고, 이들 기능블럭의 출력을 비교하는 비교수단을 구비하여, 비교결과에 의거하여 오류를 검출하는 오류검출기능을 갖는 논리회로에 있어서,
    상기 한쪽의 기능블럭의 출력신호에 대하여, 미리 각 출력신호마다 할당된고유의 파형을 중첩하는 합성수단을 마련하고, 상기 합성수단으로부터의 출력과 상기 다른쪽의 기능블럭으로부터의 출력을 비교함으로써 오류를 검출하는 오류검출기능을 갖는 논리회로.
  4. 제 3 항에 있어서,
    상기 합성수단은, 상기 미리 각 출력신호마다 할당된 고유의 파형을 생성하는 파형생성수단과, 상기 생성된 고유파형과 상기 한쪽의 기능블럭으로부터의 각 출력신호와의 배타적 논리합을 연산하는 논리연산수단을 가지는 것을 특징으로 하는 오류검출기능을 갖는 논리회로.
  5. 제 3 항에 있어서,
    상기 미리 각 출력신호마다 할당된 고유의 파형은, 서로 상관없는 파형인 것을 특징으로 하는 오류검출기능을 갖는 논리회로.
  6. 제 3 항에 있어서,
    상기 미리 각 출력신호마다 할당된 고유의 파형은, 서로 직교하는 파형인 것을 특징으로 하는 오류검출기능을 갖는 논리회로.
  7. 복수의 신호를 출력하는 기능블럭을 적어도 2중화 구성으로 하고, 이들 기능블럭의 출력을 비교하는 비교수단을 구비하여, 비교결과에 의거하여 오류를 검출하는 오류검출기능을 갖는 논리회로에 있어서,
    상기 한쪽의 기능블럭의 출력신호에 대하여, 미리 각 출력신호마다 할당된 고유의 파형을 중첩하는 제 1 합성수단과, 상기 다른쪽의 기능블럭의 출력신호에 대하여, 미리 각 출력신호마다 할당된 고유의 파형을 중첩하는 제 2 합성수단을 마련하고, 상기 제 1 합성수단으로부터의 출력과 상기 제 2 합성수단으로부터의 출력을 비교함으로써 오류를 검출하는 오류검출기능을 갖는 논리회로.
  8. 2중화 구성된 복수의 신호를 출력하는 기능블럭 사이에서의 출력신호를 비교하여 오류를 검출하는 방법에 있어서,
    상기 2중화 구성된 기능블럭 중 한쪽의 각 출력신호에 대하여, 미리 각 출력 신호마다 할당된 고유의 파형을 중첩하고, 상기 2중화된 기능블럭 중 다른쪽의 각 출력신호와, 상기 고유의 파형이 중첩된 각 출력신호를 비교하여 오류를 검출하는 것을 특징으로 하는 오류검출방법.
  9. 제 8 항에 있어서,
    상기 2중화된 기능블럭 중 한쪽의 각 출력신호와, 미리 각 출력신호마다 할당된 고유의 파형과의 배타적 논리합을 취함으로써, 상기 고유파형의 중첩을 행하는 것을 특징으로 하는 오류검출방법.
  10. 2중화 구성된 복수의 신호를 출력하는 기능블럭 사이에서의 출력신호를 비교하여 오류를 검출하는 방법에 있어서,
    상기 2중화 구성된 기능블럭 중 한쪽의 각 출력신호에 대하여, 미리 각 출력 신호마다 할당된 고유의 파형을 중첩하고, 상기 2중화된 기능블럭 중 다른쪽의 각 출력신호와, 상기 고유의 파형이 중첩된 각 출력신호를 비교하여, 비교한 결과, 상기 미리 할당된 고유의 파형 이외의 파형이 얻어졌을 경우에는 오류라고 판정하는 것을 특징으로 하는 오류검출방법.
  11. 2중화 구성된 복수의 신호를 출력하는 기능블럭 사이에서의 출력신호를 비교하여 오류를 검출하는 방법에 있어서,
    상기 2중화 구성된 기능블럭 중 한쪽의 각 출력신호에 대하여, 미리 각 출력신호마다 할당된 고유의 파형을 중첩하고, 상기 2중화된 기능블럭 중 다른쪽의 각 출력신호와, 상기 고유의 파형이 중첩된 각 출력신호를 비교하여, 비교한 결과, 상기 미리 할당된 고유의 파형이 얻어지지 않았을 경우에는 오류라고 판정하는 것을 특징으로 하는 오류검출방법.
  12. 적어도 CPU, 인터럽트 컨트롤러 및 타이머로 이루어지며, 복수의 출력신호를 생성하는 제 1 회로와, 상기 제 1 회로와 동일한 기능을 가지는 제 2 회로와, 상기 제 1 및 제 2 회로로부터의 각 출력신호를 비교하는 비교회로를 가지는 오류검출기능을 갖는 논리회로에 있어서, 상기 제 1 및 제 2 회로 내에, 상기 복수의 출력신호에 대하여 미리 각 출력신호마다 할당된 고유의 파형을 중첩하는 제 1 및 제 2합성회로를 각각 마련하고, 상기 제 1 회로, 제 2 회로 및 비교회로를 각각 다른 칩 상에 배치한 것을 특징으로 하는 오류검출기능을 갖는 논리회로.
  13. 복수의 신호를 출력하는 기능블럭을 적어도 2중화 구성으로 하고, 이들 한쪽의 기능블럭의 출력신호에 대하여, 미리 각 출력신호마다 할당된 고유의 파형을 중첩하는 합성수단을 마련하고, 상기 합성수단으로부터의 출력과 상기 다른쪽의 기능 블럭으로부터의 출력을 비교함으로써 오류를 검출하는 제 1 및 제 2 계산기와, 상기 제 1 및 제 2 계산기의 출력 중 어느 한쪽을 선택하여 외부로 출력하는 전환제어회로를 가지며,
    상기 전환제어회로는, 상기 제 1 및 제 2 계산기로부터 출력되는 오류검출신호에 의거하여, 어느 한쪽의 계산기 출력을 선택하는 것을 특징으로 하는 폴트 톨러런트(fault tolerant) 시스템.
  14. 복수의 컴퓨터 모듈로 구성되며, 복수의 태스크를 컴퓨터 모듈로 실행하고, 또한 각각의 태스크는 복수의 용장한 컴퓨터 모듈로 실행되는 폴트 톨러런트 컴퓨터 시스템에 있어서의 용장자원의 관리방법에 있어서,
    정상인 컴퓨터 모듈의 수 및 각 태스크의 중요도에 따라서, 각 태스크를 용장하게 실행하는 컴퓨터 모듈의 수를 변화시키고,
    용장하게 실행하고 있는 컴퓨터 모듈에 있어서의 폴트검출상황에 의거하여 각 태스크마다 평가함수를 산출하여, 평가함수의 값이 저하한 제 1 태스크가 있는경우에는, 평가함수의 값이 보다 큰 제 2 태스크를 실행하고 있는 컴퓨터 모듈에 제 1 태스크를 실행시키는 것을 특징으로 하는 용장자원의 관리방법.
  15. 제 14 항에 있어서,
    모든 컴퓨터 모듈이 각 태스크마다의 평가함수를 산출하여, 평가함수의 값이저하한 제 1 태스크가 있는 경우에는, 만약 자기(自) 컴퓨터 모듈 내에서 실행하고 있는 제 2 태스크의 평가함수의 값이 제 1 태스크보다 크면, 컴퓨터 모듈 단독의 판단으로 제 2 태스크의 실행을 중지하여, 제 1 태스크를 실행하는 것을 특징으로 하는 용장자원의 관리방법.
  16. 복수의 컴퓨터 모듈로 구성되며, 복수의 태스크를 컴퓨터 모듈로 실행하고, 또한 각각의 태스크는 복수의 용장한 컴퓨터 모듈로 실행되는 폴트 톨러런트 컴퓨터 시스템에 있어서의 용장자원의 관리방법에 있어서,
    정상인 컴퓨터 모듈의 수 및 각 태스크의 중요도에 따라서, 각 태스크를 용장하게 실행하는 컴퓨터 모듈의 수를 변화시키고,
    각각의 컴퓨터 모듈에 있어서, 자기 컴퓨터 모듈에 있어서 실행하고 있는 태스크번호 및 폴트발생정보를 다른(他) 컴퓨터 모듈에 통지하여, 다른 컴퓨터 모듈로부터 통지된 폴트발생정보에 의거하여 각 태스크의 신뢰도를 추정하고, 자기 컴퓨터 모듈로 어느 태스크의 용장 구성에 참가해야 할지를 결정하고, 참가해야 할 태스크가 현재 실행하고 있는 태스크와 다른 경우에는, 실행하고 있는 태스크를 상기 참가해야 할 태스크로 전환하는 것을 특징으로 하는 용장자원의 관리방법.
  17. 제 14 항에 있어서,
    컴퓨터 모듈(i)(i : 1, …, N, N : 컴퓨터 모듈의 개수)에 대한 상기 평가함수를, 이하의 식으로 정의되는 Fij라고 하고, 이 평가함수 Fij를 최소로 하는 태스크(j)를 실행해야 할 처리로서 결정하는 것을 특징으로 하는 용장자원의 관리방법.
    단, Lthij : 컴퓨터 모듈(i)에 있어서의 태스크(j)의 신뢰도 레벨의 임계치
    Lrj : 태스크(j)의 신뢰도 레벨
    i : 자기 컴퓨터 모듈의 번호
    j : 태스크의 번호
  18. 제 14 항에 있어서,
    컴퓨터 모듈(i)(i : 1, …, N, N : 컴퓨터 모듈의 개수)에 대한 상기 평가함수를, 이하의 식으로 정의되는 Fij라고 하고, 이 평가함수 Fij를 최소로 하는 태스크(j)를 실행해야 할 처리로서 결정하는 것을 특징으로 하는 용장자원의 관리방법.
    단, Lthij : 컴퓨터 모듈(i)에 있어서의 태스크(j)의 신뢰도 레벨의 임계치
    Lrj : 태스크(j)의 신뢰도 레벨
    j : 자기 컴퓨터 모듈의 번호
    i : 태스크의 번호
  19. 제 14 항에 있어서,
    컴퓨터 모듈(i)(i : 1, …, N, N : 컴퓨터 모듈의 개수)에 대한 상기 평가함수를, 이하의 식으로 정의되는 Fij라고 하고, 이 평가함수 Fij를 최소로 하는 태스크(j)를 실행해야 할 처리로서 결정하는 것을 특징으로 하는 용장자원의 관리방법.
    단, Lthij : 컴퓨터 모듈(i)에 있어서의 태스크(j)의 신뢰도 레벨의 임계치
    Rej : 태스크(j)의 결과가 틀릴 확률
    i : 자기 컴퓨터 모듈의 번호
    j : 태스크의 번호
  20. 제 17 항에 있어서,
    상기 Lthij는 컴퓨터 모듈마다 및 태스크마다 미리 결정되고, 상기 Lrj는 상기 폴트발생정의에 의거하여 결정되는 것을 특징으로 하는 용장자원의 관리방법.
  21. 제 17 항에 있어서,
    상기 평가함수 Fij를 최소로 하는 태스크(j)의 결정에 있어서, 이하의 관계식을 만족시키는 경우에, 당해 태스크(j)를 참가해야 할 태스크로서 결정하는 것을특징으로 하는 용장자원의 관리방법.
    단, k : 현재 실행하고 있는 태스크의 번호
    δ : 불감대의 폭
  22. 제 17 항에 있어서,
    상기 Lrj는, 폴트발생시, 시간의 경과에 따라서 저하하는 것을 특징으로 하는 용장자원의 관리방법
  23. 제 17 항에 있어서,
    상기 Lrj의 값은, 단위시간마다의 태스크(j)의 신뢰도 레벨의 이동평균으로서 설정되는 것을 특징으로 하는 용장자원의 관리방법.
  24. 제 22 항에 있어서,
    상기 Lrj의 값을 K(K : 1 이상의 정수)차 지연계(전달함수 G(s) = 1 / (1 + Ts) ^ K, T : 시정수)에 의하여 시간평균화하는 것을 특징으로 하는 용장자원의 관리방법.
  25. 제 22 항에 있어서,
    평가함수 Fij가 이전회의 제어프레임과 비교해서 변화되어 있지 않은 경우에는, 자기 컴퓨터 모듈과 동일한 태스크를 실행하고 있는 컴퓨터 모듈에만 폴트발생 정보를 통지하고, 평가함수 Fij가 이전회의 제어프레임과 비교해서 변화되어 있는 경우에는 모든 컴퓨터 모듈에 폴트발생정보를 통지하는 것을 특징으로 하는 용장자원의 관리방법.
KR1019940026329A 1993-10-15 1994-10-14 오류검출기능을가진논리회로,용장자원의관리방법및그것을이용한폴트톨러런트시스템 KR100375691B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP25801393A JP3279004B2 (ja) 1993-10-15 1993-10-15 冗長資源の管理方法及びそれを用いた分散型フォールトトレラントコンピュータシステム
JP93-258013 1993-10-15
JP94-027664 1994-02-22
JP02766494A JP3206275B2 (ja) 1994-02-25 1994-02-25 誤り検出機能付き論理回路及びそれを用いたフォールトトレラントシステム

Publications (2)

Publication Number Publication Date
KR950013043A KR950013043A (ko) 1995-05-17
KR100375691B1 true KR100375691B1 (ko) 2003-05-01

Family

ID=49515852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940026329A KR100375691B1 (ko) 1993-10-15 1994-10-14 오류검출기능을가진논리회로,용장자원의관리방법및그것을이용한폴트톨러런트시스템

Country Status (1)

Country Link
KR (1) KR100375691B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587663B2 (en) * 2006-05-22 2009-09-08 Intel Corporation Fault detection using redundant virtual machines

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH047645A (ja) * 1990-04-25 1992-01-13 Toyota Central Res & Dev Lab Inc フォールト・トレラント・コンピュータ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH047645A (ja) * 1990-04-25 1992-01-13 Toyota Central Res & Dev Lab Inc フォールト・トレラント・コンピュータ

Also Published As

Publication number Publication date
KR950013043A (ko) 1995-05-17

Similar Documents

Publication Publication Date Title
EP0653708B1 (en) Logic circuit having error detection function, redundant resource management method, and fault tolerant system using it
EP1168178B1 (en) Logic circuit having error detection function
Latif-Shabgahi et al. A taxonomy for software voting algorithms used in safety-critical systems
CN100375044C (zh) 信息处理系统及其控制方法、控制程序以及冗余控制装置
US6367031B1 (en) Critical control adaption of integrated modular architecture
JP3206275B2 (ja) 誤り検出機能付き論理回路及びそれを用いたフォールトトレラントシステム
KR100375691B1 (ko) 오류검출기능을가진논리회로,용장자원의관리방법및그것을이용한폴트톨러런트시스템
Manzone et al. Fault tolerant automotive systems: An overview
JPH09288150A (ja) 誤り検出方法,論理回路およびフォールトトレラントシステム
Nedeljković et al. A survey of hardware fault tolerance techniques
JP3279004B2 (ja) 冗長資源の管理方法及びそれを用いた分散型フォールトトレラントコンピュータシステム
Barborak et al. Partitioning for efficient consensus
Fuhrman et al. Hardware/software fault tolerance with multiple task modular redundancy
Saddem et al. Diagnosis of critical embedded systems: application to the control card of a railway vehicle braking systems
Brasileiro Constructing fail-controlled nodes for distributed systems: a software approach
Alahmadi et al. A hybrid history based weighted voting algorithm for ultra-critical systems
Campelo et al. Dependability evaluation of fault tolerant architectures in distributed industrial control systems
Adlemo et al. Failure semantics in intelligent manufacturing systems
JPH08171581A (ja) 誤り検出機能付き論理回路及びそれを用いたフォールトトレラントシステム
Bukov et al. Pair monitoring of redundant technical systems
Wensley Fault tolerant techniques for power plant computers
Djambazova et al. Redundancy Management in Dependable Distributed Real-Time Systems
Kershaw Dependable systems using'VIPER'
Chandhrasekaran et al. Fault tolerance for embedded control system
Sheldon et al. Reliability prediction of distributed embedded fault-tolerant systems

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
FPAY Annual fee payment

Payment date: 20120130

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20130201

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee