(57)【要約】【課題】  上位装置からの入出力命令に対するディスクアレイ装置の応答性能を改善する、ＬＵＮを制御するコントローラの切り替え装置を提供すること。【解決手段】  コントローラとディスク装置の接続関係情報を格納する機器構成記憶手段と、入出力命令をコントローラ経由で受信して、入出力命令が対象とするディスク装置を特定し、当該ディスクが当該コントローラに接続されているか否かを接続関係情報から判断し、接続されていない場合、当該ディスクを当該コントローラに接続させる指令する指令手段と、を備える。【選択図】      図1
2014197282.tif 000002
【特許請求の範囲】
【請求項１】
ディスク装置に対する入出力の命令を上位装置から受信して、当該ディスク装置が自装置に接続されている場合は当該入出力を実行し、他装置に接続されている場合は当該他装置に当該入出力を依頼する、複数のコントローラに接続されている切り替え装置であって、
前記コントローラと前記ディスク装置の接続関係情報を格納する機器構成記憶手段と、
前記命令を前記コントローラ経由で受信して、前記命令が対象とする前記ディスク装置を特定し、当該ディスクが当該コントローラに接続されているか否かを前記接続関係情報から判断し、接続されていない場合、当該ディスクを当該コントローラに接続させる指令手段と、を備える切り替え装置。
【請求項２】
前記指令手段は、同一の前記ディスク装置と前記コントローラのペアに対して、対象とする前記ディスク装置が前記命令を受信したコントローラに接続されていない前記命令を連続して所定回数以上受信した場合に、当該ディスクを当該コントローラに接続させる、請求項１の切り替え装置。
【請求項３】
複数の前記コントローラと、
前記コントローラの各々に接続された前記上位装置と、
前記ディスク装置と、
請求項１ないし２の何れかの切り替え装置と、
を含む記憶システム。
【請求項４】
ディスク装置に対する入出力の命令を上位装置から受信し、当該ディスク装置が自装置に接続されている場合は当該入出力を実行し、他装置に接続されている場合は当該他装置に当該入出力を依頼する、複数のコントローラの各々と前記ディスク装置の接続関係情報を格納し、
前記命令を前記コントローラ経由で受信して、前記命令が対象とする前記ディスク装置を特定し、当該ディスク装置が当該コントローラに接続されているか否かを前記接続関係情報から判断し、接続されていない場合、当該ディスクを当該コントローラに接続させる、
切り替え方法。
【請求項５】
同一の前記ディスク装置と前記コントローラのペアに対して、対象とする前記ディスク装置が前記命令を受信したコントローラに接続されていない前記命令を連続して所定回数以上受信した場合に、当該ディスクを当該コントローラに接続させる、請求項４の切り替え方法。
【請求項６】
ディスク装置に対する入出力の命令を上位装置から受信して、当該ディスク装置が自装置に接続されている場合は当該入出力を実行し、他装置に接続されている場合は当該他装置に当該入出力を依頼する、複数のコントローラに接続されているコンピュータに、
前記コントローラと前記ディスク装置の接続関係情報を格納する処理と、
前記命令を前記コントローラ経由で受信して、前記命令が対象とする前記ディスク装置を特定し、当該ディスク装置が当該コントローラに接続されているか否かを前記接続関係情報から判断し、接続されていない場合、当該ディスクを当該コントローラに接続させる、
処理を実行させる切り替えプログラム。
【請求項７】
同一の前記ディスク装置と前記コントローラのペアに対して、対象とする前記ディスク装置が前記命令を受信したコントローラに接続されていない前記命令を連続して所定回数以上受信し、当該ディスクを当該コントローラに接続させる、処理をコンピュータに実行させる請求項６の切り替えプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、切り替え装置、この装置を搭載した記憶システム、切り替え方法および切り替えプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ローカルキャッシュ方式のコントローラを有したディスクアレイ装置で、ＳＣＳＩ―３の標準仕様のＡＬＵＡ（Ａｓｙｍｍｅｔｒｉｃ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ａｃｃｅｓｓ）方式を用いて、論理ディスク（ＬＵＮ）とアクセスパスの冗長構成で障害発生のときにアクセスパスを変更し、ＬＵＮに対するアクセスを切り替えることで性能の低下を抑止する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２０８８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１が開示する、このＡＬＵＡ方式は、入出力の対象となるＬＵＮにデータをアクセスする最適なコントローラを選択しないと、上位装置からの命令の内容により、命令をうけたコントローラから他のコントローラを経由し、目的のＬＵＮへのデータを伝送する経路が長くなるという欠点がある。
【０００５】
したがって、特許文献１の技術を適用したディスクアレイ装置は、伝送効率の悪いデータ伝送経路を使用する結果となり、上位装置に対するディスクアレイ装置の応答性能が低下するという問題がある。
【０００６】
本発明の目的は、上記問題を解決する切り替え装置、この装置を搭載した記憶システム、切り替え方法および切り替えプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
切り替え装置は、ディスク装置に対する入出力の命令を上位装置から受信して、当該ディスク装置が自装置に接続されている場合は当該入出力を実行し、他装置に接続されている場合は当該他装置に当該入出力を依頼する、複数のコントローラに接続されている切り替え装置であって、
前記コントローラと前記ディスク装置の接続関係情報を格納する機器構成記憶手段と、
前記命令を前記コントローラ経由で受信して、前記命令が対象とする前記ディスク装置を特定し、当該ディスクが当該コントローラに接続されているか否かを前記接続関係情報から判断し、接続されていない場合、当該ディスクを当該コントローラに接続させる指令手段と、を備える。
【０００８】
切り替え方法は、ディスク装置に対する入出力の命令を上位装置から受信し、当該ディスク装置が自装置に接続されている場合は当該入出力を実行し、他装置に接続されている場合は当該他装置に当該入出力を依頼する、複数のコントローラの各々と前記ディスク装置の接続関係情報を格納し、
前記命令を前記コントローラ経由で受信して、前記命令が対象とする前記ディスク装置を特定し、当該ディスク装置が当該コントローラに接続されているか否かを前記接続関係情報から判断し、接続されていない場合、当該ディスクを当該コントローラに接続させる。
【０００９】
切り替えプログラムは、  ディスク装置に対する入出力の命令を上位装置から受信して、当該ディスク装置が自装置に接続されている場合は当該入出力を実行し、他装置に接続されている場合は当該他装置に当該入出力を依頼する、複数のコントローラに接続されているコンピュータに、
前記コントローラと前記ディスク装置の接続関係情報を格納する処理と、
前記命令を前記コントローラ経由で受信して、前記命令が対象とする前記ディスク装置を特定し、当該ディスク装置が当該コントローラに接続されているか否かを前記接続関係情報から判断し、接続されていない場合、当該ディスクを当該コントローラに接続させる、
処理を実行させる。
【発明の効果】
【００１０】
本発明は、上位装置からの命令に対する応答時間を短縮することが出来る。
【図面の簡単な説明】
【００１１】
【図１】本発明の第２の実施の形態の切り替え装置のブロック図である。
【図２】本発明の第１の実施の形態の記憶システムのブロック図である。
【図３】機器構成記憶部（初期値）の図である。
【図４】機器構成記憶部（変更後）の図である。
【図５】命令分析集計記憶部の図である。
【図６】命令の例を示す図である。
【発明を実施するための形態】
【００１２】
（第１の実施の形態）
図面を参照して、本発明の第１の実施の形態について説明する。図２は本発明の第１の実施の形態の記憶システム１１０を示すブロック図である。
【００１３】
記憶システム１１０は、切り替え装置１００、第１のコントローラ５−１、第２のコントローラ５−２、論理ディスク（ＬＵＮ）ａ、論理ディスク（ＬＵＮ）ｂ、論理ディスク（ＬＵＮ）ｃ、論理ディスク（ＬＵＮ）ｄ、上位装置５０−１および上位装置５０−２を含む。なお、論理ディスクは、以後ＬＵＮと記す。
【００１４】
コントローラ５および上位装置５０は２台以上あっても良い。またＬＵＮはコントローラ５当たり１台以上有ればよい。
【００１５】
切り替え装置１００は、機器構成記憶部１０３、命令分析集計記憶部１０４、指令部１０５を含む
第１のコントローラ５−１および第２のコントローラ５−２は、上位装置５０−１あるいは上位装置５０−２からのデータ入出力の命令をうけて、配下にあるＬＵＮａないしＬＵＮｄの何れかにデータ入出力の制御を行う。更に、第１のコントローラ５−１および第２のコントローラ５−２は、上位装置５０−１あるいは上位装置５０−２から受けたデータ入出力の命令を、指令部１０５に出力する。
【００１６】
ＬＵＮａからＬＵＮｄは、磁気ディスクなどで構成された論理ディスクである。上位装置５０−１および上位装置５０−２は、コンピュータなどの情報処理装置である。
【００１７】
本実施の形態の切り替え装置１００の機器構成記憶部１０３、命令分析集計記憶部１０４、指令部１０５は、論理回路、記憶システム等で構成される。指令部１０５は、コンピュータが備える処理装置が、記憶システムに格納されたプログラムを読み込んで実行することで実現してもよい。
【００１８】
機器構成記憶部１０３は、第１のコントローラ５−１の識別子および第２のコントローラ５−２の識別子を記憶している。機器構成記憶部１０３は、第１のコントローラ５−１および第２のコントローラ５−２に接続されているＬＵＮａからＬＵＮｄの各々の識別子を記憶している。機器構成記憶部１０３は、前述のＬＵＮａからＬＵＮｄの各々に対して、第１のコントローラ５−１および第２のコントローラ５−２がデータの入出力を制御できる支配権を有するか否かを示す支配権情報を記憶している。
【００１９】
以降、支配権があるコントローラとＬＵＮは（論理的に）接続され、支配権がないコントローラとＬＵＮは（論理的に）接続されていないとも言う。
【００２０】
機器構成記憶部１０３は、ＬＵＮａないしＬＵＮｄの何れかに対するコントローラの支配権が変更となった場合には、前述の支配権情報が書き換えられる。
【００２１】
命令分析集計記憶部１０４は、上位装置５０−１あるいは上位装置５０−２からデータ入出力の命令を受けたコントローラの識別子とデータ読み出し元である第１のＬＵＮの識別子およびデータ書き込み先である第２のＬＵＮの識別子を記憶している。
【００２２】
命令分析集計記憶部１０４は、指令部１０５が機器構成記憶部１０３を参照して抽出した第１のＬＵＮの支配権を持つコントローラ（メインコントローラ）の識別子および第２のＬＵＮの支配権を持つコントローラ（メインコントローラ）の識別子を記憶している。
【００２３】
指令部１０５が上位装置５０−１あるいは上位装置５０−２からデータ入出力の命令を受けたコントローラと、第１のＬＵＮのメインコントローラおよび第２のＬＵＮのメインコントローラとが同一の場合は、コントローラ間の通信なしと判断し、同一ではない場合は、コントローラ間の通信ありと判断して、得られた判断結果を、命令分析集計記憶部１０４が記憶する。
【００２４】
指令部１０５が、コントローラ間通信なしの判断結果の場合は、コントローラ間通信の回数を０とし、コントローラ間の通信ありの判断結果が連続する場合は、連続の回数を計測して、その回数を、命令分析集計記憶部１０４に記憶させる。
【００２５】
指令部１０５は、受け取った前述の命令から、上位装置５０−１あるいは上位装置５０−２からの命令を受け取った第１のコントローラと第１のＬＵＮおよび第２のＬＵＮを抽出する。
【００２６】
司令部１０５は、抽出した第１のＬＵＮないし第２のＬＵＮの何れかに対する第１のコントローラの支配権情報を、機器構成記憶部１０３から検索する。
【００２７】
司令部１０５は、検索した結果が、第１のコントローラが第１のＬＵＮないし第２のＬＵＮの何れかのメインコントローラではない場合は、機器構成記憶部１０３から第１のＬＵＮないし第２のＬＵＮの何れかのメインコントローラに割り当てられている第２のコントローラを抽出する。
【００２８】
司令部１０５は、第１のＬＵＮないし第２のＬＵＮの何れかに対する第１のコントローラの支配権情報を、サブコントローラからメインコントローラに書き換え、第１のＬＵＮないし第２のＬＵＮの何れかに対する第２のコントローラの支配権情報を、メインコントローラからサブコントローラに書き換える処理を前記機器構成記憶部１０３に行う。
【００２９】
司令部１０５は、各々のコントローラに対して、書き換える処理を行った機器構成記憶部１０３を参照させる指令を行って、各々のコントローラに、支配権情報を認識させる。
（動作の説明）
次に、記憶システム１１０の動作を説明する。
【００３０】
記憶システム１１０に電源が投入されると、切り替え装置１００の指令部１０５は、第１のコントローラ５−１と第２のコントローラ５−２に対して、機器構成記憶部１０３のコントローラの支配権情報を読みこむ指令を出力する。
【００３１】
なお、機器構成記憶部１０３の接続情報の初期値は、切り替え装置１００の製造時に予めオペレータが外部のコンソールなどから書き込む、などで準備される。
【００３２】
ここでは、上位装置５０−１からデータ転送の命令が出力されて、第１のコントローラ５−１がこの命令を受け取り、第１のコントローラ５−１を経由した命令を切り替え装置１００の指令部１０５が受け取る状態を例に説明する。
【００３３】
ここで、図３および図５を参照して、動作を説明する。図２における第１のコントローラ５−１をＣ１とし、第２のコントローラ５−２をＣ２とする。第１のＬＵＮをＬＵＮａとし、第２のＬＵＮをＬＵＮｃとして説明する。
【００３４】
上位装置５０−１からデータ入出力の命令が出力され、第１のコントローラ５−１（Ｃ１）がこの命令を受け取る。次に、Ｃ１から指令部１０５がこの命令を受け取る。
【００３５】
ここで、図６を用いて前述の命令の例を説明する。命令はＯＰ部とＣ部、Ｌ１部およびＬ２部を含む。ＯＰ部には入力、出力またはコピーを指令する命令が記載されている。Ｃ部には、命令を送付する対象であるＣ１の識別子が記載されている。Ｌ１部は、データの読み出し元である第１のＬＵＮの識別子が記載されている。Ｌ２部は、データ書き出し先の第２のＬＵＮの識別子が記載されている。ＯＰ部が入力または出力のとき、Ｌ１部またはＬ２部の一方のみが有効である。
【００３６】
先ず、指令部１０５が、命令のＣ部からＣ１が命令を受けたことを抽出する。
【００３７】
指令部１０５が、命令のＬ１部から、第１のＬＵＮはＬＵＮａであることを抽出する。
【００３８】
指令部１０５が、命令のＬ２部から、第２のＬＵＮはＬＵＮｃであることを抽出する。
【００３９】
次に、指令部１０５が、機器構成記憶部１０３のＣ１の項を参照して、ＬＵＮａのコントローラの支配権が１であることを認識する。指令部１０５が、機器構成記憶部１０３のＣ１の項を参照して、ＬＵＮｃのコントローラの支配権が０であることを認識する。したがって、指令部１０５は、上位装置５０−１から命令をうけたＣ１は、ＬＵＮａのメインコントローラであり、ＬＵＮｃのサブコントローラであることを認識し、Ｃ１がＬＵＮｃに対して直接読み出し書き込みの制御を実行できないと判断する。
【００４０】
指令部１０５が、機器構成記憶部１０３のＣ２の項を参照して、ＬＵＮｃのコントローラの支配権が１であることを認識する。指令部１０５が、機器構成記憶部１０３のＣ２の項を参照して、ＬＵＮａのコントローラの支配権が０であることを認識する。したがって、指令部１０５は、上位装置５０−１から命令をうけたＣ２は、ＬＵＮｃのメインコントローラであり、ＬＵＮａのサブコントローラであることを認識し、Ｃ２がＬＵＮａに対して直接読み出し書き込みの制御を実行できないと判断する。
【００４１】
次に、指令部１０５が、命令分析集計記憶部１０４の、命令を受けたコントローラの識別子の欄にＣ１を、第１のＬＵＮの識別子の欄にＬＵＮａを、第１の識別子のメインコントローラの識別子の欄にＣ１を、第２のＬＵＮの識別子の欄にＬＵＮｃを、第２のメインコントローラの識別子の欄にＣ２を、それぞれ記憶する。
【００４２】
更に指令部１０５が、命令分析集計記憶部１０４の、命令を受けたコントローラの識別子の欄と、第１のＬＵＮのメインコントローラの識別子の欄と、第２のＬＵＮのメインコントローラの識別子の欄と、を比較する。比較した結果が同一のコントローラである場合は、指令部１０５が、Ｃ１およびＣ２の間で通信の発生が無いと判断する。比較した結果が同一のコントローラで無い場合は、指令部１０５が、Ｃ１およびＣ２の間で通信の発生が有ると判断する。指令部１０５が、前述の判断した結果を命令分析集計記憶部１０４のコントローラ間通信の有無の欄に記憶する。
【００４３】
指令部１０５が、次の命令を更に受け取り、分析を繰り返す。そして、指令部１０５が、命令を受けたコントローラの識別子の欄と、第１のＬＵＮの識別子の欄と、第１のＬＵＮのメインコントローラの識別子の欄と、第２のＬＵＮの識別子の欄と、第２のＬＵＮのメインコントローラの識別子の欄およびコントローラ間通信の有無の欄の各々の記憶内容が、等しい場合に、同じ命令が連続していると判断して、連続回数の欄の数値に１を加算して記憶し、等しくない場合は、０を記憶する。
【００４４】
ここで、Ｃ１がＣ２にデータの入出力を依頼する動作を、図５の命令分析集計記憶部１０４の命令発生履歴の１項を参照して説明する。Ｃ１が命令を受けたコントローラである。ＬＵＮａがデータの読み出し元である。ＬＵＮｃがデータの書き込み先である。
【００４５】
先ず、Ｃ１がＬＵＮａからデータを読み出し、ＬＵＮｃにデータを書き込む命令を受け取る。Ｃ１はＬＵＮａのメインコントローラである為、データの読み出しを実行する。Ｃ１はＬＵＮｃのサブコントローラである為、ＬＵＮｃのメインコントローラであるＣ２に対して、ＬＵＮｃへのデータ書き込みを依頼する。
【００４６】
Ｃ２はＣ１に代わってＬＵＮｃに書き込みを行い、終了の応答をＣ１に出力する。
【００４７】
Ｃ１はＣ２からの終了の応答を受けて、上位装置に対して終了の応答を出力して、作業を終了する。
【００４８】
次に、上位装置５０−１からの命令が順次出力されて、指令部１０５が命令分析集計記憶部１０４の２項以降の更新を行う。
【００４９】
次に、指令部１０５が、命令分析集計記憶部１０４の連続回数の欄の数値を読み出す。読み出した数値が、予め定めた閾値を超えた場合に、指令部１０５は、図３の機構構成テーブル１０３のＣ１の項にあるＬＵＮｃの支配権を１に、Ｃ２の項に有るＬＵＮｃの支配権を０に書き換える。図４に、機器構成記憶部１０３の変更後の内容を示す。
【００５０】
指令部１０５が、Ｃ１およびＣ２に対して、書き換えられた機器構成記憶部１０３の情報を再度参照する指令を出力する。
【００５１】
この処理により、Ｃ１がＬＵＮａとＬＵＮｃのメインコントローラであることを認識して、Ｃ１がＬＵＮａとＬＵＮｃの両方にデータの入出力の制御を開始する。
【００５２】
以上の様に、本発明の記憶システム１１０は、上位装置５０−１あるいは上位装置５０−２からの入出力命令の応答時間を短縮できるという効果がある。その理由は、ＬＵＮａないしＬＵＮｄのいずれかに対するメインコントローラを、上位装置５０−１あるいは上位装置５０−２から入出力の命令を受けた、第１のコントローラ５−１ないし第２のコントローラ５−２の何れか一つに切り替えて、コントローラ間のデータ転送を削減することが出来るからである。
（第２の実施の形態）
図面を参照して、本発明の第１の実施の形態について説明する。図１は本発明の第２の実施の形態の切り替え装置１を示すブロック図である。
【００５３】
切り替え装置１は、指令部２、機器構成記憶部３からなる。
【００５４】
切り替え装置１は、ディスク装置に対する入出力の命令を上位装置から受信して、当該ディスク装置が自装置に接続されている場合は当該入出力を実行し、他装置に接続されている場合は当該他装置に当該入出力を依頼する、コントローラに接続されている。
【００５５】
機器構成記憶部３は、コントローラとディスク装置の接続関係情報を格納している。
【００５６】
指令部２は、命令をコントローラ経由で受信して、命令が対象とするディスク装置を特定し、当該ディスクが当該コントローラに接続されているか否かを前記接続関係情報から判断し、接続されていない場合、当該ディスクを当該コントローラに接続させる指令を行う。
【００５７】
以上の様に、本発明の切り替え装置１は、上位装置からの入出力命令を実行するコントローラが当該ディスクに接続されていない場合に、接続させることが出来る。その理由は、切り替え装置１が、コントローラを、当該ディスクに対して入出力命令を実行するメインコントローラにする切り替えを実行するからである。
【００５８】
以上、実施形態（及び実施例）を参照して本顔発明を説明したが、本顔発明は上記実施形態（及び実施例）に限定されるものではない。本顔発明の構成や詳細には、本顔発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００５９】
１    切り替え装置
２    指令部
３    機器構成記憶部
５    コントローラ
５−１    第１のコントローラ
５−２    第２のコントローラ
５０    上位装置
５０−１    上位装置
５０−２    上位装置
１００    切り替え装置
１０３    機器構成記憶部
１０４    命令分析集計記憶部
１０５    指令部
１１０    記憶システム
【図１】
2014197282.tif 000003
【図２】
2014197282.tif 000004
【図３】
2014197282.tif 000005
【図４】
2014197282.tif 000006
【図５】
2014197282.tif 000007
【図６】
2014197282.tif 000008