(57)【要約】【課題】プログラマブルデバイスに生じたソフトエラーがシステムへ与える影響を抑制する。【解決手段】アドレス判定部１４２は、プログラマブルデバイス１１０から通知されたソフトエラーの発生したエリアのアドレスを判定する。機能ブロック特定部１４４は、アドレス判定部１４２が判定したアドレスに対応する機能ブロックを特定する。協調ブロック制御部１３４は、協調装置１３０における、機能ブロック特定部１４４により特定した機能ブロックに対応する協調ブロックを停止する。【選択図】図１
2013187823.tif 000002
【特許請求の範囲】
【請求項１】
相対応する構成情報に基づいて動作する複数の機能ブロックと、前記複数の機能ブロックの前記構成情報を夫々格納する複数のエリアを有する構成情報記憶部とを備えたプログラマブルデバイスにおいてソフトエラーが発生した際に、前記プログラマブルデバイスにおける前記複数の機能ブロックと夫々協調して動作する複数の協調ブロックを備えた協調装置の制御方法において、
前記構成情報記憶部における前記ソフトエラーの発生したエリアのアドレスを判定する判定処理をし、
前記複数のエリアのアドレスと前記複数の機能ブロックとの対応関係、及び前記複数の機能ブロックと前記複数の協調ブロックとの対応関係に基づいて、前記複数の協調ブロックのうちの、前記判定処理により判定したアドレスに対応する前記協調ブロックを特定して該協調ブロックを停止することを特徴とする制御方法。
【請求項２】
相対応する構成情報に基づいて動作する複数の機能ブロックと、前記複数の機能ブロックの前記構成情報を夫々格納する複数のエリアを有する構成情報記憶部とを備えたプログラマブルデバイスにおいてソフトエラーが発生した際に、前記プログラマブルデバイスにおける前記複数の機能ブロックと夫々協調して動作する複数の協調ブロックを備えた協調装置の制御装置であって、
前記構成情報記憶部における前記ソフトエラーの発生したエリアのアドレスを判定するアドレス判定部と、
前記複数のエリアのアドレスと前記複数の機能ブロックとの対応関係、及び前記複数の機能ブロックと前記複数の協調ブロックとの対応関係により決まる、前記アドレス判定部により判定したアドレスに対応する前記協調ブロックを停止する協調ブロック制御部とを備えることを特徴とする制御装置。
【請求項３】
相対応する構成情報に基づいて動作する複数の機能ブロックと、前記複数の機能ブロックの前記構成情報を夫々格納する複数のエリアを有する構成情報記憶部とを備えたプログラマブルデバイスにおいてソフトエラーが発生した際に、前記プログラマブルデバイスにおける前記複数の機能ブロックと夫々協調して動作する複数の協調ブロックを備えた協調装置の制御に際して、
前記構成情報記憶部における前記ソフトエラーの発生したエリアのアドレスを判定する判定処理をし、
前記複数のエリアのアドレスと前記複数の機能ブロックとの対応関係、及び前記複数の機能ブロックと前記複数の協調ブロックとの対応関係に基づいて、前記複数の協調ブロックのうちの、前記判定処理により判定したアドレスに対応する前記協調ブロックを特定して該協調ブロックを停止する処理をコンピュータに実行せしめることを特徴とするプログラム。
【請求項４】
相対応する構成情報に基づいて動作する複数の機能ブロックと、前記複数の機能ブロックの前記構成情報を夫々格納する複数のエリアを有する構成情報記憶部とを備えたプログラマブルデバイスと、
前記プログラマブルデバイスにおける前記複数の機能ブロックと夫々協調して動作する複数の協調ブロックを備えた協調装置と、
前記プログラマブルデバイスにおいてソフトエラーが発生した際に前記協調装置を制御する制御装置とを有し、
前記制御装置は、
前記構成情報記憶部における前記ソフトエラーの発生したエリアのアドレスを判定するアドレス判定部と、
前記複数のエリアのアドレスと前記複数の機能ブロックとの対応関係、及び前記複数の機能ブロックと前記複数の協調ブロックとの対応関係により決まる、前記アドレス判定部により判定したアドレスに対応する前記協調ブロックを停止する協調ブロック制御部協調ブロック制御部とを備えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルデバイスにおいてソフトエラーが発生したときに、該プログラマブルデバイスと協調して動作する協調装置の制御技術に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）により代表されるプログラマブルデバイスは、構成情報を記憶するＳＲＡＭ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ＲＡＭ。以下ＣＲＡＭという）に格納された構成情報により定義される回路構成通りに回路を形成して動作する。プログラマブルデバイスのＣＲＡＭにおけるエラー（ソフトエラー）が生じた際の対応に関して、様々な視点からの技術が提案されている。
【０００３】
例えば、特許文献１に開示された技術は、プログラマブルデバイスを複数のブロックに分割し、ソフトエラーが生じた際に、ソフトエラーが発生した機能を含むブロックについては、機能を停止し、ソフトエラーが発生した機能と無関係のブロックについては、そのまま処理を続行する
【０００４】
また、特許文献２には、ソフトエラーが生じたときに、周辺デバイスなど、プログラマブルデバイスと協調して動作する協調装置の制御技術が開示されている。この技術は、発生したソフトエラーが重大であるか否かを判定し、重大であり、無視できない場合においてのみ協調装置に通知するなどして修復アクティビティを開始する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−０１３８２９号公報
【特許文献２】特開２００７−２９３８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献２の技術によると、協調装置は、ソフトエラーが通知されると、全体の動作を停止せざるを得ない。これでは、プログラマブルデバイスのソフトエラーがシステム全体に大きな影響を与えてしまう。
【課題を解決するための手段】
【０００７】
本発明の１つの態様は、相対応する構成情報に基づいて動作する複数の機能ブロックと、前記複数の機能ブロックの前記構成情報を夫々格納する複数のエリアを有する構成情報記憶部とを備えたプログラマブルデバイスにおいてソフトエラーが発生した際に、前記プログラマブルデバイスにおける前記複数の機能ブロックと夫々協調して動作する複数の協調ブロックを備えた協調装置の制御方法である。
【０００８】
該制御方法は、前記構成情報記憶部における前記ソフトエラーの発生したエリアのアドレスを判定する判定処理をする。そして、前記複数のエリアのアドレスと前記複数の機能ブロックとの対応関係、及び前記複数の機能ブロックと前記複数の協調ブロックとの対応関係に基づいて、前記複数の協調ブロックのうちの、前記判定処理により判定したアドレスに対応する前記協調ブロックを特定して該協調ブロックを停止する。
【０００９】
なお、上記態様の制御方法を装置に置き換えて表現したものや、上記装置を備えたシステムや、上記方法をコンピュータに実行せしめるプログラムなども、本発明の態様としては有効である。
【発明の効果】
【００１０】
本発明にかかる技術によれば、プログラマブルデバイスに生じたソフトエラーがシステムへ与える影響を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態にかかるシステムを示す図である。
【図２】図１に示すシステムにおけるアドレス対応情報格納部に格納された情報の例を示す図である。
【図３】図１に示すシステムにおける協調ブロック制御部が所有するブロック対応情報の例を示す図である。
【図４】本発明の第２の実施の形態にかかるシステムを示す図である。
【図５】本発明の第２の実施の形態にかかるシステムを示す図である。
【図６】図２に示す情報の代わりにアドレス対応情報格納部に格納された対応テーブルの例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェアとソフトウェア（プログラム）の組合せによっていろいろな形で実現できることは当業者には理解されるところであり、ハードウェアとソフトウェアのいずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１３】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１４】
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態にかかるシステム１００を示す。システム１００は、プログラマブルデバイス１１０、入出力インタフェース１２０、協調装置１３０、アドレス対応情報格納部１４０、アドレス判定部１４２、機能ブロック特定部１４４を有する。
【００１５】
プログラマブルデバイス１１０は、例えばＦＰＧＡであり、複数の機能ブロックＢ１〜Ｂｍと、構成情報記憶部１１２を有する。構成情報記憶部１１２は、プログラマブルデバイス１１０の構成情報を格納するＳＲＡＭすなわち前述したＣＲＡＭであり、機能ブロックＢ１〜Ｂｍに夫々対応するエリアＡ１〜Ａｍを有し、各エリアには、対応する機能ブロックの構成情報を格納している。
【００１６】
協調装置１３０は、入出力インタフェース１２０を介してプログラマブルデバイス１１０と接続されており、動作部１３２と、協調ブロック制御部１３４を備える。
【００１７】
動作部１３２は、複数の協調ブロックＣ１〜Ｃｎを有し、各協調ブロックは、プログラマブルデバイス１１０の機能ブロックＢ１〜Ｂｍのうちの１つ以上と協調して動作する。
【００１８】
協調ブロック制御部１３４は、機能ブロック特定部１４４からの後述する動作部１３２に含まれる各協調ブロックＣ１〜Ｃｎの動作を制御する。この制御は、機能ブロック特定部１４４からの情報（後述する機能ブロックＫＩＤ）に基づいて行われる。また、協調ブロック制御部１３４は、ブロック対応情報格納部１３５を備え、後述する、ブロック対応情報に該当するブロック対応テーブルを格納している。
【００１９】
プログラマブルデバイス１１０においてソフトエラーが発生すると、このソフトエラーは、アドレス判定部１４２に通知される。
【００２０】
アドレス判定部１４２は、通知されたソフトエラーが、構成情報記憶部１１２のいずれのエリアで発生したかを判定すると共に、判定したエリアのアドレスＡＤＲを機能ブロック特定部１４４に出力する。
【００２１】
一般にソフトエラー発生通知は１ｂｉｔのインタフェースであり、ＣＲＡＭ中の各アドレスのソフトエラーは、アドレス順に一定の時間毎に時分割で出力される。従って、アドレス判定部１４２は、例えば、ＣＲＡＭ中の任意の基準アドレスのソフトエラー発生通知を時間計測の基準とするタイマを使い、タイマで計測される時間をもとに、受信中のソフトエラー発生通知がどのアドレスに該当するかを判定することができる。ソフトエラーアドレス判定部の実装には、いくつかの形態が考えられる。当該事業者であれば、その実装を容易に実現できるため、本発明書では詳細を省略する。
【００２２】
アドレス対応情報格納部１４０は、例えばフラッシュメモリであり、プログラマブルデバイス１１０の構成情報記憶部１１２における機能ブロックＢ１〜Ｂｍを示す情報と、これらの機能ブロックＢ１〜Ｂｍの構成情報を格納したエリアのアドレスとを対応付けて記憶している。なお、本実施の形態において、例として、機能ブロックを示す情報が、該機能ブロックに付与されたユニークなＩＤであるとする。
【００２３】
図２は、アドレス対応情報格納部１４０に格納された情報の例を示す。図示のように、アドレス対応情報格納部１４０において、各機能ブロックのＩＤと、該機能ブロックの構成情報を記憶するエリアのアドレスとが対応付けて格納されている。
【００２４】
機能ブロック特定部１４４は、アドレス判定部１４２からアドレスＡＤＲを受信すると、アドレス対応情報格納部１４０から、該アドレスＡＤＲに対する機能ブロックのＩＤ（ＫＩＤ）を読み出して協調ブロック制御部１３４に出力する。
【００２５】
協調ブロック制御部１３４は、機能ブロック特定部１４４からのＫＩＤに基づいて、ブロック対応情報格納部１３５に格納したブロック対応テーブルを参照して、協調ブロックＣ１〜Ｃｎのうちの、ＫＩＤが示す機能ブロックに対応する協調ブロックを特定すると共に該協調ブロックを停止する。
【００２６】
協調ブロック制御部１３４におけるブロック対応情報格納部１３５は、ブロック対応情報に該当するブロック対応テーブルを保持しており、このブロック対応テーブルには、機能ブロックを示す情報（機能ブロックのＩＤ）と協調ブロックを示す情報（例えば協調ブロックのＩＤ）とが対応付けて格納されている。
【００２７】
なお、１つの機能ブロックに関して、対応する協調ブロックが１つのみであるとは限らない。図３は、ブロック対応情報格納部１３５に格納されたブロック対応テーブルの一例を示す。
【００２８】
図３に示す例では、機能ブロックＢ１のＩＤに対して、協調ブロックＣ１のＩＤが対応付けて格納されている。
【００２９】
機能ブロックＢ２のＩＤに対して、協調ブロックＣ２とＣｎのＩＤが対応付けて格納されている。
【００３０】
そのため、機能ブロック特定部１４４からのＫＩＤが機能ブロックＢ１を示すときに、協調ブロック制御部１３４は、協調ブロックＣ１を停止する。また、機能ブロック特定部１４４からのＫＩＤが機能ブロックＢ２を示すときには、協調ブロック制御部１３４は、協調ブロックＣ２と協調ブロックＣｎを停止する。
【００３１】
このように、システム１００において、アドレス判定部１４２、機能ブロック特定部１４４、協調ブロック制御部１３４は、プログラマブルデバイス１１０においてソフトエラーが生じたときに協調装置１３０を制御する制御装置を構成し、該ソフトエラーが影響を与える協調ブロックのみを停止する。そのため、プログラマブルデバイス１１０においてソフトエラーが生じても、協調装置１３０の全体停止を回避し、ソフトエラーがシステム全体へ与える影響を抑制することができる。
【００３２】
＜第２の実施の形態＞
図２は、本発明の第２の実施の形態にかかるシステム２００を示す。システム２００は、プログラマブルデバイス２１０、入出力インタフェース１２０を介してプログラマブルデバイス２１０における動作部１１０と接続された協調装置１３０、アドレス対応情報格納部１４０を備える。
【００３３】
プログラマブルデバイス２１０は、動作部１１０に加え、アドレス判定部１４２、機能ブロック特定部１４４を有する。なお、動作部１１０は、図１に示すシステム１００におけるプログラマブルデバイス１１０と同様である。
【００３４】
すなわち、本実施の形態のシステム２００では、アドレス判定部１４２と機能ブロック特定部１４４がプログラマブルデバイス内部に設けられている点を除き、図１に示すシステム１００と同様である。
勿論、システム２００は、システム１００と同様の効果を得ることができる。
【００３５】
＜第３の実施の形態＞
図５は、本発明の第３の実施の形態にかかるシステム３００を示す。システム３００は、プログラマブルデバイス１１０と、プロセッサ３５０、アドレス対応情報格納部１４０を備える。
【００３６】
プログラマブルデバイス１１０は、システム１００におけるプログラマブルデバイス１１０と同様である。
【００３７】
プロセッサ３５０は、汎用プロセッサであり、図示しないＣＰＵ上で動作するプログラムにより、協調動作部１３０、アドレス判定部１４２、機能ブロック特定部１４４を形成している。なお、協調動作部１３０は、システム１００における協調装置１３０と同様である。
【００３８】
プロセッサ３５０において、アドレス判定部１４２は、ソフトエラーの発生通知を受信すると、該ソフトエラーの発生位置（アドレスＡＤＲ）を判定する。この判定は、ソフトエラーの通知を受けたタイミングと、プロセッサ３５０内部のタイマの経過時間から求められる。以降の各処理は、システム１００とシステム２００のときに説明したのと同様である。
【００３９】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは、当業者に理解されるところである。
【００４０】
例えば、上述した各実施の形態のシステムにおいて、アドレス対応情報格納部１４０をフラッシュメモリとしたが、他の記憶手段を用いてもよい。
【００４１】
また、例えば、上述した各実施の形態のシステムにおいて、図３に示すような、機能ブロックを示す情報と協調ブロックを示す情報とが対応付けて格納されたブロック対応テーブルは、協調ブロック制御部１３４に設けられている。このブロック対応テーブルを機能ブロック特定部１４４に設け、機能ブロック特定部１４４が、機能ブロックＫＩＤから協調ブロックＩＤを特定し、機能ブロックＫＩＤの代わりに協調ブロックＩＤを協調ブロック制御部１３４に通知するようにしてもよい。
【００４２】
さらに、協調ブロック制御部１３４が、動作を停止すべき協調ブロックのＩＤが分かれば制御することができるので、図２に示すアドレス対応テーブルと、図３に示すブロック対応テーブルとを、図６に示す対応テーブルに統合してアドレス対応情報格納部１４０に格納するようにしてもよい。
【００４３】
図６に示すように、該対応テーブルは、プログラマブルデバイス１１０における各機能ブロックＢ１〜Ｂｍの構成情報を夫々格納したエリアのアドレスと、機能ブロックＢ１〜Ｂｍに夫々対応する協調ブロックのＩＤとを対応付けたものである。そのため、機能ブロック特定部１４４は、該対応テーブルに基づいて、アドレス判定部１４２から通知されたアドレスに対応する協調ブロックのＩＤを直接特定して、特定した協調ブロックＩＤを協調ブロック制御部１３４に通知するようにすればよい。
【産業上の利用可能性】
【００４４】
本発明にかかる技術は、ＦＰＧＡなどのプログラマブルデバイス利用する分野、特に、ソフトエラーが発生しやすい環境でプログラマブルデバイスが利用される分野や、プログラマブルデバイスを利用したシステムの耐故障性を重視する分野において有用である。
【符号の説明】
【００４５】
１００  システム
１１０  プログラマブルデバイス
１１２  構成情報記憶部
１２０  入出力インタフェース
１３０  協調装置
１３２  動作部
１３４  協調ブロック制御部
１３５  ブロック対応情報格納部
１４０  アドレス対応情報格納部
１４２  アドレス判定部
１４４  機能ブロック特定部
２００  システム
２１０  プログラマブルデバイス
３００  システム
３５０  プロセッサ
Ａ１〜Ａｍ  エリア
Ｂ１〜Ｂｍ  機能ブロック
Ｃ１〜Ｃｎ  協調ブロック
ル  ブロック対応テーブ
【図１】
2013187823.tif 000003
【図２】
2013187823.tif 000004
【図３】
2013187823.tif 000005
【図４】
2013187823.tif 000006
【図５】
2013187823.tif 000007
【図６】
2013187823.tif 000008