JP5506908B2 - 集積回路における故障耐性 - Google Patents

集積回路における故障耐性 Download PDF

Info

Publication number
JP5506908B2
JP5506908B2 JP2012500168A JP2012500168A JP5506908B2 JP 5506908 B2 JP5506908 B2 JP 5506908B2 JP 2012500168 A JP2012500168 A JP 2012500168A JP 2012500168 A JP2012500168 A JP 2012500168A JP 5506908 B2 JP5506908 B2 JP 5506908B2
Authority
JP
Japan
Prior art keywords
user
data
configurable memory
memory
configurable
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
Application number
JP2012500168A
Other languages
English (en)
Other versions
JP2012521123A (ja
Inventor
ランク、アンドリュー
トレメイン、ロバート
チェック、マーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012521123A publication Critical patent/JP2012521123A/ja
Application granted granted Critical
Publication of JP5506908B2 publication Critical patent/JP5506908B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Description

本発明は集積回路の分野に関し、より具体的には、集積回路における故障耐性(faulttolerance)に関する。
フィールド・プログラム可能ゲート・アレイ(“FPGA”)装置は、互いに対して及び論理ブロックに対して設定可能な接続を有する相互接続導電体のマトリクスに埋め込まれた設定可能な論理ブロックのアレイを有する集積回路チップである。単一のFPGAチップ内に多数存在することがあるプログラム可能素子の単一のグループを図1に示す。グループの規模は、FPGAのアーキテクチャの物理的特性によって決定される。
中心的構造体は、データ・アクセス・レジスタ配列100、及びプログラム可能素子140−157のどれを動作させるかを決定するアドレス指定機能部120である。図1のこれらの構造体の各々は、1つ又は複数のかかる構造体をロードするように設計されている中央ロード機構103により入力され、これらの構造体の多くをチェックすることができる中央の周期的冗長検査(“CRC”)チェック構造体104に出力する。データ・アクセス・レジスタ配列100は、スキャン接続101によって中央ロード機構から入力され、スキャン接続102によって中央CRCチェック構造体104に出力する。
各プログラム可能素子140−157は2つの部分、すなわち、スタティック・ランダム・アクセス・メモリ(“SRAM”)160及びプログラム可能論理161からなる。各セル内のSRAM160のサイズは、プログラム可能論理161のプログラム可能性の範囲によって決定される。SRAM160のサイズ、及びチェックを行う望ましい速度が実施されるチェックの範囲を決定する。
アドレス指定機能部120は、任意の所与のサイクルにおいて、プログラム可能素子140−157のどれが、データ・アクセス・レジスタ配列100にロードされる、すなわち読み込まれるかを決定する。
データ・アクセス・レジスタ配列100は、単一のプログラム可能素子140−157内のSRAMとそれぞれ同じ幅のデータバス110−115により、プログラム可能素子140−157に接続される。
アドレス指定機能部120からの各プログラム可能素子への制御は、アドレス選択信号130−135により接続される。この例では、例えば140,146及び152のような単一の列内の複数のプログラム可能素子をロードすることができる。
集積回路内の故障耐性を定めるためのシステム及び方法を提供する。
本発明の1つの態様は、集積回路内の故障耐性を定めるための、集積回路により保持されるプログラム可能論理デバイスを含むことができるシステムである。このシステムはまた、プログラム可能論理デバイスにより保持される設定可能メモリを含み、プログラム可能論理デバイスの一部分の機能及び/又は接続を制御することができる。本システムは、プログラム可能論理デバイスにより保持され、ユーザ及び/又は設定可能メモリと通信するユーザ論理をさらに含むことができる。ユーザ論理は、設定可能メモリ内の破損データをユーザ要求の変化に基づいて識別することができる。
ユーザ論理は、設定可能メモリビット及び/又は設定可能メモリ・チェッカビットへのアクセスを与えて、設定可能メモリに対するエラー検出及び/又はエラー修正を与えることができる。プログラム可能論理デバイスの一部分は、ユーザ論理を介して、及び/又はユーザによる破損データ識別スキームの選択に基づいて、チェッカとして選択することができる。
本システムはまた、プログラム可能論理デバイスの一部分の行及び/又は列のキャプチャ・ラッチを含むこともできる。キャプチャ・ラッチとユーザ論理は協働して設定可能メモリ内の任意の破損データの位置を明確に特定することができる。
ユーザ論理は、破損データの深刻度、破損データの重要度、及び/又は破損データの粒度を決定することができる。本システムは、ユーザ論理と通信するマルチプレクサをさらに含んで設定可能メモリ内の識別された任意の破損データの代わりに正しいデータを供給することができる。
プログラム可能論理デバイスは、複合プログラム可能論理デバイス及び/又はフィールド・プログラム可能・ゲート・アレイを含むことができる。設定可能メモリは、例えばスタティック・ランダム・アクセス・メモリ及び/又はダイナミック・ランダム・アクセス・メモリなどの揮発性メモリ、及び/又は、例えばFLASHメモリ及び磁気ランダム・アクセス・メモリなどの不揮発性メモリを含むことができる。
本発明の別の態様は、集積回路内の故障耐性を定める方法である。本方法は、プログラム可能論理デバイスの一部分の機能及び接続のうちの少なくとも1つを、設定可能メモリを介して制御することを含むことができる。本方法は、設定可能メモリ内の破損データを、選択されたユーザ要求に基づいて、ユーザ及び/又はプログラム可能論理デバイスと通信するユーザ論理を介して識別することをさらに含むことができる。
本方法はさらに、設定可能メモリビット及び/又は設定可能メモリ・チェッカビットにアクセスして、設定可能メモリに対するエラー検出及び/又はエラー修正を供給することを含むことができる。本方法はまた、プログラム可能論理デバイスの一部分をチェッカとして選択すること、及び/又は破損データ識別スキームを選択することを含むことができる。
本方法は、設定可能メモリ内の破損データの位置を、プログラム可能論理デバイスの一部分の行及び列のうちの少なくとも1つのキャプチャ・ラッチを介して、特定することをさらに含むことができる。本方法はさらに、破損データの深刻度、破損データの重要度、及び/又は破損データの粒度のうちの少なくとも1つを決定することを含むことができる。本方法はまた、設定可能メモリ内の破損データを正しいデータで置き換えることを含むことができる。
これより、本発明の実施形態を、添付の図面を参照しながら、例証としてのみ説明する。
従来技術のFPGAの概略ブロック図である。 本発明の実施形態による、故障耐性を定めるシステムの概略ブロック図である。 本発明の実施形態による、方法の態様を示すフローチャートである。 図3の方法による、方法の態様を示すフローチャートである。 図3の方法による、方法の態様を示すフローチャートである。 図3の方法による、方法の態様を示すフローチャートである。 図6の方法による、方法の態様を示すフローチャートである。 図6の方法による、方法の態様を示すフローチャートである。 本発明の実施形態による、設定可能メモリ、及びユーザ論理に対する新しい要素を有する関連データ・アクセス・レジスタの概略ブロック図である。 本発明の実施形態による、FPGAのプログラム可能素子を制御するSRAMの局所パターン修正に関する局所チェックを行う新しいタップと多重化挿入点を示す概略ブロック図である。 本発明の実施形態による、CRCに基づくチェックを行うように加えられた局所チェック、及び、格納圧縮パターンに基づいて置き換えをもたらす局所修正を示す概略ブロック図である。 本発明の実施形態による、格納ECCパターンに基づいてチェックを行うように加えられた局所チェック、及び、それらの同じ格納ECCパターンに基づいて置き換えをもたらす局所修正を示す概略ブロック図である。 本発明の実施形態による、局所マルチプレクサ制御ラインの動作に関するフローチャートである。
図2を参照しながら、初めに集積回路12内の故障耐性を定めるシステム10を説明する。システム10は、例えば、集積回路12によって保持されるプログラム可能論理デバイス14を含む。一実施形態において、プログラム可能論理デバイス14は複合プログラム可能論理デバイス、フィールド・プログラム可能・ゲート・アレイ、又は当業者により認識されることになる類似物を含む。
別の実施形態において、システム10はまた、例えばプログラム可能論理デバイス14により保持される設定可能論理ブロック・アレイを含む。一実施形態において設定可能論理ブロック・アレイは、互いに対して及び論理ブロックに対して設定可能な接続を有する相互接続導電体のマトリクスを含む。
システム10はまた、プログラム可能論理デバイスによって保持される設定可能メモリ18a−18nを含んで、例えばプログラム可能論理デバイスの機能及び/又は接続を制御する。一実施形態においてプログラム可能論理デバイス14の一部分は、部分的に設定可能メモリ18a−18nを含む1つ又は複数のプログラム可能ルックアップ・テーブル(“LUT”)を含む。別の実施形態において設定可能メモリ18a−18nは、SRAM、ダイナミック・ランダム・アクセス・メモリなどを含む。
システム10は、プログラム可能論理デバイス14により保持され、例えば、ユーザ22及び/又は設定可能メモリ18a−18nと通信する、ユーザ論理20a−20nをさらに含む。一実施形態においてユーザ論理20a−20nは、設定可能メモリ18a−18n内の破損データを、ユーザ要求の変化に基づいて識別する。別の実施形態においては、設定可能メモリ18a−18nを用いて、ユーザ論理20a−20nの一部分に対するブール論理制御状態すなわち“真理値表”が定められる。
ユーザ論理20a−20nは、設定可能メモリビット及び/又は設定可能メモリ・チェッカビットへのアクセスを与え、例えば、設定可能メモリ18a−18nに対するエラー検出及び/又はエラー修正を供給する。一実施形態においてプログラム可能論理デバイス14の一部分は、ユーザ論理20a−20nを介して、及び/又はユーザによる破損データ識別スキームの選択に基づいて、チェッカ24として選択される。別の実施形態においてユーザ論理20a−20nは、破損データの深刻度、破損データの重要度、及び/又は破損データの粒度を決定する。
システム10はまた、例えば、プログラム可能論理デバイス14の一部分の行及び/又は列のキャプチャ・ラッチ26を含む。一実施形態において、キャプチャ・ラッチ26及びユーザ論理20a−20nは協働して、設定可能メモリ18a−18n内の任意の破損データの位置を明確に特定する。
システム10は、ユーザ論理20a−20nと通信するマルチプレクサ28をさらに含んで、例えば、設定可能メモリ18a−18n内の識別された任意の破損データの代わりに、正しいデータ29を与える。
本発明の別の態様は、集積回路内の故障耐性を定める方法であり、これから図3のフローチャート30を参照して説明する。この方法はブロック32で始まり、ブロック34においてプログラム可能論理デバイスによって保持される設定可能メモリを介して、プログラム可能論理デバイスの一部分の機能及び接続のうちの少なくとも1つを制御することを含む。本方法はまた、ブロック36において、設定可能メモリ内の破損データを、選択されたユーザ要求に基づいて、ユーザ及びプログラム可能論理デバイスのうちの少なくとも1つと通信するユーザ論理を介して識別することを含むことができる。本方法はブロック38で終了する。
別の方法の実施形態を図4のフローチャート40を参照してこれから説明するが、この方法はブロック42で始まる。本方法は、ブロック34及び36において、図3のステップを含むことができる。本方法はまた、ブロック44において、設定可能メモリビット及び設定可能メモリ・チェッカビットのうちの少なくとも1つにアクセスして設定可能メモリに対するエラー検出及びエラー修正のうちの少なくとも1つを供給することを含むことができる。本方法はブロック46で終了する。
別の方法の実施形態を図5のフローチャート50を参照してこれから説明するが、この方法ブロック52で始まる。本方法は、ブロック34及び36において、図3のステップを含むことができる。本方法はまた、ブロック54において、プログラム可能論理デバイスの一部分を、ユーザ論理を介して、及びユーザの破損データ識別スキームの選択に基づいて、チェッカとして選択することを含むことができる。本方法はブロック56で終了する。
別の方法の実施形態を図6のフローチャート60を参照してこれから説明するが、この方法はブロック62で始まる。本方法は、ブロック34及び36において図3のステップを含むことができる。本方法はまた、ブロック64において、設定可能メモリ内の任意の破損データの位置を、プログラム可能論理デバイスの一部分の行及び列のうちの少なくとも1つのキャプチャ・ラッチを介して特定することを含むことができる。本方法はブロック66で終了する。
別の方法の実施形態を図7のフローチャート70を参照してこれから説明するが、この方法はブロック72で始まる。本方法は、ブロック34、36及び64において図6のステップを含むことができる。本方法はまた、ブロック74において、破損データの深刻度、破損データの重要度、及び破損データの粒度のうちの少なくとも1つを決定するステップを含むことができる。本方法はブロック76で終了する。
別の方法の実施形態を図8のフローチャート80を参照してこれから説明するが、この方法はブロック82で始まる。本方法は、ブロック34、36及び64において図6のステップを含むことができる。本方法はまた、ブロック84において、設定可能メモリ内の破損データを正しいデータで置き換えることを含むことができる。本方法はブロック86で終了する。
上記を考えると、システム10は集積回路内の故障耐性を定める。さらに、システム10は、低価格で待ち時間が短い構成メモリ論理故障検出及び修正のための、ユーザ論理20a−20nをFPGAの構成メモリ状態にアクセスさせる装置及び方法を表す。
ユーザ論理20a−20nは、関連データと、アドレス・アクセス・レジスタ及び相互接続導電体マトリクスとの間の設定可能な接続を介して、設定可能メモリ18a−18nのアレイへの設定可能アクセスが可能である。データ・アクセス・レジスタにおける設定可能マルチプレクサ28は、設定可能メモリ18a−18nの列データへの最小粒度アクセスを定める手段を与える。
ソフトウエアをコンパイルするユーザ属性は、特定エラー検出及び修正アルゴリズム(パリティ、エラー修正コード、巡回冗長コード(CRC)、チェックサムなど)、並びに設定可能メモリ18a−18nの検査を目的とするユーザ機能を定義し、その結果、それらの機能が効率的にマップされ、未使用の構成状態に関連する下層の設定可能メモリ18a−18nのアドレスレンジ、チェックビット及びマスクビットが、ユーザ・アプリケーション・テスト機能に埋め込まれて、望ましいチェックと修正が採用される。ユーザ・テスト機能は、周期的に動作して目標の列部分に対する任意の故障をテストし修正する。
上述のように、FPGAデバイスは、互いに対して及び論理ブロックに対して設定可能な接続を有する相互接続導電体のマトリックスに埋め込まれた設定可能論理ブロックのアレイを有する集積回路チップである。このことを考慮して、特別の入力/出力及び位相ロックループ・クロック・ブロックが、設定可能な機能及び接続を有するアレイの周り及び内部に組み込まれる。
設定可能論理ブロックのアレイは、各々1つ又は複数のプログラム可能ルックアップ・テーブル(LUT)構成メモリをさらに含む。これらのメモリを用いて、ユーザ・アプリケーション論理機能の一部分に対するブール論理制御状態すなわち“真理値表”が定められる。
一般に、メモリは高密度のSRAMで実装され、チップの外部に格納された状態から初期化される必要があり、その場合データは、特定のプロトコルに従って特別のピン上のチップ・レジスタ内にクロックされる。十分な構成データが集積された後、登録データが構成メモリの列にロードされる。
構成メモリは、環境放射線による論理混乱を受け易く、かかるイベントが生じると、徴候なしにユーザ・アプリケーション論理の挙動を変化させる場合がある。さらに、故障の挙動により、ユーザ論理機能が間違いであるが許容可能な挙動を模倣し、故障が気づかれないままシステム全体に進行し、サイレント・データ破損(SDC)として知られる結果をもたらす可能性がある。
FPGAデバイスは、チップ上に、自己チェック機構を組み込み、大きなセグメント又はアレイ全体にわたって構成メモリの状態を周期的にサンプリングし、予想されるCRCに対する計算を行う。誤りが検出された場合には、エラー表示信号がユーザ・アプリケーション論理に供給される。このプロセスはシーケンシャルであり、FPGAアレイは大きいため、エラー表示の待ち時間は数ミリ秒になる可能性があり、1つ又は複数のSDCイベントがシステム内で発生するほど長くなり得る。この自己チェック・スキームの変形は、構成メモリに関連するマスク・レジスタを有し、検出されたエラーを修正するための構成メモリの特定部分の書き込みを促進する。
リアルタイムでSDC問題を処理する慣例は、下層の構成メモリ状態の支援又は認識なしに、もっぱらユーザ・アプリケーションによって担われるものである。例えば、構成メモリの存在下でSDCを助長するユーザ・アプリケーション機能の複製(二重又は三重)及び比較は、誤りを犯す。例えば、暗号化/復号化、圧縮、演算、メモリ管理、及び故障検出ユニットは、全てこの特徴を有する。
これらのスキームのコストは、FPGAデバイスの利用、電力消費、及び利用に起因する全体のタイミングの劣化の点で非常に高価になりうる。さらに、これらの検出結果は、数ミリ秒を要するプロセスであるチップの初期化なしには修正することができず、一般に、システム全体を大きく混乱させる。
他の従来技術は、チップ上に論理ブロックと共に実装される特別なエラー検出及び修正回路を説明する。これらの普及している信頼性スキームは、ユーザ・アプリケーション機能に対して、不必要又は不使用の場合(一般に、FPGA内の構成メモリの30%−50%が使用されない)でも、大きな面積及び電力コストを必要とする。
FPGAデバイスの規模が、ますます高密度の技術(40nm以上)を使用することによって大きくなるにつれて、構成メモリも規模が大きくなり、規模の増大と共に、チェック及び初期化の待ち時間が長くなり、また論理混乱率も増加する。さらに、現在、高密度デバイスは、構成メモリの故障特性に対して耐性が低いシステム・アプリケーションに対して、より広範囲のアプリケーションをイネーブルにする。
システム10は、ユーザ論理20a−20nに、下層の設定可能メモリ18a−18nに対するアクセスを与えて、ユーザが、ユーザ・アプリケーション機能の一部分として望ましい、最短待ち時間並びに最低コストの面積及び電力での構成メモリのエラー検出及び修正機能を実装し管理するのを容易にする。
システム10の様々な実施形態は、LUTなどの個々のプログラム可能ブロックを構成するSRAMの粒度の細かい局所チェック及び修正を行う手段を与える。目的のSRAMのチェックを完了するための所望の時間によって、チェック機能を実装するのに必要な最終的構造体及び付加的構造体のコストが決まる。
最も安価な実施形態において付加されるのは、かかる単一のプログラム可能エンティティの自然の境界のみで構成を行うSRAMを搭載する既存の構造に対して、一連のタップ点及び多重挿入点のみである。より積極的な実施形態においては、いくつかのタップ点及び多重挿入点が、かかる単一のプログラム可能エンティティに対して必要となる場合がある。
複数の並列エンティティをチェックしようとする場合には、さらに付加的なレジスタ・スキャン・チェーンを挿入する必要があり得る。プログラム可能エンティティを構成するSRAMのチェック及び修正のプロセスは、複数の実施形態を有することができる。強調される二つの主要な実施形態は、破損したパターンの置き換えのための格納圧縮パターンを用いて有効性をチェックする周期的冗長検査すなわちCRC、及び、破損したパターンの置き換えのためのECC修正を用いて有効性をチェックするエラー修正コードすなわちECCである。
上記は、幾つかの好ましい実施形態を説明するが、特許請求される本発明は、それら好ましい実施形態に限定されない。下層のFPGA構造体のアーキテクチャ、各プログラム可能エンティティ内の構成SRAMのサイズ、SRAMの有効性のチェックを完了するのに望ましい時間によって、各アプリケーションに対して望ましい特定の実施形態が定められる。これら実施形態を如何にして実現するかをより良く理解するためには、図面の簡単な説明及び本発明の詳細な説明を参照されたい。
例えば、システム10は、FPGA内の個々のプログラム可能素子の各々のプログラミングを制御するSRAMの局所的検出及び修正に関する。このことは、最終的な実装において、チェック及び置き換えの任意の1つの特定の方法によってカバーされる特定数のブロックが存在することを意味しない。本説明においては、多くの具体的詳細を提示して、本発明の幾つかの要素、構造体、方法及び性能についてのより詳細な理解を与える。しかしながら、当業者であれば、本出願において提示されたのと同じ効果を達成する他の手段及び方法を理解できるであろう。
次に、さらに図9を参照して、予言的な例示的システム10を説明する。図9は、行データバス204を介して設定可能メモリ202の列セル203を読み出し及び書き込むための、同じ機能部(feature)へのユーザ論理アクセスのための新しい要素301、310及び300を含んだFPGA“フレーム”のデータ・アクセス・レジスタ配列100を示す。
データ・アクセス・レジスタ配列100は、ユーザ相互接続マトリクス及びユーザ論理アプリケーションへのユーザ設定可能アクセスを有する1つ又は複数のラッチ・レジスタのサブチェーン200に分割することができる。ユーザ論理は、構成メモリの1つ又は複数の列をデータ・アクセス・レジスタに読み出し、次にサブチェーン・シリアルデータを接続300及びユーザ論理への相互接続リソースを通してクロックしてエラー検出コードを計算し、該コードが、FPGAユーザ・コードのコンパイル時間中に同じデータに対して事前計算されたコードと一致することを検証する。
ユーザ・コードは、構成データ内の検出された故障を修正し、修正されたデータを、相互接続リソース接続301及びマルチプレクサ310を通してデータ・アクセス・レジスタに戻すことができる。次いで、修正されたデータは、データバス204を介して選択された列203に書き込むことができる。
図10は、局所チェックのためのリングをタップする手段300及び新しい修正されたストリーム301をマルチプレクサ挿入点310に挿入する手段を与える、本発明の新しい要素を有するデータ・アクセス・レジスタ配列100内の単一のサブチェーン201を示す。マルチプレクサ挿入点310は、局所マルチプレクサ制御ライン320により制御される。局所チェック機能の間は、タップ機能300だけを用いて、データの局所チェックを行うことができる。エラーの検出が発生した後、マルチプレクサ挿入点310を用いて、修正されたデータ301が選択されたプログラム可能素子140−157に与えられる。
図11は、チェックのためのCRC機能及びSRAMビット160の置き換えのための格納値を用いた、特定のプログラム可能ブロック140−157の構成SRAM160の局所チェック及び修正を示す。サブチェーン・データ・タップ300は、局所論理にサブチェーン201又はサブチェーン200−202からのビットを与え、これらはCRC生成論理400に供給される。
サブチェーン又は複数のサブチェーンの最終結果は、CRC比較論理402において、既知の良好なCRCの格納値401と比較される。CRC比較論理からの結果は、局所破損イベント検出レジスタ403内に記憶され、後に、破損した局所SRAM160の再ロードを実行するときに、局所マルチプレクサ制御ライン320の値を変更するのに使用される。
図12は、特定のプログラム可能ブロック140−157の構成SRAM160についての、SRAMビット160の置き換えに関するチェック及び修正のためのECC関数を用いた局所チェック及び修正を示す。サブチェーン・タップ300は、局所チェック論理にサブチェーン201又はサブチェーン200−202からのビットを与え、これらはECCチェック関数500に供給される。
正しいECCチェック・パターンが、ECCパターン・ストレージ501から供給される。ECC検出の結果は、局所破損イベント検出レジスタ502に記憶され、後に、破損局所SRAM160の再ロードを実行するときに、局所マルチプレクサ制御ライン320の値を変更するのに使用される。ECC修正論理503は、供給されたECC修正パターン501と共に、タップ300を介してサブチェーン201からデータを取り込んで、マルチプレクサ挿入位置310に供給される修正ビットデータ301を作成する。
図13は、マルチプレクサ挿入位置310における局所マルチプレクサ制御ライン320の制御を、FPGAのグローバル制御と局所結果に基づいて決定する論理フローチャートを示す。第一の判断ブロック600において、FPGAがロードされていることを示すグローバル制御信号がアクティブであれば、局所マルチプレクサ挿入位置310の制御ライン320は、結果ブロック601において、ゼロ値、すなわちデフォルトのデータ・スキャン・チェーン・パスとなる。
判断ブロック600において該信号がアクティブでない場合には、判断ブロック602に進む。判断ブロック602において、このプログラム可能ブロック140−157が局所修正可能かどうかを検査する。可能でない場合には、結果ブロック601に進み、デフォルトのマルチプレクサ制御ラインがゼロ値に設定される。
プログラム可能ブロック140−157が局所修正可能な場合には、判断ブロック603に進む。局所破損イベント403又は502が検出されていない場合には、結果ブロック604に進み、次に再び判断ブロック603に戻る。局所破損イベント403又は502が検出されている場合には、行動ブロック605へ進む。
行動ブロック605で、プログラム可能論理ブロック140−157内の通常の機能を停止する。ひとたび停止したら、判断ブロック606に進む。判断ブロック606において、該プログラム可能論理ブロック140−157内のSRAM値を回復及び修正する準備ができているかどうかを判断する。
準備ができていない場合には、行動ブロック607に進み、そこでゼロ値すなわちデフォルトのデータ・スキャン・チェーンが残る。回復機能を実行する準備ができるまで判断ブロック606においてループし、そして行動ブロック608に進む。行動ブロック608において、上述の2つの手段のいずれかによって、局所プログラム可能ブロック140−157にロードされる正しいSRAM値の生成を始める。
ひとたびプロセスが開始したら、行動ブロック609に進み、そこで正確な量の遅延が導入され、その後でマルチプレクサ制御ライン320上の修正データ・チェーンの値に1の値が設定され、そして正しいデータライン302上に正しいSRAMビットストリームが設定される。次に、正しいSRAMビットストリームがサブチェーン201内にスキャンされた行動ブロック610へ進み、その後、マルチプレクサ制御ライン320上にゼロ値すなわちデフォルトのデータ・スキャン・チェーンを設定し、このデータを目的のプログラム可能ブロック140−157のSRAM160にロードする。
行動ブロック611に進み、そこでプログラム可能論理ブロック140−157に対する通常の動作が再開され、局所破損イベント403又は502がリセットされる。次に、判断ブロック603に戻り、局所SRAM160にさらに破損がないかチェックする。
一実施形態において、プログラム可能論理デバイスは、構成メモリと、各ステージに対して関連アレイの行データバスを介して複数の構成メモリアレイの列セルを読み出し及び書き込みをさせるシフトレジスタとして配置された関連データ・アクセス・レジスタとを含む。プログラム可能論理デバイスはまた、設定可能相互接続リソースに対する少なくとも1つの行データバスのユーザ設定可能結合を含む。プログラム可能論理デバイスは、行データバスの結合を制御するユーザ設定可能状態ビットをさらに含む。
別の実施形態において、プログラム可能論理デバイスはさらにユーザ設定可能結合を有する行データバスを含み、この行データバスは、マルチプレクサの第1の入力に結合された関連フレームのデータ・シフト・レジスタのステージを有するようにさらに配置され、マルチプレクサの出力は次のステージのレジスタ入力に結合される。マルチプレクサの第2の入力は、設定可能相互接続リソースに対するユーザ設定可能結合、及び行データバスの結合を制御するためのユーザ設定可能状態ビットに結合される。ユーザ設定可能状態ビットの状態は、構成メモリセルの出力状態が実際的でないときにはプログラム可能レジスタから得られる。
別の実施形態においてプログラム可能論理デバイスは、ユーザ論理アプリケーション論理に、構成メモリ状態の冗長コピーを格納する目的で使用されていない構成メモリ及び関連データ・アクセス・レジスタにアクセスさせる手段をさらに含む。一実施形態において構成メモリ状態の冗長コピーは、可逆符号化(loss-less coding)アルゴリズムを用いて論理的に圧縮された状態を有する。
別の実施形態においてプログラム可能論理デバイスは、非ユーザ機能とユーザ論理アプリケーションの間の、構成メモリ及び関連データ・アクセス・レジスタへのアクセスを共有するための設定可能信号をさらに含む。プログラム可能論理デバイスはまた、構成メモリ及び関連データ・アクセス・レジスタへの非ユーザ機能のアクセスを共有するための手段を含むことができ、非ユーザ機能はビジー信号をアサートして、ユーザがアクセス可能なときを示す。非ユーザ機能は、ユーザ論理アプリケーションと非ユーザ機能の間で、構成メモリ及び関連データ・アクセス・レジスタの故障検出を相互に排他的に与える手段を含むことができる。
別の実施形態は、構成メモリ故障耐性のためのユーザ論理アプリケーションのコンパイル方法であり、ここで、ユーザ論理は、どの特定の論理を保護するべきか、そして指定されたエラー検出アルゴリズム、未使用の構成ビットに対する所定の変数、及びエラー符号化チェックビットを有するどの特定の構成メモリ故障管理論理と関連付けられるべきかを言明する属性と、同じ構成メモリ内でいつ論理を制御できるか否かを定めるマッピング選好(preference)とを有する。
本方法は、以下のステップ、すなわち、特定の保護されたユーザ論理を総合しマッピングして、構成メモリ及び関連データ・アクセス・レジスタへのアクセス・パターンを最小化すること、指定のマッピング選好に従って特定の故障管理論理を総合してマッピングすること、未使用の構成メモリビットを識別し、符号化すること、及び、エラー符号化チェックビットを識別することを含む。
別の実施形態において、ユーザ・アプリケーション論理による構成メモリ故障耐性のための方法が、以下のステップによって説明される。非ユーザ構成メモリでビジーである非ユーザ機能を含む構成メモリの列を読み出し、そうでない場合は待機する。構成メモリ・アドレス・レジスタ及びデータ多重化制御状態を書き込む。構成メモリ読み出し信号をアサートする。読み出しデータを、構成メモリ読み出しレジスタから、相互接続マトリクスを通して、ユーザ・アプリケーション故障管理論理にシフトする。読み出しデータの検証は、読み出しデータに関するエラー検出コード(EDC)を計算することを含む。計算したEDCを、コンパイル時に算出されたハードコード化された予想EDCと比較する。故障が検出されないか又は検出されるが未使用の構成メモリビット内の場合は、次のアドレスに進み、そうでない場合は、ステップ1に進む。検出された故障がEDCによって修正不可能である場合は、ユーザ・アプリケーションに修正不可能エラーの信号を送り、次に修正不可能故障状態に進み、そうでない場合は、修正可能エラー検出の信号を送る。故障の修正は、相互接続マトリクスを介して、修正されたデータを構成メモリ読み出しレジスタにシフトすることを含む。構成メモリ書き込み信号をアサートし、次いでステップ1に進む。修正不可能故障状態は、データロギングに対するユーザ論理アプリケーション、及び冗長コピーからの構成メモリの再初期化を停止することを含む。
当業者であれば理解するように、本発明は、方法、システム、又はコンピュータ・プログラムとして具体化することができる。さらに、本発明は、媒体内に具体化されたコンピュータ使用可能プログラムコードを有するコンピュータ使用可能記憶媒体上のコンピュータ・プログラムの形態を取るものとすることができる。
任意の好適なコンピュータ使用可能又はコンピュータ可読媒体を使用することができる。コンピュータ使用可能又はコンピュータ可読媒体は、例えば、これらに限定されるものではないが、電子、磁気、光学、電磁気、赤外線、又は半導体システム、装置、デバイス、或いは伝搬媒体とすることができる。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)としては、以下のもの、すなわち、1つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブル・コンパクトディスク読み出し専用メモリ(CD−ROM)、光記憶装置、又は磁気記憶装置が挙げられる。
本発明の操作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語で書くことができる。しかしながら、本発明の操作を実行するためのコンピュータ・プログラム・コードはまた、Cプログラミング言語又は類似のプログラミング言語などの従来の手続き型プログラミング言語で書くこともできる。
プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアローンのソフトウエアパッケージとして実行することができ、部分的にユーザのコンピュータ上で且つ部分的にリモート・コンピュータ上で、又は完全にリモート・コンピュータ又はサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ユーザのコンピュータに、ローカルエリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を介して接続することができ、又は、外部のコンピュータに接続する(例えば、インターネット・サービスプロバイダを用いてインターネットを介して)こともできる。
本発明は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラムのフローチャート説明図及び/又はブロック図を参照して説明される。フローチャート説明図及び/又はブロック図の各ブロック、並びに、フローチャート説明図及び/又はブロック図中のブロックの組み合わせは、コンピュータ・プログラム命令によって実施できることが理解されるであろう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに供給してマシンを生成し、その結果、コンピュータ及び他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図のブロックにおいて指定される機能/動作を実行するための手段を生成するようにすることができる。
これらのコンピュータ・プログラム命令はまた、コンピュータ又は他のプログラム可能データ処理装置に特定の様式で機能するように指示することができるコンピュータ可読メモリに格納することができ、その結果、コンピュータ可読メモリに格納された命令が、フローチャート及び/又はブロック図のブロックにおいて指定された機能/動作を実行する命令手段を含む製品を生成する。
コンピュータ・プログラム命令はまた、コンピュータ又は他のデータ処理装置にロードして、一連の動作ステップをコンピュータ又は他のプログラム可能な装置上で実行させて、コンピュータ実施のプロセスを生成することができ、その結果コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図のブロックにおいて指定された機能/動作を実施するためのステップをもたらす。
システム10の機能は、ソフトウエア、ファームウエア、ハードウエア又はそれらの幾つかの組み合わせにおいて実施することができる。
本明細書に示されるフローチャートは、単なる例にすぎない。本発明の範囲から逸脱することなく、本明細書に説明されるこれらの図又はステップ(或いは、動作)に対する多くの変形が可能である。例えば、ステップを異なる順序で実行することができ、或いはステップは付加し、削除し、又は変更することができる。これらの変形の全てが、特許請求される本発明の一部と見なされる。さらに、「1つの(a、an)」などの用語の使用は、数量の制限を示すものではなく、言及した項目の少なくとも1つの存在を示すものである。
本発明の好ましい実施形態について説明してきたが、当業者であれば、現在及び将来の両方において、以下の特許請求の範囲内に入る種々の改良及び強化を行うことができることを理解するであろう。これら特許請求の範囲は、最初に説明されたた本発明に対する適切な保護を維持すると解釈されるべきである。
10:システム
12:集積回路
14:プログラム可能論理デバイス
18a−18n:設定可能メモリ
20a−20n:ユーザ論理
22:ユーザ
24:チェッカ
26:キャプチャ・ラッチ
28:設定可能マルチプレクサ
29:正しいデータ
30、40、50、60、70、80:流れ図
32、34、36、38、42、44、46、52、54、56、62、64、66、72、74、76、82、84、86:ブロック
100:データ・アクセス・レジスタ配列
101、102:スキャン接続
103:中央ロード機構
104:周期的冗長検査(CRC)チェック構造体
110−115:データバス
120:アドレス指定機能部
130−135:アドレス選択信号
140−157:プログラム可能素子/プログラム可能論理ブロック
160:スタティック・ランダム・アクセス・メモリ(SRAM)
161:プログラム可能論理
202:設定可能メモリ
200−202:サブチェーン
203:列セル/列
204:データバス
300:接続/タップ/タップする手段
301:ストリーム/相互接続リソース接続/修正データ/修正ビットデータ
302:正しいSRAMビットライン/正しいデータライン
310:マルチプレクサ/マルチプレクサ挿入点(マルチプレクサ挿入位置)
320:局所マルチプレクサ制御ライン
400:CRC生成論理
401:CRCの格納値
402:CRC比較論理
403、502:局所破損イベント検出レジスタ/局所破損イベント
500:ECCチェック機能
501:ECCパターン・ストレージ/ECC修正パターン
503:ECC修正論理
600、602、603、606:判断ブロック
601:結果ブロック
605、607、608、609、610、611:行動ブロック

