(57)【要約】      （修正有）【課題】記憶装置で障害が発生したときに、イベントの発生時刻とイベントの内容とを対応付けることができ、かつ、記憶装置が現在時刻情報を取得する必要が無いようにする。【解決手段】記憶装置が、イベントの発生時にイベント毎の識別情報を生成する識別情報生成部と、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するイベント情報記録部と、前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するイベント識別情報通知部とを備える。【選択図】図９
2017174003.tif 000002
【特許請求の範囲】
【請求項１】
イベントの発生時にイベント毎の識別情報を生成する識別情報生成部と、
前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するイベント情報記録部と、
前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するイベント識別情報通知部と
を備える記憶装置。
【請求項２】
前記イベント識別情報通知部は、前記イベントの識別情報に加えて、前記イベントの内容情報を前記コンピュータ装置に通知する、請求項１に記載の記憶装置。
【請求項３】
前記イベント識別情報通知部は、前記イベントの識別情報に加えて、記録検索用のキーワードを前記コンピュータ装置に通知する、請求項１又は請求項２に記載の記憶装置。
【請求項４】
前記イベント識別情報通知部は、前記イベントの識別情報に加えて、記憶装置の識別情報を前記コンピュータ装置に通知する、請求項１から３の何れか一項に記載の記憶装置。
【請求項５】
記憶装置とコンピュータ装置とを備え、
前記記憶装置は、
イベントの発生時にイベント毎の識別情報を生成する識別情報生成部と、
前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するイベント情報記録部と、
前記イベントの発生時に、前記イベントの識別情報を通知するイベント識別情報通知部とを備え、
前記コンピュータ装置は、
前記記憶装置から送られてきたイベントの識別情報を受信するイベント識別情報受信部と、
前記イベント識別情報受信部が前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得する時刻取得部と、
前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するイベント発生時刻記録部とを備える
コンピュータシステム。
【請求項６】
記憶装置から送られてきたイベントの識別情報を受信するイベント識別情報受信部と、
前記イベント識別情報受信部が前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得する時刻取得部と、
前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するイベント発生時刻記録部と
を備えるコンピュータ装置。
【請求項７】
記憶装置が、イベントの発生時に、イベント毎の識別情報を生成するステップと、
前記記憶装置が、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するステップと、
前記記憶装置が、前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するステップと
を含むイベント処理方法。
【請求項８】
コンピュータ装置が、記憶装置から送られてきたイベントの識別情報を受信するステップと、
前記コンピュータ装置が、前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得するステップと、
前記コンピュータ装置が、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するステップと、
を含むイベント処理方法。
【請求項９】
記憶装置の制御部として機能するコンピュータ装置に、
イベントの発生時に、イベント毎の識別情報を生成するステップと、
前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するステップと、
前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するステップと
を実行させるためのプログラム。
【請求項１０】
コンピュータ装置に、
記憶装置から送られてきたイベントの識別情報を受信するステップと、
前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得するステップと、
前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置、コンピュータシステム、コンピュータ装置、イベント処理方法及びプログラムに関する。
【背景技術】
【０００２】
コンピュータシステムでは、システム内で検知したイベントをログに記録しておき、障害発生時に、ログを解析して障害の分析を行っている（例えば特許文献１）。また、ハードディスク装置で発生した障害の原因を分析するために、ハードディスク装置で発生したイベントをログに記録して、ハードディスク装置の故障分析が行われている（例えば特許文献２、特許文献３、特許文献４及び特許文献５参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１５／０７９５６４号
【特許文献２】特開２００９−２２３９９６号公報
【特許文献３】特開２００９−１５１６８５号公報
【特許文献４】特開２００９−１１０１３３号公報
【特許文献５】特開平０５−３２４２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ハードディスク装置にメモリを設け、このメモリにハードディスク装置で発生したイベントを記録しておくと、ハードディスク装置に故障が発生したときに、障害の原因を分析できる（例えば特許文献４及び特許文献５参照）。ここで、ハードディスク装置で発生したイベントの発生順序を明確にし、障害の要因を分析するためには、イベントの時刻情報をログに記録しておくことが有効である。しかしながら、ハードディスク装置は、イベント発生時に現在時刻を計測する機能を有していない。
【０００５】
そこで、特許文献４では、ハードディスクに接続したディスクアレイコントローラから時刻データを取得している。そして、特許文献４では、イベント発生時に、ディスクアレイコントローラから取得した時刻情報にハードディスクの電源オンからの稼働時間を加算して、イベント発生時の時刻を算出し、算出されたイベントの発生時刻とイベントの内容とを対応付けてログに記録するようにしている。
【０００６】
しかしながら、特許文献４では、ディスクアレイコントローラとして、時刻情報を伝達する仕様のものを用いることを前提としている。特許文献４に記載されている技術では、時刻情報を伝達しない仕様のディスクアレイコントローラに適用することは難しい。
【０００７】
本発明は、上述の課題を解決することのできる記憶装置、コンピュータシステム、コンピュータ装置、イベント処理方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明の第１の態様によれば、記憶装置は、イベントの発生時にイベント毎の識別情報を生成する識別情報生成部と、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するイベント情報記録部と、前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するイベント識別情報通知部とを備える。
【０００９】
本発明の第２の態様によれば、コンピュータシステムは、記憶装置とコンピュータ装置とを備え、前記記憶装置は、イベントの発生時にイベント毎の識別情報を生成する識別情報生成部と、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するイベント情報記録部と、前記イベントの発生時に、前記イベントの識別情報を通知するイベント識別情報通知部とを備え、前記コンピュータ装置は、前記記憶装置から送られてきたイベントの識別情報を受信するイベント識別情報受信部と、前記イベント識別情報受信部が前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得する時刻取得部と、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するイベント発生時刻記録部とを備える。
【００１０】
本発明の第３の態様によれば、コンピュータ装置は、記憶装置から送られてきたイベントの識別情報を受信するイベント識別情報受信部と、前記イベント識別情報受信部が前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得する時刻取得部と、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するイベント発生時刻記録部とを備える。
【００１１】
本発明の第４の態様によれば、イベント処理方法は、記憶装置が、イベントの発生時に、イベント毎の識別情報を生成するステップと、前記記憶装置が、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するステップと、前記記憶装置が、前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するステップとを含む。
【００１２】
本発明の第５の態様によれば、イベント処理方法は、コンピュータ装置が、記憶装置から送られてきたイベントの識別情報を受信するステップと、前記コンピュータ装置が、前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得するステップと、前記コンピュータ装置が、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するステップと、を含む。
【００１３】
本発明の第６の態様によれば、プログラムは、記憶装置の制御部として機能するコンピュータ装置に、イベントの発生時に、イベント毎の識別情報を生成するステップと、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するステップと、前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するステップとを実行させるためのプログラムである。
【００１４】
本発明の第７の態様によれば、プログラムは、コンピュータ装置に、記憶装置から送られてきたイベントの識別情報を受信するステップと、前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得するステップと、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するステップとを実行させるためのプログラムである。
【発明の効果】
【００１５】
この発明によれば、記憶装置で障害が発生したときに、イベントの発生時刻とイベントの内容とを対応付けることができ、かつ、記憶装置は、現在時刻情報を取得する必要が無い。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係るハードディスク装置の構成例を示す概略構成図である。
【図２】同実施形態に係るコンピュータシステムの構成例を示す概略構成図である。
【図３】同実施形態に係るコンピュータシステムにおけるハードディスク装置側でのイベント処理手順の例を示すフローチャートである。
【図４】同実施形態に係るコンピュータシステムにおけるコンピュータ装置側でのイベントの処理を示すフローチャートである。
【図５】ハードディスク装置に生じたイベントの一例の説明図である。
【図６】同実施形態に係るコンピュータシステムにおけるハードディスク装置側のログの一例の説明図である。
【図７】同の実施形態に係るコンピュータシステムにおけるコンピュータ装置側のログの一例の説明図である。
【図８】同実施形態に係るコンピュータシステムにおけるハードディスク装置の解析処理の一例を示すフローチャートである。
【図９】本発明に係る記憶装置の最小構成を示す概略ブロック図である。
【図１０】本発明に係るコンピュータシステムの最小構成を示す概略ブロック図である。
【図１１】本発明に係るコンピュータ装置の最小構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、本発明の一実施形態に係るハードディスク装置（記憶装置）の構成例を示す概略構成図である。図１に示すように、ハードディスク装置１０は、ハードディスクコントローラ１１、リード／ライトデータ処理回路１２、磁気ヘッド１３、磁気ディスク１４、マイクロプロセッサ１５、及びメモリ１６を備える。
【００１８】
ハードディスクコントローラ１１は、コンピュータ装置と通信を行い、データの記録再生の制御を行う。本実施形態では、ハードディスクコントローラ１１は、イベントの識別番号をコンピュータ装置に通知するイベント識別情報通知部として機能する。すなわち、ハードディスクコントローラ１１は、イベント発生時に、コンピュータ装置に、イベント識別情報通知部としてイベントログ番号を送信する処理を行う。イベントログ番号は、後に説明するように、イベント毎に歩進する番号である。
【００１９】
リード／ライトデータ処理回路１２は、記録時に、磁気ヘッド１３を駆動して、磁気ディスク１４にデータを記録する。また、リード／ライトデータ処理回路１２は、再生時に、磁気ヘッド１３からの再生信号から、データを再生する。
磁気ヘッド１３は、アーム１９を介して取り付けられている。磁気ヘッド１３は、磁気ディスク１４にデータを記録し（すなわち、書き込み）、又は、磁気ディスク１４からデータを再生する（すなわち、読み出す）。
磁気ディスク１４は、金属製円盤のディスクであり、その表面に磁性体が塗布されている。磁気ディスク１４ではセクタ毎に、データが磁気的に記録又は再生される。
【００２０】
マイクロプロセッサ１５は、ハードディスク装置１０で発生したイベントに対する処理を行う。マイクロプロセッサ１５は、ファームウェア２１に基づいて動作する。ファームウェア２１は、例えばＲＯＭ（Read Only Memory）等に格納されたソフトウェアである。また、マイクロプロセッサ１５は、カウンタ１７の機能を有している。本実施形態では、マイクロプロセッサ１５は、イベント情報記録部として機能し、カウンタ１７の値によりイベントログ番号を生成する。マイクロプロセッサ１５は、イベントの発生時に、イベントログ番号とイベントの内容とを対応付けてメモリ１６に記録する。また、本実施形態では、マイクロプロセッサ１５は、イベントの発生時に、イベントログ番号をハードディスクコントローラ１１を介してコンピュータ装置に通知する。カウンタ１７は、イベントの発生時にイベント毎の識別情報を生成する識別情報生成部として機能する。
【００２１】
メモリ１６は、ハードディスク装置１０で発生したイベントの内容とイベントログ番号とを対応付けて、ハードディスク装置１０側のログとして記録する。メモリ１６としては、フラッシュメモリ等の不揮発性メモリが用いられる。メモリ１６は、ハードディスク装置１０の主記録領域である磁気ディスク１４からは独立している。したがって、磁気ヘッド１３や磁気ディスク１４に障害が生じても、メモリ１６に記録されているログは、読み出すことができる。
【００２２】
図２は、ハードディスク装置１０を用いたコンピュータシステム４０の構成例を示す概略構成図である。
図２に示すコンピュータシステム４０では、ハードディスク装置１０は、ディスクアレイコントローラ２０を介して、コンピュータ装置３０に接続される。なお、ディスクアレイコントローラ２０として、特別な仕様のものを用いる必要はない。また、ディスクアレイコントローラ２０として、時刻情報を転送しない仕様のものを用いても良い。また、ディスクアレイコントローラ２０は、コンピュータ装置３０内に設けられていても良いし、外付けされていても良い。また、ハードディスク装置１０は、ディスクアレイコントローラ２０とともに、コンピュータ装置３０内に設けられていても良いし、外付けされていても良い。また、ディスクアレイコントローラ２０が、複数のハードディスク装置を接続していても良い。ディスクアレイコントローラ２０が、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）処理を行うようにしても良い。
【００２３】
ログ格納領域３１は、コンピュータ装置３０を動作しているオペレーティング・システム３２の機能により生成されるシステムログを記録する領域である。ログ格納領域３１は、コンピュータ装置３０内に設けられる。なお、ログ格納領域３１は、コンピュータ装置３０内に設ける必要はなく、コンピュータ装置３０の外部の記録装置に記録しても良い。また、複数のコンピュータ装置がネットワークで接続されるシステムでは、ログ格納領域３１をネットワーク中に設けても良い。
【００２４】
システムクロック発生部３３は、システムの時刻を発生する時計である。
本実施形態では、オペレーティング・システム３２は、イベント識別情報受信部、時刻取得部、及び、イベント発生時刻記録部として機能する。イベント識別情報受信部は、ハードディスク装置１０から送られてきたイベントログ番号を受信する。時刻取得部は、イベント識別情報受信部としてのオペレーティング・システム３２がハードディスク装置１０からイベントログ番号を受信した時に、イベントログ番号を受信した時刻をイベントの発生時刻としてシステムクロック発生部３３から取得する。イベント発生時刻記録部は、イベントの発生時刻とイベントログ番号とを対応付けてログ格納領域３１に記録する。
【００２５】
コンピュータ装置３０での処理に基づいて、ディスクアレイコントローラ２０からハードディスク装置１０にコマンドが送られる。ハードディスク装置１０は、ディスクアレイコントローラ２０からのコマンドに基づいて、データの記録又は再生の処理を行う。
すなわち、記録時には、コンピュータ装置３０から、ディスクアレイコントローラ２０を介して、ハードディスク装置１０に書き込みコマンドが送信される。ハードディスク装置１０のハードディスクコントローラ１１は、ディスクアレイコントローラ２０から書き込みコマンドを受信すると、この書き込みコマンドに応じて、磁気ディスク１４の所望のセクタにアクセスし、ディスクアレイコントローラ２０からのデータを磁気ディスク１４に記録する処理を行う。
【００２６】
また、再生時には、コンピュータ装置３０から、ディスクアレイコントローラ２０を介して、ハードディスク装置１０に読み出しコマンドが送信される。ハードディスク装置１０のハードディスクコントローラ１１は、ディスクアレイコントローラ２０から読み出しコマンドを受信すると、この読み出しコマンドに応じて、磁気ディスク１４の所望のセクタにアクセスし、磁気ディスク１４からデータを再生し、この再生データをディスクアレイコントローラ２０を介して、コンピュータ装置３０に送信する処理を行う。
【００２７】
ここで、記録時や再生時に、磁気ディスク１４の所望のセクタにアクセスする際に、シークエラーが発生することがある。また、記録時に磁気ディスク１４に記録したデータをベリファイした結果、記録データにエラーが生じていることがある。また、再生時に、磁気ディスク１４から再生されたデータのエラー検出を行った結果、エラーが生じていることがある。このように、ハードディスク装置１０で、エラー等のイベントが発生すると、ハードディスクコントローラ１１はマイクロプロセッサ１５にイベントの発生を通知する。
【００２８】
マイクロプロセッサ１５は、カウンタ１７の機能を備えている。カウンタ１７は、イベントを識別するためのイベントログ番号を発生している。すなわち、カウンタ１７は、初期値は「１」になっており、イベントを受信する毎に、その値に「１」を加算して、イベントログ番号を「１」ずつ歩進させる。したがって、カウンタ１７は、イベントの発生順に、「１」、「２」、「３」、…と歩進していく。
【００２９】
マイクロプロセッサ１５は、ハードディスクコントローラ１１からイベントを受信すると、カウンタ１７からイベントログ番号を取得する。そして、マイクロプロセッサ１５は、イベントログ番号とイベントの内容とを対応付けて、ハードディスク装置１０側のログとしてメモリ１６に記録する。これとともに、マイクロプロセッサ１５は、イベントログ番号をハードディスクコントローラ１１に送る。ハードディスクコントローラ１１は、イベントログ番号をディスクアレイコントローラ２０に送信する。
【００３０】
ディスクアレイコントローラ２０は、イベントログ番号を受信すると、専用信号でイベント割込みをし、イベントログ番号をコンピュータ装置３０のオペレーティング・システム３２に送る。コンピュータ装置３０のオペレーティング・システム３２は、イベントログ番号を受信すると、システムクロック発生部３３から現在時刻を取得し、このときの現在時刻をイベントの発生時刻とする。そして、オペレーティング・システム３２は、コンピュータ装置３０のログ格納領域３１に、イベントの発生時刻とイベントログ番号とを対応付けて、コンピュータ装置３０側のログとして記録する。なお、ハードディスクコントローラ１１からコンピュータ装置３０へのイベントログ番号の転送は、専用信号でイベント割込みをせず、通常の信号線で送るようにしても良い。
【００３１】
図３は、ハードディスク装置１０側でのイベント処理手順の例を示すフローチャートである。なお、カウンタ１７の値は、初期値では「１」になっているものとする。
（ステップＳ１０１）マイクロプロセッサ１５は、ハードディスクコントローラ１１からイベントを受信したか否かを判定する。マイクロプロセッサ１５は、イベントを受信すると（ステップＳ１０１：ＹＥＳ）、処理をステップＳ１０２に進める。一方、イベントを受信していない場合（ステップＳ１０１：ＮＯ）、ステップＳ１０１へ戻る。これにより、マイクロプロセッサ１５は、イベントの受信を待ち受ける。
【００３２】
（ステップＳ１０２）マイクロプロセッサ１５は、カウンタ１７の値を読み出し、カウンタ１７の値からイベントログ番号を取得する。
【００３３】
（ステップＳ１０３）マイクロプロセッサ１５は、イベントログ番号とイベントの内容とを対応付けて、ハードディスク装置１０側のログとしてメモリ１６に記録する。
【００３４】
（ステップＳ１０４）マイクロプロセッサ１５は、イベントログ番号をコンピュータ装置３０に通知する。
【００３５】
（ステップＳ１０５）マイクロプロセッサ１５は、カウンタ１７の値に「１」を加算する。ステップＳ１０５の後、ステップＳ１０１に戻る。
【００３６】
図４は、コンピュータ装置３０側でのイベントの処理を示すフローチャートである。
（ステップＳ２０１）コンピュータ装置３０のオペレーティング・システム３２は、イベント割り込みを受信したか否かを判定する。イベント割り込みを受信すると（ステップＳ２０１：ＹＥＳ）、通常の処理から割り込み処理に入る。一方、イベント割り込みを受信していない場合（ステップＳ２０１：ＮＯ）、ステップＳ２０１へ戻る。これにより、オペレーティング・システム３２は、割込み処理を開始せずにイベント割り込みの受信を待ち受ける。
【００３７】
（ステップＳ２０２）オペレーティング・システム３２は、送られてきたイベントの内容を取得する。なお、ハードディスク装置１０のイベントでは、イベントの内容として、イベントログ番号を取得する。
【００３８】
（ステップＳ２０３）オペレーティング・システム３２は、イベントを受信したときの時刻をイベントの発生時刻としてシステムクロック発生部３３から取得する。
【００３９】
（ステップＳ２０４）オペレーティング・システム３２は、イベントの発生時刻と、イベントの内容とを対応付けて、コンピュータ装置３０側のログとしてログ格納領域３１に記録する。なお、ハードディスク装置１０のイベントでは、ステップＳ２０２でイベントの内容としてイベントログ番号を取得する。したがって、コンピュータ装置３０は、ステップＳ２０４で、イベントの発生時刻と、イベントログ番号とを対応付けて記録することになる。これらの処理が終了すると、割り込み処理から通常処理に復帰する。
【００４０】
このように、本実施形態では、メモリ１６には、ハードディスク装置１０側のログとして、ハードディスク装置１０で発生したイベントのイベントログ番号とイベントの内容とが対応付けて記録される。また、コンピュータ装置３０のログ格納領域３１には、コンピュータ装置３０側のログとして、ハードディスク装置１０で発生したイベントの発生時刻と、イベントログ番号とが対応付けて記録される。したがって、ハードディスク装置１０側のログと、ログ格納領域３１に記録されているコンピュータ装置のログとを関連付けることで、イベントの発生時刻とイベントの内容とが解析できる。このことについて、以下、具体例を挙げて説明する。
【００４１】
図５は、ハードディスク装置１０に生じたイベントの一例を示している。また、図６は、メモリ１６に記録されるハードディスク装置１０側のログを示し、図７は、ログ格納領域３１に記録されるコンピュータ装置３０側のログを示している。
【００４２】
例えば、図５に示すように、時刻１２時０１分１０秒に、ハードディスク装置１０のイベントとして、電源が投入されたとする。また、このイベントがハードディスク装置１０の最初のイベントであるとする。
ハードディスク装置１０の電源が投入されると、ハードディスクコントローラ１１はマイクロプロセッサ１５に、電源投入のイベントの発生を通知する。マイクロプロセッサ１５は、イベントを受信すると、カウンタ１７の値から、イベントログ番号を読み出す。ここでは、電源投入のイベントは最初のイベントであるから、カウンタ１７の値は「１」になっている。したがって、マイクロプロセッサ１５は、図６に示すように、イベントログ番号を「１」とし、そのときのイベントの内容「電源投入」とを対応付けて、ハードディスク装置１０側のログとしてメモリ１６に記録する。
【００４３】
また、マイクロプロセッサ１５は、イベントログ番号「１」をハードディスクコントローラ１１から、ディスクアレイコントローラ２０を介して、コンピュータ装置３０に通知する。コンピュータ装置３０のオペレーティング・システム３２は、ハードディスク装置１０からイベントログ番号を受信すると、図７に示すように、そのときの時刻１２時０１分１０秒と、イベントログ番号「１」とを対応付けて、コンピュータ装置３０側のログとしてログ格納領域３１に記録する。
【００４４】
次に、図５に示すように、時刻１３時３１分００秒に、ハードディスク装置１０のイベントとして、シークエラーが生じたとする。このとき、カウンタ１７の値は「２」に歩進されている。シークエラーが生じると、ハードディスクコントローラ１１はマイクロプロセッサ１５に、シークエラーのイベントの発生を通知する。マイクロプロセッサ１５は、イベントを受信すると、図６に示すように、このときのイベントログ番号「２」と、このときのイベントの内容「シークエラー」とを対応付けて、ハードディスク装置１０側のログとしてメモリ１６に記録する。
【００４５】
また、マイクロプロセッサ１５は、イベントログ番号「２」をハードディスクコントローラ１１から、ディスクアレイコントローラ２０を介して、コンピュータ装置３０に通知する。コンピュータ装置３０のオペレーティング・システム３２は、ハードディスク装置１０からイベントログ番号を受信すると、図７に示すように、そのときの時刻１３時３１分００秒と、イベントログ番号「２」とを対応付けて、コンピュータ装置のログとしてログ格納領域３１に記録する。
【００４６】
以下、ハードディスク装置１０でイベントが発生すると、同様の処理が行われる。その結果、図６に示すように、ハードディスク装置１０のメモリ１６には、ハードディスク装置１０で発生したイベントのイベントログ番号とイベントの内容とを対応付けたログが記録される。また、図７に示すように、コンピュータ装置３０のログ格納領域３１には、イベントの発生時刻と、イベントログ番号とが対応付けて記録される。
【００４７】
ハードディスク装置１０で障害等が発生したときには、メモリ１６に記録されているハードディスク装置１０側のログと、ログ格納領域３１に記録されているコンピュータ装置３０側のログとを関係づけてイベントを解析することで、各イベントの発生順序を明確にし、障害の調査を容易化できる。
【００４８】
図８は、ハードディスク装置１０の解析処理の一例を示すフローチャートである。
（ステップＳ３０１）コンピュータ装置３０は、ハードディスク装置１０の解析指示が入力されたか否かを判定する。ハードディスク装置１０の解析指示が入力されたら（ステップＳ３０１：ＹＥＳ）、コンピュータ装置３０は、処理をステップＳ３０２に進める。一方、解析指示の入力を受けていない場合（ステップＳ３０１：ＮＯ）、ステップＳ３０１へ戻る。これにより、コンピュータ装置３０は、解析指示の入力を待ち受ける。
【００４９】
（ステップＳ３０２）コンピュータ装置３０は、メモリ１６から、ハードディスク装置１０側のログを読み出す。ハードディスク装置１０のメモリ１６には、図６で示したように、ハードディスク装置１０で発生したイベントのイベントログ番号とイベントの内容とが記録されている。
【００５０】
（ステップＳ３０３）コンピュータ装置３０は、ログ格納領域３１からコンピュータ装置３０側のログを読み出す。図７に示したように、コンピュータ装置３０のログ格納領域３１には、システム全体で発生したイベントの発生時刻とイベントの内容とが対応付けて記録されている。また、コンピュータ装置３０側のログ格納領域３１には、ハードディスク装置１０のイベントについて、イベントの発生時刻とイベントログ番号とが対応付けて記録されている。
【００５１】
（ステップＳ３０４）次に、コンピュータ装置３０は、このコンピュータ装置３０側のログから、ハードディスク装置１０に関連するログを抽出し、処理をステップＳ３０５に進める。図７に示したように、コンピュータ装置３０のログ格納領域３１のログの中から、ハードディスク装置１０に関連するログを抽出すると、ハードディスク装置１０で発生したイベントの発生時刻と、イベントログ番号とが取得できる。
【００５２】
（ステップＳ３０５）次に、コンピュータ装置３０は、メモリ１６に記録されているハードディスク装置１０側のログと、ログ格納領域３１に記録されているコンピュータ装置のログとを関連付け、イベントの内容を解析する。つまり、図６に示したハードディスク装置１０側のログと、図７に示したコンピュータ装置３０側のログとは、イベントログ番号を用いて関連付けることができる。これにより、イベントの発生時刻とイベントの内容とを関連付けて、障害の原因を分析できる。
【００５３】
（ステップＳ３０６）障害の原因を分析したら、コンピュータ装置３０は、解析結果を出力する。
【００５４】
なお、図８に示した分析処理は、コンピュータ装置３０で行わずに、別のコンピュータ装置で行っても良い。すなわち、ハードディスク装置１０側のログとコンピュータ装置３０側のログとを抽出して、別のコンピュータ装置に移し、このコンピュータ装置上で、図８に示した分析処理を行うようにしても良い。
【００５５】
以上のように、マイクロプロセッサ１５は、識別情報生成部として機能して、イベントの発生時にイベント毎の識別情報を生成する。また、マイクロプロセッサ１５は、イベント情報記録部として機能して、イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて、当該マイクロプロセッサ１５を備えるハードディスク装置１０に記録する。また、ハードディスクコントローラ１１は、イベント識別情報通知部として機能して、イベントの発生時に、イベントの識別情報をコンピュータ装置に通知する。
これにより、ユーザは、メモリ１６に記録されているハードディスク装置１０側のログと、ログ格納領域３１に記録されているコンピュータ装置３０側のログとを関連付けることで、イベントの発生時刻とイベントの内容とを対応付けることができる。これにより、各イベントの発生順序を明確にし、障害の調査を容易化できる。
【００５６】
なお、上述の例では、ハードディスク装置１０でイベントが発生すると、ハードディスク装置１０からコンピュータ装置３０に、イベントログ番号のみを通知している。このように、ハードディスク装置１０からコンピュータ装置３０にイベントログ番号のみを通知することで、通信量および装置の負荷を低減させることができ、ハードディスク装置１０からコンピュータ装置３０への情報の送受信が遅延する可能性を低減させることができる。
【００５７】
一方、ハードディスク装置１０でイベントが発生した場合、ハードディスク装置１０からコンピュータ装置３０に、イベントログ番号とイベントの内容とを通知しても良い。このようにすると、コンピュータ装置３０側のログのみで、ハードディスク装置１０で発生したイベントの発生時刻とイベントの内容とを把握することができる。
【００５８】
また、ハードディスク装置１０からコンピュータ装置３０に、イベントログ番号と併せて検索用キーワード（記録検索用のキーワード）を通知しても良い。例えば、イベントログ番号を上位ビットと下位ビットに分け、上位ビットを検索用キーワードとして、下位ビットをイベントの発生毎に歩進するイベントログ番号とする。検索用キーワードとして、シークエラー、リードエラーというように、イベントの概要とすると、コンピュータ装置３０側のログから、上位ビットを検索することで、発生したイベントに関する情報を比較的容易に検索できる。また、検索用キーワードとしては、ハードディスク装置１０を識別する番号とすると、コンピュータ装置３０側のログ中から、上位ビットを検索することで、ハードディスク装置１０で発生したイベントを容易に検索できる。
【００５９】
また、ハードディスク装置１０からコンピュータ装置３０に、イベントログ番号を通知したら、コンピュータ装置３０はハードディスク装置１０に時刻を送信するようにしても良い。この場合、ハードディスク装置１０のハードディスクコントローラ１１は、イベント時刻情報受信部として機能する。すなわち、ハードディスクコントローラ１１は、コンピュータ装置３０から送られてくるイベントログ番号とイベントの発生時刻とを受信し、このイベントログ番号とイベントの発生時刻とをマイクロプロセッサ１５に送る。マイクロプロセッサ１５は、コンピュータ装置３０からのイベントの発生時刻とイベントログ番号とを対応付けて、メモリ１６に書き込む。このようにすると、ハードディスク装置１０側のログだけで、イベントの時刻と、イベントの内容とを関連付けて、分析を行うことができる。
【００６０】
また、ハードディスク装置１０からコンピュータ装置３０に、イベントログ番号と併せて、ハードディスク装置１０のシリアル番号を通知しても良い。ここで、シリアル番号は、個々のハードディスク装置１０を識別するための識別情報である。コンピュータ装置３０は、イベントの発生時刻と、イベントログ番号と、シリアル番号とを対応付けて、ログとしてログ格納領域３１に記録する。これにより、ログ格納領域３１のログの中から、特定のハードディスク装置１０に関連するログを、簡単に抽出できる。また、ハードディスク装置１０からコンピュータ装置３０に、イベントログ番号と併せて、ハードディスク装置１０のシリアル番号を通知すると、どのハードディスク装置で発生したイベントかが確実に識別できる。つまり、ハードディスク装置１０を交換した場合には、コンピュータ装置３０側のログに記録されているイベントログ番号が、交換前のハードディスク装置のイベントログ番号なのか交換後のハードディスク装置のイベントログ番号なのかを識別できなくなる可能性がある。イベントログ番号とシリアル番号とを対応付けることで、コンピュータ装置３０側のログのイベントログ番号と、個々のハードディスク装置との対応関係を確実に判定できる。
【００６１】
また、メモリ１６に書き込んだログの情報を、例えばメモリ１６のログの記憶容量が満杯になったタイミングに応じて、ハードディスク装置１０の磁気ディスク１４中の記憶領域（ハードディスク装置１０の主記憶領域）に書き込むようにしても良い。更に、磁気ディスク１４中の記憶領域に記録したログ情報を、例えば磁気ディスク１４中のログの記憶容量が満杯になったタイミングに応じて、コンピュータ装置３０の所定の記憶領域に書き込むようにしても良い。このように、メモリ１６に記録しているログの情報を他の記憶領域に移すことで、メモリ１６のメモリ領域が小さい場合でも、比較的長期間分のログを残しておくことができる。
【００６２】
また、ハードディスク装置１０は、発生したイベントのイベントログ番号を全てコンピュータ装置３０に通知する必要はない。ハードディスク装置１０は、障害等に関連するイベントが発生した場合のみ、イベントログ番号をコンピュータ装置３０に通知しても良い。これにより、コンピュータ装置３０側のログに書き込むイベント数の増加を抑えることができる。
【００６３】
次に、図９〜図１１を参照して本発明の最小構成について説明する。
図９は、本発明に係る記憶装置の最小構成を示す概略ブロック図である。同図に示すように、記憶装置１００は、識別情報生成部１０１と、イベント情報記録部１０２と、イベント識別情報通知部１０３とを備える。
係る構成にて、識別情報生成部１０１は、イベントの発生時にイベント毎の識別情報を生成する。イベント情報記録部１０２は、イベントの発生時に、イベントの内容情報と、イベントの識別情報とを対応付けて自記憶装置１００に記録する。イベント識別情報通知部１０３は、イベントの発生時に、イベントの識別情報をコンピュータ装置に通知する。
【００６４】
このように、記憶装置１００が、イベントの発生時にイベントの識別情報をコンピュータ装置に通知することで、コンピュータ装置は、イベントの識別情報と、識別情報の受信時刻とを対応付けて記憶することができる。これにより、ユーザは、イベントの識別情報を参照して、コンピュータ装置が記憶している受信時刻と、記憶装置１００が記憶しているイベント内容とを対応付けることができる。識別情報の受信時刻をイベントの発生時刻と見做すことができ、ユーザは、イベントの発生時刻とイベント内容とを対応付けることができる。
ここで、コンピュータ装置が時刻の記録を行うので、記憶装置１００は現在時刻情報を取得する必要が無い。
【００６５】
図１０は、本発明に係るコンピュータシステムの最小構成を示す概略ブロック図である。同図に示すように、コンピュータシステム１１０は、記憶装置１２０と、コンピュータ装置１３０とを備える。記憶装置１２０は、識別情報生成部１２１と、イベント情報記録部１２２と、イベント識別情報通知部１２３とを備える。コンピュータ装置１３０は、イベント識別情報受信部１３１と、時刻取得部１３２と、イベント発生時刻記録部１３３とを備える。
【００６６】
係る構成にて、識別情報生成部１２１は、イベントの発生時にイベント毎の識別情報を生成する。イベント情報記録部１２２は、イベントの発生時に、イベントの内容情報と、イベントの識別情報とを対応付けて自記憶装置１２０に記録する。イベント識別情報通知部１２３は、イベントの発生時に、イベントの識別情報をコンピュータ装置１３０に通知する。
また、イベント識別情報受信部１３１は、記憶装置１２０から送られてきたイベントの識別情報を受信する。時刻取得部１３２は、イベント識別情報受信部１３１がイベントの識別情報を受信した時刻をイベントの発生時刻として取得する。イベント発生時刻記録部１３３は、イベントの発生時刻とイベントの識別情報とを対応付けて記録する。
【００６７】
このように、記憶装置１２０が、イベントの発生時にイベントの識別情報をコンピュータ装置１３０に通知し、コンピュータ装置１３０は、イベントの識別情報と、識別情報の受信時刻とを対応付けて記憶する。これにより、ユーザは、イベントの識別情報を参照して、コンピュータ装置１３０が記憶している受信時刻と、記憶装置１２０が記憶しているイベント内容とを対応付けることができる。識別情報の受信時刻をイベントの発生時刻と見做すことができ、ユーザは、イベントの発生時刻とイベント内容とを対応付けることができる。
ここで、コンピュータ装置１３０が時刻の記録を行うので、記憶装置１２０は現在時刻情報を取得する必要が無い。
【００６８】
図１１は、本発明に係るコンピュータ装置の最小構成を示す概略ブロック図である。同図に示すように、コンピュータ装置１４０は、イベント識別情報受信部１４１と、時刻取得部１４２と、イベント発生時刻記録部１４３とを備える。
【００６９】
係る構成にて、イベント識別情報受信部１４１は、記憶装置から送られてきたイベントの識別情報を受信する。時刻取得部１４２は、イベント識別情報受信部１４１がイベントの識別情報を受信した時刻をイベントの発生時刻として取得する。イベント発生時刻記録部１４３は、イベントの発生時刻とイベントの識別情報とを対応付けて記録する。
【００７０】
このように、コンピュータ装置１４０は、イベントの識別情報と、識別情報の受信時刻とを対応付けて記憶する。記憶装置が、イベント内容とイベントの識別情報とを対応付けて記憶しておくことで、ユーザは、イベントの識別情報を参照して、コンピュータ装置１４０が記憶している受信時刻と、記憶装置が記憶しているイベント内容とを対応付けることができる。識別情報の受信時刻をイベントの発生時刻と見做すことができ、ユーザは、イベントの発生時刻とイベント内容とを対応付けることができる。
ここで、コンピュータ装置１４０が時刻の記録を行うので、記憶装置は現在時刻情報を取得する必要が無い。
【００７１】
なお、コンピュータシステム４０の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７２】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００７３】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７４】
（付記１）イベントの発生時にイベント毎の識別情報を生成する識別情報生成部と、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するイベント情報記録部と、前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するイベント識別情報通知部とを備える記憶装置。
【００７５】
（付記２）前記イベント識別情報通知部は、前記イベントの識別情報に加えて、前記イベントの内容情報を前記コンピュータ装置に通知する、付記１に記載の記憶装置。
【００７６】
（付記３）前記イベント識別情報通知部は、前記イベントの識別情報に加えて、記録検索用のキーワードを前記コンピュータ装置に通知する、付記１又は付記２に記載の記憶装置。
【００７７】
（付記４）前記イベント識別情報通知部は、前記イベントの識別情報に加えて、記憶装置の識別情報を前記コンピュータ装置に通知する、付記１から３の何れか一つに記載の記憶装置。
【００７８】
（付記５）更に、前記記憶装置は、前記コンピュータ装置からイベントの識別情報と、イベントの発生時刻とを取得するイベント時刻情報受信部を備え、前記イベント情報記録部は、前記イベントの識別情報と、前記イベントの発生時刻とを対応付けて自記憶装置に記録する、付記１から４の何れか一つに記載の記憶装置。
【００７９】
（付記６）前記イベント情報記録部は、前記自記憶装置に記録する情報を前記自記憶装置のログ格納領域に記録した後、当該情報を前記自記憶装置の主記憶領域又はコンピュータ装置に移動させる、付記１から５の何れか一つに記載の記憶装置。
【００８０】
（付記７）記憶装置とコンピュータ装置とを備え、前記記憶装置は、イベントの発生時にイベント毎の識別情報を生成する識別情報生成部と、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するイベント情報記録部と、前記イベントの発生時に、前記イベントの識別情報を通知するイベント識別情報通知部とを備え、前記コンピュータ装置は、前記記憶装置から送られてきたイベントの識別情報を受信するイベント識別情報受信部と、前記イベント識別情報受信部が前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得する時刻取得部と、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するイベント発生時刻記録部とを備えるコンピュータシステム。
【００８１】
（付記８）記憶装置から送られてきたイベントの識別情報を受信するイベント識別情報受信部と、前記イベント識別情報受信部が前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得する時刻取得部と、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するイベント発生時刻記録部とを備えるコンピュータ装置。
【００８２】
（付記９）記憶装置が、イベントの発生時に、イベント毎の識別情報を生成するステップと、前記記憶装置が、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するステップと、前記記憶装置が、前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するステップとを含むイベント処理方法。
【００８３】
（付記１０）コンピュータ装置が、記憶装置から送られてきたイベントの識別情報を受信するステップと、前記コンピュータ装置が、前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得するステップと、前記コンピュータ装置が、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するステップと、を含むイベント処理方法。
【００８４】
（付記１１）記憶装置の制御部として機能するコンピュータ装置に、イベントの発生時に、イベント毎の識別情報を生成するステップと、前記イベントの発生時に、当該イベントの内容情報と、当該イベントの識別情報とを対応付けて自記憶装置に記録するステップと、前記イベントの発生時に、前記イベントの識別情報をコンピュータ装置に通知するステップとを実行させるためのプログラム。
【００８５】
（付記１２）コンピュータ装置に、記憶装置から送られてきたイベントの識別情報を受信するステップと、前記イベントの識別情報を受信した時刻をイベントの発生時刻として取得するステップと、前記イベントの発生時刻と前記イベントの識別情報とを対応付けて記録するステップとを実行させるためのプログラム。
【符号の説明】
【００８６】
１０  ハードディスク装置
１１  ハードディスクコントローラ
１４  磁気ディスク
１５  マイクロプロセッサ
１６  メモリ
１７  カウンタ
２０  ディスクアレイコントローラ
２１  ファームウェア
３０、１３０、１４０  コンピュータ装置
３１  ログ格納領域
３２  オペレーティング・システム
３３  システムクロック発生部
４０、１１０  コンピュータシステム
１００、１２０  記憶装置
１０１、１２１  識別情報生成部
１０２、１２２  イベント情報記録部
１０３、１２３  イベント識別情報通知部
１３１、１４１  イベント識別情報受信部
１３２、１４２  時刻取得部
１３３、１４３  イベント発生時刻記録部
【図１】
2017174003.tif 000003
【図２】
2017174003.tif 000004
【図３】
2017174003.tif 000005
【図４】
2017174003.tif 000006
【図５】
2017174003.tif 000007
【図６】
2017174003.tif 000008
【図７】
2017174003.tif 000009
【図８】
2017174003.tif 000010
【図９】
2017174003.tif 000011
【図１０】
2017174003.tif 000012
【図１１】
2017174003.tif 000013