以下、本発明を実施するための好適な実施の形態(以下、実施形態という)を、例としてVPD一体型全反射蛍光X線分析装置を用いて説明する。図1は本発明に係る蛍光X線分析システム100を概略的に示す図である。
蛍光X線分析システム100は、試料保管装置102と、搬送装置104と、蛍光X線分析装置106と、を有する。蛍光X線分析装置106は、ロードロック部108と、アライナー部110と、VPD(Vapor Phase Decomposition)部112と、測定部114と、シャッター116と、情報処理部118と、表示部120と、を有する。
試料保管装置102は、測定対象となる試料128を保管する。具体的には、例えば、試料保管装置102は、キャリアが配置される。キャリアは、例えば、1ロット分の試料128を格納する収納具であって、試料保管装置102の内部に配置される。キャリアは、例えば、1ロットで25個のSi基板等の試料128が配置される。試料保管装置102は、例えば2ロット分のキャリアを格納する。
搬送装置104は、測定対象となる試料128を搬送する。具体的には、例えば、搬送装置104は、高さを変化できる台座部と、台座部を移動させるレール部と、試料128を載置するハンド部と、伸縮する伸縮部と、を有する。搬送装置104は、台座部と、レール部と、伸縮部が動作することにより、試料128を試料保管装置102と、蛍光X線分析装置106と、の間で搬送する。
なお、搬送装置104は、さらに蛍光X線分析装置106の内部に配置されてもよい。蛍光X線分析装置106の内部に配置された搬送装置104は、試料128をロードロック部108と、アライナー部110と、VPD部112と、測定部114との間で搬送する。
ロードロック部108は、試料128の置かれる環境を真空から大気圧または大気圧から真空に変化させる。具体的には、例えば、試料128は、アライナー部110またはVPD部112からロードロック部108を経由して測定部114に搬送される。ロードロック部108は、真空ポンプ(図示なし)によりロードロック部108の内部から空気を排出し、試料128を真空環境に置く。また、ロードロック部108は、試料128をロードロック部108から試料保管装置102に搬送する前に、ロードロック部108の内部に空気をいれることにより、試料128を大気圧環境に置く。
アライナー部110は、試料128の位置合わせを行う。具体的には、アライナー部110は、VPD処理における液滴の回収位置がずれないようにするために、アライナー部110の台座と試料128との位置関係をあわせる。
VPD部112は、試料128に含まれる被測定物を回収する装置である。具体的には、例えば、試料128が、被測定物である不純物及び当該不純物が表面に付着した基板である場合について説明する。
まず、VPD部112は、基板の表面に付着した不純物等を溶解する気体に曝して、不純物等を溶解する。次に、VPD部112は、ノズルから基板に液滴を滴下するとともに、滴下された液滴を基板面上で移動させて、被測定物を液滴中に取り込む。次に、VPD部112は、液滴に被測定物を回収した後、基板の予め設定した位置で液滴をノズルから離す。これにより、被測定物が取り込まれた液滴が基板上の所定の位置に残される。被測定物の回収は、基板表面の全面に対してだけでなく、基板表面の指定する部分やベベル部(基板のエッジ部)に対して行うこともできる。次に、VPD部112は、液滴を乾燥させ、被測定物を基板の表面上に保持させる。
これにより、基板表面に付着した被測定物を1か所に集められる。VPD処理により、被測定物が微量であったとしても蛍光X線分析を行うことが可能になる。なお、VPD部112は、気相分解を行う気相分解部や、液滴を回収する液滴回収部を有するが、図1では簡略化して記載している。
測定部114は、試料128の表面に1次X線を全反射臨界角以下の微小角度で照射することによって発生した蛍光X線により試料128の分析を行う。具体的には、測定部114は、X線源122と、試料台124と、検出器126と、を有する。
X線源122は、蛍光X線を発生させる1次X線を、試料128の表面に照射する。試料台124は、測定対象となる試料128が配置される。試料台124は、試料128の位置合わせを行う。検出器126は、Si(Li)またはSDD等の検出器である。検出器126は、試料128の上(図面上手前側)に配置される。例えば、検出器126は、蛍光X線の強度を測定し、測定した蛍光X線のエネルギーに応じた波高値を有するパルス信号を出力する。また、検出器126の出力は、マルチチャンネルアナライザ等の計数器(図示なし)によって、波高値に応じて計数される。さらに、分析部(図示なし)は、計数器の計数結果から、検量線法やFP(ファンダメンタルパラメータ)法により、試料128に含まれる元素を定量分析する。
シャッター116は、各部の境界に配置される。具体的には、シャッター116は、ロードロック部108の搬送装置104に向かう面と、VPD部112の搬送装置104に向かう面と、ロードロック部108と測定部114の境界と、に配置される。シャッター116は、試料128を各部間で搬送するタイミングで開けられる。これにより、測定部114が真空状態に保たれる。また、VPD部112内部の気体が、アライナー部110やロードロック部108に流入することが防止される。
情報処理部118は、蛍光X線分析装置106の各部の動作を制御する。具体的には、例えば、情報処理部118は、PC(Personal Computer)であって、測定部114の動作やシャッター116の開閉等を制御する。
図2は、情報処理部118の機能的な構成を示すブロック図である。情報処理部118は、ジョブ実行部202と、記憶部204と、算出部206と、制御部208と、を含む。
ジョブ実行部202は、ジョブを実行する。具体的には、ジョブ実行部202は、分析に要する動作を複数組み合わせて構成された測定条件を表すレシピと、該レシピが表す測定条件で測定される試料128と、が関連付けられた処理条件を表すジョブを実行する。
ジョブは、キャリア内の測定対象に指定された1つまたは複数の試料128と、各試料128の測定条件を表すレシピと、を関連付けた一連の処理の実行条件である。ジョブは、記憶部204に1または複数記憶される。レシピは、例えば図4に示すようなVPD処理やX線測定の測定条件である。
記憶部204は、各動作に要する時間を該各動作と関連付けて予め記憶する。具体的には、記憶部204は、例えば、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、ハードディスクドライブ、又はソリッドステートドライブ)である。また、記憶部204は、プログラムや後述する各種テーブルを記憶する。
図3は、記憶部204に記憶される動作テーブルの一例を示す図である。図3に示すように、動作テーブルは、動作IDフィールド、動作フィールド、パラメータフィールド、処理時間フィールドを含む。なお、処理時間フィールドは、少なくとも処理時間1フィールドを含み、蛍光X線分析装置106の状態に応じて、処理時間2フィールド乃至処理時間nフィールドを含む。
動作IDフィールドは、各動作を一意に識別する情報を示す。例えば、図3に示すように、搬送1に対応する動作IDは「0」であり、VPD処理1に対応する動作IDは「9」である。
動作フィールドは、蛍光X線分析システム100が実行する動作の上位カテゴリを示す。具体的には、図3の搬送1乃至搬送8は、試料保管装置102、ロードロック部108、アライナー部110、VPD部112及び測定部114の間で、試料128を搬送する動作であることを示す。搬送9は、測定点間で試料128を移動させる動作であることを示す。VPD処理1乃至VPD処理4は、試料128を気体に曝して溶解し回収する動作であることを示す。測定1乃至測定5は、試料128に含まれる元素を分析するために測定部114が実行する各動作であることを示す。
パラメータフィールドは、蛍光X線分析システム100が実行する動作の下位カテゴリを示す。具体的には、図3に示すように、「搬送1」と関連づけられたパラメータフィールドは、「試料保管装置102からアライナー部110」である。同様に、「搬送2」と関連づけられたパラメータフィールドは、「アライナー部110からロードロック部108」である。「搬送3」と関連づけられたパラメータフィールドは、「アライナー部110からVPD部112」である。「搬送4」と関連づけられたパラメータフィールドは、「VPD部112からロードロック部108」である。「搬送5」と関連づけられたパラメータフィールドは、「VPD部112から測定部114」である。「搬送6」と関連づけられたパラメータフィールドは、「ロードロック部108から測定部114」である。「搬送7」と関連づけられたパラメータフィールドは、「ロードロック部108から試料保管装置102」である。「搬送8」と関連づけられたパラメータフィールドは、「測定部114からロードロック部108」である。「搬送9」と関連づけられたパラメータフィールドは、「測定点間」である。
ここで、「搬送1」乃至「搬送8」と関連付けられた各パラメータは、搬送時の起点と終点を示す。また、「搬送9」と関連付けられたパラメータは、1個の試料128に対する測定位置が複数である場合に、ある測定点から他の測定点への搬送であることを示す。
「VPD処理1」と関連付けられたパラメータフィールドは、試料128を溶解する気体に曝して溶解する気相分解処理である。「VPD処理2」と関連付けられたパラメータフィールドは、ノズルから基板に液滴を滴下するとともに、滴下された液滴を基板面上で移動させて、被測定物を液滴中に取り込む走査回収処理である。「VPD処理3」と関連付けられたパラメータフィールドは、液滴を乾燥させ、試料128を基板の表面上に保持させる乾燥処理である。「VPD処理4」と関連付けられたパラメータフィールドは、試料128を回収したノズルを洗浄する処理である。
「測定1」と関連付けられたパラメータフィールドは、試料128の指定された位置において行われるX線測定である。「測定2」と関連付けられたパラメータフィールドは、X線源122の電源をONにする処理である。「測定3」と関連付けられたパラメータフィールドは、X線源122の電源をONにした後に行う段階的に最大(設定)パワーにするエージング処理(ランプアップ)である。「測定4」と関連付けられたパラメータフィールドは、X線源122の電源をOFFにする処理である。「測定5」と関連付けられたパラメータフィールドは、X線源122の電源を段階的に最小パワーにする処理(ランプダウン)である。
動作フィールドとパラメータフィールドを併せた情報が、各動作IDと関連付けられた動作の内容を表す情報である。なお、記憶部204は、動作フィールドとパラメータフィールドを1つのフィールドとして記憶してもよい。
処理時間フィールドは、各動作に要する時間である処理時間を示す。具体的には、処理時間1フィールドは、各動作と関連付けて予め記憶された時間を示す。例えば、「0」という動作IDに対して、設計値として「25」という処理時間が予め関連付けられる。これは、試料保管装置102からアライナー部110への搬送に要する時間として、25秒という値が予め設定されていることを示す。また、予め設定する時間は、テスト運転時の実績値であってもよい。
また、処理時間2フィールド乃至処理時間nフィールドは、動作が行われた場合に、該動作に要した時間の実績値を示す。例えば、「0」という動作IDと対応する試料保管装置102からアライナー部110への搬送動作が実行された場合に、23秒要したとする。この場合、「0」という動作IDに関連付けて、「23」という値が処理時間2フィールドに記憶される。
なお、処理時間2フィールド乃至処理時間nフィールドに記憶される時間は、動作に付随して行う処理に必要な時間を含んだ時間である。例えば、搬送動作に付随して、シャッター116の開閉や、真空引き等の処理が行われる場合がある。この場合、処理時間フィールドには、当該処理に要した時間を含んだ動作処理時間が記憶される。特に、真空引き時間は、真空配管やその取り回しなどにより、蛍光X線分析システム100作製時に初期設定された時と、蛍光X線分析システム100が実際の使用場所に設置された時で大きく異なることがある。また、真空引き時間は、経年変化やメンテナンスの前後でも大きく異なることがある。
処理時間フィールドは、蛍光X線分析システム100が動作テーブルの各動作を実行する毎に追加されてもよい。また、処理時間フィールドは、蛍光X線分析システム100が動作テーブルの各動作を複数回実行する毎に追加されてもよい。処理時間フィールドは必要に応じて増加させてもよい。また、処理時間フィールドが所定の数に達した場合に、当該数よりも増加しないようにしてもよい。この場合、処理時間フィールドが所定の数に達した後は、古い処理時間フィールドから順に実績値が上書して記憶される。
また、X線測定という動作と関連付けられた動作IDは、複数であってもよい。具体的には、後述するレシピが複数作成された場合、各レシピが表す測定条件によって、X線測定という動作の実行に要する時間は異なる。従って、レシピがn個作成された場合、パラメータフィールドに、「X線測定1」、「X線測定2」(中略)「X線測定n」という値が設定されてもよい。当該各パラメータフィールドと関連付けられた処理時間フィールドには、それぞれ対応するレシピが表す測定条件に応じた時間が設定される。
記憶部204は、さらに、レシピが表す測定条件に含まれる一連の動作の実行に要する時間を該レシピと関連付けて記憶する。具体的には、例えば、記憶部204は、図4に示すレシピテーブルを記憶する。
図4は、記憶部204に記憶されるレシピテーブルの一例を示す図である。各レシピテーブルは、固有のレシピID及び後述するレシピ処理時間と関連付けて記憶される。また、レシピテーブルは、動作IDフィールド及び複数のレシピパラメータフィールドを含む。動作IDフィールド及び複数のレシピパラメータフィールドに設定される各値は、後述するレシピ作成画面700にて、ユーザが各値を入力することによって設定される。
ここで、レシピが表す測定条件は、X線測定に要する各動作を含むが、試料128を搬送する動作を含まない。また、VPD処理を行う旨が指定された場合には、レシピが表す測定条件は、VPD処理の各動作とX線測定に関する各動作とを含む。
また、測定動作は、試料128にX線を照射して発生した蛍光X線の強度を測定する動作だけでなく、中心強度補正測定動作を含んでもよい。なお、中心強度補正測定動作は、各測定点におけるウェーハ表面の傾きをステージの角度によって調整し、基板からの蛍光X線強度を基準とする強度に合わせる動作である。中心強度補正測定動作により、試料128の表面に撓み等がある場合であっても、その影響を補正することができる。
動作IDフィールドは、ユーザに設定される測定条件を含む動作と関連付けられた動作IDを示す。具体的には、気相分解に関する動作は、気相分解処理、走査回収処理、乾燥処理、ノズル洗浄処理等を含む。従って、動作IDフィールドは、当該動作と関連付けられた「9」乃至「12」という動作IDが設定される。
また、X線測定という動作を実行するためには、X線管電圧やX線管電流等の条件を設定する必要がある。従って、動作IDフィールドは、当該動作と関連付けられた「13」という動作IDが設定される。なお、レシピテーブルの動作IDフィールドには、上記以外の動作IDが設定されてもよい。
レシピパラメータフィールドは、各動作に関してユーザに設定された情報である。具体的には、例えば、ユーザが気相分解処理時間を「100」秒に設定した場合、「9」という動作IDと関連付けて、「100」という値がレシピパラメータ1フィールドに設定される。ユーザがVPD処理で走査回収を行う範囲を全体と設定した場合、「10」という動作IDと関連付けて、「全体」という値がレシピパラメータ1フィールドに設定される。ユーザが乾燥処理時間を「100」秒に設定した場合、「11」という動作IDと関連付けて、「100」という値がレシピパラメータ1フィールドに設定される。ユーザがノズル洗浄理時間を「100」秒に設定した場合、「12」という動作IDと関連付けて、「100」という値がレシピパラメータ1フィールドに設定される。
また、動作IDフィールドに設定された1つの動作IDは、複数のレシピパラメータフィールドと関連付けられてもよい。さらに、レシピテーブルは、レシピパラメータ1フィールド乃至レシピパラメータnフィールドを含んでもよい。具体的には、例えば、図4に示すように、「13(X線測定)」という動作IDに対して、レシピパラメータ1フィールドの「X線管電圧(kV)」及び「X線管電流(mA)」という値が関連付けられてもよい。
ここで、例えば、ユーザがX線管電圧を「100」kVに設定した場合、「X線管電圧(kV)」というレシピパラメータ1フィールドと関連付けて、「100」という値がレシピパラメータ2フィールドに設定される。また、ユーザがX線管電流を「100」mAに設定した場合、「X線管電流(mA)」というレシピパラメータ1フィールドと関連付けて、「100」という値がレシピパラメータ2フィールドに設定される。
同様に、例えば、「13(X線測定)」という動作IDに対して、レシピパラメータ1フィールドの「励起線(分光素子選択)」、「X線照射角度(deg)」、「カウント時間」及び「測定座標」という値が関連付けられてもよい。
具体的には、例えば、測定部114がn個の分光素子を備え、各分光素子に対して「1」乃至「n」という値が関連付けられているとする。ユーザが「1」と関連付けられた分光素子を選択した場合、「励起線(分光素子選択)」というレシピパラメータ1フィールドと関連付けて、「1」という値がレシピパラメータ2フィールドに設定される。
また、ユーザがX線の照射角度を「0.5」度に設定した場合、「X線照射角度(deg)」というレシピパラメータ1フィールドと関連付けて、「0.5」という値がレシピパラメータ2フィールドに設定される。ユーザがカウント時間を「100」秒に設定した場合、「カウント時間」というレシピパラメータ1フィールドと関連付けて、「100」という値がレシピパラメータ2フィールドに設定される。ここで、カウント時間は、検出器126が検出した蛍光X線の数をカウントする時間である。
ユーザが試料上のxy座標系の測定位置を「0,0」に設定した場合、「測定座標」というレシピパラメータ1フィールドと関連付けて、「0,0」という値がレシピパラメータ2フィールドに設定される。なお、基板の中心が(xy座標系でx座標及びy座標が「0」であるとする)「0,0」というレシピパラメータ2に対応するものとする。また、ユーザが複数の測定座標を設定した場合、「測定座標」というレシピパラメータ1フィールドと関連付けて、設定された座標を示す値がレシピパラメータ3フィールド以降に設定される。
レシピ処理時間は、ユーザに設定されたレシピパラメータフィールドの値に基づいて、算出部206によって算出される。具体的には、算出部206は、レシピテーブルに含まれる各測定条件と、動作テーブルに含まれる各処理時間と、に基づいて、当該レシピが表す測定条件を実行するために要する時間を算出する。なお、図4にはレシピ処理時間は1個だけ記載しているが、複数であってもよい。後述するように、レシピ処理時間は、ジョブが実行されると追加される。
記憶部204は、さらに、各ジョブを管理するためのジョブ管理テーブルを記憶する。図5は、記憶部204に記憶されるジョブ管理テーブルの一例を示す図である。図5に示すように、各ジョブ管理テーブルは、固有のジョブID及び後述するジョブ処理時間と関連付けて記憶される。ジョブIDは、各ジョブを一意に識別する情報を示す。また、ジョブ管理テーブルは、スロットフィールドと、動作ID/レシピIDフィールドと、処理時間フィールドと、を含む。
スロットフィールドは、測定対象である試料128が配置されたスロットの番号を示す。具体的には、例えば、試料保管装置102の内部に配置されたキャリアが25個のスロットを有する場合について説明する。ユーザがスロット1乃至25に配置された試料128を順に交換しながら測定する旨を指定した場合、スロットフィールドには、上から順に「1」、「2」、「3」、「4」、(中略)、「25」という値が設定される。
動作IDフィールドは、対応するスロットに配置された試料128に対して実行される動作を識別する動作IDを示す。動作IDフィールドは、主に、試料128の搬送に関する動作を示す動作IDが設定される。
レシピIDフィールドは、対応するスロットに配置された試料128に対して実行される測定条件と関連付けられたレシピIDを示す。レシピIDフィールドは、後述するジョブ作成画面800でユーザがレシピIDを指定した際に、指定されたレシピIDが設定される。
具体的には、「1」乃至「25」という番号のスロットに配置された試料128に対して、順に「1」乃至「25」というレシピIDと関連付けられたレシピに基づいて分析を行う場合について説明する。また、「1」及び「4」というレシピIDが関連付けられたレシピが表す測定条件は、VPD処理及びX線測定に関する測定条件を含むものとする。「2」、「3」及び「25」というレシピIDが関連付けられたレシピが表す測定条件は、VPD処理を含まず、X線測定に関する測定条件のみを含むものとする。
この場合、「1」という番号のスロットに配置された試料128に対して、試料保管装置102からアライナー部110への搬送(動作ID「0」)、アライナー部110からVPD部112への搬送(動作ID「2」)、VPD処理、VPD部112から測定部114への搬送(動作ID「4」)、X線測定、測定部114からロードロック部108への搬送(動作ID「7」)、及び、ロードロック部108から試料保管装置102への搬送(動作ID「6」)が順に行われる。
ここで、ロードロック部108から試料保管装置102への搬送(動作ID「6」)を行う際、並行して「2」という番号のスロットに配置された試料128に対する各動作が行われる。その為、「1」という番号のスロットに配置された試料128に対して、単独で実行されている動作を示す動作IDは「0,2,4,7」である。
従って、「1」というスロットの番号と関連付けて、VPD処理及びX線測定を行う為に必要な動作と関連付けられた「0,2,4,7」という値が動作IDフィールドに設定される。また、「1」というスロットの番号と関連付けて、「1」という値がレシピIDフィールドに設定される。
同様に、「2」というスロットの番号に配置された試料128に対して、試料保管装置102からロードロック部108への搬送、ロードロック部108から測定部114への搬送、X線測定、測定部114からロードロック部108への搬送、及び、ロードロック部108から試料保管装置102への搬送が行われる。
ここで、試料保管装置102からロードロック部108への搬送を行う際、並行して「1」という番号のスロットに配置された試料128に対する各動作が行われる。また、ロードロック部108から試料保管装置102への搬送を行う際、並行して「3」というスロットの番号に配置された試料128に対する各動作が行われる。その為、「2」という番号のスロットに配置された試料128に対して、単独で実行されている動作を示す動作IDは「5,7」である。
従って、「2」というスロットの番号と関連付けて、X線測定を行う為に必要な動作と関連付けられた「5,7」という値が動作IDフィールドに設定される。また、「2」というスロットの番号と関連付けて、「2」という値がレシピIDフィールドに設定される。
同様に、「3」乃至「25」という番号のスロットに配置された試料128に対して単独で実行される動作を示す動作IDが、各スロットの番号と関連付けて動作IDフィールドに設定される。具体的には、「3」というスロットの番号と関連付けて、X線測定を行う為に必要な動作と関連付けられた「5,7」という値が動作IDフィールドに設定される。また、「3」というスロットの番号と関連付けて、「3」という値がレシピIDフィールドに設定される。
また、「4」というスロットの番号と関連付けて、VPD処理及びX線測定を行う為に必要な動作と関連付けられた「5,7」という値が動作IDフィールドに設定される。また、「4」というスロットの番号と関連付けて、「4」という値がレシピIDフィールドに設定される。
また、「25」というスロットの番号と関連付けて、X線測定を行う為に必要な動作と関連付けられた「5,7,6」という値が動作IDフィールドに設定される。また、「25」というスロットの番号と関連付けて、「25」という値がレシピIDフィールドに設定される。なお、「25」という番号のスロットに配置された試料128は、単独で、ロードロック部108から試料保管装置102への搬送(動作ID「6」)が行われるため、「6」という値が動作IDフィールドに設定される。
処理時間フィールドは、関連付けられた動作IDまたはレシピIDが表す動作または測定条件を実行した場合に要する時間を示す。具体的には、算出部206は、動作IDフィールドに設定された値が表す動作の実行に要する時間を、動作テーブルに基づいて算出する。また、算出部206は、レシピIDフィールドに設定された値が表す測定条件の実行に要する時間を、動作テーブルに基づいて算出する。
例えば、動作テーブルに含まれる動作ID「0,2,4,7」と関連付けて、処理時間1フィールドに「25」、「20」、「25」、「20」という値が設定されている。従って、「1」というスロットの番号と対応する動作ID「0,2,4,7」と関連付けて、「90」という値が処理時間フィールドに設定される。「1」というスロットの番号と対応するレシピID「1」と関連付けて、「6000」という値が処理時間フィールドに設定される。同様に、「2」乃至「25」というスロットの番号と関連付けて、各動作または測定条件に要する時間を合算した値が設定される。
ジョブ処理時間は、対応するジョブを実行した時に要する時間を示す。具体的には、ジョブIDと関連付けられたジョブ処理時間は、ジョブ管理テーブルに含まれる処理時間フィールドの値を合算した時間である。例えば、「0」というジョブIDと関連付けられたジョブ処理時間は、「50000」である。
記憶部204は、さらに、各ジョブと関連付けられたジョブテーブルを記憶する。ジョブテーブルは、ユーザによってジョブが生成されると、制御部208によって自動的に生成される。ジョブテーブルは、各ジョブを実行した場合に行われる動作を、実行される順に表したテーブルである。図6は、記憶部204に記憶されるジョブテーブルの一例である。
図6に示すように、ジョブテーブルは、No.フィールドと、動作IDフィールドと、ジョブパラメータフィールドと、処理時間フィールドと、を含む。以下、図6を用いて、「1」乃至「25」という番号のスロットに配置された試料128に対して、順に「1」乃至「25」というレシピIDが関連付けられたレシピが表す測定条件を実行する場合について説明する。
No.フィールドは、ジョブに含まれる各動作の実行順序を示す。具体的には、「1」というNo.フィールドに対応する動作は、当該ジョブを実行した場合に一番目に実行される。なお、複数の試料128に対して、連続してX線測定を行う場合、複数のNo.フィールドに対応する複数の動作が並行して実行される場合がある。
動作IDフィールドは、動作テーブルに含まれる動作IDフィールドと同様である。ジョブパラメータフィールドは、レシピテーブルに含まれるレシピパラメータフィールドと同様である。動作IDフィールドは、ジョブ管理テーブル及びレシピテーブルを参照して、順に実行される動作と関連付けられた動作IDが設定される。同様に、ジョブパラメータフィールドは、ジョブ管理テーブル及びレシピテーブルを参照して、動作IDと関連付けられたレシピパラメータフィールドが設定される。
具体的には、図6に示す「1」及び「2」というNo.フィールドに対応する動作は、搬入動作である。「3」乃至「6」及び「9」乃至「11」というNo.フィールドに対応する動作は、レシピが表す測定条件に含まれる動作である。「3」乃至「6」というNo.フィールドの対応する動作は、VPD処理に関する動作である。「9」乃至「11」というNo.フィールドに対応する動作は、X線測定に関する動作である。「27」及び「28」というNo.フィールドに対応する動作は、ランプダウン及びX線源122の電源をOFFにする動作である。「29」及び「30」というNo.フィールドに対応する動作は、搬出動作である。
処理時間フィールドは、関連付けられた動作IDが表す動作を実行した場合に要する時間を示す。処理時間フィールドの値は、関連付けられた動作IDと、図3に示す動作テーブルと、に基づいて設定される。
ここで、図2の説明に戻る。算出部206は、ジョブが生成された場合に、記憶部204に予め記憶された時間に基づいて、該ジョブの実行が終了するまでの時間をジョブごとに算出する。具体的には、例えば、図6に示すジョブテーブルが生成されたとして説明する。この場合、算出部206は、ジョブテーブルに含まれる処理時間フィールドの値を合算して、当該ジョブの実行に要する時間として算出する。算出された値は、図6に示すジョブ管理テーブルのジョブ処理時間フィールドの値として、記憶部204に記憶される(図5参照)。
ここで、上記のように、複数のNo.フィールドに対応する複数の動作が並行して実行される場合がある。そのため、並行して実行される動作がある場合には、算出部206は、その一方の動作と関連付けられた処理時間のみを当該ジョブの実行に要する時間に含めてジョブ処理時間を算出してもよい。当該方法によればより正確なジョブ処理時間を算出できる。
具体的には、ジョブ管理テーブルには、試料128を搬入する為に要する動作(以下、搬入動作とする)、レシピが表す測定条件に含まれる各動作、及び、試料128を搬出するために要する動作(以下、搬出動作とする)が含まれる。
測定対象となる試料128が複数である場合、1個目の試料128については、試料保管装置102からアライナー部110へ搬送する時間を考慮する必要がある。しかし、2個目以降の試料128は、その前の試料128を測定している間に試料保管装置102からアライナー部110へ搬送している。従って、算出部206は、2個目以降の試料128に対して搬入に要する時間を考慮せずにジョブ処理時間を算出する。
また、最後の試料128はロードロック部108から試料保管装置102へ搬送する時間を考慮する必要がある。しかし、最後以外の試料128は、次の試料128を測定している間にロードロック部108から試料保管装置102へ搬送している。従って、算出部206は、最後の試料128を除いて、搬出に要する時間を考慮せずにジョブ処理時間を算出する。これにより、算出部206は、正確なジョブ処理時間を算出できる。なお、図5に示すジョブ管理テーブルに含まれる処理時間フィールドは、上記並行して実行される動作の処理時間がジョブ処理時間に含まれないように考慮した値が設定されている。
制御部208は、少なくとも一つのマイクロプロセッサ(CPU)を含み、ジョブを実行する。また、制御部208は、ジョブが実行された場合に、動作に要した時間を該動作と関連付けて記憶部204に新たに記憶する。具体的には、制御部208は、記憶部204に記憶された計測用のプログラムに従って、実行された各動作に要した時間を計測する。制御部208は、計測した時間を動作テーブルに含まれる処理時間フィールドに追加する処理を実行する。
例えば、搬入動作(動作ID「0」)、レシピIDが「0」であるレシピが表す測定条件に含まれる各動作、搬出動作(動作ID「6」)が実行されたとして説明する。制御部208は、搬入動作、レシピが表す測定条件に含まれる全ての動作、搬出動作に要した時間は、それぞれ23秒、5000秒及び22秒であると計測したとする。
制御部208は、動作テーブルの搬入動作と対応する処理時間2フィールド(動作IDが「0」である動作と対応する処理時間2フィールド)に「23」という値を追加する。制御部208は、「0」というレシピIDが表す測定条件に含まれる各動作の動作IDにそれぞれ計測した値を追加する。制御部208は、動作テーブルの搬出動作と対応する処理時間2フィールド(動作IDが「6」である動作と対応する処理時間2フィールド)に「22」という値を追加する。
制御部208は、各動作が実行される毎に上記処理時間フィールドを追加してもよいし、動作が複数回実行される度に上記処理時間フィールドを追加してもよい。また、制御部208は、ジョブが実行される毎にレシピ処理時間を追加してもよいし、ジョブが複数回実行される度に上記レシピ処理時間を追加してもよい。
さらに、制御部208は、レシピテーブルに含まれるレシピ処理時間を更新または追加してもよい。上記の場合、制御部208は、「0」というレシピIDと関連付けて「5000」というレシピ処理時間をレシピテーブルに追加してもよい。
また、制御部208は、動作テーブルの処理時間2フィールドに設定された値に基づいて、ジョブ管理テーブルに含まれる処理時間フィールド及びジョブ処理時間を追加または更新してもよい。制御部208は、動作テーブルの処理時間2フィールドに設定された値に基づいて、ジョブテーブルに含まれる処理時間フィールドの値を更新または追加してもよい。
算出部206は、さらに、レシピが表す測定条件に含まれる各動作が実行された場合に、記憶部204が新たに記憶した時間に基づいて、ジョブの実行が終了するまでの時間を算出する。具体的には、更新されたジョブ管理テーブルに含まれる処理時間フィールドの値を合算してジョブの実行が終了するまでの時間を算出する。すなわち、算出部206は、各動作の処理時間の実績値に基づいて、ジョブの実行が終了するまでの時間を算出する。
なお、過去の実績値が1つである場合は、上記のように算出部206が算出する値は過去の実績値と同じ値となる。過去の実績値が複数である場合、算出部206は、過去複数回の実績値に基づいて算出してもよい。
具体的には、算出部206は、記憶部204が直近に記憶した複数の時間の平均値に基づいて、各動作が終了するまでの時間を算出してもよい。例えば、算出部206は、過去5回分の実績値の平均値に基づいて、ジョブの実行が終了するまでの時間を算出してもよい。
また、偶発的に大きく外れた実績値を除くため、算出部206は、記憶部204が直近に記憶した複数の時間の中央値に基づいて、各動作が終了するまでの時間を算出してもよい。例えば、算出部206は、過去3回分の実績値の中央値に基づいて、ジョブの実行が終了するまでの時間を算出してもよい。
記憶部204は、レシピが表す測定条件に含まれる一連の動作の実行に要する時間を該レシピと関連付けて予め記憶してもよい。そして、算出部206は、ジョブが生成された場合に、レシピと関連付けて予め記憶された時間に基づいて、該ジョブの実行が終了するまでの時間をジョブごとに算出してもよい。具体的には、例えば、算出部206は、図5に示すジョブテーブルに含まれる処理時間を用いて、該ジョブの実行が終了するまでの時間を算出してもよい。
具体的には、例えば、図5に示すジョブ管理テーブルに基づいて図6に示すジョブテーブルが生成されたとする。この場合、算出部206は、図5に示すジョブ管理テーブルに含まれるジョブ処理時間を当該ジョブの実行に要する時間として算出する。算出された値は、図6に示すジョブ管理テーブルのジョブ処理時間フィールドの値として、記憶部204に記憶してもよい(図5参照)。
さらに、制御部208は、レシピが表す測定条件に含まれる一連の動作が実行された場合に、該一連の動作の実行に要した時間を該レシピと関連付けて記憶部204に新たに記憶してもよい。そして、算出部206は、さらに、レシピが表す測定条件が実行された場合に、記憶部204が新たに記憶した時間に基づいて、ジョブの実行が終了するまでの時間を算出してもよい。
複数の試料128を測定する場合、異なる試料128に対して異なる動作が並列して行われる。このため、1個のレシピに含まれる全ての動作の実行に要した時間と、当該レシピに含まれる各動作に要した時間の総和と、は同一になるとは限らない。また、レシピ処理時間は、複数の動作を連続して実行した場合の実績時間である。その為、レシピに含まれる各動作に関連付けられた個々の動作処理時間に基づいてジョブ処理時間を算出するよりも正確な時間を算出することができる。
さらに、制御部208は、VPD処理を含むレシピが表す測定条件が実行された場合に、該VPD処理のみに要した時間を記憶部204に記憶するようにしてもよい。VPD処理時間が測定時間よりも短い場合には、算出部206は、2個目以降の試料128に対してVPD処理時間を考慮せずにジョブ処理時間を算出してもよい。
表示部120は、レシピが表す測定条件の実行が終了するまでの時間を表示する。具体的には、例えば、表示部120は、液晶ディスプレイ等の表示装置である。表示部120は、ユーザがレシピやジョブを作成する際に、算出部206が算出した値を表示する。
図7は、レシピ作成画面700を示す図である。図7に示すように、レシピ作成画面700は、測定位置図フィールド702と、測定座標フィールド704と、レシピメニューフィールド706と、レシピ処理時間フィールド708と、を含む。ユーザは、レシピ作成画面700を見ながらレシピを作成する。
測定位置図フィールド702には、試料128の測定対象となる位置を示す図が表示される。具体的には、試料128が円形に基板である場合、図7のような円形が表示される。ユーザは基板上の測定位置をマウスポインタを合わせてクリックする等の方法によって指定する。図7では、1回目に基板の中央、2回目に基板右上部、3回目に基板の左下部が測定位置として指定されている。
測定座標フィールド704には、試料128の測定対象となる位置が座標で表示される。具体的には、図7に示すように、ユーザに指定された測定点の座標が、測定順に表示される。ユーザは、測定座標フィールド704に数値を入力することによって測定位置を指定してもよい。図7では、1回目にx座標が「0」かつy座標が「0」という位置が指定されている。2回目にx座標が「50」かつy座標が「50」という位置が指定されている。3回目にx座標が「−50」かつy座標が「−50」という位置が指定されている。
レシピメニューフィールド706には、レシピ作成に関する各項目が表示される。具体的には、例えば、図7に示すように、VPD処理を行うか否かを決定するチェックボックスが表示される。また、VPD処理の条件を設定するための、「気相分解処理」ボタン、「走査回収処理」ボタン、「乾燥処理」ボタン、「ノズル洗浄処理」ボタン等が表示される。
また、レシピメニューフィールド706には、X線測定を行う場合に、測定点を追加するための「挿入」ボタンや、一度指定した測定点を削除するための「削除」ボタンが表示される。さらに、X線測定の条件を設定するための、「X線管電圧」ボタン、「X線管電流」ボタン、「励起線(分光素子選択)」ボタン、「X線照射角度」ボタン、「カウント時間」等が表示される。
レシピ処理時間フィールド708には、ユーザに指定された条件に基づいて算出されたレシピ処理時間が表示される。例えば、算出部206は、上記方法によりレシピ処理時間を算出する。レシピ処理時間フィールド708には、当該算出された値がレシピ処理時間として表示される。レシピ処理時間フィールド708には、ユーザが条件を変更するごとに随時算出しなおされた値が表示される。なお、当該時間には、搬入時間及び搬出時間は含まれない。図7には記載していないが、図8と同様に、レシピのコピーや保存等をする為の表示がされてもよい。
図8は、ジョブ作成画面800を示す図である。図8に示すように、ジョブ作成画面800は、ジョブ列挙フィールド802と、ジョブ処理時間フィールド804と、ジョブメニューフィールド806と、を含む。ユーザは、ジョブ作成画面800を見ながらジョブを作成する。
ジョブ列挙フィールド802には、ユーザが作成したジョブまたは作成中のジョブが表示される。具体的には、ジョブID、スロット、レシピID、処理時間等が表示される。
ジョブIDは、ユーザが作成中のジョブを一意に識別する情報である。スロットは、測定対象として指定された試料128が配置されたスロット番号を示すフィールドである。レシピIDは、ユーザが作成したレシピを一意に識別する情報である。処理時間は、レシピIDと関連付けられたレシピ処理時間である。
ユーザは、ジョブ列挙フィールド802にスロットの番号及びレシピIDを指定することによってジョブを作成する。具体的には、例えば、ユーザは、「0」というジョブIDと関連付けて、「1」というスロット番号及び「1」というレシピIDを指定する。同様に、ユーザは、複数のスロット番号と、レシピIDとを測定順に指定する。これにより、図5及び図6に示すような「0」というジョブIDと関連付けられたジョブ管理テーブル及びジョブテーブルが生成される。処理時間フィールドには、指定されたレシピID関連付けられたレシピ処理時間である。
ジョブ処理時間フィールド804には、ユーザに指定された条件に基づいて算出されたジョブ処理時間が表示される。例えば、上記例の場合、算出部206は、図5又は図6にに示したジョブ処理時間を算出する。ジョブ処理時間フィールド804には、当該算出された値が表示される。ジョブ処理時間フィールド804には、ユーザが条件を変更するごとに随時算出しなおされた値が表示される。
ジョブメニューフィールド806には、ジョブの作成に関する項目が表示される。具体的には、図8に示すように、ジョブを新たに作成するための「新規」ボタンが表示される。既に作成したジョブを編集するための「編集」ボタンが表示される。既に作成されたジョブを複製するための「コピー」ボタンが表示される。既に作成されたジョブを削除するための「削除」ボタンが表示される。
ジョブが新たに作成された場合、算出部206は、当該ジョブのジョブ処理時間を算出する。具体的には、制御部208は、ジョブが新たに生成された場合に、記憶部204に記憶された時間に基づいて、該ジョブの実行が終了するまでの時間をジョブごとに算出する。
制御部208は、記憶されたジョブが複製されて新たなジョブが生成された場合、複製元のジョブと関連付けられた時間を、該新たなジョブと関連付けて記憶部204に記憶する。具体的には、算出部206は、既に作成されたジョブが複製された場合に、複製元のジョブと関連付けられたジョブ処理時間を、複製により生成されたジョブ処理時間として算出する。例えば、複製元のジョブ処理時間が「50000」である場合、算出部206は、複製により生成されたジョブ処理時間を「50000」と算出する。制御部208は、当該時間を記憶部204に記憶する。
制御部208は、さらに、複製されたジョブが改変された場合、改変の程度を評価し、評価に応じて、複製元のジョブと関連付けられた時間に改変に応じた修正を加えた時間を記憶部204に記憶するか、もしくは、各動作と関連付けて予め記憶された時間と改変後のジョブの内容とに基づいて算出された時間を記憶部204に記憶するか、を制御する。
具体的には、制御部208は、複製されたジョブに含まれる動作のうち改変された動作の数を評価する。例えば、算出部206は、複製されたジョブに含まれる動作のうち、改変された動作が、あらかじめ設定された数である7個以下であれば、改変に応じた修正を加えた処理時間を算出する。一方算出部206は、複製されたジョブに含まれる動作のうち、改変された動作が7個を超える場合、各動作と関連付けて予め記憶された個々の時間と改変後のジョブの内容とに基づいて処理時間を算出する。
例えば、複製元のジョブ(ジョブID「0」とする)が表す処理条件はVPD処理を含み、複製されたジョブ(ジョブID「1」とする)が表す処理条件からVPD処理が削除する旨の改変がされた具体例で説明する。また、複製元のジョブと関連付けられたジョブ処理時間は「50000」であるとする。
ユーザは、図8に示すジョブ作成画面800において、「コピー」ボタンをクリックすることにより、「0」というジョブIDで表されるジョブを複製元のジョブとして、「1」というジョブIDで表されるジョブを作成する。この時点で、算出部206は、複製により生成されたジョブ処理時間を「50000」と算出する。
次に、ユーザは、図8に示すジョブ作成画面800において、「1」というジョブIDで表されるジョブに含まれるレシピIDを「0」から「1」に変更する。ここで、「0」というレシピIDで表されるレシピは、VPD処理に関する動作を含み、「1」というレシピIDで表されるレシピは、VPD処理に関する動作を含まない点のみが異なる。この場合、「1」というジョブIDで表されるジョブは、「0」というジョブIDで表されるジョブに対して、「2」、「4」及び「9」乃至「12」という動作IDで表される動作が削除され、「1」という動作IDで表される動作が追加されたジョブである。
上記改変の過程で、改変された動作は7個である。従って、算出部206は、「0」というジョブIDと関連付けられた処理時間「50000」から、「2」、「4」及び「9」乃至「12」という動作IDと関連付けられたの動作処理時間を差し引いて、ジョブ処理時間を算出する。さらに、算出部206は、当該処理時間に、「1」という動作IDで表される動作の動作処理時間を加算してジョブ処理時間を算出する。制御部208は、当該ジョブ処理時間を「1」というジョブIDと関連付けて記憶部204に記憶する。
一方、改変された動作が7個を超える場合、算出部206は、図4に示すレシピ処理時間と、改変後のジョブに含まれる各動作とに基づいて処理時間を算出する。当該算出方法は、新たにジョブが作成された場合の算出方法と同様である。
なお、算出方法を変更する基準は、上記に限られない。例えば、測定点の座標や試料128が配置されたスロット番号のみを変更した場合は、当該動作は変更されていないと評価してもよい。上記のように、改変の程度に応じてジョブ処理時間を算出することにより、より実績値に近く、正確なジョブ処理時間を算出することが出来る。
続いて、ジョブの実行について説明する。図9は、ジョブ実行画面900を示す図である。図9に示すように、ジョブ実行画面900は、残り時間フィールド902と、試料状態フィールド904と、測定状態フィールド906と、を含む。
残り時間フィールド902には、実行中のジョブの処理に要する時間の残り時間が表示される。具体的には、算出部206は、ジョブに含まれる各動作が実行される毎に、ジョブ処理時間から処理が終了した動作の処理時間を差し引いた時間を算出する。残り時間フィールド902は、当該時間を表示する。なお、残り時間フィールド902は、図9に示すように、ジョブ処理時間全体の中の残り時間の割合をバーで表示してもよいし、算出した残り時間を数値で表示してもよい。
試料状態フィールド904には、各スロットに配置された試料128の状態が表示される。具体的には、試料状態フィールド904には、スロットに配置された試料128ごとに、実行されているジョブのジョブID、試料128の状態等が表示される。試料128の状態は、例えば、測定部114で測定されている状態や、試料128が待機している位置等の状態である。
測定状態フィールド906には、試料128が測定中である場合に、測定中の位置が表示される。具体的には、図9に示すように、x座標が「50」であって、y座標が「50」である位置で測定が行われていることが表示される。
続いて、図6に示す「0」というジョブIDが実行された場合の一連の動作について説明する。まず、試料保管装置102に配置されたキャリアのスロット1に配置された試料128は、アライナー部110へ搬送される(No.フィールド「1」)。試料128は、アライナー部110において位置合わせ処理が行われる。
次に、搬送装置104は、試料128をアライナー部110からVPD部112に搬送する(No.フィールド「2」)。VPD部112は、気相分解処理、走査回収処理、乾燥処理及びノズル洗浄処理を順に行う(No.フィールド「3乃至6」)。
次に、搬送装置104は、試料128をVPD部112からロードロック部108に搬送する(No.フィールド「7」)。試料128がロードロック部108の内部に配置された状態で、ロードロック部108の内部は、真空にされる。ロードロック部108の内部が真空になった後、試料128は、測定部114に搬送される(No.フィールド「8」)。
次に、測定部114に配置されたX線源122の電源がONにされる(No.フィールド「9」)。X線源122に印加するパワーを設定値まで段階的に上げ、出射される1次X線が安定するまで、エージングが行われる(No.フィールド「10」)。
エージングのための時間が経過したあと、X線測定が行われる(No.フィールド「11」)。なお、本工程には、試料128の測定位置(x座標「0」、y座標「0」)が1次X線の照射位置となるように、試料台124が試料128を移動させる工程や、中心位置での強度を用いて測定位置での照射角度の補正を行うための測定、及び、実際のデータを得るための測定を含む。
その後、複数のスロット配置された試料128に対して、搬送、VPD処理、X線測定が行われる。最後の試料128に対するX線測定が行われた後、X線源122に印加するパワーを段階的に下げる(No.フィールド「27」)。X線源122に印加するパワーが十分に下がった後、X線源122の電源がOFFにされる(No.フィールド「28」)。
次に、試料128は、測定部114からロードロック部108に搬送される(No.フィールド「29」)。本工程には、試料128がロードロック内部に配置された状態で、ロードロックの内部が大気圧にされる工程を含む。さらに、搬送装置104は、試料128をロードロック部108から試料保管装置102に配置されたキャリアのスロット1に搬送する(No.フィールド「30」)。
算出部206は、上記の各工程が実行されるごとに、または、所定の時間ごとに、実行中のジョブの処理に要する時間の残り時間を算出する。残り時間フィールド902には、当該残り時間が表示される。これにより、ユーザは、レシピの進捗状況とレシピが終了するまでの時間を確認することができる。また、蛍光X線分析システム100と他の装置とを組み合わせて一つのシステムを構成している場合には、蛍光X線分析システム100が他の装置に残り時間を通知することにより、他のシステムの待機時間を減少させることができる。
本発明は、VPD一体型全反射蛍光X線分析装置を用いて説明を行ったが、一般的な波長分散型蛍光X線分析装置等でもよい。また、上記の実施例または変形例に限定されるものではなく、種々の変形が可能である。上記構成やジョブは一例であって、これに限定されるものではない。上記の実施例で示した構成と実質的に同一の構成、同一の作用効果を奏する構成または同一の目的を達成する構成で置き換えてもよい。例えば、上記動作テーブル、レシピテーブル、ジョブテーブル、レシピ作成画面700、ジョブ作成画面800、ジョブ実行画面900は一例であって、同一の目的を達成する構成で置き換えてもよい。