(57)【要約】【課題】本発明は、性能劣化を防止させ得るストレージ装置を提案する。【解決手段】動的に拡張可能な仮想ボリュームを、当該仮想ボリュームにアクセスするホスト装置に対して提供するストレージ装置であって、複数のディスクにより、前記仮想ボリュームに割り当てる記憶領域を提供するグループを構成し、複数の前記グループ内からそれぞれ前記記憶領域を前記仮想ボリュームに割り当てる割当て部と、外部操作に基づいて、前記仮想ボリュームが使用している各前記グループ内の記憶領域を、各前記グループ間で最適となるように再配置する記憶領域配置部とを備えることを特徴とする。【選択図】図１２
2008234158.tif 000002
【特許請求の範囲】
【請求項１】
動的に拡張可能な仮想ボリュームを、当該仮想ボリュームにアクセスするホスト装置に対して提供するストレージ装置であって、
複数のディスクにより、前記仮想ボリュームに割り当てる記憶領域を提供するグループを構成し、複数の前記グループ内からそれぞれ前記記憶領域を前記仮想ボリュームに割り当てる割当て部と、
外部操作に基づいて、前記仮想ボリュームが使用している各前記グループ内の記憶領域を、各前記グループ間で最適となるように再配置する記憶領域配置部と、
を備えることを特徴とするストレージ装置。
【請求項２】
前記配置部は、
仮想ボリュームが使用している各前記グループ内の記憶領域を、当該各前記グループ間で均等となるように再配置する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記配置部は、
所定の時間以内にアクセスのあった各前記グループ内の記憶領域を、各前記グループ間で均等となるように再配置する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記配置部は、
各前記グループ内の前記仮想ボリュームが使用していない記憶領域を、各前記グループ間で均等となるように再配置する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項５】
前記配置部は、
前記ディスクに比して性能の低い低性能ディスクにより構成された新たなグループが前記仮想ボリュームに記憶領域を割り当てるために追加された場合には、アクセス時刻の古い記憶領域を、前記低性能ディスクの前記グループ内の記憶領域に再配置する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項６】
複数の外部ディスクにより構成されたグループの記憶領域を管理する複数の管理部
を備え、
前記配置部は、
前記仮想ボリュームが使用している、各前記管理部が管理する前記記憶領域を、各前記管理部間で最適となるように再配置する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項７】
動的に拡張可能な仮想ボリュームを、当該仮想ボリュームにアクセスするホスト装置に対して提供するストレージ装置の記憶領域配置方法であって、
複数のディスクにより、前記仮想ボリュームに割り当てる記憶領域を提供するグループを構成し、複数の前記グループ内からそれぞれ前記記憶領域を前記仮想ボリュームに割り当てる第１のステップと、
外部操作に基づいて、前記仮想ボリュームが使用している各前記グループ内の記憶領域を、各前記グループ間で最適となるように再配置する第２のステップと
を備えることを特徴とする記憶領域配置方法。
【請求項８】
前記第２のステップでは、
仮想ボリュームが使用している各前記グループ内の記憶領域を、当該各前記グループ間で均等となるように再配置する
ことを特徴とする請求項７に記載の記憶領域配置方法。
【請求項９】
前記第２のステップでは、
所定の時間以内にアクセスのあった各前記グループ内の記憶領域を、各前記グループ間で均等となるように再配置する
ことを特徴とする請求項７に記載の記憶領域配置方法。
【請求項１０】
前記第２のステップでは、
各前記グループ内の前記仮想ボリュームが使用していない記憶領域を、各前記グループ間で均等となるように再配置する
ことを特徴とする請求項７に記載の記憶領域配置方法。
【請求項１１】
前記第２のステップでは、
前記ディスクに比して性能の低い低性能ディスクにより構成された新たなグループが前記仮想ボリュームに記憶領域を割り当てるために追加された場合には、アクセス時刻の古い記憶領域を、前記低性能ディスクの前記グループ内の記憶領域に再配置する
ことを特徴とする請求項７に記載の記憶領域配置方法。
【請求項１２】
前記第２のステップでは、
前記仮想ボリュームが使用している、複数の外部ディスクにより構成されたグループの記憶領域を管理する複数の管理部が管理する前記記憶領域を、各前記管理部間で最適となるように再配置する
ことを特徴とする請求項７に記載の記憶領域配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及び記憶領域配置方法に関し、例えば、動的に容量拡張が可能な記憶領域をホスト装置に提供するストレージ装置に適用して好適なものである。
【背景技術】
【０００２】
従来、ストレージ装置を用いてデータを格納するストレージシステムにおいては、複数のハードディスクをＲＡＩＤ（Redundant Array of Independent/Inexpensive Disks）方式で管理する方法がある。そして、多数のハードディスクが提供する物理的な記憶領域上には、少なくとも１つ以上の論理的なボリューム（以下、これを論理ボリュームという）が形成される。
【０００３】
さらに近年では、ハードディスクの記憶領域から固定容量の論理ボリュームを作成せず、複数の論理ボリュームによってホスト装置に仮想的なボリューム（以下、これを仮想ボリュームという）を提供し、ホスト装置からの要求に応じて、仮想ボリュームに論理ボリュームの記憶領域を動的に割り当てる記憶領域動的割当て技術が提案されている（例えば、特許文献１参照）。この記憶領域動的割当て技術によれば、仮想ボリュームの動的な容量拡張を実現することができる。
【特許文献１】特願２００３−０１５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、この記憶領域動的割当て技術を長期的に運用した場合には、仮想ボリュームが使用している論理ボリューム内の割当て済の記憶領域に偏りが生ずることがあり、この結果、特定の論理ボリュームに対するアクセスが多くなり、全体としてホスト装置からの要求に対するレスポンス性能が低下するおそれがある。
【０００５】
本発明は以上の点を考慮してなされたもので、性能劣化を防止させ得るストレージ装置及び記憶領域配置方法を提案するものである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するために本発明においては、動的に拡張可能な仮想ボリュームを、当該仮想ボリュームにアクセスするホスト装置に対して提供するストレージ装置であって、複数のディスクにより、前記仮想ボリュームに割り当てる記憶領域を提供するグループを構成し、複数の前記グループ内からそれぞれ前記記憶領域を前記仮想ボリュームに割り当てる割当て部と、外部操作に基づいて、前記仮想ボリュームが使用している各前記グループ内の記憶領域を、各前記グループ間で最適となるように再配置する記憶領域配置部とを備えることを特徴とする。
【０００７】
従って、仮想ボリューム１６が使用している各ＥＣＣグループ１４内の割当て済のページに偏りが生ずることによって、特定のＥＣＣグループ１４に対するアクセスが多くなることによる、ホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【０００８】
また、本発明においては、動的に拡張可能な仮想ボリュームを、当該仮想ボリュームにアクセスするホスト装置に対して提供するストレージ装置の記憶領域配置方法であって、複数のディスクにより、前記仮想ボリュームに割り当てる記憶領域を提供するグループを構成し、複数の前記グループ内からそれぞれ前記記憶領域を前記仮想ボリュームに割り当てる第１のステップと、外部操作に基づいて、前記仮想ボリュームが使用している各前記グループ内の記憶領域を、各前記グループ間で最適となるように再配置する第２のステップとを備えることを特徴とする。
【０００９】
従って、仮想ボリューム１６が使用している各ＥＣＣグループ１４内の割当て済のページに偏りが生ずることによって、特定のＥＣＣグループ１４に対するアクセスが多くなることによる、ホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【発明の効果】
【００１０】
本発明によれば、複数のディスクにより、仮想ボリュームに割り当てる記憶領域を提供するグループを構成し、複数のグループ内からそれぞれ記憶領域を仮想ボリュームに割り当てて、外部操作に基づいて、仮想ボリュームが使用している各グループ内の記憶領域を、各グループ間で最適となるように再配置することにより、仮想ボリューム１６が使用している各ＥＣＣグループ１４内の割当て済のページに偏りが生ずることによって、特定のＥＣＣグループ１４に対するアクセスが多くなることによる、ホスト装置２に対するレスポンス性能が低下するのを有効に防止することができ、かくして、性能劣化を防止することができる。
【発明を実施するための最良の形態】
【００１１】
以下図面について、本発明の一実施の形態を詳述する。
【００１２】
（１）第１の実施の形態
図１は、第１の実施の形態による記憶システム１を示している。この記憶システム１は、ホスト装置２がネットワーク３を介してストレージ装置４と接続されることにより構成されている。
【００１３】
ホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。またホスト装置２は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００１４】
ネットワーク３は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。このネットワーク３を介したホスト装置２及びストレージ装置４間の通信は、例えばネットワーク３がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク３がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００１５】
ストレージ装置４は、複数のハードディスク（ＨＤＤ）１３からなるディスク部５と、複数のハードディスク１３をＲＡＩＤ方式で管理するコントローラ６とを備えて構成される。
【００１６】
ハードディスク１３は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等のアクセス性能の高い高価なディスク、又はＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等のアクセス性能の低い安価なディスクから構成される。
【００１７】
コントローラ６は、複数のチャネルアダプタ（ＣＨＡ）７、接続部８、共有メモリ９、キャッシュメモリ１０、複数のディスクアダプタ（ＤＫＡ）１１及びサービスプロセッサ１２を備えて構成される。
【００１８】
各チャネルアダプタ７は、マイクロプロセッサ（図示せず）、メモリ（図示せず）及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、ネットワーク３に接続するためのポート（図示せず）を備える。各チャネルアダプタ７は、ホスト装置２から送信される各種コマンドを解釈して、必要な処理を実行する。各チャネルアダプタ７のポートには、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割当てられており、これによりチャネルアダプタ７がそれぞれ個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになされている。
【００１９】
接続部８は、上述したチャネルアダプタ７の他、共有メモリ９、キャッシュメモリ１０及びディスクアダプタ１１と接続されている。チャネルアダプタ７、共有メモリ９、キャッシュメモリ１０及びディスクアダプタ１１間のデータやコマンドの授受は、この接続部８を介して行われる。接続部８は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成される。
【００２０】
共有メモリ９は、チャネルアダプタ７及びディスクアダプタ１１により共有される記憶メモリである。共有メモリ９は、主にストレージ装置４の電源投入時にシステムボリュームから読み出されたシステム構成情報及び各種制御プログラムや、ホスト装置２からのコマンドなどを記憶するために利用される。共有メモリ９内に記憶される各種構成情報については、後述で説明する。
【００２１】
キャッシュメモリ１０も、チャネルアダプタ７及びディスクアダプタ１１により共有される記憶メモリである。このキャッシュメモリ１０は、主にストレージ装置４に入出力するユーザデータを一時的に記憶するために利用される。
【００２２】
各ディスクアダプタ１１は、マイクロプロセッサ（図示せず）やメモリ（図示せず）等を備えたマイクロコンピュータシステムとして構成され、ディスク部５との通信時におけるプロトコル制御を行うインタフェースとして機能する。これらディスクアダプタ１１は、例えばファイバーチャネルケーブルを介して対応するディスク部５と接続されており、ファイバーチャネルプロトコルに従ってこれらディスク部５との間のデータの授受を行う。
【００２３】
サービスプロセッサ１２は、ストレージ装置４の保守又は管理のために操作されるコンピュータ装置であり、例えばノート型のパーソナルコンピュータから構成される。このサービスプロセッサ１２は、ネットワーク３を介してホスト装置２が接続されており、ホスト装置２からデータ或いは命令を受信することができる。サービスプロセッサ１２は、ストレージ装置４内の各種実行処理の完了報告をディスプレイ画面（図示せず）に表示することができる。
【００２４】
また、第１の実施の形態による記憶システム１では、複数のハードディスク１３のうち、４台のハードディスク１３ごとに１つのＥＣＣ（Error Correcting Code）グループ（ＥＣＣＧ）１４を構成する。そして、１つのＥＣＣグループ１４が提供する記憶領域上に、１又は複数の論理ボリューム１５が定義される。なお、第１の実施の形態におけるＥＣＣグループとレイドグループとは同義である。
【００２５】
各論理ボリューム１５のうち、ユーザが指定した論理ボリューム１５には、固有の識別子（ＬＵＮ：Logical Unit Number）が割当てられる。第１の実施の形態の場合では、データの入出力は、この識別子と、各ブロックにそれぞれ割当てられるそのブロックに固有の番号（ＬＢＡ：Logical Block Address）との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００２６】
図２は、記憶システム１における複数のハードディスク１３の論理的な構成を示した概念図である。
【００２７】
この場合、論理ボリューム１５の属性としては、ホスト装置２がアクセスする論理ボリューム１５である仮想ボリューム（仮想ＶＯＬ）１６と、当該仮想ボリューム１６とのマッピングに使用される実ボリュームの論理ボリューム１５であるプールボリューム（プールＶＯＬ）１７とに大別される。そして、複数のプールボリューム１７によりプール領域１８が形成される。
【００２８】
仮想ボリューム１６は、プール領域１８のプールボリューム１７内におけるハードディスク１３の記憶領域が動的に割当てられることにより、記憶領域が提供される。
【００２９】
そして、仮想ボリューム１６のページと呼ばれる最小の記憶領域（仮想記憶領域）には、ＥＣＣグループ１４のプールボリューム１７内のページと呼ばれる最小の記憶領域（実記憶領域）が割り当てられる。
【００３０】
なお、第１の実施の形態においては、１つのプールボリューム１７から１つのＥＣＣグループ１４を構成するようにしたが、本発明はこれに限らず、複数のプールボリューム１７から１つのＥＣＣグループ１４を構成するようにしても良い。
【００３１】
例えば、第１の実施の形態の場合では、プールボリューム１７（プールＶＯＬ＃０）によりＥＣＣグループ１４（ＥＣＣＧ＃１）が構成され、プールボリューム１７（プールＶＯＬ＃１）によりＥＣＣグループ１４（ＥＣＣＧ＃２）が構成され、プールボリューム１７（プールＶＯＬ＃２）によりＥＣＣグループ１４（ＥＣＣＧ＃３）が構成されている。また、３つのＥＣＣグループ１４（ＥＣＣＧ＃１、ＥＣＣＧ＃２、ＥＣＣＧ＃３）によりプール領域１８が構成されている。さらに、２つの仮想ボリューム１６（仮想ＶＯＬ１００、仮想ＶＯＬ１０１）が構成されている。
【００３２】
なお、第１の実施の形態においては、１つのプールボリューム１７から１つのＥＣＣグループ１４を構成するようにしたが、本発明はこれに限らず、複数のプールボリューム１７から１つのＥＣＣグループ１４を構成するようにしても良い。
【００３３】
図３は、共有メモリ９に格納されている各種テーブルの一例を示している。共有メモリ９は、仮想ボリューム１６の構成情報を管理する仮想ＶＯＬ構成情報テーブル２１、仮想ボリューム１６のアドレス情報を管理する仮想ＶＯＬアドレス情報テーブル２２、プール領域１８内のＥＣＣＧの構成情報を管理するＥＣＣＧ構成情報テーブル２３、ＥＣＣグループ１４内のページの構成情報を管理するＥＣＣＧページ構成情報テーブル２４、ＥＣＣグループ１４内のページにアクセスしたログを管理するアクセスログ情報テーブル２５を備えて構成される。
【００３４】
図４は、仮想ＶＯＬ構成情報テーブル２１の構成の一例を示している。仮想ＶＯＬ構成情報テーブル２１は、当該仮想ＶＯＬ構成情報テーブル２１におけるインデックス番号を管理するインデックス欄２１Ａ、仮想ボリューム１６を一意に識別するための識別子である仮想ＶＯＬＩＤを管理する仮想ＶＯＬＩＤ欄２１Ｂ、仮想ボリューム１６の仮想記憶領域の大きさ（サイズ）をページ数で管理する仮想ＶＯＬサイズ欄２１Ｃ、仮想ボリューム１６に割当て済のページ数を管理する割当て済ページ数欄２１Ｄ及び仮想ボリューム１６に使用されているＥＣＣグループ１４のページ数を、ＥＣＣグループ１４を一意に識別するための識別子であるＥＣＣＧＩＤごとに管理するＥＣＣＧ使用ページ数欄２１Ｅを備えて構成される。
【００３５】
例えば、第１の実施の形態の場合では、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）については、仮想ＶＯＬサイズ（ページ数）が「６」ページであり、当該仮想ＶＯＬサイズのうち割当て済ページ数が「５」ページである。また、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）については、当該割当て済ページ数のうちＥＣＣＧＩＤが「０」のＥＣＣグループ１４（ＥＣＣＧ＃０）からページ数が「４」ページ割り当てられ、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）からページ数が「１」ページ割り当てられている（図２）。
【００３６】
また、例えば、第１の実施の形態の場合では、仮想ＶＯＬＩＤが「１０１」の仮想ボリューム１６（仮想ＶＯＬ＃１０１）については、仮想ＶＯＬサイズ（ページ数）が「４」ページであり、当該仮想ＶＯＬサイズのうち割当て済ページ数が「３」ページである。また、仮想ＶＯＬＩＤが「１０１」の仮想ボリューム１６（仮想ＶＯＬ＃１０１）については、当該割当て済ページ数のうちＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）からページ数が「１」ページ割り当てられ、ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）からページ数が「２」ページ割り当てられている（図２）。
【００３７】
図５は、仮想ＶＯＬアドレス構成情報テーブル２２の構成の一例を示している。仮想ＶＯＬアドレス構成情報テーブル２２は、仮想ＶＯＬＩＤ欄２２Ａ、仮想ボリューム１６内のページを一意に識別するための識別子である仮想ＶＯＬ内ページＩＤを管理する仮想ＶＯＬ内ページＩＤ欄２２Ｂ、ＥＣＣＧＩＤを管理するＥＣＣＧＩＤ欄２２Ｃ及びＥＣＣグループ１４内のページを一意に識別するための識別子であるＥＣＣＧ内ページＩＤを管理するＥＣＣＧ内ページＩＤ欄２２Ｄを備えて構成される。
【００３８】
例えば、第１の実施の形態の場合には、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）における仮想ＶＯＬページＩＤ「０」のページについては、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）におけるＥＣＣＧ内ページＩＤ「０」のページが割り当てられている。
【００３９】
なお、仮想ボリューム１６の仮想ＶＯＬ内ページにＥＣＣグループ１４のＥＣＣＧ内ページが割当てられていない場合には、ＥＣＣＧＩＤ欄２２Ｃ及びＥＣＣＧ内ページＩＤ欄２２Ｄに「ＦＦＦＦ」が格納されて管理される。例えば、第１の実施の形態の場合には、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）の仮想ＶＯＬページＩＤ「２」については、ＥＣＣグループ１４のＥＣＣＧ内ページが割当てられていない。
【００４０】
図６は、ＥＣＣＧ構成情報テーブル２３の構成の一例を示している。ＥＣＣＧ構成情報テーブル２３は、ＥＣＣＧＩＤ欄２３Ａ、プール領域１８のページを一意に識別するための識別子であるページＩＤのうち該当するＥＣＣグループ１４の開始ページを管理する開始ページ欄２３Ｂ、ページＩＤのうち該当するＥＣＣグループ１４の終了ページを管理する終了ページ欄２３Ｃ、ＥＣＣグループ１４の総ページ数を管理する総ページ数欄２３Ｄ、仮想ボリューム１６に使用されているページ数を管理するページ使用数２３Ｅ及びＥＣＣグループ１４を構成するハードディスク１３の種別を管理するＨＤＤ種別欄２３Ｆを備えて構成される。
【００４１】
第１の実施の形態の場合では、ＨＤＤ種別「Ａ」のハードディスク１３については、例えばＳＣＳＩディスク等のアクセス性能の高いディスクであり、ＨＤＤ種別「Ｂ」のハードディスク１３については、例えばＳＡＴＡディスクや光ディスク等のアクセス性能の低いディスクである。
【００４２】
例えば、第１の実施の形態の場合では、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）については、開始ページのページＩＤが「０」であり、終了ページのページＩＤが「６」であり、総ページ数が「６」であり、ページ使用数が「５」であり、ＨＤＤ種別が「Ａ」である。
【００４３】
図７は、ＥＣＣＧページ構成情報テーブル２４の構成の一例を示している。ＥＣＣＧページ構成情報テーブル２４は、ページＩＤ欄２４Ａ、ＥＣＣＧＩＤ欄２４Ｂ、ＥＣＣＧ内ページＩＤ欄２４Ｃ、当該ページを割り当てる割当て先の仮想ボリューム１６の仮想ＶＯＬＩＤを管理する割当て先仮想ＶＯＬＩＤ欄２４Ｄ、割当て先の仮想ボリューム１６における割当て先のページＩＤ（仮想ＶＯＬ内ページＩＤ）を管理する割当て先ページＩＤ欄２４Ｅ及び当該ページに最後にアクセスされた最終アクセス時刻を管理する最終アクセス時刻欄２４Ｆを備えて構成される。
【００４４】
例えば、第１の実施の形態の場合では、ページＩＤが「０」のページについては、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４におけるＥＣＣＧ内ページＩＤが「０」のページである。また、ページＩＤが「０」のページについては、割当て先仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）における仮想ＶＯＬ内ページＩＤが「０」の仮想記憶領域に割り当てられている。さらに、ページＩＤが「０」のページについては、時刻「１１１１１１１１」に最後にアクセスされている。
【００４５】
なお、ページＩＤに対応するページが仮想ボリューム１６の仮想ＶＯＬ内ページに割当てられていない場合には、割当て先仮想ＶＯＬＩＤ欄２４Ｄ、割当て先ページＩＤ欄２４Ｅ及び最終アクセス時刻欄２４Ｆに「ＦＦＦＦ」が格納されて管理される。例えば、第１の実施の形態の場合には、ページＩＤ「５」のページについては、仮想ボリューム１６の仮想ＶＯＬ内ページに割当てられていない。
【００４６】
図８は、アクセスログ情報テーブル２５の構成の一例を示している。アクセスログ情報テーブル２５は、アクセスされた順に並べられるアクセス時刻を管理するアクセス時刻欄２５Ａ、ＥＣＣＧＩＤ欄２５Ｂ及びＥＣＣＧ内ページＩＤ欄２５Ｃを備えて構成される。
【００４７】
例えば、第１の実施の形態の場合には、時刻「１１１１１１１１」に、ＥＣＣＧＩＤ「１」のＥＣＣグループ１４におけるＥＣＣＧ内ページＩＤ「０」のページがアクセスされている。
【００４８】
図９は、この記憶システム１におけるストレージ装置４の制御処理に関する、ストレージ装置４のディスクアダプタ１１の具体的な処理手順を示したフローチャートの一例である。
【００４９】
ディスクアダプタ１１は、ホスト装置２又はサービスプロセッサ１２のユーザ操作により当該ホスト装置２又はサービスプロセッサ１２から送信される何らかの要求を受領すると、ディスクアダプタ１１内のメモリ（図示せず）に格納されている、要求に基づいて当該ディスクアダプタ１１の制御処理を実行する制御プログラム（図示せず）を実行することにより、図９に示す制御処理手順ＲＴ１に従って、受領した要求を確認する（ＳＰ１）。
【００５０】
続いて、ディスクアダプタ１１は、当該要求が、ＥＣＣグループ１４内のページを最適に配置するＥＣＣＧページ最適配置処理要求であるか否かをチェックする（ＳＰ２）。
【００５１】
そして、ディスクアダプタ１１は、当該要求がＥＣＣＧページ最適配置処理要求でない場合（ＳＰ２：ＮＯ）には、当該要求がどのような要求であるかを特定し、当該要求に基づく処理を実行して（ＳＰ３）、この後、この図９に示す制御処理手順ＲＴ１を終了する（ＳＰ５）。
【００５２】
これに対して、ディスクアダプタ１１は、当該要求がＥＣＣＧページ最適配置処理要求である場合（ＳＰ２：ＹＥＳ）には、ＥＣＣＧページ最適配置処理を実行する（ＲＴ２、３、４）。
【００５３】
なお、第１の実施の形態の場合には、ＥＣＣＧページ最適配置処理として、例えば、仮想ボリューム１６が使用している各ＥＣＣグループ１４内のページを均等に再配置するＥＣＣＧページ最適配置処理（ＲＴ２）、所定の時間以内にアクセスのあったＥＣＣグループ１４内のページを均等に再配置するＥＣＣＧページ最適配置処理（ＲＴ３）、ＥＣＣグループ１４内の空いているページを均等に再配置するＥＣＣＧページ最適配置処理（ＲＴ４）、及び性能の低いディスクのＥＣＣグループ１４内にページを再配置するＥＣＣＧページ最適配置処理（ＲＴ６）について記載している（すべて後述）。しかしながら、本発明ではこれに限らず、この他種々のＥＣＣグループ１４内のページを最適に配置するＥＣＣＧページ最適配置処理について適用することができる。
【００５４】
続いて、ディスクアダプタ１１は、ＥＣＣＧページ最適配置処理完了通知をホスト装置２に送信することにより、ホスト装置２のユーザにＥＣＣＧページ最適配置処理が完了したことを報告する（ＳＰ４）。
【００５５】
やがて、ディスクアダプタ１１は、この後、この図９に示す制御処理手順ＲＴ１を終了する（ＳＰ５）。
【００５６】
図１０は、この記憶システム１におけるストレージ装置４の、仮想ボリューム１６が使用している各ＥＣＣグループ１４内のページを均等に再配置するＥＣＣＧページ最適配置処理に関する、ストレージ装置４のディスクアダプタ１１の具体的な処理手順を示したフローチャートの一例である。また、図１１は、かかるＥＣＣＧページ最適配置処理手順を具体的に説明するための概念図である。さらに、図１２は、当該ＥＣＣＧページ最適配置処理の内容を概略的に示した概念図である。
【００５７】
ディスクアダプタ１１は、仮想ボリューム１６が使用している各ＥＣＣグループ１４内のページを均等に再配置するＥＣＣＧページ最適配置処理要求を受領すると、制御プログラムのＥＣＣＧページ均等配置処理プログラムを実行することにより、図１０に示すＥＣＣＧページ均等配置処理手順ＲＴ２に従って、仮想ＶＯＬ構成情報テーブル２１を参照することにより、ＥＣＣＧページ均等配置処理を実行する仮想ボリューム１６の仮想ＶＯＬＩＤを、仮想ＶＯＬ構成情報テーブル２１の仮想ＶＯＬＩＤ欄２１Ａから選択する（ＳＰ１１）。
【００５８】
続いて、ディスクアダプタ１１は、選択した仮想ＶＯＬＩＤのＥＣＣグループ１４ごとのＥＣＣＧ使用ページ数を抽出し、仮想ボリューム１６が使用している各ＥＣＣグループ１４内のページ数（ＥＣＣＧ使用ページ数）と、当該ページのＥＣＣグループ１４のＥＣＣＧＩＤとの関係を示すＥＣＣＧ使用ページ数最適配置テーブル３１を作成する (図１１（１）) (ＳＰ１２)。
【００５９】
続いて、ディスクアダプタ１１は、ＥＣＣＧ使用ページ数最適配置テーブル３１のＥＣＣＧＩＤ及び対応するＥＣＣＧ使用ページ数を、ＥＣＣＧ使用ページ数で降順にソートする（図１１（２））（ＳＰ１３）。すなわち、ディスクアダプタ１１は、ＥＣＣＧ使用ページ数が多いＥＣＣＧＩＤほどＥＣＣＧ使用ページ最適配置テーブル３１の左側となるように、ＥＣＣＧＩＤ及び対応するＥＣＣＧ使用ページ数を入れ替える。
【００６０】
続いて、ディスクアダプタ１１は、ＥＣＣＧ使用ページ数最適配置テーブル３１の左端であるＥＣＣＧ使用ページ数の一番多い（ＥＣＣＧ使用ページ数が最大値）のＥＣＣＧ使用ページ数と、ＥＣＣＧ使用ページ数最適配置テーブル３１の右端であるＥＣＣＧ使用ページ数の一番少ない（ＥＣＣＧ使用ページ数が最小値）のＥＣＣＧ使用ページ数とを比較し、左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１と同数、又は左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１より小さい数であるか否かをチェックする（図１１（３））（ＳＰ１４）。
【００６１】
そして、ディスクアダプタ１１は、左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１と同数、又は左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１より小さい数でない、すなわち、左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１より大きい数である場合（ＳＰ１４：ＮＯ）には、左端のＥＣＣグループ１４から右端のＥＣＣグループ１４に仮想ボリューム１６が使用しているページを１ページ分移動し（ＳＰ１５）、この後、再び、ＥＣＣＧ使用ページ数最適配置テーブル３１のＥＣＣＧＩＤ及び対応するＥＣＣＧ使用ページ数を、ＥＣＣＧ使用ページ数で降順にソートするステップＳＰ１３に戻り（図１１（２））、この後、同様の処理を繰り返す（図１１（５））（ＳＰ１３〜ＳＰ１５）。
【００６２】
なお、ディスクアダプタ１１は、移動元のページにデータが格納されている場合には、当該移動元のページに格納されているデータについても、移動先のページに移動するようになされている。
【００６３】
これに対して、ディスクアダプタ１１は、左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１と同数、又は左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１より小さい数である場合（ＳＰ１４：ＹＥＳ）には、すべての仮想ボリューム１６の仮想ＶＯＬＩＤを、仮想ＶＯＬ構成情報テーブル２１の仮想ＶＯＬＩＤ欄２１Ａから選択して、ＥＣＣＧページ最適配置処理を実行したか否かをチェックする（ＳＰ１６）。
【００６４】
そして、ディスクアダプタ１１は、すべての仮想ボリューム１６の仮想ＶＯＬＩＤを、仮想ＶＯＬ構成情報テーブル２１の仮想ＶＯＬＩＤ欄２１Ａから選択して、ＥＣＣＧページ最適配置処理を実行していない場合（ＳＰ１６：ＮＯ）には、仮想ＶＯＬ構成情報テーブル２１を参照することにより、次にＥＣＣＧページ最適配置処理を実行する仮想ボリューム１６の仮想ＶＯＬＩＤを仮想ＶＯＬ構成情報テーブル２１の仮想ＶＯＬＩＤ欄２１Ａから選択し（ＳＰ１７）、この後、再び、選択した仮想ＶＯＬＩＤのＥＣＣグループ１４ごとのＥＣＣＧ使用ページ数を抽出し、ＥＣＣＧ使用ページ数最適配置テーブル３１を作成するステップＳＰ１２に戻り(図１１（１）)、この後、同様の処理を繰り返す（図１１（６））（ＳＰ１２〜ＳＰ１７）。
【００６５】
これに対して、ディスクアダプタ１１は、すべての仮想ボリューム１６の仮想ＶＯＬＩＤを、仮想ＶＯＬ構成情報テーブル２１の仮想ＶＯＬＩＤ欄２１Ａから選択して、ＥＣＣＧページ最適配置処理を実行した場合（ＳＰ１６：ＹＥＳ）には、この後、この図１０に示すＥＣＣＧページ均等配置処理手順ＲＴ２を終了する（ＳＰ１８）。
【００６６】
例えば、図１２に示すように、ＥＣＣＧページ均等配置処理を実行する前には、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）については、仮想ＶＯＬサイズ（ページ数）が「６」ページであり、当該仮想ＶＯＬサイズのうち割当て済ページ数が「５」ページである。また、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）については、当該割当て済ページ数のうちＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）からページ数が「４」ページ割り当てられ、ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）からページ数が「１」ページ割り当てられている。
【００６７】
そして、図１２に示すように、ＥＣＣＧページ均等配置処理を実行した後には、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）については、当該仮想ボリューム１６が使用している各ＥＣＣグループ１４内のページが、各ＥＣＣグループ１４内に均等に再配置され、割当て済ページ数のうちＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）からページ数が「２」割り当てられ、ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）からページ数が「１」割り当てられ、ＥＣＣＧＩＤが「３」のＥＣＣグループ１４（ＥＣＣＧ＃３）からページ数が「２」割り当てられる。
【００６８】
また、例えば、図１２に示すように、ＥＣＣＧページ均等配置処理を実行する前には、仮想ＶＯＬＩＤが「１０１」の仮想ボリューム１６（仮想ＶＯＬ＃１０１）については、仮想ＶＯＬサイズ（ページ数）が「４」ページであり、当該仮想ＶＯＬサイズのうち割当て済ページ数が「３」ページである。また、仮想ＶＯＬＩＤが「１０１」の仮想ボリューム１６（仮想ＶＯＬ＃１０１）については、当該割当て済ページ数のうちＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）からページ数が「１」ページ割り当てられ、ＥＣＣＧＩＤが「３」のＥＣＣグループ１４（ＥＣＣＧ＃３）からページ数が「２」ページ割り当てられている。
【００６９】
この場合、図１２に示すように、ＥＣＣＧページ均等配置処理を実行した後には、仮想ＶＯＬＩＤが「１０１」の仮想ボリューム１６（仮想ＶＯＬ＃１０１）については、当該仮想ボリューム１６が使用している各ＥＣＣグループ１４内のページが均等に再配置され、割当て済ページ数のうちＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）からページ数が「１」ページ割り当てられ、ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）からページ数が「１」ページ割り当てられ、ＥＣＣＧＩＤが「３」のＥＣＣグループ１４（ＥＣＣＧ＃３）からページ数が「１」ページ割り当てられることとなる。
【００７０】
このようにして、記憶システム１では、仮想ボリューム１６が使用している各ＥＣＣグループ１４内のページを、当該各ＥＣＣグループ１４間で均等になるように再配置することにより、仮想ボリューム１６が使用している各ＥＣＣグループ１４内の割当て済のページに偏りが生ずることによってホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【００７１】
図１３は、この記憶システム１におけるストレージ装置４の、所定の時間以内にアクセスのあったＥＣＣグループ１４内のページを均等に再配置するＥＣＣＧページ最適配置処理に関する、ストレージ装置４のディスクアダプタ１１の具体的な処理手順を示したフローチャートの一例である。また、図１４は、かかるＥＣＣＧページ最適配置処理手順を具体的に説明するための概念図である。さらに、図１５は、当該ＥＣＣＧページ最適配置処理の内容を概略的に示した概念図である。
【００７２】
ディスクアダプタ１１は、所定の時間以内にアクセスのあったＥＣＣグループ１４内のページを均等に再配置するＥＣＣＧページ最適配置処理要求を受領すると、制御プログラムの所定時間アクセスページ均等配置処理プログラムを実行することにより、図１３に示す所定時間アクセスページ均等配置処理手順ＲＴ３に従って、アクセスログ情報テーブル２５を参照することにより、当該ＥＣＣＧページ最適配置処理要求に含まれているホスト装置２のユーザが指定した時間以内にアクセスのあったページを抽出し、ホスト装置２のユーザが指定した時間以内にアクセスのあった各ＥＣＣグループ１４内のページ数（ＥＣＣＧ使用ページ数）と、当該ページのＥＣＣグループ１４のＥＣＣＧＩＤとの関係を示すアクセスページ数最適配置テーブル３２を作成する(図１４（１）) (ＳＰ２１)。
【００７３】
例えば、第１の実施の形態では、時間「Ｔｘ」から当該ＥＣＣＧページ最適配置処理時までにアクセスのあったページを抽出し、アクセスページ数最適配置テーブル３２を作成している(図１４（１）)。
【００７４】
続いて、ディスクアダプタ１１は、アクセスページ数最適配置テーブル３２のＥＣＣＧＩＤ及び対応するＥＣＣＧ使用ページ数を、ＥＣＣＧ使用ページ数で降順にソートする（図１４（２））（ＳＰ２２）。
【００７５】
続いて、ディスクアダプタ１１は、左端のＥＣＣＧ使用ページ数と、右端のＥＣＣＧ使用ページ数とを比較し、左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１と同数、又は左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１より小さい数であるか否かをチェックする（図１４（３））（ＳＰ２３）。
【００７６】
そして、ディスクアダプタ１１は、左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１と同数、又は左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１より小さい数でない、すなわち、左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１より大きい数である場合（ＳＰ２３：ＮＯ）には、左端のＥＣＣグループ１４から右端のＥＣＣグループ１４に仮想ボリューム１６が使用しているページを１ページ分移動し（ＳＰ２４）、この後、再び、アクセスページ数最適配置テーブル３２のＥＣＣＧＩＤ及び対応するＥＣＣＧ使用ページ数を、ＥＣＣＧ使用ページ数で降順にソートするステップＳＰ２２に戻り（図１４（２））、この後、同様の処理を繰り返す（図１４（５））（ＳＰ２２〜ＳＰ２４）。
【００７７】
これに対して、ディスクアダプタ１１は、左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１と同数、又は左端のＥＣＣＧ使用ページ数が右端のＥＣＣＧ使用ページ数＋１より小さい数である場合（ＳＰ２３：ＹＥＳ）には、この後、この図１３に示す所定時間アクセスページ均等配置処理手順ＲＴ３を終了する（ＳＰ２５）。
【００７８】
例えば、図１５に示すように、ページの使用開始が「ｔ０」、所定時間アクセスページ均等配置処理を実行した時間が「ｔ２」、所定時間アクセスページ均等配置処理要求に含まれているホスト装置２のユーザが指定した時間が「Ｔｘ」であるとする。この場合、所定時間アクセスページ均等配置処理を実行する前には、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「２」ページであり、ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「０」ページであり、ＥＣＣＧＩＤが「３」のＥＣＣグループ１４（ＥＣＣＧ＃３）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「２」ページである。
【００７９】
この場合、図１５に示すように、所定時間アクセスページ均等配置処理を実行した後には、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページが、各ＥＣＣグループ１４内に均等に配置され、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「１」ページとなり、ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「１」ページとなり、ＥＣＣＧＩＤが「３」のＥＣＣグループ１４（ＥＣＣＧ＃３）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「２」ページとなる。
【００８０】
このようにして、記憶システム１では、所定の時間以内にアクセスのあったページが各ＥＣＣグループ１４間で均等になるように再配置することにより、例えば、最近にアクセスのあったページを均等に配置することができるため、特に、現時点におけるホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【００８１】
図１６は、この記憶システム１におけるストレージ装置４の、ＥＣＣグループ１４内の空いているページを均等に再配置するＥＣＣＧページ最適配置処理に関する、ストレージ装置４のディスクアダプタ１１の具体的な処理手順を示したフローチャートの一例である。また、図１７は、かかるＥＣＣＧページ最適配置処理手順を具体的に説明するための概念図である。さらに、図１８は、当該ＥＣＣＧページ最適配置処理の内容を概略的に示した概念図である。
【００８２】
ディスクアダプタ１１は、ＥＣＣグループ１４内の空いているページを均等に再配置するＥＣＣＧページ最適配置処理要求を受領すると、制御プログラムの空きページ均等配置処理プログラムを実行することにより、図１６に示す空きページ均等配置処理手順ＲＴ４に従って、ＥＣＣＧ構成情報テーブル２３を参照することにより、ＥＣＣＧＩＤごとの総ページ数及びページ使用数から空きページ数を算出し、各ＥＣＣグループ１４内の空いているページ数（ＥＣＣＧ空きページ数）と、当該ページのＥＣＣグループ１４のＥＣＣＧＩＤとの関係を示す空きページ数最適配置テーブル３３を作成する(図１７（１）) (ＳＰ３１)。
【００８３】
続いて、ディスクアダプタ１１は、空きページ数最適配置テーブル３３のＥＣＣＧＩＤ及び対応する空きページ数を、空きページ数で降順にソートする（図１７（２））（ＳＰ３２）。
【００８４】
続いて、ディスクアダプタ１１は、左端の空きページ数と、右端の空きページ数とを比較し、左端の空きページ数が右端の空きページ数＋１と同数、又は左端の空きページ数が右端の空きページ数＋１より小さい数であるか否かをチェックする（図１７（３））（ＳＰ３３）。
【００８５】
そして、ディスクアダプタ１１は、左端の空きページ数が右端の空きページ数＋１と同数、又は左端の空きページ数が右端の空きページ数＋１より小さい数でない、すなわち、左端の空きページ数が右端の空きページ数＋１より大きい数である場合（ＳＰ２３：ＮＯ）には、左端のＥＣＣグループ１４から右端のＥＣＣグループ１４に仮想ボリューム１６が使用していない空きページを１ページ分移動し（ＳＰ３４）、この後、再び、空きページ数最適配置テーブル３３のＥＣＣＧＩＤ及び対応する空きページ数を、空きページ数で降順にソートするステップＳＰ３２に戻り（図１７（２））、この後、同様の処理を繰り返す（図１７（５））（ＳＰ３２〜ＳＰ３４）。
【００８６】
なお、この場合、ディスクアダプタ１１は、右端のＥＣＣグループ１４から左端のＥＣＣグループ１４に仮想ボリューム１６が使用しているＥＣＣＧ使用ページを１ページ分移動することにより、左端のＥＣＣグループ１４から右端のＥＣＣグループ１４に仮想ボリューム１６が使用していない空きページを１ページ分移動している。
【００８７】
これに対して、ディスクアダプタ１１は、左端の空きページ数が右端の空きページ数＋１と同数、又は左端の空きページ数が右端の空きページ数＋１より小さい数である場合（ＳＰ３３：ＹＥＳ）には、この後、この図１６に示す空きページ均等配置処理手順ＲＴ４を終了する（ＳＰ３５）。
【００８８】
例えば、図１８に示すように、空きページ均等配置処理を実行する前には、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）については、空きページ数が「１」ページであり、ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）については、空きページ数が「３」ページであり、ＥＣＣＧＩＤが「３」のＥＣＣグループ１４（ＥＣＣＧ＃３）については、空きページ数が「３」ページである。
【００８９】
この場合、図１８に示すように、空きページ均等配置処理を実行した後には、各ＥＣＣグループ１４内に空きページが均等に配置され、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）については、空きページ数が「２」ページとなり、ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）については、空きページ数が「２」ページとなり、ＥＣＣＧＩＤが「３」のＥＣＣグループ１４（ＥＣＣＧ＃３）については、空きページ数が「３」ページとなる。
【００９０】
このようにして、記憶システム１では、各ＥＣＣグループ１４間で空きページを均等に再配置することにより、例えば、各ＥＣＣグループ１４が有するページ数に偏りがある場合にも、空きページを均等に配置することができるため、特に、その後、各ＥＣＣグループ１４から仮想ボリューム１６にページが均等に割り当てられるような場合に、ホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【００９１】
図１９は、この記憶システム１におけるストレージ装置４の制御処理に関する、ストレージ装置４のディスクアダプタ１１の具体的な処理手順を示したフローチャートの一例である。なお、この場合には、ハードディスク１３の追加に基づいてＥＣＣグループ１４を追加するＥＣＣＧ追加要求と共に、ＥＣＣＧページ最適配置処理要求が受領された場合に焦点をあてて記載している。
【００９２】
ディスクアダプタ１１は、ホスト装置２又はサービスプロセッサ１２のユーザ操作により当該ホスト装置２又はサービスプロセッサ１２から送信される何らかの要求を受領すると、ディスクアダプタ１１内のメモリ（図示せず）に格納されている制御プログラム（図示せず）を実行することにより、図１９に示す制御処理手順ＲＴ５に従って、受領した要求を確認する（ＳＰ４１）。
【００９３】
続いて、ディスクアダプタ１１は、当該要求が、ＥＣＣＧ追加要求及びＥＣＣＧページ最適配置処理要求であるか否かをチェックする（ＳＰ４２）。
【００９４】
そして、ディスクアダプタ１１は、当該要求がＥＣＣＧ追加要求及びＥＣＣＧページ最適配置処理要求でない場合（ＳＰ４２：ＮＯ）には、当該要求がどのような要求であるかを特定し、当該要求に基づく処理を実行して（ＳＰ４３）、この後、この図１９に示す制御処理手順ＲＴ５を終了する（ＳＰ４６）。
【００９５】
これに対して、ディスクアダプタ１１は、ＥＣＣＧ追加要求及びＥＣＣＧページ最適配置処理要求である場合（ＳＰ４２：ＹＥＳ）には、ＥＣＣＧ追加要求に対応するＥＣＣＧＩＤのＥＣＣグループ１４をプール領域１８に追加して、仮想ＶＯＬ構成情報テーブル２１、仮想ＶＯＬアドレス情報テーブル２２、ＥＣＣＧ構成情報テーブル２３、ＥＣＣＧページ構成情報テーブル２４に当該ＥＣＣＧＩＤのＥＣＣグループ１４の情報を追加する（ＳＰ４５）。
【００９６】
続いて、ディスクアダプタ１１は、ＥＣＣＧページ最適配置処理を実行する（ＲＴ６）。
【００９７】
なお、第１の実施の形態の場合には、ＥＣＣＧページ最適配置処理として、図２１のＥＣＣＧ構成情報テーブル２３において追加されているように、ＨＤＤ種別が「Ｂ」であるＥＣＣＧＩＤが「４」のＥＣＣグループが追加された場合における、性能の低いディスクのＥＣＣグループ１４内にページを再配置するＥＣＣＧページ最適配置処理（ＲＴ６）（後述）について記載している。しかしながら、本発明ではこれに限らず、例えば、ＨＤＤ種別が「Ａ」であるＥＣＣＧＩＤのＥＣＣグループが追加された場合において、ＥＣＣＧページ均等に配置処理（ＲＴ２）、所定時間アクセスページ均等配置処理（ＲＴ３）、空きページ均等配置処理（ＲＴ４）を実行するようにしても良く、この他種々のＥＣＣグループ１４が追加された場合における、ＥＣＣグループ１４内のページを最適に配置するＥＣＣＧページ最適配置処理について適用することができる。
【００９８】
続いて、ディスクアダプタ１１は、ＥＣＣＧページ最適配置処理完了通知をホスト装置２に送信することにより、ホスト装置２のユーザにＥＣＣＧページ最適配置処理が完了したことを報告する（ＳＰ４５）。
【００９９】
やがて、ディスクアダプタ１１は、この後、この図１９に示す制御処理手順ＲＴ５を終了する（ＳＰ４６）。
【０１００】
図２０は、この記憶システム１におけるストレージ装置４の、性能の低いディスクのＥＣＣグループ１４内にページを再配置するＥＣＣＧページ最適配置処理に関する、ストレージ装置４のディスクアダプタ１１の具体的な処理手順を示したフローチャートの一例である。また、図２１は、かかるＥＣＣＧページ最適配置処理手順を具体的に説明するための概念図である。さらに、図２２は、当該ＥＣＣＧページ最適配置処理の内容を概略的に示した概念図である。
【０１０１】
ディスクアダプタ１１は、性能の低いディスクのＥＣＣグループ１４内にページを再配置するＥＣＣＧページ最適配置処理要求を受領すると、制御プログラムの低性能ディスクページ配置処理プログラムを実行することにより、図２０に示す低性能ディスクページ配置処理手順ＲＴ６に従って、ＥＣＣＧページ構成情報テーブル２４を参照することにより、当該ＥＣＣＧページ構成情報テーブル２４内で最終アクセス時刻が１番古いページＩＤのページを移動対象のページとして選択する（図２１（１））（ＳＰ５１）。
【０１０２】
続いて、ディスクアダプタ１１は、ＥＣＣＧ構成情報テーブル２３を参照することにより、プール領域１８内である当該ＥＣＣＧ構成情報テーブル２３で性能の低いＥＣＣＧを選択する（図２１（２））（ＳＰ５２）。図２１の場合、ディスクアダプタ１１は、ＨＤＤ種別が「Ｂ」であるＥＣＣＧＩＤ「４」のＥＣＣグループ１４を選択する。
【０１０３】
続いて、ディスクアダプタ１１は、選択したＥＣＣＧＩＤの総ページ数及びページ使用数から空きページ数を算出し、当該ＥＣＣＧＩＤのＥＣＣグループ１４に空きページがあるか否かをチェックする（図２１（３））（ＳＰ５３）。
【０１０４】
そして、ディスクアダプタ１１は、当該ＥＣＣＧＩＤのＥＣＣグループ１４に空きページがある場合（ＳＰ５３：ＹＥＳ）には、選択した移動対象のページを、選択したＥＣＣグループ１４の空きページに移動する（図２１（４））（ＳＰ５４）。
【０１０５】
図２１の場合、ディスクアダプタ１１は、ＥＣＣＧＩＤ「４」のＥＣＣグループ１４の総ページ数及びページ使用数から空きページ数があるため、最終アクセス時刻「１１１１１１１１」にアクセスされたページＩＤ「０」のページであるＥＣＣＧＩＤ「０」のＥＣＣグループ１４におけるＥＣＣＧ内ページＩＤ「０」のページから、ページＩＤ「１５」のページであるＥＣＣＧＩＤ「４」のＥＣＣグループ１４のＥＣＣＧ内ページＩＤ「０」のページに、割当て先仮想ＶＯＬＩＤ「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）における割当て先ページＩＤ「０」のページの割当て元を移動する。
【０１０６】
続いて、ディスクアダプタ１１は、ＥＣＣＧページ構成情報テーブル２４を参照することにより、当該ＥＣＣＧページ構成情報テーブル２４内で最終アクセス時刻が次に古いページＩＤのページを移動対象のページとして選択し（図２１（１））（ＳＰ５５）、この後、再び、プール領域１８内である当該ＥＣＣＧ構成情報テーブル２３で性能の低いＥＣＣＧを選択するステップＳＰ５２に戻り（図２１（２））、この後、同様の処理を繰り返す（ＳＰ５２〜ＳＰ５５）。
【０１０７】
これに対して、ディスクアダプタ１１は、当該ＥＣＣＧＩＤのＥＣＣグループ１４に空きページがない場合（ＳＰ５３：ＮＯ）には、選択した移動対象のページを移動せずに、この後、図２０に示す低性能ディスクページ配置処理プログラム手順ＲＴ６を終了する（ＳＰ５６）。
【０１０８】
例えば、図２２に示すように、最終アクセス時刻が「１１１１１１１１」、「２２２２２２２２」、・・・、「８８８８８８８８」の順でページにアクセスがされているとする。また、ＥＣＣＧＩＤ「４」のＥＣＣグループ１４の性能に比して、ＥＣＣＧＩＤ「１」、「２」、「３」のＥＣＣグループ１４の性能は高いものとする。そして、低性能ディスクページ配置処理を実行する前には、ＥＣＣＧＩＤが「１」のＥＣＣグループ１４（ＥＣＣＧ＃１）については、最終アクセス時刻が「１１１１１１１１」、「２２２２２２２２」、「８８８８８８８８」、「７７７７７７７７」、「３３３３３３３３」にアクセスされたページが、仮想ボリューム１６に割り当てられている。ＥＣＣＧＩＤが「２」のＥＣＣグループ１４（ＥＣＣＧ＃２）については、最終アクセス時刻が「４４４４４４４４」にアクセスされたページが、仮想ボリューム１６に割り当てられており、ＥＣＣＧＩＤが「３」のＥＣＣグループ１４（ＥＣＣＧ＃３）については、最終アクセス時刻が「６６６６６６６６」、「５５５５５５５５」にアクセスされたページが、仮想ボリューム１６に割り当てられている。
【０１０９】
この場合、図２２に示すように、低性能ディスクページ配置処理を実行した後には、最終アクセス時刻の古いページが性能の低いディスクのＥＣＣグループ１４内のページに再配置され、ＥＣＣＧＩＤが「４」のＥＣＣグループ１４（ＥＣＣＧ＃４）については、最終アクセス時刻が「１１１１１１１１」、「２２２２２２２２」、「３３３３３３３３」にアクセスされたページが、仮想ボリューム１６に割り当てられることとなる。
【０１１０】
このようにして、記憶システム１では、最終アクセス時刻の古いページを性能の低いディスクのＥＣＣグループ１４内のページに再配置することにより、例えば、頻繁にアクセスされないページを性能の低いディスクのＥＣＣグループ１４に配置し、頻繁にアクセスされるページを性能の高いディスクのＥＣＣグループ１４に配置することができるため、特に、特定のページに頻繁にアクセスがあるような場合に、ホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【０１１１】
このように第１の実施の形態では、記憶システム１が、仮想ボリューム１６が使用している各ＥＣＣグループ１４内のページを、各ＥＣＣグループ１４間で最適となるように再配置することにより、仮想ボリューム１６が使用している各ＥＣＣグループ１４内の割当て済のページに偏りが生ずることによって、特定のＥＣＣグループ１４に対するアクセスが多くなることによる、ホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【０１１２】
（２）第２の実施の形態
図２３は、第２の実施の形態による記憶システム４１を示している。この記憶システム４１は、ホスト装置２がネットワーク３を介してコントローラ６と接続されており、複数のチャネルアダプタ７がネットワーク４２を介して外部ディスク装置４３と接続されることにより構成され、各チャネルアダプタ７が上述の制御処理を実行する点を除いて、第１の実施の形態と同様に構成されている。
【０１１３】
すなわち、外部ディスク装置４３についても、第１の実施の形態と同様に、複数のハードディスク１３のうち、４台のハードディスク１３ごとに１つのＥＣＣグループ１４が構成される。そして、１つのＥＣＣグループ１４が提供する記憶領域上に、１又は複数の論理ボリューム１５が定義される。
【０１１４】
そして、各論理ボリューム１５のうち、ユーザが指定した論理ボリューム１５には、固有の識別子が割当てられる。第１の実施の形態の場合では、データの入出力は、この識別子と、各ブロックにそれぞれ割当てられるそのブロックに固有の番号との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【０１１５】
この場合、論理ボリューム１５の属性としては、仮想ボリューム１６と、プールボリューム１７とに大別される。そして、複数のプールボリューム１７によりプール領域１８が形成される。仮想ボリューム１６は、プール領域１８のプールボリューム１７内におけるハードディスク１３の記憶領域が動的に割当てられることにより、記憶領域が提供される。そして、仮想ボリューム１６のページには、ＥＣＣグループ１４のプールボリューム１７内のページが割り当てられる。
【０１１６】
第２の実施の形態の場合、仮想ボリューム１６については、コントローラ６で管理されることとなり、ＥＣＣグループ１４やプールボリューム１７については、外部ディスク装置４３で管理されることとなる。
【０１１７】
従って、第２の実施の形態においては、外部ディスク装置４３で管理されているハードディスク１３、ＥＣＣグループ１４やプールボリューム１７については、コントローラ６において認識することができず、ＥＣＣグループ１４ごとにページを管理することができない。
【０１１８】
このような問題に対処するため、第２の実施の形態においては、外部ディスク装置４３で管理されているハードディスク１３、ＥＣＣグループ１４のページを、外部ディスク装置４３と接続されているチャネルアダプタ７ごとに管理することとしている。以下、外部ディスク装置４３のページを管理するチャネルアダプタ７をポート７と呼ぶ。
【０１１９】
しかしながら、このようにポート７ごとにページを管理する場合にも、仮想ボリューム１６が使用している、ポート７が管理する割当て済のページに偏りが生ずることがあり、この結果、所定のポート７に対するアクセスが多くなり、全体としてホスト装置２からの要求に対するレスポンス性能が低下するおそれがある。
【０１２０】
そこで、ポート７が管理するページを最適に配置するポート管理ページ最適配置処理について、以下に説明する。
【０１２１】
図２４は、第２の実施の形態における共有メモリ９に格納されている各種テーブルの一例を示している。共有メモリ９は、仮想ＶＯＬ構成情報テーブル５１、仮想ＶＯＬアドレス情報テーブル５２、ポート７の構成情報を管理するポート構成情報テーブル５３、ポート７が管理するページの構成情報を管理するポート管理ページ構成情報テーブル５４、ポート７が管理するページにアクセスしたログを管理するアクセスログ情報テーブル５５を備えて構成される。
【０１２２】
図２５は、仮想ＶＯＬ構成情報テーブル５１の構成の一例を示している。仮想ＶＯＬ構成情報テーブル５１は、インデックス欄５１Ａ、仮想ＶＯＬＩＤ欄５１Ｂ、仮想ＶＯＬサイズ欄５１Ｃ、割当て済ページ数欄５１Ｄ及び仮想ボリューム１６に使用されている、ポート７が管理するページ数を、ポート７を一意に識別するための識別子であるポートＩＤごとに管理するポート使用ページ数欄５１Ｅを備えて構成される。
【０１２３】
図２６は、仮想ＶＯＬアドレス構成情報テーブル５２の構成の一例を示している。仮想ＶＯＬアドレス構成情報テーブル５２は、仮想ＶＯＬＩＤ欄２２Ａ、仮想ＶＯＬ内ページＩＤ欄５２Ｂ、ポートＩＤを管理するポートＩＤ欄５２Ｃ及びポート７が管理するページを一意に識別するための識別子であるポート管理ページＩＤを管理するポート管理ページＩＤ欄５２Ｄを備えて構成される。
【０１２４】
例えば、第２の実施の形態の場合には、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）における仮想ＶＯＬページＩＤ「０」のページについては、ポートＩＤが「１」のポート７（ポート＃１）（後述）が管理するポート管理ページＩＤ「０」のページが割り当てられている。
【０１２５】
図２７は、ポート構成情報テーブル５３の構成の一例を示している。ポート構成情報テーブル５３は、ポートＩＤ欄５３Ａ、ページを一意に識別するための識別子であるページＩＤのうち該当するポート７が管理する開始ページを管理する開始ページ欄５３Ｂ、ページＩＤのうち該当するポート７が管理する終了ページを管理する終了ページ欄５３Ｃ、ポート７が管理する総ページ数を管理する総ページ数欄２３Ｄ及びページ使用数５３Ｅを備えて構成される。
【０１２６】
第２の実施の形態の場合では、外部ディスク装置４３で管理されているハードディスク１３については、上述のようにコントローラ６において認識することができないため、ＨＤＤ種別を管理することができないので、当該ＨＤＤ種別を管理していない。
【０１２７】
例えば、本実施の形態の場合では、ポートＩＤが「１」のポート７（ポート＃１）については、開始ページのページＩＤが「０」であり、終了ページのページＩＤが「６」であり、総ページ数が「６」であり、ページ使用数が「５」である。
【０１２８】
図２８は、ポート管理ページ構成情報テーブル５４の構成の一例を示している。ポート管理ページ構成情報テーブル５４は、ページＩＤ欄５４Ａ、ポートＩＤ欄５４Ｂ、ポート管理ページＩＤ欄５４Ｃ、割当て先仮想ＶＯＬＩＤ欄５４Ｄ、割当て先ページＩＤ欄５４Ｅ及び最終アクセス時刻欄５４Ｆを備えて構成される。
【０１２９】
例えば、第２の実施の形態の場合では、ページＩＤが「０」のページについては、ポートＩＤ「１」のポート７におけるポート管理ページＩＤが「０」のページである。また、ページＩＤが「０」のページについては、割当て先仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）における仮想ＶＯＬ内ページＩＤが「０」の仮想記憶領域に割り当てられている。さらに、ページＩＤが「０」のページについては、時刻「１１１１１１１１」に最後にアクセスされている。
【０１３０】
図２９は、アクセスログ情報テーブル５５の構成の一例を示している。アクセスログ情報テーブル５５は、アクセス時刻欄５５Ａ、ポートＩＤ欄５５Ｂ及びポート管理ページＩＤ欄５５Ｃを備えて構成される。
【０１３１】
例えば、第２の実施の形態の場合には、時刻「１１１１１１１１」に、ポートＩＤ「１」のポート７におけるポート管理ページＩＤ「０」のページがアクセスされている。
【０１３２】
図３０は、この記憶システム４１におけるコントローラ６の制御処理に関する、コントローラ６のチャネルアダプタ７（ポート７）の具体的な処理手順を示したフローチャートの一例である。
【０１３３】
チャネルアダプタ７は、ホスト装置２又はサービスプロセッサ１２のユーザ操作により当該ホスト装置２又はサービスプロセッサ１２から送信される何らかの要求を受領すると、チャネルアダプタ７内のメモリ（図示せず）に格納されている、要求に基づいて当該チャネルアダプタ７の制御処理を実行する制御プログラム（図示せず）を実行することにより、図３０に示す制御処理手順ＲＴ７に従って、受領した要求を確認する（ＳＰ６１）。
【０１３４】
続いて、チャネルアダプタ７は、当該要求が、ポート７が管理するページを最適に配置するポート管理ページ最適配置処理要求であるか否かをチェックする（ＳＰ６２）。
【０１３５】
そして、チャネルアダプタ７は、当該要求がポート管理ページ最適配置処理要求でない場合（ＳＰ６２：ＮＯ）には、当該要求がどのような要求であるかを特定し、当該要求に基づく処理を実行して（ＳＰ６３）、この後、この図３０に示す制御処理手順ＲＴ７を終了する（ＳＰ６５）。
【０１３６】
これに対して、チャネルアダプタ７は、当該要求がポート管理ページ最適配置処理要求である場合（ＳＰ６２：ＹＥＳ）には、ポート管理ページ最適配置処理を実行する（ＲＴ８、９、１０）。
【０１３７】
なお、本実施の形態の場合には、ポート管理ページ最適配置処理として、例えば、仮想ボリューム１６が使用している、各ポートが管理するページを均等に再配置するポート管理ページ最適配置処理（ＲＴ８）、所定の時間以内にアクセスのあった、ポートが管理するページを均等に再配置するポート管理ページ最適配置処理（ＲＴ９）及びポートが管理する、空いているページを均等に再配置するポート管理ページ最適配置処理（ＲＴ１０）について記載している（すべて後述）。しかしながら、本発明ではこれに限らず、この他種々のポートが管理するページを最適に配置するポート管理ページ最適配置処理について適用することができる。
【０１３８】
続いて、チャネルアダプタ７は、ポート管理ページ最適配置処理完了通知をホスト装置２に送信することにより、ホスト装置２のユーザにポート管理ページ最適配置処理が完了したことを報告する（ＳＰ６４）。
【０１３９】
やがて、チャネルアダプタ７は、この後、この図３０に示す制御処理手順ＲＴ７を終了する（ＳＰ６５）。
【０１４０】
図３１は、この記憶システム４１におけるコントローラ６の、仮想ボリューム１６が使用している、ポート７が管理するページを均等に再配置するポート管理ページ最適配置処理に関する、コントローラ６のチャネルアダプタ７の具体的な処理手順を示したフローチャートの一例である。また、図３２は、かかるポート管理ページ最適配置処理手順を具体的に説明するための概念図である。さらに、図３３は、当該ＥＣＣＧページ最適配置処理の内容を概略的に示した概念図である。
【０１４１】
チャネルアダプタ７は、仮想ボリューム１６が使用している、ポート７が管理するページを均等に再配置するポート管理ページ最適配置処理要求を受領すると、制御プログラムのポート管理ページ均等配置処理プログラムを実行することにより、図３１に示すポート管理ページ均等配置処理手順ＲＴ８に従って、仮想ＶＯＬ構成情報テーブル５１を参照することにより、ポート管理ページ均等配置処理を実行する仮想ボリューム１６の仮想ＶＯＬＩＤを、仮想ＶＯＬ構成情報テーブル５１の仮想ＶＯＬＩＤ欄５１Ａから選択する（ＳＰ７１）。
【０１４２】
続いて、チャネルアダプタ７は、選択した仮想ＶＯＬＩＤのポート７ごとのポート使用ページ数を抽出し、仮想ボリューム１６が使用している、ポート７が管理するページ数（ポート使用ページ数）と、当該ページのポート７のポートＩＤとの関係を示すポート使用ページ数最適配置テーブル６１を作成する (図３２（１）) (ＳＰ７２)。
【０１４３】
続いて、チャネルアダプタ７は、ポート使用ページ数最適配置テーブル６１のポートＩＤ及び対応するポート使用ページ数を、ポート使用ページ数で降順にソートする（図３２（２））（ＳＰ７３）。すなわち、チャネルアダプタ７は、ポート使用ページ数が多いポートＩＤほどポート使用ページ最適配置テーブル６１の左側となるように、ポートＩＤ及び対応するポート使用ページ数を入れ替える。
【０１４４】
続いて、チャネルアダプタ７は、ポート使用ページ数最適配置テーブル６１の左端であるポート使用ページ数の一番多い（ポート使用ページ数が最大値）のポート使用ページ数と、ポート使用ページ数最適配置テーブル６１の右端であるポート使用ページ数の一番少ない（ポート使用ページ数が最小値）のポート使用ページ数とを比較し、左端のポート使用ページ数が右端のポート使用ページ数＋１と同数、又は左端のポート使用ページ数が右端のポート使用ページ数＋１より小さい数であるか否かをチェックする（図３２（３））（ＳＰ７４）。
【０１４５】
そして、チャネルアダプタ７は、左端のポート使用ページ数が右端のポート使用ページ数＋１と同数、又は左端のポート使用ページ数が右端のポート使用ページ数＋１より小さい数でない、すなわち、左端のポート使用ページ数が右端のポート使用ページ数＋１より大きい数である場合（ＳＰ７４：ＮＯ）には、左端のポート７から右端のポート７に仮想ボリューム１６が使用している、ポート７が管理するページを１ページ分移動し（ＳＰ７５）、この後、再び、ポート使用ページ数最適配置テーブル６１のポートＩＤ及び対応するポート使用ページ数を、ポート使用ページ数で降順にソートするステップＳＰ７３に戻り（図３２（２））、この後、同様の処理を繰り返す（図３２（５））（ＳＰ７３〜ＳＰ７５）。
【０１４６】
なお、チャネルアダプタ７は、移動元のページにデータが格納されている場合には、当該移動元のページに格納されているデータについて、移動先のページに移動するように、外部ディスク装置４３に指示するようになされている。
【０１４７】
これに対して、チャネルアダプタ７は、左端のポート使用ページ数が右端のポート使用ページ数＋１と同数、又は左端のポート使用ページ数が右端のポート使用ページ数＋１より小さい数である場合（ＳＰ７４：ＹＥＳ）には、すべての仮想ボリューム１６の仮想ＶＯＬＩＤを、仮想ＶＯＬ構成情報テーブル５１の仮想ＶＯＬＩＤ欄５１Ａから選択して、ポート管理ページ最適配置処理を実行したか否かをチェックする（ＳＰ７６）。
【０１４８】
そして、チャネルアダプタ７は、すべての仮想ボリューム１６の仮想ＶＯＬＩＤを、仮想ＶＯＬ構成情報テーブル５１の仮想ＶＯＬＩＤ欄５１Ａから選択して、ポート管理ページ最適配置処理を実行していない場合（ＳＰ７６：ＮＯ）には、仮想ＶＯＬ構成情報テーブル５１を参照することにより、次にポート管理ページ最適配置処理を実行する仮想ボリューム１６の仮想ＶＯＬＩＤを仮想ＶＯＬ構成情報テーブル５１の仮想ＶＯＬＩＤ欄５１Ａから選択し（ＳＰ７７）、この後、再び、選択した仮想ＶＯＬＩＤのポート７ごとのポート使用ページ数を抽出し、ポート使用ページ数最適配置テーブル６１を作成するステップＳＰ７２に戻り(図３２（１）)、この後、同様の処理を繰り返す（図３２（６））（ＳＰ７２〜ＳＰ７７）。
【０１４９】
これに対して、チャネルアダプタ７は、すべての仮想ボリューム１６の仮想ＶＯＬＩＤを、仮想ＶＯＬ構成情報テーブル５１の仮想ＶＯＬＩＤ欄５１Ａから選択して、ポート管理ページ最適配置処理を実行した場合（ＳＰ７６：ＹＥＳ）には、この後、この図３１に示すポート管理ページ均等配置処理手順ＲＴ８を終了する（ＳＰ７８）。
【０１５０】
例えば、図３３に示すように、ポート管理ページ均等配置処理を実行する前には、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）については、仮想ＶＯＬサイズ（ページ数）が「６」ページであり、当該仮想ＶＯＬサイズのうち割当て済ページ数が「５」ページである。また、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）については、当該割当て済ページ数のうちポートＩＤが「１」のポート７（ポート＃１）からページ数が「４」ページ割り当てられ、ポートＩＤが２１」のポート７（ポート＃１）からページ数が「１」ページ割り当てられている。
【０１５１】
そして、図３３に示すように、ポート管理ページ均等配置処理を実行した後には、仮想ＶＯＬＩＤが「１００」の仮想ボリューム１６（仮想ＶＯＬ＃１００）については、当該仮想ボリューム１６が使用している、各ポート７が管理するページが、各ポート７に均等に再配置され、割当て済ページ数のうちポートＩＤが「１」のポート７（ポート＃１）からページ数が「２」割り当てられ、ポートＩＤが「２」のポート７（ポート＃２）からページ数が「１」割り当てられ、ポートＩＤが「２」のポート７（ポート＃３）からページ数が「２」割り当てられる。
【０１５２】
また、例えば、図３３に示すように、ポート管理ページ均等配置処理を実行する前には、仮想ＶＯＬＩＤが「１０１」の仮想ボリューム１６（仮想ＶＯＬ＃１０１）については、仮想ＶＯＬサイズ（ページ数）が「４」ページであり、当該仮想ＶＯＬサイズのうち割当て済ページ数が「３」ページである。また、仮想ＶＯＬＩＤが「１０１」の仮想ボリューム１６（仮想ＶＯＬ＃１０１）については、当該割当て済ページ数のうちポートＩＤが「１」のポート７（ポート＃１）からページ数が「１」ページ割り当てられ、ＥＣＣＧＩＤが「３」のポート７（ＥＣＣＧ＃３）からページ数が「２」ページ割り当てられている。
【０１５３】
この場合、図３３に示すように、ポート管理ページ均等配置処理を実行した後には、仮想ＶＯＬＩＤが「１０１」の仮想ボリューム１６（仮想ＶＯＬ＃１０１）については、当該仮想ボリューム１６が使用している、各ポート７が管理するページが均等に再配置され、割当て済ページ数のうちポートＩＤが「１」のポート７（ポート＃１）からページ数が「１」ページ割り当てられ、ポートＩＤが「２」のポート７（ポート＃２）からページ数が「１」ページ割り当てられ、ポートＩＤが「３」のポート７（ポート＃３）からページ数が「１」ページ割り当てられることとなる。
【０１５４】
このようにして、記憶システム４１では、外部ディスク装置４３で管理されているハードディスク１３、ＥＣＣグループ１４やプールボリューム１７がコントローラ６において認識することができない場合であっても、仮想ボリューム１６が使用している、各ポート７が管理するページを均等に再配置することにより、仮想ボリューム１６が使用している、各ポート７が管理する割当て済のページに偏りが生ずることによってホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【０１５５】
図３４は、この記憶システム４１におけるコントローラ６の、所定の時間以内にアクセスのあった、ポート７が管理するページを均等に再配置するポート管理ページ最適配置処理に関する、コントローラ６のチャネルアダプタ７の具体的な処理手順を示したフローチャートの一例である。また、図３５は、かかるポート管理ページ最適配置処理手順を具体的に説明するための概念図である。さらに、図３６は、当該ポート管理ページ最適配置処理の内容を概略的に示した概念図である。
【０１５６】
チャネルアダプタ７は、所定の時間以内にアクセスのあった、ポート７が管理するページを均等に再配置するポート管理ページ最適配置処理要求を受領すると、制御プログラムの所定時間アクセスページ均等配置処理プログラムを実行することにより、図３４に示す所定時間アクセスページ均等配置処理手順ＲＴ９に従って、アクセスログ情報テーブル５５を参照することにより、当該ポート管理ページ最適配置処理要求に含まれているホスト装置２のユーザが指定した時間以内にアクセスのあった、ポート７が管理するページを抽出し、ホスト装置２のユーザが指定した時間以内にアクセスのあった、各ポートが管理するページ数（ポート使用ページ数）と、当該ページのポート７のポートＩＤとの関係を示すアクセスページ数最適配置テーブル６２を作成する(図３５（１）) (ＳＰ８１)。
【０１５７】
例えば、第２の実施の形態では、時間「Ｔｘ」から当該ポート管理ページ最適配置処理時までにアクセスのあった、ポート７が管理するページを抽出し、アクセスページ数最適配置テーブル６２を作成している(図３５（１）)。
【０１５８】
続いて、チャネルアダプタ７は、アクセスページ数最適配置テーブル６２のポートＩＤ及び対応するポート使用ページ数を、ポート使用ページ数で降順にソートする（図３５（２））（ＳＰ８２）。
【０１５９】
続いて、チャネルアダプタ７は、左端のポート使用ページ数と、右端のポート使用ページ数とを比較し、左端のポート使用ページ数が右端のポート使用ページ数＋１と同数、又は左端のポート使用ページ数が右端のポート使用ページ数＋１より小さい数であるか否かをチェックする（図３５（３））（ＳＰ８３）。
【０１６０】
そして、チャネルアダプタ７は、左端のポート使用ページ数が右端のポート使用ページ数＋１と同数、又は左端のポート使用ページ数が右端のポート使用ページ数＋１より小さい数でない、すなわち、左端のポート使用ページ数が右端のポート使用ページ数＋１より大きい数である場合（ＳＰ８３：ＮＯ）には、左端のポート７から右端のポート７に仮想ボリューム１６が使用している、ポート７が管理するページを１ページ分移動し（ＳＰ８４）、この後、再び、アクセスページ数最適配置テーブル６２のポートＩＤ及び対応するポート使用ページ数を、ポート使用ページ数で降順にソートするステップＳＰ８２に戻り（図３５（２））、この後、同様の処理を繰り返す（図３５（５））（ＳＰ８２〜ＳＰ８４）。
【０１６１】
これに対して、チャネルアダプタ７は、左端のポート使用ページ数が右端のポート使用ページ数＋１と同数、又は左端のポート使用ページ数が右端のポート使用ページ数＋１より小さい数である場合（ＳＰ８３：ＹＥＳ）には、この後、この図３４に示す所定時間アクセスページ均等配置処理手順ＲＴ９を終了する（ＳＰ８５）。
【０１６２】
例えば、図３６に示すように、ページの使用開始が「ｔ０」、所定時間アクセスページ均等配置処理を実行した時間が「ｔ２」、所定時間アクセスページ均等配置処理要求に含まれているホスト装置２のユーザが指定した時間が「Ｔｘ」であるとする。この場合、所定時間アクセスページ均等配置処理を実行する前には、ポートＩＤが「１」のポート７（ポート＃１）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「２」ページであり、ポートＩＤが「２」のポート７（ポート＃２）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「０」ページであり、ポートＩＤが「３」のポート７（ポート＃３）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「２」ページである。
【０１６３】
この場合、図３６に示すように、所定時間アクセスページ均等配置処理を実行した後には、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページが、各ポート７に均等に配置され、ポートＩＤが「１」のポート７（ポート＃１）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「１」ページとなり、ポートＩＤが「２」のポート７（ポート＃２）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「１」ページとなり、ポートＩＤが「３」のポート７（ポート＃３）については、時間「Ｔｘ」から所定時間アクセスページ均等配置処理時までにアクセスのあったページ数が「２」ページとなる。
【０１６４】
このようにして、記憶システム４１では、外部ディスク装置４３で管理されているハードディスク１３、ＥＣＣグループ１４やプールボリューム１７がコントローラ６において認識することができない場合であっても、所定の時間以内にアクセスのあった、ポート７が管理するページを、各ポート７に均等に再配置することにより、例えば、最近にアクセスのあったページを均等に配置することができるため、特に、現時点におけるホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【０１６５】
図３７は、この記憶システム４１におけるコントローラ６の、ポート７が管理する、空いているページを均等に再配置するポート管理ページ最適配置処理に関する、コントローラ６のチャネルアダプタ７の具体的な処理手順を示したフローチャートの一例である。また、図３８は、かかるポート管理ページ最適配置処理手順を具体的に説明するための概念図である。さらに、図３９は、当該ポート管理ページ最適配置処理の内容を概略的に示した概念図である。
【０１６６】
チャネルアダプタ７は、ポート７が管理する、空いているページを均等に再配置するポート管理ページ最適配置処理要求を受領すると、制御プログラムの空きページ均等配置処理プログラムを実行することにより、図３７に示す空きページ均等配置処理手順ＲＴ１０に従って、ポート構成情報テーブル５３を参照することにより、ポートＩＤごとの総ページ数及びページ使用数から空きページ数を算出し、各ポート７管理する、空いているページ数（ポート空きページ数）と、当該ページのポート７のポートＩＤとの関係を示す空きページ数最適配置テーブル６３を作成する(図３８（１）) (ＳＰ９１)。
【０１６７】
続いて、チャネルアダプタ７は、空きページ数最適配置テーブル６３のポートＩＤ及び対応する空きページ数を、空きページ数で降順にソートする（図３８（２））（ＳＰ９２）。
【０１６８】
続いて、チャネルアダプタ７は、左端の空きページ数と、右端の空きページ数とを比較し、左端の空きページ数が右端の空きページ数＋１と同数、又は左端の空きページ数が右端の空きページ数＋１より小さい数であるか否かをチェックする（図３８（３））（ＳＰ９３）。
【０１６９】
そして、チャネルアダプタ７は、左端の空きページ数が右端の空きページ数＋１と同数、又は左端の空きページ数が右端の空きページ数＋１より小さい数でない、すなわち、左端の空きページ数が右端の空きページ数＋１より大きい数である場合（ＳＰ９３：ＮＯ）には、左端のポート７から右端のポート７に仮想ボリューム１６が使用していない空きページを１ページ分移動し（ＳＰ９４）、この後、再び、空きページ数最適配置テーブル６３のポートＩＤ及び対応する空きページ数を、空きページ数で降順にソートするステップＳＰ９２に戻り（図３８（２））、この後、同様の処理を繰り返す（図３８（５））（ＳＰ９２〜ＳＰ９４）。
【０１７０】
なお、この場合、チャネルアダプタ７は、右端のポート７から左端のポート７に仮想ボリューム１６が使用しているポート使用ページを１ページ分移動することにより、左端のポート７から右端のポート７に仮想ボリューム１６が使用していない空きページを１ページ分移動している。
【０１７１】
これに対して、チャネルアダプタ７は、左端の空きページ数が右端の空きページ数＋１と同数、又は左端の空きページ数が右端の空きページ数＋１より小さい数である場合（ＳＰ９３：ＹＥＳ）には、この後、この図３７に示す空きページ均等配置処理手順ＲＴ１０を終了する（ＳＰ９５）。
【０１７２】
例えば、図３９に示すように、空きページ均等配置処理を実行する前には、ポートＩＤが「１」のポート７（ポート＃１）については、空きページ数が「１」ページであり、ポートＩＤが「２」のポート７（ポート＃２）については、空きページ数が「３」ページであり、ポートＩＤが「３」のポート７（ポート＃３）については、空きページ数が「３」ページである。
【０１７３】
この場合、図３９に示すように、空きページ均等配置処理を実行した後には、各ポート７が管理する空きページが均等に配置され、ポートＩＤが「１」のポート７（ポート＃１）については、空きページ数が「２」ページとなり、ポートＩＤが「２」のポート（ポート＃２）については、空きページ数が「２」ページとなり、ポートＩＤが「３」のポート（ポート＃３）については、空きページ数が「３」ページとなる。
【０１７４】
このようにして、記憶システム４１では、外部ディスク装置４３で管理されているハードディスク１３、ＥＣＣグループ１４やプールボリューム１７がコントローラ６において認識することができない場合であっても、各ポート７が管理する空きページを均等に再配置することにより、例えば、各ポート７が管理するページ数に偏りがある場合にも、空きページを均等に配置することができるため、特に、その後、各ポート７から仮想ボリューム１６にページが均等に割り当てられるような場合に、ホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【０１７５】
図４０は、この記憶システム４１におけるコントローラ６の制御処理に関する、コントローラ６のチャネルアダプタ７の具体的な処理手順を示したフローチャートの一例である。なお、この場合には、外部ディスク装置４３において現在使用しているハードディスク１３と同一のハードディスク１３の追加に基づいて、新たにページを管理するポート７を追加したり、既存のポート７にページを追加するポート追加要求と共に、ポート管理ページ最適配置処理要求が受領された場合に焦点をあてて記載している。
【０１７６】
チャネルアダプタ７は、ホスト装置２又はサービスプロセッサ１２のユーザ操作により当該ホスト装置２又はサービスプロセッサ１２から送信される何らかの要求を受領すると、チャネルアダプタ７内のメモリ（図示せず）に格納されている、制御プログラム（図示せず）を実行することにより、図４０に示す制御処理手順ＲＴ１１に従って、受領した要求を確認する（ＳＰ１０１）。
【０１７７】
続いて、チャネルアダプタ７は、当該要求が、ポート追加要求及びポート管理ページ最適配置処理要求であるか否かをチェックする（ＳＰ１０２）。
【０１７８】
そして、チャネルアダプタ７は、当該要求がポート追加要求及びポート管理ページ最適配置処理要求でない場合（ＳＰ１０２：ＮＯ）には、当該要求がどのような要求であるかを特定し、当該要求に基づく処理を実行して（ＳＰ１０３）、この後、この図４０に示す制御処理手順ＲＴ１１を終了する（ＳＰ１０６）。
【０１７９】
これに対して、チャネルアダプタ７は、ポート追加要求及びポート管理ページ最適配置処理要求である場合（ＳＰ１０２：ＹＥＳ）には、ポート追加要求に対応するポートＩＤのポート７を、仮想ＶＯＬ構成情報テーブル５１、仮想ＶＯＬアドレス情報テーブル５２、ポート構成情報テーブル５３、ポート管理ページ構成情報テーブル５４に当該ポートＩＤのポート７の情報を追加する（ＳＰ１０５）。
【０１８０】
続いて、チャネルアダプタ７は、上述のポート管理ページ最適配置処理を実行する（ＲＴ８、９、１０）。
【０１８１】
続いて、チャネルアダプタ７は、ポート管理ページ最適配置処理完了通知をホスト装置２に送信することにより、ホスト装置２のユーザにポート管理ページ最適配置処理が完了したことを報告する（ＳＰ１０５）。
【０１８２】
やがて、チャネルアダプタ７は、この後、この図４０に示す制御処理手順ＲＴ１１を終了する（ＳＰ１０６）。
【０１８３】
このように第２の実施の形態では、外部ディスク装置４３で管理されているハードディスク１３、ＥＣＣグループ１４やプールボリューム１７がコントローラ６において認識することができない場合であっても、記憶システム１が、仮想ボリューム１６が使用している、各ポート７が管理するページを最適に配置することにより、仮想ボリューム１６が使用している、各ポート７が管理する割当て済のページに偏りが生ずることによって、特定のポート７に対するアクセスが多くなることによる、ホスト装置２に対するレスポンス性能が低下するのを有効に防止することができる。
【産業上の利用可能性】
【０１８４】
本発明は、動的に容量拡張が可能な記憶領域をホスト装置に提供するストレージ装置に広く適用することができる。
【図面の簡単な説明】
【０１８５】
【図１】第１の実施の形態による記憶システムの概略的な構成を示すブロック図である。
【図２】複数のハードディスクの論理的な構成を示した概念図である。
【図３】共有メモリに格納されている各種テーブルの説明に供する概念図である。
【図４】仮想ＶＯＬ構成情報テーブルの説明に供する概念図である。
【図５】仮想ＶＯＬアドレス構成情報テーブルの説明に供する概念図である。
【図６】ＥＣＣＧ構成情報テーブルの説明に供する概念図である。
【図７】ＥＣＣＧページ構成情報テーブルの説明に供する概念図である。
【図８】アクセスログ情報テーブルの説明に供する概念図である。
【図９】制御処理手順を示すフローチャートである。
【図１０】ＥＣＣＧページ均等配置処理手順を示すフローチャートである。
【図１１】ＥＣＣＧページ均等配置処理手順の説明に供する概念図である。
【図１２】ＥＣＣＧページ均等配置処理の内容を概略的に示した概念図である。
【図１３】所定時間アクセスページ均等配置処理手順を示すフローチャートである。
【図１４】所定時間アクセスページ均等配置処理手順の説明に供する概念図である。
【図１５】所定時間アクセスページ均等配置処理の内容を概略的に示した概念図である。
【図１６】空きページ均等配置処理手順を示すフローチャートである。
【図１７】空きページ均等配置処理手順の説明に供する概念図である。
【図１８】空きページ均等配置処理の内容を概略的に示した概念図である。
【図１９】制御処理手順を示すフローチャートである。
【図２０】低性能ディスクページ配置処理手順を示すフローチャートである。
【図２１】低性能ディスクページ配置処理手順の説明に供する概念図である。
【図２２】低性能ディスクページ配置処理の内容を概略的に示した概念図である。
【図２３】第２の実施の形態による記憶システムの概略的な構成を示すブロック図である。
【図２４】共有メモリに格納されている各種テーブルの説明に供する概念図である。
【図２５】仮想ＶＯＬ構成情報テーブルの説明に供する概念図である。
【図２６】仮想ＶＯＬアドレス構成情報テーブルの説明に供する概念図である。
【図２７】ポート構成情報テーブルの説明に供する概念図である。
【図２８】ポート管理ページ構成情報テーブルの説明に供する概念図である。
【図２９】アクセスログ情報テーブルの説明に供する概念図である。
【図３０】制御処理手順を示すフローチャートである。
【図３１】ポート管理ページ均等配置処理手順を示すフローチャートである。
【図３２】ポート管理ページ均等配置処理手順の説明に供する概念図である。
【図３３】ポート管理ページ均等配置処理の内容を概略的に示した概念図である。
【図３４】所定時間アクセスページ均等配置処理手順を示すフローチャートである。
【図３５】所定時間アクセスページ均等配置処理手順の説明に供する概念図である。
【図３６】所定時間アクセスページ均等配置処理の内容を概略的に示した概念図である。
【図３７】空きページ均等配置処理手順を示すフローチャートである。
【図３８】空きページ均等配置処理手順の説明に供する概念図である。
【図３９】空きページ均等配置処理の内容を概略的に示した概念図である。
【図４０】制御処理手順を示すフローチャートである。
【符号の説明】
【０１８６】
１、４１……記憶システム、２……ホスト装置、４……ストレージ装置、５……ディスク部、６……コントローラ、７……チャネルアダプタ、１１……ディスクアダプタ、１４……ＥＣＣグループ、１６……仮想ボリューム、１７……プールボリューム、１８……プール領域、２１、５１……仮想ＶＯＬ構成情報テーブル、２２、５２……仮想ＶＯＬアドレス情報テーブル、２３……ＥＣＣＧ構成情報テーブル、２４……ＥＣＣＧページ構成情報テーブル、２５、５５……アクセスログ情報テーブル、４３……外部ディスク装置、５３……ポート構成情報テーブル、５４……ポート管理ページ構成情報テーブル
【図１】
2008234158.tif 000003
【図２】
2008234158.tif 000004
【図３】
2008234158.tif 000005
【図４】
2008234158.tif 000006
【図５】
2008234158.tif 000007
【図６】
2008234158.tif 000008
【図７】
2008234158.tif 000009
【図８】
2008234158.tif 000010
【図９】
2008234158.tif 000011
【図１０】
2008234158.tif 000012
【図１１】
2008234158.tif 000013
【図１２】
2008234158.tif 000014
【図１３】
2008234158.tif 000015
【図１４】
2008234158.tif 000016
【図１５】
2008234158.tif 000017
【図１６】
2008234158.tif 000018
【図１７】
2008234158.tif 000019
【図１８】
2008234158.tif 000020
【図１９】
2008234158.tif 000021
【図２０】
2008234158.tif 000022
【図２１】
2008234158.tif 000023
【図２２】
2008234158.tif 000024
【図２３】
2008234158.tif 000025
【図２４】
2008234158.tif 000026
【図２５】
2008234158.tif 000027
【図２６】
2008234158.tif 000028
【図２７】
2008234158.tif 000029
【図２８】
2008234158.tif 000030
【図２９】
2008234158.tif 000031
【図３０】
2008234158.tif 000032
【図３１】
2008234158.tif 000033
【図３２】
2008234158.tif 000034
【図３３】
2008234158.tif 000035
【図３４】
2008234158.tif 000036
【図３５】
2008234158.tif 000037
【図３６】
2008234158.tif 000038
【図３７】
2008234158.tif 000039
【図３８】
2008234158.tif 000040
【図３９】
2008234158.tif 000041
【図４０】
2008234158.tif 000042