IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ノヴァ メジャリング インストルメンツ リミテッドの特許一覧

特表2023-523156スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法
<>
  • 特表-スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法 図1
  • 特表-スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法 図2
  • 特表-スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法 図3
  • 特表-スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法 図4A
  • 特表-スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法 図4B
  • 特表-スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法 図5
  • 特表-スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-02
(54)【発明の名称】スペクトルに基づく測定およびプロセス制御のための機械学習および深層学習の方法
(51)【国際特許分類】
   H01L 21/66 20060101AFI20230526BHJP
   G01N 21/956 20060101ALN20230526BHJP
【FI】
H01L21/66 C
G01N21/956 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022560862
(86)(22)【出願日】2021-04-06
(85)【翻訳文提出日】2022-12-02
(86)【国際出願番号】 IL2021050389
(87)【国際公開番号】W WO2021205445
(87)【国際公開日】2021-10-14
(31)【優先権主張番号】63/005,589
(32)【優先日】2020-04-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.SMALLTALK
(71)【出願人】
【識別番号】515037896
【氏名又は名称】ノヴァ リミテッド
【氏名又は名称原語表記】NOVA LTD
(74)【代理人】
【識別番号】110001830
【氏名又は名称】弁理士法人東京UIT国際特許
(72)【発明者】
【氏名】ブリンゴルッツ・バラク
(72)【発明者】
【氏名】ヤコビ・ラン
(72)【発明者】
【氏名】タル・ノアム
(72)【発明者】
【氏名】ヨゲヴ・シェイ
(72)【発明者】
【氏名】ストゥルレシ・ボアズ
(72)【発明者】
【氏名】コーヘン・オデッド
【テーマコード(参考)】
2G051
4M106
【Fターム(参考)】
2G051AA51
2G051AB07
2G051AB20
2G051CB01
2G051CB05
2G051EA12
2G051EA14
4M106AA01
4M106BA04
4M106CA21
4M106CA39
4M106CA48
4M106DB02
4M106DH46
4M106DJ20
(57)【要約】
半導体製造における高度プロセス制御(APC)のためのシステムおよび方法は,複数のウェハサイトの各々に対して,プロセスステップ実行前に測定された散乱計測訓練データのプロセス前セットを受信し,プロセスステップ実行後に測定された散乱計測訓練データの対応するプロセス後セットを受信し,プロセスステップ実行中に適用されたプロセス制御ノブ設定を示すプロセス制御ノブ訓練データのセットを受信するステップと,散乱計測訓練データのプロセス前セットにおけるばらつきと,対応するプロセス制御ノブ訓練データとを,散乱計測訓練データの対応するプロセス後セットに相関させる機械学習モデルを生成し,機械学習モデルを訓練して,プロセス制御ノブ設定の変更を推奨し,プロセス前散乱計測データにおけるばらつきを補正するステップと,を含む。
【特許請求の範囲】
【請求項1】
一または複数の関連する非一時的メモリを有する一または複数のプロセッサを含み,上記非一時的メモリが上記一または複数のプロセッサによって実行される命令を含む,半導体製造における高度プロセス制御(APC)のためのシステムであって,上記命令が,
複数のウェハサイトの各々に対して,プロセスステップ実行前に測定された散乱計測訓練データのプロセス前セットを受信し,上記プロセスステップ実行後に測定された散乱計測訓練データの対応するプロセス後セットを受信し,上記プロセスステップ実行中に適用されたプロセス制御ノブ設定を示すプロセス制御ノブ訓練データのセットを受信するステップと,
散乱計測訓練データの上記プロセス前セットにおけるばらつきと,上記対応するプロセス制御ノブ訓練データとを,散乱計測訓練データの上記対応するプロセス後セットに相関させる機械学習モデルを生成し,上記機械学習モデルを訓練して,プロセス制御ノブ設定の変更を推奨し,上記プロセス前散乱計測データにおけるばらつきに対して補償するステップと,を実施する命令を含む,システム。
【請求項2】
半導体製造中に,上記機械学習モデルを適用してプロセス制御ノブの推奨値を作成するステップをさらに含む,請求項1に記載のシステム。
【請求項3】
上記機械学習モデルが第1の機械学習モデルであり,散乱計測訓練データの上記プロセス後セットが,光学モデルによってまたは第2の機械学習モデルによって,一または複数のターゲットプロセス後パターンパラメータに相関される,請求項1に記載のシステム。
【請求項4】
上記プロセス制御ノブ設定が,プロセスステップ継続時間,台座エッジリングの高さ,台座の複数の制御ゾーンにわたる温度分布,およびプロセスチャンバ圧力のうちの一または複数に対する設定を含む,請求項1に記載のシステム。
【請求項5】
散乱計測データの上記プロセス前セットおよびプロセス後セットの各々が,クリティカルディメンション,特徴深さ,特徴高さ,および特徴ピッチのうちの一または複数を含む,それぞれのウェハサイトにおける一または複数のパターンパラメータを示す,請求項1に記載のシステム。
【請求項6】
上記プロセスステップが,堆積動作,エッチング動作,および研磨動作のうちの一または複数である,請求項1記載のシステム。
【請求項7】
上記機械学習モデルを生成するステップが,ボトルネック潜在層につながり,次に少なくとも1つのデコーダ層につながる複数のエンコーダ層を含むニューラルネットワーク(NN)を訓練するステップを含み,散乱計測訓練データの上記プロセス前セットがモデル入力として適用され,散乱計測訓練データの上記対応するプロセス後セットがモデル出力として適用され,上記複数のプロセス制御ノブ訓練データが上記複数のエンコーダ層のいずれか1つで上記NNと交差する補助入力として適用され,上記複数のプロセス制御ノブ訓練データが上記少なくとも1つのデコーダ層のいずれか1つにリンクする補助出力として適用される,請求項1に記載のシステム。
【請求項8】
上記NNのバックプロパゲーションのための損失関数が,上記NNの上記出力と散乱計測訓練データの上記プロセス後セットとの間の類似度を最大化する,請求項7に記載のシステム。
【請求項9】
上記損失関数が二乗誤差損失関数である,請求項8に記載のシステム。
【請求項10】
上記機械学習モデルが上記NNに続くキャリブレーションステップを含み,上記NNは散乱計測訓練データの上記プロセス後セットを,予測されたプロセス後パターンパラメータにキャリブレートし,上記キャリブレーションがOCDモデルによって実行される,請求項7に記載のシステム。
【請求項11】
上記機械学習モデルの最適化ステップが,上記ターゲットプロセス後パターンパラメータと上記予測されたプロセス後パターンパラメータとの間の差を最小化するステップを含む,請求項10に記載のシステム。
【請求項12】
上記NNの補助出力のバックプロパゲーションのための損失関数が,上記補助出力と上記プロセスノブ訓練データとの間の類似度の質を表現する,請求項7に記載のシステム。
【請求項13】
前記損失関数が二乗誤差損失関数である,請求項12に記載のシステム。
【請求項14】
上記機械学習モデルを生成するステップが,散乱計測訓練データの上記プロセス後セットとプロセス制御ノブ訓練データの上記対応するセットとの間の最大共分散を決定して,潜在変数を生成するステップと,上記プロセス制御ノブ訓練データを上記潜在変数から減算して,上記プロセス後散乱計訓練データのばらつきに対する上記前記プロセス制御ノブ訓練データのばらつきの寄与を表す対応する残差を生成するステップと,プロセス前散乱計測データの上記セットを上記対応する残差に対してキャリブレーションして,上記プロセス前散乱計測データにおけるばらつきのノブ値推定量を決定するステップと,上記機械学習モデルを最適化して,上記ノブ値推定量から上記プロセス制御ノブ推奨値を決定するステップと,を含む請求項1に記載のシステム。
【請求項15】
上記複数のウェハサイトが複数のウェハ上に配置されている,請求項1に記載のシステム。
【請求項16】
プロセス前およびプロセス後散乱計測訓練データの上記複数のセットが,2つ以上の測定チャネルによって測定される,請求項1に記載のシステム。
【請求項17】
半導体製造における高度プロセス制御(APC)のための方法であって,
複数のウェハサイトの各々に対して,プロセスステップ実行前に測定された散乱計測訓練データのプロセス前セットを受信し,上記プロセスステップ実行後に測定された散乱計測訓練データの対応するプロセス後セットを受信し,上記プロセスステップ実行中に適用されたプロセス制御ノブ設定を示すプロセス制御ノブ訓練データのセットを受信するステップと,
散乱計測訓練データの上記プロセス前セットにおけるばらつきと,上記対応するプロセス制御ノブ訓練データとを,散乱計測訓練データの上記対応するプロセス後セットに相関させる機械学習モデルを生成し,上記機械学習モデルを訓練して,プロセス制御ノブ設定の変更を推奨し,上記プロセス前散乱計測データにおけるばらつきを補償するステップとを含む,方法。
【請求項18】
命令を記憶した非一時的機械アクセス可能な記憶媒体であって,前記命令が,マシンによって実行されると前記マシンに,
複数のウェハサイトの各々に対して,プロセスステップ実行前に測定された散乱計測訓練データのプロセス前セットを受信し,上記プロセスステップ実行後に測定された散乱計測訓練データの対応するプロセス後セットを受信し,上記プロセスステップ実行中に適用されたプロセス制御ノブ設定を示すプロセス制御ノブ訓練データのセットを受信するステップと,
散乱計測訓練データの上記プロセス前セットにおけるばらつきと,上記対応するプロセス制御ノブ訓練データとを,散乱計測訓練データの上記対応するプロセス後セットに相関させる機械学習モデルを生成し,上記機械学習モデルを訓練して,プロセス制御ノブ設定の変更を推奨し,上記プロセス前散乱計測データにおけるばらつきを補償するステップと,を実施させる,記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は,概略的には,集積回路ウェハパターンの光学的検査の分野に関するもので,特にシリコンウェハ製造のためのアルゴリズムに関する。
【背景技術】
【0002】
集積回路(IC)は,薄層の堆積,変更,および除去の複数のステップを経ることで半導体ウェハ上に製造される。現代の半導体製造プロセスでは,1000を超えるそのようなプロセスステップを必要とする場合がある。高度プロセス制御(APC)(Advanced process control)はプロセスツールの設定を最適化することを目的とするもので,製造の全体的なばらつきを低減する。プロセスツールの設定は,以下においてプロセス「ノブ」(knobs)とも呼ばれ,スピンオンフィルム,熱酸化膜成長,化学蒸着(CVD),物理蒸着(PVD),電気めっき,ウェハ温度,チャンバ圧力,研磨圧などのプロセス設定を含む,プロセス制御のあらゆる態様を含み得る。
【0003】
特定の条件下では,従来のプロセス制御方法は,半導体製造において要求される精度の絶えず増大するレベルをもはや満たすことができなくなっている。ハードウェア開発における最近の進歩がより広い範囲のプロセスノブを導入しており,高次元のノブ空間に適用された場合に従来のAPCソリューションは欠点を有するものとなっている。さらにAPCの別の課題は,複数の生産ラインが複数の製造ルートを使用することがあることであり,時間的スケールドリフトにより生産結果のばらつきが大きくなるおそれがあることである。機械学習技術を適用してAPCを改善する試みが記載されている。たとえば,「Model Based Control of Wafer Non-Conformity」と題するDroriらによる国際公開WO2021/030833は,プロセスパラメータと測定データを相関させるいくつかのタイプのニューラルネットワークの生成について記載する。
【0004】
半導体製造における複数のプロセスステップは,回折格子のような光学的特性を有する積層構造(「スタック」(stacks))を生成する。光学クリティカルディメンション(光限界寸法)(OCD)(Optical critical dimension)測定では,これらの光学的特性を利用して,ウェハ上のサイト(「ウェハサイト」)におけるパターンのクリティカルディメンション(限界寸法)(CD)および材料特性を測定する。(以下では,CDおよび材料特性を「パターンパラメータ」(pattern parameters)とも呼ぶ)。CDには,スタックの高さ,幅およびピッチが含まれ得る。参照によって本書に組み込まれる,Dixitらによる「Sensitivity analysis and line edge roughness determination of 28-nm pitch silicon fins using Mueller matrix spectroscopic ellipsometry -based optical critical dimension metrology,」 J. Micro/Nanolith. MEMS MOEMS. 14(3), 031208 (2015)に記載されているように,CDは,側壁角度(SWA)(side wall angle),スペーサ幅,スペーサプルダウン(spacer pull-down),エピタキシャル近接(epitaxial proximity),フッティング/アンダーカット(footing/undercut),2次元(HKMG)のオーバーフィル/アンダーフィル(over-fill/under-fill),3次元プロファイル(FinFETs)およびラインエッジ粗さ(LER)も含み得る。
【0005】
散乱計測データ(scatterometric data)(この明細書では「スペクトルデータ」とも呼ぶ)は,典型的に,ウェハサイトにおけるパターンの光学的特性を示す反射光放射(reflected light radiation)として取得される。参照によりこの明細書に組み込まれる,ScheinerおよびMachavarianiに対する米国特許第6,476,920号明細書「Method and apparatus for measurements of patterned structures」は,所定のパターンパラメータから分光テスト中に測定される散乱計測データを推定する「物理モデル」とも呼ばれる「光学モデル」の開発について記載している。光学モデルは,測定された散乱計測データに基づいてパターンパラメータを推定するという反対(又は「逆」)の機能を実行するように設計することもできる。一般的には,光学モデルがOCD測定に適用され,ウェハサイトのパターンが正しい仕様で製造されているかどうかが決定される。以下では,より一般的な用語「OCDモデル」は,光学原理から開発された物理モデルと,当該技術分野で知られている機械学習モデルとの両方を指す。
【0006】
散乱計測データ(たとえば,スペクトログラム)を測定(取得)するための例示的な散乱計測ツールとしては,スペクトルエリプソメータ(spectral ellipsometers)(SE),スペクトル反射率計(spectral reflectometers)(SR),偏光スペクトル反射率計(polarized spectral reflectometers),および他の光学クリティカルディメンション(OCD)測定ツールが挙げられる。このようなツールは,現在利用可能なOCD測定システムに組み込まれている。このようなOCD測定システムの一つがNOVA T600(登録商標)Advanced OCD Metrologyツールであり,イスラエルのレホヴォトにあるノヴァ・メジャリング・インストゥルメンツ株式会社から市販されているもので,指定されたウェハサイト,すなわち「インダイ」(in-die)にあるパターンパラメータの測定を行う。クリティカルディメンション(CD)を測定するその他の方法として,干渉法(interferometry),X線ラマン分光法(XRS),X線回折法(XRD),ポンプ・プローブ・ツールなどが挙げられる。そのようなツールのいくつかの例は,米国特許第10,161,885号明細書,米国特許第10,054,423号明細書,米国特許第9,184,102号明細書,および米国特許第10,119,925号明細書,並びに国際出願中の国際公開WO2018/211505号に開示されており,これらはすべて出願人に譲渡され,その全体が参照によってこの明細書に組み込まれる。
【0007】
上記光学モデルに依存しないパターンパラメータを高精度に測定する方法としては,CD走査型電子顕微鏡(CD-SEM),原子間力顕微鏡(AFM),断面トンネル電子顕微鏡(TEM),またはX線測定ツールなどの機器によるウェハ測定が挙げられる。これらの方法は,光学的および機械学習モデリングの方法に比べて典型的には高価で時間がかかる。以下では,このようなツールで測定されたパターンパラメータを「参照パラメータ」と呼ぶ。
【0008】
以下に開示されるこの発明の実施形態は,現在のAPC方法の欠点を克服するのに役立つ。この明細書に含まれる背景および文脈の説明は,本開示の文脈を一般的に提示する目的でのみ提供されていることを理解されたい。本開示の多くは,この発明者らの業績を提示し,そのような業績が背景技術セクションに記載されている,またはこの明細書の他の場所で文脈として提示されているからといって,それが先行技術であることを認めることを意味するものではない。
【発明の概要】
【課題を解決するための手段】
【0009】
この発明の実施形態は,半導体製造における機械学習ベースの高度プロセス制御(APC)のためのシステムおよび方法を提供するもので,当該システムおよび方法は,複数のウェハサイトのそれぞれに対して,プロセスステップ実行前に測定される散乱計測訓練データのプロセス前セット(a pre-process set of scatterometric training data)を受信し,プロセスステップ実行後に測定される散乱計測訓練データの対応するプロセス後セット(a corresponding post-process set of scatterometric training data)を受信し,プロセスステップ実行中に適用されるプロセス制御ノブ設定を示すプロセス制御ノブ訓練データのセット(a set of process control knob training data indicative of process control knob settings)を受信するステップを含む。機械学習モデルは,次に,散乱計測訓練データのプロセス前セットにおけるばらつきと,対応するプロセス制御ノブ訓練データとを,散乱計測訓練データの対応するプロセス後セットに相関させて,それにより,機械学習モデルを訓練して,プロセス制御ノブ設定の変更を推奨し,プロセス前散乱計測データにおけるばらつきを補償することができる。
【0010】
この発明の実施形態は,半導体製造中に,機械学習モデルを適用してプロセス制御ノブの推奨値を作成するステップをさらに含むことができる。
【0011】
さらなる実施形態では,散乱計測訓練データのプロセス後セットは,光学モデルによって一または複数のターゲットプロセス後パターンパラメータ(target, post-process pattern parameters)に相関されてもよい。さらにまたは代替的に,散乱計測訓練データのプロセス後セットは,第2の機械学習モデルによって一または複数のターゲットプロセス後パターンパラメータに相関されてもよい。
【0012】
プロセス制御ノブ設定は,プロセスステップ継続時間(a duration of a processing step),台座エッジリングの高さ(a height of a pedestal edge ring),台座の複数の制御ゾーンにわたる温度分布(a temperature distribution over multiple control zones of a pedestal),およびプロセスチャンバ圧力(a process chamber pressure)のうちの一つまたは複数のための設定を含むことができる。
【0013】
散乱計測データのプロセス前セットおよびプロセス後セットは,それぞれのウェハサイトにおける,クリティカルディメンション,特徴深さ,特徴高さ,および特徴ピッチのうちの一または複数を含む,一または複数のパターンパラメータを示すことができる。
【0014】
プロセスステップは,堆積,エッチング,または研磨動作のうちの一または複数とすることができる。
【0015】
機械学習モデルを生成するステップは,ボトルネック潜在層につながり,次に少なくとも一つのデコーダ層につながる,複数のエンコーダ層を含むニューラルネットワーク(NN)を訓練するステップを含み,散乱計測訓練データのプロセス前セットがモデル入力として適用され,散乱計測訓練データの対応するプロセス後セットがモデル出力として適用され,複数のプロセス制御ノブ訓練データが複数のエンコーダ層のいずれか一つにおいてNNと交差する補助入力として適用され,複数のプロセス制御ノブ訓練データが,少なくとも一つのデコーダ層のいずれか一つにリンクする補助出力として適用される。NNのバックプロパゲーション(backpropagation)のための損失関数は,NNの出力と散乱計測訓練データのプロセス後セットとの間の類似度を最大化する(to maximize a similarity)ように構成することができる。この損失関数は二乗誤差損失関数であってもよい。機械学習モデルはまた,散乱計測訓練データのプロセス後セットを予測プロセス後パターンパラメータ(predicted, post-process pattern parameters)にキャリブレートするNNに続くキャリブレーションステップを含んでもよい。このキャリブレーションはOCDモデルによって実行することができる。
【0016】
さらなる実施形態では,機械学習モデルの最適化ステップは,ターゲットプロセス後パターンパラメータ(the target, post-process pattern parameters)と予測プロセス後パターンパラメータ(predicted, post-process pattern parameters)との間の差を最小化するステップを含んでもよい。
【0017】
上記NN補助出力のバックプロパゲーションのための損失関数は,補助出力とプロセスノブ訓練データとの間の類似度の質(a quality of similarity)を表現することができる。この損失関数は二乗誤差損失関数である。
【0018】
さらなる実施形態では,機械学習モデルを生成するステップは,散乱計測訓練データのプロセス後セットとプロセス制御ノブ訓練データの対応するセットとの間の最大共分散(a maximum covariance)を決定して潜在変数(latent variables)を生成するステップと,プロセス制御ノブ訓練データを潜在変数から減算して,プロセス制御ノブ訓練データのプロセス後散乱計測訓練データのばらつきに対する寄与を表す対応する残差を生成するステップと,プロセス前散乱計測データのセットを対応する残差にキャリブレーションしてプロセス前散乱計測データにおけるばらつきのノブ値推定量(knob value estimators of variation)を決定するステップと,機械学習モデルを最適化してノブ値推定量からプロセス制御ノブ推奨値(the process control knob recommendations)を決定するステップと,を含み得る。
【0019】
いくつかの実施形態では,複数のウェハサイトは複数のウェハに配置される。プロセス前およびプロセス後散乱計測訓練データの複数のセットは,2つ以上の測定チャネルによって測定することもできる。
【0020】
この発明の様々な実施形態のより良い理解のために,かつどのように実施され得るかを示すために,例として,添付図面を参照する。この発明の構造的な詳細は,この発明の基本的理解を提供するために示されており,その説明は,図面とともに読むことにより,この発明のいくつかの形態が実際にどのように具現化され得るかを当業者に明らかにする。
【図面の簡単な説明】
【0021】
図1】この発明の実施形態による,自己教師あり表現学習による,機械学習ベースのAPCのためのシステムの概略図である。
図2】この発明の実施形態による,自己教師あり表現学習による,機械学習に基づくAPCのためのプロセスを示すフローチャートである。
図3】この発明の実施形態による,APCのための機械学習モデルを訓練し,適用するプロセスの概略図である。
図4A】この発明の実施形態による,APCのための機械学習モデルを訓練し,適用するプロセスの概略図である。
図4B】この発明の実施形態による,APCのための機械学習モデルを訓練し,適用するプロセスの概略図である。
図5】この発明の実施形態による,APCのための機械学習モデルを訓練し,適用するプロセスの概略図である。
図6】この発明の実施形態による,APCのための機械学習モデルを訓練し,適用するプロセスの概略図である。
【発明を実施するための形態】
【0022】
この発明の実施形態は,半導体製造の高度プロセス制御(APC)のための機械学習(ML)モデルを生成するためのシステムおよび方法を提供する。深層学習(DL)アルゴリズムを含む機械学習(ML)は,APCおよび測定システムの設計において強力なツールとなる可能性がある。これらのアルゴリズムは,多次元空間に適合し,プロセスの要求に応じて自動的に更新することができる。しかし,データ駆動型制御システムを成功させるためには,訓練用の正確なデータが利用可能であることが前提となる。半導体製造において,上記のような「参照パラメータ」は高価なリソースである。以下では,そのような参照パラメータに依存することなくMLおよびDL技術を促進するAPCのための方法を記載する。
【0023】
図1は,この発明の実施形態による,高度プロセス制御(APC)を含む半導体製造のためのシステム10の概略図である。APCの目的は,ウェハ上のサイト(場所)(「ウェハサイト(wafer sites)」)において製造されるパラメータのばらつきを低減することである。
【0024】
システム10はウェハ12の生産および監視のための生産ラインとすることができる。ウェハ12はウェハサイト14とともに製造され,クリティカルディメンション,特徴深さ,特徴高さ,特徴ピッチのうちの一または複数,背景技術に記載した他のパラメータを含む測定可能なパターンパラメータを有している。典型的には,ウェハは,同じパターンを有するように設計された(すなわち,すべてのパターンを製造するのに同じパターン設計を使用する)複数のサイト,つまり「ダイ」(dies)を有する。各ウェハサイト14について,典型的には,複数のパターンパラメータのセットを測定することができる。以下では,複数のパラメータのこのセットは,ベクトル(pの上部に右向き矢印を持つ記号)(以下,同様にベクトル記号を明細書本文においては下線を用いて表す。)によっても表され,ベクトルの各要素は複数のパラメータCDの一つである。
【0025】
上記システム10は,プロセス条件を制御するプロセス制御ノブ設定(process control knob settings)16として示す,広範囲のプロセス制御「ツール」を含むことができる。プロセス制御ノブ設定(この明細書では「ノブ設定」又は「ノブ値」とも呼ぶ)は,たとえば,処理中のウェハが搭載される台座18上の温度分布を制御することができる。典型的には,追加のノブ設定も提供され,プロセスステップの継続時間,台座エッジリングの高さ,台座の複数の制御ゾーンにわたる温度分布,およびプロセスチャンバ圧力を含む追加のプロセスパラメータが制御される。製造上のばらつきがパターンパラメータにわずかなばらつきを生じさせ,これらのパターンパラメータが,各プロセスステップの後に,ウェハ間で,かつ単一のウェハにわたるサイト間で異なるものとなる。以下に詳細に記載するように,この発明の実施形態は,ウェハ内サイトおよびウェハ間サイトのパラメータのばらつきを低減するために,ノブ設定に対して行われるべき変更を決定する方法およびシステムを提供する。ノブ設定に対して行われる変更によって,前のプロセスステップによって引き起こされたパラメータのばらつきが修正される。モデル訓練に使用されるデータセットを充実させるために確立されたノブ設定は,「実験計画法」(DOE)ノブ設定(Design of Experiment knob settings)と呼ぶことができる。ノブ設定に対して推奨されるばらつきが決定された場合,そのような推奨ノブ設定をrecommendedと記載する。
【0026】
上記システム10は光源20を含み,これによって所定の波長帯の光線22が生成される。光線22はウェハサイト14においてウェハパターンから反射され,分光光度検出器26に向かう(反射光または「散乱」光24として示す)。いくつかの構成では,光源および分光光度検出器はOCD測定システム30(たとえば,エリプソメータまたは分光光度計)に含まれる。測定システム30の構造および動作は,たとえば,米国特許第5,517,312号明細書,米国特許第6,657,736号明細書,および米国特許第7,169,015号明細書,ならびに国際公開WO2018/211505号(すべて本出願人に譲渡され,その全体が参照により本書に組み込まれる)に開示されるような任意の既知の種類のものとすることができる。典型的には,上記測定システム30は,対物レンズ,ビームスプリッタおよびミラーを有するビーム偏向器を含む光配向光学系といった,図示しない追加の構成要素を含む。このようなシステムの追加の構成要素は,撮像レンズ,偏光レンズ,可変開口絞り,およびモータを含んでもよい。このような要素の動作は,典型的には,コンピュータ制御装置によって自動化される。当該コンピュータ制御装置は,I/Oデバイスを含むことができ,散乱計測データ32(この明細書では「測定信号」とも呼ぶ)の生成などのデータプロセスタスクを実行するように構成されてもよい。
【0027】
測定システム30によって生成された散乱計測データ32は,典型的には,様々なタイプのプロットデータ34を含み,ベクトル形式で表すことができる(たとえば,データポイントが様々な光波長における反射光強度「I」の測定値であるスペクトログラム,または反射放射照度対入射角のマッピング)。上述のように,散乱計測データセット間のばらつきは,それぞれのウェハサイトにおけるパターンパラメータのばらつきを示す。典型的なOCD測定では,測定される光の範囲は可視光スペクトルをカバーし,紫外および赤外領域の波長も含み得る。OCD計測のための典型的なスペクトログラム出力は245のデータポイントを有し,200~970nmの波長帯をカバーすることができる。
【0028】
測定信号(すなわち,散乱計測データ)は様々なソースに由来するノイズを含む。このノイズは,測定プロセス中に発生する温度変動および気圧変動の結果であることもあるし,光学系アライメントのばらつき,ウェハサンプル上の所定のウェハサイトの位置の決定のばらつき,および製造メーカによって使用される異なる測定システムの物理および光学的状態の差異のばらつきなど,測定システム30の状態のばらつきであることもある。散乱計測データにおけるこのようなノイズ源の存在は,決定に影響を与え,その結果,所望のターゲットパラメータの不整合を導く。
【0029】
この発明の実施形態では,この明細書においてMLモデリングシステム40と呼ぶ,当当該技術分野において既知の機械学習(ML)ツールを含むコンピュータシステムを,OCD計測のMLモデルを訓練するために構成することができる。上記MLモデリングシステムによって使用される訓練特徴セット(特徴入力とも呼ばれる)は,所定のプロセスステップが実施される前後の散乱計測データ34のセット,およびプロセスステップ中に適用されるプロセス制御ノブ設定16を示すデータを含むことができる。訓練後,MLモデルが,ターゲット・パターンパラメータを達成するようにプロセス制御ノブ設定を推奨するために用いられる。
【0030】
プロセスステップは,エッチング,堆積,または研磨といった,ウェハパターンに影響を与える任意のタイプの自動化プロセスを含むことができる。さらなる実施形態では,用語「プロセスステップ」は,独立したノブ設定を有する複数のサブステップを含むことがある。ノブベクトル(knob vector)は,これらの複数のサブステップのための設定を含むことができる。上記MLモデリングシステム40は測定システム30から独立して動作可能であり,または測定システムと統合されてもよい。
【0031】
APC制御システムは,プロセス前の入力のばらつきおよびプロセスツールの不均一性の結果であるプロセス後パラメータ(the post-process parameters)(たとえば,プロセスが行われた後のもの)のプロセスのばらつき(プロセス変動)(process variation)を最小化することを目的とする。上記システムは制御されるツールのノブ(the controlled tool knobs)をキャリブレートして,プロセスの均一性とターゲットパラメータの達成とに影響を与えるウェハサイトのばらつきを補償する。このようなばらつきは,ウェハレベル(ダイごと)(die-to-die),ロットレベル(ウェハごと),ロット間(ロットごと)で発生する可能性がある。たとえば,ケミカル・メカニカル(CMP)プロセスは,長い半導体製造生産ラインを通して何十回となく繰り返される主要プロセス技術である。CMPツールが厚い層から材料を除去し,所望の設計にしたがって所望の厚さを形成する。CMPプロセスステップが多く,複数の製造工程があるので,ウェハのばらつきが発生し,そのためプロセス制御によって修正する必要がある。同様に,エッチャーツール(ether tool)は堆積中に加わった絶縁材料または金属材料を選択的に除去するデバイスである。ウェハレベルのばらつきを補正するには,ウェハ内の空間設定ノブ(a with-in wafer spatial setting knob),すなわち,ウェハごとの単一の値だけではなく,ノブの全体のウェハマップを適用するプロセスツールの能力が必要である。ハイエンドのエッチャーツールは,たとえば,このウェハ内のばらつきを修正するためのノブとして使用できる温度設定を通じて,そのような制御性を提供する。この発明の実施形態は,たとえば,化学蒸着(CVD),物理蒸着(PVD),電気めっき,ウェハ温度,チャンバ圧力,研磨圧,フォトリソグラフィといった,材料堆積,除去,パターニングに関する追加の半導体製造プロセスのための制御パラメータ(たとえば,ノブ設定)を決定することができる。
【0032】
ウェハサイトのパターンパラメータは,マルチチャネル計測ツールによって収集された光学クリティカルディメンション(OCD)信号によって測定することができる。ウェハ状態のばらつきに対するノブ設定の感度および応答,ならびに所望のポスト・ターゲットパラメータを正確に学習するために,上記MLモデルの訓練セットは,結果に対するノブ設定の影響の範囲を捕捉することができるプロセス条件の複数のばらつきを必要とする。すなわち,MLモデルをトレーニングする目的で,DOEノブ値からわずかに異なる様々なノブ設定を適用することによって,異なるウェハ上においてプロセスステップを繰り返すことができる。このようなばらつきは,そのようなばらつきの影響を捕捉するための手段を提供する。以下では,訓練データを生成するために所定のプロセスステップに適用されるノブ値セットをtrainingと表す。
【0033】
以下では,分光光度計によって生成される散乱計測データのセットを散乱計測ベクトルと呼ぶ。ここで上記ベクトルの各要素は散乱計測データのデータポイントを表す。
【0034】
図2は,この発明の実施形態による,半導体製造APCの機械学習モデルを生成するためのコンピュータに実装されたプロセス200を示すフローチャートである。プロセス200は,上述したMLモデリングシステム40によって実装することができる。最初のステップ214は,機械学習モデルを訓練するための複数セットの散乱計測データを受信するステップを含む。所定のプロセスステップの前に(before a given processing step)所定のウェハパターンから測定される散乱計測データのセットをpreのように記載する。他方,上記所定のプロセスステップの後に(after the given processing step)同じウェハパターンから測定される散乱計測データのそれぞれのセットをpostのように記載する。典型的には,後続の機械学習訓練を効果的に実行するために,多数のpreおよび対応するpostの組が取得される。さらに,ステップ216において,プロセス制御ノブデータのセット(複数)が取得され,各セットがノブベクトル DOE:tとして示される。プロセス制御ノブデータの各セットは,測定されたウェハパターンで実施された所定のプロセスステップ中に採用された一または複数の制御パラメータを示し,データセット preおよび postのペアを生成する。
【0035】
次に,ステップ220において,機械学習モデルが DOE:t preおよび postのデータセットを用いて訓練され,プロセス前散乱計測データがウェハパターンパラメータのばらつきを示すときに,適切なノブ設定(すなわち, recommended)を推奨するためのモデルが生成される。ノブ設定を変えることによって,よりばらつきの少ないウェハパターンを製造することができる。以下に記載するように,いくつかのタイプの機械学習モデルがこの目的を達成するために有効であり得る。
【0036】
ステップ220で,生産において,測定された preを入力することによって,機械学習モデルを適用して,プロセス後パターンパラメータのばらつきを低減するための,対応する推奨ノブ設定 recommendedを生成することができる。
【0037】
図3は,例示的な機械学習モデル300の概略図である。このモデルでは,ノブ設定の効果(または「シグネチャ」)が,最初に,プロセス後の散乱計測データのばらつきの他のソースから分離すなわち隔離される。このような分離を達成するために,空間の間の相関または共分散の尺度を最適化するML技術(ML techniques that optimize a measure of correlation or covariance between spaces)を採用することができる。たとえば,部分最小二乗法(PLS)アルゴリズムによって2つの空間データセットにおける構成要素のペアが見つけ出され,それらの間の共分散の最大の割合が決定される。ここでは,2つの空間,具体的には,Xとしてプロセス後の散乱計測データを設定し,YとしてDOEノブ設定 DOEを設定した。ステップ310に示すように,最大共分散原理(the maximum covariance principle)に基づいてXおよびYが潜在変数に分解される(decomposed into latent variables)。
【0038】
次にステップ320は,「総有効ノブ」(total effective knob)を表すために,この潜在空間のランク1変数(the rank 1 variables of this latent space)を抽出する。
【0039】
ノブ設定(DOE値に基づく)がターゲット出力を決定する支配的な要因であると仮定すると,ステップ330において,ノブ設定を「総有効ノブ」(典型的にはベクトルとして表される)から減算することができる。この減算の残差は,ターゲットパラメータに対するノブ設定の残差の寄与(a residual contribution of the knob settings)を表す。この結果,「残差」有効ノブが得られ,これは次のステップ340で使用することができ,ステップ340では,プロセス前散乱計測データがこの残差にキャリブレートされる。その結果,到来するばらつき(すなわち, preのばらつき)を表すノブ値を予測することができる訓練された推定量(a trained estimator)が得られ,これらのばらつきを補正するために使用することができる
【0040】
図4Aおよび図4Bは,APCのためのMLモデルを訓練しかつ適用するプロセスの概略図である。図4Aに示すように,訓練プロセス400は,例示的なMLモデル410を訓練するために適用される。MLモデル410は,その後,図4Bに示すように,ウェハ生産中に,推論プロセス450において適用される。図示するMLモデル410は,この発明の実施形態による,深層ニューラルネットワーク,特にエンコーダ・デコーダモデル410に基づくことができる教師なし学習,APC機械学習モデルを示す。図4Aに示すように,そのようなネットワーク410の構造は,エンコーダ部420,「ボトルネック」(BN)中間部425,およびデコーダ部430として概略的に示される3つの部分から構成することができる。上記エンコーダ420は,プロセス前スペクトル(すなわち,プロセス前散乱計測データ)の次元を潜在構造に圧縮し(compress),デコーダ430は上記潜在構造をプロセス後スペクトルに解凍(伸長)する(decompress)。
【0041】
上記ネットワークの圧縮中間部(compressed midsection)425(「BN」として示される「ボトルネック」)は,典型的には,少なくとも2つの層,すなわちプロセス前の低減された次元を表す層(a layer representing the pre-process reduced dimensionality)と,プロセス後のスペクトル次元を表す層(a layer represents the post-process spectra dimensionality)を含む。それらの2つの層の間の層は,2つの潜在的空間の間のニューラルネットワークプロセスの転送を表す。
【0042】
さらに,上記主ネットワークに加えて,補助入力がプロセス制御ノブ設定 trainingから構成される。この入力は,上記エンコーダの任意の層において主ネットワークと交差する(intersect the main network at any layer of the encoder)(たとえば図では,エンコーダ後端で交差している)。上記主ネットワークへの第2の付加は上記中間部のポスト潜在層にリンクされた補助出力(an auxiliary output linked to the post latent layer in the midsection)である。
【0043】
MLモデル410の訓練では二重損失関数(dual loss functions)が用いられる。第1の損失関数440は,再構成されるまたは予測されるスペクトル post:predictedとして示される主ネットワーク出力と,測定されるプロセス後散乱計測データ post:measuredとの間の類似度の質(a quality of similarity)を表現するスペクトル損失である。この「類似性」は,たとえば平均二乗誤差損失関数によって測定することができる。
【0044】
第2の損失関数445は,ターゲットパラメータ・ノブ設定として示される補助出力と,実施されたプロセス制御ノブ設定 trainとをマッチングさせる。すなわち,第2の損失関数445は,補助出力とプロセスノブ訓練データとの類似度の質を表現することができる。
【0045】
ネットワークの訓練中,結合された損失関数は,スペクトルとノブ損失項の両方(both spectra and knob loss terms)を効果的に最小化する。プロセスノブとネットワーク補助出力「ニューロン」との間に成功裏に関連性を確立するために,上記訓練セットは,プロセスノブ値の設計されたバイアスと同様に,良好に制御されたノブを使用して,到来するばらつきの設計された強化(a designed enhancement of incoming variation)を含む必要がある。このノブ設定のばらつきは trainingで示される。
【0046】
ネットワークが成功裏に訓練された後,図4Bのプロセス450に示されるように,訓練されたMLモデル410を適用して,ウェハパターンの後続の処理サンプルについての推奨ノブ値が見つけ出され,これらのサンプルのターゲットパラメータのばらつきが低減される。上記プロセスを要約すると,ML訓練は,公称(ノミナル)(nominal)ターゲット補助ニューロン値を決定し,各ウェハパターンに対して,補助ニューロン値を補助入力ノブ値の関数として決定する。その後,各ウェハパターンに対して,所望のターゲットパラメータを満足するノブ値が推奨される。
【0047】
図5は機械学習モデル500を訓練するプロセスを示すもので,機械学習モデル500は,プロセスステップの前後でウェハパターンの表現を直接変換し,プロセス後の信号(すなわち,散乱計測データ post)をターゲット(被制御)パラメータ postにキャリブレートする。上記モデル500は,エンコーダ・デコーダ・ニューラルネットワーク510を含み,これはプロセス前信号(すなわちプロセス前散乱計測データ)の次元を圧縮するエンコーダ層520と,ボトルネック層540と,デコーダ層550とを有する。入力層は,プロセス前信号をノブ設定 trainingとともに受信する。これら2つの入力は多くのやり方で結合することができるが,典型的には連結される(図4に関して上記したように,ノブ設定 trainingはエンコーダの内部層で導入することもできる)。上記エンコーダは,たとえば全結合層,または畳み込み層および/もしくはプーリング層によって,上記入力を最適に低減されたボトルネックに変換する。上記デコーダは,ボトルネック層の表現を,深層ネットワーク層(通常はエンコーダと対称であるが,必ずしもそうではない)の任意のセットを介して拡張する。出力はプロセス後の散乱計測データのセット postに設定される。損失関数540は上記ネットワークによって予測される散乱計測データと,プロセス後の散乱計測データの測定セットとの差として設定することができる。
【0048】
上記ML500の第2の部分は測定解釈機能(a metrology interpretation function)であり,制御されるべきウェハパラメータに対するネットワーク出力(プロセス後の散乱計測データ)のキャリブレーションを意味する。典型的にはOCDモデル570によるこのキャリブレーションは,第2の損失項を使用し,ラベル付きデータを使用する。第2の損失項545を,予測されるパラメータ(OCDモデル570の出力)と測定されるターゲットパラメータとの差として設定することができる。
【0049】
2つの損失項は訓練収束中に勾配方向で競合する。これは,これらの損失重みの形態における追加のハイパーパラメータを調整する必要がある(an additional hyperparameter in the form of these loss weights must be tuned)ことを意味する。
【0050】
図6は,生産におけるMLモデル500の適用,すなわち推論のために,ノブ推奨値 recommendedを生成するための適用を示す図である。最適化ステップを適用して,モデル出力を,できる限りターゲットパラメータに近づけることができる。推奨値 recommendedは距離メトリックDを最小にすることによって達成することができる。上記メトリックDは,1)プロセス前スペクトル preとノブ設定とに基づくモデル(以下,P^(Pの上部に^が位置する記号)と示す)によって作られるパターンパラメータの予測値と,2)パターンパラメータのターゲット値 targetとの差である。上記 recommendedの値は以下の式によって推定することができる。
【0051】
【数1】
【0052】
図6に示すように,生産中のMLモデルの動作は,プロセス前散乱計測データの新しいセットの入力と,最適化のためにノブ入力ノードを自由に保つこと(by keeping the knob input node(s) free)とを含む。ランタイム最適化ステップが,モデルの予測出力パラメータと固定された所望のターゲットパラメータとの差Dを最小化するノブ値を検索する。OCDモデル570の逆(inverse)(モデル-1670と示す)が,所望のターゲットパラメータを散乱計測ベクトルの形態に変換するために適用されることに留意されたい。Dの最小化を達成するノブ値が推奨ノブ値である。
【0053】
MLモデル410または510のようなフィードフォワード機械学習モデルは追加のデータ入力を用いて訓練することもでき,これにより,ツール間のばらつきやプロセス時間ドリフトのようなばらつきを操作するモデル能力を強化することができる。上記の方法は,複数の考えられる製造ルートやプロセスステップの不均一性に由来するばらつきを補償する。追加の要因がさらなるばらつきをもたらし,プロセス制御の性能と安定性に影響を与えることがある。このようなばらつきは,たとえば能動的なプロセスツールの物理的部品が時間の経過とともに侵食される傾向があるので,ツールの短期間の物理的状態(tool’s momentary physical state)から発生することがある。侵食,可動部品,側壁の堆積,残留物のような物理的プロセスは,すべて,ツールの状態,性能,ノイズ特性をダイナミックにする。日常点検を定期的に行い,部品の洗浄や交換,設定の再キャリブレーションによって,このような劣化を低減することができる。つまり,各製造インスタンスの点検サイクル時点が,性能に影響を与える重要な要因であることを意味する。さらに,プロセス内の各ツール/チャンバは,点検ポイントに対して固有の時間位置にある(in a unique time position)ため,「ツール間」ばらつき(またはツールモジュールの設定による「チャンバ間」)として知られる別のばらつきをプロセスにもたらす。この時間情報の記録をツールのログに保存することができる。モデル入力においてこのような時間情報を考慮することによって,これらの時間ドリフトおよびツール間のばらつきの要因を低減することができる。
【0054】
これらのばらつきは,CMPプロセスにおける研磨圧力といった以前の性能からのフィードバックにしたがって,プロセスツール設定の小さな修正を用いて連続的に追跡しかつ処置することができる。これらの「APC設定」は,プロセスの安定性に応じて頻繁に実施することができる。つまり,これらのツールの記録(すなわち,採用されたプロセスツールの特定のインスタンス,およびそれらの点検スケジュール)を入力として採用するMLトレーニングは,ウェハ内およびウェハ間のばらつきの両方について,これらのばらつきを扱うMLモデルの能力を拡張する。
【0055】
この明細書に示されまたは記載されるプロセス要素は,コンピュータバスまたは他の接続構成を介して結合されるコンピュータプロセッサ,メモリ,I/Oデバイス,およびネットワークインターフェースの採用などの従来の技術によって,コンピュータハードウェアおよび/または非一時的コンピュータ可読媒体に具現化されるコンピュータソフトウェアにおいて,一または複数のコンピュータによって好ましくは実施されることを理解されたい。
【0056】
特に記述しない限り,用語「プロセッサ」および「デバイス」は,たとえば,CPU(中央処理ユニット)および/または他の処理回路(例えば,GPU)を含むものなどの任意の処理デバイスを含むことを意図しており,また複数の処理デバイスを指す場合もある。処理デバイスに関連する様々な要素は他の処理デバイスによって共有されてもよい。
【0057】
この明細書で使用される用語「メモリ」は,たとえば,RAM,ROM,固定メモリデバイス(たとえば,ハードドライブ),リムーバブルメモリデバイス(たとえば,ディスケット,テープ),フラッシュメモリなど,プロセッサまたはCPUに関連するメモリを含むことを意図している。このようなメモリはコンピュータ可読記憶媒体とみなすことができる。
【0058】
さらに,語句「入力/出力デバイス」または「I/Oデバイス」は,処理ユニットにデータを入力するための一または複数の入力デバイス(たとえば,キーボード,マウス,スキャナ,HUDなど),および/または処理ユニットによる結果を提示するための一または複数の出力デバイス(たとえば,スピーカー,ディスプレイ,プリンタ,HUD,AR,VRなど)を含むことができる。
【0059】
この発明の実施形態は,システム,方法,および/またはコンピュータプログラム製品を含んでもよい。コンピュータプログラム製品は,プロセッサにこの発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(またはメディア)を含んでもよい。
【0060】
コンピュータ可読記憶媒体は,命令実行デバイスによって使用するための命令を保持しかつ記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は,たとえば,電子記憶デバイス,磁気記憶デバイス,光学記憶デバイス,電磁気記憶デバイス,半導体記憶デバイス,またはこれらの任意の適切な組み合わせとすることができるが,これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには,携帯用コンピュータディスケット,ハードディスク,ランダムアクセスメモリ(RAM),読み取り専用メモリ(ROM),消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュメモリ),スタティックランダムアクセスメモリ(SRAM),portable compact disc read-only memory(CD-ROM),digital versatile disk(DVD),Blue-Ray,磁気テープ,ホログラフィックメモリ,メモリスティック,フロッピーディスク,パンチカードや溝内の隆起構造などに記録された命令を有する機械的符号化デバイス,およびそれらの任意の適切な組み合わせが含まれる。この明細書で使用されるコンピュータ可読記憶媒体は,電波または他の自由に伝播する電磁波,導波路または他の伝送媒体(たとえば,光ファイバケーブルを通過する光パルス)を介して伝播する電磁波,またはワイヤを介して伝送される電気信号など,それ自体が一時的な信号であるとは解釈されない。
【0061】
この明細書に記載されたコンピュータ可読プログラム命令は,コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに,またはネットワーク,たとえばインターネット,ローカルエリアネットワーク,ワイドエリアネットワークおよび/もしくは無線ネットワークを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは,銅伝送ケーブル,光伝送ファイバ,無線伝送,ルータ,ファイアウォール,スイッチ,ゲートウェイコンピュータおよび/またはエッジサーバを含むことができる。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは,ネットワークからコンピュータ可読プログラム命令を受信し,それぞれのコンピューティング/処理デバイスのコンピュータ可読記憶媒体に記憶するために,コンピュータ可読プログラム命令を転送する。
【0062】
この発明の動作を実行するためのコンピュータ可読プログラム命令は,アセンブラ命令,命令セットアーキテクチャ(ISA)命令,マシン命令,マシン依存命令,マイクロコード,ファームウェア命令,状態設定データ,またはJava,Smalltalk,C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラミング言語などの従来の手続き型プログラミング言語を含む一もしくは複数のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれとすることができる。コンピュータ可読プログラム命令は,ユーザコンピュータで完全に,ユーザコンピュータで部分的に,スタンドアロン・ソフトウェアパッケージとして,ユーザコンピュータで部分的に,リモートコンピュータで部分的に,またはリモートコンピュータもしくはサーバで完全に,実行することができる。後者のシナリオでは,リモートコンピュータは,ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザコンピュータに接続することができ,または外部コンピュータに(たとえば,インターネットサービスプロバイダを使用してインターネットを介して)接続することができる。いくつかの実施形態では,たとえば,プログラマブル論理回路,フィールドプログラマブルゲートアレイ(FPGA),またはプログラマブル論理アレイ(PLA)を含む電子回路は,この発明の態様を実行するために,コンピュータ可読プログラム命令の状態情報を利用して,電子回路をパーソナライズし,コンピュータ可読プログラム命令を実行することができる。
【0063】
この発明の態様が,この発明の実施形態による方法,機器(システム),およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照してこの明細書に記載されている場合,フローチャート図および/またはブロック図の各ブロック,ならびにフローチャート図および/またはブロック図のブロックの組み合わせは,コンピュータ可読プログラム命令によって実施できることが理解されよう。
【0064】
これらのコンピュータ可読プログラム命令は,汎用コンピュータ,特殊目的コンピュータ,または他のプログラム可能データ処理装置のプロセッサに提供され,マシンを生成し,それによって,コンピュータまたは他のプログラム可能データ処理装置のプロセッサによって実行される命令は,フローチャートおよび/またはブロック図のブロックで指定された機能/作用を実施するための手段を作成することができる。これらのコンピュータ可読プログラム命令は,コンピュータ,プログラム可能データ処理装置,および/または他のデバイスに特定のやり方で機能するように指示することができるコンピュータ可読記憶媒体に記憶され,それによって,その中に記憶された命令を有するコンピュータ可読記憶媒体は,フローチャートおよび/またはブロック図のブロックで指定された機能/作用の態様を実施する命令を含む製造品を備えることもできる。
【0065】
コンピュータ可読プログラム命令は,コンピュータ,他のプログラム可能データ処理装置,または他のデバイスにロードされて,一連の動作ステップを,コンピュータ,他のプログラム可能装置,または他のデバイスで実行させ,コンピュータ実装プロセスを生成し,それによって,コンピュータ,他のプログラム可能装置,または他のデバイスで実行する命令が,フローチャートおよび/またはブロック図のブロックで指定された機能/作用を実施することもできる。
【0066】
この明細書に含まれる任意のフローチャートおよびブロック図は,この発明の様々な実施形態によるシステム,方法,およびコンピュータプログラム製品の可能な実装のアーキテクチャ,機能性,および動作を例示する。この点に関して,フローチャートまたはブロック図の各ブロックは,指定された論理機能を実施するための一または複数の実行可能な命令を含む命令のモジュール,セグメント,または部分を表現することができる。いくつかの代替的実装では,ブロックに記された機能は,この明細書に示された順序と異なってもよい。たとえば,連続して示された2つのブロックは,実際には,実質的に同時に実行されてもよく,またはブロックは,関係する機能に応じて,時には逆の順序で実行されてもよい。また,ブロック図および/またはフローチャート図の各ブロック,ならびにブロック図および/またはフローチャート図のブロックの組み合わせは,指定された機能もしくは作用を実行する,または特殊目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特殊目的のハードウェアベースのシステムによって実施できることに留意されたい。
【0067】
この発明の様々な実施形態の説明は,例示の目的で提示されているが,開示された実施形態を網羅することまたは限定することを意図していない。多くの修正および変形が,記載した実施形態の範囲および精神から逸脱することなく,当業者には明らかであろう。この明細書で使用される用語は,実施形態の原理,市場で見出された技術に対する実用化もしくは技術的改善を最もよく説明するため,または当業者がこの明細書に開示される実施形態を理解することを可能にするために選択されたものである。
図1
図2
図3
図4A
図4B
図5
図6
【国際調査報告】