JP5500282B1 - 障害修復装置、障害修復方法、及び、障害修復プログラム - Google Patents
障害修復装置、障害修復方法、及び、障害修復プログラム Download PDFInfo
- Publication number
- JP5500282B1 JP5500282B1 JP2013039192A JP2013039192A JP5500282B1 JP 5500282 B1 JP5500282 B1 JP 5500282B1 JP 2013039192 A JP2013039192 A JP 2013039192A JP 2013039192 A JP2013039192 A JP 2013039192A JP 5500282 B1 JP5500282 B1 JP 5500282B1
- Authority
- JP
- Japan
- Prior art keywords
- configuration data
- failure
- memory
- fault
- memory area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】FPGAの障害の検出と修復を、構成データを格納したメモリの障害発生箇所に絞りこんで行うことで、障害修復処理に要する時間を短縮する障害修復装置を提供する。
【解決手段】本願発明の障害修復装置は、構成データを格納するメモリと、回路素子を備え、構成データにより回路素子の論理動作が定義される集積回路であって、集積回路の障害を検出して障害情報を出力する検出手段と、障害情報に関係する構成データの記述が、メモリが包含する複数のメモリ領域の何れかに存在するかについて、メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶する記憶手段と、障害情報と、障害領域特定テーブルから、障害が発生したメモリ領域である障害発生メモリ領域を特定する特定手段と、障害発生メモリ領域に格納された構成データについて、当該構成データのエラー検出訂正符号データを基に、エラーデータを検出して訂正する訂正手段と、を備える。
【選択図】 図1
【解決手段】本願発明の障害修復装置は、構成データを格納するメモリと、回路素子を備え、構成データにより回路素子の論理動作が定義される集積回路であって、集積回路の障害を検出して障害情報を出力する検出手段と、障害情報に関係する構成データの記述が、メモリが包含する複数のメモリ領域の何れかに存在するかについて、メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶する記憶手段と、障害情報と、障害領域特定テーブルから、障害が発生したメモリ領域である障害発生メモリ領域を特定する特定手段と、障害発生メモリ領域に格納された構成データについて、当該構成データのエラー検出訂正符号データを基に、エラーデータを検出して訂正する訂正手段と、を備える。
【選択図】 図1
Description
本願発明は、構成データにより論理動作を定義する集積回路の障害の検出と修復を行うための、障害修復装置、障害修復方法、及び、障害修復プログラムに関する。
FPGA(Field Programmble Gate Array)をはじめとするプログラム可能な集積回路は、製品出荷後も論理機能の更新が可能であることから、様々なコンピュータシステムにおいて利用されている。FPGAは、論理動作を定義する構成データを格納する構成データ格納メモリと、構成データで定義された論理動作を実行する組み込み回路を包含している。
構成データ格納メモリにおいて、例えばソフトエラーによるビット反転等の障害が発生した場合、構成データの内容が変わるため、FPGAは誤動作する。近年の構成データ格納メモリの大容量化の進展に伴い、ソフトエラー等によるFPGAの障害の発生が増加しており、FPGAの障害を回避、あるいは修復するための技術の重要性が高まってきている。
このようなFPGAの障害に対応するための技術として、特許文献1には、FPGAを複数の物理的なレイアウト領域に分割し、各レイアウト領域に対応して、当該レイアウト領域を使用しないで目的の論理機能を実現させるための構成データを事前に記憶しておくようにした装置が公開されている。この装置は、FPGAの障害を検出したときに、障害が発生したレイアウト領域を特定して、元の構成データを、当該レイアウト領域を使用しない構成データに書き換えることで、障害が発生したレイアウト領域を未使用状態にして、システムの運用を継続する。
また、特許文献2には、FPGAで障害を検出した場合、FPGAの構成データを期待値と比較することで、構成データ格納メモリにおけるソフトエラーに起因するものであるかを判定するようにした装置が公開されている。この装置は、FPGAの障害が、構成データ格納メモリにおけるソフトエラーに起因する場合は、期待値を構成データ格納メモリに書き込むことで、FPGAの障害を修復する。
FPGAの障害には、様々なレベルのものがあるが、例えば上述のような構成データ格納メモリにおけるソフトエラーに起因する障害の場合、ビット反転したエラー箇所を元の正しいデータに訂正すれば、障害を修復することが可能である。
構成データにおけるビット反転したエラー箇所を検出し訂正するためには、構成データが期待値と一致しているかどうかを確認する必要がある。近年における構成データ格納メモリの大容量化が進んだFPGAでは、構成データが期待値と一致しているかどうかの確認処理に時間を要することが問題となっている。しかしながら、前述の特許文献1乃至2は、この問題を解決するための技術については、特に言及していない。
本願発明の目的は、上述の問題を解決した、障害修復装置、障害修復方法、及び、障害修復プログラムを提供することである。
本願発明の一実施形態の障害修復装置は、構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路であって、前記集積回路の障害を検出して障害情報を出力する検出手段と、前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶する記憶手段と、前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定する特定手段と、前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する訂正手段と、を備える。
本願発明の一実施形態の障害修復方法は、構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路の障害を検出して障害情報を出力し、前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶域に記憶し、前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定し、前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する。
本願発明の一実施形態の障害修復プログラムは、構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路の障害を検出して障害情報を出力する検出処理と、前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶域に記憶する記憶処理と、前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定する特定処理と、前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する訂正処理と、をコンピュータに実行させる。
本願発明は、構成データにより論理動作を定義する集積回路の障害の検出と修復を、障害発生箇所に絞りこんで行うことで、障害修復処理に要する時間を短縮することを可能とする。
本願発明の第1の実施の形態について図面を参照して詳細に説明する。
図1は本実施形態の障害修復システム1の構成を示すブロック図である。本実施形態の障害修復システム1は、障害修復装置10と、集積回路20と、を包含している。
集積回路20はFPGA等のプログラム可能な集積回路であり、情報処理装置(図示せず)等に搭載され、メモリ21と、回路素子群22と、を包含している。回路素子群22は、集積回路20に組み込まれた回路素子であり、メモリ21に格納された構成データ210により論理動作が決定される。メモリ21は、複数のメモリ領域を包含し、各メモリ領域には識別情報が付与されている。回路素子群22は、複数の回路素子を包含し、各回路素子には識別情報が付与されている。
メモリ21、及び、回路素子群22は、それぞれ、通常動作時には未使用であるメモリ領域と、当該メモリ領域に対応する回路素子を包含している。この未使用のメモリ領域は、同一のメモリ領域に関して発生した障害発生件数が、所定の閾値に到達した場合、障害を回避するため、障害発生メモリ領域を代替する障害退避領域として使用するためのものである。
障害修復装置10は、検出部11と、記憶部12と、特定部13と、訂正部14と、カウント部16と、合成部17と、を包含している。検出部11、記憶部12、特定部13、訂正部14、カウント部16、及び、合成部17は、電子回路の場合もあれば、コンピュータプログラムの場合もある。
検出部11は、集積回路20で発生した障害を検出して、回路素子群22における障害が発生した回路素子の識別情報を、特定部13へ送信する。
記憶部12は、障害領域特定テーブル120を記憶している。障害領域特定テーブル120の構成例を図4に示す。障害領域特定テーブル120は、回路素子群22における各回路素子の論理動作を定義する構成データ210上のデータが、メモリ21における何れのメモリ領域に存在するかについて、回路素子1200の識別情報と、メモリ領域1201の識別情報とを対応付けて記憶している。例えば、回路素子のレジスタAの論理動作を定義する構成データは、メモリ21における領域1のメモリ領域に格納されている。
特定部13は、障害発生回路素子の識別情報を検出部11から受信すると、障害発生回路素子の識別情報を、障害領域特定テーブル120に照らし合わせて、障害発生回路素子の論理動作を定義する構成データが、メモリ21における何れのメモリ領域に格納されているかを特定する。特定部21は、上述で特定した障害発生メモリ領域の識別情報を、訂正部14、及び、カウント部16に送信する。
カウント部16は、障害発生メモリ領域ごとに、障害発生件数を記憶しており、特定部13から障害発生メモリ領域の識別情報を受信すると、当該障害発生メモリ領域の障害発生件数の値に1を加算する。カウント部16は、障害発生メモリ領域ごとの障害発生件数のカウント値を更新すると、障害発生メモリ領域の識別情報とカウント値を、訂正部14と合成部17へ送信する。カウント部16は、カウント値が所定の値に達すると、カウント値をリセットする。
合成部17は、構成データ210の基データである、構成データ170を記憶している。メモリ21において障害が発生していない場合、構成データ170と、メモリ21における構成データ210は同一のものとなる。合成部17は、カウント部16から障害発生メモリ領域ごとの障害発生件数のカウント値を受信し、カウント値が閾値B172と等しい場合、構成データ170の値を基に、再合成構成データ171の合成処理を開始する。合成部17は、構成データ170の合成の基としたRTL(Register Trasfer Level)等のデータを基に、再合成構成データ171を合成する場合もある。
再合成構成データ171は、障害発生件数が閾値B172に達した障害発生メモリ領域の代替領域として、未使用の障害退避領域を使用するように、構成データ170を基に再合成された、集積回路20の構成データである。合成部17は、障害発生メモリ領域に対応して、複数の再合成構成データ171を格納するための複数のエントリを包含する内部メモリを備えている。合成部17は、所定の時間をかけて再合成構成データ171を合成した後、障害発生メモリ領域の識別情報に対応付けて、再合成構成データ171を内部メモリに格納する。
合成部17は、再合成構成データ171を格納するためのエントリを全て使用中のときに新規に再合成構成データ171を再合成した場合、何れかのエントリに格納済みの再合成構成データ171を消去して、新しい再合成構成データ171を当該エントリに格納する。合成部17が格納済みの再合成構成データ171を削除するエントリを選択する基準としては、障害発生件数が最も少ない障害発生メモリ領域に対応するものとする場合もあれば、最後に障害が発生してからの時間が最も長い障害発生メモリ領域に対応するものとする場合もある。
訂正部14は、カウント部16から、障害発生メモリ領域の識別情報とカウント値を受信すると、構成データ210の障害発生メモリ領域に格納された部分のデータについて、当該障害発生メモリ領域に対応するエラー検出訂正符号データ100を基に、エラーがあるかどうかを確認する。エラー検出訂正符号データ100は、構成データ210に期待値と一致しないエラー箇所があるかどうかを確認し、エラー箇所がある場合は、当該エラー箇所を期待値に訂正するためのエラー検出訂正符号のデータであり、メモリ21のメモリ領域ごとに存在する。
訂正部14は、カウント値が閾値A140未満であり、かつ、障害発生メモリ領域にエラーが存在する場合、障害が障害発生メモリ領域内の偶発的なソフトエラーに起因するものであると判断する。この場合、訂正部14は、検出したエラーが1ビットエラー等の訂正可能なエラーである場合は、エラー検出訂正符号データ100を用いて当該エラーを訂正する。訂正部14は、検出したエラーが訂正可能なエラーでない場合、合成部17から構成データ170を入手して、メモリ21内の構成データ210を、構成データ170に置き換える。尚、閾値A140は、閾値B172よりも大きな値である。
訂正部14は、カウント値が閾値A140未満であり、かつ、障害発生メモリ領域にエラーが存在しない場合、障害が構成データ210による回路素子群22の論理動作の定義付けの処理における不具合の発生に起因するものであると判断する。この場合、訂正部14は、集積回路20に再初期化を実行させる。
訂正部14は、カウント値が閾値A140以上である場合、障害が障害発生メモリ領域内の固定障害になりつつある障害に起因するものであると判断する。この場合、訂正部14は、障害発生メモリ領域に対応する再合成構成データ171を合成部17から入手して、メモリ21の構成データ210を、再合成構成データ171に更新する。
次に図2、及び、図3のフローチャートを参照して、本実施形態の動作について詳細に説明する。
検出部11は、集積回路20で発生した障害を検出して、回路素子群22における、障害が発生した回路素子の識別情報を比較部13へ送信する(S101)。特定部13は、受信した、障害が発生した回路素子の識別情報を、記憶部12における障害領域特定テーブル120に照らし合わせて、障害発生回路素子に対応する構成データ210内の記述が格納されているメモリ21内のメモリ領域を特定し、特定した障害発生メモリ領域の識別情報を、訂正部14、及び、カウント部16へ送信する(S102)。
カウント部16は、特定されたメモリ21内の障害発生メモリ領域の障害発生回数に1を加算してカウント値を更新し、障害発生メモリ領域の識別情報と、カウント値を訂正部14と合成部17へ送信する(S103)。
カウント値が閾値B172未満の場合(S104でNo)、訂正部14は、メモリ21内の障害発生メモリ領域について、エラー検出訂正符号データ100を基に、構成データ210にエラーがあるかどうかを確認する(S108)。
カウント値が閾値B172と等しい場合(S104乃至S105でYes)、合成部17は、構成データ170を基に、メモリ21内の障害発生メモリ領域のかわりに障害退避メモリ領域を使用して再合成した再合成構成データ171の合成動作を開始し、合成完了後、メモリ21内の障害領域メモリ領域に対応付けて記憶し(S106)、処理はS108へ進む。
カウント値が閾値B172より大きく(S104でYes、かつ、S105でNo)、カウント値が閾値A140未満の場合(S107でNo)、処理はS108へ進む。カウント値が閾値A以上の場合(S107でYes)、訂正部14は、メモリ21内の障害発生メモリ領域に対応する再合成構成データ171を合成部17から入手し、メモリ21の構成データ210を、再合成構成データ171に更新する(S115)。合成部17は、エラー検出訂正符号データ100を、再合成データ171に対応したものに更新する(S116)。カウント部16はカウント値をリセットし(S117)、全体の処理は終了する。
構成データ210にエラーがあり(S109でYes)、エラーがエラー検出訂正符号データ100で訂正可能である場合(S110でYes)、訂正部14は、メモリ21内の障害発生メモリ領域の構成データ210のデータのエラーを、エラー検出訂正符号データ100により訂正し(S111)、全体の処理は終了する。
構成データ210にエラーがあり(S109でYes)、エラーがエラー検出訂正符号データ100で訂正可能でない場合(S110でNo)、訂正部14は、メモリ21内の構成データ210を、合成部17から入手した構成データ170に置き換え(S112)、全体の処理は終了する。
構成データ210にエラーがない場合(S109でNo)、訂正部14は、集積回路20に再初期化を指示する(S113)。集積回路20は、再初期化を実行し(S114)、全体の処理は終了する。
本実施形態には、構成データにより論理動作を定義するFPGA等の集積回路の障害の検出と修復を、障害発生箇所に絞りこんで行うことで、障害修復処理に要する時間を短縮する効果がある。その理由は、記憶部12が、集積回路20の回路素子と当該回路素子の論理動作を定義する構成データを格納したメモリ21内のメモリ領域を対応付けた障害領域特定テーブル120を記憶し、訂正部14が、障害情報と障害領域特定テーブル120を基に特定部13が特定したメモリ21内の障害発生メモリ領域の構成データを、エラー検出訂正符号データ100により訂正するからである。
FPGA等の集積回路では、構成データを格納するメモリでソフトエラーによるビット反転が発生すると、回路素子群の動作論理が変わるため、集積回路からの出力結果が不正となり、集積回路の障害となる。この障害は、ハードウェア上の固定故障とは異なり、ビット反転によりデータが変化した構成データを基のデータに修復することで、障害を復旧することが可能である。
障害が構成データ格納メモリのソフトエラーに起因するかどうかは、エラー検出訂正符号データを用いて、構成データに期待値と一致しないエラーがあるかどうかを確認することで可能である。近年の集積化が高度に進んだFPGAは、大容量の構成データ格納メモリを搭載しているため、全構成データについてエラー検出訂正符号データにより、エラーがあるかどうかを確認する処理を行うと、障害復旧に要する時間が長くなる。
本実施形態では、特定部13が、検出部11が検出した障害情報を、障害領域特定テーブル120に照らし合わせて、メモリ21における障害発生メモリ領域を特定する。そして、訂正部14は、障害発生メモリ領域についてのみ、構成データにエラーがあるかどうかを確認し、エラーがある場合、当該エラーが訂正可能なものであれば、当該エラーを訂正し、当該エラーが訂正可能なものでなければ、構成データを、障害発生前の基データに置き換えて、障害を復旧する。
すなわち、本実施形態の障害修復装置10は、構成データ格納メモリのソフトエラーに起因する障害の修復を、全構成データではなく、障害発生メモリ内の構成データに絞り込んで処理を行うため、障害修復処理に要する時間を低減することを可能とする。
また、構成データ格納メモリにおけるソフトエラーは、通常、偶発的に発生するが、メモリ内部に問題が発生すると、メモリ内の特定の領域でビット反転が頻発し、最終的には固定障害となる可能性がある。したがって、構成データ格納メモリの固定障害が発生する前に、固定障害になる可能性のあるメモリ領域を予測して、固定障害を回避することが重要である。
本実施形態では、合成部17は、当該障害発生メモリ領域の代替領域として、未使用の障害退避領域を使用するように、障害発生メモリ領域に対応して、元の構成データから再合成構成データ171を再合成する。カウント部16が、障害発生メモリ領域ごとの障害発生件数をカウントし、何れかの障害発生メモリ領域に対応するカウント値が閾値A140に達すると、訂正部14が、当該障害発生メモリ領域に対応する再合成構成データ171を合成部17から入手して、メモリ21の構成データ210を再合成構成データ171に更新する。本実施形態の障害修復装置10は、上述の通り動作することにより、固定障害になる可能性のある障害発生メモリ領域を予測して、固定障害を回避することを可能とする。
また、合成部17が再合成構成データ171の合成を完了するまでには所定の時間を要するため、カウント部16のカウント値が閾値A140に達した時点で、合成部17が合成構成データ171の再合成処理を開始したのでは、障害復旧処理に時間を要することとなる。本実施形態では、何れかの障害発生メモリ領域に対応するカウント値が閾値A140よりも値の小さい閾値B172に達すると、合成部17は、当該障害発生メモリ領域に対応する再合成構成データ171の合成処理を開始する。本実施形態の障害修復装置10は、上述の通り動作することにより、固定障害の回避における障害復旧処理の時間をより短縮することを可能とする。
尚、本実施形態の障害修復装置10は、集積回路20が内蔵する場合もある。
<第二の実施形態>
次に、本願発明の第2の実施形態について図面を参照して詳細に説明する。
<第二の実施形態>
次に、本願発明の第2の実施形態について図面を参照して詳細に説明する。
図5は本願発明の第2の実施形態の障害修復装置10の構成を示すブロック図である。
本実施形態の障害修復装置10は、検出部11と、記憶部12と、特定部13と、訂正部14と、を包含している。
検出部11は、構成データ210を格納する更新可能なメモリ21と、回路素子群22を備え、構成データ210により回路素子群22の論理動作が定義される集積回路20の障害を検出して障害情報を出力する。
記憶部12は、障害情報に関係する構成データ210の記述が、メモリ21が包含する複数のメモリ領域の何れかに存在するかについて、メモリ領域の識別情報と対応付けた障害領域特定テーブル120を記憶する。
特定部13は、障害情報と、障害領域特定テーブル120から、障害が発生したメモリ領域である障害発生メモリ領域を特定する。
訂正部14は、障害発生メモリ領域に格納された構成データについて、当該構成データのエラー検出訂正符号データ100を基に、期待値と一致しないエラーデータを検出して訂正する。
本実施形態には、第1の実施形態と同様に、構成データにより論理動作を定義するFPGA等の集積回路の障害の検出と修復を、障害発生箇所に絞りこんで行うことで、障害修復処理に要する時間を短縮する効果がある。その理由は、記憶部12が、障害情報に関係する構成データ210の記述が、メモリ21が包含する複数のメモリ領域の何れかに存在するかについて、メモリ領域の識別情報と対応付けた障害領域特定テーブル120を記憶し、訂正部14が、障害情報と障害領域特定テーブル120を基に特定部13が特定したメモリ21内の障害発生メモリ領域の構成データを、エラー検出訂正符号データ100を基に、エラーを検出して訂正するからである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1 障害修復システム
10 障害修復装置
100 エラー検出訂正符号データ
11 検出部
12 記憶部
120 障害領域特定テーブル
1200 回路素子
1201 メモリ領域
13 特定部
14 訂正部
140 閾値A
16 カウント部
17 合成部
170 構成データ
171 再合成構成データ
172 閾値B
20 集積回路
21 メモリ
210 構成データ
22 回路素子群
10 障害修復装置
100 エラー検出訂正符号データ
11 検出部
12 記憶部
120 障害領域特定テーブル
1200 回路素子
1201 メモリ領域
13 特定部
14 訂正部
140 閾値A
16 カウント部
17 合成部
170 構成データ
171 再合成構成データ
172 閾値B
20 集積回路
21 メモリ
210 構成データ
22 回路素子群
Claims (10)
- 構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路であって、前記集積回路の障害を検出して障害情報を出力する検出手段と、
前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶する記憶手段と、
前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定する特定手段と、
前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する訂正手段と、
を備える障害修復装置。 - 前記検出手段は、複数の前記回路素子を備えた前記集積回路における、障害が発生した前記回路素子の識別情報を、前記障害情報として出力し、
前記記憶手段は、前記回路素子の識別情報と、前記メモリ領域の識別情報とを対応付けた前記障害領域特定テーブルを記憶する、
請求項1の障害修復装置。 - 前記訂正手段は、前記エラーを訂正できない場合に、前記構成データを、障害発生前の前記構成データで置き換える、
請求項1乃至2のいずれか1項に記載の障害修復装置。 - 通常時には未使用の前記メモリ領域である障害退避メモリ領域を包含する前記メモリを備えた前記集積回路について、前記障害発生メモリ領域ごとの障害発生回数をカウントするカウント手段と、
前記障害発生メモリ領域の前記構成データを、当該障害発生メモリ領域ではなく、前記障害退避メモリ領域で使用するように、前記構成データを再合成して、再合成構成データとして記憶する合成手段と、
をさらに備え、
前記訂正手段は、当該障害発生メモリ領域に関する前記障害発生回数が、第一の閾値に達したときに、前記合成手段が記憶した前記再合成構成データを入手して、前記メモリに格納された前記構成データを、前記再合成構成データに更新する、
請求項1乃至3のいずれか1項に記載の障害修復装置。 - 前記合成手段は、前記障害発生回数が、前記第一の閾値よりも小さい第二の閾値に達したときに、前記再合成構成データの合成動作を開始する、
請求項4の障害修復装置。 - 前記合成手段は、複数の前記障害発生メモリ領域の各々に対応して、前記再合成構成データを合成し、前記障害発生メモリ領域の前記識別情報に対応付けて、前記合成構成データを記憶し、
前記訂正手段は、前記障害発生回数が、前記第一の閾値に達した前記障害発生メモリ領域の前記識別情報により特定される前記再合成構成データを、前記合成手段から入手する、
請求項4乃至5のいずれか1項に記載の障害修復装置。 - 構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路の障害を検出して障害情報を出力し、
前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶域に記憶し、
前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定し、
前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する、
障害修復方法。 - 複数の前記回路素子を備えた前記集積回路における、障害が発生した前記回路素子の識別情報を、前記障害情報として出力し、
前記回路素子の識別情報と、前記メモリ領域の識別情報とを対応付けた前記障害領域特定テーブルを前記記憶域に記憶する、
請求項7の障害修復方法。 - 構成データを格納する更新可能なメモリと、回路素子を備え、前記構成データにより前記回路素子の論理動作が定義される集積回路の障害を検出して障害情報を出力する検出処理と、
前記障害情報に関係する前記構成データの記述が、前記メモリが包含する複数のメモリ領域の何れかに存在するかについて、前記メモリ領域の識別情報と対応付けた障害領域特定テーブルを記憶域に記憶する記憶処理と、
前記障害情報と、前記障害領域特定テーブルから、障害が発生した前記メモリ領域である障害発生メモリ領域を特定する特定処理と、
前記障害発生メモリ領域に格納された前記構成データについて、当該構成データのエラー検出訂正符号データを基に、期待値と一致しないエラーデータを検出して訂正する訂正処理と、
をコンピュータに実行させる障害修復プログラム。 - 複数の前記回路素子を備えた前記集積回路における、障害が発生した前記回路素子の識別情報を、前記障害情報として出力する前記検出処理と、
前記回路素子の識別情報と、前記メモリ領域の識別情報とを対応付けた前記障害領域特定テーブルを前記記憶域に記憶する前記記憶処理と、
をコンピュータに実行させる請求項9の障害修復プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013039192A JP5500282B1 (ja) | 2013-02-28 | 2013-02-28 | 障害修復装置、障害修復方法、及び、障害修復プログラム |
US14/188,596 US9405612B2 (en) | 2013-02-28 | 2014-02-24 | Fault repair apparatus, fault repair method and storage medium storing fault repair program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013039192A JP5500282B1 (ja) | 2013-02-28 | 2013-02-28 | 障害修復装置、障害修復方法、及び、障害修復プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5500282B1 true JP5500282B1 (ja) | 2014-05-21 |
JP2014167708A JP2014167708A (ja) | 2014-09-11 |
Family
ID=50941735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013039192A Expired - Fee Related JP5500282B1 (ja) | 2013-02-28 | 2013-02-28 | 障害修復装置、障害修復方法、及び、障害修復プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9405612B2 (ja) |
JP (1) | JP5500282B1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
DE102013225131A1 (de) * | 2013-12-06 | 2015-06-11 | Robert Bosch Gmbh | Verfahren zur Fehlerüberprüfung einer hardware-konfigurierbaren Logikschaltung |
US9983938B2 (en) | 2015-04-17 | 2018-05-29 | Microsoft Technology Licensing, Llc | Locally restoring functionality at acceleration components |
US10511478B2 (en) | 2015-04-17 | 2019-12-17 | Microsoft Technology Licensing, Llc | Changing between different roles at acceleration components |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US9792154B2 (en) | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US10216555B2 (en) | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
US10810076B1 (en) * | 2018-08-28 | 2020-10-20 | Palantir Technologies Inc. | Fault clustering for remedial action analysis |
CN111145530B (zh) * | 2019-12-31 | 2023-10-13 | 深圳库马克科技有限公司 | 一种高压变频器功率单元的通信方法 |
KR20240005420A (ko) * | 2022-07-05 | 2024-01-12 | 삼성전자주식회사 | 설정 데이터를 사용하여 리셋을 수행하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0844581A (ja) * | 1994-07-29 | 1996-02-16 | Fujitsu Ltd | 自己修復機能付き情報処理装置 |
JPH0962528A (ja) * | 1995-08-23 | 1997-03-07 | Fujitsu Ltd | 自己修復装置 |
JP2012053778A (ja) * | 2010-09-02 | 2012-03-15 | Toshinori Sueyoshi | プログラマブル論理回路のエラー訂正回路 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5737766A (en) * | 1996-02-14 | 1998-04-07 | Hewlett Packard Company | Programmable gate array configuration memory which allows sharing with user memory |
US5909657A (en) * | 1996-06-04 | 1999-06-01 | Advantest Corporation | Semiconductor device testing apparatus |
US6011740A (en) * | 1998-03-04 | 2000-01-04 | Xilinx, Inc. | Structure and method for providing additional configuration memories on an FPGA |
JPH11339462A (ja) * | 1998-05-22 | 1999-12-10 | Sony Corp | 記録媒体、及びドライブ装置 |
JP3972089B2 (ja) * | 2000-11-30 | 2007-09-05 | 株式会社ルネサステクノロジ | 半導体メモリのテスト用ボードおよびテスト方法並びに製造方法 |
US6973608B1 (en) * | 2001-07-06 | 2005-12-06 | Agere Systems Inc. | Fault tolerant operation of field programmable gate arrays |
US6874108B1 (en) * | 2001-08-27 | 2005-03-29 | Agere Systems Inc. | Fault tolerant operation of reconfigurable devices utilizing an adjustable system clock |
US6947234B2 (en) * | 2002-07-23 | 2005-09-20 | International Business Machines Corporation | Method, system, and program for performing error correction in a storage device having a magnetic storage medium |
US7146598B2 (en) * | 2002-11-07 | 2006-12-05 | Computer Network Technoloy Corp. | Method and apparatus for configuring a programmable logic device |
US7269724B1 (en) * | 2003-01-30 | 2007-09-11 | Xilinx, Inc. | Remote field upgrading of programmable logic device configuration data via adapter connected to target memory socket |
JP3930446B2 (ja) * | 2003-03-13 | 2007-06-13 | 株式会社東芝 | 半導体装置 |
US7685485B2 (en) * | 2003-10-30 | 2010-03-23 | Altera Corporation | Functional failure analysis techniques for programmable integrated circuits |
US7509547B1 (en) * | 2005-09-07 | 2009-03-24 | Xilinx, Inc. | System and method for testing of interconnects in a programmable logic device |
CN101395568A (zh) * | 2006-03-03 | 2009-03-25 | 国际商业机器公司 | 处理读取错误的读取装置、系统、其方法以及程序 |
JP4998681B2 (ja) | 2006-07-10 | 2012-08-15 | 富士ゼロックス株式会社 | 情報処理装置、情報処理装置の動作方法およびプログラム |
EP2201575A2 (en) * | 2007-09-18 | 2010-06-30 | Mentor Graphics Corporation | Fault diagnosis in a memory bist environment using a linear feedback shift register |
US7619438B1 (en) * | 2007-10-11 | 2009-11-17 | Xilinx, Inc. | Methods of enabling the use of a defective programmable device |
US7906984B1 (en) * | 2008-02-26 | 2011-03-15 | The United States Of America As Represented By The Secretary Of The Air Force | Relocatable field programmable gate array bitstreams for fault tolerance |
US8433950B2 (en) * | 2009-03-17 | 2013-04-30 | International Business Machines Corporation | System to determine fault tolerance in an integrated circuit and associated methods |
US8572538B2 (en) * | 2011-07-01 | 2013-10-29 | Altera Corporation | Reconfigurable logic block |
US9003246B2 (en) * | 2012-09-29 | 2015-04-07 | Intel Corporation | Functional memory array testing with a transaction-level test engine |
US9536626B2 (en) * | 2013-02-08 | 2017-01-03 | Intel Corporation | Memory subsystem I/O performance based on in-system empirical testing |
DE102013225131A1 (de) * | 2013-12-06 | 2015-06-11 | Robert Bosch Gmbh | Verfahren zur Fehlerüberprüfung einer hardware-konfigurierbaren Logikschaltung |
-
2013
- 2013-02-28 JP JP2013039192A patent/JP5500282B1/ja not_active Expired - Fee Related
-
2014
- 2014-02-24 US US14/188,596 patent/US9405612B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0844581A (ja) * | 1994-07-29 | 1996-02-16 | Fujitsu Ltd | 自己修復機能付き情報処理装置 |
JPH0962528A (ja) * | 1995-08-23 | 1997-03-07 | Fujitsu Ltd | 自己修復装置 |
JP2012053778A (ja) * | 2010-09-02 | 2012-03-15 | Toshinori Sueyoshi | プログラマブル論理回路のエラー訂正回路 |
Also Published As
Publication number | Publication date |
---|---|
US9405612B2 (en) | 2016-08-02 |
US20140245061A1 (en) | 2014-08-28 |
JP2014167708A (ja) | 2014-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5500282B1 (ja) | 障害修復装置、障害修復方法、及び、障害修復プログラム | |
KR100645058B1 (ko) | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 | |
US9575692B2 (en) | Cache control device having fault-tolerant function and method of operating the same | |
JP4998681B2 (ja) | 情報処理装置、情報処理装置の動作方法およびプログラム | |
US9092349B2 (en) | Storage of codeword portions | |
JP5010271B2 (ja) | エラー訂正コード生成方法、およびメモリ制御装置 | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
US20160266964A1 (en) | Programmable logic circuit device and error detection method therefor | |
WO2015102842A1 (en) | Bit remapping system | |
US20140344643A1 (en) | Hybrid memory protection method and apparatus | |
JP4793741B2 (ja) | 誤り訂正回路、誤り訂正方法 | |
JP2010170462A (ja) | 障害処理装置および方法 | |
US8413132B2 (en) | Techniques for resolving read-after-write (RAW) conflicts using backup area | |
US20120096335A1 (en) | Data processing method and semiconductor integrated circuit | |
JP5486139B2 (ja) | ソフトエラーのクリティカリティの分類およびクリティカリティに基づくソフトエラーの緩和 | |
CN103208312B (zh) | 一种提高车辆电子控制单元里程数据存储精度的方法 | |
TW201346529A (zh) | 訊號處理電路以及使用該訊號處理電路的測試裝置 | |
CN109491951B (zh) | 一种配置数据的方法以及计算设备 | |
US9043655B2 (en) | Apparatus and control method | |
CN111352754A (zh) | 一种数据存储检错纠错方法及数据存储装置 | |
TW201335844A (zh) | 控制器、位址選擇器及替換錯誤指令的方法 | |
CN100392608C (zh) | 错误通知方法及信息处理装置 | |
JP7364263B2 (ja) | 多重化回路装置及びエラー修復方法 | |
JP2006155735A (ja) | 記憶装置 | |
JP2015121944A (ja) | メモリアクセス制御装置、メモリアクセス制御システム、メモリアクセス制御方法、及び、メモリアクセス制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5500282 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |