(57)【要約】【課題】  プログラマブル・ロジック・デバイスに用いられる構成情報の異常の早期発見による予防保守を実現する。【解決手段】  プログラマブル・ロジック・デバイス１０に備えられたコンフィギュレーション回路２０に、不揮発性メモリ６０からコンフィギュレーションデータＳ４を読み出してユーザ論理の構築を行うコンフィギュレーション用メモリ制御回路２４と、コンフィギュレーション操作完了後に定期的に不揮発性メモリ６０からコンフィギュレーションデータＳ４を読み出してエラーチェックを行うメモリ監視用メモリ制御回路２１を備えた。コンフィギュレーション操作完了後の不揮発性メモリ６０の放置期間における当該不揮発性メモリ６０内のコンフィギュレーションデータＳ４の異常を、次回のコンフィギュレーション操作の実行に先立って早期に発見でき、予防保守が可能になる。【選択図】図１
2006157482.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置から入力される構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
前記記憶装置に格納された前記構成情報を監視する構成情報監視手段と、
を含むことを特徴とするプログラマブル・ロジック・デバイス。
【請求項２】
構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
記憶装置から前記構成情報を読み出して前記主回路部に入力することで前記ユーザ論理を構築する構成情報制御部と、
前記構成情報制御部の一部に設けられ、前記記憶装置に格納された前記構成情報を監視する構成情報監視手段と、
を含むことを特徴とするプログラマブル・ロジック・デバイス。
【請求項３】
記憶装置から読み出された構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
前記ユーザ論理の一部を構成し、前記記憶装置に格納された前記構成情報を監視する構成情報監視論理と、
を含むことを特徴とするプログラマブル・ロジック・デバイス。
【請求項４】
記憶装置から読み出される構成情報に基づいて所望のユーザ論理を可変に構築することが可能なプログラマブル・ロジック・デバイスと、
前記記憶装置と前記プログラマブル・ロジック・デバイスとの間に介在し、前記記憶装置に格納された前記構成情報を監視する構成情報監視デバイスと、
を含むことを特徴とする情報処理装置。
【請求項５】
記憶装置から読み出される構成情報に基づいて所望のユーザ論理を可変に構築することが可能なプログラマブル・ロジック・デバイスの制御方法であって、
前記記憶装置から読み出された構成情報に基づいてユーザ論理を構築する第１工程と、
前記第１工程の実行時以外に前記記憶装置から前記構成情報を読み出して当該構成情報におけるエラーの有無を検証する第２工程と、
を含むことを特徴とするプログラマブル・ロジック・デバイスの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル・ロジック・デバイス、情報処理装置、プログラマブル・ロジック・デバイスの制御技術に関し、特に、書き替え可能な不揮発性メモリ等の記憶装置に格納され、論理構築時に参照されるコンフィギュレーションデータ（構成情報）等の取り扱いに適用して有効な技術に関する。
【背景技術】
【０００２】
近年のコンピュータシステム、ネットワークシステム等における情報処理装置の小型化や開発期間の短縮等の要請に呼応して、ＦＰＧＡ（Field Programmable Gate Array）やＣＰＬＤ（Complex Programmable Logic Device）等に代表されるプログラマブル・ロジック・デバイスが、情報処理装置の回路構成において大きな割合を占めてきている。このため、プログラマブル・ロジック・デバイスの障害が、組み込み対象の情報処理装置における致命的な障害をもたらす懸念がある。
【０００３】
このプログラマブル・ロジック・デバイスは、電源投入時に外部の書き替え可能な不揮発メモリ等から読み込まれる構成情報（コンフィギュレーションデータ）に基づいて、内部の論理回路群の組み合わせや接続関係を任意に定義（コンフィギュレーション）することで、ユーザが望む任意の論理機能をプログラマブルに実現するものである。
【０００４】
従って、このプログラマブル・ロジック・デバイスを用いることにより、情報処理装置の開発初期における様々な論理機能の試作、さらには製品化後の論理機能の増強や変更等が、構成情報を書き替えるだけで簡単かつ迅速に実現できる。このため、情報処理装置の開発期間の短縮、出荷後の稼働現場での機能変更、機能増強等を簡便かつ迅速に実現できる。このように構成情報は、プログラマブル・ロジック・デバイスの論理機能を決定する情報であり、当該構成情報の妥当性のチェックは重要である。
【０００５】
ところが、従来、この構成情報の妥当性のチェックは、当該構成情報を不揮発メモリからプログラマブル・ロジック・デバイス内に読み込んで目的の論理機能に展開するコンフィギュレーション操作時にのみ行われていた。
【０００６】
このため、コンフィギュレーション操作後に、不揮発メモリ内の構成情報に異常が発生しても、次のコンフィギュレーションが行われるまで異常を検出することができない。
この結果、たとえば、電源投入時のコンフィギュレーション操作によってプログラマブル・ロジック・デバイス内に目的のユーザ論理を構築して稼働を開始した後に、不揮発メモリ内の構成情報に予期しない異常が発生すると、次の再起動時には、不揮発メモリから読み込まれる構成情報が異常なためにユーザ論理の再構築に失敗して稼働再開不能に陥る、という技術的課題があった。
【０００７】
たとえば、遠隔保守の下で稼働する通信機器等では、一般に、異常発生時に、自律的な電源の再投入によって稼働を継続する機能が実装される。ところが、このような通信機器に、上述のような技術的課題を持つプログラマブル・ロジック・デバイスが組み込まれていた場合、稼働期間中に不揮発メモリの構成情報に異常が発生すると、再起動による自律的な稼働再開は不可能になり、通信機器全体の大規模な障害に発展する懸念がある。
【０００８】
なお、特許文献１には、ＦＰＧＡの障害時に外部へのデータ出力を抑止する監視手段を設けることで、故障のＦＰＧＡから外部に出力される異常なデータに起因して障害が外部に波及することを阻止する技術が開示されている。しかし、不揮発メモリ内に格納された構成情報自体の異常に起因する上述のような技術的課題は認識されていない。
【特許文献１】特開２０００−１５１３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、プログラマブル・ロジック・デバイスに用いられる構成情報の異常の早期発見による予防保守を実現することが可能な技術を提供することにある。
本発明の他の目的は、既存のプログラマブル・ロジック・デバイスの構成を変更することなく、当該プログラマブル・ロジック・デバイスに用いられる構成情報の異常の早期発見による予防保守を実現することが可能な技術を提供することにある。
【００１０】
本発明の他の目的は、プログラマブル・ロジック・デバイスを含む情報処理装置の動作の信頼性を向上させることが可能な技術を提供することにある。
本発明の他の目的は、構成情報を用いるコンフィギュレーション操作の実行間隔が比較的長い用途におけるプログラマブル・ロジック・デバイスの動作の信頼性を向上させることが可能な技術を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の観点は、記憶装置から入力される構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
前記記憶装置に格納された前記構成情報を監視する構成情報監視手段と、
を含むプログラマブル・ロジック・デバイスを提供する。
【００１２】
本発明の第２の観点は、構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
記憶装置から前記構成情報を読み出して前記主回路部に入力することで前記ユーザ論理を構築する構成情報制御部と、
前記構成情報制御部の一部に設けられ、前記記憶装置に格納された前記構成情報を監視する構成情報監視手段と、
を含むプログラマブル・ロジック・デバイスを提供する。
【００１３】
本発明の第３の観点は、記憶装置から読み出された構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
前記ユーザ論理の一部を構成し、前記記憶装置に格納された前記構成情報を監視する構成情報監視論理と、
を含むプログラマブル・ロジック・デバイスを提供する。
【００１４】
本発明の第４の観点は、記憶装置から読み出される構成情報に基づいて所望のユーザ論理を可変に構築することが可能なプログラマブル・ロジック・デバイスと、
前記記憶装置と前記プログラマブル・ロジック・デバイスとの間に介在し、前記記憶装置に格納された前記構成情報を監視する構成情報監視デバイスと、
を含む情報処理装置を提供する。
【００１５】
本発明の第５の観点は、記憶装置から読み出される構成情報に基づいて所望のユーザ論理を可変に構築することが可能なプログラマブル・ロジック・デバイスの制御方法であって、
前記記憶装置から読み出された構成情報に基づいてユーザ論理を構築する第１工程と、
前記第１工程の実行時以外に前記記憶装置から前記構成情報を読み出して当該構成情報におけるエラーの有無を検証する第２工程と、
を含むプログラマブル・ロジック・デバイスの制御方法を提供する。
【００１６】
上記した本発明によれば、たとえば、不揮発性メモリ等の記憶装置から読み出した構成情報を用いてプログラマブル・ロジック・デバイス内にユーザ論理を構築するコンフィギュレーション操作の実行後に、不揮発性メモリ内の構成情報を定期的または不定期に読み出して監視し、この構成情報や不揮発性メモリにエラーがあると外部にエラーが通知される。
【００１７】
従って、不揮発性メモリ内の構成情報が不正なためにプログラマブル・ロジック・デバイスのコンフィギュレーション操作を実行出来ない状態であることを早期に知ることができる。このため、次のコンフィギュレーション操作が実行される前の早い段階において、不揮発性メモリに対する正しい構成情報の再書き込み、不揮発性メモリの交換などの予防保守が可能となり、プログラマブル・ロジック・デバイスおよびプログラマブル・ロジック・デバイスが組み込まれた情報処理装置の保守性および信頼性の向上が可能となる。
【発明の効果】
【００１８】
本発明によれば、プログラマブル・ロジック・デバイスに用いられる構成情報の異常の早期発見による予防保守を実現することが可能となる。
また、既存のプログラマブル・ロジック・デバイスの構成を変更することなく、当該プログラマブル・ロジック・デバイスに用いられる構成情報の異常の早期発見による予防保守を実現することが可能となる。
【００１９】
また、プログラマブル・ロジック・デバイスを含む情報処理装置の動作の信頼性を向上させることが可能となる。
また、構成情報を用いるコンフィギュレーション操作の実行間隔が比較的長い用途におけるプログラマブル・ロジック・デバイスの動作の信頼性を向上させることが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。以下の説明において、異なる図面間における同一の符号は同一の要素を示している。
図１は、本発明の一実施の形態であるプログラマブル・ロジック・デバイスの制御方法を実施するプログラマブル・ロジック・デバイスの内部構成の一例を示す概念図、図２は、その全体構成の一例を示す概念図、図３は、その作用の一例を示すフローチャートである。
【００２１】
図１および図２に例示されるように、本実施の形態１のプログラマブル・ロジック・デバイス１０は、コンフィギュレーション回路２０、主回路部３０、ユーザ入出力ピン１１、コンフィギュレーション用入出力ピン１２、レジスタ１３を備えている。
【００２２】
主回路部３０は、たとえば、ハードウェアで構成された論理回路群の組み合わせ、および当該論理回路群の接続関係を、外部から設定されるコンフィギュレーションデータに基づいて定義することで、所望のユーザ論理３０ａをプログラマブルに実現する機能を備えている。
【００２３】
ユーザ入出力ピン１１は、主回路部３０に構築されたユーザ論理３０ａが外部との間で情報の入出力を行うために用いられる。コンフィギュレーション用入出力ピン１２は、コンフィギュレーション回路２０が外部の不揮発性メモリ６０にアクセスするために用いられる。
【００２４】
レジスタ１３は、外部からプログラマブル・ロジック・デバイス１０の内部状態を示す情報を読み出したり、外部からプログラマブル・ロジック・デバイス１０の動作を制御するための情報を設定するために用いられる。また、レジスタ１３には、エラーチェック回路２３からのコンフィギュレーションデータエラー信号Ｓ５の入力時に、図示しない上位の外部システムのＣＰＵへの割り込みを行うための割り込み信号Ｓ７、ＬＥＤ表示信号Ｓ８を出力する機能を備えている。ＬＥＤ表示信号Ｓ８は、コンフィギュレーションデータエラー信号Ｓ５の検出時に、外部に設けられた図示しない発光ダイオード（ＬＥＤ）を点灯させる動作を行う。
【００２５】
コンフィギュレーション回路２０は、コンフィギュレーション用入出力ピン１２を介して外部の不揮発性メモリ６０から読み出されるコンフィギュレーションデータＳ４に基づいて、主回路部３０の内部に、所望のユーザ論理３０ａを構築するコンフィギュレーション操作を行う。
【００２６】
不揮発性メモリ６０は、たとえば、一括消去型ＥＥＰＲＯＭ等で構成され、書き替え可能にコンフィギュレーションデータＳ４（構成情報）を保持する。従って、不揮発性メモリ６０に格納されるコンフィギュレーションデータＳ４を書き替えた後、このコンフィギュレーションデータＳ４を読み出してコンフィギュレーション回路２０によるコンフィギュレーション操作を行うことで、主回路部３０には、コンフィギュレーションデータＳ４に対応した任意のユーザ論理３０ａを再構成可能（プログラマブル）に構築することが可能である。
【００２７】
また、プログラマブル・ロジック・デバイス１０の電源が切断されると、主回路部３０に構築されたユーザ論理３０ａは失われる。従って、このユーザ論理３０ａを再構築するためには、再度、不揮発性メモリ６０からコンフィギュレーションデータＳ４を読み出してコンフィギュレーション操作を実行する必要がある。
【００２８】
コンフィギュレーション操作を行うコンフィギュレーション回路２０は、コンフィギュレーション用メモリ制御回路２４、エラーチェック回路２３、回路情報展開回路２５を備えている。
【００２９】
さらに、本実施の形態１の場合には、コンフィギュレーション回路２０は、メモリ監視用メモリ制御回路２１、セレクタ２２を備えている。
セレクタ２２は、メモリ監視用メモリ制御回路２１およびコンフィギュレーション用メモリ制御回路２４のいずれか一方が不揮発性メモリ６０に接続されるように切り換える動作を行う。
【００３０】
コンフィギュレーション用メモリ制御回路２４は、通常のコンフィギュレーション操作時に、アクセス制御信号およびアドレス信号等のコンフィギュレーション時メモリ制御信号Ｓ２をメモリ制御信号Ｓ３（読み出しアドレス情報）として不揮発性メモリ６０に出力することで、コンフィギュレーションデータＳ４を不揮発性メモリ６０から読み出す動作を行う。
【００３１】
回路情報展開回路２５は、不揮発性メモリ６０から読み出されたコンフィギュレーションデータＳ４を、主回路部３０に目的のユーザ論理３０ａを構築するための回路情報に展開して、当該主回路部３０に入力する動作を行う。また、コンフィギュレーション終了時には、コンフィギュレーション終了信号Ｓ６を主回路部３０およびセレクタ２２に出力する。
【００３２】
セレクタ２２は、通常の状態では、コンフィギュレーション時メモリ制御信号Ｓ２を選択する設定となっており、回路情報展開回路２５からのコンフィギュレーション終了信号Ｓ６の入力を契機としてメモリ監視時メモリ制御信号Ｓ１を選択するように動作する。
【００３３】
エラーチェック回路２３は、たとえばＣＲＣチェック回路２３ａを備えており、不揮発性メモリ６０から読み出されたコンフィギュレーションデータＳ４の妥当性（エラーの有無）を、このＣＲＣチェック回路２３ａによって検証し、検証結果をコンフィギュレーションデータエラー信号Ｓ５として、レジスタ１３および主回路部３０に出力する。
【００３４】
メモリ監視用メモリ制御回路２１は、不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４の監視時に、アクセス制御信号およびアドレス信号等のメモリ監視時メモリ制御信号Ｓ１を、メモリ制御信号Ｓ３として不揮発性メモリ６０に出力し、不揮発性メモリ６０からエラーチェック回路２３にコンフィギュレーションデータＳ４を読み出す。
【００３５】
このメモリ監視用メモリ制御回路２１は、タイマ２１ａと制御情報生成回路２１ｂを備えている。タイマ２１ａは、レジスタ１３に外部から予め設定された設定情報に基づいたタイミングや周期で制御情報生成回路２１ｂを起動する。制御情報生成回路２１ｂは、タイマ２１ａによって起動されたタイミングで、不揮発性メモリ６０に対するアクセス制御信号およびアドレス信号信号等のメモリ監視時メモリ制御信号Ｓ１を生成する。
【００３６】
以下、図３のフローチャートを参照して、本実施の形態１のプログラマブル・ロジック・デバイス１０の動作の一例を説明する。
まず、不揮発性メモリ６０には、予め、外部の情報処理システムから、主回路部３０に目的のユーザ論理３０ａを実現するためのコンフィギュレーションデータＳ４が書き込まれている。
【００３７】
また、レジスタ１３には、ＣＰＵバス信号Ｓ１０により、外部のシステムから、不揮発性メモリ６０の定常監視を実行するか否かの情報、および定常監視を実行する場合のタイマ２１ａの動作周期等の情報が設定されている。
【００３８】
この状態で、プログラマブル・ロジック・デバイス１０の電源が投入されると、プログラマブル・ロジック・デバイス１０に設けられたコンフィギュレーション回路２０内のコンフィギュレーション用メモリ制御回路２４は、コンフィギュレーション時メモリ制御信号Ｓ２を生成し、このコンフィギュレーション時メモリ制御信号Ｓ２がセレクタ２２を介してメモリ制御信号Ｓ３として不揮発性メモリ６０に入力される。これにより、不揮発性メモリ６０に格納されているコンフィギュレーションデータＳ４が回路情報展開回路２５およびエラーチェック回路２３に読み出される（ステップ１０１）。
【００３９】
この時、回路情報展開回路２５におけるコンフィギュレーションデータＳ４の回路情報への展開操作（ステップ１０３）と並行して、エラーチェック回路２３では、不揮発性メモリ６０から読み出されたコンフィギュレーションデータＳ４のＣＲＣ（巡回冗長符号）チェックが実行される（ステップ１０２）。そして、このＣＲＣチェックでエラーが検出された場合には、コンフィギュレーションデータエラー信号Ｓ５が回路情報展開回路２５、主回路部３０、レジスタ１３に出力され、レジスタ１３から外部のシステムには、ユーザ入出力ピン１１を介して、割り込み信号Ｓ７、ＬＥＤ表示信号Ｓ８が出力されて（ステップ１０４）、エラー発生が外部に通知される。
【００４０】
このエラー発生の場合には、必要に応じて、不揮発性メモリ６０からのコンフィギュレーションデータＳ４の再読み出しが行われる。
こうして、コンフィギュレーションデータＳ４の回路情報への展開および主回路部３０への入力が完了すると（ステップ１０３）、コンフィギュレーション終了信号Ｓ６が主回路部３０およびセレクタ２２に出力され、コンフィギュレーションデータＳ４に対応して主回路部３０に構築されたユーザ論理３０ａが起動されて動作する。そして、たとえば、ユーザ入出力ピン１１を用いて、ユーザ論理３０ａがデータの入出力を行うことにより、所定の情報処理が開始される。
【００４１】
ここで、従来では、一旦、主回路部３０に構築されたユーザ論理３０ａが稼働を開始すると、次のコンフィギュレーション操作が必要となるまで、プログラマブル・ロジック・デバイス１０から不揮発性メモリ６０へのアクセスは発生しない。
【００４２】
一方、本実施の形態の場合には、以下のようにして不揮発性メモリ６０に格納されているコンフィギュレーションデータＳ４の監視を行う。
すなわち、上述のようなステップ１０１〜ステップ１０３のコンフィギュレーション操作の完了を契機としてコンフィギュレーション終了信号Ｓ６が入力されたセレクタ２２では、メモリ制御信号Ｓ３として、メモリ監視用メモリ制御回路２１のメモリ監視時メモリ制御信号Ｓ１を選択するように切り換え動作が行われる。
【００４３】
そして、メモリ監視用メモリ制御回路２１では、レジスタ１３に対する外部システムからの設定情報を参照して、不揮発性メモリ６０の監視を行うか否かを判別する（ステップ１０５）。
【００４４】
そして、不揮発性メモリ６０の監視を行う場合には、メモリ監視用メモリ制御回路２１では、タイマ２１ａが、レジスタ１３から入力されるタイマ設定信号Ｓ９によって設定された周期で（ステップ１０６）、制御情報生成回路２１ｂを起動してコンフィギュレーション時メモリ制御信号Ｓ２をメモリ制御信号Ｓ３として不揮発性メモリ６０に入力することで、コンフィギュレーションデータＳ４をエラーチェック回路２３に読み出す（ステップ１０７）。そして、エラーチェック回路２３において、不揮発性メモリ６０から読み出されたコンフィギュレーションデータＳ４のＣＲＣチェックを実行することで、不揮発性メモリ６０に格納されているコンフィギュレーションデータＳ４の正当性の監視を行う（ステップ１０８）。
【００４５】
そして、不揮発性メモリ６０から読み出されたコンフィギュレーションデータＳ４からエラーが検出された場合には、レジスタ１３から割り込み信号Ｓ７を上位のＣＰＵに出力してエラー通知を行うとともに、図示しないＬＥＤを点灯させて不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４の異常発生を、システム管理者に知らせる（ステップ１０９）。
【００４６】
このエラーの通知を受けたシステム管理者は、不揮発性メモリ６０の保守点検や交換を行うとともに、以降のコンフィギュレーション操作の実行に備えて、正常なコンフィギュレーションデータＳ４を不揮発性メモリ６０に上書きして、コンフィギュレーションデータＳ４のエラーを事前に解消する予防保守を行う。
【００４７】
このように、本実施の形態１では、不揮発性メモリ６０から読み出されたコンフィギュレーションデータＳ４を回路情報に展開して主回路部３０に入力することで、当該主回路部３０に所望のユーザ論理３０ａを構築する通常のコンフィギュレーション操作の完了後に、コンフィギュレーション回路２０に設けられたメモリ監視用メモリ制御回路２１から定期的に不揮発性メモリ６０にアクセスして、不揮発性メモリ６０内に格納されたコンフィギュレーションデータＳ４をエラーチェック回路２３に読み出してエラーチェックを行う。
【００４８】
このため、最初のコンフィギュレーション操作から、次のコンフィギュレーション操作が実行されるまでの間放置されている不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４の異常の発生を早期に検出でき、不揮発性メモリ６０の交換や正常なコンフィギュレーションデータＳ４の上書き等によるエラー回復を行うことで、予防保守が可能となる。
【００４９】
なお、この不揮発性メモリ６０および当該不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４の予防保守は、正常動作中のプログラマブル・ロジック・デバイス１０のユーザ論理３０ａの動作には全く影響せず、ユーザ論理３０ａの動作を停止させることなく実行可能である。
【００５０】
たとえば、主回路部３０に構築されたユーザ論理３０ａが長期間の連続稼働を行う用途では、最初のコンフィギュレーション操作から、次のコンフィギュレーション操作が実行されるまでの長期間、コンフィギュレーションデータＳ４が格納された不揮発性メモリ６０が放置されることとなり、不揮発性メモリ６０の内部に格納されているコンフィギュレーションデータＳ４にエラーを生じる確率も高くなる。
【００５１】
そして、不揮発性メモリ６０内のコンフィギュレーションデータＳ４にエラーが生じた状態のままで、プログラマブル・ロジック・デバイス１０で再びコンフィギュレーション操作が実行されると、エラーのコンフィギュレーションデータＳ４を用いたコンフィギュレーション操作が失敗し、プログラマブル・ロジック・デバイス１０が動作不能に陥って、当該プログラマブル・ロジック・デバイス１０が組み込まれたシステム全体がダウンする等の大規模障害に発展する懸念がある。
【００５２】
これに対して、本実施の形態１の場合には、このような最初のコンフィギュレーション操作から、次のコンフィギュレーション操作が実行されるまでの期間が長い用途でも、不揮発性メモリ６０が放置される期間内に、不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４の定期的なチェックによる予防保守が行われるので、プログラマブル・ロジック・デバイス１０の起動不能が原因の大規模障害を予防することが可能になる。
【００５３】
特に、最近では、プログラマブル・ロジック・デバイス１０はあらゆる情報処理システムに広範に普及している。そして、たとえば通信システムのように高い信頼性にて長期間の連続稼働を前提とするシステムでは、コンフィギュレーション操作の実行間隔、すなわちコンフィギュレーションデータＳ４が格納された不揮発性メモリ６０の放置期間が長くなる傾向にある。また、コンフィギュレーション操作が必要な時には確実に実行される必要がある。従って、コンフィギュレーション操作時以外の長い放置期間内に、随時、不揮発性メモリ６０に格納されたコンフィギュレーションデータのエラー検証を行う本実施の形態１の技術は、予防保守に極めて有効である。
【００５４】
図４は、本発明の他の実施の形態であるプログラマブル・ロジック・デバイスの制御方法を実施するプログラマブル・ロジック・デバイスの構成の一例を示すブロック図、図５は、その全体構成の一例を示す概念図である。
【００５５】
この実施の形態２では、プログラマブル・ロジック・デバイス１０に備えられた主回路部３０にプログラマブルに構築されるユーザ論理３０ａの一部として、不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４の監視を行う機能を備えたメモリ監視回路４０を実装した場合について説明する。
【００５６】
すなわち、本実施の形態２のプログラマブル・ロジック・デバイス１０Ａは、コンフィギュレーション操作にてユーザ論理３０ａが可変に構築される主回路部３０と、このコンフィギュレーション操作を実行するコンフィギュレーション回路２０Ａを備えている。
【００５７】
このコンフィギュレーション回路２０Ａは、上述の実施の形態１で例示したメモリ監視用メモリ制御回路２１、セレクタ２２等の機能を持たない、従来の回路をそのまま用いることができる。すなわち、本実施の形態２では、ハードウェアとしてのプログラマブル・ロジック・デバイス１０Ａは、従来のものをそのまま用いることができる。
【００５８】
主回路部３０にユーザ論理３０ａの一部として実装されるメモリ監視回路４０は、メモリ制御回路４１、セレクタ４２、およびエラーチェック回路４３を含んでいる。
メモリ制御回路４１は、タイマ４１ａ、制御情報生成回路４１ｂを含んでいる。
エラーチェック回路４３は、ＣＲＣチェック回路４３ａを含んでいる。
【００５９】
ここで、メモリ制御回路４１、セレクタ４２、およびエラーチェック回路４３は、上述の実施の形態１において例示したメモリ監視用メモリ制御回路２１、セレクタ２２、およびエラーチェック回路２３と等価な動作を行うように構成されている。従って、メモリ制御回路４１、セレクタ４２、およびエラーチェック回路４３に関する重複した説明は割愛する。
【００６０】
このメモリ監視回路４０の全体は、不揮発性メモリ６０に格納されるメモリ監視回路構成情報４０ａをコンフィギュレーションデータＳ４としてコンフィギュレーション回路２０Ａが読み込むことで、主回路部３０のユーザ論理３０ａの一部としてプログラマブルに構築される。
【００６１】
また、図５の例では、メモリ監視回路４０による不揮発性メモリ６０へのアクセスは、ユーザ入出力ピン１１の一部のユーザ入出力ピン１１ａを用いて行われる場合が例示されている。
【００６２】
なお、本実施の形態２の場合、不揮発性メモリ６０に格納された、メモリ監視回路構成情報４０ａ（コンフィギュレーションデータＳ４）自体も、メモリ監視回路４０の監視対象となる。
【００６３】
以下、この実施の形態２の作用の一例について説明する。まず、プログラマブル・ロジック・デバイス１０Ａにおける最初のコンフィギュレーション操作では、コンフィギュレーション回路２０Ａから出力されるコンフィギュレーション時メモリ制御信号Ｓ２（読み出しアドレス）がセレクタ４２にて選択されている。そして、このコンフィギュレーション時メモリ制御信号Ｓ２を不揮発性メモリ６０に入力することでメモリ監視回路構成情報４０ａを含むコンフィギュレーションデータＳ４がコンフィギュレーション回路２０Ａに読み込まれ、回路情報に展開されて主回路部３０に入力されることで、主回路部３０には、メモリ監視回路４０を含むユーザ論理３０ａが構築される。
【００６４】
このコンフィギュレーション操作が完了すると、コンフィギュレーション回路２０Ａからセレクタ４２に出力されるコンフィギュレーション終了信号Ｓ６によって、セレクタ４２は、メモリ監視回路４０のメモリ監視時メモリ制御信号Ｓ１をメモリ制御信号Ｓ３として選択する状態となる。
【００６５】
また、主回路部３０では、ユーザ論理３０ａが起動され、その一部であるメモリ監視回路４０も動作を開始する。
すなわち、メモリ監視回路４０のメモリ制御回路４１およびエラーチェック回路４３は、上述の図３のフローチャートにおけるステップ１０５〜ステップ１０９の処理を実行することで、ユーザ論理３０ａの他の機能の稼働中に並行して、定期的に不揮発性メモリ６０からメモリ監視回路構成情報４０ａを含むコンフィギュレーションデータＳ４を読み出してエラーの有無をチェックする動作を行う。
【００６６】
なお、この実施の形態２の場合、不揮発性メモリ６０におけるエラーが通知されたユーザは、レジスタ１３を介して、メモリ制御回路４１の機能を停止させ、メモリ監視回路４０から不揮発性メモリ６０へのアクセスが発生しないようにした後に、不揮発性メモリ６０の保守を行うことで、ユーザ論理３０ａにおけるメモリ監視回路４０以外の論理機能の稼働を停止させることなく、保守作業を行うことが可能である。
【００６７】
これにより、本実施の形態２の場合には、上述の実施の形態１と同様の効果が得られる。
さらに、本実施の形態２の場合には、既存のプログラマブル・ロジック・デバイス１０Ａのハードウェアをそのまま用いて、プログラマブル・ロジック・デバイス１０Ａ内の主回路部３０に構築されるユーザ論理３０ａの一部としてメモリ監視回路４０を実現する。このため、特別なハードウェア回路を全く必要とせず、低コストにて、不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４の予防保守を実現できる。
【００６８】
図６は、本発明のさらに他の実施の形態であるプログラマブル・ロジック・デバイスの制御方法を実施する情報処理装置の構成の一例を示すブロック図である。
この実施の形態３では、プログラマブル・ロジック・デバイス１０Ｂと、このプログラマブル・ロジック・デバイス１０Ｂが使用するコンフィギュレーションデータが格納される不揮発性メモリ６０との間に、エラー監視デバイス５０を配置した例を示す。
【００６９】
すなわち、本実施の形態３の情報処理装置は、プログラマブル・ロジック・デバイス１０Ｂと、不揮発性メモリ６０と、エラー監視デバイス５０を含んでいる。
このエラー監視デバイス５０は、不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４を読み出して回路情報に展開してプログラマブル・ロジック・デバイス１０Ｂに入力することで、プログラマブル・ロジック・デバイス１０Ｂ内の図示しない主回路部にユーザ論理を構築するコンフィギュレーション操作を行う。さらに、エラー監視デバイス５０は、不揮発性メモリ６０に格納されたコンフィギュレーションデータを監視する動作を行う。
【００７０】
エラー監視デバイス５０は、メモリ監視用メモリ制御回路５１、セレクタ５２、エラーチェック回路５３、コンフィギュレーション用メモリ制御回路５４、データ処理部５５、およびレジスタ５６を含んでいる。
【００７１】
このエラー監視デバイス５０を構成するメモリ監視用メモリ制御回路５１、セレクタ５２、エラーチェック回路５３、コンフィギュレーション用メモリ制御回路５４、およびレジスタ５６の各々は、上述の実施の形態１におけるメモリ監視用メモリ制御回路２１、セレクタ２２、エラーチェック回路２３、コンフィギュレーション用メモリ制御回路２４、レジスタ１３、の各々と対応した等価な機能を備えている。従ってこれらの要素に関する重複した説明は割愛する。
【００７２】
データ処理部５５は、上述の回路情報展開回路２５に対応した等価な機能を備えているが、セレクタ５２の選択動作を制御するコンフィギュレーション終了信号Ｓ６は、プログラマブル・ロジック・デバイス１０Ｂの側から得られるようになっている。
【００７３】
以下、この実施の形態３の情報処理装置の作用の一例について説明する。
まず、通常のコンフィギュレーション操作時は、セレクタ５２ではコンフィギュレーション用メモリ制御回路５４から出力されるコンフィギュレーション時メモリ制御信号Ｓ２が、メモリ制御信号Ｓ３として選択されており、このメモリ制御信号Ｓ３を読み出しアドレス信号として不揮発性メモリ６０に入力することで不揮発性メモリ６０に格納されているコンフィギュレーションデータＳ４がデータ処理部５５およびエラーチェック回路５３に読み出され、エラーチェック回路５３によるエラーチェックを行いつつ、回路情報に展開してプログラマブル・ロジック・デバイス１０Ｂに入力することで、プログラマブル・ロジック・デバイス１０Ｂ内の主回路部にユーザ論理を構築する。
【００７４】
そして、このユーザ論理のコンフィギュレーション操作が完了すると、プログラマブル・ロジック・デバイス１０Ｂからコンフィギュレーション終了信号Ｓ６がセレクタ５２に出力され、メモリ監視時メモリ制御信号Ｓ１がメモリ制御信号Ｓ３として選択される。
【００７５】
そして、このコンフィギュレーション操作の完了後、メモリ監視用メモリ制御回路５１のタイマ５１ａは、レジスタ５６に設定された周期で、制御情報生成回路５１ｂを起動する。起動された制御情報生成回路５１ｂは、メモリ監視時メモリ制御信号Ｓ１を出力し、このメモリ監視時メモリ制御信号Ｓ１は、セレクタ５２を介してメモリ制御信号Ｓ３として不揮発性メモリ６０に入力され、不揮発性メモリ６０に格納されているコンフィギュレーションデータＳ４がエラーチェック回路５３に読み出されてエラーの有無がチェックされる。このエラーのチェック結果は、レジスタ５６を介して、上位のシステムのＣＰＵおよびシステム管理者に通知される。
【００７６】
そして、エラーチェック回路５３においてコンフィギュレーションデータＳ４のエラーが検出された場合には、次回のコンフィギュレーション操作に備えて、不揮発性メモリ６０の交換およびコンフィギュレーションデータＳ４の書き込みや、不揮発性メモリ６０に格納されているコンフィギュレーションデータＳ４の正常データによる上書き等の予防保守を行う。
【００７７】
このように、本実施の形態３においても、コンフィギュレーション操作の実行時以外に、随時、不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４のエラーチェックを実行することで、不揮発性メモリ６０に格納されているコンフィギュレーションデータＳ４の正当性を常に維持することが可能になる。
従って、不揮発性メモリ６０のエラーおよび不揮発性メモリ６０に格納されたコンフィギュレーションデータＳ４のエラー等に起因するプログラマブル・ロジック・デバイス１０Ｂのコンフィギュレーション操作の失敗を確実に防止できる。
【００７８】
この結果、プログラマブル・ロジック・デバイス１０Ｂが組み込まれた情報処理システムの重大な障害を確実に予防することが可能になる。
以上説明した様に、本発明の各実施の形態によれば、不揮発性メモリ６０に格納されたコンフィギュレーションデータを読み出してプログラマブルにユーザ論り構築を行うプログラマブル・ロジック・デバイスにおいて、コンフィギュレーション操作の実行完了後も、定常的に不揮発性メモリ６０のコンフィギュレーションデータＳ４にアクセスしてエラーチェックを行う。このため、不揮発性メモリ６０に格納されたコンフィギュレーションデータの異常を、将来の再コンフィギュレーション操作の実行に先立って発見することが可能となる。
【００７９】
この結果、不揮発性メモリ６０に格納されたコンフィギュレーションデータの障害に起因して、プログラマブル・ロジック・デバイスの再コンフィギュレーション操作が不可能な状態であることを早期に発見できるめため、プログラマブル・ロジック・デバイスおよびそれを含む情報処理システムの信頼性および保守性の向上に寄与するところが大きい。
【００８０】
なお、本発明は、上述の実施の形態に例示した構成に限らず、その趣旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
たとえば、上述の各実施の形態では不揮発性メモリ６０をプログラマブル・ロジック・デバイス１０の外部に配置した例を示したが、不揮発性メモリ６０がプログラマブル・ロジック・デバイス１０の内部に一体に内蔵された構成の場合にも適用することができる。
【００８１】
（付記１）
記憶装置から入力される構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
前記記憶装置に格納された前記構成情報を監視する構成情報監視手段と、
を含むことを特徴とするプログラマブル・ロジック・デバイス。
【００８２】
（付記２）
付記１記載のプログラマブル・ロジック・デバイスにおいて、
前記構成情報監視手段は、
前記記憶装置から前記構成情報を読み出す読出制御手段と、前記主回路部に対する前記ユーザ論理の構築時以外に前記記憶装置から前記構成情報を読み出す契機を前記読出制御手段に与える読出契機制御手段と、前記記憶装置から読み出された前記構成情報のエラーを検出するエラー検証手段と、を含むことを特徴とするプログラマブル・ロジック・デバイス。
【００８３】
（付記３）
構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
記憶装置から前記構成情報を読み出して前記主回路部に入力することで前記ユーザ論理を構築する構成情報制御部と、
前記構成情報制御部の一部に設けられ、前記記憶装置に格納された前記構成情報を監視する構成情報監視手段と、
を含むことを特徴とするプログラマブル・ロジック・デバイス。
【００８４】
（付記４）
付記３記載のプログラマブル・ロジック・デバイスにおいて、
前記構成情報制御部は、前記ユーザ論理の構築時に前記記憶装置から前記構成情報を読み出すための第１読出制御手段と、前記記憶装置から読み出された前記構成情報を検証するためのエラー検証手段とを含み、
前記構成情報監視手段は、前記記憶装置から前記構成情報を読み出すための第２読出制御手段と、前記ユーザ論理の構築時以外に前記記憶装置から前記構成情報を読み出す契機を前記第２読出制御手段に与える読出契機制御手段と、前記記憶装置から読み出された前記構成情報を、前記エラー検証手段を用いて検証する機能と、を含むことを特徴とするプログラマブル・ロジック・デバイス。
【００８５】
（付記５）
付記３記載のプログラマブル・ロジック・デバイスにおいて、
前記構成情報監視手段の動作を制御するための情報の外部からの設定、および前記構成情報監視手段による監視結果の情報の外部への出力、を行う外部インターフェイスをさらに含むことを特徴とするプログラマブル・ロジック・デバイス。
【００８６】
（付記６）
構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
記憶装置から前記構成情報を読み出して前記主回路部に入力することで前記ユーザ論理を構築する構成情報制御部と、を含み、
前記構成情報制御部は、
前記ユーザ論理の構築時に前記記憶装置から前記構成情報を読み出すためのコンフィギュレーション用メモリ制御回路と、
前記ユーザ論理の構築時以外に前記記憶装置から前記構成情報を読み出すためのメモリ監視用メモリ制御回路と、
前記コンフィギュレーション用メモリ制御回路および前記メモリ監視用メモリ制御回路のいずれか一方を前記記憶装置に接続するセレクタと、
前記コンフィギュレーション用メモリ制御回路または前記メモリ監視用メモリ制御回路によって前記記憶装置から読み出された前記構成情報を検証するためのエラー検証手段と、
を含むことを特徴とするプログラマブル・ロジック・デバイス。
【００８７】
（付記７）
付記６記載のプログラマブル・ロジック・デバイスにおいて、
前記メモリ監視用メモリ制御回路は、前記記憶装置にアクセスするための情報を生成する制御情報生成回路と、前記制御情報生成回路に対して前記記憶装置へのアクセス契機を与えるタイマと、を含むことを特徴とするプログラマブル・ロジック・デバイス。
【００８８】
（付記８）
付記６記載のプログラマブル・ロジック・デバイスにおいて、
前記メモリ監視用メモリ制御回路の動作を制御するための情報の外部からの設定、および前記構成情報監視手段による監視結果の情報の外部への出力、を行う外部インターフェイスをさらに含むことを特徴とするプログラマブル・ロジック・デバイス。
【００８９】
（付記９）
記憶装置から読み出された構成情報に基づいて所望のユーザ論理を可変に構築することが可能な主回路部と、
前記ユーザ論理の一部を構成し、前記記憶装置に格納された前記構成情報を監視する構成情報監視論理と、
を含むことを特徴とするプログラマブル・ロジック・デバイス。
【００９０】
（付記１０）
付記９記載のプログラマブル・ロジック・デバイスにおいて、
前記構成情報監視論理は、前記ユーザ論理の構築時以外のタイミングで前記記憶装置から前記構成情報を読み出す機能と、当該構成情報のエラーの有無を検出する機能と、を含むことを特徴とするプログラマブル・ロジック・デバイス。
【００９１】
（付記１１）
付記９記載のプログラマブル・ロジック・デバイスにおいて、
前記構成情報監視論理の動作を制御するための情報の外部からの設定、および前記構成情報監視論理による監視結果の情報の外部への出力、を行う外部インターフェイスをさらに含むことを特徴とするプログラマブル・ロジック・デバイス。
【００９２】
（付記１２）
記憶装置から読み出される構成情報に基づいて所望のユーザ論理を可変に構築することが可能なプログラマブル・ロジック・デバイスと、
前記記憶装置と前記プログラマブル・ロジック・デバイスとの間に介在し、前記記憶装置に格納された前記構成情報を監視する構成情報監視デバイスと、
を含むことを特徴とする情報処理装置。
【００９３】
（付記１３）
付記１２記載の情報処理装置において、
前記構成情報監視デバイスは、前記記憶装置から前記構成情報を読み出すための読出制御手段と、前記ユーザ論理の構築時以外に前記記憶装置から前記構成情報を読み出す契機を前記読出制御手段に与える読出契機制御手段と、前記記憶装置から読み出された前記構成情報を検証するエラー検証手段と、を含むことを特徴とする情報処理装置。
【００９４】
（付記１４）
構成情報に基づいて所望のユーザ論理を可変に構築することが可能なプログラマブル・ロジック・デバイスと、前記構成情報が格納される記憶装置との間に介在し、前記記憶装置に格納された前記構成情報を監視する構成情報監視手段を備えたことを特徴とする構成情報監視装置。
【００９５】
（付記１５）
付記１４記載の構成情報監視装置において、
前記構成情報監視手段は、前記記憶装置から前記構成情報を読み出すための読出制御手段と、前記ユーザ論理の構築時以外に前記記憶装置から前記構成情報を読み出す契機を前記読出制御手段に与える読出契機制御手段と、前記記憶装置から読み出された前記構成情報を検証するエラー検証手段と、を含むことを特徴とする構成情報監視装置。
【００９６】
（付記１６）
記憶装置から読み出される構成情報に基づいて所望のユーザ論理を可変に構築することが可能なプログラマブル・ロジック・デバイスの制御方法であって、
前記記憶装置から読み出された構成情報に基づいてユーザ論理を構築する第１工程と、
前記第１工程の実行時以外に前記記憶装置から前記構成情報を読み出して当該構成情報におけるエラーの有無を検証する第２工程と、
を含むことを特徴とするプログラマブル・ロジック・デバイスの制御方法。
【００９７】
（付記１７）
付記１６記載のプログラマブル・ロジック・デバイスの制御方法において、
前記第２工程はタイマ機能にて定期的または不定期に実行されることを特徴とするプログラマブル・ロジック・デバイスの制御方法。
【００９８】
（付記１８）
付記１６記載のプログラマブル・ロジック・デバイスの制御方法において、
前記第２工程は、前記プログラマブル・ロジック・デバイスの一部に設けられ、記憶装置から読み出された前記構成情報を前記主回路部に入力して前記ユーザ論理を構築する構成情報制御部に設けられた構成情報監視手段において実行することを特徴とするプログラマブル・ロジック・デバイスの制御方法。
【００９９】
（付記１９）
付記１６記載のプログラマブル・ロジック・デバイスの制御方法において、
前記第２工程は、前記ユーザ論理の一部を構成する構成情報監視論理において実行することを特徴とするプログラマブル・ロジック・デバイスの制御方法。
【０１００】
（付記２０）
付記１６記載のプログラマブル・ロジック・デバイスの制御方法において、
前記第２工程は、前記記憶装置と前記プログラマブル・ロジック・デバイスとの間に介在する構成情報監視デバイスにおいて実行することを特徴とするプログラマブル・ロジック・デバイスの制御方法。
【図面の簡単な説明】
【０１０１】
【図１】本発明の一実施の形態であるプログラマブル・ロジック・デバイスの制御方法を実施するプログラマブル・ロジック・デバイスの内部構成の一例を示す概念図である。
【図２】その全体構成の一例を示す概念図である。
【図３】その作用の一例を示すフローチャートである。
【図４】本発明の他の実施の形態であるプログラマブル・ロジック・デバイスの制御方法を実施するプログラマブル・ロジック・デバイスの構成の一例を示すブロック図である。
【図５】その全体構成の一例を示す概念図である。
【図６】本発明のさらに他の実施の形態であるプログラマブル・ロジック・デバイスの制御方法を実施する情報処理装置の構成の一例を示すブロック図である。
【符号の説明】
【０１０２】
１０  プログラマブル・ロジック・デバイス
１０Ａ  プログラマブル・ロジック・デバイス
１０Ｂ  プログラマブル・ロジック・デバイス
１１  ユーザ入出力ピン
１１ａ  ユーザ入出力ピン
１２  コンフィギュレーション用入出力ピン
１３  レジスタ
２０  コンフィギュレーション回路
２０Ａ  コンフィギュレーション回路
２１  メモリ監視用メモリ制御回路（構成情報監視手段）
２１ａ  タイマ
２１ｂ  制御情報生成回路
２２  セレクタ
２３  エラーチェック回路
２３ａ  ＣＲＣチェック回路
２４  コンフィギュレーション用メモリ制御回路
２５  回路情報展開回路
３０  主回路部
３０ａ  ユーザ論理
４０  メモリ監視回路（構成情報監視論理）
４０ａ  メモリ監視回路構成情報
４１  メモリ制御回路
４１ａ  タイマ
４１ｂ  制御情報生成回路
４２  セレクタ
４３  エラーチェック回路
４３ａ  ＣＲＣチェック回路
５０  エラー監視デバイス（構成情報監視装置）
５１  メモリ監視用メモリ制御回路
５１ａ  タイマ
５１ｂ  制御情報生成回路
５２  セレクタ
５３  エラーチェック回路
５４  コンフィギュレーション用メモリ制御回路
５５  データ処理部
５６  レジスタ
６０  不揮発性メモリ
Ｓ１  メモリ監視時メモリ制御信号
Ｓ２  コンフィギュレーション時メモリ制御信号
Ｓ３  メモリ制御信号
Ｓ４  コンフィギュレーションデータ
Ｓ５  コンフィギュレーションデータエラー信号
Ｓ６  コンフィギュレーション終了信号
Ｓ７  割り込み信号
Ｓ８  ＬＥＤ表示信号
Ｓ９  タイマ設定信号
Ｓ１０  ＣＰＵバス信号
【図１】
2006157482.tif 000003
【図３】
2006157482.tif 000004
【図４】
2006157482.tif 000005
【図６】
2006157482.tif 000006
【図２】
2006157482.tif 000007
【図５】
2006157482.tif 000008