再構成可能デバイスを用いた高信頼システムの設計
Design of Reliable Systems with Reconfigurable Devices

１．はじめに半導体技術の急速な進歩は集積回路（LSI）の高機能化、高速化、多様化などを可能とし、その結果、多くの LSI システムが我々の生活に深く関与している。
当然ながらこれらの LSI システムは信頼できること（故障しないこと）が求められるが、その目的によって求められる信頼性は様々である。医療システムや金市原 英行 (Hideyuki ICHIHARA, Ph.D.)

融システムのように、システムの障害が人命や経済活

広島市立大学大学院 情報科学研究科 准教授

動に大きなインパクトを与えるため、高い信頼性を求(Associate Professor, School of Information Sciences,Hiroshima City University)

められるものから、ゲームなどのアミューズメントシステムやコンシューマー向けの製品などのように、多IEEE, 電子情報通信学会受賞：電子情報通信学会論文賞(2005) WRTLT2004 Best Paper Award(2005)
研究専門分野：計算機システム ディペンダブルコンピューティングストカスティックコンピューティング

少の障害であれば許容できるものまで様々存在する。
当然ながら、前者のような高信頼システムは 2 重化や3 重化などを行うことで高信頼を実現する場合が多い
ため実現コストは高くなり、後者の比較的低信頼なシステムは低コストでの実現が可能である。
本研究では、再構成可能な LSI の 1 つである FPGA（Field Programmable Gate Array）を利用して、低コストで高信頼なシステムを実現する方法の提案を行っている[1]-[4]。提案しているシステムは、無修理でシステムのアベイラビリティ（可用性）を高くすることできるため、人の手が届きにくく、稼働期間中の部品交換などが難しい遠隔地や宇宙空間での監視システムやあらまし

本研究では、再構成が可能な LSI の 1 つ常駐システム（例えば軌道計算や通信制御など）に利用である FPGA（Field Programmable Gate Array ）できると考えられる。

を利用して、低コストで高信頼なシステムを実現する方

以下では、これまでの研究動向を述べた後、提案シス法を提案する。提案システムは、自律的に故障箇所を検テムの概要、そして Dual-FPGA アーキテクチャを用出し、故障箇所を自ら修復または切り捨てることで、いた提案システムの実装と検証について述べる。

サービスを少しでも長く継続する。また、提案システ
ムは複数の故障への対応や故障の種類に応じた回復処

２．FPGA を用いた耐故障システム

理を行う適応性も有しているため、限られたリソース

FPGA とは SRAM 型の再構成可能デバイスであり、を適切に利用することが可能である。これらの機能に

図 1 の よ う に論 理 ブ ロッ ク（ Configurable Logic

より提案システムは、人の手が届きにくく、稼働期間中Block, CLB）と呼ばれるブロックが格子状に並び、その部品交換などが難しい遠隔地や宇宙空間での常駐シれらが相互にスイッチマトリックスで接続された構造

ステム（例えば軌道計算や通信制御システム、監視シスとなっている。CLB の主な構成要素は SRAM で構成さテムなど）に利用できると考えられる。さらに、提案シれたルックアップテーブル（LUT）とフリップフロップ

ステムを Dual-FPGA アーキテクチャを用いて実装す（FF）である。LUT は SRAM に格納された構成情報ることで、具体的なアプリケーションを対象にその機能によって真理値表を表現し、入力をアドレスとしてそや動作を検証し、その実現可能性を明らかにする。の真理値表を参照することで出力を決定する。

1

TELECOM FRONTIER No.85 2014 AUTUMN再構成可能デバイスを用いた高信頼システムの設計
Design of Reliable Systems with Reconfigurable Devices

図１

ＦＰＧＡの構造

この LUT と FF, SRAM に格納された構成情報により、このグループを 1 つの単位として FPGA を分割して配線の接続を制御できるスイッチマトリックスを組みいる。初期の構成情報では、予め予備グループを用意合わせることにより、目的に応じたアプリケーションしておく。運用時には、グループごとに誤り検出を行い、を実現することが可能となる。

誤りを検出すると、予備グループに故障グループの回

LUT やスイッチマトリックスなどの構成情報により路構成情報をシフトさせることで障害から回復する。

