以下、サーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における群管理システムの概念図である。群管理システムは、例えば、半導体製造装置や、液晶パネル製造装置等の製造装置を制御するシステムである。また、群管理システムは、1以上の製造装置11(製造装置11aから製造装置11n(ただしnは任意数を示す))、サーバ装置12、およびクライアント装置13を有する。
製造装置11は、被処理基板、例えば、半導体ウエハ等、に対する所定のプロセスを行う装置である。製造装置11は、例えば、成膜処理、エッチング処理、熱酸化処理等の被処理基板に対する各種処理を行う。製造装置11は、例えば、上述の特許文献2、または特許文献3等におけるバッチ式縦型熱処理装置である。本製造装置11の例を図2に示す。本製造装置11は、ローディング室として、他の室に対して密閉可能になされ、不活性雰囲気としてN2ガスが供給・真空引き可能になされたいわゆるロードロック室構造になされた装置である。製造装置11は、被処理体であるウエハWに所定の処理を施す処理室であるプロセスチューブaと、このプロセスチューブaに対して多数枚例えば100枚のウエハWを収納した保持体としてのウエハボートfを挿脱する移送機構gを備えたローディング室としてのロードロック室hと、このロードロック室hに対してウエハWを搬出入する搬出入室abと、この搬出入室abに形成されたカセット収容容器用ポートacと、このポートacに載置されたカセット収容容器adを搬出入室ab内に取り込む取り込み手段aeと、取り込んだカセット収容容器adを一時的に保管する容器保管ステージafと、カセット収容容器ad内に収容されたカセットCを取り出すカセット取り出しステージagと、搬出入室ab内にてカセット収容容器adの受け渡しを行う容器移載手段ahと、ロードロック室hと搬出入室abとの間に配置されるウエハボートfを収容する保持体収容室aiとで主要部が構成されている。なお、図2の製造装置11の例における、その他の部位、および動作については、公知技術(特許文献2参照)であるので詳細な説明は省略する。また、製造装置11を構成するチャンバーとして、特許文献3の図1におけるチャンバーが好適である。
また、製造装置11は、例えば、ウエハに対する所定のプロセスに関する情報であるレシピを格納しており、当該レシピを用いて制御する。
また、サーバ装置12は、いわゆる群管理システムを構成するサーバ装置であり、1以上の製造装置11における各種の測定情報を格納可能であり、当該測定情報に対して、異常検知を行う機能を有する。
また、クライアント装置13は、サーバ装置12に対して各種の要求を出し、サーバ装置12における処理結果を受け付ける。
図3は、本実施の形態における群管理システムのブロック図である。
製造装置11は、入力受付部1101、レシピ格納部1102、製造装置識別子格納部1103、計時部1104、処理部1105、測定部1106、元情報蓄積部1107、元情報送信部1108を具備する。
サーバ装置12は、測定情報格納部1201、元情報受信部1202、測定情報取得部1203、測定情報蓄積部1204、指示受付部1205、出力情報構成部1206、出力部1207、出力指示蓄積部1208、条件情報格納部1209、異常検知部1210を具備する。
クライアント装置13は、指示入力部1301、指示送付部1302、受付部1303、表示部1304を具備する。
入力受付部1101は、製造装置11のユーザから各種の入力を受け付ける。各種の入力とは、例えば、レシピや、レシピを識別するレシピ識別子や、ウエハに対する加工処理等の処理の実行指示などである。ユーザから各種の入力の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部1101は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
レシピ格納部1102は、製造装置11を制御するために使用されるレシピを格納している。レシピとは、製造装置11が実行する所定のプロセスに関する情報であり、通常、プロセスを構成する複数の手順や、その手順におけるプロセスパラメータ等を設定する情報を含む。レシピを構成する各手順は、通常、ステップ、あるいはレシピステップと呼ばれる。ステップには、通常、プロセスの一部の手順や、その手順におけるプロセスパラメータ等を設定する情報を含む。ここで、レシピを構成する1以上のステップとして、レシピと同様の1以上、通常は2以上、のステップを備えた情報が用いられることが多く、この情報は、サブレシピと呼ばれる。すなわちレシピは、サブレシピを用いることにより、レシピ内にレシピを含むような入れ子構造(ネスト構造)となっている。プロセスパラメータの情報は、例えば、カテゴリー名、アイテム名、パラメータ名、値を含む。カテゴリー名とは、プロセスパラメータの種類を示す名称であり、例えば、「温度」「ガス流量」「ボートエレベーターのスピード」などである。アイテム名は、プロセスパラメータの属性を示す名称であり、例えば、「上下速度」「回転速度」などである。パラメータ名は、プロセスパラメータの名称であり、例えば、「C」「A」などである。値は、プロセスパラメータという変数に与える値である。通常、レシピは、レシピを識別するレシピ識別子(例えば、レシピ名)と対に格納されている。また、レシピは、当該レシピを構成するステップの識別子であるステップ識別子、サブレシピを識別するためのサブレシピ識別子とともにレシピ格納部1102に格納されている。ステップ識別子は、例えば、ステップの名称や、識別番号等である。サブレシピ識別子は、サブレシピの名称や、識別番号等である。サブレシピを構成するステップは、レシピを構成するステップと同様のものであり、レシピを構成するステップと同じステップ識別子を有していても良いが、ここでは、説明の便宜上、サブレシピを構成するステップを、サブレシピステップと呼び、その識別子をサブレシピステップ識別子と呼ぶ。レシピ格納部1102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
製造装置識別子格納部1103は、製造装置11を識別する製造装置識別子を格納している。製造装置識別子は、各製造装置11を識別できる情報であればよく、例えば、装置名や、型番、製造番号や、各製造装置11に設定された識別番号や名称等であってもよい。この製造装置識別子は、入力受付部1101が受け付けた情報でも良いし、製造装置出荷時に予め格納した情報でも良い。製造装置識別子格納部1103は、ハードディスクやROM等の不揮発性の記録媒体でも、RAM等の揮発性の記録媒体でも良い。
計時部1104は、時を計測する。計時部1104は、時を計測した結果得られた時刻を示す情報を、測定部1106に出力する。ここで述べる時刻を示す情報は、年月日等の情報を含んでいていてもよい。計時部1104が計時する時間は、絶対時間であっても良く、相対時間であっても良い。計時部1104は、例えば時計等で実現される。
処理部1105は、レシピ格納部1102のレシピを読み出し、当該レシピにしたがって、被処理基板に対する所定のプロセスを行う。処理部1105は、通常、MPUやメモリ等から実現され得る。処理部1105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
測定部1106は、製造装置11内の温度や、ガス流量や、圧力、製造装置11の電力などを測定し、チャート化等の対象となる測定情報の元になる情報である元情報を取得する。元情報は、測定した温度などの情報である。測定部1106は、例えば、定期、あるいは不定期の所定の時間間隔で測定を行う。元情報は、測定により得られた値である測定値を有する。また、元情報は、通常、測定した時刻を示す時刻情報を有する。この時刻情報は、例えば計時部1104から取得される。元情報は、測定部1106が温度等の値を測定していた際に実行していたステップを識別するステップ識別子と、測定した値である測定値と、測定した時刻を示す時刻情報を有することが好適である。また、測定していた際に、実行中のステップとして、サブレシピが実行されていた場合、実行中のサブレシピを識別するサブレシピ識別子を有する。さらには、実行中のサブレシピのうちの、実行中のサブレシピステップを識別するサブレシピステップ識別子を有していることが好適である。なお、レシピ識別子や、ステップ識別子、サブレシピ識別子、サブレシピステップ識別子等は、例えば、レシピ格納部1102から取得される。元情報は、実行していたレシピについてのレシピ識別子を有していても良い。また、元情報がレシピを実行した製造装置11の製造装置識別子を有していても良い。この製造装置識別子は、例えば製造装置識別子格納部1103から取得される。また、元情報は、測定部1106が測定する、測定対象、例えば温度やガス圧等や、測定箇所、例えばプロセスチューブ内等、を識別するための情報、例えば測定対象の名称や、測定箇所の名称、あるいはこれらに対応した識別情報等を有していても良い。測定部1106は、複数の箇所の複数の温度や、温度とガス流量などの複数の値を測定しても良いことは言うまでもない。つまり、元情報は、二種類以上の測定された値を有しても良い。測定部1106は、1以上の温度センサや1以上の流量センサなどのセンサ等で実現され得る。
元情報蓄積部1107は、測定部1106が取得した元情報を、図示しない記録媒体に蓄積する。元情報蓄積部1107は、通常、MPUやメモリ等から実現され得る。元情報蓄積部1107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。また、上記の図示しない記録媒体は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
元情報送信部1108は、元情報蓄積部1107が蓄積した元情報を、サーバ装置12に送信する。元情報の送信のトリガーは問わない。また、元情報送信部1108が送信する元情報は、測定された一種以上(例えば、温度とガス流量)の値、すなわち測定値、および時刻情報を有する。また、元情報送信部1108が送信する元情報は、サブレシピを実行中に測定された測定値を含む場合、その測定時に実行されていたサブレシピのサブレシピ識別子を有する。また、この場合、元情報送信部1108が送信する元情報は、サブレシピステップ識別子を有することが好適である。また、元情報送信部1108が送信する元情報は、ステップ識別子を有することが好適である。さらに加えて、元情報送信部1108が送信する元情報は、製造装置11を識別する製造装置識別子や、レシピを識別するレシピ識別子を有することが好適である。また、測定部1106が測定する、測定対象、例えば「温度」や「ガス圧」等や、測定箇所、例えば「プロセスチューブ内」等、を識別するための情報を有していても良い。なお、元情報蓄積部1107が蓄積した元情報と、元情報送信部1108が送信する元情報は、その構造や構成が異なっていても良い。また、元情報は、複数の測定された値に対して、一つの製造装置識別子または一つのレシピ識別子あるいは一つのステップ識別子の少なくとも一つを有する構成でも良い。元情報送信部1108は、無線または有線の通信手段等で実現され得る。また、元情報送信部1108は、元情報をサーバ装置12に送信する前に、レシピ格納部1102や製造装置識別子格納部1103から、それぞれサブレシピ識別子や、サブレシピステップ識別子や、ステップ識別子や、レシピ識別子や、製造装置識別子を読み出し、元情報に付加しても良い。また、元情報送信部1108は、値(例えば、ガス流量)が測定される毎に、元情報を送信しても良いし、所定数の測定した値をまとめた元情報(例えば、10個をまとめた元情報)を一度に送信しても良い。元情報送信部1108が送信するデータの単位やデータ構造等は問わない。また、送信する元情報を構成する処理は、元情報送信部1108ではなく、元情報蓄積部1107が行っても良い。測定された元情報や、製造装置識別子やレシピ識別子やレシピステップ識別子を送信するタイミングなども問わない。
測定情報格納部1201は、複数の測定情報を格納し得る。複数の測定情報は、複数の製造装置11で測定された一種以上の情報(例えば、温度や圧力)についての時系列の情報であり、製造装置で所定のプロセスを実行した場合の測定値と時刻を示す時刻情報を有する情報である。また、測定情報は、サブレシピを実行中に測定された測定値を含む場合、サブレシピ識別子を有する。また、この場合、元情報送信部1108が送信する元情報は、サブレシピステップ識別子を有することが好適である。また、複数の測定情報は、製造装置11を識別する製造装置識別子や、レシピ識別子や、ステップ識別子等を有していても良い。測定情報は、元情報受信部1202が受信した複数の元情報に対して、測定情報取得部1203が所定の演算を行い、取得された情報でも良いし、元情報と同じ情報でも良い。測定情報格納部1201は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、測定情報格納部1201の測定情報は、測定情報蓄積部1204が蓄積した情報でも良いし、製造装置11から直接に受信した情報でも良いし、図示しない記録媒体から読み出した情報でも良い。
元情報受信部1202は、複数の測定情報の元になる情報である元情報を複数の製造装置11から受信する。元情報受信部1202は、無線または有線の通信手段等で実現され得る。
測定情報蓄積部1204は、元情報受信部1202が受信した複数の元情報を用いた測定情報を測定情報格納部1201に蓄積する。この測定情報は、元情報受信部1202が受信した複数の元情報に対して、測定情報取得部1203が所定の演算を行い、取得された情報でも良いし、元情報と同じ情報でも良い。所定の演算とは、例えば、所定の時間間隔ごとに、複数の元情報が有する複数の値の平均値を算出したり、最大値を取得したり、最小値を取得したり、値を標準化したり、標準偏差を算出したり、中央値を取得したりする演算である。なお、測定情報取得部1203が取得した複数の測定情報を、測定情報格納部1201に配置する場合は、測定情報蓄積部1204が行う蓄積処理はNOP(No Operation)と同意義となる。測定情報蓄積部1204は、通常、MPUやメモリ等から実現され得る。測定情報蓄積部1204の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
指示受付部1205は、指示を受け付ける。この指示は、通常、クライアント装置13から受信するが、サーバ装置12に接続されているキーボードやマウス等から受け付けても良い。指示受付部1205が受け付ける指示は、例えば、測定情報格納部1201に格納されている測定情報の出力指示である。この出力指示は、例えば、レシピを構成するステップのうちの、所望のステップに対応した測定情報の出力指示である。また、例えば、この出力指示は、レシピにおいて複数回実行されるサブレシピのうちの、1以上の所望の回に実行されるサブレシピを指定する指示を有するものである。「1以上の所望の回」とは、特定の一つの回、例えば第1回、であっても良いし、特定の複数の回、例えば第2回と、第5回との両方、であっても良いし、全ての回、であってもよい。このサブレシピを指定する指示は、指定するサブレシピに対応したサブレシピ識別子を有する指示であっても良い。出力指示は、例えば、所望のレシピを実行中に測定された値を含む測定情報を出力させるために、レシピを指定する情報、例えば、レシピ識別子等を含んでも良い。出力指示には、複数の製造装置11のうちの特定の製造装置についての測定情報を出力させるために、複数の製造装置11のうちの少なくともいずれか一つを指定する情報、例えば、製造装置識別子等を含んでも良い。また、出力指示には、測定情報をどのように出力するかを指定する情報を含んでいても良い。例えば、測定情報を、所望の形式のデータとして出力する指示や、チャート化して出力する指示であっても良いし、測定情報を用いて所定の分析や処理、例えば多変量解析や統計処理等を行った結果を出力する指示であっても良い。また、測定情報を用いて異常検知や異常分析等を行う指示であってもよい。また、出力指示は、出力するチャートの種類、例えば、SPCチャート、相関チャート、またはMDチャートなど、の情報を含んでも良い。また、出力指示は、チャート出力する測定情報のデータのタイプ、例えば温度や、ガス流量や、圧力など、を指定する情報を含んでも良い。また、出力指示は、チャートを構成する点や線の属性情報を含んでも良い。属性情報とは、点の色、点の種類(形状)、線の色、線種などである。指示受付部1205は、例えば、無線または有線の受信手段からなる。指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。指示受付部1205は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
測定情報取得部1203は、指示受付部1205が受け付けた、測定情報の出力指示により指定された測定情報を、測定情報格納部1201から取得する。特に、出力指示が、複数回実行されるサブレシピのうちの、1以上の所望の回に実行されるサブレシピを指定する指示を有する場合、この指定された回のサブレシピに対応する測定情報、例えば、当該サブレシピの実行時に測定された測定情報や、この測定情報に対して所定の演算等の処理が行われた測定情報を取得する。測定情報取得部1203は、1以上の指定された回(例えば、1回目のみや、5回目のみ、あるいは1回目と4回目の両方等)の測定情報を、測定情報取得部1203が取得する。具体的には、測定情報取得部1203は、出力指示に含まれるステップ識別子やサブレシピ識別子と一致する識別子と関連づけられた測定情報を、測定情報格納部1201から取得する。さらに、出力指示に、装置識別子や、レシピ識別子等も含まれる場合、当該装置識別子や、レシピ識別子についても一致する測定情報を取得する。測定情報取得部1203は、測定情報取得部1203は、出力指示により指定された、複数回実行されるサブレシピに対応した測定情報の群、すなわち、このサブレシピを一回実行した際に測定された1以上の測定値を用いて得られた1以上の測定情報の集まり、が新たに出現する回数をカウントする。そして、このカウント数が、出力指示により指定された所望の回と同じになった際に、この出現した測定情報の群に含まれる1以上の測定情報を取得する。具体的には、複数回実行されるサブレシピに対応した測定情報が同じサブレシピ識別子を有するものとすると、複数回実行されるサブレシピのサブレシピ識別子と、その1以上の実行される回を指定する出力指示を受け付けた場合、測定情報取得部1203は、測定情報格納部1201に格納されている測定情報について、出力指示により指定された複数回実行されるサブレシピのサブレシピ識別子が新たに検出された回数をカウントし、その回数が、出力指示に含まれる回に一致した場合に、その一致した回の測定情報を取得する。より具体的には、測定情報取得部1203は、測定情報格納部1201に格納されている測定情報について、出力指示に含まれるサブレシピ識別子が一致する測定情報が新たに検出された回数をカウントし、その回数が、出力指示に含まれる回に一致した場合に、その一致した回の、出力指示により指定されたサブレシピ識別子を有する測定情報を取得する。なお、時間軸上において、同じサブレシピ識別子を有する測定情報が、連続して現れたり、検出されたりした場合には、同じサブレシピが繰り返されている場合を除いて、測定情報の新たな出現や、新たな検出とは考えず、それらは、一つの測定情報の群と考えられる。なお、ここでの新たな出現を検出する処理は、測定情報を時刻を示す情報を用いてソートした場合の処理を前提としている。新たに出現する回数、もしくは新たに検出された回数をカウントとは、結果的に、新たに出現する回数、もしくは新たに検出された回数をカウントできる処理であれば良い。例えば、この処理は、出力指示に含まれるサブレシピ識別子と一致するサブレシピ識別子を有する測定情報が検索された場合であって、時間軸上において、その測定情報の直前の測定情報の有するサブレシピ識別子が、出力指示に含まれるサブレシピ識別子ではない場合に、カウントアップする処理である。さらに、サブレシピが2以上のサブレシピステップを含み、このサブレシピが連続して繰り返し実行されることが考えられる場合においては、単に、サブレシピ識別子が新たに出現する回数をカウントしただけでは、繰り返された複数のサブレシピに対応した測定情報が、時間軸上において連続しており、同じサブレシピ識別子を有するものとなることから、上記の方法では、一つのサブレシピから得られた測定情報と判断される恐れがある。このため、このような場合においては、測定情報取得部1203は、サブレシピを構成する2以上のサブレシピステップに対応した2以上の測定情報が繰り返し出現する際に、この繰り返し出現する1以上の測定情報を、複数回実行されるサブレシピに対応した測定情報の群の一つであると判断して、カウントアップを行う。具体的には、測定情報取得部1203は、同じサブレシピ識別子を有する連続した複数の測定情報において、2以上のサブレシピステップ識別子、具体的には、サブレシピを構成する2以上のサブレシピステップのサブレシピステップ識別子、が繰り返し出現するごとに、カウントアップを行う。このようにすることで、サブレシピの繰り返しが行われた場合においても、サブレシピの回数を正確にカウントすることができる。このようなサブレシピの繰り返しは、例えば、サブレシピステップ識別子が検出される際の規則性が保たれているか否かで判断可能であり、このような判断の際に利用する規則性は問わない。測定情報取得部1203は、通常、MPUやメモリ等から実現され得る。測定情報取得部1203の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力情報構成部1206は、測定情報取得部1203が取得した測定情報を用いた出力情報を構成する。また、指示受付部1205が、レシピにおいて複数回実行されるサブレシピのうちの、2以上の所望の回(例えば、1回目と5回目の両方等)に実行されるサブレシピを指定する出力指示を受け付け、この出力指示に応じて測定情報取得部1203が、2以上の異なる回のサブレシピに対応した測定情報を取得する場合において、出力情報構成部1206は、測定情報取得部1203が取得した2以上の異なる回のサブレシピに対応した測定情報のうちの、各サブレシピ内の所定の始点からの経過時間が一致する測定情報に対して、所定の演算を行い、その演算結果に応じた出力情報を構成するようにしてもよい。所定の演算とは、具体的には、平均値の算出や、最大値や、最小値の算出、標準偏差の算出、最大値と最小値との差の算出等である。このようにすることで、例えば、2以上の異なる回のサブレシピの実行時に得られた測定値の平均値等の演算結果のチャート等を出力することができる。出力情報構成部1206は、例えば、予め設定された形式、もしくは指示受付部1205が受け付けた指示が指定する形式、具体的にはテキスト形式や、XML形式や、データベース形式等の出力情報を構成する。また、測定情報取得部1203が取得した測定情報を用いて出力情報であるチャートを構成する。その際、出力情報構成部1206は、異なる種類の測定情報や、異なる製造装置の測定情報を視覚的に区別して出力情報を構成することが好適である。出力情報構成部1206は、例えば、出力指示蓄積部1208に蓄積されている出力指示に応じた出力情報を構成し、出力する。また、取得した測定情報を用いて所定の演算を行い、当該演算結果に応じた出力情報を構成してもよい。所定の演算とは、例えば、所定の時間間隔ごとに、複数の測定情報が有する複数の値の平均値を算出したり、複数の測定情報を、時間軸に沿って積算したり、最大値を取得したり、最小値を取得したり、値を標準化したり、標準偏差を算出したり、中央値を取得したりする演算である。なお、このような所定の演算を、測定情報蓄積部1204が、元情報受信部1202が受信した複数の元情報を蓄積する際に、複数の元情報に対して行うようにしても良い。また、出力情報構成部1206は、後述する異常検知部1210の判断結果に応じた出力情報を構成してもよい。例えば、出力情報構成部1206は、測定情報取得部1203が取得した複数の測定情報から、チャートを構成するが、その際、出力情報構成部1206は、異常な測定情報と正常な測定情報とを視覚的に区別して出力情報を構成する。ここでの出力情報とは、例えば、異常である測定情報に関する測定部名と時刻のリスト情報であってもよい。この測定部名は、例えば、測定情報に含まれている測定部1106が測定する測定箇所を識別する情報に応じて取得される。また、出力情報とは、例えば、当該リスト情報や測定情報から構成されたチャートの情報であってもよい。出力情報とは、例えば、正常である旨、異常である旨である。出力情報とは、例えば、正常または異常のどちらかを示す音情報(ブザーなど)である。また、出力情報構成部1206は、異常の検知のために、異常値、正常値の範囲を示したチャートを構成する処理を行っても良い。かかる場合、異常検知部1210が、出力指示に合致する測定情報を読み込むが、異常検知の処理を行うか否かは問わない。出力情報構成部1206は、出力指示に二以上の製造装置識別子が含まれる場合、製造装置識別子ごとの測定情報が視覚的に区別できる態様のチャートを構成することは好適である。また、出力情報構成部1206は、出力指示に二以上のレシピ識別子が含まれる場合、レシピ識別子ごとの測定情報が視覚的に区別できる態様のチャートを構成することは好適である。ここで、製造装置識別子ごとの測定情報が視覚的に区別できる態様のチャートとは、出力指示が2以上の製造装置識別子を含む場合、製造装置識別子ごとの測定情報が異なる点の種類(四角と丸の形状、色、大きさ)で出力されているチャートや、製造装置識別子ごとの測定情報が異なる線の色で連結されているチャートなどである。また、製造装置識別子ごとの測定情報が視覚的に区別できる態様のチャートとは、出力指示が一つの製造装置識別子のみを含む場合、当該一の製造装置識別子の複数の測定情報からなるチャートをいう。また、レシピ識別子ごとの測定情報が視覚的に区別できる態様のチャートとは、出力指示が2以上のレシピ識別子を含む場合、レシピ識別子ごとの測定情報が異なる点の種類(四角と丸の形状、色、大きさ)や、レシピ識別子ごとの測定情報が異なる線の種類(実線と破線など)で連結されているチャートなどである。また、レシピ識別子ごとの測定情報が視覚的に区別できる態様のチャートとは、出力指示が一つのレシピ識別子のみを含む場合、当該一のレシピ識別子の複数の測定情報からなるチャートをいう。また、出力情報構成部1206は、読み出された複数の測定情報から、製造装置識別子ごとの測定情報が視覚的に区別できる態様のチャートであり、一種類の測定情報が有する時刻情報が示す時刻の順に、読み出した複数の測定情報をプロットしたチャートであるSPCチャート(統計的工程管理チャート)を構成しても良い。SPCチャートは、統計的工程管理に用いられるチャートであり、単変量を監視して異常検知を行うためのチャートである。SPCチャートにおいて、監視対象の上下限値(管理値)を設定しておき、管理値外の値となった場合、異常検知部1210が異常を検知し、検知した異常を視覚的に示すことは好適である。このような上限値は、例えば、後述する条件情報格納部1209に予め保持させておくようにする。また、出力情報構成部1206は、出力指示が一以上の製造装置識別子を含む場合、当該一以上の製造装置識別子のうちのいずれかを有する複数の測定情報から、製造装置識別子ごとの測定情報が視覚的に区別できる態様のチャートであり、二種類の測定情報の相関を示すチャートである相関チャートを構成しても良い。相関チャートは、2変量の相関関係を監視するチャートであり、2変量から異常を検知可能なチャートである。また、出力情報構成部1206は、出力指示が一以上のレシピ識別子を含む場合、当該一以上のレシピ識別子のうちのいずれかを有する複数の測定情報から、レシピ識別子ごとの測定情報が視覚的に区別できる態様のチャートであり、三種類以上の測定情報の相関を示すチャートであるMD(マハラノビス距離)チャートを構成しても良い。チャートの構成は、例えば、時間軸にしたがって、複数の測定情報を線で連結し、チャートを得る処理である。値と時刻情報を有する測定情報が複数与えられた場合に、チャートを構成する処理は公知技術であるので、詳細な説明は省略する。また、値と時刻情報を有する測定情報が複数与えられた場合に、SPCチャートや、相関チャートや、MDチャートを構成する処理は公知技術であるので、詳細な説明は省略する。また、二種類の測定情報とは、一の測定情報の中に、二種類の測定された値(例えば、温度とガス流量)を含む情報も含む。また、三種類以上の測定情報とは、一の測定情報の中に、三種類以上の測定された値(例えば、温度とガス流量と圧力)を含む情報も含む。出力情報構成部1206は、通常、MPUやメモリ等から実現され得る。出力情報構成部1206の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部1207は、出力情報構成部1206が構成したチャート等の出力情報を出力する。ここで、出力とは、通常、クライアント装置13への送信である。ただし、出力部1207は、サーバ装置12に接続されているディスプレイにチャートを表示したり、プリンタへ印字したり、外部の装置へ送信したりしても良い。出力部は1207、無線または有線の通信手段で実現され得る。ただし、出力部は1207、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現しても良い。
出力指示蓄積部1208は、点や線等の属性情報と製造装置識別子、または点や線等の属性情報とレシピ識別子等の指示である出力指示を蓄積する。出力指示蓄積部1208は、例えば、指示受付部1205がチャートの設定(色情報を含む)を蓄積する指示である蓄積指示を受け付けた場合に、点や線等の属性情報と製造装置識別子、または点や線等の属性情報とレシピ識別子を有する出力指示を蓄積しても良い。また、出力指示蓄積部1208は、通常、MPUやメモリ等から実現され得る。出力指示蓄積部1208の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
条件情報格納部1209は、異常検知の条件に関する情報である条件情報を格納している。条件情報は、例えば、測定値の正常範囲を示す上限値と下限値である。条件情報は、例えば、正常値と異常値との間の境界値のみでも良い。これらの値は、通常、管理値と呼ばれる。その他、条件情報は、測定の対象の値(温度、圧力、ガス流量、電力量など)によって、異なる。また、条件情報の構造は問わない。条件情報格納部1209は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
異常検知部1210は、測定情報取得部1203が取得した測定情報が有する値である測定値が異常であるか、正常であるかを判断する。異常検知部1210は、条件情報格納部1209の条件情報を用いて、測定情報が有する測定値が異常であるか、正常であるかを判断する。具体的には、異常検知部1210は、測定情報取得部1203が測定情報を取得した場合、当該測定情報が、それぞれ条件情報に合致するか否かを判断する。異常検知部1210は、通常、MPUやメモリ等から実現され得る。異常検知部1210の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、異常検知部1210における異常検知処理は、公知の異常検知の処理でも良い。
指示入力部1301は、各種の指示を入力する。各種の指示とは、例えば、上述したようなサーバ装置12に蓄積されている測定情報の出力指示である。また、起動の指示や、チャートの出力指示や、チャートの属性値(線種や線の色や点の種類や点の色など)の変更の指示などである。指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。指示入力部1301は、テンキーやキーボード等の入力手段と、そのデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
指示送付部1302は、指示入力部1301から入力された指示をサーバ装置12に送付する。ここでの送付とは、通常、通信手段を用いた送信である。指示送付部1302は、無線または有線の通信手段等で実現され得る。
受付部1303は、サーバ装置12からチャート等の出力情報を受け付ける。ここでの受け付けとは、通常、通信手段を用いた受信である。受付部1303は、無線または有線の通信手段等で実現され得る。
表示部1304は、受付部1303が受け付けたチャート等の出力情報をディスプレイに表示する。なお、受付部1303が、サーバ装置12から、テキスト形式や、XML形式や、データベース形式等の出力情報を受信する場合、表示部1304が、これらの出力情報から、表示データを構成するためのMPUやメモリ等を備えるようにして、表示部1304が出力情報構成部1206と同様に、チャート等の表示用の出力情報を構成し、この出力情報をディスプレイに表示するようにしても良い。表示部1304は、ディスプレイを含むと考えても含まないと考えても良い。表示部1304は、ディスプレイのドライバーソフトまたは、ディスプレイのドライバーソフトとディスプレイ等で実現され得る。
次に、群管理システムの動作について説明する。まず、製造装置11の動作について図4のフローチャートを用いて説明する。なお、ここでは、元情報が、測定時に実行しているステップに対応したステップ識別子、また、そのステップがサブレシピを実行するステップである場合、当該サブレシピに対応したサブレシピ識別子と、そのサブレシピを構成するサブレシピステップのうちの、測定時に実行しているサブレシピステップに対応したサブレシピステップ識別子と、を含む場合について説明する。
(ステップS401)処理部1105は、レシピ格納部1102のレシピを読み出す。
(ステップS402)処理部1105は、カウンタiに1を代入する。
(ステップS403)処理部1105は、ステップS401で読み込んだレシピ中に、i番目のステップが存在するか否かを判断する。i番目のステップが存在すればステップS404に行き、i番目のステップが存在しなければステップS420に行く。
(ステップS404)処理部1105は、i番目のステップが、サブレシピを実行するステップであるか否かを判断する。サブレシピを実行するステップである場合、ステップS405に進みサブレシピを実行するステップでない場合、ステップS413に進む。
(ステップS405)処理部1105は、カウンタhに1を代入する。
(ステップS406)処理部1105は、ステップS404で実行されると判断されたサブレシピのサブレシピステップに、h番目のサブレシピステップが存在するか否かを判断する。h番目のサブレシピステップが存在すればステップS407に行き、i番目のステップが存在しなければステップS418に行く。
(ステップS407)処理部1105は、h番目のサブレシピステップの処理を実行する。
(ステップS408)測定部1106は、予め決められた1種以上の測定(例えば、温度と圧力)を行い、測定値(ここでの測定値は、通常、1種以上の値のみ有する)を取得する。
(ステップS409)測定部1106は、計時部1104から時刻情報を、また、レシピ格納部1102から、現在実行中のサブレシピステップのサブレシピステップ識別子と、このサブレシピステップを含むステップおよびサブレシピに対応した、ステップ識別子およびサブレシピ識別子と、を取得し、測定した情報に、時刻情報と、ステップ識別子、サブレシピ識別子、およびサブレシピステップ識別子とを付与して、元情報を構成する。
(ステップS410)元情報蓄積部1107は、ステップS409で構成した元情報を、図示しないメモリに一時蓄積する。
(ステップS411)処理部1105は、h番目のサブレシピステップの処理が終了したか否かを判断する。例えば、h番目のサブレシピステップの処理時間が予め決められている場合、その処理時間が経過したか否かを判断する。また、h番目のサブレシピステップの処理の終了条件が決まっている場合、例えば、温度が所定の温度に達した場合に処理が終了することが予め決まっている場合、処理条件を満たしたか否かを判断し、満たした場合に、処理を終了することを決定する。処理を終了する場合、ステップS412に進み、処理を終了しない場合、ステップS408に戻る。
(ステップS412)処理部1105は、カウンタhを1、インクリメントし、ステップS406に戻る。
(ステップS413)処理部1105は、i番目のステップの処理を実行する。
(ステップS414)測定部1106は、予め決められた1種以上の測定(例えば、温度と圧力)を行い、測定値(ここでの測定値は、通常、1種以上の値のみ有する)を取得する。
(ステップS415)測定部1106は、計時部1104から時刻情報を、また、レシピ格納部1102から実行中のステップについてのステップ識別子を取得し、測定した情報に時刻情報とステップ識別子とを付与して、元情報を構成する。
(ステップS416)元情報蓄積部1107は、ステップS406で構成した元情報を、図示しないメモリに一時蓄積する。
(ステップS417)処理部1105は、i番目のレシピステップの処理が終了したか否かを判断する。例えば、i番目のレシピステップの処理時間が予め決められている場合、その処理時間が経過したか否かを判断する。また、i番目のレシピステップの処理の終了条件が決まっている場合、例えば、温度が所定の温度に達した場合に処理が終了することが予め決まっている場合、処理条件を満たしたか否かを判断し、満たした場合に、処理を終了することを決定する。処理を終了する場合、ステップS418に進み、処理を終了しない場合、ステップS414に戻る。
(ステップS418)元情報送信部1108は、ステップS410またはステップS416で一時蓄積した元情報(ここでは、1種以上の測定値と時刻情報とステップ識別子との組、または1種以上の測定値と時刻情報とステップ識別子とサブレシピ識別子とサブレシピステップ識別子との組、)をサーバ装置12に送信する。なお、元情報送信部1108は、サーバ装置12と通信するための情報(例えば、サーバ装置12のIPアドレス等)を保持している、とする。
(ステップS419)処理部1105は、カウンタiを1、インクリメントし、ステップS403に戻る。
(ステップS420)元情報送信部1108は、レシピ格納部1102から、レシピ識別子を読み出す。このレシピ識別子は、ステップS401で読み込んだレシピのレシピ識別子である。
(ステップS421)元情報送信部1108は、製造装置識別子格納部1103から、製造装置識別子を読み出す。
(ステップS422)元情報送信部1108は、ステップS410からステップS411で読み出したレシピ識別子、および製造装置識別子をサーバ装置12に送信する。なお、元情報送信部1108は、サーバ装置12と通信するための情報(例えば、サーバ装置12のIPアドレス等)を保持している、とする。そして、処理を終了する。
なお、図4のフローチャートのステップS410やステップS416において、元情報蓄積部1107が、ステップS409やステップS415で構成した元情報を、図示しないメモリに一時蓄積する代わりに、逐次、ステップS418と同様にサーバ装置12に送信するようにしても良い。このようにすれば、リアルタイムに、サーバ装置にデータを送信することができる。また、製造装置識別子や、レシピ識別子は、測定の開始時に送信するようにしても良いし、各測定情報に含ませるようにしても良い。
なお、ステップS409やステップS415において、元情報にステップ識別子を含ませない場合、ステップS418の処理前に、レシピ格納部1102から、ステップ識別子を読み出して、これをステップS418において、元情報とともに、サーバ装置12に送信する処理を行うようにしても良い。
次に、サーバ装置12の動作について図5のフローチャートを用いて説明する。なお、ここでは、指示受付部1205が受け付ける出力指示がチャートの出力指示である場合を例に挙げて説明する。
(ステップS501)指示受付部1205は、指示を受け付けたか否かを判断する。指示を受け付ければステップS502に行き、指示を受け付けなければステップS512に行く。
(ステップS502)測定情報取得部1203は、ステップS501で受け付けた指示がチャートの出力情報の出力指示であるか否かを判断する。チャートの出力指示であればステップS503に行き、チャートの出力指示でなければステップS501に戻る。
(ステップS503)測定情報取得部1203は、ステップS501で受け付けたチャートの出力指示に、サブレシピを指定する指示、具体的にはサブレシピ識別子、が含まれるか否かを判断する。含まれる場合、ステップS504に進み、含まれない場合、ステップS501に戻る。なお、ステップS501に戻る前に、出力指示に含まれる指示、例えば所望のステップ識別子を有する測定情報を出力する指示に従って、所望のステップ識別子を有する測定情報を取得し、出力する処理を行うようにしても良い。
(ステップS504)測定情報取得部1203は、カウンターmに1を代入する。
(ステップS505)測定情報取得部1203は、出力指示に、複数回実行されるサブレシピのうちの、m番目の所望の回に実行されるサブレシピを指定する指示があるか否かを判断する。「m番目の所望の回」とは、例えば、所望のサブレシピが5回実行された場合において、所望の回を2回目と、3回目と、5回目との計3回に設定したとすると、m=1番目の所望の回は2回目、m=2番目の所望の回は3回目、m=3番目の所望の回は、5回目となる。ただし、mの値が増加した場合に、必ずしも複数の所望の回を、その値の小さいものから順に選択する必要はない。例えば、出力指示が、サブレシピが2回目と3回目とに実行された際に得られた測定情報を指定する指示を含む場合、mが「1」および「2」の時に、測定情報取得部1203は、出力指示にm番目の所望の回に実行されるサブレシピを指定する指示がある、と判断する。また、例えば、レシピの実行時に、所望のサブレシピが10回実行された場合において、出力指示が、サブレシピが実行された全ての回において得られた測定情報を指定する指示を含む場合、10回のサブレシピ全てについての指定があることとなるため、mが「1」から「10」までのそれぞれの値である時に、測定情報取得部1203は、出力指示にm番目の所望の回に実行されるサブレシピを指定する指示がある、と判断してもよい。なお、出力指示に、出力対象となるサブレシピの処理された回を指定する値が指定されていない場合、所望の回を指定する値は、予めデフォルトで、例えば「1」等に設定するようにすることが好ましい。m番目の所望の回に実行されるサブレシピを指定する指示がある場合、ステップS506に進み、ない場合、ステップS509に進む。
(ステップS506)測定情報取得部1203は、測定情報格納部1201に格納されている測定情報のうちの、出力指示に含まれる製造装置識別子およびレシピ識別子が一致する測定情報内から、出力指示に含まれるサブレシピ識別子に対応したサブレシピのm番目の処理回を実行した際に取得された測定情報を取得する。例えば、レシピの実行時に、所望のサブレシピが10回実行された場合において、出力指示が、サブレシピが2回目と5回目とに実行された際に得られた測定情報を指定する指示を含む場合、m=1の場合には、2回目にサブレシピが実行された際に測定された測定値を用いた測定情報が取得される。また、m=2の場合には、5回目にサブレシピが実行された際に測定された測定値を用いた測定情報が取得される。この処理の詳細については、後述する。
(ステップS507)測定情報取得部1203は、ステップS506において取得した測定情報を、図示しないメモリ等に一時記憶する。なお、ステップS506において、すでにメモリ等に測定情報が蓄積されている場合、この処理は行わなくても良い。
(ステップS508)測定情報取得部1203は、カウンターmを1インクリメントする。そして、ステップS506に戻る。
(ステップS509)異常検知部1210は、ステップS506で取得した1以上の測定情報が有する各測定値が異常であるか、正常であるか否かを判断する。具体的には、異常検知部1210は、条件情報を用いて、各測定値が異常であるか、正常であるか否かを判断する。
(ステップS510)出力情報構成部1206は、ステップS503で取得した測定情報を用いて、受け付けた出力指示に従ったチャートなどの出力情報を構成する。この際、測定情報に対して所定の演算を行っても良い。特に、複数回実行されたサブレシピのうちの、異なる2以上の回に対応して測定された測定情報が、測定情報取得部1203により取得された場合、出力情報構成部1206は、測定情報取得部1203が取得した2以上の異なる回のサブレシピに対応して得られた測定情報のうちの、各サブレシピ内の所定の始点からの経過時間が一致する測定情報に対して、所定の演算を行い、その演算結果に応じた出力情報を構成するようにしてもよい。なお、2以上の測定情報の時間軸を合わせて、それぞれの測定情報の値について、平均や、最大値や、最小値等を算出して、新たな測定情報を構成する処理については、公知技術であるので、ここでは詳細な説明は省略する。なお、出力情報がチャートである場合、チャートの線の属性値(線の色や線種や点の色や点の種類など)は、指示された属性値や、デフォルトの属性値等であり、出力情報構成部1206は、かかる属性値を用いて、チャートを構成する。構成するチャートは、製造装置識別子ごとの測定情報が視覚的に区別できる態様のチャート、またはレシピ識別子ごとの測定情報が視覚的に区別できる態様のチャート、あるいは、この両方を視覚的に区別できる態様のチャートである。また、構成するチャートは、出力指示が有するチャートの種類の情報(SPCチャート、相関チャート、MDチャートなど)に従ったチャートである。また、出力情報構成部1206は、ステップS505における異常検知処理の結果に応じた出力情報を構成する。「異常検知処理の結果に応じた出力情報」とは、異常な測定情報か、正常な測定情報かを明示する態様の出力情報でも良いし、異常と正常の閾値を明示したチャート等でも良い。
(ステップS511)出力部1207は、ステップS510で構成した出力情報を出力する。ここでの出力とは、クライアント装置13への送信である。そして、ステップS501に戻る。
(ステップS512)元情報受信部1202は、1以上の元情報を、製造装置11から受信したか否かを判断する。元情報を受信すれば、一時的に図示しないメモリ等に蓄積してステップS508に進み、元情報を受信しなければステップS501に戻る。
(ステップS513)測定情報蓄積部1204は、元情報受信部1202が受信した元情報に対して所定の演算を行い、1以上の測定情報を取得する。複数の元情報に対して所定の演算を行うとは、複数の元情報が有する複数の組が有する1種類以上の値それぞれに対して所定の演算(平均値算出、標準偏差算出、最大値取得など)を行うことである。ただし、所定の演算は行わなくても良い。また、所定の演算の対象となる複数の元情報とは、所定時間間隔(例えば、10分)ごとの複数の元情報ごとであってり、所定のステップ数ごとの複数の元情報ごとである。なお、測定情報蓄積部1204は、元情報受信部1202が受信した元情報、あるいは測定情報に対して、元情報受信部1202が受信した製造装置識別子やレシピ識別子等を適宜付加するようにしても良い。
(ステップS514)測定情報蓄積部1204は、ステップS513で取得した1以上の測定情報を測定情報格納部1201に蓄積する。ステップS501に戻る。
なお、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図5のフローチャートにおいては、チャートの出力指示を受け付ける前に、測定情報が蓄積されている、とする。
また、図5のフローチャートにおいて、測定情報の代わりに元情報を蓄積しておいて、チャートなどの出力情報の出力を行う際に、複数の元情報に対して所定の演算を行い、1以上の測定情報を取得し、当該1以上の測定情報を用いて出力情報を構成し、出力しても良い。つまり、測定情報を構成するタイミングは問わない。
以下、図5のフローチャートにおいてステップS506に示した、サブレシピのm番目の処理回の測定情報を取得する処理について図6のフローチャートを用いて説明する。ここでは、出力指示に、出力対象となる測定情報が取得された際に実行されていたサブレシピステップに対応したサブレシピ識別子、およびサブレシピのm番目の処理回を示す情報が、含まれているものとする。m番目の処理回の値が、ここではs(sは正の整数)であるとする。例えば出力指示により指定されている複数の処理回のうちの、m番目の処理回が5回目である場合、s=5となる。また、ここでは、説明を簡略化するために、出力指示に製造装置識別子およびレシピ識別子が含まれており、測定情報格納部1201に格納されている測定情報のうちの、出力指示に含まれる製造装置識別子およびレシピ識別子が一致する測定情報内から、測定情報が検索されるものとする。
(ステップS601)測定情報取得部1203は、カウンターnに1を代入する。
(ステップS602)測定情報取得部1203は、カウンターkを0を代入する。
(ステップS603)測定情報取得部1203は、時刻情報に応じてソートされた、出力指示に含まれる製造装置識別子およびレシピ識別子が一致する測定情報の中に、n番目の測定情報があるか否かを判断する。ある場合、ステップS604に進み、ない場合、上位関数にリターンする。なお、ない場合、対応する測定情報がない旨等のエラー出力を行った後、上位関数にリターンしても良い。
(ステップS604)測定情報取得部1203は、n番目の測定情報が、出力指示に含まれるサブレシピ識別子と一致するサブレシピ識別子を有するか否かを判断する。ここで述べる一致は、完全一致であっても部分一致であっても良い。有する場合、ステップS605に進み、有さない場合、ステップS614に進む。
(ステップS605)測定情報取得部1203は、カウンターkを1インクリメントする。
(ステップS606)測定情報取得部1203は、カウンターkの値がsであるか否かを判断する。sであれば、ステップS607に進み、sでなければ、ステップS615に進む。
(ステップS607)測定情報取得部1203は、n番目の測定情報を取得する。なお、ここで述べる測定情報の取得とは、測定情報内の測定値だけを取得することであってもよい。
(ステップS608)測定情報取得部1203は、ステップS607で取得した測定情報を図示しないメモリ等に追記して蓄積する。また、メモリ等に蓄積する際に、測定情報に、m番目の処理回の値sを付加するようにしても良い。これにより、このsの値を出力して、所望のサブレシピが何回目に実行された測定情報であるかを、判別することが可能となる。最終的に、このメモリ等に蓄積された測定情報が、測定情報取得部1203が取得した、複数回実行される所望のサブレシピの、m番目の処理回において取得された測定情報となる。
(ステップS609)測定情報取得部1203は、カウンターnを1インクリメントする。
(ステップS610)測定情報取得部1203は、ステップS603と同様に、n番目の測定情報があるか否かを判断する。ある場合、ステップS611に進み、ない場合、上位関数にリターンする。なお、ない場合、対応する測定情報がない旨等のエラー出力を行った後、上位関数にリターンしても良い。
(ステップS611)測定情報取得部1203は、ステップS604と同様に、n番目の測定情報が、出力指示に含まれるサブレシピ識別子と一致するサブレシピ識別子を有するか否かを判断する。有する場合、ステップS612に進み、有さない場合、上位関数にリターンする。
(ステップS612)測定情報取得部1203は、n番目の測定情報に対応したサブレシピステップ識別子の値が、出力指示に含まれる製造装置識別子およびレシピ識別子が一致するとともに、n番目の測定情報の時刻情報に対して直前の値の時刻情報をもつ、n−1番目の測定情報に対応したサブレシピステップ識別子の値と一致するか否かを判断する。一致する場合、ステップS607に進み、一致しない場合、ステップS613に進む。ただし、ここでは、サブレシピステップ識別子は、サブレシピステップの処理順番に従って、値が1ずつ増加する数値を含む値に設定されているものとする。
(ステップS613)測定情報取得部1203は、n番目の測定情報に対応したサブレシピステップ識別子の値が、n−1番目の測定情報に対応したサブレシピステップ識別子の値を1インクリメントした値、と一致するか否かを判断する。一致する場合、ステップS607に戻り、一致しない場合、上位関数にリターンする。なお、一致しないということは、測定情報が、サブレシピを構成するサブレシピステップの配列の規則性に合致していないことを意味する。この処理により、サブレシピを構成する複数のサブレシピステップが繰り返し行われているか否かを判断でき、これにより、サブレシピが繰り返し行われたことを判断することができる。サブレシピが繰り返されていた場合、その時点で、サブレシピの処理回が変更されるため、測定値を取得する処理が終了される。
(ステップS614)測定情報取得部1203は、カウンターnを1インクリメントする。そして、ステップS603に戻る。
(ステップS615)測定情報取得部1203は、カウンターnを1インクリメントする。
(ステップS616)測定情報取得部1203は、ステップS603と同様に、n番目の測定情報があるか否かを判断する。ある場合、ステップS617に進み、ない場合、上位関数にリターンする。なお、ない場合、対応する測定情報がない旨等のエラー出力を行った後、上位関数にリターンしても良い。
(ステップS617)測定情報取得部1203は、ステップS604と同様に、n番目の測定情報が、出力指示に含まれるサブレシピ識別子と一致するサブレシピ識別子を有するか否かを判断する。有する場合、ステップS618に進み、有さない場合、ステップS620に進む。
(ステップS618)測定情報取得部1203は、ステップS612と同様に、n番目の測定情報に対応したサブレシピステップ識別子の値が、n−1番目の測定情報に対応したサブレシピステップ識別子の値と一致するか否かを判断する。一致する場合、ステップS615に戻り、一致しない場合、ステップS619に進む。
(ステップS619)測定情報取得部1203は、ステップS613と同様に、n番目の測定情報に対応したサブレシピステップ識別子の値が、n−1番目の測定情報に対応したサブレシピステップ識別子の値を1インクリメントした値、と一致するか否かを判断する。一致する場合、ステップS615に戻り、一致しない場合、ステップS605に戻る。
なお、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
なお、図6のフローチャートにおいて、サブレシピが、連続して繰り返し実行されることがないことが、予め分かっている場合、サブレシピステップが繰り返し行われているかを判断する処理が不要となるため、ステップS612およびステップS613の処理と、ステップS618およびステップS619の処理とを省略してもよい。この場合、ステップS612の処理により、サブレシピステップ識別子の値が一致すると判断された場合、ステップS607に戻るようにし、ステップS617の処理により、サブレシピステップ識別子の値が一致すると判断された場合、ステップS615に戻るようにすればよい。
さらに、図5および図6のフローチャートにおいて、ユーザが、出力情報の出力指示を入力することにより、リアルタイムに異常検知が開始され、元情報を受信する度に、出力情報(チャートなど)を更新しながら異常検知処理を行い、異常が起こればすぐにユーザに知らせるようにすることは好適である。つまり、図5および図6のフローチャートにおいて、以下の処理を行うことはさらに好適である。例えば、元情報受信部1202は、製造装置11での製造中等において、製造装置11から次々と送られてくる元情報をリアルタイムに受信し、測定情報蓄積部1204は、測定情報格納部1201に測定情報を少なくとも一時的に順次蓄積する。そして、測定情報取得部1203は、測定情報を蓄積する毎に、この測定情報に対して、ステップS503からステップS619までの処理を実施していくようにすればよい。このとき、図6のフローチャートにおいては、上記の順次蓄積された測定情報を、n番目の測定情報として適宜取り扱うようにし、nの値を1インクリメントする際には、次に蓄積される測定情報を適宜取り扱いようにすればよい。かかる処理により、リアルタイムに製造装置11の状態を確認できるとともに、リアルタイムに異常検知がなされ、ユーザは異常の発生を直ちに認識できる。
また、所望のサブレシピの全ての処理回の測定値を、処理回毎に取得する指示を受け付けた場合には、図5に示したフローチャートにおいて、ステップS505の処理を省略するとともに、m番目の処理回の値をmに設定、すなわちm=sに設定するようにして、mの値を1インクリメントさせながら、ステップS506の処理、すなわち図6のフローチャートの処理を繰り返して、処理回ごとの測定値を取得するとともに、ステップS506の処理、すなわち図6のフローチャートの処理において、エラーが出力される等により、測定値が取得されなかった場合に、ステップS509に進むようにすればよい。
あるいは、所望のサブレシピ識別子を有する測定情報を、異なるステップ識別子毎に取得するようにして、所望のサブレシピの全ての処理回の測定値を、処理回毎に取得するようにしてもよい。
次に、クライアント装置13の動作について説明する。クライアント装置13の指示入力部1301がユーザからチャートの出力指示を受け付けた場合、指示送付部1302は、当該出力指示をサーバ装置12に送付し、サーバ装置12での処理結果であるチャートの情報を受付部1303が受け付け、表示部1304がチャートを表示する。
以下、本実施の形態における群管理システムの具体的な動作について説明する。群管理システムの概念図は図1である。
図7は、1以上の製造装置11のレシピ格納部1102に格納されているレシピを管理するレシピ管理表である。レシピ管理表は、「レシピ識別子」、「ステップ識別子」、「処理条件」という属性を有している。「レシピ識別子」はレシピ識別子、「ステップ識別子」はレシピを構成するステップのステップ識別子、「処理条件」は、各ステップの処理条件、例えば、処理時間や、処理温度等の設定、である。なお、「ステップ識別子」の属性値が、サブレシピ識別子である場合、そのサブレシピの処理が、当該ステップにおいて実行されることを示す。
図8は、1以上の製造装置11のレシピ格納部1102に格納されているサブレシピを管理するサブレシピ管理表である。サブレシピ管理表は、「サブレシピ識別子」、「サブレシピステップ識別子」、「処理条件」という属性を有している。「サブレシピ識別子」はサブレシピ識別子、「ステップ識別子」はサブレシピを構成するサブレシピステップのサブレシピステップ識別子、「処理条件」は、各サブレシピステップの処理条件、例えば、処理時間や、処理温度等の設定、である。なお、サブレシピおよびサブレシピステップは、基本的には、レシピおよびステップと同様であるので、サブレシピの代わりにレシピを用いることも可能である。
本具体例において、1以上の製造装置11の入力受付部1101が、ユーザからのウエハに対する加工処理の開始指示を受け付けると、処理部1105は、レシピ格納部1102のレシピを読み出し、読み出したレシピをステップ毎に実行し、ウエハの加工処理を進める。そして、測定部1106は、ウエハの加工処理中、例えば、1秒ごとに、予め決められた炉内のガス流量を測定し、取得したガス流量と、計時部1104から取得した時刻情報と、レシピ格納部1102から取得したステップ識別子とを対にした元情報を構成する。このとき、実行するステップが、サブレシピを実行するステップである場合、そのサブレシピを構成するサブレシピステップを、順次実行する。そして、取得したガス流量等の測定値と、計時部1104から取得した時刻情報と、レシピ格納部1102から取得したステップ識別子とに加えて、さらに実行中のサブレシピ識別子と、実行中のサブレシピステップ識別子とを対にした元情報を構成する。構成した元情報は、元情報蓄積部1107により一時的に蓄積される。蓄積された元情報の例は、図9である。ここでは、説明を簡単にするために測定値が、ガス流量の測定値である場合について説明しており、以下についても同様とする。なお、サブレシピ識別子とサブレシピステップ識別子がない元情報については、これらの識別子を省略するか、もしくは、これらの識別子が格納される位置に、これらの識別子がないことを示す情報を格納しておく。元情報は、ステップ識別子、サブレシピ識別子、サブレシピステップ識別子、ガス流量、時刻情報を有する。なお、時刻情報は、時刻を示す情報であり、時・分・秒までを特定する情報でも良いし、日時、および時だけの情報でも良い。なお、この元情報が、データタイプ(測定情報のデータの種類であり、例えば、ガス流量や温度や圧力などがある)の情報、ここではガス流量であることを示す情報、を含んでいてもよい。
製造装置11の元情報送信部1108は、レシピを構成するすべてのステップの実行が完了した段階で、元情報蓄積部1107により蓄積された元情報を、サーバ装置12に送信する。また、製造装置11の元情報送信部1108は、製造装置識別子格納部1103の製造装置識別子、およびレシピ格納部1102のレシピ識別子(被処理基板に対する所定のプロセスを行う際に実行したレシピの識別子)を読み出し、サーバ装置12に送信する。なお、ここでは、すべてのステップが終了した際に、元情報をサーバ装置12に送信するようにしたが、例えば、1つの元情報を取得する毎に、リアルタイムにサーバ装置12に送信するようにしても良い。
次に、サーバ装置12の元情報受信部1202は、ステップ識別子と、ガス流量と時刻情報との組により構成される元情報を受信する。また、製造装置識別子、およびレシピ識別子を受信する。そして、測定情報蓄積部1204は、ステップ識別子とガス流量と時刻情報との複数の組、レシピ識別子、および製造装置識別子を有する元情報を図示しないメモリ等に蓄積する。かかる元情報の例を図10に示す。図10は、元情報管理表である。元情報管理表は、「製造装置識別子」、「レシピ識別子」、「ステップ識別子」、「ステップ識別子」、「サブレシピ識別子」、「値(ガス流量)」「時刻情報」を有する。図10の元情報管理表は、一の製造装置識別子およびレシピ識別子に対して、値(ここでは、1種類)と、ステップ識別子と、時刻情報との複数の組が対応するデータ構造を有している。また、図10においては、1以上の製造装置11、および複数のレシピの実行に対応した元情報が管理されているものとする。なお、図10の元情報等の値は、説明のために用意された情報であり、実測値ではない。
次に、測定情報蓄積部1204は、図10に示した複数の元情報に対して所定の演算を行い、複数の測定情報を取得する。ここでは、所定の演算は、平均値の算出であり、測定情報蓄積部1204は、10秒おきに平均値を算出する、とする。測定情報蓄積部1204はこの複数の測定情報を、測定情報格納部1201に蓄積する。図11は、測定情報蓄積部1204に蓄積されている測定情報を管理するための、測定情報管理表である。測定情報管理表は、「製造装置識別子」、「レシピ識別子」、「ステップ識別子」、「サブレシピ識別子」、「サブレシピステップ識別子」、「平均値(ガス流量)」、「時刻情報」を有する。製造装置識別子」、「レシピ識別子」、「ステップ識別子」、「サブレシピ識別子」、「サブレシピステップ識別子」、「時刻情報」は、図10と同様である。また、平均値は、測定情報蓄積部1204が算出した平均値である。
また、条件情報格納部1209には、炉内のガス流量の正常/異常を判断する条件情報「260<=ガス流量<=280」を格納している、とする。
かかる状況において、ユーザは、クライアント装置13から、図12に示す画面に対して、必要な情報を入力し、「チャート出力」ボタンを押下する、とする。図12は、チャートの出力指示を入力し、チャートを出力するための画面である。ここで、必要な情報とは、出力したいサブレシピを指定するための情報、具体的にはサブレシピ識別子と、そのサブレシピの1以上の処理回を指定する情報、ここでは、1回目と、3回目とを指定する情報であり、図12に示すように、フィールド101にサブレシピ識別子が、また、フィールド102に出力対象となる処理回を指定する値が入力されている。なお、「全て」を指定するチェックボックス103にチェックをいれると、処理回の全てを出力対象に指定することとなる。この情報の他には、データタイプ(測定情報のデータの種類であり、例えば、ガス流量や温度や圧力などがある)、製造装置識別子、レシピ識別子のうちの1以上の情報等の情報が適宜指定される。図12においては、サブレシピ識別子「SR01」および処理回「1,3」と、データタイプ「ガス流量」と、製造装置識別子「E1」と、レシピ識別子「R1」とが入力されていることとなる。したがって、かかる状況で、ユーザが「チャート出力」ボタンを押下すれば、指示入力部1301は、「ガス流量」の測定情報(例えば、図11に示す情報)のうち、「サブレシピ識別子=SR01」かつ「処理回=1,2,3」かつ「製造装置識別子=E1」かつ「レシピ識別子=R1」の条件に合致する測定情報を出力する出力指示を受け付ける。なお、かかる出力指示の例は、例えば、「チャート出力 サブレシピ識別子="SR01",処理回="1,3",データタイプ="ガス流量",製造装置識別子="E1",レシピ識別子="R1"」である。
次に、指示送付部1302は、出力指示「チャート出力 サブレシピ識別子="SR01",処理回="1,3",データタイプ="ガス流量",製造装置識別子="E1",レシピ識別子="R1"」をサーバ装置12に送信する。
そして、サーバ装置12の指示受付部1205は、出力指示「チャート出力 サブレシピ識別子="SR01",処理回="1,3",データタイプ="ガス流量",製造装置識別子="E1",レシピ識別子="R1"」を受信する。
次に、サーバ装置12の測定情報取得部1203は、測定情報格納部1201に格納されている測定情報から、出力指示「チャート出力 サブレシピ識別子="SR01",処理回="1,3",データタイプ="ガス流量",製造装置識別子="E1",レシピ識別子="R1"」に合致する測定情報を検索し、取得する。
まず、測定情報取得部1203は、1番目の処理回である1回目に実行されたサブレシピについての測定情報を取得する。測定情報取得部1203は、図11に示す測定情報管理表に基づいて、処理回sの値を「1」に設定する。そして、測定情報取得部1203は、カウンターnの値を1に設定して、このカウンターnの値を1ずつインクリメントしながら、製造装置識別子が"E1"で、レシピ識別子が"R1"である測定情報のうちの、時間軸に沿ったn番目の測定情報について、サブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かを順次判断していく。ここでは、ステップ識別子が「S1」である測定情報は、すべてサブレシピ識別子を有していないため、ステップ識別子が「S2」である測定情報のうちの最初の測定情報、すなわち「時刻情報」が「2005/12/02 16:20:00」である測定情報のサブレシピ識別子が"SR01"一致すると判断される。そして、カウンターkの値を「1」に設定する。このカウンターkの値が、処理回sの値である「1」と一致するため、測定情報取得部1203は、この測定情報を取得して、メモリ等に蓄積する。なお、このとき「値(ガス流量)」の属性値だけを取得して蓄積するようにしてもよい。かかることは、測定情報取得部1203が、他の測定情報を取得する際においても同様である。
つぎに、測定情報取得部1203はカウンターnを1インクリメントさせてn番目の測定情報のサブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かを判断する。ここでは、「時刻情報」が「2005/12/02 16:20:10」である測定情報の「サブレシピ識別子」が出力指示の「SR01」と一致する。
つぎに、n番目の測定情報のサブレシピステップ識別子が、n−1番目の測定情報のサブレシピステップ識別子、もしくはそのサブレシピステップ識別子の数値部分を1インクリメントした値と一致するか否か判断する。ここでは、n−1番目の測定情報のサブレシピステップ識別子と一致しているため、この測定情報を取得し、蓄積する。
そして、同様の処理を繰り返す。なお、ここでは、「時刻情報」が「2005/12/02 16:20:00」から、「2005/12/02 16:24:50」までの間に、サブレシピの繰り返しは行われておらず。サブレシピステップ識別子SRS004のサブレシピステップと、サブレシピステップ識別子SRS005のサブレシピステップが、それぞれ1回ずつ行われたのみとし、これらの測定情報のサブレシピステップ識別子はSRS004からSRS005に時間軸に沿って数値部分が単調に増加しているものとする。そして、n番目の測定情報が、「時刻情報」が「2005/12/02 16:25:00」である測定情報となった時点で、この測定情報のサブレシピ識別子が、「SR02」ではなくなるため、1回目のサブレシピの実行において得られた測定情報を取得する処理が終了する。これにより、「時刻情報」が「2005/12/02 16:20:00」から、「2005/12/02 16:24:50」までの測定情報が測定情報取得部1203により取得される。なお、ここでは、処理の終了時に、処理回sの値を測定情報に付加して蓄積するものとする。
つぎに、測定情報取得部1203は、第2番目の処理回である3回目に実行されたサブレシピについての測定情報を取得する。測定情報取得部1203は、図11に示す測定情報管理表に基づいて、処理回sの値を「3」に設定する。そして、測定情報取得部1203は、カウンターnの値を1に設定して、このカウンターnの値を1ずつインクリメントしながら、製造装置識別子が"E1"で、レシピ識別子が"R1"である測定情報のうちの、時間軸に沿ったn番目の測定情報について、サブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かを順次判断していく。ここでは、ステップ識別子が「S1」である測定情報は、すべてサブレシピ識別子を有していないため、ステップ識別子が「S2」である測定情報のうちの最初の測定情報、すなわち「時刻情報」が「2005/12/02 16:20:00」である測定情報のサブレシピ識別子が"SR01"一致すると判断される。そして、カウンターkの値を初期値である「0」から、値を1インクリメントした「1」に設定する。このカウンターkの値が、処理回sの値である「3」と一致しないため、測定情報取得部1203は、この測定情報を取得しない。
つぎに、測定情報取得部1203はカウンターnを1インクリメントさせてn番目の測定情報のサブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かを判断する。ここでは、一致するため、n番目の測定情報のサブレシピステップ識別子が、n−1番目の測定情報のサブレシピステップ識別子、もしくはそのサブレシピステップ識別子の数値部分を1インクリメントした値と一致するか否か判断される。ここでは一致するため、再度、nの値を1ずつインクリメントさせて、再度、n番目の測定情報のサブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かの判断処理と、n番目の測定情報のサブレシピステップ識別子が、n−1番目の測定情報のサブレシピステップ識別子、もしくはそのサブレシピステップ識別子の数値部分を1インクリメントした値と一致するか否かの判断処理とが繰り返される。
そして、n番目の測定情報が、「時刻情報」が「2005/12/02 16:25:00」である測定情報となった時点で、この測定情報のサブレシピ識別子が、「SR02」ではなくなるため、1回目に実行されたサブレシピに対応した測定情報を取得する処理が終了する。
そして、測定情報取得部1203は、再び、カウンターnの値を1インクリメントしながら、製造装置識別子が"E1"で、レシピ識別子が"R1"である測定情報のうちの、時間軸に沿ったn番目の測定情報について、サブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かを順次判断していく。ここでは、「時刻情報」が「2005/12/02 16:55:00」である測定情報の「サブレシピ識別子」が出力指示の「SR01」と一致する。そして、カウンターkの値を1インクリメントして「2」に設定する。このカウンターkの値が、処理回sの値である「1」と一致しないため、測定情報取得部1203は、この測定情報を取得しない。
つぎに、測定情報取得部1203はカウンターnを1インクリメントさせてn番目の測定情報のサブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かを判断する。ここでは、一致するため、n番目の測定情報のサブレシピステップ識別子が、n−1番目の測定情報のサブレシピステップ識別子、もしくはそのサブレシピステップ識別子の数値部分を1インクリメントした値と一致するか否か判断される。ここでは一致するため、再度、nの値を1ずつインクリメントさせて、再度、n番目の測定情報のサブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かの判断処理と、n番目の測定情報のサブレシピステップ識別子が、n−1番目の測定情報のサブレシピステップ識別子、もしくはそのサブレシピステップ識別子の数値部分を1インクリメントした値と一致するか否かの判断処理とが繰り返される。
ここで、n番目の測定情報が、「時刻情報」が「2005/12/02 17:00:00」である測定情報となった場合、そのサブレシピステップ識別子「SR004」の数値部分「004」は、n−1番目の測定情報である「時刻情報」が「2005/12/02 16:59:50」の測定情報の、サブレシピステップ識別子「SR005」の数値部分「004」よりも値が小さくなっている。このため、n番目の測定情報のサブレシピステップ識別子が、n−1番目の測定情報のサブレシピステップ識別子、もしくはそのサブレシピステップ識別子の数値部分を1インクリメントした値と一致しないと判断される。そしてカウンターkの値が1インクリメントされ、カウンターkの値が「3」に設定される。そして、カウンターkの値が、処理回sの値と同じ「3」となるため、このn番目の測定情報が取得される。
つぎに、測定情報取得部1203はカウンターnを1インクリメントさせてn番目の測定情報のサブレシピ識別子が、出力指示に含まれるサブレシピ識別子であるSR01と一致するか否かを判断する。ここでは、「時刻情報」が「2005/12/02 17:00:10」である測定情報の「サブレシピ識別子」が出力指示の「SR01」と一致する。
つぎに、n番目の測定情報のサブレシピステップ識別子が、n−1番目の測定情報のサブレシピステップ識別子、もしくはそのサブレシピステップ識別子の数値部分を1インクリメントした値と一致するか否か判断する。ここでは、n−1番目の測定情報のサブレシピステップ識別子と一致しているため、この測定情報を取得し、蓄積する。
そして、同様の処理を繰り返す。なお、ここでは、「時刻情報」が「2005/12/02 17:00:00」から、「2005/12/02 17:04:50」までの間に、サブレシピの繰り返しは行われておらず。サブレシピステップ識別子SRS004のサブレシピステップと、サブレシピステップ識別子SRS005のサブレシピステップが、それぞれ1回ずつ行われたのみとし、これらの測定情報のサブレシピステップ識別子はSRS004からSRS005に時間軸に沿って数値部分が単調に増加しているものとする。そして、n番目の測定情報が、「時刻情報」が「2005/12/02 17:05:00」である測定情報となった時点で、この測定情報のサブレシピ識別子が、「SR02」ではなくなるため、3回目のサブレシピの実行において得られた測定情報を取得する処理が終了する。これにより、「時刻情報」が「2005/12/02 17:00:00」から、「2005/12/02 17:04:50」までの測定情報が測定情報取得部1203により取得される。
図13は測定情報取得部1203が取得した測定情報を管理するための取得情報管理表である。取得情報管理表は「製造装置識別子」、「レシピ識別子」、「ステップ識別子」、「サブレシピ識別子」、「サブレシピステップ識別子」、「平均値(ガス流量)」、「時刻情報」を有する。「製造装置識別子」、「レシピ識別子」、「ステップ識別子」、「サブレシピ識別子」、「サブレシピステップ識別子」、「平均値(ガス流量)」、「時刻情報」は、図10と同様である。
ここで、例えば、上述した処理回として1回目と3回目とを指定する代わりに、サブレシピを2回目に処理した際の測定情報を取得する出力指示を受け付けた場合、カウンターkの値がs=2となった時点の測定情報から、カウンターkの値がs=3となる直前までの測定情報、すなわち「時刻情報」が「2005/12/02 17:00:00」である測定情報から「時刻情報」が「2005/12/02 16:59:50」までの測定情報が取得される。
つぎに、異常検知部1210は、測定情報取得部1203から図13に示すような測定情報を取得するとともに、条件情報格納部1209から、条件情報「260<=ガス流量<=280」を読み出し、当該条件情報を用いて、サブレシピのそれぞれの処理回において得られた測定情報について、異常を検知する。例えば図13の測定情報の全ての「平均値」が260未満であるので、全て異常値である、と判断される。
次に、出力情報構成部1206は、測定情報取得部1203が取得した図13の情報と、異常検知部1210の判断結果を用いて、出力情報であるチャートを構成する。本チャートは、横軸が時刻情報の示す時刻、縦軸が値(ガス流量の平均値)である折れ線グラフである。なお、時刻は、サブレシピの実行開始時刻を0分0秒とした相対時刻で表している。また、処理回毎に異なるグラフを構成している。
次に、出力部1207は、出力情報構成部1206が構成した折れ線グラフをクライアント装置13に送信する。
クライアント装置13の受付部1303は当該折れ線グラフを受信し、表示部1304は、図14に示すように折れ線グラフをディスプレイに表示する。図14において、正常範囲は、斜線で示している。また、測定情報に含まれる「処理回」の値を用いて、出力情報構成部1206で構成した凡例が出力されている。
なお、ここで、出力情報構成部1206が、図15に示すように、処理回の異なる測定情報のうちの、サブレシピの開始時刻から同じ時刻が経過した際に得られた測定情報同士の平均値を算出し、この平均値のグラフを作成し、図14のグラフと重ね合わせて出力しても良い。
また、上記具体例において、所望のサブレシピの全ての処理回の測定値を、処理回毎に取得する指示を受け付けた場合には、例えば、カウンターkの値が1インクリメントされる毎のサブレシピに対応した測定情報を、上記具体例と同様に取得するようにすればよい。この場合、処理対象となる測定情報、例えば、上記具体例におけるn番目の測定情報、がなくなった時点で、処理を終了すればよい。
なお、上記具体例においては、同じサブレシピ内のサブレシピステップについてのサブレシピステップ識別子として、サブレシピステップが実行される順番に従って、値、もしくはその数値部分の値、が1ずつ増加する識別子を用いるようにし、測定情報のサブレシピステップ識別子の値もしくは数値部分の値が、直前の測定情報のサブレシピステップ識別子に対して、同じか1インクリメントした値でない場合に、サブレシピの処理回をカウントアップするようにした。しかしながら、本実施の形態においては、同じサブレシピ内のサブレシピステップについてのサブレシピステップ識別子が、サブレシピステップの配列順等が特定可能な所定の規則性、例えば各サブレシピステップ識別子が、a,b,cといったアルファベット順に配列される文字を一つずつ持つ等の規則性や、各サブレシピステップ識別子が、処理順に沿って1デクリメントされた値を有する等の規則性、を有しており、測定情報のサブレシピステップ識別子がこの規則性を満たさないと判別された場合に、サブレシピの処理回をカウントアップするようにしてもよい。
以上、本実施の形態によれば、繰り返し実行されるサブレシピにおいて取得され、サーバ装置12に蓄積された測定情報について、当該サブレシピの処理回を指定して、当該処理回において得られた測定情報を選択的に出力することが可能となる。これにより、必要な情報だけを、瞬時に提示することが可能となり、製造装置等の異常検知を含めた監視を効率的に行うことが可能となる。
また、同じサブレシピの異なる処理回に得られた測定情報同士を、一つのチャートに表示して両者を比較しやすくしたり、所定の演算を行って、処理回の違いによる測定情報のばらつきを調べたり、理想的な測定値を取得したりすることができ、サブレシピから得られた測定情報の利用価値を高めることができる。
また、上記実施の形態においては、サーバ装置12において、所望のサブレシピに対応して得られた測定情報の群の、出現回数をカウントすることで、サブレシピの処理回に対応した測定情報の群を検出し、取得するようにした。しかしながら、本発明においては、以下のようにして、サブレシピの処理回に対応した測定情報を検出し、取得するようにしても良い。すなわち、製造装置11において、同じサブレシピ、例えば同じサブレシピ識別子を有するサブレシピが1回実行されるごとに、そのサブレシピが行われた回数をカウンター等でカウントするようにし、そのサブレシピにおいて得られる全ての元情報や、最初の元情報や、最後の元情報等に、この回数のカウント結果を示す情報を付与するようにして、サーバ装置12に蓄積される測定情報が、サブレシピが行われた回数のカウント結果を示す情報を含むようにする。そして、サーバ装置12においては、この測定情報の有する、サブレシピが行われた回数のカウント結果を示す情報から、出力指示により指定される所望の処理回に対応した測定情報を検出して、取得するようにしても良い。
なお、本実施の形態において、出力されるチャートは、図16に示すように、SPCチャートを出力する指示である出力指示に合致する複数の測定情報を測定情報格納部1201から読み出し、当該読み出した測定情報から、製造装置識別子ごとの測定情報、またはレシピ識別子ごとの測定情報、もしくはその両方、が視覚的に区別できる態様のチャートであり、一種類の測定情報が有する時刻情報が示す時刻の順に、読み出した複数の測定情報をプロットしたチャートであるSPCチャートであっても良い。なお、図16に示すSPCチャートは、例えば、一つの製造装置識別子の測定情報から構成されているSPCチャートである。また、図16に示すSPCチャートにおいて、管理値(上限)、および管理値(下限)が出力されている。この管理値の外の値となった場合、異常であることを示している。管理値(上限)、および管理値(下限)は、条件情報格納部1209が予め保持している。なお、図16において用いた測定情報等は、説明にために用意された測定情報であり、本実施の形態において説明した測定情報とは異なるものである。
また、本実施の形態において、出力されるチャートは、図17に示すように、相関チャートを出力する指示である出力指示に合致する複数の測定情報を測定情報格納部1201から読み出し、当該読み出した測定情報から、製造装置識別子ごとの測定情報、またはレシピ識別子ごとの測定情報、もしくはその両方、が視覚的に区別できる態様のチャートであり、二種類の測定情報(例えば、温度と圧力など)の相関を示すチャートである相関チャートであっても良い。なお、図17に示す相関チャートは、例えば、一つの製造装置識別子の、二種類の測定情報から構成されている相関チャートである。また、図17に示す相関チャートにおいて、2つの管理値が出力されている。この2つの管理値の範囲外の値となった場合、異常であることを示している。なお、図17において用いた測定情報等は、説明にために用意された測定情報であり、本実施の形態において説明した測定情報とは異なるものである。
また、本実施の形態において、出力されるチャートは、図18に示すように、MD(マハラノビス距離)チャートを出力する指示である出力指示が含む一以上の製造装置識別子のいずれか、または一以上のレシピ識別子のいずれか、もしくは、一以上の製造装置識別子のいずれかおよび一以上のレシピ識別子のいずれか、を有する複数の測定情報を、測定情報格納部1201から読み出し、当該読み出した測定情報から、製造装置識別子ごとの測定情報、またはレシピ識別子ごとの測定情報、およびその両方の測定情報が視覚的に区別できる態様のチャートであり、三種類以上の測定情報(例えば、2箇所の温度とガス流量と圧力)の相関を示すチャートであるMDチャートであっても良い。なお、図18に示すMDチャートは、例えば、一つの製造装置識別子の測定情報から構成されているMDチャートである。また、図18に示すMDチャートは、マハラノビスの距離を用いて、例えば異常判定しているチャートである。さらに具体的には、図18に示すMDチャートは、正常時のデータをモデル化し、マハラノビスの距離を用いて異常時の度合いを数値で示すチャートである。また、図18に示すMDチャートにおいて、2つの管理値が出力されている。この2つの管理値の範囲外の値となった場合、異常であることを示している。なお、図18において用いた測定情報等は、説明にために用意された測定情報であり、本実施の形態において説明した測定情報とは異なるものである。
また、本実施の形態の具体例において、出力されたチャートは、一の製造装置識別子または一のレシピの測定情報が表示されたチャートであり、一種類の測定情報が有する時刻情報が示す時刻の順に、読み出した複数の測定情報を連結した一の折れ線グラフであった。しかし、出力されるチャートは、図19に示すように、出力指示が含む3つの製造装置識別子を有する複数の測定情報を測定情報格納部1201から読み出し、当該読み出した測定情報から、製造装置識別子ごとの測定情報が視覚的に区別できる態様のチャートであり、一種類の測定情報が有する時刻情報が示す時刻の順に、読み出した複数の測定情報をプロットした3つのチャートであっても良い。かかる場合、出力指示は、例えば、「装置A」「装置B」「装置C」の3つの製造装置識別子を含む。そして、測定情報取得部1203は、「装置A」「装置B」「装置C」をそれぞれキーとして、3度、測定情報格納部1201を検索し、3度、測定情報を取得し、それぞれのキーごとに、出力情報構成部1206は、異なる点や線の属性値のチャートを別個に構成し、3つのチャートを得る。そして、3つのチャートが出力される。なお、図19において用いた測定情報等は、説明にために用意された測定情報であり、本実施の形態において説明した測定情報とは異なるものである。
本実施の形態において、上記のように3つ以上のチャート(SPCチャート、相関チャート、MDチャートなど)の表示形態を自由に選択でき、様々な観点から、監視や、監視結果の分析が可能となる。
また、本実施の形態の具体例において、元情報や測定情報は、予めサーバ装置12が保持していても良い。かかる場合、元情報または測定情報は、図示しない手段により製造装置11から取得され、記録媒体等を経由してサーバ装置12に渡される。
また、本実施の形態において、ユーザは着目するチャートの一部を拡大する指示を入力し、当該チャートの一部のスケールを変えて(測定情報の時間間隔やステップの間隔を変えて)チャート出力することは好適である。
また、本実施の形態において、元情報と測定情報が同じ構成でも良い。かかる場合、測定情報蓄積部は不要となる。
また、本実施の形態において、製造装置とサーバ装置間で元情報を送受信することは必須ではない。元情報は、例えば、記録媒体を経由して、製造装置からサーバ装置に与えられても良い。
また、本実施の形態において、群管理システムは、クライアント装置13を有さなくても良い。かかる場合、ユーザは、サーバ装置12に対して、出力指示などの指示を入力する。
また、本実施の形態の具体例において、製造装置識別子またはレシピ識別子を指定してチャートを出力したが、1以上の製造装置識別子および1以上のレシピ識別子を指定してチャートを出力しても良い。ユーザが、1以上の製造装置識別子および1以上のレシピ識別子を含む出力指定を入力した場合、異常検知部1210は、指定された1以上の各製造装置識別子および1以上の各レシピ識別子をそれぞれキーとして測定情報(または元情報)を検索し、異常を検知し、出力情報構成部1206は、チャートを構成する。
また、本実施の形態において、製造装置が、元情報を取得する毎に、逐次、サーバ装置12に送信する構成である場合、サーバ装置の指示受付部が出力指示を受け付けたことをトリガーとして、リアルタイムに測定情報の取得や、異常検知処理を行い、元情報を受信する毎に出力情報(チャートなど)を更新することは、極めて好適である。異常の発生がユーザに直ちに分かるからである。なお、かかるリアルタイムの異常検知は、以下の処理である。つまり、異常検知部は、測定情報取得部が次々に取得する測定情報に対して、条件情報に合致するか否かを直ちに判断し、出力情報構成部は、異常検知部の判断結果を用いた出力情報を次々に構成し、出力部は、出力情報構成部が構成した出力情報を更新しながら出力する。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態におけるサーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、測定情報格納部に複数格納された、被処理基板に対する所定のプロセスを行う1以上の製造装置で測定された情報についての時系列の情報であり、前記製造装置で所定のレシピを実行した場合の測定値と時刻を示す時刻情報を有する情報である測定情報の出力指示を受け付ける指示受付ステップと、前記出力指示により指定された測定情報を、前記測定情報格納部から取得する測定情報取得ステップと、前記取得した測定情報を用いた出力情報を構成する出力情報構成ステップと、前記出力情報構成ステップで構成した出力情報を出力する出力ステップと、を実行させるためのプログラムであって、前記レシピは、1以上のサブレシピを含み、前記指示受付ステップで受け付ける出力指示は、前記レシピにおいて複数回実行されるサブレシピのうちの、1以上の所望の回に実行されるサブレシピを指定する指示を有し、前記測定情報取得ステップは、前記出力指示により指定されたサブレシピに対応する測定情報を取得するプログラムである。
また、前記プログラムにおいて、前記測定情報取得ステップは、前記測定情報格納部に格納されている測定情報について、前記出力指示により指定された、前記複数回実行されるサブレシピに対応した測定情報の群が新たに出現する回数をカウントし、当該カウント数が、前記出力指示により指定された所望の回と一致した回の測定情報の群に含まれる1以上の測定情報を取得するプログラムである。
また、前記プログラムにおいて、前記サブレシピは2以上のステップを含み、前記測定情報取得ステップは、サブレシピを構成する2以上のステップに対応した2以上の測定情報が繰り返し出現する際に、当該繰り返し出現する1以上の測定情報を、前記複数回実行されるサブレシピに対応した測定情報の群とするプログラムである。
また、前記プログラムにおいて、前記測定情報は、当該測定情報が対応するサブレシピを識別する情報であるサブレシピ識別子を有し、前記複数回実行されるサブレシピに対応した測定情報は、同じサブレシピ識別子を有し、前記測定情報取得ステップは、前記測定情報格納部に格納されている測定情報について、前記出力指示により指定された複数回実行されるサブレシピのサブレシピ識別子が新たに検出された回数をカウントし、当該カウント数が、前記出力指示により指定された所望の回と一致した回のサブレシピ識別子を有する1以上の測定情報を取得するプログラムである。
また、前記プログラムにおいて、前記サブレシピは2以上のステップを含み、前記サブレシピに対応する測定情報は、ステップを識別するためのステップ識別子を含み、前記測定情報取得ステップは、同じサブレシピ識別子を有する連続した測定情報において、2以上のステップ識別子が繰り返し出現するごとに、カウントアップを行うプログラムである。
また、前記プログラムにおいて、前記指示受付ステップは、前記レシピにおいて複数回実行されるサブレシピのうちの、2以上の所望の回に実行されるサブレシピを指定する前記出力指示を受け付け、前記測定情報取得ステップは、2以上の異なる回のサブレシピに対応した測定情報を取得し、前記出力情報構成ステップは、前記測定情報取得ステップで取得した2以上の異なる回のサブレシピに対応した測定情報のうちの、各サブレシピ内の所定の始点からの経過時間が一致する測定情報に対して、所定の演算を行い、その演算結果に応じた出力情報を構成するプログラムである。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
また、上記各実施の形態では、サーバ装置がスタンドアロンである場合について説明したが、サーバ装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。