(57)【特許請求の範囲】
【請求項１】
複数の半導体処理装置を制御する半導体処理工程制御システムであって、
プロセスフロー情報を取得するフロー情報取得部と、
前記プロセスフロー情報から、処理対象となる前記半導体処理装置、処理内容及び工程状態を特定する特定情報を取得する工程判断部と、
前記半導体処理装置、前記処理内容、前記工程状態毎に異なる複数の制御変数計算手段の中から、前記特定情報に基づいてそれに適合する制御変数計算手段を選択し、計算を行う制御計算選択実行部と、
前記制御計算選択実行部の計算により得られた制御変数を受け取り、前記半導体処理装置へ送る制御変数送信部と、
を備えることを特徴とする半導体処理工程制御システム。
【請求項２】
前記制御変数計算手段は、前記特定情報に基づいて処理速度の情報を取得し、処理速度から処理時間を計算する機能を有する、
ことを特徴とする請求項１に記載の半導体処理工程制御システム。
【請求項３】
前記制御変数計算手段が処理速度の情報を取得するに際し、前記特定情報における前記処理内容から、処理条件及び処理対象膜種を求め、これら処理条件及び処理対象膜種を基に処理速度の情報を取得する、
ことを特徴とする請求項２に記載の半導体処理工程制御システム。
【請求項４】
処理条件に対応した論理ステップ処理と、この論理ステップ処理に基づいて前記半導体処理装置の制御に必要なすべての処理ステップからなる物理ステップ処理との間の対応づけデータを有する対応情報データ部を、
さらに備えることを特徴とする請求項１乃至請求項３のいずれかに記載の半導体処理工程制御システム。
【請求項５】
前記制御変数計算手段は、
前記半導体処理装置による処理データを取得しこれをデータ一時保管部に保管し、
前記データ一時保管部に保管された前記処理データに基づき処理工程の一部を省略するか否かを判断する、
ことを特徴とする請求項１乃至請求項４のいずれかに記載の半導体処理工程制御システム。
【請求項６】
複数の半導体処理装置を制御する半導体処理工程制御方法であって、
プロセスフロー情報から処理対象となる前記半導体処理装置、処理内容及び工程状態を特定する特定情報を取得する工程判断工程と、
前記半導体処理装置、前記処理内容、前記工程状態毎に異なる複数の制御変数計算の中から、前記特定情報に基づいてそれに適合する制御変数計算を選択して、計算を行う制御計算選択実行工程と、
前記制御変数計算により得られた制御変数を受け取り、前記半導体処理装置へ送る制御変数送信工程と、
を備えることを特徴とする半導体処理工程制御方法。
【請求項７】
複数の半導体処理装置を制御するためのプログラムが記録された記録媒体であって、
プロセスフロー情報から処理対象となる前記半導体処理装置、処理内容及び工程状態を特定する特定情報を取得する工程判断工程と、
前記半導体処理装置、前記処理内容、前記工程状態毎に異なる複数の制御変数計算の中から、前記特定情報に基づいてそれに適合する制御変数計算を選択して、計算を行う制御計算選択実行工程と、
前記制御変数計算により得られた制御変数を受け取り、前記半導体処理装置へ送る制御変数送信工程と、
をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体処理工程制御システム、半導体処理工程制御方法、及び、そのための処理を記録した記録媒体に関し、特に処理工程、制御変数の計算法、処理装置の変化に柔軟かつ迅速に対応できる半導体処理工程制御システム、半導体処理工程制御方法、及び、そのための処理を記録した記録媒体に関する。
【０００２】
【従来の技術】
ＩＣ、ＬＳＩ等の半導体装置を製造するには成膜、エッチング、洗浄、検査等多くの処理工程を経る必要があり、各工程において目標とする処理が行われる。目標とする処理を実現するために各処理装置の制御条件及びその処理時間を適切に設定する必要がある。
【０００３】
例えばある工程において成膜処理を行う場合には膜の材質（膜種）と膜厚がその処理目標となる。ここで、特定の半導体に目標とする膜種の成膜を行うことを処理内容と呼ぶこととする。成膜装置の制御条件（ＣＶＤ装置であれば使用するガス材料、ガスの流量、温度等の条件）を適切に選択することによって目標とする処理内容（目標膜種の成膜）が実現でき、成膜処理を行っている時間（堆積時間）によって膜厚を制御できる。ここで、堆積時間は目標膜厚を成膜レート（単位時間に成膜される膜厚、すなわち一種の処理速度）で割り算することで求められる。なお、成膜レートはあらかじめ装置のメンテナンス時等に測定しておきレートテーブルとして保管されている。
【０００４】
また、エッチング処理を行う場合には特定の半導体に成膜された特定材料の膜をエッチングすることが処理内容で、この処理内容及びエッチングの深さ（膜厚）が処理目標である。この処理内容を実現するためにエッチング装置の制御条件が決定される。また、エッチング時間（処理時間）が、目標とするエッチング深さ（膜厚）をエッチングレート（単位時間あたりのエッチング深さ、すなわち、一種の処理速度）で割り算することで決定される。エッチングレートは成膜の場合と同様にレートテーブルとして保管されている。
【０００５】
複数の処理工程における処理装置の制御条件、処理時間を管理するために半導体処理工程制御システムが用いられる。ここで、成膜する場合（単一工程の場合）を処理内容の例にとり、従来の半導体処理工程制御システムによる工程制御の流れを表す。工程フローを図２９に示し、工程制御の流れを図３０に示す。
【０００６】
図３０に示すように、半導体処理工程制御システムは工程フロー情報から自工程における処理目標（この場合は成膜する膜種、膜厚）及び処理装置の制御条件を読みとる。そして、レートテーブルを参照して目標膜厚を成膜レートで割り算することで処理時間（この場合は堆積時間）を求める。この例では、目標膜厚１０００■を成膜レート１０オングストローム／分で割った１００分が堆積時間となる。そして、成膜装置またはその制御装置に制御変数（処理装置の制御条件と処理時間の双方を含めた処理装置の制御に関わる条件設定、以下も同様）を送って成膜処理を行う。この図３０に示す例では、目的となる処理工程に対する制御方法は固定的なものである。
【０００７】
複数の膜を成膜する場合及び複数の膜をエッチングする場合における処理時間の計算方法を図３１及び図３２に示す。この場合は、成膜又はエッチングする膜の材料によって処理装置の制御条件及び処理速度（成膜レート、エッチングレート等）が異なるためそれぞれの膜を処理する工程毎に処理時間を計算する必要がある。
【０００８】
半導体処理工程制御システムはハードウェアそのもので構成してもよいが、通常は処理工程の変化等に迅速に対処できるようコンピュータ上のプログラム（ソフトウェア）として構成できる。これを図３３に示す。
【０００９】
この図３３に示すように、各工程に使用する処理装置毎に工程制御プログラムがあり、それぞれの処理装置を制御している。すなわち、複数の工程制御プログラムの集合によって半導体処理工程制御システムの機能を実現している。工程やそれに使用する装置が変更されたときには、それぞれの工程制御プログラムの内容を変更してこれに対処することができる。
【００１０】
【発明が解決しようとする課題】
しかしながら、制御条件は装置及び処理内容によってのみ決まる固定的なものではなく、また成膜レートは必ずしも一定ではないという問題がある。
【００１１】
すなわち、制御条件は処理装置の使用履歴等により変化しうるものである。また、成膜レートは成膜する下地の状態によって変化しうるものであり、従って堆積した膜の厚さによって成膜レートが変化することもある。
【００１２】
このようなことに対処する方法として例えば、過去の制御条件を考慮して適切な制御条件を計算する方法が特開平８−４５８０４号に開示されており、目標膜厚から処理時間を計算する方法が特開平６−１９６４０４号に開示されている。
【００１３】
このような制御条件、処理時間の計算方法は必ずしも決まったものではなく目的とする処理内容等により変化しうるものである。従来の半導体処理工程制御システムではこのような制御条件、処理時間の計算法の変化に柔軟に対処することはできず、計算法を変える度にプログラム全体を作り直すしかないという問題があった。
【００１４】
また、処理装置、処理工程の変更（個々の工程の変更の他、工程の削除、追加を含む）を行う場合にもプログラム全体の変更を要し、時間がかかるという問題があった。
【００１５】
以上述べたように、従来の半導体処理工程制御システムでは、処理工程、制御変数の計算法、処理装置等の変化に迅速に対応できず、結果として半導体装置の開発の遅れをもたらす可能性があった。
【００１６】
そこで、本発明は、前記課題に鑑みてなされたものであり、処理工程、制御変数の計算法、処理装置の変化に柔軟かつ迅速に対応できる半導体処理工程制御システムを提供することを目的とする。
【００１７】
【課題を解決するための手段】
上記課題を解決するため、半導体処理工程制御システムは、
複数の半導体処理装置を制御する半導体処理工程制御システムであって、
プロセスフロー情報を取得するフロー情報取得部と、
前記プロセスフロー情報から、処理対象となる前記半導体処理装置、処理内容及び工程状態を特定する特定情報を取得する工程判断部と、
前記半導体処理装置、前記処理内容、前記工程状態毎に異なる複数の制御変数計算手段の中から、前記特定情報に基づいてそれに適合する制御変数計算手段を選択し、計算を行う制御計算選択実行部と、
前記制御計算選択実行部の計算により得られた制御変数を受け取り、前記半導体処理装置へ送る制御変数送信部と、
を備えることを特徴とする。
【００１９】
また、半導体処理工程制御方法は、複数の半導体処理装置を制御する半導体処理工程制御方法であって、
プロセスフロー情報から処理対象となる前記半導体処理装置、処理内容及び工程状態を特定する特定情報を取得する工程判断工程と、
前記半導体処理装置、前記処理内容、前記工程状態毎に異なる複数の制御変数計算の中から、前記特定情報に基づいてそれに適合する制御変数計算を選択して、計算を行う制御計算選択実行工程と、
前記制御変数計算により得られた制御変数を受け取り、前記半導体処理装置へ送る制御変数送信工程と、
を備えることを特徴とする。
【００２０】
また、コンピュータ読み取り可能な記録媒体は、複数の半導体処理装置を制御するためのプログラムが記録された記録媒体であって、
プロセスフロー情報から処理対象となる前記半導体処理装置、処理内容及び工程状態を特定する特定情報を取得する工程判断工程と、
前記半導体処理装置、前記処理内容、前記工程状態毎に異なる複数の制御変数計算の中から、前記特定情報に基づいてそれに適合する制御変数計算を選択して、計算を行う制御計算選択実行工程と、
前記制御変数計算により得られた制御変数を受け取り、前記半導体処理装置へ送る制御変数送信工程と、
をコンピュータに実行させるためのプログラムを記録したことを特徴とする。
【００３１】
【発明の実施の形態】
〔第１実施形態〕
本発明の第１の実施形態はプロセス制御本体部と制御変数計算プログラムからなり、処理工程によって制御変数計算プログラムを差し替えて使用する半導体処理工程制御システムである。より詳しくを以下に説明する。
【００３２】
図１（ａ）に本実施形態の構成ブロックを示す。プロセス制御本体部１００は、複数の制御変数計算プログラム２１０を有する制御変数計算部２００と結合されている。制御変数計算プログラム２１０のそれぞれが、本実施形態における制御変数計算手段を構成している。
【００３３】
プロセス制御本体部１００は、工程管理部３００と、１又は複数の半導体製造装置４００や半導体検査装置４０２に接続されている。半導体製造装置４００と半導体検査装置４０２とは、本実施形態における半導体処理装置を構成している。
【００３４】
工程管理部３００は、プロセスフロー全体を管理する上位システムコンピュータであり、プロセス本体制御本体部１００に、プロセスフロー情報を送信する。このプロセスフロー情報は、コンテキスト情報とも呼ばれるものであり、半導体製造装置４００や半導体検査装置４０２で行う処理工程の順序と各処理工程において目標とする処理の内容を示す情報である。
【００３５】
プロセス制御本体部１００は半導体製造装置４００や半導体検査装置４０２やレシピに依存しない構成部である。制御変数計算プログラム２１０（１）〜２１０（ｎ）は処理装置の制御変数を計算する計算部である。本実施形態の特徴は、レシピ毎に作成される制御変数計算プログラム２１０（１）〜２１０（ｎ）のいずれかを選択して、プロセス制御本体部１００にプラグインできることにある。つまり、制御変数計算プログラム２１０（１）〜２１０（ｎ）は、プロセス制御本体部１００に抜き差し可能に構成されている。ここで、レシピとは、ある装置である品種のある処理を行う処理条件であり、同じレシピを使用した場合でも、品種やプロセスフローの中で使う位置や順序が異なれば、制御変数計算プログラム２１０は異なる場合もある。
【００３６】
図１（ｂ）は、プロセスフローと制御変数計算プログラム２１０の関係を示す図である。工程ｉに対応して制御変数計算プログラム２１０（ｉ）が適用されている。制御変数計算プログラム２１０の機能はプログラムにより記述することができる。その具体例を図２に示す。なお、半導体処理のプロセスフロー全体では、図３に示すように処理（製造）工程の他に検査工程も含まれることから、ここでは「処理」には検査をも含んで考えることし、ある工程が検査工程であればそれによっても制御変数計算プログラム２１０（ｉ）は適宜置き換え使用されるものとする。
【００３７】
図４は、本実施形態における半導体処理工程制御システムのハードウェア構成を示す図である。この図４に示すように、半導体処理工程制御システムは、プロセス制御主サーバ５１０と、プロセス制御副サーバ５１２と、ＱＣ（品質管理）データサーバ５２０と、工程管理サーバ５３０と、装置制御サーバ５４０（１）〜５４０（ｎ）とを、ネットワークを介して相互接続することにより構成されている。
【００３８】
プロセス制御サーバ５１０と、ＱＣデータサーバ５２０と、工程管理サーバ５３０には、それぞれ、データベースが構築された補助記憶装置が接続されている。このとき、プロセス制御本体部１００及び制御変数計算プログラム２１０はプロセス制御サーバ５１０に対応しており、工程管理部３００は工程管理サーバ５３０に対応している。半導体製造装置４００又は半導体検査装置４０２の制御部は装置制御サーバ５４０に接続されている。
【００３９】
制御変数計算プログラム２１０は、図５（ａ）及び図５（ｂ）のように、制御変数を計算する手順・処理の流れを管理する計算管理部２１０Ａと、制御変数の計算に用いる計算式からなる計算式部２１０Ｂに分けられている。計算管理部２１０Ａは、装置及びレシピにより異なるため、装置又はレシピ毎に存在する。計算式部２１０Ｂは、このように制御変数計算プログラム２１０内で記述できるが、外部のアプリケーションの式を呼び出して使用することも可能である（外部プログラムとのリンク）。
【００４０】
更に、制御変数計算プログラム２１０は、図６の様に、純粋に処理装置の制御変数の計算のみを行う制御計算プログラム２１１と、処理装置の処理状況データの加工、一時的な保存、及びこれらのデータに基づく処理装置の装置定数の計算を行う実処理集計プログラム２１２に分離することもできる。この場合でも、制御計算プログラム２１１及び実処理集計プログラム２１２はそれぞれ計算管理部２１１Ａ、２１２Ａ及び計算式部２１１Ｂ、２１２Ｂに区分できる。
【００４１】
次にプロセス制御本体部１００の詳細を図７に示す。この図７に示すように、プロセス制御本体部１００は、工程判断部１１０、フロー情報取得部１２０、制御変数送受信部１３０、制御計算選択実行部１４０、及び、データ一時保管部１５０を備えて構成されている。
【００４２】
工程判断部１１０は、フロー情報取得部１２０、制御変数送受信部１３０及び制御計算選択実行部１４０と結びつけられている。制御計算選択部１４０は更に制御変数送受信部１３０及びデータ一時保管部１５０と結ばれ、この全体としてプロセス制御本体部１００を構成している。制御計算選択実行部１４０は、複数の制御変数計算プログラム２１０（１）〜２１０（ｎ）の中から任意の制御変数計算プログラムを選択してプラグインすることが可能である。
【００４３】
プロセス制御本体部１００によって制御変数計算プログラム２１０（１）〜２１０（ｎ）の選択が行われる。この処理のフローチャートを図８に示す。
【００４４】
プロセスフロー情報には、処理を行う対象の装置又は対象の装置を決定できる情報や、対象の装置で使用されるレシピ又はレシピを決定できる情報が登録されている。このため、図８に示すように、工程判断部１１０は、フロー情報取得部１２０からこのプロセス情報を取得して、対象となる装置名とレシピ名とを得る（ステップＳ１０）。続いて、制御計算選択実行部１４０において、取得した対象の装置名とレシピ名から、装置とレシピを管理している装置レシピ管理テーブルを用いて、これに対応する制御変数計算プログラム２１０を検索する（ステップＳ１１）。すなわち、装置レシピ管理テーブルは、装置群名、装置名及びレシピ名の組合せと、それに該当する制御計算プログラムとの対応関係を管理しているテーブルである。
【００４５】
次に、この検索の結果、対応する制御変数計算プログラム２１０が存在したかどうかを判断する（ステップＳ１２）。対応する制御変数計算プログラム２１０が存在した場合には、その制御変数計算プログラム２１０をメモリ上に呼び出し、計算に必要なパラメータを受け渡して制御変数計算プログラムを実行する（ステップＳ１３）。
【００４６】
制御変数計算プログラムの計算処理が終了した場合、制御変数計算プログラム２１０が正常に終了したかどうかを判断する（ステップＳ１４）。正常に終了していた場合には、制御変数送受信部１３０に計算結果を出力してこの処理を終了する。また、ステップＳ１２で対応する制御変数計算プログラム２１０が存在しなかった場合、又は、ステップＳ１４で制御変数計算プログラム２１０が正常に終了しなかった場合にも、この処理を終了する。
【００４７】
次に、上述した流れを詳細に記述したデータフローダイアグラムを示した図９に基づいて、半導体処理工程制御システムの処理内容について、さらに詳細に説明する。この図９においては、図６で示したように、制御変数計算プログラム２１０は、制御計算プログラム２１１と実処理集計プログラム２１２とに分けられている。
【００４８】
まず、工程管理部３００からプロセスフロー情報がプロセス制御本体部１００のフロー情報取得部１２０に送信される。フロー情報取得部１２０はこのプロセスフロー情報を工程判断部１１０に送信する。工程判断部１１０は、このプロセスフロー情報に基づいて、処理状態や工程、装置などを判断する。この判断された情報（処理開始などの処理状態、装置など）は、制御計算選択実行部１４０にわたされる。
【００４９】
制御計算選択実行部１４０では、これらプロセス情報、装置、処理状態などの情報に基づいて、制御計算プログラム２１１を選択し、これを起動する。起動された制御計算プログラム２１１は、データ一時保管部１５０内のデータや、ＱＣデータベース２３２内の各種データを参照し、計算を実行する。この制御計算プログラム２１１により得られた計算結果は、制御計算選択実行部１４０に送信される。そして、この計算結果は、制御変数送受信部１３０で各装置に適合した制御パラメータに置き換えられた上で、半導体製造装置４００（又は半導体検査装置４０２）に送信される。
【００５０】
上記の処理において、工程判断部１１０の判断で処理状態が処理終了及び検査終了であった場合には、制御計算選択実行部１４０では実処理集計をするための実処理集計プログラム２１２が起動される。この実処理集計プログラム２１２には、例えば、装置からある種の処理データ（例えば膜厚、実処理データ）を取得するように記述しておく。
【００５１】
このようにすることにより、半導体製造装置４００（又は半導体検査装置４０２）から制御変数送受信部１３０は処理データを受信する。この処理データは、制御計算選択実行部１４０に送信される。また、必要に応じてフロー情報取得部１２０は、工程管理部３００からプロセスフロー情報を取得する。このプロセスフロー情報には、工程管理情報が含まれている。このため、フロー情報取得部１２０は、プロセスフロー情報から工程管理情報を抽出して、制御計算選択実行部１４０に送信する。
【００５２】
制御計算選択実行部１４０はこれら処理データと工程管理情報の中から、必要な情報を実処理集計プログラム２１２にわたす。また、実処理集計プログラム２１２は、必要に応じて、ＱＣデータベース２３２から各処理データや装置定数を取得する。そして、実処理集計プログラム２１２はこの受け取った情報に基づいて必要なデータ処理や集計を行い、その結果を、データ一時保管部１５０に格納する。データ一時保管部１５０に格納された処理データは、上述したように、制御計算プログラム２１１で適宜使用される。
【００５３】
次に、図１０に基づいて、本実施形態における処理の流れを具体例に従い説明する。図１０は成膜工程において処理時間を計算する場合の処理フローである。プロセスフロー情報から取得したプロセス情報に基づき制御計算選択実行部１４０は、複数の中から１つの制御変数計算プログラム２１０を選択する。このときの制御変数計算プログラム２１０における処理内容は、（１）プロセスフロー情報から目標膜厚を読みとる、（２）装置（装置名）、処理内容（レシピ名）より制御変数を決定し、そのときの成膜レートを読みとる、（３）計算式に基づき成膜時間を計算する、などである。得られた計算結果は、制御変数送受信部１３０を介して半導体製造装置４００や半導体検査装置４０２の制御部にダウンロードされる。
【００５４】
以上のように、本実施形態に係る半導体処理工程制御システムによれば、半導体製造装置４００や半導体検査装置４０２に依存せずに半導体処理工程の制御を行うプロセス制御本体部１００と、半導体製造装置４００や半導体検査装置４０２、及び、それにより行う処理目標に適合する制御変数を求める制御変数計算プログラム２１０と分けて構成し、必要な制御変数計算プログラム２１０をプロセス制御本体部１００にプラグインして使用することとしたので、半導体製造装置４００や半導体処理装置４０２や処理目標が変更された場合でも、それらの変更に容易に対応することができる。
【００５５】
すなわち、１つの半導体製造装置４００の処理目標を変更するような場合でも、その半導体製造装置４００に対応する制御変数計算プログラム２１０のみを変更すればよいので、他の半導体製造装置４００や他の半導体検査装置４０２に影響を及ぼさずにすむ。このため、他の半導体製造装置４００や他の半導体検査装置４０２の稼働を停止せずにシステム変更をすることができる。
【００５６】
〔第２実施形態〕
本発明の第２の実施形態はプロセス制御本体部、制御変数計算手法プログラム及び制御変数計算プログラムからなり、制御変数計算手法プログラムがそれに接続した複数の制御変数計算プログラムを適宜起動させることで、複数工程にわたる制御を行えるようにしたものである。より詳しくは以下に説明する。
【００５７】
図１１（ａ）に本実施形態の構成ブロックを示す。プロセス制御本体部１００に制御変数計算手法プログラム２２０がプラグインされ、さらにこの制御変数計算手法プログラム２２０に複数の制御変数計算プログラム２１０がプラグインされる。制御変数計算プログラム２１０は、各工程に対応して設けられている。この制御変数計算手法プログラム２２０が、本実施形態における制御変数計算手法手段を構成している。
【００５８】
プロセス制御本体部１００と制御変数計算プログラム２１０は、第１実施形態と同様の機能を有しているが、この間に制御変数計算手法プログラム２２０が加わっている点が異なっている。制御変数計算手法プログラム２２０は複数工程にまたがるプロセス制御のための制御変数計算プログラム２１０を管理する機能を有している。
【００５９】
本実施形態の動作の例を図１１（ｂ）に示す。この例では工程ｉ、工程ｊ、工程ｋの３工程にわたる制御変数計算を行っており、制御変数計算手法プログラム２２０はこれら３工程の間の関連情報の管理、制御変数計算プログラム２１０（ｎ、ｉ）、２１０（ｎ、ｊ）、２１０（ｎ、ｋ）の適宜な起動を行っている。このように制御変数計算手法プログラム２２０によって、複数工程のそれぞれに対応した制御変数計算プログラム２１０を一括して管理できる。制御変数計算手法プログラム２２０は複数の制御変数計算プログラム２１０の結合及び管理を行うほかに、複数工程にわたる計算手法をも記述することができることが特徴である。なお、「処理」には検査をも含んで考えることは第１の実施形態同様である。
【００６０】
制御変数計算プログラム２１０は図１２（ａ）及び図１２（ｂ）のように制御変数を計算する手順・処理の流れを管理する計算管理部２１０Ａと制御変数の計算に用いる計算式部２１０Ｂに分けられることは第１の実施形態と同様である。制御変数計算手法プログラム２２０には、複数工程にわたる計算の手法を記述する複数工程計算手法部２２１が含まれている。計算手法が異なれば制御変数計算手法プログラム２２０を差し替えて使用できる。
【００６１】
本実施形態において、制御変数計算手法プログラム２２０以外は第１の実施形態と同様であるため、他の部分の詳細な説明は省略する。
【００６２】
本実施形態における全体のデータの流れを図１３に示す。ここでは、制御変数計算プログラム２１０が、第１の実施形態同様に制御計算プログラム２１１と実処理集計プログラム２１２に分離している。
【００６３】
本実施形態における処理の流れを説明する。プロセスフロー情報はフロー情報取得部１２０によって取得され工程判断部１１０を介して制御計算選択実行部１４０へ渡される。そして、制御計算選択実行部１４０の指令に基づいて、制御変数計算手法プログラム２２０は制御変数計算プログラム２１０（α）を選択し、適宜起動する。このとき制御変数計算手法プログラム２２０は、プロセスフロー情報から取得したプロセスフロー情報に基づき、制御変数計算プログラム２１０（α）を選択する。
【００６４】
制御変数計算プログラム２１０（α）は、上述した第１実施形態における図９で述べたのと同様の処理を行い、制御計算プログラム２１１（α）から計算結果を求め、半導体製造装置４００Ａに制御パラメータをわたす。また、制御計算プログラム２１１（α）の計算結果は、データ一時保管部１５０に格納される。
【００６５】
半導体製造装置４００Ａから得られた処理データは、実処理集計プログラム２１２（α）に送信される。実処理集計プログラム２１２（α）では、この処理データの集計を行うとともに、その計算結果をデータ一時保管部１５０に格納する。
【００６６】
次に、同様の手順で、制御変数計算手法プログラム２２０は制御変数計算プログラム２１０（β）を選択し、適宜起動する。この制御変数計算プログラム２１０（β）における処理内容は半導体検査装置４０２Ｂから膜厚の検査結果データを取得し、データ一時保管部１５０に保管するというものである。
【００６７】
次工程では、このときのプロセスフロー情報に基づいて、制御変数計算手法プログラム２２０は制御変数計算プログラム２１０（γ）を選択し、起動する。この例では、制御変数計算プログラム２１０（γ）は、データ一時保管部１５０に保管された膜厚の検査データとＱＣデータベースより取得した最新の装置定数（ここでは処理速度、特にエッチングレート）から、一定の計算を行いエッチング時間を計算するというものである。この計算結果は制御変数として制御変数送受信部１３０を介して半導体製造装置４００や半導体検査装置４０２の制御部に送られる。
【００６８】
このとき、制御変数計算手法プログラム２２０は制御変数計算プログラム２１０（β）と制御変数計算プログラム２１０（γ）の起動及びそれぞれ間のデータの関連づけを行う。具体的には、制御変数計算手法プログラム２２０には共有データ情報をデータ一時保管部１５０へ送信するとともに、データ一時保管部１５０の管理を行う。また、制御変数計算手法プログラム２２０は、プログラム起動管理機能部２３４を介して、制御変数計算プログラム２１０（β）と制御変数計算プログラム２１０（γ）へ、起動制御情報を送信する。起動制御情報とは、各プログラムを排他起動させるための情報である。
【００６９】
以上のように、本実施形態に係る半導体処理工程制御システムによれば、プロセス制御本体部１００に制御変数計算手法プログラム２２０を抜き差し可能に構成し、この制御変数計算手法プログラム２２０に制御変数計算プログラム２１０を抜き差し可能に構成したので、複数の工程にまたがる制御を容易に行うことができる。
【００７０】
また、上述した第１実施形態と同様に、半導体製造装置４００や半導体検査装置４０２に依存せずに半導体処理工程の制御を行うプロセス制御本体部１００と、半導体製造装置４００や半導体検査装置４０２、及び、それにより行う処理目標に適合する制御変数を求める制御変数計算プログラム２１０及び制御変数計算手法プログラム２２０と分けて構成し、必要な制御変数計算プログラム２１０を制御変数計算手法プログラム２２０を介してプロセス制御本体部１００にプラグインして使用することとしたので、半導体製造装置４００や半導体処理装置４０２や処理目標が変更された場合でも、それらの変更に容易に対応することができる。
【００７１】
〔第３実施形態〕
本発明の第３の実施形態は半導体処理工程制御システム内に論理ステップ処理と物理ステップ処理の対応づけを表す対応情報データ部を設けたものであり、各物理ステップの処理を論理ステップと対応づけることができる。
【００７２】
この実施形態の構成は対応情報データ部を設けた以外には特に第２の実施例と変わることはない。
【００７３】
以下、本実施形態において複数の膜のエッチング処理を行う場合の例を説明する。図１４はプロセスフロー情報と物理ステップ情報（各物理ステップにおける制御パラメータの組み合わせ情報）が示され、図１５には処理時間の計算方法が示されている。
【００７４】
これら図１４及び図１５に示すように、プロセスフロー情報には、加工対象である膜Ａ（膜種Ａ１、膜厚Ａ２）と膜Ｂ（膜種Ｂ１、膜厚Ｂ２）を条件Ｄで同時にエッチング処理し、膜Ｃ（膜種Ｃ１、膜厚Ｃ２）を条件Ｅでエッチング処理する工程が記述されている。つまり、このプロセスフロー情報には、１つの工程で２つの異なる条件で順にエッチング処理する工程が記述されている。
【００７５】
このときの各処理条件に直結した２つのステップを論理ステップという。つまり、この場合、膜Ａと膜Ｂを同時エッチング処理するのが１つの論理ステップとなり、膜Ｃをエッチング処理するのが１つの論理ステップとなる。この２つの論理ステップの実現は、各エッチング処理の前に処理の安定化を図るステップを加えた４つの物理ステップを実施することで行われる。
【００７６】
対応情報データ部に設けられた論理／物理ステップ管理テーブルを参照することで、第２物理ステップには第１論理ステップ及び制御条件Ｄが、第４物理ステップには第２論理ステップ及び制御条件Ｅが、それぞれ対応することが判る。これらの対応づけを基に、ＱＣデータベース２３２（図９参照）内のレートテーブルを参照して、エッチングレートを取得する。そして、目標エッチング膜厚（深さ）及びエッチングレートから第１論理ステップ及び第２論理ステップにおけるそれぞれの処理時間Ｆ、Ｇが計算される。ここで、この計算式は制御変数計算プログラム２１０に組み込まれ計算に用いられる。この算出された処理時間Ｆは第２物理ステップの処理時間となり、処理時間Ｇは第３物理ステップの処理時間となる。
【００７７】
以上のように、本実施形態に係る半導体処理工程制御システムによれば、プロセスフロー情報に示された論理ステップを、半導体製造装置４００や半導体検査装置４０２の実際の動作に係る物理ステップと対応させることができる。このため、半導体製造装置４００及び半導体検査装置４０２の制御を確実に行うことができる。
【００７８】
〔第４実施形態〕
本発明の第４の実施形態は、上述した第２の実施形態を変形して、実処理計算プログラムがその工程を省略しても良いかどうかの判断を行うものである。
【００７９】
この実施形態を具体的に説明するためのプロセスフローを図１６に示し、データの流れを図１７に示し、使用するコンピュータ・プログラムの例を図１８に示す。
【００８０】
この図１６の例では、プロセスはＣＶＤ成膜工程と水洗処理工程とダスト検査工程の３つから成り立っているとする。そして、成膜工程で発生するダストを除去する目的で水洗処理工程を行っているが、ダスト検査工程において検出されるダスト量が少ない場合に水洗処理工程を省略する判断を行わせることを考える。すなわち、ダスト検査工程における実処理計算プログラム２１２（ε）の集計結果において、ダストが所定期間、一定基準値以下であるような場合には、水洗処理工程を省略する。つまり、水洗工程をスキップする。
【００８１】
図１７に示すように、成膜工程、水洗処理工程、ダスト検査工程それぞれのプロセスフロー情報（装置名、レシピ名、処理時間）がフロー情報取得部１２０により取得され、それぞれ制御計算選択実行部１４０に送られて、適切な制御変数計算手法プログラム２２０が選択される。制御変数計算手法プログラム２２０は、水洗処理工程の制御変数計算プログラム２１０（δ）を起動する。これにより、水洗処理が半導体製造装置４００で行われる。その処理データは実処理集計プログラム２１２（δ）で集計される。この実処理集計プログラム２１２（δ）は、データ一時保管部１５０にある前のロットでのダスト量のデータを取得し、適宜設定された工程省略判断の計算式に基づき工程省略の可否判断を行う。
【００８２】
次の工程では、制御変数計算手法プログラム２２０は制御変数計算プログラム２１０（ε）を起動する。これにより、ダストの検査が半導体検査装置４０２で行われる。その処理データはその処理データは実処理集計プログラム２１２（ε）で集計される。すなわち、この実処理集計プログラム２１２（ε）はダスト検査装置である半導体検査装置４０２よりダスト量のデータを取得する。続いて、この実処理集計プログラム２１２（ε）は、このダスト両のデータ一時保管部１５０に保管する。このダスト量のデータは、上述したように後のロットにおいて水処理工程を省略すべきか否かの判断に用いられる。
【００８３】
このように、２つの実処理集計プログラム２１２（δ）、２１２（ε）の統合動作は、制御変数計算手法プログラム２２０によって行われる。この制御変数計算手法プログラム２２０は、データ一時保管部１５０の管理や、実処理集計プログラムにプログラム起動管理機能部２３４を介して送信する。
【００８４】
以上のように、本実施形態に係る半導体処理工程制御システムによれば、検査工程における検査結果を集計し、この検査結果に基づいてその前の水洗処理工程等を省くことができるかどうかを自動的に判断することとしたので、従来、人間が判断していた水洗処理工程等を省略することができるかどうかの判断を、システム的に行うことができる。このため、半導体処理工程の制御のシステム化を推進することができ、ひいては、工期短縮やコスト低減を図ることができる。
【００８５】
〔第５実施形態〕
本発明の第５の実施形態は工程スキップの判断を行う工程スキップの判断部を取り外し容易な外部プラグインとして設けた工程スキップ装置である。以下、本実施形態を詳しく説明する。
【００８６】
本実施形態の機能ブロックを図１９に示し、この機能が実現されるコンピュータ（ハードウェア）を図２０に示す。工程スキップ装置７０は、スキップ判断要求受信部７１と、スキップ判断可否部７２と、判断実行部７３と、 判断結果受 信部７４と、スキップ実行部７５と、判断結果登録部７６と、スキップ条件データベース７７と、ノウハウデータベース７８とを、備えている。ここで、工程スキップ装置７０には取り外し可能な判断プラグイン８０が結合される。また、工程スキップ装置７０には、ノウハウデータベース７８を介して、外部システム７９が接続されている。
【００８７】
本実施形態における動作を具体例に基づいて以下順に説明する。ロット処理開始情報によるスキップ判断要求がスキップ判断要求受信部７１により受信される。この要求を基にスキップ判断可否部７２は半導体装置の品種、工程のスキップ判断に用いる判断プラグインの名称などが登録されたスキップ条件データベース７７を検索し、その工程に対応する判断プラグイン８０を探し出す。
【００８８】
検索した情報を受けた判断実行部７３は対応する判断プラグイン８０を起動し、工程スキップを行うか否かの判断を実行させる。判断プラグイン８０の判断結果は判断結果受信部７４により受信され、スキップ実行部７５によって工程スキップが実行される。さらに、判断結果登録部部７６はスキップ判断を行った履歴をノウハウデータベース７８に記録し、外部システム７９への情報提供を可能にする。
【００８９】
次に、図２０に基づいて、本実施形態に係る工程スキップ装置のハードウェア構成を説明する。本実施形態に係る工程スキップ装置は、工程スキップ判断装置９０と、工程進捗端末９１と、工程管理データベース９２と、ＱＣデータベース９３と、外部システム７９とをネットワークバスを介して相互接続することにより構成されている。
【００９０】
さらに、工程スキップ判断装置９０は、ＣＰＵ９０ａと、ＲＡＭ９０ｂと、ローカルディスク９０ｃと、キャッシュデータベース９０ｄと、ノウハウデータベース７８とを備えて構成されている。
【００９１】
ＣＰＵ９０ａでは、工程スキップ判断プログラムと、判断プラグイン８０のプログラムが実行される。ＲＡＭ９０ｂには、工程スキップ判断プログラムと、判断プラグイン８０のプログラムが格納される。ローカルディスク９０ｃには、ＯＳや各種のプログラムが格納されている。キャッシュデータベース９０ｄには、ＱＣ結果が一時的に保存される。ノウハウデータベース７８には、工程をスキップするかどうかの判断結果が格納される。工程管理データベース９２には、工程管理情報が格納される。ＱＣデータベース９３には、ＱＣデータが格納される。
【００９２】
以上のように、本実施形態に係る半導体処理工程制御システムによれば、判断プラグイン８０を工程スキップ装置７０に抜き差し可能に構成したので、判断ロジックの変更に容易に対応することができる。
【００９３】
〔第６実施形態〕
本発明の第６の実施形態は、取り外し可能な判断プラグインにおいてＱＣ（品質管理）データの取得及びそのデータに基づく工程スキップの判断を行うようにしたものである。
【００９４】
図２１は、本実施形態に係る工程スキップ装置と判断プラグインの機能ブロックを示す図である。この図２１に示すように、判断プラグイン８０は、スペックデータベース８１、スペック検索部８２、ＱＣ結果抽出部８３、スキップ判断部８４、キャッシュデータベース９０ｄを備えて構成されている。ＱＣ結果抽出部８３には、ＱＣ（品質情報）データベース９３からの情報が入力される。
【００９５】
次に、図２２乃至図２７に基づいて、図２１を参照しつつ、本実施形態における動作を具体例に基づいて順に説明する。これら図２２乃至図２７は、本実施形態における具体的処理の例を示す図である。
【００９６】
図２２に示すように、ロット処理開始情報によるスキップ判断要求がスキップ判断要求受信部７１により受信される。ここでは半導体の品種ＡＡＡＡの工程βをスキップするか否かの判断を行うことになる。
【００９７】
次に、図２３に示すように、この要求を基にスキップ判断可否部７２は半導体装置の品種、工程のスキップ判断に用いる判断プラグインの名称などが登録されたスキップ条件データベース７７を検索し、その工程に対応する判断プラグイン８０を探し出す。このスキップ判断データベース７７には半導体の品種、各工程に対するスキップ判断可否情報（スキップ判断自体を行うか否かの情報）及びスキップ判断に使用するロジックの名称（判断プラグイン名）が登録されており、判断プラグイン名により判断プラグイン８０は探し出される。この例では、判断プラグイン８０の名称はＳＡＫＵＲＡである。
【００９８】
次に、判断実行部７３は対応する判断プラグイン８０の中からＳＡＫＵＲＡを起動する。このとき、判断プラグイン８０の判断ロジックは、図２４のように判断スペックＤ、Ｅ、Ｆ、Ｇには具体的な数値が入っていない。このため、図２５に示すように、スペック検索部８２は入力情報に基づきスキップ判断の基準となる判断スペックをスペックデータベース８１より取得し、判断ロジックに代入する。この例では、判断対象の膜厚が４回連続で、１０００〜１１００オングストロームの間に入っていれば、その工程のスキップを許可することとしている。
【００９９】
次に、図２６に示すように、ＱＣ結果抽出部８３は対象工程の以前の品質情報をＱＣ（品質管理）データベース９３より取得し、キャッシュデータベース８５に登録（保存）する。
【０１００】
次に、図２７に示すように、スキップ判断部８４はキャッシュデータベース８５のデータを参考に対象工程をスキップするか否かを判断し、判断結果受信部７４に判断結果を送信する。これを受けてスキップ実行部７５が工程のスキップを実施する。つまり、この例では、工程βである処理工程（例えば水洗処理工程）がスキップされる。
【０１０１】
なお、この工程βのスキップを取り消すことができるようにすることも可能である。すなわち、工程βの次の工程である工程γの検査工程で、所定の基準範囲を超えるダスト量が検出されたような場合は、工程βの水洗処理工程をスキップしないようにすることも可能である。
【０１０２】
判断結果登録部部７６によるスキップ判断を行った履歴は、ノウハウデータベース７８に記録される。そして、この履歴はノウハウデータベース７８を介して、外部システム９０に提供される。この履歴の活用例を図２８に示す。ここでは、外部システム９０としてロットスケジュール管理システム９０ａを例に挙げている。ロットスケジュール管理システム９０ａは、このノウハウデータベース７８の履歴に基づいて、再スケジュールを実行する。すなわち、工程βをスキップしたことにより、全体のプロセスフローの工程数が削減される。このため、その製品の納期は短くすることが可能になる。この図２８の例では、納期がＸＸ日だったのが、工程βをスキップすることによりＹＹ日になったことを示している。このように、ノウハウデータベース７８の履歴情報を活用することにより、高い精度で処理工程のスケジュール管理を行うことができる。
【０１０３】
以上のように、本実施形態に係る半導体処理工程制御システムによれば、判断プラグイン８０は過去の品質情報をＱＣデータベース９３から取得し、スペックデータベース８１の判断スペックに基づいて、この過去の品質情報が工程スキップの条件を満たすかどうかを判断することとしたので、仕上がり結果の安定度が高く、必要のない処理工程をスキップするかどうかの判断を的確に行うことができる。このため、工期短縮やロット製造コストの低減を図ることができる。
【０１０４】
また、判断プラグイン８０は工程スキップ装置７０と抜き差し可能に構成されているので、仕上がり結果からその工程をスキップしてよいかどうかを判断するロジックを外部から提供することができる。このため、判断のロジックの変更や追加を柔軟に行うことができる。
【０１０５】
なお、本発明は上記実施形態に限定されずに種々に変形可能である。例えば、図６に示した制御変数計算プログラム２１０の制御計算プログラム２１１と実処理集計プログラム２１２については、不要であれば、少なくとも一方を省略することも可能である。
【０１０６】
また、上述した各処理は、その処理に必要な手順を記録したコンピュータ読み取り可能な記録媒体に記録して頒布することも可能である。この場合、この記録媒体に記録されたプログラムをコンピュータに読み取らせて実行させることにより、本発明に係る半導体処理工程制御システムを実現することができる。
【０１０７】
【発明の効果】
以上説明したように、本発明によれば、半導体処理工程制御システムを半導体処理装置及び処理目標によらず半導体処理工程の制御を行うプロセス制御本体部と、半導体処理装置及び処理目標に適合する半導体処理装置の制御変数を求める制御変数計算手段とに分けるとともに、制御変数計算手段を、プロセス制御本体部と必要に応じて抜き差し可能であるよう構成したので、処理工程、制御変数の計算法、処理装置の変化に柔軟かつ迅速に対応できる。このため、半導体装置の多品種少量生産に際し生産ラインの早期稼働が可能となる。
【０１０８】
また、制御変数算出手法手段をプロセス制御本体部に抜き差し可能に構成し、この制御変数算出手法手段に制御変数計算手段を抜き差しできるように構成したので、複数の工程にまたがる制御も各工程毎に分離して行うことができる。このため、工程間で新規運用や変更が生じた場合でも、これに対応するための変更を容易に行うことができるとともに、半導体装置の生産ラインにおける制御変数計算の自動化を迅速に行うことができる。
【図面の簡単な説明】
【図１】本発明に係る構成ブロック、動作の例を示す図である。
【図２】本発明に係るプログラムモジュールの例を示す図である。
【図３】半導体の処理工程フローを示す図である。
【図４】本発明に係るハードウェア構成の例を示す図である。
【図５】本発明に係る制御条件計算部の第１の例を示すブロック図である。
【図６】本発明に係る制御条件計算部の第２の例を示すブロック図である。
【図７】本発明に係るプロセス制御本体部の詳細を示すブロック図である。
【図８】本発明に係るプロセス制御本体部における処理の流れを示す図である。
【図９】本発明を実施したときのデータの流れを示す図である。
【図１０】本発明を用いて成膜工程における処理時間を計算する場合の処理フローを示す図である。
【図１１】本発明の第２の実施形態に係る制御変数計算部の構成ブロック、動作の例を示す図である。
【図１２】本発明の第２の実施形態に係るプロセス制御本体部の詳細を示す図である。
【図１３】本発明の第２の実施形態に係るデータの流れを示す図である。
【図１４】本発明の第３の実施形態に係る工程情報と物理ステップ情報の例を示す図である。
【図１５】本発明の第３の実施形態に係る処理時間の計算例を示す図である。
【図１６】本発明の第４の実施形態に係る工程のフローを示す図である。
【図１７】本発明の第４の実施形態に係るデータの流れを示す図である。
【図１８】本発明の第４の実施形態に係るコンピュータ・プログラムの例を示す図である。
【図１９】本発明の第５の実施形態に係る機能ブロックを示す図である。
【図２０】本発明の第５の実施形態に係るハードウェア構成を示す図である。
【図２１】本発明の第５の実施形態に係る機能ブロックを示す図である。
【図２２】本発明の第５の実施形態においてスキップ判断要求受信部の動作を示す図である。
【図２３】本発明の第５の実施形態において対象工程スキップ判断可否部の動作を示す図である。
【図２４】本発明の第５の実施形態において判断プラグインの判断ロジックを示す図である。
【図２５】本発明の第５の実施形態においてスペック検索部の動作を示す図である。
【図２６】本発明の第５の実施形態において対象工程ＱＣ結果抽出部の動作を示す図である。
【図２７】本発明の第５の実施形態において対象工程スキップ判断部及びスキップ実行部の動作を示す図である。
【図２８】本発明の第５の実施形態においてスキップ判断を行った履歴をノウハウデータとして記録し、外部装置に情報提供する場合の動作例を示す図である。
【図２９】従来の実施例における工程フローを示す図である。
【図３０】従来の実施例における工程制御の流れを示す図である。
【図３１】複数の膜を成膜する場合における従来の処理時間計算方法を示す図である。
【図３２】複数の膜をエッチングする場合における従来の処理時間計算方法を示す図である。
【図３３】従来の半導体処理工程制御システムの構成概念を示す図である。
【符号の説明】
１００  プロセス制御本体部
１１０  工程判断部
１２０  工程情報取得部
１３０  制御変数送受信部
１４０  制御計算選択部
１５０  データ一時保管部
２００  制御変数計算部
２１０  制御変数計算プログラム
２１０Ａ  計算管理部
２１０Ｂ  計算式部
２１１  制御計算プログラム
２１２  実処理集計プログラム
２２０  制御変数計算手法プログラム
２２１  複数工程計算手法プログラム
３００  工程管理部
４００  半導体製造装置（半導体処理装置）
４０１  半導体検査装置（半導体処理装置）
５１０  プロセス制御主サーバ
５２０  ＱＣデータサーバ
５３０  工程管理サーバ
５４０  処理装置制御サーバ
７０  工程スキップ装置
７１  スキップ判断要求受信部
７２  スキップ判断可否部
７３  判断実行部
７４  判断結果受信部
７５  スキップ実行部
７６  判断結果登録部部
８０  判断プラグイン
８１  スペックデータベース
８２  スペック検索部
８３  結果抽出部
８４  スキップ判断部
８５  キャッシュデータベース
９０  外部システム
【図１】
0003998372.tif 000002
【図２】
0003998372.tif 000003
【図３】
0003998372.tif 000004
【図４】
0003998372.tif 000005
【図５】
0003998372.tif 000006
【図６】
0003998372.tif 000007
【図７】
0003998372.tif 000008
【図８】
0003998372.tif 000009
【図９】
0003998372.tif 000010
【図１０】
0003998372.tif 000011
【図１１】
0003998372.tif 000012
【図１２】
0003998372.tif 000013
【図１３】
0003998372.tif 000014
【図１４】
0003998372.tif 000015
【図１５】
0003998372.tif 000016
【図１６】
0003998372.tif 000017
【図１７】
0003998372.tif 000018
【図１８】
0003998372.tif 000019
【図１９】
0003998372.tif 000020
【図２０】
0003998372.tif 000021
【図２１】
0003998372.tif 000022
【図２２】
0003998372.tif 000023
【図２３】
0003998372.tif 000024
【図２４】
0003998372.tif 000025
【図２５】
0003998372.tif 000026
【図２６】
0003998372.tif 000027
【図２７】
0003998372.tif 000028
【図２８】
0003998372.tif 000029
【図２９】
0003998372.tif 000030
【図３０】
0003998372.tif 000031
【図３１】
0003998372.tif 000032
【図３２】
0003998372.tif 000033
【図３３】
0003998372.tif 000034