(57)【要約】      （修正有）【課題】人工知能を用いて半導体処理ツールのためのユーザ相互作用を自動化するためのシステムおよび方法を提供する。【解決手段】システムが、インターフェースおよびコントローラを備える。インターフェースは、基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信する。コントローラは、状態を、その状態に基づいてインターフェースから基板処理ツールによって以前に受信された入力と相関させ、相関に基づいて基板処理ツールを制御するための出力を生成する。【選択図】図７
2019083309.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信するためのインターフェースと、
前記状態を、前記状態に基づいて前記インターフェースから前記基板処理ツールによって以前に受信された入力と相関させ、前記相関に基づいて前記基板処理ツールを制御するための出力を生成するためのコントローラと、
を備える、システム。
【請求項２】
請求項１に記載のシステムであって、前記コントローラは、前記基板処理ツールの複数の状態と前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力とをデータベースに格納し、前記データベースを用いて前記相関を実行するよう構成されている、システム。
【請求項３】
請求項２に記載のシステムであって、前記コントローラは、前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて前記データベースを更新し、前記更新したデータベースを用いて前記相関を実行するよう構成されている、システム。
【請求項４】
請求項２に記載のシステムであって、前記コントローラは、さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と、前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力と、を含むデータを、前記データベースに格納し、前記データを用いて前記相関を実行するよう構成されている、システム。
【請求項５】
請求項１に記載のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、システム。
【請求項６】
請求項１に記載のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、システム。
【請求項７】
請求項１に記載のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの存在を検出し、前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御するよう構成されている、システム。
【請求項８】
請求項１に記載のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの不在を検出し、前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御するよう構成されている、システム。
【請求項９】
請求項１に記載のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの不在を検出し、前記出力に関して前記オペレータに通知するよう構成されている、システム。
【請求項１０】
請求項１に記載のシステムであって、前記コントローラは、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御するよう構成されている、システム。
【請求項１１】
請求項１に記載のシステムであって、前記コントローラは、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御するよう構成されている、システム。
【請求項１２】
方法であって、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信する工程と、
前記状態を、前記状態に基づいて前記基板処理ツールによって以前に受信された入力と相関させる工程と、
前記相関に基づいて前記基板処理ツールを制御するための出力を生成する工程と、
を備える、方法。
【請求項１３】
請求項１２に記載の方法であって、さらに、
前記基板処理ツールの複数の状態と、前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力とを、データベースに格納する工程と、
前記データベースを用いて前記相関を実行する工程と、
を備える、方法。
【請求項１４】
請求項１３に記載の方法であって、さらに、
前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて前記データベースを更新する工程と、
前記更新したデータベースを用いて前記相関を実行する工程と、
を備える、方法。
【請求項１５】
請求項１３に記載の方法であって、さらに、
さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と、前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力と、を含むデータを、前記データベースに格納する工程と、
前記データを用いて前記相関を実行する工程と、
を備える、方法。
【請求項１６】
請求項１２に記載の方法であって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、方法。
【請求項１７】
請求項１２に記載の方法であって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、方法。
【請求項１８】
請求項１２に記載の方法であって、さらに、
前記基板処理ツールのオペレータの存在を検出する工程と、
前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御する工程と、を備える、方法。
【請求項１９】
請求項１２に記載の方法であって、さらに、
前記基板処理ツールのオペレータの不在を検出する工程と、
前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御する工程と、
を備える、方法。
【請求項２０】
請求項１２に記載の方法であって、さらに、
前記基板処理ツールのオペレータの不在を検出する工程と、
前記出力に関して前記オペレータに通知する工程と、
を備える、方法。
【請求項２１】
請求項１２に記載の方法であって、さらに、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御する工程を備える、方法。
【請求項２２】
請求項１２に記載の方法であって、さらに、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御する工程を備える、方法。
【請求項２３】
システムであって、
プロセッサと、
有形のマシン読み取り可能な媒体に格納されたマシン読み取り可能な命令であって、前記プロセッサによって実行された時に、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信し、
前記状態を、前記状態に基づいて前記基板処理ツールによって以前に受信された入力と相関させ、
前記相関に基づいて前記基板処理ツールを制御するための出力を生成するように、前記プロセッサを構成する、マシン読み取り可能な命令と、
を備える、システム。
【請求項２４】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールの複数の状態と、前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力と、をデータベースに格納し、
前記データベースを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
【請求項２５】
請求項２４に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて、前記データベースを更新し、
前記更新したデータベースを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
【請求項２６】
請求項２４に記載のシステムであって、前記マシン読み取り可能な命令は、
さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力とを含むデータを、前記データベースに格納し、
前記データを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
【請求項２７】
請求項２３に記載のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、システム。
【請求項２８】
請求項２３に記載のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、システム。
【請求項２９】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの存在を検出し、
前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【請求項３０】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの不在を検出し、
前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【請求項３１】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの不在を検出し、
前記出力に関して前記オペレータに通知するように、前記プロセッサを構成する、システム。
【請求項３２】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【請求項３３】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は、２０１７年９月１１日出願の米国仮出願第６２／５５６，７３３号の利益を主張する。上記の出願の開示全体が、参照によって本明細書に組み込まれる。
【０００２】
本開示は、一般に、半導体製造装置に関し、特に、人工知能を用いて半導体製造装置のためのユーザ相互作用を自動化することに関する。
【背景技術】
【０００３】
本明細書で提供されている背景技術の記載は、本開示の背景を概略的に提示するためのものである。ここに名を挙げられている発明者の業績は、この背景技術に記載された範囲において、出願時に従来技術として通常見なされえない記載の態様と共に、明示的にも黙示的にも本開示に対する従来技術として認められない。
【０００４】
基板処理システムは、通例、半導体ウエハなどの基板の蒸着、エッチング、および、その他の処理を実行するために、複数の処理チャンバ（処理モジュールとも呼ばれる）を備える。処理中、基板処理システムの処理チャンバ内で基板支持体上に基板が配置される。蒸着中、１または複数の前駆体を含むガス混合物が、処理チャンバに導入され、プラズマが、化学反応を活性化するために点火されうる。エッチング中、エッチングガスを含むガス混合物が導入され、プラズマが、化学反応を活性化するために点火されうる。通例は、コンピュータ制御されたロボットが、半導体基板を或る処理チャンバから別の処理チャンバへ、半導体基板の処理される順に移動させる。
【発明の概要】
【０００５】
システムが、インターフェースおよびコントローラを備える。インターフェースは、基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信するよう構成されている。コントローラは、状態を、その状態に基づいてインターフェースから基板処理ツールによって以前に受信された入力と相関させ、相関に基づいて基板処理ツールを制御するための出力を生成するよう構成されている。
【０００６】
別の特徴において、コントローラは、基板処理ツールの複数の状態と複数の状態に基づいて基板処理ツールによって受信された対応する入力とをデータベースに格納し、データベースを用いて相関を実行するよう構成されている。
【０００７】
別の特徴において、コントローラは、基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいてデータベースを更新し、更新したデータベースを用いて相関を実行するよう構成されている。
【０００８】
別の特徴において、コントローラは、さらなる基板処理ツールに関連するデータであってさらなる基板処理ツールの状態と状態に基づいてさらなる基板処理ツールによって受信された対応する入力とを含むデータをデータベースに格納し、データを用いて相関を実行するよう構成されている。
【０００９】
別の特徴において、基板処理ツールの状態は、基板処理ツールに関連するエラーを示すデータを含み、入力は、エラーへの対応を示すデータを含む。
【００１０】
別の特徴において、基板処理ツールの状態は、基板処理ツールに関連する差し迫ったエラーを示すデータを含み、入力は、エラーを防止するための対応を示すデータを含む。
【００１１】
別の特徴において、コントローラは、基板処理ツールのオペレータの存在を検出し、出力に基づいてオペレータによって受信された対応に従って基板処理ツールを制御するよう構成されている。
【００１２】
別の特徴において、コントローラは、基板処理ツールのオペレータの不在を検出し、出力に基づいてオペレータの不在時に基板処理ツールを制御するよう構成されている。
【００１３】
別の特徴において、コントローラは、基板処理ツールのオペレータの不在を検出し、出力に関してオペレータに通知するよう構成されている。
【００１４】
別の特徴において、コントローラは、基板の処理の完了を確実にし、基板への損傷を防止し、処理モジュールのアイドリングを防止するために、出力に基づいて基板処理ツールを制御するよう構成されている。
【００１５】
別の特徴において、コントローラは、処理モジュールによる基板の処理のスケジューリングを最適化するために、出力に基づいて基板処理ツールを制御するよう構成されている。
【００１６】
さらに別の特徴において、方法が、基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信する工程を備える。方法は、さらに、状態を、その状態に基づいて基板処理ツールによって以前に受信された入力と相関させる工程を備える。方法は、さらに、相関に基づいて基板処理ツールを制御するための出力を生成する工程を備える。
【００１７】
別の特徴にいて、方法は、さらに、基板処理ツールの複数の状態と複数の状態に基づいて基板処理ツールによって受信された対応する入力とをデータベースに格納する工程を備える。方法は、さらに、データベースを用いて相関を実行する工程を備える。
【００１８】
別の特徴において、方法は、さらに、基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいてデータベースを更新する工程を備える。方法は、さらに、更新したデータベースを用いて相関を実行する工程を備える。
【００１９】
別の特徴において、方法は、さらに、さらなる基板処理ツールに関連するデータであってさらなる基板処理ツールの状態と状態に基づいてさらなる基板処理ツールによって受信された対応する入力とを含むデータをデータベースに格納する工程を備える。方法は、さらに、そのデータを用いて相関を実行する工程を備える。
【００２０】
別の特徴において、基板処理ツールの状態は、基板処理ツールに関連するエラーを示すデータを含み、入力は、エラーへの対応を示すデータを含む。
【００２１】
別の特徴において、基板処理ツールの状態は、基板処理ツールに関連する差し迫ったエラーを示すデータを含み、入力は、エラーを防止するための対応を示すデータを含む。
【００２２】
別の特徴において、方法は、さらに、基板処理ツールのオペレータの存在を検出する工程を備える。方法は、さらに、出力に基づいてオペレータによって受信された対応に従って基板処理ツールを制御する工程を備える。
【００２３】
別の特徴において、方法は、さらに、基板処理ツールのオペレータの不在を検出する工程を備える。方法は、さらに、出力に基づいてオペレータの不在時に基板処理ツールを制御する工程を備える。
【００２４】
別の特徴において、方法は、さらに、基板処理ツールのオペレータの不在を検出する工程を備える。方法は、さらに、出力に関してオペレータに通知する工程を備える。
【００２５】
別の特徴において、方法は、さらに、基板の処理の完了を確実にし、基板への損傷を防止し、処理モジュールのアイドリングを防止するために、出力に基づいて基板処理ツールを制御する工程を備える。
【００２６】
別の特徴において、方法は、さらに、処理モジュールによる基板の処理のスケジューリングを最適化するために、出力に基づいて基板処理ツールを制御する工程を備える。
【００２７】
さらに別の特徴において、システムが、プロセッサと、有形のマシン読み取り可能な媒体に格納されたマシン読み取り可能な命令と、を備える。プロセッサによって実行された時、マシン読み取り可能な命令は、基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信するように、プロセッサを構成する。マシン読み取り可能な命令は、状態を、その状態に基づいて基板処理ツールによって以前に受信された入力と相関させるように、プロセッサを構成する。マシン読み取り可能な命令は、相関に基づいて基板処理ツールを制御するための出力を生成するように、プロセッサを構成する。
【００２８】
別の特徴にいて、マシン読み取り可能な命令は、基板処理ツールの複数の状態と複数の状態に基づいて基板処理ツールによって受信された対応する入力とをデータベースに格納するように、プロセッサを構成する。マシン読み取り可能な命令は、データベースを用いて相関を実行するように、プロセッサを構成する。
【００２９】
別の特徴において、マシン読み取り可能な命令は、基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいてデータベースを更新するように、プロセッサを構成する。マシン読み取り可能な命令は、更新したデータベースを用いて相関を実行するように、プロセッサを構成する。
【００３０】
別の特徴において、マシン読み取り可能な命令は、さらなる基板処理ツールに関連するデータであってさらなる基板処理ツールの状態と状態に基づいてさらなる基板処理ツールによって受信された対応する入力とを含むデータをデータベースに格納するように、プロセッサを構成する。マシン読み取り可能な命令は、そのデータを用いて相関を実行するように、プロセッサを構成する。
【００３１】
別の特徴において、基板処理ツールの状態は、基板処理ツールに関連するエラーを示すデータを含み、入力は、エラーへの対応を示すデータを含む。
【００３２】
別の特徴において、基板処理ツールの状態は、基板処理ツールに関連する差し迫ったエラーを示すデータを含み、入力は、エラーを防止するための対応を示すデータを含む。
【００３３】
別の特徴において、マシン読み取り可能な命令は、基板処理ツールのオペレータの存在を検出するように、プロセッサを構成する。マシン読み取り可能な命令は、出力に基づいてオペレータによって受信された対応に従って基板処理ツールを制御するように、プロセッサを構成する。
【００３４】
別の特徴において、マシン読み取り可能な命令は、基板処理ツールのオペレータの不在を検出するように、プロセッサを構成する。マシン読み取り可能な命令は、出力に基づいてオペレータの不在時に基板処理ツールを制御するように、プロセッサを構成する。
【００３５】
別の特徴において、マシン読み取り可能な命令は、基板処理ツールのオペレータの不在を検出するように、プロセッサを構成する。マシン読み取り可能な命令は、出力に関してオペレータに通知するように、プロセッサを構成する。
【００３６】
別の特徴において、マシン読み取り可能な命令は、基板の処理の完了を確実にし、基板への損傷を防止し、処理モジュールのアイドリングを防止するために、出力に基づいて基板処理ツールを制御するように、プロセッサを構成する。
【００３７】
別の特徴において、マシン読み取り可能な命令は、処理モジュールによる基板の処理のスケジューリングを最適化するために、出力に基づいて基板処理ツールを制御するように、プロセッサを構成する。
【００３８】
詳細な説明、特許請求の範囲、および、図面から、本開示を適用可能なさらなる領域が明らかになる。詳細な説明および具体的な例は、単に例示を目的としており、本開示の範囲を限定するものではない。
【図面の簡単な説明】
【００３９】
本開示は、詳細な説明および以下に説明する添付図面から、より十分に理解できる。
【００４０】
【図１】本開示に従って、基板処理システムの一例を示す機能ブロック図。
【００４１】
【図２】本開示に従って、図１の基板処理システムの処理モジュールの一例を示す機能ブロック図。
【００４２】
【図３】本開示に従って、図１の基板処理システムの処理モジュールの別の例を示す機能ブロック図。
【００４３】
【図４】本開示に従って、図１の基板処理システムの基板処理ツールを制御するコントローラを示す機能ブロック図。
【００４４】
【図５】本開示に従って、図１の基板処理システムと、基板処理システムの上流および下流の複数のシステムと、測定システムと、ホストとを備える分散型ネットワークシステムを示す機能ブロック図。
【００４５】
【図６】本開示に従って、さらに図１の基板処理システムを複数備えた図５の分散型ネットワークシステムを示す機能ブロック図。
【００４６】
【図７】本開示に従って、人工知能を用いて図１の基板処理システムのためのユーザ相互作用を自動化するための方法を示すフローチャート。
【００４７】
【図８】本開示に従って、複数の基板処理ツールから受信したデータに基づいて、ツール状態および基板処理ツールのための対応のデータベースを構築するための方法を示すフローチャート。
【００４８】
【図９】本開示に従って、複数の基板処理ツールから受信したデータを再生して、シミュレーションを用いることにより、ツール状態および基板処理ツールのための対応のデータベースを構築するための方法を示すフローチャート。
【００４９】
図面において、同様および／または同一の要素を特定するために、同じ符号を用いる場合がある。
【発明を実施するための形態】
【００５０】
本開示は、人工知能を用いて半導体処理ツールのためのユーザ相互作用を自動化するためのシステムおよび方法に関する。半導体処理ツールは、フィーチャ、オプション、および、処理に関して高い可変性を有する。顧客相互作用を自動化する現在の方法は、顧客の要求を要件に翻訳し、その後、顧客の半導体処理ツールの制御システム上にフィーチャを実装することを含む。現在の方法は、多くの課題に直面している。例えば、一部の顧客要件は、非常に特殊で一時的である。これらの要求に対して、カスタムプログラミングを含む従来の開発サイクルに対する所要時間は長く、費用が高くなる。
【００５１】
各半導体処理ツールを制御するための手順およびシーケンスをハードコーディングする代わりに、本開示は、基板処理ツールとのユーザ相互作用に基づいて半導体処理ツールが学習およびトレーニングすることを可能にするための制御システムを提案する。学習およびトレーニングは、基板処理ツールとのユーザ相互作用を自動化するために利用できる。例えば、学習およびトレーニングは、複雑なメンテナンスタスクを実行し、ウエハスループット分析を自動化し、処理モジュールのアイドルタイムを削減するようスケジュールを最適化するために利用できる。学習およびトレーニングは、エラーを検出してエラー回復手順を提案するために利用できる。学習およびトレーニングは、エラー回復手順を自動的に実行してウエハおよび／または基板処理ツールへの損傷を防ぐために利用することもできる。
【００５２】
例えば、制御システムは、ツール動作／エラー回復中に実行されたユーザ動作／介入からリアルタイムで学習することができる。制御システムがトレーニングされ、自動的にタスクを実行する準備ができると、ユーザは、制御システムが製造中に引き継ぐ自動モードを選択できる。自動モードがアクティブである時、制御システムは、介入するユーザが存在しなければ、ウエハ／ツールへの損傷が発生する可能性がある時に介入する。ユーザが存在する場合、制御システムは、ユーザへの支援を提案できる。ユーザは、制御システムに引き継いで自動的に対応させてもよいし、制御システムの動作を制御してもよい。したがって、制御システムは、ユーザと独立して動作してもよいし、動作を示唆して、ユーザ相互作用でタスクを実行してもよい。
【００５３】
制御システムは、様々なセンサからのデータおよび基板処理ツールの様々な状態に関連するデータをリアルタイムで解析する。ツールの状態の例は、ツールがアイドル中、メンテナンス中、エネルギ節約モード時などを含むが、これらに限定されない。概して、ツール（すなわち、基板処理ツール）の状態は、所与の瞬間のツールの動作パラメータまたは条件のスナップショットである。制御システムは、ユーザがどのようにツール状態に反応または対応するのかを学習できる。
【００５４】
例えば、ユーザがツール状態に所定の回数（例えば、３〜５回）同様に反応した後（例えば、ユーザがツール状態に応じて一連の動作またはコマンドを実行した後）、制御システムは、ツール状態に応じてユーザによって実行された動作シーケンスを学習できる。その後、学習に基づいて、そのツール状態に遭遇した時に、制御システムは、そのツール状態について学習したユーザ行動または対応とツール状態を相関させる。制御システムは、全くユーザ介入なしに、学習した動作シーケンスを実行してもよいし、シーケンスを実行するよう提案してもよい。
【００５５】
制御システムは、様々な基板処理ツールから入手可能な履歴データ（例えば、イベントログ、警告ログなど）から学習することもできる。例えば、履歴データは、シミュレータ内で再生することができ、ツール状態およびツール状態へのユーザ対応のデータベースが、生成または蓄積されてよい。こうして、リアルタイムでツール情報へアクセスできるため、制御システムは、製造中に起こりうる任意の状況に対して学習済みの知識を適用できる。他のツールから得られた知識を用いて構築されたデータベースは、特定の基板処理ツールの制御システム用にカスタマイズできる。他のツールから得られた知識は、基板処理ツールの制御システムの使用中のデータベースを更新するために利用されてもよい。本開示のシステムおよび方法のこれらおよびその他の特徴について、以下に詳細に説明する。
【００５６】
本開示は以下のように構成される。基板処理ツールを備えた基板処理システムが、図１を参照して説明される。基板処理ツールの処理モジュール（処理チャンバ）の例が、図２および図３を参照して説明される。基板処理ツールを制御するコントローラが、図４を参照して説明される。基板処理システム、複数の上流および下流システム、測定システム、および、ホストを含むネットワーク化されたシステムが、図５を参照して説明される。複数の基板処理システムをさらに含むネットワーク化されたシステムが、図６を参照して説明される。コントローラを用いて基板処理ツールを制御するための様々な方法が、その後に図７〜図９を参照して説明される。
【００５７】
図１は、基板処理システムの一例１の上面図である。基板処理システム１は、基板処理ツール２およびコントローラ１０を備える。基板処理ツール２（本開示を通してツールとも呼ばれる）は、複数の処理モジュール４を備える。例えば、処理モジュール４の各々は、基板に対して１または複数のそれぞれの処理を実行するように構成されうる。処理される基板は、装置フロントエンドモジュール（ＥＦＥＭ）６のロードステーションのポートを介して基板処理ツール２へロードされる。ロボット８が、処理モジュール４によって基板が処理される順に処理モジュール４の内の１または複数へ基板を移動させる。コントローラ１０は、図４を参照して後述するように、基板処理ツール２を制御する。コントローラ１０は、記載した機能を実行できるサーバまたは任意のその他の適切なコンピュータデバイスを含みうる。
【００５８】
図２は、処理モジュール４の一例としてシステム２０を示す。以下の例は、プラズマ強化化学蒸着（ＰＥＣＶＤ）の文脈で説明されているが、本開示の教示は、原子層蒸着（ＡＬＤ）、ＰＥＡＬＤ、ＣＶＤ、または、その他の処理などのその他の基板処理システムに適用されてもよい。システム２０は、システム２０の他の構成要素を収容すると共にＲＦプラズマを（利用する場合に）閉じ込める処理チャンバ２２を備える。システム２０は、上側電極２４と、静電チャック（ＥＳＣ）２６またはその他の基板支持体と、を備える。動作中、基板２８が、ＥＳＣ２６上に配置される。
【００５９】
例えば、上側電極２４は、処理ガスを導入して分散させるガス分配装置２９（シャワーヘッドなど）を備えてよい。ガス分配装置２９は、処理チャンバの上面に接続された一端を備えるステム部分を備えてよい。ベース部分は、略円筒形であり、処理チャンバの上面から離れた位置でステム部分の反対側の端部から半径方向外向きに広がる。シャワーヘッドのベース部分の基板対向面すなわちフェースプレートは、気化した前駆体、処理ガス、または、パージガスが流れる複数の穴を備える。あるいは、上側電極２４は、導電性のプレートを備えてもよく、処理ガスは、別の方法で導入されてもよい。
【００６０】
ＥＳＣ２６は、下側電極として機能するベースプレート３０を備える。ベースプレート３０は、加熱プレート３２を支持しており、加熱プレート３２は、セラミックのマルチゾーン加熱プレートに対応してよい。熱抵抗層３４が、加熱プレート３２とベースプレート３０との間に配置されてよい。ベースプレート３０は、ベースプレート３０に冷却材を流すための１または複数の流路３６を備えてよい。
【００６１】
プラズマが利用される場合、ＲＦ発生システム４０が、ＲＦ電圧を生成して、上側電極２４および下側電極（例えば、ＥＳＣ２６のベースプレート３０）の一方に出力する。上側電極２４およびベースプレート３０のもう一方は、ＤＣ接地、ＡＣ接地されるか、または、浮遊していてよい。単に例として、ＲＦ発生システム４０は、整合／配電ネットワーク４４によって上側電極２４またはベースプレート３０に供給されるＲＦ電力を生成するＲＦ発生器４２を備えてよい。他の例において、プラズマは、誘導的にまたは遠隔で生成されてよい。
【００６２】
ガス供給システム５０は、１または複数のガス源５２−１、５２−２、・・・、および、５２−Ｎ（集合的に、ガス源５２）を備えており、ここで、Ｎはゼロより大きい整数である。ガス源５２は、バルブ５４−１、５４−２、・・・、および、５４−Ｎ（集合的に、バルブ５４）ならびにマスフローコントローラ５６−１、５６−２、・・・、および、５６−Ｎ（集合的に、マスフローコントローラ５６）によってマニホルド６０に接続されている。蒸気供給システム６１が、マニホルド６０または処理チャンバ２２に接続された別のマニホルド（図示せず）に気化した前駆体を供給する。マニホルド６０の出力は、処理チャンバ２２に供給される。
【００６３】
温度コントローラ６３が、加熱プレート３２上に配置された複数の熱制御素子（ＴＣＥ：ｔｈｅｒｍａｌ  ｃｏｎｔｒｏｌ  ｅｌｅｍｅｎｔ）６４に接続されてよい。温度コントローラ６３は、複数のＴＣＥ６４を制御してＥＳＣ２６および基板２８の温度を制御するために用いられる。温度コントローラ６３は、流路３６を通る冷却材の流れを制御するための冷却材アセンブリ６６と連通してよい。例えば、冷却材アセンブリ６６は、冷却材ポンプと、リザーバと、１または複数の温度センサと、を備えてよい。温度コントローラ６３は、ＥＳＣ２６を冷却するために流路３６を通して冷却材を選択的に流すように、冷却材アセンブリ６６を作動させる。
【００６４】
バルブ７０およびポンプ７２が、処理チャンバ２２から反応物質を排出するために用いられてよい。システムコントローラ８０が、システム２０の構成要素を制御するために用いられてよい。
【００６５】
図３は、処理モジュール４の一例として、基板の層をエッチングするための処理チャンバ１００を示す。具体的なチャンバを図示して説明しているが、本開示の教示は、他の基板処理装置に適用されてもよい。
【００６６】
処理チャンバ１００は、下側チャンバ領域１０２および上側チャンバ領域１０４を備える。下側チャンバ領域１０２は、チャンバ側壁面１０８、チャンバ底面１１０、および、ガス分配装置１１４の下面によって規定される。
【００６７】
上側チャンバ領域１０４は、ガス分配装置１１４の上面およびドーム１１８の内面によって規定される。いくつかの例において、ドーム１１８は、第１環状支持体１２１の上にある。いくつかの例において、第１環状支持体１２１は、上側チャンバ領域１０４に処理ガスを供給するための１または複数の離間された穴１２３を備える。いくつかの例において、処理ガスは、ガス分配装置１１４を含む平面に対して鋭角に上方向に１または複数の離間した穴１２３によって供給されるが、その他の角度／方向が用いられてもよい。いくつかの例において、第１環状支持体１２１内のガス流路１３４が、１または複数の離間した穴１２３にガスを供給する。
【００６８】
第１環状支持体１２１は、ガス流路１２９から下側チャンバ領域１０２へ処理ガスを供給するための１または複数の離間した穴１２７を規定する第２環状支持体１２５上にあってよい。いくつかの例において、ガス分配装置１１４の穴１３１は、穴１２７と整列する。別の例において、ガス分配装置１１４は、より小さい直径を有しており、穴１３１は必要ない。いくつかの例において、処理ガスは、ガス分配装置１１４を含む平面に対して鋭角に基板１２６に向かって下方向に１または複数の離間した穴１２７によって供給されるが、その他の角度／方向が用いられてもよい。
【００６９】
別の例において、上側チャンバ領域１０４は、平坦な上面を備えた円筒形であり、１または複数の平坦な誘導コイルが用いられてよい。さらに別の例において、単一のチャンバが、シャワーヘッドと基板支持体との間に配置されたスペーサと共に用いられてもよい。
【００７０】
基板支持体１２２が、下側チャンバ領域１０４内に配置されている。いくつかの例において、基板支持体１２２は、静電チャック（ＥＳＣ）を備えるが、その他のタイプの基板支持体が用いられてもよい。基板１２６は、エッチング中に基板支持体１２２の上面に配置される。いくつかの例において、基板１２６の温度は、ヒータプレート１２５と、流体流路を備えた任意選択的な冷却プレートと、１または複数のセンサ（図示せず）とによって制御されてよいが、任意のその他の適切な基板支持体温度制御システムが用いられてもよい。
【００７１】
いくつかの例において、ガス分配装置１１４は、シャワーヘッド（例えば、複数の離間した穴１２９を有するプレート１２８）を備える。複数の離間した穴１２９は、プレート１２８の上面からプレート１２８の下面まで伸びる。いくつかの例において、離間した穴１２９は、０．４インチ（１０．１６ｍｍ）から０．７５インチ（１９．０５ｍｍ）の範囲の直径を有し、シャワーヘッドは、導電材料製の埋め込み電極を備えた導電材料（アルミニウムなど）または非導電材料（セラミックなど）で製造される。
【００７２】
１または複数の誘導コイル１４０が、ドーム１１８の外側部分の周りに配列されている。励起されると、１または複数の誘導コイル１４０は、ドーム１１８の内部に電磁場を生成する。いくつかの例では、上側コイルおよび下側コイルが用いられる。ガスインジェクタ１４２が、ガス供給システム１５０−１から１または複数のガス混合物を注入する。
【００７３】
いくつかの例において、ガス供給システム１５０−１は、１または複数のガス源１５２と、１または複数のバルブ１５４と、１または複数のマスフローコントローラ（ＭＦＣ）１５６と、混合マニホルド１５８とを備えるが、その他のタイプのガス供給システムが用いられてもよい。ガススプリッタ（図示せず）が、ガス混合物の流量を変化させるために用いられてよい。別のガス供給システム１５０−２が、（ガスインジェクタ１４２からのエッチングガスに加えてまたはその代わりに）エッチングガスまたはエッチングガス混合物をガス流路１２９および／または１３４に供給するために用いられる。
【００７４】
いくつかの例において、ガスインジェクタ１４２は、下方向にガスを方向付ける中央注入位置と、下方向に対して或る角度でガスを注入する１または複数の側方注入位置とを備える。いくつかの例において、ガス供給システム１５０−１は、中央注入位置に第１流量でガス混合物の第１部分を供給し、ガスインジェクタ１４２の側方注入位置へ第２流量でガス混合物の第２部分を供給する。別の例では、異なるガス混合物が、ガスインジェクタ１４２によって供給される。いくつかの例において、ガス供給システム１５０−１は、後述するように、ガス流路１２９および１３４ならびに／もしくは処理チャンバの他の位置へ調節ガスを供給する。
【００７５】
プラズマ発生器１７０が、１または複数の誘導コイル１４０に出力されるＲＦ電力を生成するために用いられる。プラズマ１９０が、上側チャンバ領域１０４で生成される。いくつかの例において、プラズマ発生器１７０は、ＲＦ発生器１７２および整合回路網１７４を備える。整合回路網１７４は、ＲＦ発生器１７２のインピーダンスを１または複数の誘導コイル１４０のインピーダンスに整合させる。いくつかの例において、ガス分配装置１１４は、接地などの基準電位に接続される。バルブ１７８およびポンプ１８０が、下側および上側チャンバ領域１０２、１０４の内部の圧力を制御すると共に、反応物質を排出するために用いられてよい。
【００７６】
コントローラ１７６が、ガス供給システム１５０−１および１５０−２、バルブ１７８、ポンプ１８０、ならびに、プラズマ発生器１７０と通信して、処理ガス、パージガスの流量、ＲＦプラズマ、および、チャンバ圧を制御する。いくつかの例において、プラズマは、１または複数の誘導コイル１４０によってドーム１１８内で維持される。１または複数のガス混合物が、ガスインジェクタ１４２（および／または穴１２３）を用いてチャンバの上部から導入され、プラズマは、ガス分配装置１１４を用いてドーム１１８内に閉じこめられる。
【００７７】
ドーム１１８におけるプラズマの閉じこめは、プラズマ種の体積再結合を可能にし、ガス分配装置１１４を通して所望のエッチング種を放出する。いくつかの例において、基板１２６にはＲＦバイアスが印加されない。結果として、基板１２６上に活性シースはなく、イオンが任意の有限エネルギで基板に衝突することがない。或る程度の量のイオンが、ガス分配装置１１４を通してプラズマ領域から拡散する。しかしながら、拡散するプラズマの量は、ドーム１１８内に位置するプラズマよりも桁が小さい。プラズマ内のイオンのほとんどは、高圧で体積再結合によって失われる。ガス分配装置１１４の上面での表面再結合の損失も、ガス分配装置１１４の下のイオン密度を低下させる。
【００７８】
いくつかの例において、ＲＦバイアス発生器１８４が設けられており、ＲＦ発生器１８６および整合回路網１８８を備える。ＲＦバイアスは、ガス分配装置１１４と基板支持体との間でプラズマを生成するため、または、イオンを引きつけるために基板１２６上で自己バイアスを生成するために利用されうる。コントローラ１７６は、ＲＦバイアスを制御するために用いられてよい。
【００７９】
図４は、図１に示した基板処理ツール２を制御するコントローラ１０の簡単な例を示す。例えば、コントローラ１０は、記載した機能を実行できるサーバまたは任意のその他の適切なコンピュータデバイスを含みうる。コントローラ１０は、通例、１または複数のＣＰＵまたはプロセッサ２００と、１または複数の入力デバイス２０２（例えば、キーパッド、タッチパッド、マウスなど）と、ディスプレイ２０６を備えたディスプレイサブシステム２０４と、ネットワークインターフェース２０８と、メモリ２１０と、バルクストレージ２１２と、を備える。
【００８０】
ネットワークインターフェース２０８は、コントローラ１０を分散型ネットワークシステム１２に接続する。分散型ネットワークシステム１２は、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどのワイドエリアネットワーク（ＷＡＮ）、または、その他のタイプのネットワークを含んでよい。例えば、ネットワークインターフェース２０８は、有線インターフェース（例えば、イーサネット（登録商標）インターフェース）および／または無線インターフェース（例えば、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離無線通信（ＮＦＣ）、または、その他の無線インターフェース）を含んでよい。メモリ２１０は、揮発性または不揮発性メモリ、キャッシュ、もしくは、その他のタイプのメモリを含んでよい。バルクストレージ２１２は、フラッシュメモリ、１または複数のハードディスクドライブ（ＨＤＤ）、または、その他のバルクストレージデバイスを含んでよい。
【００８１】
コントローラ１０のプロセッサ２００は、オペレーティングシステム（ＯＳ）２１４と、１または複数のアプリケーション２１６と、を実行する。アプリケーション２１６は、基板処理ツール２を制御する制御システムを実装する。アプリケーション２１６は、人工知能によって基板処理ツール２のためのユーザ相互作用を自動化するために、  図７〜図９を参照して後に説明する方法を実施する。アプリケーション２１６は、基板処理ツール２のためのユーザ相互作用を自動化する人工知能（ＡＩ）エンジンを実装する。バルクストレージ２１２は、それぞれの機能を実行するためにアプリケーション２１６によって用いられるデータ構造を格納する１または複数のデータベース２１８を格納してよい。
【００８２】
コントローラ１０は、コントローラ１０を処理モジュール４およびロボット８にインターフェース接続するインターフェース２２０を備える。コントローラ１０は、インターフェース２２０を介して基板処理ツール２のロボット８および処理モジュール４を制御する。コントローラ１０は、インターフェース２２０を介して図２および図３に示した処理モジュール４のコントローラ８０および１７６と通信する。処理モジュール４のコントローラ８０および１７６も、記載した機能を実行できるサーバまたは任意のその他の適切なコンピュータデバイスを含みうる。コントローラ１０は、インターフェース２２０を介して、基板処理ツール２によって用いられる様々なセンサと通信する。コントローラ１０は、インターフェース２２０を介して処理モジュール４およびロボット８に関連する様々なセンサからデータを受信する。
【００８３】
コントローラ１０は、基板処理ツール２の様々な構成要素を制御するために、インターフェース２２０を通して信号を送信する。例えば、信号は、処理モジュール４内のバルブ、ポンプなどを制御してよい；信号は、処理モジュール４内の様々な処理パラメータ（圧力、温度、電力、ガスなど）を制御してよい；信号は、ロボット８を制御してよい、などである。
【００８４】
コントローラ１０は、処理モジュール４と基板処理ツール２によって用いられる様々なセンサとから受信したデータに基づいて、任意の所与の時点の基板処理ツール２の状態を決定する。コントローラ１０は、基板処理ツール２の状態に基づいて、基板処理ツール２を制御する。
【００８５】
コントローラ１０は、ディスプレイサブシステム２０４および／または入力デバイス２０２を介して（またはネットワークインターフェース２０８を介して遠隔で）受信したオペレータ入力に基づいて、基板処理ツール２を制御する（例えば、基板処理ツール２に信号を送信する）。コントローラ１０は、後に詳述するような人工知能（ＡＩ）エンジンを実装するアプリケーション２１６およびデータベース２１８の制御下で、基板処理ツール２のためのユーザ相互作用を自動化する。コントローラ１０は、ユーザ相互作用のあるなしに関わらず、ＡＩエンジンを用いて基板処理ツール２を制御できる。
【００８６】
コントローラ１０は、基板処理ツール２の状態に基づいて、警告を生成できる。例えば、コントローラ１０は、基板処理ツール２内のイベント、エラー（発生したエラーおよび差し迫ったエラー）などに基づいて、警告を生成できる。警告は、基板処理ツール２のユーザ（すなわち、オペレータ）に警告するために、ディスプレイサブシステム２０４を介して出力されうる。警告は、基板処理ツール２の音声サブシステム（図示せず）を介して出力されてもよい。警告は、ネットワークインターフェース２０８を介して、メッセージとして通信されてもよい。
【００８７】
アプリケーション２１６は、基板処理ツール２の具体的な状態に応じて実行された具体的なユーザ動作から学習する。例えば、アプリケーション２１６は、警告に応じて実行されたユーザ動作（例えば、エラーから回復するために実行された動作）から学習する。基板処理ツール２において発生したイベントへのユーザによる同じ反応を観察した後（例えば、特定のイベントに対して３〜５回同じセットの入力でユーザが反応した後）、アプリケーション２１６は、基板処理ツール２の状態と、その状態に応じてオペレータによって実行された対応する動作とを、データベース２１８に格納する。
【００８８】
いくつかの実施例において、データベース２１８は、基板処理ツール２の状態とそれらの状態に応じてオペレータによって実行された対応する動作とに関連する関係性をすでに格納していてもよい。かかる実施例において、アプリケーション２１６は、基板処理ツール２の継続動作からの学習に基づいて、データベース２１８を更新し続けてよい。
【００８９】
別の実施例において、データベース２１８は、様々な基板処理ツールの状態とそれらの状態に応じてオペレータによって実行された対応する動作とに関連する関係性をすでに格納していてもよい。例えば、関係性は、様々な基板処理ツールからの履歴データ（例えば、イベントログ、警告ログなど）を再生することによって導出されてよい。再生は、  （例えば、図１〜図３に示したのと同様の基板処理システムをシミュレートすることによって）シミュレートされた環境で実行されてよい。シミュレーションプロセスは、他の基板処理システムから受信した生産データ（ツール状態および対応）を再生することに加えて、様々な他の動作条件および対応をシミュレートして学習プロセスをさらに改善できるというさらなる利点を提供する。例えば、シミュレートされた条件下でエラー検出を改善することによって、誤警告（例えば、エラーによって誤ってトリガされる不必要なメンテナンスタスク）を最小限に抑えるかまたは回避することができる。
【００９０】
かかる実施例において、データベース２１８が様々な基板処理システムから受信したデータに基づいて生成される場合、アプリケーション２１６は、基板処理ツール２の実際の構成に従ってデータベース２１８を構成（例えば、適合またはカスタマイズ）してよい。アプリケーション２１８は、基板処理ツール２の継続動作からの学習に基づいて、データベース２１８を更新し続けてよい。
【００９１】
学習に基づいて、コントローラ１０は、基板処理ツール２の状態に応じて動作を実行するようユーザに指示できる。例えば、コントローラ１０は、基板処理ツール２の状態を、データベース２１８に格納された状態への対応と相関させることができる。相関に基づいて、コントローラ１０は、基板処理ツール２におけるエラーの検出時に、データベース２１８で見つかった修正または回復動作を示唆できる。別の例として、コントローラ１０は、基板処理ツール２内の１または複数のセンサからのデータを用いて、予防または修正のメンテナンス動作を実行する必要のあることを決定できる。コントローラ１０は、ツール状態をデータベース２１８に格納されたデータと相関させ、その相関に基づいて、実行すべき適切な動作を示唆できる。
【００９２】
コントローラ１０は、ユーザ相互作用なしに、提示された動作を自動的に実行するよう提案できる（例えば、ディスプレイサブシステム２０４上のＧＵＩで提案できる）。コントローラ１０は、基板処理ツール２と相互作用するオペレータが存在するか否かを判定できる。コントローラ１０は、日時に基づく（例えば、スケジュールされたシフトのタイミングまたは労働時間に基づく）、ユーザがコントローラ１０に現在ログインしているか否かに基づくなどして、オペレータの存否を検出できる。ユーザが存在しない場合（すなわち、基板処理ツール２に人が付いていない場合）、コントローラ１０は、自動的にタスクを実行し、基板処理ツール２の状態およびその状態に応じて実行される動作についてメッセージを介してユーザに通知することができる。
【００９３】
タスクのタイプおよび／またはアプリケーション２１６の構成に応じて、ユーザは、ユーザからのさらなる入力は全くなしに動作を実行することを、遠隔で（すなわち、基板処理ツール２の近くにユーザが存在しない場合に）コントローラ１０に許可することもできる。あるいは、ユーザは、動作を実行し、コントローラによるのタスクの実行を監視し、必要であれば介入することを、遠隔で（またはローカルに、すなわち、ユーザが基板処理ツール２の近くに存在する場合に）コントローラ１０に許可することもできる。
【００９４】
上述のように、アプリケーション２１６は、基板処理ツール２のユーザ（すなわち、オペレータ）の動作から、エラーからの回復方法、（エラー修正手段およびスケジュールされた予防手段としてトリガされた）複雑なメンテナンスタスクを実行する方法などを学習する。学習に基づいて、コントローラ１０は、エラーを検出し、エラーから回復し、ウエハの損傷または廃棄を防止することができる。
【００９５】
一部の状況は、基板処理ツール２などの半導体処理装置に特有または独特であり、人工知能（ＡＩ）エンジンの構築を困難にすることに注意されたい。例えば、基板処理ツール２の処理モジュール４は、様々な処理のための様々な化学物質：様々な気体および液体（集合的に流体）；様々な圧力、温度、および、電力；流体、圧力、温度、および、電力の様々な順序、などを利用しうる。かかる多様で幅広い範囲の電気的、機械的、および、化学的制御を含む基板処理ツールのためのユーザ相互作用を学習および自動化することは困難でありうる。
【００９６】
時には、ウエハが基板処理ツール２などの半導体処理装置内で損傷または廃棄されることを防ぐために、迅速な対応（例えば、数秒ないし数分の１秒）が重要になる場合がある。本開示に従った人工知能（ＡＩ）エンジンは、人間のオペレータよりもはるかに迅速にかかる状況に対応できる。
【００９７】
基板処理ツール２などの半導体処理装置に固有の別の特有または独特なパラメータは、待ち時間であり：一連の処理を用いて処理されるウエハは、待ち時間と呼ばれる所定の時間内に、或る処理モジュールから別の処理モジュールへ移送される必要がある。待ち時間は、或る処理モジュール内でウエハに対してすでに実行された処理のタイプおよび別の処理モジュール内でウエハに対して次に実行される処理のタイプに依存して変化しうる。ウエハが待ち時間内に処理されなかった場合、そのウエハは、廃棄される必要がありうる。ＡＩエンジンは、ユーザが存在しない場合に、学習した待ち時間データを用いて、待ち時間内（すなわち、待ち時間が切れる前）に介入し、ウエハの廃棄を防ぐ。
【００９８】
ＡＩエンジンは、基板処理ツール２内のエラーを検出する。ＡＩエンジンは、学習に基づいて（すなわち、ツール状態とデータベース２１８に格納されたデータとの相関に基づいて）、ツール状態に対する過去の回復手順を認識した場合、以下の１つを行う：ユーザがツールを操作している場合（例えば、ユーザが存在する場合）、ＡＩエンジンは、ユーザへの支援を提供できる。ユーザは、ＡＩエンジンに回復シーケンスを自動的に実行させることができる。ユーザは、必要であれば、ＡＩエンジンによる回復シーケンスの自動実行に介入できる。あるいは、ユーザが存在せず、ＡＩエンジンがウエハ廃棄の可能性を検出した場合、ＡＩエンジンは、自動的に介入して、ウエハが廃棄されるのを防ぐことができる。
【００９９】
別の例の状況またはシナリオ（ＡＩエンジンは、そこから学習し、後にその中で動作できる）は、以下を含む。例えば、基板処理ツール２は、ロボットグリッパエラーに見舞われる場合がある。例えば、ツールは、ロボットグリッパエラーにより生産中に１日２回停止しうる。交換部品が発注されうるが、届くのに何週間もかかる場合があり、これは、ツールの稼働停止時間および２４時間週７日体制の技術サポートにつながりうる。
【０１００】
ロボットグリッパエラーの回復は複雑であり、熟練した介入が必要である。回復におけるエラーは、ロボットの故障につながり、ウエハの廃棄を引き起こしうる。ウエハは、待ち時間の制約も受ける。したがって、ウエハは、所与の時間内に回復される必要があり、さもなければ、ウエハは廃棄されなければならない。この状況は、ツールの稼働停止時間を引き起こし、２４時間週７日体制の技術サポートを必要としうる。
【０１０１】
その代わりに、ＡＩエンジンは、以下のように対処できる。ＡＩエンジンは、リアルタイムでツール情報にアクセスできる。ＡＩエンジンは、エラーおよびツール状態へのユーザの介入を学習する。上記の状況へのユーザの対応を複数回（例えば、３〜５回）記録した後、ＡＩエンジンは、データベース２１８に格納されたシーケンスを実行して、エラーから回復することができる。例えば、生産中、ＡＩエンジンは、自動回復モードに設定されることができる。このモードがアクティブであり、上記のエラーが発生した時、ＡＩエンジンは、待ち時間がウエハをリスクにさらしうる場合に介入する。このように、ツールは、交換部品の取り付けまでは生産に用いることができる。ＡＩエンジンは、ロボット８に関連するセンサから受信したデータに基づいてエラーを予測することができ、エラーが発生する前に先を見越して部品を発注できる。かかる先を見越した動作は、ツールの稼働停止時間、２４時間週７日体制の技術サポートの必要性、および、ウエハ廃棄の可能性を回避または最小化することができる。
【０１０２】
図５は、分散型ネットワークシステム１２を介して互いに通信する基板処理システム１、システムＡ２５０−１およびシステムＢ２５０−２（集合的に、他のシステム２５０）、測定システム２６０、ならびに、ホスト２７０を含むネットワークを示す。例えば、システムＡ２５０−１およびＢ２５０−２は、基板処理システム１に対して上流および下流にそれぞれ配置されてよい。例えば、基板処理システム１の上流に配置されたシステムＡ２５０−１は、基板処理システム１による処理に向けて基板の準備をしてよい。システムＡ２５０−１は、基板に関するデータを提供してよい。システムＡ２５０−１から受信したデータに応じて、基板処理システム１は、基板処理に向けて、基板処理ツール２の１または複数の処理モジュール４およびロボット８の設定および／または処理パラメータを最適化できる。したがって、基板処理システム１は、基板処理ツール２の状態を改善するために、システムＡ２５０−１からのデータを利用できる。基板処理システム１は学習して、将来的に類似のデータを期待できる。さらに、基板処理システム１は、下流に配置されたシステムＢ２５０−２からデータを受信してよく、そのデータから学習できる（すなわち、データに基づいて、１または複数の処理モジュール４およびロボット８の設定および／または処理パラメータを最適化できる）。
【０１０３】
測定システム２６０は、１または複数の光学測定法および質量測定法を用いて、基板処理システム１による基板の処理の前、間、および／または、後に、多くの測定を実行することができる。例えば、質量測定システムは、処理の前後で質量を測定して質量の変化を決定するために用いられてよい。光学測定法は、表面のスペクトルモデルを作成して厚さを決定するために利用できる。質量変化および厚さは、フィードバックとして利用できる。測定値は、基板の状態と、基板に実行された１または複数の処理（例えば、蒸着、エッチング、洗浄など）の成功とを示唆しうる。例えば、測定値に応じて、基板の状態は、以下の内の１または複数を示唆しうる：基板が基板処理システム１による処理の準備ができているか否か、基板が１または複数の処理モジュール４によって正確に処理されているか否か（例えば、基板が適切にエッチング；洗浄されているか否か；および／または、蒸着が正確に実行されているか否か、など）、基板処理システム１による基板の処理が成功して完了したか否か、など。測定データは、基板処理ツール２の１または複数の処理モジュール４およびロボット８の設定および／または処理パラメータを最適化するために利用できる。したがって、測定データは、基板処理ツール２の状態をさらに改善するために利用できる。説明の簡単のために測定システムを１つだけ図示しているが、２以上の測定システムを利用してもよい。例えば、或る測定システムが、基板処理システム１による基板の処理前に用いられてよく、別の測定システムが、基板処理システム１による基板の処理後に用いられてよい。
【０１０４】
ホスト２７０は、１または複数のサーバを備えてよい。各サーバは、図４に示したコントローラ１０の構成要素をすべて備えてよい。ホスト２７０は、コントローラ１０の機能の一部または全部を実行してよい。ホスト２７０は、コントローラ１０を用いてまたは用いないで基板処理ツール２を制御してよい。ホスト２７０は、コントローラ１０を介しておよび／または直接的に（すなわち、コントローラ１０を通して通信することなしに）基板処理ツール２と通信できる。ホスト２７０は、基板処理ツール２の任意の構成要素（例えば、ロボット８および任意の処理モジュール４）と直接通信できる。コントローラ８０および１７６（図３および図４を参照）は、処理モジュール４の例であり、図４に示したコントローラ１０と同様であってよい。各処理モジュール４は、ネットワークインターフェース２０８を介して直接的にホスト２７０と通信してよい。各処理モジュール４は、インターフェース２２０を介して、他の処理モジュール４、ロボット８、および／または、コントローラ１０と通信してよい。ロボット８は、コントローラ１０と同様のコントローラを備えてもよい。ロボット８は、ネットワークインターフェース２０８を介して直接的にホスト２７０と通信してよい。ロボット８は、インターフェース２２０を介して、処理モジュール４および／またはコントローラ１０と通信してよい。したがって、処理モジュール４およびロボット８は、ホスト２７０と直接通信することができ、ホスト２７０によって直接制御されうる。ホスト２７０は、オンプレミスで配置されてもよいし、クラウド内に配置されてもよい。ホスト２７０は、ユーザ相互作用の有無にかかわらず、基板処理ツール２の制御に関連するさらなるデータを格納できる。さらなるデータは、他のシステム２５０、測定システム２６０、および、他の基板処理システム（図６および対応する以下の記載を参照）からのデータを含みうるが、これらに限定されない。
【０１０５】
図６は、分散型ネットワークシステム１２を介して互いに通信できる複数の基板処理システム１−１、１−２、１−３、・・・、および、１−Ｎ（ここで、Ｎは１より大きい整数）（集合的に、基板処理システム１）を示す。基板処理システム１は、単一の位置に配置されてもよいし、複数の位置にわたって分散されてもよい。基板処理システム１は、それらの状態および状態に対する対応に関するデータを互いに共有してよい。基板処理システム１のいずれも、共有したデータに基づいて（例えば、上述のシミュレーション処理を用いて共有データを再生することによって）、基板処理システム１の中または外にある１または複数の基板処理システムのアプリケーション２１６およびデータベース２１８を生成、更新、および／または、カスタマイズできる。
【０１０６】
使用時、ＡＩエンジン（すなわち、アプリケーション２１６およびデータベース２１８）は、リアルタイムでツールのすべての状態にアクセスできる。ＡＩエンジンは、データベース２１８に格納されたツール状態およびユーザ動作を相関させることができる。ＡＩエンジンは、ユーザがツール状態に反応する方法を学習できる（例えば、ＡＩエンジンは、個々の警告からユーザが回復する方法を学習する）。例えば、ユーザがツール状態に同じように反応することがおよそ３〜５回発生した後に、ＡＩエンジンは、ユーザに対してそのシーケンスを実行できる。
【０１０７】
シーケンスが認識された場合（すなわち、現在のツール状態が、データベース内の学習済みの対応を伴う状態に相関する場合）、ＡＩエンジンは、ツールがユーザによって現在作動されているか否か（すなわち、ユーザが存在するか否か）を検出する。ユーザが存在する場合、ＡＩエンジンは、（例えば、メッセージまたは（相関に基づいて見出された）推奨される対応をＧＵＩ上に表示することによって）ユーザに援助を提案する。あるいは、シーケンスが認識され、かつ、ユーザが存在しない場合、ＡＩエンジンは、制御を引き継ぐように設定（すなわち、構成）されている場合には、そのようにすることができる。
【０１０８】
ＡＩエンジンは、待ち時間についても学習できる。ＡＩエンジンは、ユーザが存在せず、かつ、ウエハが廃棄になりうる場合に、このデータを用いて介入できる。顧客（すなわち、他のツール）および実験ツール（例えば、再生、シミュレーション、など）から学習したシナリオが、マスタデータベースに格納、収集、および、蓄積されてよく、このデータベースは、その後、他のツール上の個々のデータベースをインストール、カスタマイズ、または、更新するために利用できる。ＡＩエンジンの基本的な能力は、ＡＩエンジンがインストールされたツールからの学習により、および、上述したように他のツールからの学習により、時間と共に向上し続けることができる。自身の学習を積んだＡＩエンジンについてのデータを共有しようと思わない顧客でも、ツール群（すなわち、彼らのツールのセット）にわたってＡＩ学習を集約する機能を有する。
【０１０９】
半導体製造装置のためのユーザ相互作用を自動化する方法について、図７〜図９を参照して以下で説明する。以下の記載において、コントロールという用語は、以下に記載の方法を実施する図１〜図６を参照して上述したアプリケーション２１６の内の１または複数を指す。換言すると、コントロールという用語は、記載した機能を実行するために図１〜図６に示した基板処理システム１の１または複数の構成要素によって実行されるコードまたは命令を表す。例えば、以下に記載の方法は、図１および図４に示したコントローラ１０および／または図５に示したホスト２７０によって実行されてよい。
【０１１０】
図７は、人工知能を用いて半導体製造装置（例えば、図１の基板処理システム１）のためのユーザ相互作用を自動化する方法３００を示す。工程３０２で、コントロール（例えば、アプリケーション２１６の内の１または複数）は、基板処理ツール（例えば、図１の基板処理ツール２）の状態を監視する。工程３０４で、コントロールは、ツール状態へのオペレータの対応を監視する。工程３０６で、コントロールは、ツール状態およびツール状態へのオペレータの対応のデータベース（例えば、データベース２１８の内の１または複数）を蓄積（すなわち、生成または構築）する。例えば、コントロールは、オペレータが、所定の回数（例えば、３〜５回）同じ対応を用いてツール状態に反応した後に、ツール状態およびそのツール状態へのオペレータの対応をデータベースに格納する。
【０１１１】
工程３０８で、コントロールは、リアルタイムに基板処理ツールから受信したデータに基づいて、基板処理ツールの現在のツール状態を決定し、現在のツール状態に対する対応がデータベース内にあるか否かを判定する。例えば、コントロールは、現在のツール状態を、データベースに格納された既知の対応を伴うツール状態と相関させることによって、この判定を行う。コントロールは、相関がデータベース内で現在のツール状態と一致するツール状態を見出すことができない場合には、工程３０２に戻る。
【０１１２】
工程３１０で、現在のツール状態への一致がデータベース内で見つかった場合、コントロールは、現在のツール状態に対応するオペレータが存在するか否かを判定する。例えば、コントロールは、日時およびオペレータのシフトスケジュール、オペレータがシステム（例えば、コントローラ１０）にログインしたか否か、などに基づいて、オペレータの存否を検出する。
【０１１３】
工程３１２で、オペレータが存在する場合、コントロールは、基板処理ツールのディスプレイ上のデータベース（例えば、ディスプレイ上のＧＵＩ）に、データベース内で見つかった一致するツール状態に対応する対応を出力する。コントロールは、その対応に従って基板処理ツールを制御するよう提案する。
【０１１４】
工程３１４で、コントロールは、オペレータが、全くオペレータ入力なしにその対応に従って基板処理ツールを自動的に制御することをコントロールに許可しているか否かを判定する。工程３１６で、オペレータが、全くオペレータ入力なしにその対応に従った基板処理ツールの自動的制御を行うことを許可している場合、コントロールは、オペレータの介入なしに基板処理ツールを自動的に制御し、コントロールは工程３０２に戻る。
【０１１５】
工程３１８で、オペレータが、全くオペレータ入力なしにその対応に従った基板処理ツールの自動的制御を行うことを許可していない場合、コントロールは、オペレータから１または複数の入力を受信し、オペレータの１または複数の入力に従って基板処理ツールを制御し、コントロールは工程３０２に戻る。
【０１１６】
工程３２０で、オペレータが存在しないとコントロールが工程３１０で判定した場合、コントロールは、現在のツール状態および現在のツール状態への対応に関してオペレータに通知し、コントロールは工程３１６に進む。例えば、コントロールは、現在のツール状態および現在のツール状態への対応に関するメッセージをオペレータへ送信する。図示していないが、コントロールは、工程３１６へ進む代わりに、工程３１４へ進むこともできる。コントロールが工程３１４へ進む場合、オペレータは、全くオペレータ入力なしに対応に従って基板処理ツールを自動的に制御することをコントロールに遠隔で許可することができ、その場合、コントロールは工程３１６へ進む。あるいは、コントロールが工程３１４へ進み、オペレータが、全くオペレータ入力なしに対応に従って基板処理ツールを自動的に制御することをコントロールに許可しない場合、コントロールは工程３１８へ進む。
【０１１７】
図８は、複数の基板処理ツールから受信したデータに基づいて、ツール状態および特定の基板処理ツールのための対応のデータベースを構築する方法４００を示す。工程４０２で、コントロールは、複数の基板処理ツールから受信したデータに基づいて、ツール状態およびツール状態に対応するオペレータ対応のマスタデータベースを構築する。工程４０４で、コントロールは、特定の基板処理ツールの構成に従って、（複数の基板処理ツールから受信したデータから工程４０２で生成された）マスタデータベースを構成することによって、特定の基板処理ツールのデータベースをカスタマイズする。あるいは、特定の基板処理ツールがすでにデータベースを有する場合、コントロールは、（複数の基板処理ツールから受信したデータから工程４０２で生成された）マスタデータベースから関連情報を追加することによって、データベースを更新する。コントロールは、特定の基板処理ツールの構成に基づいて、関連情報を選択する。工程４０６で、コントロールは、図７に示した方法３００に従って、カスタマイズ／更新されたデータベースを用いて特定の基板処理ツールの制御動作を実行する。
【０１１８】
図９は、シミュレートされた環境において複数の基板処理ツールから受信したデータを再生することによって、ツール状態および特定の基板処理ツールのための対応のデータベースを構築する方法４５０を示す。工程４５２で、コントロールは、複数の基板処理ツール（例えば、図６を参照）からデータを収集する。工程４５４で、コントロールは、シミュレートされた基板処理ツールにおいてデータを再生し、ここで、ツール状態への対応がシミュレートされうる。工程４５６で、コントロールは、シミュレートされた環境において複数の基板処理ツールから受信したデータを再生することに基づいて、ツール状態およびツール状態に対応する対応のマスタデータベースを構築する。
【０１１９】
工程４５８で、コントロールは、特定の基板処理ツールの構成に従って、（複数の基板処理ツールから受信したデータから工程４５６で生成された）マスタデータベースを構成することによって、特定の基板処理ツールのデータベースをカスタマイズする。あるいは、特定の基板処理ツールがすでにデータベースを有する場合、コントロールは、（複数の基板処理ツールから受信したデータから工程４５６で生成された）マスタデータベースから関連情報を追加することによって、データベースを更新する。コントロールは、特定の基板処理ツールの構成に基づいて、関連情報を選択する。工程４６０で、コントロールは、図７に示した方法３００に従って、カスタマイズ／更新されたデータベースを用いて特定の基板処理ツールの制御動作を実行する。
【０１２０】
本開示を通して、コンピュータ（例えば、サーバ）、アプリケーション（例えば、コンピュータプログラム）などの用語への言及は、単に例示のためである。コンピュータ（例えば、サーバ）などの用語は、マシン読み取り可能な命令を実行するよう構成された１または複数のプロセッサおよびメモリを備えるコンピュータデバイスを表すものとして広く理解されるべきである。アプリケーション（例えば、コンピュータプログラム）などの用語は、コンピュータデバイスによって実行できるマシン読み取り可能な命令を表すものとして広く理解されるべきである。
【０１２１】
本開示を通して、処理モジュールは、単に例として用いられている。本開示の教示は、任意のタイプの処理装置（例えば、バッチリアクタ、イオン注入装置など）に適用可能である。例えば、本開示の教示は、生物サンプル、化学サンプル、医学サンプルなどのサンプルを処理する任意の装置に適用できる。さらに、本開示を通して、基板は、単に例として用いられている。本開示の教示は、任意の対象物またはワークピースを処理するために適用できる。例えば、本開示の教示は、光学的、熱的、化学的、磁気的、および、機械的な処理を用いて対象物またはワークピースを処理するために適用できる。換言すると、本開示の教示は、複数の処理を用いて対象物を処理する任意の装置の動作から学習し、学習に基づいて装置および対象物の処理を制御することで、人的相互作用を最小化すると共に対象物への損傷のリスクを低減するために適用できる。
【０１２２】
上述の記載は、本質的に例示に過ぎず、本開示、応用例、または、利用法を限定する意図はない。本開示の広範な教示は、様々な形態で実施されうる。したがって、本開示には特定の例が含まれるが、図面、明細書、および、以下の特許請求の範囲を研究すれば他の変形例が明らかになるため、本開示の真の範囲は、それらの例には限定されない。方法に含まれる１または複数の工程が、本開示の原理を改変することなく、異なる順序で（または同時に）実行されてもよいことを理解されたい。さらに、実施形態の各々は、特定の特徴を有するものとして記載されているが、本開示の任意の実施形態に関して記載された特徴の内の任意の１または複数の特徴を、他の実施形態のいずれかに実装することができる、および／または、組み合わせが明確に記載されていないとしても、他の実施形態のいずれかの特徴と組み合わせることができる。換言すると、上述の実施形態は互いに排他的ではなく、１または複数の実施形態を互いに置き換えることは本開示の範囲内にある。
【０１２３】
要素の間（例えば、モジュールの間、回路要素の間、半導体層の間）の空間的関係および機能的関係性が、「接続される」、「係合される」、「結合される」、「隣接する」、「近接する」、「の上部に」、「上方に」、「下方に」、および、「配置される」など、様々な用語を用いて記載されている。第１および第２要素の間の関係性を本開示で記載する時に、「直接」であると明確に記載されていない限り、その関係性は、他に介在する要素が第１および第２の要素の間に存在しない直接的な関係性でありうるが、１または複数の介在する要素が第１および第２の要素の間に（空間的または機能的に）存在する間接的な関係性でもありうる。本明細書で用いられているように、「Ａ、Ｂ、および、Ｃの少なくとも１つ」という表現は、非排他的な論理和ＯＲを用いて、論理（ＡまたはＢまたはＣ）を意味すると解釈されるべきであり、「Ａの少なくとも１つ、Ｂの少なくとも１つ、および、Ｃの少なくとも１つ」という意味であると解釈されるべきではない。
【０１２４】
いくつかの実施例において、コントローラは、システムの一部であり、システムは、上述の例の一部であってよい。かかるシステムは、１または複数の処理ツール、１または複数のチャンバ、処理のための１または複数のプラットフォーム、および／または、特定の処理構成要素（ウエハペデスタル、ガスフローシステムなど）など、半導体処理装置を備えうる。これらのシステムは、半導体ウエハまたは基板の処理前、処理中、および、処理後に、システムの動作を制御するための電子機器と一体化されてよい。電子機器は、「コントローラ」と呼ばれてもよく、システムの様々な構成要素または副部品を制御しうる。コントローラは、処理要件および／またはシステムのタイプに応じて、処理ガスの供給、温度設定（例えば、加熱および／または冷却）、圧力設定、真空設定、電力設定、高周波（ＲＦ）発生器設定、ＲＦ整合回路設定、周波数設定、流量設定、流体供給設定、位置および動作設定、ならびに、ツールおよび他の移動ツールおよび／または特定のシステムと接続または結合されたロードロックの内外へのウエハ移動など、本明細書に開示の処理のいずれを制御するようプログラムされてもよい。
【０１２５】
概して、コントローラは、命令を受信する、命令を発行する、動作を制御する、洗浄動作を可能にする、エンドポイント測定を可能にすることなどを行う様々な集積回路、ロジック、メモリ、および／または、ソフトウェアを有する電子機器として定義されてよい。集積回路は、プログラム命令を格納するファームウェアの形態のチップ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）として定義されるチップ、および／または、プログラム命令（例えば、ソフトウェア）を実行する１または複数のマイクロプロセッサまたはマイクロコントローラを含みうる。プログラム命令は、様々な個々の設定（またはプログラムファイル）の形態でコントローラに伝えられて、半導体ウエハに対するまたは半導体ウエハのための特定の処理を実行するための動作パラメータ、もしくは、システムへの動作パラメータを定義する命令であってよい。動作パラメータは、いくつかの実施形態において、ウエハの１または複数の層、材料、金属、酸化物、シリコン、二酸化シリコン、表面、回路、および／または、ダイの加工中に１または複数の処理工程を達成するために処理エンジニアによって定義されるレシピの一部であってよい。
【０１２６】
コントローラは、いくつかの実施例において、システムと一体化されるか、システムに接続されるか、その他の方法でシステムとネットワーク化されるか、もしくは、それらの組み合わせでシステムに結合されたコンピュータの一部であってもよいし、かかるコンピュータに接続されてもよい。例えば、コントローラは、「クラウド」内にあってもよいし、ウエハ処理のリモートアクセスを可能にできるファブホストコンピュータシステムの全部または一部であってもよい。コンピュータは、現在の処理のパラメータを変更する、現在の処理に従って処理工程を設定する、または、新たな処理を開始するために、システムへのリモートアクセスを可能にして、製造動作の現在の進捗を監視する、過去の製造動作の履歴を調べる、もしくは、複数の製造動作からの傾向または性能指標を調べうる。いくつかの例では、リモートコンピュータ（例えば、サーバ）が、ネットワーク（ローカルネットワークまたはインターネットを含みうる）を介してシステムに処理レシピを提供してよい。リモートコンピュータは、パラメータおよび／または設定の入力またはプログラミングを可能にするユーザインターフェースを備えてよく、パラメータおよび／または設定は、リモートコンピュータからシステムに通信される。いくつかの例において、コントローラは、データの形式で命令を受信し、命令は、１または複数の動作中に実行される処理工程の各々のためのパラメータを指定する。パラメータは、実行される処理のタイプならびにコントローラがインターフェース接続するまたは制御するよう構成されたツールのタイプに固有であってよいことを理解されたい。したがって、上述のように、コントローラは、ネットワーク化されて共通の目的（本明細書に記載の処理および制御など）に向けて動作する１または複数の別個のコントローラを備えることなどによって分散されてよい。かかる目的のための分散コントローラの一例は、チャンバでの処理を制御するために協働するリモートに配置された（プラットフォームレベルにある、または、リモートコンピュータの一部として配置されるなど）１または複数の集積回路と通信するチャンバ上の１または複数の集積回路である。
【０１２７】
限定はしないが、システムの例は、プラズマエッチングチャンバまたはモジュール、蒸着チャンバまたはモジュール、スピンリンスチャンバまたはモジュール、金属メッキチャンバまたはモジュール、洗浄チャンバまたはモジュール、ベベルエッジエッチングチャンバまたはモジュール、物理蒸着（ＰＶＤ）チャンバまたはモジュール、化学蒸着（ＣＶＤ）チャンバまたはモジュール、原子層蒸着（ＡＬＤ）チャンバまたはモジュール、原子層エッチング（ＡＬＥ）チャンバまたはモジュール、イオン注入チャンバまたはモジュール、トラックチャンバまたはモジュール、ならびに、半導体ウエハの加工および／または製造に関連するかまたは利用されうる任意のその他の半導体処理システムを含みうる。
【０１２８】
上述のように、ツールによって実行される１または複数の処理工程に応じて、コントローラは、他のツール回路またはモジュール、他のツール構成要素、クラスタツール、他のツールインターフェース、隣接するツール、近くのツール、工場の至る所に配置されるツール、メインコンピュータ、別のコントローラ、もしくは、半導体製造工場内のツール位置および／またはロードポートに向かってまたはそこからウエハのコンテナを運ぶ材料輸送に用いられるツール、の内の１または複数と通信してもよい。
【図１】
2019083309.tif 000003
【図２】
2019083309.tif 000004
【図３】
2019083309.tif 000005
【図４】
2019083309.tif 000006
【図５】
2019083309.tif 000007
【図６】
2019083309.tif 000008
【図７】
2019083309.tif 000009
【図８】
2019083309.tif 000010
【図９】
2019083309.tif 000011
【手続補正書】
【提出日】平成31年2月20日(2019.2.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
半導体製造装置のためのユーザ相互作用を自動化するシステムであって、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信するためのインターフェースと、
前記状態を、前記状態に基づいて前記インターフェースから前記基板処理ツールによって以前に受信された入力と相関させ、前記相関に基づいて前記基板処理ツールを制御するための出力を生成するためのコントローラと、
を備える、システム。
【請求項２】
請求項１に記載のシステムであって、前記コントローラは、前記基板処理ツールの複数の状態と前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力とをデータベースに格納し、前記データベースを用いて前記相関を実行するよう構成されている、システム。
【請求項３】
請求項２に記載のシステムであって、前記コントローラは、前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて前記データベースを更新し、前記更新したデータベースを用いて前記相関を実行するよう構成されている、システム。
【請求項４】
請求項２に記載のシステムであって、前記コントローラは、さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と、前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力と、を含むデータを、前記データベースに格納し、前記データを用いて前記相関を実行するよう構成されている、システム。
【請求項５】
請求項１に記載のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、システム。
【請求項６】
請求項１に記載のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、システム。
【請求項７】
請求項１に記載のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの存在を検出し、前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御するよう構成されている、システム。
【請求項８】
請求項１に記載のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの不在を検出し、前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御するよう構成されている、システム。
【請求項９】
請求項１に記載のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの不在を検出し、前記出力に関して前記オペレータに通知するよう構成されている、システム。
【請求項１０】
請求項１に記載のシステムであって、前記コントローラは、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御するよう構成されている、システム。
【請求項１１】
請求項１に記載のシステムであって、前記コントローラは、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御するよう構成されている、システム。
【請求項１２】
半導体製造装置のためのユーザ相互作用を自動化する方法であって、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信する工程と、
前記状態を、前記状態に基づいて前記基板処理ツールによって以前に受信された入力と相関させる工程と、
前記相関に基づいて前記基板処理ツールを制御するための出力を生成する工程と、
を備える、方法。
【請求項１３】
請求項１２に記載の方法であって、さらに、
前記基板処理ツールの複数の状態と、前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力とを、データベースに格納する工程と、
前記データベースを用いて前記相関を実行する工程と、
を備える、方法。
【請求項１４】
請求項１３に記載の方法であって、さらに、
前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて前記データベースを更新する工程と、
前記更新したデータベースを用いて前記相関を実行する工程と、
を備える、方法。
【請求項１５】
請求項１３に記載の方法であって、さらに、
さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と、前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力と、を含むデータを、前記データベースに格納する工程と、
前記データを用いて前記相関を実行する工程と、
を備える、方法。
【請求項１６】
請求項１２に記載の方法であって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、方法。
【請求項１７】
請求項１２に記載の方法であって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、方法。
【請求項１８】
請求項１２に記載の方法であって、さらに、
前記基板処理ツールのオペレータの存在を検出する工程と、
前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御する工程と、を備える、方法。
【請求項１９】
請求項１２に記載の方法であって、さらに、
前記基板処理ツールのオペレータの不在を検出する工程と、
前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御する工程と、
を備える、方法。
【請求項２０】
請求項１２に記載の方法であって、さらに、
前記基板処理ツールのオペレータの不在を検出する工程と、
前記出力に関して前記オペレータに通知する工程と、
を備える、方法。
【請求項２１】
請求項１２に記載の方法であって、さらに、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御する工程を備える、方法。
【請求項２２】
請求項１２に記載の方法であって、さらに、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御する工程を備える、方法。
【請求項２３】
半導体製造装置のためのユーザ相互作用を自動化するシステムであって、
プロセッサと、
有形のマシン読み取り可能な媒体に格納されたマシン読み取り可能な命令であって、前記プロセッサによって実行された時に、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信し、
前記状態を、前記状態に基づいて前記基板処理ツールによって以前に受信された入力と相関させ、
前記相関に基づいて前記基板処理ツールを制御するための出力を生成するように、前記プロセッサを構成する、マシン読み取り可能な命令と、
を備える、システム。
【請求項２４】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールの複数の状態と、前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力と、をデータベースに格納し、
前記データベースを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
【請求項２５】
請求項２４に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて、前記データベースを更新し、
前記更新したデータベースを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
【請求項２６】
請求項２４に記載のシステムであって、前記マシン読み取り可能な命令は、
さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力とを含むデータを、前記データベースに格納し、
前記データを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
【請求項２７】
請求項２３に記載のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、システム。
【請求項２８】
請求項２３に記載のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、システム。
【請求項２９】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの存在を検出し、
前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【請求項３０】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの不在を検出し、
前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【請求項３１】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの不在を検出し、
前記出力に関して前記オペレータに通知するように、前記プロセッサを構成する、システム。
【請求項３２】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【請求項３３】
請求項２３に記載のシステムであって、前記マシン読み取り可能な命令は、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７０
【補正方法】変更
【補正の内容】
【００７０】
基板支持体１２２が、下側チャンバ領域１０４内に配置されている。いくつかの例において、基板支持体１２２は、静電チャック（ＥＳＣ）を備えるが、その他のタイプの基板支持体が用いられてもよい。基板１２６は、エッチング中に基板支持体１２２の上面に配置される。いくつかの例において、基板１２６の温度は、ヒータプレート１３０と、流体流路を備えた任意選択的な冷却プレートと、１または複数のセンサ（図示せず）とによって制御されてよいが、任意のその他の適切な基板支持体温度制御システムが用いられてもよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
いくつかの例において、ガス分配装置１１４は、シャワーヘッド（例えば、複数の離間した穴１２７を有するプレート１２８）を備える。複数の離間した穴１２７は、プレート１２８の上面からプレート１２８の下面まで伸びる。いくつかの例において、離間した穴１２７は、０．４インチ（１０．１６ｍｍ）から０．７５インチ（１９．０５ｍｍ）の範囲の直径を有し、シャワーヘッドは、導電材料製の埋め込み電極を備えた導電材料（アルミニウムなど）または非導電材料（セラミックなど）で製造される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
かかる実施例において、データベース２１８が様々な基板処理システムから受信したデータに基づいて生成される場合、アプリケーション２１６は、基板処理ツール２の実際の構成に従ってデータベース２１８を構成（例えば、適合またはカスタマイズ）してよい。アプリケーション２１６は、基板処理ツール２の継続動作からの学習に基づいて、データベース２１８を更新し続けてよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
ＡＩエンジンは、基板処理ツール２内のエラーを検出する。ＡＩエンジンは、学習に基づいて（すなわち、ツール状態とデータベース２１８に格納されたデータとの相関に基づいて）、ツール状態に対する過去の回復手順を認識した場合、以下の１つを行う：ユーザがツールを操作している場合（例えば、ユーザが存在する場合）、ＡＩエンジンは、ユーザへの支援を提供できる。ユーザは、ＡＩエンジンに回復シーケンスを自動的に実行させることができる。ユーザは、ＡＩエンジンによる回復シーケンスの自動実行が必要であれば、介入できる。あるいは、ユーザが存在せず、ＡＩエンジンがウエハ廃棄の可能性を検出した場合、ＡＩエンジンは、自動的に介入して、ウエハが廃棄されるのを防ぐことができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
ホスト２７０は、１または複数のサーバを備えてよい。各サーバは、図４に示したコントローラ１０の構成要素をすべて備えてよい。ホスト２７０は、コントローラ１０の機能の一部または全部を実行してよい。ホスト２７０は、コントローラ１０を用いてまたは用いないで基板処理ツール２を制御してよい。ホスト２７０は、コントローラ１０を介しておよび／または直接的に（すなわち、コントローラ１０を通して通信することなしに）基板処理ツール２と通信できる。ホスト２７０は、基板処理ツール２の任意の構成要素（例えば、ロボット８および任意の処理モジュール４）と直接通信できる。コントローラ８０および１７６（図２および図３を参照）は、処理モジュール４の例であり、図４に示したコントローラ１０と同様であってよい。各処理モジュール４は、ネットワークインターフェース２０８を介して直接的にホスト２７０と通信してよい。各処理モジュール４は、インターフェース２２０を介して、他の処理モジュール４、ロボット８、および／または、コントローラ１０と通信してよい。ロボット８は、コントローラ１０と同様のコントローラを備えてもよい。ロボット８は、ネットワークインターフェース２０８を介して直接的にホスト２７０と通信してよい。ロボット８は、インターフェース２２０を介して、処理モジュール４および／またはコントローラ１０と通信してよい。したがって、処理モジュール４およびロボット８は、ホスト２７０と直接通信することができ、ホスト２７０によって直接制御されうる。ホスト２７０は、オンプレミスで配置されてもよいし、クラウド内に配置されてもよい。ホスト２７０は、ユーザ相互作用の有無にかかわらず、基板処理ツール２の制御に関連するさらなるデータを格納できる。さらなるデータは、他のシステム２５０、測定システム２６０、および、他の基板処理システム（図６および対応する以下の記載を参照）からのデータを含みうるが、これらに限定されない。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１２８
【補正方法】変更
【補正の内容】
【０１２８】
上述のように、ツールによって実行される１または複数の処理工程に応じて、コントローラは、他のツール回路またはモジュール、他のツール構成要素、クラスタツール、他のツールインターフェース、隣接するツール、近くのツール、工場の至る所に配置されるツール、メインコンピュータ、別のコントローラ、もしくは、半導体製造工場内のツール位置および／またはロードポートに向かってまたはそこからウエハのコンテナを運ぶ材料輸送に用いられるツール、の内の１または複数と通信してもよい。
本発明は、たとえば、以下のような態様で実現することもできる。
適用例１：
システムであって、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信するためのインターフェースと、
前記状態を、前記状態に基づいて前記インターフェースから前記基板処理ツールによって以前に受信された入力と相関させ、前記相関に基づいて前記基板処理ツールを制御するための出力を生成するためのコントローラと、
を備える、システム。
適用例２：
適用例１のシステムであって、前記コントローラは、前記基板処理ツールの複数の状態と前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力とをデータベースに格納し、前記データベースを用いて前記相関を実行するよう構成されている、システム。
適用例３：
適用例２のシステムであって、前記コントローラは、前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて前記データベースを更新し、前記更新したデータベースを用いて前記相関を実行するよう構成されている、システム。
適用例４：
適用例２のシステムであって、前記コントローラは、さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と、前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力と、を含むデータを、前記データベースに格納し、前記データを用いて前記相関を実行するよう構成されている、システム。
適用例５：
適用例１のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、システム。
適用例６：
適用例１のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、システム。
適用例７：
適用例１のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの存在を検出し、前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御するよう構成されている、システム。
適用例８：
適用例１のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの不在を検出し、前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御するよう構成されている、システム。
適用例９：
適用例１のシステムであって、前記コントローラは、前記基板処理ツールのオペレータの不在を検出し、前記出力に関して前記オペレータに通知するよう構成されている、システム。
適用例１０：
適用例１のシステムであって、前記コントローラは、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御するよう構成されている、システム。
適用例１１：
適用例１のシステムであって、前記コントローラは、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御するよう構成されている、システム。
適用例１２：
方法であって、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信する工程と、
前記状態を、前記状態に基づいて前記基板処理ツールによって以前に受信された入力と相関させる工程と、
前記相関に基づいて前記基板処理ツールを制御するための出力を生成する工程と、
を備える、方法。
適用例１３：
適用例１２の方法であって、さらに、
前記基板処理ツールの複数の状態と、前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力とを、データベースに格納する工程と、
前記データベースを用いて前記相関を実行する工程と、
を備える、方法。
適用例１４：
適用例１３の方法であって、さらに、
前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて前記データベースを更新する工程と、
前記更新したデータベースを用いて前記相関を実行する工程と、
を備える、方法。
適用例１５：
適用例１３の方法であって、さらに、
さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と、前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力と、を含むデータを、前記データベースに格納する工程と、
前記データを用いて前記相関を実行する工程と、
を備える、方法。
適用例１６：
適用例１２の方法であって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、方法。
適用例１７：
適用例１２の方法であって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、方法。
適用例１８：
適用例１２の方法であって、さらに、
前記基板処理ツールのオペレータの存在を検出する工程と、
前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御する工程と、を備える、方法。
適用例１９：
適用例１２の方法であって、さらに、
前記基板処理ツールのオペレータの不在を検出する工程と、
前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御する工程と、
を備える、方法。
適用例２０：
適用例１２の方法であって、さらに、
前記基板処理ツールのオペレータの不在を検出する工程と、
前記出力に関して前記オペレータに通知する工程と、
を備える、方法。
適用例２１：
適用例１２の方法であって、さらに、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御する工程を備える、方法。
適用例２２：
適用例１２の方法であって、さらに、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御する工程を備える、方法。
適用例２３：
システムであって、
プロセッサと、
有形のマシン読み取り可能な媒体に格納されたマシン読み取り可能な命令であって、前記プロセッサによって実行された時に、
基板を処理するよう構成された複数の処理モジュールを備えた基板処理ツールの状態を受信し、
前記状態を、前記状態に基づいて前記基板処理ツールによって以前に受信された入力と相関させ、
前記相関に基づいて前記基板処理ツールを制御するための出力を生成するように、前記プロセッサを構成する、マシン読み取り可能な命令と、
を備える、システム。
適用例２４：
適用例２３のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールの複数の状態と、前記複数の状態に基づいて前記基板処理ツールによって受信された対応する入力と、をデータベースに格納し、
前記データベースを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
適用例２５：
適用例２４のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールおよびさらなる基板処理ツールの１または複数に関連する履歴データに基づいて、前記データベースを更新し、
前記更新したデータベースを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
適用例２６：
適用例２４のシステムであって、前記マシン読み取り可能な命令は、
さらなる基板処理ツールに関連するデータであって、前記さらなる基板処理ツールの状態と前記状態に基づいて前記さらなる基板処理ツールによって受信された対応する入力とを含むデータを、前記データベースに格納し、
前記データを用いて前記相関を実行するように、前記プロセッサを構成する、システム。
適用例２７：
適用例２３のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連するエラーを示すデータを含み、前記入力は、前記エラーへの対応を示すデータを含む、システム。
適用例２８：
適用例２３のシステムであって、前記基板処理ツールの前記状態は、前記基板処理ツールに関連する差し迫ったエラーを示すデータを含み、前記入力は、前記エラーを防止するための対応を示すデータを含む、システム。
適用例２９：
適用例２３のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの存在を検出し、
前記出力に基づいて前記オペレータによって受信された対応に従って前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
適用例３０：
適用例２３のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの不在を検出し、
前記出力に基づいて前記オペレータの不在時に前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
適用例３１：
適用例２３のシステムであって、前記マシン読み取り可能な命令は、
前記基板処理ツールのオペレータの不在を検出し、
前記出力に関して前記オペレータに通知するように、前記プロセッサを構成する、システム。
適用例３２：
適用例２３のシステムであって、前記マシン読み取り可能な命令は、前記基板の処理の完了を確実にし、前記基板への損傷を防止し、前記処理モジュールのアイドリングを防止するために、前記出力に基づいて前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
適用例３３：
適用例２３のシステムであって、前記マシン読み取り可能な命令は、前記処理モジュールによる前記基板の処理のスケジューリングを最適化するために、前記出力に基づいて前記基板処理ツールを制御するように、前記プロセッサを構成する、システム。
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2019083309.tif 000012
【外国語明細書】
2019083309000001.pdf