企業は、製造プロセスの監視に統計的工程管理(SPC)ソフトウェアを使用するケースが多く、時代遅れになっています。業界では他にも数多くのSPCプログラムが使用されていますが、多くの企業は、データ分析やプレゼンテーションをユーザーにとって困難にするレガシープログラムに固執しています。
このポスターでは、半導体業界で一般的に使用されているウェハの大量バッチ処理炉の膜厚データを示すSPCチャートを作成する方法を紹介します。これらの大量バッチ処理炉では、膜厚結果に影響を与える可能性のある要因が多数存在します。JMPグラフビルダーでこの情報を取り込むことには、以下のような多くの利点があります。
こんにちは。コーディ・サンドキストです。テキサス州オースティンのNXPでプロセスエンジニアとして働いています。数年前からJMPスクリプトを使い始めて、最初はやりがいを感じていましたが、日々の仕事で非常に役立っています。今日ご紹介するのは…JMPを使ってSPC(統計的プロセス制御)用のインターフェースを作成したものです。
製造業に携わる方なら、SPCとは何かご存知だと思います。私もこれまでいくつかのSPCシステムを使ってきました。システムによって性能は異なりますが、どれも何かしら欠点があり、JMPのようなインタラクティブ性や、情報を素早く切り替える機能が欠けているのです。
本日は、SPCチャートとJMPを作成して、エンジニアリング上の意思決定を迅速化し、その情報を共有する方法をご紹介します。市販のSPCプログラムで問題となっている点の一つは、NXPの評価に使用していないものについてですが、かなり古いSPCシステムを使用していることです。私の職場にもこれらのプログラムがあります。
これらについて簡単にご説明いたしますと、当社では大型の縦型炉を使用しており、最大150枚の生産用ウェーハ(これは重要な詳細です)、つまり6ロットを収容できます。1ロットあたり25枚のウェーハがあり、炉内には複数のゾーンがあります。各ゾーンにはテスト用ウェーハモニターを設置し、この炉内の1バッチだけでなく、各ゾーン全体の膜厚をモニタリングしています。
私が使用しているSPCプログラムは、まず、一度に1つの炉しか表示しません。実際には、すべての炉を同じチャートで確認して、どれか1つの炉が突出しているかどうかを確認したいのですが、個々のゾーンの厚さは表示されません。すべてのゾーンの平均が表示されます。あるゾーンに何らかの問題がある場合、このSPCプログラムだけを使用していると、それを特定するのは非常に困難です。
これに加えて、問題を引き起こす一般的な要因のいくつかを分析するのは非常に困難です。例えば、バッチ内の生産ロット数などが挙げられます。例えば、ウェーハの積載量の違い、例えば25枚と150枚では、厚さの測定結果が異なる場合があります。厚さを測定する計測機器の適格性が不十分な場合もあり、計測機器の性能が狂っていることは珍しくありません。SPCシステムだけに頼っていると、こうした情報を把握するのが難しい場合があります。
JMPスクリプトを使って、すべての炉のデータを一つのグラフに表示できるカスタムダッシュボードを作成しました。炉の位置ごとに表示できるので、炉の上部、下部など、炉のそれぞれの位置で何か問題が発生しているかどうかを確認できます。
繰り返しになりますが、もう一つ触れておきたいのは、多くの共通要因について、何か他の要因がないか確認できるということです。例えば、計測機器からの測定値かもしれませんし、負荷サイズかもしれません。さらに、このテーブルにウェハベンダー情報などの他の情報を結合して、新しいウェハベンダーが加わったことで厚さのばらつきが生じているかどうかを確認することもできます。これらは私がJMPに言及している機能であり、JMPの使いやすさを向上させ、一般的なSPCプログラムよりも多くの機能を提供します。
この設定では、必要なプロセスレシピにすぐにアクセスできるようにしています。レシピについてご存じない方のために説明すると、当社には様々な種類のプロセスがあり、それぞれ異なる厚さのターゲットがあります。必要なプロセスレシピを素早く特定し、アクセスできるようにしたいのです。そこで、名前を入力して「OK」をクリックするだけで表示されるポップアップウィンドウを設計しました。
これを実行すると、その名前が取得され、そのプロセスのファイルと照合されます。そして、そのプロセスレシピ名の厚さ制限と目標値まで絞り込まれます。私は生の厚さファイルを持っています。SPCシステムから取得したデータには、複数のレシピの厚さデータが含まれています。もう一度入力し、目的のレシピまで絞り込むと、グラフビルダーですべてがプロットされます。
グラフビルダーは、とてもインタラクティブなので、私も気に入っています。この2つのチャートが並んでいるのがお分かりいただけると思います。上には炉が1つだけ表示されていますが、下には複数の炉が表示されており、それぞれのゾーンのデータを表示できます。実は、平均厚さだけでなく、標準偏差や各ゾーンの範囲も計算できるように設定しています。このようにカスタマイズすることも可能です。
計測機器や負荷量といった共通の要因でフィルタリングしたい場合は、すぐにフィルタリングできます。個々の炉ごとにフィルタリングすることも可能です。もちろん、この方法の利点は、SPCチャート作成におけるカスタマイズ性の向上と柔軟性です。変動の原因となる様々な要因を迅速に分析し、それをスクリーンキャプチャして関係者に送信することで、解決策の特定や、ゾーンの異常など、何らかの調整が必要な箇所の特定などが可能になります。
これの唯一の欠点は、厚さデータを手動で取得してCSVまたはテキストファイルとして保存する必要があることです。理想的にはNXPのデータベースに直接接続できれば良いのですが、私にはそのための権限がありません。JMPのせいではありませんが、私の会社ではそれができないのです。
スクリプトについてもう少し詳しく説明します。長いスクリプトを一つ一つ解説するのはあまり面白くないかもしれませんが、ここではごくシンプルに、要点と仕組みに焦点を当てて説明します。既に述べたように、取得する必要がある生の厚さファイルがあり、そこには複数のプロセスレシピの厚さデータがすべて含まれています。また、SPCの制限値と目標値を含む別のファイルも保存し、JMPのモーダル関数を使ってポップアップウィンドウを表示します。これがポップアップウィンドウです。必要なレシピ名を入力すると、生の厚さファイルとファイル、そして制限値に関する情報が絞り込まれます。
そこから、限界値と目標値が変数として保存されます。これらの変数は、後でグラフビルダーで線、目標値、限界値、そして増分値とサイズを作成する際に使用されます。これは、JMPのスクリプトの柔軟性を示すものです。これらのデータファイルでは、すべての行が同一ではないのです。個々のバッチはそれぞれ異なります。テスト用のウェハモニターでは、ウェハが2枚あり、上部ゾーンと下部ゾーンで実行されることもあります。3枚の場合もあれば、5枚の場合もあります。つまり、ある行には2つの列が入力され、別の行には3つの列、別の行には5つの列が入力され、その都度変化します。
一連の if ステートメントについては、ここでも詳しく説明しません。しかし、一連の if ステートメントを使用すると、どの列が入力されているか、それぞれのセルがどの個別のゾーンを参照しているかに基づいて識別し、正しい位置を割り当てることができるため、間違いや混乱がなくなり、グラフ ビルダーで表示したときに間違ったゾーンに表示されることがありません。
グラフビルダーでスクリプトを終了するという点について少し補足します。これらの変数はグラフビルダーに配置され、線を作成します。グラフビルダーは、情報を自由に表示するようにカスタマイズできます。職場で私が経験した問題解決の簡単な例として、SPC(メインのSPCチャート)で、プロセスレシピの1つに標準偏差が基準を満たしていない炉が1つありました。私たちのSPCシステムでは、実際には詳細が表示されないことを思い出してください。
JMPスクリプトを使って、様々なゾーンの情報を分割することができました。一番下のゾーンでは、二峰性を示すものが見られました。つまり、ここで何かが2つ起こっているということです。次に、この個々の炉だけを表示するようにフィルター処理し、いくつかの共通要因でフィルター処理しました。この場合、それは負荷の大きさです。6ロットの負荷、つまりこれはフルバッチ、つまり炉が150枚の生産用ウェーハで完全に満杯になっていることを意味します。こうして、問題が何なのかを正確に絞り込むことができました。
問題はフル生産バッチの炉底で発生し、範囲が急上昇しました。その後、これを計測機器の座標と統合してウェハマップを作成し、ウェハのどの部分、炉のどの部分が問題を引き起こしているのかを個別に調べることができました。
この情報を設備技術者と共有することで、炉のどこに問題があったのかを正確に把握し、部品を交換して、炉を再び良好な安定した状態に戻すための対策を講じることができます。これはほんの一例です。お時間をいただきありがとうございました。この情報が少しでもお役に立てば幸いです。カンファレンスでお会いしましょう。