【IRPS 2009レポート】
航空電子機器編
~航空電子機器を脅かす中性子線ソフトエラー

IRPSのプログラムと講演論文集(右下のCD-ROM)

会期:4月28日~4月30日(技術講演会のみ、現地時間)
会場:カナダ ケベック州モントリオール市Fairmont The Queen Elizabeth



 IRPS 2009レポートのソフトエラー編では、地上よりも高地、高地よりも航空高度で中性子線の脅威が問題となることを述べた。高度1万mといった航空高度を飛行する旅客機は、海面高度の300倍もの中性子線を浴びている。このため航空電子機器の設計では、中性子線ソフトエラー対策は必須の項目なのである。IRPS 2009では、旅客機用電子機器の開発企業であるRockwell Collinsが、商用の航空電子機器でどのような中性子線ソフトエラー対策を採っているかを解説した(D.C.Matthewsほか、講演番号2H.1)。

 現代の航空電子機器とは航空機専用のコンピュータであり、そのハードウエア構成には通常のサーバーに近いところと、サーバーとは全く違うところが混在する。サーバーと似ているところは、コンピューティングリソースを端末とするネットワークシステムを組んでいることである。いわばデータセンターに近い。1個のキャビネットに電源と複数のサーバーユニット、それからEthernet類似のネットワークスイッチが存在する。Rockwellはこのユニットを「アビオニクスキャビネット(Avionics Cabinet)」と呼んでいる。旅客機の内部には、このアビオニクスキャビネットが数多く格納されているのである。

中性子線ソフトエラー(NSEU:Neutron Single Event Upset)と航空電子機器(Avionics)の関わり「アビオニクスキャビネット(Avionics Cabinet)」の内部構成。AFDXとはEthernetをベースにした航空電子機器用のネットワーク

 講演でRockwellは、現代の航空電子機器が搭載するCMOS半導体チップで起こる主要な不良モードは、ソフトエラーだと述べていた。ソフトエラーの原因の1つとして宇宙線に由来する高速中性子線が存在する。このほかの原因には熱中性子線や雷サージなどが存在するが、航空高度で航空旅客機が水平飛行中にコンピュータに不良を起こす最大の要因は、宇宙線由来の高速中性子線だという。航空高度での水平飛行とは雲の上を飛行しているので、常に晴天であり、嵐と雷の影響は受けない。

 一方、航空用コンピュータのソフトウエア構成はサーバーと随分違う。アプリケーションとOSが分割されているのだ。システムアプリケーションだけがOSと結びついており、そのほかのアプリケーションはOSと切り離されている。個々のアプリケーションが停止してもOSやハードウエアなどは正常に動作を続ける。ただし中性子線がハードウエアに衝突した場合は、すべてのアプリケーションに影響を与える可能性がある。

航空用コンピュータシステムのソフトウエア構成

 そこでハードウエアには、中性子線の衝突に備えた対策を施す必要がある。従来から実施されてきた対策には、冗長構成、多数決論理、誤り訂正などがある。

 例えば1bitの誤り訂正と2bitの誤り検出を実行する回路(EDAC:Error Detection And Correction)が、航空用コンピュータではしばしば使われる。データをRAMに格納する前にチェックビットを生成し、データとチェックビットの両方をRAMに格納する。データを読み出すときはデータとチェックビットの両方をRAMから読み出し、データから再度チェックビットを生成して2つのチェックビットを比較する。2つのチェックビットが同じであれば、データは正しく読み出されたことになる。チェックビットが一致しない場合は誤りが発生したとみなし、誤り訂正を試みる。同時に、誤り発生を知らせるフラグが立つ。

 EDACは中性子線ソフトエラー対策としては有効だが、1~2クロックサイクルの遅延が生じる、利用可能なメモリ容量が減少する、消費電力が増大するといったいくらかのペナルティを許容する必要がある。

EDAC(Error Detection And Correction)回路の例。データとチェックビットを読み出し、データからチェックビットを生成(エンコード)して、読み出し済みのチェックビットと比較する。2つのチェックビットが一致すれば、データは正しく読み出されたことになる

 ハードエラーとソフトエラーの両方に有効な対策が、多数決論理である。論理ゲートレベル、回路レベル、システムレベルのいずれにも導入できる便利な手法だ。原理は単純で、普通は同じ回路を3つ用意する。3つの回路を用意するので、TMR(Triple Modular Redundancy)と呼んでいる。3つの回路の出力を後段の投票回路(Voter)に入力する。3つの入力が一致していれば、その値(論理値)をそのまま出力する。3つの入力の中で2つが一致し、1つだけ違っていた場合は、一致していた値を正しい値とみなして後段に出力する。言い換えるとTMRでは、3つの回路の中で2つが同時に誤って出力する確率はゼロに等しいと仮定している。

 多数決論理の欠点は、同じ回路またはシステムを2つも余分に用意しなければならないことだ。当然ながらコストと消費電力が大きく増加する。このため多数決論理は、カスタムプロセッサや入出力ユニットといった限定された回路に使われてきた。

多数決論理の構成。3つの回路を用意するので、TMR(Triple Modular Redundancy)と呼んでいる

 こういった対策を施した航空用コンピュータシステムだが、実際の運用では、いくつかの特定の機器が中性子線ソフトエラーによってリセット(再起動)を促されることがある。講演では実例として、旅客機「ボーイング777(トリプルセブン)」の自動操縦装置(オートパイロット)でソフトエラーが発生したデータをまとめてみせた。

 報告されたのはTMR(Triple Modular Redundancy)構成のSRAM回路で、ソフトエラーが発生したときの高度と緯度を示したデータである。ソフトエラーの多くは高度が3万フィート~4万フィート、緯度では北緯40度~60度の地点で発生していた。ここ重要なのは航空高度と高い緯度でソフトエラーが発生していることだ。中性子線ソフトエラーが起こりやすいとされる条件(航空高度と高い緯度)と、実際のデータが一致していた。このためソフトエラーの多くは、中性子線によって発生したと推定できる。

旅客機「ボーイング777(トリプルセブン)」で発生したソフトエラーを航空会社経由でRockwell Collinsが把握していたボーイング777でソフトエラーが発生した高度と緯度の分布。なお、個々のソフトエラーの原因は解明できないので、ここでは中性子線以外の原因によるも含んでいる

 北緯40度~60度、高度3万フィート~4万フィートとは、日本からみると北米線や欧州線の水平飛行高度に相当する。空の旅では、客室内でノートPCが使える時間帯だ。当然ながら、航空用電子機器と違ってノートPCには強力な中性子線対策が搭載されているわけではない。運悪く中性子線が半導体メモリに衝突すると、PCは少なくない確率で動作不良を起こす。ノートPCで作業中にPCが突然ハングアップしても、PCだけが原因ではないことを旅客機内では覚悟しておこう。

(2009年 5月 11日)

[Reported by 福田 昭]