(57)【要約】【課題】状態を直接取得できない状況において、半導体製造プロセスの処理フローを最適化するための強化学習を実現する。【解決手段】対象を制御するための複数の処理を含む処理フローを決定するシステムであって、複数の処理の各々の処理条件を決定するための学習処理を実行する学習部を有し、学習部は、処理フローに基づいて対象を制御する装置から、所定の処理条件の下で、処理が実行された対象の状態と相関がある物理量を取得し、物理量に基づいて、対象の状態に対応する擬状態を算出し、価値関数を用いた学習処理を実行することによって、目的とする対象の状態を実現するための複数の処理の各々の処理条件を決定する。【選択図】図１
2019212001.tif 000002
【特許請求の範囲】
【請求項１】
対象を制御するための複数の処理を含む処理フローを決定するシステムであって、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記複数の処理は予め設定された処理条件に基づいて実行され、
前記少なくとも一つの計算機は、
前記複数の処理の各々の前記処理条件を決定するための学習処理を実行する学習部を有し、
前記学習部は、
前記処理フローに基づいて対象を制御する装置から、所定の処理条件の下で、前記処理フローに含まれる一つの処理が実行された対象の状態と相関がある物理量を取得し、前記物理量に基づいて、強化学習における前記対象の状態に対応する擬状態を算出し、
任意の擬状態において選択された前記処理条件の評価を示す値を出力する価値関数を用いて、目的とする前記対象の状態を実現するための前記複数の処理の各々の処理条件を決定することを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、
前記学習部は、
前記物理量を取得し、前記物理量に基づいて前記擬状態を算出する擬状態算出部と、
前記擬状態及び前記価値関数に基づいて、次に実行される前記処理の前記処理条件の中から適切な処理条件を選択する処理条件解析部と、
を含み、
前記処理条件解析部は、前記選択した処理条件を含む処理実行要求を前記装置に出力し、
前記擬状態算出部は、前記処理実行要求に基づく処理を実行した装置から前記物理量を取得し、前記擬状態を算出することを特徴とするシステム。
【請求項３】
請求項２に記載のシステムであって、
前記対象は、試料を処理することによって半導体を製造する半導体処理装置であり、
前記処理条件は、前記半導体処理装置を制御するための条件であることを特徴とするシステム。
【請求項４】
請求項３に記載のシステムであって、
前記少なくとも一つの計算機は、
任意の処理条件が設定された処理が実行された後の前記擬状態に基づいて、当該処理を評価する値、及び前記処理フローの全ての前記処理が実行された前記試料の形状に基づいて、前記処理フローを評価する値の少なくともいずれかを報酬として算出する報酬算出部と、
前記複数の処理の各々の実行時の前記擬状態、前記複数の処理の各々に設定された前記処理条件、及び前記報酬に基づいて、前記価値関数を更新する価値関数解析部と、を有することを特徴とするシステム。
【請求項５】
請求項３に記載のシステムであって、
前記物理量は、前記半導体処理装置に設置された前記試料に光を照射することによって計測される光に関連する値であることを特徴とするシステム。
【請求項６】
請求項３に記載のシステムであって、
前記少なくとも一つの計算機は、前記物理量を用いた次元圧縮処理を実行して前記擬状態を算出することを特徴とするシステム。
【請求項７】
請求項３に記載のシステムであって、
前記少なくとも一つの計算機は、非線形計画法、メタヒューリスティック及びグラフ理論の少なくともいずれかを用いて、前記算出された擬状態を入力した前記価値関数から算出される値を最大化する前記処理条件を選択することを特徴とするシステム。
【請求項８】
システムが実行する、対象を制御するための処理フローに含まれる複数の処理に設定する処理条件の決定方法であって、
前記システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記複数の処理は予め設定された処理条件に基づいて実行され、
前記処理条件の決定方法は、
前記少なくとも一つの計算機が、前記処理フローに基づいて対象を制御する装置から、所定の処理条件の下で、前記処理フローに含まれる一つの処理が実行された対象の状態と相関がある物理量を取得し、前記物理量に基づいて、強化学習における前記対象の状態に対応する擬状態を算出する第１のステップと、
前記少なくとも一つの計算機が、任意の擬状態において選択された前記処理条件の評価を示す値を出力する前記擬状態及び前記処理条件を変数とする価値関数を用いて、目的とする前記対象の状態を実現するための前記複数の処理の各々の処理条件を決定する第２のステップと、を含むことを特徴とする処理条件の決定方法。
【請求項９】
請求項８に記載の処理条件の決定方法であって、
前記第２のステップは、
前記少なくとも一つの計算機が、前記価値関数及び前記擬状態に基づいて、次に実行される前記処理の前記処理条件の中から適切な処理条件を選択するステップと、
前記少なくとも一つの計算機が、前記選択した処理条件を含む処理実行要求を前記装置に出力するステップと、を含み、
前記第１のステップは、前記少なくとも一つの計算機が、前記処理実行要求に基づく処理を実行した装置から前記物理量を取得するステップを含むことを特徴とする処理条件の決定方法。
【請求項１０】
請求項９に記載の処理条件の決定方法であって、
前記対象は、試料を処理することによって半導体を製造する半導体処理装置であり、
前記処理条件は、前記半導体処理装置を制御するための条件であることを特徴とする処理条件の決定方法。
【請求項１１】
請求項１０に記載の処理条件の決定方法であって、
前記少なくとも一つの計算機が、任意の処理条件が設定された処理が実行された後の前記擬状態に基づいて、当該処理を評価する値、及び前記処理フローの全ての前記処理が実行された前記試料の形状に基づいて、前記処理フローを評価する値の少なくともいずれかを報酬として算出するステップと、
前記少なくとも一つの計算機が、前記複数の処理の各々の実行時の前記擬状態、前記複数の処理の各々に設定された前記処理条件、及び前記報酬に基づいて、前記価値関数を更新するステップと、を含むことを特徴とする処理条件の決定方法。
【請求項１２】
請求項１０に記載の処理条件の決定方法であって、
前記物理量は、前記半導体処理装置に設置された前記試料に光を照射することによって計測される光に関連する値であることを特徴とする処理条件の決定方法。
【請求項１３】
請求項１０に記載の処理条件の決定方法であって、
前記第１のステップは、前記少なくとも一つの計算機が、前記物理量を用いた次元圧縮処理を実行して前記擬状態を算出するステップを含むことを特徴とする処理条件の決定方法。
【請求項１４】
請求項１０に記載の処理条件の決定方法であって、
前記少なくとも一つの計算機は、非線形計画法、メタヒューリスティック及びグラフ理論の少なくともいずれかを用いて、前記算出された擬状態を入力した前記価値関数から算出される値を最大化する前記処理条件を選択することを特徴とする処理条件の決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体製造プロセスの処理フローを構成する処理の処理条件を決定するためのシステム及び学習方法に関する。
【背景技術】
【０００２】
半導体製造プロセスでは、プロセス開発によって得られた処理フローに基づいて半導体処理装置を制御することで、所望の半導体加工を実現できる。
【０００３】
近年、デバイスを構成する新材料の導入及びデバイス構造が複雑化によって、半導体処理装置の制御範囲が拡大し、制御パラメータが数多く追加されている。また、微細かつ複雑な加工が実現するために、半導体製造プロセスの処理フローはマルチステップ化が行われている。このような半導体処理装置を用いてプロセス開発を行うことによって、高性能なデバイスが生産できる。
【０００４】
半導体処理装置の性能を十分に引き出すためには、処理フローの最適化、すなわち、制御パラメータの最適化が不可欠であり、その実現にはプロセス開発のノウハウ、高い装置運用スキル、及び処理試験の多数の試行が必要である。しかし、ノウハウ及びスキルを持つエンジニアの不足並びに多数の処理試験に伴う処理結果の計測回数の増加によって、処理フローの最適化にかかる期間が長期化している。
【０００５】
上記のような問題に対して、機械学習による処理フローの最適化が有効であると考えられる。これに関連する技術として、特許文献１及び特許文献２のような技術が知られている。
【０００６】
特許文献１には、「構造の幾何学形状を特徴付けるプロファイルパラメータによって定められる構造の形状モデルが取得される。プロファイルパラメータの値の組が取得され、これを用いて、構造から回折される光の挙動を各々が特徴付けるシミュレート回折信号の組が生成される。入力としてシミュレート回折信号の組を、予期される出力としてプロファイルパラメータの値の組を用いて、サポートベクトルマシンが訓練された後、ウェハ上に構造を製造するように製造プロセスが実行される。構造からの測定回折信号が取得され、訓練済みサポートベクトルマシンに入力される。訓練済みサポートベクトルマシンの出力として、構造のプロファイルパラメータの値が取得される。このプロファイルパラメータの値に基づいて、１つ以上のプロセスパラメータ又は製造ツールの装置設定が調整される。」ことが記載されている。
【０００７】
特許文献２には、「荷電粒子線源と、前記荷電粒子線源から放出された荷電粒子を荷電粒子線として試料に対して照射する荷電粒子光学系と、前記荷電粒子光学系の収差を補正する収差補正器と、前記荷電粒子光学系と前記収差補正器の各構成要素を制御する制御手段とを備えた荷電粒子線装置において、最適な調整手順を学習により獲得する自動収差補正装置を備える。自動収差補正装置は、収差補正を複数同時に実施可能な、最適な調整手順を強化学習により獲得する。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−４４１２５号公報
【特許文献２】特開２０１３−３０２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
処理フローは、通常、複数の処理から構成されるため、最適化する制御パラメータの数は膨大である。例えば、先端デバイスの製造プロセスは、１０ステップ以上であり、また、処理フローの制御パラメータの数は１００個以上である。
【００１０】
教師あり学習は、入力及び出力の関係を学習する手法である。この手法を制御パラメータの最適化に適用する場合、全処理ステップの制御パラメータが入力となり、試料の加工形状等の出力となる。そのため、大規模なパラメータ数の解析が必要となり、入力及び出力の相関の分析、学習器を用いた出力の予測及び入力の最適化が困難である。そのため、特許文献１に記載の技術を適用することが難しい、
【００１１】
また、特許文献２に記載の強化学習では環境の状態を取得できることが前提となっている。しかし、半導体製造プロセスでは、状態として扱われる試料の加工形状等を計測するためには、半導体処理装置から試料を取り出す必要がある。例えば、エッチング加工後の試料の形状を直接観測することは困難である。なぜならば、エッチング加工は、真空引きされたチャンバ内で行われる処理であるためである。したがって、試料の状態を直接的計測できない場合、特許文献２に記載の強化学習を適用することが困難である。
【課題を解決するための手段】
【００１２】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、対象を制御するための複数の処理を含む処理フローを決定するシステムであって、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、前記複数の処理は予め設定された処理条件に基づいて実行され、前記少なくとも一つの計算機は、前記複数の処理の各々の前記処理条件を決定するための学習処理を実行する学習部を有し、前記学習部は、前記処理フローに基づいて対象を制御する装置から、所定の処理条件の下で、前記処理フローに含まれる一つの処理が実行された対象の状態と相関がある物理量を取得し、前記物理量に基づいて、強化学習における前記対象の状態に対応する擬状態を算出し、任意の擬状態において選択された前記処理条件の評価を示す値を出力する価値関数を用いた学習処理を実行することによって、目的とする前記対象の状態を実現するための前記複数の処理の各々の処理条件を決定する。
【発明の効果】
【００１３】
本発明の一形態によれば、状態を直接取得できない場合でも、複数の処理の各々の適切な処理条件を決定することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】実施例１のシステム構成の一例を示す図である。
【図２】実施例１の半導体処理装置に設置された試料及び試料の物理量の計測方法の一例を示す図である。
【図３Ａ】実施例１の試料の加工の一例を示す図である。
【図３Ｂ】実施例１の試料を加工するための処理フローの一例を示す図である。
【図４】実施例１の処理ＤＢに格納されるデータのデータ構造の一例を示す図である。
【図５】実施例１の解析システムが実行する処理を説明するフローチャートである。
【図６】実施例１の計測装置によって計測される干渉光の一例を示す図である。
【図７Ａ】実施例１の擬状態算出部が算出する擬状態のデータ構造の一例を示す図である。
【図７Ｂ】実施例１の擬状態算出部が算出する擬状態のデータ構造の一例を示す図である。
【図８】実施例１の処理条件解析部が実行する処理を説明するフローチャートである。
【図９Ａ】実施例１の処理条件の選択方法の一例を示す図である。
【図９Ｂ】実施例１の処理条件の選択方法の一例を示す図である。
【図１０】実施例１の解析システムに各種設定を行うためのＧＵＩの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１６】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例１】
【００１７】
以下、本発明の実施例1を図面を用いて説明する。
【００１８】
図１は、実施例１のシステム構成の一例を示す図である。
【００１９】
システムは、半導体処理装置１０及び解析システム２０から構成される。半導体処理装置１０及び解析システム２０は、直接又はネットワークを介して互いに接続される。なお、ネットワークはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等が考えられる。
【００２０】
半導体処理装置１０は、複数の処理から構成される処理フローにしたがって、製品を製造するための試料の加工処理を実行する。各処理は処理条件に基づいて実行される。処理条件は、半導体処理装置１０を制御するための制御パラメータを一つ以上含む。本明細書では、処理フローを構成する処理を処理ステップとも記載する。
【００２１】
なお、本実施例は半導体処理装置１０が行う加工処理の種別及び加工処理の内容に限定されない。
【００２２】
半導体処理装置１０は処理条件入力部１１０を有する。処理条件入力部１１０は、解析システム２０から入力される処理条件を受け付け、処理装置に処理条件を設定する。半導体処理装置１０は、処理条件入力部１１０によって設定された処理条件にしたがって、試料に対する処理を実行する。例えば、半導体処理装置１０は半導体のエッチング処理を行う。
【００２３】
半導体処理装置１０は、リソグラフィ装置、製膜装置、パターン加工装置、イオン注入装置、加熱装置及び洗浄装置等の処理装置が含まれる。
【００２４】
リソグラフィ装置としては、露光装置、電子線描画装置及びＸ線描画装置等がある。製膜装置としては、ＣＶＤ、ＰＶＤ、蒸着装置、スパッタリング装置及び熱酸化装置がある。パターン加工装置としては、ウェットエッチング装置、ドライエッチング装置、電子ビーム加工装置及びレーザ加工装置等がある。イオン注入装置としては、プラズマドーピング装置及びイオンビームドーピング装置等がある。加熱装置としては、抵抗加熱装置、ランプ加熱装置及びレーザ加熱装置等がある。洗浄装置としては、液体洗浄装置及び超音波洗浄装置等がある。
【００２５】
解析システム２０は、強化学習を実行することによって、処理フローに含まれる複数の処理の各々の適切な処理条件を決定する。強化学習のアルゴリズムとしては、Ｑ学習、ＳＡＲＳＡ等のＴＤ（Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）学習、Ａｃｔｏｒ−Ｃｒｉｔｉｃ法等の方策勾配法、及びモンテカルロ法がある。なお、本発明は、強化学習のアルゴリズムに限定されない。
【００２６】
半導体製造プロセスに強化学習を適用する場合、半導体処理装置１０が環境として扱われ、試料の形状が状態として扱われ、また、処理条件が行動として扱われる。試料の形状を計測するためには、半導体処理装置１０から試料を取り出す必要がある。そのため、処理フローの途中で試料の形状を取得することは困難である。そこで、実施例１のシステムでは、試料の形状（試料の状態）と強い相関がある物理量から強化学習における状態として扱うことができる擬状態を算出し、擬状態を用いて強化学習を実現する。
【００２７】
解析システム２０は、ハードウェアとして、演算装置１００、記憶装置１０１、インタフェース１０２、及び計測装置１０３を有する。解析システム２０は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、キーボード、マウス、及びタッチパネル等の入力装置、並びにディスプレイ等の出力装置を有してもよい。
【００２８】
演算装置１００は、記憶装置１０１に格納されるプログラムを実行する。演算装置１００は、例えば、プロセッサ、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、及びＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等である。演算装置１００がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部（モジュール）として動作する。
【００２９】
記憶装置１０１は、演算装置１００が実行するプログラム及びプログラムによって使用される情報を格納する。また、記憶装置１０１は、プログラムが一時的に使用するワークエリアを含む。記憶装置１０１は、例えば、揮発性又は不揮発性のメモリである。記憶装置１０１に格納されるプログラム及び情報については後述する。
【００３０】
インタフェース１０２は、外部装置と接続するためのインタフェースである。インタフェース１０２は、ネットワークインタフェース及びＩＯインタフェース等である。
【００３１】
計測装置１０３は、半導体処理装置１０によって処理された試料から処理結果、すなわち、試料の形状と相関がある物理量を計測する。実施例１では、解析システム２０に計測装置１０３が組み込まれているが、半導体処理装置１０に計測装置１０３が組み込まれていてもよい。また、計測装置１０３は、解析システム２０と独立した構成でもよい。
【００３２】
計測装置１０３は、試料に入射される光、レーザ及びＸ線等の反射、透過、干渉、吸収及び偏光スペクトルを計測し、試料の特性を示す値を計測する。
【００３３】
具体的には、計測装置１０３は、電子顕微鏡を用いた計測装置、光学式モニタ、赤外光を用いた温度計測装置、ケルビンプローブフォース顕微鏡を用いた欠陥検出装置、加工対象の電気特性を評価するプローバ装置等である。また、計測装置１０３は、処理中に試料に作用するプラズマ、ガス、及び液体等の媒体、並びに処理中に発生する生成物を計測する装置でもよい。媒体及び生成物は、試料の状態を直接的に表わすものではないが、処理状態及び処理結果と相関を示す可能性がある物理量であるため、間接的に試料の状態を示すデータとして扱うことができる。また、計測装置１０３は、光スペクトル計測を用いたプラズマ発光モニタ、赤外分光計測を用いた処理室内の堆積物モニタ、質量分析器を用いた処理対象から放出された原子及び分子モニタ、並びに探針を用いた処理室内の電気特性モニタ等でもよい。
【００３４】
また、計測装置１０３は、電圧、電流、及びパワー等の電源出力値、整合器内のコンデンサやコイル等の可変電気素子の値、各種使用ガスの流量、装置躯体及び装置構成部品の温度、処理室内の圧力、圧力制御弁の開度、バルブ開閉状態、ガス排気速度、並びに、処理及び装置の動作タイミング及び動作時刻等を取得するセンサを有してもよい。
【００３５】
ここで、解析システム２０の記憶装置１０１に格納されるプログラム及び情報について説明する。記憶装置１０１は、擬状態算出部１２０、報酬算出部１２１、価値関数解析部１２２、及び処理条件解析部１２３を実現するプログラムを格納し、また、処理ＤＢ１３０及び価値関数情報１３１を格納する。
【００３６】
処理ＤＢ１３０は、強化学習で使用する情報を管理するデータベースである。処理ＤＢ１３０に格納されるデータについては図４を用いて説明する。なお、複数の計算機を用いて解析システム２０が構築されている場合、分散データベースとして処理ＤＢ１３０を実現してもよい。
【００３７】
価値関数情報１３１は価値関数を管理するための情報である。価値関数は、任意の状態において選択された行動の評価を示す値（価値）を算出する関数（モデル）であり、ニューラルネットワーク、カーネル法、及び決定木等の機械学習に基づいて算出することができる。実施例１の価値関数は、擬状態ｓにおいて決定された処理条件ａの価値を算出するための関数であって、Ｑ（ｓ，ａ）と表す。実施例１の価値関数Ｑ（ｓ，ａ）の変数ｓは、試料の状態ではなく、試料の状態と相関がある擬状態である点に特徴がある。
【００３８】
強化学習の実行前の価値関数情報１３１には、経験及び予測から推定された価値関数Ｑ（ｓ，ａ）の情報が設定される。
【００３９】
擬状態算出部１２０は、計測装置１０３によって計測された物理量を取得し、当該物理量から擬状態を算出する。擬状態算出部１２０は、擬状態を報酬算出部１２１及び処理条件解析部１２３に出力し、また、処理ＤＢ１３０に格納する。
【００４０】
なお、擬状態算出部１２０は、物理量をそのまま擬状態として算出してもよいし、物理量を変数とする数式を用いて擬状態を算出してもよい。
【００４１】
なお、擬状態算出部１２０は、ＰＣＡ（主成分分析）等の次元圧縮法に基づいてパラメータの数を削減した値を擬状態として算出してもよい。パラメータの数を削減することによって学習に要するリソース量及び演算時間を削減することができる。
【００４２】
報酬算出部１２１は、任意の擬状態において、選択した処理条件（行動）に基づいて処理ステップを実行することによって得られる報酬を算出する。なお、報酬は試料の加工形状及び加工目的等に応じて設定できる。
【００４３】
価値関数解析部１２２は、処理ＤＢ１３０に格納されるデータに基づいて価値関数を推定し、推定結果に基づいて価値関数情報１３１を更新する。なお、価値関数を推定するためのデータ（知識）が存在しない場合、又は、蓄積されるデータ量が少ないため予測精度が高い価値関数を推定できない場合、価値関数解析部１２２は、ユーザが入力した価値関数を価値関数情報１３１に設定し、又は、ランダムな初期値に基づいて推定された価値関数を価値関数情報１３１に設定する。
【００４４】
処理条件解析部１２３は、擬状態及び価値関数情報１３１に設定された価値関数に基づいて、処理ステップの処理条件を決定する。処理条件解析部１２３は、決定された処理条件を処理条件入力部１１０に対して出力し、また、処理ＤＢ１３０に格納する。
【００４５】
なお、解析システム２０が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。例えば、擬状態算出部１２０、報酬算出部１２１、価値関数解析部１２２、及び処理条件解析部１２３を一つの学習部として実現してもよい。
【００４６】
図２は、実施例１の半導体処理装置１０に設置された試料及び試料の物理量の計測方法の一例を示す図である。図３Ａは、実施例１の試料の加工の一例を示す図である。図３Ｂは、実施例１の試料を加工するための処理フローの一例を示す図である。
【００４７】
図２では、マスク付パターンを有する試料２００を示す。図２に示す計測装置１０３は、干渉光分光器である。計測装置１０３は、試料２００に光を照射し、試料２００から発生した干渉光を計測する。干渉光は、試料２００の微細構造及び薄膜によって発生する光であり、試料２００の幾何学的な構造及び物性と相関を持つ物理量と考えられる。
【００４８】
実施例１では、図３Ａに示すような、試料２００の垂直深掘り加工を実現する処理フローを考える。試料２００の垂直深掘り加工を実現する処理フローは、図３Ｂに示すようにＴ個の処理ステップから構成される。ここで、Ｔは自然数を表す。
【００４９】
図４は、実施例１の処理ＤＢ１３０に格納されるデータのデータ構造の一例を示す図である。
【００５０】
処理ＤＢ１３０は、処理フローごとに処理情報４００を格納する。処理情報４００は、処理ステップ４０１、擬状態４０２、処理条件４０３及び報酬４０４から構成されるエントリを含む。一つのエントリは一つの処理ステップに対応する。処理情報４００は、処理フローの識別情報と対応づけて管理される。
【００５１】
処理ステップ４０１は、処理ステップを識別する識別情報を格納するフィールドである。処理ステップ４０１には、例えば、処理ステップの実行順番を示す番号が格納される。擬状態４０２は、擬状態算出部１２０によって算出された擬状態を格納するフィールドである。処理条件４０３は、処理条件解析部１２３によって決定された処理条件を格納するフィールドである。報酬４０４は、報酬算出部１２１によって算出された報酬を格納するフィールドである。
【００５２】
なお、処理条件４０３には、処理条件解析部１２３によって決定された処理条件の代わりに、半導体処理装置１０が実際に設定した処理条件を格納してもよい。例えば、処理条件解析部１２３が、インタフェース１０２を介して半導体処理装置１０が設定した処理条件を取得し、処理情報４００に格納する。
【００５３】
図５は、実施例１の解析システム２０が実行する処理を説明するフローチャートである。図６は、実施例１の計測装置１０３によって計測される干渉光の一例を示す図である。図７Ａ及び図７Ｂは、実施例１の擬状態算出部１２０が算出する擬状態のデータ構造の一例を示す図である。図８は、実施例１の処理条件解析部１２３が実行する処理を説明するフローチャートである。図９Ａ及び図９Ｂは、実施例１の処理条件の選択方法の一例を示す図である。
【００５４】
解析システム２０は、変数ｍ及び変数ｔに初期値として「１」を設定する（ステップＳ１０１）。変数ｍは処理フローにしたがって加工される試料の識別番号を表す変数である。変数ｔは処理フローに含まれる処理ステップの識別番号を表す変数である。変数ｔはＴ以下の自然数である。
【００５５】
解析システム２０は、ｍ番目の試料を半導体処理装置１０に設置する（ステップＳ１０２）。変数ｍは自然数である。
【００５６】
具体的には、解析システム２０は、ｍ番目の試料を半導体処理装置１０に搬送し、試料の加工及び物理量の計測が可能な状態に設定する。このとき、解析システム２０は、処理ＤＢ１３０に、変数ｍの値と対応づけられた処理情報４００を生成する。
【００５７】
次に、解析システム２０は、計測装置１０３が計測した物理量を用いて現在の擬状態ｓｔを算出する（ステップＳ１０３）。
【００５８】
具体的には、擬状態算出部１２０が、計測装置１０３によって計測された物理量から擬状態を算出し、報酬算出部１２１及び処理条件解析部１２３に擬状態を出力する。また、擬状態算出部１２０は、処理ＤＢ１３０にエントリを追加し、追加されたエントリの処理ステップ４０１に変数ｔの値を設定する。また、擬状態算出部１２０は、追加されたエントリの擬状態４０２に、算出した擬状態を設定する。
【００５９】
例えば、擬状態算出部１２０は、図６に示すような干渉光の計測結果を取得した場合、図７Ａに示すように、特定の波長の強度を要素とするベクトルを擬状態として算出する。また、擬状態算出部１２０は、図７Ａに示すベクトルに対して主成分分析を実行し、図７Ｂに示すような所定の数の主成分を要素とするベクトルを擬状態として算出する。なお、擬状態算出部１２０は、データの標準化を行って擬状態を算出してもよい。
【００６０】
なお、物理量から擬状態を算出する方法は、予め、擬状態算出部１２０に設定されているものとする。
【００６１】
次に、解析システム２０は、現在の擬状態ｓｔにおいて、適切な処理条件ａｔを選択する（ステップＳ１０４）。ここで、図８及び図９を用いて処理条件ａｔの選択処理について説明する。
【００６２】
処理条件解析部１２３は、擬状態算出部１２０から現在の擬状態ｓｔを取得し、また、価値関数情報１３１から価値関数Ｑ（ｓ，ａ）を取得する（ステップＳ２０１）。
【００６３】
次に、処理条件解析部１２３は、変数ｓに現在の擬状態ｓｔを代入した価値関数Ｑ（ｓｔ，ａ）を最大化する処理条件ａ’を算出する（ステップＳ２０２）。
【００６４】
価値関数Ｑ（ｓｔ，ａ）を最大化する処理条件ａ’を算出する手法としては、非線形計画法、メタヒューリスティック及びグラフ理論等の手法を用いることが考えられる。
【００６５】
次に、処理条件解析部１２３は、処理条件ａ’に基づいて、適切な処理条件ａｔを決定する（ステップＳ２０３）。
【００６６】
例えば、処理条件解析部１２３は、図９Ａに示すように処理条件ａ’を、処理条件ａｔに決定する。また、別の決定方法としては、処理条件解析部１２３は、処理条件ａ’に基づいて確率的に処理条件ａｔを選択する。具体的には、処理条件解析部１２３は、図９Ｂに示すように処理条件ａ’を中心とする所定の大きさの範囲を設定し、当該範囲内でランダムに処理条件ａｔを選択する。
【００６７】
確率的に処理条件ａｔを選択する理由は、決定的な処理条件の選択方法の場合、学習結果が局所解となる危険性を回避するためである。
【００６８】
次に、処理条件解析部１２３は、処理条件ａｔを処理ＤＢ１３０に格納する（ステップＳ２０４）。具体的には、処理条件解析部１２３は、処理ステップ４０１が変数ｔの値に一致するエントリを検索し、検索されたエントリの処理条件４０３に処理条件ａｔを格納する。以上がステップＳ１０４の処理の説明である。図５の説明に戻る。
【００６９】
次に、解析システム２０は、半導体処理装置１０に処理条件ａｔを含む処理ステップの実行要求を出力する（ステップＳ１０５）。
【００７０】
具体的には、処理条件解析部１２３が、インタフェース１０２を介して、半導体処理装置１０に処理条件ａｔを含む処理ステップの実行要求を出力する。半導体処理装置１０は、処理ステップの実行要求を受信した場合、当該要求に含まれる処理条件ａｔに基づいて、試料に対する加工処理を実行する。
【００７１】
次に、解析システム２０は、現在の処理ステップが最終処理ステップであるか否かを判定する（ステップＳ１０６）。
【００７２】
具体的には、解析システム２０は、変数ｔの値がＴであるか否かを判定する。変数ｔの値がＴであると判定された場合、解析システム２０は、現在の処理ステップが最終処理ステップであると判定する。
【００７３】
現在の処理ステップが最終処理ステップでないと判定された場合、解析システム２０は、報酬ｒｔを算出する（ステップＳ１０７）。具体的には、以下のような処理が実行される。
【００７４】
報酬算出部１２１は、擬状態算出部１２０から取得した擬状態に基づいて報酬ｒｔを算出する。実施例１では、干渉光の振動回数に基づいて報酬ｒｔが算出される。干渉光の時間方向の振動回数は、試料の膜厚の変化量と相関がある物理量である。したがって、振動回数が多いほど、試料の溝の深さが深いことを示す。そこで、報酬算出部１２１は、干渉光の振動回数に応じた報酬を算出する。以上がステップＳ１０７の処理の説明である。
【００７５】
次に、解析システム２０は、処理ＤＢ１３０に基づいて価値関数Ｑ（ｓ，ａ）を推定する（ステップＳ１０８）。
【００７６】
例えば、価値関数Ｑ（ｓ，ａ）は、強化学習及びＲＮＮ（リカレントニューラルネットワーク）や、線形回帰、ニューラルネットワーク（ＮＮ）、及びカーネルリッジ回帰（ＫＲＲ）等の機械学習を用いて推定される。
【００７７】
なお、処理ステップごとに価値関数の推定を行わなくてもよい。例えば、一定数の処理ステップが終了した場合、又は、複数の試料の処理が終了した場合に、解析システム２０は価値関数を推定してもよい。一定数のデータが蓄積された後に価値関数を推定する理由は、推定に使用するデータの数が多いほど価値関数の推定精度が向上する場合があるためである。
【００７８】
次に、解析システム２０は、変数ｔに１を加算した値を新たな変数ｔに設定し（ステップＳ１０９）、その後、ステップＳ１０３に戻る。すなわち、次の処理ステップに移行する。
【００７９】
ステップＳ１０６において、現在の処理ステップが最終処理ステップであると判定された場合、解析システム２０は、全ての処理ステップが行われた後の試料から、直接、試料の状態を示す処理結果を取得する（ステップＳ１１０）。
【００８０】
例えば、解析システム２０は、走査型電子顕微鏡を用い、半導体処理装置１０の外に搬送された試料の断面情報を取得する。なお、解析システム２０は、計測装置１０３を用いて擬状態を処理結果として取得してもよい。
【００８１】
次に、解析システム２０は、取得した処理結果に基づいて、加工された試料が基準を満たすか否かを判定する（ステップＳ１１１）。
【００８２】
例えば、解析システム２０は、試料の加工形状及び目標の加工形状の誤差が予め設定された誤差の範囲内であるか否かを判定する。なお、試料の基準は加工形状及び加工目的等に応じて異なる基準を設定することができる。
【００８３】
加工された試料が基準を満たすと判定された場合、解析システム２０は処理を終了する。これは、基準を満たす試料を得ることができた処理フローの各処理ステップの処理条件が決定されたことを意味する。このとき、解析システム２０は、処理ＤＢ１３０から当該処理フローに対応する処理情報４００を取得し、当該処理情報４００をユーザに提示するための表示情報を生成してもよい。
【００８４】
加工された試料が基準を満たさないと判定された場合、解析システム２０は、報酬ｒＴを算出する（ステップＳ１１２）。
【００８５】
報酬の算出方法はステップＳ１０７と同様である。このとき、解析システム２０は、処理ステップ４０１がＴであるエントリを検索し、検索されたエントリの報酬４０４に算出された報酬ｒＴを設定する。
【００８６】
次に、解析システム２０は、処理ＤＢ１３０に基づいて価値関数Ｑ（ｓ，ａ）を推定する（ステップＳ１１３）。価値関数の推定方法はステップＳ１０８と同様である。
【００８７】
次に、解析システム２０は、変数ｔを１に初期化し、また、変数ｍに１を加算した値を新たな変数ｍに設定し（ステップＳ１１４）、その後、ステップＳ１０２に戻る。すなわち、次の試料を用いた強化学習が開始される。
【００８８】
図５に示す処理を実行することによって、適切な処理条件に基づいて制御される処理ステップから構成される処理フローを決定することができる。
【００８９】
なお、処理ステップごとに報酬ｒｔを算出しなくてもよい。この場合は、ステップＳ１０７及びステップＳ１０８の処理を実行せず、報酬ｒＴ並びに各処理ステップの擬状態及び処理条件に基づいて価値関数Ｑ（ｓ，ａ）が推定される。
【００９０】
なお、擬状態に基づいて算出された報酬ｒｔ及び最終的な試料の加工形状に基づいて算出された報酬ｒＴを算出できる場合、解析システム２０は、二つの報酬を足し合わせて一つの報酬として扱ってもよい。
【００９１】
図１０は、実施例１の解析システム２０に各種設定を行うためのＧＵＩ１０００の一例を示す図である。
【００９２】
ＧＵＩ１０００は、学習の各種設定を行うためのＧＵＩである。ＧＵＩ１０００は、学習処理設定欄１０１０、擬状態設定欄１０２０、報酬設定欄１０３０、処理フロー設定欄１０４０、価値関数更新設定欄１０５０、及び決定ボタン１０７０を含む。
【００９３】
学習処理設定欄１０１０、擬状態設定欄１０２０、報酬設定欄１０３０、処理フロー設定欄１０４０、及び価値関数更新設定欄１０５０には、欄への入力が有効であるか否かを示すランプ１０６０が含まれる。欄への入力が有効である場合、ランプ１０６０が点灯する。これによって、ユーザは、正しい値が入力できたことを確認できる。なお、ランプ１０６０以外にポップアップの表示及び音声の再生等を行ってもよい。
【００９４】
学習処理設定欄１０１０は、価値関数欄１０１１及び強化学習欄１０１２を含む。価値関数欄１０１１は、価値関数（モデル）を設定するための欄であり、線形回帰、ニューラルネットワーク（ＮＮ）、及びカーネルリッジ回帰（ＫＲＲ）のいずれかを選択するためのチェックボックスを含む。強化学習欄１０１２は、強化学習の手法を設定するための欄であり、Ｑ学習、ＳＡＲＳＡ、及びＡｃｔｏｒ−Ｃｒｉｔｉｃのいずれかを選択するためのチェックボックスを含む。
【００９５】
擬状態設定欄１０２０は、擬状態欄１０２１を含む。擬状態欄１０２１は、擬状態として算出する値を設定するための欄であり、波長の干渉光の強度、波長の干渉光の強度にＰＣＡを適用した値、及び計測装置１０３が計測した物理量のいずれかを選択するためのチェックボックスを含む。なお、擬状態設定欄１０２０は、ユーザが擬状態を直接定義するための欄を含んでもよい。
【００９６】
報酬設定欄１０３０は、報酬欄１０３１を含む。報酬欄１０３１は、報酬の算出方法を設定するための欄であり、干渉光の振動回数、処理フローの終了後の試料の加工形状、及びその組合せのいずれかを選択するためのチェックボックスを含む。なお、報酬設定欄１０３０は、ユーザが報酬を直接定義するための欄を含んでもよい。
【００９７】
処理フロー設定欄１０４０は、処理フロー欄１０４１を含む。処理フロー欄１０４１は、処理フローに関する設定を行うための欄であり、処理フローに含まれる処理ステップの数及び処理フローの処理時間を設定する欄を含む。なお、処理フロー設定欄１０４０は、ユーザが処理フローを直接定義するための欄を含んでもよい。
【００９８】
価値関数更新設定欄１０５０は、更新頻度欄１０５１を含む。更新頻度欄１０５１は、価値関数の推定タイミングを設定するための欄であり、処理ステップごと、試料ごと、及び一定数の試料ごとのいずれかを選択するためのチェックボックスを含む。一定数の試料ごとに価値関数の推定を行う場合、ユーザは試料の数を指定する欄に値を設定する。
【００９９】
決定ボタン１０７０は、各欄の値を確定するためのボタンである。なお、各欄のランプ１０６０が点灯した場合にのみ、決定ボタン１０７０を操作できるように制御してもよい。ユーザが決定ボタン１０７０を押下した場合、解析システム２０は、図５に示す処理を開始する。
【０１００】
なお、各欄のチェックボックスは一例であって、図示していない形式又は手法等を選択するチェックボックスが含まれてもよい。
【０１０１】
以上で説明したように、実施例１の解析システム２０は、強化学習における環境（半導体処理装置１０内の試料）の状態を直接観測できない場合において、状態と強い相関がある物理量から算出される擬状態に基づいて強化学習を実行することができる。これによって、解析システム２０は、処理フローに含まれる各処理ステップの適切な処理条件を決定することができる。また、擬状態を用いた強化学習であるため、半導体処理装置１０から試料を取り出すことなく、リアルタイムな制御を実現することができる。
【０１０２】
本実施例では、干渉光から算出された擬状態を用いた強化学習を例に説明したがこれに限定されない。例えば、物性、形状又は色等の状態と相関がある物理量として、電気的特性又は機械的特性等を示す物理量を用いることによって同様の強化学習を実現できる。
【０１０３】
なお、実施例１で説明した発明は、試料の処理フローを決定するための強化学習以外の強化学習にも適用することができる。すなわち、状態と相関がある物理量を取得できる最適化問題に対して本発明を適用することができる。
【０１０４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１０５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１０６】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１０７】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１０８】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１０９】
１０  半導体処理装置
２０  解析システム
１００  演算装置
１０１  記憶装置
１０２  インタフェース
１０３  計測装置
１１０  処理条件入力部
１２０  擬状態算出部
１２１  報酬算出部
１２２  価値関数解析部
１２３  処理条件解析部
１３０  処理ＤＢ
１３１  価値関数情報
２００  試料
４００  処理情報
１０００  ＧＵＩ
【図１】
2019212001.tif 000003
【図２】
2019212001.tif 000004
【図３Ａ】
2019212001.tif 000005
【図３Ｂ】
2019212001.tif 000006
【図４】
2019212001.tif 000007
【図５】
2019212001.tif 000008
【図６】
2019212001.tif 000009
【図７Ａ】
2019212001.tif 000010
【図７Ｂ】
2019212001.tif 000011
【図８】
2019212001.tif 000012
【図９Ａ】
2019212001.tif 000013
【図９Ｂ】
2019212001.tif 000014
【図１０】
2019212001.tif 000015