(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-17
(45)【発行日】2022-11-28
(54)【発明の名称】半導体後端工場をスケジューリングするための方法
(51)【国際特許分類】
G05B 19/418 20060101AFI20221118BHJP
H01L 21/02 20060101ALI20221118BHJP
【FI】
G05B19/418 Z
H01L21/02 Z
(21)【出願番号】P 2020559458
(86)(22)【出願日】2019-03-18
(86)【国際出願番号】 US2019022800
(87)【国際公開番号】W WO2019216991
(87)【国際公開日】2019-11-14
【審査請求日】2020-10-23
(32)【優先日】2018-05-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100176418
【氏名又は名称】工藤 嘉晃
(72)【発明者】
【氏名】ノーマン デビット エバートン
【審査官】黒田 暁子
(56)【参考文献】
【文献】米国特許出願公開第2009/0171492(US,A1)
【文献】特開2003-150223(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/418
H01L 21/02
(57)【特許請求の範囲】
【請求項1】
工場後端を改善するための方法であって、
ボトルネック機械ファミリーの少なくとも1つの半導体処理装置を含む前記ボトルネック機械ファミリーの識別子と、前記少なくとも1つの半導体処理装置の処理速度、工場経路、および変換情報の少なくとも1つを含む工場データを受け取ることと、
少なくとも1週間を含む期間と、前記少なくとも1つの半導体処理装置で生産されるべき半導体製品の量とからなる生産目標を受け取ることと、
工場データおよび生産目標を入力とする、混合整数計画モデル、混合整数二次計画モデル、および線形計画モデルのうちの1つを含む第1の数理計画法モデルを実行し、前記第1の数理計画法モデルが、第1の解決策を生成し、前記第1の解決策を処理して、前記期間中に前記ボトルネック機械ファミリーの前記少なくとも1つの半導体処理装置によって生産されるべき
ものを定義するボトルネックローディング計画を生成することと、
前記ボトルネックローディング計画に
対して、混合整数計画モデルからなる第2の数理計画法モデルを実行し、
少なくとも1つの半導体処理装置の変換
スケジュールおよび変換前に処理されるべき生産フロー内のステップの量を
生成する第2の解決策を生成し、前記第2の解決策を処理して、前記ボトルネック機械ファミリーの前記少なくとも1つの
半導体処理装置のための
前記変換スケジュールを生成することと、
前記変換スケジュールに従うシミュレーションを実行することによって、前記期間中に前記半導体処理装置で処理される各ロットの少なくとも1つの半導体処理装置の開始時間と終了時間を特定し、前記期間中に前記ボトルネック機械ファミリーの前記少なくとも1つの半導体処理装置で処理する製品の量を示す、前記工場のためのロットスケジュールを生成することと、
前記ロットスケジュールを、前記少なくとも1つの半導体処理装置に接続された発送システムで処理し、前記ロットスケジュールに従って半導体製品を自動的に生産することと
を含む、方法。
【請求項2】
前記ボトルネックローディング計画は、機械変換がいつ処理されるべきかを識別する、請求項1に記載の方法。
【請求項3】
前記変換スケジュールが、選択された期間を通して変換を均等に分散させる、請求項1に記載の方法。
【請求項4】
前記ロットスケジュールが、前記工場の各機械の少なくとも識別子と、各期間での各ロットに対する対応する開始時間および終了時間とを含む、請求項1に記載の方法。
【請求項5】
前記第2の数理計画法モデルが、機器グループまたは個々の機器をさらにモデル化し、処理される製品の量をモデル化する、請求項1に記載の方法。
【請求項6】
前記変換スケジュールが、指定された期間に前記ボトルネック機械ファミリーの各機械で処理される製品の量と、前記指定された期間に各変換で費やされる時間とを含む、請求項1に記載の方法。
【請求項7】
工場後端を改善するためのシステムであって、前記システムが、
少なくとも1つのプロセッサと、
プログラムを含むメモリであり、前記プログラムが、前記少なくとも1つのプロセッサによって実行されると、前記システムに、
ボトルネック機械ファミリーの少なくとも1つの半導体処理装置を含む前記ボトルネック機械ファミリーの識別子と、前記少なくとも1つの半導体処理装置の処理速度、工場経路、および変換情報の少なくとも1つを含む工場データを受け取ることと、
少なくとも1週間を含む期間と、前記少なくとも1つの半導体処理装置で生産されるべき半導体製品の量とからなる生産目標を受け取ることと、
工場データおよび生産目標を入力とする、混合整数計画モデル、混合整数二次計画モデル、および線形計画モデルのうちの1つを含む第1の数理計画法モデルを実行し、前記第1の数理計画法モデルが、第1の解決策を生成し、前記第1の解決策を処理して、前記期間中に前記ボトルネック機械ファミリーの前記少なくとも1つの半導体処理装置によって生産されるべき
ものを定義するボトルネックローディング計画を生成することと、
前記ボトルネックローディング計画に
対して、混合整数計画モデルからなる第2の数理計画法モデルを実行し、
少なくとも1つの半導体処理装置の変換
スケジュールおよび変換前に処理されるべき生産フロー内のステップの量を
生成する第2の解決策を生成し、前記第2の解決策を処理して、前記ボトルネック機械ファミリーの前記少なくとも1つの
半導体処理装置のための
前記変換スケジュールを生成することと、
前記変換スケジュールに従うシミュレーションを実行することによって、前記期間中に前記半導体処理装置で処理される各ロットの少なくとも1つの半導体処理装置の開始時間と終了時間を特定し、前記期間中に前記ボトルネック機械ファミリーの前記少なくとも1つの半導体処理装置で処理する製品の量を示す、前記工場のためのロットスケジュールを生成することと、
前記ロットスケジュールを、前記少なくとも1つの半導体処理装置に接続された発送システムで処理し、前記ロットスケジュールに従って半導体製品を自動的に生産することと
をさせる、システム。
【請求項8】
前記ボトルネックローディング計画は、機械変換がいつ処理されるべきかを識別する、請求項7に記載のシステム。
【請求項9】
前記変換スケジュールが、選択された期間を通して変換を均等に分散させる、請求項7に記載のシステム。
【請求項10】
前記ロットスケジュールが、前記工場の各機械の少なくとも識別子と、各期間での各ロットに対する対応する開始時間および終了時間とを含む、請求項7に記載のシステム。
【請求項11】
前記第2の数理計画法モデルが、機器グループまたは個々の機器をさらにモデル化し、処理される製品の量をモデル化する、請求項7に記載のシステム。
【請求項12】
プロセッサによって実行されたとき、前記プロセッサに工場後端を改善するための方法を実行させるコンピュータプログラムコードを含む非一時的コンピュータ可読媒体であって、前記方法が、
ボトルネック機械ファミリーの少なくとも1つの半導体処理装置を含む前記ボトルネック機械ファミリーの識別子と、前記少なくとも1つの半導体処理装置の処理速度、工場経路、および変換情報の少なくとも1つを含む工場データを受け取ることと、
少なくとも1週間を含む期間と、前記少なくとも1つの半導体処理装置で生産されるべき半導体製品の量とからなる生産目標を受け取ることと、
工場データおよび生産目標を入力とする、混合整数計画モデル、混合整数二次計画モデル、および線形計画モデルのうちの1つを含む第1の数理計画法モデルを実行し、前記第1の数理計画法モデルが、第1の解決策を生成し、前記第1の解決策を処理して、前記期間中に前記ボトルネック機械ファミリーの前記少なくとも1つの半導体処理装置によって生産されるべき
ものを定義するボトルネックローディング計画を生成することと、
前記ボトルネックローディング計画に
対して、
混合整数計画モデルからなる第2の数理計画法モデルを実行し、
少なくとも1つの半導体処理装置の変換
スケジュールおよび変換前に処理されるべき生産フロー内のステップの量を
生成する第2の解決策を生成し、前記第2の解決策を処理して、前記ボトルネック機械ファミリーの前記少なくとも1つの
半導体処理装置のための
前記変換スケジュールを生成することと、
前記変換スケジュールに従うシミュレーションを実行することによって、前記期間中に前記半導体処理装置で処理される各ロットの少なくとも1つの半導体処理装置の開始時間と終了時間を特定し、前記期間中に前記ボトルネック機械ファミリーの前記少なくとも1つの半導体処理装置で処理する製品の量を示す、前記工場のためのロットスケジュールを生成することと、
前記ロットスケジュールを、前記少なくとも1つの半導体処理装置に接続された発送システムで処理し、前記ロットスケジュールに従って半導体製品を自動的に生産することとを含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、一般に、後端半導体工場の稼働の改善に関し、より詳細には、後端半導体工場のスケジューリングシステムを制御するための技法に関する。
【背景技術】
【0002】
多くの様々な産業界にわたる製造設備は、人生のあらゆる場面で使用される製品の製造を担っている。例えば、半導体製造の場合には、半導体製造設備は、マイクロプロセッサ、メモリチップ、マイクロコントローラ、および日常生活の至る所に存在する他の半導体デバイスなどの製品を製造する。これらの半導体デバイスは、多種多様な用途で使用され、それらの例には、自動車、コンピュータ、家電製品、携帯電話など多数が含まれる。近年、用途の数とデバイス(半導体デバイスを含む)の需要の両方は着実に増加している。この需要の増加により、製造設備は、製品の種類の増加および納期の短縮をますます意識するようになった。
【0003】
各製造環境は、独特で非常に複雑であり、多くの場合、必要な機器、ツール、設備などに莫大な資本を必要とする。製造が非常に資本集約的であるので、工場パフォーマンスのわずかな向上(例えば、需要に合わせた建物、注文から納品までの時間の短縮など)でさえ、財務パフォーマンスに大きい効果があり得る(例えば、無駄のない製造によるコストの削減、遊休在庫に関係する資本の解放などにより)。このため、多くの製造設備は、製品の複雑な計画がオンタイム納品を確実に可能にするように、設備にプランニングシステムを組み込んでいる。
【0004】
これまで、製品を組み立てて試験する半導体後端工場は、十分に単純であり、大きい負担なしに効率的に稼働することができた。一般に、プランニングは、手動で作り出される単純なExcelスプレッドシートおよびスケジュールを使用して、それらがとにかく作成されている場合、実行することができる。しかしながら、これは急激に変化している。後端プロセスはさらに複雑になってきており、例えば、リエントラントフローが今では一般的であり、その結果、これまで機能していた単純なプロセスでは、工場を効果的に稼働させることができない。同時に、サプライチェーン最適化の進歩により、外部から課せられた納期を満たすために工場ははるかに強力な必須条件を有することが求められている。現在のプロセスは、工場を効率的に稼働させることも、新しい厳格なサプライチェーン要件を満たすこともできない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
工場後端をプランニングおよびスケジューリングするための改善された方法が必要である。
【課題を解決するための手段】
【0006】
本明細書で提示される1つまたは複数の実施形態は、工場後端をプランニングおよびスケジューリングするための技法を提供する。この技法は、工場データおよび生産目標に適用される第1の数理計画法モデルを実行し、第1の数理計画法モデルが、解決策を生成し、解決策を処理して、工場のボトルネック機械ファミリの少なくとも1つの機械のためのボトルネックローディング計画を生成することによって始まる。この技法は、ボトルネックローディング計画に適用される第2の数理計画法モデルを実行し、第2の数理計画法モデルが、解決策を生成し、解決策を処理して、ボトルネック機械ファミリの少なくとも1つの機械のための変換スケジュールを生成することをさらに含む。この技法は、変換スケジュールに従うシミュレーションを実行することによって工場のためのロットスケジュールを作成することをさらに含む。この技法は、ロットスケジュールを発行することをさらに含む。
【0007】
本開示の上記の特徴を詳細に理解することができるように、上述で簡単に要約した本開示のより詳細な説明が、実施形態を参照することによって得ることができ、実施形態の一部が添付の図面に示される。しかしながら、添付の図面は本開示の典型的な実施形態のみを示しており、それゆえに、本開示は他の同様に効果的な実施形態を認めることができるので、添付の図面は本開示の範囲の限定と見なされるべきでないことに留意されたい。
【図面の簡単な説明】
【0008】
【
図1】本開示の実施形態による、プランニングおよびスケジューリングシステムで構成された製造環境の1つの構成のブロック図である。
【
図2】プランニングおよびスケジューリングシステムを示すブロック図である。
【
図3】工場後端をプランニングおよびスケジューリングするための方法を示す流れ図である。
【発明を実施するための形態】
【0009】
理解しやすくするために、可能ならば、図に共通する同一の要素を指定するのに、同一の参照番号が使用されている。追加として、1つの実施形態で開示された要素は、特別の詳述なしに、本明細書に記載された他の実施形態において有益に使用され得ることが意図される。
【0010】
スケジューリングシステムは、半導体後端工場をプランニングおよびスケジューリングするために設けられる。前端は、作業がウエハレベルで実行される製造の部分であり、一方、後端では、作業は、チップおよびモジュールレベルで実行される。前端工場および後端工場は、同じ場所にあってもよく、または異なる場所にあってもよい。本開示の実施形態は、一般に、後端工場に関するが、ここで開示されるスケジューリングシステムは、前端工場の管理にも利用することができることが当業者によって理解されるべきである。便宜のために、半導体デバイスの製造に関連する用語が、本明細書で提示される技法を使用してプランニング/スケジューリングすることができる製造生産プロセスの参照例として、以下の説明の大部分で使用されることに留意されたい。同様に、以下の実施形態の大部分は、本明細書で提示される技法を使用してスケジューリングシステムを提供および実現することができる製造環境のタイプの参照例として、後端半導体製造設備を使用する。
【0011】
本明細書で提示される実施形態は、後端工場の発送システムに発行可能なロットスケジュールを発生するための技法を含むことができる。ロットスケジュールは、各ロットの処理の時間、およびロットを処理する機械を決定する。代替として、この技法は、機械ごとに、処理されるべきロットのリストと、各ロットをいつ開始すべきかを作り出す。これを達成するために、後端工場プランニングおよびスケジューリングシステムは、半導体組立および試験設備をスケジューリングするために数理最適化を使用する方法を利用する。この方法は、スケジューリングを3つのフェーズ、すなわち、ボトルネックローディング計画の作成、機械変換がいつ実行されるべきかを識別する変換スケジュールの作成、およびロットスケジュールの作成に分ける。システムは、プランニングモジュールを使用してボトルネックローディング計画を作成および最適化する。プランニングモジュールは、工場への需要、時間当たりのユニット、機械能力および量、目標機械稼働率などのような工場パフォーマンスデータを入力として取り入れる。プランニングモジュールは、例えば線形計画法(LP)または混合整数計画法(MIP)を使用して数理計画法モデルを作成する。モデルを実行して、解決策を作り出し、その解決策を処理して、工場のボトルネック機械ファミリの各々に対するボトルネックローディング計画を生成する。計画には、ボトルネック機械の1つ、2つ、またはそれ以上のファミリの機械の各々で何を処理すべきかが含まれる。ボトルネックローディング計画は、ボトルネックファミリ(機械)が所与の時間間隔でどの製品を処理すべきかを指示する。1つの例では、ボトルネックローディング計画は、製品のオンタイム納品を最適化し、必要とされる変換の数を最小化する。ボトルネックローディング計画は、指定された機械で処理されるべき優先製品のリストなどのような他の重要プロセス指標(KPI)を最適化することができる。ボトルネックローディング計画が、変換モジュールに送り込まれ、変換モジュールは、製品のオンタイム納品を行うように、および指定された期間の全体を通して変換が均等に散開されるように最適化される。変換モジュールは、例えば線形計画法(LP)または混合整数計画法(MIP)を使用して数理計画法モデルを作成する。モデルを実行して、解決策が作り出され、解決策を処理して、各変換の時間、および工場プロセスの各ステップのどれだけの量が各変換で処理されるべきかを含む各機械の変換スケジュールが生成される。このデータはロットスケジューリングモジュールに送り込まれ、ロットスケジューリングモジュールは、工場の発送システムに発行されるロットスケジュールを作成するために変換スケジュールを使用するシミュレーションを実行する。
【0012】
図1は、本開示の態様を実施することができる製造環境(またはシステム)100の1つの構成を示すブロック図である。1つの実施形態では、製造環境100は、半導体前端または後端製造設備の一例である。図示のように、製造環境100には、コンピューティングシステム110、製造実行システム(MES)150、エンタープライズリソースプランニング(ERP)システム120、工場ストレージシステム160、外部ストレージシステム170、ネットワーク122を介して接続されたランストア(run store)180、および他の工場CIMシステム190(例えば、製品ライフサイクル管理システム)が含まれる。一般に、ネットワーク122は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線LAN(WLAN)などとすることができる。工場ストレージシステム160、外部ストレージシステム170、およびランストア180は、一般に、例えば、リレーショナルおよび/または階層的データベース、分散ファイリングシステム、ネットワーク接続ストレージ(NAS)、ストレージエリアネットワーク(SAN)などを含む任意の種類のストレージシステムとすることができる。1つの実施形態では、コンピューティングシステム110、MES150、およびERPシステム120は、デスクトップコンピュータ、ラップトップコンピュータ、モバイルデバイス、タブレットコンピュータ、サーバコンピューティングシステム、ゲートウェイコンピュータなどのようなネットワークインタフェースを有する任意の種類の物理的コンピューティングシステムとすることができる。
【0013】
コンピューティングシステム110は、メモリ142、中央処理装置(CPU)144、およびユーザインタフェース140を含むことができる。メモリ142は、そこに格納されたデータおよびアプリケーションを有することができる。例えば、メモリ142は、ユーザによる使用のためのプランニングデータを格納することができる。メモリ142は、さらに、CPU144で実行する動作の1つまたは複数を実装するように構成されたプランニングアプリケーションおよび/またはスケジューリングアプリケーションなどのアプリケーションを格納することができる。プランニングアプリケーションは、製造環境100のための計画を作り出すことができる。例えば、半導体製造の場合、ユーザは、製造システムの能力が要求を満たすことができるかどうか、要求を満たすために製造システムがどんな変更(もしあれば)を実施すべきかを決定するための計画を作り出すこと、製造システムの将来の生産高を企画すること、製造システムがどの製品を生成するか、製品がどこで生成されることになるか、生成すべき製品の量を決定すること、製造システムがどの作業を実行すべきかを決定するための実験を実行することなどを行うことができる。スケジューリングアプリケーションは、製造環境100のためのスケジュールを作り出すことができる。例えば、半導体製造の場合、ユーザは、各変換の時間、および工場プロセスの各ステップのどれだけの量が各変換で処理されるべきかを含む各機械の変換スケジュールを生成することができる。
【0014】
MES150は、一般に、製造環境100内の現在の仕掛品(WIP)の作業を管理および制御するように構成される。しかしながら、他のシステムが、製造環境におけるデータおよび作業のソースを管理するように構成されてもよいことが理解されるべきである。コンピューティングシステム110で作り出された計画およびスケジュールは、メモリ、製造機器、MES150、またはMES150による履行に向けた計画における要求を編成するための他の好適な場所にロードすることができる。前端半導体製造工場では、MES150は、半導体基板の製造に関連する1つまたは複数のプロセスを制御することができる。後端半導体製造工場では、MES150は、基板上の半導体ダイの切断、組立て、および試験に関連する1つまたは複数のプロセスを制御することができる。MES150は、製造環境100で動作する1つまたは複数のツール(または機器)の動作をモニタし、ツールからのデータを直接受け取り、ERPシステム120からのデータを受け取り、ツールおよびERPシステム120からのデータを分析し、および/またはデータを収集することができる。1つの実施形態では、MES150は、データ(ツールから受け取った)を工場ストレージシステム160に格納することができる。工場ストレージシステム160に格納されるそのような情報には、現在のWIP、製造環境におけるツールの数、ツールの動作パラメータ(例えば、処理速度、能力負荷など)、製造データ、および製造環境100の他のメタデータ特性に関する情報を含めることができる。
【0015】
ERPシステム120は、製造環境内のリソース(例えば、資本金額、原材料、生産能力など)、製造環境内の現在および将来のコミットメント(例えば、注文、売上予想、納品日など)、サプライチェーン管理に関連する情報(例えば、原材料の移動および保管、WIP在庫、完成品の量、財務、および供給業者から最終的に消費者までの商品およびサービスの流れに関連する他の情報を記載する情報など)などに関連するデータを収集、格納、管理、および解釈するように構成される。1つの実施形態では、この情報の一部またはすべては、工場ストレージシステム160、ERPシステム120、または他の適切なストレージデバイスに格納することができる。顧客へのコミットメントに関連する部分の量に関する集合的な情報が、単一の要求によって表される。集合的な要求を編成して計画が形成される。
【0016】
MES150は、工場後端のプランニングおよびスケジューリングのための情報を含むように構成することができる。工場の利用をプランニングおよびスケジューリングするために外部および内部システムによって提供されるプランニングおよびスケジューリング情報は、様々な顧客要求へのタイムリーな履行を保証する。代替として、プランニングおよびスケジューリングシステムは、外部システムまたは他の適切な場所に収容されてもよい。要求は、履行のコミットメントおよび機械稼働率に基づいて、プランニングおよびスケジューリングされる。MES150は、工場生産をシミュレートおよびスケジューリングするためにプランニングおよびスケジューリングシステム(
図2のアイテム200)を利用することができる。
【0017】
図2は、プランニングおよびスケジューリングシステム200を示すブロック図である。プランニングおよびスケジューリングシステム200は、プランニングモジュール(PM)210、変換モジュール(CM)220、ロットスケジューリングモジュール(LM)230、および発送システム(DS)240を有する。PM210、CM220、およびLM230は、すべて、ブロックベース(ドラッグアンドドロップ)ワークフローエンジンで接続することができる。PM210、CM220、LM230、およびDS240の内部動作は、やはり、ブロックベースワークフローを利用することができる。ワークフローは、材料の変換、サービスの提供、または情報の処理を行うプロセスにリソースを系統的に組織化することによって可能になるビジネス活動の編成されたパターンで構成される。ワークフローは、オペレータが手動で使用するために、または発送システム240が使用するために自動的に、計画を作成し、スケジュールを作成し、スケジュールを発行するために必要とされるステップのシーケンスを示す。これには、ERPシステム120、MES150などからのデータを集めること、それをシステムが必要とするフォーマットに変換すること、計画または変換スケジュールの最適化モデルを作成すること、それを解くこと、結果を計画または変換スケジュールに処理すること、シミュレーションモデルを作成すること、シミュレーションモデル内の変換スケジュールを使用すること、シミュレーションモデルを実行すること、その結果をロットスケジュールに処理すること、およびロットスケジュールを発送システムに発行することが含まれる。様々なイベント、例えば、新しい計画またはスケジュールを作成することのタイミングが、ワークフローにさらに含まれる。一般的に、PM210、CM220、およびLM230は、任意の適切なワークフローエンジンで接続することができる。
【0018】
PM210は、工場計画を決定する。プランニングモジュール210は、ブロックベースワークフローを使用して工場205の現在の状態からの工場データおよび生産目標を入力として受け入れる。このデータは、製品の需要(例えば、集積回路、ウエハ、モジュールなどの顧客の注文)、材料利用可能性、機器能力、機器生産高(UPH)、および多数の他のパラメータを含むことができる。工場の現在の状態は、週間計画、工場のパラメータ、および仕掛品(WIP)のうちの少なくとも1つを含むことができる。WIPには、現在のWIPおよび原材料の到着に適用されるWIPの少なくとも一方が含まれる。
【0019】
PM210は、機器稼働率を最適化する、および/またはオンタイム納品および他のKRPを最適化するためにボトルネックローディング計画215を策定することができる。PM210は、追加として、ボトルネックローディング計画215を決定する際に要求を優先させることができる。ボトルネックローディング計画215は、指定された期間の終わりに期限が来る要求(例えば、顧客注文)のリストである。一例では、指定された期間は、1日、数日、1週、1カ月などとすることができる。工場のパラメータは、少なくとも1つのボトルネック機器グループを識別する情報、実験認定、処理速度、経路を含む機器情報、および変換情報のうちの少なくとも1つを含む。ボトルネックローディング計画215は、ブロックベースデータ処理言語で構成することができる。
【0020】
PM210は、1つまたは複数のボトルネック機器ファミリの少なくとも1つの機械のためのボトルネックローディング計画215を策定する。本明細書で使用するボトルネックツールは、工場の他のツールへの改善によってパフォーマンスをもはや改善することができないツールを指す。本明細書で使用するローディング計画は、工場が所与の期間(例えば、1日、1週など)に生成すべきものを指す。本明細書に使用されるボトルネックローディング計画は、ボトルネックツールによって生成されるべきものの所与の期間の計画である。機器ファミリは、所与の期間に計画を実行するために使用されるべき同じ製造者の同一または類似するツールのセットを指す。ボトルネックローディング計画215は、毎日、シフトして、半日、または他の大量の時間に処理されるユニットを調べ、各機器の利用の計画を策定することができる。PM210は、どのファミリがボトルネックであるかを決定しないが、ボトルネックのリストが与えられれば、それらのボトルネックが処理すべきものを決定する。PM210は、工場データおよび生産目標に適用される第1の数理計画法モデルを実行し、第1の数理計画法モデルは、解決策を生成し、解決策を処理して、工場のボトルネック機械ファミリの少なくとも1つの機械に対するボトルネックローディング計画215を生成する。数理計画法モデルは、限定はしないが、混合整数計画法MIPモデル、混合整数二次計画法MIQPモデル、および線形計画法(LP)モデルとすることができる。プランニングモジュール210は、工場で条件が変わるときの頻度で実行することができる。例えば、機器がオフラインになる、注文が履行されているかもしくは履行されていない、またはボトルネックローディング計画215が寿命のために古くなっている。ボトルネックローディング計画215は、各変換で費やされる時間の量と、各製品が各変換中に生成されるべき量とを決定する。PM210は、ボトルネックローディング計画215をCM220に出力することができる。
【0021】
CM220は、ボトルネックローディング計画に従う。CM220は、PM210からのボトルネックローディング計画215を入力として受け取り、工場のボトルネック機械ファミリの少なくとも1つの機械の変換スケジュールを履行するために機械変換がいつ実行されるべきか225を示す変換スケジュール225を出力する。機械変換がいつ実行されるべきか225には、各変換の時間、および各変換の前に生産フローの各ステップのどれだけの量が処理されるべきかが含まれる。CM220は、ボトルネックローディング計画215に適用される第2の数理計画法モデルを実行し、第2の数理計画法モデルは、解決策を生成し、解決策を処理して、ボトルネック機械ファミリの少なくとも1つの機械の変換スケジュール225を生成する。変換モジュール225は、各変換の時間、および各変換の前に工場プロセスの各ステップのどれだけの量が処理されるべきかを含む。変換スケジュール225は、少なくとも1つの機械変換がいつ実行されるべきかを含む。変換スケジュール225の生成は、ブロックベースデータ処理言語で構成することができる。
【0022】
変換スケジュールは、オンタイム納品を最大限に引き延ばし、変換の数を最小限にし、サイクル時間および他のKPIを最小限にする。変換スケジュールは、指定された期間を通して変換を均等に分散させることができる。変換スケジュールは、各機械の変換スケジュールを履行するために機械変換がいつ実行されるべきかを示す。
【0023】
LM230は、変換スケジュール225を取得し、工場全体のロットスケジュール235を出力し、ロットスケジュール235には、工場の各機械の少なくとも識別子と、各期間での工場全体の各機械の各ロットに対する対応する開始時間および終了時間とが含まれる。ロットスケジュール235を単一のロットに分割して、2つ以上の機械で同時に処理することもできる。この分割は、シミュレーションのブロックベース構成を使用して制御することができる。ロットスケジュール235は、発送システムDS240に送り込まれる。LM230は、変換スケジュール225に従うシミュレーションを実行することによってロットスケジュール235を作成する。ロットスケジュール235は、指定された期間に各ボトルネックツールで処理する各製品の量を示す。ロットスケジュール235の生成、例えば、機械で次に処理するロットの選択は、やはり、ブロックベースデータ処理言語で構成することができる。
【0024】
発送システム(DS)240は、LM230によって提供された詳細なロットスケジュール235に従おうとする。DS240は、予期しない機器シャットダウンなどの異常、または作業に必要な原材料の入手不可能などの他の製造中断を扱う。DS240は、詳細なロットスケジュール235の維持に関する実時間フィードバックを提供および/または分析することができる。1つの例では、DS240は、実時間工場データをサンプリングし、工場データを詳細なロットスケジュール235と比較し、詳細なロットスケジュール235への特別な調節を行うことができる。ブロックベースワークフローは、工場からのイベント、例えば、機械の停止を受け取るように構成することができる。イベントが受け取られると、ワークフローは、工場データを集め、そのデータに基づいて、ロットスケジュール235を再生または調節することができる。別の例では、DS240が詳細なロットスケジュール235に従うことに関して実行されるべき前記のタスクは、人間のオペレータによって手動で実行されてもよい。
【0025】
すべてのこれらの動作は、ワークフローで実行されてもよく、エンドユーザにより設定可能である。ロットスケジュール235は、既存のロットスケジュール235から特定の量または閾値だけ逸脱していることに基づいて、自動的に再生または再最適化することができる。逸脱は、ラインごとに、ツールごとに、または製造環境全体にわたる逸脱に基づくことができる。一時的帯域幅を検出するインクリメンタルスケジュール補正、短期並べ替え/試運転が、追加として、DS240によって実行されてもよい。代替として、DS240は、実時間工場データをサンプリングし、工場データを詳細なロットスケジュール235と比較し、LM230に通知を提供することができる。例えば、DS240は、詳細なロットスケジュール235の変動が閾値を超えるとき、通知をLM230に提供することができる。LM230は、通知を受け取ると、更新した詳細なロットスケジュール235をDS240に提供する。
【0026】
図3は、工場後端をプランニングおよびスケジューリングするための方法を示す流れ
図300である。ブロック310において、プランニングおよびスケジューリングシステム200は、ブロックベースワークフローを使用して、工場の現在の状態から工場データおよび生産目標205を抽出する。工場の現在の状態は、計画、工場のパラメータ、および仕掛品(WIP)のうちの少なくとも1つを含む。WIPには、現在のWIPおよび原材料の到着に適用されるWIPの少なくとも一方が含まれる。工場のパラメータは、少なくとも1つのボトルネック機器グループの識別、実験認定、処理速度、経路を含む機器情報、および変換情報を識別のうちの少なくとも1つを含む。
【0027】
ブロック320において、プランニングおよびスケジューリングシステム200は、工場データおよび生産目標に適用される第1の数理計画法モデルを実行し、第1の数理計画法モデルは、解決策を生成し、解決策を処理して、工場のボトルネック機械ファミリの少なくとも1つの機械に対するボトルネックローディング計画215を生成する。ボトルネックローディング計画215は、毎日処理される量を含む。ボトルネックローディング計画215は、期間当たりの変換の最大数に1つまたは複数のソフト制約を適用することによって変換の数を最小限にする。
【0028】
ブロック330において、プランニングおよびスケジューリングシステム200は、ボトルネックローディング計画に適用された第2の数理計画法モデルを実行し、第2の数理計画法モデルは、解決策を生成し、解決策を処理して、ボトルネック機械ファミリの少なくとも1つの機械のための変換スケジュールを生成する。変換モジュール225は、各変換の時間、および各変換の前に工場プロセスの各ステップのどれだけの量が処理されるべきかを識別する。変換スケジュール225は、少なくとも1つの機械変換がいつ実行されるべきかを示す。変換スケジュール225は、オンタイム納品を最大限に引き延ばし、変換の数を最小限にし、サイクル時間を最小限にし、他のKPIを最適化することができる。変換スケジュール225は、所与の期間を通して変換を均等に分散させることができる。数理計画法モデルは、MIP最適化モデルとすることができ、MIP最適化モデルは、個々の機械をさらにモデル化し、処理される製品の量をモデル化する。作成された変換スケジュール225の1つまたは複数の出力は、各機械により各期間に各ボトルネックステップで処理される製品の量と、各機械により各期間に各変換で費やされる時間とを含む。変換スケジュール225は、ある時間間隔の間に工場の各機械の変換スケジュールを履行するために機械変換がいつ実行されるべきかを示す。機械変換がいつ実行されるべきかについての少なくとも1つの指標は、各変換の時間、および各変換の前に生産フローの各ステップのどれだけの量が処理されるべきかを含む。
【0029】
ブロック340において、プランニングおよびスケジューリングシステム200は、変換スケジュール225に従うシミュレーションを実行することによって工場のロットスケジュール235を作成する。シミュレーションツールは、変換スケジュール225およびボトルネックローディング計画215にも適用されて、ロットスケジュール235が作成される。ロットスケジュール235には、工場の各機械の識別子と、指定された期間での工場全体の各機械の各ロットに対する対応する開始時間および終了時間とが含まれる。ロットスケジュール235は、指定された期間に工場全体の各ツールで処理する各製品の量を含む。ロットスケジュール235を単一のロットに分割して、2つ以上の機械で同時に処理することもできる。この分割は、シミュレーションのブロックベース構成を使用して制御することができる。
【0030】
ブロック350において、プランニングおよびスケジューリングシステム200はロットスケジュール235を発行する。ロットスケジュールは、工場の発送システム240により、または手動でオペレータにより処理することができる。ロットスケジュール235は、工場全体について指定された期間に各ボトルネックツールで処理する各製品の量を示す。
【0031】
次に、後端半導体処理は、ロットスケジュール235に従って実行され、それによって、より効率的な方法で半導体ウエハから組み立てられ試験された集積回路(IC)パッケージが生成される。
【0032】
本開示の様々な実施形態の説明は、例示の目的のために提示されているが、網羅的であることまたは開示された実施形態に限定されることを意図するものではない。多くの変形および変更が、記載された実施形態の範囲および趣旨から逸脱することなく、当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実用的な用途、もしくは市場で見いだされる技術に対する技術的な改善を最もよく説明するために、または本明細書で開示される実施形態を当業者が理解できるようにするために選ばれた。
【0033】
当業者には理解されるように、本開示の態様は、システム、方法、またはコンピュータプログラム製品として具現化することができる。それに応じて、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアの態様とハードウェアの態様を組み合わせた実施形態の形態をとることができ、それらはすべて、本明細書では、一般に、「回路」、「モジュール」、または「システム」と呼ばれることがある。さらに、本開示の態様は、コンピュータ可読プログラムコードが具現化された1つまたは複数のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとることができる。
【0034】
1つまたは複数のコンピュータ可読媒体の任意の組合せが利用されてもよい。コンピュータ可読媒体は、非一時的コンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、限定はしないが、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、もしくはデバイス、または前述のものの任意の適切な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例(非網羅的なリスト)は以下のもの、すなわち、1つまたは複数のワイヤを有する電気接続、携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラム可能読出し専用メモリ(EPROMもしくはフラッシュメモリ)、光ファイバ、携帯用コンパクトディスク読出し専用メモリ(CD-ROM)、光学ストレージデバイス、磁気ストレージデバイス、または前述のものの任意の適切な組合せを含む。本明細書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによりまたはそれらに関連して使用するためのプログラムを包含または格納することができる任意の有形媒体とすることができる。
【0035】
コンピュータ可読媒体に具現化されたプログラムコードは、限定はしないが、無線、有線、光ファイバケーブル、RFなど、または前述のものの任意の適切な組合せを含む任意の適切な媒体を使用して送信することができる。
【0036】
本開示の態様の動作を実行するためのコンピュータプログラムコードは、Java、C#、Smalltalk、C++などのようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書くことができる。プログラムコードは、完全にユーザコンピュータで、部分的にユーザコンピュータで、スタンドアロンソフトウェアパッケージとして、部分的にユーザコンピュータおよび部分的にリモートコンピュータで、または完全にリモートコンピュータもしくはサーバで実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよく、または外部コンピュータへの接続が行われてもよい(例えば、インターネットサービスプロバイダを利用するインターネットを通して)。
【0037】
本開示の態様が、本開示の実施形態による方法、装置(システム)、およびコンピュータプログラム製品の流れ図および/またはブロック図を参照して上記に記載されている。流れ図および/またはブロック図の各ブロック、および流れ図および/またはブロック図のブロックの組合せは、コンピュータプログラム命令によって実施することができることを理解されよう。これらのコンピュータプログラム命令は、機械を生成するために汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに供給することができ、その結果、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、流れ図および/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実施するための手段を作成する。
【0038】
これらのコンピュータプログラム命令はまた、特定の方法で機能するようにコンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに指示することができるコンピュータ可読媒体に格納することができ、その結果、コンピュータ可読媒体に格納された命令は、流れ図および/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実施する命令を含む製品を生成する。
【0039】
図の流れ図およびブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実施態様の構成、機能、および動作を示す。これに関しては、流れ図またはブロック図の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部分を表すことができる。いくつかの代替実施態様では、ブロックに示された機能は、図に示された順序から外れて行われてもよい。例えば、連続して示された2つのブロックは、実際には、備わっている機能性に応じて、実質的に同時に実行され、並行して実行されてもよく、またはブロックは、時には、逆の順序で実行されてもよい。ブロック図および/または流れ図の各ブロック、およびブロック図および/または流れ図のブロックの組合せは、指定の機能もしくは動作を実行するか、または専用のハードウェアとコンピュータ命令の組合せを実行する専用ハードウェアベースシステムによって実施されてもよいことにも留意されたい。
【0040】
有利には、本明細書に記載された方法は、半導体製造環境での機械計画およびスケジュールためのロットを作成する。このスケジュールは、機械の工場ボトルネックに対処することによって、各ロットに対して、変換を減少させ、オンタイム納品を提供し、全体的なスループットを向上させ、サイクル時間および他のKPIなどを減少させることができる。ロット割り当てが、優先順位、利用可能なリソース、および他の製造制約に基づいて、機械に対してスケジューリングされるか、または多数の機械に分割される。スケジュールをシミュレートして、今後のロット処理を決定することができる。スケジュールを実時間でモニタして、スケジュールに逸脱が現われたときスケジュールに変更を行い、それにより、さらなる最適化が可能になる。さらに、選択されたタイムバケットにおけるスケジュールの実時間モニタリングにより、プロセス改善のために高歩留まりバケットおよび低歩留まりバケットを調査することによってさらなる最適化が可能になる。さらに、コンピュータは以前には自動的にスケジュールを作成することができなかったが、実施形態により、コンピュータはスケジュールを自動的に作成することができる。
【0041】
前述は本開示の実施形態に関するが、本開示の他のおよびさらなる実施形態を、本開示の基本的な範囲から逸脱することなく考案することができ、本開示の範囲は以下の特許請求の範囲によって決定される。