(57)【要約】【課題】本発明は、いかなるタイミングで電源遮断が発生しても、コンパクトフラッシュ等の外部記録メディアのデータ構造を保護し、かつ、電源遮断前のログデータの復帰を可能とする高信頼性のロギングシステムを提供することを目的とする。【解決手段】本発明は、ＳＲＡＭ等の高速アクセス可能な不揮発性メモリにログデータ管理領域を設ける。さらに、管理領域のアクセス時間を保証する低電圧検出回路を設け、管理領域の書込み前にはフラグ値を確認することで、データ管理領域書込み中に電源遮断が発生しない仕組みとし、外部記録メディア内のデータ構造破壊を防止する。さらに、不揮発性メモリ内部にメモリブロックを設け、メモリブロックと外部記録メディアの両方にログデータを書きこみ、電源遮断後の再起動時にログデータを比較チェックすることで、ログデータの整合性を保ち信頼性向上を実現する。【選択図】図１
2009086980.tif 000002
【特許請求の範囲】
【請求項１】
動作ログのログデータを記録するための外部記録メディアと、ＳＲＡＭ等の高速アクセス可能な高速不揮発性メモリと、電源遮断前の低電圧を検出する低電圧検出回路と、プログラムが動作するための内部メモリを具備した装置において、
前記ログデータのためのデータ管理領域を前記高速不揮発性メモリに配置し、かつ高速不揮発性メモリ内のデータ管理領域の書換え時は、前記低電圧検出回路が検出する低電圧検出フラグを確認する機能を備えたことを特徴とするロギングシステム。
【請求項２】
請求項１記載のロギングシステムにおいて、
前記ログデータを高速不揮発性メモリと外部記録メディアの両方に保存することで、電源遮断後の次回起動時に、外部記録メディアのログデータの整合性チェックを行い、データ不正のときは、高速不揮発性メモリの内容を元に外部記録メディアへのログデータ復帰させる機能を備えてことを特徴とするロギングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンパクトフラッシュ（登録商標）等の外部記録メディアに動作ログを記録するロギングシステム装置に関する。
【背景技術】
【０００２】
コンパクトフラッシュやハードディスク等の外部記録メディアにデータを記録する装置では、ＦＡＴファイルシステム等の論理フォーマットを外部記録メディア内に構築することで、ファイルとしてデータを記録する方法が一般的である。
【０００３】
ＦＡＴファイルシステムでは、ＦＡＴテーブルとよばれるデータ位置を記述したテーブルと、ディレクトリエントリと呼ばれるディレクトリ構造を記述したテーブルを操作することでデータ構造を管理している。
【０００４】
しかし、外部記録メディア上のデータへのアクセスはＭＰＵに直接接続する内部メモリよりも読書き速度が劣るため、ファイルへのアクセスを頻繁に行ったり、巨大なファイルを操作すると、外部メモリ上にあるＦＡＴテーブルや、ディレクトリエントリへの操作が大量に発生し、装置のスループットを低下させてしまう。
【０００５】
これを避けるために、特許文献１では、頻繁にアクセスするＦＡＴやディレクトリエントリを外部記録メディアとともに内部メモリ上にも配置することで、外部記録メディアへのアクセス回数を減らし、スループットを改善する手法が述べられている。
【０００６】
また、ＦＡＴテーブルやディレクトリエントリを用いず、書込みデータを固定長とし、さらにＡＣ電源遮断検出部を設けることでデータの損失を最小限に抑える方式が、特許文献２に開示されている。
【０００７】
この方式では、外部記憶装置への書き込み中に電源遮断が発生すると、書込み中の１アクセス分のデータを書き込んで処理を終了する。
【０００８】
【特許文献１】特開２００６−２５２０９６号公報
【特許文献２】特開平６−５１８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のＦＡＴファイルシステムによるデータの保存方式では、外部記録メディア上のデータ管理領域を記録しているため、ファイルを更新したときは、いずれかのタイミングでデータ管理領域も書き換える必要がある。よって、これの書き込み中に電源遮断が発生した場合は、ＦＡＴファイルシステムのデータ全体が破壊される危険がある。
【００１０】
特許文献２の手法においては、低電圧検出部と、データを固定長とし、“書込み中”を示すフラグを設けることで、最終データチェックを可能とし、信頼性を高めているが、“書込み中”を示すフラグを外部記録メディアに記憶しており、該データ書込み後に更新する必要があるため、フラグの値が該データよりも信頼性が低いこと、また、電源遮断直前に書込んだデータがエラーであることは検出できるがそのデータを復帰できないこと、また、データ書込みの際、該データのほかに、“書込み中”フラグのＯＮ／ＯＦＦの手順が増えるため、低電圧検出部は、外部記録メディアのアクセス３回分を保証する必要がある。
【００１１】
本発明は、上記の課題に鑑み、電源遮断がどのようなタイミングで発生しても、外部記録メディアのデータ構造を破壊せず、電源遮断前のデータの整合性チェックとともに、データ内容の復帰を可能とするロギングシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
コンパクトフラッシュ等の低速アクセスの大容量外部記録メディアをログデータ記録域とし、ＳＲＡＭ等の高速アクセス可能な小容量不揮発性メモリにデータ管理領域を配置する。
【００１３】
書込み速度を比較するとコンパクトフラッシュの数マイクロ秒に対し、ＳＲＡＭは数十ナノ秒となる。データ管理領域の書換え中に電源が遮断する確率は、書換え速度に比例するので、電源遮断によるデータ不整合の危険性は、１／１００程度に低減する。
【００１４】
加えて、低電圧検出回路を設け、データ管理情報の書換え前には、回路が出力する低電圧検出フラグを確認する。電源遮断前の電圧立下りによる低電圧期間中はデータ管理領域にアクセスしないことで、データ管理領域書換え中に電源が遮断することを防止する。
【００１５】
外部記録メディアにはセクタと呼ばれるメモリブロック単位でアクセスする必要がある。各セクタに効率的なアクセスを実施するためには、セクタ単位のまとまったメモリブロックを内部メモリに設け、データをバッファリングする手法が一般的である、本発明では、高速不揮発性メモリ内にバッファリングする。
【００１６】
外部記録メディアへの書込み中に電源遮断したとしても、不揮発性メモリ内に、ログデータをバッファリングしているため、次回起動時に前回電源遮断時の最終ログデータの整合性チェックをすることができる。
【００１７】
整合性チェックでは、高速不揮発性メモリ内のデータの方が、外部記録メディア内のデータよりも先に保存されているため、高速不揮発性メモリ内のデータで外部記録メディアを書き換えることで、最終ログデータの復帰が可能である。
【発明の効果】
【００１８】
本発明によれば、小容量不揮発性メモリにデータ管理領域を配置することにより、外部記録メディアのデータ構造を保護できる。
【００１９】
また、ログデータを高速不揮発性メモリと外部記録メディアの両方に保存することにより、個々のログデータの欠落を防止し、信頼性の高いデータロギングを実現できる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施形態に関し、図面を引用して以下に説明する。
【００２１】
まず、図１〜図４に沿って実施例１に関する説明をする。
【実施例１】
【００２２】
図１は、本発明における、ログデータを主体としたデータフロー図である。
【００２３】
図１において、１０１はプログラムが動作するための内部メモリ、１０２は高速不揮発性メモリ、１０３は外部記録メディア、１０４は低電圧検出回路、１０５は低電圧検出回路が有し、プログラムから参照可能な低電圧検出フラグ、１０６はマイクロプロセッシングユニット（ＭＰＵ）等に備えた装置プログラム、１０７は装置プログラムのログデータ、１０８はロギング制御部、１０９はロギング制御部の作業域にコピーした内部メモリ内ログデータ、１１０は高速不揮発性メモリと外部記録メディア上のデータ書込み位置を保持するデータ管理領域、１１１は高速不揮発性メモリ内に書き込んだログデータ、１１２は外部記録メディアに書き込んだログデータを示す。図１内の矢印については、順次意味を示す。
【００２４】
図２のフローチャートを参照して、ログデータ１０７を外部記録メディア内のログデータ１１２として、外部記録メディアに書きこむ手順について説明する。
【００２５】
ステップＳ１２１にて、装置プログラム１０６は、装置制御やデータ通信を行った際に、ロギング制御部１０８にログ記録を依頼する。このログ記録依頼を図１内の矢印１１３に示す。
【００２６】
図３に、ログデータのデータ構造を示す。
【００２７】
ログデータ識別番号２０２はログデータの一意性と記録順序を判別するための識別番号で、ロギング制御部１０８がログデータ依頼を受けたときに採番する。日付時刻２０３は、ロギング制御部１０８がログデータ依頼１１３を受けたときの日付時刻を保存する。
【００２８】
ログ内容２０４はロギングするべきデータ内容で、装置プログラム１０６がパラメータとしてロギング制御部１０８に渡すデータである。ログデータ長２０５はデータ構造の長さを算出した値である。
【００２９】
ロギング制御部１０８はログ記録依頼１１３を受けると、ステップＳ１２２でログデータ構造作成を実施する。ログデータ識別番号２０２と日付時刻２０３、ログデータ長２０４をログデータ１０７に付加し、内部メモリ１０１内にログデータ１０９を作成する。この手順を矢印１１４に示す。
【００３０】
ステップ１２３は条件分岐である。ロギング制御部１０８は、低電圧検出回路１０４が出力する低電圧検出フラグ１０５を確認する機能を有する。低電圧検出フラグ１０５の値のチェックを矢印１１５に示す。
【００３１】
低電圧検出フラグ１０５がＯＮの場合、装置は電源遮断の直前であることを示しているため、該当ログデータの登録は中断する。したがって、このログデータは失われるが、逆をいえば、ログ記録を続行した場合、書込み動作中に電源遮断して、誤ったログデータとなる可能性が高い。
【００３２】
さらに最悪の場合、書込みアドレス計算結果が不正値に化けてしまうことで、ログ領域全体がデータ破壊する可能性がある。要するに、電源遮断の直前はログ記録を中断したほうが、データ構造全体の安全性を高めることができる。
【００３３】
低電圧検出フラグ１０５がＯＦＦであれば、ステップＳ１２４とステップ１２５を実行する。高速不揮発性メモリ上のデータ管理領域更新（矢印１１６）、および高速不揮発性メモリ内ログデータの書込み（矢印１１７）を実施し、高速不揮発性メモリ内ログデータ１１１を作成する。
【００３４】
ステップＳ１２４のデータ管理領域更新について、図４に示す管理領域のデータ構造図を用いて詳しく説明する。
【００３５】
図４は、データ管理領域１１０の詳細を記述した図である。
【００３６】
はじめに、高速不揮発性メモリへの書込みアドレス値３０４の読出しと更新を行う。データ管理領域３０１を参照し、高速不揮発性メモリへの書込みアドレス値３０４を得る。
【００３７】
これに図３のログデータ長２０５を加算した値と、高速不揮発性メモリ領域の末尾アドレス値３０３を比較し、加算値の方が小さければ、メモリ領域内に収まるので、高速不揮発性メモリへの書込みアドレス値３０４を書き込みアドレス値として採用する。
【００３８】
大きい場合は、メモリ領域を超えているため、高速不揮発性メモリ領域の先頭アドレス値３０２を書き込みアドレス値として採用する。次のログデータ記録に備えて、加算値（または先頭アドレス値）で、高速不揮発性メモリへの書込みアドレス値３０４を更新する。
【００３９】
次に、外部記録メディアへの書込みアドレス値３０７の算出と更新を行う。
【００４０】
データ管理領域３０１を参照し、外部記録メディアの書込みアドレス値３０７を得る。これにログデータ長２０５を加算した値と外部記録メディアの末尾アドレス値３０６を比較し、加算値の方が小さければ、メモリ領域内に収まるので、外部記録メディアへの書込みアドレス値３０７を書き込みアドレス値として採用する。
【００４１】
大きい場合は、メモリ領域を超えているため、外部記録メディアの先頭アドレス値３０５を書き込みアドレス値として採用する。
【００４２】
次のログデータ記録に備えて、加算値（または先頭アドレス値）で、外部記録メディアへの書込みアドレス値３０７を更新する。
【００４３】
かかるステップＳ１２４の完了後に、ステップＳ１２５を実行する。算出した高速不揮発性メモリへの書込みアドレス値３０４に内部メモリ内ログデータ１０９をコピーする。この手順が矢印１１７である。
【００４４】
低電圧検出フラグがＯＦＦの場合は、ステップＳ１２３で低電圧検出フラグ参照し、ステップＳ１２５までは、低電圧検出回路１０４により、電源遮断しないことを保障する。
【００４５】
ステップＳ１２６では、高速不揮発性メモリ内１１１を外部記録メディア１０３にコピーして、外部記録メディア内ログデータ１１２を作成する。この書込み手順を矢印１１８に示す。
【００４６】
このときの書込み時間は、５１２バイトあたり数百マイクロを要するため、この期間中に電源遮断が発生する可能性は高いが、管理情報１１０は更新済みであり、さらに高速不揮発性メモリ内ログデータ１１１も保存済みであるから、次回起動時に、外部記録メディアにコピーしなおすのが可能である。
【００４７】
この手法について、実施例２で説明する。
【実施例２】
【００４８】
図５は、実施例１において、外部記録メディアへのログデータコピー１１８を実行中に電源遮断した場合、次回起動時に外部記録メディアにコピーしなおす手順である。
【００４９】
ステップＳ４０１において、変数Ａ１に高速不揮発性メモリへの書込みアドレス値３０４を代入する。変数Ａ１は前回電源遮断前の高速不揮発性メモリ内ログデータ１１１のアドレス値である。
【００５０】
ステップＳ４０２において、変数Ａ２に外部記録メディアの書込みアドレス値３０７を代入する。変数Ａ２は前回電源遮断前の外部記録メディア内ログデータ１１２のアドレス値である。
【００５１】
次に、変数Ａ１と変数Ａ２のアドレスに書かれているログデータを比較チェックするステップＳ４０３を行う。ステップＳ４０３において、ログデータが一致した場合、前回の電源遮断時は両方のログデータは正常に書き込まれたと判断し、ステップステップＳ４０４に進み、ログデータのチェック処理を終了する。
【００５２】
ステップＳ４０４において、ログデータが一致しなかった場合は書き込み中に電源遮断が発生したために、コンパクトフラッシュ内ログデータ１１２には誤りがあると判断し、ステップＳ４０５に進む。Ｓ４０５では、変数Ａ２のアドレスに変数Ａ１のアドレスのログデータをコピーすることで、ログデータを復帰することができる。
【００５３】
上述したログデータを復帰させる機能により、外部記録メディアへのコピー中に発生した電源遮断が原因でデータ化けしたログデータを復帰することが可能である。
【００５４】
図６は、上述した本発明のロギングシステムを適用した装置形態の構成例を示すブロック図である。
【００５５】
ウエハ搬送装置６０２は、上位装置６０１から送られる制御コマンドに従い、搬送ロボット６０５を動作させることで、ウエハを搬送する装置である。本発明のロギングシステムは、装置本体内部に実装するのが適当であるが、説明のために、装置本体から切り離して図示すると、ロギングシステム６０３の構成となる。
【００５６】
上位装置６０１は、通信線を介しウエハ搬送装置６０２に対して、搬送コマンドを送る。通信制御部６０３は、搬送コマンドを受信すると、上位装置に対し、応答を送信するとともに、ロギング制御部６０８に対して通信内容を記録するように依頼する。
【００５７】
本体制御部６０４は、通信制御部６０３からの搬送コマンドを受け入れると、装置や装置内ウエハの有無チェック等を行い、エラーが発生した際は、ロギング制御部６０８にエラー内容を記録するように依頼する。正常であっても、正常処理中であることをログに記録することもできる。
【００５８】
装置やウエハの整合性に問題がなければ、ロボット制御部６０６により、搬送ロボット６０５の制御を行う。ロボット制御部６０６は、個々の制御動作のログを逐次、ロギング制御部６０８に依頼することができる。
【００５９】
この例の場合、制御単位を通信、エラーチェック、機器制御を区切りとして明確にしたことで、なんらかの不具合や事故が発生した際は、ログを参照すれば、エラーが発生した制御部を特定することが容易となる。
【００６０】
本発明のロギングシステムは、ソフトウェアであるロギング制御部６０８と、ハードウェアである内部メモリ６０７、低電圧検出回路６０９、高速不揮発性メモリ６１０、および外部記録メディア６１１から構成される。
【００６１】
ロギング制御部６０８は、ロギングシステムを統括するソフトウェアである。
【００６２】
内部メモリ６０７は、プログラムの作業域である。ウエハ搬送装置の制御プログラム（通信制御部６０３、本体制御部６０４、ロボット制御部６０６）から、ログ記録依頼を受付けると、内部メモリ６０７には記録形式に変換したログデータが生成される。
【００６３】
高速不揮発性メモリ６１０はログデータのにバッファリング、およびデータ管理領域が配置される。
【００６４】
低電圧検回路６０９による低電圧検出フラグを参照することで、高速不揮発性メモリ更新中の電源遮断を防止することができる。低電圧検出回路は、電源遮断前の電圧低下を検知し、低電圧検出回路をＯＮにする機能をもつ回路である。
【００６５】
外部記録メディア６１１はログデータの最終的な記録域である。本発明のロギングシステムは、ロギング制御部６０８が受付けたログデータを安全に外部記録メディア６１１に記録する手段である。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施例１に関るもので、ログデータを主体としたデータフロー図である。
【図２】本発明の実施例１に関るもので、ログデータを外部記録メディアに書きこむ手順を説明するためのフローチャートである。
【図３】本発明の実施例１に関るもので、ログデータのデータ構造を示す図である。
【図４】本発明の実施例１に関るもので、ログデータの管理情報のデータ構造を示す図である。
【図５】本発明の実施例２に関るもので、ログデータの復帰手順を示すフローチャートである。
【図６】本発明のロギングシステムをウエハ搬送装置に適用した全体の概要構成を示すブロック図である。
【符号の説明】
【００６７】
１１３…ログデータの記録依頼、１１４…内部メモリ内ログデータの作成、１１５…ロギング制御部１０８による低電圧検出フラグの確認、１１６…ロギング制御部１０８によるデータ管理領域の更新、１１７…高速不揮発性メモリ内へのログデータのコピー、１１８…外部記録メディアへのログデータのコピー。
【図１】
2009086980.tif 000003
【図２】
2009086980.tif 000004
【図３】
2009086980.tif 000005
【図４】
2009086980.tif 000006
【図５】
2009086980.tif 000007
【図６】
2009086980.tif 000008