(57)【要約】【課題】ストレージ装置および物理ディスクに対する負荷を抑制しつつ、アクセス頻度の高いデータを高速物理ディスクに再配置するストレージ装置を提供する。【解決手段】第１のディスクプール１０２と、第２のディスクプール１１２と、キャッシュメモリ１４０と、物理ブロックを論理ディスク上のアドレスに対応させる論理ディスク割当テーブル３０１を使用して物理ブロックにデータを読み書きする制御部１５０とを備え、制御部が読み出し要求に対応して、第１の物理ブロックからデータを読み出してキャッシュメモリ上に保存し、第１の物理ブロックが第２のディスクプール上にある場合に、第１のディスクプール上の第２の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第１の物理ブロックを解放して論理ディスク割当テーブルを更新するデータ読み出し手段２０１を含む。【選択図】図２
2010191539.tif 000002
【特許請求の範囲】
【請求項１】
単数または複数の第１の物理ディスク装置を含む第１のディスクプールと、
前記第１の物理ディスク装置よりもデータアクセス速度の低い第２の物理ディスク装置を単数または複数含む第２のディスクプールと、
データを一時的に保存するキャッシュメモリと、
前記第１のディスクプールおよび前記第２のディスクプール上の物理ブロックを論理ディスク上のアドレスに対応させる論理ディスク割当テーブルを使用してホスト計算機からの前記論理ディスクに対する読み出し要求および書き込み要求に対応して前記物理ブロックにデータを読み書きする制御部とを備え、
前記制御部が、前記論理ディスク上のアドレスに対する前記読み出し要求に対応して、第１の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存し、前記第１の物理ブロックが前記第２のディスクプール上にある場合に、前記第１のディスクプール上の第２の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第１の物理ブロックを解放して前記論理ディスク割当テーブルを更新するデータ読み出し手段を含むことを特徴とするストレージ装置。
【請求項２】
前記制御部が、前記論理ディスク上のアドレスに対する前記書き込み要求に対応して、前記制御部は前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存し、前記論理ディスク上のアドレスに該当する第３の物理ブロックが前記第２のディスクプール上にある場合に、前記第１のディスクプール上の第４の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第３の物理ブロックを解放して前記論理ディスク割当テーブルを更新するデータ書き込み手段を含むことを特徴とする、請求項１に記載のストレージ装置。
【請求項３】
前記データ読み出し手段が、前記読み出し要求に対応してデータの読み出しを行った前記論理ディスク上のアドレスに対してデータ読み出しの有った旨を、前記制御部があらかじめ備える読み出し頻度テーブルに記録し、
前記データ書き込み手段が、前記書き込み要求に対応してデータの書き込みを行った前記論理ディスク上のアドレスに対してデータ書き込みの有った旨を、前記制御部があらかじめ備える書き込み頻度テーブルに記録することを特徴とする、請求項２に記載のストレージ装置。
【請求項４】
前記制御部が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルを定期的に検査し、所定の間隔内に前記データ読み出しおよび前記データ書き込みのなかった前記論理ディスク上のアドレスに対して無アクセス頻度を前記制御部があらかじめ備える無アクセス頻度テーブルに記録するデータ再配置手段を含むことを特徴とする、請求項３に記載のストレージ装置。
【請求項５】
前記データ再配置手段が、前記第１のディスクプール上の第５の物理ブロックに割り当てられている前記論理ディスク上のアドレスにおける前記無アクセス頻度が所定の閾値を超える場合、前記第２のディスクプール上の第６の物理ブロックに前記第５の物理ブロック上のデータを書き込んだ後に前記第５の物理ブロックを解放して前記論理ディスク割当テーブルを更新して前記無アクセス頻度のデータを消去することを特徴とする、請求項４に記載のストレージ装置。
【請求項６】
前記データ再配置手段が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで、所定の間隔内に前記データ読み出しおよび前記データ書き込みのあった前記論理ディスク上のアドレスに対してデータ読み出しおよび書き込みの有った旨のデータを消去することを特徴とする、請求項４もしくは請求項５に記載のストレージ装置。
【請求項７】
単数または複数の第１の物理ディスク装置を含む第１のディスクプールと、前記第１の物理ディスク装置よりもデータアクセス速度の低い第２の物理ディスク装置を単数または複数含む第２のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置でデータの再配置を行う方法であって、
ホスト計算機からの前記論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第１のディスクプールもしくは前記第２のディスクプール上の第１の物理ブロックを特定する第１の物理ブロック特定工程と、
前記第１の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存するデータ読み出し工程と、
前記第１の物理ブロックが前記第１のディスクプールと前記第２のディスクプールのうちいずれに存在するかを特定する第１のディスクプール特定工程と、
前記第１の物理ブロックが前記第２のディスクプール上にある場合に、前記第１のディスクプール上の第２の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第１の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第１のデータ再配置工程と
を有することを特徴とするデータ再配置方法。
【請求項８】
前記ホスト計算機からの前記論理ディスク上のアドレスに対する書き込み要求を受け、前記論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第１のディスクプールもしくは前記第２のディスクプール上の第３の物理ブロックを特定する第２の物理ブロック特定工程と、
前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存するデータキャッシュ工程と、
前記第３の物理ブロックが前記第１のディスクプールと前記第２のディスクプールのうちいずれに存在するかを特定する第２のディスクプール特定工程と、
前記第３の物理ブロックが前記第２のディスクプール上にある場合に、前記第１のディスクプール上の第４の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第３の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第２のデータ再配置工程と
を有することを特徴とする、請求項７に記載のデータ再配置方法。
【請求項９】
前記第１のデータ再配置工程が、前記読み出し要求に対応してデータの読み出しを行った前記論理ディスク上のアドレスに対してデータ読み出しの有った旨を、あらかじめ備えられた読み出し頻度テーブルに記録する読み出し頻度記録工程を含み、
前記第２のデータ再配置工程が、前記書き込み要求に対応してデータの書き込みを行った前記論理ディスク上のアドレスに対してデータ書き込みの有った旨を、あらかじめ備えられた書き込み頻度テーブルに記録する書き込み頻度記録工程を含むことを特徴とする、請求項８に記載のデータ再配置方法。
【請求項１０】
前記読み出し頻度テーブルおよび前記書き込み頻度テーブルを定期的に検査する頻度検査工程と、
前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで所定の間隔内に前記データ読み出しおよび前記データ書き込みのなかった前記論理ディスク上のアドレスに対して無アクセス頻度をあらかじめ備えられた無アクセス頻度テーブルに記録する無アクセス頻度記録工程を有することを特徴とする、請求項９に記載のデータ再配置方法。
【請求項１１】
前記無アクセス頻度テーブルを定期的に検査し、前記第１のディスクプールに割り当てられていてかつ前記無アクセス頻度が所定の閾値を超える前記論理ディスク上のアドレスに対応する第５の物理ブロックを検出する無アクセス検査工程と、
前記第２のディスクプール上の第６の物理ブロックに前記第５の物理ブロック上のデータを書き込んだ後に前記第５の物理ブロックを解放して前記論理ディスク割当テーブルを更新して前記無アクセス頻度のデータを消去する第３のデータ再配置工程を有することを特徴とする、請求項１０に記載のデータ再配置方法。
【請求項１２】
前記第３のデータ再配置工程が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで、所定の間隔内に前記データ読み出しおよび前記データ書き込みのあった前記論理ディスク上のアドレスに対してデータ読み出しおよび書き込みの有った旨のデータを消去する頻度消去工程を含むことを特徴とする、請求項１０もしくは請求項１１に記載のデータ再配置方法。
【請求項１３】
単数または複数の第１の物理ディスク装置を含む第１のディスクプールと、前記第１の物理ディスク装置よりもデータアクセス速度の低い第２の物理ディスク装置を単数または複数含む第２のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置を制御するコンピュータに、
ホスト計算機からの前記論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第１のディスクプールもしくは前記第２のディスクプール上の第１の物理ブロックを特定する第１の物理ブロック特定処理と、
前記第１の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存するデータ読み出し処理と、
前記第１の物理ブロックが前記第１のディスクプールと前記第２のディスクプールのうちいずれに存在するかを特定する第１のディスクプール特定処理と、
前記第１の物理ブロックが前記第２のディスクプール上にある場合に、前記第１のディスクプール上の第２の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第１の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第１のデータ再配置処理と
を実行させることを特徴とするデータ再配置プログラム。
【請求項１４】
前記ホスト計算機からの前記論理ディスク上のアドレスに対する書き込み要求を受け、前記論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第１のディスクプールもしくは前記第２のディスクプール上の第３の物理ブロックを特定する第２の物理ブロック特定処理と、
前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存するデータキャッシュ処理と、
前記第３の物理ブロックが前記第１のディスクプールと前記第２のディスクプールのうちいずれに存在するかを特定する第２のディスクプール特定処理と、
前記第３の物理ブロックが前記第２のディスクプール上にある場合に、前記第１のディスクプール上の第４の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第３の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第２のデータ再配置処理と
を実行させることを特徴とする、請求項１３に記載のデータ再配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のディスクプールを有するストレージ装置に関し、特に該ストレージ装置の中で行われるデータの再配置に関する。
【背景技術】
【０００２】
複数の物理ディスクを組み合わせて構成されるストレージ装置は、それらの物理ディスク上の物理ブロックを多数組み合わせて仮想的な記憶領域である論理ディスクを形成し、ホスト計算機は該論理ディスク上のアドレスに対してデータの読み出しまたは書き込みの命令を発するという形になることが多い。
【０００３】
それらのストレージ装置では、要求される記憶容量の増大に対応して近年ますます多数の物理ディスクが組み合わされるようになっている。それに伴い、該ストレージ装置のコストダウンなどのため、データアクセス速度が高速であるかわりに高価な高速物理ディスクと、高速物理ディスクに比べてデータアクセス速度が劣るかわりに安価な低速物理ディスクとを、それぞれ複数組み合わせてストレージ装置が構築されるようになっている。
【０００４】
その際、ホスト計算機からアクセスされるアクセス頻度に応じて、頻繁にアクセスされるデータは高速物理ディスクに格納され、そうではないデータは低速物理ディスクに格納されるように構成するという技術がある。「データアクセスの８０％は物理領域の２０％に対して発生する」と言われているので、この技術によって、該ストレージ装置の性能を損なわずにコストダウンを実現できると期待される。
【０００５】
ただし、上記の従来技術に係るデータの再配置は、論理ディスク単位で実施されるのが普通である。そのため、特に論理ディスクのサイズが大きい場合、大量のデータに対して頻繁に再配置を行うと、ストレージ装置および物理ディスクに対して過大な負荷を与え、通常のデータの読み出しおよび書き込みの処理に対して悪影響を与えることになる。
【０００６】
また、論理ディスク内のデータアクセスに偏りがある場合には、再配置によって効果が得られる領域と効果が得られない領域が存在する。このような論理ディスクに対して、論理ディスク単位でデータの再配置を行うと、前述のストレージ装置および物理ディスクに対する負荷、および通常の処理に対する悪影響の問題が、再配置する必要性が低い領域に対しても生じる。さらに、再配置する必要性が高いか低いかの判断が、論理ディスク単位の情報だけではきわめて困難であるという問題もある。
【０００７】
これに関連する技術文献として、次のものがある。特許文献１には、論理ディスクに対応する物理ディスクの間で物理ブロック単位でデータを再割り付けする方法の一例が開示されている。特許文献２には、アクセス頻度に応じて論理ディスクをより高速な物理ディスクに再配置する方法の一例が開示されている。
【０００８】
上記の特許文献２の技術においては、アクセス頻度についての情報を記録する「アクセス情報」に基づいて論理ディスクをより高速な物理ディスクに再配置するデータ再配置の可否を判断している。これに特許文献１の物理ブロック単位でデータを再割り付けする技術を組み合わせれば、論理ディスク単位でデータ再配置を行うことに伴う上記の問題は解決されることになる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−１３１８１６号公報
【特許文献２】特開２００３−２７１４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記の特許文献２の技術では、アクセス頻度の高いデータを高速物理ディスクに再配置する処理が通常のデータの読み出しおよび書き込みとは別個に行われるので、特に大量のデータを再配置する場合には、ストレージ装置および物理ディスクに対する負荷を大きく増すことにつながる。
【００１１】
また、上記の特許文献２の技術においては、アクセス頻度の高いデータを高速物理ディスクに再配置することはできるが、アクセス頻度の低いデータを低速物理ディスクに再配置することはできない。従って、特許文献１および２を組み合わせた技術によってデータ再配置を続けると、高速物理ディスクにばかりデータが集中してしまうことになるので、高速物理ディスクと低速物理ディスクとを組み合わせた構成にする意味自体がなくなってしまう。
【００１２】
これに特許文献１の物理ブロック単位でデータを再割り付けする技術を組み合わせても、以上の２点の問題を解決できるものではない。
【００１３】
本発明の目的は、ストレージ装置および物理ディスクに対する負荷を抑制しつつ、アクセス頻度の高いデータを高速物理ディスクに再配置する処理を可能とするストレージ装置、データ再配置方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明に係るストレージ装置は、単数または複数の第１の物理ディスク装置を含む第１のディスクプールと、第１の物理ディスク装置よりもデータアクセス速度の低い第２の物理ディスク装置を単数または複数含む第２のディスクプールと、データを一時的に保存するキャッシュメモリと、第１のディスクプールおよび第２のディスクプール上の物理ブロックを論理ディスク上のアドレスに対応させる論理ディスク割当テーブルを使用してホスト計算機からの論理ディスクに対する読み出し要求および書き込み要求に対応して物理ブロックにデータを読み書きする制御部とを備え、制御部が、論理ディスク上のアドレスに対する読み出し要求に対応して、第１の物理ブロックからデータを読み出してキャッシュメモリ上に保存し、第１の物理ブロックが第２のディスクプール上にある場合に、第１のディスクプール上の第２の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第１の物理ブロックを解放して論理ディスク割当テーブルを更新するデータ読み出し手段を含むことを特徴とする。
【００１５】
上記目的を達成するため、本発明に係るデータ再配置方法は、単数または複数の第１の物理ディスク装置を含む第１のディスクプールと、第１の物理ディスク装置よりもデータアクセス速度の低い第２の物理ディスク装置を単数または複数含む第２のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置でデータの再配置を行う方法であって、ホスト計算機からの論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、論理ディスク上のアドレスに対応する第１のディスクプールもしくは第２のディスクプール上の第１の物理ブロックを特定する第１の物理ブロック特定工程と、第１の物理ブロックからデータを読み出してキャッシュメモリ上に保存するデータ読み出し工程と、第１の物理ブロックが第１のディスクプールと第２のディスクプールのうちいずれに存在するかを特定する第１のディスクプール特定工程と、第１の物理ブロックが第２のディスクプール上にある場合に、第１のディスクプール上の第２の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第１の物理ブロックを解放して論理ディスク割当テーブルを更新する第１のデータ再配置工程とを有することを特徴とする。
【００１６】
上記目的を達成するため、本発明に係るデータ再配置プログラムは、単数または複数の第１の物理ディスク装置を含む第１のディスクプールと、第１の物理ディスク装置よりもデータアクセス速度の低い第２の物理ディスク装置を単数または複数含む第２のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置を制御するコンピュータに、ホスト計算機からの論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、論理ディスク上のアドレスに対応する第１のディスクプールもしくは第２のディスクプール上の第１の物理ブロックを特定する第１の物理ブロック特定処理と、第１の物理ブロックからデータを読み出してキャッシュメモリ上に保存するデータ読み出し処理と、第１の物理ブロックが第１のディスクプールと第２のディスクプールのうちいずれに存在するかを特定する第１のディスクプール特定処理と、第１の物理ブロックが第２のディスクプール上にある場合に、第１のディスクプール上の第２の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第１の物理ブロックを解放して論理ディスク割当テーブルを更新する第１のデータ再配置処理とを実行させることを特徴とする。
【発明の効果】
【００１７】
本発明は、データをキャッシュメモリ上に保存してから、物理ブロックが低速物理ディスクに存在する場合にキャッシュメモリ上のデータを高速物理ディスクに記録して低速物理ディスク上の領域を開放するように構成したので、データの読み書き処理の中でデータ再配置を実施することができる。これによって、ストレージ装置および物理ディスクに対する負荷を抑制しつつ、アクセス頻度の高いデータを高速物理ディスクに再配置する処理を可能とするという、従来にない優れたストレージ装置、データ再配置方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係るストレージ装置の構成を示すブロック図である。
【図２】図１に示したストレージ装置で、制御部が実行する機能の構成を示す機能ブロック図である。
【図３】図２で示した論理ディスク割り当てテーブルのデータ構成を示す概念図である。
【図４】図２で示した読み出し頻度テーブルのデータ構成を示す概念図である。
【図５】図２で示した書き込み頻度テーブルのデータ構成を示す概念図である。
【図６】図２で示した無アクセス状況記録テーブルのデータ構成を示す概念図である。
【図７】図２で示したデータ読み出し手段の動作を示すフローチャートである。
【図８】図２で示したデータ書き込み手段の動作を示すフローチャートである。
【図９】図２で示したデータ再配置手段の動作を示すフローチャートである。
【発明を実施するための形態】
【００１９】
図１は、本発明の実施の形態に係るストレージ装置１００の構成を示すブロック図である。ストレージ装置１００は、ホスト計算機１０とネットワークを介して接続され、ホスト計算機１０からの要求によってデータの読み出しまたは書き込みを行う。
【００２０】
ストレージ装置１００は、ホスト計算機１０に接続してデータのやりとりを行うホストアダプタ１３０と、未処理の要求およびデータを一時的に保存するキャッシュメモリ１４０、後述の高速ディスクプール１０２および低速ディスクプール１１２、および以上で述べた各部の動作を制御する制御部１５０とから構成される。
【００２１】
高速ディスクプール１０２は、データアクセス速度が高速である高速物理ディスク１０１を１つ以上含む。低速ディスクプール１１２は、データアクセス速度が低速である低速物理ディスク１１１を１つ以上含む。なお、ここでいう「高速」および「低速」は、この両者の間においてデータアクセス速度を相対的に比較していう概念に過ぎない。
【００２２】
制御部１５０はプロセッサおよびＲＯＭ、ＲＡＭなどを有するマイクロコンピュータであり、高速ディスクプール１０２上の物理ブロック１０３ａ、１０３ｂ…、および低速ディスクプール１１２上の物理ブロック１１３ａ、１１３ｂ…、を一定の単位長に区分して物理ブロックを構成し、各々の物理ブロックの集合から論理的な記憶領域である論理ディスク１２０を構成する。
【００２３】
図２は、図１に示したストレージ装置１００で、制御部１５０が実行する機能の構成を示す機能ブロック図である。これらの機能は、制御部１５０を構成するコンピュータによって実行されるプログラムとして実現されることが望ましい。制御部１５０は、論理ディスク１２０に対して、データ読み出し手段２０１、データ書き込み手段２０２、データ再配置手段２０３といった機能を実行する。また、後述の論理ディスク割り当てテーブル３０１、論理ディスク読み出し頻度テーブル３０２、論理ディスク書き込み頻度テーブル３０３、無アクセス状況記録テーブル３０４といった各テーブルを管理する。
【００２４】
データ読み出し手段２０１は、ホスト計算機１０から読み出し要求を受けたときに動作し、対象とする論理ディスクに対して要求されたアドレスに対応する領域から記録されたデータを読み出してキャッシュメモリ１４０に格納した後、ホスト計算機に応答を返却する。
【００２５】
ただし、読み出した領域が低速ディスクプール１１２上の物理ブロックであった場合は、データ読み出し手段２０１は高速ディスクプール１０２上に物理ブロックを新たに確保し、キャッシュメモリ１４０上のデータを高速ディスクプールの当該物理ブロックに書き込み、当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。
【００２６】
データ書き込み手段２０２は、ホスト計算機１０から書き込み要求を受けたときに動作し、対象とする論理ディスクに対して要求されたアドレスに対応する領域が低速ディスクプール１１２の物理ブロックであった場合は、高速ディスクプール１０２上の物理ブロックを新たに確保し、キャッシュメモリ１４０上のデータを高速ディスクプールの当該物理ブロックに書き込み当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。
【００２７】
データ再配置手段２０３は、タイマなどによって定期的に動作し（または外部からの再配置要求によって動作するようにすることもできる）、対象となる論理ディスクを選択した後、当該論理ディスクに対する論理ディスク読み出し頻度テーブル３０２および論理ディスク書き込み頻度テーブル３０３を参照して、アクセスの有無を算出し、該論理ディスクに対して一定期間アクセスの無い状態を検出する。
【００２８】
そのような状態を検出した場合で、かつアクセスの無い領域に対して高速ディスクプール１０２の物理ブロックが割り当てられていた場合は、データ再配置手段２０３は低速ディスクプール１１２上の物理ブロックを新たなに確保し、当該領域のデータを読み出して新たに確保した低速ディスクプール１１２上の物理ブロックに書き込み、当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。
【００２９】
図３は、図２で示した論理ディスク割り当てテーブル３０１のデータ構成を示す概念図である。論理ディスク割り当てテーブル３０１は、論理ディスクの割り当て状況を管理するテーブルであり、論理ディスクＩＤ３０１ａ、割り当てアドレス３０１ｂ、性能区分３０１ｃ、格納プール識別情報３０１ｄおよび格納アドレス情報３０１ｅといった各データを含む。
【００３０】
論理ディスクＩＤ３０１ａは、論理ディスク１２０を識別する情報である。割り当てアドレス３０１ｂは、当該論理ディスク上の領域に対応するアドレスを示す。性能区分３０１ｃは、当該論理ディスク上の領域が高速ディスクプール１０２と低速ディスクプール１１２のいずれに含まれているかを示す。格納プール識別情報３０１ｄおよび格納アドレス情報３０１ｅは、論理ディスクＩＤ３０１ａおよび割り当てアドレス３０１ｂで表される論理ディスク上の領域に対応する物理ブロックの所在を示す。
【００３１】
ここでは、格納プール識別情報３０１ｄが「Ｐ１」の場合は高速ディスクプール１０２に物理ブロックが含まれることになるので、性能区分３０１ｃは「高」である。格納プール識別情報３０１ｄが「Ｐ２」の場合は低速ディスクプール１１２に物理ブロックが含まれることになるので、性能区分３０１ｃは「低」である。なお、論理ディスク上には物理ブロックが割り当てられていない領域もある。その場合は、該領域に対応する性能区分３０１ｃ、格納プール識別情報３０１ｄ、格納アドレス情報３０１ｅは空欄である。
【００３２】
図４は、図２で示した読み出し頻度テーブル３０２のデータ構成を示す概念図である。読み出し頻度テーブル３０２は、論理ディスクの読み出し頻度を管理するテーブルであり、論理ディスク１２０を識別する情報である論理ディスクＩＤ３０２ａ、当該論理ディスク上の領域に対応するアドレス３０２ｂ、および当該アドレスに対して読み出しの有無を示す読み出し判別情報３０２ｃといった各データを含む。
【００３３】
図５は、図２で示した書き込み頻度テーブル３０３のデータ構成を示す概念図である。書き込み頻度テーブル３０３は、論理ディスクの書き込み頻度を管理するテーブルであり、論理ディスク１２０を識別する情報である論理ディスクＩＤ３０３ａ、当該論理ディスク上の領域に対応するアドレス３０３ｂ、および当該アドレスに対して書き込みの有無を示す書き込み判別情報３０３ｃといった各データを含む。
【００３４】
図６は、図２で示した無アクセス状況記録テーブル３０４のデータ構成を示す概念図である。無アクセス状況記録テーブル３０４は、論理ディスクに対するアクセスの有無を記録するテーブルであり、論理ディスク１２０を識別する情報である論理ディスクＩＤ３０４ａ、当該論理ディスク上の領域に対応するアドレス３０４ｂ、および当該アドレスに対して無アクセス状態の回数を示す無アクセス頻度３０４ｃといった各データを含む。
【００３５】
図７は、図２で示したデータ読み出し手段２０１の動作を示すフローチャートである。データ読み出し手段２０１は、ホスト計算機１０からの読み出し要求によって動作を開始すると、まず要求された論理ディスクを識別する論理ディスクＩＤ３０２ａと、要求されたアドレスとデータサイズを元に、当該データ読み出し要求に対する論理ディスク上の対応するアドレス３０２ｂを算出し、読み出し頻度テーブル３０２上に当該論理ディスクＩＤ３０２ａとアドレス３０２ｂにおける読み出し判別情報３０２ｃを読み出し「有り」として記録して更新する（ステップＳ４０１）。
【００３６】
続いてデータ読み出し手段２０１は論理ディスク割り当てテーブル３０１を参照し、当該論理ディスク３０１ａの当該アドレス３０１ｂに対して割り当てられている物理ブロックの格納プール識別情報３０１ｄおよび格納アドレス情報３０１ｅを取得し（ステップＳ４０２）、当該物理ブロックからデータを読み出してキャッシュメモリ１４０に格納してホスト計算機１０に応答を返却する（ステップＳ４０３）。
【００３７】
その後データ読み出し手段２０１は、性能区分３０１ｃから、当該物理ブロックが高速ディスクプール１０２と低速ディスクプール１１２のいずれに割り当てられているかを判断する（ステップＳ４０４）。高速ディスクプール１０２であればそのまま処理を終了するが、低速ディスクプール１１２に割り当てられている場合は、ステップＳ４０５からの処理を実施して、該物理ブロックを高速ディスクプール１０２に付け替える。
【００３８】
該物理ブロックを高速ディスクプール１０２に付け替える処理は、まず高速ディスクプール１０２内の未割り当ての物理ブロックを新規に割り当てる領域として確保し（ステップＳ４０５）、キャッシュメモリ１４０に格納されている読み出し済のデータを、ステップＳ４０５で確保された領域に書き込む（ステップＳ４０６）。
【００３９】
そして、論理ディスク割り当てテーブル３０１において、当該論理ディスク３０１ａの当該アドレス３０１ｂに対する割り当て領域として、新たに確保した高速ディスクプールのＩＤとアドレスを格納プール識別情報３０１ｄおよび格納アドレス情報３０１ｅに記録して更新する（ステップＳ４０７）。最後に、低速ディスクプール１１２に割り当てられていた元の物理ブロックを未割り当て領域として解放する（ステップＳ４０８）。以上で物理ブロックを高速ディスクプール１０２に付け替える処理が完了する。
【００４０】
図８は、図２で示したデータ書き込み手段２０２の動作を示すフローチャートである。データ書き込み手段２０２は、ホスト計算機１０からの書き込み要求によって動作を開始すると、まず要求された論理ディスクを識別する論理ディスクＩＤ３０３ａと、要求されたアドレスとデータサイズを元に、当該データ書き込み要求に対する論理ディスク上の対応するアドレス３０３ｂを算出し書き込み頻度テーブル３０３上に当該論理ディスクＩＤ３０３ａとアドレス３０３ｂにおける書き込み判別情報３０３ｃを書き込み「有り」として記録して更新する（ステップＳ５０１）。
【００４１】
続いてデータ書き込み手段２０２は要求されたデータをキャッシュメモリ１４０上に格納してホスト計算機１０に応答を返却し（ステップＳ５０２）、論理ディスク割り当てテーブル３０１を参照して当該論理ディスク３０１ａの当該アドレス３０１ｂに対して割り当てられている物理ブロックの格納プール識別情報３０１ｄおよび格納アドレス情報３０１ｅを取得し（ステップＳ５０３）、性能区分３０１ｃから、当該物理ブロックが高速ディスクプール１０２と低速ディスクプール１１２のいずれに割り当てられているかを判断する（ステップＳ５０４）。
【００４２】
当該物理ブロックに割り当てられているのが高速ディスクプール１０２であれば、キャッシュメモリ１４０に格納されているデータをそのまま該物理ブロックに書き込んで（ステップＳ５０９）終了するが、低速ディスクプール１１２に割り当てられている場合は、ステップＳ５０５からの処理を実施して、該物理ブロックを高速ディスクプール１０２に付け替える。
【００４３】
該物理ブロックを高速ディスクプール１０２に付け替える処理は、まず高速ディスクプール１０２内の未割り当ての物理ブロックを新規に割り当てる領域として確保し（ステップＳ５０５）、キャッシュメモリ１４０に格納されているデータを、ステップＳ５０５で確保された領域に書き込む（ステップＳ５０６）。
【００４４】
そして、論理ディスク割り当てテーブル３０１において、当該論理ディスク３０１ａの当該アドレス３０１ｂに対する割り当て領域として、新たに確保した高速ディスクプール１０２のＩＤとアドレスを格納プール識別情報３０１ｄおよび格納アドレス情報３０１ｅに記録して更新する（ステップＳ５０７）。最後に、低速ディスクプール１１２に割り当てられていた元の物理ブロックを未割り当て領域として解放する（ステップＳ５０８）。以上で物理ブロックを高速ディスクプール１０２に付け替える処理が完了する。
【００４５】
以上の図７および図８に係る処理で、キャッシュメモリ１４０にデータを記憶させてホスト計算機１０に応答を返却する処理は、従来のストレージ装置で通常行われている処理である。これに低速ディスクプール１１２から高速ディスクプール１０２へのデータ再配置についての処理を付加しただけであると言えるので、このデータ再配置に係るストレージ装置および物理ディスクに対する負荷はごく小さく済む。
【００４６】
図９は、図２で示したデータ再配置手段２０３の動作を示すフローチャートである。データ再配置手段２０３は、タイマ（図示せず）などによって定期的に動作を開始すると、まず読み出し頻度テーブル３０２および書き込み頻度テーブル３０３を参照し（ステップＳ６０１）、ストレージ装置１００上に存在する各々の論理ディスク１２０に割り当てられた各ブロックのアドレスについて調査を行う。
【００４７】
データ再配置手段２０３は、タイマなどによって自身が動作する一周期以内に、一つの論理ディスクの一つのアドレスについてアクセス、つまり読み出し要求あるいは書き込み要求のうちのいずれかがされたか否かを確認する（ステップＳ６０２）。
【００４８】
より具体的には、読み出し頻度テーブル３０２上で当該論理ディスクＩＤ３０２ａとアドレス３０２ｂにおける読み出し判別情報３０２ｃが読み出し「有り」である、もしくは書き込み頻度テーブル３０３上で当該論理ディスクＩＤ３０３ａとアドレス３０３ｂにおける書き込み判別情報３０３ｃが書き込み「有り」である場合に、当該論理ディスクの当該アドレスに対して過去にアクセスが存在していたと判断する。読み出し判別情報３０２ｃと書き込み判別情報３０３ｃのいずれも「無し」であった場合は、過去にアクセスが存在していないと判断する。
【００４９】
ステップＳ６０２で過去にアクセスが存在していないと判断された場合は、無アクセス状況記録テーブル３０４で、当該論理ディスクＩＤ３０４ａの当該アドレス３０４ｂにおける無アクセス頻度３０４ｃの値に１を加算して（ステップＳ６０３）、ステップＳ６０５に進む。
【００５０】
一方、ステップＳ６０２で過去にアクセスが存在したと判断された場合は、当該論理ディスクＩＤ３０４ａの当該アドレス３０４ｂにおける無アクセス頻度３０４ｃの値を「０」として、さらに読み出し頻度テーブル３０２の当該アドレスの読み出し判別情報３０２ｃを読み出し「無し」に、書き込み頻度テーブル３０３上の当該アドレスの書き込み判別情報３０３ｃも書き込み「無し」にそれぞれ変更して（ステップＳ６０４）、ステップＳ６０５に進む。
【００５１】
つまり、データ再配置手段２０３が動作する一周期以内に図７で示したデータ読み出し手段２０１の動作が行われないと、読み出し判別情報３０２ｃは「無し」のままである。同様に、一周期以内に図８で示したデータ書き込み手段２０２の動作が行われないと、書き込み判別情報３０３ｃは「無し」のままである。これによって、ステップＳ６０２で示したアクセスの有無の判断が成立する。
【００５２】
続いて、当該論理ディスクＩＤ３０４ａの当該アドレス３０４ｂにおける無アクセス頻度３０４ｃの値が移動条件を満たしているか否かを判断する（ステップＳ６０５）。ここでいう移動条件とは、無アクセス頻度３０４ｃの値が特定の閾値を超えていることである。この閾値は、固定値として事前に設定してもよいし、また外部環境から変更可能な値としてもよい。移動条件が成立していない場合は、後述のステップＳ６１２に進む。
【００５３】
ステップＳ６０５で移動条件が成立した場合は、データ再配置手段２０３は低速ディスクプール１１２上に、未割り当ての物理ブロックを新規に割り当てる領域として確保する（ステップＳ６０６）。続いて、当該論理ディスクＩＤ３０４ａの当該アドレス３０４ｂに現在割り当てられている高速ディスクプール１０２上の物理ブロックに記録されているデータを読み出して、キャッシュメモリ１４０に格納する（ステップＳ６０７）。
【００５４】
そしてデータ再配置手段２０３は、ステップＳ６０６で確保された低速ディスクプール１１２上の物理ブロックに、ステップＳ６０７でキャッシュメモリ１４０に格納されたデータを書き込む（ステップＳ６０８）。
【００５５】
そして、論理ディスク割り当てテーブル３０１において、当該論理ディスク３０１ａの当該アドレス３０１ｂに対する割り当て領域として、新たに確保した低速ディスクプール１１２のＩＤとアドレスを格納プール識別情報３０１ｄおよび格納アドレス情報３０１ｅに記録して更新する（ステップＳ６０９）。さらに、高速ディスクプール１０２に割り当てられていた元の物理ブロックを未割り当て領域として解放する（ステップＳ６１０）。
【００５６】
最後に、当該論理ディスクＩＤ３０４ａの当該アドレス３０４ｂにおける無アクセス頻度３０４ｃの値を「０」とする（ステップＳ６１１）。これによって、当該論理ディスクＩＤ３０４ａの当該アドレス３０４ｂが低速ディスクプール１１２に割り当てられている場合は、次にデータ再配置手段２０３が動作する際には無アクセス頻度３０４ｃ＝「０」となるので、低速ディスクプール１１２に割り当てられている物理ブロックを低速ディスクプール１１２に移動させるという無意味な動作が生じることもない。
【００５７】
以上で、特定の論理ディスクの特定のブロックにおいてデータ再配置に係る判断と処理が完了した。これをチェック対象となる全ての論理ディスクの全てのブロックについてチェックしたかどうかを確認し、未完了であれば次のブロックをチェック対象としてステップＳ６０１からの処理を継続する（ステップＳ６１２）。
【００５８】
本実施の形態では、実際に読み書きが発生した論理ディスクの領域に対して、キャッシュメモリ１４０を利用して低速ディスクプール１１２から高速ディスクプール１０２へのデータ再配置を行うことにより、アクセス頻度の高い論理ディスクの領域を高速ディスクプール１０２に割り当てる。低速ディスクプール１１２から高速ディスクプール１０２へのデータ再配置はデータの読み書き処理の中で実施されるので、ストレージ装置および物理ディスクに対する負荷はごく小さく済む。
【００５９】
そしてブロック毎にアクセス頻度を測定して、アクセス頻度の低いブロックを再配置対象と判定して高速ディスクプール１０２から低速ディスクプール１１２への再配置を実施することにより、アクセス頻度の低い論理ディスクの領域を低速ディスクプール１１２に割り当てる。これによって、アクセス頻度に応じて適切に高速ディスクプール１０２と低速ディスクプール１１２との間でデータを再配置することができる。
【００６０】
低速ディスクプール１１２から高速ディスクプール１０２へのデータ再配置は前述のようにデータの読み書き処理の中で実施され、タイマなどによって定期的に実施されるルーチンとしては高速ディスクプール１０２から低速ディスクプール１１２への再配置の処理が加わるのみである。従って、この場合もストレージ装置および物理ディスクに対する負荷は小さく済む。
【００６１】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【産業上の利用可能性】
【００６２】
高速物理ディスクと低速物理ディスクとを複数組み合わせた装置において利用できる。ストレージ専用の装置でなくてもよい。
【符号の説明】
【００６３】
１０  ホスト計算機
１００  ストレージ装置
１０１、１０１ａ、１０１ｂ  高速物理ディスク
１０２  高速ディスクプール
１０３ａ、１０３ｂ、１１３ａ、１１３ｂ  物理ブロック
１１１、１１１ａ、１１１ｂ  低速物理ディスク
１１２  低速ディスクプール
１２０  論理ディスク
１３０  ホストアダプタ
１４０  キャッシュメモリ
１５０  制御部
２０１  データ読み出し手段
２０２  データ書き込み手段
２０３  データ再配置手段
３０１  論理ディスク割り当てテーブル
３０２  論理ディスク読み出し頻度テーブル
３０３  論理ディスク書き込み頻度テーブル
３０４  無アクセス状況記録テーブル
【図１】
2010191539.tif 000003
【図２】
2010191539.tif 000004
【図３】
2010191539.tif 000005
【図４】
2010191539.tif 000006
【図５】
2010191539.tif 000007
【図６】
2010191539.tif 000008
【図７】
2010191539.tif 000009
【図８】
2010191539.tif 000010
【図９】
2010191539.tif 000011