(57)【要約】【課題】  複数のホスト装置の間でタイムアウト時間が異なる場合でもコマンド処理の支障を回避できる、ディスクアレイ装置等を提供する。【解決手段】  ディスクアレイ装置３にはホスト装置１１〜１３が接続されている。ここで、ホスト装置１１〜１３がディスクアレイ装置３へコマンドを発行してから応答待ちでタイムアウトを検出するまでの時間をタイムアウト時間とし、ディスクアレイ装置３がホスト装置１１〜１３からコマンドを受信してからホスト装置１１〜１３へ応答を返すまでの最大時間を応答保証時間とする。このとき、制御手段は、ホスト装置１１〜１３の間でタイムアウト時間が異なる場合に、それぞれのタイムアウト時間ごとに応答保証時間を設定する。【選択図】  図１
2006119886.tif 000002
【特許請求の範囲】
【請求項１】
複数のホスト装置が接続されたディスクアレイ装置において、
前記ホスト装置が前記ディスクアレイ装置へコマンドを発行してから応答待ちでタイムアウトを検出するまでの時間をタイムアウト時間とし、前記ディスクアレイ装置が前記ホスト装置からコマンドを受信してから当該ホスト装置へ応答を返すまでの最大時間を応答保証時間としたとき、
前記複数のホスト装置の間で前記タイムアウト時間が異なる場合に、それぞれのタイムアウト時間ごとに前記応答保証時間を設定する制御手段を備えた、
ことを特徴とするディスクアレイ装置。
【請求項２】
前記制御手段は、前記タイムアウト時間が同じ前記ホスト装置同士からなる複数のホストグループを作成し、これらのホストグループごとに前記応答保証時間を設定することにより、それぞれのタイムアウト時間ごとに前記応答保証時間を設定する、
請求項１記載のディスクアレイ装置。
【請求項３】
前記複数のホスト装置はそれぞれインタフェースアダプタを介して前記ディスクアレイ装置に接続され、
前記インタフェースアダプタの種類を示す識別子と前記ホストグループとの対応を管理するホストグループ管理テーブルと、
前記ホストグループと前記応答保証時間との対応を管理する応答保証時間管理テーブルとを更に備え、
前記制御手段は、前記ホスト装置から前記コマンドを受信した時に、当該コマンドに含まれる前記識別子と前記ホストグループ管理テーブルとに基づき当該ホスト装置の属するホストグループを決定し、このホストグループと前記応答保証時間管理テーブルとに基づき前記応答保証時間を設定する、
請求項２記載のディスクアレイ装置。
【請求項４】
前記コマンドの処理を実行する限界の時間をコマンド処理限界時間としたとき、
前記制御手段は、設定された前記応答保証時間に基づき前記コマンド処理限界時間を設定し、内部エラー発生時が当該コマンド処理限界時間内であれば内部リトライ処理を実行する、
請求項３記載のディスクアレイ装置。
【請求項５】
前記制御手段は、前記ホストグループ管理テーブル又は前記応答保証時間管理テーブルの内容を設定及び参照する管理端末を接続した、
請求項３又は４記載のディスクアレイ装置。
【請求項６】
請求項１乃至５のいずれかに記載のディスクアレイ装置と、前記複数のホスト装置と、
を備えたディスクアレイ装置システム。
【請求項７】
複数のホスト装置が接続されたディスクアレイ装置を制御する方法において、
前記ホスト装置が前記ディスクアレイ装置へコマンドを発行してから応答待ちでタイムアウトを検出するまでの時間をタイムアウト時間とし、前記ディスクアレイ装置が前記ホスト装置からコマンドを受信してから当該ホスト装置へ応答を返すまでの最大時間を応答保証時間としたとき、
前記タイムアウト時間が同じ前記ホスト装置同士からなる複数のホストグループを作成し、これらのホストグループごとに前記応答保証時間を設定する、
ことを特徴とするディスクアレイ装置の制御方法。
【請求項８】
前記複数のホスト装置がそれぞれインタフェースアダプタを介して前記ディスクアレイ装置に接続されているとき、
前記インタフェースアダプタの種類を示す識別子と前記ホストグループとの対応を管理するホストグループ管理テーブルと、前記ホストグループと前記応答保証時間との対応を管理する応答保証時間管理テーブルとを予め用意しておき、
前記ホスト装置から前記コマンドを受信した時に、当該コマンドに含まれる前記識別子と前記ホストグループ管理テーブルとに基づき当該ホスト装置の属するホストグループを決定し、このホストグループと前記応答保証時間管理テーブルとに基づき前記応答保証時間を設定する、
請求項７記載のディスクアレイ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のディスク装置からなるディスクアレイ装置に関し、詳しくは種類の異なる複数のホスト装置への応答時間を保証するディスクアレイ装置に関する。
【背景技術】
【０００２】
ディスクアレイ装置に接続されたホスト装置には、当該ホスト装置がコマンドを発行してから応答待ちでタイムアウトを検出するまでの時間（以下「タイムアウト時間」という。）が設定されている（例えば特許文献１）。一方、ディスクアレイ装置には、コマンドを受信してからホスト装置に応答を返すまでの最大時間（以下「応答保証時間」という。）が設定されている。
【０００３】
また、ストレージエリアネットワーク（ＳＡＮ）においては、１台のディスクアレイ装置に多数のホスト装置が接続される構成が一般的である。これらの接続された多数のホスト装置は、それぞれ異なるＯＳ、アプリケーション、ドライバ等を使用している場合が多い。ここで、ＯＳとは、コンピュータのシステム管理及び基本的なユーザー操作環境を提供するソフトウエアのことであり、基本ソフトウエアと呼ばれることもある。アプリケーションとは、特定の利用目的を持って作成されたソフトウエアの総称である。ドライバとは、ＯＳが標準でサポートしていない周辺機器を利用するためのソフトウエアのことである。
【０００４】
【特許文献１】特開２００１−１４２２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このような種類の異なる複数のホスト装置が接続されたディスクアレイ装置では、各ホスト装置の間でタイムアウト時間が異なることになる。なぜなら、使用するＯＳ、アプリケーション、ドライバ等が異なり、これらの組み合わせも異なるからである。しかしながら、従来のディスクアレイ装置では、応答保証時間が固定となっていた。このため、ホスト装置のタイムアウト時間がディスクアレイ装置の応答保証時間よりも短い場合には、ディスクアレイ装置側がコマンド処理を実行中にホスト装置側がタイムアウトを検出してしまうという問題があった。逆に、ホスト装置のタイムアウト時間がディスクアレイ装置の応答保証時間よりも長い場合には、ホスト装置側でまだ時間に余裕があるのにもかかわらずディスクアレイ装置側がコマンド処理を中断してしまうため、コマンド処理時間を有効に利用できないという問題があった。
【０００６】
そこで、本発明の目的は、複数のホスト装置の間でタイムアウト時間が異なる場合でもコマンド処理の支障を回避できる、ディスクアレイ装置等を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係るディスクアレイ装置は、複数のホスト装置が接続されたものである。ここで、ホスト装置がディスクアレイ装置へコマンドを発行してから応答待ちでタイムアウトを検出するまでの時間をタイムアウト時間とし、ディスクアレイ装置がホスト装置からコマンドを受信してから当該ホスト装置へ応答を返すまでの最大時間を応答保証時間とする。このとき、本発明に係るディスクアレイ装置は、複数のホスト装置の間でタイムアウト時間が異なる場合に、それぞれのタイムアウト時間ごとに応答保証時間を設定する制御手段を備えている。
【０００８】
複数のホスト装置の間では、使用するＯＳ、アプリケーション、ドライバ等が異なると、それぞれのタイムアウト時間も異なることになる。しかしながら、従来のディスクアレイ装置の応答保障時間は固定されたものであった。そのため、タイムアウト時間＜応答保障時間の場合は、ディスクアレイ装置がコマンド処理を実行中にホスト装置側がタイムアウトを検出してしまう。逆に、タイムアウト時間＞応答保障時間の場合は、ホスト装置側でまだ時間に余裕があるのにもかかわらずディスクアレイ装置側がコマンド処理を中断してしまう。いずれの場合も、Ｉ／Ｏエラーが発生してしまうという問題があった。そこで、本発明では、複数のホスト装置の間でタイムアウト時間が異なる場合に、それぞれのタイムアウト時間ごとに応答保証時間を設定する。つまり、従来ならば「タイムアウト時間＜応答保障時間」又は「タイムアウト時間＞応答保障時間」となる場合に、これらの差を小さくすなわち「タイムアウト時間≒応答保障時間」とすることにより、Ｉ／Ｏエラーの発生が少ない安定した動作を可能にする。
【０００９】
また、制御手段は、タイムアウト時間が同じホスト装置同士からなる複数のホストグループを作成し、これらのホストグループごとに応答保証時間を設定することにより、それぞれのタイムアウト時間ごとに応答保証時間を設定する、としてもよい。例えば、本発明に係るディスクアレイ装置は、複数のホスト装置がそれぞれインタフェースアダプタを介してディスクアレイ装置に接続されているとき、インタフェースアダプタの種類を示す識別子とホストグループとの対応を管理するホストグループ管理テーブルと、ホストグループと応答保証時間との対応を管理する応答保証時間管理テーブルとを更に備える。そして、制御手段は、ホスト装置からコマンドを受信した時に、そのコマンドに含まれる識別子とホストグループ管理テーブルとに基づき当該ホスト装置の属するホストグループを決定し、このホストグループと応答保証時間管理テーブルとに基づき応答保証時間を設定する。
【００１０】
ここで、コマンドの処理を実行する限界の時間をコマンド処理限界時間とする。このとき、制御手段は、設定された応答保証時間に基づきコマンド処理限界時間を設定し、内部エラー発生時がそのコマンド処理限界時間内であれば内部リトライ処理を実行する、としてもよい。また、制御手段は、ホストグループ管理テーブル又は応答保証時間管理テーブルの内容を設定及び参照する管理端末を接続してもよい。
【００１１】
本発明に係るディスクアレイ装置システムは、本発明に係るディスクアレイ装置と、複数のホスト装置とを備えたものである。
【００１２】
本発明に係る制御方法は、複数のホスト装置が接続されたディスクアレイ装置を制御する方法である。ここで、ホスト装置がディスクアレイ装置へコマンドを発行してから応答待ちでタイムアウトを検出するまでの時間をタイムアウト時間とし、ディスクアレイ装置がホスト装置からコマンドを受信してから当該ホスト装置へ応答を返すまでの最大時間を応答保証時間とする。このとき、本発明に係る制御方法は、タイムアウト時間が同じホスト装置同士からなる複数のホストグループを作成し、これらのホストグループごとに応答保証時間を設定する。
【００１３】
また、本発明に係る制御方法は、複数のホスト装置がそれぞれインタフェースアダプタを介してディスクアレイ装置に接続されているとき、次のように構成してもよい。まず、インタフェースアダプタの種類を示す識別子とホストグループとの対応を管理するホストグループ管理テーブルと、ホストグループと応答保証時間との対応を管理する応答保証時間管理テーブルとを予め用意しておく。そして、ホスト装置からコマンドを受信した時に、そのコマンドに含まれる識別子とホストグループ管理テーブルとに基づき当該ホスト装置の属するホストグループを決定し、このホストグループと応答保証時間管理テーブルとに基づき応答保証時間を設定する。
【００１４】
換言すると、本発明は、種類の異なる複数のホスト装置が接続されたディスクアレイ装置において、ＯＳ、アプリケーション、ドライバ等の組み合わせによりタイムアウト時間が同じホスト装置をグループ化し、ホスト装置のインタフェースアダプタ識別子（例えばホストバスアダプタのＷＷＮ等）とホストグループとの対応を管理するテーブル、及び、各ホストグループ毎のコマンド応答保証時間を管理するテーブルを有し、ホスト装置からコマンド受信時に前記各テーブルを参照してコマンド処理限界時間を設定することにより、種類の異なる複数のホスト装置が混在する環境においても各ホスト装置への応答時間を保証するディスクアレイ装置を提供することを特徴とする。
【００１５】
ＯＳ、アプリケーション、ドライバ等の組み合わせにより同じタイムアウト時間を持つホスト装置をグループ化してホストグループを設定し、各ホスト装置のインタフェースアダプタの識別子とホストグループとの対応を管理するホストグループ管理テーブルを保持する。また、各ホストグループのコマンド応答保証時間を管理する応答保証時間管理テーブルを保持する。そして、ホスト装置からコマンド受信時に前記各テーブルを参照してコマンド処理限界時間を設定することにより、各ホスト装置に最適な応答保証時間でコマンドを実行する。
【発明の効果】
【００１６】
第一の効果は、ディスクアレイ装置にＯＳ、アプリケーション、ドライバ等の異なる複数のホスト装置が接続されている場合に、タイムアウト時間の短いホスト装置からのコマンドに対してもホスト装置がタイムアウトする前に応答を返すことができるため、タイムアウトによるＩ／Ｏエラーの発生を未然に防ぐことができ、エラー発生時の分解能に優れたディスクアレイ装置システムを提供することができる。また、この場合に、ホスト装置にリトライを要求する内容のエラー応答をすることにより、確実にホスト装置からのリトライが実施されるため、システムとしての信頼性を向上することができる。
【００１７】
第二の効果は、ディスクアレイ装置にＯＳ、アプリケーション、ドライバ等の異なる複数のホスト装置が接続されている場合に、タイムアウト時間の長いホスト装置からのコマンドに対して、ホスト装置側でまだ時間があるにもかかわらずディスクアレイ装置側でコマンド処理を中断してエラーとしてしまうことがなくなるため、コマンド処理時間を有効に利用することができ、処理時間不足によるＩ／Ｏエラーの少ない安定したディスクアレイ装置システムを提供することができる。
【００１８】
第三の効果は、ディスクアレイ装置にＯＳ、アプリケーション、ドライバ等の異なる複数のホスト装置が接続されている場合に、タイムアウト時間の長いホスト装置からのコマンドに対して、内部エラー発生時に処理時間を有効に利用して内部リトライを実施することができるので、信頼性の高いディスクアレイ装置システムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明に係るディスクアレイ装置の実施形態について、図面を参照して詳細に説明する。なお、この説明において、本発明に係るディスクアレイ装置システム及びディスクアレイ装置の制御方法についても説明する。
【００２０】
図１は、本発明に係るディスクアレイ装置の一実施形態を示すブロック図である。以下、この図面に基づき説明する。
【００２１】
本実施形態のディスクアレイ装置３は、ホストインタフェース制御部３１、ホストグループ管理テーブル３２、応答保証時間管理テーブル３３、管理端末インタフェース制御部３４、ディスク装置制御部３５、ディスク装置３６１〜３６４等を備えている。ホスト装置１１〜１３はそれぞれインタフェースアダプタ２１〜２３を有しており、インタフェースアダプタ２１〜２３はインタフェースケーブルを介してディスクアレイ装置３に接続されている。ここで、ホスト装置１１〜１３とディスクアレイ装置３との間のインタフェースにはファイバーチャネル（以下「ＦＣ」という。）インタフェースが使用されており、インタフェースアダプタ２１〜２３にはホストバスアダプタ（以下「ＨＢＡ」という。）と呼ばれるＦＣインタフェースのアダプタが使用されている。ホストインタフェース制御部３１はホスト装置１１〜１３から受信したコマンドを解析してディスク装置制御部３５に通知し、ディスク装置制御部３５がコマンド処理を実行する。管理端末４は、管理端末インタフェース制御部３４を介してディスクアレイ装置３に接続されており、各種管理テーブルの設定及び参照を行うことができる。
【００２２】
ホストグループ管理テーブル３２は、各ホスト装置１１〜１３のＨＢＡの識別子であるＷＷＮ（World Wide Name）とホストグループとの対応を管理するテーブルであり、管理端末４から設定及び参照することが可能である。ここで、ホストグループとは、ＯＳ、アプリケーション、ドライバ等の組み合わせにより同じタイムアウト時間を持つホスト装置同士をグループ化したものである。このホストグループはシステム構成時に予め決定しておき、管理端末４からホストグループ管理テーブル３２を設定しておく。ホストグループ管理テーブル３４の一例を図２［１］に示す。この例では、ホスト装置１１がホストグループ１（ＨＧ１）、ホスト装置１２がホストグループ２（ＨＧ２）、ホスト装置１３がホストグループ１（ＨＧ１）に属している。ここで、ホスト装置１１のＨＢＡのＷＷＮをＷＷＮ１、ホスト装置１２のＨＢＡのＷＷＮをＷＷＮ２、ホスト装置１３のＨＢＡのＷＷＮをＷＷＮ３としている。
【００２３】
応答保証時間管理テーブル３３は、各ホストグループに対応した応答保証時間が設定されており、管理端末４から設定及び参照することが可能である。応答保証時間管理テーブル３３の一例を図２［２］に示す。この例では、ホストグループ１の応答保証時間がＴ１、ホストグループ２の応答保証時間がＴ２、ホストグループ３の応答保証時間がＴ３となっている。
【００２４】
なお、特許請求の範囲における「制御手段」は、ホストインタフェース制御部３１、ディスク装置制御部３５及び管理端末インタフェース制御部３４に相当する。
【００２５】
図３は、本実施形態のディスクアレイ装置の動作を示すフローチャートである。以下、図１乃至図３に基づき、本実施形態のディスクアレイ装置の動作について詳細に説明する。
【００２６】
ディスクアレイ装置３は、ホストインタフェース制御部３１にてホスト装置１１〜１３からコマンドを受信する（ステップＳ１）。ホスト装置１１〜１３から送られてくるコマンドには、ＦＣインタフェースであればコマンド発行元のＨＢＡのＷＷＮ情報も含まれている。ホストインタフェース制御部３１は、ホストグループ管理テーブル３２を参照し、送られてきたＷＷＮがどのホストグループに設定されているかを取得する（ステップＳ２）。図２［１］の例では、ホスト装置１１からのコマンドであればホストグループ１（ＨＧ１）を取得する。
【００２７】
続いて、ホストインタフェース制御部３１は、応答保証時間管理テーブル３３を参照し、該当するホストグループの応答保証時間を取得する（ステップＳ３）。図２［２］の例では、ＨＧ１というホストグループであれば応答保証時間としてＴ１（秒）という時間を取得する。ホストインタフェース制御部３１は、取得した応答保証時間を元にコマンド処理の限界時間を設定し、ディスク装置制御部３５にコマンド情報とコマンド処理の限界時間とを通知する（ステップＳ４）。
【００２８】
コマンド情報を通知されたディスク装置制御部３５は、ディスク装置３６１〜３６４を使用してコマンド処理を実行する（ステップＳ５）。ここで、ディスク装置制御部３５の詳細な動作については、本発明には関係しないので省略する。コマンド処理の実行中に内部処理で異常終了した場合には内部リトライ処理を実行するが、コマンド処理の限界時間を調査してリトライ処理を実行する時間が残っていればリトライ処理を実行し、リトライ処理を実行する時間が残っていなければエラーとしてコマンド処理を終了する（ステップＳ６，Ｓ７）。ディスク装置制御部３５は、コマンド処理を終了したならばホストインタフェース制御部３１に対して完了通知を行う（ステップＳ８）。ディスク装置制御部３５から完了通知を受けたホストインタフェース制御部３１は、ホスト装置１１に対してコマンド応答を送信する。この時、処理時間不足によるエラー応答をホスト装置１１に送信する場合には、ホスト装置１１からのリトライを要求する内容のエラー応答を送信する。
【００２９】
以上のように動作することにより、コマンドを発行したホスト装置のＯＳ、アプリケーション、ドライバ等の組み合わせ毎に最適な最大応答時間でコマンド処理を実行することができるため、エラー発生時の分解能を高めるとともに、処理時間不足によるエラーを未然に防ぐことができる。また、処理時間を有効に利用して内部リトライ処理を実行できるので、信頼性の向上を図ることができる。
【００３０】
なお、本発明は、言うまでもなく、上記実施形態に限定されるものではない。例えば、ホスト装置とディスクアレイ装置との間のインタフェースとしてＦＣインタフェースを使用した場合を説明したが、他のインタフェースプロトコル、例えばネットワークインタフェース（ＴＣＰ／ＩＰ）を使用した場合にも本発明を適用できる。その場合、ホスト装置のインタフェースアダプタとしてはＬＡＮカード等が使用され、インタフェースアダプタの識別子としてはＭＡＣアドレス等が使用される。
【図面の簡単な説明】
【００３１】
【図１】本発明に係るディスクアレイ装置の一実施形態を示すブロック図である。
【図２】図２［１］はホストグループ管理テーブルの一例を示す図表であり、図２［２］は応答保証時間管理テーブルの一例を示す図表である。
【図３】図１のディスクアレイ装置の動作を示すフローチャートである。
【符号の説明】
【００３２】
１１，１２，１３  ホスト装置
２１，２２，２３  インタフェースアダプタ
３  ディスクアレイ装置
３１  ホストインタフェース制御部
３２  ホストグループ管理テーブル
３３  応答保証時間管理テーブル
３４  管理端末インタフェース
３５  ディスク装置制御部
３６１，３６２，３６３，３６４  ディスク装置
４  管理端末
【図１】
2006119886.tif 000003
【図２】
2006119886.tif 000004
【図３】
2006119886.tif 000005