(57)【要約】【課題】大容量のデータ転送が行われるＩ／Ｏ処理が実行された場合でも、処理優先度の高いＪＯＢの処理遅延を抑制する。【解決手段】キャッシュ利用条件記憶手段２１は、キャッシュ利用条件を予め記憶する。Ｉ／Ｏ判定手段２２は、Ｉ／Ｏコマンド３１，４１から得られた情報がキャッシュ利用条件記憶手段２１に記憶されているキャッシュ利用条件を満たすか否かを判定する。転送パス制御手段２３は、Ｉ／Ｏ判定手段２２でキャッシュ利用条件を満たすと判定されると、ホストサーバ３０，４０と論理ディスク１２との間でキャッシュメモリ１１を介してデータを転送し、Ｉ／Ｏ判定手段２２でキャッシュ利用条件を満たさないと判定されると、ホストサーバ３０，４０と論理ディスク１２との間でキャッシュメモリ１１を介さずに直接データを転送する。【選択図】図１
2009093225.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体及びキャッシュメモリを備えたストレージ装置に用いられ、ホストサーバからのＩ／Ｏコマンドに応じて前記ホストサーバと前記記憶媒体との間でデータを転送するストレージ制御装置において、
キャッシュ利用条件を予め記憶するキャッシュ利用条件記憶手段と、
前記Ｉ／Ｏコマンドから得られた情報が前記キャッシュ利用条件記憶手段に記憶されているキャッシュ利用条件を満たすか否かを判定するＩ／Ｏ判定手段と、
このＩ／Ｏ判定手段で前記キャッシュ利用条件を満たすと判定されると、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介してデータを転送し、前記Ｉ／Ｏ判定手段で前記キャッシュ利用条件を満たさないと判定されると、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介さずに直接データを転送する転送パス制御手段と、
を備えたことを特徴とするストレージ制御装置。
【請求項２】
前記ホストサーバは複数であり、
前記キャッシュ利用条件記憶手段は、複数の前記ホストサーバのそれぞれについて前記キャッシュ利用条件を記憶し、
前記Ｉ／Ｏ判定手段は、複数の前記ホストサーバのそれぞれについて前記キャッシュ利用条件を満たすか否かを判定する、
ことを特徴とする請求項１記載のストレージ制御装置。
【請求項３】
前記Ｉ／Ｏ判定手段は、複数の前記ホストサーバごとに設けられたホストバスアダプタの固有アドレスに基づいて、どのホストサーバであるかを判断する、
ことを特徴とする請求項２記載のストレージ制御装置。
【請求項４】
前記キャッシュ利用条件記憶手段は、前記キャッシュ利用条件としてキャッシュ利用最大Ｉ／Ｏ転送長を記憶し、
前記Ｉ／Ｏ判定手段は、前記Ｉ／Ｏコマンドに含まれるＩ／Ｏ転送長が前記キャッシュ利用条件記憶手段に記憶されているキャッシュ利用最大Ｉ／Ｏ転送長を超えなければ前記キャッシュ利用条件を満たすと判定し、前記Ｉ／Ｏコマンドに含まれるＩ／Ｏ転送長が前記キャッシュ利用条件記憶手段に記憶されているキャッシュ利用最大Ｉ／Ｏ転送長を超えれば前記キャッシュ利用条件を満たさないと判定する、
ことを特徴とする請求項１乃至３のいずれか一項に記載のストレージ制御装置。
【請求項５】
前記キャッシュ利用条件記憶手段は、前記キャッシュ利用条件としてＩ／Ｏシーケンシャルアクセスの連続数のキャッシュ利用最大数を記憶し、
前記Ｉ／Ｏ判定手段は、前記Ｉ／ＯコマンドがＩ／Ｏシーケンシャルアクセスであるか否かを判定し、そのＩ／Ｏシーケンシャルアクセスの連続数が前記キャッシュ利用条件記憶手段に記憶されているキャッシュ利用最大数を超えなければ前記キャッシュ利用条件を満たすと判定し、前記Ｉ／Ｏシーケンシャルアクセスの連続数が前記キャッシュ利用条件記憶手段に記憶されているキャッシュ利用最大数を超えれば前記キャッシュ利用条件を満たさないと判定する、
ことを特徴とする請求項１乃至３のいずれか一項に記載のストレージ制御装置。
【請求項６】
請求項１乃至５のいずれか一項に記載のストレージ制御装置と、前記記憶媒体と、前記キャッシュメモリと、
を備えたことを特徴とするストレージ装置。
【請求項７】
記憶媒体及びキャッシュメモリを備えたストレージ装置に用いられ、ホストサーバからのＩ／Ｏコマンドに応じて前記ホストサーバと前記記憶媒体との間でデータを転送するストレージ制御方法において、
キャッシュ利用条件を予め記憶しておき、
前記Ｉ／Ｏコマンドから得られた情報が前記キャッシュ利用条件を満たすか否かを判定し、
前記キャッシュ利用条件を満たすときは、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介してデータを転送し、前記キャッシュ利用条件を満たさないときは、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介さずに直接データを転送する、
ことを特徴とするストレージ制御方法。
【請求項８】
前記ホストサーバは複数であり、
複数の前記ホストサーバのそれぞれについて前記キャッシュ利用条件を記憶し、
複数の前記ホストサーバのそれぞれについて、前記Ｉ／Ｏコマンドから得られた情報が前記キャッシュ利用条件を満たすか否かを判定する、
ことを特徴とする請求項７記載のストレージ制御方法。
【請求項９】
複数の前記ホストサーバのそれぞれについて、前記Ｉ／Ｏコマンドから得られた情報が前記キャッシュ利用条件を満たすか否かを判定する際に、
複数の前記ホストサーバごとに設けられたホストバスアダプタの固有アドレスに基づいて、どのホストサーバであるかを判断する、
ことを特徴とする請求項８記載のストレージ制御方法。
【請求項１０】
記憶媒体及びキャッシュメモリを備えたストレージ装置に用いられ、ホストサーバからのＩ／Ｏコマンドに応じて前記ホストサーバと前記記憶媒体との間でデータを転送するためのストレージ制御プログラムであって、
キャッシュ利用条件を予め記憶するキャッシュ利用条件記憶手段、
前記Ｉ／Ｏコマンドから得られた情報が前記キャッシュ利用条件記憶手段に記憶されているキャッシュ利用条件を満たすか否かを判定するＩ／Ｏ判定手段、及び、
このＩ／Ｏ判定手段で前記キャッシュ利用条件を満たすと判定されると、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介してデータを転送し、前記Ｉ／Ｏ判定手段で前記キャッシュ利用条件を満たさないと判定されると、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介さずに直接データを転送する転送パス制御手段、
としてコンピュータを機能させることを特徴とするストレージ制御プログラム。
【請求項１１】
前記ホストサーバは複数であり、
前記キャッシュ利用条件記憶手段は、複数の前記ホストサーバのそれぞれについて前記キャッシュ利用条件を記憶し、
前記Ｉ／Ｏ判定手段は、複数の前記ホストサーバのそれぞれについて前記キャッシュ利用条件を満たすか否かを判定する、
ことを特徴とする請求項１０記載のストレージ制御プログラム。
【請求項１２】
前記Ｉ／Ｏ判定手段は、複数の前記ホストサーバごとに設けられたホストバスアダプタの固有アドレスに基づいて、どのホストサーバであるかを判断する、
ことを特徴とする請求項１１記載のストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストサーバからのＩ／Ｏコマンドに応じて、記憶媒体に対してデータの書き込み又は読み出しをキャッシュメモリを用いて行うストレージ制御装置等に関する。
【背景技術】
【０００２】
キャッシュメモリとは、ＣＰＵ等の高速処理装置と低速記憶装置との間におかれる高速メモリのことである。一般のストレージ装置では、データの読み出し及び書き込みを高速に処理するためにデータを保持するキャッシュメモリを搭載している（例えば特許文献１参照）。
【０００３】
また、バックアップとは、データの写しを取って保存することであり、例えば、コンピュータやサーバに保存されたデータやプログラムを、破損やコンピュータウイルス感染などの事態に備え、別の記憶媒体に保存することである。
【０００４】
【特許文献１】特開２００４-２５２５２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、一般のストレージ装置において、バックアップＪＯＢ等の大容量のデータ転送が行われるＩ／Ｏ処理が実行された場合、処理優先度の高いＪＯＢの処理遅延が発生する問題があった。つまり、データバックアップＪＯＢ等を実行した場合、データバックアップＪＯＢのＩ／Ｏ処理によってストレージ装置のキャッシュ利用率が高まり、オンラインＪＯＢで利用可能なキャッシュ量が少なくなり、オンラインＪＯＢの処理遅延が発生する問題があった。
【０００６】
そこで、本発明の目的は、大容量のデータ転送が行われるＩ／Ｏ処理が実行された場合でも、処理優先度の高いＪＯＢの処理遅延を抑制し得る、ストレージ制御装置等を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係るストレージ制御装置は、記憶媒体及びキャッシュメモリを備えたストレージ装置に用いられ、ホストサーバからのＩ／Ｏコマンドに応じて前記ホストサーバと前記記憶媒体との間でデータを転送するものである。そして、本発明に係るストレージ制御装置は、キャッシュ利用条件を予め記憶するキャッシュ利用条件記憶手段と、前記Ｉ／Ｏコマンドから得られた情報が前記キャッシュ利用条件記憶手段に記憶されているキャッシュ利用条件を満たすか否かを判定するＩ／Ｏ判定手段と、このＩ／Ｏ判定手段で前記キャッシュ利用条件を満たすと判定されると、前記ホストサーバと記憶媒体との間でキャッシュメモリを介してデータを転送し、前記Ｉ／Ｏ判定手段で前記キャッシュ利用条件を満たさないと判定されると、前記ホストサーバと記憶媒体との間で前記キャッシュメモリを介さずに直接データを転送する転送パス制御手段と、を備えたことを特徴とする。
【０００８】
本発明に係るストレージ装置は、本発明に係るストレージ制御装置と、前記記憶媒体と、前記キャッシュメモリと、を備えたことを特徴とする。
【０００９】
本発明に係るストレージ制御方法は、記憶媒体及びキャッシュメモリを備えたストレージ装置に用いられ、ホストサーバからのＩ／Ｏコマンドに応じて前記ホストサーバと前記記憶媒体との間でデータを転送するものである。そして、本発明に係るストレージ制御方法は、キャッシュ利用条件を予め記憶しておき、前記Ｉ／Ｏコマンドから得られた情報が前記キャッシュ利用条件を満たすか否かを判定し、前記キャッシュ利用条件を満たすときは、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介してデータを転送し、前記キャッシュ利用条件を満たさないときは、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介さずに直接データを転送する、ことを特徴とする。
【００１０】
本発明に係るストレージ制御プログラムは、記憶媒体及びキャッシュメモリを備えたストレージ装置に用いられ、ホストサーバからのＩ／Ｏコマンドに応じて前記ホストサーバと前記記憶媒体との間でデータを転送するためのものである。そして、本発明に係るストレージ制御プログラムは、キャッシュ利用条件を予め記憶するキャッシュ利用条件記憶手段、前記Ｉ／Ｏコマンドから得られた情報が前記キャッシュ利用条件記憶手段に記憶されているキャッシュ利用条件を満たすか否かを判定するＩ／Ｏ判定手段、及び、このＩ／Ｏ判定手段で前記キャッシュ利用条件を満たすと判定されると、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介してデータを転送し、前記Ｉ／Ｏ判定手段で前記キャッシュ利用条件を満たさないと判定されると、前記ホストサーバと前記記憶媒体との間で前記キャッシュメモリを介さずに直接データを転送する転送パス制御手段、としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、Ｉ／Ｏコマンドから得られた情報がキャッシュ利用条件を満たさないと、キャッシュメモリを介さずに直接データを転送することにより、大容量のデータ転送が行われるＩ／Ｏコマンドを受けた場合にキャッシュメモリを介さずに直接データを転送できるので、処理優先度の高いＪＯＢの処理遅延を抑制できる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明に係るストレージ制御装置及びストレージ装置の一実施形態を示すブロック図である。以下、この図面に基づき説明する。
【００１３】
本実施形態のストレージ装置１０は、ストレージ制御装置２０、キャッシュメモリ１１、記憶媒体としての論理ディスク１２等を備えている。ストレージ装置１０は、スイッチ装置１３を介して二つのホストサーバ３０，４０に接続されている。本実施形態のストレージ制御装置２０は、ホストサーバ３０，４０からのＩ／Ｏコマンド３１，４１に応じてホストサーバ３０，４０と論理ディスク１２との間でデータを転送するものであり、キャッシュ利用条件記憶手段２１、Ｉ／Ｏ判定手段２２、転送パス制御手段２３等を備えている。
【００１４】
キャッシュ利用条件記憶手段２１は、キャッシュ利用条件を予め記憶する。Ｉ／Ｏ判定手段２２は、Ｉ／Ｏコマンド３１，４１から得られた情報がキャッシュ利用条件記憶手段２１に記憶されているキャッシュ利用条件を満たすか否かを判定する。転送パス制御手段２３は、Ｉ／Ｏ判定手段２２でキャッシュ利用条件を満たすと判定されると、ホストサーバ３０，４０と論理ディスク１２との間でキャッシュメモリ１１を介してデータを転送し、Ｉ／Ｏ判定手段２２でキャッシュ利用条件を満たさないと判定されると、ホストサーバ３０，４０と論理ディスク１２との間でキャッシュメモリ１１を介さずに直接データを転送する。
【００１５】
Ｉ／Ｏ判定手段２２は、ホストサーバ３０，４０ごとに設けられたホストバスアダプタ（ＨＢＡ：Host Bus Adapter）３２，４２の固有アドレスに基づいて、ホストサーバ３０，４０のどちらであるかを判断する。キャッシュ利用条件記憶手段２１は、ホストサーバ３０，４０のそれぞれについてキャッシュ利用条件を記憶する。Ｉ／Ｏ判定手段２２は、ホストサーバ３０，４０のそれぞれについてキャッシュ利用条件を満たすか否かを判定する。
【００１６】
ここで、ホストバスアダプタ３２，４２とは、ホストサーバと周辺機器とを接続するためのインタフェースコントローラのことであり、ＳＣＳＩ（Small Computer System Interface）の場合は「ＳＣＳＩアダプタ」又は「ＳＣＳＩコントローラ」とも言い、ファイバチャネルの場合は「ファイバチャネルアダプタ」とも言う。ホストバスアダプタ３２，４２には、ＷＷＮ（World Wide Name）という６４ビットの固有アドレスが割り当てられる。ＷＷＮにはポートネーム（port name）とノードネーム（node name）との二つがあるが、通常、ＷＷＮとはポートネームを指す。
【００１７】
なお、論理ディスク１２は、磁気ディスクである。ただし、記憶媒体は、磁気ディスクに限らず、光ディスクや半導体メモリなどでもよい。
【００１８】
図２は、図１における転送パス制御手段の構成の一例を示すブロック図である。以下、図１及び図２に基づき説明する。
【００１９】
転送パス制御手段２３は、キャッシュデータ転送パス２４、ホストデータ転送パス２５、ディスク制御手段２６等を有する。キャッシュデータ転送パス２４は、キャッシュメモリ１１を介してデータを転送するときに用いる。ホストデータ転送パス２５は、キャッシュメモリ１１を介さずに直接データを転送するときに用いる。ディスク制御手段２６は、論理ディスク１２に対してデータの読み出し及び書き込みを実行するとともに、Ｉ／Ｏ判定手段２２の判定結果に基づいてキャッシュデータ転送パス２４及びホストデータ転送パス２５のどちらか一方を用いてデータを転送する機能を有する。
【００２０】
キャッシュデータ転送パス２４とホストデータ転送パス２５とはバス接続されており、どちらのパスへデータ転送を行うかはディスク制御手段２６が出力するアドレスによって決定される。論理ディスク１２からのデータ読み出し時にディスク制御手段２６へ読み出し先アドレスを指示することによって、転送パスを切り替えることが可能となる。これらのパスは、ＰＣＩ（Peripheral Component Interconnect）等の一般的なバスで実現可能である。
【００２１】
図３は、図１におけるストレージ制御装置のハードウェア構成の一例を示すブロック図である。以下、図１及び図３に基づき説明する。
【００２２】
ストレージ制御装置２０は、ＣＰＵ５１、ＲＡＭ５２、ＲＯＭ５３、入出力インタフェース５４等からなる一般的なマイクロコンピュータを有する。入出力インタフェース５４は、キャッシュメモリ１１、論理ディスク１２、スイッチ装置１３等に接続されている。このマイクロコンピュータをキャッシュ利用条件記憶手段２１、Ｉ／Ｏ判定手段２２及び転送パス制御手段２３として機能させるためプログラム及びデータが、ＲＡＭ５２に格納されている。ＣＰＵ５１は、ＲＡＭ５２に格納された命令列を一つずつ取り出し、これを解釈して実行する。なお、ストレージ制御装置２０の各手段は、ソフトウェアを用いずにハードウェアのみで構成することもできるし、ファームウェアで構成することもできる。
【００２３】
次に、図１に基づき、本実施形態のストレージ制御装置２０及びストレージ装置１０の作用及び効果について説明する。
【００２４】
バックアップＪＯＢ３４等の大容量のデータ転送をキャッシュメモリ１１を介して行うと、これによりキャッシュメモリ１１の大部分が占有され、優先度の高いオンラインＪＯＢ３３，４３等に処理遅延が発生する。そこで、例えばオンラインＪＯＢは「キャッシュ利用条件を満たす」、バックアップＪＯＢは「キャッシュ利用条件を満たさない」、と予め決めておき、Ｉ／Ｏコマンド３１，４１から得られた情報がキャッシュ利用条件を満たさないときはキャッシュメモリ１１を介さずに直接データを転送する。したがって、ストレージ制御装置２０によれば、大容量のデータ転送が行われるＩ／Ｏコマンドを受けた場合にキャッシュメモリ１１を介さずに直接データを転送するので、処理優先度の高いＪＯＢの処理遅延を抑制できる。
【００２５】
また、ストレージ装置１０によれば、ストレージ制御装置２０を備えているので、Ｉ／Ｏコマンド３１，４１から得られた情報がキャッシュ利用条件を満たさないと、キャッシュメモリ１１を介さずに直接データを転送することにより、大容量のデータ転送が行われるＩ／Ｏコマンド３１，４１を受けた場合にキャッシュメモリ１１を介さずに直接データを転送でき、これにより処理優先度の高いＪＯＢの処理遅延を抑制できる。
【００２６】
図４は、図１におけるキャッシュ利用条件記憶手段が記憶するテーブル（キャッシュ利用条件）の第一例を示す図表である。図５は、本実施形態のストレージ制御装置の動作の第一例を示すフローチャートである。以下、図１、図４及び図５に基づき、本実施形態のストレージ制御装置の動作の第一例を説明する。
【００２７】
本例におけるキャッシュ利用条件記憶手段２１は、キャッシュ利用条件として「キャッシュ利用最大Ｉ／Ｏ転送長」を記憶している。Ｉ／Ｏ判定手段２２は、Ｉ／Ｏコマンド３１，４１に含まれるＩ／Ｏ転送長がキャッシュ利用条件記憶手段２１に記憶されている「キャッシュ利用最大Ｉ／Ｏ転送長」を超えなければキャッシュ利用条件を満たすと判定し、Ｉ／Ｏコマンド３１，４１に含まれるＩ／Ｏ転送長がキャッシュ利用条件記憶手段２１に記憶されている「キャッシュ利用最大Ｉ／Ｏ転送長」を超えればキャッシュ利用条件を満たさないと判定する。ＳＣＳＩ等の一般的なディスクインタフェースでは、データ転送前にＩ／Ｏコマンド３１，４１が発行される。このＩ／Ｏコマンド３１，４１中にＩ／Ｏ転送長が含まれているので、Ｉ／Ｏ判定手段２２は転送開始前にＩ／Ｏ転送長を判断することが可能である。
【００２８】
図１を参照すると、ストレージ装置１０はスイッチ装置１３を介しホストサーバ０（ホストサーバ３０）及びホストサーバ１（ホストサーバ４０）に接続されており、キャッシュ利用条件記憶手段２１、Ｉ／Ｏ判定手段２２、転送パス制御手段２３、キャッシュメモリ１１、論理ディスク１２、キャッシュデータ転送パス２４、ホストデータ転送パス２５等を含んで構成される。
【００２９】
キャッシュ利用条件記憶手段２１は、設定された「キャッシュ利用最大Ｉ／Ｏ転送長」をＷＷＮごとに、図４に示す形式で記憶する機能を有する。ホストバスアダプタ３２，４２ごとの「キャッシュ利用最大Ｉ／Ｏ転送長」の設定は、ホストサーバ３０，４０からのコマンドやストレージ装置１０に接続可能な外部端末などにより行えばよい。図４において「ＨＢＡ０・・・３２Ｋバイト」とは、ＨＢＡ０に関するデータは転送長が３２Ｋバイト以下であればキャッシュメモリ１１を通し３２Ｋバイトを超えればキャッシュメモリ１１を通さないという意味である。同じく「ＨＢＡ１・・・Ｎｏ Ｌｉｍｉｔ」とは、ＨＢＡ１に関するデータは全部キャッシュメモリ１１を通すという意味である。
【００３０】
Ｉ／Ｏ判定手段２２は、受信したＩ／Ｏコマンドの発行元ＷＷＮと受信したＩ／Ｏコマンドの転送長とを判断し、これらをキャッシュ利用条件記憶手段２１に記憶された「キャッシュ利用最大Ｉ／Ｏ転送長」と比較する機能を有する。
【００３１】
転送パス制御手段２３は、論理ディスク１２から読み出したデータを、キャッシュデータ転送パス２４で転送するか、ホストデータ転送パス２５で転送するか、どちらか一方に切り替える機能を有する。キャッシュデータ転送パス２４は論理ディスク１２から読み出したデータを、キャッシュメモリ１１に転送する機能を有する。ホストデータ転送パス２５は、論理ディスク１２から読み出したデータを直接ホストサーバ３０，４０へ転送する機能を有する。
【００３２】
次に、図５のフローチャートを中心に説明する。まず、Ｉ／Ｏ判定手段２２は、ホストサーバ３０，４０からＩ／Ｏコマンド３１，４１を受信した場合、Ｉ／Ｏ発行元のＷＷＮとＩ／Ｏ転送長とを判断する（ステップ１０１）。続いて、Ｉ／Ｏ判定手段２２は、キャッシュ利用条件記憶手段２１からＩ／Ｏの発行元ＷＷＮの「キャッシュ利用最大Ｉ／Ｏ転送長」を取得する（ステップ１０２）。続いて、Ｉ／Ｏ判定手段２２は、受信したＩ／Ｏ転送長とキャッシュ利用条件記憶手段２１から取得した「キャッシュ利用最大Ｉ／Ｏ転送長」とを比較する（ステップ１０３）。比較した結果、受信したＩ／Ｏ転送長が「キャッシュ利用最大Ｉ／Ｏ転送長」を超えていた場合、Ｉ／Ｏ判定手段２２は、転送パス制御手段２３に対しホストデータ転送パス２５を用いてデータ転送を行うよう通知する（ステップ１０４）。また、比較した結果、受信したＩ／Ｏ転送長が「キャッシュ利用最大Ｉ／Ｏ転送長」以下であった場合、Ｉ／Ｏ判定手段２２は、転送パス制御手段２３に対しキャッシュデータ転送パス２４を用いてデータ転送を行うよう通知する（ステップ１０５）。転送パス制御手段２３は、Ｉ／Ｏ判定手段２２から通知されたパスを用いてデータ転送を行うことにより、ホストサーバ３０，４０ごとに設定したＩ／Ｏ転送長ごとのキャッシュ利用オンオフ切り替えを実現することが可能となる。
【００３３】
このように、キャッシュ利用条件記憶手段２１、Ｉ／Ｏ判定手段２２、転送パス制御手段２３等を有するストレージ制御装置２０は、次の機能を有する。１．設定された転送長によりキャッシュ利用オンオフを切り替える機能。２．ＨＢＡのＷＷＮごとに、キャッシュ利用オンオフ切り替えの転送長を設定することにより、キャッシュ利用オンオフ切り替えの転送長を可変とする機能。
【００３４】
つまり、ストレージ制御装置２０は、ストレージ装置１０のＩ／Ｏ処理におけるキャッシュ利用オンオフを、ホストサーバ３０，４０ごと設定したＩ／Ｏ転送長に応じて切り替えることにより、データバックアップＪＯＢ等を実行した場合に発生し得るオンラインＪＯＢの処理遅延を抑える。一般的にデータバックアップＪＯＢのＩ／Ｏ転送長がオンラインＪＯＢのＩ／Ｏ転送長より大きいという特徴を利用し、キャッシュの利用オンオフをホストサーバごとに設定した「キャッシュ利用最大Ｉ／Ｏ転送長」によって切り替えることを可能とし、データバックアップＪＯＢ等の大容量データＩ／Ｏによって発生するオンラインＪＯＢの処理遅延を抑える。換言すると、設定された「キャッシュ利用最大Ｉ／Ｏ転送長」を超えるＩ／Ｏの場合、ストレージ装置１０のキャッシュメモリ１１を利用せずＩ／Ｏ処理を行うことで、オンラインＪＯＢで利用可能なキャッシュ量を確保することが可能となり、バックアップＪＯＢ等の実行時にオンラインＪＯＢの処理遅延を抑えることが可能となる。
【００３５】
図５は、図１におけるキャッシュ利用条件記憶手段が記憶するテーブル（キャッシュ利用条件）の第二例を示す図表である。図６は、本実施形態のストレージ制御装置の動作の第二例を示すフローチャートである。以下、図１、図６及び図７に基づき、本実施形態のストレージ制御装置の動作の第二例を説明する。
【００３６】
キャッシュ利用のオンオフ切り替えを実施する基準として、第一例ではＩ／Ｏの転送長を用いているが、本例ではシーケンシャルアクセスＩ／Ｏの連続数を用いる。つまり、シーケンシャルアクセスＩ／Ｏの連続数が一定以上ある場合は、データ容量の大きいバックアップＪＯＢ等であると判断する。なお、「シーケンシャルアクセス」とは、データの読み書きを行う方法の一つであり、先頭から順番に連続してアクセスを行う方法をいう。一方、読み込みや書き込みを行いたい場所に直接アクセスする方法は「ランダムアクセス」という。シーケンシャルアクセスは、データが記録されている先頭位置から順に読み込みや書き込みを行なう。そのため、必要なデータを探したい場合でも、先頭から順に読み込んでいくため、ランダムアクセスに比べて時間がかかる。反対に全てのデータを必要とするような場合には、連続してアクセスできるためシーケンシャルアクセスの方が高速になる。
【００３７】
本例におけるキャッシュ利用条件記憶手段２１は、キャッシュ利用条件として、Ｉ／Ｏシーケンシャルアクセスの連続数についてキャッシュ利用最大数を記憶している。Ｉ／Ｏ判定手段２２は、Ｉ／ＯコマンドがＩ／Ｏシーケンシャルアクセスであるか否かを判定し、そのＩ／Ｏシーケンシャルアクセスの連続数がキャッシュ利用条件記憶手段２１に記憶されているキャッシュ利用最大数を超えなければキャッシュ利用条件を満たすと判定し、Ｉ／Ｏシーケンシャルアクセスの連続数がキャッシュ利用条件記憶手段２１に記憶されているキャッシュ利用最大数を超えればキャッシュ利用条件を満たさないと判定する。
【００３８】
つまり、キャッシュ利用条件記憶手段２１は、図６［２］に示す形式でＷＷＮごとにキャッシュメモリ１１を利用可能なシーケンシャルアクセス数の閾値（以下「キャッシュ利用最大シーケンシャルアクセスＩ／Ｏ連続数」という。）を記憶している。Ｉ／Ｏ判定手段２２は、受信したＩ／Ｏコマンドがシーケンシャルアクセスであるか否かを判定する機能と、Ｉ／Ｏ発行元ＷＷＮごとにシーケンシャルアクセスの連続数を図６［１］の形式で記憶する機能を持つ。
【００３９】
図６［１］において「ＨＢＡ０・・・５」とは、ＨＢＡ０に関するシーケンシャルアクセスの連続数が現在「５」であることを示している。同じく、「ＨＢＡ１・・・１０」とは、ＨＢＡ１に関するシーケンシャルアクセスの連続数が現在「１０」であることを示している。図６［２］において「ＨＢＡ０・・・２０」とは、ＨＢＡ０に関するシーケンシャルアクセスの連続数が「２０」以下であればキャッシュメモリ１１を通し「２０」を超えればキャッシュメモリ１１を通さないという意味である。同じく「ＨＢＡ１・・・Ｎｏ Ｌｉｍｉｔ」とは、ＨＢＡ１に関するデータは全部キャッシュメモリ１１を通すという意味である。
【００４０】
次に、図７のフローチャートを中心に説明する。まず、Ｉ／Ｏ判定手段２２は、ホストサーバ３０，４０からＩ／Ｏコマンド３１，４１を受信した場合、Ｉ／Ｏ発行元のＷＷＮを判断し（ステップ２０１）、受信したＩ／Ｏコマンドがシーケンシャルアクセスであるか否かを判断する（ステップ２０２）。シーケンシャルアクセスでなかった場合、Ｉ／Ｏ判定手段２２は、シーケンシャルアクセスＩ／Ｏカウンタをリセットし（ステップ２０６）、キャッシュメモリ１１を利用したデータ転送を行うように転送パス制御手段２３に指示する（ステップ２０７）。
【００４１】
一方、シーケンシャルアクセスであった場合、Ｉ／Ｏ判定手段２２は、シーケンシャルアクセスＩ／Ｏカウンタを＋１する（ステップ２０３）。続いて、Ｉ／Ｏ判定手段２２は、シーケンシャルアクセスカウンタの値と、キャッシュ利用条件記憶手段２１に設定された値とを比較する。（ステップ２０４）、シーケンシャルアクセスカウンタの値が「キャッシュ利用最大シーケンシャルアクセスＩ／Ｏ連続数」以下であった場合、Ｉ／Ｏ判定手段２２は、キャッシュメモリ１１を利用したデータ転送を行うように転送パス制御手段２３に指示する（ステップ２０７）。シーケンシャルアクセスカウンタの値が「キャッシュ利用最大シーケンシャルアクセスＩ／Ｏ連続数」を超えていた場合、Ｉ／Ｏ判定手段２２は、キャッシュメモリ１１を利用せずデータ転送を行うように転送パス制御手段２３に指示する（ステップ２０５）。
【００４２】
以上の動作を行うことにより、ホストサーバ３０，４０ごとに設定した「キャッシュ利用最大シーケンシャルアクセスＩ／Ｏ連続数」によってキャッシュ利用オンオフ切り替えを実現することが可能となる。
【００４３】
次に、本発明に係るストレージ制御方法の一実施形態について説明する。本実施形態のストレージ制御方法は、図１のストレージ制御装置の動作そのものである。したがって、図１に基づき説明する。
【００４４】
本実施形態のストレージ制御方法は、論理ディスク１２及びキャッシュメモリ１１を備えたストレージ装置１０に用いられ、ホストサーバ３０，４０からのＩ／Ｏコマンド３１，４１に応じてホストサーバ３０，４０と論理ディスク１２との間でデータを転送するものである。そして、本実施形態のストレージ制御方法は、キャッシュ利用条件を予め記憶しておき、Ｉ／Ｏコマンド３１，４１から得られた情報がキャッシュ利用条件を満たすか否かを判定し、キャッシュ利用条件を満たすときは、ホストサーバ３０，４０と論理ディスク１２との間でキャッシュメモリ１１を介してデータを転送し、キャッシュ利用条件を満たさないときは、ホストサーバ３０，４０と論理ディスク１２との間でキャッシュメモリ１１を介さずに直接データを転送する、ことを特徴とする。なお、各構成要素は、図１のストレージ制御装置と同様に具体化することができる。
【００４５】
本実施形態のストレージ制御方法によれば、Ｉ／Ｏコマンド３１，４１から得られた情報がキャッシュ利用条件を満たさないと、キャッシュメモリ１１を介さずに直接データを転送することにより、大容量のデータ転送が行われるＩ／Ｏコマンド３１，４１を受けた場合にキャッシュメモリ１１を介さずに直接データを転送できるので、処理優先度の高いＪＯＢの処理遅延を抑制できる。
【００４６】
次に、本発明に係るストレージ制御プログラムの一実施形態について説明する。本実施形態のストレージ制御プログラムは、図１のストレージ制御装置の各手段をコンピュータに機能させるためのものである。したがって、図１に基づき説明する。
【００４７】
本実施形態のストレージ制御プログラムは、論理ディスク１２及びキャッシュメモリ１１を備えたストレージ装置１０に用いられ、ホストサーバ３０，４０からのＩ／Ｏコマンド３１，４１に応じてホストサーバ３０，４０と論理ディスク１２との間でデータを転送するためのものである。そして、本実施形態のストレージ制御プログラムは、キャッシュ利用条件記憶手段２１、Ｉ／Ｏ判定手段２２及び転送パス制御手段２３として、コンピュータ（図３参照）を機能させることを特徴とする。キャッシュ利用条件記憶手段２１は、キャッシュ利用条件を予め記憶する。Ｉ／Ｏ判定手段２２は、Ｉ／Ｏコマンド３１，４１から得られた情報がキャッシュ利用条件記憶手段２１に記憶されているキャッシュ利用条件を満たすか否かを判定する。転送パス制御手段２３は、Ｉ／Ｏ判定手段２２でキャッシュ利用条件を満たすと判定されると、ホストサーバ３０，４０と論理ディスク１２との間でキャッシュメモリ１１を介してデータを転送し、Ｉ／Ｏ判定手段２２でキャッシュ利用条件を満たさないと判定されると、ホストサーバ３０，４０と論理ディスク１２との間でキャッシュメモリ１１を介さずに直接データを転送する。なお、各構成要素は、図１のストレージ制御装置と同様に具体化することができる。
【００４８】
本実施形態のストレージ制御プログラムによれば、Ｉ／Ｏコマンド３１，４１から得られた情報がキャッシュ利用条件を満たさないと、キャッシュメモリ１１を介さずに直接データを転送することにより、大容量のデータ転送が行われるＩ／Ｏコマンド３１，４１を受けた場合にキャッシュメモリ１１を介さずに直接データを転送できるので、処理優先度の高いＪＯＢの処理遅延を抑制できる。
【００４９】
以上、上記各実施形態を参照して本発明を説明したが、本発明は上記各実施形態に限定されるものではない。本発明の構成や詳細については、当業者が理解し得るさまざまな変更を加え得る。また、本発明には、上記各実施形態の構成の一部又は全部を相互に適宜組み合わせたものも含まれる。図５及び図７の例では記憶媒体からデータを読み出す場合について述べたが、記憶媒体にデータを書き込む場合も、データの転送方向が逆になるだけであるので当然に本発明に含まれる。ストレージ装置に接続されるホストサーバの台数も、二台に限らず、一台又は三台以上でもよい。
【図面の簡単な説明】
【００５０】
【図１】本発明に係るストレージ制御装置及びストレージ装置の一実施形態を示すブロック図である。
【図２】図１における転送パス制御手段の構成の一例を示すブロック図である。
【図３】図１におけるストレージ制御装置のハードウェア構成の一例を示すブロック図である。
【図４】図１におけるキャッシュ利用条件記憶手段が記憶するテーブル（キャッシュ利用条件）の第一例を示す図表である。
【図５】図１のストレージ制御装置の動作の第一例を示すフローチャートである。
【図６】図１におけるキャッシュ利用条件記憶手段が記憶するテーブル（キャッシュ利用条件）の第二例を示す図表である。
【図７】図１のストレージ制御装置の動作の第二例を示すフローチャートである。
【符号の説明】
【００５１】
１０  ストレージ装置
１１  キャッシュメモリ
１２  論理ディスク（記憶媒体）
２０  ストレージ制御装置
２１  キャッシュ利用条件記憶手段
２２  Ｉ／Ｏ判定手段
２３  転送パス制御手段
２４  キャッシュデータ転送パス
２５  ホストデータ転送パス
３０  ホストサーバ（ホストサーバ０）
３２  ホストバスアダプタ（ＨＢＡ０）
４０  ホストサーバ（ホストサーバ１）
４２  ホストバスアダプタ（ＨＢＡ１）
【図１】
2009093225.tif 000003
【図２】
2009093225.tif 000004
【図３】
2009093225.tif 000005
【図４】
2009093225.tif 000006
【図５】
2009093225.tif 000007
【図６】
2009093225.tif 000008
【図７】
2009093225.tif 000009