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

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

▶ アプライド マテリアルズ インコーポレイテッドの特許一覧

特表2024-539809洗浄プロセスシーケンス管理のための方法およびシステム
<>
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図1
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図2
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図3A
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図3B
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図3C
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図4A
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図4B
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図5
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図6
  • 特表-洗浄プロセスシーケンス管理のための方法およびシステム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】洗浄プロセスシーケンス管理のための方法およびシステム
(51)【国際特許分類】
   H01L 21/02 20060101AFI20241024BHJP
【FI】
H01L21/02 Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024503885
(86)(22)【出願日】2022-10-21
(85)【翻訳文提出日】2024-03-12
(86)【国際出願番号】 US2022047471
(87)【国際公開番号】W WO2023086195
(87)【国際公開日】2023-05-19
(31)【優先権主張番号】17/522,634
(32)【優先日】2021-11-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
【住所又は居所原語表記】3050 Bowers Avenue Santa Clara CA 95054 U.S.A.
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ワン, チョンヤン シー.
(57)【要約】
洗浄プロセスシーケンス管理のための方法およびシステムが提供される。クライアントデバイスから、製造システムにおける基板プロセスと関連付けられた洗浄処理のシーケンスを示すものが受信される。製造システムのプロセスチャンバにおける洗浄プロセスの間に洗浄処理のシーケンスの開始をトリガする1つまたは複数の洗浄基準を示すものも受信される。洗浄処理のシーケンスに対応する命令のセットが生成される。1つまたは複数の洗浄基準のうちの少なくとも1つが満たされることを検出することに応答して、生成された命令のセットを実行して、プロセスチャンバにおいて洗浄処理のシーケンスを開始する。
【選択図】図5
【特許請求の範囲】
【請求項1】
製造システムに結合されるクライアントデバイスから、前記製造システムにおける複数の基板プロセスのうちの少なくとも1つと関連付けられた洗浄処理のシーケンスを示すもの、および、前記製造システムのプロセスチャンバにおける洗浄プロセスの間に前記洗浄処理のシーケンスの開始をトリガする1つまたは複数の洗浄基準を示すものを受信することと、
前記洗浄処理のシーケンスに対応する命令のセットを生成することと、
前記1つまたは複数の洗浄基準のうちの少なくとも1つが満たされることを検出することに応答して、前記生成された命令のセットを実行して、前記プロセスチャンバにおいて前記洗浄処理のシーケンスを開始することと、を含む、方法。
【請求項2】
前記洗浄処理のシーケンスに対応する前記命令のセットを生成することは、
前記クライアントデバイスから受信した前記1つまたは複数の洗浄基準を考慮して前記洗浄処理のシーケンスと関連付けられたトリガ条件を決定することと、
前記決定されたトリガ条件を考慮して意味的依存関係木を更新することであって、前記更新された意味的依存関係木は、前記洗浄処理のシーケンスの各洗浄処理に対応する1つまたは複数のノードを含む、意味的依存関係木を更新することと、
前記更新された意味的依存関係木のそれぞれのノードと関連付けられた各洗浄処理を前記命令のセットのうちの1つまたは複数のそれぞれの命令に変換することと、を含む、請求項1に記載の方法。
【請求項3】
前記クライアントデバイスから、前記複数の基板プロセスのうちの前記少なくとも1つと関連付けられた修正された洗浄処理のシーケンスを示すものを受信することであって、前記修正された洗浄処理のシーケンスは、前記洗浄処理のシーケンスと異なる1つまたは複数の洗浄処理を含む、修正された洗浄処理のシーケンスを示すものを受信することと、
前記修正された洗浄処理のシーケンスに対応する更新された命令のセットを生成することと、
前記1つまたは複数の洗浄基準のうちの少なくとも1つが満たされることを検出することに応答して、前記更新された命令のセットを実行することと、をさらに含む、請求項1に記載の方法。
【請求項4】
前記洗浄処理のシーケンスが前記プロセスチャンバと関連付けられた1つまたは複数の条件を考慮した検証基準を満たすかどうかを決定することと、
前記洗浄処理のシーケンスが前記検証基準を満たしていないと決定することに応答して、前記洗浄処理のシーケンスが前記プロセスチャンバにおいて実施され得ないことを示す通知を前記クライアントデバイスに送信することと、をさらに含む、請求項1に記載の方法。
【請求項5】
前記洗浄処理のシーケンスを示すものは、前記製造システムのユーザが、前記製造システムと関連付けられた洗浄プロセスシーケンス構成要素によって提供されるユーザインターフェースへの入力として前記洗浄処理のシーケンスを提供することに応答して受信される、請求項1に記載の方法。
【請求項6】
前記洗浄プロセスは、前記複数の基板プロセスのうちの前記少なくとも1つの実行の前に前記プロセスチャンバを準備するための前洗浄プロセス、または前記複数の基板プロセスのうちの前記少なくとも1つの実行の後に前記プロセスチャンバを洗浄するための後洗浄プロセスのうちの少なくとも1つに対応する、請求項1に記載の方法。
【請求項7】
前記複数の基板プロセスはエッチングプロセスまたは堆積プロセスのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項8】
システムであって、
メモリと、
前記メモリに結合された処理デバイスであって、前記処理デバイスは、
製造システムと関連付けられた洗浄プロセスシーケンス構成要素のグラフィカルユーザインターフェース(GUI)を提供することであって、前記GUIは、前記製造システムのユーザが、前記製造システムにおける1つまたは複数の洗浄プロセスの処理の対応するシーケンスを提供することを可能にする、GUIを提供すること、
前記GUIを介して、前記製造システムのプロセスチャンバにおいて実施される洗浄プロセスと関連付けられた処理のシーケンスを示すものを受信すること、
前記提供された処理のシーケンスを示すものに基づいて前記洗浄プロセスと関連付けられた命令のセットを生成すること、および、
前記製造システムと関連付けられたシステムコントローラに前記生成された命令のセットを送信することであって、前記システムコントローラは、前記生成された命令のセットに従って前記プロセスチャンバにおいて前記洗浄プロセスを実施することになる、前記生成された命令のセットを送信することを行うためのものである、処理デバイスと、を備える、システム。
【請求項9】
前記洗浄プロセスと関連付けられた前記命令のセットを生成するために、前記処理デバイスは、
前記洗浄プロセスの前記処理のシーケンスと関連付けられたトリガ条件を決定することと、
前記決定されたトリガ条件を考慮して意味的依存関係木を更新することであって、前記更新された意味的依存関係木は、前記洗浄処理の前記シーケンスの各洗浄処理に対応する1つまたは複数のノードを含む、意味的依存関係木を更新することと、
前記更新された意味的依存関係木のそれぞれのノードと関連付けられた各洗浄処理を前記命令のセットのうちのそれぞれの命令に変換することと、を行うことになる、請求項8に記載のシステム。
【請求項10】
前記処理デバイスはさらに、
前記GUIを介して、前記洗浄プロセスと関連付けられた修正された洗浄処理のシーケンスを示すものを受信することであって、前記修正された処理のシーケンスは、前記処理のシーケンスと異なる1つまたは複数の洗浄処理を含む、修正された洗浄処理のシーケンスを示すものを受信することと、
前記修正された洗浄処理のシーケンスに対応する更新された命令のセットを生成することと、
前記更新された命令のセットを前記システムコントローラに送信することと、を行うことになる、請求項8に記載のシステム。
【請求項11】
前記処理デバイスはさらに、
前記処理のシーケンスが前記プロセスチャンバと関連付けられた1つまたは複数の条件を考慮した検証基準を満たすかどうかを決定することと、
前記処理のシーケンスが前記検証基準を満たしていないと決定することに応答して、前記処理のシーケンスが前記プロセスチャンバにおいて実行され得ないことを示す通知を含むように前記GUIを更新することと、を行うことになる、請求項8に記載のシステム。
【請求項12】
前記洗浄プロセスは、前記製造システムにおける1つまたは複数の基板プロセスの実行の前に前記プロセスチャンバを準備するための前洗浄プロセス、または前記1つまたは複数の基板プロセスの実行の後に前記プロセスチャンバを洗浄するための後洗浄プロセスのうちの少なくとも1つに対応する、請求項8に記載のシステム。
【請求項13】
前記洗浄プロセスは前記製造システムにおける複数の基板プロセスのうちの1つまたは複数に対応し、前記複数の基板プロセスはエッチングプロセスまたは基板プロセスのうちの少なくとも1つを含む、請求項8に記載のシステム。
【請求項14】
命令を含む非一時的コンピュータ可読ストレージ媒体であって、前記命令は、処理デバイスによって実行されるとき、前記処理デバイスに、
製造システムに結合されたクライアントデバイスから、前記製造システムにおける複数の基板プロセスのうちの少なくとも1つと関連付けられた洗浄処理のシーケンスを示すもの、および、前記製造システムのプロセスチャンバにおける洗浄プロセスの間の前記洗浄処理のシーケンスの開始をトリガする1つまたは複数の洗浄基準を示すものを受信することと、
前記洗浄処理のシーケンスに対応する命令のセットを生成することと、
前記1つまたは複数の洗浄基準のうちの少なくとも1つが満たされることを検出することに応答して、前記生成された命令のセットを実行して、前記プロセスチャンバにおいて前記洗浄処理のシーケンスを開始することと、を行わせる、非一時的コンピュータ可読ストレージ媒体。
【請求項15】
前記洗浄処理のシーケンスに対応する前記命令のセットを生成するために、前記処理デバイスは、
前記クライアントデバイスから受信した前記1つまたは複数の洗浄基準を考慮して前記洗浄処理のシーケンスと関連付けられたトリガ条件を決定することと、
前記決定されたトリガ条件を考慮して意味的依存関係木を更新することであって、前記更新された意味的依存関係木は、前記洗浄処理のシーケンスの各洗浄処理に対応する1つまたは複数のノードを含む、意味的依存関係木を更新することと、
前記更新された意味的依存関係木のそれぞれのノードと関連付けられた各洗浄処理を前記命令のセットのそれぞれの命令に変換することと、を行うことになる、請求項14に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項16】
前記処理デバイスはさらに、
前記クライアントデバイスから、前記複数の基板プロセスのうちの前記少なくとも1つと関連付けられた修正された洗浄処理のシーケンスを示すものを受信することであって、前記修正された洗浄処理のシーケンスは、前記洗浄処理のシーケンスと異なる1つまたは複数の洗浄処理を含む、修正された洗浄処理のシーケンスを示すものを受信することと、
前記修正された洗浄処理のシーケンスに対応する更新された命令のセットを生成することと、
前記1つまたは複数の洗浄基準のうちの少なくとも1つが満たされることを検出することに応答して、前記更新された命令のセットを実行することと、を行うことになる、請求項14に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項17】
前記処理デバイスはさらに、
前記洗浄処理のシーケンスが前記プロセスチャンバと関連付けられた1つまたは複数の条件を考慮した検証基準を満たすかどうかを決定することと、
前記洗浄処理のシーケンスが前記検証基準を満たしていないと決定することに応答して、前記洗浄処理のシーケンスが前記プロセスチャンバにおいて実行され得ないことを示す通知を前記クライアントデバイスに送信することと、を行うことになる、請求項14に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項18】
前記洗浄処理のシーケンスを示すものは、前記製造システムのユーザが、前記製造システムと関連付けられた洗浄プロセスシーケンス構成要素によって提供されるユーザインターフェースへの入力として前記洗浄処理のシーケンスを提供することに応答して受信される、請求項14に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項19】
前記洗浄プロセスは、前記複数の基板プロセスのうちの前記少なくとも1つの実行の前に前記プロセスチャンバを準備するための前洗浄プロセス、または前記複数の基板プロセスのうちの前記少なくとも1つの実行の後に前記プロセスチャンバを洗浄するための後洗浄プロセスのうちの少なくとも1つに対応する、請求項14に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項20】
前記複数の基板プロセスはエッチングプロセスまたは堆積プロセスのうちの少なくとも1つを含む、請求項14に記載の非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、一般に、製造システムに関し、より詳細には、洗浄プロセスシーケンス管理に関する。
【背景技術】
【0002】
基板プロセス(例えば、エッチングプロセス、堆積プロセスなど)は、製造システムのプロセスチャンバにおける基板のために実施可能である。洗浄プロセスは、基板がプロセスチャンバに配置され、かつ基板プロセスが開始される前に、基板プロセスの条件に対してプロセスチャンバを準備するために実施可能である。そのような洗浄プロセスは本明細書では前洗浄プロセスと称される。別の洗浄プロセスは、例えば、基板プロセスの完了後のチャンバ内の粒子および/または他の材料を除去すること、他の基板のために実施される後続の基板プロセスに対してチャンバを準備することなどのために、基板プロセスの完了後に実施可能である。そのような洗浄プロセスは本明細書では後洗浄と称される。電子デバイスがより詳細かつより複雑になるほど、製造システムにおいて実施される基板プロセスは、より進化しかつより複雑になり得る。製造システムのオペレータは、そのような進化した複雑な基板プロセスに従ってプロセスチャンバ内の環境を維持するために、各基板プロセスの前および/または後に実施される洗浄プロセスを調節および/または強化することを求め得る。従来のシステムでは、オペレータが、洗浄プロセスの処理および/または処理のシーケンスを調節することは困難であり得る。
【発明の概要】
【0003】
説明される実施形態の一部は、製造システムに結合されるクライアントデバイスから、製造システムにおける少なくとも1つの基板プロセスと関連付けられた洗浄処理のシーケンスを示すもの、および、製造システムのプロセスチャンバにおける洗浄プロセスの間に洗浄処理のシーケンスの開始をトリガする1つまたは複数の洗浄基準を示すものを受信することを含む方法を網羅する。方法は、洗浄処理のシーケンスに対応する命令のセットを生成することをさらに含む。方法は、1つまたは複数の洗浄基準のうちの少なくとも1つが満たされることを検出することに応答して、生成された命令のセットを実行して、プロセスチャンバにおいて洗浄処理のシーケンスを開始することをさらに含むことができる。
【0004】
いくつかの実施形態では、システムは、メモリと、メモリに結合された処理デバイスとを含む。処理デバイスは、製造システムと関連付けられた洗浄プロセスシーケンス構成要素のグラフィカルユーザインターフェース(GUI)を提供するためのものである。GUIは、製造システムのユーザが、製造システムにおける洗浄プロセスの処理のシーケンスを提供することを可能にする。処理デバイスはまた、GUIを介して、製造システムのプロセスチャンバにおいて実施される洗浄プロセスと関連付けられた処理のシーケンスを示すものを受信することができる。処理デバイスはまた、提供されたシーケンスを示すものに基づいて洗浄プロセスと関連付けられた命令のセットを生成することができる。処理デバイスはまた、生成された命令のセットを、製造システムと関連付けられたシステムコントローラに送信することができる。
【0005】
いくつかの実施形態では、非一時的コンピュータ可読ストレージ媒体は、処理デバイスによって実行されるとき、処理デバイスに、製造システムに接続されたクライアントデバイスから、製造システムにおける少なくとも1つの基板プロセスと関連付けられた洗浄処理のシーケンスを示すもの、および、製造システムのプロセスチャンバにおける洗浄プロセスの間の洗浄処理のシーケンスの開始をトリガする1つまたは複数の洗浄基準を示すものを受信させる命令を含む。処理デバイスはまた、洗浄処理のシーケンスに対応する命令のセットを生成することができる。処理デバイスはまた、1つまたは複数の洗浄基準のうちの少なくとも1つが満たされることを検出することに応答して、生成された命令のセットを実行して、プロセスチャンバにおいて洗浄処理のシーケンスを開始することができる。
【0006】
本開示は、限定としてではなく例として、同じ参照記号が同様の要素を示す添付の図面内の図において、例証される。本開示内の「ある」実施形態または「1つの」実施形態への言及は、必ずしも同じ実施形態に対するものではなく、そのような言及は少なくとも1つを意味するということに留意されたい。
【図面の簡単な説明】
【0007】
図1】本開示の態様による、例証的なコンピュータシステムアーキテクチャを描写する図である。
図2】本開示の態様による、例となるシーケンサエンジンのブロック図である。
図3A】本開示の態様による、製造システムのユーザが洗浄処理のシーケンスを提供することを可能にするための例となるグラフィカルユーザインターフェース(GUI)を例証する図である。
図3B】本開示の態様による、製造システムのユーザが洗浄処理のシーケンスを提供することを可能にするための例となるグラフィカルユーザインターフェース(GUI)を例証する図である。
図3C】本開示の態様による、製造システムのユーザが洗浄処理のシーケンスを提供することを可能にするための例となるグラフィカルユーザインターフェース(GUI)を例証する図である。
図4A】本開示の態様による、洗浄プロセスと関連付けられた例となる意味的依存関係木を例証する図である。
図4B】本開示の態様による、洗浄プロセスと関連付けられた例となる意味的依存関係木を例証する図である。
図5】本開示の態様による、洗浄プロセスシーケンス管理の例となる方法のフロー図である。
図6】本開示の態様による、洗浄プロセスシーケンス管理の例となる方法のフロー図である。
図7】特定の実施形態による、コンピュータシステムを例証するブロック図である。
【発明を実施するための形態】
【0008】
本明細書に開示された実施形態は、洗浄プロセスシーケンス管理のための方法およびシステムを含む。製造システムはプロセスチャンバを含むことができ、このプロセスチャンバは、プロセスチャンバ内に配置される基板のためのプロセス(本明細書では基板プロセスと称される)を実施するように構成される。いくつかの実施形態では、基板プロセスは、薄膜を基板の表面上に堆積させるための堆積プロセス(例えば、化学気相堆積(CVD)プロセス、原子層堆積(ALD)プロセス、物理気相堆積(PVD)プロセスなど)を含むことができる。他のまたは同様の実施形態では、基板プロセスは、ターゲットパターンを作成するために基板の表面上に堆積させた材料の部分をエッチング除去するためのエッチングプロセスを含むことができる。プロセスチャンバの構成要素、および実施される各基板プロセスのためのプロセスチャンバ内の環境を維持するために、製造システムのそれぞれのプロセスチャンバにおいて洗浄プロセスが実施可能である。前洗浄プロセスは、基板がプロセスチャンバに配置され、かつ基板プロセスが開始される前に実施される洗浄プロセスを指す。例えば、前洗浄プロセスは、エッチングプロセスが開始される前に、プロセスチャンバの1つまたは複数の構成要素の表面上に保護膜を堆積させる(例えば、チャンバシーズニングプロセス)ためにプロセスチャンバにおいて実施可能である。後洗浄プロセスは、基板プロセスがプロセスチャンバにおいて完了し、かつ処理された基板がチャンバから除去された後に実施される洗浄プロセスを指す。例えば、後洗浄プロセスは、堆積プロセスの間にプロセスチャンバの1つまたは複数の構成要素の表面上に堆積した材料を除去するために実施可能である。別の例では、後洗浄プロセスは、エッチングプロセスの完了後にプロセスチャンバに残っている粒子を除去するために実施可能である。
【0009】
製造システムのオペレータ(例えば、技術者など)は、製造システムにおいて実施される洗浄プロセスを調整するおよび/または強化することを求め得る。従来のシステムでは、製造システム用の洗浄プロセスを調整または強化するために、オペレータは、製造システムと関連付けられた制御ロジックを管理することを担うエンティティに、ターゲット洗浄プロセス調節または強化と関連付けられた情報を提供することができる。エンティティは、ターゲット洗浄プロセス調節または強化と関連付けられたプログラムを設計および/または開発し、かつそのプログラム上での試験または実験を行うことができる。プログラムが製造システムにおける使用に対する試験および検証で合格すると、エンティティは、製造システムのオペレータにプログラムを提供でき、オペレータは、(例えば、製造システムと関連付けられた処理デバイスを介して)プログラムをロードし実行して、プロセスチャンバにおける調整または強化に従って洗浄プロセスを実行することができる。
【0010】
上記を考慮して、製造システムにおける洗浄プロセスのための簡単な調整または強化でさえも実施するにはかなりの時間がかかる可能性がある。さらに、電子デバイスがより詳細かつ複雑になるほど、製造システムにおいて実施される基板プロセスはより進化しかつ複雑になり得、各々の基板プロセスレシピに対して頻繁な更新が行われる可能性がある。いくつかの場合において、前洗浄プロセスおよび/または後洗浄プロセスは、各々の基板プロセスレシピに対する更新を明らかにするために更新または強化され、更新された基板プロセスレシピを、更新または強化された洗浄プロセスが製造システムに利用可能になるまで行うことができない。製造システムにおいて洗浄プロセスのための調整または強化を行うにはかなりの時間がかかり得るため、それに応じて、製造システムにおいて行われる更新された基板プロセスレシピにかなりの時間がかかり得る。それ故に、オペレータは、製造システムにおいて更新された基板プロセスレシピを行うのが遅延する可能性があり、いくつかの場合において、製造システムのプロセスチャンバは、洗浄プロセスのための調整または強化が製造システムにおいて利用可能になるまで、未使用状態であり得る。遅延した実施および/またはプロセスチャンバのアイドル期間は、製造システムのスループットを低下させ得、これによって、全体的なシステムレイテンシが増大し、かつ全体的なシステム効率が低下する可能性がある。
【0011】
いくつかの場合において、製造システムにおけるプロセスチャンバは、異なるタイプの基板プロセスを実行するように構成可能である。例えば、製造システムにおけるプロセスチャンバは、エッチングプロセスおよび堆積プロセスを実行するように構成可能である。そのようなシステムでは、各プロセスチャンバと関連付けられた制御ロジックは、プロセスチャンバにおいて実行される基板プロセスのタイプに特有であり得る。例えば、エッチングチャンバ用の制御ロジックは、堆積チャンバ用の制御ロジックと異なっている可能性がある。各々のタイプのプロセスチャンバで実行される洗浄プロセスを更新または強化するために、製造システムのオペレータは、各タイプのプロセスチャンバ用の制御ロジックにおける実行に向けた更新を要求することができる。プロセスチャンバ用の制御ロジックを管理することと関連付けられたエンティティは、上述されるように、プロセスチャンバの各タイプと関連付けられた制御ロジックのための別個のプログラムを設計、開発、および/または試験することができる。それ故に、製造システムの異なるタイプのプロセスチャンバのための洗浄プロセスを更新または強化するには一層長い時間がかかり得、遅延した実行および/またはプロセスチャンバに対する(すなわち、更新された基板プロセスレシピの実行のための)アイドル期間は、製造システムのスループットをさらに低下させる可能性があり、それによって、全体的なシステムレイテンシがさらに増大し、かつ全体的なシステム効率がさらに低下する可能性がある。
【0012】
本開示の実施形態は、洗浄プロセス管理のための方法およびシステムを対象とする。(例えば、製造システムに接続されたクライアントデバイス上にある、製造システムなどと関連付けられたシステムコントローラの、など)洗浄プロセスシーケンス構成要素は、製造システムに接続されたクライアントデバイスを介して製造システムのユーザ(例えば、オペレータ、技術者など)にグラフィカルユーザインターフェース(GUI)を提供することができる。GUIは、ユーザが、製造システムのプロセスチャンバにおいて実行される洗浄プロセスのための処理のタイプおよび/または処理のシーケンスを追加および/または修正することを可能にし得る。いくつかの実施形態では、GUIは、ユーザが、製造システムにおいて実行される複数のタイプの基板プロセス(例えば、エッチングプロセス、堆積プロセスなど)と関連付けられた洗浄プロセスのための処理のタイプおよび/または処理のシーケンスを追加および/または修正することを可能にし得る。
【0013】
洗浄プロセスシーケンス構成要素は、GUIを介して洗浄プロセスと関連付けられた処理のシーケンスを示すものを受信することができる。処理のシーケンスを示すものを受信することに応答して、洗浄プロセスシーケンス構成要素は、提供された処理のシーケンスに基づいて洗浄プロセスと関連付けられた命令のセットを生成することができる。例えば、洗浄プロセスシーケンス構成要素は、プロセスチャンバにおける処理のシーケンスの開始をトリガする1つまたは複数の洗浄基準を決定することができ、決定された洗浄基準および処理のシーケンスと関連付けられた1つまたは複数のノードを含むように洗浄プロセスと関連付けられた意味的依存関係木を更新することができる。洗浄プロセスシーケンス構成要素は、更新された意味的依存関係木のそれぞれのノードと関連付けられた各洗浄処理を命令のセットのうちのそれぞれの命令に変換することができる。洗浄プロセスシーケンス構成要素は、いくつかの実施形態において、システムコントローラ(またはシステムコントローラの別の構成要素)に生成された命令のセットを送信することができる。製造システムの実行時間中、システムコントローラは、プロセスチャンバにおいて洗浄プロセスを開始するための命令のセットを実行することができる。例えば、GUIを介して提供された処理のシーケンスと関連付けられた洗浄基準が満たされていることを検出することに応答して、システムコントローラは、プロセスチャンバにおいて洗浄プロセスの少なくとも一部分を実行するための処理のシーケンスと関連付けられた命令を実行することができる。
【0014】
本開示の実装形態は、製造システムのユーザ(例えば、オペレータ、技術者など)が、製造システムに接続されたクライアントデバイスを介して製造システムにおける洗浄プロセスの調整または強化を管理することを可能にするための技法を提供することによって現在の技術の上述された不備に対処する。クライアントデバイスを介して洗浄プロセスシーケンス構成要素によって提供されたGUIは、ユーザが、製造システムにおいて基板のために実施される基板プロセスのタイプと関連付けられた洗浄プロセスのための処理のタイプおよび/または処理のシーケンスを追加および/または修正することを可能にし得る。洗浄プロセスシーケンス構成要素は、洗浄プロセスのための処理のユーザ提供のシーケンスと関連付けられた命令のセットを生成することができ、システムコントローラは、上述されるように、洗浄プロセスと関連付けられた洗浄基準に従って命令のセットを実行することができる。それ故に、製造システムのユーザは、製造システム用の制御ロジックを維持するエンティティから洗浄の更新または調整を要求することなく、製造システムにおいて洗浄プロセスに対する更新または調整を行うことができる。したがって、製造システムにおいて洗浄プロセスを更新または調整することには時間がそれほどかからない可能性があり、新たな基板プロセスレシピを行うための時間は大幅に低減される。それ故に、製造システムの全体的なスループットは大幅に増大する可能性があり、それによって、全体的な効率が増大し、かつ製造システムの全体的なレイテンシが低下する可能性がある。
【0015】
図1は、本開示の態様による例証的なコンピュータシステムアーキテクチャ100を描写する。いくつかの実施形態において、コンピュータシステムアーキテクチャ100は、(例えば、処理基板用などの)製造システムの一部として含まれ得る。コンピュータシステムアーキテクチャ100(本明細書ではコンピュータシステム100とも称される)は、クライアントデバイス106、製造装置124、データストア130、および1つまたは複数のサーバマシン(例えば、サーバマシン140、サーバマシン150など)を含む。いくつかの実施形態では、クライアントデバイス106、製造装置124、データストア130、サーバマシン140、および/またはサーバマシン150は、ネットワーク120を介して接続可能である。いくつかの実施形態では、ネットワーク120は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN))、有線ネットワーク(例えば、イーサネットネットワーク)、ワイヤレスネットワーク(例えば、802.11ネットワークまたはWi-Fiネットワーク)、セルラネットワーク(例えば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組み合わせを含むことができる。
【0016】
製造装置124は、レシピに従って、またはある期間にわたってランを実行して、製品(例えば、電子デバイスなど)を作り出す装置を含むことができる。いくつかの実施形態では、製造装置124は、1つまたは複数の基板上で基板プロセスを実施するように構成される1つまたは複数のプロセスチャンバを含むことができる。基板プロセスは、堆積プロセス(例えば、基板の表面上に材料の薄層を堆積させるためのプロセス)、エッチングプロセス(例えば、基板の表面上に堆積した材料の部分をエッチング除去するためのプロセス)などを指すことができる。いくつかの実施形態では、堆積プロセスは、CVDプロセス、ALDプロセス、PVDプロセスなどを含むことができる。いくつかの実施形態では、1つまたは複数のプロセスチャンバは、基板のために実施される基板プロセスの前、後、および/または間に洗浄プロセスを実施するように構成可能である。前洗浄プロセスは、プロセスチャンバにおいて実施される基板プロセスのためにプロセスチャンバおよび/または基板を準備するための一連の処理または処理のシーケンスを指す。例えば、エッチングチャンバ用の前洗浄プロセスは、エッチングプロセスの間に構成要素を保護するためにエッチングチャンバの1つまたは複数の構成要素の表面上に保護材を堆積させることと関連付けられた1つまたは複数の処理を含むことができる。後洗浄プロセスは、基板プロセスがプロセスチャンバにおいて完了した後に実施される一連の処理または処理のシーケンスを指す。例えば、後洗浄プロセスは、堆積プロセスの完了後に堆積チャンバの1つまたは複数の構成要素の表面上に堆積した材料を除去することと関連付けられた1つまたは複数の処理を含むことができる。別の例では、後洗浄プロセスは、基板の表面から材料の部分をエッチング除去するためのエッチングプロセスが実施された後にエッチングチャンバから1つまたは複数の粒子を除去することと関連付けられた1つまたは複数の処理を含むことができる。いくつかの実施形態では、後洗浄プロセスは、基板がプロセスチャンバから除去される前または後に実施可能である。追加のまたは代替的な実施形態では、後洗浄プロセスは、処理された基板が除去された後に別の物体(例えば、ダミー基板、ダミーウエハ)がプロセスチャンバに配置された後に実施可能である。
【0017】
いくつかの実施形態では、(例えば、サーバマシン140上にある)システムコントローラ142は、製造装置124において1つまたは複数のプロセスを実施することと関連付けられた命令を実行するように構成可能である。いくつかの実施形態では、システムコントローラ142は、異なるタイプの機器と関連付けられた異なるタイプのプロセスと関連付けられた命令を実行するように構成可能である。例えば、システムコントローラ142は、プロセスチャンバにおいてエッチングプロセスの性能を促進するようにエッチングプロセスと関連付けられた1つまたは複数の命令のセットを実行するように構成可能である。別の例では、システムコントローラ142は、プロセスチャンバにおいて前洗浄プロセスおよび/または後洗浄プロセスの性能を促進するように前洗浄プロセスおよび/または後洗浄プロセスと関連付けられた1つまたは複数の命令のセットを実行するように構成可能である。さらに別の例では、システムコントローラ142は、製造装置124の、ロードロック、アライナステーション、冷却ステーション、ストレージステーション、および計測ステーションなどと関連付けられた命令を実行するように構成可能である。
【0018】
データストア130は、製造装置124において実行可能である各タイプのプロセスと関連付けられたプロセスライブラリ132を格納することができる。ライブラリは、製造装置124におけるプロセスを実行することと関連付けられた、実行可能プログラムファイル、構成ファイルなどのリソースのセットを指す。いくつかの実施形態では、プロセスライブラリ132は、製造装置124におけるプロセスの特定のステップまたは処理を実行するようにシステムコントローラ142によって実行される1つまたは複数の命令のセットを含むことができる。図1に例証されるように、データストア130は、プロセスチャンバで実行可能である前洗浄プロセスおよび/または後洗浄プロセスを実行するようにシステムコントローラ142によって実行される1つまたは複数の命令のセットを含む洗浄ライブラリ134を含むことができる。データストア130はまた、1つまたは複数のプロセスレシピ136を格納することができる。プロセスレシピ136は、製造装置124における特定のプロセスの間に実行される1つまたは複数のステップおよび/もしくは処理を示すことができる。プロセスレシピ126はまた、特定のプロセスの実行中に適用される1つまたは複数のプロセス設定(例えば、プロセスチャンバ温度、プロセスチャンバ圧力、プロセスチャンバガス組成など)を示すことができる。システムコントローラ142は、本明細書に記載される実施形態によると、特定のプロセスのためのプロセスレシピ136を考慮して1つまたは複数のプロセスライブラリ132に含まれる命令を実行することができる。
【0019】
(例えば、サーバマシン150上にある)シーケンサエンジン152は、製造装置124において実施されるプロセスのシーケンスおよび/またはプロセスのステップもしくは処理を規定するように構成可能である。シーケンサエンジン152は、製造装置124において実行されるプロセスのターゲットシーケンスを示すものを(例えば、クライアントデバイス106から)得ることができ、かつデータストア130からのプロセスのシーケンスのそれぞれと関連付けられた1つまたは複数のプロセスレシピ136を識別することができる。上に示されるように、プロセスレシピ136の1つまたは複数のステップもしくは処理と関連付けられた命令は、1つまたは複数のプロセスライブラリ132において識別可能である。例えば、シーケンサエンジン152は、エッチングプロセスおよび/または堆積プロセスの完了後にプロセスチャンバにおいて実行される後洗浄プロセスのターゲットシーケンスを示すものを得ることができる。シーケンサエンジン152は、後洗浄後のプロセスの各ステップまたは処理と関連付けられた1つまたは複数のプロセスレシピ136を識別することができる。識別されたプロセスレシピ136は、データストア130の1つまたは複数の洗浄ライブラリ134に対応し得る。シーケンサエンジン152は、データストア130における1つまたは複数の対応する洗浄ライブラリ134に含まれる命令に基づいて後洗浄プロセスのターゲットシーケンスに従って実行される命令のシーケンスを生成することができる。シーケンサエンジン152は、システムコントローラ142に生成された命令のシーケンスを提供することができ、システムコントローラ142は、後洗浄プロセスを実施するように生成された命令のシーケンスを実行することができる。シーケンサエンジン152に関するさらなる詳細は、図2に関して提供される。
【0020】
上に示されるように、シーケンサエンジン152は、クライアントデバイス106からプロセスのターゲットシーケンスを示すものを得ることができる。クライアントデバイス106は、限定はされないが、例えばテレビ、スマートフォン、携帯電話、パーソナルデジタルアシスタント(PDA)、ポータブルメディアプレーヤ、ネットブック、ラップトップコンピュータ、電子書籍リーダ、タブレットコンピュータ、デスクトップコンピュータ、セットトップボックス、ゲーム機、自律車両用コンピューティングデバイス、および監視デバイスなどのデバイスとすることができる、または該デバイスの構成要素とすることができる。いくつかの実施形態では、システム100の洗浄プロセスシーケンス構成要素160(本明細書では洗浄構成要素160とも称される)は、クライアントデバイス106を介してグラフィカルユーザインターフェース(GUI)を提供することができ、それによって、クライアントデバイス106のユーザは、製造装置124において実行されるプロセスのシーケンスを示すものを提供することができる。いくつかの実施形態では、洗浄構成要素160は、システムコントローラ142および/またはシーケンサエンジン152のロジック構成要素とすることができる。それ故に、洗浄構成要素160の1つまたは複数の部分は、いくつかの実施形態において、サーバマシン140および/またはサーバマシン150にある可能性がある。システム100の洗浄構成要素160、システムコントローラ142、およびシーケンサエンジン152に関するさらなる詳細は、本明細書に提供される。
【0021】
いくつかの実施形態では、クライアントデバイス106、製造装置124、データストア130、および/またはサーバマシン140~150は、1つもしくは複数のコンピューティングデバイス(例えば、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなど)、データストア(例えば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェア構成要素、および/または画像に基づく物体検出を可能にするために使用可能であるハードウェア構成要素とすることができるまたはこれらを含むことができる。いくつかの他の実施形態では、クライアントデバイス106、製造装置124、データストア130、および/またはサーバマシン140~150の機能は、より少ない数のマシンによって提供可能であることに留意されたい。例えば、いくつかの実施形態では、サーバマシン140および/または150は単一のマシンに統合され得るが、他の実施形態では、サーバマシン140および150は複数のマシンに統合可能である。さらに、いくつかの実施形態では、サーバマシン140および150のうちの1つまたは複数は、クライアントデバイス106に統合され得る。
【0022】
図2は、本開示の態様による、例となるシーケンサエンジン152および例となるシステムコントローラ142のブロック図である。図2に例証されるように、シーケンサエンジン152は、いくつかの実施形態において、プロセスシーケンスデータモジュール212、依存関係木生成モジュール214、および/または命令セット生成モジュール216を含むことができる。システムコントローラ142は、いくつかの実施形態において、命令セット実行モジュール220を含むことができる。本開示のいくつかの実施形態について、システム100の洗浄プロセスシーケンス構成要素160(洗浄構成要素とも称される)に関して説明する。シーケンサエンジン152および/またはシステムコントローラ142は、(例えば、ネットワークを介して)データストア250に接続され得る。いくつかの実施形態では、データストア250は、図1に関して説明されるデータストア113に対応し得る。
【0023】
いくつかの実施形態では、洗浄構成要素は、シーケンサエンジン152およびシステムコントローラ142の各モジュールを含むことができる。例えば、洗浄構成要素は、プロセスシーケンスデータモジュール212、依存関係木生成モジュール214、命令セット生成モジュール216、および/またはシーケンサエンジン152およびシステムコントローラ142の命令セット実行モジュール220を含むことができる。他のまたは同様の実施形態では、洗浄構成要素は、シーケンサエンジン152の1つまたは複数のモジュールを含むことができる。例えば、洗浄構成要素は、プロセスシーケンスデータモジュール212、依存関係木生成モジュール214、および/または命令セット生成モジュール216を含むことができる。本開示のいくつかの実施形態はシーケンサエンジン152およびシステムコントローラ142の1つまたは複数のモジュールに関して説明されているが、本開示の各実施形態が、洗浄構成要素と関連付けられた1つまたは複数のモジュールによって実施可能であることは留意されたい。
【0024】
図1に関して説明されるように、システム100の洗浄構成要素はグラフィカルユーザインターフェース(GUI)210を提供することができ、これによって、システム100のユーザは、製造装置124において実施されるプロセスのターゲットシーケンスを示すものを提供することができる。図3Aは、本開示の態様による、GUI210の例となるセクション310を例証する。いくつかの実施形態では、GUI210のセクション310は、第1のセクション312および第2のセクション320を含むことができる。セクション312は、システム100のユーザが、製造装置124において実施される1つまたは複数の基板プロセスを示すものを提供することを可能にする1つまたは複数のGUI要素を含むことができる。例えば、図3Aに例証されるように、セクション312は、ユーザが、示されたプロセスを実施するためのものである製造装置124の1つまたは複数の装置(例えば、プロセスチャンバ)を示すことを可能にするGUI要素314を含むことができる。セクション312はまた、ユーザが、示された装置において実行される(例えば、データストア250に格納された)1つまたは複数のプロセスレシピ136を示すことを可能にする別のGUI要素316、および、ユーザが、示されたプロセスレシピと関連付けられた1つまたは複数のパラメータ設定(例えば、プロセス温度、プロセスガス組成、プロセスチャンバ圧力など)を示すことを可能にする1つまたは複数の追加のGUI要素318を含むことができる。いくつかの実施形態では、GUI要素314、316、および/または318は、ユーザが、基板プロセスと関連付けられたデータ(例えば、プロセスを実行するためのものである装置、実行される1つまたは複数のプロセスレシピ、プロセスレシピに対する1つまたは複数のパラメータ設定など)を示すテキストを提供することを可能にするテキストボックスを含むことができる。他のまたは同様の実施形態では、GUI要素314、316、および/または318は、ユーザが基板プロセスと関連付けられるデータを提供および/または選択することを可能にする他のタイプのGUI要素(例えば、ドロップダウンメニューなど)を含むことができる。図3Aは、GUI210のセクション310の簡略化された例となるセクション312を描写する(すなわち、セクション312は、ユーザがパラメータA~Nの設定を示すことを可能にするGUI要素318を含む)。しかしながら、追加のまたは代替的な実施形態では、セクション312は、ユーザが、プロセスレシピ136の各処理またはステップの複数の設定および/または設定の範囲を示すことを可能にする複数の追加のGUI要素318を含むことができる。
【0025】
他のまたは同様の実施形態では、セクション310のセクション320は、システム100のユーザが、製造装置124において実施される1つまたは複数の洗浄プロセス(本明細書では洗浄プロセス(clean process)とも称される)を示すものを提供することを可能にする1つまたは複数のGUI要素を含むことができる。上述されるように、洗浄プロセスは、製造装置124における基板プロセスの前(すなわち、前洗浄プロセス)、間、および/または後(すなわち、後洗浄プロセス)に実施されるプロセスを指す。いくつかの実施形態では、1つまたは複数の洗浄プロセスは、セクション310のセクション312に示される基板プロセスと関連付けられ得る。例えば、システム100のユーザが、セクション312を介して、エッチングプロセスが製造装置124の1つまたは複数のプロセスチャンバを介して実施されることを示す場合、セクション320によって示される洗浄プロセスは、エッチングプロセスと関連付けられ得、かつエッチングプロセスの前、間、および/または後に実施可能である。本開示のいくつかの実施形態は、製造装置124のプロセスチャンバにおける、エッチングプロセスおよび/もしくは堆積プロセス、またはエッチングプロセスおよび/または堆積プロセスのための洗浄プロセスを対象とすることに留意されたい。しかしながら、本開示の実施形態は、製造装置124の任意の装置において実行される任意のタイプのプロセスまたは洗浄プロセスに適用可能である。
【0026】
いくつかの実施形態では、セクション320は、ユーザが、1つまたは複数の装置において実行される前洗浄プロセスを示すものを(すなわち、セクション312によって示される基板プロセスが実行される前に)提供することを可能にする1つまたは複数のGUI要素(例えば、GUI要素322、324など)を含むことができる。GUI要素322は、いくつかの実施形態において、ユーザが、基板プロセスの前に実行される既存の前洗浄プロセスレシピを提供(例えば、タイプ)または(例えば、ドロップダウンメニューなどを介して)選択することを可能にし得る。追加のまたは代替的な実施形態では、図3Bに関して説明される実施形態によると、GUI要素324は、ユーザがカスタム前洗浄プロセスシーケンスを提供することを可能にし得る。セクション320は、ユーザが、(例えば、セクション312によって示される基板プロセスが実行された後に)1つまたは複数の装置で実行される後洗浄プロセスを示すものを提供することを可能にする1つまたは複数のGUI要素(例えば、GUI要素326、328など)をさらに含むことができる。GUI要素326は、上述されるように、ユーザが既存の後洗浄プロセスレシピを提供または選択することを可能にし得る。追加のまたは代替的な実施形態では、図3Cに関して説明される実施形態によると、GUI要素328は、ユーザがカスタム後洗浄プロセスシーケンスを提供することを可能にし得る。いくつかの実施形態では、セクション320は、ユーザが基板プロセスと関連付けられた他の洗浄プロセスを示すものを提供することを可能にする追加のGUI要素を含むことができる。例えば、セクション320は、ユーザが、周期的な洗浄プロセス(例えば、製造装置124において実施される基板プロセスを考慮するのではなく時間パラメータを考慮して実施される洗浄プロセス)を示すものなどを提供することを可能にするGUI要素を含むことができる。
【0027】
上に示されるように、セクション320は、ユーザがカスタム前洗浄プロセスシーケンスを提供することを可能にするGUI要素324を含むことができる。ユーザがGUI要素324を操作することに応答して、GUI210の別のセクションは、いくつかの実施形態において、ユーザがカスタム前洗浄プロセスシーケンスと関連付けられたデータを提供することを可能にし得る。図3Bは、本開示のいくつかの態様による、ユーザがカスタム前洗浄プロセスシーケンス332と関連付けられたデータを提供することを可能にするGUI210の例となるセクション330を描写している。いくつかの実施形態では、セクション330は、ユーザが、前洗浄プロセスシーケンス332と関連付けられた1つまたは複数のステップおよび/もしくは処理を示すことを可能にする1つまたは複数のGUI要素を提供することができる。例えば、セクション330は、ユーザが、洗浄プロセスシーケンス332に1つまたは複数のステップおよび/もしくは処理を追加することを可能にするGUI要素334を含むことができる。GUI要素334は、ボタンまたは別のタイプのGUI要素とすることができる。ユーザがGUI要素334を操作したことを検出することに応答して、GUI210を提供する洗浄構成要素は、本明細書に記載される実施形態によると、ユーザが追加されたステップおよび/または処理と関連付けられたデータを提供することを可能にするようにセクション330を更新することができる。
【0028】
いくつかの実施形態では、セクション330は、ユーザが洗浄プロセスシーケンス332のそれぞれのステップまたは処理の順序を示すものを提供することを可能にするGUI要素336を含むことができる。例えば、GUI要素336は、洗浄プロセスシーケンス332の特定のステップおよび/または処理がそのシーケンスで最初に実施されること、別のステップおよび/または処理がそのシーケンスで2番目に実施されることなどをユーザが示すことを可能にし得る。シーケンス332のそれぞれのステップまたは処理の順序は、シーケンス332の各ステップまたは処理がシステムコントローラ142によって検討される順序または優先順位に対応し得る。シーケンス332のそれぞれのステップおよび/または処理の優先順位に関するさらなる詳細について、以下の図4A図4Bに関して説明する。
【0029】
いくつかの実施形態では、セクション330は、(本明細書ではトリガイベントと称される)ステップおよび/または処理と関連付けられた1つまたは複数の命令の実行をトリガすることができるイベントを示すものをユーザが提供することを可能にするGUI要素338をさらに含むことができる。いくつかの実施形態では、GUI要素338は、ユーザが、(例えば、システム100に対するトリガイベントのリストから)1つまたは複数のトリガイベントを選択することを可能にし得る。例えば、GUI要素338はドロップダウンメニューまたは他のタイプのGUI要素とすることができ、これによって、ユーザは、トリガイベントの所定のリストから1つまたは複数のトリガイベントを選択することができる。他のまたは同様の実施形態では、GUI要素338は、ユーザがトリガイベントを示すものを(例えば、タイプすることなどによって)提供することを可能にし得る。図3Bに例証されるように、シーケンス332の1つまたは複数のステップおよび/もしくは処理は、「常時」タイプのトリガイベントと関連付けられ得る。「常時」タイプのトリガイベントは、シーケンス332がシステムコントローラ142によって検討されるインスタンスごとにシーケンス332のステップおよび/または処理の実行をトリガすることができる。他のまたは同様の実施形態では、シーケンス332の1つまたは複数のステップおよび/もしくは処理は、「基板ID変更」タイプのトリガイベントなどの他のタイプのトリガイベント(例えば、製造装置124における前の基板と関連付けられた識別子(ID)が製造装置124における現在の基板と関連付けられたIDと異なるときにシーケンス332のステップおよび/または処理の実行をトリガするイベントなど)と関連付けられ得る。トリガイベントのいくつかの例にはまた、「シーケンスID変更」タイプのトリガイベント(例えば、前の基板と関連付けられたシーケンスIDが現在の基板と関連付けられたシーケンスIDと異なるときにステップおよび/または処理をトリガするイベント)、「ロットID変更」タイプのトリガイベント(例えば、前の基板と関連付けられたロットIDが現在の基板と関連付けられたロットIDと異なるときにステップおよび/または処理をトリガするイベント)、「プロセスジョブ(PJ)ID変更」タイプのトリガイベント(例えば、前の基板と関連付けられたPJ IDが現在の基板と関連付けられたPJ IDと異なるときにステップおよび/または処理をトリガするイベント)、「キャリアID変更」タイプのトリガイベント(例えば、前の基板と関連付けられたキャリアIDが現在の基板と関連付けられたキャリアIDと異なるときにステップおよび/または処理をトリガするイベント)、「強制前洗浄」タイプのトリガイベント(例えば、ユーザによって規定された強制前洗浄条件が満たされるときにステップおよび/または処理をトリガするイベント)、および「機器欠陥」タイプのトリガイベント(例えば、製造装置124の1つまたは複数が故障したときにステップおよび/または処理をトリガするイベント)などが含まれ得る。
【0030】
セクション330は、ユーザが、シーケンス332のステップおよび/または処理を開始することと関連付けられた1つまたは複数のトリガ条件を示すものを提供することを可能にする1つまたは複数のGUI要素340をさらに含むことができる。トリガ条件は、シーケンス332のステップおよび/または処理の実行をトリガするために満たされるべき1つまたは複数の条件を指す。いくつかの実施形態では、トリガ条件は、GUI要素338を介してユーザによって提供されるトリガイベントと関連付けられ得る。他のまたは同様の実施形態では、トリガ条件は提供されたトリガイベントと無関係であり得る。図3Bに例証されるように、ユーザは、GUI要素340を使用して、チャンバアイドル時間が1200秒以上である場合に「1」の優先順位を有する処理が実施されるものとすることを定めることができる。別の例では、ユーザは、GUI要素340を使用して、プロセスチャンバにおいて処理される基板の数が1以上である場合に「2」の優先順位を有する処理が実施されるものとすることを定めることができる。他のタイプのトリガ条件は、基板の表面からの堆積したおよび/またはエッチングした材料の厚さ、製造装置124において処理されているキャリアの数、電力装置(例えば、RF電力装置)が製造装置124でアイドリングされている時間、電力(例えば、RF電力)が製造装置124で提供されている時間、および製造装置124で提供されている電力(例えば、RF電力、DC電力)量などに対応し得る。いくつかの実施形態では、ユーザが1つまたは複数のGUI要素340を操作したことを検出することに応答して、システム100の洗浄構成要素は、ユーザがシーケンス332のそれぞれのステップおよび/または処理に対する1つまたは複数のトリガ条件を規定することを可能にする追加のセクション(図示せず)を含むようにGUI210を更新することができる。例えば、GUI210の追加のセクションは、ユーザが、ステップおよび/または処理と関連付けられたトリガ条件のタイプを選択あるいは提供し、かつ満たされるべき条件を示すものを提供することを可能にし得る。例証的な例において、GUI210の追加のセクションは、ユーザが、基板数のトリガ条件を選択あるいは提供し、かつステップおよび/または処理がトリガされるようにするために基板数の値が1に等しいものとするという条件を選択あるいは提供することを可能にし得る。
【0031】
セクション330は、ユーザが、シーケンス332の次のステップおよび/または処理に進む前に、システムコントローラ142がシーケンス332のステップおよび/または処理を1回または複数回(すなわち、ループで)行うべきかどうかを示すものを提供することを可能にする1つまたは複数のGUI要素342を含むことができる。図3Bに例証されるように、ユーザは、GUI要素342を使用して、「2」の優先順位を有する処理が実施される前に「1」の優先順位を有する処理が2回実施されるものとすることを定めることができる。追加のまたは代替的な実施形態では、GUI要素342は、さらに、ユーザが、シーケンス332のステップおよび/または処理が実施される回数と関連付けられた追加の条件を提供することを可能にし得る。例えば、GUI要素342は、チャンバアイドル時間が1200秒以上である場合のみ、「1」の優先順位を有する処理が2回実施されるものとすることをユーザが定めることを可能にし得る。その他の場合、システムコントローラ142は、「2」の優先順位を有する処理と関連付けられた命令を実行するものとする。
【0032】
セクション330の1つまたは複数のGUI要素344は、トリガ条件と関連付けられた変数がリセットされるときをユーザが規定することを可能にし得る。図3Bに例証されるように、ユーザは、GUI要素344を使用して、(例えば、「自動リセット」によって示される)洗浄プロセスシーケンス332の1つまたは複数のステップおよび/もしくは処理の実行後に変数が自動的にリセットされるものとすることを定めることができる。GUI要素344は、いくつかの実施形態において、トリガ条件と関連付けられた変数がリセットされるときにユーザが他のインスタンスを規定することを可能にし得る。
【0033】
セクション330は、ユーザが、シーケンス332のステップおよび/または処理が実行される1つまたは複数のプロセスレシピ136を示すものを提供することを可能にする1つまたは複数のGUI要素346を含むことができる。いくつかの実施形態では、ユーザがGUI要素346を操作したことを検出することに応答して、システム100の洗浄構成要素は、データストア250に格納される1つまたは複数の洗浄プロセスレシピを示すようにGUI210を更新することができる。ユーザは、シーケンス332のステップおよび/または処理が実行される特定の洗浄プロセスレシピを選択(例えば、クリック)することができる。他のまたは同様の実施形態では、GUI要素346は、ユーザが、シーケンス332のステップおよび/または処理が実行される洗浄プロセスレシピと関連付けられたファイルを提供(例えば、アップロード)することを可能にし得る。図3Bに例証されるように、GUI要素346は、ユーザが、シーケンス332のステップおよび/または処理が実行される複数の異なるプロセスレシピ136を選択(あるいは提供)することを可能にし得る。
【0034】
セクション330は、ユーザがシーケンス332の1つまたは複数のステップおよび/もしくは処理と関連付けられた追加のデータを提供することを可能にする追加のGUI要素(図示せず)を含むことができることに留意されたい。例えば、セクション330は、ユーザが、シーケンス332の各ステップおよび/または処理と関連付けられた名称またはIDを提供(例えば、タイプ)することを可能にする追加のGUI要素を含むことができる。別の例では、セクション330は、(本明細書では、連続洗浄プロセスシーケンスと称される)より高い優先順位を有する処理がシステムコントローラ142によって実行されるかどうかにかかわらず、シーケンス332の各ステップおよび/または処理が製造装置124において実行されることをシステムコントローラ142によって検討されるかどうかを示すものをユーザが提供することを可能にする追加のGUI要素を含むことができる。ユーザは代替的には、追加のGUI要素を使用して、最高の優先順位を有するトリガされたステップおよび/または処理のみが(すなわち、トリガイベントおよび/またはトリガ条件を考慮して)製造装置124において実行されることがシステムコントローラ142によって検討されるものとするかどうかを示すもの(本明細書では優先洗浄プロセスシーケンスと称される)を提供することができる。優先洗浄プロセスシーケンスでは、シーケンス332の処理が実行されると、トリガされた処理より低い優先順位を有する処理は実行されることが検討されない。セクション330は、さらに、構成要素の特定のタイプがシーケンス332の処理の実行中に使用されるものとするかどうかをユーザが示すことを可能にし得る。例えば、セクション330は、ダミー基板(例えば、洗浄プロセスが指定された基板)がシーケンス332の1つまたは複数の処理の間にプロセスチャンバ内に移動させるものとするかどうかを示すものをユーザが提供することを可能にする追加のGUI要素を含むことができる。追加のGUI要素は、さらに、どのようにチャンバ内に移動させるダミー基板を選択するか(例えば、少なくとも最近使用されたダミー基板を選択するなど)を示すものをユーザが提供することを可能にし得る。
【0035】
図3Aに関して示されるように、セクション320は、ユーザがカスタム後洗浄プロセスシーケンスを提供することを可能にするGUI要素328を含むことができる。ユーザがGUI要素328を操作することに応答して、いくつかの実施形態において、GUI210の別のセクションは、ユーザがカスタム後洗浄プロセスシーケンスと関連付けられたデータを提供することを可能にし得る。図3Cは、本開示の態様による、カスタム後洗浄プロセスシーケンス352と関連付けられたデータをユーザが提供することを可能にするGUI210の例となるセクション350を描写する。いくつかの実施形態では、セクション350は、セクション330に含まれるGUI要素と同じまたは同様である1つまたは複数のGUI要素を含むことができる。例えば、セクション350は、上述されるように、ユーザが洗浄プロセスシーケンス352に1つまたは複数のステップおよび/または処理を追加することを可能にする1つまたは複数のGUI要素334を含むことができる。セクション350はまた、以前に説明した実施形態によると、洗浄プロセスシーケンス352のそれぞれのステップまたは処理の順序もしくは優先順位を示すものをユーザが提供することを可能にする1つまたは複数のGUI要素336を含むことができる。
【0036】
1つまたは複数のGUI要素338は、上述されるように、ユーザが、それぞれのステップおよび/または処理と関連付けられた命令の実行をトリガすることができるイベントを示すものを提供することを可能にし得る。いくつかの実施形態では、洗浄プロセスシーケンス352のそれぞれのステップおよび/または処理をトリガすることができるトリガイベントは、シーケンス332に関して説明したトリガイベントに対応し得る。例えば、トリガイベントは、「常時」タイプのトリガイベントおよび「機器欠陥」タイプのトリガイベントなどを含むことができる。他のまたは同様の実施形態では、洗浄プロセスシーケンス352のステップおよび/または処理をトリガすることができるトリガイベントは、シーケンス332に関して説明したトリガイベントと異なっている可能性がある。例えば、トリガイベントは、他のタイプのトリガイベントの中でも特に、「シーケンス終了」タイプのトリガイベント(例えば、基板プロセスと関連付けられたステップおよび/または処理のシーケンスが完了するときにステップおよび/または処理をトリガするイベント)、「キャリアからの最終基板」タイプのトリガイベント(例えば、製造装置124によって処理される1つまたは複数の前の基板と関連付けられたキャリアが空であるときにステップおよび/または処理をトリガするイベント)を含むことができる。追加のまたは代替的な実施形態では、セクション350は、セクション330に関して説明されるように、1つまたは複数のGUI要素340、342、344、および346を提供することができる。セクション350は、以前に説明した実施形態によると、ユーザが洗浄プロセスシーケンス352のそれぞれのステップおよび/または処理と関連付けられた追加のデータを提供することを可能にする追加のGUI要素を提供することができる。
【0037】
上に示されるように、本開示のいくつかの実施形態は、GUI210のセクション330を介して前洗浄プロセスシーケンス332のステップおよび/または処理と関連付けられたデータ、および/または、GUI210のセクション350を介して後洗浄プロセスシーケンス352のステップおよび/または処理と関連付けられたステップ、処理、および/またはデータと関連付けられたデータをユーザが提供できるように定める。しかしながら、いくつかの実施形態において、ユーザが、セクション330を介してまたは代わりにセクション350を介して、前洗浄プロセスシーケンスおよび/または後洗浄プロセスシーケンスと関連付けられたデータを提供できることは留意されたい。本明細書に説明される実施形態によると、セクション330および/またはセクション350が、他の洗浄プロセス(例えば、周期的な洗浄プロセスなど)と関連付けられたデータをユーザが提供することを可能にするGUI要素を含むことができることも留意されたい。
【0038】
再び図2を参照すると、システム100のユーザは、以前に説明した実施形態によると、GUI210を介して前洗浄プロセスシーケンスおよび/または後洗浄プロセスシーケンスと関連付けられたデータを提供することができる。いくつかの実施形態では、クライアントデバイス106は、提供されたデータを(例えば、洗浄プロセスシーケンス352と関連付けられたデータとして)データストア250に格納することができる。他のまたは同様の実施形態では、クライアントデバイス106は、シーケンサエンジン152に洗浄プロセスシーケンス352と関連付けられたデータを提供することができる。シーケンサエンジン152のプロセスシーケンスデータモジュール212は、上述されるように、システム100のユーザによって提供される洗浄プロセスシーケンス(例えば、シーケンス332、352など)と関連付けられたデータを得るように構成され得る。いくつかの実施形態では、プロセスシーケンスデータモジュール212はデータストア250からプロセスシーケンスデータ252を得ることができる。他のまたは同様の実施形態では、プロセスシーケンスデータモジュール212は、上述されるように、クライアントデバイス106から直接プロセスシーケンスデータ252を得ることができる。
【0039】
いくつかの実施形態では、プロセスシーケンスデータモジュール212は、クライアントデバイス106によって提供されたシーケンスがプロセスチャンバと関連付けられた1つまたは複数の条件を考慮した検証基準を満たすかどうかを決定することができる。例えば、プロセスシーケンスデータモジュール212は、プロセスチャンバと関連付けられた1つまたは複数の条件および/もしくは制約を考慮して、シーケンスの特定のステップおよび/または処理が、シーケンスの別のステップおよび/または処理の後に行われ得るかどうかを決定することができる。ステップおよび/または処理がプロセスチャンバの条件および/制約を考慮して行われ得ると決定することに応答して、プロセスシーケンスデータモジュール212は、シーケンスが検証基準を満たしていると決定することができる。ステップおよび/または処理が条件および/または制約を考慮して実施され得ないと決定することに応答して、プロセスシーケンスデータモジュール212は、シーケンスが検証基準を満たしていないと決定することができる。そのような実施形態では、プロセスシーケンスデータモジュール212は、洗浄シーケンスがプロセスチャンバにおいて実施され得ないことを示す通知をクライアントデバイス106に提供することができる。クライアントデバイス106はその通知を(例えば、GUI210を介して)ユーザに提供することができる。
【0040】
プロセスシーケンスデータモジュール212がプロセスシーケンスデータ252を得ることに応答して、依存関係木生成モジュール214は、得られたプロセスシーケンスデータ252に対応する洗浄プロセスシーケンス(例えば、シーケンス332、352)と関連付けられた依存関係木を生成および/または更新することができる。依存関係木は、いくつかの実施形態では、意味的依存関係木とすることができる。いくつかの実施形態では、依存関係木生成モジュール214は、プロセスシーケンスデータ252を通してパースし、かつシーケンス332、352のステップおよび/または処理のシーケンスと関連付けられた1つまたは複数の洗浄基準を識別することができる。シーケンス332、352のステップおよび/または処理と関連付けられた洗浄基準は、GUI要素336、338、340、342、344、および/または346を介してユーザによって提供されるデータ(例えば、ステップおよび/または処理優先順位、トリガイベント、トリガ条件、ループ、リセット変数、洗浄レシピなど)に対応し得る。依存関係木生成モジュール214は、いくつかの実施形態において、識別された洗浄基準のトリガイベントおよび/またはトリガ条件に基づいて依存関係木を生成および/または更新することができる。いくつかの実施形態では、依存関係木生成モジュール214は、さらに、シーケンス332、352と関連付けられた追加のデータ(例えば、シーケンス332、352が連続プロセスシーケンスまたは優先プロセスシーケンスであるかどうかなど)に基づいて依存関係木を生成および/または更新することができる。
【0041】
図4Aは、本開示のいくつかの態様による、前洗浄プロセスシーケンス332と関連付けられた例となる意味的依存関係木400を例証する。依存関係木400は、上述されるように、GUI210のセクション330を介してユーザによって提供される洗浄基準および/または洗浄プロセスレシピに対応する1つまたは複数のノードを含むことができる。図3Bに関して説明されるように、「1」の優先順位と関連付けられたステップおよび/または処理(シーケンス332の第1のステップおよび/または処理と称される)と関連付けられた命令は、製造装置124の特定のプロセスチャンバと関連付けられたチャンバアイドル時間が(すなわち、ステップおよび/または処理に対するトリガ条件によって規定されるように)1200秒以上である場合(すなわち、「常時」ベースのトリガイベントに従って)実行可能である。第1のステップおよび/または処理と関連付けられたトリガイベントおよび/またはトリガ条件が満たされる場合、洗浄プロセスレシピ1および洗浄プロセスレシピ2と関連付けられた(すなわち、セクション330のGUI要素346によって示される)命令はループで2回(すなわち、GUI要素342によって示されるように)実行されるものとする。図4Aに例証されるように、依存関係木400は、シーケンス332と関連付けられた命令のセットが実行されると、ステップおよび/または処理に対するトリガ条件が満たされるかどうか(すなわち、チャンバアイドル時間が1200秒以上であるかどうか)の決定が(例えば、システムコントローラ142によって)なされるものとすることを定める第1のノード402を含むことができる。ノード402と関連付けられた決定は、上述されるように、シーケンス332の第1のステップおよび/または処理に対する「常時」タイプのトリガイベントを示すものに従って(例えば、システムコントローラ142によって)常に検討され得る。
【0042】
ノード402と関連付けられたトリガ条件が満たされていない場合、以下に説明される実施形態によると、依存関係木400は、ノード416が検討されるものとすることを定める。ノード402と関連付けられたトリガ条件が満たされる場合、依存関係木400のノード404および406によって示されるように、洗浄プロセスレシピ1および洗浄プロセスレシピ2が(例えば、システムコントローラ142によって)実施されるものとする。洗浄プロセスレシピ1および2の実施後、ノード408は、洗浄プロセスレシピ1および2のそれぞれが、2回(すなわち、セクション330のGUI要素342によって示されるループ条件に従って)実施されているかどうかに関する決定がなされるものとすることを定める。洗浄プロセスレシピ1および2が各々2回実施されていない場合、依存関係木400は、エッジ410によって示されるように、洗浄プロセスレシピ1および2が再び実施されるものとすることを定める。洗浄プロセスレシピ1および2が2回実施されている場合、依存関係木400のノード412は、任意選択的に、(すなわち、シーケンス332と関連付けられたプロセスチャンバがアイドリングされている時間を示す)チャンバアイドル時間カウンタが(例えば、セクション330のGUI要素344の「自動リセット」を示すものを考慮して)リセット可能であることを定める。追加のまたは代替的な実施形態では、図4Aに例証されるように、ノード404~408と関連付けられた処理が実施される前にチャンバアイドル時間カウンタはリセット可能である。
【0043】
いくつかの実施形態では、システム100のユーザは、上述されるように、シーケンス332が連続洗浄プロセスシーケンスまたは優先洗浄プロセスシーケンスであるかどうかを(すなわち、GUI210を介して)示すことができる。シーケンス332が優先洗浄プロセスシーケンスであるとユーザが示す場合、依存関係木400は、シーケンス332が(例えば、上述されるループ条件に従って)洗浄プロセスレシピ1および2が実施された後に終了するものとすることを定めることができる。シーケンス332が連続洗浄プロセスシーケンスであるとユーザが示す場合、依存関係木400は、シーケンス332と関連付けられた命令のセットが実行されると、シーケンス332の他のステップおよび/または処理と関連付けられた追加のノードが(例えば、システムコントローラ142によって)評価されるものとすることを定めることができる。
【0044】
図3Bに関して説明されるように、「2」の優先順位と関連付けられたステップおよび/または処理(シーケンス332の第2のステップおよび/または処理と称される)と関連付けられた命令は、基板IDトリガイベントが(すなわち、GUI要素338の「基板ID」タイプのトリガイベントに従って)生じた場合、および、基板カウンタによって示される基板の数が(すなわち、GUI要素340のトリガ条件に従って)1つの基板に対応するおよび/またはこれを超える場合、実行可能である。第2のステップおよび/または処理と関連付けられたトリガイベントおよびトリガ条件が満たされる場合、洗浄プロセスレシピ3と関連付けられた(すなわち、GUI要素346によって示されるように)命令は1回(すなわち、GUI要素342によって示されるループ条件に従って)実行されるものとする。図4Aに例証されるように、ノード416は、基板IDが(すなわち、シーケンス332の第2のステップおよび/または処理のトリガイベントに従って)変更されたかどうかに関する決定がなされるものとすることを定めることができる。基板IDが変更されていない場合、依存関係木400は、シーケンス332のステップおよび/または処理が優先順位の順序に従って(例えば、木400のプロセスもしくはフローの終了または終結によって示されるように)再検討されるものとすることを定める。基板IDが変更された場合、ノード420は、基板カウンタの値が(すなわち、シーケンス332の第2のステップおよび/または処理のトリガ条件に従って)1以上であるかどうかに関する決定がなされるものと定めることができる。基板カウンタが1以上ではない場合、依存関係木400は、上述されるように、シーケンス332のステップおよび/または処理が再検討されるものとすることを定める。基板カウンタが1以上である場合、ノード422は、洗浄プロセスレシピ3が(すなわち、GUI要素342によって示されるループ条件に従って1回のみ)実施されるものとすることを定める。いくつかの実施形態では、洗浄プロセスレシピ3が実施された後、ノード424は、基板カウンタが(すなわち、GUI要素344の「自動リセット」を示すものに従って)リセットされるものとすることを示す。他のまたは同様の実施形態では、基板カウンタは、図4Aに例証されるように、洗浄プロセスレシピ3が実施される前にリセット可能である。基板カウンタがリセットされたおよび/または洗浄プロセスレシピ3が実施された後、依存関係木400は、上述されるように、シーケンス332のステップおよび/または処理が再検討されるものとすることを定める。
【0045】
図4Bは、本開示のいくつかの態様による、後洗浄プロセスシーケンス352と関連付けられた別の例となる意味的依存関係木450を例証する。依存関係木450は、上述されるように、GUI210のセクション350を介してユーザによって提供される洗浄基準および/または洗浄プロセスレシピに対応する1つまたは複数のノードを含むことができる。依存関係木450のノードおよびエッジは、上に図3Bおよび図4Aに関して説明されるように、GUI要素336、338、340、342、344、および/または346を介して提供される示すものに対応し得る。例えば、ノード452、454、456、および/または458は、シーケンス352における「1」の優先順位と関連付けられたステップおよび/または処理(すなわち、シーケンス352の第1のステップおよび/または処理)に対応し得る。ノード460、462、および/または464は、シーケンス352の第2のステップおよび/または処理(すなわち、「2」の優先順位と関連付けられたステップおよび/または処理)に対応し得る。ノード466、468、470、および/または472は、シーケンス352の第2のステップおよび/または処理(すなわち、「3」の優先順位と関連付けられたステップおよび/または処理)と関連付けられたステップおよび/または処理に対応し得る。単に説明および例証の目的で、依存関係木450の破線は、(例えば、シーケンス352が連続洗浄プロセスまたは優先洗浄プロセスであるかどうかに対応する)依存関係木450のオプションのフローパスを示すことができる。さらに、シーケンス352のトリガイベントおよび/またはトリガ条件に従って、図4Bに含まれる「SC」は「基板数」を指し、図4Bに含まれる「CH」は「チャンバ時間」を指す。
【0046】
再び図2を参照すると、依存関係木生成モジュール214は、上述される依存関係木400および/または依存関係木450など、GUI210を介してユーザによって示されるそれぞれの洗浄シーケンスと関連付けられた依存関係木を生成することができる。命令セット生成モジュール216は、いくつかの実施形態において、生成された依存関係木に基づいて洗浄シーケンスと関連付けられた命令のセットを生成することができる。例えば、命令セット生成モジュール216は、依存関係木によってパースし、かつ各ノードおよびエッジを、処理のシーケンスのそれぞれの処理に対応する命令に変換することができる。いくつかの実施形態では、命令セット生成モジュール216は、生成された命令のセットにそれぞれのプロセスレシピと関連付けられた命令を含むことができる。例えば、依存関係木のノードが特定のプロセスレシピ136(例えば、ノード404の洗浄プロセスレシピ1、ノード406の洗浄プロセスレシピ2など)に対応することを検出することに応答して、命令セット生成モジュール216は、識別されたプロセスレシピ136に対応するデータストア250および/または1つもしくは複数のライブラリから(例えば、洗浄ライブラリ134から)プロセスレシピ136を識別することができる。命令セット生成モジュール216は、いくつかの実施形態において、生成された命令のセットに識別されたプロセスレシピ136に対する1つまたは複数の処理を実施することと関連付けられた命令を含むことができる。他のまたは同様の実施形態では、命令セット生成モジュール216は、識別されたプロセスレシピ136への参照(例えば、ポインタ、マッピングなど)を含むことができる。いくつかの実施形態では、命令セット生成モジュール216は、生成された命令セットをデータストア250に(例えば、生成された命令セット254として)格納することができる。
【0047】
システムコントローラ142の命令セット実行モジュール220は、いくつかの実施形態において、洗浄プロセスを実施するために生成された命令セット254を実行するように構成可能である。いくつかの実施形態では、命令セット実行モジュール220は、(例えば、データストア250からおよび/またはシーケンサエンジン152から)生成された命令セット254を得ることができ、かつ生成された命令セット254を実行することができる。実行された命令セットは、GUI210を介してユーザによって提供されるシーケンスに従って洗浄プロセスを製造装置124において実行させることができる。
【0048】
いくつかの実施形態では、システム100のユーザは、以前に説明した実施形態によると、GUI210を介して洗浄プロセスシーケンスを更新および/または修正することができる。例えば、ユーザは、追加のステップおよび/または処理をシーケンス332または352に追加する、シーケンス332または352の既存のステップおよび/または処理と関連付けられた1つまたは複数のプロセスレシピおよび/または条件を修正する、および/またはGUI210を介してシーケンス332または352の各ステップ、処理、および/または条件と関連付けられた優先順位を修正することができる。クライアントデバイス106は、上述されるように、シーケンサエンジン152に洗浄プロセスシーケンスへの更新および/または修正を示すものを提供することができる。以前に説明した実施形態によると、依存関係木生成モジュール214は、示された更新および/または修正を考慮してシーケンスと関連付けられた依存関係木を更新することができ、命令セット生成モジュール216は、シーケンスに対する更新された命令のセットを生成することができる。命令セット実行モジュール220は、以前に説明した実施形態によると、製造装置124において更新されたおよび/または修正された洗浄プロセスシーケンスを実行するように更新された命令のセットを実行することができる。
【0049】
いくつかの実施形態では、シーケンサエンジン152の1つまたは複数のモジュールは、シーケンスに対する命令セットを得るために1つまたは複数の機械学習モデルを使用することができる。1つの実施形態では、依存関係木生成モジュール214は、1つまたは複数の機械学習モデルを使用して、プロセスシーケンスデータ252に基づいて依存関係木400、450を生成することができる。例えば、依存関係木生成モジュール214は、所与のプロセスシーケンスデータに基づいて、依存関係木を生成するように訓練された機械学習モデルへの入力としてプロセスシーケンスデータ252を提供することができる。依存関係木生成モジュール214は、訓練されたモデルの1つまたは複数の出力に基づいて依存関係木400および/または450を得ることができる。追加のまたは代替的な実施形態では、命令セット生成モジュール216は、1つまたは複数の機械学習モデルを使用して命令セット254を生成することができる。例えば、命令セット生成モジュール216は、生成された依存関係木(例えば、依存関係木400、450など)を提供することができる、および/または、所与の依存関係木および/またはプロセスシーケンスデータに基づいて洗浄プロセスに対する命令のセットを生成するように訓練された機械学習モデルへの入力としてシーケンスデータ252を処理することができる。命令セット生成モジュール216は、訓練されたモデルの1つまたは複数の出力に基づいて命令セット254を得ることができる。
【0050】
図5は、本開示の態様による、洗浄プロセスシーケンス管理の例となる方法500のフロー図である。図6は、本開示の態様による、洗浄プロセスシーケンス管理の別の例となる方法600のフロー図である。方法500および/または600は、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用マシン上でのランであるなど)、ファームウェア、またはそれらの何らかの組み合わせを含むことができる処理ロジックによって実施可能である。1つの実施形態において、方法500および/または600は、図1のコンピュータシステムアーキテクチャ100などのコンピュータシステムによって実施され得る。他のまたは同様の実施形態において、方法500および/または600の1つもしくは複数の処理は、図に描写されない1つまたは複数の他のマシンによって実施され得る。いくつかの態様において、方法500および/または600の1つもしくは複数の処理は、上述されるように、洗浄プロセス構成要素によって実施され得る。
【0051】
説明の簡便性のため、本方法は、一連の行為として描写および説明される。しかしながら、本開示による行為は、様々な順序で、および/または同時に、ならびに本明細書に提示および説明されない他の行為と共に、発生し得る。さらには、すべての例証された行為が、開示された主題による方法を実装するために実施され得るわけではない。加えて、当業者は、本方法が、代替的に、状態図による一連の相関状態またはイベントとして表され得るということを理解するものとする。追加的に、本明細書に開示される方法は、そのような方法をコンピューティングデバイスに輸送および移送することを促進するために製造物品に格納することができるということを理解されたい。製造物品という用語は、本明細書で使用される場合、任意のコンピュータ可読デバイスまたはストレージ媒体からアクセス可能なコンピュータプログラムを包含することが意図される。
【0052】
ここで図5を参照すると、ブロック510において、処理ロジックは、製造システムにおいて少なくとも1つの基板プロセスと関連付けられた洗浄処理のシーケンスを示すもの、および洗浄プロセスの間に洗浄処理のシーケンスの開始をトリガする1つまたは複数の洗浄基準を示すものを受信する。いくつかの実施形態では、処理ロジックは、クライアントデバイス106などのクライアントデバイスから示すものを受信することができる。クライアントデバイス106のユーザは、以前に説明した実施形態によると、GUI210を介して洗浄処理および1つまたは複数の洗浄基準と関連付けられたデータを提供することができる。洗浄処理のシーケンスは、本明細書に説明されるように、シーケンス332および/またはシーケンス352に対応し得る。1つまたは複数の洗浄基準は、以前に説明した実施形態によると、優先順位、トリガイベント、トリガ条件、ループ、リセット変数、および/または任意のその他の洗浄基準に対応し得る。
【0053】
ブロック512において、処理ロジックは、洗浄処理のシーケンスに対応する命令のセットを生成する。いくつかの実施形態では、処理ロジックは、(例えば、図2の依存関係木生成モジュール214および/または命令セット生成モジュール216に関して説明した実施形態によると)洗浄処理のシーケンスと関連付けられた依存関係木を生成し、かつ依存関係木に基づいて命令のセットを生成することによって、命令のセットを生成することができる。ブロック514において、処理ロジックは、1つまたは複数の洗浄基準のうちの少なくとも1つが満たされていることを検出する。例えば、処理ロジックは、シーケンスと関連付けられた、優先順位、トリガイベント、トリガ条件などのうちの少なくとも1つが満たされていることを検出することができる。ブロック516において、処理ロジックは、生成された命令のセットを実行して、処理チャンバにおいて洗浄処理のシーケンスを開始する。
【0054】
上に示されるように、図6は、本開示の態様による、洗浄プロセスシーケンス管理の別の例となる方法600のフロー図である。ブロック610において、処理ロジックは、製造システムと関連付けられた洗浄プロセスシーケンス構成要素(本明細書では洗浄構成要素とも称される)のGUIを提供する。提供されたGUIは、いくつかの実施形態において、GUI210に対応し得る。ブロック612において、処理ロジックは、GUIを介して、製造システムのプロセスチャンバにおいて実施される洗浄プロセスと関連付けられた処理のシーケンスを示すものを受信する。システム100のユーザは、図3A図3Cに関して説明されるように、GUI210のGUI要素を介して処理のシーケンスを示すものを提供することができる。ブロック614において、処理ロジックは、以前に説明した実施形態によると、提供されたシーケンスを示すものに基づいて洗浄プロセスと関連付けられた命令のセットを生成する。ブロック616において、処理ロジックは、生成された命令のセットを製造システムと関連付けられたシステムコントローラ(例えば、システムコントローラ142)に送信する。システムコントローラ142は、以前に説明した実施形態によると、洗浄プロセスのための処理のシーケンスを実施するように生成された命令のセットを実行することができる。
【0055】
図7は、ある特定の実施形態による、コンピュータシステム700を示すブロック図である。図7は、コンピュータデバイス700の例となる形態におけるマシンの図表示を示し、コンピューティングデバイス700内で、マシンに本明細書に論じられる方法論のうちのいずれか1つまたは複数を実施させるための命令のセットが実行可能である。代替の実施形態において、マシンは、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネット内の他のマシンに接続(例えば、ネットワーク接続)され得る。マシンは、クライアント-サーバネットワーク環境内のサーバもしくはクライアントマシンの立場で、またはピアツーピア(もしくは分散)ネットワーク環境内のピアマシンとして、処理し得る。マシンは、パーソナルコンピュータ(PC)、タブレットコンピュータ、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブ家電、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによってとられるべき行動を指定する命令のセット(連続的またはその他)を実行する能力がある任意のマシンであり得る。さらに、単一のマシンのみが例証されるが、「マシン」という用語は、本明細書内で論じられる方法論のうちの任意の1つまたは複数を実施するために命令のセット(または複数のセット)を個々にまたはまとめて実行するマシン(例えば、コンピュータ)の任意の集合も含むと見なされるものとする。実施形態では、コンピューティングデバイス700は、図1の、クライアントデバイス106、サーバマシン140、および/またはサーバマシン150のいずれかに対応し得る。
【0056】
例となるコンピューティングデバイス700は、処理デバイス702、メインメモリ704(例えば、リードオンリメモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)同期DRAM(SDRAM)など)、スタティックメモリ706(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、および二次メモリ(例えば、データストレージデバイス728)を含み、これらはバス708を介して互いと通信する。
【0057】
処理デバイス702は、マイクロプロセッサ、中央処理装置、または同様のものなど、1つまたは複数の汎用プロセッサを表し得る。より詳細には、処理デバイス702は、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサであり得る。処理デバイス702はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、または同様のものなど、1つまたは複数の特殊用途処理デバイスであり得る。処理デバイス702はまた、システムオンチップ(SoC)、プログラマブルロジックコントローラ(PLC)、または他のタイプの処理デバイスであり得るか、またはこれを含み得る。処理デバイス702は、本明細書内で論じられる処理およびステップを実施するための処理ロジック(命令726)を実施するように構成される。
【0058】
コンピューティングデバイス700は、ネットワーク764と通信するためのネットワークインターフェースデバイス722をさらに含み得る。コンピューティングデバイス800はまた、ビデオディスプレイ装置710(例えば、液晶ディスプレイ(LCD)または陰極線管(CRT))、英数字入力デバイス712(例えば、キーボード)、カーソル制御デバイス714(例えば、マウス)、および信号生成デバイス720(例えば、スピーカ)を含み得る。
【0059】
データストレージデバイス728は、本明細書に説明される方法論または機能のうちの任意の1つまたは複数を具現化する命令726の1つまたは複数のセットが格納されるマシン可読ストレージ媒体(またはより詳細には、非一時的コンピュータ可読ストレージ媒体)724を含み得る。非一時的ストレージ媒体は、キャリア波以外のストレージ媒体を指す。命令726はまた、メインメモリ704内、および/またはコンピュータデバイス700によるその実行中は処理デバイス702内に、完全に、または少なくとも部分的に存在し得、メインメモリ704および処理デバイス702もまた、コンピュータ可読ストレージ媒体を構成する。
【0060】
コンピュータ可読ストレージ媒体724は、例となる実施形態において、単一の媒体として示されるが、「コンピュータ可読ストレージ媒体」という用語は、命令の1つまたは複数のセットを格納する単一の媒体または複数の媒体(例えば、集中または分散型データベース、ならびに/または関連キャッシュおよびサーバ)を含むと見なされるべきである。「コンピュータ可読ストレージ媒体」という用語はまた、マシンによる実行のための命令のセットを符号化および格納する能力がある、ならびに本開示の方法論のうちの任意の1つまたは複数をマシンに実施させる、任意の媒体を含むと見なされるものとする。したがって、「コンピュータ可読ストレージ媒体」という用語は、限定されるものではないが、ソリッドステートメモリ、ならびに光学および磁気媒体を含むと見なされるものとする。
【0061】
先の説明は、本開示のいくつかの実施形態の良好な理解を提供するために、特定のシステム、構成要素、方法などの例など、多数の特定の詳細を明記する。しかしながら、本開示の少なくともいくつかの実施形態は、これらの特定の詳細なしに実践され得るということは当業者には明らかである。他の場合において、周知の構成要素または方法は、本開示を不必要に不明瞭にすることを回避するために、詳細には説明されないか、または、単純なブロック図形式で提示される。故に、明記される特定の詳細は、単に例示にすぎない。特定の実施形態は、これらの例示的な詳細とは異なり得、依然として本開示の範囲内であることが企図され得る。
【0062】
本明細書全体にわたって「1つの実施形態」または「ある実施形態」への言及は、その実施形態と関連して説明される特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。故に、本明細書全体にわたる様々な場所における「1つの実施形態」または「ある実施形態」という表現の出現は、必ずしもすべて同じ実施形態に言及しているわけではない。加えて、「または」という用語は、排他的な「または」よりもむしろ、包含的な「または」を意味することが意図される。「約」または「およそ」という用語が本明細書内で使用されるとき、これは、提示される公称値が10%内の精度であることを意味することが意図される。
【0063】
本明細書内の方法の処理は、特定の順序で示され説明されるが、各方法の処理の順序は、特定の処理が逆の順序で実施され得、その結果として、特定の処理が、他の処理と、少なくとも部分的に同時に実施され得るように、変更され得る。別の実施形態において、命令または別個の処理のサブ処理は、断続および/または交互様式であり得る。
【0064】
上記説明は、例証的であり限定的ではないということが理解される。多くの他の実施形態は、上記説明を読んで理解する際に当業者には明白である。したがって、本開示の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲が権利を与えられる等価物の全範囲と共に決定されるべきである。
図1
図2
図3A
図3B
図3C
図4A
図4B
図5
図6
図7
【国際調査報告】