耐永久故障fpgaアーキテクチャ ·...

43
FPGA Fault-tolerant FPGA Architecture 23 2 9 48-096406

Upload: others

Post on 19-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 修士論文

    耐永久故障FPGAアーキテクチャ

    Fault-tolerant FPGA Architecture

    平成23年2月9日提出

    指導教員坂井修一教授

    東京大学大学院情報理工学系研究科電子情報学専攻

    48-096406岡田崇志

  • 概要

    航空宇宙,医療,原子力など,信頼性の求められる多くの分野では,高信頼の LSIが必要とされる.従来,このような分野では,厳格な米軍仕様の基準をクリアしたMIL 部品が多く用いられてきた.しかし,MIL 部品は高価であり,入手性,性能の面で民生品に劣り,不便である.本研究の目的は,FPGA (Field-Programmable Gate Array)をベースにして,安価に高信頼 LSIを実現することである.そのために,通常用途の FPGAに対し,わずかな追加ハードウェアで高い故障耐性を持たせる手法を提案する.通常用途用のFPGAに対し追加するハードウェアを最小限に抑えることで,高信頼用途と通常用途との両立を図ることが可能となる.結果として,従来に比べ圧倒的に低コストな高信頼 LSIが可能となる.

    1

  • 目次

    第 1章 はじめに 5

    第 2章 背景 72.1 放射線に起因する LSIの故障 . . . . . . . . . . . . . . . . . . 7

    2.1.1 シングル・イベント効果 . . . . . . . . . . . . . . . . . 72.1.2 トータル・ドーズ効果 . . . . . . . . . . . . . . . . . . 92.1.3 故障確率 . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.2 高信頼化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.1 MIL規格品 . . . . . . . . . . . . . . . . . . . . . . . . 92.2.2 TMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    第 3章 FPGAアーキテクチャ 123.1 ロジック・ブロック . . . . . . . . . . . . . . . . . . . . . . . 123.2 配線アーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . 133.3 コンフィギュレーション . . . . . . . . . . . . . . . . . . . . . 14

    3.3.1 コンフィギュレーション回路 . . . . . . . . . . . . . . 153.3.2 動的部分再構成 . . . . . . . . . . . . . . . . . . . . . . 15

    第 4章 FPGAベースの故障耐性技術 174.1 過渡故障対策 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    4.1.1 Scrubbing . . . . . . . . . . . . . . . . . . . . . . . . . 174.1.2 XTMR . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    4.2 永久故障対策 . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2.1 永久故障からの回復 . . . . . . . . . . . . . . . . . . . 194.2.2 自己診断による永久故障検出 . . . . . . . . . . . . . . 194.2.3 TMRによる永久故障検出 . . . . . . . . . . . . . . . . 20

    4.3 従来手法の問題点 . . . . . . . . . . . . . . . . . . . . . . . . . 21

    第 5章 提案手法 225.1 ユーザ・ロジック回復マネージャ . . . . . . . . . . . . . . . . 225.2 細粒度 TMRの実装方式 . . . . . . . . . . . . . . . . . . . . . 23

    5.2.1 ハードワイアード多数決ロジック . . . . . . . . . . . . 235.2.2 2次元故障検出信号線 . . . . . . . . . . . . . . . . . . 24

    2

  • 5.2.3 TMRの実装の詳細 . . . . . . . . . . . . . . . . . . . . 255.3 故障回復機構 . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    5.3.1 分散コンフィギュレーションポートの実装 . . . . . . . 255.3.2 三重化モジュール間の同期手法 . . . . . . . . . . . . . 26

    第 6章 評価 306.1 評価モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    6.1.1 TIDの故障確率 . . . . . . . . . . . . . . . . . . . . . . 306.1.2 回路モデル . . . . . . . . . . . . . . . . . . . . . . . . 31

    6.2 評価方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326.3 評価結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.4 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    第 7章 おわりに 38

    参考文献 39

    発表文献 41

    3

  • 図目次

    2.1 放射線による電離作用 . . . . . . . . . . . . . . . . . . . . . . 82.2 SRAMセルにおける SET . . . . . . . . . . . . . . . . . . . . . 82.3 偶発的故障と経年劣化による故障確率 . . . . . . . . . . . . . 92.4 TMRによる故障個所検出法 . . . . . . . . . . . . . . . . . . . 11

    3.1 FPGA全体構成 . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 クラスタ型 LB . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 BLE (Basic Logic Element). . . . . . . . . . . . . . . . . . . . 133.4 FPGAの配線アーキテクチャ . . . . . . . . . . . . . . . . . . . 143.5 コンフィギュレーション回路 . . . . . . . . . . . . . . . . . . 15

    4.1 Write Enable付きロジックブロック . . . . . . . . . . . . . . . 184.2 三重化された多数決ロジック . . . . . . . . . . . . . . . . . . 184.3 STAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.4 TMRの粒度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    5.1 回復マネージャの実装(従来手法) . . . . . . . . . . . . . . . 235.2 回復マネージャの実装 (提案手法) . . . . . . . . . . . . . . . . 235.3 2次元故障信号検出線 . . . . . . . . . . . . . . . . . . . . . . 245.4 多数決ロジックを組み込んだ LB . . . . . . . . . . . . . . . . 265.5 コンフィギュレーション回路の構成 . . . . . . . . . . . . . . . 275.6 同期化機構を組み込んだ LB . . . . . . . . . . . . . . . . . . . 285.7 同期化アルゴリズム . . . . . . . . . . . . . . . . . . . . . . . 29

    6.1 故障確率の確率密度 . . . . . . . . . . . . . . . . . . . . . . . 316.2 信頼度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.3 故障率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326.4 評価モデル (N=5) . . . . . . . . . . . . . . . . . . . . . . . . . 326.5 B=2000σ/µ = 0.10 . . . . . . . . . . . . . . . . . . . . . . . . 346.6 B=2000 N=3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 366.7 σ/µ = 0.10 N=3 . . . . . . . . . . . . . . . . . . . . . . . . . . 366.8 多数決用インターコネクトを持たない LB . . . . . . . . . . . 376.9 3入力 LUTの回路図 . . . . . . . . . . . . . . . . . . . . . . . 37

    4

  • 第1章 はじめに

    航空宇宙,医療,原子力など,高い信頼性が求められる分野においては,高信頼の電子デバイスが求められる.特に,宇宙開発においては,地上とは異なる特別な配慮が必要である.なぜならば,宇宙空間は,高エネルギーの放射線が降り注ぐ環境のため,放射線に起因する故障の確率が増大するからである.また,宇宙空間においては,激しい温度サイクルによって,過渡故障のみならず,永久故障の確率も増大する.現在,高信頼の電子デバイスとしてMIL 規格の電子部品 (以下MIL 規格品と呼ぶ)が用いられている.これらの部品は,厳格な米軍仕様の規格を満たした特別仕様品であり,その多くは,民生品とは異なる特別に管理された生産ライン,製造プロセスで製造される.そのため,民生品に比べて非常に高価であり,入手性が悪い [12].また,2~3世代前のプロセスで製造されるため,性能も低い.このような理由から,現在,高信頼の LSIを手軽に入手することが難しくなっている.そこで本稿では,通常用途向けの FPGA(Field-Programmable Gate Array)

    をベースとして,十分に小さい追加ハードウェアで耐故障性を付加することを考える.このアプローチによれば,MIL 部品などを使う際に生ずる問題は以下のように解決される:

    1. 通常 FPGAを使用可能

    耐故障性のための追加ハードウェアは十分に小さければ,通常の FPGAからのコストアップも最小限に抑えられる.したがって,通常用途向けに大量に製造し,安価に販売しながら,その全く同一の FPGAを宇宙用途向けに使用することが可能になる.

    2. 性能面での優位

    民生品と同様の最先端のテクノロジを用いて製造される.したがって,FPGAであっても,MIL 部品など,2~3世代前のテクノロジで製造されるASICと比して十分な性能が提供できる.

    本手法で,対象とするFPGAは,最新のプロセスで製造される通常用途品を想定しているため,放射線に対する耐性は低い.そのため,必然的に故障を回避するのではなく,故障の検出,回復を行うことによって耐故障性を確保する

    5

  • ことになる.具体的には,故障検出に TMR (Triplie Modular Redundancy)を用い,故障回復には動的部分再構成を用いる.従来の研究においては,故障回復の際に必要な再構成情報を計算する専用ロジックである回復マネージャ(Recovery Manager:RM)をハードワイアード・ロジックで構成することがほとんどである.このような実装は,追加ハードウェアが増大することに加え,追加部分が単一故障点となり,その信頼性を確保することも必要となる.提案する手法は,回復マネージャをハードワイアードではなく,FPGA上の

    ユーザ・ロジック1として構成する.回復マネージャ自体をユーザ・ロジックとして TMRで構成すれば,回復マネージャが単一故障点となることは避けられるまた,従来,一般的であった粗粒度の TMRではなく,細粒度の TMRを低いオーバヘッドで実装する方法を提案する.細粒度のTMRを採用することで,わずかな予備を用意するだけで,永久故障に対する耐性が 2倍以上に向上することを示す.

    構成 2章で放射線,高信頼化についての背景知識を説明し,3章で FPGAのアーキテクチャに関する基礎的な事項を説明する.4章で既存の手法とその問題点を説明した後,5章でその解決策を提案する.6章で永久故障に対する耐性の評価結果を示し,最後にまとめる.

    1FPGA上のユーザが回路を自由にプログラムできる領域

    6

  • 第2章 背景

    2.1 放射線に起因するLSIの故障放射線によって発生する故障は,大きく二種類に分類できる.一つは,粒子の衝突によって起こる偶発的なシングル・イベント効果であり,もう一つは放射線によるダメージの蓄積によって起こるトータル・ドーズ効果である.それぞれについて説明する.

    2.1.1 シングル・イベント効果

    シングル・イベント効果とは,宇宙空間における高エネルギーの放射線 (中性子線,アルファ線,重イオン線など)の衝突によって引き起こされる偶発的な故障のことである [2].代表的なものに,フリップフロップ,SRAMなどの記憶素子の値が反転する SEU (Single Event Upset)や,デバイスの過電流状態を引き起こすSEL (Single Event Latch-up)がある.以下,それぞれについて説明する.

    SEU (Single Event Upset)SEUは,放射線によって発生する記憶素子のビット反転現象である.このような故障はリセットによって回復が可能な一時的な故障であるため,過渡故障あるいは,ソフト・エラーと呼ばれる.

    SEUの原因は,高エネルギー粒子による電離作用である.高エネルギーの粒子が,シリコン基板に衝突すると,その軌跡に沿って,電子・ホールのペアが生成される (図 2.1).このような電子・ホールペアがトランジスタの pn接合付近の空乏領域で生成された場合,発生した電荷は収集され,接合部に一時的な電流が発生する.この電流が原因となって,トランジスタの電圧に一時的なパルス変動が生じる.この変動のことを SET (Single Event Transient)と呼ぶ.SEUは,このSETが原因となって発生する現象である.SEUは,原因となるSETが発生する箇所によって,2種類に分類できる.一つは,組み合わせ回路を構成するトランジスタ上に,SETが発生した場合である.この場合,発生した SETパルスがフリップフロップなどの記憶素子に誤ってラッチされることで,SEUが発生する.この組み合わせ回路部のSET由来の SEUは,クロック周波数が増大するにつれて,その発生確率も増大するという特徴を持つ.

    7

  • もう一つは,記憶素子 (SRAM,フリップフロップ等)を構成するフィードバック・ループ内で SETが発生した場合である.SRAMセルを構成する 4つのトランジスタのうち,仮に図 2.2内のオフ状態の n-チャンネルトランジスタ(tr1)に放射線起因の電流が発生したとする.その結果,オン状態の p-チャンネルトランジスタ (tr2)は均衡を保つために,電流を供給する.この電流は,tr2のドレイン部に一時的な電圧降下をもたらす.ドレイン部で発生した電圧パルスが十分な時間継続すると,このパルスは SRAMのへの書き込み信号の役割を果たし,SRAMの値を反転させる.これは,クロック周波数によらず,一定の確率で発生する故障である.

    n+ p+ p+ n+ n+Vdd VssP-well p+Cosmic Ray Ion

    - + + --+ + --+ + -n-substrate図 2.1放射線による電離作用

    ion striketr1tr2図 2.2 SRAMセルにおけるSET

    SEL (Single Event Latch-up)SELは,放射線が衝突することにより生じるラッチアップ現象である.ラッチアップとは,半導体基板上に,サイリスタ構造が形成され,その結果,過大な電流が流れ続ける現象である.通常は,電源の再立ち上げで回復する過渡故障であるが,過電流状態が長く続くと,デバイスの物理的損傷を引き起こす.これは,永久故障となるため,デバイスのリセットで回復することはできない.

    8

  • 2.1.2 トータル・ドーズ効果

    シングルイベント効果とは異なり,放射線によるダメージの蓄積によって生じる故障のことを,トータル・ドーズ効果と呼ぶ [8].これは,放射線によって,シリコン酸化膜の内部で電子・ホールペアが生成,消滅を繰り返すうちにトランジスタが劣化する現象である.結果として,閾値電圧が高くなる,リーク電流が増加する,といったような現象がみられるようになる.最終的には,トランジスタの動作遅延が増大することによって,故障として現れる.トータル・ドーズ効果による故障は,デバイスの物理的な損傷が原因であるため,リセットをかけても回復しない.このような故障は,永久故障あるいは,ハード・エラーと呼ばれる.

    2.1.3 故障確率

    シングルイベント効果は偶発的な故障であるため,その発生確率は,環境が変わらなければデバイスの寿命に関係なく常に一定である.一方,トータル・ドーズ効果は,経年劣化現象であるから,その故障確率は初期の期間は 0を維持し,ある時間を経てから急に増大する曲線となる (図 2.3).

    時間故障確率 偶発的故障の確率経年劣化による故障確率

    図 2.3偶発的故障と経年劣化による故障確率

    2.2 高信頼化

    2.2.1 MIL規格品

    宇宙空間での,放射線エラーに対し,高い耐性を確保するため,宇宙用途においては,従来,主に米軍仕様の高信頼性部品MIL 規格品が用いられてきた.

    9

  • たとえば,次世代型無人宇宙実験システム(USERS)衛星バス1では,使用されているMIL 部品数は約 37, 900 点で,その購入費用は全体価格の 22%を占める.また,電子部品費用の 87%がマイクロプロセッサ,メモリ,ゲート・アレイ等の高機能な電子部品で占められている [12].しかしMIL 部品は,信頼性こそ高いものの,民生部品と比較すると以下のようなデメリットがある:

    • 低性能,高価,長納期である.

    – 半導体の微細化にともない,LSIは放射線などの影響を受けやすくなるため,民生品より2~3世代古いテクノロジで製造される.そのため,チップ面積は大きく,動作周波数は低く,消費電力は大きい.

    – 製造量/出荷量が少ないため,高価かつ長納期である.

    • 調達が困難になる可能性がある.製造量が少なく採算が合わない等の理由から,部品メーカのMIL 部品生産からの撤退が顕著となっており,今後,必要な部品が調達できなくなる可能性も決して低くはない.

    2.2.2 TMR

    一般的によく用いられる故障耐性技術の一つ,TMR (Triple Modular Re-dundancy)について説明する.TMRは,回路を三重化して冗長性を持たせ,故障耐性を付加する手法である.この手法は,宇宙用途の電子機器において故障耐性を得るために,よく用いられる.TMRを構成するには,まず,同一の回路を三つ用意し,同一のタイミングで同じ処理をさせる.三つの回路の出力は多数決回路(voting logic)によって比較され,最終的な結果として,多数派の値が選択される仕組みになっている.この手法を用いることによって,三つの回路のうち,仮に一つに故障が発生

    したとしても,他の二つが正常な値を出力し続ける限り,正しい値が選択される.したがって,単一の回路に発生した故障はマスクされ,全体として回路は正常な動作を継続することができる.また,TMRを用いることによって故障個所を特定することができる.図 2.4

    のように三つの出力の値を比較する回路を付加することで,どのモジュールに故障が発生したかを知ることができる.

    1衛星バス:全ての衛星に備わっている共通的部分で,通信系,姿勢制御系,太陽電池パドル系,電源系等からなる

    10

  • err1 err0

    in1in2in3 out

    Voting Unit

    Error Localization Unit図 2.4 TMRによる故障個所検出法

    11

  • 第3章 FPGAアーキテクチャ

    FPGAには,Anti-fuse型,Flash-memory型,SRAM型など,その実現方法に複数の種類があるが,ここでは,本研究がターゲットとするSRAM型のFPGAについて説明する.

    FPGAの構成要素は,ロジック・ブロック (以下,LB)とそれをつなぐ配線に大別できる (図 3.1).LBは格子状に配置されており,周辺部には,IO機能専用の IOブロックが配置される.LBの周りを取り囲むように,配線領域が存在する. IOIOIOIO

    IOIOIOIOIO IO IO IOIO IO IO IO ロジックブロックスイッチボックス配線

    図 3.1 FPGA全体構成

    3.1 ロジック・ブロックLBの内部には,BLE(Basic Logic Element)と呼ばれる FPGAの論理を構成する最も基本的な単位が複数個含まれる.LB 内の BLEはプログラム可能なローカルインターコネクトで,互いに接続されている.このような構造は,クラスタ型 LBと呼ばれる [1].クラスタ構造を持つ LBでは,ある BLEからの出力は同じ LB内の別の BLEへ,グローバルな配線を介さずにローカルなインターコネクトによって直接入力することができる構造となっている.図 3.2にクラスタ型 LBの概観を示す.

    12

  • BLELocal InterconnectGlobal Interconnect

    Global Interconnect BLEBLEBLEBLEBLE図 3.2クラスタ型 LB

    LBの内部には複数のBLEが含まれる.BLEの構造を図3.3に示す.BLEは,ルック・アップ・テーブル (Look-Up Table : LUT)とフリップフリップが直列に接続されたものである.出力部のセレクタによって,ラッチした値を出力するかどうかを選択できる仕組みになっている.

    LUT FF図 3.3 BLE (Basic Logic Element)

    LUTは,任意の組み合わせ回路を実現する汎用ゲートである.実体は,SRAMで構成されたテーブルであり,テーブルには実現したい論理関数の真理値を格納する.例えば,n入力の LUTは,2n通りの全ての入力パターンに対応する出力値を内部に格納できるように,2nエントリのテーブルを持っている.

    3.2 配線アーキテクチャLB間を接続するために,FPGAにはプログラム可能な配線リソースが用意されている.配線は,コネクションブロックとスイッチブロックによって接続関係を変更できるようになっている (図 3.4).以下,配線リソースをその構成要素に分けて説明する.

    13

  • コネクションブロック LBとグローバル配線の間の接続は,コネクションブロックと呼ばれるブロックで接続される.グローバルな配線とロジックブロックの入出力線との接続には,一般にパストランジスタや,セレクタが用いられる.コネクションブロックによるルーティングの自由度を表すパラメータとして Fc,in,Fc,outが用いられる.これらのパラメータは,ロジックブロックの入力ピン,出力ピンがどれだけの割合のグローバル配線のトラックと接続可能かを表す.

    スイッチブロック 配線同士の接続には,スイッチブロックが用いられる.スイッチブロックは,垂直方向の配線と水平方向の配線が交差する地点に配置される.スイッチブロックには,あるワイヤを別のワイヤへと,つなぎかえるためのスイッチが内部に含まれる.一つの配線が他の何本の配線と接続可能かを表すパラメータとして FSが用いられる.FSが大きいほど,配線の自由度が上がるが,その分スイッチのハードウェアコストが増大する.

    LogicBlock LogicBlockConnectionBlock

    ConnectionBlockSwitchBox

    図 3.4 FPGAの配線アーキテクチャ

    3.3 コンフィギュレーションFPGAにおけるプログラム可能な特徴は,すべて内部のコンフィギュレーションメモリの内容によって決定される.SRAMの各ビットは,ルーティングにおける接続のあり/なしや,LUTの保持する値などに対応しており,これらの値をユーザが自由に書き換えることで任意の回路を構成することができる.

    14

  • SR SR SR SR SRSR SR SR SR SRSR SR SR SR SRSR SR SR SR SRSR SR SR SR SRWord Ring Counter

    Bit Shift RegisterConfig. data Bit ClockWord Clock図 3.5コンフィギュレーション回路

    3.3.1 コンフィギュレーション回路

    コンフィギュレーションメモリへの書き込み,読み出しを行う回路をコンフィギュレーション回路と呼ぶ.また,コンフィギュレーション回路の制御や,コンフィギュレーションデータの入力を行うポートのことををコンフィギュレーションポートと呼ぶ.コンフィギュレーション回路の一般的な構成を図 3.5に示す.

    SRAM型 FPGAの場合,コンフィギュレーションメモリの実体はSRAMであり,一般的なSRAMと同様にワード線とビット線を用いて読み書きを行う.コンフィギュレーションデータは順次,シフトレジスタ (図中ビット・シフトレジスタ)に入力される.完全にシフトレジスタがデータで埋まると,ワード線がアサートされ,指定された部分にシフトレジスタの値が書き込まれる.その後,次のコンフィギュレーションデータのシフトレジスタへの入力が開始する.ワード線は,リングカウンタによって順番にアサートされ,全てのワード線が一度ずつアサートされた後,Done信号をアサートしてコンフィギュレーションは終了する.

    3.3.2 動的部分再構成

    コンフィギュレーションメモリの一部を,実行中に書き換えることを動的部分再構成と呼ぶ.部分再構成を可能にするためには,コンフィギュレーションメモリにアドレスを割り振り,任意のアドレスを指定して書き換えができるようにアドレスデコーダを追加する必要がある.

    15

  • Xilinx 社のFPGAは,動的部分再構成をサポートしており,アドレッシング可能なコンフィギュレーションメモリの最小単位をフレームと呼んでいる.あるフレームに対してコンフィギュレーションデータの書き換えを行った場合,他のフレームに書き込まれたデータには影響を与えないため,残りの回路の動作を継続したまま一部分のみを再構成することが可能である.

    16

  • 第4章 FPGAベースの故障耐性技術

    FPGAの高信頼化手法は,過渡故障を想定したものと,永久故障まで回復の対象としたものに分類できる.本章では,それらの手法を紹介した後,その問題点を説明する.

    4.1 過渡故障対策

    4.1.1 Scrubbing

    シングル・イベント・アップセット対策として,Scrubbingという,再構成を利用した故障回復手法がXilinx によって提案されている [9].この手法では,エラーの発生の有無にかかわらず,定期的に外部メモリ保存してあるコンフィギュレーションデータで,デバイス全体のコンフィギュレーションメモリを上書きする.仮に,コンフィギュレーションメモリに過渡故障が生じても,定期的にコンフィギュレーションデータが更新されるため,SEUの蓄積を防ぐことができる.しかし,Scrubbingは故障自体を検出するわけではないため,回路が一時的に誤った値を出力するのを防ぐことはできない.また,ステートマシンのように内部状態を持つ回路が,誤った状態に遷移した場合,正しい状態に回復できる保証はない.

    4.1.2 XTMR

    SRAM型FPGAは,SEU(過渡故障)に対してASICとは異なる影響を受ける.ASICの場合,SEUは内部のフリップフロップやキャッシュなど,限定された範囲でしか生じない.しかし,SRAM型 FPGAはコンフィギュレーションメモリがSRAMで構成されているため,この部分に生じたSEUは,LUTの内容や,ルーティングに影響を及ぼし回路機能が変更される可能性がある.このような,故障に対応するためには TMRが有効である.

    Xilinx は FPGAに対する冗長化手法として,XTMR [10]という方式を提案し,この手法を自動的に適用するツール (TMRTool)を提供している.この手法の特徴は,フリップフロップへのフィードバック・ループを形成するステート

    17

  • マシン・ロジックに対して,ループ中に多数決ロジックを挿入する点である.これは,SEUによってフリップフロップの値が反転し,内部状態が他の他の三重化モジュールと異なる状態に遷移した場合,食い違った状態が永久的に訂正されずに残る現象を防ぐためのものである.ループ中に多数決ロジックを挿入することにより,フリップフロップへ書き込まれる値は,常に多数決された結果になる.その結果,1サイクルごとに三重化されたモジュールの内部状態の同期が自動的に行われることになる.しかし,図 4.1のように,BLEの内部にWrite Enableが組み込まれている場合は,ループ内部に多数決ロジックを挿入することができない.XTMRでは,書き込み制御のフィードバック・ループをユーザ・ロジックで構成することを想定していると考えられる.このような実装は,LB内部に組み込まれている書き込み制御ロジックを用いる実装よりも多くのリソースを消費する.5章で,ユーザ・ロジックのリソースを使わず,ハードワイアード・ロジックの書き込み制御ロジックのみを用いて三重化モジュールの同期を行う方法を提案する.LUT FFwe

    図 4.1 Write Enable付きロジックブロック

    また,XTMRでは多数決ロジックを LUTを用いて実現するため,多数決ロジック自身もSEUによるビット反転の可能性がある.そのため,XTMRでは多数決ロジック自体も三重化し,多数決ロジック自身がシングルポイントとなることを回避していいる.図 4.2に三重化した多数決ロジックの構成方法を示す.VVVModule1Module2Module3VVVModule1Module2Module3

    図 4.2三重化された多数決ロジック

    XTMRでは,フィードバック・ループ内の多数決ロジックによって,フリップフロップの値は自動的に正しい値に回復するが,コンフィギュレーションメモリに発生したビット反転は修正することはできない.そのため,4.1.1で説明した Scrubbingと組み合わせることが望ましい.

    18

  • 4.2 永久故障対策

    4.2.1 永久故障からの回復

    FPGAに故障が発生し,故障信号を検出したとする.この時点では,まだそれが過渡故障か,永久故障なのかは判明しないが,過渡故障を回復するプロセスを行った後も,故障信号が消えない場合は,永久故障と判断する.

    FPGAをベースとしたシステムにおいて,永久故障を検出し,回復する場合,故障箇所の回路を複製し別の場所に移動させる方針をとる.この際に回路の再配置,再配線が必要となるため,何らかの専用の計算資源の追加が必要である.このような,計算資源をここでは,回復マネージャと呼ぶこととする.従来の手法 [11, 7, 3, 6]では,回復マネージャに相当するロジックをハードワイアードで追加することを想定していた.しかし,このような実装では大きな面積オーバヘッドを生じる.その上,回復マネージャ自体の信頼性も確保しなければならない.しかし,

    従来の研究においては,故障耐性を持つ回復マネージャの存在は前提条件となっており,十分に議論されているとは言えない.

    4.2.2 自己診断による永久故障検出

    永久故障からの回復を想定している手法のほとんどは故障検出に,自己診断を用いている.これらの手法は,ユーザ・ロジックの一部に診断用の回路を構成し,テストパターンを入力し,出力結果を検査し,対象部分が正常に動作するかどうかを確認する手法である.

    [3]で提案されているRoving STARと呼ばれる手法も自己診断を用いた回復手法の一つである.STARとは Self-Testing AReaを表わし,ワーキングエリアとは独立した,診断中の領域のことを指す.まず,回路の一部分に,予備の領域を用意しておき,そこにSTARを構成する.STARは,その領域の診断を終了すると,隣の領域に移動する.これを繰り返し,STARが全領域をくまなく巡回することで故障を検出する.診断中の領域は,本来の機能が失われる.しかし,STARが自身の領域を移動する際に,移動先の回路の機能を現在の領域にコピーし,再配線するので,動作中の回路に影響を与えずに全領域の診断を行うことができる.図 4.3に示すように,STARは回路を水平に横切るH-STARと垂直に移動するV-STARの二種類があり,双方が個別に診断を行う.回路診断,再構成の機能は故障耐性を前提としたマイクロコントローラが受け持つ.自己診断を用いた手法に共通する点は,故障回復あるいは,故障診断を行う際に専用の計算資源を追加することを想定している点である.このような資源は,典型的には外部に用意されたプロセッサや専用に設計されたコントローラ

    19

  • H - S T A R

    WorkingArea WorkingArea

    WorkingArea WorkingArea

    V |S TAR

    図 4.3 STAR

    である.このような自己診断用のロジックにおいても,4.2.1で述べた回復マネージャと同様の問題が存在する.

    4.2.3 TMRによる永久故障検出

    永久故障から回復するためには,故障箇所を高い精度で特定する必要がある.なぜならば,永久故障からの回復には 4.2.1で述べたように回路の複製,再配置,再配線が必要であり,その際に移動させる領域が小さいほうが予備のハードウェアを効率よく使用できるからである.

    TMRによって,永久故障を検出することを考えた場合,三重化する単位の大きさ (粒度)は小さいほうが有利である.図 4.4に粗粒度の TMRと細粒度のTMRの比較を示す.この図が表わすように,細粒度で故障検出,回復を行うと,同じ面積の空き領域を持っていても置き換えるためのスペアの数が多くなる.その結果,細粒度の TMRの方が,多回数の永久故障に対しても耐性を持つようになる.しかし,一般的に行われているのは粗粒度の TMRであり,高い精度で故障箇所を特定することができない.例えば,[7]では,FPGAチップレベルで三重化を行い故障を検出する.このような三重化方法では,故障が発生した際に,どのチップに故障が生じたかは分かるが,それ以上に詳しく故障が発生した箇所を特定することはできない.そのため,[7]では,永久故障が発生した場合は,最終的には回路診断を用いて故障箇所を特定している.高い精度で故障箇所を特定するためには,より小さい単位で TMRを行えば

    よい.しかし,細粒度TMRでの検出は,粗粒度TMRに比べて,多数決ロジックの数,故障検出信号の数が多くなってしまい,面積オーバヘッドが大きくなってしまう.

    20

  • Module’Module”Spare粗粒度TMR 細粒度TMRModulereplace replace

    図 4.4 TMRの粒度

    4.3 従来手法の問題点従来手法の問題点は,大きく分けて 2点である.回復マネージャに関する問題と,細粒度 TMRに関する問題である.以下,それぞれについてまとめる.

    回復マネージャの問題永久故障から回復する際には,故障箇所の再配置,再配線を行うため,コンフィギュレーションデータの再計算が必要である.従来手法は,回復マネージャをハードワイアードで追加することを想定しているため,以下のような問題が存在する.

    1. 通常の FPGAに対し,プロセッサなどのハードワイアード・ロジックを追加すると,大きなオーバヘッドとなる.このようなオーバヘッドを伴った FPGAは,通常用途の FPGAとして使用することは難しく,高信頼用途専用品となってしまう.

    2. 追加ハードウェアの信頼性の確保が困難である.回復マネージャはそれ自身がシングルポイントとなる.そのため,システム全体の故障耐性を確保するためには,回復マネージャ自体にも故障耐性を保障することが必要不可欠である.しかし,従来の研究では回復マネージャの故障耐性は前提条件となっており,十分に議論されているとはいえない.

    細粒度 TMR のオーバヘッドTMRを用いてリアルタイムに故障検出,回復を行おうとすると,細粒度TMRが必要になる.しかし,細粒度 TMRを実現するには,多数の多数決ロジックや故障検出信号線が必要となり実現困難である.

    21

  • 第5章 提案手法

    本章では,4章で述べた従来手法の問題点に対する解決策を提案する.

    5.1 ユーザ・ロジック回復マネージャ従来の手法は,回復マネージャをハードワイアードで実装しており,その面積オーバヘッドと,回復マネージャ自身の故障耐性が問題となっていた.本手法では,回復マネージャをFPGAのユーザ・ロジック領域に,他の回路と同様に三重化した上で構成する.この方法によって以下のように,回復マネージャ実装に関する問題を解決できる.

    • 通常用途時には回復マネージャのオーバヘッドが発生しない.回復マネージャはユーザ・ロジックとして,FPGA上の領域に構成される.その結果,通常用途の FPGAとして使用する際は回復マネージャを構成せず,その領域を自由な用途に割り当てることができる.

    • 回復マネージャ自身にも,他のユーザ・ロジックと同様の高い故障耐性を確保することができる.回復マネージャにも FPGAの再構成可能な特徴を適用可能である.したがって,回復マネージャが自身で自分に発生した故障を回復することで,ハードワイアード・ロジックでは実現できない柔軟な故障回復が実現可能である.

    従来の手法と提案手法の比較を,概念図を用いて説明する.通常のFPGAの機能は,それぞれ,ソフトウェア,ユーザ・ロジック,ハードワイアード・ロジックの層から構成されていると考えることができる(図 5.1上段).図5.1下段は,従来手法による耐故障性FPGAを表した図である.通常FPGA

    と異なる点は,ハードワイアード・ロジックの層に回復マネージャが実装されている点と,自律的に自己再構成を行うためにコンフィギュレーション回路の層 (図中Config Subsystem)が追加されている点である.このような実装の場合,通常用途として使おうとしたときに,不必要な回復マネージャが,面積オーバヘッドとなってしまうことが分かる.提案手法は,図 5.2のように表すことができる.従来手法と異なり,回復マネージャはユーザ・ロジックとして実装されている.結果として,通常用途時

    22

  • SoftwareUser LogicHard-Wired Logic

    RMSoftwareUser LogicHard-Wired Logic RMConfig Subsystem

    通常FPGA

    高信頼FPGASoftwareUser LogicHard-Wired Logic RMConfig Subsystem通常用途時 高信頼用途時

    通常用途時には不要

    図 5.1回復マネージャの実装(従来手法)

    SoftwareUser Logic RMRMSoftwareUser LogicHard-Wired Logic Hard-Wired LogicConfig Subsystem Config Subsystem通常用途時 高信頼用途時

    提案手法

    図 5.2回復マネージャの実装 (提案手法)

    に回復マネージャを構成する必要がなく,オーバヘッドが消滅していることが分かる.

    5.2 細粒度TMR の実装方式永久故障からの回復を効率的に行うためには,細粒度 TMRが必要であるこ

    とは 4.2.2で述べた.ここでは,細粒度TMRに伴うオーバヘッドの削減手法について説明する.

    5.2.1 ハードワイアード多数決ロジック

    4章で紹介したXTMRのように,従来,FPGAにおける多数決ロジックはユーザ・ロジック,すなわち LUTを用いて実現していた.そのため,細粒度 TMRでは多数決ロジックの面積オーバヘッドが大きくなってしまう問題があった.

    LUTで多数決ロジックを実現しようとすると,多数決部に LUTが一つ,エラー検出に LUTが二つ,合計三つの LUTが必要になる.もし,FPGAの基本要素である BLE単位で三重化を行うとすると,BLE三個で三重化したロジックに対し,それと同数の BLEが必要になる.結果,ユーザ・ロジックの半分

    23

  • error signalVVVV EncoderVVVV VVVV VVVV VVVV Column Enc.VVVV Low Enc.V VV VV VV Verror signal

    図 5.3 2次元故障信号検出線

    が多数決ロジックに割り当てられることになり,受け入れがたいオーバヘッドが生じる.この問題は,多数決ロジックをハードワイアード・ロジックで構成することで解決できる.多数決ロジックはハードワイアードで構成した場合,わずか 6ゲートで実装可能である (図 2.4).そのため,FPGAの最も小さい基本要素である BLE単位で三重化を行ったとしても,十分に小さい面積オーバヘッドで済む.

    5.2.2 2次元故障検出信号線

    細粒度 TMRでは,多数決ロジックの増加に伴って,故障信号を検出する配線数も増加する.これらの配線は,無視できないほどの面積オーバヘッドを生じる.仮に,1024個の多数決ロジックが存在し,32× 32の正方形の格子状に配列

    されているとする.それぞれの多数決ロジックから,故障のあり/なしを伝える 1ビットの信号線が出ているとする.単純に故障の発生箇所を特定しようとすると,1024本の独立した配線と,1024入力のエンコーダが必要となる.これらは,非常に大きなオーバヘッドとなりうる.提案する手法では,故障発生箇所を 2次元座標で特定することを考える.

    FPGAの LB は格子状に規則的に配置されており,多数決ロジックも同様に格子状に配置される.そのため,故障箇所を特定するには,その X-Y 座標が分かれば十分である.そこで,図 5.3のように,故障箇所のX座標,Y座標を個別に特定できるように信号線をメッシュ状に配線する.そうすることによって,先述した 1024個の多数決ロジックの例を考えると,1024本必要であった信号線は,

    √1024× 2 = 64本,1024入力のエンコーダは 32入力のエンコーダ

    × 2で済む.

    24

  • 5.2.3 TMRの実装の詳細

    提案手法における多数決ロジックの実装方法を説明する.図 5.4が,想定する LBアーキテクチャである.ただし,見やすさのために故障検出信号を省略してある.多数決ロジックは LB内部に組み込まれ,BLE単位での三重化を行うことを想定している.LBの出口には,セレクタが配置され,多数決ロジックの出力と BLEの直接の出力のどちらかを選択できるようになっている.通常用途の場合は,BLEの値を直接出力し,高信頼用途の場合は,多数決ロジックの値が出力されるように設定する.ただし多数決ロジックは,シングルポイント部であるため,三重化される.図 5.4中の Voterブロックは,三重化された多数決ロジックを表している.

    LB内部にはN個のBLEが含まれており,[N/3]1個の多数決ロジックが組み込まれている.同一の機能を持つ 3個の LBの出力が専用のインターコネクトによって選択されて多数決ロジックの入力となる.この専用インターコネクトのことを以後,多数決用インターコネクトと呼ぶこととする.多数決ロジックへ入力される BLEは必ず,同じ LB内から選択される.

    BLEに永久故障が発生した場合は,そのBLEが接続されている多数決用インターコネクトのルーティングを変更することで予備の BLEと切り替えることができる.もし,LB内部に置き換え可能なBLEが存在しなければ,他のLBのうち三個以上の空き BLEを持つものを探し,三個まとめてその LBへと移動させる.

    5.3 故障回復機構

    5.3.1 分散コンフィギュレーションポートの実装

    通常,コンフィギュレーションポートは,一つデバイスにつき,一つしか存在しない.しかし,耐故障性を考えると複数のポートからコンフィギュレーションを行えるように分散していることが望ましい.したがって,本手法では一つのデバイスにつき複数のコンフィギュレーションポートを持つアーキテクチャを提案する.また,提案する手法は,自律的に再構成を行う必要があるため,ユーザ・ロジックからアクセス可能なコンフィギュレーションポートが必要である.提案手法におけるコンフィギュレーションポートの構成を図 5.5に示す.デバイス全体は,タイルという単位で分割されており,それぞれのタイルはコンフィギュレーションポートを持つ.各ポートから,コンフィギュレーションメモリのビット線,ワード線を制御することができるため,各タイルは,自分自身も含めて任意のタイルの再構成を行うことができる.図 5.5には,簡単のた

    1[x] は xを超えない最大の整数

    25

  • VoterVoter

    Voter InterconnectBLELocal Interconnect

    Global InterconnectGlobal Interconnect BLEBLEBLEBLEBLE

    図 5.4多数決ロジックを組み込んだ LB

    め 4個のタイルの場合を示したが,一つのタイルは数百 BLE程度の大きさを想定しているため,実際にはもっと多くのタイルが存在することになる.回復マネージャも,他のユーザ・ロジックと同様に,三重化された状態で複数のタイルにまたがって実装される.故障が検出されると,回復マネージャは新しいコンフィギュレーションデータを計算し,内部のコンフィギュレーションポートから故障箇所のタイルの再構成を行う.仮に,故障箇所が回復マネージャ内部であっても,回復マネージャは三重化されているため,動作を継続することができる.したがって,自身の再構成用のコンフィギュレーションデータを計算し,自身の再構成を行うことができる.

    5.3.2 三重化モジュール間の同期手法

    三重化システムを故障から回復させるプロセスを考える.内部状態を持つステートマシンの場合,回路の機能を修復するだけでは不十分で,内部状態も含めて他のモジュールと同期させる必要がある.本手法で用いる,BLEレベルの TMRにおいても,この必要が生じる.図 4.1に示すように,通常 LBには,フリップフロップ (以下 FF)への書き込みを制御するためWrite Enbale (WE)信号が組み込まれている.仮に,LUT部に生じたソフトエラー/ハードエラーを修復したとしても,その瞬間の FFの値は,他の 2つの FFと同一とは限らない.WE信号が一度でもアサートされた場合,3つの FFには同じ値が書き込まれるため,自動的に同期が完了する.

    26

  • Word RegisterTileBit Shift Register Tile

    TileBit Shift Register

    Word Register

    Configuration Port

    Config. data

    LB LB LBLBLB LB LBWord Enable

    図 5.5コンフィギュレーション回路の構成

    しかし,WE信号がアサートされなければ,FFの値が食い違ったままの状態が続く可能性がある.三つのモジュールの状態を同期させる最も簡便な方法は,回路全体をリセットすることである.しかし,リアルタイム性を求められるアプリケーションでは,リセットをせずに同期させることが求められる.ナイーブな解決策として,Scan Chainなどを用いてFFの値を一度読み出し,その情報をもとに,個別の FFにセット,リセット信号を送り,値を同期させる方法が考えられる.個別のFFに対し,セット,リセットをかける方法は,リコンフィギュレーションの仕組みを利用して行うことができる.まず,セット,リセット信号をコンフィギュレーションメモリのビットに対応させる.その上で再構成用の回路を用いてコンフィギュレーションメモリの値を変更することで,各 FFにセットまたはリセットをかけることが可能である.しかし,FFの値の読み出し,及び強制書き込みを 1サイクルで行うことは

    現実的ではなく,何サイクルかの時間がかかる.そのため,その間にWE信号がアサートされ,同期が失敗する可能性を排除できない.そこで,書き込み履歴ラッチという特別なラッチを各 FFにつける (図 5.6).このラッチは,過去にWE信号がアサートされたことがあるかどうかを知るためのラッチであり,一度でもWE信号がアサートされると 1となり,その後,その値を保持し続ける.故障発生後,回路の修復した後,この書き込み履歴ラッチをリセットし,先述した方法で,FFの値の読み出し,強制書き換えを行う.もし,その時に,書き込み履歴ラッチの値が 1になっていれば,FFの値を読み出している間に少なくとも一度はWE信号がアサートされ,すでに同

    27

  • 期が完了しているはずである.その場合は,書き込み履歴ラッチによってセット,リセット信号はゲーティングされ,書き換えは行われない.逆に,書き込み履歴ラッチの値が 0のままだと,同期が完了していないはずなので,セット,リセット信号によって強制的に同期が完了する.以上に述べた一連プロセスを図 5.7に示す. LUT FFwe set resetM MMreset config. mem書き込み履歴ラッチ

    図 5.6同期化機構を組み込んだ LB

    28

  • 再構成による修復書き込み履歴ビットクリア

    開始

    終了

    故障検出?No

    Yes

    FF値読み出し書き込み履歴ビットon?Yes

    No FFのセット or リセット

    図 5.7同期化アルゴリズム

    29

  • 第6章 評価

    本章では,提案アーキテクチャの永久故障に対する耐性をモンテカルロ法によって評価した結果を示す.

    6.1 評価モデル

    6.1.1 TIDの故障確率

    TIDによる故障確率は,放射線の総照射量に相関して変化する.放射線の総照射量は,kradという単位で表現される.

    TIDによる故障の確率密度関数は,正規分布によって近似できることが知られている [5].したがって,放射線の総照射量 zととすると,確率分布関数は,f(z)は以下のように表すことができる.

    f(z) =1

    σ√

    2πexp(−1

    2((z − µ)2

    σ2))

    σ, µはそれぞれ,正規分布における標準偏差,平均である.これをもとに,信頼度関数R(z)を計算すると,

    R(z) =

    ∫ ∞z

    f(u)du =

    ∫ ∞z

    1

    σ√

    2πexp(−1

    2((u− µ)2

    σ2))du

    =1

    2erfc(

    z − µσ√

    2)

    となる.ここで erfc(z)は相補誤差関数と呼ばれる関数であり,

    erfc(x) =2√π

    ∫ ∞x

    e−x2

    dx

    と定義される関数である.

    故障率関数は λ(z)は,λ(z) =f(z)

    R(z)で与えられる.

    図6.1,図6.2,図6.3はそれぞれ,上述したモデルで計算した確率密度,信頼度,故障率の例である.各グラフの (µ, σ)は (100,5), (100,10), (100,15)である.

    30

  • 0

    0.01

    0.02

    0.03

    0.04

    0.05

    0.06

    0.07

    0.08

    0 50 100 150 200

    f(z)

    Total Dose (krad)

    sigma=5sigma=10sigma=15

    図 6.1故障確率の確率密度

    0

    0.2

    0.4

    0.6

    0.8

    1

    0 50 100 150 200

    R(z

    )

    Total Dose (krad)

    sigma=5sigma=10sigma=15

    図 6.2信頼度

    6.1.2 回路モデル

    評価する回路のモデルについて,説明する.5章で述べた提案アーキテクチャを想定して評価を行う.LB内部にはN個の BLEと,[N/3]個の多数決ロジックが組み込まれているものとし,故障が発生した場合は,以下の規則に従って,故障 BLEの置き換えを行う.

    1. 故障の際の置き換えは,可能な限り LB内で行う.

    2. もし,LB内に置き換え先がなくなった場合,他の LBのうち,空きBLEを三個以上持つものを探し,三個まとめて BLEを置き換える.

    3. どの LBも三個以上の空きを持たず,置き換え先が見つからなかった場合は,障害発生とみなしそこで終了する.

    31

  • 0

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    4.5

    0 50 100 150 200

    Fai

    lure

    Pro

    babi

    lity

    Total Dose (krad)

    sigma=5sigma=10sigma=15

    図 6.3故障率

    図6.4はN=5の場合の,評価モデルを示したものである.N=5の場合1LB内に,[5/3]=1個の多数決ロジックがあり,5個のBLEのうち 3個を使って TMRを構成している.初期状態においては,残りの 2個の BLEは必ず予備として未使用の状態である. SpareSpare V

    SpareSpare VSpareSpareSpareSpareSpare VSpareSpareSpareSpareSpare V三重化されたBLEを内蔵するLB

    空のLB図 6.4評価モデル (N=5)

    6.2 評価方法予備の BLEを増やした時に,障害が発生するまでの平均ドーズ量がどのように増えるかをモンテカルロ・シミュレーションによって算出した.放射線の

    32

  • ドーズ量を増やしていき,6.1.1で計算した故障確率 λ(z)をもとに,ランダムに選択した BLEに永久故障を起こす.最終的に置き換え不可能となるまでのドーズ量を計算し,平均をとった.故障確率 λ(z)を決めるパラメータは,故障確率の確率密度関数 f(z)の平均

    µ及び,標準偏差 σである.障害が発生するまでのドーズ量として µで正規化したものを使う.そのため,σも µで正規化した値を用いる.すなわち,故障率を決定するパラメータとして σ/µを用いる.今回,採用する σ/µは,[5]で提示されている値を参考にし,0.05,0.10,0.15とした.

    6.3 評価結果グラフの縦軸は,障害が発生するまでのドーズ量を,三重化する前の平均故障ドーズ量 µで正規化したものである.グラフの横軸は,

    三重化後のBLE数+予備のBLE数三重化前のBLE数

    である.すなわち横軸は,評価対象の回路が,冗長化せずに単一モジュールとして実装した場合の何倍のBLEを有するかを表す.空き LBの数を増やすことで予備のBLE数を増やし,予備面積とTIDに対する耐性との相関を調べた.グラフ中,N,B,s/mは,それぞれ 1LB内のBLEの数,元の回路の総BLE数,故障確率の算出に用いた

    σ

    µを表す.

    評価結果を図 6.5~図 6.7に示す.図 6.5は,B=2000,σ/µ = 0.10に固定し,N=3~9について計算したグラフである.図 6.6は,B=2000,N=3に固定し,σ/µ = 0.05,0.10,0.15について計算した結果である.図 6.7は,σ/µ = 0.10,N=3に固定し,Bは 100~4000の間の各点について計算した結果である.

    6.4 考察三重化に加え,わずかな予備ハードウェアを用意するだけで,TIDに対するが大幅に向上することが分かった.

    Nが 3の倍数でない場合,必ず LB内に,多数決を行わない回路が存在するため,三重化を行った直後の段階で,3倍以上の面積を消費している.

    N=3のモデルは,三重化されたBLEのうち一つに永久故障が発生した場合,必ず三個まとめて別の LBへ置き換えるモデルである.これは,見方を変えれば,図 5.4の多数決用インターコネクトを省略したものと考えることができる.LB内の置き換えを許さないため,他のモデルに比べて不利である.しかし,他のモデルに対して大きく故障耐性が低下するわけではなく,予備の割合が小さい時はむしろ他に比べて有利であることが,図 6.5から分かる.したがって,

    33

  • 0

    1

    2

    3

    4

    5

    3 3.5 4 4.5 5 5.5 6

    Rel

    ativ

    e T

    otal

    Dos

    e

    Relative Area

    N=3, B=2000, s/m=0.1N=4, B=2000, s/m=0.1N=5, B=2000, s/m=0.1N=6, B=2000, s/m=0.1N=7, B=2000, s/m=0.1N=8, B=2000, s/m=0.1N=9, B=2000, s/m=0.1

    図 6.5 B=2000σ/µ = 0.10

    図 6.8のように多数決用インターコネクトのハードウェアを省略し,LB内での置き換えを行わないモデルであっても,十分な永久故障耐性が得られることが分かった.そこで,N=3に固定して 3通りの故障率で算出した結果が,図 6.6である.最も楽観的な故障率の場合,元の回路に対して,三重化分の面積を見込んで約3.1倍の面積で,2倍の故障耐性が得られた.最も悲観的な故障率を仮定した場合でも,元の回路に対して三重化分のオーバヘッド込みで 4倍以内の面積増加で,2倍の故障耐性が得られることが分かる.

    N=3,σ/µ = 0.10に固定し,様々なBで算出した結果が図 6.7である.元の回路の論理規模が大きいほど,相対的に小さい予備のオーバヘッドで高い故障耐性が得られることが分かる.これは,耐えられる永久故障の回数が予備のBLEの絶対数におよそ比例するためだと考えられる.ハードウェアオーバヘッドN=3を想定すると,多数決用インターコネクトの必要がなくなるため,必要なハードワイアード・ロジックのリソースは,多数決ロジックのみということになる.このときに,追加する多数決ロジックのオーバヘッドについて考える本手法では,三個の BLEに対し三重化された多数決ロジックが一つ追加される.すなわち,一つの BLEに対し単一の多数決ロジック (図 2.4)がオーバヘッドとして加算されることになる.BLEの大部分は LUTであるので,LUTと単一の多数決ロジックの規模を比較すればよいこととなる.

    3入力の LUTの回路図を図 6.9に示す.これをもとに,近年の主流である 6-入力 LUTの回路規模を考えると,まず真理値を格納するテーブルに 64bit分のSRAMセルが必要である.それに加え,入力値のデコーダに 126個のパストランジスタ,71個のインバータが必要である.これらのハードウェアに対し,

    34

  • 多数決ロジックは 18トランジスタで構成可能である.このことから,多数決ロジックを追加することによるオーバヘッドは非常に小さいことがわかる.故障検出の粒度と信頼性評価の結果,比較的少ない予備ハードウェアで高い故障耐性が得られたのは,

    細粒度での故障検出及び回復を行うことを想定したからである.今回の提案では,故障検出の粒度と回復の粒度がともに,BLE単位であり,一致している.しかし,故障検出と回復の粒度は必ずしも一致する必要はない.故障検出は粗く行い,故障回復を細かく行う方法も考えられる.具体的には,以下のような方法である.数十のBLEを一つの単位として三重化を行い,故障検出もその単位で行う..

    しかし,故障から回復する際は,該当する BLE群に属する BLEを一つずつ,試しに置き換えていく.もし,故障が検出されなくなれば,その直前に置き換えた BLEが故障原因であったことが分かる.このようにして,故障検出と回復を異なる粒度で行うという方法も考えられる.この方法によって,必要な多数決ロジックの数を,減らしつつ,高い故障耐性は維持することができる.しかし,上述したように多数決ロジック自体は,わずかなハードウェアなので,この方法による面積削減効果は,あまり大きくないと考えられる.

    35

  • 0

    1

    2

    3

    4

    5

    6

    7

    3 3.5 4 4.5 5 5.5 6

    Rel

    ativ

    e T

    otal

    Dos

    e

    Relative Area

    N=3, B=2000, s/m=0.05N=3, B=2000, s/m=0.1

    N=3, B=2000, s/m=0.15

    図 6.6 B=2000 N=3

    0

    1

    2

    3

    4

    5

    3 3.5 4 4.5 5 5.5 6

    Rel

    ativ

    e T

    otal

    Dos

    e

    Relative Area

    N=3, B=100, s/m=0.1N=3, B=500, s/m=0.1

    N=3, B=1000, s/m=0.1N=3, B=2000, s/m=0.1N=3, B=3000, s/m=0.1N=3, B=4000, s/m=0.1

    図 6.7σ/µ = 0.10 N=3

    36

  • VoterVoter

    BLELocal InterconnectGlobal Interconnect

    Global Interconnect BLEBLEBLEBLEBLE図 6.8多数決用インターコネクトを持たない LB

    MMMMMMMM

    i1i2i3

    図 6.9 3入力 LUTの回路図

    37

  • 第7章 おわりに

    本研究では,通常用FPGAに,わずかなハードウェアを追加するだけで,高信頼化する手法を提案した.提案した手法では,回復マネージャをユーザ・ロジック領域に実装し,他の回路と同様に故障検出,回復の対象とした.このことによって,従来の手法では大きくなりがちであった,追加ハードウェアをほとんど必要とせず,故障耐性を持つFPGAをが構成できることを示した.同時に,本手法では,回復マネージャ自体の信頼性が確保できるため,システム全体の高い故障耐性を得ることができる.また,細粒度 TMRを小さなオーバヘッドで実現する手法を提案した.細粒度 TMRを採用することで,永久故障に対する高い耐性を実現した.TIDに対する評価の結果,三重化に加えて,わずかな予備を用意するだけで 2倍以上の耐性を持つことを示した.提案した手法では,通常用途のFPGAに対しての追加は,最小限に抑えられるため,高信頼用途にも使用可能な FPGAを,そのまま通常用 FPGAとして安価に販売できる.結果,従来,高いコストがかかっていた高信頼用電子デバイスの調達を低コストで行うことができるようになる.今後の課題として,より詳細な故障耐性の評価,レイアウト設計に基づいた詳細な面積オーバヘッドの評価,実チップの試作などが挙げられる.

    38

  • 参考文献

    [1] Betz, V. and Rose, J.: Cluster-based logic blocks for FPGAs: area-efficiencyvs. input sharing and size,Custom Integrated Circuits Conference, 1997., Pro-ceedings of the IEEE 1997, pp. 551 –554 (1997).

    [2] Dodd, P. and Massengill, L.: Basic Mechanisms and Modeling of Single-Event Upset in Digital Microelectronics,Nuclear Science, IEEE Transactionson, Vol. 50, No. 3, pp. 583 – 602 (2003).

    [3] Emmert, J., Stroud, C., Skaggs, B. and Abramovici, M.: Dynamic fault toler-ance in FPGAs via partial reconfiguration,Field-Programmable Custom Com-puting Machines, 2000 IEEE Symposium on(2000).

    [4] Kuon, I., Tessier, R. and Rose, J.: FPGA Architecture: Survey and Challenges,Found. Trends Electron. Des. Autom., Vol. 2, pp. 135–253 (2008).

    [5] Kuwahara, T.:FPGA-based reconfigurable on-board computing systems forspace applications, PhD Thesis (2010).

    [6] Lach, J., Mangione-Smith, W. and Potkonjak, M.: Low overhead fault-tolerantFPGA systems,Very Large Scale Integration (VLSI) Systems, IEEE Transac-tions on, Vol. 6, No. 2, pp. 212–221 (1998).

    [7] Li, Y., Li, D. and Wang, Z.: A new approach to detect-mitigate-correctradiation-induced faults for SRAM-based FPGAs in aerospace application,National Aerospace and Electronics Conference, 2000. NAECON 2000. Pro-ceedings of the IEEE 2000, pp. 588–594 (2000).

    [8] Xavier Cano, Ricardo Graciani, David Gascon, Lluis Garrido, Sebastia Bota,Atila Herms, Albert Comerma, Jordi Riera: Radiation hardness on very front-end for SPD,Nuclear Instruments and Methods in Physics Research Sec-tion A: Accelerators, Spectrometers, Detectors and Associated Equipment,Vol. 551, No. 2-3, pp. 458 – 468 (2005).

    [9] Xilinx: Correcting Single-Event Upsets Through Virtex Partial Configuration(2000). Xilinx Application Note 216.

    39

  • [10] Xilinx: Triple Module Redundancy Design Techniques for Virtex FPGAs(2006). Xilinx Application Note 197.

    [11] Yu, S.-Y. and McCluskey, E. J.: Permanent Fault Repair for FPGAs with Lim-ited Redundant Area,Proceedings of the 16th IEEE International Symposiumon Defect and Fault-Tolerance in VLSI Systems, DFT ’01, Washington, DC,USA, IEEE Computer Society, pp. 125–133 (2001).

    [12] 独立行政法人新エネルギー・産業技術総合開発機構 (NEDO)機械システム技術開発:「宇宙等極限環境における電子部品等の利用に関する研究開発プロジェクト」事業原簿 (2004).

    40

  • 発表文献

    主著論文1. 耐永久故障 FPGAアーキテクチャ岡田崇志,喜多貴信,五島正裕,坂井修一情報処理学会研究報告 2009 ARC 184, No. 4(2009).

    2. 耐永久故障 FPGAアーキテクチャの予備評価岡田崇志,喜多貴信,五島正裕,坂井修一情報処理学会第 72会全国大会, pp. 1-221 - 1-222(2010).

    3. 耐永久故障 FPGAアーキテクチャ岡田崇志,喜多貴信,塩谷亮太,五島正裕,坂井修一電子情報通信学会研究報告 CPSY2010-7, pp. 33-37(2010).

     

    共著論文 

    1. 過渡故障耐性を持つ Out-of-Orderスーパスカラ・プロセッサの評価有馬慧,岡田崇志,堀尾一生,喜多貴信,塩谷亮太,五島正裕,坂井修一情報処理学会第 72会全国大会, pp. 1-223 - 1-224(2010).

    2. Out-of-Orderスーパスカラ・プロセッサの耐過渡故障方式の改良有馬慧,岡田崇志,喜多貴信,塩谷亮太,五島正裕,坂井修一電子情報通信学会研究報告 CPSY2010-5, pp. 21-26(2010).

    3. 過渡故障耐性を持つOut-of-Orderスーパスカラ・プロセッサのコミット方式有馬慧,岡田崇志,塩谷亮太,五島正裕,坂井修一情報処理学会研究報告 2010 ARC190, No.10(2010).

    41

  • 謝辞

    この研究を進めるにあたり,多くの方々からご指導,ご協力を頂きました.この場を借りて感謝の意を表したいと思います.指導教官である坂井修一教授には,研究の方向性,研究に対する考え方を含め,貴重な助言をたくさん頂きました.五島正裕准教授には,本論文も含め,研究に関わるほとんど全ての面でご指導,ご協力を頂きました.坂井修一教授,五島正裕准教授には,学部時代から 3年間にわたって,多大

    なご指導を頂きました.3年間の研究の過程を通じて,自分が成長できたとすれば,それは先生方のおかげです.本当にありがとうございました.八木原晴水さん,長谷部環さん,伊世知代さんは,各種事務手続きや,設備の導入など,研究室での生活を送るために必要不可欠なご支援を頂きました.本当にありがとうございました.また,坂井・五島研究室のメンバーの方々にも,普段から様々な形でお世話になりました.心より感謝いたします.

    42