KR101623510B1 - 상용 제품 컴포넌트를 사용하는 결함 허용형 고장안전 컴퓨터 시스템 - Google Patents

상용 제품 컴포넌트를 사용하는 결함 허용형 고장안전 컴퓨터 시스템 Download PDF

Info

Publication number
KR101623510B1
KR101623510B1 KR1020140091963A KR20140091963A KR101623510B1 KR 101623510 B1 KR101623510 B1 KR 101623510B1 KR 1020140091963 A KR1020140091963 A KR 1020140091963A KR 20140091963 A KR20140091963 A KR 20140091963A KR 101623510 B1 KR101623510 B1 KR 101623510B1
Authority
KR
South Korea
Prior art keywords
chassis
fault
central processing
processing unit
safety
Prior art date
Application number
KR1020140091963A
Other languages
English (en)
Other versions
KR20150069993A (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 KR20150069993A publication Critical patent/KR20150069993A/ko
Application granted granted Critical
Publication of KR101623510B1 publication Critical patent/KR101623510B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error

Abstract

시스템은 작업을 실행하기 위한 요구의 수신에 응답하여 데이터 패킷을 발생시키고 데이터 패킷을 통신하는 안전 관련 컴포넌트를 포함한다. 시스템은 제 1 새시 건강 신호를 연속적으로 발생시키고, 데이터 패킷이 유효한지를 결정하며, 상기 결정을 기초로 하여 제 1 새시 건강 신호를 비-확인할지를 결정하는, 제 1 고장안전 새시를 더 포함한다. 시스템은 또한 제 2 새시 건강 신호를 연속적으로 발생시키고, 데이터 패킷의 카피가 유효한지를 결정하며, 상기 결정을 기초로 하여 제 2 새시 건강 신호를 비-확인할지를 결정하는, 제 2 고장안전 새시를 포함한다. 시스템은 제 1 새시 건강 신호 및 제 2 새시 건강 신호를 기초로 하여 제 1 고장안전 새시에 미리 결정된 방식으로 작동하도록 명령할지를 결정하는 안전 릴레이 박스 모듈을 더 포함한다.

Description

상용 제품 컴포넌트를 사용하는 결함 허용형 고장안전 컴퓨터 시스템{FAULT-TOLERANT FAILSAFE COMPUTER SYSTEM USING COTS COMPONENTS}
본 출원서는 2013년 12월 16일에 출원된 중국특허출원 제 201310687214.6의 이익과 우선권을 주장한다. 위 출원서의 전체 내용은 여기에 참조로써 통합된다.
본 발명은 결함 허용형(fault-tolerant) 고장안전(fali-safe) 컴퓨터 시스템에 관한 것이다.
본 섹션은 반드시 종래 기술은 아닌 배경 정보를 제공한다.
여기에 제공되는 배경 설명은 일반적으로 본 발명을 나타내는 목적을 위한 것이다. 본 발명의 발명자들의 연구가 어느 정도는 배경 섹션에서 설명되며, 또한 그렇지 않으면 출원 시기에 종래 기술로서 인정되지 않을 수 있는 설명의 양상들은 본 발명에 대하여 분명하게 그리고 은연중에 종래 기술로서 인정되지 않는다.
철도 시스템과 같은, 외부 안전 시스템은 안전 애플리케이션을 구현하도록 구성되는 결함 허용형 고장안전 컴퓨터 시스템들을 포함할 수 있다. 결함 허용형 고장안전 컴퓨터 시스템들은 안전 애플리케이션을 구현하기 위하여 전기적으로 그리고 논리적으로 결합되는 복수의 하드웨어 컴포넌트를 포함할 수 있다. 안전 애플리케이션은 안전 필수(safety critical) 하드웨어 및 소프트웨어와 선택적으로 통신된다. 안전 필수 하드웨어 및 소프트웨어는 철도 시스템의 안전 관련 기능들을 제어하도록 구성된다.
예를 들면, 철도 시스템 상에서 작동하는 기차는 제동 시스템을 포함한다. 제동 시스템은 제동 기능과 같은 적어도 하나의 안전 관련 기능을 구현하도록 구성된다. 제동 시스템은 브레이크 및 브레이크를 작동하도록 구성되는 소프트웨어를 포함한다. 소프트웨어는 브레이크를 작동하기 위한 명령들을 수신한다. 예를 들면, 기차의 운전자는 소프트웨어에 브레이크를 작동하도록 명령하기 위하여 제동 시스템 사용자 인터페이스를 작동할 수 있다. 주기적으로, 브레이크를 작동하기 위한 엄청난 명령들이 철도 시스템의 결함이 있는 컴포넌트에 의해 발생될 수 있다. 따라서, 외부 안전 시스템들에 의해 수신되는 명령들을 인증하도록 구성되는 결함 허용형 고장안전 컴퓨터 시스템이 필요하다.
본 섹션은 본 발명의 일반적인 요약을 제공하나, 그것의 모든 범위 또는 모든 특징의 포괄적인 내용은 아니다.
시스템은 작업을 실행하기 위한 요구(request)의 수신에 응답하여 데이터 패킷(data packet)을 발생시키고 데이터 패킷을 통신하는 안전 관련 컴포넌트를 포함한다. 시스템은 제 1 새시 건강 신호를 연속적으로 발생시키고, 데이터 패킷이 유효한지를 결정하며, 상기 결정을 기초로 하여 제 1 새시 건강 신호를 비-확인할지를(de-assert) 선택적으로 결정하는 제 1 고장안전 새시(fail-safe chasis, FSC)를 더 포함한다. 시스템은 또한 제 2 새시 건강 신호를 연속적으로 발생시키고, 데이터 패킷의 카피(copy)가 유효한지를 결정하며, 상기 결정을 기초로 하여 제 2 새시 건강 신호를 비-확인할지를 선택적으로 결정하는 제 2 고장안전 새시를 포함한다. 시스템은 제 1 새시 건강 신호와 제 2 새시 건강 신호를 기초로 하여 미리 결정된 방식으로 작동하도록 제 1 고장안전 새시를 명령할지를 결정하는 안전 릴레이 박스 모듈(safety relay box module)을 더 포함한다.
다른 특징들에 있어서, 방법은 작업을 실행하기 위한 요구의 수신에 응답하여 데이터 패킷을 발생시키는 단계, 데이터 패킷을 전달하는 단계, 제 1 새시 건강 신호를 연속적으로 발생시키는 단계, 데이터 패킷이 유효한지를 결정하는 단계, 상기 결정을 기초로 하여 제 1 새시 건강 신호를 비-확인할지를 선택적으로 결정하는 단계, 제 2 새시 건강 신호를 연속적으로 발생시키는 단계, 데이터 패킷의 카피가 유효한지를 결정하는 단계, 상기 결정을 기초로 하여 제 2 새시 건강 신호를 비-확인할지를 선택적으로 결정하는 단계, 및 제 1 새시 건강 신호와 제 2 새시 건강 신호를 기초로 하여 미리 결정된 방식으로 작동하도록 제 1 고장안전 새시를 명령할지를 결정하는 단계를 포함한다.
적용의 또 다른 영역들은 여기에 제공되는 설명으로부터 자명할 것이다. 본 요약에서의 설명과 특정 실시 예들은 단지 설명의 목적을 위한 것이며, 본 발명의 범위를 한정하는 것으로 의도되지 않는다.
여기에 설명되는 도면들은 단지 선택된 실시 예들의 설명의 목적을 위한 것이고 모든 가능한 구현은 아니며, 본 발명의 범위를 한정하는 것으로 의도되지 않는다.
도 1은 본 발명의 원리에 따른 결함 허용형 고장안전 컴퓨터 시스템의 기능적 블록 다이어그램이다.
도 2는 본 발명의 원리에 따른 고장안전 새시의 기능적 블록 다이어그램이다.
도 3은 본 발명의 원리에 따른 결함 허용형 고장안전 컴퓨터 작동 방법을 나타내는 플로 다이어그램이다.
일부 도면들에 걸쳐 상응하는 참조 번호들은 상응하는 부품들을 나타낸다.
이제 첨부된 도면들을 참조하여 바람직한 실시 예들이 더 완전히 설명될 것이다.
이제 도 1을 참조하면, 바람직한 결함 허용형 고장안전 시스템(100)의 기능적 블록 다이어그램이 도시된다. 시스템(100)은 안전 애플리케이션들과 상호작용하도록 배치된다. 예를 들면, 시스템(100)은 비-제한적 예로써, 철도 시스템과 관련된 안전 필수 하드웨어 및 소프트웨어와 통신하도록 배치된다. 안전 필수 하드웨어 및 소프트웨어는 철도 시스템의 안전 관련 컴포넌트들을 제어한다. 예를 들면, 안전 필수 하드웨어는 철도 시스템 상에서 작동하는 기차의 제동 시스템과 결합될 수 있다. 또한, 시스템(100)은 산업 공인 안전 표준에 따라 인증될 수 있다.
안전 필수 하드웨어는 제동 시스템의 브레이크를 작동하기 위하여 안전 필수 소프트웨어로부터 데이터 요소들을 수신한다. 시스템(100)은 안전 필수 하드웨어 및 소프트웨어가 미리 결정된 작동 표준에 따라 작동하는지를 보장하기 위하여 안전 필수 하드웨어 및 소프트웨어와 인터페이스로 접속한다. 기차의 제동 시스템만이 설명되나, 본 발명의 원리는 어떠한 안전 필수 하드웨어 및 소프트웨어에도 적용된다는 것을 이해하여야 한다. 여기에 설명되는 실시 예들을 위한 다른 적용들은 항공 시스템의 컴포넌트들, 의학 치료 시스템의 컴포넌트들, 오일 및 가스 제어 시스템의 컴포넌트들, 스마트 그리드 시스템(smart grid system)의 컴포넌트들, 및 다양한 제조 시스템들의 컴포넌트들을 포함하나, 이에 한정되지 않는다.
일부 구현들에서, 시스템(100)은 철도 시스템과 같은, 외부 안전 시스템으로부터 복수의 인입 데이터(incoming data) 패킷을 수신한다. 시스템(100)은 복수의 인입 데이터 패킷을 처리하고 복수의 발신 데이터(outgoing data) 패킷을 외부 안전 시스템의 안전 관련 컴포넌트들에 통신하도록 구성된다. 예를 들면, 시스템(100)은 복수의 인입 데이터 패킷의 제 1 패킷이 유효한 패킷인지를 결정한다. 시스템(100)이 제 1 패킷이 유효한 패킷이라고 결정할 때, 시스템(100)은 발신 패킷을 레일 시스템의 적어도 하나의 안전 관련 컴포넌트에 통신한다.
제 1 패킷은 철도 시스템의 적어도 하나의 안전 관련 컴포넌트에 의해 작용되기 위한 데이터 요소들을 포함한다. 데이터 요소들은 센서 데이터 및/또는 입력/출력(I/O) 지점 상태들을 포함할 수 있다. 적어도 하나의 안전 관련 컴포넌트는 철도 시스템 상에서 작동하는 기차에 결합되는 브레이크일 수 있다. 외부 안전 시스템의 안전 관련 컴포넌트들만이 설명되나, 제 1 패킷은 외부 안전 시스템의 비-안전 관련 컴포넌트들에 의해 적용되기 위한 데이터 요소들을 포함할 수 있다는 것을 이해하여야 한다. 데이터 요소들은 전송 프로토콜에 따라 포맷된다. 예를 들면, 철도 시스템은 미리 결정된 패킹 기준에 따라 데이터 요소들을 전송가능한 패킷들로 패키징하도록 구성된다. 철도 시스템은 그리고 나서 전송 프로토콜에 따라 복수의 인입 데이터 패킷을 전송한다.
시스템(100)은 전송 프로토콜에 따라 전송된 패킷들을 수신하도록 구성된다. 또한, 시스템(100)은 미리 결정된 패키징 기준을 해석하도록 구성된다. 시스템(100)은 그리고 나서 제 1 패킷으로부터 데이터 요소들을 추출하고 데이터 요소들을 기초로 하여 발신 데이터 패킷을 발생시킨다. 발신 데이터 패킷은 데이터 요소들을 기초로 하는 명령들의 세트를 포함한다. 명령들만이 논의되나. 발신 데이터 패킷은 또한 입력/출력들을 제어하기 위한 작동 명령들, 정보를 수집하기 위하여 입력을 판독하기 위한 요구, 건강 메시지 통신들, 프로세스 간(inter-process) 통신을 위한 요구, 또는 다른 적절한 요소들을 포함할 수 있다. 명령들의 세트는 절차를 실행하기 위하여 안전 필수 하드웨어 및 소프트웨어 중 적어도 하나를 명령하는 적어도 하나의 명령을 포함한다.
예를 들면, 명령들의 세트는 제동 절차를 실행하도록 안전 필수 소프트웨어를 명령할 수 있다. 제동 절차는 하드웨어 제동 명령들을 포함한다. 하드웨어 제동 명령들은 안전 필수 하드웨어에 통신된다. 안전 필수 하드웨어는 제동 명령들을 실행한다. 예를 들면, 안전 필수 하드웨어는 브레이크를 적용한다.
시스템(100)은 발신 데이터 패킷과 데이터 요소들을 안전 필수 하드웨어 및 소프트웨어에 통신하는지를 결정한다. 예를 들면, 시스템(100)은 복수의 인입 데이터 패킷의 각각이 미리 결정된 안전 기준을 충족하는 것을 보장한다. 시스템(100)은 복수의 인입 데이터 패킷의 각각이 철도 시스템(100)에 의해 고의로 전송된 것을 입증한다. 예를 들면, 철도 시스템은 철도 시스템 내의 하드웨어 또는 소프트웨어 고정 때문에 엄청난 인입 데이터 패킷을 전송할 수 있다.
안전 필수 하드웨어 및 소프트웨어는 철도 시스템의 작동자로부터의 명령에 응답하여 복수의 인입 데이터 패킷 중 제 1 패킷을 수신한다. 안전 필수 하드웨어 및 소프트웨어는 철도 시스템의 고장 때문에 복수의 인입 데이터 패킷 중 제 2 패킷을 수신한다. 철도 시스템 내의 결함은 비-제한적인 예로써, 열 또는 습기로의 장기간 노출에 기인하는 불량 전기 연결과 같은, 하드웨어 고장을 포함할 수 있다. 안전 필수 하드웨어 및 소프트웨어는 제 1 및 제 2 패킷을 포함하는, 복수의 인입 데이터 패킷을 시스템(100)에 통신한다. 시스템(100)은 복수의 인입 데이터 패킷 각각이 철도 시스템 내의 결함의 결과로서 안전 필수 하드웨어 및 소프트웨어에 의해 수신되었는지를 결정하도록 구성된다.
시스템(100)이 복수의 인입 데이터 패킷 중 하나가 작동자로부터의 명령에 대한 응답으로 수신되었다는 것을 결정할 때, 시스템(100)은 수신된 인입 데이터 패킷과 상응하는 발신 데이터 패킷을 발생시킨다. 예를 들면, 시스템(100)은 제 1 패킷을 기초로 하는 제 1 발신 데이터 패킷을 발생시킨다. 제 1 발신 데이터 패킷은 제 1 패킷 내의 데이터 요소들과 상응하는 명령들의 세트를 포함한다. 시스템(100)이 제 1 패킷이 유효한 패킷인 것으로 결정하면, 시스템(100)은 제 1 발신 데이터 패킷을 안전 필수 하드웨어 및 소프트웨어에 통신한다. 예를 들면, 시스템(100)은 제 1 데이터 패킷이 작동자로부터의 명령에 응답하여 수신되었는지를 결정한다. 시스템(100)은 제 1 발신 데이터 패킷을 안전 필수 하드웨어 및 소프트웨어에 통신한다. 안전 필수 하드웨어 및 소프트웨어는 제 1 발신 데이터 패킷 내에 포함된 명령들의 세트를 실행한다.
반대로, 시스템(100)이 복수의 인입 데이터 패킷 중 하나가 철도 시스템 내의 결함에 응답하여 수신되었다는 것을 결정할 때, 시스템(100)은 발신 데이터 패킷을 안전 필수 하드웨어 및 소프트웨어에 통신하지 않는다. 예를 들면, 시스템(100)은 제 2 패킷이 철도 시스템 내의 결함 때문에 수신되었다는 것을 결정한다. 시스템(100)은 제 2 패킷에 상응하는 발신 데이터 패킷을 안전 필수 하드웨어 및 소프트웨어에 통신하지 않는다. 그 결과, 안전 필수 하드웨어 및 소프트웨어는 제 2 패킷 내에 포함된 데이터 요소들과 상응하는 명령들을 실행하지 않는다.
또한, 시스템(100)은 결함이 철도 시스템 내에 발생되었다는 결정을 기초로 하여 결함 표시를 발생시킨다. 이러한 방법으로, 안전 필수 하드웨어 및 소프트웨어에 의해 실행된 데이터 요소들은 시스템(100)에 의해 먼저 확인된다. 이러한 확인은 철도 시스템이 미리 결정된 안전 기준에 따라 작동하는 것을 보장한다.
일부 구현들에서, 시스템(100)은 복수의 인입 데이터 패킷 중 제 1 패킷을 수신한다. 동시에, 시스템(100)은 복수의 인입 데이터 패킷 중 제 2 패킷을 수신한다. 시스템(100)은 그리고 나서 제 1 및 제 2 패킷 상의 선택 논리(voting logic)를 실행한다. 선택 논리는 이중 2-중-2(two of two, 2oo2) 시스템으로서 구현될 수 있다. 2-중-2 시스템은 아래에 더 상세히 설명된다. 시스템(100)은 제 1 및 제 2 패킷이 동일한지를 결정한다. 시스템(100)이 제 1 및 제 2 패킷이 동일한 것으로 결정할 때, 시스템(100)은 제 1 발신 데이터 패킷을 발생시키고 제 1 발신 데이터 패킷을 안전 필수 하드웨어 및 소프트웨어의 적어도 하나의 컴포넌트에 통신한다.
적어도 하나의 컴포넌트는 그리고 나서 제 1 발신 데이터 패킷 내에 포함된 작동 데이터 요소들을 실행한다. 반대로, 제 1 및 제 2 데이터 패킷이 동일하지 않은 것으로 결정할 때, 시스템(100)은 시스템(100) 또는 철도 시스템의 적어도 하나의 컴포넌트를 결함으로서 인식한다. 철도 시스템이 설명되나, 본 발명의 원리들은 어더한 외부 안전 시스템들에도 적용된다는 것을 이해하여야 한다.
시스템(100)은 또한 안전 표시를 발생시킨다. 안전 표시는 시스템(100) 또는 안전 필수 하드웨어 및 소프트웨어 내의 고장을 나타낼 수 있다. 또한, 시스템(100)은 적어도 하나의 컴포넌트가 미리 결정된 안전 상태로 작동하도록 명령한다. 예를 들면, 안전 상태는 철도 시스템의 안전 작동 환경을 유지하도록 배치되는 안전 상태 데이터 요소들의 세트를 포함할 수 있다.
안전 상태 데이터 요소들은 철도 시스템이 철도 시스템의 전체 안전을 보장하는 미리 결정된 작동 방식으로 작동하도록 명령하는 것을 포함한다. 예를 들면, 미리 결정된 작동 방식은 철도 시스템 상에서 작동하는 기차를 정지시키는 것을 포함한다. 일부 구현들에서, 안전 상태는 모든 안전 관련 통신 인터페이스를 불가능하게 하는 것을 포함한다. 이러한 방법으로, 안전 상태로 작동하는 고장안전 컴퓨터 작동은 안전 필수 하드웨어 및 소프트웨어를 부정확하게 명령할 수 없다.
시스템(100)은 활성(active) 고장안전 새시(104) 및 대기(standby) 고장 안전 새시(108)를 포함한다. 시스템(100)의 유용성과 신뢰성을 증가시키기 위하여, 활성 고장안전 새시(104) 및 대기 고장안전 새시(108)는 중복(redundant) 고장안전 새시들이다. 예를 들면, 활성 고장안전 새시(104)는 대기 고장안전 새시(108) 중 어느 하나 또는 모든 작동을 실행하도록 구성된다. 이러한 방법으로, 활성 고장안전 새시(104) 및 대기 고장안전 새시(108) 중 하나가 하드웨어 또는 소프트웨어 고장과 마주칠 때, 활성 고장안전 새시(104) 및 대기 고장안전 새시(108) 중 나머지는 고장난 고장안전 새시를 대신하여 작동하도록 구성된다.
활성 고장안전 새시(104)는 선택 불일치가 발생할 때 선택 불일치를 검출하는 2-중-2 선택 구조를 구현하고 고장안전 작동을 실행한다. 이-중-2 선택 구조는 이중 중복 처리 및 선택 서브시스템들을 포함한다. 중복 처리 및 선택 서브시스템들은 활성 고장안전 새시(104)에 들어오거나 나가는 패킷들을 투표한다. 예를 들면 활성 고장안전 새시(104)는 복수의 인입 데이터 패킷을 수신한다. 활성 고장안전 새시(104)는 복수의 인입 데이터 패킷의 제 1 패킷의 두 개의 카피를 수신한다.
활성 고장안전 새시(104)는 제 1 패킷의 유효성을 결정한다. 활성 고장안전 패킷(104)은 제 1 패킷이 유효한지의 결정을 기초로 하여 제 1 건강 상태 신호 및 제 2 건강 상태 신호를 연속적으로 발생시킨다. 일부 구현들에서, 연속적으로 발생하는 신호는 신호의 첫 번째 미리 결정된 값으로의 설정을 포함한다. 연속적으로 발생된 신호는 그리고 나서 신호가 두 번째 미리 결정된 값으로 비-확인될 때까지 첫 번째 미리 결정된 값으로 유지된다.
활성 고장안전 새시(104)는 제 1 패킷의 두 개의 카피 각각을 비교한다. 두 카피가 동일할 때, 활성 고장안전 새시(104)는 제 1 패킷이 유효하다고 결정한다. 활성 고장안전 새시(104)가 제 1 패킷이 유효하다고 결정할 때 활성 고장안전 새시(104)는 제 1 건강 상태 신호 및 제 2 건강 상태 신호를 연속적으로 발생시킨다. 제 1 및 제 2 건강 상태 신호는 첫 번째 값으로 주장될 수 있다. 일부 구현들에서, 첫 번째 값은 1과 동일하다. 또 다른 구현에서, 첫 번째 값은 고장안전 새시(104)가 건강하다는 것을 나타내는 일련의 특징들일 수 있다.
반대로, 활성 고장안전 새시(104)가 제 1 패킷의 두 카피가 동일하지 않다고 결정할 때, 활성 고장안전 새시(104)는 제 1 및 제 2 건강 상태 신호를 비-확인한다. 제 1 및 제 2 건강 상태 신호는 두 번째 값으로 비-확인될 수 있다는 것을 이해하여야 한다. 예를 들면, 두 번째 값은 0과 동일할 수 있다. 또 다른 구현에서, 두 번째 값은 고장안전 새시(104)가 건강하지 않다는 것을 나타내는 일련의 특징들일 수 있다. 아래에 더 상세히 설명될 것과 같이, 활성 고장안전 새시(104)는 제 1 프로세서 및 제 2 프로세서를 포함한다. 제 1 프로세서는 제 1 프로세서가 제 1 패킷의 카피가 유효하다고 결정할 때 제 1 건강 상태 신호를 연속적으로 발생시킨다. 유사하게, 제 2 프로세서는 제 2 프로세서가 제 1 패킷의 두 번째 카피가 유효하다고 결정할 때 제 2 건강 상태 신호를 발생시킨다.
활성 고장안전 새시(104)는 제 1 및 제 2 건강 상태 신호를 시스템(100)에 통신한다. 시스템(100)은 활성 고장안전 새시(104)가 건강한지를 결정하기 위하여 제 1 및 제 2 건강 상태 신호를 모니터한다. 예를 들면, 시스템(100)이 제 1 및 제 2 건강 상태 신호를 수신할 때, 시스템(100)은 활성 건강안전 새시(104)가 건강한 것으로 결정한다. 반대로, 시스템(100)이 제 1 건강 상태 신호 및 제 2 건강 상태 신호 중 하나를 수신하지 않을 때, 시스템(100)은 활성 건강안전 새시(104)가 건강하지 않은 것으로 결정한다.
아래에 상세히 설명될 것과 같이, 시스템(100)은 시스템(100)의 안전을 유지하기 위하여 활성 고장안전 새시(104)가 안전 상태에서 작동하도록 명령한다. 비-확인되는 제 1 및 제 2 상태 신호들과 관련하여 선택 불일치들만이 논의되나, 시스템(100) 내의 어떠한 하드웨어 또는 소프트웨어 고장도 제 1 및 제 2 상태 신호 중 하나가 비-확인되도록 야기할 수 있다는 것을 이해하여야 한다. 건강 상태 신호는 미리 결정된 작동 방식에 따라 시스템(100)이 작동된다는 것을 나타낼 수 있다. 이러한 방법으로, 건강 상태 신호는 시스템(100)이 건강하다는 것을 나타낸다.
활성 고장안전 새시(104)가 제 1 패킷의 두 카피가 동일하지 않은 것으로 결정할 때, 활성 고장안전 새시(104)는 선택 결함이 발생했다는 것을 결정한다. 활성 고장안전 새시(104)는 선택 결함이 발생했다는 결정을 기초로 하여 결함 신호를 발생시킨다. 결함 신호는 시스템(100) 내의 검출된 결함을 나타낸다. 결함은 시스템(100) 또는 외부 안전 시스템 내의 하드웨어 또는 소프트웨어 고장에 기인할 수 있다. 유용성 근거를 위하여, 만일 활성 고장안전 새시(104)가 하드웨어 또는 소프트웨어 고장에 맞닥뜨리면, 시스템(100)은 활성 고장안전 새시(104)를 미리 결정된 안전 상태로 되게 한다. 대기 고장안전 새시(108)가 그리고 나서 활성 고장안전 새시로서 작동한다.
활성 고장안전 새시(104) 및 대기 고장안전 새시(108) 각각은 복수의 통신 링크(communication link)를 포함할 수 있다. 통신 링크들은 업링크(uplink)들, 다운링크(downlink)들, 및 사용자 인터페이스를 포함하나 이에 한정되지 않는다. 업링크는 상위 레벨 장비로의 양방향 통신 채널이다. 상위 레벨 장비는 전체 시스템 구조 내에 포함되는 시스템 하드웨어일 수 있다. 예를 들면, 상위 레벨 장비는 철도 시스템의 철도 제동 시스템의 컴포넌트들일 수 있다.
다운링크는 하위 레벨 장비로의 양방향 통신 채널이다. 예를 들면, 하위 레벨 하드웨어는 상위 레벨 장비와 통신하는 스위치들과 릴레이(relay)들을 포함할 수 있다. 다운링크들은 다음의 어떤 적절한 하드웨어 기준으로 구현될 수 있다. 예를 들면, 다운링크들은 RS-252, RS-422, RS-485, CAN, MBV, 이더넷(Ethernet), 이더넷 HSR 링(Ring), 또는 다른 적절한 기술로서 구현될 수 있다. 사용자 인터페이스는 시스템(100)의 사용자가 시스템(100)의 컴포넌트들과 서브시스템들을 액세스하는 것을 허용하도록 디자인된 인터페이스이다. 예를 들면, 사용자 인터페이스는 복수의 발광 다이오드로서 구현될 수 있다.
통신 링크들은 시스템(100) 외부의 하드웨어 컴포넌트들과 소프트웨어 애플리케이션들과 통신된다. 또한, 시스템(100)은 현장 엔지니어에 대한 입력과 통신 출력을 수신하도록 구성된다. 예를 들면, 현장 엔지니어는 시스템(100)의 사용자 인터페이스와 통신함으로써 시스템(100)을 선택적으로 구성할 수 있다.
활성 고장안전 새시(104) 및 대기 고장안전 새시(108) 각각은 건강 및 안전 애플리케이션을 실행하도록 배치된다. 예를 들면, 활성 고장안전 새시(104) 및 대기 고장안전 새시(108)는 메모리 및 프로세서를 포함한다. 건강 및 안전 애플리케이션은 활성 고장안전 새시(104) 및 대기 고장안전 새시(108)의 메모리 내로 로딩되는 소프트웨어일 수 있다. 건강 및 안전 애플리케이션은 그리고 나서 활성 고장안전 새시(104) 및 대기 고장안전 새시(108)의 프로세서에 의해 실행된다.
건강 및 안전 애플리케이션은 활성 고장안전 새시(104) 및 대기 고장안전 새시(108)를 모니터하고 제어한다. 예를 들면, 건강 및 안전 애플리케이션은 복수의 건강 신호를 발생시킨다. 복수의 건강 신호는 모듈 건강 신호 및 마스크 신호(mask signal)를 포함할 수 있으나 이에 한정되지 않는다. 건강 및 안전 애플리케이션은 예를 들면, 활성 고장안전 새시(104) 내의 고장을 기초로 하여 복수의 신호를 발생시킨다. 건강 및 안전 애플리케이션은 활성 고장안전 새시(104) 또는 대기 고장안전 새시(108) 중 하나를 안전 상태로 강요함으로써 고장들을 검출하고 응답하도록 디자인된 기능적 안전 서브시스템이다.
건강 및 안전 애플리케이션은 외부 안전 시스템 상에서 실행되는 어떠한 안전 애플리케이션들을 포함할 수 있다는 것을 이해하여야 한다. 이는 철도 시스템의 하드웨어와 소프트웨어에 의해 실행되는 데이터 요소들의 세트 이전의 데이터 요소들의 세트의 유효성과 안전의 보장을 포함한다. 건강 및 안전 애플리케이션은 또한 건강 및 안전 애플리케이션이 시스템(100) 내의 고장을 검출할 때 철도 시스템이 미리 결정된 안전 상태에서 작동하는 것을 보장하도록 구성된다.
활성 고장안전 새시(104) 및 대기 고장안전 새시(108) 각각은 처리 서브시스템을 포함한다. 활성 고장안전 새시(104) 처리 서브시스템은 마스터 중앙 처리 유닛(master CPU, 116a) 및 체커 중앙 처리 유닛(checker CPU, 120a)을 포함한다. 유사하게, 대기 고장안전 새시(108) 처리 서브시스템은 마스터 중앙 처리 유닛(116b) 및 체커 중앙 처리 유닛(120b)을 포함한다. 각각의 마스터 중앙 처리 유닛들(116a 및 116b)은 동일하도록 구성된다. 유사하게 각각의 체커 중앙 처리 유닛들(120a 및 120b)은 동일하도록 구성된다. 이러한 방법으로, 마스터 중앙 처리 유닛(116a), 마스터 중앙 처리 유닛(116b), 체커 중앙 처리 유닛(120a), 체커 중앙 처리 유닛(120b)은 시스템(100)의 유용성과 신뢰성을 증가시키도록 작용한다.
시스템(100)의 전체 건강 및 안전을 모니터하고 제어하기 위하여, 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)이 또한 동일하도록 구성된다. 예를 들면, 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)은 동일한 소프트웨어를 실행하고 동일한 처리 기능들을 구현하도록 구성된다. 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)은 안전 필수 하드웨어 및 소프트웨어의 완전한 하드웨어 결함 및 오류(error) 검출 범위를 유지하고 정확한 서열로 발신 패킷들 상의 투표를 허용하기 위하여 동일한 기능들을 실행하도록 구성된다.
일부 구현들에서, 마스터 중앙 처리 유닛(116a)은 철도 시스템의 안전 필수 하드웨어 또는 소프트웨어 중 적어도 하나로부터 작업을 실행하기 위한 요구를 수신한다. 작업을 실행하기 위한 요구는 외부 안전 시스템의 작동자로부터 안전 필수 하드웨어 및 소프트웨어에 의해 수신되는 명령을 기초로 한다. 예를 들면, 철도 시스템의 작동자는 철도 시스템 상에서 작동하는 기차에 속도를 증가시키도록 명령한다. 작동자는 기차 내의 물리적 레버를 작동할 수 있다. 물리적 레버는 기차의 속도를 증가시키는 명령을 나타내는 신호를 발생시키도록 배치된다. 신호는 안전 필수 하드웨어 및 소프트웨어에 통신된다.
명령을 실행하기 전에, 안전 필수 하드웨어 및 소프트웨어는 안전 관련 작업을 시스템(100)에 통신한다. 시스템(100)은 신호를 해석하고 신호와 관련하여 요구된 작업을 결정하도록 구성된다. 시스템(100)은 그리고 나서 요구된 작업이 안전 관련 작업을 나타내는지를 결정한다. 예를 들면, 요구된 작업은 안전 관련 작업 또는 비-안전 관련 작업일 수 있다. 일 실시 예에서, 비-안전 관련 작업은 안전 필수 하드웨어 및 소프트웨어에 철도 시스템 내에 작동하는 기차의 현재 상태로 돌아오도록 명령하는 명령들을 포함한다. 또 다른 실시 예에서, 안전 관련 작업은 안전 필수 하드웨어 및 소프트웨어에 기차의 속도를 증가시키도록 명령하는 명령들을 포함한다.
시스템(100)은 요구된 작업을 미리 정의된 작업들의 목록과 비교한다. 시스템(100)은 미리 정의된 작업들을 기초로 하여, 요구된 작업이 안전과 관련되는지를 결정한다. 시스템(100)이 요구된 작업이 안전 관련 작업이라고 결정하면, 시스템(100)은 요구된 작업과 상응하는 패킷을 발생시킨다. 여기에 안전 관련 작업만이 설명되나, 시스템(100)은 어떠한 작업으로부터의 패킷도 발생시킬 수 있다는 것을 이해하여야 한다. 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a) 모두 안전 필수 하드웨어 및 소프트웨어가 요구된 작업을 실행하기 전에 패킷의 유효성을 입증하도록 구성된다. 예를 들면, 작업을 실행하기 위한 요구는 복수의 인입 데이터 패킷 중 하나일 수 있다.
유사하게, 체커 중앙 처리 유닛(120a)은 요구된 작업과 상응하는 동일한 패킷의 카피를 수신한다. 각각의 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)은 패킷의 카피를 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)의 다른 하나에 통신하도록 구성된다. 마스터 중앙 처리 유닛(116a)이 안전 필수 하드웨어와 소프트웨어에 요구된 작업을 실행하도록 명령하기 전에, 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)은 각각의 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)에 의해 수신된 패킷을 비교한다. 예를 들면, 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)은 패킷 상에서 2-중-2 선택을 실행한다.
패킷들이 동일할 때, 마스터 중앙 처리 유닛(116a)은 안전 필수 하드웨어 및 소프트웨어에 요구된 작업을 실행하도록 명령한다. 예를 들면, 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)은 요구된 작업과 관련된 발신 패킷을 발생시킨다. 선택이 성공할 때(즉, 패킷들이 동일할 때) 마스터 중앙 처리 유닛(116a)은 요구된 작업을 실행하기 위하여 발신 패킷을 안전 필수 하드웨어 및 소프트웨어에 통신한다.
발신 패킷은 입력/출력들을 제어하기 위한 작동 데이터 요소들, 정보를 수집하기 위하여 입력을 판독하기 위한 요구, 건강 메시지들, 프로세스 간 통신을 위한 요구, 또는 안전 필수 하드웨어 및 소프트웨어와 관련된 다른 적절한 요구들을 포함할 수 있다. 작동 데이터 요소들은 안전 필수 하드웨어 및 소프트웨어 중 하나에 미리 결정된 절차를 실행하도록 명령하는 명령들의 세트를 포함할 수 있다. 예를 들면, 작동 데이터 요소들은 안전 필수 소프트웨어에 가속 절차를 실행하도록 명령할 수 있다. 가속 절차는 적어도 하나의 안전 필수 하드웨어 컴포넌트를 제어하는 단계를 포함한다. 적어도 하나의 하드웨어 컴포넌트는 기차의 스로틀(throttle) 메커니즘을 포함한다.
반대로, 패킷들이 동일하지 않을 때, 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)은 안전 필수 하드웨어 및 소프트웨어에 요구된 작업을 실행하도록 명령하지 않는다. 마스터 중앙 처리 유닛(116a)은 결함 신호를 발생시킨다. 결함 신호는 시스템(100), 안전 필수 하드웨어 및 소프트웨어, 또는 외부 안전 시스템 내의 고장을 나타낸다. 이러한 방법으로, 마스터 중앙 처리 유닛(116a)은 요구된 작업이 유효한 소스(즉, 외부 하드웨어 컴포넌트 또는 소프트웨어 애플리케이션)로부터의 유효한 요구라는 것을 입증한다.
예를 들면, 마스터 중앙 처리 유닛(116a)은 외부 하드웨어 고장, 소프트웨어 오류, 또는 전체 시스템 고장에 기인하는 작업들을 실행하기 위하여 엄청난 요구들을 수신한다. 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)만이 설명되나, 위에 설명된 원리들은 또한 마스터 중앙 처리 유닛(116b) 및 체커 중앙 처리 유닛(120b)에 적용된다는 것을 이해하여야 한다.
각각의 활성 고장안전 새시(104) 및 대기 고장안전 새시(108)는 복수의 입력/출력 유닛 모듈을 포함한다. 활성 고장안전 새시(104)는 입력/출력 유닛 모듈들(128a-128f)을 포함한다. 입력/출력 유닛 모듈들(128a-128f)은 여기서는 입력/출력 유닛 모듈(128)로서 언급될 것이다. 유사하게 대기 고장안전 새시(108)는 입력/출력 유닛 모듈들(132a-132f)을 포함하며, 이는 입력/출력 유닛 모듈들(128a-128f)과 동일하다. 입력/출력 유닛 모듈들(132a-132f)은 여기서는 입력/출력 유닛 모듈(132)로서 언급될 것이다.
활성 고장안전 새시(104) 및 대기 고장안전 새시(108)는 또한 각각 선택 서브시스템, 입력/출력 서브시스템, 및 각각 스위치 모듈(124a)과 스위치 모듈(124b)을 포함한다. 스위치 모듈(124a)과 스위치 모듈(124b)은 동일하도록 구성된다. 스위치 모듈(124a)과 스위치 모듈(124b)은 입력/출력 서브시스템으로부터 수신된 패킷들을 마스터 중앙 처리 유닛(116a 및 116b)과 체커 중앙 처리 유닛(120a, 120b)으로 전송한다.
예를 들면, 스위치 모듈(124a)은 마스터 중앙 처리 유닛(116a)으로부터 수신된 패킷을 외부 네트워크 컴포넌트로 전송한다. 또한 스위치 모듈(124a)은 외부 컴포넌트로뷰터 패킷들을 수신하고 수신된 패킷들을 마스터 중앙 처리 유닛(116a), 체커 중앙 처리 유닛(120b), 및 입력/출력 서브시스템에 전송한다. 또한 스위치 모듈(124a)은 수신된 패킷들을 선택 서브시스템에 통신한다. 스위치 모듈(124a)만이 설명되나, 위에 설명된 원리들은 또한 스위치 모듈(124b)에 적용될 수 있다는 것을 이해하여야 한다.
입력/출력 유닛 모듈(128)은 활성 고장안전 새시(104) 내의 입력/출력 서브시스템을 구현한다. 입력/출력 시스템은 하위 레벨 네트워크 장비 및 마스터 중앙 처리 유닛(116a)과 체커 중앙 처리 유닛(120a) 사이에 게이트웨이를 제공하도록 구성된다. 입력/출력 유닛 모듈(128)은 외부 하드웨어와 소프트웨어에 의해 요구되는 하위 레벨 프로토콜로부터 마스터 중앙 처리 유닛(116a)과 체커 중앙 처리 유닛(120a)을 분리한다. 이러한 방법으로, 입력/출력 유닛 모듈(128)은 마스터 중앙 처리 유닛(116a), 체커 중앙 처리 유닛(120a), 및 외부 하드웨어와 소프트웨어 사이에 안전한 통신을 제공하기 위하여 내부 이더넷 상에 안전 층을 더한다. 입력/출력 유닛 모듈(128) 및 스위치 모듈(124a)은 선택적으로 전면 블레이드(front blade, 124a-128f)로서 언급될 수 있다. 유사하게, 입력/출력 유닛 모듈(128) 및 스위치 모듈(124b)은 선택적으로 전면 블레이드(124b-132f)로서 언급될 수 있다.
활성 고장안전 새시(104) 및 대기 고장안전 새시(108)는 또한 복수의 후면 전송 모듈(rear transition module, RTM)을 포함한다. 활성 고장안전 새시(104)는 후면 전송 모듈(136a-136i)을 포함한다. 대기 고장안전 새시(108)는 후면 전송 모듈(140a-140i)을 포함한다. 대기 고장안전 새시(108)는 활성 고장안전 새시(104)의 중복 구성이기 때문에, 후면 전송 모듈(136a-136i)은 후면 전송 모듈(140a-140i)과 동일하다는 것을 이해하여야 한다. 일부 구현들에서, 각각의 후면 전송 모듈(136a-136i)은 고속 교환(hot swappable) 현장 교체 유닛(field replaceable unit, FRU)들일 수 있다.
예를 들면, 각각의 후면 전송 모듈(136a-136i)은 먼저 전체 시스템(100)의 전원을 끄지 않고 현장 엔지니어에 의해 제거되고 대체될 수 있다. 후면 전송 모듈들(136a-136i)은 활성 고장안전 새시(104)가 외부 하드웨어와 소프트웨어 컴포넌트들과 통신하도록 허용한다. 예를 들면, 후면 전송 모듈(136a)은 마스터 중앙 처리 유닛(116a)을 활성 고장안전 새시(104) 외부의 컴포넌트들에 전기적으로 그리고 논리적으로 결합한다. 유사하게, 후면 전송 모듈(136b)은 대기 고장안전 새시(108)를 외부 하드웨어와 소프트웨어 컴포넌트들에 전기적으로 그리고 논리적으로 결합한다.
전면 블레이드들(124a-128f)은 각각 제 1 메모리 위치 및 제 2 메모리 위치를 포함한다. 제 1 및 제 2 메모리 위치는 활성 고장안전 새시(104)의 상응하는 하드웨어 컴포넌트로부터 수신된 값을 저장한다. 예를 들면, 마스터 중앙 처리 유닛(116a)은 마스터 중앙 처리 유닛(116a)의 모듈 건강을 나타내는 모듈 건강 신호(위에 설명된)를 연속적으로 발생시킨다. 마스터 중앙 처리 유닛(116a)은 모듈 건강 신호가 마스터 중앙 처리 유닛(116a)이 건강하다고 나타낼 때 제 1 메모리 위치 내에 1을 저장한다.
각각의 전면 블레이드들(124a-128f) 및 마스터 중앙 처리 유닛(116a)은 모듈 건강 신호를 발생시킨다. 각각의 전면 블레이드들(124a-128f)은 제 1 메모리 위치 내에 모듈 건강 신호를 나타내는 값을 저장한다. 예를 들면, 스위치 모듈(124a)은 모듈 건강 신호가 스위치 모듈(124a)이 건강하다고 나타낼 때 스위치 모듈(124a)과 관련된 제 1 메모리 위치 내에 1을 저장한다.
반대로, 모듈 건강 신호가 스위치 모듈(124a)이 건강하지 않다고 나타낼 때 스위치 모듈(124a)은 제 1 메모리 위치 내에 0을 저장한다. 스위치 모듈(124a)만이 설명되나, 여기에 설명되는 원리들은 시스템(100) 내의 모든 모듈에 적용된다는 것을 이해하여야 한다. 또한 모듈 건강 신호를 기초로 하여 1과 0만이 저장되나, 시스템(100) 내의 각각의 모듈들의 건강을 나타내기 위하여 어떠한 적절한 지표가 사용될 수 있다는 것을 이해하여야 한다. 시스템(100) 내의 각각의 모듈들은 그리고 나서 마스터 중앙 처리 유닛(116a)의 관련 제 1 메모리 위치 내에 저장된 값을 마스터 중앙 처리 유닛(116a)에 통신한다.
마스터 중앙 처리 유닛(116a)은 각각의 전면 블레이드들(124a-128f)에 의해 발생된 모듈 건강 신호 및 마스터 중앙 처리 유닛(116a)에 의해 발생된 모듈 건강 신호와 상응하는 복수의 값의 수용을 기초로 하여 활성 고장안전 새시(104)가 건강한지를 결정한다. 예를 들면, 마스터 중앙 처리 유닛(116a)은 모듈 건강 신호들과 상응하는 각각의 수신된 값들이 시스템(100) 내의 각각의 모듈들이 건강하다고 나타낼 때 활성 고장안전 새시(104)가 건강하다고 결정한다. 반대로, 마스터 중앙 처리 유닛(116a)은 모듈 건강 신호들과 상응하는 각각의 수신된 값들이 시스템(100) 내의 모듈들 중 적어도 하나가 건강하지 않다고 나타낼 때 활성 고장안전 새시(104)가 건강하지 않다고 결정한다.
또 다른 구현에서, 모듈 건강 신호를 나타내는 값은 시스템(100)의 전면에 구성되는 모듈 내에 저장된다. 예를 들면, 후면 전송 모듈)136s)로부터 시스템(100)의 반대편 면 상에 구성되는 모듈은 모듈 건강 신호가 마스터 중앙 처리 유닛(116a)이 건강하다고 나타낼 때 제 1 메모리 위치 내에 1을 저장한다. 마스터 중앙 처리 유닛(116a)만이 설명되나, 여기에 설명되는 원리들은 체커 중앙 처리 유닛(120a)에 적용된다는 것을 이해하여야 한다.
마스터 중앙 처리 유닛(116a)은 복수의 인입 데이터 패킷 중 제 1 패킷을 수신한다. 동시에, 체커 중앙 처리 유닛(120a)은 제 1 패킷의 카피를 수신한다. 마스터 중앙 처리 유닛(116a)과 체커 중앙 처리 유닛(120a)은 제 1 패킷과 제 1 패킷의 카피가 동일한지를 결정한다. 제 1 패킷과 제 1 패킷의 카피가 동일할 때, 마스터 중앙 처리 유닛(116a)은 모듈 건강 신호를 연속적으로 발생시킨다. 모듈 건강 신호는 1 또는 높은 신호 값으로 설정될 수 있다. 모듈 건강 신호의 값은 활성 고장안전 새시(104)의 건강을 나타낸다. 마스터 중앙 처리 유닛(116a)은 제 1 메모리 위치 내에 1을 저장한다.
반대로, 제 1 패킷과 제 1 패킷의 카피가 동일하지 않을 때, 마스터 중앙 처리 유닛(116a)은 무효한 모듈 건강 신호를 발생시킨다. 예를 들면, 마스터 중앙 처리 유닛(116a)은 모듈 건강 신호를 비-확인한다. 마스터 중앙 처리 유닛(116a)은 제 1 메모리 위치 내에 0을 저장한다. 마스터 중앙 처리 유닛(116a)은 마스터 중앙 처리 유닛(116a) 내의 마스크 레지스터(mask register)의 상태를 나타내는 마스크 신호를 수신한다. 예를 들면, 마스크 레지스터는 각각의 마스터 중앙 처리 유닛(116a)과 체커 중앙 처리 유닛(120a) 내의 프로그램가능 비트이다.
요구된 작업이 안전 관련 작업일 때 마스크 레지스터가 설정된다. 예를 들면, 시스템(100)이 요구된 작업이 안전 관련 작업이라고 결정할 때 마스크 레지스터는 1로 설정된다. 마스크 신호가 마스크 중앙 처리 유닛(116a) 내의 마스크 레지스터가 1로 설정되는 것으로 나타낼 때 후면 전송 모듈(136a)은 제 2 메모리 위치 내에 1을 저장한다. 반대로, 마스크 신호가 마스크 중앙 처리 유닛(116a) 내의 마스크 레지스터가 0으로 설정되는 것으로 나타낼 때 후면 전송 모듈(136a)은 제 2 메모리 위치 내에 0을 저장한다.
시스템(100)은 또한 감시 타이머(watchdog timer) 애플리케이션을 포함한다. 감시 타이머 애플리케이션은 마스터 중앙 처리 유닛(116a)이 코드의 실행을 중단하였는지를 나타내는 연속적으로 구동하는 감시 기능이다. 예를 들면, 감시 타이머 애플리케이션은 마스터 중앙 처리 유닛(116a)을 모니터한다. 마스터 중앙 처리 유닛(116a)은 감시 타이머 재설정 신호를 감시 타이머 애플리케이션에 통신한다. 감시 타이머 애플리케이션은 감시 타이머 재설정 신호가 미리 정의된 기간 내에 수신되었는지를 결정한다. 예를 들면, 미리 정의된 기간은 1분일 수 있다. 미리 정의된 기간은 설정가능한 아이템일 수 있다.
감시 타이머 애플리케이션은 감시 타이머 재설정 신호를 기초로 하여 감시 건강 신호를 발생시킨다. 예를 들면, 마스터 중앙 처리 유닛(116a)이 미리 정의된 기간 후에 감시 타이머 재설정 신호를 통신할 때, 감시 타이머 애플리케이션은 감시 건강 신호를 1로 설정한다. 바꾸어 말하면, 감시 타이머 애플리케이션은 마스터 중앙 처리 유닛(116a)이 미리 정의된 기간 내에 감시 애플리케이션과 통신할 수 없을 때 마스터 중앙 처리 유닛(116a) 내의 결함을 결정한다. 예를 들면, 결함은 소프트웨어 루프에 스턱된(stuck) 마스터 중앙 처리 유닛(116a)의 결과일 수 있다. 위에 마스터 중앙 처리 유닛(116a)만이 설명되나, 체커 중앙 처리 유닛(120a)이 마스터 중앙 처리 유닛(116a)과 동일한 작업들로 구성된다는 것을 이해하여야 한다.
후면 전송 모듈(136a)은 마스터 중앙 처리 유닛(116a)의 전체 건강을 나타내는 모듈 건강 값을 통신한다. 예를 들면, 후면 전송 모듈(136a)은 제 1 메모리 위치 내에 저장되는 값 및 제 2 메모리 위치 내에 저장되는 값에 대한 논리적 OR을 실행한다. 예를 들면, 제 1 메모리 위치 내에 저장된 값이 0이고 제 2 메모리 위치 내에 저장된 값이 0일 때 후면 전송 모듈(136a)은 0의 모듈 건강 값을 통신할 것이다.
제 1 메모리 위치 내에 저장된 값이 1이고 제 2 메모리 위치 내에 저장된 값이 0일 때 후면 전송 모듈(136a)은 1의 모듈 건강 값을 통신한다. 각각의 후면 전송 모듈들(136a-136i)은 각각의 전면 블레이드들(124a-128f)과 관련된 메모리 내에 저장된 값들에 대한 논리적 OR을 실행하도록 구성된다는 것을 이해하여야 한다.
후면 전송 모듈들(136a 및 136b)은 새시 건강 값을 안전 릴레이 박스 모듈(144)에 통신한다. 안전 릴레이 박스 모듈(144)은 복수의 새시 건강 값을 기초로 하여 시스템(100) 내의 고장안전 새시 중 어느 것이 활성 고장 안전 새시일 것이고 어느 것이 대기 고장안전 새시일 것인지를 선택적으로 결정한다. 예를 들면, 안전 릴레이 박스 모듈(144)은 후면 전송 모듈(136a), 후면 전송 모듈(136b), 후면 전송 모듈(140a), 및 후면 전송 모듈(140b)로부터 복수의 새시 건강 값을 수신한다. 후면 전송 모듈(136a)은 마스터 중앙 처리 유닛(116a)과 전면 블레이드들(124a-128f)에 의해 발생된 모듈 건강 신호들 및 마스크 레지스터들 내에 저장된 값의 누적 결과를 기초로 하여 제 1 새시 건강 값을 발생시킨다.
후면 전송 모듈(136a)은 새시 건강 값을 안전 릴레이 박스 모듈(144)에 통신한다. 유사하게, 후면 전송 모듈(136b)은 체커 중앙 처리 유닛(120a)과 전면 블레이드들(124a-128f)에 의해 발생된 모듈 건강 신호들 및 마스크 레지스터들 내에 저장된 값의 누적 결과를 기초로 하여 제 2 새시 건강 값을 발생시킨다. 후면 전송 모듈(140a)은 마스터 중앙 처리 유닛(116b)과 전면 블레이드들(124b-132f)에 의해 발생된 모듈 건강 신호들 및 마스크 레지스터들 내에 저장된 값의 누적 결과를 기초로 하여 제 3 새시 건강 값을 발생시킨다. 유사하게 후면 전송 모듈(140b)은 체커 중앙 처리 유닛(120b)과 전면 블레이드들(124a-128f)에 의해 발생된 모듈 건강 신호들 및 마스크 레지스터들 내에 저장된 값의 누적 결과를 기초로 하여 제 4 새시 건강 값을 발생시킨다.
안전 릴레이 박스 모듈(144)은 활성 고장안전 새시(104)와 대기 고장안전 새시(108) 중 어느 것이 시스템(100) 내의 활성 고장안전 새시로서 작동할 것인지를 결정한다. 예를 들면, 안전 릴레이 박스 모듈(144)은 제 1-4 새시 건강 값들을 기초로 하여 시스템(100) 내의 활성 고장안전 새시로서 활성 고장안전 새시(104)가 작동할 것을 결정한다. 안전 릴레이 박스 모듈(144)은 제 1 및 제 2 새시 건강 값이 신호들이 활성 고장안전 새시(104)가 건강하다고 나타낼 때 활성 고장안전 새시(104)가 시스템(100) 내의 활성 고장안전 새시가 될 것을 결정한다.
고장 안전 릴레이 박스 모듈(144)은 활성 고장안전 새시 결정을 기초로 하여 활성 고장안전 새시 신호 및 대기 고장안전 새시 신호를 발생시킨다. 예를 들면, 안전 릴레이 박스 모듈(144)은 제 1 활성 고장안전 새시 신호 및 제 2 활성 고장안전 새시 신호를 발생시킨다. 제 1 및 제 2 활성 고장안전 새시 신호들은 모두 대기 고장안전 새시로서 어떠한 고장안전 새시가 작동하도록 선택되었는지를 나타내는 중복 신호들이다. 고장 안전 릴레이 박스 모듈(144)은 제 1 활성 고장안전 새시 신호 및 제 1 대기 고장안전 새시 신호를 활성 고장안전 새시(104)에 통신한다. 유사하게, 안전 릴레이 박스 모듈(144)은 제 2 활성 고장안전 새시 신호 및 제 2 대기 고장안전 새시 신호를 대기 고장안전 새시(108)에 통신한다.
안전 릴레이 박스 모듈(144)은 또한 제 1-4 새시 건강 신호들을 기초로 하여 활성 고장안전 새시(104)와 대기 고장안전 새시(108) 중 하나에서 결함이 발생되었는지를 결정한다. 예를 들면, 안전 릴레이 박스 모듈(144)은 안전 릴레이 박스 모듈(144)이 후면 전송 모듈들(136a 및 136b) 중 하나로부터 무효한 새시 건강 신호를 수신할 때 활성 고장안전 새시 내에 결함이 발생하였다는 것을 결정한다. 예를 들면, 무효한 새시 건강 신호는 0의 새시 건강 값일 수 있다. 안전 릴레이 박스 모듈(144)은 무효한 새시 건강 신호를 기초로 하여 대기 신호를 발생시킨다. 안전 릴레이 박스 모듈(144)은 대기 신호를 활성 고장안전 새시(104)에 통신한다. 활성 고장안전 새시(104)는 대기 신호를 기초로 하여 고장안전 상태로 들어갈지를 결정한다. 예를 들면, 활성 고장안전 새시(104)는 활성 고장안전 새시(104)가 대기 신호를 수신할 때 고장안전 상태로 들어가도록 결정한다.
안전 릴레이 박스 모듈(144)은 새시 건강 값을 기초로 하여 활성 신호를 발생시킨다. 안전 릴레이 박스 모듈(144)은 활성 신호를 대기 고장안전 새시(108)에 통신한다. 활성 신호는 활성 고장안전 새시(104)가 고장안전 상태 또는 대기 상태에서 작동하고 있는지를 대기 고장안전 새시(108)에 나타낸다. 대기 고장안전 새시(108)가 활성 신호를 수신할 때, 대기 고장안전 새시(108)는 활성 고장안전 새시로서 작동하기 시작한다. 이러한 방법으로, 안전 릴레이 박스 모듈(144)은 고장 활성 고장안전 새시를 고장안전 상태로 들어가게 하고, 활성 고장안전 새시의 역할을 맡도록 대기 고장안전 새시를 변경한다.
일부 구현들에서, 안전 릴레이 박스 모듈(144)은 복수의 상용 제품과 통신하도록 구성된다. 예를 들면, 활성 고장안전 새시(104)와 대기 고장안전 새시(108)는 시스템(100) 내에 구현되는 상용 제품들일 수 있다. 활성 고장안전 새시(104)와 대기 고장안전 새시(108)는 미리 결정된 구현 기준에 따라 구성될 수 있다. 구현 기준은 미리 정의된 통신 프로토콜을 포함한다.
안전 릴레이 박스 모듈(144)은 통신 프로토콜에 따라 활성 고장안전 새시(104)와 대기 고장안전 새시(108)로부터 신호들과 메시지들을 수신하고 해석하도록 구성된다. 이러한 방법으로, 안전 릴레이 박스 모듈(144)은 활성 고장안전 새시(104)와 대기 고장안전 새시(108)가 통신 프로토콜을 따르는 한 활성 고장안전 새시(104)와 대기 고장안전 새시(108)의 물리적 특징들에 상관없이 활성 고장안전 새시(104)와 대기 고장안전 새시(108)와 통신한다. 안전 릴레이 박스 모듈(144)은 시스템(100) 내의 어떠한 컴포넌트와도 통신한다는 것을 이해하여야 한다. 또한, 시스템(100) 내의 어떠한 컴포넌트도 어떠한 컴포넌트가 통신 프로토콜을 따르는 한 사용 제품들을 이용하여 구현될 수 있다.
일부 구현들에서, 입력/출력 서브시스템은 또한 철도 시스템의 하드웨어 및 소프트웨어 컴포넌트들과 같은 외부 소스들로부터 패킷들을 수신한다. 수신된 패킷들은 위에 설명된 것과 같은 복수의 인입 데이터 패킷을 포함할 수 있다. 입력.출력 서브시스템은 그리고 나서 수신된 패킷들을 선택 서브시스템에 통신한다.
선택 서브시스템은 기능적 안전 서브시스템이며 고장들을 수신하고 고장들에 응답하도록 구성된다. 선택 서브시스템이 활성 고장안전 새시(104)와 대기 고장안전 새시(108) 중 하나에서 오류를 검출할 때, 선택 서브시스템은 활성 고장안전 새시(104)와 대기 고장안전 새시(108) 중 하나를 고장안전 상태로 들어가도록 한다. 선택 서브시스템은 초리 서브시스템의 결함 검출을 실행한다. 예를 들면, 마스터 중앙 처리 유닛(116a) 및 체커 중앙 처리 유닛(120a)은 요구된 작업을 기초로 하여 발신 패킷들을 발생시킨다.
선택 서브시스템은 마스터 중앙 처리 유닛(116a)에 의해 발생된 발신 패킷들을 체커 중앙 처리 유닛(120a)에 의해 발생된 발신 패킷들과 비교한다. 발신 패킷들이 동일할 때, 선택 서브시스템은 패킷의 단일 카피를 스위치 모듈(124a) 및 입력/출력 서브시스템에 통신한다. 발신 패킷들이 동일하지 않을 때, 선택 서브시스템은 활성 고장안전 새시(104)를 고장 상태로 들어가도록 한다. 이러한 방법으로, 선택 서브시스템은 활성 고장안전 새시(104)와 대기 고장안전 새시(108) 중 하나에서의 결함들을 검출한다. 활성 고장안전 새시(104)와 대기 고장안전 새시(108) 중 하나에서의 결함을 검출할 때, 선택 서브시스템은 결함이 있는 고장안전 새시를 고장안전 상태로 들어가도록 함으로써 시스템(100)을 안전 상태로 이끈다.
선택 서브시스템은 또한 입력/출력 서브시스템으로부터 패킷들을 수신한다. 예를 들면, 입력/출력 유닛 모듈들(128)은 스위치 모듈들(124a)을 거쳐 선택 서브시스템과 통신한다. 입력/출력 유닛 모듈들(128)은 제 1 패킷을 스위치 모듈(124a)에 통신한다. 스위치 모듈(124a)은 제 1 패킷을 중복한다. 예를 들면, 스위치 모듈(124a)은 제 2 패킷을 발생시킨다. 제 2 패킷은 제 1 패킷의 카피이다. 스위치 모듈(124a)은 제 1 패킷을 마스터 중앙 처리 유닛(116a)과 체커 중앙 처리 유닛(120a)에 통신한다. 마스터 중앙 처리 유닛(116a)과 체커 중앙 처리 유닛(120a)은 위에 설명된 것과 같이 제 1 및 제 2 패킷들 상에서 선택 논리를 실행한다. 이러한 방법으로, 선택 서브시스템은 수신된 패킷들의 유효성을 입증한다.
또 다른 실시 예에서, 제 1 패킷은 철도 시스템의 안전 필수 하드웨어와 같은, 외부 컴포넌트 내의 하드웨어 고장 때문에 제 2 패킷과 동일하지 않을 수 있다. 선택 서브시스템이 제 1 패킷이 제 2 패킷과 동일하지 않은 것으로 결정할 때, 안전 애플리케이션은 활성 고장안전 새시(104)를 고장안전 상태로 들어가도록 한다. 부가적으로 또는 대안으로서, 불일치된 패킷들은 조용히 폐기될 수 있다. 예를 들면, 마스터 중앙 처리 유닛(116a)과 체커 중앙 처리 유닛(120a) 모두 제 1 및 제 2 패킷을 기초로 하여 발신 패킷을 발생시키지 않는다. 이러한 방법으로, 시스템(100)은 회복가능한 오류들에 기인하는 과도한 고장극복(failover)/고장안전 전이를 방지할 수 있다. 또 다른 구현에서, 입력 선택은 고장극복/고장안전 전이를 야기하도록 구성될 수 있다.
이제 도 2를 참조하면, 본 발명의 원리들에 따른 바람직한 고장안전 새시의 블록 다이어그램이 200에 도시된다. 고장안전 새시(200)는 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)을 포함한다. 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 동일한 소프트웨어를 실행하고 동일한 처리 기능들을 구현한다. 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 안전 필수 하드웨어 및 소프트웨어의 완전한 하드웨어 결함과 오류 검출 범위 보장을 유지하기 위하여 동일한 기능들을 실행한다.
예를 들면, 마스터 중앙 처리 유닛(204)은 외부 안전 시스템의 안전 필수 하드웨어 또는 소프트웨어 중 적어도 하나로부터 작업을 실행하기 위한 요구를 수신한다. 외부 안전 시스템은 철도 시스템과 같은, 미리 결정된 안전 기준에 따라 작동하도록 요구되는 시스템일 수 있다. 철도 시스템은 안전 필수 하드웨어 및 소프트웨어를 포함한다. 안전 필수 하드웨어 및 소프트웨어는 철도 시스템의 양상들을 제어하기 위하여 철도 시스템의 컴포넌트들과 상호 작용한다. 예를 들면, 안전 필수 하드웨어 및 소프트웨어는 철도 시스템 내에 작동하는 기차를 제어한다.
작업을 실행하기 위한 요구는 하드웨어 컴포넌트의 상태를 결정하는 단계, 철도 시스템의 브레이크와 맞물리는 단계, 또는 철도 시스템의 작동자에 철도 시스템 내에 작동하는 기차의 위치를 나타내는 단계를 포함하나, 이에 한정되지 않는다. 작업을 실행하기 위한 요구는 패킷의 형태로 수신된다. 예를 들면, 작업을 실행하기 위한 요구는 복수의 인입 데이터 패킷 중 하나일 수 있다.
동시에, 체커 중앙 처리 유닛(208)은 동일한 요구의 카피를 수신한다. 각각의 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 요구된 작업이 카피를 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)의 나머지에 통신하도록 구성된다. 마스터 중앙 처리 유닛(204)이 요구된 작업을 실행하기 전에, 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 각각의 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)에 의해 수신된 요구된 작업을 비교한다.
요구된 작업이 동일할 때, 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 요구된 작업을 안전 필수 하드웨어 및 소프트웨어에 통신한다. 예를 들면, 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 요구된 작업과 관련된 발신 패킷을 발생시킨다. 발신 패킷은 작동 데이터 요소들을 포함한다. 작동 데이터 요소들은 미리 결정된 과정을 실행하기 위하여 안전 필수 하드웨어 및 소프트웨어 중의 하나를 명령하는 명령들의 세트를 포함할 수 있다. 예를 들면, 작동 데이터 요소들은 제동 맞물림 과정을 실행하기 위하여 안전 필수 소프트웨어를 명령할 수 있다. 제동 맞물림 과정은 적어도 하나의 안전 필수 하드웨어 컴포넌트를 제어하는 단계를 포함한다. 적어도 하나의 하드웨어 컴포넌트는 철도 시스템의 제동 메커니즘을 포함할 수 있다.
반대로, 요구된 작업이 동일하지 않을 때, 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 요구된 작업을 안전 필수 하드웨어 및 소프트웨어에 통신하지 않는다. 이러한 방법으로, 마스터 중앙 처리 유닛(204)은 요구된 작업이 유효한 소스(즉, 외부 하드웨어 컴포넌트 또는 소프트웨어 애플리케이션)로부터의 유효한 요구인 것을 입증한다. 예를 들면, 마스터 중앙 처리 유닛(204)은 외부 하드웨어 고장, 소프트웨어 오류, 또는 전체 시스템 기능불량에 기인하는 작업들을 실행하기 위하여 엄청난 요구들을 수신한다.
마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 마스크 레지스터를 포함한다. 마스크 레지스터는 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208) 내의 프로그램가능한 비트이다. 마스터 레지스터 내에 저장된 값은 요구된 작업이 안전 관련 작업인지를 나타낸다. 예를 들면, 마스크 레지스터는 시스템(100)이 요구된 작업이 안전 관련 작업이라고 결정할 때 1로 설정된다. 또한, 건강 및 안전 애플리케이션은 시스템(100)이 처음에 시작될 때 마스터 레지스터를 설정한다.
마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 각각 요구된 작업들이 동일한지의 결정을 기초로 하여 모듈 건강 신호를 연속적으로 발생시킨다. 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)이 요구된 작업들이 동일하다고 결정할 때, 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 모듈 건강 신호 펄스를 연속적으로 발생시킨다. 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)이 요구된 작업들이 동일하지 않다고 결정할 때, 마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 모듈 건강 신호 펄스를 비-확인한다.
마스터 중앙 처리 유닛(204)과 체커 중앙 처리 유닛(208)은 고장안전 새시(200)와 관련된 복수의 모듈의 각각에 의해 발생된 복수의 모듈 건강 신호 펄스를 기초로 하여 새시 건강 신호 펄스를 발생시킨다. 고장안전 새시(200)는 활성 고장안전 새시(204)와 관련하여 설명된 것들과 유사한 특징들을 포함한다. 고장안전 새시(200) 내의 각각의 모듈들은 모듈 건강 신호를 연속적으로 발생시킨다(위에 설명된 것과 같이). 마스터 중앙 처리 유닛(204)은 복수의 모듈 건강 신호가 고장안전 새시(204)가 건강하다고 나타낼 때 제 1 새시 건강 신호 펄스를 발생시킨다. 바꾸어 말하면, 제 1 새시 건강 신호 펄스는 마스크 레지스터가 요구된 작업이 안전 관련성이고 복수의 모듈 신호가 고장안전 새시(200)가 건강하다고 나타낼 때 연속적으로 확인된다(즉 1로 설정된다).
마스크 레지스터가 요구된 작업이 안전 관련성이 아니라고 나타낼 때(즉, 마스크 레지스터가 0으로 설정) 제 1 모듈 건강 신호 펄스는 비-확인될 수 있다는 것을 이해하여야 한다. 그러나, 안전 관련 과정들(즉 활성 고장안전 새시(204)는 안전 상태로 들어가도록 하는)이 실행되지 않을 것이다. 이러한 방법으로, 고장이 안전 관련 작업 동안에 발생할 때 고장극복/고장안전 과정들만이 구현된다. 새시 건강 신호 펄스는 고장안전 새시(200)의 전체 건강을 나타낸다.
마스터 중앙 처리 유닛(204)과 관련하여 설명된 원리들은 체커 중앙 처리 유닛(208)에 적용된다는 것을 이해하여야 한다. 체커 중앙 처리 유닛(208)은 고장안전 새시(200)와 관련된 복수의 모듈의 각각에 의해 발생된 복수의 모듈 건강 신호 펄스를 기초로 하여 제 2 새시 건강 신호 펄스를 발생시킨다. 체커 중앙 처리 유닛(208)은 복수의 모듈 건강 신호가 고장안전 새시(200)가 건강하다고 나타낼 때 제 2 새시 건강 신호 펄스를 발생시킨다. 마스터 중앙 처리 유닛(204)은 제 1 새시 건강 신호 펄스를 안전 릴레이 박스(212)에 통신한다. 유사하게, 체커 중앙 처리 유닛(208)은 제 2 새시 건강 신호 펄스를 안전 릴레이 박스(212)에 통신한다.
안전 릴레이 박스 모듈(212)은 고장안전 새시(200)가 복수의 새시 건강 신호를 기초로 하여 활성 고장안전 새시로서 작동할지를 선택적으로 결정한다. 예를 들면, 안전 릴레이 박스 모듈(212)은 고장안전 새시(200)가 개시될 때 마스터 중앙 처리 유닛(204)으로부터 새시 건강 신호 펄스를 수신하기 시작한다. 안전 릴레이 박스(212)는 또한 체커 중앙 처리 유닛(208)으로부터 새시 건강 신호 펄스를 수신하기 시작한다. 안전 릴레이 박스 모듈(212)은 고장안전 새시(200)가 새시 건강 신호들을 기초로 하여 활성 건강안전 새시로서 선택될지를 결정한다.
일부 구현들에서, 안전 릴레이 박스 모듈(212)은 또한 또 다른 고장안전 새시로부터 복수의 새시 건강 신호 펄스를 수신한다. 안전 릴레이 박스 모듈(212)은 고장안전 새시(200) 또는 또 다른 고장안전 새시가 복수의 새시 건강 신호 펄스를 기초로 하여 활성 고장안전 새시로서 선택될지를 결정한다. 예를 들면, 안전 릴레이 박스 모듈(212)은 먼저 고장안전 새시(200) 또는 또 다른 고장안전 새시가 건강한지를 결정한다. 안전 릴레이 박스 모듈(212)은 고장안전 새시(200)로부터 수신된 새시 건강 신호 펄스들이 고장안전 새시(200)가 건강하다고 나타낼 때 고장안전 새시(200)가 건강하다고 결정한다. 예를 들면, 안전 릴레이 박스(212)는 안전 릴레이 박스(212)가 고장안전 새시(200)로부터 새시 건강 신호를 수신할 때 고장안전 새시(200)가 건강하다고 결정한다.
유사하게, 안전 릴레이 박스 모듈(212)은 또 다른 고장안전 새시로부터 수신된 복수의 건강 신호 펄스가 또 다른 고장안전 새시가 건강하다고 나타낼 때 또 다른 고장안전 새시가 건강하다고 결정한다. 안전 릴레이 박스 모듈(212)이 고장안전 새시(200)와 또 다른 고장안전 새시 모두 건강하다고 결정할 때, 안전 릴레이 박스 모듈(212)은 고장안전 새시(200)와 또 다른 고장안전 새시 중 어느 것이 복수의 새시 건강 신호 펄스와 먼저 통신하였는지를 기초로 하여 활성 고장안전 새시를 선택한다. 예를 들면, 또 다른 고장안전 새시가 신호를 안전 릴레이 박스 모듈(212)에 통신하기 전에 고장안전 새시(200)가 신호를 안전 릴레이 박스 모듈(212)에 통신할 때, 안전 릴레이 박스 모듈(212)은 활성 고장안전 새시로서 고장안전 새시(200)를 선택한다.
안전 릴레이 박스 모듈(212)은 활성 고장안전 새시의 건강을 모니터한다. 예를 들면, 안전 릴레이 박스 모듈(212)은 고장안전 새시(200)로부터 제 1 및 제 2 새시 건강 신호 펄스들을 수신한다. 안전 릴레이 박스 모듈(212)은 제 1 및 제 2 새시 건강 신호 펄스들을 기초로 하여 고장안전 새시(200) 내에 결함이 발생하였는지를 결정한다. 안전 릴레이 박스 모듈(212)은 제 1 및 제 2 새시 건강 신호 펄스 중 적어도 하나가 요구된 작업들의 불일치를 나타낼 때 고장안전 새시(200) 내에 결함이 발생하였다고 결정한다. 바꾸어 말하면, 안전 릴레이 박스 모듈(212)은 안전 릴레이 박스 모듈(212)이 제 1 및 제 2 새시 건강 신호 펄스 중 하나를 수신하지 않을 때 결함이 발생하였다고 결정한다.
안전 릴레이 박스 모듈(212)은 안전 릴레이 박스 모듈(212)이 고장안전 새시(200) 내에 결함이 발생하였다고 결정할 때 고장안전 신호를 발생시킨다. 안전 릴레이 박스 모듈(212)은 고장안전 신호를 고장안전 새시(200)에 통신한다. 고장안전 새시(200)는 고장안전 신호를 기초로 하여 안전 상태로 들어갈지를 결정한다. 예를 들면, 고장안전 새시(200)는 고장안전 새시(200)가 고장안전 신호를 수신할 때 안전 상태로 들어간다. 반대로, 고장안전 새시(200)가 고장안전 신호를 수신하지 않는 한 고장안전 새시(200)는 활성 고장안전 새시(200) 방식으로 계속 작동할 것이다.
대안으로서, 고장안전 새시(200)는 고장안전 새시(200)가 활성 신호를 수신하지 않을 때 대기 상태로 들어갈 수 있다. 안전 릴레이 박스 모듈(212)은 안전 릴레이 박스 모듈(212)이 고장안전 새시(200)가 활성 고장안전 새시로서 작동하는 것으로 결정할 때 활성 신호를 통신한다. 안전 릴레이 박스 모듈(212)은 활성 신호를 고장안전 새시(200)에 연속적으로 통신한다. 안전 릴레이 박스 모듈(212)이 고장안전 새시(200)가 결함으로 결정할 때, 안전 릴레이 박스 모듈(212)은 활성 신호를 고장안전 새시(200)에 통신하지 않는다. 고장안전 새시(200)는 그리고 나서 대기 상태로 작동한다.
일부 구현들에서, 복수의 새시 건강 신호 펄스는 검출되지 않은, 잠재적 고장 방식들을 제거하기 위하여 동역학적 펄스 신호들로서 구현된다. 안전 릴레이 박스 모듈(212)은 펄스 신호가 계속 0에 있을지 또는 계속 1에 있을지를 결정한다. 예를 들면, 안전 릴레이 박스(212)는 마스터 중앙 처리 유닛(204)으로부터 제 1 펄스 신호를 수신한다. 안전 릴레이 박스 모듈(212)은 미리 결정된 시간의 기간 동안 대기하도록 구성된다.
예를 들면, 미리 결정된 시간의 기간은 동역학적 펄스가 재설정하는데 충분히 긴 시간과 상응하는 기간일 수 있다. 안전 릴레이 박스 모듈(212)은 미리 결정된 기간 후에 제 1 펄스 신호가 재설정되지 않았을 때 제 1 펄스 신호가 스턱되는 것을 결정한다. 안전 릴레이 박스 모듈(212)은 그리고 나서 안전 릴레이 박스 모듈(212)이 제 1 펄스 신호가 스턱된다고 결정할 때 마스터 중앙 처리 유닛(204) 내의 고장을 결정한다. 안전 릴레이 박스 모듈(212)은 마스터 중앙 처리 유닛(204) 내의 고장의 결정을 기초로 하여 고장안전 신호를 발생시킨다.
이제 도 3을 참조하면, 상용 제품 컴포넌트를 사용하는 결함 허용형 고장안전 컴퓨터 시스템을 구현하기 위한 방법(300)이 304에서 시작한다. 308에서, 방법(300)은 결함 허용형 고장안전 컴퓨터 시스템을 개시한다. 312에서, 방법(300)은 복수의 건강 신호를 수신한다. 316에서, 방법(300)은 복수의 건강 신호를 기초로 하여 활성 건강안전 새시 및 대기 건강안전 새시를 선택한다. 320에서, 방법(300)은 활성 선택 신호 및 대기 선택 신호를 확인한다. 방법(300)은 활성 선택 신호 및 대기 선택 신호를 활성 고장안전 새시 및 대기 고장안전 새시에 통신한다. 324에서, 방법(300)은 복수의 고장안전 새시 건강 펄스를 수신한다. 328에서, 방법(300)은 건강 펄스들 중 적어도 하나가 1 또는 0에 스턱되는지를 결정한다. 방법(300)이 적어도 하나의 건강 펄스가 1 또는 0에 스턱되는 것으로 결정할 때 방법은 340에서 계속된다. 방법(300)이 적어도 하나의 건강 펄스가 1 또는 0에 스턱되지 않는 것으로 결정할 때 방법은 322에서 계속된다.
332에서, 방법(300)은 건강 펄스들을 기초로 하여 활성 고장안전 새시 내에 결함이 발생하였는지를 결정한다. 방법(300)이 활성 고장안전 새시 내에 고장이 발생하였다고 결정할 때, 방법(300)은 340에서 계속된다. 방법은 활성 고장안전 새시 내에 고장이 발생하지 않았다고 결정할 때, 방법(300)은 336에서 계속된다. 336에서, 방법(300)은 건강 펄스들을 재설정한다. 방법(300)은 324에서 계속된다. 340에서, 방법(300)은 활성 고장안전 새시를 고장안전 상태로 들어가도록 한다. 344에서, 방법(300)은 대기 고장안전 새시에 활성 고장안전 새시의 역할을 맡도록 명령한다. 348에서, 방법(300)은 활성 고장안전 새시 고장 표시를 발생시킨다. 방법(300)은 352에서 종료된다.
실시 예들의 이전의 설명들이 도해와 설명의 목적을 위하여 제공되었다. 이는 본 발명을 완전한 것으로 또는 한정하는 것으로 의도되지 않는다. 특정 실시 예의 개별 구성요소 또는 특징들은 일반적으로 그러한 특정 실시 예에 한정되지 않으며, 적용가능하면, 호환될 수 있으며 구체적으로 도시되거나 설명되지 않더라도, 선택된 실시 예에서 사용될 수 있다. 또한 많은 방법으로 변경될 수 있다. 그러한 변경들은 본 발명의 범위를 벗어나는 것으로 간주되지 않으며, 그러한 모든 변형은 본 발명의 범위 내에 포함되는 것으로 의도된다.
여기서 사용되는 것과 같이, 용어 모듈은 주문형 반도체(Application Specific Integrated Circuit, ASIC); 전자 회로, 조합 논리 회로; 필드 프로그램 가능 게이트 어레이(FPGA); 코드를 실행하는 프로세서(공유, 전용, 또는 그룹); 설명된 기능들을 제공하는 다른 적절한 하드웨어 컴포넌트들; 또는 시스템 온 칩과 같은, 위의 일부 또는 모두의 조합;을 언급할 수 있거나, 이들의 일부분일 수 있거나, 또는 이들을 포함할 수 있다. 용어 모듈은 프로세서에 의해 실행되는 코드를 저장하는 메모리(공유, 전용, 또는 그룹)를 포함할 수 있다.
위에 사용된 것과 같은, 용어 코드는 소프트웨어, 펌웨어, 및/또는 마이크로코드를 포함할 수 있으며, 프로그램들, 루틴(routine)들, 기능들, 클래스들, 및/또는 대상들을 언급할 수 있다. 위에 사용된 것과 같은, 용어 공유(shared)는 다중 모듈로부터의 일부 또는 모든 코드가 단일(공유) 프로세서를 사용하여 실행될 수 있다는 것을 의미한다. 게다가, 다중 모듈로부터의 일부 또는 모든 코드는 단일(공유) 메모리에 의해 저장될 수 있다. 위에 사용된 것과 같은 용어 그룹은 단일 모듈로부터의 일부 또는 모든 코드가 프로세서들의 그룹을 사용하여 실행될 수 있다는 것을 의미한다. 게다가, 단일 모듈로부터의 일부 또는 모든 코드는 메모리들의 그룹을 사용하여 저장될 수 있다.
여기에 설명된 장치들과 방법들은 하나 또는 그 이상의 프로세서에 의해 실행되는 하나 또는 그 이상의 컴퓨터 프로그램에 의해 구현될 수 있다. 컴퓨터 프로그램들은 비-일시적 유형적 컴퓨터 판독가능 매체 상에 저장되는 프로세서 실행가능 명령들을 포함한다. 컴퓨터 프로그램들은 또한 저장된 데이터를 포함할 수 있다. 비-일시적 유형적 컴퓨터 판독가능 매체의 비-제한적 예들은 비휘발성 메모리, 자기 저장장치, 광학 저장장치이다.
통상의 지식을 가진 자들에 본 발명을 완전하게 설명하고 본 발명의 범위를 완전하게 전달하기 위하여 바람직한 실시 예들이 제공되었다. 본 발명의 실시 예들의완전한 이해를 제공하기 위하여 특정 컴포넌트들, 장치들, 및 방법들의 예와 같이 많은 특정 상세 내용들이 설명되었다. 통상의 지식을 가진 자들은 특정 상세 내용들은 사용될 필요가 없으며, 바람직한 실시 예들이 많은 다른 형태로 구현될 수 있으며 이들 모두 본 발명의 범위를 한정하는 것으로 구성되지 않는다는 것을 이해할 것이다. 일부 바람직한 실시 예들에서, 잘 알려진 과정들, 잘 알려진 장치 구조들, 및 잘 알려진 기술들은 상세히 설명되지 않았다.
여기서 사용된 용어는 단지 특정 바람직한 실시 예들을 설명하는 목적을 위한 것이며 이를 한정하는 것으로 의도되지 않는다. 여기서 사용된 것과 같이, 단수 형태 "a:, "an" 및 "the"는 또한 문맥이 명확히 달리 표시하지 않는 한, 복수의 형태를 포함하는 것으로 의도된다. 용어들 "포함하다(comprose)", "comprosong", "including", 및 "having"은 포괄적이며 따라서 전술된 특징부들, 정수들, 단계들, 작동들, 소자들, 및/또는 컴포넌트들의 존재를 명시하나, 하나 또는 그 이상의 다른 특징부들, 정수들, 단계들, 작동들, 소자들, 컴포넌트들, 및/또는 그것들의 그룹들의 존재 또는 첨가를 배제하지 않는다. 여기에 설명된 방법 단계들, 과정들, 및 작동들은 실행의 순서로서 구체적으로 확인되지 않는 한, 반드시 논의되거나 도시된 특정 순서로서 그것들의 실행을 필요로 하는 것으로서 구성되는 것은 아니다. 부가적이거나 또는 대안의 단계들이 사용될 수 있다는 것을 이해하여야 한다.
소자 또는 층이 또 다른 소자 또는 층의 "위에 존재하는" "맞물리는", "연결되는", 또는 "결합되는" 것으로 언급될 때, 이는 다른 소자 또는 층의 바로 위에 존재하거나, 맞물리거나, 연결되거나, 또는 결합될 수 있거나, 혹은 사이에 있는(intervening) 소자 또는 층이 존재할 수 있다. 이와 대조적으로, 소자가 또 다른 소자 또는 층의 "바로(directly) 위에 존재하는", "바로 맞물리는", 또는 "바로 결합되는" 것으로 언급될 때, 사이에 있는 어떠한 소자들 또는 층들도 존재하지 않을 수 있다. 소자들 사이의 관계를 설명하기 위하여 사용되는 다른 단어들도 같은 방식으로 해석되어야만 한다.(예를 들면, "사이에" 대 "바로 사이에", "인접한" 대 "바로 인접한" 등). 여기서 사용되는 것과 같이, 용어 "및/또는"은 하나 또는 그 이상의 열거된 아이템이 어느 하나 또는 모든 조합을 포함한다.
비록 용어들 제 1, 제 2, 제 3 등이 여기서는 다양한 소자들, 컴포넌트들, 영역들, 층들 및/또는 섹션들을 설명하도록 사용될 수 있으나, 이러한 소자들, 컴포넌트들, 영역들, 층들 및/또는 섹션들은 이러한 용어들에 의해 한정되지 않는다. 이러한 용어들은 단지 하나의 소자, 컴포넌트, 영역, 층 또는 섹션을 다른 소자, 컴포넌트, 영역, 층 또는 섹션과 구별하도록 사용될 수 있다. 여기서 사용될 때 "제 1", "제 2" 및 다른 수치 용어들은 문맥에 의해 명확히 표시되지 않는 한 순차 또는 순서를 설명하지 않는다. 따라서, 아래에 논의되는 제 1 소자, 컴포넌트, 영역, 층 또는 섹션은 바람직한 실시 예들의 원리를 벗어나지 않고 제 2 소자, 컴포넌트, 영역, 층 또는 섹션으로 불릴 수 있다.
"내부(inner)", "외부", "아래(beneath)", "아래(below)", "하부(lower)", "위(above)", "상부" 등과 같은, 공간 관련 용어들은 여기서는 도면에 도시된 것과 같이 또 다른 소자(들) 또는 특징부(들)에 대한 하나의 소자 또는 특징부의 관계를 설명하기 위한 설명의 편이를 위하여 사용될 수 있다. 공간 관련 용어들은 도면에 도시된 지향에 더하여 사용 또는 작동중인 장치의 다른 지향들을 포함하는 것으로 의도될 수 있다. 예를 들면, 만일 도면 내의 장치가 뒤집히면, 다른 요소들 또는 특징부들 "아래(below 또는 beneath)"와 같이 설명된 요소들 또는 특징부들은 그때 다른 요소들 또는 특징부들 "위"로 지향될 수 있다. 따라서, 용어 "이래"는 위와 아래의 지향 모두를 포함할 수 있다. 장치는 다르게 지향될 수 있으며(90도 회전되거나 또는 다른 지향들로) 여기서 사용된 공간 관련 설명어들은 이에 알맞게 해석된다.
100 : 시스템
104 : 활성 고장안전 새시
108 : 대기 고장 안전 새시
116a, 116b : 마스터 중앙 처리 유닛
120a, 120b : 체커 중앙 처리 유닛
124a, 124b : 스위치 모듈
128, 132 : 입력/출력 유닛 모듈
136a-136i : 후면 전송 모듈
140a-140i : 후면 전송 모듈
144 : 안전 릴레이 박스 모듈
200 : 고장안전 새시
204 : 마스터 중앙 처리 유닛
208 : 체커 중앙 처리 유닛
212 : 안전 릴레이 박스 모듈

