(57)【要約】【課題】  ＦＰＧＡ等、プログラミングによって所要の機能を果たす機能装置に関し、継続して機能を維持させることができる機能装置、機能維持方法及び機能維持プログラムを提供する。【解決手段】  複数の機能部（ＦＰＧＡ４０、４１）を備え、障害が発生した機能部から待機中の機能部に切り替えることにより、機能を維持させる。複数の機能部、障害検出部（障害検出回路２６、２８）及び切替部（切替回路１４、１６）を備え、動作中の機能部と、待機中の機能部とを設定する。即ち、障害が発生した機能部を待機中にし、待機中であった機能部を動作させる。従って、機能部に生じた障害によるシステムの動作停止を伴うことなく、継続した機能を維持することができ、機能維持によりシステムの信頼性が高められる。【選択図】        図１
2006053873.tif 000002
【特許請求の範囲】
【請求項１】
書込まれた回路情報により所要の回路機能を果たす複数の機能部と、
動作中の機能部の障害を検出する障害検出部と、
この障害検出部の障害検出により、障害が生じた機能部から待機中の機能部に切り替える切替部と、
を備えることを特徴とする機能装置。
【請求項２】
前記障害が生じた前記機能部の機能を復旧させる機能復旧部を備える構成としたことを特徴とする請求項１記載の機能装置。
【請求項３】
書込まれた回路情報により所要の回路機能を果たす複数の機能部と、
動作中の機能部から待機中の機能部に切り替える切替タイミングを検出する切替タイミング検出部と、
この切替タイミング検出部が検出した前記切替タイミングにより、動作中の前記機能部から待機中の機能部に切り替える切替部と、
を備えることを特徴とする機能装置。
【請求項４】
書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させる処理と、
動作中の前記機能部の障害を検出する処理と、
前記障害の検出により、障害が発生した機能部から待機中の機能部に切り替える処理と、
を含むことを特徴とする機能維持方法。
【請求項５】
書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させるステップと、
動作中の前記機能部に発生した障害を表す情報を取り込むステップと、
障害が発生した機能部から待機中の機能部に切り替えるステップと、
を含み、これらステップをコンピュータに実行させることを特徴とする機能維持プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＰＧＡ（Field Programmable Gate Arrays）等、プログラミングによって所要の機能を果たす機能装置に関し、特に、ソフトウェアエラー等の障害を克服して継続的な機能維持を成し得る機能装置、機能維持方法及び機能維持プログラムに関する。
【背景技術】
【０００２】
ＦＰＧＡは、周知のように、外部から提供されるプログラムによりデバイス内部の回路情報を電気的に書込みが可能であり、その回路情報により所要の回路機能を果たす集積回路装置である。
【０００３】
このようなＦＰＧＡは、回路情報を保持するためのＲＡＭ（Random-Access Memory）を備え、このＲＡＭにはＳＲＡＭ（Static  ＲＡＭ）が用いられている。このＳＲＡＭは、最近の電源電圧の低電圧化、集積回路の微細化に伴い、個々の電荷量が小さくなっているため、ソフトウェアエラーの発生のおそれがある。書き込まれた回路情報がソフトウェアエラー等、何等かの電気的要因で変化すると、ＦＰＧＡの回路動作に異常を来し、正常な機能を復旧させるにはシステムを停止させ、ＦＰＧＡ内部に設置されているＳＲＡＭの記憶内容の修正、即ち、回路情報の再書込みが必要である。
【０００４】
ところで、ＦＰＧＡや、その機能回復に関し、次のような特許文献が存在する。
【特許文献１】特開平９−６２５２８号公報
【特許文献２】特開平８−４４５８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
既述の通り、ＦＰＧＡに書き込まれている回路情報がソフトウェアエラー等、何等かの電気的要因で変化した際に、ＦＰＧＡの機能復旧には、ＳＲＡＭの記憶内容の修正や再書込みが必要となるが、斯かる処理にはシステムの一時停止及び再立上げを余儀なくされる等、これは厄介なことである。
【０００６】
ところで、特許文献１には、機能装置の出荷後、サービス中又は運用中の自己修復を可能にすることが開示されている。即ち、機能装置として例えば、機能部品及びパッケージ装置を並列的に複数系統に亘って設け、それらのうちの１系統を使用し、他系統を障害時のバックアップ系統とし、使用系統に障害が生じたときにはバックアップ系統に機能を代行させている。また、この特許文献１には、機能装置として集積回路装置を用いること、また、集積回路装置としてＦＰＧＡが例示されており、このＦＰＧＡにおいて、障害発生の検出及びその判定、それに基づく機能回復についても開示されている。
【０００７】
しかしながら、特許文献１に開示された自己修復装置では、機能障害を呈した機能部品又はパッケージ装置等が本質的に自己回復をすることができないので、バックアップ系統を使用しているときには障害を呈した系統はバックアップ系統として使用することができないこと、バックアップ系統を１系統しか用意していない場合には、障害発生時、バックアップ系統のない非冗長運転状態となること、また、複数系統のバックアップ系統が存在している場合にも障害を生じると、バックアップ系統が減少してしまうこと、斯かる状態を回避するためには、速やかな修理が必要であることが開示されており、バックアップ系統を備えることの不完全性が指摘されている。
【０００８】
また、この自己修復装置では、機能回路部、障害検出部、内部メモリ、定義処理部等を備え、内部メモリには機能回路部の機能を実現するための機能を定義する複数のレイアウトパターン定義情報が格納され、定義処理部は、障害検出部からの障害領域の判別結果に基づき、内部メモリに格納されたレイアウトパターン定義情報から、障害が発生した分割領域を含まない定義情報に従って機能回路部を再定義する、という構成を以て自己修復による機能回復を実現しているにすぎない。
【０００９】
また、特許文献２は、自己修復機能付き情報処理装置について開示され、複数のＦＰＧＡを備えて構成することにより、障害発生に基づき、ＦＰＧＡを再構成することを開示しているにすぎない。
【００１０】
そこで、本発明は、ＦＰＧＡ等、プログラミングによって所要の機能を果たす機能装置に関し、継続して機能を維持させることができる機能装置、機能維持方法及び機能維持プログラムを提供することを目的としている。
【００１１】
また、本発明の他の目的は、ソフトウェアエラー等の障害発生に対し、動作停止の防止を図ることにある。
【００１２】
また、本発明の他の目的は、ソフトウェアエラー等による障害発生に対し、正常な機能を継続しながら、機能回復を図ることにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明の機能装置の第１の特徴事項は、複数の機能部を備え、障害が発生した機能部から待機中の機能部に切り替えることにより、機能を維持させることである。即ち、複数の機能部、障害検出部及び切替部が備えられている。機能部は、書込まれた回路情報により所要の機能を果たす構成であり、機能部を複数で編成することは、動作中の機能部と、待機中の機能部とを設定することができる。障害検出部は、各機能部のうち、動作中の機能部の障害の発生を検出する。そして、切替部は、障害検出部の障害の検出により、障害が生じた機能部から待機中の機能部に切り替える。即ち、障害が発生した機能部を待機させ、待機中であった機能部を動作させる。従って、機能部に生じた障害によるシステムの動作停止を伴うことなく、継続した機能を維持することができ、機能維持によりシステムの信頼性が高められる。
【００１４】
上記目的を達成するため、本発明の機能装置の第２の特徴事項は、障害を生じた機能部の機能を復旧させることである。即ち、前記障害が生じた前記機能部の機能を復旧させる機能復旧部を備える構成とすれば、前記障害を生じた前記機能部を動作系から外すことにより、機能復旧部により機能を復旧させ、正常な機能を備えた機能部を次の動作に備えて待機させることができる。これにより、継続的且つ正常な機能を維持することが可能である。
【００１５】
上記目的を達成するため、本発明の機能装置の第３の特徴事項は、複数の機能部を備え、定期的に動作中の機能部を動作系から外し、待機中の機能部を動作系に復帰させることにより、機能を維持させることである。即ち、複数の機能部、切替タイミング検出部及び切替部が備えられている。機能部は既述した通り、書込まれた回路情報により所要の機能を果たす構成であり、機能部を複数で編成することは、動作中の機能部と、待機中の機能部とを設定することができる。切替タイミング検出部は、これら機能部のうち、動作中の機能部から待機中の機能部に切り替える切替タイミングを検出する。そして、切替部は、切替タイミング検出部が検出した前記切替タイミングに基づき、動作中の機能部を待機させ、待機中の前記機能部を動作系に復帰させる。従って、システムの動作停止を伴うことなく、複数の機能部を切り替えて動作させるので、継続した機能を維持することができ、また、単一の機能部の継続使用に比較し、システムの信頼性の向上が図られる。
【００１６】
そして、上記目的を達成するため、本発明の機能維持方法は、書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させる処理と、動作中の前記機能部の障害を検出する処理と、前記障害の検出により、障害が発生した機能部から待機中の機能部に切り替える処理とを含む構成である。この機能維持方法は、既述した本発明の機能装置の第１の特徴事項に対応するものである。このような処理によっても、機能部に生じた障害によるシステムの動作停止を伴うことなく、継続した機能を維持することができ、機能維持によりシステムの信頼性が高められるものである。
【００１７】
また、上記目的を達成するため、本発明の機能維持プログラムは、書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させるステップと、動作中の前記機能部に発生した障害を表す情報を取り込むステップと、障害が発生した機能部から待機中の機能部に切り替えるステップとを含み、これらステップをコンピュータに実行させる構成である。斯かるプログラムによっても、機能部に生じた障害によるシステムの動作停止を伴うことなく、継続した機能を維持することができ、機能維持によりシステムの信頼性が高められるものである。
【発明の効果】
【００１８】
本発明によれば、次のような効果が得られる。
【００１９】
(1) 回路情報の書込みにより所要の回路機能を果たす複数の機能部が備えられ、障害が発生した機能部から待機中の機能部に切り替えるので、障害発生によるシステム停止を伴うことなく、継続して機能を維持することができ、システムの信頼性向上を図ることができる。
【００２０】
(2) 障害が発生した機能部の機能を復旧させる構成とすれば、待機中の機能部を正常状態に維持することができ、機能維持の継続性を向上させ、システムの信頼性を高めることができる。
【００２１】
(3) 回路情報の書込みにより所要の回路機能を果たす複数の機能部が備えられ、定期的に動作中の機能部から待機中の機能部に切り替えるので、継続して機能維持を図ることができ、システムの信頼性向上を図ることができる。
【発明を実施するための最良の形態】
【００２２】
第１の実施形態
本発明の第１の実施形態について、図１及び図２を参照して説明する。図１は、本発明の第１の実施形態に係る機能装置を示し、図２は、本発明の第１の実施形態に係る機能維持方法及び機能維持プログラムを示している。
【００２３】
この機能装置２には、プログラミングによって所要の回路機能を果たす複数の機能部として、第１及び第２のＦＰＧＡ（Field Programmable Gate Arrays）４０、４１が設置されている。ここで、ＦＰＧＡ４０、４１は、回路情報を電気的に書き替えることが可能であり、書き込まれた回路情報によって所要の回路機能を果たす、プログラム可能な集積回路装置である。即ち、各ＦＰＧＡ４０、４１には回路情報の書込みが可能な機能記憶部として例えば、ＲＡＭ（Random-Access Memory）５を備えている。また、ＦＰＧＡ４０、４１を含むシステムとしての機能装置２もＦＰＧＡ４０、４１と同様に集積回路装置として構成される。即ち、この機能装置２は、二つのＦＰＧＡ４０、４１からＦＰＧＡの二重化構成であって、これらＦＰＧＡ４０、４１を定期的に一方を動作させ、他方を待機させることにより、また、動作中のものに障害が発生した場合に、それに代わって待機中のものを動作させることにより、継続した機能を実現している。この実施形態では、説明の便宜上、ＦＰＧＡ４０を０系、ＦＰＧＡ４１を１系と称し、機能装置２を含むシステムと協動関係にあるものを動作（ＡＣＴ）系又は動作中、協動関係を外れて待機しているものを待機（ＳＢＹ）系又は待機中と称する。
【００２４】
そこで、この機能装置２では、定期的にＦＰＧＡ４０、４１の一方を動作系、他方を待機系に交互に切り替える構成と、動作系のＦＰＧＡ４０又はＦＰＧＡ４１に障害が発生した場合に、障害が発生した動作系を待機状態に切り替え、待機中であったＦＰＧＡ４０又はＦＰＧＡ４１を動作系に切り替えて機能を継続させる構成とを備えている。
【００２５】
定期的にＦＰＧＡ４０、４１の一方を有効、他方を無効に切り替える構成として、このＦＰＧＡ４０、４１の切替タイミングを検出する切替タイミング検出部として定期切替回路６が設置されている。この定期切替回路６は、タイマー回路８からのクロック信号ＣＫを受けて計時動作により切替タイミングを検出し、切替信号ＳＷを発生する。この切替信号ＳＷについて、ＦＰＧＡ４０、４１を交互に切り替えることから、動作中のＦＰＧＡ４０から待機中のＦＰＧＡ４１に切り替える場合（０→１系切替え）には切替信号ＳＷ01、動作中のＦＰＧＡ４１から待機中のＦＰＧＡ４０に切り替える場合（１→０系切替え）には切替信号ＳＷ10を発生させている。
【００２６】
これら切替信号ＳＷ01、ＳＷ10は、制御部１０のＣＰＵ（Central Processing Unit ）１２、ＦＰＧＡ４０、４１及び切替回路１４、１６に加えられ、切替タイミングの発生を表すとともに、ＦＰＧＡ４０、４１に対してはリセット信号、切替回路１４、１６に対しては切替信号となる。制御部１０は、ＣＰＵ１２、ＲＯＭ（Read-Only Memory）１８、ＲＡＭ（Random-Access Memory）２０等を備えて情報処理を行うコンピュータであって、機能装置２の全システムのシーケンス動作を司る。この場合、ＣＰＵ１２に取り込まれた切替信号ＳＷ01、ＳＷ10の取込み、切替回路１４、１６の切替え状態はＲＡＭ２０に格納される。ＲＯＭ１８には、このような情報処理を実行するためのプログラムが格納されている。
【００２７】
そして、切替回路１４はＦＰＧＡ４０、４１のデータ入力側、切替回路１６はそのデータ出力側に設置されてＦＰＧＡ４０、４１の一方を動作系、他方を待機系に切り替える第１及び第２の切替部を構成している。切替回路１４は、切替信号ＳＷ01又はＳＷ10の到来を契機に入力データＤinをＦＰＧＡ４０又はＦＰＧＡ４１に切り替える。例えば、切替信号ＳＷ01が到来すれば、動作系のＦＰＧＡ４０が待機系となり、待機系のＦＰＧＡ４１が動作系に切り替えられることになり、また、切替信号ＳＷ10が到来すれば、動作系のＦＰＧＡ４１が待機系となり、待機系のＦＰＧＡ４０が動作系に切り替えられることになる。また、切替回路１６は、切替信号ＳＷ01又はＳＷ10の到来を契機に出力データＤout の取出しが切り替えられる。例えば、切替信号ＳＷ01が到来すれば、動作系のＦＰＧＡ４０が待機系となり、待機系のＦＰＧＡ４１が動作系に切り替えられることになり、また、切替信号ＳＷ10が到来すれば、動作系のＦＰＧＡ４１が待機系となり、待機系のＦＰＧＡ４０が動作系に切り替えられることになるので、切替信号ＳＷ01又はＳＷ10の到来を契機に入力データＤin及び出力データＤout の取出しが同時に切り替えられることにより、ＦＰＧＡ４０、４１の何れか一方が動作系又は待機系に切り替えられ、動作系のＦＰＧＡ４０、４１に対して入力データＤinが加えられ、それに対応した出力データＤout の取出しが行われる。
【００２８】
そして、切替回路１４の前段には入力データＤinを保持するデータ保持回路２２が設置され、また、切替回路１６の後段には出力データＤout を保持するデータ保持回路２４が設置されている。これらデータ保持回路２２、２４は、対応するデータを所定時間だけ保持し、時間の経過により、保持しているデータを更新する。即ち、データ保持回路２２には動作系のＦＰＧＡ４０又は４１に切替回路１４を通して加えられる入力データＤINが保持され、データ保持回路２４には動作系のＦＰＧＡ４０又は４１から切替回路１６を通して取り出される出力データＤout が保持される。このようなデータ保持により、既述したＦＰＧＡ４０、４１の切替えによる入力データＤin又は出力データＤout の欠落を防止することができる。
【００２９】
また、ＦＰＧＡ４０、４１の障害発生を契機とする切替えに係る構成として、ＦＰＧＡ４０には障害発生を検出する障害検出部として０系障害検出回路２６、ＦＰＧＡ４１には障害発生を検出する障害検出部として１系障害検出回路２８が設置されている。０系障害検出回路２６は、動作系のＦＰＧＡ４０についての障害を検出し、例えば、ＦＰＧＡ４０の内部に書き込まれた回路情報がソフトウェアエラー等、何らかの電気的要因で生じた動作異常を検出し、障害検出信号を発生する。同様に、１系障害検出回路２８は、動作系のＦＰＧＡ４１についての障害を検出し、例えば、ＦＰＧＡ４１の内部に書き込まれた回路情報がソフトウェアエラー等、何らかの電気的要因で生じた動作異常を検出し、障害検出信号を発生する。
【００３０】
これら０系障害検出回路２６又は１系障害検出回路２８が発生した障害検出信号は、ＣＰＵ１２、ＦＰＧＡ４０、４１及び切替回路１４、１６に加えられており、障害発生を表すとともに、ＦＰＧＡ４０、４１に対してはリセット信号、切替回路１４、１６に対しては切替信号となる。即ち、０系障害検出回路２６が障害を検出した場合には、ＦＰＧＡ４０をリセットして動作系から待機系に切り替えるとともに、切替回路１４、１６を切り替え、入力データＤinを待機系のＦＰＧＡ４１に加え、その出力データＤout を取り出す。また、１系障害検出回路２８が障害を検出した場合には、ＦＰＧＡ４１をリセットして動作系から待機系に切り替えるとともに、同様に、切替回路１４、１６を切り替え、入力データＤinを待機系のＦＰＧＡ４０に加え、その出力データＤout を取り出す。
【００３１】
そして、各ＦＰＧＡ４０、４１に書き込むべき回路情報を格納している記憶部としてConfigＲＯＭ（以下単に「ＲＯＭ」と称する）３０が設置され、このＲＯＭ３０は、各ＦＰＧＡ４０、４１の初期化に用いられるとともに、障害が生じたＦＰＧＡ４０、４１の機能を復旧させる点で機能復旧部、回路情報の再書込みを行う点で再書込み部を構成している。この実施形態では、障害発生又は定期切替えにより待機系のＦＰＧＡ４０、４１に対してＲＯＭ３０から回路情報の再書込みが行われる構成である。
【００３２】
このような構成において、定期切替回路６には、タイマー回路８からのクロック信号ＣＫを基礎として切替信号ＳＷ01、ＳＷ10が形成される。切替信号ＳＷ01、ＳＷ10によって切替回路１４、１６が切り替えられるとともに、切替信号ＳＷ01により、ＦＰＧＡ４０がリセットされて待機系となるとともに、ＦＰＧＡ４１が動作系に切り替えられる。また、切替信号ＳＷ10により、ＦＰＧＡ４１がリセットされて待機系となるとともに、ＦＰＧＡ４０が動作系に切り替えられる。この結果、ＦＰＧＡ４０、４１は選択的に動作系、待機系に切り替えられ、この切替えは、切替信号ＳＷ01、ＳＷ10に設定された所定時間例えば、１２時間毎に実行される。
【００３３】
例えば、ＦＰＧＡ４０が動作系、ＦＰＧＡ４１が待機系にあるものとすれば、ＦＰＧＡ４０に対して入力データＤinが加えられ、そのＦＰＧＡ４０から出力データＤout が取り出される。この場合、入力データＤinはデータ保持回路２２に保持されて切替回路１４を通してＦＰＧＡ４０に加えられ、また、ＦＰＧＡ４０の出力データＤout は、切替回路１６を通してデータ保持回路２４に保持されて出力される。同様に、ＦＰＧＡ４１が動作系、ＦＰＧＡ４０が待機系にあるものとすれば、ＦＰＧＡ４１に対して入力データＤinが加えられ、そのＦＰＧＡ４１から出力データＤout が取り出される。この場合、入力データＤinはデータ保持回路２２に保持されて切替回路１４を通してＦＰＧＡ４１に加えられ、また、ＦＰＧＡ４１の出力データＤout は、切替回路１６を通してデータ保持回路２４に保持されて出力される。
【００３４】
そして、待機系に移行したＦＰＧＡ４０又はＦＰＧＡ４１には、ＲＯＭ３０から回路情報が提供され、コンフィギュレーション処理として回路情報の再書込みが行われた後、待機状態を維持する。
【００３５】
また、このような定期的な切替えに加え、動作中にあるＦＰＧＡ４０に障害が発生し、その障害が０系障害検出回路２６に検出されると、この０系障害検出回路２６から切替信号が出力され、この切替信号によって、ＦＰＧＡ４０がリセットされるとともに、切替回路１４、１６がＦＰＧＡ４１側に切り替えられる。この結果、ＦＰＧＡ４０が待機系、ＦＰＧＡ４１が動作系となり、入力データＤinがＦＰＧＡ４１に加えられ、このＦＰＧＡ４１から出力データＤout が取り出される。
【００３６】
また、動作中にあるＦＰＧＡ４１に障害が発生し、その障害が１系障害検出回路２８に検出されると、この１系障害検出回路２８から切替信号が出力され、この切替信号によって、ＦＰＧＡ４１がリセットされるとともに、切替回路１４、１６がＦＰＧＡ４０側に切り替えられる。この結果、ＦＰＧＡ４１が待機系、ＦＰＧＡ４０が動作系となり、入力データＤinがＦＰＧＡ４０に加えられ、このＦＰＧＡ４０から出力データＤout が取り出される。
【００３７】
そして、障害が発生したことにより、待機系に移行したＦＰＧＡ４０又はＦＰＧＡ４１には、ＲＯＭ３０から回路情報が提供され、コンフィギュレーション処理として回路情報の書込みが行われ、機能回復の後、待機状態を維持する。
【００３８】
このように複数の機能部としてＦＰＧＡ４０、４１を備え、定期的に一方を動作系、他方を待機系に切り替え、待機系のＦＰＧＡ４０又は４１にコンフィギュレーション処理を施し、また、動作系のＦＰＧＡ４０又は４１の障害の発生を監視し、障害が発生したものを待機系に切り替え、待機系のＦＰＧＡ４０又は４１にコンフィギュレーション処理を施して待機させるので、機能の継続的な維持とともに、システムの信頼性が高められる。
【００３９】
次に、この機能装置２の構成を前提に、機能維持方法及び機能維持プログラムについて、図２を参照して説明する。
【００４０】
電源の投入により、機能装置２の全システムを動作状態に移行させ、ＦＰＧＡ４０、４１の初期化処理として、ＦＰＧＡ４０のコンフィギュレーション処理の実行により（ステップＳ１）、この処理の結果、ＦＰＧＡ４０が動作系となる（ステップＳ２）。このＦＰＧＡ４０の動作系への移行を受け、ＦＰＧＡ４１のコンフィギュレーション処理が実行され（ステップＳ３）、この処理の結果、ＦＰＧＡ４１は待機系となる（ステップＳ４）。これらＦＰＧＡ４０、４１のコンフィギュレーション処理は、ＦＰＧＡ４０、４１に対してＲＯＭ３０から回路情報が提供され、内蔵されているＲＡＭ５に対してＲＯＭ３０から読み出した回路情報の書込みが行われる。
【００４１】
これらコンフィギュレーション処理の後、ＦＰＧＡ４０、４１の動作処理として、定期切替回路６の切替信号ＳＷ01又はＳＷ10により、ＦＰＧＡ４０、４１の何れか一方が動作系、他方が待機系に設定される。この結果、動作中のＦＰＧＡ４０又はＦＰＧＡ４１に入力データＤinが加えられ、出力データＤout が動作中のＦＰＧＡ４０又はＦＰＧＡ４１から取り出される。
【００４２】
これら動作系又は待機系にあるＦＰＧＡ４０、４１について、０系障害検出回路２６、１系障害検出回路２８の出力により障害が発生しているか否かの判定が行われる。即ち、ＦＰＧＡ４０に障害が生じているか否かの判定が行われ（ステップＳ５）、ＦＰＧＡ４０に障害が発生していない場合には、ＦＰＧＡ４１に障害が生じているか否かの判定処理が行われる（ステップＳ６）。
【００４３】
ＦＰＧＡ４０、４１の何れにも障害が生じていない場合には、ＦＰＧＡ４０、４１の一方を動作系、他方を待機系にするための定期切替タイミングか否かの判定処理が行われ（ステップＳ７）、この切替タイミングが発生していない場合には、切替タイミングが到来するまで、ステップＳ５ないしステップＳ７の処理を繰り返す。
【００４４】
切替タイミングが到来すると、ＦＰＧＡ４０、４１の両系に障害が発生しているか否かを判定する（ステップＳ８）。ＦＰＧＡ４０、４１の何れかに障害が発生している場合も、ステップＳ８の処理が実行される。そして、両系に障害が発生している場合には、ステップＳ１に戻り、既述の処理を再度実行する。
【００４５】
ＦＰＧＡ４０、４１の何れにも障害が発生していない場合には、ＦＰＧＡ４０、４１のうち、現在何れが動作中であるか否かを判定し（ステップＳ９）、この判定処理により、現在、ＦＰＧＡ４０が動作系にある場合には、ＦＰＧＡ４１が動作系に切り替えられ（ステップＳ１０）、このとき、動作系にあったＦＰＧＡ４０は待機系に切り替えられる。待機系に移行しているＦＰＧＡ４０には、コンフィギュレーション処理が実行され（ステップＳ１１）、ステップＳ５に戻る。この場合、ＦＰＧＡ４０に障害が発生し（ステップＳ５）、待機系に移行している場合にも同様にＦＰＧＡ４０に対してコンフィギュレーション処理が実行される。また、この判定処理（ステップＳ９）により、現在、ＦＰＧＡ４１が動作系にある場合には、ＦＰＧＡ４０が動作系に切り替えられ（ステップＳ１２）、このとき、動作系にあったＦＰＧＡ４１は待機系に切り替えられる。待機系に移行しているＦＰＧＡ４１には、コンフィギュレーション処理が実行され（ステップＳ１３）、ステップＳ５に戻る。この場合、ＦＰＧＡ４１に障害が発生し（ステップＳ６）、待機系に移行している場合にも同様にＦＰＧＡ４１に対してコンフィギュレーション処理が実行されることは言うまでもない。
【００４６】
次に、機能維持方法又は機能維持プログラムに関し、その基本的な動作について、図３を参照して説明する。図３は、障害が発生していない場合の基本動作を示し、ＡはＦＰＧＡ４０側の動作、ＢはＦＰＧＡ４１側の動作を示している。
【００４７】
電源が投入されると、ＦＰＧＡ４０に対するコンフィギュレーション（コンフィグ）処理の後、ＦＰＧＡ４０が動作系（ＡＣＴ）となる。このＦＰＧＡ４０の動作系への移行に伴い、ＦＰＧＡ４１のコンフィギュレーション処理が実行され、ＦＰＧＡ４１は待機系（ＳＢＹ）となる。
【００４８】
このような動作が継続して行われて所定時間が経過すると、定期切替えが実行される。この結果、待機中のＦＰＧＡ４１が動作系（ＡＣＴ）となり、動作系であったＦＰＧＡ４０は、待機系（ＳＢＹ）に移行し、コンフィギュレーション処理の後、その待機状態が維持される。また、この状態から所定時間が経過すると、定期切替えが実行されて、待機中のＦＰＧＡ４０が動作系となり、動作系であったＦＰＧＡ４１は、待機系に移行した後、コンフィギュレーション処理が施され、その待機状態が維持される。このような動作は、電源が解除されるまで実行される。
【００４９】
次に、機能維持方法又は機能維持プログラムに関し、定期切替え前の障害発生に対応する動作について、図４及び図５を参照して説明する。図４は、定期切替え前に０系に障害が発生した場合の動作を示し、ＡはＦＰＧＡ４０側の動作、ＢはＦＰＧＡ４１側の動作を示している。また、図５は、定期切替え前に１系に障害が発生した場合の動作を示し、ＡはＦＰＧＡ４０側の動作、ＢはＦＰＧＡ４１側の動作を示している。
【００５０】
図４に示すように、電源が投入された後の動作は既述の通りである。この場合、定期切替え前に動作中のＦＰＧＡ４０に障害が発生すると、待機中のＦＰＧＡ４１が動作系（ＡＣＴ）に切り替えられ、障害が発生したＦＰＧＡ４０は、待機系（ＳＢＹ）に移行した後、コンフィギュレーション処理が施され、その待機状態が維持される。また、この状態から所定時間が経過すると、定期切替えが実行されて、待機中のＦＰＧＡ４０が動作系（ＡＣＴ）に切り替えられ、動作系になったＦＰＧＡ４１は、コンフィギュレーション処理の後、待機系（ＳＢＹ）となる。このような動作は、電源が解除されるまで実行される。
【００５１】
また、図５に示すように、電源が投入された後の動作は既述の通りである。定期切替え前に待機中のＦＰＧＡ４１に障害が発生すると、障害が発生したＦＰＧＡ４１には再度、コンフィギュレーション処理が実行され、この処理の後、待機状態が維持される。また、この状態から所定時間が経過すると、定期切替えが実行されて、待機中のＦＰＧＡ４１が動作系となり、動作系であったＦＰＧＡ４０は、コンフィギュレーション処理の後、待機系となる。このような動作は、同様に、電源が解除されるまで実行される。
【００５２】
次に、機能維持方法又は機能維持プログラムに関し、０系から１系に定期切替え後の障害発生に対応する動作について、図６及び図７を参照して説明する。図６は、０系から１系に定期切替え後、待機中の０系に障害が発生した場合を示し、ＡはＦＰＧＡ４０側の動作、ＢはＦＰＧＡ４１側の動作を示している。また、図７は、０系から１系に定期切替え後、動作中の１系に障害が発生した場合の動作を示し、ＡはＦＰＧＡ４０側の動作、ＢはＦＰＧＡ４１側の動作を示している。
【００５３】
図６に示すように、電源が投入された後の動作は既述の通りである。０系から１系に定期切替え後、待機中のＦＰＧＡ４０に障害が発生すると、障害が発生したＦＰＧＡ４０には、再度、コンフィギュレーション処理が施され、この処理の後、待機状態が維持される。また、この状態から所定時間が経過すると、定期切替えが実行されて、待機中のＦＰＧＡ４０が動作系となり、動作系であったＦＰＧＡ４１は、コンフィギュレーション処理の後、待機系となる。このような動作は、同様に、電源が解除されるまで実行される。
【００５４】
図７に示すように、電源が投入された後の動作は既述の通りである。０系から１系に定期切替え後、動作中のＦＰＧＡ４１に障害が発生すると、待機中であったＦＰＧＡ４０を動作系に復帰させ、障害が発生したＦＰＧＡ４１は、待機系に移行した後、コンフィギュレーション処理が施されて待機状態が維持される。また、この状態から所定時間が経過すると、定期切替えが実行されて、待機中のＦＰＧＡ４１が動作系となり、動作系であったＦＰＧＡ４０は、コンフィギュレーション処理の後、待機系となる。このような動作は、同様に、電源が解除されるまで実行される。
【００５５】
次に、機能維持方法又は機能維持プログラムに関し、１系から０系に定期切替え後の障害発生に対応する動作について、図８及び図９を参照して説明する。図８は、１系から０系に定期切替え後、０系に障害が発生した場合を示し、ＡはＦＰＧＡ４０側の動作、ＢはＦＰＧＡ４１側の動作を示している。また、図９は、１系から０系に定期切替え後、１系に障害が発生した場合の動作を示し、ＡはＦＰＧＡ４０側の動作、ＢはＦＰＧＡ４１側の動作を示している。
【００５６】
図８に示すように、電源が投入された後の動作は既述の通りである。１系から０系に定期切替え後、動作中のＦＰＧＡ４０に障害が発生すると、待機中であったＦＰＧＡ４１を動作系に復帰させ、障害が発生したＦＰＧＡ４０は、待機系に移行した後、コンフィギュレーション処理が施されて待機状態が維持される。また、この状態から所定時間が経過すると、定期切替えが実行されて、待機中のＦＰＧＡ４０が動作系となり、動作系であったＦＰＧＡ４１は、コンフィギュレーション処理の後、待機系となる。このような動作は、電源が解除されるまで実行される。
【００５７】
図９に示すように、電源が投入された後の動作は既述の通りである。１系から０系に定期切替え後、待機中のＦＰＧＡ４１に障害が発生すると、障害が発生したＦＰＧＡ４１には、再度、コンフィギュレーション処理が施され、この処理の後、待機状態が維持される。また、この状態から所定時間が経過すると、定期切替えが実行されて、待機中のＦＰＧＡ４１が動作系となり、動作系であったＦＰＧＡ４０は、コンフィギュレーション処理の後、待機系となる。このような動作は、同様に、電源が解除されるまで実行される。
【００５８】
次に、これら機能維持方法又は機能維持プログラムに関し、０系及び１系の両系の障害発生に対応する動作について、図１０を参照して説明する。図１０は、０系及び１系の両系に障害が発生した場合を示し、ＡはＦＰＧＡ４０側の動作、ＢはＦＰＧＡ４１側の動作を示している。
【００５９】
電源が投入された後の基本動作は既述の通りである。この場合、例えばＦＰＧＡ４０が動作系、ＦＰＧＡ４１が待機系である場合、０系及び１系の双方に障害が発生すると、動作中であったＦＰＧＡ４０の動作を停止してコンフィギュレーション処理の後、このＦＰＧＡ４０を動作系に設定する。これを受けて、待機中であったＦＰＧＡ４１にコンフィギュレーション処理を施し、再び待機状態に維持される。また、この状態から所定時間が経過すると、定期切替えが実行されて、待機中のＦＰＧＡ４１が動作系となり、動作系であったＦＰＧＡ４０は、コンフィギュレーション処理の後、待機系となる。このような動作は、同様に、電源が解除されるまで実行される。
【００６０】
このような動作シーケンスについて、図１１を参照して説明する。図１１は、機能装置の動作シーケンスを示している。
【００６１】
このシーケンスでは、電源投入（ＰＷ−ＯＮ）及びリセットの状態Ｃ１、ＦＰＧＡ４０の待機状態Ｃ２、ＦＰＧＡ４０の動作状態Ｃ３、ＦＰＧＡ４１の待機状態Ｃ４、ＦＰＧＡ４１の動作状態Ｃ５の各状態を含んでいる。
【００６２】
そこで、電源を投入すると（ＰＷ−ＯＮ）、ＦＰＧＡ４０のコンフィギュレーションの実施後、ＦＰＧＡ４１のコンフィギュレーションが実施され、この電源投入からＦＰＧＡ４０は待機状態Ｃ２に移行する（ステップＳ１０１）。ＦＰＧＡ４０の待機状態Ｃ２では、ＦＰＧＡ４０のコンフィギュレーション処理が実行される。また、ＦＰＧＡ４０は、待機状態Ｃ２から動作状態Ｃ３に移行し（ステップＳ１０２）、この動作状態Ｃ３では、電源投入後の処理、定期切替え時、ＦＰＧＡ４１の障害時、両系の障害時の処理が実行される。ＦＰＧＡ４０が動作状態Ｃ３から待機状態Ｃ２に移行する場合（ステップＳ１０３）では、障害復旧時のコンフィギュレーション処理が実行される。
【００６３】
また、ＦＰＧＡ４０の動作状態Ｃ３から、ＦＰＧＡ４１の待機状態Ｃ４への移行（ステップＳ１０４）は、ＦＰＧＡ４０に障害発生又は定期切替えの場合である。また、ＦＰＧＡ４１の待機状態Ｃ４では、ＦＰＧＡ４１のコンフィギュレーション処理が実行される。また、ＦＰＧＡ４１は、待機状態Ｃ４から動作状態Ｃ５に移行し（ステップＳ１０５）、この動作状態Ｃ５では、電源投入後の処理、定期切替え時、ＦＰＧＡ４０の障害時、両系の障害時の処理が実行される。ＦＰＧＡ４１が動作状態Ｃ５から待機状態Ｃ４に移行する場合（ステップＳ１０６）では、障害復旧時のコンフィギュレーション処理が実行される。ＦＰＧＡ４１の動作状態Ｃ５からＦＰＧＡ４０の待機状態Ｃ２への移行（ステップＳ１０７）は、ＦＰＧＡ４０に障害発生又は定期切替えの場合である。
【００６４】
また、両系に障害が発生した場合には、ＦＰＧＡ４０のコンフィギュレーションの実施後、ＦＰＧＡ４１のコンフィギュレーションを実施し（ステップＳ１０８）、電源解除（ＰＷ−ＯＦＦ）で全ての動作を停止し、状態Ｃ１に戻る（ステップＳ１０９）。
【００６５】
第２の実施形態
本発明の第２の実施形態について、図１２及び図１３を参照して説明する。図１２は、第２の実施形態に係る機能装置を示し、図１３は、第２の実施形態に係る機能維持方法及び機能維持プログラムを示している。
【００６６】
この実施形態に係る機能装置２は、第１の実施形態に係る機能装置２（図１）から障害発生による切替えを除いて構成し、定期的にＦＰＧＡ４０、４１の一方を動作系、他方を待機系に交互に切り替え、待機中のＦＰＧＡ４０又はＦＰＧＡ４１にコンフィグレーション処理を施す構成としたものである。第１の実施形態に係る機能装置２（図１）と同一部分には同一符号を付し、その説明を省略する。
【００６７】
そこで、この機能装置２では、図１３に示すように、定期的なＦＰＧＡ４０、４１の  動作切替え及びコンフィグレーション処理が実行されている。
【００６８】
既述した通り、電源の投入により、機能装置２の全システムが動作状態に移行し、初期化処理として、ＦＰＧＡ４０のコンフィギュレーション処理の実行（ステップＳ２１）の後、初期化されたＦＰＧＡ４０が動作系となる（ステップＳ２２）。この動作系への移行を受け、ＦＰＧＡ４１のコンフィギュレーション処理の実行（ステップＳ２３）の後、ＦＰＧＡ４１は待機系となる（ステップＳ２４）。これらＦＰＧＡ４０、４１のコンフィギュレーション処理は、ＦＰＧＡ４０、４１に対してＲＯＭ３０から提供された回路情報をＲＡＭ５に書き込むことにより行われる。
【００６９】
これらコンフィギュレーション処理の後、ＦＰＧＡ４０、４１の動作処理として、定期切替回路６の切替信号ＳＷ01又はＳＷ10により、ＦＰＧＡ４０、４１の何れか一方が動作系、他方が待機系に設定される。この結果、動作中のＦＰＧＡ４０又は４１に入力データＤinが加えられ、出力データＤout が動作中のＦＰＧＡ４０又は４１から取り出される。
【００７０】
このようにＦＰＧＡ４０が動作系、ＦＰＧＡ４１が待機系に維持されて所要の機能動作が継続すると、定期切替タイミングの到来についての判定が実行される（ステップＳ２５）。そして、切替タイミングが到来すると、ＦＰＧＡ４０、４１のうち、現在何れが動作中であるか否かが判定され（ステップＳ２６）、この判定処理により、現在、ＦＰＧＡ４０が動作系にある場合には、ＦＰＧＡ４１が動作系に切り替えられ（ステップＳ２７）、このとき、動作系にあったＦＰＧＡ４０は、待機系に切り替えられる。待機系に移行しているＦＰＧＡ４０には、コンフィギュレーション処理が実行され（ステップＳ２８）、ステップＳ２５に戻る。
【００７１】
また、判定処理（ステップＳ２６）により、現在、ＦＰＧＡ４１が動作系にある場合には、ＦＰＧＡ４０が動作系に切り替えられ（ステップＳ２９）、待機系に切り替えられたＦＰＧＡ４１には、コンフィギュレーション処理が実行され（ステップＳ３０）、ステップＳ２５に戻る。
【００７２】
このようにＦＰＧＡ４０が動作系となると、ＦＰＧＡ４１は待機系となり、コンフィグレーション処理が実行される。また、次のタイミングでは、動作系にあったＦＰＧＡ４０が待機系に切り替えられてコンフィグレーション処理が実行され、待機系にあったＦＰＧＡ４１が動作系となる。このように動作切替えが所定時間毎に継続的に行われるので、コンフィグレーション処理により機能が保証されたＦＰＧＡ４０、４１が継続的に切り替えられ、機能の信頼性が高められる。
【００７３】
第３の実施形態
本発明の第３の実施形態について、図１４及び図１５を参照して説明する。図１４は、第３の実施形態に係る機能装置を示し、図１５は、第３の実施形態に係る機能維持方法及び機能維持プログラムを示している。
【００７４】
この実施形態に係る機能装置２は、第１の実施形態に係る機能装置２（図１）から定期切替えの構成を除き、障害時の切替えのみとしたものである。即ち、ＦＰＧＡ４０又はＦＰＧＡ４１が動作系にある場合に障害が発生すると、待機中のＦＰＧＡ４０又はＦＰＧＡ４１に切り替え、待機中のＦＰＧＡ４０又はＦＰＧＡ４１にコンフィグレーション処理を施す構成としたものである。第１の実施形態に係る機能装置２（図１）と同一部分には同一符号を付し、その説明を省略する。
【００７５】
そこで、この機能装置２では、図１５に示すように、障害発生時に、ＦＰＧＡ４０、４１の動作切替えとともに、コンフィグレーション処理が実行されている。
【００７６】
既述した通り、電源の投入により、機能装置２の全システムが動作状態に移行し、初期化処理として、ＦＰＧＡ４０のコンフィギュレーション処理の実行（ステップＳ３１）の後、初期化されたＦＰＧＡ４０が動作系となる（ステップＳ３２）。この動作系への移行を受け、ＦＰＧＡ４１のコンフィギュレーション処理の実行（ステップＳ３３）の後、ＦＰＧＡ４１は待機系となる（ステップＳ３４）。これらＦＰＧＡ４０、４１のコンフィギュレーション処理は、ＦＰＧＡ４０、４１に対してＲＯＭ３０から提供された回路情報をＲＡＭ５に書き込むことによって行われる。
【００７７】
これらコンフィギュレーション処理の後、ＦＰＧＡ４０、４１の動作処理として、ＦＰＧＡ４０、４１の何れか一方が動作系、他方が待機系に設定される。この結果、動作中のＦＰＧＡ４０又は４１に入力データＤinが加えられ、出力データＤout が動作中のＦＰＧＡ４０又は４１から取り出される。
【００７８】
これら動作系又は待機系にあるＦＰＧＡ４０、４１について、０系障害検出回路２６、１系障害検出回路２８の出力により障害が発生しているか否かの判定が行われる。この実施形態では、先ず、ＦＰＧＡ４０に障害が生じているか否かの判定が行われ（ステップＳ３５）、ＦＰＧＡ４０に障害が発生した場合には、ＦＰＧＡ４１が動作系に切り替えられ（ステップＳ３６）、待機系に移行したＦＰＧＡ４０にコンフィギュレーション処理が実行され（ステップＳ３７）、ステップＳ３５に戻る。
【００７９】
また、ＦＰＧＡ４０に障害が生じていない場合には、ＦＰＧＡ４１に障害が発生しているか否かの判定が行われ（ステップＳ３８）、ＦＰＧＡ４１に障害が発生した場合には、ＦＰＧＡ４０が動作系に切り替えられ（ステップＳ３９）、待機系に移行したＦＰＧＡ４１にコンフィギュレーション処理が実行され（ステップＳ４０）、ステップＳ３５に戻る。
【００８０】
このように動作系にあるＦＰＧＡ４０に障害が発生すると、ＦＰＧＡ４１が動作系となるとともに、待機系に移行したＦＰＧＡ４０にコンフィグレーション処理が実行され、また、動作系にあるＦＰＧＡ４１に障害が発生すると、ＦＰＧＡ４０が動作系となるとともに、待機系に移行したＦＰＧＡ４１にコンフィグレーション処理が実行される。このように障害が発生すれば待機系が動作系となり、待機系に移行するとともにコンフィグレーション処理により機能が保証されるので、機能の信頼性が高められる。
【００８１】
第４の実施形態
次に、第１の実施形態に係る機能装置の具体的な構成例について、図１６を参照して説明する。図１６は、本発明の第４の実施形態に係る機能装置を示している。この第４の実施形態は、第１の実施形態の入出力データ保持及び切替回路を具体化したものである。第１の実施形態に係る機能装置と同一部分には同一符号を付してある。
【００８２】
この実施形態の機能装置２では、ＦＰＧＡ４０、４１に対する入力データＤinの切替回路１４として、ＡＮＤ回路３２、３４が設置され、ＡＮＤ回路３２はＦＰＧＡ４０、ＡＮＤ回路３４はＦＰＧＡ４１に対応している。ＡＮＤ回路３２とＡＮＤ回路３４とを選択的に信号通過状態に制御するため、ＡＮＤ回路３２の一方の入力にはＮＯＴ回路３６が付加されている。そして、各ＡＮＤ回路３２、３４にはデータ保持回路２２から共通に入力データＤinが加えられているとともに、フリップフロップ（ＦＦ）回路３８の出力Ｑが加えられている。ＦＦ回路３８には、クロック入力ＣＰとして既述の定期切替回路６（図１）から切替信号ＳＷが加えられ、この切替信号ＳＷによって出力Ｑが得られる。出力ＱＮはデータ入力Ｄに加えられている。従って、切替回路１４のＡＮＤ回路３２、３４は切替信号ＳＷに同期して信号通過状態に切り替えられ、データ保持回路２２からの入力データＤinは信号通知状態にあるＡＮＤ回路３２を通してＦＰＧＡ４０に加えられ、また、信号通過状態にあるＡＮＤ回路３４を通してＦＰＧＡ４１に加えられる。この場合、ＦＰＧＡ４０、４１のリセット入力にＦＦ回路３８のＱ出力が用いられており、ＦＰＧＡ４０又はＦＰＧＡ４１はこのリセット入力を受けて待機状態に移行する。
【００８３】
データ保持回路２２にはＦＦ回路５０が用いられており、このＦＦ回路５０には、データ入力Ｄに入力データＤin、クロック入力ＣＰにＯＲ回路５２の出力が加えられている。ＯＲ回路５２にはクロック信号ＣＫ及び既述の定期切替回路６からの切替信号ＳＷが加えられており、その出力には時系列的に加算された出力が得られる。この場合、クロック信号ＣＫには例えば、１００ＭＨｚの連続したパルス信号が用いられる。そこで、ＦＦ回路５０には入力データＤinが保持され、その保持出力が出力ＱによりＡＮＤ回路３２、３４に加えられている。
【００８４】
また、切替回路１６には、２入力から１つの入力を選択して出力する２−１選択回路５４が用いられ、２入力中の０入力側にはＦＰＧＡ４０の出力データＤout 、また、その１入力側にはＦＰＧＡ４１の出力データＤout が加えられている。この選択回路５４の切替入力Ｓには切替信号ＳＷに対応するＦＦ回路３８の出力Ｑが加えられている。従って、切替回路１４のＡＮＤ回路３２、３４と、切替回路１６の選択回路５４とは切替信号ＳＷに同期して選択動作が行われ、ＡＮＤ回路３２を通してＦＰＧＡ４０に入力データＤinが加えられる場合には選択回路５４の出力ＹよりＦＰＧＡ４０の出力データＤout が取り出され、また、ＡＮＤ回路３４を通してＦＰＧＡ４１に入力データＤinが加えられる場合には選択回路５４の出力ＹよりＦＰＧＡ４１の出力データＤout が取り出される。
【００８５】
そして、データ保持回路２４にはＦＦ回路５６が用いられており、このＦＦ回路５６には、データ入力Ｄに選択回路５４から出力データＤout 、クロック入力ＣＰには既述のＯＲ回路５２の出力が加えられている。そこで、ＦＦ回路５６には選択回路５４から得られる出力データＤout が保持され、その保持出力が出力Ｑにより取り出される。
【００８６】
また、ＦＰＧＡ４０には既述の０系障害検出回路２６（図１）、ＦＰＧＡ４１には既述の１系障害検出回路２８（図１）がそれぞれ接続され、ＦＰＧＡ４０、４１に発生する障害が個別に検出される。これら障害検出により、０系障害検出回路２６及び１系障害検出回路２８に発生させた切替信号ＳＷはＦＦ回路３８及びＯＲ回路５２の入力となっている。従って、ＡＮＤ回路３２、３４及び選択回路５４の切替え動作は、定期切替えとは別に障害検出に基づいても同様に行われ、動作系から待機系に移行する際、ＦＰＧＡ４０、４１は、ＦＦ回路３８のＱ出力がリセット入力となり、リセットされる。
【００８７】
このような入出力データの保持について、図１７を参照して説明する。図１７は、入出力データ保持のタイミングチャートを示し、Ａはクロック信号、Ｂは切替信号、ＣはＦＦ回路出力、ＤはＯＲ回路出力、Ｅは他のＦＦ回路出力の一例である。
【００８８】
クロック信号ＣＫの信号幅ｔｗ1 に対し、切替信号ＳＷの信号幅ｔｗ2 が大きく設定されている（図１７のＡ、図１７のＢ）。これは、切替信号ＳＷをクロック信号ＣＫで打ち抜くことができる信号幅とするためである。切替信号ＳＷがＦＦ回路３８のクロック入力ＣＰに加えられると、ＦＦ回路３８のＱ出力は、図１７のＣに示すように、切替信号ＳＷの分周出力が得られる。また、クロック信号ＣＫ及び切替信号ＳＷがＯＲ回路５２に加えられると、ＯＲ回路５２の出力には図１７のＤに示すように、両入力が時系列的に加算されることとなり、切替信号ＳＷの信号幅ｔｗ2 より大きい信号幅ｔｗ3 の出力が得られる。
【００８９】
このＯＲ回路５２の出力がＦＦ回路５０、５６に加えられると、各ＦＦ回路５０、５６のデータ保持動作はクロック入力ＣＰの立上りに同期するので、図１７のＥに示すように、データ保持区間ｔｄｈにおいて、入力データＤinがＦＦ回路５０、出力データＤout がＦＦ回路５６に保持される。
【００９０】
第１ないし第３の実施形態に係る機能装置２は図１６に示す回路によって構成することができ、ＦＰＧＡ４０、４１の定期切替え、ＦＰＧＡ４０、４１の障害発生時の切替え、又は、双方の切替えを行うことができ、システムの停止を避けて継続した機能を実現できるので、システムの信頼性を強化、向上させることができる。
【００９１】
次に、上記実施形態の変形例について、以下に列挙する。
【００９２】
(1) 上記実施形態では、ＦＰＧＡ４０、４１に共通に回路情報を格納した単一のＲＯＭ３０を設置しているが、図１８に示すように、各ＦＰＧＡ４０、４１に個別にＲＯＭ３０を設置してもよい。
【００９３】
(2) 上記実施形態では、複数の機能部としてＦＰＧＡ４０、４１を設置し、１つの動作系に対し、１つの待機系としたが、機能部として３以上のＦＰＧＡを設置し、１つの動作系に対し、複数の待機系を設置してもよい。
【００９４】
(3) 上記実施形態では、ＣＰＵ１２を含む制御部１０をシーケンス制御に用いているが、制御部１０で障害検出に基づくＦＰＧＡ４０、４１の切替え及びコンフィギュレーション処理を行うように構成してもよい。
【００９５】
(4) 上記実施形態では、ＣＰＵ１２を含む制御部１０をシーケンス制御に用いているが、制御部１０でＦＰＧＡ４０、４１の定期的な切替え及びコンフィギュレーション処理を行うように構成してもよい。
【００９６】
次に、以上述べた本発明の機能装置、機能維持方法及び機能維持プログラムの各実施形態から抽出される技術的思想を請求項の記載形式に準じて付記として列挙する。本発明に係る技術的思想は上位概念から下位概念まで、様々なレベルやバリエーションにより把握できるものであり、以下の付記に本発明が限定されるものではない。
【００９７】
（付記１）  書込まれた回路情報により所要の回路機能を果たす複数の機能部と、
動作中の機能部の障害を検出する障害検出部と、
この障害検出部の障害検出により、障害が生じた機能部から待機中の機能部に切り替える切替部と、
を備えることを特徴とする機能装置。
【００９８】
（付記２）  前記障害が生じた前記機能部の機能を復旧させる機能復旧部を備える構成としたことを特徴とする付記１記載の機能装置。
【００９９】
（付記３）  書込まれた回路情報により所要の回路機能を果たす複数の機能部と、
動作中の機能部から待機中の機能部に切り替える切替タイミングを検出する切替タイミング検出部と、
この切替タイミング検出部が検出した前記切替タイミングにより、動作中の前記機能部から待機中の機能部に切り替える切替部と、
を備えることを特徴とする機能装置。
【０１００】
（付記４）  待機中の前記機能部に前記回路情報を再書込みする再書込み部を備える構成としたことを特徴とする付記１記載の機能装置。
【０１０１】
（付記５）  書込まれた回路情報により所要の機能を果たす複数の機能部と、
これら機能部のうち、動作中の機能部の障害を検出する障害検出部と、
前記各機能部のうち、動作中の機能部から待機中の機能部に切り替える切替タイミングを検出する切替タイミング検出部と、
前記切替タイミングが到来した場合には動作中の前記機能部を待機させ、待機中の機能部を動作させ、前記障害の検出により、障害が生じた機能部から待機中の機能部に切り替える切替部と、
を備えることを特徴とする機能装置。
【０１０２】
（付記６）  書込まれた回路情報により所要の機能を果たす複数の機能部と、
前記機能部に加えられる入力データを保持する入力データ保持部と、
この入力データ保持部に保持された前記入力データの前記機能部に対する入力を切り替える入力切替部と、
前記機能部から取り出される出力データの取出しを切り替える出力切替部と、
前記機能部から取り出された前記出力データを保持する出力データ保持部と、
を備えることを特徴とする機能装置。
【０１０３】
（付記７）  動作中の前記機能部の障害を検出する障害検出部を備え、この障害検出部の障害検出に基づき、前記入力切替部又は前記出力切替部の何れか一方又は双方を切り替える構成したことを特徴とする付記６記載の機能装置。
【０１０４】
（付記８）  書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させる処理と、
動作中の前記機能部の障害を検出する処理と、
前記障害の検出により、障害が発生した機能部から待機中の機能部に切り替える処理と、
を含むことを特徴とする機能維持方法。
【０１０５】
（付記９）  前記障害を生じた前記機能部の機能を復旧させる処理を含む構成としたことを特徴とする付記８記載の機能維持方法。
【０１０６】
（付記１０）  書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させる処理と、
これら機能部のうち、動作中の機能部から待機中の機能部に切り替える切替タイミングを検出する処理と、
この切替タイミングに基づき、動作中の前記機能部を待機させ、待機中の機能部を動作させる処理と、
を含むことを特徴とする機能維持方法。
【０１０７】
（付記１１）  書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させる処理と、
動作中の前記機能部の障害を検出する処理と、
動作中の前記機能部から待機中の機能部に切り替える切替タイミングを検出する処理と、
前記切替タイミングが到来した場合には動作中の前記機能部を待機させ、待機中の機能部を動作させ、前記障害の検出により、障害が生じた機能部から待機中の機能部に切り替える処理と、
を備えることを特徴とする機能維持方法。
【０１０８】
（付記１２）  書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させる処理と、
前記機能部に加えられる入力データを保持する処理と、
前記機能部から取り出された出力データを保持する処理と、
を含むことを特徴とする機能維持方法。
【０１０９】
（付記１３）  書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させるステップと、
動作中の前記機能部に発生した障害を表す情報を取り込むステップと、
障害が発生した機能部から待機中の機能部に切り替えるステップと、
を含み、これらステップをコンピュータに実行させることを特徴とする機能維持プログラム。
【０１１０】
（付記１４）  前記障害を生じた前記機能部の機能を復旧させるステップを含む構成としたことを特徴とする付記１３記載の機能維持プログラム。
【０１１１】
（付記１５）  書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させるステップと、
これら機能部のうち、動作中の機能部から待機中の機能部に切り替える切替タイミングを取り込むステップと、
前記切替タイミングに基づき、動作中の前記機能部を待機させ、待機中の機能部を動作させるステップと、
を含み、これらステップをコンピュータに実行させることを特徴とする機能維持プログラム。
【０１１２】
（付記１６）  書込まれた回路情報により所要の機能を果たす複数の機能部から少なくとも１つの機能部を選択して動作させるステップと、
動作中の前記機能部に生じた障害を表す情報を取り込むステップと、
動作中の前記機能部から待機中の機能部に切り替える前記切替タイミングを検出する処理と、
前記切替タイミングが到来した場合には動作中の前記機能部を待機させ、待機中の機能部を動作させ、前記障害の検出により、障害が生じている機能部から待機中の機能部に切り替えるステップと、
を含み、これらステップをコンピュータに実行させることを特徴とする機能維持プログラム。
【０１１３】
以上説明したように、本発明の最も好ましい実施形態等について説明したが、本発明は、上記記載に限定されるものではなく、特許請求の範囲に記載され、又は明細書に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論であり、斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。
【産業上の利用可能性】
【０１１４】
本発明は、回路情報を書き替えることにより所要の回路機能を果たす複数の機能部の少なくとも１つを動作系、その他を待機系にし、定期的に機能部を動作系と待機系とに切り替え、又は動作系のものに障害が発生した場合には待機系のものを動作系にし、待機系に移行したものはコンフィギュレーション処理の実行により、機能を保証ないし復旧させるので、継続的な機能維持が可能となり、システムの信頼性向上等に寄与し、有用である。
【図面の簡単な説明】
【０１１５】
【図１】本発明の第１の実施形態に係る機能装置を示すブロック図である。
【図２】本発明の第１の実施形態に係る機能装置の動作、機能維持方法及び機能維持プログラムを示すフローチャートである。
【図３】機能装置の障害が発生していない場合の基本動作を示す図である。
【図４】定期切替え前の０系障害発生による切替え及びコンフィギュレーションを示す図である。
【図５】定期切替え前の１系障害発生による切替え及びコンフィギュレーションを示す図である。
【図６】定期切替え（０→１系）後の０系障害発生による切替え及びコンフィギュレーションを示す図である。
【図７】定期切替え（０→１系）後の１系障害発生による切替え及びコンフィギュレーションを示す図である。
【図８】定期切替え（０→１系）、定期切替え（１→０系）後の０系障害発生による切替え及びコンフィギュレーションを示す図である。
【図９】定期切替え（０→１系）、定期切替え（１→０系）後の１系障害発生による切替え及びコンフィギュレーションを示す図である。
【図１０】両系障害発生時の切替え及びコンフィギュレーションを示す図である。
【図１１】機能装置の動作シーケンスを示す図である。
【図１２】本発明の第２の実施形態に係る機能装置を示すブロック図である。
【図１３】本発明の第２の実施形態に係る機能装置の動作、機能維持方法及び機能維持プログラムを示すフローチャートである。
【図１４】本発明の第３の実施形態に係る機能装置を示すブロック図である。
【図１５】本発明の第３の実施形態に係る機能装置の動作、機能維持方法及び機能維持プログラムを示すフローチャートである。
【図１６】本発明の第４の実施形態に係る機能装置を示すブロック図である。
【図１７】図１６に示す機能装置の動作を示すタイミングチャートである。
【図１８】機能装置の他の実施形態を示すブロック図である。
【符号の説明】
【０１１６】
１４、１６  切替回路（切替部）
２６  ０系障害検出回路（障害検出部）
２８  １系障害検出回路（障害検出部）
４０  第１のＦＰＧＡ（機能部）
４１  第２のＦＰＧＡ（機能部）
【図１】
2006053873.tif 000003
【図２】
2006053873.tif 000004
【図３】
2006053873.tif 000005
【図４】
2006053873.tif 000006
【図５】
2006053873.tif 000007
【図６】
2006053873.tif 000008
【図７】
2006053873.tif 000009
【図８】
2006053873.tif 000010
【図９】
2006053873.tif 000011
【図１０】
2006053873.tif 000012
【図１１】
2006053873.tif 000013
【図１２】
2006053873.tif 000014
【図１３】
2006053873.tif 000015
【図１４】
2006053873.tif 000016
【図１５】
2006053873.tif 000017
【図１６】
2006053873.tif 000018
【図１７】
2006053873.tif 000019
【図１８】
2006053873.tif 000020
【手続補正書】
【提出日】平成16年12月7日(2004.12.7)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2006053873.tif 000021