(57)【要約】【課題】半導体処理装置における運用の効率化を図る。【解決手段】プロセッサとメモリを有して半導体処理装置への条件を探索する探索装置であって、プロセッサは、半導体処理装置により半導体が処理された加工結果と、当該加工結果に対応する条件と、半導体処理装置により半導体を処理する目標値と、探索領域と、を受け付けて、探索領域内の前記条件の設定値と、当該設定値を半導体処理装置に与えた場合の前記加工結果と、に基づいて、条件と加工結果との関係を示す予測モデルを生成し、目標値を予測モデルに与えて予測値を算出し、予測値から実証実験を実施させ、当該実証実験の結果を実測値として取得し、実測値が目標値を達成している場合には予測値を条件の設定値として出力し、目標値を達成していない場合には予測値と実測値を、条件の設定値と加工結果に加えて予測モデルを更新する。【選択図】図１２
2019040984.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリを有して半導体処理装置に与える条件を探索する探索装置であって、
前記プロセッサが、前記半導体処理装置により半導体が処理された加工結果と、当該加工結果に対応する条件と、前記半導体処理装置により前記半導体を処理する目標値と、前記条件と前記加工結果との範囲により規定される探索領域と、を受け付けて、
前記プロセッサが、前記探索領域内の前記条件の設定値と、当該設定値を前記半導体処理装置に与えた場合の前記加工結果と、に基づいて、前記条件と前記加工結果との関係を示す予測モデルを生成し、
前記プロセッサが、前記受け付けた目標値を前記予測モデルに与えることにより、前記予測モデルから予測値を算出し、
前記プロセッサが、前記予測値を前記半導体処理装置に送信して実証実験を実施させ、当該実証実験の結果を実測値として取得し、
前記プロセッサが、前記実測値が前記目標値を達成しているか否かを判定して、前記目標値を達成している場合には前記予測値を前記条件の設定値として出力し、前記目標値を達成していない場合には前記予測値と実測値を、前記条件の設定値と前記加工結果に加えて前記予測モデルを更新することを特徴とする探索装置。
【請求項２】
請求項１に記載の探索装置であって、
前記プロセッサが、前記実測値が前記目標値を達成しているか否かを判定して、前記目標値を達成している場合には、前記目標値を最終目標値へ向けて段階的に更新し、前記予測モデルの更新を前記最終目標値が達成されるまで繰り返すことを特徴とする探索装置。
【請求項３】
請求項１に記載の探索装置であって、
前記プロセッサが、前記予測値に対応する前記実測値が前記目標値に近くないと判定した場合には、前記予測値の存在領域内の予測値および前記実測値を除外データに決定し、
前記プロセッサが、前記探索領域から前記決定された除外データと当該除外データが得られた場合に設定される除外領域を除いた残存領域を前記探索領域に設定することを特徴とする探索装置。
【請求項４】
請求項１に記載の探索装置であって、
前記プロセッサは、前記探索領域を複数の領域に分割し、前記予測値に対応する前記実測値が前記目標値に近いと判定した場合、前記予測値を基準値に設定し、前記予測値の存在領域を、前記分割された複数の分割領域の中から特定することを特徴とする探索装置。
【請求項５】
請求項１に記載の探索装置であって、
前記プロセッサは、前記探索領域を複数の領域に分割し、前記分割された分割領域内における前記条件の設定値を前記半導体処理装置に与えた場合の前記実測値を、前記分割領域ごとに取得し、前記各分割領域での前記条件の設定値と前記実測値とに基づいて、前記予測モデルを生成することを特徴とする探索装置。
【請求項６】
請求項１に記載の探索装置であって、
前記プロセッサが、前記予測値に対応する前記実測値が前記目標値に近くないと判定した場合、前記予測値を除外データに決定し、前記実測値から前記除外データを除いた特定の実測値と、前記設定値から前記除外データが得られた場合に前記半導体処理装置に与えられた設定値を除いた特定の設定値と、に基づいて、前記予測モデルを生成することを特徴とする探索装置。
【請求項７】
請求項１に記載の探索装置であって、
前記プロセッサが、前記実測値と、所定の出力しきい値と、に基づいて、前記半導体処理装置の不安定動作を検出し、検出結果を出力することを特徴とする探索装置。
【請求項８】
請求項１に記載の探索装置であって、
前記プロセッサが、前記予測モデルによる１度の予測において複数の予測値を取得することを特徴とする探索装置。
【請求項９】
請求項１に記載の探索装置であって、
前記プロセッサが、予測モデルの最初の生成後に前記探索領域で探索を行い、探索結果を用いて前記予測モデルを更新することを特徴とする探索装置。
【請求項１０】
請求項１に記載の探索装置であって、
前記プロセッサが、複数の種類の予測モデルを用いて予測を行い、各予測モデルからそれぞれの予測値を取得することを特徴とする探索装置。
【請求項１１】
請求項１に記載の探索装置であって、
前記プロセッサが、前記加工結果と、前記条件と、前記目標値と、を入力するための画面を生成し、当該画面を介して前記加工結果と、前記条件と、前記目標値とを受け付けることを特徴とする探索装置。
【請求項１２】
プロセッサとメモリを有する探索装置が半導体処理装置に与える条件を探索する探索方法であって、
前記探索装置が、前記半導体処理装置により半導体が処理された加工結果と、当該加工結果に対応する条件と、前記半導体処理装置により前記半導体を処理する目標値と、前記条件と前記加工結果との範囲により規定される探索領域と、を受け付ける第１のステップと、
前記探索装置が、前記探索領域内の前記条件の設定値と、当該設定値を前記半導体処理装置に与えた場合の前記加工結果と、に基づいて、前記条件と前記加工結果との関係を示す予測モデルを生成する第２のステップと、
前記探索装置が、前記受け付けた目標値を前記予測モデルに与えることにより、前記予測モデルから予測値を算出する第３のステップと、
前記探索装置が、前記予測値を前記半導体処理装置に送信して実証実験を実施させ、当該実証実験の結果を実測値として取得する第４のステップと、
前記探索装置が、前記実測値が前記目標値を達成しているか否かを判定して、前記目標値を達成している場合には前記予測値を前記条件の設定値として出力し、前記目標値を達成していない場合には前記予測値と実測値を、前記条件の設定値と前記加工結果に加えて前記予測モデルを更新する第５のステップと、
を含むことを特徴とする探索方法。
【請求項１３】
請求項１２に記載の探索方法であって、
前記第５のステップは、
前記実測値が前記目標値を達成しているか否かを判定して、前記目標値を達成している場合には、前記目標値を最終目標値へ向けて段階的に更新し、前記予測モデルの更新を前記最終目標値が達成されるまで繰り返すことを特徴とする探索方法。
【請求項１４】
請求項１２に記載の探索方法であって、
前記第５のステップは、
前記探索装置が、前記予測値に対応する前記実測値が前記目標値に近くないと判定した場合には、前記予測値の存在領域内の予測値および前記実測値を除外データに決定し、前記探索領域から前記決定された除外データと当該除外データが得られた場合に設定される除外領域を除いた残存領域を前記探索領域に設定することを特徴とする探索方法。
【請求項１５】
請求項１２に記載の探索方法であって、
前記第５のステップは、
前記探索領域を複数の領域に分割し、前記予測値に対応する前記実測値が前記目標値に近いと判定した場合、前記予測値を基準値に設定し、前記予測値の存在領域を、前記分割された複数の分割領域の中から特定することを特徴とする探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解を探索する探索装置および探索方法に関する。
【背景技術】
【０００２】
半導体デバイスの性能向上のため、半導体デバイスを構成する新材料が導入され、同時に半導体デバイスの構造が複雑化する。また、半導体デバイスの加工では、ナノメートルレベルの精度が要求される。また、半導体デバイスの生産性向上のために、当該精度を維持した状態での量産処理を可能な限り継続することが要求される。これらの要求を満たすためには、半導体デバイスは多種の材料および構造を極めて高精度に加工できる必要がある。したがって、半導体デバイスを処理する半導体処理装置の制御範囲が拡大され、多数の制御パラメータが追加される。半導体処理装置を用いることで、高い生産性を維持しながら、高性能な半導体デバイスが生産される。
【０００３】
その一方で、半導体処理装置の性能を十分に引出すためには、半導体処理装置毎に数種から数十種にも及ぶ入力パラメータを決定する必要がある。更に１つの工程内で多数のステップがあり、そのステップ毎に入力パラメータを変更する必要がある。したがって、目標の加工結果が得られる入力パラメータの組み合わせを突き止めることが、極めて困難である。そのため、加工条件開発の長期化により、開発コストが増大している。更に、高難度の工程数が増加しており、これに対応できる高度な知識と技術を持ったトップエンジニアが不足している。
【０００４】
生産性の維持および向上のためには、半導体デバイスを量産中の半導体処理装置の状態および加工結果のデータを取得する必要がある。これらのデータ取得を目的とした複数のセンサおよびモニタが半導体処理装置に搭載されている。半導体デバイスを量産中の半導体処理装置の状態および加工結果のデータ変動を補正するための制御を実施するためには、センサデータおよびモニタデータと加工結果との関係を解析して、制御用パラメータを見出す必要がある。ナノメートルレベルの加工制御を行うため、半導体処理装置に搭載されるセンサおよび製造状況のモニタの数が増加し、データ取得の頻度も増加している。これにより、取得されるデータ量が増大する。したがって、必要とされる高精度な半導体処理装置の制御方法の開発は、膨大なデータの解析および制御性能の検証が必要であり、極めて困難である。
【０００５】
半導体デバイスのような先端デバイスの製造は、生産性を確保するために、半導体処理装置のエージング方法の開発を要求する。半導体処理装置のエージング方法とは、半導体処理装置間の性能差の抑制、量産中の加工特性の経時変化の補正、および、半導体処理装置のメンテナンスで補正しきれない半導体処理装置間の性能差を縮小するため方法である。半導体処理装置のエージング方法の開発は、高度な知識と技術を持ったトップエンジニアによって実施される。しかし、半導体デバイスの製造におけるウェハ処理枚数および高難度の工程数が増加し続けており、トップエンジニアの人数不足が深刻化している。そのため、データが取得されるだけで解析まで手が回らない工程が増加する。
【０００６】
以上より、半導体処理装置自らが自動的に半導体処理装置の性能を引き出す機能、および半導体処理装置の性能を引き出すエンジニアを支援する機能が、半導体処理装置に要求される。
【０００７】
特許文献１は、生物学に基づいた自律学習システムを用いて、製造ツールのレシピをインクリメンタルまたはランダムに変更した際のデータ学習し、その結果を利用して調節されたレシピを生成する技術を開示する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２０１３−５１８４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
たとえば、半導体処理装置の入力パラメータは、半導体処理装置の動作を決定するパラメータであり、ガス種、ガス流量、圧力、投入電力、電圧、電流、処理時間、加熱温度、冷却温度、ドーズ量、光量といった入力パラメータがある。半導体処理装置の出力パラメータは、半導体処理装置での処理中または処理された処理対象物(処理結果)を監視または計測することで得られるパラメータであり、ＣＤ（Ｃｒｉｔｉｃａｌ  Ｄｉｍｅｎｓｉｏｎ）、堆積膜厚、ＥＲ（Ｅｔｃｈ  Ｒａｔｅ）、加工形状、マスク選択比、更にこれらのウェハ面内分布および均一性といった加工結果を示す出力パラメータがある。また、これらの加工結果と関連のあるセンサデータおよびモニタデータとしては、光反射スペクトル、プラズマ光スペクトル、ウェハ入射電流、ウェハ電圧、ウェハ温度、装置部品温度、更にこれらの空間分布および均一性を示すデータもある。センサデータおよびモニタデータもまた、出力パラメータである。
【００１０】
半導体処理装置の入出力関係を解析するためには、１入力１出力から多入力多出力までの入出力データを解析できる必要がある。そして、目的の出力結果を満たす入力パラメータの組み合わせを得るためには、入力パラメータおよび出力パラメータからなる広大な装置パラメータ空間を探索する必要がある。
【００１１】
たとえば、探索する入力パラメータとして、使用ガス２種の各流量、ガス圧力、放電電力、ウェハ印加バイアス電力という基本的な５種類の入力パラメータを選んだ場合を考える。各入力パラメータの制御範囲は以下の通りである。両ガス流量の制御範囲は１００〜２００［ｓｃｃｍ］、ガス圧力の制御範囲は１〜１０［Ｐａ］、放電電力の制御範囲は５００〜１５００［Ｗ］、バイアス電力の制御範囲は０〜１００［Ｗ］といった典型的な範囲とする。なお、各パラメータを変更する際の最小幅の典型的な値は以下の通りである。両ガス流量の当該値は１［ｓｃｃｍ］、ガス圧力の当該値は０．１［Ｐａ］、放電電力の当該値は１［Ｗ］、バイアス電力の当該値は１［Ｗ］である。
【００１２】
この場合、装置パラメータの空間全体における入力パラメータの制御範囲の全組み合わせ、すなわち探索条件数を概算すると、１００×１００×１００×１０００×１００＝１０１１となる。探索１回にかかる時間が１分程度の場合には、全探索条件数の探索に１０万年以上かかり、実行不可能である。
【００１３】
また、探索１セット分において入力パラメータ毎の値の設定数を１０個とすると、探索における入力パラメータの組み合わせは１０５となる。探索１回の時間が１分程度の場合には、１セット分の探索に２カ月以上の時間が必要となる。探索および探索結果の解析を繰り返して目標の解へ到達するためには、探索１セットにかかる時間は長い場合でも数日以下、望ましくは１時間以下とする必要がある。従って、目標の解に到達するためには、探索における入力パラメータの設定、すなわち探索領域の決定が極めて重要である。
【００１４】
探索１セットにおける探索条件数を１００条件、また探索時間を１時間として、この探索を繰り返すことで１日に２０００条件を探索した場合には、装置パラメータ空間の条件数１０１１のうち、１日で０．０００００２％の領域が探索される。これを１カ月続けた場合、すなわち探索６万セットを実行した場合には装置パラメータ空間のうち０．００００６％の領域が探索されたことになる。したがって、探索１セットにおける探索領域が狭い場合において、探索領域をランダムに変更した場合には、最適な解へ到達できる可能性は極めて低い。また、重複した探索領域がある場合には、最適な解への到達に必要な時間はさらに長くなる。
【００１５】
さらに、半導体処理装置の入出力関係は、大半の場合において非線形であり、装置パラメータ空間には多数の局所解が存在する。そのため、１回のデータ解析および推定によって、出力パラメータの値を満たす入力パラメータの値が見つかることは極めて稀である。装置パラメータ空間のうち１％の探索領域に１つ程度の局所解が存在する場合について考えると、探索領域を狭い領域とし、探索領域をランダムに選択すると、探索領域内またはその近傍の最良の解に到達できたとしても、９９％の確率で局所解へ到達することになる。したがって、局所解を効率良く避ける、または局所解到達後において解へ到達できる可能性が高くなるように探索領域を決定する必要がある。
【００１６】
しかしながら、上述した特許文献１の技術は、データ学習に際し、レシピをインクリメンタルまたはランダムに変更するにすぎないため、解となる入力パラメータである最良解へ到達できる可能性は極めて低いという問題がある。換言すれば、最良解と比較して劣った結果がとなる局所解に到達してしまう可能性が極めて高くなるという問題がある。
【００１７】
本発明は、半導体処理装置における運用の効率化を図ることを目的とする。
【課題を解決するための手段】
【００１８】
本願において開示される発明の一側面となる探索装置は、プロセッサとメモリを有して半導体処理装置に与える条件を探索する探索装置であって、前記プロセッサが、前記半導体処理装置により半導体が処理された加工結果と、当該加工結果に対応する条件と、前記半導体処理装置により前記半導体を処理する目標値と、前記条件と前記加工結果との範囲により規定される探索領域と、を受け付けて、前記プロセッサが、前記探索領域内の前記条件の設定値と、当該設定値を前記半導体処理装置に与えた場合の前記加工結果と、に基づいて、前記条件と前記加工結果との関係を示す予測モデルを生成し、前記プロセッサが、前記受け付けた目標値を前記予測モデルに与えることにより、前記予測モデルから予測値を算出し、前記プロセッサが、前記予測値を前記半導体処理装置に送信して実証実験を実施させ、当該実証実験の結果を実測値として取得し、前記プロセッサが、前記実測値が前記目標値を達成しているか否かを判定して、前記目標値を達成している場合には前記予測値を前記条件の設定値として出力し、前記目標値を達成していない場合には前記予測値と実測値を、前記条件の設定値と前記加工結果に加えて前記予測モデルを更新する。
【発明の効果】
【００１９】
本発明の代表的な実施の形態によれば、半導体処理装置における運用の効率化および処理の最適化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１を示し、入力パラメータの探索例を示す説明図である。
【図２】本発明の実施例１を示し、半導体製造システムのシステム構成例を示す説明図である。
【図３】本発明の実施例１を示し、探索装置のハードウェア構成例を示すブロック図である。
【図４】本発明の実施例１を示し、探索装置の機能的構成例を示すブロック図である。
【図５】本発明の実施例１を示し、半導体処理装置の制御処理手順例を示すフローチャート１である。
【図６】本発明の実施例１を示し、半導体処理装置の制御処理手順例を示すフローチャート２である。
【図７】本発明の実施例１を示し、半導体処理装置の制御処理手順例を示すフローチャート３である。
【図８】本発明の実施例１を示し、半導体処理装置の制御処理手順例を示すフローチャート４である。
【図９】本発明の実施例１を示し、機差抑制方法を示すフローチャートである。
【図１０】本発明の実施例１を示し、経時変化補正方法を示すフローチャートである。
【図１１】本発明の実施例２を示し、入力パラメータの探索例を示す説明図である。
【図１２】本発明の実施例２を示し、半導体処理装置の制御処理手順例を示すフローチャートである。
【図１３】本発明の実施例２を示し、半導体処理装置の制御処理手順例を示すフローチャートである。
【図１４】本発明の実施例２を示し、加工形状の最適化方法を示すフローチャートである。
【図１５】本発明の実施例２を示し、初期データの一例を示す説明図である。
【図１６】本発明の実施例２を示し、目標データの一例を示す説明図である。
【図１７】本発明の実施例２を示し、実証実験結果の一例を示す説明図である。
【図１８】本発明の実施例２を示し、加工形状の一例を示す断面図である。
【図１９】本発明の実施例２を示し、加工形状の一例を示す断面図である。
【図２０】本発明の実施例２を示し、初期設定画面を示す説明図である。
【図２１】本発明の実施例２を示し、探索画面を示す説明図である。
【図２２】本発明の実施例２を示し、自律探索用の探索画面を示す説明図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を添付図面に基づいて説明する。
【実施例１】
【００２２】
＜入力パラメータの探索例＞
図１は、入力パラメータの探索例を示す説明図である。図１は、半導体処理装置において目標を満たす出力データ（上述した出力パラメータの値）が得られる入力データ（上述した入力パラメータの値）を探索する際の半導体処理装置に対する入出力データ入力データと出力データとの組み合わせの例を示す。
【００２３】
ここで、半導体処理装置とは、半導体または半導体を含む半導体デバイスを処理する装置である。半導体処理装置は、具体的には、たとえば、リソグラフィ装置、成膜装置、パターン加工装置、イオン注入装置、加熱装置、洗浄装置を含む。リソグラフィ装置は、露光装置、電子線描画装置、Ｘ線描画装置を含む。成膜装置は、たとえば、ＣＶＤ（Ｃｈｅｍｉｃａｌ  Ｖａｐｏｒ  Ｄｅｐｏｓｉｔｉｏｎ）、ＰＶＤ（Ｐｈｙｓｉｃａｌ  Ｖａｐｏｒ  Ｄｅｐｏｓｉｔｉｏｎ）、蒸着装置、スパッタリング装置、熱酸化装置を含む。パターン加工装置は、たとえば、ウェットエッチング装置、ドライエッチング装置、電子ビーム加工装置、レーザ加工装置を含む。イオン注入装置は、プラズマドーピング装置、イオンビームドーピング装置を含む。加熱装置は、たとえば、抵抗加熱装置、ランプ加熱装置、レーザ加熱装置を含む。洗浄装置は、液体洗浄装置、超音波洗浄装置を含む。
【００２４】
図１は、Ｘ１軸およびＸ２軸の２軸で２次元の座標平面を有するグラフ１００を示す。当該座標平面に直交する軸をＹ軸とする。Ｘ１軸は、半導体処理装置への入力となる入力パラメータＸ１の座標軸であり、Ｘ２軸は、半導体処理装置への入力となる入力パラメータＸ２の座標軸である。Ｘ１軸には、入力パラメータＸ１の値である入力データｘ１ｎ（ｎ＝１，２，３，…）がプロットされ、Ｘ２軸には、入力パラメータＸ２の値である入力データｘ２ｎがプロットされる。グラフ１００は、入力データｘ１ｎおよびｘ２ｎで決定される各領域におけるＹ軸の出力データを、等高線で表現する。例として、出力データｙ１を含む領域を最大値（すなわち、最良解）とし、ｙ１３の領域を最小値とした。また、グラフ１００では、Ｘ１軸が３分割され、領域ｘ１ａ、ｘ１ｂ、ｘ１ｃとする。同様に、グラフ１００では、Ｘ２軸が３分割され、領域ｘ２ａ、ｘ２ｂ、ｘ２ｃとする。
【００２５】
たとえば、目標として、出力データが最も高くなる領域、すなわち、出力データｙ１が得られる入力データｘ１ｎおよびｘ２ｎの組み合わせを探索する場合には、解析方法として装置パラメータ空間の出力データｙｎの傾きを取得し、出力データｙｎがより大きくなる方向へ探索を進めればよい。
【００２６】
しかし、その際の出力データがｘ１ａかつｘ２ｂで決定される領域の出力データを含んでいない場合、探索は局所解となる頂点の出力データｙ４’に向かう。またこの結果に従って探索すべき入力パラメータを決定すると、ｙ４’近傍の出力データを集中的に取得することになり、ｙ４’そのものまたはそれに非常に近い出力データが得られる入力パラメータが発見される。すなわち、この探索で取得した入力パラメータの値を用いた解析と更なる探索による出力パラメータの値の取得とを繰り返したとしても、出力データｙ１に対応する最良解の入力データを見つけることができない。
【００２７】
また、出力データｙ１の周辺やその他の領域に多数の局所解が存在する場合、装置パラメータ空間の広さに対して、取得した入力パラメータの値が少ないと、探索は局所解に陥ってしまい、出力データｙ１を発見できない可能性が高くなる。また、推定した解が存在する領域としてｘ１３かつｘ２３の領域が推定されたとする。その後も特許文献１のように探索領域をｘ１３かつｘ２３の一部のような微小な領域に限定すると、出力データｙｎの傾きが非常に小さいため、出力データｙ１にたどり着くまでの探索回数が膨大になり探索に失敗する可能性がある。また、出力データｙｎの傾きが出力データｙｎに含まれるノイズに埋もれることで、探索に失敗する可能性がある。解析対象である出力データｙｎの質が悪ければ、必然的に解の推定も悪い結果となるため、探索を成功させるためには、解に近付くことができる質の良いデータを取得するための探索空間を指定する必要がある。
【００２８】
図１では、ｘ１ｎ、ｘ２ｎおよびｙｎという３つのパラメータを用いている。実際の半導体処理装置では多数の入出力パラメータを持つため、図１の各軸の指標を多次元ベクトル化した広大な装置パラメータ空間が探索される。したがって、このような広大な装置パラメータ空間から効率良く解に近付くことができる質の良いデータを取得するために、装置パラメータ空間が指定される必要がある。また、半導体処理装置の入出力関係は、大半の場合において非線形であり、装置パラメータ空間には多数の局所解が存在する。
【００２９】
本実施例では、半導体処理装置の入出力データの解析結果を考慮した上で装置パラメータ空間を探索するための実験条件を自動で決定し、実験結果（加工結果）の検証を自動で行い、これらの自動動作を繰り返す。これにより、装置パラメータ空間を探索して最良解を効率的に取得する。すなわち、目標とする半導体処理装置の状態および加工結果を示す出力パラメータの値が得られる入力パラメータの値を効率的に発見する。
【００３０】
＜システム構成例＞
図２は、半導体製造システムのシステム構成例を示す説明図である。半導体製造システム２００は、半導体処理装置２０１と、装置制御システム２０２と、モニタシステム２０３と、センサシステム２０４と、データベース２０５と、自動制御システム（探索装置）２０６と、を有する。
【００３１】
半導体処理装置２０１は、上述した通り、ウェハ等の基板や半導体デバイスを処理する装置である。半導体処理装置２０１は、装置制御システム２０２、モニタシステム２０３およびセンサシステム２０４に接続される。
【００３２】
装置制御システム２０２は、半導体処理装置２０１の稼働および処理をする際に半導体処理装置２０１を制御するシステムである。装置制御システム２０２は、ＧＵＩなどの入力インタフェースを有し、入力インタフェースを介して入力された入力パラメータの値で半導体処理装置２０１の実行を制御する。また、装置制御システム２０２は、ネットワークインタフェースを有し、ネットワークインタフェースを介して外部のコンピュータおよびデータベース２０５から入力パラメータの値を取得する。
【００３３】
装置制御システム２０２は、レシピ設定コントローラ２２１と、装置基本設定コントローラ２２２と、設定エラー検出システム２２３と、を有する。レシピ設定コントローラ２２１は、半導体処理装置２０１の処理中の動作を決定する入力パラメータおよびその値を半導体処理装置２０１に設定する。装置基本設定コントローラ２２２は、半導体処理装置２０１が稼働するための入力パラメータおよびその値を半導体処理装置２０１に設定する。
【００３４】
設定エラー検出システム２２３は、装置基本設定コントローラ２２２での入力パラメータの設定の際に、実際に半導体処理装置２０１に入力パラメータが設定可能であるかを判定する。具体的には、たとえば、設定エラー検出システム２２３は、入力された入力パラメータが入力可能な範囲内であるか、また、半導体処理装置２０１の動作が可能となる入力パラメータの値の組み合わせであるかを判定する。設定不可能な入力パラメータの値またはその組み合わせが検出された場合には、設定エラー検出システム２２３は、設定エラーとして、エンジニアまたは、半導体処理装置２０１が接続される上位のシステムへ報告する。設定エラーが発生した際には、入力された入力パラメータの変更中止、または入力された入力パラメータの値を用いた処理を中止したことをログデータとして記録する。
【００３５】
モニタシステム２０３は、半導体処理装置２０１での処理中または処理された処理対象物（加工結果）を監視または計測してモニタデータを取得するシステムである。モニタシステム２０３は、光学式モニタ、電子顕微鏡を用いた加工寸法計測装置、赤外光を用いた温度計測装置、ケルビンプローブフォース顕微鏡を用いた欠陥検出装置、処理対象物の電気特性を評価するプローバ装置を含む。モニタシステム２０３は、たとえば、処理対象物へ光、レーザ光およびＸ線を入射させた際の反射、透過、吸収および偏光スペクトルを計測することで、処理対象物の加工形状、処理対象膜の厚さおよび加工欠陥をモニタデータとして取得する。モニタシステム２０３は、半導体処理装置２０１に直接接続されている必要はなく、処理対象をモニタシステム２０３へ運搬することで計測結果を取得し、その結果をデータベース２０５に保存してもよい。更に、処理対象の一部を断片として取出し、その断片をモニタシステムへ運搬することで計測結果を取得し、その結果をデータベース２０５に保存してもよい。
【００３６】
モニタシステム２０３は、処理時において処理対象物へ作用するプラズマ、ガス、液体等の処理に使用される媒体、および処理によって発生する生成物を監視する。これらの媒体および生成物は、処理対象物と直接作用したり、その作用の結果発生する物である。モニタシステム２０３は、光スペクトル計測を用いたプラズマ発光モニタ、赤外分光計測を用いた処理室内の堆積物モニタ、質量分析器を用いた処理対象から放出された原子および分子モニタ、探針を用いた処理室内の電気特性モニタを含む。これらのモニタによる監視は、処理結果を間接的に評価できるモニタデータをリアルタイムかつ処理中においてその場で計測することができる。
【００３７】
センサシステム２０４は、半導体処理装置２０１の装置状態を示すセンサデータを取得するシステムである。センサシステム２０４は、センサの集合体である。センサデータは、電圧、電流、パワー等の電源出力値、整合器内のコンデンサやコイル等の可変電気素子の値、各種使用ガスの流量、装置躯体や装置構成部品の温度、処理室内の圧力、圧力制御弁の開度、バルブ開閉状態、ガス排気速度、処理および装置の動作タイミングおよび動作時刻を含む。
【００３８】
データベース２０５は、装置制御システム２０２によって設定される各種入力パラメータの値、半導体処理装置２０１からの処理結果である出力パラメータの値、モニタシステム２０３およびセンサシステム２０４が取得したモニタデータおよびセンサデータを保存する。また、データベース２０５は、学習データを保存する。学習データとは、過去に半導体処理装置２０１に与えられた入力パラメータの値（入力データ）と半導体処理装置２０１から出力された出力パラメータの値（出力データ）の組となる入出力データである。データベース２０５は、保存する各種データを異なる記憶デバイス３０２で保存する分散型データベース２０５でもよい。各システムで取り扱う情報をそれぞれのシステム内に保存する形の分散型のデータベースを構築しても良い。
【００３９】
自動制御システム２０６は、データベース２０５に保存されたデータを用いて、目標を満たす解を探索する。目標を満たす解は、半導体処理装置２０１の稼働に使用される入力パラメータの値、および、処理中の半導体処理装置２０１の動作に使用される入力パラメータの値のうち、少なくとも一方のパラメータの値である。自動制御システム２０６は、目標設定コントローラ２６１と、自律探索システム２６２と、不安定動作検出システム２６３と、を有する。
【００４０】
目標設定コントローラ２６１は、探索開始前の初期値として、目標とする入力パラメータの値、出力パラメータの値、探索結果と目標との差または乖離の許容値の入力を受け付ける。また、目標設定コントローラ２６１は、探索において１つの条件を実行する時間の上限、探索回数、探索１セットの合計時間の上限、探索全体の合計時間の上限、探索結果の解析時間の上限、解析データ数の上限の入力を受け付けることができる。また、目標設定コントローラ２６１は、各入力パラメータに対する探索可否の設定、探索する入力パラメータの制御範囲の上限値および下限値、探索する入力パラメータの制御範囲を限定するための値を設定することができる。更に、目標設定コントローラ２６１は、過去の結果を含む探索開始前の最良の解、その解を得るために用いた解析対象データ、その解析より得られた目標と入力パラメータの関係を説明するモデル関数の入力受け付けることができる。
【００４１】
自律探索システム２６２は、目標設定コントローラ２６１へ入力された内容を取得し、１つ以上のパラメータに対して、探索可能な入力パラメータの制御範囲を２つ以上の領域に分けた分割領域を設定する。前述の通り、探索および探索結果の解析を繰り返して目標の解へ到達するためには、探索１セットにかかる時間は長い場合でも数日以下、望ましくは１時間以下とする必要がある。すなわち、探索１セットの探索条件数Ｎｓ、探索１セットの探索時間をＴｓ［ｍｉｎ］、検索１条件に必要な時間ｔ１［ｍｉｎ］とすると、探索回数は式（１．１）となる。
【００４２】
Ｔｓ＝ｔ１・Ｎｓ・・・（１．１）
【００４３】
探索１セットを１日以内とする場合には、Ｔｓ≦１４４０、１時間以内とする場合には、Ｔｓ≦６０となるように探索条件数Ｎｓを決定すればよい。
【００４４】
探索条件数Ｎｓを増やすためには、探索結果を評価するセンサおよびモニタの計測時間を短くすることが有効である。特に、探索実験中においてリアルタイムで計測が可能なセンサおよびモニタを使用することが有効である。
【００４５】
また、前述した通り、処理結果を間接的に評価できるデータとなる処理対象物へ作用する媒体および処理によって発生する生成物の特性を、センサおよびモニタによって計測することで、リアルタイムかつ処理中においてその場での計測ができる。
【００４６】
探索において変更する入力パラメータの種類が増加するに従い、探索時間Ｔｓが急激に増大する。例えば、入力パラメータの種類の数ＤａをＤａ＝１０とし、各パラメータの領域分割数ＡをＡ＝３とした場合、全てのパラメータの組合せを探索する場合の探索条件数Ｎｓは式（１．２）となる。
【００４７】
Ｎｓ＝ＡＤａ・・・・（１．２）
【００４８】
探索条件数Ｎｓは５９０４９まで増加する。このような場合、解が存在すると予測される各入力パラメータの値を予測し、当該予測値を中心条件として、探索時に同時に変更可能な入力パラメータの数を制限するのが好ましい。これにより、探索条件数Ｎｓおよび探索時間Ｔｓは実行可能な値になる。中心条件を予測する際には、過去の探索結果またはエンジニアの知識を利用することができる。または、探索の初期値として、適当な中心条件を与え、探索を開始することも可能である。
【００４９】
また更に、取得済み学習データに含まれるデータの中で、目標との差異が最小(目標に最も近い)の条件を中心条件とすることも可能である。学習データと目標との差異を示す値としては、各パラメータの誤差の総和を用いることができる。誤差は、各パラメータの差分、絶対値、または２乗誤差等を用いて計算できる。
【００５０】
例えば、入力パラメータの１０種のうち５種類について、解が存在すると推定される分割領域が指定された場合、他の５種類を変更することにより、次回の探索条件数Ｎｓは、Ｎｓ＝３５＝２４３にまで少なくできる。また、１０種の入力パラメータのうち、一度に変更可能な入力パラメータの種類の数をＤｃとする。探索条件数Ｎｓは組み合わせ論の記号Ｃを用いて式（１．３）より求められる。
【００５１】
【数１】
2019040984.tif 000003
【００５２】
一度に変更可能な入力パラメータを限定することで、探索条件数Ｎｓを小さくすることができる。例えば変更可能な入力パラメータの種類の数ＤｃをＤｃ＝１とすると探索条件数ＮｓはＮｓ＝２１、同様にＤｃをＤｃ＝２とすると、ＮｓはＮｓ＝２０１まで小さくできる。さらに、入力パラメータの種類のうち、いくつかの入力パラメータにおいて、解が存在すると推定される分割領域を指定する方法と、一度に変更可能なパラメータの種類を指定する方法とを組み合わせることもできる。
【００５３】
不安定動作検出システム２６３は、探索実行時において、半導体処理装置２０１が処理動作を継続可能ではあるが、処理が不安定になる場合を検出する。入力パラメータの入力を実行する前段階において、設定エラー検出システム２２３は入力パラメータが入力可能であるかを確認する。しかし、半導体処理装置２０１内の機器が制御対象とする媒体および部品は非線形性をもち、更にそれらを組み合わせることで処理を実行する。したがって、設定エラー検出システム２２３は設定エラー（入力パラメータの入力不可）を検出できずに、実際に処理を実行した際に初めて動作不安定となる入力パラメータが発見される可能性がある。
【００５４】
また、入力パラメータが多くなるほど、装置パラメータ空間は拡大するため、装置パラメータ空間において局所的な不安定動作領域が存在した場合に、事前に検出できない可能性が高くなる。
【００５５】
したがって、不安定動作検出システム２６３が半導体処理装置２０１の処理中に半導体処理装置２０１の不安定動作を検出した場合、半導体処理装置２０１は、不安定動作となった際の入力パラメータおよびその値を保存し、さらにエンジニアまたは、半導体処理装置２０１が接続される上位のシステムへ報告する。これにより、半導体処理装置２０１の不安定動作による処理および探索における動作不良を判断または予測することができる。
【００５６】
不安定動作が検出された場合には、処理完了後に半導体処理装置２０１を定常動作状態へ復旧するためのシーケンスを実施するか、処理を直ちに停止し、半導体処理装置２０１を定常動作状態へ復旧するためのシーケンスを実施することで、探索が継続される。
【００５７】
このような不安定動作としては、処理中における局所的な異常放電や放電強度の振動、急激な成膜速度変動や膜質変動、ガス圧力の振動、投入電力の瞬間的な増減や振動等がある。前述した発光スペクトルモニタ、堆積物モニタ、質量分析モニタ、電気特性モニタ、圧力モニタ等のリアルタイムかつ処理中においてその場での計測が可能なモニタが、不安定動作を検出する。
【００５８】
＜探索装置のハードウェア構成例＞
図３は、探索装置３００のハードウェア構成例を示すブロック図である。探索装置３００は、探索領域から解となる入力パラメータの値を探索する。自動制御システム２０６は、探索装置３００の一例である。探索装置３００は、プロセッサ３０１と、記憶デバイス３０２と、入力デバイス３０３と、出力デバイス３０４と、通信インターフェース（通信ＩＦ３０５）と、を有する。プロセッサ３０１、記憶デバイス３０２、入力デバイス３０３、出力デバイス３０４、および通信ＩＦ３０５は、バスにより接続される。プロセッサ３０１は、探索装置３００を制御する。記憶デバイス３０２は、プロセッサ３０１の作業エリアとなる。また、記憶デバイス３０２は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス３０２としては、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリがある。入力デバイス３０３は、データを入力する。入力デバイス３０３としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス３０４は、データを出力する。出力デバイス３０４としては、たとえば、ディスプレイ、プリンタがある。通信ＩＦ３０５は、ネットワークと接続し、データを送受信する。
【００５９】
＜探索装置３００の機構的構成例＞
図４は、探索装置３００の機能的構成例を示すブロック図である。探索装置３００は、入力部４０１と、生成部４０２と、特定部４０３と、判断部４０４と、設定部４０５と、出力部４０６と、決定部４０７と、分割部４０８と、検出部４０９と、を有する。各構成４０１〜４０９は、具体的には、たとえば、図３に示した記憶デバイス３０２に記憶されたプログラムをプロセッサ３０１に実行させることにより実現される機能である。
【００６０】
入力部４０１は、ユーザ操作またはデータベース２０５からの読み込みにより、各種データの入力を受け付ける。具体的には、たとえば、入力部４０１は、半導体デバイスを処理する半導体処理装置２０１に設定される条件値の入力を受け付ける。半導体処理装置２０１に設定される条件とは、上述した入力パラメータである。入力パラメータは、具体的には、たとえば、ガス種、ガス流量、圧力、投入電力、電圧、電流、処理時間、加熱温度、冷却温度、ドーズ量、光量を含む。
【００６１】
また、入力部４０１は、半導体処理装置２０１により半導体が処理された加工結果を示す目標値の入力を受け付ける。半導体処理装置２０１により半導体が処理された加工結果とは、上述した出力パラメータである。出力パラメータは、具体的には、たとえば、半導体処理装置２０１による半導体の処理結果（加工結果）と、半導体処理装置２０１の装置状態に関するデータと、を含む。半導体処理装置２０１による半導体の処理結果は、具体的には、たとえば、ＣＤ（Ｃｒｉｔｉｃａｌ  Ｄｉｍｅｎｓｉｏｎ）、堆積膜厚、ＥＲ（Ｅｔｃｈ  Ｒａｔｅ）、加工形状、マスク選択比、更にこれらのウェハ面内分布および均一性を含む。半導体処理装置２０１の処理結果、および半導体処理装置２０１の装置状態に関するデータは、具体的には、たとえば、光反射スペクトル、プラズマ光スペクトル、ウェハ入射電流、ウェハ電圧、ウェハ温度、装置部品温度、更にこれらの空間分布および均一性を示すデータ（センサデータおよびモニタデータ）を含む。半導体処理装置２０１により半導体が処理された加工結果を示す目標値とは、ユーザが要求する半導体処理装置２０１の出力パラメータの値である。
【００６２】
また、入力部４０１は、条件（入力パラメータ）と加工結果（出力パラメータ）との範囲により規定される探索領域内における条件の基準値の入力を受け付ける。探索領域とは、入力パラメータの制御範囲と半導体処理装置２０１の出力パラメータの制御範囲とにより規定され、入力パラメータの値を探索する領域である。具体的には、たとえば、図１に示した探索領域Ａである。条件の基準値とは、入力パラメータの基準値である。具体的には、たとえば、過去に得られた入力パラメータの値である。
【００６３】
また、入力部４０１は、探索領域内における加工結果の基準値の入力を受け付ける。加工結果の基準値とは、入力パラメータの基準値が半導体処理装置２０１に与えられた場合における半導体処理装置２０１の出力パラメータの値である。
【００６４】
生成部４０２は、探索領域内の条件の設定値と、当該設定値を半導体処理装置２０１に与えた場合の加工結果の実測値と、に基づいて、条件と加工結果との関係を示す予測モデルを生成する。条件の設定値とは、たとえば、学習データとして用意された入力パラメータの値である。加工結果の実測値とは、学習データとして用意された入力パラメータの値（条件の設定値）が半導体処理装置２０１に与えられた場合における半導体処理装置２０１の出力パラメータの値である。予測モデルとは、入力パラメータと出力パラメータとの関係を示す関数である。生成部４０２は、ニューラルネットワーク、サポートベクターマシン等の多入力多出力に応対可能な回帰分析や、相関分析、主成分分析、重回帰分析などの統計分析により、探索領域内の条件の設定値と出力の実測値との関係を示す予測モデルを生成する。
【００６５】
特定部４０３は、生成部４０２によって生成された予測モデルに、入力部４０１によって入力された目標値を与えることにより、目標値に対応する予測値を予測モデルから取得し、予測値の存在領域を探索領域から特定する。また、予測値の存在領域の出力パラメータが未取得の場合には生成部４０２は、分割領域内における条件の設定値を半導体処理装置２０１に与えた場合の出力の実測値を、分割領域ごとに取得する。
【００６６】
目標値が半導体処理装置２０１の出力パラメータの値である場合、特定部４０３は、予測モデルに当該出力パラメータの値を与えることにより、目標値に対応する予測値として入力パラメータの値を予測モデルから取得する。そして、特定部４０３は、予測値である入力パラメータの値の存在領域を探索領域から特定する。具体的には、たとえば、図１において、目標値が出力パラメータの値ｙ１２である場合、当該目標値ｙ１２に対応する予測値は、図１の目標値ｙ１２の等高線により特定される入力パラメータＸ１、Ｘ２の値である。したがって、特定部４０３は、探索領域Ａから目標値ｙ１２の等高線により特定される入力パラメータＸ１、Ｘ２の値の存在領域Ａ１，Ａ２，Ａ３，Ａ８，Ａ９を特定する。
【００６７】
判断部４０４は、予測値に対応する目標値が、入力部４０１によって入力された加工結果の基準値よりも目標値に近いか否かを判断する。具体的には、たとえば、判断部４０４は、探索領域Ａにおいて、予測値に対応する目標値と目標値との間の距離（第１距離）と、加工結果の基準値と目標値との間の距離（第２距離）とを求める。距離は、たとえば、ユークリッド距離である。判断部４０４は、第１距離が第２距離よりも短い場合、予測値に対応する目標値が加工結果の基準値よりも目標値に近いと判断する。判断部４０４は、第１距離が第２距離よりも短くない場合、予測値に対応する目標値が加工結果の基準値よりも目標値に近くないと判断する。
【００６８】
設定部４０５は、判断部４０４によって予測値に対応する目標値の方が、加工結果の基準値よりも目標値に近いと判断された場合、予測値および予測値に対応する目標値を条件の基準値および加工結果の基準値に設定し、特定部４０３によって特定された予測値の存在領域を探索領域に設定する。これにより、基準値が目標値に接近し、探索領域も予測値の存在領域に絞り込まれる。
【００６９】
出力部４０６は、予測値が目標値の達成条件を充足した場合に達成条件を充足した予測値を出力する。達成条件とは、たとえば、目標値の許容範囲である。出力部４０６は、達成条件を充足した予測値を出力デバイス３０４の一例であるディスプレイに表示してもよく、通信ＩＦ３０５を介して外部装置に送信してもよく、記憶デバイス３０２やデータベース２０５に保存してもよい。
【００７０】
決定部４０７は、判断部４０４によって予測値に対応する目標値の方が、加工結果の基準値よりも目標値に近くないと判断された場合、予測値および予測値に対応する目標値を除外データに決定する（図６のステップＳ６０１で後述）。除外データとは、予測モデルに与えてはいけない入力パラメータの値である。
【００７１】
またこの場合、設定部４０５は、決定部４０７によって決定された除外データを除いたデータを学習データに設定する。これにより、生成部４０２は、除外データが存在しない学習データを用いることができる。したがって、解である入力パラメータの値の探索速度の向上を図ることができる。
【００７２】
また、決定部４０７は、判断部４０４によって予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値の存在領域を除外領域に決定してもよい（図６のステップＳ６０２で後述）。除外領域とは、予測モデルが出力してはいけない入力パラメータの値の領域である。
【００７３】
またこの場合、設定部４０５は、探索領域から決定部４０７によって決定された除外領域を除いた残存領域を探索領域に設定する。これにより、目標値に近くない加工結果しか得られない予測値の範囲を除外して探索領域を絞り込むことができる。したがって、解である入力パラメータの値の探索速度の向上を図ることができる。
【００７４】
分割部４０８は、探索領域を複数の領域に分割する。具体的には、たとえば、分割部４０８は、図１に示したように、探索領域Ａを９個の領域（分割領域）Ａ１〜Ａ９に分割する。この場合、生成部４０２は、分割領域内における条件の設定値を半導体処理装置２０１に与えた場合の出力の実測値を、分割領域ごとに取得する。そして、生成部４０２は、各分割領域での条件の設定値と出力の実測値とに基づいて、予測モデルを生成する。複数の半導体処理装置２０１を用いることで、実測値を分割領域ごとに並列に取得することができ、予測モデルの生成速度の向上を図ることができる。
【００７５】
また、設定部４０５は、判断部４０４によって、予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値および予測値に対応する目標値を、条件の基準値および加工結果の基準値に設定せずに、予測値の存在領域を探索領域に設定してもよい（図６のステップＳ６０４〜Ｓ６０６で後述）。これにより、探索領域を更に細分化することで、より詳細な解の探索を実行し、解の見逃しがないか確認することができる。
【００７６】
また、決定部４０７は、上述したように、判断部４０４によって予測値に対応する目標値の方が加工結果の基準値よりも前記目標値に近くないと判断された場合、予測値および予測値に対応する目標値を除外データに決定してもよい。この場合、生成部４０２は、実測値から除外データを除いた残余の実測値と、設定値から残余の実測値に対応する設定値を除いた残余の設定値と、に基づいて、予測モデルを生成してもよい（図７で後述）。これにより、解である入力パラメータの値の探索速度の向上を図ることができる。
【００７７】
また、決定部４０７は、上述したように、判断部４０４によって予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値の存在領域を除外領域に決定してもよい。この場合、生成部４０２は、探索領域から除外領域を除いた残余の探索領域内の条件の設定値と、当該設定値を半導体処理装置２０１に与えた場合の出力の実測値と、に基づいて、予測モデルを生成してもよい（図８で後述）。これにより、解である入力パラメータの値の探索速度の向上を図ることができる。
【００７８】
検出部４０９は、半導体処理装置２０１の出力と、所定の出力しきい値と、に基づいて、半導体処理装置２０１の不安定動作を検出する。検出部４０９は、不安定動作検出システム２６３に相当する。この場合、出力部４０６は、検出部４０９による検出結果を出力する。
【００７９】
＜半導体処理装置２０１の制御処理手順例＞
図５は、半導体処理装置２０１の制御処理手順例を示すフローチャート１である。探索装置３００は、目標とする半導体処理装置２０１からの出力値（出力パラメータの目標値）、および探索設定の入力を受け付ける（ステップＳ５０１）。探索設定とは、たとえば、探索結果と目標値との差または乖離の許容値、探索において１つの条件を実行する時間の上限、探索回数、探索１セットの合計時間の上限、探索全体の合計時間の上限、探索結果の解析時間の上限、解析データ数の上限、半導体処理装置２０１からの出力データの取得頻度のしきい値、半導体処理装置２０１からの出力データ（出力パラメータの値）の取得時間の上限、半導体処理装置２０１からの出力データ数の下限である。
【００８０】
つぎに、探索装置３００は、ベースとなる解の入力およびその解に関する情報の入力を受け付ける（ステップＳ５０２）。具体的には、たとえば、探索装置３００は、過去に実用いた入力パラメータおよびその入力パラメータを用いた際の出力パラメータ、探索開始前の最良の解（入力パラメータの値）および最良の解を用いた際の出力パラメータ、探索開始前の出力パラメータの目標値、入力パラメータと出力パラメータとの関係を説明するモデル関数の入力を受け付ける。
【００８１】
つぎに、探索装置３００は、ステップＳ５０２で入力された最良の解を最良解ＯＳ１として保存する（ステップＳ５０３）。解が無い場合には、解から最も遠いことを示す記号または値が設定される。
【００８２】
つぎに、探索装置３００は、基本探索領域を探索領域として設定する（ステップＳ５０４）。具体的には、たとえば、探索装置３００は、各入力パラメータに対する探索可否の設定、探索する入力パラメータの制御範囲の上限値および下限値、探索する入力パラメータの制御範囲を限定するための値（たとえば、上限値や下限値）を設定する。また、探索装置３００は、設定エラー検出システム２２３によって設定エラーとして判断する入力パラメータの制御範囲を参照して、探索領域を決定する。さらに、探索装置３００は、不安定動作検出システム２６３によって検出されたパラメータを参照して、探索領域を決定する。また、不安定動作検出システム２６３は過去に、半導体処理装置２０１の動作が不能または不安定となった入力パラメータの組合せまたは各入力パラメータ範囲の値を保持しており、これを用いて探索装置３００は探索領域を決定できる。
【００８３】
たとえば、図１において、入力パラメータの種類としてＸ１、Ｘ２の２つの入力パラメータが選択された場合、入力パラメータＸ１の制御範囲を［ｘ１１，ｘ１ｎ］、入力パラメータＸ２の制御範囲を［ｘ２１，ｘ２ｎ］とすれば、図１に示した全範囲の領域Ａが探索領域となる。
【００８４】
ステップＳ５０１〜Ｓ５０４の目標設定コントローラ２６１の入力および設定内容は、自律探索システム２６２へ渡され、次に説明するステップＳ５０５〜Ｓ５１０の手順によって自動探索が実行される。
【００８５】
探索装置３００は、探索領域を分割する（ステップＳ５０５）。具体的には、たとえば、探索装置３００は、１つ以上の入力パラメータに対して、探索可能な入力パラメータの制御範囲を２つ以上の領域に分割する。分割された領域を分割領域と称す。探索条件数が多くなり、所望の時間内に探索が完了できないと予測される場合には、入力パラメータの種類のうちいくつかの入力パラメータにおいて解が存在すると推定される分割領域を指定する方法、および一度に変更可能な入力パラメータの種類を指定する方法を用いることで、探索領域を限定したり、探索条件数を少なくしたりすることができる。またこれら２つの方法を組み合わせることで、探索領域を限定したり、探索条件数を少なくしたりすることができる。
【００８６】
たとえば、図１において、入力パラメータの種類としてＸ１、Ｘ２の２つの入力パラメータが選択された場合、入力パラメータＸ１の制御範囲［ｘ１１，ｘ１ｎ］がｘ１ａ，ｘ１ｂ，ｘ１ｃに分割され、入力パラメータＸ２の制御範囲［ｘ２１，ｘ２ｎ］ｘ２ａ，ｘ２ｂ，ｘ２ｃに分割されたとすれば、図１に示した９つの分割領域Ａ１〜Ａ９が得られる。
【００８７】
探索装置３００は、分割領域ごとに自律探索を実行する（ステップＳ５０６）。具体的には、たとえば、探索装置３００は、分割領域および探索条件を用いた自律探索により、各探索条件における半導体処理装置２０１の入出力データを探索結果として取得する。入出力データとは、半導体処理装置２０１に与えられる入力パラメータの値（入力データ）と半導体処理装置２０１から得られる出力パラメータの値（出力データ）の組である。
【００８８】
具体的には、たとえば、探索装置３００は、分割領域ごとに、探索条件を満たす入力パラメータの値を選択し、選択した入力パラメータの値を半導体処理装置２０１に与える。そして、探索装置３００は、半導体処理装置２０１からの出力データ（出力パラメータの値）を取得する。この入力パラメータの値と、当該値に対応する出力パラメータの値と、の組み合わせが、探索結果である。
【００８９】
またこの場合、不安定動作検出システム２６３は、自律探索実行時において、半導体処理装置２０１が処理動作を継続可能ではあるが、半導体処理装置２０１の処理が不安定になる場合を検出する。不安定動作が検出された場合には、処理完了後に半導体処理装置２０１を定常動作状態へ復旧するためのシーケンスを実施するか、処理を直ちに停止し半導体処理装置２０１を定常動作状態へ復旧するためのシーケンスを実行することで、目標設定コントローラ２６１による自律探索を継続する。
【００９０】
探索装置３００は、分割領域ごとの探索結果をデータベース２０５に保存する（ステップＳ５０７）。具体的には、たとえば、探索装置３００は、分割領域ごとに、自律探索（ステップＳ５０６）で用いられた入力パラメータの値と、当該入力パラメータの値を用いて取得された半導体処理装置２０１の出力パラメータの値と、の組である入出力データを、分割領域ごとの探索結果としてデータベース２０５に保存する。
【００９１】
探索装置３００は、目標（目標出力）を満たす解（入力パラメータ）を予測するための予測モデルを生成する（ステップＳ５０８）。具体的には、たとえば、探索装置３００は、ステップＳ５０７でデータベース２０５に保存された学習データを用いて、半導体処理装置２０１の入出力データの関係を示す関数を予測モデルとして生成する。入出力データの関係を解析する方法としては、ニューラルネットワーク、サポートベクター回帰、カーネル法を用いた回帰等の多入力多出力に応対可能な回帰分析を使用できる。また、相関分析、主成分分析、重回帰分析等の統計解析が使用できる。
【００９２】
予測モデルの生成において、出力データとして、たとえば、半導体処理装置２０１の処理結果に対する間接的な計測値を取得するセンサデータおよびモニタデータが用いられる。出力データの取得頻度が探索設定で規定した頻度よりも低い、または、探索設定で規定した取得時間よりも長く、探索によって取得できる出力データ数が、探索設定で規定した出力データ数よりも少なくなる場合がある。この場合には、出力データの取得数と比較して多くのデータ数が取得可能なセンサデータおよびモニタデータを取得すればよい。これにより、出力データに対するセンサデータおよびモニタデータの関係や、センサデータおよびモニタデータに対する入力データの関係を解析することができる。また、これらの両方の解析結果を用いることで、出力データに対する入力データの関係を求めることができる。
【００９３】
探索装置３００は、解が存在する分割領域を推定する（ステップＳ５０９）。解が存在すると推定した領域内の出力データが取得済みである場合（ステップＳ５０９０Ａ：Ｙｅｓ）、探索装置３００は、推定した分割領域中から最良解ＯＳ２を特定し、特定した最良解ＯＳ２をデータベース２０５に保存する（ステップＳ５１０）。また、解が存在すると推定した領域内の出力データが未取得である場合（ステップＳ５０９０Ａ：Ｎｏ）、探索装置３００は、推定した領域内の自律探索を実行し（ステップＳ５０６０Ａ）、解が存在すると推定した領域内の出力データ、すなわち探索結果を取得し、データベース２０５に保存する（ステップＳ５０７０Ａ）。これらの自律探索および結果の保存はステップＳ５０６およびステップＳ５０７と同様の処理である。ステップＳ５０９の処理は、２通りの方法がある。１つは、予測モデルに、ステップＳ５０１で与えられた出力パラメータの目標値を与える方法（第１の推定方法）である。
【００９４】
第１の推定方法では、具体的には、たとえば、探索装置３００は、ステップＳ５０８で得られた予測モデルに、ステップＳ５０１で与えられた出力パラメータの目標値を代入することで、出力パラメータの目標値を満たす解となる入力データ（入力パラメータの値）を推定する。そして、探索装置３００は、解となる入力データが存在する分割領域を特定する。たとえば、予測モデルが図１の入出力関係を示す関数である場合、出力パラメータの目標値としてｙ６が与えられると、分割領域Ａ１〜Ａ９のうち、解が存在する分割領域として、Ａ１、Ａ４、Ａ７の３つの分割領域が推定される。Ａ１、Ａ４、Ａ７の各分割領域において出力データが未取得の場合には、前述した通りステップＳ５０６０ＡおよびステップＳ５０７０Ａが実行される。
【００９５】
ステップＳ５１０において、探索装置３００は、取得済みの出力データより目標値ｙ６と等しい出力データが存在する分割領域、出力データと目標値の差または乖離が許容値（Ｓ５０１で与えられた許容値）より小さい出力データが存在する分割領域、または目標値ｙ６に最も近い出力データが存在する分割領域を特定し、この分割領域を最良解ＯＳ２が存在する領域（以下、特定の分割領域）に決定する。特定の分割領域となりうる分割領域が複数特定された場合には、探索装置３００は、それら全てを最良解ＯＳ２が存在する分割領域に決定する。または、探索装置３００は、それら複数の分割領域のうち、出力データと目標値の差または乖離が許容値（Ｓ５０１で与えられた許容値）より小さい出力データ取得できた数が最も多い分割領域を、最良解ＯＳ２が存在する分割領域に決定する。上記の例の場合、取得した出力データが、予測モデルが示した図１と同様だったと場合には、ｙ６と等しいまたはｙ６に近い値が得られた分割領域Ａ１、Ａ４、Ａ７全て、または分割領域Ａ４が特定の分割領域に決定される。探索装置３００は、特定の分割領域において出力パラメータの目標値と等しい、出力データと目標値の差または乖離が許容値（Ｓ５０１で与えられた許容値）より小さい、または目標値に最も近い出力データが得られた際の入力パラメータの値を最良解ＯＳ２に決定する。
【００９６】
もう１つのステップＳ５０９の処理は、予測モデルにステップＳ５０１で与えられた出力パラメータの目標値を代入することでは、出力パラメータの目標値を満たす解となる入力パラメータを直接求められない場合に適用できる方法である（第２の推定方法）。第２の推定方法は、予測モデルに一度に与える入力パラメータを一組として、予測モデルに、多数の入力パラメータの組を与え、推定出力パラメータを計算し、最も目標出力に近い加工結果が得られる入力パラメータの組を取得する方法である。例えば、探索装置３００は、各分割領域に含まれるに入力パラメータの組を、分割領域毎に１つ以上作成し、これを予測モデルに与え、その際の出力パラメータを計算することができる。分割領域毎の代表的な推定出力を得る方法としては、分割領域に含まれる入力パラメータの組として、分割領域内の中心座標となる値を用いることができる。
【００９７】
極めて多数の入力パラメータの組を予測モデルに与え推定出力を計算する場合において、計算時間が膨大になる場合には、上記式（１．１）〜式（１．３）を用いて述べた通り、探索装置３００は、予測モデルに与える入力パラメータの中心条件を決定し、その中心条件から変更可能な入力パラメータの種類を制限することで、計算時間を抑制することができる。また、中心条件から一度に変更可能なパラメータの数を制限することで、計算時間を抑制することができる。これにより、探索装置３００は、予測モデルに与える入力パラメータの組の数を削減しながら、目標出力により近い結果が得られる入力パラメータを得ることができる。中心条件を設定する際には、過去の探索結果またはエンジニアの知識を利用することができる。または、全探索領域の中心座標を中心条件とすることができる。
【００９８】
第２の推定方法では、具体的には、探索装置３００は、ステップＳ５０８で得られた予測モデルに、入力パラメータの組の値を代入することで、予測値となる出力パラメータの値を取得する。たとえば、予測モデルが図１の入出力関係を示す関数である場合、予測モデルへ入力パラメータの値として、（ｘ１１，ｘ２１），（ｘ１１，ｘ２２），（ｘ１１，ｘ２３），（ｘ１２，ｘ２１），（ｘ１２，ｘ２２），（ｘ１２，ｘ２３），（ｘ１３，ｘ２１），（ｘ１３，ｘ２２），（ｘ１３，ｘ２３），（ｘ１ｎ，ｘ２１），（ｘ１ｎ，ｘ２２），（ｘ１ｎ，ｘ２３）が与えられると、各入力パラメータに対応する推定出力パラメータを得ることができる。
【００９９】
これらの各入力パラメータに対応する出力パラメータが未取得である場合（ステップＳ５０９０Ａ：Ｙｅｓ）には、探索装置３００は、各入力パラメータを用いて自律探索を実行し（ステップＳ５０６０Ａ）、解が存在すると推定した領域内の出力データ、すなわち探索結果を取得しデータベース２０５に保存する（ステップＳ５０７０Ａ）。これらの自律探索および結果の保存はステップＳ５０６およびステップＳ５０７と同様の処理である。また、各入力パラメータに対応する出力パラメータが取得済みである場合（ステップＳ５０９０Ａ：Ｎｏ）、ステップＳ５１０に移行する。
【０１００】
そして、ステップＳ５１０において、探索装置３００は、たとえば、分割領域において、出力パラメータの目標値から最も近い予測値となる出力パラメータの値が得られた入力パラメータの値を最良解ＯＳ２に決定する。たとえば、取得した出力データが、予測モデルが示した図１同様だったと場合には、出力パラメータの目標値がｙ１０であった場合、入力パラメータの値（ｘ１３，ｘ２３）に応じた出力パラメータの値ｙ１０が最も近い値となる。したがって、最良解ＯＳ２は、（ｘ１３，ｘ２３）となる。なお、第１の推定方法および第２の推定方法のうち、いずれを適用するかはあらかじめ設定される。
【０１０１】
探索装置３００は、最良解ＯＳ２の値は最良解ＯＳ１の値より目標に近い出力パラメータが得られる解であるか否かを判断する（ステップＳ５１１）。そして、最良解ＯＳ２の値は最良解ＯＳ１の値より目標に近い出力パラメータが得られる解である場合（ステップＳ５１１：Ｙｅｓ）、ステップＳ５１２に移行し、そうでない場合（ステップＳ５１１：Ｎｏ）、ステップＳ６０１（図６）に移行する。
【０１０２】
ステップＳ５１１：Ｙｅｓの場合、探索装置３００は、最良解ＯＳ２を最良解ＯＳ１に設定することで、最良解ＯＳ１を更新する（ステップＳ５１２）。また、探索装置３００は、更新後の最良解ＯＳ１の分割領域を探索領域に設定することで、探索領域を更新する（ステップＳ５１４）。
【０１０３】
このあと、探索装置３００は、目標が達成されたか否かを判断する（ステップＳ５１４）。目標が達成された場合（ステップＳ５１４：Ｙｅｓ）、探索装置３００は、制御処理を終了する。一方、目標が達成されていない場合（ステップＳ５１４：Ｎｏ）、ステップＳ５０５またはステップＳ６０１（図６）に移行する。ステップＳ５０５またはステップＳ６０１（図６）のいずれに移行するかは、あらかじめ設定されていてもよく、その都度、ユーザに選択させてもよい。なお、目標未達成（ステップＳ５１４：Ｎｏ）で、かつ、ステップＳ５０５に移行する場合、探索装置３００は、ステップＳ５１３の更新後の探索領域を分割することになる（ステップＳ５０５）。
【０１０４】
ステップＳ５１４では、具体的には、たとえば、更新後の最良解ＯＳ１に対応する出力パラメータが目標値と等しいまたは目標値との差が許容範囲内である場合、探索装置３００は、目標達成と判断する（ステップＳ５１４：Ｙｅｓ）。また、更新後の最良解ＯＳ１に対応する出力パラメータが目標値と等しいまたは目標値との差が許容範囲内でなくても、ステップＳ５０１で設定した探索時間が経過した場合、目標を達成したと判断する（ステップＳ５１４：Ｙｅｓ）。一方、更新後の最良解ＯＳ１に対応する出力パラメータが目標値と等しいまたは目標値との差が許容範囲内でなく、かつ、ステップＳ５０１で設定した探索時間が経過していない場合、目標未達成と判断する（ステップＳ５１４：Ｎｏ）。
【０１０５】
図６は、半導体処理装置２０１の制御処理手順例を示すフローチャート２である。探索装置３００は、ステップＳ５０９で得られた分割領域内の探索データを除外データに決定する（ステップＳ６０１）。具体的には、たとえば、探索装置３００は、推定領域内の入力データ（入力パラメータの値）をおよび出力データ（出力パラメータ）を除外データに決定する。除外データは、今後の処理で除外される可能性のあるデータである（実際の解析対象となるデータからの除外は図７のＳ７０３、または図６〜図８のＳ６０８で実施）。同様に、探索装置３００は、ステップＳ５１０で得られた分割領域を除外領域に決定する（ステップＳ６０２）。除外領域は、今後の処理で除外される可能性のある領域である（実際の解析対象となるデータからの除外は図８のＳ８０３、または図６〜図８のＳ６０８で実施）。
【０１０６】
このあと、探索装置３００は、ステップＳ５０９で得られた分割領域を分割するか否かを判断する（ステップＳ６０３）。分割する場合（ステップＳ６０３：Ｙｅｓ）、ステップＳ６０４に移行し、分割しない場合（ステップＳ６０３：Ｎｏ）、ステップＳ６０８に移行する。
【０１０７】
ステップＳ６０３では、具体的には、たとえば、探索装置３００は、ユーザからの分割指示入力の有無により、分割領域を分割するか否かを判断する。また、探索装置３００は、強制的に分割領域を分割してもよい（ステップＳ６０３：Ｙｅｓ）。
【０１０８】
このあと、探索装置３００は、ステップＳ５０８と同様、予測モデルを生成する（ステップＳ６０４）。つぎに、探索装置３００は、ステップＳ５０９と同様、ステップＳ６０３で分割された分割領域群のうち、解が存在する分割領域を推定する（ステップＳ６０５）。推定された分割領域を、推定分割領域と称す。そして、探索装置３００は、ステップＳ６０９０Ａ、Ｓ６０６０Ａ、Ｓ６０７０Ａにおいて、ステップＳ５０９０Ａ、Ｓ５０６０Ａ、Ｓ５０７０Ａと同様の処理を実行する。具体的には、たとえば、解が存在すると推定した領域内の出力データが取得済みである場合（ステップＳ６０９０：Ｙｅｓ）には、探索装置３００は、推定した分割領域中から最良解ＯＳ３を特定し、特定した最良解ＯＳ３をデータベース２０５に保存する（ステップＳ６０６）。また同様に、解が存在すると推定した領域内の出力データが未取得である場合（ステップＳ６０９０：Ｎｏ）には、探索装置３００は、推定した領域内の自律探索を実行し（ステップＳ６０６０Ａ）、解が存在すると推定した領域内の出力データ、すなわち探索結果を取得し、データベース２０５に保存する（ステップＳ６０７０Ａ）。
【０１０９】
このあと、ステップＳ５１１と同様、探索装置３００は、最良解ＯＳ３に対応する出力パラメータの値は最良解ＯＳ１に対応する出力パラメータの値より目標に近い解であるか否かを判断する（ステップＳ６０７）。そして、最良解ＯＳ３に対応する出力パラメータの値は最良解ＯＳ１に対応する出力パラメータの値より目標に近い解である場合（ステップＳ６０７：Ｙｅｓ）、ステップＳ５１２に移行し、そうでない場合（ステップＳ６０７：Ｎｏ）、ステップＳ６０８に移行する。ステップＳ６０８において、探索装置３００は、探索領域から除外領域を除外するか、除外領域の除外および除外データを除外することにより、探索領域を更新して（ステップＳ６０８）、ステップＳ５０５に移行する。
【０１１０】
図７は、半導体処理装置２０１の制御処理手順例を示すフローチャート３である。フローチャート３は、図６に示したフローチャート２の他の処理例である。なお、図６と同一処理については、同一ステップ番号を付し説明を省略する。探索装置３００は、ステップＳ６０１のあと、探索装置３００は、ステップＳ６０１で決定された除外データを除外するか否かを判断する（ステップＳ７０３）。除外して解析する場合（ステップＳ７０３：Ｙｅｓ）、ステップＳ６０４に移行し、除外しないで解析する場合（ステップＳ７０３：Ｎｏ）、ステップＳ６０８に移行する。
【０１１１】
ステップＳ７０３では、具体的には、たとえば、探索装置３００は、ユーザからの除外指示入力の有無により、除外データを除外して解析するか否かを判断する。また、探索装置３００は、強制的に除外データを除外して解析してもよい（ステップＳ７０３：Ｙｅｓ）。
【０１１２】
このあと、探索装置３００は、除外データを使用せずに、分割領域の予測モデルを生成し（ステップＳ６０４）、ステップＳ６０５、Ｓ６０９０Ａ、Ｓ６０６０Ａ、Ｓ６０７０Ａ、Ｓ６０６、Ｓ６０７、Ｓ６０８を実行する。
【０１１３】
図８は、半導体処理装置２０１の制御処理手順例を示すフローチャート４である。フローチャート４は、図６に示したフローチャート２の他の処理例である。なお、図６と同一処理については、同一ステップ番号を付し説明を省略する。探索装置３００は、ステップＳ６０２のあと、探索装置３００は、ステップＳ６０２で決定された除外領域を除外して解析するか否かを判断する（ステップＳ８０３）。除外して解析する場合（ステップＳ８０３：Ｙｅｓ）、ステップＳ６０４に移行し、除外しないで解析する場合（ステップＳ８０３：Ｎｏ）、ステップＳ６０８に移行する。
【０１１４】
ステップＳ８０３では、具体的には、たとえば、探索装置３００は、ユーザからの除外指示入力の有無により、除外領域内の解（入力パラメータの値）を除外して解析するか否かを判断する。また、探索装置３００は、強制的に除外領域を除外して解析してもよい（ステップＳ８０３：Ｙｅｓ）。
【０１１５】
このあと、探索装置３００は、ステップＳ６０４と同様、分割領域の予測モデルを生成する（ステップＳ６０４）。つぎに、探索装置３００は、除外領域内の解（入力パラメータの値）を使用せずに、ステップＳ６０３で分割された分割領域群のうち、解が存在する分割領域を推定する（ステップＳ６０５）。推定された分割領域を、推定分割領域と称す。そして、探索装置３００は、ステップＳ６０９０Ａ、Ｓ６０６０Ａ、Ｓ６０７０Ａ、Ｓ６０６、Ｓ６０７、Ｓ６０８を実行する。
【０１１６】
なお、本制御処理において、データの解析、保存、転送等の規模が大きくなり、その実行時間が１条件を探索する時間より長くなる場合には、それらの実行と並列して探索を継続することが可能である。その際には、探索条件において変更する入力パラメータ数、同時に変更する入力パラメータ数、探索領域の分割数のうち１つ以上を増加させる。これにより、探索条件数を増加させ、この条件を探索することで、解析等を実行する時間を利用して探索結果を増加させることができる。特に、データの解析に必要な時間は数分から数時間以上になる場合があり、その解析中に探索を継続することで、探索速度を向上させることができる。
【０１１７】
＜半導体処理装置２０１の制御処理の適用例１＞
つぎに、半導体デバイスの量産前における半導体処理装置２０１のメンテナンスにおいて、半導体処理装置２０１の装置差を補正するための制御処理の適用例を示す。ここでは機差抑制の手順を説明する例として、半導体処理装置２０１を、放電処理を行うエッチング装置とした。また、ここでは放電処理を実行する際の入力パラメータをレシピと称する。放電処理を行うエッチング装置では、補正対象となる出力として、処理結果または処理に用いる放電の特性が挙げられる。補正の方法としては、基準となるエッチング装置と同一の出力が得られるように他のエッチング装置を補正する方法、または複数のエッチング装置の出力が均一となるように補正する方法がある。
【０１１８】
図９は、機差抑制方法を示すフローチャートである。図９は、具体的には、たとえば、半導体デバイスの量産前における半導体処理装置２０１のメンテナンス処理手順例を示す装置差の補正を行うために、探索装置３００は、メンテナンス後放電データ取得を開始する。
【０１１９】
まず、探索装置３００は、基本的な放電処理を行うためのレシピを用いて基準レシピ放電を行い、その際の入出力データを取得する。また、量産で用いられるレシピによる放電を行い、その際の出力データ（出力パラメータの値）を取得する（ステップＳ９０１）。ステップＳ９０１は、ステップＳ５０１〜Ｓ５０４に対応する処理である。
【０１２０】
つぎに、探索装置３００は、装置差補正レシピを探索する（ステップＳ９０２）。ステップＳ９０２は、ステップＳ５０５〜Ｓ５０７に対応する処理である。そして、探索装置３００は、ステップＳ９０２の探索した装置差補正レシピを用いた装置差補正を実行する（ステップＳ９０３）。ステップＳ９０３は、ステップＳ５０８〜Ｓ５１３、図６〜図８の処理に対応する処理である。補正目標を達成していない場合（ステップＳ９０４：Ｎｏ）、ステップＳ９０２に戻り、補正目標を達成した場合（ステップＳ９０４：Ｙｅｓ）、処理を終了する。ステップＳ９０４は、ステップＳ５１４に対応する処理である。
【０１２１】
なお、同一のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させてもよい。その際には、図９の手順によって装置差が補正された複数のエッチング装置を使用することで、目標を満たす解が探索できる可能性を高めることができる。更に、探索された解をそれらの複数の装置に展開し補正を行うことが可能となる。
【０１２２】
このように、半導体処理装置２０１のメンテナンス後に探索装置３００による探索方法を実行することにより、半導体処理装置２０１の出力パラメータの値を基準となる出力パラメータの値へ近付けることができる（自動機差補正機能）。
【０１２３】
＜半導体処理装置２０１の制御処理の適用例２＞
つぎに、半導体デバイスの量産処理において、経時変化を補正するための制御処理の適用例を示す。
【０１２４】
図１０は、経時変化補正方法を示すフローチャートである。図１０では、図９と同様に、経時変化を補正する手順を説明する例として、半導体処理装置２０１を、処理に放電を使用するエッチング装置とした。量産前放電データ取得では、量産中の経時変化の補正を行うために、探索装置３００は、まず基本的な放電処理を行うための基準レシピをエッチング装置に与えて基準レシピ放電を行い、その際の出力データ（出力パラメータの値）を取得する（ステップＳ１０１１）。ステップＳ１０１１は、ステップＳ５０１〜Ｓ５０４に対応する処理である。
【０１２５】
つぎに、探索装置３００は、装置差補正候補レシピを探索する（ステップＳ１０１２）。ステップＳ１０１２では、過去の量産時の入出力データの解析結果より、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータが用いられる。そして、探索装置３００は、量産開始前のエッチング装置において、これらの経時変化を予想できるデータを経時変化後の値にまで変動させるための装置差補正候補レシピの探索を実行する。ステップＳ１０１２は、ステップＳ５０５〜Ｓ５０７に対応する処理である。
【０１２６】
つぎに、探索装置３００は、装置差補正を実行する（ステップＳ１０１３）。ステップＳ１０１３では、探索装置３００は、経時変化が発生していない状態にて用いる基本の量産用レシピとステップＳ１０１２で探索された装置差補正候補レシピとを比較して、装置差補正候補レシピで変更された入力パラメータを明らかにする。これにより、量産前の段階で、補正対象の入力パラメータと出力パラメータとの関係を説明する関数を生成することが可能となり、またその関係より補正候補となるレシピを生成することができる。ステップＳ１０１３は、ステップＳ５０８〜Ｓ５１３、図６〜図８の処理に対応する処理である。このあと、量産処理が開始される。
【０１２７】
ステップＳ１０１３のあと、半導体デバイスの量産処理が開始されると、ウェハが処理室に導入され（ステップＳ１０２１）、エッチング装置が、ウェハをエッチングする（ステップＳ１０２２）。エッチング（ステップＳ１０２２）は、１ステップまたは複数ステップから構成される。エッチング（ステップＳ１０２２）が複数ステップの場合、各ステップのエッチングは、放電条件を変更して実行される。エッチング（ステップＳ１０２２）の完了後に、ウェハは、処理室外へ搬出される（ステップＳ１０２３）。そして、エッチング中に発生し処理室表面に堆積した反応性生物を除去するため、プラズマクリーニングが実施される（ステップＳ１０２４）。次のウェハがあれば（ステップＳ１０２５：Ｙｅｓ）、ステップＳ１０２１に戻り、次のウェハがなければ（ステップＳ１０２５：Ｎｏ）、量産後放電データ取得に移行する。
【０１２８】
量産中のエッチング装置の入出力データは、データベース２０５に保存され、探索装置３００は、並列して入出力データをリアルタイムで解析し続ける。これにより、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータの推定を量産中に継続することが可能である。また、探索装置３００は、同一の量産処理を実行する複数のエッチング装置の入出力データを集約することで、データ数を増加させることができる。
【０１２９】
量産後または量産開始から指定した時間が経過した際に放電データを取得した場合、探索装置３００は、経時変化を補正するレシピの探索を実行する（ステップＳ１０３１）。具体的には、たとえば、探索装置３００は、ステップＳ１０１１、Ｓ１０１２で取得したデータ、解析された入出力データの関係、および補正候補レシピをステップＳ５０２の入力として使用し、経時変化補正レシピを探索する。ステップＳ１０３１は、ステップＳ５０５〜Ｓ５０７に対応する処理である。
【０１３０】
そして、探索装置３００は、探索結果である経時変化補正レシピを用いて、補正結果の検証を行う（ステップＳ１０３２）。ステップＳ１０３２は、ステップＳ５０８〜Ｓ５１３、図６〜図８の処理に対応する処理である。
【０１３１】
また、ステップＳ１０３１、Ｓ１０３２の実行前に、探索装置３００は、半導体デバイスの量産中に取得した出力データを解析し、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータを推定し、ステップＳ１０１２を実行してもよい。これにより、補正対象の入力パラメータと出力パラメータとの関係を説明する関数を生成し、またその関係より補正候補となるレシピを生成することができる。これらの結果を、ステップＳ５０２で用いることで、探索装置３００は、ステップＳ１０３１、Ｓ１０３２を実行することができる。
【０１３２】
さらに、上記探索におけるステップＳ５０２の入力としては、エンジニアの知識を用いて、補正に頻繁に用いられる入力パラメータを変更したレシピ、およびそのレシピを用いて放電した際の入出力データとその解析結果を用いてもよい。
【０１３３】
そして、補正目標を達成していない場合（ステップＳ１０３３：Ｎｏ）、ステップＳ１０３１に戻り、補正目標を達成した場合（ステップＳ１０３３：Ｙｅｓ）、処理を終了する。ステップＳ１０３３は、ステップＳ５１４に対応する処理である。図１０に示した探索を実行する際には、同一の量産処理を実施した量産後のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させることができる。更に、探索された解（入力パラメータ）は、同一の量産処理を実行する複数のエッチング装置に展開し補正を実行することが可能である。
【０１３４】
このように、半導体の量産後において探索装置３００による探索方法を実行することにより、量産中の半導体処理装置２０１の出力パラメータの値の経時変化を補正することができる（自動経時変化補正機能）。
【０１３５】
このように、探索装置３００は、半導体処理装置２０１の入力パラメータの値および出力パラメータの値を自動解析し、その解析結果を考慮した上で、入力パラメータの値を探索するための実験条件を自動で決定する。そして、探索装置３００は、当該実験結果の検証を自動で行い、これらの自動動作を繰り返すことで、目標とする装置状態および処理結果（出力パラメータの値）が得られる入力パラメータの値を自動的に探索することができる。これにより、半導体処理装置２０１自らが自動的に装置性能を引き出すことができ、加えて装置性能を引き出すための制御モデル開発や装置パラメータ（入力パラメータと出力パラメータとの組み合わせ）の選定を行うエンジニアを支援することができる。
【０１３６】
以上説明したように、本実施例にかかる探索装置３００は、半導体を処理する半導体処理装置２０１に設定される条件または半導体処理装置２０１により半導体が処理された加工結果を示す目標値と、条件と加工結果との範囲により規定される探索領域内における条件または加工結果のうち目標値が示す方の基準値と、の入力を受け付ける入力部４０１と、探索領域内の条件の設定値と、当該設定値を半導体処理装置２０１に与えた場合の加工結果の実測値と、に基づいて、条件と加工結果との関係を示す予測モデルを生成する生成部４０２と、生成部４０２によって生成された予測モデルに、入力部４０１によって入力された目標値を与えることにより、予測モデルから予測値を取得し、予測値の存在領域を探索領域から特定する特定部４０３と、予測値に対応する前記加工結果の実測値が入力部４０１によって入力された基準値よりも目標値に近いか否かを判断する判断部４０４と、判断部４０４によって予測値に対応する前記加工結果の実測値の方が目標値に近いと判断された場合、予測値を基準値に設定し、特定部によって特定された予測値の存在領域を探索領域に設定する設定部４０５と、予測値に対応する前記加工結果の実測値が目標値の達成条件を充足した場合に達成条件を充足した予測値を出力する出力部４０６と、を有する。
【０１３７】
これにより、半導体処理装置２０１の入出力に関する最良解への到達精度の向上を図ることができる。したがって、半導体処理装置２０１における運用の効率化および処理の最適化を図ることができる。
【０１３８】
また、探索装置３００は、判断部４０４によって予測モデルから得られた予測値に対応する前記加工結果の実測値の方が目標値に近くないと判断された場合、決定部４０７により予測値の存在領域内の予測値および予測値に対応する前記加工結果の実測値を除外データに決定し、設定部４０５により探索領域から除外データと当該除外データが得られた場合に半導体処理装置２０１に与えられた目標値とにより特定される除外領域を除いた残存領域を探索領域に設定する。これにより、目標値に近くない予測値と目標値との組み合わせが存在する除外領域を最新の探索領域から除外することができ、最良解への到達精度の向上を図ることができる。
【０１３９】
また、探索装置３００は、分割部４０８により探索領域を複数の領域に分割し、判断部４０４によって予測値に対応する前記加工結果の実測値の方が目標値に近いと判断された場合、特定部４０３により、予測値を基準値に設定し、予測値の存在領域を複数の分割領域の中から特定する。これにより、予測値の存在領域を容易に特定することができ、探索速度の向上を図ることができる。
【０１４０】
また、探索装置３００は、分割部４０８により探索領域を複数の領域に分割し、生成部４０２により、分割領域内における条件の設定値を半導体処理装置２０１に与えた場合の加工結果の実測値を、分割領域ごとに取得し、生成部４０２により、各分割領域での条件の設定値と加工結果の実測値とに基づいて、予測モデルを生成する。これにより、複数の半導体処理装置２０１を用いることで、実測値を分割領域ごとに並列に取得することができ、予測モデルの生成速度の高速化を図ることができる。
【０１４１】
また、探索装置３００は、判断部４０４によって予測値に対応する前記加工結果の実測値の方が目標値に近くないと判断された場合、決定部４０７により予測値の存在領域内で取得したデータを除外データに決定し、生成部４０２により、実測値から除外データを除いた特定の実測値と、設定値から除外データが得られた場合に半導体処理装置２０１に与えられた設定値を除いた特定の設定値と、に基づいて、予測モデルを生成する。また、目標値に近くない予測値と設定値との組み合わせが存在する除外領域を予測値の候補から除外することができ、予測モデルの精度向上を図ることができる。したがって、生成された予測モデルにより、より良い予測値を得ることができる。
【０１４２】
また、探索装置３００は、検出部４０９により、加工結果の実測値と、所定の出力しきい値と、に基づいて、半導体処理装置２０１の不安定動作を検出し、出力部４０６により、検出部４０９による検出結果を出力する。これにより、探索の継続可否をユーザに促すことができる。
【実施例２】
【０１４３】
本実施例２は、前記実施例１の領域分割に加えて、予測モデルに基づいて実証実験を行って、目標を満たす最適の解を探索する。このため、本実施例２では、実証実験の結果（加工結果）を学習データに加えて予測モデルの更新を、目標を満たすまで繰り返して実施し、さらに、目標を徐々に最終目標へ向けて更新することで最適の解を探索する。半導体製造システムについては、前記実施例１と同様の構成であり、処理の内容については、前記実施例１と相違する部分について説明する。
【０１４４】
＜入力パラメータの探索例＞
図１１は、入力パラメータの探索例を示す説明図である。図１１は、前記実施例１の図１と同様の、半導体処理装置において目標を満たす出力データ（出力パラメータの値）が得られる入力データ（上述した入力パラメータの値）を探索する際の半導体処理装置に対する入力データと出力データとの組み合わせの例を示す。
【０１４５】
本実施例２では、探索装置３００に図中初期データ点（丸印）のパラメータを与えて予測モデルを生成させ、予測モデルによる予測結果を図中第１回予測点（三角印）として算出させる。探索装置３００は半導体処理装置２０１で第１回予測点のデータで、実証実験を実施して、実証実験結果（加工結果）を学習データとして、予測モデルを更新する。
【０１４６】
探索装置３００は、前回の実証実験結果を加えた学習データから予測モデルを更新して、予測モデルによる予測結果を図中第２回予測点（四角印）として算出する。実証実験の結果（加工結果）が目標を満たすまで上記の処理を繰り返すことで、最適の解を探索することができる。
【０１４７】
前記実施例１の図４に示した各機能部は、本実施例２では以下のような機能とする。特定部４０３は、生成部４０２によって生成された予測モデルに、入力部４０１によって入力された目標値を与えることにより、目標値に対応する予測値を予測モデルから複数取得する。そして、特定部４０３は、各予測値を半導体処理装置２０１に設定値として与えた場合の各出力の実測値を、取得する。
【０１４８】
目標値が半導体処理装置２０１の出力パラメータの値である場合、特定部４０３は、予測モデルに当該出力パラメータの値を与えることにより、目標値に対応する予測値として入力パラメータの値を予測モデルから取得する。
【０１４９】
具体的には、たとえば、図１１において、目標値が出力パラメータの値ｙ１２である場合、当該目標値ｙ１２に対応する予測値は、図１１の目標値ｙ１２の等高線により特定される入力パラメータＸ１、Ｘ２の値である。したがって、特定部４０３は、探索領域Ａから目標値ｙ１２の等高線により特定される入力パラメータＸ１、Ｘ２（（ｘ１１，ｘ２１），（ｘ１２，ｘ２１），（ｘ１３，ｘ２１）等）を特定する。
【０１５０】
判断部４０４は、前記実施例１と同様であり、予測値に対応する目標値が、入力部４０１によって入力された加工結果の基準値よりも目標値に近いか否かを判断する。
【０１５１】
設定部４０５は、判断部４０４によって予測値に対応する目標値の方が、加工結果の基準値よりも目標値に近いと判断された場合、予測値および予測値に対応する目標値を条件の基準値および加工結果の基準値に設定する。
【０１５２】
出力部４０６は、前記実施例１と同様であり、予測値が目標値の達成条件を充足した場合に達成条件を充足した予測値を出力する。
【０１５３】
決定部４０７は、判断部４０４によって予測値に対応する目標値の方が、加工結果の基準値よりも目標値に近くないと判断された場合、予測値および予測値に対応する目標値を除外データに決定する（図１３のステップＡ６０１で後述）。除外データとは、予測モデルに与えてはいけない入力パラメータの値である。
【０１５４】
またこの場合、設定部４０５は、決定部４０７によって決定された除外データを除いたデータを学習データに設定する。これにより、生成部４０２は、除外データが存在しない学習データを用いることができる。したがって、解である入力パラメータの値の探索速度の向上を図ることができる。
【０１５５】
また、決定部４０７は、判断部４０４によって予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値の周辺領域を除外領域に決定してもよい（図１３のステップＡ６０２で後述）。除外領域とは、予測モデルが出力してはいけない入力パラメータの値の領域である。更に、予測値の周辺領域に含まれる取得済みのデータを除外データに決定してもよい。
【０１５６】
またこの場合、設定部４０５は、探索領域から決定部４０７によって決定された除外領域を除いた残存領域を探索領域に設定する。これにより、目標値に近くない加工結果しか得られない予測値の範囲を除外して探索領域を絞り込むことができる。したがって、解である入力パラメータの値の探索速度の向上を図ることができる。
【０１５７】
分割部４０８は、前記実施例１と同様であり探索領域を複数の領域に分割する。
【０１５８】
また、決定部４０７は、上述したように、判断部４０４によって予測値に対応する目標値の方が加工結果の基準値よりも前記目標値に近くないと判断された場合、予測値および予測値に対応する目標値を除外データに決定してもよい。この場合、生成部４０２は、前記実施例１の図９と同様に、実測値から除外データを除いた残余の実測値と、設定値から残余の実測値に対応する設定値を除いた残余の設定値と、に基づいて、予測モデルを生成してもよい。これにより、解である入力パラメータの値の探索速度の向上を図ることができる。
【０１５９】
また、決定部４０７は、上述したように、判断部４０４によって予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値の周辺領域を除外領域に決定してもよい。この場合、生成部４０２は、前記実施例１の図６と同様に、探索領域から除外領域を除いた残余の探索領域内の条件の設定値と、当該設定値を半導体処理装置２０１に与えた場合の出力の実測値と、に基づいて、予測モデルを生成してもよい。これにより、解である入力パラメータの値の探索速度の向上を図ることができる。
【０１６０】
検出部４０９は、前記実施例１と同様であり、半導体処理装置２０１の出力と、所定の出力しきい値と、に基づいて、半導体処理装置２０１の不安定動作を検出する。
【０１６１】
＜半導体処理装置２０１の制御処理手順例＞
図１２は、本実施例２における半導体処理装置２０１の制御処理手順例を示すフローチャートである。図中ステップＡ５０１〜Ａ５０４は、前記実施例１の図５のステップＳ５０１〜Ｓ５０４と同様である。探索装置３００は、目標とする半導体処理装置２０１からの出力値（出力パラメータの目標値）、および探索設定の入力を受け付ける（ステップＡ５０１）。
【０１６２】
つぎに、探索装置３００は、ベースとなる解の入力およびその解に関する情報の入力を受け付ける（ステップＡ５０２）。
【０１６３】
つぎに、探索装置３００は、ステップＡ５０２で入力された最良の解を最良解ＯＳ１として保存する（ステップＡ５０３）。解が無い場合には、解から最も遠いことを示す記号または値が設定される。
【０１６４】
つぎに、探索装置３００は、基本探索領域を探索領域として設定する（ステップＡ５０４）。
【０１６５】
たとえば、図１１において、入力パラメータの種類としてＸ１、Ｘ２の２つの入力パラメータが選択された場合、入力パラメータＸ１の制御範囲を［ｘ１１，ｘ１ｎ］、入力パラメータＸ２の制御範囲を［ｘ２１，ｘ２ｎ］とすれば、図１１に示した全範囲の領域Ａが探索領域となる。
【０１６６】
ステップＡ５０１〜Ａ５０４の目標設定コントローラ２６１の入力および設定内容は、自律探索システム２６２へ渡され、次に説明するステップＡ５０５〜Ａ５０９の手順によって自動探索、もしくは探索実行や継続の可否をエンジニアが指示する形の半自動探索が実行される。
【０１６７】
探索装置３００は、目標（目標出力）を満たす解（入力パラメータ）を予測するための予測モデルを生成する（ステップＡ５０５）。具体的には、たとえば、探索装置３００は、ステップＡ５０５でデータベース２０５に保存されたデータ（例えば、初期データ）を用いて、半導体処理装置２０１の入出力データの関係を示す関数を予測モデルとして生成する。入出力データとは、半導体処理装置２０１に与えられる入力パラメータの値（入力データ）と半導体処理装置２０１から得られる出力パラメータの値（出力データ）の組である。なお、入出力データの関係を解析する方法としては、前記実施例１と同様であり、ニューラルネットワーク、サポートベクター回帰、カーネル法を用いた回帰等の多入力多出力に応対可能な回帰分析を使用できる。また、相関分析、主成分分析、重回帰分析等の統計解析が使用できる。
【０１６８】
予測モデルの生成において、出力データとして、たとえば、半導体処理装置２０１の加工結果に対する間接的な計測値を取得するセンサデータおよびモニタデータが用いられる。出力データの取得頻度が探索設定で規定した頻度よりも低い、または、探索設定で規定した取得時間よりも長く、探索によって取得できる出力データ数が、探索設定で規定した出力データ数よりも少なくなる場合がある。この場合には、探索設定で規定した出力データの取得数と比較して多くのデータ数が取得可能なセンサデータおよびモニタデータを取得すればよい。これにより、出力データに対するセンサデータおよびモニタデータの関係や、センサデータおよびモニタデータに対する入力データの関係を解析することができる。また、これらの両方の解析結果を用いることで、出力データに対する入力データの関係を求めることができる。
【０１６９】
また、予測モデルの生成において、処理対象の一部を断片として取出し、その断片をモニタシステム２０３へ運搬することで計測結果（加工結果）を取得し、その結果としてデータベース２０５に保存されたデータを、出力結果として用いることもできる。その際、処理対象の断片化及びデータ取得のために必要な時間がランダム、または長時間となる場合には、半導体処理装置２０１からの出力データ（出力パラメータの値）の取得時間の上限を十分に長い時間とすれば良い。もしくは、出力データの取得時間の上限を設定せずに、取得終了の信号を別途、探索装置３００へ送信することで、処理を継続することができる。
【０１７０】
つぎに、探索装置３００は、生成された予測モデルを用いて、目的の解が得られる、もしくは目的の解に近い加工結果を得るためのパラメータを予測し、予測結果として保存する（ステップＡ５０６）。
【０１７１】
たとえば、図１１において、入力パラメータの種類としてＸ１、Ｘ２の２つの入力パラメータが選択された場合において、解析モデルを作成するためのデータとして、図１１中の初期データ（Ａ１〜Ａ９）が与えられた場合を用いて、予測結果の出力について説明する。また、この際の目標は、出力パラメータｙが最も大きくなる入力パラメータＸ１、Ｘ２を探索することである。
【０１７２】
探索装置３００は、初期データを用いて、その入出力関係を求める回帰モデルを予測モデルとして生成する。前述した通り、入力パラメータＸ１の制御範囲を［ｘ１１，ｘ１ｎ］、入力パラメータＸ２の制御範囲を［ｘ２１，ｘ２ｎ］に分割すると、グラフ１００の領域数は、ｎ２となる。Ｘ１、Ｘ２を１６分割する場合では、領域数はｎ２＝２５６となる。図１１では、初期データ数は９点のため、全領域の約３.５％のデータが取得されていることになる。
【０１７３】
従って、グラフ１００に示したＹの正確な分布を知ることはできないため、予測モデルから得られる、予測結果として、最良解ｙ１が得られるＸ１およびＸ２の組合せ（ｘ１５，ｘ２１０）を一回の予測で探索することは極めて難しい。また、前述した通り、入力パラメータ空間が、多次元ベクトル化して広大となった場合に、より最良解の探索が困難となる。
【０１７４】
一回の予測で最良解を探索するためには、探索空間内の全領域を網羅するデータを取得し、解析する必要があるが、前述した通り、パラメータ数の増加に従い、パラメータの組合せが膨大となるため、全領域の探索は探索時間が膨大となり、実施することが極めて困難となる。
【０１７５】
これらの問題を回避しながら、効率良く解を探索するためには、（ａ）モデル作成用データの取得、（ｂ）予測モデルの作成、（ｃ）予測結果の取得、（ｄ）予測結果の実証実験を行い、更に（ａ’）実証実検データをモデル作成用データへ追加することで、予測と検証を繰り返せば良い。すなわち、図１１中の初期データを用いて、（ａ）〜（ｄ）を行い、図１１中の第１回予測データ（＝実証データ）をモデル作成用データとしてデータベース２０５へ追加し、（ｂ）、（ｃ）、（ｄ）を繰返し、更に、（ａ’）〜（ｄ）を繰り返し続ければ良い。
【０１７６】
これらの（ａ）、（ｂ）、（ｃ）、（ｄ）は、図１２の、Ａ５０２、Ａ５０５、Ａ５０６、Ａ５０７のそれぞれのステップに対応する。また（ａ’）はステップＡ５０８に対応する。
【０１７７】
具体的には、たとえば、探索装置３００は、予測条件を探索条件として、自律探索により、各探索条件における半導体処理装置２０１の入出力データを実証実検結果、すなわち探索結果として取得する。
【０１７８】
具体的には、たとえば、探索装置３００は、分割領域ごとに、探索条件を満たす入力パラメータの値を選択し、選択した入力パラメータの値を半導体処理装置２０１に与える。そして、探索装置３００は、半導体処理装置２０１からの出力データ（出力パラメータの値）を取得する。この入力パラメータの値と、当該値に対応する出力パラメータの値と、の組み合わせが、探索結果である。
【０１７９】
またこの場合、不安定動作検出システム２６３は、自律探索実行時において、半導体処理装置２０１が処理動作を継続可能ではあるが、半導体処理装置２０１の処理が不安定になる場合を検出する。不安定動作が検出された場合には、処理完了後に半導体処理装置２０１を定常動作状態へ復旧するためのシーケンスを実施するか、処理を直ちに停止し半導体処理装置２０１を定常動作状態へ復旧するためのシーケンスを実行することで、目標設定コントローラ２６１による自律探索を継続する。
【０１８０】
探索装置３００は、探索結果をデータベース２０５に保存する（ステップＡ５０８）。具体的には、たとえば、探索装置３００は、自律探索（ステップＡ５０７）で用いられた入力パラメータの値と、当該入力パラメータの値を用いて取得された半導体処理装置２０１の出力パラメータの値と、の組である入出力データを、探索結果としてデータベース２０５に保存する。
【０１８１】
ステップＡ５０６の１度に予測する点数が１点以上あれば、上記（ａ）または（ａ’）〜（ｄ）を繰返すことが可能である。ただし、予測点数が１点の場合には、最終的な最適解に到達するまでに、モデルから予測される局所解を一つずつ経由することになり、局所解が多くなるほど探索が長期化する。
【０１８２】
また、実証実験における１点のデータ取得に必要な時間に対し、予測モデル作成と予測結果の出力の合計時間が長い場合には、予測点数を１点とすると、予測結果が出力されるまで半導体処理装置２０１は待機状態となる。前述した（‘ａ）〜（ｄ）を繰返す度にこの待機時間が発生するため、探索が長期化する。
【０１８３】
従って、予測データ点を複数求めておくことで、予測モデル作成および予測結果の出力中に実証実験を進めることが可能となり、探索を効率化することができる。
【０１８４】
また、予測データを複数点とすることで、より広範囲な探索領域を考慮した際の最良解が得られるため、最終的な最適解となる可能性が低い局所解を避けながら、効率良く探索を進めることができる。
【０１８５】
ステップＡ５０７およびＡ５０８にて取得されるデータは、今まで未取得の新しいデータであるため、本データをエンジニアへ提供することで、エンジニアが行う解析および結果の把握を支援することができる。
【０１８６】
そのため、エンジニアが要求するデータの更新速度、すなわちデータを更新すべき時間幅がある場合には、その時間幅に合わせてステップＡ５０７の探索時間を設定することが望ましい。エンジニアが要求するデータを更新すべき時間とは、例えば２４時間、８時間、１時間、３０分等である。
【０１８７】
よって、エンジニアのデータ更新要求時間に合わせて、ステップＡ５０６の予測結果の出力数、即ち予測データ数を増やすことができる。例えば、エンジニアが１時間毎のデータ更新を要求しており、１回の探索に１０分を要する場合には、それに合わせて、予測データ点数を６点とすることが望ましい。
【０１８８】
これにより、図１２の探索およびエンジニアの解析を効率良く進めることができる。  ステップＡ５０５の予測モデルの作成では、予測モデル作成で採用した解析手法、例えば、ニューラルネットワーク、サポートベクター回帰、カーネル法を用いた回帰手法に依存した予測モデルが作成される。各種解析モデルは、入出力データの種類、それらデータが持つ分布特性、データ数に対して、モデル毎に得手不得手があり、予測精度が上下する。そのため、単一の予測エンジンを用いた場合には、その予測エンジンが取得した入出力データに不適切な場合があり、探索時間が長期化する。従って、複数の種類の予測モデル（予測エンジン）を用いて、複数の予測データを求めることで、多様な入出力データに対応しながら、より良い予測結果を出力できる可能性を高めることができる。
【０１８９】
尚、予測結果として出力されたデータに対応する実証実験データが取得済みの場合には、そのデータの実証実験を行わないことで、探索を効率化することができる。
【０１９０】
つぎに、取得したデータから最良解ＯＳ２を特定し、特定した最良解ＯＳ２をデータベース２０５に保存する（ステップＡ５０９）。
【０１９１】
ステップＡ５０５からＡ５０９の処理は、２通りの方法がある。１つは、予測モデルに、ステップＳ５０１で与えられた出力パラメータの目標値を与える方法（第１の推定方法）である。
【０１９２】
第１の推定方法では、具体的には、たとえば、探索装置３００は、ステップＡ５０５で得られた予測モデルに、ステップＡ５０１で与えられた出力パラメータの目標値を代入することで、出力パラメータの目標値を満たす解となる入力データ（入力パラメータの値）を推定する。
【０１９３】
探索装置３００は、ステップＡ５０７において、予測された入力データの実証実験を行い、その結果取得された出力データをステップＡ５０８にてデータベース２０５へ保存する。
【０１９４】
ステップＡ５０９において、探索装置３００は、取得済みの出力データより目標値と等しい出力データが取得出来た入力パラメータと、出力データと目標値の差または乖離が許容値（Ｓ５０１で与えられた許容値）より小さい出力データが取得できた入力パラメータ、または目標値に最も近い出力データが取得出来た入力パラメータを特定し、これら入力パラメータのうち、最も目標値に近いものを最良解ＯＳ２に決定する。
【０１９５】
第１の推定方法では、出力パラメータの目標値が得られる入力パラメータを一意に求めることができる、予測モデルを用いる。この場合、予測結果は１データとなる。
【０１９６】
予測点の数を増やすためには、出力パラメータの目標値の許容範囲における上限値、下限値、目標値と上限値の中間値、目標値と上限値の間を均等分割した際の値、目標値と下限値の中間値、目標値と下限値の間を均等分割した際の値を、予測モデルへ与えれば良い。加えて、前述した通り、複数の予測モデルを用いることで、予測点数を増加させることができる。
【０１９７】
上記の例の場合、図１１中の初期データを用いて予測モデルを作成し、予測モデルに目標値としてｙ１を与え、予測を行い、実証実験において取得した出力データが、予測モデルが示した図１１と同様だった場合において、第１回予測点の出力データとして、（ｘ１６，ｘ２１１(図11のデータ(I))）を取得した場合には、それまでに取得した出力データで最良となる、ｙ５が得られた入力パラメータ（ｘ１６，ｘ２１１）が最良解ＯＳ２となる。
【０１９８】
もう１つのステップＡ５０５からＡ５０９の処理は、予測モデルにステップＡ５０１で与えられた出力パラメータの目標値を代入することでは、出力パラメータの目標値を満たす解となる入力パラメータを直接求められない場合に適用できる方法である（第２の推定方法）。
【０１９９】
予測モデルに一度に与える入力パラメータを一組として、予測モデルに、多数の入力パラメータの組を与え、推定出力パラメータを計算し、最も目標出力に近い加工結果が得られる入力パラメータの組を取得する方法である。予測モデルを作成した後、例えば、図１１に示すように、グラフ１００の探索領域をＡ１〜Ａ９等に分割し、各分割領域に含まれる入力パラメータの組を、分割領域毎に１つ以上作成し、これを予測モデルに与えることで、その際の出力パラメータを計算することができる。分割領域毎の代表的な推定出力を得る方法としては、分割領域に含まれる入力パラメータの組として、分割領域内の中心座標となる値を用いることができる。
【０２００】
極めて多数の入力パラメータの組を予測モデルに与えて推定出力を計算する場合において、計算時間が膨大になる場合には、式（１．１）〜式（１．３）を用いて述べた通り、予測モデルに与える入力パラメータの中心条件を決定し、その中心条件から変更可能な入力パラメータの種類を制限することで、計算時間を抑制することができる。また、中心条件から一度に変更可能なパラメータの数を制限することで、計算時間を抑制することができる。これにより、予測モデルに与える入力パラメータの組の数を削減しながら、目標出力により近い加工結果が得られる入力パラメータを得ることができる。中心条件を設定する際には、過去の探索結果またはエンジニアの知識を利用することができる。または、全探索領域の中心座標を中心条件とすることができる。
【０２０１】
第２の推定方法では、具体的には、探索装置３００は、ステップＡ５０６で得られた予測モデルに、入力パラメータの組の値を代入することで、予測値となる出力パラメータの値を取得する。たとえば、図１１の初期データを用いて予測モデルを作成し、予測モデルへ入力パラメータの値として、（ｘ１１，ｘ２１），（ｘ１１，ｘ２２），（ｘ１１，ｘ２３），（ｘ１２，ｘ２１），（ｘ１２，ｘ２２），（ｘ１２，ｘ２３），（ｘ１３，ｘ２１），（ｘ１３，ｘ２２），（ｘ１３，ｘ２３），（ｘ１ｎ，ｘ２１），（ｘ１ｎ，ｘ２２），（ｘ１ｎ，ｘ２３）が与えられると、各入力パラメータに対応する推定出力パラメータを得ることができる。
【０２０２】
これらの推定出力パラメータの内、推定出力データと目標値の差または乖離が許容値（Ｓ５０１で与えられた許容値）より小さい出力データが取得できた入力パラメータ、または目標値に最も近い推定出力データが取得出来た入力パラメータを特定し、これらの推定出力データおよび入力パラメータを予測結果として保存する。
【０２０３】
図１１の第１回予測点は、初期データを用いて予測モデルを作成し、目標値をｙ１として、ｙ６以上を許容値とした際の、予測結果の例である。この例では、非常に少ない数の初期データから予測を行っているため、ｙ６以上の値となると予測された各点は、図１１に示された実際の出力値とは異なっている。
【０２０４】
つぎに、第１回予測点の実際のデータが取得される。そして、初期データおよび第１回予測点の出力データを用いて、予測モデルが更新される。更新された予測モデルによる予測結果の例が図１１中の第２回予測点である。第１回予測結果の出力データに含まれる、最良解は出力ｙ５が得られた（ｘ１６，ｘ２１１）である。それに対して、初期データに第１回予測および予測点の実証実験データ(出力データ)を追加することで、第２回予測および予測点の実証実験データでは、目標のｙ１により近い出力結果である、（ｘ１４，ｘ２１０(図11のデータ(II))）が得られている。
【０２０５】
上記を繰返すことにより、目標値である出力ｙ１を満たす入力パラメータを得ることができる。また、目標となる結果を得るまでに必要となるデータ数を抑えることで、効率良く探索ができる。
【０２０６】
そして、ステップＡ５０９において、探索装置３００は、たとえば、出力パラメータの目標値から最も近い出力パラメータの値が得られた入力パラメータの値を最良解ＯＳ２に決定する。なお、第１の推定方法および第２の推定方法のうち、いずれを適用するかはあらかじめ設定される。
【０２０７】
探索装置３００は、最良解ＯＳ２の値は最良解ＯＳ１の値より目標に近い出力パラメータが得られる解であるか否かを判断する（ステップＡ５１０）。そして、最良解ＯＳ２の値は最良解ＯＳ１の値より目標に近い出力パラメータが得られる解である場合（ステップＡ５１０：Ｙｅｓ）、ステップＡ５１１に移行し、そうでない場合（ステップＡ５１０：Ｎｏ）、ステップＡ６０１（図１３）に移行する。
【０２０８】
探索装置３００は、最良解ＯＳ２の値は最良解ＯＳ１の値より目標に近い出力パラメータが得られる解であるか否かを判断する（ステップＡ５１０）。そして、最良解ＯＳ２の値は最良解ＯＳ１の値より目標に近い出力パラメータが得られる解である場合（ステップＡ５１０：Ｙｅｓ）、ステップＡ５１１に移行し、そうでない場合（ステップＡ５１０：Ｎｏ）、ステップＡ６０１（図１３）に移行する。
【０２０９】
ステップＡ５１０：Ｙｅｓの場合、探索装置３００は、最良解ＯＳ２を最良解ＯＳ１に設定することで、最良解ＯＳ１を更新する（ステップＡ５１１）。
【０２１０】
このあと、探索装置３００は、現在の目標が達成されたか否かを判断する（ステップＡ５１０）。現在の目標が達成された場合（ステップＡ５１２：Ｙｅｓ）、探索装置３００は、ステップＡ５１３へ移行し、最終の目標が達成されたかを判断する。一方、現在の目標が達成されていない場合（ステップＡ５１２：Ｎｏ）、ステップＡ５０５に移行する。
【０２１１】
このあと、探索装置３００は、最終の目標が達成されたか否かを判断する（ステップＡ５１３）。最終の目標が達成された場合（ステップＡ５１３：Ｙｅｓ）、探索装置３００は、制御処理を終了する。一方、目標が達成されていない場合（ステップＡ５１３：Ｎｏ）、ステップＡ５１４に移行し、目標の更新を行う。
【０２１２】
ステップＡ５１２では、具体的には、たとえば、更新後の最良解ＯＳ１に対応する出力パラメータが現在の目標値と等しいまたは現在の目標値との差が許容範囲内である場合、探索装置３００は、現在の目標を達成したと判断する（ステップＡ５１２：Ｙｅｓ）。また、更新後の最良解ＯＳ１に対応する出力パラメータが現在の目標値と等しいまたは現在の目標値との差が許容範囲内でなくても、ステップＡ５０１で設定した探索時間が経過した場合、目標を達成したと判断する（ステップＡ５１２：Ｙｅｓ）。一方、更新後の最良解ＯＳ１に対応する出力パラメータが現在の目標値と等しいまたは現在の目標値との差が許容範囲内でなく、かつ、ステップＡ５０１で設定した探索時間が経過していない場合、目標未達成と判断する（ステップＡ５１２：Ｎｏ）。
【０２１３】
ステップＡ５１３では、具体的には、たとえば、更新後の最良解ＯＳ１に対応する出力パラメータが最終の目標値と等しいまたは最終の目標値との差が許容範囲内である場合、探索装置３００は、最終の目標を達成したと判断する（ステップＡ５１３：Ｙｅｓ）。また、更新後の最良解ＯＳ１に対応する出力パラメータが最終の目標値と等しいまたは最終の目標値との差が許容範囲内でなくても、ステップＡ５０１で設定した探索時間が経過した場合、目標を達成したと判断する（ステップＡ５１３：Ｙｅｓ）。一方、更新後の最良解ＯＳ１に対応する出力パラメータが最終の目標値と等しいまたは最終の目標値との差が許容範囲内でなく、かつ、ステップＡ５０１で設定した探索時間が経過していない場合、目標未達成と判断する（ステップＡ５１３：Ｎｏ）。
【０２１４】
ステップＡ５１４では目標値、探索結果と目標値との差、または乖離の許容値の更新を行う。Ａ５０５からＡ５１２までの処理を進める際に、最初から最終的な目標を与える場合や、探索結果と目標値との差、または乖離の許容値として、非常に小さな値を与えた場合には、より良い最良解ＯＳ２の難易度が上昇し、解が発見できない可能性がある。これを避けるために、探索の初期段階では、最終目標とは別の目標を現在の目標として与えることができる。その現在の目標が達成され、かつ最終目標が満たされない場合（ステップＡ５１３：Ｎｏ）、ステップＡ５１４において、目標値を段階的に最終目標値に近付けることで、最終的な目標を達成する解を発見できる可能性を高めることができる。
【０２１５】
また、現在の目標として、探索結果と目標値との差、または乖離の許容値として大きな値を与え、その現在の目標が達成され、かつ最終目標が満たされない場合（ステップＡ５１３：Ｎｏ）、目標値を段階的に最終目標値に近付けることで、最終的な目標を達成する解を発見できる可能性を高めることができる。
【０２１６】
初期目標から最終目標への段階的な更新方法としては、初期目標と最終目標の間となる値を持った目標値を複数準備し、最初の現在の目標として、初期目標を与え、現在の目標が達成される毎に、最終目標へ近付く目標値を、現在の目標値として、更新すれば良い。もしくは、最初の現在の目標として、初期目標を与え、一定割合で徐々に最終目標へ近付くように目標値を複数準備し、それを用いることもできる。
【０２１７】
尚、上記データでは初期データが取得済みである場合について説明したが、初期データが無い場合には、前記実施例１の領域分割方法を用いて、初期データを取得することができる。または、実験計画法を用いて、初期データ取得用の条件を決定し、初期データを取得することもできる。領域分割方法とは、即ち、基本探索領域を設定し、探索領域を分割し、分割領域毎に自律探索を実施する各ステップを含む、前記実施例１の図５におけるステップＳ５０１〜ステップＳ５０７の処理方法である。
【０２１８】
図１３は、半導体処理装置２０１の制御処理手順例を示すフローチャートである。探索装置３００は、図１２のステップＡ５１０の判断結果がＮｏの場合には、図１３のＡ６０１へ移行する。ステップＡ６０１では、ステップＡ５０５までに得られたデータについて、最良解ＯＳ１、または最良解ＯＳ１が更新されるまでに得たデータを除外データに決定する。
【０２１９】
最良解ＯＳ１の更新は、具体的には、例えば、図１１の第１回予測データ点まで得た時点でのＯＳ１が、第２回予測データ点のデータ取得によって、新たな最良解ＯＳ１が設定されることである。この例の場合には、最良解ＯＳ１が更新されるまでに得たデータは、第２回予測データ点であり、ステップＡ６０１において、除外データに決定される。
【０２２０】
尚、以下では、最良解ＯＳ１を除外データの対象とする場合について説明する。ステップＡ６０１では、具体的には、たとえば、探索装置３００は、最良解ＯＳ１の入力データ（入力パラメータの値）をおよび出力データ（出力パラメータ）を除外データに決定する。除外データは、今後の処理で除外される可能性のあるデータである。
【０２２１】
つぎに、探索装置３００は、ステップＡ６０１にて決定された除外データの周辺領域を除外領域に決定する（ステップＡ６０２）。除外領域は、今後の処理で除外される可能性のある領域である。
【０２２２】
以下、ステップＡ６０１での説明に同様に、最良解ＯＳ１を除外データの対象とする場合について説明する。
【０２２３】
除外データの周辺領域の決定方法としては、最良解ＯＳ１の各パラメータから所定の割合を変化させた値を用いることができる。即ち、たとえば、変化させる割合を１％とすると最良解ＯＳ１の各パラメータ±１％であり、また±５％とすると、最良解ＯＳ１の各パラメータ±５％とすれば良い。また、最良解ＯＳ１の各パラメータ毎にこの割合を設定しても良い。また、割合の設定方法としては、各パラメータが取りうる値の範囲に対する割合を用いることもできる。即ち、最良解ＯＳ１のパラメータＡの取りうる範囲が０〜２００であり、変化させる割合を３％として、最良解ＯＳ１のパラメータＡの値が１５０の場合には、１５０±６が最良解ＯＳ１のパラメータＡの除外領域となる。
【０２２４】
探索装置３００は、ステップＡ６０２のあと、ステップＡ６０１で決定された除外データを除外するか否かを判断する（ステップＡ６０３）。除外する場合（ステップＡ６０３：Ｙｅｓ）、ステップＡ６０４に移行し、除外しない場合（ステップＡ６０３：Ｎｏ）、ステップＡ６０５に移行する。
【０２２５】
ステップＡ６０３では、具体的には、たとえば、探索装置３００は、ユーザからの除外指示入力の有無により、除外データを除外するか否かを判断する。また、探索装置３００は、強制的に除外データを除外してもよい（ステップＡ６０３：Ｙｅｓ）。
【０２２６】
探索装置３００は、ステップＡ６０３のあと、探索装置３００は、ステップＡ６０２で決定された除外領域中のデータを除外するか否かを判断する（ステップＡ６０４）。除外する場合（ステップＡ６０４：Ｙｅｓ）、除外しない場合（ステップＡ６０４：Ｎｏ）、を決定した後、ステップＡ５０５に移行する。
【０２２７】
ステップＳＡ６０４では、具体的には、たとえば、探索装置３００は、ユーザからの除外指示入力の有無により、除外領域内のデータを除外するか否かを判断する。また、探索装置３００は、強制的に除外領域内のデータを除外してもよい（ステップＳ８０３：Ｙｅｓ）。
【０２２８】
探索装置３００は、ステップＡ６０３において除外領域の解を、解より除外して解析しない場合（ステップＡ６０３：Ｎｏ）には、ステップＡ６０５へ移行し、ステップＡ６０５において、除外領域中のデータを除外した後、ステップＡ５０５に移行する。
【０２２９】
また、ステップＡ６０１には、前記実施例１の図６、図７および図８の領域分割方法を用いた除外データおよび除外領域の指定方法を用いることができる。前記実施例１の図５〜図８のフローチャート内の「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」は、「Ａ」がステップＡ６０１：Ｎｏに対応し、「Ｂ」および「Ｃ」がステップＡ６０４およびステップＡ６０５からステップＡ５０５に対応し、「Ｄ」がステップＡ５１１からステップＡ５１２の各フローチャートに対応する。
【０２３０】
本制御処理において、データの解析、保存、転送等の規模が大きくなり、その実行時間が１条件を探索する時間より長くなる場合には、それらの実行と並列して探索を継続することが可能である。その際には、探索条件において変更する入力パラメータ数、同時に変更する入力パラメータ数、探索領域の分割数のうち１つ以上を増加させる。これにより、探索条件数を増加させ、この条件を探索することで、解析等を実行する時間を利用して探索結果を増加させることができる。特に、データの解析に必要な時間は数分から数時間以上になる場合があり、その解析中に探索を継続することで、探索速度を向上させることができる。
【０２３１】
＜半導体処理装置２０１の制御処理の適用例１＞
つぎに、半導体デバイスの量産前における半導体処理装置２０１のメンテナンスにおいて、半導体処理装置２０１の装置差を補正するための制御処理の適用例を示す。ここでは機差抑制の手順を説明する例として、半導体処理装置２０１を、放電処理を行うエッチング装置とした。また、ここでは放電処理を実行する際の入力パラメータをレシピと称する。放電処理を行うエッチング装置では、補正対象となる出力として、処理結果または処理に用いる放電の特性が挙げられる。補正の方法としては、基準となるエッチング装置と同一の出力が得られるように他のエッチング装置を補正する方法、または複数のエッチング装置の出力が均一となるように補正する方法がある。
【０２３２】
機差抑制方法については、前記実施例１の図９と同様であり、探索装置３００は、メンテナンス後放電データ取得を開始する。
【０２３３】
まず、探索装置３００は、基本的な放電処理を行うためのレシピを用いて基準レシピ放電を行い、その際の入出力データを取得する。また、量産で用いられるレシピによる放電を行い、その際の出力データ（出力パラメータの値）を取得する（図９のステップＳ９０１）。ステップＳ９０１は、ステップＡ５０１〜Ａ５０４に対応する処理である。
【０２３４】
基準レシピ放電では、前記実施例１の図９と同様にして領域分割方法を用いてレシピを設定し、その際の入出力データを取得することができる。または、実験計画法を用いてレシピを設定し、その際の入出力データを取得することができる。
【０２３５】
つぎに、探索装置３００は、装置差補正レシピの候補を予測する（図９のステップＳ９０２）。ステップＳ９０２は、本実施例２のステップＡ５０５〜Ａ５０６に対応する処理である。
【０２３６】
そして、探索装置３００は、ステップＳ９０２で予測した装置差補正レシピを用いて、実証実験を兼ねた装置差補正を実行する（図９のステップＳ９０３）。ステップＳ９０３は、ステップＡ５０７〜Ａ５１１、図１３の処理に対応する処理である。補正目標を達成していない場合（ステップＳ９０４：Ｎｏ）、ステップＳ９０２に戻り、補正目標を達成した場合（ステップＳ９０４：Ｙｅｓ）、処理を終了する。ステップＳ９０４は、ステップＡ５１２およびＡ５１３に対応する処理である。
【０２３７】
なお、同一のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させてもよい。その際には、図９の手順によって装置差が補正された複数のエッチング装置を使用することで、目標を満たす解が探索できる可能性を高めることができる。更に、探索された解をそれらの複数の装置に展開し補正を行うことが可能となる。
【０２３８】
このように、半導体処理装置２０１のメンテナンス後に探索装置３００による探索方法を実行することにより、半導体処理装置２０１の出力パラメータの値を基準となる出力パラメータの値へ近付けることができる（自動機差補正機能）。
【０２３９】
＜半導体処理装置２０１の制御処理の適用例２＞
つぎに、半導体デバイスの量産処理において、経時変化を補正するための制御処理は、前記実施例１の図１０と同様である。
【０２４０】
本実施例２では、前記実施例１の図９と同様に、経時変化を補正する手順を説明する例として、半導体処理装置２０１を、処理に放電を使用するエッチング装置とした。量産前放電データ取得では、量産中の経時変化の補正を行うために、探索装置３００は、まず基本的な放電処理を行うための基準レシピをエッチング装置に与えて基準レシピ放電を行い、その際の出力データ（出力パラメータの値）を取得する（ステップＳ１０１１）。ステップＳ１０１１は、ステップＡ５０１〜Ａ５０４に対応する処理である。
【０２４１】
基準レシピ放電では、前記実施例１の領域分割方法を用いてレシピを設定し、その際の入出力データを取得することができる。または、実験計画法を用いてレシピを設定し、その際の入出力データを取得することができる。
【０２４２】
つぎに、探索装置３００は、装置差補正候補レシピを予測する（ステップＳ１０１２）。ステップＳ１０１２では、過去の量産時の入出力データの解析結果より、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータが用いられる。そして、探索装置３００は、量産開始前のエッチング装置において、これらの経時変化を予想できるデータを経時変化後の値にまで変動させるための装置差補正候補レシピの予測を実行する。ステップＳ１０１２は、ステップＡ５０５〜Ａ５０６に対応する処理である。
【０２４３】
つぎに、探索装置３００は、ステップＳ１０１２で予測した装置差補正レシピを用いて、実証実験を兼ねた装置差補正を実行する（ステップＳ１０１３）。
【０２４４】
ステップＳ１０１３では、探索装置３００は、経時変化が発生していない状態にて用いる基本の量産用レシピとステップＳ１０１２で探索された装置差補正候補レシピとを比較して、装置差補正候補レシピで変更された入力パラメータを明らかにする。これにより、量産前の段階で、補正対象の入力パラメータと出力パラメータとの関係を説明する関数を生成することが可能となり、またその関係より補正候補となるレシピを生成することができる。ステップＳ１０１３は、ステップＡ５０７〜Ａ５１１、図１３の処理に対応する処理である。このあと、量産処理が開始される。
【０２４５】
ステップＳ１０１３のあと、半導体デバイスの量産処理が開始されると、ウェハが処理室に導入され（ステップＳ１０２１）、エッチング装置が、ウェハをエッチングする（ステップＳ１０２２）。エッチング（ステップＳ１０２２）は、１ステップまたは複数ステップから構成される。エッチング（ステップＳ１０２２）が複数ステップの場合、各ステップのエッチングは、放電条件を変更して実行される。エッチング（ステップＳ１０２２）の完了後に、ウェハは、処理室外へ搬出される（ステップＳ１０２３）。そして、エッチング中に発生し処理室表面に堆積した反応性生物を除去するため、プラズマクリーニングが実施される（ステップＳ１０２４）。次のウェハがあれば（ステップＳ１０２５：Ｙｅｓ）、ステップＳ１０２１に戻り、次のウェハがなければ（ステップＳ１０２５：Ｎｏ）、量産後放電データ取得に移行する。
【０２４６】
量産中のエッチング装置の入出力データは、データベース２０５に保存され、探索装置３００は、並列して入出力データをリアルタイムで解析し続ける。これにより、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータの推定を量産中に継続することが可能である。また、探索装置３００は、同一の量産処理を実行する複数のエッチング装置の入出力データを集約することで、データ数を増加させることができる。
【０２４７】
量産後または量産開始から指定した時間が経過した際に放電データを取得した場合、探索装置３００は、経時変化を補正するレシピの候補を予測する（ステップＳ１０３１）。具体的には、たとえば、探索装置３００は、ステップＳ１０１１、Ｓ１０１２で取得したデータ、解析された入出力データの関係、および補正候補レシピをステップＡ５０２の入力として使用し、経時変化補正レシピの候補を予測する。ステップＳ１０３１は、ステップＡ５０５〜Ａ５０６に対応する処理である。
【０２４８】
そして、探索装置３００は、ステップ１０３１で予測した経時補正レシピを用いて、実証実験を兼ねた補正の実行、即ち補正結果の検証を行う（ステップＳ１０３２）。ステップＳ１０３２は、ステップＡ５０７〜Ａ５１１、図１３の処理に対応する処理である。
【０２４９】
また、ステップＳ１０３１、Ｓ１０３２の実行前に、探索装置３００は、半導体デバイスの量産中に取得した出力データを解析し、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータを推定し、ステップＳ１０１２を実行してもよい。これにより、補正対象の入力パラメータと出力パラメータとの関係を説明する関数を生成し、またその関係より補正候補となるレシピを生成することができる。これらの結果を、ステップＳ５０２で用いることで、探索装置３００は、ステップＳ１０３１、Ｓ１０３２を実行することができる。
【０２５０】
さらに、上記処理におけるステップＡ５０２の入力としては、エンジニアの知識を用いて、補正に頻繁に用いられる入力パラメータを変更したレシピ、およびそのレシピを用いて放電した際の入出力データとその解析結果を用いてもよい。
【０２５１】
そして、補正目標を達成していない場合（ステップＳ１０３３：Ｎｏ）、ステップＳ１０３１に戻り、補正目標を達成した場合（ステップＳ１０３３：Ｙｅｓ）、処理を終了する。ステップＳ１０３３は、ステップＡ５１２およびＡ５１３に対応する処理である。図１０に示した探索を実行する際には、同一の量産処理を実施した量産後のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させることができる。更に、探索された解（入力パラメータ）は、同一の量産処理を実行する複数のエッチング装置に展開し補正を実行することが可能である。
【０２５２】
このように、半導体の量産後において探索装置３００による探索方法を実行することにより、量産中の半導体処理装置２０１の出力パラメータの値の経時変化を補正することができる（自動経時変化補正機能）。
【０２５３】
＜半導体処理装置２０１の制御処理の適用例３＞
つぎに、半導体デバイスの処理において、加工形状を最適化するための制御処理の適用例を示す。
【０２５４】
図１４は、加工形状の最適化方法の概要を示すフローチャートである。図１４では、図１０と同様に、半導体処理装置２０１の例を、処理に放電を使用するエッチング装置とした。
【０２５５】
また、加工形状の最適化における入出力データの例として、装置の入力データをレシピ、出力データを加工形状データとして説明する。
【０２５６】
まず、探索装置３００は、加工対象膜をエッチング可能な基本的なレシピを用いてエッチングを行い、その際の入出力データを初期データとして取得する（ステップＡ９０１）。ステップＡ９０１は、図１２に示したステップＡ５０１〜Ａ５０４に対応する処理である。
【０２５７】
上記の初期データ取得では、前記実施例１と同様の領域分割方法を用いてレシピを設定し、そのレシピを用いてエッチングした際の入出力データを取得することができる。または、実験計画法を用いてレシピを設定し、そのレシピを用いてエッチングした際の入出力データを取得することができる。
【０２５８】
つぎに、探索装置３００には、目標となる加工形状が与えられる（ステップＡ９０２）。そして、探索装置３００は、加工形状最適化レシピの候補を予測する（ステップＡ９０３）。
【０２５９】
ステップＡ９０２は、ステップＡ５０２に対応する処理であり、ステップＡ９０３は、ステップＡ５０５〜ＳＡ５０６に対応する処理である。
【０２６０】
そして、探索装置３００は、ステップＡ９０３で予測した加工形状最適化レシピを用いて、実証実験を実行して、実証実験結果Ａ９０３０を出力する（ステップＡ９０４）。その後、実証実験結果が目標値を満たしたかを判定する（ステップＡ９０５）。
【０２６１】
ステップＡ９０４およびＡ９０５は、ステップＡ５０７〜Ａ５１１、図１３の処理に対応する処理である。目標を達成していない場合（ステップＡ９０５：Ｎｏ）、実証実験で取得したデータ（実証実験結果Ａ９０３０）をデータベースへ追加することで、データを更新し（ステップＡ９０６）、ステップＡ９０３に戻る。
【０２６２】
補正目標を達成した場合（ステップＡ９０５：Ｙｅｓ）、処理を終了する。ステップＡ９０５は、ステップＡ５１２およびＡ５１３に対応する処理である。
【０２６３】
ステップＡ９０１で用いる初期データには、図１５で示した複数のレシピと、その各レシピを用いてエッチングした際の加工形状データを入力することができる。多様なエッチング形状を含む初期データを用いることで、予測モデルを用いた解の予測の際に、レシピパラメータ空間内のどの領域に目標形状を実現するレシピパラメータが存在するかについて、効率良く予測することが可能となる。
【０２６４】
初期データＡ９０１０では、図１５で示すように、テーパー形状（条件１）、ラウンド形状（条件２、４）、逆テーパー形状（条件３）、アンダーカット形状（条件１、２、４、５、Ｎ）を示しており、その他の形状としては、全くエッチングが進まないエッチストップ形状、ボウイング形状（弓型形状）、マスクがエッチングされる形状等がある。例えば、初期データ中の形状が１種類しかない場合には、そのデータから求めた予測モデルでは、他の形状を満たす解を予測することは難しい。そのため、これら形状のうち、少なくとも２種類以上、望ましくは３種類以上を初期データに含むことが望ましい。
【０２６５】
なお、図１５は、初期データＡ９０１０の一例を示す図である。初期データＡ９０１０は、条件１〜Ｎに対応した加工結果１〜Ｎのペアで構成され、加工結果１〜Ｎは、加工対象の断面形状の例を示す。
【０２６６】
ステップＡ９０２で用いる目標データとしては、例えば、図１６に示す目標データＡ９０２０のような垂直加工形状が与えられる。なお、図１６は、目標データＡ９０２０の一例を示す図である。目標データＡ９０２０は、加工前の加工対象の断面形状と、目標の断面形状で構成される例を示す。
【０２６７】
ステップＡ９０３の実証実験結果の例は、図１７に示す実証実験結果Ａ９０３０に示す通りであり、この場合には、初期データに含まれる形状よりも、目標形状に近付いた出力（加工形状）が得られており、これはステップＡ５１０：Ｙｅｓに対応する。なお、図１７は、実証実験結果Ａ９０３０の一例を示す図である。実証実験結果Ａ９０３０は、実証条件ａ〜ｅに対応した実証結果ａ〜ｅのペアで構成され、実証結果ａ〜ｅは、加工対象の断面形状の例を示す。
【０２６８】
なお、同一のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させてもよい。その際には、前記実施例１の図１０と同様の手順によって装置差が補正された複数のエッチング装置を使用することで、目標を満たす解が探索できる可能性を高めることができる。更に、探索された解をそれらの複数の装置に展開し最適な加工形状が得られるレシピを探索することが可能となる。
【０２６９】
図１８、図１９は加工後の断面形状を電子顕微鏡を用いて取得した例であり、図１８は溝または孔加工、図１９はラインまたはピラー（柱形状）加工の断面形状である。初期データとして、断面の画像そのものを用いることができる。また、図１８、図１９に示したように（１）マスクトップ幅、（２）マスクボトム幅、（３）マスク厚さ、（４）加工部トップ幅、（５）加工部中央部の幅、（６）加工底の幅、（７）加工部最大幅、（８）加工深さ、（９）マイクロ溝の幅、（１０）アンダーカット幅、（１１）アンダーカット深さ、（１２）表面粗さ、（１３）マスク消耗、（１４）下地付き抜け深さ、（１５）ノッチ幅、（１６）ノッチ高さ等の計測値を加工形状データとして用いることができる。また、各値はより正確な値を取得することが望ましいが、大／中／小、○／△／×、またはこれらを０／１／２等の離散化した数値で表現し、これらデータを用いることもできる。
【０２７０】
このように、半導体処理装置２０１のメンテナンス後に探索装置３００による探索方法を実行することにより、半導体処理装置２０１の出力パラメータの値を目標とする出力パラメータの値へ近付けることができる（装置出力最適化機能）。
【０２７１】
図２０および図２１は、探索装置３００のユーザーインターフェースであるＧＵＩの例である。
【０２７２】
図２０は、解析対象の初期データを指定するための、初期設定画面１１０である。初期設定画面１１０では、まず入出データ（装置入力データ）１１１と、出力データ１１２と、および目標データ（目標値）１１３がファイル名で入力される。解析対象の初期データとして、入出力データをまとめたファイルを指定することも可能であるが、その際にはファイル内部へ、入力パラメータと出力パラメータを判別する識別子が記載されている必要がある。
【０２７３】
上記のデータ指定を行った後、実行ボタン１１４をクリックすることで、各データが読み込まれ、データベース２０５へ保存される。また、初期設定画面１１０には、ファイル保存の進捗を示すインジケータ、進捗度合、保存完了までの時間、保存開始からの経過時間を表示してもよい。
【０２７４】
図２０の実行ボタン１１４がクリックされた後、図２１の探索条件の設定および探索を実行するための探索画面１２０へ移行する。探索画面１２０では、まず探索設定１２１がファイル名で入力される。また、実証実験によって取得された入力データ１２２と出力データ１２３をファイル名で入力することができる。
【０２７５】
探索画面１２０では、学習対象となるデータに含まれる学習データ数１２４、学習サイクル数１２５、入力パラメータ数１２６、出力パラメータ数１２７が表示されていてもよい。学習サイクル数１２５は、予測モデル生成用の学習データのセットを取得した回数であり、実証実験を行い、その結果取得された入力データ１２２と出力データ１２３を追加学習データとしてデータベース２０５へ追加する毎に１が加算される。
【０２７６】
探索設定条件が指定されると、中心条件の候補が領域１２８に表示され、中心条件としてどれを採用するか、表示された中心条件より選択することができる。中心条件を選択し、探索（予測）ボタン１２９をクリックすることで、予測が開始され、予測中、または予測完了後に予測結果が領域１３０に表示される。
【０２７７】
探索画面１２０には、予測の進捗度合、予測開始からの経過時間、予測を継続する残り時間、および予測できた解の候補の数を表示してもよい。また、予測完了までの推定時間を表示してもよい。
【０２７８】
探索画面１２０には、予測結果として、予測された入力と出力のいずれか、または両方が表示され、実証実験の候補を選択することができる。実証実験を選択し、実証実験ボタン１３１をクリックすることで、実証実験が開始される。探索画面１２０には、実証実験の進捗度合、実証実験開始からの経過時間、および実証実験を継続する残り時間を表示しても良い。
【０２７９】
また、上記で選択された実証実験の数、実証実験が完了した数と残りの数、および実証実験完了までの推定時間を表示してもよい。実証実験が完了した後、実証実験結果を前述した追加学習データへ追加することで、予測および実証実験を繰返すことで、学習サイクルを進め、探索が継続される。
【０２８０】
中心条件の候補および実証実験の候補の選択、および予測および実証実験の開始は、エンジニアが指示することができる。または、探索設定入力において、あらかじめ中心条件の候補および実証実験の候補の選択手法を指定しておくことで、自動的に候補を選択できる。また、出力データがセンサまたはモニタを用いることで、自動取得可能な場合には、予測および実証事件を自動で開始できる。
【０２８１】
図２２は、中心条件の候補および実証実験の候補の選択、および予測および実証実験の開始を自動で行う場合の探索画面１４０であり、探索設定入力１４１を行った後、自律探索ボタン１４２をクリックすることで、自動的に探索が継続される。
【０２８２】
このように、探索装置３００は、半導体処理装置２０１の入力パラメータの値および出力パラメータの値を自動解析し、その解析結果を考慮した上で、入力パラメータの値を探索するための実験条件を自動で決定する。そして、探索装置３００は、当該実験結果の検証を自動で行い、これらの自動動作を繰り返すことで、目標とする装置状態および処理結果（出力パラメータの値）が得られる入力パラメータの値を自動的に探索することができる。これにより、半導体処理装置２０１自らが自動的に装置性能を引き出すことができ、加えて装置性能を引き出すための制御モデル開発や装置パラメータ（入力パラメータと出力パラメータとの組み合わせ）の選定を行うエンジニアを支援することができる。
【０２８３】
以上説明したように、本実施例にかかる探索装置３００は、半導体を処理する半導体処理装置２０１に設定される条件または半導体処理装置２０１により半導体が処理された結果を示す目標値と、条件と加工結果との範囲により規定される探索領域内における条件または加工結果のうち目標値が示す方の基準値と、の入力を受け付ける入力部４０１と、探索領域内の条件の設定値と、当該設定値を半導体処理装置２０１に与えた場合の加工結果の実測値と、に基づいて、条件と加工結果との関係を示す予測モデルを生成する生成部４０２と、生成部４０２によって生成された予測モデルに、入力部４０１によって入力された目標値を与えることにより、予測モデルから予測値を取得する特定部４０３と、予測値が入力部によって入力された基準値よりも目標値に近いか否かを判断する判断部４０４と、判断部４０４によって予測値に対応する目標値の方が目標値に近いと判断された場合、予測値を基準値に設定し、特定部によって特定された予測値の存在領域を探索領域に設定する設定部４０５と、予測値が目標値の達成条件を充足した場合に達成条件を充足した予測値を出力する出力部４０６と、を有する。
【０２８４】
これにより、半導体処理装置２０１の入出力に関する最良解への到達精度の向上を図ることができる。したがって、半導体処理装置２０１における運用の効率化および処理の最適化を図ることができる。
【０２８５】
また、探索装置３００は、判断部４０４によって予測モデルから得られた予測値に対応する目標値の方が目標値に近くないと判断された場合、決定部４０７により予測値および予測値に対応する出力データとして取得したデータを除外データに決定し、設定部４０５により探索領域から除外データと当該除外データが得られた場合に設定される除外領域を除いた残存領域を探索領域に設定する。これにより、目標値に近くない予測値と目標値との組み合わせが存在する除外領域を最新の探索領域から除外することができ、最良解への到達精度の向上を図ることができる。
【０２８６】
また、探索装置３００は、分割部４０８により探索領域を複数の領域に分割し、判断部４０４によって予測値の方が目標値に近いと判断された場合、特定部４０３により、予測値を基準値に設定し、予測値の存在領域を複数の分割領域の中から特定する。これにより、予測値の存在領域を容易に特定することができ、探索速度の向上を図ることができる。
【０２８７】
また、探索装置３００は、分割部４０８により探索領域を複数の領域に分割し、生成部４０２により、分割領域内における条件の設定値を半導体処理装置２０１に与えた場合の加工結果の実測値を、分割領域ごとに取得し、生成部４０２により、各分割領域での条件の設定値と加工結果の実測値とに基づいて、予測モデルを生成する。これにより、複数の半導体処理装置２０１を用いることで、実測値を分割領域ごとに並列に取得することができ、予測モデルの生成速度の高速化を図ることができる。
【０２８８】
また、探索装置３００は、判断部４０４によって予測値に対応する目標値の方が目標値に近くないと判断された場合、決定部４０７により予測値および予測値に対応する出力データとして取得したデータを除外データに決定し、生成部４０２により、実測値から除外データを除いた特定の実測値と、設定値から除外データが得られた場合に半導体処理装置２０１に与えられた設定値を除いた特定の設定値と、に基づいて、予測モデルを生成する。また、目標値に近くない予測値と設定値との組み合わせが存在する除外領域を予測値の候補から除外することができ、予測モデルの精度向上を図ることができる。したがって、生成された予測モデルにより、より良い予測値を得ることができる。
【０２８９】
また、探索装置３００は、検出部４０９により、加工結果の実測値と、所定の出力しきい値と、に基づいて、半導体処理装置２０１の不安定動作を検出し、出力部４０６により、検出部４０９による検出結果を出力する。これにより、探索の継続可否をユーザに促すことができる。
【０２９０】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【０２９１】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０２９２】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード、ＳＤカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）の記録媒体に格納することができる。
【０２９３】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【０２９４】
＜補足＞
特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげ
られる。
【０２９５】
＜１６＞
請求項１２に記載の探索方法であって、
前記第２のステップは、
前記探索領域を複数の領域に分割し、前記分割された分割領域内における前記条件の設定値を前記半導体処理装置に与えた場合の前記実測値を、前記分割領域ごとに取得し、前記各分割領域での前記条件の設定値と前記実測値とに基づいて、前記予測モデルを生成することを特徴とする探索方法。
【０２９６】
＜１７＞
請求項１２に記載の探索方法であって、
前記第５のステップは、
前記予測値に対応する前記実測値が前記目標値に近くないと判定した場合、前記予測値を除外データに決定し、前記実測値から前記除外データを除いた特定の実測値と、前記設定値から前記除外データが得られた場合に前記半導体処理装置に与えられた設定値を除いた特定の設定値と、に基づいて、前記予測モデルを生成することを特徴とする探索方法。
【０２９７】
＜１８＞
請求項１２に記載の探索方法であって、
前記探索装置が、前記実測値と、所定の出力しきい値と、に基づいて、前記半導体処理装置の不安定動作を検出し、検出結果を出力する第６のステップをさらに含むことを特徴とする探索方法。
【０２９８】
＜１９＞
請求項１２に記載の探索方法であって、
前記第３のステップは、
前記予測モデルによる１度の予測において複数の予測値を取得することを特徴とする探索方法。
【０２９９】
＜２０＞
請求項１２に記載の探索方法であって、
前記第２のステップは、
予測モデルの最初の生成後に前記探索領域で探索を行い、探索結果を用いて前記予測モデルを更新することを特徴とする探索方法。
【０３００】
＜２１＞
請求項１２に記載の探索方法であって、
前記第３のステップは、
複数の種類の予測モデルを用いて予測を行い、各予測モデルからそれぞれの予測値を取得することを特徴とする探索方法。
【０３０１】
＜２２＞
請求項１２に記載の探索方法であって、
前記第１のステップは、
前記加工結果と、前記条件と、前記目標値と、を入力するための画面を生成し、当該画面を介して前記加工結果と、前記条件と、前記目標値とを受け付けることを特徴とする探索方法。
【符号の説明】
【０３０２】
２００  半導体製造システム
２０１  半導体処理装置
２０２  装置制御システム
２０３  モニタシステム
２０４  センサシステム
２０５  データベース
２０６  自動制御システム
２２１  レシピ設定コントローラ
２２２  装置基本設定コントローラ
２２３  設定エラー検出システム
２６１  目標設定コントローラ
２６２  自律探索システム
２６３  不安定動作検出システム
３００  探索装置
４０１  入力部
４０２  生成部
４０３  特定部
４０４  判断部
４０５  設定部
４０６  出力部
４０７  決定部
４０８  分割部
４０９  検出部
【図１】
2019040984.tif 000004
【図２】
2019040984.tif 000005
【図３】
2019040984.tif 000006
【図４】
2019040984.tif 000007
【図５】
2019040984.tif 000008
【図６】
2019040984.tif 000009
【図７】
2019040984.tif 000010
【図８】
2019040984.tif 000011
【図９】
2019040984.tif 000012
【図１０】
2019040984.tif 000013
【図１１】
2019040984.tif 000014
【図１２】
2019040984.tif 000015
【図１３】
2019040984.tif 000016
【図１４】
2019040984.tif 000017
【図１５】
2019040984.tif 000018
【図１６】
2019040984.tif 000019
【図１７】
2019040984.tif 000020
【図１８】
2019040984.tif 000021
【図１９】
2019040984.tif 000022
【図２０】
2019040984.tif 000023
【図２１】
2019040984.tif 000024
【図２２】
2019040984.tif 000025