(57)【要約】【課題】エラー情報を適切なエラー情報に変換するための変換設定を簡便に行えるようにすることを目的とする。【解決手段】情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合、異常に対応するエラー情報を生成し、記憶手段に記憶された属性情報と変換情報との対応関係を示す情報を参照して、情報処理装置の属性を示す属性情報に対応する変換情報を取得し、取得した変換情報に基づいて、生成したエラー情報を変換し、変換後のエラー情報を情報処理装置に送信する処理を実行させる。【選択図】図３
2013206001.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置に、
情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合、前記異常に対応するエラー情報を生成し、
記憶手段に記憶された属性情報と変換情報との対応関係を示す情報を参照して、前記情報処理装置の属性を示す属性情報に対応する変換情報を取得し、
取得した前記変換情報に基づいて、生成した前記エラー情報を変換し、
変換後のエラー情報を前記情報処理装置に送信する、
処理を実行させることを特徴とする制御プログラム。
【請求項２】
前記情報処理装置の属性を示す属性情報は、前記記憶装置の記憶領域のうち、前記情報処理装置がアクセスする記憶領域に記憶されたパーティションタイプに基づいて特定される属性情報であることを特徴とする請求項１記載の制御プログラム。
【請求項３】
前記制御プログラムはさらに、
前記記憶装置に、
属性情報が取得できなかった情報処理装置を識別する識別情報に対応するカウンタ値を更新し、
カウンタ値が所定の値を超える場合に、該属性情報が取得できなかった情報処理装置についての更なる属性情報の取得の試行処理を抑止する、
ことを実行させることを特徴とする請求項１または２記載の制御プログラム。
【請求項４】
情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合、前記異常に対応するエラー情報を生成し、
記憶手段に記憶された属性情報と変換情報との対応関係を示す情報を参照して、前記情報処理装置の属性を示す属性情報に対応する変換情報を取得し、
取得した前記変換情報に基づいて、生成した前記エラー情報を変換し、
変換後のエラー情報を前記情報処理装置に送信する、
ことを特徴とする記憶装置における制御方法。
【請求項５】
情報処理装置の属性情報と該情報処理装置に適合するエラー情報の変換方法を示す変換情報との対応関係を記憶する記憶手段と、
いずれかの情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合に、前記異常に対応するエラー情報を生成するエラー情報生成手段と、
前記命令を送信した情報処理装置の前記記憶装置におけるアクセス先の領域のフォーマットを示すデータを格納する領域に記憶されたデータ、又は、該フォーマットを示すデータを格納する領域に書き込まれるデータを解析して、前記命令を送信した情報処理装置の属性を示す属性情報を特定する解析手段と、
記憶手段に記憶された前記対応関係を参照して、前記命令を送信した情報処理装置の属性を示す属性情報に対応する変換情報を取得して、取得した該変換情報を用いて、生成した前記エラー情報を変換する変換手段と、
変換後のエラー情報を、前記命令を送信した情報処理装置に送信する送信手段と、
を備えたことを特徴とする記憶装置。
【請求項６】
前記命令を送信した情報処理装置の属性を示す属性情報は、前記所定の領域に記憶されたデータ、又は、該所定の領域に書き込まれるデータに含まれるパーティションタイプに基づいて特定される、
ことを特徴とする請求項５記載の記憶装置。
【請求項７】
第１の情報処理装置の識別情報に対応させて該第１の情報処理装置に適合するエラー情報の変換方法を示す変換情報を記憶する記憶手段と、
第２の情報処理装置から送信された命令に基づく処理の実行中に異常が発生した場合、前記異常に対応するエラー情報を生成するエラー情報生成手段と、
前記第１の情報処理装置の前記記憶装置におけるアクセス先の領域のフォーマットを示すデータを格納する領域に記憶されたデータ、又は、該フォーマットを示すデータを格納する領域に書き込まれるデータを解析して、前記命令を送信した情報処理装置の属性を示す属性情報を特定するとともに、前記第２の情報処理装置の前記記憶装置におけるアクセス先の領域のフォーマットを示すデータを格納する領域に記憶されたデータ、又は、該フォーマットを示すデータを格納する領域に書き込まれるデータを解析して、前記命令を送信した情報処理装置の属性を示す属性情報を特定する解析手段と、
前記解析手段による解析結果が、前記第１の情報処理装置の属性情報と前記第２の情報処理装置の属性情報とが一致することを示す場合に、前記記憶手段に記憶された前記第１の情報処理装置に適合するエラー情報の変換方法を示す変換情報を、前記第２の情報処理装置に関するエラー情報の変換の際に用いる変換手段と、
変換後のエラー情報を、前記第２の情報処理装置に送信する送信手段と、
を備えたことを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置の制御に関する
【背景技術】
【０００２】
ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や、サーバ装置などのホスト（ホスト装置）から記憶装置へのデータの読み出し命令を送信し、所望のデータを記憶装置に記憶させるシステムが存在する。
【０００３】
このようなシステムにおいて、記憶装置がホストから受信した命令に応じて動作するときにエラーが発生した場合、その記憶装置は、読み出したデータの代わりに、エラー情報を生成し、応答として送信する。そして、ホストは、記憶装置が生成したエラー情報を受信し、エラー情報に応じた動作を行う。このとき、ホストの種類に応じて、エラー情報に応じて実行される動作が異なることがあるため、記憶装置は、記憶装置が期待した動作をホストが実行できるように、ホストの種類に応じて、エラー情報を適切なエラー情報に変換してホストに送信する。
【０００４】
図１は、従来技術の一例を説明するための図である。図１は、通信可能に接続されたホスト１と記憶装置２を示す。なお、ホスト１と記憶装置２との間にスイッチなどの中継装置が介在してもよい。記憶装置２は、メモリ３を備えている。メモリ３は、ホストの識別子とエラー情報の変換方法を特定するための変換情報を対応付けた情報を記憶する。変換情報は、エラー情報をどのようなエラー情報に変換するかの変換方法を特定する情報を含む。
【０００５】
この状態で、ホスト１から読み出し命令などの命令Ａを記憶装置２が受信し、命令Ａに応じた処理の実行時にエラーが発生したとする。すると、記憶装置２は、発生したエラーに応じてエラー情報（センスデータ）ａを生成する。そして、記憶装置２は、命令に含まれる送信元の情報からホスト１を特定し、ホスト１の識別子（ＨＯＳＴ♯1）に対応する変換情報（この場合は、ＣＯＮＶ♯1）をメモリ３の記憶内容を参照して特定する。さらに、記憶装置２は、エラー情報ａを変換情報（ＣＯＮＶ♯1）で特定される変換方法（エラー情報ａをエラー情報Ａに変換）に基づいて、エラー情報Ａに変換し、エラー情報Ａをホスト１に送信する。エラー情報Ａは、エラー情報ａが生成されるような状況において、ホスト１が行うべき動作に対応しているため、ホスト１は、エラー情報Ａの受信により、発生したエラーに応じて適切な動作を実行することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２３３１２７
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上述した従来例では、ホストの識別子（ホスト固有の識別情報）毎に、対応する変換情報が何かを調べ、記憶装置のメモリなどに対応関係を個別に記憶させておくこととなるため手間がかかる。ホスト識別子に対応する変換情報が未登録であった場合は、記憶装置はエラー情報を適切なエラー情報に変換して送信することができないため、エラー情報を変換せずにそのままホストに送信してしまう。未変換のエラー情報を受信したホストは、記憶装置によって期待されていない動作（発生したエラーに応じた動作として不適切な動作）を行ってしまうといった問題が発生することがある。場合によっては、記憶装置のボリューム（記憶されたデータ）にアクセスできなくなる、ホストのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）にエラーが発生してしまうなどといった事態も起こりかねない。
【０００８】
１つの側面では、エラー情報を適切なエラー情報に変換するための変換設定を簡便に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、記憶装置に、情報処理装置が送信する命令に基づく処理中に異常が発生した場合、前記異常に基づく応答情報を生成し、情報処理装置の属性を示す属性情報に対応する、応答情報と、応答情報が変換されることで生成される変換後応答とが対応付けられた応答変換情報を記憶手段から参照し、参照した応答変換情報に基づいて、生成した応答を、対応する変換後応答に変換し、変換した変換後応答を情報処理装置に送信することを実行させる。
【発明の効果】
【００１０】
本発明の１つの態様によれば、エラー情報を適切なエラー情報に変換するための変換設定を簡便に行うことができる。
【発明を実施するための最良の形態】
【００１１】
本発明を実施するための実施形態（実施例）を、図面を用いて説明する。
【００１２】
図２は、本実施例の記憶装置１００のハードウェア構成の一例を示すブロック図である。図２に示すように、本実施例の記憶装置１００は、磁気ディスクドライブ１０５と、磁気ディスクドライブ１０５を制御する制御装置１０１を有する。制御装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２、メモリ１０３、磁気ディスクドライブ側アダプタ１０４、ホスト側アダプタ１０５を有し、それぞれがバスを介して相互に通信可能に接続されている。
【００１３】
ＣＰＵ１０２は、記憶装置１００の記憶装置１０１の制御に必要な演算処理などを実行する。メモリ１０３は、記憶装置１００の制御に必要な情報を記憶する。またメモリ１０３は、ＣＰＵ１０２が実行するプログラムを記憶することも可能である。
【００１４】
制御装置１０１は、磁気ディスクドライブ側アダプタ１０４を介して磁気ディスクドライブ１０５と接続される。制御装置１０１と磁気ディスクドライブ１０５との接続には、例えばＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）を用いることが可能である。
【００１５】
磁気ディスクドライブ１０５は、例えば、ホスト１１０からの命令に応じてデータを記憶する記憶装置である。本実施例においては、磁気ディスクドライブを使用しているが、磁気ディスクドライブ１０５に替えて、例えば磁気テープ記憶装置や、半導体記憶装置など、他の種類の記憶装置を用いることもできる。また、例えば、磁気ディスクドライブ１０５は、単数でなく、複数が制御装置１０１に接続されていても良い。
【００１６】
制御装置１０１は、ホスト側アダプタ１０６を介してホスト１１０と接続される。制御装置１０１とホスト側アダプタ１０６との接続には、例えばｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  ＳＣＳＩ）を用いることが可能である。
【００１７】
ホスト１１０は、記憶装置１００にアクセスする情報処理装置である。ホスト１１０は例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や、サーバ装置である。簡単のため、図２ではホスト１１０が１つ接続されている態様を示しているが、ホスト１１０は、１つの記憶装置１００に対して複数接続されていても良い。
【００１８】
図３は、制御装置１０１の機能を示す機能ブロック図である。制御装置１０１は、受信部２０１、設定確認部２０２、アクセス解析部２０３、命令処理部２０４、データ解析部２０５、エラー（異常）検知部２０６、エラー情報生成部２０７、変換部２０８、送信部２０９を有する。
【００１９】
また、制御装置１０１は、ホスト情報記憶部２１０、ホストレスポンス情報記憶部２１１、生成したエラー情報をホストが適切に理解できるエラー情報に変換するための変換情報記憶部２１２、パーティションタイプ情報記憶部２１３を有する。各記憶部に記憶される情報の詳細については後述する。
【００２０】
２０２〜２０８は、例えば、制御装置１０１のメモリ１０３に記憶されたプログラムを、ＣＰＵ１０２が実行することで実現されても良い。２１０〜２１３の各記憶部は、例えばメモリ１０３や、磁気ディスクドライブ１０５を用いて実現することが可能である。また、２０１、２０９の例として、ホスト側アダプタ１０６のようなホストとの通信のためのインタフェースユニットを用いることもできる。
〔ホスト属性情報の取得〕
本実施例においては、ホスト１１０に対して、記憶装置１００で生成されたエラー情報を変換するための個別の設定が、記憶装置１００においてなされていない場合（ホスト固有の識別子に対応させてエラー情報のための変換情報を記憶していない場合）に、記憶装置１０１は、命令の発行元のホスト１１０のＯＳの種別を特定する情報（ホスト属性情報）を取得する。そして、記憶装置１００が既に記憶している変換情報のうち、取得したＯＳの種別と同じ種別のＯＳに関する変換情報を当該ホスト１１０にも適用することで、生成したエラー情報をホスト１１０が正しく認識・動作可能なエラー情報に変換する。  従って、ホスト１１０について変換情報が個別に設定されていなくとも、既に記憶済の変換情報を利用して、ホスト１１０に合わせたエラー情報の変換を行って、ホスト１１０によるエラーに対する正常な動作を期待することができることとなる。
【００２１】
次に、ホスト属性情報取得処理の手順の例について説明する。図４は、制御装置１０１において実行される、ホスト１１０のホスト属性情報を取得する際の取得処理手順を示すフローチャートである。
【００２２】
まず、制御装置１０１が、ホスト１１０からの命令を受信部２０１で受信すると、設定確認部２０２は、命令に含まれているホスト識別子を取得し、ホスト情報記憶部２１０を参照して、取得したホスト識別子に対応づけて記憶されたホスト属性情報を得る（Ｓ４０１）。
【００２３】
図５に、ホスト情報の一例であるホスト情報５００を示す。ホスト情報５００は、ホスト１１０を識別するホスト識別子と、そのホスト識別子で特定されるホスト１１０に関する諸々の情報とを含む。諸々の情報の例としては、図５に示すように、例えば、ホスト属性情報５０２、有効ビット５０３、カウンタ値５０４などが挙げられる。ホスト識別子５０１は、ホスト１１０を特定するための識別子である。ホスト識別子５０１としては、例えばＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）を用いることが可能である。ホスト属性情報５０２の詳細については後述する。有効ビット５０３は、ホスト情報５００の情報を、後に説明するホスト属性情報取得処理により更新する必要があるかを判定ために用いられる情報である。有効ビット５０３は、例えばフラグ情報であり、「ｏｎ」、「ｏｆｆ」（又は「０」、「１」）などの形態の情報であっても良く、「ｏｎ」により更新の必要がないこと、「ｏｆｆ」により更新の必要があることを示すようにしてもよい。
【００２４】
さて、ホスト識別子に対応するホスト情報を参照した後、設定確認部２０２は、対応するホスト情報の有効ビットを参照し、有効ビットがｏｎであるか否かを判定する（Ｓ４０２）。有効ビットがｏｎである場合、既に有効な設定が登録されているとして制御装置１０１は、ホスト属性情報取得処理を終了する。
【００２５】
一方、ステップＳ４０２で有効ビットがｏｆｆの場合、設定確認部２０２は、識別子に対応するホスト１１０に対して、ホストレスポンス情報（変換情報）の設定がされているかを判定する（Ｓ４０３）。
【００２６】
ここでホストレスポンス情報について説明する。ホストレスポンス情報とは、ホスト１１０（複数のホストの場合は、その複数のホストそれぞれ）に対して設定される応答方法を特定するために用いられる。
【００２７】
図６に、ホストレスポンス情報の一例を示す。
【００２８】
図６のホストレンスポンス情報６００は、ホスト識別子５０１と、後述する変換情報とを対応付けた情報であり、例えば、ホストレスポンス情報記憶部２１１に記憶される。センス変換情報は、エラー発生時にエラー情報生成部２０７が生成するエラー情報変換する際に、どのようなエラー情報に変換すべきか、変換方法を特定するための情報である。図７は、特定された変換方法が具体的にどのような変換でるかを示す変換情報の一例を示す図である。例えば、図７の変換情報７００の１つである、Ｒｅｓｐｏｎｓｅ  ＃Ａ７０１には、「エラー情報＃１をエラー情報＃１Ａに変換する」、「エラー情報＃２をエラー情報＃２Ａに変換する」という旨の情報が示されている。このような情報は、ホストレスポンス情報それぞれ（例えば図７のＲｅｓｐｏｎｓｅ  ＃Ｃ、Ｒｅｓｐｏｎｓｅ  ＃Ｎなど）について設定される。
【００２９】
図６に戻ると、図６のホストレスポンス情報６００では、ホスト識別子＝ＡＡＡＡＡＡＡＡと、変換情報＝Ｒｅｓｐｏｎｓｅ  ＃Ａが対応付けられている。したがって、図６および図７に示す情報に基づくと、例えば、ホスト識別子＝ＡＡＡＡＡＡＡＡで識別されるホスト１１０からの命令に基づく記憶装置１００の処理においてエラーが発生し、センス生成部２０７がエラー情報＃１を生成した場合、変換部２０８によってエラー情報＃１はエラー情報＃１Ａに変換されることとなる。
【００３０】
図６のようにホスト識別子に変換情報を対応させて記憶させる設定や、図７のように変換情報に対応させて具体的な変換方法を規定する設定は、例えば、記憶装置１００を備えたシステムの構築時に、システムの管理者によってからあらかじめ設定されるとしても良い。一方、設定がされない場合には、ホスト識別子に対応付けられるレスポンスが存在しないこととなる（図６では、７０２のように「デフォルト設定」と示している）。
【００３１】
さて、図４のステップＳ４０３の説明に戻ると、設定確認部２０２は識別子に対応するホスト１２０のホストレスポンス情報が設定されているかを判定する。例えば、図６の場合では、ホスト識別子＝ＡＡＡＡＡＡＡＡのホストに対して、ホストレスポンス＝Ｒｅｓｐｏｎｓｅ  ＃Ａが対応付けられている。したがって、設定確認部２０２は、ホスト識別子＝ＡＡＡＡＡＡＡＡのホストに対しては、ホストレスポンスが設定されていると判定する。ホストレスポンスが設定されていると判定した場合、設定確認部２０２はテーブルの有効ビットをｏｎに更新し（Ｓ４０４）、ホスト属性情報を取得する処理を終了する。
【００３２】
一方、ホスト識別子＝ＢＢＢＢＢＢＢＢのホストに対しては、対応付けられたレスポンス情報はなく、デフォルト設定となっている。したがって、設定確認部２０２は、ホスト識別子＝ＢＢＢＢＢＢＢＢのホストに対しては、対応するホストレスポンスが設定されていないと判定する。ホストレスポンスが設定されていないと判定した場合、制御装置１０１は、ホスト１１０のホスト属性情報を取得する処理（ホスト属性情報取得処理）を実行する（Ｓ４０５）。
【００３３】
ここで、ステップＳ４０５のホスト属性情報取得処理の手順を説明する。図８は、ステップＳ４０５のホスト属性情報取得処理の手順を示すフローチャートである。
【００３４】
まず、設定確認部２０２は、ステップＳ４０１で参照したホスト情報のカウンタ値５０４が、所定の値（閾値）より大きいかを判定する（Ｓ８０１）。カウンタ値５０４が閾値より大きいと判定した場合、ホスト属性の取得処理の失敗回数が多く、取得に失敗する可能性が高いため、制御装置１０１は、ホスト属性情報を取得する処理を終了する。なお、このステップを省略し、Ｓ８０２の処理に進むこととしてもよい。
【００３５】
一方、カウンタ値５０４が閾値より小さい場合、アクセス解析部２０３は、ホスト１１０から受信した命令が、磁気ディスクドライブ１０５が有する記憶領域のＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）＃０に対するアクセスかを判定する（Ｓ８０２）。ここでＬＢＡ＃０とは、ホスト１１０がアクセスする磁気ディスクドライブ１０５の記憶領域（ボリューム）の先頭アドレスであり、ホスト１１０が記憶装置１００にパーティションを設定する際に、記憶装置１００は、ＭＢＲ（Ｍａｓｔｅｒ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）などのＯＳ独自の情報をこのアドレスに記憶させる。
【００３６】
ＬＢＡ＃０へのアクセスでない場合には、アクセス解析部２０３は、磁気ディスクドライブ１０５のＬＢＡ＃０（ＭＢＲ）に既に記憶されている、ホスト１１０に対応するパーティションテーブルの情報を読み込み（Ｓ８０４）、ステップ８０６の処理を実行する。ここで、パーティションテーブルは、ホストがアクセスする記憶領域のフォーマットを示す情報として記憶装置の所定の領域に記憶されたものを用いることができる。その所定の領域に、複数のホスト用にそれぞれ異なるパーティションテーブルが記憶されている場合は、アクセス解析部２０３は、例えば、複数のパーティションテーブルのうち、受信した命令に基づいてアクセスする対象の記憶領域に対応するパーティションテーブルの情報を読み込むこととすればよい。
【００３７】
一方、ホスト１１０から受信した命令がＬＢＡ＃０へのアクセスである場合、アクセス解析部２０３は、ホスト１１０から受信した命令がＬＢＡ＃０の情報を書き換える命令であるかと判定する（Ｓ８０３）。ホスト１１０から受信した命令がＬＢＡ＃０の情報を書き換える命令でないと判定した場合、アクセス解析部２０３は、ＬＢＡ＃０（ＭＢＲ）に記憶された、ホスト１１０から受信した命令によってアクセスが発生する記憶領域（パーティション）に対応するパーティションテーブルの情報を読み込み（Ｓ８０４）、データ解析部２０５がステップＳ８０６の処理を実行する。ここでアクセス解析部２０３が読み込むパーティションテーブルの情報は、前述したＬＢＡ＃０へのアクセスでない場合と同様であって良い。
【００３８】
一方、ホスト１１０から受信した命令がＬＢＡ＃０の情報を書き換える命令である場合は、ホスト１１０に対応するＬＢＡ＃０に記憶されている情報は更新されることとなる。したがって、ホスト１１０から受信した命令がＬＢＡ＃０の情報を書き換える命令であると判定した場合、アクセス情報解析部２０３は、（命令による更新後のＬＢＡ＃０の情報）を受信し（Ｓ８０５）、受信した書き換え命令に含まれるデータに基づいて、データ解析部２０５がステップＳ６０６の処理を実行する。ここで、ステップＳ８０５で書き換え命令に含まれるデータを受信した後、命令処理部２０４が、ＬＢＡ＃０に記憶された情報を、受信した書き換え命令に含まれるデータに基づいて書き換えることとしても良い。
【００３９】
ステップＳ８０６では、データ解析部２０５が、ＬＢＡ＃０の情報をもとに、ホストのＯＳ属性を特定（データ解析）可能か判定する。
【００４０】
ここで、本実施例のデータ解析の手法について説明する。図９は、ＭＢＲに記憶される情報の一例を示す図である。図９に示すように、ＭＢＲ９００は、ブートストラップローダ、パーティションテーブル＃１〜＃４、ブートシグニチャ、といった情報を含む。
【００４１】
ブートストラップローダは、パーティションに記憶されたＯＳを起動するための制御の情報が記憶されたものである。また、ブートシグニチャとは、ＭＢＲの有効性を示すマジックナンバーであり、例えば「０ｘＡＡ５５」などの１６進数が記憶される。
【００４２】
パーティションテーブル＃１〜＃４には、各パーティションの情報が記憶されており、例えば、ブートフラグ（ｂｏｏｔ  ｆｌａｇ）、パーティション開始位置、パーティションタイプ識別子、パーティション終了位置、パーティション開始ＬＢＡ、パーティションの総セクタ数などの情報が含まれる。図９は、一例として、パーティションテーブル＃１に記憶される情報９０１の内容を詳細に示している。これらの情報によって、例えば、パーティションの容量や、パーティションにアクセスするホストのファイルシステムが特定される。ここで、ファイルシステムは、記憶装置を制御するホストのＯＳが有する機能であるので、ファイルシステムを特定することができれば、ファイルシステムに対応するホストのＯＳ、すなわちホスト属性も特定することができる。
【００４３】
ブートフラグは、パーティションがブート可能かを示すフラグである。パーティション開始位置は、磁気ディスクドライブにおけるパーティションの開始位置のＣＨＳ（Ｃｙｌｉｎｄｅｒ  Ｈｅａｄ  Ｓｅｃｔｏｒ）アドレスである。パーティションタイプ識別子は、パーティションがどのＯＳ、あるいはファイルシステムを用いて使用されているかを示す情報である。パーティション終了位置は、磁気ディスクドライブにおけるパーティションの終了位置のＣＨＳ（Ｃｙｌｉｎｄｅｒ  Ｈｅａｄ  Ｓｅｃｔｏｒ）アドレスである。開始ＬＢＡは、磁気ディスクドライブにおけるパーティションの開始位置のＬＢＡである。総セクタ数は、パーティションの開始位置から終了位置までのセクタの総数である。
【００４４】
これらの情報の中で、本実施例では、例えば、パーティションタイプ識別子の情報を用いて、ホスト属性情報を取得する。パーティションタイプ識別子は、２桁の１６進数で表され、そのパーティションを使用するファイルシステムを特定する識別子である。一般的に記憶装置は、図１０に示すような、パーティションタイプ識別子からファイルシステムを特定するための情報（以後、パーティションタイプ情報と記載する）を例えばパーティションタイプ情報記憶部２１３に記憶している。図１０に示すように、パーティションタイプ情報１０００は、パーティションタイプ識別子「０７」に対応するファイルシステムは、「Ｗｉｎｄｏｗｓ（登録商標）  ＮＴＦＳ（ＮＴ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）」であること、パーティションタイプ識別子「８２」に対応するファイルシステムは「Ｌｉｎｕｘ（登録商標）  ｅｘｔ３」であることを示している。
【００４５】
設定確認部２０２は、ホスト１１０から受信した命令によってアクセスが発生するパーティションに対応するパーティションテーブルから、パーティションタイプ識別子の情報を取得する。これにより、設定確認部２０２は、取得したパーティションタイプ識別子から、図９に示すような情報に基づいて、そのパーティションにアクセスするホストのファイルシステムが特定できる。そして、ファイルシステムを特定することができれば、前述したように、ファイルシステムに対応するホストのＯＳ、すなわちホスト属性も特定することができる。
【００４６】
従って、図８のステップＳ８０６では、例えば、パーティションタイプ識別子の情報を取得することができたか否かにより、データ解析が可能であるかの判定を行う。
【００４７】
そして、Ｓ８０６でデータ解析が可能と判定した場合、データ解析部２０５は、特定したパーティションタイプ識別子、又は、図１０のパーティションタイプ情報を参照して、その特定したパーティション識別子に対応づけられたファイルシステム情報をホスト１１０のホスト属性情報（ファイルシステム情報）として取得する。そして、取得した情報に基づいて、ホスト情報記憶部２１０に記憶されたホスト情報５００の、ホスト１１０に対応するホスト属性情報５０２を更新する（Ｓ８０７）。ホスト属性情報５０２を更新した後、データ解析部２０５は、ホスト情報５００の、ホスト１１０に対応する有効ビット５０３を「ｏｎ」に更新し（Ｓ８０８）、ホスト属性情報取得処理を終了する。一方、データ解析が不可能と判定した場合、データ解析部２０５は、ホスト情報５００の、ホスト１１０に対応するカウンタ値５０４に１を加算する。この場合、カウンタ値５０４は、ホスト１１０のホスト属性情報の取得に失敗した回数を示す情報となる。例えば、ステップＳ８０１の処理のように、このカウンタ値５０４が所定の値（閾値（例えば１以上の自然数のいずれか））より大きい場合、設定確認部２０２は、ホスト１１０のホスト属性情報は取得できないと判定し、ホスト属性情報取得処理をスキップするようにしても良い。また、ステップＳ８０８において、有効ビットを「ｏｎ」にすると同時に、カウンタ値５０４を初期値（例えば「０」など）にリセットすることとしても良い。
【００４８】
以上の処理により、ホストレスポンス情報が設定されていないホスト１１０に対して、ホスト１１０のホスト属性情報を取得し、ホスト情報記憶部２１０に記憶することができる。
〔異常発生時の処理〕
本実施例のシステムにおいて、ホスト１１０から受信した命令に基づく、記憶装置１００での処理実行中に異常が発生した場合について説明する。図１１は、記憶装置１００での処理実行中に異常が発生した場合に、記憶装置１００が実行する処理を表すフローチャートである。
【００４９】
まず、ホスト１１０からの命令を受信部２０１で受信すると設定確認部２０２は、受信した命令に含まれるホスト識別子を取得する（Ｓ１００１）。
ホスト識別子を取得後、アクセス解析部２０３が、受信した命令を解析して、命令処理部２０４が命令に基づく処理を開始する（Ｓ１００２）。
【００５０】
図１１に示すように、命令処理部２０４は処理開始時に、アクセスするボリュームまたはアドレスに排他処理を実行する（Ｓ１００３）こととしても良い。これにより、処理実行中に、データへの同時アクセスが発生することで生じるデータ破壊などを防ぐことが可能である。
【００５１】
命令に基づく処理を命令処理２０４が実行する間、異常検知部２０６は処理において異常が発生しているかを監視する（Ｓ１００４〜Ｓ１００５）。異常が発生することなく処理が終了した場合、送信部２０９はホスト１１０に対して応答を送信する（Ｓ１００７）。
【００５２】
一方、異常検知部２０６が、命令処理２０４が実行する処理において異常を検知した場合、ステップＳ１００６の応答処理が実行される。
【００５３】
ここで、ステップＳ１００６のセンス応答処理について詳細に説明する。図１２は、ステップＳ１００６の応答処理の詳細な手順を示す。
【００５４】
まず、ステップＳ１００６の際に異常検知部２０６が検知した異常に基づいて、エラー情報生成部２０７が、検知した異常に応じたエラー情報を生成する（Ｓ１１０１）。
【００５５】
エラー情報生成後、設定確認部２０２は、ホストレスポンス情報記憶部２１１に記憶されたホストレスポンス情報６００に、異常を検知した命令に含まれるホスト識別子に対して対応付けられたホストレスポンス情報が記憶されているかを判定する（Ｓ１１０２）。
【００５６】
設定確認部２０２が、対応するホストレスポンス情報が記憶されていると判定した場合、変換部２０８は、設定されたホストレスポンスに従ってステップＳ１１０１でエラー情報生成部２０７が生成したエラー情報を、対応するエラー情報に変換する（Ｓ１１０３）。センスをエラー情報に変換した後、変換部２０８は応答処理を終了する（図１０のステップＳ１００７の処理に進む）。
【００５７】
一方、ステップＳ１１０２で、設定確認部２０２が、対応するホストレスポンス情報が記憶されていないと判定した場合、設定確認部２０２は、ホスト情報記憶部２１０に記憶されたホスト情報５００から、識別子に対応するホスト情報を参照し、ホスト識別子に対応するホスト属性情報が記憶されているかを判定する（Ｓ１１０４）。
【００５８】
設定確認部２０２が、ホスト属性情報が記憶されていると判定した場合、変換部２０８は、記憶されているホスト属性情報に応じて、ステップＳ１１０１でエラー情報生成部２０７が生成したエラー情報を、対応するエラー情報に変換する（Ｓ１１０５）。
【００５９】
この変換処理は、例えば、記憶装置１００を有するシステムの管理者などによって、ホスト属性情報（例えば、パーティションタイプ情報、ファイルシステム情報）毎に予め変換方法を登録・記憶させておくことで容易に行うことができる。すなわち、変換部２０８は、ホスト識別子毎に個別に変換情報を登録せずとも、先に説明した方法（図８のＳ８０７）により特定したホスト属性情報に対応する変換方法を検索することで、当該ホストに適用すべき変換情報を取得することができる。
【００６０】
また、変換方法が不明なホストが存在していても、変換部２０８は、そのホストのＯＳ属性情報を図８のＳ８０７などで示した方法で特定し、図５に示したホスト情報を参照することで、特定したホスト属性情報と同じホスト属性情報に対応する他のホストのホスト識別子を特定し、当該他のホストのホスト識別子に対応する変換情報を図６のホストレスポンス情報を参照して特定することで、どのような変換方法を適用すればよいか判断することができることとなる。
【００６１】
ステップＳ１１０５の処理終了後、変換部２０８は、応答処理を終了する（図１１のステップＳ１００７に進む）。
【００６２】
さて、再び図１１に示す処理の説明に戻ると、ステップＳ１００７において、送信部２０９は、ホストに対しての応答を送信する。例えばこのとき、異常が発生せずに命令に基づく処理が終了した場合は、命令に対する応答、あるいは命令に基づく処理が終了した旨の応答を送信部２０９がホスト１１０に送信する。また、図１２のステップＳ１１０３あるいはステップＳ１１０５で、変換部２０８がエラー情報の変換に成功した場合は、変換後のエラー情報をホスト１１０に送信する。また、変換部２０８がエラー情報を変換できなかった場合は、エラー情報生成部２０７が生成したエラー情報を変換せずにホスト１１０に送信することもできる。
【００６３】
ホストへの応答を送信部２０９が送信した後、ステップＳ１００３で命令処理部２０４が排他処理を実行していたならば排他処理を解除し（Ｓ１００８）、記憶装置１００は、図１０に示す一連の処理を終了する。
【００６４】
最後に、図１１に示す処理について具体例を挙げて説明する。記憶装置１００に対してホスト識別子＝ＡＡＡＡＡＡＡＡのホスト（ホスト１１０ａとする）が命令１２０１を送信し、命令１２０１に基づく処理の実行中に、記憶装置１００のエラー情報生成部２０７がエラー情報＃１を生成したとする。また、記憶装置１００に対してホスト識別子＝ＢＢＢＢＢＢＢＢのホスト（ホスト１１０ｂとする）が命令１２０２を送信し、命令１２０２に基づく処理の実行中に、記憶装置１００のエラー情報生成部２０７がエラー情報＃２を生成したとする。
【００６５】
ここで、図６のホストレスポンス情報６００において、ホスト識別子＝ＡＡＡＡＡＡＡＡには、変換情報としてＲｅｓｐｏｎｓｅ  ＃Ａ７０１が対応付けられている。さらに、Ｒｅｓｐｏｎｓｅ  ＃Ａ７０１には、エラー情報＃１をエラー情報＃１Ａに変換する旨の情報が含まれるので、変換部２０８は、Ｒｅｓｐｏｎｓｅ  ＃Ａ７０１の情報に基づいて、エラー情報＃１をエラー情報＃１Ａに変換する。そして変換部２０８が変換したエラー情報＃１Ａを、送信部２０９がホスト１１０ａに送信する。以上のように、記憶装置１００は、ホスト１１０ａからの命令１２０１の処理において生成したセンス＃１を、エラー情報＃１Ａに変換してホスト１１０ａに送信することができる。
【００６６】
次に、ホスト１１０ｂに対する応答について説明すると、エラー情報＃２が生成されたものの、ホストレスポンス情報に記憶された図６ホストレスポンス情報６００より、ホスト識別子＝ＢＢＢＢＢＢＢＢには、変換情報が対応付けられていない。
【００６７】
ここで、設定確認部２０２は、ホスト情報記憶部２１０に記憶された図５のホスト情報５００から、ホスト識別子＝ＢＢＢＢＢＢＢＢに対応付けられたホスト属性情報に一致するホスト属性情報と対応付けられたホスト識別子を検索する。この例では、ホスト識別子＝ＢＢＢＢＢＢＢＢ、ホスト識別子＝ＣＣＣＣＣＣＣＣに対応付けられているホスト属性情報は、ともに「Ｗｉｎｄｏｗｓ（登録商標）  ＮＴＦＳ」であるため、ホスト識別子＝ＣＣＣＣＣＣＣＣが検索により発見される。
【００６８】
そして、図６のホストレスポンス情報６００において、ホスト識別子＝ＣＣＣＣＣＣＣＣには、センス変換情報としてＲｅｓｐｏｎｓｅ  ＃Ｃ７０３が対応付けられ、Ｒｅｓｐｏｎｓｅ  ＃Ｃ７０３には、センス＃２をエラー情報＃２Ｂに変換する旨の情報が含まれる。
【００６９】
従って、変換部２０８は、ホスト識別子＝ＣＣＣＣＣＣＣＣに対応づけられた変換情報（Ｒｅｓｐｏｎｓｅ  ＃Ｃ７０３の情報）に基づいて、生成されたエラー情報＃２をエラー情報＃２Ｂに変換する。このとき、今後の変換に備えて、設定確認部２０２が、ホスト識別子＝ＢＢＢＢＢＢＢＢとＲｅｓｐｏｎｓｅ  ＃Ｃ７０３とを対応付けるように、ホストレスポンス情報６００を更新し、ホスト情報５００の有効ビットを「ｏｎ」に更新することとしても良い。
【００７０】
そして変換部２０８が変換したエラー情報＃２Ｂを、送信部２０９がホスト１１０ｂに送信する。以上のように、記憶装置１００は、ホスト１１０ｂからの命令１２０２の処理において生成したエラー情報＃２を、エラー情報＃２Ｂに変換してホスト１１０ｂに送信することができる。
【００７１】
このような処理により、本実施例の記憶装置１００は、図１３に示すように、ホスト識別子＝ＡＡＡＡＡＡＡＡで特定されるホスト１１０ａに対して、エラー情報を変換して送信することができる。さらに、変換情報が対応付けられていないホスト識別子＝ＢＢＢＢＢＢＢＢで特定されるホスト１１０ｂに対しても、ホスト属性情報に基づいて、既に記憶しているＯＳ種別毎又は他のホストの変換情報を利用してエラー情報の変換を行って送信することができる。
【００７２】
以上の手順により、ホスト１１０から受信した命令に基づいた処理を実行する。本実施例の手順によれば、処理実行中に異常が発生し、エラー情報生成部２０７が異常に基づくエラー情報を生成した場合、ホストに応じて変換部２０８が変換を行い、ホスト１１０に送信することが可能である。このとき、ホスト１１０に対応するホストレスポンスが設定されてない場合でも、ホスト１１０のホスト属性情報を取得することで、例えばホスト１１０のＯＳの種別に応じて、変換部２０８がエラー情報を変換することが可能となる。したがって、ホストレスポンスの設定されていないホストに対して、変換がなされていないエラー情報そのものが送信されることによる、ホストの誤動作やホストの障害の発生を抑制（減少）させることもできる。
【００７３】
本実施例において説明した記憶装置１００を有するシステムや、各処理の手順は、本発明を実施する態様の一例であり、本発明の思想を逸脱しない範囲で適宜変更することが可能である。
【００７４】
例えば、本実施例においては、ＯＳの情報をＭＢＲから取得したが、ＭＢＲの代わりにＧＰＴ（ＧＵＩＤ  Ｐａｒｔｉｔｉｏｎ  Ｔａｂｌｅ）を有する場合は、ＧＰＴに含まれる情報を参照してホスト属性情報を取得することとしても良い。
【００７５】
また本実施例では、制御装置１０１と、磁気ディスクドライブ１０５とを有する記憶装置１００の態様について記載したが、本発明を実現する態様は、例えば、本実施例における制御装置の機能を有する磁気ディスクドライブで実現されるとしても良い。
【図面の簡単な説明】
【００７６】
【図１】従来技術を説明する図を示す。
【図２】記憶装置１００のブロック図を示す。
【図３】制御装置１０１の機能ブロック図を示す。
【図４】フローチャートを示す。
【図５】〜〜５００を示す。
【図６】本実施例のホストレスポンス情報６００を示す。
【図７】本実施例のホストレスポンス情報６００を示す。
【図８】ホスト属性情報取得処理の手順を示すフローチャートを示す。
【図９】ＭＢＲに記憶される情報の一例を示す。
【図１０】ファイルシステムを特定するための情報の一例を示す。
【図１１】ホスト１１０からの命令に基づいて記憶装置１１０が実行する処理の手順を表すフローチャートを示す。
【図１２】応答処理の手順を示すフローチャートを示す。
【図１３】応答処理の具体例を説明する図を示す。
【符号の説明】
【００７７】
２、１００  記憶装置
１０１  制御装置
１０２  ＣＰＵ
３、１０３  メモリ
１０４  磁気ディスクドライブ側アダプタ
１０５  磁気ディスクドライブ
１０６  ホスト側アダプタ
１、１１０、１１０ａ、１１０ｂ  ホスト
２０１  受信部
２０２  設定確認部
２０３  アクセス解析部
２０４  命令処理部
２０５  データ解析部
２０６  エラー検知部
２０７  エラー情報生成部
２０８  変換部
２０９  送信部
２１０  ホスト情報記憶部
２１１  ホストレスポンス情報記憶部
２１２  変換情報記憶部
２１３  パーティションタイプ情報記憶部
【図１】
2013206001.tif 000003
【図２】
2013206001.tif 000004
【図３】
2013206001.tif 000005
【図４】
2013206001.tif 000006
【図５】
2013206001.tif 000007
【図６】
2013206001.tif 000008
【図７】
2013206001.tif 000009
【図８】
2013206001.tif 000010
【図９】
2013206001.tif 000011
【図１０】
2013206001.tif 000012
【図１１】
2013206001.tif 000013
【図１２】
2013206001.tif 000014
【図１３】
2013206001.tif 000015