アプリケーションの構成を決定する部分を構成情報部、一方、文献[1][7][8]では、予備の領域をあらかじめFF やマルチプレクサなどの構成情報部以外のアプリ設けるのではなく、故障を検出すると、故障箇所を避ケ ー シ ョ ン を 実 現 す る部分を演算実行部と呼ぶ 。

けるように再構成を行う方式が提案されている。このFPGA 上にアプリケーションを実現する際には、FPGAような耐故障設計を漸次縮退システムと呼ぶ。一般的

外部から回路構成情報（コンフィギュレーションデータ）に漸次縮退システムは、待機冗長システムに比べて、を構成情報部である SRAM にダウンロードして構成情正常時には FPGA のすべての面積を利用できるため報を更新する（再構成）。再構成時に、構成情報部内のに、処理速度や能力が高いという特徴がある。この方回路構成情報は新しいものに更新され、演算実行部の式は筆者らが提案するシステムでも採用している。

FF の内容はリセットされる。これにより、コンフィ自律的に FPGA の再構成を行うためには、再構成ギュレーションデータに応じた構成のアプリケーショを制御するための機構がシステム内に必要となる。一ンが 、FPGA 上に実現される。

般的には、外部にパーソナルコンピュータ（PC）や専このような FPGA の再構成機能を利用した様々な用のコントローラを持つことで再構成を行うが、文献耐故障システムが、いくつか提案されている。文献[9]では、2 つの FPGA を用いた Dual-FPGA アーキ[1][5][6]では、予め FPGA 内部に予備の領域を設けてテクチャが提案されている。2 つの FPGA が互いの動おき、故障時にはその領域を利用するシステムが提案作状況を監視し、相手のエラーを検出すると再構成さされている。このような耐故障システムは待機予備シせるためのコントローラを有する自律修復システムでステムと呼ばれる。例えば、文献[5]では、構成情報がある。この方式は筆者らのシステムの実装に利用して列方向で 1 つのグループを作っていることに着目し、いる。

2

TELECOM FRONTIER No.85 2014 AUTUMN再構成可能デバイスを用いた高信頼システムの設計
Design of Reliable Systems with Reconfigurable Devices

CLB からなる部分領域（ブロック）に分割する。また、

３．故障状況対応型漸次縮退システム（提案システム）各ブロックはエラー検出機構（二重化、符号化など）

提案システムは、自律的に障害から回復し動作を継を備えており、どのブロックが故障したかを判断する続するための機構を有する漸次縮退システムであり、ことができる。ブロック数を N とすると（図では N =故障状況に対応してその回復動作を変えるものである。

9）、システム運用開始時には N ブロックを使用した回システムの特徴を以下に述べる。

路構成で実行する。
ブロックの故障を検出すると漸次縮退を行う、つま３．１

り、図 3 のように、その故障ブロックを切り離し N−1

ブロック単位のエラー検出と漸次縮退 [1]提案システムの 1 つの特徴は、漸次縮退システムで個のブロックでシステムを再構成する（回路構成 2）。

ある点である。FPGA 上に故障が発生した際に、そのこれは故障ブロックを検出する度に行われ、システム箇所を特定・分離して残りの無故障部分で同じ機能をで使用するブロックは再構成の度に減少していく。そ持つ回路を構成し、システムを継続して動作する。漸して、サービスが継続できないところまで縮退すると、次縮退のために、図 2 のように FPGA の領域を複数のシステムは停止する。

図２ ブロックに分割されたＦＰＧＡ

図３

漸次縮退再構成の様子

3

TELECOM FRONTIER No.85 2014 AUTUMN再構成可能デバイスを用いた高信頼システムの設計
Design of Reliable Systems with Reconfigurable Devices

このとき、図 4 に示すように利用可能なハードウェ 演算実行部の一時故障：放射線衝突などの影響で、アリソースの減少にしたがって、演算ユニットを別の演算中のデータが変化してしまう故障である。その時間に共有して利用することで同等の機能を実現する。

誤った演算結果が FF に格納されるとエラーにな

この例では、回路構成 1 では 9 つのブロックを使えるる。放射線衝突などの影響は一時的なものである

ため、9 つの演算ユニットを 9 つのブロックで実現してため、エラーも一時的となる。このようなエラーいるが、回路構成 2 では 8 つのブロックしか使えないをソフトエラーと呼ぶ。図 5 では、フリップフロため、1 つの加算ユニットを 2 つの加算で共有していップの値が放射線衝突によって 0 から 1 に変化しる様子（色をつけた部分）を示している。回路構成 3た例である。

