IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特開2023-121471三重化冗長回路における復元装置及び復元方法
<>
  • 特開-三重化冗長回路における復元装置及び復元方法 図1
  • 特開-三重化冗長回路における復元装置及び復元方法 図2
  • 特開-三重化冗長回路における復元装置及び復元方法 図3
  • 特開-三重化冗長回路における復元装置及び復元方法 図4
  • 特開-三重化冗長回路における復元装置及び復元方法 図5
  • 特開-三重化冗長回路における復元装置及び復元方法 図6
  • 特開-三重化冗長回路における復元装置及び復元方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023121471
(43)【公開日】2023-08-31
(54)【発明の名称】三重化冗長回路における復元装置及び復元方法
(51)【国際特許分類】
   G06F 11/16 20060101AFI20230824BHJP
   G06F 11/18 20060101ALI20230824BHJP
   H03K 19/17764 20200101ALN20230824BHJP
【FI】
G06F11/16 666
G06F11/18 630
H03K19/17764
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022024834
(22)【出願日】2022-02-21
(11)【特許番号】
(45)【特許公報発行日】2023-05-08
(71)【出願人】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【弁理士】
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】勝村 祐太
【テーマコード(参考)】
5B034
5J042
【Fターム(参考)】
5B034AA05
5B034BB02
5B034CC01
5B034CC02
5J042BA11
5J042BA16
5J042CA20
5J042DA05
(57)【要約】
【課題】間欠故障が発生した回路を他の正常な回路と同等の状況に戻すことができる装置を提供する。
【解決手段】三重化冗長回路における復元装置100は少なくとも診断部140と状態管理部170とを備える。診断部140は、三重化冗長モジュールのそれぞれから出力される論理値に対する多数決比較の結果である多数決情報をバックアップとして使用する記憶素子へ書き込む。状態管理部170は、多数決比較の結果に不一致が生じた際、不一致が発生したモジュールの使用する記憶素子を、バックアップとして使用する記憶素子に切り替えさせる。
【選択図】図3
【特許請求の範囲】
【請求項1】
三重化冗長モジュールのそれぞれから出力される論理値に対する多数決比較の結果である多数決情報をバックアップとして使用する記憶素子へ書き込む診断手段と、
前記多数決比較の結果に不一致が生じた際、不一致が発生したモジュールの使用する記憶素子を、前記バックアップとして使用する記憶素子に切り替えさせる状態管理手段と
を備える、三重化冗長回路における復元装置。
【請求項2】
前記状態管理手段は、
前記バックアップとして使用する記憶素子を特定する情報を記憶するバックアップ記憶素子情報を備え、
前記不一致が発生したモジュールの使用する記憶素子を前記バックアップ記憶素子情報に記憶される情報により特定される記憶素子に切り替えさせる、
請求項1に記載の三重化冗長回路における復元装置。
【請求項3】
前記状態管理手段は、前記不一致が発生したモジュールの使用する記憶素子を前記バックアップ記憶素子情報に記憶される情報が特定する記憶素子に切り替えさせた後、前記不一致が発生したモジュールが使用していた記憶素子を特定する情報を前記バックアップ記憶素子情報に記憶させる、請求項2に記載の三重化冗長回路における復元装置。
【請求項4】
前記不一致が発生したモジュールの論理回路の修復を行う回路情報修復手段をさらに備える、請求項1から3のいずれか1項に記載の三重化冗長回路における復元装置。
【請求項5】
前記診断手段は、前記不一致が発生したモジュールの使用していた記憶素子を、前記バックアップとして使用する記憶素子に切り替えた後、前記不一致が発生したモジュールの使用していた記憶素子へ前記多数決情報を書き込む、請求項1から4のいずれか1項に記載の三重化冗長回路における復元装置。
【請求項6】
バックアップとして使用するバックアップ記憶素子をさらに備える、請求項1から5のいずれか1項に記載の三重化冗長回路における復元装置。
【請求項7】
前記状態管理手段は、
前記三重化冗長モジュールの論理回路の各々に対する、該三重化冗長モジュール内の記憶素子および前記バックアップ記憶素子との接続関係を記憶する構成情報をさらに備え、
前記多数決比較の結果に不一致が生じた際、前記構成情報に記憶される接続関係も利用して、前記三重化冗長モジュールの論理回路の各々に対する、該三重化冗長モジュール内の記憶素子および前記バックアップ記憶素子との新たな接続関係を決定する、
請求項6に記載の三重化冗長回路における復元装置。
【請求項8】
前記状態管理手段は、前記三重化冗長モジュールの論理回路の各々に対する、該三重化冗長モジュール内の記憶素子および前記バックアップ記憶素子との前記新たな接続関係を前記構成情報に記憶させる、請求項7に記載の三重化冗長回路における復元装置。
【請求項9】
前記状態管理手段は、
前記不一致が発生したモジュールの使用している記憶素子を特定する情報を記憶する不一致回路情報をさらに備え、
前記多数決比較の結果に不一致が生じた際、不一致が発生したモジュールの使用する記憶素子を特定する情報を前記不一致回路情報に記憶させ、
前記多数決比較の結果に不一致が生じた際、前記不一致回路情報に記憶される情報が特定する記憶素子に関する情報も利用して、前記三重化冗長モジュールの論理回路の各々に対する、該三重化冗長モジュール内の記憶素子および前記バックアップ記憶素子との新たな接続関係を決定する、
請求項6から8のいずれか1項に記載の三重化冗長回路における復元装置。
【請求項10】
三重化冗長モジュールのそれぞれから出力される論理値に対する多数決比較の結果である多数決情報をバックアップとして使用する記憶素子へ書き込み、
前記多数決比較の結果に不一致が生じた際、不一致が発生したモジュールの使用する記憶素子を、前記バックアップとして使用する記憶素子に切り替えさせる
三重化冗長回路における復元方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三重化冗長回路における復元装置及び復元方法に関する。
【背景技術】
【0002】
近年、高性能な論理回路を安価で手軽に作成でき、また論理変更が可能なデバイスとしてFPGA(Field Programmable Gate Array)などのプログラマブルデバイスが広く用いられている。一方で、LSI(Large Scale Integration)の微細化に伴い、放射線によるソフトエラーなどによる間欠故障の発生が無視できなくなりつつある。FPGAでは、構成情報をCRAM(Configuration Random Access Memory)に保存しており、CRAM にソフトエラーが発生すると、論理回路が変更され、装置の誤動作を引き起こしてしまう。そこで、FPGAのCRAMソフトエラーに対する対故障性を実現する手段としてTMR(Triple Module Redundancy)が広く用いられている。TMRは、モジュールを三重化冗長し、それぞれのモジュールの出力を多数決回路で受信し、比較を行うことで各モジュールの異常を監視している。
【0003】
特許文献1には、三重化されているプロセッサの出力が比較され、出力が異なる場合には故障が発生したと判断し、その異なった値は多数決の対象として出力しないプログラマブル回路を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開第2015/011792号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、間欠故障が発生し、他のモジュール間で出力値が不一致となる情報を多数決回路へ出力したモジュールは、CRAMに格納されている破壊された構成情報が修復されるまでの期間、不一致情報の生成を継続する。そして不一致発生回路中の記憶素子へ不一致情報が格納され続けるため、CRAM内の回路構成情報の修復完了後でさえも、この不一致情報が記憶素子中に残る。その情報を使用して回路が演算を継続していくため、今後他の正常なモジュールと値が一致することはない。よって一度不一致が発生したモジュールは、多数決比較から外し、残りの正常な2モジュールを比較しあう動作を継続する。次に再び間欠故障が発生し、2モジュール間で論理値が異なった場合は、情報の信用性の維持ができなくなる、という問題が生じる。
【0006】
本発明は、上述の課題を解決すべくなされたもので、三重化冗長回路における復元装置及び復元方法を提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明の第1の態様によれば、三重化冗長回路における復元装置は、三重化冗長モジュールのそれぞれから出力される論理値に対する多数決比較の結果である多数決情報をバックアップとして使用する記憶素子へ書き込む診断手段と、前記多数決比較の結果に不一致が生じた際、不一致が発生したモジュールの使用する記憶素子を、前記バックアップとして使用する記憶素子に切り替えさせる状態管理手段とを備える。
【0008】
また、本発明の第2の態様によれば、三重化冗長回路における復元方法は、三重化冗長モジュールのそれぞれから出力される論理値に対する多数決比較の結果である多数決情報をバックアップとして使用する記憶素子へ書き込み、前記多数決比較の結果に不一致が生じた際、不一致が発生したモジュールの使用する記憶素子を、前記バックアップとして使用する記憶素子に切り替えさせる。
【発明の効果】
【0009】
本発明によれば、間欠故障が発生した回路を他の正常な回路と同等の状況に戻すことができ、結果として情報の信用性の維持ができる、という効果が得られる。
【図面の簡単な説明】
【0010】
図1】本発明の一実施形態における三重化冗長モジュールにおいて間欠故障発生前の復元装置を含む装置構成の概要図である。
図2】本発明の一実施形態による各入出力切替部、各出力切替部により入出力の構成が変更された際のイメージを示す図である。
図3】本発明の一実施形態によるFPGAにおいて間欠故障発生前の初期状態の構成を示す図である。
図4】本発明の一実施形態による間欠故障発生前の初期状態から、回路110に間欠故障発生後の構成を示す図である。
図5】本発明の一実施形態による故障発生前における記憶素子のバックアップ方法を示すシーケンス図である。
図6】本発明の一実施形態による間欠故障発生後における三重化状態への復元方法を示すシーケンス図である。
図7】本発明の一実施形態による三重化冗長回路における復元装置の最小構成図を示す図である。
【発明を実施するための形態】
【0011】
はじめに、一実施形態による三重化冗長回路における復元装置の構成の概要について説明する。図1は、三重化冗長モジュールにおいて間欠故障発生前の復元装置を含む装置構成の概要図である。復元装置は、記憶素子4、診断部、回路情報修復部、状態管理部の組合せで構成される。記憶素子4は、三重化冗長モジュールそれぞれで使用される記憶素子のバックアップとして書き込みが行われる記憶素子である。診断部は、三重化冗長モジュールで使用される各記憶素子の多数決比較を行い、多数決情報をバックアップとして使用する記憶素子へ常時書き込みを行う。入出力切替部は入出力の切り替えを行う。出力切替部は出力先の切り替えを行う。回路情報修復部は、論理回路と紐づいているCRAMに保存されている回路構成情報を修復する。状態管理部は、回路構成情報等を有し入出力切替部や出力切替部へ、入力力先の切り替え指示を実施する。
【0012】
各部の動作について、一例として、回路1が他の回路と不一致となったというケースを含めて、説明を行う。診断部は三重化冗長モジュールそれぞれから出力された論理値を受け取り、それらの多数決比較を実施後、多数決情報を逐次バックアップとして使用する記憶素子4へ書き込みを実施する。状態管理部は、多数決不一致検出後、不一致発生回路に対応するCRAM内部に格納されている回路構成情報の修復のための指示を回路情報修復部に対して行う。ここでは、回路1において他の回路との不一致が検出され、回路1の論理回路部1に対して回路情報修復部により回路構成情報の修復が行われる。また、状態管理部は、不一致発生回路が読出/書き込みしていた記憶素子を、当該バックアップ記憶素子へ即座に切り替えることで、不一致発生回路を他の正常回路と同等の状態に復元し、再び三重化冗長状態に戻す。この処理で、回路1の記憶素子1がこの時点でのバックアップのための記憶素子に切り替えられる。
【0013】
また、各入出力切替部、各出力切替部は、状態管理部からの指示に従い入出力先や出力先の切り替えを行う。各入出力切替部、各出力切替部により入出力の構成が変更された際のイメージ図を、図2に示す。図2に示すように上述の処理により、不一致発生回路が元々読出/書込みしていた回路1の記憶素子1に対して診断部が多数決情報の上書きを行い、新たなバックアップ記憶素子として利用され、以降発生する間欠故障に備える。
【0014】
以下、三重化冗長回路における復元装置を含むFPGAの一実施形態について説明する。図3は、一実形態におけるFPGAの構成図を示す。図3は、FPGAにおいて間欠故障発生前の初期状態における状態となる。FPGA100は、三重化冗長しておりそれぞれが同じ構成の回路110、120、130と診断部140、間欠故障発生前の初期状態においてバックアップとして使用する記憶素子150、回路情報修復部160、状態管理部170、多数決回路180、記憶素子150用の出力切替部190により構成される。
【0015】
回路110は、論理回路部111、入出力切替部112、記憶素子113、出力切替部114を有する。論理回路部111は、回路110に入力された情報や記憶素子113に格納されている情報に基づき演算処理を行う。入出力切替部112は、第1-1入出力切替部1121から第1-n入出力切替部112nまでの切替部を有する。なお、“n”は1以上の整数とする。以下においても“n”を同じ意味で用いる。記憶素子113は、第1-1内部制御レジスタ1131から第1-n内部制御レジスタ113nまでのレジスタを有し、論理回路部111の演算結果などの情報を保存する。出力切替部114は、第1-1出力切替部1141から第1-n出力切替部114nまでの切替部を有する。間欠故障発生前の初期状態において、入出力切替部112、記憶素子113、出力切替部114は、それぞれの番号に対応する入出力切替部、内部制御レジスタ、出力切替部と接続を有する。例えば、第1-1入出力切替部1121は第1-1内部制御レジスタ1131と接続を有し、第1-1内部制御レジスタ1131は第1-1出力切替部1141と接続を有する。入出力切替部112と出力切替部114は、後述する状態管理部170が有する不一致回路情報172、構成情報173、バックアップ記憶素子情報174を元に、回路動作指示部171から入出力先や出力先の切り替え指示を受けて切り替えを実施する。間欠故障発生前の初期状態では、入出力切替部112は同回路内の記憶素子113へ、出力切替部114は後述する診断部140中の多数決読出部1411~14n1のそれぞれの回路110用のポートへ出力する。入出力切替部112は、記憶素子113、記憶素子123、記憶素子133, 記憶素子150のいずれかに入出力先を切り替えることが可能な構成となっている。出力切替部114は、診断部140中の多数決読出部1411~14n1のそれぞれの回路110用のポート、同部の回路120用のポート、同部の回路130用のポートへの出力が可能な構成となっている。また、出力切替部114は、記憶素子113がバックアップ記憶素子として診断部140から上書きされている際は、何も出力しない状態をとる。
【0016】
三重化冗長構成となる回路120、130においても回路110と同様の構成、動作を行う。
【0017】
診断部140は、三重化冗長構成となる回路110, 120, 130のそれぞれの内部に存在する記憶素子113, 123, 133であって、記憶素子113, 123, 133のそれぞれの内部に存在する、同じ役割のレジスタが格納している情報を多数決比較し、間欠故障発生の監視を行う。また、多数決比較と同時に多数決一致情報を、間欠故障発生前の初期状態においてバックアップとして書き込まれる記憶素子150へ、逐次書き込みを行う。診断部140は、第1レジスタ多数決部141から第nレジスタ多数決部14nまでの記憶素子中のレジスタ数に応じた数の、同一構成の多数決部を有する。例として第1レジスタ多数決部141を取り上げて説明すると、第1レジスタ多数決部141は第1多数決読出部1411と第1出力切替部1412を有する。第1多数決読出部1411は、入力用の3つのポートを有しており、それぞれ回路110用のポート、回路120用のポート、回路130用のポートというように役割が決まっている。第1多数決読出部1411は、間欠故障発生前の初期状態においては、前述した第1出力切替部1141から第1-1内部制御レジスタ1131の格納情報を回路110用のポートで、出力切替部1241から第2-1内部制御レジスタ1231の格納情報を回路120用のポートで、出力切替部1341から第3-1内部制御レジスタ1331の格納情報を回路130用のポートで受け取り、それぞれの情報の多数決比較を行う。次に、第1出力切替部1412は、多数決で一致が取れた情報を第1-1内部制御レジスタ1131, 第2-1内部制御レジスタ1231, 第3-1内部制御レジスタ1331, 第4-1内部制御レジスタ151のいずれか一つへの出力を行う。その際に第1出力切替部1412の出力先は、後述する状態管理部170が有するバックアップ記憶素子情報174により決まるが、間欠故障発生前の初期状態において、第1出力切替部1412は、多数決で一致が取れた情報を記憶素子150の第4-1内部制御レジスタ151へ出力する。
【0018】
記憶素子150は、三重化冗長構成となる回路110, 120, 130それぞれの内部に存在する記憶素子113, 123, 133と同じ構成をとる。また、記憶素子150は、それらと同様に内部に第4-1内部制御レジスタ151から第4-n内部制御レジスタ15nまでのレジスタを有する。記憶素子150には、間欠故障発生前の初期状態において、記憶素子113, 123, 133のバックアップとして、診断部140より逐次書き込みが行われる。間欠故障発生後は、故障発生した回路が有する入出力切替部により読み出し・書き込み先が記憶素子150へ切り替えられ、通常動作を開始する。次に間欠故障が発生した回路で使用されていた記憶素子が新たなバックアップ記憶素子として、診断部140から逐次書き込みがなされる。
【0019】
回路情報修復部160は、既存技術として一般的に知られているメモリスクラビングなどを用いて、間欠故障発生後にソフトエラーによって書き換えられたCRAMの回路情報の復元を行い、論理回路を修復する。
【0020】
状態管理部170は、回路動作指示部171、不一致回路情報172、構成情報173、バックアップ記憶素子情報174を有する。回路動作指示部171は、不一致回路情報172、構成情報173, バックアップ記憶素子情報174から判断し、論理回路部111, 121, 131の動作指示・動作停止指示を行う。また、回路動作指示部171は、各入出力切替部や出力切替部へ入出力先切り替え指示を行う。不一致回路情報172は、診断部140にて不一致が検出された際に生成される、どの回路に不一致が発生したかを示す情報を記憶する。診断部中の多数決読出部1411~14n1が有する3つの入力ポートは、それぞれ回路110用、回路120用、130用といったように区分けされており、それにより不一致がどの回路で発生したかを判別することが可能である。不一致生じた回路に関する情報は、診断部140から状態管理部170へ送信され、不一致回路情報172として保存される。構成情報173は、論理回路部111, 121, 131のそれぞれが記憶素子113, 123, 133, 150のいずれに対して入出力をしているかを示す情報を記憶する。間欠故障発生前の初期状態においては、論理回路部111は記憶素子113へ、論理回路部121は記憶素子123へ、論理回路部131は記憶素子133へ入出力をしているため、その旨を示す情報が予め保存される。バックアップ記憶素子情報174は、バックアップとして診断部140から多数決データを書き込まれる記憶素子が、記憶素子113, 123, 133, 150のいずれであるかを示す情報を記憶する。
【0021】
多数決回路180は、回路110, 120, 130と接続され、回路110, 120, 130からFPGA外部へ信号を送信する際に、それぞれの回路の出力結果が一致するかを確認する。多数決回路180は、一般的にTMR構成時に通常、使用される回路である。
【0022】
次に一例として、間欠故障発生前の初期状態から、回路110に間欠故障が発生した後の構成図を図4に示す。図4は、図3の間欠故障発生前の初期状態の構成図と比較して部品の増減はなく、各入出切替部、出力切替部により回路構成が変更されている旨のみを示す。図4の例では、回路110で間欠故障発生後、回路110が有する入出力切替部112は、初期状態でバックアップとして診断部140から書き込みが行われる記憶素子150へ入出力を切り替える。同様に回路110が有する出力切替部114は出力をしない状態へ切り替わる。診断部140が有するそれぞれの出力切替部1412から14n2は、記憶素子113へ書き込みが行われるよう切り替わる。各入出切替部、出力切替部は、状態管理部170が有する回路動作指示部171により切り替え指示を受ける。回路動作指示部171による当切替指示は、回路動作指示部171が不一致回路情報172、構成情報173、バックアップ記憶素子情報174の情報を元に判断し、実行される。
【0023】
次に、図5を用いて故障発生前における記憶素子のバックアップ方法について説明する。構成情報173は、間欠故障発生前の構成情報を示す。具体的には、論理回路部111は記憶素子113へ、論理回路部121は記憶素子123へ、論理回路部131は記憶素子133へ入出力を行う旨を示す構成情報となる。バックアップ記憶素子情報174は、現在バックアップとして診断部から一致情報の書き込みを受けている記憶素子が、記憶素子113, 123, 133, 150のいずれであるかを示す。具体的には、現在は故障発生前の説明であるため、初期状態では記憶素子150を示す。
【0024】
回路110, 120, 130の動作開始前に、状態管理部170における回路動作指示部171が、構成情報173とバックアップ記憶素子情報174を受け取る(S11)。次に回路動作指示部171は、受け取った情報から判断し、入出力切替部112, 122, 132、出力切替部114, 124, 134, 190、多数決部の第1出力切替部から第n出力切替部までの入出力切替指示を行い(S12)、間欠故障発生前の回路を構成する。論理回路部111, 121, 131が演算に使用する情報の読み出しと書き込みを、入出力切替部112,122,132へ行う(S13)。入出力切替部112,122,132は、状態管理部170の回路動作指示部171により、構成情報173の情報を元にした切り替え指示を受け取り、入出力先が切り替わる。間欠故障発生前の入出力切替部112,122,132は、同じ回路内に存在する記憶素子へ読み出し先/書き込み先を選択する旨の切り替え指示を受け取る(S14)。次に各回路内の記憶素子113, 123, 133から、出力切替部114, 124, 134へ出力を行う(S15)。出力切替部114, 124, 134は、構成情報173として予め格納されている情報から、診断部140中の多数決読出部1411から14n1までの多数決読出部が、それぞれで有する回路110用のポート、回路120用のポート、回路130用のポートへ、切り替え指示通りの出力先へ出力を行う(S16)。多数決読出部1411から14n1が回路110, 120, 130で使用されている記憶素子から情報を受け取った後、多数決読出部1411から14n1で多数決を行い、それぞれで一致が取れている多数決情報を、それぞれの出力切替部1412から14n2へ書き込み指示を行う(S17)。書き込み指示を受け取った出力切替部1412から14n2は、状態管理部170が有するバックアップ記憶素子情報174として保存されている現在バックアップとして書き込みすべき記憶素子へ逐次書き込みを行う(S18)。初期状態では、バックアップ記憶素子情報174は記憶素子150であることを示す情報が格納されており、出力切替部1412から14n2は、当情報に従い記憶素子150へ書き込みを行う。次に記憶素子150はそれに対応している出力切替部190へ、内部のレジスタに格納されている情報の出力を行う(S19)。出力情報を受け取った出力切替部190は、予め回路動作指示部171からの指示により出力をしない状態であるため、受け取った情報に対して何もしない状態を維持する(S110)。
【0025】
次に、図6に示す間欠故障発生後における三重化状態への復元方法の詳細のシーケンス図を用いて、三重化冗長回路における復元装置の動作を説明する。図6は、図5の間欠故障発生前における動作シーケンス図のS110以降に、一例として回路110に間欠故障が発生した場合のシーケンスを示している。図6に示すシーケンスでは、内部に存在する論理回路部111の回路情報を修復するとともに、次に間欠故障発生の際にバックアップとして使用している記憶素子150へ記憶素子の差し替えを行い、三重化状態へ復元するという内容を一例としている。なお、図6では、間欠故障が発生した論理回路部111を含む回路110に対するシーケンス例を示す。
【0026】
論理回路部111に間欠故障が発生する。論理回路部111は、入出力切替部112へ読み出し/書き込みを行う(S21)。入出力切替部112は、予め状態管理部170に格納されている構成情報173に従い、構成情報173の通りの記憶素子へ読み出し/書き込み先を選択する。今回のケースでは、記憶素子113が選択される(S22)。次に記憶素子113は、出力切替部114へ格納情報を出力する(S23)。出力切替部114は、予め状態管理部170に格納されている構成情報173に従い、診断部140中の多数決読出部1411から14n1のそれぞれが有する、回路110用のポートへ出力する(S24)。回路120,130も回路110と同様にS21からS24のシーケンスと同じ動作をすることで、診断部140中の多数決読出部1411~14n1それぞれが有する、回路120, 130用のポートへそれぞれ出力する。多数決読出部1411~14n1は、回路110, 120, 130それぞれの同機能のレジスタ中に格納されている情報を受け取り、多数決を行う。多数決読出部1411~14n1は、その際に多数決がとれた論理値を、出力切替部1412~14n2へ、書き込み指示を行う(S25)。具体的には、第1多数決読出部1411は第1出力切替部1412へ、第n多数決読出部14n1は第n出力切替部14n2へ書込みを行う。出力切替部1412~14n2は、予め状態管理部170に格納されている、現在バックアップとして使用されているバックアップ記憶素子情報174に従い、バックアップ記憶素子へ書き込みを行う(S26)。ここでは、バックアップ記憶素子は、記憶素子150となる。また多数決読出部1411~14n1は、回路110,120,130のレジスタ情報を多数決した際に、回路110の論理値がその他の回路との不一致となることを検出し、状態管理部170の回路動作指示部171へ、どの回路で不一致が発生しているかを示す情報を通知する(S27)。回路動作指示部171は、シーケンスS27にて受け取った情報を不一致回路情報172として保存する(S28)。また、回路動作指示部171は、受取情報から不一致発生回路の動作の停止を指示し(S29)、停止完了後に当回路からその旨の通知を受け取る(S210)。例では、回路動作指示部171は、回路110の論理回路部111に対して停止を指示し(S29)、停止完了後に、論理回路部111からその旨の通知を受け取る(S210)。次に回路動作指示部171は回路情報修復部160へ不一致回路情報の修復指示を行う(S211)。
【0027】
修復指示を受け取った回路情報修復部160は、論理回路部111の修復を行う(S212)。修復完了後は、その旨を論理回路部111から回路動作指示部171へ完了の旨が通知される(S213)。
【0028】
回路動作指示部171は、不一致回路情報172、構成情報173、バックアップ記憶素子情報174の情報を読み込み(S214)、各入出力切替部112, 122, 132、出力切替部114, 124, 134, 190、出力切替部1412~14n2への期待する切替状態を判断する。判断方法としては、構成情報173からは、論理回路部111が出力切替部114と、論理回路部121が出力切替部124と、論理回路部131が出力切替部134と紐づいていることが分かり、不一致回路情報172からは論理回路部111, 121, 131のどれに不一致が発生していることが分かる。まずは不一致回路情報172と構成情報173を組み合わせることで、不一致回路が使用していた記憶素子がどれであるかを特定し、次にバックアップ記憶素子情報174からバックアップ記憶素子を特定し、それらの記憶素子を切り替えるよう判断を行う。回路動作指示部171が上述した判断結果に従い、入出力切替部112, 出力切替部114, 出力切替部1412~14n2, 出力切替部190に対して、切り替え指示を行う(S215)。出力先切り替え指示後、回路動作指示部171は、不一致回路情報172, 構成情報173, バックアップ記憶素子情報174を最新の出力状態にアップデートする(S216)。次に、間欠故障修復された論理回路部111に対して動作開始指示を行う(S217)。
【0029】
その後、論理回路部111は動作を再開し、間欠故障発生前と同様に入出力切替部112へ読み出し/書き込みを実施する(S218)。入出力切替部112は、間欠故障発生前にバックアップとして逐次書き込まれていた記憶素子150へ、入出力先が切り替わっているため、論理回路部111から記憶素子150への読み出し/書き込みを中継する(S219)。記憶素子150は、内部のレジスタに格納されている情報を出力切替部190へ出力する(S220)。出力切替部190は、診断部140が有する多数決読出部1411~14n1へ出力先を選択し、出力を中継する(S221)。多数決読出部1411~14n1は、論理回路部111と紐づいている記憶素子150からの出力情報と、論理回路部121と紐づいている記憶素子123からの出力情報、論理回路部131と紐づいている記憶素子133からの出力情報を受け取り、多数決を実施し、多数決で一致が取れた情報を出力切替部1412~14n2へ出力し、書き込み指示を行う(S222)。出力切替部1412~14n2は、多数決一致情報を、間欠故障発生後に新たなバックアップ記憶素子となる記憶素子113へ出力し、書き込みを行う(S223)。
【0030】
以上のようにして、間欠故障発生後に間欠故障が発生した回路情報を修復し、間欠故障発生回路が読み書きしている記憶素子をバックアップ用記憶素子へ差し替える。また、間欠故障発生後に間欠故障が発生した回路情報を修復する。これらにより、間欠故障が発生した回路を他の正常回路と同等の状態に戻すことができる。また、三重化比較状態に戻すことで更なる信頼性と可用性の向上を実現することができる。
【0031】
図7は、本発明の一実施形態による三重化冗長回路における復元装置の最小構成図を示す図である。三重化冗長回路における復元装置100は少なくとも診断部140と状態管理部170とを備える。診断部140は、三重化冗長モジュールのそれぞれから出力される論理値に対する多数決比較の結果である多数決情報をバックアップとして使用する記憶素子へ書き込む。状態管理部170は、前記多数決比較の結果に不一致が生じた際、不一致が発生したモジュールの使用する記憶素子を、前記バックアップとして使用する記憶素子に切り替えさせる。
【符号の説明】
【0032】
110、120、130 回路
111、121、131 論理回路部
112、122、132 入出力切替部
113、123、133 記憶素子
114、124、134 出力切替部
140 診断部
150 記憶素子
190 出力切替部
160 回路情報修復部
170 状態管理部
171 回路動作指示部
172 不一致回路情報
173 構成情報
174 バックアップ記憶素子情報
図1
図2
図3
図4
図5
図6
図7