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

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

▶ ガウス ラブズ インコーポレイテッドの特許一覧

特開2024-115531プロセス監視および制御のためのシステムおよび方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024115531
(43)【公開日】2024-08-26
(54)【発明の名称】プロセス監視および制御のためのシステムおよび方法
(51)【国際特許分類】
   H01L 21/02 20060101AFI20240819BHJP
   G06Q 10/04 20230101ALI20240819BHJP
   G06Q 50/04 20120101ALI20240819BHJP
   G06N 20/00 20190101ALN20240819BHJP
【FI】
H01L21/02 Z
G06Q10/04
G06Q50/04
G06N20/00
【審査請求】有
【請求項の数】40
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024017634
(22)【出願日】2024-02-08
(31)【優先権主張番号】63/484,810
(32)【優先日】2023-02-14
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】524053476
【氏名又は名称】ガウス ラブズ インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】チョ ピル スン
(72)【発明者】
【氏名】パク チャン
(72)【発明者】
【氏名】サイモン ザブロッキ
(72)【発明者】
【氏名】リ ビュン-ジュン
(72)【発明者】
【氏名】ジュン ミンジュ
(72)【発明者】
【氏名】ユン スンヒ
(72)【発明者】
【氏名】イム ドンキュン
【テーマコード(参考)】
5L010
5L050
【Fターム(参考)】
5L010AA04
5L050CC04
(57)【要約】      (修正有)
【課題】高度なプロセス制御および監視における連続的展開のためのシステム及び方法を提供する。
【解決手段】システムは、訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するデータ処理モジュールと、モデルを訓練及び最適化するために、訓練データを機械学習パイプラインに提供する訓練および最適化モジュールと、実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるためにモデルを使用する推論モジュールと、を含む。1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である推論モジュールと関連付けられる。
【選択図】図1
【特許請求の範囲】
【請求項1】
プロセス監視および制御のためのシステムであって、
データ処理モジュールであって、前記データ処理モジュールは、訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するように構成される、データ処理モジュールと、
訓練および最適化モジュールであって、前記訓練および最適化モジュールは、モデルを訓練および最適化するために、前記訓練データを機械学習パイプラインに提供するように構成される、訓練および最適化モジュールと、
推論モジュールであって、前記推論モジュールは、実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるために、前記モデルを使用するように構成され、前記1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、推論モジュールと
を備える、システム。
【請求項2】
前記推論モジュールは、前記1つまたはそれを上回る予測メトリックを発生させるために、プロセスデータを受信し、前記モデルに提供するように構成され、前記プロセスデータは、前記プロセスが実施される際、実質的にリアルタイムで前記プロセス機器から受信される、請求項1に記載のシステム。
【請求項3】
前記推論モジュールは、前記プロセス制御のために、またはプロセス監視、改良、またはトラブルシューティングのために、前記1つまたはそれを上回る予測メトリックを提供するように構成される、請求項1に記載のシステム。
【請求項4】
前記プロセスまたは前記プロセス機器におけるドリフト、偏移、または逸脱を検出するために、前記1つまたはそれを上回る予測メトリックを使用するように構成されるプロセス制御モジュールをさらに備える、請求項1に記載のシステム。
【請求項5】
前記プロセス制御モジュールは、前記プロセスまたは前記プロセス機器における前記ドリフト、前記偏移、または前記逸脱を補正または軽減するために、前記1つまたはそれを上回る予測メトリックを使用するように構成される、請求項4に記載のシステム。
【請求項6】
前記プロセス制御モジュールは、実行間制御との統合を介して、プロセス生産性を改良するために、前記1つまたはそれを上回る予測メトリックを使用するように構成される、請求項4に記載のシステム。
【請求項7】
前記モデルは、仮想計測(VM)モデルを備える、請求項1に記載のシステム。
【請求項8】
前記プロセス機器をさらに備え、前記プロセス機器は、半導体プロセス機器を備える、請求項1に記載のシステム。
【請求項9】
前記プロセスの出力は、堆積または加工された構造を備える、請求項1に記載のシステム。
【請求項10】
前記堆積または加工された構造は、フィルム、層、または基板を備える、請求項9に記載のシステム。
【請求項11】
前記1つまたはそれを上回る予測メトリックは、前記フィルム、前記層、または前記基板の1つまたはそれを上回る寸法または性質を備える、請求項10に記載のシステム。
【請求項12】
前記システムは、製造環境において使用または展開されるように構成される、請求項1に記載のシステム。
【請求項13】
前記複数のデータタイプおよびデータセットは、(1)履歴プロセスデータ、(2)現在のプロセスデータ、(3)前記1つまたはそれを上回る予測メトリックの履歴測定データ、(4)前記1つまたはそれを上回る予測メトリックの現在の測定データ、(5)動作データ、および/または(6)機器仕様データを備える、請求項1に記載のシステム。
【請求項14】
前記データ処理モジュールは、前記動作データおよび前記機器仕様データに対して前記履歴プロセスデータおよび前記履歴測定データを検証するように構成される、請求項13に記載のシステム。
【請求項15】
前記複数のソースは、少なくとも前記履歴プロセスデータまたは前記履歴測定データを記憶するように構成されるデータベースを備える、請求項13に記載のシステム。
【請求項16】
前記複数のソースは、少なくとも前記動作データまたは前記機器仕様データを記憶するように構成されるデータベースまたはログを備える、請求項13に記載のシステム。
【請求項17】
前記複数のソースは、前記プロセス機器を備える、請求項13に記載のシステム。
【請求項18】
前記複数のソースは、前記現在の測定データを収集するように構成される測定機器を備える、請求項13に記載のシステム。
【請求項19】
前記データ処理モジュールは、前記プロセス機器のコンポーネント階層構造を発生させることによって、前記複数のデータタイプまたはデータセットを受信および処理するように構成される、請求項1に記載のシステム。
【請求項20】
前記コンポーネント階層構造は、(i)前記プロセス機器および(ii)前記プロセス機器内で、またはそれと併せて使用される、1つまたはそれを上回るコンポーネントの入れ子構造を備える、請求項19に記載のシステム。
【請求項21】
前記1つまたはそれを上回るコンポーネントは、チャンバ、ステーション、および/またはセンサを含む1つまたはそれを上回るサブ機器を備える、請求項20に記載のシステム。
【請求項22】
前記データ処理モジュールは、前記プロセスに関するレシピのステップ動作階層構造を発生させることによって、前記複数のデータタイプまたはデータセットを受信および処理するように構成される、請求項1に記載のシステム。
【請求項23】
前記レシピは、複数のステップを備え、前記複数のステップの各ステップは、複数の異なるサブ動作を備える、請求項22に記載のシステム。
【請求項24】
前記データ処理モジュールは、1つまたはそれを上回るデータ外れ値を除去することによって、前記複数のデータタイプまたはデータセットを受信および処理するように構成される、請求項1に記載のシステム。
【請求項25】
前記データ処理モジュールは、前記プロセスデータが前記推論モジュール内で前記モデルに入力される前に、前記プロセスデータからのデータ外れ値を前処理および除去するように構成される、請求項2に記載のシステム。
【請求項26】
前記訓練データは、前記現在のプロセスデータおよび前記現在の測定データで連続的に更新される、請求項13に記載のシステム。
【請求項27】
前記機械学習パイプラインは、(i)特徴エンジニアリング、(ii)時間認識データ正規化、および/または(iii)適応型学習アルゴリズムから成る複数のコンポーネントからの2つまたはそれを上回るコンポーネントを備える、請求項1に記載のシステム。
【請求項28】
前記機械学習パイプラインは、順次、または同時に、前記2つまたはそれを上回るコンポーネントを通して前記訓練データを適用するように構成される、請求項27に記載のシステム。
【請求項29】
前記特徴エンジニアリングは、前記訓練データ内の未加工トレースデータまたはセンサデータからの複数の特徴の抽出を備える、請求項27に記載のシステム。
【請求項30】
前記特徴エンジニアリングは、少なくとも部分的に、前記モデルの入力と出力との間の局所的関係に基づいて、抽出された特徴のリストから1つまたはそれを上回る特徴を選択するためのアルゴリズムの使用を備える、請求項27に記載のシステム。
【請求項31】
前記時間認識データ正規化は、平滑化データ、トレンドデータ、および/またはデトレンドデータを含む1つまたはそれを上回るコンポーネントへの時系列データの分解を備える、請求項27に記載のシステム。
【請求項32】
前記時間認識データ正規化は、モデルおよび前記モデルのデータタイプに基づく、請求項27に記載のシステム。
【請求項33】
前記適応型学習アルゴリズムは、適応型オンラインアンサンブル学習アルゴリズムである、請求項27に記載のシステム。
【請求項34】
前記訓練および最適化モジュールは、少なくとも部分的に、ハイパーパラメータ最適化を使用して、前記モデルを最適化するように構成される、請求項1に記載のシステム。
【請求項35】
前記訓練および最適化モジュールは、(i)前記機械学習パイプラインからの出力に対してハイパーパラメータの所与のセットを用いて前記モデルを訓練するように構成される、請求項27-34のいずれかに記載のシステム。
【請求項36】
前記訓練および最適化モジュールはさらに、(ii)検証データに基づいて、前記モデルの性能を評価するように構成される、請求項35に記載のシステム。
【請求項37】
前記検証データは、前記ハイパーパラメータ最適化のために前記訓練データから分割される、請求項36に記載のシステム。
【請求項38】
前記訓練および最適化モジュールはさらに、(iii)前記モデルの性能を増加させるかまたは改良するように、過去の性能に基づいて、次の反復に関するハイパーパラメータのセットを選択するために、ハイパーパラメータ最適化アルゴリズムを使用するように構成される、請求項36に記載のシステム。
【請求項39】
前記訓練および最適化モジュールはさらに、前記モデルの性能が終了基準を満たすまで、(i)-(iii)を反復的に繰り返すように構成される、請求項38に記載のシステム。
【請求項40】
プロセス監視および制御のための方法であって、
(a)訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するステップと、
(b)モデルを訓練および最適化するために、前記訓練データを機械学習パイプラインに提供するステップと、
(c)実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるステップであって、前記1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、ステップと
を含む、方法。
【発明の詳細な説明】
【背景技術】
【0001】
いくつかの仮想計測システムおよび方法は、製造プロセス、例えば、半導体産業におけるウエハの処理の監視および制御に関連するプロセスおよび特性をモデル化することができる。プロセスおよび特性を統計的にモデル化することは、部分的に、現在のデータまたは履歴データ、例えば、最新センサデータまたは履歴センサデータからの測定値を使用し得る。仮想計測システムおよび方法は、例えば、製造プロセスを制御するために、より正確な測定値を提供し得る。仮想計測システムおよび方法は、例えば、従来的な計測を使用する製造プロセスの物理的検査と比較されるとき、生産性を増加させる、品質を改良する、または維持費用を低下させ得る。例えば、従来的な計測を使用する人間オペレータが、ユニットのごく一部しかサンプリングすることが可能ではない場合があるのに対し、仮想計測システムおよび方法は、製造プロセスにおける全てまたは実質的に全てのユニット(例えば、半導体ウエハ)をサンプリングすることが可能であり得る。仮想計測システムおよび方法は、製造プロセスと関連付けられるプロセス変数または標的性質を予測するために、部分的に、機械学習方法を使用し得る。
【発明の概要】
【課題を解決するための手段】
【0002】
本明細書に開示されるものは、高度なプロセス制御および監視における連続的展開のためのシステムおよび方法である。システムおよび方法は、プロセス変数または標的性質の予測性能を改良することができる。
【0003】
ある側面では、開示されるものは、プロセス監視および制御のためのシステムおよび方法である。システムは、例えば、訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するように構成される、データ処理モジュールと、モデルを訓練および最適化するために、訓練データを機械学習パイプラインに提供するように構成される、訓練および最適化モジュールと、実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるために、モデルを使用するように構成される、推論モジュールであって、1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、推論モジュールとを含んでもよい。
【0004】
いくつかの実施形態では、推論モジュールは、1つまたはそれを上回る予測メトリックを発生させるために、プロセスデータを受信し、モデルに提供するように構成され、プロセスデータは、プロセスが実施される際、実質的にリアルタイムでプロセス機器から受信される。
【0005】
いくつかの実施形態では、推論モジュールは、プロセス制御のために、またはプロセス監視、改良、またはトラブルシューティングのために、1つまたはそれを上回る予測メトリックを提供するように構成される。
【0006】
いくつかの実施形態では、本システムはさらに、プロセスまたはプロセス機器におけるドリフト、偏移、または逸脱を検出するために、1つまたはそれを上回る予測メトリックを使用するように構成される、プロセス制御モジュールを備える。
【0007】
いくつかの実施形態では、プロセス制御モジュールは、プロセスまたはプロセス機器におけるドリフト、偏移、または逸脱を補正または軽減するために、1つまたはそれを上回る予測メトリックを使用するように構成される。
【0008】
いくつかの実施形態では、プロセス制御モジュールは、実行間制御との統合を介して、プロセス生産性を改良するために、1つまたはそれを上回る予測メトリックを使用するように構成される。
【0009】
いくつかの実施形態では、モデルは、仮想計測(VM)モデルを備える。
【0010】
いくつかの実施形態では、本システムはさらに、プロセス機器を備え、該プロセス機器は、半導体プロセス機器を備える。
【0011】
いくつかの実施形態では、プロセスの出力は、堆積または加工された構造を備える。
【0012】
いくつかの実施形態では、堆積または加工された構造は、フィルム、層、または基板を備える。
【0013】
いくつかの実施形態では、1つまたはそれを上回る予測メトリックは、フィルム、層、または基板の1つまたはそれを上回る寸法または性質を備える。
【0014】
いくつかの実施形態では、本システムは、製造環境において使用または展開されるように構成される。
【0015】
いくつかの実施形態では、複数のデータタイプおよびデータセットは、(1)履歴プロセスデータ、(2)現在のプロセスデータ、(3)1つまたはそれを上回る予測メトリックの履歴測定データ、(4)1つまたはそれを上回る予測メトリックの現在の測定データ、(5)動作データ、および/または(6)機器仕様データを備える。
【0016】
いくつかの実施形態では、データ処理モジュールは、動作データおよび機器仕様データに対して履歴プロセスデータおよび履歴測定データを検証するように構成される。
【0017】
いくつかの実施形態では、複数のソースは、少なくとも履歴プロセスデータまたは履歴測定データを記憶するように構成される、データベースを備える。
【0018】
いくつかの実施形態では、複数のソースは、少なくとも動作データまたは機器仕様データを記憶するように構成される、データベースまたはログを備える。
【0019】
いくつかの実施形態では、複数のソースは、プロセス機器を備える。
【0020】
いくつかの実施形態では、複数のソースは、現在の測定データを収集するように構成される、測定機器を備える。
【0021】
いくつかの実施形態では、データ処理モジュールは、プロセス機器のコンポーネント階層構造を発生させることによって、複数のデータタイプまたはデータセットを受信および処理するように構成される。
【0022】
いくつかの実施形態では、コンポーネント階層構造は、(i)プロセス機器および(ii)プロセス機器内で、またはそれと併せて使用される、1つまたはそれを上回るコンポーネントの入れ子構造を備える。
【0023】
いくつかの実施形態では、1つまたはそれを上回るコンポーネントは、チャンバ、ステーション、および/またはセンサを含む、1つまたはそれを上回るサブ機器を備える。
【0024】
いくつかの実施形態では、データ処理モジュールは、プロセスに関するレシピのステップ動作階層構造を発生させることによって、複数のデータタイプまたはデータセットを受信および処理するように構成される。
【0025】
いくつかの実施形態では、レシピは、複数のステップを備え、複数のステップの各ステップは、複数の異なるサブ動作を備える。
【0026】
いくつかの実施形態では、データ処理モジュールは、1つまたはそれを上回るデータ外れ値を除去することによって、複数のデータタイプまたはデータセットを受信および処理するように構成される。
【0027】
いくつかの実施形態では、データ処理モジュールは、プロセスデータが推論モジュール内でモデルに入力される前に、プロセスデータからのデータ外れ値を前処理および除去するように構成される。
【0028】
いくつかの実施形態では、訓練データは、現在のプロセスデータおよび現在の測定データで連続的に更新される。
【0029】
いくつかの実施形態では、機械学習パイプラインは、(i)特徴エンジニアリング、(ii)時間認識データ正規化、および/または(iii)適応型学習アルゴリズムから成る複数のコンポーネントからの2つまたはそれを上回るコンポーネントを備える。
【0030】
いくつかの実施形態では、機械学習パイプラインは、順次、または同時に、2つまたはそれを上回るコンポーネントを通して訓練データを適用するように構成される。
【0031】
いくつかの実施形態では、特徴エンジニアリングは、訓練データ内の未加工トレースデータまたはセンサデータからの複数の特徴の抽出を備える。
【0032】
いくつかの実施形態では、特徴エンジニアリングは、少なくとも部分的に、モデルの入力と出力との間の局所的関係に基づいて、抽出された特徴のリストから1つまたはそれを上回る特徴を選択するためのアルゴリズムの使用を備える。
【0033】
いくつかの実施形態では、時間認識データ正規化は、平滑化データ、トレンドデータ、および/またはデトレンドデータを含む、1つまたはそれを上回るコンポーネントへの時系列データの分解を備える。
【0034】
いくつかの実施形態では、時間認識データ正規化は、モデルおよびモデルのデータタイプに基づく。
【0035】
いくつかの実施形態では、適応型学習アルゴリズムは、適応型オンラインアンサンブル学習アルゴリズムである。
【0036】
いくつかの実施形態では、訓練および最適化モジュールは、少なくとも部分的に、ハイパーパラメータ最適化を使用して、モデルを最適化するように構成される。
【0037】
いくつかの実施形態では、訓練および最適化モジュールは、(i)機械学習パイプラインからの出力に対してハイパーパラメータの所与のセットを用いてモデルを訓練するように構成される。
【0038】
いくつかの実施形態では、訓練および最適化モジュールはさらに、(ii)検証データに基づいて、モデルの性能を評価するように構成される。
【0039】
いくつかの実施形態では、検証データは、ハイパーパラメータ最適化のために訓練データから分割される。
【0040】
いくつかの実施形態では、訓練および最適化モジュールはさらに、(iii)モデルの性能を増加させる、または改良するように、過去の性能に基づいて、次の反復に関するハイパーパラメータのセットを選択するために、ハイパーパラメータ最適化アルゴリズムを使用するように構成される。
【0041】
いくつかの実施形態では、訓練および最適化モジュールはさらに、モデルの性能が終了基準を満たすまで、(i)-(iii)を反復的に繰り返すように構成される。
【0042】
別の側面では、開示されるものは、プロセス監視および制御のための方法である。方法は、例えば、(a)訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するステップと、(b)モデルを訓練および最適化するために、訓練データを機械学習パイプラインに提供するステップと、(c)実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるステップであって、1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、ステップとを含んでもよい。
【0043】
本開示の付加的側面および利点が、本開示の例証的実施形態のみが示され、説明される、以下の詳細な説明から容易に明白な状態となるであろう。認識されるであろうように、本開示は、他の異なる実施形態が可能であり、そのいくつかの詳細は、全て本開示から逸脱することなく、種々の明白な点において修正が可能である。故に、図面および説明は、制限的ではなく、本質的に例証的と見なされるものである。
本発明は、例えば、以下の項目を提供する。
(項目1)
プロセス監視および制御のためのシステムであって、
データ処理モジュールであって、上記データ処理モジュールは、訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するように構成される、データ処理モジュールと、
訓練および最適化モジュールであって、上記訓練および最適化モジュールは、モデルを訓練および最適化するために、上記訓練データを機械学習パイプラインに提供するように構成される、訓練および最適化モジュールと、
推論モジュールであって、上記推論モジュールは、実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるために、上記モデルを使用するように構成され、上記1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、推論モジュールと
を備える、システム。
(項目2)
上記推論モジュールは、上記1つまたはそれを上回る予測メトリックを発生させるために、プロセスデータを受信し、上記モデルに提供するように構成され、上記プロセスデータは、上記プロセスが実施される際、実質的にリアルタイムで上記プロセス機器から受信される、上記項目に記載のシステム。
(項目3)
上記推論モジュールは、上記プロセス制御のために、またはプロセス監視、改良、またはトラブルシューティングのために、上記1つまたはそれを上回る予測メトリックを提供するように構成される、上記項目のいずれか一項に記載のシステム。
(項目4)
上記プロセスまたは上記プロセス機器におけるドリフト、偏移、または逸脱を検出するために、上記1つまたはそれを上回る予測メトリックを使用するように構成されるプロセス制御モジュールをさらに備える、上記項目のいずれか一項に記載のシステム。
(項目5)
上記プロセス制御モジュールは、上記プロセスまたは上記プロセス機器における上記ドリフト、上記偏移、または上記逸脱を補正または軽減するために、上記1つまたはそれを上回る予測メトリックを使用するように構成される、上記項目のいずれか一項に記載のシステム。
(項目6)
上記プロセス制御モジュールは、実行間制御との統合を介して、プロセス生産性を改良するために、上記1つまたはそれを上回る予測メトリックを使用するように構成される、上記項目のいずれか一項に記載のシステム。
(項目7)
上記モデルは、仮想計測(VM)モデルを備える、上記項目のいずれか一項に記載のシステム。
(項目8)
上記プロセス機器をさらに備え、上記プロセス機器は、半導体プロセス機器を備える、上記項目のいずれか一項に記載のシステム。
(項目9)
上記プロセスの出力は、堆積または加工された構造を備える、上記項目のいずれか一項に記載のシステム。
(項目10)
上記堆積または加工された構造は、フィルム、層、または基板を備える、上記項目のいずれか一項に記載のシステム。
(項目11)
上記1つまたはそれを上回る予測メトリックは、上記フィルム、上記層、または上記基板の1つまたはそれを上回る寸法または性質を備える、上記項目のいずれか一項に記載のシステム。
(項目12)
上記システムは、製造環境において使用または展開されるように構成される、上記項目のいずれか一項に記載のシステム。
(項目13)
上記複数のデータタイプおよびデータセットは、(1)履歴プロセスデータ、(2)現在のプロセスデータ、(3)上記1つまたはそれを上回る予測メトリックの履歴測定データ、(4)上記1つまたはそれを上回る予測メトリックの現在の測定データ、(5)動作データ、および/または(6)機器仕様データを備える、上記項目のいずれか一項に記載のシステム。
(項目14)
上記データ処理モジュールは、上記動作データおよび上記機器仕様データに対して上記履歴プロセスデータおよび上記履歴測定データを検証するように構成される、上記項目のいずれか一項に記載のシステム。
(項目15)
上記複数のソースは、少なくとも上記履歴プロセスデータまたは上記履歴測定データを記憶するように構成されるデータベースを備える、上記項目のいずれか一項に記載のシステム。
(項目16)
上記複数のソースは、少なくとも上記動作データまたは上記機器仕様データを記憶するように構成されるデータベースまたはログを備える、上記項目のいずれか一項に記載のシステム。
(項目17)
上記複数のソースは、上記プロセス機器を備える、上記項目のいずれか一項に記載のシステム。
(項目18)
上記複数のソースは、上記現在の測定データを収集するように構成される測定機器を備える、上記項目のいずれか一項に記載のシステム。
(項目19)
上記データ処理モジュールは、上記プロセス機器のコンポーネント階層構造を発生させることによって、上記複数のデータタイプまたはデータセットを受信および処理するように構成される、上記項目のいずれか一項に記載のシステム。
(項目20)
上記コンポーネント階層構造は、(i)上記プロセス機器および(ii)上記プロセス機器内で、またはそれと併せて使用される、1つまたはそれを上回るコンポーネントの入れ子構造を備える、上記項目のいずれか一項に記載のシステム。
(項目21)
上記1つまたはそれを上回るコンポーネントは、チャンバ、ステーション、および/またはセンサを含む1つまたはそれを上回るサブ機器を備える、上記項目のいずれか一項に記載のシステム。
(項目22)
上記データ処理モジュールは、上記プロセスに関するレシピのステップ動作階層構造を発生させることによって、上記複数のデータタイプまたはデータセットを受信および処理するように構成される、上記項目のいずれか一項に記載のシステム。
(項目23)
上記レシピは、複数のステップを備え、上記複数のステップの各ステップは、複数の異なるサブ動作を備える、上記項目のいずれか一項に記載のシステム。
(項目24)
上記データ処理モジュールは、1つまたはそれを上回るデータ外れ値を除去することによって、上記複数のデータタイプまたはデータセットを受信および処理するように構成される、上記項目のいずれか一項に記載のシステム。
(項目25)
上記データ処理モジュールは、上記プロセスデータが上記推論モジュール内で上記モデルに入力される前に、上記プロセスデータからのデータ外れ値を前処理および除去するように構成される、上記項目のいずれか一項に記載のシステム。
(項目26)
上記訓練データは、上記現在のプロセスデータおよび上記現在の測定データで連続的に更新される、上記項目のいずれか一項に記載のシステム。
(項目27)
上記機械学習パイプラインは、(i)特徴エンジニアリング、(ii)時間認識データ正規化、および/または(iii)適応型学習アルゴリズムから成る複数のコンポーネントからの2つまたはそれを上回るコンポーネントを備える、上記項目のいずれか一項に記載のシステム。
(項目28)
上記機械学習パイプラインは、順次、または同時に、上記2つまたはそれを上回るコンポーネントを通して上記訓練データを適用するように構成される、上記項目のいずれか一項に記載のシステム。
(項目29)
上記特徴エンジニアリングは、上記訓練データ内の未加工トレースデータまたはセンサデータからの複数の特徴の抽出を備える、上記項目のいずれか一項に記載のシステム。
(項目30)
上記特徴エンジニアリングは、少なくとも部分的に、上記モデルの入力と出力との間の局所的関係に基づいて、抽出された特徴のリストから1つまたはそれを上回る特徴を選択するためのアルゴリズムの使用を備える、上記項目のいずれか一項に記載のシステム。
(項目31)
上記時間認識データ正規化は、平滑化データ、トレンドデータ、および/またはデトレンドデータを含む1つまたはそれを上回るコンポーネントへの時系列データの分解を備える、上記項目のいずれか一項に記載のシステム。
(項目32)
上記時間認識データ正規化は、モデルおよび上記モデルのデータタイプに基づく、上記項目のいずれか一項に記載のシステム。
(項目33)
上記適応型学習アルゴリズムは、適応型オンラインアンサンブル学習アルゴリズムである、上記項目のいずれか一項に記載のシステム。
(項目34)
上記訓練および最適化モジュールは、少なくとも部分的に、ハイパーパラメータ最適化を使用して、上記モデルを最適化するように構成される、上記項目のいずれか一項に記載のシステム。
(項目35)
上記訓練および最適化モジュールは、(i)上記機械学習パイプラインからの出力に対してハイパーパラメータの所与のセットを用いて上記モデルを訓練するように構成される、上記項目のいずれか一項のいずれかに記載のシステム。
(項目36)
上記訓練および最適化モジュールはさらに、(ii)検証データに基づいて、上記モデルの性能を評価するように構成される、上記項目のいずれか一項に記載のシステム。
(項目37)
上記検証データは、上記ハイパーパラメータ最適化のために上記訓練データから分割される、上記項目のいずれか一項に記載のシステム。
(項目38)
上記訓練および最適化モジュールはさらに、(iii)上記モデルの性能を増加させるかまたは改良するように、過去の性能に基づいて、次の反復に関するハイパーパラメータのセットを選択するために、ハイパーパラメータ最適化アルゴリズムを使用するように構成される、上記項目のいずれか一項に記載のシステム。
(項目39)
上記訓練および最適化モジュールはさらに、上記モデルの性能が終了基準を満たすまで、(i)-(iii)を反復的に繰り返すように構成される、上記項目のいずれか一項に記載のシステム。
(項目40)
プロセス監視および制御のための方法であって、
(a)訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するステップと、
(b)モデルを訓練および最適化するために、上記訓練データを機械学習パイプラインに提供するステップと、
(c)実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるステップであって、上記1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、ステップと
を含む、方法。
(摘要)
高度なプロセス制御および監視のためのシステムおよび方法が記載される。システムおよび方法は、訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するように構成される、データ処理モジュールと、モデルを訓練および最適化するために、訓練データを機械学習パイプラインに提供するように構成される、訓練および最適化モジュールと、実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるために、モデルを使用するように構成される、推論モジュールであって、1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、推論モジュールと関連付けられ得る。
【0044】
(参照による組み込み)
本明細書に言及される全ての刊行物、特許、および特許出願は、各個々の刊行物、特許、または特許出願が具体的かつ個々に参照することによって組み込まれることが示される場合と同程度に、参照することによって本明細書に組み込まれる。参照することによって組み込まれる刊行物および特許または特許出願が本明細書に含有される開示と矛盾する範囲において、本明細書が、任意のそのような矛盾する資料に優先し、および/またはその上位にあることが意図される。
【図面の簡単な説明】
【0045】
本開示の新規の特徴が、添付される請求項に詳細に記載される。本開示の特徴および利点のより深い理解が、本開示の原理が利用される、例証的実施形態を記載する以下の詳細な説明と、付随の図面とを参照することによって取得されるであろう。
【0046】
図1図1は、本開示の適応型オンライン時系列予測のためのシステムの非限定的実施例を図示する。
【0047】
図2図2は、本開示の適応型オンライン時系列予測のための方法の非限定的実施例を図示する。
【0048】
図3図3は、本開示の利点(例えば、サンプリング)の非限定的実施例を図示する。
【0049】
図4A図4A-4Bは、本開示の半導体製造プロセスにおける機器、プロセス、およびプロセス変数の非限定的実施例を図示する。
図4B図4A-4Bは、本開示の半導体製造プロセスにおける機器、プロセス、およびプロセス変数の非限定的実施例を図示する。
【0050】
図5図5は、本開示の階層構造を有するデータを準備するステップの非限定的実施例を図示する。
【0051】
図6図6は、本開示の未加工データから特徴を抽出するステップおよびクリーンデータを発生させるステップの非限定的実施例を図示する。
【0052】
図7図7は、本開示の特徴をエンジニアリングするステップおよびモデルを訓練するステップの非限定的実施例を図示する。
【0053】
図8図8は、本開示の特徴をエンジニアリングするステップおよびモデルを訓練するステップの非限定的実施例を図示する。
【0054】
図9図9は、本開示の方法を比較するステップ(例えば、局所的対大域的特性評価方法)の非限定的実施例を図示する。
【0055】
図10図10は、本開示の局所的特性評価方法(例えば、スライディングウィンドウ方法)の非限定的実施例を図示する。
【0056】
図11A図11A-11Dは、本開示の時間認識正規化方法の非限定的実施例を図示する。図11Aは、経時的なドリフトする特徴および応答を図示する。図11Bは、ドリフトする特徴対応答を図示する。図11Cは、経時的な時間認識正規化特徴および応答を図示する。図11Dは、時間認識正規化特徴対応答を図示する。
図11B図11A-11Dは、本開示の時間認識正規化方法の非限定的実施例を図示する。図11Aは、経時的なドリフトする特徴および応答を図示する。図11Bは、ドリフトする特徴対応答を図示する。図11Cは、経時的な時間認識正規化特徴および応答を図示する。図11Dは、時間認識正規化特徴対応答を図示する。
図11C図11A-11Dは、本開示の時間認識正規化方法の非限定的実施例を図示する。図11Aは、経時的なドリフトする特徴および応答を図示する。図11Bは、ドリフトする特徴対応答を図示する。図11Cは、経時的な時間認識正規化特徴および応答を図示する。図11Dは、時間認識正規化特徴対応答を図示する。
図11D図11A-11Dは、本開示の時間認識正規化方法の非限定的実施例を図示する。図11Aは、経時的なドリフトする特徴および応答を図示する。図11Bは、ドリフトする特徴対応答を図示する。図11Cは、経時的な時間認識正規化特徴および応答を図示する。図11Dは、時間認識正規化特徴対応答を図示する。
【0057】
図12図12は、本開示の適応型オンライン学習方法の非限定的実施例を図示する。
【0058】
図13A図13A-13Cは、本開示の予測性能の非限定的実施例を図示する。図13Aは、経時的な特徴および応答を図示する。図13Bは、時間範囲毎にグルーピングされる特徴対応答を図示する。時間200において、特徴と応答との間の関係は、変化する。図13Cは、適応型オンライン学習モデル、オンライン線形リグレッサモデル、および線形リグレッサモデルに関する偏移問題に対する経時的な予測を比較する。
図13B図13A-13Cは、本開示の予測性能の非限定的実施例を図示する。図13Aは、経時的な特徴および応答を図示する。図13Bは、時間範囲毎にグルーピングされる特徴対応答を図示する。時間200において、特徴と応答との間の関係は、変化する。図13Cは、適応型オンライン学習モデル、オンライン線形リグレッサモデル、および線形リグレッサモデルに関する偏移問題に対する経時的な予測を比較する。
図13C図13A-13Cは、本開示の予測性能の非限定的実施例を図示する。図13Aは、経時的な特徴および応答を図示する。図13Bは、時間範囲毎にグルーピングされる特徴対応答を図示する。時間200において、特徴と応答との間の関係は、変化する。図13Cは、適応型オンライン学習モデル、オンライン線形リグレッサモデル、および線形リグレッサモデルに関する偏移問題に対する経時的な予測を比較する。
【0059】
図14A図14A-14Dは、合成データを使用した本開示の予測性能の非限定的実施例を図示する。図14Aは、合成応答対時間を図示する。200ステップ毎に、応答を発生させる基礎的モデルは、変化する。図14Bは、経時的な第1および第2の特徴を図示する。両方の合成特徴は、それらの初期点から離れるように着実にドリフトする。図14Cは、経時的な予測および測定応答を図示する。時間600および800において、偏移が、生じる。本明細書に説明される適応型方法は、測定値に厳密に従う。ローリングOLSモデルは、適応するのに苦労し、オンライン線形モデルは、適応しない。図14Dは、経時的な絶対残差を図示する。本明細書に説明される適応型方法の絶対残差は、迅速に減少する。ローリングOLSモデルの残差は、最初に高レベルであるが、低レベルに到達し、オンライン線形モデルの残差は、高いままである。
図14B図14A-14Dは、合成データを使用した本開示の予測性能の非限定的実施例を図示する。図14Aは、合成応答対時間を図示する。200ステップ毎に、応答を発生させる基礎的モデルは、変化する。図14Bは、経時的な第1および第2の特徴を図示する。両方の合成特徴は、それらの初期点から離れるように着実にドリフトする。図14Cは、経時的な予測および測定応答を図示する。時間600および800において、偏移が、生じる。本明細書に説明される適応型方法は、測定値に厳密に従う。ローリングOLSモデルは、適応するのに苦労し、オンライン線形モデルは、適応しない。図14Dは、経時的な絶対残差を図示する。本明細書に説明される適応型方法の絶対残差は、迅速に減少する。ローリングOLSモデルの残差は、最初に高レベルであるが、低レベルに到達し、オンライン線形モデルの残差は、高いままである。
図14C図14A-14Dは、合成データを使用した本開示の予測性能の非限定的実施例を図示する。図14Aは、合成応答対時間を図示する。200ステップ毎に、応答を発生させる基礎的モデルは、変化する。図14Bは、経時的な第1および第2の特徴を図示する。両方の合成特徴は、それらの初期点から離れるように着実にドリフトする。図14Cは、経時的な予測および測定応答を図示する。時間600および800において、偏移が、生じる。本明細書に説明される適応型方法は、測定値に厳密に従う。ローリングOLSモデルは、適応するのに苦労し、オンライン線形モデルは、適応しない。図14Dは、経時的な絶対残差を図示する。本明細書に説明される適応型方法の絶対残差は、迅速に減少する。ローリングOLSモデルの残差は、最初に高レベルであるが、低レベルに到達し、オンライン線形モデルの残差は、高いままである。
図14D図14A-14Dは、合成データを使用した本開示の予測性能の非限定的実施例を図示する。図14Aは、合成応答対時間を図示する。200ステップ毎に、応答を発生させる基礎的モデルは、変化する。図14Bは、経時的な第1および第2の特徴を図示する。両方の合成特徴は、それらの初期点から離れるように着実にドリフトする。図14Cは、経時的な予測および測定応答を図示する。時間600および800において、偏移が、生じる。本明細書に説明される適応型方法は、測定値に厳密に従う。ローリングOLSモデルは、適応するのに苦労し、オンライン線形モデルは、適応しない。図14Dは、経時的な絶対残差を図示する。本明細書に説明される適応型方法の絶対残差は、迅速に減少する。ローリングOLSモデルの残差は、最初に高レベルであるが、低レベルに到達し、オンライン線形モデルの残差は、高いままである。
【0060】
図15図15-16は、本開示のシステムおよび方法を実装するように構成され得る、グラフィカルユーザインターフェース(GUI)の非限定的実施例を図示する。
図16図15-16は、本開示のシステムおよび方法を実装するように構成され得る、グラフィカルユーザインターフェース(GUI)の非限定的実施例を図示する。
【0061】
図17図17は、本明細書に説明されるシステムおよび方法を実施するように構成される、コンピューティングデバイスの非限定的実施例を図示する。
【0062】
図18図18は、本明細書に説明されるシステムおよび方法を実施するように構成される、ウェブまたはモバイルアプリケーションプロビジョンシステムの非限定的実施例を図示する。
【0063】
図19図19は、本明細書に説明されるシステムおよび方法を実施するように構成される、クラウドベースのウェブ/モバイルアプリケーションプロビジョンシステムの非限定的実施例を図示する。
【発明を実施するための形態】
【0064】
詳細な説明
本開示の種々の実施形態が、本明細書に示され、説明されているが、そのような実施形態は、実施例としてのみ提供される。多数の変形例、変更、または代替が、本開示から逸脱することなく、生じ得る。本明細書に説明される開示の実施形態の種々の代替が、採用され得ることを理解されたい。
【0065】
典型的な仮想計測システムおよび方法は、少なくともいくつかの理由から欠陥がある。いくつかのシステムおよび方法は、半導体製造プロセス等の製造プロセスにおいて観察されるデータドリフト、データ偏移、または階層データ構造をモデル化することが可能ではない場合がある。データドリフトは、概して、例えば、製造プロセスにおいて使用される機器の老朽化に起因する、プロセス動力学の漸進的な変化を指し得る。データ偏移は、概して、例えば、保守または較正等の外部動作に起因する、プロセス動力学の急激な変化を指し得る。仮想計測方法と関連付けられる高度なプロセス制御方法は、製造プロセスにおけるプロセス変数または標的性質の正確な予測を必要とし得る。しかしながら、いくつかの方法は、現実または実際のデータ、例えば、最新または履歴センサデータにおいて観察される非定常性をモデル化することが可能ではない場合がある。非定常性は、例えば、化学蒸着(CVD)、エッチング、拡散、または他のプロセス等の半導体製造プロセスにおいて発生され得る。例えば、データドリフトは、仮想計測モデルと関連付けられる予測の正確度の定常または緩慢な減少を引き起こし得る。データ偏移は、仮想計測モデルの急激な不具合を引き起こし得る。移動ウィンドウベースの方法を使用するいくつかの仮想計測方法は、例えば、データの小さいサブセットを選択することに起因して、不正確であり得る。ジャストインタイム学習方法を使用するいくつかの仮想計測方法は、プロセス変数または標的性質の間の基礎的関係の変化に適応することができない。
【0066】
本明細書で認識されるものは、製造プロセスにおける高度なプロセス制御および監視のためのより良好なシステムおよび方法の必要性である。本明細書に開示されるシステムおよび方法は、製造プロセスにおけるプロセス変数または標的性質に関する適応型オンライン時系列予測を発生させることができる。
プロセス監視および制御のためのシステムおよび方法
【0067】
ある側面では、本明細書(図1)に開示されるものは、プロセス監視および制御のためのシステムである。システムは、例えば、訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するように構成される、データ処理モジュールと、モデルを訓練および最適化するために、訓練データを機械学習パイプラインに提供するように構成される、訓練および最適化モジュールと、実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるために、モデルを使用するように構成される、推論モジュールであって、1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、推論モジュールとを含んでもよい。
【0068】
図2に示されるように、システムは、製造プロセスにおける高度なプロセス制御および監視のための方法と関連付けられてもよい。本明細書に説明される方法は、概して、標的性質またはプロセス変数の適応型オンライン時系列予測に関連する方法を含むことができる。標的性質は、例えば、測定ツールまたは器具からの測定値を通して決定される標的製品の性質または特性(例えば、ウエハのフィルム厚または屈折率)を含んでもよい。プロセス変数は、例えば、製造プロセスまたはプロセス機器と関連付けられるセンサから発生されるデータ(例えば、化学蒸着プロセスまたは機器における温度、電力、または電流)を含んでもよい。適応型オンライン時系列方法は、概して、時間認識正規化器方法または適応型オンライン学習器方法を含むことができる。図3に示されるように、本明細書に説明されるシステムおよび方法は、製造プロセスの高度なプロセス制御および監視において使用されることができる。製造プロセスは、半導体ウエハの処理と関連付けられる半導体製造プロセスを含むことができる。例えば、プロセスは、半導体ウエハのための化学蒸着プロセスを含むことができる。
用途
【0069】
いくつかの実施形態では、推論モジュールは、1つまたはそれを上回る予測メトリックを発生させるために、プロセスデータを受信し、モデルに提供するように構成され、プロセスデータは、プロセスが実施される際、実質的にリアルタイムでプロセス機器から受信される。ある場合には、本明細書に開示されるシステムおよび方法は、1つまたはそれを上回る推論モジュールを備える、仮想計測システムおよび方法を含んでもよい。いくつかの実施形態では、モデルは、仮想計測(VM)モデルを備える。仮想計測モデルは、製造プロセスと関連付けられるメトリックまたは性質を予測するように構成されることができる。メトリックまたは性質は、プロセス変数または標的性質に関連してもよい。
【0070】
ある場合には、メトリック、性質、または特性が、製品の製造プロセスにおける標的性質またはプロセス変数と関連付けられてもよい。標的性質は、製造プロセスにおいて機器によって発生される製品と関連付けられる性質を含むことができる。例えば、標的性質は、化学蒸着プロセスにおけるウエハまたは基板上のフィルムまたは層の厚さまたは屈折率を含んでもよい。プロセス変数は、製造プロセスを実施するように構成される機器と関連付けられる変数を含むことができる。例えば、プロセス変数は、化学蒸着プロセスを実施するように構成される機器と関連付けられる、圧力、ガス量、電力、温度、電流、および同等物を含んでもよい。標的性質またはプロセス変数の予測は、部分的に、測定データ、センサデータ、センサ仕様データ、機器データ、機器仕様データ、プロセスデータ、またはプロセス仕様データに基づいてもよい。本明細書に開示される推論モジュールは、標的性質またはプロセス変数の物理的測定を伴わずに、標的性質またはプロセス変数の予測を発生させてもよい。
【0071】
いくつかの実施形態では、推論モジュールは、プロセス制御のために、またはプロセス監視、改良、またはトラブルシューティングのために、1つまたはそれを上回る予測メトリックを提供するように構成される。半導体製造プロセス等の製造プロセスは、標的性質またはプロセス変数(例えば、メトリック)を制御および監視するために、高度なプロセス制御システムおよび方法を使用してもよい。高度なプロセス制御および監視方法は、フィードバックループを使用して、プロセスを監視する、プロセスを制御する、プロセスを改良する、またはプロセスをトラブルシューティングするための方法を含むことができる。高度なプロセス制御システムおよび方法は、仮想計測システムおよび方法を含むことができる。本明細書に説明される仮想計測システムおよび方法は、標的性質またはプロセス変数(例えば、出力)を決定または予測してもよく、高度なプロセス制御および監視のためのフィードバックループにおいて予測された標的性質またはプロセス変数(例えば、入力)を提供してもよい。
【0072】
いくつかの実施形態では、本システムはさらに、プロセスまたはプロセス機器におけるドリフト、偏移、または逸脱を検出するために、1つまたはそれを上回る予測メトリックを使用するように構成される、プロセス制御モジュールを備える。製造プロセス(例えば、半導体プロセス)からのメトリック(例えば、データ)は、例えば、連続的に変化するデータの分布に起因して、他のデータと有意に異なり得る。例えば、データは、非定常特性を伴う時系列データを含み得る。非定常特性は、プロセスまたは機器におけるデータドリフト、データ偏移、階層データ構造、または逸脱を備え得る。データドリフトは、仮想計測モデルの正確度の定常または緩慢な減少を引き起こし得る。データドリフトは、例えば、機器またはセンサにおける老朽化に起因して生じ得る。データ偏移は、仮想計測モデルの急激な不具合を引き起こし得る。データ偏移は、例えば、保守または較正後の機器またはセンサ特性の変化に起因して生じ得る。データは、プロセス、機器、ステーション、センサ、および同等物と関連付けられる階層構造を有し得る。いくつかの実施形態では、プロセス制御モジュールは、プロセスまたはプロセス機器におけるドリフト、偏移、または逸脱を補正または軽減するために、1つまたはそれを上回る予測メトリックを使用するように構成される。代替として、または加えて、プロセス制御モジュールは、プロセスまたは機器における逸脱を補正または軽減するために、1つまたはそれを上回る予測メトリックを使用するように構成されることができる。
【0073】
いくつかの実施形態では、プロセス制御モジュールは、実行間制御との統合を介して、プロセス生産性を改良するために、1つまたはそれを上回る予測メトリックを使用するように構成される。ある場合には、本明細書に説明されるシステムおよび方法は、リアルタイムで実行間システムとして製造処理ラインに統合されてもよい。いくつかの実施形態では、本システムは、製造環境において使用または展開されるように構成される。実行間システムは、概して、リアルタイムでプロセスと関連付けられるレシピを修正するための方法を含むことができる。レシピは、製造プロセスにおいてプロセスを実施するための命令のセットを含むことができる。レシピは、パラメータと関連付けられてもよい。例えば、化学蒸着プロセスに関するレシピおよびパラメータは、電力レベル、例えば、規定された電流および電圧を規定するパラメータを伴う堆積命令を含んでもよい。加えて、実行間システムは、概して、リアルタイムでプロセスと関連付けられる制御パラメータ、例えば、圧力、ガス量、電力、温度、電流、および同等物等の化学蒸着のための機器のプロセス変数を修正するための方法を含むことができる。ある場合には、図15-16に示されるように、制御パラメータ、レシピ、またはモデルを修正するステップは、グラフィカルユーザインターフェース(GUI)を使用して実施されてもよい。例えば、ユーザは、自身の専門知識を組み込む自身の独自のモデルを作成することができる、または実際のプロセス成果および予測されたプロセス成果を比較することができる。本明細書に説明されるシステムおよび方法は、プロセスまたは機器におけるデータドリフト、データ偏移、階層データ構造、または逸脱についてのリアルタイム予測を発生させ、製造プロセスの出力を推論または特性評価するための方法を含むことができる。推論または特性評価された出力は、プロセス変数または標的性質の予測性能を改良するために、リアルタイムフィードバックループにおいてレシピパラメータまたは制御パラメータを修正するために使用されることができる。
【0074】
いくつかの実施形態では、本システムはさらに、プロセス機器を備え、該プロセス機器は、半導体プロセス機器を備える。例えば、図4A-4Bに示されるように、プロセス機器は、半導体ウエハ生産、酸化、フォトリソグラフィ、エッチング、堆積、イオン注入、金属配線、電気ダイソート、包装、および同等物と関連付けられる機器を含むことができる。いくつかの実施形態では、堆積または加工された構造は、フィルム、層、または基板を備える。本明細書に説明されるシステムおよび方法は、標的性質またはプロセス変数を監視または制御するように構成されてもよい。標的性質は、ウエハフィルム、層、または基板と関連付けられてもよい。代替として、または加えて、標的性質は、製品の機械的、電気的、または構造的性質を含んでもよい。例えば、ウエハの電気的性質は、ドーピングプロセスを介してウエハの伝導性を制御および監視することを含むことができる。ウエハの機械的性質は、有機金属気相成長プロセスを介してウエハの歪みを制御および監視することを含むことができる。構造的性質は、化学蒸着プロセスを介してフィルムの厚さまたはフィルムの屈折率を制御および監視することを含むことができる。いくつかの実施形態では、1つまたはそれを上回る予測メトリックは、フィルム、層、または基板の1つまたはそれを上回る寸法または性質を備える。
データ処理
【0075】
いくつかの実施形態では、複数のデータタイプおよびデータセットは、(1)履歴プロセスデータ、(2)現在のプロセスデータ、(3)1つまたはそれを上回る予測メトリックの履歴測定データ、(4)1つまたはそれを上回る予測メトリックの現在の測定データ、(5)動作データ、および/または(6)機器仕様データを備える。本明細書の別の場所に説明されるように、システムおよび方法は、仮想計測システムおよび方法と関連付けられてもよい。仮想計測システムおよび方法は、実質的な量のデータを発生させることができる。データは、最新(例えば、現在の、またはリアルタイム)データまたは履歴データを含んでもよい。最新データまたは履歴データは、センサデータ、センサ仕様データ、プロセスデータ、プロセス仕様データ、測定データ、動作データ、機器データ、または機器仕様データと関連付けられてもよい。例えば、データは、故障検出および分類(FDC)データ、センサデータ(例えば、温度、圧力、電力、電流、ガス量、および同等物)、測定データ(例えば、フィルム厚、フィルム屈折率、臨界寸法、および同等物)、または動作データを備えることができる。
【0076】
ある場合には、本明細書に開示されるシステムおよび方法は、ストリーミングモードまたはバッチモードにおいて製造データの処理を支援することができる。ストリーミングモードは、概して、製造プロセスの過程の間にリアルタイムで受信されるデータ、例えば、最新またはリアルタイムデータを含んでもよい。バッチモードは、概して、製造処理からリアルタイム以外で受信されるデータ、例えば、履歴データを含んでもよい。
【0077】
いくつかの実施形態では、データ処理モジュールは、動作データおよび機器仕様データに対して履歴プロセスデータおよび履歴測定データを検証するように構成される。動作データまたは機器データに対する履歴プロセスデータの検証は、閾値と関連付けられることができる。ある場合には、履歴プロセスデータは、閾値が、動作データまたは機器データと関連付けられるデータの少なくとも約60%、70%、80%、90%、またはそれを上回るときに検証されてもよい。動作データまたは機器データに対する履歴測定データの検証は、閾値と関連付けられることができる。ある場合には、履歴測定データは、閾値が、動作データまたは機器データと関連付けられるデータの少なくとも約60%、70%、80%、90%、またはそれを上回るときに検証されてもよい。閾値は、所定の標準偏差と関連付けられることができる。ある場合には、履歴プロセスデータの検証は、閾値が、動作データまたは機器データの少なくとも約3標準偏差(3σ)、2標準偏差(2σ)、または1標準偏差(1σ)以内であるときに検証されてもよい。ある場合には、履歴測定データの検証は、閾値が、動作データまたは機器データの少なくとも約3標準偏差(3σ)、2標準偏差(2σ)、または1標準偏差(1σ)以内であるときに検証されてもよい。
【0078】
いくつかの実施形態では、複数のソースは、少なくとも履歴プロセスデータまたは履歴測定データを記憶するように構成される、データベースを備える。ある場合には、複数のソースは、最新またはリアルタイムプロセスデータを記憶するように構成される、データベースを含むことができる。ある場合には、複数のソースは、最新またはリアルタイム測定データを記憶するように構成される、データベースを含むことができる。一部または全てのデータが、1つまたはそれを上回るデータベース内に記憶されることができる。ある場合には、複数のソースは、最新またはリアルタイムプロセスデータのサブセットを記憶するように構成される、データベースを含むことができる。ある場合には、複数のソースは、最新またはリアルタイム測定データのサブセットを記憶するように構成される、データベースを含むことができる。データのサブセットは、履歴プロセスデータ、履歴測定データ、最新プロセスデータ、または最新測定データと関連付けられるデータの少なくとも約25%、50%、75%、またはそれを上回るものを備えることができる。
【0079】
いくつかの実施形態では、複数のソースは、少なくとも動作データまたは機器仕様データを記憶するように構成される、データベースまたはログを備える。ある場合には、複数のソースは、最新またはリアルタイムまたは履歴動作データを記憶するように構成される、データベースを含むことができる。ある場合には、複数のソースは、最新またはリアルタイムまたは履歴機器仕様データを記憶するように構成される、データベースを含むことができる。一部または全てのデータが、1つまたはそれを上回るデータベース内に記憶されることができる。ある場合には、複数のソースは、最新またはリアルタイムまたは履歴動作データのサブセットを記憶するように構成される、データベースを含むことができる。ある場合には、複数のソースは、最新またはリアルタイムまたは履歴機器仕様データのサブセットを記憶するように構成される、データベースを含むことができる。データのサブセットは、履歴動作データ、履歴機器仕様データ、最新動作データ、または最新機器仕様データと関連付けられるデータの少なくとも約25%、50%、75%、またはそれを上回るものを備えることができる。
【0080】
いくつかの実施形態では、複数のソースは、プロセス機器を備える。本明細書の別の場所に説明されるように、製造プロセスは、エンジニア/設計者が設定し得る1つまたはそれを上回る設定点を含む、プロセス機器と関連付けられてもよい。例えば、半導体製造プロセスにおけるプロセス機器は、ウエハ生産、酸化、フォトリソグラフィ、エッチング、堆積、イオン注入、金属配線、電気ダイソート、包装、および同等物と関連付けられる機器を含むことができる。ユーザは、温度、角度、高さ、深さ、幅、サイズ、材料の量、および多くのその他等のこれらの機器のうちのいずれかに関する種々の設定点を設定することが可能である。
【0081】
いくつかの実施形態では、複数のソースは、現在の測定データを収集するように構成される、測定機器を備える。本明細書の別の場所に説明されるように、製造プロセスは、測定機器と関連付けられてもよい。測定機器は、標的性質を測定するように構成される、測定ツールまたは器具を含むことができる。例えば、測定ツールまたは器具は、ウエハに関するフィルム厚、屈折率、臨界寸法、および同等物等の半導体製造プロセスにおける標的性質を測定するために使用されてもよい。
【0082】
いくつかの実施形態では、データ処理モジュールは、プロセス機器のコンポーネント階層構造を発生させることによって、複数のデータタイプまたはデータセットを受信および処理するように構成される。製造プロセスは、サブシステム、例えば、コンポーネントを有するプロセス機器と関連付けられることができる。製造プロセスは、少なくとも1つ、2つ、3つ、4つ、5つ、またはそれを上回るタイプのプロセス機器を含むことができる。プロセス機器は、全て同一のタイプのプロセス機器であり得る。プロセス機器は、異なるタイプのプロセス機器であり得る。プロセス機器のコンポーネントは、プロセス変数と関連付けられるデータを収集するように構成される、センサを含むことができる。
【0083】
いくつかの実施形態では、コンポーネント階層構造は、(i)プロセス機器および(ii)プロセス機器内で、またはそれと併せて使用される、1つまたはそれを上回るコンポーネントの入れ子構造を備える。例えば、図5に示されるように、半導体製造プロセスは、プロセス機器、例えば、機器1、機器2等と関連付けられる化学蒸着プロセスを含んでもよい。プロセス機器のコンポーネントは、化学蒸着プロセスを実施するためのチャンバ、例えば、チャンバA、チャンバB等を含むことができる。チャンバは、温度、圧力、電力、電流、ガス量、および同等物等のセンサデータを測定するように構成される、ステーション、例えば、ステーションS1、ステーションS2等を含むことができる。いくつかの実施形態では、1つまたはそれを上回るコンポーネントは、チャンバ、ステーション、および/またはセンサを含む、1つまたはそれを上回るサブ機器を備える。
【0084】
ある場合には、製造プロセスは、異なるタイプのプロセス変数または標的性質を有する、多くの異なるタイプのプロセスを備えてもよい。本明細書の別の場所に説明されるように、システムおよび方法は、1つを上回るプロセス機器のセンサまたは1つを上回るセンサからのデータを集約することによって、拡張することができる。プロセス、プロセス機器、またはセンサからのデータを集約することは、予測メトリック、例えば、標的性質またはプロセス変数の予測を発生させるステップを改良することができる。例えば、同一のプロセスステップのための複数の機器チャンバからのデータを集約および処理することによって、疎らなデータセットが、依然として、本明細書に説明される機械学習アルゴリズムを訓練することによって、信頼性のある、ロバストな、かつ拡張可能な仮想計測モデルを発生させるために使用されることができる。
【0085】
いくつかの実施形態では、データ処理モジュールは、プロセスに関するレシピのステップ動作階層構造を発生させることによって、複数のデータタイプまたはデータセットを受信および処理するように構成される。例えば、表1に示されるように、半導体製造プロセスにおける化学蒸着のためのレシピは、動作およびサブ動作を有するレシピまたは方法を含んでもよい。動作は、装填、調製、堆積、取出、または清浄化を含むことができる。堆積に関するサブ動作は、所定の電力を発生させるために、電圧または電流を制御することを含むことができる。いくつかの実施形態では、レシピは、複数のステップを備え、複数のステップの各ステップは、複数の異なるサブ動作を備える。動作またはサブ動作は、プロセス変数または標的性質に関連するデータタイプまたはデータセットと関連付けられてもよい。プロセス変数は、例えば、化学蒸着プロセスに関する圧力、ガス量、電力、温度、および同等物を含んでもよい。標的性質は、例えば、化学蒸着プロセスを介して処理される半導体ウエハのフィルム厚または屈折率を含んでもよい。
【表1】
【0086】
いくつかの実施形態では、データ処理モジュールは、1つまたはそれを上回るデータ外れ値を除去することによって、複数のデータタイプまたはデータセットを受信および処理するように構成される。複数のデータタイプまたはデータセットは、未加工または未修正の形態におけるデータ、例えば、トレースデータを含んでもよい。例えば、図6は、化学蒸着プロセスの動作またはサブ動作に関連するプロセス変数と関連付けられる、トレースデータを描写する。プロセス変数は、例えば、化学蒸着プロセスの温度、電力、または電流を含むことができる。ある場合には、トレースデータは、クリーンデータを発生させるために処理されてもよい。クリーンデータを発生させるステップは、例えば、プロセス仕様、機器仕様、またはセンサ仕様に基づいて、不規則データを取り扱うステップまたはデータ外れ値(例えば、所定の閾値内または外)を除去するステップを含むことができる。データは、最新データ(例えば、現在の、またはリアルタイムデータ)または履歴データであり得る。いくつかの実施形態では、データ処理モジュールは、プロセスデータが推論モジュール内でモデルに入力される前に、プロセスデータからのデータ外れ値を前処理および除去するように構成される。
【0087】
いくつかの実施形態では、訓練データは、現在のプロセスデータおよび現在の測定データで連続的に更新される。特徴が、訓練データ、試験データ、または検証データを発生させるために、トレースデータまたはクリーンデータから抽出されることができる。訓練および最適化モジュールは、特徴を使用し、機械学習パイプラインを介して、仮想計測モデルを訓練および最適化してもよい。
モデル訓練パイプライン
【0088】
いくつかの実施形態では、機械学習パイプラインは、(i)特徴エンジニアリング、(ii)時間認識データ正規化、および/または(iii)適応型学習アルゴリズムから成る複数のコンポーネントからの2つまたはそれを上回るコンポーネントを備える。特徴エンジニアリングは、概して、プロセスまたはプロセス機器におけるデータドリフト、データ偏移、階層データ構造、またはデータの逸脱を有する時系列データの主要な特性を決定する、特徴を抽出し、特徴を選択することを含むことができる。特徴エンジニアリングは、相関係数または変数収縮と関連付けられてもよい。時間認識データ正規化は、概して、時系列データを複数のコンポーネントに分解し、プロセスのコンポーネントを個々に調整することを含むことができる。時間認識データ正規化は、微分または移動平均と関連付けられてもよい。適応型学習方法またはアルゴリズムは、概して、入力データ(例えば、特徴またはセンサデータ等のプロセス変数)と出力データ(例えば、プロセス変数または標的性質)との間の変化する関係を決定することを含むことができる。適応型学習方法またはアルゴリズムは、ローリング回帰またはオンライン回帰と関連付けられてもよい。特徴エンジニアリング、時間認識データ正規化、または適応型学習アルゴリズムの1つまたはそれを上回る組み合わせは、高度なプロセス制御および監視における標的性質またはプロセス変数の予測性能を改良することができる。いくつかの実施形態では、機械学習パイプラインは、順次、または同時に、2つまたはそれを上回るコンポーネントを通して訓練データを適用するように構成される。
【0089】
本明細書の別の場所に説明されるように、高度なプロセス制御および監視は、仮想計測システムおよび方法と関連付けられてもよい。仮想計測システムおよび方法は、機械学習システムおよび方法と関連付けられてもよい。機械学習システムおよび方法は、製造プロセスからのデータを使用し、仮想計測モデルを訓練、試験、および検証することができる。仮想計測モデルは、仮想計測における使用のための適応型オンライン時系列予測を発生させることができる。予測は、半導体製造プロセス等の製造プロセスにおけるプロセス変数または標的性質に関する予測を含んでもよい。
【0090】
本明細書に開示される仮想計測モデルは、プロセスまたはプロセス機器におけるデータドリフト、データ偏移、階層データ構造、またはデータの逸脱等の半導体製造プロセスと関連付けられるデータに特有の技術的課題を取り扱うことができる。本明細書の別の場所に説明されるように、システムおよび方法は、実際のデータ(例えば、最新または履歴センサデータからの未加工またはトレースデータ)を規定または認定されたプロセスまたは機器データ、例えば、機器仕様またはプロセス仕様と比較してもよい。所定の閾値外の規定または認定されたデータと一致しない実際のデータは、仮想計測モデル等の機械学習モデルにおける構築における使用の前に、さらに処理されてもよい。仮想計測モデルは、製造プロセスを制御および監視するためのより効率的なワークフローを可能にすることができる。
【0091】
機械学習パイプラインを介して機械学習モデル(例えば、仮想計測モデル)を発生させるステップは、概して、データを受信するステップ、データを前処理するステップ、データから特徴を選択またはエンジニアリングするステップ、データまたは特徴を使用してモデルを訓練するステップ、データまたは特徴を使用してモデルを試験するステップ、またはデータまたは特徴を使用してモデルを検証するステップを含んでもよい。検証されたモデルは、製造プロセスに展開または統合されることができる。データまたは特徴は、機械学習パイプラインを介した訓練、試験、または検証の複数の反復から発生されたデータまたは特徴を含むことができる。データまたは特徴は、製造プロセスの複数の事例から発生されたデータまたは特徴を含むことができる。複数の事例は、異なる期間の間に、または同一の期間の間に生じることができる。データまたは特徴は、リアルタイムで自動的に追跡または使用されることができる。データまたは特徴は、精査のために記憶され、後の時間の間に使用されることができる。いくつかの実施形態では、時間認識データ正規化は、平滑化データ、トレンドデータ、および/またはデトレンドデータを含む、1つまたはそれを上回るコンポーネントへの時系列データの分解を備える。
【0092】
図7および8は、機械学習パイプラインにおける特徴エンジニアリングと関連付けられ得る、動作を描写する。特徴エンジニアリングは、概して、特徴作成、変換、特徴抽出、または特徴選択に関する動作を含むことができる。特徴エンジニアリング動作は、少なくとも1つ、2つ、3つ、4つ、5つ、またはそれを上回る動作を備えることができる。特徴エンジニアリング動作は、最大で5つ、4つ、3つ、2つ、または1つの動作を備えることができる。ある場合には、特徴エンジニアリング動作は、特徴エンジニア(例えば、列の組み合わせを実施する)、nan frac閾値(例えば、非数(NaN)である閾値を上回る値を伴う列を除去する)、単純インピュータ(例えば、欠損値の平均インピュテーションを実施する)、スライディングウィンドウ相関セレクタ、または多項式特徴(例えば、列をともに乗算する)等の動作を含むことができる。ある場合には、特徴エンジニアリング動作は、特徴エンジニア、nan frac閾値、単純インピュータ、デトレンダ等の関数変換器、微分器、指数加重平均、標準スケーラ、またはスライディングウィンドウ相関セレクタ等の動作を含むことができる。
【0093】
いくつかの実施形態では、特徴エンジニアリングは、訓練データ内の未加工トレースデータまたはセンサデータからの複数の特徴の抽出を備える。大域的関係を使用する方法と比較して、スライディングウィンドウ方法は、非定常特性を有するデータに関する局所的関係をより良好に決定することができる。非定常特性は、例えば、本明細書の別の場所に説明されるデータドリフトまたはデータ偏移を含み得る。いくつかの実施形態では、特徴エンジニアリングは、少なくとも部分的に、モデルの入力と出力との間の局所的関係に基づいて、抽出された特徴のリストから1つまたはそれを上回る特徴を選択するためのアルゴリズムの使用を備える。例えば、図9に示されるように、大域的関係を使用する方法は、入力データと出力データとの間の関係を不正確に決定し得る。大域的関係を使用する方法は、3つの明確に異なる期間が存在するが、全ての時点にわたって、出力(y)と入力(x)との間の関係をy=-0.6x+132として予測し得る。スライディングウィンドウ方法は、トレースデータの3つの明確に異なる期間にわたって、出力(y)と入力(x)との間の変化する関係をy=-2x+201、y=x-103、およびy=-4.1x+932として予測することができる。図10は、スライディングウィンドウ方法を概念的に描写する。スライディングウィンドウ方法は、(i)データの時系列を横断してウィンドウをスライドさせ、(ii)相関を選択スコアとして平均化することによって、出力データと入力データとの間の実行相関を決定し得る。いくつかの実施形態では、時間認識データ正規化は、モデルおよびモデルのデータタイプに基づく。i番目の特徴の相関は、以下の方程式を使用して決定されることができる。
【化1】
【0094】
式中、iは、入力データのi番目の変数(例えば、Xデータ、特徴、センサデータ)であり、jは、出力データのj番目の変数(例えば、Yデータ、応答、標的、測定値)であり、rは、相関係数であり、Tは、入力データの総数であり、Wは、ウィンドウサイズであり、Jは、出力データの変数の総数である。
【0095】
いくつかの実施形態では、適応型学習アルゴリズムは、適応型オンラインアンサンブル学習アルゴリズムである。単一の機械学習モデルは、所定の信頼レベルで全てのプロセス変数または標的性質を正確に予測することが可能ではない場合がある。故に、本明細書に開示される方法は、所定の信頼レベルでプロセス変数または標的性質を予測するために、アンサンブルモデルにおける使用のための2つまたはそれを上回るモデルを発生させる、維持する、または更新することができる。モデルは、少なくとも約60%、70%、80%、90%、95%、またはより良好な信頼レベルでプロセス変数または標的性質を予測してもよい。ある場合には、モデルは、少なくとも約95%の信頼レベルでプロセス変数または標的性質を予測してもよい。本明細書に説明されるシステムおよび方法は、予測性能を改良するために、異なる製造プロセスにおける選択のための複数の機械学習モデルを発生させる、維持する、または更新することができる。ある場合には、本明細書に説明されるシステムおよび方法は、例えば、最良に機能するモデルを発生させるために、複数の製造プロセスまたは標的に対する機械学習モデルの性能を検証することができる。プロセス変数または標的性質に対するベンチマーク試験を自動的に発生させた後、最良に機能する機械学習モデルが、人間の動作を殆どまたは全く伴わずに、機敏な様式において展開されることができる。
モデル最適化
【0096】
いくつかの実施形態では、訓練および最適化モジュールは、少なくとも部分的に、ハイパーパラメータ最適化を使用して、モデルを最適化するように構成される。ある場合には、本明細書に開示される仮想計測モデルは、ストリーミングデータまたはバッチデータを用いて、ハイパーパラメータ最適化を使用して訓練されることができる。ハイパーパラメータ最適化(例えば、機械学習モデルにおけるハイパーパラメータの調整)は、製造プロセスの1つ、1つを上回る、または全てのプロセスのために使用されてもよい。製造プロセスの全てまたは実質的に全てのプロセスのためのハイパーパラメータ最適化は、プロセスを横断するハイパーパラメータの共有セットを探索することによって、全体的予測性能を改良することができ、これは、1つのプロセスまたはいくつかのプロセスに対して最適化することと比較して、オーバーフィッティングを緩和し得る。ある場合には、ハイパーパラメータ最適化は、いくつかのプロセスまたは1つのプロセスに対して最適化することと比較して、全てまたは実質的に全てのプロセスに関して最適化するとき、少なくとも約1%、5%、10%、20%、またはそれを上回って予測性能を改良し得る。いくつかのプロセスは、最大で全てのプロセスの約30%、20%、10%、またはそれ未満であり得る。
【0097】
いくつかの実施形態では、訓練および最適化モジュールは、(i)機械学習パイプラインからの出力に対してハイパーパラメータの所与のセットを用いてモデルを訓練するように構成される。ある場合には、本明細書に開示されるシステムおよび方法は、多くの異なるセンサ、異なる機器、または異なるプロセスからのデータを処理し、最も関連する特徴を選択してもよい。訓練および最適化は、標的性質またはプロセス変数のより良好な予測性能のために、1つまたはそれを上回る特徴に対してハイパーパラメータ最適化を使用することを含んでもよい。例えば、図7または8を参照すると、スライディングウィンドウ相関セレクタと関連付けられるハイパーパラメータは、多重共線性および同等物を含んでもよい。多項式特徴と関連付けられるハイパーパラメータは、次数および同等物を含んでもよい。デトレンダと関連付けられるハイパーパラメータは、半減期、変化点、および同等物を含んでもよい。スケーラと関連付けられるハイパーパラメータは、スケータのタイプおよび同等物を含んでもよい。
【0098】
いくつかの実施形態では、訓練および最適化モジュールはさらに、(ii)検証データに基づいて、モデルの性能を評価するように構成される。本明細書に説明されるシステムおよび方法は、仮想計測モデルを連続的に更新または最適化するために、センサデータ、機器データ、またはプロセスデータの時間的変化を追跡することができる。試験データ、訓練データ、または検証データは、経時的に変化し得、したがって、経時的に入力データと出力データとの間の局所的または大域的関係を変化させ得る。モデルの性能は、以前の訓練データ、以前の試験データ、または以前の検証データと異なる他の訓練データ、他の試験データ、または他の検証データを使用してモデルを訓練、試験、または検証することによって、経時的に連続的に改良されることができる。
【0099】
いくつかの実施形態では、検証データは、ハイパーパラメータ最適化のために訓練データから分割される。訓練、試験、または検証のためにデータを分割すること(例えば、分割検証)は、所定のパーセンテージを使用して実施されることができる。例えば、データは、訓練に関する80%および試験に関する20%に分割されてもよい。データは、訓練に関する80%、試験に関する10%、および検証に関する10%に分割されてもよい。代替として、または加えて、データを分割することは、交差検証、例えば、網羅的交差検証またはk重検証のような非網羅的交差検証を使用して実施されることができる。
【0100】
いくつかの実施形態では、訓練および最適化モジュールはさらに、(iii)モデルの性能を増加させる、または改良するように、過去の性能に基づいて、次の反復に関するハイパーパラメータのセットを選択するために、ハイパーパラメータ最適化アルゴリズムを使用するように構成される。本明細書に説明されるシステムおよび方法は、ハイパーパラメータ最適化のためのハイパーパラメータを選択するためのアルゴリズムと関連付けられる方法を使用してもよい。例えば、ハイパーパラメータのセットが、ハイパーパラメータの別の、または以前のセットよりも予測性能を改良するために決定されることができる。ハイパーパラメータのセットは、モデルの予測性能を増加させる、または改良するために、モデルの訓練、試験、または検証の次の統合のために使用されることができる。
【0101】
いくつかの実施形態では、訓練および最適化モジュールはさらに、モデルの性能が終了基準を満たすまで、(i)-(iii)を反復的に繰り返すように構成される。ある場合には、終了基準は、メトリックの絶対値に基づく所定のメトリックであり得る。代替として、または加えて、終了基準は、メトリックの相対的変化に基づく所定のメトリックであり得る。終了基準は、所与のエポック数にわたるメトリックの変化なし、メトリックの絶対的変化、所与のエポック数にわたって観察される予測性能の減少、または所与のエポック数にわたるメトリックの平均的変化を含むことができる。
【0102】
別の側面では、本明細書に開示されるものは、プロセス監視および制御のための方法である。方法は、例えば、(a)訓練データを発生させるために、複数の異なるソースから複数のデータタイプおよびデータセットを受信および処理するステップと、(b)モデルを訓練および最適化するために、訓練データを機械学習パイプラインに提供するステップと、(c)実質的にリアルタイムで1つまたはそれを上回る予測メトリックを発生させるステップであって、1つまたはそれを上回る予測メトリックは、プロセス機器によって実施されるプロセスの出力を特性評価するために使用可能である、ステップとを含んでもよい。
プロセス監視および制御における予測のための機械学習方法
【0103】
アルゴリズムとして実装される多くの機械学習(ML)方法が、本明細書に説明される方法を実施するためのアプローチとして好適である。そのような方法は、限定ではないが、教師あり学習アプローチ、教師なし学習アプローチ、半教師ありアプローチ、またはそれらの任意の組み合わせを含む。
【0104】
機械学習アルゴリズムは、限定ではないが、ニューラルネットワーク(例えば、人工ニューラルネットワーク(ANN)、多層パーセプトロン(MLP)、長短期記憶(LSTM))、サポートベクターマシン、k最近傍、ガウス混合モデル、ガウス過程、ナイーブベイズ、決定木、ランダムフォレスト、または勾配ブースティング木を含んでもよい。線形機械学習アルゴリズムは、限定ではないが、正則化器の有無を問わない線形回帰、ロジスティック回帰、ナイーブベイズ分類器、パーセプトロン、またはサポートベクターマシン(SVM)を含んでもよい。本開示による方法との併用のための他の機械学習アルゴリズムは、限定ではないが、二次分類器、k最近傍、ブースティング、決定木、ランダムフォレスト、ニューラルネットワーク、パターン認識、ベイジアンネットワーク、または隠れマルコフモデルを含んでもよい。機械学習のために一般的に使用される、これらのうちのいずれかの改良または組み合わせを含む、他の機械学習アルゴリズムもまた、本明細書に説明される方法との併用のために好適であり得る。ワークフローにおける機械学習アルゴリズムの任意の使用もまた、本明細書に説明される方法との併用のために好適であり得る。ワークフローは、例えば、交差検証、入れ子交差検証、特徴選択、行圧縮、データ変換、ビニング、正規化、標準化、およびアルゴリズム選択を含むことができる。
【0105】
機械学習アルゴリズムは、概して、機械学習モデルを構築するために、以下の方法論によって訓練されることができる。ある場合には、発生されたモデルは、製品の標的性質、例えば、ウエハのフィルム厚または屈折率を決定または予測してもよい。入力データは、例えば、本明細書の別の場所に説明されるXデータ、特徴、故障検出および分類(FDC)データ、センサデータ、および同等物等のプロセス変数を含むことができる。出力データは、例えば、本明細書の別の場所に説明されるYデータ、応答、測定値、および同等物等の標的性質を含むことができる。ある場合には、発生されたモデルは、プロセス変数を決定または予測してもよい。入力データは、例えば、本明細書の別の場所に説明されるプロセス変数を含むことができる。出力データは、例えば、本明細書の別の場所に説明されるプロセス変数を含むことができる。
【0106】
1.機械学習アルゴリズムを「訓練」および「試験」するためのデータセットを集める。データセットは、多くの特徴、例えば、センサデータ、機器、プロセス、および同等物と関連付けられる特徴を含むことができる。訓練データセットは、機械学習アルゴリズムを「訓練」するために使用される。試験データセットは、機械学習アルゴリズムを「試験」するために使用される。
【0107】
2.訓練および試験のために使用するべき機械学習アルゴリズムのための「特徴」を決定する。機械学習アルゴリズムの正確度は、特徴が表される方法に依存し得る。例えば、特徴値は、ワンホットエンコーデイング、ビニング、標準化、または正規化を使用して変換されてもよい。また、データセット内の全ての特徴が、機械学習アルゴリズムを訓練および試験するために使用されるわけではない場合がある。特徴の選択は、例えば、利用可能なコンピューティングリソースおよび時間または反復試験および訓練の間に発見される特徴の重要度に依存し得る。例えば、センサデータまたは機器仕様と関連付けられる特徴が、プロセス変数または標的性質を予測することが発見され得る。
【0108】
3.適切な機械学習アルゴリズムを選定する。例えば、本明細書の別の場所に説明される機械学習アルゴリズムが、選定されてもよい。選定される機械学習アルゴリズムは、例えば、利用可能なコンピューティングリソースおよび時間または予測が性質において連続的またはカテゴリ的であるかどうかに依存し得る。機械学習アルゴリズムは、機械学習モデルを構築するために使用される。
【0109】
4.機械学習モデルを構築する。機械学習アルゴリズムは、集められた訓練データセット上で実行される。機械学習アルゴリズムのパラメータは、訓練データセットに対する性能を最適化することによって、または交差検証データセットを介して調節されてもよい。パラメータ調節および学習後、機械学習アルゴリズムの性能は、訓練データセットおよび試験データセットとは別個であるナイーブサンプルのデータセット上で検証されてもよい。構築された機械学習モデルは、個々の特徴に割り当てられた特徴係数、重要度測度、または加重を伴うことができる。
【0110】
いったん機械学習モデルが上記に説明されるように決定(「訓練」)されると、これは、半導体製造プロセス等の製造プロセスにおけるプロセス監視および制御のための予測を発生させるために使用されることができる。
【実施例0111】
本開示の種々の実施例が、本明細書に示され、説明されているが、そのような実施例は、実施例としてのみ提供される。多数の変形例、変更、または代替が、本開示から逸脱することなく、生じ得る。本明細書に説明される実施例の種々の代替が、採用され得ることを理解されたい。
実施例1-半導体製造プロセスにおける仮想計測のための適応型オンライン時系列予測
緒言
【0112】
本明細書に説明されるシステムおよび方法(例えば、仮想計測(VM)モデル)が、半導体製造プロセス、例えば、化学蒸着(CVD)プロセスを予測、制御、および監視するために、センサデータおよび履歴測定値を使用して、ウエハ特性を統計的にモデル化するために使用された。仮想計測モデルは、半導体製造プロセスと関連付けられる物理的または人間の検査を低減させることによって、生産性を増加させ、品質を改良し、維持費用を低下させた。
【0113】
本明細書に説明されるシステムおよび方法と比較して、他の方法(例えば、アルゴリズム的方法またはモデル)は、半導体製造プロセスにおいて観察されるデータドリフトまたはデータ偏移を有するデータと協働し得ない。データドリフトは、概して、例えば、機器の老朽化に起因する、プロセス動力学の漸進的な変化を指す。データ偏移は、概して、例えば、保守、較正、または層変化等の外部動作に起因する、プロセス動力学の急激な変化を指す。
【0114】
高度なプロセス制御および監視において仮想計測モデルを確実に使用するために、モデルの予測は、プロセスの全ての時点で高度に正確であるべきである。しかしながら、いくつかのモデルは、例えば、化学蒸着、エッチング、拡散、または他のプロセスによって発生されるセンサデータまたは測定データにおいて観察される非定常性を取り扱うことができない。データドリフトは、モデルの正確度の定常または緩慢な減少を引き起こし得る。データ偏移は、モデルの急激な不具合を引き起こし得る。例えば、ガウス過程解またはニューラルネットワークアーキテクチャは、主として、データドリフトに焦点を当てることによって、不完全な解または予測を発生させ得る。例えば、ウィンドウベースのモデルは、データ偏移が固定されたウィンドウサイズに起因して生じるとき、信頼性のない予測を発生させる、または失敗し得る。例えば、ジャストインタイム学習モデルは、入力と出力との間の関係の変化に適応し得ない。
【0115】
本明細書に説明されるシステムおよび方法は、正確な仮想計測モデルを発生させるために、時間認識データ正規化方法および適応型学習方法を組み込む、新規の時系列予測フレームワークを使用する(図1および2参照)。時間認識正規化方法は、データからデータドリフトを除去することができる。方法は、本変換を実施するために、種々の平滑化アルゴリズム、例えば、指数加重移動平均を使用してもよい。適応型学習方法は、応答(例えば、出力)と入力との間の時変関係を捕捉することができる。本明細書に説明されるシステムおよび方法はまた、いくつかのモデルの予測のアンサンブルを発生させ、データ偏移環境においてより正確な予測をもたらし、製造プロセスにおける現実の生産ライン上のプロセス変動性を低減させることができる。
適応型オンライン時系列予測
【0116】
本明細書に説明されるシステムおよび方法(例えば、適応型オンライン時系列方法、アルゴリズム、または方法)は、データドリフトまたはデータ偏移を克服するために、2つの相補的方略または動作をパイプラインプロセスに統合してもよい。パイプラインは、時間認識正規化方法と、適応型オンライン学習方法とを含んでもよい。方法は、例えば、移動平均方法を用いて、入力または出力を正規化し、データからデータドリフトを除去し、入力または出力の分布が時間を通して一貫したままであるように、変換されたデータを発生させてもよい。方法は、変換されたデータを入力として適応型オンライン学習アルゴリズムに提供し、プロセスの動力学の変動を考慮することによって、変数の間の変化する関係を捕捉してもよい。両方の動作は、異なる問題、例えば、チャンバドリフトまたは概念ドリフトを解決するために、相互を補完することができる。チャンバドリフトは、概して、チャンバの状態の変化がセンサの出力を修正するときに生じ得る。概念ドリフトは、概して、センサと測定値との間の関係を改変し得る。本明細書の時間認識正規化方法は、ドリフトする分布を取り扱うために、チャンバドリフトを解決することができる。本明細書の適応型オンライン学習方法は、変化する関係を取り扱うために、概念ドリフトを解決することができる。
時間認識正規化方法
【0117】
時間認識正規化方法は、予測正確度に対するデータドリフトの効果を低減させることができる。半導体製造プロセスと関連付けられる仮想計測データセットでは、特徴は、経時的に緩慢かつ定常にドリフトし得る。データドリフトは、入力と出力との間の歪みを作成し、経時的に予測正確度を低減させ得る。時間認識正規化方法は、そのような変化を除去し、特徴と標的との間の関係を復元することができる。例えば、図11A-11Dは、ドリフトする入力が線形関係を隠蔽し得る様子を示す。図11A-11Bでは、特徴は、その初期範囲から離れるように緩慢にドリフトする一方、応答は、定常のままである。その結果、入力と出力との間の相関は、ヌルである。特徴に時間認識正規化方法を適用することは、図11C-11Dに図示されるように、線形関係を回復させることができる。
【0118】
平均値、スケール、サンプリングレート、傾き、または任意の統計値は、経時的に変化し、仮想計測モデルの予測性能に影響を及ぼし得る。故に、時間認識正規化方法は、異なるアプローチを使用することができる。例えば、差分、平滑化、デトレンド、種々のパラメータのオンライン推定、または時系列分解方法が、ドリフトしているデータに応じて、要求され得る。本明細書に説明されるシステムおよび方法は、例えば、指数加重移動平均を使用し、入力および出力の両方を自動的に変換してもよい。観察時間に基づいて、各データ点を適正に加重することによって、本明細書に説明される方法は、入力および出力が経時的に一貫することを確実にすることができる。時間認識正規化方法を通してデータを変換した後、変換されたデータは、適応型オンライン学習方法のための入力データとして提供されることができる。
適応型オンライン学習方法
【0119】
本明細書に説明される適応型オンライン学習方法は、入力-出力関係の変化を取り扱うことができる。方法は、それらが経時的に変化する際のそれらの関係をモデル化することができる。方法は、それらの現在および過去の性能に基づいてそれらを評価することによって、複数のオンラインエキスパート(例えば、リグレッサ)を集約してもよい。方法は、適応型リグレットを最小限にすることによって、任意の所与の時間ウィンドウに関する最良に機能するエキスパートを強調してもよい。適応型リグレットは、概して、全ての時間間隔で、後知恵で、アルゴリズムが最適条件と比較して良好に機能する程度を測定する。各時点で、最良のリグレッサは、予測に最も寄与する。図12の実施例によって図示される擬似コードは、個々のエキスパートが最終予測に寄与する方法に関する直感を与えることができる。各時点tで、エキスパートの加重iは、その残差に基づいて、変動する。より高い残差は、他のエキスパートに対してより小さい加重につながる。エキスパートは、例えば、線形モデル、ガウス過程、決定木リグレッサ、または任意のオンラインリグレッサを含んでもよい。正しいリグレッサを選定することは、例えば、速度または正確度の観点から、適応型オンライン学習モデルの性能に重要であり得る。アンサンブルが変化に適応する速度を制御するために、減衰パラメータηは、プロセスの動力学に基づいて、調整されることができる。
【0120】
図13A-13Cは、単純な一変量線形関係をモデル化する、適応型オンライン学習方法の実施例を提供し、図13Aでは、y=ax+bであり、式中、t≦200に関して(a, b)=(1,5)であり、t≧200に関して(a, b)=(-1, 15)である。t=200の後の点が試験時間に観察されないと仮定すると、t≦200からのデータ上で訓練されるオフラインアルゴリズムは、不正確な予測を提供し得る。他方、適応を伴わない他のオンライン方法は、急激な偏移後に適合するのに苦労し得る。さらに、上記に提示される時間認識正規化方法は、偏移する切片の効果を低減させ得るが、これは、図13Bに図示されるように、反転する係数を取り扱うことが可能であり得ない。モデルは、完全に変化するため、適応型オンライン学習器モデルが、要求され得る。図13Cは、線形リグレッサ方法、オンライン線形リグレッサ方法、およびベースエキスパートとしてオンライン線形リグレッサを使用する本開示の適応型オンライン学習方法の予測性能を比較する。本明細書に開示される方法は、線形リグレッサおよびオンライン線形リグレッサよりも正確な予測を提供する。線形リグレッサは、モデル変化に適合しない。オンライン線形リグレッサは、不適正な予測を提供し、時間内に正しいレジメンに到達しない。
結果
【0121】
本明細書に説明されるシステムおよび方法は、合成データおよび製造プロセスからの実際のデータの両方を使用して、化学蒸着プロセスに関する予測を発生させるために使用された。
【0122】
合成データ。合成データは、炭素堆積プロセスの挙動を再現するデータセットを含んでいた。図14Aに示されるデータセットは、200個のサンプルおよび10個の特徴の5つの回帰問題の連結サンプルを含んでいた。各回帰問題は、異なる係数および切片を有していた。本連結データセットでは、モデル変化が、各方法がデータ偏移に適応した速さを決定するために、200時間ステップ毎に生じた。加えて、ランダムなデータドリフトが、各特徴において発生された。図14Bは、時間を通して発展する2つの特徴を示す。本合成データセットでは、特徴は、ドリフトし、応答は、偏移する。本合成データセットは、例えば、保守、レシピ変更、または較正動作によって引き起こされるデータ偏移と、例えば、機器の老朽化から生じるデータドリフトとをエミュレートし得る。
【0123】
本明細書に開示されるシステムおよび方法は、ローリング通常最小二乗(OLS)方法およびオンライン線形方法(再帰的最小二乗としても公知である)を使用する他の仮想計測方法と比較された。ローリングOLS方法は、ウィンドウサイズおよびストライドによってパラメータ化され得る。各ウィンドウでは、線形モデルが、フィッティングされることができる。本モデルは、ウィンドウがストライドし、新しいモデルが推定され、予測のために使用されるまで、予測を行い得る。オンライン線形方法では、係数および切片が、応答が観察されるときは常に更新されることができる。デフォルトでは、これらの方法は、具体的適応機構を有していない場合がある。
【0124】
各モデルは、訓練データセット上で訓練され、評価データセット上で調整された。性能は、別個の試験データセット上で測定された。訓練および評価データセットは、最初の600個の点を網羅した。試験データセットは、最後の400個の点を含んでいた。構造上、試験データセットは、訓練の間に観察されないデータドリフトおよびデータ偏移を含有する。表2は、試験データセットに対する3つの方法に関する決定係数(R)および二乗平均平方根誤差(RMSE)を要約する。本明細書に説明される適応型オンライン時系列方法は、ローリングOLS方法と比較して、それぞれ、RおよびRMSEに関して24%および48%もの量だけ回帰メトリックを改良した。
【表2】
【0125】
図14C-14Dは、ローリングOLS方法、オンライン線形方法、および本明細書に開示される方法の性能を比較する。本明細書に説明される適応型オンライン時系列方法は、ローリングOLS方法と比較してはるかに速く偏移に適応する。図14Cに示されるように、タイムスタンプ600および800において、本明細書に説明される方法は、データ偏移に適応するために約25個の点を要する一方、ローリングOLS方法は、約50個の点を要する。オンライン線形方法は、急激なデータ偏移に適応することができない。図14Dは、3つの方法の絶対残差を比較する。本明細書に開示される方法は、データ偏移の直後の誤差の大きさを限定する。平均絶対残差は、ローリングOLS方法およびオンライン線形方法に関して、2の高さまで到達し得るが、それらは、本明細書に説明される方法に関して、1付近またはその下に留まる。データ偏移後の約50~60個の点の後、ローリングOLS方法および本明細書に説明される方法は、基礎的モデルを回復させ、同様に機能する。オンライン線形方法は、十分に迅速に適応することができず、決して適正な性能に到達しない。
【0126】
本明細書に説明される適応型オンライン時系列方法は、それらの適応速度のため、ローリングOLS方法よりも性能が優れている。ウィンドウ方法は、それらのウィンドウサイズによって限定され得る。ウィンドウが、データの2つの一貫しない範囲と重複すると、性能は、影響を受け得る。異なる時間範囲にわたってフィッティングされるリグレッサの集約は、データ偏移の影響を低減させることができる。本明細書に説明される適応型モデルは、エキスパートを一貫して訓練および更新するため、未熟な関連するエキスパートは、偏移が生じるとすぐに準備完了する。
【0127】
実際のデータ。本明細書に説明されるシステムおよび方法(例えば、適応型オンライン時系列方法)はまた、大規模な半導体製造業者の高度なプロセス制御および監視システムに展開および統合された。モデルは、72個の堆積チャンバを使用するメモリチッププロセス上の4つの薄フィルム蒸着を網羅した。メモリチッププロセスは、ダイナミックランダムアクセスメモリ(DRAM)と、「not and」(NAND)プロセスとを含んでいた。数ヵ月にわたって日常的な高度なプロセス制御動作において本システムを実行することによって、本明細書に説明されるシステムおよび方法は、フィルム厚および屈折率の分散の少なくとも約45.2%の低減(平均で約21.5%の低減)を達成した。
コンピューティングシステム
【0128】
図17を参照すると、その中で命令のセットが、デバイスに本開示の静的コードスケジューリングのための側面および/または方法論のうちのいずれか1つまたはそれを上回るものを実施または実行させるために実行し得る、コンピュータシステム1700(例えば、処理またはコンピューティングシステム)を含む、例示的機械を描写する、ブロック図が、示される。図17のコンポーネントは、実施例にすぎず、特定の実施形態を実装する任意のハードウェア、ソフトウェア、埋め込まれた論理コンポーネント、または2つまたはそれを上回るそのようなコンポーネントの組み合わせの使用または機能性の範囲を限定しない。
【0129】
コンピュータシステム1700は、バス1740を介して相互および他のコンポーネントと通信する、1つまたはそれを上回るプロセッサ1701と、メモリ1703と、記憶装置1708とを含んでもよい。バス1740はまた、ディスプレイ1732、(例えば、キーパッド、キーボード、マウス、スタイラス等を含み得る)1つまたはそれを上回る入力デバイス1733、1つまたはそれを上回る出力デバイス1734、1つまたはそれを上回る記憶デバイス1735、および種々の有形記憶媒体1736を連結してもよい。これらの要素は全て、直接、または1つまたはそれを上回るインターフェースまたはアダプタを介してバス1740とインターフェースをとってもよい。例えば、種々の有形記憶媒体1736は、記憶媒体インターフェース1726を介してバス1740とインターフェースをとることができる。コンピュータシステム1700は、限定ではないが、1つまたはそれを上回る集積回路(IC)、プリント回路基板(PCB)、モバイルハンドヘルドデバイス(モバイル電話またはPDA等)、ラップトップまたはノートブックコンピュータ、分散型コンピュータシステム、コンピューティンググリッド、またはサーバを含む、任意の好適な物理的形態を有してもよい。
【0130】
コンピュータシステム1700は、機能を実行する、1つまたはそれを上回るプロセッサ1701(例えば、中央処理ユニット(CPU)または汎用目的グラフィック処理ユニット(GPGPU))を含む。プロセッサ1701は、随意に、命令、データ、またはコンピュータアドレスの一時的なローカル記憶のためのキャッシュメモリユニット1702を含有する。プロセッサ1701は、コンピュータ可読命令の実行を補助するように構成される。コンピュータシステム1700は、プロセッサ1701がメモリ1703、記憶装置1708、記憶デバイス1735、および/または記憶媒体1736等の1つまたはそれを上回る有形コンピュータ可読記憶媒体内に具現化される非一過性プロセッサ実行可能命令を実行する結果として、図17に描写されるコンポーネントのための機能性を提供してもよい。コンピュータ可読媒体は、特定の実施形態を実装するソフトウェアを記憶してもよく、プロセッサ1701は、ソフトウェアを実行してもよい。メモリ1703は、1つまたはそれを上回る他のコンピュータ可読媒体(大容量記憶デバイス1735、1736等)から、またはネットワークインターフェース1720等の好適なインターフェースを通して1つまたはそれを上回る他のソースからソフトウェアを読み取ってもよい。ソフトウェアは、プロセッサ1701に、本明細書に説明または図示される1つまたはそれを上回るプロセス、または1つまたはそれを上回るプロセスの1つまたはそれを上回るステップを実行させてもよい。そのようなプロセスまたはステップを実行することは、メモリ1703内に記憶されるデータ構造を定義し、ソフトウェアによって指示されるようにデータ構造を修正することを含んでもよい。
【0131】
メモリ1703は、限定ではないが、ランダムアクセスメモリコンポーネント(例えば、RAM1704)(例えば、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、強誘電体ランダムアクセスメモリ(FRAM(登録商標))、相変化ランダムアクセスメモリ(PRAM)等)、読取専用メモリコンポーネント(例えば、ROM1705)、およびそれらの任意の組み合わせを含む、種々のコンポーネント(例えば、機械可読媒体)を含んでもよい。ROM1705は、プロセッサ1701に一方向にデータおよび命令を通信するように作用してもよく、RAM1704は、プロセッサ1701と双方向にデータおよび命令を通信するように作用してもよい。ROM1705およびRAM1704は、下記に説明される任意の好適な有形コンピュータ可読媒体を含んでもよい。一実施例では、立ち上げの間等にコンピュータシステム1700内の要素の間で情報を転送することに役立つ基本ルーチンを含む、基本入/出力システム1706(BIOS)が、メモリ1703内に記憶されてもよい。
【0132】
固定記憶装置1708が、随意に、記憶装置制御ユニット1707を通してプロセッサ1701に双方向に接続される。固定記憶装置1708は、付加的データ記憶装置容量を提供し、また、本明細書に説明される任意の好適な有形コンピュータ可読媒体を含んでもよい。記憶装置1708は、オペレーティングシステム1709、実行ファイル1710、データ1711、アプリケーション1712(アプリケーションプログラム)、および同等物を記憶するために使用されてもよい。記憶装置1708はまた、光学ディスクドライブ、ソリッドステートメモリデバイス(例えば、フラッシュベースのシステム)、または上記のうちのいずれかの組み合わせを含むことができる。記憶装置1708内の情報は、適切な場合には、メモリ1703内に仮想メモリとして組み込まれてもよい。
【0133】
一実施例では、記憶デバイス1735が、記憶デバイスインターフェース1725を介して(例えば、外部ポートコネクタ(図示せず)を介して)コンピュータシステム1700と可撤式にインターフェースをとられてもよい。特に、記憶デバイス1735および関連付けられる機械可読媒体が、コンピュータシステム1700のための機械可読命令、データ構造、プログラムモジュール、および/または他のデータの不揮発性および/または揮発性記憶を提供してもよい。一実施例では、ソフトウェアが、完全または部分的に、記憶デバイス1735上の機械可読媒体内に常駐してもよい。別の実施例では、ソフトウェアは、完全または部分的に、プロセッサ1701内に常駐してもよい。
【0134】
バス1740は、多種多様なサブシステムを接続する。本明細書では、バスの言及は、適切な場合、一般的な機能をサービス提供する、1つまたはそれを上回るデジタル信号ラインを包含し得る。バス1740は、限定ではないが、様々なバスアーキテクチャのうちのいずれかを使用する、メモリバス、メモリコントローラ、周辺機器バス、ローカルバス、およびそれらの任意の組み合わせを含む、いくつかのタイプのバス構造のうちのいずれかであってもよい。限定としてではなく、実施例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、拡張ISA(EISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、ビデオエレクトロニクススタンダーズアソシエーションローカルバス(VLB)、周辺機器コンポーネント相互接続(PCI)バス、PCIエクスプレス(PCI-X)バス、アクセラレーテッドグラフィックスポート(AGP)バス、ハイパートランスポート(HTX)バス、シリアル高度技術アタッチメント(SATA)バス、およびそれらの任意の組み合わせを含む。
【0135】
コンピュータシステム1700はまた、入力デバイス1733を含んでもよい。一実施例では、コンピュータシステム1700のユーザは、入力デバイス1733を介してコマンドおよび/または他の情報をコンピュータシステム1700の中に打ち込んでもよい。入力デバイス1733の実施例は、限定ではないが、英数字入力デバイス(例えば、キーボード)、ポインティングデバイス(例えば、マウスまたはタッチパッド)、タッチパッド、タッチスクリーン、マルチタッチスクリーン、ジョイスティック、スタイラス、ゲームパッド、オーディオ入力デバイス(例えば、マイクロホン、音声応答システム等)、光学スキャナ、ビデオまたは静止画像捕捉デバイス(例えば、カメラ)、およびそれらの任意の組み合わせを含む。いくつかの実施形態では、入力デバイスは、Kinect(登録商標)、Leap Motion(登録商標)、または同等物である。入力デバイス1733は、限定ではないが、シリアル、パラレル、ゲームポート、USB、FIREWIRE(登録商標)、THUNDERBOLT(登録商標)、または上記の任意の組み合わせを含む、様々な入力インターフェース1723(例えば、入力インターフェース1723)のうちのいずれかを介してバス1740にインターフェースをとられてもよい。
【0136】
特定の実施形態では、コンピュータシステム1700が、ネットワーク1730に接続されると、コンピュータシステム1700は、他のデバイス、具体的には、ネットワーク1730に接続される、モバイルデバイスおよび企業システム、分散型コンピューティングシステム、クラウド記憶システム、クラウドコンピューティングシステム、および同等物と通信してもよい。コンピュータシステム1700への、およびそれからの通信が、ネットワークインターフェース1720を通して送信されてもよい。例えば、ネットワークインターフェース1720は、ネットワーク1730から1つまたはそれを上回るパケット(インターネットプロトコル(IP)パケット等)の形態における着信通信(他のデバイスからの要求または応答等)を受信してもよく、コンピュータシステム1700は、処理のために着信通信をメモリ1703内に記憶してもよい。コンピュータシステム1700は、同様に、1つまたはそれを上回るパケットの形態にあり、ネットワークインターフェース1720からネットワーク1730に通信される、発信通信(他のデバイスへの要求または応答等)をメモリ1703内に記憶してもよい。プロセッサ1701は、処理のために、メモリ1703内に記憶されたこれらの通信パケットにアクセスしてもよい。
【0137】
ネットワークインターフェース1720の実施例は、限定ではないが、ネットワークインターフェースカード、モデム、およびそれらの任意の組み合わせを含む。ネットワーク1730またはネットワークセグメント1730の実施例は、限定ではないが、分散型コンピューティングシステム、クラウドコンピューティングシステム、広域ネットワーク(WAN)(例えば、インターネット、企業ネットワーク)、ローカルエリアネットワーク(LAN)(例えば、オフィス、建物、キャンパス、または他の比較的に小さい地理的空間と関連付けられるネットワーク)、電話ネットワーク、2つのコンピューティングデバイスの間の直接接続、ピアツーピアネットワーク、およびそれらの任意の組み合わせを含む。ネットワーク1730等のネットワークが、有線および/または無線通信モードを採用してもよい。一般に、任意のネットワークトポロジが、使用されてもよい。
【0138】
情報およびデータが、ディスプレイ1732を通して表示されることができる。ディスプレイ1732の実施例は、限定ではないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、薄膜トランジスタ液晶ディスプレイ(TFT-LCD)、パッシブマトリクスOLED(PMOLED)またはアクティブマトリクスOLED(AMOLED)ディスプレイ等の有機液晶ディスプレイ(OLED)、プラズマディスプレイ、およびそれらの任意の組み合わせを含む。ディスプレイ1732は、バス1740を介して、プロセッサ1701、メモリ1703、および固定記憶装置1708、および入力デバイス1733等の他のデバイスとインターフェースをとることができる。ディスプレイ1732は、ビデオインターフェース1722を介してバス1740に連結され、ディスプレイ1732とバス1740との間のデータのトランスポートが、グラフィック制御1721を介して制御されることができる。いくつかの実施形態では、ディスプレイは、ビデオプロジェクタである。いくつかの実施形態では、ディスプレイは、VRヘッドセット等の頭部搭載型ディスプレイ(HMD)である。さらなる実施形態では、好適なVRヘッドセットは、非限定的実施例として、HTC Vive(登録商標)、Oculus Rift(登録商標)、Samsung Gear VR(登録商標)、Microsoft HoloLens(登録商標)、Razer OSVR(登録商標)、FOVE VR(登録商標)、Zeiss VR One(登録商標)、Avegant Glyph(登録商標)、Freefly VR(登録商標)ヘッドセット、および同等物を含む。なおもさらなる実施形態では、ディスプレイは、本明細書に開示されるもの等のデバイスの組み合わせである。
【0139】
ディスプレイ1732に加えて、コンピュータシステム1700は、限定ではないが、オーディオスピーカ、プリンタ、記憶デバイス、およびそれらの任意の組み合わせを含む、1つまたはそれを上回る他の周辺出力デバイス1734を含んでもよい。そのような周辺出力デバイスは、出力インターフェース1724を介してバス1740に接続されてもよい。出力インターフェース1724の実施例は、限定ではないが、シリアルポート、パラレル接続、USBポート、FIREWIRE(登録商標)ポート、THUNDERBOLT(登録商標)ポート、およびそれらの任意の組み合わせを含む。
【0140】
加えて、または代替として、コンピュータシステム1700は、ソフトウェアの代わりに、またはそれとともに動作し、本明細書に説明または図示される1つまたはそれを上回るプロセス、または1つまたはそれを上回るプロセスの1つまたはそれを上回るステップを実行し得る、回路内に配線される、または別様に具現化される論理の結果として、機能性を提供してもよい。本開示におけるソフトウェアの言及は、論理を包含し得、論理の言及は、ソフトウェアを包含し得る。また、コンピュータ可読媒体の言及は、適切である場合、実行のためのソフトウェアを記憶する回路(IC等)、実行のための論理を具現化する回路、または両方を包含し得る。本開示は、ハードウェア、ソフトウェア、または両方の任意の好適な組み合わせを包含する。
【0141】
本明細書に開示される実施形態に関連して説明される種々の例証的論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実装されてもよい。ハードウェアおよびソフトウェアの本互換性を明確に例証するために、種々の例証的コンポーネント、ブロック、モジュール、回路、およびステップが、概して、それらの機能性の観点から上記に説明されている。
【0142】
本明細書に開示される実施形態に関連して説明される種々の例証的論理ブロック、モジュール、および回路は、本明細書に説明される機能を実施するように設計される、汎用目的プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、離散ゲートまたはトランジスタ論理、離散ハードウェアコンポーネント、またはそれらの任意の組み合わせを用いて実装または実施されてもよい。汎用目的プロセッサは、マイクロプロセッサであってもよいが、代替では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPおよびマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと併せた1つまたはそれを上回るマイクロプロセッサ、または任意の他のそのような構成の組み合わせとして実装されてもよい。
【0143】
本明細書に開示される実施形態に関連して説明される方法またはアルゴリズムのステップは、ハードウェアにおいて、1つまたはそれを上回るプロセッサによって実行されるソフトウェアモジュールにおいて、または2つの組み合わせにおいて直接具現化されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または任意の他の形態の記憶媒体内に常駐してもよい。例示的記憶媒体が、プロセッサが、記憶媒体から情報を読み取り、それに情報を書き込み得るように、プロセッサに結合される。代替では、記憶媒体は、プロセッサに一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に常駐してもよい。ASICは、ユーザ端末内に常駐してもよい。代替では、プロセッサおよび記憶媒体は、ユーザ端末内に離散コンポーネントとして常駐してもよい。
【0144】
本明細書の説明によると、好適なコンピューティングデバイスは、非限定的実施例として、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、サブノートブックコンピュータ、ネットブックコンピュータ、ネットパッドコンピュータ、セットトップコンピュータ、メディアストリーミングデバイス、ハンドヘルドコンピュータ、インターネットアプライアンス、モバイルスマートフォン、タブレットコンピュータ、携帯情報端末、ビデオゲームコンソール、および車両を含む。随意のコンピュータネットワークコネクティビティを伴うセレクトテレビ、ビデオプレーヤ、およびデジタル音楽プレーヤが、本明細書に説明されるシステムにおける使用のために好適である。好適なタブレットコンピュータは、種々の実施形態では、ブックレット、スレート、および転換可能構成を伴うものを含む。
【0145】
いくつかの実施形態では、コンピューティングデバイスは、実行可能命令を実施するように構成される、オペレーティングシステムを含む。オペレーティングシステムは、例えば、プログラムおよびデータを含むソフトウェアであり、これは、デバイスのハードウェアを管理し、アプリケーションの実行に関するサービスを提供する。好適なサーバオペレーティングシステムは、非限定的実施例として、FreeBSD(登録商標)、OpenBSD(登録商標)、NetBSD(登録商標)、Linux(登録商標)、Apple(登録商標) Mac OS X Server(登録商標)、Oracle Solaris(登録商標)、Windows Server(登録商標)、およびNovell NetWare(登録商標)を含む。好適なパーソナルコンピュータオペレーティングシステムは、非限定的実施例として、Microsoft Windows(登録商標)、Apple Mac(登録商標) OS X、UNIX(登録商標)、およびGNU/Linux(登録商標)等のUNIX(登録商標)のようなオペレーティングシステムを含む。いくつかの実施形態では、オペレーティングシステムは、クラウドコンピューティングによって提供される。好適なモバイルスマートフォンオペレーティングシステムは、非限定的実施例として、Nokia Symbian(登録商標) OS、Apple(登録商標) iOS、Research In Motion BlackBerry(登録商標) OS、Google(登録商標) Android(登録商標)、Microsoft(登録商標) Windows Phone(登録商標) OS、Microsoft(登録商標) Windows Mobile(登録商標) OS、Linux(登録商標)、およびPalm(登録商標) WebOSを含む。好適なメディアストリーミングデバイスオペレーティングシステムは、非限定的実施例として、Apple TV(登録商標)、Roku(登録商標)、Boxee(登録商標)、Google TV(登録商標)、Google Chromecast(登録商標)、Amazon Fire(登録商標)、およびSamsung(登録商標) HomeSync(登録商標)を含む。好適なビデオゲームコンソールオペレーティングシステムは、非限定的実施例として、Sony(登録商標) PS3(登録商標)、Sony(登録商標) PS4(登録商標)、Microsoft(登録商標) Xbox 360(登録商標)、Microsoft Xbox One(登録商標)、Nintendo Wii(登録商標)、Nintendo Wii U(登録商標)、およびOuya(登録商標)を含む。好適な仮想現実ヘッドセットシステムは、非限定的実施例として、Meta Oculus(登録商標)を含む。
非一過性コンピュータ可読記憶媒体
【0146】
いくつかの実施形態では、本明細書に開示されるプラットフォーム、システム、媒体、および方法は、随意にネットワーク化されたコンピューティングデバイスのオペレーティングシステムによって実行可能な命令を含むプログラムを用いてエンコードされる、1つまたはそれを上回る非一過性コンピュータ可読記憶媒体を含む。さらなる実施形態では、コンピュータ可読記憶媒体は、コンピューティングデバイスの有形コンポーネントである。なおもさらなる実施形態では、コンピュータ可読記憶媒体は、随意に、コンピューティングデバイスから可撤性である。いくつかの実施形態では、コンピュータ可読記憶媒体は、非限定的実施例として、CD-ROM、DVD、フラッシュメモリデバイス、ソリッドステートメモリ、磁気ディスクドライブ、磁気テープドライブ、光学ディスクドライブ、クラウドコンピューティングシステムおよびサービスを含む分散型コンピューティングシステム、および同等物を含む。ある場合には、プログラムおよび命令は、恒久的に、実質的に恒久的に、半恒久的に、または非一過性に媒体上にエンコードされる。
コンピュータプログラム
【0147】
いくつかの実施形態では、本明細書に開示されるプラットフォーム、システム、媒体、および方法は、少なくとも1つのコンピュータプログラムまたはそれの使用を含む。コンピュータプログラムは、コンピューティングデバイスのCPUの1つまたはそれを上回るプロセッサによって実行可能であり、規定されたタスクを実施するように記述される、命令のシーケンスを含む。コンピュータ可読命令は、特定のタスクを実施する、または特定の抽象データタイプを実装する、関数、オブジェクト、アプリケーションプログラミングインターフェース(API)、コンピューティングデータ構造、および同等物等のプログラムモジュールとして実装されてもよい。本明細書に提供される開示に照らして、コンピュータプログラムは、種々の言語の種々のバージョンにおいて記述されてもよい。
【0148】
コンピュータ可読命令の機能性は、種々の環境において所望に応じて組み合わせられる、または分散されてもよい。いくつかの実施形態では、コンピュータプログラムは、命令の1つのシーケンスを含む。いくつかの実施形態では、コンピュータプログラムは、命令の複数のシーケンスを含む。いくつかの実施形態では、コンピュータプログラムは、1つの場所から提供される。他の実施形態では、コンピュータプログラムは、複数の場所から提供される。種々の実施形態では、コンピュータプログラムは、1つまたはそれを上回るソフトウェアモジュールを含む。種々の実施形態では、コンピュータプログラムは、部分的または全体的に、1つまたはそれを上回るウェブアプリケーション、1つまたはそれを上回るモバイルアプリケーション、1つまたはそれを上回るスタンドアロンアプリケーション、1つまたはそれを上回るウェブブラウザプラグイン、拡張機能、アドイン、またはアドオン、またはそれらの組み合わせを含む。
ウェブアプリケーション
【0149】
いくつかの実施形態では、コンピュータプログラムは、ウェブアプリケーションを含む。本明細書に提供される開示に照らして、ウェブアプリケーションは、種々の実施形態では、1つまたはそれを上回るソフトウェアフレームワークおよび1つまたはそれを上回るデータベースシステムを利用する。いくつかの実施形態では、ウェブアプリケーションは、Microsoft(登録商標).NETまたはRuby on Rails(登録商標)(RoR)等のソフトウェアフレームワーク上で作成される。いくつかの実施形態では、ウェブアプリケーションは、非限定的実施例として、リレーショナル、非リレーショナル、オブジェクト指向、連想、およびXMLデータベースシステムを含む、1つまたはそれを上回るデータベースシステムを利用する。さらなる実施形態では、好適なリレーショナルデータベースシステムは、非限定的実施例として、Microsoft(登録商標)構造化クエリ言語(SQL)サーバ、mySQLTM、およびOracle(登録商標)を含む。ウェブアプリケーションは、種々の実施形態では、1つまたはそれを上回る言語の1つまたはそれを上回るバージョンにおいて記述される。ウェブアプリケーションは、1つまたはそれを上回るマークアップ言語、プレゼンテーション定義言語、クライアント側スクリプト言語、サーバ側コーディング言語、データベースクエリ言語、またはそれらの組み合わせにおいて記述されてもよい。いくつかの実施形態では、ウェブアプリケーションは、ハイパーテキストマークアップ言語(HTML)、拡張可能ハイパーテキストマークアップ言語(XHTML)、または拡張可能マークアップ言語(XML)等のマークアップ言語においてある程度記述される。いくつかの実施形態では、ウェブアプリケーションは、カスケードスタイルシート(CSS)等のプレゼンテーション定義言語においてある程度記述される。いくつかの実施形態では、ウェブアプリケーションは、Asynchronous Javascript and XML(登録商標)(AJAX)、Flash Actionscript、Javascript(登録商標)、またはSilverlight(登録商標)等のクライアント側スクリプト言語においてある程度記述される。いくつかの実施形態では、ウェブアプリケーションは、Active Server Pages(登録商標)(ASP)、ColdFusion(登録商標)、Perl(登録商標)、Java(登録商標)、JavaServer Pages(登録商標)(JSP)、Hypertext Preprocessor(登録商標)(PHP)、Python(登録商標)、Ruby(登録商標)、Tcl(登録商標)、Smalltalk(登録商標)、WebDNA(登録商標)、またはGroovy(登録商標)等のサーバ側コーディング言語においてある程度記述される。いくつかの実施形態では、ウェブアプリケーションは、構造化クエリ言語(SQL)等のデータベースクエリ言語においてある程度記述される。いくつかの実施形態では、ウェブアプリケーションは、IBM Lotus Domino(登録商標)等の企業サーバ製品を統合する。いくつかの実施形態では、ウェブアプリケーションは、メディアプレーヤ要素を含む。種々のさらなる実施形態では、メディアプレーヤ要素は、非限定的実施例として、Adobe(登録商標) Flash(登録商標)、HTML 5、Apple(登録商標) QuickTime(登録商標)、Microsoft Silverlight(登録商標)、Java(登録商標)、およびUnity(登録商標)を含む、多くの好適なマルチメディア技術のうちの1つまたはそれを上回るものを利用する。
【0150】
図18を参照すると、特定の実施形態では、アプリケーションプロビジョンシステムは、データベース管理システム(DBMS)1810によってアクセスされる、1つまたはそれを上回るデータベース1800を備える。好適なDBMSは、Firebird(登録商標)、MySQL(登録商標)、NoSQL(登録商標)、PostgreSQL(登録商標)、SQLite(登録商標)、Oracle Database(登録商標)、Microsoft SQL Server(登録商標)、IBM DB2(登録商標)、IBM Informix(登録商標)、SAP Sybase(登録商標)、SAP Sybase(登録商標)、Teradata(登録商標)、PostGIS(登録商標)、Apache(登録商標) Hive、Apache(登録商標) Impala、時系列データベース、グラフデータベース、キーバリュー記憶装置、および同等物を含む。本実施形態では、アプリケーションプロビジョンシステムはさらに、1つまたはそれを上回るアプリケーションサーバ1820(Java(登録商標)サーバ、.NET(登録商標)サーバ、PHP(登録商標)サーバ、および同等物等)と、1つまたはそれを上回るウェブサーバ1830(Apache(登録商標)、IIS(登録商標)、GWS(登録商標)、および同等物等)とを備える。ウェブサーバは、随意に、アプリアプリケーションプログラミングインターフェース(API)1840を介して1つまたはそれを上回るウェブサービスを公開する。インターネット等のネットワークを介して、本システムは、ブラウザベースおよび/またはモバイルネイティブユーザインターフェースを提供する。ある場合には、DBMSは、リレーショナルDBMSであってもよい。
【0151】
図19を参照すると、特定の実施形態では、アプリケーションプロビジョンシステムは、代替として、分散型クラウドベースのアーキテクチャ1900を有し、弾力的に負荷分散される、オートスケーリングウェブサーバリソース1910およびアプリケーションサーバリソース1920、および同期的に複製されるデータベース1930を備える。
モバイルアプリケーション
【0152】
いくつかの実施形態では、コンピュータプログラムは、モバイルコンピューティングデバイスに提供される、モバイルアプリケーションを含む。いくつかの実施形態では、モバイルアプリケーションは、これが製造される時点でモバイルコンピューティングデバイスに提供される。他の実施形態では、モバイルアプリケーションは、本明細書に説明されるコンピュータネットワークを介してモバイルコンピューティングデバイスに提供される。
【0153】
本明細書に提供される開示を考慮して、モバイルアプリケーションは、ハードウェア、言語、および開発環境を使用する技法によって作成される。モバイルアプリケーションは、いくつかの言語において記述される。好適なプログラミング言語は、非限定的実施例として、C、C++、C#、Objective-C、Java(登録商標)、Javascript(登録商標)、Pascal(登録商標)、Object Pascal(登録商標)、PythonTM、Ruby(登録商標)、VB.NET(登録商標)、WML(登録商標)、およびCSSの有無を問わないXHTML/HTML、またはそれらの組み合わせを含む。
【0154】
好適なモバイルアプリケーション開発環境は、いくつかのソースから入手可能である。商業的に入手可能な開発環境は、非限定的実施例として、AirplaySDK(登録商標)、alcheMo(登録商標)、Appcelerator(登録商標)、Celsius(登録商標)、Bedrock(登録商標)、Flash Lite(登録商標)、.NET Compact Framework(登録商標)、Rhomobile(登録商標)、およびWorkLight Mobile Platform(登録商標)を含む。非限定的実施例として、Lazarus(登録商標)、MobiFlex(登録商標)、MoSync(登録商標)、およびPhonegap(登録商標)を含む、他の開発環境も、費用を伴わずに入手可能である。また、モバイルデバイス製造業者は、非限定的実施例として、iPhone(登録商標)およびiPad(登録商標)(iOS)SDK、Android(登録商標) SDK、BlackBerry(登録商標) SDK、BREW SDK、Palm(登録商標) OS SDK、Symbian(登録商標) SDK、webOS(登録商標) SDK、およびWindows(登録商標) Mobile SDKを含む、ソフトウェア開発者キットを配布している。
【0155】
非限定的実施例として、Apple(登録商標) App Store、Google(登録商標) Play、Chrome(登録商標) WebStore、BlackBerry(登録商標) App World、PalmデバイスのためのApp Store(登録商標)、webOSのためのApp Catalog(登録商標)、モバイルのためのWindows(登録商標) Marketplace、Nokia(登録商標)デバイスのためのOvi Store、Samsung(登録商標) Apps、およびNintendo(登録商標) DSi Shopを含む、いくつかの商業的ソースが、モバイルアプリケーションの配布のために利用可能である。
スタンドアロンアプリケーション
【0156】
いくつかの実施形態では、コンピュータプログラムは、既存のプロセスへのアドオンではなく、例えば、プラグインではない、独立したコンピュータプロセスとして実行されるプログラムである、スタンドアロンアプリケーションを含む。スタンドアロンアプリケーションは、多くの場合、コンパイルされる。コンパイラは、プログラミング言語において記述されたソースコードをアセンブリ言語またはマシンコード等のバイナリオブジェクトコードに変換する、コンピュータプログラムである。好適なコンパイル済みプログラミング言語は、非限定的実施例として、C、C++、Objective-C(登録商標)、COBOL(登録商標)、Delphi(登録商標)、Eiffel(登録商標)、Java(登録商標)、Lisp(登録商標)、Python(登録商標)、Visual Basic(登録商標)、およびVB .NET(登録商標)、またはそれらの組み合わせを含む。コンパイルは、多くの場合、少なくとも部分的に、実行可能プログラムを作成するために実施される。いくつかの実施形態では、コンピュータプログラムは、1つまたはそれを上回る実行可能コンパイル済みアプリケーションを含む。加えて、Python(登録商標)およびJavaScript(登録商標)に関連するマイクロサービスが、使用されてもよい。
ウェブブラウザプラグイン
【0157】
いくつかの実施形態では、コンピュータプログラムは、ウェブブラウザプラグイン(例えば、ウェブ拡張機能等)を含む。コンピューティングにおいて、プラグインは、具体的機能性をより大きいソフトウェアアプリケーションに追加する、1つまたはそれを上回るソフトウェアコンポーネントである。ソフトウェアアプリケーションのメーカは、サードパーティの開発者がアプリケーションを拡張する能力を作成することを可能にし、新しい特徴を容易に追加することをサポートし、アプリケーションのサイズを低減させるために、プラグインをサポートする。サポートされると、プラグインは、ソフトウェアアプリケーションの機能性をカスタマイズすることを可能にする。例えば、プラグインは、ビデオを再生し、相互作用性を発生させ、ウイルスをスキャンし、特定のファイルタイプを表示するために、ウェブブラウザにおいて一般的に使用される。いくつかのウェブブラウザプラグインは、Adobe Flash Player(登録商標)、Microsoft Silverlight(登録商標)、およびApple QuickTime(登録商標)を含んでもよい。いくつかの実施形態では、ツールバーは、1つまたはそれを上回るウェブブラウザ拡張機能、アドイン、またはアドオンを備える。いくつかの実施形態では、ツールバーは、1つまたはそれを上回るエクスプローラバー、ツールバンド、またはデスクバンドを備える。
【0158】
本明細書に提供される開示を考慮して、非限定的実施例として、C++、Delphi(登録商標)、Java(登録商標)、PHP(登録商標)、Python(登録商標)、およびVB .NET(登録商標)、またはそれらの組み合わせを含む、種々のプログラミング言語におけるプラグインの開発を可能にする、いくつかのプラグインフレームワークが、入手可能である。
【0159】
ウェブブラウザ(インターネットブラウザとも呼ばれる)は、ワールドワイドウェブ上の情報リソースを読み出し、提示し、横断するために、ネットワーク接続コンピューティングデバイスとの併用のために設計された、ソフトウェアアプリケーションである。好適なウェブブラウザは、非限定的実施例として、Microsoft Internet Explorer(登録商標)、Mozilla Firefox(登録商標)、Google Chrome(登録商標)、Apple Safari(登録商標)、Opera Software Opera(登録商標)、およびKDE Konqueror(登録商標)を含む。いくつかの実施形態では、ウェブブラウザは、モバイルウェブブラウザである。モバイルウェブブラウザ(マイクロブラウザ、ミニブラウザ、および無線ブラウザとも呼ばれる)は、非限定的実施例として、ハンドヘルドコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、サブノードブックコンピュータ、スマートフォン、音楽プレーヤ、携帯情報端末(PDA)、およびハンドヘルドビデオゲームシステムを含む、モバイルコンピューティングデバイス上での使用のために設計される。好適なモバイルウェブブラウザは、非限定的実施例として、Google Android(登録商標)ブラウザ、RIM BlackBerry(登録商標)ブラウザ、Apple Safari(登録商標)、Palm Blazer(登録商標)、Palm WebOS(登録商標)ブラウザ、モバイルのためのMozilla Firefox(登録商標)、Microsoft Internet Explorer Mobile(登録商標)、Amazon Kindle Basic Web(登録商標)、Nokia Browser(登録商標)、Opera Software Opera Mobile(登録商標)、およびSony PSP(登録商標)ブラウザを含む。
ソフトウェアモジュール
【0160】
いくつかの実施形態では、本明細書に開示されるプラットフォーム、システム、媒体、および方法は、ソフトウェア、サーバ、および/またはデータベースモジュール、またはそれの使用を含む。本明細書に提供される開示を考慮して、ソフトウェアモジュールは、機械、ソフトウェア、および言語を使用する技法によって作成される。本明細書に開示されるソフトウェアモジュールは、多数の方法で実装される。種々の実施形態では、ソフトウェアモジュールは、ファイル、コードのセクション、プログラミングオブジェクト、プログラミング構造、またはそれらの組み合わせを備える。さらなる種々の実施形態では、ソフトウェアモジュールは、複数のファイル、複数のコードのセクション、複数のプログラミングオブジェクト、複数のプログラミング構造、またはそれらの組み合わせを備える。種々の実施形態では、1つまたはそれを上回るソフトウェアモジュールは、非限定的実施例として、ウェブアプリケーション、モバイルアプリケーション、およびスタンドアロンアプリケーションを備える。いくつかの実施形態では、ソフトウェアモジュールは、1つのコンピュータプログラムまたはアプリケーション内にある。他の実施形態では、ソフトウェアモジュールは、1つを上回るコンピュータプログラムまたはアプリケーション内にある。いくつかの実施形態では、ソフトウェアモジュールは、1つの機械上でホストされる。他の実施形態では、ソフトウェアモジュールは、1つを上回る機械上でホストされる。さらなる実施形態では、ソフトウェアモジュールは、クラウドコンピューティングプラットフォーム等の分散型コンピューティングプラットフォーム上でホストされる。いくつかの実施形態では、ソフトウェアモジュールは、1つの場所における1つまたはそれを上回る機械上でホストされる。他の実施形態では、ソフトウェアモジュールは、1つを上回る場所における1つまたはそれを上回る機械上でホストされる。
データベース
【0161】
いくつかの実施形態では、本明細書に開示されるプラットフォーム、システム、媒体、および方法は、1つまたはそれを上回るデータベース(DB)またはそれの使用を含む。本明細書に提供される開示を考慮して、多くのデータベースが、データの記憶および読出のために好適である。種々の実施形態では、好適なデータベースは、非限定的実施例として、リレーショナルデータベース、非リレーショナルデータベース、オブジェクト指向データベース、オブジェクトデータベース、エンティティ関係モデルデータベース、連想データベース、XMLデータベース、時系列データベース、グラフデータベース、および同等物を含む。さらなる非限定的実施例は、SQL、PostgreSQL(登録商標)、MySQL(登録商標)、Oracle(登録商標)、DB2(登録商標)、およびSybaseを含む。いくつかの実施形態では、データベースは、インターネットベースである。さらなる実施形態では、データベースは、ウェブベースである。なおもさらなる実施形態では、データベースは、クラウドコンピューティングベースである。特定の実施形態では、データベースは、分散型データベースである。他の実施形態では、データベースは、1つまたはそれを上回るローカルコンピュータ記憶デバイスに基づく。
用語および定義
【0162】
別様に定義されない限り、本明細書で使用される全ての技術用語は、本開示が属する技術分野の当業者によって一般的に理解されるものと同一の意味を有する。
【0163】
本明細書で使用されるように、単数形「a」、「an」、および「the」は、文脈が明確に別様に決定付けない限り、複数の指示物を含む。本明細書における「または」のいかなる言及も、別様に記載されない限り、「および/または」を包含することを意図している。
【0164】
本明細書で使用されるように、用語「約」は、ある場合には、おおよそで記載される量である、量を指す。
【0165】
本明細書で使用されるように、用語「約」は、記載される量に10%、5%、または1%(その中に増分を含む)近接する量を指す。
【0166】
本明細書で使用されるように、パーセンテージに関連する用語「約」は、記載されるパーセンテージよりも10%、5%、または1%(その中に増分を含む)多い量または少ない量を指す。
【0167】
本明細書で使用されるように、語句「少なくとも1つ」、「1つまたはそれを上回る」、および「および/または」は、動作において接続的および離接的の両方である、非制約的表現である。例えば、表現「A、B、およびCのうちの少なくとも1つ」、「A、B、またはCのうちの少なくとも1つ」、「A、B、およびCのうちの1つまたはそれを上回るもの」、「A、B、またはCのうちの1つまたはそれを上回るもの」、および「A、B、および/またはC」はそれぞれ、Aを単独で、Bを単独で、Cを単独で、AおよびBをともに、AおよびCをともに、BおよびCをともに、またはA、B、およびCをともに、を意味する。
【0168】
本開示の好ましい実施形態が、本明細書に示され、説明されているが、そのような実施形態は、実施例としてのみ提供される。本開示が、本明細書内に提供される具体的実施例によって限定されることを意図していない。本開示は、前述の明細書を参照して説明されているが、本明細書の実施形態の説明および例証は、限定的意味で解釈されることを意味しない。多数の変形例、変更、および代用が、本開示から逸脱することなく、生じ得る。さらに、本開示の全ての側面が、様々な条件および変数に依存する、本明細書に記載される具体的描写、構成、または相対的割合に限定されないことを理解されたい。本明細書に説明される開示の実施形態の種々の代替が、本開示を実践する際に採用され得ることを理解されたい。したがって、本開示がまた、任意のそのような代替、修正、変形例、または均等物を網羅するものとすることが想定される。以下の請求項が、本開示の範囲を定義し、これらの請求項の範囲内の方法および構造およびそれらの均等物が、それによって網羅されることを意図している。
図1
図2
図3
図4A
図4B
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図11D
図12
図13A
図13B
図13C
図14A
図14B
図14C
図14D
図15
図16
図17
図18
図19
【外国語明細書】