特開2019-212001(P2019-212001A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ 株式会社日立製作所の特許一覧
<>
  • 特開2019212001-システム及び処理条件の決定方法 図000003
  • 特開2019212001-システム及び処理条件の決定方法 図000004
  • 特開2019212001-システム及び処理条件の決定方法 図000005
  • 特開2019212001-システム及び処理条件の決定方法 図000006
  • 特開2019212001-システム及び処理条件の決定方法 図000007
  • 特開2019212001-システム及び処理条件の決定方法 図000008
  • 特開2019212001-システム及び処理条件の決定方法 図000009
  • 特開2019212001-システム及び処理条件の決定方法 図000010
  • 特開2019212001-システム及び処理条件の決定方法 図000011
  • 特開2019212001-システム及び処理条件の決定方法 図000012
  • 特開2019212001-システム及び処理条件の決定方法 図000013
  • 特開2019212001-システム及び処理条件の決定方法 図000014
  • 特開2019212001-システム及び処理条件の決定方法 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2019-212001(P2019-212001A)
(43)【公開日】2019年12月12日
(54)【発明の名称】システム及び処理条件の決定方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20191115BHJP
   H01L 21/66 20060101ALI20191115BHJP
【FI】
   G06N99/00 150
   H01L21/66 J
【審査請求】未請求
【請求項の数】14
【出願形態】OL
【全頁数】17
(21)【出願番号】特願2018-107419(P2018-107419)
(22)【出願日】2018年6月5日
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】中田 百科
(72)【発明者】
【氏名】大森 健史
(72)【発明者】
【氏名】臼井 建人
(72)【発明者】
【氏名】栗原 優
【テーマコード(参考)】
4M106
【Fターム(参考)】
4M106AA01
4M106CA38
4M106DB04
4M106DJ18
4M106DJ20
4M106DJ21
4M106DJ27
4M106DJ32
4M106DJ38
(57)【要約】
【課題】状態を直接取得できない状況において、半導体製造プロセスの処理フローを最適化するための強化学習を実現する。
【解決手段】対象を制御するための複数の処理を含む処理フローを決定するシステムであって、複数の処理の各々の処理条件を決定するための学習処理を実行する学習部を有し、学習部は、処理フローに基づいて対象を制御する装置から、所定の処理条件の下で、処理が実行された対象の状態と相関がある物理量を取得し、物理量に基づいて、対象の状態に対応する擬状態を算出し、価値関数を用いた学習処理を実行することによって、目的とする対象の状態を実現するための複数の処理の各々の処理条件を決定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
対象を制御するための複数の処理を含む処理フローを決定するシステムであって、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記複数の処理は予め設定された処理条件に基づいて実行され、
前記少なくとも一つの計算機は、
前記複数の処理の各々の前記処理条件を決定するための学習処理を実行する学習部を有し、
前記学習部は、
前記処理フローに基づいて対象を制御する装置から、所定の処理条件の下で、前記処理フローに含まれる一つの処理が実行された対象の状態と相関がある物理量を取得し、前記物理量に基づいて、強化学習における前記対象の状態に対応する擬状態を算出し、
任意の擬状態において選択された前記処理条件の評価を示す値を出力する価値関数を用いて、目的とする前記対象の状態を実現するための前記複数の処理の各々の処理条件を決定することを特徴とするシステム。
【請求項2】
請求項1に記載のシステムであって、
前記学習部は、
前記物理量を取得し、前記物理量に基づいて前記擬状態を算出する擬状態算出部と、
前記擬状態及び前記価値関数に基づいて、次に実行される前記処理の前記処理条件の中から適切な処理条件を選択する処理条件解析部と、
を含み、
前記処理条件解析部は、前記選択した処理条件を含む処理実行要求を前記装置に出力し、
前記擬状態算出部は、前記処理実行要求に基づく処理を実行した装置から前記物理量を取得し、前記擬状態を算出することを特徴とするシステム。
【請求項3】
請求項2に記載のシステムであって、
前記対象は、試料を処理することによって半導体を製造する半導体処理装置であり、
前記処理条件は、前記半導体処理装置を制御するための条件であることを特徴とするシステム。
【請求項4】
請求項3に記載のシステムであって、
前記少なくとも一つの計算機は、
任意の処理条件が設定された処理が実行された後の前記擬状態に基づいて、当該処理を評価する値、及び前記処理フローの全ての前記処理が実行された前記試料の形状に基づいて、前記処理フローを評価する値の少なくともいずれかを報酬として算出する報酬算出部と、
前記複数の処理の各々の実行時の前記擬状態、前記複数の処理の各々に設定された前記処理条件、及び前記報酬に基づいて、前記価値関数を更新する価値関数解析部と、を有することを特徴とするシステム。
【請求項5】
請求項3に記載のシステムであって、
前記物理量は、前記半導体処理装置に設置された前記試料に光を照射することによって計測される光に関連する値であることを特徴とするシステム。
【請求項6】
請求項3に記載のシステムであって、
前記少なくとも一つの計算機は、前記物理量を用いた次元圧縮処理を実行して前記擬状態を算出することを特徴とするシステム。
【請求項7】
請求項3に記載のシステムであって、
前記少なくとも一つの計算機は、非線形計画法、メタヒューリスティック及びグラフ理論の少なくともいずれかを用いて、前記算出された擬状態を入力した前記価値関数から算出される値を最大化する前記処理条件を選択することを特徴とするシステム。
【請求項8】
システムが実行する、対象を制御するための処理フローに含まれる複数の処理に設定する処理条件の決定方法であって、
前記システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、
前記複数の処理は予め設定された処理条件に基づいて実行され、
前記処理条件の決定方法は、
前記少なくとも一つの計算機が、前記処理フローに基づいて対象を制御する装置から、所定の処理条件の下で、前記処理フローに含まれる一つの処理が実行された対象の状態と相関がある物理量を取得し、前記物理量に基づいて、強化学習における前記対象の状態に対応する擬状態を算出する第1のステップと、
前記少なくとも一つの計算機が、任意の擬状態において選択された前記処理条件の評価を示す値を出力する前記擬状態及び前記処理条件を変数とする価値関数を用いて、目的とする前記対象の状態を実現するための前記複数の処理の各々の処理条件を決定する第2のステップと、を含むことを特徴とする処理条件の決定方法。
【請求項9】
請求項8に記載の処理条件の決定方法であって、
前記第2のステップは、
前記少なくとも一つの計算機が、前記価値関数及び前記擬状態に基づいて、次に実行される前記処理の前記処理条件の中から適切な処理条件を選択するステップと、
前記少なくとも一つの計算機が、前記選択した処理条件を含む処理実行要求を前記装置に出力するステップと、を含み、
前記第1のステップは、前記少なくとも一つの計算機が、前記処理実行要求に基づく処理を実行した装置から前記物理量を取得するステップを含むことを特徴とする処理条件の決定方法。
【請求項10】
請求項9に記載の処理条件の決定方法であって、
前記対象は、試料を処理することによって半導体を製造する半導体処理装置であり、
前記処理条件は、前記半導体処理装置を制御するための条件であることを特徴とする処理条件の決定方法。
【請求項11】
請求項10に記載の処理条件の決定方法であって、
前記少なくとも一つの計算機が、任意の処理条件が設定された処理が実行された後の前記擬状態に基づいて、当該処理を評価する値、及び前記処理フローの全ての前記処理が実行された前記試料の形状に基づいて、前記処理フローを評価する値の少なくともいずれかを報酬として算出するステップと、
前記少なくとも一つの計算機が、前記複数の処理の各々の実行時の前記擬状態、前記複数の処理の各々に設定された前記処理条件、及び前記報酬に基づいて、前記価値関数を更新するステップと、を含むことを特徴とする処理条件の決定方法。
【請求項12】
請求項10に記載の処理条件の決定方法であって、
前記物理量は、前記半導体処理装置に設置された前記試料に光を照射することによって計測される光に関連する値であることを特徴とする処理条件の決定方法。
【請求項13】
請求項10に記載の処理条件の決定方法であって、
前記第1のステップは、前記少なくとも一つの計算機が、前記物理量を用いた次元圧縮処理を実行して前記擬状態を算出するステップを含むことを特徴とする処理条件の決定方法。
【請求項14】
請求項10に記載の処理条件の決定方法であって、
前記少なくとも一つの計算機は、非線形計画法、メタヒューリスティック及びグラフ理論の少なくともいずれかを用いて、前記算出された擬状態を入力した前記価値関数から算出される値を最大化する前記処理条件を選択することを特徴とする処理条件の決定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体製造プロセスの処理フローを構成する処理の処理条件を決定するためのシステム及び学習方法に関する。
【背景技術】
【0002】
半導体製造プロセスでは、プロセス開発によって得られた処理フローに基づいて半導体処理装置を制御することで、所望の半導体加工を実現できる。
【0003】
近年、デバイスを構成する新材料の導入及びデバイス構造が複雑化によって、半導体処理装置の制御範囲が拡大し、制御パラメータが数多く追加されている。また、微細かつ複雑な加工が実現するために、半導体製造プロセスの処理フローはマルチステップ化が行われている。このような半導体処理装置を用いてプロセス開発を行うことによって、高性能なデバイスが生産できる。
【0004】
半導体処理装置の性能を十分に引き出すためには、処理フローの最適化、すなわち、制御パラメータの最適化が不可欠であり、その実現にはプロセス開発のノウハウ、高い装置運用スキル、及び処理試験の多数の試行が必要である。しかし、ノウハウ及びスキルを持つエンジニアの不足並びに多数の処理試験に伴う処理結果の計測回数の増加によって、処理フローの最適化にかかる期間が長期化している。
【0005】
上記のような問題に対して、機械学習による処理フローの最適化が有効であると考えられる。これに関連する技術として、特許文献1及び特許文献2のような技術が知られている。
【0006】
特許文献1には、「構造の幾何学形状を特徴付けるプロファイルパラメータによって定められる構造の形状モデルが取得される。プロファイルパラメータの値の組が取得され、これを用いて、構造から回折される光の挙動を各々が特徴付けるシミュレート回折信号の組が生成される。入力としてシミュレート回折信号の組を、予期される出力としてプロファイルパラメータの値の組を用いて、サポートベクトルマシンが訓練された後、ウェハ上に構造を製造するように製造プロセスが実行される。構造からの測定回折信号が取得され、訓練済みサポートベクトルマシンに入力される。訓練済みサポートベクトルマシンの出力として、構造のプロファイルパラメータの値が取得される。このプロファイルパラメータの値に基づいて、1つ以上のプロセスパラメータ又は製造ツールの装置設定が調整される。」ことが記載されている。
【0007】
特許文献2には、「荷電粒子線源と、前記荷電粒子線源から放出された荷電粒子を荷電粒子線として試料に対して照射する荷電粒子光学系と、前記荷電粒子光学系の収差を補正する収差補正器と、前記荷電粒子光学系と前記収差補正器の各構成要素を制御する制御手段とを備えた荷電粒子線装置において、最適な調整手順を学習により獲得する自動収差補正装置を備える。自動収差補正装置は、収差補正を複数同時に実施可能な、最適な調整手順を強化学習により獲得する。」ことが記載されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−44125号公報
【特許文献2】特開2013−30278号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
処理フローは、通常、複数の処理から構成されるため、最適化する制御パラメータの数は膨大である。例えば、先端デバイスの製造プロセスは、10ステップ以上であり、また、処理フローの制御パラメータの数は100個以上である。
【0010】
教師あり学習は、入力及び出力の関係を学習する手法である。この手法を制御パラメータの最適化に適用する場合、全処理ステップの制御パラメータが入力となり、試料の加工形状等の出力となる。そのため、大規模なパラメータ数の解析が必要となり、入力及び出力の相関の分析、学習器を用いた出力の予測及び入力の最適化が困難である。そのため、特許文献1に記載の技術を適用することが難しい、
【0011】
また、特許文献2に記載の強化学習では環境の状態を取得できることが前提となっている。しかし、半導体製造プロセスでは、状態として扱われる試料の加工形状等を計測するためには、半導体処理装置から試料を取り出す必要がある。例えば、エッチング加工後の試料の形状を直接観測することは困難である。なぜならば、エッチング加工は、真空引きされたチャンバ内で行われる処理であるためである。したがって、試料の状態を直接的計測できない場合、特許文献2に記載の強化学習を適用することが困難である。
【課題を解決するための手段】
【0012】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、対象を制御するための複数の処理を含む処理フローを決定するシステムであって、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する少なくとも一つの計算機を備え、前記複数の処理は予め設定された処理条件に基づいて実行され、前記少なくとも一つの計算機は、前記複数の処理の各々の前記処理条件を決定するための学習処理を実行する学習部を有し、前記学習部は、前記処理フローに基づいて対象を制御する装置から、所定の処理条件の下で、前記処理フローに含まれる一つの処理が実行された対象の状態と相関がある物理量を取得し、前記物理量に基づいて、強化学習における前記対象の状態に対応する擬状態を算出し、任意の擬状態において選択された前記処理条件の評価を示す値を出力する価値関数を用いた学習処理を実行することによって、目的とする前記対象の状態を実現するための前記複数の処理の各々の処理条件を決定する。
【発明の効果】
【0013】
本発明の一形態によれば、状態を直接取得できない場合でも、複数の処理の各々の適切な処理条件を決定することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0014】
図1】実施例1のシステム構成の一例を示す図である。
図2】実施例1の半導体処理装置に設置された試料及び試料の物理量の計測方法の一例を示す図である。
図3A】実施例1の試料の加工の一例を示す図である。
図3B】実施例1の試料を加工するための処理フローの一例を示す図である。
図4】実施例1の処理DBに格納されるデータのデータ構造の一例を示す図である。
図5】実施例1の解析システムが実行する処理を説明するフローチャートである。
図6】実施例1の計測装置によって計測される干渉光の一例を示す図である。
図7A】実施例1の擬状態算出部が算出する擬状態のデータ構造の一例を示す図である。
図7B】実施例1の擬状態算出部が算出する擬状態のデータ構造の一例を示す図である。
図8】実施例1の処理条件解析部が実行する処理を説明するフローチャートである。
図9A】実施例1の処理条件の選択方法の一例を示す図である。
図9B】実施例1の処理条件の選択方法の一例を示す図である。
図10】実施例1の解析システムに各種設定を行うためのGUIの一例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0016】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例1】
【0017】
以下、本発明の実施例1を図面を用いて説明する。
【0018】
図1は、実施例1のシステム構成の一例を示す図である。
【0019】
システムは、半導体処理装置10及び解析システム20から構成される。半導体処理装置10及び解析システム20は、直接又はネットワークを介して互いに接続される。なお、ネットワークはLAN(Local Area Network)及びWAN(Wide Area Network)等が考えられる。
【0020】
半導体処理装置10は、複数の処理から構成される処理フローにしたがって、製品を製造するための試料の加工処理を実行する。各処理は処理条件に基づいて実行される。処理条件は、半導体処理装置10を制御するための制御パラメータを一つ以上含む。本明細書では、処理フローを構成する処理を処理ステップとも記載する。
【0021】
なお、本実施例は半導体処理装置10が行う加工処理の種別及び加工処理の内容に限定されない。
【0022】
半導体処理装置10は処理条件入力部110を有する。処理条件入力部110は、解析システム20から入力される処理条件を受け付け、処理装置に処理条件を設定する。半導体処理装置10は、処理条件入力部110によって設定された処理条件にしたがって、試料に対する処理を実行する。例えば、半導体処理装置10は半導体のエッチング処理を行う。
【0023】
半導体処理装置10は、リソグラフィ装置、製膜装置、パターン加工装置、イオン注入装置、加熱装置及び洗浄装置等の処理装置が含まれる。
【0024】
リソグラフィ装置としては、露光装置、電子線描画装置及びX線描画装置等がある。製膜装置としては、CVD、PVD、蒸着装置、スパッタリング装置及び熱酸化装置がある。パターン加工装置としては、ウェットエッチング装置、ドライエッチング装置、電子ビーム加工装置及びレーザ加工装置等がある。イオン注入装置としては、プラズマドーピング装置及びイオンビームドーピング装置等がある。加熱装置としては、抵抗加熱装置、ランプ加熱装置及びレーザ加熱装置等がある。洗浄装置としては、液体洗浄装置及び超音波洗浄装置等がある。
【0025】
解析システム20は、強化学習を実行することによって、処理フローに含まれる複数の処理の各々の適切な処理条件を決定する。強化学習のアルゴリズムとしては、Q学習、SARSA等のTD(Temporal Difference)学習、Actor−Critic法等の方策勾配法、及びモンテカルロ法がある。なお、本発明は、強化学習のアルゴリズムに限定されない。
【0026】
半導体製造プロセスに強化学習を適用する場合、半導体処理装置10が環境として扱われ、試料の形状が状態として扱われ、また、処理条件が行動として扱われる。試料の形状を計測するためには、半導体処理装置10から試料を取り出す必要がある。そのため、処理フローの途中で試料の形状を取得することは困難である。そこで、実施例1のシステムでは、試料の形状(試料の状態)と強い相関がある物理量から強化学習における状態として扱うことができる擬状態を算出し、擬状態を用いて強化学習を実現する。
【0027】
解析システム20は、ハードウェアとして、演算装置100、記憶装置101、インタフェース102、及び計測装置103を有する。解析システム20は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置、キーボード、マウス、及びタッチパネル等の入力装置、並びにディスプレイ等の出力装置を有してもよい。
【0028】
演算装置100は、記憶装置101に格納されるプログラムを実行する。演算装置100は、例えば、プロセッサ、GPU(Graphics Processing Unit)、及びFPGA(Field Programmable Gate Array)等である。演算装置100がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。
【0029】
記憶装置101は、演算装置100が実行するプログラム及びプログラムによって使用される情報を格納する。また、記憶装置101は、プログラムが一時的に使用するワークエリアを含む。記憶装置101は、例えば、揮発性又は不揮発性のメモリである。記憶装置101に格納されるプログラム及び情報については後述する。
【0030】
インタフェース102は、外部装置と接続するためのインタフェースである。インタフェース102は、ネットワークインタフェース及びIOインタフェース等である。
【0031】
計測装置103は、半導体処理装置10によって処理された試料から処理結果、すなわち、試料の形状と相関がある物理量を計測する。実施例1では、解析システム20に計測装置103が組み込まれているが、半導体処理装置10に計測装置103が組み込まれていてもよい。また、計測装置103は、解析システム20と独立した構成でもよい。
【0032】
計測装置103は、試料に入射される光、レーザ及びX線等の反射、透過、干渉、吸収及び偏光スペクトルを計測し、試料の特性を示す値を計測する。
【0033】
具体的には、計測装置103は、電子顕微鏡を用いた計測装置、光学式モニタ、赤外光を用いた温度計測装置、ケルビンプローブフォース顕微鏡を用いた欠陥検出装置、加工対象の電気特性を評価するプローバ装置等である。また、計測装置103は、処理中に試料に作用するプラズマ、ガス、及び液体等の媒体、並びに処理中に発生する生成物を計測する装置でもよい。媒体及び生成物は、試料の状態を直接的に表わすものではないが、処理状態及び処理結果と相関を示す可能性がある物理量であるため、間接的に試料の状態を示すデータとして扱うことができる。また、計測装置103は、光スペクトル計測を用いたプラズマ発光モニタ、赤外分光計測を用いた処理室内の堆積物モニタ、質量分析器を用いた処理対象から放出された原子及び分子モニタ、並びに探針を用いた処理室内の電気特性モニタ等でもよい。
【0034】
また、計測装置103は、電圧、電流、及びパワー等の電源出力値、整合器内のコンデンサやコイル等の可変電気素子の値、各種使用ガスの流量、装置躯体及び装置構成部品の温度、処理室内の圧力、圧力制御弁の開度、バルブ開閉状態、ガス排気速度、並びに、処理及び装置の動作タイミング及び動作時刻等を取得するセンサを有してもよい。
【0035】
ここで、解析システム20の記憶装置101に格納されるプログラム及び情報について説明する。記憶装置101は、擬状態算出部120、報酬算出部121、価値関数解析部122、及び処理条件解析部123を実現するプログラムを格納し、また、処理DB130及び価値関数情報131を格納する。
【0036】
処理DB130は、強化学習で使用する情報を管理するデータベースである。処理DB130に格納されるデータについては図4を用いて説明する。なお、複数の計算機を用いて解析システム20が構築されている場合、分散データベースとして処理DB130を実現してもよい。
【0037】
価値関数情報131は価値関数を管理するための情報である。価値関数は、任意の状態において選択された行動の評価を示す値(価値)を算出する関数(モデル)であり、ニューラルネットワーク、カーネル法、及び決定木等の機械学習に基づいて算出することができる。実施例1の価値関数は、擬状態sにおいて決定された処理条件aの価値を算出するための関数であって、Q(s,a)と表す。実施例1の価値関数Q(s,a)の変数sは、試料の状態ではなく、試料の状態と相関がある擬状態である点に特徴がある。
【0038】
強化学習の実行前の価値関数情報131には、経験及び予測から推定された価値関数Q(s,a)の情報が設定される。
【0039】
擬状態算出部120は、計測装置103によって計測された物理量を取得し、当該物理量から擬状態を算出する。擬状態算出部120は、擬状態を報酬算出部121及び処理条件解析部123に出力し、また、処理DB130に格納する。
【0040】
なお、擬状態算出部120は、物理量をそのまま擬状態として算出してもよいし、物理量を変数とする数式を用いて擬状態を算出してもよい。
【0041】
なお、擬状態算出部120は、PCA(主成分分析)等の次元圧縮法に基づいてパラメータの数を削減した値を擬状態として算出してもよい。パラメータの数を削減することによって学習に要するリソース量及び演算時間を削減することができる。
【0042】
報酬算出部121は、任意の擬状態において、選択した処理条件(行動)に基づいて処理ステップを実行することによって得られる報酬を算出する。なお、報酬は試料の加工形状及び加工目的等に応じて設定できる。
【0043】
価値関数解析部122は、処理DB130に格納されるデータに基づいて価値関数を推定し、推定結果に基づいて価値関数情報131を更新する。なお、価値関数を推定するためのデータ(知識)が存在しない場合、又は、蓄積されるデータ量が少ないため予測精度が高い価値関数を推定できない場合、価値関数解析部122は、ユーザが入力した価値関数を価値関数情報131に設定し、又は、ランダムな初期値に基づいて推定された価値関数を価値関数情報131に設定する。
【0044】
処理条件解析部123は、擬状態及び価値関数情報131に設定された価値関数に基づいて、処理ステップの処理条件を決定する。処理条件解析部123は、決定された処理条件を処理条件入力部110に対して出力し、また、処理DB130に格納する。
【0045】
なお、解析システム20が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。例えば、擬状態算出部120、報酬算出部121、価値関数解析部122、及び処理条件解析部123を一つの学習部として実現してもよい。
【0046】
図2は、実施例1の半導体処理装置10に設置された試料及び試料の物理量の計測方法の一例を示す図である。図3Aは、実施例1の試料の加工の一例を示す図である。図3Bは、実施例1の試料を加工するための処理フローの一例を示す図である。
【0047】
図2では、マスク付パターンを有する試料200を示す。図2に示す計測装置103は、干渉光分光器である。計測装置103は、試料200に光を照射し、試料200から発生した干渉光を計測する。干渉光は、試料200の微細構造及び薄膜によって発生する光であり、試料200の幾何学的な構造及び物性と相関を持つ物理量と考えられる。
【0048】
実施例1では、図3Aに示すような、試料200の垂直深掘り加工を実現する処理フローを考える。試料200の垂直深掘り加工を実現する処理フローは、図3Bに示すようにT個の処理ステップから構成される。ここで、Tは自然数を表す。
【0049】
図4は、実施例1の処理DB130に格納されるデータのデータ構造の一例を示す図である。
【0050】
処理DB130は、処理フローごとに処理情報400を格納する。処理情報400は、処理ステップ401、擬状態402、処理条件403及び報酬404から構成されるエントリを含む。一つのエントリは一つの処理ステップに対応する。処理情報400は、処理フローの識別情報と対応づけて管理される。
【0051】
処理ステップ401は、処理ステップを識別する識別情報を格納するフィールドである。処理ステップ401には、例えば、処理ステップの実行順番を示す番号が格納される。擬状態402は、擬状態算出部120によって算出された擬状態を格納するフィールドである。処理条件403は、処理条件解析部123によって決定された処理条件を格納するフィールドである。報酬404は、報酬算出部121によって算出された報酬を格納するフィールドである。
【0052】
なお、処理条件403には、処理条件解析部123によって決定された処理条件の代わりに、半導体処理装置10が実際に設定した処理条件を格納してもよい。例えば、処理条件解析部123が、インタフェース102を介して半導体処理装置10が設定した処理条件を取得し、処理情報400に格納する。
【0053】
図5は、実施例1の解析システム20が実行する処理を説明するフローチャートである。図6は、実施例1の計測装置103によって計測される干渉光の一例を示す図である。図7A及び図7Bは、実施例1の擬状態算出部120が算出する擬状態のデータ構造の一例を示す図である。図8は、実施例1の処理条件解析部123が実行する処理を説明するフローチャートである。図9A及び図9Bは、実施例1の処理条件の選択方法の一例を示す図である。
【0054】
解析システム20は、変数m及び変数tに初期値として「1」を設定する(ステップS101)。変数mは処理フローにしたがって加工される試料の識別番号を表す変数である。変数tは処理フローに含まれる処理ステップの識別番号を表す変数である。変数tはT以下の自然数である。
【0055】
解析システム20は、m番目の試料を半導体処理装置10に設置する(ステップS102)。変数mは自然数である。
【0056】
具体的には、解析システム20は、m番目の試料を半導体処理装置10に搬送し、試料の加工及び物理量の計測が可能な状態に設定する。このとき、解析システム20は、処理DB130に、変数mの値と対応づけられた処理情報400を生成する。
【0057】
次に、解析システム20は、計測装置103が計測した物理量を用いて現在の擬状態stを算出する(ステップS103)。
【0058】
具体的には、擬状態算出部120が、計測装置103によって計測された物理量から擬状態を算出し、報酬算出部121及び処理条件解析部123に擬状態を出力する。また、擬状態算出部120は、処理DB130にエントリを追加し、追加されたエントリの処理ステップ401に変数tの値を設定する。また、擬状態算出部120は、追加されたエントリの擬状態402に、算出した擬状態を設定する。
【0059】
例えば、擬状態算出部120は、図6に示すような干渉光の計測結果を取得した場合、図7Aに示すように、特定の波長の強度を要素とするベクトルを擬状態として算出する。また、擬状態算出部120は、図7Aに示すベクトルに対して主成分分析を実行し、図7Bに示すような所定の数の主成分を要素とするベクトルを擬状態として算出する。なお、擬状態算出部120は、データの標準化を行って擬状態を算出してもよい。
【0060】
なお、物理量から擬状態を算出する方法は、予め、擬状態算出部120に設定されているものとする。
【0061】
次に、解析システム20は、現在の擬状態stにおいて、適切な処理条件atを選択する(ステップS104)。ここで、図8及び図9を用いて処理条件atの選択処理について説明する。
【0062】
処理条件解析部123は、擬状態算出部120から現在の擬状態stを取得し、また、価値関数情報131から価値関数Q(s,a)を取得する(ステップS201)。
【0063】
次に、処理条件解析部123は、変数sに現在の擬状態stを代入した価値関数Q(st,a)を最大化する処理条件aを算出する(ステップS202)。
【0064】
価値関数Q(st,a)を最大化する処理条件a’を算出する手法としては、非線形計画法、メタヒューリスティック及びグラフ理論等の手法を用いることが考えられる。
【0065】
次に、処理条件解析部123は、処理条件aに基づいて、適切な処理条件atを決定する(ステップS203)。
【0066】
例えば、処理条件解析部123は、図9Aに示すように処理条件a’を、処理条件atに決定する。また、別の決定方法としては、処理条件解析部123は、処理条件a’に基づいて確率的に処理条件atを選択する。具体的には、処理条件解析部123は、図9Bに示すように処理条件aを中心とする所定の大きさの範囲を設定し、当該範囲内でランダムに処理条件atを選択する。
【0067】
確率的に処理条件atを選択する理由は、決定的な処理条件の選択方法の場合、学習結果が局所解となる危険性を回避するためである。
【0068】
次に、処理条件解析部123は、処理条件atを処理DB130に格納する(ステップS204)。具体的には、処理条件解析部123は、処理ステップ401が変数tの値に一致するエントリを検索し、検索されたエントリの処理条件403に処理条件atを格納する。以上がステップS104の処理の説明である。図5の説明に戻る。
【0069】
次に、解析システム20は、半導体処理装置10に処理条件atを含む処理ステップの実行要求を出力する(ステップS105)。
【0070】
具体的には、処理条件解析部123が、インタフェース102を介して、半導体処理装置10に処理条件atを含む処理ステップの実行要求を出力する。半導体処理装置10は、処理ステップの実行要求を受信した場合、当該要求に含まれる処理条件atに基づいて、試料に対する加工処理を実行する。
【0071】
次に、解析システム20は、現在の処理ステップが最終処理ステップであるか否かを判定する(ステップS106)。
【0072】
具体的には、解析システム20は、変数tの値がTであるか否かを判定する。変数tの値がTであると判定された場合、解析システム20は、現在の処理ステップが最終処理ステップであると判定する。
【0073】
現在の処理ステップが最終処理ステップでないと判定された場合、解析システム20は、報酬rtを算出する(ステップS107)。具体的には、以下のような処理が実行される。
【0074】
報酬算出部121は、擬状態算出部120から取得した擬状態に基づいて報酬rtを算出する。実施例1では、干渉光の振動回数に基づいて報酬rtが算出される。干渉光の時間方向の振動回数は、試料の膜厚の変化量と相関がある物理量である。したがって、振動回数が多いほど、試料の溝の深さが深いことを示す。そこで、報酬算出部121は、干渉光の振動回数に応じた報酬を算出する。以上がステップS107の処理の説明である。
【0075】
次に、解析システム20は、処理DB130に基づいて価値関数Q(s,a)を推定する(ステップS108)。
【0076】
例えば、価値関数Q(s,a)は、強化学習及びRNN(リカレントニューラルネットワーク)や、線形回帰、ニューラルネットワーク(NN)、及びカーネルリッジ回帰(KRR)等の機械学習を用いて推定される。
【0077】
なお、処理ステップごとに価値関数の推定を行わなくてもよい。例えば、一定数の処理ステップが終了した場合、又は、複数の試料の処理が終了した場合に、解析システム20は価値関数を推定してもよい。一定数のデータが蓄積された後に価値関数を推定する理由は、推定に使用するデータの数が多いほど価値関数の推定精度が向上する場合があるためである。
【0078】
次に、解析システム20は、変数tに1を加算した値を新たな変数tに設定し(ステップS109)、その後、ステップS103に戻る。すなわち、次の処理ステップに移行する。
【0079】
ステップS106において、現在の処理ステップが最終処理ステップであると判定された場合、解析システム20は、全ての処理ステップが行われた後の試料から、直接、試料の状態を示す処理結果を取得する(ステップS110)。
【0080】
例えば、解析システム20は、走査型電子顕微鏡を用い、半導体処理装置10の外に搬送された試料の断面情報を取得する。なお、解析システム20は、計測装置103を用いて擬状態を処理結果として取得してもよい。
【0081】
次に、解析システム20は、取得した処理結果に基づいて、加工された試料が基準を満たすか否かを判定する(ステップS111)。
【0082】
例えば、解析システム20は、試料の加工形状及び目標の加工形状の誤差が予め設定された誤差の範囲内であるか否かを判定する。なお、試料の基準は加工形状及び加工目的等に応じて異なる基準を設定することができる。
【0083】
加工された試料が基準を満たすと判定された場合、解析システム20は処理を終了する。これは、基準を満たす試料を得ることができた処理フローの各処理ステップの処理条件が決定されたことを意味する。このとき、解析システム20は、処理DB130から当該処理フローに対応する処理情報400を取得し、当該処理情報400をユーザに提示するための表示情報を生成してもよい。
【0084】
加工された試料が基準を満たさないと判定された場合、解析システム20は、報酬rTを算出する(ステップS112)。
【0085】
報酬の算出方法はステップS107と同様である。このとき、解析システム20は、処理ステップ401がTであるエントリを検索し、検索されたエントリの報酬404に算出された報酬rTを設定する。
【0086】
次に、解析システム20は、処理DB130に基づいて価値関数Q(s,a)を推定する(ステップS113)。価値関数の推定方法はステップS108と同様である。
【0087】
次に、解析システム20は、変数tを1に初期化し、また、変数mに1を加算した値を新たな変数mに設定し(ステップS114)、その後、ステップS102に戻る。すなわち、次の試料を用いた強化学習が開始される。
【0088】
図5に示す処理を実行することによって、適切な処理条件に基づいて制御される処理ステップから構成される処理フローを決定することができる。
【0089】
なお、処理ステップごとに報酬rtを算出しなくてもよい。この場合は、ステップS107及びステップS108の処理を実行せず、報酬rT並びに各処理ステップの擬状態及び処理条件に基づいて価値関数Q(s,a)が推定される。
【0090】
なお、擬状態に基づいて算出された報酬rt及び最終的な試料の加工形状に基づいて算出された報酬rTを算出できる場合、解析システム20は、二つの報酬を足し合わせて一つの報酬として扱ってもよい。
【0091】
図10は、実施例1の解析システム20に各種設定を行うためのGUI1000の一例を示す図である。
【0092】
GUI1000は、学習の各種設定を行うためのGUIである。GUI1000は、学習処理設定欄1010、擬状態設定欄1020、報酬設定欄1030、処理フロー設定欄1040、価値関数更新設定欄1050、及び決定ボタン1070を含む。
【0093】
学習処理設定欄1010、擬状態設定欄1020、報酬設定欄1030、処理フロー設定欄1040、及び価値関数更新設定欄1050には、欄への入力が有効であるか否かを示すランプ1060が含まれる。欄への入力が有効である場合、ランプ1060が点灯する。これによって、ユーザは、正しい値が入力できたことを確認できる。なお、ランプ1060以外にポップアップの表示及び音声の再生等を行ってもよい。
【0094】
学習処理設定欄1010は、価値関数欄1011及び強化学習欄1012を含む。価値関数欄1011は、価値関数(モデル)を設定するための欄であり、線形回帰、ニューラルネットワーク(NN)、及びカーネルリッジ回帰(KRR)のいずれかを選択するためのチェックボックスを含む。強化学習欄1012は、強化学習の手法を設定するための欄であり、Q学習、SARSA、及びActor−Criticのいずれかを選択するためのチェックボックスを含む。
【0095】
擬状態設定欄1020は、擬状態欄1021を含む。擬状態欄1021は、擬状態として算出する値を設定するための欄であり、波長の干渉光の強度、波長の干渉光の強度にPCAを適用した値、及び計測装置103が計測した物理量のいずれかを選択するためのチェックボックスを含む。なお、擬状態設定欄1020は、ユーザが擬状態を直接定義するための欄を含んでもよい。
【0096】
報酬設定欄1030は、報酬欄1031を含む。報酬欄1031は、報酬の算出方法を設定するための欄であり、干渉光の振動回数、処理フローの終了後の試料の加工形状、及びその組合せのいずれかを選択するためのチェックボックスを含む。なお、報酬設定欄1030は、ユーザが報酬を直接定義するための欄を含んでもよい。
【0097】
処理フロー設定欄1040は、処理フロー欄1041を含む。処理フロー欄1041は、処理フローに関する設定を行うための欄であり、処理フローに含まれる処理ステップの数及び処理フローの処理時間を設定する欄を含む。なお、処理フロー設定欄1040は、ユーザが処理フローを直接定義するための欄を含んでもよい。
【0098】
価値関数更新設定欄1050は、更新頻度欄1051を含む。更新頻度欄1051は、価値関数の推定タイミングを設定するための欄であり、処理ステップごと、試料ごと、及び一定数の試料ごとのいずれかを選択するためのチェックボックスを含む。一定数の試料ごとに価値関数の推定を行う場合、ユーザは試料の数を指定する欄に値を設定する。
【0099】
決定ボタン1070は、各欄の値を確定するためのボタンである。なお、各欄のランプ1060が点灯した場合にのみ、決定ボタン1070を操作できるように制御してもよい。ユーザが決定ボタン1070を押下した場合、解析システム20は、図5に示す処理を開始する。
【0100】
なお、各欄のチェックボックスは一例であって、図示していない形式又は手法等を選択するチェックボックスが含まれてもよい。
【0101】
以上で説明したように、実施例1の解析システム20は、強化学習における環境(半導体処理装置10内の試料)の状態を直接観測できない場合において、状態と強い相関がある物理量から算出される擬状態に基づいて強化学習を実行することができる。これによって、解析システム20は、処理フローに含まれる各処理ステップの適切な処理条件を決定することができる。また、擬状態を用いた強化学習であるため、半導体処理装置10から試料を取り出すことなく、リアルタイムな制御を実現することができる。
【0102】
本実施例では、干渉光から算出された擬状態を用いた強化学習を例に説明したがこれに限定されない。例えば、物性、形状又は色等の状態と相関がある物理量として、電気的特性又は機械的特性等を示す物理量を用いることによって同様の強化学習を実現できる。
【0103】
なお、実施例1で説明した発明は、試料の処理フローを決定するための強化学習以外の強化学習にも適用することができる。すなわち、状態と相関がある物理量を取得できる最適化問題に対して本発明を適用することができる。
【0104】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0105】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0106】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0107】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0108】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0109】
10 半導体処理装置
20 解析システム
100 演算装置
101 記憶装置
102 インタフェース
103 計測装置
110 処理条件入力部
120 擬状態算出部
121 報酬算出部
122 価値関数解析部
123 処理条件解析部
130 処理DB
131 価値関数情報
200 試料
400 処理情報
1000 GUI
図1
図2
図3A
図3B
図4
図5
図6
図7A
図7B
図8
図9A
図9B
図10