半導体メモリ前回、宇宙空間から降り注ぐ放射線が身の回りの機器に与えている影響について、ソフトエラーの要因となる、放射線による誤作動の種類と対策を交えて解説した。第2回の本稿ではここから一歩踏み込んで、実際にソフトエラーをどう評価するか、その方法と課題について考えてみたい。RAM)でソフトエラーにどう対処するのかを考えてみたい。Code)でエラー検出と訂正を行う、などが考えられるが、これらの機能が意図した通りにソフトエラーに対処できているのかを、どのように確認すればよいのだろうか。α線源は比較的容易に入手可能で、管理も難しくない。そのため、開発部門の一角にα線源と遮蔽板などを置いたブースを設置し、測定器のプローブを設置場所まで伸ばしてテスト回路を動かすといった事が可能である。実際に、そうした環境を自社で用意しているメーカーは多い。ところが中性子線となると、きちんと測定に利用できるような線源であれば粒子加速器が必要であるため、線源の確保だけで大変だ。医療機器や放射線機器関連メーカーはともかく、通常のメーカーの手には余る設備が必要である。必然的に大学や研究所など、粒子加速器を所有、貸出ししている所で時間借りの形でテストを行うことになる。なると測定はなかなか大変である。図にしてみると図1のようになる。先ほど例に挙げたSRAMの場合、例えば0x00や0xFF、あるいは0xAAなど、パターンをあらかじめSRAMに書き込んでおき、被曝後にこれらがどう変化したかをすべて確認するというものだ。実証現場でこれをどう書き込むかも課題で、MCUなどを使って可搬形の書き込みツールを作るか、あるいは先に開発環境で書き込んだものをバッテリーバックアップして持ち込むという手段もある。この場合、複数のパターンのテストのためには複数枚のテスト基板を用意し、それぞれに異なるパターンを書き込んでおく必要がある。図1:テストの作業フローさて、こうした機材一式を試験設備に搬入するわけだが、被曝試験中は近くに寄ると人間も被曝してしまうので、まず大量の遮蔽材を脇に退け、被曝エリアにテスト基板を設置し、さらに遮蔽材をセットしなおした後に中性子線を照射して被曝させる。終了後再び遮蔽材を移動させ、テスト基板を回収する。その場でデータが取得できるなら便利だが、取得できない場合はそのまま開発現場まで持ち帰る形だ。テストは一度で終わるのではなく、異なるパターンとか異なる照射時間や強度などで複数回繰り返す必要がある。そのため、テスト基板が1枚なら次のパラメータのセット、複数枚あるのなら別のものに入れ替えて、「再び設置」「遮蔽材の再セット」「照射」を繰り返すことになる。これらがすべて終わったら、機材をまとめて撤収し、あとは開発現場で結果の整理を行ってから分析という手順になるわけだ。この手順で問題なのは、遮蔽材の設置や撤去には少なからず時間が掛かる上、中性子線の照射も常に可能というわけでなく、設備側のスケジュールに沿って中性子線が生成されている関係で、実際には設置してから照射が始まるまで余剰時間が発生することも珍しくないことだ。結果、1つのパラメータに基づく測定に数十分~数時間を要することになる。ところがこうした設備は24時間稼動しているわけではないから、測定が1日ではまったく終わらないということになる。結果、数日間から場合によっては数週間にわたって設備を借りる必要があるが、これは当然コストがあがるし、そもそも試験設備を長期に渡って借りようとすると、実際に借りられるまで結構な待ちが発生しかねない。効率的にテストを行う必要がある訳だ。Service(以下CTS)である。CTSを使うと、この作業フローが下記図2のように簡略化されることになる。機材の搬入や搬出、環境の展開や撤収などについては大きな差がない。差があるのはその先である。CTSを使えば、SRAMへのデータの書き込み、読み出し、電源電流の測定などを自在に行うことができる。そのため、遮蔽材を設置して測定可能な状態にした後は、遮蔽材やテスト基板に触れることなく、SRAMに書き込むパターンを変えたり、パラメータを変えて測定を行ったりすることが可能である。Serviceを活用することで、簡素化された作業フローこうなると、テスト基板へのパラメータの設定と、被曝後のデータの取得、必要なら分析までを、CTSだけで完結できる。加えて、パラメータを変更したうえで実施する再テストもCTSからその場で行えるため、つど遮蔽材の撤去/設置をやり直す必要がなく、パラメータの切り替えそのものも極めて短い時間で行える。結果としてテストに必要な時間を大幅に短縮できることになる。CTSでは、測定を自動化するツール類も用意されており、それらを利用することによって、中性子線の照射条件などの外部パラメータもまとめて記録することが可能である。これにより、測定結果と環境の対応が分からなくなってしまうといったヒューマンエラーを未然に防げるし、何より現場でデータの整理まで終わった形でレポート出力が可能だから、その場で分析を行い、必要に応じてテスト条件を追加するといったことも無理なく行える。ここまではSRAMを例にした事例だったため、最終的にSRAMのデータが化けたか否かが問題になるわけだが、ロジック回路の場合だと更に「ラッチアップがいつ起きるかをダイナミックに取りたい」といったニーズもある。した場合でもCTSの基本的なファンクションを利用して、実際に回路を動作させながら「まさにラッチアップが起きた瞬間」を捉えることができる。CTSのソフトウェアの画面例。電源電流の測定項目を設定しておけば、大電流が流れた時にその測定項目がフェイルとなり、検知できる電源電流(IDDQ)変動の例。1回目から9回目までの測定値は正常値の範囲に入っているが、10回目の測定で、正常値の範囲を大きく上回る測定値となっているCTSがなくてもソフトエラーのテストを行うことはできる。CTSを利用することで非常に効率よくテストが行えるようになることは、本稿でご理解いただけたのではないだろうか。Service」を実際に導入、活用した企業を紹介したい。Corporation。