(57)【特許請求の範囲】
【請求項１】
制御器及び前記制御器により制御される少なくともひとつのデバイスを含む装置を制御するための方法であって、前記制御器は前記デバイスと通信するためのインターフェイスを備え、前記インターフェイスは通信用の時間インターバルを測定するための内部クロックを有し、当該方法は、
前記インターフェイスに命令を送信するのに使用される前記制御器のオペレーティングシステムのシステムクロックの使用を、前記インターフェイスの内部クロックの使用に代える工程と、
前記システムクロックの使用から代えた前記内部クロックの使用により測定される時間インターバルを使って、前記制御器から前記インターフェイスへ命令を送信する工程と、
前記インターフェイス内の内部クロックにより測定された時間インターバルを使って前記インターフェイスから前記デバイスへ命令を送信しそれにより前記デバイスを制御する工程と、
を備えたことを特徴とする方法。
【請求項２】
前記命令は周期的に前記インターフェイスへ送信される、ことを特徴とする請求項１記載の方法。
【請求項３】
前記少なくともひとつのデバイスは前記インターフェイスに対して並列に配置された複数のデバイスから成る、ことを特徴とする請求項１記載の方法。
【請求項４】
前記インターフェイスはＰＣＩボードである、ことを特徴とする請求項３記載の方法。
【請求項５】
前記ＰＣＩボードは前記複数のデバイスを接続するDeviceNetシステム用の通信ボードである、ことを特徴とする請求項４記載の方法。
【請求項６】
前記装置は半導体処理装置である、ことを特徴とする請求項１記載の方法。
【請求項７】
前記制御器は、レシピの実行を制御する制御器であるか、または、ウエハの搬送を制御する制御器である、ことを特徴とする請求項１記載の方法。
【請求項８】
前記装置は、さらに、少なくとも他の制御器及び、前記制御器及び前記他の制御器を制御する主制御器を含み、さらに、
前記主制御器により前記制御器及び前記他の制御器を制御する工程を含む、
ことを特徴とする請求項１記載の方法。
【請求項９】
前記制御器はレシピの実行を制御する制御器であり、前記他の制御器はウエハの搬送を制御する制御器である、
ことを特徴とする請求項８記載の方法。
【請求項１０】
前記主制御器並びに前記制御器及び前記他の制御器はイーサーネット（登録商標）を通じて接続されている、
ことを特徴とする請求項８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、半導体製造装置の一部を構成する制御装置の制御方法に関する。
【背景技術】
【０００２】
半導体ウエハの製造において、半導体製造装置の正確な制御は重要な要素である。ここで、“正確な制御”とは、例えば制御されているバルブの開閉時の周期的な時間インターバルのエラーのマージンが小さいことをいう。例えば、マイクロソフトウインドウズ（登録商標）のオペレーティングシステムを使って５０ミリ秒の周期で実行される制御は、実際に出力される命令により約５０ミリ秒±２０ミリ秒のエラーを生じさせる。
【０００３】
このエラーを減少させるために、Ardence社による“ＲＴＸ” （リアル・タイム・エクステンション）と呼ばれるソフトウエアがウインドウズオペレーティングシステム内に組み込まれる。２つが組み合わされるとき、エラーは約５０ミリ秒±１ミリ秒まで減少する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ＲＴＸは高価であり（約５百万円）それを使用すると装置コストの増大が不可避である。また、たとえオペレーティングシステムの周期的なエラーが±１ミリ秒まで減少しても、適用可能な命令を受信する入力／出力制御インターフェイスのクロックと同期することができないことから、約±１ミリ秒のエラーが生じる。結果として、常に、５０ミリ秒±２または３ミリ秒のエラーが存在することになる。
【０００５】
近年、半導体ウエハ処理の微細化のトレンドにより、半導体製造装置は、２または３ミリ秒のエラーを生じさせない方法で制御されるべきであることが要求されている。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明による装置または方法は、エラーを５０ミリ秒±１ミリ秒の範囲とする正確な制御を実行するために、制御器のオペレーティングシステムにより与えられるクロックの代わりに、制御器内に含まれるデジタルデータ通信用のＰＣＩボードにより与えられるクロックを使って入力／出力デバイスを制御する。本発明は、さらに、装置コストを廉価とするという効果を有する。
【０００７】
ひとつの態様において、本発明は、装置（好適には、半導体製造装置）を制御するための方法を与える。当該装置は、制御器及び制御されたデバイス（ひとつの態様において、複数の制御されたデバイスが使用され、それらは信号の流れに対して並列に配置される）を含み、該制御器は制御されたデバイスとのデータ通信を実行するためのＰＣＩボード等を含み、該ＰＣＩボードのクロックは正確な制御を実行するのに使用される。
【０００８】
他の態様において、制御は、周期的な制御である。
【０００９】
さらに他の態様において、ＰＣＩボードはDeviceNetデータ通信ボードである。この態様において、例えば、DeviceNetデータ通信ボードは、オムロン社製の3G8F7-DRM21から成る。
【００１０】
本発明及び従来技術に対する利点を要約するために、ここで、本発明のいくつかの目的及び利点が説明される。無論、これらの目的または利点のすべては本発明の特定の実施形態にしたがって必ずしも達成されるものではない。よって、本発明は、例えば、ここに教示または示唆されるような他の目的または利点を必ずしも達成することなく、ここに教示されるような利点を達成または最適化する方法で実施または実行可能であることは当業者の知るところである。
【００１１】
本発明の他の態様、特徴及び利点は、以下に示す好適実施形態の詳細な説明から明らかとなる。
【発明を実施するための最良の形態】
【００１２】
以下で本発明は好適実施形態を参照して詳細に説明される。しかし、当該好適実施形態は本発明を限定することを意図したものではない。
【００１３】
ひとつの実施形態において、本発明は、制御器及び該制御器により制御される少なくともひとつのデバイスを含む装置を制御するための方法を与え、当該制御器は該デバイスと通信するためのインターフェイスを具備し、該インターフェイスは通信用の時間インターバルを測定するための内部クロックを有し、当該方法は、(i)インターフェイスへ命令を送信するために使用される制御器のオペレーティングシステムのシステムクロックを、インターフェイスの内部クロックと置換する工程と、(ii)システムクロックと置換された内部クロックにより測定された時間インターバルを使って制御器からインターフェイスへ命令を送信する工程と、(iii)インターフェイスの内部クロックにより測定された時間インターバルを使ってインターフェイスからデバイスへ命令を送信し、それによってデバイスを制御する工程を含む。
【００１４】
ひとつの実施形態において、命令は周期的にインターフェイスに送信される。
【００１５】
上記実施形態のいずれかにおいて、少なくともひとつのデバイスは、インターフェイスに対して並列に配置された複数のデバイスから成る。
【００１６】
上記実施形態のいずれかにおいて、インターフェイスはＰＣＩボードである。
【００１７】
上記実施形態のいずれかにおいて、ＰＣＩボードは複数のデバイスを接続するDeviceNetシステム用の通信ボードである。
【００１８】
上記実施形態のいずれかにおいて、当該装置は半導体処理装置である。
【００１９】
上記実施形態のいずれかにおいて、制御器は、レシピの実行を制御する制御器またはウエハの搬送を制御する制御器である。
【００２０】
上記実施形態のいずれかにおいて、当該装置はさらに、少なくとも他の制御器及び該制御器及び他の制御器を制御する主制御器を含み、上記方法はさらに該制御器及び他の制御器を主制御器により制御する工程を含む。
【００２１】
上記実施形態のいずれかにおいて、制御器は、レシピの実行を制御する制御器であり、他の制御器はウエハの搬送を制御する制御器である。
【００２２】
上記実施形態のいずれかにおいて、主制御器並びに制御器及び他の制御器は、イーサーネットを通じて接続されている。
【００２３】
他の実施形態において、本発明は、主制御器、ＰＣＩボードを具備する少なくともひとつのサブコントローラ、及び少なくともひとつのデバイスを含み、主制御器がデバイスを制御するサブコントローラを制御するところの半導体処理装置を制御する方法を与え、当該方法は、(i)ＰＣＩボードとの信号の入力／出力を制御する、サブコントローラの周期的命令の時間インターバルの設定を、ＰＣＩボードの内部クロック用にＰＣＩボードにより与えられるＡＰＩを使うことにより、初期化する工程と、(ii)ＰＣＩボードにより与えられるＡＰＩを使って、サブコントローラとＰＣＩボードとの間での信号の入力／出力を制御する工程と、(iii)ＰＣＩボードに与えられるＡＰＩを使ってＰＣＩボードとデバイスとの間での信号の入力／出力を制御する工程を含む。
【００２４】
上記実施形態のいずれかにおいて、少なくともひとつのデバイスはＰＣＩボードに対して並列に配置された複数のデバイスから成る。
【００２５】
上記実施形態のいずれかにおいて、ＰＣＩボードは複数のデバイスを接続するDeviceNetシステム用の通信ボードである。
【００２６】
上記実施形態のいずれかにおいて、少なくともひとつのサブコントローラはレシピの実行を制御するサブコントローラから成る。
【００２７】
上記実施形態のいずれかにおいて、少なくともひとつのサブコントローラは複数のサブコントローラから成る。
【００２８】
上記実施形態のいずれかにおいて、主制御器及びサブコントローラはイーサーネットを通じて接続されている。
【００２９】
ひとつの実施形態において、制御器と制御されたデバイスとの間でのデータ通信を実行するためのＰＣＩボードへの命令の制御（信号入力／出力制御）は、ＰＣＩボードのビルトインクロックを使って実行される。参考までに、制御器のオペレーティングシステムのクロックは制御器の内部の装置（モジュール制御器ＰＣなど）の制御以外の目的にも使用され、それはＰＣＩボードのビルトインクロック（内部クロックとも呼ぶ）とは基本的に異なるものである。ウインドウズ（商標）のようなオペレーティングシステムのクロックパフォーマンスは、それがリアルタイムのオペレーティングシステムではない場合に、アプリケーションソフトウエアをシステムタイマーとリンクさせることが困難となるというようないくつかの欠点によって低下する。これらの欠点を補うためにＲＴＸが使用される。しかし、ＲＴＸが使用された場合でも、オペレーティングシステム及び制御されたデバイス（DeviceNetなど）のネットワークとデータ通信を実行するＰＣＩボードとの同期の問題は、不可避的なエラーを生じさせる。
【００３０】
一方、ＰＣＩボードへの命令（制御信号の入力／出力）を制御するためにＰＣＩボードのビルトインクロックを使用することは、オペレーティングシステムの不正確な周期の問題及び入力／出力デバイスとの不完全な同期の問題を解消し、ＰＣＩボードのクロックパフォーマンスと無関係な失敗をすることなく、エラーを減少させることが可能となる。この種の制御の効果は適用可能な制御が周期的制御である場合に最大となるが、任意の種類の制御に使用することができる。参考までに、ＰＣＩボードは特定の種類に限定されず、好適な通信インターフェイスを与える限り任意のＰＣＩボードが使用可能である。
【００３１】
ひとつの実施形態において、ＰＣＩボードはDeviceNetデータ通信ボードであり、その場合、半導体製造装置の制御されたデバイスはDeviceNetネットワークによりリンクされ、かつ、該ネットワークを通じて通信する必要があることが前提条件となる。言い換えれば、制御器の下流の各制御手段はDeviceNet通信を実行する。DeviceNet通信用のＰＣＩボードに加え、例えば、ＲＳ２３２Ｃ（シリアル通信）、ＳＣＳＩ及びＧＰＩＢボードが使用可能であり、ＳＣＳＩは並列通信を実行し、ＧＰＩＢはＲＳ２３２Ｃ及びＲＳ４２２と同様のシリアル通信を実行する。DeviceNetデータ通信ボードとして、例えば、オムロン社製の3G8F7-DRM21が使用可能である。
【００３２】
以下、本発明の実施形態を図面を参照しながら説明する。しかし、これらの図面または実施形態は本発明を限定するものではない。
【００３３】
図１は、半導体製造装置用の制御構成の例を示す概略図である。この装置は以下に示す制御器を含む。
【００３４】
ＵＰＣ（Unique Platform Controller）1：主制御器
ＰＭＣ(Process Module Controller)  ２：処理モジュール制御器
ＴＭＣ(Transfer Module Controller) ７：搬送モジュール制御器
【００３５】
ＰＣＭ２は処理容器（チャンバ）に関連した制御を実行するサブコントローラであり、ＴＭＣ７はウエハ搬送（ロボット）に関連する制御を実行するサブコントローラである。これらのサブコントローラは主制御器ＵＰＣ１により制御される。
【００３６】
図１において、デバイス１（５、１０）からデバイスＮ（６、１１）は、例えば、ガス流量制御器（ＭＦＣ）のような制御手段またはＰＭＣ２の場合には圧力制御バルブ（スロットルバルブ）を表す。ＰＭＣ２及びＴＭＣ７はそれぞれ、ビルトインDeviceNetボード３、８を有する。これらのDeviceNetボードは、デバイス（制御手段）の末端部に配置されたセンサー及びバルブのような入力／出力デバイス（Ｉ／Ｏ）と直接通信するためのインターフェイスボードである。代表的なDeviceNetボードはオムロン社製の3G8F7-DRM21である。
【００３７】
ＰＭＣ２及びＴＭＣ７はまた、それらと制御手段との間に接続されたＡＤＳボード４、９を有する。これらのＡＤＳボード４、９はセンサー等からのアナログ信号をデジタル信号に変換する。変換されたデジタル信号はDeviceNetボード３、８に入力される。
【００３８】
次に、図２は、図１のＰＭＣ２を説明したものである。図２に示すように、レシピ実行ユニット３１のソフトウエアは、制御器のオペレーティングシステムで動作し、かつ、DeviceNetボード３を通じて入力／出力デバイスへ命令を発行し、DeviceNetボード３を通じて入力／出力デバイスからの通知を受信する。
【００３９】
ここで、５０ミリ秒の周期で開閉するバルブが要求される薄膜処理の制御方法を説明するために、入力／出力デバイスの例としてバルブが使用される。この場合、図２のレシピ実行ユニット３１は、５０ミリ秒の周期でバルブを開閉するようDeviceNetボード３に命令を発行する。しかし、ＰＭＣ２のオペレーティングシステムがマイクロソフトウインドウズ（商標）であれば、５０ミリ秒の開閉命令は、実際には約５０ミリ秒±２０ミリ秒の周期的エラーを伴った命令としてDeviceNetボード３に送信される。この状態が図３に示されている。横軸は時間を表す。図３は、ＰＭＣ２のオペレーティングシステム３２からDeviceNetボード３へ命令がどのように送信されるかを示している。点線は、送信されるべき本来の命令を示し、実線の矢印は実際に発せられる命令を示す。図３に示すように、最初の“開”命令が発行されてから次の“閉”命令が発行されるまで８５ミリ秒（１２０ミリ秒−３５ミリ秒）掛かっている。しかし、その後二番目の“開”命令が発行されるまでは２０ミリ秒（１４０ミリ秒−１２０ミリ秒）しか掛かっていない。これは、マイクロソフトウインドウズのオペレーティングシステムを単独で使用すると、制御手段を時間的に正確に制御することができないことを示している。
【００４０】
Ardence社製の“ＲＴＸ”と呼ばれるソフトウエアプログラムをウインドウズのオペレーティングシステムに組み込むと、ウインドウズのオペレーティングシステムはリアルタイム動作特性を獲得する。上記した例において、ＲＴＸは、５０ミリ秒の命令に対するエラーを±２０ミリ秒から±１ミリ秒まで減少させることができる。図４は、ＲＴＸによりいかにしてエラーが減少するかを示している。図３と比較すると、バルブの開閉命令の時間インターバルが非常に正確なことが明白である。
【００４１】
しかし、DeviceNetボード３により命令が受信されてから、図４の下方に示すＡＤＳボード４（入力／出力デバイス）に、実際に命令が到達するまでに、まだ約１ミリ秒のエラーが生じている。DeviceNetボード３はそれ自身のクロック周期に基づいてＡＤＳボード４及び入力／出力デバイスにアクセスするため、オペレーティングシステムはDeviceNetボード３と同期することができない。結果として、レシピ実行ユニットに対して±２または３ミリ秒のエラーが残存している。
【００４２】
したがって、オペレーティングシステム３２の不正確な周期の問題及び入力／出力デバイスとの不完全な同期の問題を解決するために、図５に示すように、本発明のひとつの実施形態において、ＰＭＣ３１により与えられるクロック（ウインドウズ）の代わりに、レシピ実行ユニットはDeviceNetボード３のクロック（ビルトインクロックまたは内部クロック）を使用する。このレシピ実行ユニット３１は、バルブ開閉命令（下側の矢印）を発行するためにDeviceNetボード３により与えられるクロック（上側の矢印）を使用する。DeviceNetボード３は、それ自身のクロック周期に基づいてＡＤＳボード４（入力／出力デバイス）に実際の命令を発行する。
【００４３】
この実施形態において、DeviceNetボード３のクロックは、５０ミリ秒の周期に対して約±１ミリ秒のエラーを含む。しかし、これは、この実施形態において生じる周期的エラーの最大値である。
【００４４】
上記した方法を特定的に適用するために、ひとつの実施形態において、周期時間の設定は、アプリケーションソフトウエア（レシピ実行ユニット３１など）により使用されるウインドウズオペレーティングシステムにより与えられるWMTTimer()、Sleep()、SetWaitableTimer()及びTimeSetEvent()またはその他のＡＰＩ関数を使う代わりに、DeviceNetボード３のドライバソフトウエアにより与えられるＡＰＩ関数SCAN_SetScanTimeValue()を使って初期化され、ウインドウズのメッセージ処理関数はSCAN_RegScanEvtNotifyMessage()を介して使用される。ＡＰＩ関数は通信目的用に使用されず、周期時間設定の初期化及び制御信号の入力／出力制御用に使用される。したがって、レシピ実行ユニット３１とDeviceNetボード３との間での信号の交換は、ＡＰＩ関数とは無関係の“命令”及び“通知”の関係を構成している。信号入力／出力制御に含まれるオペレーティングシステムにより与えられるＡＰＩ関数を、DeviceNetボードにより与えられるＡＰＩ関数と置換することにより、レシピ実行ユニット３１及びDeviceNetボード３のドライバは同じＡＰＩ関数を使って信号入力／出力制御を実行することができる。
【００４５】
上記実施形態において、アプリケーションソフトウエアとしてレシピ実行ユニット内の信号入力／出力制御ソフトウエアのＡＰＩ関数が置換される。しかし、Ｉ／Ｏ制御ユニットまたは時間管理ユニットのような周期的制御を実行する他のユニットのＡＰＩ関数を置換することも可能である。参考までに、Ｉ／Ｏ制御ユニットはＩ／Ｏ（入力／出力）をモニターしかつ周期的に発行されるリクエストを出力するものであり、時間管理ユニットはアプリケーションにより使用されるタイマーを管理するためのものである。
【００４６】
上記に加え、初期化処理に使用されるＡＰＩ関数は、これに限定されないが、以下の関数を含む。
【００４７】
MMF_WATCH->bModuleUse[MDL_DNADS]=TRUE;
MMF_WATCH->nModuleCond[MDL_DNADS]=MDL_COND_DEAD;
DnAns=m_Ads.Init(BOARDID_MASTER);
if(DnAns)DnAns=m_Ads.SetScanTimeValue(SCANCYCLE);
if(DnAns)DnAns=m_Ads.GetScanTimeValue(&STime);
if(DnAns)DnAns=m_Ads.RegScanEvtNotifyMessage(0,hWnd,WM_DNADS);
if(DnAns)DnAdsActive=TRUE;
else m_Ads.GetLastErrorString(errstr);
if(DnAdsActive)MMF_WATCH-nModuleCond[MDL_DNADS]=MDL_COND_IDLE;
elseMMF_WATCH->nModuleCond[MDL_DNADS]=MDL_COND_READY:
【００４８】
オペレーティングシステムのＡＰＩ関数の置換の際、以下の関数を使用することもできる。
【００４９】
信号入力ユニットに関連するＡＰＩ関数として
DnAns=m_Ads.GetInData(&InD, TRUE)
信号出力ユニットに関連するＡＰＩ関数として
DnAns=m_Ads.SetOutData(&OutD, TRUE)
【００５０】
ここで、入力ユニット及び出力ユニットは、デバイス（制御手段）からの入力／出力リクエストをDeviceNetボードへ発行するものである。特定的に、入力ユニットは制御手段からの入力値を読み出し、出力ユニットは制御手段に対する出力値を設定する。
【００５１】
Mac及びLinuxなどのウインドウズ以外のオペレーティングシステムに対して適用可能なＰＣＩボード（通信インターフェイス）が、対応するオペレーティングシステム用のＡＰＩ関数を与える場合には、ＡＰＩ関数は同様の方法で置換可能である。
【００５２】
上記に基づき、本発明のひとつの実施形態において、制御器のオペレーティングシステムにより与えられるクロックの代わりに、制御器に含まれるデータ通信ＰＣＩボードのクロックを使用する入力／出力デバイスを制御することにより、付加的なコストをかけることなく、入力／出力デバイスは、例えば、５０ミリ秒±１ミリ秒の周期で制御可能となる。
【００５３】
本発明の開示において、条件及び／または構造が特定されていない場合には、当業者は本発明を参照してその経験及び知識よりその条件及び／または構造を容易に導くことができる。
【００５４】
本発明は、上記した実施形態及び以下に示す他のさまざまな実施形態を含むものである。
【００５５】
１）制御器及び該制御器により制御される少なくともひとつの制御されたデバイスを含む半導体製造装置を制御するための方法であって、該制御器は制御されたデバイスと通信するためのＰＣＩボードを備え、該ＰＣＩボードは時間インターバルを測定するための内部クロックを有し、当該方法は、該ＰＣＩボードの内部クロックに基づく時間インターバルを使って、制御器から制御されたデバイスへ周期的な命令を発行することにより制御されたデバイスを制御する工程を含むことを特徴とする。
【００５６】
２）項目１）に記載の方法において、少なくともひとつの制御されたデバイスは複数のデバイスから成る。
【００５７】
３）項目１）に記載の方法において、内部クロックに基づいて時間インターバルを使用する工程は、該制御器のＰＣＩボードにより与えられるＡＰＩ関数を使用する工程を含む。
【００５８】
４）主制御器、ＰＣＩボードを有する少なくともひとつのサブコントローラ、及び少なくともひとつのデバイスを含む半導体製造装置を制御するための方法であって、該サブコントローラは該デバイスを制御し、該主制御器は該サブコントローラを制御し、当該方法は、信号入力／出力制御の際に使用される周期時間設定を初期化するためにＰＣＩボードにより与えられるＡＰＩ関数を使用する工程と、該ＰＣＩボードにより与えられるＡＰＩ関数を使ってデバイスの信号入力／出力を制御する工程を含むことを特徴とする。
【００５９】
本発明の思想から離れることなくさまざまな修正が可能であることは当業者の知るところである。よって、本発明の形式は例示に過ぎず、本発明の態様を限定することを意図したものではない。
【図面の簡単な説明】
【００６０】
【図１】図１は、本発明のひとつの実施形態に従うプラズマＣＶＤ装置で使用される一般的な制御システムの概略図である。
【図２】図２は、本発明のひとつの実施形態に従うプラズマＣＶＤ装置のモジュール内での信号フローを示す概略図である。
【図３】図３は、従来の制御器のオペレーティングシステムにより与えられるシステムクロックを使った周期で制御を実行した場合の制御動作を示す概略図である。
【図４】図４は、従来の制御器に組み込まれるＲＴＸを使った周期で制御を実行した場合の制御動作を示す概略図である。
【図５】図５は、本発明のひとつの実施形態に従うデータ送信用のＰＣＩボードにより与えられる内部クロックを使った周期で制御を実行する場合の制御動作を示す概略図である。
【図１】
0005307465.tif 000002
【図２】
0005307465.tif 000003
【図３】
0005307465.tif 000004
【図４】
0005307465.tif 000005
【図５】
0005307465.tif 000006