Claims (20)

  1. 작업을 실행하기 위한 요구의 수신에 응답하여 데이터 패킷을 발생시키고 상기 데이터 패킷을 통신하는 안전 관련 컴포넌트;
    제 1 새시 건강 신호를 연속적으로 발생시키고, 상기 데이터 패킷이 유효한지를 결정하며, 및 상기 결정을 기초로 하여 상기 제 1 새시 건강 신호를 비-확인할지를 결정하는, 제 1 고장안전 새시;
    제 2 새시 건강 신호를 연속적으로 발생시키고, 상기 데이터 패킷의 카피가 유효한지를 결정하며, 및 상기 결정을 기초로 하여 상기 제 2 새시 건강 신호를 비-확인할지를 결정하는, 제 2 고장안전 새시; 및
    상기 제 1 새시 건강 신호 및 상기 제 2 새시 건강 신호를 기초로 하여 상기 제 1 고장안전 새시에 미리 결정된 방식으로 작동하도록 명령할지를 결정하는 안전 릴레이 박스 모듈;을 포함하는 것을 특징으로 하는 시스템.
  2. 제 1항에 있어서, 상기 제 1 고장안전 새시는 상기 데이터 패킷의 제 1 카피를 수신하는 제 1 마스터 중앙 처리 유닛 및 상기 데이터 패킷의 제 2 카피를 수신하는 제 1 체커 중앙 처리 유닛을 포함하는 것을 특징으로 하는 시스템.
  3. 제 2항에 있어서, 상기 제 1 마스터 중앙 처리 유닛은 마스크 레지스터 내에 저장된 값을 기초로 하여 상기 요구된 작업이 안전 관련 작업인지를 결정하는 것을 특징으로 하는 시스템.
  4. 제 3항에 있어서, 상기 제 1 마스터 중앙 처리 유닛은 상기 요구된 작업이 안전 관련 작업이라는 결정에 응답하여, 상기 데이터 패킷의 상기 제 1 카피를 상기 제 1 체커 중앙 처리 유닛에 통신하고 상기 제 1 체커 중앙 처리 유닛은 상기 요구된 작업이 안전 관련 작업이라는 결정에 응답하여, 상기 데이터 패킷의 상기 제 2 카피를 상기 제 1 마스터 중앙 처리 유닛에 통신하는 것을 특징으로 하는 시스템.
  5. 제 4항에 있어서, 상기 제 1 마스터 중앙 처리 유닛은 상기 데이터 패킷의 상기 제 1 카피 및 상기 데이터 패킷의 상기 제 2 카피 사이의 제 1 비교를 기초로 하여 제 1 결함 신호를 발생시키며 상기 제 1 체커 중앙 처리 유닛은 상기 데이터 패킷의 상기 제 2 카피 및 상기 데이터 패킷의 상기 제 1 카피 사이의 제 2 비교를 기초로 하여 제 2 결함 신호를 발생시키는 것을 특징으로 하는 시스템.
  6. 제 5항에 있어서, 상기 제 1 고장안전 새시는 상기 제 1 결함 신호 및 상기 제 2 결함 신호를 기초로 하여 상기 안전 관련 컴포넌트에 상기 작업을 실행하도록 명령하는 것을 특징으로 하는 시스템.
  7. 제 1항에 있어서, 상기 제 1 고장안전 새시는 제 1 마스크 레지스터의 제 1 상태를 결정하고 상기 제 2 고장안전 새시는 제 2 마스크 레지스터의 제 2 상태를 결정하는 것을 특징으로 하는 시스템.
  8. 제 7항에 있어서, 상기 안전 릴레이 박스 모듈은 상기 제 1 고장안전 새시에 상기 제 1 새시 건강 신호, 상기 제 2 새시 건강 신호, 상기 제 1 상태, 및 상기 제 2 상태를 기초로 하여 미리 결정된 방식으로 작동하도록 명령하는 것을 특징으로 하는 시스템.
  9. 제 7항에 있어서, 상기 안전 릴레이 박스 모듈은 상기 제 1 새시 건강 신호 및 상기 제 1 상태를 기초로 하여 상기 제 1 고장안전 새시에 안전 상태로 작동하도록 명령할지를 결정하는 것을 특징으로 하는 시스템.
  10. 제 9항에 있어서, 상기 제 2 고장안전 새시는 상기 제 1 고장안전 새시에 안전 상태로 작동하도록 명령하는 상기 안전 릴레이 박스 모듈을 기초로 하여 미리 결정된 방식으로 작동할지를 결정하는 것을 특징으로 하는 시스템.
  11. 안전 관련 컴포넌트에 의해서, 작업을 실행하기 위한 요구의 수신에 응답하여 데이터 패킷을 발생시키는 단계;
    상기 안전 관련 컴포넌트에 의해서, 상기 데이터 패킷을 통신하는 단계;
    제 1 고장안전 새시에 의해서, 제 1 새시 건강 신호를 연속적으로 발생시키는 단계;
    상기 제 1 고장 안전새시에 의해서, 상기 데이터 패킷이 유효한지를 결정하는 단계;
    상기 제 1 고장안전 새시에 의해서, 상기 결정을 기초로 하여 상기 제 1 새시 건강 신호를 비-확인할지를 선택적으로 결정하는 단계;
    제 2 고장안전 새시에 의해서, 제 2 새시 건강 신호를 연속적으로 발생시키는 단계;
    상기 제 2 고장안전 새시에 의해서, 상기 데이터 패킷의 카피가 유효한지를 결정하는 단계;
    상기 제 2 고장안전 새시에 의해서, 상기 데이터 패킷의 카피가 유효한지에 대한 상기 결정을 기초로 하여 상기 제 2 새시 건강 신호를 비-확인할지를 선택적으로 결정하는 단계; 및
    안전 릴레이 박스 모듈에 의해서, 상기 제 1 새시 건강 신호 및 상기 제 2 새시 건강 신호를 기초로 하여 상기 제 1 고장안전 새시에 미리 결정된 방식으로 작동하도록 명령할지를 결정하는 단계;를 포함하는 것을 특징으로 하는 방법.
  12. 제 11항에 있어서, 제 1 마스터 중앙 처리 유닛에서 상기 데이터 패킷의 제 1 카피를 수신하는 단계 및 제 1 체커 중앙 처리 유닛에서 상기 데이터 패킷의 제 2 카피를 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제 12항에 있어서, 상기 제 1 마스터 중앙 처리 유닛에 의해서, 마스크 레지스터 내에 저장된 값을 기초로 하여 상기 요구된 작업이 안전 관련 작업인지를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제 13항에 있어서, 상기 제 1 마스터 중앙 처리 유닛에 의해서, 상기 요구된 작업이 안전 관련 작업이라는 결정에 응답하여, 상기 데이터 패킷의 상기 제 1 카피를 상기 제 1 체커 중앙 처리 유닛에 통신하는 단계; 및 상기 제 1 체커 중앙 처리 유닛에 의해서, 상기 요구된 작업이 안전 관련 작업이라는 결정에 응답하여, 상기 데이터 패킷의 상기 제 2 카피를 상기 제 1 마스터 중앙 처리 유닛에 통신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제 14항에 있어서, 상기 제 1 마스터 중앙 처리 유닛에 의해서, 상기 데이터 패킷의 상기 제 1 카피 및 상기 데이터 패킷의 상기 제 2 카피 사이의 제 1 비교를 기초로 하여 제 1 결함 신호를 발생시키는 단계; 및 상기 제 1 체커 중앙 처리 유닛에 의해서, 상기 데이터 패킷의 상기 제 2 카피 및 상기 데이터 패킷의 상기 제 1 카피 사이의 제 2 비교를 기초로 하여 제 2 결함 신호를 발생시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제 15항에 있어서, 상기 제 1 마스터 중앙 처리 유닛에 의해서, 상기 제 1 결함 신호 및 상기 제 2 결함 신호를 기초로 하여 상기 안전 관련 컴포넌트에 상기 작업을 실행하도록 명령하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제 12항에 있어서, 상기 제 1 고장안전 새시에 의해서, 제 1 마스크 레지스터의 제 1 상태를 결정하는 단계; 및 상기 제 2 고장안전 새시에 의해서, 제 2 마스크 레지스터의 제 2 상태를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 제 17항에 있어서, 상기 안전 릴레이 박스 모듈에 의해서, 상기 제 1 새시 건강 신호, 상기 제 2 새시 건강 신호, 상기 제 1 상태, 및 상기 제 2 상태를 기초로 하여 상기 제 1 고장안전 새시에 미리 결정된 방식으로 작동하도록 명령하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  19. 제 17항에 있어서, 상기 안전 릴레이 박스 모듈에 의해서, 상기 제 1 새시 건강 신호 및 상기 제 1 상태를 기초로 하여 상기 제 1 고장안전 새시에 안전 상태로 작동하도록 명령할지를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  20. 제 19항에 있어서, 상기 안전 릴레이 박스 모듈에 의해서, 안전 상태로 작동하는 상기 제 1 고장안전 새시를 기초로 하여 상기 제 2 고장안전 새시가 미리 결정된 방식으로 작동할지를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1020140091963A 2013-12-16 2014-07-21 상용 제품 컴포넌트를 사용하는 결함 허용형 고장안전 컴퓨터 시스템 KR101623510B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201310687214.6A CN104714853B (zh) 2013-12-16 2013-12-16 使用cots组件的容错故障安全计算机系统