ではさらに共有が進み、1 つの加算ユニットを 3 つの 構成情報部の一時故障：LUT やスイッチマトリ加算で共有している。このような演算ユニットの共有

ックスの SRAM の値が放射線衝突などにより変は、性能低下が起こる可能性がある。この例では、回化することで回路構成情報が破損し、回路構成が変路構成 1 に対して回路構成 2 は 1 時刻、回路構成 3 は化してしまう故障である。正常なシステムでは構2 時刻、演算時間が延びている様子を示している。

成情報は演算中には更新されないため、この故障

このような回路構成情報は、故障ブロックに応じて状況が原因のエラーは、ソフトエラーと異なり再あらかじめ合成し、複数の回路構成を用意しておくも現性がある。そのため、再計算を行っても回復はのとする。ただし、この方式はメモリを多く必要とすできない。このようなエラーをファームエラーとるため、故障状況に応じて適切な回路構成を選択して呼ぶ。図 5 では、回路構成情報が変化することに再構成することも検討している。

よって AND ゲートを構成していた LUT が XORゲートに変化した例である。

３．２

故障状況への対応 [2] 永 久 故 障：縮 退 故 障 など の 物 理的 欠 陥に よ る

提案システムのもう 1 つの大きな特徴として、エラFPGA そのものの故障である。永久故障が原因のー発生の原因である故障の種類を推定し、回復のためエラーは、ファームエラーと同様にエラーに再現の適切な回路構成を選択できることが挙げられる。こ性があり、演算実行部に発生した場合と構成情報れにより、過剰な縮退再構成を避けることができる。

部に発生した場合を区別しない。このようなエラ本研究では、以下の 3 つの故障を想定している。

ーをハードエラーと呼ぶ。図 5 では、信号線が断線し信号が伝播されない例である。

図４ 稼働ブロック数と性能の関係

4TELECOM FRONTIER No.85 2014 AUTUMN再構成可能デバイスを用いた高信頼システムの設計
Design of Reliable Systems with Reconfigurable Devices

図５ ＦＰＧＡで起こる故障の分類

ソフトエラーの場合は、回路構成情報の変更の必要

ルで想定するエラーと対応するエラーの検出時の対応はなく、エラーを訂正するのみでよいため、演算情報は次のようになる。のロールバックと再計算によって復帰する。一方、

 エラーレベル 0：ソフトエラーを想定し、ロールファームエラーの場合、回路構成情報は正常と異なる（EL0）が、FPGA そのものの構成機構（ハードウェア）は正バック（再計算）で回復

 エラーレベル 1：ファームエラーを想定し、同一再常であるため、そのエラー発生箇所を分離する必要は（EL1）なく、同一のコンフィギュレーションデータを用いて構成後、ロールバックで回復 エラーレベル 2：ハードエラーを想定し、縮退再再構成することで縮退せずに、正常状態に回復すること（EL2）構成とロールバックで回復が可能である。
ハードエラーの場合は、FPGA ハードウェアの故障のため、その発生ブロックを分離する縮退再構成によって、故障状態から回復する。
このように、3 つのエラーを適切に見分けることができれば、過剰な縮退を避けることができ、システム運用開始時の性能を維持しながらシステムの寿命を延ばすことができる。しかし一般に、検出されたエラーからは 3つのうちのどのエラーかを判別することはできない。したがって、このシステムでは 3 つのエラーレベルを設定し、各レベルで異なるエラーへの回復処理を試行し、エラーから復帰できない場合は、次のエラーレベルに進む
図６

ことを繰り返す。エラー想定と回復処

エラー検出および回復動作

理の状態遷移図を図 6 に示す。各レベ
5TELECOM FRONTIER No.85 2014 AUTUMN再構成可能デバイスを用いた高信頼システムの設計
Design of Reliable Systems with Reconfigurable Devices

ここでは、発生する故障の状況がソフトエラー、フは SS 保持部に転送される。演算部から RB の指示ァームエラー、ハードエラーの順で頻度が高いと仮定を受けたとき、あるいは、再構成により初期状態でしている。エラーレベルにしたがって、システムはエ復帰したとき、SS 保持部から SS データを呼び戻し、ラーから回復するまで、EL0, EL1, EL2 の順に回復

