(57)【特許請求の範囲】
【請求項１】
ユニット間が相互に接続される複数のディスクアレイユニットを備えたストレージ装置であって、
前記ディスクアレイユニットは、
ディスクへの書き込みデータ及び／又はディスクからの読み出しデータを一時的に保持するキャッシュメモリと、
前記複数のディスクアレイユニットの複数のディスクを一意的に識別するディスク番号と、前記ディスク番号のデータを保持するキャッシュメモリのユニット番号との対応を管理するディスク対応テーブルと、
前記複数のディスクアレイユニットからのディスクへのアクセス状況を監視するアクセス監視手段と、
前記ディスクアレイユニットにおいて、他のディスクアレイユニットからの単位時間当たりのアクセス回数が予め定められた閾値を超えているディスク番号が存在する場合、前記ディスク対応テーブルのキャッシュメモリのユニット番号を、前記他のディスクアレイユニットのキャッシュメモリのユニット番号に変更し、前記ディスクアレイユニットのキャッシュメモリの前記ディスク番号に対応するデータを、前記他のディスクアレイユニットのキャッシュメモリに移動する手段と、
を備えている、ことを特徴とするストレージ装置。
【請求項２】
前記ディスク対応テーブルは、前記複数のディスクアレイユニットの複数のディスクを論理アドレス空間に対応して一意的に識別する論理ディスク番号と、
前記論理ディスク番号に対応するディスクの物理ディスク番号と、
前記論理ディスク番号に対応するデータを保持するキャッシュメモリのユニット番号との対応関係を記憶する、ことを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記ディスクアレイユニットは、前記ディスク番号と、前記ディスク番号に対する前記複数のディスクアレイユニットからのそれぞれのアクセス状況と、キャッシュメモリ変更の基準となるアクセス回数の閾値と、を管理するアクセス統計情報テーブルを備え、
前記アクセス統計情報テーブルを用いて、前記複数のディスクアレイユニットからのそれぞれのアクセス状況を管理する、ことを特徴とする請求項１又は２に記載のストレージ装置。
【請求項４】
前記アクセス統計情報テーブルは、前記複数のディスクアレイユニットのディスクの論理アドレス空間に対応して一意的に識別する論理ディスク番号と、前記論理ディスク番号のデータに対する前記複数のディスクアレイユニットからの単位時間当たりのアクセス回数と、キャッシュメモリ変更の基準となる単位時間当たりのアクセス回数の閾値との対応関係を記憶する、ことを特徴とする請求項３記載のストレージ装置。
【請求項５】
前記ディスクアレイユニットにおいて、
前記他のディスクアレイユニットのキャッシュメモリへ前記ディスク番号のデータを移動するにあたり、前記ディスク番号のデータがキャッシュメモリに存在する場合、前記ディスク番号のデータを前記他のディスクアレイユニットのキャッシュメモリへ転送し、前記一のディスクアレイユニットのキャッシュメモリから、前記ディスク番号のデータを削除する、ことを特徴とする請求項１乃至４のいずれか１項に記載のストレージ装置。
【請求項６】
移動元のディスクアレイユニットのキャッシュメモリから移動先のディスクアレイユニットのキャッシュメモリへあるディスク番号のデータを移動中に、前記ディスク番号への書き込み要求を受けた場合、
前記移動元のディスクアレイユニットにおいて、
前記ディスク番号のデータのキャッシュメモリ間の移動が未実施の場合には、前記ディスク番号のデータを前記移動元のディスクアレイユニットのキャッシュメモリから前記移動先のディスクアレイユニットのキャッシュメモリにコピーし、前記移動元のディスクアレイユニットのキャッシュメモリから前記ディスク番号のデータを削除することで、前記ディスク番号のデータのキャッシュメモリ間の移動を実施し、
その後、書き込みデータを該当するディスクアレイユニット内のキャッシュメモリに格納し、前記キャッシュメモリ上の書き込みデータを前記ディスク番号に対応するディスクに書き込む、ことを特徴とする請求項１乃至５のいずれか１項に記載のストレージ装置。
【請求項７】
移動元のディスクアレイユニットのキャッシュメモリから移動先のディスクアレイユニットのキャッシュメモリへあるディスク番号のデータを移動中に、前記ディスク番号のデータの読み出し要求を受けた場合、
前記移動元のディスクアレイユニットのキャッシュメモリに読み出し対象データがある場合に、
前記データのキャッシュメモリ間の移動が実施済みでない場合には、前記移動元のディスクアレイユニットのキャッシュメモリから前記移動先のディスクアレイユニットのキャッシュメモリにコピーし、前記移動元のディスクアレイユニットのキャッシュメモリから前記ディスク番号のデータを削除することで、前記ディスク番号のデータのキャッシュメモリ間の移動を実施し、
前記移動元のディスクアレイユニットのキャッシュメモリに読み出し対象データがない場合には、前記移動先のディスクアレイユニットのディスクからデータを読み出して前記移動先のディスクアレイユニットのキャッシュメモリにデータを格納、前記キャッシュメモリ上に格納されたデータを読み出しデータとして、要求元に返す、ことを特徴とする請求項１乃至６のいずれか１項に記載のストレージ装置。
【請求項８】
前記ディスク番号として論理ディスク番号を用いる、ことを特徴とする請求項５乃至７のいずれか１項に記載のストレージ装置。
【請求項９】
請求項１乃至８のいずれか１項に記載のストレージ装置と、１つ又は複数のホストコンピュータを備えたシステム。
【請求項１０】
ディスクへの書き込みデータ及び／又はディスクからの読み出しデータを一時的に保持するキャッシュメモリを備え、１つ又は複数の他のディスクアレイユニットと相互に接続されるディスクアレイユニットが、
複数の前記ディスクアレイユニットの複数のディスクを一意的に識別するディスク番号と、前記ディスク番号のデータを保持するキャッシュメモリのユニット番号との対応を管理するディスク対応テーブルと、
前記他のディスクアレイユニットからの前記ディスクアレイユニッ内のディスクへのアクセス状況を監視するアクセス監視手段と、
前記ディスクアレイユニットにおいて、前記他のディスクアレイユニットからの単位時間当たりのアクセス回数が予め定められた閾値を超えているディスク番号が存在する場合、前記ディスク対応テーブルのキャッシュメモリのユニット番号を、前記他のディスクアレイユニットのキャッシュメモリのユニット番号に変更し、前記ディスクアレイユニットのキャッシュメモリの前記ディスク番号に対応するデータを、前記他のディスクアレイユニットのキャッシュメモリに移動する手段と、
を備えたディスクアレイユニット。
【請求項１１】
ディスクへの書き込みデータ及び／又はディスクからの読み出しデータを一時的に保持するキャッシュメモリを備え、１つ又は複数の他のディスクアレイユニットと相互に接続され、複数の前記ディスクアレイユニットの複数のディスクを一意的に識別するディスク番号と、前記ディスク番号のデータを保持するキャッシュメモリのユニット番号との対応を管理するディスク対応テーブルを備えたディスクアレイユニットのコンピュータに、
前記他のディスクアレイユニットからの前記ディスクアレイユニッ内のディスクへのアクセス状況を監視する処理と、
前記ディスクアレイユニットにおいて、前記他のディスクアレイユニットからの単位時間当たりのアクセス回数が予め定められた閾値を超えているディスク番号が存在する場合、前記ディスク対応テーブルのキャッシュメモリのユニット番号を、前記他のディスクアレイユニットのキャッシュメモリのユニット番号に変更し、前記ディスクアレイユニットのキャッシュメモリの前記ディスク番号に対応するデータを、前記他のディスクアレイユニットのキャッシュメモリに移動する処理と、
を実行させるプログラム。
【請求項１２】
前記他のディスクアレイユニットのキャッシュメモリへ前記ディスク番号のデータを移動するにあたり、前記ディスク番号のデータがキャッシュメモリに存在する場合、前記ディスク番号のデータを前記他のディスクアレイユニットのキャッシュメモリへ転送し、前記一のディスクアレイユニットのキャッシュメモリから、前記ディスク番号のデータを削除する処理を、前記コンピュータに実行させる請求項１１に記載のプログラム。
【請求項１３】
ディスクへの書き込みデータ及び／又はディスクからの読み出しデータを一時的に保持するキャッシュメモリを備え、１つ又は複数の他のディスクアレイユニットと相互に接続されるディスクアレイユニットが、
複数の前記ディスクアレイユニットの複数のディスクを一意的に識別するディスク番号と、前記ディスク番号のデータを保持するキャッシュメモリのユニット番号との対応を管理し、
前記他のディスクアレイユニットからの前記ディスクアレイユニッ内のディスクへのアクセス状況を監視し、
前記ディスクアレイユニットにおいて、前記他のディスクアレイユニットからの単位時間当たりのアクセス回数が予め定められた閾値を超えているディスク番号が存在する場合、前記ディスク対応テーブルのキャッシュメモリのユニット番号を、前記他のディスクアレイユニットのキャッシュメモリのユニット番号に変更し、前記ディスクアレイユニットのキャッシュメモリの前記ディスク番号に対応するデータを、前記他のディスクアレイユニットのキャッシュメモリに移動する、ことを特徴とするストレージ制御方法。
【請求項１４】
前記ディスク対応テーブルは、
前記複数のディスクアレイユニットの複数のディスクを論理アドレス空間に対応して一意的に識別する論理ディスク番号と、
前記論理ディスク番号に対応するディスクの物理ディスク番号と、
前記論理ディスク番号に対応するデータを保持するキャッシュメモリのユニット番号との対応関係を記憶する、ことを特徴とする請求項１３記載のストレージ制御方法。
【請求項１５】
前記ディスクアレイユニットは、ディスク番号と、前記ディスク番号に対する前記複数のディスクアレイユニットからのそれぞれのアクセス状況と、キャッシュメモリ変更の基準となるアクセス回数の閾値と、を管理するアクセス統計情報テーブルを備え、前記アクセス統計情報テーブルを用いて、前記複数のディスクアレイユニットからのそれぞれのアクセス状況を管理する、ことを特徴とする請求項１３又は１４記載のストレージ制御方法。
【請求項１６】
前記アクセス統計情報テーブルは、前記複数のディスクアレイユニットのディスクの論理アドレス空間に対応して一意的に識別する論理ディスク番号と、前記論理ディスク番号のデータに対する前記複数のディスクアレイユニットからの単位時間当たりのアクセス回数と、キャッシュメモリ変更の基準となる単位時間当たりのアクセス回数の閾値との対応関係を記憶する、ことを特徴とする請求項１５記載のストレージ制御方法。
【請求項１７】
前記一のディスクアレイユニットにおいて、前記他のディスクアレイユニットのキャッシュメモリへ前記ディスク番号のデータを移動するにあたり、前記ディスク番号のデータがキャッシュメモリに存在する場合、前記ディスク番号のデータを前記他のディスクアレイユニットのキャッシュメモリへ転送し、前記一のディスクアレイユニットのキャッシュメモリから、前記ディスク番号のデータを削除する、ことを特徴とする請求項１３乃至１１６のいずれか１項に記載のストレージ制御方法。
【請求項１８】
移動元のディスクアレイユニットのキャッシュメモリから移動先のディスクアレイユニットのキャッシュメモリへあるディスク番号のデータを移動中に、前記ディスク番号への書き込み要求を受けた場合、
前記移動元のディスクアレイユニットは、前記ディスク番号のデータのキャッシュメモリ間の移動が未実施の場合には、前記ディスク番号のデータを前記移動元のディスクアレイユニットのキャッシュメモリから前記移動先のディスクアレイユニットのキャッシュメモリにコピーし、前記移動元のディスクアレイユニットのキャッシュメモリから前記ディスク番号のデータを削除することで、前記ディスク番号のデータのキャッシュメモリ間の移動を実施した後、書き込みデータを該当するディスクアレイユニット内のキャッシュメモリに格納し、前記キャッシュメモリ上の書き込みデータを前記ディスク番号に対応するディスクに書き込む、ことを特徴とする請求項１３乃至１７のいずれか１項に記載のストレージ制御方法。
【請求項１９】
移動元のディスクアレイユニットのキャッシュメモリから移動先のディスクアレイユニットのキャッシュメモリへあるディスク番号のデータを移動中に、前記ディスク番号のデータの読み出し要求を受けた場合、
前記移動元のディスクアレイユニットのキャッシュメモリに読み出し対象データがある場合、前記データのキャッシュメモリ間の移動が実施済みでない場合には、前記移動元のディスクアレイユニットのキャッシュメモリから前記移動先のディスクアレイユニットのキャッシュメモリにコピーし、前記移動元のディスクアレイユニットのキャッシュメモリから前記ディスク番号のデータを削除することで、前記ディスク番号のデータのキャッシュメモリ間の移動を実施し、
前記移動元のディスクアレイユニットのキャッシュメモリに読み出し対象データがない場合には、移動先のディスクアレイユニットのディスクからデータを読み出して移動先のディスクアレイユニットのキャッシュメモリにデータを転送し、前記キャッシュメモリ上に格納されたデータを読み出しデータとして要求元に返す、ことを特徴とする請求項１３乃至１８のいずれか１項に記載のストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイユニットを備えたストレージ装置、システム、方法とコンピュータ・プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムは大規模化しており、記憶するべきデータ量も膨大となってきている。データの記憶には、一般に、ストレージ装置が使用されるが、初期コストを抑えるために最初は小さな記憶容量のストレージ装置を導入し、システム規模の拡大に伴ってストレージ装置を追加で設置していくことがある。
【０００３】
このため、最初は低価格で小さな構成から導入し、後から動的にリソースを追加していくことで大規模な構成を実現できるような、スケーラブルなストレージ装置が開発されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
以下に本発明による関連技術の分析を与える。
【０００５】
上記したように、スケーラブルな構成拡張を可能とし、ディスクアレイユニット毎にデータを分散して記憶する方式において、ホストコンピュータからの書き込み／読み出し要求を受けたディスクアレイユニットと、当該要求に対応するデータを格納しているディスクアレイユニットとが異なる場合のように、複数のディスクアレイユニットをまたがるようなアクセスでは、ディスクアレイユニット間の通信が必要となるために、応答遅延が発生する。
【０００６】
したがって、本発明は、複数のディスクアレイユニットをまたがるようなアクセスの遅延を縮減する装置を提供することにある。
【課題を解決するための手段】
【０００７】
本願で開示される発明は前記課題を解決するため概略以下の構成とされる。
【０００８】
本発明によれば、ユニット間が相互に接続される複数のディスクアレイユニットを備えたストレージ装置であって、前記ディスクアレイユニットが、ディスクへの書き込みデータ及び／又はディスクからの読み出しデータを一時的に保持するキャッシュメモリと、前記複数のディスクアレイユニットからのそれぞれのアクセス状況に基づき、一のディスクアレイユニットのキャッシュメモリと他のディスクアレイユニットのキャッシュメモリ間でのデータの移動を行う手段と、を備えているストレージ装置が提供される。
【０００９】
本発明において、前記ディスクアレイユニットは、前記複数のディスクアレイユニットの複数のディスクを一意的に識別するディスク番号と、前記ディスク番号のデータを保持するキャッシュメモリのユニット番号との対応を管理するディスク対応テーブルと、前記複数のディスクアレイユニットからのディスクへのアクセス状況を監視するアクセス監視手段と、を備え、前記ディスクアレイユニットにおいて、他のディスクアレイユニットからの単位時間当たりのアクセス回数が予め定められた閾値を超えているディスク番号が存在する場合、前記ディスク対応テーブルのキャッシュメモリのユニット番号を、前記他のディスクアレイユニットのキャッシュメモリのユニット番号に変更し、前記ディスクアレイユニットのキャッシュメモリの前記ディスク番号に対応するデータを、前記他のディスクアレイユニットのキャッシュメモリに移動する。
【００１０】
本発明において、前記ディスク対応テーブルは、前記複数のディスクアレイユニットの複数のディスクを論理アドレス空間に対応して一意的に識別する論理ディスク番号と、前記論理ディスク番号に対応するディスクの物理ディスク番号と、前記論理ディスク番号に対応するデータを保持するキャッシュメモリのユニット番号との対応関係を記憶する。
【００１１】
本発明において、前記ディスクアレイユニットは、ディスク番号と、前記ディスク番号に対する前記複数のディスクアレイユニットからのそれぞれのアクセス状況と、キャッシュメモリ変更の基準となるアクセス回数の閾値と、を管理するアクセス統計情報テーブルを備え、前記アクセス統計情報テーブルを用いて、前記複数のディスクアレイユニットからのそれぞれのアクセス状況を管理する。
【００１２】
本発明においては、前記アクセス統計情報テーブルは、前記複数のディスクアレイユニットのディスクの論理アドレス空間に対応して一意的に識別する論理ディスク番号と、前記論理ディスク番号のデータに対する前記複数のディスクアレイユニットからの単位時間当たりのアクセス回数と、キャッシュメモリ変更の基準となる単位時間当たりのアクセス回数の閾値との対応関係を記憶する構成としてもよい。
【００１３】
本発明において、前記一のディスクアレイユニットにおいて、前記他のディスクアレイユニットのキャッシュメモリへ前記ディスク番号のデータを移動するにあたり、前記ディスク番号のデータがキャッシュメモリに存在する場合、前記ディスク番号のデータを前記他のディスクアレイユニットのキャッシュメモリへ転送し、前記一のディスクアレイユニットのキャッシュメモリから、前記ディスク番号のデータを削除する構成としてもよい。
【００１４】
本発明において、移動元のディスクアレイユニットのキャッシュメモリから移動先のディスクアレイユニットのキャッシュメモリへあるディスク番号のデータを移動中に、前記ディスク番号への書き込み要求を受けた場合、前記移動元のディスクアレイユニットにおいて、前記ディスク番号のデータのキャッシュメモリ間の移動が未実施の場合には、前記ディスク番号のデータを前記移動元のディスクアレイユニットのキャッシュメモリから前記移動先のディスクアレイユニットのキャッシュメモリにコピーし、前記移動元のディスクアレイユニットのキャッシュメモリから前記ディスク番号のデータを削除することで、前記ディスク番号のデータのキャッシュメモリ間の移動を実施し、その後、書き込みデータを該当するディスクアレイユニット内のキャッシュメモリに格納し、前記キャッシュメモリ上の書き込みデータを前記ディスク番号に対応するディスクに書き込む構成としてもよい。
【００１５】
本発明において、移動元のディスクアレイユニットのキャッシュメモリから移動先のディスクアレイユニットのキャッシュメモリへあるディスク番号のデータを移動中に、前記ディスク番号のデータの読み出し要求を受けた場合、前記移動元のディスクアレイユニットのキャッシュメモリに読み出し対象データがある場合に、
前記データのキャッシュメモリ間の移動が実施済みでない場合には、前記移動元のディスクアレイユニットのキャッシュメモリから前記移動先のディスクアレイユニットのキャッシュメモリにコピーし、前記移動元のディスクアレイユニットのキャッシュメモリから前記ディスク番号のデータを削除することで、前記ディスク番号のデータのキャッシュメモリ間の移動を実施し、
前記移動元のディスクアレイユニットのキャッシュメモリに読み出し対象データがない場合には、前記移動先のディスクアレイユニットのディスクからデータを読み出して前記移動先のディスクアレイユニットのキャッシュメモリにデータを格納、前記キャッシュメモリ上に格納されたデータを読み出しデータとして、要求元に返す構成としてもよい。
【００１６】
本発明において、前記ディスク番号として論理ディスク番号を用いる。
【００１７】
本発明によれば、ディスクへの書き込みデータ及び／又はディスクからの読み出しデータを一時的に保持するキャッシュメモリを備え、１つ又は他のディスクアレイユニットと相互に接続されるディスクアレイユニットが、各ディスクアレイユニットからのアクセス状況に基づき、前記ディスクアレイユニットのキャッシュメモリと他のディスクアレイユニットのキャッシュメモリ間でのデータの移動を行う手段を備えたディスクアレイユニットが提供される。
【００１８】
本発明によれば、ディスクへの書き込みデータ及び／又はディスクからの読み出しデータを一時的に保持するキャッシュメモリを備え、１つ又は他のディスクアレイユニットと相互に接続されるディスクアレイユニットのコンピュータに、各ディスクアレイユニットからのアクセス状況に基づき、前記ディスクアレイユニットのキャッシュメモリと他のディスクアレイユニットのキャッシュメモリ間でのデータの移動を行う処理を実行させるプログラムが提供される。
【００１９】
本発明によれば、ディスクへの書き込みデータ及び／又はディスクからの読み出しデータを一時的に保持するキャッシュメモリを備え、１つ又は複数の他のディスクアレイユニットと相互に接続されるディスクアレイユニットが、
各ディスクアレイユニットからのアクセス状況に基づき、前記ディスクアレイユニットのキャッシュメモリと他のディスクアレイユニットのキャッシュメモリ間でのデータの移動を行うストレージ制御方法が提供される。
【発明の効果】
【００２０】
本発明によれば、ホストコンピュータからの書き込み／読み出し要求を受けたディスクアレイユニットと、当該要求に対応するデータを格納しているディスクアレイユニットとが異なる場合のように、複数のディスクアレイユニットをまたがるようなアクセスの遅延を縮減する。
【発明を実施するための最良の形態】
【００２１】
上記した本発明についてさらに詳細に説述すべく添付図面を参照して以下に説明する。
本発明においては、複数のディスクアレイユニットのそれぞれのユニットからの論理ディスクへのアクセス状況を監視し、単位時間当たりのアクセス回数が予め定められた閾値を超えている論理ディスクについて、論理ディスク番号とキャッシュメモリのユニット番号との対応を管理する論理ディスク対応テーブルのキャッシュメモリのユニット番号を変更し、キャッシュメモリ間のデータの移動を指示する。ディスクアレイユニット内のキャッシュメモリに格納されているデータを、当該データを最頻にアクセスするディスクアレイユニットのキャッシュメモリに移動することにより、ホストコンピュータからの書き込み／読み出し要求時に、ディスクアレイユニット間の通信が不要になるようにデータを配置する。
【００２２】
ストレージ装置は、ホスト制御部（２１０）、ユニット内接続スイッチ（２２０）、キャッシュメモリ（２３０）、ディスク制御部（２４０）、物理ディスク（２５０）を含むディスクアレイユニット（２０１）を複数備え、複数のディスクアレイユニット（２０１）は、ユニット間接続スイッチ（２０２）により相互に接続できる。
【００２３】
一のディスクアレイユニットのキャッシュメモリに、ユニット間接続スイッチ（２０２）を介して、他のディスクアレイユニット側から頻繁にアクセスされる場合に、論理ディス対応テーブルにおいて、当該論理ディスク番号に対応するキャッシュメモリのユニット番号を、他のディスクアレイユニットのキャッシュメモリのユニット番号に変更し、一のディスクアレイユニットのキャッシュメモリの前記論理ディスク番号に対応するデータを、他のディスクアレイユニットのキャッシュメモリに移動させる。以降、当該他のディスクアレイユニットにおいては、当該路論理ディスク番号のデータのアクセスには、当該他のディスクアレイユニット内のキャッシュメモリに対して行われ、ディスクアレイユニット（２０１）間のアクセスが発生しないようにする。
【００２４】
本発明の一態様において、論理ディスク対応テーブルにおけるキャッシュメモリユニット番号の変更は、各ディスクアレイユニット（２０１）のホスト制御部（２１０）から、各論理ディスクへのアクセス状況を監視し、アクセスの統計情報等を基に、自動的に行うようにしてもよい。あるいは、本発明の別の態様において、保守用端末（３００）上に、アクセス状況を表示し、保守用端末（３００）からの指示により、キャッシュメモリ（２３０）と物理ディスク（２５０）の対応テーブルの変更を行うようにしてもよい。
以下、実施例を説明する。
【００２５】
図１は、本発明の一実施例のシステム構成を示す図である。ストレージ装置２００は、複数のディスクアレイユニット２０１を備え、各ディスクアレイユニット２０１は、それぞれ、ホストコンピュータ（１０１〜１０４）からの要求（コマンド）を受け解析しアクセス要求を発行するとともにアクセス結果を応答としてホストコンピュータ（１０１〜１０４）に返すホスト制御部２１０と、ホスト制御部２１０とキャッシュメモリ２３０間の接続を切替制御するユニット内接続スイッチ２２０と、物理ディスク２５０への書き込みデータ、物理ディスク２５０からの読み出しデータを一時的に保持するキャッシュメモリ部２３０と、物理ディスク２５０へのデータの書き込み、読み出しを制御するディスク制御部２４０と、複数ディスクよりなる物理ディスク部２５０と、を備えている。
【００２６】
図１において、各ディスクアレイユニット２０１は、ホスト制御部２１０と、キャッシュメモリ２３０、ディスク制御部２４０は、２重化冗長構成とされ、一方が現用系、他方が予備系とされ、現用系に障害発生時、予備系への切り替えが行われる。ユニット内接続スイッチ２２０は、現用系のホスト制御部２１０を現用系のキャッシュメモリ２３０に接続する。二重化された各キャッシュメモリ２３０は、二重化されたディスク制御部２４０のいずれにもアクセス可能である。ディスクアレイユニット０、１、２、３（２０１）のホスト制御部２１０は、ホストコンピュータ１０１、１０２、１０３、１０４にそれぞれ接続されている。
【００２７】
一のディスクアレイユニット２０１内のホスト制御部２１０は、他のディスクアレイユニット２０１内のホスト制御部２１０と通信接続される。一のディスクアレイユニット２０１内のホスト制御部２１０は、一のディスクアレイユニット２０１内のホスト制御部２１０（予備系）とも通信接続される。
【００２８】
ディスクアレイユニット２０１間は、ユニット間接続スイッチ２０２により接続されている。すなわち、ディスクアレイユニット０（２０１）とディスクアレイユニット１（２０１）のユニット内接続スイッチ２２０は、ユニット間接続スイッチ２０２に接続され、ディスクアレイユニット２（２０１）とディスクアレイユニット３（２０１）のユニット内接続スイッチ２２０は、ユニット間接続スイッチ２０２に接続され、ディスクアレイユニット０〜３（２０１）のユニット間接続スイッチ２０２が相互接続可能とされる。
【００２９】
なお、図１においては、４つのディスクアレイユニットで構成されているが、本発明において、ディスクアレイユニットの個数は４に制限されるものでなく、３つ以下または５つ以上であってもよいことは勿論である。
【００３０】
図２は、図１のディスクアレイユニット２０１の詳細構成の一例を示す図である。図２を参照すると、ホスト制御部２１０は、ホストコンピュータからコマンドを受け取り解析するホストコマンド制御部２１１と、データ（書き込み／読み出しデータ）の転送を制御するデータ転送制御部２１２と、ホストコンピュータからのアクセスを監視（モニタ）するホストアクセス監視部２１３と、他のユニットホスト制御部２１０（の制御部間通信制御部２１４）との間の通信を制御する制御部間通信制御部２１４と、を備えている。
【００３１】
キャッシュメモリ部２３０は、論理ディスク番号と物理ディスクのユニット番号とキャッシュメモリのユニット番号との対応を保持する論理ディスク対応テーブル２３１と、キャッシュメモリ２３２と、ホストアクセス監視部２１３で監視されたホストアクセスの統計情報を管理するためのホストアクセス統計情報テーブル２３３と、を備えている。
【００３２】
ディスク制御部２４０は、ホストコマンド制御部２１１で発行されたコマンドを受け書き込み・読み出しを制御するディスクコマンド制御部２４１と、物理ディスク２５０への書き込みデータ、物理ディスク２５０からの読み出しデータの転送を制御するデータ転送制御部２４２と、他のディスクアレイユニットのキャッシュメモリとの間でキャッシュメモリのデータのコピーを制御するキャッシュ間コピー制御部２４３と、ホスト制御部２１０の制御部間通信制御部２１４と接続され、他のディスクアレイユニットのディスク制御部２４０との間の通信を制御する制御部間通信制御部２４４と、を備えている。
【００３３】
図３は、図２のキャッシュメモリ部２３０内の論理ディスク対応テーブル２３１の内容を模式的に示した図である。
【００３４】
論理ディスク対応テーブル２３１は、論理ディスク番号と、物理ディスクのユニット番号とキャッシュメモリのユニット番号との対応を示すテーブルである。
【００３５】
本実施例において、論理ディスク番号は、ディスクアレイユニット０、１、２、３の物理ディスク部２５０の物理ディスクユニットに対して、例えば通番で付与される。論理アドレス番号と物理ディスクのユニット番号との対応は、ディスクアレイユニット０、１、２、３間で共通とされ、したがって、論理ディスク対応テーブル２３１の内容は、ディスクアレイユニット０、１、２、３間で同一とされる。特に制限されないが、キャッシュメモリのユニット番号はディスクアレイユニット番号に対応する（キャッシュメモリのユニット番号０、１、２、３はディスクアレイユニット０、１、２、３）。また、図３に示す例では、ディスクアレイユニット０の物理ディスク２５０（物理ディスク番号０）の物理アドレス空間は、論理ディスク番号００００、０００１、０００２、０００３の４つの論理ディスクからなる論理アドレス空間に対応し、論理アドレス番号００００〜０００３の論理アドレス空間のデータブロックは、ディスクアレイユニット０のキャッシュメモリ（ユニット番号０）のデータ領域にそれぞれ保持される。同様に、ディスクアレイユニット１の物理ディスク（物理ディスク番号１）の物理アドレス空間は、論理ディスク番号０００４、０００５、０００６、０００７の４つの論理ディスクからなる論理アドレス空間に対応している。論理アドレス番号０００４〜０００７の論理アドレス空間のデータブロックは、ディスクアレイユニット１のキャッシュメモリ（ユニット番号０）のデータ領域にそれぞれ保持される。論理ディスク番号０００８以降も同様である。特に制限されないが、図３に示す例では、物理ディスク番号は物理ディスク２５０を一意的に識別するための識別番号であり（物理ディスク番号０、１、２、３はディスクアレイユニット０、１、２、３に対応）、論理ディスク番号は、複数ユニットの物理ディスク２５０が構成する全体の論理アドレス空間のうちの部分空間を一意的に識別する。
【００３６】
ホストコンピュータから書き込み／読み出し要求（アクセス要求コマンド）を受信したホスト制御部２１０のホストコマンド制御部２１１は、アクセス対象のアドレスから、論理ディスク対応テーブル２３１を参照して、アクセス対象の論理ディスクがどの物理ディスク（ユニット番号）、キャッシュメモリ（ユニット番号）に対応しているかを調べる。
【００３７】
図４は、ホストアクセス統計情報テーブル２３３の一例を模式的に示す図である。ホストアクセス統計情報テーブル２３３は、論理ディスク番号毎に、各ディスクアレイユニットのホスト制御部２１０からの単位時間当たりのアクセス回数を示すテーブルである。ホストコンピュータからの書き込み／読み出し要求の状況をホストアクセス監視部２１３が監視し、定期的に更新する。
【００３８】
ホストアクセス統計情報テーブル２３３は、論理ディスク番号、ディスクアレイユニット０、１、２、３のホスト制御部２１０からの単位時間当たりのアクセス回数、キャッシュ変更閾値（データブロックを格納するキャッシュメモリを変更させる基準として用いられる、単位時間当たりのアクセス回数の閾値）を１エントリとして保持する。
【００３９】
図５は、本発明の一実施例において、ホストコンピュータから書き込み要求を受けた時の動作フローを示す図である。
【００４０】
ホストコンピュータから書き込み要求を受けたホスト制御部２１０は、論理ディスク対応テーブル２３１を参照して論理ディスク番号に対応するキャッシュメモリ２３２のユニット番号を検索する（ステップＳ１０１）。
【００４１】
次に、ホスト制御部２１０は、該当論理ディスクの書き込みを行うデータブロックのアクセス権を獲得する（ステップＳ１０２）。ホスト制御部２１０は、ホストコンピュータから受信したデータ（書き込みデータ）を、該当するディスクアレイユニット内のキャッシュメモリ２３２に格納する（ステップＳ１０３）。
【００４２】
次に、ホスト制御部２１０は、該当論理ディスクの書き込みを行うデータブロックのアクセス権を解放し（ステップＳ１０４）、ホストコンピュータにレスポンス（応答）を送信する（ステップＳ１０５）。
【００４３】
その後、ディスク制御部２４０はホストコンピュータからの書き込み要求とは非同期にキャッシュメモリ２３２上のディスク未書き込みデータを物理ディスク２５０に書き込む（ステップＳ１０６）。
【００４４】
図１において、ホストコンピュータ１０１がディスクアレイユニット０（２０１）の物理ディスク２５０から構成されている論理ディスクにアクセスする場合には、ディスクアレイユニット０内のホスト制御部２１０、ユニット内接続スイッチ２２０、キャッシュメモリ２３０というデータの流れとなる。
【００４５】
一方、ホストコンピュータ１０１が、ディスクアレイユニット２（２０１）の物理ディスク２５０から構成されている論理ディスクにアクセスする場合は、ディスクアレイユニット０内のホスト制御部２１０、ユニット内接続スイッチ２２０、ユニット間接続スイッチ２０２、ディスクアレイユニット２内のユニット内接続スイッチ２２０、ディスクアレイユニット２内のキャッシュメモリ２３０というデータの流れとなる。
【００４６】
このため、スイッチが間に複数入ることとなり、ディスクアレイユニット内のみの場合に比較してアクセス遅延が発生する。
【００４７】
図６は、本発明の一実施例において、ホストコンピュータから読み出し要求を受けた時の動作フローを示す流れ図である。
【００４８】
ホストコンピュータから読み出し要求を受けたホスト制御部２１０は、論理ディスク番号に対応するキャッシュメモリ２３２のユニット番号を検索する（ステップＳ２０１）。
【００４９】
次に、ホスト制御部２１０は、該当論理ディスクの読み出しを行うデータブロックのアクセス権を獲得し（ステップＳ２０２）、キャッシュメモリ２３２に該当データブロックが存在するか（キャッシュヒット／キャッシュミス）調査する（ステップＳ２０３）。
【００５０】
キャッシュメモリ２３２に、読み出し対象のデータブロックが存在しない場合（ステップＳ２０３のＮｏ：キャッシュミス）、ホスト制御部２１０は、該当するユニット内のディスク制御部２４０に物理ディスク２５０のデータの読み出しを指示し（ステップＳ２０４）、指示を受けたディスク制御部２４０は物理ディスク２５０からデータを読み出してキャッシュメモリ２３２にデータを転送する（ステップＳ２０５）。
【００５１】
次に、ホスト制御部２１０がキャッシュメモリ２３２上に格納されたデータをホストコンピュータに転送し（ステップＳ２０６）、該当論理ディスクのデータブロックのアクセス権を解放し（ステップＳ２０７）、ホストコンピュータに、読み出し要求に対するレスポンスを送信する（ステップＳ２０８）。
【００５２】
図１において、ホストコンピュータ１０１がディスクアレイユニット０の物理ディスク２５０から構成されている論理ディスクにアクセスする場合でキャッシュヒットした場合は、ディスクアレイユニット０内のキャッシュメモリ２３０、ユニット内接続スイッチ２２０、ホスト制御部２１０というデータの流れとなる。
【００５３】
一方、ホストコンピュータ１０１がディスクアレイユニット２の物理ディスク２５０から構成されている論理ディスクにアクセスする場合でキャッシュヒットした場合は、ディスクアレイユニット２内のキャッシュメモリ２３０、ディスクアレイユニット２内のユニット内接続スイッチ２２０、ユニット間接続スイッチ２０２、ディスクアレイユニット０内のユニット内接続スイッチ２２０、ディスクアレイユニット０内のホスト制御部２１０というデータの流れとなる。
【００５４】
このため、スイッチが間に複数入ることとなり、ディスクアレイユニット内のみの場合に比較してアクセス遅延が発生する。
【００５５】
図７は、ホストアクセス統計情報テーブル２３３の別の例を模式的に示す図である。ホストアクセス統計情報テーブル２３３において、論理ディスク０００８に対するディスクアレイユニット０からのアクセス（４０００）が、キャッシュ変更閾値（３０００）を上回っており、かつ、他のディスクアレイユニットからのアクセス（ユニット１、３からのアクセスは０、ユニット２からのアクセスは１０００）は、キャッシュ変更閾値を下回っている。
【００５６】
この場合、論理ディスク０００８のデータを、ディスクアレイユニット０内のキャッシュメモリ２３２に格納した方が、書き込み／読み出し動作を高速化できる。
【００５７】
図９は、本発明の一実施例におけるホストアクセス監視部２１３によるアクセス状況監視処理の動作フローを示す流れ図である。
【００５８】
ホストアクセス監視部２１３は、ホストアクセス統計情報テーブル２３３を参照して、論理ディスクの各ユニットのホスト制御部２１０からのアクセス状況を調査し（ステップＳ３０１）、単位時間当たりのアクセス回数が一定時間以上閾値（キャッシュ変更閾値）を超えているか否かをチェックする（ステップＳ３０２）。
【００５９】
単位時間当たりのアクセス回数が一定時間以上閾値（超えている場合（ステップＳ３０２のＹｅｓ分岐）、図８のように、論理ディスク対応テーブル２３１の中の該当するキャッシュメモリのユニット番号を変更し（図８ではキャッシュメモリのユニット番号を２から０に変更）、ディスク制御部２４０内のキャッシュ間データコピー制御部２５３に対してキャッシュメモリ２３２のデータの移動（あるユニットのキャッシュメモリ２３２内のデータを別のユニット番号のキャッシュメモリ２３２へのコピー）を指示する（ステップＳ３０４）。ステップＳ３０１からＳ３０４の処理を全ての論理ディスクの調査が完了するまで繰り返す（ステップＳ３０５のＮｏ分岐）。
【００６０】
本実施例において、ホストアクセス監視部２１３によるアクセス状況監視処理は、予め定められた一定時間間隔で実行する。あるいは、予め定められた所定のイベント発生をトリガーとして実行するようにしてもよい。
【００６１】
図１０は、本発明の一実施例におけるキャッシュメモリ間のデータ移動処理の動作フローを示す流れ図である。
【００６２】
移動元ユニットのキャッシュメモリを調査する（ステップＳ４０１）。
【００６３】
該当論理ディスクのデータがある場合（ステップＳ４０２のＹｅｓ）、該当論理ディスクの該当データブロックのアクセス権を獲得し（ステップＳ４０３）、該当論理ディスクの該当データブロックを移動先ユニットのキャッシュメモリにコピーする（ステップＳ４０４）。
【００６４】
この時、移動元ディスクアレイユニットのキャッシュメモリ部２３０、移動元ディスクアレイユニットのユニット内接続スイッチ２２０、ユニット間接続スイッチ２０２、移動先ディスクアレイユニットのユニット内接続スイッチ２２０、移動先ディスクアレイユニットのキャッシュメモリ２３０というデータの流れとなる。
【００６５】
キャッシュメモリ間のデータコピー完了後、移動元ディスクアレイユニットのキャッシュメモリ２３２から、該当データブロックを削除し（ステップＳ４０５）、該当論理ディスクのデータブロックのアクセス権を解放する（ステップＳ４０６）。
【００６６】
この処理を該当論理ディスクのデータブロックが移動元ユニットのキャッシュメモリからなくなるまで繰り返す。
【００６７】
本実施例においては、このようにして移動中のデータブロックへのアクセス権を排他制御することにより、データ移動中に該当データブロックにアクセスされた場合でも一貫性を維持することができる。
【００６８】
図１１は、本発明の一実施例において、キャッシュメモリ間でのデータ移動中に対象論理ディスクへの書き込み要求をホストコンピュータから受けた場合の動作フローを示す流れ図である。
【００６９】
ホストコンピュータから書き込み要求を受けたホスト制御部２１０は、論理ディスク対応テーブル２３１を参照して、論理ディスク番号に対応するキャッシュメモリのユニット番号を検索する（ステップＳ５０１）。
【００７０】
次に、該当論理ディスクの書き込みを行うデータブロックのアクセス権を獲得し（ステップＳ５０２）、そのデータブロックのデータ移動が実施済みかどうか調査する（ステップＳ５０３）。
【００７１】
移動未実施の場合（ステップＳ５０３のＹｅｓ）、該当論理ディスクの該当データブロックを移動元ユニットのキャッシュメモリから移動先ユニットのキャッシュメモリにコピーし（ステップＳ５０４）、移動元ユニットのキャッシュメモリから該当データブロックを削除する（ステップＳ５０５）。
【００７２】
次に、ホストコンピュータから受信したデータを該当するユニット内のキャッシュメモリに格納する（ステップＳ５０６）。ステップＳ５０３の判定で移動実施の場合（Ｎｏ）、ステップＳ５０６に分岐する。
【００７３】
該当論理ディスクの書き込みを行うデータブロックのアクセス権を解放し（ステップＳ５０７）、ホストコンピュータにレスポンスを送信する（ステップＳ５０８）。
【００７４】
その後、ディスク制御部２４０はホストコンピュータからの書き込み指示とは非同期にキャッシュメモリ上のディスク未書き込みデータを物理ディスク２５０に書き込む（ステップＳ５０９）。
【００７５】
図１２は、本発明の一実施例において、キャッシュメモリ間のデータ移動中に対象論理ディスクへの読み出し要求をホストコンピュータから受けた場合の動作フローを示す流れ図である。
【００７６】
ホストコンピュータから読み出し要求を受けたホスト制御部２１０は、論理ディスク番号に対応するキャッシュメモリのユニット番号を検索する（ステップＳ６０１）。
【００７７】
次に、該当論理ディスクの読み出しを行うデータブロックのアクセス権を獲得し（ステップＳ６０２）、キャッシュメモリに該当データブロックが存在するか調査する（ステップＳ６０３）。
【００７８】
キャッシュメモリに目的のデータブロックがあり（ステップＳ６０３のＹｅｓ；キャッシュヒット）、そのデータブロックのデータ移動が実施済みでない場合（ステップＳ６０４のＹｅｓ）、該当論理ディスクの該当データブロックを移動元ユニットのキャッシュメモリから移動先ユニットのキャッシュメモリにコピーし（ステップＳ６０５）、移動元ユニットのキャッシュメモリから該当データブロックを削除する（ステップＳ６０６）。
【００７９】
キャッシュメモリに目的のデータブロックがない場合（ステップＳ６０３のＮｏ；キャッシュミス）、移動先ユニット内のディスク制御部２４０に物理ディスク２５０のデータの読み出しを指示する（ステップＳ６０７）。
【００８０】
指示を受けた移動先ユニット内のディスク制御部２４０は物理ディスク２５０からデータを読み出して移動先ユニットのキャッシュメモリにデータを転送する（ステップＳ６０８）。
【００８１】
次に、ホスト制御部２１０がキャッシュメモリ上に格納されたデータをホストコンピュータに転送し（ステップＳ６０９）、該当論理ディスクのデータブロックのアクセス権を解放し（ステップＳ６１０）、ホストコンピュータにレスポンスを送信する（ステップＳ６１１）。
【００８２】
キャッシュメモリ間データ移動処理が完了した後は、他のディスクアレイユニット配下の物理ディスクから構成される論理ディスクにアクセスする場合でも、キャッシュヒット時であれば、ユニット間接続スイッチを介することなく、ホストコンピュータからの書き込み／読み出し処理を行うことができる。どの論理ディスクであっても、ホストコンピュータからの書き込み／読み出し動作を高速に実行することができる。
【００８３】
本実施例によれば、ホストポートからの書き込み／読み出し要求に対して、ディスクアレイユニット間のアクセスが発生しないように、キャッシュメモリの再配置を行う構成としたことにより、ディスクアレイユニット間アクセス遅延による性能低下を回避することができ、高性能でかつスケーラブルなストレージ装置を提供することができる。
【００８４】
上記実施例においては、ホスト制御部２１０から各論理ディスクへのアクセス状況を監視し、その統計情報を基に、自動的にキャッシュメモリと物理ディスクの対応テーブルの変更およびキャッシュデータの移動を行っているが、図１の保守用端末３００上にアクセス状況を表示し、保守用端末３００からの指示により行うようにしても良い。
【００８５】
なお、本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施例の構成を示す図である。
【図２】本発明の一実施例におけるディスクアレイユニットの構成を示す図である。
【図３】本発明の一実施例における論理ディスク対応テーブルの一例を示す図である。
【図４】本発明の一実施例におけるホストアクセス統計情報テーブルの一例を示す図である。
【図５】本発明の一実施例における書き込み処理の手順を示す流れ図である。
【図６】本発明の一実施例における読み出し処理の手順を示す流れ図である。
【図７】本発明の一実施例におけるホストアクセス統計情報テーブルの一例を示す図である。
【図８】本発明の一実施例における論理ディスク対応テーブルの一例を示す図である。
【図９】本発明の一実施例におけるアクセス状況監視処理の手順を示す流れ図である。
【図１０】本発明の一実施例におけるキャッシュデータ移動処理の手順を示す流れ図である。
【図１１】本発明の一実施例におけるキャッシュデータ移動中の書き込み処理の手順を示す流れ図である。
【図１２】本発明の一実施例におけるキャッシュデータ移動中の読み出し処理の手順を示す流れ図である。
【符号の説明】
【００８７】
１０１〜１０４  ホストコンピュータ
２００  ストレージ装置
２０１  ディスクアレイユニット
２０２  ユニット間接続スイッチ
２１０  ホスト制御部
２１１  ホストコマンド制御部
２１２  データ転送制御部
２１３  ホストアクセス監視部
２１４  制御部間通信制御部
２２０  ユニット内接続スイッチ
２３０  キャッシュメモリ部
２３１  論理ディスク対応テーブル
２３２  キャッシュメモリ
２３３  ホストアクセス統計情報テーブル
２４０  ディスク制御部
２４１  ディスクコマンド制御部
２４２  データ転送制御部
２４３  キャッシュ間コピー制御部
２４４  制御部間通信制御部
２５０  物理ディスク部
３００  保守用端末
【図１】
0004862841.tif 000002
【図２】
0004862841.tif 000003
【図３】
0004862841.tif 000004
【図４】
0004862841.tif 000005
【図５】
0004862841.tif 000006
【図６】
0004862841.tif 000007
【図７】
0004862841.tif 000008
【図８】
0004862841.tif 000009
【図９】
0004862841.tif 000010
【図１０】
0004862841.tif 000011
【図１１】
0004862841.tif 000012
【図１２】
0004862841.tif 000013