あなたのスマホのフリーズ、原因は降りそそぐ「宇宙線」かもしれない

スマート社会を脅かす「ソフトエラー」
基板Photo by Niels Heidenreich / Flickr

ソフトエラー対策の現在

これまでの研究から、ソフトエラーを回避もしくは誤動作から復帰させるためには4つの手法が考えられる。

まずはシステムをリセットし再起動することだ。データが一時的に反転している一過性のエラーであるため、復帰は簡単にできる。しかし、これだけでは事前の対策は取りようがない。

事前の対策としては3点考えられる。

第1に、ソフトエラーを自動的に検知し修復する機能をあらかじめメモリに組み込んでおくことだ。短時間の停止が致命的な重要なインフラや医療デバイスはこういった対策を施す必要があるだろう。

さらに、二重三重のシステムを用意しておき、1ヵ所でソフトエラーが起きてもデバイス全体に誤動作が起きないようする手もある。

最後は、半導体デバイス自体をソフトエラーの耐性があるように開発することだ。

これらの対策を事前に施した好例が理研のスーパーコンピュータ「京」である。

24時間365日稼働し最高の性能を持つ半導体チップを用いるスーパーコンピュータには高い信頼性が求められる。ソフトエラー対策は欠かせない。しかし、対策を実施しない場合の「京」はわずか10分間に1回エラーが発生すると計算されていた。

そこで開発を担当した富士通サーバー部門と富士通デバイス部門(現ソシオネクスト)は、大阪大学と共同研究を行い、対策を検討した。加速器で「京」のコンポーネントへ中性子を当て、どの程度ソフトエラーに耐性があるか調べたうえで、事前にとりうる3つの対策を徹底したのである。

その結果、「京」は約3000年に1回の割合でしかエラーが起きない、極めて高い信頼性を実現することができたのだ。加えて、いったん完成したスーパーコンピュータの回路設計変更に伴う膨大な金銭的・人的コストの節約にもなったという。

スーパーコンピュータ「京」(提供:  理化学研究所)

コストとリスクのジレンマ

もちろん、「京」の徹底した対策は信頼性を極めて重視するスーパーコンピュータならではのものだ。回路を二重三重にし、半導体チップ自体にエラーの自動検出機能を持たせるのはコストがかかる。

加えて、様々な半導体のエラー率を計測する白色中性子照射場での加速試験は世界で4ヵ所でしか実施できない。すべての半導体を試験するのは現実的ではないだろう。

「京」ほど徹底した対策は取れないにせよ、自動運転システムやIoTデバイスも一過性のソフトエラーが致命的になるケースが出てくるだろう。