半導体製造工程では、コストが高く複雑なプロセスのため、製品の歩留まり、サイクルタイム、そして品質を維持することが極めて重要です。認定デバイスのユニットプローブ(UP)ビンのフォールアウトが増加すると、納品に関する懸念が生じ、リスク軽減が必要になりました。経営陣は、最低歩留まりを下回ったり、統計的なビン制限を超えたりした場合の潜在的なスクラップリスクの見積もりを頻繁に求めます。計画グループは、ダイ不足を補うために新しいウェーハロットが必要かどうかを把握する必要があり、製品グループはユニットプローブにおける歩留まりへの影響を把握することに関心を持っています。デバイスオーナーとして、私はデータマイニング技術を用いて、UPフォールアウトに関連するパラメトリックプローブパラメータの変化を特定し、予測モデルに基づいて高度な意思決定を行いました。
このデモでは、ユニットプローブとクラスプローブのデータが製造データベースから抽出され、クリーンアップされました。収集されたデータは、トレーニング、検証、テストのデータセットに分割されました。4つのモデルがウェーハレベルで評価・分析されました。カテゴリカルレスポンス分析(スクラップの有無)には分類決定木モデルとブートストラップフォレスト分類モデルが選択され、連続レスポンス分析(UPビンフォールアウト率)には線形回帰モデルとブートストラップフォレスト回帰モデルが比較されました。モデルスクリーニングにより、パラメータを数百から数個に削減できました。構築された予測モデルに基づいて、ウェーハの最終処分方法が決定されました。
UP 応答がテスト データ セットから利用可能になったときに、予測されたビン フォールアウトと調査されたビン フォールアウトの間で 2 つの予測モデルの精度が比較されました。
NXPセミコンダクターズのSu-Heng Linと申します。半導体製造工程におけるデバイスオーナーとして、コストとプロセスが複雑で製品の歩留まり、サイクルタイム、そして品質を維持することは極めて重要です。歩留まりの問題は納期を危うくする可能性があり、リスク軽減が不可欠です。このケーススタディでは、予測モデリングプラットフォームであるJMPを用いて、半導体製造工程における高度な意思決定を行う方法をご紹介します。
半導体ウェハ製造工程のフロー例をご紹介します。まず、ウェハロット25枚のシリコンウェハから始めます。25枚のウェハすべてに様々な工程を施し、誘電体や導電材料を成長させます。その後、ダイ内に集積回路ストリート*を形成するための特許を取得します。このケーススタディでは、300以上の工程ステップを含む技術が採用されています。ウェハ完成までにはサイクルタイムで約9週間かかり、特許を取得すれば、その後は製造を継続して出荷することができます。
しかし、ウエハーは回路試験のために海外へ送られる前に、ウエハー受入試験(ここではクラスプローブとも呼ばれます)に合格する必要があります。このクラスプローブは、個々のデバイスを試験し、各ウエハーの健全性を確認します。ウエハーが健全であれば、海外へ送られ、ユニットプローブ試験を受けます。この試験では、個々のダイごとに試験が行われ、集積回路全体が試験されます。
すべてのダイスはテストされ、合格ビンに分類されるか、様々な不合格ビンに分類されます。白いビームは合格で、不合格ビンはここで異なる色で表示されています。私の部品(部品A)の歩留まりを追跡するだけでなく、ビンのパフォーマンスも追跡しています。今回はビン#6をお見せします。これは最近問題が発生したビンの1つです。
これは、正規化されたBIN#6の全体に対するトレインチャートです。この統計的限界は、過去のデータに基づいて計算されたことがわかります。この線は、このチャート上の各データであるウェーハのいずれかが、このオープン6基準を超えた場合、そのウェーハは廃棄されることを示しています。これは、歩留まりがゼロで廃棄されるという意味ではありません。廃棄されることになります。最近、黄色のゾーン、つまり時間帯では、BIN#6の問題が深刻化したために、多くのウェーハが廃棄されていることがわかります。
他にもロットがあります。こちらは問題なさそうです。限度を超えてはいませんが、こちらも値が高くなっています。経営陣がやって来て、「大丈夫ですか?部品Aのウェハの状態は把握していますか?」と尋ねます。この質問に答えるためには、いくつかの判断を下さなければなりません。まず、6つの異なるロットから150枚のウェハがあります。これらは最終工程のクラスプローブ検査にかけられています。クラスプローブのデータは持っていますが、このロットをユニットプローブ検査に送るべきでしょうか?BIN#6のスクラップ検査にかけるべきでしょうか?まずは、このロットを送るべきか?高リスク品かどうか?これが私が最初に把握し、判断しなければならないことです。送るべきか?高リスク品かどうか?
第二に、歩留まりの低下はあったものの、スクリプトレベルには達していない場合、何枚のウェーハが影響を受けるのでしょうか?何個のダイが失われるのでしょうか?ダイを納期通りに納品できず、顧客に迷惑をかけてしまうことになるのでしょうか?最後に、デバイスオーナーとして、ラインのずれが何なのかを把握する必要があります。クラスプローブの問題ではありませんでしたが、クラスプローブのパラメータ間の相互作用が原因かもしれません。BIN#6のフォールアウトが上昇した原因は、これらです。この点を知りたいのです。インラインプロセスエンジニアには、ウェーハのダイの品質を維持するためにできることがあれば、アドバイスできます。
ここで必要なのは、この状況におけるリスク評価を支援する予測モデルです。予測モデル構築の最初のステップは、応答と予測因子を定義することです。各ウェーハから収集したクラスプローブパラメータを使用します。複数のサイトで収集するため、クラスプローブにはウェーハの中央値を使用します。ここには合計173個の連続因子があります。これら173個の因子間には自己相関があります。これは、トランジスタの閾値電圧を抽出し、駆動電流を設定するためです。これら173個のパラメータ間には自己相関があります。
応答については、当然のことながら、ここではBIN#6のフォールアウトを使用します。データベースには合計2,000枚以上のウェーハデータがあり、すべて使用します。正規化されたBIN#6フォールアウトが、連続応答として使用されます。これは、正規化されたBIN#6フォールアウトパターンのヒストグラムです。これは統計的なビンの限界です。これを超えるものはすべて破棄しました。
しかし、このデータマイニングプロセスでは、より厳しい基準を適用したいと考えています。BIN#6の分布の90%タイル、つまり今回の場合は0.187にまで基準を厳しくします。不合格または0.187未満のものは良品ウェーハと定義します。0.187を超える場合は、廃棄対象ではないとしても不良ウェーハとします。これが、この予測モデルにおけるカテゴリカルレスポンスの定義方法です。こうすることで、約200個のパラメータが得られます。これらが良品パラメータであり、1,800個が良品ウェーハです。
前のスライドでは、パラメータ、応答変数、予測変数を定義しました。予測モデリングプラットフォームJMPの4つのシンプルなモデル手法をご紹介します。これらの手法は、迅速かつ正確な予測を行い、適切な意思決定を行うのに役立ちます。カテゴリカル応答(6つの良い応答と悪い応答)については、決定木とブートストラップフォレストを使用します。ブートストラップフォレストは、正規化されたBIN#6のフォールアウトである回帰応答を予測するためにも使用します。ステップワイズ線形回帰の適合モデルと比較します。
4つのモデルのデモンストレーションの後、どのモデルを使用するかをどのように選択するかを説明します。R²を比較して、どのモデルを使用するかを決定します。また、予測モデルを使用する利点は、BIN#6のフォールアウトの原因となる主要なクラスプロパラメータが何であるかを推測できることです。
予測モデリングにおけるデータマイニングの最初のステップは、2,000個のデータセットを用意することです。これをトレーニングデータセットと検証データセットに分割します。これはJMPの予測モデリングで行うことができます。JMPの推奨評価方法に従う必要があります。JMPのデフォルト設定(これからJMPをお見せします)が適切です。「分析」→「予測モデリング」→「検証」列に進みます。
確認しておきたいのは、ロットごとに25枚のウェーハがあるので、これらが一緒に処理されるということです。各ロットの代表値がトレーニングデータセットとバリデーションデータセットに渡されるようにします。ソースロット(ウェーハロットID)を使用して認証されたので、「OK」をクリックします。JMPのデフォルト設定では、トレーニングデータセットが75%、バリデーションデータセットが25%と、既に正直な評価の推奨値に従っていることがわかります。バリデーション列は既に作成済みなので、ここでは実行しません。このようにしてバリデーション列を作成し、これから説明するモデルで使用します。
ここに戻りましょう。先ほど言ったように、クラスプローブには150枚のウェハがありますが、ユニットプローブのフィードバックがありません。BIN#6のフォールアウトが何なのか分かりません。知りたいです。クラスプローブに150枚のウェハを使ったテストデータセットを入れても、正直な評価グループと一致しているので、問題ありません。まず、決定木を使った分類結果を見てみましょう。JMPに戻りましょう。これが私のデータセットです。「分析」→「予測モデリング」にあります。今日は何度かこの画面に戻りますが、「請願」の下にあります。「請願」をクリックすると、ここに決定木があることがわかります。
これが予測モデルに使用する方法です。作成した検証列をここに配置します。BIN#6クラス(良品と不良品)を使用します。ご覧の通り、これが私のBIN#6クラスです。ここに173クラスのプローブデータがあります。このデータテーブルでは非表示にしていますが、173であることがわかります。「OK」をクリックしましょう。はい、これが私の決定木です。不良品は赤、良品は青で既に色付けされています。最初に手動で分割する方法をお見せします。JMPは、良品と不良品の最も重要な違いに基づいて分割を行います。ここでは、RSP+からの抵抗値を示しています。抵抗値が148より高い場合、抵抗値が148未満のときよりも不良品のウェハーがはるかに多くなります。これが最初の分割です。JMPファンドです。
2つ目の処理を続けられます。ToxPが145未満だと分かりました。これは、BIN#6のフォールアウト率が高く、抵抗値が高く、病的状態が低いという組み合わせで、不良ウェハーがもっとたくさんあるということですね。この処理を主に続けるか、Goで処理して、JMPを使って分割を行うこともできます。6つ目の分割で停止しました。
R²を見てみましょう。トレーニングのR²は約67%、検証は約60%で、悪くありません。BIN#6クラスの申請の横にある赤い三角形の中に何か表示されています。列の寄与率を確認したいと思います。これは、JMPがまとめたパラメータが何なのかを知るのに役立ちます。ISP+とToxPの2つに加えて、JMPは他に2つのパラメータも検出しましたが、最後のBIN#6への寄与は除外されています。このウィンドウを閉じてJMPを最小化し、ここに戻ります。ここに記録した2つの情報、このモデルのR²と列の寄与率があります。
次のモデルに進みましょう。同じ分類応答を示しますが、今回は「ブートストラップフォレスト」という別のパーティションモデルを使用します。JMPを開いてみましょう。「分析」「予測モデリング」に進むと、「ブートストラップフォレスト」はこの位置のすぐ下にあります。「検証」に戻りましょう。「検証」に戻ります。ここでは「良好」と「不良」のカテゴリカル応答を作成します。「クラスプローブ」の予測変数はX因子です。
JMPのデフォルト設定で、シンプルにしておきます。JMPの推奨設定に従います。フォレストに100本のツリーを構築します。見てみましょう。変動の平均をまとめます。これは、1本のツリーしかない決定木よりも安定しています。これで100本のツリーの平均が出力され、R²が確認できます。「一般化R²」を実行すると、「学習データセットではR²が最大90%まで高くなる可能性がありますが、検証データセットでは80%です」ということがわかります。ブートストラップフォレストでは、学習データセットと検証データセットの両方でR²が改善されていることがわかります。
列寄与度も確認できます。抵抗と酸化膜の厚さが再び強調表示されています。合計4つのパラメータに加え、ブートストラップフォレストは100本のツリーを実行するため、より多くのパラメータが得られますが、正規化されたBIN#6への影響はごくわずかです(良と悪)。このモデルは決定木よりも優れたパフォーマンスを示したため、そのまま使用します。今は最小化して、プレゼンテーションに戻りましょう。R²は非常に良好で、2つの強調パラメータがあります。
連続応答モデルに移りましょう。ここで実演するのは回帰モデルです。ステップワイズ線形回帰を使用します。これが私のデータテーブルです。「分析」「モデルの適合」に進みます。予測モデルではなく、適合モデルを使用します。これはモデルを構築する別の方法です。相関関係を計算するために2,000以上のデータをすべて使用するため、検証を行う場所はありません。回帰モデルを実行するとします。Y軸には、正規化された連続BIN#6フォールアウトを使用し、モデル効果の主効果としてクラスプローブ173パラメーターを選択します。
マクロを2次まで実行できます。すると、2つの因子間の相互作用を見ることができます。ただし、時間がかかるのでここでは実行しません。1次のみを使用します。予測変数が多いので、ステップワイズ法を使うのが好きです。より堅牢です。モデルを実行します。ここでも、JMPの推奨に従います。BICの最小値を停止規則として使用し、ステップワイズ法の方向は順方向とします。適切なモデルになるまで、パラメータを追加していきます。
モデルを実行します。数秒かかります。はい。完了すると、R²とR²調整がここに表示されているのがわかります。約74%で、悪くありません。この2つの数値は非常に近いです。モデルを見てみましょう。これは線形回帰のモデルです。ISP+が得られました。ここでハイライト表示してください。もう1つの酸化膜厚は少し低くなっています。他の多くのパラメータは、BIN#6と強い相関を示しており、正規化されたBIN#6のフォールアウトに寄与しています。これは、2,000枚を超えるウェーハの大規模なデータセットを使用しているため、相関関係を見つけるのが容易だからです。ここで説明を終えて、PowerPointに戻ります。
これはR²で、これはステップワイズ線形回帰モデルにおいてどのパラメータが重要であるかをまとめた効果です。次に紹介するモデルは、ブートストラップフォレストです。これは回帰分析も非常にうまく処理できるため、非常に優れた精度のモデルです。JMPファイルに戻り、「予測モデルを分析」と「ブートストラップフォレスト」を実行してください。
JMPを以前使用したことがある方は、設定を思い出せることをご存知でしょう。今回は、カテゴリカルなBIN#6のフォールアウトを、連続因子である正規化されたBIN#6のフォールアウトに置き換えます。ここでも、JMPの推奨に従い、フォレストには100本のツリーを使用します。数秒かかりますが、それほど長くはありません。では、見てみましょう。正規化されたBIN#6のブートストラップフォレストの結果は…おお、R²は約0.977、98%です。トレーニングデータセットでは、検証データセットでは91%でした。これは、先ほど示した別のモデル、線形回帰を実行した結果です。このモデルはそのままにして、次に進む前に確認してみましょう。
列の寄与因子です。同じ2つの抵抗器と酸化膜厚がハイライト表示されています。他にも2つのパラメータは高い値を示していますが、モデルへの寄与は小さいです。この場合、簡略化されたモデルを構築したい場合は、この2つのパラメータをハイライト表示し、「分析」→「モデルの適合」→「マクロ」と進みます。私はレスポンスサービスを使うのが好きです。なぜでしょうか?主効果だけでなく、交互作用と二次効果も捉えられるからです。
正規化されたBIN#6をYに代入します。ここでは予測変数がそれほど多くないので、標準化最小二乗法を使って実行します。これが得られるモデルです。ここから縮約できます。これは縮約モデルで、R²は65%しか得られません。これは良いモデルですが、予測変数をそれほど多く使用しないため、より安定する可能性があります。モデルの説明は容易になりますが、ブートストラップフォレストモデルで強調表示される他のパラメータが全て含まれていないため、バイアスは高くなります。
プレゼンテーションに戻りましょう。これで4つのモデルすべてが完成しました。R²の比較を見てみましょう。ステップワイズ線形回帰は同じプラットフォームを使用していないため、またトレーニングと検証の比較ではないため、比較するのはあまり公平ではありません。R²とR²調整です。しかし、分類データと回帰データの両方のブートストラップフォレストの応答が非常に高く、トレーニングの90%を超えていることがわかります。検証データセットでも最も高い値です。良い予測と悪い予測、そしてBIN#6のフォールアウトの推定には、両方を使用することにしました。
では、ここでどのように推定すればいいでしょうか?ここに戻ってみると、これはクラスデータ(良 vs 不良)のブートストラップフォレスト用だと思い出しました。予測モデルを使うために、赤い三角をクリックして列を保存します。予測式を保存します。JMPが不良 vs 良の確率を示しているのがすぐにわかります。そして、ここはBIN#6クラスである可能性が高いと言えるでしょう。
データセットの一番下までスクロールすると、モデル構築時にデータセットに隠しておいた150枚のウエハーがあることがわかります。モデルが生成した方程式は、この150枚のウエハーに適用され、「このロット、ロットDのウエハー1枚目とその他は不良品だ。ロットCには不良品が多数あり、ロットAにも不良品がある」と予測します。これは、リスクのあるウエハーの枚数を非常に簡単に示す方法です。ただし、この方法では良品と不良品しか示されません。この予測は…
BIN#6のフォールアウトの推定値はいくらでしょうか?もしその数値が得られれば、正しい判断を下すのにさらに役立ちます。これは私が求めているものではありません。こちらです。私が求めているのはこれです。これは正規化されたBIN#6フォールアウトのブートストラップフォレスト、つまり回帰モデルです。同じように、赤い三角形を表示して予測式を保存します。これで正規化された予測変数が得られます。これを最小化してみましょう。検証列でテストされている150枚のウェハそれぞれについて、BIN#6フォールアウトの予測値が得られました。これがJMPの予測モデリングを使用して、150枚のウェハのリスクを評価するための推定値を得る方法です。
最終的に、約47枚のウェーハが不良品になると予測され、BIN#6のフォールアウト(不良品発生率)が上昇することを意味します。しかし、いずれもスクラップ上限に達することはありません。そこで、「よし、150枚のウェーハを全てUniprobeに送り、4週間後にUniprobeのデータを取得して、モデルの精度を確認しよう」と決断しました。そして、このウェーハはスクラップリスクとなるため、そのまま送り出すことにしました。また、BIN#6のフォールアウトによるダイ全体への影響は、大幅な増加を予測するほどではないため、新たなロットを開始する必要もありません。
また、BIN#6のフォールアウトの原因となる2つのパラメータがどれなのかも分かりました。専門分野の専門家と協議した結果、チームは高い抵抗値に対応することにしました。プロセスウィンドウを設定し、抵抗値を下げて部品Aの歩留まりを維持できるかどうかを確認します。もう1つのパラメータであるToxPはバッチプロセスです。同じ技術で異なる部品を処理できますが、プロセス変更には適していません。チームは、このToxPの安定したパフォーマンスを確保するために、インラインで管理限界を厳しくすることを決定しました。
これは4週間後のことです。150枚のウェーハからUniprobeのフィードバックを受け取りました。ご覧のとおり、主要なBIN#6の割合が4を超えるロットが2つあります。これはBIN#6のフォールアウトの予測割合です。相関は約71%です。悪くありません。正しい判断を下すのに役立ちます。これで0.187という基準を超えましたが、高リスクではありません。しかし、明らかにロットCの挙動が異常であることがわかります。ラボの処理履歴を確認したところ、ロットCは標準製品ではないことがわかりました。これはプロセス変更評価に使用されたものです。モデリングから除外する必要があります。これにより、R²を最大80%まで改善できます。
まとめると、私はロットを取得するのに数ヶ月かかるDOEではなく、迅速に適切な意思決定を行うのに役立つ予測モデリングを探しています。このモデルは、多くのデータ操作やコンピュータのメモリ制約による制限なしに、自己相関を処理できる必要があります。カテゴリデータには事前パーティションとブートストラップフォレストがありますが、これらは大規模な予測変数、つまり多数の予測変数を扱うのに適しています。また、自己相関のある予測変数も考慮しません。
ブートストラップフォレストについてもお話しします。こちらも線形回帰よりも優れた性能を発揮します。分類データと回帰データの両方を扱うことができ、大きな予測変数や自己相関のある予測変数にも非常に有効です。この説明が皆様のお役に立ち、JMPソフトウェアを使った初めての予測モデリングに挑戦し、データに基づいた的確な意思決定を行う一助になれば幸いです。これで私のプレゼンテーションは終了です。ご清聴ありがとうございました。