Claims (13)

  1. 集積回路内の故障耐性を定めるためのシステムであって、
    前記集積回路により保持されるプログラム可能論理デバイスと、
    前記プログラム可能論理デバイスにより保持された、前記プログラム可能デバイスの一部分の機能及び接続のうちの少なくとも1つを制御するための設定可能メモリと、
    前記プログラム可能論理デバイスにより保持され、ユーザ及び前記設定可能メモリのうちの少なくとも1つと通信し、前記設定可能メモリ内の破損データをユーザ要求の変化に基づいて識別するユーザ論理と
    1つ又は複数のラッチ・レジスタのサブチェーンからなり、各サブチェーンに対して行データバスを介して前記設定可能メモリの列セルを読み出し及び書き込みをさせるシフトレジスタとして配置された関連データ・アクセス・レジスタであって、前記ユーザ論理のアクセスのための接続を有する前記行データバスは、マルチプレクサの第1の入力に結合された関連する前記サブチェーンを有するように配置され、前記マルチプレクサの出力は次の前記サブチェーンのレジスタ入力に結合される、前記関連データ・アクセス・レジスタと
    を含むシステム。
  2. 前記ユーザ論理は、設定可能メモリビット及び設定可能メモリ・チェッカビットのうちの少なくとも1つへのアクセスを与えて、前記設定可能メモリに対するエラー検出及びエラー修正のうちの少なくとも1つを与える、請求項1に記載のシステム。
  3. 前記プログラム可能デバイスの第2の部分は、前記ユーザ論理を介して、及び前記ユーザの破損データ識別スキームの選択に基づいてチェッカとして選択される、請求項1又は請求項2に記載のシステム。
  4. 前記1つ又は複数のラッチ・レジスタのサブチェーン1及び前記ユーザ論理は協働して、前記設定可能メモリ内の任意の破損データの位置を明確に特定する、前記請求項のいずれかに記載のシステム。
  5. 前記ユーザ論理は、破損データの深刻度、破損データの重要度、及び破損データの粒度のうちの少なくとも1つを決定する、請求項4に記載のシステム。
  6. 前記マルチプレクサは、前記ユーザ論理と通信し、前記設定可能メモリ内で識別された任意の破損データの代わりに修正データを与える、請求項4に記載のシステム。
  7. 前記プログラム可能論理デバイスは、複合プログラム可能論理デバイス及びフィールド・プログラム可能ゲート・アレイのうちの少なくとも1つを含み、前記設定可能メモリは揮発性メモリ及び非揮発性メモリのうちの少なくとも1つを含む、前記請求項のいずれかに記載のシステム。
  8. 集積回路内の故障耐性を定める方法であって、
    1つ又は複数のラッチ・レジスタのサブチェーンからなり、各サブチェーンに対して行データバスを介して前記設定可能メモリの列セルを読み出し及び書き込みをさせるシフトレジスタとして関連データ・アクセス・レジスタを配置するステップであって、前記ユーザ論理のアクセスのための接続を有する前記行データバスは、マルチプレクサの第1の入力に結合された関連する前記サブチェーンを有するように配置され、前記マルチプレクサの出力は次の前記サブチェーンのレジスタ入力に結合される、前記配置するステップと
    プログラム可能論理デバイスの少なくとも一部分を、設定可能メモリを介して制御するステップと、
    前記設定可能メモリ内の破損データを、選択されたユーザ要求に基づいて、ユーザ及び前記プログラム可能論理デバイスのうちの少なくとも1つと通信するユーザ論理を介して識別するステップと、
    を含む方法。
  9. 設定可能メモリビット及び設定可能メモリ・チェッカビットのうちの少なくとも1つにアクセスして前記設定可能メモリに対するエラー検出及びエラー修正のうちの少なくとも1つを与えるステップをさらに含む、請求項8に記載の方法。
  10. 前記プログラム可能論理デバイスの第2の部分をチェッカとして選択するステップ、及び破損データ識別スキームを選択するステップをさらに含む、請求項8又は請求項9に記載の方法。
  11. 前記設定可能メモリ内の任意の破損データの位置を、前記1つ又は複数のラッチ・レジスタのサブチェーンにより特定するステップをさらに含む、請求項8から請求項10までのいずれかに記載の方法。
  12. 破損データの深刻度、破損データの重要度、及び破損データの粒度のうちの少なくとも1つを決定するステップをさらに含む、請求項11に記載の方法。
  13. 前記マルチプレクサを介して前記設定可能メモリ内の破損データを正しいデータで置き換えるステップをさらに含む、請求項11に記載の方法。
