KR101437735B1 - 정보 처리 장치 및 동작 상태 감시 방법 - Google Patents

정보 처리 장치 및 동작 상태 감시 방법 Download PDF

Info

Publication number
KR101437735B1
KR101437735B1 KR1020120117074A KR20120117074A KR101437735B1 KR 101437735 B1 KR101437735 B1 KR 101437735B1 KR 1020120117074 A KR1020120117074 A KR 1020120117074A KR 20120117074 A KR20120117074 A KR 20120117074A KR 101437735 B1 KR101437735 B1 KR 101437735B1
Authority
KR
South Korea
Prior art keywords
module
master
slave
status information
control
Prior art date
Application number
KR1020120117074A
Other languages
English (en)
Other versions
KR20130071346A (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 KR20130071346A publication Critical patent/KR20130071346A/ko
Application granted granted Critical
Publication of KR101437735B1 publication Critical patent/KR101437735B1/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/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/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Abstract

본 발명의 과제는 서로 통신 가능한 복수의 제어 모듈의 상태를 보다 정확하게 판정할 수 있는 기술을 제공하는 것이다.
정보 처리 장치(10)는, 각 CM(제어 모듈)(11)이, 다른 각 CM(11)과의 사이의 통신 상태에 기초하여, CM(11)별로 장해가 발생하고 있는 개연성을 나타내는 상황값을 갱신해서 관리하고, 어느 CM(11)이 상태의 판정 대상이라도, 상태의 판정 대상 CM(11)과는 상이한 CM(11)이, 2 이상의 CM(11)이 관리하고 있는 당해 판정 대상 CM(11)에 관한 상황값에 기초하여, 당해 판정 대상 제어CM(11)에 장해가 발생하고 있는지의 여부를 판정하는 구성을 갖는다.

Description

정보 처리 장치 및 동작 상태 감시 방법{INFORMATION PROCESSING APPARATUS AND OPERATION STATUS MONITORING METHOD}
본 발명은, 서로 통신 가능한 복수의 제어 모듈을 포함하는 정보 처리 장치와, 서로 통신 가능한 복수의 제어 모듈의 동작 상태를 감시하는 동작 상태 감시 방법에 관한 것이다.
정보 처리 장치 중에는, 서로 통신 가능한 복수의 제어 모듈을 포함하고, 어느 제어 모듈이 고장난 경우, 그 제어 모듈을 다른 부분으로부터 분리해서 계속해서 동작하는 장치가, 존재한다.
이러한 정보 처리 장치는, 통상, 어느 부품(제어 모듈, 제어 모듈 내의 회로 등)이 고장난 것인지를, 1개의 모듈(제어 모듈 혹은 상태 감시용의 모듈)이 판정(결정)하는 것으로 되어 있다. 단, 1개의 모듈이 각 부품이 고장났는지의 여부를 판정하는 장치에서는, 당해 모듈이 고장난 경우, 『실제로는 정상인 부품이, 고장났다고 오판정되어서 분리된다』, 『고장난 부품이 분리되지 않기 때문에, 장치가 정상적으로 기능하지 않게 된다』와 같은 일이 발생할 수 있다. 그로 인해, 복수의 제어 모듈 각각이, 각 부품의 상태를 감시하고, 특정한 제어 모듈이, 전체 제어 모듈의 감시 결과에 기초하여 고장 부품이 어느 것인지를 판정하는 정보 처리 장치(이하, 종래 장치라고 표기함)가 개발되어 있다.
일본 특허 공개 제2007-249741호 공보 일본 특허 공개 평11-249931호 공보 일본 특허 공개 제2001-7892호 공보
상기한 종래 장치는, 특정한 제어 모듈(이하, 마스터 제어 모듈이라고 표기함)이 고장났는지의 여부를, 마스터 제어 모듈과의 사이의 통신에 실패한 제어 모듈(이하, 송신원 모듈이라고 표기함)이, 단독으로 판정하는 장치로 되어 있다. 즉, 종래 장치는, 마스터 제어 모듈과의 통신에 실패한 원인이 송신원 모듈측의 고장이라도, 당해 고장을 송신원 모듈이 인식할 수 없는 경우에는, 마스터 제어 모듈이 고장났다고 오판정되어서 분리되는 장치로 되어 있다.
따라서, 하나의 측면에서는, 본 발명은, 서로 통신 가능한 복수의 제어 모듈의 상태를 보다 정확하게 판정하는 것을 목적으로 한다.
개시의 기술의 일 형태의 정보 처리 장치는,
서로 통신 가능한 복수의 제어 모듈을 포함하는 정보 처리 장치이며,
각 제어 모듈은, 다른 각 제어 모듈과의 사이의 통신에서 발생한 에러의 상황을 반영한 상황 정보를, 통신처의 제어 모듈 및/또는 자신의 제어 모듈 각각에 대해서 기억하는 메모리를 갖고,
상기 복수의 제어 모듈 중, 어느 제어 모듈에 장해가 발생하고 있는지의 여부를 판정할 때에, 판정 대상 제어 모듈과는 상이한 제어 모듈이, 당해 판정 대상 제어 모듈과는 상이한 2 이상의 제어 모듈의 메모리 상에 기억되어 있는 당해 판정 대상 제어 모듈의 상황 정보에 기초하여, 당해 판정 대상 제어 모듈에 장해가 발생하고 있는지의 여부를 판정한다.
또한, 개시한 기술의 일 형태의 동작 상태 감시 방법은,
서로 통신 가능한 복수의 제어 모듈의 동작 상태를 감시하는 동작 상태 감시 방법이며,
각 제어 모듈은, 다른 각 제어 모듈과의 사이의 통신에서 발생한 에러의 상황을 반영한 상황 정보를, 통신처의 제어 모듈 및/또는 자신의 제어 모듈 각각에 대해서 기억하는 메모리를 갖고,
상기 복수의 제어 모듈 중, 어느 제어 모듈에 장해가 발생하고 있는지의 여부를 판정할 때에, 판정 대상 제어 모듈과는 상이한 제어 모듈이, 당해 판정 대상 제어 모듈과는 상이한 2 이상의 제어 모듈의 메모리 상에 기억되어 있는 당해 판정 대상 제어 모듈의 상황 정보에 기초하여, 당해 판정 대상 제어 모듈에 장해가 발생하고 있는지의 여부를 판정한다.
일 실시 형태에 의하면, 서로 통신 가능한 복수의 제어 모듈의 상태를 보다 정확하게 판정할 수 있다.
도 1은 제1 실시 형태에 따른 정보 처리 장치를 사용해서 구축되는 스토리지 시스템의 구성예의 설명도.
도 2는 제1 실시 형태에 따른 정보 처리 장치가 구비하는 CM의 개략 구성도.
도 3은 각 CM이 실행하는 마스터 CM 특정 처리의 흐름도.
도 4는 각 슬레이브 CM이 통신 에러 발생 시에 실행하는 슬레이브 CM용 에러 처리의 흐름도.
도 5는 각 CM이 구비하는 상황값 테이블의 설명도.
도 6은 각 CM이 유지하는 가점 정보의 설명도.
도 7은 마스터 CM이 통신 에러 발생 시에 실행하는 마스터 CM용 에러 처리의 흐름도.
도 8은 마스터 CM이 상황값 테이블 수신 시에 실행하는 테이블 수신시용 처리의 흐름도.
도 9는 차기 마스터 CM이 상황값 테이블 수신 시에 실행하는 테이블 수신 시 용 처리의 흐름도.
도 10은 차기 마스터 CM이 실행하는 생존 확인 처리의 흐름도.
도 11은 제1 실시 형태에 따른 정보 처리 장치의, 슬레이브 CM이 고장난 경우의 동작 내용의 설명도.
도 12는 제1 실시 형태에 따른 정보 처리 장치의, 마스터 CM이 고장난 경우의 동작 내용의 설명도.
도 13은 제2 실시 형태에 따른 정보 처리 장치 내의 차기 마스터 CM이 상황값 테이블 수신 시에 실행하는 테이블 수신시용 처리의 흐름도.
이하, 본 발명의 실시 형태에 대해서, 도면을 참조하여 상세하게 설명한다. 또한, 이하에서 설명하는 제1, 제2 실시 형태는, 본 발명의 일례에 지나지 않고, 본 발명은 각 실시 형태와는 구체적인 구성/수순이 상이한 형태로도 실현할 수 있는 것이다.
(제1 실시 형태)
우선, 도 1 및 도 2를 이용하여, 제1 실시 형태에 따른 정보 처리 장치(10)의 사용 형태, 하드웨어 구성 및 기본적인 동작(기능)을 설명한다. 또한, 도 1은, 정보 처리 장치(10)를 사용함으로써 구축할 수 있는 스토리지 시스템의 구성예의 설명도이다. 또한, 도 2는, 정보 처리 장치(10)가 구비하는 각 CM(Controller Module; 제어 모듈)(11)의 개략 구성도이다.
본 실시 형태에 따른 정보 처리 장치(10)는, 도 1에 나타낸 바와 같은 스토리지 시스템을 구축하기 위한 장치이다.
이 스토리지 시스템 내의 각 DE(Drive Enclosure)(16)는, 드라이브(하드디스크 드라이브 또는 솔리드 스테이트 드라이브)를 규정 대수까지 장착 가능한 본체 유닛에, 복수대(규정 대수 이하)의 드라이브를 장착한 유닛이다. 각 EXP(익스팬더)(15)는, CM(11)·DE(16) 사이를 접속하기 위한 다포트 스위치(본 실시 형태에서는, SAS(Serial Attached SCSI(Small Computer System Interface))익스팬더)이다. 스토리지 시스템의 구축 시, 정보 처리 장치(10)와 복수의 DE(16)와의 사이에는, 통상, 정보 처리 장치(10) 내의 각 CM(11)을, 임의의(모든) DE(16)에 접속할 수 있는 수 및 사양(포트수)의 EXP(15)가 설치된다.
정보 처리 장치(10)는, 스토리지 시스템 내(복수의 EXP(15)를 개재해서 자신과 접속되어 있는 복수의 DE(16) 중)의 전체 드라이브를, 복수의 RAID(Redundant Array of Independent(or Inexpensive) Disks)로서 기능시키는 장치이다.
도 1에 도시한 바와 같이, 정보 처리 장치(10)는, 8개의 CM(11)과 4개의 FRT(Front-end Router)(12)를 구비하고 있다. 또한, 도 1에는, 8개의 CM(11)이 도시되어 있지만, 본 정보 처리 장치(10)는, 각 CM(11)을 착탈 가능한, 8개보다도 적은 수의 CM(11)만을 장착한 형태로 운용할 수도 있는 장치이다. 이하, 정보 처리 장치(10) 내의 각 CM(11)을, CM#n(n=0 내지 7)이라고도 표기한다. 또한, 정보 처리 장치(10) 내의 각 FRT(12)를, FRT#m(m=0 내지 3)이라고도 표기한다.
정보 처리 장치(10) 내의 각 CM(11)은, 각 RAID(임의의 RAID)에 대한 리드/라이트 요구를 호스트(도시 생략)로부터 수신하고, 수신한 리드/라이트 요구에 따른 내용의 리드/라이트 액세스를 각 RAID에 대하여 행하는 모듈이다. 또한, 각 CM(11)이 수신하는 리드/라이트 요구는, 정확하게는, "어느 RAID에 대한 리드/라이트 요구"가 아니라, "어느 하나의 RAID에 할당되어 있는 어느 논리 볼륨에 대한 리드/라이트 요구"이다.
도 2에 도시되어 있는 바와 같이, CM(11)은, 4개의 DMA(Direct Memory Access) 포트(도 2에서는, "DMA")(21), 4개의 CA(Channel Adapter)(22) 및 4개의 IOC(Input/Output Controller)(23)를 구비하고 있다. 또한, CM(11)은, 2개의 CPU(Central Processing Unit)(24), 메모리 컨트롤러(25) 및 메모리(26)를 구비하고 있다. 또한, CM(11)은, IPL(Initial Program Loader) 등을 기억한 ROM(Read Only Memory; 도시 생략), 캐시 메모리(도시 생략)도 구비하고 있다.
각 CA(22)는, 호스트와 통신을 행하기 위한 인터페이스 유닛이다. CM(11)의 실현 시, CA(22)로서는, FC(Fibre Channel), iSCSI(Internet Small Computer System Interface), SAS 등의 프로토콜로 통신을 행하는 것이 사용된다. 또한, 스토리지 시스템을 이용하는 호스트로서는, 통상, 스토리지 시스템(정보 처리 장치(10))과 통신을 행하기 위한 인터페이스 어댑터를 복수개 구비한 것이 사용된다. 그리고, 각 호스트의 각 인터페이스 어댑터가 상이한 CM(11)과 통신 가능하도록, 각 CM(11) 내의 각 CA(22)와 각 서버 사이가, 직접 또는 스위치(FC 스위치, LAN(Local Area Network) 스위치, SAS 스위치)를 개재해서 접속된다.
IOC(23)는, DE(16)용의 인터페이스 컨트롤러(본 실시 형태에서는, SAS 컨트롤러)이다. CM(11) 내의 각 IOC(23)는, 통상 도 1에 도시되어 있는 바와 같이, 복수개(본 실시 형태에서는 8개)의 EXP(15)를 개재해서 모든 DE(15)와 접속된다.
DMA 포트(21)(도 2)는, CM(11) 사이의 통신용의 인터페이스 유닛이다. CM(11) 내의 각 DMA 포트(21)는, 다포트 스위치인 FRT(12)(FRT#0 내지 FRT#3 중 어느 하나)에 접속되어 있다. 이하, FRT#m(m=0 내지 3)과 접속되어 있는 DMA 포트(21)를, DMA 포트 #m이라고도 표기한다.
또한, 본 정보 처리 장치(10)는, 어느 CM(11)이 고장났을 때, 당해 CM(11)이 다른 부분으로부터 분리되어(당해 CM(11)의 사용이 중지되어), 당해 CM(11)이 행하고 있었던 처리를 다른 CM(11)이 이어받는 장치로 되어 있다. 바꾸어 말하면, 정보 처리 장치(10)는, 각 CM(11)(각 CM(11) 내의 CPU(24))이, 다른 CM(11)에 자신이 행하고 있는 처리의 내용에 관한 정보를 비교적 빈번히 통지하는 장치로 되어 있어, 당해 정보의 통지에 각 DMA 포트(21)가 이용된다.
또한, 각 CM(11)은, 통신을 시도함으로써 다른 각 CM(11)의 상태가 정상인지의 여부를 체크하는 처리를, 정기적으로 행하도록 구성(프로그래밍)되어 있다. 이 처리에도 각 DMA 포트(21)가 이용된다.
메모리(26)는, ROM 상의 IPL을 따라서 CPU(24)가 시스템 디스크로부터 판독하는 프로그램의 기억 영역, 당해 프로그램의 작업 영역, 상황값 테이블(28)의 기억 영역(상세한 것은 후술) 등으로서 사용되는 DRAM(Dynamic Random Access Memory)이다. 또한, 시스템 디스크란, CPU(24)가 메모리(26) 상에 판독해서 실행하는 프로그램을 기억한, 스토리지 시스템 내의 특정한 RAID를 말한다.
메모리 컨트롤러(25)는, 메모리(26)의 제어나, CM(11) 내의 각 유닛간(메모리(26)와 DMA 포트(21)와의 사이 등)의 접속 제어를 행하는 유닛이다.
이하, 본 실시 형태에 따른 정보 처리 장치(10)의 동작(기능)을 구체적으로 설명한다. 또한, 본 실시 형태에 따른 정보 처리 장치(10)는, 마스터 CM(상세한 것은 후술)이 고장났는지의 여부의 판정 수순에 특히 특징이 있는 것으로 되어 있다. 그로 인해, 이하에서는, 당해 판정 수순에 관련하는 동작을 중심으로, 정보 처리 장치(10)의 동작을 설명한다.
정보 처리 장치(10) 내의 각 CM(11)은 기동되면, 도 3에 나타낸 수순의 마스터 CM 특정 처리를 실행한다.
즉, 기동되었기 때문에, 이 마스터 CM 특정 처리를 개시한 CM(11)은, 우선, 전체 CM(11)의 명칭(직별 정보)을 각 CM(11)의 우선 순위 순으로 배열한 리스트인 CM 리스트를 작성한다(스텝 S101). 여기에서, "전체 CM(11)의 명칭을 각 CM(11)의 우선 순위 순서대로 배열한 리스트"(즉, CM 리스트)란, "전체 CM(11)의 명칭을, 우선 순위가 보다 높은 CM(11)의 명칭 쪽이 보다 선두측에 위치하도록 배열한 리스트"를 말한다. 또한, 각 CM(11)의 우선 순위란, 주로 마스터 CM(및 차기 마스터 CM)을 결정할 수 있도록 하는 것을 목적으로 해서 각 CM(11)에 미리 할당되어 있는 우선 순위를 말한다.
CM 리스트의 작성을 종료한 CM(11)은, 작성한 CM 리스트로부터, 가장 선두측의, 미처리의 명칭(아직 판독하지 않은 명칭)을 판독한다(스텝 S102). 계속해서, CM(11)은, 판독한 명칭을 갖는 CM(11)의 상태를 DMA 포트(21)를 이용한 통신에 의해 체크한다(스텝 S103). 그리고, CM(11)은, 체크한 CM(11)의 상태가 이상(오프라인 등)이었던 경우(스텝 S103; 이상)에는, 당해 CM(11)의 명칭을 CM 리스트로부터 삭제(스텝 S104)하고 나서, 스텝 S105의 처리(판단)를 실행한다. 또한, CM(11)은, 체크한 CM(11)의 상태가 정상이었던 경우(스텝 S103; 정상)에는, 스텝 S104의 처리를 행하지 않고, 스텝 S105의 처리를 실행한다.
스텝 S105에서, CM(11)은, CM 리스트 상의 전체 명칭에 대한 처리가 완료되었는지의(이번에 처리한 명칭이, CM 리스트의 말미의 명칭임) 여부를 판단한다. 그리고, CM(11)은, CM 리스트 상의 전체 명칭에 대한 처리가 완료하지 않은 경우(스텝 S105; "아니오")에는, 스텝 S102 이후의 처리를 다시 실행한다.
CM(11)은, CM 리스트 상의 전체 명칭에 대한 처리가 완료한 경우(스텝 S105; "예")에는, 그 시점에서의 CM 리스트의 선두의 명칭을 갖는 CM(11)이, 마스터 CM인 것을 기억한다(스텝 S106). 그리고, CM(11)은, 이 마스터 CM 특정 처리(도 3의 처리)를 종료한다.
마스터 CM 특정 처리를 마친 각 CM(11)은, 자신이 마스터 CM이었던 경우에는, 마스터 CM으로서의 동작을 개시하고, 자신이 마스터 CM이 아니었던 경우에는, 슬레이브 CM으로서의 동작을 개시한다.
이하, 슬레이브 CM으로서 동작하고 있는(슬레이브 CM으로서의 동작을 개시하고 있는) 각 CM(11)을, 슬레이브 CM이라고 표기하고, 마스터 CM으로서 동작하고 있는 CM(11)을, 마스터 CM이라고 표기한다.
이미 설명한 바와 같이, 정보 처리 장치(10) 내의 각 CM(11)(마스터 CM 또는 슬레이브 CM)은, DMA 포트(21)를 사용해서 다른 CM(11)에 자신이 행하고 있는 처리의 내용에 관한 정보를 비교적 빈번히 통지한다. 또한, 각 CM(11)은, DMA 포트(21)를 사용해서 다른 각 CM(11)에 대한 통신이 가능한지의 여부를 체크하는 처리도 정기적으로 행한다.
슬레이브 CM은, 이러한 통신 시에 통신 에러가 발생한 경우, 도 4에 나타낸 수순의 슬레이브 CM용 에러 처리를 실행한다.
즉, 다른 CM(11)과의 통신 시에 통신 에러가 발생한 경우, 슬레이브 CM은, 우선, 상황값 테이블(28) 상의, 발생 에러의 종류에 따른 각 피의 부품(고장난 가능성이 있는 부품)의 형상값에, 발생 에러에 따른 값을 가산한다(스텝 S201).
여기에서, 상황값 테이블(28)이란, 각 CM(11)에 관한 상황값과, 각 CM(11) 내의 각 DMA 포트(21)에 관한 상황값을 기억할 수 있는 테이블을 말한다. 또한, 어느 부품(CM(11), DMA 포트(21))에 관한 상황값이란, 에러가 발생하고 있는 상황을 나타내는 값이며, 발생한 에러의 종별에 대응해서 미리 정해진 점수의 가산값이다.
이 상황값은, 개개의 CM(11)에 의해 관리된다. 또한, 이 상황값에 의해, 당해 부품이 고장난 개연성(확실성의 정도: 상황값/임계값)을 구할 수 있다.
또한, 상황값 테이블의 상황값의 초기값은 0이며, 에러가 발생한 경우에 값이 갱신된다. 또한, 정보 처리 장치(10)의 전원의 OFF/ON이나 CM(11)의 재기동에서도, 상황값은 0으로 초기화된다.
이하, 도 5 및 도 6을 이용하여, 스텝 S201의 처리의 내용을 더욱 구체적으로 설명한다.
각 CM(11)(슬레이브 CM/마스터 CM)은, 자신의 CM(11) 내의 메모리(26) 상의 특정한 기억 영역을, 도 5에 나타낸 바와 같은 형태로 상황값 테이블(28)로서 사용한다. 또한, 이 도 5에서, "CM#n"(n=0 내지 7)이라고 기재되어있는 1바이트분의 기억 영역이, "CM#n"의 상황값이 기억되는 영역이다. 또한, "CM#nDMAm"(n=0 내지 7, m=0 내지 3)이라고 기재되어 있는 1바이트분의 기억 영역이, CM#n 내의 DMA 포트#m의 상황값이 기억되는 영역이다.
또한, 각 CM(11)은, 발생 에러(다른 CM(11)과의 통신 시에 발생한 통신 에러)가, 이하의 5종류의 에러 중 어느 것인지를 판별하는 기능을 갖고 있다.
·CM 타임 아웃(CM간): 2CM11간의 통신 타임 아웃
·CM 타임 아웃(CPU간): 동일 CM(11) 내의 2CPU24간의 통신 타임 아웃
·통신 이상(자신의 계측): 통신 타임 아웃 이외의, 자신의 CM(11)측에 문제가 있는 것이 명확한 통신 이상
·통신 이상(대향측): 통신 타임 아웃 이외의, 다른 CM(11)(통신 상대)측에 문제가 있는 것이 명확한 통신 이상
·통신 이상(피의 개소 불명): 통신 타임 아웃 이외의, 자신의 CM(11)측, 다른 CM(11)측 중 어느 것에 문제가 있는지가 불분명한 통신 이상
또한, 각 CM(11)은, 도 6에 나타낸 바와 같은 내용의 가점 정보, 즉, 각 부품의 상황값에 더해야 하는 값(점수)을 발생 에러의 종류별로 미리 정하는 가점 정보를, 유지하고 있다. 그리고, 스텝 S201의 처리는, 이 가점 정보에 기초하여, 상황값 테이블(28) 상의, 발생 에러의 종류에 따른 각 피의 부품의 상황값에, 발생 에러에 따른 값(가점 정보 중의 점수)을 가산하는 처리로 되어 있다.
또한, 도 6에 나타낸 가점 정보에서, 점수가 0으로 되어 있는 대응 부품의 상황값에는, 0을 가산하여도, 0을 가산하지 않아도 좋다.
도 4로 되돌아와서, 슬레이브 CM용 에러 처리의 설명을 계속한다.
스텝 S201의 처리를 마친 슬레이브 CM은, 자신이, 마스터 CM의 상태 판정이나 분리를 행하는 상태 판정 CM으로서 동작하고 있는지의 여부를 판단한다(스텝 S202). 상세에 대해서는 후술할 것이지만, 상태 판정 CM으로서 동작하는 경우가 있는 슬레이브 CM은, 특정한 슬레이브 CM(후술하는 차기 마스터 CM) 뿐이다. 또한, 당해 특정한 슬레이브 CM(차기 마스터 CM)은, 특정한 상황으로 된 경우에만, 상태 판정 CM으로서 동작한다. 따라서, 슬레이브 CM은, 통상 스텝 S202의 처리(판단) 후에, 스텝 S205의 처리를 실행한다.
스텝 S205에서, 슬레이브 CM은, 스텝 S201의 처리에서 값을 갱신한 각 상황값에 대해서, 상황값이 전송 임계값을 초과하였는지의 여부를 체크한다. 여기에서, 전송 임계값이란, 가점 정보(도 6) 중의 대부분의 점수보다도 큰 값(통상, 가점 정보 중의 점수의 최대값의 2, 3배의 값)이 되도록, 미리 정해지는 값을 말한다.
이 스텝 S205의 처리는, 정보 처리 장치(10) 내의 정상적인 CM(11)의 수(이하, CM 수라고 표기함)에 의해 전송 임계값을 바꾸는 처리로 되어 있다. 구체적으로는, 스텝 S204의 처리는, CM 수≥4가 성립한 경우에는, 전송 임계값="48"인 것으로서 행하여지고, CM 수≥4가 성립되지 않은 경우에는, 전송 임계값="32"인 것으로서 행하여지는 처리로 되어 있다.
스텝 S205의 처리를 마친 슬레이브 CM은, 상황값이 전송 임계값을 초과한 부품(이하, 전송 임계값 초과 부품이라고 표기함)이 존재하지 않았던 경우(스텝 S206; "아니오")에는, 이 슬레이브 CM용 에러 처리(도 4의 처리)를 종료한다.
한편, 1개 이상의 전송 임계값 초과 부품이 존재한 경우(스텝 S206; "예"), 슬레이브 CM은, 마스터 CM이 전송 임계값 초과 부품인지의(어느 하나의 전송 임계값 초과 부품이 마스터 CM임) 여부를 판단한다(스텝 S207).
마스터 CM이 전송 임계값 초과 부품이 아니었던 경우(스텝 S207; "아니오"), 슬레이브 CM은, 스텝 S208에서, 상황값 테이블(28)(상황값 테이블(28) 상의 전체 상황값)을 마스터 CM으로 전송한다. 그 후, 슬레이브 CM은, 상황값 테이블(28)을 클리어하는 처리와, 테이블 클리어 시각을 "현재 시각+규정 시간(예를 들어 1분)"으로 갱신하는 처리를 행한다. 여기에서, "상황값 테이블(28)을 클리어한다"란 상황값 테이블(28) 상의 각 상황값을 "0"으로 재기입한다"는 것을 말한다. 또한, 테이블 클리어 시각이란, 그 시각이 되었을 때에, 슬레이브 CM이 상황값 테이블(28)을 클리어하는 시각을 말한다.
슬레이브 CM은, 스텝 S208에서 상기 처리를 행하고 나서, 슬레이브 CM용 에러 처리를 종료한다.
슬레이브 CM용 에러 처리의 나머지의 각 스텝의 내용을 설명하기 전에, 여기에서, 마스터 CM의 동작을 설명해 두기로 한다.
마스터 CM은, 다른 CM(11)과의 통신 시에 통신 에러가 발생한 경우, 도 7에 나타낸 수순의 마스터 CM용 에러 처리를 실행한다.
즉, 다른 CM(11)과의 통신 시에 통신 에러가 발생한 경우, 마스터 CM은, 우선, 자신의 메모리(26) 상의 상황값 테이블(28) 상의, 발생 에러의 종류에 따른 각 피의 부품의 상황값에 발생 에러에 따른 값을 가산하는 처리(스텝 S301)를 행한다. 이 처리는, 도 5나 도 6을 이용해서 설명한 스텝 S201의 처리와 동일한 내용의 처리이다.
계속해서, 마스터 CM은, 상황값 테이블(28) 상의 각 상황값에 대해서, 상황값이 분리 임계값을 초과하였는지의 여부를 체크한다(스텝 S302). 여기에서, 분리 임계값이란, 상기한 전송 임계값(본 실시 형태에서는, 32 또는 48)보다도 큰 값(통상, 전송 임계값의 몇 배의 값; 예를 들어 128)이 되도록, 미리 정해지는 값을 말한다.
스텝 S302의 처리를 마친 마스터 CM은, 상황값이 분리 임계값을 초과한 부품(이하, 분리 임계값 초과 부품이라고 표기함)이 존재하는지의 여부를 판단한다(스텝 S303). 그리고, 마스터 CM은, 분리 임계값 초과 부품이 존재하지 않았던 경우(스텝 S303; "아니오")에는, 이 마스터 CM용 에러 처리를 종료한다.
한편, 1개 이상의 분리 임계값 초과 부품이 존재한 경우(스텝 S303; "예"), 마스터 CM은, 자신이 분리 임계값 초과 부품인지의(어느 하나의 분리 임계값 초과 부품이 자신의 CM(11)임) 여부를 판단한다(스텝 S304).
자신이 분리 임계값 초과 부품이 아니었던 경우(스텝 S304; "아니오"), 마스터 CM은, 스텝 S305에서, 각 분리 임계값 초과 부품을 다른 부분으로부터 분리하기 위한 처리를 행한다. 구체적으로는, 마스터 CM은, 이 스텝 S305에서, 각 CM(11)(각 CM(11) 내의 프로그램)의 상태를, 각 분리 임계값 초과 부품을 사용하지 않는 상태로 이행시키는 처리나, 분리한 CM(11)을 호스트에게 통지하는 처리 등을 행한다. 그리고, 스텝 S305의 처리를 마친 마스터 CM은, 이 마스터 CM용 에러 처리를 종료한다.
한편, 자신이 분리 임계값 초과 부품이었던 경우(스텝 S304; "예"), 마스터 CM은, 자신을 다른 부분으로부터 분리하지 않고, 이 마스터 CM용 에러 처리를 종료한다.
또한, 이미 설명한 바와 같이(도 4 참조), 슬레이브 CM은, 소정 조건이 만족된 경우, 마스터 CM에 상황값 테이블(28)을 전송한다. 슬레이브 CM으로부터의 상황값 테이블(28)을 수신한 경우, 마스터 CM은, 도 8에 나타낸 수순의 테이블 수신 시용 처리를 실행한다.
즉, 상황값 테이블(28)을 수신한 마스터 CM은, 우선, 수신한 상황값 테이블(28) 중의 각 부품의 상황값을, 자신의 상황값 테이블(28) 상의 동일 부품의 형상값에 가산한다(스텝 S401).
그 후, 마스터 CM은, 마스터 CM용 에러 처리(도 7)의 스텝 S302 내지 S305의 처리와 완전히 동일한 내용의 처리(스텝 S402 내지 S405)를 행하고 나서, 이 테이블 수신시용 처리를 종료한다.
마스터 CM은, 상기와 같은 처리 외에, 자신의 CM(11) 내의 상황값 테이블(28)을 규정 시간마다 클리어하는 처리도 행한다.
도 4로 되돌아와서, 슬레이브 CM용 에러 처리의 설명을 계속한다.
슬레이브 CM은, 마스터 CM이 전송 임계값 초과 부품이었던 경우(스텝 S207; "예")에는, 스텝 S209에서, 차기 마스터 CM 특정 처리를 행한다.
이 차기 마스터 CM 특정 처리는, 마스터 CM 특정 처리(도 3)와 동일한 수순으로, 마스터 CM을 제외한 CM(11) 중에서 가장 우선 순위가 높은 정상적인 CM(11)을 탐색하고, 탐색한 CM(11)을 차기 마스터 CM으로서 특정하는(탐색한 CM(11)이 차기 마스터 CM인 것을 기억함) 처리이다.
차기 마스터 CM 특정 처리를 마친 슬레이브 CM은, 자신이 차기 마스터 CM인지의 여부를 판단한다(스텝 S210). 그리고, 슬레이브 CM은, 자신이 차기 마스터 CM이 아니었던 경우(스텝 S210; "아니오")에는, 스텝 S211에서, 우선, 형상값 테이블(28)을 차기 마스터 CM으로 전송한다. 그리고, 슬레이브 CM은, 상황값 테이블(28)을 클리어하는 처리와, 테이블 클리어 시각을 "현재 시각+규정 시간"으로 갱신하는 처리를 행하고 나서, 스텝 S211의 처리 및 슬레이브 CM용 에러 처리(도 4의 처리)를 종료한다.
한편, 자신이 차기 마스터 CM이었던 경우(스텝 S210; "예"), 슬레이브 CM은, 스텝 S212에서, 생존 확인 실시 횟수를 "0"으로 초기화하고, 실시 횟수 클리어 시각에 "현재 시각+규정 시간"을 설정하는 처리를 행한다. 또한, 슬레이브 CM은, 이 스텝 S212에서, 상태 판정 CM으로서의 동작을 개시한 것(상태 판정 CM으로서 동작하고 있는 것)을 기억하는 처리도 행한다. 또한, 생존 확인 실시 횟수란, 후술하는 생존 확인 처리(도 10)의, 미리 정해진 시간 내의 실행 횟수를 기억해 두기 위한 변수를 말한다. 또한, 실시 횟수 클리어 시각이란, 그 시각이 되었을 때에, 상태 판정 CM(상태 판정 CM으로서 동작하고 있는 차기 슬레이브 CM)이, 상황값 테이블(28)을 클리어해서, 통상의 슬레이브 CM으로서의 동작을 개시하는 시각을 말한다.
스텝 S212의 처리를 마친 슬레이브 CM(상태 판정 CM으로서의 동작을 개시한 차기 마스터 CM; 이하, 간단히 상태 판정 CM이라고도 표기함)은, 이 슬레이브 CM용 에러 처리를 종료한다.
상태 판정 CM(상태 판정 CM으로서 동작하고 있는 차기 마스터 CM)도, 다른 CM(11)과의 통신 시에 통신 에러가 발생한 경우에는, 이 슬레이브 CM용 에러 처리를 개시한다. 그리고, 상태 판정 CM은, 스텝 S201의 처리를 실행한 후, 자신이 상태 판정 CM으로서 동작하고 있기(스텝 S202; "예") 때문에, 스텝 S205의 처리가 아니라, 스텝 S203의 처리(판단)를 실행한다.
스텝 S203에서, 상태 판정 CM은, 자신의 CM(11) 내의 상황값 테이블(28) 상의 마스터 CM의 상황값이, 미리 정해져 있는 생존 확인 임계값(예를 들어, 96)을 초과하였는지의 여부를 판단한다.
그리고, 상태 판정 CM은, 마스터 CM의 상황값이 생존 확인 임계값을 초과한 경우(스텝 S203; "예")에는, 스텝 S204에서, 생존 확인 처리(상세한 것은 후술함)를 행하고 나서, 이 슬레이브 CM용 에러 처리를 종료한다. 또한, 상태 판정 CM은, 마스터 CM의 상황값이 생존 확인 임계값 이하이었던 경우(스텝 S203; "아니오")에는, 생존 확인 처리를 행하지 않고, 이 슬레이브 CM용 에러 처리를 종료한다.
이미 설명한 바와 같이(도 4 참조), 차기 마스터 CM이 아닌 슬레이브 CM은, 마스터 CM이 전송 임계값 초과 비품이었던 경우(스텝 S201; "아니오"), 차기 마스터 CM으로 상황값 테이블(28)을 전송한다(스텝 S211).
차기 마스터 CM은, 상황값 테이블(28)을 수신한 경우, 도 9에 나타낸 수순의 테이블 수신시용 처리를 실행한다.
즉, 차기 마스터 CM은, 상황값 테이블(28)을 수신한 경우, 우선, 수신한 상황값 테이블(28) 상의 각 부품의 상황값을, 자신의 CM(11) 내의 상황값 테이블(28) 상의, 동일한 부품의 상황값에 가산한다(스텝 S501).
계속해서, 차기 마스터 CM은, 상태 판정 CM으로서 동작하고 있는지의 여부를 판단한다(스텝 S502). 그리고, 차기 마스터 CM은, 상태 판정 CM으로서 동작하지 않은 경우(스텝 S502; "아니오")에는, 스텝 S503에서, 스텝 S212(도 4)와 동일한 처리를 행한다. 즉, 차기 마스터 CM은, 스텝 S503에서, 생존 확인 실시 횟수를 "0"으로 초기화하고, 실시 횟수 클리어 시각에 "현재 시각+규정 시간"을 설정한다. 또한, 차기 마스터 CM은, 상태 판정 CM으로서의 동작을 개시한 것을 기억한다.
스텝 S503의 처리를 마친 차기 마스터 CM은, 마스터 CM의 상황값이 생존 확인 임계값을 초과하였는지의 여부를 판단한다(스텝 S504). 또한, 차기 마스터 CM은, 상태 판정 CM으로서 이미 동작한 경우(스텝 S502; "예")에는, 스텝 S503의 처리를 행하지 않고, 이 스텝 S504의 처리(판단)를 행한다.
그리고, 상태 판정 CM(상태 판정 CM으로서 동작하고 있는 차기 마스터 CM)은, 마스터 CM의 상황값이 생존 확인 임계값을 초과하지 않았던 경우(스텝 S504; "아니오")에는, 이 테이블 수신시용 처리를 종료한다. 또한, 상태 판정 CM은, 마스터 CM의 상황값이 생존 확인 임계값을 초과한 경우(스텝 S504; "예")에는, 스텝 S505에서, 생존 확인 처리를 행하고 나서, 이 테이블 수신시용 처리를 종료한다.
스텝 S505(도 9) 및 스텝 S204(도 4)에서 실행되는 생존 확인 처리는, 도 10에 나타낸 수순의 처리이다.
즉, 마스터 CM의 상황값이 생존 확인 임계값을 초과하고 있었기 때문에, 이 생존 확인 처리를 개시한 상태 판정 CM은, 우선, 마스터 CM에 대한 통신을 실시(시행)한다(스텝 S601). 또한, 상태 판정 CM은, 상황값 테이블(28)을 클리어하고, 테이블 클리어 시각을 "현재 시각+규정 시간"으로 갱신하는 처리(스텝 S602)도 행한다.
스텝 S601 및 S602의 처리를 마친 상태 판정 CM은, 스텝 S601에서의 마스터 CM에 대한 통신이 성공한 경우(스텝 S603; "예")에는, 생존 확인 실시 횟수에 "1"을 가산한다(스텝 S604). 그 후, 상태 판정 CM은, 값을 갱신한 생존 확인 실시 횟수가, 미리 정해져 있는 실시 횟수 임계값(예를 들어 3)을 초과하였는지의 여부를 판단한다(스텝 S605).
생존 확인 실시 횟수가 실시 횟수 임계값을 초과한 경우(스텝 S605; "예"), 상태 판정 CM은, 스텝 S606에서, 마스터 CM을 다른 부분으로부터 분리하기 위한 처리(각 CM(11)에 구성이 변한 것을 통지하는 처리 등)를 행한다. 그리고, 상태 판정 CM은, 이 생존 확인 처리를 종료한다.
한편, 생존 확인 실시 횟수가 실시 횟수 임계값을 초과하지 않았던 경우(스텝 S605; "아니오"), 상태 판정 CM은, 마스터 CM을 다른 부분으로부터 분리하지 않고, 이 생존 확인 처리를 종료한다.
또한, 스텝 S601에서의 마스터 CM에 대한 통신이 실패한 경우(스텝 S603; "아니오"), 상태 판정 CM은, 생존 확인 실시 횟수의 값을 체크하지 않고, 마스터 CM을 다른 부분으로부터 분리한다(스텝 S606). 그리고, 상태 판정 CM은, 이 생존 확인 처리를 종료한다.
이하, 본 실시 형태에 따른 정보 처리 장치(10)의 동작을, 더욱 구체적으로 설명한다.
우선, CM#0이 마스터 CM인 상황 하에서, CM#3(슬레이브 CM)이 고장난 경우를 예로 들어, 슬레이브 CM이 고장난 경우에서의 정보 처리 장치(10)의 동작을 설명한다.
이 경우, 도 11에 모식적으로 도시한 바와 같이, 각 CM(11)(도 11에서는, CM#2, CM#6, CM#7)으로부터의 CM#3에 대한 통신(파선 화살표) 시에 통신 에러가 발생하게 된다.
그로 인해, 예를 들어 CM#2가, DMA 포트 #0을 이용해서 CM#3에 대한 통신을 행한 경우, CM#2에 의해 슬레이브 CM용 에러 처리(도 4)가 실행된다. 그리고, 스텝 S201의 처리가 행하여지는 결과로서, CM#2 내의 상황값 테이블(28) 상의 CM#3에 관한 상황값, CM#3의 DMA 포트 #0에 관한 상황값에, 예를 들어 각각 "3", "8"(도 6 참조)이 가산되게 된다.
CM#2는, 상태 판정 CM으로서 동작하지 않는 CM(11)(차기 마스터 CM이 아닌 CM(11))이다. 그로 인해, 스텝 S201의 처리 후에 실행되는 스텝 S202에서는, "NO"측으로의 분지(기)가 행하여진다. 그리고, 값을 갱신한 어떠한 상황값도 전송 임계값을 초과하지 않았기(스텝 S206; "아니오") 때문에, 상황값 테이블(28)이 마스터 CM으로 전송되지 않고, 슬레이브 CM용 에러 처리가 종료된다.
CM#3과의 통신에 실패한 CM#2는, CM#3과 통신에 사용하는 DMA 포트(21)를, 예를 들어 DMA 포트 #1로 바꾸어서 CM#3과의 통신을 시도한다. CM#3이 고장난 경우, 이 통신 시에도 에러가 발생하므로, CM#2는, 슬레이브 CM용 에러 처리를 다시 실행한다. 그 결과, 스텝 S201의 처리가 행하여지고, CM#2 내의 상황값 테이블(28) 상의 CM#3에 관한 상황값, CM#3의 DMA 포트 #1에 관한 상황값에, 예를 들어 각각 "3", "8"이 가산되게 된다.
CM#3과 통신을 행할 필요가 있는 CM#2는, 상기와 같은 처리를 반복한다. 따라서, 비교적 단시간 내에(규정 시간의 경과에 의해 상황값 테이블(28)이 클리어되기 전에), CM#3의 상황값이 전송 임계값을 초과한다. 그리고, 그 결과로서, CM#2 내의 상황값 테이블(28)이 마스터 CM(CM#0)으로 전송되게 된다.
CM#3과의 통신을 시도한 다른 CM(11)(도 11에서는, CM#6 및 CM#7)에서도, 통신 에러의 발생마다 슬레이브 CM용 에러 처리가 실행된다. 따라서, 각 CM(11) 내의 상황값 테이블(28)도, 마스터 CM(CM#0)으로 전송되게 된다.
한편, 마스터 CM(CM#0)은, 상황값 테이블(28)을 수신할 때마다, 테이블 수신시용 처리(도 8)를 개시하고, 수신한 상황값 테이블(28) 중의 각 부품의 상황값을, 자신의 상황값 테이블(28) 상의 각 상황값에 가산한다(스텝 S401). 따라서, 몇 번인가 상황값 테이블(28)을 수신하면, 마스터 CM(CM#0) 내의 상황값 테이블(28) 상의 CM#3에 관한 상황값이 분리 임계값을 초과한다. 그리고, 그 결과로서(스텝S403; "예"), CM#3의 분리가 행하여지게 된다.
이어서, CM#0이 마스터 CM이며, CM#1이 차기 마스터 CM인 경우를 예로 들어, 마스터 CM이 고장난 경우에서의 정보 처리 장치(10)의 동작을 설명한다.
이 경우, 도 12에 모식적으로 도시한 바와 같이, 각 CM(11)(도 12에서는, CM#2, CM#6, CM#7)으로부터의 마스터 CM(CM#0)에 대한 통신(파선 화살표) 시에 통신 에러가 발생한다.
그리고, 통신 에러가 발생한 것을 검출한 각 CM(11)(CM#2, CM#6, CM#7)은, 『슬레이브 CM용 에러 처리를 실행하고 나서, 통신에 사용하는 DMA 포트(21)를 바꾸어서 마스터 CM(CM#0)에 대한 통신을 시도하는 처리』를 반복한다. 따라서, 비교적 단시간 내에, 각 CM(11) 내의 상황값 테이블(28) 상의 마스터 CM(CM#0)에 관한 상황값이 전송 임계값을 초과하게 된다.
마스터 CM(CM#0)에 관한 상황값이 전송 임계값을 초과한 경우(스텝 S207; "예"), 차기 마스터 CM이 아닌 슬레이브 CM은, 상황값 테이블(28)을 차기 마스터 CM(CM#1)으로 전송한다(스텝 S211).
차기 마스터 CM은, 상황값 테이블(28)을 수신할 때마다, 테이블 수신시용 처리(도 9)를 개시하고, 수신한 상황값 테이블(28) 중의 각 부품의 상황값을, 자신의 상황값 테이블(28) 상의 각 상황값에 가산한다(스텝 S501). 따라서, 몇 번인가 상황값 테이블(28)을 수신하면, 차기 마스터 CM(CM#1) 내의 상황값 테이블(28) 상의 마스터 CM(CM#0)에 관한 상황값이 생존 확인 임계값을 초과하게 된다.
마스터 CM(CM#0)에 관한 상황값이 생존 확인 임계값을 초과한 경우, 차기 마스터 CM은, 생존 확인 처리(도 10)를 행한다. 이미 설명한 바와 같이, 생존 확인 처리는, 마스터 CM에 대한 통신에 의해 마스터 CM이 고장나 있는 것을 확인할 수 있었던 경우와, 생존 확인 처리의 규정 시간 내의 실시 횟수가 실시 횟수 임계값을 초과한 경우에, 마스터 CM을 다른 부분으로부터 분리하는 처리로 되어 있다.
따라서, 마스터 CM(CM#0)이 실제로 고장나 있는 경우에는, 몇 번째인가의 생존 확인 처리 시에, 마스터 CM이 다른 부분으로부터 분리되게 된다.
이상, 상세하게 설명한 바와 같이, 본 실시 형태에 따른 정보 처리 장치(10)는, 마스터 CM이 고장났는지의 여부를 판정하여, 고장난 경우에 마스터 CM을 분리하는 처리인 생존 확인 처리를, 이하의 조건이 성립했을 때에 실행하는 장치로 되어 있다.
수신한 상황값 테이블(28) 중의 각 상황값의 가산에 의해, 상황값 테이블(28) 상의 마스터 CM에 관한 상황값이 생존 확인 임계값을 초과한다.
그리고, 이 조건은, 1개의 슬레이브 CM이, 마스터 CM이 고장났다고 오판정한 경우에는, 통상 성립할 수 없는 조건이다. 따라서, 본 실시 형태에 따른 정보 처리 장치(10)는, 1개의 슬레이브 CM이 마스터 CM을 분리할지의 여부를 판정하는 상기한 종래 장치보다도, 마스터 CM을 분리할지 여부의 판정을 정확하게 행할 수 있는 장치로 되어 있다고 할 수 있다.
(제2 실시 형태)
본 발명의 제2 실시 형태에 따른 정보 처리 장치는, 상기한 제1 실시 형태에 따른 정보 처리 장치(10)를 소프트웨어적으로 개량한 장치이다. 그로 인해, 이하에서는, 제1 실시 형태의 정보 처리 장치(10)의 설명 시에 사용한 것과 동일한 부호를 사용하여, 제2 실시 형태에 따른 정보 처리 장치(10)의 동작을, 제1 실시 형태에 따른 정보 처리 장치(10)와 상이한 부분을 중심으로 설명한다. 또한, 이하에서는, 제1 실시 형태에 따른 정보 처리 장치(10) 내의 CM(11)을, 제1 종 CM(11)이라고 표기하고, 제2 실시 형태에 따른 정보 처리 장치(10) 내의 CM(11)을, 제2 종 CM(11)이라고 표기한다.
제2 종 CM(11)은, 상태 판정 CM으로서의 동작 내용만이 제1 종 CM(11)과 상이한 모듈로 되어 있다.
구체적으로는, 슬레이브 CM인 경우에 제2 종 CM(11)이 실행하는 슬레이브 CM용 에러 처리는, 상기한 슬레이브 CM용 에러 처리(도 4)와 기본적으로는 동일한 내용의 처리이다. 단, 제2 종 CM(11)이 실행하는 슬레이브 CM용 에러 처리의 스텝 S211(제2 종 CM(11)이 차기 마스터 CM인 경우에 실행하는 스텝 S211)에서는, 다른 각 제2 종 CM(11)(이하, 송신원 CM이라고 표기함)에 관한 수신 횟수를 "0"으로 초기화하는 처리도 행하여진다.
또한, 제2 종 CM(11)은, 차기 마스터 CM인 경우, 테이블 수신시용 처리로서, 도 13에 나타낸 수순의 처리를 행한다.
즉, 차기 마스터 CM인 제2 종 CM(11)(이하, 간단히 차기 마스터 CM이라고 표기함)은, 상황값 테이블(28)을 수신한 경우, 우선, 상태 판정 CM으로서 동작하고 있는지의 여부를 판단한다(스텝 S701). 그리고, 차기 마스터 CM은, 상태 판정 CM으로서 동작하고 있지 않은 경우(스텝 S701; "아니오")에는, 스텝 S702에서, 생존 확인 실시 횟수 및 각 송신원 CM에 관한 수신 횟수를 "0"으로 초기화하고, 실시 횟수 클리어 시각에 "현재 시각+규정 시간"을 설정한다. 또한, 차기 마스터 CM은, 상태 판정 CM으로서의 동작을 개시한 것을 기억한다.
스텝 S702의 처리를 마친 차기 마스터 CM은, 스텝 S703에서, 수신한 상황값 테이블(28) 상의 각 부품의 상황값을, 자신의 CM(11) 내의 상황값 테이블(28) 상의, 동일한 부품의 상황값에 가산하는 처리를 행한다. 차기 마스터 CM은, 이 스텝 S703에서, 이번에 수신한 상황값 테이블(28)의 송신원 CM에 관한 수신 횟수에 "1"을 가산하는 처리도 행한다.
또한, 차기 마스터 CM은, 상태 판정 CM으로서 이미 동작하고 있었던 경우(스텝 S701; "예")에는, 스텝 S702의 처리를 행하지 않고, 스텝 S703의 처리를 행한다.
스텝 S703의 처리를 마친 차기 마스터 CM은, 마스터 CM의 상황값이 생존 확인 임계값을 초과하고 있는지의 여부를 판단한다(스텝 S704).
그리고, 차기 마스터 CM은, 마스터 CM의 상황값이 생존 확인 임계값을 초과하고 있었던 경우(스텝 S704; "예")에는, 그 때까지 수신한 상황값 테이블(28)의 송신원 CM이 1CM인지의 여부를 판단한다(스텝 S705). 즉, 차기 마스터 CM은, 송신원 CM에 관한 수신 횟수 중에, "0"이 아닌 수신 횟수가 1개밖에 존재하고 있지 않은지의 여부를 판단한다(스텝 S705).
그리고, 차기 마스터 CM은, 복수의 송신원 CM으로부터 상황값 테이블(28)을 수신하고 있었던 경우(스텝 S705; "아니오")에는, 마스터 CM에 대한 생존 확인 처리(도 10)를 실행(스텝 S706) 하고 나서, 이 테이블 수신시용 처리를 종료한다.
한편, 1개의 CM만으로부터 상황값 테이블(28)을 수신하고 있었던 경우(스텝 S705; "예"), 차기 마스터 CM은, 그 유일한 상황값 테이블(28)의 송신원 CM에 대한 생존 확인 처리를 실행(스텝 S707)하고 나서, 이 테이블 수신시용 처리를 종료한다.
요컨대, 제1 실시 형태에 따른 정보 처리 장치(10)에 대해서 설명한 바와 같이, 생존 확인 처리의 개시 조건인 『수신한 상황값 테이블(28) 중의 각 상황값의 가산에 의해, 상황값 테이블(28) 상의 마스터 CM에 관한 형상값이 분리 임계값을 초과한다』라는 조건은, 1개의 슬레이브 CM이, 마스터 CM이 고장났다고 오판정하고 있는 경우에는, 통상 성립하지 않는 조건이다. 단, 『수신한 상황값 테이블(28) 중의 각 상황값의 가산에 의해, 상황값 테이블(28) 상의 마스터 CM에 관한 상황값이 분리 임계값을 초과한다』라는 조건은, 1개의 슬레이브 CM이 마스터 CM이 고장났다고 오판정하고 있는 경우에, 성립할 수 없는 조건이 아니다.
그리고, 상기 수순을 채용해 두면, 1개의 슬레이브 CM에 의해 마스터 CM의 상태의 오판정에 의해, 마스터 CM이 잘못해서 분리되어 버리는 것을 방지할 수 있다. 또한, 오판정하고 있는 슬레이브 CM(즉, 고장나 있는 슬레이브 CM)을, 빠르게(그 상황값이 분리 임계값을 초과하기 이전으로), 다른 부분으로부터 분리할 수 있는 것으로도 된다. 그로 인해, 본 실시 형태에 따른 정보 처리 장치(10)의 각 CM(11)을, 상기 기능을 갖는 것으로 하고 있는 것이다.
(변형 형태)
상기한 각 실시 형태에 따른 정보 처리 장치(10)는, 각종 변형을 행할 수 있는 것이다. 예를 들어, 각 정보 처리 장치(10)를, 차기 마스터 CM에 의해, 스텝 S204, S706 등에서, 생존 확인 처리(도 10)가 아니라, "마스터 CM을 분리하는 처리"가 행하여지는 장치로 변형할 수 있다. 또한, 각 정보 처리 장치(10)를, 스텝 S211(도 4)에서, 차기 마스터 CM에 마스터 CM의 상황값만이 송신되는 장치로 변형할 수도 있다.
각 정보 처리 장치(10)를, CM 수에 의해, 전송 임계값이 아니라, 분리 임계값 및 생존 확인 임계값이 변하는 것으로 변형할 수도 있다. 또한, 각 실시 형태에 따른 정보 처리 장치(10)는, 스토리지 시스템(RAID 시스템)용의 장치이었지만, 상기한 기술은, 분리 가능한 유닛을 복수개 포함하는 장치이면 적용 가능한 것이다. 따라서, 상기한 기술에 기초하여, 스토리지와는 무관한 장치를 실현할 수도 있다.
10: 정보 처리 장치
11: CM
12: FRT
15: EXP
16: DE
21: DMA 포트
22: CA
23: IOC
24: CPU
25: 메모리 컨트롤러
26: 메모리
28: 상황값 테이블

Claims (7)

  1. 서로 통신 가능한 복수의 제어 모듈을 포함하는 정보 처리 장치로서,
    각 제어 모듈은, 다른 각 제어 모듈과의 사이의 통신에서 발생한 에러의 상황을 반영한 상황 정보를, 통신처의 제어 모듈 및/또는 자신의 제어 모듈 각각에 대해서 기억하는 메모리를 갖고,
    상기 복수의 제어 모듈 중, 어느 제어 모듈에 장해가 발생하고 있는지의 여부를 판정할 때에, 판정 대상 제어 모듈과는 상이한 제어 모듈이, 당해 판정 대상 제어 모듈과는 상이한 2 이상의 제어 모듈의 메모리 상에 기억되어 있는 당해 판정 대상 제어 모듈의 상황 정보에 기초하여, 당해 판정 대상 제어 모듈에 장해가 발생하고 있는지의 여부를 판정하고,
    상기 복수의 제어 모듈은, 마스터 제어 모듈로서 동작하는 마스터 모듈과, 차기 마스터 제어 모듈로서 동작하는 차기 마스터 모듈과, 각각, 슬레이브 제어 모듈로서 동작하는 복수의 슬레이브 모듈을 포함하고,
    상기 마스터 모듈에 장해가 발생하고 있는지의 여부를 판정할 때에, 차기 마스터 모듈이, 자신의 모듈 내의 메모리 상의 상기 마스터 모듈의 상황 정보와 상기 슬레이브 모듈로부터 통지된 상기 마스터 모듈의 상황 정보에 기초하여, 상기 마스터 모듈에 장해가 발생하고 있는지의 여부를 판정하는 것을 특징으로 하는, 정보 처리 장치.
  2. 삭제
  3. 제1항에 있어서, 상기 마스터 모듈은,
    다른 각 제어 모듈과의 사이의 통신에서 발생한 에러의 종류에 기초하여, 자신의 모듈 내의 상기 메모리 상의, 통신처의 제어 모듈에 관한 상황 정보 및/또는 자신의 모듈에 관한 상황 정보를 갱신하는 제1 갱신 처리와,
    차기 마스터 모듈 및 각 슬레이브 모듈로부터 송신되어 오는 각 제어 모듈에 관한 상황 정보의 값을, 자신의 모듈 내의 상기 메모리 상의, 각 제어 모듈에 관한 상황 정보의 값에 가산하는 제2 갱신 처리와,
    자신의 모듈 내의 메모리 상의 상황 정보에 기초하여, 슬레이브 모듈 또는 차기 마스터 모듈에 장해가 발생하였는지의 여부를 판정하는 제1 판정 처리를 행하고,
    각 슬레이브 모듈은,
    상기 제1 갱신 처리와,
    자신의 모듈 내의 메모리 상의 어느 하나의 슬레이브 모듈 또는 차기 마스터 모듈의 상황 정보의 값이, 제1 소정값보다도 작은 제2 소정값 이상으로 된 경우에, 당해 메모리 상의 각 제어 모듈의 상황 정보를 상기 마스터 모듈로 송신하고, 당해 메모리 상의 상기 마스터 모듈에 관한 상황 정보의 값이 상기 제2 소정값 이상으로 된 경우에, 당해 메모리 상의 상기 마스터 모듈에 관한 상황 정보를 상기 차기 마스터 모듈로 송신하는 제1 송신 처리를 행하고,
    차기 마스터 모듈은,
    상기 제1 갱신 처리와,
    자신의 모듈 내의 메모리 상의 어느 하나의 슬레이브 모듈 또는 자신의 모듈의 상황 정보의 값이 상기 제2 소정값 이상으로 된 경우에, 당해 메모리 상의 각 제어 모듈의 상황 정보의 값을 상기 마스터 모듈로 송신하는 제2 송신 처리와,
    각 슬레이브 모듈로부터 통지된 상기 마스터 모듈의 상황 정보의 값을 자신의 모듈 내의 메모리 상의 상기 마스터 모듈의 상황 정보의 값에 가산하는 제2 갱신 처리와,
    자신의 모듈 내의 상기 메모리 상의 상기 마스터 모듈의 상황 정보의 값이 제3 소정값 이상으로 된 경우에, 상기 마스터 모듈에 장해가 발생하였다고 판정하는 제2 판정 처리를 행하는 것을 특징으로 하는, 정보 처리 장치.
  4. 제3항에 있어서, 각 제어 모듈은, 상기 복수의 제어 모듈의 식별 정보 및 동작 상황에 기초하여, 자신의 모듈이, 상기 마스터 모듈, 상기 차기 마스터 모듈, 상기 슬레이브 모듈 중 어느 것인지를 파악하고, 파악한 모듈로서 동작하는 것을 특징으로 하는, 정보 처리 장치.
  5. 제3항 또는 제4항에 있어서, 상기 제2 판정 처리가,
    자신의 모듈 내의 상기 메모리 상의 상기 마스터 모듈에 관한 상황 정보의 값이 상기 제3 소정값 이상으로 된 경우, 상기 마스터 모듈과의 사이의 통신을 시도하고, 당해 통신에 성공하고, 또한 소정 기간 내에서의 당해 통신의 성공 횟수가 소정 횟수 미만이었던 경우에는, 상기 마스터 모듈에 장해가 발생하고 있지 않은 것으로 판정하고, 당해 통신에 실패한 경우와, 소정 기간 내에서의 당해 통신의 성공 횟수가 소정 횟수 이상으로 된 경우에는, 상기 마스터 모듈에 장해가 발생하였다고 판정하는 처리인 것을 특징으로 하는, 정보 처리 장치.
  6. 제3항 또는 제4항에 있어서, 상기 차기 마스터 모듈은, 또한 상기 마스터 모듈에 관한 상황 정보의 수신 횟수를 슬레이브 모듈 별로 계수해서 관리하는 계수·관리 처리를 행하고,
    상기 제2 판정 처리가,
    자신의 모듈 내의 상기 메모리 상의 상기 마스터 모듈에 관한 상황 정보의 값이 제3 소정값 이상으로 된 경우, 상기 계수·관리 처리에 의해 관리되고 있는 복수의 슬레이브 모듈에 관한 수신 횟수가 "1" 이상으로 되어 있는지의 여부를 판단하고, 복수의 슬레이브 모듈에 관한 수신 횟수가 "1" 이상으로 되어 있는 경우에 한해서, 상기 마스터 모듈에 장해가 발생하였다고 판정하는 처리인 것을 특징으로 하는, 정보 처리 장치.
  7. 서로 통신 가능한 복수의 제어 모듈의 동작 상태를 감시하는 동작 상태 감시 방법으로서,
    각 제어 모듈은, 다른 각 제어 모듈과의 사이의 통신에서 발생한 에러의 상황을 반영한 상황 정보를, 통신처의 제어 모듈 및/또는 자신의 제어 모듈 각각에 대해서 기억하는 메모리를 갖고,
    상기 복수의 제어 모듈 중, 어느 제어 모듈에 장해가 발생하고 있는지의 여부를 판정할 때에, 판정 대상 제어 모듈과는 상이한 제어 모듈이, 당해 판정 대상 제어 모듈과는 상이한 2 이상의 제어 모듈의 메모리 상에 기억되어 있는 당해 판정 대상 제어 모듈의 상황 정보에 기초하여, 당해 판정 대상 제어 모듈에 장해가 발생하고 있는지의 여부를 판정하고,
    상기 복수의 제어 모듈은, 마스터 제어 모듈로서 동작하는 마스터 모듈과, 차기 마스터 제어 모듈로서 동작하는 차기 마스터 모듈과, 각각, 슬레이브 제어 모듈로서 동작하는 복수의 슬레이브 모듈을 포함하고,
    상기 마스터 모듈에 장해가 발생하고 있는지의 여부를 판정할 때에, 차기 마스터 모듈이, 자신의 모듈 내의 메모리 상의 상기 마스터 모듈의 상황 정보와 상기 슬레이브 모듈로부터 통지된 상기 마스터 모듈의 상황 정보에 기초하여, 상기 마스터 모듈에 장해가 발생하고 있는지의 여부를 판정하는 것을 특징으로 하는, 동작 상태 감시 방법.
KR1020120117074A 2011-12-20 2012-10-22 정보 처리 장치 및 동작 상태 감시 방법 KR101437735B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011279030A JP5810891B2 (ja) 2011-12-20 2011-12-20 情報処理装置及び動作状態監視方法
JPJP-P-2011-279030 2011-12-20

Publications (2)

Publication Number Publication Date
KR20130071346A KR20130071346A (ko) 2013-06-28
KR101437735B1 true KR101437735B1 (ko) 2014-09-03

Family

ID=47458637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120117074A KR101437735B1 (ko) 2011-12-20 2012-10-22 정보 처리 장치 및 동작 상태 감시 방법

Country Status (5)

Country Link
US (1) US9164824B2 (ko)
EP (1) EP2608034A1 (ko)
JP (1) JP5810891B2 (ko)
KR (1) KR101437735B1 (ko)
CN (1) CN103197997A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185582B2 (en) * 2012-11-28 2019-01-22 Red Hat Israel, Ltd. Monitoring the progress of the processes executing in a virtualization environment
US9026841B1 (en) * 2014-09-09 2015-05-05 Belkin International, Inc. Coordinated and device-distributed detection of abnormal network device operation
US10063439B2 (en) 2014-09-09 2018-08-28 Belkin International Inc. Coordinated and device-distributed detection of abnormal network device operation
TWI546682B (zh) * 2015-07-06 2016-08-21 群暉科技股份有限公司 藉助於混和管理路徑來管理一儲存系統之方法與裝置
JP6898561B2 (ja) * 2017-09-08 2021-07-07 富士通株式会社 機械学習プログラム、機械学習方法、および機械学習装置
DE102018205390A1 (de) * 2018-04-10 2019-10-10 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fehlerbehandlung in einer Kommunikation zwischen verteilten Software Komponenten

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390326A (en) * 1993-04-30 1995-02-14 The Foxboro Company Local area network with fault detection and recovery

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329023A (ja) * 1995-05-30 1996-12-13 Shikoku Nippon Denki Software Kk 並列電子計算機システム
KR0174604B1 (ko) * 1995-07-24 1999-04-01 김광호 전자식 교환기에서 프로세서 상태확인 분산처리방법
JPH11249931A (ja) 1998-03-04 1999-09-17 Nec Corp 事象従監視装置
JP2001007892A (ja) 1999-06-22 2001-01-12 Sumitomo Electric Ind Ltd ネットワーク管理方法およびネットワーク管理システム
US6766470B1 (en) * 2000-03-29 2004-07-20 Intel Corporation Enhancing reliability and robustness of a cluster
JP2002344453A (ja) * 2001-05-21 2002-11-29 Omron Corp 通信エラーモニタシステムおよびスレーブユニットおよびネットワークコンフィグレータ
DE10148325A1 (de) * 2001-09-29 2003-04-17 Daimler Chrysler Ag Buswächtereinheit
JP4871687B2 (ja) * 2005-10-03 2012-02-08 日立オートモティブシステムズ株式会社 車両制御システム
JP4584853B2 (ja) * 2006-03-17 2010-11-24 富士通株式会社 被疑箇所特定装置および処理方法
US20070283104A1 (en) * 2006-05-31 2007-12-06 International Business Machines Corporation Concurrent Hardware Selftest for Central Storage
CN100471156C (zh) * 2007-03-07 2009-03-18 今创集团有限公司 数据总线桥接器及其工作方法
CN100492223C (zh) * 2007-03-30 2009-05-27 哈尔滨工程大学 发动机冗余电控系统切换电路
JP4512621B2 (ja) * 2007-08-06 2010-07-28 株式会社日立製作所 分散システム
US7870425B2 (en) * 2007-11-23 2011-01-11 International Business Machines Corporation De-centralized nodal failover handling
US7877627B1 (en) * 2008-12-18 2011-01-25 Supercon, L.L.C. Multiple redundant computer system combining fault diagnostics and majority voting with dissimilar redundancy technology
US8291070B2 (en) * 2009-08-31 2012-10-16 Red Hat Israel, Ltd. Determining an operating status of a remote host upon communication failure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390326A (en) * 1993-04-30 1995-02-14 The Foxboro Company Local area network with fault detection and recovery

Also Published As

Publication number Publication date
US20130159773A1 (en) 2013-06-20
JP5810891B2 (ja) 2015-11-11
EP2608034A1 (en) 2013-06-26
CN103197997A (zh) 2013-07-10
US9164824B2 (en) 2015-10-20
JP2013130977A (ja) 2013-07-04
KR20130071346A (ko) 2013-06-28

Similar Documents

Publication Publication Date Title
KR101437735B1 (ko) 정보 처리 장치 및 동작 상태 감시 방법
JP4641546B2 (ja) 入出力(i/o)エラーをハンドリングするための方法及びシステム
CN108206763B (zh) 在交换机更换期间用于数据恢复的方法和设备
US7904744B2 (en) Data storage using multiple protocols
US8402189B2 (en) Information processing apparatus and data transfer method
WO2021027481A1 (zh) 故障处理方法、装置、计算机设备、存储介质及存储系统
JP2006048578A (ja) 計算機システム、計算機及びそのプログラム。
US11573737B2 (en) Method and apparatus for performing disk management of all flash array server
US7797571B2 (en) System, method and circuit for mirroring data
JP2006127201A (ja) ストレージシステムおよび導通確認方法
TW201635142A (zh) 多台伺服器之容錯之方法及系統
WO2015033433A1 (ja) ストレージ装置及び障害部位特定方法
JP2017010390A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
JP2006072717A (ja) ディスクサブシステム
EP2784677A1 (en) Processing apparatus, program and method for logically separating an abnormal device based on abnormality count and a threshold
US8095828B1 (en) Using a data storage system for cluster I/O failure determination
JP5651962B2 (ja) Raid装置、異常デバイス検出装置および異常デバイス検出方法
JP2020021313A (ja) データ処理装置および診断方法
US9760460B2 (en) Storage system, storage device, and monitoring server
JP2011108006A (ja) ディスクアレイ装置の故障診断システム、故障診断方法、故障診断プログラムおよびディスク装置
KR102018225B1 (ko) 연결 방법
JP2009110218A (ja) 仮想化スイッチおよびそれを用いたコンピュータシステム
JP6511737B2 (ja) 冗長システム、冗長化方法および冗長化プログラム
JP6547600B2 (ja) ストレージシステム、および制御装置
JP2009015425A (ja) ログ収集システム、ログ収集方法、および、ノード

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant