(57)【特許請求の範囲】
【請求項１】
複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて前記複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置であって、
前記コントローラは、
前記上位装置からの上位側Ｉ／Ｏ命令を受信し、これに対する応答を前記上位装置に返却する上位側Ｉ／Ｏ処理部と、
前記上位側Ｉ／Ｏ命令に応じて個々の前記物理デバイスに対して下位側Ｉ／Ｏ命令を発する下位側Ｉ／Ｏ処理部と、
前記下位側Ｉ／Ｏ命令に対する各前記物理デバイスからの応答を受信して処理する応答処理部と、
前記物理デバイスからの応答に異常があった場合に当該物理デバイスに対して当該下位側Ｉ／Ｏ命令を再び発するリトライ処理部と、
前記物理デバイスからの応答に異常があった場合にこの異常の発生した前記下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶するログ出力部と、
前記上位側Ｉ／Ｏ命令に対応する前記下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶するトレース管理部と、
前記コマンドトレース領域に記憶された内容に基づいて、前記異常の発生した下位側Ｉ／Ｏ命令に対応する前記上位側Ｉ／Ｏ命令を前記ログ保存領域に追加記憶するトレース抽出部と、
を備えることを特徴とするディスクアレイ装置。
【請求項２】
前記応答処理部が、前記物理デバイスからの応答に異常が発生した場合にこの異常発生の旨を前記トレース抽出部に通知し、前記トレース抽出部がこの異常発生の通知を受けて動作することを特徴とする、請求項１に記載のディスクアレイ装置。
【請求項３】
前記コマンドトレース領域に記憶された情報の中から、予め決められた時間の経過した情報を古い順に削除するトレース削除部を備えることを特徴とする、請求項１に記載のディスクアレイ装置。
【請求項４】
複数の外部記憶装置である物理デバイスを上位装置からのＩ／Ｏ命令に応じてＲＡＩＤ構成で動作させるコントローラであって、
前記上位装置からの上位側Ｉ／Ｏ命令を受信し、これに対する応答を前記上位装置に返却する上位側Ｉ／Ｏ処理部と、
前記上位側Ｉ／Ｏ命令に応じて個々の前記物理デバイスに対して下位側Ｉ／Ｏ命令を発する下位側Ｉ／Ｏ処理部と、
前記下位側Ｉ／Ｏ命令に対する各前記物理デバイスからの応答を受信して処理する応答処理部と、
前記物理デバイスからの応答に異常があった場合に当該物理デバイスに対して当該下位側Ｉ／Ｏ命令を再び発するリトライ処理部と、
前記物理デバイスからの応答に異常があった場合にこの異常の発生した前記下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶するログ出力部とを有すると共に、
前記上位側Ｉ／Ｏ命令に対応する前記下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶するトレース管理部と、
前記コマンドトレース領域に記憶された内容に基づいて、前記異常の発生した下位側Ｉ／Ｏ命令に対応する前記上位側Ｉ／Ｏ命令を前記ログ保存領域に追加記憶するトレース抽出部と、
を備えることを特徴とするディスクアレイコントローラ。
【請求項５】
複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて前記複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置にあって、
前記上位装置からの上位側Ｉ／Ｏ命令を前記コントローラの上位側Ｉ／Ｏ処理部が受信し、
前記上位側Ｉ／Ｏ命令に応じて前記コントローラの下位側Ｉ／Ｏ処理部が個々の前記物理デバイスに対して下位側Ｉ／Ｏ命令を発し、
前記下位側Ｉ／Ｏ命令に対する各前記物理デバイスからの応答を前記コントローラの応答処理部が受信し、
前記上位側Ｉ／Ｏ命令に対応する前記下位側Ｉ／Ｏ命令を前記コントローラのログ出力部が予め備えられたコマンドトレース領域に記憶し、
前記物理デバイスからの応答に異常が発生した場合にこの異常の発生した前記下位側Ｉ／Ｏ命令をログとして前記コントローラのログ出力部が予め備えられたログ保存領域に記憶し、
前記コマンドトレース領域に記憶された内容に基づいて、前記異常の発生した下位側Ｉ／Ｏ命令に対応する前記上位側Ｉ／Ｏ命令を前記コントローラのトレース抽出部が前記ログ保存領域に追加記憶する、
ことを特徴とするログ出力方法。
【請求項６】
複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて前記複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置にあって、
前記コントローラの備えるコンピュータに、
前記上位装置からの上位側Ｉ／Ｏ命令を受信する手順、
前記上位側Ｉ／Ｏ命令に応じて個々の前記物理デバイスに対して下位側Ｉ／Ｏ命令を発する手順、
前記下位側Ｉ／Ｏ命令に対する各前記物理デバイスからの応答を受信する手順、
前記上位側Ｉ／Ｏ命令に対応する前記下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶する手順、
前記物理デバイスからの応答に異常が発生した場合にこの異常の発生した前記下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶する手順、
および前記コマンドトレース領域に記憶された内容に基づいて、前記異常の発生した下位側Ｉ／Ｏ命令に対応する前記上位側Ｉ／Ｏ命令を前記ログ保存領域に追加記憶する手順、
を実行させることを特徴とするログ出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスクアレイ装置、ディスクアレイコントローラ、ログ出力方法およびプログラムに関し、特に発生したエラーの原因を容易に特定しうるディスクアレイ装置等に関する。
【背景技術】
【０００２】
コンピュータが社会の基盤としてすっかり浸透した現代では、データの損失はそれだけで重大な損失となる。そのため、特に業務において必要なデータを保護するために、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks、またはRedundant Arrays of Independent Disks）と呼ばれる規格によって、複数台のハードディスクドライブ（以後ＨＤＤ）の組み合わせを冗長化された一台のＨＤＤとして構成したディスクアレイ装置が利用されることが多い。
【０００３】
図７は、一般的なディスクアレイ装置８１０の構成について示す説明図である。ディスクアレイ装置８１０は、Ｉ／Ｏ（入出力）命令を発する上位装置であるホストコンピュータ８４０と接続されて、そのＩ／Ｏ命令に従って動作する。そしてディスクアレイ装置８１０は、プロセッサを内蔵してコンピュータ装置としての構成を備えるコントローラ８２０と、複数のＨＤＤなどの物理デバイス８３０ａ〜８３０ｎを備え、これらによってＲＡＩＤを構成して動作する。
【０００４】
コントローラ８２０は、コンピュータプログラムを実行する主体であるプロセッサ８２１と、データを記憶する記憶手段８２２と、ホストコンピュータ８４０との間の物理的な接続を介在する上位側インタフェース８２３と、物理デバイス８３０ａ〜８３０ｎとの間の物理的な接続を介在する下位側インタフェース８２４とを備える。
【０００５】
プロセッサ８２１は、ＲＡＩＤコントロールプログラムが動作することにより、上位側Ｉ／Ｏ処理部９０１、下位側Ｉ／Ｏ処理部９０２、応答処理部９０３、リトライ処理部９０４、およびログ出力部９０５の各々として機能する。そして記憶手段８２２には、ログ保存領域９１１が、記憶領域として確保される。
【０００６】
上位側Ｉ／Ｏ処理部９０１は、上位側インタフェース８２３を介してホストコンピュータ８４０からのＩ／Ｏ命令を受け、それに対する返答をホストコンピュータ８４０に返す。下位側Ｉ／Ｏ処理部９０２は、Ｉ／Ｏ命令に応じて、下位側インタフェース８２４を介して各々物理デバイス８３０ａ〜８３０ｎとの間でコマンドおよびデータを交換し、これら物理デバイス８３０ａ〜８３０ｎをＲＡＩＤ規格に準拠して動作させる。
【０００７】
応答処理部９０３は、物理デバイス８３０ａ〜８３０ｎからの応答を上位側Ｉ／Ｏ処理部９０１に返すと共に、物理デバイス８３０ａ〜８３０ｎとの間で交換されたコマンドとそれに対する応答をログ出力部９０５に渡す。リトライ処理部９０４は、物理デバイス８３０ａ〜８３０ｎから応答処理部９０３に返された応答が異常だった場合に、同一のコマンドを同一物理デバイス８３０ａ〜８３０ｎに対して、下位側Ｉ／Ｏ処理部９０２を介して発する（即ち同一コマンドをリトライする）。
【０００８】
ログ出力部９０５は、応答処理部９０３から渡された物理デバイス８３０ａ〜８３０ｎとの間で交換されたコマンドとそれに対する応答について、ログ保存領域９１１にログとして出力して保存する。
【０００９】
図８は、図７に示したディスクアレイ装置８１０の動作について示すフローチャートである。ホストコンピュータ８４０から物理デバイス８３０ａ〜８３０ｎに対する書き込み要求もしくは読み込み要求が発生した場合、または上位側Ｉ／Ｏ処理部９０１から物理デバイス８３０ａ〜８３０ｎに対するＩ／Ｏ処理要求が発生した（ステップＳ９０１）場合に、上位側Ｉ／Ｏ処理部９０１は、書き込み、読み込み、もしくはＩ／Ｏ処理のデータおよびコマンドを、下位側Ｉ／Ｏ処理部９０２に渡す（ステップＳ９０２）。
【００１０】
下位側Ｉ／Ｏ処理部９０２は、上位側Ｉ／Ｏ処理部９０１から受け取ったデータおよびコマンド、Ｉ／Ｏ処理命令を、物理デバイス８３０ａ〜８３０ｎを選択して処理を行う。書き込み、読み込み、Ｉ／Ｏ処理のデータ、コマンドに対する物理デバイス８３０ａ〜８３０ｎの応答は下位側Ｉ／Ｏ処理部９０２を介して応答処理部９０３が受け取る（ステップＳ９０３）。
【００１１】
そして応答処理部９０３は、物理デバイス８３０ａ〜８３０ｎの応答が正常であるか異常であるかについて判断する（ステップＳ９０４）。応答が正常であった場合には（ステップＳ９０４がイエス）、応答処理部９０３は正常に完了した書き込み、読み込み、Ｉ／Ｏ処理に対する物理デバイス８３０ａ〜８３０ｎの応答のデータ、コマンドを上位側Ｉ／Ｏ処理部９０１に返す（ステップＳ９０５）。
【００１２】
ホストコンピュータ４０から物理デバイス８３０ａ〜８３０ｎに対する書き込み要求もしくは読み込み要求であった場合は、上位側Ｉ／Ｏ処理部９０１がホストコンピュータ８４０へその結果を返して（ステップＳ９０６）、処理を正常に終了する。
【００１３】
また、物理デバイス８３０ａ〜８３０ｎの応答に異常が発生していた場合には（ステップＳ９０４がノー）、応答処理部９０３はリトライ処理部９０４とログ出力部９０５に対して異常発生を通知する（ステップＳ９０７）。リトライ処理部９０４は、これに応じて下位側Ｉ／Ｏ処理部９０２を介して物理デバイス８３０ａ〜８３０ｎに対してリトライ処理を行う（ステップＳ９０８）。
【００１４】
これと同時に、ログ出力部９０５は、物理デバイス８３０ａ〜８３０ｎとの間で異常が発生したコマンドの情報を応答処理部９０３から受け取り、ログ保存領域９１１に保存して（ステップＳ９０９）処理を終了する。図９は、図７に示したディスクアレイ装置８１０で、ログ保存領域９１１に保存される内容について示す説明図である。ここに記録される内容は、エラー発生時に物理デバイス８３０ａ〜８３０ｎから受信したコマンドである下位側Ｉ／Ｏ応答９１１ａと、その発生日時９１１ｂである。
【００１５】
以上のディスクアレイ装置に関連して、次のような各文献がある。その中でも特許文献１には、ＲＡＩＤを構成する各ＨＤＤのリサーブエリアにログ記録エリアを作成し、当該エリアにログ情報を記録するというディスクアレイ装置について記載されている。特許文献２には、障害発生の検出された処理を検出して、同一の障害の発生を防止するというストレージシステムについて記載されている。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００５−１０７８３８号公報
【特許文献２】特開２００８−１４６３６５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
図７に示したディスクアレイ装置８１０で、障害が発生した際には、何が原因でその障害が発生したかを特定する必要がある。その意味で、ログ出力部９０５がログ保存領域９１１に記録するログは重要な情報となる。しかしながら、図９に示したログでは、障害発生の前後にどのようなＩ／Ｏ情報が流れていたのかを特定することができない。
【００１８】
特に、この装置で未知の障害発生について精査する必要がある場合には、「コントローラ８２０と各物理デバイス８３０ａ〜８３０ｎ、およびコントローラ８２０とホストコンピュータ８４０との間で流れるＩ／Ｏ情報（トレース）」をリアルタイムに採取して、障害発生の前後に流れていたＩ／Ｏ情報の中から原因を切り分ける必要がある。これには、Ｉ／Ｏ情報採取専用の装置（トレーサー）をディスクアレイ装置８１０に接続する必要があり、その環境構築の手間や費用がかかる。
【００１９】
また、そのような装置を接続したとしても、その障害が再現率の低いものである場合や、環境依存性の高いものである場合には、トレーサーを接続したことによって環境が変わり、途端にその障害が再現しなくなることも多い。そのような場合には、障害の原因特定が極めて困難なものとなる。
【００２０】
この問題を解決しうる構成は、前述の特許文献１〜２には記載されていない。特に特許文献２は「障害発生の検出された処理を検出して、同一の障害の発生を防止する」というストレージシステムについて記載されているが、同文献に記載の技術は単に「障害時に行われていた処理と同一の処理をそのまま実行しない」ということであり、「障害の原因を特定する」ものではないので、障害の原因ではない処理まで実行されない場合もあり、真にその問題を解決することにはならない。
【００２１】
本発明の目的は、発生したエラーの原因の特定を容易に行うことを可能とするディスクアレイ装置、ディスクアレイコントローラ、ログ出力方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００２２】
上記目的を達成するため、本発明に係るディスクアレイ装置は、複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置であって、コントローラは、上位装置からの上位側Ｉ／Ｏ命令を受信し、これに対する応答を上位装置に返却する上位側Ｉ／Ｏ処理部と、上位側Ｉ／Ｏ命令に応じて個々の物理デバイスに対して下位側Ｉ／Ｏ命令を発する下位側Ｉ／Ｏ処理部と、下位側Ｉ／Ｏ命令に対する各物理デバイスからの応答を受信して処理する応答処理部と、物理デバイスからの応答に異常があった場合に当該物理デバイスに対して当該下位側Ｉ／Ｏ命令を再び発するリトライ処理部と、物理デバイスからの応答に異常があった場合にこの異常の発生した下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶するログ出力部とを有すると共に、上位側Ｉ／Ｏ命令に対応する下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶するトレース管理部と、コマンドトレース領域に記憶された内容に基づいて、異常の発生した下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令を前記ログ保存領域に追加記憶するトレース抽出部と、を備えることを特徴とする。
【００２３】
上記目的を達成するため、本発明に係るディスクアレイコントローラは、複数の外部記憶装置である物理デバイスを上位装置からのＩ／Ｏ命令に応じてＲＡＩＤ構成で動作させるコントローラであって、上位装置からの上位側Ｉ／Ｏ命令を受信し、これに対する応答を上位装置に返却する上位側Ｉ／Ｏ処理部と、上位側Ｉ／Ｏ命令に応じて個々の物理デバイスに対して下位側Ｉ／Ｏ命令を発する下位側Ｉ／Ｏ処理部と、下位側Ｉ／Ｏ命令に対する各物理デバイスからの応答を受信して処理する応答処理部と、物理デバイスからの応答に異常があった場合に当該物理デバイスに対して当該下位側Ｉ／Ｏ命令を再び発するリトライ処理部と、物理デバイスからの応答に異常があった場合にこの異常の発生した下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶するログ出力部とを有すると共に、上位側Ｉ／Ｏ命令に対応する下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶するトレース管理部と、コマンドトレース領域に記憶された内容に基づいて、異常の発生した下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令をログ保存領域に追加記憶するトレース抽出部と、を備えることを特徴とする。
【００２４】
上記目的を達成するため、本発明に係るログ出力方法は、複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置にあって、上位装置からの上位側Ｉ／Ｏ命令をコントローラの上位側Ｉ／Ｏ処理部が受信し、上位側Ｉ／Ｏ命令に応じてコントローラの下位側Ｉ／Ｏ処理部が個々の物理デバイスに対して下位側Ｉ／Ｏ命令を発し、下位側Ｉ／Ｏ命令に対する各物理デバイスからの応答をコントローラの応答処理部が受信し、上位側Ｉ／Ｏ命令に対応する下位側Ｉ／Ｏ命令をコントローラのログ出力部が予め備えられたコマンドトレース領域に記憶し、物理デバイスからの応答に異常が発生した場合にこの異常の発生した下位側Ｉ／Ｏ命令をログとしてコントローラのログ出力部が予め備えられたログ保存領域に記憶し、コマンドトレース領域に記憶された内容に基づいて、異常の発生した下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令をコントローラのトレース抽出部がログ保存領域に追加記憶する、ことを特徴とする。
【００２５】
上記目的を達成するため、本発明に係るログ出力プログラムは、複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置にあって、コントローラの備えるコンピュータに、上位装置からの上位側Ｉ／Ｏ命令を受信する手順、上位側Ｉ／Ｏ命令に応じて個々の物理デバイスに対して下位側Ｉ／Ｏ命令を発する手順、下位側Ｉ／Ｏ命令に対する各物理デバイスからの応答を受信する手順、上位側Ｉ／Ｏ命令に対応する下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶する手順、物理デバイスからの応答に異常が発生した場合にこの異常の発生した下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶する手順、およびコマンドトレース領域に記憶された内容に基づいて、異常の発生した下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令をログ保存領域に追加記憶する手順、を実行させることを特徴とする。
【発明の効果】
【００２６】
本発明は、上記したように、下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令をコマンドトレース領域に記憶するように構成したので、エラーの発生した下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令を容易に特定できる。これによって、発生したエラーの原因の特定を容易に行うことを可能であるという、優れた特徴を持つディスクアレイ装置、ディスクアレイコントローラ、ログ出力方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係るディスクアレイ装置の構成について示す説明図である。
【図２】図１に示したディスクアレイ装置の動作について示すフローチャートである。
【図３】図２の続きである。
【図４】図３のステップＳ２１０〜２１１に示した処理で、トレース管理部がコマンドトレース領域へ出力する内容の一例について示す説明図である。
【図５】図３のステップＳ２１４に示した処理で、トレース抽出部がログ保存領域へ追加出力する内容の一例について示す説明図である。
【図６】図１に示したトレース削除部の動作について示すフローチャートである。
【図７】一般的なディスクアレイ装置の構成について示す説明図である。
【図８】図７に示したディスクアレイ装置の動作について示すフローチャートである。
【図９】図７に示したディスクアレイ装置で、ログ保存領域に保存される内容について示す説明図である。
【発明を実施するための形態】
【００２８】
（実施形態）
以下、本発明の実施形態の構成について添付図１に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るディスクアレイ装置１０は、複数の外部記憶装置である物理デバイス３０ａ〜ｎと、上位装置からのＩ／Ｏ命令に応じて複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラ２０とが接続されて構成されるディスクアレイ装置である。コントローラ２０は、上位装置からの上位側Ｉ／Ｏ命令を受信し、これに対する応答を上位装置に返却する上位側Ｉ／Ｏ処理部１０１と、上位側Ｉ／Ｏ命令に応じて個々の物理デバイスに対して下位側Ｉ／Ｏ命令を発する下位側Ｉ／Ｏ処理部１０２と、下位側Ｉ／Ｏ命令に対する各物理デバイスからの応答を受信して処理する応答処理部１０３と、物理デバイスからの応答に異常があった場合に当該物理デバイスに対して当該下位側Ｉ／Ｏ命令を再び発するリトライ処理部１０４と、物理デバイスからの応答に異常があった場合にこの異常の発生した下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域１１１に記憶するログ出力部１０５とを有すると共に、上位側Ｉ／Ｏ命令に対応する下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域１１２に記憶するトレース管理部１０６を備える。また、コマンドトレース領域に記憶された内容に基づいて、異常の発生した下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令をログ保存領域に追加記憶するトレース抽出部１０７を備える。
【００２９】
また、応答処理部１０３は、物理デバイスからの応答に異常が発生した場合にこの異常発生の旨をトレース抽出部に通知し、トレース抽出部がこの異常発生の通知を受けて動作する。そして、コマンドトレース領域に記憶された情報の中から、予め決められた時間の経過した情報を古い順に削除するトレース削除部１０８を備える。
【００３０】
以上の構成を備えることにより、ディスクアレイ装置１０は、エラーの発生した下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令を容易に特定して、発生したエラーの原因の特定を容易に行うことを可能となる。
以下、これをより詳細に説明する。
【００３１】
図１は、本発明の実施形態に係るディスクアレイ装置１０の構成について示す説明図である。ディスクアレイ装置１０は、Ｉ／Ｏ命令を発する上位装置であるホストコンピュータ４０と接続されて、そのＩ／Ｏ命令に従って動作する。そしてディスクアレイ装置１０は、プロセッサを内蔵してコンピュータ装置としての構成を備えるコントローラ２０と、複数の物理デバイス３０ａ〜３０ｎとを備え、これらによってＲＡＩＤを構成して動作する。
【００３２】
物理デバイス３０ａ〜３０ｎは、典型的にはＨＤＤであるが、光学ドライブや、フラッシュメモリを用いたＳＳＤ（Solid State Drive）などでもよい。また、物理デバイス３０ａ〜３０ｎの具体的な台数は２台以上であれば何台でもよいし、複数あるＲＡＩＤの規格（ＲＡＩＤ１、ＲＡＩＤ５など）のうちのどの規格に準拠するものであってもよい。
【００３３】
コントローラ２０は、コンピュータプログラムを実行する主体であるプロセッサ２１（マイクロプロセッサ）と、データを記憶する記憶手段２２と、ホストコンピュータ４０との間の物理的な接続を介在する上位側インタフェース２３と、物理デバイス３０ａ〜３０ｎとの間の物理的な接続を介在する下位側インタフェース２４とを備える。
【００３４】
プロセッサ２１は、ＲＡＩＤコントロールプログラムが動作することにより、上位側Ｉ／Ｏ処理部１０１、下位側Ｉ／Ｏ処理部１０２、応答処理部１０３、リトライ処理部１０４、およびログ出力部１０５の各々に加えて、新たにトレース管理部１０６、トレース抽出部１０７、およびトレース削除部１０８として機能する。そして記憶手段２２には、ログ保存領域１１１に加えて、新たにコマンドトレース領域１１２が、記憶領域として確保される。
【００３５】
上位側Ｉ／Ｏ処理部１０１は、上位側インタフェース２３を介してホストコンピュータ４０からのＩ／Ｏ命令（これを上位側Ｉ／Ｏ命令という）を受け、それに対する返答をホストコンピュータ４０に返す。下位側Ｉ／Ｏ処理部１０２は、上位側Ｉ／Ｏ命令に応じて、下位側インタフェース２４を介して各々物理デバイス３０ａ〜３０ｎにコマンドおよびデータ（これを下位側Ｉ／Ｏ命令という）を送信し、これら物理デバイス３０ａ〜３０ｎをＲＡＩＤ規格に準拠して動作させる。
【００３６】
応答処理部１０３は、物理デバイス３０ａ〜３０ｎからの応答を上位側Ｉ／Ｏ処理部１０１に返すと共に、物理デバイス３０ａ〜３０ｎとの間で交換されたコマンドとそれに対する応答をログ出力部１０５に渡す。リトライ処理部１０４は、物理デバイス３０ａ〜３０ｎから応答処理部１０３に返された応答が異常だった場合に、同一のコマンドを同一物理デバイス３０ａ〜３０ｎに対して、下位側Ｉ／Ｏ処理部１０２を介して発する（即ち同一コマンドをリトライする）。
【００３７】
ログ出力部１０５は、応答処理部１０３から渡された物理デバイス３０ａ〜３０ｎとの間で交換されたコマンドとそれに対する応答について、ログ保存領域１１１にログとして出力して保存する。
【００３８】
トレース管理部１０６は、上位側Ｉ／Ｏ処理部１０１、応答処理部１０３、およびリトライ処理部１０４からデータもしくはコマンドを受け取り、これらをコマンドトレース領域１１２に保存する。トレース抽出部１０７は、応答処理部１０３が異常を検出した場合に、コマンドトレース領域１１２に保存されたデータおよびコマンドを抽出して、これをログ保存領域１１１に追加出力する。
【００３９】
またトレース管理部１０６は、上位側Ｉ／Ｏ処理部１０１からの上位側Ｉ／Ｏ命令と、下位側Ｉ／Ｏ処理部１０２からの下位側Ｉ／Ｏ命令との間で関連づけを行い、この関連についての情報もコマンドトレース領域１１２に保存する。その際、トレース管理部１０６は他の動作部から受け取ったＩ／Ｏ命令から、ユーザデータを除いた情報をコマンドトレース領域１１２に保存する。かつ、リトライ処理部１０４から受け取ったＩ／Ｏ命令については、リトライ処理によるものである旨を付加してコマンドトレース領域１１２に保存する。
【００４０】
トレース削除部１０８は、コマンドトレース領域１１２に記憶された内容を古い情報から順に削除する。たとえばコマンドトレース領域１１２の記憶容量が満杯になった場合、もしくはこの領域に記憶された情報が記憶された日時から与えられた期間が経過した場合に、この削除を行う。
【００４１】
図２〜３は、図１に示したディスクアレイ装置１０の動作について示すフローチャートである。紙面の都合で２枚の図面に分ける。ホストコンピュータ４０から物理デバイス３０ａ〜３０ｎに対する書き込み要求もしくは読み込み要求が発生した場合、または上位側Ｉ／Ｏ処理部１０１から物理デバイス３０ａ〜３０ｎに対するＩ／Ｏ処理要求が発生した（ステップＳ２０１）場合に、上位側Ｉ／Ｏ処理部１０１は、この上位側Ｉ／Ｏ命令を、下位側Ｉ／Ｏ処理部１０２に渡す（ステップＳ２０２）。
【００４２】
下位側Ｉ／Ｏ処理部１０２は、上位側Ｉ／Ｏ処理部１０１から上位側Ｉ／Ｏ命令に基づいて各物理デバイス３０ａ〜３０ｎに対する下位側Ｉ／Ｏ命令を生成し、これを各物理デバイス３０ａ〜３０ｎに対して発する（ステップＳ２０３）。
【００４３】
このＩ／Ｏ処理命令に対する物理デバイス３０ａ〜３０ｎの応答は下位側Ｉ／Ｏ処理部１０２を介して応答処理部１０３が受け取る。そして応答処理部１０３は、物理デバイス３０ａ〜３０ｎの応答が正常であるか異常であるかについて判断する（ステップＳ２０４）。応答が正常であった場合には（ステップＳ２０４がイエス）、応答処理部１０３は正常に完了した上位側Ｉ／Ｏ命令に対する正常応答を上位側Ｉ／Ｏ処理部１０１に返す（ステップＳ２０５）。上位側Ｉ／Ｏ処理部１０１はホストコンピュータ４０に正常応答を返して（ステップＳ２０６）、ステップＳ２０１に戻って次の上位側Ｉ／Ｏ命令を待ち受ける状態となる。
【００４４】
また、物理デバイス３０ａ〜３０ｎの応答に異常が発生していた場合には（ステップＳ２０４がノー）、応答処理部１０３はリトライ処理部１０４とログ出力部１０５に対して異常発生を通知する（ステップＳ２０７）。リトライ処理部１０４は、これに応じて下位側Ｉ／Ｏ処理部１０２を介して物理デバイス３０ａ〜３０ｎに対して同一の下位側Ｉ／Ｏ命令のリトライ処理を行う（ステップＳ２０８）。
【００４５】
これと同時に、ログ出力部１０５は、異常が発生した下位側Ｉ／Ｏ命令の情報を応答処理部１０３から受け取り、ログ保存領域１１１に保存して（ステップＳ２０９）処理を終了する。ここまでは、前述した既存技術と同一の動作である。
【００４６】
本実施形態では、上記の動作に加えて、「上位側Ｉ／Ｏ処理部１０１が下位側Ｉ／Ｏ処理部１０２に上位側Ｉ／Ｏ命令を渡した時」、「応答処理部１０３が物理デバイス３０ａ〜３０ｎから下位側Ｉ／Ｏ命令に対する応答を受け取った時」、「リトライ処理部１０４が物理デバイス３０ａ〜３０ｎに対して下位側Ｉ／Ｏ命令のリトライを行った時」に、トレース管理部１０６が上位側および下位側Ｉ／Ｏ命令を受け取り（ステップＳ２１０）、これらをコマンドトレース領域１１２へ出力する（ステップＳ２１１）。即ち、ステップＳ２０２、Ｓ２０４（判断結果がノーの時）、およびＳ２０８で、トレース管理部１０６がＩ／Ｏ命令を受け取ることになる。
【００４７】
図４は、図３のステップＳ２１０〜２１１に示した処理で、トレース管理部１０６がコマンドトレース領域１１２へ出力する内容の一例について示す説明図である。即ち、コマンドトレース領域１１２に出力される内容は、ホストコンピュータ４０から受信した上位側Ｉ／Ｏ命令１１２ａ、これに対応してコントローラ２０が各物理デバイス３０ａ〜３０ｎに発したＩ／Ｏ命令、またはこれに対する各物理デバイス３０ａ〜３０ｎからの応答である下位側Ｉ／Ｏ命令応答１１２ｂ、「下位側Ｉ／Ｏ処理部１０２」「応答処理部１０３」「リトライ処理部１０４」のうちのいずれから出力されたトレースであるかを示すトレース依頼元１１２ｃ、および発生日時１１２ｄといった情報を含む。
【００４８】
たとえばホストコンピュータ４０から受信した上位側Ｉ／Ｏ命令１１２ａ＝「書き込み命令Ａ」が「アドレス○○に対するデータ××の書き込み命令」である場合には、ステップＳ２０２〜２０３の処理によって下位側Ｉ／Ｏ処理部１０２が各物理デバイス３０ａ〜３０ｎに対して発した下位側Ｉ／Ｏ命令応答１１２ｂ＝「書き込み命令Ａ１」「書き込み命令Ａ２」「書き込み命令Ａ３」…と、そのトレース依頼元１１２ｃ＝下位側Ｉ／Ｏ処理部１０２と発生日時１１２ｄとが対応づけられて記録される。
【００４９】
また、これらの下位側Ｉ／Ｏ命令応答１１２ｂに対する応答も、ステップＳ２０４の処理によって、トレース依頼元１１２ｃ＝応答処理部１０３として記録される。リトライ処理部１０４からステップＳ２０８の処理によって出力された下位側Ｉ／Ｏ命令も、トレース依頼元１１２ｃ＝リトライ処理部１０４として記録される。
【００５０】
たとえばＲＡＩＤ５では、上位装置から書き込み依頼を受けたデータを複数のデータブロックに分割し、さらにデータ復元用のパリティブロックも生成され、これらのデータブロックとパリティブロックとが各物理デバイスに分散されて記憶される。この場合、本実施形態でいう上位側Ｉ／Ｏ命令１１２ａ＝「書き込み命令Ａ」は「データブロックに分割される前のデータの書き込み命令」に該当し、下位側Ｉ／Ｏ命令応答１１２ｂ＝「書き込み命令Ａ１」「書き込み命令Ａ２」「書き込み命令Ａ３」…は、「分割されたデータブロックおよびパリティブロックの各物理デバイスに対する書き込み命令」に該当する。
【００５１】
図４に示した例では、上位側Ｉ／Ｏ命令１１２ａ＝「書き込み命令Ａ」に対して、下位側Ｉ／Ｏ命令応答１１２ｂ＝「書き込み命令Ａ１」「書き込み命令Ａ２」「書き込み命令Ａ３」が各々物理デバイス３０ａ，３０ｂ，３０ｃに向けて発せられ、そのうちの「書き込み命令Ａ１」「書き込み命令Ａ２」については各々成功を示す「書き込み成功応答Ａ１」「書き込み成功応答Ａ２」が返却されたが、「書き込み命令Ａ３」に対しては異常を示す「書き込み異常応答Ａ３」が返却された。
【００５２】
この「書き込み命令Ａ３」の異常発生に応じて、リトライ処理部１０４は同一の物理デバイスに対して同一の書き込み命令をリトライする「書き込み再令Ａ３（再）」を発したが、やはり同一の異常を示す「書き込み異常応答Ａ３（再）」が発生した。
【００５３】
図２〜３に戻って、応答処理部１０３で異常が検出されたことによる（ステップＳ２０４の処理による）ものであるか否か、即ちトレース依頼元１１２ｃ＝応答処理部１０３であり、かつ「異常発生」によるものであるか否かを、トレース抽出部１０７が判断する（ステップＳ２１２）。
【００５４】
トレース依頼元１１２ｃ＝応答処理部１０３でかつ「異常応答」によるものに該当するものである場合、トレース抽出部１０７は、コマンドトレース領域１１２に保存されている中から検出された異常に関係するＩ／Ｏ命令を抽出し、これをログ保存領域１１１に記録された内容に対応づけて追加出力して（ステップＳ２１３〜２１４）ステップＳ２０１に戻る。これに該当しない場合には、ステップＳ２１２からステップＳ２０１に戻る。
【００５５】
図５は、図３のステップＳ２１４に示した処理で、トレース抽出部１０７がログ保存領域１１１へ追加出力する内容の一例について示す説明図である。ログ保存領域１１１に記憶される内容は、従来技術と同じく下位側Ｉ／Ｏ応答１１１ａと発生日時１１１ｂに加えて、この下位側Ｉ／Ｏ応答１１１ａに対応する上位側Ｉ／Ｏ命令１１１ｃ、および異常通知元１１１ｄが含まれる。上位側Ｉ／Ｏ命令１１１ｃは、図４の上位側Ｉ／Ｏ命令１１２ａに等しい。また異常通知元１１１ｄは、図４のトレース依頼元１１２ｃに等しい。
【００５６】
図５に示した例では、上位側Ｉ／Ｏ命令１１１ｃ＝「書き込み命令Ａ」に対して発生した下位側Ｉ／Ｏ応答１１１ａ＝「書き込み命令Ａ３」に対して「書き込み異常応答Ａ３」が発生し、リトライした「書き込み命令Ａ３（再）」に対しても同様に「書き込み異常応答Ａ３（再）」が発生したので、「書き込み異常応答Ａ３」の原因は「書き込み命令Ａ」である可能性が高いことがわかる。
【００５７】
背景技術として説明した図７〜９に記載のディスクアレイ装置８１０では、下位側Ｉ／Ｏ応答１１１ａ＝「書き込み異常応答Ａ３」の発生とその発生日時１１１ｂしかわからなかった。本実施形態では、この「書き込み命令Ａ３」が上位側Ｉ／Ｏ命令１１１ｃ＝「書き込み命令Ａ」に対して発生したものであることがわかる。
【００５８】
図６は、図１に示したトレース削除部１０８の動作について示すフローチャートである。トレース削除部１０８は、コマンドトレース領域１１２に保存されている記憶内容の総容量、および各々の記憶内容の日時について、与えられた周期が経過するごとにチェックする（ステップＳ２５１）。そして、総容量が予め決められた閾値を上回った場合と、予め決められた期間を経過した記憶内容が存在する場合に（ステップＳ２５２）、その容量が閾値を上回った分、もしくは期間を経過した分の内容を、古い内容から順に削除する（ステップＳ２５３）。
【００５９】
コマンドトレース領域１１２の記憶内容は、特に長時間の保存を要するものではない。エラーの発生とその原因となった上位側Ｉ／Ｏ命令１１２ａ（１１１ｃ）についてログ保存領域１１１に追加記憶したら、コマンドトレース領域１１２の内容は特に必要ない。また、コマンドトレース領域１１２には、ホストコンピュータ４０や各物理デバイス３０ａ〜３０ｎとの間で何かＩ／Ｏ命令のやりとりがあるたびに、新しい内容が記憶される。
【００６０】
従って、コマンドトレース領域１１２から数分〜数十分に一度の割で定期的に古い内容を削除しないと、記憶内容が膨大になり過ぎ、記憶手段２２の多くの記憶領域が占有されて実用性を損なうこととなる。トレース削除部１０８は、そのために設けられている。
【００６１】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係るログ出力方法は、複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置にあって、上位装置からの上位側Ｉ／Ｏ命令をコントローラの上位側Ｉ／Ｏ処理部が受信し（図２・ステップＳ２０１〜２０２）、上位側Ｉ／Ｏ命令に応じてコントローラの下位側Ｉ／Ｏ処理部が個々の物理デバイスに対して下位側Ｉ／Ｏ命令を発し（図２・ステップＳ２０３）、下位側Ｉ／Ｏ命令に対する各物理デバイスからの応答をコントローラの応答処理部が受信し（図２・ステップＳ２０４）、上位側Ｉ／Ｏ命令に対応する下位側Ｉ／Ｏ命令をコントローラのログ出力部が予め備えられたコマンドトレース領域に記憶し（図３・ステップＳ２１０〜２１１）、物理デバイスからの応答に異常が発生した場合にこの異常の発生した下位側Ｉ／Ｏ命令をログとしてコントローラのログ出力部が予め備えられたログ保存領域に記憶する（図２・ステップＳ２０９）。そして、コマンドトレース領域に記憶された内容に基づいて、異常の発生した下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令をコントローラのトレース抽出部がログ保存領域に追加記憶する（図３・ステップＳ２１３〜２１４）。
【００６２】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行する相互認証サーバ１０のプロセッサ１１に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００６３】
本実施形態によれば、下位側Ｉ／Ｏ命令とその発生時刻だけでなく、この下位側Ｉ／Ｏ命令に対応する上位側Ｉ／Ｏ命令がコマンドトレース領域に記憶される。従って、下位側Ｉ／Ｏ命令でエラーが発生した場合に、そのエラーの原因となった上位側Ｉ／Ｏ命令を容易に特定することが可能となる。
【００６４】
この原因特定の動作には、トレーサーを接続することを必要としない。従って、環境の変化を伴うものではないので、環境依存性の高い障害に対しても高い再現性で原因の特定が可能となる。
【００６５】
（実施形態の拡張）
以上の通り説明した実施形態には、その趣旨を改変しない範囲でさまざまな拡張が考えられる。以下、これについて説明する。
【００６６】
コマンドトレース領域１１２に記憶される内容は、前述のように膨大なものになりやすい。それに対して、コントローラ２０の記憶手段２２として利用可能な容量はさほど大きくはない。そのため、トレース管理部１０６は、情報を圧縮してコマンドトレース領域１１２に出力する機能を有するようにすることもできる。この場合には、トレース抽出部１０７は圧縮された情報を利用するため、これを伸張する機能を有することが必要となる。従って、ここで利用される圧縮方法は、可逆的に圧縮および伸張が可能な方法を利用する必要があるが、そのような方法であれば任意の既存技術を利用することが可能である。
【００６７】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【００６８】
上述した実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【００６９】
（付記１）  複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて前記複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置であって、
前記コントローラが、
前記上位装置からの上位側Ｉ／Ｏ命令を受信し、これに対する応答を前記上位装置に返却する上位側Ｉ／Ｏ処理部と、前記上位側Ｉ／Ｏ命令に応じて個々の前記物理デバイスに対して下位側Ｉ／Ｏ命令を発する下位側Ｉ／Ｏ処理部と、前記下位側Ｉ／Ｏ命令に対する各前記物理デバイスからの応答を受信して処理する応答処理部と、前記物理デバイスからの応答に異常があった場合に当該物理デバイスに対して当該下位側Ｉ／Ｏ命令を再び発するリトライ処理部と、前記物理デバイスからの応答に異常があった場合にこの異常の発生した前記下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶するログ出力部とを有すると共に、
前記上位側Ｉ／Ｏ命令に対応する前記下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶するトレース管理部
を備えることを特徴とするディスクアレイ装置。
【００７０】
（付記２）  前記コマンドトレース領域に記憶された内容に基づいて、前記異常の発生した下位側Ｉ／Ｏ命令に対応する前記上位側Ｉ／Ｏ命令を前記ログ保存領域に追加記憶するトレース抽出部
を備えることを特徴とする、付記１に記載のディスクアレイ装置。
【００７１】
（付記３）  前記応答処理部が、前記物理デバイスからの応答に異常が発生した場合にこの異常発生の旨を前記トレース抽出部に通知し、前記トレース抽出部がこの異常発生の通知を受けて動作することを特徴とする、付記２に記載のディスクアレイ装置。
【００７２】
（付記４）  前記コマンドトレース領域に記憶された情報の中から、予め決められた時間の経過した情報を古い順に削除するトレース削除部を備えることを特徴とする、付記１に記載のディスクアレイ装置。
【００７３】
（付記５）  複数の外部記憶装置である物理デバイスを上位装置からのＩ／Ｏ命令に応じてＲＡＩＤ構成で動作させるコントローラであって、
前記上位装置からの上位側Ｉ／Ｏ命令を受信し、これに対する応答を前記上位装置に返却する上位側Ｉ／Ｏ処理部と、
前記上位側Ｉ／Ｏ命令に応じて個々の前記物理デバイスに対して下位側Ｉ／Ｏ命令を発する下位側Ｉ／Ｏ処理部と、
前記下位側Ｉ／Ｏ命令に対する各前記物理デバイスからの応答を受信して処理する応答処理部と、
前記物理デバイスからの応答に異常があった場合に当該物理デバイスに対して当該下位側Ｉ／Ｏ命令を再び発するリトライ処理部と、
前記物理デバイスからの応答に異常があった場合にこの異常の発生した前記下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶するログ出力部とを有すると共に、
前記上位側Ｉ／Ｏ命令に対応する前記下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶するトレース管理部
を備えることを特徴とするディスクアレイコントローラ。
【００７４】
（付記６）  前記コマンドトレース領域に記憶された内容に基づいて、前記異常の発生した下位側Ｉ／Ｏ命令に対応する前記上位側Ｉ／Ｏ命令を前記ログ保存領域に追加記憶するトレース抽出部
を備えることを特徴とする、付記５に記載のディスクアレイコントローラ。
【００７５】
（付記７）  複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて前記複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置にあって、
前記上位装置からの上位側Ｉ／Ｏ命令を前記コントローラの上位側Ｉ／Ｏ処理部が受信し、
前記上位側Ｉ／Ｏ命令に応じて前記コントローラの下位側Ｉ／Ｏ処理部が個々の前記物理デバイスに対して下位側Ｉ／Ｏ命令を発し、
前記下位側Ｉ／Ｏ命令に対する各前記物理デバイスからの応答を前記コントローラの応答処理部が受信し、
前記上位側Ｉ／Ｏ命令に対応する前記下位側Ｉ／Ｏ命令を前記コントローラのログ出力部が予め備えられたコマンドトレース領域に記憶し、
前記物理デバイスからの応答に異常が発生した場合にこの異常の発生した前記下位側Ｉ／Ｏ命令をログとして前記コントローラのログ出力部が予め備えられたログ保存領域に記憶する
ことを特徴とするログ出力方法。
【００７６】
（付記８）  前記コマンドトレース領域に記憶された内容に基づいて、前記異常の発生した下位側Ｉ／Ｏ命令に対応する前記上位側Ｉ／Ｏ命令を前記コントローラのトレース抽出部が前記ログ保存領域に追加記憶する
ことを特徴とする、付記７に記載のログ出力方法。
【００７７】
（付記９）  複数の外部記憶装置である物理デバイスと、上位装置からのＩ／Ｏ命令に応じて前記複数の物理デバイスをＲＡＩＤ構成で動作させるコントローラとが接続されて構成されるディスクアレイ装置にあって、
前記コントローラの備えるコンピュータに、
前記上位装置からの上位側Ｉ／Ｏ命令を受信する手順、
前記上位側Ｉ／Ｏ命令に応じて個々の前記物理デバイスに対して下位側Ｉ／Ｏ命令を発する手順、
前記下位側Ｉ／Ｏ命令に対する各前記物理デバイスからの応答を受信する手順、
前記上位側Ｉ／Ｏ命令に対応する前記下位側Ｉ／Ｏ命令を予め備えられたコマンドトレース領域に記憶する手順、
および前記物理デバイスからの応答に異常が発生した場合にこの異常の発生した前記下位側Ｉ／Ｏ命令をログとして予め備えられたログ保存領域に記憶する手順
を実行させることを特徴とするログ出力プログラム。
【００７８】
（付記１０）  前記コマンドトレース領域に記憶された内容に基づいて、前記異常の発生した下位側Ｉ／Ｏ命令に対応する前記上位側Ｉ／Ｏ命令を前記ログ保存領域に追加記憶する手順
をさらに実行させることを特徴とする、付記９に記載のログ出力プログラム。
【産業上の利用可能性】
【００７９】
ディスクアレイ装置において幅広く適用可能である。複数あるＲＡＩＤの規格（ＲＡＩＤ１、ＲＡＩＤ５など）のうちのいずれを利用するものでもよいし、また物理ディスクとしてはＨＤＤ、光学ディスク、ＳＳＤなどを利用することができる。
【符号の説明】
【００８０】
１０  ディスクアレイ装置
２０  コントローラ
２１  プロセッサ
２２  記憶手段
２３  上位側インタフェース
２４  下位側インタフェース
３０ａ、３０ｎ  物理デバイス
４０  ホストコンピュータ
１０１  上位側Ｉ／Ｏ処理部
１０２  下位側Ｉ／Ｏ処理部
１０３  応答処理部
１０４  リトライ処理部
１０５  ログ出力部
１０６  トレース管理部
１０７  トレース抽出部
１０８  トレース削除部
１１１  ログ保存領域
１１１ａ  下位側Ｉ／Ｏ応答
１１１ｂ、１１２ｄ  発生日時
１１１ｃ、１１２ａ  上位側Ｉ／Ｏ命令
１１１ｄ  異常通知元
１１２  コマンドトレース領域
１１２ｂ  下位側Ｉ／Ｏ命令応答
１１２ｃ  トレース依頼元
【図１】
0005962145.tif 000002
【図２】
0005962145.tif 000003
【図３】
0005962145.tif 000004
【図４】
0005962145.tif 000005
【図５】
0005962145.tif 000006
【図６】
0005962145.tif 000007
【図７】
0005962145.tif 000008
【図８】
0005962145.tif 000009
【図９】
0005962145.tif 000010