MBIST(メモリ組込み自己テスト)とは
MBIST(メモリ組込み自己テスト)(Memory Built-In Self-Test)とは、メモリを検査する制御と比較回路をチップ内へ組み込む方式です。 所定のアドレス順とデータで書込みと読出しを行い、読み出した値を期待値と比べます。多数の内蔵メモリを外部端子だけで検査する負担を減らせる一方、故障によって検出に必要な操作順が違うので、全アドレスを一度読み書きするだけでは足りません。見つけられる故障を決めるのは、読み書きの順番を定めたテストアルゴリズムです。
制御器がアドレスとデータを送り、読み出した値を期待値と比べる
Section titled “制御器がアドレスとデータを送り、読み出した値を期待値と比べる”制御器がメモリへアドレス、データ、読出し・書込みの列を与え、読み出した値を期待値と比較して、結果と必要な故障位置を記録します。1 BISTのうちメモリを対象とする方式で、SRAMのセルだけでなく、アドレスデコーダーや周辺回路の故障もテストアルゴリズムの対象になります。
製品に載った実例がMicrochip TechnologyのDSUです。DSUはGlobal MBISTと呼ぶメモリの自動テスト機能を持ち、テストできるのはDSUのAHBホストからアクセスできるメモリマップドのメモリだけです2。テストはCTRL.CMDへMBISTコマンドを書き込むと始まり、実行中の動作はCTRL.SWRSTへ1を書くと中止できます。読出しは32ビットのパイプライン動作で、バスから戻ったデータを検査している間に次の読出しを要求します。
エラーで止まるモードでは、エラーを検出するとSTATUSA.FAILが立ってアルゴリズムが一時停止し、再開前にSTATUSCとADDRのレジスタを読めば故障の場所が分かります2。開始前にはSTATUSA.FAILが0であることを確かめておきます。バスエラーはどの時点でもMBISTを止め、STATUSA.DONEとSTATUSA.BERRがともに立ちます。
見つかる故障は操作の順番で決まり、順番はメモリと工程に合わせて選ぶ
Section titled “見つかる故障は操作の順番で決まり、順番はメモリと工程に合わせて選ぶ”故障によって必要な操作順が違うので、アルゴリズムはメモリの構成、故障モデル、製造時と使用中のどちらの検査かで決めます。MicrochipのDSUが使うのはMarch LRと呼ぶMarch系のアルゴリズムです2。メモリの種類に合わせた手順もあります。Cadenceは、ModusにFinFETのSRAM向けと車載の安全用途向けの、プログラム可能な新しいテストアルゴリズムを加えたとしています3。Siemensは、Tessent MemoryBISTの不揮発性メモリ(NVM)専用のアルゴリズムが特殊なアクセスモードを使い、ECCのオプションとも組み合わせて動くとしています1。
Siemensは、テストアルゴリズムをTessent MemoryBISTの制御器へ組み込み、実行時の制御で各メモリへ適用するので、製造プロセスの成熟に合わせて短いアルゴリズムを選べるとしています1。外からの操作には、制御器の設定、Go/NoGoテストの実行、合否の監視を行う低遅延のプロトコルを用意しています。
自己テストと自己修復は別の機能で、修復には冗長と修復情報の保存が要る
Section titled “自己テストと自己修復は別の機能で、修復には冗長と修復情報の保存が要る”メモリの構成と故障モデルへ合わせてアルゴリズムを選び、MBISTを挿入します。実行して失敗を記録し、修復機能がある製品では修復後も再検査します。1メモリの自己テストと自己修復は別の機能です。修復を行う構成では冗長行・列への割当てと修復情報の保存が必要で、すべてのMBISTが自動で修復するわけではありません。
修復まで含めるかは、ツールの選び方にも表れます。Cadenceは、ModusがソフトリペアとハードリペアのMBIST修復に対応するとしています。Siemensは、Tessent MemoryBISTが外部の資源をほとんど使わずに、チップ内の不良メモリをすべて検査して恒久的に修復するとしています1。合否の基準を設定で変えられるので、冗長による修復と誤り訂正符号(ECC)を最適に組み合わせられるというのがSiemensの説明です。
多数のメモリを一度に試すと、電力と競合が制約になる
Section titled “多数のメモリを一度に試すと、電力と競合が制約になる”対象メモリ、アルゴリズム、クロック、実行時間、故障位置、修復と再検査を管理します。複数メモリの同時実行では電力と競合を確認します。通常動作中のデータを保持したまま試せるかは方式によるため、破壊的な書込みとの関係を明示します。MicrochipのDSUでは、故障注入を有効にして動かすときに使うレジスタが非同期リセットされないので、MBISTを始める前にクリアしておくことが推奨されています2。
Cadenceは、ModusでMBISTをRTLまたはネットリストの段階で挿入でき、IPコア内の複数の内蔵メモリに対して実動作速度のPMBISTをかけられ、ARMのMBISTインターフェースにも対応するとしています3。Siemensは、ON Semiconductorが階層型のTessent MemoryBISTフローを使い、MBISTの挿入にかかる時間を6分の1に縮めた事例1を紹介しています。
内部で効率よく検査できる代わりに、制御回路と実行時間が要ります。故障モデル、メモリ構成、製造時と使用中の検査要求でアルゴリズムを決めます。
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”MBIST(メモリ組込み自己テスト)は何をする工程ですか?
メモリを検査する制御と比較回路をチップ内へ組み込む方式です。所定のアドレス順とデータで書込み・読出しを行い、読み出した値を期待値と比べ、結果と必要な故障位置を記録します。
どの段階で行いますか?
メモリの構成と故障モデルへ合わせてアルゴリズムを選び、設計データへMBISTを挿入します。チップができたら実行して失敗を記録し、修復機能がある製品では修復後も再検査します。
何を管理しますか?
対象メモリ、アルゴリズム、クロック、実行時間、故障位置、修復と再検査を管理します。複数のメモリを同時に動かす場合は、電力と競合も確認します。
比較・違いを学ぶ
Section titled “比較・違いを学ぶ”3件を表示
- 1
- 2Microchip Technology:DSUのGlobal MBIST技術資料onlinedocs.microchip.com abcd
- 3Cadence Design Systems:Modusテストソリューション製品ページcadence.com ab