JP6029737B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP6029737B2
JP6029737B2 JP2015500049A JP2015500049A JP6029737B2 JP 6029737 B2 JP6029737 B2 JP 6029737B2 JP 2015500049 A JP2015500049 A JP 2015500049A JP 2015500049 A JP2015500049 A JP 2015500049A JP 6029737 B2 JP6029737 B2 JP 6029737B2
Authority
JP
Japan
Prior art keywords
control
core
standby
calculation
cpu card
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015500049A
Other languages
English (en)
Other versions
JPWO2014125606A1 (ja
Inventor
久夫 吉池
久夫 吉池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6029737B2 publication Critical patent/JP6029737B2/ja
Publication of JPWO2014125606A1 publication Critical patent/JPWO2014125606A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/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
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • 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/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/2038Error 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 with a single idle spare processing component
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25143Buffer for communication between two cpu
    • 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/2041Error 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 with more than one idle spare processing component
    • 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/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space

Landscapes

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

Description

この発明は、24時間365日連続運転する高稼働率の原子力/火力発電所等、ミッションクリティカルな領域に適用されるものである。そして、この発明は、制御系および待機系の2重系のCPUユニットから構成されている。よって、この発明は、異常検出時において、系切り替えを行い制御演算を継続するという高信頼性が求められている制御装置に関するものである。
従来のミッションクリティカルな領域に適用される制御装置は、その制御装置のCPUユニットが、シングルコアのCPUチップにて構成する。そして、CPUユニット自体が2重系を構成している場合がある。よって、SEU(SingleEventUpset、放射線によって発生する一過性の電子デバイス異常)に起因する異常発生時には、系切り替えを即時に行って対応している。
他の従来の制御装置としては、CPUチップにマルチコアで二重化を組む技術を用いるものがある。この制御装置はマルチコアCPU用のHyperVisorの機能を利用している。そして、両系の計算機で、相手のデータを保持することで二重化を実現している。この手法では、SEUに起因する異常発生時において、系切り替えが発生する。さらに、制御装置では、制御演算にリアルタイム性が要求されるため、HyperVisorの処理がオーバヘッドとなる(例えば、特許文献1参照)。
特開2009−80695号公報
従来のミッションクリティカルな領域に適用される制御装置は、シングルコアのCPUチップを搭載しているCPUユニットで2重系を組んでいる。このために、従来の制御装置は、SEUによる一過性のエラーであっても重故障と見做して、系切り替えを行う。よって、従来の制御装置は、CPUユニットとしての稼働率が低いという問題点があった。
さらに、従来のシングルコアのCPUチップで使用している制御装置の系切り替え方式を、マルチコアのCPUチップを有する制御装置に適用する。すると、1つのコアで異常検出しただけで、他のコアが正常に実行している場合であっても、CPUユニット毎の系切り替えを行う。よって、CPUユニットとして稼働率が悪いという問題点があった。
この発明は上記のような課題を解決するためになされたものであり、高信頼性を有するとともに稼働率に優れた制御装置を提供することを目的とする。
この発明の制御装置は、
制御コアおよび1または複数の待機コアを有する制御用CPUチップ、および、情報を記憶する主記憶部を搭載した制御系CPUカードと、
制御コアおよび1または複数の待機コアを有する待機用CPUチップ、および、情報を記憶する主記憶部を搭載した待機系CPUカードと、
上記制御系CPUカードと上記待機系CPUカードと間で上記情報を共有するための通信を行うインターフェイスとを備えた制御装置であって、
上記制御系CPUカードにおいて、上記制御コアが正常である場合には、上記制御コアが制御演算を行い演算結果を出力し、
上記制御コアが異常である場合には、いずれか1の上記待機コアを制御用としてのコアに切り替えて上記制御演算を行い上記演算結果の出力を継続し、
上記制御コアおよび1または複数の上記待機コアの全てが異常である場合には、上記制御系CPUカードから上記待機系CPUカードに系切り替えを行う制御装置であって、
上記各主記憶部は、上記制御コアおよび1または複数の上記待機コアの上記各演算結果を別々に格納する演算データ領域をそれぞれ形成し、
上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、上記各演算結果を上記各演算データ領域にそれぞれ格納し、
上記制御コア用の上記演算データ領域に障害が発生すると、
上記待機コア用の上記演算データ領域に格納されている上記演算結果を上記制御コア用の上記演算データ領域に保存して上記制御コアでの上記制御演算を継続するものである。
また、この発明の制御装置は、
制御コアおよび1または複数の待機コアを有する制御用CPUチップ、および、情報を記憶する主記憶部を搭載した制御系CPUカードと、
制御コアおよび1または複数の待機コアを有する待機用CPUチップ、および、情報を記憶する主記憶部を搭載した待機系CPUカードと、
上記制御系CPUカードと上記待機系CPUカードと間で上記情報を共有するための通信を行うインターフェイスとを備えた制御装置であって、
上記制御系CPUカードにおいて、上記制御コアが正常である場合には、上記制御コアが制御演算を行い演算結果を出力し、
上記制御コアが異常である場合には、いずれか1の上記待機コアを制御用としてのコアに切り替えて上記制御演算を行い上記演算結果の出力を継続し、
上記制御コアおよび1または複数の上記待機コアの全てが異常である場合には、上記制御系CPUカードから上記待機系CPUカードに系切り替えを行う制御装置であって、
上記各主記憶部は、上記制御コアおよび1または複数の上記待機コアの上記各演算結果を別々に格納する演算データ領域をそれぞれ形成し、
上記制御コアおよび1または複数の上記待機コアは、上記各演算結果をそれぞれ格納するキャッシュメモリをそれぞれ形成し、
上記各キャッシュメモリは、ライトバックモードに設定され、
上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、上記各演算結果を上記各キャッシュメモリにそれぞれ格納し、
上記制御コアの上記キャッシュメモリに障害が発生すると、
上記待機コアの上記キャッシュメモリの上記演算結果を、上記待機コア用の上記演算データ領域に保存し、
上記待機コア用の上記演算データ領域の当該演算結果を上記制御コア用の上記演算データ領域に保存して、
上記制御コア用の上記演算データ領域の当該演算結果を上記制御コアの上記キャッシュメモリに保存して、
上記制御コアでの上記制御演算を継続するものである。
この発明の制御装置は、上記のように構成されているため、高信頼性を有するとともに稼働率に優れている。
この発明の実施の形態1の制御装置の構成を示す図である。 図1に示した制御装置の遷移状態を説明するための遷移図である。 図1に示した制御装置の動作を説明するためのフローチャートである。 この発明の実施の形態3の制御装置の構成を示す図である。
実施の形態1.
以下、本願発明の実施の形態について説明する。図1はこの発明の実施の形態1における制御装置の構成を示す図、図2は図1に示した制御装置の遷移状態を説明するための遷移図、図3は図1に示した制御装置の動作を説明するためのフローチャートである。図において、制御装置は、制御系CPUユニット1と待機系CPUユニット2とが存在する。そして、制御系CPUユニット1と待機系CPUユニット2とは、同様の制御演算および処理を行うことができるように、以下に示すように同様に構成されている。尚、制御系CPUユニット1および待機系CPUユニット2は、同様の動作が可能である。また、このことは以下の実施の形態においても同様であるため、この説明は適宜省略する。
制御系CPUユニット1と待機系CPUユニット2とは、制御系CPUカード11、待機系CPUカード21および第1インターフェイス(以下、I/Fと称す)カード121、221、および、第2I/Fカード122、222をそれぞれ備えている。制御系CPUカード11、待機系CPUカード21は、制御演算および系間通信を行うものである。そして、制御系CPUカード11、待機系CPUカード21は、マルチコアの制御用CPUチップ12、待機用CPUチップ22と、主記憶部13、23とをそれぞれ備えている。
第1I/Fカード121、221、および、第2I/Fカード122、222は、ネットワーク等、制御装置の外部と、制御系CPUカード11、待機系CPUカード21とのI/Fであり、第1システムバス31、32を介して行うものである。I/F33は、制御系CPUカード11と待機系CPUカード21と間で情報を共有するための通信を行うものである。そして、I/F33は、制御系CPUユニット1と待機系CPUユニット2とを系間通信バス34、35を用いて系間通信を行うものである。そして、このI/F33により、制御系CPUユニット1と待機系CPUユニット2とは2重系を構成する。
制御用CPUチップ12、待機用CPUチップ22は、第1コア14、24、第2コア15、25、システムバスコントローラ19、29、メモリコントローラ17、27、および系間通信バスコントローラ16、26とをそれぞれ備えている。第1コア14、24および第2コア15、25は、制御演算を行うものである。システムバスコントローラ19、29は、第1システムバス31、32にそれぞれ接続され、第1システムバス31、32を介して制御装置の外部に送信するデータを制御するものである。
メモリコントローラ17、27は、第1コア14、24、第2コア15、25の演算結果の主記憶部13、23への記憶を制御するものである。系間通信バスコントローラ16、26は、系間通信バス34、35にそれぞれ接続され、系間を2重系するために必要な情報を制御するものである。主記憶部13、23は、各種情報を記憶するものである。
そして、主記憶部13、23は、第1演算データ領域13a、23a、第2演算データ領域13b、23bと、コード領域13c、23cとをそれぞれ備えている。
第1演算データ領域13a、23a、第2演算データ領域13b、23bは、第1コア14、24、第2コア15、25の各演算結果をメモリコントローラ17、27により制御され記憶されるものである。コード領域13c、23cは、制御演算を行うために必要となる制御演算コードを記憶するものである。第1コア14、24および第2コア15、25は、演算結果などを保存するキャッシュメモリ141、151、241、251をそれぞれ備えている。キャッシュメモリ141、151、241、251は、制御演算の演算性能を上げるための記憶部で、例えばSRAMにて構成されているものである。また、各キャッシュメモリ141、151、241、251は、ライトスルーモードで使用されている。よって、各キャッシュメモリ141、151、241、251の内容と、主記憶部13、23の内容とは同一となる。
次に上記のように構成された実施の形態1の制御装置の制御動作について説明する。まず、制御系CPUユニット1は、第1コア14を制御コア、第2コア15を待機コアとしてあらかじめ設定する。次に、第1コア14および第2コア15は、主記憶部13上の同じ制御演算コードを実行する。そして、第1I/Fカード121および第2I/Fカード122との通信処理は、システムバスコントローラ19により、制御コアである第1コア14のみにて実施されている。
また、第1コア14および第2コア15では、キャッシュメモリ141、151などを定期的にかつ自己診断を行い、故障および異常などを検出している。そして、第1コア14および第2コア15では、故障検出、異常信号などを、割り込みによる例外処理にて行う。また、系間通信バスコントローラ16が、制御系CPUユニット1および待機系CPUユニット2間で、I/F33を用いて、定期的に制御演算に必要な情報を、制御系CPUユニット1から待機系CPUユニット2に送信している。そして、系切り替え発生時には、制御系CPUユニットに切り替わった待機系CPUユニット2で制御演算を継続できるように設定されている。従って、待機系CPUユニット2では、制御系CPUユニットとして制御コアである第1コア24、待機コアである第2コア25などを上記に示した場合と同様に同じ制御演算コードを実行することができる。
次に、上記のように構成された実施の形態1の制御装置の切り替え状態の遷移について図2の遷移図を用いて説明する。まず、制御系CPUユニット1、待機系CPUユニット2の両方とも、正常、かつ、第1コア14、24および第2コア15、25の両方とも正常である状態の『両系正常・両コア正常』からスタートする。そして、制御系CPUユニット1の、第1コア14、第2コア15のどちらかのコアで、異常検出した場合には、『両系正常・片コア異常』に遷移する(図2のステップS101)。この際、異常検出したコアが制御コアであった場合には、制御コアを待機コアとする。そして、それまで待機コアであったコアを制御コアに切り替え制御演算を継続する。また、異常検出したコアが待機コアであった場合には、制御コアは制御演算を継続する。
そして、『両系正常・片コア異常』の遷移状態から異常コア(第1コア14、または、第2コア15のいずれか)が異常状態から正常状態に復帰した場合には、『両系正常・両コア正常』の状態に遷移する(図2のステップS102)。そして、『両系正常・片コア異常』の遷移状態で、制御系CPUユニット1の制御コア(第1コア14、または、第2コア15のいずれか)が異常検出した場合には、状態を『片系異常・両コア正常』に遷移する。尚、この場合、第1コア14および第2コア15のいずれもが異常である。
これは、制御系CPUユニット1から待機系CPUユニット2の間で系切り替えが行われることを指す。そして、待機系CPUユニット2が、新たに制御系CPUユニットとして立ち上がる。よって、制御系となった待機系CPUユニット2の第1コア24および第2コア25は、両方ともが正常であるため、両コア正常となる(図2のステップS103)。そして、『片系異常・両コア正常』の状態で他系のCPUユニットの各コアが正常状態に復帰した場合には、状態を『両系正常・両コア正常』に遷移する(図2のステップS104)。
そして、『片系異常・両コア正常』時に、待機系CPUユニット2の第1コア24、第2コア25のいずれかに異常を検出した場合には、『片系異常・片コア異常』に遷移する(図2のステップS105)。この際、異常検出したコアが制御コアであった場合には、制御コアを待機コアとする。そして、それまで待機コアであったコアを制御コアに切り替え制御演算を継続する。そして、『片系異常・片コア異常』の遷移状態から異常コア(第1コア24、または、第2コア25のいずれか)が異常状態から正常状態に復帰した場合には、『片系異常・両コア正常』の状態に遷移する(図2のステップS106)。
そして、『片系異常・片コア異常』の遷移状態から、自系の制御コアが異常を検出した場合には、状態を『両系重故障』に遷移して、制御演算を停止し、HALT(停止)状態になる(図2のステップS107)。そして、『両系正常・両コア正常』の遷移状態から、制御系CPUユニット1の、第1コア14、第2コア15のいずれもが異常検出した場合には、状態を『片系異常・両コア正常』に遷移する(図2のステップS108)。そして、『両系正常・片コア異常』の遷移状態から、制御系CPUユニット1の、第1コア14、第2コア15のいずれもの異常検出し、かつ、待機系CPUユニット2の、第1コア24、第2コア25のいずれかが異常を検出した場合には、状態を『片系異常・片コア異常』に遷移する(図2のステップS109)。
そして、『片系正常・片コア異常』の遷移状態から、制御系CPUユニット1の、第1コア14、第2コア15のいずれかが正常を検出し、かつ、待機系CPUユニット2の、第1コア24、第2コア25のいずれかもが正常を検出した場合には、状態を『両系正常・片コア異常』に遷移する(図2のステップS110)。
従来、制御系CPUユニットおよび待機系CPUユニット2では、1つのCPUのコアに異常を検出すると、即時に系切り替えを行って、自系(制御系CPUユニット)の処理を停止していた。しかし、上記に示したように実施の形態1の制御系CPUユニット1および待機系CPUユニット2は、マルチコアを有し、1つのCPUのコアで異常検出しても、同一CPUチップ内の他のコアで演算を継続することができる。よって、稼働率の高い装置を得ることができる。
次に上記のように構成された実施の形態1の制御装置の切り替え動作について、図3に基づいて説明する。まず、制御系CPUユニット1の制御系CPUカード11の制御コアである第1コア14、待機コアである第2コア15は、同じデータを入力する(図3のステップS201)。次に、第1コア14および第2コア15にて同じ制御演算を実行する(図3のステップS202)。次に、第1コア14および第2コア15は各演算結果を主記憶部13の演算データ領域13aに格納し、演算結果を比較する(図3のステップS203)。
そして、比較の結果が、演算結果が一致するならば、第1コア14はデータを出力する(図3のステップS204)。そして、ステップS201に戻り、再び上記に示した制御演算を継続する。また、比較の結果、演算結果が一致しない(不一致)ならば、待機コアである第2コア15の状態をチェックする(図3のステップS205)。そして、正常(YES)ならば、待機コアである第2コア15を制御コアに切り替える(図3のステップS206)。そして、ステップS201に戻り、再び上記に示した制御演算を継続する。また、待機コアである第2コア15が異常であった場合には(NO)、待機系CPUユニット2の状態をチェックする(図3のステップS207)。
そして、正常(YES)ならば、待機系CPUユニット2を制御系CPUユニットとして切り替える(図3のステップS208)。そして、ステップS201に戻り、待機系CPUユニット2が制御系CPUユニットとなり、制御系となった待機系CPUユニット2側にて再び上記に示した制御演算を継続する。また、待機系である待機系CPUユニット2が異常であった場合には(NO)、両系とも異常であるため、重故障処理と判断し、制御演算を停止する(図3のステップS209)。
上記に示した実施の形態1においては、コア間の切り替えを、演算結果を比較して一致または一致していない場合の例について示した。以下、他の場合について説明する。この場合は、まず、マルチコアが3以上、すなわち待機コアが2以上のコアが存在する場合について適用できる。
上記実施の形態1と同様に、制御コアおよび各待機コアのいずれも同じ制御演算を行う。次に、制御コアおよび各待機コアの各演算結果を多数決にて比較する。そして、多数決の多数が、制御コアの演算結果ならば、制御コアにて制御演算を行う。また、多数決の多数が制御コアの上記演算結果でないと判断される。その際は、多数決の多数となった演算結果を有する待機コアを、制御用のコアに切り替え制御演算を行うものである。
上記に示した実施の形態1によると、マルチコアが、同じ入力データを使用して、同じ制御演算を行って演算結果を比較し、異なっていたらコア切り替え、系切り替えを行うことにより、高稼働率を維持しつつ、信頼性の高い装置を得ることができる。
さらに、多数決により演算結果の選択を行うと、さらに信頼性の高い装置を得ることができる。
実施の形態2.
上記実施の形態1においては、制御コアである第1コア14、待機コアである第2コア15で使用する主記憶部13の領域を第1演算データ領域13a、第2演算データ領域13bに分割して、同じ制御演算を実行している。よって、主記憶部13に、例えばECCエラーが発生した時は、制御コアである第1コア14、および、待機コアである第2コア15を切り替えることで演算を継続する例を示した。本実施の形態2においては、主記憶部13に障害、例えばECCエラーが発生した場合、コアを切り替えることなく行う場合について説明する。
本実施の形態2においては、制御コアである第1コア14および待機コアである第2コア15がいずれも同じ制御演算を行い、各キャッシュメモリ141、151にそれぞれ各演算結果が保存されている。そして、各キャッシュメモリ141、151は、ライトスルーモードで使用されているため、各キャッシュメモリ141、151の各演算結果は、第1演算データ領域13aおよび第2演算データ領域13bにそれぞれ格納される。
そして、制御コアである第1コア14用の第1演算データ領域13aに障害が発生する。その場合、待機コアである第2コア15用の第2演算データ領域13bに格納されている演算結果を、制御コアである第1コア14用の第1演算データ領域13aに保存する。そして、制御コアである第1コア14での制御演算を継続することができる。
上記のように構成された実施の形態2によれば、上記実施の形態1と同様の効果を奏するのはもちろんのこと、制御コアの演算データ領域に障害が発生しても、待機コアの演算データ領域の演算結果を用いて、制御コアでの演算を継続することができるため、演算効率が向上する。
実施の形態3.
上記各実施の形態においては、第1システムバス31に、例えばパリティエラーが発生した時は、第1コア14および第2コア15でシステムバス31を共有しているため、系切り替えでしか制御演算を継続することができない。
よって、本実施の形態3においては、図4に示すように、制御系CPUカード11と、第1および第2I/Fカード121、122と間を第1および第2システムバス31、36にて二重化する。そして、この第1および第2システムバス31、36とシステムバスコントローラ19間に、第1および第2システムバス31、36を切り替える、バススイッチャ41を形成する。尚、待機系CPUユニット2も同様に、第1および第2システムバス32、37が二重化され、バススイッチャ42が形成されている。
上記のように構成された実施の形態3の制御装置の動作について説明する。尚、システムバスの切り替え以外は上記各実施の形態と同様であるためその説明は適宜省略する。また、以下の実施の形態においても、システムバスの切り替えは同様に行うことができるため、その説明は適宜省略する。通常は、バススイッチャ41にて選択され、第1システムバス31を用いて、制御系CPUカード11と制御装置の外部との通信が行われている。そして、第1システムバス31に障害、例えば、パリティエラーが発生した場合には、バススイッチャ41が第2システムバス36に切り替わる。そして、第1システムバス31を用いて、制御系CPUカード11と制御装置の外部との通信が行われている。よって、コアを切り替えることなく、対応することが可能となる。
上記実施の形態3の制御装置によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、システムバスの障害に対しては、システムバスを二重化しておりこれらを切り替えることにより制御装置の外部との通信を行うことができる。よって、系切り替えを行うことなく、制御演算を継続して対応することができるため、演算効率が向上する。
実施の形態4.
上記各実施の形態では、キャッシュメモリ141、151、241、251をライトスルーモードに設定している。よって、キャッシュメモリ141、151、241、251の一過性のエラーが発生した時には、キャッシュメモリ141、151、241、251を無効化して主記憶部13、23に保存しているデータを読み直して、リカバリーを可能としている。しかし、ライトスルーモードでメモリライトを行っていることにより、制御演算の性能が低下している。
本実施の形態4においては、キャッシュメモリ141、151、241、251をライトバックモードに設定する場合について説明する。まず、上記各実施の形態と同様に、それぞれの第1および第2コア14、15で同じデータを入力し、同じ制御演算を実行する。そして、第1および第2コア14、15の各演算結果を、各キャッシュメモリ141、151にそれぞれ格納する。次に、例えば、制御コアである第1コア14のキャッシュメモリ141に障害が発生する。次に、待機コアである第2コア15のキャッシュメモリ151の演算結果を、待機コアである第2コア15の第2演算データ領域13bに保存する。
次に、待機コアである第2コア5の第2演算データ領域13bの演算結果を、制御コアである第1コア14の第1演算データ領域13aに保存する。次に、制御コアである第1コア14の第1演算データ領域13aの演算結果を、制御コアである第1コア14のキャッシュメモリ141に保存する。そして、制御コアである第1コア14にて制御演算を継続する。
上記のように構成された実施の形態4によれば、制御コアのキャッシュメモリに一過性の障害が発生しても、コアを切り替えることなく、制御演算を継続することができるため、制御演算の性能を劣化させることなく、リカバリー処理が行え、稼働率、および、信頼性を高めることができる。また、キャッシュメモリをライトバックモードで使用するため、性能を落とさず制御演算を実行することが可能となる。
尚、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。

Claims (5)

  1. 制御コアおよび1または複数の待機コアを有する制御用CPUチップ、および、情報を記憶する主記憶部を搭載した制御系CPUカードと、
    制御コアおよび1または複数の待機コアを有する待機用CPUチップ、および、情報を記憶する主記憶部を搭載した待機系CPUカードと、
    上記制御系CPUカードと上記待機系CPUカードと間で上記情報を共有するための通信を行うインターフェイスとを備えた制御装置であって、
    上記制御系CPUカードにおいて、上記制御コアが正常である場合には、上記制御コアが制御演算を行い演算結果を出力し、
    上記制御コアが異常である場合には、いずれか1の上記待機コアを制御用としてのコアに切り替えて上記制御演算を行い上記演算結果の出力を継続し、
    上記制御コアおよび1または複数の上記待機コアの全てが異常である場合には、上記制御系CPUカードから上記待機系CPUカードに系切り替えを行う制御装置であって、
    上記各主記憶部は、上記制御コアおよび1または複数の上記待機コアの上記各演算結果を別々に格納する演算データ領域をそれぞれ形成し、
    上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、上記各演算結果を上記各演算データ領域にそれぞれ格納し、
    上記制御コア用の上記演算データ領域に障害が発生すると、
    上記待機コア用の上記演算データ領域に格納されている上記演算結果を上記制御コア用の上記演算データ領域に保存して上記制御コアでの上記制御演算を継続する制御装置。
  2. 制御コアおよび1または複数の待機コアを有する制御用CPUチップ、および、情報を記憶する主記憶部を搭載した制御系CPUカードと、
    制御コアおよび1または複数の待機コアを有する待機用CPUチップ、および、情報を記憶する主記憶部を搭載した待機系CPUカードと、
    上記制御系CPUカードと上記待機系CPUカードと間で上記情報を共有するための通信を行うインターフェイスとを備えた制御装置であって、
    上記制御系CPUカードにおいて、上記制御コアが正常である場合には、上記制御コアが制御演算を行い演算結果を出力し、
    上記制御コアが異常である場合には、いずれか1の上記待機コアを制御用としてのコアに切り替えて上記制御演算を行い上記演算結果の出力を継続し、
    上記制御コアおよび1または複数の上記待機コアの全てが異常である場合には、上記制御系CPUカードから上記待機系CPUカードに系切り替えを行う制御装置であって、
    上記各主記憶部は、上記制御コアおよび1または複数の上記待機コアの上記各演算結果を別々に格納する演算データ領域をそれぞれ形成し、
    上記制御コアおよび1または複数の上記待機コアは、上記各演算結果をそれぞれ格納するキャッシュメモリをそれぞれ形成し、
    上記各キャッシュメモリは、ライトバックモードに設定され、
    上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、上記各演算結果を上記各キャッシュメモリにそれぞれ格納し、
    上記制御コアの上記キャッシュメモリに障害が発生すると、
    上記待機コアの上記キャッシュメモリの上記演算結果を、上記待機コア用の上記演算データ領域に保存し、
    上記待機コア用の上記演算データ領域の当該演算結果を上記制御コア用の上記演算データ領域に保存して、
    上記制御コア用の上記演算データ領域の当該演算結果を上記制御コアの上記キャッシュメモリに保存して、
    上記制御コアでの上記制御演算を継続する制御装置。
  3. 上記制御系CPUカードにおいて、
    上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、
    上記制御コアおよび上記待機コアの上記各演算結果を比較し、
    当該演算結果が一致していれば、上記制御コアにて上記制御演算を行い、
    当該演算結果が一致していなければ、上記待機コアを制御用としてのコアに切り替え上記制御演算を行う請求項1または請求項2に記載の制御装置。
  4. 上記待機コアが2以上であって、
    上記制御系CPUカードにおいて、
    上記制御コアおよび上記待機コアがいずれも同じ上記制御演算を行い、
    上記制御コアおよび上記待機コアの上記各演算結果を多数決にて比較し、
    当該多数決の多数が上記制御コアの上記演算結果ならば、上記制御コアにて上記制御演算を行い、
    上記多数決の多数が上記制御コアの上記演算結果でないならば、上記多数決の多数となった上記演算結果を有する上記待機コアを制御用としてのコアに切り替え上記制御演算を行う請求項1または請求項2に記載の制御装置。
  5. 上記制御系CPUカードおよび上記待機系CPUカードの上記各演算結果の外部への出力を二重化する第1および第2システムバスを形成し、
    一方の上記システムバスに障害が発生すると、他方の上記システムバスに切り替えるバススイッチャを上記制御系CPUカードおよび上記待機系CPUカードと上記各システムバスとの間にそれぞれ形成した請求項1から請求項のいずれか1項に記載の制御装置。
JP2015500049A 2013-02-15 2013-02-15 制御装置 Active JP6029737B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/053620 WO2014125606A1 (ja) 2013-02-15 2013-02-15 制御装置

Publications (2)

Publication Number Publication Date
JP6029737B2 true JP6029737B2 (ja) 2016-11-24
JPWO2014125606A1 JPWO2014125606A1 (ja) 2017-02-02

Family

ID=51353636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015500049A Active JP6029737B2 (ja) 2013-02-15 2013-02-15 制御装置

Country Status (3)

Country Link
US (1) US9952579B2 (ja)
JP (1) JP6029737B2 (ja)
WO (1) WO2014125606A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606879B2 (en) * 2014-09-29 2017-03-28 Nxp Usa, Inc. Multi-partition networking device and method therefor
JP6515579B2 (ja) * 2015-02-23 2019-05-22 コニカミノルタ株式会社 画像処理装置、画像処理方法、画像処理装置の制御プログラム、および画像形成システム
JP6039772B1 (ja) 2015-09-16 2016-12-07 株式会社東芝 メモリシステム
WO2018179191A1 (ja) * 2017-03-29 2018-10-04 株式会社日立製作所 制御装置及び制御システム
JP7023776B2 (ja) * 2018-04-11 2022-02-22 株式会社日立ハイテクソリューションズ 二重化制御システム
JP7183267B2 (ja) * 2018-06-26 2022-12-05 グローリー株式会社 貨幣処理装置および貨幣処理方法
JP6923250B2 (ja) * 2018-12-14 2021-08-18 Necプラットフォームズ株式会社 システム及び暗号化処理方法
CN116668230B (zh) * 2023-06-20 2024-06-25 西门子交通技术(北京)有限公司 云主机及多路比较方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165665A (ja) * 1991-12-18 1993-07-02 Nec Corp 演算制御システムにおける故障検出制御装置
JPH06242979A (ja) * 1993-02-16 1994-09-02 Yokogawa Electric Corp 二重化コンピュータ装置
JPH11134210A (ja) * 1997-10-29 1999-05-21 Nec Corp システムの冗長化方法
JP2000347885A (ja) * 1999-06-08 2000-12-15 Mitsubishi Electric Corp 二重化プロセス制御コントローラ
JP2009069963A (ja) * 2007-09-11 2009-04-02 Fujitsu Ltd マルチプロセッサシステム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0565665A (ja) 1991-09-10 1993-03-19 Sumitomo Metal Ind Ltd 耐黒変性に優れたクロメート処理法
DK0749663T3 (da) * 1994-03-08 2000-03-20 Excel Switching Corp Telekommunikationsomskifter med forbedret redundans
JP4101368B2 (ja) * 1998-08-24 2008-06-18 松下電器産業株式会社 ボタン電話装置およびそのメンテナンス方法並びに記録媒体
JP3879436B2 (ja) 2001-05-16 2007-02-14 日本電気株式会社 分散処理システム及び分散処理方法並びに分散処理制御プログラム
US6920581B2 (en) * 2002-01-02 2005-07-19 Intel Corporation Method and apparatus for functional redundancy check mode recovery
US7516359B2 (en) * 2004-10-25 2009-04-07 Hewlett-Packard Development Company, L.P. System and method for using information relating to a detected loss of lockstep for determining a responsive action
US7627781B2 (en) * 2004-10-25 2009-12-01 Hewlett-Packard Development Company, L.P. System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor
US20060212677A1 (en) * 2005-03-15 2006-09-21 Intel Corporation Multicore processor having active and inactive execution cores
DE102005037248A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigsterns zwei Ausführungseinheiten
US7877358B2 (en) * 2006-11-21 2011-01-25 Microsoft Corporation Replacing system hardware
US7934121B2 (en) * 2006-11-21 2011-04-26 Microsoft Corporation Transparent replacement of a system processor
US8412981B2 (en) * 2006-12-29 2013-04-02 Intel Corporation Core sparing on multi-core platforms
US20080235454A1 (en) * 2007-03-22 2008-09-25 Ibm Corporation Method and Apparatus for Repairing a Processor Core During Run Time in a Multi-Processor Data Processing System
US8296768B2 (en) * 2007-06-30 2012-10-23 Intel Corporation Method and apparatus to enable runtime processor migration with operating system assistance
JP4468426B2 (ja) 2007-09-26 2010-05-26 株式会社東芝 高可用システム及び実行状態制御方法
JP5522445B2 (ja) * 2009-02-04 2014-06-18 横河電機株式会社 パラメータコピー方法およびパラメータコピー装置
US8327181B2 (en) * 2009-06-22 2012-12-04 Citrix Systems, Inc. Systems and methods for failover between multi-core appliances
US8335943B2 (en) * 2009-06-22 2012-12-18 Citrix Systems, Inc. Systems and methods for stateful session failover between multi-core appliances
JP5099090B2 (ja) * 2009-08-19 2012-12-12 日本電気株式会社 マルチコアシステム、マルチコアシステムの制御方法、及びマルチプロセッサ
US8935569B2 (en) * 2010-03-23 2015-01-13 Continental Teves Ag & Co. Ohg Control computer system, method for controlling a control computer system, and use of a control computer system
EP2656594B1 (en) * 2010-12-20 2015-08-26 Citrix Systems Inc. Systems and methods for implementing connection mirroring in a multi-core system
CN110083494B (zh) * 2011-12-30 2023-07-25 英特尔公司 在多核心环境中管理硬件错误的方法和装置
JP5850774B2 (ja) * 2012-03-22 2016-02-03 ルネサスエレクトロニクス株式会社 半導体集積回路装置及びそれを用いたシステム
US8977895B2 (en) * 2012-07-18 2015-03-10 International Business Machines Corporation Multi-core diagnostics and repair using firmware and spare cores
US9063906B2 (en) * 2012-09-27 2015-06-23 International Business Machines Corporation Thread sparing between cores in a multi-threaded processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165665A (ja) * 1991-12-18 1993-07-02 Nec Corp 演算制御システムにおける故障検出制御装置
JPH06242979A (ja) * 1993-02-16 1994-09-02 Yokogawa Electric Corp 二重化コンピュータ装置
JPH11134210A (ja) * 1997-10-29 1999-05-21 Nec Corp システムの冗長化方法
JP2000347885A (ja) * 1999-06-08 2000-12-15 Mitsubishi Electric Corp 二重化プロセス制御コントローラ
JP2009069963A (ja) * 2007-09-11 2009-04-02 Fujitsu Ltd マルチプロセッサシステム

Also Published As

Publication number Publication date
US9952579B2 (en) 2018-04-24
WO2014125606A1 (ja) 2014-08-21
JPWO2014125606A1 (ja) 2017-02-02
US20160004241A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
JP6029737B2 (ja) 制御装置
EP1890239B1 (en) Memory contoller and method of controlling memory
JP6098778B2 (ja) 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム
CN104331254A (zh) 一种基于双活逻辑卷的存储双活***设计方法
US9477559B2 (en) Control device, control method and recording medium storing program thereof
CN106155943B (zh) 一种双控存储设备的掉电保护的方法及装置
CN112667450A (zh) 一种可动态配置的多核处理器容错***
JP2009069963A (ja) マルチプロセッサシステム
JP4731364B2 (ja) 多重化制御システム及びその多重化方法
JP2012022429A (ja) 2重系演算処理装置および2重系演算処理方法
JP2009098988A (ja) フォルトトレラントコンピュータシステム
JP2008152552A (ja) 計算機システム及び障害情報管理方法
WO2015174223A1 (ja) プログラマブルコントローラ、及び演算処理システム
JP5556086B2 (ja) 二重化システム、及び、二重化方法
JP2015176153A (ja) 計算機、障害処理方法及びプログラム
JP5748214B2 (ja) 二重化情報処理システム
KR20200069900A (ko) 인공위성 내 소프트웨어 기반 재설정 유닛
JP4292477B2 (ja) 二重化プロセッサ装置
JP5325032B2 (ja) 多重系システムの高信頼性制御装置
JP6214346B2 (ja) 二重系制御装置
US20230055743A1 (en) Information processing device, control method, and non-transitory computer readable medium
JP4474614B2 (ja) 多重化システム
JP2021166424A (ja) 保護リレー装置
KR101625637B1 (ko) 메모리 사중화를 통한 데이터 복구 장애 방지 시스템
JP2014235503A (ja) 情報処理装置、情報処理システム、ハードディスク障害検知方法、サービス継続方法、ハードディスク障害検知プログラム、サービス継続プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161018

R150 Certificate of patent or registration of utility model

Ref document number: 6029737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250