IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ラム リサーチ コーポレーションの特許一覧

特表2022-523870基板処理システムのためのモデルベースのスケジュール設定
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-26
(54)【発明の名称】基板処理システムのためのモデルベースのスケジュール設定
(51)【国際特許分類】
   H01L 21/02 20060101AFI20220419BHJP
   G05B 19/418 20060101ALI20220419BHJP
【FI】
H01L21/02 Z
G05B19/418 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021557903
(86)(22)【出願日】2020-03-24
(85)【翻訳文提出日】2021-11-26
(86)【国際出願番号】 US2020024478
(87)【国際公開番号】W WO2020205339
(87)【国際公開日】2020-10-08
(31)【優先権主張番号】62/826,185
(32)【優先日】2019-03-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】592010081
【氏名又は名称】ラム リサーチ コーポレーション
【氏名又は名称原語表記】LAM RESEARCH CORPORATION
(74)【代理人】
【識別番号】110000028
【氏名又は名称】特許業務法人明成国際特許事務所
(72)【発明者】
【氏名】チョウ・レイモンド
(72)【発明者】
【氏名】ハン・チュン-ホ
(72)【発明者】
【氏名】チャン・ヘンリー
(72)【発明者】
【氏名】ウォン・ヴィンセント
(72)【発明者】
【氏名】ディン・ユー
(72)【発明者】
【氏名】グエン・ゴク-ディープ
(72)【発明者】
【氏名】マヌギド・ジェラミン
【テーマコード(参考)】
3C100
【Fターム(参考)】
3C100AA05
3C100AA16
3C100AA18
3C100BB13
3C100EE06
(57)【要約】
エッチング・ツールに対し、ニューラル・ネットワーク・モデルを訓練し、最適スケジュール設定パラメータ値を予測する。モデルは、入力として、予防保全動作、レシピ時間及びウエハレス自動洗浄時間から収集したデータを使用して訓練する。モデルは、スケジュール設定パラメータ値と様々なウエハ処理シナリオとの間の隠れた関係を捕捉し、予測を行うために使用される。更に、複数の並行材料堆積プロセスで使用されるツールにおいて、入れ子型ニューラル・ネットワークベースのモデルを、機械学習を使用して訓練する。モデルは、最初に、シミュレーション・データを使用してオフラインで設計、訓練し、次に、実際のツール・データを使用してオンラインで訓練し、ウエハ設定経路及びスケジュール設定を予測する。モデルは、スケジューラのペース調整精度を改善し、最高のツール/ツール群利用率、最短待機時間、及び最速スループットを達成する。
【選択図】図5A
【特許請求の範囲】
【請求項1】
レシピに従って半導体基板を処理するように構成された複数の処理チャンバを備えるツール内で半導体基板を処理するシステムであって、前記システムは、
プロセッサと、
前記プロセッサが実行する命令を記憶するメモリと
を備え、前記命令は、
前記レシピに従った前記複数の処理チャンバ内での前記半導体基板の処理に関する第1のデータを前記ツールから受信し、
ツール構成及びレシピに関する第2のデータを受信し、
前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理するための複数の処理シナリオ、及び前記複数の処理シナリオに関するスケジュール設定パラメータを、前記第2のデータを使用してシミュレーションし、
前記複数の処理シナリオ及び前記複数の処理シナリオに関するスケジュール設定パラメータを使用して、前記レシピに従った前記複数の処理チャンバ内での前記半導体基板の処理をシミュレーションし、
前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理するための最適スケジュール設定パラメータを予測するように、前記第1のデータ、及び前記シミュレーションによって生成されたデータを使用して、モデルを訓練し、
前記レシピに従った前記複数の処理チャンバ内での前記半導体基板のうち1つの処理に関する入力を、前記ツールから受信し、
前記レシピに従って前記複数の処理チャンバ内で前記半導体基板のうち1つを処理するための前記最適スケジュール設定パラメータを、前記入力に基づいて、前記モデルを使用して予測し、
レシピに従って複数の処理チャンバ内で半導体基板のうち1つを処理するための前記最適スケジュール設定パラメータに基づき、前記ツールの動作をスケジュール設定する
ように構成される、システム。
【請求項2】
請求項1に記載のシステムであって、前記命令は、前記レシピに従って前記複数の処理チャンバ内で前記半導体基板のうち1つを処理するための前記最適スケジュール設定パラメータに基づき、前記ツールの動作を実行するように構成される、システム。
【請求項3】
請求項1に記載のシステムであって、前記最適スケジュール設定パラメータは、前記レシピに従った前記複数の処理チャンバ内での処理中における、前記半導体基板のうち1つに対する遊休時間を最小化し、前記最適スケジュール設定パラメータは、前記ツールのスループットを最大化する、システム。
【請求項4】
請求項1に記載のシステムであって、前記命令は、人工ニューラル・ネットワーク及びサポート・ベクトル回帰を含む機械学習方法を使用して、前記モデルを訓練するように構成される、システム。
【請求項5】
請求項1に記載のシステムであって、前記命令は、
前記ツールから受信した前記第1のデータ、及び前記シミュレーションによって生成されたデータを分析し、
前記分析に基づき、前記ツールの予防保全動作、ウエハレス自動洗浄時間、待機時間、レシピ時間及びスループットに関するパターンを検出し、
前記検出したパターンに基づき前記モデルを訓練する
ように構成される、システム。
【請求項6】
請求項1に記載のシステムであって、前記命令は、モデルを訓練し、複数の処理シナリオのうち1つに対する前記最適スケジュール設定パラメータを予測するように構成される、システム。
【請求項7】
請求項1に記載のシステムであって、前記命令は、モデルを訓練し、複数の処理シナリオの全てに対する前記最適スケジュール設定パラメータを予測するように構成される、システム。
【請求項8】
請求項1に記載のシステムであって、前記命令は、モデルを訓練し、半導体基板の1つに対してエッチング動作のみを実施するように構成される、システム。
【請求項9】
請求項1に記載のシステムであって、前記命令は、モデルを訓練し、半導体基板の1つに対してエッチング動作及び剥離動作の両方を実施するように構成される、システム。
【請求項10】
請求項1に記載のシステムであって、前記モデルは、前記ツールから離れた場所で実現され、命令は、複数の前記ツールから受信したデータに基づきモデルを訓練するように構成される、システム。
【請求項11】
請求項1に記載のシステムであって、前記命令は、前記ツール間で構成及び動作にばらつきがあれば、前記モデルを調節するように構成される、システム。
【請求項12】
請求項1に記載のシステムであって、前記モデルは、サービスとしてのソフトウェア(SaaS)としてクラウド内で実施され、前記ツールは、ネットワークを介して前記モデルにアクセスするように構成される、システム。
【請求項13】
請求項1に記載のシステムであって、
前記命令は、第2のツールのデータに基づき第2のモデルを訓練するように構成され、
前記モデル及び前記第2のモデルは、前記ツール及び前記第2のツールから離れた場所で実現され、
前記ツール及び前記第2のツールはそれぞれ、1つ又は複数のネットワークを介して前記モデル及び前記第2のモデルにアクセスするように構成される、システム。
【請求項14】
請求項13に記載のシステムであって、前記命令は、前記ツール及び前記第2のツールがそれぞれ、前記ツール及び前記第2のツール構成に基づく前記モデル及び前記第2のモデルを選択可能であるように構成される、システム。
【請求項15】
請求項1に記載のシステムであって、前記モデルは、前記ツール上で実施され、前記命令は、前記モデルを使用し、前記最適スケジュール設定パラメータであって、前記ツールが生成したデータを使用して、前記レシピに従って前記複数の処理チャンバ内で前記半導体基板のうち1つを処理する前記最適スケジュール設定パラメータを、予測するように構成される、システム。
【請求項16】
請求項1に記載のシステムであって、前記モデルは、前記ツール上で実施され、前記命令は、前記ツールの性能にドリフトがあれば、前記モデルを調節するように構成される、システム。
【請求項17】
請求項1に記載のシステムであって、前記ツールから受信した前記第1のデータは、前記ツール上で実施される予防保全動作からのデータ、並びに前記ツールのレシピ時間及びウエハレス自動洗浄時間に関するデータを含む、システム。
【請求項18】
請求項1に記載のシステムであって、前記シミュレーションによって生成された前記データは、前記ツールから得た、ツール構成、ウエハフロー種、稼働シナリオ、レシピ時間、及びウエハレス自動洗浄時間に基づき生成されたデータを含む、システム。
【請求項19】
請求項1に記載のシステムであって、前記ツールから受信した入力は、前記ツールのいくつかの予防保全動作、レシピ時間及びウエハレス自動洗浄時間に関するデータを含む、システム。
【請求項20】
請求項1に記載のシステムであって、前記命令は、1つ又は複数の省略した予防保全動作を考慮することによって前記最適スケジュール設定パラメータを予測するように構成される、システム。
【請求項21】
請求項1に記載のシステムであって、前記ツールはそれぞれ、複数の動作の実施に応じた複数の状態を通じて進行し、前記ツールの状態は、前記ツールの資源の表示、及び半導体基板のうち1つの処理状態を含み、前記命令は、
前記レシピに従って前記複数の処理チャンバ内で前記半導体基板のうち1つを処理する複数の動作を、前記モデルを使用して、スケジュール設定し、
前記複数の状態のそれぞれについて、前記複数の状態の現在の状態、及び複数のスケジュール可能動作を、前記モデルに送信することであって、
前記複数の状態の次の状態へ進行させ、
前記現在の状態に基づき前記複数のスケジュール可能動作から前記モデルが選択した、次の状態に進行するための最良動作を、前記モデルから受信し、
前記最良動作の実行をシミュレーションして、次の状態への進行をシミュレーションするようにする、送信を実行し、
前記モデルを訓練し、前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理する際の、前記複数の状態を通じた前記ツールの進行に応じた複数の動作として、前記最良動作を推奨する
ように構成される、システム。
【請求項22】
レシピに従って半導体基板を処理するように構成された複数の処理チャンバを備えるツール内で半導体基板を処理するシステムであって、前記システムは、
プロセッサと、
前記プロセッサが実行する命令を記憶するメモリと
を備え、前記ツールは、複数の動作の実施に応じた複数の状態を通じてそれぞれ進行し、前記ツールの状態は、前記ツールの資源の表示、及び半導体基板の処理状態を含み、前記命令は、
前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理する複数の動作を、モデルを使用して、スケジュール設定し、
前記複数の状態のそれぞれについて、前記複数の状態の現在の状態、及び複数のスケジュール可能動作を、前記モデルに送信することであって、
前記複数の状態の次の状態へ進行させ、
前記現在の状態に基づき複数のスケジュール可能動作から前記モデルが選択した、次の状態に進行するための最良動作を、前記モデルから受信し、
前記最良動作の実行をシミュレーションして、次の状態への進行をシミュレーションするようにする、送信を実行し、
前記モデルを訓練し、前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理する際の、前記複数の状態を通じた前記ツールの進行に応じた、複数の動作として、前記最良動作を推奨するように構成される、システム。
【請求項23】
請求項22に記載のシステムであって、前記命令は、
前記ツールから受信した半導体基板の処理に関する履歴データを使用し、かつ、前記ツールの複数の処理シナリオをシミュレーションすることによって、前記モデルを訓練することであって、前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理する最適スケジュール設定パラメータを予測するようにする訓練を実行し、
前記レシピに従った前記複数の処理チャンバ内での前記半導体基板の処理に関する入力を前記ツールから受信し、
前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理するための前記最適スケジュール設定パラメータを、前記入力に基づき、前記モデルを使用して予測し、
前記最適スケジュール設定パラメータに基づき、前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理する複数の動作をスケジュール設定する
ように構成される、システム。
【請求項24】
請求項23に記載のシステムであって、前記命令は、前記レシピに従って前記複数の処理チャンバ内で前記半導体基板を処理するための前記最適スケジュール設定パラメータに基づき、複数の動作を実行するように構成される、システム。
【請求項25】
請求項23に記載のシステムであって、前記最適スケジュール設定パラメータは、前記レシピに従った前記複数の処理チャンバ内での処理中における、半導体基板に対する遊休時間を最小化し、前記最適スケジュール設定パラメータは、前記ツールのスループットを最大化する、システム。
【請求項26】
請求項23に記載のシステムであって、前記命令は、人工ニューラル・ネットワーク及びサポート・ベクトル回帰を含む機械学習方法を使用して、前記モデルを訓練するように構成される、システム。
【請求項27】
請求項23に記載のシステムであって、前記命令は、
前記ツールから受信した履歴データ、及び前記ツールの複数の処理シナリオのシミュレーションによって生成されたデータを、分析し、
前記分析に基づき、前記ツールの予防保全動作、ウエハレス自動洗浄時間、待機時間、レシピ時間及びスループットに関するパターンを検出し、
前記検出したパターンに基づき前記モデルを訓練する
ように構成される、システム。
【請求項28】
請求項23に記載のシステムであって、前記命令は、前記モデルを訓練し、前記複数の処理シナリオのうち1つに対する前記最適スケジュール設定パラメータを予測するように構成される、システム。
【請求項29】
請求項23に記載のシステムであって、前記命令は、前記モデルを訓練し、前記複数の処理シナリオの全てに対する前記最適スケジュール設定パラメータを予測するように構成される、システム。
【請求項30】
請求項23に記載のシステムであって、前記命令は、前記モデルを訓練し、半導体基板上でエッチング動作のみを実施するように構成される、システム。
【請求項31】
請求項23に記載のシステムであって、前記命令は、前記モデルを訓練し、半導体基板のうち1つの上でエッチング動作及び剥離動作の両方を実施するように構成される、システム。
【請求項32】
請求項23に記載のシステムであって、前記モデルは、前記ツールから離れた場所で実現され、前記命令は、複数の前記ツールから受信したデータに基づき前記モデルを訓練するように構成される、システム。
【請求項33】
請求項32に記載のシステムであって、前記命令は、前記ツール間で構成及び動作にばらつきがあれば、前記モデルを調節するように構成される、システム。
【請求項34】
請求項23に記載のシステムであって、前記モデルは、サービスとしてのソフトウェア(SaaS)としてクラウド内で実施され、前記ツールは、ネットワークを介して前記モデルにアクセスするように構成される、システム。
【請求項35】
請求項23に記載のシステムであって、前記モデルは、前記ツール上で実施され、前記命令は、前記モデルを使用し、前記最適スケジュール設定パラメータであって、前記ツールが生成したデータを使用して、前記レシピに従って前記複数の処理チャンバ内で半導体基板を処理するための前記最適スケジュール設定パラメータを、予測するように構成される、システム。
【請求項36】
請求項23に記載のシステムであって、前記モデルは、前記ツール上で実施され、前記命令は、前記ツールの性能にドリフトがあれば、前記モデルを調節するように構成される、システム。
【請求項37】
請求項23に記載のシステムであって、前記ツールから受信した前記データは、前記ツール上で実施される予防保全動作からのデータ、並びに前記ツールのレシピ時間及びウエハレス自動洗浄時間に関するデータを含む、システム。
【請求項38】
請求項23に記載のシステムであって、前記複数の処理シナリオをシミュレーションすることによって生成されたデータは、前記ツールから得た、ツール構成、ウエハフロー種、稼働シナリオ、レシピ時間、及びウエハレス自動洗浄時間に基づき生成されたデータを含む、システム。
【請求項39】
請求項23に記載のシステムであって、前記ツールから受信した前記入力は、前記ツールのいくつかの予防保全動作、レシピ時間、及びウエハレス自動洗浄時間に関するデータを含む、システム。
【請求項40】
請求項23に記載のシステムであって、前記命令は、1つ又は複数の省略した予防保全動作を考慮することによって前記最適スケジュール設定パラメータを予測するように構成される、システム。
【請求項41】
半導体基板を処理するツールであって、
半導体基板を処理する前記ツールに半導体基板を投入するように構成された第1のロボットと、
レシピに従って前記ツール内で半導体基板を処理するように構成された複数の処理チャンバと、
前記レシピに従って前記複数の処理チャンバ間で前記半導体基板を搬送するように構成された第2のロボットと、
制御器と
を備え、前記制御器は、前記ツール及び前記レシピをシミュレーションすることによって訓練したモデルを使用して、
複数の処理チャンバ内で半導体基板を処理する処理時間、
第2のロボットが複数の処理チャンバ間で半導体基板を搬送する搬送時間、
前記処理時間及び前記搬送時間に基づき、複数の処理チャンバ間で半導体基板を搬送する経路、並びに
前記処理時間及び前記搬送時間に基づき、前記第1のロボットが前記ツール内で処理する更なる半導体基板をスケジュール設定する時間
を予測するように構成され、
前記予測された経路に従って半導体基板を処理し、前記予測された時間に従って更なる半導体基板を処理することにより、前記予測された経路に沿った半導体基板の待機時間を最適化し、前記ツールのスループットを最適化する、ツール。
【請求項42】
請求項41に記載のツールであって、前記制御器は、半導体基板の処理の間に生成されたデータ、及び前記ツール内の更なる半導体基板に基づき、前記モデルを繰り返し更に訓練するように構成される、ツール。
【請求項43】
請求項42に記載のツールであって、前記制御器は、前記更なる訓練モデルを使用して、
前記ツール内で更なる半導体基板を処理するための、第2の処理時間、第2の搬送時間、及び第2の経路、並びに
前記ツール内で処理する次のセットの半導体基板をスケジュール設定する第2の時間
を予測するように構成され、
前記第2の経路に従って更なる半導体基板を処理し、前記第2の時間に従って次のセットの半導体基板を処理することにより、更なる半導体基板の待機時間、及び前記ツールのスループットを更に最適化する、ツール。
【請求項44】
請求項41に記載のツールであって、前記制御器は、レシピ、前記ツール又は両方に対するあらゆる変更に応じて、前記モデルを調節するように構成される、ツール。
【請求項45】
請求項41に記載のツールであって、前記モデルは、
複数の処理チャンバにおける処理時間をそれぞれ予測するように構成された第1の複数のニューラル・ネットワークと、
前記第1のロボット及び前記第2のロボットのそれぞれの搬送時間を予測するように構成された第2の複数のニューラル・ネットワークと、
前記第1の複数のニューラル・ネットワーク及び前記第2の複数のニューラル・ネットワークに結合され、複数の処理チャンバの間で半導体基板を搬送する経路を予測し、前記第1のロボットが前記ツール内で処理する更なる半導体基板をスケジュール設定する時間を予測するように構成された第3のニューラル・ネットワークと
を備える、ツール。
【請求項46】
請求項41に記載のツールであって、前記モデルは、複数のツール構成及び複数のレシピをシミュレーションすることによって更に訓練される、ツール。
【請求項47】
請求項46に記載のツールであって、前記更に訓練したモデルは、レシピ情報を入力として受信することに応じて、ツール構成のための推奨を出力するように構成される、ツール。
【請求項48】
請求項41に記載のツールであって、前記レシピは、複数の層を半導体基板上に堆積するためのものであり、
複数の処理チャンバは、複数の層を堆積する1つ又は複数の処理チャンバと、複数の層の堆積前に半導体基板を処理する前処理チャンバと、複数の層の堆積後に半導体基板を処理する後処理チャンバとを含み、
前記第2のロボットは、複数の処理チャンバ間で予測経路に従って半導体基板を搬送し、半導体基板の待機時間を最適化するように構成され、
前記第1のロボットは、予測時間に従って前記ツール内で処理する更なる半導体基板をスケジュール設定し、前記ツールのスループットを最適化するように構成される、ツール。
【請求項49】
半導体処理ツール内で半導体基板を処理する間のスループット及び待機時間を最適化するシステムであって、前記システムは、
プロセッサと、
前記プロセッサが実行する命令を記憶するメモリと
を備え、前記命令は、
半導体処理ツール構成、及び前記半導体処理ツール内で半導体基板上で実施すべきレシピに基づき、前記半導体処理ツールの複数の処理チャンバ間で半導体基板の経路を設定する複数の経路をシミュレーションし、
前記複数の経路に沿って、前記レシピに従った前記半導体処理ツール内での半導体基板の処理をシミュレーションし、
前記半導体基板の処理に基づき、前記半導体処理ツール内で更なる半導体基板を続いて処理する複数のタイミング・スケジュールをシミュレーションし、
前記複数のタイミング・スケジュールに従って更なる半導体基板の処理をシミュレーションし、
前記シミュレーションによって生成されたデータに基づきモデルを訓練し、
前記レシピに従って前記半導体処理ツール内で前記半導体基板を処理する際、前記複数の処理チャンバ間で前記半導体基板を搬送する最適経路を、前記半導体処理ツールの前記モデルを使用して、予測し、
前記半導体処理ツール内で処理する更なる半導体基板をスケジュール設定する最適時間を、前記半導体処理ツールの前記モデルを使用して、予測し、
前記半導体処理ツール内で、前記最適経路に従って半導体基板を処理し、前記最適経路に沿った半導体基板の待機時間を最適化し、
前記半導体処理ツール内で、前記最適時間で更なる半導体基板を処理し、前記半導体処理ツールのスループットを最適化するように構成される、システム。
【請求項50】
請求項49に記載のシステムであって、前記命令は、前記シミュレーションによって生成されたデータに基づきモデルを訓練し、
複数の処理チャンバ内で半導体基板を処理する処理時間、
前記半導体処理ツールのロボットが複数の処理チャンバ間で半導体基板を搬送する搬送時間、
前記処理時間及び前記搬送時間に基づき、複数の処理チャンバ間で半導体基板の経路を設定する最適経路、並びに
前記処理時間及び前記搬送時間に基づき、前記半導体処理ツール内で処理する更なる半導体基板をスケジュール設定する最適時間
を予測する、システム。
【請求項51】
請求項49に記載のシステムであって、前記命令は、前記半導体処理ツール内での半導体基板及び更なる半導体基板の処理の間に生成した前記データに基づき、前記モデルを繰り返し更に訓練するように構成される、システム。
【請求項52】
請求項49に記載のシステムであって、前記命令は、レシピ、前記半導体処理ツール又は両方に対する変更があれば、前記モデルを調節するように構成される、システム。
【請求項53】
請求項49に記載のシステムであって、前記命令は、前記シミュレーションによって生成されたデータに基づき前記モデルを生成するように構成され、前記モデルは、
複数の処理チャンバ内で半導体基板を処理する処理時間をそれぞれ予測するように構成された第1の複数のニューラル・ネットワークと、
第1のロボット及び第2のロボットの搬送時間をそれぞれ予測するように構成された第2の複数のニューラル・ネットワークと、
前記第1の複数のニューラル・ネットワーク及び前記第2の複数のニューラル・ネットワークに結合し、複数の処理チャンバの間で半導体基板の経路を設定する最適経路を予測し、前記半導体処理ツール内で処理する更なる半導体基板をスケジュール設定する最適時間を予測するように構成された第3のニューラル・ネットワークと
を備え、前記第1のロボットは、半導体基板を前記半導体処理ツール内に搬送するように構成され、前記第2のロボットは、半導体基板を複数の処理チャンバ間で搬送するように構成される、システム。
【請求項54】
請求項49に記載のシステムであって、前記命令は、複数の前記半導体処理ツール構成及び複数のレシピをシミュレーションすることによって、前記モデルを訓練するように構成される、システム。
【請求項55】
請求項54に記載のシステムであって、前記命令は、前記モデルを訓練し、レシピ情報を入力として受信することに応じて、ツール構成のための推奨を出力するように構成される、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本開示は、2019年3月29日出願、米国特許出願第62/826,185号のPCT国際出願である。上記で言及した当該出願の開示全体は、参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、基板処理システムに関し、より詳細には、基板処理システムのためのモデルベースのスケジュールに関する。
【背景技術】
【0003】
本項で提供する背景の説明は、本開示の状況を全体的に提示することを目的とする。本背景技術の項で名前を挙げる発明者等の著作は、本項、及び出願時に通常ならば従来技術として適格ではない可能性がある説明の態様において説明する限り、本開示に対する従来技術として明示的にも、暗示的にも認めるものではない。
【0004】
半導体製造業者は、半導体ウエハの作製中、1つ又は複数の基板処理ツールを使用して、堆積、エッチング、洗浄及び/又は他の基板処理を実施する。基板処理ツールのそれぞれは、複数の処理チャンバを含んでよく、複数の処理チャンバは、同じ種類の処理(堆積、エッチング若しくは洗浄等)、又は一連の処理若しくは連続処理等、様々な処理を基板上で実施する。
【0005】
基板処理ツール内の処理チャンバは、通常、複数の基板上で同じタスクを繰り返す。処理チャンバは、プロセス・パラメータを規定するレシピに基づき動作する。例えば、レシピは、順序、動作温度、圧力、ガスの化学的性質、プラズマ使用量、並行モジュール、各動作若しくは下位動作の期間、基板設定経路、及び/又は他のパラメータを規定する。基板は、2つ以上の処理チャンバ間を特定の順序で搬送し、様々な処理を受けてよい。
【発明の概要】
【課題を解決するための手段】
【0006】
レシピに従って半導体基板を処理するように構成された複数の処理チャンバを備えるツール内で半導体基板を処理するシステムは、プロセッサと、プロセッサが実行する命令を記憶するメモリとを備える。命令は、レシピに従った複数の処理チャンバ内での半導体基板の処理に関する、ツールからの第1のデータを受信し、ツール構成及びレシピに関する第2のデータを受信するように構成される。命令は、第2のデータを使用して、レシピに従って複数の処理チャンバ内で半導体基板を処理する複数の処理シナリオ、及び複数の処理シナリオに対するスケジュール設定パラメータをシミュレーションするように構成される。命令は、複数の処理シナリオ及び複数の処理シナリオに関するスケジュール設定パラメータを使用して、レシピに従った複数の処理チャンバ内での半導体基板の処理をシミュレーションするように構成される。命令は、第1のデータ、及びシミュレーションによって生成されたデータを使用してモデルを訓練し、レシピに従って複数の処理チャンバ内で半導体基板を処理する最適スケジュール設定パラメータを予測するように構成される。命令は、レシピに従った複数の処理チャンバ内での半導体基板のうち1つの処理に関する、ツールからの入力を受信するように構成される。命令は、入力に基づき、モデルを使用して、レシピに従って複数の処理チャンバ内で半導体基板のうち1つを処理する最適スケジュール設定パラメータを予測するように構成される。命令は、レシピに従って複数の処理チャンバ内で半導体基板のうち1つを処理する最適スケジュール設定パラメータに基づき、ツールの動作をスケジュール設定するように構成される。
【0007】
別の特徴では、命令は、レシピに従って複数の処理チャンバ内で半導体基板のうち1つを処理する最適スケジュール設定パラメータに基づき、ツールの動作を実行するように構成される。
【0008】
他の特徴では、最適スケジュール設定パラメータは、レシピに従って複数の処理チャンバ内で処理する間、半導体基板のうち1つに対する遊休時間を最小化し、最適スケジュール設定パラメータは、ツールのスループットを最大化する。
【0009】
別の特徴では、命令は、人工ニューラル・ネットワーク及びサポート・ベクトル回帰を含む機械学習方法を使用してモデルを訓練するように構成される。
【0010】
他の特徴では、命令は、ツールから受信した第1のデータ及びシミュレーションによって生成されたデータを分析し、分析に基づき、ツールの予防保全動作、ウエハレス自動洗浄時間、待機時間、レシピ時間及びスループットに関するパターンを検出し、検出したパターンに基づきモデルを訓練するように構成される。
【0011】
別の特徴では、命令は、モデルを訓練し、複数の処理シナリオのうち1つに対する最適スケジュール設定パラメータを予測するように構成される。
【0012】
別の特徴では、命令は、モデルを訓練し、複数の処理シナリオの全てに対する最適スケジュール設定パラメータを予測するように構成される。
【0013】
別の特徴では、命令は、モデルを訓練し、半導体基板のうち1つに対してエッチング動作のみを実施するように構成される。
【0014】
別の特徴では、命令は、モデルを訓練し、半導体基板のうち1つに対してエッチング動作及び剥離動作の両方を実施するように構成される。
【0015】
他の特徴では、モデルは、ツールから離れた場所で実現され、命令は、複数のツールから受信したデータに基づきモデルを訓練するように構成される。
【0016】
別の特徴では、命令は、ツール間で構成及び動作にばらつきがあれば、モデルを調節するように構成される。
【0017】
他の特徴では、モデルは、サービスとしてのソフトウェア(software-as-a-service、SaaS)としてクラウド内で実施される。
【0018】
他の特徴では、命令は、第2のツールのデータに基づき第2のモデルを訓練するように構成され、モデル及び第2のモデルは、ツール及び第2のツールから離れた場所で実現される。ツール及び第2のツールは、1つ又は複数のネットワークを介して、モデル及び第2のモデルにアクセスするようにそれぞれ構成される。
【0019】
別の特徴では、命令は、ツール及び第2のツールが、ツール及び第2のツール構成に基づきモデル及び第2のモデルをそれぞれ選択可能であるように構成される。
【0020】
他の特徴では、モデルは、ツール上で実施される。命令は、モデルを使用し、ツールが生成したデータを使用して、レシピに従った複数の処理チャンバ内で半導体基板のうち1つを処理する最適スケジュール設定パラメータを予測するように構成される。
【0021】
他の特徴では、モデルは、ツール上で実施され、命令は、ツールの性能にドリフトがあれば、モデルを調節するように構成される。
【0022】
別の特徴では、ツールから受信した第1のデータは、ツール上で実施される予防保全動作からのデータ、並びにツールのレシピ時間及びウエハレス自動洗浄時間に関するデータを含む。
【0023】
別の特徴では、シミュレーションによって生成されたデータは、ツールから得たツール構成、ウエハフロー種、稼働シナリオ、レシピ時間、及びウエハレス自動洗浄時間に基づき生成されたデータを含む。
【0024】
別の特徴では、ツールから受信した入力は、ツールのいくつかの予防保全動作、レシピ時間、及びウエハレス自動洗浄時間に関するデータを含む。
【0025】
別の特徴では、命令は、1つ又は複数の省略した予防保全動作を考慮することによって最適スケジュール設定パラメータを予測するように構成される。
【0026】
他の特徴では、命令は、モデルを使用して、レシピに従って複数の処理チャンバ内で半導体基板のうち1つを処理する複数の動作をスケジュール設定するように構成される。ツールは、複数の動作の実施に応じて、複数の状態を通じてそれぞれ進行する。ツールの状態は、ツールの資源の表示、及び半導体基板のうち1つに対する処理状態を含む。命令は、複数の状態のそれぞれに対し、複数の状態の現在の状態、及び複数の状態の次の状態に進行するための複数のスケジュール可能動作をモデルに送信し、現在の状態に基づきモデルが選択した、次の状態に進行するための複数のスケジュール可能動作からの最良動作をモデルから受信し、次の状態への進行をシミュレーションする最良動作の実行をシミュレーションするように構成される。命令は、モデルを訓練し、レシピに従って複数の処理チャンバ内で半導体基板を処理する際、複数の状態を通じたツールの進行に応じて、複数の動作として最良動作を推奨するように構成される。
【0027】
また他の特徴では、レシピに従って半導体基板を処理するように構成された複数の処理チャンバを備えるツール内で半導体基板を処理するシステムは、プロセッサと、プロセッサが実行する命令を記憶するメモリとを備える。命令は、モデルを使用して、複数の動作をスケジュール設定し、レシピに従って複数の処理チャンバ内で半導体基板を処理するように構成される。ツールは、複数の動作の実施に応じた複数の状態を通じてそれぞれ進行する。ツールの状態は、ツールの資源の表示、及び半導体基板に対する処理状態を含む。命令は、複数の状態のそれぞれに対し、複数の状態の現在の状態、及び複数の状態の次の状態に進行するための複数のスケジュール可能動作をモデルに送信し、現在の状態に基づきモデルが選択した、次の状態に進行するための複数のスケジュール可能動作からの最良動作をモデルから受信し、次の状態への進行をシミュレーションする最良動作の実行をシミュレーションするように構成される。命令は、モデルを訓練し、レシピに従った複数の処理チャンバ内で半導体基板を処理する際、複数の状態を通じたツールの進行に応じて、複数の動作として最良動作を推奨するように構成される。
【0028】
他の特徴では、命令は、ツールから受信した半導体基板の処理に関する履歴データを使用し、ツールの複数の処理シナリオをシミュレーションすることによって、モデルを訓練し、レシピに従って複数の処理チャンバ内で半導体基板を処理する最適スケジュール設定パラメータを予測するように構成される。命令は、レシピに従った複数の処理チャンバ内での半導体基板の処理に関する入力をツールから受信するように構成される。命令は、入力に基づき、モデルを使用して、レシピに従って複数の処理チャンバ内で半導体基板を処理する最適スケジュール設定パラメータを予測するように構成される。命令は、最適スケジュール設定パラメータに基づき、レシピに従って複数の処理チャンバ内で半導体基板を処理する複数の動作をスケジュール設定するように構成される。
【0029】
別の特徴では、命令は、レシピに従って複数の処理チャンバ内で半導体基板を処理する最適スケジュール設定パラメータに基づき、ツールの複数の動作を実行するように構成される。
【0030】
他の特徴では、最適スケジュール設定パラメータは、レシピに従って複数の処理チャンバ内で処理する間、半導体基板に対する遊休時間を最小化し、最適スケジュール設定パラメータは、ツールのスループットを最大化する。
【0031】
別の特徴では、命令は、人工ニューラル・ネットワーク及びサポート・ベクトル回帰を含む機械学習方法を使用してモデルを訓練するように構成される。
【0032】
他の特徴では、命令は、ツールから受信した履歴データ及びツールの複数の処理シナリオのシミュレーションによって生成されたデータを分析し、分析に基づき、ツールの予防保全動作、ウエハレス自動洗浄時間、待機時間、レシピ時間及びスループットに関するパターンを検出し、検出したパターンに基づきモデルを訓練するように構成される。
【0033】
別の特徴では、命令は、モデルを訓練し、複数の処理シナリオのうち1つに対する最適スケジュール設定パラメータを予測するように構成される。
【0034】
別の特徴では、命令は、モデルを訓練し、複数の処理シナリオの全てに対する最適スケジュール設定パラメータを訓練するように構成される。
【0035】
別の特徴では、命令は、モデルを訓練し、半導体基板上でエッチング動作のみを実施するように構成される。
【0036】
別の特徴では、命令は、モデルを訓練し、半導体基板の1つに対してエッチング動作及び剥離動作の両方を実施するように構成される。
【0037】
他の特徴では、モデルは、ツールから離れた場所で実現され、命令は、複数のツールから受信したデータに基づきモデルを訓練するように構成される。
【0038】
別の特徴では、命令は、ツール間で構成及び動作にばらつきがあれば、モデルを調節するように構成される。
【0039】
他の特徴では、モデルは、サービスとしてのソフトウェア(SaaS)としてクラウド内で実施される。
【0040】
他の特徴では、モデルは、ツール上で実施される。命令は、モデルを使用し、ツールが生成したデータを使用して、レシピに従って複数の処理チャンバ内で半導体基板を処理する最適スケジュール設定パラメータを予測するように構成される。
【0041】
他の特徴では、モデルは、ツール上で実施され、命令は、ツールの性能にドリフトがあればモデルを調節するように構成される。
【0042】
別の特徴では、ツールから受信したデータは、ツール上で実施される予防保全動作からのデータ、並びにツールのレシピ時間、及びウエハレス自動洗浄時間に関するデータを含む。
【0043】
別の特徴では、複数の処理シナリオのシミュレーションによって生成されたデータは、ツールから得たツール構成、ウエハフロー種、稼働シナリオ、レシピ時間、及びウエハレス自動洗浄時間に基づき生成されたデータを含む。
【0044】
別の特徴では、ツールから受信した入力は、ツールのいくつかの予防保全動作、レシピ時間、及びウエハレス自動洗浄時間に関するデータを含む。
【0045】
別の特徴では、命令は、1つ又は複数の省略した予防保全動作を考慮することによって最適スケジュール設定パラメータを予測するように構成される。
【0046】
また他の特徴では、半導体基板の処理ツールは、第1のロボットと、複数の処理チャンバと、第2のロボットと、制御器とを備える。第1のロボットは、中で半導体基板を処理するツールに半導体基板を投入するように構成される。複数の処理チャンバは、レシピに従ってツール内で半導体基板を処理するように構成される。第2のロボットは、レシピに従って複数の処理チャンバ間で半導体基板を搬送するように構成される。制御器は、モデルを使用してツール及びレシピをシミュレーションすることによって、複数の処理チャンバ内で半導体基板を処理する処理時間、第2のロボットが半導体基板を複数の処理チャンバ間を搬送する搬送時間、処理時間及び搬送時間に基づき複数の処理チャンバ間で半導体基板を搬送する経路、並びに処理時間及び搬送時間に基づき、第1のロボットが更なる半導体基板をツール内で処理するためにスケジュール設定する時間を予測するように構成される。予測経路に従って半導体基板を進行させ、予測時間に従って更なる半導体基板を処理することにより、予測経路に沿った半導体基板の待機時間を最適化し、ツールのスループットを最適化する。
【0047】
別の特徴では、制御器は、半導体基板の処理の間に生成されたデータ、及びツール内の更なる半導体基板に基づき、モデルを繰り返し更に訓練するように構成される。
【0048】
別の特徴では、制御器は、更なる訓練モデルを使用して、ツール内で更なる半導体基板を処理する第2の処理時間、第2の搬送時間及び第2の経路、並びにツール内で処理する次のセットの半導体基板をスケジュール設定する第2の時間を予測するように構成される。第2の経路に従って更なる半導体基板を進行させ、第2の時間に従って次のセットの半導体基板を処理することにより、更なる半導体基板の待機時間、及びツールのスループットを更に最適化する。
【0049】
別の特徴では、制御器は、レシピ、ツール又はこれら両方に対するあらゆる変更に応じて、モデルを調節するように構成される。
【0050】
別の特徴では、モデルは、複数の処理チャンバにおける処理時間をそれぞれ予測するように構成された第1の複数のニューラル・ネットワークと、第1のロボット及び第2のロボットのそれぞれの搬送時間を予測するように構成された第2の複数のニューラル・ネットワークと、第1の複数のニューラル・ネットワーク及び第2の複数のニューラル・ネットワークに結合し、複数の処理チャンバの間で半導体基板を搬送する経路を予測し、第1のロボットが更なる半導体基板をツール内で処理するためにスケジュール設定する時間を予測する第3のニューラル・ネットワークとを備える。
【0051】
別の特徴では、モデルは、複数のツール構成及び複数のレシピをシミュレーションすることによって更に訓練される。
【0052】
別の特徴では、更に訓練したモデルは、レシピ情報を入力として受信することに応じて、ツール構成のための推奨を出力するように構成される。
【0053】
他の特徴では、レシピは、複数の層を半導体基板上に堆積するためのものである。複数の処理チャンバは、複数の層を堆積する1つ又は複数の処理チャンバと、複数の層の堆積前に半導体基板をそれぞれ処理する前処理チャンバと、複数の層の堆積後に半導体基板をそれぞれ処理する後処理チャンバとを含む。第2のロボットは、複数の処理チャンバ間で予測経路に従って半導体基板を搬送するように構成され、半導体基板の待機時間を最適化する。第1のロボットは、予測時間に従ってツール内で処理する更なる半導体基板をスケジュール設定し、ツールのスループットを最適化するように構成される。
【0054】
まだ他の特徴では、半導体基板ツール内で半導体基板を処理する間のスループット及び待機時間を最適化するシステムは、プロセッサと、プロセッサが実行する命令を記憶するメモリとを備える。命令は、半導体処理ツール構成、及び半導体処理ツール内で半導体基板に対し実施すべきレシピに基づき、半導体処理ツールの複数の処理チャンバ間で半導体基板の経路を設定する複数の経路をシミュレーションするように構成される。命令は、複数の経路に沿って、レシピに従って半導体処理ツール内での半導体基板の処理をシミュレーションするように構成される。命令は、半導体基板の処理に基づき、半導体処理ツール内の後続の更なる半導体基板を処理する複数のタイミング・スケジュールをシミュレーションするように構成される。命令は、複数のタイミング・スケジュールに従って更なる半導体基板の処理をシミュレーションするように構成される。命令は、シミュレーションによって生成されたデータに基づきモデルを訓練するように構成される。命令は、半導体処理ツールのモデルを使用して、レシピに従って半導体処理ツール内で半導体基板を処理する際に複数の処理チャンバ間で半導体基板を搬送する最適経路を予測するように構成される。命令は、半導体処理ツールのモデルを使用して、半導体処理ツール内で処理する更なる半導体基板をスケジュール設定する最適時間を予測するように構成される。命令は、最適経路に従って半導体処理ツール内で半導体基板を処理し、最適経路に沿った半導体基板の待機時間を最適化するように構成される。命令は、半導体処理ツール内の更なる半導体基板を最適時間で処理し、最適経路に沿った半導体処理ツールのスループットを最適化するように構成される。
【0055】
他の特徴では、命令は、シミュレーションによって生成されたデータに基づきモデルを訓練し、半導体基板を処理する処理時間、複数の処理チャンバ間で半導体基板を搬送する半導体処理ツールのロボットの搬送時間、処理時間及び搬送時間に基づき複数の処理チャンバ間で半導体基板の経路を設定する最適経路、並びに処理時間及び搬送時間に基づき半導体処理ツール内で処理する更なる半導体基板をスケジュール設定する最適時間を予測するように構成される。
【0056】
別の特徴では、命令は、半導体基板の処理の間に生成されたデータ、及び半導体処理ツール内の更なる半導体基板に基づき、モデルを繰り返し更に訓練するように構成される。
【0057】
別の特徴では、命令は、レシピ、ツール又はこれら両方に対する変更があればモデルを調節するように構成される。
【0058】
他の特徴では、命令は、シミュレーションによって生成されたデータに基づきモデルを生成するように構成され、モデルは、複数の処理チャンバ内で半導体基板をそれぞれ処理する第1の複数のニューラル・ネットワークを備える。モデルは、第1のロボット及び第2のロボットのそれぞれの搬送時間を予測するように構成された第2の複数のニューラル・ネットワークを備える。第1のロボットは、半導体基板を半導体処理ツール内に搬送するように構成され、第2のロボットは、複数の処理チャンバ間で半導体基板を搬送するように構成される。モデルは、第1の複数のニューラル・ネットワーク及び第2の複数のニューラル・ネットワークに結合し、複数の処理チャンバの間で半導体基板の経路を設定する最適経路を予測し、更なる半導体基板を半導体処理ツール内で処理するためにスケジュール設定する最適時間を予測する第3のニューラル・ネットワークを備える。
【0059】
別の特徴では、命令は、複数の半導体処理ツール構成及び複数のレシピをシミュレーションすることによってモデルを訓練するように構成される。
【0060】
別の特徴では、命令は、モデルを訓練し、レシピ情報を入力として受信することに応じて、ツール構成のための推奨を出力するように構成される。
【0061】
上記及び以下で説明する特徴のいずれも、個別に(即ち、上記及び以下で説明する他の特徴とは無関係に)実施することができる。上記及び以下で説明する特徴のいずれも、いくつかの実装形態では、上記及び以下で説明する他の特徴と組み合わせることができる。
【0062】
本開示に対する利用可能性の更なる領域は、詳細な説明、特許請求の範囲及び図面から明らかになるであろう。詳細な説明及び具体例は、ただ例示することを意図し、本開示の範囲を限定することを意図するものではない。
【0063】
本開示は、詳細な説明及び添付の図面からより完全に理解されるであろう。
【図面の簡単な説明】
【0064】
図1図1は、1つ又は複数の処理チャンバを含む基板処理ツールの一例の機能ブロック図である。
【0065】
図2図2は、処理チャンバを含む基板処理ツールの一例の機能ブロック図である。
【0066】
図3図3は、データ収集システムの一例の機能ブロック図である。
【0067】
図4図4は、機械学習支援モデルを生成、訓練し、基板処理ツールのウエハ処理動作をスケジュール設定するシステムの機能ブロック図である。
【0068】
図5A図5Aは、機械学習支援モデルを生成、訓練する方法の図である。
図5B図5Bは、機械学習支援モデルを生成、訓練する方法の図である。
図5C図5Cは、機械学習支援モデルを生成、訓練する方法の図である。
図6図6は、機械学習支援モデルを生成、訓練する方法の図である。
図7図7は、機械学習支援モデルを生成、訓練する方法の図である。
図8図8は、機械学習支援モデルを生成、訓練する方法の図である。
【0069】
図9図9は、本明細書に記載のモデルを生成するのに使用するディープ・ニューラル・ネットワークの一例を示す。
図10図10は、本明細書に記載のモデルを生成するのに使用するディープ・ニューラル・ネットワークの一例を示す。
図11図11は、本明細書に記載のモデルを生成するのに使用するディープ・ニューラル・ネットワークの一例を示す。
【0070】
図12図12は、離散事象シミュレータを使用して強化学習モデルを訓練するシステムの機能ブロック図である。
【0071】
図13図13は、離散事象シミュレータを使用して強化学習モデルを訓練する方法の図である。
【0072】
図14図14は、ツールからのオフライン・シミュレータ及びオンライン・リアルタイム・データを使用して、入れ子型ニューラル・ネットワークによりモデルを訓練し、ツール内のウエハ処理をスケジュール、ペース調整するシステムの図である。
【0073】
図15A図15Aは、オフライン・シミュレータ及びオンライン・リアルタイム・ツール・データを使用して、入れ子型ニューラル・ネットワークによりモデルを訓練し、ツール内のウエハ処理をスケジュール設定し、ペース調整する方法の図である。
図15B図15Bは、オフライン・シミュレータ及びオンライン・リアルタイム・ツール・データを使用して、入れ子型ニューラル・ネットワークによりモデルを訓練し、ツール内のウエハ処理をスケジュール設定し、ペース調整する方法の図である。
【0074】
図16図16は、複数の処理モジュール(例えば、電気めっきセル)を備えるツールの一例の図である。
【0075】
図17図17は、図16のツール内で使用される処理モジュール(例えば、電気めっきセル)の一例の図である。
【0076】
図18図18は、ツール(例えば図16のツール)内のウエハ処理をスケジュール設定し、ペース調整するモデルを訓練するため、図14のオフライン・シミュレータと連携して使用される、工場データ収集システムの一例の図である。
【発明を実施するための形態】
【0077】
図面において、参照番号は、同様及び/又は同一の要素を識別するために再使用することがある。
【0078】
典型的には、基板処理ツール(以下「ツール」)のオペレータは、過去の経験、実験に基づき、又は試行錯誤手法を用いてスケジュール設定パラメータ値を手作業で選択する。この理由は、スケジュール設定パラメータ値を選択する単純なガイドラインを容易に確立できないことにある。ツール(例えば、エッチング・ツール)のための様々な基板処理シナリオは、ツールに対する最適なスループットを達成するために様々なセットのスケジュール設定パラメータ値を必要とすることがあるため、オペレータは、各ウエハフローの稼働をツール上で開始する前、ツールを制御するシステム・ソフトウェアにスケジュール設定パラメータ値を手作業で入力しなければならないことがある。
【0079】
いくつかのツールでは、システム・ソフトウェア内のスケジューラは、スケジュール設定規則及びスコア記録システムのセットを使用し、スケジュール判定を行うことができる。しかし、ツールのシステム構成、稼働シナリオ及びスケジュール制約条件の複雑さが増すと、このスケジュール判定を行う方式の複雑さも増す。この方式は、最適なシステム・スループットを達成、維持するには、より多くの発展努力を必要とする。
【0080】
更に、多数の並行材料堆積プロセスで使用され、ウエハ待機時間が制限されるバッチ(多数の基板)処理ツール内では、最良のスループット及び最小のウエハ待機時間を達成するツールのスケジューラのペース調整は、かなり困難であることがある。スケジューラ規則は、かなり動的であり、不正確なペース調整計算により、ウエハ乾燥によるウエハ異常、又はスループットの低下がもたらされ、ツールの所有費用を増大させることがある。更に、様々な顧客用途により、ペース調整の予測をより複雑にする。例えば、長時間の処理レシピ(例えば、メガピラー・レシピ)は、処理モジュールに渋滞を生じさせ、短時間の処理レシピ(例えば、再配線層、即ちRDLレシピ)は、(いくつかのアームがバッチ/多数の基板を一緒に扱う)バックエンド・ロボットに渋滞を生じさせる。
【0081】
本開示は、次のように訓練したモデルを使用し、更に強化学習モデルを使用することによって、こうした問題を解決する。エッチング・ツールの場合、ニューラル・ネットワーク・モデル(以下「モデル」)を訓練し、最適スケジュール設定パラメータ値を予測する。モデルは、モデルへの入力として、予防保全動作(PM)、レシピ時間、及びウエハレス自動洗浄(WAC)時間から収集したデータを使用して訓練する。モデルは、スケジュール設定パラメータ値と様々なウエハ処理シナリオとの間の隠れた関係を捕捉し、それに応じて予測するために使用され、これにより、最良の値の選択のためのガイドラインを確立する必要性をなくす。
【0082】
訓練前、モデルによって予測される重要なスケジュール設定パラメータ・セットを特定する。半導体製造業者が使用するツールから多量の訓練データを収集する。更なる訓練データは、ツールを使用する半導体製造業者によって使用される様々な処理シナリオを含むシミュレーションを使用して生成する。最良のニューラル・ネットワーク構造は、スケジュール設定パラメータ空間にわたり、均一な予測精度を提供し得るモデルを支持するように決定される。ウエハ処理シナリオ専用モデルを使用してよいが、他の処理シナリオから収集したデータを使用して経時的にモデルを訓練することによって、様々な処理シナリオを含み得る単一モデルを生成することもできる。
【0083】
モデル保守を容易にするため、モデルは、ツールのシステム・ソフトウェア外で稼働させてよい。即ち、モデルは、ツールのシステム・ソフトウェアの外部にあっても、システム・ソフトウェアとは個別であっても、システム・ソフトウェアに統合されなくてもよい。モデルは、オペレータが選択したウエハフローに基づき、システム・ソフトウェアから入力パラメータを受信することができる。次に、モデルは、最良スケジュール設定パラメータ値を計算、予測し、システム・ソフトウェアに返信することができる。例えば、機器製造業者は、半導体製造業者が加入できるSaaS(Software-as-a-Service)としてクラウド内でモデルを展開することができる。代替的に、機器製造業者は、モデルをツールのシステム・ソフトウェアに組み込むことができる。
【0084】
訓練モデルの使用により、システム・ソフトウェア内に構築したスケジューラの隠れた挙動をニューラル・ネットワーク・モデル内で捕捉することが可能になり、次に、この隠れた挙動を、使用される最良スケジュール設定パラメータ値の予測に使用することができる。オペレータは、最良スケジュール設定パラメータ値を選択するのに、もはや広範なシミュレーション調査を実施する必要がない。訓練モデルを使用すると、新たなウエハフローを開始する際、システム・ソフトウェアがスケジュール設定パラメータ値を自動的に選択することも可能である。
【0085】
更に、スケジューラのスケジュール設定規則及びスコア記録システムは、ニューラル・ネットワーク・モデルに取って代わることができる。モデルは、離散事象シミュレータ及び強化学習を使用して訓練し、所与の状態のシステムに対して最良スケジュール判定を自己探索し、記憶する。このことにより、システムの最適スループット性能の達成、維持を可能にする。
【0086】
自己探索プロセスは、離散事象シミュレータを使用し、最良の可能なシステム動作方法を発見する(例えば、ウエハをツールを通じて移動させる最良経路を発見する)努力を最適スループット性能で自動化する。ツール上で自己訓練プロセスを稼働させることによって、ニューラル・ネットワーク・モデルは、特定のツール構成、ウエハ処理シナリオ、及びツールに固有の制約条件に対して最適化し得る。
【0087】
したがって、本開示は、スマート機械学習支援スケジューラを提供する。スマート・スケジューラは、自己学習プロセスを使用し、ニューラル・ネットワーク・モデルを訓練し、所与の状態のシステムに対して最良のスケジュール判定を行う。この判定は、ツールが、半導体製造業者に特有の稼働シナリオ及びスケジュール制約条件を条件とする最適スループット条件を達成し、これを維持するのに役立つ。
【0088】
例えば、スマート・スケジューラは、ウエハ遊休時間を合計処理時間の2%未満にし、製造効率(実際のサイクル時間/理論サイクル時間)を各レシピで97%超にし得ることを保証することができる。更に、スマート・スケジューラは、モデルが、ツール間のばらつき、及び経時的に発生し得る同じツール内での性能ドリフトを補償することができる。更に、スマート・スケジューラは、製造期限に合わせるために省略又は遅延させなければならないことがある予防保全を考慮することによって、スケジュール設定パラメータ値を最適化し得る。スマート・スケジューラのこれら及び他の特徴を以下で詳細に説明する。
【0089】
更に、以下で説明するように、多数の並行材料堆積(例えば、多層めっき)処理のためにツール内で使用されるスケジューラのペース調整精度を改善するため、本開示は、入れ子型ニューラル・ネットワークに基づく機械学習方法を提案し、様々な処理に対するスケジューラのペース調整を正確に予測する。この方法を使用し、最初はシミュレーションをオフラインで使用し、次にオンラインで、実際のツールを使用してモデルを展開、訓練し、ウエハ設定経路を予測し、最高のツール/ツール群利用率、最短待機時間及び最速スループットを達成するようにスケジュール設定する。
【0090】
本開示を次のように編成する。ツールの一例を図1を参照して示し、説明する。処理チャンバを含む基板処理システムの一例を図2を参照して示し、説明する。データを様々なツールから収集するデータ収集システムの一例を図3を参照して示し、説明する。機械学習支援モデルを生成、訓練するシステムを図4を参照して示し、説明する。機械学習支援モデルを生成、訓練する方法を図5A図8を参照して示し、説明する。本明細書で説明するモデルの生成に使用するディープ・ニューラル・ネットワークの一例を図9図11を参照して示し、説明する。離散事象シミュレータを使用して強化学習モデルを訓練するシステムを図12を参照して示し、説明する。離散事象シミュレータを使用して強化学習モデルを訓練する方法を図13を参照して示し、説明する。ツール内ウエハ処理をスケジュール、ペース調整するオフライン・シミュレータ及びオンライン・リアルタイム・ツール・データを使用して、入れ子型ニューラル・ネットワークによりモデルを訓練するシステムを図14を参照して示し、説明する。ツール内ウエハ処理をスケジュール設定し、ペース調整するオフライン・シミュレータ及びオンライン・リアルタイム・ツール・データを使用して、入れ子型ニューラル・ネットワークによりモデルを訓練する方法を図15A及び図15Bを参照して示し、説明する。複数の処理モジュール(例えば電気めっきセル)を含む基板処理システムを備えるツールの一例を図16を参照して示し、説明する。図16のツールの処理モジュールの一例を図17を参照して示し、説明する。オフライン・シミュレータと連携し、ツール内のウエハ処理のスケジュール及びペース調整モデルを訓練する工場データ収集システムの一例を図18を参照して示し、説明する。
【0091】
図1は、基板処理ツール100の一例を示す。基板処理ツール100は、複数の処理チャンバ104-1、104-2、・・・及び104-M(Mは2以上の整数である)を含む(集合的に処理チャンバ104)。ほんの例として、処理チャンバ104のそれぞれは、1つ又は複数の種類の基板処理を実施するように構成することができる。言い換えれば、基板を処理チャンバ104の1つにロードし、処理し、次に、1つ又は複数の他の処理チャンバ104に移動させる(少なくとも1つの処理チャンバ104が異なる処理を実施する場合)、及び/又は基板処理ツール100から除去することができる(全ての処理チャンバ104が全て同じ処理を実施する場合)。
【0092】
処理される基板は、大気圧-真空(atmosphere-to-vacuum、ATV)搬送モジュール108のロード・ステーション・ポートを介して基板処理ツール100にロードされる。いくつかの例では、ATV搬送モジュール108は、機器フロントエンド・モジュール(Equipment Front End Module、EFEM)を含む。次に、基板を1つ又は複数の処理チャンバ104に搬送する。例えば、搬送ロボット112は、ロード・ステーション116からエアロック又はロードロック120まで基板を搬送するように構成され、真空搬送モジュール128の真空搬送ロボット124は、ロードロック120から様々な処理チャンバ104まで基板を搬送するように構成される。
【0093】
処理チャンバ130、搬送制御器134及び/又はシステム制御器138を設けてよい。搬送制御器134は、基板処理ツール100間での基板の搬送に関連するロボット112及び124、作動器及びセンサを制御する。処理チャンバ制御器130は、処理チャンバ104の動作を制御する。概して、処理チャンバ制御器130は、温度センサ、圧力センサ、位置センサ等のセンサ135を監視し、ロボット、ポート、加熱器、ガス送出システム、ESC、RF生成器等の作動器136を制御する。処理チャンバ104に関連付けた処理チャンバ制御器130は、概して、ステップのタイミング、供給するプロセス・ガス、温度、圧力、RF出力等を指定するレシピに従う。
【0094】
図2は、基板を処理する基板処理システム200の一例を示し、処理チャンバ動作の間に生成されるデータ種の例を示す。特定の種類の処理チャンバを示すが、他の種類の処理チャンバを使用してよい。基板処理システム200は、処理チャンバ202を含み、処理チャンバ202は、基板処理システム200の他の構成要素を囲み、RFプラズマを含有する。基板処理システム200は、上側電極204と、静電チャック(ESC)206等の基板支持体とを含む。動作中、基板208は、ESC206上に配置される。
【0095】
ほんの例として、上側電極204は、シャワーヘッド209を含んでよく、シャワーヘッド209は、堆積前駆体、エッチング・ガス、キャリア・ガス等のプロセス・ガスを導入し、分散させる。ESC206は、下側電極として働く導電性底板210を含む。底板210は、加熱板212を支持し、加熱板212は、セラミック多重区域加熱板に対応してよい。熱抵抗層214は、加熱板212と底板210との間に配置してよい。底板210は、底板210を通じて冷却剤を流す1つ又は複数の冷却剤通路216を含んでよい。
【0096】
RF生成システム220は、上側電極204及び下側電極(例えばESC206の底板210)の一方にRF電圧を生成、出力する。上側電極204及び底板210のもう一方は、DC接地しても、AC接地しても、浮動であってもよい。ほんの例として、RF生成システム220は、RF電圧を生成するRF電圧生成器222を含んでよく、RF電圧は、整合・分配網224によって上側電極204又は底板210に供給される。他の例では、プラズマを誘導的又は遠隔的に生成してよい。
【0097】
ガス送出システム230は、1つ又は複数のガス源232-1、232-2、・・・及び232-Nを含み(集合的にガス源232)、Nは1以上の整数である。ガス源232は、1つ又は複数の堆積前駆体、エッチング・ガス、キャリア・ガス等を供給する。気化させた前駆体を使用してもよい。ガス源232は、弁234-1、234-2、・・・及び234-N(集合的に弁234)及び質量流量制御器236-1、236-2、・・・及び236-N(集合的に質量流量制御器236)によってマニホルド238に接続される。マニホルド238の出力は、処理チャンバ202に供給される。ほんの例として、マニホルド238の出力は、シャワーヘッド209に送られる。
【0098】
発光分光分析(OES)センサ239は、チャンバ表面241上に配置した窓240に隣接して配置してよい。OESセンサ239は、OESデータを選択的に生成する。温度制御器242は、加熱板212内に配置した複数の熱制御要素(TCE)244に接続してよい。例えば、TCE244は、限定はしないが、多重区域加熱板内の各区域に対応するそれぞれのマクロTCE、及び/又は多重区域加熱板の多数の区域にわたり配設したマイクロTCEを含んでよい。温度制御器242は、ESC206及び基板208の温度を制御する複数のTCE244を制御するために使用してよい。
【0099】
温度制御器242は、通路216を通じた冷却剤の流れを制御する冷却剤組立体246と通信してよい。例えば、冷却剤組立体146は、冷却剤ポンプ及び冷却剤槽を含んでよい。温度制御器242は、冷却剤組立体246を、冷却剤を通路216を通じて選択的に流し、ESC206を冷却するように動作させる。
【0100】
弁250及びポンプ252は、処理チャンバ202から反応物を排出するために使用してよい。制御器260は、基板処理システム200の構成要素を制御するために使用してよい。ロボット270は、基板をESC206上に送出し、基板をESC206から除去するために使用してよい。例えば、ロボット270は、基板をESC206とロードロック272との間で搬送してよい。個別の制御器として示すが、温度制御器242は、制御器260内に実装してよい。
【0101】
基板を処理、搬送する間、かなりの量の個別データ及びストリーミング・データが基板処理ツールによって生成される。事象データは、様々な構成要素の場所及び滞留時間を決定するために使用してよい。例えば、モジュール又はフロント・オープニング・ユニファイド・ポッド(FOUP)の滞留時間は、基板間に処理差を生じさせることがある。システム・ログはシステムレベルのデータを記録する。更なるデータは、基板搬送の間に記録される。処理チャンバのそれぞれも、基板処理中のデータを記録する。記録されるデータには、様々なデータ種、サンプリング・レート、及び/又はフォーマットを含む。データの一部は、処理チャンバでローカルにのみ記憶される一方で、他のデータは、工場レベルで記憶される。
【0102】
データは、通常、固定頻度でメッセージ形式でツールからホストにストリーミングされる。データは、概して、基板ベースで送信されない。むしろ、データは時間ベースで送信される。データは、典型的には、固定の頻度又はファイル・サイズで、ファイルベースで収集される。データは、通常、連続的に収集され、境界がない。いくつかのシステムでは、データは、介在する基板ではなく、レシピ開始及びレシピ終了時の最初の基板及び最後の基板を処理する間に収集される。
【0103】
これらのデータから、ビッグ・データ・ツール及び/又は機械学習を使用して非機密動作データを収集、分析し、モデルを構築、訓練し、最良スケジュール設定パラメータを提供し、生産性及びシステム・スループットを向上し得る。更に、ツール構成及びレシピ・データに基づき、シミュレーションを使用して更なるモデル訓練データを生成し得る。
【0104】
半導体製造業者は、様々なフォーマットを有する様々なファイルからデータを組み合わせることができる。いくつかの例では、顧客のツールから収集したデータは、暗号化及び前方/後方互換性を支持する共通構成ファイル形式とし得る。いくつかの例では、データ形式は、技術データ管理ソリューション(TDMS)ファイル形式に一致し得る。いくつかの例では、データ形式は、顧客が鍵(例えば、アプリケーション・プロトコル・インターフェース(API)鍵)を使用してアクセス可能であり、読み取ることができる。データのコンテクスト及び集合体は、様々なデータ種にわたって一致しているため、収集データに対するクリーニング、再フォーマット化及び/又は他の作業を実施せずに使用、分析することを可能にする。
【0105】
いくつかの例では、データは、基板がカセットを離れた瞬間から基板がカセットに戻るまで収集し得る。いくつかの例では、データは、単一ファイル内に記憶し得る。いくつかの例では、ファイル形式は、自己整合式とし得る。いくつかの例では、データは、データ及びコンテクストの種類に基づき様々な頻度で収集し得る。いくつかの例では、データは、TDMSの使用及び暗号化によりフォーマット化し得る。いくつかの例では、データ・アダプタは、レガシー・データ及び後方互換性を支持し、新たなデータ種を組み込み、ホストのメッセージング・データ及びストリーミング・データを支持するために使用し得る。
【0106】
図3は、半導体処理システムのための工場データ収集システム300を示す。製造工場収集システム300は、N個の基板処理ツール320-1、320-2、・・・及び320-T(Tは整数である)を含む(集合的に基板処理ツール320)。基板処理ツール320のそれぞれは、上記した処理チャンバの動作を制御する1つ又は複数の処理チャンバ制御器340-1、340-2、・・・及び340-T(集合的に処理チャンバ制御器340)を含む。処理チャンバが収集するデータの例は、基板又はウエハのデータ・ログ、自動予防保全、高速データ、発光分光分析(OES)、追跡データ、OESスナップショット、ペデスタル温度マップ及び他のデータ、較正ファイル、機器定数、センサ・データ、並びに/又は他のデータを含む。
【0107】
基板処理ツール320のそれぞれは、動的アライメントを制御し、較正ファイル、プラットフォーム追跡データ・ログ、機器定数、搬送モジュール活動及び/又は他のデータを記憶する搬送制御器344-1、344-2、・・・及び344-N(集合的に搬送制御器344)を含んでよい。動的アライメントとは、ペデスタル中心、エッジ・リング又は他の物体等、処理チャンバの他の構成要素に対する基板の場所を指す。
【0108】
基板処理ツール320のそれぞれは、ツール・システム制御器348-1、348-2、・・・及び348-N(集合的にツール・システム制御器348)をそれぞれ含んでよい。ツール・システム制御器348は、ロット履歴、詳細なイベント・ログ、ロットベースの警報、時間ベースの警報、ツール制御器健全性、部品追跡、構成要素履歴、材料スケジュール、及び他のデータを記録する。
【0109】
基板処理ツール320のそれぞれは、データ診断サービス・コンピュータ350-1、350-2、・・・及び350-N(集合的にデータ診断サービス・コンピュータ350)と、データ記憶デバイス362-1、362-2、・・・及び362-N(集合的にデータ記憶デバイス362)とをそれぞれ更に含む。他の例では、データ診断サービス・コンピュータ350を2つ以上のツールによって共有しても、各ツールが2つ以上のデータ診断サービス・コンピュータ350を含んでもよい。基板処理ツール320は、ツール・データ・バス又はネットワーク364-1及びストリーミング・データ・バス又はネットワーク364-2等の1つ又は複数のバスによってホスト・サーバ364に接続される。
【0110】
いくつかの例では、ホスト・サーバ364は、セキュリティ・モジュール366とデータ選択器モジュール367とを含む。セキュリティ・モジュール366は、暗号又はパスワード保護等のセキュリティを提供する。セキュリティ・モジュール366は、暗号又はパスワードを使用し、基板処理ツール320及び/又はデータ選択器モジュール367が記憶するデータへのアクセスを許可又は拒否する。ホスト・サーバ364は、データ選択器モジュール367を更に含み、ユーザ・コンピュータ380が、1つ又は複数の基板処理ツールから1つ又は複数のカテゴリのデータを選択し、データ・コンテクスト・フィールドの1つ又は複数を使用してデータをフィルタ処理するのを可能にする。他の例では、セキュリティ・モジュール366及び/又はデータ選択器モジュール367は、個別のサーバを使用して実装される。
【0111】
ホスト・サーバ364は、WAN又はLAN等のネットワーク368によって機械学習コンピュータ374及び/又は1つ若しくは複数のユーザ・コンピュータ380に接続される。更なる分析のため、ホスト・サーバ364によって返送されたデータ・セットに機械学習コンピュータ374がアクセス可能になる。いくつかの例では、機械学習コンピュータ374は、データへのアクセスを制御するセキュリティ・モジュール375を含む。機械学習コンピュータ374は、データ収集システム300が生成した1つ又は複数のデータ・ファイルを使用して、ユーザが選択した機械学習を実施する。様々な基板処理ツールからのファイル形式は同じであるため、データを結合して単一ファイルにし、分析し得る。このことにより、同じプロセスを多数の機械内で分析することを可能にする。
【0112】
基板処理ツール320の数Tは限定されない。更に、基板処理ツール320は、同じ施設に位置する必要はない。いくつかの例では、機器製造業者に対し、複数の半導体製造業者が記憶したデータへのアクセスを許可し得る。いくつかの例では、(ストリーミング・デバイス又はHSDデバイス以外の)データ生成デバイスの一部又は全てのサンプリング・レートは、共通サンプリング周期に整合することができ、データは、このサンプリング周期に基づき共通ファイルに追加される。
【0113】
図4は、本開示による、機械学習支援モデルを生成、訓練するシステム400を示す。例えば、システム400は、機械学習コンピュータ(例えば、図3に示す要素374)を備え得る。システム400は、データ収集器402と、シミュレータ404と、データ分析器406と、モデル生成器408とを備える。データ収集器402は、1つ又は複数のツールからデータを収集し、ニューラル・ネットワーク・モデルを生成、訓練する。シミュレータ404は、ツール(複数可)から得たハードウェア構成、ウエハフロー種、稼働シナリオ、レシピ時間、及びウエハレス自動洗浄(WAC)時間に基づき、更なる訓練データを生成する。
【0114】
データ分析器406は、ビッグ・データの分析に使用する技法を使用して、データ収集器402が収集したデータ、及びシミュレータ404が生成したデータを分析する。データ分析器406は、スケジュール設定パラメータ値とウエハ処理シナリオとの間の隠れた関係を捕捉する。モデル生成器408は、データ分析器406が分析したデータに機械学習技法を適用することによって、モデルを生成する。モデル生成器408は、以下で詳細に説明する1つ又は複数のモデルを規定、訓練、検証する。
【0115】
システム400において、要素402~408の全ては、単一コンピュータ(例えば図3に示す要素374)によって実装し得る。要素402~408のそれぞれは、個別のコンピュータによって実装し得る。要素402~408の1つ又は複数は、個別のコンピュータによって実装し得る。言い換えれば、要素402~408は、1つ又は複数のコンピュータ・デバイスを使用して実装し得る。
【0116】
コンピュータ・デバイスのそれぞれは、1つ又は複数のハードウェア・プロセッサ(例えばCPU)を含み得る。コンピュータ・デバイスのそれぞれは、命令を記憶するメモリを含むことができ、命令は、図5A図8を参照しながら以下に示し、説明する方法に対応する。コンピュータ・デバイスのハードウェア・プロセッサは、コンピュータ・デバイスのメモリ内に記憶した命令を実行し得る。
【0117】
要素402~408の1つ又は複数は、1つ又は複数のネットワークによって通信可能に相互接続し得る。例えば、ネットワークは、LAN、WAN、インターネット、クラウドベースのネットワーク・システム、又はあらゆる他の分散通信システム(例えば、クライアントサーバ・アーキテクチャベースのネットワーク・システム)を含み得る。
【0118】
例えば、データ収集器402は、図3に示す工場データ収集システム300として実装し得る。データ収集器402は、1つ又は複数のツール(例えば図1に示すツール100)からデータを収集する。1つ又は複数のツールは、同じ顧客の場所に位置してよい。1つ又は複数のツールは、同じ顧客の様々な場所に位置してよい。1つ又は複数のツールは、様々な顧客の場所に位置してよい。ツールから収集するデータは、顧客の所有権及び機密データを除外するが、モデルの生成、訓練に使用し得る全ての他の動作データを含む。
【0119】
ほんの例として、データを収集するツールは、エッチング・ツールであってよく、以下の構成を有してよい。ツールは、最大4つのエアロックを有してよい。ウエハフロー構成は、冷却ステーションによる1段階構成(エッチングのみ)及び/又は2段階構成(エッチング及び剥離)とし得る。レシピ種は、ウエハ処理、ウエハレス自動洗浄、事前調整、及び事後調整等を含んでよい。稼働シナリオは、単一フロー及び/又は並行稼働多重フローを含んでよい。ツールは、1つ又は複数のエッチング・チャンバ、1つ又は複数の剥離チャンバ、洗浄チャンバ等を含め、最大6個の処理チャンバを含んでよい。
【0120】
システム400において、モデル生成器408は、履歴データに対して機械学習(ML)方法を適用し、履歴データは、ツール及びシミュレータ404から得られ、データ分析器406によって分析され、スループット予測モデルを生成する。モデルを使用すると、ツール・スケジューラは、モデルが所与のツール構成のために提供する最良スケジュール設定パラメータを使用して、ウエハ処理をスケジュール設定し得る。線形単回帰は、隠れた変数間の複雑な関係のため、あまりうまく働かない。代わりに、機械学習方法を使用すると、複雑な非線形データの取扱いに柔軟性をもたらす。機械学習方法の例は、人工ニューラル・ネットワーク(ANN)、サポート・ベクトル回帰(SVR)等を含む。
【0121】
モデル生成器408は、機械学習方法の代わりに、又は機械学習方法に加えて、他の手法を使用してよい。他の手法の例は、メタヒューリスティクス方法及び数学的方法(例えばペトリ・ネット)を含む。メタヒューリスティクス方法は、人工知能(AI)の派生物であり、事前に定義した性能要件に合致させるのに最適に近いスケジュール・パターンを発見する自動試行錯誤方法である。この場合、スケジュール設定パラメータ値は、選択したスケジュール・パターンから抽出し得る。最適に近いスケジュール・パターンの発見に使用するアルゴリズムの例は、遺伝アルゴリズム及び遺伝プログラミングを含む。
【0122】
モデル生成器408は、選択した機械学習方法を使用してモデルを訓練し、最適スケジュール設定パラメータ値を予測する。モデルは、例えば、ツールの予防保全動作(PM)、レシピ時間、及びウエハレス自動洗浄(WAC)時間から収集したデータを使用して訓練する。モデルは、スケジュール設定パラメータ値と様々なウエハ処理シナリオとの間の隠れた関係を捕捉し、それに応じて予測するために使用され、これにより、最良の値の選択のためのガイドラインを確立する必要性をなくす。モデルは、パラメータ空間にわたり、一様な精度の予測をもたらし得る。
【0123】
モデル生成器408は、特定のウエハ処理シナリオに対して専用モデルを生成、訓練し得る。言い換えれば、モデルは、特定のツールに対して訓練してよい。代替的に、モデル生成器408は、様々なシナリオを含み得る単一モデルを生成、訓練してよい。言い換えれば、モデルは、複数のツールに対して訓練し得る。例えば、特定のツールに対する専用モデルを更に訓練し、他のツールの他のシナリオから経時的に集めたデータを使用して複数のツールと共に作動させることができる。
【0124】
1つのモデルが全ての可能なシナリオを含み得るか又は専用モデルが必要かどうかを決定するため、モデル生成器408は、選択した機械学習方法を適用し、複数のツール構成から収集したデータに基づくモデルを生成し、シナリオを稼働させ、予測精度が成功基準に合致し得るかどうかを確認することができる。成功基準は、モデルが、ツール間のばらつき、及び経時的に発生し得る同じツール内での性能ドリフトを補償するかどうかを含むことができる。成功基準は、モデルが、省略した予防保全を考慮することによってスケジュール設定パラメータ値を最適化し得るかどうかを更に含むことができる。成功基準は、ウエハ遊休時間が、全てのウエハに対して合計処理時間のわずかなパーセンテージ(例えば2%)未満であるか、製造効率(実際のサイクル時間/理論サイクル時間)が、各レシピに対して高い(例えば97%超)どうかも含むことができる。
【0125】
使用中、モデルは、オペレータが選択したウエハフローに基づき、ツールのシステム・ソフトウェア(例えばツール100のシステム制御器138)から入力パラメータを受信することができる。例えば、モデルは、PM数、レシピ時間及びWAC時間を入力として受信することができる。次に、モデルは、最良スケジュール設定パラメータ値を計算、予測し、システム・ソフトウェアに返信することができる。訓練したモデルは、システム・ソフトウェア内に構築されたスケジューラの隠れた挙動を捕捉し、次に、この隠れた挙動を使用し、選択したウエハフローに従ってウエハ・セットを処理する際に使用される最良スケジュール設定パラメータ値を予測することができる。訓練モデルを使用すると、新たなウエハフローを開始する際、ツールのシステム・ソフトウェアがスケジュール設定パラメータ値を自動的に選択することも可能である。ツール・オペレータは、最良スケジュール設定パラメータ値を選択するのに、もはや広範なシミュレーション調査を実施する必要がない。
【0126】
モデルは、多くの方法で実施することができる。例えば、モデルは、ツールのシステム・ソフトウェアに組み込むことができる。代替的に、モデルは、ツールのシステム・ソフトウェアから個別に、遠隔に実施することができ、モデルが生成した予測結果は、ツールのシステム・ソフトウェアに供給することができる。例えば、モデル保守を容易にするため、モデルは、ツールのシステム・ソフトウェア外で稼働してよい。モデルは、オペレータが選択したウエハフローに基づき、システム・ソフトウェアから入力パラメータを受信することができる。次に、モデルは、最良スケジュール設定パラメータ値を計算、予測し、システム・ソフトウェアに返信することができる。例えば、モデルは、SaaS(Software-as-a-Service)として、クラウド内で展開することができる。
【0127】
モデルをツールのシステム・ソフトウェア内に統合する際、モデルは、ツールごとの基準に基づき、ツールの捕捉データからツール上の所与の稼働シナリオに対して最適スケジュール設定パラメータを生成することができる。したがって、この実装形態において、モデル予測は、実際のツール・データに基づく。モデルは、ツール間の差に対しても適応性がある。モデルを更新し、ツールの性能ドリフトを調節することができる。しかし、この実装形態では、ツール自体に対して集中的な計算が実施される。更に、ツールの捕捉データは、モデルに最良の解を提供するには十分ではない可能性がある。データが十分であるかどうかは、ツールからのデータ・セットを有するモデルを使用し、データ・セットが最良スケジュール設定パラメータを予測するのに十分であるかどうかを評価することによって決定することができる。
【0128】
モデルをツールとは別に実装する場合、モデル生成器408は、最適構成セットを特定、記憶し、ツールごとにシナリオを稼働し、自動選択のためにこのセットを記憶することができる。シミュレータ404は、ツール構成、ウエハフロー種、レシピ/WAC時間、及び稼働シナリオの様々な組合せに対して訓練データを生成することができる。モデル生成器408は、最良予測モデルを生成する最良機械学習方法を特定し、訓練データ・セットに基づき最良システム・スループットを生成することができる。次に、モデルを使用し、ツール構成及びシナリオごとに最適スケジュール設定パラメータ・セットを生成することができる。モデル結果セットは、ユーザ・インターフェース内でコード化し、ツール・オペレータが選択したツールのツール構成及び稼働シナリオに基づき、ツール・オペレータが、自動スケジュール設定パラメータを選択することを容易にすることができる。
【0129】
この実装形態では、ツール上で実施される計算は制限される。しかし、モデル生成器408は、様々なツールの様々な構成及びシナリオを含むように広範な計算を実施する。更に、モデル予測は、様々なツールの捕捉データに基づくのではなく、データのシミュレーションに基づく。したがって、モデル性能は、シミュレーション・データの質に依存する。モデルは、全ての可能なツール構成及び稼働シナリオを支持できないことがある。更に、モデルは、ツール間の差に適応しない、又はツールの性能ドリフトを調節しないことがある。
【0130】
図5Aは、機械学習支援モデルを生成し、モデルを使用して生成したスケジュール設定パラメータに基づきツールを動作させる方法500を示す。方法500は、図4に示すシステム400によって実行し得る。例えば、システム400の要素402~408の1つ又は複数は、以下の方法500のステップの1つ又は複数を実行し得る。
【0131】
502において、モデルを生成、訓練するデータを1つ又は複数のツールから受信する。504において、1つ又は複数のツールに対する構成データ及びレシピ・データを受信する。506において、シミュレータ(例えば、図4を参照して示し、説明する要素406)を使用し、構成データ及びレシピ・データに基づき、モデルを生成、訓練する更なるデータを生成する。シミュレータの動作を図5Bを参照して更に詳細に説明する。
【0132】
508において、機械学習方法を使用し、ツール及びシミュレータから受信したデータを分析することによってモデルを生成、訓練する。データ分析プロセスを図5Cを参照して更に詳細に説明する。モデル生成、訓練するプロセスを図6及び図7を参照して更に詳細に説明する。
【0133】
510において、モデルを試験、検証する。モデル検証プロセスを図8を参照して更に詳細に説明する。
【0134】
512において、方法500は、モデルのための試験基準に合致するかどうかを決定する。方法500は、試験基準に合致しない場合、502に戻る。514において、試験基準に合致した場合、モデルを使用のために展開する。モデルは、上記したツールのシステム・ソフトウェア内に組み込まれるか、又はツールのシステム・ソフトウェアとは別に実装される。
【0135】
516において、モデルは、ウエハ・セット上で実施すべき処理について、ツールのシステム・ソフトウェアから入力を受信する。518において、受信した入力に基づき、モデルは、ウエハ・セットを処理するツールのシステム・ソフトウェアに最適スケジュール設定パラメータ値を提供する。520において、受信したスケジュール設定パラメータ値に基づき、ツールのシステム・ソフトウェアは、ウエハ・セットを処理する動作をスケジュール設定する。
【0136】
図5Bは、方法550をシミュレータ404によって実行する際のシミュレータ404の動作を示す。図5Aの504で説明したように、1つ又は複数のツールに対する構成データ及びレシピ・データを受信する。図5Bの552において、シミュレータ404は、ツールのハードウェア構成及びレシピ・データ等を使用して、ツールの処理環境をシミュレーションする。554において、シミュレータ404は、ツールのシミュレーション環境におけるウエハの処理をシミュレーションする。556において、シミュレータ404は、ツールのシミュレーション環境におけるウエハの処理シミュレーションに基づき、更なるデータを生成し、モデルを生成、訓練する。
【0137】
図5Cは、データ分析器406が実行する方法580の形態における、データ分析器406の動作を示す。図5Aの508で説明したように、ツール及びシミュレータから受信したデータを分析することによってモデルを生成、訓練する。図5Cの582において、データ分析器406は、ツール及びシミュレータ404から収集したデータを分析する。584において、データ分析器406は、データ分析に使用する技法を使用してデータを分析する。
【0138】
586において、データ分析器406は、収集データの分析に基づき、ツール(複数可)に関するPM、WAC時間、待機時間、レシピ時間及びスループットに関するパターンを検出する。588において、データ分析器406は、上記したツール間のばらつき、及び更には同じツールのばらつきを検出する。590において、データ分析器406は、検出したパターン及びばらつきをモデル生成器408に提供し、機械学習方法を使用するモデル訓練のために使用する。
【0139】
図6及び図7は、モデル生成及び訓練プロセスを更に詳細に示す。図6には、モデル生成方法600を示す。602において、モデルを規定する。604において、モデルを訓練する。606において、モデルを検証する。
【0140】
図7には、モデル生成方法700を示す。702において、ディープ・ニューラル・ネットワークのためのネットワーク・トポロジを選択することによってモデルを規定する。ディープ・ニューラル・ネットワークの一例を図9に示す。例えば、ネットワーク・トポロジの選択は、ディープ・ニューラル・ネットワークの入力数、ニューロン数及び層数を含む。
【0141】
704から710までモデルを訓練する。704において、訓練データ(例えば、ツールから収集したデータ及びシミュレータが生成したデータ)上でモデルを稼働させる。706において、モデルが予測した出力を訓練データに対して確認する。708において、モデル・パラメータ及び/又はネットワーク技術は、モデル予測と実際のデータとの間により良好な一致を生成するように調節する。710において、モデルが所定の基準に合致するかどうかを決定する。
【0142】
例えば、所定の基準は、モデルがツール間のばらつき、及び同じツールの性能ドリフトを補償し得るかどうか、並びにモデルが利用不可能なPMを最適化し得るかどうかを決定することを含む。更に、所定の基準は、モデル出力が、わずかなウエハ遊休時間(例えば2%未満)及び高い製造効率(例えば97%超)を保証するかどうかを含み得る。方法700は、所定の基準の1つに合致しない場合、704に戻る。712において、所定の基準に合致した場合、ツールからの新たなデータを有するモデルを試験することによって、モデルを検証する。
【0143】
図8は、モデル検証方法800を更に詳細に示す。方法をK分割検証方法と呼ぶ。802において、検証に使用するデータをK個の区分に分割する。Kは2以上の整数である。804において、同一モデルをインスタンス化する。806において、各モデルをある区分上で訓練し、残りの区分上で評価する。各評価に対して検証スコアを割り当てる。808において、モデルの検証スコアは、このモデルに対するK個の検証スコアの平均である。最高の検証スコアを有するモデルを使用のために展開する。
【0144】
他の検証方法を使用してモデルを検証することができる。例えば、N分割交差検証方法を使用してよい。本方法では、合計データ・セットを1つの最終試験セット及びN個の他のサブセットに分割する。Nは2以上の整数である。各モデルは、検証誤り率に対してN個の異なる推測を得るため、サブセットの1つではなく、全てに対して訓練する。最低検証誤り率を有するモデルを、使用のために展開する。
【0145】
図9及び図10は、機械学習技法を使用して本明細書に記載のモデルを生成するのに使用するディープ・ニューラル・ネットワークの一例を示す。機械学習は、予測に役立つ複雑なモデル及びアルゴリズムを考案するために使用される方法である。機械学習を使用して生成したモデルは、確実で、繰り返し可能な判定及び結果を生成し、履歴関係及びデータの傾向からの学習を通じて、隠れた洞察を解明することができる。
【0146】
ディープ・ニューラル・ネットワークベースのモデルを使用し、機械学習を使用してモデルを訓練する目的は、変数間の関係を数学的形式にせずに、従属変数を直接的に予測することである。ニューラル・ネットワーク・モデルは、多数のニューロンを含み、多数のニューロンは、並行して動作し、層で配置される。第1の層は、入力層であり、生の入力データを受信する。各連続層は、先行層からの出力を修正し、出力を次の層に送信する。最後の層は、出力層であり、システムの出力を生成する。
【0147】
入力層において、各入力ノードは、任意の実数とし得る数値に関連付けられる。各層において、入力ノードから逸脱する各関係は、関係と関連付けた重みを有し、この重みも任意の実数とし得る(図9を参照)。図8において、完全に関係するニューラル・ネットワークを図示し、所与の層内の各ニューロンは、次の層内の各ニューロンに関係する。
【0148】
入力層において、ニューロンの数は、データ・セット内の特徴(列)の数に等しい。出力層は、多数の連続出力を有することができる。入力層と出力層との間の層は、隠れた層である。隠れた層の数は、1つ又は複数とし得る(ほとんどの用途に対し、1つの隠れた層で十分であり得る)。隠れた層のないニューラル・ネットワークは、線形の分離可能な関数又は判定を表し得る。1つの隠れた層があるニューラル・ネットワークは、1つの有限空間から別の有限空間まで連続するマッピングを実施することができる。2つの隠れた層があるニューラル・ネットワークは、任意の平滑マッピングを任意の精度まで近似させることができる。
【0149】
ニューロン数は最適化し得る。訓練の開始時、ネットワーク構成は、過剰なノードを有する可能性が高い。ノードは、訓練中、ネットワークから除去してよく、ネットワーク性能に著しく影響を及ぼさない。例えば、訓練後に重みがゼロに接近するノードは、除去(枝刈り)することができる。ニューロンの数は、過少適合(データ・セット内の信号を十分に捕捉することができない)、又は過剰適合(全てのニューロンを訓練するには情報が不十分であり、ネットワークは訓練データ・セット上ではうまく機能するが、テスト・データ・セット上ではうまく機能しない)を引き起こすことがある。
【0150】
様々な方法を使用し、モデルの性能を測定することができる。例えば、2乗平均誤差(RMSE)は、観察値とモデル予測との間の平均距離を測定する。決定係数(R2)は、観察結果と予測結果との間の(精度ではなく)相関関係を測定する。この方法は、データが大きな分散を有する場合、確実ではない。他の性能測定には、非簡約化ノイズ、モデル・バイアス及びモデル分散を含む。高バイアスは、モデルが予測因子と結果との間の真の関係を捕捉できないことを示す。モデル分散は、モデルが安定していないことを示し得る(データ内のわずかな乱れにより、モデル適合を著しく変化させる)。
【0151】
図11は、高バイアス及び高分散の一例を示す。高分散は、過剰適合を示し得る。過剰適合は、様々な方法の使用により防ぐことができる。例えば、正則化を使用することができる。大きな重みは、二乗値(L2ペナルティ)又は絶対値(L1ペナルティ)上でペナルティ又は制約条件を使用して減点し得る。また、より多くのデータを使用することができる。更に、枝刈り(ほぼゼロの重み係数を有するニューロンを除去する)及び/又はバギング(様々な訓練データ・サブセット上でモデルを訓練する)を使用して過剰適合を防止し得る。
【0152】
図12は、離散事象シミュレータを使用して強化学習モデルを訓練するシステム1200を示す。例えば、上記システム400によって生成したモデルは、以下で説明するシステム1200を使用する強化学習を使用して更に訓練し得る。システム1200は、離散事象シミュレータ1202と、強化学習モデル1204とを備える。離散事象シミュレータ1202は、ツールのシステム・ソフトウェア(例えば、ツールのシステム・ソフトウェアを実行する図1に示すツール100の制御器138)、及び強化学習モデル1204(例えば、図4に示すシステム400が生成したモデル)と通信する。
【0153】
システム1200において、要素138、1202及び1204の全ては、単一コンピュータによって実装し得る。要素138、1202及び1204のそれぞれは、個別のコンピュータによって実装し得る。要素138、1202及び1204の1つ又は複数は、個別のコンピュータによって実装し得る。言い換えれば、要素138、1202及び1204は、1つ又は複数のコンピュータ・デバイスを使用して実装し得る。
【0154】
コンピュータ・デバイスのそれぞれは、1つ又は複数のハードウェア・プロセッサ(例えばCPU)を含み得る。コンピュータ・デバイスのそれぞれは、図13を参照しながら以下に示し、説明する方法に対応する命令を記憶するメモリを含み得る。コンピュータ・デバイスのハードウェア・プロセッサは、コンピュータ・デバイスのメモリ内に記憶した命令を実行する。
【0155】
要素138、1202及び1204の1つ又は複数は、1つ又は複数のネットワークによって通信可能に相互接続し得る。例えば、ネットワークは、LAN、WAN、インターネット、クラウドベースのネットワーク・システム、又はあらゆる他の分散通信システム(例えば、クライアントサーバ・アーキテクチャベースのネットワーク・システム)を含み得る。
【0156】
更に、要素1202及び1204は、図4に示すシステム400(例えば、モデル生成器408)と統合し得る。言い換えれば、システム1200は、システム400と統合し得る。
【0157】
上述のように、いくつかのツールでは、システム・ソフトウェア内のスケジューラは、スケジュール設定規則及びスコア記録システムのセットを使用し、スケジュール判定を行うことができる。しかし、ツールのシステム構成、稼働シナリオ及びスケジュール制約条件の複雑さが増すと、このスケジュール判定を行う方式の複雑さも増す。この方式は、最適なシステム・スループットを達成、維持するには、より多くの展開努力を必要とする。
【0158】
スケジューラのスケジュール設定規則及びスコア記録システムは、ニューラル・ネットワーク・モデル1204に取って代わることができる。モデル1204は、離散事象シミュレータ1200及び強化学習を使用して訓練し、所与の状態のツールに対して最良のスケジュール判定を自己探索し、記憶することができる。このことにより、ツールの最適スループット性能の達成、維持を可能にする。
【0159】
図13を参照して以下で更に詳細に説明するように、自己探索プロセスは、離散事象シミュレータ1202を使用し、最良の可能なシステム動作方法を発見する(例えば、ウエハをツールを通じて移動させる最良経路を発見する)努力を最適スループット性能で自動化する。ツール上で自己訓練プロセスを稼働させることによって、ニューラル・ネットワーク・モデル1204は、特定のツール構成、ウエハ処理シナリオ及びツールに固有の制約条件に対して最適化し得る。
【0160】
離散事象シミュレータ1202は高速シミュレータである。例えば、離散事象シミュレータ1202は、約1時間はかかるウエハ処理シーケンスを1分未満でシミュレーションすることができる。離散事象シミュレータ1202は、1段階及び2段階のウエハ処理シーケンス、並びにPM内でのWACの稼働をシミュレーションすることができる。離散事象シミュレータ1202は、組込み式HTTPサーバベースのアプリケーション・プログラム・インターフェース(API)を含み、離散事象シミュレータ1202とモデル1204との間の情報交換を促進する。離散事象シミュレータ1202は、APIを介してJSON形式でスケジュール・サイクル情報を出力する。モデル1204は、JSONファイルを処理し、次の動作を選択し、次の動作は、APIを介して離散事象シミュレータ1202に返信される。
【0161】
更に、モデル1204は、図13を参照して以下で更に詳細に説明する強化学習方法を使用して訓練するディープ・ニューラル・ネットワークを含む。強化学習には、エージェント、即ち、状態セットS、及び状態ごとの動作セットAが関与する。セットAから動作「a」を実施することによって、エージェントは状態の間を移行する。動作を特定の状態で実行すると、エージェントに報酬(数値スコア)を与える。エージェントの目標は、(将来の)合計報酬を最大化することである。エージェントは、将来の状態から到達可能な最大報酬を、現在の状態を達成する報酬に追加することによって目標を達成し、これにより、可能な将来報酬によって、現在の動作に効果的に影響を及ぼす。この可能な報酬は、現在の状態から開始する全ての将来のステップの報酬に対する期待値の重み付き和である。
【0162】
例えば、モデル1204が使用する強化学習方法は、Q学習を含むことができる。Q学習は、機械学習内で使用される強化学習方法である。Q学習の目標は、どの状況下でどの行動を取るべきかをエージェントに通知する方策を学習することである。Q学習は、確率的遷移及び報酬を伴う問題を扱うことができ、適合を必要としない。Q学習は、任意の有限マルコフ決定過程(FMDP)に対して最適な方策を発見する。Q学習は、現在の状態から開始して、全ての連続ステップにわたり合計報酬の期待値を最大化する。
【0163】
図13は、離散事象シミュレータ1202を使用して強化学習モデル1204を訓練する方法1300を示す。方法1300は、図12に示すシステム1200によって実行し得る。例えば、システム1200の要素138、1202及び1204の1つ又は複数は、以下の方法1300のステップの1つ又は複数を実行し得る。
【0164】
1302において、離散事象シミュレータ1202は、ツール(例えば、図1に示すツール100)からデータを受信する。例えば、離散事象シミュレータ1202は、ツール100のシステム制御器138上で稼働するシステム・ソフトウェアから、ツールの現在の状態を示すデータを受信する。例えば、ツールの状態情報は、ウエハ処理状態におけるツール資源の情報(例えば、PM、エアロック等)を含んでよい。
【0165】
1304において、離散事象シミュレータ1202は、全ての可能な次のスケジュール・レベル動作セットを生成し、スケジュール・レベル動作セットは、次の状態に移行するツールによって実施することができる。1306において、離散事象シミュレータ1202は、次のスケジュール・レベル動作セットをモデル1204に出力する。1308において、モデル1204は、スケジュールすべき、最良のシステム性能をもたらす次の最良動作を選択する。1310において、モデル1204は、このツールの状態のためにスケジュールすべき次の最良動作を記憶する。1312において、離散事象シミュレータ1202は、次の状態をシミュレーションする次の最良動作を実行する。
【0166】
1314において、離散事象シミュレータ1202は、最終状態に到達したかどうかを決定する。離散事象シミュレータ1202は、最終状態に到達するまでステップ1304~1312を繰り返す。1316において、最終状態に到達すると、モデル1204の強化訓練は完了する。1318において、モデル1204は、実際のウエハ処理中にツール内で特定の状態が生じた際、各状態に対し記憶した次の最良動作を使用する。このように、モデル1204を使用すると、ツールは最良の経路を常に選択し、この経路において、ツールを通るウエハは、ある状態から別の状態に移行する際に、最適なスループット性能で移動する。
【0167】
したがって、システム1200は、システム400と共に、スマート機械学習支援スケジューラを提供する。スマート・スケジューラは、自己学習プロセスを使用し、ニューラル・ネットワーク・モデルを訓練し、所与の状態のシステムに対して最良のスケジュール判定を行う。この判定は、ツールが、半導体製造業者に特有の稼働シナリオ及びスケジュール制約条件を条件とする最適スループット条件を達成し、これを維持するのに役立つ。例えば、スマート・スケジューラは、ウエハ遊休時間を合計処理時間の2%未満にし、製造効率(実際のサイクル時間/理論サイクル時間)を各レシピで97%超にし得ることを保証することができる。
【0168】
更に、多数の並行材料堆積(例えば、多層めっき)処理のためにツール内で使用されるスケジューラのペース調整精度を改善するため、本開示は、機械学習を使用して訓練する入れ子型ニューラル・ネットワークベースのモデルを提案する。具体的には、以下で詳細に説明するように、入れ子型ニューラル・ネットワークベースのモデルを最初に設計し、シミュレーション・データを使用してオフラインで訓練し、次に、実際のツール・データを使用してオンラインで訓練し、ウエハ設定経路を予測し、スケジュール設定する。モデルは、最高のツール/ツール群利用率、最短待機時間、及び最速スループットを達成する。
【0169】
現在、並行レシピで使用するスケジューラ規則の動的性質のため、ペース調整は、典型的に以下の問題を有する。ペース調整とは、スケジューラの挙動(例えば、ウエハの経路設定)を予測し、次のセットのウエハ(典型的にはウエハ対)を処理(例えば、めっき)ツールにいつ送るかを判定する能力である。時として、スケジューラの挙動は、正確に予測できないことがある。したがって、ウエハのツール内への発送が遅すぎる、又は早すぎることがある。ウエハの発送が遅すぎると、ツールのスループットを低減し、ウエハの発送が早すぎると、ウエハの待機時間が増大するためにウエハの歩留りを低減させ、ウエハを乾燥させる。したがって、スケジューラは、最大のスループット及び歩留りを達成するように、ウエハをツール内にいつ送るかを正確に予測する必要がある。
【0170】
特に、ツールは、典型的には、ウエハ搬送に2つのロボットを使用する。フロントエンド(FE)ロボットは、ウエハ対をツール内に搬送し、バックエンド(BE)ロボットは、ウエハ対をツール内の1つの処理モジュールからツール内の別の処理モジュールに搬送する。ツールの1つ又は複数の処理モジュール内でウエハに対して同じ又は異なるプロセスを実施することがある。両ロボットのスケジュールは、処理モジュールの利用可能性と連携して協働する必要がある。ウエハがツールに入ると、処理モジュールは、正しいシーケンスで正しい時間で利用可能である必要がある。それ以外の場合、ウエハは、ウエハを経路設定した次の処理モジュールが利用可能になるまで待機しなければならず、これにより、ウエハの乾燥を生じさせ、歩留りを低減させることがある。
【0171】
複雑なスケジュール設定シナリオに対する更なる課題は、様々なプロセスに対する処理時間が広範に(例えば、あるプロセスでは数分であり、別のプロセスでは約1時間に)変動し得ることである。例えば、単純なレシピは、ウエハを単層で処理することを含んでよい。この場合、ツールに入ったウエハは、まず、前処理モジュールに移動し、次に、めっきモジュールに移動し、次に、後処理モジュールに移動し、次に、ウエハはツールを出る。2層処理レシピの場合、ツールに入ったウエハは、まず、前処理モジュールに移動し、次に、第1の処理モジュールに移動し、次に、第2の処理モジュールに移動し、次に、後処理モジュールに移動し、次に、ウエハはツールを出て、以下同様である。理解されるように、より多くの処理層があるレシピは、より長い処理時間を有することがある。
【0172】
しかし、一部のレシピの場合、ツール内に、ロボットのスケジュール設定及びウエハの経路設定の改善に有利に利用できる何らかの柔軟性がある場合がある。例えば、多層処理レシピの場合、処理材料がN個の層で同じであり、同じ処理層を堆積し得るN個の処理モジュールがある場合、ウエハをN個の処理モジュールのいずれかの間で搬送することができる。この経路設定の柔軟性により、N個の処理モジュール間のウエハの搬送に2つ以上の設定経路を有する機会がもたらされる。しかし、ウエハ経路設定を調整し、スケジュール設定するには、N個の処理モジュールのどれが、いつ利用可能であるかが既知であることが必須である。更に、ウエハ経路設定を調整し、スケジュール設定するには、搬送ロボットの利用可能性も既知であることが必須である。
【0173】
したがって、並行レシピには(ツール間、及びツール内のモジュール間に)様々なFE/BEロボットの搬送時間がある。現在のペース調整方法は、典型的には、大部分のシナリオで静的なFE/BEロボット予約時間を使用しており、設定経路の予測はない。更に、現在のペース調整方法は、ウエハ待機時間とスループットとの間で以下のジレンマ:FE/BEロボットの予約時間の低減によりスループットを改善し得るが、処理モジュール内でのウエハの待機をより長くする可能性があること、及びFE/BEロボット予約時間の増大により、ウエハの待機時間を最小化し得るが、(例えば、再配線層、即ちRDLレシピにおいて)時間あたりのウエハ(WPH)スループットの低下を生じさせる可能性があることに直面する。更に、現在、プログラム実行時間の推測は、これらのツール上で使用可能である様々なパラメータ・セット及び選択肢に対して常に正確ではない。
【0174】
こうした問題を解決するため、本開示は、以下の入力:1)ツール構成、2)レシピ構造(例えば、並行処理モジュール、単層/多層等)、3)正確なプログラム実行時間の予測(使用可/使用不可のパラメータ・セット値及び選択肢の入力に基づくモジュール層ニューラル・ネットワークによって提供される)、4)設定経路上の各処理モジュールの状態(例えば、オンライン/オフライン、処理モジュールに向かうウエハの数、残りの処理時間、サービス・プログラムまでの残り時間、等)、並びに5)ツール間のロット発送最適化のため、ツール群に追加し得る第3のニューラル・ネットワーク層に基づき、ウエハ設定経路及びスループットを予測する動的なペース調整方法(スケジューラ層ニューラル・ネットワーク)を提案するものである。
【0175】
提案する動的スケジューラのペース調整方法は、機械学習を使用する入れ子型ニューラル・ネットワークベースのモデルを使用し、ウエハ処理中のウエハの動的なスケジュール設定問題、並びに(モジュール、ツール及び群レベルでの)ウエハ/ロット発送及び経路設定に対処する。最初に、シミュレーションは、データを生成し、ニューラル・ネットワークを訓練、試験するために使用される。したがって、シミュレーションは正確である必要があり、正確なプログラム実行時間の推測を必要とする。ニューラル・ネットワーク層は、プログラム実行時間を正確に予測するために使用される。このニューラル・ネットワーク層において、1つのニューラル・ネットワークは、処理モジュールごとに使用され、プログラム実行時間を予測する。更に、1つのニューラル・ネットワークは、ロボットごとに使用され、各ロボットに対する搬送時間を予測する。
【0176】
方法は、シミュレーションを使用するオフライン学習、及びリアルタイムでのツール・データを使用するオンライン学習の両方を採用する。オフライン学習は、製造中の計算複雑さを最小化するためにシミュレータ又はツール上で収集したデータに基づく。オフライン訓練の間にニューラル・ネットワークに対して決定された重みは、ウエハ/ロット発送前、スケジューラのペース調整アルゴリズムに適用する。次に、オンライン学習を使用し、リアルタイム・データに基づきニューラル・ネットワークを動的に調節する。
【0177】
したがって、提案する方法では、スケジューラのペース調整モデルは、入れ子型ニューラル・ネットワーク又は他の機械学習アルゴリズムを使用して構築される。モデルは、最初、現場以外でシミュレーションを使用して構築、訓練、試験する。その後、モデルは、更に現場で、実際のツールに対して、ツールからのデータ・ストリームを繰り返し使用することによって継続的に洗練化、訓練し、モデルに更なる調節を行い、ツール固有、レシピ固有のロボット搬送時間を反映し、あらゆる処理ドリフトを補償する。現場訓練は、あらゆるレシピ変更及び/又はツール・ハードウェア変更に対するモデルも調節する。
【0178】
入れ子型ニューラル・ネットワークを使用するスケジューラの動的ペース調整方法は、ツール/群のスループット、及び多層材料堆積による並行レシピの利用率、及び待機時間の制限を改善し、ウエハの乾燥問題を防ぐ。方法は、最大ツール利用率でレシピ/ウエハの割当てミックスを推奨することができる。方法は、フロントエンド・ロボット及びバックエンド・ロボットの両方、並びにウエハ・アライナが関与する経路、処理モジュールへの上り経路、処理モジュール間の経路、並びに下り処理モジュールへの経路の経路設定を予測することもできる。更に、方法は、所与の用途に対する最適ツール・ハードウェア構成を推奨することができる。
【0179】
動的スケジューラは、段階的に設計、展開、実施される。第1の段階は、次のようにオフラインでの単一ニューラル・ネットワークの訓練を含む。シミュレータを使用し、実際のツールにおける現実の搬送時間を使用して、実際のツールで実現可能な様々なスケジュール設定しナリオ及びウエハ設定経路をシミュレーションする。シミュレータは、様々なツールのハードウェア構成、及びウエハ処理ツール内で使用し得る様々なプロセスに基づき、これらのシミュレーションを実施する。ウエハ・サイクルは、シミュレータ内の試験シナリオに基づきループ・モードでシミュレーションし、多数のデータ・セットを収集する。ニューラル・ネットワークは、機械学習を使用してオフラインで訓練する。計算された重み(ウエハのスケジュール及び経路設定を最適化するため、シミュレータによって生成される)並びにニューラル・ネットワーク入力は、スケジューラのペース調整アルゴリズムに送られ、同じ待機時間の間のスループットの改善を観察する。
【0180】
第2の段階では、ツール群の1つのツールに対して、入れ子型ニューラル・ネットワークをオフラインで次のように訓練する。モデルの最初の層において、モジュール・レベルのニューラル・ネットワーク(即ち、ある処理モジュールのためのニューラル・ネットワーク)を訓練し、様々なプロセスに関するプログラム実行時間を予測する。同じ層において、ツール内のロボットごとの1つのニューラル・ネットワークを訓練し、様々なプロセスに関する搬送時間を予測する。モデルの次の層において、最初の層からのニューラル・ネットワークの出力(即ち、プログラム実行時間及び搬送時間の推測)を、スケジューラレベルのニューラル・ネットワークを含む次の層に入力する。
【0181】
スケジューラレベルのニューラル・ネットワークの入力は、他のツール構成、レシピ種のミックス、プロセス時間、ウエハ上で処理すべき多重層、スケジューラ・モード等に拡張される。モジュール・レベルのニューラル・ネットワークと結合する(即ち、入れ子にする)と、入力を拡張したスケジューラレベルのニューラル・ネットワークは、最良の製品/レシピ/ウエハ・ミックスに対する推奨をもたらし、最高のツール/ツール群の利用率を達成し、ツールの所有費用を低減させる。即ち、様々なツール・ハードウェア構成及び様々なレシピ種を使用して訓練する入れ子型ニューラル・ネットワークベースの動的スケジューラは、今や、所与の1つ又は複数のレシピに対する最適ツール構成を推奨することができる。そのような推奨は、単独のシミュレータベースの訓練を使用してもたらすことができる。
【0182】
第3の段階は、オンラインでのリアルタイム教師なし学習を含む。機械学習を使用するオンラインでの連続ニューラル・ネットワーク訓練は、1つのツール又はツール群からの実際の製造データに基づく。オンライン訓練は、前述のようにシミュレータを使用してオフラインで訓練したニューラル・ネットワークへの入力の重みを動的に調節するために使用される。処理レシピ及び/又はハードウェアが変化し得るため、連続(即ち、継続)訓練が必要である。そのような変化が生じた際、モデルを変化に適合させる必要があり、このことは、連続訓練によって達成することができる。したがって、動的スケジューラは教師あり機械学習から教師なし機械学習に成長し、誤りから学習能力を発展させ、次回、より良好に訓練された推測を行う。
【0183】
訓練が連続性であるため、ツールが生成するデータは、自動分類され、繰り返し行われる訓練を可能にする。即ち、1セットのウエハを現在のプロセスで処理した後、現在のプロセスからのデータは、自動的に分類され、以前のプロセスからの対応するデータに加えて又はこのデータの代わりに、このデータを使用し、繰り返し学習できるようにする。動的スケジューラのこれら及び他の態様を以下で詳細に説明する。
【0184】
図14図15Bを参照して使用するように、待機時間とは、処理モジュール内でウエハ処理が完了した後、ウエハ処理を次の処理モジュールで開始できるまでウエハが待機しなければならない時間量である。待機時間は、次の処理モジュールでウエハを処理する準備ができていない場合に生じる(例えば、次の処理モジュールがまだ完了しておらず、依然として他のウエハを処理しているため)。プログラム実行時間又は処理時間とは、処理モジュールがウエハの処理を完了するのにかかる時間量である。ロボット搬送時間とは、ロボットがウエハをA点からB点まで(例えば、ある処理モジュールから別の処理モジュールまで、又はエアロックから処理モジュールまで、及びツール搭載ステーションからエアロックまで)移動させるのにかかる時間量である。
【0185】
図14は、オフライン・シミュレータ1404及びツール1406(例えば、図16に示すツール1600)からのオンライン・リアルタイム・データを使用して、入れ子型ニューラル・ネットワークによりモデル1402を訓練し、ツール1406内でのウエハ処理をスケジュール設定し、ペース調整するシステム1400を示す。モデル1402は、複数のモジュール・レベルのニューラル・ネットワークと、スケジュール・レベルのニューラル・ネットワークとを備える。複数のモジュール・レベルのニューラル・ネットワークは、ツール1406内の各処理モジュール(例えば、図16に示す処理モジュール1602)に対する1つのニューラル・ネットワークと、ツール1406内の各ロボット(例えば、図16に示すロボット1610及び1614)に対する1つのニューラル・ネットワークとを含む。これらのニューラル・ネットワークは、1410-1、・・・及び1410-Nとして示され、Nは2以上の整数であり、集合的にニューラル・ネットワーク1410と呼び得る。ニューラル・ネットワーク1410は、処理モジュール(例えば、図16に示す処理モジュール1602)に関するプログラム実行時間に対する予測、及びロボット(例えば、図16に示すロボット1610及び1614)の搬送時間に対する予測を出力する。
【0186】
スケジューラレベルのニューラル・ネットワークは、1412として示され、ニューラル・ネットワーク1410の出力を入力として受信する。スケジューラレベルのニューラル・ネットワーク1412は、ツール内の処理モジュール間のウエハ・ルーティングをスケジュール設定し、次の対のウエハをいつ処理ツールに搬送すべきかについて予測を出力する。ニューラル・ネットワーク1410及びスケジューラレベルのニューラル・ネットワーク1412は、最初に、シミュレータ1404上での訓練中、次に、ツール1406上での実際の使用及び連続訓練中(例えば、図16に示すシステム制御器1616によって実施した場合、又はシステム制御器1616と一体化した場合、それぞれの予測を出力する。
【0187】
ほんの例として、シミュレータ1404は、1つ又は複数のハードウェア・プロセッサ(例えばCPU)と、1つ若しくは複数のコンピュータ・プログラムを記憶する1つ又は複数のメモリ・デバイスとを備えるコンピュータ等の計算デバイスを使用して実施してよく、コンピュータ・プログラムは、ツール(例えばツール1406)の動作及び処理環境をコンピュータ上でシミュレーションする。コンピュータ・プログラムは、図15A及び図15Bを参照して以下で説明するように、モデル1402のニューラル・ネットワーク1410及びスケジューラレベルのニューラル・ネットワーク1412をシミュレータ1404上で生成、訓練、検証する命令を更に含む。1つ又は複数のハードウェア・プロセッサは、1つ又は複数のコンピュータ・プログラムを実行する。
【0188】
シミュレータ1404及びツール1406は、1つ又は複数のネットワークによって通信可能に相互接続し得る。例えば、ネットワークは、LAN、WAN、インターネット、クラウドベースのネットワーク・システム、又はあらゆる他の分散通信システム(例えば、クライアントサーバ・アーキテクチャベースのネットワーク・システム)を含み得る。
【0189】
例えば、シミュレータ1404は、図18に示す工場データ収集システム1800を使用して、ツール1406からデータを収集/受信し得る。図14ではただ1つのツールを示すが、データは、2つ以上のツールから収集/受信してよい。1つ又は複数のツールは、顧客の同じ場所に位置してよい。1つ又は複数のツールは、同じ顧客の異なる場所に位置してよい。1つ又は複数のツールは、様々な顧客の場所に位置してよい。ツールから収集するデータは、顧客の所有権及び機密データを除外するが、モデルの生成、訓練に使用し得る全ての他の動作データを含む。
【0190】
ほんの例として、データを収集するツール1406は、多数の並行材料堆積(例えばめっき)処理を実施してよく、以下の構成を有してよい。ツールは、最大2つのデッキと2つのロボットとを備えてよく、各デッキは、多数の処理モジュールを備える。例えば、多数の処理モジュールは、1つの前処理モジュールと、1つの後処理モジュールと、めっき処理を実施する4つの処理モジュールとを含んでよい。ツールは、ツール内でのウエハ処理を制御するスケジューラを更に備えてよい。処理は、単層めっき又は多層めっきを含んでよい。
【0191】
シミュレータ1404は、ツール構成をシミュレーションし、ツール内でのウエハの処理をシミュレーションする。シミュレータ1404は、1つ又は複数のシステムを備え、システムは、機械学習を使用し、ウエハ処理のシミュレーションによってシミュレータ1404によって生成されたデータを使用して、モデル1402のニューラル・ネットワーク1410及び1412を生成、訓練、検証する。訓練モデル1402を使用すると、ツール・スケジューラは、ウエハの処理をスケジュール設定する一方で、最良のスループット及び待機時間を提供することができる。訓練モデル1402は、所与の用途で使用すべきツールの最適ハードウェア構成を推奨することもできる。
【0192】
図15A及び図15Bは、オフライン・シミュレータ及びオンライン・リアルタイム・ツール・データを使用して、入れ子型ニューラル・ネットワークによりモデルを生成、訓練し、ツール内のウエハ処理をスケジュール設定し、ペース調整する方法1500を示す。例えば、図14に示すシステム1400のシミュレータ1404及びツール1406(例えば図16に示す要素1616)のシステム制御器の1つ又は複数は、方法1500の以下のステップの1つ又は複数を実行し得る。
【0193】
1502において、方法1500は、ツールのハードウェア構成、及びツールのウエハ上で実施すべき処理レシピ(例えば多層めっき)に関するデータを得る。1504において、シミュレータを使用し、得られたデータに基づき、方法1500は、ウエハを処理する様々な経路設定及びスケジュール設定シナリオをシミュレーションする。1506において、シミュレータを使用し、方法1500は、様々な経路設定及びスケジュール設定シナリオを使用してウエハ処理をシミュレーションする。
【0194】
1508において、方法1500は、シミュレータを使用してシミュレーションしたウエハ処理からデータを収集する。1510において、収集したデータを使用して、方法1500は、複数のニューラル・ネットワークを設計、訓練する。複数のネットワークは、ツール内の処理モジュールのそれぞれに対する1つのニューラル・ネットワークと、ツール内の各ロボットに対する1つのニューラル・ネットワークと、ツールによって使用されるスケジューラに対する1つのニューラル・ネットワークとを含み、ツール内でウエハを経路設定し、ツール内で次のセットのウエハをいつ処理するかについてスケジュール設定する。例えば、ニューラル・ネットワークを生成、訓練する方法は、図6図11を参照して説明した方法と同様のものであってよい。
【0195】
1512において、方法1500は、それぞれのニューラル・ネットワークを使用して、各処理モジュールに対するプログラム実行時間を予測し、ロボット搬送時間を予測する。1514において、方法1500は、ツールから得たデータを使用して、処理モジュール及びロボットのためのニューラル・ネットワークを検証する。
【0196】
1516において、方法1500は、処理モジュール及びロボットのためのニューラル・ネットワークの検証が成功したかどうかを決定する。例えば、ニューラル・ネットワークを検証する方法は、図6図11を参照して説明した方法と同様のものであってよい。例えば、検証基準は、ニューラル・ネットワークの集束特性がどのくらい正確にプログラム実行時間及びロボット搬送時間を予測できるかに基づいてよい。処理モジュール及びロボットのためのニューラル・ネットワークの検証が成功しない場合、方法1500は更なる訓練のために1508に戻る。
【0197】
1518において、処理モジュール及びロボットのためのニューラル・ネットワークの検証が成功した場合、シミュレータを使用し、方法1500は、スケジューラレベルのニューラル・ネットワークに、ニューラル・ネットワークが生成した予測時間及び重みを入力し、スループット及び待機時間を最適化する。1520において、スケジューラレベルのニューラル・ネットワークを使用して、方法1500は、ウエハの経路設定及びスケジュール設定データを予測し、スケジュール・データは、次のセットのウエハの処理をツール内でいつスケジュールすべきかを含む。
【0198】
1524において、スケジューラレベルのニューラル・ネットワークを検証する方法は、図6図11を参照して説明した方法と同様のものであってよい。例えば、検証基準は、スケジューラレベルのニューラル・ネットワークがウエハ・ルーティング及びスケジュールをどのくらい正確に予測できるかに基づいてよい。スケジューラレベルのニューラル・ネットワークの検証が成功しない場合、方法1500は1518に戻り、シミュレータを使用してスケジューラレベルのニューラル・ネットワークを更に訓練する。
【0199】
1526において、スケジューラレベルのニューラル・ネットワークの検証が成功した場合、処理モジュールのニューラル・ネットワーク、ロボット及びスケジューラの全てを備えるモデルは、ツール制御器(例えば図16に示す要素1616)に組み込まれる。次に、モデルは、ツール上でのプログラム実行時間、ロボット搬送時間、並びにウエハの経路設定及びスケジュール設定を予測することができる。
【0200】
1528において、モデルは、ツールからの実際の製造データを使用して、オンラインで(即ち、現場で、ツール上で)繰り返し訓練を継続する。以前のセットのウエハの処理からの対応するデータに加えて、又はこのデータの代わりに、現在のセットのウエハの処理からの自動分類データを使用し、ツール上でモデルを繰り返し、連続的に訓練する。
【0201】
図16は、複数の処理モジュール1602を備えるツール1600の一例を示す。例えば、ツール1600は、下側デッキと上側デッキとを備えてよい。各デッキは、ツール1600が合計8つの処理モジュール1602を備え得るように、4つの処理モジュール1602を備えてよい。代替的に、各デッキは、ツール1600が合計16個の処理モジュール1602を備え得るように、8つの処理モジュール1602を備えてよい(1つのデッキのみを図示する)。例えば、処理モジュール1602は、電気めっきセルを含んでよい(例えば図17を参照)。更に、各デッキは、複数の前処理モジュール及び後処理モジュール1604を備えてもよい。電気めっきに加えて、ツール1600は、スピン・リンス、スピン乾燥、ウェット・エッチング、前エッチング、後化学処理、無電解析出、還元、焼鈍、フォトレジスト剥離、表面予備活性化等を実施してよい。
【0202】
複数の基板1606は、フロント・オープニング・ユニファイド・ポッド(FOUP)1608を通じてツール1600に供給される。フロントエンド・ロボット1610は、FOUP1608からスピンドル1612に基板1606を搬送し、次に、前処理モジュール1604の1つに搬送する。前処理後、バックエンド・ロボット1614は、前処理モジュール1604から処理モジュール1602の1つ又は複数に基板1606を搬送し、電気めっきする。その後、バックエンド・ロボット1614は、基板1606を後処理モジュール1604の1つに搬送する。
【0203】
ツール1600は、システム制御器1616を更に備え、システム制御器1616は、フロントエンド・ロボット1610及びバックエンド・ロボット1614、並びに処理モジュール1602、1604内で実施される処理を制御する。制御器1616は、上記した訓練モデル1402及び動的スケジューラのペース調整方法を使用して、基板1606の処理をスケジュール設定し、制御する。
【0204】
図17は、処理モジュール1602の一例を示す。例えば、処理モジュール1602は、電気めっきセル1700を備える。電気めっきセル1700は、分離陽極チャンバ(SAC)1704内に陽極1702を備える。SAC1704は、電気めっきセル1700の残りからメンブレンによって分離されている。SAC1704は、電気めっきセル1700の残りにおける第2の液体とは化学的性質が異なる第1の液体を含む。
【0205】
電気めっきセル1700は、高抵抗仮想陽極(HRVA)1706を更に備える(取付け組立体は図示しない)。電気めっきの間、HRVA1706は、ウエハを電気めっきセル1700の上部から電気めっきセル1700に降下させた際、第2の液体の流れをウエハ部品(図示せず)に向ける。主浴槽(槽)1708は、ポンプ1710及びフィルタ1712を介して第2の液体を電気めっきセル1700に供給する。塔1714は、ポンプ1716を使用してSAC1704に第1の液体を充填する。処理モジュール1602は、あらゆる他の種類の電気めっきセルを備えてよい。
【0206】
図18は、工場データ収集システム1800の一例を示す。例えば、システム1800は、ホスト・コンピュータ1802と、データ収集器1804と、監視コンピュータ1806とを備え、これらは、ツール1600等の1つ又は複数のツールを使用する半導体製造施設内の工場ローカル・エリア・ネットワーク(LAN)1808に接続される。ホスト・コンピュータ1802は、1つ又は複数のツール(例えばツール1600)と通信する。ホスト・コンピュータ1802はオペレータによって使用され、ツール1600に命令を発行し、レシピ等を提供する。
【0207】
データ収集器1804は、ホスト・コンピュータ1802とツール1600との通信に干渉せずに、ツール1600から様々な種類のデータを受信する。監視コンピュータ1806は、ツールの性能を閲覧、監視するために使用される。監視コンピュータ1806は、ツールの設定をグラフィックで示し、様々なツールのパラメータ値を読み出す。監視コンピュータ1806は、ツール1600に関する問題を解決するために使用される。ホスト・コンピュータ1802は、データ収集器1804及び監視コンピュータ1806と通信する。
【0208】
システム1800は、機器LAN1812を介してツール1600に接続したサーバ1810を更に備える。サーバ1810は、工場LAN1808を介してホスト・コンピュータ1802と通信する。サーバ1810は、ツール1600からデータを収集し、データをホスト・コンピュータ1802に供給する。1つ又は複数のユーザ・インターフェース(UI)コンピュータ1814は、ツール1600のローダ側とは反対のツール1600の側に位置する。ローダ側は、クラス100清浄度である一方で、オペレータがツール1600を操作するUIコンピュータ側は、クラス1000のクリーン度である。UIコンピュータ1814は、機器LAN1812に接続される。監視コンピュータ1816は、機器LAN1812を介してツール1600に接続される。監視コンピュータ1816は、ツール1600を監視し、工場LAN1808を介して監視コンピュータ1806と通信する。
【0209】
ツール1600のシステム制御器1818(例えばシステム制御器1616)は、ツール1600を制御する。複数のモジュール制御器1820は、個々の処理モジュール1602、1604を制御する。複数の入出力(I/O)制御器1822は、処理モジュール1602、1604の個々の動作を制御する。システム制御器1818は、(例えば、ロボット1610、1614を制御し、ツールの処理モジュール1602、1604以外の特徴を制御するために)I/O制御器1822の1つ又は複数とも通信する。様々なスイッチ1824を使用し、適切なI/O制御器1818にアクセスする。
【0210】
図14図17を参照して上記した機能及び動作は、システム制御器1818、監視コンピュータ1816、又はこれら両方によって実施してよい。追加又は代替として、図18を参照して説明した他の計算デバイスが、図14図17を参照して上記した機能及び動作の少なくとも一部を実施してもよい。
【0211】
上記の説明は、本質的に例示的にすぎず、本開示、用途又は使用法を限定することを意図しない。本開示の広範な教示は、様々な形態で実施し得る。したがって、本開示は特定の例を含む一方で、本開示の真の範囲は、そのように限定すべきではない。というのは、図面、本明細書及び以下の特許請求の範囲を研究すれば他の修正形態が明らかになるためである。
【0212】
方法内の1つ又は複数のステップは、本開示の原理を改変することなく、異なる順序で(又は同時に)実行してよいことを理解されたい。更に、実施形態のそれぞれを特定の特徴を有するものとして上記で説明したが、本開示のあらゆる実施形態に対して説明したあらゆる1つ又は複数のこうした特徴は、他の実施形態のいずれかの特徴内で実施し得る、及び/又は組合せが明示的に説明されていない場合でさえ、こうした特徴と組み合わせることができる。言い換えれば、説明した実施形態は、相互に排他的ではなく、1つ又は複数の実施形態の互いに対する並べ替えは、本開示の範囲内に入る。
【0213】
要素間(例えば、モジュール、回路要素、半導体層等の間)の空間的及び機能的な関係は、「接続」、「係合」、「結合」、「隣接」、「~の隣」、「~の上」、「上」、「下」及び「配設」を含む様々な用語を使用して説明する。「直接的」関係として明示的に説明しない限り、第1の要素と第2の要素との間の関係を上記開示で説明する場合、この関係は、他の介在要素が第1の要素と第2の要素との間に存在しない直接的な関係は、1つ又は複数の介在要素が(空間的又は機能的に)第1の要素と第2の要素との間に存在する間接的な関係とすることもできる。本明細書で使用する句、少なくとも1つのA、B及びCは、非排他的論理ORを使用した論理(A OR B OR C)を意味すると解釈すべきであり、「少なくとも1つのA、少なくとも1つのB、及び少なくとも1つのC」を意味すると解釈すべきではない。
【0214】
いくつかの実装形態では、制御器は、システムの一部であり、上記例の一部であってよい。そのようなシステムは、処理構成要素及び/又は特定処理構成要素(ウエハ・ペデスタル、ガス流システム等)のための1つ又は複数の処理ツール、1つ又は複数のチャンバ、1つ又は複数のプラットフォームを含め、半導体処理機器を備えることができる。これらのシステムは、半導体ウエハ又は基板を処理する前、その間、及びその後に動作を制御する電子機器と統合してよい。こうした電子機器は、「制御器」と呼ぶことがあり、1つ又は複数のシステムの様々な構成要素又は下位部品を制御し得る。
【0215】
例えば、制御器は、処理要件及び/又はシステムの種類に応じて、処理ガスの送出、温度設定(例えば加熱及び/又は冷却)、圧力設定、真空設定、電力設定、無線周波(RF)生成器設定、RF整合回路設定、周波数設定、流量設定、流体送出設定、位置及び動作設定、ツール間のウエハ搬送、並びに他の搬送ツール及び/又はロードロックを含め、本明細書で開示するプロセスのいずれかを制御するようにプログラムしてよく、これらは、特定のシステムに接続又はインターフェース接続される。
【0216】
広範に言うと、制御器は、様々な集積回路、論理、メモリ及び/又はソフトウェアを有する電子機器と定義してよく、これらは、命令を受信し、命令を発行し、動作を制御し、洗浄動作を可能にし、エンドポイント測定を可能にする、等である。集積回路は、プログラム命令を記憶するファームウェア、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)として定義されるチップ、及び/又はプログラム命令(例えばソフトウェア)を実行する1つ又は複数のマイクロプロセッサ若しくはマイクロコントローラの形態のチップを含んでよい。
【0217】
プログラム命令は、様々な個々の設定(又はプログラム・ファイル)の形態で制御器と通信し、半導体ウエハ上で若しくは半導体ウエハのために若しくはシステムに対して特定のプロセスを実行する動作パラメータを定義する命令であってよい。動作パラメータは、いくつかの実施形態では、1つ又は複数の層、材料、金属、酸化物、ケイ素、二酸化ケイ素、面、回路及び/又はウエハ・ダイの作製中、1つ又は複数の処理ステップを達成するようにプロセス技師によって定義されたレシピの一部であってよい。
【0218】
制御器は、いくつかの実装形態では、コンピュータの一部、又はコンピュータに結合してよく、コンピュータは、システムと統合されるか、システムに結合されるか、又はシステムにネットワーク化されるか、又はそれらの組合せである。例えば、制御器は、「クラウド」、工場ホスト・コンピュータ・システムの全て又は一部内にあってもよく、ウエハ処理に遠隔でアクセス可能にすることができる。コンピュータは、システムへの遠隔アクセスを可能にし、製造動作に対する現在の進行を監視し、過去の製造動作履歴を調査し、複数の製造動作から傾向又は性能測定基準を調査し、現在の処理パラメータを変更し、処理ステップを設定し、現在の処理に追従するか、又は新たなプロセスを開始してよい。
【0219】
いくつかの例では、遠隔コンピュータ(例えばサーバ)は、ローカル・ネットワーク又はインターネットを含んでよいネットワーク上で処理レシピをシステムに提供することができる。遠隔コンピュータは、パラメータ及び/又は設定の入力又はプログラミングを可能にするユーザ・インターフェースを含んでよく、パラメータ及び/又は設定は、遠隔コンピュータからシステムに伝達される。いくつかの例では、制御器は、命令をデータの形態で受信し、データは、1つ又は複数の動作の間に実施すべき処理ステップのそれぞれに対するパラメータを指定する。パラメータは、実施すべきプロセスの種類、及び制御器がインターフェース接続又は制御するように構成されるツールの種類に固有であってよいことを理解されたい。
【0220】
したがって、上記のように、制御器は、一緒にネットワーク化し、本明細書で説明するプロセス及び制御等の共通の目的に向けて働く1つ又は複数の個別の制御器を備える等によって分散してよい。そのような目的の分散制御器の一例は、チャンバ上でのプロセスを制御するように組み合わせた(プラットフォームレベルで、又は遠隔コンピュータの一部として)遠隔に位置する1つ又は複数の集積回路と通信する、チャンバ上の1つ又は複数の集積回路である。
【0221】
限定はしないが、例示的システムは、プラズマ・エッチング・チャンバ又はモジュール、堆積チャンバ又はモジュール、スピンリンス・チャンバ又はモジュール、金属めっきチャンバ又はモジュール、洗浄チャンバ又はモジュール、斜縁エッチング・チャンバ又はモジュール、物理蒸着(PVD)チャンバ又はモジュール、化学蒸着(CVD)チャンバ又はモジュール、原子層堆積(ALD)チャンバ又はモジュール、原子層エッチング(ALE)チャンバ又はモジュール、イオン注入チャンバ又はモジュール、トラック・チャンバ又はモジュール、並びに半導体ウエハの作製及び/又は製造に関連し得る又は作製及び/又は製造で使用し得るあらゆる他の半導体処理システムを含んでよい。
【0222】
上記のように、ツールによって実施すべき1つ又は複数の処理ステップに応じて、制御器は、他のツール回路又はモジュール、他のツール構成要素、クラスタ・ツール、他のツール・インターフェース、隣接ツール、近接ツール、向上全体を通じて位置するツール、主コンピュータ、別の制御器、又はウエハ容器を半導体製造工場内のツール場所及び/若しくはロード・ポート間で運搬する材料搬送で使用されるツールの1つ又は複数と通信してよい。
図1
図2
図3
図4
図5A
図5B
図5C
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15A
図15B
図16
図17
図18
【国際調査報告】