エラー発生以前の状態への復旧を試みる。

 制御部：演算部、SS 保持部、監視部のエラーの監処理を行う。

視と、副 FPGA Fs の再構成を制御する。演算部のソフトエラーを推定したとき（EL0 の状態で４．Dual-FPGA アーキテクチャによる実装提案するシステムの有効性を検証するために、文献[9]エラーを検出したとき）は、演算部および SS 保で提案されている Dual-FPGA アーキテクチャを参考

持部に RB を指示する。演算部のファームエラー、にして、相互再構成型のシステムとして実装を行ったハードエラーを推定したとき（EL1, EL2 の状態[3][4]。本実装におけるアーキテクチャを図 7 に示す。

でエラーを検出したとき）、Fs の監視部に Fm の主な機能は FPGA-main（以下、Fm ）で実装され、再構成を依頼する。

再構成等を補助する機能は FPGA-support（以下、 SS 保持部：制御部の指示に従いながら演算部かFs ）で実装されている。さらに、Fm は演算部、制ら SS データを受け取り、それを保持する。主御部というモジュールからなり、Fs は SS 保持部、監FPGA Fm の再構成時などに、保持している SS視部というモジュールからなる。いずれのモジュールデータを演算部に転送する。
 監視部：制御部のエラーを監視する。制御部のエラも、機能単位でさらに分割されており、それぞれでエラー検出機能を備えている。

ーおよび制御部からの再構成依頼の受信時に、主 演算部：アプリケーション実装部であり、定期的

FPGA Fm を再構成し、制御部へ Fm を復旧さに演算のスナップショット（SS）をとり、ロールせるための指示を送る。

バック（RB：再計算）等に備える。SS のデータ

図７

Dual-FPGA アーキテクチャによるシステムの実装

6

TELECOM FRONTIER No.85 2014 AUTUMN再構成可能デバイスを用いた高信頼システムの設計
Design of Reliable Systems with Reconfigurable Devices

このように、演算部を主とし、演算部とその動作には、FPGA-support（Fs ）は FPGA-main（Fm ）密接に関わる制御部を Fm に、演算の SS を保持するの 10％未満で実現できており、また、FPGA-main

SS 保持部と再構成を行う監視部を Fs で実現している。の制御部も演算部の 20％程度であった。よって、本これによって演算部が利用できるリソースを最大限確システムを実現するために必要なオーバヘッドは、そ保し、再構成による回復時の制御を簡略化している。

れほど大きくないと考えられる。さらに、SS 保持部

それぞれのモジュールは、その機能を二重化による比は演算部の内容に依存する可能性があるが、制御部と較や符号化を施すことでエラーを検出する。エラーの監視部はエラーからの回復を命令する FSM であるた

検出は、演算部と SS 保持部では、演算結果や保持しめ、演算部の内容に依存しないことを考慮すると、アている SS データの比較によって行い、制御部と監視プリケーションの規模が大きくなるほど、このオーバ部では、状態や出力信号を比較することで行う。比較ヘッドの比率は小さくなると考えられる。

結果が一致しない場合は、エラー信号を出力する。
表１５．実験結果設計したシステムの動作を検証するために、システ

面 積

ムの FPGA 部分を 2 台の FPGA 評価ボード ATLYS

動作周波数

Board（Digilent 社、デバイス名：XC6SLX45、パッ[MHz]

ケージ：CSG324）を利用し、コンフィギュレーションメ

実装結果

FPGA-main

Fm:：演算部

Fm：制御部

1,545

1,463

36

137.053－－

FPGA-support Fs：SS 保持部 Fs：監視部

モリと再構成の実行部分を PC で実装した。クロック発面 積

振 器 は 100MHz の ク ロ ッ ク 信 号 を 生 成 す る 。

動作周波数

FPGA-FPGA 間の通信には FPGA が備える VHDCI

[MHz]

13471

13220.473－－コネクタと 40 ピンの端子を持つ vMod ケーブル（Digilent 社）を利用し、FPGA-PC 間の通信にはシリアル通信（USB ケーブル、RS232C、115,200bps）６．まとめを使用し、再構成の実行には DigilentJTAG Config

本研究では、再構成が可能な LSI の 1 つであるUtility を利用した。このツールによる FPGA の再構

