(57)【特許請求の範囲】
【請求項１】
構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路であって、前記集積回路の障害を検出して障害情報を出力する検出手段と、
前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶する記憶手段と、
前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定する特定手段と、
前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する訂正手段と、
を備える障害修復装置。
【請求項２】
前記検出手段は、複数の前記回路素子を備えた前記集積回路における、障害が発生した前記回路素子の識別情報を、前記障害情報として出力し、
前記記憶手段は、前記回路素子の識別情報と、前記メモリ領域の識別情報とを対応付けた前記障害領域特定テーブルを記憶する、
請求項１の障害修復装置。
【請求項３】
前記訂正手段は、前記エラーを訂正できない場合に、前記構成データを、障害発生前の前記構成データで置き換える、
請求項１乃至２のいずれか１項に記載の障害修復装置。
【請求項４】
通常時には未使用の前記メモリ領域である障害退避メモリ領域を包含する前記メモリを備えた前記集積回路について、前記障害発生メモリ領域ごとの障害発生回数をカウントするカウント手段と、
前記障害発生メモリ領域の前記構成データを、当該障害発生メモリ領域ではなく、前記障害退避メモリ領域で使用するように、前記構成データを再合成して、再合成構成データとして記憶する合成手段と、
をさらに備え、
前記訂正手段は、当該障害発生メモリ領域に関する前記障害発生回数が、第一の閾値に達したときに、前記合成手段が記憶した前記再合成構成データを入手して、前記メモリに格納された前記構成データを、前記再合成構成データに更新する、
請求項１乃至３のいずれか１項に記載の障害修復装置。
【請求項５】
前記合成手段は、前記障害発生回数が、前記第一の閾値よりも小さい第二の閾値に達したときに、前記再合成構成データの合成動作を開始する、
請求項４の障害修復装置。
【請求項６】
前記合成手段は、複数の前記障害発生メモリ領域の各々に対応して、前記再合成構成データを合成し、前記障害発生メモリ領域の前記識別情報に対応付けて、前記合成構成データを記憶し、
前記訂正手段は、前記障害発生回数が、前記第一の閾値に達した前記障害発生メモリ領域の前記識別情報により特定される前記再合成構成データを、前記合成手段から入手する、
請求項４乃至５のいずれか１項に記載の障害修復装置。
【請求項７】
構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路の障害を検出して障害情報を出力し、
前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶域に記憶し、
前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定し、
前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する、
障害修復方法。
【請求項８】
複数の前記回路素子を備えた前記集積回路における、障害が発生した前記回路素子の識別情報を、前記障害情報として出力し、
前記回路素子の識別情報と、前記メモリ領域の識別情報とを対応付けた前記障害領域特定テーブルを前記記憶域に記憶する、
請求項７の障害修復方法。
【請求項９】
構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路の障害を検出して障害情報を出力する検出処理と、
前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶域に記憶する記憶処理と、
前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定する特定処理と、
前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する訂正処理と、
をコンピュータに実行させる障害修復プログラム。
【請求項１０】
複数の前記回路素子を備えた前記集積回路における、障害が発生した前記回路素子の識別情報を、前記障害情報として出力する前記検出処理と、
前記回路素子の識別情報と、前記メモリ領域の識別情報とを対応付けた前記障害領域特定テーブルを前記記憶域に記憶する前記記憶処理と、
をコンピュータに実行させる請求項９の障害修復プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、構成データにより論理動作を定義する集積回路の障害の検出と修復を行うための、障害修復装置、障害修復方法、及び、障害修復プログラムに関する。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）をはじめとするプログラム可能な集積回路は、製品出荷後も論理機能の更新が可能であることから、様々なコンピュータシステムにおいて利用されている。ＦＰＧＡは、論理動作を定義する構成データを格納する構成データ格納メモリと、構成データで定義された論理動作を実行する組み込み回路を包含している。
【０００３】
構成データ格納メモリにおいて、例えばソフトエラーによるビット反転等の障害が発生した場合、構成データの内容が変わるため、ＦＰＧＡは誤動作する。近年の構成データ格納メモリの大容量化の進展に伴い、ソフトエラー等によるＦＰＧＡの障害の発生が増加しており、ＦＰＧＡの障害を回避、あるいは修復するための技術の重要性が高まってきている。
【０００４】
このようなＦＰＧＡの障害に対応するための技術として、特許文献１には、ＦＰＧＡを複数の物理的なレイアウト領域に分割し、各レイアウト領域に対応して、当該レイアウト領域を使用しないで目的の論理機能を実現させるための構成データを事前に記憶しておくようにした装置が公開されている。この装置は、ＦＰＧＡの障害を検出したときに、障害が発生したレイアウト領域を特定して、元の構成データを、当該レイアウト領域を使用しない構成データに書き換えることで、障害が発生したレイアウト領域を未使用状態にして、システムの運用を継続する。
【０００５】
また、特許文献２には、ＦＰＧＡで障害を検出した場合、ＦＰＧＡの構成データを期待値と比較することで、構成データ格納メモリにおけるソフトエラーに起因するものであるかを判定するようにした装置が公開されている。この装置は、ＦＰＧＡの障害が、構成データ格納メモリにおけるソフトエラーに起因する場合は、期待値を構成データ格納メモリに書き込むことで、ＦＰＧＡの障害を修復する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平9-62528号公報
【特許文献２】特開2008-15965号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＦＰＧＡの障害には、様々なレベルのものがあるが、例えば上述のような構成データ格納メモリにおけるソフトエラーに起因する障害の場合、ビット反転したエラー箇所を元の正しいデータに訂正すれば、障害を修復することが可能である。
【０００８】
構成データにおけるビット反転したエラー箇所を検出し訂正するためには、構成データが期待値と一致しているかどうかを確認する必要がある。近年における構成データ格納メモリの大容量化が進んだＦＰＧＡでは、構成データが期待値と一致しているかどうかの確認処理に時間を要することが問題となっている。しかしながら、前述の特許文献１乃至２は、この問題を解決するための技術については、特に言及していない。
【０００９】
本願発明の目的は、上述の問題を解決した、障害修復装置、障害修復方法、及び、障害修復プログラムを提供することである。
【課題を解決するための手段】
【００１０】
本願発明の一実施形態の障害修復装置は、構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路であって、前記集積回路の障害を検出して障害情報を出力する検出手段と、前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶する記憶手段と、前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定する特定手段と、前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する訂正手段と、を備える。
【００１１】
本願発明の一実施形態の障害修復方法は、構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路の障害を検出して障害情報を出力し、前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶域に記憶し、前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定し、前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する。
【００１２】
本願発明の一実施形態の障害修復プログラムは、構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路の障害を検出して障害情報を出力する検出処理と、前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶域に記憶する記憶処理と、前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定する特定処理と、前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する訂正処理と、をコンピュータに実行させる。
【発明の効果】
【００１３】
本願発明は、構成データにより論理動作を定義する集積回路の障害の検出と修復を、障害発生箇所に絞りこんで行うことで、障害修復処理に要する時間を短縮することを可能とする。
【図面の簡単な説明】
【００１４】
【図１】本願発明の第１の実施形態の障害修復システムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態の動作を示すフローチャート（１／２）である。
【図３】本願発明の第１の実施形態の動作を示すフローチャート（２／２）である。
【図４】本願発明の第１の実施形態における障害領域特定テーブルの構成例である。
【図５】本願発明の第２の実施形態の障害修復装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
本願発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１６】
図１は本実施形態の障害修復システム１の構成を示すブロック図である。本実施形態の障害修復システム１は、障害修復装置１０と、集積回路２０と、を包含している。
【００１７】
集積回路２０はＦＰＧＡ等のプログラム可能な集積回路であり、情報処理装置（図示せず）等に搭載され、メモリ２１と、回路素子群２２と、を包含している。回路素子群２２は、集積回路２０に組み込まれた回路素子であり、メモリ２１に格納された構成データ２１０により論理動作が決定される。メモリ２１は、複数のメモリ領域を包含し、各メモリ領域には識別情報が付与されている。回路素子群２２は、複数の回路素子を包含し、各回路素子には識別情報が付与されている。
【００１８】
メモリ２１、及び、回路素子群２２は、それぞれ、通常動作時には未使用であるメモリ領域と、当該メモリ領域に対応する回路素子を包含している。この未使用のメモリ領域は、同一のメモリ領域に関して発生した障害発生件数が、所定の閾値に到達した場合、障害を回避するため、障害発生メモリ領域を代替する障害退避領域として使用するためのものである。
【００１９】
障害修復装置１０は、検出部１１と、記憶部１２と、特定部１３と、訂正部１４と、カウント部１６と、合成部１７と、を包含している。検出部１１、記憶部１２、特定部１３、訂正部１４、カウント部１６、及び、合成部１７は、電子回路の場合もあれば、コンピュータプログラムの場合もある。
【００２０】
検出部１１は、集積回路２０で発生した障害を検出して、回路素子群２２における障害が発生した回路素子の識別情報を、特定部１３へ送信する。
【００２１】
記憶部１２は、障害領域特定テーブル１２０を記憶している。障害領域特定テーブル１２０の構成例を図４に示す。障害領域特定テーブル１２０は、回路素子群２２における各回路素子の論理動作を定義する構成データ２１０上のデータが、メモリ２１における何れのメモリ領域に存在するかについて、回路素子１２００の識別情報と、メモリ領域１２０１の識別情報とを対応付けて記憶している。例えば、回路素子のレジスタＡの論理動作を定義する構成データは、メモリ２１における領域１のメモリ領域に格納されている。
【００２２】
特定部１３は、障害発生回路素子の識別情報を検出部１１から受信すると、障害発生回路素子の識別情報を、障害領域特定テーブル１２０に照らし合わせて、障害発生回路素子の論理動作を定義する構成データが、メモリ２１における何れのメモリ領域に格納されているかを特定する。特定部２１は、上述で特定した障害発生メモリ領域の識別情報を、訂正部１４、及び、カウント部１６に送信する。
【００２３】
カウント部１６は、障害発生メモリ領域ごとに、障害発生件数を記憶しており、特定部１３から障害発生メモリ領域の識別情報を受信すると、当該障害発生メモリ領域の障害発生件数の値に１を加算する。カウント部１６は、障害発生メモリ領域ごとの障害発生件数のカウント値を更新すると、障害発生メモリ領域の識別情報とカウント値を、訂正部１４と合成部１７へ送信する。カウント部１６は、カウント値が所定の値に達すると、カウント値をリセットする。
【００２４】
合成部１７は、構成データ２１０の基データである、構成データ１７０を記憶している。メモリ２１において障害が発生していない場合、構成データ１７０と、メモリ２１における構成データ２１０は同一のものとなる。合成部１７は、カウント部１６から障害発生メモリ領域ごとの障害発生件数のカウント値を受信し、カウント値が閾値Ｂ１７２と等しい場合、構成データ１７０の値を基に、再合成構成データ１７１の合成処理を開始する。合成部１７は、構成データ１７０の合成の基としたＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｓｆｅｒ  Ｌｅｖｅｌ）等のデータを基に、再合成構成データ１７１を合成する場合もある。
【００２５】
再合成構成データ１７１は、障害発生件数が閾値Ｂ１７２に達した障害発生メモリ領域の代替領域として、未使用の障害退避領域を使用するように、構成データ１７０を基に再合成された、集積回路２０の構成データである。合成部１７は、障害発生メモリ領域に対応して、複数の再合成構成データ１７１を格納するための複数のエントリを包含する内部メモリを備えている。合成部１７は、所定の時間をかけて再合成構成データ１７１を合成した後、障害発生メモリ領域の識別情報に対応付けて、再合成構成データ１７１を内部メモリに格納する。
【００２６】
合成部１７は、再合成構成データ１７１を格納するためのエントリを全て使用中のときに新規に再合成構成データ１７１を再合成した場合、何れかのエントリに格納済みの再合成構成データ１７１を消去して、新しい再合成構成データ１７１を当該エントリに格納する。合成部１７が格納済みの再合成構成データ１７１を削除するエントリを選択する基準としては、障害発生件数が最も少ない障害発生メモリ領域に対応するものとする場合もあれば、最後に障害が発生してからの時間が最も長い障害発生メモリ領域に対応するものとする場合もある。
【００２７】
訂正部１４は、カウント部１６から、障害発生メモリ領域の識別情報とカウント値を受信すると、構成データ２１０の障害発生メモリ領域に格納された部分のデータについて、当該障害発生メモリ領域に対応するエラー検出訂正符号データ１００を基に、エラーがあるかどうかを確認する。エラー検出訂正符号データ１００は、構成データ２１０に期待値と一致しないエラー箇所があるかどうかを確認し、エラー箇所がある場合は、当該エラー箇所を期待値に訂正するためのエラー検出訂正符号のデータであり、メモリ２１のメモリ領域ごとに存在する。
【００２８】
訂正部１４は、カウント値が閾値Ａ１４０未満であり、かつ、障害発生メモリ領域にエラーが存在する場合、障害が障害発生メモリ領域内の偶発的なソフトエラーに起因するものであると判断する。この場合、訂正部１４は、検出したエラーが１ビットエラー等の訂正可能なエラーである場合は、エラー検出訂正符号データ１００を用いて当該エラーを訂正する。訂正部１４は、検出したエラーが訂正可能なエラーでない場合、合成部１７から構成データ１７０を入手して、メモリ２１内の構成データ２１０を、構成データ１７０に置き換える。尚、閾値Ａ１４０は、閾値Ｂ１７２よりも大きな値である。
【００２９】
訂正部１４は、カウント値が閾値Ａ１４０未満であり、かつ、障害発生メモリ領域にエラーが存在しない場合、障害が構成データ２１０による回路素子群２２の論理動作の定義付けの処理における不具合の発生に起因するものであると判断する。この場合、訂正部１４は、集積回路２０に再初期化を実行させる。
【００３０】
訂正部１４は、カウント値が閾値Ａ１４０以上である場合、障害が障害発生メモリ領域内の固定障害になりつつある障害に起因するものであると判断する。この場合、訂正部１４は、障害発生メモリ領域に対応する再合成構成データ１７１を合成部１７から入手して、メモリ２１の構成データ２１０を、再合成構成データ１７１に更新する。
【００３１】
次に図２、及び、図３のフローチャートを参照して、本実施形態の動作について詳細に説明する。
【００３２】
検出部１１は、集積回路２０で発生した障害を検出して、回路素子群２２における、障害が発生した回路素子の識別情報を比較部１３へ送信する（Ｓ１０１）。特定部１３は、受信した、障害が発生した回路素子の識別情報を、記憶部１２における障害領域特定テーブル１２０に照らし合わせて、障害発生回路素子に対応する構成データ２１０内の記述が格納されているメモリ２１内のメモリ領域を特定し、特定した障害発生メモリ領域の識別情報を、訂正部１４、及び、カウント部１６へ送信する（Ｓ１０２）。
【００３３】
カウント部１６は、特定されたメモリ２１内の障害発生メモリ領域の障害発生回数に１を加算してカウント値を更新し、障害発生メモリ領域の識別情報と、カウント値を訂正部１４と合成部１７へ送信する（Ｓ１０３）。
【００３４】
カウント値が閾値Ｂ１７２未満の場合（Ｓ１０４でＮｏ）、訂正部１４は、メモリ２１内の障害発生メモリ領域について、エラー検出訂正符号データ１００を基に、構成データ２１０にエラーがあるかどうかを確認する（Ｓ１０８）。
【００３５】
カウント値が閾値Ｂ１７２と等しい場合（Ｓ１０４乃至Ｓ１０５でＹｅｓ）、合成部１７は、構成データ１７０を基に、メモリ２１内の障害発生メモリ領域のかわりに障害退避メモリ領域を使用して再合成した再合成構成データ１７１の合成動作を開始し、合成完了後、メモリ２１内の障害領域メモリ領域に対応付けて記憶し（Ｓ１０６）、処理はＳ１０８へ進む。
【００３６】
カウント値が閾値Ｂ１７２より大きく（Ｓ１０４でＹｅｓ、かつ、Ｓ１０５でＮｏ）、カウント値が閾値Ａ１４０未満の場合（Ｓ１０７でＮｏ）、処理はＳ１０８へ進む。カウント値が閾値Ａ以上の場合（Ｓ１０７でＹｅｓ）、訂正部１４は、メモリ２１内の障害発生メモリ領域に対応する再合成構成データ１７１を合成部１７から入手し、メモリ２１の構成データ２１０を、再合成構成データ１７１に更新する（Ｓ１１５）。合成部１７は、エラー検出訂正符号データ１００を、再合成データ１７１に対応したものに更新する（Ｓ１１６）。カウント部１６はカウント値をリセットし（Ｓ１１７）、全体の処理は終了する。
【００３７】
構成データ２１０にエラーがあり（Ｓ１０９でＹｅｓ）、エラーがエラー検出訂正符号データ１００で訂正可能である場合（Ｓ１１０でＹｅｓ）、訂正部１４は、メモリ２１内の障害発生メモリ領域の構成データ２１０のデータのエラーを、エラー検出訂正符号データ１００により訂正し（Ｓ１１１）、全体の処理は終了する。
【００３８】
構成データ２１０にエラーがあり（Ｓ１０９でＹｅｓ）、エラーがエラー検出訂正符号データ１００で訂正可能でない場合（Ｓ１１０でＮｏ）、訂正部１４は、メモリ２１内の構成データ２１０を、合成部１７から入手した構成データ１７０に置き換え（Ｓ１１２）、全体の処理は終了する。
【００３９】
構成データ２１０にエラーがない場合（Ｓ１０９でＮｏ）、訂正部１４は、集積回路２０に再初期化を指示する（Ｓ１１３）。集積回路２０は、再初期化を実行し（Ｓ１１４）、全体の処理は終了する。
【００４０】
本実施形態には、構成データにより論理動作を定義するＦＰＧＡ等の集積回路の障害の検出と修復を、障害発生箇所に絞りこんで行うことで、障害修復処理に要する時間を短縮する効果がある。その理由は、記憶部１２が、集積回路２０の回路素子と当該回路素子の論理動作を定義する構成データを格納したメモリ２１内のメモリ領域を対応付けた障害領域特定テーブル１２０を記憶し、訂正部１４が、障害情報と障害領域特定テーブル１２０を基に特定部１３が特定したメモリ２１内の障害発生メモリ領域の構成データを、エラー検出訂正符号データ１００により訂正するからである。
【００４１】
ＦＰＧＡ等の集積回路では、構成データを格納するメモリでソフトエラーによるビット反転が発生すると、回路素子群の動作論理が変わるため、集積回路からの出力結果が不正となり、集積回路の障害となる。この障害は、ハードウェア上の固定故障とは異なり、ビット反転によりデータが変化した構成データを基のデータに修復することで、障害を復旧することが可能である。
【００４２】
障害が構成データ格納メモリのソフトエラーに起因するかどうかは、エラー検出訂正符号データを用いて、構成データに期待値と一致しないエラーがあるかどうかを確認することで可能である。近年の集積化が高度に進んだＦＰＧＡは、大容量の構成データ格納メモリを搭載しているため、全構成データについてエラー検出訂正符号データにより、エラーがあるかどうかを確認する処理を行うと、障害復旧に要する時間が長くなる。
【００４３】
本実施形態では、特定部１３が、検出部１１が検出した障害情報を、障害領域特定テーブル１２０に照らし合わせて、メモリ２１における障害発生メモリ領域を特定する。そして、訂正部１４は、障害発生メモリ領域についてのみ、構成データにエラーがあるかどうかを確認し、エラーがある場合、当該エラーが訂正可能なものであれば、当該エラーを訂正し、当該エラーが訂正可能なものでなければ、構成データを、障害発生前の基データに置き換えて、障害を復旧する。
【００４４】
すなわち、本実施形態の障害修復装置１０は、構成データ格納メモリのソフトエラーに起因する障害の修復を、全構成データではなく、障害発生メモリ内の構成データに絞り込んで処理を行うため、障害修復処理に要する時間を低減することを可能とする。
【００４５】
また、構成データ格納メモリにおけるソフトエラーは、通常、偶発的に発生するが、メモリ内部に問題が発生すると、メモリ内の特定の領域でビット反転が頻発し、最終的には固定障害となる可能性がある。したがって、構成データ格納メモリの固定障害が発生する前に、固定障害になる可能性のあるメモリ領域を予測して、固定障害を回避することが重要である。
【００４６】
本実施形態では、合成部１７は、当該障害発生メモリ領域の代替領域として、未使用の障害退避領域を使用するように、障害発生メモリ領域に対応して、元の構成データから再合成構成データ１７１を再合成する。カウント部１６が、障害発生メモリ領域ごとの障害発生件数をカウントし、何れかの障害発生メモリ領域に対応するカウント値が閾値Ａ１４０に達すると、訂正部１４が、当該障害発生メモリ領域に対応する再合成構成データ１７１を合成部１７から入手して、メモリ２１の構成データ２１０を再合成構成データ１７１に更新する。本実施形態の障害修復装置１０は、上述の通り動作することにより、固定障害になる可能性のある障害発生メモリ領域を予測して、固定障害を回避することを可能とする。
【００４７】
また、合成部１７が再合成構成データ１７１の合成を完了するまでには所定の時間を要するため、カウント部１６のカウント値が閾値Ａ１４０に達した時点で、合成部１７が合成構成データ１７１の再合成処理を開始したのでは、障害復旧処理に時間を要することとなる。本実施形態では、何れかの障害発生メモリ領域に対応するカウント値が閾値Ａ１４０よりも値の小さい閾値Ｂ１７２に達すると、合成部１７は、当該障害発生メモリ領域に対応する再合成構成データ１７１の合成処理を開始する。本実施形態の障害修復装置１０は、上述の通り動作することにより、固定障害の回避における障害復旧処理の時間をより短縮することを可能とする。
【００４８】
尚、本実施形態の障害修復装置１０は、集積回路２０が内蔵する場合もある。
＜第二の実施形態＞
次に、本願発明の第２の実施形態について図面を参照して詳細に説明する。
【００４９】
図５は本願発明の第２の実施形態の障害修復装置１０の構成を示すブロック図である。
【００５０】
本実施形態の障害修復装置１０は、検出部１１と、記憶部１２と、特定部１３と、訂正部１４と、を包含している。
【００５１】
検出部１１は、構成データ２１０を格納する更新可能なメモリ２１と、回路素子群２２を備え、構成データ２１０により回路素子群２２の論理動作が定義される集積回路２０の障害を検出して障害情報を出力する。
【００５２】
記憶部１２は、障害情報に関係する構成データ２１０の記述が、メモリ２１が包含する複数のメモリ領域の何れかに存在するかについて、メモリ領域の識別情報と対応付けた障害領域特定テーブル１２０を記憶する。
【００５３】
特定部１３は、障害情報と、障害領域特定テーブル１２０から、障害が発生したメモリ領域である障害発生メモリ領域を特定する。
【００５４】
訂正部１４は、障害発生メモリ領域に格納された構成データについて、当該構成データのエラー検出訂正符号データ１００を基に、期待値と一致しないエラーデータを検出して訂正する。
【００５５】
本実施形態には、第１の実施形態と同様に、構成データにより論理動作を定義するＦＰＧＡ等の集積回路の障害の検出と修復を、障害発生箇所に絞りこんで行うことで、障害修復処理に要する時間を短縮する効果がある。その理由は、記憶部１２が、障害情報に関係する構成データ２１０の記述が、メモリ２１が包含する複数のメモリ領域の何れかに存在するかについて、メモリ領域の識別情報と対応付けた障害領域特定テーブル１２０を記憶し、訂正部１４が、障害情報と障害領域特定テーブル１２０を基に特定部１３が特定したメモリ２１内の障害発生メモリ領域の構成データを、エラー検出訂正符号データ１００を基に、エラーを検出して訂正するからである。
【００５６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００５７】
１    障害修復システム
１０    障害修復装置
１００    エラー検出訂正符号データ
１１    検出部
１２    記憶部
１２０    障害領域特定テーブル
１２００    回路素子
１２０１    メモリ領域
１３    特定部
１４    訂正部
１４０    閾値Ａ
１６    カウント部
１７    合成部
１７０    構成データ
１７１    再合成構成データ
１７２    閾値Ｂ
２０    集積回路
２１    メモリ
２１０    構成データ
２２    回路素子群
【要約】
【課題】ＦＰＧＡの障害の検出と修復を、構成データを格納したメモリの障害発生箇所に絞りこんで行うことで、障害修復処理に要する時間を短縮する障害修復装置を提供する。
【解決手段】本願発明の障害修復装置は、構成データを格納するメモリと、回路素子を備え、構成データにより回路素子の論理動作が定義される集積回路であって、集積回路の障害を検出して障害情報を出力する検出手段と、障害情報に関係する構成データの記述が、メモリが包含する複数のメモリ領域の何れかに存在するかについて、メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶する記憶手段と、障害情報と、障害領域特定テーブルから、障害が発生したメモリ領域である障害発生メモリ領域を特定する特定手段と、障害発生メモリ領域に格納された構成データについて、当該構成データのエラー検出訂正符号データを基に、エラーデータを検出して訂正する訂正手段と、を備える。
【選択図】      図１【図１】
0005500282.tif 000002
【図２】
0005500282.tif 000003
【図３】
0005500282.tif 000004
【図４】
0005500282.tif 000005
【図５】
0005500282.tif 000006