(57)【要約】【課題】適切なデータを提供することを可能とする。【解決手段】複数の部品で構成される基板処理装置と、基板処理装置を時間と各部品を規定する制御手順を定めたものとにより制御する制御手段と、前記各部品からデータを収集する収集ユニットとを備え、前記収集ユニットは、前記制御手段を経由して収集したデータと各部品から直接収集したデータとの整合を取る。【選択図】  図１
2010183066.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品で構成される基板処理装置と、
該基板処理装置を時間と各部品を規定する手順を定めたものとにより制御する制御手段と、
前記各部品からデータを収集する収集ユニットとを備え、
前記収集ユニットは、前記制御手段を経由して収集したデータと各部品から直接収集したデータとの整合を取る基板処理システム。
【請求項２】
前記収集ユニットは、前記制御手段を経由して収集した前記データと前記各部品から直接収集した前記データとを一時的に蓄積して、各種データに添付される時刻データ順に並べ換える請求項１記載の基板処理システム。
【請求項３】
複数の部品で生成されるデータを各種コントローラを介して間接的に収集する収集ユニットを備え、前記収集ユニットは、
収集される前記データの整合を取る手段と、
前記整合を取られたデータを一時的に格納するバッファと、
前記バッファ内に格納される前記整合を取られたデータを、添付される時刻データ順に並べ換える手段と
を備えた基板処理システム。
【請求項４】
前記データを収集する際に所定の期間、前記データが前記複数の部品から生成されない場合、前記収集ユニットは、前記時刻データのみの空データを前記バッファ内に格納する請求項３記載の基板処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は基板処理システムに係り、特に基板処理装置に関する高頻度なデータ収集を実現するのに好適な基板処理システムに関する。
【背景技術】
【０００２】
基板処理装置、例えば半導体製造装置は、多数の部品で構成されており、部品ごとに寿命や故障率が異なるため、半導体製造装置の各部品の安定稼働が半導体製造のためのキープロセスとなっている。そこで近年、半導体製造工場では、半導体製造装置に関する生産管理、性能や稼働率・故障検知管理等を目的として、半導体製造システムに対して、高頻度なデータ収集を可能とすることを求めている。
【０００３】
しかし半導体製造装置を制御するシステムにおいては、もとより多くの部品を高頻度で適時制御する必要があり、従来の仕組みをそのまま使うことにより、収集データを半導体製造工場が求めるような高頻度で出力することは困難な状況になっている。
なお、従来、外部記憶媒体に直接データを収集し、収集したデータをオフラインで利用することが行われているが（例えば、特許文献１参照）、最近のオンライン化ではオフラインは好ましくない。
【０００４】
半導体製造システムは、半導体基板への成膜を行うため、時間と部品を規定する手順を定めたもの、例えばレシピにより制御を行う。レシピには、半導体基板への成膜を行う炉に関して、温度・圧力・ガスなどの制御を行う手順が規定されており、これにより温度コントローラ、圧力コントローラ等のサブコントローラや、ガスの選択と流量を調整するＭＦＣやバルブ等の部品に対して必要な制御を順次行う。また半導体製造システムによっては、成膜を行う半導体基板を炉へ投入、払い出すための駆動制御もこのレシピで規定する場合もある。
【０００５】
図２２に従来の基板処理システムの構成を示す。
ここで、ＭＣ３０Ａ、３０Ｂは、基板処理装置１０を制御するモジュールコントローラである。ＯＵ４０はレシピを編集するためのオペレーションユニットである。半導体基板を半導体製造装置内部への出し入れを行い、複数あるレシピから選択・開始する操作は、ＯＵ４０からも指定可能だが、最近はオンライン化が進み、半導体製造工場に設置したＨＯＳＴ６０からの要求に従い自動化されている場合が多い。この半導体製造装置システムと半導体製造工場とのインタフェースはＨＵ５０で担われている。これら基板処理装置１０、ＭＣ３０Ａ、ＭＣ３０Ｂ、ＯＵ４０、ＨＵ５０及びＨＯＳＴ６０は、通常のネットワークで接続されている。
【０００６】
しかしながら、上述した基板処理システムでは、通常のネットワークで接続されているので、温度、圧力、ガス、駆動制御などのデータを高速収集できなかった。
【０００７】
そこで、最近の半導体製造工場では、データの高速収集を目的として、基板処理システムに対して従来のＨＵ５０とは異なる別のポートの設置を要求する場合もある。この要求に応えて、専用のユニットＣＵ７０を設けた基板処理システムの一例を図２３に示す。
【０００８】
図２３において、ＭＣ３０と基板処理装置１０との接続は、通常のネットワーク、例えばＥＴＨＥＲＮＥＴとは異なり、デバイス制御に特化した省配線システムネットワーク（フィールドネットワーク）で構成されている。尚、ＣＵ７０から取得したデータは、通常ＤＢ８０に格納され、半導体製造工場側で適時抽出・解析などが行われる。
【０００９】
ところで、ＨＯＳＴ６０やＤＢ８０が要求するのは、各種部品やＭＣ３０から収集できた装置状況をモニタリングするトレースデータの他、多種の事象（イベント）や異常（例外）の報告も含まれる。
【００１０】
基板処理システム内部では、イベントや例外が発生した時には、必要な反応動作、例えばあるイベントにより次の動作を行うとか、例外の場合はシステムを停止する等の動作を行う必要がある。またトレースデータ・イベント・例外の発生順序やデータ間の整合性なども正しく管理する必要があるため、これらデータはシステムの一箇所に集める必要がある。その上でＨＵ５０ないしはＣＵ７０を介してＨＯＳＴ６０やＤＢ８０に送ることになる。
【００１１】
しかし基板処理システム内部では、トレースデータ・イベント・例外等のデータの発生順序やデータ間整合性なども管理するために、ＨＯＳＴ６０やＤＢ８０が必要とするような高精細・高頻度なデータ送信は難しい。例えば基板処理システム内部では、制御に必要・十分な収集頻度としては、部品やデータの性格によっても異なるが１回／１秒から１回／５００ｍｓｅｃ程度のものが多い。中には１００ｍｓやそれ以上の周期で収集するものもある。しかし、これらの収集頻度はあくまで制御に必要な収集頻度であり、通常はＭＣ３０内部にとどまる。高精細・高頻度なデータをＯＵ４０含めＨＯＳＴ６０やＤＢ８０に送るとなると、複数のプログラムを引き継ぎながら高速で送信する必要があり、これを敢えてＯＵ４０やＣＵ７０にまで拡張して行うとシステム負荷に直結してしまうという問題がある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特許第３６３０２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上述したように、従来の基板処理システムにおいて、高精細・高頻度なデータ送信を実現するためには、複数のプログラムを引き継ぎながら高速で送信する必要がある。これを実際に行うとシステム負荷の問題があり、このため、データの発生順序やデータ間の整合性が正しく管理されている適切なデータを提供することが困難であった。
【００１４】
本発明の目的は、上述した従来技術の欠点を解消して、上述のような適切なデータを提供することが可能な基板処理システムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の一態様によれば、複数の部品で構成される基板処理装置と、該基板処理装置を時間と各部品を規定する手順を定めたものとにより制御する制御手段と、前記各部品からデータを収集する収集ユニットとを設け、前記収集ユニットは、前記制御手段を経由して収集したデータと各部品から直接収集したデータとの整合を取る基板処理システムが提供される。
【００１６】
本発明の他の態様によれば、複数の部品で生成されるデータを各種コントローラを介して間接的に収集する、及び／又は前記データを前記各種コントローラを介さずに前記部品から直接収集する収集ユニットを備え、前記収集ユニットは、収集される前記データの整合を取る手段と、前記整合を取られたデータを一時的に格納するバッファと、前記バッファ内に格納される前記データを、該データに添付される時刻データ順に並べ換える手段とを備えた基板処理システムが提供される。
【発明の効果】
【００１７】
本発明によれば、基板処理システム内部で生成される各種データの発生順序やデータ間の整合性を管理することができるので、半導体製造装置側から適切なデータを半導体製造工場側システムに提供することができる。従い、半導体製造工場側のシステムでデータの解析を適切に行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施の形態の基板処理システムの構成図である。
【図２】本発明の第１の実施の形態のモジュールコントローラ（ＭＣ）の構成図である。
【図３】本発明の第１の実施の形態のモジュールコントローラ（ＭＣ）の構成図である。
【図４】本発明の第１の実施の形態のコレクション（収集）ユニット（ＣＵ）の構成図である。
【図５】本発明の第１の実施の形態のＣ２データ検索を示す説明図である。
【図６】本発明の第１の実施の形態の報告データ作成のフローチャートである。
【図７】本発明の第１の実施の形態のデータ収集タイミングと遅延を示す説明図である。
【図８】本発明の第１の実施の形態のデータ収集タイミングのズレを示す説明図である。
【図９】本発明の第１の実施の形態のＳｔｏｒｅｄ  Ｄａｔａテーブルを示す説明図である。
【図１０】本発明の第１の実施の形態のΔｔパラメータが収束することを示す説明図である。
【図１１】本発明の第１の実施の形態のＤｉｒｅｃｔ  Ｓｔｏｒｅｄ  Ｄａｔａリストを示す説明図である。
【図１２】本発明の第１の実施の形態の報告すべきパラメータリストを示す説明図である。
【図１３】本発明の第１の実施の形態のＳｔｏｒｅｄ  Ｄａｔａテーブルの＃１ＥｑｕｉｐｍｅｎｔＳＩａｔｕｓを示す説明図である。
【図１４】本発明の第１の実施の形態の報告作業テーブルを示す説明図である。
【図１５】本発明の第１の実施の形態のＳｔｏｒｅｄ  Ｄａｔａテーブルの＃１０３ＭＣ１．Ａｕｘ２０．Ｍｏｎｉｔｏｒを示す説明図である。
【図１６】本発明の第１の実施の形態の＃１０３ＭＣ１．Ａｕｘ２０．Ｍｏｎｉｔｏｒデータ検索を示す説明図である。
【図１７】本発明の第１の実施の形態の報告データ作業テーブルを示す説明図である。
【図１８】本発明の第１の実施の形態のリスト上に見つけたデータよりも古いデータ削除を示す説明図である。
【図１９】本発明の第１の実施の形態の基板処理装置を示す斜視図である。
【図２０】本発明の第１の実施の形態の基板処理装置を示す側面透視図である。
【図２１】本発明の第１の実施の形態の基板処理装置の処理炉の縦断面図である。
【図２２】従来例の基板処理システムの構成図である。
【図２３】従来例の基板処理システムの構成図である。
【図２４】本発明の第２の実施の形態のＣＵにおけるソフトウェハ構成図である。
【図２５】本発明の第２の実施の形態のデータ受信部の構成図である。
【図２６】本発明の第２の実施の形態のバッファへのデータ挿入説明図である。
【図２７】本発明の第２の実施の形態のバッファへのデータ挿入説明図である。
【図２８】本発明の第２の実施の形態のデータ受信フローチャートである。
【図２９】本発明の第２の実施の形態のデータ受信フローチャートである。
【図３０】本発明の第２の実施の形態のバッファ管理時間の重なりを示す説明図である。
【図３１】本発明の第２の実施の形態のバッファ管理時間の重なりを示す説明図である。
【図３２】本発明の第２の実施の形態のデータ受信フローチャートである。
【図３３】本発明の第２の実施の形態のバッファ管理の時間的範囲を示す説明図である。
【図３４】本発明の第２の実施の形態のバッファ管理の時間的範囲を示す説明図である。
【図３５】本発明の第２の実施の形態の同期部の説明図である。
【図３６】本発明の第２の実施の形態の同期部から装置データ保存領域へのデータ書込み説明図である。
【図３７】本発明の第２の実施の形態のデータ報告部の説明図である。
【図３８】本発明の第２の実施の形態のパッキングデータ例の説明図である。
【図３９】本発明の第２の実施の形態のパッキングデータ例のデータ受信フローチャートである。
【発明を実施するための形態】
【００１９】
以下に、本発明の一実施の形態について説明する。
【００２０】
［第１の実施の形態］
（第１の実施の形態の概要）
本実施の形態によれば、複数の部品で構成される基板処理装置と、該基板処理装置を時間と各部品を規定する手順を定めたものとにより制御する制御手段と、各部品からデータを収集する収集ユニットとを備え、前記収集ユニットは、前記制御手段を経由して収集したデータと各部品から直接収集したデータとの整合を取る。このように、各種データの整合を取ることで、各種データの発生順序やデータ間の整合性を管理することが可能となる。
ここで、整合を取るとは、収集した各データ間で発生した時刻を（収集した経路によらず）合致させることをいう。
以下、第１の実施の形態を具体的に説明する。
（１−１）基板処理システムの構成
まず、図１を用いて、本発明の一実施の形態にかかる基板処理システムの構成について説明する。
【００２１】
図１に示すように、基板処理システムは、基板処理装置１００、制御手段としてのモジュールコントローラ（ＭＣ：Ｍｏｄｕｌｅ  Ｃｏｎｔｒｏｌｌｅｒ）３００、端末装置としてのオペレーションユニット（ＯＵ：Ｏｐｅｒａｔｉｏｎ  Ｕｎｉｔ）４００、ホストインタフェースユニット（ＨＵ：Ｈｏｓｔ  Ｉ／Ｆ  Ｕｎｉｔ）５００、ホストコンピュータ（ＨＯＳＴ：ＨＯＳＴ  Ｃｏｍｐｕｔｅｒ）６００、収集ユニットとしてのコレクションユニット（ＣＵ：Ｃｏｌｌｅｃｔｉｏｎ  Ｕｎｉｔ）７００、及びデータベース（ＤＢ：Ｄａｔａ  Ｂａｓｅ）８００を有する。基板処理システムは、基板処理装置で取得したデータを、基板処理システムの設置場所から離れた半導体製造工場側のＨＯＳＴ６００やＤＢ８００に送る分散処理システムである。
【００２２】
基板処理装置１００は、一例として、半導体装置を製造する半導体製造装置として構成されている。基板処理装置１００は、複数の部品で構成される。各部品はデータを生成する。
ここで、部品とは、例えば、駆動制御部（搬送制御部、温度制御部等）や各センサや各
アクチュエータなどの基板処理装置を構成する全てのものを示す。データとは、ある部品に対して設定される又は測定される項目のことをいい、例えば、熱電対については、モニタ値（実測値）が該当し、ＭＦＣ（Ｍａｓｓ  Ｆｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）では設定値やモニタ値（実測値）やバルブ電圧などが該当する。
基板処理装置１００は、ＨＯＳＴ６００から送信されたレシピを受信し、受信したレシピに基づいて基板の処理を実行する。具体的には、このようなレシピには、基板を処理するための手順が記載されており、ＭＣ３００が、複数のステップで構成されるレシピに基づいて基板処理装置１００内の各部品を制御する。なお、基板処理装置１００の詳細については後述する。
【００２３】
ＭＣ３００は、基板処理装置１００とＯＵ４００との間に設けられ、フィールドネットワーク１０００を介して接続されている。基板処理装置１００内の各部品はＭＣ３００により制御される。ＭＣ３００は、基板処理を行うために時間と部品を規定する制御手順を定めたもの、例えばレシピに従い、基板処理装置１００に対して必要な制御を行うコントローラである。ＭＣ３００には、基板処理、例えば成膜に必要な制御を行うものと、半導体基板やそれを複数枚格納するキャリア等を運ぶための機構を制御するものとがあり、システムに応じて必要な数が用意されている。図示例では、成膜に必要な制御を行う温度・圧力・ガス用ＭＣ３００Ａと、キャリア等を運ぶための機構を制御する駆動制御用ＭＣ３００Ｂとの２台が用意される。なお、ＭＣ３００の詳細については後述する。
【００２４】
ＯＵ４００は、目的とするレシピを編集するための端末装置である。また、ＯＵ４００はＭＣ３００から各部品で生成されるデータを収集する端末装置である。ＯＵ４００は、ＭＣ３００と通常のネットワーク９００を介して接続して設けられており、キーボード４０１やマウス４０２などの入出力装置と操作画面４０３とを有する。操作画面４０３には、オペレータにより所定のデータが入力される入力画面及び装置の状況等を示す表示画面等が表示される。
【００２５】
ＨＵ５００は、基板処理システムと半導体製造工場とのインタフェース（Ｉ／Ｆ）を担う。ＨＵ５００は基板処理装置から収集したデータをＨＯＳＴ６０へ送る機能も有する。ＨＵ５００は直接制御に影響を及ぼさない受動ユニットである。
【００２６】
ＨＯＳＴ６００は、半導体製造工場側に設置される。ＨＯＳＴ６００は、通常のネットワーク９００を介してＨＵ５００からＯＵ４００に接続されている。ＨＯＳＴ６００は、複数のレシピを記憶し、ロット情報とレシピとの対応関係を記憶し、受け付けられたロット情報と記憶されている対応関係とに基づいて、記憶されている複数のレシピから１つのレシピを選択し、選択されたレシピを基板処理装置１００に対して送信する。
【００２７】
ＣＵ７００は、データの高速収集を目的として、基板処理装置に対しＨＵ５００とは異なるポートに設置された専用のコレクション（収集）ユニットである。ＣＵ７００は、通常のネットワーク９００でＯＵ４００に接続され、特化したフィールドネットワーク１０００で基板処理装置１００に直接接続されている。ＣＵ７００は、ＯＵ４００によりＭＣ３００Ａ、ＭＣ３００Ｂを介して基板処理装置１００の複数の部品から間接的に収集したデータを保管（蓄積）し、また、ＭＣ３００Ａ、ＭＣ３００Ｂを介さずに複数の部品から直接収集したデータを保管（蓄積）する。したがって、ＣＵ７００には、ＭＣ３００（ＭＣ３００Ａ、ＭＣ３００Ｂ）を経由して収集される間接データと、基板処理装置１００の部品から直接収集される直接データとの２種類のデータが保管される。なお、ＣＵ７００は、ＨＵ５００と同様に直接制御に影響を及ぼさないユニットである。ＣＵ７００の詳細については後述する。
【００２８】
ＤＢ８００は、半導体製造工場側に設置されている。ＣＵ７００から取得されたデータ
は、通常のネットワーク９００を介してＤＢ８００に格納され、半導体製造工場側で適時抽出・解析などが行われる。
【００２９】
基板処理装置１００のデータのうち、一方では、ＭＣ３００やＯＵ４００を経由するデータは、通常のネットワーク９００を介して間接的にＣＵ７００に収集された後、プログラムでＤＢ８００に転送されていき、ＤＢ８００にレポート報告されている。他方では、フィールドネットワークからの直接データはＣＵ７００に収集された後、整形された上でＤＢ８００にレポート報告されている。
なお、ＨＯＳＴ６００へも同様にレポート報告してもよい。
【００３０】
なお、これらＯＵ／ＭＣ／ＨＵなどはソフトウェアプログラムで構成することができるので、実際に動作するための物理的なコンピュータユニットと１対１の関係とは限らない。例えばＯＵとＨＵの組合せやＯＵとＭＣの組合せ等の種々の構成が可能である。例えば、同一のコンピュータ上で動作する構成もありえる。
【００３１】
また、上述した実施の形態の分散処理システムでは、ＨＯＳＴに１台の基板処理装置が接続されている場合を例示している。複数台の基板処理装置が接続されて管理されるように構成してもよい。
【００３２】
（１−２）基板処理装置の構成
続いて、本実施の形態にかかる基板処理装置１００の構成について、図１９，図２０を参照しながら説明する。図１９は、本発明の一実施形態にかかる基板処理装置の斜透視図である。図２０は、本発明の一実施形態にかかる基板処理装置の側面透視図である。なお、本実施形態にかかる基板処理装置１００は、例えばウエハ等の基板に酸化、拡散処理、ＣＶＤ処理などを行なう縦型の半導体製造装置として構成されている。
【００３３】
図１９、図２０に示すように、本実施形態にかかる基板処理装置１００は、耐圧容器として構成された筐体１１１を備えている。筐体１１１の正面壁１１１ａの正面前方部には、メンテナンス可能なように設けられた開口部としての正面メンテナンス口１０３が開設されている。正面メンテナンス口１０３には、正面メンテナンス口１０３を開閉する一対の正面メンテナンス扉１０４が設けられている。シリコン等のウエハ（基板）２００を収納したポッド（基板収容器）１１０が、筐体１１１内外へウエハ２００を搬送するキャリアとして使用される。
【００３４】
筐体１１１の正面壁１１１ａには、ポッド搬入搬出口（基板収容器搬入搬出口）１１２が、筐体１１１内外を連通するように開設されている。ポッド搬入搬出口１１２は、フロントシャッタ（基板収容器搬入搬出口開閉機構）１１３によって開閉されるようになっている。ポッド搬入搬出口１１２の正面前方側には、ロードポート（基板収容器受渡し台）１１４が設置されている。ロードポート１１４上には、ポッド１１０を載置されると共に位置合わせされるように構成されている。ポッド１１０は、工程内搬送装置（図示せず）によってロードポート１１４上に搬送されるように構成されている。
【００３５】
筐体１１１内の前後方向の略中央部における上部には、回転式ポッド棚（基板収容器載置棚）１０５が設置されている。回転式ポッド棚１０５上には複数個のポッド１１０が保管されるように構成されている。回転式ポッド棚１０５は、垂直に立設されて水平面内で間欠回転される支柱１１６と、支柱１１６に上中下段の各位置において放射状に支持された複数枚の棚板（基板収容器載置台）１１７と、を備えている。複数枚の棚板１１７は、ポッド１１０を複数個それぞれ載置した状態で保持するように構成されている。
【００３６】
筐体１１１内におけるロードポート１１４と回転式ポッド棚１０５との間には、ポッド
搬送装置（基板収容器搬送装置）１１８が設置されている。ポッド搬送装置１１８は、ポッド１１０を保持したまま昇降可能なポッドエレベータ（基板収容器昇降機構）１１８ａと、搬送機構としてのポッド搬送機構（基板収容器搬送機構）１１８ｂとで構成されている。ポッド搬送装置１１８は、ポッドエレベータ１１８ａとポッド搬送機構１１８ｂとの連続動作により、ロードポート１１４、回転式ポッド棚１０５、ポッドオープナ（基板収容器蓋体開閉機構）１２１との間で、ポッド１１０を相互に搬送するように構成されている。
【００３７】
筐体１１１内の下部には、サブ筐体１１９が、筐体１１１内の前後方向の略中央部から後端にわたって設けられている。サブ筐体１１９の正面壁１１９ａには、ウエハ２００をサブ筐体１１９内外に搬送する一対のウエハ搬入搬出口（基板搬入搬出口）１２０が、垂直方向に上下二段に並べられて設けられている。上下段のウエハ搬入搬出口１２０には、ポッドオープナ１２１がそれぞれ設置されている。
【００３８】
各ポッドオープナ１２１は、ポッド１１０を載置する一対の載置台１２２と、ポッド１１０のキャップ（蓋体）を着脱するキャップ着脱機構（蓋体着脱機構）１２３とを備えている。ポッドオープナ１２１は、載置台１２２上に載置されたポッド１１０のキャップをキャップ着脱機構１２３によって着脱することにより、ポッド１１０のウエハ出し入れ口を開閉するように構成されている。
【００３９】
サブ筐体１１９内には、ポッド搬送装置１１８や回転式ポッド棚１０５等が設置された空間から流体的に隔絶された移載室１２４が構成されている。移載室１２４の前側領域にはウエハ移載機構（基板移載機構）１２５が設置されている。ウエハ移載機構１２５は、ウエハ２００を水平方向に回転ないし直動可能なウエハ移載装置（基板移載装置）１２５ａと、ウエハ移載装置１２５ａを昇降させるウエハ移載装置エレベータ（基板移載装置昇降機構）１２５ｂとで構成されている。図１９に示すように、ウエハ移載装置エレベータ１２５ｂは、サブ筐体１１９の移載室１２４前方領域右端部と筐体１１１右側端部との間に設置されている。ウエハ移載装置１２５ａは、ウエハ２００の載置部としてのツイーザ（基板保持体）１２５ｃを備えている。これらウエハ移載装置エレベータ１２５ｂ及びウエハ移載装置１２５ａの連続動作により、ウエハ２００をボート（基板保持具）２１７に対して装填（チャージング）及び脱装（ディスチャージング）することが可能なように構成されている。
【００４０】
移載室１２４の後側領域には、ボート２１７を収容して待機させる待機部１２６が構成されている。待機部１２６の上方には、基板処理系としての処理炉２０２が設けられている。処理炉２０２の下端部は、炉口シャッタ（炉口開閉機構）１４７により開閉されるように構成されている。
【００４１】
図１９に示すように、サブ筐体１１９の待機部１２６右端部と筐体１１１右側端部との間には、ボート２１７を昇降させるためのボートエレベータ（基板保持具昇降機構）１１５が設置されている。ボートエレベータ１１５の昇降台には、連結具としてのアーム１２８が連結されている。アーム１２８には、蓋体としてのシールキャップ２１９が水平に据え付けられている。シールキャップ２１９は、ボート２１７を垂直に支持し、処理炉２０２の下端部を閉塞可能なように構成されている。
【００４２】
ボート２１７は複数本の保持部材を備えている。ボート２１７は、複数枚（例えば、５０枚〜１２５枚程度）のウエハ２００を、その中心を揃えて垂直方向に整列させた状態でそれぞれ水平に保持するように構成されている。
【００４３】
図１９に示すように、移載室１２４のウエハ移載装置エレベータ１２５ｂ側及びボート
エレベータ１１５側と反対側である左側端部には、清浄化した雰囲気もしくは不活性ガスであるクリーンエア１３３を供給するよう供給フアン及び防塵フィルタで構成されたクリーンユニット１３４が設置されている。ウエハ移載装置１２５ａとクリーンユニット１３４との間には、図示はしないが、ウエハの円周方向の位置を整合させる基板整合装置としてのノッチ合わせ装置が設置されている。
【００４４】
クリーンユニット１３４から吹き出されたクリーンエア１３３は、図示しないノッチ合わせ装置、ウエハ移載装置１２５ａ、待機部１２６にあるボート２１７の周囲を流通した後、図示しないダクトにより吸い込まれて筐体１１１の外部に排気されるか、もしくはクリーンユニット１３４の吸い込み側である一次側（供給側）にまで循環されてクリーンユニット１３４によって移載室１２４内に再び吹き出されるように構成されている。
【００４５】
（１−３）基板処理装置の動作
次に、本実施形態にかかる基板処理装置１００の動作について、図１９，図２０を参照しながら説明する。
【００４６】
図１９、図２０に示すように、ポッド１１０がロードポート１１４に供給されると、ポッド搬入搬出口１１２がフロントシャッタ１１３によって開放される。そして、ロードポート１１４の上のポッド１１０が、ポッド搬送装置１１８によってポッド搬入搬出口１１２から筐体１１１内部へと搬入される。
【００４７】
筐体１１１内部へと搬入されたポッド１１０は、ポッド搬送装置１１８によって回転式ポッド棚１０５の棚板１１７上へ自動的に搬送されて一時的に保管された後、棚板１１７上から一方のポッドオープナ１２１の載置台１２２上に移載される。なお、筐体１１１内部へと搬入されたポッド１１０は、ポッド搬送装置１１８によって直接ポッドオープナ１２１の載置台１２２上に移載されてもよい。この際、ポッドオープナ１２１のウエハ搬入搬出口１２０はキャップ着脱機構１２３によって閉じられており、移載室１２４内にはクリーンエア１３３が流通され、充満されている。例えば、移載室１２４内にクリーンエア１３３として窒素ガスが充満することにより、移載室１２４内の酸素濃度が例えば２０ｐｐｍ以下となり、大気雰囲気である筐体１１１内の酸素濃度よりも遥かに低くなるように設定されている。
【００４８】
載置台１２２上に載置されたポッド１１０は、その開口側端面がサブ筐体１１９の正面壁１１９ａにおけるウエハ搬入搬出口１２０の開口縁辺部に押し付けられるとともに、そのキャップがキャップ着脱機構１２３によって取り外され、ウエハ出し入れ口が開放される。その後、ウエハ２００は、ウエハ移載装置１２５ａのツイーザ１２５ｃによってウエハ出し入れ口を通じてポッド１１０内からピックアップされ、ノッチ合わせ装置にて方位が整合された後、移載室１２４の後方にある待機部１２６内へ搬入され、ボート２１７内に装填（チャージング）される。ボート２１７内にウエハ２００を装填したウエハ移載装置１２５ａは、ポッド１１０に戻り、次のウエハ２００をボート２１７内に装填する。
【００４９】
この一方（上段または下段）のポッドオープナ１２１におけるウエハ移載機構１２５によるウエハのボート２１７への装填作業中に、他方（下段または上段）のポッドオープナ１２１の載置台１２２上には、別のポッド１１０が回転式ポッド棚１０５上からポッド搬送装置１１８によって搬送されて移載され、ポッドオープナ１２１によるポッド１１０の開放作業が同時進行される。
【００５０】
予め指定された枚数のウエハ２００がボート２１７内に装填されると、炉口シャッタ１４７によって閉じられていた処理炉２０２の下端部が、炉口シャッタ１４７によって開放される。続いて、ウエハ２００群を保持したボート２１７は、シールキャップ２１９がボ
ートエレベータ１１５によって上昇されることにより処理炉２０２内へ搬入（ローディング）されていく。
【００５１】
ローディング後は、処理炉２０２内にてウエハ２００に任意の処理が実施される。処理後は、ノッチ合わせ装置１３５でのウエハの整合工程を除き、上述の手順とほぼ逆の手順で、処理後のウエハ２００を格納したボート２１７が処理室２０１内より搬出され、処理後のウエハ２００を格納したポッド１１０が筐体１１１外へと搬出される。
【００５２】
（１−４）処理炉の構成
続いて、本実施形態にかかる処理炉２０２の構成について、図２１を用いて説明する。図２１は、本発明の一実施の形態にかかる基板処理装置の処理炉の縦断面図である。
【００５３】
図２１示すように、処理炉２０２は、反応管としてのプロセスチューブ２０３を備えている。プロセスチューブ２０３は、内部反応管としてのインナーチューブ２０４と、その外側に設けられた外部反応管としてのアウターチューブ２０５と、を備えている。インナーチューブ２０４は、例えば石英（ＳｉＯ２）または炭化シリコン（ＳｉＣ）等の耐熱性材料からなり、上端及び下端が開口した円筒形状に形成されている。インナーチューブ２０４内の筒中空部には、基板としてのウエハ２００を処理する処理室２０１が形成されている。処理室２０１内は後述するボート２１７を収容可能なように構成されている。アウターチューブ２０５は、インナーチューブ２０４と同心円状に設けられている。アウターチューブ２０５は、内径がインナーチューブ２０４の外径よりも大きく、上端が閉塞し下端が開口した円筒形状に形成されている。アウターチューブ２０５は、例えば石英または炭化シリコン等の耐熱性材料からなる。
【００５４】
プロセスチューブ２０３の外側には、プロセスチューブ２０３の側壁面を囲うように、加熱機構としてのヒータ２０６が設けられている。ヒータ２０６は円筒形状であり、保持板としてのヒータベース２５１に支持されることにより垂直に据え付けられている。
【００５５】
アウターチューブ２０５の下方には、アウターチューブ２０５と同心円状になるように、マニホールド２０９が配設されている。マニホールド２０９は、例えばステンレス等からなり、上端及び下端が開口した円筒形状に形成されている。マニホールド２０９は、インナーチューブ２０４の下端部とアウターチューブ２０５の下端部とにそれぞれ係合しており、これらを支持するように設けられている。なお、マニホールド２０９とアウターチューブ２０５との間には、シール部材としてのＯリング２２０ａが設けられている。マニホールド２０９がヒータベース２５１に支持されることにより、プロセスチューブ２０３は垂直に据え付けられた状態となっている。プロセスチューブ２０３とマニホールド２０９により反応容器が形成される。
【００５６】
後述するシールキャップ２１９には、ガス導入部としてのノズル２３０が処理室２０１内に連通するように接続されている。ノズル２３０には、ガス供給管２３２が接続されている。ガス供給管２３２の上流側（ノズル２３０との接続側と反対側）には、ガス流量制御器としてのＭＦＣ（マスフローコントローラ）２４１を介して、図示しない処理ガス供給源や不活性ガス供給源等が接続されている。ＭＦＣ２４１には、ガス流量制御部２３５が電気的に接続されている。ガス流量制御部２３５は、処理室２０１内に供給するガスの流量が所望のタイミングにて所望の流量となるように、ＭＦＣ２４１を制御するように構成されている。
【００５７】
マニホールド２０９には、処理室２０１内の雰囲気を排気する排気管２３１が設けられている。排気管２３１は、インナーチューブ２０４とアウターチューブ２０５との隙間によって形成される筒状空間２５０の下端部に配置されており、筒状空間２５０に連通して
いる。排気管２３１の下流側（マニホールド２０９との接続側と反対側）には、圧力検出器としての圧力センサ２４５、例えばＡＰＣ（Ａｕｔｏ  Ｐｒｅｓｓｕｒｅ  Ｃｏｎｔｒｏｌｌｅｒ）として構成された圧力調整装置２４２、真空ポンプ等の真空排気装置２４６が上流側から順に接続されている。圧力調整装置２４２及び圧力センサ２４５には、圧力制御部２３６が電気的に接続されている。圧力制御部２３６は、圧力センサ２４５により検出された圧力値に基づいて、処理室２０１内の圧力が所望のタイミングにて所望の圧力となるように、圧力調整装置２４２を制御するように構成されている。
【００５８】
マニホールド２０９の下方には、マニホールド２０９の下端開口を気密に閉塞可能な炉口蓋体としてのシールキャップ２１９が設けられている。シールキャップ２１９は、マニホールド２０９の下端に垂直方向下側から当接されるようになっている。シールキャップ２１９は、例えばステンレス等の金属からなり、円盤状に形成されている。シールキャップ２１９の上面には、マニホールド２０９の下端と当接するシール部材としてのＯリング２２０ｂが設けられている。シールキャップ２１９の中心部付近であって処理室２０１と反対側には、ボートを回転させる回転機構２５４が設置されている。回転機構２５４の回転軸２５５は、シールキャップ２１９を貫通してボート２１７を下方から支持している。回転機構２５４は、ボート２１７を回転させることでウエハ２００を回転させることが可能なように構成されている。シールキャップ２１９は、プロセスチューブ２０３の外部に垂直に設備された昇降機構としてのボートエレベータ１１５によって、垂直方向に昇降されるように構成されている。シールキャップ２１９を昇降させることにより、ボート２１７を処理室２０１内外へ搬送することが可能なように構成されている。回転機構２５４及びボートエレベータ１１５には、駆動制御部２３７が電気的に接続されている。駆動制御部２３７は、回転機構２５４及びボートエレベータ１１５が所望のタイミングにて所望の動作をするように、これらを制御するように構成されている。
【００５９】
上述したように、基板保持具としてのボート２１７は、複数枚のウエハ２００を水平姿勢でかつ互いに中心を揃えた状態で整列させて多段に保持するように構成されている。ボート２１７は、例えば石英や炭化珪素等の耐熱性材料からなる。ボート２１７の下部には、例えば石英や炭化珪素等の耐熱性材料からなる円板形状をした断熱部材としての断熱板２１６が水平姿勢で多段に複数枚配置されており、ヒータ２０６からの熱がマニホールド２０９側に伝わりにくくなるように構成されている。
【００６０】
プロセスチューブ２０３内には、温度検出器としての温度センサ２６３が設置されている。ヒータ２０６と温度センサ２６３とには、電気的に温度制御部２３８が接続されている。温度制御部２３８は、温度センサ２６３により検出された温度情報に基づいて、処理室２０１内の温度が所望のタイミングにて所望の温度分布となるように、ヒータ２０６への通電具合を調整するように構成されている。
【００６１】
ガス流量制御部２３５、圧力制御部２３６、駆動制御部２３７、温度制御部２３８は、基板処理装置全体を制御する主制御部２３９に電気的に接続されている。これら、ガス流量制御部２３５、圧力制御部２３６、駆動制御部２３７、温度制御部２３８、及び主制御部２３９は、前述したＭＣ３００として構成されている。
【００６２】
（１−５）処理炉の動作
続いて、半導体デバイスの製造工程の一工程として、上記構成に係る処理炉２０２を用いてＣＶＤ法によりウエハ２００上に薄膜を形成する方法について、図２１を参照しながら説明する。なお、以下の説明において、基板処理装置を構成する各部の動作はＭＣ３００により制御される。
【００６３】
複数枚のウエハ２００がボート２１７に装填（ウエハチャージ）されると、図２１に示
すように、複数枚のウエハ２００を保持したボート２１７は、ボートエレベータ１１５によって持ち上げられて処理室２０１に搬入（ボートローディング）される。この状態で、シールキャップ２１９はＯリング２２０ｂを介してマニホールド２０９の下端をシールした状態となる。
【００６４】
処理室２０１内が所望の圧力（真空度）となるように、真空排気装置２４６によって真空排気される。この際、圧力センサ２４５が測定した圧力値に基づき、圧力調整装置２４２（の弁の開度）がフィードバック制御される。また、処理室２０１内が所望の温度となるように、ヒータ２０６によって加熱される。この際、温度センサ２６３が検出した温度値に基づき、ヒータ２０６への通電量がフィードバック制御される。続いて、回転機構２５４により、ボート２１７及びウエハ２００が回転させられる。
【００６５】
次いで、処理ガス供給源から供給されてＭＦＣ２４１にて所望の流量となるように制御されたガスは、ガス供給管２３２内を流通してノズル２３０から処理室２０１内に導入される。導入されたガスは処理室２０１内を上昇し、インナーチューブ２０４の上端開口から筒状空間２５０内に流出して排気管２３１から排気される。ガスは、処理室２０１内を通過する際にウエハ２００の表面と接触し、この際に熱ＣＶＤ反応によってウエハ２００の表面上に薄膜が堆積（デポジション）される。
【００６６】
予め設定された処理時間が経過すると、不活性ガス供給源から不活性ガスが供給され、処理室２０１内が不活性ガスに置換されるとともに、処理室２０１内の圧力が常圧に復帰される。
【００６７】
その後、ボートエレベータ１１５によりシールキャップ２１９が下降されてマニホールド２０９の下端が開口されるとともに、処理済のウエハ２００を保持するボート２１７がマニホールド２０９の下端からプロセスチューブ２０３の外部へと搬出（ボートアンローディング）される。その後、処理済のウエハ２００はボート２１７より取り出され、ポッド１１０内へ格納される（ウエハディスチャージ）。
【００６８】
（１−６）ＭＣ３００の構成
次に図１に示すＭＣ３００の詳細を説明する。ＭＣ３００はＭＣ３００ＡとＭＣ３００Ｂとから構成される。
ＭＣ３００Ａ
図２は、温度、ガス、圧力を制御するＭＣ３００Ａを中心としたハードウェア構成を示す。
ＭＣ３００Ａは、ＣＰＵ１４０、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）１４２、ＲＡＭ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１４４、入出力装置との間でのデータの送受信を行う入出力インタフェース（ＩＦ）１４６、温度制御部２３８、ガス制御部２３５、圧力制御部２３６、及び温度制御部２３８等とのＩ／Ｏ制御を行うＩ／Ｏ制御部１４８、通常のネットワーク９００を介して外部のコンピュータであるＯＵ（Ｏｐｅｒａｔｉｏｎ  Ｕｎｉｔ）４００との間でのデータの通信を制御する通信制御部１５６、及びデータを記憶するハードディスクドライブ（ＨＤＤ）１５８を有する。これらの構成要素はバス１６０を介して相互に接続されており、データは構成要素の間でバス１６０を介して送受信される。
【００６９】
ＭＣ３００Ａにおいて、ＣＰＵ１４０は、ＨＵ５００、ＯＵ４００若しくはＯＵ４００を介してＨＯＳＴ６００により送信されたレシピに基づいて、装置を制御してウエハを処理させる。具体的には、ＣＰＵ１４０は、制御データ（制御指示）を、温度制御部２３８、ガス制御部２３５及び圧力制御部２３６に対して出力する。ＲＯＭ１４２、ＲＡＭ１４４、及びＨＤＤ１５８には、シーケンスプログラム、通信制御部１５６を介して入力され
るデータ等が格納される。
【００７０】
温度制御部２３８は、上述した処理炉２０２の外周部に設けられたヒータ２０６により該処理室２０１内の温度を制御する。ガス制御部２３５は、処理炉２０２のガス供給管２３２に設けられたＭＦＣ（マスフローコントローラ）２４１からの出力値に基づいて処理室２０１内に供給する反応ガスの供給量等を制御する。圧力制御部２３６は、処理炉２０２の排気管２３１に設けられた圧力センサ２４５の出力値に基づいて圧力調整用のバルブ２４２を開閉することにより処理室２０１内の圧力を制御する。このように、温度制御部２３８等は、ＣＰＵ１４０からの制御指示に基づいて基板処理装置１００の各部品（ヒータ２０６、ＭＦＣ２４１及びバルブ２４２等）の制御を行う。
【００７１】
ＭＣ３００Ｂ
図３は、駆動部を制御するＭＣ３００Ｂを中心としたハードウェア構成を示す。図３のハードウェハ構成は、制御部と制御部品が異なる点を除いて図２と同じであり、同一部分には同一符号を付して説明を省略する。駆動制御部２３７は、上述した処理炉２０２の回転機構２５４及びボートエレベータ１１５に設けられたセンサａ２６１、センサｂ２６２によりボート２１７の回転及びボート２１７の昇降を制御する。
【００７２】
レシピのデータがＨＯＳＴ６００から送信されると、通信制御部１５６を介してＭＣ３００Ａ、ＭＣ３００Ｂに入力される。ＣＰＵ１４０は、シーケンスプログラムを起動し、該シーケンスプログラムに従って、送信されたレシピのコマンドを呼び込み実行することで、制御パラメータの目標値等が設定されているステップが逐次実行され、Ｉ／Ｏ制御部１４８を介して温度制御部２３８、ガス制御部２３５、圧力制御部２３６、及び駆動制御部２３７に対して基板を処理するための制御指示が送信される。温度制御部２３８等は、制御指示に従って基板処理装置１００内の各部品（ヒータ２０６、ＭＦＣ２４１、バルブ２４２及び回転機構２５４等）の制御を行う。これにより、上述したウエハ２００の処理が行われる。
【００７３】
（１−７）ＣＵ７００の構成
図４は、データを収集して保管（蓄積）するＣＵ７００を中心としたハードウェア構成を示す。ＣＵ７００は、基板処理装置１００からの種々の部品のデータ（温度、ガス流量、圧力、駆動制御データ等）を自動的に取得して保管するものである。ＣＵ７００は、制御部７１０と記憶部７２０（Ｃ１記憶部７２１、Ｃ２記憶部７２２）とから主に構成される。制御部７１０はネットワーク９００、１０００と記憶部７２０との間に介在し、ネットワークから送られてくるデータを記憶部７２０に書き込んだり、記憶部７２０に保管したデータを読み出して、ネットワークに送出したりする。Ｃ１記憶部７２１はＭＣ３００を介して間接的に収集されたデータを記憶する。Ｃ２記憶部７２２はＭＣ３００を介さないで直接収集されたデータを記憶する。Ｃ１記憶部７２１には、通常のネットワーク９００から送られてくるデータが、所定の制御周期で自動的に収集される。Ｃ２記憶部７２２には、フィールドネットワーク１０００から送られてくるデータが、所定の制御周期とは異なるより短い制御周期で収集される。
なお、制御部７１０は、ＤＢ８００からの要求を処理し、またＣ１とＣ２のデータ整合性をとり、ＤＢ８００へ送るための制御をするものであり、装置側へ要求を出すことはない。
【００７４】
（１−８）収集データの報告
ここでは、Ｃ１やＣ２といったデータソースに依存する第１のデータ報告方式について述べる。
図１に示す形態の基板処理システムのように、直接制御に影響を及ぼさないＣＵ７００を使って、別途フィールドネットワーク１０００から直接データを収集し、整形した上で
ＨＯＳＴ６００やＤＢ８００に収集データの報告をする形態の場合、つぎのような課題がある。
【００７５】
この形態で問題となるのが、時刻差が生じる挙動である。すなわち、ＭＣ３００やＯＵ４００経由で入ってくるＣ１データの収集時刻が、直接収集したＣ２データの収集時刻と異なって、時刻差が生じることである。ＭＣ３００やＯＵ４００を経由するＣ１データは通常のネットワーク９００を介し、プログラムで転送されてくるため即時性はなく、時間的に数１００ｍｓｅｃ程度の遅延が発生し得る。これでは高頻度で取得したＣ２データとの整合性に欠けるため、半導体製造工場での分析にも支障が生じる可能性がある。
因みにここでは、基板処理システムの内部において各コントローラ等（ＭＣ３００、ＯＵ４００、ＣＵ７００）の時刻は必要十分な精度で同期していることを前提としている。
【００７６】
（１−９）時刻差が生じる挙動
時刻差について、その詳細を図７を用いて説明する。図７はデータ収集タイミングと遅延を示すタイミング図である。
（ａ）ＭＣ→ＯＵ→ＣＵを経由するＣ１データの検知と流れ
図７において、横軸は時間軸でｔ１からスタートさせ、１００ｍｓｅｃ刻みでマーキングを付してある。一番上のラインのＣＵデータを、制御手段であるＭＣ３００を経由して間接収集したＣ１データとする。
ＭＣ３００は、フィールドネットワーク収集制御周期（例えば１００ｍｓｅｃ）でフィールドネットワーク１０００に流れる部品データを取得する（ＭＣ◆）。
ＭＣ→ＯＵへのデータ報告は、制御周期維持のため、例えば１回／５００ｍｓｅｃとする。ＭＣ３００では、データを受け取って転送するまでの遅延（（ｉ）データ報告遅延）が発生する。（ｉ）のデータ報告遅延発生は以下の事由による。ＭＣ３００では、データを取得したら関連する内部制御を優先した後、ＯＵ４００への報告周期に合致したタイミングであればネットワーク送信することになるが、この時、内部制御による遅延と送信のためバッファに入れてから実際に送信されるまでの遅延が累積して、この遅延が発生する。
ＯＵ４００では、データを受け取って処理するまでの遅延（（ｉｉ）データ取得遅延ＯＵ●）と、受け取ったデータをＣＵ７００に転送するまでの遅延（（ｉｉｉ）データ報告遅延）とが発生する。（ｉｉ）のデータ取得遅延発生は以下の事由による。ＯＵ４００では、ネットワーク９００からの受信データを必要なプログラムに渡すが、プログラムは空き時間になって初めてその受信通知により受信データを処理することができる。遅延はこの受信データを処理できるようになるまでの時間である。（ｉｉｉ）データ報告遅延発生は以下の事由による。ＯＵ４００では、ＣＵ７００へネットワーク送信することになるが、この時データの内部処理と送信のためバッファに入れてから実際に送信されるまでの遅延が累積してこの遅延が発生する。
ＣＵ４００では、データを受け取って処理するまでの遅延（（ｉｖ）データ取得遅延ＣＵ●）がある。（ｉｖ）のデータ取得遅延発生事由は、（ｉｉ）データ取得遅延発生と同様の事由による。
【００７７】
（ｂ）フィールドネットワーク→ＣＵを経由するＣ２データの検知
図７の一番下のラインのＣＵデータを、ＭＣ３００を経由しないで直接収集したＣ２データとする。
ＣＵ７００もＭＣ３００と同様にフィールドネットワーク制御周期（例えば１００ｍｓｅｃ）でフィールドネットワーク１０００に流れるデバイスデータを取得する。
【００７８】
以上を踏まえ、（ａ）と（ｂ）とでのデータ収集タイミングのズレを表すと、図８に示すようになる。図８において下方のＣＵ直接データはＣ２データであり、上方のＣＵ間接データはＣ１データである。Ｃ１データとＣ２データのデータ時刻ズレは例えば２００ｍ
ｓｅｃである。なお、５００ｍｓｅｃの周期で取得されたＣ１データと比べて、１００ｍｓｅｃの周期で取得したＣ２データは高精細・高頻度になっている。
【００７９】
以上、ＣＵ７００において同一であるはずのデータ取得がその取得経路が違うことで、例示ではあるが、２００ｍｓｅｃ程度の遅延が発生し得ることを説明した。当然この遅延の度合は、システム構成や個々のコントローラ等のタイミング次第でも随時変わることは言うまでもない。
【００８０】
結局、ＨＯＳＴ６００やＤＢ８００で必要とされる高精細なＣ２データは、タイミング的にＣ１データを含む他のデータと整合性がとれていない。特にイベント（キャリア搬入・搬出、ＲＵＮ開始・停止など）や例外（温度異常・圧力異常など）は、ＭＣ３００により管理されているためＣ１データとして送られる。このため、図８に示すように、それらのＣ１データ＃１ａ、＃２ｂが発生したタイミングでの、これらに対応する高精細Ｃ２データ＃１ｂ、＃２ｂは既に過去のものとなっている。
このため、Ｃ２データから過去のＣ１データを取得しても、ＨＯＳＴ６００やＤＢ８００ではデータ毎の時間差の存在やその時間差の程度が判断できない。従って、Ｃ１データとＣ２データとの発生時刻の相違が判断できないため、ＨＯＳＴ６００やＤＢ８００に蓄積されるデータを解析しても、適切なデータ解析を行うことが困難であった。
【００８１】
（１−１０）本実施の形態のデータ報告
図１におけるＣＵ７００やＨＵ５００、あるいは図２３におけるＨＵ５０もそうであるが、それらはＨＯＳＴ６０、６００やＤＢ８０、８００あるいはオペレータに指定された周期毎に、規定のフォーマットに従ってそれらに対して収集したデータを報告する。
基本的な考え方として、Ｃ１データについてはＣＵ７００やＨＵ５００の時刻に従い、その瞬間の最新のデータ（しかしＣＵ７００やＨＵ５００に到達するまでの遅延は含まれる）を報告する。
しかし、Ｃ２データについては、Ｃ１データとの整合性が必要であるため、予めＣ２データを保管（蓄積）しておき、送信するＣ１データと時刻整合するものを探して送信する必要がある。つまり保管された過去のＣ２データから適切なものを選択することが必要である。
そこで、以下に述べる説明では、保管された過去のＣ２データから適切なものが選択されて報告されるようになっている。
【００８２】
（１−１１）Ｃ１データ保管方法
Ｃ１データは、最新のものを最大各１個、ＣＵ７００のＣ１記憶部７２１に保管しておけば良い。新しいデータを受け取ったら古いデータは捨てる。図９に各項目（各エリア）毎にＣ１データを記録したＳｔｏｒｅｄ  Ｄａｔａテーブルを例示する。
但し、各パラメータ名（＃はパラメータ番号）に付随して、ＭＣ３００などで付けられた元の収集時刻（実収集時刻）と、ＣＵ７００において受信処理した時刻（ＣＵ受信時刻）を記録する。さらにＣＵ受信時刻の実収集時刻との差分ΔＴを受信毎に計算し、前回の計算値より小さくなった場合にパラメータ値を更新記録していく。
なお、Ｓｔｏｒｅｄ  Ｄａｔａテーブルにおいて、Ｃ２エリアのＦａｌｓｅはＣ２データがないことを、ＴｒｕｅはＣ２データが存在することをそれぞれ意味する。
【００８３】
一般に、ΔＴパラメータは自然に収束する値である。この収束していく様子について図１０を用いて以下に説明する。
差分ΔＴの初期値は、システム内部で想定される最大遅延時間相当か、あるいは実際にはあり得ない値を設定する必要がある。ここでは、１回目の受信データ（＃１）の差分Δｔが初期値より小さくならないようにするために、初期値を仮に“−１．０”（−１秒）としておく。１回目の受信データ（＃１）を更新せずに記録を確保するためである。
【００８４】
１回目の受信データ（＃１）での実収集時刻とＣＵ受信時刻との差分ΔＴを記録（初期値“−１．０”のため無条件に記録）する。２回目の受信データ（＃２）での実収集時刻とＣＵ受信時刻差は、現ΔＴより小さいため更新される。３回目の受信データ（＃３）での実収集時刻とＣＵ受信時刻差は、現ΔＴより大きいため更新されない。４回目の受信データ（＃４）での実収集時刻とＣＵ受信時刻差は、現ΔＴより小さいため更新される。
【００８５】
以下同様に、ΔＴより小さな時刻差で、値を更新していく。こうすることで、ΔＴの値は、実収集時刻とＣＵ受信時刻差との最小値ｄ１に律速する。このように律速した差分ΔＴのパラメータ値を、図９のＳｔｏｒｅｄ  Ｄａｔａテーブルに示すように、パラメータ毎に各１個保管しておく。
【００８６】
尚、Ｃ１データは通常収集元の種別単位などで収集され、時刻もその単位で付加される場合が多い。この場合ΔＴについてはこのグループ化の単位で保管することで計算負荷を軽減できる。
【００８７】
（１−１２）Ｃ２データ保管方法
Ｃ２データについては整合性保証のため、最新のものだけではなく、過去、ｎ個分をＣＵ７００のＣ２記憶部７２２に保管（蓄積）する必要がある。このため、パラメータ毎にリスト構成により保管する方法が適している。しかしｎ個の値はそのままＣ２記憶部７２２のメモリ量に直結する。このため、無用に大きな値は好ましくないが、ＭＣ３００等の収集周期など個別の要素があり、一概には決められない。
【００８８】
そこで、ＭＣ３００等での実収集時刻からＣＵ受信時刻までの差で想定される最大遅延時間をＭＣ３００等での最小収集周期時間で割った値を使用すると良い。つまり、ここでの例としては最大遅延時間１秒を想定しておき、最小収集周期時間１００ｍｓｅｃで割ると保管数“１０”が求められる。
（最大遅延時間）／（最小収集周期時間）
＝１ｓｅｃ／１００ｍｓｅｃ＝１０
ここで求めたＣ２データの保管数ｎ＝１０はあくまで最大個数である。
【００８９】
（１−１３）リスト保管
以下に、リスト管理によるＣ２データのＣ２記憶部７２２へのリスト保管について、図１１に示すＤｉｒｅｃｔ  Ｓｔｏｒｅｄ  Ｄａｔａリストを用いて説明する。
【００９０】
リスト管理とは、データあるいはデータのセットを、元となるデータやデータセットから関連付けしながら複数記憶する仕組みを言う。図示例では、＃１０３のパラメータ名ＭＣ１．Ａｕｘ２０．Ｍｏｎｉｔｏｒの最新データ値（パラメータ値）５．０００（収集時刻：２００５／４／１  １２：００：００．９００）に関連付けられ、その一つ前に収集したデータ値４．９９８（収集時刻：２００５／４／１  １２：００：００．８００）も最新データとともに記憶される。このように順次記憶することで、ｎ個のデータの中から、目的とする収集時刻のデータを検索することが可能となる。ここでは、パラメータデータから、最も古いデータを検索するリスト構造を例示した。
【００９１】
リスト管理の方法により関連データを逆順に検索することも可能で、さらには不要になったデータも関連先を変更することで削除することも可能である。尚、新しく収集したパラメータ値はその時刻とともに、最新の値としてパラメータ名から第一に関連する場所に挿入し、さらに最大個数ｎを超える部分のデータはこのリストから外し、削除する。
【００９２】
さらにパラメータ検索時には、目的の時刻つまり対応するＣ１データの時刻と同じか、
より新しくない直近のものが見つかった場合、さらにそれ以降の関連パラメータについては参照されることは無いため、これもリストから外し、削除する。但し、Ｃ１データとの整合性だけでなく、イベントや例外も含め全てのデータを順次処理することで保証できるものであるのは当然である。
【００９３】
また最初のデータ収集タイミングを除き、一旦収集を開始した後では、このＤｉｒｅｃｔ  Ｓｔｏｒｅｄ  Ｄａｔａリストには最低でも一つのデータが関連付けられる。また、プログラムが開始して間もないタイミングでは、Ｄｉｒｅｃｔ  Ｓｔｏｒｅｄ  Ｄａｔａリスト上はパラメータ値が関連付けられたとしても、目的の時刻と同じか、それ以前のデータが見つからない場合もありえる。この場合データは無いものとしてＣＵ７００からＨＯＳＴ６００やＤＢ８００へ報告しなければならない。この状況は、前回プログラム終了前に送信していたパラメータ報告の組合せをプログラム起動と同時に再開するように設定される場合に起こり得る。
【００９４】
（１−１４）報告データの作成
ここでの報告データの作成が本実施の形態のポイントである。報告データ作成のため、時刻をキーにして、必要とするＣ２データを検索する必要がある。以下そのプロセスを、図５、図６、図１２〜図１８を用いて説明する。図５はＣ２データからの検索を示す説明図、図６は報告データ作成のフローチャート、図１２〜図１８は具体的な報告データ作成例をそれぞれ示す。以下のプロセスはＯＵ４００が、通常のネットワーク９００を介してＣＵ７００とやり取りすることによって実行する。
【００９５】
１）報告すべきパラメータ名リストが存在する。
図６のフローチャートにおいて、Ｃ１記憶部７２１に、Ｃ１データのＳｔｏｒｅｄ  Ｄａｔａテーブルに報告すべきパラメータ名リストが存在するか否か判断する（ステップ１００）。パラメータ名リストが存在しない場合はエンドに進むが、リストが存在する場合はそのリストからパラメータ番号＃ｎを抽出する（ステップ１０２）。図１２はパラメータ名リストの一例を示す。このパラメータ名リストの例では、ｎは“１”“１０３”である。
なお、メモリ管理上、最低限必要なのはパラメータ番号（＃）であり、パラメータ名はＳｔｏｒｅｄ  Ｄａｔａテーブルないしは、別のパラメータ一覧より取得できれば良い。
【００９６】
２）＃１ＥｑｕｉｐｍｅｎｔＳｔａｔｕｓ
ステップ１０２で抽出したパラメータ番号のうち、Ｓｔｏｒｅｄ  Ｄａｔａテーブルの若いパラメータ番号を呼び出し、Ｃ２エリアを参照してＦａｌｓｅかＴｒｕｅかを判定する（ステップ１０３）。ＦａｌｓｅであればＣＵ７００での直接収集データ（Ｃ２データ）がＣ２記憶部７２２に無いことを表す。このため、＃ｎの報告すべきデータはこのテーブル内のデータだけである。この場合、＃ｎの報告データ作成ステップに進み（ステップ１０６）、＃ｎの報告データを作成する（ステップ１０６）。
図１３に示すＳｔｏｒｅｄ  Ｄａｔａテーブルの一例を示す。このＳｔｏｒｅｄ  Ｄａｔａテーブルの例のように、＃１のＣ２エリアがＦａｌｓｅであると、＃１の報告すべきデータはこのテーブル内のデータだけであり、＃１の報告データは、図１４に示す報告作業テーブルに示す通りになる。
【００９７】
３）＃１０３ＭＣ１．Ａｕｘ２０．Ｍｏｎｉｔｏｒ
ステップ１０３で＃ｎのＣ２エリアがＴｒｕｅであれば、ＣＵ７００での直接収集データ（Ｃ２データ）が存在することを表し、検索が必要である。この＃ｎのΔＴの値を取得し、ＣＵの現在時刻から、上記ΔＴを減算した目的の時刻値（時刻キ―）を求める（ステップ１０４）。
図１５に示すＳｔｏｒｅｄ  Ｄａｔａテーブルの一例を示す。このＳｔｏｒｅｄ  Ｄａ
ｔａテーブルように＃１０３のＣ２エリアがＴｒｕｅであり、ＣＵ現在時刻：”２００５／４／１  １２：００：０１．０００、Δｔ＝０．１３０であると、時刻キーは次のように計算される。
ＣＵ現在時刻：”２００５／４／１  １２：００：０１．０００”−０．１３０
＝”２００５／４／１  １２：００：００．８７０”
【００９８】
４）＃ｌ０３ＭＣ１．Ａｕｘ２０．Ｍｏｎｉｔｏｒデータ検索
ステップ１０４で目的の時刻キーを求めたら、Ｃ２データの収集時刻を時刻キーにしてＤｉｒｅｃｔ  Ｓｔｏｒｅｄ  Ｄａｔａリストの＃ｎについての、Ｃ２記憶部７２２に保管（蓄積）したｎ個のＣ２データを順次検索し、それらの収集時刻が時刻キーと“同じ”か、時刻キーに“一番近くて古い”リストデータを取り出す（ステップ１０５）。
図１６に示すＤｉｒｅｃｔ  Ｓｔｏｒｅｄ  Ｄａｔａリストの＃１０３のＭＣ１．Ａｕｘ２０．Ｍｏｎｉｔｏｒリストの一例を示す。この＃１０３のＭＣ１．Ａｕｘ２０．Ｍｏｎｉｔｏｒリストの例では、目的時刻”２００５／４／１  １２：００：００．８７０”と同じか、それに“一番近くて古い”ものを順次探す。
【００９９】
図５に、この＃ｌ０３ＭＣ１．Ａｕｘ２０．Ｍｏｎｉｔｏｒデータ検索のやり方をタイミングチャートで示してある。なお、ここでは時刻表示は上位の”２００５／４／１  １２：００：”を省略し、下位”００．０００”のみを示した。Ｃ１データのΔｔ＝００．１３０であるから、ＣＵ現在時刻：０１．０００からこのΔｔを差し引くと、目的の時刻キーは”００．８７０”となる。Ｃ２データは、”００．１０００”刻みで１０個あり、この中から時刻キーと“同じ”か、時刻キーに“一番近くて古い”リストデータを検索するとその結果は００．８００となる。
【０１００】
（１−１５）報告データ作業テーブル
ステップ１０５の検索後、＃ｎの報告データ作成ステップに進み（ステップ１０６）、＃ｎの報告データを作成する（ステップ１０６）。報告作業テーブルに報告データを作成したら、抽出した全パラメータ番号の全てについて処理が終了したか否か判断し（ステップ１０７）、処理が終了していない場合、次のパラメータ番号を呼び出してからステップ１０３に戻る（ステップ１０８）。そして、一連の処理が終了したら終了する。
図１７に、＃１及び＃１０３のパラメータの報告作業テーブルを示す
【０１０１】
もし、起動直後など必要な収集データが確保されていない状況では、パラメータ値には収集できていないことを示すデータ、例えば負値や“０”あるいはＮＵＬＬ値など代表的な値を設定する。
【０１０２】
また、図１８に示すように、Ｄｉｒｅｃｔ  Ｓｔｏｒｅｄ  Ｄａｔａリスト上に見つけたデータより古いものは、この時点で不要になるのでリストから削除しておく。ただし、見つかったデータ自身は、次のデータ報告や、イベント・例外報告等で再度利用される場合があるので、残しておく必要がある。
【０１０３】
ここで、Ｄｉｒｅｃｔ  Ｓｔｏｒｅｄ  Ｄａｔａリストから不要部分を削除しておくことで、次回検索時には最初に検索することになるＣ２データに近い位置でヒットする可能性が高くなる。これは特に高頻度でデータ報告を行う場合に特に顕著で、プロセッサの負荷が高くなる状況下においては特に有効な手段となる。
【０１０４】
（１−１６）ＨＯＳＴまたはＤＢへの送信
以上で報告に必要なデータは集まったので、ＣＵ７００の制御部７１０内の送信キューに入れることでＯＵ４００、ＨＵ５００を介してＨＯＳＴ６００、またはＣＵ７００から通常のネットワーク９００を介してＤＢ８００への送信が可能となる。
【０１０５】
（１−１７）実施の形態の効果
本実施の形態によれば、発生した遅延（ふらつき）をΔＴパラメータという自然に収束する値を使うことで、半導体製造工場側に設置してあるＨＯＳＴ等に対して、データ送信経路によらず必要なデータを安定供給できる。
【０１０６】
また、本実施の形態によれば、半導体製造装置システムは適切なデータを供給することができるので、半導体製造工場側で適切なデータ解析ができる。
【０１０７】
また、本実施の形態によれば、Ｃ１データと比べてＣ２データは高精細・高頻度になっており、この高精細・高頻度なＣ２データを、タイミング的にＣ１データを含む他のデータと整合して、ＨＯＳＴ６００やＤＢ８００に送ることができる。
【０１０８】
また、本実施の形態によれば、ＣＵは、部品から直接収集したデータを蓄積しておき、ＭＣを経由して収集したＣ１データと整合の取れたＣ２データを選択しているので、Ｃ１データのタイミングで、現在時刻に近い高精細なＣ２データを送ることができる。そのため、Ｃ１データとして送られるイベントや例外が、正確に把握できる。
【０１０９】
また、本実施の形態によれば、ＭＣでの収集時刻からＣＵ受信時刻までの差で想定される最大遅延時間を、ＭＣでの最小収集周期時間で割った値のデータを予め蓄積しておくようにしたので、蓄積したＣ２データの中からＣ１データと整合の取れた適切なＣ２データを選択して、ＨＯＳＴやＤＢに送信することができる。
【０１１０】
なお、本実施の形態では、Ｃ１データについての受信時刻と現在時刻との間でΔＴが同じであると仮定し、現在時刻からΔＴを差し引くことにより目的の時刻キーを求めている。Ｃ１データは既述したように、その都度、遅延程度が異なる。したがって、ΔＴが同じであると仮定して目的の時刻キーを求めていることから、作成される報告データは、常に高精度データであるとは言えない。しかし、これは分散システムである限り、程度の違いはあっても避けられない問題である。
【０１１１】
また、Ｃ１データが途中でふらついた際、それに該当するＣ２データが収集できない場合については、報告から漏れる可能性があるが、それ以上にＣ２データに関する高頻度データの連続性が重要である。
【０１１２】
また、本実施の形態では、報告先であるＨＯＳＴやＤＢ等のクライアントシステムは、基板処理装置と同様のフロア（クリーンルーム）に配置する必要はなく、例えば、ＬＡＮ接続された事務所に配置されてもよい。
また、本実施の形態では、基板処理システム構成例として、データが集まる収集ユニットでフィールドネットワークデータを直接収集できる構成の場合について説明したが、制御手段を介して収集する端末装置と、制御手段を介さずに直接データを収集する収集ユニットを備えた構成であれば、本発明は適用可能である。次に第２の実施の形態を説明する。
【０１１３】
［第２の実施の形態］
上述した第１の実施の形態では、基板処理システム内部で生成される各種データの発生順序や整合性を管理するために、Ｃ１やＣ２といったデータソースに依存する第１のデータ報告方式について説明した。この第２の実施の形態の基板処理システムでは、Ｃ１やＣ２といったデータソースに依存しない第２のデータ報告方式について説明する。なお、第２の実施の形態の基板処理システムの構成は、基本的には第１の実施の形態と同じであるため説明を省略する。
【０１１４】
（第２の実施の形態の概要）
本実施の形態によれば、複数の部品で生成されるデータを各種コントローラを介して、または介さずに収集する収集ユニットを備え、前記収集ユニットは、収集される各種データの整合を取り、前記整合を取られたデータを一時的にバッファに格納し、このバッファ内に格納される前記データを、該データに添付される時刻データ順に並べ換える。このように、各種データの整合を取り、時刻データ順に並べ換えることで、各種データの発生順序や整合性を管理することが可能となる。
以下、第２の実施の形態を具体的に説明する。
【０１１５】
（２−１）第２のデータ報告方式
データソースに依存しない方式は、データをＣＵ７００にて受信した後、一旦バッファ（一時格納手段）内部に溜めるものである。データにはかならず収集時刻（時刻データ）が付随しているので、データを溜める際、この収集時刻を利用する。
【０１１６】
（２−２）ＣＵにおけるソフトウエア構成
図２４は、本発明の第２の実施形態に係る基板処理システムの制御装置、例えばＣＵ７００の制御部７１０により実行される制御プログラム（ソフトウエア）の機能構成を示す図である。図２４に示すように、制御プログラムは、データ受信部７３０、バッファ部７４０、同期部７５０、データ報告部７６０を有する。バッファ部７４０は、バッファ［０］、バッファ［１］…バッファ［ｎ］というように複数のバッファを持ちうる。同期部７５０は複数のタイマＡ、タイマＢ、…タイマｎを備える。装置データ保存部７７０はＣＵ７００内のメモリにより実現されるハードウエアである。以下、各機能構成の処理プロセスを説明する。
【０１１７】
（２−３）データ受信部
データ受信部７３０は、ＭＣ３００、ＯＵ４００あるいはＣＵ７００におけるデータ受信部の総称である。データ受信部７３０は、時刻データを必要に応じて整形し、バッファ部７４０へ渡す。ここで、時刻データを必要に応じて整形し、とは、間接データＣ１と直接データＣ２との整合をとることをいう。例えば、ＭＣ３００を介した間接データ（Ｃ１データ）は、通常、共通フォーマットで統一されており、時刻データを持っている。これに対して直接データ（Ｃ２データ）は、通常、フォーマットが統一されておらず、時刻データを持っていない。したがって、直接データ（Ｃ２データ）のフォーマットを間接データ（Ｃ１データ）に合わせた上、直接データ（Ｃ２データ）に時刻データ（収集時刻データ）を付加する整形を行う。
【０１１８】
データ受信部７３０は、Ｃ１データとＣ２データとを一括して収集する。その収集の仕方は、図２５（ａ）に示すように、Ｃ１データとＣ２データの２種類のデータを、１台のデータ受信部７３０で共通に扱って、バッファ部７４０へ送るようにしてもよい。また、図２５（ｂ）に示すように、Ｃ１データとＣ２データの２種類のデータを、Ｃ１データ受信部７３１とＣ２データ受信部７３２との２台のデータ受信部で別々に扱って、共通のバッファ部７４０へ送るようにしてもよい。尚、図２５では、Ｃ１データとＣ２データを収集する場合について図示されているが、この形態に限定されず、Ｃ１データ又はＣ２データの一方のデータを収集するようにしても構わない。
【０１１９】
（２−４）バッファ部
バッファ部７４０は整形されたデータを一時的に格納する。バッファ部７４０へ送られてくるデータの種類には、例えば、装置モニタデータ、イベント、例外通知、後述する内部タイマによる空データ等がある。尚、本実施の形態では、図２６に示すように、収集時刻順に従ったバッファ内の適切な位置に挿入する。
また、受信データが来なくなった場合でも、バッファ内に滞留するデータが正しく処理されるよう、収集ユニットＣＵ７００内部で時刻だけを扱う空データを定期的（例えば０．５秒毎）にバッファ内部へ追加していく。この空データ追加処理はバッファに設けた内部タイマにより行う。定期的な時間は、短すぎるとシステム負荷やバッファ容量増加につながり、また長すぎると後に説明するデータ報告頻度が少なくなる場合があるので、それらを考慮した適切な値を把握して設定する必要がある。
【０１２０】
ここで、バッファは一定時間分、データを保持する能力を持つ。この一定時間ＴＢは、ＭＣ３００等でデータが収集されてからＣＵ７００に送られるまでの最大遅延時間を想定したものとしている。一定時間ＴＢは、例えば最大遅延時間を３秒とした場合＋αとして１秒、計４秒を想定する。最大遅延時間はシステムの持つ能力により異なるため、適切な値を把握して設定する必要がある。システム内部の遅延時間はこのバッファにより吸収する。
【０１２１】
図２７に示すように、時間によるバッファ長（４秒）を点線で示す。バッファ内のデータの保持能力が一杯のとき、黒四角で示す新データが受信されてバッファ内へ挿入されると、バッファの保持能力の一定時間ＴＢを超えるため、白抜きの丸印で示すデータのうち最古データが一つバッファから出力されて（黒丸）同期部７５０に送られる。このとき、バッファ内に空データがないと、バッファ内のデータが正しく処理されず、送られるべきデータが同期部に送れなくなる場合がある。
【０１２２】
（２−５）データ受信フロー
図２８に、バッファ部７４０によるデータ受信の概念フローを示す。
制御プログラムのバッファ部７４０は、データを受信するとその受信データをバッファヘ挿入し（ステップ２８０）、バッファ範囲外データをフラッシュする（ステップ２９０）。ステップ２８０では、複数のバッファ検索、新規のバッファ作成、及びバッファへのデータ挿入処理が実行される。ここで、バッファ範囲外データとは、バッファ内で管理する一定時間ＴＢを超えたデータのことをいう。また、フラッシュとは所定の送信先へデータを送信（送出）することをいう。
以下、上述した「受信データをバッファへ挿入」と、「バッファ範囲外データをフラッシュ」について具体的に説明する。
【０１２３】
（２−６）受信データをバッファへ挿入
図２９を用いて、バッファ部７４０が実行するテップ２８０（図２８）の挿入内容を具体的に説明する。
カウンタｉにバッファ数ｎをセットする（ステップ２８１）。ｎの初期値は“０”である。ｎをセット後、ｉ＝０か否か判断し（ステップ２８２）、ｉ＝０であれば、新しいバッファを作成し、カウンタｉに“ｎ”をセットし、ｎに“ｎ＋１”をセットし（ステップ２８６）、後述する挿入ステップ２８５へ進む。ｉが“０”でなければ、“ｉ−１”をカウンタｉにセットする（ステップ２８３）。この場合、ｉの値の大きなものは、最後に作成したバッファから検索する。“ｉ−１”をセット後、受信データ時刻に基づいてバッファ［ｉ］に挿入可能か否か判断し（ステップ２８４）、不可能であればステップ２８２に戻る。可能であれば、受信データをバッファ［ｉ］へ挿入して（ステップ２８５）、挿入フローを終了する。
【０１２４】
上記ステップ２８４について、一点鎖線で囲った挿入可能確認処理内容を示す説明図を用いて具体的に説明する。
新規の受信データ（黒四角）の収集時刻ＴＲがｘｘ：ｘｘ：ｘｘ．ｘｘであるとする。バッファの持つデータ保持能力を示す一定時間がＴＢ＝４秒であることから、この受信データ収集時刻ＴＲｘｘ：ｘｘ：ｘｘ．ｘｘが、バッファ内の最新データ収集時刻ＴＬに対
して、その収集時刻ＴＬの４秒前に収まっているか、又はその収集時刻ＴＬより４秒以上経過していなければ、バッファに挿入可能と判断する。すなわち、受信データ収集時刻ＴＲが、
ＴＲ≧ＴＬ−４
ＴＬ＋４＞ＴＲ
の範囲にあるかをバッファ部７４０は判断し、その範囲内にある場合、バッファに挿入可能と判断する。
【０１２５】
例えば、最新バッファ［ｎ−１］内の最新データ（黒丸）がＴＬ＝１０：００：００．００だった場合、
ＴＬ−４＝１０：００：００．００−００：００：０４．００＝０９：５９：５６．００
ＴＬ＋４＝１０：００：００．００＋００：００：０４．００＝１０：００：０４：００
となるから、新規の受信データはその収集時刻ＴＲが０９：５９：５６．００〜１０：００：０３．５９の範囲内の場合、バッファ部７４０は、バッファ［ｎ−１］に挿入可能と判断する。受信データ収集時刻ＴＲｘｘ：ｘｘ：ｘｘ．ｘｘが、バッファ内最新データの収集時刻１０：００：００．００より遅ければ、受信データ（黒四角）はバッファ内最新データ（黒丸）より後のバッファ（長さ４秒）に挿入される。バッファ内最新データ（黒丸）の収集時刻１０：００：００．００より早ければ、受信データ（黒四角）はバッファ内最新データ（黒丸）より前のバッファ（長さ４秒）に挿入される。このように、バッファヘのデータ挿入可能確認処理では、最新データに対して４秒前から４秒後までの範囲が含まれるため、各バッファの最新データに対してバッファヘのデータ挿入可能範囲は２×ＴＢ（４秒）の幅を持つ。すなわち、バッファへの格納処理では、各バッファ分の２×ＴＢ時間で格納可否を判定している。
【０１２６】
なお、受信データ収集時刻ＴＲが１０：００：０４：００だった場合、各バッファ分の時間２×ＴＢ＝８秒を超えるため、新たなバッファ［ｎ］を作成する。
【０１２７】
ところで、バッファヘのデータ挿入可能確認処理では、各バッファの最新データに対してバッファは２×ＴＢの幅持っているため、バッファ間で管理する時間にダブりが生じる可能性がある。そこで、本実施の形態では、バッファ間で管理する時間にダブりが生じないように、つぎの（Ａ）、（Ｂ）で説明するようにしてデータ間の時間的な重なりを排除している。
【０１２８】
（Ａ）新しいバッファが時間的に新しい場合の処理例
図３０を用いて説明する。なお、図３０における丸数字は、便宜上（）付の数字で示す。後述する図３１、図３４においても同様とする。
バッファ［ｉ］のデータ（１）が最新の状態で、データ（２）を受信したとする。この収集時刻が、データ（１）の収集時刻＋ＴＢより新しい時、バッファ［ｊ］を作成し、そのバッファ［ｊ］にデータ（２）を格納する。その後データ（３）〜（８）はバッファ［ｊ］内のデータ（２）より前（収集時刻が古い）に格納されたとする。この場合、データ（７）と（８）はバッファ［ｉ］の格納可能範囲にあったとしても、バッファ［ｊ］への格納処理を優先させる。その後データ（９）を受信したとする。このデータ（９）の収集時刻がバッファ［ｊ］内のデータ（２）の収集時刻−ＴＢより古く、バッファ［ｉ］の（１）の収集時刻より新しい収集時刻だった場合、バッファ［ｉ］に格納される。このケースでは、重なり部分のデータは全て新しいバッファ［ｊ］へ格納するので、データ管理上の矛盾は生じない。
【０１２９】
（Ｂ）新しいバッファが時間的に古い場合の処理例
図３１を用いて説明する。
バッファ［ｉ］のデータ（１０）が最新の状態で、データ（１１）を受信したとする。この収集時刻が、データ（１０）の収集時刻−ＴＢより古い時、バッファ［ｊ］を作成し、このバッファ［ｊ］にデータ（１１）を格納する。その後、データ（１２）〜１６）はバッファ［ｊ］内のデータ（１１）より後（収集時刻が新しい）に格納されたとする。この場合、データ（１６）はバッファ［ｉ］の格納可能範囲にあったとしても、バッファ［ｊ］への格納処理を優先させる。このケースでは、バッファ［ｉ］のデータ（３）、（４）がバッファ［ｊ］のデータ（１６）と時間的に重なる位置に格納されており、データ管理上の不整合のように見える。しかし、実際にデータ（１６）は時間的に新たに受信したデータであり、古くに受信したデータ（３）や（４）がフラッシュされた後、ＴＢ程度の時間が経過した後にデータ（１６）をフラッシュすることになる。また次項で説明するが、フラッシュ処理では、全バッファトータルでＴＢ時間分のデータを残し、それ以上のデータはフラッシュする。よって上記のようなデータ間の時間的な重なりは、常に排除しながら管理される。したがって、データ管理上の不整合は起こらない。
【０１３０】
（２−７）バッファ範囲外データをフラッシュ
図３２を用いて、バッファ部７４０が実行するテップ２９０（図２８）のフラッシュ内容を具体的に説明する。
カウンタｉにバッファ数ｎ−１を設定する（ステップ３２１）。設定後、バッファ［ｉ］…［０］それぞれのデータ時刻幅のトータルが、ＴＢ秒以上となるデータが有るか否か判断し（ステップ３２２）、否の場合、フラッシュすることなく終了する。そのようなデータが有りの場合はバッファ［０］から［ｎ−２］の順にＴＢ秒以上のデータをフラッシュして（ステップ３２３）、終了する。ステップ３２３では、ｉの値の小さなもの、すなわち古いバッファから処理する。［０］が最も古いバッファとなる。
【０１３１】
次に、上記フラッシュにおけるバッファ管理の時間的範囲について説明する。
まず、図３３を用いて第１の具体例を説明する。
図３３に示すように、バッファが３つ（［０］〜［２］）存在する状態を想定し、バッファ［０］内の最新データと最古データ間の時間幅が１秒、バッファ［１］が同様に２秒、バッファ［２］が同様に１．５秒だったとする（バッファ内最新データの収集時刻１０：００：００．００、バッファ内の最古データの収集時刻０９：５９：５８．５０）。この場合、バッファトータルのデータ時間は４．５秒となり、最も古いバッファ［０］に、ＴＢ＝４秒にくらべて０．５秒間分はみだすデータがあることになる。このはみだしたデータを黒四角で示すが、これがフラッシュ対象となる。
【０１３２】
前述したバッファへの格納処理では、各バッファ２×ＴＢ時間で格納可否を判定していたが、ここではバッファトータルでＴＢ時間を管理する。こうする事で、バッファトータルの管理時間ＴＢを維持し、同期部７５０へのデータ送出を途切れなく継続することが可能となる。
【０１３３】
また、図３４を用いて第２の具体例を説明する。図３４に示す具体例では、図３１と同様にバッファは２つしか存在しないとする。バッファ［ｉ］＝バッファ［０］の管理時間範囲をＴ０、バッファ［ｊ］＝バッファ［１］の管理時間範囲をＴ１とすると、この「バッファ範囲外データをフラッシュ」する処理を行う直前では、
Ｔ０≦２×ＴＢ
Ｔ１≦２×ＴＢ
となっている。
ここで、図３２、図３３を用いて説明したフラッシュ処理を施すと、
バッファ［０］で残せるデータ時間は、
Ｔ０’＝ＴＢ−Ｔ１
となり、（Ｔ０−Ｔ０’）時間分のデータ（ここではデータ（３）と（４））が押し出される事になる。
バッファ［１］を作成することになったデータ（１１）の時刻データを考慮すると、データ（１０）と（１１）の時間範囲がＴＢ以上であるため、データ（１６）のような前のバッファと時間的に重なるデータが入ってきた場合、それらの古いデータ（３）や（４）が即フラッシュ対象となる。
【０１３４】
先に、受信データが来なくなった場合でも、バッファ内のデータが正しく処理されるよう、一定時間毎（例０．５秒毎）に空データを追加するとしたが、この空データの追加も上記処理フローに従う。
【０１３５】
これら処理フローにおいて、新しい受信データの収集時刻ＴＲが、各バッファ分の２×ＴＢを超えていずれのバッファにも格納できない場合、新たなバッファを作成すると説明した。通常、新たなバッファを作成するのは、時刻に変化があった場合であり、すべてのユニットが一定時間ＴＢ（４秒）以内に時刻同期すれば、バッファ数はたかだか２個にしかならない。もしバッファ数が３個以上となる場合、ＴＢ時間の見直しをしても良いが、基本的にはユニット間の時刻同期および間接データＣ１と直接データＣ２間の処理時間差やＣ１データ伝送処理遅延に関して、改善を行うことが好ましい。
【０１３６】
（２−８）同期部
同期部７５０は、モニタデータ保存領域更新のタイミングとトレースデータ収集のタイミングを、システム時刻とは関係なく、代わりに同期部７５０の内部に搭載したシステム時刻（同期化時刻）で同期させるモジュールである。以下、この同期部７５０のプロセスを図３５を用いて説明する。
【０１３７】
図３５に示すように、同期部７５０はタイマにより起動し、バッファ部７４０より送られたデータｎがあった場合、同期部７５０はそのデータの時刻（１０：００：００．７００）をチェックする。このチェックでは、その時刻（１０：００：００．７００）と、同期部内部のシステム時刻（同期化時刻（１０：００：００．０００））との間に、同期部７５０内部にあるどのタイマＡ（０．２５秒）、Ｂ（０．５秒）、Ｃ（１．０秒）、Ｄ（２．０秒）…がタイミングを発生できるかどうか調べる。なお、データｎの“ｎ”はデータの名前であって、例えば、温度とか圧力を意味する。また、タイマＡ、Ｂ、Ｃ、Ｄ…は報告データの時間間隔となる。
【０１３８】
図示例の場合、同期化時刻（１０：００：００．０００）とデータｎの時刻（１０：００：００．７００）との間にあるタイマＡとＢが処理可能なので、タイマＡ、Ｂの順でタイマ処理を発生させる。タイマはＤＣＰ（Ｄａｔａ  Ｃｏｌｌｅｃｔｉｏｎ  Ｐｌａｎ）のトレース等に結びついており、その発生タイミングでデータ収集や送信を行う。ＤＣＰとは、クライアントが所望のデータの収集や設定を行うために定義するプランであって、ＤＣＰにはトレースデータやイベント、例外処理などのあらゆる番号や組合せ情報、頻度などが記載されている。
【０１３９】
図３６に示すように、同期部７５０で処理可能なすべてのタイマを発生させた後、同期化時刻をデータｎの時刻（１０：００：００．７００）に更新し、新しいデータｎ（１０：００：００．７００）を装置データ保存部７６０の、１つ前のデータｎ（０９：５９：５９．２００）の上に書き込む。
【０１４０】
（２−９）データ報告部
図３７に示すように、データ報告部７７０は、先の同期部７５０で処理可能となったタイマＡ、Ｂ、…ｎにより起動される。タイマはＩＤ等により関連するＤＣＰを識別できる
。ＤＣＰ（ＤＣＰ１、ＤＣＰ２、…ＤＣＰｎ）はＩＤ（ＤＣＰ１、ＤＣＰ２、…ＤＣＰｎ）を持つので、このＩＤをタイマ側に持たせると、同じＩＤを持つＤＣＰを区別できるからである。データ報告部７７０はＤＣＰに記述してある必要なデータを装置データ保存部７６０より収集し、報告データを作成・送信する。
【０１４１】
以上、バッファを使ったプロセスを説明した。この処理方式では一見ＤＢ８００等への報告が不正確に行われるように見えるが、報告データに記載される作成の時刻はＤＣＰで要求された時間間隔に正確に従ったものとなる。したがって、最終的にＤＢ８００内のデータを分析する際には、まさに装置システム内部の個々の収集時刻に従った正確な時刻のデータを矛盾なく取得する事ができる。
【０１４２】
（２−１０）パッキングデータ
前述した通り、装置システムには高精度でのデータ収集が求められているが、その解決手法の一つとして、あるデータに関する一定時間分のデータを一まとめにしたパッキングデータを扱う事は容易に想定できる所である。上述した第２のデータ報告方式２で記載した方法であれば、パッキングデータもバッファ内部にそれぞれの収集時刻に従った位置に挿入する事で、ＤＢへの報告データを矛盾無く作成・報告する事が可能となる。
【０１４３】
以下に、これを具体的に説明する。
図３８に、プロセスモジュール圧力に関する１秒間隔で１分間分のデータを１０個一まとめにしたパッキングデータ例を示す。図３９に、バッファ部７４０によって実行される、このようなパッキングデータと、非パッキングデータとが混在する場合のデータ受信フローを示す。
図３９を説明する。新データの時刻がバッファ内の最古データの時刻より古いか否か判断する（ステップ３９１）。古い場合、システム時刻が前に変更されたと判断し、バッファ内データをフラッシュする（ステップ３９５）。ここで、バッファ内データをフラッシュするとは、バッファ内にある全てのデータを送信することをいう。新データの時刻がバッファ内の最古データの時刻より古くない場合、及び前記バッファ内データをフラッシュした後は、新データ時刻がバッファ内の最新データ時刻＋Ｔより新しいか否か判断する（ステップ３９２）。新しい場合、新しいバッファを作成する（ステップ３９６）。新しくない場合、及び新しいバッファを作成した後は、新データがパッキングデータであるか否か判断する（ステップ３９３）。パッキングデータである場合、パッキングデータを分解してそれぞれのデータをバッファへ時刻順に挿入する（ステップ３９７）。パッキングデータではない場合、新データをバッファへ挿入する（ステップ３９８）。パッキングデータ及び新データをバッファへ挿入後は、バッファ範囲（ｘ秒）外データをフラッシュする（ステップ３９４）。
【０１４４】
（２−１１）第２の実施の形態の効果
本実施の形態によれば、基板処理システム内部で生成される各種データの発生順序や収集されるデータ間の整合性を管理することができる。また、本実施の形態によれば、データソースに依存しないので、各種データを容易に管理することができる。また、本実施の形態によれば、半導体製造装置システム側で適切なデータを半導体製造工場側のシステムへ供給する事ができるので、このデータを供給される半導体製造工場側でのデータ解析ができる。
【０１４５】
なお、上述した第１及び第２の実施の形態では、いずれも基板処理を成膜処理としたが、成膜処理には、例えばＣＶＤ、ＰＶＤ、酸化膜、窒化膜を形成する処理、金属を含む膜を形成する処理が含まれる。さらに、アニール処理、酸化処理、窒化処理、拡散処理などの処理でも構わない。また、基板処理装置が縦型装置である場合について説明したが、枚葉装置にも適用できる。更に、基板処理装置には、半導体製造装置の他に、露光装置、塗
布装置、乾燥装置、加熱装置なども含まれる。
【０１４６】
以下に、本発明の好ましい態様を付記する。
複数の部品で構成される基板処理装置と、該基板処理装置を時間と各部品を規定する制御手順を定めたものとにより制御する制御手段と、前記制御手段を介さずに前記部品から直接データを収集する収集ユニットとを備え、前記収集ユニットは、前記制御手段を経由して収集したデータと各部品から直接収集したデータとの整合を取る基板処理システム。
【０１４７】
前記収集ユニットは、前記部品から直接収集したデータを蓄積しておき、蓄積されたデータのうち前記制御手段を経由して収集したデータと時刻整合の取れたものを選択することが好ましい。
【０１４８】
また、前記制御手段での収集時刻から前記収集ユニット受信時刻までの差で想定される最大遅延時間を、前記制御手段での最小収集周期時間で割った値のデータを予め蓄積しておくことが好ましい。
【０１４９】
また、前記収集ユニットは、前記制御手段を経由して収集したデータと各部品から直接収集したデータとを一時的に蓄積して、各種データに添付される時刻データ順に並べ換えることが好ましい。
【０１５０】
複数の部品で構成される基板処理装置と、基板処理を行うために時間と各部品を規定する制御手順を定めたものを制御する制御手段と、該制御手段から各部品で生成されるデータを収集する端末装置と、前記制御手段を介さずに各部品から直接前記データを収集する収集ユニットを備えた基板処理システムを用いたデータ収集方法であって、前記収集ユニットは、前記制御手段を経由して収集したデータと各部品から直接収集したデータとの整合を取るデータ収集方法。
【０１５１】
複数の部品で構成される基板処理装置と、基板処理を行うために時間と各部品を規定する制御手順を定めたものを制御する制御手段と、該制御手段から各部品で生成されるデータを収集する端末装置と、前記制御手段を介さずに各部品から直接前記データを収集する収集ユニットを備え、前記収集ユニットは、前記制御手段を経由して収集したデータと各部品から直接収集したデータとの整合を取るデータ収集装置。
【０１５２】
また、複数の部品で生成されるデータを各種コントローラを介して間接的に収集する、及び／又は前記データを前記各種コントローラを介さずに前記部品から直接収集する収集ユニットを備え、前記収集ユニットは、収集される前記データの整合を取る手段と、前記整合が取られたデータを一時的に格納するバッファと、前記バッファ内に格納される前記整合が取られたデータを添付される時刻データ順に並べ換える手段とを備えた基板処理システム。
【０１５３】
この場合、前記データを収集する際に所定の期間、前記データが前記複数の部品から生成されない場合、前記収集ユニットは、前記時刻データのみの空データを前記バッファ内に格納することが好ましい。
【符号の説明】
【０１５４】
１００  基板処理装置
２００  ウエハ（基板）
２０６  ヒータ（部品）
２４１ＭＦＣ（部品）
２４２バルブ（部品）
３００（３００Ａ、３００Ｂ）  モジュールコントローラ（制御手段）
４００  オペレーションユニット（端末装置）
７００  コレクションユニット（収集ユニット）
【図１】
2010183066.tif 000003
【図２】
2010183066.tif 000004
【図３】
2010183066.tif 000005
【図４】
2010183066.tif 000006
【図５】
2010183066.tif 000007
【図６】
2010183066.tif 000008
【図７】
2010183066.tif 000009
【図８】
2010183066.tif 000010
【図９】
2010183066.tif 000011
【図１０】
2010183066.tif 000012
【図１１】
2010183066.tif 000013
【図１２】
2010183066.tif 000014
【図１３】
2010183066.tif 000015
【図１４】
2010183066.tif 000016
【図１５】
2010183066.tif 000017
【図１６】
2010183066.tif 000018
【図１７】
2010183066.tif 000019
【図１８】
2010183066.tif 000020
【図１９】
2010183066.tif 000021
【図２０】
2010183066.tif 000022
【図２１】
2010183066.tif 000023
【図２２】
2010183066.tif 000024
【図２３】
2010183066.tif 000025
【図２４】
2010183066.tif 000026
【図２５】
2010183066.tif 000027
【図２６】
2010183066.tif 000028
【図２７】
2010183066.tif 000029
【図２８】
2010183066.tif 000030
【図２９】
2010183066.tif 000031
【図３０】
2010183066.tif 000032
【図３１】
2010183066.tif 000033
【図３２】
2010183066.tif 000034
【図３３】
2010183066.tif 000035
【図３４】
2010183066.tif 000036
【図３５】
2010183066.tif 000037
【図３６】
2010183066.tif 000038
【図３７】
2010183066.tif 000039
【図３８】
2010183066.tif 000040
【図３９】
2010183066.tif 000041