(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-12
(45)【発行日】2024-01-22
(54)【発明の名称】基板処理システムのガス供給システムにおけるハードウェア構成要素のためのソフトウェアエミュレータ
(51)【国際特許分類】
H01L 21/00 20060101AFI20240115BHJP
【FI】
H01L21/00
(21)【出願番号】P 2021535498
(86)(22)【出願日】2019-08-30
(86)【国際出願番号】 US2019049055
(87)【国際公開番号】W WO2020051084
(87)【国際公開日】2020-03-12
【審査請求日】2022-08-23
(32)【優先日】2018-09-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】592010081
【氏名又は名称】ラム リサーチ コーポレーション
【氏名又は名称原語表記】LAM RESEARCH CORPORATION
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】プスト・ボストジャン
(72)【発明者】
【氏名】トリン・トム
(72)【発明者】
【氏名】フアン・チュン-ホー
【審査官】小池 英敏
(56)【参考文献】
【文献】特開2004-014927(JP,A)
【文献】特開2014-157458(JP,A)
【文献】特開2001-216003(JP,A)
【文献】米国特許出願公開第2009/0326903(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/00
H01L 21/203
H01L 21/3065
G06F 9/455
G05B 23/00
(57)【特許請求の範囲】
【請求項1】
基板処理システムのガス供給システムのためのソフトウェアエミュレーションシステムであって、
入出力バスと、
エミュレータバスと、
データパケットを前記基板処理システムのシステムコントローラから前記入出力バス
と前記エミュレータバス
とのいずれかに送信するように構成されたスイッチを含む入出力バスアダプタと、
前記エミュレータバスと通信するガス供給システムエミュレータであって、
前記入出力バスアダプタから前記エミュレータバスを通じて前記データパケットを受信し、
相互接続する前記ガス供給システムの複数のハードウェア構成要素のソフトウェアベースのエミュレーションを実行するように構成された、ガス供給システムエミュレータと、を備え、
前記複数のハードウェア構成要素は、1つ以上のソフトウェアモデルを用いて
、前記ガス供給システムエミュレータによってモデル化され、ガス
源およびマスフローコントロー
ラを含み、
前記1つ以上のソフトウェアモデルの少なくとも1つは、マスフローコントローラ
モデルを含み、
前記マスフローコントローラモデルは、出力関数の生成を含む前記マスフローコントローラをシミュレーションし、前記出力関数は、前記出力関数の利用可能で選択可能な関数であり、対応するそれぞれの生成された出力流量を有する、上昇関数、定常関数、および下降関数から選択された1つを含み、現在の出力流量と流量設定点との比較に基づい
て、前記上昇関数、前記定常関数、および前記下降関数から前記1つを選択する、ソフトウェアエミュレーションシステム。
【請求項2】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記ガス供給システムエミュレータは、前記1つ以上のソフトウェアモデル、前記複数のハードウェア構成要素を定義する構成データ、および、前記複数のハードウェア構成要素間の接続を定義するネットリストを用いてエミュレーションを実行するガスシミュレーションエンジンを備える、ソフトウェアエミュレーションシステム。
【請求項3】
請求項2に記載のソフトウェアエミュレーションシステムであって、
前記ガス供給システムエミュレータは、前記ガスシミュレーションエンジンを管理するガスシミュレーションエンジンマネジャを備える、ソフトウェアエミュレーションシステム。
【請求項4】
請求項3に記載のソフトウェアエミュレーションシステムであって、
前記ガスシミュレーションエンジンマネジャは、前記システムコントローラのプロセス制御アプリケーションとインタフェースをとって、前記構成データおよび前記ネットリストを生成する、ソフトウェアエミュレーションシステム。
【請求項5】
請求項2に記載のソフトウェアエミュレーションシステムであって、
前記ガスシミュレーションエンジンは、テストログファイルを選択的に生成する、ソフトウェアエミュレーションシステム。
【請求項6】
請求項2に記載のソフトウェアエミュレーションシステムであって、
前記ガス供給システムエミュレータによって実行されたエミュレーションは、前記システムコントローラの動作またはコーディングを変更することなく実行される、ソフトウェアエミュレーションシステム。
【請求項7】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記マスフローコントローラモデルは、前記現在の出力流量が前記流量設定点を中心とする所定範囲内であるときは第1の関数を用い、前記現在の出力流量が前記所定範囲未満であるときは第2の関数を用い、前記現在の出力流量が前記所定範囲より大きいときは第3の関数を用いる、ソフトウェアエミュレーションシステム。
【請求項8】
請求項
7に記載のソフトウェアエミュレーションシステムであって、
前記マスフローコントローラモデルは、前記第1の関数が動作するときにノイズを選択的に加えるノイズ発生器を備える、ソフトウェアエミュレーションシステム。
【請求項9】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記1つ以上のソフトウェアモデルの少なくとも1つは、通常エミュレーションモードおよび少なくとも1つの故障エミュレーションモードを含む、ソフトウェアエミュレーションシステム。
【請求項10】
基板処理システムのガス供給システムをテストするための方法であって、
前記基板処理システムのシステムコントローラから受信したデータパケットを、入出力バスおよびエミュレータバスのいずれかに送信する工程と、
前記データパケットを前記エミュレータバスから受信し、相互接続する前記ガス供給システムの複数のハードウェア構成要素のソフトウェアベースのエミュレーションを実行する工程と、
1つ以上のソフトウェアモデルを用いて前記複数のハードウェア構成要素をモデル化する工程と、を含み、
前記複数のハードウェア構成要素は、ガス
源およびマスフローコントロー
ラを含み、
前記1つ以上のソフトウェアモデルの少なくとも1つは、マスフローコントローラ
モデルを含み、
前記マスフローコントローラモデルは、出力関数の生成を含む前記マスフローコントローラをシミュレーションし、前記出力関数は、前記出力関数の利用可能で選択可能な関数であり、対応するそれぞれの生成された出力流量を有する、上昇関数、定常関数、および下降関数から選択された1つを含み、現在の出力流量と流量設定点との比較に基づいて
、前記上昇関数、前記定常関数、および前記下降関数から前記1つを選択する、方法。
【請求項11】
請求項10に記載の方法であって、さらに、
前記1つ以上のソフトウェアモデル、前記複数のハードウェア構成要素を定義する構成データ、および、前記複数のハードウェア構成要素間の接続を定義するネットリストに基づいてエミュレーションを実行する工程を含む、方法。
【請求項12】
請求項11に記載の方法であって、さらに、
前記システムコントローラのプロセス制御アプリケーションとインタフェースをとって、前記構成データおよび前記ネットリストを生成する工程を含む、方法。
【請求項13】
請求項11に記載の方法であって、さらに、
テストログファイルを選択的に生成する工程を含む、方法。
【請求項14】
請求項11に記載の方法であって、さらに、
前記システムコントローラの動作またはコーディングを変更することなく前記エミュレーションを実行する工程を含む、方法。
【請求項15】
請求項10に記載の方法であって、さらに、
前記現在の出力流量が前記流量設定点を中心とする所定範囲内であるときは第1の関数を用い、前記現在の出力流量が前記所定範囲未満であるときは第2の関数を用い、前記現在の出力流量が前記所定範囲より大きいときは第3の関数を用いる工程を含む、方法。
【請求項16】
請求項15に記載の方法であって、さらに、
前記第1の関数が動作するときにノイズを選択的に加えるノイズ発生器を用いる工程を含む、方法。
【請求項17】
請求項10に記載の方法であって、
前記1つ以上のソフトウェアモデルの少なくとも1つは、通常エミュレーションモードおよび少なくとも1つの故障エミュレーションモードを含む、方法。
【請求項18】
請求項10に記載の方法であって、
前記マスフローコントローラモデルは、前記現在の出力流量と前記流量設定点との比較に基づいて、前記上昇関数、前記定常関数、および前記下降関数から前記1つを選択し、弁および前記複数のハードウェア構成要素の少なくとも1つにフィードバックを提供して、前記上昇関数、前記定常関数、および前記下降関数の前記選択された1つに応じて前記現在の出力流量を調節する、方法。
【請求項19】
請求項10に記載の方法であって、
前記出力関数は、構成可能関数であり、関数設定パラメータに基づいて構成され、前記関数設定パラメータは、前記出力関数への入力とは異なる、方法。
【請求項20】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記ガス供給システムエミュレータは、入力パラメータに基づいて前記出力関数を変更するように構成され、前記入力パラメータは、
前記上昇関数の形状、
前記下降関数の形状、および
定常状態条件下の前記マスフローコントローラのノイズレベル
の少なくとも1つを含む、ソフトウェアエミュレーションシステム。
【請求項21】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記ガス供給システムエミュレータは、入力パラメータに基づいて前記出力関数を変更するように構成され、前記入力パラメータは、
前記上昇関数の形状、
前記下降関数の形状、および
定常状態条件下の前記マスフローコントローラのノイズレベルを含む、ソフトウェアエミュレーションシステム。
【請求項22】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記1つ以上のソフトウェアモデルの前記少なくとも1つは、最悪ケース挙動を定義する、ソフトウェアエミュレーションシステム。
【請求項23】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記上昇関数、前記定常関数、および前記下降関数は、前記それぞれの出力流量を直接生成する、ソフトウェアエミュレーションシステム。
【請求項24】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記マスフローコントローラモデルは、前記現在の出力流量と前記流量設定点との比較に基づいて、前記上昇関数、前記定常関数、および前記下降関数から1つを選択し、弁および前記複数のハードウェア構成要素の少なくとも1つにフィードバックを提供して、前記上昇関数、前記定常関数、および前記下降関数の前記選択された1つに応じて前記現在の出力流量を調節する、ソフトウェアエミュレーションシステム。
【請求項25】
請求項1に記載のソフトウェアエミュレーションシステムであって、
前記出力関数は、構成可能関数であり、関数設定パラメータに基づいて構成され、前記関数設定パラメータは、前記出力関数への入力とは異なる、ソフトウェアエミュレーションシステム。
【請求項26】
基板処理システムのガス供給システムのためのソフトウェアエミュレーションシステムであって、
入出力バスと、
エミュレータバスと、
データパケットを前記基板処理システムのシステムコントローラから前記入出力バスおよび前記エミュレータバスのいずれかに送信するように構成されたスイッチを含む入出力バスアダプタと、
前記エミュレータバスと通信するガス供給システムエミュレータであって、
前記入出力バスアダプタから前記エミュレータバスを通じて前記データパケットを受信し、
相互接続する前記ガス供給システムの複数のハードウェア構成要素のソフトウェアベースのエミュレーションを実行するように構成された、ガス供給システムエミュレータと、を備え、
前記複数のハードウェア構成要素は、1つ以上のソフトウェアモデルを用いて前記ガス供給システムエミュレータによってモデル化され、ガス源およびマスフローコントローラを含み、
前記1つ以上のソフトウェアモデルの少なくとも1つは、マスフローコントローラモデルを含み、
前記マスフローコントローラモデルは、前記マスフローコントローラをシミュレーションし、現在の出力流量と流量設定点との比較に基づいて、それぞれの出力流量を生成する複数の出力関数の1つを選択し、
前記マスフローコントローラモデルは、前記現在の出力流量が前記流量設定点を中心とする所定範囲内であるときは第1の関数を用い、前記現在の出力流量が前記所定範囲未満であるときは第2の関数を用い、前記現在の出力流量が前記所定範囲より大きいときは第3の関数を用い、
前記マスフローコントローラモデルは、前記第1の関数が動作する間にノイズを選択的に加えるノイズ発生器を備え、
前記ノイズは、前記第1の関数が動作する間に前記第1の関数に加えられ、
前記加えられたノイズは、定常状態条件で動作する間に受けたノイズをシミュレーションし、
ノイズは、前記第2の関数が動作する間は前記第2の関数に加えられず、
ノイズは、前記第3の関数が動作する間は前記第3の関数に加えられない、ソフトウェアエミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2018年9月4日出願の米国特許出願第16/120,846号に対する優先権を主張する。上記出願の全ての開示は、参照として本明細書に援用される。
【0002】
本開示は基板処理システムに関し、特に、基板処理システムのガス供給システムにおけるハードウェア構成要素のためのソフトウェアエミュレータに関する。
【背景技術】
【0003】
本明細書に記載の背景技術の説明は、本開示の内容を一般的に提示するためである。現在名前が挙げられている発明者の発明は、本背景技術欄、および出願時の先行技術に該当しない説明の態様において記載される範囲で、本開示に対する先行技術として明示的にも黙示的にも認められない。
【0004】
基板処理システムは、半導体ウエハなどの基板のエッチング、堆積、および/または、他の処理を実施するのに用いられてよい。基板上で実施されうるプロセスの例は、化学蒸着(CVD)、プラズマ強化化学蒸着(PECVD)、原子層堆積(ALD)、原子層エッチング(ALE)、プラズマ強化原子層堆積(PEALD)、ならびに/または、他のエッチングプロセス、堆積プロセス、および洗浄プロセスを含むが、これらに限定されない。
【0005】
処理の間、基板は基板処理システムの処理チャンバ内の基板支持体(台座、静電チャック(ESC)など)の上に配置される。基板を処理するために、1つ以上のガスの混合物がガス供給システムによって処理チャンバに導入される。ガス源、ガスライン、弁、およびマスフローコントローラ(MFC)を備えるガス供給システムは、1つ以上の処理チャンバにガス混合物を供給するのに用いられてよい。処理チャンバ内の化学反応を促進するために、処理の間にプラズマが衝突してよい。イオンエネルギを制御するために、基板支持体にRFバイアスが供給されてもよい。
【0006】
特定のレシピおよび/またはハードウェア構成を開発するときは、基板処理システムおよびガス供給システムをテストして、意図する動作を確かめる必要がある。さらに、システムコントローラは、検出されたパラメータ(例えば、流量、温度、および/または圧力)に基づいて生じるいくつかの欠陥を診断できなければならない。
【発明の概要】
【0007】
基板処理システムのガス供給システムのためのソフトウェアエミュレーションシステムは、入出力バスおよびエミュレータバスを備える。入出力バスアダプタは、データパケットを基板処理システムのシステムコントローラから入出力バスおよびエミュレータバスのいずれかに送信するように構成されたスイッチを備える。エミュレータバスと通信するガス供給システムエミュレータは、入出力バスアダプタからエミュレータバスを通じてデータパケットを受信し、相互接続したガス供給システムの複数のハードウェア構成要素のソフトウェアベースのエミュレーションを実行するように構成されている。複数のハードウェア構成要素は、1つ以上のソフトウェアモデルを用いてモデル化され、ガス源と、弁およびマスフローコントローラの少なくとも1つとを含む。
【0008】
他の特徴では、ガス供給システムエミュレータは、1つ以上のソフトウェアモデル、複数のハードウェア構成要素を定義する構成データ、および、複数のハードウェア構成要素間の接続を定義するネットリストを用いてエミュレーションを実行するガスシミュレーションエンジンを備える。
【0009】
他の特徴では、ガス供給システムエミュレータは、ガスシミュレーションエンジンを管理するガスシミュレーションエンジンマネジャを備える。ガスシミュレーションエンジンマネジャは、システムコントローラのプロセス制御アプリケーションとインタフェースをとって、構成データおよびネットリストを生成する。ガスシミュレーションエンジンは、テストログファイルを選択的に生成する。
【0010】
他の特徴では、ガス供給システムエミュレータによって実行されるエミュレーションは、システムコントローラの動作またはコーディングを変更することなく実行される。
【0011】
さらに他の特徴では、1つ以上のソフトウェアモデルの少なくとも1つは、マスフローコントローラをシミュレートし、出力流量と流量設定点との比較に基づいて複数の出力関数から1つを選択するマスフローコントローラモデルを含む。マスフローコントローラモデルは、出力流量が流量設定点を中心とする所定範囲内であるときは第1の関数を用い、出力流量が所定範囲未満であるときは第2の関数を用い、出力流量が所定範囲より大きいときは第3の関数を用いる。
【0012】
他の特徴では、マスフローコントローラモデルは、第1の関数が動作するときにノイズを選択的に加えるノイズ発生器を備える。
【0013】
他の特徴では、1つ以上のソフトウェアモジュールの少なくとも1つは、通常エミュレーションモードおよび少なくとも1つの欠陥エミュレーションモードを含む。
【0014】
基板処理システムのガス供給システムをテストするための方法は、基板処理システムのシステムコントローラから受信したデータパケットを入出力バスおよびエミュレータバスのいずれかに送信する工程と、データパケットをエミュレータバスから受信し、相互接続するガス供給システムの複数のハードウェア構成要素のソフトウェアベースのエミュレーションを実行する工程と、1つ以上のソフトウェアモデルを用いて複数のハードウェア構成要素をモデル化する工程と、を含む。複数のハードウェア構成要素は、ガス源と、弁およびマスフローコントローラの少なくとも1つと、を含む。
【0015】
他の特徴では、この方法は、1つ以上のソフトウェアモデル、複数のハードウェア構成要素を定義する構成データ、および複数のハードウェア構成要素間の接続を定義するネットリストに基づいてエミュレーションを実行する工程を含む。この方法は、システムコントローラのプロセス制御アプリケーションとインタフェースをとって構成データおよびネットリストを生成する工程を含む。この方法は、テストログファイルを選択的に生成する工程を含む。
【0016】
他の特徴では、この方法は、システムコントローラの動作またはコーディングを変更することなくエミュレーションを実行する工程を含む。1つ以上のソフトウェアモデルの少なくとも1つは、ハードウェアマスフローコントローラをシミュレートし、出力流量と流量設定点との比較に基づいて複数の出力関数から1つを選択するマスフローコントローラモデルを含む。
【0017】
他の特徴では、この方法は、出力流量が流量設定点を中心とする所定範囲内であるときは第1の関数を用い、出力流量が所定範囲未満であるときは第2の関数を用い、出力流量が所定範囲より大きいときは第3の関数を用いる工程を含む。
【0018】
他の特徴では、この方法は、第1の関数が動作するときにノイズを選択的に加えるノイズ発生器を用いる工程を含む。1つ以上のソフトウェアモジュールの少なくとも1つは、通常エミュレーションモードおよび少なくとも1つの欠陥エミュレーションモードを含む。
【0019】
本開示のさらなる適用分野は、発明を実施するための形態、特許請求の範囲、および図面から明らかになるだろう。発明を実施するための形態および特定の例は説明の目的のみを意図し、本開示の範囲を限定する意図はない。
【図面の簡単な説明】
【0020】
本開示は、発明を実施するための形態および添付の図面からより深く理解されるだろう。
【0021】
【
図1】本開示による例示的な基板処理システムの機能ブロック図。
【0022】
【
図2】
図1の基板処理システムのための例示的なガス供給システムの機能ブロック図。
【0023】
【
図3A】本開示による、ハードウェア構成要素の定義のリストおよびハードウェア構成要素の接続のネットリストを含む構成ファイルを生成するソフトウェアエミュレーションシステムの機能ブロック図。
【0024】
【
図3B】ガス供給システムのハードウェア構成要素のための例示的なソフトウェアベースのエミュレータの機能ブロック図。
【0025】
【
図4】本開示による例示的なサーバの機能ブロック図。
【0026】
【
図5】本開示によるエミュレータ拡張機能またはソフトウェアスイッチを有する例示的なI/Oバスアダプタ。
【0027】
【
図6】本開示による例示的なガス供給システムエミュレータの機能ブロック図。
【0028】
【
図7】本開示によるガス供給システムのエミュレーション中の例示的な情報フローモデル。
【0029】
【
図8】本開示による例示的なマスフローコントローラ(MFC)エミュレータの機能ブロック図。
【0030】
図面では、類似のおよび/または同一の要素を特定するために参照番号は繰り返し用いられてよい。
【発明を実施するための形態】
【0031】
システムコントローラは、ガス供給システム、処理チャンバ、およびレシピのトポロジに基づいて構成されたプロセス制御アプリケーションを実施する。レシピは、動作パラメータ(例えば、1つ以上のガスの混合物の1つ以上のガスの供給タイミング、弁制御のタイミング、RF電力のタイミング、およびRFバイアスのタイミング)、加熱器、RF電力源、およびRFバイアス源に供給される電力レベル、流量などを定義する。
【0032】
システムコントローラは、1つ以上のセンサからフィードバック値を受信し、1つ以上のアクチュエータを制御する。アクチュエータの例は、マスフローコントローラ、弁、抵抗発熱体、RFバイアス源、RF電源、および/または、他のアクチュエータを含む。センサの例は、温度センサ、圧力センサ、流量センサなどを含む。システムコントローラはレシピに従い、センサからのフィードバックに基づいてアクチュエータへの調節を行う。新しいプロセスが開発されたときは、基板の製造処理が開始する前にハードウェア構成要素の広域テストが実行される。テストは通常、高価で時間がかかる。
【0033】
いくつかの制御アプリケーションは、テストを容易にするための限定的なソフトウェアシミュレーション関数を含む。ソフトウェアシミュレーション関数は、接続するハードウェア構成要素のいくつかをシミュレートしようと試みる。しかし、ソフトウェアシミュレーションは通常、プロセス制御アプリケーションにおけるコードのごく一部のみを実行することができる。限定的なソフトウェアシミュレーションを実行するために、ユーザは呼び出し関数に肯定応答もしくは「OK」を返信する、および/または、フラグを立てる。しかし、タイミングおよび待ち時間は通常、実際のプロセスとは異なる。さらに、ハードウェアの障害シナリオのテストは可能ではない。よって、この手法は理想的ではない。
【0034】
また、この手法は通常、制御アプリケーションの上位ソフトウェア層のみをテストし、通常はソフトウェアドライバまたは下位ソフトウェア層に見られる他の関数をテストしない。他のシステムは、1つ以上のハードウェア構成要素からの以前記録された応答の再生に依存して、構成要素の動作をシミュレートし、プロセス制御アプリケーションをテストする。
【0035】
本開示によるシステムおよび方法は、基板処理システムのガス供給システムの相互接続したハードウェア構成要素をエミュレートするためのソフトウェアエミュレータを含む。ガス供給システムの制御アプリケーションは、通常動作の間に実行するのと同じ方法で実行する。ソフトウェアエミュレータの各ソフトウェアモジュールは、特定のハードウェア構成要素(例えば、弁、マスフローコントローラ、ガスライン、または他のハードウェア構成要素)をエミュレートする。
【0036】
設定の間、ソフトウェアエミュレータは制御アプリケーションとインタフェースをとって、ハードウェア構成要素情報(例えば、名前、種類、位置、およびエミュレートされたパラメータ)を含む構成ファイル、ならびに、(ハードウェア構成要素の接続に相当する)エミュレートされたハードウェア構成要素の相互接続を定義するネットリストを自動的に生成する。構成ファイル、ネットリスト、およびシミュレーションモデルは、正常挙動、最悪ケースの挙動、および/または欠陥挙動をエミュレートするのに用いられる。
【0037】
説明のために、例示的な基板処理システムおよびガスボックスが
図1および
図2に議論の目的で示されている。理解できるように、本明細書に記載のソフトウェアエミュレータは、他の基板処理システムおよび/またはガス供給システムにも用いることができる。
【0038】
ここで
図1を参照すると、例示的な基板処理システム120が示されている。容量結合プラズマ(CCP)を用いる処理チャンバの例が示されているが、本明細書に記載のエミュレータは他の種類の基板処理システムにも用いることができる。例えば、本明細書に記載のエミュレータは、プラズマなしで、リモートプラズマまたは誘導結合プラズマ(ICP)を用いて、基板処理システムで用いることができる。また、本明細書に記載のシステムおよび方法は、あらゆる他のガス供給システムまたは流体供給システムにおいて用いることができる。
【0039】
基板処理システム120は、基板処理システム120の他の構成部品を囲み、RFプラズマ(用いられる場合)を含む処理チャンバ122を備える。基板処理システム120は、上部電極124および基板支持体126(例えば、静電チャック(ESC))を備える。動作の間、基板128は基板支持体126の上に配置される。
【0040】
例えのみで、上部電極124は、プロセスガスを導入および分配するシャワーヘッドなどのガス分配装置129を備えてよい。ガス分配装置129は、処理チャンバの上面に接続された一端を有するステム部を含んでよい。基部は一般に円筒形であり、処理チャンバの上面から離れた位置でステム部のもう一端から径方向外向きに伸びる。シャワーヘッドの基部の基板対向面またはフェースプレートは、前駆体、反応物、エッチングガス、不活性ガス、キャリアガス、他の処理ガス、またはパージガスが流れる複数の穴を含む。あるいは、上部電極124は導電性プレートを備え、プロセスガスは別の方法で導入されてよい。
【0041】
基板支持体126は、下部電極として機能するベースプレート130を備える。ベースプレート130は、セラミック製のマルチゾーン加熱プレートに相当しうる加熱プレート132を支持する。加熱プレート132とベースプレート130との間には、熱抵抗層134が配置されてよい。ベースプレート130は、ベースプレート130を通って冷媒を流すための1つ以上の流路136を備えてよい。
【0042】
プラズマが用いられる場合は、RF生成システム140はRF電圧を生成し、上部電極124および下部電極(例えば、基板支持体126のベースプレート130)のいずれか一方に出力する。上部電極124およびベースプレート130のもう一方はDC接地されてよい、AC接地されてよい、または浮遊状態であってよい。例えのみで、RF生成システム140は、整合分配ネットワーク144によって上部電極124またはベースプレート130に供給されるRF電力を生成するRF発生器142を備えてよい。他の例では、プラズマは誘電的または遠隔的に生成されてよい。
【0043】
ガス供給システム150は、動作中に1つ以上のガスの混合物(例えば、プロセスガス混合物、プラズマガス混合物、パージガス)を供給する、ガスボックス、ガス管、弁、マスフローコントローラなどを備える。単一のガス供給システム150が示されているが、2つ以上のガス供給システムを用いることもできる。
【0044】
温度コントローラ163は、加熱プレート132に配置された複数の熱制御素子(TCE)164に接続されてよい。温度コントローラ163は、基板支持体126および基板128の温度を制御するように複数のTCE164を制御するのに用いられてよい。温度コントローラ163は、冷媒アセンブリ166と連通して流路136を通る冷媒流を制御してよい。例えば、冷媒アセンブリ166は、冷媒ポンプ、貯留槽、および/または、1つ以上の温度センサを備えてよい。温度コントローラ163は、基板支持体126を冷却するために流路136を通る冷媒を選択的に流すように冷媒アセンブリ166を操作する。弁170およびポンプ172は、処理チャンバ122から反応物を排出するのに用いられてよい。システムコントローラ180は、基板処理システム120の構成部品を制御するのに用いられてよい。システムコントローラ180は、プロセス制御アプリケーション181を実行する。
【0045】
次に
図2を参照すると、ガス供給システム150またはガスボックスの一部が示されている。ガス源210-1、ガス源210-2、・・・、およびガス源210-G(総称して、ガス源210)は、一次弁220-1、一次弁220-2、・・・、および一次弁220-G(Gは1より大きい整数)(総称して、一次弁220)、マスフローコントローラ(MFC)230-1、MFC230-2、・・・、およびMFC230-G(総称して、MFC230)、ならびに二次弁234-1、二次弁234-2、・・・、および二次弁234-G(総称して、二次弁234)を含む流量制御装置に接続されている。二次弁234の出力は混合マニホルド235に接続され、弁242への入力である。弁242は、ガス供給システム150に関連付けられた処理チャンバへのガスラインに流れるガスに関連付けられている。
【0046】
次に
図3Aを参照すると、ソフトウェアエミュレーションシステム310は、システムコントローラ180のプロセス制御アプリケーション181と通信し、ガスシミュレーションエンジン(GSE)構成ファイル314を生成するGSEマネジャ312を含む。特定のハードウェアの設定のためのGSE構成ファイル314は、名前、種類、出力または入力、位置、およびエミュレーションパラメータを定義する各ハードウェア構成要素のソフトウェアモジュール定義のリスト316を含む。各ソフトウェアモジュールは、リストの1つ以上の行によって定義されてよい(例えば、以下のMFC15参照)。モジュール定義の一部の例のリストは、以下の表1に示されている。
【表1】
【0047】
GSE構成ファイル314は、ソフトウェアモジュールの接続を定義するネットリストも含む。ネットリストの部分的な例は、以下の表2に示されている。
【表2】
【0048】
以下にさらに説明されるように、各種類のソフトウェアモジュールは、そのハードウェア部の挙動を定義するモデルを含む。いくつかの種類のソフトウェアモジュールは、1つ以上の最悪ケース挙動および/または故障モードも定義するだろう。ソフトウェアモジュールの定義およびネットリストが生成されると、テストが開始されうる。
【0049】
エミュレートされた構成要素は、ノードおよび1つ以上のノードクラスによって定義される。各種類のノードは、ハードウェアモジュール(MFC、弁、センサなど)の挙動を定義するシミュレーションモデルクラスを有しうる。ネットリストはトポロジを定義し、ネイバおよび多重度(例えば、パイプライン)についての情報を含む。パイプラインは、パイプハードウェア(流れ抵抗など)の挙動を詳しく説明する定義されたシミュレーションクラスを有しうる。
【0050】
次に
図3Bを参照すると、基板処理システムのハードウェア構成要素のための例示的なソフトウェアエミュレーションシステム300がさらに詳しく示されている。ソフトウェアエミュレーションシステム300は、入出力(I/O)バスアダプタ324と通信するツール制御ソフトウェア320を含む。I/Oバスアダプタ324は、エミュレータ拡張機能またはソフトウェアスイッチ325を備える。ソフトウェアスイッチ325は、データパケットがハードウェア構成要素のためかソフトウェアモジュールのためかに応じてデータパケットを異なるように送信する(そうでなければ、データパケットは同じ)。I/Oバスアダプタ324は、I/Oバス328を通じてデータパケットを転送および受信する。I/Oバス328は、1つ以上のハードウェア構成要素332-1、ハードウェア構成要素332-2、・・・、およびハードウェア構成要素332-H(総称して、ハードウェア構成要素332)にも接続されている。
【0051】
I/Oバスアダプタ324は、エミュレータバス340を通じてデータパケットを転送および受信する。エミュレータバス340は、1つ以上のソフトウェアベースのハードウェアエミュレーションモジュール344-1、ハードウェアエミュレーションモジュール344-2、・・・、およびハードウェアエミュレーションモジュール344-H(総称して、ハードウェアエミュレーションモジュール344)と通信する。ソフトウェアベースのハードウェアエミュレーションモジュール344は、ハードウェア構成要素(例えば、弁、マスフローコントローラ、ガス供給システム、ガスライン)をエミュレートするモデルを含む。各モデルの応答は、入力、時間、流量、圧力、および/または他の物理変数の関数である。エミュレータの応答は、エミュレータにおける全ての相互接続したモデルの関数でもある。いくつかの例では、モデルのデフォルトモードまたは通常モードは「ベストケース」であり、良好に機能するハードウェア構成要素に等しい。モデル属性を変更することで、異なる故障ケースをエミュレートできる。
【0052】
I/Oバスアダプタ324は、ソフトウェアモジュールのデータパケットをエミュレータバス340に送信する。他のデータパケットは、I/Oバス328に送信される。この層での送信情報は、異なる種類のI/Oバスのへの統合を簡素化する。相互接続した相互依存の構成要素の基本原則、および、物理レベルのこれらの構成要素のソフトウェアモデリングは、異なるハードウェア構成要素に適用される。
【0053】
システムコントローラおよび/またはエミュレーションシステムは、共通サーバまたは1つ以上の異なるサーバで実行することができる。ここで
図4を参照すると、本開示による例示的なサーバ400が示されている。サーバ400は、1つ以上のプロセッサ420およびメモリ430を含む。メモリ430は、オペレーティングシステム434および1つ以上のアプリケーション438を格納する。アプリケーション438は、プロセス制御アプリケーションおよび/またはエミュレーションシステムを含む。
【0054】
サーバ400はさらに、1つ以上のハードディスクドライブまたは他の大容量メモリなどの大容量記憶装置442を備える。サーバ400は、分散通信システム448(例えば、ローカルエリアネットワーク、広域ネットワーク、インターネット)を通じて他の装置と通信するネットワークインタフェース446を備える。サーバ400は、1つ以上の入力装置450と、ディスプレイ456を含む表示システム454とを備えてよい。
【0055】
次に
図5を参照すると、エミュレータ拡張機能を有するI/Oバスアダプタ324の動作が示されている。I/Oバスアダプタ324は、ハードウェア構成要素またはハードウェア構成要素をエミュレートするソフトウェアモジュールと交換するための情報を作成する。例えば、プロセス制御アプリケーション510は、エミュレートされたI/Oオブジェクト512-1、エミュレートされたI/Oオブジェクト512-2、およびエミュレートされたI/Oオブジェクト512-3(総称して、エミュレートされたI/Oオブジェクト512)、ならびに、ハードウェアI/Oオブジェクト514-1およびハードウェアI/Oオブジェクト514-2を含むデータストリームを転送および受信する。
【0056】
データストリームのサブセットは、エミュレートされたI/Oオブジェクト512-1、エミュレートされたI/Oオブジェクト512-2、およびエミュレートされたI/Oオブジェクト512-3に対するバスデータパケット522-1、バスデータパケット522-2、およびバスデータパケット522-3を含む。バスデータパケット522-1、バスデータパケット522-2、およびバスデータパケット522-3は、エミュレータバス340を通じてエミュレータパケット532-1、エミュレータパケット532-2、およびエミュレータパケット532-3(総称して、エミュレータパケット532)として送信される。プロセス制御アプリケーション510からのデータストリームの別の部分は、ハードウェアI/Oオブジェクト514-1およびハードウェアI/Oオブジェクト514-2からのバスデータパケット524-1およびバスデータパケット514-2を含む。バスデータパケット524-1およびバスデータパケット514-2は通常、I/Oバス328を通じて対応するハードウェア構成要素332に送信される。
【0057】
ソフトウェアエミュレーションシステムが動作したときは、ソフトウェアスイッチは、エミュレータパケットを含むデータストリームのサブセットを識別し、エミュレータバスに送信する。データパケットは、エミュレートされたハードウェア構成要素の情報を含む。エミュレータバス340に関連付けられたエミュレータバスドライバは、エミュレータパケットを接続するエミュレータに送信する。
【0058】
モデルはハードウェア構成要素をエミュレートし、ソフトウェアで相互接続する。各ハードウェア構成要素(MFC、弁、ガス供給システムなど)は、挙動、応答、伝達関数、および/または故障ケースを定義する関連モデリングクラスを有する。モデルの挙動は、時間、モデル入力、その能力、および/またはトポロジの関数である。
【0059】
図6にはガスボックスエミュレータ600が示されている。ガスボックスエミュレータ600は、エミュレータバス340を通じて制御アプリケーションと通信するガスシミュレーションエンジン610を備える。ガスシミュレーションエンジン610は読み込みを行い、ガスシミュレーションエンジン構成ファイル630によって構成される。
【0060】
ガスボックスエミュレータ600はさらに、ガスシミュレーションエンジン610の動作を管理するガスシミュレーションエンジンマネジャ620を含む。ガスボックスエミュレータ600はさらに、テストルーチンを定義し実行できるようにするテスト自動化マネジャ650を含む。テストルーチンは、制御ソフトウェアがテスト手順を実行している間に実行される故障ケースを含む、異なるハードウェア使用ケースをエミュレートする。ガスボックスエミュレータ600は、テスト中にデータ(入力、出力、エラーコードなど)を格納するテストログファイル640にデータを書き込む。
【0061】
次に
図7を参照すると、ガスエミュレーション中の情報フローが示されている。テスト710の対象デバイス(例えば、プロセス制御アプリケーション)は、714でガスボックス出力を送信し、716でガス出力データストリームを生成する。ガスボックス入力への応答は、ガスボックス入力ストリーム728を通じて724で受信される。ガスボックスエミュレータは、730においてガスボックスエンジン732に設定値を書き込む。
【0062】
ガスボックスエミュレータは、744においてモデルを計算し、ガスボックスエンジン732に更新を提供する。いくつかの例では、ガスボックスエミュレータは、736においてガスボックスエンジン732から値(フロー状態への更新など)を読み込む。テスト710の対象デバイスは、設定値(弁(ID、オンオフ状態)、MFC_SetPoint(id、set_value)など)を送信する。テスト対象デバイスは、フィードバック(MFC(id、actual_flow)など)を受信する。個々のハードウェア構成要素(MFC、弁など)は、独立してモデル化される。
【0063】
いくつかの例では、テスト自動化マネジャ650は、ガスシミュレーションエンジン610の1つ以上のエミュレートされた構成要素の挙動を変更することにより、通常動作モード(または、ベストモード)および1つ以上の故障ケースをテストするためのテストエージェントを用いる。例えば、通常は標準立ち上がり時間で開く弁は、立ち上がり時間後に開き、次にすばやく複数回開閉し、そして全開するようにプログラムすることができる。
【0064】
次に
図8を参照すると、例示的なマスフローコントローラ(MFC)モデルが示されている。MFCモデルは、本開示によるMFCエミュレータモジュールに実装される。テスト810の対象デバイス(プロセス制御アプリケーション)は、MFCシミュレーションモデル824と通信する。MFCシミュレーションモデル824は、1つ以上の他のハードウェア構成要素またはノードと接続する入力820を備える。MFCシミュレーションモデル824は、1つ以上の他のハードウェア構成要素またはノードと接続する出力826を備える。いくつかの例では、MFCシミュレーションモデル824は、830の立ち上がり位相、834の定常位相、および838の立ち下がり位相に対応する第1の関数、第2の関数、および第3の関数を実行する。MFCシミュレーションモデル824は、定常位相関数834に入力するノイズを加えるノイズ発生器840を備えてよい。エミュレートされたガスボックスの各ハードウェア構成要素は、必要に応じて詳しくハードウェアをエミュレートする独特のシミュレーションモデルを有しうる。シミュレーションモデルの入力およびソースの数は制限されない。
【0065】
いくつかの例では、MFCモデルはf_out=func(f_in、パラメータ)に等しく設定される。func()は、入力パラメータに基づき変化する関数である。func()は、f_outputがf_set_pointよりも所定量だけ少ないときにF_rising()に等しく設定される。func()は、f_outがf_set_pointの所定範囲内であるときはF_steady()に等しく設定される。func()は、f_outがf_set_pointよりも所定量だけ大きいときはF_falling()に等しく設定される。いくつかの例では、ノイズは定常状態条件において発生する。
【0066】
いくつかの例では、モデルのパラメータはテストエージェントによって設定および変更できる。いくつかの例では、設定および変更が可能なパラメータは、定常状態条件下の立ち上がり位置の形状、立ち下がり位置の形状、およびノイズレベルを含む。
【0067】
本開示によるソフトウェアエミュレーションシステムは、ハードウェアに依存するソフトウェア検証に関連する問題の多くを解決する。例えば、ソフトウェアエミュレーションシステムは、ソフトウェアシミュレーションおよびハードウェアのテストスタンドを排除する。また、ソフトウェアエミュレーションシステムは、プロセス制御アプリケーションを変更する必要なしにハードウェア構成要素のための新しいテスト手順を実行する。ソフトウェアエミュレーションシステムは、追加費用なしで向上したコードテストカバレッジを提供する。ソフトウェアエミュレーションシステムは、リアルタムで基板処理システムのハードウェア構成要素をエミュレートし、実際にハードウェアが存在するかのように応答を提供する。
【0068】
上述の説明は本質的に単なる例示であり、本開示、その適用、または使用を限定する意図はない。本開示の広義の教示は、様々な形態で実施することができる。よって、本開示は特定の例を含むが、図面、明細書、以下の特許請求の範囲を検討すると他の変形が明らかになるため、本開示の真の範囲はそれほど限定されるべきでない。方法内の1つ以上の工程は、本開示の原理を変更することなく異なる順番で(または、同時に)実行してよいことを理解されたい。さらに、各実施形態は特定の特徴を有するように上述されているが、本開示のあらゆる実施形態に関して記載された1つ以上のこれらの特徴は、他の実施形態において、および/または、他の実施形態の特徴と組み合わせて(その組み合わせが明記されていないとしても)実施できる。つまり、記載の実施形態は相互に排他的ではなく、1つ以上の実施形態を互いに並べ替えることは本開示の範囲内である。
【0069】
要素間(例えば、モジュール間、回路素子間、半導体層間など)の空間的および機能的関係は、「接続された」、「係合された」、「結合された」、「隣接する」、「近接する」、「上に」、「上方」、「下方」、および「配置された」を含む様々な用語を用いて説明される。第1の要素と第2の要素との関係が上記の開示で説明されるときは、「直接的」であると明記されない限り、その関係は、第1の要素と第2の要素との間に他の要素が介在しない直接的関係でありうるが、第1の要素と第2の要素との間に(空間的または機能的に)1つ以上の介在要素が存在する間接的関係でもありうる。本明細書では、A、B、およびCのうちの少なくとも1つという表現は、非排他的論理、OR、を用いる論理(A OR B OR C)を意味すると解釈されるべきであり、「Aのうちの少なくとも1つ、Bのうちの少なくとも1つ、およびCのうちの少なくとも1つ」を意味すると解釈されるべきではない。
【0070】
いくつかの実施形態では、コントローラは、上記の例の一部でありうるシステムの一部である。かかるシステムは、処理ツール、チャンバ、処理用プラットフォーム、および/または、特定の処理部品(ウエハ台座、ガス流システムなど)を含む半導体処理装置を含みうる。これらのシステムは、半導体ウエハまたは基板の処理前、処理中、および処理後の動作を制御するための電子機器と統合されてよい。電子機器は、システムの様々な部品または副部品を制御しうる「コントローラ」を意味してよい。コントローラは、処理条件および/またはシステムの種類に応じて、プロセスガスの供給、温度設定(例えば、加熱および/または冷却)、圧力設定、真空設定、電力設定、高周波(RF)生成器設定、RF整合回路設定、周波数設定、流量設定、流体供給設定、位置動作設定、ツールおよび他の搬送ツールに対するウエハ搬入出、ならびに/または、特定のシステムに接続もしくは結合されたロードロックに対するウエハ搬入出など、本開示に記載のプロセスを制御するようにプログラムされてよい。
【0071】
概してコントローラは、命令を受信し、命令を発行し、動作を制御し、洗浄動作を可能にし、エンドポイント測定を可能にするなどの様々な集積回路、ロジック、メモリ、および/または、ソフトウェアを有する電子機器として定義されてよい。集積回路は、プログラム命令を記憶するファームウェア形式のチップ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)として定義されるチップ、および/または、プログラム命令(例えば、ソフトウェア)を実行する1つ以上のマイクロプロセッサもしくはマイクロコントローラを含んでよい。プログラム命令は、様々な個別設定(または、プログラムファイル)の形式でコントローラに伝達される命令であって、特定のプロセスを半導体ウエハ上でもしくは半導体ウエハ向けに、またはシステムに対して実行するための動作パラメータを定義してよい。いくつかの実施形態では、動作パラメータは、1つ以上の層、材料、金属、酸化物、シリコン、二酸化シリコン、表面、回路、および/または、ウエハダイの製造中における1つ以上の処理工程を実現するために、プロセスエンジニアによって定義されるレシピの一部であってよい。
【0072】
いくつかの実施形態では、コントローラは、システムと統合もしくは結合された、そうでなければシステムにネットワーク接続された、もしくはこれらが組み合わされたコンピュータの一部であってよく、またはそのコンピュータに結合されてよい。例えば、コントローラは、ウエハ処理のリモートアクセスを可能にする「クラウド」内にあってよい、またはファブホストコンピュータシステムの全てもしくは一部であってよい。コンピュータは、システムへのリモートアクセスを可能にして、製造動作の進捗状況を監視し、過去の製造動作の経歴を調査し、複数の製造動作から傾向または実施の基準を調査して、現在の処理のパラメータを変更し、現在の処理に続く処理工程を設定し、または、新しいプロセスを開始してよい。いくつかの例では、リモートコンピュータ(例えば、サーバ)は、ローカルネットワークまたはインターネットを含みうるネットワークを通じて、プロセスレシピをシステムに提供できる。リモートコンピュータは、次にリモートコンピュータからシステムに伝達されるパラメータおよび/もしくは設定のエントリまたはプログラミングを可能にするユーザインタフェースを含んでよい。いくつかの例では、コントローラは、1つ以上の動作中に実施される各処理工程のパラメータを特定するデータ形式の命令を受信する。パラメータは、実施されるプロセスの種類、および、コントローラが接続するまたは制御するように構成されたツールの種類に固有であってよいことを理解されたい。よって、上述のようにコントローラは、例えば互いにネットワーク接続する1つ以上の別々のコントローラを含むことと、本明細書に記載のプロセスや制御などの共通の目的に向けて協働することとによって分散されてよい。かかる目的で分散されたコントローラの例は、遠隔に(例えば、プラットフォームレベルで、または、リモートコンピュータの一部として)設置され、協働してチャンバにおけるプロセスを制御する1つ以上の集積回路と連通する、チャンバ上の1つ以上の集積回路だろう。
【0073】
制限するのではなく、例示のシステムは、プラズマエッチングチャンバまたはプラズマエッチングモジュール、堆積チャンバまたは堆積モジュール、スピンリンスチャンバまたはスピンリンスモジュール、金属めっきチャンバまたは金属めっきモジュール、洗浄チャンバまたは洗浄モジュール、ベベルエッジエッチングチャンバまたはベベルエッジエッチングモジュール、物理蒸着(PVD)チャンバまたはPVDモジュール、化学蒸着(CVD)チャンバまたはCVDモジュール、原子層堆積(ALD)チャンバまたはALDモジュール、原子層エッチング(ALE)チャンバまたはALEモジュール、イオン注入チャンバまたはイオン注入モジュール、トラックチャンバまたはトラックモジュール、ならびに、半導体ウエハの製作および/もしくは製造において関連もしくは使用しうる他の半導体処理システムを含んでよい。
【0074】
上述のように、ツールによって実施されるプロセス工程に応じて、コントローラは、他のツール回路もしくはモジュール、他のツール部品、クラスタツール、他のツールインタフェース、隣接するツール、近接するツール、工場全体に設置されたツール、メインコンピュータ、別のコントローラ、または、半導体製造工場においてツール位置および/もしくはロードポートに対してウエハ容器を搬入出する材料搬送に用いられるツール、のうちの1つ以上と連通しうる。