(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-29
(45)【発行日】2024-11-07
(54)【発明の名称】半導体製造装置におけるデータの管理方法、およびリングバッファを備えた制御装置
(51)【国際特許分類】
H01L 21/02 20060101AFI20241030BHJP
【FI】
H01L21/02 Z
(21)【出願番号】P 2021003730
(22)【出願日】2021-01-13
【審査請求日】2023-10-12
(73)【特許権者】
【識別番号】000000239
【氏名又は名称】株式会社荏原製作所
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100146710
【氏名又は名称】鐘ヶ江 幸男
(74)【代理人】
【識別番号】100186613
【氏名又は名称】渡邊 誠
(74)【代理人】
【識別番号】100138759
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】藤木 雅之
【審査官】小池 英敏
(56)【参考文献】
【文献】特開2020-095343(JP,A)
【文献】特開2004-319857(JP,A)
【文献】特開2019-109697(JP,A)
【文献】特表2020-530159(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 21/02
H01L 21/3065
H01L 21/66
H01L 21/304
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
半導体製造装置におけるデータの管理方法であって、
制御装置が、前記半導体製造装置の動作に関連するデータを取得するステップと、
前記制御装置が、前記取得したデータにおいて第1データと第2データを識別するステップと、
前記制御装置が、前記第1データを第1の時間的粒度で第1リングバッファに書き込み、前記第2データを前記第1の時間的粒度よりも粗い第2の時間的粒度で第2リングバッファに書き込むステップと、
データ管理装置が、前記第1リングバッファおよび前記第2リングバッファからそれぞれ前記第1、第2データを取り出し、データベースに格納するステップと、
を含
み、前記第2データの前記第2リングバッファへの書き込みは、前記第2データに変化があった時にのみ行われる、データ管理方法。
【請求項2】
前記第1データの前記第1リングバッファへの書き込みおよび前記第2データの前記第2リングバッファへの書き込みは、それぞれ前記第1、第2の時間的粒度で周期的に行われる、請求項1に記載のデータ管理方法。
【請求項3】
前記第1および第2データを前記データベースに格納するステップは、
前記第2データの時間情報を、前記第1データの時間情報を基準として補正するステップと、
前記時間情報が補正された前記第2データを前記時間情報の基準とされた前記第1データと対応付けて前記データベースに格納するステップと、
を含む、請求項1
または2に記載のデータ管理方法。
【請求項4】
1つの前記第2データが複数の前記第1データに対応付けられる、請求項
3に記載のデータ管理方法。
【請求項5】
前記第1および第2データを前記データベースに格納するステップは、
前記第1データの時間情報を、前記第2データの時間情報を基準として補正するステップと、
前記時間情報が補正された前記第1データを前記時間情報の基準とされた前記第2データと対応付けて前記データベースに格納するステップと、
を含む、請求項1
または2に記載のデータ管理方法。
【請求項6】
複数の前記第1データのうちの選択された1つの第1データが1つの前記第2データに対応付けられる、請求項
5に記載のデータ管理方法。
【請求項7】
前記第1データおよび前記第2データは、前記半導体製造装置に設けられたセンサによって測定された測定データである、請求項1から
6のいずれか1項に記載のデータ管理方法。
【請求項8】
前記第1データは、前記半導体製造装置に設けられたセンサによって測定された測定データであり、前記第2データは、前記半導体製造装置の動作内容を示すデータである、請求項1から
6のいずれか1項に記載のデータ管理方法。
【請求項9】
半導体製造装置におけるデータの管理方法であって、
第1制御装置が、前記半導体製造装置の動作に関連する第1データを取得するステップと、
第2制御装置が、前記半導体製造装置の動作に関連する第2データを取得するステップと、
前記第1制御装置が、前記第1データを第1の時間的粒度で第1リングバッファに書き込むステップと、
前記第2制御装置が、前記第2データを前記第1の時間的粒度よりも粗い第2の時間的粒度で第2リングバッファに書き込むステップと、
データ管理装置が、前記第1リングバッファおよび前記第2リングバッファからそれぞれ前記第1、第2データを取り出すステップと、
前記データ管理装置が、前記第2データの時間情報を、前記第1データの時間情報を基準として補正するステップと、
前記データ管理装置が、前記時間情報が補正された前記第2データを前記時間情報の基準とされた前記第1データと対応付けてデータベースに格納するステップと、
を含むデータ管理方法。
【請求項10】
半導体製造装置に接続される制御装置であって、
第1リングバッファおよび第2リングバッファを備え、
前記半導体製造装置の動作に関連するデータを取得し、
前記取得したデータにおいて第1データと第2データを識別し、
前記第1データを第1の時間的粒度で第1リングバッファに書き込み、
前記第2データを前記第1の時間的粒度よりも粗い第2の時間的粒度で第2リングバッファに書き込む、
ように構成され
、前記第2データの前記第2リングバッファへの書き込みは、前記第2データに変化があった時にのみ行われる、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体製造装置におけるデータの管理方法、およびリングバッファを備えた制御装置に関する。
【背景技術】
【0002】
半導体製造装置を制御するために、例えばPLC(Programmable Logic Controller)などの制御装置が用いられる。制御装置は、リングバッファを備え、半導体製造装置に対する制御データや、半導体製造装置に設けられた各種のセンサからの計測データを時系列でリングバッファに格納する。リングバッファのデータは、外部のコンピュータによってリングバッファから取り出され、コンピュータの記憶装置に保存される。関連する技術として、例えば特許文献1に開示されているようなものが知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
半導体製造装置の各部の動作状態などを精度良く管理するためには、上記のような制御データや計測データのサンプリングレートを上げることが望ましい。しかしながら、高いサンプリングレートのデータを制御装置において保持するには、リングバッファの容量を大きくする必要がある。
【課題を解決するための手段】
【0005】
[形態1]形態1によれば、半導体製造装置におけるデータの管理方法であって、制御装置が、前記半導体製造装置の動作に関連するデータを取得するステップと、前記制御装置が、前記取得したデータにおいて第1データと第2データを識別するステップと、前記制御装置が、前記第1データを第1の時間的粒度で第1リングバッファに書き込み、前記第2データを前記第1の時間的粒度よりも粗い第2の時間的粒度で第2リングバッファに書き込むステップと、データ管理装置が、前記第1リングバッファおよび前記第2リングバッファからそれぞれ前記第1、第2データを取り出し、データベースに格納するステップと、を含むデータ管理方法が提供される。
【0006】
[形態2]形態2によれば、形態1の方法において、前記第1データの前記第1リングバッファへの書き込みおよび前記第2データの前記第2リングバッファへの書き込みは、それぞれ前記第1、第2の時間的粒度で周期的に行われる。
【0007】
[形態3]形態3によれば、形態1の方法において、前記第2データの前記第2リングバッファへの書き込みは、前記第2データに変化があった時にのみ行われる。
【0008】
[形態4]形態4によれば、形態1から3のいずれか1つの方法において、前記第1および第2データを前記データベースに格納するステップは、前記第2データの時間情報を、前記第1データの時間情報を基準として補正するステップと、前記時間情報が補正された前記第2データを前記時間情報の基準とされた前記第1データと対応付けて前記データベースに格納するステップと、を含む。
【0009】
[形態5]形態5によれば、形態4の方法において、1つの前記第2データが複数の前記第1データに対応付けられる。
【0010】
[形態6]形態6によれば、形態1から3のいずれか1つの方法において、前記第1および第2データを前記データベースに格納するステップは、前記第1データの時間情報を、前記第2データの時間情報を基準として補正するステップと、前記時間情報が補正された前記第1データを前記時間情報の基準とされた前記第2データと対応付けて前記データベースに格納するステップと、を含む。
【0011】
[形態7]形態7によれば、形態6の方法において、複数の前記第1データのうちの選択された1つの第1データが1つの前記第2データに対応付けられる。
【0012】
[形態8]形態8によれば、形態1から7のいずれか1つの方法において、前記第1データおよび前記第2データは、前記半導体製造装置に設けられたセンサによって測定された測定データである。
【0013】
[形態9]形態9によれば、形態1から7のいずれか1つの方法において、前記第1データは、前記半導体製造装置に設けられたセンサによって測定された測定データであり、前記第2データは、前記半導体製造装置の動作内容を示すデータである。
【0014】
[形態10]形態10によれば、半導体製造装置におけるデータの管理方法であって、第1制御装置が、前記半導体製造装置の動作に関連する第1データを取得するステップと、第2制御装置が、前記半導体製造装置の動作に関連する第2データを取得するステップと、前記第1制御装置が、前記第1データを第1の時間的粒度で第1リングバッファに書き込むステップと、前記第2制御装置が、前記第2データを前記第1の時間的粒度よりも粗い第2の時間的粒度で第2リングバッファに書き込むステップと、データ管理装置が、前記第1リングバッファおよび前記第2リングバッファからそれぞれ前記第1、第2データを取り出すステップと、前記データ管理装置が、前記第2データの時間情報を、前記第1データの時間情報を基準として補正するステップと、前記データ管理装置が、前記時間情報が補正された前記第2データを前記時間情報の基準とされた前記第1データと対応付けてデータベースに格納するステップと、を含むデータ管理方法が提供される。
【0015】
[形態11]形態11によれば、半導体製造装置に接続される制御装置であって、第1リングバッファおよび第2リングバッファを備え、前記半導体製造装置の動作に関連するデータを取得し、前記取得したデータにおいて第1データと第2データを識別し、前記第1データを第1の時間的粒度で第1リングバッファに書き込み、前記第2データを前記第1の時間的粒度よりも粗い第2の時間的粒度で第2リングバッファに書き込む、ように構成される制御装置が提供される。
【図面の簡単な説明】
【0016】
【
図1】本発明の一実施形態に係る方法を実施するシステムの構成図である。
【
図2】本発明の一実施形態に係る方法を実施するための処理の全体概要を示すフローチャートである。
【
図3】本発明の一実施形態に係る、ステップS204における処理の詳細を示す図であり、第1リングバッファに書き込まれた高速サンプリングデータの例を示す。
【
図4】本発明の一実施形態に係る、ステップS204における処理の詳細を示す図であり、第2リングバッファに書き込まれた低速サンプリングデータの例を示す。
【
図6】本発明の別の実施形態に係る、ステップS204における処理の詳細を示す図であり、第2リングバッファに書き込まれた計測データの例を示す。
【
図7】本発明の別の実施形態に係る、ステップS204における処理の詳細を示す図であり、第3リングバッファに書き込まれたイベントデータの例を示す。
【
図9】イベントデータを第3リングバッファに書き込む処理の例を示す図である。
【
図10】制御ビットデータを第3リングバッファに書き込む処理の例を示す図である。
【
図11】本発明の一実施形態に係る、ステップS205における処理の詳細を示す図であり、第1リングバッファの高速サンプリングデータと第2リングバッファの低速サンプリングデータを時間的に整合させる処理の例を示す。
【
図12】本発明の一実施形態に係る、ステップS205における処理の詳細を示す図であり、第2リングバッファの計測データと第3リングバッファのイベントデータを時間的に整合させる処理の例を示す。
【
図13】本発明の一実施形態に係る、ステップS205における処理の詳細を示す図であり、第2リングバッファの計測データと第3リングバッファのイベントデータを時間的に整合させる処理の別の例を示す。
【
図14】本発明の一実施形態に係る方法を実施するシステムの別の構成例を示す図である。
【
図15】
図14のシステムに適用可能な、ステップS205における処理の詳細を示す図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
【0018】
図1は、本発明の一実施形態に係る方法を実施するシステム10の構成図である。システム10は、半導体製造装置100と、制御装置200と、データ管理装置300とを備える。半導体製造装置100は、半導体製品または半導体製品の中間製品を製造するための装置である。例えば、半導体製造装置100は、基板(半導体基板やガラス基板等)をめっきするためのめっき装置、基板または基板に形成された薄膜を研磨するための研磨装置(例えばCMP(Chemical Mechanical Polishing)装置等)、基板上に薄膜を形成するための成膜装置(例えばCVD(Chemical Vapor Deposition)装置や蒸着装置等)、基板上の薄膜に微細パターンを転写するための露光装置、基板または基板上の薄膜をエッチングによって微細加工するエッチング装置、基板または基板上の薄膜にイオンを注入するイオン注入装置、基板を切断しチップ化するためのダイシング装置、最終的な半導体製品または中間製品(基板を含む)を検査するための各種検査装置(または測定装置)など、半導体製品の製造にかかわる任意の装置を含む。
【0019】
半導体製造装置100は、当該半導体製造装置100の運転時に制御装置200によって動作を制御される複数の駆動部120を備える。例えば、半導体製造装置100がめっき装置である場合、駆動部120は、基板を搬送するための搬送装置または搬送ロボット120、めっき槽等の各槽に所定の薬液を供給する薬液供給装置120、各薬液の供給配管を開閉する複数のバルブ120、めっき槽内のめっき液に浸漬された基板に電解反応のための電流を供給する電源装置(整流器等)120、めっき槽内のめっき液の温度を調節する温度調節装置120、およびその他の装置/機構(例えば警報装置等)120を含む。また例えば、半導体製造装置100がCMP装置である場合、駆動部120は、基板と研磨パッドを回転させるためのモータ120、研磨パッドへ研磨液を供給する配管の開閉バルブ120、基板搬送用のロボット120、およびその他の装置/機構120を含む。これらは、半導体製造装置100が備える多数の駆動部120のうちの一部を具体的に例示したものにすぎない。半導体製造装置100は、任意の適切な種類の、任意の数の駆動部120を備えるのであってよい。
【0020】
半導体製造装置100は、さらに、複数のセンサ140を備える。複数のセンサ140は、半導体製造装置100の所定の各部に設置されている。センサ140は、例えば、温度センサ、流量センサ、圧力センサ、濃度センサ、モータのトルクや回転数を計測するトルクメータおよび回転速度計、電流計、電圧計、等であってよい。各センサ140は、半導体製造装置100の駆動部120に据え付けられ、それぞれ所定の物理量を計測してその計測値を出力する。
【0021】
制御装置200は、半導体製造装置100の動作を制御し管理する装置である。例えば、制御装置200として、好適にはPLC(Programmable Logic Controller)を用いることができるが、制御装置200は他の種類のコンピュータであってもよい。
図1のシステム10において、制御装置200は、通信配線400によって半導体製造装置100の各駆動部120および各センサ140に接続されている。制御装置200は、半導体製造装置100の構成の一部として半導体製造装置100に組み込まれてもよい。
【0022】
なお、
図1には1つの制御装置200だけが示されているが、システム10は複数の制御装置200を備えてもよい。システム10が複数の制御装置200を備える実施形態については、
図14等を参照して後述する。
【0023】
制御装置200は、プロセッサ202、プログラム記憶用のメモリ203、複数のリングバッファ204-1~204-4、入出力インターフェイス205、通信インターフェイス206、およびタイマー207を備える。メモリ203には、本発明の一実施形態に係る方法(またはその一部分)を実現するためのプログラムが格納される。プロセッサ202は、メモリ203からプログラムを読み出して実行する。これにより、制御装置200は、本発明の一実施形態に係る方法(またはその一部分)を実施することができる。
【0024】
制御装置200のプロセッサ202は、入出力インターフェイス205を介して半導体製造装置100の各駆動部120へ動作命令を出力する。この動作命令に従って、半導体製造装置100の各駆動部120は所定の動作を実施する。また、制御装置200のプロセッサ202は、入出力インターフェイス205を介して、半導体製造装置100の各センサ140からそれぞれのセンサ140において計測された計測値を取得し、取得した計測値のデータをリングバッファ204-1~204-4に書き込む。
【0025】
さらに
図1のシステム10において、制御装置200は、LAN(ローカルエリアネットワーク)またはインターネット等のネットワーク500によってデータ管理装置300に接続されている。制御装置200は、通信インターフェイス206を介してデータ管理装置300と通信することが可能である。
【0026】
データ管理装置300は、本実施形態のシステム10において、半導体製造装置100の動作に関連するデータを管理する役割を有する装置である。例えば、データ管理装置300は、データサーバ機能を備えたコンピュータであってよい。データ管理装置300は、プロセッサ302、プログラム記憶用のメモリ303、およびデータベース304を備える。メモリ303には、本発明の一実施形態に係る方法(またはその一部分)を実現するためのプログラムが格納される。プロセッサ302は、メモリ303からプログラムを読み出して実行する。これにより、データ管理装置300は、本発明の一実施形態に係る方法(またはその一部分)を実施することができる。
【0027】
図2は、本発明の一実施形態に係る方法を実施するための処理の全体概要を示すフローチャートである。本実施形態の処理は、半導体製造装置100、制御装置200、およびデータ管理装置300の各々による動作を含む。
【0028】
まず、ステップS201において、制御装置200は、半導体製造装置100の各駆動部120へそれぞれ所定の動作命令を出力する。ステップS202において、半導体製造装置100の各駆動部120は、制御装置200から指示された動作命令に従って所定の動作を実施する。ステップS203において、半導体製造装置100の各センサ140は、それぞれデータの計測を行い、計測値を制御装置200へ送信する。
【0029】
ステップS204において、制御装置200は、半導体製造装置100の各センサ140から送信された計測値を受信し、リングバッファ204-1~204-4に一時的に記憶する。ステップS204の後、所定の時間間隔で再びステップS201からステップS204が繰り返される。
【0030】
ステップS205において、データ管理装置300は、制御装置200のリングバッファ204-1~204-4からデータを取り出し、データベース304に格納する。これにより、データ管理装置300のデータベース304に半導体製造装置100の動作に関連するデータが蓄積される。データベース304に格納されたデータは、その後、データ管理装置300において、例えば、システム10の管理者による半導体製造装置100の運転状況(例えば不具合の発生等)の確認のためにモニタ画面に表示したり、半導体製造装置100の運転状況をさらに分析(例えば統計処理)したりする等の目的に利用されてもよい。
【0031】
図3および
図4は、本発明の一実施形態に係る、上述のステップS204における処理の詳細を示す図である。本実施形態では、制御装置200は、各センサ140から得られた計測値のうち、高いサンプリングレートでデータを記録することが必要なもの(以下、高速サンプリングデータという)を第1リングバッファ204-1において保持する一方、低いサンプリングレートでデータを記録すれば十分なもの(以下、低速サンプリングデータという)を第2リングバッファ204-2において保持する。
【0032】
各センサ140の計測値が高速サンプリングデータと低速サンプリングデータのどちらであるかは、例えば、予めシステム10の管理者によって決められて、制御装置200に設定しておくことができる。例えば、高速サンプリングデータは、半導体製造装置100の駆動部120の動作状況を直接的に示すようなデータ(例えば、モータのトルクや回転数、搬送装置における位置情報または速度情報、各回路の電流値や電圧値など)であってよい。また、低速サンプリングデータは、半導体製造装置100の駆動部120の動作によって間接的に影響を受けて変化する環境のデータ(例えば、温度、圧力、濃度、流量など)であってよい。
【0033】
ステップS204において、制御装置200のプロセッサ202は、半導体製造装置100の各センサ140を、高速サンプリングデータに対応するセンサ140と低速サンプリングデータに対応するセンサ140に分類する。この分類は、例えば、システム10の管理者によって設定された情報に基づいて行うことができる。プロセッサ202は、高速サンプリングデータに対応するセンサ140から、第1の時間的粒度で計測データを取得して第1リングバッファ204-1に書き込み、低速サンプリングデータに対応するセンサ140から、第2の時間的粒度で計測データを取得して第2リングバッファ204-2に書き込む。また、プロセッサ202は、計測データを各リングバッファに書き込む際に、タイマー207から日時情報(当該書き込み時点の時刻)を取得して、それを計測データと対応付けてリングバッファに記憶する。
【0034】
例えば、第1の時間的粒度は、10ミリ秒の時間間隔であってよい。また、第2の時間的粒度は、第1の時間的粒度よりも粗い時間的粒度、例えば、100ミリ秒の時間間隔であってよい。すなわち、この例においてプロセッサ202は、高速サンプリングデータを
10ミリ秒毎に第1リングバッファ204-1に書き込み、低速サンプリングデータを100ミリ秒毎に第2リングバッファ204-2に書き込む。なお、これらの時間間隔の数値(10ミリ秒、100ミリ秒)は単なる一例にすぎず、適宜変更可能であることはもちろんである。
【0035】
図3は、第1リングバッファ204-1に書き込まれた高速サンプリングデータの例を示している。
図3において、半導体製造装置100の複数のセンサ140のうちの所定のセンサ(高速サンプリングデータに対応するセンサ)から、時刻t010、t020、t030、…において周期的に計測データD1が取得され、第1リングバッファ204-1に書き込まれている。時刻t010、t020、t030、…は10ミリ秒間隔である。また、各計測データD1には、それぞれの書き込み時刻を示す日時情報が対応付けられて記憶されている。
【0036】
一方、
図4は、第2リングバッファ204-2に書き込まれた低速サンプリングデータの例を示している。
図4において、半導体製造装置100の複数のセンサ140のうちの所定のセンサ(低速サンプリングデータに対応するセンサ)から、時刻t000、t100、t200、…において周期的に計測データD2およびD3が取得され、日時情報とともに第2リングバッファ204-2に書き込まれている。時刻t000、t100、t200、…は100ミリ秒間隔である。なお、この例のように複数のデータ(D2、D3)がある場合は、それらのデータは一組のデータとして一緒にリングバッファへ書き込まれる。
【0037】
ここで、本実施形態を従来例と対比する。
図5は、半導体製造装置100の複数のセンサ140から取得されるすべての計測データを、1つのリングバッファに書き込む従来例を示している。
図5に示されるように、10ミリ秒間隔の時刻t010、t020、t030、…、t100、t110、…のそれぞれにおいて、計測データD1、D2、およびD3が各データに対応するセンサ140から取得され、1つの同じリングバッファに書き込まれる。このように、1つのみのリングバッファを用いる場合、センサからのデータの取得とリングバッファへのデータの書き込みは、すべてのデータ(D1、D2、D3)をひとまとめにして行われる(
図4の例におけるデータD2、D3と同様)。
【0038】
図5の例において、計測データD1が高いサンプリングレート(10ミリ秒毎)での記録が必要なデータであり、計測データD2およびD3が低いサンプリングレート(例えば100ミリ秒毎)での記録で十分なデータであるとすると、時刻t010、t020、t030、t110等における計測データD2およびD3は、本来記録することが不要なデータである。しかし、計測データD1を10ミリ秒毎に記録する必要性から、計測データD2およびD3も計測データD1と同じ周期でリングバッファに書き込むことが必要になる。そのため、従来例では、リングバッファは、これらの本来記録不要なデータも保持することができるように、実際に必要なバッファサイズよりも大きなバッファサイズを有していることが求められることとなる。
【0039】
これに対し、本実施形態では、第1の時間的粒度(例えば10ミリ秒の時間間隔)を有する高速サンプリングデータ(例えばD1)のみが第1リングバッファ204-1に書き込まれ、第1の時間的粒度よりも粗い第2の時間的粒度(例えば100ミリ秒の時間間隔)を有する低速サンプリングデータ(例えばD2、D3)は、第2リングバッファ204-2に書き込まれる。そのため、第1リングバッファ204-1は、第1の時間的粒度の高速サンプリングデータ(例えばD1)だけを保持するのに必要なバッファサイズを備えていれば十分である。また第2リングバッファ204-2は、粗い時間的粒度のデータを保持するので、そのバッファサイズは小さくて済む。したがって、本実施形態によれば、リングバッファ全体のバッファサイズ(第1リングバッファ204-1と第2リングバッ
ファ204-2の合計バッファサイズ)を削減することができる。
【0040】
図6および
図7は、本発明の別の実施形態に係る、上述のステップS204における処理の詳細を示す図である。本実施形態では、制御装置200は、半導体製造装置100のセンサ140から得られた計測データを第2リングバッファ204-2において保持し、また、「イベントデータ」を第3リングバッファ204-3において保持する。なお、センサ140からの計測データは、第2リングバッファ204-2ではなく第1リングバッファ204-1に保持することとしてもよい。
【0041】
ここで、イベントデータとは、前述した
図2のステップS201において制御装置200から半導体製造装置100へ送られる動作命令に含まれるデータであって、半導体製造装置100が実施すべき処理や処理の対象物を指定する情報である。例えば、半導体製造装置100がめっき装置である場合、イベントデータは、複数のステップからなる一連のめっき処理の内容を規定したレシピにおいてステップを特定するステップ番号、めっき処理を施す基板(または複数の基板を収納したカセット)を特定するワーク番号等を含む。
【0042】
制御装置200のプロセッサ202は、
図2のフローチャートのステップS204において、半導体製造装置100のセンサ140から第1の時間的粒度で計測データを取得し、第2リングバッファ204-2(または第1リングバッファ204-1)に書き込む一方、イベントデータを第2の時間的粒度で第3リングバッファ204-3に書き込む。なお、イベントデータは、プロセッサ202がステップS201において生成した動作命令から抽出可能である。またプロセッサ202は、計測データおよびイベントデータをリングバッファに書き込む際に、タイマー207からの日時情報(当該書き込み時点の時刻)をそれら各データと対応付けてリングバッファに記憶する。
【0043】
本実施形態において、第1の時間的粒度は、例えば100ミリ秒の時間間隔(または、例えば数百ミリ秒程度以下の任意の時間間隔)であってよい。また、第2の時間的粒度は、例えば、イベントデータが変化したタイミングによって示される粒度であってよい。通常、イベントデータの変化(例えばレシピのステップ番号やワーク番号の変化)は数秒から数百秒に1回の頻度で起きるので、第2の時間的粒度は、第1の時間的粒度よりも粗い時間的粒度である。すなわち、この例においてプロセッサ202は、センサ140からの計測データを100ミリ秒毎に第2リングバッファ204-2に書き込み、イベントデータを、イベントデータに変化があったタイミングで第3リングバッファ204-3に書き込む。
【0044】
図6は、第2リングバッファ204-2に書き込まれた計測データの例を示している。
図6では、半導体製造装置100の複数のセンサ140のうちの所定のセンサから時刻t000、t100、t200、…において周期的に計測データD2およびD3が取得され、第2リングバッファ204-2に書き込まれている。時刻t000、t100、t200、…は100ミリ秒間隔である。
【0045】
一方、
図7は、第3リングバッファ204-3に書き込まれたイベントデータの例を示している。
図7では、時刻t000、t100、t300、t411、t500、…においてイベントデータD1に変化が生じ、これらのタイミングで非周期的にイベントデータD1が第3リングバッファ204-3に書き込まれている。
【0046】
図8は、
図6および7の実施形態と対比される従来例を示す図であり、すべての計測データとイベントデータを1つのリングバッファに書き込む例を示している。
図8に示されるように、時刻t000、t100、t200、t300、t400、t411、t500、t600、…のそれぞれにおいて、イベントデータD1、および計測データD2、D
3が1つの同じリングバッファに書き込まれている。
【0047】
ここで、時刻t200、t400、およびt600ではイベントデータD1は変化していないため、これらの時刻におけるイベントデータD1は、本来記録することが不要なデータである。また、時刻t411は計測データD2およびD3を記録すべき100ミリ秒毎のタイミングではないため、この時刻t411における計測データD2およびD3も、本来記録することが不要なデータである。したがって、
図5の場合と同様に、この従来例でも、リングバッファは実際に必要なバッファサイズよりも大きなバッファサイズを有することが必要となる。
【0048】
これに対し、
図6および7の実施形態では、計測データD2およびD3は第1の時間的粒度(例えば100ミリ秒の時間間隔)で第2リングバッファ204-2に書き込まれ、イベントデータD1は、第1の時間的粒度よりも粗い第2の時間的粒度で(例えばイベントデータD1が変化したタイミングで)第3リングバッファ204-3に書き込まれる。したがって、前述の
図3および4の実施形態と同様に、リングバッファ全体のバッファサイズ(第2リングバッファ204-2と第3リングバッファ204-3の合計バッファサイズ)を削減することができる。
【0049】
図9は、変化したイベントデータだけを第3リングバッファ204-3に書き込む処理の例を示す図である。
図9上段に示されるように、制御装置200のプロセッサ202は、所定のタイミングである時刻t999、t000、t001、…、t006、…において周期的に複数のイベントデータD11、D12、D13、D14、D15、D16を生成し、これらのイベントデータを含む動作命令を半導体製造装置100の駆動部120へ出力する。
図9の例において、時刻t999、t000、t001、…は1ミリ秒間隔であるが、他の任意の時間間隔であってもよい。
【0050】
ここで、時刻t000においてイベントデータD12が値5から3へ変化し、時刻t002においてイベントデータD12が値3から5へ、またイベントデータD13が値356から352へ変化し、さらに、時刻t006においてイベントデータD14が値0から1へ変化している。その他の時刻では、どのイベントデータも変化していない。制御装置200のプロセッサ202は、これらの時刻t000、t002、t006(、…)において、イベントデータD11、D12、D13、D14、D15、およびD16を日時情報とともに第3リングバッファ204-3に書き込む(
図9下段)。なお、
図9において、イベントデータが変化する時刻の間隔は2ミリ秒または4ミリ秒となっているが、これは単に説明の都合のためであって、実際には、イベントデータは、上述したように第1の時間的粒度よりも粗い第2の時間的粒度で変化する。また、前述の
図7では、1つのイベントデータD1のみが示されているが、
図9のように複数のイベントデータであってもよいことはもちろんである。
【0051】
図10は、イベントデータの場合と同様の手法で「制御ビットデータ」を第4リングバッファ204-4に書き込む処理の一例を示す図である。制御ビットデータとは、イベントデータと同様に前述の
図2のステップS201において制御装置200から半導体製造装置100へ送られる動作命令に含まれるデータであって、半導体製造装置100の各駆動部120または各センサ140の動作状態(例えばオン、オフ)をビットの「0」「1」で指定する情報である。制御ビットデータは、複数の0と1が連続したビット列として表され、例えば、第1ビットがセンサA、第2ビットがセンサB、第3ビットがバルブC、第4ビットがバルブD、第5ビットが警報装置E、のように対応している。例えば、制御ビットデータ「10011…」は、センサA:計測実施、センサB:計測停止、バルブC:閉、バルブD:開、警報装置E:アラーム発報、のような動作状態を意味する。
【0052】
制御装置200のプロセッサ202は、制御ビットデータを、その各ビットに変化があったタイミングで第4リングバッファ204-4に書き込む。
図10上段に示されるように、プロセッサ202は、例えば1ミリ秒間隔の時刻t999、t000、t001、…、t006、…において周期的に制御ビットデータを生成し、半導体製造装置100へ動作命令(の一部)として出力する。ここで、制御ビットデータは、時刻t000において第9ビット、時刻t002において第2ビット、さらに、時刻t006において第9および第10ビットがそれぞれ変化している。その他の時刻では、どのビットも変化していない。プロセッサ202は、これらの時刻t000、t002、t006(、…)において、制御ビットデータを日時情報とともに第4リングバッファ204-4に書き込む(
図10下段)。
【0053】
図11~13は、本発明の一実施形態に係る、
図2のフローチャートのステップS205における処理の詳細を示す図である。前述したとおり、ステップS205において、データ管理装置300は、制御装置200のリングバッファ204-1~204-4からデータを取り出し、データベース304に格納する。ここで、これまで説明してきたように、リングバッファ204-1~204-4にはそれぞれ異なる時間的粒度のデータが保持されている。データ管理装置300は、各リングバッファ204-1~204-4のデータを一旦そのままの状態でデータベース304に格納し、その後の適宜の時点で(例えばデータのモニタリングや分析時に)、データベース304内のデータを時間的に整合させる処理を行う。あるいは、データ管理装置300は、各リングバッファ204-1~204-4から取り出したデータをデータベース304に格納するのに先立って、それらデータを時間的に整合させる処理を行う。
【0054】
図11には、第1リングバッファ204-1の高速サンプリングデータと第2リングバッファ204-2の低速サンプリングデータを時間的に整合させる処理の例が示されている。
図11上段を参照すると、第1リングバッファ204-1には、時刻t000、t010、t020、…、t090、t100、t110、…(10ミリ秒間隔)における高速サンプリングデータD1が保持され、第2リングバッファ204-2には、時刻t000A、t100A、t200A、…(100ミリ秒間隔)における低速サンプリングデータD10が保持されている。データ管理装置300のプロセッサ302は、高速サンプリングデータ(すなわち時間的粒度の細かいデータ)の日時情報を基準として低速サンプリングデータの日時情報を補正する。データベース304には、日時情報が補正された低速サンプリングデータが、補正の基準とされた高速サンプリングデータと対応付けて格納される。
【0055】
具体的には、
図11の例(ただし、t000A≦t000およびt090<t100A≦t100の関係があるものとする)において、時刻t000Aにおける低速サンプリングデータD10は、基準時刻t000、t010、t020、…、およびt090の各高速サンプリングデータD1と同じ日時情報を持つ10個のデータに複製され(すなわちデータD10の日時情報が10通りに補正され)、これら10個の複製された低速サンプリングデータD10が、それぞれ対応する基準時刻の高速サンプリングデータD1と対応付けられてデータベース304に格納される。同様に、時刻t100Aにおける低速サンプリングデータD10は、基準時刻t100、t110、…、およびt190の各高速サンプリングデータD1と同じ日時情報を持つ10個のデータに複製され(すなわち日時情報が10通りに補正され)、同一日時のデータD1、D10同士が対応付けられてデータベース304に格納される。こうして、データベース304は、時間的粒度の揃った複数の計測データを保持することができる。これにより、計測データのモニタリングや分析が容易となる。
【0056】
なお、
図11では高速サンプリングデータ(すなわち時間的粒度の細かいデータ)の日
時情報を基準として低速サンプリングデータの日時情報を補正したが、その反対に、低速サンプリングデータ(すなわち時間的粒度の粗いデータ)の日時情報を基準として高速サンプリングデータの日時情報を補正することとしてもよい(以下の
図13の例を参照)。
【0057】
図12は、第2リングバッファ204-2の計測データ(例えば低速サンプリングデータ)と第3リングバッファ204-3のイベントデータを時間的に整合させる処理の例を示す図である。
図12上段において、第2リングバッファ204-2には、時刻t100、t200、t300、…(100ミリ秒間隔)における計測データD2が保持され、第3リングバッファ204-3には、時刻t923、t107、t801、…(非周期的)におけるイベントデータD11~D14が保持されている。ただし、各時刻の関係は、t923<t100<t107<t200<t300<t801であるとする。前述したように、通常、イベントデータの時間的粒度は、計測データの時間的粒度よりも粗い。データ管理装置300のプロセッサ302は、計測データ(すなわち時間的粒度の細かいデータ)の日時情報を基準としてイベントデータの日時情報を補正する。データベース304には、日時情報が補正されたイベントデータが、補正の基準とされた計測データと対応付けて格納される。
【0058】
具体的には、
図12の例において、時刻t923のイベントデータD11~D14は、日時情報が基準時刻t100に補正され、当該基準時刻t100の計測データD2と対応付けられてデータベース304に格納される。また、時刻t107のイベントデータD11~D14は、(t300<t801であるため)日時情報が基準時刻t200と基準時刻t300の2通りに補正され(すなわち日時情報が異なる2つのデータに複製され)、それぞれ時刻t200と時刻t300の計測データD2と対応付けられてデータベース304に格納される。図示されていないが時刻t801のイベントデータD11~D14も同様である。こうして、データベース304は、時間的粒度の揃った計測データとイベントデータを保持することができる。これにより、計測データおよびイベントデータのモニタリングや分析が容易となる。
【0059】
図13は、第2リングバッファ204-2の計測データ(例えば低速サンプリングデータ)と第3リングバッファ204-3のイベントデータを時間的に整合させる処理の別の例を示す図である。
図13上段において、第2リングバッファ204-2には、時刻t900、…、t100、t200、t300、…、t800、…(100ミリ秒間隔)における計測データD2が保持され、第3リングバッファ204-3には、時刻t923、t107、t801、…(非周期的)におけるイベントデータD11~D14が保持されている。ただし、各時刻の関係は、t900<t923<t100<t107<t200<t300<t800<t801であるとする。データ管理装置300のプロセッサ302は、上述の
図12の場合とは反対に、イベントデータ(すなわち時間的粒度の粗いデータ)の日時情報を基準として計測データの日時情報を補正する。データベース304には、日時情報が補正された計測データが、補正の基準とされたイベントデータと対応付けて格納される。
【0060】
具体的には、
図13の例において、基準時刻t923の直前の時刻t900における計測データD2は、日時情報が当該基準時刻t923に補正され、時刻t923のイベントデータD11~D14と対応付けられてデータベース304に格納される。同様に、基準時刻t107の直前の時刻t100、および基準時刻t801の直前の時刻t800における計測データD2は、それぞれ日時情報が当該基準時刻t107、t801に補正され、時刻t107、t801の各イベントデータD11~D14と対応付けられてデータベース304に格納される。なお、基準時刻の直前の時刻ではない時刻t200、t300等における計測データD2は、時間整合処理の結果、データベース304の格納対象から外される。こうして、データベース304は、時間的粒度の揃った計測データとイベント
データを保持することができる。これにより、計測データおよびイベントデータのモニタリングや分析が容易となる。
【0061】
なお、
図12および
図13では第2リングバッファ204-2の計測データと第3リングバッファ204-3のイベントデータを時間的に整合させたが、同様の処理を用いて、第2リングバッファ204-2の計測データと第4リングバッファ204-4の制御ビットデータを時間的に整合させることも可能である。
【0062】
図14は、本発明の一実施形態に係る方法を実施するシステム10の別の構成例を示す図である。
図14において、システム10は、複数の制御装置200を備える。第1制御装置200Aは、半導体製造装置100の複数の駆動部120およびセンサ140のうちの一部に接続され、第2制御装置200Bは、半導体製造装置100の複数の駆動部120およびセンサ140のうちの他の一部に接続される。
図14のシステム10における各構成要素の機能は、
図1のシステム10における各構成要素の機能と同じである。
【0063】
図15は、
図14のシステム10に適用可能な、
図2のフローチャートのステップS205における処理の詳細を示す図である。
図14のシステム10において、第1制御装置200Aおよび第2制御装置200Bはそれぞれ、前述したように、高速サンプリングデータを第1の時間的粒度で周期的に(例えば10ミリ秒毎に)第1リングバッファ204-1に書き込み、低速サンプリングデータを第2の時間的粒度で周期的に(例えば100ミリ秒毎に)第2リングバッファ204-2に書き込む。ここで、例えば、各制御装置200のタイマー207の時間が正確に合っていない場合や、各制御装置200の処理負荷に差がある場合などには、各制御装置200の第1リングバッファ204-1(または第2リングバッファ204-2)に実際に記憶される日時情報にずれが生じることがあり得る。
【0064】
データ管理装置300は、各制御装置200の第1リングバッファ204-1(または第2リングバッファ204-2)のデータを一旦そのままの状態でデータベース304に格納し、その後の適宜の時点で(例えばデータのモニタリングや分析時に)、データベース304内のデータを時間的に整合させる処理を行う。あるいは、データ管理装置300は、各制御装置200の第1リングバッファ204-1(または第2リングバッファ204-2)から取り出したデータをデータベース304に格納するのに先立って、それらデータを時間的に整合させる処理を行う。
【0065】
例えば、データ管理装置300のプロセッサ302は、第1制御装置200Aの日時情報を基準として第2制御装置200Bの日時情報を補正する。データベース304には、日時情報が補正された第2制御装置200Bの計測データが、補正の基準とされた第1制御装置200Aの計測データと対応付けて格納される。
図15に示される例において、第2制御装置200Bの時刻t098における計測データD10は、日時情報が第1制御装置200Aの基準時刻t100に補正され、当該基準時刻t100における第1制御装置200Aの計測データD1と対応付けられてデータベース304に格納される。第2制御装置200Bの時刻t203、t301における計測データD10も同様に、日時情報がそれぞれ第1制御装置200Aの基準時刻t200、t300に補正されたうえで、データベース304に格納される。なお、ここでは第1制御装置200Aの日時情報を基準としたが、第2制御装置200Bの日時情報を基準としてもよい。どちらの日時情報を基準とするかは、例えば、予めデータ管理装置300に設定しておくことができる。
【0066】
複数の制御装置200を備える
図14のシステム10において、
図11~13を参照して説明した時間整合処理を適用することも可能である。その場合、
図11~13にそれぞれ示されている2つのリングバッファのうちいずれか一方が第1制御装置200Aのリン
グバッファであり、他方が第2制御装置200Bのリングバッファであるのであってもよい。例えば、
図11の例において、第1制御装置200Aの第1リングバッファ204-1に保持された高速サンプリングデータの日時情報を基準として、第2制御装置200Bの第2リングバッファ204-2に保持された低速サンプリングデータの日時情報を補正することができる。あるいはその反対に、第2制御装置200Bの第1リングバッファ204-1に保持された高速サンプリングデータの日時情報を基準として、第1制御装置200Aの第2リングバッファ204-2に保持された低速サンプリングデータの日時情報を補正することもできる。
図12および
図13の例に関しても同様である。
【0067】
以上、いくつかの例に基づいて本発明の実施形態について説明してきたが、上記した発明の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明には、その均等物が含まれることはもちろんである。また、上述した課題の少なくとも一部を解決できる範囲、または、効果の少なくとも一部を奏する範囲において、特許請求の範囲および明細書に記載された各構成要素の任意の組み合わせ、または、省略が可能である。
【符号の説明】
【0068】
10 システム
100 半導体製造装置
120 駆動部
140 センサ
200 制御装置
202 プロセッサ
203 メモリ
204-1 第1リングバッファ
204-2 第2リングバッファ
204-3 第3リングバッファ
204-4 第4リングバッファ
205 入出力インターフェイス
206 通信インターフェイス
207 タイマー
300 データ管理装置
302 プロセッサ
303 メモリ
304 データベース
400 通信配線
500 ネットワーク