(57)【要約】【課題】  メモリ領域の解放忘れを検出するとともに、そのメモリ解放忘れが重大な影響を与える前に回避措置を実施するようにした技術を提供する。【解決手段】  生産計画に従って複数の工程を実行する生産装置を管理する管理装置は、各工程が完了した後も生産装置のメモリ上で各工程によって確保されたままとなっているメモリの解放忘れ容量を検出し、当該検出されたメモリの解放忘れ容量に基づいてメモリにおける残メモリ容量を求め、残メモリ容量の範囲内で実行が可能な工程を探索し、メモリの解放忘れ容量に基づいて探索結果と、生産計画とのいずれに従うかを決定し、当該決定したいずれかに従って次に実行する工程を決定するとともに、当該決定された工程を生産装置に実行させる。【選択図】  図１
2010039557.tif 000002
【特許請求の範囲】
【請求項１】
生産計画に従って複数の工程を実行する生産装置を管理する管理装置であって、
各工程が完了した後も前記生産装置のメモリ上で各工程によって確保されたままとなっているメモリ領域の解放忘れ容量を検出する検出手段と、
前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記メモリにおける残メモリ容量を求め、該残メモリ容量の範囲内で実行が可能な工程を探索する探索手段と、
前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記探索手段による探索結果と前記生産計画とのいずれに従うかを決定し、該決定したいずれかに従って次に実行する工程を決定する決定手段と、
前記決定手段により決定された工程を前記生産装置に実行させる制御手段と
を具備することを特徴とする管理装置。
【請求項２】
前記決定手段は、
前記検出手段により検出されたメモリ領域の解放忘れ容量が予め決められた閾値を越えている場合、前記探索手段による探索結果に従って次に実行する工程を決定し、そうでない場合、前記生産計画に従って次に実行する工程を決定する
ことを特徴とする請求項１記載の管理装置。
【請求項３】
前記決定手段は、
前記探索手段による探索結果に従って次に実行する工程を決定する場合、前記探索手段により探索された工程の中から最も多くの生産量が見込める工程を次に実行する工程に決定する
ことを特徴とする請求項１又は２記載の管理装置。
【請求項４】
生産計画に従って複数の工程を実行する生産装置を管理する管理装置であって、
各工程が完了した後も前記生産装置のメモリ上で各工程によって確保されたままとなっているメモリ領域の解放忘れ容量を検出する検出手段と、
前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記メモリにおける残メモリ容量を求め、該残メモリ容量の範囲内で実行が可能な工程を１又は複数探索する探索手段と、
前記探索手段により探索された工程の中から次に実行する工程を決定する決定手段と、
前記決定手段により決定された工程を前記生産装置に実行させる制御手段と
を具備することを特徴とする管理装置。
【請求項５】
前記決定手段は、
前記探索手段により探索された工程の中から最も多くの生産量が見込める工程を次に実行する工程に決定する
ことを特徴とする請求項４記載の管理装置。
【請求項６】
前記生産計画に基づいて前記工程の状態遷移を示す状態遷移情報を生成する生成手段
を更に具備し、
前記探索手段は、
前記検出手段により検出されたメモリ領域の解放忘れ容量と、前記生成手段により生成された状態遷移情報とに基づいて前記残メモリ容量の範囲内で実行が可能な工程を探索する
ことを特徴とする請求項１又は４記載の管理装置。
【請求項７】
前記生産装置は、半導体製造装置である
ことを特徴とする請求項１乃至６いずれか１項に記載の管理装置。
【請求項８】
生産計画に従って複数の工程を実行する生産装置を管理する管理装置の制御方法であって、
各工程が完了した後も前記生産装置のメモリ上で各工程によって確保されたままとなっているメモリ領域の解放忘れ容量を検出する検出工程と、
前記検出工程で検出されたメモリ領域の解放忘れ容量に基づいて前記メモリにおける残メモリ容量を求め、該残メモリ容量の範囲内で実行が可能な工程を探索する探索工程と、
前記検出工程で検出されたメモリ領域の解放忘れ容量に基づいて前記探索工程の探索結果と前記生産計画とのいずれに従うかを決定し、該決定したいずれかに従って次に実行する工程を決定する決定工程と、
前記決定工程で決定された工程を前記生産装置に実行させる制御工程と
を含むことを特徴とする管理装置の制御方法。
【請求項９】
生産計画に従って複数の工程を実行する生産装置を管理するコンピュータを、
各工程が完了した後も前記生産装置のメモリ上で各工程によって確保されたままとなっているメモリ領域の解放忘れ容量を検出する検出手段、
前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記メモリにおける残メモリ容量を求め、該残メモリ容量の範囲内で実行が可能な工程を探索する探索手段、
前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記探索手段による探索結果と前記生産計画とのいずれに従うかを決定し、該決定したいずれかに従って次に実行する工程を決定する決定手段、
前記決定手段により決定された工程を前記生産装置に実行させる制御手段
として機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、その制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
ソフトウェアにおいて一時的に使用される作業領域やデータ保存領域は、メモリ領域を常に確保しておくわけではない。メモリ領域は、作業領域やデータ保存領域が必要になった時点で確保され、不要になった時点で解放される。しかし、プログラムに誤り等があり、不要となったメモリ領域の解放がなされずに、そのまま確保されてしまっている場合がある。この場合、そのメモリ領域はどこからも使用されず、システムが終了するまで確保されたままとなってしまう。不要なメモリ領域が解放されずそのまま確保され続ける現象のことを「メモリ解放忘れ」と呼ぶ。
【０００３】
メモリ解放忘れは、システムのメモリ資源を無駄に消費することになり、システムの実行に大きな影響を与える。当然ではあるが、解放が忘れられたメモリ容量が増加すると、使用可能なメモリ容量がそれに伴って減少する。そして、ソフトウェアの実行性能が低下、或いはソフトウェアの動作が不安定になってしまう。更に、使用可能なメモリ容量がソフトウェアの実行に必要なメモリ容量を下回ってしまうと、ソフトウェアは、作業領域やデータ保存領域を確保できないため、実行を停止してしまう。
【０００４】
しかし、メモリ解放忘れが発生したとしても、解放が忘れられたメモリ領域の割合が小さければ、さほど問題にはならない。なぜならば、メモリ上に十分な空き容量を確保できるためである。また、メモリ解放忘れの発生は、連続稼動時間が短いシステムにおいては大きな問題にはならない。メモリ解放忘れが発生したとしても、解放が忘れられたメモリ領域が大きな影響を与える前に、システムの稼動が停止するからである。これに対して、連続稼働時間が長いシステムでは、メモリ解放忘れは重大な問題になる。すなわち、稼動時間が長くなればなるほど、解放が忘れられたメモリ領域が蓄積されていき、使用可能なメモリ容量が減少してしまうためである。
【０００５】
ソフトウェアは、通常、出荷前のテスト工程において、バグを発見、除去してから製品として出荷されるが、ソフトウェアによっては、出荷前のテスト工程でメモリ解放忘れのバグを完全に除去することが困難な場合もある。このようなソフトウェアとしては、例えば、用いられるパラメータの種類が多く、また、パラメータ値を顧客が設定するソフトウェアが挙げられる。このようなソフトウェアにおいて、出荷前にパラメータが取りうる値全ての組み合わせをテストするのは、事実上不可能である。
【０００６】
ここで、例えば、半導体製造装置（以下、半導体露光装置と呼ぶ）の組み込みソフトウェアは、稼働時間が数ヶ月を越し、動作を決定するパラメータの種類が多く、その上パラメータの値を顧客が設定するソフトウェアとして挙げられる。
【０００７】
半導体製造は多くの工程から構成されており、その稼働時間は数ヶ月におよぶ。半導体の集積度の増加に伴い、半導体露光装置の駆動機構や電子制御部品は、複雑かつ高精度になっている。半導体露光装置が組み込んでいるソフトウェアの機能も複雑になり、規模も拡大している。顧客固有の半導体製造の手順に基づいて顧客がソフトウェアのパラメータを決定する。したがって、半導体露光装置のソフトウェアにおいて、メモリ解放忘れが発生してしまうと、解放を忘れたメモリ領域の容量が大きくなり易い。すなわち、ソフトウェアが作業領域やデータ保存領域を確保できず、実行を停止してしまうといった障害が発生してしまう可能性が高いといえる。
【０００８】
メモリ解放忘れが原因となり、ソフトウェアの実行性能が低下、或いは動作が不安定になった場合、ソフトウェアを停止し再起動すれば、全メモリ領域を解放できるので、問題を解消することができる。しかし、半導体製造の各工程は互いに関連し合っているため、ある工程のソフトウェアのみ停止・再起動することは困難である。
【０００９】
解放忘れのメモリ容量がさらに増加し、ソフトウェアが停止してしまうと、顧客は大きな損害を蒙る。例えば、製造途中のウェハを破棄しなければならない。これは、ソフトウェアが再起動しても、半導体露光装置内の状態や環境が変化しており、同じ状態や環境で製造を継続することができないためである。更に、半導体露光装置においては、起動後に各駆動部品の動作を確認し、調整する作業が必要となるため、全ての工程で、この調整作業が完了するまで、半導体製造を再開することはできない。すなわち、メモリ領域の解放忘れによりソフトウェアが停止してしまうと、半製品（製造途中の製品）を破棄する経済的損失と、半導体露光装置の調整が完了するまで待ち合わせる時間的損失を顧客は蒙ることになる。
【００１０】
以上から、このようなソフトウェアでは、パラメータが取りうる値全ての組み合わせを出荷前にテストすることが極めて困難なため、メモリ解放忘れの発生を防ぐことはできないと言わざるを得ない。そこで、メモリ解放忘れを検出する手段を設け、この手段により、メモリ解放忘れを検出し、ソフトウェアが停止するまでの間にメモリ解放忘れの影響を回避する措置を施す必要がある。例えば、Ｊａｖａ(登録商標)やＣ＃は、メモリ解放をオペレーティングシステムに委ねるガベージコレクション機能を持っている。また、Ｃ言語のようなガベージコレクションが組み込まれていないプログラミング言語では、メモリ領域情報を元にメモリ解放忘れを防止する方法が知られている。この技術に関して、特許文献１には、ソフトウェアによるメモリ領域の確保、解放に際して、そのメモリ領域情報を保存、削除し、ソフトウェア終了時に確保されているメモリ領域情報が残っているか否かを判定しメモリ解放忘れを検出する技術が開示されている。また、特許文献２には、ソフトウェアが獲得したメモリ領域の最大生存時間を管理し、この時間を過ぎても解放されないメモリ領域をメモリ解放忘れ領域として判定する技術が開示されている。
【特許文献１】特開２０００−２９３４００号公報
【特許文献２】特開２００２−１０８６９８号公報
【特許文献３】特開平１１−１７６７１７号公報
【特許文献４】特開２００７−１８３７３７号公報
【特許文献５】Ｔ１００５２３７８（矢作提案件）
【非特許文献１】萩谷昌己、高橋 孝一、「ＢＤＤを用いた同期アルゴリズムの探索」、情報処理学会論文誌、プログラミング、Ｖｏｌ４２、Ｎｏ．ＳＩＧ＿１１（ＰＲＯ＿１２）（２００１１１１５）、ｐｐ９２
【発明の開示】
【発明が解決しようとする課題】
【００１１】
半導体露光装置においては、ソフトウェアに与えるパラメータ値と処理手順とをレシピと呼ぶ設定ファイルに保存する。このレシピは、オペレータにより予め作成され、稼動時には、このレシピとウェハとが半導体露光装置に投入され処理が実行される。この処理をジョブと呼ぶ。レシピ内に記述された処理が指定ウェハ枚数分終了した時点でジョブは終了する。半導体露光装置では、このレシピ内に記述された処理を実施するため、複数のソフトウェアが協調して動作する。
【００１２】
このことを踏まえると、特許文献１の技術では、複数のソフトウェア間でメモリ領域を共有して使用する場合、メモリ解放忘れの検出を正確に行なえない。そのため、例えば、半導体露光装置のようなシステムでは依然、問題を解決することはできない。更に、特許文献１の技術では、メモリ解放忘れを検出すると、その旨をオペレータに提示するだけであり、メモリ解放忘れの影響を回避する措置については考慮されていない。
【００１３】
一方、特許文献２の技術では、ソフトウェアが獲得したメモリ領域の最大生存時間を管理し、メモリ解放忘れ領域を検出するため、複数のソフトウェア間でメモリ領域を共有して使用する場合においても、メモリ解放忘れを検出することができる。その上、メモリ解放忘れの領域を自動的に解放するため、メモリ解放忘れの影響を回避する措置もある。しかし、連続稼動時間が長い半導体露光装置において、最大生存時間を見積もることは難しく、この特許文献２に開示されている技術を半導体露光装置に適用することは困難である。
【００１４】
また、特許文献３には、中間製品（製造途中）の数量を削減する生産管理方法が開示されている。この生産管理方法を使用すれば、異常発生時に破棄しなければならない中間製品の数量を削減でき、経済的損失を軽減できる。しかし、この方法では、半導体露光装置の調整が完了するまで待ち合わせる時間的損失を回避することはできない。
【００１５】
そこで、本発明は、上記課題に鑑みてなされたものであり、メモリ領域の解放忘れを検出するとともに、そのメモリ解放忘れが重大な影響を与える前に回避措置を実施するようにした技術を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明の一態様は、生産計画に従って複数の工程を実行する生産装置を管理する管理装置であって、各工程が完了した後も前記生産装置のメモリ上で各工程によって確保されたままとなっているメモリ領域の解放忘れ容量を検出する検出手段と、前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記メモリにおける残メモリ容量を求め、該残メモリ容量の範囲内で実行が可能な工程を探索する探索手段と、前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記探索手段による探索結果と前記生産計画とのいずれに従うかを決定し、該決定したいずれかに従って次に実行する工程を決定する決定手段と、前記決定手段により決定された工程を前記生産装置に実行させる制御手段とを具備することを特徴とする。
【００１７】
また、本発明の一態様は、生産計画に従って複数の工程を実行する生産装置を管理する管理装置であって、各工程が完了した後も前記生産装置のメモリ上で各工程によって確保されたままとなっているメモリ領域の解放忘れ容量を検出する検出手段と、前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記メモリにおける残メモリ容量を求め、該残メモリ容量の範囲内で実行が可能な工程を１又は複数探索する探索手段と、前記探索手段により探索された工程の中から次に実行する工程を決定する決定手段と、前記決定手段により決定された工程を前記生産装置に実行させる制御手段とを具備することを特徴とする。
【００１８】
また、本発明の一態様は、生産計画に従って複数の工程を実行する生産装置を管理する管理装置の制御方法であって、各工程が完了した後も前記生産装置のメモリ上で各工程によって確保されたままとなっているメモリ領域の解放忘れ容量を検出する検出工程と、前記検出工程で検出されたメモリ領域の解放忘れ容量に基づいて前記メモリにおける残メモリ容量を求め、該残メモリ容量の範囲内で実行が可能な工程を探索する探索工程と、前記検出工程で検出されたメモリ領域の解放忘れ容量に基づいて前記探索工程の探索結果と前記生産計画とのいずれに従うかを決定し、該決定したいずれかに従って次に実行する工程を決定する決定工程と、前記決定工程で決定された工程を前記生産装置に実行させる制御工程とを含むことを特徴とする。
【００１９】
また、本発明の一態様は、生産計画に従って複数の工程を実行する生産装置を管理するコンピュータを、各工程が完了した後も前記生産装置のメモリ上で各工程によって確保されたままとなっているメモリ領域の解放忘れ容量を検出する検出手段、前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記メモリにおける残メモリ容量を求め、該残メモリ容量の範囲内で実行が可能な工程を探索する探索手段、前記検出手段により検出されたメモリ領域の解放忘れ容量に基づいて前記探索手段による探索結果と前記生産計画とのいずれに従うかを決定し、該決定したいずれかに従って次に実行する工程を決定する決定手段、前記決定手段により決定された工程を前記生産装置に実行させる制御手段として機能させる。
【発明の効果】
【００２０】
本発明によれば、メモリ領域の解放忘れを検出し、各時点における残メモリ容量に応じて生産計画を動的に変更させられる。これにより、例えば、生産原価の低減や生産効率の向上を図ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係わる管理装置、その制御方法及び制御プログラム一実施の形態について添付図面を参照して詳細に説明する。なお、以下、実施形態においては、生産装置が半導体製造装置（以下、半導体露光装置と呼ぶ）である場合を例に挙げて説明する。
【００２２】
（実施形態１）
図１は、本実施形態に係わる半導体露光システムの全体構成の一例を示す図である。
【００２３】
半導体露光システムは、管理装置１０と、半導体露光装置２０とを具備して構成される。管理装置１０と半導体露光装置２０とは、例えば、ＬＡＮ（Local Network）等の通信網を介して接続される。なお、両装置は、通信可能に接続されていればよく、接続形態は特に問わない。
【００２４】
管理装置１０には、生産計画情報１０１、実行パラメータ情報１０２が入力される。管理装置１０は、これら入力された情報に基づいて制御コマンド１１６を生成し、それを半導体露光装置２０に出力する。これにより、管理装置１０は、半導体露光装置２０における処理を制御及び管理する。
【００２５】
生産計画情報１０１には、半導体露光装置に投入する処理（以下、露光ジョブという）毎に動作モードや使用する装置の種類、及びパラメータの設定値といった属性値が定義される。実行パラメータ情報１０２には、実行が完了した露光ジョブと、その露光ジョブが使用したパラメータ値とが記憶されている。制御コマンド１１６は、半導体露光装置２０を制御するための１又は複数の命令群である。
【００２６】
半導体露光装置２０は、感光性材料が塗布された基板（以下、ウェハと呼ぶ）へレチクル（マスクとも呼ばれる）に形成されたパターンを投影してウェハに転写する。このような露光工程により、微細回路パターンが形成された半導体が製造される。
【００２７】
以上が、半導体露光システムについての全体構成の説明である。なお、管理装置１０、半導体露光装置２０各々は、コンピュータを含んで構成される。コンピュータには、例えば、ＣＰＵ等の主制御手段、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等の記憶手段が具備される。また、コンピュータには、ネットワークカード等の通信手段、キーボード、ディスプレイ又はタッチパネル等の入出力手段等、が具備されていてもよい。なお、これら各構成手段は、バス等により接続され、主制御手段が記憶手段に記憶されたプログラムを実行することで制御される。
【００２８】
次に、図２を用いて、図１に示す管理装置１０における機能的な構成の一例について説明する。
【００２９】
管理装置１０は、メモリ解放忘れ検出部１１と、状態遷移情報生成部１２と、実行可能工程探索部１３と、生産工程決定部１４と、生産工程制御部１５とを具備して構成される。
【００３０】
メモリ解放忘れ検出部１１は、半導体露光装置２０内のメモリ領域において、解放されず確保されたままとなっているメモリ領域（メモリ解放忘れ領域）があるか否かとともに、そのようなメモリ領域があれば、その容量を検出する。すなわち、メモリ解放忘れの存在とその容量との検出を行なう。この検出は、露光ジョブ毎に行なわれ、露光ジョブの実行が完了するたびに、検出動作がなされる。メモリ解放忘れ検出部１１により検出されたメモリ解放忘れ容量は、メモリ解放忘れ情報１０３として保持される。なお、露光ジョブ単位にメモリ解放忘れの存在やその容量を検索する方法についての説明は、ここでは省略する。例えば、特許文献５に記載された技術を用いればよい。
【００３１】
状態遷移情報生成部１２は、生産計画情報１０１に基づいて生産工程の遷移を示す生産工程状態遷移情報１１３を生成する。この生産工程状態遷移情報１１３の生成は、生産計画情報１０１が変更されるたびに行なわれる。なお、生産工程状態遷移情報１１３を生成する手法に関しては、従来多くの公知技術が存在するため、ここではその説明については省略する。例えば、特許文献４に記載された技術を用いればよい。
【００３２】
実行可能工程探索部１３は、半導体露光装置２０における残メモリ容量で実行可能な生産工程１１４を１又は複数探索する。この探索は、実行パラメータ情報１０２、メモリ解放忘れ情報１０３及び生産工程状態遷移情報１１３から得られる情報に基づいて行なわれる。なお、本実施形態における実行可能工程探索部１３は、ＢＤＤ（Binary Decision Diagrm）の探索アルゴリズムを用いて実行可能な生産工程の探索を行なう。ＢＤＤの探索アルゴリズムとしては、例えば、非特許文献１に記載されたアルゴリズムを用いればよいが、必ずしもこの探索アルゴリズムを使う必要はなく、これ以外の公知の技術を用いて実行可能な生産工程を探索するようにしても勿論かまわない。
【００３３】
生産工程決定部１４は、半導体露光装置２０における残メモリ容量に基づいて半導体露光装置２０において次に実行する生産工程を決定する。この次に実行する生産工程は、実行可能工程探索部１３による探索結果（実行可能な生産工程１１４）、生産計画情報１０１のいずれかに従って決定される。
【００３４】
生産工程制御部１５は、生産工程決定部１４により決定された生産工程１１５に応じて制御コマンド１１６を生成し、それを半導体露光装置２０に向けて出力する。なお、制御コマンド１１６は、露光装置制御コマンドの生成アルゴリズムに依存したものではない。例えば、生産工程１１５を有限状態機械（Finit State Machine:FSM）で表し、このＦＳＭを動作させて、ステージ毎、当該ステージで定めた動作を実施する制御コマンドを出力してもよい。
【００３５】
図３は、図１及び図２に示す生産計画情報１０１の一例を示す図である。
【００３６】
生産計画情報１０１では、ジョブ名２０１に対応して、ジョブ種２０２と、前ジョブ２０３と、レシピＩＤ２０４と、露光モード２０５と、レチクルデータ２０６と、配置２０７と、パラメータ２０８とが保持される。
【００３７】
ジョブ名２０１には、露光ジョブの名称が示される。ジョブ種２０２は、露光工程の種類が示される。前ジョブ２０３は、一つ前の露光ジョブ、すなわち、工程が示される。なお、ジョブ各々は、前ジョブに示された露光ジョブが完了しないと、開始されない、
レシピＩＤ２０４には、露光処理に使用するレシピの識別子が示される。レシピには、露光処理の手順や生産するロット数が定められている。レシピは、例えば、半導体露光装置２０のオペレータにより作成される。
【００３８】
露光モード２０５には、半導体露光装置の動作モードが定義されている。単一の動作モードしか持たない半導体露光装置であれば、露光モード２０５の項目は設けなくともよい。レチクルデータ２０６には、露光処理に使用するレチクルの識別子が示される。配置２０７は、露光領域におけるウェハ上の配置が定められている。パラメータ値２０８には、ジョブ名２０１が示す露光ジョブが取る引数の値が示されている。
【００３９】
以上が、生産計画情報１０１の一例についての説明であるが、生産計画情報１０１の形式や項目は、これに限定されない。例えば、露光ジョブの動作を一意に定義するのに必要な項目があれば、その項目を任意に含まれてもよい。なお、生産計画情報１０１は、半導体露光装置の使用者各々の生産技術に基づいて作成されるため、半導体露光装置の使用者ごとに異なることが多い。
【００４０】
図４は、図１及び図２に示す実行パラメータ情報１０２の一例を示す図である。
【００４１】
実行パラメータ情報１０２では、ジョブＩＤ２１１に対応して、ジョブ名２０１と、完了時刻２０９と、メモリ使用量２１２と、パラメータ２０８とが保持される。なお、図３で説明した生産計画情報１０１における項目と同じ項目については同一の符号が付してある。
【００４２】
ジョブＩＤ２１１には、ジョブの識別子が示される。完了時刻２０９、ジョブの完了時刻が示される。メモリ使用量２１２には、ジョブが実行時に使用するメモリ容量の最大値が示される
以上が、実行パラメータ情報１０２の一例についての説明であるが、実行パラメータ情報１０２の形式や項目は、これに限定されない。例えば、ジョブＩＤ２１１、ジョブ名２０３、メモリ使用量２１２、実行パラメータ値２０８各々との対応が取れるのであれば、実行パラメータ情報１０２の形式や項目は任意でよい。実行パラメータ情報１０２には、露光ジョブの実行が完了するたびに、新しい情報が蓄積されることになるが、情報の蓄積にはどのような手法を用いてもよい。例えば、一般的なデータベースを用いて実現してもよい。なお、データベースは、市販ソフトウェアを数多く存在しており、これは公知の技術である。
【００４３】
図５は、図２に示すメモリ解放忘れ情報１０３の一例を示す図である。
【００４４】
メモリ解放忘れ情報１０３では、ジョブ毎に、解放忘れメモリ容量とジョブの属性とが保持される。具体的には、ジョブＩＤ２１１に対応して、ジョブ名２０１と、完了時刻２０９と、解放忘れメモリ容量２１３と、パラメータ２０８とが保持される。なお、図３で説明した生産計画情報１０１、図４で説明した実行パラメータ情報１０２における項目と同じ項目については同一の符号が付してある。
【００４５】
解放忘れメモリ容量２１３には、そのジョブにおいて、解放されずそのまま確保されたままとなっているメモリ容量が示されている。メモリ解放忘れがない場合には、解放忘れメモリ容量２１３の値は０になる。この図５に示すメモリ解放忘れ情報１０３では、露光ジョブの属性として、ジョブ名２０１、露光ジョブの実行完了時刻２０９、パラメータ２０８とが保持される。
【００４６】
以上が、メモリ解放忘れ情報１０３の一例についての説明であるが、メモリ解放忘れ情報１０３の形式や項目は、これに限定されない。例えば、ジョブＩＤ２１１、解放忘れメモリ容量２１３各々との対応が取れるのであれば、メモリ解放忘れ情報１０３の形式や項目は任意でよい。
【００４７】
図６は、図２に示す生産工程状態遷移情報１１３の概要の一例を示す図である。なお、図６には、図３で説明した生産計画情報１０１に基づいて生成した生産工程状態遷移情報１１３の一部を抜粋したものが示される。
【００４８】
生産工程状態遷移情報１１３では、各節が露光ジョブを示しており、矢印の先の節が次に実行する露光ジョブを示している。例えば、ジョブＡ１の次には、ジョブＡ２、ジョブＢ１のいずれかが実行され、仮に、ジョブＡ２が実行された場合には、ジョブＡ３、ジョブＢ１のいずれかが実行される。また更に、ジョブＡ３が実行された場合には、ジョブＢ１、ジョブＢ２が順番に実行されることになる。
【００４９】
なお、図６では、生産工程状態遷移情報１１３が、ＢＤＤ形式により示されているが、これに限られない。このような生産工程状態遷移図として示す必要はなく、生産工程の状態遷移を一意に定義できるのであれば、どのような形式を用いてもよい。
【００５０】
次に、図７を用いて、図１に示す半導体露光システムにおける動作の一例について説明する。なお、ここでは、半導体露光装置２０においては、管理装置１０からの制御に基づき露光ジョブを実行している状態であるものとして説明する。また、生産工程状態遷移情報１１３が既に生成されているものとして説明する。
【００５１】
管理装置１０は、半導体露光装置２０により実行されている露光ジョブの完了待ち状態にある（ステップＳ１０１でＮＯ）。半導体露光装置２０における露光ジョブが完了すると（ステップＳ１０１でＹＥＳ）、管理装置１０は、メモリ解放忘れ検出部１１において、当該完了したジョブにより解放が忘れられたメモリ領域と、その容量とを検出する（ステップＳ１０２）。
【００５２】
この検出が済むと、管理装置１０は、実行可能工程探索部１３において実行可能な生産工程を探索する（ステップＳ１０３）。この探索処理の詳細については後述するが、半導体露光装置２０の残メモリ容量を加味して実行可能な工程が探索される。
【００５３】
この探索が済むと、管理装置１０は、生産工程決定部１４において、半導体露光装置２０で次に実行する生産工程を決定する（ステップＳ１０４）。この決定処理の詳細については後述するが、ステップＳ１０３における探索結果、生産計画情報１０１のいずれかに従って決定される。
【００５４】
次に実行する生産工程が決定すると、管理装置１０は、生産工程制御部１５において、当該決定した生産工程の実行を指示する制御コマンドを生成し、それを半導体露光装置２０に向けて送信する（ステップＳ１０５）。その後、管理装置１０は、再度、ステップＳ１０１の処理に戻り、当該実行を指示した露光ジョブが完了するまで待機する。
【００５５】
ここで、ステップＳ１０３における実行可能な生産工程を探索する際の処理の一例について説明する。この処理は、上述した通り、実行可能工程探索部１３により実施される。
【００５６】
まず始めに、管理装置１０は、動作中のソフトウェアが使用するメモリ容量を総計した値の上限（ＭＡＸ＿ＭＥＭ）と、探索距離Ｄとを、例えば、ＲＯＭ等に予め保持している。ＭＡＸ＿ＭＥＭは、ソフトウェアの実行性能が低下したり、ソフトウェアの動作が不安定になったり、また、ソフトウェアの実行が停止したりしない値に設定される。このＭＡＸ＿ＭＥＭは、半導体露光装置２０が持つメモリ容量とオペレーティングシステム（ＯＳ）との仕様に依存する。実行可能工程探索部１３は、生産工程状態遷移情報１１３において、現在実行中の露光ジョブ節から距離Ｄ以内で遷移可能な節を探索範囲として探索を行なう。実行可能工程探索部１３は、探索範囲内で以下の「式１」を満たす節を探索する。
【００５７】
ＣＬＥＡＫ  ＋  ＡＬＥＡＫ  ＋  ＵＭＥＭ  ＜  ＭＡＸ＿ＭＥＭ・・・（式１）
ＣＬＥＡＫ  ：  現在の解放忘れメモリ量の総計
ＵＭＥＭ    ：  探索対象節の露光ジョブが使用するメモリ量
ＬＭＥＭ    ：  探索対象節の露光ジョブで発生する解放忘れメモリの容量
ＡＬＥＡＫ  ：  現在実行中の露光ジョブ節から探索対象節に至る経路上で発生する解放忘れメモリ容量を累計した値。但し、探索対象節で発生するＬＭＥＭは含まない。
【００５８】
なお、ＣＬＥＡＫに保持されるメモリ解放忘れの総計は、メモリ解放忘れ検出部１１による検出結果に基づいた値となる。
【００５９】
ここで、図８を用いて、メモリ使用量（ＵＭＥＭ）と解放忘れメモリ容量（ＬＭＥＭ）とを求める手順の一例について説明する。ここで、ＤＥＦ＿ＵＭＥＭは、ＵＭＥＭの規定値であり、ＤＥＦ＿ＬＭＥＭは、ＬＭＥＭの規定値である。なお、ＤＥＦ＿ＵＭＥＭとＤＥＦ＿ＬＭＥＭは予め定義しておく。ｌｏｏｋｕｐ関数は以下の機能を持つ関数とする。
・書式  ｌｏｏｋｕｐ（ｋｅｙ１，ｋｅｙ２，探索対象，選択項目）
・機能  探索対象から、ｋｅｙ１とｋｅｙ２の双方に一致するレコードを検索し、ｋｅｙ１とｋｅｙ２の双方に一致するレコードが存在すれば、選択項目の値を返す。一方、ｋｅｙ１とｋｅｙ２の双方に一致するレコードが存在しなければ、ＮＵＬＬを返す。
【００６０】
ここで、まず、探索対象節の露光ジョブ名２０１を変数ＪＯＢに、パラメータ値２０８を変数ＰＲＭに設定する（ステップＳ２０１）。そして、ｌｏｏｋｕｐ関数を実行し、実行パラメータ情報１０２を検索するとともに、メモリ使用量（ＵＭＥＭ）を求める（ステップＳ２０２）。また、ｌｏｏｋｕｐ関数を実行し、メモリ解放忘れ情報１０３を検索するとともに、解放忘れメモリ容量（ＬＭＥＭ）を求める（ステップＳ２０３）。
【００６１】
この結果、ＵＭＥＭがＮＵＬＬであれば、ＵＭＥＭの値はＤＥＦ＿ＵＭＥＭとし、同様にＬＥＭＥがＮＵＬＬであれば、ＬＭＥＭの値はＤＥＦ＿ＬＭＥＭとする（ステップＳ２０４）。
【００６２】
次に、「式１」で使用する変数ＡＬＥＡＫについて説明する。
【００６３】
ＡＬＥＡＫは、解放忘れメモリ容量を累計した値である。具体的には、現在実行中の露光ジョブ節から探索対象節に至る経路上で発生する解放忘れメモリ容量の累計値である。したがって、この値は、露光ジョブの実行に従って増加する。ＡＬＥＡＫは、次の探索対象節に遷移するとき、「式２」でＬＥＭの値を累計して求める。
【００６４】
ＡＬＥＡＫ  ＝  ＡＬＥＡＫ  ＋  ＬＭＥＭ・・・（式２）
「式１」を満たす節の露光ジョブは、今後増加する解放忘れメモリ容量（ＡＬＥＡＫ）を考慮しても、不具合を起こさず実行できる。したがって、現在実行中の露光ジョブの節から上記条件を満たす節への遷移が、実行可能な生産工程１１４として求められる。
【００６５】
ここで、図９を用いて、上述した実行可能工程探索部１３における処理の具体例について説明する。ここでは、現在実行中のジョブＩＤ２１１を０１１、ＭＡＸ＿ＭＥＭ＝＝２０４８、Ｄ＝＝３、ＣＬＥＡＫ＝＝０とする。また、図９において、各節の上或いは下に添えられた数字は、ＡＬＥＡＫの値を示しており、破線の範囲が「式１」を満たす範囲を示している。
【００６６】
節３０１は、ＣＬＥＡＫ＝＝０、ＡＬＥＡＫ＝＝５１２である。また、図４に示す実行パラメータ情報１０２から露光ジョブＡ３のメモリ使用量は１２００である。従って「式１」は、
０＋５１２＋１２００＝１７１２＜２０４８
となり、「式１」の条件を満たす。従って、節３０１は実行可能な露光ジョブであると言える。
【００６７】
節３０２においても同様に、
０＋１０２４＋７６８＝１７９２＜２０４８
となり、「式１」の条件を満たす。従って、節３０２は実行可能な露光ジョブであると言える。
【００６８】
一方、節３０３においては、
０＋１０２４＋１２００＝２２２４＞２０４８
となり、「式１」の条件を満たさない。従って、節３０３は現時点で実行不可能な露光ジョブであると言える。
【００６９】
ここで、ステップＳ１０４における生産工程を決定する際の処理の一例について説明する。この処理は、上述した通り、生産工程決定部１４により実施される。
【００７０】
生産工程決定部１４においては、生産計画情報１０１と実行可能な生産工程１１４とのいずれかに従って、実行する生産工程を決定し、当該決定した生産工程１１５を生産工程制御部１５に出力する。
【００７１】
生産工程決定部１４には、メモリ解放忘れ量の閾値ＬＴが予め定められている。
【００７２】
ｉｆ（ＣＬＥＡＫ  ＜  ＬＴ）  ｛
生産計画情報１０１で定義された生産工程を選択
｝ｅｌｓｅ｛
実行可能な生産工程１１４から最も多くの生産量を見込める生産工程を選択
｝
この場合、ＣＬＥＡＫが閾値ＬＴを越えていなければ、生産計画情報１０１に定義された生産工程から次に実行する生産工程を選択する。一方、ＣＬＥＡＫが閾値ＬＴを越えていれば、実行可能工程探索部１３により探索された実行可能な生産工程１１４の中から生産量の高い生産工程を選択する。すなわち、メモリ解放忘れ量（ＣＬＥＡＫ）が閾値ＬＴより大きくならない限り、元々定義されている生産計画情報１０１に従って生産工程を進めることになる。なお、最も多くの生産量を見込める生産工程とは、例えば、各露光ジョブの生産量、レシピＩＤ２０４が示すレシピに定義してある生産ロット数が多い、生産工程を指す。
【００７３】
以上説明したように本実施形態によれば、メモリ解放忘れと生産計画情報とに基づいて解放を忘れているメモリ容量が重大な影響を与える前に生産計画を動的に変更する。これにより、メモリ解放忘れに起因して、中間製品の破棄や装置の再起動を行なう必要がなくなる。従って、生産原価の低減を図ることができる。また、生産原価の低減により、価格競争力のある製品を市場が欲するときに投入できることになる。
【００７４】
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【００７５】
例えば、上述した説明では、場合によっては、生産計画情報に従って次に実行する生産工程を選んでいたが、必ずしもこのように構成する必要はない。例えば、図１０に示すような構成を採り、生産工程決定部１４において常に、実行可能工程探索部１３により探索された実行可能な生産工程の中から次に実行する生産工程を選択するようにしてもよい。この場合、生産工程決定部１４では、実行可能な生産工程１１４の中から、最も多くの生産量を見込める生産工程を選択する。
【００７６】
また、上述した説明では、管理装置１０と半導体露光装置２０とが別々の装置である場合を例に挙げて説明したが、このような構成に限られない。例えば、管理装置１０が半導体露光装置２０に内蔵されて実現されてもよい。
【００７７】
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００７８】
また、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置に内蔵されたコンピュータが該供給されたプログラムコードを読み出して実行することにより実施形態の機能が達成される場合をも含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００７９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳ（Operating System）に供給するスクリプトデータ等の形態であってもよい。
【００８０】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記録媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００８１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００８３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部又は全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００８４】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ（Central Processing Unit）などが実際の処理の一部又は全部を行なう。
【図面の簡単な説明】
【００８５】
【図１】本実施形態に係わる半導体露光システムの全体構成の一例を示す図である。
【図２】図１に示す管理装置１０における機能的な構成の一例を示す図である。
【図３】図１及び図２に示す生産計画情報１０１の一例を示す図である。
【図４】図１及び図２に示す実行パラメータ情報１０２の一例を示す図である。
【図５】図２に示すメモリ解放忘れ情報１０３の一例を示す図である。
【図６】図２に示す生産工程状態遷移情報１１３の概要の一例を示す図である。
【図７】図１に示す半導体露光システムにおける動作の一例を示すフローチャートである。
【図８】図７に示すステップＳ１０３における実行可能な生産工程を探索する際の処理の一例を示すフローチャートである。
【図９】図７に示す処理の具体例を説明するための図である。
【図１０】変形例に係わる管理装置１０における機能的な構成の一例を示す図である。
【符号の説明】
【００８６】
１０    管理装置
２０    半導体露光装置
１１    メモリ解放忘れ検出部
１２    状態遷移情報生成部
１３    実行可能工程探索部
１４    生産工程決定部
１５    生産工程制御部
１０１    生産計画情報
１０２    実行パラメータ情報
１０３    メモリ解放忘れ情報
【図１】
2010039557.tif 000003
【図２】
2010039557.tif 000004
【図３】
2010039557.tif 000005
【図４】
2010039557.tif 000006
【図５】
2010039557.tif 000007
【図６】
2010039557.tif 000008
【図７】
2010039557.tif 000009
【図８】
2010039557.tif 000010
【図９】
2010039557.tif 000011
【図１０】
2010039557.tif 000012