CN201310687214.6 2013-12-16
US14/140,686 US9665447B2 (en) 2013-12-16 2013-12-26 Fault-tolerant failsafe computer system using COTS components
US14/140,686 2013-12-26

Publications (2)

Publication Number Publication Date
KR20150069993A KR20150069993A (ko) 2015-06-24
KR101623510B1 true KR101623510B1 (ko) 2016-05-23

Family

ID=53368584

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140091963A KR101623510B1 (ko) 2013-12-16 2014-07-21 상용 제품 컴포넌트를 사용하는 결함 허용형 고장안전 컴퓨터 시스템

Country Status (3)

Country Link
US (1) US9665447B2 (ko)
KR (1) KR101623510B1 (ko)
CN (1) CN104714853B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9734006B2 (en) * 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system
US10372579B2 (en) * 2017-03-10 2019-08-06 Artesyn Embedded Computing, Inc. FPGA mismatched packet stop for a safety system
US10621024B2 (en) * 2017-09-11 2020-04-14 Smart Embedded Computing, Inc. Signal pairing for module expansion of a failsafe computing system
CN112363606B (zh) * 2020-09-19 2024-02-23 北京仁歌科技股份有限公司 电源控制方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004557A (ja) 2003-06-12 2005-01-06 Keyence Corp 安全リレーシステム用入力ユニット、安全リレーシステムおよび安全リレーの制御方法
US20050021606A1 (en) 2003-04-23 2005-01-27 Dot Hill Systems Corporation Network storage appliance with integrated redundant servers and storage controllers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004058288A1 (de) * 2004-12-02 2006-06-08 Robert Bosch Gmbh Vorrichtung und Verfahren zur Behebung von Fehlern bei einem Prozessor mit zwei Ausführungseinheiten
US7802166B2 (en) * 2006-09-27 2010-09-21 Qimonda Ag Memory controller, memory circuit and memory system with a memory controller and a memory circuit
US8676760B2 (en) * 2008-08-05 2014-03-18 International Business Machines Corporation Maintaining data integrity in data servers across data centers
CN101441586B (zh) * 2009-01-13 2010-06-02 首都师范大学 基于微包协议的三模冗余容错计算机无缝重构方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021606A1 (en) 2003-04-23 2005-01-27 Dot Hill Systems Corporation Network storage appliance with integrated redundant servers and storage controllers
JP2005004557A (ja) 2003-06-12 2005-01-06 Keyence Corp 安全リレーシステム用入力ユニット、安全リレーシステムおよび安全リレーの制御方法