FPGA を利用して、低コストで比較的高信頼なシステ成には 8.0 秒必要となる。演算部には、一次元拡散方ム を実現 する方 法の提 案を 行った 。ま た、 実 際 に程式を解く演算回路を実装して実験を行った。

Dual-FPGA アーキテクチャによって動作する相互再このシステムに対して各モジュールでのエラーを仮構成可能なシステムを実装し、エラー状況に応じた回定し、回復処理が行われる様子を確かめた。その結果、復処理が可能であることや、再構成の実行を行う制御(1)演算部と SS 保持部の情報が正常にスナップショッ部と監視部内の故障状況にも対応できること、再構成トやロールバックされていること、(2)故障状況に対応後に各モジュールが適切な状態に遷移できていることした回復処理が正しく行え、再構成の実行を行う制御を確認した。実装によって示された提案システムの面積や部と監視部内の故障状況にも対応できていること、そ動作周波数は、システムの実現可能性が示している。

して、(3)漸次縮退による再構成が正しく行えているこ

今後の課題としては、コントローラ（FSM）であるとが確認できた。

制御部や監視部での漸次縮退の実現や、任意のアプリ実装したシステムの面積や動作周波数を表 1 に示す。

ケーションに対応した回路構成情報を自動的に合成す各モジュールの面積は、それぞれ独立して合成するこるシステムの開発、さらには、無停止性を指向したシとで求めたスライス数であり、そのため、合計は全体ステムへの応用などが挙げられる。このような課題をのものと一致しない。動作周波数からは今回想定していクリアしていくことで、提案するシステムを遠隔地やる 100MHz で十分に動作することがわかる。面積から宇宙空間で利用することが可能になると考えられる。
7

TELECOM FRONTIER No.85 2014 AUTUMN再構成可能デバイスを用いた高信頼システムの設計
Design of Reliable Systems with Reconfigurable Devices

参考文献[1] R. Noji, S. Fujie,

Y. Yoshikawa,

H. Ichihara,

T. Inoue, “Reliability and Performance ofFPGA-BasedFault

IEEE

WRTLT, pp.245–253, 2009.

[2] R.

Proc.
Noji,TolerantSystems,”

S. Fujie,

Y.

Ichihara,T.

“AnFPGA-based

Fail-soft

SystemwithAdaptiveInoue,Reconfiguration,”

IEEEYoshikawa,

Proc.

H.

IOLTS,

pp.127–132, 2010.
[3] 竹内宏和, 岩垣剛, 市原英行, 井上智生, ”SRAM型 FPGA を用いた故障状況対応型システムのリカバリ機構に関する考察,” 信学技報, pp. 1–6,
2012 年 3 月.
[4] 森拓馬, 大元将一, 岩垣剛, 市原英行, 井上智生, ”Dual-FPGA アーキテクチャに基づく相互再構 成 型 耐 故 障 シ ス テ ム の 実 装 ,”(DC2013-90),

信学技報Vol. 113, No. 430, pp. 67–72,

2014 年 2 月.
[5] W. Huang,

E. J. McClaskey, “Column-Based

Precompiled

Configuration

FPGAFaultFCCM,

pp.137–146, 2001.

Techniques forTolerance,”

IEEEProc.

[6] 岡田 , 喜多 , 塩谷 , 五島 , 坂井 , “耐永久故障
FPGA

ア ー キ テ ク チ ャ ,” 信 学 技 報 , vol.110,no.2, CPSY2010-7, pp.33–37, 2010.
[7] 阿部, 青木, 樋口, 鹿股, “故障の検出および回復が可能な FPGA

アーキテクチャ,” 電子情報通信学会技術研究報告. FTS,
[8] Y.

Nakamura,

Fault-TolerantK.

pp.1–8, 2000.
Hiraki,FPGA

Processor

byProc.

IEEE

Degrading Strategy, ” IEEE
PRDC,
[9] S. Mitra,“ Highlypp. 75–78, 2002.
W. Huang, N. Saxena, S. Yu, E. J.

McCluskey, “ReconfigurableArchitecture for

この研究は、平成２２年度ＳＣＡＴ研究助成の対象とAutonomous Self-Repair,”

Design and Test

して採用され、平成２３～２５年度に実施されたもの

of Computers, pp.228–240, 2004.

です。

8TELECOM FRONTIER No.85 2014 AUTUMN