JP2012500168A 2009-03-17 2010-02-22 集積回路における故障耐性 Expired - Fee Related JP5506908B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/405,858 2009-03-17
US12/405,858 US8433950B2 (en) 2009-03-17 2009-03-17 System to determine fault tolerance in an integrated circuit and associated methods
PCT/EP2010/052205 WO2010105888A1 (en) 2009-03-17 2010-02-22 Fault tolerance in integrated circuits

Publications (2)

Publication Number Publication Date
JP2012521123A JP2012521123A (ja) 2012-09-10
JP5506908B2 true JP5506908B2 (ja) 2014-05-28

Family

ID=42196939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012500168A Expired - Fee Related JP5506908B2 (ja) 2009-03-17 2010-02-22 集積回路における故障耐性

Country Status (5)

Country Link
US (1) US8433950B2 (ja)
EP (1) EP2409231A1 (ja)
JP (1) JP5506908B2 (ja)
CN (1) CN102356383B (ja)
WO (1) WO2010105888A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549379B2 (en) * 2010-11-19 2013-10-01 Xilinx, Inc. Classifying a criticality of a soft error and mitigating the soft error based on the criticality
US8984367B2 (en) * 2011-02-25 2015-03-17 Altera Corporation Error detection and correction circuitry
US8522091B1 (en) * 2011-11-18 2013-08-27 Xilinx, Inc. Prioritized detection of memory corruption
JP5500282B1 (ja) * 2013-02-28 2014-05-21 日本電気株式会社 障害修復装置、障害修復方法、及び、障害修復プログラム
CN103631754B (zh) * 2013-09-22 2016-07-06 中国科学院电子学研究所 可编程信号处理单元
US10248484B2 (en) * 2017-02-21 2019-04-02 Intel Corporation Prioritized error-detection and scheduling
CN111143107B (zh) * 2019-11-13 2022-06-17 广东高云半导体科技股份有限公司 一种fpga单粒子反转校验电路和方法
US11442829B2 (en) 2020-03-16 2022-09-13 International Business Machines Corporation Packeted protocol device test system
US20200293707A1 (en) * 2020-06-01 2020-09-17 Intel Corporation Programmable integrated circuit underlay
TWI774214B (zh) * 2021-01-27 2022-08-11 慧榮科技股份有限公司 開機啟動資訊重建系統及記憶體裝置啟動資訊重建方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04104613A (ja) * 1990-08-24 1992-04-07 Nec Corp ロジックセルアレイ
JP3364753B2 (ja) * 1992-05-06 2003-01-08 日本電気エンジニアリング株式会社 メモリエラー修正回路
JP3597972B2 (ja) * 1997-07-25 2004-12-08 富士通株式会社 プログラマブルロジックデバイス及びその試験方法並びに試験用データ作成方法
JP4147005B2 (ja) * 1999-04-14 2008-09-10 株式会社ルネサステクノロジ 半導体集積回路およびそのテスト方法並びに製造方法
US7036059B1 (en) * 2001-02-14 2006-04-25 Xilinx, Inc. Techniques for mitigating, detecting and correcting single event upset effects in systems using SRAM-based field programmable gate arrays
US6874107B2 (en) * 2001-07-24 2005-03-29 Xilinx, Inc. Integrated testing of serializer/deserializer in FPGA
US6744274B1 (en) * 2001-08-09 2004-06-01 Stretch, Inc. Programmable logic core adapter
US6957307B2 (en) * 2002-03-22 2005-10-18 Intel Corporation Mapping data masks in hardware by controller programming
US7263631B2 (en) * 2004-08-13 2007-08-28 Seakr Engineering, Incorporated Soft error detection and recovery
JP4643977B2 (ja) * 2004-11-30 2011-03-02 富士通株式会社 プログラマブル・ロジック・デバイス、情報処理装置、プログラマブル・ロジック・デバイスの制御方法
US7242218B2 (en) * 2004-12-02 2007-07-10 Altera Corporation Techniques for combining volatile and non-volatile programmable logic on an integrated circuit
US7590904B2 (en) * 2006-02-01 2009-09-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Systems and methods for detecting a failure event in a field programmable gate array
US7647543B2 (en) * 2006-02-01 2010-01-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reprogrammable field programmable gate array with integrated system for mitigating effects of single event upsets
US7702978B2 (en) * 2006-04-21 2010-04-20 Altera Corporation Soft error location and sensitivity detection for programmable devices
US8195978B2 (en) * 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage

