(57)【要約】（課題）本発明は、ホストオペレーションレスでファームウェアの活性交換を行うストレージシステムを提供することを目的とする。（解決手段）複数の接続経路をストレージ装置との間で有するホスト装置は、ストレージ装置から受信した経路識別情報を他の全ての経路からストレージ装置に転送する。一方、ストレージ装置は、ホスト装置へ送信した経路識別情報を格納するテーブルとホスト装置から受信した経路識別情報を格納する経路テーブルを有する。そして、ストレージ装置は、ファームウェアの交換要求を受けると、経路テーブルを比較して一致するか否かを判定し、一致するときには、各経路に対応するファームウェアを順次、活性交換することを特徴とするストレージシステム。【選択図】図２
2008114360.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と、前記ホスト装置との複数の接続経路に対応する複数のファームウェアを備えるストレージ装置と、を有するストレージシステムであって、
前記ホスト装置は、前記ストレージ装置から受信した、経路を検査するための経路識別情報を他の全ての経路から前記ストレージ装置に転送する経路識別情報転送手段を有し、
前記ストレージ装置は、前記経路識別情報を前記ホスト装置に送信する経路識別情報送信手段と、
前記経路識別情報を送信した経路とは異なる経路で前記ホスト装置から経路識別情報を受信する経路識別情報受信手段と、
前記経路毎に送受信した前記経路識別情報を格納する経路テーブルと、
更新ファームウェアおよびファームウェアの交換要求を受信する要求受信手段と、
前記交換要求を受信したときに、前記経路毎の前記経路テーブルを比較して一致するか否かを判定する判定手段と、
判定した結果、一致するときには、各経路に対応する前記ファームウェアを順次、活性交換する交換手段と、を有することを特徴とするストレージシステム。
【請求項２】
ホスト装置は、ストレージ装置に経路の状態を確認するための経路確認情報を定期的に通知する手段を有し、
前記ストレージ装置は、
前記ホスト装置からの前記経路確認情報の通知に対する応答に経路識別情報を付加して送信することを特徴とする請求項1記載のストレージシステム。
【請求項３】
ホスト装置は、ストレージ装置から受信した経路識別情報を、経路確認情報に付加して他の経路から前記ストレージ装置に送信することを特徴とする請求項２記載のストレージシステム。
【請求項４】
ストレージ装置は、
ホスト装置からの経路確認情報に対する応答に、前記経路確認情報の送信間隔の短縮を要求する情報を付加することを特徴とする請求項２記載のストレージシステム。
【請求項５】
ストレージ装置は、
ホスト装置からの経路確認情報に対する応答に、経路の変更を要求する情報を付加することを特徴とする請求項記載２記載のストレージシステム。
【請求項６】
ホスト装置との複数の接続経路に対応する複数のファームウェアを備えるストレージ装置であって、
経路を検査するための経路識別情報を前記ホスト装置に送信する経路識別情報送信手段と、
前記経路識別情報を送信した経路とは異なる経路で前記ホスト装置から前記経路識別情報を受信する経路識別情報受信手段と、
前記経路毎に送受信した前記経路識別情報を格納する経路テーブルと、
更新ファームウェアおよびファームウェアの交換要求を受信する要求受信手段と、
前記交換要求を受信したときに、前記経路毎の前記経路テーブルを比較して一致するか否かを判定する判定手段と、
判定した結果、一致するときには、各経路に対応する前記ファームウェアを順次、活性交換する交換手段と、を有することを特徴とするストレージ装置。
【請求項７】
ホスト装置との複数の接続経路に対応する複数のファームウェアを備えるストレージ装置のファームウェアの活性交換方法であって、
経路を検査するための経路識別情報を前記ホスト装置に送信する経路識別情報送信ステップと、
前記経路識別情報を送信した経路とは異なる経路で前記ホスト装置から前記経路識別情報を受信する経路識別情報受信ステップと、
前記経路毎に送受信した前記経路識別情報を経路テーブルに格納するステップと、
更新ファームウェアおよびファームウェアの交換要求を受信する要求受信ステップと、
前記交換要求を受信したときに、前記経路毎の前記経路テーブルを比較して一致するか否かを判定する判定ステップと、
判定した結果、一致するときには、各経路に対応する前記ファームウェアを順次、活性交換する交換ステップと、を有することを特徴とするファームウェアの活性交換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置に接続されるストレージ装置に搭載されているファームウェアの活性交換に関する。
【背景技術】
【０００２】
ストレージシステムは、ホスト装置と、ホスト装置に接続されるストレージ装置とから構成される。ストレージ装置は、複数のホスト装置と接続することができる。このようなストレージ装置のファームウェアの活性交換では、ファームウェアが搭載されたコントロールモジュール(以降ＣＭと記載)が複数存在する場合、それらを前半部と後半部の２回に分けて実施している。例えば、ＣＭが４枚搭載された装置の場合、まず２枚のＣＭのファームウェア交換を同時に行い、それが完了後、残りの２枚のＣＭのファームウェア交換が行われる。ストレージ装置とホスト装置はマルチ経路構成となっており、各経路はそれぞれのＣＭに接続されているため、業務を停止せずに活性でファームウェアを交換することが可能である。次に、ＣＭが２枚搭載された装置でのファームウェアの活性交換の例を示す。【０００３】
図１に、従来例のファームウェアの交換の説明図を示す。
図１（ａ）に、従来例のファームウェアの交換が正常の場合の説明図を示す。
ホスト装置と、ホスト装置に接続される２本の接続経路を有するストレージ装置からなる。
（１）通常状態では、データは、ホスト装置から１本の経路を使用してストレージ装置に転送される。他の経路は、スタンバイしている。
（２）前半部（ＣＭ０）のファームウェアの交換中は、ＣＭ１側の経路を使用してホスト装置とストレージ装置間でデータが転送される。
（３）後半部（ＣＭ１）のファームウェアの交換中は、既にファームウェアの交換完了したＣＭ０側の経路を使用してホスト装置とストレージ装置間でデータ転送する。
（４）後半部のファームウェアの交換が完了したら、データはＣＭ０の経路を使用して転送される。
図１（ｂ）に、従来例のファームウェアの交換が異常の場合の説明図を示す。
一方の経路に異常のある場合に他方の正常の経路を使用してファームウェアの活性交換が実施された場合、ストレージ装置とホスト装置間との全ての経路が業務処理用の経路として使用できなくなるため、業務が停止する。前半部のＣＭ０においてファームウェアの交換が開始される時点で、後半部のＣＭ１に接続された経路の接続性に不具合がある例である。
（１）ファームウェア交換実施前に後半部（ＣＭ１）の経路異常が発生しておりデータ転送はＣＭ０で行われている。
（２）前半部（ＣＭ０）のファームウェアの交換が開始されると、ＣＭ０側の経路でのデータ転送ができなくなる。
（３）両方の経路でデータ転送ができないため、ホスト装置は、エラーを検知して業務が停止する。また、後半部のＣＭ１においてファームウェア交換が開始される時点で、前半部のＣＭ０に接続された経路の接続性に不具合がある場合も同様である。
このように、ファームウェアの活性交換の実行を契機に業務が停止する可能性がある場合、その時点ではファームウェアの交換を実施せずに、経路異常の原因を取り除いた後に、再度ファームウェアの交換を実施する必要がある。【０００４】
このため、従来は、前半部のファームウェア交換を実施する前に、保守者はホスト装置にログインしてコマンドを発行し、ストレージ装置とホスト装置間の経路の接続性を確認する。異常がない場合には前半部のファームウェアの交換を実施していた。また、後半部のファームウェアの交換を実施する前にも、同様の作業を実施していた。この手法では、コマンドを実行する必要があるため、ファームウェアの交換の実施時に管理者権限でホストログインできる保守者をアサインする必要がある。また、ファームウェアの交換するストレージ装置に多数のホストが接続されている場合、すべてのホストにおいてコマンドを実行して接続性を確認する必要があるため、保守者の負担は大きいという問題点がある。
ストレージ装置のマイクロプログラムの交換を無停止で自動的に行う情報処理システムに関して、以下の先行技術文献がある。
【特許文献１】特開２００５−２４２５７４号公報
【発明の開示】
【０００５】
（発明が解決しようとする課題）
本発明は、ファームウェアの交換をするために、ホスト装置への保守者によるオペレーションを行わず、かつストレージ装置が、ファームウェアの交換の可否を判断するストレージシステム、ストレージ装置、ファームウェアの活性交換方法を提供することを目的とする。
（課題を解決するための手段）
本発明のストレージシステムは、ホスト装置と、ホスト装置との複数の接続経路に対応する複数のファームウェアを備えるストレージ装置と、を有する。
そして、ホスト装置は、ストレージ装置から受信した、経路を検査するための経路識別情報を他の全ての経路からストレージ装置に転送する経路識別情報転送手段を有する。一方、ストレージ装置は、経路識別情報をホスト装置に送信する経路識別情報送信手段と、経路識別情報を送信した経路とは異なる経路でホスト装置から経路識別情報を受信する経路識別情報受信手段と、経路毎に送受信した経路識別情報を格納する経路テーブルと、更新ファームウェアおよびファームウェアの交換要求を受信する要求受信手段と、交換要求を受信したときに、経路毎の経路テーブルを比較して一致するか否かを判定する判定手段と、判定した結果、一致するときには、各経路に対応するファームウェアを順次、活性交換する交換手段と、を有する構成である。
この構成により、ストレージ装置からホスト装置を経由して元のストレージ装置へ回送した経路識別情報に基づいて、ストレージ装置が経路の正常異常を判断できるので、ホストへのオペレーションを行わずにファームウェアの活性交換を行うことができる。
（発明の効果）
本発明により、この結果、ストレージ装置は、経路テーブルに基づいてファームウェアの活性交換を行うため、ホスト装置とストレージ装置の間の業務が停止することを避けることができる。また保守者による状態確認の操作を行う必要がなくなるため、保守者の負担が軽減される。
【図面の簡単な説明】
【０００６】
【図１】従来例のファームウェアの交換の説明図
【図２】ストレージシステムの構成図
【図３】ＣＭの構成図
【図４】経路テーブルの説明図
【図５】経路テーブルの登録例
【図６】処理シーケンス例の説明図１
【図７】処理シーケンス例の説明図２
【図８】処理シーケンス例の説明図３
【図９】ＣＭ間処理シーケンス例の説明図１
【図１０】ＣＭ間処理シーケンス例の説明図２
【図１１】ＣＭ間処理シーケンス例の説明図３
【図１２】ホストの経路確認情報の処理の流れ図
【図１３】ＣＭの経路確認情報の処理の流れ図
【符号の説明】
【０００７】
１  ストレージ装置
２、２−０、２−１  チャネルアダプタ
３、３−０、３−１  ＣＭ
４、４−０、４−１  ディスク制御モジュール
５、５−１〜５−３  ディスク  
１１  ファームウェア交換制御部
１２  入力部
１３  記憶部Ａ
１４、１４−０、１４−１  経路テーブル
２１  交換制御部
２２  情報設定部
２３  判定部
３１  ＣＦＬ制御部
３２  Ｉ／Ｏ制御部
３３  ＭＰＵ
５１  ホストＡ
５２  ホストＢ
５３  ポート変更制御部Ａ
５４  Ｉ／Ｏ制御部Ａ
５５  ポート変更制御部Ｂ
５６  Ｉ／Ｏ制御部Ｂ
５７  ポートＡ
５８  ポートＢ
５９  ポートＣ
６０  ポートＤ
６１，６２  スイッチ  
７１  ストレージシステム
【発明を実施するための最良の形態】
【０００８】
(実施例１)
図２にストレージシステムの構成図を示す。
ストレージシステム７１は、例えば２台のホストＡ５１、ホストＢ５２とストレージ装置１とスイッチ６１、スイッチ６２とを有する。また、ホストＡ５１、ホストＢ５２は、接続経路を２つ有する例である。【０００９】
ホストＡ５１は、ポート変更制御部Ａ５３、入出力（以降Ｉ／Ｏ）制御部Ａ５４、ポートＡ５７、ポートＢ５８を有する。
ホストＢ５２は、ポート変更制御部Ｂ５５、Ｉ／Ｏ制御部Ｂ５６、ポートＣ５９、ポートＤ６０を有する。
ポート変更制御部Ａ５３は、ホストＡ５１とストレージ装置１間の接続経路についてメイン経路、サブ経路の変更を行い、ポート変更制御部Ｂ５５は、ホストＢ５２とストレージ装置１間の接続経路についてメイン経路、サブ経路の変更を行う。メイン経路は、アクティブの経路のことを言う。すなわち、メイン経路は、ユーザデータを流す経路である。一方、サブ経路は、ユーザデータを流す動作をしていない予備の経路のことをいう。
ホストＡ５１とストレージ装置１とのメイン経路は、ポートＡ５７、スイッチ６１、チャネルアダプタ２−０、コントローラモジュール（以降ＣＭ）３−０の接続ルートである。また、サブ経路は、ポートＢ５８、スイッチ６２、チャネルアダプタ２−１、ＣＭ３−１の接続ルートである。この接続経路の組合せがデフォルトである。【００１０】
一方、ホストＢ５２とストレージ装置１とのメイン経路は、ポートＤ６０、スイッチ６２、チャネルアダプタ２−１、ＣＭ３−１の接続ルートである。また、サブ経路は、ポートＣ５９、スイッチ６１、チャネルアダプタ２−０、ＣＭ３−０の接続ルートである。この接続経路の組合せがデフォルトである。
Ｉ／Ｏ制御部Ａ５４、Ｉ／Ｏ制御部Ｂ５６は、Ｉ／Ｏコマンドの発行により、ストレージ装置１とのデータのリード／ライト等の制御を行う。Ｉ／Ｏコマンドは、ストレージ装置１の接続状態を監視するパトロール用の経路確認情報やストレージ装置１にデータを書き込むライトコマンド等がある。また経路確認情報に対して、ストレージ装置１から応答を受けると、この応答に含まれる経路識別番号を抽出する。そして、例えばストレージ装置１から応答を受けたのがポートＡ５７ならば、他のポートＢ５８に対して発行されるＩ／Ｏコマンドである経路確認情報に、ストレージ装置１から受信した経路識別情報を付与して送信する。
経路確認情報は、経路を確認するためのコマンドであり、ホスト名、経路識別情報、特定のディスク領域のリード命令、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）等を含む。また、Ｉ／Ｏ制御部Ａ５４、Ｉ／Ｏ制御部Ｂ５６は、経路確認情報を定期的に出力するためのタイマを経路毎に有する。
ポートＡ５７〜ポートＤ６０は、ストレージ装置１とファィバチャネル等で接続するためのインタフェースポートである。ポートＡ５７のＷＷＮは、ＷＷＮ−Ａ、ポートＢ５８のＷＷＮは、ＷＷＮ−Ｂ、ポートＣ５９のＷＷＮは、ＷＷＮ−Ｃ、ポートＤ６０のＷＷＮは、ＷＷＮ−Ｄとする。
スイッチ６１、スイッチ６２は、ホストＡ５１、ホストＢ５２と、をファイバチャネルインタフェース等で接続するための中継装置である。【００１１】
ストレージ装置１は、チャネルアダプタ２−０、チャネルアダプタ２−１、ＣＭ３−０、ＣＭ３−１、ディスク制御モジュール４−０、ディスク制御モジュール４−１、ディスク５−１〜５−３を有する。
チャネルアダプタ２−０は、スイッチ６１と接続され、ホストＡ５１、ホストＢ５２とストレージ装置１間の通信を制御する。
チャネルアダプタ２−１は、スイッチ６２と接続され、ホストＡ５１、ホストＢ５２とストレージ装置１との通信を制御する。
ディスク制御モジュール４−０、ディスク制御モジュール４−１は、ディスク５−１〜５−３との間でデータのリード／ライト制御を行う。
ディスク５−１〜ディスク５−３は、データを格納する装置である。
ＣＭ３−０、ＣＭ３−１は、ホストＡ５１またはホストＢ５２からのデータをディスク制御モジュール４−０またはディスク制御モジュール４−１を介してディスク５−１〜ディスク５−３に格納する。また、ディスク制御モジュール４−０またはディスク制御モジュール４−１を介してディスク５−１〜ディスク５−３からリードしたデータをホストＡ５１またはホストＢ５２に送信する制御を行う。また、ＣＭ３−０、ＣＭ３−１は、コントローラ・ファームウェア・ローディング（以降ＣＦＬ）の制御等を行う。【００１２】
図３にＣＭの構成図を示す。
ＣＭ３は、ＣＭ３−０とＣＭ３−１の２つを有する。ＣＭ３は、ＣＦＬ制御部３１とＩ／Ｏ制御部３２、ＭＰＵ３３とを有する。
ＣＦＬ制御部３１は、改版のためにファームウェアの交換処理を行なう。ここでＣＦＬは常に冗長構成のうち片系を保証した状態で行われる。例えば、ＣＭ３−０の改版中は、ＣＭ３−１は通常状態とする。ＣＦＬ制御部３１は、ファームウェア交換制御部１１、入力部１２、記憶部Ａ１３、経路テーブル１４を有する。
ファームウェア交換制御部１１は、ファームウェアを自動更新する制御を行う。ファームウェア交換制御用のファームウェアが格納されている。また、チャネルアダプタ２にファームウェアが搭載されている場合、ディスク制御モジュール４にファームウェアが搭載されている場合には、それらを含めて更新する構成にすることも可能である。ファームウェア交換制御部１１は、交換制御部２１、情報設定部２２、判定部２３、監視部２４を有する。交換制御部２１は、ＣＦＬ実行の制御を行う。情報設定部２２は、経路確認情報のＩ／Ｏコマンドに対する応答に対して経路識別情報、送信間隔時間の変更要求、メイン経路の変更要求を付加するための設定を行う。ホストＡ５１またはホストＢ５２は、ストレージ装置１のＣＦＬを契機にして経路の切替えが可能である。しかし、ストレージ装置１からメイン経路の変更要求をホストＡ５１またはホストＢ５２に送信することで、メイン経路とサブ経路との経路切替えをスムーズに行える。判定部２３は、ＣＭ３−０の経路テーブル１４−０とＣＭ３−１の経路テーブル１４−１との内容の一致、不一致を判定する。監視部２４は、経路確認情報の送信間隔を測定する。タイムオーバのときには、経路の異常と判断して監視対象の経路に対応する経路テーブル１４の経路識別情報を削除する。【００１３】
入力部１２は、保守端末に接続される。そして、入力部１２は、保守端末から更新ファームウェアがアップロードされると、記憶部Ａ１３に格納する。そして、入力部１２は、保守端末から更新ファームウェアの更新指示が入力されると、その更新指示をファームウェア交換制御部１１に通知する。そして、ファームウェア交換制御部１１は、更新指示を受取ると、ＣＦＬを開始する。
記憶部Ａ１３は、更新ファームウェアを一時的に格納する。この更新ファームウェアは、更新のときにＩ／Ｏ制御部３２、ＣＦＬ制御部３１の各ファームウェアの格納場所に転送される。
経路テーブル１４は、ホストＡ５１またはホストＢ５２とストレージ装置１との接続経路の経路識別情報を格納する。ＣＭ３−０に搭載される経路テーブル１４−０とＣＭ３−１に搭載される経路テーブル１４−１がある。
Ｉ／Ｏ制御部３２は、データのリード／ライト制御等を行なう。Ｉ／Ｏ制御用のファームウェアが格納されている。
ＭＰＵ３３は、ＣＦＬ制御部３１とＩ／Ｏ制御部３２を制御する。【００１４】
図４に経路テーブルの説明図を示す。
図４(a)に経路テーブルの構成例を示す。
ＣＭ３−０の経路テーブル１４−０としては、ポートＡ５７およびポートＣ５９のＷＷＮ、ＳＮＤ−ＩＤ（ＣＭ３−０の送信用の経路識別情報）、ＲＣＶ−ＩＤ（ＣＭ３−１が受信した経路識別情報）を格納している。
一方、ＣＭ３−１の経路テーブル１４−１としては、ポートＢ５８、ポートＤ６０のＷＷＮ、ＳＮＤ−ＩＤ（ＣＭ３−１の送信用の経路識別情報）、ＲＣＶ−ＩＤ（ＣＭ３−０が受信した経路識別情報）を格納している。
図４（ｂ）にＳＮＤ−ＩＤの登録例を示す。
ホストＡ５１のポートＡ５７から経路確認情報をＣＭ３−０は、受信する。この経路確認情報に対する応答に経路識別情報として例えば「１００１」を付加してホストＡ５１にストレージ装置１が送信する。同時にＷＷＮとして、ポートＡ５７の番号であるＷＷＮ−Ａ、経路識別情報として「１００１」をＣＭ３−０の経路テーブル１４−０に格納する。ＣＭ３−１の経路テーブル１４−１には、まだ登録されるものはない。
図４（ｃ）にＲＣＶ−ＩＤの登録例を示す。
ホストＡ５１のポートＢ５８から経路確認情報をＣＭ３−１は、受信する。この経路確認情報にストレージ装置１のＣＭ３−０が送信した経路識別情報「１００１」が含まれている。
そのため、ストレージ装置１は、経路確認情報の中から取得した経路識別情報「１００１」をＲＣＶ−ＩＤとして経路テーブル１４−１に登録する。このため、ポートＢ５８のＷＷＮの番号であるＷＷＮ−Ｂを経路テーブル１４−１にＲＣＶ−ＩＤ「１００１」に対応して登録する。これで、ＣＭ３−０、ホストＡ５１、ＣＭ３−１の経路は確認されたことになる。【００１５】
図５に経路テーブルの登録例を示す。
図５（ａ）は、正常のテーブル例である。
ホストＡ５１とストレージ装置１との間での通信が正常に行われ、しばらく時間が経過すると、ＣＭ３−０の経路テーブル１４−０とＣＭ３−１の経路テーブル１４−１が図５のように生成される。すなわち、経路テーブル１４−０と経路テーブル１４−１間のＳＮＤ−ＩＤ、ＲＣＶ−ＩＤのデータが一致する。
この結果、ＣＭ３−０、ホストＡ５１、ＣＭ３−１の経路は、経路識別情報「１００１」により正常であることが確認されたことになる。ＣＭ３−１、ホストＡ５１、ＣＭ３−０の経路は、経路識別情報「１１０１」により正常であることが確認されたことになる。ＣＭ３−０、ホストＢ５２、ＣＭ３−１の経路は、経路識別情報「１００２」により正常であることが確認されたことになる。ＣＭ３−１、ホストＢ５２、ＣＭ３−０の経路は、経路識別情報「１１０２」により正常であることが確認されたことになる。
これは、経路の冗長化がされていることを示す。このときに、ＣＦＬは、可能となる。
図５（ｂ）は、経路異常が発生したテーブル例である。
ポートＡ５７とＣＭ３−０との経路に異常が発生したときには、監視部２４によりタイムオーバが発生する。その結果、ＷＷＮ−Ａの経路識別情報が消去される例である。【００１６】
次に、動作概要について説明を行う。
一般的にホストＡ５１またはホストＢ５２からのＩ／Ｏコマンドは、スイッチ６１またはスイッチ６２を経由し、ストレージ装置１とのインタフェースとなるチャネルアダプタ２−０またはスイッチ２−１で受信され、ＣＭ３−０またはＣＭ３−１に渡される。ＣＭ３−０またはＣＭ３−１はＩ／Ｏコマンドを解析してリードコマンドまたはライトコマンドであれば、ディスク制御モジュール４−０またはディスク制御モジュール４−１を介してディスク５−１〜ディスク５−３へのアクセスを行う。【００１７】
また、通常時、各ホストＡ５１、ホストＢ５２は、ポートＡ５７〜ポートＤ６０から、経路確認情報を定期的に送信している。ホストＡ５１、ホストＢ５２の経路確認情報の送信間隔は、通常のデータをリード／ライトするＩ／Ｏコマンドに影響を与えないような十分長い間隔である。ストレージ装置１のＣＭ３は、経路確認情報を受信すると、経路識別情報、ＷＷＮ番号を経路テーブル１４に登録する。この経路テーブル１４は、それぞれのＣＭ３−０、ＣＭ３−１で保持している。また、生成した経路識別情報を経路確認情報の応答に付加してホストＡ５１またはホストＢ５２に送信する。登録後に一定時間、経路確認情報を受信しない場合は、タイムアウトによる経路異常として経路テーブル１４から経路識別情報を削除する。【００１８】
また、ＣＭ３は、ＣＦＬ開始の要求を受取ると、ストレージ装置１の内部の故障の有無をチェックして、故障ありの場合には、ＣＦＬは行わない。ＣＭ３は、故障がなければ、ＣＦＬを開始する。ＣＦＬを開始すると、経路確認情報の時間間隔を縮める要求をホストＡ５１、ホストＢ５２に送信する。これは、ＣＦＬ中のときには、経路テーブル１４を早期に最新のものに更新することで、経路の正常または異常の検出を早めるためである。またこれと同時にこれから改版するＣＭ３に接続する経路がメイン経路の場合、あらかじめサブ経路に変更するようにホストＡ５１、ホストＢ５２に要求する。これらの要求は、経路確認情報の応答に付加する。【００１９】
次に、ＣＦＬを行えるかどうかチェックする。ホストＡ５１、ホストＢ５２への経路に異常がないか否かをチェックする。このため、ＣＭ３−０、ＣＭ３−１で保持している経路テーブル１４−０、経路テーブル１４−１に差分がないか否かをチェックする。差分がある場合は、どちらかのＣＭ３を改版する際に経路が切れてしまうことを意味する。差分があると判断した場合は、ＣＦＬを実行しない。ただし、保守者を介在させる場合はその判断に一度ゆだねてもよい。差分がない場合には、例えばＣＭ３−０のファームウェアの改版を実行する。
次にＣＭ３−０の改版が終了して起動してきた場合、ＣＭ３−０は起動したばかりのため、経路テーブル１４−０は空である。このため、経路テーブル１４を更新するため、経路確認情報をしばらく受ける。この後、ＣＭ３−１の改版に移れるかチェックする。チェック方法は、同じでＣＭ３−０、ＣＭ３−１間の経路テーブル１４−０と経路テーブル１４−１とに差分がないかチェックする。
もし差分がある場合は、経路テーブル１４−０と経路テーブル１４−１を確認して可能であれば先に行ったＣＭ３−０の版数を自動で切戻す処理に移ってもよいし、ＣＭ３−１の改版処理に移行してもよい。保守者が介在する場合は、一度その判断にゆだねても良く、保守者が経路を復旧させてから、後半のＣＭ３−１の改版に移ることも出来る。もちろん差分がない場合は、自動で後半のＣＭ３−１の改版に移る。
最後に、ホストＡ５１、ホストＢ５２への経路確認情報送信間隔をデフォルトに戻し終了とする。【００２０】
このようにホストＡ５１またはホストＢ５２に経路識別情報を送信し、経路識別情報を送信した経路とは、別の全ての経路から、経路識別情報をホストＡ５１またはホストＢ５２から受信することで、ホストＡ５１、ホストＢ５２とストレージ装置１間の経路の正常異常を正確に検出できる。この結果、ストレージ装置１のファームウェアの改版の際に、業務処理を停止することなく、また保守者のオペレーションを行わずに、自動的にファームウェアの改版を実施することが可能となる。【００２１】
次にＣＦＬ制御の詳細説明を行う。正常のシーケンスの例である。
図６に処理シーケンス例の説明図１を示す。
ＣＭ３−０は、ＣＦＬ要求を検出すると、ＣＦＬを開始する（Ｓ１）。
ホストＡ５１とＣＭ３−０との経路がメイン経路であり、ホストＡ５１とＣＭ３−１との経路がサブ経路である。この接続がデファルトの例である。
まず、ホストＡ５１から経路確認情報が送信間隔ＸのタイミングでＣＭ３−０に送信されて来るので、それに対応して送信間隔Ｙへの変更要求およびサブ経路への経路変更要求、ＣＭ３−０で生成した経路識別情報「１００１」を付与した応答を返送する。同時に、経路テーブル１４−０のＷＷＮ−ＡのＳＮＤ−ＩＤに「１００１」を格納する。
次に、ホストＡ５１は、ＣＭ３−０から応答を受けると、経路識別情報「１００１」を取得する。次に、ポートＢ５８に対して送信間隔Ｘのタイミングで、経路確認情報に経路識別情報「１００１」を付与して、ＣＭ３−１に送信する。
ＣＭ３−１は、経路確認情報を受信すると、その経路確認情報に対して送信間隔Ｙへの変更要求およびメイン経路への経路変更要求、ＣＭ３−１で生成した経路識別情報「１１０１」を付与した応答を返送する。同時に、経路テーブル１４−１のＷＷＮ−ＢのＳＮＤ−ＩＤに「１１０１」ＲＣＶ−ＩＤに「１００１」を格納する。そして、ＣＭ３−１から応答を受信したホストＡ５１は、次のＣＭ３−０への経路確認情報の送信のときに経路識別情報「１１０１」を付与する（Ｓ２）。【００２２】
一方、ホストＢ５２とＣＭ３−０との経路は、サブ経路であり、ホストＢ５２とＣＭ３−１との経路はメイン経路である。この接続がデファルトの例である。
ホストＢ５２から経路確認情報が送信間隔ＸのタイミングでＣＭ３−０に送信されて来るので、それに対応して送信間隔Ｙへの変更要求、ＣＭ３−０で生成した経路識別情報「１００２」を付与した応答を返送する。同時に、経路テーブル１４−０のＷＷＮ−ＣのＳＮＤ−ＩＤに「１００２」を格納する。
次に、ホストＢ５２は、ＣＭ３−０から応答を受けると、経路識別情報「１００２」を取得する。次に、ポートＤ６０に対して、送信間隔Ｘのタイミングで、経路確認情報に経路識別情報「１００２」を付与して、ＣＭ３−１に送信する。
ＣＭ３−１は、経路確認情報を受信すると、その経路確認情報に対して送信間隔Ｙへの変更要求、ＣＭ３−１で生成した経路識別情報「１１０２」を付与した応答を返送する。同時に、経路テーブル１４−１のＷＷＮ−ＤのＳＮＤ−ＩＤに「１１０２」、ＲＣＶ−ＩＤに「１００２」を格納する。そして、ホストＢ５２は、次のＣＭ３−０への経路確認情報の送信のときに経路識別情報「１１０２」を付与する（Ｓ３）。【００２３】
次に、ホストＡ５１から経路確認情報に経路識別情報「１１０１」が付与された情報が送信間隔ＹのタイミングでＣＭ３−０に送信されて来るので、それに対応してＣＭ３−０で生成した経路識別情報「１００１」を付与した応答を返送する。このとき、経路テーブル１４−０のＷＷＮ−ＡのＳＮＤ−ＩＤに「１００１」、ＲＣＶ−ＩＤには、「１１０１」を格納する。
次に、ホストＡ５１は、ＣＭ３−０から応答を受けると、経路識別情報「１００１」を取得して、経路確認情報に付与して、送信間隔Ｙのタイミングで、ＣＭ３−１に送信する。
ＣＭ３−１は、経路確認情報を受信すると、その経路確認情報に経路識別情報「１１０１」を付与して応答を返送する。同時に、経路テーブル１４−１のＷＷＮ−ＢのＳＮＤ−ＩＤに「１１０１」、ＲＣＶ−ＩＤに「１００１」を格納する。ＣＭ３−１から応答を受信したホストＡ５１は、次のＣＭ３−０への経路確認情報の送信のときに経路識別情報「１１０１」を付与する（Ｓ４）。
ホストＢ５２から経路識別情報「１１０２」を含む経路確認情報が送信間隔ＹのタイミングでＣＭ３−０に送信されて来るので、それに対応してＣＭ３−０で生成した経路識別情報「１００２」を付与した応答を返送する。このとき、経路テーブル１４−０のＷＷＮ−ＣのＳＮＤ−ＩＤを「１００２」として格納する。また、ＷＷＮ−ＣのＲＣＶ−ＩＤには、「１１０２」を格納する。
次に、ホストＢ５２は、ＣＭ３−０から応答を受けると、経路識別情報「１００２」を取得すると、経路確認情報に付与して、送信間隔Ｙのタイミングで、ＣＭ３−１に送信する。ＣＭ３−１は、経路確認情報を受信すると、その経路確認情報に対応してＣＭ３−１で生成した経路識別情報「１１０２」を付与した応答を返送する。同時に、ＣＭ３−１は、経路テーブル１４−１のＷＷＮ−ＤにＳＮＤ−ＩＤに「１１０２」、ＲＣＶ−ＩＤに「１００２」を格納する。そして、ホストＢ５２は、次のＣＭ３−０の経路確認情報の送信のときに経路識別情報「１１０２」を付与する（Ｓ５）。
この結果、経路テーブル１４の内容が更新される。
次に、更新された経路テーブルのチェック処理を行なう（Ｓ６）。例えば図５に示す状態である。経路テーブル１４−０と経路テーブル１４−１との間のチェック結果が一致している例のため、ＣＭ３−０は改版処理を行なう（Ｓ７）。【００２４】
図７に処理シーケンス例の説明図２を示す。
以降、経路識別情報の送受信の説明は省略する。ＣＭ３−０の改版処理後、経路確認情報をホストＡ５１から送信間隔Ｙで受信したときに、ＣＭ３−０、ＣＭ３−１は、メイン経路を変更する要求をホストＡ５１に対して行う（Ｓ８）。
一方、経路確認情報をホストＢ５２から送信間隔Ｙで受信したときに、ＣＭ３−０、ＣＭ３−１は、メイン経路の経路変更要求をホストＢ５２に対して行う（Ｓ９）。
次に、ホストＡ５１からＣＭ３−０はメイン経路として、ＣＭ３−１は、サブ経路として経路確認情報を送信間隔Ｙで受信する。（Ｓ１０）。
また、ホストＢ５２からＣＭ３−０はメイン経路として、ＣＭ３−１は、サブ経路として、経路確認情報を送信間隔Ｙで受信する（Ｓ１１）。
この状態では、最新の経路テーブル１４の状態が取得できる。
経路テーブル１４−０、経路テーブル１４−１のチェックを行う（Ｓ１２）。
一致していれば、ＣＭ３−１は改版処理を行なう（Ｓ１３）。【００２５】
図８に処理シーケンス例の説明図３を示す。
ＣＭ３−１の改版処理後に、経路確認情報をホストＡ５１から送信間隔Ｙで受信したときに、ＣＭ３−０、ＣＭ３−１は、送信間隔をＸにする要求をホストＡ５１に対して行う（Ｓ１４）。
一方、経路確認情報をホストＢ５２から送信間隔Ｙで受信したときに、ＣＭ３−０、ＣＭ３−１は、送信間隔をＸにする要求、メイン経路の経路変更要求をホストＢ５２に対して行う（Ｓ１５）。
次に、ＣＭ３−０、ＣＭ３−１は、経路確認情報をホストＡ５１から送信間隔Ｘで受信する（Ｓ１６）。
また、ＣＭ３−０はサブ経路、ＣＭ３−１はメイン経路として経路確認情報をホストＢ５２から送信間隔Ｘで受信する（Ｓ１７）。
そして、ＣＦＬ終了とする（Ｓ１８）。【００２６】
図９にＣＭ間の処理シーケンス例１を示す。
まず、ＣＭ３−０がＣＦＬ開始をする（Ｓ３１）。
ＣＭ３−０からＣＭ３−１にＣＦＬ開始通知をする。ＣＭ３−１は、ＣＦＬ開始としＣＭ３−０にＣＦＬ開始通知に対する応答を返送する（Ｓ３２）。
次に、ＣＭ３−０は、ホストＡ５１から経路確認情報を受信したときに、送信間隔Ｙへの変更要求およびメイン経路の経路変更要求をする。また、ホストＢ５２から経路確認情報を受信したときに、送信間隔Ｙへの変更要求をする。（Ｓ３３）。
また、ＣＭ３−１は、ホストＡ５１から経路確認情報を受信したときに、送信間隔Ｙへの変更要求および経路変更要求をする。また、ホストＢ５２から経路確認情報を受信したときに、送信間隔Ｙへの変更要求をする（Ｓ３４）。
その後、ＣＭ３−０、ＣＭ３−１は、ホストＡ５１又はホストＢ５２からの経路確認情報に対して、経路テーブル１４の更新を行う。
その後、ＣＭ３−０は、経路情報の取得をＣＭ３−１に依頼すると、ＣＭ３−１は、経路テーブル１４−１の内容を返送する（Ｓ３５）。
ＣＭ３−０は、経路テーブル１４−０と経路テーブル１４−１とが一致するか否かのチェックを行う（Ｓ３６）。
経路テーブル１４−０と経路テーブル１４−１とが不一致の場合には、ＣＭ３−０は、ＣＭ３−１の送信間隔をＸに戻すために経路確認情報制御をＣＭ３−１に依頼する。そしてＣＭ３−１から応答を受ける（Ｓ３７）。
ＣＭ３−０は、ホストＡ５１、ホストＢ５２への経路確認情報の送信間隔をＸに変更する要求を行う。（Ｓ３８）。
ＣＭ３−１は、ホストＡ５１、ホストＢ５２への経路確認情報の送信間隔をＸに変更する要求を行う（Ｓ３９）。
ＣＭ３−０は、ＣＦＬの終了通知をＣＭ３−１に送付する。ＣＭ３−１は、ＣＦＬ終了とし、ＣＦＬの終了通知の受領応答する（Ｓ４０）。
そして、ＣＭ３−０は、ＣＦＬ終了とする（Ｓ４１）。
一方、経路テーブル１４のチェックＯＫの場合には、マスタ変更要求をＣＭ３−１に通知して応答を受ける（Ｓ４２）。
次に、マスタがＣＭ３−０からＣＭ３−１に変更処理が終わると、ＣＭ３−１からＣＭ３−０に改版指示を通知する。ＣＭ３−０は、受領応答をＣＭ３−１に送信する（Ｓ４３）。【００２７】
図１０にＣＭ間の処理シーケンス例２を示す。
ＣＭ３−０は、改版の指示を受けたので、改版を実行する（Ｓ４４）。
次に、ＣＭ３−１は、ＣＭ３−０の改版状況を管理して改版の終了を確認する（Ｓ４５）。
次に、ＣＭ３−１は、経路変更要求についての経路確認情報制御依頼をＣＭ３−０に送出するとＣＭ３−０は、ＣＭ３−１に、応答する（Ｓ４６）。
次に、ＣＭ３−０は、ホストＡ５１、ホストＢ５２からの経路確認情報の受信のときに、メイン経路の変更要求を行う（Ｓ４７）。
また、ＣＭ３−１は、ホストＡ５１、ホストＢ５２からの経路確認情報の受信のときに、メイン経路の変更要求を行う（Ｓ４８）。
その後、ホストＡ５１又はホストＢ５２からの経路確認情報に対して、ＣＭ３−０は、ＣＭ３−１は、経路テーブル１４の更新を行う。
次に、ＣＭ３−１は、ＣＭ３−０に経路情報の取得を依頼する。ＣＭ３−０、ＣＭ３−１に経路テーブル１４−０の内容を返送する（Ｓ４９）。
ＣＭ３−１は、経路テーブル１４の一致をチェックする（Ｓ５０）。
経路テーブル１４−０と経路テーブル１４−１とが不一致の場合には、ＣＭ３−１は、版数をもとに戻すための改版指示をＣＭ３−０に依頼し応答を受ける（Ｓ５１）。
ＣＭ３−０は、版数を元に戻す改版を実行する（Ｓ５２）。
次に、ＣＭ３−１は、改版の終了を確認すると、改版完了確認とする（Ｓ５３）。
そして、ＣＭ３−１は、送信間隔Ｘに変更する経路確認情報制御依頼をＣＭ３−０に送出すると、ＣＭ３−０は、ＣＭ３−１に、受領応答する（Ｓ５４）。
次に、ＣＭ３−０は、ホストＡ５１、ホストＢ５２からの経路確認情報の受信のときに、経路確認情報の送信間隔をＸにする変更要求を行う（Ｓ５５）。
また、ＣＭ３−１は、ホストＡ５１、ホストＢ５２からの経路確認情報の受信のときに、経路確認情報の送信間隔をＸにする変更要求を行う（Ｓ５６）。
次に、ＣＭ３−１は、マスタ変更要求をＣＭ３−０に通知して応答を受ける（Ｓ５７）。
次に、ＣＭ３−０は、マスタがＣＭ３−１からＣＭ３−０に変更する処理が終わると、ＣＦＬ終了通知をＣＭ３−１に通知する。ＣＭ３−１は、応答をＣＭ３−０に送信する（Ｓ５８）。ＣＭ３−１は、処理を終了する。
そして、ＣＭ３−０は、ＣＦＬを終了する（Ｓ５９）。【００２８】
図１１にＣＭ間の処理シーケンス例３を示す。
一方、経路テーブル１４−０と経路テーブル１４−１の内容が一致する場合には、ＣＭ３−１は、マスタ変更要求をＣＭ３−０に通知して応答を受ける（Ｓ６０）。
次に、ＣＭ３−１からＣＭ３−０にマスタへの変更処理が終わると、ＣＭ３−０は、ＣＭ３−１に改版指示を通知する。ＣＭ３−１は、受領応答をＣＭ３−０に送信する（Ｓ６１）。
そして、ＣＭ３−１は、改版を実行する（Ｓ６２）。
次に、ＣＭ３−０は、改版の終了を確認すると、改版完了確認とする（Ｓ６３）。
そして、ＣＭ３−０は、送信間隔をＸに変更する経路確認情報制御依頼をＣＭ３−１に送出する。ＣＭ３−１は、ＣＭ３−０に、受領応答する（Ｓ６４）。
次に、ＣＭ３−０は、ホストＡ５１からの経路確認情報の受信のときに、経路確認情報の送信間隔をＸにする変更要求を行う。また、ホストＢ５２からの経路確認情報の受信のときに、経路確認情報の送信間隔をＸ、メイン経路の経路変更要求を行う（Ｓ６５）。
また、ＣＭ３−１は、ホストＡ５１からの経路確認情報の受信のときに、経路確認情報の送信間隔をＸにする変更要求を行う。また、ホストＢ５２からの経路確認情報の受信のときに、経路確認情報の送信間隔をＸ、メイン経路の経路変更要求を行う（Ｓ６６）。
ＣＭ３−０は、ＣＭ３−１にＣＦＬ終了通知を送る。ＣＭ３−１は、ＣＦＬ処理を終了し、ＣＭ３−０に受領応答をする（Ｓ６７）。
ＣＭ３−０は、ＣＦＬは、終了する（Ｓ６８）。【００２９】
図１２にホストの経路確認情報の処理の流れ図を示す。
ホストＡ５１またはホストＢ５２は、経路毎にタイマを有する。タイマは、予め設定してあるものとする。
ホストＡ５１またはホストＢ５２の経路確認情報の処理の流れ図である。
まず、経路確認情報の指定された送信間隔がタイムアップしたかどうかを確認する。初期値は、送信間隔Ｘである（Ｓ８１）。タイムアップしていない場合には、処理を終了する。
次に、タイムアップしている場合には、タイマセットし、経路確認情報をストレージ装置１に送信する（Ｓ８２）。
次に応答を受信する（Ｓ８３）。
応答を受信した場合には、経路識別情報を抽出する（Ｓ８４）。
そして、他の経路の経路確認情報にその経路識別情報を付加する設定を行う（Ｓ８５）。
応答に経路確認情報の時間間隔の変更要求あるかどうかをチェックする（Ｓ８６）。
変更要求がある場合には、タイマ値を指定値に変更する（Ｓ８７）。
次に、応答にメイン経路の変更要求があるか否かをチェックする（Ｓ８８）。
変更要求がある場合には、メイン経路の変更を行う（Ｓ８９）。
また、ストレージ装置１からの応答がない場合には、処理を終了する。【００３０】
図１３にＣＭの経路確認情報の処理の流れ図を示す。
まずストレージ装置１は、経路確認情報の受信か否かをチェックする（Ｓ９１）。
経路確認情報の場合には、経路テーブル１４を更新する（Ｓ９２）。
そして、応答に経路識別情報を付加して返送する。ＣＦＬ開始中のときは、経路識別情報の他に、ホストＡ５１またはホストＢ５２からの経路確認情報の送信間隔を変更する要求、メイン経路を変更する経路変更要求を応答に付加することができる（Ｓ９３）。
次に、経路確認情報の送信間隔のタイマをセットとする（Ｓ９４）。
経路確認情報の受信ではないときには、タイマがアップしているか否かをチェックする（Ｓ９５）。
タイムアップしているときには、該当の経路識別情報を経路テーブル１４から削除する（Ｓ９６）。【００３１】
以上の説明のように、ホストＡ５１またはホストＢ５２からの接続経路についての経路テーブル１４に基づいてファームウェアの活性交換を行うため、ホストＡ５１またはホストＢ５２とストレージ装置１の間の業務が停止することを避けることができる。また、保守者は、ホストＡ５１、ホストＢ５２とストレージ装置１との間の経路の状態確認の操作を行う必要がなくなるため、保守者の負担が軽減される。
【産業の利用可能性】
【００３２】
ストレージ装置とホストとの間での業務処理中においてストレージ装置のファームウェアの活性交換を行う用途に用いることができる。
【図１】
2008114360.tif 000003
【図２】
2008114360.tif 000004
【図３】
2008114360.tif 000005
【図４】
2008114360.tif 000006
【図５】
2008114360.tif 000007
【図６】
2008114360.tif 000008
【図７】
2008114360.tif 000009
【図８】
2008114360.tif 000010
【図９】
2008114360.tif 000011
【図１０】
2008114360.tif 000012
【図１１】
2008114360.tif 000013
【図１２】
2008114360.tif 000014
【図１３】
2008114360.tif 000015
【国際調査報告】
2008114360.tif 000016
2008114360.tif 000017