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

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

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

特表2024-509520製造システムコントローラの更新プロセス中の入出力(IO)ハンドリング
<>
  • 特表-製造システムコントローラの更新プロセス中の入出力(IO)ハンドリング 図1
  • 特表-製造システムコントローラの更新プロセス中の入出力(IO)ハンドリング 図2
  • 特表-製造システムコントローラの更新プロセス中の入出力(IO)ハンドリング 図3
  • 特表-製造システムコントローラの更新プロセス中の入出力(IO)ハンドリング 図4
  • 特表-製造システムコントローラの更新プロセス中の入出力(IO)ハンドリング 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-04
(54)【発明の名称】製造システムコントローラの更新プロセス中の入出力(IO)ハンドリング
(51)【国際特許分類】
   H01L 21/677 20060101AFI20240226BHJP
【FI】
H01L21/68 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023551674
(86)(22)【出願日】2022-02-28
(85)【翻訳文提出日】2023-10-23
(86)【国際出願番号】 US2022018232
(87)【国際公開番号】W WO2022187172
(87)【国際公開日】2022-09-09
(31)【優先権主張番号】63/155,265
(32)【優先日】2021-03-01
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/678,817
(32)【優先日】2022-02-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
【住所又は居所原語表記】3050 Bowers Avenue Santa Clara CA 95054 U.S.A.
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ロボフスキー, ユージン
(72)【発明者】
【氏名】パナシュク, ドミートリー
(72)【発明者】
【氏名】ヴェンカテサン, ジセンドラン
(72)【発明者】
【氏名】ロイ, サンディープ
【テーマコード(参考)】
5F131
【Fターム(参考)】
5F131AA02
5F131AA03
5F131BA03
5F131BA04
5F131BA19
5F131BA24
5F131BA37
5F131CA32
5F131CA36
5F131CA44
5F131CA45
5F131DA02
5F131DA32
5F131DA33
5F131DA36
5F131DA42
5F131DB02
5F131DB52
5F131DB62
5F131DB76
5F131EA02
5F131EA03
5F131EA04
5F131EA05
5F131EA06
5F131EB81
5F131EB82
5F131GA14
5F131HA42
5F131HA43
5F131HA44
5F131KA06
5F131KA23
5F131KA24
5F131KA25
5F131KA40
(57)【要約】
製造システムコントローラの更新プロセス中の入出力(IO)ハンドリングのための方法とシステムが提供される。第1の通知が、システムコントローラのIOドライバによって、プロセスチャンバの構成要素とシステムコントローラの基板プロセスIOハンドラとの間で送信される。基板プロセスIOハンドラは、プロセスレシピに対応する基板プロセス制御命令を実行する。第1の通知は、基板プロセス制御命令に関連付けられた操作に対応する。基板プロセス制御命令が更新されることになったと判定される。基板プロセスが終了したことが検出される。第2の通知が、プロセスチャンバの構成要素とシステムIOハンドラとの間で送信される。システム更新IOハンドラは、基板プロセス制御命令が更新される間、プロセスチャンバの構成要素にプロセスチャンバの環境を目標状態に維持させるように構成されたコマンドを含むシステム更新制御命令を実行する。
【選択図】図1
【特許請求の範囲】
【請求項1】
システムコントローラの入出力(IO)ドライバによって、プロセスチャンバの1つ以上の構成要素と前記システムコントローラの基板プロセスIOハンドラとの間で、通知の第1のセットを送信することであって、前記基板プロセスIOハンドラは、前記プロセスチャンバにおける基板プロセス中に、プロセスレシピに対応する基板プロセス制御命令のセットを実行するように構成されており、通知の前記第1のセットは、基板プロセス制御命令の前記セットに関連付けられた1つ以上の操作に対応する、通知の第1のセットを送信することと、
基板プロセス制御命令の前記セットが更新されることになったと判定することと、
前記基板プロセスが前記プロセスチャンバにおいて終了したことを検出することと、
前記プロセスチャンバの前記1つ以上の構成要素と前記システムコントローラのシステム更新IOハンドラとの間で、通知の第2のセットを送信することであって、前記システム更新IOハンドラは、基板プロセス制御命令の前記セットが更新される間、前記プロセスチャンバの前記1つ以上の構成要素に、前記プロセスチャンバの環境を目標状態に維持させるように構成されたコマンドを含むシステム更新制御命令のセットを実行するように構成されており、通知の前記第2のセットは、システム更新制御命令の前記セットに関連付けられた1つ以上の操作に対応する、通知の第2のセットを送信することと、
を含む方法。
【請求項2】
前記基板プロセス制御命令の前記更新が完了したと判定することと、
前記プロセスチャンバの前記1つ以上の構成要素と前記基板プロセスIOハンドラとの間で、通知の第3のセットを送信することと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記基板プロセスが前記プロセスチャンバにおいて終了したことを検出することに応答して、前記基板プロセス制御命令の前記更新の開始前の前記プロセスチャンバの第1の状態を取得することと、
前記基板プロセス制御命令の前記更新が完了したと判定することに応答して、前記基板プロセス制御命令の前記更新の完了後の前記プロセスチャンバの第2の状態を取得することと、
をさらに含み、
前記プロセスチャンバの前記第2の状態が前記プロセスチャンバの前記第1の状態を考慮して状態基準を満たしているという判定に応答して、通知の前記第3のセットが、前記プロセスチャンバの前記1つ以上の構成要素と前記基板プロセスIOハンドラとの間で送信される、請求項2に記載の方法。
【請求項4】
前記プロセスチャンバの前記1つ以上の構成要素と前記システム更新IOハンドラとの間で通知の前記第2のセットを送信することが、
前記システム更新IOハンドラから、通知の前記第2のセットのうちの第1の通知を受信することであって、前記第1の通知は、前記プロセスチャンバの前記1つ以上の構成要素のうちの第1の構成要素に前記プロセスチャンバの前記環境を前記目標状態に維持させることに関連付けられたコマンドを含む、第1の通知を受信することと、
前記システムコントローラのIOデバイスを介して、前記第1の通知を前記第1の構成要素に送信することと、
を含む、請求項1に記載の方法。
【請求項5】
前記プロセスチャンバの1つ以上の構成要素のうちの第2の構成要素から、前記システムコントローラの前記IOデバイスを介して、通知の前記第2のセットのうちの第2の通知を受信することであって、前記第2の通知は、前記第2の構成要素によって生成されたセンサデータを含み、前記センサデータは、前記プロセスチャンバの前記環境に関連付けられている、第2の通知を受信することと、
前記第2の通知の前記センサデータを前記システムコントローラの前記システム更新IOハンドラに送信することと、
をさらに含む、請求項4に記載の方法。
【請求項6】
システム更新制御命令の前記セットは、基板プロセス制御命令の前記セットのサブセットである、請求項1に記載の方法。
【請求項7】
プロセスチャンバの前記1つ以上の構成要素は、温度制御構成要素、圧力制御構成要素、湿度制御構成要素、温度センサ、圧力センサ、湿度センサ、酸素センサ、粒子検出器、プロセスガス流量センサ、または洗浄ガス流量センサのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項8】
メモリと、
前記メモリに結合された処理デバイスと、
を備えるシステムであって、前記処理デバイスは、
システムコントローラの入出力(IO)ドライバによって、プロセスチャンバの1つ以上の構成要素と前記システムコントローラの基板プロセスIOハンドラとの間で、通知の第1のセットを送信することであって、前記基板プロセスIOハンドラは、前記プロセスチャンバにおける基板プロセス中に、プロセスレシピに対応する基板プロセス制御命令のセットを実行するように構成されており、通知の前記第1のセットは、基板プロセス制御命令の前記セットに関連付けられた1つ以上の操作に対応する、通知の第1のセットを送信することと、
基板プロセス制御命令の前記セットが更新されることになったと判定することと、
前記基板プロセスが前記プロセスチャンバにおいて終了したことを検出することと、
前記プロセスチャンバの前記1つ以上の構成要素と前記システムコントローラのシステム更新IOハンドラとの間で、通知の第2のセットを送信することであって、前記システム更新IOハンドラは、基板プロセス制御命令の前記セットが更新される間、前記プロセスチャンバの前記1つ以上の構成要素に、前記プロセスチャンバの環境を目標状態に維持させるように構成されたコマンドを含むシステム更新制御命令のセットを実行するように構成されており、通知の前記第2のセットは、システム更新制御命令の前記セットに関連付けられた1つ以上の操作に対応する、通知の第2のセットを送信することと、
を含む操作を実行するためのものである、システム。
【請求項9】
前記操作は、
前記基板プロセス制御命令の前記更新が完了したと判定することと、
前記プロセスチャンバの前記1つ以上の構成要素と前記基板プロセスIOハンドラとの間で、通知の第3のセットを送信することと、
をさらに含む、請求項8に記載のシステム。
【請求項10】
前記操作は、
前記基板プロセスが前記プロセスチャンバにおいて終了したことを検出することに応答して、前記基板プロセス制御命令の前記更新の開始前の前記プロセスチャンバの第1の状態を取得することと、
前記基板プロセス制御命令の前記更新が完了したと判定することに応答して、前記基板プロセス制御命令の前記更新の完了後の前記プロセスチャンバの第2の状態を取得することと、
をさらに含み、
前記プロセスチャンバの前記第2の状態が前記プロセスチャンバの前記第1の状態を考慮して状態基準を満たしているという判定に応答して、通知の前記第3のセットが、前記プロセスチャンバの前記1つ以上の構成要素と前記基板プロセスIOハンドラとの間で送信される、請求項9に記載のシステム。
【請求項11】
前記プロセスチャンバの前記1つ以上の構成要素と前記システム更新IOハンドラとの間で通知の前記第2のセットを送信するために、前記処理デバイスは、
前記システム更新IOハンドラから、通知の前記第2のセットのうちの第1の通知を受信することであって、前記第1の通知は、前記プロセスチャンバの前記1つ以上の構成要素のうちの第1の構成要素に前記プロセスチャンバの前記環境を前記目標状態に維持させることに関連付けられたコマンドを含む、第1の通知を受信することと、
前記システムコントローラのIOデバイスを介して、前記第1の通知を前記第1の構成要素に送信することと、
を含む操作を実行するためのものである、請求項8に記載のシステム。
【請求項12】
前記操作は、
前記プロセスチャンバの1つ以上の構成要素のうちの第2の構成要素から、前記システムコントローラの前記IOデバイスを介して、通知の前記第2のセットのうちの第2の通知を受信することであって、前記第2の通知は、前記第2の構成要素によって生成されたセンサデータを含み、前記センサデータは、前記プロセスチャンバの前記環境に関連付けられている、第2の通知を受信することと、
前記第2の通知の前記センサデータを前記システムコントローラの前記システム更新IOハンドラに送信することと、
をさらに含む、請求項11に記載のシステム。
【請求項13】
システム更新制御命令の前記セットは、前記基板プロセス制御命令のサブセットである、請求項8に記載のシステム。
【請求項14】
命令を備える非一時的なコンピュータ可読記憶媒体であって、前記命令は、処理デバイスによって実行されると、前記処理デバイスに、
システムコントローラの入出力(IO)ドライバによって、プロセスチャンバの1つ以上の構成要素と前記システムコントローラの基板プロセスIOハンドラとの間で、通知の第1のセットを送信することであって、前記基板プロセスIOハンドラは、前記プロセスチャンバにおける基板プロセス中に、プロセスレシピに対応する基板プロセス制御命令のセットを実行するように構成されており、通知の前記第1のセットは、基板プロセス制御命令の前記セットに関連付けられた1つ以上の操作に対応する、通知の第1のセットを送信することと、
基板プロセス制御命令の前記セットが更新されることになったと判定することと、
前記基板プロセスが前記プロセスチャンバにおいて終了したことを検出することと、
前記プロセスチャンバの前記1つ以上の構成要素と前記システムコントローラのシステム更新IOハンドラとの間で、通知の第2のセットを送信することであって、前記システム更新IOハンドラは、基板プロセス制御命令の前記セットが更新される間、前記プロセスチャンバの前記1つ以上の構成要素に、前記プロセスチャンバの環境を目標状態に維持させるように構成されたコマンドを含むシステム更新制御命令のセットを実行するように構成されており、通知の前記第2のセットは、システム更新制御命令の前記セットに関連付けられた1つ以上の操作に対応する、通知の第2のセットを送信することと、
を含む操作を実行させる、非一時的なコンピュータ可読記憶媒体。
【請求項15】
前記操作は、
前記基板プロセス制御命令の前記更新が完了したと判定することと、
前記プロセスチャンバの前記1つ以上の構成要素と前記基板プロセスIOハンドラとの間で、通知の第3のセットを送信することと、
をさらに含む、請求項14に記載の非一時的なコンピュータ可読記憶媒体。
【請求項16】
前記操作は、
前記基板プロセスが前記プロセスチャンバにおいて終了したことを検出することに応答して、前記基板プロセス制御命令の前記更新の開始前の前記プロセスチャンバの第1の状態を取得することと、
前記基板プロセス制御命令の前記更新が完了したと判定することに応答して、前記基板プロセス制御命令の前記更新の完了後の前記プロセスチャンバの第2の状態を取得することと、
をさらに含み、
前記プロセスチャンバの前記第2の状態が前記プロセスチャンバの前記第1の状態を考慮して状態基準を満たしているという判定に応答して、通知の前記第3のセットが、前記プロセスチャンバの前記1つ以上の構成要素と前記基板プロセスIOハンドラとの間で送信される、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記プロセスチャンバの前記1つ以上の構成要素と前記システム更新IOハンドラとの間で通知の前記第2のセットを送信するために、前記処理デバイスは、
前記システム更新IOハンドラから、通知の前記第2のセットのうちの第1の通知を受信することであって、前記第1の通知は、前記プロセスチャンバの前記1つ以上の構成要素のうちの第1の構成要素に前記プロセスチャンバの前記環境を前記目標状態に維持させることに関連付けられたコマンドを含む、第1の通知を受信することと、
前記システムコントローラのIOデバイスを介して、前記第1の通知を前記第1の構成要素に送信することと、
を含む操作を実行するためのものである、請求項14に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記操作は、
前記プロセスチャンバの1つ以上の構成要素のうちの第2の構成要素から、前記システムコントローラの前記IOデバイスを介して、通知の前記第2のセットのうちの第2の通知を受信することであって、前記第2の通知は、前記第2の構成要素によって生成されたセンサデータを含み、前記センサデータは、前記プロセスチャンバの前記環境に関連付けられている、第2の通知を受信することと、
前記第2の通知の前記センサデータを前記システムコントローラの前記システム更新IOハンドラに送信することと、
をさらに含む、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
システム更新制御命令の前記セットは、基板プロセス制御命令の前記セットのサブセットである、請求項14に記載の非一時的なコンピュータ可読記憶媒体。
【請求項20】
プロセスチャンバの前記1つ以上の構成要素は、温度制御構成要素、圧力制御構成要素、湿度制御構成要素、温度センサ、圧力センサ、湿度センサ、酸素センサ、粒子検出器、プロセスガス流量センサ、または洗浄ガス流量センサのうちの少なくとも1つを含む、請求項14に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本開示の実施形態は、一般に、製造システムに関し、より詳細には、製造システムコントローラの更新プロセス中の入出力(IO)ハンドリングに関する。
【背景技術】
【0002】
[0002] 製造システムにおけるシステムコントローラは、製造システムのチャンバがプロセスレシピに従って製造システムで基板を処理するのを、制御することができる。システムコントローラはまた、基板プロセス間のプロセスチャンバの環境を目標状態に維持することもできる。場合によっては、システムコントローラのソフトウェアは、新しい機能をシステムコントローラに統合するため、または既存のシステムコントローラのソフトウェアのエラー(ソフトウェアのバグなど)を修正するために更新される。ソフトウェアの更新中、プロセスチャンバは運転停止されており(例えば、プロセスチャンバの温度が周囲温度にされ、プロセスチャンバから真空圧が取り除かれるなど)、ソフトウェアの更新が完了した後、プロセスチャンバは再起動される。プロセスチャンバが運転停止されている間に、プロセスチャンバ環境の状態は悪化する可能性があり、プロセスチャンバがソフトウェア更新前と同じように基板を処理するために使用できるようになるまで、プロセスチャンバの状態を許容可能な状態に回復させるには、かなりの時間(例えば、数時間、数日、数週間など)がかかる可能性がある。その結果、ソフトウェアの更新は、生産性や製造システムで処理できる基板の量に大きな悪影響を及ぼす。
【発明の概要】
【0003】
[0003] 説明されている実施形態のいくつかは、製造システムコントローラの更新プロセス中の入出力(IO)ハンドリングの方法を対象としている。この方法は、システムコントローラの入出力(IO)ドライバによって、プロセスチャンバの1つ以上の構成要素とシステムコントローラの基板プロセスIOハンドラとの間で、通知の第1のセットを送信することを含む。基板プロセスIOハンドラは、プロセスチャンバでの基板プロセス中に、プロセスレシピに対応する基板プロセス制御命令のセットを実行するように構成されている。通知の第1のセットは、基板プロセス制御命令のセットに関連付けられた1つ以上の操作に対応する。この方法はさらに、基板プロセス制御命令のセットが更新されることになったと判定することを含む。この方法はさらに、プロセスチャンバにおいて基板プロセスが終了したことを検出することを含む。この方法はさらに、プロセスチャンバの1つ以上の構成要素とシステムコントローラのシステム更新IOハンドラとの間で、通知の第2のセットを送信することを含む。システム更新IOハンドラは、基板プロセス制御命令のセットが更新される間、プロセスチャンバの1つ以上の構成要素にプロセスチャンバの環境を目標状態に維持させるように構成されたコマンドを含むシステム更新制御命令のセットを実行するように構成されている。通知の第2のセットは、システム更新制御命令のセットに関連付けられた1つ以上の操作に対応する。
【0004】
[0004] 本開示のいくつかの実施形態は、メモリおよび処理デバイスを含むシステムに向けられている。処理デバイスは、システムコントローラの入出力(IO)ドライバによって、プロセスチャンバの1つ以上の構成要素とシステムコントローラの基板プロセスIOハンドラとの間で、通知の第1のセットを送信することを含む操作を実行するように構成されている。基板プロセスIOハンドラは、プロセスチャンバでの基板プロセス中に、プロセスレシピに対応する基板プロセス制御命令のセットを実行するように構成されている。通知の第1のセットは、基板プロセス制御命令のセットに関連付けられた1つ以上の操作に対応する。操作はさらに、基板プロセス制御命令のセットが更新されることになったと判定することを含む。操作はさらに、プロセスチャンバにおいて基板プロセスが終了したことを検出することを含む。操作はさらに、プロセスチャンバの1つ以上の構成要素とシステムコントローラのシステム更新IOハンドラとの間で、通知の第2のセットを送信することを含む。システム更新IOハンドラは、基板プロセス制御命令のセットが更新される間、プロセスチャンバの1つ以上の構成要素にプロセスチャンバの環境を目標状態に維持させるように構成されたコマンドを含むシステム更新制御命令のセットを実行するように構成されている。通知の第2のセットは、システム更新制御命令のセットに関連付けられた1つ以上の操作に対応する。
【0005】
[0005] いくつかの実施形態では、非一時的なコンピュータ可読記憶媒体は、処理デバイスによって実行されると、処理デバイスに、システムコントローラの入出力(IO)ドライバによって、プロセスチャンバの1つ以上の構成要素とシステムコントローラの基板プロセスIOハンドラとの間で通知の第1のセットを送信することを含む操作を実行させる命令を含む。基板プロセスIOハンドラは、プロセスチャンバでの基板プロセス中に、プロセスレシピに対応する基板プロセス制御命令のセットを実行するように構成されている。通知の第1のセットは、基板プロセス制御命令のセットに関連付けられた1つ以上の操作に対応する。操作はさらに、基板プロセス制御命令のセットが更新されることになったと判定することを含む。操作はさらに、プロセスチャンバにおいて基板プロセスが終了したことを検出することを含む。操作はさらに、プロセスチャンバの1つ以上の構成要素とシステムコントローラのシステム更新IOハンドラとの間で、通知の第2のセットを送信することを含む。システム更新IOハンドラは、基板プロセス制御命令のセットが更新される間、プロセスチャンバの1つ以上の構成要素にプロセスチャンバの環境を目標状態に維持させるように構成されたコマンドを含むシステム更新制御命令のセットを実行するように構成されている。通知の第2のセットは、システム更新制御命令のセットに関連付けられた1つ以上の操作に対応する。
【0006】
[0006] 本開示は、同様の参照符号が同様の要素を示す添付の図面の図において、限定ではなく例として示される。本開示における「1つの(an)」または「1つの(one)」実施形態への異なる参照は、必ずしも同じ実施形態へのものではなく、そのような参照は、少なくとも1つを意味することに留意されたい。
【図面の簡単な説明】
【0007】
図1】本開示の態様による、例示的な製造システムの上面概略図である。
図2】本開示の態様による、例示的な製造システムの例示的なプロセスチャンバの断面概略側面図である。
図3】本開示の態様による、製造システムのシステムコントローラを示す。
図4】本開示の態様による、製造システムコントローラの更新プロセス中の入出力(IO)ハンドリングの方法のフローチャートである。
図5】本開示の1つ以上の態様に従って動作する例示的なコンピュータシステムのブロック図を示す。
【発明を実施するための形態】
【0008】
[0012] 本明細書で説明する実施形態は、製造システムコントローラの更新プロセス中の入出力(IO)ハンドリングのためのシステムおよび方法を提供する。製造システムのシステムコントローラは、プロセスチャンバの1つ以上の構成要素に基板プロセスを実行させるための命令を実行することができる。いくつかの実施形態では、命令は、基板プロセスのプロセスレシピの操作に対応することができる。他の実施形態または類似の実施形態では、命令は、(例えば、プロセスチャンバで実行される基板プロセス間において)プロセスチャンバの環境を目標状態に維持するための操作に対応することができる。
【0009】
[0013] 場合によっては、システムコントローラによって実行される命令は、システムコントローラに機能を追加するため、および/または欠陥のある命令(すなわち、ソフトウェアのバグ)を除去するために、更新することができる。命令更新プロセス中、システムコントローラは、製造システムのための命令を実行できない。従って、システムコントローラの更新プロセスが開始される前に、製造システムのステーションは、従来、運転停止される。例えば、製造システムのプロセスチャンバの温度を、工場フロアの周囲温度にすることができる。別の例では、プロセスチャンバのためのポンプシステムをオフにして、プロセスチャンバから真空圧を取り除くことができる。システムコントローラの更新プロセスが完了した後、製造システムのステーションが再起動される。例えば、プロセスチャンバの温度は、プロセスチャンバが運転停止する前の温度に戻される。別の例では、プロセスチャンバのためのポンプシステムをオンにして、プロセスチャンバに真空圧が導入される。
【0010】
[0014] 場合によっては、製造システム環境をシステムコントローラ更新プロセス前と同じ状態に戻すための時間が、著しく長くなることがある。例えば、プロセスチャンバの温度は、更新プロセスの前に著しく高い可能性があり、プロセスチャンバの温度を工場フロアの周囲温度からその高い温度にするには、かなりの時間(例えば、数分、数時間など)がかかる可能性がある。他の場合には、システムコントローラ更新プロセス中に、製造システム環境の状態が、著しく悪化することがある。例えば、システムコントローラ更新プロセス中に、プロセスチャンバに異物が混入する可能性がある。プロセスチャンバが生産に戻される前に異物が除去されないと、プロセスチャンバおよび/またはプロセスチャンバで処理された基板に多大な損傷が生じる可能性がある。プロセスチャンバのポンプシステムが、システムコントローラ更新プロセス中にプロセスチャンバに導入された異物を除去するためには、かなりの時間(例えば、数時間、数日、数週間など)を要することがある。製造システムの環境をコントローラ更新前と同じ状態にし、コントローラ更新中に生じた悪化した状態を改善するには、かなりの時間がかかり得るので、システムコントローラの更新は、製造システムの全体のパフォーマンスに大きな影響を与える可能性がある。例えば、システムコントローラの更新を実行するために費やされる時間は、製造システムの全体的な効率とスループットを著しく低下させ、全体的なシステムの待ち時間を増加させる可能性がある。
【0011】
[0015] 本開示の態様は、製造システムコントローラの更新プロセス中の入出力(IO)ハンドリングのためのシステムおよび方法を提供することによって、上述の欠陥に対処する。システムコントローラのIOモジュールは、製造システムの構成要素から受信されたIO通信を処理するように構成することができる。IOモジュールは、システムコントローラのIOデバイスを介して、製造システム構成要素とシステムコントローラとの間で通知を送信するように構成されたIOドライバを含むことができる。製造システムの動作中、IOデバイスは、製造システム構成要素とシステムコントローラの基板プロセス制御モジュールとの間での通知を送信することができる。基板プロセス制御モジュールは、製造システムにおける基板プロセスのプロセスレシピに対応する操作を含む基板プロセス制御命令を実行するように構成することができる。いくつかの実施形態では、基板プロセス制御命令は、製造システムの構成要素に、(例えば、基板プロセス間において)製造システムの環境を目標状態に維持させる操作も含むことができる。
【0012】
[0016] いくつかの実施形態では、IOモジュールは、基板プロセス制御命令が更新されることになったと判定することができる(例えば、システムコントローラの機能を追加するため、基板プロセス制御命令から欠陥のある命令を除去するためなど)。製造システムで実行されている現在の基板プロセスが終了したと判定することに応答して、IOモジュールは、IOドライバに、IOデバイスで受信されたIO通信の方向を、基板プロセス制御モジュールからIOモジュールのシステム更新モジュールへ変えさせることができる。システム更新モジュールは、製造システムの構成要素に、システムコントローラ更新の期間中、製造システムの環境を目標状態に維持させるための操作を含むシステム更新命令のセットを実行するように構成され得る。例えば、システム更新命令は、製造システムのプロセスチャンバの加熱要素に、システムコントローラ更新の期間中、プロセスチャンバの温度を目標温度に維持させるための操作を含むことができる。別の例では、システム更新命令は、プロセスチャンバのポンプシステムに、プロセスチャンバ内の真空圧を維持させて、システムコントローラ更新プロセス中にプロセスチャンバ内への異物の導入を防止するための操作を含むことができる。システムコントローラ更新プロセスが完了したと判定することに応答して、IOモジュールは、IOドライバに、IOデバイスで受信されたIO通信の方向を基板プロセス制御モジュールに戻させることができ、基板プロセス制御モジュールは、上述のように、基板プロセス制御命令の更新されたセットに従って、製造システムにおいて基板プロセスを実行することができる。
【0013】
[0017] 本開示の態様は、システムコントローラ更新プロセス中にシステムコントローラでIO通信をハンドリングし、製造システムのステーションの運転停止を防止するためのシステムおよび方法を提供することによって、従来技術の欠陥に対処する。システムコントローラのシステム更新モジュールは、製造システムの環境を目標状態に維持するための命令を実行することができる。これにより、システムコントローラ更新プロセスが完了した後に、製造システムの環境を目標状態に戻すために費やされる時間が、短縮される。さらに、これにより、システムコントローラ更新プロセス中に製造システム環境の状態が悪化する可能性が低くなり、製造システム環境を目標状態に戻すために費やされる時間が、さらに短縮される。その結果、製造システムの全体的な効率とスループットが向上し、製造システムの全体的な待ち時間が減少する。
【0014】
[0018] 図1は、本開示の態様による、例示的な製造システム100の上面概略図である。製造システム100は、基板102に対して1つ以上のプロセスを実行することができる。基板102は、その上に電子デバイスまたは回路部品を作製するのに適した、例えば、シリコン含有ディスクまたはウェハ、パターニングされたウェハ、ガラスプレートなどの、任意の好適に剛性で固定寸法の平面物品であり得る。
【0015】
[0019] 製造システム100は、プロセスツール104と、プロセスツール104に結合されたファクトリインターフェース106とを含むことができる。プロセスツール104は、その中に移送チャンバ110を有するハウジング108を含むことができる。移送チャンバ110は、その周囲に配置され、それに結合された1つ以上のプロセスチャンバ(プロセスチャンバとも呼ばれる)114、116、118を含むことができる。プロセスチャンバ114、116、118は、スリットバルブなどのそれぞれのポートを介して移送チャンバ110に結合され得る。移送チャンバ110は、プロセスチャンバ114、116、118、ロードロック120などの間で基板102を移送するように構成された移送チャンバロボット112を含むこともできる。移送チャンバロボット112は、1つまたは複数のアームを含むことができ、各アームは、各アームの先端に1つ以上のエンドエフェクタを含む。エンドエフェクタは、ウェハなどの特定の対象物を扱うように構成することができる。
【0016】
[0020] プロセスチャンバ114、116、118は、基板102上で任意の数のプロセスを実行するように適合させることができる。各プロセスチャンバ114、116、118では、同じまたは異なる基板プロセスを行うことができる。基板プロセスは、原子層堆積(ALD)、物理気相堆積(PVD)、化学気相堆積(CVD)、エッチング、アニール、硬化、前洗浄、金属または金属酸化物の除去などを含むことができる。他のプロセスを、その中の基板上で実行することもできる。プロセスチャンバ114、116、118はそれぞれ、基板プロセスの前、基板プロセスの後、または基板プロセス中に基板102に関するデータを取り込むように構成された1つ以上のセンサを含むことができる。例えば、1つ以上のセンサは、基板プロセス中に基板102の一部のスペクトルデータおよび/または非スペクトルデータを取り込むように構成され得る。他の実施形態または類似の実施形態において、1つ以上のセンサは、基板プロセスの前、基板プロセスの後、または基板プロセス中に、プロセスチャンバ114、116、118内の環境に関連するデータを取り込むように構成され得る。例えば、1つ以上のセンサは、基板プロセス中にプロセスチャンバ114、116、118内の環境の温度、圧力、ガス濃度などに関連するデータを取り込むように構成することができる。
【0017】
[0021] ロードロック120もまた、ハウジング108および移送チャンバ110に結合することができる。ロードロック120は、一方の側の移送チャンバ110およびファクトリインターフェース106とインターフェースし、これらと結合するように構成することができる。ロードロック120は、いくつかの実施形態において、真空環境(基板が移送チャンバ110との間で移送され得る)から大気圧またはそれに近い不活性ガス環境(基板がファクトリインターフェース106との間で移送され得る)に変更され得る環境制御された雰囲気を有し得る。ファクトリインターフェース106は、例えば、EFEM(Equipment Front End Module)などの、任意の適切な筐体とすることができる。ファクトリインターフェース306は、ファクトリインターフェース106の様々なロードポート124にドッキングされた基板キャリア122(例えば、前方開口式一体型ポッド(FOUP))から基板102を受け取るように構成され得る。ファクトリインターフェースロボット126(点線で示す)は、キャリア(コンテナともいう)122とロードロック120との間で基板102を移送するように構成することができる。キャリア122は、基板保管キャリアまたは交換部品保管キャリアとすることができる。
【0018】
[0022] 製造システム100は、製造システム100に関する情報をユーザ(例えば、オペレータ)に提供するように構成されたクライアントデバイス(図示せず)に接続することもできる。いくつかの実施形態では、クライアントデバイスは、1つ以上のグラフィカルユーザインターフェース(GUI)を介して、製造システム100のユーザに情報を提供することができる。
【0019】
[0023] 製造システム100は、システムコントローラ128を含むこともできる。システムコントローラ128は、パーソナルコンピュータ、サーバコンピュータ、プログラマブルロジックコントローラ(PLC)、マイクロコントローラなどのコンピューティングデバイスとすることができ、および/またはそれらを含むことができる。システムコントローラ128は、マイクロプロセッサ、中央処理装置などの汎用処理デバイスとすることができる、1つ以上の処理デバイスを含むことができる。より詳細には、処理デバイスは、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実装するプロセッサ、もしくは命令セットの組み合わせを実装するプロセッサであり得る。処理デバイスはまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサなどの、1つ以上の専用処理デバイスであってもよい。システムコントローラ128は、データ記憶デバイス(例えば、1つ以上のディスクドライブおよび/またはソリッドステートドライブ)、メインメモリ、スタティックメモリ、ネットワークインターフェース、および/または他の構成要素を含むことができる。
【0020】
[0024] システムコントローラ128は、本明細書で説明される方法および/または実施形態のうちのいずれか1つ以上を実行するための命令を実行することができる。いくつかの実施形態では、システムコントローラ128は、プロセスレシピに従って製造システム100で1つ以上の操作を実行するための命令を実行することができる。命令は、メインメモリ、スタティックメモリ、二次記憶および/または処理デバイス(命令の実行中)を含むことができるコンピュータ可読記憶媒体に記憶され得る。いくつかの実施形態では、命令は、データストア150に記憶され得る。データストア150は、システムコントローラ128内の構成要素として含めることも、システムコントローラ128とは別の構成要素とすることもできる。
【0021】
[0025] いくつかの実施形態では、システムコントローラ128は、プロセスツール104の1つ以上の構成要素に関する通知を受信することができる。システムコントローラ128の入出力(IO)ドライバは、プロセスツール104の構成要素から通知を受信し、通知に含まれるデータをシステムコントローラ128の適切なIOハンドラに転送することができる。システムコントローラ128のIOドライバに関するさらなる詳細は、図3に関して提供される。
【0022】
[0026] 図2は、本開示の態様による、例示的な製造システムの例示的なプロセスチャンバ200の断面概略側面図である。いくつかの実施形態において、プロセスチャンバ200は、図1に関して説明したプロセスチャンバ114、116、118に対応し得る。プロセスチャンバ200は、腐食性プラズマ環境が提供されるプロセスに使用することができる。例えば、プロセスチャンバ200は、プラズマエッチャ用またはプラズマエッチリアクタ用などのチャンバとすることができる。別の例では、プロセスチャンバは、前述のような堆積プロセス用のチャンバとすることもできる。一実施形態では、プロセスチャンバ200は、チャンバ本体202とシャワーヘッド230とを含み、それらが内部空間206を囲む。シャワーヘッド230は、シャワーヘッドベースとシャワーヘッドガス分配プレートとを含むことができる。代替的に、シャワーヘッド230は、いくつかの実施形態では蓋とノズルに置き換えることができ、他の実施形態では複数のパイ型シャワーヘッド区画とプラズマ発生ユニットに置き換えることができる。チャンバ本体202は、アルミニウム、ステンレス鋼、またはチタン(Ti)などの他の適切な材料から作製することができる。チャンバ本体202は、一般に、側壁208と底部210を含む。排気ポート226がチャンバ本体202に画定され、内部空間206をポンプシステム228に結合することができる。ポンプシステム228は、プロセスチャンバ200の内部空間206を排気しその圧力を調節するために利用される1つ以上のポンプおよびスロットルバルブを含むことができる。いくつかの実施形態において、ポンプシステム228は、プロセスチャンバ200の内部空間206内の真空環境を維持することができ、プロセスチャンバ200から処理副生成物または他の粒子を除去することができる。
【0023】
[0027] シャワーヘッド230は、チャンバ本体202の側壁208に支持されることができる。シャワーヘッド220(または蓋)は、プロセスチャンバ200の内部空間206へのアクセスを可能にするために開くことができ、閉じている間はプロセスチャンバ200のシールを提供することができる。ガスパネル258が、シャワーヘッド230または蓋とノズルを介して(例えば、シャワーヘッドまたは蓋とノズルの開口部を介して)内部空間206にプロセスガスおよび/または洗浄ガスを供給するために、プロセスチャンバ200に結合され得る。シャワーヘッド230は、ガス分配プレート(GDP)を含むことができ、GDP全体に複数のガス供給孔232(チャネルとも呼ばれる)を有することができる。
【0024】
[0028] 基板支持アセンブリ248が、シャワーヘッド230の下方のプロセスチャンバ200の内部空間206内に配置されている。基板支持アセンブリ248は、処理中(例えば、堆積プロセス中)に基板102を保持する。基板支持アセンブリ248は、一般に、真空チャック、静電チャック、サセプタ、または他のワークピース支持面を含むことができる基板支持体(図示せず)を少なくとも含む。いくつかの実施形態では、基板支持アセンブリ248は、1つ以上の加熱要素254を含むこともできる。加熱要素254は、基板支持アセンブリ248の表面上に配置されるか、または、図2に示されるように、基板支持アセンブリ248の本体に埋め込まれ得る。加熱要素は、プロセスチャンバ200での基板プロセス中に、基板支持アセンブリ248および支持されている基板102の温度をプロセスレシピで指定された温度まで上昇させるように構成することができる。いくつかの実施形態では、加熱要素は、(例えば、基板102が基板支持アセンブリ248に配置されていないときに)プロセスチャンバの内部空間206の環境の温度を上昇させるようにさらに構成され得る。
【0025】
[0029] プロセスチャンバ200は、基板102の処理前、処理後、または処理中に、基板102および/または基板102を取り囲む環境のデータを生成するように構成された1つ以上のセンサ256を含むことができる。各センサ256は、システムコントローラ128などのコントローラにデータを送信するように構成することができる。いくつかの実施形態において、1つ以上のセンサ256は、プロセスチャンバ200の構成要素内に埋め込まれることができ、プロセスチャンバ200の構成要素または要素の機能に関連するデータを取り込むように構成され得る。例えば、センサ256Aは、基板支持アセンブリ248内に埋め込まれることができ、基板支持アセンブリ248内に埋め込まれた1つ以上の加熱要素254の温度、基板支持アセンブリ248の横方向温度プロファイル、チャッキング電源によって基板支持アセンブリ248の静電チャックへ供給される電力の量などに関連するデータを生成することができる。他の実施形態または類似の実施形態において、センサ256は、チャンバ本体202(例えば、側壁208)の表面上に配置され、またはその中に埋め込まれ得る。例えば、センサ256Bは、側壁208に結合することができ、内部空間206の圧力、内部空間206の温度、内部空間206内の放射量などに関連するデータを生成するように構成され得る。他の実施形態または類似の実施形態では、センサ256は、ガスパネルおよび/またはシャワーヘッド130内に埋め込まれ得る。そのような実施形態では、センサ256は、シャワーヘッド130を通って内部空間206に供給されるプロセスガスおよび/または洗浄ガスの組成、流量、および/または温度に関連するデータを生成するように構成され得る。
【0026】
[0030] 本開示のいくつかの実施形態では、プロセスチャンバ200の1つ以上の構成要素を参照する。プロセスチャンバ200の構成要素は、図2に記載されているように、プロセスチャンバ200内に配置された、またはプロセスチャンバ200に結合された任意の要素またはセンサを含むことができることに留意すべきである。他の実施形態または類似の実施形態において、プロセスチャンバ200の構成要素は、プロセスチャンバ200内に配置されていない、またはプロセスチャンバ200に結合されていないが、プロセスチャンバ200における基板プロセスの実行または監視を容易にするように構成されている他の要素またはセンサを含むことができる。例えば、プロセスチャンバ200の構成要素は、プロセスチャンバ200内に配置されていない、またはプロセスチャンバ200に結合されていないが、プロセスチャンバ200で実行される基板プロセスの前、プロセスチャンバ200で実行される基板プロセスの間、またはプロセスチャンバ200で実行される基板プロセスの後に、基板102または内部空間206内の環境に関連するデータを生成するように構成されている1つ以上のセンサを含むことができる。
【0027】
[0031] 図3は、本開示の態様による、製造システムのシステムコントローラ128を示す。図1に関して説明したように、システムコントローラ128は、1つ以上の処理デバイス210を含むことができる。システムコントローラ128は、IOデバイス312を含むこともできる。IOデバイス312は、ネットワークおよび/またはバスを介して、プロセスツール104の1つ以上の構成要素に結合することができる。例えば、IOデバイス312は、プロセスチャンバ200の1つ以上の構成要素314に結合することができる。上述したように、チャンバ構成要素314は、プロセスチャンバ200に結合された、またはプロセスチャンバ200内に配置されたセンサ316を含むことができる。チャンバ構成要素314はまた、プロセスチャンバ200の内部空間206の環境を制御するように構成された要素318(例えば、加熱要素254など)を含むこともできる。IOデバイス312はまた、プロセスチャンバ200内に配置されていない、またはプロセスチャンバ200に結合されていない(すなわち、プロセスチャンバ200の外部である)が、基板プロセスの前、基板プロセス中、または基板プロセスの後に、プロセスチャンバ200の内部空間206の環境の制御および/または監視を容易にするように構成された、プロセスツール104の1つ以上の構成要素320に結合することもできる。IOデバイス312は、ネットワークおよび/またはバスを介して、システムコントローラ128とプロセスツール104の1つ以上の構成要素との間で通知を送信するように構成することができる。
【0028】
[0032] システムコントローラの処理デバイス210は、基板プロセス制御モジュール322およびIOモジュール326を含むことができる。基板プロセス制御モジュール322は、基板プロセスの前、基板プロセス中、または基板プロセスの後に基板プロセス制御命令338を実行するように構成することができる。基板プロセス制御命令338は、いくつかの実施形態では、データストア150に記憶され得る。いくつかの実施形態では、基板プロセス制御命令338は、基板102のプロセスレシピの操作またはステップに対応する命令を含むことができる。例えば、プロセスレシピは、ガスがシャワーヘッド230を通ってプロセスチャンバに流入する前に、基板支持アセンブリ248の加熱要素の温度を目標温度まで上昇させるための操作を含むことができる。基板プロセス制御命令338は、処理デバイス310によって実行されると、基板プロセス制御モジュール322に、加熱要素254を目標温度まで上昇させるためのコマンドを生成させる1つ以上の命令を含むことができる。他の実施形態または類似の実施形態では、基板プロセス制御命令338は、基板プロセス間のプロセスチャンバ200内の環境を維持することに関連する命令を含むことができる。例えば、基板プロセス制御命令338は、処理デバイス310によって実行されると、基板プロセス制御モジュール322に、プロセスチャンバ200で基板プロセスが完了した後、プロセスチャンバ200の1つ以上の構成要素にプロセスチャンバ200を1つ以上の目標状態(例えば、プロセスチャンバ200において真空を維持する、プロセスチャンバ200において目標温度を維持する等)に維持させるためのコマンドを生成させる1つ以上の命令を含むことができる。
【0029】
[0033] IOモジュール326は、IOデバイス312と処理デバイス310の適切なIOハンドラ(例えば、基板プロセスハンドラ324またはシステム更新IOハンドラ332)との間で、通知および/または通知に含まれるデータを転送するように構成されたIOドライバ328を含むことができる。プロセスチャンバ200での基板プロセス中、IOデバイス312は、プロセスツール104の構成要素から1つ以上の通知を受信することができる。例えば、IOデバイス312は、基板プロセス中に生成されたデータを含む通知をセンサ316から受信することができる。IOドライバ328は、IOデバイス312を介してセンサ316から通知を受信し、通知または通知に含まれるデータを基板プロセス制御モジュール322の基板プロセスIOハンドラ324に転送することができる。
【0030】
[0034] 基板プロセスIOハンドラ324がIOドライバ328から通知、または通知からのデータを受信することに応答して、基板プロセス制御モジュール322は、基板プロセス制御命令338から、通知のデータに対応する1つ以上の命令を特定することができる。例えば、通知からのデータは、プロセスチャンバ200の基板支持アセンブリ248における加熱要素の現在の温度を示すことができる。基板プロセス制御モジュール322は、基板プロセス制御命令338から、温度データに対応する1つ以上の命令を特定することができ、その命令を考慮して、現在の温度が温度基準を満たす(例えば、目標温度に対応する)かどうかを判定することができる。現在の温度が温度基準を満たさないと判定することに応答して、基板プロセス制御モジュール322は、基板プロセス制御命令338からの1つ以上の命令を実行して、加熱要素に現在の温度を温度基準を満たすように(例えば、目標温度に対応するように)修正させるためのコマンドを生成することができる。基板プロセスIOハンドラ324は、生成されたコマンドをIOドライバ328に送信することができ、IOドライバ328は、本明細書で説明する実施形態に従って、コマンドをIOデバイス312を介してプロセスツール104の構成要素に転送することができる。プロセスツール104の構成要素がコマンドを受信することに応答して、構成要素は、基板支持アセンブリ248の加熱要素の温度を目標温度に対応するように増減させることができる。
【0031】
[0035] いくつかの実施形態では、処理デバイス310は、基板プロセス制御命令338の1つ以上の命令を修正または更新することの要求を受信することができる。例えば、処理デバイス310は、基板プロセス制御命令338の1つ以上の命令を修正することの要求を、システムコントローラ128に結合された外部サーバ346またはクライアントデバイス348から受信することができる。処理デバイス310は、要求に応答して、命令の修正または更新を開始することができる。例えば、処理デバイス310は、要求に従って、基板プロセス制御命令338の特定の命令を特定し、その特定の命令を新しい命令と置き換えることができる。別の例では、処理デバイス310は、要求内で特定されている特定の命令を特定し、基板プロセス制御命令338からその命令を削除する(例えば、データストア150からその命令を消去する)ことができる。さらに別の例では、処理デバイス310は、要求に含まれる命令を基板プロセス制御命令338に追加する(例えば、命令をデータストア150に書き込む)ことができる。
【0032】
[0036] 場合によっては、基板プロセス制御命令338に対する修正または更新は、かなりの時間(例えば、数秒、数分、数時間など)を要することがある。更新中、IOドライバ328は、プロセスツール104とのIO通信の方向を、基板プロセス制御モジュール322からIOモジュール326のシステム更新モジュール330に変えることができる。システム更新モジュール330は、基板プロセス制御命令338の更新中にシステム更新制御命令340を実行するように構成され得る。システム更新制御命令340は、処理デバイス310によって実行されると、システム更新モジュール330に、更新中にプロセスチャンバ200の構成要素にプロセスチャンバにおける1つ以上の目標状態を維持させる1つ以上のコマンドを生成させる命令を含むことができる。いくつかの実施形態では、システム更新制御命令340は、基板プロセス制御命令338のサブセットであり得る。例示的な実施例では、システム更新制御命令340は、システム更新モジュール330に、更新中にポンプシステム228にプロセスチャンバ200の内部空間206内の真空を維持させるコマンドを生成させる命令を含むことができる。システム更新IOハンドラ332は、生成されたコマンドをIOドライバ328に送信することができ、IOドライバ328は、上述したように、コマンドをIOデバイス312を介してポンプシステム228に送信することができる。ポンプシステム228は、コマンドに従って、目標状態を満たすように内部空間206内の真空を維持することができる。
【0033】
[0037] 1つ以上のセンサ(すなわち、センサ316または外部チャンバデバイス320のセンサ)が、更新中にプロセスチャンバ200の環境に関連するデータを生成することができ、前述のように、生成されたデータを含む通知を、IOデバイス312を介してIOドライバ328に送信することができる。IOドライバ328は、通知、または通知に含まれるデータを、システム更新IOハンドラ332に転送することができる。システム更新IOハンドラ332が通知、または通知に含まれるデータを受信することに応答して、システム更新モジュール330は、システム更新制御命令340に従って通知に応答することができる。例えば、通知に含まれるデータは、更新中のプロセスチャンバ200の環境の現在の温度を示す温度データを含むことができる。システム更新制御モジュール330は、上述のように、システム更新制御命令340から、プロセスチャンバ200環境の現在の温度に対応する1つ以上の命令を特定し、その1つ以上の命令を実行することができる。
【0034】
[0038] いくつかの実施形態では、IOドライバ328は、基板プロセス制御命令338の更新が完了したと判定することに応答して、プロセスツール104とのIO通信の方向をシステム更新モジュール330から基板プロセス制御モジュール322に変えることができる。IOドライバ328がプロセスツール104に対する制御を基板プロセス制御モジュール322へ変えることに応答して、基板プロセス制御モジュール322は、前述の実施形態に従って、プロセスチャンバ200で基板プロセスを実行するために、更新された基板プロセス制御命令338の1つ以上の命令を実行することができる。
【0035】
[0039] いくつかの実施形態では、基板プロセス制御命令338が更新されることになったことを検出することに応答して、かつプロセスツール104の制御を受け取る前に、システム更新モジュール330は、プロセスツール200の更新前状態データ342を生成することができる。例えば、処理デバイス310が基板プロセス制御命令338を修正または更新する前に、システム更新モジュール330は、プロセスチャンバ200の1つ以上のセンサ316の現在の状態または測定値を収集することの要求を生成することができる。システム更新IOハンドラ332は、要求をIOドライバ328に送信することができ、IOドライバ328は、上述したように、要求を含む通知をIOデバイス312を介してプロセスツール104に送信することができる。センサ316は、プロセスチャンバ200の現在の状態を示すデータを生成することができ、上述のように、生成されたデータを含む通知を、IOデバイス312を介してIOドライバ328に送信することができる。システム更新IOハンドラ332は、通知、または通知からの生成されたデータを、IOドライバ328から受信することができ、システム更新モジュール330は、生成されたデータを更新前状態データ342としてデータストア150に記憶することができる。基板プロセス制御命令338の更新が完了したことを検出することに応答して、システム更新モジュールは、前述のように、プロセスチャンバ200の1つ以上のセンサ316から現在の状態データを収集することができる。システム更新モジュール330は、収集された現在の状態データを更新後状態データ344としてデータストア150に記憶することができる。システム更新モジュール330は、更新後状態データ344を更新前状態データ344と比較して、プロセスチャンバ200の現在の状態が状態基準を満たすかどうかを判定することができる。いくつかの実施形態において、システム更新モジュール330は、更新後状態データ344の測定値(例えば、温度測定値)と更新前状態データ344の対応する測定値との間の差が差閾値を下回ると判定することに応答して、プロセスチャンバ200の現在の状態が状態基準を満たすと判定することができる。状態基準が満たされているとシステム更新モジュール330が判定することに応答して、IOドライバ328は、上述のように、プロセスツール104の制御を基板プロセス制御モジュール322に戻すことができる。
【0036】
[0040] 本開示のいくつかの実施形態では、製造プロセス制御命令338の更新に応答して、IOデバイス314で受信されたIO通信の方向を、基板プロセス制御モジュール322からシステム更新モジュール330に変えることを論じているが、IOデバイス314でのIO通信の方向は、他の場合でもシステム更新モジュール330に変えられ得ることに留意されたい。例えば、製造プロセス制御命令338が処理デバイス310によってアクセスできない(例えば、ソフトウェアクラッシュが発生した後など)ことを検出することに応答して、IOドライバ328は、本明細書に記載される実施形態に従って、IOデバイス314で受信されたIO通信の方向をシステム更新モジュール330に変えることができる。製造プロセス制御命令338が処理デバイス310によってアクセス可能である(例えば、ソフトウェアクラッシュが修復された後など)ことを検出することに応答して、IOドライバ328は、前述の実施形態に従って、IOデバイス314で受信されたIO通信の方向をシステム更新モジュール330に戻すことができる。
【0037】
[0041] 図4は、本開示の態様による、製造システムコントローラの更新プロセス中の入出力(IO)ハンドリングの方法400のフローチャートである。方法400は、ハードウェア(回路、専用ロジックなど)、ソフトウェア(例えば、汎用コンピュータシステムまたは専用機で実行される)、ファームウェア、またはそれらの何らかの組み合わせを含むことができる処理ロジックによって実行される。いくつかの実施形態では、方法400は、図3のIOハンドラ326を使用して実行することができる。例えば、方法400は、IOハンドラ326のIOドライバ328によって実行することができる。他の実施形態または類似の実施形態では、図4の1つ以上のブロックは、図3に描かれていない1つ以上の他の機械によって実行することができる。
【0038】
[0042] ブロック410で、処理ロジックは、プロセスチャンバの1つ以上の構成要素と基板プロセスIOハンドラとの間で通知のセットを送信する。前述のように、基板プロセスIOハンドラは、プロセスチャンバでの基板プロセス中に、プロセスレシピに対応する基板プロセス制御命令(例えば、基板プロセス制御命令338)のセットを実行するように構成することができる。通知のセットは、基板プロセス制御命令のセットに関連付けられた1つ以上の操作に対応することができる。1つ以上のチャンバ構成要素は、温度制御構成要素、圧力制御構成要素、湿度制御構成要素、温度センサ、圧力センサ、湿度センサ、酸素センサ、粒子検出器、プロセスガス流量センサ、または洗浄ガス流量センサのうちの少なくとも1つを含むことができる。
【0039】
[0043] ブロック412において、処理ロジックは、システムコントローラの基板プロセス制御命令のセットが更新されることになったと判定する。いくつかの実施形態では、外部サーバまたはクライアントデバイスが、本明細書で説明するように、システムコントローラの基板プロセス制御命令を更新することの要求をシステムコントローラに送信することができる。ブロック414で、処理ロジックは、チャンバ構成要素とのIO通信の方向を基板プロセスIOハンドラからシステム更新IOハンドラに変える。いくつかの実施形態では、処理ロジックは、基板プロセス制御命令を更新するプロセスが開始された、および/またはプロセスチャンバにおける基板プロセスが終了したと判定することに応答して、IO通信の方向を変えることができる。システム更新IOハンドラは、基板プロセス制御命令のセットが更新される間、プロセスチャンバの1つ以上の構成要素にプロセスチャンバの環境を目標状態に維持させるように構成されたコマンドを含むシステム更新制御命令(例えば、システム更新制御命令340)のセットを実行するように構成され得る。いくつかの実施形態では、システム更新制御命令は、前述のように、基板プロセス制御命令のサブセットとすることができる。
【0040】
[0044] ブロック416において、処理ロジックは、基板プロセス制御命令のセットに対する更新が完了したかどうかを判定する。プロセス制御命令のセットに対する更新が完了したと判定することに応答して、処理ロジックは、ブロック418に続くことができる。ブロック418で、処理ロジックは、前述のように、チャンバ構成要素とのIO通信の制御を基板プロセスIOハンドラに変え、基板プロセスIOハンドラが基板プロセス制御命令を実行できるようにすることができる。
【0041】
[0045] プロセス制御命令のセットに対する更新が完了していないと判定することに応答して、処理ロジックは、ブロック420に続くことができる。いくつかの実施形態では、処理ロジックは、前述のように、プロセスチャンバの現在の状態が状態基準を満たす(すなわち、プロセスチャンバの更新後状態データが更新前状態データに対応する)と判定することに応答して、ブロック420に続くことができる。ブロック420において、処理ロジックは、チャンバ構成要素とシステム更新IOハンドラとの間で通知の別のセットを送信することができる。通知の別のセットは、前述のように、システム更新制御命令に関連付けられた1つ以上の操作に対応することができる。システム更新IOハンドラは、図4に示すように、システム更新が完了するまで、IO通信の制御を維持することができる。
【0042】
[0046] 図5は、本開示の1つ以上の態様に従って動作する例示的なコンピュータシステム500のブロック図を示す。代替の実施形態では、この機械は、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットにおける他の機械に接続(例えば、ネットワーク化)されてもよい。機械は、クライアントサーバネットワーク環境におけるサーバもしくはクライアントマシンとして、またはピアツーピア(もしくは分散)ネットワーク環境におけるピアマシンとして動作することができる。機械は、パーソナルコンピュータ(PC)、タブレットコンピュータ、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチ、もしくはブリッジ、またはその機械が取るべき行動を指定する命令のセット(シーケンシャルまたはその他)を実行することができる任意の機械とすることができる。さらに、単一の機械のみが図示されているが、「機械」という用語は、本明細書で論じられた方法のいずれか1つ以上を実行するための命令のセット(または複数のセット)を個別にまたは共同で実行する機械(例えば、コンピュータ)の任意の集合も含むものとする。実施形態において、コンピューティングデバイス500は、図1のシステムコントローラ128または製造システム100の別の処理デバイスに対応することができる。
【0043】
[0047] 例示的なコンピューティングデバイス500は、処理デバイス502、メインメモリ504(例えば、リードオンリーメモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)等)、スタティックメモリ506(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)等)、および二次メモリ(例えば、データ記憶デバイス528)を含み、これらは、バス508を介して互いと通信する。
【0044】
[0048] 処理デバイス502は、マイクロプロセッサ、中央処理装置などの1つ以上の汎用プロセッサを表すことができる。より詳細には、処理デバイス502は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサであり得る。処理デバイス502はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサなどの、1つ以上の専用処理デバイスであってもよい。処理デバイス502は、システムオンチップ(SoC)、プログラマブルロジックコントローラ(PLC)、または他のタイプの処理デバイスであることも、またはそれを含むこともできる。処理デバイス502は、本明細書で説明された操作およびステップを実行するための処理ロジックを実行するように構成される。
【0045】
[0049] コンピューティングデバイス500は、ネットワーク564と通信するためのネットワークインターフェースデバイス522をさらに含むことができる。コンピューティングデバイス500は、ビデオディスプレイ装置510(例えば、液晶ディスプレイ(LCD)、または陰極線管(CRT))、英数字入力デバイス512(例えば、キーボード)、カーソル制御デバイス514(例えば、マウス)、および信号生成デバイス520(例えば、スピーカー)を含むこともできる。
【0046】
[0050] データ記憶デバイス528は、本明細書に記載された方法または機能のいずれか1つ以上を具現化する命令526の1つ以上のセットが記憶された機械可読記憶媒体(またはより具体的には非一時的なコンピュータ可読記憶媒体)524を含み得る。非一時的な記憶媒体とは、搬送波以外の記憶媒体を指す。命令526はまた、コンピュータデバイス500によるその実行中に、完全にまたは少なくとも部分的に、メインメモリ504内および/または処理デバイス502内に存在することができ、メインメモリ504および処理デバイス502もまた、コンピュータ可読記憶媒体を構成する。
【0047】
[0051] コンピュータ可読記憶媒体524は、IOモジュール326のための命令およびデータを記憶するために使用することもできる。コンピュータ可読記憶媒体524は、モジュール326を呼び出す方法を含むソフトウェアライブラリを記憶することもできる。コンピュータ可読記憶媒体524は、例示的な実施形態では、単一の媒体であるように示されているが、用語「コンピュータ可読記憶媒体」は、命令の1つ以上のセットを記憶する単一の媒体または複数の媒体(例えば、集中もしくは分散データベース、ならびに/または関連するキャッシュおよびサーバ)を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語はまた、機械により実行されて、本開示の方法のいずれか1つ以上を機械に実行させる命令のセットを記憶または符号化することができる任意の媒体を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、したがって、固体メモリ、ならびに光学媒体および磁気媒体を含む(ただし、これらに限定されない)と解釈されるものとする。
【0048】
[0052] 前述の説明は、本開示のいくつかの実施形態の良好な理解を提供するために、特定のシステム、構成要素、方法などの例などの、多数の特定の詳細を記載している。しかしながら、これらの特定の詳細なしに本開示の少なくともいくつかの実施形態が実施され得ることは、当業者にとって明らかであろう。他の例では、本開示を不必要に曖昧にすることを避けるため、周知の構成要素や方法は、詳細に説明されないか、または単純なブロック図の形式で示されている。従って、記載された特定の詳細は、例示に過ぎない。特定の実施態様は、これらの例示的な詳細から異なり得るが、それでもなお本開示の範囲内であることが意図され得る。
【0049】
[0053] 本明細書を通して「一実施形態」または「実施形態」への言及は、その実施形態に関連して説明された特定の特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書を通して様々な箇所における「一実施形態では」または「実施形態では」という語句の出現は、必ずしも全てが同じ実施形態を指すわけではない。加えて、「または(or)」という用語は、排他的論理和ではなく包含的論理和を意味することが意図されている。「約」または「ほぼ」という用語が本明細書で使用される場合、これは、提示された名目値が±10%以内で正確であることを意味することを意図している。
【0050】
[0054] 本明細書における方法の操作は、特定の順番で示され、説明されているが、特定の操作が逆の順番で実行され、特定の操作が、少なくとも部分的に、他の操作と同時に実行され得るように、各方法の操作の順番が変更されてもよい。別の実施形態では、個別の操作の命令またはサブ操作が、断続的および/または交互的であってもよい。
【0051】
[0055] 上記の説明は、例示的なものであり、限定的なものではないことが意図されることが理解されている。上記の説明を読み、理解すれば、多くの他の実施形態が、当業者には明らかになるであろう。したがって、本開示の範囲は、添付の請求項を参照して、そのような請求項が権利を有する等価物の全範囲とともに決定されるべきである。
図1
図2
図3
図4
図5
【国際調査報告】