(57)【要約】【課題】ＴＰＧＳ非対応マルチパスドライバとＴＰＧＳ非対応マルチパスドライバとが混在している環境下で問題なく使用できるストレージ装置を提供する。【解決手段】ストレージ装置は、ＴＰＧＳ対応マルチパスドライバのみが送信するコマンドを受信したか否かにより、各ホストにＴＰＧＳ対応マルチパスドライバ、ＴＰＧＳ非対応マルチパスドライバのいずれが使用されているかを判断し、ＴＰＧＳ非対応マルチパスドライバが使用されているホスト５０から、スタンバイバスに設定されているパスを介してセンス応答が必要なコマンドが送信されてきた場合（Ｓ３０１；ＹＥＳ、Ｓ３０２；ＹＥＳ、Ｓ３０３；ＮＯ）、スタンバイバス設定を無視して当該コマンドを処理する。【選択図】図７
2014048710.tif 000002
【特許請求の範囲】
【請求項１】
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続されるストレージ装置であって、
複数の論理記憶装置と、
それぞれ、１つ以上のホスト側通信ポートと接続される複数の通信ポートと、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホストに使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶するドライバ種別判定部と、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理するコマンド処理部であって、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理するコマンド処理部と、
を備えることを特徴とするストレージ装置。
【請求項２】
ホスト側通信ポートと通信ポートとの各組み合わせについて、それらの間の通信パスが、アクティブパスであるかスタンドバイパスであるかを示す情報を記憶する構成情報管理テーブルと、
前記構成情報管理テーブルの内容を、ユーザから指示されたものに変更する構成管理部と、
をさらに備え、
前記コマンド処理部は、前記構成管理テーブルを参照して動作する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記構成管理部は、
ユーザにより、或るホスト側通信ポートと或る通信ポートとの間の通信パスをスタンドバイパスとすることが指示された場合、前記構成管理テーブルの内容を変更すると共に、当該通信パスを介した各論理記憶装置に対するＳＣＳＩコマンドの次回の受信時に当該ＳＣＳＩコマンドの送信元に対してマルチパスの再構築を促すためのセンスを返送する構成変更通知処理を開始する
ことを特徴とする請求項２に記載のストレージ装置。
【請求項４】
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続される複数の通信ポートを備えるストレージ装置の制御方法であって、
プロセッサが、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホストに使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶し、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理する際に、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰ
ＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理する
ことを特徴とするストレージ装置の制御方法。
【請求項５】
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続される複数の通信ポートを備えるストレージ装置内のプロセッサにより実行される制御プログラムであって、
当該制御プログラムを実行したプロセッサが、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホストに使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶し、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理する際に、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理する
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置とストレージ装置の制御方法と制御プログラムとに関する。
【背景技術】
【０００２】
ストレージ装置として、何台かのホストとマルチパス接続できるもの（例えば、特許文献１、２参照）が存在している。そして、近年の、そのようなストレージ装置は、通常、各ホストに、ＴＰＧＳ（Target Port Group Support）対応マルチパスドライバをインス
トールして使用するもの（以下、従来装置と表記する）となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１４００６２号公報
【特許文献２】特開２００５−７８５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来装置は、ホストにＴＰＧＳ非対応マルチパスドライバが使用されていると、当該ＴＰＧＳ非対応マルチパスドライバが従来装置の状態を誤認識し、その結果として意図せぬエラーが発生してしまう場合があるものとなっている。
【０００５】
具体的には、従来装置は、ＴＰＧＳの仕様上、スタンバイパスを介してセンスの返送が必要なコマンドを受信した場合に、センス“2(NOT READY)/040B(LOGICAL UNIT NOT ACCESIBLE TARGET PORT IN STANDBY STATE)”を返送するように構成されている。
【０００６】
そして、このセンス“2/040B”を受信したＴＰＧＳ対応マルチパスドライバは、コマンドの送信に用いたパスがスタンバイパスであることを認識して、他パスを利用したコマンドの再送信等を行う。
【０００７】
一方、ＴＰＧＳ非対応マルチパスドライバは、センス“2/040B”の意味を理解できるとは限らないもの（センス“2/040B”受信時の動作が規定されていないもの）となっている。そのため、ＴＰＧＳ非対応マルチパスドライバにより従来装置を利用していると、センス“2/040B”の受信時にＴＰＧＳ非対応マルチパスドライバが従来装置の状態を誤認識してしまい、その結果として意図せぬエラーが発生してしまう場合があった。
【０００８】
開示の技術の課題は、幾つかのホストにＴＰＧＳ非対応マルチパスドライバが使用されていても、各ＴＰＧＳ非対応マルチパスドライバによりストレージ装置の状態が誤認識されないようにすることが出来る技術を提供することにある。
【課題を解決するための手段】
【０００９】
開示の技術の一観点によるストレージ装置は、
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続されるストレージ装置であって、
複数の論理記憶装置と、
それぞれ、１つ以上のホスト側通信ポートと接続される複数の通信ポートと、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホスト
に使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶するドライバ種別判定部と、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理するコマンド処理部であって、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理するコマンド処理部と、
を備える。
【００１０】
開示の技術の一観点によるストレージ装置の制御方法は、
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続される複数の通信ポートを備えるストレージ装置の制御方法であって、
プロセッサが、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホストに使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶し、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理する際に、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理する。
【００１１】
開示の技術の一観点による制御プログラムは、
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続される複数の通信ポートを備えるストレージ装置内のプロセッサにより実行される制御プログラムであって、
当該制御プログラムを実行したプロセッサが、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホストに使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶し、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理する際に、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理する。
【発明の効果】
【００１２】
開示の技術によれば、幾つかのホストにＴＰＧＳ非対応マルチパスドライバが使用されていても、各ＴＰＧＳ非対応マルチパスドライバによりストレージ装置の状態が誤認識されないようにすることが出来る。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係るストレージ装置の構成及び使用形態の説明図
【図２】実施形態に係るストレージ装置が備えるＣＭの構成図
【図３】実施形態に係るストレージ装置が備えるＣＭの機能ブロック図
【図４】ドライバ種別判定部が実行するドライバ種別判定処理の流れ図
【図５】イニシエータ管理テーブルの説明図
【図６】コマンド処理部が実行するパス状態変更時処理の流れ図
【図７】コマンド処理部が実行するコマンド応答処理の流れ図
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００１５】
まず、図１及び図２を用いて、本実施形態に係るストレージ装置１０の構成及び使用形態を説明する。
【００１６】
本実施形態に係るストレージ装置１０（図１）は、ＴＰＧＳ（Target Port Group Support）対応マルチパスドライバ又はＴＰＧＳ非対応マルチパスドライバを備えた複数のホ
スト５０とマルチパス接続されることを想定して開発した装置である。
【００１７】
図１に示してあるように、ストレージ装置１０は、２つの制御モジュール１２（以下、ＣＭ（Controller Module)１２と表記する）、及び、ディスク部１５を備える。
【００１８】
ディスク部１５は、複数のハードディスクドライブを含むユニットである。ＣＭ１２は、ディスク部１５を複数の論理記憶装置（いわゆる論理ユニット）として機能させるユニット（モジュール）である。
【００１９】
図２に示してあるように、ＣＭ１２は、２つのＣＡ（Communication Adapter）２１、
ＣＰＵ（Central Processing Unit）２２、記憶部２３及びＩＯ（Input-Output）コント
ローラ２４を備えている。
【００２０】
ＣＭ１２が備える各ＣＡ２１は、ホスト５０との間で、ファイバチャネル、ｉＳＣＳＩ（Internet Small Computer System Interface）等により通信を行うためのユニットである。各ＣＡ２１は、幾つかのＨＢＡ（Host Bus Adapter）５１とスイッチ５５を介して接続される複数のポート（通信ポート；図１参照）を備えている。
【００２１】
記憶部２３（図２）は、ＲＡＭ（Random Access Memory）、ＣＰＵ２２が実行する制御プログラム（ファームウェア）を記憶したフラッシュＲＯＭ（Read Only Memory）等を含むユニットである。ＩＯコントローラ２４は、ディスク部１５（ディスク部１５内の各ハードディスクドライブ）との間の入出力制御を行うユニットである。ＣＰＵ２２は、制御プログラムに従ってＣＭ１２内の各部を統合的に制御するユニットである。
【００２２】
次に、ストレージ装置１０の動作／機能を説明する。
【００２３】
図３に、ストレージ装置１０が備えるＣＭ１２の機能ブロック図を示す。この図３に示してあるように、制御プログラムに従って動作しているＣＰＵ２２は、構成管理部２２ａ、ドライバ種別判定部２２ｂ及びコマンド処理部２２ｃとして機能する。
【００２４】
ドライバ種別判定部２２ｂは、全ＣＭ１２内のいずれかのポートによりＳＣＳＩコマンド（カプセル化されたもの）が受信される度に、図４に示した手順のドライバ種別判定処理を実行するユニット（機能ブロック）である。
【００２５】
すなわち、或るＳＣＳＩコマンド（以下、受信コマンドと表記する）を或るポート（以下、受信ポートと表記する）が受信した場合、ドライバ種別判定部２２ｂは、受信コマンドがＲＴＰＧコマンドであるか否かを判断する（ステップＳ１０１）。尚、ＲＴＰＧ（Report Target Port Groups）コマンドの詳細説明は省略するが、このＲＴＰＧコマンドを
送信するのは、ＴＰＧＳ対応マルチパスドライバだけである。
【００２６】
受信コマンドがＲＴＰＧコマンドではなかった場合（ステップＳ１０１；ＮＯ）、ドライバ種別判定部２２ｂは、特に処理を行うことなく、このドライバ種別判定処理（図４の処理）を終了する。
【００２７】
一方、受信コマンドがＲＴＰＧコマンドであった場合（ステップＳ１０１；ＹＥＳ）、ドライバ種別判定部２２ｂは、受信ポート用のイニシエータ管理テーブル３０に、受信コマンドの送信元イニシエータがＲＴＰＧ発行イニシエータである旨を記憶する（ステップＳ１０２）。
【００２８】
ここで、イニシエータ管理テーブル３０とは、ポート別に記憶部２３内に用意されている（図３参照）、図５に示した構成を有するテーブルのことである。
【００２９】
すなわち、イニシエータ管理テーブル３０は、自テーブル内の各レコードのIndexが設
定されるIndexフィールドと、受信コマンドの送信元ＨＢＡ５１の識別子（World Wide Name等）が設定される識別子フィールドとを有している。また、イニシエータ管理テーブル３０は、同レコード内の識別子で識別されるＨＢＡ５１の内部管理番号が設定される内部管理番号フィールドを有している。さらに、イニシエータ管理テーブル３０は、受信コマンドの送信元ＨＢＡ５１がＲＴＰＧ発行イニシエータであることを示す情報（"RTPG発行Initiater"）を設定可能なThread域フィールドを有している。
【００３０】
このイニシエータ管理テーブル３０は、或るイニシエータ（ＨＢＡ５１）がログインしてきた際に、そのイニシエータに関するレコードが追加され、或るイニシエータがログアウトした際に、そのイニシエータに関するレコードが削除されるテーブルとなっている。すなわち、ステップＳ１０２の処理実行時、受信ポート用のイニシエータ管理テーブル３０内には、受信コマンドの送信元ＨＢＡ５１に関するレコードが既に存在している。そのため、ステップＳ１０２では、当該レコード中のThread域フィールドに、受信コマンドの送信元ＨＢＡ５１がＲＴＰＧ発行イニシエータであることを示す情報（"RTPG発行Initiater"）を設定する処理のみが行われる。
【００３１】
ステップＳ１０２の処理（図４）を終えたドライバ種別判定部２２ｂは、このドライバ種別判定処理を終了する。
【００３２】
構成管理部２２ａ（図３）は、基本的には、ホスト５０に対する操作を通じてユーザから或る構成管理テーブル２８の内容の変更指示を受け付け、受け付けた指示に従ってその構成管理テーブル２８の内容を変更するユニット（機能ブロック）である。
【００３３】
ここで、構成管理テーブル２８とは、記憶部２３内にポート別に用意されているテーブルのことである。構成管理テーブル２８は、対応するポート（以下、対応ポート）に接続されている各ＨＢＡ５１の識別情報や、各ＨＢＡ５１との間のパスがスタンバイパスであ
るかアクティブパスであるかを示す情報を記憶できる構成を有している。
【００３４】
構成管理部２２ａは、ユーザから、或るポートと或るＨＢＡ５１間のアクティブパスをスタンバイパスに変更することを指示された場合、そのポート用の構成管理テーブル２８の内容を指示に従って変更する。さらに、構成管理部２２ａは、コマンド処理部２２ｃに対して、パス状態変更時処理の開始を指示する処理も行う。
【００３５】
構成管理部２２ａからの指示によりコマンド処理部２２ｃが開始するパス状態変更時処理は、図６に示した手順の処理である。説明の便宜上、このパス状態変更時処理の内容を説明する前に、コマンド処理部２２ｃの通常時の動作を説明しておくことにする。
【００３６】
コマンド処理部２２ｃは、通常は、ドライバ種別判定処理（図４）後の各ＳＣＳＩコマンドに対して、図７に示した手順をコマンド応答処理を行っている。
【００３７】
すなわち、或るＳＣＳＩコマンド（以下、処理対象コマンドと表記する）の処理時、コマンド処理部２２ｃは、まず、処理対象コマンドが、センスを応答する必要がある場合があるセンス応答対象コマンドであるか否かを判断する（ステップＳ３０１）。
【００３８】
処理対象コマンドがセンス応答対象コマンドでなかった場合（ステップＳ３０１；ＮＯ）、コマンド処理部２２ｃは、コマンド処理を実施する（ステップＳ３０４）。尚、“コマンド処理を実施する”とは、“処理対象コマンドが要求している内容の処理（ステップＳ３０１後に実行されるステップＳ３０４では、inquiryコマンドに応答する処理等）を
行う”ということである。
【００３９】
そして、ステップＳ３０４の処理を終えたコマンド処理部２２ｃは、このコマンド応答処理（図７の処理）を終了して、次のＳＣＳＩコマンドが既に受信されていた場合には、そのＳＣＳＩコマンドに対するコマンド応答処理を開始する。
【００４０】
一方、処理対象コマンドがセンス応答対象コマンドであった場合（ステップＳ３０１；ＹＥＳ）、コマンド処理部２２ｃは、処理対象コマンドの伝送パス（処理対象コマンドの伝送に使用されたパス）がスタンバイパスであるか否かを判断する（ステップＳ３０２）。より具体的には、コマンド処理部２２ｃは、処理対象コマンドを受信したポート（以下、受信ポートと表記する）用の構成管理テーブル２８に、処理対象コマンドの送信元イニシエータ（送信元ＨＢＡ５１）との間のパスがスタンバイパスであることを示す情報が記憶されているか否かを判断する。
【００４１】
処理対象コマンドの伝送パスがスタンバイパスではなかった場合（ステップＳ３０２；ＮＯ）、コマンド処理部２２ｃは、コマンド処理を実施（ステップＳ３０４）してから、このコマンド応答処理を終了する。尚、ステップＳ３０２後に実行されるステップＳ３０４では、例えば、ＩＯコントローラ２４を介してディスク部１５内のハードディスクドライブを制御する処理が行われる。
【００４２】
一方、処理対象コマンドの伝送パスがスタンバイパスであった場合（ステップＳ３０２；ＹＥＳ）、コマンド処理部２２ｃは、受信ポート用のイニシエータ管理テーブル３０（図５）を参照する。そして、コマンド処理部２２ｃは、当該イニシエータ管理テーブル３０上の情報に基づき、処理対象コマンドの送信元イニシエータがＲＴＰＧ発行イニシエータであるか否かを判断する（ステップＳ３０３）。
【００４３】
コマンド処理部２２ｃは、送信元イニシエータがＲＴＰＧ発行イニシエータであった場合（ステップＳ３０３；ＹＥＳ）には、センス“2/040B”を送信元イニシエータに返送（
ステップＳ３０５）してから、このコマンド応答処理を終了する。
【００４４】
一方、送信元イニシエータがＲＴＰＧ発行イニシエータでなかった場合（ステップＳ３０３；ＮＯ）、コマンド処理部２２ｃは、コマンド処理を実施する（ステップＳ３０４）。すなわち、この場合、コマンド処理部２２ｃは、伝送パスがスタンバイパスに設定されていることを無視して、コマンド処理を実施してしまう。
【００４５】
そして、ステップＳ３０４の処理を終えたコマンド処理部２２ｃは、このコマンド応答処理を終了する。
【００４６】
要するに、センスの返送が必要なコマンドをスタンバイパス経由で受信した際、そのコマンドの送信元ドライバがＴＰＧＳ対応マルチパスドライバである場合には、センス“2(NOT READY)/040B(LOGICAL UNIT NOT ACCESIBLE TARGET PORT IN STANDBY STATE)”を返送すべきである。ただし、ＴＰＧＳ非対応マルチパスドライバが、センス“2/040B”をどのような意味の情報として解釈するかは、ベンダーによって異なる。従って、コマンドの送信元ドライバがＴＰＧＳ非対応マルチパスドライバである場合にセンス“2/040B”を返送してしまうと、意図せぬエラーを発生させてしまう場合があることになる。
【００４７】
一方、スタンバイパス設定を無視してコマンド処理を実施するようにしておけば、センス“2/040B”がＴＰＧＳ非対応マルチパスドライバに対して送信されなくなる結果として、意図せぬエラーを発生させないことが出来る。そのため、上記手順のドライバ種別判定処理及びコマンド応答処理が行われるように、ストレージ装置１０（ＣＭ１２）を構成しているのである。
【００４８】
図６に戻って、パス状態変更時処理の内容を説明する。
【００４９】
既に説明したように、このパス状態変更時処理は、構成管理部２２ａが、ユーザから或るポートと或るＨＢＡ５１間のパス（アクティブパス）をスタンバイパスに変更することを指示された際に、コマンド処理部２２ｃに開始させる処理である。
【００５０】
図６に示してあるように、パス状態変更時処理を開始したコマンド処理部２２ｃは、まず、Suspend処理（ステップＳ２０１）を行う。
【００５１】
このSuspend処理は、受信済みの各ＳＣＳＩコマンドの処理を完了させて、今回、スタ
ンバイパスに変更されたパス（以下、状態変更パスと表記する）が関係するＳＣＳＩコマンドを受け付けないように、ＣＡ２１を制御する処理である。
【００５２】
Suspend処理を終えたコマンド処理部２２ｃは、センス登録処理（ステップＳ２０２）
を行う。このセンス登録処理は、状態変更パスを介してアクセスされる各論理記憶装置に対する次回のＳＣＳＩコマンドの受信時に、センス“6/2A06”を返送することを登録（記憶）する処理である。尚、センス“6(UNIT ATTENTION)/2A06(AYSYMNETRIC ACCSESS STATE
CHANGE)”とは、マルチパスの再構築を促すためのセンスのことである。このセンスを受信したＴＰＧＳ対応／非対応マルチパスドライバは、ＳＡＮ（ストレージエリアネットワーク；ストレージ装置１０と複数台のホスト５０等からなるネットワーク）から一旦ログアウトした後、ＳＡＮに再ログインする。
【００５３】
センス登録処理を終えたコマンド処理部２２ｃは、ＣＡ２１の状態を通常の状態（状態変更パスが関係するＳＣＳＩコマンドも受け付ける状態）に戻すResume処理（ステップＳ２０３）を行う。
【００５４】
Resume処理を終えたコマンド処理部２２ｃは、センス登録処理による登録内容に従って各論理記憶装置にセンス“6/2A06”を送信するセンス送信処理（ステップＳ２０４）を開始する。尚、Resume処理を終えたコマンド処理部２２ｃは、ドライバ種別判定処理後の各ＳＣＳＩコマンドに対してコマンド応答処理（図７）を行う状態に戻る。すなわち、Resume処理を終えたコマンド処理部２２ｃは、状態変更パスを介した各論理記憶装置への次回（初回）のＳＣＳＩコマンドに対しては、センス“6/2A06”の返送により応答し、他の各ＳＣＳＩコマンドに対しては、コマンド応答処理を行う状態で動作する。
【００５５】
そして、センス送信処理を終えたコマンド処理部２２ｃは、このパス状態変更時処理を終了する。
【００５６】
以上、説明したように、本実施形態に係るストレージ装置１０は、ＴＰＧＳ対応マルチパスドライバのみが送信するコマンドを受信したか否かにより、各ホスト５０にＴＰＧＳ対応マルチパスドライバ、ＴＰＧＳ非対応マルチパスドライバのいずれが使用されているかを判断する。そして、ストレージ装置１０は、ＴＰＧＳ非対応マルチパスドライバが使用されているホスト５０から、スタンバイバスに設定されているパスを介してコマンドが送信されてきた場合、スタンバイバス設定を無視した形で当該コマンドを処理する。従って、ストレージ装置１０を用いておけば、センス“2/040B”が送信されることにより、ＴＰＧＳ非対応マルチパスドライバによりストレージ装置１０の状態が誤認識されることがないＳＡＮを構築できることになる。
【００５７】
また、ストレージ装置１０は、ＨＢＡ５１とポートとの組み合わせ（いわゆるI_T Nexus）毎に、バス状態の設定（バスをアクティブパスとするかスタンバイパスとするかにつ
いての設定）を行える構成を有している。
【００５８】
一方、現存するストレージ装置は、ＨＢＡとポートと仮想記憶装置との組み合わせ（I_T_L Nexus）毎に、バス状態の設定を行わなければならない装置となっている。そして、I_T_L Nexus毎にバス状態の設定を行わなければならない場合、一部のパスについてパス状態を変更し忘れるといったことが生じ得る。従って、本実施形態に係るストレージ装置１０は、既存のストレージ装置よりもパス状態の設定ミスが生じ難い装置となっていると言うことも出来る。
【００５９】
《変形形態》
上記したストレージ装置１０は、各種の変形を行えるものである。例えば、ストレージ装置１０を、上記した複数の構成管理テーブル２８（それぞれ、特定のポートに関する情報を記憶した複数の構成管理テーブル２８）の代わりに、全ポートに関する情報を記憶したテーブルが用いられた装置に変形することが出来る。また、ストレージ装置１０を、上記した複数のイニシエータ管理テーブル３０の代わりに、全ポートに関する情報を記憶したテーブルが用いられた装置に変形することも出来る。
【００６０】
さらに、ストレージ装置１０を、ＨＢＡ５１とポートと仮想記憶装置との組み合わせ（I_T_L Nexus）毎に、バス状態の設定を行わなければならない装置に変形することも出来
る。ただし、上記したように、ＨＢＡ５１とポートの組み合わせ（I_T Nexus）毎に、バ
ス状態の設定を行えるようにしておいた方が、パス状態の設定ミスが生じにくくなる。従って、上記した実施形態の構成を採用しておくことが好ましい。
【００６１】
ストレージ装置１０を、ＣＭ１２の数、ＣＭ１２内のＣＡ２１の数等が上記したものとは異なる装置や、ＣＰＵ２２が行う上記した処理の一部をＣＡ２１が行う装置等に、変形しても良いことは当然のことである。
【００６２】
以上、開示した技術に関し、さらに以下の付記を開示する。
【００６３】
（付記１）
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続されるストレージ装置であって、
複数の論理記憶装置と、
それぞれ、１つ以上のホスト側通信ポートと接続される複数の通信ポートと、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホストに使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶するドライバ種別判定部と、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理するコマンド処理部であって、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理するコマンド処理部と、
を備えることを特徴とするストレージ装置。
【００６４】
（付記２）
ホスト側通信ポートと通信ポートとの各組み合わせについて、それらの間の通信パスが、アクティブパスであるかスタンドバイパスであるかを示す情報を記憶する構成情報管理テーブルと、
前記構成情報管理テーブルの内容を、ユーザから指示されたものに変更する構成管理部と、
をさらに備え、
前記コマンド処理部は、前記構成管理テーブルを参照して動作する
ことを特徴とする付記１に記載のストレージ装置。
【００６５】
（付記３）
構成管理部は、
ユーザにより、或るホスト側通信ポートと或る通信ポートとの間の通信パスをスタンドバイパスとすることが指示された場合、前記構成管理テーブルの内容を変更すると共に、当該通信パスを介した各論理記憶装置に対するＳＣＳＩコマンドの次回の受信時に当該ＳＣＳＩコマンドの送信元に対してマルチパスの再構築を促すためのセンスを返送する構成変更通知処理を開始する
ことを特徴とする付記２に記載のストレージ装置。
【００６６】
（付記４）
前記所定のＳＣＳＩコマンドが、ＲＴＰＧ（REPORT TARGET PORT GROUPS）コマンドで
ある
ことを特徴とする付記１から３のいずれか一項に記載のストレージ装置。
【００６７】
（付記５）
前記構成変更通知処理により返送される前記センスが、“6/2A06”である
ことを特徴とする付記３に記載のストレージ装置。
【００６８】
（付記６）
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続される複数の通信ポートを備えるストレージ装置の制御方法であって、
プロセッサが、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホストに使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶し、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理する際に、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理する
ことを特徴とするストレージ装置の制御方法。
【００６９】
（付記７）
複数のホスト側通信ポートを有し、マルチパスドライバが使用されている複数のホストとマルチパス接続される複数の通信ポートを備えるストレージ装置内のプロセッサにより実行される制御プログラムであって、
当該制御プログラムを実行したプロセッサが、
前記複数の通信ポートのいずれかにより、ＴＰＧＳ（Target Port Group Support）対
応マルチパスドライバは送信するがＴＰＧＳ非対応マルチパスドライバは送信しない所定のＳＣＳＩコマンドが受信された場合に、当該所定のＳＣＳＩコマンドを送信したホストに使用されているマルチパスドライバがＴＰＧＳ対応マルチパスドライバであることを示す情報を記憶装置に記憶し、
前記複数の通信ポートにより受信された各ＳＣＳＩコマンドを処理する際に、ユーザによりスタンドバイパスに設定されている通信パスを介して受信されたＳＣＳＩコマンドについては、前記記憶装置を参照することにより、当該ＳＣＳＩコマンドを送信したホストにＴＰＧＳ対応マルチパスドライバが使用されているか否かを判断し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されている場合には、当該通信パスがスタンドバイパスであることを示すセンスを当該ホストに返送し、当該ホストにＴＰＧＳ対応マルチパスドライバが使用されていない場合には、前記通信パスがスタンドバイパスではないとして、当該ＳＣＳＩコマンドを処理する
ことを特徴とする制御プログラム。
【符号の説明】
【００７０】
１０    ストレージ装置
１２    制御モジュール
１５    ディスク部
２１    ＣＡ
２２    ＣＰＵ
２２ａ    構成管理部
２２ｂ    ドライバ種別判定部
２２ｃ    コマンド処理部
２３    記憶部
２４    ＩＯコントローラ
２８    構成管理テーブル
３０    イニシエータ管理テーブル
５０    ホスト
５１    ＨＢＡ
５５    スイッチ
【図１】
2014048710.tif 000003
【図２】
2014048710.tif 000004
【図３】
2014048710.tif 000005
【図４】
2014048710.tif 000006
【図５】
2014048710.tif 000007
【図６】
2014048710.tif 000008
【図７】
2014048710.tif 000009