Also Published As

Publication number Publication date
US20100241900A1 (en) 2010-09-23
WO2010105888A1 (en) 2010-09-23
JP2012521123A (ja) 2012-09-10
US8433950B2 (en) 2013-04-30
CN102356383A (zh) 2012-02-15
CN102356383B (zh) 2014-07-09
EP2409231A1 (en) 2012-01-25

Similar Documents

Publication Publication Date Title
JP5506908B2 (ja) 集積回路における故障耐性
US8589759B2 (en) RAM single event upset (SEU) method to correct errors
US7149945B2 (en) Systems and methods for providing error correction code testing functionality
US7797609B2 (en) Apparatus and method for merging data blocks with error correction code protection
KR101374455B1 (ko) 메모리 에러와 리던던시
US8185800B2 (en) System for error control coding for memories of different types and associated methods
US10606696B2 (en) Internally-generated data storage in spare memory locations
US8352806B2 (en) System to improve memory failure management and associated methods
US8171377B2 (en) System to improve memory reliability and associated methods
US8181094B2 (en) System to improve error correction using variable latency and associated methods
US20120079346A1 (en) Simulated error causing apparatus
US20100299576A1 (en) System to Improve Miscorrection Rates in Error Control Code Through Buffering and Associated Methods
US9619318B2 (en) Memory circuits, method for accessing a memory and method for repairing a memory
KR20170135691A (ko) 복수의 데이터 비트와 복수의 어드레스 비트로 이루어진 블록용 에러 코드 발생장치 및 방법
US8185801B2 (en) System to improve error code decoding using historical information and associated methods
US20150074495A1 (en) Address error detection
JP2016167669A (ja) プログラマブル論理回路装置及びそのエラー検出方法
JP5421152B2 (ja) 半導体集積回路
US7401269B2 (en) Systems and methods for scripting data errors to facilitate verification of error detection or correction code functionality
US9037948B2 (en) Error correction for memory systems
CN111831486B (zh) 半导体装置和包括该半导体装置的半导体系统
US9043655B2 (en) Apparatus and control method
US8516336B2 (en) Latch arrangement for an electronic digital system, method, data processing program, and computer program product for implementing a latch arrangement
Divva et al. Design and Verification of ECC Scheme to optimize area and tester time in OTP ROM Controller
US20240220357A1 (en) Secure error correcting code (ecc) trust execution environment (tee) configuration metadata encoding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140207

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: 20140304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140318

R150 Certificate of patent or registration of utility model

Ref document number: 5506908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees