(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-08
(45)【発行日】2022-09-16
(54)【発明の名称】半導体ダイのオフセット補償ばらつき
(51)【国際特許分類】
H01L 21/68 20060101AFI20220909BHJP
H01L 21/67 20060101ALI20220909BHJP
【FI】
H01L21/68 G
H01L21/68 E
(21)【出願番号】P 2018560992
(86)(22)【出願日】2017-06-02
(86)【国際出願番号】 US2017035714
(87)【国際公開番号】W WO2017210576
(87)【国際公開日】2017-12-07
【審査請求日】2020-05-21
(32)【優先日】2016-06-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】598031475
【氏名又は名称】ユニバーサル インスツルメンツ コーポレーション
【氏名又は名称原語表記】UNIVERSAL INSTRUMENTS CORPORATION
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】クーツ チャールズ アンドリュー
(72)【発明者】
【氏名】ピチュラ ジョン ジョセフ
(72)【発明者】
【氏名】ファクトウロヴィッチ マキシム
【審査官】杢 哲次
(56)【参考文献】
【文献】特開2000-243763(JP,A)
【文献】米国特許出願公開第2009/0279989(US,A1)
【文献】米国特許出願公開第2008/0188016(US,A1)
【文献】米国特許第08798966(US,B1)
【文献】米国特許出願公開第2004/0258514(US,A1)
【文献】特開2014-036060(JP,A)
【文献】特開2005-164522(JP,A)
【文献】特開2007-311580(JP,A)
【文献】特開2016-036040(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/68
H01L 21/67
(57)【特許請求の範囲】
【請求項1】
自動化された半導体デバイス配置改善方法であって、
前の複数の処理用半導体ウェーハ上の前の複数の半導体ダイの第1の配置からのオフセットについての前の複数のシフト測定を、ピックアンドプレース装置のプロセッサによって、自動的に実行するステップと、
前記前の複数のシフト測定の前の複数のシフト測定値を、前記プロセッサによって、回収するステップと、
前記前の複数のシフト測定値を、前記プロセッサによってデータベース中に、記憶するステップと、
前記前の複数のシフト測定値を記憶した後に、処理用半導体ウェーハ上の複数の半導体ダイの第2の配置からのオフセットについてのシフト測定を、前記ピックアンドプレース装置の前記プロセッサによって、自動的に実行するステップと、
前記シフト測定のシフト測定値を、前記プロセッサによって、回収するステップと、
前記シフト測定値を、前記プロセッサによってデータベース中に、記憶するステップと、
指定されたモデルを前記シフト測定値および回収された前記前の複数のシフト測定値に関して、前記プロセッサによって、実行するステップと、
新しい処理用半導体ウェーハ上の新しい複数の半導体ダイについて第2のオフセットの予測されるシフト測定値を、前記プロセッサによって前記実行するステップの結果に基づいて、決定するステップと、
前記予測されるシフト測定値に従って、前記ピックアンドプレース装置の配置ハードウェアを、前記新しい半導体ウェーハ上の前記新しい複数の半導体ダイを処理する複数の個所に、前記プロセッサによって、自動的に配置するステップと、
を備える、方法。
【請求項2】
前記指定されたモデルは、数学的モデルを備える、請求項1に記載の方法。
【請求項3】
前記数学的モデルは、多項式モデル、超越関数モデル、区分的モデル、および手入力モデルからなる群から選択された1次元モデルを備え、前記手入力モデルは、オフセット、曲線、ブレンディング、またはシフティング、のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
前記数学的モデルは、多変数多項式モデル、薄板スプラインモデル、および手入力モデルからなる群から選択された多次元モデルを備え、前記手入力モデルは、オフセット、曲線、ブレンディング、またはシフティング、のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項5】
前記プロセッサによって、前記予測されるシフト測定値に従って、前記ピックアンドプレース装置の配置ハードウェアを、前記新しい半導体ウェーハ上の前記新しい複数の半導体ダイを処理する複数の個所に、前記配置ハードウェアを実行する前記プロセッサによって前記自動的に配置するステップに応答して、前記予測されるシフト測定値に従って、前記新しい半導体ウェーハ内に前記新しい複数の半導体ダイを、
生成するステップ、
をさらに備える、請求項1に記載の方法。
【請求項6】
前記予測されるシフト測定値に従って、前記新しい半導体ウェーハを複数の新しい個所で、前記プロセッサによって、自動的にシフトさせるステップ、
をさらに備える、請求項1に記載の方法。
【請求項7】
前記予測されるシフト測定値に従って、前記新しい半導体ウェーハ上の前記新しい複数の半導体ダイの仮想イメージを、前記プロセッサによってグラフィカルユーザインターフェース(GUI)を介して、提示するステップ、
をさらに備え、前記グラフィカルユーザインターフェースは、前記仮想イメージを予め設定することに特化している、請求項1に記載の方法。
【請求項8】
コンピュータ可読プログラムコードを記憶するコンピュータ可読ハードウェア記憶デバイスを備える、コンピュータプログラム製品であって、前記コンピュータ可読プログラムコードは、ピックアンドプレース装置のプロセッサによって実行されたときに、自動化された半導体デバイス配置改善方法を実施するアルゴリズムを含み、前記方法は、
前の複数の処理用半導体ウェーハ上の前の複数の半導体ダイの第1の配置からのオフセットについての前の複数のシフト測定を、前記ピックアンドプレース装置の前記プロセッサによって、自動的に実行するステップと、
前記前の複数のシフト測定の前の複数のシフト測定値を、前記プロセッサによって、回収するステップと、
前記前の複数のシフト測定値を、前記プロセッサによってデータベース中に、記憶するステップと、
前記前の複数のシフト測定値を記憶した後に、処理用半導体ウェーハ上の複数の半導体ダイの第2の配置からのオフセットについてのシフト測定を、前記プロセッサによって、自動的に実行するステップと、
前記シフト測定のシフト測定値を、前記プロセッサによって、回収するステップと、
前記シフト測定値を、前記プロセッサによってデータベース中に、記憶するステップと、
指定されたモデルを前記シフト測定値および回収された前記前の複数のシフト測定値に関して、前記プロセッサによって、実行するステップと、
新しい処理用半導体ウェーハ上の新しい複数の半導体ダイについて第2のオフセットの予測されるシフト測定値を、前記プロセッサによって前記実行するステップの結果に基づいて、決定するステップと、
前記予測されるシフト測定値に従って、前記ピックアンドプレース装置の配置ハードウェアを、前記新しい半導体ウェーハ上の前記新しい複数の半導体ダイを処理する複数の個所に、前記プロセッサによって、自動的に配置するステップと、
を備える、コンピュータプログラム製品。
【請求項9】
前記指定されたモデルは、数学的モデルを備える、請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記数学的モデルは、多項式モデル、超越関数モデル、区分的モデル、および手入力モデルからなる群から選択された1次元モデルを備え、前記手入力モデルは、オフセット、曲線、ブレンディング、またはシフティング、のうちの少なくとも1つを含む、請求項9に記載のコンピュータプログラム製品。
【請求項11】
前記数学的モデルは、多変数多項式モデル、TPSモデル、および手入力モデルからなる群から選択された多次元モデルを備え、前記手入力モデルは、オフセット、曲線、ブレンディング、またはシフティング、のうちの少なくとも1つを含む、請求項9に記載のコンピュータプログラム製品。
【請求項12】
前記方法は、
前記プロセッサによって、前記予測されるシフト測定値に従って、前記ピックアンドプレース装置の配置ハードウェアを、前記新しい半導体ウェーハ上の前記新しい複数の半導体ダイを処理する複数の個所に、前記配置ハードウェアを実行する前記プロセッサによって前記自動的に配置するステップに応答して、前記予測されるシフト測定値に従って、前記新しい半導体ウェーハ内に前記新しい複数の半導体ダイを、
生成するステップ、
をさらに備える、請求項8に記載のコンピュータプログラム製品。
【請求項13】
前記方法は、
前記予測されるシフト測定値に従って、前記新しい半導体ウェーハを複数の新しい個所で、前記プロセッサによって、自動的にシフトさせるステップ、
をさらに備える、請求項8に記載のコンピュータプログラム製品。
【請求項14】
前記方法は、
前記予測されるシフト測定値に従って、前記新しい半導体ウェーハ上の前記新しい複数の半導体ダイの仮想イメージを、前記プロセッサによってグラフィカルユーザインターフェース(GUI)を介して、提示するステップ、
をさらに備え、前記グラフィカルユーザインターフェースは、前記仮想イメージを予め設定することに特化している、請求項8に記載のコンピュータプログラム製品。
【請求項15】
コンピュータ可読メモリユニットに結合されたプロセッサを備えるピックアンドプレース装置であって、前記メモリユニットは
、命令を備え、
前記プロセッサは、自動化された半導体デバイス配置改善方法
が実施
されるように、命令を実行するように構成され、前記自動化された半導体デバイス配置改善方法は、
前の複数の処理用半導体ウェーハ上の前の複数の半導体ダイの第1の配置からのオフセットについての前の複数のシフト測定を、前記プロセッサによって、自動的に実行するステップと、
前記前の複数のシフト測定の前の複数のシフト測定値を、前記プロセッサによって、回収するステップと、
前記前の複数のシフト測定値を、前記プロセッサによってデータベース中に、記憶するステップと、
前記前の複数のシフト測定値を記憶した後に、処理用半導体ウェーハ上の複数の半導体
ダイの第2の配置からのオフセットについてのシフト測定を、前記プロセッサによって、
自動的に実行するステップと、
前記シフト測定のシフト測定値を、前記プロセッサによって、回収するステップと、
前記シフト測定値を、前記プロセッサによってデータベース中に、記憶するステップと、
指定されたモデルを前記シフト測定値および回収された前記前の複数のシフト測定値に関して、前記プロセッサによって、実行するステップと、
新しい処理用半導体ウェーハ上の新しい複数の半導体ダイについて第2のオフセットの予測されるシフト測定値を、前記プロセッサによって前記実行するステップの結果に基づいて、決定するステップと、
前記予測されるシフト測定値に従って、前記ピックアンドプレース装置の配置ハードウェアを、前記新しい半導体ウェーハ上の前記新しい複数の半導体ダイを処理する複数の個所に、前記プロセッサによって、自動的に配置するステップと、
を備える、ピックアンドプレース装置。
【請求項16】
前記指定されたモデルは、数学的モデルを備える、請求項15に記載のピックアンドプレース装置。
【請求項17】
前記数学的モデルは、多項式モデル、超越関数モデル、区分的モデル、および手入力モデルからなる群から選択された1次元モデルを備え、前記手入力モデルは、オフセット、曲線、ブレンディング、またはシフティング、のうちの少なくとも1つを含む、請求項16に記載のピックアンドプレース装置。
【請求項18】
前記数学的モデルは、多変数多項式モデル、薄板スプラインモデル、および手入力モデルからなる群から選択された多次元モデルを備え、前記手入力モデルは、オフセット、曲線、ブレンディング、またはシフティング、のうちの少なくとも1つを含む、請求項16に記載のピックアンドプレース装置。
【請求項19】
前記方法は、
前記プロセッサによって、前記予測されるシフト測定値に従って、前記ピックアンドプレース装置の配置ハードウェアを、前記新しい半導体ウェーハ上の前記新しい複数の半導体ダイを処理する複数の個所に、前記配置ハードウェアを実行する前記プロセッサによって前記自動的に配置するステップに応答して、前記予測されるシフト測定値に従って、前記新しい半導体ウェーハ内に前記新しい複数の半導体ダイを、
生成するステップ、
をさらに備える、請求項15に記載のピックアンドプレース装置。
【請求項20】
前記方法は、
前記予測されるシフト測定値に従って、前記新しい半導体ウェーハを複数の新しい個所で、前記プロセッサによって、自動的にシフトさせるステップ、
をさらに備える、請求項15に記載のピックアンドプレース装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、集積回路に関し、より具体的には、ダイ配置におけるストカスティックに駆動されたシフトを補償すべく集積回路の半導体材料のダイの配置を数学的にモデリングし、予測して、調整するためのシステム、方法およびツールに関する。
【背景技術】
【0002】
集積回路パッケージを大量生産するための最新の工業プロセスは、半導体ダイをウェーハのようなパターンに配列させるステップと、次に電子アセンブリの後の方の段階でのその後の使用のために液化形態のモールド樹脂を用いて幾千ものパッケージを同時に作り出すステップとをしばしば含む。これらの集積回路製造プロセスは、非常に正確なダイ配置要件に依存するであろう。しかしながら、現在利用可能な技術を用いてかかるレベルの精度を達成しえないことがある。本質的に、現在のプロセスは、ダイ配置におけるストカスティックに駆動されたシフトを生じやすく、これらのシフトがダイのミスアラインメント、および結果として、集積回路製品における欠陥率の増加につながりかねない。
【0003】
現在利用可能な補償方法は、限られている。これらの方法は、ダイの名目上の位置からのダイの平均オフセットを算出するか、または異なるウェーハ領域における変位のばらつきを補正することを試みるために線形回帰を用いるかのいずれかに限られる。いくつかのケースでは、所望の値を製品調整リスト中に挿入することによってダイまたはウェーハに対する調整が手作業で行われる。
【0004】
これまでの技術の限界のうちのいくつかは、基板形状の特殊性、モールド堆積に起因する局所的なばらつき、接着剤の厚さ、ダイ形状およびサイズにおけるばらつきを抑制しない局所的な調整の欠如、ならびに多くの他の原因を含みうる。これまでのモデルおよび技術の限界は、逆流効果が生じうるウェーハのエッジ近くで、異なる配置モジュール(すなわち、ハンドおよび/またはスピンドル)間のばらつきに起因して不良を生じやすく、現在の調整方法およびシステムは、複数のモデルの発生および重ね合わせを必要とすることがあり、そのことにより追加の誤差が生じた。
【0005】
したがって、ダイ・オフセットばらつきを補償するために改善されたシステム、方法、およびツールが当分野では好評を得るであろう。
【発明の概要】
【課題を解決するための手段】
【0006】
本発明の第1の態様は、自動化された半導体デバイス配置改善方法を提供し、この方法は、処理用半導体ウェーハの複数の半導体ダイの元の配置からのオフセットと関連するシフト測定を、ピックアンドプレース装置のプロセッサによって、自動的に実行するステップと、シフト測定と関連するシフト測定値を、プロセッサによって、回収するステップと、シフト測定値を、プロセッサによってデータベース中に、記憶するステップであって、データベースは、前の複数の処理用半導体ウェーハの前の複数の半導体ダイについて、元の配置からのオフセットについて前に測定されたシフト測定と関連する複数の前に回収されたシフト測定値を備える、記憶するステップと、指定されたモデルをシフト測定値および複数の前に回収されたシフト測定値に関して、プロセッサによって、実行するステップと、新しい処理用半導体ウェーハ上の新しい複数の半導体ダイについて将来のオフセットと関連する予測されるシフト測定値を、プロセッサによって実行するステップの結果に基づいて、決定するステップと、予測されるシフト測定値に従って、新しい半導体ウェーハ上に新しい複数の半導体ダイを発生させるためにピックアンドプレース装置の配置ハードウェアを複数の個所に、プロセッサによって、自動的に配置するステップとを備える。
【0007】
本発明の第2の態様は、コンピュータ可読プログラムコードを記憶するコンピュータ可読ハードウェア記憶デバイスを備える、コンピュータプログラム製品を提供し、コンピュータ可読プログラムコードは、ピックアンドプレース装置のプロセッサによって実行されたときに、自動化された半導体デバイス配置改善方法を実施するアルゴリズムを含み、この方法は、処理用半導体ウェーハの複数の半導体ダイの元の配置からのオフセットと関連するシフト測定を、プロセッサによって、自動的に実行するステップと、シフト測定と関連するシフト測定値を、プロセッサによって、回収するステップと、シフト測定値を、プロセッサによってデータベース中に、記憶するステップであって、データベースは、前の複数の処理用半導体ウェーハの前の複数の半導体ダイについて、元の配置からのオフセットについて前に測定されたシフト測定と関連する複数の前に回収されたシフト測定値を備える、記憶するステップと、指定されたモデルをシフト測定値および複数の前に回収されたシフト測定値に関して、プロセッサによって、実行するステップと、新しい処理用半導体ウェーハ上の新しい複数の半導体ダイについて将来のオフセットと関連する予測されるシフト測定値を、プロセッサによって実行するステップの結果に基づいて、決定するステップと、予測されるシフト測定値に従って、新しい半導体ウェーハ上に新しい複数の半導体ダイを発生させるためにピックアンドプレース装置の配置ハードウェアを複数の個所に、プロセッサによって、自動的に配置するステップとを備える。
【0008】
本発明の第3の態様は、コンピュータ可読メモリユニットに結合されたプロセッサを備えるピックアンドプレース装置を提供し、メモリユニットは、コンピュータプロセッサによって実行されたときに、自動化された半導体デバイス配置改善方法を実施する命令を備え、この方法は、処理用半導体ウェーハの複数の半導体ダイの元の配置からのオフセットと関連するシフト測定を、プロセッサによって、自動的に実行するステップと、シフト測定と関連するシフト測定値を、プロセッサによって、回収するステップと、シフト測定値を、プロセッサによってデータベース中に、記憶するステップであって、データベースは、前の複数の処理用半導体ウェーハの前の複数の半導体ダイについて、元の配置からのオフセットについて前に測定されたシフト測定と関連する複数の前に回収されたシフト測定値を備える、記憶するステップと、指定されたモデルをシフト測定値および複数の前に回収されたシフト測定値に関して、プロセッサによって、実行するステップと、新しい処理用半導体ウェーハ上の新しい複数の半導体ダイについて将来のオフセットと関連する予測されるシフト測定値を、プロセッサによって実行するステップの結果に基づいて、決定するステップと、予測されるシフト測定値に従って、新しい半導体ウェーハ上に新しい複数の半導体ダイを発生させるためにピックアンドプレース装置の配置ハードウェアを複数の個所に、プロセッサによって、自動的に配置するステップとを備える。
【0009】
本発明は、有利なことに、集積回路パッケージを大量生産することが可能な簡易な方法および関連するシステムを提供する。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態による、ダイ配置におけるストカスティックに駆動されたシフトを補償すべく集積回路の半導体材料のダイの配置を数学的にモデリングし、予測して、調整することによって半導体作製プロセスを改善するためのシステムを示す。
【
図2】本発明の実施形態による、双三次スプラインを実行すべく
図1のシステムによって実行された区分的スプライン曲線と関連する非正規化のケースを示す。
【
図3】本発明の実施形態による、半導体作製プロセスを改善するための
図1のシステムによって実行された区分的ベジェ曲線を示す。
【
図4】本発明の実施形態による、半導体作製プロセスを改善するための
図1のシステムによって実行された区分的ベジェ曲線を表すグラフを示す。
【
図5】本発明の実施形態による、半導体作製プロセスを改善するための
図1のシステムによって実行された薄板スプライン(TPS:Thin-Plate Splineモデルを示す。
【
図6】本発明の実施形態による、TPSフィッティングモデルと関連するウェーハを示す。
【
図7】本発明の実施形態による、X軸およびY軸と関連するウェーハを示す。
【
図8】本発明の実施形態による、
図7のウェーハに関するX軸残差と関連するシミュレーションを表すグラフを示す。
【
図9】本発明の実施形態による、
図7のウェーハに関するY軸残差と関連するシミュレーションを表すグラフを示す。
【
図10】本発明の実施形態による、TPS射影と関連するウェーハを示す。ウェーハ1000は、ダイ製品の変位と関連する射影を示す。
【
図11】本発明の実施形態による、グラフィカルユーザインターフェース(GUI)を示す。
【
図12】本発明の実施形態による、代わりのGUIを示す。
【
図13】本発明の実施形態による、ウェーハ表現を示す。
【
図14】本発明の実施形態による、代わりのウェーハ表現を示す。
【
図15】本発明の実施形態による、追加のウェーハ表現を示す。
【
図18】本発明の実施形態による、ダイ配置におけるストカスティックに駆動されたシフトを補償すべく集積回路の半導体材料のダイの配置を数学的にモデリングし、予測して、調整することによって半導体作製プロセスを改善するための
図1のシステムによって作動されるプロセスフローを詳述するアルゴリズムを示す。
【
図19】本発明の実施形態による、数学的モデルを用いてダイ配置におけるシフトを補償する方法を実施するためのシステムの一部として含まれうるコンピュータシステムのブロック図を示す。
【発明を実施するための形態】
【0011】
図1は、本発明の実施形態による、ダイ配置におけるストカスティックに駆動されたシフトを補償すべく集積回路の半導体材料のダイの配置を数学的にモデリングし、予測して、調整することによって半導体作製プロセスを改善するためのシステム100を示す。システム100は、特定の半導体製造運転に基づく複数の過去の入力に対して最もよくフィットするダイ配置プロセスを発生させるために、いくつかの組み合わせアルゴリズム(例えば、多項式フィッティングアルゴリズム、超越関数(transcendental)フィッティングアルゴリズム、三角関数(trigonometric)フィッティングアルゴリズム、区分的(piecewise)フィッティングアルゴリズム、単一または多変数フィッティングアルゴリズムなど)を実行する(特殊なソフトウェアコードを備える)複数のフィッティングソフウェア・アプリケーションを組み合せるように作動される。システム100は、ダイ配置プロセスが任意のサイズの形状のチップキャリアに関して行われることを許容する。加えて、システム100は、スピンドル間のオフセット差を考慮するために(ピックアンドプレース・マシンの)複数のスピンドルを調整するためのプロセスを可能にする。
【0012】
開示されるシステム、方法およびツールの以下に記載される実施形態の説明は、例示として提示され、図面または提供される図に関する制限はない。
【0013】
図1のシステム100は、ネットワーク7を通じてデータベース・システム21へ接続された(半導体)ピックアンドプレース装置104を含む。ピックアンドプレース装置104は、半導体ウェーハ配置のためのコントローラ14、配置ハードウェア19(例えば、ロボットアーム)、およびスピンドル・アセンブリ23を備える。コントローラ14は、制御回路素子/ロジック12およびメモリシステム8を備える。メモリシステム8は、発生させたソフトウェアコード17を備える。ピックアンドプレース装置104は、組み込み型デバイスを備えてよい。組み込み型デバイスは、本明細書では、特殊な機能を実行するために特に設計されたコンピュータハードウェアおよびソフトウェア(機能固定型またはプログラマブル)の組み合わせを備える専用デバイスまたはコンピュータとして定義される。プログラマブルな組み込み型コンピュータまたはデバイスは、特殊なプログラミングインターフェースを備えてよい。一実施形態において、ピックアンドプレース装置104は、
図1~19に関して記載されるプロセスを(独立してまたは組み合わせて)実行するために特殊な(非汎用)ハードウェアおよび回路素子(すなわち、特殊な個別非汎用アナログ、デジタル、およびロジックベース回路素子)を備える特殊なハードウェアデバイスを備えてよい。特殊な個別非汎用アナログ、デジタル、およびロジックベース回路素子(例えば、回路素子/ロジック15など)は、ダイ配置におけるストカスティックに駆動されたシフトを補償すべく集積回路の半導体材料のダイの配置を数学的にモデリングし、予測して、調整することによって半導体作製プロセスを改善するための自動化されたプロセスを専ら実施するために設計された、特許で保護され、特別に設計されたコンポーネント(例えば、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)などの、例えば、特殊な集積回路)を含んでよい。メモリシステム8は、単一のメモリシステムを含んでよい。代わりに、メモリシステム8は、複数のメモリシステムを含んでもよい。ネットワーク7は、とりわけ、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、インターネット、ワイヤレスネットワークなどを含めて、任意のタイプのネットワークを含んでよい。
【0014】
本開示の実施形態は、本明細書に記載される実施形態と一貫性のある過去に先に発生しえたシフトの測定から収集された過去のデータに基づいて将来の変位の尤度を予測するために数学的モデルを用いることによってダイ配置におけるシフトを補償するための確かな仕方を与えうるシステム、方法およびツールを提供する。予測される値は、ストカスティックな効果を打ち消すか、または最小限に抑えるようにダイまたはウェーハ配置の名目値を再調整するために用いられてよい。
【0015】
本明細書に開示される方法、システム、およびツールは、例えば、以下には限定されないが、多項式、超越関数、三角関数、区分的、単一、多変数および当業者に知られた他のものを含むいくかのタイプの数学的フィッティングモデルを組み合わせることによって、標準化された回帰技術を越える様々な技術及び特徴を組み込んでよい。数学的モデルの実施形態は、特定の製造運転に最もよくフィットするシナリオを発生させるために適用されてよい。いくつかの実施形態において、選択された数学的モデルに適用される最もよくフィットするシナリオは、集積回路を作り出すシステム中に先に入力された単一または複数の過去の入力に基づいてよい。以下は、本開示のシステム、方法およびツールによって用いられるかまたは行われてよいフィッティングモデルのさらに詳細なリストを開示する。以下のリストは、グローバル(モールディング)およびローカス(ヘッド、スピンドル)モデルと関連するソフトウェアコード・ベースの数学的フィッティングモデルの例を示す:
1. 1次元フィット・モデル、例えば、とりわけ、多項式モデル(例えば、定数、線形、2次、3次など)、超越関数モデル(指数、対数など)、区分的モデル(ポリ、トランス、スプライン、ベジェなど)、手入力モデル(例えば、オフセット、曲線、ブレンディング、およびシフティング)など。
2. 2次元フィット・モデル、例えば、とりわけ、多変数多項式入力モデル、超越関数入力モデル、薄板スプライン(TPS)正規化/非正規化入力モデル、手入力モデル(オフセット、表面ドラッグなど)など。
【0016】
いくつかの実施形態において、利用される数学的モデルは、多項式回帰モデルを備えてよい。多項式回帰モデルは、独立変数xと従属変数yとの間の関係がn次多項式としてモデリングされうる線形回帰の形式であってよい。多項式回帰モデルに対する関連解は、以下のように提供されてよい:
1.データ点f
i(x
i)の級数
【数1】
に対する解は、ε
iの2乗を最小化し、最小2乗近似として知られる。
2.前述の級数は、以下のようにベクトル/行列形式に変換されてよい:
【数2】
3.結果として生じる解は、係数a
kを得るために、例えば、ガウス・ジョルダンの消去法を
【数3】
に適用することによって得られる。
【0017】
いくつかの実施形態において、数学的モデリング・アルゴリズムは、上記のような多項式回帰モデルと極めて類似しうる指数および対数回帰技術の組み合わせを備えてよい。しかしながら、指数/対数回帰アルゴリズムの下では、最初に数学関数の指数が計算されるかまたはその対数がとられて、その後に多項式回帰と同様の残りの手順が行われてもよい。
【0018】
上述のように、ソフトウェアコード・ベースの数学的フィッティングモデルのリストでは、1次元フィッティングモデル(1次元フィット)の例が区分的フィッティングをさらに含んでよい。区分的スプラインおよび区分的ベジェのフィットする解の例は、下の
図2および
図3に関して以下のように実証される。
【0019】
図2は、本発明の実施形態による、双3次スプラインを実行する
図1のシステム100によって実行された区分的スプライン曲線200に関連する非正規化のケースを示す。スプライン曲線200の条件に対する解は、正確な内挿を提供する3次多項式の以下のセットによって提供されてよい:
【数4】
【数5】
【0020】
図3は、本発明の実施形態による、半導体作製プロセスを改善するための
図1のシステム100によって実行された区分的ベジェ曲線300を示す。
【0021】
図4は、本発明の実施形態による、半導体作製プロセスを改善するための
図1のシステム100によって実行された区分的ベジェ曲線300を表すグラフ400を示す。グラフ400は、データ中のランダムノイズを考慮するために近似されたフィッティングを示す。
【0022】
図5は、本発明の実施形態による、半導体作製プロセスを改善するための
図1のシステム100によって実行されたTPS501モデルを示す。TPS500モデルは、2次元表面フィッティング(2次元表面フィッティング)アルゴリズムが本発明のシステム、方法、およびツールによって適用されることを許容する。例えば、例示的な実施形態では、任意の(非順序的)位置のすべての点を通過する最小限にブレンドされた表面を発生させるために、TPSモデル500を用いて滑らかな内挿を発生させてもよい。
【0023】
図6は、本発明の実施形態による、TPSフィッティングモデルと関連するウェーハ600a、600bおよび600cを示す。TPSフィッティングモデルを実行するステップは、区分的多項式モデルと同様のプロセスを備えてよく、例外は、以下の通り:フィッティングされた値が、独立したxおよびyを有する単一変数関数(例えば、1次元多項式)を備える代わりに同時にxおよびyの2変数(dual-variable)関数を備えうるように、数学的モデルが2次元に展開されてよいことである。TPSフィッティングモデルを採用した実施形態は、ノイズを考慮し、内挿アーチファクトを防止するために、表面がすべての点を正確にまたはある近傍内を通過すべきかどうかを正規化技術の使用を通じて制御してよい。正規化技術は、以下のように示される:
1.ウェーハ600aは、正規化を何も備えない。
2.ウェーハ600bは、現在のスケールの1%の正規化を備える。
3.ウェーハ600cは、現在のスケールの10%の正規化を備える。
【0024】
TPSフィッティングモデルのいくつかの実施形態では、フィッティングが高さのような単一のパラメータに限定されてよい。多次元フィッティングである他の実施形態では、複数のモデルが同時に用いられてよい。λ-パラメータは、表面ウェーハ600a、600b、および600cを緩和して、それに局所的なノイズ・リンクル(noise wrinkle)が生じにくくする。TPSフィッティングの実施形態は、以下のように定義されてよい。
【0025】
フィッティングされた表面値z(x,y)は、
【数6】
によって与えられ、ここでx
i≡(x,y)は、フィッティングされた点を含み、c
i≡(c
x,c
y)
iは、基準点を含み、
【数7】
は、TPS台関数を含み、
(a
1,a
2,a
3)は、グルーバル係数のベクトル・セットを含む。
【0026】
加えて、z(x、y)関数の重要な特性は、それが曲げエネルギーを以下のように最小化することである:
【数8】
【0027】
それゆえに、内挿が必要な滑らかさを達成することが可能となる。
【0028】
TPSフィッティング・プロセスに対する解が以下に記載される。
【0029】
ベクトルa≡(a
1,a
2,a
3)
Tおよび(w
1,...,w
n)
Tを突き止めるためには、以下の方程式を解かなければならない:
【数9】
【0030】
【0031】
加えて、ベクトルv≡(z
c1,・・・,z
cn)は、n個の基準点の各々におけるz値からなる。0は、ゼロ値の3×1ベクトル/3×3行列を備え、K-行列は、以下に与えられるn×n行列を備え、
【数11】
λは、正規化パラメータ(すなわち、ユーザ入力)である。
【0032】
P
(3x3)行列は、基準点データを以下のように含む。
【数12】
TPSフィッティングアルゴリズムの実施形態は、以下のように定義されてよい。
1.基準点c
i、c
jの対ごとに行列要素U(|c
i-c
j|)を算出する
2.対角値αを算出する
3.下記行列を発生させる。
【数13】
4.Lの逆行列(inverse)を突き止めて、両側に逆行列を乗じて、下記を得ることによって行列式を解く。
【数14】
5.フィッティング格子上の点ごとに、z(x,y)について解く。
【0033】
図7は、本発明の実施形態による、X軸およびY軸と関連するウェーハ700を示す。ウェーハ700は、任意のサイズまたは形状のキャリア(プラットフォーム)を利用するように構成されてよい。例えば、キャリアは、丸い、正方形、矩形などの形状を備える。いくつかの実施形態では、本発明のシステム、方法、およびツールがピックアンドプレース装置の複数のスピンドルの調整または整備を可能にしてよい。加えて、スピンドルの配置位置は、一緒にグループ化されてよく、または指定された配置にグループ化され、結果としてスピンドルごとの差を生じてもよい。さらに、本明細書に記載されるシステム、ツール、および方法は、指定されたモデリング・アルゴリズムを含んでよく、これらのアルゴリズムは、ダイの正確でほぼ完全なフィットを提供し、それによって、製造における実質的にすべての将来のばらつきが標準誤差内にあるように対応して、それによって、観測可能なストカスティックな効果を低減または削除する。加えて、システムのプロセス効率の見積りは、装置の再現性内で測定される天然ホワイトノイズのばらつきによってのみ制限されるであろう。発生しうる任意の再現可能な変形は、完全に調整されるであろう。さらに、数学的モデルの実施形態は、システムおよび関連するモデリング・アルゴリズムの精度をさらに改善するために、システムのいくつかの運転から生成された入力および/または出力データを組み合わせることを許容してよい。そのうえ、本明細書に記載されるシステム、方法およびツールの実施形態は、完全に自動化されてよい。結果として、システム、方法およびツールは、リクエストされたタスクを削減された時間で行ってよく、タスクを行うために必要な労働力をさらに削減してよい。
【0034】
本明細書に記載される方法、システム、およびツールのいくつかの実施形態では、モデリング・アルゴリズムを再作成するために、スプレッドシート・ソフトウェアまたは代わりのソフトウェアツールを用いることが可能であってよい。その後、システムによって製造される半導体製品が手作業のデータ・エントリによって修正されてもよい。代わりの実施形態では、AOIのような、自動化された測定デバイスを利用して、システム、方法、およびツールの一連のトライアルアンドエラー運転が行われてもよい。AOIは、トライアルアンドエラー運転の結果として提供された情報を考慮し、または前の製造運転からの過去のデータを用いることによって大規模統計解析および矯正パターン発生を行うために十分なデータ量を提供してよい。ウェーハ700は、AOIデータを用いたTPSフィッティングの例および製品の変位を説明する製品データの射影を提供する。
【0035】
図8は、本発明の実施形態による、
図7のウェーハ700に関するX軸残差と関連するシミュレーションを表すグラフ800を示す。
【0036】
図9は、本発明の実施形態による、
図7のウェーハ700に関するY軸残差と関連するシミュレーションを表すグラフ900を示す。
【0037】
図10は、本発明の実施形態による、TPS射影と関連するウェーハ1000を示す。ウェーハ1000は、ダイ製品の変位と関連する射影を示す。
【0038】
図11は、本発明の実施形態による、グラフィカルユーザインターフェース(GUI)1100のウェーハ1000を示す。GUI1100は、大部分のオペレーティングシステム環境に適合しえて、サードパーティーのインストレーションを何も必要としない。GUI1100は、ウェーハ1102、ダイ1104、および参照点1108(すなわち、AOI)のグラフィカルかつインタラクティブな表現を提示するように構成される。GUI1100のインタラクティブな表現は、スケーラブルかつインタラクティブな(線形、ベクトル、表面などの)プロッティング・プロセスを可能にして、軸ごと、ヘッドごと、スピンドルごとのベース、および個別点のベースでダイ・フィッティングを区別する能力を提供してよい。加えて、GUI1100は、モデリングされた値のブレンティング、シャーティング(shirting)、またはオフセッティングによってデータをいかなる程度にも手作業で調整するための能力を提供する。GUIは、CI1および/またはAOI/XLSフォーマットによって完全にサポートされてよく、データをXMSおよびCSVフォーマットから/へインポートおよび/またはエクスポートすることを許容してよい。いくつかの実施形態において、本明細書に記載されるシステム、方法およびツールは、コンピュータシステムメモリまたはコンピュータハードウェアのメモリデバイス中にロードされたソフトウェア、コンピュータコード、プログラミングコードまたはマシンコードとして提供されてよい。
【0039】
図12は、本発明の実施形態による、GUI1200を示す。GUI1200は、それぞれ、xおよびyモールディングについてデータプロット1202aおよびデータプロット1202bを示す。
【0040】
図13は、本発明の実施形態による、ウェーハ表現1300a...1300fを示す。ウェーハ表現1300aは、製品データ表現を示す。ウェーハ表現1300bは、AOIデータ表現を示す。ウェーハ表現1300cは、製品+AOIデータ表現を示す。ウェーハ表現1300dは、ベクトルプロットを重ね合わせた製品+AOIデータ表現を示す。ウェーハ表現1300eは、TPSマップの滑らかなデータ表現を示す。ウェーハ表現1300fは、TPSマップの量子化されたデータ表現を示し、個別ダイの変位を示す。
【0041】
図14は、本発明の実施形態による、ウェーハ表現1400aおよび1400bを示す。ウェーハ表現1400aおよび1400bは、x(ウェーハ表現1400a)およびy(ウェーハ表現1400b)方向をもつ同じベクトルプロットを備える。
【0042】
図15は、本発明の実施形態による、ウェーハ表現1500aおよび1500bを示す。ウェーハ表現1400aおよび1400bは、ベクトルプロットを重ね合わせてxおよびy座標で発生させたTPSマップを備える。
【0043】
図16は、本発明の実施形態による、GUI1600を示す。GUI1600は、全体的なベクトルプロットを提示し、AOI点情報をカーソル部分1604下に示す。
【0044】
図17は、本発明の実施形態による、GUI1700を示す。GUI1700は、TPSモデル適用後のシミュレートされた残差を提示する。
【0045】
図18は、本発明の実施形態による、ダイ配置におけるストカスティックに駆動されたシフトを補償すべく集積回路の半導体材料のダイの配置を数学的にモデリングし、予測して、調整することによって半導体作製プロセスを改善するための
図1のシステム100によって作動されるプロセスフローを詳述するアルゴリズムを示す。
図18のアルゴリズムにおける各々のステップは、コンピュータコードを実行するコンピュータプロセッサ(単数または複数)によって任意の順序で作動され、実行されてよい。加えて、
図18のアルゴリズムにおける各々のステップは、
図1のピックアンドプレース装置104によって作動され、実行されてよい。ステップ1800では、処理用半導体ウェーハの複数の半導体ダイの元の配置からのオフセットと関連するシフト測定が自動的に実行される。ステップ1802では、シフト測定と関連するシフト測定値が回収される。ステップ1804では、シフト測定値がデータベースに記憶される。データベースは、前の複数の処理用半導体ウェーハの前の複数の半導体ダイについて、元の配置からのオフセットについて前に測定されたシフト測定と関連する記憶された複数の前に回収されたシフト測定値を含む。ステップ1808では、指定されたモデルがシフト測定値および複数の前に回収されたシフト測定値に関して実行される。指定されたモデルは、1次元モデル(多項式モデル、超越関数モデル、区分的モデル、手入力モデルなどを含む)および2次元モデル(多変数多項式モデル、薄板スプラインモデル、手入力モデルなどを含む)を含んでよい数学的モデルを含む。ステップ1810では、新しい処理用半導体ウェーハ上の新しい複数の半導体ダイについて将来のオフセットと関連する予想されるシフト測定値がステップ1808の結果に基づいて決定される。ステップ1812では、予測されるシフト測定値に従って、新しい半導体ウェーハ上に新しい複数の半導体ダイを発生させるために前記ピックアンドプレース装置の配置ハードウェア(例えば、ロボットアーム)が複数の個所に自動的に配置される。ステップ1814では、予測されるシフト測定値に従って、新しい半導体ウェーハ内に新しい複数の半導体ダイを発生させる。ステップ1818では、予測されるシフト測定値に従って、新しい半導体ウェーハが複数の新しい個所で自動的にシフトされる。ステップ1820では、上の新しい複数の半導体ダイの仮想イメージが新しい半導体ウェーハ上に(GUIを介して)提示される。
【0046】
図19は、本開示の実施形態による、数学的モデルを用いてダイ配置におけるシフトを補償する方法を実施するためのシステムの一部として含まれてよいコンピュータシステム500のブロック図を示す。コンピュータシステム500は、一般に、プロセッサ591、プロセッサ591に結合された入力デバイス592、プロセッサ591に結合された出力デバイス593、ならびにプロセッサ591に各々が結合されたメモリデバイス594および595を備えてよい。入力デバイス592、出力デバイス593ならびにメモリデバイス594および595は、各々がバスを介してプロセッサ591に結合されてよい。プロセッサ591は、数学的モデルを用いてダイ配置におけるシフトを補償する方法が可能なツールおよびプログラムについて、コンピュータコード597に含まれる命令を実行することを含めて、実施形態によって指示される仕方で、計算を行い、コンピュータ500の機能を制御してよく、コンピュータコード597の命令は、プロセッサ591によってメモリデバイス595を介して実行されてよい。コンピュータコード597は、先に詳細に記載されたように、数学的モデルを用いてダイ配置におけるシフトを補償する方法を実施するための1つ以上のアルゴリズムを実施しうるソフトウェアまたはプログラム命令を含んでよい。プロセッサ591は、コンピュータコード597を実行する。プロセッサ591は、単一の処理ユニットを含んでもよく、または1つ以上の処理ユニットにわたって1つ以上の位置(例えば、クライアントおよびサーバ上)に分散されてもよい。
【0047】
メモリデバイス594は、入力データ596を含んでよい。入力データ596は、コンピュータコード597によって要求される任意の入力を含む。出力デバイス593は、コンピュータコード597からの出力を表示する。メモリデバイス594および595のいずれかまたは両方が、その中に具現されたコンピュータ可読プログラムを有するかおよび/またはその中に記憶された他のデータを有する、コンピュータによって使用可能な記憶媒体(またはプログラム記憶デバイス)として用いられてよく、コンピュータ可読プログラムは、コンピュータコード597を備える。一般に、コンピュータシステム500のコンピュータプログラム製品(または、代わりに、生産品)は、コンピュータによって使用可能な記憶媒体(または前記のプログラム記憶デバイス)を備えてよい。
【0048】
コンピュータコード597および/またはコンピュータプログラム製品の実施形態は、コンピュータシステム500の1つ以上のメモリデバイスにロードされた以下のソフトウェアを含んでよい。
【0049】
メモリデバイス594、595は、以下に詳細に記載されるものを含めて、任意の既知のコンピュータ可読記憶媒体を含む。一実施形態において、メモリデバイス594、595のキャッシュメモリ素子は、コンピュータコード597の命令が実行される間に大容量記憶装置からコードを読み出さなければならない回数を削減するために、少なくともいくつかのプログラムコード(例えば、コンピュータコード597)の一時記憶を提供してよい。そのうえ、プロセッサ591と同様に、メモリデバイス594、595は、1つ以上のタイプのデータ記憶装置を含めて、単一の物理的位置にあってもよく、または様々な形態で複数の物理的システムにわたって分散されてもよい。さらに、メモリデバイス594、595は、例えば、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)にわたって分散されたデータを含むことができる。さらにまた、メモリデバイス594、595は、オペレーティングシステム(図示されない)を含んでよく、
図1には示されない他のシステムを含んでもよい。
【0050】
いくつかの実施形態において、コンピュータシステム500は、入力/出力(I/O)インターフェースおよびコンピュータデータ記憶ユニットにさらに結合されてよい。I/Oインターフェースは、入力デバイス592または出力デバイス593へまたはそれらから情報を交換するための任意のシステムを含んでよい。入力デバイス592は、とりわけ、キーボード、マウスなどであってよく、またはいくつかの実施形態ではフィルタリングシステム100であってもよい。出力デバイス593は、とりわけ、プリンタ、プロッタ、ディスプレイデバイス(例えば、コンピュータスクリーン)、磁気テープ、リムーバブルハードディスク、フロッピーディスクなどであってよい。メモリデバイス594および595は、とりわけ、ハードディスク、フロッピーディスク、磁気テープ、コンパクトディスク(CD:compact disc)またはデジタルビデオディスク(DVD:digital video disc)のような光記憶装置、ダイナミックランダムアクセスメモリ(DRAM:dynamic random access memory)、リードオンリメモリ(ROM:read only memory)などであってよい。バスは、コンピュータ500における各々のコンポーネント間の通信リンクを提供してよく、電気的、光学的、ワイヤレスなどを含めて、任意のタイプの伝送リンクを含んでよい。
【0051】
I/Oインターフェースは、コンピュータシステム500が情報(例えば、データ、またはプログラムコード597のようなプログラム命令)をコンピュータデータ記憶ユニット(図示されない)上に記憶し、情報をそのユニットから読み出すことを許容してよい。コンピュータデータ記憶ユニットは、以下に記載される、既知のコンピュータ可読記憶媒体を含む。一実施形態において、コンピュータデータ記憶ユニットは、磁気ディスクドライブ(すなわち、ハードディスクドライブ)または光ディスクドライブ(例えば、CD-ROMディスクを受け入れるCD-ROMドライブ)のような、不揮発性データ記憶デバイスであってよい。
【0052】
当業者に認識されるであろうように、第1の実施形態では、本発明は、方法であってよく、第2の実施形態では、本発明は、システムであってよく、第3の実施形態では、本発明は、コンピュータプログラム製品であってよい。本発明の実施形態のいずれのコンポーネントも、将来のダイ変位の尤度を予測するために数学的モデルを用いてダイ配置におけるシフトを補償することに関して計算インフラストラクチャを配備または統合することを提案する、サービス提供者によって配備、管理、サービスなどを行うことができる。従って、本発明の実施形態は、コンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、このプロセスは、1つ以上のプロセッサ(単数または複数)591を含むコンピュータシステム(例えば、コンピュータ500)においてコンピュータ可読コード(例えば、プログラムコード597)の統合、ホスティング、維持および配備のうちの少なくとも1つを行うために少なくとも1つのサポートサービスを提供することを含み、プロセッサ(単数または複数)は、将来のダイ変位の尤度を予測するために、コンピュータコード597に含まれた命令を実行して、コンピュータシステムに数学的モデルを用いてダイ配置におけるシフトを補償させる。別の実施形態は、コンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、このプロセスは、コンピュータ可読プログラムコードをプロセッサを含んだコンピュータシステム中に統合することを含む。
【0053】
統合するステップは、プロセッサの使用を通じてプログラムコードをコンピュータシステムのコンピュータ可読記憶デバイスに記憶することを含む。プログラムコードは、プロセッサによって実行される際に、将来のダイ変位の尤度を予測するために数学的モデルを用いてダイ配置におけるシフトを補償する方法を実施する。従って、本発明は、コンピュータ・インフラストラクチャのサポート、配備および/または統合を行い、コンピュータ可読コードのコンピュータシステム500中への統合、ホスティング、維持、および配備を行うためのプロセスを開示し、このコードは、コンピュータシステム500と組み合わせて、将来のダイ変位の尤度を予測するために数学的モデルを用いてダイ配置におけるシフトを補償するための方法を行うことが可能である。
【0054】
本発明のコンピュータプログラム製品は、その中に記憶されたコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読ハードウェア記憶デバイスを備え、前記プログラムコードは、本発明の方法を実施するためにコンピュータシステムの1つ以上のプロセッサによって実行可能な命令を含む。
【0055】
本発明のコンピュータプログラム製品は、その中に記憶されたコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読ハードウェア記憶デバイスを備え、前記プログラムコードは、本発明の方法を実施するためにコンピュータシステムの1つ以上のプロセッサによって実行可能な命令を含む。
【0056】
本発明のコンピュータシステムは、1つ以上のプロセッサ、1つ以上のメモリ、および1つ以上のコンピュータ可読ハードウェア記憶デバイスを備え、前記1つ以上のハードウェア記憶デバイスは、本発明の方法を実施するために1つ以上のメモリを介して1つ以上のプロセッサによって実行可能なプログラムコードを含む。
【0057】
本発明は、任意の可能な技術的に詳細な統合レベルにおけるシステム、方法、および/またはコンピュータプログラム製品であってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有する1つ(または複数)のコンピュータ可読記憶媒体を含んでよい。
【0058】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持して、記憶できる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、以下には限定されないが、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または前述のものの任意の適切な組み合わせであってよい。コンピュータ可読記憶媒体のさらに具体的な例の非網羅的なリストは、以下を含む:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、リードオンリメモリ(ROM:read-only memory)、消去可能プログラマブルリードオンリーメモリ(EPROM:erasable programmable read-only memoryまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、機械符号化デバイス、例えば、パンチカードまたは記録された命令をその上に有する溝中の隆起構造、および前述のものの任意の適切な組み合わせ。コンピュータ可読記憶媒体は、本明細書では、それ自体が、電波または他の自由に伝搬する電磁波、導波路または他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、あるいは電線を通って伝送される電気信号のような、一時的な信号であると解釈されるべきはない。
【0059】
いくつかの実施形態において、記憶されるコンピュータプログラムコード584(例えば、アルゴリズムを含む)は、ハードドライブ、光ディスクまたは他の書き込み可能、再書き込み可能、あるいはリムーバブルなハードウェアメモリデバイス95に記憶されて、それらからアクセスされるのではなく、むしろリードオンリメモリ(ROM)デバイス585のような、スタティック、ノンリムーバブルなリードオンリ記憶媒体上に記憶されてよく、またはかかるスタティック、ノンリムーバブルなリードオンリ媒体585から直接にプロセッサ91によってアクセスされてよい。同様に、いくつかの実施形態において、記憶されるコンピュータプログラムコード597は、コンピュータ可読ファームウェア585として記憶されてよく、あるいは、ハードドライブまたは光ディスクのような、よりダイナミックまたはリムーバブルなハードウェア・データ記憶デバイス595からではなく、むしろかかるファームウェア585から直接にプロセッサ591によってアクセスされてよい。
【0060】
本明細書に記載されるコンピュータ可読プログラム命令をコンピュータ可読記憶媒体からそれぞれの計算/処理デバイスへ、あるいはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはワイヤレスネットワークを介して外部コンピュータまたは外部記憶デバイスへダウンロードできる。ネットワークは、銅(または任意の他の代わりの金属)伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを備えてよい。各計算/処理デバイス中のネットワークアダプタカードまたはネットワークインターフェースは、コンピュータ可読プログラム命令をネットワークから受信して、それらのコンピュータ可読プログラム命令をそれぞれの計算/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0061】
本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路素子のための構成データ、またはSmalltalk、C++もしくは同様のもののような、オブジェクト指向プログラミング言語、および「C」プログラム言語のような、手続き型プログラミング言語、または同様のプログラム言語を含めて、1つ以上のプログラミング言語を任意に組み合わせて書かれたソースコードまたはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアローンのソフトウェアパッケージとして、部分的にユーザのコンピュータ上および部分的にリモートコンピュータ上で、あるいは全体的にリモートコンピュータまたはサーバ上で実行してよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含めて、任意のタイプのネットワークを通じてユーザのコンピュータへ接続されてよく、あるいは(例えば、インターネット・サービスプロバイダを用いてインターネットを通じて)外部コンピュータへの接続がなされてもよい。いくつかの実施形態において、例えば、プログラマブルロジック回路素子、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate array)、またはプログラマブルロジックアレイ(PLA:programmable logic array)を含む電子回路素子は、本発明の態様を行うために、電子回路素子をパーソナライズするコンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行してよい。
【0062】
本発明の態様が本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート説明図および/またはブロック図を参照して本明細書に記載される。フローチャート説明図および/またはブロック図の各ブロック、ならびにフローチャート説明図および/またはブロック図におけるブロックの組み合わせをコンピュータ可読プログラム命令によって実施できることが理解されよう。
【0063】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行する命令がフローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/作用を実施するための手段を作り出すような、マシンを生成するために汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されてよい。これらのコンピュータ可読プログラム命令は、記憶された命令をその中に有するコンピュータ可読記憶媒体がフローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/作用の態様を実施する命令を含んだ生産品を備えるような、特定の仕方で機能するようにコンピュータ、プログラマブルデータ処理装置、および/または他のデバイスを導くことができるコンピュータ可読記憶媒体に記憶されてもよい。
【0064】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令がフローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/作用を実施するような、コンピュータによって実施されるプロセスを生成するために一連の動作ステップがコンピュータ、他のプログラマブル装置、または他のデバイス上で行なわれるようにするために、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイス上へロードされてもよい。
【0065】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実施のアーキテクチャ、機能性、およびオペレーションを示す。この点に関して、フローチャートまたはブロック図における各ブロックは、指定されたロジック機能(単数または複数)を実施するための1つ以上の実行可能な命令を備えるモジュール、セグメント、または命令の一部を表してよい。いくつかの代わりの実施形態では、ブロックに記された機能は、図に記された順序以外で発生してもよい。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよく、またはそれらのブロックが、関与する機能性に依存して、時には逆の順序で実行されてもよい。ブロック図および/またはフローチャート説明図の各ブロック、ならびにブロック図および/またはフローチャート説明図におけるブロックの組み合わせを、指定された機能もしくは作用を行うまたは専用ハードウェアおよびコンピュータ命令の組み合わせを実行する、専用ハードウェアベース・システムによって実施できることにも気が付くであろう。
【0066】
実施形態の要素は、冠詞「a(ひとつの)」または「an(ひとつの)」とともに紹介された。これらの冠詞は、1つ以上のその要素があることを意味することが意図される。用語「including(含む)」および「having(有する)」ならびにそれらの派生語は、リストされる要素以外の追加の要素があってよいように包含的であることが意図される。接続詞「or(または)」は、少なくとも2つの用語のリストとともに用いられたときに、いずれかの用語または用語の組み合わせを意味することが意図される。用語「first(第1の)」および「second(第2の)」は、要素を区別するために用いられ、特定の順序を示すためには用いられない。
【0067】
本発明は、限られた数の実施形態のみに関連して詳細に記載されたが、本発明がかかる開示された実施形態には限定されないことが直ちに理解されるべきである。むしろ、これまで記載されなかったが、本発明の趣旨および範囲に相応するいくつもの変形、変化、置換または等価な配置を組み込むように本発明を変更することができる。加えて、本発明の様々な実施形態が記載されたが、本発明の態様は、記載された実施形態のうちのいくつかのみを含んでよいが理解されるべきである。従って、本発明は、先の記載によって限定されると見做されるべきではなく、添付される請求項の範囲によってのみ限定される。