(57)【特許請求の範囲】
【請求項１】
ホストコンピュータとの間で通信を行う機能を有する基板処理装置であって、
基板に所定の処理を行う基板処理部と、
記憶手段と、
前記基板処理部の処理に基づくメッセージを前記ホストコンピュータに送信し、前記ホストコンピュータとの通信の喪失時に、スプールを識別するためのスプール情報および前記ホストコンピュータに送信すべきメッセージを含むレコードをデータベースとして前記記憶手段に記憶させ、前記ホストコンピュータとの通信の回復時に、前記記憶手段に前記データベースとして記憶されたメッセージを前記スプール情報を用いて検索し、検索したメッセージを前記ホストコンピュータに送信する通信制御手段とを備えたことを特徴とする基板処理装置。
【請求項２】
前記通信制御手段は、前記データベースに格納されたレコードのうち最新のレコードを示す情報および最旧のレコードを示す情報を保持し、新たなメッセージを格納するごとに前記最新のレコードを示す情報を更新することを特徴とする請求項１記載の基板処理装置。
【請求項３】
前記通信制御手段は、前記データベースに格納されるレコードが所定の数に達した場合に前記データベースの最旧のレコードを削除して新たなレコードを格納するとともに、前記最新のレコードを示す情報および前記最旧のレコードを示す情報を更新する機能を有することを特徴とする請求項２記載の基板処理装置。
【請求項４】
前記通信制御手段は、前記データベースに格納すべきメッセージの長さが所定の長さを越える場合にメッセージを複数のレコードに分割して前記データベースに格納することを特徴とする請求項１〜３のいずれかに記載の基板処理装置。
【請求項５】
基板処理部、制御部および記憶手段を備えた基板処理装置においてホストコンピュータとの間での通信を制御する通信制御プログラムを記録した記録媒体であって、
前記通信制御プログラムは、
前記基板処理部の処理に基づくメッセージを前記ホストコンピュータに送信する処理と、
前記ホストコンピュータとの通信の喪失時に、前記ホストコンピュータにスプールを識別するためのスプール情報および送信すべきメッセージを含むレコードをデータベースとして前記記憶手段に記憶させる処理と、
前記ホストコンピュータとの通信の回復時に、前記データベースとして記憶されたメッセージを前記スプール情報を用いて検索し、検索したメッセージを前記ホストコンピュータに送信する処理とを、前記制御部に実行させることを特徴とする通信制御プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、基板に所定の処理を行う基板処理装置および基板処理装置においてホストコンピュータとの間での通信を制御する通信制御プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
半導体ウエハ、液晶表示装置用ガラス基板、フォトマスク用ガラス基板、光ディスク用ガラス基板等の基板に種々の処理を行うために、基板処理装置が用いられている。例えば、半導体デバイスの製造プロセスでは、生産効率を高めるために一連の処理の各々をユニット化し、複数のユニットを統合した基板処理装置が用いられている。
【０００３】
このような基板処理装置は、複数のユニット、それらの複数のユニットの動作を制御する複数のスレーブコントローラ、および複数のユニットを協調動作させるために複数のスレーブコントローラを統括制御するメインコントローラを備える。メインコントローラは、各スレーブコントローラに各種指令を与えるとともに、各スレーブコントローラからの状態報告を受け、複数のユニットの動作タイミングを統括的に管理および制御する。
【０００４】
また、この基板処理装置のメインコントローラは、製造プロセスの自動化のために通信ラインを介して工場内のホストコンピュータに接続される。メインコントローラは、ホストコンピュータから送信される各種指令および各種データを受信するとともに、各スレーブコントローラからの状態報告に基づいてホストコンピュータに各種メッセージを送信する。
【０００５】
特に、半導体製造装置の分野では、ホストコンピュータの通信リンクから見た装置動作の定義がＳＥＭＩ  Ｅ３０「ＳＥＭＩ製造装置の通信およびコントロールのための包括的モデル（ＧＥＭ）」として国際標準化されている。このＧＥＭ規格では、半導体製造装置とホストコンピュータとの間の通信が喪失した場合に、半導体製造装置からホストコンピュータに送信すべきメッセージを蓄積しておき、通信回復時に、蓄積されたメッセージを半導体製造装置からホストコンピュータに送信する「スプーリング機能」が規定されている。
【０００６】
従来、このスプーリング機能は、図８に示すスプールファイルを用いて実現されている。図８に示すスプールファイルは、ファイルヘッダＦＨおよび複数の可変長レコードＲ１〜Ｒｎにより構成される。ここで、ｎは任意の整数である。
【０００７】
ファイルヘッダＦＨには、先頭レコード位置および最終レコード位置が格納される。また、各レコードＲ１〜Ｒｎはヘッダ部ＨＤおよびメッセージ部ＭＥを含む。ヘッダ部ＨＤには、チェイン情報として前レコード位置および次レコード位置が格納される。それにより、複数の可変長レコードＲ１〜Ｒｎがチェイン情報に基づいて連結される。スプールファイルは、メモリ等の一次記憶装置からハードディスク装置等の二次記憶装置に転送されて保存される。
【０００８】
【発明が解決しようとする課題】
上記のようなスプールファイルにおいては、チェイン情報に基づいてレコードの挿入および削除の操作が行われる。この場合、半導体製造装置等の基板処理装置のソフトウェアは、スプールファイル内の物理的なレコード位置を管理し、そのレコード位置に基づいて各可変長レコードＲ１〜Ｒｎを検索する必要がある。そのため、スプーリング機能を実現するためのソフトウェアが複雑となる。
【０００９】
また、スプールファイルを二次記憶装置に保存する際に、あるレコードのヘッダ部ＨＤに格納されるチェイン情報が破損すると、そのレコード以降の全てのレコードの物理的なレコード位置が不明となる。
【００１０】
このように、一部のレコードのヘッダ部ＨＤに格納されるチェイン情報が破損すると、そのレコードだけでなく他のレコードを検索することも困難となる。
【００１１】
本発明の目的は、ホストコンピュータとの通信の喪失時に保存されるメッセージの挿入および削除の操作を容易に行うことができ、一部のレコードに破損が生じても他のレコードに与える影響が少ない通信機能を備えた基板処理装置を提供することである。
【００１２】
本発明の他の目的は、基板処理装置においてホストコンピュータとの通信が喪失時に保存されるメッセージの挿入および削除の操作を容易に行うことができ、レコードの一部に破損が生じても他のレコードに与える影響が少ない通信制御プログラムを記録した記録媒体を提供することである。
【００１３】
【課題を解決するための手段および発明の効果】
第１の発明に係る基板処理装置は、ホストコンピュータとの間で通信を行う機能を有する基板処理装置であって、基板に所定の処理を行う基板処理部と、記憶手段と、基板処理部の処理に基づくメッセージをホストコンピュータに送信し、ホストコンピュータとの通信の喪失時に、スプールを識別するためのスプール情報およびホストコンピュータに送信すべきメッセージを含むレコードをデータベースとして記憶手段に記憶させ、ホストコンピュータとの通信の回復時に、記憶手段にデータベースとして記憶されたメッセージをスプール情報を用いて検索し、検索したメッセージをホストコンピュータに送信する通信制御手段とを備えたものである。
【００１４】
本発明に係る基板処理装置においては、基板処理部により基板に所定の処理が行われるとともに、基板処理部の処理に基づくメッセージが通信制御手段によりホストコンピュータに送信される。ホストコンピュータとの通信の喪失時には、スプールを識別するためのスプール情報およびホストコンピュータに送信すべきメッセージを含むレコードが通信制御手段により記憶手段にデータベースとして記憶される。そして、ホストコンピュータとの通信の回復時に、記憶手段にデータベースとして記憶されたメッセージがスプール情報を用いて検索され、検索されたメッセージが通信制御手段によりホストコンピュータに送信される。
【００１５】
このように、ホストコンピュータとの通信の喪失時にスプールを識別するためのスプール情報およびメッセージを含むレコードがデータベースとして記憶されるので、メッセージの挿入および削除の操作を容易に行うことができ、一部のレコードに破損が生じても他のレコードに与える影響が少ない。
【００１６】
第２の発明に係る基板処理装置は、第１の発明に係る基板処理装置の構成において、通信制御手段は、データベースに格納されたレコードのうち最新のレコードを示す情報および最旧のレコードを示す情報を保持し、新たなメッセージを格納するごとに最新のレコードを示す情報を更新するものである。
【００１７】
この場合、最新のレコードを示す情報および最旧のレコードを示す情報が通信制御手段により保持されるので、ホストコンピュータとの通信の喪失時にデータベース内にレコードを容易に時系列に格納することができるとともに、ホストコンピュータとの通信の回復時にデータベースに格納されたレコードを容易に時系列に送信することができる。
【００１８】
第３の発明に係る基板処理装置は、第２の発明に係る基板処理装置の構成において、通信制御手段は、データベースに格納されるレコードが所定の数に達した場合にデータベースの最旧のレコードを削除して新たなレコードを格納するとともに最新のレコードを示す情報および最旧のレコードを示す情報を更新する機能を有するものである。
【００１９】
この機能により、データベースが満杯になった場合に、古いレコードを削除して新たなレコードを優先的にデータベースに格納することができる。
【００２０】
第４の発明に係る基板処理装置は、第１〜第３のいずれかの発明に係る基板処理装置の構成において、通信制御手段は、データベースに格納すべきメッセージの長さが所定の長さを越える場合にメッセージを複数のレコードに分割してデータベースに格納するものである。
【００２１】
これにより、種々の長さのメッセージを固定長のレコードを用いてデータベースに格納することが可能となる。
【００２２】
第５の発明に係る通信制御プログラムを記録した記録媒体は、基板処理部、制御部および記憶手段を備えた基板処理装置においてホストコンピュータとの間での通信を制御する通信制御プログラムを記録した記録媒体であって、通信制御プログラムは、基板処理部の処理に基づくメッセージをホストコンピュータに送信する処理と、ホストコンピュータとの通信の喪失時に、ホストコンピュータに送信すべきメッセージを含むレコードをデータベースとして記憶手段に記憶させる処理と、ホストコンピュータとの通信の回復時に、データベースとして記憶されたメッセージをホストコンピュータに送信する処理とを、制御部に実行させるものである。
【００２３】
本発明に係る通信制御プログラムを記録した記録媒体によれば、基板処理装置の基板処理部の処理に基づくメッセージがホストコンピュータに送信される。ホストコンピュータとの通信の喪失時には、スプールを識別するためのスプール情報およびホストコンピュータに送信すべきメッセージを含むレコードが記憶手段にデータベースとして記憶される。そして、ホストコンピュータとの通信の回復時に、記憶手段にデータベースとして記憶されたメッセージがスプール情報を用いて検索され、検索したメッセージがホストコンピュータに送信される。
【００２４】
このように、ホストコンピュータとの通信の喪失時にスプールを識別するためのスプール情報およびメッセージを含むレコードがデータベースとして記憶されるので、メッセージの挿入および削除の操作を容易に行うことができ、一部のレコードに破損が生じても他のレコードに与える影響が少ない。
【００２５】
【発明の実施の形態】
図１は本発明の一実施例における基板処理装置の構成を示すブロック図、図２は図１の基板処理装置の正面図、図３は図１の基板処理装置の制御系の構成を示すブロック図である。
【００２６】
図１の基板処理装置１において、搬送ユニット１２の周囲を取り囲むように、複数の回転処理ユニット１４が配置されている。図２に示すように、複数の回転処理ユニット１４の下部には薬液温調ユニット１３が配置され、複数の回転処理ユニット１４の上部には複数のベークユニット１５が複数段に配置されている。また、複数の回転処理ユニット１４の一端部側にはインデクサユニット（基板搬入搬出装置）１１が配置されている。インデクサユニット１１の側面にはメインパネル４０が設けられている。
【００２７】
搬送ユニット１２は、基板Ｗを保持する基板保持部１２１を有し、鉛直軸方向に移動可能かつθ軸方向（鉛直軸を中心とする回転方向）に回転可能に設けられている。基板保持部１２１は、Ｘ軸方向（水平面内で前進および後退する方向）に移動可能に設けられている。
【００２８】
回転処理ユニット１４は、基板を回転させながら基板に所定の処理を行う。この回転処理ユニット１４としては、基板上にフォトレジスト液等の処理液を塗布する回転式塗布ユニット、基板に現像処理を行う回転式現像ユニット、基板を洗浄する回転式洗浄ユニット等がある。ベークユニット１５は、基板に加熱、冷却等の温度処理を行う。このベークユニット１５としては、基板を加熱する加熱ユニット（ホットプレート）、基板を冷却する冷却ユニット（クーリングプレート）等がある。薬液温調ユニット１３は、回転処理ユニット１４で用いられる薬液（処理液）の温度調整を行う。
【００２９】
インデクサユニット１１は、移載ロボット１１２を有する。移載ロボット１１２は、矢印Ｕの方向に移動し、カセット１１１から基板Ｗを取り出して搬送ユニット１２に渡し、逆に一連の処理が施された基板Ｗを搬送ユニット１２から受け取ってカセット１１１に戻す。
【００３０】
搬送ユニット１２は、インデクサユニット１１の移載ロボット１１２との間で基板Ｗの受け渡しを行い、回転処理ユニット１４およびベークユニット１５への基板の搬入および搬出を行う。
【００３１】
図３に示すように、本実施例の基板処理装置１の制御系は、メインコントローラ２０、インデクサユニット用のスレーブコントローラ２１、搬送ユニット用のスレーブコントローラ２２、薬液温調ユニット用のスレーブコントローラ２３、回転処理ユニット用のスレーブコントローラ２４およびベークユニット用のスレーブコントローラ２５を含む。
【００３２】
複数のスレーブコントローラ２１〜２５は、通信ライン２００を介してメインコントローラ２０に接続され、メインコントローラ２０は通信ライン２０１を介してホストコンピュータ３０に接続されている。また、メインコントローラ２０は、各種指令および各種データの入力および表示を行うためのメインパネル４０が接続されている。
【００３３】
各スレーブコントローラ２１〜２５は、それぞれの制御プログラムに従って動作し、メインコントローラ２０からの指令に従って各ユニット１１〜１５の動作を制御する。
【００３４】
図４は図３の基板処理装置１のメインコントローラ２０の構成を示すブロック図である。
【００３５】
図４に示すように、メインコントローラ２０は、通信制御モジュール２１０、装置制御モジュール２２０、データベース管理ソフトウェア２３０およびデータベース２４０を含む。データベース２４０は例えばリレーショナルデータベースである。
【００３６】
通信制御モジュール２１０は、ＣＰＵ（中央演算処理装置）、およびメモリ等の一次記憶装置を含み、通信ライン２０１を介してホストコンピュータ３０に接続される。また、装置制御モジュール２２０は、ＣＰＵ、およびメモリ等の一次記憶装置を含み、通信ライン２００を介して複数のスレーブコントローラ２１〜２５に接続される。データベース管理ソフトウェア２３０およびデータベース２４０はハードディスク装置等の二次記憶装置２５０に格納される。
【００３７】
通信制御モジュール２１０は、通信制御プログラムに従って動作し、ホストコンピュータ３０からの各種指令および各種データを受信して装置制御モジュールに転送するとともに、装置制御モジュール２２０から与えられる各種メッセージをホストコンピュータ３０に送信する。
【００３８】
通信制御プログラムは、二次記憶装置２５０に保存され、通信制御モジュール２１０の一次記憶装置に呼び出されて実行される。
【００３９】
また、この通信制御モジュール２１０は、ホストコンピュータ３０との間の通信が喪失した場合に、通信制御プログラムに従って後述するスプーリング機能を実行し、ホストコンピュータ３０に送信すべきメッセージをデータベース管理ソフトウェア２３０を介してデータベース２４０により構成されるスプールテーブルに格納し、二次記憶装置２５０に保存する。
【００４０】
装置制御モジュール２２０は、通信制御モジュール２１０から転送される各種指令および各種データに基づいて複数のユニット１１〜１５を協調動作させるために複数のスレーブコントローラ２１〜２５を統括制御する。また、この装置制御モジュール２２０は、各スレーブコントローラ２１〜２５から与えられる状態報告をメッセージとして通信制御モジュール２１０に与える。
【００４１】
本実施例では、ユニット１１〜１５およびスレーブコントローラ２１〜２５が基板処理部を構成し、二次記憶装置２５０が記憶手段に相当し、通信制御モジュール２１０が通信制御手段または制御部に相当する。
【００４２】
図５〜図７は図４の通信制御モジュール２１０により作成されるスプールテーブルの例を示す図である。このスプールテーブルは図４のデータベース２４０により構成される。以下、図５〜図７を参照しながら図４の通信制御モジュール２１０によるスプーリング機能を説明する。
【００４３】
図５のスプールテーブルＳＴにおいて、第１列〜第６列にそれぞれスプール番号、スプール時間、ストリームコード、ファンクションコード、ブロック番号およびスプールデータが格納される。スプールテーブルの各行はそれぞれ１つのレコードを構成する。
【００４４】
図４の通信制御モジュール２１０は、一次記憶装置にスプールテーブルＳＴを保持するとともに、最大スプールサイズ（最大レコード数）、最旧スプール番号および最新スプール番号を内部変数として保持する。本実施例では、最大スプールサイズをｎとする。ここで、ｎは任意の整数である。
【００４５】
スプール番号は、当該レコードを識別するための番号である。スプール時間は、当該レコードが挿入された時間を表す。ストリームコードおよびファンクションコードは、メッセージのフォーマットを表す。メッセージの長さが所定の最大格納サイズを越える場合には、そのメーセッジは複数のブロックに分割されて複数のレコードに格納される。ブロック番号は、１つのメッセージが複数のブロックに分割された場合の各ブロックを識別する番号である。メッセージが分割されない場合には、ブロック番号として「０」が格納される。スプールデータはヘッダ部およびメッセージ部からなり、メッセージ部にメッセージが格納される。
【００４６】
ホストコンピュータ３０との通信が喪失し、スプーリング機能が実行されると、通信制御モジュール２１０からホストコンピュータ３０に送信すべきメッセージを含むレコードがスプール番号をキー項目としてスプールテーブルＳＴに挿入される。スプールテーブルＳＴのレコードには「１」から昇順にスプール番号が付与される。このとき、最旧スプール番号は「１」のまま保持され、最新スプール番号が順次更新される。
【００４７】
図５の例では、スプール番号「１」のレコードが最も古い時点で挿入されたので、最旧スプール番号は「１」となっている。また、スプール番号「４」のレコードが最も新しい時点で挿入されたので、最新スプール番号は「４」となっている。
【００４８】
２番目のメッセージは２つのブロックに分割され、それらのブロックにブロック番号「１」および「２」が付与され、ブロック番号「１」およびブロック番号「２」のメッセージを含む２つのレコードがスプール番号「２」および「３」として続けて格納されている。
【００４９】
なお、スプールテーブルＳＴのスプールデータ、最旧スプール番号および最新スプール番号は、データベース２４０の値として随時二次記憶装置２５０に保存される。
【００５０】
スプールテーブルＳＴの満杯時の処理としては、上書きまたは破棄を設定することができる。スプールテーブルＳＴの満杯時の処理が上書きに設定されている場合には、最新スプール番号の更新により最新スプール番号が最大スプールサイズｎに到達すると、最旧スプール番号のレコードが削除され、最旧スプール番号がカウントアップされるとともに空いたスプール番号に新たなレコードが挿入される。そして、最新スプール番号が更新される。スプールテーブルＳＴの満杯時の処理が破棄に設定されている場合には、最新スプール番号の更新により最新スプール番号が最大スプールサイズｎに到達すると、新たなレコードは破棄される。
【００５１】
図６の例では、最新スプール番号が最大スプールサイズｎに到達すると、最旧スプール番号「１」のレコードが削除され、最旧スプール番号が「２」にカウントアップされるとともに、空いたスプール番号「１」に新たなレコードが挿入され、最新スプール番号が「１」に更新される。
【００５２】
以降、新たなレコードの挿入ごとに最旧スプール番号および最新スプール番号を順次更新し、最旧スプール番号および最新スプール番号がそれぞれ最大スプールサイズに到達するとそれらを順次「１」に戻す処理を繰り返し行う。
【００５３】
なお、削除すべきメッセージが複数のブロックにわたっている場合には、それらの複数のブロックを含む複数のレコードが一括して削除され、一時的に空いたスプール番号が発生する。この場合、次のレコードの挿入時に空いたスプール番号が使用される。
【００５４】
例えば、図６のスプール番号「２」および「３」のレコードが一括して削除された場合には、図７に示すように、新たなレコードがスプール番号「２」に挿入される。そして、最旧スプール番号が「４」に更新されるとともに、最新スプール番号が「２」に更新される。この場合、空いたスプール番号「３」は、次のレコードの挿入時に用いられる。
【００５５】
また、新たにスプールテーブルＳＴに格納するメッセージが複数のブロックに分割される場合には、スプールテーブルＳＴ内の複数のレコードが一括して削除される。
【００５６】
メインコントローラ２０とホストコンピュータ３０との通信が回復すると、通信制御モジュール２１０はホストコンピュータ３０の要求に従ってスプールテーブルＳＴ内のメッセージを最旧スプール番号のレコードから順にホストコンピュータ３０に送信する。それに伴って、送信されたメッセージを含むレコードがスプールテーブルＳＴから削除されるとともに、最旧スプール番号が更新される。
【００５７】
スプールテーブルＳＴからホストコンピュータ３０へのメッセージの送信中にも、スプールテーブルＳＴへの新たなレコードの挿入および最新スプール番号の更新が行われる。最旧スプール番号から昇順の方向にある全てのレコードのメッセージの送信が終了し、最旧スプール番号が最新スプール番号に到達すると、スプールテーブルＳＴからのメッセージの送信が終了し、通信制御モジュール２１０のスプーリング機能が非活性状態となる。
【００５８】
通信の回復時にホストコンピュータ３０からパージ要求があった場合には、スプールテーブルＳＴの全てのレコードが一括削除される。
【００５９】
本実施例の基板処理装置においては、メインコントローラ２０とホストコンピュータ３０との通信の喪失時にメインコントローラ２０からホストコンピュータ３０に送信すべきメッセージがデータベース２４０により構成されるスプールテーブルＳＴに格納される。それにより、スプーリング機能の実行時におけるメッセージの操作が容易になるため、通信制御モジュール２１０の処理性能が向上する。
【００６０】
また、スプールテーブルＳＴに格納されたメッセージの順序が各レコードに付与されたスプール番号で管理されるので、スプールテーブルＳＴ内のいずれかのレコードに破損が生じても、他のレコードにほとんど影響を与えない。例えばスプールテーブルＳＴを二次記憶装置２５０に保存する際にいずれかのレコードが消失しても、スプール番号を用いてスプールテーブルＳＴ内の他のレコードを容易に検索することができる。
【００６１】
上記実施例では、通信制御プログラムが記録される記録媒体としてハードディスク装置等の二次記憶装置２５０が用いられているが、通信制御プログラムをフロッピィディスク、ＣＤＲＯＭ、光ディスク、半導体メモリ等の他の記録媒体に記録してもよい。
【図面の簡単な説明】
【図１】本発明の一実施例における基板処理装置の平面図である。
【図２】図１の基板処理装置の正面図である。
【図３】図１の基板処理装置の制御系の構成を示すブロック図である。
【図４】図３の基板処理装置のメインコントローラの構成を示すブロック図である。
【図５】図４の通信制御モジュールにより作成されるスプールテーブルの一例を示す図である。
【図６】図４の通信制御モジュールにより作成されるスプールテーブルの他の例を示す図である。
【図７】図４の通信制御モジュールにより作成されるスプールテーブルのさらに他の例を示す図である。
【図８】従来の基板処理装置のスプーリング機能により実現されるスプールファイルの一例を示す図である。
【符号の説明】
１  基板処理装置
１１  インデクサユニット
１２  搬送ユニット
１３  薬液温調ユニット
１４  回転処理ユニット
１５  ベークユニット
２０  メインコントローラ
３０  ホストコンピュータ
２１〜２５  スレーブコントローラ
２００，２０１  通信ライン
２１０  通信制御モジュール
２２０  装置制御モジュール
２３０  データベース管理ソフトウェア
２４０  データベース
２５０  二次記憶装置
ＳＴ  スプールテーブル
【図１】
0003945932.tif 000002
【図２】
0003945932.tif 000003
【図３】
0003945932.tif 000004
【図４】
0003945932.tif 000005
【図５】
0003945932.tif 000006
【図６】
0003945932.tif 000007
【図７】
0003945932.tif 000008
【図８】
0003945932.tif 000009