(57)【要約】【課題】既存のシステムに大規模な改造を加えることなく製造プロセス制御システムを組み込む。【解決手段】半導体装置の製造プロセスを制御するＡＰＣシステム１０が、製造管理を行うＭＥＳ／ＣＣシステム２０に対して問い合わせを行って半導体装置の製造データを収集し、その収集した製造データにフィルタ処理を施して、フィルタ処理後のデータと特定のアルゴリズムとを用いて半導体製造装置の処理を制御するレシピを生成するようにした。このようにＡＰＣシステム１０が主導で製造データを収集するようにすることで、ＡＰＣシステム１０を半導体製造システム１に組み込むに当たり、ＭＥＳ／ＣＣシステム２０に大規模な改造が不要になる。【選択図】        図３
2004349644.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置の製造プロセス制御システムにおいて、
半導体装置の製造管理を行う製造管理システムに対して問い合わせを行って前記半導体装置の製造プロセスにおいて取得される製造データを収集し、収集された前記製造データにフィルタ処理を施し、前記フィルタ処理後のデータと特定のアルゴリズムとを用いて演算を行って前記半導体装置を製造するための半導体製造装置の処理を制御する制御条件を示すレシピを生成する機能を有することを特徴とする半導体装置の製造プロセス制御システム。
【請求項２】
収集された前記製造データに前記フィルタ処理を施して前記フィルタ処理後のデータと特定の前記アルゴリズムとを用いて演算を行って前記レシピを生成する処理が、前記製造データを収集する処理と独立して実行されるようにしたことを特徴とする請求項１記載の半導体装置の製造プロセス制御システム。
【請求項３】
前記アルゴリズムを起動するためのトリガ信号を検出するプロセス制御フィルタ部を有し、前記プロセス制御フィルタ部によって前記トリガ信号が検出されたときに、収集された前記製造データにフィルタ処理を施し、前記フィルタ処理後のデータと前記アルゴリズムとを用いて演算を行い、前記レシピを生成することを特徴とする請求項１記載の半導体装置の製造プロセス制御システム。
【請求項４】
半導体装置の製造プロセス制御方法において、
半導体装置の製造管理を行う製造管理システムに対して問い合わせを行って前記半導体装置の製造プロセスにおいて取得される製造データを収集し、
収集された前記製造データにフィルタ処理を施し、
前記フィルタ処理後のデータと特定のアルゴリズムとを用いて演算を行って前記半導体装置を製造するための半導体製造装置の処理を制御する制御条件を示すレシピを生成することを特徴とする半導体装置の製造プロセス制御方法。
【請求項５】
コンピュータを用いて半導体装置の製造プロセス制御を行うためのプログラムにおいて、
コンピュータに、
半導体装置の製造管理を行う製造管理システムに対して問い合わせを行って前記半導体装置の製造プロセスにおいて取得される製造データを収集させ、
収集された前記製造データにフィルタ処理を行わせ、
前記フィルタ処理後のデータと特定のアルゴリズムとを用いた演算により前記半導体装置を製造するための半導体製造装置の処理を制御する制御条件を示すレシピを生成させる処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体装置の製造プロセス制御システムに関し、特に各製造プロセスにおける製造装置の状態に応じて適正な制御を行い、半導体装置を均一性良く高精度に製造するための半導体装置の製造プロセス制御システムに関する。
【０００２】
【従来の技術】
近年の半導体装置の製造プロセスにおいては、製造する半導体装置の微細化、高密度化に伴い、半導体装置の精度維持や半導体製造装置の状態維持の管理が一層厳しいものとなってきている。最近では、ＭＥＳ（Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  Ｓｙｓｔｅｍ）など、生産ラインに流れる製品の製造プロセスで用いられる半導体製造装置、半導体製造装置での処理条件、作業データなどを全てコンピュータ管理するシステムも普及してきている。このような製造管理システムにより、品質向上、歩留り向上、作業ミス低減などを図り、半導体装置の効率的な生産が支援されつつある。
【０００３】
ところが実際の製造過程では、半導体の微細化や高密度化が進めば、半導体製造装置における処理が、必ずしもその半導体製造装置が安定して処理できる条件下で行われるとは限らなくなり、製品となる半導体装置の仕上がり精度が低下してしまう場合も起こり得る。また、通常、半導体製造装置は、長時間運転すると、その調整値が変化してしまったり消耗部品が劣化してしまったりするので、処理状態が少しずつ変わっていく傾向がある。そこで、そのような半導体製造装置の状態変化が生じても半導体装置の仕上がり精度を均一性良く安定して維持できるよう、半導体製造装置の状態変化を監視しながら、それに応じた適正な補正を行うための制御システムも用いられるようになってきている（例えば特許文献１参照）。最近では、ＳＥＭＡＴＥＣガイドラインで提言されているＡＰＣ（Ａｄｖａｎｃｅｄ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ）システムがその代表である。
【０００４】
このようなＡＰＣシステムなどの製造プロセス制御システムをＭＥＳなどの製造管理システムに組み合わせた従来の半導体装置製造システムは、プロセス制御に必要な演算を行うＡＰＣシステムが、データを保有しているＭＥＳから必要なデータを貰い受ける構成になっている。例えば、ＡＰＣシステムがＭＥＳの管理下に置かれたある半導体製造装置に対して制御を行おうとした場合に、ＡＰＣシステムにその制御に必要なデータがＭＥＳから送信されることになる。そして、ＡＰＣシステムは、そのデータを受信すると、その内容から最適な制御条件（以下「レシピ」という。）を、あらかじめ設定されているアルゴリズムに従って演算により求める。ＭＥＳは、所定のタイミングでＡＰＣシステムに対してレシピの問い合わせを行い、その問い合わせを受けてＡＰＣシステムからＭＥＳへレシピが送信され、そのレシピに応じて半導体製造装置に対する制御が実行される。
【０００５】
【特許文献１】
特開２００２−３１２０１４号公報
【０００６】
【発明が解決しようとする課題】
しかし、従来の製造プロセス制御システムには、以下に示すようないくつかの問題点があった。
【０００７】
まず、前述のようにＡＰＣシステムを既存のＭＥＳと連携させる場合には、ＭＥＳ側に大規模な改造が必要になる。例えば、ＡＰＣシステムで演算を行うために、ＭＥＳで取得されたデータをＭＥＳが適当なタイミングでＡＰＣシステムに送信するような機能の組み込みが挙げられる。従って、既存のＭＥＳにＡＰＣシステムを導入するには膨大な費用がかかり、さらに、ＭＥＳを長期間停止させることが必要になる場合もあるため、半導体装置の製造に致命的なダメージを与えかねない。
【０００８】
また、従来のＡＰＣシステムでは、演算に用いるデータ量が多い場合やＡＰＣシステムが備える演算のアルゴリズムが複雑な場合には、演算に時間を要してしまい、ＭＥＳがＡＰＣシステムにデータを送信し最終的に半導体製造装置で制御が行われるまでのタイムラグが、プロセス制御に支障をきたすこともある。
【０００９】
さらに、従来のＡＰＣシステムでは、演算に必要なデータがＡＰＣシステムに一括して送信され、データとアルゴリズムとが１対１の関係にない場合には、データ収集方式を工夫する必要が出てくる。例えば、ＡＰＣシステムとＭＥＳとの間に、ＭＥＳのデータを収集するための別のシステムであって、ＡＰＣシステムにおけるアルゴリズムを考慮した形でデータを収集してＡＰＣシステムにまとめて送信するシステムが設けられる。このようなデータ収集システムは、複数のシステムで実現される場合もある。しかし、各製造プロセスについてのアルゴリズム開発のほか、それに合わせたデータ収集システムの開発も必要になるので、デバックなどの工数が非常に多くなってしまう。
【００１０】
このようなデータ収集システムを用いる場合には、その内部に各製造プロセスについてのアルゴリズムを書き込み、演算を行うようにすることも行われている。しかし、この場合、演算処理機能をデータ収集システムに組み込める一方で、データ収集システムで演算履歴やその他のシステム管理までをも行うことは難しい。そのため、各製造プロセスに合わせ込んだデータ収集・演算機能が必要になり、さらに、このようなデータ収集システムを他の製造ラインへ展開するには、時間とコストがかかってしまうようになる。
【００１１】
このように、ＡＰＣシステムの導入にはＭＥＳの大規模な改造が伴い、また、ＡＰＣシステムの演算速度の問題が解決されるデータ収集・演算機能の開発も望まれていたため、ＡＰＣシステムとＭＥＳとのシステム連携が困難なものとなっていた。また、これまでＭＥＳとＡＰＣシステムとの間におけるレシピの問い合わせ電文に通信規約がなかったため、ＡＰＣシステムの導入に大変な労力が必要になっていたことも、システム連携の実現を困難なものにする要因のひとつであった。
【００１２】
本発明はこのような点に鑑みてなされたものであり、半導体装置の製造プロセスを管理する既存のシステムに大規模な改造を加えることなく低コストで組み込むことのできる高速・多機能な半導体装置の製造プロセス制御システムを提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明では上記課題を解決するために、図３に示す処理によって実現可能な半導体装置の製造プロセス制御システムが提供される。本発明の半導体装置の製造プロセス制御システムは、半導体装置の製造管理を行う製造管理システムに対して問い合わせを行って前記半導体装置の製造プロセスにおいて取得される製造データを収集し、収集された前記製造データにフィルタ処理を施し、前記フィルタ処理後のデータと特定のアルゴリズムとを用いて演算を行って前記半導体装置を製造するための半導体製造装置の処理を制御する制御条件を示すレシピを生成する機能を有することを特徴とする。
【００１４】
このような半導体装置の製造プロセス制御システムによれば、製造プロセス制御システムであるＡＰＣシステム１０が、製造管理システムであるＭＥＳ／ＣＣシステム２０に対して問い合わせを行い、半導体装置の製造に用いられる製造装置５０の製造データを収集する。そのため、製造データの収集に関しＭＥＳ／ＣＣシステム２０側にＡＰＣシステム１０との同期調整は不要であり、ＡＰＣシステム１０を半導体製造システム１に組み込むに当たり、ＭＥＳ／ＣＣシステム２０に大規模な改造を加えることを要しない。さらに、収集された製造データにはフィルタ処理が施され、製造データから特定のアルゴリズムによる演算に必要なデータが選択され、半導体製造装置の処理を制御する最適レシピが高速で生成されるようになる。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
図１はＡＰＣシステムの適用例を示す図である。
【００１６】
ＡＰＣシステム１０は、各製造プロセスで用いられる半導体製造装置に状態変化が生じても、製品の仕上がり精度を均一性良く安定して維持できるよう、その状態変化に応じてその処理を適正に制御するための製造プロセス制御システムである。
【００１７】
このようなＡＰＣシステム１０は、例えば、各製造プロセスの製造装置（半導体製造装置のほか、最終製品または製造過程における製品の特性評価のための測定装置を含む）の処理条件や作業データなどをコンピュータ管理するＭＥＳに、各製造装置のオンライン自動化システム（Ｃｅｌｌ  Ｃｏｎｔｒｏｌｌｅｒ，ＣＣ）が組み合わされているシステム（以下「ＭＥＳ／ＣＣシステム」という。）２０と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの電気通信回線により接続され、各種データの双方向通信ができるように構成されている。これにより、ＡＰＣシステム１０は、ＭＥＳ／ＣＣシステム２０に管理された各製造装置で取得されるデータを用いて、所定のアルゴリズムに従って演算を実行して最適レシピを生成し、一方、ＭＥＳ／ＣＣシステム２０は、その最適レシピを用いて所定の半導体製造装置の処理を制御するようになっている。なお、各製造装置で取得されるデータとは、主に、半導体製造装置での処理条件や、その半導体製造装置の処理前後に行われる測定装置による前測定および後測定の測定条件および測定データである。
【００１８】
また、ＡＰＣシステム１０は、図１に示したように、ＭＥＳ／ＣＣシステム２０のほかにも、同様に、ファシリティシステム１１０、ＦＤＣ（Ｆａｕｌｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ）システム１２０、ＹＭＳ（Ｙｉｅｌｄ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）１３０、ＥＥＳ（Ｅｑｕｉｐｍｅｎｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｓｙｓｔｅｍ）１４０、ＴＣＡＤ（Ｔｅｃｈｎｏｌｏｇｙ  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システム１５０、ディスパッチシステム１６０など、その他の製造支援システム（以下「外部システム」という。）とも接続可能である。ＡＰＣシステム１０は、ＭＥＳ／ＣＣシステム２０からのデータと共に、外部システムからのデータ（以下「外部データ」という。）を用いて演算を行い、必要に応じてその演算結果をＭＥＳ／ＣＣシステム２０の処理に反映させることができるようになっている。このようにＡＰＣシステム１０は、製造管理システムや外部システムなどの種々のシステムと連携して半導体製造システム１を構成している。
【００１９】
なお、ファシリティシステム１１０とは、製造ラインにおける温度、気圧、ガス流出量、供給電圧などの設備環境を管理するシステムであり、設備環境に関するデータを、プロセス制御に反映させるよう、ＬＡＮなどを介してＡＰＣシステム１０に伝達する。
【００２０】
ＦＤＣシステム１２０とは、さまざまな測定値やセンサ出力値などから製造プロセスの障害となる欠陥を検知したり分類したりするシステムであり、検知や分類の結果を、プロセス制御に反映させるよう、ＬＡＮなどを介してＡＰＣシステム１０に伝達する。
【００２１】
ＹＭＳ１３０とは、歩留り管理システムであり、製造ラインの各製造プロセスにおける歩留りに関するデータを、ＭＥＳ／ＣＣシステム２０からＡＰＣシステム１０経由でＬＡＮなどを介して取得する。
【００２２】
ＥＥＳ１４０とは、製造装置の有効稼働率の改善や性能維持・向上を目的とした業務、例えば、製造ライン能力の維持・向上、製造装置状態のモニタおよびトラブルシューティング、製造装置の性能改善、製造装置サプライヤとのコラボレーション（改善、トラブルシューティング）などに利用するシステムであり、これらに利用可能なデータを、ＭＥＳ／ＣＣシステム２０からＡＰＣシステム１０経由でＬＡＮなどを介して取得する。
【００２３】
ＴＣＡＤシステム１５０は、製造される製品である半導体装置の特性をその設計データからシミュレーションにより推定するシステムであり、シミュレーションの結果を、プロセス制御に反映させるよう、ＬＡＮなどを介してＡＰＣシステム１０に伝達する。
【００２４】
ディスパッチシステム１６０とは、生産ラインにある製造装置の修理技術者が、ノートＰＣや携帯電話などを用いて、自身が行っている作業の状況（どのエリアで作業を行っているか、作業の進捗はどうか、など）や他の修理技術者が行っている作業の状況を把握することを可能にしたシステムである。
【００２５】
図２は半導体製造システムの一例の構成概略図である。
半導体製造システム１の一部を構成するＡＰＣシステム１０には、例えば、図２に示すように、アプリケーションサーバ１１、ＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）ネームサーバ１２、演算サーバ１３およびデータベースサーバ１４が備えられている。
【００２６】
アプリケーションサーバ１１は、ＡＰＣシステム１０が有すべき処理機能を実現するためのアプリケーションプログラムを恒常的あるいは一時的に格納しており、そのアプリケーションプログラムの処理の実行および管理を行うようになっている。アプリケーションプログラムとしては、例えば、ＭＥＳ／ＣＣシステム２０から所定のタイミングで収集する製造データを後述のデータベースサーバ内に所定の分類で系統立てて格納するためのプログラム、そのようにデータを分類する際にそのデータ内の所定の項目だけを選択するフィルタ条件（フィルタ項目）を設定するためのプログラム、いずれの製造装置のデータを用いてレシピ演算を行うかを設定するためのプログラム、レシピ演算に用いるアルゴリズムを特定したり開発中あるいは既存のアルゴリズムについてシミュレーションを行う際の条件を設定したりするためのプログラムなどである。
【００２７】
ＣＯＲＢＡネームサーバ１２は、ＯＭＧ（Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ）が策定する分散システム環境のインフラを標準化したミドルウェアであるＣＯＲＢＡによる処理の実行および管理を行うようになっている。ＣＯＲＢＡは、あらゆるオブジェクトのインタフェースをＩＤＬ（Ｉｎｔｅｒｆａｃｅ  Ｄｅｆｉｎｉｔｉｏｎ  Ｌａｎｇｕａｇｅ）と呼ばれる言語で定義し、このＩＤＬにより異機種異言語の相互運用を実現するものである。ＡＰＣシステム１０におけるサーバ間の通信は、このようなＣＯＲＢＡを用いて行われるようになっている。
【００２８】
演算サーバ１３は、後述のデータベースサーバ内に格納されているアルゴリズムを用いてレシピの演算を行えるようになっている。演算に用いられるアルゴリズムは、フィルタ条件によって特定され、演算サーバ１３で起動されるようになっている。さらに、この演算サーバ１３は、開発中あるいは既存のアルゴリズムによる演算のシミュレーションも行うことができるようになっている。
【００２９】
データベースサーバ１４は、演算サーバ１３での演算の結果生成されるレシピが格納される演算結果データベース、アルゴリズムのシミュレーション結果が格納されるシミュレーション結果データベース、演算の実行に用いたデータやその演算の中間結果を示す演算実行情報を格納してログとして管理するためのログ管理データベースを有している。さらに、データベースサーバ１４は、ＡＰＣシステム１０によってＭＥＳ／ＣＣシステム２０から収集された製造データが格納される製造履歴データベース、演算に用いるアルゴリズムが格納されるアルゴリズムデータベース、およびフィルタ条件がＡＰＣフィルタデータとして格納されるＡＰＣフィルタデータベースを有している。
【００３０】
このように、ＡＰＣシステム１０は、その処理の目的に応じたサーバが物理的に分散して設けられており、それぞれの処理を独立してあるいは平行して迅速に行えるように構成されている。
【００３１】
このような構成を有するＡＰＣシステム１０は、基幹ＬＡＮ３０ａを介してＡＰＣ操作端末４０に接続されている。このＡＰＣ操作端末４０からＡＰＣシステム１０の上記各サーバに対して、各種設定・変更、データ入力および処理実行命令などの操作が行えるようになっている。直接的には、ＡＰＣ操作端末４０からアプリケーションサーバ１１のアプリケーションプログラムを用いて各種設定などが行われる。また、ＡＰＣ操作端末４０を用いて、ＡＰＣシステム１０内のデータを参照して解析を行ったり、開発中または既存のアルゴリズムについてのシミュレーションなどを行ったりすることができるようになっている。
【００３２】
さらに、基幹ＬＡＮ３０ａにはＭＥＳ／ＣＣシステム２０が接続され、ＡＰＣシステム１０とＭＥＳ／ＣＣシステム２０との間でデータ通信が行えるようになっている。ＭＥＳ／ＣＣシステム２０は、ＬＡＮ３０ｂを介して、製造ラインの製造装置５０に接続され、製造装置５０での処理条件、測定条件、測定データなどをコンピュータ管理する。製造装置５０での処理終了後に得られる製造データは、製造装置５０からＭＥＳ／ＣＣシステム２０へ送信された後、さらにＡＰＣシステム１０へ送信されて処理され、その処理に応じて処理後のデータが所定のデータベースに格納されるようになっている。さらに、基幹ＬＡＮ３０ａには、図１に例示したようなその他の外部システム１００も接続され、ＡＰＣシステム１０との間でそれぞれデータ通信が行われるようになっている。
【００３３】
なお、この図２には３台のＡＰＣ操作端末４０を図示したが、その台数はこれに限定されるものではない。また、図２には１台の製造装置５０のみ図示したが、これと同様に、通常は製造ライン内の複数の半導体製造装置や測定装置がＬＡＮ３０ｂを介してＭＥＳ／ＣＣシステム２０に接続されている。
【００３４】
また、この図２に示したＡＰＣシステム１０は、ＣＯＲＢＡネームサーバ１２にさらにＷＥＢサーバとしての機能が付加され、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３０ｃを介して外部端末６０に接続され、異なる製造拠点とデータ通信ができるようになっている。半導体製造システム１では、このような外部端末６０からデータ参照用の汎用ツールなどを用いて、ＡＰＣシステム１０が保有しているデータを参照して解析を行ったり、ＡＰＣシステム１０が保有している開発中または既存のアルゴリズムについてのシミュレーションを行ったりすることもできるようになっている。
【００３５】
図３は半導体製造システムにおける処理の概略説明図である。この図３では、ＭＥＳ／ＣＣシステム２０とＡＰＣシステム１０との間で行われる処理を例にして説明する。
【００３６】
半導体製造システム１において、ＡＰＣシステム１０の処理は、大きく分けて、他システムデータ連携機能実行プロセス２００、ＡＰＣデータベース連携機能実行プロセス２１０、ＡＰＣシステム実行ログ管理実行プロセス２２０、ＡＰＣフィルタ管理実行プロセス２３０、ＡＰＣ演算処理機能実行プロセス２４０、アルゴリズムシミュレーション機能実行プロセス２５０、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）実行プロセス２６０の７つの実行プロセスにより行われる。各実行プロセス間のデータ通信は、主にＣＯＲＢＡを用いて行われる。
【００３７】
まず、製造装置５０はその処理を終了した後、その処理によって取得された製造データを、ＭＥＳ／ＣＣシステム２０に送信する。この製造データには、処理条件、測定条件、測定データのほか、主に、この製造データの管理番号（システムＩＤなど）、どの製品に関する製造データであるかを示す品種名、どの半導体製造装置に関する製造データであるかを示す装置名、どの段階の製造プロセスにおける製造データであるかを示す大工程名称や小工程名称、処理が行われた日時などを示すイベント情報、この測定データが取得されたＭＥＳ／ＣＣシステム２０に関する情報などの項目が含まれている。さらに、この製造データとは別に後述のアルゴリズム起動のためのトリガ信号の情報もデータベースに格納される。
【００３８】
製造装置５０からＭＥＳ／ＣＣシステム２０に送信された製造データは、ＭＥＳ／ＣＣシステム２０内に設けられたデータベース（図示せず）に格納される。このデータベースは、ＭＥＳ／ＣＣシステム２０で管理された生産ラインの品質管理上、通常設けられているものであり、ＡＰＣシステム１０との連携に際して、そのデータ構造などに関し、特に改造は要しない。
【００３９】
ＡＰＣシステム１０は、ＭＥＳ／ＣＣシステム２０に対して、製造データを問い合わせる。この問い合わせは、ＡＰＣシステム１０が主導で行い、ＭＥＳ／ＣＣシステム２０には同期調整は不要である。このＡＰＣシステム１０からＭＥＳ／ＣＣシステム２０への問い合わせのタイミングは、ＡＰＣシステム１０の起動前に設定される。例えば、製造装置５０による処理が終了してその製造データがＭＥＳ／ＣＣシステム２０に送信されてから、製造装置５０による次の処理が終了してその製造データがＭＥＳ／ＣＣシステム２０に送信されるまでのインターバル、すなわち製造装置５０での処理が完了するタイミングを、問い合わせのタイミングとして設定する。製造装置５０が複数ある場合には、各製造装置５０の処理時間に応じて問い合わせのタイミングを設定する。このようなデータ収集に関する設定は、図１のＡＰＣ操作端末４０からアプリケーションサーバ１１のアプリケーションプログラムを用いて行うことができる。
【００４０】
ＡＰＣシステム１０からの問い合わせに対し、ＭＥＳ／ＣＣシステム２０はそのデータベースに格納している製造データをＡＰＣシステム１０に送信し、ＡＰＣシステム１０は、製造データを受信し、ＡＰＣシステム１０内に格納する。その際、ＡＰＣシステム１０に受信された製造データは、収集データ一時格納領域に格納される。この収集データ一時格納領域は、例えば図１のデータベースサーバ１４のデータベース（いずれのデータベースであっても構わない）内に別に用意した記憶領域やＡＰＣシステム１０に接続された外部記憶装置、外部記憶媒体などである。なお、収集データ一時格納領域へ製造データを格納する際には、ＡＰＣシステム１０が前に格納した製造データと異なる製造データを受信したときにのみ、その製造データを収集データ一時退避領域に格納するようにしてもよい。
【００４１】
ＡＰＣシステム１０では、ＭＥＳ／ＣＣシステム２０から製造データを受信すると、受信プロセスから他システムデータ連携機能実行プロセス２００に移行する。この他システムデータ連携機能実行プロセス２００では、収集した製造データに対してフィルタ処理が施され、その製造データに含まれる全項目のうち、あらかじめＡＰＣシステム１０の製造履歴データベース１４ｄに格納するよう設定された項目の製造データのみが選択される。そして、この他システムデータ連携機能実行プロセス２００では、選択された項目の製造データにさらにキー項目などその他の付帯情報が付与される。
【００４２】
その後、ＡＰＣシステム１０では、ＡＰＣデータベース連携機能実行プロセス２１０に移行する。ＡＰＣデータベース連携機能実行プロセス２１０では、他システムデータ連携機能実行プロセス２００でフィルタ処理されて付帯情報が付与された製造データを、製造履歴データベース１４ｄに格納する。なお、ここでは他システムデータ連携機能実行プロセス２００において、収集した製造データから選択した項目のみを製造履歴データベース１４ｄに格納するようにしたが、収集した製造データの全項目をキー項目を付与して製造履歴データベース１４ｄに格納するようにしても構わない。
【００４３】
また、ＡＰＣシステム１０では、製造データにトリガ信号が含まれている場合には、他システムデータ連携機能実行プロセス２００で処理された製造データは、レシピ演算のため、ＡＰＣフィルタ管理実行プロセス２３０においても処理される。ＡＰＣフィルタ管理実行プロセス２３０で用いる製造データは、他システムデータ連携機能実行プロセス２００からそのまま引き継いでも、ＡＰＣデータベース連携機能実行プロセス２１０によって一旦製造履歴データベース１４ｄに格納されたデータを抽出してきても、いずれであっても構わない。
【００４４】
ＡＰＣフィルタ管理実行プロセス２３０では、あらかじめフィルタ条件が設定されているＡＰＣフィルタデータ２３０ａを用いてフィルタ処理が施され、このフィルタ処理によってレシピ演算に必要な項目が選択され、その演算に用いるアルゴリズムが特定される。ここで用いられるアルゴリズムは、あらかじめ作成されてアルゴリズムデータベース１４ｅに格納されている必要があり、フィルタ処理の際には、そのフィルタ条件に応じて、例えばそれぞれのアルゴリズムに付与されているＩＤ番号などの識別情報で識別されて特定されるようになっている。ＡＰＣシステム１０は、このＡＰＣフィルタ管理実行プロセス２３０でデータを選択し、アルゴリズムを特定して、ＡＰＣ演算処理機能実行プロセス２４０に移行する。なお、ＡＰＣフィルタデータの詳細については後述する。
【００４５】
ＡＰＣ演算処理機能実行プロセス２４０では、先のＡＰＣフィルタ管理実行プロセス２３０でのフィルタ処理で特定されたアルゴリズムが起動され、ＡＰＣフィルタ管理実行プロセス２３０で選択された項目のデータを用いた演算エンジン２４０ａによるレシピ演算が行われる。
【００４６】
演算後のレシピは、再びＡＰＣデータベース連携機能実行プロセス２１０で、ＡＰＣシステム１０の演算結果データベース１４ａに格納される。その際は、レシピ演算に関する演算実行情報をログとして、これをＡＰＣシステム実行ログ管理実行プロセス２２０でＡＰＣシステム１０のログ管理データベース１４ｃに格納する。
【００４７】
ＭＥＳ／ＣＣシステム２０は、ロット処理を行う際、その処理のための最適レシピをＡＰＣシステム１０に問い合わせる。ＡＰＣシステム１０は、演算結果データベース１４ａ内を検索し、その問い合わせに対して該当する最適レシピが存在する場合には、それを演算結果データベース１４ａから抽出し、ＭＥＳ／ＣＣシステム２０に送信する。ＭＥＳ／ＣＣシステム２０は、受信した最適レシピを該当する製造装置５０に送信し、製造装置５０での処理がその最適レシピで制御されるようになる。
【００４８】
半導体製造システム１では、このような処理が繰り返し実行され、半導体装置の製造が行われる。なお、ＡＰＣシステム１０とＭＥＳ／ＣＣシステム２０との間の通信方法に関しては後述する。
【００４９】
また、ＡＰＣシステム１０によるアルゴリズムシミュレーションでは、収集された製造データから特定の項目のデータを抽出してデータ解析が行われ、必要に応じてそのデータ解析結果を利用して、開発中または登録済みのアルゴリズムを起動して演算を行い、その動作確認や演算結果の検証が行われる。
【００５０】
アルゴリズムシミュレーションの際は、アルゴリズムシミュレーション機能実行プロセス２５０で、開発中または登録済みのアルゴリズムを特定し、必要に応じて新たにフィルタ条件を設定し、ＡＰＣフィルタ管理実行プロセス２３０で演算に必要な項目のデータを選択して、特定されたアルゴリズムを起動して演算を行う。このＡＰＣフィルタ管理実行プロセス２３０で用いるデータは、他システムデータ連携機能実行プロセス２００から引き継いでも、ＡＰＣデータベース連携機能実行プロセス２１０によって一旦製造履歴データベース１４ｄに格納されたデータを抽出しても、いずれであっても構わない。このようなアルゴリズムシミュレーションにより、そのアルゴリズムで演算されるレシピが適当であるか、あるいはアルゴリズムに用いられるパラメタが適当であるかなどを調べることができる。
【００５１】
なお、このアルゴリズムシミュレーションにより得られる演算結果は、ＡＰＣシステム１０のシミュレーション結果データベース１４ｂに格納され、製品製造時に演算結果データベース１４ａに格納される演算結果と別個に管理される。そのため、シミュレーション結果が製品の仕上がり履歴に影響を及ぼすことはない。
【００５２】
また、ＷＷＷ実行プロセス２６０では、演算結果データベース１４ａに格納されている演算結果や製造履歴データベース１４ｄに格納されている過去の製造データのトレンドを、ブラウザを用いて参照することができる。さらに、シミュレーション結果データベース１４ｂに格納されているシミュレーション結果を参照することも可能である。
【００５３】
また、このＡＰＣシステム１０は、製造データを収集する際にその製造データを収集データ一時格納領域に格納するので、図２のデータベースサーバ１４にトラブルが発生しても、製造データを欠落させることなく製造履歴データベース１４ｄを復元させることができるようになっている。
【００５４】
図４は半導体製造システムの処理のフロー図である。
上記概略説明で述べたように、半導体製造システム１を運用するためには、まず、第１の事前作業として、相関が予測される項目のデータについてそのトレンドを調査し、それを基にアルゴリズムを作成しておく必要がある。さらに、第２の事前作業として、ＡＰＣシステム１０がＭＥＳ／ＣＣシステム２０に対して製造データを問い合わせるタイミングを、例えばタイマーなどで設定しておく必要がある。さらに、第３の事前作業として、収集した製造データをフィルタ処理するためのフィルタ条件（フィルタの名称やバージョンに関する情報を含む）や、フィルタ条件によって選択されるデータを演算に用いるアルゴリズムをＩＤ番号と共に設定しておく必要がある。
【００５５】
半導体製造システム１において、ＡＰＣシステム１０は、まず、製造データをＭＥＳ／ＣＣシステム２０から所定のタイミングで収集する（ステップＳ１）。ＡＰＣシステム１０は、収集した製造データをフィルタ処理して製造履歴データベース１４ｄに格納する（ステップＳ２）。同時に、ＡＰＣシステム１０は、トリガ信号を検出して、収集した製造データが所定のフィルタ条件に合致しているか否かを判定する（ステップＳ３）。ここで、ＡＰＣシステム１０は、収集した製造データがフィルタ条件に合致していると判断した場合には、そのフィルタ条件で設定されているアルゴリズムを特定し、そのアルゴリズムを用いて演算を開始する（ステップＳ４）。ＡＰＣシステム１０は、演算実行情報をログ管理データベース１４ｃに格納し（ステップＳ５）、最終的な演算結果（レシピ）は演算結果データベース１４ａに格納して（ステップＳ６）、演算を終了する（ステップＳ７）。
【００５６】
演算終了後は、ＡＰＣシステム１０は、ステップＳ１に戻ってそれ以降の処理を実行し、さらに、その演算途中に別の製造データの収集タイミングがきたときにはその製造データに関する演算を平行して実行する。換言すれば、ＡＰＣシステム１０は、レシピを生成するための演算処理を、製造データの収集処理と独立して実行するようになっている。また、ＡＰＣシステム１０は、ステップＳ３において、収集した製造データがフィルタ条件に合致していないと判断した場合には、ステップＳ１に戻り、それ以降の処理を実行する。
【００５７】
ＭＥＳ／ＣＣシステム２０を用いた半導体装置製造段階では、製造装置５０でのトラッキング処理が開始されると（ステップＳ１０）、ＭＥＳ／ＣＣシステム２０は、まず、ＡＰＣシステム１０に最適レシピを問い合わせる（ステップＳ１１）。ＡＰＣシステム１０は、演算結果データベース１４ａからその問い合わせに該当する最適レシピを抽出し、ＭＥＳ／ＣＣシステム２０に最適レシピを応答する（ステップＳ１２）。ＭＥＳ／ＣＣシステム２０は、受信した最適レシピを該当する製造装置５０に送信し、製造装置５０はその最適レシピで製造を開始する（ステップＳ１３）。
【００５８】
また、データ解析を行うとき、アルゴリズムを作成するとき、あるいはアルゴリズムシミュレーションを行うときは、まず、製造履歴データベース１４ｄ内の製造データのトレンドを調査する（ステップＳ２０）。例えば、同一ロットについてのエッチング装置でのエッチング時間と寸法測定装置での出来上がり線幅との間のトレンドなどである。そして、そのトレンドに関係する演算結果や演算実行情報を、ＡＰＣシステム１０の演算結果データベース１４ａやログ管理データベース１４ｃから参照する（ステップＳ２１）。製造履歴データベース１４ｄ内の製造データ、演算結果データベース１４ａ内の演算結果、ログ管理データベース１４ｃ内の演算実行情報、シミュレーション結果の参照には、図２のＡＰＣ操作端末４０や外部端末６０からアプリケーションサーバ１１のデータ参照ツールを起動して行うことができる。
【００５９】
以下、上記ＡＰＣシステム１０についてより詳細に説明する。
まず、ＡＰＣシステム１０の各種演算処理について説明する。
図５はＡＰＣシステムにおけるレシピ演算の説明図、図６はＡＰＣシステムにおけるアルゴリズムシミュレーションの説明図である。
【００６０】
ＡＰＣシステム１０は、前述のように、演算結果データベース１４ａ、シミュレーション結果データベース１４ｂおよび製造履歴データベース１４ｄを有している。この製造履歴データベース１４ｄには、製造装置５０から取得される製造データのほか、上記ＭＥＳ／ＣＣシステム２０以外の外部システムからの外部データも格納されるようになっている。
【００６１】
さらに、このＡＰＣシステム１０は、フィルタ条件によって特定されるアルゴリズムを演算の際に起動するためのトリガ信号を製造データの中から検出するプロセス制御フィルタ部１５を有する。このプロセス制御フィルタ部１５は、図２のアプリケーションサーバ１１内に備えられている。トリガ信号は、例えば最適レシピを適用すべき半導体製造装置の制御に必要となる製造データを生成する製造装置５０での処理が完了した時点を示す信号である。ＡＰＣシステム１０では、プロセス制御フィルタ部１５でトリガ信号が検出されると、レシピ演算のため、製造データにフィルタ処理が施されてフィルタ条件に合致する項目のデータが選択されるとともに、そのフィルタ条件でアルゴリズムが特定されるようになっている。
【００６２】
また、ＡＰＣシステム１０は、製造履歴データベース１４ｄから演算に必要な製造データや外部データを抽出するデータ抽出部１６と、製造データや外部データを用いてアルゴリズムによる演算を行うアルゴリズム演算部１７と、アルゴリズム演算部１７で得られる演算結果を演算結果データベース１４ａまたはシミュレーション結果データベース１４ｂに格納するデータ格納部１８とを有している。データ抽出部１６は図２のアプリケーションサーバ１１内に、アルゴリズム演算部１７は図２の演算サーバ１３内に、データ格納部１８は図２のデータベースサーバ１４内に、それぞれ備えられている。
【００６３】
図５に示したレシピ演算は、プロセス制御フィルタ部１５でトリガ信号が検出されることによって開始される。レシピ演算が開始すると、製造装置５０側から収集された製造データや外部データ、あるいは製造履歴データベース１４ｄからデータ抽出部１６によって抽出された製造データや外部データにフィルタ処理が施されて、選択された項目のデータがアルゴリズム演算部１７に伝達され、そのフィルタ処理によって特定されるアルゴリズムが起動する。アルゴリズム演算部１７は、伝達されたそのデータと起動されたアルゴリズムを用いて最適レシピの演算を行う。最適レシピは、コンピュータ上で識別可能なステータス情報などが付与されて、データ格納部１８によって演算結果データベース１４ａに格納される。
【００６４】
ＡＰＣシステム１０では、データを演算結果データベース１４ａ、シミュレーション結果データベース１４ｂまたは製造履歴データベース１４ｄからデータを抽出するためのデータ参照機能として、アプリケーションサーバ１１にデータ参照ツール１９ａが備えられている。図２のＡＰＣ操作端末４０からデータ参照ツール１９ａを用いてデータを抽出することにより、製造装置５０の製造履歴を表示し、解析し、解析結果を保存することが可能である。これにより、製造履歴やトレンドを容易に評価でき、また、これらの情報はアルゴリズムシミュレーションにも利用することができる。さらに、データ参照用外部汎用ツール１９ｂを用いて特定項目のデータファイルを図２の外部端末６０に取り込めるようにすれば、製造データの解析や整理にかかる工数を大幅に削減することも可能になる。製造履歴の調査は、問題の発生原因や発生時点を特定する際にも有効である。
【００６５】
図６に示したアルゴリズムシミュレーションでは、シミュレーションを行うべきアルゴリズムがあらかじめ作成されている必要がある。開発中のアルゴリズムあるいは既存のアルゴリズムのシミュレーションは、ＡＰＣシステム１０に与えられる仮想的なトリガ信号により開始される。アルゴリズムシミュレーションの開始後は、製造装置５０側から収集された製造データや外部データ、あるいは製造履歴データベース１４ｄからデータ抽出部１６によって抽出された製造データや外部データにフィルタ処理が施される。または、必要に応じて新たなフィルタ条件を設定し、そのフィルタ条件でのフィルタ処理が施される。フィルタ処理によって選択された項目のデータはアルゴリズム演算部１７に伝達され、シミュレーションを行うべきアルゴリズムによる演算がアルゴリズム演算部１７で実行される。シミュレーションの結果得られる最適レシピは、ステータス情報などが付与されて、データ格納部１８によってシミュレーション結果データベース１４ｂに格納される。これにより、開発中のアルゴリズムの動作確認や既存のアルゴリズムの動作や結果の検証などを行うことができ、アルゴリズムの品質や開発効率を向上させることができるようになる。
【００６６】
このアルゴリズムシミュレーションは、ＡＰＣシステム１０を停止させることなく行うことができ、開発中や既存のアルゴリズムのほか、現在運用中のアルゴリズムに対してもシミュレーションを行うことが可能であり、さらには、運用中のアルゴリズムを途中で新たなアルゴリズムにバージョンアップすることも可能になる。
【００６７】
シミュレーションが行われるアルゴリズムは、あらかじめ製造データや外部データを解析して、そのトレンドに基づくデータ間の相関関係を調査することにより作成される。
【００６８】
図７はアルゴリズムシミュレーションのフロー図である。
アルゴリズムシミュレーションは、まず、エッチング時間と出来上がり線幅など、相関が予測される項目の製造データのトレンドを調査する（ステップＳ３０）。このトレンド調査は、図２のＡＰＣ操作端末４０からアプリケーションサーバ１１により実行されるデータ参照ツール１９ａや、外部端末６０からデータ参照用外部汎用ツール１９ｂを用いて行うことができる。
【００６９】
次いで、アルゴリズムの起動条件を設定する（ステップＳ３１）。設定項目としては、例えば、そのアルゴリズムの演算に用いるデータ項目、演算に用いる製造データを生成する製造装置５０と最適レシピを適用すべき半導体製造装置、データ収集のタイミングと収集期間、フィルタ条件ごとに個別に付与されるフィルタ名称およびフィルタバージョン、その他ＡＰＣフィルタデータの内容として必要になる項目である。この設定は、図２のＡＰＣ操作端末４０や外部端末６０などからアプリケーションサーバ１１により起動されるシミュレーション専用画面で設定することができる。
【００７０】
次いで、アルゴリズムを起動し（ステップＳ３２）、製造装置５０側から収集される製造データから、あるいは製造履歴データベース１４ｄに格納している製造データ中の収集期間内の製造データから、あらかじめ付与されているキー項目でフィルタ条件に基づきデータが選択される（ステップＳ３３）。さらに、そのキー項目に該当する直近ロットのデータも併せて選択される（ステップＳ３４）。
【００７１】
選択されたデータは、ＡＰＣシステム１０のアルゴリズム演算部１７に伝達され（ステップＳ３５）、レシピの演算処理が実行される（ステップＳ３６）。演算の中間結果である演算実行情報は、ログ管理データベース１４ｃに格納され（ステップＳ３７）、演算処理が終了する（ステップＳ３８）。最終的な演算結果は、シミュレーション結果データベース１４ｂに格納される（ステップＳ３９）。
【００７２】
その後、ＡＰＣシステム１０では、再びデータ参照ツール１９ａなどを用いて演算結果が参照され（ステップＳ４０）、演算されたレシピが最適なものであるか否かが技術者によって判定される（ステップＳ４１）。ここで、レシピが最適であると判断された場合には、アルゴリズムシミュレーションが終了し（ステップＳ４２）、最適でないと判断された場合には、技術者によってアルゴリズムの修正作業が行われて（ステップＳ４３）、修正後のアルゴリズムを用いてステップＳ２以降の処理が実行される。
【００７３】
なお、上記図５および図６に示したレシピ演算およびアルゴリズムシミュレーションでの演算処理においては、データ抽出部１６とアルゴリズム演算部１７との間のデータの伝達、およびアルゴリズム演算部１７とデータ格納部１８との間のデータの伝達は、伝達するデータを所定のファイル形式の構成情報リストに変換して行われる。
【００７４】
図８は構成情報リストを用いたデータ伝達の流れを示す図である。
例えば製造履歴データベース１４ｄからデータ抽出部１６が抽出した製造データは、フィルタ処理を経て、あらかじめ設定された送信リストに従ってパックされる。これにより、構成情報リストが作成される。この構成情報リストは、ＣＯＲＢＡを用いた通信によりアルゴリズム演算部１７側に伝達され、アルゴリズム演算部１７での演算前に、あらかじめ定められた受信リストに従ってアンパックされる。アルゴリズム演算部１７は、アンパックされたデータファイルを用いて、アルゴリズムに従い、最適レシピの演算を行う。外部データの場合も同様に、その外部データが所定の送信リストに従ってパックされ、アルゴリズム演算部１７での演算前に所定の受信リストに従ってアンパックされて、演算に用いられる。これにより、ＡＰＣシステム１０は、種々のシステムから得られるデータを用いて、アルゴリズム演算部１７で最適レシピの演算を行うことができるようになっている。
【００７５】
演算後の最適レシピは、ステータス情報が付与されて、再び送信リストに従ってパックされて、構成情報リストが作成される。構成情報リストは、ＣＯＲＢＡを用いた通信によりデータ格納部１８側に伝達され、データ格納部１８での格納処理前に、再び受信リストに従ってアンパックされる。データ格納部１８は、アンパックされた最適レシピやステータス情報を演算結果データベース１４ａまたはシミュレーション結果データベース１４ｂに格納する。
【００７６】
このような構成情報リストによってデータ伝達を行うことにより、使用するデータの項目、測定データ、データの収集個数、アルゴリズムに使用するパラメタを容易に確認できるようになる。さらに、入出力インタフェースを満たしていれば、外部端末６０との間でプログラミング言語によらないアルゴリズムの開発環境を提供することができる。
【００７７】
また、この構成情報リストにより、アルゴリズム演算部１７およびデータ格納部１８へのデータ入力形式が規定されるだけでなく、演算結果についてそのステータス情報も規定される。
【００７８】
図９は演算結果のステータス情報利用法の一例である。
この図９に示す例では、ステータス情報を利用することにより、例えばアルゴリズムＩの演算結果をアルゴリズムＩＩで利用するといったような、２つのアルゴリズムの連携処理が可能になる。
【００７９】
この場合、まず、プロセス制御フィルタ部１５でトリガ信号が検出されると、例えば製造履歴データベース１４ｄから製造データが抽出され、フィルタ処理によりデータが選択され、アルゴリズムＩが特定される。アルゴリズム演算部１７では、アルゴリズムＩに従って演算が実行され、その演算結果が演算結果データベース１４ａに格納される。演算結果は、演算が行われるたびに演算結果データベース１４ａに格納され、演算履歴データ（Ｎ−３，Ｎ−２，Ｎ−１，Ｎ）として蓄積される。その際、各演算履歴データには、データを特定の規則（系列）に従って分類した、コンピュータ上で識別可能なステータス情報（ＳＴ）を付与する。
【００８０】
その後、プロセス制御フィルタ部１５で別のトリガ信号が検出され、アルゴリズムＩと連携すべきアルゴリズムＩＩが特定されたときには、アルゴリズムＩを用いた演算結果が演算結果データベース１４ａから抽出される。その抽出の際には、図９に示したように、演算履歴データのうち、ステータス情報ＳＴ＝ＡＢＣの系列（Ｎ−３，Ｎ−２，Ｎ）だけを抽出するといった条件を付加することができる。そして、これらの共通のステータス情報を有する演算履歴データを用いてアルゴリズムＩＩによる演算を実行する。このようにステータス情報の条件を付加することで、複数のアルゴリズムを連携させて最適レシピの演算処理が可能になる。また、このようにステータス情報をキーにして、特定系列のトレンド評価など、より詳細なデータ解析を行うことも可能である。
【００８１】
次に、ＡＰＣシステム１０からの最適レシピの抽出方法について説明する。
ＡＰＣシステム１０は、演算後の最適レシピを、演算のたびに演算結果データベース１４ａに格納し保存する。ＡＰＣシステム１０に対して、この最適レシピの問い合わせが行われる場合としては、例えばＭＥＳ／ＣＣシステム２０が最適レシピを該当する製造装置５０に適用するために問い合わせてくる場合や、データ解析時に要求する場合がある。ＡＰＣシステム１０は、そのような問い合わせに対し、問い合わせに該当する最適レシピを演算結果データベース１４ａから抽出し、その最適レシピを問い合わせ元に送信して応答する。ＡＰＣシステム１０における最適レシピの抽出は、処理時間による直近最適レシピの抽出、ロットＩＤによる直近最適レシピの抽出、フィルタ条件設定時に用いられるキー項目（品種名、装置名、大工程名称、小工程名称、レシピ名称、レシピバージョン、イベント情報など）による抽出などにより行われる。
【００８２】
まず、処理時間によりその直近の最適レシピを抽出する場合について述べる。半導体製造装置は、長時間運転することで、経年変化や消耗部品の劣化などから、その処理状態が少しずつ変化してくる傾向があり、特にこのような場合に、処理時間によって最適レシピの抽出を行う。例えば、ＡＰＣシステム１０は、演算結果データベース１４ａからイベント情報に含まれる処理時間をキーにして、問い合わせ元に対してその処理時間に直近の最適レシピを抽出して送信する。これにより、半導体製造装置の状態が変化しても、製造結果を安定的に維持することが可能になる。
【００８３】
また、ロットＩＤによりその直近の最適レシピを抽出する場合は、ロットごとに最適レシピの抽出を行うことで、製品のばらつきを抑制する。例えば、１ロットを本体ロットとこれに先行して処理を行う先行ロットとに分割し、本体ロットから分割した先行ロットの最適レシピを、分割後の本体ロットに適用する場合などに利用することができる。このようなロット分割を行う場合、通常は、分割した先行ロットに本体ロットの一部を継承したロットＩＤが付与される。そこで、分割前後のロットＩＤの共通部分（文字列）をワイルドカードとして、その部分に対してフィルタ処理を行うことで、分割前後のロットごとに最適レシピを抽出する。
【００８４】
また、フィルタ条件のキー項目により最適レシピを抽出する場合は、例えば、キー項目として設定されている品種名、装置名、大工程名称、小工程名称、レシピ名称、レシピバージョン、イベント情報などを基に、該当する最適レシピを抽出すればよい。
【００８５】
次に、フィルタ条件を構成するＡＰＣフィルタデータについて説明する。
ＡＰＣシステム１０は、あらかじめ設定されたフィルタ条件に基づき、収集された製造データにフィルタ処理を施し、最適レシピ演算に用いる項目のデータを選択する。このフィルタ条件は、ＡＰＣフィルタデータ２３０ａとしてＡＰＣシステム１０のデータベースサーバ１４内にある図３のＡＰＣフィルタデータベース１４ｆに格納されている。また、このフィルタ条件には、例えば、フィルタ処理後のデータを用いてフィードバック制御を行うか、フィードフォワード制御を行うかなどの設定を行うこともできる。
【００８６】
図１０はＡＰＣフィルタデータの構成例を示す図である。
ＡＰＣフィルタデータは、フィルタ条件管理テーブル３００、フィルタ条件データテーブル３１０、収集データ項目管理テーブル３２０の３テーブルにより管理される。フィルタ条件データテーブル３１０および収集データ項目管理テーブル３２０は、フィルタ条件管理テーブル３００によって管理されている。
【００８７】
フィルタ条件管理テーブル３００は、フィルタ条件を、例えば管理番号（システムＩＤ）、フィルタ名称、フィルタバージョン、代表品種名、代表装置名、代表大工程名称、代表小工程名称、代表レシピ名称、代表レシピバージョンなどの項目で分類して設定される。
【００８８】
さらに、そのような項目で分類されたデータが、管理番号（システムＩＤ）、フィルタバージョン、装置名、大工程名称、小工程名称、レシピ名称、レシピバージョンなどの各項目で分類されるよう、その分類条件がフィルタ条件データテーブル３１０に登録される。このフィルタ条件データテーブル３１０には、アルゴリズムを起動するためのキー項目の条件が登録され、そのキー項目のデータがトリガ信号になって、処理ロットがこのフィルタ条件データテーブル３１０に示す条件に合致しているか否かが判別され、合致している場合には、その条件に該当するアルゴリズムが特定されるようになる。
【００８９】
さらに、データが、管理番号（システムＩＤ）、フィルタバージョン、装置名、収集イベントＩＤ、収集イベント名、演算処理に使用する変数名、コメント領域、収集先システム情報の各項目で分類されるよう、その分類条件が収集データ項目管理テーブル３２０に登録される。この収集データ項目管理テーブル３２０には、最適レシピ演算に用いるデータの項目が登録され、この収集データ項目管理テーブル３２０に示す条件に合致する場合に、アルゴリズムに与える引数として該当項目のデータが抽出されて最適レシピ演算に用いられる。
【００９０】
ＡＰＣシステム１０は、フィルタ条件データテーブル３１０に基づいて該当するアルゴリズムを特定し、収集データ項目管理テーブル３２０に基づいて最適レシピ演算に用いる該当項目のデータを抽出し、特定されたアルゴリズムを起動して演算を実行する。その際、ＡＰＣシステム１０は、フィルタ条件データテーブル３１０および収集データ項目管理テーブル３２０に設定されたフィルタ条件によって抽出したデータを、必要に応じて変数変換処理を行って演算に用いる。
【００９１】
なお、フィルタ条件管理テーブル３００、フィルタ条件データテーブル３１０および収集データ項目管理テーブル３２０の項目の設定は、ＡＰＣシステム１０運用開始前のシステム初期設定時に、ユーザが製造現場に応じて、ＡＰＣ操作端末４０などから自由に設定することができ、製造現場ごとに最適な項目で条件設定を行うことが可能になっている。
【００９２】
次に、システム間データ連携機能について述べる。
量産プロセスでは、製造装置の経年変化や部品の消耗によって装置状態が変化すると、最適レシピを算出しても、その処理状態が変化してしまう場合が起こり得る。ＡＰＣシステム１０では、装置状態の変化をアルゴリズムにデータとして取り込むことにより、最適レシピの演算結果に補正量を見込んで最適化を行う。装置状態の変化をデータとして取り込むために、従来では、ＭＥＳ／ＣＣシステム２０が保有している製造装置のサマリデータ（最大、最小、平均値）を利用することはできたが、装置状態の変化を的確に捉えるためには、ＦＤＣシステム１２０によって収集する製造装置のリアルタイムなデータを利用することが望ましい。
【００９３】
そこで、このＡＰＣシステム１０では、ＦＤＣシステム１２０のリアルタイムデータをウェーハ単位、レシピ単位で登録する。このＦＤＣシステム１２０との連携では、ＦＤＣシステム１２０にて収集したリアルタイムデータを、ウェーハ単位あるいはレシピ単位に集計した後に、ＡＰＣシステム１０のデータベースへと格納する。その際には、ロットＩＤ、ウェーハナンバー、ステップナンバーなどのキー項目に、ＭＥＳ／ＣＣシステム２０から収集するデータのキー項目を加えて、ＡＰＣシステム１０の製造履歴データベース１４ｄに格納する。これにより、ＡＰＣシステム１０は、レシピ演算に必要なデータとして、ＭＥＳ／ＣＣシステム２０からのデータと同じようにＦＤＣシステム１２０からのデータを用いることが可能になる。その際には、必要に応じてデータを構成情報リストに変換して演算に用いる。また、外部端末６０などから製造履歴データベース１４ｄ内の製造データや外部データを参照できるようにすることで、プロセス処理状態や特性向上のためのデータ解析を行うことが可能になる。
【００９４】
また、一般に、半導体装置を製造する上で、製品の歩留りや特性などのデータから、各製造プロセスにおいて最適レシピが効果的に作用しているか否かについての解析は必要不可欠である。製品の歩留まりデータからその製造状態を解析するためには、製造装置５０の処理状態をデータとして収集して統計的手法により歩留り解析を行うＹＭＳ１３０が用いられる。
【００９５】
ＹＭＳ１３０とＡＰＣシステム１０との連携では、ＡＰＣシステム１０に収集された製造装置５０の処理条件、前測定結果、後測定結果などの様々なデータを、ＹＭＳ１３０にウェーハ単位で与えることができる。ＡＰＣシステム１０は、製造データを収集する際、レシピ演算を目的としたデータ収集を行うとともに、ロット、ウェーハ、プロセスステップをキー項目に追加してデータ収集を行う。さらに、ＡＰＣシステム１０内に、ＹＭＳ１３０での処理結果をシステム間で利用できる形で保存しデータ管理するようにすれば、その処理結果を他のシステムでの処理にも反映させることが可能になり、より適正なレシピ演算も可能になる。勿論、そのように管理されたデータを、ＡＰＣ操作端末４０や外部端末６０を用いてデータ解析に利用することもできる。
【００９６】
また、ＥＥＳ１４０とＡＰＣシステム１０との連携では、装置の状態管理を行うことで、メンテナンス時期の予測や製造装置５０の異常の検出、また、装置サプライヤの技術者による装置ベンダーからの遠隔監視が可能になる。
【００９７】
このようにＡＰＣシステム１０は、様々な外部システム１００との間でデータ連携を行うことができるようになっており、取得したデータを組み合わせてレシピ演算を行うことができるようになっている。
【００９８】
次に、ＡＰＣシステム１０におけるアルゴリズム適用方法について述べる。
ＡＰＣシステム１０では、フィルタ条件で設定されたトリガ信号によりアルゴリズムが起動されると、そのアルゴリズムが毎回システム上に展開されて、フィルタ条件に基づいて抽出されたデータを入力として最適レシピの演算が行われる。アルゴリズム適用の流れは、図４に示したステップＳ１〜Ｓ６に従う。フィルタ条件やそれに基づくアルゴリズムなど演算モジュール一式をシステムに設定した後は、ＡＰＣ操作端末４０や外部端末６０を用いて、演算モジュールを容易かつ迅速に適用、あるいは切り替えることが可能である。
【００９９】
また、アルゴリズムを適用して演算を行った後、データベースサーバ１４の格納領域が一杯になったときや、過去のフィルタ条件などを破棄するときなど、データの削除が必要になった場合には、その演算に使用した作業ファイル一式を削除するようにする。
【０１００】
図１１はＡＰＣシステムにおけるデータ削除フローを示す図である。
ＡＰＣシステム１０におけるデータの削除処理では、まず、削除する演算結果の特定に必要なキー項目をあらかじめ選択しておき、削除するタイミングを設定する（ステップＳ５０）。この削除するタイミングの設定は、ここで述べる削除処理が起動する時点をタイマーにより設定して行う。
【０１０１】
そして、ＡＰＣシステム１０は、設定した時点に達しているか否かを判定し（ステップＳ５１）、設定した時点であると判断した場合には、次に、演算結果の演算に用いられたデータ項目があらかじめ選択されていたキー項目に合致するか否かを判定していく（ステップＳ５２）。キー項目が合致していると判断した場合には、その演算結果の演算に関連した情報（以下「演算関連情報」という。）を、データベースから抽出する（ステップＳ５３）。ここで抽出される演算関連情報としては、フィルタ条件、演算の際にフィルタ条件で選択されるデータ、ログとして管理している演算実行情報、演算に用いたアルゴリズムの識別情報などである。
【０１０２】
演算関連情報の抽出後は、この演算関連情報をまとめて、別に設けた退避領域に移動する（ステップＳ５４）。ここで、退避領域とは、データベース内の別の記憶領域やＡＰＣシステム１０に接続された外部記憶装置、外部記憶媒体などである。演算関連情報をまとめるときには、一般的な圧縮コマンドを用いてファイルを生成すればよい。演算関連情報を退避領域へ移動した後は、これを一括して削除する（ステップＳ５５）。
【０１０３】
ＡＰＣシステム１０は、ステップＳ５１で、設定した時点に達していないと判断した場合には、その時点になるまでステップＳ５２以降の処理は行わない。また、ステップＳ５２で、キー項目が合致していないと判断した場合には、ステップＳ５３以降の処理は行わない。
【０１０４】
ＡＰＣシステム１０からデータを削除する場合には、アルゴリズムは製造ノウハウであるため、このように演算関連情報をまとめて削除するようにすることが好ましい。
【０１０５】
次に、最適レシピの通信方法について説明する。
例えばＭＥＳ／ＣＣシステム２０がＡＰＣシステム１０に最適レシピを問い合わせる場合には、まず、ＭＥＳ／ＣＣシステム２０が、所定のメッセージフォーマットに従ってデータ項目を生成する。
【０１０６】
図１２はメッセージフォーマットの一例である。
ＭＥＳ／ＣＣシステム２０からＡＰＣシステム１０へのメッセージ送信は、まず、この図１２に示すようなボディ部を有するメッセージフォーマットの最適レシピ問い合わせ（電文種別コード１）のパケット構成に従って生成されるメッセージにより行われる。ボディ部は、各データ項目およびその略称に分けられ、それぞれのデータ項目には適当なサイズ（バイト）が割り当てられている。この図１２に示すように、最適レシピ問い合わせのパケットには、プロセス制御に用いるキー項目が組み込まれている。ＭＥＳ／ＣＣシステム２０は、トラッキングしているロットの情報を上記パケット構成に従ってメッセージとして生成した後、このメッセージを自身が備える送信部から、ヘッダ部の情報を基に、ＡＰＣシステム１０へと送信する。
【０１０７】
ＡＰＣシステム１０は、メッセージの受信後、ＭＥＳ／ＣＣシステム２０に応答電文を返信し、二次メッセージ処理を行う。この二次メッセージ処理では、図１２に示す最適レシピ応答（電文種別コード２）のパケット構成に従ってデータ項目が生成され、キー項目のデータのほかに、対象となるパラメタ項目および最適レシピ値（図１２ではそれぞれ可変パラメタ項目名およびＡＰＣ最適レシピ値と表記している）が含まれる。ＡＰＣシステム１０は、この二次メッセージを、自身が備える送信部からＭＥＳ／ＣＣシステム２０に送信し、ＭＥＳ／ＣＣシステム２０から応答電文を受信して通信を終了する。
【０１０８】
このように、ＡＰＣシステム１０とＭＥＳ／ＣＣシステム２０などの外部システムとの間で通信を行う場合に、外部システムに送信部および受信部を設け、送受信に上記のようなパケット構成のメッセージを用いることにより、既存のシステムを大きく変更することなく、システム間の通信が実現できる。
【０１０９】
以上述べたように、本発明に係るＡＰＣシステム１０を用いることにより、制御対象となる半導体製造装置を管理するシステム側に大きな改造を加えることなく、最適レシピを生成して制御を行うことが可能になる。これにより、半導体製造装置の状態に応じた制御が行え、高精度、高信頼性の半導体装置を安定して製造することができ、製造に伴う歩留りも向上させることができるようになる。
【０１１０】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ＡＰＣシステム１０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）などがある。
【０１１１】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１２】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１３】
（付記１）  半導体装置の製造プロセス制御システムにおいて、
半導体装置の製造管理を行う製造管理システムに対して問い合わせを行って前記半導体装置の製造プロセスにおいて取得される製造データを収集し、収集された前記製造データにフィルタ処理を施し、前記フィルタ処理後のデータと特定のアルゴリズムとを用いて演算を行って前記半導体装置を製造するための半導体製造装置の処理を制御する制御条件を示すレシピを生成する機能を有することを特徴とする半導体装置の製造プロセス制御システム。
【０１１４】
（付記２）  前記アルゴリズムは、前記フィルタ処理の条件であるフィルタ条件により特定されることを特徴とする付記１記載の半導体装置の製造プロセス制御システム。
【０１１５】
（付記３）  収集された前記製造データに前記フィルタ処理を施して前記フィルタ処理後のデータと特定の前記アルゴリズムとを用いて演算を行って前記レシピを生成する処理が、前記製造データを収集する処理と独立して実行されるようにしたことを特徴とする付記１記載の半導体装置の製造プロセス制御システム。
【０１１６】
（付記４）  収集された前記製造データが格納される製造履歴データベースと、前記製造履歴データベースに格納された前記製造データを検索するためのデータ参照機能と、を有することを特徴とする付記１記載の半導体装置の製造プロセス制御システム。
【０１１７】
（付記５）  前記アルゴリズムを起動するためのトリガ信号を検出するプロセス制御フィルタ部を有し、前記プロセス制御フィルタ部によって前記トリガ信号が検出されたときに、収集された前記製造データにフィルタ処理を施し、前記フィルタ処理後のデータと前記アルゴリズムとを用いて演算を行い、前記レシピを生成することを特徴とする付記１記載の半導体装置の製造プロセス制御システム。
【０１１８】
（付記６）  前記トリガ信号は、前記半導体装置の製造プロセスにおける任意の時点にあらかじめ設定されまたは前記半導体装置の製造プロセスとは別に任意の時点に仮想的に設定されることを特徴とする付記５記載の半導体装置の製造プロセス制御システム。
【０１１９】
（付記７）  前記トリガ信号を発生する半導体製造装置と、前記トリガ信号に基づいて生成される前記レシピにより制御される半導体製造装置とを、あらかじめそれぞれ設定できるようにしたことを特徴とする付記５記載の半導体装置の製造プロセス制御システム。
【０１２０】
（付記８）  前記アルゴリズムを用いた演算によって生成された前記レシピが格納される演算結果データベースと、開発中または既存のアルゴリズムと前記製造データとを用いた演算のシミュレーション結果が格納されるシミュレーション結果データベースと、を有することを特徴とする付記１記載の半導体装置の製造プロセス制御システム。
【０１２１】
（付記９）  前記レシピは、前記レシピをコンピュータによって識別可能なステータス情報が付与されて、前記演算結果データベースに格納されることを特徴とする付記８記載の半導体装置の製造プロセス制御システム。
【０１２２】
（付記１０）  前記演算結果データベースからの前記レシピの抽出が要求されたときには、前記演算結果データベースに格納された前記レシピを、時間若しくはロットＩＤ若しくは前記フィルタ処理の条件であるフィルタ条件を基に抽出することを特徴とする付記８記載の半導体装置の製造プロセス制御システム。
【０１２３】
（付記１１）  収集された前記製造データを抽出するデータ抽出部と、抽出された前記製造データと前記アルゴリズムとを用いて演算を行うアルゴリズム演算部と、を有し、
抽出された前記製造データは、前記フィルタ処理後にファイル形式を変換された後、前記アルゴリズム演算部に伝達されるようにしたことを特徴とする付記１記載の半導体装置の製造プロセス制御システム。
【０１２４】
（付記１２）  前記レシピは、前記製造データと共に、製造支援システムにおいて取得されるデータを用いて生成されることを特徴とする付記１記載の半導体装置の製造プロセス制御システム。
【０１２５】
（付記１３）  前記フィルタ条件を削除するときには、前記フィルタ条件と共に、前記フィルタ条件によって特定される前記アルゴリズムの識別情報および前記フィルタ条件に基づいて行われた演算の中間結果である演算実行情報を削除するようにしたことを特徴とする付記２記載の半導体装置の製造プロセス制御システム。
【０１２６】
（付記１４）  半導体装置の製造プロセス制御方法において、
半導体装置の製造管理を行う製造管理システムに対して問い合わせを行って前記半導体装置の製造プロセスにおいて取得される製造データを収集し、
収集された前記製造データにフィルタ処理を施し、
前記フィルタ処理後のデータと特定のアルゴリズムとを用いて演算を行って前記半導体装置を製造するための半導体製造装置の処理を制御する制御条件を示すレシピを生成することを特徴とする半導体装置の製造プロセス制御方法。
【０１２７】
（付記１５）  前記アルゴリズムを、前記フィルタ処理の条件であるフィルタ条件により特定することを特徴とする付記１４記載の半導体装置の製造プロセス制御方法。
【０１２８】
（付記１６）  収集された前記製造データに前記フィルタ処理を施して前記フィルタ処理後のデータと特定の前記アルゴリズムとを用いて演算を行って前記レシピを生成する処理を、前記製造データを収集する処理と独立して実行することを特徴とする付記１４記載の半導体装置の製造プロセス制御方法。
【０１２９】
（付記１７）  前記アルゴリズムを起動するためのトリガ信号を検出したときに、収集された前記製造データに前記フィルタ処理を施して前記フィルタ処理後のデータと前記アルゴリズムとを用いて演算を行って前記レシピを生成することを特徴とする付記１４記載の半導体装置の製造プロセス制御方法。
【０１３０】
（付記１８）  前記トリガ信号は、前記半導体装置の製造プロセスにおける任意の時点にあらかじめ設定しまたは前記半導体装置の製造プロセスとは別に任意の時点に仮想的に設定することを特徴とする付記１７記載の半導体装置の製造プロセス制御方法。
【０１３１】
（付記１９）  前記トリガ信号を発生する半導体製造装置と、前記トリガ信号に基づいて生成される前記レシピにより制御される半導体製造装置とを、あらかじめそれぞれ設定することを特徴とする付記１７記載の半導体装置の製造プロセス制御方法。
【０１３２】
（付記２０）  前記アルゴリズムを用いた演算によって生成された前記レシピに、前記レシピをコンピュータによって識別可能なステータス情報を付与してデータベースに格納することを特徴とする付記１４記載の半導体装置の製造プロセス制御方法。
【０１３３】
（付記２１）  前記データベースからの前記レシピの抽出が要求されたときに、前記データベースに格納された前記レシピを、時間若しくはロットＩＤ若しくは前記フィルタ処理の条件であるフィルタ条件を基に抽出することを特徴とする付記２０記載の半導体装置の製造プロセス制御方法。
【０１３４】
（付記２２）  収集された前記製造データを抽出するデータ抽出部によって抽出された前記製造データを、前記フィルタ処理後にファイル形式を変換した後、前記レシピを生成するための演算を行うアルゴリズム演算部に伝達することを特徴とする付記１４記載の半導体装置の製造プロセス制御方法。
【０１３５】
（付記２３）  前記レシピは、前記製造データと共に、製造支援システムにおいて取得されるデータを用いて生成されることを特徴とする付記１４記載の半導体装置の製造プロセス制御方法。
【０１３６】
（付記２４）  前記フィルタ条件を削除するときに、前記フィルタ条件と共に、前記フィルタ条件によって特定される前記アルゴリズムの識別情報および前記フィルタ条件に基づいて行われた演算の中間結果である演算実行情報を削除することを特徴とする付記１５記載の半導体装置の製造プロセス制御方法。
【０１３７】
（付記２５）  コンピュータを用いて半導体装置の製造プロセス制御を行うためのプログラムにおいて、
コンピュータに、
半導体装置の製造管理を行う製造管理システムに対して問い合わせを行って前記半導体装置の製造プロセスにおいて取得される製造データを収集させ、
収集された前記製造データにフィルタ処理を行わせ、
前記フィルタ処理後のデータと特定のアルゴリズムとを用いた演算により前記半導体装置を製造するための半導体製造装置の処理を制御する制御条件を示すレシピを生成させる処理を実行させることを特徴とするプログラム。
【０１３８】
（付記２６）  前記アルゴリズムは、フィルタ処理の条件であるフィルタ条件により特定されることを特徴とする付記２５記載のプログラム。
（付記２７）  前記コンピュータに、
収集された前記製造データにフィルタ処理を行わせて前記フィルタ処理後のデータと特定の前記アルゴリズムとを用いた演算により前記レシピを生成させる処理と、前記製造データを収集させる処理とを、独立して実行させることを特徴とする付記２５記載のプログラム。
【０１３９】
（付記２８）  前記コンピュータに、
前記アルゴリズムを起動するためのトリガ信号が検出されたときに、収集された前記製造データにフィルタ処理を行わせ、前記フィルタ処理後のデータと前記アルゴリズムとを用いた演算により前記レシピを生成させる処理を実行させることを特徴とする付記２５記載のプログラム。
【０１４０】
（付記２９）  前記トリガ信号は、前記半導体装置の製造プロセスにおける任意の時点にあらかじめ設定されまたは前記半導体装置の製造プロセスとは別に任意の時点に仮想的に設定されることを特徴とする付記２８記載のプログラム。
【０１４１】
（付記３０）  前記トリガ信号を発生する半導体製造装置と、前記トリガ信号に基づいて生成される前記レシピにより制御される半導体製造装置とが、あらかじめそれぞれ設定されることを特徴とする付記２８記載のプログラム。
【０１４２】
（付記３１）  前記コンピュータに、
前記アルゴリズムを用いた演算によって生成された前記レシピに、前記レシピを前記コンピュータによって識別可能なステータス情報を付与してデータベースに格納させる処理を実行させることを特徴とする付記２５記載のプログラム。
【０１４３】
（付記３２）  前記コンピュータに、
前記データベースからの前記レシピの抽出が要求されたときに、前記データベースに格納された前記レシピを、時間若しくはロットＩＤ若しくはフィルタ処理の条件であるフィルタ条件を基に抽出させる処理を実行させることを特徴とする付記３１記載のプログラム。
【０１４４】
（付記３３）  前記コンピュータに、
収集された前記製造データを抽出するデータ抽出部によって抽出された前記製造データを、前記フィルタ処理後にファイル形式を変換した後、前記レシピを生成するための演算を行うアルゴリズム演算部に伝達させる処理を実行させることを特徴とする付記２５記載のプログラム。
【０１４５】
（付記３４）  前記コンピュータに、
前記レシピを、前記製造データと共に、製造支援システムにおいて取得されるデータを用いて生成させる処理を実行させることを特徴とする付記２５記載のプログラム。
【０１４６】
（付記３５）  前記コンピュータに、
前記フィルタ条件を削除するときに、前記フィルタ条件と共に、前記フィルタ条件によって特定される前記アルゴリズムの識別情報および前記フィルタ条件に基づいて行われた演算の中間結果である演算実行情報を削除させる処理を実行させることを特徴とする付記２６記載のプログラム。
【０１４７】
【発明の効果】
以上説明したように本発明では、製造プロセス制御システムが、製造管理システムに対して問い合わせを行って半導体装置の製造データを収集し、その収集した製造データにフィルタ処理を施し、フィルタ処理後のデータと特定のアルゴリズムとを用いて半導体製造装置の処理を制御するレシピを生成する構成にした。これにより、製造プロセス制御システムを半導体製造システムに組み込むに当たり、製造管理システムに大規模な改造が不要になるとともに、半導体製造装置の状態に応じた制御が高速で行え、高精度、高信頼性の半導体装置を安定して製造することができる。
【図面の簡単な説明】
【図１】ＡＰＣシステムの適用例を示す図である。
【図２】半導体製造システムの一例の構成概略図である。
【図３】半導体製造システムにおける処理の概略説明図である。
【図４】半導体製造システムの処理のフロー図である。
【図５】ＡＰＣシステムにおけるレシピ演算の説明図である。
【図６】ＡＰＣシステムにおけるアルゴリズムシミュレーションの説明図である。
【図７】アルゴリズムシミュレーションのフロー図である。
【図８】構成情報リストを用いたデータ伝達の流れを示す図である。
【図９】演算結果のステータス情報利用法の一例である。
【図１０】ＡＰＣフィルタデータの構成例を示す図である。
【図１１】ＡＰＣシステムにおけるデータ削除フローを示す図である。
【図１２】メッセージフォーマットの一例である。
【符号の説明】
１  半導体製造システム
１０  ＡＰＣシステム
１１  アプリケーションサーバ
１２  ＣＯＲＢＡネームサーバ
１３  演算サーバ
１４  データベースサーバ
１４ａ  演算結果データベース
１４ｂ  シミュレーション結果データベース
１４ｃ  ログ管理データベース
１４ｄ  製造履歴データベース
１４ｅ  アルゴリズムデータベース
１４ｆ  フィルタデータベース
１５  プロセス制御フィルタ部
１６  データ抽出部
１７  アルゴリズム演算部
１８  データ格納部
１９ａ  データ参照ツール
１９ｂ  データ参照用外部汎用ツール
２０  ＭＥＳ／ＣＣシステム
３０ａ  基幹ＬＡＮ
３０ｂ  ＬＡＮ
３０ｃ  ＷＡＮ
４０  操作端末
５０  製造装置
６０  外部端末
１００  外部システム
１１０  ファシリティシステム
１２０  ＦＤＣシステム
１３０  ＹＭＳ
１４０  ＥＥＳ
１５０  ＴＣＡＤシステム
１６０  ディスパッチシステム
２００  他システムデータ連携機能実行プロセス
２１０  ＡＰＣデータベース連携機能実行プロセス
２２０  ＡＰＣシステム実行ログ管理実行プロセス
２３０  ＡＰＣフィルタ管理実行プロセス
２３０ａ  ＡＰＣフィルタデータ
２４０  ＡＰＣ演算処理機能実行プロセス
２４０ａ  演算エンジン
２５０  アルゴリズムシミュレーション機能実行プロセス
２６０  ＷＷＷ実行プロセス
３００  フィルタ条件管理テーブル
３１０  フィルタ条件データテーブル
３２０  収集データ項目管理テーブル
【図１】
2004349644.tif 000003
【図２】
2004349644.tif 000004
【図３】
2004349644.tif 000005
【図４】
2004349644.tif 000006
【図５】
2004349644.tif 000007
【図６】
2004349644.tif 000008
【図７】
2004349644.tif 000009
【図８】
2004349644.tif 000010
【図９】
2004349644.tif 000011
【図１０】
2004349644.tif 000012
【図１１】
2004349644.tif 000013
【図１２】
2004349644.tif 000014