Also Published As

Publication number Publication date
KR20150069993A (ko) 2015-06-24
US9665447B2 (en) 2017-05-30
US20150169427A1 (en) 2015-06-18
CN104714853B (zh) 2018-05-04
CN104714853A (zh) 2015-06-17

Similar Documents

Publication Publication Date Title
US10120772B2 (en) Operation of I/O in a safe system
US9367375B2 (en) Direct connect algorithm
US9317359B2 (en) Reliable, low latency hardware and software inter-process communication channel for safety critical system
US10042812B2 (en) Method and system of synchronizing processors to the same computational point
US9604585B2 (en) Failure management in a vehicle
US7721149B2 (en) Method for verifying redundancy of secure systems
US9934111B2 (en) Control and data transmission system, process device, and method for redundant process control with decentralized redundancy
KR101623510B1 (ko) 상용 제품 컴포넌트를 사용하는 결함 허용형 고장안전 컴퓨터 시스템
US9497099B2 (en) Voting architecture for safety and mission critical systems
CN108572638B (zh) 用于安全系统的fpga不匹配数据包的停止
CN109491842B (zh) 用于故障安全计算系统的模块扩展的信号配对
CN108572893B (zh) 用于安全系统的端到端fpga诊断的方法和系统
US9311212B2 (en) Task based voting for fault-tolerant fail safe computer systems
KR102163762B1 (ko) 자율 주행 제어기의 에러 처리를 위한 방법
US10621031B2 (en) Daisy-chain of safety systems
JP2009075719A (ja) 冗長構成装置及びその自己診断方法
JP6081017B2 (ja) 列車情報管理装置
CN117818511A (zh) 基于虚拟化技术的车载操作系统安全检测方法及装置

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: 20190515

Year of fee payment: 4