(57)【要約】【課題】通信インタフェースを介したデータ通信を継続しながら、障害解析に有用な内部情報を送出できるようにする。【解決手段】所定のイベントが発生すると、解析対象データ書き込み部１ｂによって発生したイベントに応じた解析対象データ７が記憶装置１ａに書き込まれる。また、応答データ生成部１ｃにより、通信インタフェース１ｅを介して入力された要求データ５ａ，５ｂ，５ｃに対する応答データ６ａ，６ｂが生成される。応答データ６ａ，６ｂがある場合には、データ出力部１ｄにより、応答データ６ａ，６ｂが通信インタフェース１ｅを介して出力される。応答データの無送信期間があれば、データ出力部１ｄにより、その無送信期間を利用して記憶装置１ａに格納された解析対象データ７が通信インタフェース１ｅを介して出力される。【選択図】図１
2010122784.tif 000002
【特許請求の範囲】
【請求項１】
通信インタフェースで他の装置に接続されるストレージ装置であって、
記憶装置と、
所定のイベントが発生すると、前記イベントに応じた解析対象データを前記記憶装置に書き込む解析対象データ書き込み部と、
前記通信インタフェースを介して入力された要求に対する応答データを生成する応答データ生成部と、
前記応答データがある場合には前記応答データを前記通信インタフェースを介して出力し、前記応答データの無送信期間を利用して前記記憶装置に格納された前記解析対象データを前記通信インタフェースを介して出力するデータ出力部と、
を有するストレージ装置。
【請求項２】
前記データ出力部は、送信すべき前記応答データがない場合に、前記解析対象データを出力することを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記データ出力部は、連続して複数の前記応答データを送信する際に先の応答データの送信完了から次の応答データの送信開始までの間に生じる応答データ無送信期間に、前記解析対象データを出力することを特徴とする請求項１記載のストレージ装置。
【請求項４】
前記データ出力部は、前記解析対象データにスクランブルをかけて出力することを特徴とする請求項１記載のストレージ装置。
【請求項５】
前記解析対象データ書き込み部は、前記通信インタフェースを介して入力された要求に対するコマンドエラーが発生した場合、前記要求に対して応答する基本エラー情報に含まれない詳細情報を含む追加エラー情報を、前記解析対象データとして前記記憶装置に書き込むことを特徴とする請求項１記載のストレージ装置。
【請求項６】
通信インタフェースを介して送出すべき出力信号を生成する出力信号生成回路であって、
前記通信インタフェースを介して入力された要求に対する応答データを生成する応答データ生成部と、
前記応答データがある場合には前記応答データを前記通信インタフェースを介して出力し、前記応答データの無送信期間を利用して、所定のイベントの発生に応じて生成された解析対象データを前記通信インタフェースを介して出力するデータ出力部と、
を有する出力信号生成回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信インタフェースを介してデータ送信を行うストレージ装置および出力信号生成回路に関し、特に内部情報を送信可能なストレージ装置および出力信号生成回路に関する。
【背景技術】
【０００２】
コンピュータシステムでは、通信インタフェースを介して各種機器が通信を行う。このようなコンピュータシステムでは、通信インタフェースを介して他の機器のエラー情報などの各種情報の取得が可能である（例えば、特許文献１、特許文献２参照）。
【０００３】
通信インタフェースを介した接続形態には、ホストコンピュータに高速の通信インタフェースを介して外部機器（以下、ターゲットデバイスと呼ぶ）を接続する形態がある。なお、ここでいう「ホストコンピュータ」は、ターゲットデバイスを利用するコンピュータ（ターゲットデバイスとの関係におけるホスト）を意味している。従って、ターゲットデバイスを通信インタフェース経由で利用可能な通信機器は、すべてホストコンピュータとなり得る。
【０００４】
高速の通信インタフェースには、例えば、ＳＡＳ（Serial Attached SCSI）やＦＣ（Fiber Channel）インタフェースがある。ターゲットデバイスには、ハードディスク装置などのストレージ装置がある。ホストコンピュータは、ストレージ装置などのターゲットデバイスに対して通信インタフェースを介してデータの入出力を行う。
【特許文献１】特開８−２０２６４３号公報
【特許文献２】特開２００１−２１６２０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ストレージ装置は、内部のコントローラによって様々な内部情報を管理している。例えば、コントローラによって、リード・ライトエラーの発生回数などが、ストレージ装置内のメモリに内部情報として記憶されている。ストレージ装置内でリカバリされるエラーの場合、ストレージ装置内にはエラー情報が蓄積れるものの、ホストコンピュータへのエラー通知は行われない。そこで、ストレージ装置の内部情報を参照すれば、リカバリされたエラーに関する情報などを含む詳細な情報を取得でき、障害の予兆を検出するといった高度な運用管理が可能となる。
【０００６】
障害解析などによりストレージ装置の内部情報を取得しようとした場合、以下のような方法が考えられる。
（ａ）特殊通信ケーブル（例えばシリアルケーブル）を直接デバイスに接続し取得する。
（ｂ）ホストから通信インタフェースを通して内部情報取得コマンドを発行する。
（ｃ）センスデータ（エラー情報）内やログセンスデータ（例えばSCSI log sense data）内に必要な内部情報を出力する。
【０００７】
システムの運用管理者は、これらのいずれかの方法によりストレージ装置の内部情報を取得し、障害解析を行うことができる。
しかし、上記の内部情報取得方法では、いずれの方法を用いても、システムでのサービスを継続しながら詳細な内部情報を取得することが困難である。
【０００８】
特殊通信ケーブルを使用する場合、通信中はデバイス内のコントローラによるデータのアクセス制御は停止する。そのため、システム稼働中は通信ケーブルによる内部情報取得を実施できない。また、ホストから通信インタフェースを通して内部情報取得コマンドを発行する場合、デバイスがシステム内で動作中は、内部情報取得コマンドを必要なタイミングで発行できない。センスデータ内やログセンス内に情報を付加する場合、センスデータやログセンスの規格内での対応となるため情報量などに制限がある。そのため、詳細な内部情報の取得することができない。またセンスデータが出力されるタイミングでしか内部情報を取得できないという問題もある。
【０００９】
上記のように、デバイスの内部情報を取得する際には多数の制約があり、障害解析を長期化させる要因となっていた。特に顧客先での障害解析時は使用可能なツールが限られると共に、ホストコンピュータの利用にも制限が課されることが多い。そのため、障害解析に有用なデータを十分に収集できず、障害解析作業が困難を極めた。
【００１０】
本発明はこのような点に鑑みてなされたものであり、通信インタフェースを介したデータ通信を継続しながら、障害解析に有用な内部情報を送出できるストレージ装置および出力信号生成回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、通信インタフェースで他の装置に接続されるストレージ装置であって、記憶装置、解析対象データ書き込み部、応答データ生成部、およびデータ出力部を有するストレージ装置が提供される。解析対象データ書き込み部は、所定のイベントが発生すると、イベントに応じた解析対象データを記憶装置に書き込む。応答データ生成部は、通信インタフェースを介して入力された要求に対する応答データを生成する。データ出力部は、応答データがある場合には応答データを通信インタフェースを介して出力し、応答データの無送信期間を利用して記憶装置に格納された解析対象データを通信インタフェースを介して出力する。
【００１２】
また、上記課題を解決するために、通信インタフェースを介して送出すべき出力信号を生成する出力信号生成回路であって、応答データ生成部とデータ出力部とを有する出力信号生成回路が提供される。応答データ生成部は、通信インタフェースを介して入力された要求に対する応答データを生成する。データ出力部は、応答データがある場合には応答データを通信インタフェースを介して出力し、応答データの無送信期間を利用して、所定のイベントの発生に応じて生成された解析対象データを通信インタフェースを介して出力する。
【発明の効果】
【００１３】
上記ストレージ装置および上記出力信号生成回路を組み込んだ装置は、通信インタフェースを介したデータ通信を継続しながらであっても、解析対象データを通信インタフェースを介して出力することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、実施の形態の概要を示す図である。ストレージ装置１は、バストレース装置２を介してホストコンピュータ３に接続されている。バストレース装置２は、ストレージ装置１から出力された信号を分岐し、ホストコンピュータ３と管理端末４との双方へ出力する。
【００１５】
ストレージ装置１は、通信インタフェース１ｅを介してホストコンピュータ３と通信する。ストレージ装置１は、記憶装置１ａ、解析対象データ書き込み部１ｂ、応答データ生成部１ｃ、およびデータ出力部１ｄを有する。
【００１６】
記憶装置１ａは、例えば半導体メモリである。解析対象データ書き込み部１ｂは、所定のイベントが発生すると、発生したイベントに応じた解析対象データ７を記憶装置１ａに書き込む。応答データ生成部１ｃは、通信インタフェース１ｅを介して入力された要求データ５ａ，５ｂ，５ｃに対する応答データ６ａ，６ｂを生成する。データ出力部１ｄは、応答データ６ａ，６ｂがある場合には応答データ６ａ，６ｂを通信インタフェース１ｅを介して出力する。また、データ出力部１ｄは、応答データの無送信期間があれば、その無送信期間を利用して記憶装置１ａに格納された解析対象データ７を通信インタフェース１ｅを介して出力する。
【００１７】
このようなストレージ装置１によれば、所定のイベントが発生すると、解析対象データ書き込み部１ｂによって発生したイベントに応じた解析対象データ７が記憶装置１ａに書き込まれる。また、応答データ生成部１ｃにより、通信インタフェース１ｅを介して入力された要求データ５ａ，５ｂ，５ｃに対する応答データ６ａ，６ｂが生成される。ここで、要求データ５ａ，５ｂ，５ｃの中には、応答データが不要なものもある。また、応答データ６ａ，６ｂを連続で送信する場合であっても、先の応答データ６ａの送信完了から後の応答データ６ｂの送信開始までに、応答データの無送信期間がある。
【００１８】
そこで、応答データ６ａ，６ｂがある場合には、データ出力部１ｄにより、応答データ６ａ，６ｂが通信インタフェース１ｅを介して出力される。また、応答データの無送信期間があれば、データ出力部１ｄにより、その無送信期間を利用して記憶装置１ａに格納された解析対象データ７が通信インタフェース１ｅを介して出力される。
【００１９】
送信された解析対象データ７は、バストレース装置２で分岐され、管理端末４に入力される。管理端末４では、解析対象データ７を取得し、格納する。システムの管理者は、管理端末４に格納された解析対象データ７を参照して、ストレージ装置１の障害等の解析を行う。
【００２０】
このように応答データの無送信期間を利用して解析対象データ７を出力するようにしたことで、ホストコンピュータ３とストレージ装置１とのデータ通信を継続した状態でも、ストレージ装置１から解析対象データ７を取得することができる。その結果、システムの運用中でも迅速な障害解析が可能となる。
【００２１】
次に、本実施の形態の詳細を説明する。
［第１の実施の形態］
第１の実施の形態は、ストレージ装置から送信すべき応答データがない場合に、解析対象データを送信するものである。例えば、ＳＡＳ／ＦＣインタフェースにおいては、仕様上、送信するデータがない状態ではアイドルデータを送信する。従ってストレージ装置は、自身が送信するデータがない期間がある。例えば、ホストコンピュータからのOPEN REQUESTによるコネクションが確立したが、ストレージ装置は送信するフレームがない状態などである。応答データがない期間は、ストレージ装置からアイドルデータが送信される。このとき、アイドルデータの内容に決まりはない。よってストレージ装置は、アイドルデータを送信する代わりに、意味のあるデータ（解析対象データ）を送出しても規格違反にはならない。
【００２２】
そこで、ターゲットデバイスであるストレージ装置は、アイドルデータを送信する代わりに、デバイスの内部情報や障害情報などの解析対象データをインタフェース上へ送出する。送出された解析対象データは市販のバストレース装置を用いて取得できる。
【００２３】
図２は、本実施の形態のシステム構成例を示す図である。ホストコンピュータ３０は、ネットワーク１０を介して端末装置１１〜１３に対して各種サービスを提供する。また、ホストコンピュータ３０は、ＳＡＳやＦＣなどの高速シリアル通信インタフェースによってストレージ装置１００に接続されている。
【００２４】
ストレージ装置１００は、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）などを内蔵している。ストレージ装置１００には、ホストコンピュータ３０がサービスを提供するのに必要な様々なデータが格納される。
【００２５】
また、ストレージ装置１００は、内部のコントローラによって管理情報を収集し、メモリに格納している。例えば、ストレージ装置１００内のＨＤＤへのアクセス頻度、電源の投入回数、リード／ライトエラーの発生回数などの情報（内部情報）が、ストレージ装置１００内のメモリに格納される。そして、ストレージ装置１００は、ホストコンピュータ３０との間のデータ通信の空き時間帯を利用して、内部情報やその他のエラー情報（解析対象データ）をインタフェースケーブル２１を介して送出する。
【００２６】
ストレージ装置１００とホストコンピュータ３０との間には、バストレース装置２０が設けられている。すなわち、ストレージ装置１００とバストレース装置２０とがインタフェースケーブル２１で接続され、バストレース装置２０とホストコンピュータ３０とがインタフェースケーブル２２で接続されている。
【００２７】
バストレース装置２０は、ストレージ装置１００とホストコンピュータ３０との間で伝送される信号を分岐させる装置であり、ネットワークタップとも呼ばれる。例えば、光ファイバを介して伝送される信号は、バストレース装置２０内に設けられた光カプラによって分岐される。バストレース装置２０は、分岐させた信号を管理端末２００に対して出力する。
【００２８】
管理端末２００は、ホストコンピュータ３０とストレージ装置１００との間で送受信されるデータを監視するためのコンピュータである。管理端末２００は、バストレース装置２０から受信した信号を解析し、ホストコンピュータ３０とストレージ装置１００との間で送受信されたデータを取得する。例えば、ストレージ装置１００から解析対象データが出力されていれば、その解析対象データを管理端末２００で取得することができる。
【００２９】
次に、図３〜図５を参照して、状況に応じてストレージ装置１００から出力されるデータについて説明する。
図３は、ストレージ装置が応答データを出力する場合の例を示す図である。ホストコンピュータ３０からデータのリードまたはライトの要求データ４１がストレージ装置１００に送信される。ストレージ装置１００は、要求データ４１に対する応答データ４２がある場合、その応答データ４２をホストコンピュータ３０に送信する。応答データ４２は、バストレース装置２０によって分岐されて、ホストコンピュータ３０と管理端末２００との双方に伝送される。
【００３０】
図４は、ストレージ装置がアイドルデータを出力する場合の例を示す図である。ストレージ装置１００は、ホストコンピュータ３０に対して応答すべき応答データがなく、かつ送信対象の解析対象データもない場合、アイドルデータ４３をホストコンピュータ３０に送信する。アイドルデータ４３は、バストレース装置２０によって分岐されて、ホストコンピュータ３０と管理端末２００との双方に伝送される。
【００３１】
図５は、ストレージ装置が解析対象データを出力する場合の例を示す図である。ストレージ装置１００は、ホストコンピュータ３０に対して応答すべき応答データがないが、送信対象の解析対象データ４４がある場合、その解析対象データ４４をホストコンピュータ３０に送信する。解析対象データ４４は、バストレース装置２０によって分岐されて、ホストコンピュータ３０と管理端末２００との双方に伝送される。
【００３２】
図３〜図５に示したように、第１の実施の形態では、応答データ４２がない場合、送信対象の解析対象データ４４があればアイドルデータ４３に代えて解析対象データ４４を送信する。管理端末２００は、バストレース装置２０を介して、応答データ４２、アイドルデータ４３、および解析対象データ４４を取得する。管理端末２００では、取得した各種データから解析対象データ４４のみを抽出し、記憶する。
【００３３】
このようにして、解析対象データ４４を管理端末２００で取得することができる。しかも、ストレージ装置１００は、応答データ４２がない期間を利用して解析対象データ４４を出力するため、ホストコンピュータ３０からストレージ装置１００へのデータの入出力が可能な状態を維持したまま、解析対象データ４４の取得が可能となる。その結果、ホストコンピュータ３０によるストレージ装置１００内のデータを利用したサービスの運用を継続したまま、ストレージ装置１００の解析対象データ４４を用いた障害解析が可能となる。
【００３４】
以下、このような機能を実現するストレージ装置１００と管理端末２００について詳細に説明する。
図６は、ストレージ装置のハードウェア構成を示す図である。図６には、ストレージ装置１００がハードディスク装置の場合の例を示している。
【００３５】
ストレージ装置１００は、通信インタフェース１１０、インタフェース制御部１２０、ドライブ制御部１３０、およびドライブ本体１４０を有する。
通信インタフェース１１０は、高速通信プロトコル（ＳＡＳやＦＣ）に従ってデータ通信を行う。具体的には、通信インタフェース１１０には、図２に示したインタフェースケーブル２１が接続される。そして、通信インタフェース１１０は、インタフェースケーブル２１から入力されたデータを受信し、インタフェース制御部１２０に渡す。また、通信インタフェース１１０は、インタフェース制御部１２０から受け取ったデータをインタフェースケーブル２１を介して送信する。
【００３６】
インタフェース制御部１２０は、通信インタフェース１１０を介したデータ通信を制御する。インタフェース制御部１２０は、データバッファ１２１、ＨＤＣ（Herd Disk Controller）１２２、およびホストＭＣＵ（Host MCU（Micro Controller Unit））１２３を有している。
【００３７】
データバッファ１２１は、通信インタフェース１１０を介して入出力されるデータを一時的に記憶する記憶装置である。具体的には、データバッファ１２１には、入出力データのキャッシュデータや、通信インタフェース１１０を介して送出すべき解析対象データなどが格納される。
【００３８】
ＨＤＣ１２２は、通信インタフェース１１０を介して入力されたリード要求やライト要求に従って、ディスク１４１からのデータの読み出しや、ディスク１４１へのデータの書き込みを制御する。例えば、ＨＤＣ１２２は、通信インタフェース１１０を介してデータのライト要求を受け取ると、データを書き組む位置を示すアドレスやデータ長の情報をホストＭＣＵ１２３に送り、ライトデータをＲＤＣ１３７に送る。また、ＨＤＣ１２２は、通信インタフェース１１０を介してデータのリード要求を受け取ると、データを読み取り位置を示すアドレスやデータ長の情報をホストＭＣＵ１２３に送り、リードデータをＲＤＣ１３７から受け取る。ＨＤＣ１２２は、受け取ったリードデータを通信インタフェース１１０を介して出力する。
【００３９】
また、ＨＤＣ１２２には、データバッファ１２１が接続されている。ＨＤＣ１２２は、データバッファ１２１の記憶領域の一部を、リードデータまたはライトデータのキャッシュメモリとして使用する。
【００４０】
さらに、ＨＤＣ１２２は、ホストＭＣＵ１２３から外部に送出すべき解析対象データを受け取ると、その解析対象データをデータバッファ１２１に格納する。その後、ＨＤＣ１２２は、ホストＭＣＵ１２３からの指示に従って、データバッファ１２１内の解析対象データを通信インタフェース１１０を介して送出する。
【００４１】
ホストＭＣＵ１２３は、インタフェース制御用のファームウェア（組み込み型のソフトウェア）を実行し、インタフェース制御部１２０全体の処理を制御する。また、ホストＭＣＵ１２３は、ストレージ装置１００の解析対象データを生成し、内蔵のメモリに保持する。解析対象データは、ストレージ装置１００の動作状況に応じて、適宜ホストＭＣＵ１２３によって更新される。例えば、電源投入回数を示す解析対象データは、電源が投入されるごとにホストＭＣＵ１２３によって値がカウントアップされる。
【００４２】
ドライブ制御部１３０は、ドライブ本体１４０の動作を制御する。例えば、ドライブ制御部１３０は、ヘッド１４５が搭載されたアーム１４４の位置制御や、ディスク１４１を回転させるためのモータ１４２の速度制御を行う。このような機能を実現するため、ドライブ制御部１３０は、サーボＭＣＵ（Servo MCU）１３１、ドライブＩ／Ｆ回路（Drive I/F Logic）１３２、サーボ復調器（Servo Demodulator）１３３、サーボドライバ（Servo Driver）１３４、ＡＤコンバータ（AD Converter）１３５、電圧モニタ１３６、およびＲＤＣ（Read Channel）１３７を有している。
【００４３】
サーボＭＣＵ１３１は、ドライブ制御用のファームウェアを実行し、モータ１４２やサーボモータ１４３の回転を制御する。また、サーボＭＣＵ１３１は、ＡＤコンバータから電圧データや温度データを取得する。そして、サーボＭＣＵ１３１は、電圧や温度が所定の閾値を超えた場合、その旨の情報を生成し、生成した情報をドライブＩ／Ｆ回路１３２経由でホストＭＣＵ１２３に転送する。
【００４４】
ドライブＩ／Ｆ回路１３２は、ホストＭＣＵ１２３、サーボＭＣＵ１３１、サーボ復調器１３３、サーボドライバ１３４、およびＲＤＣ１３７に接続されている。そして、ドライブＩ／Ｆ回路１３２は、ホストＭＣＵ１２３、サーボＭＣＵ１３１、サーボ復調器１３３、およびサーボドライバ１３４それぞれの間のデータ通信を行うためのインタフェース回路である。
【００４５】
サーボ復調器１３３は、ヘッド１４５で読み取られたデータをＲＤＣ１３７から受け取り、サーボデータを抽出する。そして、サーボ復調器１３３は、サーボデータをドライブＩ／Ｆ回路１３２経由でサーボＭＣＵ１３１に送信する。サーボデータは、ヘッド１４５が読み取っているトラックやブロックを識別する情報である。サーボＭＣＵ１３１は、サーボデータに基づいて現在のヘッド１４５の位置を認識できる。
【００４６】
ＡＤコンバータ１３５は、電圧モニタ１３６と温度センサ１４７から入力された電圧や温度を示すアナログ信号をデジタル信号に変換する。そして、ＡＤコンバータ１３５は、デジタル信号に変換された電圧データ、温度データをサーボＭＣＵ１３１に送信する。
【００４７】
電圧モニタ１３６は、ストレージ装置１００の電源電圧を監視する。そして、電圧モニタ１３６は、電源電圧値をＡＤコンバータ１３５に出力する。
ＲＤＣ１３７は、ＨＤＣ１２２から送られた書き込みデータをＨＤＩＣ（Head IC）１４６に転送する。また、ＲＤＣ１３７は、読み出しデータをＨＤＩＣ１４６から受け取り、ＨＤＣ１２２に転送する。なおＲＤＣ１３７は、読み出しデータのうち、サーボデータについては、サーボ復調器１３３に転送する。さらにＲＤＣ１３７は、サーボＭＣＵ１３１から出力されるリード／ライトの指示をドライブＩ／Ｆ回路１３２経由で受信し、指示されたタイミングでＨＤＩＣ１４６に書き込みまたは読み込みの信号を出力する。なお、サーボＭＣＵ１３１は、サーボデータに基づいてヘッド１４５の下に位置する領域を認識し、アクセス対象の領域上にヘッド１４５があるときにリード／ライトの指示を出力する。
【００４８】
ドライブ本体１４０は、記憶媒体であるディスク１４１、およびディスク１４１に対するデータの書き込み、読み出しを行う機構である。具体的には、ドライブ本体１４０には、ディスク１４１の回転機構としてモータ１４２が設けられている。モータ１４２は、サーボドライバ１３４からの制御に従ってディスク１４１を回転させる。
【００４９】
また、サーボモータ１４３には、アーム１４４が取り付けられている。アーム１４４の先端には、ヘッド１４５が固定されている。サーボモータ１４３は、サーボドライバ１３４からの制御に従って、サーボモータ１４３の位置を軸にアーム１４４を回転させる。これにより、ヘッド１４５を、ディスク１４１上の所望のトラック上に移動させることができる。ヘッド１４５は、ＨＤＩＣ１４６に接続されている。ヘッド１４５は、ＨＤＩＣ１４６からの制御に従って、磁気によるディスク１４１へのデータの書き込みおよび読み出しを行う。
【００５０】
また、ドライブ本体１４０には、温度センサ１４７が設けられている。温度センサ１４７は、ドライブ本体１４０の温度を測定し、温度を示す信号をＡＤコンバータ１３５へ出力する。
【００５１】
なお、ホストＭＣＵ１２３、サーボＭＣＵ１３１、ドライブＩ／Ｆ回路１３２、およびサーボ復調器１３３は、１つのＭＣＵＬＳＩ１０１内に設けられている。
次に、ＨＤＣ１２２内の概略構成について説明する。
【００５２】
図７は、第１の実施の形態におけるＨＤＣの概略構成を示す図である。図７には、ＨＤＣ１２２の主要な構成が示されている。なおデータバッファ１２１には、解析対象データ領域１２１ａとキャッシュ領域１２１ｂとが設けられている。解析対象データ領域１２１ａには、外部に送信すべき解析対象データがホストＭＣＵ１２３によって書き込まれる。キャッシュ領域１２１ｂには、通信インタフェース１１０を介してホストコンピュータ３０と送受信するデータのキャッシュが書き込まれる。
【００５３】
ＨＤＣ１２２は、出力信号生成回路３００と入力信号変換回路４００とを有している。出力信号生成回路３００は、通信インタフェース１１０を介して出力するシリアル信号を生成する回路である。入力信号変換回路４００は、通信インタフェース１１０を介して受信したシリアル信号を、元のデータに変換する回路である。入力信号変換回路４００で変換された後のデータは、データバッファ１２１内のキャッシュ領域１２１ｂに格納される。
【００５４】
出力信号生成回路３００は、応答データ生成回路３１０、アイドルデータ生成回路３２０、マルチプレクサ３３０、および選択出力回路３４０を有している。
応答データ生成回路３１０には、データバッファ１２１内のキャッシュ領域１２１ｂから応答データが転送され、格納される。
【００５５】
アイドルデータ生成回路３２０は、ホストコンピュータ３０に対する応答データがないときに送信するアイドルデータを生成する。アイドルデータは、予め決められたパターンのデータである。アイドルデータ生成回路３２０は、生成したアイドルデータをマルチプレクサ３３０に対して出力する。
【００５６】
マルチプレクサ３３０は、アイドルデータ生成回路３２０から入力されたアイドルデータと、データバッファ１２１内の解析対象データ領域１２１ａに格納された解析対象データとを纏めて出力する。具体的には、解析対象データ領域１２１ａ内に解析対象データが格納されている場合、マルチプレクサ３３０は、データバッファ１２１から解析対象データを取得し、選択出力回路３４０に出力する。解析対象データ領域１２１ａ内に解析対象データが格納されていない場合、マルチプレクサ３３０は、アイドルデータ生成回路３２０から入力されたアイドルデータを、選択出力回路３４０に出力する。
【００５７】
マルチプレクサ３３０には、解析対象データ領域１２１ａ内の解析対象データを認識するために、トランスファーカウンタレジスタ３３１ａとリードポインタレジスタ３３１ｃとが設けられている。
【００５８】
トランスファーカウンタレジスタ３３１ａには、解析対象データ領域１２１ａに格納された解析対象データのデータ量を示す値（トランスファーカウント）が設定される。解析対象データのデータ量は、解析対象データのデータ量が、通信インタフェース１１０で送受信される単位データ長の何倍になるのかで表される。通信インタフェース１１０がＳＡＳやＦＣで通信を行う場合、各通信の１フレームのデータ長が単位データ長となる。リードポインタレジスタ３３１ｃには、解析対象データ領域１２１ａ内の解析対象データが格納された領域の先頭アドレスを示すポインタ（リードポインタ）が格納される。なお、トランスファーカウンタレジスタ３３１ａとリードポインタレジスタ３３１ｃとには、ホストＭＣＵ１２３によって値が設定される。
【００５９】
マルチプレクサ３３０は、トランスファーカウントが１以上の場合に、送信すべき解析対象データがあると判断する。送信すべき解析対象データがあれば、マルチプレクサ３３０は、データバッファ１２１内のリードポインタで示される領域から解析対象データを取得し、トランスファーカウントで示される回数に分けて解析対象データを選択出力回路３４０に出力する。
【００６０】
選択出力回路３４０は、応答データ生成回路３１０とマルチプレクサ３３０とから入力されたデータのいずれかを選択し、通信インタフェース１１０に出力する。具体的には、選択出力回路３４０は、応答データ生成回路３１０からホストコンピュータ３０への応答データが入力された場合、その応答データを通信インタフェース１１０に出力する。また、選択出力回路３４０は、応答データ生成回路３１０からホストコンピュータ３０への応答データがない場合、マルチプレクサ３３０から入力されたアイドルデータまたは解析対象データを通信インタフェースに出力する。
【００６１】
次に、インタフェース制御部１２０における送信データを生成処理を説明する。送信データの生成処理は、ホストＭＣＵ１２３による解析対象データのデータバッファ１２１への書き込み処理と、出力信号生成回路３００による出力データ選択処理に分けられる。
【００６２】
図８は、ホストＭＣＵによる解析対象データの書き込み処理手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］ホストＭＣＵ１２３は、発生したイベントのイベント情報を取得する。サーボＭＣＵ１３１やホストＭＣＵ１２３内の別タスクなどから出力される。
【００６３】
［ステップＳ１２］ホストＭＣＵ１２３は、取得したイベント情報に基づいて、内部情報が更新されたか否かを判断する。内部情報の更新イベントが発生した場合、処理がステップＳ１８に進められる。発生したイベントが内部情報の取得以外の場合、処理がステップＳ１３に進められる。
【００６４】
［ステップＳ１３］ホストＭＣＵ１２３は、取得したイベント情報に基づいて、デバイス温度が閾値を超えたか否かを判断する。デバイスの高温化を示すイベントが発生した場合、処理がステップＳ１８に進められる。発生したイベントがデバイスの高温化以外の内容を示す場合、処理がステップＳ１４に進められる。
【００６５】
［ステップＳ１４］ホストＭＣＵ１２３は、取得したイベント情報に基づいて、デバイス電圧が閾値を超えたか否かを判断する。デバイスの電圧過大を示すイベントが発生した場合、処理がステップＳ１８に進められる。発生したイベントがデバイスの電圧過大以外の内容を示す場合、処理がステップＳ１５に進められる。
【００６６】
［ステップＳ１５］ホストＭＣＵ１２３は、取得したイベント情報に基づいて、インタフェース（Ｉ／Ｆ）系のエラーが発生したか否かを判断する。Ｉ／Ｆ系のエラーを示すイベントが発生した場合、処理がステップＳ１８に進められる。発生したイベントがＩ／Ｆ系のエラー以外の内容を示す場合、処理がステップＳ１６に進められる。
【００６７】
［ステップＳ１６］ホストＭＣＵ１２３は、取得したイベント情報に基づいて、メディアエラー（ディスク１４１への書き込み読み出しエラー）が発生したか否かを判断する。メディアエラーを示すイベントが発生した場合、処理がステップＳ１８に進められる。発生したイベントがメディアエラー以外の内容を示す場合、処理がステップＳ１７に進められる。
【００６８】
［ステップＳ１７］ホストＭＣＵ１２３は、解析対象データのデータバッファ１２１への書き込みを伴わないイベントであれば、発生したイベントに応じた処理を実行し、処理を終了する。
【００６９】
［ステップＳ１８］ホストＭＣＵ１２３は、解析対象データのデータバッファ１２１への書き込みを伴うイベントが発生した場合、更新要求フラグをセットする。更新要求フラグは、データバッファ１２１内の解析対象データ領域１２１ａの更新要求を示す情報である。更新要求フラグは、ホストＭＣＵ１２３の内部メモリに格納される。
【００７０】
［ステップＳ１９］ホストＭＣＵ１２３は、割り込み処理を行う。割り込み処理からの復帰後、解析対象データの書き込み処理が終了する。
図９は、割り込み処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００７１】
［ステップＳ２１］ホストＭＣＵ１２３は、データバッファ１２１の解析対象データ領域１２１ａに空き領域があるか否かを判断する。空き領域があれば、処理がステップＳ２２に進められる。空き領域がなければ、処理がステップＳ２５に進められる。
【００７２】
［ステップＳ２２］ホストＭＣＵ１２３は、更新要求がある情報をデータバッファ１２１の解析対象データ領域１２１ａ内の空き領域に展開する。具体的には、内部情報が更新されたのであれば、ホストＭＣＵ１２３は内部情報を解析対象データ領域１２１ａの空き領域に格納する。デバイス温度が閾値を超えたのであれば、ホストＭＣＵ１２３は、デバイス内温度が閾値を超えたことを示すデータ、およびその他のデバイス内温度に関する詳細データを、解析対象データ領域１２１ａの空き領域に格納する。デバイス電圧が閾値を超えたのであれば、ホストＭＣＵ１２３は、デバイス電圧が閾値を超えたことを示すデータ、およびその他のデバイス電圧に関する詳細データを、解析対象データ領域１２１ａの空き領域に格納する。メディアエラーが発生したのであれば、ホストＭＣＵ１２３は、メディアエラーを示すデータ、およびその他のメディアエラーの内容に関する詳細データを、解析対象データ領域１２１ａの空き領域に格納する。
【００７３】
［ステップＳ２３］ホストＭＣＵ１２３は、マルチプレクサ３３０のリードポインタレジスタ３３１ｃ内のリードポインタを更新する。例えば、ホストＭＣＵ１２３は、解析対象データ領域１２１ａに何も格納されていない状態で、新たな解析対象データを格納した場合、格納した領域の先頭のアドレスをリードポインタとして設定する。
【００７４】
［ステップＳ２４］ホストＭＣＵ１２３は、マルチプレクサ３３０のトランスファーカウンタレジスタ３３１ａ内のトランスファーカウントを更新する。例えば、ホストＭＣＵ１２３は、解析対象データ領域１２１ａに何も格納されていない状態で、新たな解析対象データを格納した場合、格納した解析対象データのデータ量に応じた値（送信の単位データ量の何回分に当たるか）をトランスファーカウントとして設定する。
【００７５】
［ステップＳ２５］ホストＭＣＵ１２３は更新要求フラグをクリアし、割り込み処理を終了する。
このようにして、ホストＭＣＵ１２３によって解析対象データがデータバッファ１２１に格納されると共に、リードポインタとトランスファーカウントとがマルチプレクサ３３０に設定される。マルチプレクサ３３０では、リードポインタとトランスファーカウントとを参照し、送信するデータを選択する。
【００７６】
図１０は、第１の実施の形態におけるマルチプレクサの処理手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。なお、図１０に示す処理は、選択出力回路３４０によってマルチプレクサ３３０からの出力が選択されている間、繰り返し実行される。
【００７７】
［ステップＳ３１］マルチプレクサ３３０は、トランスファーカウントが「０」か否かを判断する。トランスファーカウントが「０」の場合とは、送信すべき解析対象データが無い場合である。トランスファーカウントが「０」であれば、処理がステップＳ３３に進められる。トランスファーカウントが「１」以上であれば、処理がステップＳ３２に進められる。
【００７８】
［ステップＳ３２］マルチプレクサ３３０は、解析対象データを選択出力回路３４０に送信する。具体的には、マルチプレクサ３３０は、リードポインタで示されたアドレスからトランスファーカウントに応じたデータを解析対象データ領域１２１ａから取得し、単位データに分けて選択出力回路３４０に出力する。解析対象データ送信後、処理がステップＳ３１に進められる。
【００７９】
［ステップＳ３３］マルチプレクサ３３０は、アイドルデータ生成回路３２０で生成されたアイドルデータを選択出力回路３４０に送信する。その後、処理がステップＳ３１に進められる。
【００８０】
このようにして、ホストコンピュータ３０への応答データが無い期間に、解析対象データを送信することができる。
次に、ＨＤＣ１２２の詳細な構成について説明する。
【００８１】
図１１は、ＨＤＣの詳細な内部構成を示す図である。ＨＤＣ１２２には、出力信号生成回路３００と入力信号変換回路４００の他に、ＤＭＡ（Direct Memory Access）コントローラ１２２ａが設けられている。ＤＭＡコントローラ１２２ａは、出力信号生成回路３００、入力信号変換回路４００それぞれと、データバッファ１２１との間のデータの入出力を制御する。具体的には、ＤＭＡコントローラ１２２ａは、データバッファ１２１から読み出したデータを出力信号生成回路３００に転送する。また、ＤＭＡコントローラ１２２ａは、入力信号変換回路４００から入力されたデータをデータバッファ１２１に書き込む。
【００８２】
出力信号生成回路３００は、応答データ生成回路３１０の詳細構成として、応答データバッファ３１１、プリミティブヘッダ生成回路３１２、およびプリミティブ付加回路３１３を有している。また、出力信号生成回路３００は、マルチプレクサ３３０の詳細構成として、解析対象データ転送制御回路３３１、解析対象データバッファ３３２、および選択回路３３３を有している。さらに、出力信号生成回路３００は、選択出力回路３４０の詳細構成として、選択回路３４１、８ｂ／１０ｂ変換回路３４２、シリアル／パラレル変換回路３４３、および出力バッファ３４４を有している。
【００８３】
応答データバッファ３１１は、ＤＭＡコントローラ１２２ａによってデータバッファ１２１から転送された応答データを記憶する、ＦＩＦＯ（First In, First Out）方式のバッファである。応答データバッファ３１１に格納された応答データは、順次プリミティブ付加回路３１３に出力される。
【００８４】
プリミティブヘッダ生成回路３１２は、応答データの開始位置を示す情報（ＳＯＦプリミティブ）と、終了位置を示す情報（ＥＯＦプリミティブ）とを生成する。プリミティブヘッダ生成回路３１２は、プリミティブ付加回路３１３に対してプリミティブを示す所定のパターンのデータを出力する。
【００８５】
プリミティブ付加回路３１３は、応答データバッファ３１１から入力された応答データの前後に、プリミティブヘッダ生成回路３１２から入力されたプリミティブを付加する。そして、プリミティブ付加回路３１３は、プリミティブを付加した応答データを、選択回路３４１に対して出力する。
【００８６】
解析対象データ転送制御回路３３１は、データバッファ１２１から解析対象データバッファ３３２への解析対象データの転送を制御する。具体的には、解析対象データ転送制御回路３３１は、ＤＭＡコントローラ１２２ａに対して解析対象データが格納された先頭のアドレスと、解析対象データのデータ長とを指定し、解析対象データバッファ３３２へのＤＭＡ転送を指示する。解析対象データ転送制御回路３３１は、解析対象データが解析対象データバッファ３３２に格納されると、選択回路３３３に対して解析対象データがある旨を示す信号を出力する。
【００８７】
解析対象データバッファ３３２は、ＤＭＡコントローラ１２２ａによってデータバッファ１２１から転送された解析対象データを記憶する、ＦＩＦＯ方式のバッファである。解析対象データバッファ３３２に格納された解析対象データは、選択回路３３３に対して出力される。
【００８８】
選択回路３３３には、解析対象データバッファ３３２から出力された解析対象データに加え、アイドルデータ生成回路３２０から出力されたアイドルデータが入力されている。選択回路３３３は、解析対象データ転送制御回路３３１からの信号に基づいて、解析対象データバッファ３３２に解析対象データがあるか否かを認識する。選択回路３３３は、解析対象データがある場合、解析対象データバッファ３３２から入力された解析対象データを選択する。また、選択回路３３３は、解析対象データがない場合、アイドルデータ生成回路３２０から入力されたアイドルデータを選択する。そして、選択回路３３３は、選択したデータを選択回路３４１に対して出力する。
【００８９】
選択回路３４１は、プリミティブ付加回路３１３から応答データが入力されている場合、その応答データを選択する。また、選択回路３４１は、プリミティブ付加回路３１３から応答データが入力されていない場合、選択回路３３３から入力されたアイドルデータまたは解析対象データを選択する。そして、選択回路３４１は、選択したデータを８ｂ／１０ｂ変換回路３４２に対して出力する。
【００９０】
８ｂ／１０ｂ変換回路３４２は、選択回路３４１から入力されたデータを８ｂ／１０ｂ方式で変換する。８ｂ／１０ｂ変換回路３４２は、変換されたデータをシリアル／パラレル変換回路３４３に対して出力する。
【００９１】
シリアル／パラレル変換回路３４３は、８ｂ／１０ｂ変換回路３４２から入力されたデータをシリアル信号に変換する。そして、シリアル／パラレル変換回路３４３は、シリアル信号に変換されたデータを出力バッファ３４４に対して出力する。
【００９２】
出力バッファ３４４は、シリアル／パラレル変換回路３４３からの入力を一時的に蓄積し、通信インタフェース１１０に対して出力する。
以上のような構成により、出力信号生成回路３００が実現できる。
【００９３】
入力信号変換回路４００は、入力バッファ４０１、シリアル／パラレル変換回路４０２、８ｂ／１０ｂ変換回路４０３、および受信データバッファ４０４を有している。
入力バッファ４０１には、通信インタフェース１１０を介して受信したデータが入力される。入力バッファ４０１は、入力されたデータを一時的に蓄積し、シリアル／パラレル変換回路４０２に対して出力する。
【００９４】
シリアル／パラレル変換回路４０２は、入力バッファ４０１から入力されたデータをパラレル信号に変換する。そして、シリアル／パラレル変換回路４０２は、パラレル信号に変換されたデータを８ｂ／１０ｂ変換回路４０３に対して出力する。
【００９５】
８ｂ／１０ｂ変換回路４０３は、シリアル／パラレル変換回路４０２から入力されたデータを８ｂ／１０ｂ方式で元のデータに変換する。８ｂ／１０ｂ変換回路４０３は、変換されたデータを受信データバッファ４０４に対して出力する。
【００９６】
受信データバッファ４０４は、入力されたデータを格納する、ＦＩＦＯ方式のバッファである。受信データバッファ４０４に格納された受信データは、ＤＭＡコントローラ１２２ａを介してデータバッファ１２１のキャッシュ領域１２１ｂにＤＭＡ転送される。
【００９７】
次に、解析対象データ転送制御回路３３１の詳細な内部構成について説明する。
図１２は、解析対象データ転送制御回路の内部構成を示す図である。解析対象データ転送制御回路３３１は、トランスファーカウンタレジスタ３３１ａ、メモリベースアドレスレジスタ３３１ｂ、リードポインタレジスタ３３１ｃ、解析対象データバッファ制御部３３１ｄ、ＤＭＡコントローラ制御部３３１ｅを有している。
【００９８】
トランスファーカウンタレジスタ３３１ａ、メモリベースアドレスレジスタ３３１ｂ、およびリードポインタレジスタ３３１ｃは、ホストＭＣＵ１２３に接続される。トランスファーカウンタレジスタ３３１ａ、メモリベースアドレスレジスタ３３１ｂ、およびリードポインタレジスタ３３１ｃには、ホストＭＣＵ１２３によってデータが設定される。トランスファーカウンタレジスタ３３１ａには、トランスファーカウントが設定される。メモリベースアドレスレジスタ３３１ｂには、メモリベースアドレスが設定される。メモリベースアドレスは、メモリ空間における解析対象データ領域１２１ａの先頭のアドレスである。リードポインタレジスタ３３１ｃには、リードポインタが設定される。この例では、リードポインタの値は、メモリベースアドレスからの差分値である。
【００９９】
解析対象データバッファ制御部３３１ｄは、解析対象データバッファ３３２に接続される。解析対象データバッファ制御部３３１ｄは、解析対象データバッファ３３２のリードポインタとライトポインタとを比較することで、ＦＩＦＯのＦＵＬＬ／ＥＭＰＴＹ制御を行う。ＦＵＬＬ／ＥＭＰＴＹ制御では、リードポインタとライトポインタとの値が一致すれば、ＦＩＦＯによる解析対象データバッファ３３２が空（ＥＭＰＴＹ）であると判断される。また、ライトポインタ値が「リードポインタ値−１」であれば、ＦＩＦＯによる解析対象データバッファ３３２が充満（ＦＵＬＬ）であると判断される。解析対象データバッファ制御部３３１ｄは、解析対象データバッファ３３２に空がある間（ＦＵＬＬでない場合）、ＤＭＡコントローラ制御部３３１ｅに対して解析対象データバッファ３３２が有効であることを示す信号「FIFO Valid」を出力する。また、解析対象データバッファ制御部３３１ｄは、解析対象データバッファ３３２に有効なデータがある間（ＥＭＰＴＹでない場合）、選択回路３３３に対して解析対象データバッファ３３２に有効なデータがあることを示す信号「DATA Valid」を出力する。また、解析対象データバッファ制御部３３１ｄは、トランスファーカウンタレジスタにホストＭＣＵ１２３によって新たな値が設定されると、解析対象データバッファ３３２の初期化を行う。
【０１００】
ＤＭＡコントローラ制御部３３１ｅは、ＤＭＡコントローラ１２２ａに接続される。そして、ＤＭＡコントローラ制御部３３１ｅは、トランスファーカウンタレジスタ３３１ａ、メモリベースアドレスレジスタ３３１ｂ、およびリードポインタレジスタ３３１ｃに設定された値を参照し、ＤＭＡコントローラ１２２ａに対してＤＭＡ転送要求を出力する。具体的には、ＤＭＡコントローラ制御部３３１ｅは、メモリベースアドレスにリードポインタを加えたアドレスを基準とし、単位データ長分のＤＭＡ転送要求を繰り返しＤＭＡコントローラ１２２ａに出力する。ＤＭＡ転送のデータの開始アドレスは、ＤＭＡ転送要求を出力する毎に、単位データ長分ずつ加算される。また、ＤＭＡ転送要求の出力回数は、トランスファーカウントの値と同数である。なお、ＤＭＡコントローラ制御部３３１ｅは、解析対象データバッファ制御部３３１ｄから「FIFO Valid」の信号が途絶えると、解析対象データバッファ３３２がＦＵＬＬであると判断し、ＤＭＡ転送要求の出力を中断する。
【０１０１】
以上のような回路構成とすることで、ストレージ装置１００から解析対象データを通信インタフェース１１０を介して出力することができる。出力された解析対象データは、バストレース装置２０で分岐され、管理端末２００に入力される。
【０１０２】
図１３は、本実施の形態に用いる管理端末のハードウェア構成例を示す図である。管理端末２００は、ＣＰＵ（Central Processing Unit）２０１によって装置全体が制御されている。ＣＰＵ２０１には、バス２０７を介してＲＡＭ（Random Access Memory）２０２、ハードディスクドライブ（ＨＤＤ）２０３、グラフィック処理装置２０４、入力インタフェース２０５、および通信インタフェース２０６が接続されている。
【０１０３】
ＲＡＭ２０２は、管理端末２００の主記憶装置として使用される。ＲＡＭ２０２には、ＣＰＵ２０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２０２には、ＣＰＵ２０１による処理に必要な各種データが格納される。ＨＤＤ２０３は、管理端末２００の二次記憶装置として使用される。ＨＤＤ２０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【０１０４】
グラフィック処理装置２０４には、モニタ５１が接続されている。グラフィック処理装置２０４は、ＣＰＵ２０１からの命令に従って、画像をモニタ５１の画面に表示させる。モニタ５１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置がある。
【０１０５】
入力インタフェース２０５には、キーボード５２とマウス５３とが接続されている。入力インタフェース２０５は、キーボード５２やマウス５３から送られてくる信号を、バス２０７を介してＣＰＵ２０１に送信する。なお、マウス５３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【０１０６】
通信インタフェース２０６は、インタフェースケーブルを介してバストレース装置２０に接続されている。通信インタフェース２０６は、ストレージ装置１００から出力された信号をバストレース装置２０を介して受信する。そして、通信インタフェース２０６は、受信した信号をＣＰＵ２０１に転送する。
【０１０７】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図１４は、管理端末の機能を示すブロック図である。管理端末２００は、入力データ変換部２１０、解析対象データ抽出部２２０、解析対象データ記憶部２３０、および解析対象データ表示部２４０を有している。
【０１０８】
入力データ変換部２１０には、バストレース装置２０で分岐されたトレースデータ６１が入力される。入力データ変換部２１０は、入力されたデータの解析を行う。例えば、入力データ変換部２１０は、シリアル信号をパラレル信号に変換し、８ｂ／１０ｂ変換を行い送信前のデータを生成する。
【０１０９】
解析対象データ抽出部２２０は、入力データ変換部２１０で生成されたデータから解析対象データを抽出する。具体的には、ストレージ装置１００から出力されるデータには、ホストコンピュータ３０への応答データ、出力すべき応答データも解析対象データも無いときに出力されるアイドルデータ、およびストレージ装置１００の内部情報やエラー情報である解析対象データがある。
【０１１０】
ここで、応答データは、データの前後に所定パターンのプリミティブが設けられている。そのため、そのプリミティブを検出することで応答データを特定できる。アイドルデータは常に単一パターンが生成される。そのため、所定の単一パターンを検出することでアイドルデータを特定できる。そこで、解析対象データ抽出部２２０は、入力されたデータのうち、応答データとアイドルデータ以外のデータが解析対象データであると判断する。解析対象データ抽出部２２０は、取得した解析対象データを解析対象データ記憶部２３０に格納する。
【０１１１】
なお、ＳＡＳやＦＣのような通信インタフェースでは、規格上の独自のスクランブル（８ｂ／１０ｂ変換）が実施された状態で送信される。応答データに付加されるプリミティブは、Ｋキャラクターという特殊なパターンのみが割り当てられている。そのため、アイドルデータとプリミティブとが一致することはない。これは、ストレージ装置１００が送信する通常データがプリミティブと同一にならないようにする仕組みと同様に保証されている。ストレージ装置１００がアイドルデータの変わりに送信する解析対象データも、通信インタフェース上の規格に則ってスクランブルしてから送出される。そのため、アイドルデータの場合と同様に、解析対象データの先頭や終端がプリミティブと同一となることはない。
【０１１２】
解析対象データ記憶部２３０は、解析対象データを記憶する記憶機能である。例えば、ＨＤＤ２０３の記憶領域の一部が解析対象データ記憶部２３０として使用される。
解析対象データ表示部２４０は、操作入力に応答して、解析対象データ記憶部２３０に格納された解析対象データをモニタ５１に表示する。
【０１１３】
次に、解析対象データ抽出処理の手順について説明する。
図１５は、解析対象データ抽出処理の手順を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１１４】
［ステップＳ４１］解析対象データ抽出部２２０は、応答データのＥＯＦプリミティブを検出したか否かを判断する。ＥＯＦプリミティブを検出した場合、処理がステップＳ４２に進められる。ＥＯＦプリミティブを検出していない場合、ステップＳ４１の処理が繰り返される。
【０１１５】
［ステップＳ４２］解析対象データ抽出部２２０は、ＥＯＦプリミティブに続くデータがアイドルデータか否かを判断する。アイドルデータであれば、処理がステップＳ４１に進められる。アイドルデータでなければ、処理がステップＳ４３に進められる。
【０１１６】
［ステップＳ４３］解析対象データ抽出部２２０は、ＥＯＦプリミティブに続くデータが解析対象データであると判断し、後続のデータを抽出する。解析対象データ抽出部２２０は、抽出した解析対象データを解析対象データ記憶部２３０に順次格納する。
【０１１７】
［ステップＳ４４］解析対象データ抽出部２２０は、解析対象データに続けて応答データのＳＯＦプリミティブが入力されたか否かを判断する。ＳＯＦプリミティブを検出した場合、処理がステップＳ４１に進められる。ＳＯＦプリミティブを検出していない場合、処理がステップＳ４５に進められる。
【０１１８】
［ステップＳ４５］解析対象データ抽出部２２０は、解析対象データに続けてアイドルデータが入力されたか否かを判断する。アイドルデータが入力された場合、処理がステップＳ４１に進められる。アイドルデータが入力されていない場合、処理がステップＳ４３に進められ、解析対象データの抽出が継続される。
【０１１９】
以上のようにして、ストレージ装置１００から解析対象データを随時出力させ、管理端末２００で取得することが可能となる。
なお、解析対象データには、ストレージ装置１００が内部監視を行うことで収集した内部情報や、各種エラー情報などの複数の種類のデータが含まれる。解析対象データの先頭に種類ごとのヘッダデータを付加するようにすれば、管理端末２００においてデータの種類を容易に判別が可能である。
【０１２０】
［第２の実施の形態］
次に第２の実施の形態について説明する。第２の実施の形態は、連続して送信される応答データ間に生じる応答データ無送信期間を利用して、解析対象データを送信するものである。
【０１２１】
通信インタフェースの規格上、送信すべき応答データが継続して存在する場合であっても、先の応答データの送信完了から次の応答データの送信開始までの間に応答データの無送信期間がある。第２の実施の形態では、その応答データ無送信期間を利用して、解析対象データを送信する。なお、第２の実施の形態におけるシステム構成は、図２に示した第１の実施の形態のシステム構成と同じである。そこで、以下の説明では、図２に示した各装置の符号を用いて第２の実施の形態の装置間の通信機能を説明する。
【０１２２】
ストレージ装置１００が応答データを送信する際は、連続して応答データを送信する。連続して送信する場合であっても、先の応答データの送信完了から後の応答データの送信開始までの間に、応答データ無送信期間がある。その無送信期間を用いて、応答データ無送信期間ストレージ装置１００の内部情報やエラーなどの障害情報を解析対象データとして送信できる。
【０１２３】
例えば、ＳＡＳ／ＦＣインタフェースで使用されるフレームは、前後をＳＯＦプリミティブとＥＯＦプリミティブでプロテクトされている。フレームとフレームの間の期間にはアイドルデータが送信される。そのアイドルデータが送信されている間に、代わりに解析対象データを送信できる。フレーム内ではないため、それを受信するホストコンピュータ３０では無効なデータと判断される。
【０１２４】
フレーム間に有効データを送出する事により、フレームとフレームの間隔が従来よりも長くなり、性能に影響する場合も有りうるが、ＳＡＳ／ＦＣのインタフェースの規格に違反することはない。
【０１２５】
図１６は、送信すべき解析対象データが無い場合の送信データを示す図である。ストレージ装置１００からは、単位データ長（例えばフレーム単位）に分割された応答データ７１，７２，７３，・・・が送信される。応答データ７１，７２，７３，・・・それぞれの間には、アイドルデータ８１，８２，８３，・・・が挿入される。なお、応答データ７１，７２，７３，・・・の先頭と最後には、それぞれＳＯＦとＥＯＦのプリミティブが設定されている。このプリミティブにより、ホストコンピュータにおいて応答データ７１，７２，７３，・・・とアイドルデータ８１，８２，８３，・・・とが識別される。
【０１２６】
図１７は、送信すべき解析対象データがある場合の送信データを示す図である。送信すべき解析対象データ９１，９２，９３，・・・がある場合、ストレージ装置１００から送信される応答データ７１，７２，７３，・・・それぞれの間には、アイドルデータ８１，８２，８３，・・・に代えて解析対象データ９１，９２，９３，・・・が挿入される。
【０１２７】
解析対象データ９１は、応答データ７１の最終のＥＯＦプリミティブの直後から始まる。解析対象データ９１の先頭には、ヘッダ９１ａが設けられている。ヘッダ９１ａのパターンはオールゼロのような単一パターンである。ヘッダ９１ａの後に、データ長９１ｂが設けられている。データ長９１ｂは、ヘッダ９１ａからＣＲＣ９１ｄまでのデータ容量である。データ長９１ｂに続けて、データ本体９１ｃが設定される。図１７の例では、ｎバイト（ｎは自然数）分のデータが、１つの解析対象データ９１に含まれている。データ本体９１ｃの後に、ヘッダ９１ａからデータ本体９１ｃまでのＣＲＣ（Cyclic Redundancy Check）が設定される。ＣＲＣ９１ｄの後には、アイドルデータ９１ｅが送出される。
【０１２８】
このように、本実施の形態では、ヘッダ９１ａに、オールゼロなどの単一パターンを使用している。通常、アイドルデータは電位差をつけるため（電位が偏らないようにするため）、単一パターンにならないようランダムデータ（０のビットと１のビットとが混在するデータパターン）となっている。そのため、ヘッダ９１ａを単一パターン（すべてのビットが０またはすべのビットが１）にすることで、アイドルデータとの区別が可能となる。
【０１２９】
本実施の形態では、ＣＲＣを付加することで解析対象データ全体の内容が保証される。これにより、アイドルデータがヘッダパターンと同一になってしまった場合でも、ＣＲＣのチェックが合わなければ解析対象データではないことが判別できる。すなわち、アイドルデータと解析対象データとの判別を正確に行うことができる。
【０１３０】
ところで、応答データの送信の合間にできる応答データ無送信期間は、短い時間である。そのため、応答データの送信の合間に送信する解析対象データのデータ量にも制限がある。一回の応答データ無送信期間で送信すべき解析対象データを送信できない場合、ストレージ装置１００は解析対象データを分割して送信する。
【０１３１】
図１８は、分割して送信される解析対象データの例を示す図である。図１８の例では、応答データの無送信期間一回あたり１００Ｂｙｔｅのデータしか解析対象データを送信できないものとする。このとき、３００Ｂｙｔｅの解析対象データ９４の送信が必要となると、解析対象データ９４が３分割される。解析対象データ９４が分割されることで、それぞれ１００ｂｙｔｅの３つの解析対象部分データ９４ａ，９４ｂ，９４ｃが生成される。そして、応答データ７１，７２，７３の送信の合間（無送信期間）に解析対象部分データ９４ａ，９４ｂ，９４ｃが送信される。
【０１３２】
これにより、応答データの送信が絶え間なく続いた場合でも（一回のアイドルデータ区間内で解析対象データを出し切れなくても）有効データを取得することが可能となる。
ところで、通信インタフェース１１０を介してストレージ装置１００に入力されたコマンドで問題が発生した場合、ストレージ装置１００からホストコンピュータ３０に対してエラー情報が送信される。例えば、ＳＡＳやＦＣインタフェースでは、コマンドがCHECK STATUSで終了すると、詳細情報がセンスデータとしてホストコンピュータ３０に報告される。しかしセンスデータには転送長に制限があるため必要な情報を通知しきれない場合がある。このようにコマンド実行時のエラーに対する詳細情報の送信において、規格上の容量制限があるため、障害解析に有用な情報を十分に送信できない場合がある。
【０１３３】
そこで、第２の実施の形態では、コマンドエラー（例えばＳＡＳ／ＦＣインタフェースのCHECK STATUS）によって詳細情報を含む応答データを送信する必要が生じた場合、その応答データ間のアイドルデータの代わりに、エラー要因となる詳細情報を解析対象データとして送信する。
【０１３４】
解析対象データとして送信するエラー追加情報は、例えば以下のような情報を含む。
・デバイスの電源投入時からの累積時間
・デバイスの電圧
［エラーがメディア系エラーの場合、以下の３つ］
・メディア制御コントローラの任意のレジスタ値
・リトライ回数
・物理セクタ位置アドレス
［エラーがインタフェース系エラーの場合、以下の２つ］
・インタフェース制御コントローラの任意のレジスタ値
・ＰＨＹチップ（物理層のインタフェースの通信回路）の出力信号設定値
エラー発生時、規格上定められたセンスデータでは報告しきれないエラー情報をフレーム間に送信することにより、リアルタイムにエラー情報を解析可能となる。
【０１３５】
次に、応答データの無送信期間に解析対象データを送信するためのストレージ装置１００のハードウェア構成について説明する。基本的なハードウェア構成は、図６に示した第１の実施の形態と同様である。第１の実施の形態と異なるのは、ＨＤＣの内部構成である。
【０１３６】
図１９は、第２の実施の形態におけるＨＤＣの概略構成を示す図である。第２の実施の形態におけるＨＤＣ１２２ｂの内部構成は、出力信号生成回路３００ａ内のマルチプレクサ３５０のみが、図７に示した第１の実施の形態の構成と異なる。そこで、第１の実施の形態と同じ機能の要素には、図７と同じ符号を付し説明を省略する。
【０１３７】
マルチプレクサ３５０は、第１の実施の形態と異なり、トランスファーカウンタレジスタ３５１ａおよびリードポインタレジスタ３５１ｃに加え、レスポンスフラグレジスタ３５１ｆを有している。レスポンスフラグレジスタ３５１ｆには、コマンドに対するエラーが発生したことを示すレスポンスフラグが設定される。
【０１３８】
次に、コマンドを受け取ったホストＭＣＵ１２３が実行する処理について説明する。
図２０は、コマンド実行処理の手順を示すフローチャートである。以下、図２０に示す処理をステップ番号に沿って説明する。
【０１３９】
［ステップＳ５１］ホストＭＣＵ１２３は、通信インタフェース１１０を介して入力されたコマンドを取得する。
［ステップＳ５２］ホストＭＣＵ１２３は、取得したコマンドを実行する。
【０１４０】
［ステップＳ５３］ホストＭＣＵ１２３は、コマンド実行の結果、エラーがあったか否かを判断する。この際、エラーがメディア系のエラーなのか、インタフェース系のエラーなのかも判断される。エラーがあった場合、処理がステップＳ５４に進められる。エラーがない場合、処理がステップＳ６０に進められる。
【０１４１】
［ステップＳ５４］ホストＭＣＵ１２３は、基本エラー情報を作成する。ＳＡＳやＦＣインタフェースであれば、センスデータが基本エラー情報である。
［ステップＳ５５］ホストＭＣＵ１２３は、追加エラー情報（基本エラー情報に含まれない詳細情報を含む情報群）を収集する。具体的には、ホストＭＣＵ１２３は、「デバイスの電源投入時からの累積時間」と「デバイスの電圧」とを取得する。また、ホストＭＣＵ１２３は、エラーがメディア系エラーであれば、「メディア制御コントローラの任意のレジスタ値」、「リトライ回数」、「物理セクタ位置アドレス」を取得する。また、ホストＭＣＵ１２３は、エラーがインタフェース系エラーであれば、「インタフェース制御コントローラの任意のレジスタ値」、「ＰＨＹチップの出力信号設定値」を取得する。ホストＭＣＵ１２３は、収集した追加エラー情報を、解析対象データとしてデータバッファ１２１の解析対象データ領域１２１ａに格納する。
【０１４２】
［ステップＳ５６］ホストＭＣＵ１２３は、リードポインタを更新する。具体的には、ホストＭＣＵ１２３は、追加エラー情報を格納した記憶領域の先頭アドレスをリードポインタとして、マルチプレクサ３５０内のリードポインタレジスタ３５１ｃに値を設定する。
【０１４３】
［ステップＳ５７］ホストＭＣＵ１２３は、トランスファーカウンタを更新する。具体的には、ホストＭＣＵ１２３は、解析対象データの分割送信するための分割数をトランスファーカウンタとして、マルチプレクサ３５０内のトランスファーカウンタレジスタ３５１ａに設定する。
【０１４４】
［ステップＳ５８］ホストＭＣＵ１２３は、レスポンスフラグをセットする。具体的には、ホストＭＣＵ１２３は、マルチプレクサ３５０内のレスポンスフラグレジスタ３５１ｆにエラーの発生を示す値「１」を設定する。
【０１４５】
［ステップＳ５９］ホストＭＣＵ１２３は、基本エラー情報を含む応答データの送信処理を行う。
［ステップＳ６０］ホストＭＣＵ１２３は、コマンド終了処理を行う。
【０１４６】
次に、マルチプレクサの処理について説明する。
図２１は、第２の実施の形態におけるマルチプレクサの処理手順を示すフローチャートである。以下、図２１に示す処理をステップ番号に沿って説明する。
【０１４７】
［ステップＳ６１］マルチプレクサ３５０は、トランスファーカウントが０か否かを判断する。トランスファーカウントが０であれば、処理がステップＳ６３に進められる。トランスファーカウントが０でなければ、処理がステップＳ６２に進められる。
【０１４８】
［ステップＳ６２］マルチプレクサ３５０は、レスポンスフラグが０か否かを判断する。レスポンスフラグが０であれば、処理がステップＳ６３に進められる。レスポンスフラグが０でなければ、処理がステップＳ６４に進められる。
【０１４９】
［ステップＳ６３］マルチプレクサ３５０は、トランスファーカウンタが０、またはレスポンスフラグが０の場合、アイドルデータを選択出力回路３４０に対して出力する。その後、処理がステップＳ６１に進められる。
【０１５０】
［ステップＳ６４］マルチプレクサ３５０は、トランスファーカウンタが１以上であり、かつレスポンスフラグが１の場合、解析対象データを選択出力回路３４０に出力する。
［ステップＳ６５］マルチプレクサ３５０は、レスポンスフラグをクリアする。具体的には、マルチプレクサ３５０は、レスポンスフラグレジスタ３５１ｆに「０」を設定する。その後、処理がステップＳ６１に進められる。
【０１５１】
次に、上記処理を実現するための出力信号生成回路３００ａの詳細な内部構成について説明する。第２の実施の形態における出力信号生成回路３００ａの構成は、解析対象データ転送制御回路の機能を除き図１１に示した構成と同様である。そこで、解析対象データ転送制御回路の内部構成について説明する。
【０１５２】
図２２は、第２の実施の形態における解析対象データ転送制御回路の内部構成を示す図である。なお、図２２において、レスポンスフラグレジスタ３５１ｆ、ＡＮＤ回路３５１ｇ以外の要素は、図１２に示した第１の実施の形態の解析対象データ転送制御回路３３１内の同名の要素と同じ機能を有している。
【０１５３】
レスポンスフラグレジスタ３５１ｆは、ホストＭＣＵ１２３に接続され、ホストＭＣＵ１２３によってレスポンスフラグが設定される。
ＡＮＤ回路３５１ｇには、トランスファーカウンタレジスタ３５１ａとレスポンスフラグレジスタ３５１ｆとの値が入力される。ＡＮＤ回路３５１ｇは、トランスファーカウンタレジスタ３５１ａとレスポンスフラグレジスタ３５１ｆとの両方に０以外の値が設定されたとき、ＦＩＦＯ方式の解析対象データバッファ３３２の初期化を指示する信号を、解析対象データバッファ制御部３５１ｄに出力する。
【０１５４】
このようにしてコマンドの処理でエラーがあった場合、応答データにおいて基本エラー情報を送信し、連続送信される応答データの間の無送信期間を用いて、追加エラー情報を解析対象データとして送信することができる。
【０１５５】
なお、管理端末２００において、トレースデータから解析対象データを抽出する処理手順については、図１５に示し第１の実施の形態の手順と同様である。ただし、管理端末２００で解析対象データを抽出する場合、応答データのＥＯＦプリミティブに続けて、オールゼロのヘッダ９１ａ（図１７参照）を検出することで、解析対象データ９１であると判別する。
【０１５６】
［第３の実施の形態］
第３の実施の形態は、解析対象データに対してスクランブルをかけるものである。上記第１、第２の実施の形態では、ストレージ装置１００から能動的に解析対象データが出力される。すなわち、外部からのリクエストがなくても、ストレージ装置１００は、所定のイベント（内部情報の更新やエラーの発生）があれば解析対象データを出力する。解析対象データには、ストレージ装置１００の性能や品質に関する情報であり、第三者に公開する必要の内情報も含まれる。そこで、第３の実施の形態では、解析対象データにスクランブルをかけて、管理端末２００以外からは解析対象データの内容を理解できないようにする。
【０１５７】
図２３は、第３の実施の形態におけるＨＤＣの概略構成を示す図である。第３の実施の形態におけるＨＤＣ１２２ｃの内部構成は、出力信号生成回路３００ｂ内のＥＯＲ（排他的論理和）３６０のみが、図７に示した第１の実施の形態の構成と異なる。そこで、第１の実施の形態と同じ機能の要素には、図７と同じ符号を付し説明を省略する。
【０１５８】
また、第３の実施の形態では、ストレージ装置１００のインタフェース制御部１２０内にスクランブルパターン発生回路１２４が設けられている。スクランブルパターン発生回路１２４は、所定の乱数列を発生させる回路である。
【０１５９】
出力信号生成回路３００ｂ内のＥＯＲ回路３６０は、マルチプレクサ３３０の出力信号が入力されている。また、ＥＯＲ回路３６０には、スクランブルパターン発生回路１２４が生成したスクランブルパターンが入力される。ＥＯＲ回路３６０は、マルチプレクサ３３０の出力信号とスクランブルパターンとの排他的論理和を選択出力回路３４０に出力する。
【０１６０】
このようにして、解析対象データにスクランブルをかけることが可能となる。管理端末２００では、バストレースから取得した解析対象データを、予め設定されたスクランブルパターンによってデスクランブルを行う。これにより、管理端末２００でのみ解析対象データの内容を参照することが可能となる。すなわち、スクランブルパターンを知っていないと解析対象データを解読不可能なため、第三者がオリジナルのデータを知る事は不可能となる。
【０１６１】
なお、図２３の例では、第１の実施の形態の構成にスクランブルパターン発生回路１２４とＥＯＲ回路３６０とを追加した構成となっている。同様に、図１９に示した第２の実施の形態に対してもスクランブルパターン発生回路１２４とＥＯＲ回路３６０とを追加することで、解析対象データのスクランブル化が可能である。
【０１６２】
以上説明したように、上記第１〜第３の実施の形態によればインタフェースに有効データを送信することにより、市販のバストレース装置でデバイス内部情報の取得が可能となる。しかも、アイドルデータの送信に代えて解析対象データを送信するだけなので、インタフェースの動作に影響を与えず、またシステム動作にも影響を与えない。さらに、ストレージ装置１００のファームウェアによるホストＭＣＵの動作を停止する必要がないため、システム稼働中でもデバイス内部情報の取得が可能である。
【０１６３】
さらに、ホストコンピュータ３０側から特殊コマンドを発行する必要がない。そのため、ホストコンピュータ３０からの操作を行わずに、デバイス内部情報の取得が可能である。
【０１６４】
また、解析対象データをリアルタイムに確認することが可能である。
なお、上記第１〜第３の実施の形態では、ストレージ装置１００がハードディスクドライブである場合の例を用いて説明しているが、テープ装置、半導体メモリなどの各種二次記憶装置に対して同様に適用可能である。
【０１６５】
また、上記の管理端末２００が有する処理機能は、コンピュータによって実現することができる。その場合、管理端末２００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disc）などがある。
【０１６６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１６７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１６８】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１６９】
（付記１）  通信インタフェースで他の装置に接続されるストレージ装置であって、
記憶装置と、
所定のイベントが発生すると、前記イベントに応じた解析対象データを前記記憶装置に書き込む解析対象データ書き込み部と、
前記通信インタフェースを介して入力された要求に対する応答データを生成する応答データ生成部と、
前記応答データがある場合には前記応答データを前記通信インタフェースを介して出力し、前記応答データの無送信期間を利用して前記記憶装置に格納された前記解析対象データを前記通信インタフェースを介して出力するデータ出力部と、
を有するストレージ装置。
【０１７０】
（付記２）  前記データ出力部は、送信すべき前記応答データがない場合に、前記解析対象データを出力することを特徴とする付記１記載のストレージ装置。
（付記３）  前記データ出力部は、送信すべき前記応答データと前記解析対象データとが共にない場合、所定のデータパターンのアイドルデータを出力することを特徴とする付記２記載のストレージ装置。
【０１７１】
（付記４）  前記データ出力部は、連続して複数の前記応答データを送信する際に先の応答データの送信完了から次の応答データの送信開始までの間に生じる応答データ無送信期間に、前記解析対象データを出力することを特徴とする付記１記載のストレージ装置。
【０１７２】
（付記５）  前記データ出力部は、送信すべき前記解析対象データがない場合、前記応答データ無送信期間に、所定のデータパターンのアイドルデータを出力することを特徴とする付記４記載のストレージ装置。
【０１７３】
（付記６）  前記データ出力部は、前記解析対象データは、先頭にすべてのビットが０またはすべのビットが１のヘッダが付与され、前記アイドルデータは０のビットと１のビットとが混在するデータパターンであることを特徴とする付記５記載のストレージ装置。
【０１７４】
（付記７）  前記データ出力部は、前記解析対象データにスクランブルをかけて出力することを特徴とする付記１記載のストレージ装置。
（付記８）  前記解析対象データ書き込み部は、前記通信インタフェースを介して入力された要求に対するコマンドエラーが発生した場合、前記要求に対して応答する基本エラー情報に含まれない詳細情報を含む追加エラー情報を、前記解析対象データとして前記記憶装置に書き込むことを特徴とする付記１記載のストレージ装置。
【０１７５】
（付記９）  通信インタフェースを介して送出すべき出力信号を生成する出力信号生成回路であって、
前記通信インタフェースを介して入力された要求に対する応答データを生成する応答データ生成部と、
前記応答データがある場合には前記応答データを前記通信インタフェースを介して出力し、前記応答データの無送信期間を利用して、所定のイベントの発生に応じて生成された解析対象データを前記通信インタフェースを介して出力するデータ出力部と、
を有する出力信号生成回路。
【図面の簡単な説明】
【０１７６】
【図１】実施の形態の概要を示す図である。
【図２】本実施の形態のシステム構成例を示す図である。
【図３】ストレージ装置が応答データを出力する場合の例を示す図である。
【図４】ストレージ装置がアイドルデータを出力する場合の例を示す図である。
【図５】ストレージ装置が解析対象データを出力する場合の例を示す図である。
【図６】ストレージ装置のハードウェア構成を示す図である。
【図７】第１の実施の形態におけるＨＤＣの概略構成を示す図である。
【図８】ホストＭＣＵによる解析対象データの書き込み処理手順を示すフローチャートである。
【図９】割り込み処理の手順を示すフローチャートである。
【図１０】第１の実施の形態におけるマルチプレクサの処理手順を示すフローチャートである。
【図１１】ＨＤＣの詳細な内部構成を示す図である。
【図１２】解析対象データ転送制御回路の内部構成を示す図である。
【図１３】本実施の形態に用いる管理端末のハードウェア構成例を示す図である。
【図１４】管理端末の機能を示すブロック図である。
【図１５】解析対象データ抽出処理の手順を示すフローチャートである。
【図１６】送信すべき解析対象データが無い場合の送信データを示す図である。
【図１７】送信すべき解析対象データがある場合の送信データを示す図である。
【図１８】分割して送信される解析対象データの例を示す図である。
【図１９】第２の実施の形態におけるＨＤＣの概略構成を示す図である。
【図２０】コマンド実行処理の手順を示すフローチャートである。
【図２１】第２の実施の形態におけるマルチプレクサの処理手順を示すフローチャートである。
【図２２】第２の実施の形態における解析対象データ転送制御回路の内部構成を示す図である。
【図２３】第３の実施の形態におけるＨＤＣの概略構成を示す図である。
【符号の説明】
【０１７７】
１  ストレージ装置
１ａ  記憶装置
１ｂ  解析対象データ書き込み部
１ｃ  応答データ生成部
１ｄ  データ出力部
１ｅ  通信インタフェース
２  バストレース装置
３  ホストコンピュータ
４  管理端末
５ａ，５ｂ，５ｃ  要求データ
６ａ，６ｂ  応答データ
７  解析対象データ
【図１】
2010122784.tif 000003
【図２】
2010122784.tif 000004
【図３】
2010122784.tif 000005
【図４】
2010122784.tif 000006
【図５】
2010122784.tif 000007
【図６】
2010122784.tif 000008
【図７】
2010122784.tif 000009
【図８】
2010122784.tif 000010
【図９】
2010122784.tif 000011
【図１０】
2010122784.tif 000012
【図１１】
2010122784.tif 000013
【図１２】
2010122784.tif 000014
【図１３】
2010122784.tif 000015
【図１４】
2010122784.tif 000016
【図１５】
2010122784.tif 000017
【図１６】
2010122784.tif 000018
【図１７】
2010122784.tif 000019
【図１８】
2010122784.tif 000020
【図１９】
2010122784.tif 000021
【図２０】
2010122784.tif 000022
【図２１】
2010122784.tif 000023
【図２２】
2010122784.tif 000024
【図２３】
2010122784.tif 000025