<入力パラメータの探索例>
図1は、入力パラメータの探索例を示す説明図である。図1は、半導体処理装置において目標を満たす出力データ(上述した出力パラメータの値)が得られる入力データ(上述した入力パラメータの値)を探索する際の半導体処理装置に対する入出力データ(入力データと出力データとの組み合わせ)の例を示す。
ここで、半導体処理装置とは、半導体または半導体を含む半導体デバイスを処理する装置である。半導体処理装置は、具体的には、たとえば、リソグラフィ装置、成膜装置、パターン加工装置、イオン注入装置、加熱装置、洗浄装置を含む。リソグラフィ装置は、露光装置、電子線描画装置、X線描画装置を含む。成膜装置は、たとえば、CVD(Chemical Vapor Deposition)、PVD(Physical Vapor Deposition)、蒸着装置、スパッタリング装置、熱酸化装置を含む。パターン加工装置は、たとえば、ウェットエッチング装置、ドライエッチング装置、電子ビーム加工装置、レーザ加工装置を含む。イオン注入装置は、プラズマドーピング装置、イオンビームドーピング装置を含む。加熱装置は、たとえば、抵抗加熱装置、ランプ加熱装置、レーザ加熱装置を含む。洗浄装置は、液体洗浄装置、超音波洗浄装置を含む。
図1は、X1軸およびX2軸の2軸で2次元の座標平面を有するグラフ100を示す。当該座標平面に直交する軸をY軸とする。X1軸は、半導体処理装置への入力となる入力パラメータX1の座標軸であり、X2軸は、半導体処理装置への入力となる入力パラメータX2の座標軸である。X1軸には、入力パラメータX1の値である入力データx1n(n=1,2,3,…)がプロットされ、X2軸には、入力パラメータX2の値である入力データx2nがプロットされる。グラフ100は、入力データx1nおよびx2nで決定される各領域におけるY軸の出力データを、等高線で表現する。例として、出力データy1を含む領域を最大値(すなわち、最良解)とし、y13の領域を最小値とした。また、グラフ100では、X1軸が3分割され、領域x1a、x1b、x1cとする。同様に、グラフ100では、X2軸が3分割され、領域x2a、x2b、x2cとする。
たとえば、目標として、出力データが最も高くなる領域、すなわち、出力データy1が得られる入力データx1nおよびx2nの組み合わせを探索する場合には、解析方法として装置パラメータ空間の出力データynの傾きを取得し、出力データynがより大きくなる方向へ探索を進めればよい。
しかし、その際の出力データがx1aかつx2bで決定される領域の出力データを含んでいない場合、探索は局所解となる頂点の出力データy4’に向かう。またこの結果に従って探索すべき入力パラメータを決定すると、y4’近傍の出力データを集中的に取得することになり、y4’そのものまたはそれに非常に近い出力データが得られる入力パラメータが発見される。すなわち、この探索で取得した入力パラメータの値を用いた解析と更なる探索による出力パラメータの値の取得とを繰り返したとしても、出力データy1に対応する最良解の入力データを見つけることができない。
また、出力データy1の周辺やその他の領域に多数の局所解が存在する場合、装置パラメータ空間の広さに対して、取得した入力パラメータの値が少ないと、探索は局所解に陥ってしまい、出力データy1を発見できない可能性が高くなる。また、推定した解が存在する領域としてx13かつx23の領域が推定されたとする。その後も特許文献1のように探索領域をx13かつx23の一部のような微小な領域に限定すると、出力データynの傾きが非常に小さいため、出力データy1にたどり着くまでの探索回数が膨大になり探索に失敗する可能性がある。また、出力データynの傾きが出力データynに含まれるノイズに埋もれることで、探索に失敗する可能性がある。解析対象である出力データynの質が悪ければ、必然的に解の推定も悪い結果となるため、探索を成功させるためには、解に近付くことができる質の良いデータを取得するための探索空間を指定する必要がある。
図1では、x1n、x2nおよびynという3つのパラメータを用いている。実際の半導体処理装置では多数の入出力パラメータを持つため、図1の各軸の指標を多次元ベクトル化した広大な装置パラメータ空間が探索される。したがって、このような広大な装置パラメータ空間から効率良く解に近付くことができる質の良いデータを取得するために、装置パラメータ空間が指定される必要がある。また、半導体処理装置の入出力関係は、大半の場合において非線形であり、装置パラメータ空間には多数の局所解が存在する。
本実施例では、半導体処理装置の入出力データの解析結果を考慮した上で装置パラメータ空間を探索するための実験条件を自動で決定し、実験結果(加工結果)の検証を自動で行い、これらの自動動作を繰り返す。これにより、装置パラメータ空間を探索して最良解を効率的に取得する。すなわち、目標とする半導体処理装置の状態および加工結果を示す出力パラメータの値が得られる入力パラメータの値を効率的に発見する。
<システム構成例>
図2は、半導体製造システムのシステム構成例を示す説明図である。半導体製造システム200は、半導体処理装置201と、装置制御システム202と、モニタシステム203と、センサシステム204と、データベース205と、自動制御システム(探索装置)206と、を有する。
半導体処理装置201は、上述した通り、ウェハ等の基板や半導体デバイスを処理する装置である。半導体処理装置201は、装置制御システム202、モニタシステム203およびセンサシステム204に接続される。
装置制御システム202は、半導体処理装置201の稼働および処理をする際に半導体処理装置201を制御するシステムである。装置制御システム202は、GUIなどの入力インタフェースを有し、入力インタフェースを介して入力された入力パラメータの値で半導体処理装置201の実行を制御する。また、装置制御システム202は、ネットワークインタフェースを有し、ネットワークインタフェースを介して外部のコンピュータおよびデータベース205から入力パラメータの値を取得する。
装置制御システム202は、レシピ設定コントローラ221と、装置基本設定コントローラ222と、設定エラー検出システム223と、を有する。レシピ設定コントローラ221は、半導体処理装置201の処理中の動作を決定する入力パラメータおよびその値を半導体処理装置201に設定する。装置基本設定コントローラ222は、半導体処理装置201が稼働するための入力パラメータおよびその値を半導体処理装置201に設定する。
設定エラー検出システム223は、装置基本設定コントローラ222での入力パラメータの設定の際に、実際に半導体処理装置201に入力パラメータが設定可能であるかを判定する。具体的には、たとえば、設定エラー検出システム223は、入力された入力パラメータが入力可能な範囲内であるか、また、半導体処理装置201の動作が可能となる入力パラメータの値の組み合わせであるかを判定する。設定不可能な入力パラメータの値またはその組み合わせが検出された場合には、設定エラー検出システム223は、設定エラーとして、エンジニアまたは、半導体処理装置201が接続される上位のシステムへ報告する。設定エラーが発生した際には、入力された入力パラメータの変更中止、または入力された入力パラメータの値を用いた処理を中止したことをログデータとして記録する。
モニタシステム203は、半導体処理装置201での処理中または処理された処理対象物(加工結果)を監視または計測してモニタデータを取得するシステムである。モニタシステム203は、光学式モニタ、電子顕微鏡を用いた加工寸法計測装置、赤外光を用いた温度計測装置、ケルビンプローブフォース顕微鏡を用いた欠陥検出装置、処理対象物の電気特性を評価するプローバ装置を含む。モニタシステム203は、たとえば、処理対象物へ光、レーザ光およびX線を入射させた際の反射、透過、吸収および偏光スペクトルを計測することで、処理対象物の加工形状、処理対象膜の厚さおよび加工欠陥をモニタデータとして取得する。モニタシステム203は、半導体処理装置201に直接接続されている必要はなく、処理対象をモニタシステム203へ運搬することで計測結果を取得し、その結果をデータベース205に保存してもよい。更に、処理対象の一部を断片として取出し、その断片をモニタシステムへ運搬することで計測結果を取得し、その結果をデータベース205に保存してもよい。
モニタシステム203は、処理時において処理対象物へ作用するプラズマ、ガス、液体等の処理に使用される媒体、および処理によって発生する生成物を監視する。これらの媒体および生成物は、処理対象物と直接作用したり、その作用の結果発生する物である。モニタシステム203は、光スペクトル計測を用いたプラズマ発光モニタ、赤外分光計測を用いた処理室内の堆積物モニタ、質量分析器を用いた処理対象から放出された原子および分子モニタ、探針を用いた処理室内の電気特性モニタを含む。これらのモニタによる監視は、処理結果を間接的に評価できるモニタデータをリアルタイムかつ処理中においてその場で計測することができる。
センサシステム204は、半導体処理装置201の装置状態を示すセンサデータを取得するシステムである。センサシステム204は、センサの集合体である。センサデータは、電圧、電流、パワー等の電源出力値、整合器内のコンデンサやコイル等の可変電気素子の値、各種使用ガスの流量、装置躯体や装置構成部品の温度、処理室内の圧力、圧力制御弁の開度、バルブ開閉状態、ガス排気速度、処理および装置の動作タイミングおよび動作時刻を含む。
データベース205は、装置制御システム202によって設定される各種入力パラメータの値、半導体処理装置201からの処理結果である出力パラメータの値、モニタシステム203およびセンサシステム204が取得したモニタデータおよびセンサデータを保存する。また、データベース205は、学習データを保存する。学習データとは、過去に半導体処理装置201に与えられた入力パラメータの値(入力データ)と半導体処理装置201から出力された出力パラメータの値(出力データ)の組となる入出力データである。データベース205は、保存する各種データを異なる記憶デバイス302で保存する分散型データベース205でもよい。各システムで取り扱う情報をそれぞれのシステム内に保存する形の分散型のデータベースを構築しても良い。
自動制御システム206は、データベース205に保存されたデータを用いて、目標を満たす解を探索する。目標を満たす解は、半導体処理装置201の稼働に使用される入力パラメータの値、および、処理中の半導体処理装置201の動作に使用される入力パラメータの値のうち、少なくとも一方のパラメータの値である。自動制御システム206は、目標設定コントローラ261と、自律探索システム262と、不安定動作検出システム263と、を有する。
目標設定コントローラ261は、探索開始前の初期値として、目標とする入力パラメータの値、出力パラメータの値、探索結果と目標との差または乖離の許容値の入力を受け付ける。また、目標設定コントローラ261は、探索において1つの条件を実行する時間の上限、探索回数、探索1セットの合計時間の上限、探索全体の合計時間の上限、探索結果の解析時間の上限、解析データ数の上限の入力を受け付けることができる。また、目標設定コントローラ261は、各入力パラメータに対する探索可否の設定、探索する入力パラメータの制御範囲の上限値および下限値、探索する入力パラメータの制御範囲を限定するための値を設定することができる。更に、目標設定コントローラ261は、過去の結果を含む探索開始前の最良の解、その解を得るために用いた解析対象データ、その解析より得られた目標と入力パラメータの関係を説明するモデル関数の入力受け付けることができる。また更に、目標設定コントローラ261は、モニタシステムによって処理対象を計測する際に使用する、計測位置の決定または計測位置を所望の計測位置へ誘導するための位置情報データおよび画像情報データの入力を受け付けることができる。
自律探索システム262は、目標設定コントローラ261へ入力された内容を取得し、1つ以上のパラメータに対して、探索可能な入力パラメータの制御範囲を2つ以上の領域に分けた分割領域を設定する。前述の通り、探索および探索結果の解析を繰り返して目標の解へ到達するためには、探索1セットにかかる時間は長い場合でも数日以下、望ましくは1時間以下とする必要がある。すなわち、探索1セットの探索条件数Ns、探索1セットの探索時間をTs[min]、検索1条件に必要な時間t1[min]とすると、探索回数は式(1.1)となる。
Ts=t1・Ns・・・(1.1)
探索1セットを1日以内とする場合には、Ts≦1440、1時間以内とする場合には、Ts≦60となるように探索条件数Nsを決定すればよい。
探索条件数Nsを増やすためには、探索結果を評価するセンサおよびモニタの計測時間を短くすることが有効である。特に、探索実験中においてリアルタイムで計測が可能なセンサおよびモニタを使用することが有効である。
また、前述した通り、処理結果を間接的に評価できるデータとなる処理対象物へ作用する媒体および処理によって発生する生成物の特性を、センサおよびモニタによって計測することで、リアルタイムかつ処理中においてその場での計測ができる。
探索において変更する入力パラメータの種類が増加するに従い、探索時間Tsが急激に増大する。例えば、入力パラメータの種類の数DaをDa=10とし、各パラメータの領域分割数AをA=3とした場合、全てのパラメータの組合せを探索する場合の探索条件数Nsは式(1.2)となる。
Ns=ADa・・・・(1.2)
探索条件数Nsは59049まで増加する。このような場合、解が存在すると予測される各入力パラメータの値を予測し、当該予測値を中心条件として、探索時に同時に変更可能な入力パラメータの数を制限するのが好ましい。これにより、探索条件数Nsおよび探索時間Tsは実行可能な値になる。中心条件を予測する際には、過去の探索結果またはエンジニアの知識を利用することができる。または、探索の初期値として、適当な中心条件を与え、探索を開始することも可能である。
また更に、取得済み学習データに含まれるデータの中で、目標との差異が最小(目標に最も近い)の条件を中心条件とすることも可能である。学習データと目標との差異を示す値としては、各パラメータの誤差の総和を用いることができる。誤差は、各パラメータの差分、絶対値、または2乗誤差等を用いて計算できる。
例えば、入力パラメータの10種のうち5種類について、解が存在すると推定される分割領域が指定された場合、他の5種類を変更することにより、次回の探索条件数Nsは、Ns=35=243にまで少なくできる。また、10種の入力パラメータのうち、一度に変更可能な入力パラメータの種類の数をDcとする。探索条件数Nsは組み合わせ論の記号Cを用いて式(1.3)より求められる。
一度に変更可能な入力パラメータを限定することで、探索条件数Nsを小さくすることができる。例えば変更可能な入力パラメータの種類の数DcをDc=1とすると探索条件数NsはNs=21、同様にDcをDc=2とすると、NsはNs=201まで小さくできる。さらに、入力パラメータの種類のうち、いくつかの入力パラメータにおいて、解が存在すると推定される分割領域を指定する方法と、一度に変更可能なパラメータの種類を指定する方法とを組み合わせることもできる。
不安定動作検出システム263は、探索実行時において、半導体処理装置201が処理動作を継続可能ではあるが、処理が不安定になる場合を検出する。入力パラメータの入力を実行する前段階において、設定エラー検出システム223は入力パラメータが入力可能であるかを確認する。しかし、半導体処理装置201内の機器が制御対象とする媒体および部品は非線形性をもち、更にそれらを組み合わせることで処理を実行する。したがって、設定エラー検出システム223は設定エラー(入力パラメータの入力不可)を検出できずに、実際に処理を実行した際に初めて動作不安定となる入力パラメータが発見される可能性がある。
また、入力パラメータが多くなるほど、装置パラメータ空間は拡大するため、装置パラメータ空間において局所的な不安定動作領域が存在した場合に、事前に検出できない可能性が高くなる。
したがって、不安定動作検出システム263が半導体処理装置201の処理中に半導体処理装置201の不安定動作を検出した場合、半導体処理装置201は、不安定動作となった際の入力パラメータおよびその値を保存し、さらにエンジニアまたは、半導体処理装置201が接続される上位のシステムへ報告する。これにより、半導体処理装置201の不安定動作による処理および探索における動作不良を判断または予測することができる。
不安定動作が検出された場合には、処理完了後に半導体処理装置201を定常動作状態へ復旧するためのシーケンスを実施するか、処理を直ちに停止し、半導体処理装置201を定常動作状態へ復旧するためのシーケンスを実施することで、探索が継続される。
このような不安定動作としては、処理中における局所的な異常放電や放電強度の振動、急激な成膜速度変動や膜質変動、ガス圧力の振動、投入電力の瞬間的な増減や振動等がある。前述した発光スペクトルモニタ、堆積物モニタ、質量分析モニタ、電気特性モニタ、圧力モニタ等のリアルタイムかつ処理中においてその場での計測が可能なモニタが、不安定動作を検出する。
<探索装置のハードウェア構成例>
図3は、探索装置300のハードウェア構成例を示すブロック図である。探索装置300は、探索領域から解となる入力パラメータの値を探索する。自動制御システム206は、探索装置300の一例である。探索装置300は、プロセッサ301と、記憶デバイス302と、入力デバイス303と、出力デバイス304と、通信インターフェース(通信IF305)と、を有する。プロセッサ301、記憶デバイス302、入力デバイス303、出力デバイス304、および通信IF305は、バスにより接続される。プロセッサ301は、探索装置300を制御する。記憶デバイス302は、プロセッサ301の作業エリアとなる。また、記憶デバイス302は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス302としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス303は、データを入力する。入力デバイス303としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス304は、データを出力する。出力デバイス304としては、たとえば、ディスプレイ、プリンタがある。通信IF305は、ネットワークと接続し、データを送受信する。
<探索装置300の機構的構成例>
図4は、探索装置300の機能的構成例を示すブロック図である。探索装置300は、入力部401と、生成部402と、特定部403と、判断部404と、設定部405と、出力部406と、決定部407と、分割部408と、検出部409と、を有する。各構成401〜409は、具体的には、たとえば、図3に示した記憶デバイス302に記憶されたプログラムをプロセッサ301に実行させることにより実現される機能である。
入力部401は、ユーザ操作またはデータベース205からの読み込みにより、各種データの入力を受け付ける。具体的には、たとえば、入力部401は、半導体デバイスを処理する半導体処理装置201に設定される条件値の入力を受け付ける。半導体処理装置201に設定される条件とは、上述した入力パラメータである。入力パラメータは、具体的には、たとえば、ガス種、ガス流量、圧力、投入電力、電圧、電流、処理時間、加熱温度、冷却温度、ドーズ量、光量を含む。
また、入力部401は、半導体処理装置201により半導体が処理された加工結果を示す目標値の入力を受け付ける。半導体処理装置201により半導体が処理された加工結果とは、上述した出力パラメータである。出力パラメータは、具体的には、たとえば、半導体処理装置201による半導体の処理結果(加工結果)と、半導体処理装置201の装置状態に関するデータと、を含む。半導体処理装置201による半導体の処理結果は、具体的には、たとえば、CD(Critical Dimension)、堆積膜厚、ER(Etch Rate)、加工形状、マスク選択比、更にこれらのウェハ面内分布および均一性を含む。半導体処理装置201の処理結果、および半導体処理装置201の装置状態に関するデータは、具体的には、たとえば、光反射スペクトル、プラズマ光スペクトル、ウェハ入射電流、ウェハ電圧、ウェハ温度、装置部品温度、更にこれらの空間分布および均一性を示すデータ(センサデータおよびモニタデータ)を含む。半導体処理装置201により半導体が処理された加工結果を示す目標値とは、ユーザが要求する半導体処理装置201の出力パラメータの値である。
また、入力部401は、条件(入力パラメータ)と加工結果(出力パラメータ)との範囲により規定される探索領域内における条件の基準値の入力を受け付ける。探索領域とは、入力パラメータの制御範囲と半導体処理装置201の出力パラメータの制御範囲とにより規定され、入力パラメータの値を探索する領域である。具体的には、たとえば、図1に示した探索領域Aである。条件の基準値とは、入力パラメータの基準値である。具体的には、たとえば、過去に得られた入力パラメータの値である。
また、入力部401は、探索領域内における加工結果の基準値の入力を受け付ける。加工結果の基準値とは、入力パラメータの基準値が半導体処理装置201に与えられた場合における半導体処理装置201の出力パラメータの値である。
生成部402は、探索領域内の条件の設定値と、当該設定値を半導体処理装置201に与えた場合の加工結果の実測値と、に基づいて、条件と加工結果との関係を示す予測モデルを生成する。条件の設定値とは、たとえば、学習データとして用意された入力パラメータの値である。加工結果の実測値とは、学習データとして用意された入力パラメータの値(条件の設定値)が半導体処理装置201に与えられた場合における半導体処理装置201の出力パラメータの値である。予測モデルとは、入力パラメータと出力パラメータとの関係を示す関数である。生成部402は、ニューラルネットワーク、サポートベクターマシン等の多入力多出力に応対可能な回帰分析や、相関分析、主成分分析、重回帰分析などの統計分析により、探索領域内の条件の設定値と出力の実測値との関係を示す予測モデルを生成する。
特定部403は、生成部402によって生成された予測モデルに、入力部401によって入力された目標値を与えることにより、目標値に対応する予測値を予測モデルから取得し、予測値の存在領域を探索領域から特定する。また、予測値の存在領域の出力パラメータが未取得の場合には生成部402は、分割領域内における条件の設定値を半導体処理装置201に与えた場合の出力の実測値を、分割領域ごとに取得する。
目標値が半導体処理装置201の出力パラメータの値である場合、特定部403は、予測モデルに当該出力パラメータの値を与えることにより、目標値に対応する予測値として入力パラメータの値を予測モデルから取得する。そして、特定部403は、予測値である入力パラメータの値の存在領域を探索領域から特定する。具体的には、たとえば、図1において、目標値が出力パラメータの値y12である場合、当該目標値y12に対応する予測値は、図1の目標値y12の等高線により特定される入力パラメータX1、X2の値である。したがって、特定部403は、探索領域Aから目標値y12の等高線により特定される入力パラメータX1、X2の値の存在領域A1,A2,A3,A8,A9を特定する。
判断部404は、予測値に対応する目標値が、入力部401によって入力された加工結果の基準値よりも目標値に近いか否かを判断する。具体的には、たとえば、判断部404は、探索領域Aにおいて、予測値に対応する目標値と目標値との間の距離(第1距離)と、加工結果の基準値と目標値との間の距離(第2距離)とを求める。距離は、たとえば、ユークリッド距離である。判断部404は、第1距離が第2距離よりも短い場合、予測値に対応する目標値が加工結果の基準値よりも目標値に近いと判断する。判断部404は、第1距離が第2距離よりも短くない場合、予測値に対応する目標値が加工結果の基準値よりも目標値に近くないと判断する。
設定部405は、判断部404によって予測値に対応する目標値の方が、加工結果の基準値よりも目標値に近いと判断された場合、予測値および予測値に対応する目標値を条件の基準値および加工結果の基準値に設定し、特定部403によって特定された予測値の存在領域を探索領域に設定する。これにより、基準値が目標値に接近し、探索領域も予測値の存在領域に絞り込まれる。
出力部406は、予測値が目標値の達成条件を充足した場合に達成条件を充足した予測値を出力する。達成条件とは、たとえば、目標値の許容範囲である。出力部406は、達成条件を充足した予測値を出力デバイス304の一例であるディスプレイに表示してもよく、通信IF305を介して外部装置に送信してもよく、記憶デバイス302やデータベース205に保存してもよい。
決定部407は、判断部404によって予測値に対応する目標値の方が、加工結果の基準値よりも目標値に近くないと判断された場合、予測値および予測値に対応する目標値を除外データに決定する(図6のステップS601で後述)。除外データとは、予測モデルに与えてはいけない入力パラメータの値である。
またこの場合、設定部405は、決定部407によって決定された除外データを除いたデータを学習データに設定する。これにより、生成部402は、除外データが存在しない学習データを用いることができる。したがって、解である入力パラメータの値の探索速度の向上を図ることができる。
また、決定部407は、判断部404によって予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値の存在領域を除外領域に決定してもよい(図6のステップS602で後述)。除外領域とは、予測モデルが出力してはいけない入力パラメータの値の領域である。
またこの場合、設定部405は、探索領域から決定部407によって決定された除外領域を除いた残存領域を探索領域に設定する。これにより、目標値に近くない加工結果しか得られない予測値の範囲を除外して探索領域を絞り込むことができる。したがって、解である入力パラメータの値の探索速度の向上を図ることができる。
分割部408は、探索領域を複数の領域に分割する。具体的には、たとえば、分割部408は、図1に示したように、探索領域Aを9個の領域(分割領域)A1〜A9に分割する。この場合、生成部402は、分割領域内における条件の設定値を半導体処理装置201に与えた場合の出力の実測値を、分割領域ごとに取得する。そして、生成部402は、各分割領域での条件の設定値と出力の実測値とに基づいて、予測モデルを生成する。複数の半導体処理装置201を用いることで、実測値を分割領域ごとに並列に取得することができ、予測モデルの生成速度の向上を図ることができる。
また、設定部405は、判断部404によって、予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値および予測値に対応する目標値を、条件の基準値および加工結果の基準値に設定せずに、予測値の存在領域を探索領域に設定してもよい(図6のステップS604〜S606で後述)。これにより、探索領域を更に細分化することで、より詳細な解の探索を実行し、解の見逃しがないか確認することができる。
また、決定部407は、上述したように、判断部404によって予測値に対応する目標値の方が加工結果の基準値よりも前記目標値に近くないと判断された場合、予測値および予測値に対応する目標値を除外データに決定してもよい。この場合、生成部402は、実測値から除外データを除いた残余の実測値と、設定値から残余の実測値に対応する設定値を除いた残余の設定値と、に基づいて、予測モデルを生成してもよい(図7で後述)。これにより、解である入力パラメータの値の探索速度の向上を図ることができる。
また、決定部407は、上述したように、判断部404によって予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値の存在領域を除外領域に決定してもよい。この場合、生成部402は、探索領域から除外領域を除いた残余の探索領域内の条件の設定値と、当該設定値を半導体処理装置201に与えた場合の出力の実測値と、に基づいて、予測モデルを生成してもよい(図8で後述)。これにより、解である入力パラメータの値の探索速度の向上を図ることができる。
検出部409は、半導体処理装置201の出力と、所定の出力しきい値と、に基づいて、半導体処理装置201の不安定動作を検出する。検出部409は、不安定動作検出システム263に相当する。この場合、出力部406は、検出部409による検出結果を出力する。
<半導体処理装置201の制御処理手順例>
図5は、半導体処理装置201の制御処理手順例を示すフローチャート1である。探索装置300は、目標とする半導体処理装置201からの出力値(出力パラメータの目標値)、および探索設定の入力を受け付ける(ステップS501)。探索設定とは、たとえば、探索結果と目標値との差または乖離の許容値、探索において1つの条件を実行する時間の上限、探索回数、探索1セットの合計時間の上限、探索全体の合計時間の上限、探索結果の解析時間の上限、解析データ数の上限、半導体処理装置201からの出力データの取得頻度のしきい値、半導体処理装置201からの出力データ(出力パラメータの値)の取得時間の上限、半導体処理装置201からの出力データ数の下限である。
つぎに、探索装置300は、ベースとなる解の入力およびその解に関する情報の入力を受け付ける(ステップS502)。具体的には、たとえば、探索装置300は、過去に実用いた入力パラメータおよびその入力パラメータを用いた際の出力パラメータ、探索開始前の最良の解(入力パラメータの値)および最良の解を用いた際の出力パラメータ、探索開始前の出力パラメータの目標値、入力パラメータと出力パラメータとの関係を説明するモデル関数の入力を受け付ける。
つぎに、探索装置300は、ステップS502で入力された最良の解を最良解OS1として保存する(ステップS503)。解が無い場合には、解から最も遠いことを示す記号または値が設定される。
つぎに、探索装置300は、基本探索領域を探索領域として設定する(ステップS504)。具体的には、たとえば、探索装置300は、各入力パラメータに対する探索可否の設定、探索する入力パラメータの制御範囲の上限値および下限値、探索する入力パラメータの制御範囲を限定するための値(たとえば、上限値や下限値)を設定する。また、探索装置300は、設定エラー検出システム223によって設定エラーとして判断する入力パラメータの制御範囲を参照して、探索領域を決定する。さらに、探索装置300は、不安定動作検出システム263によって検出されたパラメータを参照して、探索領域を決定する。また、不安定動作検出システム263は過去に、半導体処理装置201の動作が不能または不安定となった入力パラメータの組合せまたは各入力パラメータ範囲の値を保持しており、これを用いて探索装置300は探索領域を決定できる。
たとえば、図1において、入力パラメータの種類としてX1、X2の2つの入力パラメータが選択された場合、入力パラメータX1の制御範囲を[x11,x1n]、入力パラメータX2の制御範囲を[x21,x2n]とすれば、図1に示した全範囲の領域Aが探索領域となる。
ステップS501〜S504の目標設定コントローラ261の入力および設定内容は、自律探索システム262へ渡され、次に説明するステップS505〜S510の手順によって自動探索が実行される。
探索装置300は、探索領域を分割する(ステップS505)。具体的には、たとえば、探索装置300は、1つ以上の入力パラメータに対して、探索可能な入力パラメータの制御範囲を2つ以上の領域に分割する。分割された領域を分割領域と称す。探索条件数が多くなり、所望の時間内に探索が完了できないと予測される場合には、入力パラメータの種類のうちいくつかの入力パラメータにおいて解が存在すると推定される分割領域を指定する方法、および一度に変更可能な入力パラメータの種類を指定する方法を用いることで、探索領域を限定したり、探索条件数を少なくしたりすることができる。またこれら2つの方法を組み合わせることで、探索領域を限定したり、探索条件数を少なくしたりすることができる。
たとえば、図1において、入力パラメータの種類としてX1、X2の2つの入力パラメータが選択された場合、入力パラメータX1の制御範囲[x11,x1n]がx1a,x1b,x1cに分割され、入力パラメータX2の制御範囲[x21,x2n]がx2a,x2b,x2cに分割されたとすれば、図1に示した9つの分割領域A1〜A9が得られる。
探索装置300は、分割領域ごとに自律探索を実行する(ステップS506)。具体的には、たとえば、探索装置300は、分割領域および探索条件を用いた自律探索により、各探索条件における半導体処理装置201の入出力データを探索結果として取得する。入出力データとは、半導体処理装置201に与えられる入力パラメータの値(入力データ)と半導体処理装置201から得られる出力パラメータの値(出力データ)の組である。
具体的には、たとえば、探索装置300は、分割領域ごとに、探索条件を満たす入力パラメータの値を選択し、選択した入力パラメータの値を半導体処理装置201に与える。そして、探索装置300は、半導体処理装置201からの出力データ(出力パラメータの値)を取得する。この入力パラメータの値と、当該値に対応する出力パラメータの値と、の組み合わせが、探索結果である。
またこの場合、不安定動作検出システム263は、自律探索実行時において、半導体処理装置201が処理動作を継続可能ではあるが、半導体処理装置201の処理が不安定になる場合を検出する。不安定動作が検出された場合には、処理完了後に半導体処理装置201を定常動作状態へ復旧するためのシーケンスを実施するか、処理を直ちに停止し半導体処理装置201を定常動作状態へ復旧するためのシーケンスを実行することで、目標設定コントローラ261による自律探索を継続する。
探索装置300は、分割領域ごとの探索結果をデータベース205に保存する(ステップS507)。具体的には、たとえば、探索装置300は、分割領域ごとに、自律探索(ステップS506)で用いられた入力パラメータの値と、当該入力パラメータの値を用いて取得された半導体処理装置201の出力パラメータの値と、の組である入出力データを、分割領域ごとの探索結果としてデータベース205に保存する。
探索装置300は、目標(目標出力)を満たす解(入力パラメータ)を予測するための予測モデルを生成する(ステップS508)。具体的には、たとえば、探索装置300は、ステップS507でデータベース205に保存された学習データを用いて、半導体処理装置201の入出力データの関係を示す関数を予測モデルとして生成する。入出力データの関係を解析する方法としては、ニューラルネットワーク、サポートベクター回帰、カーネル法を用いた回帰等の多入力多出力に応対可能な回帰分析を使用できる。また、相関分析、主成分分析、重回帰分析等の統計解析が使用できる。
予測モデルの生成において、出力データとして、たとえば、半導体処理装置201の処理結果に対する間接的な計測値を取得するセンサデータおよびモニタデータが用いられる。出力データの取得頻度が探索設定で規定した頻度よりも低い、または、探索設定で規定した取得時間よりも長く、探索によって取得できる出力データ数が、探索設定で規定した出力データ数よりも少なくなる場合がある。この場合には、出力データの取得数と比較して多くのデータ数が取得可能なセンサデータおよびモニタデータを取得すればよい。これにより、出力データに対するセンサデータおよびモニタデータの関係や、センサデータおよびモニタデータに対する入力データの関係を解析することができる。また、これらの両方の解析結果を用いることで、出力データに対する入力データの関係を求めることができる。
探索装置300は、解が存在する分割領域を推定する(ステップS509)。解が存在すると推定した領域内の出力データが取得済みである場合(ステップS5090A:Yes)、探索装置300は、推定した分割領域中から最良解OS2を特定し、特定した最良解OS2をデータベース205に保存する(ステップS510)。また、解が存在すると推定した領域内の出力データが未取得である場合(ステップS5090A:No)、探索装置300は、推定した領域内の自律探索を実行し(ステップS5060A)、解が存在すると推定した領域内の出力データ、すなわち探索結果を取得し、データベース205に保存する(ステップS5070A)。これらの自律探索および結果の保存はステップS506およびステップS507と同様の処理である。ステップS509の処理は、2通りの方法がある。1つは、予測モデルに、ステップS501で与えられた出力パラメータの目標値を与える方法(第1の推定方法)である。
第1の推定方法では、具体的には、たとえば、探索装置300は、ステップS508で得られた予測モデルに、ステップS501で与えられた出力パラメータの目標値を代入することで、出力パラメータの目標値を満たす解となる入力データ(入力パラメータの値)を推定する。そして、探索装置300は、解となる入力データが存在する分割領域を特定する。たとえば、予測モデルが図1の入出力関係を示す関数である場合、出力パラメータの目標値としてy6が与えられると、分割領域A1〜A9のうち、解が存在する分割領域として、A1、A4、A7の3つの分割領域が推定される。A1、A4、A7の各分割領域において出力データが未取得の場合には、前述した通りステップS5060AおよびステップS5070Aが実行される。
ステップS510において、探索装置300は、取得済みの出力データより目標値y6と等しい出力データが存在する分割領域、出力データと目標値の差または乖離が許容値(S501で与えられた許容値)より小さい出力データが存在する分割領域、または目標値y6に最も近い出力データが存在する分割領域を特定し、この分割領域を最良解OS2が存在する領域(以下、特定の分割領域)に決定する。特定の分割領域となりうる分割領域が複数特定された場合には、探索装置300は、それら全てを最良解OS2が存在する分割領域に決定する。または、探索装置300は、それら複数の分割領域のうち、出力データと目標値の差または乖離が許容値(S501で与えられた許容値)より小さい出力データ取得できた数が最も多い分割領域を、最良解OS2が存在する分割領域に決定する。上記の例の場合、取得した出力データが、予測モデルが示した図1と同様だった場合には、y6と等しいまたはy6に近い値が得られた分割領域A1、A4、A7全て、または分割領域A4が特定の分割領域に決定される。探索装置300は、特定の分割領域において出力パラメータの目標値と等しい、出力データと目標値の差または乖離が許容値(S501で与えられた許容値)より小さい、または目標値に最も近い出力データが得られた際の入力パラメータの値を最良解OS2に決定する。
もう1つのステップS509の処理は、予測モデルにステップS501で与えられた出力パラメータの目標値を代入することでは、出力パラメータの目標値を満たす解となる入力パラメータを直接求められない場合に適用できる方法である(第2の推定方法)。第2の推定方法は、予測モデルに一度に与える入力パラメータを一組として、予測モデルに、多数の入力パラメータの組を与え、推定出力パラメータを計算し、最も目標出力に近い加工結果が得られる入力パラメータの組を取得する方法である。例えば、探索装置300は、各分割領域に含まれる入力パラメータの組を、分割領域毎に1つ以上作成し、これを予測モデルに与え、その際の出力パラメータを計算することができる。分割領域毎の代表的な推定出力を得る方法としては、分割領域に含まれる入力パラメータの組として、分割領域内の中心座標となる値を用いることができる。
極めて多数の入力パラメータの組を予測モデルに与え推定出力を計算する場合において、計算時間が膨大になる場合には、上記式(1.1)〜式(1.3)を用いて述べた通り、探索装置300は、予測モデルに与える入力パラメータの中心条件を決定し、その中心条件から変更可能な入力パラメータの種類を制限することで、計算時間を抑制することができる。また、中心条件から一度に変更可能なパラメータの数を制限することで、計算時間を抑制することができる。これにより、探索装置300は、予測モデルに与える入力パラメータの組の数を削減しながら、目標出力により近い結果が得られる入力パラメータを得ることができる。中心条件を設定する際には、過去の探索結果またはエンジニアの知識を利用することができる。または、全探索領域の中心座標を中心条件とすることができる。
第2の推定方法では、具体的には、探索装置300は、ステップS508で得られた予測モデルに、入力パラメータの組の値を代入することで、予測値となる出力パラメータの値を取得する。たとえば、予測モデルが図1の入出力関係を示す関数である場合、予測モデルへ入力パラメータの値として、(x11,x21),(x11,x22),(x11,x23),(x12,x21),(x12,x22),(x12,x23),(x13,x21),(x13,x22),(x13,x23),(x1n,x21),(x1n,x22),(x1n,x23)が与えられると、各入力パラメータに対応する推定出力パラメータを得ることができる。
これらの各入力パラメータに対応する出力パラメータが未取得である場合(ステップS5090A:Yes)には、探索装置300は、各入力パラメータを用いて自律探索を実行し(ステップS5060A)、解が存在すると推定した領域内の出力データ、すなわち探索結果を取得しデータベース205に保存する(ステップS5070A)。これらの自律探索および結果の保存はステップS506およびステップS507と同様の処理である。また、各入力パラメータに対応する出力パラメータが取得済みである場合(ステップS5090A:No)、ステップS510に移行する。
そして、ステップS510において、探索装置300は、たとえば、分割領域において、出力パラメータの目標値から最も近い予測値となる出力パラメータの値が得られた入力パラメータの値を最良解OS2に決定する。たとえば、取得した出力データが、予測モデルが示した図1と同様だった場合には、出力パラメータの目標値がy10であった場合、入力パラメータの値(x13,x23)に応じた出力パラメータの値y10が最も近い値となる。したがって、最良解OS2は、(x13,x23)となる。なお、第1の推定方法および第2の推定方法のうち、いずれを適用するかはあらかじめ設定される。
探索装置300は、最良解OS2の値は最良解OS1の値より目標に近い出力パラメータが得られる解であるか否かを判断する(ステップS511)。そして、最良解OS2の値は最良解OS1の値より目標に近い出力パラメータが得られる解である場合(ステップS511:Yes)、ステップS512に移行し、そうでない場合(ステップS511:No)、ステップS601(図6)に移行する。
ステップS511:Yesの場合、探索装置300は、最良解OS2を最良解OS1に設定することで、最良解OS1を更新する(ステップS512)。また、探索装置300は、更新後の最良解OS1の分割領域を探索領域に設定することで、探索領域を更新する(ステップS514)。
このあと、探索装置300は、目標が達成されたか否かを判断する(ステップS514)。目標が達成された場合(ステップS514:Yes)、探索装置300は、制御処理を終了する。一方、目標が達成されていない場合(ステップS514:No)、ステップS505またはステップS601(図6)に移行する。ステップS505またはステップS601(図6)のいずれに移行するかは、あらかじめ設定されていてもよく、その都度、ユーザに選択させてもよい。なお、目標未達成(ステップS514:No)で、かつ、ステップS505に移行する場合、探索装置300は、ステップS513の更新後の探索領域を分割することになる(ステップS505)。
ステップS514では、具体的には、たとえば、更新後の最良解OS1に対応する出力パラメータが目標値と等しいまたは目標値との差が許容範囲内である場合、探索装置300は、目標達成と判断する(ステップS514:Yes)。また、更新後の最良解OS1に対応する出力パラメータが目標値と等しいまたは目標値との差が許容範囲内でなくても、ステップS501で設定した探索時間が経過した場合、目標を達成したと判断する(ステップS514:Yes)。一方、更新後の最良解OS1に対応する出力パラメータが目標値と等しいまたは目標値との差が許容範囲内でなく、かつ、ステップS501で設定した探索時間が経過していない場合、目標未達成と判断する(ステップS514:No)。
図6は、半導体処理装置201の制御処理手順例を示すフローチャート2である。探索装置300は、ステップS509で得られた分割領域内の探索データを除外データに決定する(ステップS601)。具体的には、たとえば、探索装置300は、推定領域内の入力データ(入力パラメータの値)をおよび出力データ(出力パラメータ)を除外データに決定する。除外データは、今後の処理で除外される可能性のあるデータである(実際の解析対象となるデータからの除外は図7のS703、または図6〜図8のS608で実施)。同様に、探索装置300は、ステップS510で得られた分割領域を除外領域に決定する(ステップS602)。除外領域は、今後の処理で除外される可能性のある領域である(実際の解析対象となるデータからの除外は図8のS803、または図6〜図8のS608で実施)。
このあと、探索装置300は、ステップS509で得られた分割領域を分割するか否かを判断する(ステップS603)。分割する場合(ステップS603:Yes)、ステップS604に移行し、分割しない場合(ステップS603:No)、ステップS608に移行する。
ステップS603では、具体的には、たとえば、探索装置300は、ユーザからの分割指示入力の有無により、分割領域を分割するか否かを判断する。また、探索装置300は、強制的に分割領域を分割してもよい(ステップS603:Yes)。
このあと、探索装置300は、ステップS508と同様、予測モデルを生成する(ステップS604)。つぎに、探索装置300は、ステップS509と同様、ステップS603で分割された分割領域群のうち、解が存在する分割領域を推定する(ステップS605)。推定された分割領域を、推定分割領域と称す。そして、探索装置300は、ステップS6090A、S6060A、S6070Aにおいて、ステップS5090A、S5060A、S5070Aと同様の処理を実行する。具体的には、たとえば、解が存在すると推定した領域内の出力データが取得済みである場合(ステップS6090:Yes)には、探索装置300は、推定した分割領域中から最良解OS3を特定し、特定した最良解OS3をデータベース205に保存する(ステップS606)。また同様に、解が存在すると推定した領域内の出力データが未取得である場合(ステップS6090:No)には、探索装置300は、推定した領域内の自律探索を実行し(ステップS6060A)、解が存在すると推定した領域内の出力データ、すなわち探索結果を取得し、データベース205に保存する(ステップS6070A)。
このあと、ステップS511と同様、探索装置300は、最良解OS3に対応する出力パラメータの値は最良解OS1に対応する出力パラメータの値より目標に近い解であるか否かを判断する(ステップS607)。そして、最良解OS3に対応する出力パラメータの値は最良解OS1に対応する出力パラメータの値より目標に近い解である場合(ステップS607:Yes)、ステップS512に移行し、そうでない場合(ステップS607:No)、ステップS608に移行する。ステップS608において、探索装置300は、探索領域から除外領域を除外するか、除外領域の除外および除外データを除外することにより、探索領域を更新して(ステップS608)、ステップS505に移行する。
図7は、半導体処理装置201の制御処理手順例を示すフローチャート3である。フローチャート3は、図6に示したフローチャート2の他の処理例である。なお、図6と同一処理については、同一ステップ番号を付し説明を省略する。探索装置300は、ステップS601のあと、探索装置300は、ステップS601で決定された除外データを除外するか否かを判断する(ステップS703)。除外して解析する場合(ステップS703:Yes)、ステップS604に移行し、除外しないで解析する場合(ステップS703:No)、ステップS608に移行する。
ステップS703では、具体的には、たとえば、探索装置300は、ユーザからの除外指示入力の有無により、除外データを除外して解析するか否かを判断する。また、探索装置300は、強制的に除外データを除外して解析してもよい(ステップS703:Yes)。
このあと、探索装置300は、除外データを使用せずに、分割領域の予測モデルを生成し(ステップS604)、ステップS605、S6090A、S6060A、S6070A、S606、S607、S608を実行する。
図8は、半導体処理装置201の制御処理手順例を示すフローチャート4である。フローチャート4は、図6に示したフローチャート2の他の処理例である。なお、図6と同一処理については、同一ステップ番号を付し説明を省略する。探索装置300は、ステップS602のあと、探索装置300は、ステップS602で決定された除外領域を除外して解析するか否かを判断する(ステップS803)。除外して解析する場合(ステップS803:Yes)、ステップS604に移行し、除外しないで解析する場合(ステップS803:No)、ステップS608に移行する。
ステップS803では、具体的には、たとえば、探索装置300は、ユーザからの除外指示入力の有無により、除外領域内の解(入力パラメータの値)を除外して解析するか否かを判断する。また、探索装置300は、強制的に除外領域を除外して解析してもよい(ステップS803:Yes)。
このあと、探索装置300は、ステップS604と同様、分割領域の予測モデルを生成する(ステップS604)。つぎに、探索装置300は、除外領域内の解(入力パラメータの値)を使用せずに、ステップS603で分割された分割領域群のうち、解が存在する分割領域を推定する(ステップS605)。推定された分割領域を、推定分割領域と称す。そして、探索装置300は、ステップS6090A、S6060A、S6070A、S606、S607、S608を実行する。
なお、本制御処理において、データの解析、保存、転送等の規模が大きくなり、その実行時間が1条件を探索する時間より長くなる場合には、それらの実行と並列して探索を継続することが可能である。その際には、探索条件において変更する入力パラメータ数、同時に変更する入力パラメータ数、探索領域の分割数のうち1つ以上を増加させる。これにより、探索条件数を増加させ、この条件を探索することで、解析等を実行する時間を利用して探索結果を増加させることができる。特に、データの解析に必要な時間は数分から数時間以上になる場合があり、その解析中に探索を継続することで、探索速度を向上させることができる。
<半導体処理装置201の制御処理の適用例1A>
つぎに、半導体デバイスの量産前における半導体処理装置201のメンテナンスにおいて、半導体処理装置201の装置差を補正するための制御処理の適用例を示す。ここでは機差抑制の手順を説明する例として、半導体処理装置201を、放電処理を行うエッチング装置とした。また、ここでは放電処理を実行する際の入力パラメータをレシピと称する。放電処理を行うエッチング装置では、補正対象となる出力として、処理結果または処理に用いる放電の特性が挙げられる。補正の方法としては、基準となるエッチング装置と同一の出力が得られるように他のエッチング装置を補正する方法、または複数のエッチング装置の出力が均一となるように補正する方法がある。
図9は、機差抑制方法を示すフローチャートである。図9は、具体的には、たとえば、半導体デバイスの量産前における半導体処理装置201のメンテナンス処理手順例を示す。装置差の補正を行うために、探索装置300は、メンテナンス後放電データ取得を開始する。
まず、探索装置300は、基本的な放電処理を行うためのレシピを用いて基準レシピ放電を行い、その際の入出力データを取得する。また、量産で用いられるレシピによる放電を行い、その際の出力データ(出力パラメータの値)を取得する(ステップS901)。ステップS901は、ステップS501〜S504に対応する処理である。
つぎに、探索装置300は、装置差補正レシピを探索する(ステップS902)。ステップS902は、ステップS505〜S507に対応する処理である。そして、探索装置300は、ステップS902の探索した装置差補正レシピを用いた装置差補正を実行する(ステップS903)。ステップS903は、ステップS508〜S513、図6〜図8の処理に対応する処理である。補正目標を達成していない場合(ステップS904:No)、ステップS902に戻り、補正目標を達成した場合(ステップS904:Yes)、処理を終了する。ステップS904は、ステップS514に対応する処理である。
なお、同一のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させてもよい。その際には、図9の手順によって装置差が補正された複数のエッチング装置を使用することで、目標を満たす解が探索できる可能性を高めることができる。更に、探索された解をそれらの複数の装置に展開し補正を行うことが可能となる。
このように、半導体処理装置201のメンテナンス後に探索装置300による探索方法を実行することにより、半導体処理装置201の出力パラメータの値を基準となる出力パラメータの値へ近付けることができる(自動機差補正機能)。
<半導体処理装置201の制御処理の適用例2A>
つぎに、半導体デバイスの量産処理において、経時変化を補正するための制御処理の適用例を示す。
図10は、経時変化補正方法を示すフローチャートである。図10では、図9と同様に、経時変化を補正する手順を説明する例として、半導体処理装置201を、処理に放電を使用するエッチング装置とした。量産前放電データ取得では、量産中の経時変化の補正を行うために、探索装置300は、まず基本的な放電処理を行うための基準レシピをエッチング装置に与えて基準レシピ放電を行い、その際の出力データ(出力パラメータの値)を取得する(ステップS1011)。ステップS1011は、ステップS501〜S504に対応する処理である。
つぎに、探索装置300は、装置差補正候補レシピを探索する(ステップS1012)。ステップS1012では、過去の量産時の入出力データの解析結果より、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータが用いられる。そして、探索装置300は、量産開始前のエッチング装置において、これらの経時変化を予想できるデータを経時変化後の値にまで変動させるための装置差補正候補レシピの探索を実行する。ステップS1012は、ステップS505〜S507に対応する処理である。
つぎに、探索装置300は、装置差補正を実行する(ステップS1013)。ステップS1013では、探索装置300は、経時変化が発生していない状態にて用いる基本の量産用レシピとステップS1012で探索された装置差補正候補レシピとを比較して、装置差補正候補レシピで変更された入力パラメータを明らかにする。これにより、量産前の段階で、補正対象の入力パラメータと出力パラメータとの関係を説明する関数を生成することが可能となり、またその関係より補正候補となるレシピを生成することができる。ステップS1013は、ステップS508〜S513、図6〜図8の処理に対応する処理である。このあと、量産処理が開始される。
ステップS1013のあと、半導体デバイスの量産処理が開始されると、ウェハが処理室に導入され(ステップS1021)、エッチング装置が、ウェハをエッチングする(ステップS1022)。エッチング(ステップS1022)は、1ステップまたは複数ステップから構成される。エッチング(ステップS1022)が複数ステップの場合、各ステップのエッチングは、放電条件を変更して実行される。エッチング(ステップS1022)の完了後に、ウェハは、処理室外へ搬出される(ステップS1023)。そして、エッチング中に発生し処理室表面に堆積した反応性生物を除去するため、プラズマクリーニングが実施される(ステップS1024)。次のウェハがあれば(ステップS1025:Yes)、ステップS1021に戻り、次のウェハがなければ(ステップS1025:No)、量産後放電データ取得に移行する。
量産中のエッチング装置の入出力データは、データベース205に保存され、探索装置300は、並列して入出力データをリアルタイムで解析し続ける。これにより、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータの推定を量産中に継続することが可能である。また、探索装置300は、同一の量産処理を実行する複数のエッチング装置の入出力データを集約することで、データ数を増加させることができる。
量産後または量産開始から指定した時間が経過した際に放電データを取得した場合、探索装置300は、経時変化を補正するレシピの探索を実行する(ステップS1031)。具体的には、たとえば、探索装置300は、ステップS1011、S1012で取得したデータ、解析された入出力データの関係、および補正候補レシピをステップS502の入力として使用し、経時変化補正レシピを探索する。ステップS1031は、ステップS505〜S507に対応する処理である。
そして、探索装置300は、探索結果である経時変化補正レシピを用いて、補正結果の検証を行う(ステップS1032)。ステップS1032は、ステップS508〜S513、図6〜図8の処理に対応する処理である。
また、ステップS1031、S1032の実行前に、探索装置300は、半導体デバイスの量産中に取得した出力データを解析し、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータを推定し、ステップS1012を実行してもよい。これにより、補正対象の入力パラメータと出力パラメータとの関係を説明する関数を生成し、またその関係より補正候補となるレシピを生成することができる。これらの結果を、ステップS502で用いることで、探索装置300は、ステップS1031、S1032を実行することができる。
さらに、上記探索におけるステップS502の入力としては、エンジニアの知識を用いて、補正に頻繁に用いられる入力パラメータを変更したレシピ、およびそのレシピを用いて放電した際の入出力データとその解析結果を用いてもよい。
そして、補正目標を達成していない場合(ステップS1033:No)、ステップS1031に戻り、補正目標を達成した場合(ステップS1033:Yes)、処理を終了する。ステップS1033は、ステップS514に対応する処理である。図10に示した探索を実行する際には、同一の量産処理を実施した量産後のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させることができる。更に、探索された解(入力パラメータ)は、同一の量産処理を実行する複数のエッチング装置に展開し補正を実行することが可能である。
このように、半導体の量産後において探索装置300による探索方法を実行することにより、量産中の半導体処理装置201の出力パラメータの値の経時変化を補正することができる(自動経時変化補正機能)。
このように、探索装置300は、半導体処理装置201の入力パラメータの値および出力パラメータの値を自動解析し、その解析結果を考慮した上で、入力パラメータの値を探索するための実験条件を自動で決定する。そして、探索装置300は、当該実験結果の検証を自動で行い、これらの自動動作を繰り返すことで、目標とする装置状態および処理結果(出力パラメータの値)が得られる入力パラメータの値を自動的に探索することができる。これにより、半導体処理装置201自らが自動的に装置性能を引き出すことができ、加えて装置性能を引き出すための制御モデル開発や装置パラメータ(入力パラメータと出力パラメータとの組み合わせ)の選定を行うエンジニアを支援することができる。
以上説明したように、本実施例にかかる探索装置300は、半導体を処理する半導体処理装置201に設定される条件または半導体処理装置201により半導体が処理された加工結果を示す目標値と、条件と加工結果との範囲により規定される探索領域内における条件または加工結果のうち目標値が示す方の基準値と、の入力を受け付ける入力部401と、探索領域内の条件の設定値と、当該設定値を半導体処理装置201に与えた場合の加工結果の実測値と、に基づいて、条件と加工結果との関係を示す予測モデルを生成する生成部402と、生成部402によって生成された予測モデルに、入力部401によって入力された目標値を与えることにより、予測モデルから予測値を取得し、予測値の存在領域を探索領域から特定する特定部403と、予測値に対応する前記加工結果の実測値が入力部401によって入力された基準値よりも目標値に近いか否かを判断する判断部404と、判断部404によって予測値に対応する前記加工結果の実測値の方が目標値に近いと判断された場合、予測値を基準値に設定し、特定部によって特定された予測値の存在領域を探索領域に設定する設定部405と、予測値に対応する前記加工結果の実測値が目標値の達成条件を充足した場合に達成条件を充足した予測値を出力する出力部406と、を有する。
これにより、半導体処理装置201の入出力に関する最良解への到達精度の向上を図ることができる。したがって、半導体処理装置201における運用の効率化および処理の最適化を図ることができる。
また、探索装置300は、判断部404によって予測モデルから得られた予測値に対応する前記加工結果の実測値の方が目標値に近くないと判断された場合、決定部407により予測値の存在領域内の予測値および予測値に対応する前記加工結果の実測値を除外データに決定し、設定部405により探索領域から除外データと当該除外データが得られた場合に半導体処理装置201に与えられた目標値とにより特定される除外領域を除いた残存領域を探索領域に設定する。これにより、目標値に近くない予測値と目標値との組み合わせが存在する除外領域を最新の探索領域から除外することができ、最良解への到達精度の向上を図ることができる。
また、探索装置300は、分割部408により探索領域を複数の領域に分割し、判断部404によって予測値に対応する前記加工結果の実測値の方が目標値に近いと判断された場合、特定部403により、予測値を基準値に設定し、予測値の存在領域を複数の分割領域の中から特定する。これにより、予測値の存在領域を容易に特定することができ、探索速度の向上を図ることができる。
また、探索装置300は、分割部408により探索領域を複数の領域に分割し、生成部402により、分割領域内における条件の設定値を半導体処理装置201に与えた場合の加工結果の実測値を、分割領域ごとに取得し、生成部402により、各分割領域での条件の設定値と加工結果の実測値とに基づいて、予測モデルを生成する。これにより、複数の半導体処理装置201を用いることで、実測値を分割領域ごとに並列に取得することができ、予測モデルの生成速度の高速化を図ることができる。
また、探索装置300は、判断部404によって予測値に対応する前記加工結果の実測値の方が目標値に近くないと判断された場合、決定部407により予測値の存在領域内で取得したデータを除外データに決定し、生成部402により、実測値から除外データを除いた特定の実測値と、設定値から除外データが得られた場合に半導体処理装置201に与えられた設定値を除いた特定の設定値と、に基づいて、予測モデルを生成する。また、目標値に近くない予測値と設定値との組み合わせが存在する除外領域を予測値の候補から除外することができ、予測モデルの精度向上を図ることができる。したがって、生成された予測モデルにより、より良い予測値を得ることができる。
また、探索装置300は、検出部409により、加工結果の実測値と、所定の出力しきい値と、に基づいて、半導体処理装置201の不安定動作を検出し、出力部406により、検出部409による検出結果を出力する。これにより、探索の継続可否をユーザに促すことができる。
本実施例2は、前記実施例1の領域分割に加えて、予測モデルに基づいて実証実験を行って、目標を満たす最適の解を探索する。このため、本実施例2では、実証実験の結果(加工結果)を学習データに加えて予測モデルの更新を、目標を満たすまで繰り返して実施し、さらに、目標を徐々に最終目標へ向けて更新することで最適の解を探索する。半導体製造システムについては、前記実施例1と同様の構成であり、処理の内容については、前記実施例1と相違する部分について説明する。
<入力パラメータの探索例>
図11は、入力パラメータの探索例を示す説明図である。図11は、前記実施例1の図1と同様の、半導体処理装置において目標を満たす出力データ(出力パラメータの値)が得られる入力データ(上述した入力パラメータの値)を探索する際の半導体処理装置に対する入力データと出力データとの組み合わせの例を示す。
本実施例2では、探索装置300に図中初期データ点(丸印)のパラメータを与えて予測モデルを生成させ、予測モデルによる予測結果を図中第1回予測点(三角印)として算出させる。探索装置300は半導体処理装置201で第1回予測点のデータで、実証実験を実施して、実証実験結果(加工結果)を学習データとして、予測モデルを更新する。
探索装置300は、前回の実証実験結果を加えた学習データから予測モデルを更新して、予測モデルによる予測結果を図中第2回予測点(四角印)として算出する。実証実験の結果(加工結果)が目標を満たすまで上記の処理を繰り返すことで、最適の解を探索することができる。
前記実施例1の図4に示した各機能部は、本実施例2では以下のような機能とする。特定部403は、生成部402によって生成された予測モデルに、入力部401によって入力された目標値を与えることにより、目標値に対応する予測値を予測モデルから複数取得する。そして、特定部403は、各予測値を半導体処理装置201に設定値として与えた場合の各出力の実測値を、取得する。
目標値が半導体処理装置201の出力パラメータの値である場合、特定部403は、予測モデルに当該出力パラメータの値を与えることにより、目標値に対応する予測値として入力パラメータの値を予測モデルから取得する。
具体的には、たとえば、図11において、目標値が出力パラメータの値y12である場合、当該目標値y12に対応する予測値は、図11の目標値y12の等高線により特定される入力パラメータX1、X2の値である。したがって、特定部403は、探索領域Aから目標値y12の等高線により特定される入力パラメータX1、X2((x11,x21),(x12,x21),(x13,x21)等)を特定する。
判断部404は、前記実施例1と同様であり、予測値に対応する目標値が、入力部401によって入力された加工結果の基準値よりも目標値に近いか否かを判断する。
設定部405は、判断部404によって予測値に対応する目標値の方が、加工結果の基準値よりも目標値に近いと判断された場合、予測値および予測値に対応する目標値を条件の基準値および加工結果の基準値に設定する。
出力部406は、前記実施例1と同様であり、予測値が目標値の達成条件を充足した場合に達成条件を充足した予測値を出力する。
決定部407は、判断部404によって予測値に対応する目標値の方が、加工結果の基準値よりも目標値に近くないと判断された場合、予測値および予測値に対応する目標値を除外データに決定する(図13のステップA601で後述)。除外データとは、予測モデルに与えてはいけない入力パラメータの値である。
またこの場合、設定部405は、決定部407によって決定された除外データを除いたデータを学習データに設定する。これにより、生成部402は、除外データが存在しない学習データを用いることができる。したがって、解である入力パラメータの値の探索速度の向上を図ることができる。
また、決定部407は、判断部404によって予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値の周辺領域を除外領域に決定してもよい(図13のステップA602で後述)。除外領域とは、予測モデルが出力してはいけない入力パラメータの値の領域である。更に、予測値の周辺領域に含まれる取得済みのデータを除外データに決定してもよい。
またこの場合、設定部405は、探索領域から決定部407によって決定された除外領域を除いた残存領域を探索領域に設定する。これにより、目標値に近くない加工結果しか得られない予測値の範囲を除外して探索領域を絞り込むことができる。したがって、解である入力パラメータの値の探索速度の向上を図ることができる。
分割部408は、前記実施例1と同様であり探索領域を複数の領域に分割する。
また、決定部407は、上述したように、判断部404によって予測値に対応する目標値の方が加工結果の基準値よりも前記目標値に近くないと判断された場合、予測値および予測値に対応する目標値を除外データに決定してもよい。この場合、生成部402は、前記実施例1の図9と同様に、実測値から除外データを除いた残余の実測値と、設定値から残余の実測値に対応する設定値を除いた残余の設定値と、に基づいて、予測モデルを生成してもよい。これにより、解である入力パラメータの値の探索速度の向上を図ることができる。
また、決定部407は、上述したように、判断部404によって予測値に対応する目標値の方が加工結果の基準値よりも目標値に近くないと判断された場合、予測値の周辺領域を除外領域に決定してもよい。この場合、生成部402は、前記実施例1の図6と同様に、探索領域から除外領域を除いた残余の探索領域内の条件の設定値と、当該設定値を半導体処理装置201に与えた場合の出力の実測値と、に基づいて、予測モデルを生成してもよい。これにより、解である入力パラメータの値の探索速度の向上を図ることができる。
検出部409は、前記実施例1と同様であり、半導体処理装置201の出力と、所定の出力しきい値と、に基づいて、半導体処理装置201の不安定動作を検出する。
<半導体処理装置201の制御処理手順例>
図12は、本実施例2における半導体処理装置201の制御処理手順例を示すフローチャートである。図中ステップA501〜A504は、前記実施例1の図5のステップS501〜S504と同様である。探索装置300は、目標とする半導体処理装置201からの出力値(出力パラメータの目標値)、および探索設定の入力を受け付ける(ステップA501)。
つぎに、探索装置300は、ベースとなる解の入力およびその解に関する情報の入力を受け付ける(ステップA502)。
つぎに、探索装置300は、ステップA502で入力された最良の解を最良解OS1として保存する(ステップA503)。解が無い場合には、解から最も遠いことを示す記号または値が設定される。
つぎに、探索装置300は、基本探索領域を探索領域として設定する(ステップA504)。
たとえば、図11において、入力パラメータの種類としてX1、X2の2つの入力パラメータが選択された場合、入力パラメータX1の制御範囲を[x11,x1n]、入力パラメータX2の制御範囲を[x21,x2n]とすれば、図11に示した全範囲の領域Aが探索領域となる。
ステップA501〜A504の目標設定コントローラ261の入力および設定内容は、自律探索システム262へ渡され、次に説明するステップA505〜A509の手順によって自動探索、もしくは探索実行や継続の可否をエンジニアが指示する形の半自動探索が実行される。
探索装置300は、目標(目標出力)を満たす解(入力パラメータ)を予測するための予測モデルを生成する(ステップA505)。具体的には、たとえば、探索装置300は、ステップA505でデータベース205に保存されたデータ(例えば、初期データ)を用いて、半導体処理装置201の入出力データの関係を示す関数を予測モデルとして生成する。入出力データとは、半導体処理装置201に与えられる入力パラメータの値(入力データ)と半導体処理装置201から得られる出力パラメータの値(出力データ)の組である。なお、入出力データの関係を解析する方法としては、前記実施例1と同様であり、ニューラルネットワーク、サポートベクター回帰、カーネル法を用いた回帰等の多入力多出力に応対可能な回帰分析を使用できる。また、相関分析、主成分分析、重回帰分析等の統計解析が使用できる。
予測モデルの生成において、出力データとして、たとえば、半導体処理装置201の加工結果に対する間接的な計測値を取得するセンサデータおよびモニタデータが用いられる。出力データの取得頻度が探索設定で規定した頻度よりも低い、または、探索設定で規定した取得時間よりも長く、探索によって取得できる出力データ数が、探索設定で規定した出力データ数よりも少なくなる場合がある。この場合には、探索設定で規定した出力データの取得数と比較して多くのデータ数が取得可能なセンサデータおよびモニタデータを取得すればよい。これにより、出力データに対するセンサデータおよびモニタデータの関係や、センサデータおよびモニタデータに対する入力データの関係を解析することができる。また、これらの両方の解析結果を用いることで、出力データに対する入力データの関係を求めることができる。
また、予測モデルの生成において、処理対象の一部を断片として取出し、その断片をモニタシステム203へ運搬することで計測結果(加工結果)を取得し、その結果としてデータベース205に保存されたデータを、出力結果として用いることもできる。その際、処理対象の断片化及びデータ取得のために必要な時間がランダム、または長時間となる場合には、半導体処理装置201からの出力データ(出力パラメータの値)の取得時間の上限を十分に長い時間とすれば良い。もしくは、出力データの取得時間の上限を設定せずに、取得終了の信号を別途、探索装置300へ送信することで、処理を継続することができる。
モニタシステム203での計測の際には、目標設定コントローラ261へ入力された、前述した位置情報データ、画像情報データを使用することで、処理対象の所望の位置より所望の出力データを自動的に計測することができる。
つぎに、探索装置300は、生成された予測モデルを用いて、目的の解が得られる、もしくは目的の解に近い加工結果を得るためのパラメータを予測し、予測結果として保存する(ステップA506)。
たとえば、図11において、入力パラメータの種類としてX1、X2の2つの入力パラメータが選択された場合において、解析モデルを作成するためのデータとして、図11中の初期データ(A1〜A9)が与えられた場合を用いて、予測結果の出力について説明する。また、この際の目標は、出力パラメータyが最も大きくなる入力パラメータX1、X2を探索することである。
探索装置300は、初期データを用いて、その入出力関係を求める回帰モデルを予測モデルとして生成する。前述した通り、入力パラメータX1の制御範囲を[x11,x1n]、入力パラメータX2の制御範囲を[x21,x2n]に分割すると、グラフ100の領域数は、n2となる。X1、X2を16分割する場合では、領域数はn2=256となる。図11では、初期データ数は9点のため、全領域の約3.5%のデータが取得されていることになる。
従って、グラフ100に示したYの正確な分布を知ることはできないため、予測モデルから得られる、予測結果として、最良解y1が得られるX1およびX2の組合せ(x15,x210)を一回の予測で探索することは極めて難しい。また、前述した通り、入力パラメータ空間が、多次元ベクトル化して広大となった場合に、より最良解の探索が困難となる。
一回の予測で最良解を探索するためには、探索空間内の全領域を網羅するデータを取得し、解析する必要があるが、前述した通り、パラメータ数の増加に従い、パラメータの組合せが膨大となるため、全領域の探索は探索時間が膨大となり、実施することが極めて困難となる。
これらの問題を回避しながら、効率良く解を探索するためには、(a)モデル作成用データの取得、(b)予測モデルの作成、(c)予測結果の取得、(d)予測結果の実証実験を行い、更に(a’)実証実験データをモデル作成用データへ追加することで、予測と検証を繰り返せば良い。すなわち、図11中の初期データを用いて、(a)〜(d)を行い、図11中の第1回予測データ(=実証データ)をモデル作成用データとしてデータベース205へ追加し、(b)、(c)、(d)を繰返し、更に、(a’)〜(d)を繰り返し続ければ良い。
これらの(a)、(b)、(c)、(d)は、図12の、A502、A505、A506、A507のそれぞれのステップに対応する。また(a’)はステップA508に対応する。
具体的には、たとえば、探索装置300は、予測条件を探索条件として、自律探索により、各探索条件における半導体処理装置201の入出力データを実証実験結果、すなわち探索結果として取得する。
具体的には、たとえば、探索装置300は、分割領域ごとに、探索条件を満たす入力パラメータの値を選択し、選択した入力パラメータの値を半導体処理装置201に与える。そして、探索装置300は、半導体処理装置201からの出力データ(出力パラメータの値)を取得する。この入力パラメータの値と、当該値に対応する出力パラメータの値と、の組み合わせが、探索結果である。
またこの場合、不安定動作検出システム263は、自律探索実行時において、半導体処理装置201が処理動作を継続可能ではあるが、半導体処理装置201の処理が不安定になる場合を検出する。不安定動作が検出された場合には、処理完了後に半導体処理装置201を定常動作状態へ復旧するためのシーケンスを実施するか、処理を直ちに停止し半導体処理装置201を定常動作状態へ復旧するためのシーケンスを実行することで、目標設定コントローラ261による自律探索を継続する。
探索装置300は、探索結果をデータベース205に保存する(ステップA508)。具体的には、たとえば、探索装置300は、自律探索(ステップA507)で用いられた入力パラメータの値と、当該入力パラメータの値を用いて取得された半導体処理装置201の出力パラメータの値と、の組である入出力データを、探索結果としてデータベース205に保存する。
ステップA506の1度に予測する点数が1点以上あれば、上記(a)または(a’)〜(d)を繰返すことが可能である。ただし、予測点数が1点の場合には、最終的な最適解に到達するまでに、モデルから予測される局所解を一つずつ経由することになり、局所解が多くなるほど探索が長期化する。
また、実証実験における1点のデータ取得に必要な時間に対し、予測モデル作成と予測結果の出力の合計時間が長い場合には、予測点数を1点とすると、予測結果が出力されるまで半導体処理装置201は待機状態となる。前述した(a’)〜(d)を繰返す度にこの待機時間が発生するため、探索が長期化する。
従って、予測データ点を複数求めておくことで、予測モデル作成および予測結果の出力中に実証実験を進めることが可能となり、探索を効率化することができる。
また、予測データを複数点とすることで、より広範囲な探索領域を考慮した際の最良解が得られるため、最終的な最適解となる可能性が低い局所解を避けながら、効率良く探索を進めることができる。
ステップA507およびA508にて取得されるデータは、今まで未取得の新しいデータであるため、本データをエンジニアへ提供することで、エンジニアが行う解析および結果の把握を支援することができる。
そのため、エンジニアが要求するデータの更新速度、すなわちデータを更新すべき時間幅がある場合には、その時間幅に合わせてステップA507の探索時間を設定することが望ましい。エンジニアが要求するデータを更新すべき時間とは、例えば24時間、8時間、1時間、30分等である。
よって、エンジニアのデータ更新要求時間に合わせて、ステップA506の予測結果の出力数、即ち予測データ数を増やすことができる。例えば、エンジニアが1時間毎のデータ更新を要求しており、1回の探索に10分を要する場合には、それに合わせて、予測データ点数を6点とすることが望ましい。
これにより、図12の探索およびエンジニアの解析を効率良く進めることができる。ステップA505の予測モデルの作成では、予測モデル作成で採用した解析手法、例えば、ニューラルネットワーク、サポートベクター回帰、カーネル法を用いた回帰手法に依存した予測モデルが作成される。各種解析モデルは、入出力データの種類、それらデータが持つ分布特性、データ数に対して、モデル毎に得手不得手があり、予測精度が上下する。そのため、単一の予測エンジンを用いた場合には、その予測エンジンが取得した入出力データに不適切な場合があり、探索時間が長期化する。従って、複数の種類の予測モデル(予測エンジン)を用いて、複数の予測データを求めることで、多様な入出力データに対応しながら、より良い予測結果を出力できる可能性を高めることができる。
尚、予測結果として出力されたデータに対応する実証実験データが取得済みの場合には、そのデータの実証実験を行わないことで、探索を効率化することができる。
つぎに、取得したデータから最良解OS2を特定し、特定した最良解OS2をデータベース205に保存する(ステップA509)。
ステップA505からA509の処理は、2通りの方法がある。1つは、予測モデルに、ステップS501で与えられた出力パラメータの目標値を与える方法(第1の推定方法)である。
第1の推定方法では、具体的には、たとえば、探索装置300は、ステップA505で得られた予測モデルに、ステップA501で与えられた出力パラメータの目標値を代入することで、出力パラメータの目標値を満たす解となる入力データ(入力パラメータの値)を推定する。
探索装置300は、ステップA507において、予測された入力データの実証実験を行い、その結果取得された出力データをステップA508にてデータベース205へ保存する。
ステップA509において、探索装置300は、取得済みの出力データより目標値と等しい出力データが取得出来た入力パラメータと、出力データと目標値の差または乖離が許容値(S501で与えられた許容値)より小さい出力データが取得できた入力パラメータ、または目標値に最も近い出力データが取得出来た入力パラメータを特定し、これら入力パラメータのうち、最も目標値に近いものを最良解OS2に決定する。
第1の推定方法では、出力パラメータの目標値が得られる入力パラメータを一意に求めることができる、予測モデルを用いる。この場合、予測結果は1データとなる。
予測点の数を増やすためには、出力パラメータの目標値の許容範囲における上限値、下限値、目標値と上限値の中間値、目標値と上限値の間を均等分割した際の値、目標値と下限値の中間値、目標値と下限値の間を均等分割した際の値を、予測モデルへ与えれば良い。加えて、前述した通り、複数の予測モデルを用いることで、予測点数を増加させることができる。
上記の例の場合、図11中の初期データを用いて予測モデルを作成し、予測モデルに目標値としてy1を与え、予測を行い、実証実験において取得した出力データが、予測モデルが示した図11と同様だった場合において、第1回予測点の出力データとして、(x16,x211(図11のデータ(I)))を取得した場合には、それまでに取得した出力データで最良となる、y5が得られた入力パラメータ(x16,x211)が最良解OS2となる。
もう1つのステップA505からA509の処理は、予測モデルにステップA501で与えられた出力パラメータの目標値を代入することでは、出力パラメータの目標値を満たす解となる入力パラメータを直接求められない場合に適用できる方法である(第2の推定方法)。
予測モデルに一度に与える入力パラメータを一組として、予測モデルに、多数の入力パラメータの組を与え、推定出力パラメータを計算し、最も目標出力に近い加工結果が得られる入力パラメータの組を取得する方法である。予測モデルを作成した後、例えば、図11に示すように、グラフ100の探索領域をA1〜A9等に分割し、各分割領域に含まれる入力パラメータの組を、分割領域毎に1つ以上作成し、これを予測モデルに与えることで、その際の出力パラメータを計算することができる。分割領域毎の代表的な推定出力を得る方法としては、分割領域に含まれる入力パラメータの組として、分割領域内の中心座標となる値を用いることができる。
極めて多数の入力パラメータの組を予測モデルに与えて推定出力を計算する場合において、計算時間が膨大になる場合には、式(1.1)〜式(1.3)を用いて述べた通り、予測モデルに与える入力パラメータの中心条件を決定し、その中心条件から変更可能な入力パラメータの種類を制限することで、計算時間を抑制することができる。また、中心条件から一度に変更可能なパラメータの数を制限することで、計算時間を抑制することができる。これにより、予測モデルに与える入力パラメータの組の数を削減しながら、目標出力により近い加工結果が得られる入力パラメータを得ることができる。中心条件を設定する際には、過去の探索結果またはエンジニアの知識を利用することができる。または、全探索領域の中心座標を中心条件とすることができる。
第2の推定方法では、具体的には、探索装置300は、ステップA506で得られた予測モデルに、入力パラメータの組の値を代入することで、予測値となる出力パラメータの値を取得する。たとえば、図11の初期データを用いて予測モデルを作成し、予測モデルへ入力パラメータの値として、(x11,x21),(x11,x22),(x11,x23),(x12,x21),(x12,x22),(x12,x23),(x13,x21),(x13,x22),(x13,x23),(x1n,x21),(x1n,x22),(x1n,x23)が与えられると、各入力パラメータに対応する推定出力パラメータを得ることができる。
これらの推定出力パラメータの内、推定出力データと目標値の差または乖離が許容値(S501で与えられた許容値)より小さい出力データが取得できた入力パラメータ、または目標値に最も近い推定出力データが取得出来た入力パラメータを特定し、これらの推定出力データおよび入力パラメータを予測結果として保存する。
図11の第1回予測点は、初期データを用いて予測モデルを作成し、目標値をy1として、y6以上を許容値とした際の、予測結果の例である。この例では、非常に少ない数の初期データから予測を行っているため、y6以上の値となると予測された各点は、図11に示された実際の出力値とは異なっている。
つぎに、第1回予測点の実際のデータが取得される。そして、初期データおよび第1回予測点の出力データを用いて、予測モデルが更新される。更新された予測モデルによる予測結果の例が図11中の第2回予測点である。第1回予測結果の出力データに含まれる、最良解は出力y5が得られた(x16,x211)である。それに対して、初期データに第1回予測および予測点の実証実験データ(出力データ)を追加することで、第2回予測および予測点の実証実験データでは、目標のy1により近い出力結果である、(x14,x210(図11のデータ(II)))が得られている。
上記を繰返すことにより、目標値である出力y1を満たす入力パラメータを得ることができる。また、目標となる結果を得るまでに必要となるデータ数を抑えることで、効率良く探索ができる。
そして、ステップA509において、探索装置300は、たとえば、出力パラメータの目標値から最も近い出力パラメータの値が得られた入力パラメータの値を最良解OS2に決定する。なお、第1の推定方法および第2の推定方法のうち、いずれを適用するかはあらかじめ設定される。
探索装置300は、最良解OS2の値は最良解OS1の値より目標に近い出力パラメータが得られる解であるか否かを判断する(ステップA510)。そして、最良解OS2の値は最良解OS1の値より目標に近い出力パラメータが得られる解である場合(ステップA510:Yes)、ステップA511に移行し、そうでない場合(ステップA510:No)、ステップA601(図13)に移行する。
ステップA510:Yesの場合、探索装置300は、最良解OS2を最良解OS1に設定することで、最良解OS1を更新する(ステップA511)。
このあと、探索装置300は、現在の目標が達成されたか否かを判断する(ステップA510)。現在の目標が達成された場合(ステップA512:Yes)、探索装置300は、ステップA513へ移行し、最終の目標が達成されたかを判断する。一方、現在の目標が達成されていない場合(ステップA512:No)、ステップA505に移行する。
このあと、探索装置300は、最終の目標が達成されたか否かを判断する(ステップA513)。最終の目標が達成された場合(ステップA513:Yes)、探索装置300は、制御処理を終了する。一方、目標が達成されていない場合(ステップA513:No)、ステップA514に移行し、目標の更新を行う。
ステップA512では、具体的には、たとえば、更新後の最良解OS1に対応する出力パラメータが現在の目標値と等しいまたは現在の目標値との差が許容範囲内である場合、探索装置300は、現在の目標を達成したと判断する(ステップA512:Yes)。また、更新後の最良解OS1に対応する出力パラメータが現在の目標値と等しいまたは現在の目標値との差が許容範囲内でなくても、ステップA501で設定した探索時間が経過した場合、目標を達成したと判断する(ステップA512:Yes)。一方、更新後の最良解OS1に対応する出力パラメータが現在の目標値と等しいまたは現在の目標値との差が許容範囲内でなく、かつ、ステップA501で設定した探索時間が経過していない場合、目標未達成と判断する(ステップA512:No)。
ステップA513では、具体的には、たとえば、更新後の最良解OS1に対応する出力パラメータが最終の目標値と等しいまたは最終の目標値との差が許容範囲内である場合、探索装置300は、最終の目標を達成したと判断する(ステップA513:Yes)。また、更新後の最良解OS1に対応する出力パラメータが最終の目標値と等しいまたは最終の目標値との差が許容範囲内でなくても、ステップA501で設定した探索時間が経過した場合、目標を達成したと判断する(ステップA513:Yes)。一方、更新後の最良解OS1に対応する出力パラメータが最終の目標値と等しいまたは最終の目標値との差が許容範囲内でなく、かつ、ステップA501で設定した探索時間が経過していない場合、目標未達成と判断する(ステップA513:No)。
ステップA514では目標値、探索結果と目標値との差、または乖離の許容値の更新を行う。A505からA512までの処理を進める際に、最初から最終的な目標を与える場合や、探索結果と目標値との差、または乖離の許容値として、非常に小さな値を与えた場合には、より良い最良解OS2の難易度が上昇し、解が発見できない可能性がある。これを避けるために、探索の初期段階では、最終目標とは別の目標を現在の目標として与えることができる。その現在の目標が達成され、かつ最終目標が満たされない場合(ステップA513:No)、ステップA514において、目標値を段階的に最終目標値に近付けることで、最終的な目標を達成する解を発見できる可能性を高めることができる。
また、現在の目標として、探索結果と目標値との差、または乖離の許容値として大きな値を与え、その現在の目標が達成され、かつ最終目標が満たされない場合(ステップA513:No)、目標値を段階的に最終目標値に近付けることで、最終的な目標を達成する解を発見できる可能性を高めることができる。
初期目標から最終目標への段階的な更新方法としては、初期目標と最終目標の間となる値を持った目標値を複数準備し、最初の現在の目標として、初期目標を与え、現在の目標が達成される毎に、最終目標へ近付く目標値を、現在の目標値として、更新すれば良い。もしくは、最初の現在の目標として、初期目標を与え、一定割合で徐々に最終目標へ近付くように目標値を複数準備し、それを用いることもできる。
尚、上記データでは初期データが取得済みである場合について説明したが、初期データが無い場合には、前記実施例1の領域分割方法を用いて、初期データを取得することができる。または、実験計画法を用いて、初期データ取得用の条件を決定し、初期データを取得することもできる。領域分割方法とは、即ち、基本探索領域を設定し、探索領域を分割し、分割領域毎に自律探索を実施する各ステップを含む、前記実施例1の図5におけるステップS501〜ステップS507の処理方法である。
図13は、半導体処理装置201の制御処理手順例を示すフローチャートである。探索装置300は、図12のステップA510の判断結果がNoの場合には、図13のA601へ移行する。ステップA601では、ステップA505までに得られたデータについて、最良解OS1、または最良解OS1が更新されるまでに得たデータを除外データに決定する。
最良解OS1の更新は、具体的には、例えば、図11の第1回予測データ点まで得た時点でのOS1が、第2回予測データ点のデータ取得によって、新たな最良解OS1が設定されることである。この例の場合には、最良解OS1が更新されるまでに得たデータは、第2回予測データ点であり、ステップA601において、除外データに決定される。
尚、以下では、最良解OS1を除外データの対象とする場合について説明する。ステップA601では、具体的には、たとえば、探索装置300は、最良解OS1の入力データ(入力パラメータの値)をおよび出力データ(出力パラメータ)を除外データに決定する。除外データは、今後の処理で除外される可能性のあるデータである。
つぎに、探索装置300は、ステップA601にて決定された除外データの周辺領域を除外領域に決定する(ステップA602)。除外領域は、今後の処理で除外される可能性のある領域である。
以下、ステップA601での説明に同様に、最良解OS1を除外データの対象とする場合について説明する。
除外データの周辺領域の決定方法としては、最良解OS1の各パラメータから所定の割合を変化させた値を用いることができる。即ち、たとえば、変化させる割合を1%とすると最良解OS1の各パラメータ±1%であり、また±5%とすると、最良解OS1の各パラメータ±5%とすれば良い。また、最良解OS1のパラメータ毎にこの割合を設定しても良い。また、割合の設定方法としては、各パラメータが取りうる値の範囲に対する割合を用いることもできる。即ち、最良解OS1のパラメータAの取りうる範囲が0〜200であり、変化させる割合を3%として、最良解OS1のパラメータAの値が150の場合には、150±6が最良解OS1のパラメータAの除外領域となる。
探索装置300は、ステップA602のあと、ステップA601で決定された除外データを除外するか否かを判断する(ステップA603)。除外する場合(ステップA603:Yes)、ステップA604に移行し、除外しない場合(ステップA603:No)、ステップA605に移行する。
ステップA603では、具体的には、たとえば、探索装置300は、ユーザからの除外指示入力の有無により、除外データを除外するか否かを判断する。また、探索装置300は、強制的に除外データを除外してもよい(ステップA603:Yes)。
探索装置300は、ステップA603のあと、探索装置300は、ステップA602で決定された除外領域中のデータを除外するか否かを判断する(ステップA604)。除外する場合(ステップA604:Yes)、除外しない場合(ステップA604:No)、を決定した後、ステップA505に移行する。
ステップA604では、具体的には、たとえば、探索装置300は、ユーザからの除外指示入力の有無により、除外領域内のデータを除外するか否かを判断する。また、探索装置300は、強制的に除外領域内のデータを除外してもよい(ステップA604:Yes)。
探索装置300は、ステップA603において除外領域の解を、解より除外して解析しない場合(ステップA603:No)には、ステップA605へ移行し、ステップA605において、除外領域中のデータを除外した後、ステップA505に移行する。
また、ステップA601には、前記実施例1の図6、図7および図8の領域分割方法を用いた除外データおよび除外領域の指定方法を用いることができる。前記実施例1の図5〜図8のフローチャート内の「A」、「B」、「C」、「D」は、「A」がステップA601:Noに対応し、「B」および「C」がステップA604およびステップA605からステップA505に対応し、「D」がステップA511からステップA512の各フローチャートに対応する。
本制御処理において、データの解析、保存、転送等の規模が大きくなり、その実行時間が1条件を探索する時間より長くなる場合には、それらの実行と並列して探索を継続することが可能である。その際には、探索条件において変更する入力パラメータ数、同時に変更する入力パラメータ数、探索領域の分割数のうち1つ以上を増加させる。これにより、探索条件数を増加させ、この条件を探索することで、解析等を実行する時間を利用して探索結果を増加させることができる。特に、データの解析に必要な時間は数分から数時間以上になる場合があり、その解析中に探索を継続することで、探索速度を向上させることができる。
<半導体処理装置201の制御処理の適用例1B>
つぎに、半導体デバイスの量産前における半導体処理装置201のメンテナンスにおいて、半導体処理装置201の装置差を補正するための制御処理の適用例を示す。ここでは機差抑制の手順を説明する例として、半導体処理装置201を、放電処理を行うエッチング装置とした。また、ここでは放電処理を実行する際の入力パラメータをレシピと称する。放電処理を行うエッチング装置では、補正対象となる出力として、処理結果または処理に用いる放電の特性が挙げられる。補正の方法としては、基準となるエッチング装置と同一の出力が得られるように他のエッチング装置を補正する方法、または複数のエッチング装置の出力が均一となるように補正する方法がある。
機差抑制方法については、前記実施例1の図9と同様であり、探索装置300は、メンテナンス後放電データ取得を開始する。
まず、探索装置300は、基本的な放電処理を行うためのレシピを用いて基準レシピ放電を行い、その際の入出力データを取得する。また、量産で用いられるレシピによる放電を行い、その際の出力データ(出力パラメータの値)を取得する(図9のステップS901)。ステップS901は、ステップA501〜A504に対応する処理である。
基準レシピ放電では、前記実施例1の図9と同様にして領域分割方法を用いてレシピを設定し、その際の入出力データを取得することができる。または、実験計画法を用いてレシピを設定し、その際の入出力データを取得することができる。
つぎに、探索装置300は、装置差補正レシピの候補を予測する(図9のステップS902)。ステップS902は、本実施例2のステップA505〜A506に対応する処理である。
そして、探索装置300は、ステップS902で予測した装置差補正レシピを用いて、実証実験を兼ねた装置差補正を実行する(図9のステップS903)。ステップS903は、ステップA507〜A511、図13の処理に対応する処理である。補正目標を達成していない場合(ステップS904:No)、ステップS902に戻り、補正目標を達成した場合(ステップS904:Yes)、処理を終了する。ステップS904は、ステップA512およびA513に対応する処理である。
なお、同一のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させてもよい。その際には、図9の手順によって装置差が補正された複数のエッチング装置を使用することで、目標を満たす解が探索できる可能性を高めることができる。更に、探索された解をそれらの複数の装置に展開し補正を行うことが可能となる。
このように、半導体処理装置201のメンテナンス後に探索装置300による探索方法を実行することにより、半導体処理装置201の出力パラメータの値を基準となる出力パラメータの値へ近付けることができる(自動機差補正機能)。
<半導体処理装置201の制御処理の適用例2B>
つぎに、半導体デバイスの量産処理において、経時変化を補正するための制御処理は、前記実施例1の図10と同様である。
本実施例2では、前記実施例1の図9と同様に、経時変化を補正する手順を説明する例として、半導体処理装置201を、処理に放電を使用するエッチング装置とした。量産前放電データ取得では、量産中の経時変化の補正を行うために、探索装置300は、まず基本的な放電処理を行うための基準レシピをエッチング装置に与えて基準レシピ放電を行い、その際の出力データ(出力パラメータの値)を取得する(ステップS1011)。ステップS1011は、ステップA501〜A504に対応する処理である。
基準レシピ放電では、前記実施例1の領域分割方法を用いてレシピを設定し、その際の入出力データを取得することができる。または、実験計画法を用いてレシピを設定し、その際の入出力データを取得することができる。
つぎに、探索装置300は、装置差補正候補レシピを予測する(ステップS1012)。ステップS1012では、過去の量産時の入出力データの解析結果より、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータが用いられる。そして、探索装置300は、量産開始前のエッチング装置において、これらの経時変化を予想できるデータを経時変化後の値にまで変動させるための装置差補正候補レシピの予測を実行する。ステップS1012は、ステップA505〜A506に対応する処理である。
つぎに、探索装置300は、ステップS1012で予測した装置差補正レシピを用いて、実証実験を兼ねた装置差補正を実行する(ステップS1013)。
ステップS1013では、探索装置300は、経時変化が発生していない状態にて用いる基本の量産用レシピとステップS1012で探索された装置差補正候補レシピとを比較して、装置差補正候補レシピで変更された入力パラメータを明らかにする。これにより、量産前の段階で、補正対象の入力パラメータと出力パラメータとの関係を説明する関数を生成することが可能となり、またその関係より補正候補となるレシピを生成することができる。ステップS1013は、ステップA507〜A511、図13の処理に対応する処理である。このあと、量産処理が開始される。
ステップS1013のあと、半導体デバイスの量産処理が開始されると、ウェハが処理室に導入され(ステップS1021)、エッチング装置が、ウェハをエッチングする(ステップS1022)。エッチング(ステップS1022)は、1ステップまたは複数ステップから構成される。エッチング(ステップS1022)が複数ステップの場合、各ステップのエッチングは、放電条件を変更して実行される。エッチング(ステップS1022)の完了後に、ウェハは、処理室外へ搬出される(ステップS1023)。そして、エッチング中に発生し処理室表面に堆積した反応性生物を除去するため、プラズマクリーニングが実施される(ステップS1024)。次のウェハがあれば(ステップS1025:Yes)、ステップS1021に戻り、次のウェハがなければ(ステップS1025:No)、量産後放電データ取得に移行する。
量産中のエッチング装置の入出力データは、データベース205に保存され、探索装置300は、並列して入出力データをリアルタイムで解析し続ける。これにより、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータの推定を量産中に継続することが可能である。また、探索装置300は、同一の量産処理を実行する複数のエッチング装置の入出力データを集約することで、データ数を増加させることができる。
量産後または量産開始から指定した時間が経過した際に放電データを取得した場合、探索装置300は、経時変化を補正するレシピの候補を予測する(ステップS1031)。具体的には、たとえば、探索装置300は、ステップS1011、S1012で取得したデータ、解析された入出力データの関係、および補正候補レシピをステップA502の入力として使用し、経時変化補正レシピの候補を予測する。ステップS1031は、ステップA505〜A506に対応する処理である。
そして、探索装置300は、ステップ1031で予測した経時補正レシピを用いて、実証実験を兼ねた補正の実行、即ち補正結果の検証を行う(ステップS1032)。ステップS1032は、ステップA507〜A511、図13の処理に対応する処理である。
また、ステップS1031、S1032の実行前に、探索装置300は、半導体デバイスの量産中に取得した出力データを解析し、補正対象の経時変化を予測できる出力データまたはセンサデータおよびモニタデータを推定し、ステップS1012を実行してもよい。これにより、補正対象の入力パラメータと出力パラメータとの関係を説明する関数を生成し、またその関係より補正候補となるレシピを生成することができる。これらの結果を、ステップS502で用いることで、探索装置300は、ステップS1031、S1032を実行することができる。
さらに、上記処理におけるステップA502の入力としては、エンジニアの知識を用いて、補正に頻繁に用いられる入力パラメータを変更したレシピ、およびそのレシピを用いて放電した際の入出力データとその解析結果を用いてもよい。
そして、補正目標を達成していない場合(ステップS1033:No)、ステップS1031に戻り、補正目標を達成した場合(ステップS1033:Yes)、処理を終了する。ステップS1033は、ステップA512およびA513に対応する処理である。図10に示した探索を実行する際には、同一の量産処理を実施した量産後のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させることができる。更に、探索された解(入力パラメータ)は、同一の量産処理を実行する複数のエッチング装置に展開し補正を実行することが可能である。
このように、半導体の量産後において探索装置300による探索方法を実行することにより、量産中の半導体処理装置201の出力パラメータの値の経時変化を補正することができる(自動経時変化補正機能)。
<半導体処理装置201の制御処理の適用例3>
つぎに、半導体デバイスの処理において、加工形状を最適化するための制御処理の適用例を示す。
図14は、加工形状の最適化方法の概要を示すフローチャートである。図14では、図10と同様に、半導体処理装置201の例を、処理に放電を使用するエッチング装置とした。
また、加工形状の最適化における入出力データの例として、装置の入力データをレシピ、出力データを加工形状データとして説明する。
まず、探索装置300は、加工対象膜をエッチング可能な基本的なレシピを用いてエッチングを行い、その際の入出力データを初期データとして取得する(ステップA901)。ステップA901は、図12に示したステップA501〜A504に対応する処理である。
上記の初期データ取得では、前記実施例1と同様の領域分割方法を用いてレシピを設定し、そのレシピを用いてエッチングした際の入出力データを取得することができる。または、実験計画法を用いてレシピを設定し、そのレシピを用いてエッチングした際の入出力データを取得することができる。
つぎに、探索装置300には、目標となる加工形状が与えられる(ステップA902)。そして、探索装置300は、加工形状最適化レシピの候補を予測する(ステップA903)。
ステップA902は、ステップA502に対応する処理であり、ステップA903は、ステップA505〜A506に対応する処理である。
そして、探索装置300は、ステップA903で予測した加工形状最適化レシピを用いて、実証実験を実行して、実証実験結果A9030を出力する(ステップA904)。その後、実証実験結果が目標値を満たしたかを判定する(ステップA905)。
ステップA904およびA905は、ステップA507〜A511、図13の処理に対応する処理である。目標を達成していない場合(ステップA905:No)、実証実験で取得したデータ(実証実験結果A9030)をデータベースへ追加することで、データを更新し(ステップA906)、ステップA903に戻る。
補正目標を達成した場合(ステップA905:Yes)、処理を終了する。ステップA905は、ステップA512およびA513に対応する処理である。
ステップA901で用いる初期データには、図15で示した複数のレシピと、その各レシピを用いてエッチングした際の加工形状データを入力することができる。多様なエッチング形状を含む初期データを用いることで、予測モデルを用いた解の予測の際に、レシピパラメータ空間内のどの領域に目標形状を実現するレシピパラメータが存在するかについて、効率良く予測することが可能となる。
初期データA9010では、図15で示すように、テーパー形状(条件1)、ラウンド形状(条件2、4)、逆テーパー形状(条件3)、アンダーカット形状(条件1、2、4、5、N)を示しており、その他の形状としては、全くエッチングが進まないエッチストップ形状、ボウイング形状(弓型形状)、マスクがエッチングされる形状等がある。例えば、初期データ中の形状が1種類しかない場合には、そのデータから求めた予測モデルでは、他の形状を満たす解を予測することは難しい。そのため、これら形状のうち、少なくとも2種類以上、望ましくは3種類以上を初期データに含むことが望ましい。
なお、図15は、初期データA9010の一例を示す図である。初期データA9010は、条件1〜Nに対応した加工結果1〜Nのペアで構成され、加工結果1〜Nは、加工対象の断面形状の例を示す。
ステップA902で用いる目標データとしては、例えば、図16に示す目標データA9020のような垂直加工形状が与えられる。なお、図16は、目標データA9020の一例を示す図である。目標データA9020は、加工前の加工対象の断面形状と、目標の断面形状で構成される例を示す。
ステップA903の実証実験結果の例は、図17に示す実証実験結果A9030に示す通りであり、この場合には、初期データに含まれる形状よりも、目標形状に近付いた出力(加工形状)が得られており、これはステップA510:Yesに対応する。なお、図17は、実証実験結果A9030の一例を示す図である。実証実験結果A9030は、実証条件a〜eに対応した実証結果a〜eのペアで構成され、実証結果a〜eは、加工対象の断面形状の例を示す。
なお、同一のエッチング装置を複数用いて探索を並列に進めることで探索速度を向上させてもよい。その際には、前記実施例1の図10と同様の手順によって装置差が補正された複数のエッチング装置を使用することで、目標を満たす解が探索できる可能性を高めることができる。更に、探索された解をそれらの複数の装置に展開し最適な加工形状が得られるレシピを探索することが可能となる。
図18、図19は加工後の断面形状を電子顕微鏡を用いて取得した例であり、図18は溝または孔加工、図19はラインまたはピラー(柱形状)加工の断面形状である。初期データとして、断面の画像そのものを用いることができる。また、図18、図19に示したように(1)マスクトップ幅、(2)マスクボトム幅、(3)マスク厚さ、(4)加工部トップ幅、(5)加工部中央部の幅、(6)加工底の幅、(7)加工部最大幅、(8)加工深さ、(9)マイクロ溝の幅、(10)アンダーカット幅、(11)アンダーカット深さ、(12)表面粗さ、(13)マスク消耗、(14)下地付き抜け深さ、(15)ノッチ幅、(16)ノッチ高さ等の計測値を加工形状データとして用いることができる。また、各値はより正確な値を取得することが望ましいが、大/中/小、○/△/×、またはこれらを0/1/2等の離散化した数値で表現し、これらデータを用いることもできる。また、異なる溝、孔、ライン、ピラーの断面の各出力データの差分データを加工形状データとして用いることができる。
このように、半導体処理装置201において 探索装置300による探索方法を実行することにより、半導体処理装置201の出力パラメータの値を目標とする出力パラメータの値へ近付けることができる(装置出力最適化機能)。
図20および図21は、探索装置300のユーザーインターフェースであるGUIの例である。
図20は、解析対象の初期データを指定するための、初期設定画面110である。初期設定画面110では、まず入出データ(装置入力データ)111と、出力データ112と、および目標データ(目標値)113がファイル名で入力される。解析対象の初期データとして、入出力データをまとめたファイルを指定することも可能であるが、その際にはファイル内部へ、入力パラメータと出力パラメータを判別する識別子が記載されている必要がある。
上記のデータ指定を行った後、実行ボタン114をクリックすることで、各データが読み込まれ、データベース205へ保存される。また、初期設定画面110には、ファイル保存の進捗を示すインジケータ、進捗度合、保存完了までの時間、保存開始からの経過時間を表示してもよい。
図20の実行ボタン114がクリックされた後、図21の探索条件の設定および探索を実行するための探索画面120へ移行する。探索画面120では、まず探索設定121がファイル名で入力される。また、実証実験によって取得された入力データ122と出力データ123をファイル名で入力することができる。
探索画面120では、学習対象となるデータに含まれる学習データ数124、学習サイクル数125、入力パラメータ数126、出力パラメータ数127が表示されていてもよい。学習サイクル数125は、予測モデル生成用の学習データのセットを取得した回数であり、実証実験を行い、その結果取得された入力データ122と出力データ123を追加学習データとしてデータベース205へ追加する毎に1が加算される。
探索設定条件が指定されると、中心条件の候補が領域128に表示され、中心条件としてどれを採用するか、表示された中心条件より選択することができる。中心条件を選択し、探索(予測)ボタン129をクリックすることで、予測が開始され、予測中、または予測完了後に予測結果が領域130に表示される。
探索画面120には、予測の進捗度合、予測開始からの経過時間、予測を継続する残り時間、および予測できた解の候補の数を表示してもよい。また、予測完了までの推定時間を表示してもよい。
探索画面120には、予測結果として、予測された入力と出力のいずれか、または両方が表示され、実証実験の候補を選択することができる。実証実験を選択し、実証実験ボタン131をクリックすることで、実証実験が開始される。探索画面120には、実証実験の進捗度合、実証実験開始からの経過時間、および実証実験を継続する残り時間を表示しても良い。
また、上記で選択された実証実験の数、実証実験が完了した数と残りの数、および実証実験完了までの推定時間を表示してもよい。実証実験が完了した後、実証実験結果を前述した追加学習データへ追加することで、予測および実証実験を繰返すことで、学習サイクルを進め、探索が継続される。
中心条件の候補および実証実験の候補の選択、および予測および実証実験の開始は、エンジニアが指示することができる。または、探索設定入力において、あらかじめ中心条件の候補および実証実験の候補の選択手法を指定しておくことで、自動的に候補を選択できる。また、出力データがセンサまたはモニタを用いることで、自動取得可能な場合には、予測および実証事件を自動で開始できる。
図22は、中心条件の候補および実証実験の候補の選択、および予測および実証実験の開始を自動で行う場合の探索画面140であり、探索設定入力141を行った後、自律探索ボタン142をクリックすることで、自動的に探索が継続される。
このように、探索装置300は、半導体処理装置201の入力パラメータの値および出力パラメータの値を自動解析し、その解析結果を考慮した上で、入力パラメータの値を探索するための実験条件を自動で決定する。そして、探索装置300は、当該実験結果の検証を自動で行い、これらの自動動作を繰り返すことで、目標とする装置状態および処理結果(出力パラメータの値)が得られる入力パラメータの値を自動的に探索することができる。これにより、半導体処理装置201自らが自動的に装置性能を引き出すことができ、加えて装置性能を引き出すための制御モデル開発や装置パラメータ(入力パラメータと出力パラメータとの組み合わせ)の選定を行うエンジニアを支援することができる。
以上説明したように、本実施例にかかる探索装置300は、半導体を処理する半導体処理装置201に設定される条件または半導体処理装置201により半導体が処理された結果を示す目標値と、条件と加工結果との範囲により規定される探索領域内における条件または加工結果のうち目標値が示す方の基準値と、の入力を受け付ける入力部401と、探索領域内の条件の設定値と、当該設定値を半導体処理装置201に与えた場合の加工結果の実測値と、に基づいて、条件と加工結果との関係を示す予測モデルを生成する生成部402と、生成部402によって生成された予測モデルに、入力部401によって入力された目標値を与えることにより、予測モデルから予測値を取得する特定部403と、予測値が入力部によって入力された基準値よりも目標値に近いか否かを判断する判断部404と、判断部404によって予測値に対応する目標値の方が目標値に近いと判断された場合、予測値を基準値に設定し、特定部によって特定された予測値の存在領域を探索領域に設定する設定部405と、予測値が目標値の達成条件を充足した場合に達成条件を充足した予測値を出力する出力部406と、を有する。
これにより、半導体処理装置201の入出力に関する最良解への到達精度の向上を図ることができる。したがって、半導体処理装置201における運用の効率化および処理の最適化を図ることができる。
また、探索装置300は、判断部404によって予測モデルから得られた予測値に対応する目標値の方が目標値に近くないと判断された場合、決定部407により予測値および予測値に対応する出力データとして取得したデータを除外データに決定し、設定部405により探索領域から除外データと当該除外データが得られた場合に設定される除外領域を除いた残存領域を探索領域に設定する。これにより、目標値に近くない予測値と目標値との組み合わせが存在する除外領域を最新の探索領域から除外することができ、最良解への到達精度の向上を図ることができる。
また、探索装置300は、分割部408により探索領域を複数の領域に分割し、判断部404によって予測値の方が目標値に近いと判断された場合、特定部403により、予測値を基準値に設定し、予測値の存在領域を複数の分割領域の中から特定する。これにより、予測値の存在領域を容易に特定することができ、探索速度の向上を図ることができる。
また、探索装置300は、分割部408により探索領域を複数の領域に分割し、生成部402により、分割領域内における条件の設定値を半導体処理装置201に与えた場合の加工結果の実測値を、分割領域ごとに取得し、生成部402により、各分割領域での条件の設定値と加工結果の実測値とに基づいて、予測モデルを生成する。これにより、複数の半導体処理装置201を用いることで、実測値を分割領域ごとに並列に取得することができ、予測モデルの生成速度の高速化を図ることができる。
また、探索装置300は、判断部404によって予測値に対応する目標値の方が目標値に近くないと判断された場合、決定部407により予測値および予測値に対応する出力データとして取得したデータを除外データに決定し、生成部402により、実測値から除外データを除いた特定の実測値と、設定値から除外データが得られた場合に半導体処理装置201に与えられた設定値を除いた特定の設定値と、に基づいて、予測モデルを生成する。また、目標値に近くない予測値と設定値との組み合わせが存在する除外領域を予測値の候補から除外することができ、予測モデルの精度向上を図ることができる。したがって、生成された予測モデルにより、より良い予測値を得ることができる。
また、探索装置300は、検出部409により、加工結果の実測値と、所定の出力しきい値と、に基づいて、半導体処理装置201の不安定動作を検出し、出力部406により、検出部409による検出結果を出力する。これにより、探索の継続可否をユーザに促すことができる。
<半導体処理装置201の制御処理の適用例4>
半導体処理装置201の制御処理を、半導体デバイスの処理において、加工形状を最適化するための制御処理に適用する別の例を示す。微細パターン加工プロセス開発においては、パターンの一部または全体の変形、倒壊、消失が生じ、加工結果の測定値が取得できないといった場合が往々にして生じる。処理対象の計測が不可能な場合または計測をスキップしたことにより出力データに欠損データが発生した場合において、欠損データの代わりとなる欠損代替データを用いる方法について説明する。その具体例として、出力データとして、パターン上部表面の計測値を用いる例を示す。
処理対象とするパターンに変形あるいは、パターンの一部に倒壊または消失が発生した場合、出力データがパターン断面の計測値であるとすると、処理対象の断面計測を行う位置によって計測結果である出力データが大きく異なってしまい、加工結果の評価ができない。また、加工結果を用いた解析および精度の良い予測モデルの生成ができない。このため、このような場合には、加工結果を精度良く評価するため、出力データとしてパターン上部表面の計測値を使用することが望ましい。
図23A〜C、図24、図25に、電子顕微鏡を用いて、加工後のパターン上部表面形状を取得した画像(上面図)、およびその断面図(いずれも模式図)を示す。図23A〜Cはパターンに歪みが発生した場合の概要図であり、図の上段が上部表面の画像(上面図)であり、その点線A−A’に沿った断面の画像(断面図)が下段に示されている。図23Bおよび図23Cの場合、パターンの歪み方に依存して、断面取得位置によって断面形状が異なるものになる。従って、このような歪みがない形状を得るためには、パターンの上部表面から取得可能な歪みの情報を出力データとし、その出力データと加工で使用される入力データとを入出力データとして予測モデルを生成し、歪みのない形状を目標として、解を探索する必要がある。
図24は、計測パターンの高さおよび材質に応じたグレースケール階調の画像を取得する計測を行った例である。このグレースケール情報より、マスクおよび加工対象等の各層の境界およびエッジ位置が取得できる。溝またはライン加工での上部表面の出力データとしては、(1t)マスクトップ幅、(2t)マスク中央部の幅、(3t)マスクボトム幅、(4t)加工部トップ幅、(5t)加工部中央部の幅、(6t)加工底の幅、等の計測値を加工形状データとして用いることができる。
また、図25に示したように、垂直にラインが加工された場合には(1t)〜(6t)は同一の値となる。一方、図26はこのライン部分の上面構造を拡大して示したものである。図26に示されるように、微細な溝またはライン加工では、溝またはラインの長手方向に垂直な方向に生じるエッジの凹凸が無視できないものとなってくる。同一の溝またはラインにおいて、ライン幅((1t)〜(6t)のいずれか、計測定義に従う)を複数点計測した場合の平均値、分散、標準偏差(ライン幅ラフネス(LWR))を加工形状データとして用いることができる。
また、図27は、図24に示すライン幅を定義する2本の境界線のうち1本を示したものである。ラインを直線近似した線、またはラインに対する特定の線を軸d1、軸d1に垂直な軸を軸d2とした場合、ラインと軸d1との間の軸d2方向の距離を複数点計測した場合の標準偏差であるラインエッジラフネス(LER)を加工形状データとして用いることができる。
更に、異なる溝またはラインにおける上部表面の各出力データの差分データを加工形状データとして用いることができる。
計測可能範囲を超える非常に大きなパターン変形が発生した場合や、パターンの一部または全体の倒壊または消失が発生した場合には、これら出力データの一部または全てが計測不可能となる。計測不可能な出力パラメータは欠損データとなる。通常、欠損データを含む入出力データをそのまま用いて予測モデルを構築することはできない。これを回避するには、欠損データを含む入力または出力パラメータ値、もしくは欠損データが発生した際に取得された入出力データを除去し、欠損データを含まない残りの入出力データのみを使用して予測モデルを構築すればよい。しかし、欠損データが頻繁に発生する場合においては、使用可能な入出力データの取得成功率が低下し、精度の良い予測モデルを構築するまでに、多大な時間が必要となる。初期学習データ取得、または実証実験の失敗による、処理対象サンプルの損失が続くと、装置稼動に必要となるエネルギーおよび原料等も失われ続けることになる。
このため、欠損データが発生する場合において、入出力データの取得効率を向上させ、かつ精度の良い予測モデルを構築するため、欠損代替データとして、目標値からの距離が少なくとも一定の値以上離れた値を使用することにする。これは以下の理由による。通常、全ての入出力パラメータが正しい計測データであるという前提にて、予測モデルは構築される。しかし、パターンの一部または全体の倒壊または消失が発生した場合は、加工後の断面や上面で計測される計測値の一部またはその全てについて真の値が不明となる。そのような状況下で、不適切な欠損代替データ、例えば所望の加工ができたかような欠損代替データにより予測モデルを構築した場合には、その予測モデルに基づく予測は、当然、実際の解からかけ離れたものとなってしまう。
このため、欠損代替データの決定にあたり、出力データの目標値との差が許容範囲内となる範囲の上限値および下限値を、それぞれ上限許容値および下限許容値として、これらの上限許容値または下限許容値を欠損代替データの基準値とする。
欠損代替データの値は、目標値との差が許容範囲外となる値である必要があり、例えば、上限許容値の定数倍以上、上限許容値の定数倍より大きな値、下限許容値以下、下限許容値未満、下限許容値を定数で割った値以下、下限許容値を定数で割った値未満などを用いることができる。ここでの定数は1以上、または1より大きい数値として任意に定めることができる。または、目標値の定数倍あるいは目標値を定数で割った値(ただし、いずれの場合も目標値との差が許容範囲外となることが必要である)を使用してもよい。
また、処理対象に応じて設定してもよい。例えば、溝とラインが繰り返されるラインアンドスペースパターンについては、ライン幅(溝幅)に対する欠損代替データの基準値として、溝およびラインの合計幅であるフルピッチ、またはその半分の値であるハーフピッチを使用することができる。
また、加工時に生じた現象に応じて設定してもよい。例えば、パターンの一部または全体の倒壊または消失が発生した場合には、パターンの幅寸法に関する値の計測はできない。その際、ライン等の加工後に残される部分の幅寸法に関する欠損代替データの値として0を使用できる。幅寸法の具体例としては、図24の(1t)マスクトップ幅、(2t)マスク中央部の幅、(3t)マスクボトム幅、(4t)加工部トップ幅、(5t)加工部中央部の幅、(6t)加工底の幅、図19の(1)マスクトップ幅、(2)マスクボトム幅、(4)加工部トップ幅、(5)加工部中央部の幅、(6)加工底の幅、(7)加工部最大幅がある。なお、マスク等の加工後に残される部分の厚さについても、欠損代替データの値として0を使用できる。その厚さ寸法の具体例としては、図18の(3)マスク厚さ、図19の(3)マスク厚さがある。
また、パターンの加工が全く行われなかった場合には、加工によって初めて形成されるパターンの幅寸法に関する値は計測できない。その際、ライン等の加工後に残される部分の幅寸法に関する欠損代替データの値として、ハーフピッチまたはフルピッチを使用できる。その幅寸法の具体例としては、図24の(4t)加工部トップ幅、(5t)加工部中央部の幅、(6t)加工底の幅、図18の(1)マスクトップ幅、(2)マスクボトム幅、(4)加工部トップ幅、(5)加工部中央部の幅、(6)加工底の幅、(7)加工部最大幅、図19の(4)加工部トップ幅、(5)加工部中央部の幅、(6)加工底の幅、(7)加工部最大幅、である。
また、既に取得済みの出力データにおいて、目標値との差が許容範囲外となる値であって、目標値からの距離が最も遠い値を欠損代替データの基準値として使用することも可能である。入出力データの取得回数をあらかじめ指定し、指定した数の入出力データが取得されるまでは、上記の上限許容値、下限許容値、フルピッチ、またはハーフピッチを欠損代替データの基準値として使用し、指定した数の入出力データが取得された後に、目標値との差が許容範囲外となる値かつ、各パラメータについて目標値からの距離が最も遠い値を欠損代替データの基準値として使用するようにしてもよい。これは、ある程度入出力データが蓄積された段階においては、欠損代替データの基準値を実際に取得された最も悪い出力データとすることで、より真の値に近い欠損代替データを与えられる可能性がある。
とはいえ、欠損代替データである以上、取得済みの出力データよりも目標値との差がより大きい値であるべきである。従って、取得済みの出力データが存在する場合には、欠損代替データの値と取得済みの出力データとの値を比較し、目標値との差が許容範囲外となる値であって、より目標値との差が大きくなる方の値を欠損代替データの値として使用することで、予測モデルの精度を向上させることができる。
逆に、指定した数以上の入出力データが取得済みとなっている入出力パラメータについては、取得済み入出力データより欠損データを予測するモデルを生成し、この欠損データ予測モデルより、欠損値を予測することが可能である。予測された値を欠損予測データとすると、欠損代替データの代わりに欠損予測データを使用することができる。
なお、欠損代替データの保存後に、出力データが計測可能であったのか、計測不可能または計測をスキップしたかを判断するためには、計測可能であったデータと欠損データとを識別、もしくは欠損データを特定するため、各出力パラメータに対して記号または数値を与え、計測可否データとして保存すればよい。さらに、出力データとして計測可否データを用い、その計測可否データに対応する入力データを用いて予測モデルを生成することもできる。この予測モデルを用いて、実証実験における計測可否を予測することにより、実際に実証実験を行う条件を選別することができる。
目標となるパターンの一部または全体の倒壊または消失が頻発する場合には、目標となるパターンと同時処理、または同一入力パラメータで処理される、目標とは異なるパターン、またはサンプルの出力データを取得することで、取得可能な出力データを増やすことができる。出力データに関して、目標パターンと相関はあるが、目標とは異なる試験パターンあるいは試験サンプルを選択し、これらの出力データを用いて予測モデルを生成することで、予測精度を向上させることができる。試験パターンは、目標パターンと比較して、出力データが計測可能となりやすい、すなわちパターンの一部または全体の倒壊または消失が起こりにくいものが良い。例えば、目標パターンが溝、孔、ライン、ピラー、ラインアンドスペースである場合、試験パターンとして、より寸法の大きい溝、孔、ライン、ピラー、ラインアンドスペースを選択することができる。また、エッチング対象のエッチングが進行しないというような状況では、試験サンプルとしてマスク層の形成されていないブランケット膜を使用することができる。また、試験パターンや試験サンプルを複数種類使用することで、より計測可能な出力データを増やすことができる。
加工対象のパターンに含まれる、厚さまたは深さの値は、光干渉計を用いて計測することができる。また、パターンの一部または全体の倒壊によって、目標となるパターン部分の光干渉計による計測ができない場合には、前述した目標とは異なるパターン部分を用いて、厚さまたは深さを計測することができる。
つぎに、半導体デバイスの処理において、欠損データの代わりとなる欠損代替データを用いた、加工形状を最適化するための制御処理の適用例を示す。
ここでは、出力データとして、加工パターンの上部表面の出力データ、または上部表面および断面の出力データを用いる場合を用いて説明する。計測1として上部表面の出力データ、計測2として断面の出力データを取得する場合において、計測された出力データ、欠損データの例を図28に示す。
図28において、計測1におけるLER11、LER12は前述したLERの値、CDtv11、CDtv12は前述した(1t)〜(6t)幅寸法(図24参照)である。また、計測2におけるCD21、CD22は前述した断面における幅寸法であり、Depth21、Depth22は前述した断面における深さ寸法である。計測1においてLER11、CDtv11が計測可能であり、計測値が取得されている。一方で、LER12、CDtv12は計測不能であり、欠損データを示すN/Aが与えられている。欠損データN/Aは、各出力パラメータに対応した欠損代替データに置き換えられることになる。
計測1の後に計測2を行う場合には、計測2においても計測1同様に、計測不能であった項目に対して欠損データを示すN/Aが与えられ、欠損データN/Aは各出力パラメータに対応した欠損代替データに置き換えられる。
また、計測1の出力データに欠損データが含まれる場合、計測2でも欠損データとなる場合がある。具体的には、パターンの一部または全体の変形、倒壊、消失が発生した場合では、これらの状況を計測1の上部表面の計測での欠損データの発生によって、把握することができる。この場合は、計測2の断面の計測は欠損データになるため、実際の計測は不要となる。このように、計測1の出力データの欠損データの発生有無、もしくは欠損データの項目の数に応じて、計測2をスキップすることで、探索時間を短縮することができる。すなわち、出力データの取得のために複数の計測を行う場合には、先に行われた計測結果における欠損データの発生有無、もしくは欠損データの項目の数に応じて、それ以降に行われる計測それ自体をスキップして、探索時間を短縮することが可能である。
計測2をスキップした場合には、図28に示す計測2のように全ての出力パラメータが欠損データとなる。計測がスキップされた出力パラメータには、計測を行ったが計測不可能であった場合にあたえる欠損データ(N/A)とは別の数値または記号を与えることで、両者を識別することができる。例えば、計測2においてはN/Aではなく、Skip等の記号を与えても良い。また、その場合には、スキップを示す記号または数値を、各出力パラメータに対応した欠損代替データに置き換えることになる。
加工形状の最適化方法の概要を示すフローチャートを図29に示す。図29は図14と同様のフローチャートであり、図14と図29のステップ番号が同じステップでは、図29においても図14と同様のフローを行う。
各出力パラメータが計測不可能、もしくは計測をスキップした場合に使用する欠損代替データの値及び、計測可否データの値もしくは記号を設定した場合にはそれらの値もしくは記号は、初期データとして与えられる(ステップA901a)。加えて、ステップA901aではモニタシステムによって加工形状を実測する際に使用する、計測位置の決定または計測位置を所望の計測位置へ誘導するための位置情報データおよび画像情報データについても初期データとして与えられる。ステップA901aは、図5のS501、図12のA501、図14のA901の探索設定入力、初期データの入力に対応する処理である。
欠損データの特定、および欠損データの欠損代替データへの置換えは、計測結果の出力または実証実験結果の保存にて行う(A9031,A9032)。もしくは、計測結果の出力時に行っても良い(A9041,A9042)。これは図5のS507、図6、図7及び図8のS6070A、図12のA508、図14のA9030に対応する探索結果、実証実験結果の保存に対応する。もしくはこれらの探索結果、実証実験結果の保存の後に行うことができる。
この例では、ステップA9041の実証実験結果の保存において、計測1の出力データである、上部表面の出力データが保存される。この出力データの内、計測不能であった項目に対して、欠損データを示すN/Aが与えられる。欠損データN/Aは、各出力パラメータに対応した欠損代替データに置き換えられる。計測1以降に他の計測が無い場合には、ステップA905の結果判定、ステップA906のデータの更新が行われ、ステップA903において、欠損代替データを含む入出力データを用いた予測モデルの生成および予測結果が出力され、ステップA904の解の探索が行われる。
計測1(ステップA9041)の後に、計測2(ステップA9042)を行う場合には、計測2においても計測1と同様に、計測不能であった項目に対して欠損データを示すN/Aが与えられ、欠損データN/Aは各出力パラメータに対応した欠損代替データに置き換えられる。その後、欠損代替データを含む入出力データを用いた予測モデルの生成および予測結果が出力され、解の探索が行われる。
また、ステップA9041の計測1の出力データに欠損データ(もしくは欠損代替データ)が含まれる場合、ステップA9042の計測2でも欠損データが発生する場合がある。例えば、パターンの一部または全体の変形、倒壊、消失が発生した場合では、これらの状況を計測1の上部表面の計測での欠損データの発生によって、把握することができる。このような場合、計測2の断面の計測を行っても欠損データしか得られないため、実際の計測は不要となる。このため、計測1(ステップA9041)の出力データにおける欠損データの発生有無、もしくは欠損データの項目の数に応じて、計測2(ステップA9042)をスキップし、それにより探索時間を短縮することができる。
このように複数の計測を行う場合には、先に行われた計測結果における欠損データの発生有無、もしくは欠損データの項目の数に応じて、それ以降に行われる計測をスキップし、それにより探索時間を短縮することが可能である。複数の計測を行う場合において、後段で実施する計測に長時間を要する場合には、探索時間を大幅に短縮することができるため有効性が高い。
計測がスキップされた出力パラメータには、N/Aとは別の数値または記号を与えることで、計測不可能な場合と計測をスキップした場合の識別ができる。また、その場合には、スキップを示す記号または数値を、各出力パラメータに対応した欠損代替データに置き換えることで、予測モデルの生成および解の探索ができる。
欠損データ(計測不可能な場合、計測をスキップした場合のいずれも含む)を欠損代替データに置き換える動作は、自動で行うことが可能であるが、置換えの可否をエンジニアが決定してもよい。その際、エンジニアが書き換えに使用する欠損代替データを決定してもよい。その際、事前に指定した欠損代替データの値を使用するか、欠損代替データの基準値を使用するか、あるいは目標値との差が許容範囲外となる値かつ、各パラメータで目標値からの距離が最も遠い値を使用するか、といった選択肢を提示し、エンジニアが切り替えるようにしてもよい。
ステップA901aで用いる初期データには、図15に示したようなパターンのみならず、図30で示したような複数のレシピと、その各レシピを用いてエッチングした際のパターン上部表面の加工形状データを入力することができる。多様なエッチング形状を含む初期データを用いることで、予測モデルを用いた解の予測の際に、レシピパラメータ空間内のどの領域に目標形状を実現するレシピパラメータが存在するかについて、効率良く予測することが可能となる。
初期データA9010aでは、図30に示すように、パターン歪み(条件1)、ウィグリング(条件2)、パターンエッジ荒れ(条件N)を示しており、その他の形状としては、全くエッチングが進まないエッチストップ形状、パターンの一部または全ての消失、パターンの一部または全ての倒壊等がある。例えば、初期データ中の形状が1種類しかない場合には、そのデータから求めた予測モデルでは、他の形状を満たす解を予測することは難しい。そのため、これら形状のうち、少なくとも2種類以上、望ましくは3種類以上を初期データに含むことが望ましい。
なお、図30は、初期データA9010aの一例を示す図である。初期データA9010aは、条件1〜Nに対応した加工結果1〜Nのペアで構成され、加工結果1〜Nは、加工対象のパターン上部表面形状の例を示す。
ステップA902で用いる目標データとしては、例えば、図31に示す目標データA9020aのような垂直加工形状が与えられる。なお、図31は、目標データA9020aの一例を示す図である。目標データA9020aは、加工前の加工対象のパターン上部表面形状と、目標のパターン上部表面形状で構成される例を示す。
ステップA904の実証実験の結果の例は、図32に示す実証実験結果A9031に示す通りであり、この場合には、初期データに含まれる形状よりも、目標形状に近付いた出力(加工形状)が得られており、これはステップA510:Yesに対応する。なお、図32は、実証実験結果A9031の一例を示す図である。実証実験結果A9031は、実証条件a〜cに対応した実証結果a〜cのペアで構成され、実証結果a〜cは、加工対象のパターン上部表面形状の例を示す。
このように、半導体処理装置201において探索装置300による探索方法を実行することにより、半導体処理装置201の出力パラメータの値を目標とする出力パラメータの値へ近付けることができる(装置出力最適化機能)。
変形例として、半導体処理装置の装置制御システム(図2参照)に、これまで説明した探索装置の機能を搭載することも可能である。図33に半導体処理装置の例として最適処理条件探索機能を有するプラズマ処理装置の概略図を示す。プラズマ発生用のアンテナ56とそれに高周波電圧を印加させる高周波電源51及び第1の高周波整合器52を備えている。処理室60内に複数のガス種を導入するために、第1の流路61、第2の流路62が設けられている。なお、ここでは2系統のみ図示しているが、特に流路数を限定するものではない。アンテナ56において発生した高周波の交番電磁場を導入された混合ガスに作用させることにより、反応粒子から誘導結合されたプラズマ63を生成させる。また、装置は発生されたプラズマ63による処理をさせるための基板電圧発生器54及び第2の高周波整合器53を備えている。また、処理対象である基板(試料)59を加工時に発生するプラズマの変動をモニタリングできる終点判定装置55を備えており、終点判定装置55より得られた信号を第1のマスフローコントローラ57、および、第2のマスフローコントローラ58へフィードバックする機構を持つ。終点判定装置55の信号に応じて、第1のマスフローコントローラ57は第1の流路61のガス流量を、第2のマスフローコントローラ58は第2の流路62のガス流量を調整することが可能である。
プラズマ処理装置の装置制御システム70は、装置の高周波電源51、基板電圧発生器54、終点判定装置55等のプラズマ生成装置を制御して、基板59に対してエッチング加工などのプラズマ処理を実施する(レシピ設定コントローラ221、装置基本設定コントローラ222に対応する)とともに、探索装置における記憶デバイス302(図3参照)に格納される、探索処理を実行するためのプログラムに相当する処理プログラムを実装することにより、これまで説明した探索処理を実施することが可能である。このように、半導体処理装置の一機能として、探索処理機能を搭載することにより、探索した入力パラメータ値によりプラズマ生成装置を制御してプラズマ処理をすることが可能になる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。