逸脱は製造施設において多大なコスト増加につながる可能性があります。半導体業界では、生産停止、廃棄や歩留まりの低いウェーハ、そして生産量の減少は、多大な収益損失につながる可能性があります。こうした逸脱の調査を任されたエンジニアは、ダウンタイムを最小限に抑え、製品品質を向上させるためのデータに基づいた意思決定に必要な、実用的なインサイトを迅速に発見する必要があります。
JMPの分析ワークフローは、逸脱を効率的に調査するために必要な手順とツールの概要を示すのに役立ちます。クエリービルダーがデータベースからのデータアクセスを容易にし、JMPの強力なテーブルメニューがデータ操作をどのように支援するかを検証します。ウェーハマップデータの視覚化と分析に最適な表形式を見つけましょう。探索的分析手法を駆使して、製造プロセスのステップ間に潜む隠れた関係性を発見します。JMP Pro 18の新しいTorch Deep Learningアドインの画像分析などの機能を活用し、JMP Proで分析を強化し、高度な洞察を獲得しましょう。
JMPのワークフロービルダーを使えば、分析全体を自動化・再実行できます。コーディングを必要とせず、スピード、再現性、柔軟性、そして分析力を確保できます。JMPとJMP Proのこれらのツールとテクニックを活用することで、変化の激しい製造環境において、効率的な解決策と大幅なコスト削減を実現できる方法を学びましょう。
皆さん、こんにちは。ライアン・クーパーです。メキシコ湾岸地域のJMPシステムエンジニアを務めています。本日は、JMPを使った製造工程逸脱調査の効率化についてお話します。これは半導体業界の例ですが、このような逸脱調査計画の考え方は、製造業に関わるあらゆる業界に応用できます。逸脱調査だけでなく、JMPを使うあらゆる作業に役立つヒントやコツをいくつかご紹介します。どなたにも役立つ内容になっていると思います。
それでは、エクスカーションに移りましょう。製造に関するエクスカーションを30分ほど先に延ばそうと思っている方は申し訳ありませんが、もう1つあります。このエクスカーションを終えれば、JMPのツールボックスに新しいツールが追加され、ご自身で活用できるようになるでしょう。今回のエクスカーションには、URAセミコンダクター社の欠陥エンジニアリング部門のエンジニアを困惑させた、謎めいたウェハーシグネチャが含まれています。ここには4つのウェハーマップがあり、それぞれ異なる場所から発生した異なるシグネチャがあり、その発生源を突き止める必要があります。
JMPの分析ワークフローの様々な領域を使って、これを実行します。まずデータアクセス、次にデータブレンディングとクリーンアップ、そしてデータ探索と可視化へと進みます。ここではモデリングツールにも少し焦点を当てますが、最終的には自動化とスクリプトで全体をまとめていきます。ここで重要なのは、ワークフロービルダーにはプログラミングが一切不要なことです。プレゼンテーションの様々な場面でこのワークフローの様々な領域に触れますので、その理由がお分かりいただけると思います。これは、JMPで問題解決を整理するのに非常に効果的な方法です。
必要なデータテーブルです。「こういうことをどうやって始めればいいんですか? 社内には大量のデータが収集されているんですが」とよく聞かれますが、私はいつも「常に疑問を念頭に置いておく」と答えています。今回の場合は、冒頭で尋ねた「これらの欠陥はどこから来ているのか?」という疑問をさらに深めています。製品Aの異常なウェーハ欠陥シグネチャに寄与している工程は何か、を知りたいのです。これらのウェーハシグネチャはすべて製品Aに由来しています。そこで私は通常、データテーブルやデータベースなどの様々な領域にキーワードを関連付けようとします。
この表には、ウェーハダイの欠陥データがウェーハ欠陥プロセスステップに対応していることに気づくでしょう。製品などのパラメータを含むプロセスデータが必要なので、製品Aの欠陥、ステップ、プロセスなどです。このデータのフォーマット方法がおわかりいただけると思います。縦長のデータ形式であることにお気づきでしょうか。これはウェーハの可視化には適していますが、予測やモデルからより高度な洞察を得るには適していません。一般的に、結果に影響を与える可能性のある予測変数を含む問題は、横長の形式で表現する必要がある傾向があります。これは縦長の形式であり、グラフビルダーでXとYの値を入力するだけでウェーハを可視化できます。
これは既にかなり良いフォーマットになっています。何かの原因を調べたい場合は、より幅広いデータ形式で取得する必要がありますが、そのためにはいくつかの方法があります。次のページは、質問に答えるために必要なフォーマットです。左側に、ダイレベルで生成された完全な欠陥データを含む、個別化されたウェーハのグラフがあります。これを作成してテーブルに保存し、分析の様々な部分で使用します。
こちらには、プロセスステップデータから生成された予測変数があります。この例では、ステップと装置IDが表示されています。装置IDは下線の後にあります。ここで、どの装置IDとどのステップが特定の欠陥を引き起こしているかを把握できます。ここに表示されている欠陥の合計が出力です。画面には表示されていませんが、これが最終結果です。これが私たちが求めている表です。
これが分析計画です。先ほど分析ワークフローに戻ると言いましたが、ここで初めて登場します。データアクセスではクエリビルダーを使ってデータを取得し、SQLでフィルタリングします。データブレンディングとクリーンアップでは、テーブルの分割と結合を行います。分割はワイドフォーマットへの変換に役立ちます。その後、テーブルを結合して関係性を構築し、問題を解決します。ここでは探索と視覚化を行います。
先ほども申し上げたように、ダイレベルはスタック形式です。グラフをデータテーブルに保存します。これはあまり知られていない便利な機能ですが、実際にデータテーブルに保存します。分析結果を、保存したグラフをマーカーやラベルツールとして使い、最後にモデリングを行う分析で視覚化します。このフローに沿って進めていきます。まずデータアクセスを行い、ダイレベルデータを視覚化します。これはデータのブレンディングやクリーンアップを必要としないためです。少しクリーンアップを行ってワイド形式に変換し、その後モデリングと分析を行います。
もう一つ付け加えておきたいのは、分析を用いた問題解決の80%は、データへのアクセスと準備だということです。今回のケースでは、まさにこれらの手順がそれにあたります。多くの場合、こうした手順が、人々がこのような分析を敬遠する原因になっているのを目にします。特にコーディングやプログラミングが必要な場合は、モチベーションが下がりがちですが、JMPでは幸いなことにコーディングやプログラミングは必要ありません。JMPには、データ準備のための優れたツールがあり、ワークフロービルダーを使ってそれらを全て連携させることができます。これらがどのように連携しているかについては、後ほど詳しく説明します。このチュートリアルの最終目標は、データに基づく意思決定に基づいて実用的な情報を取得し、ワークフロービルダーを通じて再利用可能な知識を構築することです。
このソリューションは、ワークフロー全体にわたって高速、柔軟、そして強力なソリューションとなるため、ダウンタイムの削減、ウエハーと製品の品質向上、そして結果として収益とコスト削減を実現する効率的な解決策を導き出すことができます。それでは、JMPのデモを始めましょう。なお、これは概要を説明するものですので、すべてを理解できなくてもご安心ください。時間の関係上、一部の設定はライブで行い、他の設定については短いスクリプトを実行する予定です。ご興味のある手順については、添付のビデオとワークフローを参考としてご確認いただけます。
まずはクエリビルダーを見てみましょう。ここからデータにアクセスします。「ファイル」「データベース」「クエリビルダー」の順に選択し、欠陥データを検索します。「半導体」と入力します。半導体に関するテーブルがいくつかあるのがわかると思います。複数のテーブルがある場合は、適切なものを見つける必要があります。今回は、ウェーハダイの欠陥数データを選択し、「次へ」をクリックします。
ここで、表自体とその中の列の見やすいプレビューが表示されます。表のスナップショットを取得できます。製品、ダイID、ウェハー、そしてウェハー上の各チップのダイの欠陥数がどのように配置されているかを確認できます。これは非常に詳細な分析データです。文字通り、各ステップ、各欠陥ステップで、各チップごとに1行の項目が表示されます。欠陥をスキャンしています。必要に応じてここで結合を行うこともできますが、結合とデータテーブルの操作はすべてJMP内で後ほど行います。今は「クエリーの作成」をクリックします。
ここで何が起こっているのか確認するために、リストに製品を追加します。列を1つ追加しただけですが、必要に応じてこれをオンに切り替えることで個別の行を表示できます。今はオフにしておきます。ダイID、XダイとYダイ、ウェハー、欠陥の順に追加します。追加されたものはすべてここで確認できます。問題が発生している製品Aでフィルタリングしたいので、製品Aでフィルタリングします。この処理を実行する際に、フィルタリングのプロンプトを表示することもできます。他に確認したい製品がある場合は、同じワークフロー内で行うことができます。
今回はそうしませんが、とにかくそこにあることを知っておいてください。製品Aでフィルタリングしているので、列から製品を削除することもできます。ここで何が起こっているかというと、ドラッグ&ドロップに基づいて指示した通りにデータベースからデータを取得できるように、少しSQLを記述しているのです。これを取得するのにSQLを知らなくても大丈夫です。この情報を使ってクエリを実行し、終了します。結果は次のとおりです。これを受けてグラフビルダーに進みます。Xダイスができました。これをYダイスのXに当てはめます。デフォルトではより滑らかになっていますが、これをオフにしてデータポイントにすることもできます。これはウェーハにかなり似ています。
これで全てが揃いました。これをウェーハ枚数で分割し、ラップします。ここで個々のウェーハを視覚化できます。合計125枚あり、欠陥に関する情報を表示したいので、欠陥をオーバーレイにドラッグします。これで、半導体ウェーハ上の各ダイまたはチップの欠陥数が分かりました。今のところ、凡例の色分け設定はあまり好きではありません。欠陥の状況が色分けで分かりにくいからです。
ここを開いて、凡例の設定を変更します。カラーテーマをより発散させます。青から赤に変えます。今、どのように見えるか見てみましょう。署名がいくつか表示されています。少し浮き上がってきていますが、もう少しコントラストを強めて、署名がより鮮明に見えるようにします。カラーテーマを少し調整し、新しいテーマを作成して、このマーカーで赤のためのスペースを増やします。「OK」をクリックすると、署名が少し目立つようになります。上下の欠陥、ドーナツ、そして左右の欠陥があります。ここに左右の欠陥があります。
良さそうです。「完了」をクリックします。グラフビルダーについてはあまり知られていないのですが、JMPを使ってグラフをデータテーブルに送る機能があります。赤い三角形をクリックして「データテーブルを作成」を選択すると、グラフアイコン付きのデータテーブルが作成されます。これを他の情報にも使用すれば、視覚化がより魅力的になります。では、これで説明は終わりにします。
次に、データテーブルを分割してワイドフォーマットに変換し、より高度な分析を行う方法について考えてみましょう。まず、ダイIDを分割して、チップIDまたはダイIDをすべて上部に、ウェハIDを左側に表示します。こうすることで、このテーブルと情報を統合できます。テーブルを開いて分割してみましょう。プレビューをオンにして、何が起こっているかを確認しましょう。
ダイIDで分割し、そのダイID内の欠陥を分割します。現在、上部に1,423個のダイ、左側に125個のウェーハが表示されています。ウェーハを確認するために、ウェーハを下にドラッグしてグループ化します。最初の列にウェーハが表示され、右側にすべてのダイIDが表示されます。これで、他のテーブルと結合しやすくなります。何か名前を付けましょう。ここにあらかじめ用意しておいたテーブルがあります。移動させて「OK」をクリックします。
もうこれは必要ないので、クリックして閉じます。ここに2つのテーブルがあります。この情報を結合します。「テーブル」→「結合」を選択します。グラフビルダーのテーブルと、こちらにある別のテーブルを結合します。「ウェーハ」で一致させます。これが共通の列で、ここにプレビューが表示されます。両方のテーブルに同じ列があるため、現在2つのウェーハ列があります。出力するために、1つだけ選択します。まず「ウェーハ」と「グラフ」を選択し、オンにします。
ウェーハとグラフがあります。次に、ダイの残りの部分を選択します。これですべて揃いました。出力に名前を付けて、「OK」をクリックします。これらを使用したので、2つのテーブルが作成され、すべてこのテーブルにまとめられています。これらをクリックして閉じます。これで、いくつかの操作を実行できるデータテーブルが作成されました。ここには欠陥の総数や…集計は表示されていませんが、後ほど説明しますが、まだプロセスステップは表示されていません。これが問題解決に役立ちます。
ダイを予測変数として、そして左側にウェハーを配置した今、興味深い可視化とモデリングを行うことができます。まずは、JMP Pro 18の新機能である多変量埋め込みを行います。ここではUMAPを使用します。最初に表示されるのは、UMAP1とUMAP2のグラフです。これらのチップの次元が2つの異なる次元に縮小されており、ここでいくつかの関係性を見ていきます。
黒い点は今のところ何も示していないことにお気づきでしょう。行番号を示しているだけです。ここでグラフが登場します。「グラフ」をクリックします。右クリックして「マーカーとして使用」を選択します。多変量埋め込みで何が起こるかを見てみましょう。異常なシグネチャを持つウェーハが、この正常なウェーハのクラスターから離れた右側に表示されているのがわかります。ここから異常なウェーハがいくつか見えてきます。これは、存在に気づいていなかったウェーハのシグネチャを視覚化するのに便利です。
次にクラスタリングを行います。これも個別に実行します。これは、ここにあるすべてのダイを使って、類似のウェーハをクラスタリングするものです。データテーブルに保存されているのがわかります。各ウェーハを異なるクラスターに割り当て、クラスターセレクターと呼ばれる列切り替え機能を備えたグラフビルダーを作成しました。これを使って、モデルに125枚のウェーハがあり、1つのクラスターがあることがわかります。そして、2つのクラスターがあることで、ここから抽出された異なるウェーハの特徴が見えてきます。
線に沿って下へ進んで、これがどのようになっているか確認してみましょう。クラスター5が最も最適だったと思います。左右の欠陥のほとんどがここに、上部と下部がここにあります。大きなドーナツ型の欠陥は、それ自体が独立したクラスターとして現れています。残りの欠陥についても同様です。問題の残りの部分に移りましょう。プロセスデータが必要なテーブルについて説明しました。時間だけのためにクエリビルダーを別途実行し、そのプロセスデータを取得します。これは先ほど使用したクエリビルダーと同じように動作します。プロセスデータを検索するだけです。
これを実行して、テーブルを作成します。今は縦長のフォーマットになっていることに注意してください。これを横長のフォーマットにして、製品であるウェーハに結合できるようにします。まず、これらの変数をいくつか結合して、より有益な情報を提供します。分割した後で、これがなぜ重要なのかがわかります。ステップIDとプロセスタイプの間にアンダースコアを追加します。複数の異なるプロセスタイプがある可能性があります。今回の場合は装置だけですが、チャンバーや、異なるタイプのIDを持つ何かがあるかもしれません。これらを連結して、各ステップで何が起こっているかを各プロセスタイプごとに区別します。
ここを右クリックして、新しい数式列と文字を選択し、アンダースコアで連結します。これでこれらが1つにまとめられました。プロセスタイプについても同様に、タイプIDをアンダースコアで連結します。これで情報が得られたので、先ほどウェーハダイで行ったのと同様の方法で分割できます。これも別途実行します。この処理が完了したので、このテーブルからクリックして閉じることができます。
今、ここには125枚のウエハがあり、様々なステップとステップの種類が、特定の装置、あるいはチャンバーなどのIDとともに表示されています。ここには数百、時には数千ものステップがあるかもしれません。これらのステップを単純にフィルタリングして、どのウエハがこれらのステップに共通しているかを確認するのは必ずしも現実的ではありません。これから行うのは、これを既存のテーブルに結合し、欠陥を合計し、どのステップが実際にウエハのシグネチャに影響を与えているかを突き止めることです。
そのためには、ここに戻って、すべての欠陥を合計します。もう一つ、ちょっとした数式トリックを使ってみましょう。さあ、始めましょう。すべてハイライト表示されています。これらを合計するには、右クリックして新しい数式列を作成し、「結合」して合計するだけです。一番最後に、これらすべてが合計されます。すべてを合計した列が作成されました。これを「欠陥合計」と名付けます。「OK」をクリックします。次に、前と同じように結合を行います。これもバックグラウンドで行います。ここには、ウェーハグラフ、欠陥合計、そしてプロセスステップが表示されます。これを実行して、これらをXで消します。
これで、ウェーハ、グラフ、そして装置IDが設定されたステップができました。そして、ここには欠陥の合計数が表示されています。これは、当初の問い、つまりどのステップがこれらのウェーハシグネチャの原因となっているのか、という問いに答えるための最終的な表です。このデータテーブル形式で情報を取得したら、まず分析、スクリーニング、そして予測因子スクリーニングに進みます。ここでは、数百、数千に及ぶステップをすべてX軸に入力し、欠陥の合計数をY軸に入力します。
これはモデルを実行して、どのステップが欠陥総数を最も予測できるかを算出します。ステップ1、ステップ5、ステップ4が欠陥総数に影響を与える可能性があるようです。それぞれ個別に見てみましょう。例えば、ステップ1、ステップ4、ステップ5です。グラフビルダーに進みます。ウェーハとグラフにマーカーが付いているので、すぐに状況を確認できます。
ステップ1をここにドラッグします。少し大きくしてみましょう。すぐに分かりますが、ここでは機器Bが最も影響力を持っているようです。ここに上部と下部の欠陥があります。これは見つかったようですね。これを列スイッチャーにしましょう。やり直しと列スイッチャーがあります。1、4、5を見て、ここに8も追加します。理由は後ほど説明します。
ステップ4も影響がありました。装置Lで左右の欠陥が見つかったようです。ステップ5、装置Nにはドーナツ状のシグネチャがあります。ステップ8を追加した理由は、ここにはウェーハが2枚しかないからです。ランダム欠陥のシグネチャはここにあるように見えますが、実際にはウェーハが2枚しかありません。まだモデルでは現れていません。これを明らかにするには、より多くのデータ、より多くのウェーハが必要になるでしょう。
不具合の原因となっている機器を特定できました。PowerPointに戻って目標を確認し、ここで何ができたかを確認しましょう。データに基づく意思決定に基づいて、実用的な情報を得ることができました。各ステップで、機器をもう少し徹底的に調査できそうです。機器内に問題の原因が他にもあるかもしれませんが、今のところはそれだけに絞り込めています。
再利用可能なナレッジがあります。後ほどワークフロービルダーをお見せしますが、今行ったすべての作業がワークフロービルダーに記録されています。ワークフロー全体にわたるスピード、柔軟性、そしてパワーが実現されています。これは再利用でき、別の状況で再度実行することも可能です。いくつかのステップを非常に簡単に書き直すだけで、効率的な解決策が得られます。これにはそれほど時間はかかりませんでした。ダウンタイムの削減、品質の向上、収益の向上、そしてコスト削減につながっています。
この方法の大きなメリットは、まず、迅速かつ効率的な意思決定です。ここで作成したものは、コーディングに何時間もかかったり、コーディングの習得に何週間も何ヶ月もかかったりしたものではありません。システムやプログラム、あるいはキューに放置され、実装を待つ必要もありませんでした。あなた自身が作成したのです。ドメインエキスパートであるあなた自身が生み出したのです。プロセスを理解しているのはあなたなので、必要な変更も簡単に行うことができます。そして、分析は標準に最適化され、正しく実行され、自動化によって再現可能になります。
製造上の問題を迅速に解決することで、時間と費用を回収できました。ここで少し補足ですが、あなたが専門分野のデータにアクセスできる価値は、データベースマネージャーやデータサイエンスチームなどが気づかないような問題に気付くことです。科学者やエンジニアがこのようなデータにアクセスすることについて、プッシュフィードバックを見たことがあります。運用データベースが壊れてしまうなど、問題が発生する可能性もありました。しかし、専門分野のエキスパートができることを考えると、現状を打破し、これまでと同じやり方で物事を進めていく上で、新たな発見をすることは本当に不可欠です。
解決策として、実際の製造データベースからデータベースをミラーリングすることが考えられます。その結果、このデータへのアクセスが3つの異なる半導体企業における科学者やエンジニアの生産性にどのような影響を与えたかをご覧ください。このツールへのアクセスにより、ドメインエキスパートは面倒なデータ準備作業から解放され、真のビジネス価値を生み出すエンジニアリング問題の解決に集中できるようになりました。ここでの私のQEでは、そうでなければ何時間もかかっていたであろうプロセス情報とレポート情報を迅速に収集します。その時間を節約できます。
最後に挙げた例は、指標がいくつか含まれているので特に気に入っています。データ処理時間が83%短縮され、コストも大幅に削減され、R&Dエンジニアの職務満足度は260%向上しました。職務満足度をそれほど高く保てない他の方法と比べて、はるかに直接的に問題を解決できる方法です。それでは、ワークフローと、これらをすべて実行した場合のワークフローについてお見せしたいと思います。
ここで行ったすべての作業を振り返ります。構造がお分かりいただけると思います。もう一度、分析ワークフローに戻ります。私は、データアクセス、可視化、データ準備など、分析ワークフローに関係する手順をグループ化しています。パート1とパート2があります。ここで行ったすべての作業をご覧いただけます。当初は、これらすべてを順番に記録し、ここに整理しておいたので、繰り返し実行できました。ここで「再生」をクリックすると、すべてがポップアップ表示されます。先ほど行ったように、グラフをデータテーブルに保存しました。ここに多変量埋め込みがあります。現在、予測変数スクリーニングのためにモデルを実行していると思います。
クラスタリングは完了しました。最後に、予測因子スクリーニングがあります。先ほど手順を見ていたグラフがここにあります。シグネチャの欠陥の原因となっている装置B、装置L、装置Nが明確に示されています。これらはすべて再現可能です。新しいデータで再度実行すれば、各装置にどのような新しいウェーハが送られているかを確認できます。
それで、Torch Deep Learningに関連するもう1つの例をご紹介したいと思います。Russ Wolfinger氏による別のセッションでは、より深く掘り下げて解説されていますが、ここでは半導体に関する例をいくつか簡単にご紹介したいと思います。これはJMP Pro 18の機能です。アドインにアクセスすると、JMPコミュニティのアドインページからアドインを別途ダウンロードできます。Torch Deep Learningとサンプルデータにアクセスすると、こちらにTorchのストーリーブックがあります。Russ氏は様々な状況に対応した様々な例をまとめています。ここには、半導体ウェーハとウェーハマップに関する例がいくつか掲載されています。
Torch Deep Learning を使うと、画像から直接画像分析を行い、ウェーハとそれに関連する欠陥やシグネチャを分類できるようになります。この様子をお見せしたいのは、先ほど行ったことと非常に似ているからです。ここでデータテーブルを開いています。画像があることに気づくでしょう。ファイル名にはロットIDとウェーハID、ロット、ダイサイズ(ウェーハ内のダイの数)、そして不良タイプなど、分類に必要な情報が含まれています。
これらの画像を使ってデータを学習させ、故障の種類を予測できるようになります。これは本当に素晴らしいですね。ドラッグ&ドロップインターフェースを使って、ディープラーニングレベルでこのような画像分析ができるのは初めてです。本当に素晴らしいですね。さらに詳しく知りたい方は、RussによるTorch Deep Learningアドインのガイドと、今年のDiscoveryでの講演をご覧ください。
ご質問がございましたら、ryan.cooper@jmp.com までお気軽にお問い合わせください。これで私のプレゼンテーションは終了です。ご質問がございましたら、お気軽にメールでお問い合わせください。ご清聴ありがとうございました。