(57)【特許請求の範囲】
【請求項１】
推奨度に基づいてパスを選択するパス選択機能を有する上位装置との間で複数のパスを介して接続されるストレージ装置であって、
予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう第１制御装置と、
予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう第２制御装置と、
前記第１制御装置に含まれ、前記上位装置と第１パスを介して接続される第１送受信部と、
前記第２制御装置に含まれ、前記上位装置と第２パスを介して接続される第２送受信部と、
前記第１送受信部の制御に用いられる第１ファームウェアを更新するとき、前記第１送受信部と前記第２送受信部とが同じ論理記憶装置に対するアクセスを受け付け可能であって、前記第１パスの推奨度が前記第２パスの推奨度以上に設定されている場合、前記第１パスの推奨度を前記第２パスの推奨度よりも低い推奨度に設定し、前記第１パスにデータが流れていないとき、前記第１送受信部に前記第１ファームウェアを更新させる制御を行なう管理制御部と、
を備え、
前記第１送受信部は、
前記第１ファームウェアを更新するとき、前記パスの状態が変更されたことを示す変更通知を前記上位装置に送信し、
前記上位装置から前記変更通知に応じて送信されるパスの状態の取得要求を受信すると、変更後の前記第１パスの推奨度を前記上位装置に送信し、
前記第２送受信部は、
前記第１ファームウェアを更新するとき、前記変更通知を前記上位装置に送信し、
前記上位装置から前記取得要求を受信すると、変更後の前記第２パスの推奨度を前記上位装置に送信し、
前記第１送受信部及び前記第２送受信部のどちらかが前記変更通知を送信したあと一定時間前記第１送受信部及び前記第２送受信部の前記どちらかが前記取得要求を受信しない場合には、前記管理制御部は、前記第１送受信部に前記第１ファームウェアを更新させる前記制御を行わない
ことを特徴とするストレージ装置。
【請求項２】
前記第１送受信部、および前記第２送受信部は、
前記パスの推奨度が変更されると、前記上位装置からデータを受信したとき、前記変更通知を前記上位装置に送信する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記ストレージ装置は、さらに、
前記第１送受信部からアクセス可能な論理記憶装置に関する割当情報と、前記第２送受信部からアクセス可能な論理記憶装置に関する割当情報を記憶する記憶部を備え、
前記管理制御部は、
前記割当情報に基づいて、前記第１送受信部と前記第２送受信部とが同じ論理記憶装置に対するアクセスを受け付け可能であるかを判定する
ことを特徴とする請求項１または２に記載のストレージ装置。
【請求項４】
前記第１制御装置は、さらに、
前記上位装置と第３パスを介して接続される第３送受信部を備え、
前記第２制御装置は、さらに、
前記上位装置と第４パスを介して接続される第４送受信部を備え、
前記管理制御部は、
前記第１ファームウェアを更新するとき、前記１または複数の論理記憶装置に対するアクセスについて、前記第１送受信部および前記第３送受信部のいずれか１以上と、かつ前記第２送受信部および前記第４送受信部のいずれか１以上とに割り当てられ、前記第１パスおよび前記第３パスの推奨度が前記第２パスおよび第４パスの推奨度以上に設定されている場合、前記第１パスおよび前記第３パスの推奨度を前記第２パスおよび第４パスの推奨度よりも低い推奨度に設定する制御をする
ことを特徴とする請求項１〜３のいずれか一つに記載のストレージ装置。
【請求項５】
前記管理制御部は、さらに、
前記第１送受信部が前記第１ファームウェアを更新したあと、前記第２パスの推奨度を前記第１パスの推奨度よりも低い推奨度に設定し、前記第２パスにデータが流れていないとき、前記第２送受信部に前記第２送受信部の制御に用いられる第２ファームウェアを更新させる制御をする
ことを特徴とする請求項１〜４のいずれか一つに記載のストレージ装置。
【請求項６】
推奨度に基づいてパスを選択するパス選択機能を有する上位装置との間で複数のパスを介して接続されるストレージ装置のコンピュータによって実行されるファームウェアの更新方法であって、
前記コンピュータは、
予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう第１制御装置に含まれ、前記上位装置と第１パスを介して接続される第１送受信部の制御に用いられる第１ファームウェアを更新するとき、前記第１送受信部と、予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう第２制御装置に含まれ、前記上位装置と第２パスを介して接続される第２送受信部が同じ論理記憶装置に対するアクセスを受け付け可能であって、前記第１パスの推奨度が前記第２パスの推奨度以上に設定されている場合、前記第１パスの推奨度を前記第２パスの推奨度よりも低い推奨度に設定し、前記第１パスにデータが流れていないとき、前記第１送受信部に前記第１ファームウェアを更新させる制御を行ない、
前記第１送受信部は、
前記第１ファームウェアを更新するとき、前記パスの状態が変更されたことを示す変更通知を前記上位装置に送信し、
前記上位装置から前記変更通知に応じて送信されるパスの状態の取得要求を受信すると、変更後の前記第１パスの推奨度を前記上位装置に送信し、
前記第２送受信部は、
前記第１ファームウェアを更新するとき、前記変更通知を前記上位装置に送信し、
前記上位装置から前記取得要求を受信すると、変更後の前記第２パスの推奨度を前記上位装置に送信し、
前記第１送受信部及び前記第２送受信部のどちらかが前記変更通知を送信したあと一定時間前記第１送受信部及び前記第２送受信部の前記どちらかが前記取得要求を受信しない場合には、前記コンピュータは、前記第１送受信部に前記第１ファームウェアを更新させる前記制御を行わない
ことを実行するファームウェアの更新方法。
【請求項７】
推奨度に基づいてパスを選択するパス選択機能を有する上位装置との間で複数のパスを介して接続されるストレージ装置のコンピュータによって実行されるファームウェアの更新プログラムであって、
予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう第１制御装置に含まれ、前記上位装置と第１パスを介して接続される第１送受信部の制御に用いられる第１ファームウェアを更新するとき、前記第１送受信部と、予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう第２制御装置に含まれ、前記上位装置と第２パスを介して接続される第２送受信部が同じ論理記憶装置に対するアクセスを受け付け可能であって、前記第１パスの推奨度が前記第２パスの推奨度以上に設定されている場合、前記第１パスの推奨度を前記第２パスの推奨度よりも低い推奨度に設定し、前記第１パスにデータが流れていないとき、前記第１送受信部に前記第１ファームウェアを更新させる制御を行なう
処理を前記コンピュータに実行させ、
前記第１送受信部は、
前記第１ファームウェアを更新するとき、前記パスの状態が変更されたことを示す変更通知を前記上位装置に送信し、
前記上位装置から前記変更通知に応じて送信されるパスの状態の取得要求を受信すると、変更後の前記第１パスの推奨度を前記上位装置に送信し、
前記第２送受信部は、
前記第１ファームウェアを更新するとき、前記変更通知を前記上位装置に送信し、
前記上位装置から前記取得要求を受信すると、変更後の前記第２パスの推奨度を前記上位装置に送信し、
前記第１送受信部及び前記第２送受信部のどちらかが前記変更通知を送信したあと一定時間前記第１送受信部及び前記第２送受信部の前記どちらかが前記取得要求を受信しない場合には、前記コンピュータに、前記処理における前記第１送受信部に前記第１ファームウェアを更新させる前記制御を行なわせない
ことを特徴とするファームウェアの更新プログラム。
【請求項８】
推奨度に基づいてパスを選択するパス選択機能を有する上位装置との間で複数のパスを介して接続されるストレージ装置であって、
予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう第１制御装置と、
予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう第２制御装置と、
前記第１制御装置に含まれ、前記上位装置と第１パスを介して接続される第１送受信部と、
前記第２制御装置に含まれ、前記上位装置と第２パスを介して接続される第２送受信部と、
前記第１送受信部の制御に用いられる第１ファームウェアを更新するとき、前記第１送受信部と前記第２送受信部とが同じ論理記憶装置に対するアクセスを受け付け可能であって、前記第１パスの推奨度が前記第２パスの推奨度以上に設定されている場合、前記第１パスの推奨度を前記第２パスの推奨度よりも低い推奨度に設定し、前記第１パスにデータが流れていないとき、前記第１送受信部に前記第１ファームウェアを更新させる制御を行なう管理制御部と、
前記第１送受信部からアクセス可能な論理記憶装置に関する割当情報と、前記第２送受信部からアクセス可能な論理記憶装置に関する割当情報を記憶する記憶部と、
を備え、
前記管理制御部は、前記割当情報に基づいて、前記第１送受信部と前記第２送受信部とが同じ論理記憶装置に対するアクセスを受け付け可能であるかを判定し、同じ論理記憶装置に対するアクセスを受け付け可能ではないと判定した場合には、前記第１送受信部に前記第１ファームウェアを更新させる前記制御は行わない
ことを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ装置のファームウェアを更新する技術に関する。
【背景技術】
【０００２】
複数のモジュールを含み、ホストと接続されるストレージ装置がある。各モジュールは、プロセッサを含み、それぞれが独立したファームウェアを実行することにより動作する。各モジュールには、現在実行されているファームウェアを記憶する稼動面の記憶領域と、更新用のファームウェアを記憶する非稼動面の記憶領域とが割り当てられている。ストレージ装置は、例えば、ＣＡ、ＣＰＵ、ＩＯＣ、およびＥＸＰなどのモジュールを含んでいる。ＣＡとは、Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒの略である。ＣＰＵとは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。ＩＯＣとは、ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｃｏｎｔｒｏｌｌｅｒの略である。ＥＸＰとは、Ｅｘｐａｎｄｅｒの略である。以下の説明では、ファームウェアのことを、単にファームとも言う。現在実行されているファームのことは、現ファームとも言う。更新用のファームのことは、新ファームとも言う。
【０００３】
管理者は、各モジュールのファームを更新するとき、ファームを更新するモジュールに割り当てられた非稼動面の記憶領域に、更新後にモジュールを動作させる新ファームを記憶させる。そして、管理者は、非稼動面の記憶領域に新ファームを記憶させたモジュールをリブートさせる。ストレージ装置では、リブート時に、稼動面の記憶領域と非稼動面の記憶領域とを切替えてモジュールを起動させる処理が実行される。これにより、ストレージ装置では、リブート後に新ファームでモジュールを動作させる。以下の説明では、リブート後に新たなファームでモジュールを動作させる処理のことを、モジュールのファームを更新する制御とも言う。
【０００４】
また、ストレージ装置では、ストレージシステムを停止することなく、ストレージ装置に含まれる各モジュールのファームを更新するため、例えば、ＣＡ内部でデータを一時的に記憶し、ＩＡを高速リブートする処理などが行なわれている。以下の説明では、ストレージシステムを停止することなく、ストレージ装置で用いられる各モジュールのファームを更新することを、活性交換とも言う。
【０００５】
関連する他の技術として、ソフトウェア更新装置は、モジュールの負荷の予測値を時刻に対応付けた負荷推移データを記憶する負荷記憶手段と、前記モジュールを制御するソフトウェアに対する更新データとを含む。また、ソフトウェア更新装置は、ソフトウェアに更新データを適用するための所要時間を、対応付けて記憶するパッチ記憶手段を含む。さらに、ソフトウェア更新装置は、パッチ記憶手段から読み出した所要時間以上継続して、負荷の合計値が閾値を下回る時間帯を、負荷推移データから抽出し、抽出した時間帯にソフトウェアの更新の実行予定を割り当てるアップデート見積もり手段を含む。そして、ソフトウェア更新装置は、実行予定に基づき、ソフトウェアの更新の対象となるモジュールにサービスの提供を停止させ、ソフトウェアの更新を実行するアップデート実行する技術が知られている。
【０００６】
また、ホストコンピュータの第１パスアダプタと第２パスアダプタとが、それぞれ第１接続パスと第２接続パスとを介してストレージ装置の第１クラスタと第２クラスタの入出力ポートに接続される。ホストコンピュータには、交替パスソフトが設けられると共に、接続パスの接続先を示すデータベースが設けられる。ストレージ装置では、入出力ポートが多数のハードディスクドライブ装置群に接続される。このストレージ装置には、内部管理装置と、各入出力ポートの接続先を示すデータベースとが設けられる。さらに、管理サーバ装置は、ＬＡＮを介してホストコンピュータとストレージ装置に接続され、この管理サーバ装置にプログラム交換プログラムと交換に供するマイクロプログラムが設けられる。そして、コンピュータ装置から、プログラムの起動の指示等を行なう技術が知られている。
【０００７】
さらに、ホスト装置と、ホスト装置との複数の接続パスに対応する複数のファームウェアを備えるストレージ装置とを有するストレージシステムがある。ホスト装置は、ストレージ装置との接続パスの正常、異常の状態情報を通知する状態情報通知手段を有する。ストレージ装置は、ホスト装置から接続パスに対応する状態情報通知を受信する受信手段と、受信した状態情報通知から取得した状態情報を格納する管理テーブルと、更新ファームウェアおよびファームウェアの交換要求を受信する要求受信手段とを有する。さらに、ストレージ装置は、交換要求を受信すると管理テーブルに基づいて接続パスがすべて正常の場合には接続パスに対応するファームウェアを順次、活性交換する交換手段とを有する技術が知られている（例えば、特許文献１〜特許文献３）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−１９４８９２号公報
【特許文献２】特開２００５−２４２５７４号公報
【特許文献３】特開２００８−１８６２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述した更新技術を用いたストレージ装置では、マルチパス環境のとき、ＣＡのファームを活性交換できるが、管理者がデータを転送するパスを切替えて各ＣＡのファームをリブートするので、ファームの活性交換における操作が煩雑になることがある。
【００１０】
本発明は、一側面として、ファームの活性交換における操作を簡略化する技術を提供する。
【課題を解決するための手段】
【００１１】
本明細書で開示するストレージ装置のひとつに、第１制御装置と、第２制御装置と、第１送受信部と、第２送受信部と、管理制御部とを備えるストレージ装置がある。第１制御装置は、予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう。第２制御装置は、予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう。第１送受信部は、第１制御装置に含まれ、上位装置と第１パスを介して接続される。第２送受信部は、第２制御装置に含まれ、上位装置と第２パスを介して接続される。管理制御部は、第１送受信部の制御に用いられる第１ファームウェアを更新するとき、同じ論理記憶装置に対するアクセスを受け付け可能であるマルチパス環境で第１送受信部と第２送受信部とが上位装置に接続されているか否かを判定する。管理制御部は、第１送受信部と第２送受信部とがマルチパス環境であるとき、第１パスの推奨度が第２パスの推奨度以上に設定されている場合、第１パスの推奨度を第２パスの推奨度よりも低い推奨度に設定する。そして、管理制御部は、第１パスにデータが流れていないとき、第１送受信部に第１ファームウェアを更新させる制御を行なう。第１送受信部は、第１ファームウェアを更新するとき、パスの状態が変更されたことを示す変更通知を上位装置に送信し、上位装置から変更通知に応じて送信されるパスの状態の取得要求を受信すると、変更後の第１パスの推奨度を上位装置に送信する。第２送受信部は、第１ファームウェアを更新するとき、変更通知を上位装置に送信し、上位装置から取得要求を受信すると、変更後の第２パスの推奨度を上位装置に送信する。第１送受信部及び第２送受信部のどちらかが変更通知を送信したあと一定時間第１送受信部及び第２送受信部の当該どちらかが取得要求を受信しない場合には、管理制御部は、第１送受信部に第１ファームウェアを更新させる制御を行わない。
【発明の効果】
【００１２】
ファームの活性交換における操作を簡略化することができる。
【図面の簡単な説明】
【００１３】
【図１】ストレージ装置の一実施例を示す機能ブロック図である。
【図２】推奨度の一例を示す図である。
【図３】記憶部に記憶されている情報を示す図（その１）である。
【図４】割当情報の一例を示す図である。
【図５】状態情報の一例を示す図である。
【図６】記憶部に記憶されている情報を示す図（その２）である。
【図７】活性交換処理を示すフローチャート（その１）である。
【図８】活性交換処理を示すフローチャート（その２）である。
【図９】ＣＡファームが自動活性交換できるか否かを判定する処理を示すフローチャート（その１）である。
【図１０】ホストがＴＰＧＳプロトコルをサポートしているか否かを判定する処理を示すシーケンス図である。
【図１１】データを送受信するパスを片寄せする処理を示すシーケンス図である。
【図１２】ストレージ装置の一実施例を示すブロック図である。
【図１３】コンピュータ装置の一実施例を示すブロック図である。
【発明を実施するための形態】
【００１４】
［実施形態］
実施形態のストレージ装置について説明する。
【００１５】
図１は、ストレージ装置の一実施例を示す機能ブロック図である。図１を参照して、ストレージ装置１の有する機能について説明する。以下の説明では、送受信部（ＣＡ）のファームウェアを更新するものとして説明する。また、各送受信部のファームウェアを記憶する記憶領域には、稼動面と非稼動面とがあり、それぞれ現ファームと新ファームとが管理者により格納されているものとする。
【００１６】
ストレージ装置１は、後述する推奨度に基づいてパスを選択するパス選択機能を有するホスト４（上位装置）との間で、複数のパスを介して通信接続される。また、ストレージ装置１は、管理装置６と通信接続される。ホスト４、および管理装置６は、例えば、後述するコンピュータ装置である。
【００１７】
ストレージ装置１は、例えば、スイッチ５を介してホスト４、および管理装置６と通信接続される。そして、ホスト４とスイッチ５とは、例えば、ＨＢＡ４１〜４４を介して接続される。ＨＢＡとは、Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒの略である。スイッチ５は、例えば、ＦＣスイッチである。ＦＣとは、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌの略である。なお、ストレージ装置１は、ホスト４と直接通信接続されても良い。
【００１８】
また、ストレージ装置１は、ＣＥ２と、ＤＥ３１〜３３と、を含む。そして、ＣＥ２と、ＤＥ３１〜３３に含まれる各ディスクとは、例えば、図示しないＣＥ２に含まれるＤＡを介して通信接続される。ＣＥとは、Ｃｏｎｔｒｏｌｌｅｒ  Ｅｎｃｌｏｓｕｒｅの略である。ＤＥとは、Ｄｅｖｉｃｅ  Ｅｎｃｌｏｓｕｒｅの略である。ＤＡとは、Ｄｅｖｉｃｅ  Ａｄａｐｔｅｒの略である。
【００１９】
ＣＥ２は、制御装置７、８を含む。
制御装置７、８は、予め設定された制御対象の１または複数の論理記憶装置のアクセス制御を行なう。制御装置７（第１制御装置）と制御装置８（第２制御装置）とは、同様の機能を有する。以下の説明では、制御装置７の機能について説明し、制御装置８が有する制御装置７と同様の機能について説明を省略する。
【００２０】
制御装置７は、例えば、送受信部７１、７２と、制御部７３と、記憶部７４とを含む。送受信部７１（第１送受信部）と送受信部７２（第３送受信部）とは、同様の機能を有する。以下の説明では、送受信部７１の機能について説明し、送受信部７２が有する送受信部７１と同様の機能について説明を省略する。
【００２１】
送受信部７１は、通信制御部７１１（第１制御部）と、保持部７１２とを有する。そして、送受信部７１は、スイッチ５と通信接続され、スイッチ５を介してホスト４との間で第１パスを介してデータを送受信する。なお、送受信部７１は、ホスト４のＨＢＡ４１〜４４に直接接続され、ホスト４と直接データを送受信しても良い。また、送受信部７１、送受信部７２、制御装置８の送受信部８１（第２送受信部）、および送受信部８２（第４送受信部）は、ホスト４と通信接続されても良いし、図示しない他のホストと通信接続されても良い。そして、送受信部７２、８１、８２は、それぞれ第３パス、第２パス、および第４パスを介してホストと接続される。以下の説明では、送受信部７１、７２、８１、８２は、ホスト４と接続されているものとして説明する。
【００２２】
また、制御部７３は、例えば、管理制御部７３１を含む。そして、管理制御部７３１は、制御装置７、８に含まれる各モジュールと接続され、データの送受信をする。
【００２３】
記憶部７４は、第１格納部７４１と、第２格納部７４２と、第３格納部７４３とを含む。制御装置８の記憶部８４は、制御装置７の記憶部７４の機能から第２格納部７４２と、第３格納部７４３とに対応する機能（記憶領域）を省略したものである。上記の構成は、一例であり、記憶部８４に第２格納部７４２と第３格納部７４３に対応する機能（記憶領域）を含んでも良い。
【００２４】
通信制御部７１１は、データの送受信を制御するためのファームウェアにしたがって、送受信部７１の動作を制御する。以下の説明では、データの送受信を制御するためのファームのことをＣＡファームとも言う。
【００２５】
通信制御部７１１は、ファームウェアを更新するとき、管理制御部７３１からの指示にしたがって、送受信部７１との間でデータを送受信する第１パスの状態が変更されたことを示す変更通知をホスト４に送信する。変更通知とは、例えば、後述するＡＡＳＣである。
【００２６】
そして、通信制御部７１１は、ホスト４がパスの状態によりデータの送受信を制御する機能を有している場合、ホスト４から変更通知に応じて送信されるパスの状態の取得要求を受信する。以下の説明では、ホスト４がパスの状態によりデータの送受信を制御する機能のことを、パス選択機能とも言う。また、パスの状態には、推奨度を含むものとする。そして、ホスト４は、例えば、パス選択機能を用いて、推奨度に基づいてデータを送受信するパスを選択する。取得要求とは、例えば、後述するＲＴＰＧである。
【００２７】
通信制御部７１１は、保持部７１２に保持されているパスの推奨度が変更されたあと、ホスト４から通信要求を受信すると、変更通知をホスト４に送信する。これにより、ホスト４は、各送受信部の推奨度が変更されたとき、各送受信部の推奨度を取得し、推奨度の高いパスを用いてデータの送受信をする。すなわち、ストレージ装置１は、各保持部に保持するパスの状態を設定することにより、ホスト４とデータを送受信するパスを選択することができる。ホスト４からの通信要求とは、例えば、後述するＩ／Ｏ  ｒｅｑｕｅｓｔ（データ）である。
【００２８】
管理制御部７３１は、送受信部７１が変更通知に応じてホスト４から取得要求を受信したとき、ホスト４がパス選択機能を有すると判定する。ホスト４がパス選択機能を有するとは、例えば、推奨度の高いパスを用いて、ストレージ装置１とデータを送受信する機能をホスト４が有することを示す。したがって、管理制御部７３１は、ホスト４がパス選択機能を有しているとき、第１パス〜第４パスに設定した推奨度を通知することにより、各パスに設定された推奨度に応じて、データの送受信に用いるパスをホスト４に選択させることができる、と判定する。
【００２９】
また、送受信部７１、７２、８１、８２がそれぞれ別々のホストに接続されている場合、各通信制御部７１１、７２１、８１１、８２１は、ホストからの通信要求に応じて、それぞれホストに変更通知を送信しても良い。そして、管理制御部７３１は、各送受信部が接続されたホストから変更通知に応じて取得要求を受信したとき、各ホストがパス選択機能を有すると判定する。そして、管理制御部７３１は、各ホストに第１パス〜第４パスに設定した推奨度を通知することにより、各パスに設定された推奨度に応じて、データの送受信に用いるパスをホストに選択させることができる、と判定する。
【００３０】
パス選択機能は、例えば、ホスト４がＴＰＧＳプロトコルをサポートすることで、ホスト４に搭載される。ＴＰＧＳとは、Ｔａｒｇｅｔ  Ｐｏｒｔ  Ｇｒｏｕｐ  Ｓｕｐｐｏｒｔの略である。以下の説明において、ストレージ装置１とホスト４とは、一例として、パス選択機能を実行するとき、ＴＰＧＳプロトコルを用いるものとして説明する。ただし、パス選択機能は、ＴＰＧＳプロトコル以外でも、同様の動作を実現する他のプロトコルを用いて実現しても良い。
【００３１】
ホスト４は、パス選択機能を有するとき、推奨度の高いパスを用いてデータを送受信する。推奨度とは、例えば、ストレージ装置１とホスト４とがＴＰＧＳプロトコルをサポートしているとき、図２に示すテーブル２０１のように設定される。
【００３２】
図２に示すテーブル２０１のＡｃｃｅｓｓ  Ｓｔａｔｅは、ストレージ装置１とホスト４とを接続するパスの状態を示している。ホスト４は、例えば、送受信部７１との間でデータを送受信する第１パスの状態がＡｃｔｉｖｅ/ｏｐｔｉｍｉｚｅｄであるとき、第１パスの状態を性能が発揮できる推奨パス（推奨度の高いパス）であると判定する。また、ホスト４は、例えば、第１パスの状態がＡｃｔｉｖｅ/ｎｏｎ-ｏｐｔｉｍｉｚｅｄであるとき、第１パスの状態を推奨しないパス（推奨度の低いパス）と判定する。
【００３３】
保持部７１２は、管理制御部７３１からの指示により、送受信部７１に接続された第１パスの状態を保持する。これにより、通信制御部７１１は、ホスト４からパスの状態を要求する取得要求を受信すると、保持部７１２に保持されている第１パスの状態をホスト４に送信する。第１パスの状態には、第１パスの推奨度を含む。
【００３４】
送受信部７２、８１、８２が有する保持部７２２、８１２、８２２は、それぞれ管理制御部７３１からの指示により、送受信部７２、８１、８２に接続された第３パス、第２パス、および第４パスの状態を保持する。そして、通信制御部７２１、８１１、８２１は、それぞれホスト４からパスの状態を要求する取得要求を受信すると、それぞれ保持部７２２、８１２、８２２に保持されている第３パス、第２パス、および第４パスの状態をホスト４に送信する。第３パス、第２パス、および第４パスの状態には、それぞれ第３パス、第２パス、および第４パスの推奨度を含む。
【００３５】
ホスト４は、マルチパス環境において、第１パス〜第４パスの状態として推奨度を取得すると、推奨度の高いパスを用いてデータを送受信する。ホスト４は、例えば、第１パスと第２パスとの間でマルチパスを構成しているとき、第１パスの推奨度が第２パスの推奨度よりも低い場合、第２パスを用いてデータを送受信する。
【００３６】
さらに、保持部７１２、７２２、８１２、８２２は、管理制御部７３１からの指示により、送受信部７１、７２、８１、８２に割り当てられた、ＤＥ３１〜３３に含まれるディスクで構成される論理記憶装置を示す識別情報を保持する。そして、各通信制御部は、ホスト４との通信接続が開始されたとき、それぞれが含まれる送受信部に割り当てられた論理記憶装置の識別情報をホスト４に通知する。これにより、ストレージ装置１は、各送受信部への論理記憶装置の割当て状況をホスト４に通知する。論理記憶装置の識別情報とは、例えば、論理ユニット番号(ＬＵＮ)である。ＬＵＮとは、Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒの略である。
【００３７】
管理制御部７３１は、送受信部７１の制御に用いられるファームウェアを更新するとき、送受信部７１と、送受信部８１、８２のいずれか１以上とが、同じ論理記憶装置に対するアクセスを受け付け可能であるか否かを判定する。さらに、管理制御部７３１は、送受信部７２と、送受信部８１、８２のいずれか１以上とが、同じ論理記憶装置に対するアクセスを受け付け可能であるか否かを判定する。以下の説明において、送受信部７１と送受信部８１とが同じ論理記憶装置にアクセス可能であるものとする。また、送受信部７２と送受信部８２とが同じ論理記憶装置にアクセス可能であるものとする。そして、送受信部７１のファームウェアの活性交換について説明するが、ストレージ装置１は、送受信部７２、８１、８２のファームウェアについても、同様の方法により活性交換を実行しても良い。
【００３８】
管理制御部７３１は、例えば、送受信部７１および送受信部８１と、送受信部７２および送受信部８２とに同じ論理記憶装置が割り当てられているとき、ストレージ装置１とホスト４とがマルチパス環境で接続されていると判定する。以下の説明において、マルチパスとは、ストレージ装置１に構築された各論理記憶装置とホスト４とが、別々の制御装置を介して、２つ以上のパスで通信接続されていることを示す。また、ストレージ装置１と接続されるホストが複数ある場合には、ストレージ装置１の各論理記憶装置と、各論理記憶装置に接続されたホストとが、別々の制御装置を介して２つ以上のパスで通信接続されていることを示す。
【００３９】
また、管理制御部７３１は、送受信部７１、７２、８１、８２の動作を制御するファームウェアを更新するとき、ストレージ装置１とホスト４とがマルチパス環境で接続されている場合、以下の処理を実行する。
【００４０】
管理制御部７３１は、送受信部７１のファームウェアを更新するとき、送受信部７１に設定された第１パスと送受信部８１に設定された第２パスとを用いて、ストレージ装置１とホスト４とがマルチパス環境で接続されていると判定する。そして、管理制御部７３１は、第１パスの推奨度を、第２パスの推奨度よりも低い推奨度に設定する。
【００４１】
さらに、管理制御部７３１は、送受信部７１のファームウェアを更新するとき、送受信部７２に設定された第３パスと送受信部８２に設定された第４パスとを用いて、ストレージ装置１とホスト４とがマルチパス環境で接続されていると判定する。そして、管理制御部７３１は、第３パスの推奨度を、第４パスの推奨度よりも低い推奨度に設定する。
【００４２】
管理制御部７３１は、例えば、第１パスの推奨度に第２パスの推奨度以上の推奨度が設定されている場合、第１パスの推奨度を、第２パスの推奨度よりも低い推奨度に設定する。また、管理制御部７３１は、例えば、第１パスの推奨度が第２パスの推奨度よりも低く設定されている場合、第１パスの推奨度と、第２パスの推奨度とをそのまま維持しても良い。
【００４３】
管理制御部７３１は、例えば、第３パスの推奨度に第４パスの推奨度以上の推奨度が設定されている場合、第３パスの推奨度を、第４パスの推奨度よりも低い推奨度に設定する。また、管理制御部７３１は、例えば、第３パスの推奨度が第４パスの推奨度よりも低く設定されている場合、第３パスの推奨度と、第４パスの推奨度とをそのまま維持しても良い。
【００４４】
このとき、管理制御部７３１は、例えば、送受信部７１、７２の保持部７１２、７２２にＡｃｔｉｖｅ/ｎｏｎ-ｏｐｔｉｍｉｚｅｄを保持させる。さらに、管理制御部７３１は、送受信部８１、８２の保持部８１２、８２２にＡｃｔｉｖｅ/ｏｐｔｉｍｉｚｅｄを保持させる。
【００４５】
そして、管理制御部７３１は、各通信制御部からホスト４に各送受信部の推奨度が通知され、ホスト４が推奨度の高いパスを選択してデータを送信することにより、ホスト４と制御装置７とを接続するパスにデータが流れなくなったか否かを判定する。管理制御部７３１は、管理制御部７３１は、ホスト４と制御装置７とを接続するパスにデータが流れなくなったとき、制御装置７に含まれる送受信部７１のファームウェアを更新する制御をする。これにより、ストレージ装置１は、ホスト４とのオンライン状態を維持したまま、制御装置７に含まれる送受信部７１のファームウェアを活性交換することができる。なお、管理制御装置７３１は、このとき、送受信部７２のファームウェアを更新しても良い。これにより、ストレージ装置１は、ホスト４とのオンライン状態を維持したまま、送受信部７２のファームウェアを活性交換することができる。
【００４６】
さらに、管理制御部７３１は、送受信部７１のファームウェアの活性交換が完了すると、送受信部８１に設定された第２パスの推奨度を、制御装置７に含まれる送受信部７１設定された第１パスの推奨度よりも低い推奨度に設定する。また、管理制御部７３１は、送受信部８２に設定された第４パスの推奨度を、制御装置７に含まれる送受信部７２に設定された第３パスの推奨度よりも低い推奨度に設定する。このとき、管理制御部７３１は、例えば、送受信部７１、７２の保持部７１２、７２２にＡｃｔｉｖｅ/ｏｐｔｉｍｉｚｅｄを保持させる。さらに、管理制御部７３１は、送受信部８１、８２の保持部８１２、８２２にＡｃｔｉｖｅ/ｎｏｎ-ｏｐｔｉｍｉｚｅｄを保持させる。
【００４７】
そして、管理制御部７３１は、各通信制御部からホスト４に各送受信部の推奨度が通知され、ホスト４が推奨度の高いパスを選択してデータを送信することにより、ホスト４と制御装置８とを接続するパスにデータが流れなくなったか否かを判定する。そして、管理制御部７３１は、管理制御部７３１は、ホスト４と制御装置８とを接続するパスにデータが流れなくなったとき、制御装置８に含まれる送受信部８１のファームウェアを更新する制御をする。これにより、ストレージ装置１は、ホスト４とのオンライン状態を維持したまま、制御装置８に含まれる送受信部８１のファームウェアを活性交換することができる。なお、管理制御装置７３１は、このとき、送受信部８２のファームウェアを更新しても良い。これにより、ストレージ装置１は、ホスト４とのオンライン状態を維持したまま、送受信部８２のファームウェアを活性交換することができる。
【００４８】
図３は、記憶部に記憶されている情報を示す図である。
図３を参照して、記憶部７４に記憶された情報について説明する。
【００４９】
記憶部７４は、第１格納部７４１と、第２格納部７４２と、第３格納部７４３とを有する。
【００５０】
第１格納部７４１は、例えば、制御装置７に含まれる各送受信部と同じ数だけあり、それぞれが稼動面と非稼動面を有する。そして、稼動面には、管理装置６を介して管理者により現ファーム７５１が格納される。非稼動面には、管理装置６を介して管理者により新ファーム７６１が格納される。なお、記憶部７４は、例えば、制御装置７に含まれる各送受信部に同じファームウェアを適用するとき、各送受信部で共有する一つの第１格納部７４１を記憶しても良い。
【００５１】
現ファーム７５１は、例えば、管理制御部７３１の指示により、現在送受信部の保持部に展開され、送受信部を制御する通信制御部を動作させる。新ファーム７６１は、例えば、ファームウェアを更新する制御において、管理制御部７３１の指示により、リブート時に現ファーム７５１と入れ替えて保持部に展開され、更新後に送受信部を制御する通信制御部を動作させる。
【００５２】
第２格納部７４２は、例えば、ＣＥ２に含まれる各送受信部に割り当てられた、アクセス可能な論理記憶装置に関する割当情報が、管理者により管理装置６を介して記憶される。ストレージ装置１は、例えば、送受信部７１、７２、８１、８２に対応する割当情報７７１、７７３、７７２、７７４を、記憶部７４に記憶する。
【００５３】
各割当情報には、対応する送受信部に割り当てられた論理記憶装置の識別情報が格納される。管理制御部７３１は、割当情報を参照し、ストレージ装置１の各論理記憶装置の識別情報を検索する。管理制御部７３１は、各論理記憶装置の識別情報が、制御装置７に含まれる１以上の送受信部に割り当てられ、かつ制御装置８に含まれる１以上の送受信部に割り当てられているとき、ストレージ装置１とホスト４とがマルチパス環境で接続されていると判定する。このように、マルチパス環境では、論理記憶装置とホスト４間のパスがそれぞれ２つ用意されているので、制御装置７、８のいずれか一つの電源を落としても、他方の制御装置を用いて論理記憶装置とホスト４間の通信接続を維持することができる。したがって、管理制御部７３１は、ファームウェアの更新をするとき、制御装置７と制御装置８とを交互にリブートすることにより、ファームウェアの活性交換をすることができる。
【００５４】
図４は、割当情報の一例を示す図である。
レコード０ｘ０４には、送受信部７１の識別情報を示すＣＡＭ  ＩＤと、送受信部７１が有するポートの識別情報を示すＣＡ  Ｐｏｒｔ  Ｎｏとが格納される。
【００５５】
そして、レコード０ｘ２０〜０ｘ４１Ｃには、送受信部７１に割り当てられた論理記憶装置を示すＶｏｌｕme  Ｎｏが格納される。
【００５６】
図３を参照して説明する。
第３格納部７４３には、状態情報７８１が格納される。状態情報７８１は、例えば、図５に示すように、送受信部に含まれる各ポートに接続されるパスついて格納されている。図５の状態情報７８１は、一例として、ストレージ装置１に含まれる各送受信部がそれぞれ２つのポートを有しているときの情報を示している。ＣＡ  ＭＩＤ０００１は、例えば、送受信部７１を示す。ＣＡ  ＭＩＤ０００２は、例えば、送受信部７２を示す。ＣＡ  ＭＩＤ０００３は、例えば、送受信部８１を示す。ＣＡ  ＭＩＤ０００４は、例えば、送受信部８２を示す。
【００５７】
そして、図５（ａ）の状態情報７８１は、ストレージ装置１が有する全てのポートに接続されたパスが推奨度の高いパスに設定されている状態を示す。このとき、ストレージ装置１とホスト４とは、ストレージ装置１が有する全てのポートに接続されたパスを用いてデータを送受信する。図５（ａ）の状態情報７８１は、例えば、管理制御部７３１によって、ストレージ装置１とホスト４とがデータを送受信するときに設定される状態である。
【００５８】
図５（ｂ）の状態情報７８１は、制御装置７が有する全てのポートに接続されたパスが推奨度の高いパスに設定され、制御装置８が有する全てのポートに接続されたパスが推奨度の低いパスに設定されている状態を示す。このとき、ストレージ装置１とホスト４とは、制御装置７が有する全てのポートに接続されたパスを用いてデータを送受信する。図５（ｂ）の状態情報７８１は、例えば、管理制御部７３１によって、ファームウェアの活性交換時に、データを送受信するパスを、制御装置７に接続されたパスへ片寄せするときに設定される状態である。パスの片寄せとは、制御装置７に接続されたパス群、および制御装置８に接続されたパス群のいずれか一つを用いて、ストレージ装置１とホスト４とのデータの送受信を行なうことを言う。
【００５９】
図５（ｃ）の状態情報７８１は、制御装置７が有する全てのポートに接続されたパスが推奨度の低いパスに設定され、制御装置８が有する全てのポートに接続されたパスが推奨度の高いパスに設定されている状態を示す。このとき、ストレージ装置１とホスト４とは、制御装置８が有する全てのポートに接続されたパスを用いてデータを送受信する。図５（ｂ）の状態情報７８１は、例えば、管理制御部７３１によって、ファームウェアの活性交換時に、データを送受信するパスを、制御装置８に接続されたパスへ片寄せするときに設定される状態である。
【００６０】
図６は、記憶部に記憶されている情報を示す図（その２）である。
図６を参照して、記憶部８４に記憶された情報について説明する。
【００６１】
記憶部８４は、第２格納部８４１を有する。
第２格納部８４１は、例えば、制御装置８に含まれる各送受信部と同じ数だけあり、それぞれが稼動面と非稼動面を有する。そして、稼動面には、管理装置６を介して管理者により現ファーム８５１が格納される。非稼動面には、管理装置６を介して管理者により新ファーム８６１が格納される。なお、記憶部８４は、例えば、制御装置８に含まれる各送受信部に同じファームウェアを適用するとき、各送受信部で共有する一つの第２格納部８４１を記憶しても良い。
【００６２】
現ファーム８５１は、例えば、管理制御部７３１の指示により、現在送受信部の保持部に展開され、送受信部を制御する通信制御部を動作させる。新ファーム８６１は、例えば、ファームウェアを更新する制御において、管理制御部７３１の指示により、リブート時に現ファーム８５１と入れ替えて保持部に展開され、更新後に送受信部を制御する通信制御部を動作させる。
【００６３】
図７、図８は、活性交換処理を示すフローチャートである。
以下の説明では、図１に示すストレージ装置１を参照して説明する。また、パス選択機能がＴＰＧＳプロトコルを用いて実行されるものとする。すなわち、ホスト４がＴＰＧＳプロトコルをサポートしていないとき、ホスト４は、推奨度の高いパスを用いてデータを送受信する機能がないものとする。このとき、管理制御部７３１がパス状態を変更するだけでは、パスの片寄せをすることができない。したがって、管理制御部７３１は、マルチパス環境であってもＣＡファームの自動活性交換ができないと判定する。
【００６４】
管理者の操作により、管理装置６からＣＡファームが入力され、非稼動面に新ファームが書き込まれ、ＣＡファームの活性交換の指示を受信すると、管理制御部７３１は、ＣＡファームが自動活性交換できるか否かを判定する（Ｓ１０１）。
【００６５】
図９は、ＣＡファームが自動活性交換できるか否かを判定する処理を示すフローチャートである。
【００６６】
図９を参照して、ＣＡファームが自動活性交換できるか否かを判定する処理を説明する。
【００６７】
管理制御部７３１は、ホスト４がＴＰＧＳプロトコルをサポートしているか否かを判定する（Ｓ３０１）。
【００６８】
図１０は、ホストがＴＰＧＳプロトコルをサポートしているか否かを判定する処理を示すシーケンス図である。
【００６９】
図１０を参照して、ホストがＴＰＧＳプロトコルをサポートしているか否かを判定する処理を説明する。
【００７０】
管理制御部７３１は、ＣＡドライバを介して各通信制御部にＲＴＰＧ（取得要求）の受信待ちを設定する（Ｓ４０１）。これにより、各通信制御部は、ホスト４からＲＴＰＧを受信することが可能となる。そして、各通信制御部は、ＲＴＰＧの受信待ちが設定されたことを管理制御部に通知する。ＣＡドライバとは、管理制御部７３１が通信制御部を制御するためのドライバである。ＲＴＰＧとは、ＲＥＰＯＲＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳの略である。
【００７１】
管理制御部７３１は、各通信制御部でＲＴＰＧの受信待ちが設定されると、ＡＡＳＣ（変更通知）の発行依頼を、ＣＡドライバを介して各通信制御部に送信する（Ｓ４０２）。ＡＡＳＣ（変更通知）とは、ＡＳＹＭＭＥＴＲＩＣ  ＡＣＣＥＳＳ  ＳＴＡＴＥ  ＣＨＡＮＧＥの略である。
【００７２】
各通信制御部は、管理制御部７３１からＡＡＳＣの発行依頼を受信すると、ＡＡＳＣを発行し、送受信部が有する各ポートに接続されたそれぞれのパスを介して、ＡＡＳＣをホスト４に向かって通知する（Ｓ４０３）。そして、ホスト４は、ＡＡＳＣが通知されたことを、通信制御部と、ＣＡドライバとを介して、管理制御部７３１に通知する。
【００７３】
さらに、ホスト４は、ＴＰＧＳプロトコルをサポートしているとき、ＲＴＰＧ（取得要求）を各通信制御部に送信する（Ｓ４０４）。各通信制御部は、ＲＴＰＧを受信すると、同じ送受信部に含まれる保持部に保持されているパスの状態をホスト４に送信する（図示なし）。これにより、ホスト４は、推奨度を含む第１パス〜第４パスの状態を知ることができる。
【００７４】
管理制御部７３１は、Ｓ４０２でＡＡＳＣ発行依頼を送信したあと、各通信制御部がＲＴＰＧを受信したが否かを定期的に問い合わせる（Ｓ４０５）。
【００７５】
各通信制御部は、ホスト４からＲＴＰＧを受信した後、管理制御部７３１からＲＴＰＧを受信したが否かの問い合わせを受けると、ＲＴＰＧを受信したことを示す情報を管理制御部７３１に送信する（Ｓ４０６）。
【００７６】
管理制御部７３１は、各通信制御部からＲＴＰＧを受信したことを示す情報を受信すると、ホスト４がＴＰＧＳプロトコルをサポートしていると判定する。また、管理制御部７３１は、Ｓ４０２でＡＡＳＣ発行依頼を送信したあと、一定時間各通信制御部からＲＴＰＧを受信したことを示す情報を受信しないとき、ホスト４がＴＰＧＳプロトコルをサポートしていないと判定する。
【００７７】
管理制御部７３１が各通信制御部からＲＴＰＧを受信したことを示す情報を受信するのは、ストレージ装置１が含む送受信部が、別々のホストに接続されているとき、接続先の全てのホストがＴＰＧＳプロトコルをサポートしているか否かを判定するためである。管理制御部７３１は、ストレージ装置１に接続された全てのホストがＴＰＧＳプロトコルをサポートしているとき、ストレージ装置１内のパスの片寄せができると判定する。
【００７８】
図９を参照して説明する。
管理制御部７３１は、ホスト４がＴＰＧＳプロトコルをサポートしていないと判定したとき（Ｓ３０１にてＮｏ）、Ｓ１０１にてＮｏと判定し、Ｓ１０６の処理を実行する。
【００７９】
管理制御部７３１は、ホスト４がＴＰＧＳプロトコルをサポートしていると判定したとき（Ｓ３０１にてＹｅｓ）、ストレージ装置１に含まれる全ての送受信部の割当情報を検索する（Ｓ３０２）。
【００８０】
管理制御部７３１は、全ての論理記憶装置がホスト４とマルチパス環境で接続されているか否かを判定する（Ｓ３０３）。
【００８１】
管理制御部７３１は、各論理記憶装置の識別情報が、制御装置７に含まれる１以上の送受信部、または制御装置８に含まれる１以上の送受信部に割り当てられているとき、マルチパス環境で接続されていないと判定する（Ｓ３０３にてＮｏ）。そして、管理制御部７３１は、Ｓ１０１にてＮｏと判定し、Ｓ１０６の処理を実行する。
【００８２】
管理制御部７３１は、各論理記憶装置の識別情報が、制御装置７に含まれる１以上の送受信部に割り当てられ、かつ制御装置８に含まれる１以上の送受信部に割り当てられているとき、マルチパス環境で接続されていると判定する（Ｓ３０３にてＹＥＳ）。そして、管理制御部７３１は、Ｓ１０２の処理を実行する。
【００８３】
図７を参照して説明する。
Ｓ１０１において、管理制御部７３１は、ＣＡファームが自動活性交換できないと判定したとき（Ｓ１０１にてＮｏ）、ＣＡファームの切り替え予約をする（Ｓ１０６）。
【００８４】
そして、管理制御部７３１は、制御装置のリブートが可能となるまで待機する（Ｓ１０７にてＮｏ）。
【００８５】
管理制御部７３１は、制御装置のリブートが可能となると（Ｓ１０７にてＹｅｓ）、制御装置に含まれる送受信部のＣＡファームを新ファームに切替えて、制御装置をリブートする（Ｓ１０８）。これにより、管理制御部７３１は、各制御装置がリブート可能となったときに、制御装置に含まれる送受信部のＣＡファームを更新することができる。リブート可能となったときとは、例えば、管理者により、制御装置の再起動が実行されたときなどである。
【００８６】
Ｓ１０１において、管理制御部７３１は、ＣＡファームが自動活性交換できると判定したとき（Ｓ１０１にてＹｅｓ）、データを送受信するパスを片寄せする（Ｓ１０２）。
【００８７】
図１１は、データを送受信するパスを片寄せする処理を示すシーケンス図である。
図１１を参照して、データを送受信するパスを片寄せする処理を説明する。
【００８８】
管理制御部７３１は、ＣＡドライバを介して各通信制御部にＲＴＰＧ（取得要求）の受信待ちを設定する（Ｓ５０１）。これにより、各通信制御部は、ホスト４からＲＴＰＧを受信することが可能となる。そして、各通信制御部は、ＲＴＰＧの受信待ちが設定されたことを管理制御部に通知する。
【００８９】
管理制御部７３１は、ＣＡドライバを介して、パス状態の変更依頼を各通信制御部に送信する（Ｓ５０２）。このとき、管理制御部７３１は、例えば、図５（ｃ）に示すように、制御装置７に接続されたパスの推奨度を、制御装置８に接続されたパスの推奨度よりも低く設定する。そして、管理制御部７３１は、設定した推奨度を各通信制御部に送信する。
【００９０】
各通信制御部は、パス状態の変更依頼を受信すると、同じ送受信部に属する保持部に管理制御部７３１から受信した推奨度を保持させる（Ｓ５０３）。そして、各通信制御部は、ＣＡドライバを介して管理制御部７３１にパス状態を変更したことを通知する。
【００９１】
各通信制御部は、ホスト４からＩ／Ｏ要求（Ｉ／Ｏ  ｒｅｑｕｅｓｔ）を受信すると（Ｓ５０４）、ホスト４にＩ／Ｏ要求を受信したことを通知する。そして、各通信制御部は、ＡＡＳＣ（変更通知）を発行し、送受信部が有する各ポートに接続されたそれぞれのパスを介して、ＡＡＳＣをホスト４に送信する（Ｓ５０５）。ホスト４は、ＡＡＳＣを受信すると、ＡＡＳＣを受信したことを各通信制御部に通知する（図示なし）。
【００９２】
ホスト４は、ＡＡＳＣを受信すると、ＡＡＳＣを受信したことを各通信制御部に通知する。そして、ホスト４は、各通信制御部の状態に変化があったと判定し、ＲＴＰＧを各通信制御部に送信することで、各通信制御部の状態を問い合わせる（Ｓ５０６）。
【００９３】
各通信制御部は、ＲＴＰＧを受信すると、ＲＴＰＧを受信したことをホスト４に通知する。そして、各通信制御部は、同じ送受信部に含まれる保持部に保持されたパスの状態をホスト４に送信する（Ｓ５０７）。これにより、ホスト４は、各通信制御部からパスの状態を受信することにより、第１パス〜第４パスの状態を知ることができる。そして、ホスト４は、パスの状態を受信すると、各通信制御部にパスの状態を受信したことを通知する。
【００９４】
管理制御部７３１は、Ｓ５０２でパス状態の変更依頼を送信したあと、各通信制御部がＲＴＰＧを受信したが否かを定期的に問い合わせる（Ｓ５０８）。
【００９５】
各通信制御部は、ホスト４からＲＴＰＧを受信した後、管理制御部７３１からＲＴＰＧを受信したが否かの問い合わせを受けると、ＲＴＰＧを受信したことを示す情報を管理制御部７３１に送信する（Ｓ５０９）。以下のＳ５１０、Ｓ５１１は、図７のＳ１０３、Ｓ１０４に対応する。
【００９６】
管理制御部７３１は、各通信制御部からＲＴＰＧを受信したことを示す情報を受信すると、ホスト４がパスの状態を認識したと判定し、データの送受信状態を各通信制御部に問い合わせる（Ｓ５１０）。
【００９７】
管理制御部７３１は、低い推奨度を設定したパスに接続された送受信部に含まれる通信制御部から、所定時間以内にホスト４とのデータの送受信が停止されたことを受信すると（Ｓ５１１）、データの片寄せ処理が完了したと判定する。
【００９８】
図７を参照して説明する。
管理制御部７３１は、Ｓ１０２でデータを送受信するパスを片寄せする処理を実行したあと、ホスト４と各通信制御部とのデータの送受信が停止したか否かを判定する（Ｓ１０３）。管理制御部７３１は、ホスト４と各通信制御部とのデータの送受信が停止しないとき、所定時間が経過したか否かを判定する（Ｓ１０４）。
【００９９】
管理制御部７３１は、所定時間が経過していないとき（Ｓ１０４にてＮｏ）、Ｓ１０３の処理を実行する。管理制御部７３１は、所定時間が経過したとき（Ｓ１０４にてＹｅｓ）、データの片寄せが完了しなかったと判定し、Ｓ１０６の処理を実行する。
【０１００】
Ｓ１０３において、管理制御部７３１は、ホスト４と各通信制御部とのデータの送受信が停止したとき（Ｓ１０３にてＹｅｓ）、ホスト４からのデータの受信が停止された制御装置をリブートする。管理制御部７３１は、リブート時に、制御装置に含まれる送受信部のＣＡファームを現ファームから新ファームに切替える。
【０１０１】
管理制御部７３１は、例えば、制御装置７に含まれる送受信部のＣＡファームを更新したあと、さらに、制御装置８に含まれる送受信部のＣＡファームを更新するとき、Ｓ１０２〜Ｓ１０５の処理を繰り返し実行しても良い。このとき、管理制御部７３１は、例えば、制御装置７に接続されたパスの推奨度を制御装置８に接続されたパスの推奨度よりも低く設定する。そして、管理制御部７３１は、ホスト４と制御装置７とのデータの送受信が停止したとき、制御装置７をリブートすることでＣＡファームを活性交換しても良い。続いて、管理制御部７３１は、例えば、制御装置８に接続されたパスの推奨度を制御装置７に接続されたパスの推奨度よりも低く設定する。そして、管理制御部７３１は、ホスト４と制御装置８とのデータの送受信が停止したとき、制御装置８をリブートすることでＣＡファームを活性交換しても良い。
【０１０２】
図８を参照して説明する。
管理制御部７３１は、ＣＡファームを活性交換したあと、ホスト４とデータを送受信するパスの設定を元に戻す（Ｓ２０１）。このとき、管理制御部７３１は、例えば、図５（ａ）に示すように、制御装置７、８に接続されたパスの推奨度を高く設定しても良い。そして、管理制御部７３１は、設定した推奨度を各通信制御部に送信する。各通信制御部は、推奨度を受信し、保持部に受信した推奨度を保持させる。そして、各通信制御部は、保持部に保持されたパスの推奨度が変更されると、ホスト４にＡＡＳＣを送信し、ホスト４に推奨度を通知する一連の処理を実行する。
【０１０３】
管理制御部７３１は、ホスト４とのデータの送受信が停止されていた制御装置で、ホスト４とのデータの送受信が開始したか否かを判定する（Ｓ２０２）。
【０１０４】
管理制御部７３１は、ホスト４とのデータの送受信が開始したとき（Ｓ２０２にてＹｅｓ）、活性交換処理を終了する。
【０１０５】
管理制御部７３１は、ホスト４とのデータの送受信が開始しないとき（Ｓ２０２にてＮｏ）、所定時間が経過したか否かを判定する（Ｓ２０３）。管理制御部７３１は、所定時間が経過していないとき（Ｓ２０３にてＮｏ）、Ｓ２０２の処理を実行する。
【０１０６】
管理制御部７３１は、所定時間が経過したとき、ストレージ装置１とホスト４との通信状態を、活性交換前の状態に戻すことができないと判定し、管理装置６にエラーを通知する（Ｓ２０４）。そして、管理制御部７３１は、活性交換処理を終了する。
【０１０７】
図１２は、ストレージ装置の一実施例を示すブロック図である。
図１２を参照して、ストレージ装置１の構成について説明する。
【０１０８】
ストレージ装置１は、ＣＥ２とＤＥ３１〜ＤＥ３３を備えている。ＣＥ２は、ＣＭ７００とＣＭ８００とを備える。ＣＭとは、Ｃｏｎｔｒｏｌ  Ｍｏｄｕｌｅの略である。ＣＭ７００は、例えば、図１において、制御装置７として機能する。また、ＣＭ８００は、例えば、図１において、制御装置８として機能する。
【０１０９】
ＣＭ７００は、ＣＡ７０１と、ＣＡ７０２と、制御回路７０３と、記憶装置７０４と、ＩＯＣ７０５と、ＥＸＰ７０６と、ＤＡ７０７、７０８とを備える。ＣＭ８００は、ＣＡ８０１と、ＣＡ８０２と、制御回路８０３と、記憶装置８０４と、ＩＯＣ８０５と、ＥＸＰ８０６と、ＤＡ８０７、８０８とを備える。そして、各構成要素は、図示しないバスにより接続されている。ＣＡ７０１、７０２、８０１、８０２は、例えば、図１において、それぞれ送受信部７１、７２、８１、８２として機能する。以下の説明では、制御装置７００について説明し、制御装置７００と同様の構成を有する制御装置８００の説明を省略する。
【０１１０】
ＣＡ７０１は、制御回路７１３と記憶装置７１４とを含む。ＣＡ７０２は、ＣＡ７０１と同様の構成を有するので、ＣＡ７０２の説明を省略する。
【０１１１】
制御回路７１３は、例えば、ＣＰＵ、マルチコアＣＰＵ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）およびＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などのプロセッサである。制御回路７１３は、例えば、図１において、通信制御部７１１として機能する。
【０１１２】
記憶装置７１４は、各種データを記憶する。そして、記憶装置７１４は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリである。記憶装置７１４は、例えば、図１において、保持部７１２として機能する。
【０１１３】
記憶装置７１４のＲＡＭには、例えば、制御回路７１３を、通信制御部７１１として機能させるＣＡファームが制御回路７０３によって書き込まれる。そして、ストレージ装置１は、ＲＡＭに書き込まれたＣＡファームを制御回路７１３で実行することにより、ＣＡ７０１によるデータの送受信処理を実行する。
【０１１４】
制御回路７０３は、ストレージ装置１全体の制御をする。そして、制御回路７０３は、例えば、ＣＰＵ、マルチコアＣＰＵ、ＦＰＧＡおよびＰＬＤなどのプロセッサである。制御回路７０３は、例えば、図１において、制御部７３として機能する。
【０１１５】
記憶装置７０４は、各種データを記憶する。そして、記憶装置７０４は、例えば、ＲＯＭおよびＲＡＭなどのメモリや、ＨＤなどで構成される。記憶装置７０４は、例えば、図１において、記憶部７４として機能する。
【０１１６】
また、ＲＯＭは、ブートプログラムなどのプログラムを記憶している。ＲＡＭは、制御回路７０３のワークエリアとして使用される。ＨＤは、ＯＳ、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。
【０１１７】
記憶装置７０４は、例えば、制御回路７０３を、制御部７３として機能させるファームウェアの更新プログラムを記憶する。
【０１１８】
ＣＡファームを更新するとき、ストレージ装置１は、記憶装置７０４に記憶されたファームウェアの更新プログラムをＲＡＭに読み出す。ストレージ装置１は、ＲＡＭに読み出されたファームウェアの更新プログラムを制御回路７０３で実行することにより、活性交換処理、自動活性交換可否の判定処理、およびパスの片寄せ処理の１以上を含む更新処理を実行する。
【０１１９】
なお、ファームウェアの更新プログラムは、制御回路７０３が図示しない通信インターフェイスを介してアクセス可能であれば、ネットワーク上のサーバが有する記憶装置に記憶されていても良い。
【０１２０】
ＩＯＣ７０５は、例えば、ＥＸＰ７０６およびＤＡ７０７、７０８を介して実行される、ストレージ装置１と、ＤＥ３１〜ＤＥ３３に含まれる各ディスクとの間のデータの送受信を制御する。
【０１２１】
図１３は、コンピュータ装置の一実施例を示すブロック図である。
図１３を参照して、コンピュータ装置の構成について説明する。コンピュータ装置９００は、図１に示す、ホスト４、および管理装置６の構成例である。
【０１２２】
図１３において、コンピュータ装置９００は、制御回路９０１と、記憶装置９０２と、読書装置９０３と、記録媒体９０４と、通信インターフェイス９０５（通信Ｉ／Ｆ）と、入出力インターフェイス９０６（入出力Ｉ／Ｆ）と、表示装置９０７とを備えている。また、各構成要素は、バス９０８により接続されている。
【０１２３】
制御回路９０１は、コンピュータ装置９００全体の制御をする。そして、制御回路９０１は、例えば、ＣＰＵ、マルチコアＣＰＵ、ＦＰＧＡおよびＰＬＤなどのプロセッサである。
【０１２４】
記憶装置９０２は、各種データを記憶する。そして、記憶装置９０２は、例えば、ＲＯＭおよびＲＡＭなどのメモリや、ＨＤなどで構成される。
【０１２５】
また、ＲＯＭは、ブートプログラムなどのプログラムを記憶している。ＲＡＭは、制御回路９０１のワークエリアとして使用される。ＨＤは、ＯＳ、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。
【０１２６】
読書装置９０３は、制御回路９０１に制御され、着脱可能な記録媒体９０４のデータのリード／ライトを行なう。そして、読書装置９０３は、例えば、ＦＤＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｄｒｉｖｅ）、ＤＶＤＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＢＤＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｋ  Ｄｒｉｖｅ）およびＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などである。
【０１２７】
記録媒体９０４は、各種データを保存する。記録媒体９０４は、例えば、ファームウェアの更新プログラムを記憶する。
【０１２８】
そして、記録媒体９０４は、読書装置９０３を介してバス９０８に接続され、制御回路９０１が読書装置９０３を制御することにより、データのリード／ライトが行なわれる。また、記録媒体９０４は、例えば、ＦＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｋ：登録商標）、およびフラッシュメモリなどである。
【０１２９】
通信インターフェイス９０５は、スイッチ５を介してコンピュータ装置９００とストレージ装置１とを通信可能に接続する。
【０１３０】
コンピュータ装置９００が管理装置６として機能するとき、コンピュータ装置９００は、ユーザからの指示にしたがって、記録媒体９０４から読み出したファームウェアの更新プログラムを制御装置７００に送信しても良い。そして、制御回路７０３は、ファームウェアの更新プログラムをコンピュータ装置９００から受信すると、記憶装置７０４にファームウェアの更新プログラムを記憶させても良い。
【０１３１】
入出力インターフェイス９０６は、例えば、キーボード、マウス、およびタッチパネルなどと接続され、接続された装置から各種情報を示す信号が入力されると、バス９０８を介して入力された信号を制御回路９０１に出力する。また、入出力インターフェイス９０６は、制御回路９０１から出力された各種情報を示す信号がバス９０８を介して入力されると、接続された各種装置にその信号を出力する。
【０１３２】
コンピュータ装置９００が管理装置６として機能するとき、入出力インターフェイス９０６は、例えば、ユーザにより入力される、ＣＡ７０１、７０２、８０１、８０２に対する論理記憶装置の割当情報の入力を受け付けても良い。コンピュータ装置９００は、入力された割当情報を制御装置７００に送信しても良い。そして、制御回路７０３は、割当情報をコンピュータ装置９００から受信すると、記憶装置７０４に割当情報を記憶しても良い。
【０１３３】
表示装置９０７は、例えば、入出力インターフェイス９０６に接続され、各種情報を表示する。
【０１３４】
以上のように、実施形態のストレージ装置１は、マルチパス環境において、ＣＡファームを更新する制御装置に接続されたパスの状態を推奨しないパスとすることにより、ＣＡファームを更新する制御装置のデータの送受信を停止する。これにより、ストレージ装置１は、管理者に頼ることなく、ＣＡファームを更新する制御装置のデータの送受信を停止できるので、ファームの活性交換における操作を簡略化することができる。
【０１３５】
実施形態のストレージ装置１は、例えば、ＡＡＳＣ（変更通知）をホストに送信したことに応じて、ホストからＲＴＰＧ（取得要求）を受信したとき、接続されたホストＴＰＧＳプロトコルをサポートしている（パス選択機能を有する）と判定する。これにより、ストレージ装置１は、ホストがＴＰＧＳプロトコルをサポートしていないとき、データの送受信を制御するためにパスの状態を変更するなどの冗長な処理の実行を抑制することができる。
【０１３６】
実施形態のストレージ装置１は、パスの状態を変更したとき、ホストからＩ／Ｏ  ｒｅｑｕｅｓｔ（通信要求）を受信すると、ホストにパスの状態を送信する。これにより、ストレージ装置１は、パスの状態を設定することにより、ホストとデータを送受信するパスを選択することができる。
【０１３７】
実施形態のストレージ装置１は、ストレージ装置1に構築された各論理記憶装置の識別情報が、２つ以上の制御装置に含まれるＣＡに、それぞれ割り当てられているとき、ストレージ装置１とホストとがマルチパス環境で接続されていると判定する。これにより、ストレージ装置１は、マルチパス環境でないときに、ＣＡファームの活性交換処理を実行するなどの冗長な処理の実行を抑制することができる。さらに、ストレージ装置１は、マルチパス環境でないときに、ＣＡファームの活性交換処理を実行することによるエラーの発生を防止することができる。
【０１３８】
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１３９】
１  ストレージ装置
２  ＣＥ
３１〜３３  ＤＥ
４  ホスト
５  スイッチ
６  管理装置
７、８  制御装置
７１、７２、８１、８２  送受信部
７３、８３  制御部
７４、８４  記憶部
【図１】
0006484965.tif 000002
【図２】
0006484965.tif 000003
【図３】
0006484965.tif 000004
【図４】
0006484965.tif 000005
【図５】
0006484965.tif 000006
【図６】
0006484965.tif 000007
【図７】
0006484965.tif 000008
【図８】
0006484965.tif 000009
【図９】
0006484965.tif 000010
【図１０】
0006484965.tif 000011
【図１１】
0006484965.tif 000012
【図１２】
0006484965.tif 000013
【図１３】
0006484965.tif 000014