説明

ストレージ装置、データ再配置方法およびプログラム

【課題】ストレージ装置および物理ディスクに対する負荷を抑制しつつ、アクセス頻度の高いデータを高速物理ディスクに再配置するストレージ装置を提供する。
【解決手段】第1のディスクプール102と、第2のディスクプール112と、キャッシュメモリ140と、物理ブロックを論理ディスク上のアドレスに対応させる論理ディスク割当テーブル301を使用して物理ブロックにデータを読み書きする制御部150とを備え、制御部が読み出し要求に対応して、第1の物理ブロックからデータを読み出してキャッシュメモリ上に保存し、第1の物理ブロックが第2のディスクプール上にある場合に、第1のディスクプール上の第2の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第1の物理ブロックを解放して論理ディスク割当テーブルを更新するデータ読み出し手段201を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は複数のディスクプールを有するストレージ装置に関し、特に該ストレージ装置の中で行われるデータの再配置に関する。
【背景技術】
【0002】
複数の物理ディスクを組み合わせて構成されるストレージ装置は、それらの物理ディスク上の物理ブロックを多数組み合わせて仮想的な記憶領域である論理ディスクを形成し、ホスト計算機は該論理ディスク上のアドレスに対してデータの読み出しまたは書き込みの命令を発するという形になることが多い。
【0003】
それらのストレージ装置では、要求される記憶容量の増大に対応して近年ますます多数の物理ディスクが組み合わされるようになっている。それに伴い、該ストレージ装置のコストダウンなどのため、データアクセス速度が高速であるかわりに高価な高速物理ディスクと、高速物理ディスクに比べてデータアクセス速度が劣るかわりに安価な低速物理ディスクとを、それぞれ複数組み合わせてストレージ装置が構築されるようになっている。
【0004】
その際、ホスト計算機からアクセスされるアクセス頻度に応じて、頻繁にアクセスされるデータは高速物理ディスクに格納され、そうではないデータは低速物理ディスクに格納されるように構成するという技術がある。「データアクセスの80%は物理領域の20%に対して発生する」と言われているので、この技術によって、該ストレージ装置の性能を損なわずにコストダウンを実現できると期待される。
【0005】
ただし、上記の従来技術に係るデータの再配置は、論理ディスク単位で実施されるのが普通である。そのため、特に論理ディスクのサイズが大きい場合、大量のデータに対して頻繁に再配置を行うと、ストレージ装置および物理ディスクに対して過大な負荷を与え、通常のデータの読み出しおよび書き込みの処理に対して悪影響を与えることになる。
【0006】
また、論理ディスク内のデータアクセスに偏りがある場合には、再配置によって効果が得られる領域と効果が得られない領域が存在する。このような論理ディスクに対して、論理ディスク単位でデータの再配置を行うと、前述のストレージ装置および物理ディスクに対する負荷、および通常の処理に対する悪影響の問題が、再配置する必要性が低い領域に対しても生じる。さらに、再配置する必要性が高いか低いかの判断が、論理ディスク単位の情報だけではきわめて困難であるという問題もある。
【0007】
これに関連する技術文献として、次のものがある。特許文献1には、論理ディスクに対応する物理ディスクの間で物理ブロック単位でデータを再割り付けする方法の一例が開示されている。特許文献2には、アクセス頻度に応じて論理ディスクをより高速な物理ディスクに再配置する方法の一例が開示されている。
【0008】
上記の特許文献2の技術においては、アクセス頻度についての情報を記録する「アクセス情報」に基づいて論理ディスクをより高速な物理ディスクに再配置するデータ再配置の可否を判断している。これに特許文献1の物理ブロック単位でデータを再割り付けする技術を組み合わせれば、論理ディスク単位でデータ再配置を行うことに伴う上記の問題は解決されることになる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2003−131816号公報
【特許文献2】特開2003−271425号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上記の特許文献2の技術では、アクセス頻度の高いデータを高速物理ディスクに再配置する処理が通常のデータの読み出しおよび書き込みとは別個に行われるので、特に大量のデータを再配置する場合には、ストレージ装置および物理ディスクに対する負荷を大きく増すことにつながる。
【0011】
また、上記の特許文献2の技術においては、アクセス頻度の高いデータを高速物理ディスクに再配置することはできるが、アクセス頻度の低いデータを低速物理ディスクに再配置することはできない。従って、特許文献1および2を組み合わせた技術によってデータ再配置を続けると、高速物理ディスクにばかりデータが集中してしまうことになるので、高速物理ディスクと低速物理ディスクとを組み合わせた構成にする意味自体がなくなってしまう。
【0012】
これに特許文献1の物理ブロック単位でデータを再割り付けする技術を組み合わせても、以上の2点の問題を解決できるものではない。
【0013】
本発明の目的は、ストレージ装置および物理ディスクに対する負荷を抑制しつつ、アクセス頻度の高いデータを高速物理ディスクに再配置する処理を可能とするストレージ装置、データ再配置方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0014】
上記目的を達成するため、本発明に係るストレージ装置は、単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリと、第1のディスクプールおよび第2のディスクプール上の物理ブロックを論理ディスク上のアドレスに対応させる論理ディスク割当テーブルを使用してホスト計算機からの論理ディスクに対する読み出し要求および書き込み要求に対応して物理ブロックにデータを読み書きする制御部とを備え、制御部が、論理ディスク上のアドレスに対する読み出し要求に対応して、第1の物理ブロックからデータを読み出してキャッシュメモリ上に保存し、第1の物理ブロックが第2のディスクプール上にある場合に、第1のディスクプール上の第2の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第1の物理ブロックを解放して論理ディスク割当テーブルを更新するデータ読み出し手段を含むことを特徴とする。
【0015】
上記目的を達成するため、本発明に係るデータ再配置方法は、単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置でデータの再配置を行う方法であって、ホスト計算機からの論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、論理ディスク上のアドレスに対応する第1のディスクプールもしくは第2のディスクプール上の第1の物理ブロックを特定する第1の物理ブロック特定工程と、第1の物理ブロックからデータを読み出してキャッシュメモリ上に保存するデータ読み出し工程と、第1の物理ブロックが第1のディスクプールと第2のディスクプールのうちいずれに存在するかを特定する第1のディスクプール特定工程と、第1の物理ブロックが第2のディスクプール上にある場合に、第1のディスクプール上の第2の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第1の物理ブロックを解放して論理ディスク割当テーブルを更新する第1のデータ再配置工程とを有することを特徴とする。
【0016】
上記目的を達成するため、本発明に係るデータ再配置プログラムは、単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置を制御するコンピュータに、ホスト計算機からの論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、論理ディスク上のアドレスに対応する第1のディスクプールもしくは第2のディスクプール上の第1の物理ブロックを特定する第1の物理ブロック特定処理と、第1の物理ブロックからデータを読み出してキャッシュメモリ上に保存するデータ読み出し処理と、第1の物理ブロックが第1のディスクプールと第2のディスクプールのうちいずれに存在するかを特定する第1のディスクプール特定処理と、第1の物理ブロックが第2のディスクプール上にある場合に、第1のディスクプール上の第2の物理ブロックにキャッシュメモリ上のデータを書き込んだ後に第1の物理ブロックを解放して論理ディスク割当テーブルを更新する第1のデータ再配置処理とを実行させることを特徴とする。
【発明の効果】
【0017】
本発明は、データをキャッシュメモリ上に保存してから、物理ブロックが低速物理ディスクに存在する場合にキャッシュメモリ上のデータを高速物理ディスクに記録して低速物理ディスク上の領域を開放するように構成したので、データの読み書き処理の中でデータ再配置を実施することができる。これによって、ストレージ装置および物理ディスクに対する負荷を抑制しつつ、アクセス頻度の高いデータを高速物理ディスクに再配置する処理を可能とするという、従来にない優れたストレージ装置、データ再配置方法およびプログラムを提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の実施の形態に係るストレージ装置の構成を示すブロック図である。
【図2】図1に示したストレージ装置で、制御部が実行する機能の構成を示す機能ブロック図である。
【図3】図2で示した論理ディスク割り当てテーブルのデータ構成を示す概念図である。
【図4】図2で示した読み出し頻度テーブルのデータ構成を示す概念図である。
【図5】図2で示した書き込み頻度テーブルのデータ構成を示す概念図である。
【図6】図2で示した無アクセス状況記録テーブルのデータ構成を示す概念図である。
【図7】図2で示したデータ読み出し手段の動作を示すフローチャートである。
【図8】図2で示したデータ書き込み手段の動作を示すフローチャートである。
【図9】図2で示したデータ再配置手段の動作を示すフローチャートである。
【発明を実施するための形態】
【0019】
図1は、本発明の実施の形態に係るストレージ装置100の構成を示すブロック図である。ストレージ装置100は、ホスト計算機10とネットワークを介して接続され、ホスト計算機10からの要求によってデータの読み出しまたは書き込みを行う。
【0020】
ストレージ装置100は、ホスト計算機10に接続してデータのやりとりを行うホストアダプタ130と、未処理の要求およびデータを一時的に保存するキャッシュメモリ140、後述の高速ディスクプール102および低速ディスクプール112、および以上で述べた各部の動作を制御する制御部150とから構成される。
【0021】
高速ディスクプール102は、データアクセス速度が高速である高速物理ディスク101を1つ以上含む。低速ディスクプール112は、データアクセス速度が低速である低速物理ディスク111を1つ以上含む。なお、ここでいう「高速」および「低速」は、この両者の間においてデータアクセス速度を相対的に比較していう概念に過ぎない。
【0022】
制御部150はプロセッサおよびROM、RAMなどを有するマイクロコンピュータであり、高速ディスクプール102上の物理ブロック103a、103b…、および低速ディスクプール112上の物理ブロック113a、113b…、を一定の単位長に区分して物理ブロックを構成し、各々の物理ブロックの集合から論理的な記憶領域である論理ディスク120を構成する。
【0023】
図2は、図1に示したストレージ装置100で、制御部150が実行する機能の構成を示す機能ブロック図である。これらの機能は、制御部150を構成するコンピュータによって実行されるプログラムとして実現されることが望ましい。制御部150は、論理ディスク120に対して、データ読み出し手段201、データ書き込み手段202、データ再配置手段203といった機能を実行する。また、後述の論理ディスク割り当てテーブル301、論理ディスク読み出し頻度テーブル302、論理ディスク書き込み頻度テーブル303、無アクセス状況記録テーブル304といった各テーブルを管理する。
【0024】
データ読み出し手段201は、ホスト計算機10から読み出し要求を受けたときに動作し、対象とする論理ディスクに対して要求されたアドレスに対応する領域から記録されたデータを読み出してキャッシュメモリ140に格納した後、ホスト計算機に応答を返却する。
【0025】
ただし、読み出した領域が低速ディスクプール112上の物理ブロックであった場合は、データ読み出し手段201は高速ディスクプール102上に物理ブロックを新たに確保し、キャッシュメモリ140上のデータを高速ディスクプールの当該物理ブロックに書き込み、当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。
【0026】
データ書き込み手段202は、ホスト計算機10から書き込み要求を受けたときに動作し、対象とする論理ディスクに対して要求されたアドレスに対応する領域が低速ディスクプール112の物理ブロックであった場合は、高速ディスクプール102上の物理ブロックを新たに確保し、キャッシュメモリ140上のデータを高速ディスクプールの当該物理ブロックに書き込み当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。
【0027】
データ再配置手段203は、タイマなどによって定期的に動作し(または外部からの再配置要求によって動作するようにすることもできる)、対象となる論理ディスクを選択した後、当該論理ディスクに対する論理ディスク読み出し頻度テーブル302および論理ディスク書き込み頻度テーブル303を参照して、アクセスの有無を算出し、該論理ディスクに対して一定期間アクセスの無い状態を検出する。
【0028】
そのような状態を検出した場合で、かつアクセスの無い領域に対して高速ディスクプール102の物理ブロックが割り当てられていた場合は、データ再配置手段203は低速ディスクプール112上の物理ブロックを新たなに確保し、当該領域のデータを読み出して新たに確保した低速ディスクプール112上の物理ブロックに書き込み、当該物理ブロックを論理ディスクに対する新たな記憶領域として割り当てる。
【0029】
図3は、図2で示した論理ディスク割り当てテーブル301のデータ構成を示す概念図である。論理ディスク割り当てテーブル301は、論理ディスクの割り当て状況を管理するテーブルであり、論理ディスクID301a、割り当てアドレス301b、性能区分301c、格納プール識別情報301dおよび格納アドレス情報301eといった各データを含む。
【0030】
論理ディスクID301aは、論理ディスク120を識別する情報である。割り当てアドレス301bは、当該論理ディスク上の領域に対応するアドレスを示す。性能区分301cは、当該論理ディスク上の領域が高速ディスクプール102と低速ディスクプール112のいずれに含まれているかを示す。格納プール識別情報301dおよび格納アドレス情報301eは、論理ディスクID301aおよび割り当てアドレス301bで表される論理ディスク上の領域に対応する物理ブロックの所在を示す。
【0031】
ここでは、格納プール識別情報301dが「P1」の場合は高速ディスクプール102に物理ブロックが含まれることになるので、性能区分301cは「高」である。格納プール識別情報301dが「P2」の場合は低速ディスクプール112に物理ブロックが含まれることになるので、性能区分301cは「低」である。なお、論理ディスク上には物理ブロックが割り当てられていない領域もある。その場合は、該領域に対応する性能区分301c、格納プール識別情報301d、格納アドレス情報301eは空欄である。
【0032】
図4は、図2で示した読み出し頻度テーブル302のデータ構成を示す概念図である。読み出し頻度テーブル302は、論理ディスクの読み出し頻度を管理するテーブルであり、論理ディスク120を識別する情報である論理ディスクID302a、当該論理ディスク上の領域に対応するアドレス302b、および当該アドレスに対して読み出しの有無を示す読み出し判別情報302cといった各データを含む。
【0033】
図5は、図2で示した書き込み頻度テーブル303のデータ構成を示す概念図である。書き込み頻度テーブル303は、論理ディスクの書き込み頻度を管理するテーブルであり、論理ディスク120を識別する情報である論理ディスクID303a、当該論理ディスク上の領域に対応するアドレス303b、および当該アドレスに対して書き込みの有無を示す書き込み判別情報303cといった各データを含む。
【0034】
図6は、図2で示した無アクセス状況記録テーブル304のデータ構成を示す概念図である。無アクセス状況記録テーブル304は、論理ディスクに対するアクセスの有無を記録するテーブルであり、論理ディスク120を識別する情報である論理ディスクID304a、当該論理ディスク上の領域に対応するアドレス304b、および当該アドレスに対して無アクセス状態の回数を示す無アクセス頻度304cといった各データを含む。
【0035】
図7は、図2で示したデータ読み出し手段201の動作を示すフローチャートである。データ読み出し手段201は、ホスト計算機10からの読み出し要求によって動作を開始すると、まず要求された論理ディスクを識別する論理ディスクID302aと、要求されたアドレスとデータサイズを元に、当該データ読み出し要求に対する論理ディスク上の対応するアドレス302bを算出し、読み出し頻度テーブル302上に当該論理ディスクID302aとアドレス302bにおける読み出し判別情報302cを読み出し「有り」として記録して更新する(ステップS401)。
【0036】
続いてデータ読み出し手段201は論理ディスク割り当てテーブル301を参照し、当該論理ディスク301aの当該アドレス301bに対して割り当てられている物理ブロックの格納プール識別情報301dおよび格納アドレス情報301eを取得し(ステップS402)、当該物理ブロックからデータを読み出してキャッシュメモリ140に格納してホスト計算機10に応答を返却する(ステップS403)。
【0037】
その後データ読み出し手段201は、性能区分301cから、当該物理ブロックが高速ディスクプール102と低速ディスクプール112のいずれに割り当てられているかを判断する(ステップS404)。高速ディスクプール102であればそのまま処理を終了するが、低速ディスクプール112に割り当てられている場合は、ステップS405からの処理を実施して、該物理ブロックを高速ディスクプール102に付け替える。
【0038】
該物理ブロックを高速ディスクプール102に付け替える処理は、まず高速ディスクプール102内の未割り当ての物理ブロックを新規に割り当てる領域として確保し(ステップS405)、キャッシュメモリ140に格納されている読み出し済のデータを、ステップS405で確保された領域に書き込む(ステップS406)。
【0039】
そして、論理ディスク割り当てテーブル301において、当該論理ディスク301aの当該アドレス301bに対する割り当て領域として、新たに確保した高速ディスクプールのIDとアドレスを格納プール識別情報301dおよび格納アドレス情報301eに記録して更新する(ステップS407)。最後に、低速ディスクプール112に割り当てられていた元の物理ブロックを未割り当て領域として解放する(ステップS408)。以上で物理ブロックを高速ディスクプール102に付け替える処理が完了する。
【0040】
図8は、図2で示したデータ書き込み手段202の動作を示すフローチャートである。データ書き込み手段202は、ホスト計算機10からの書き込み要求によって動作を開始すると、まず要求された論理ディスクを識別する論理ディスクID303aと、要求されたアドレスとデータサイズを元に、当該データ書き込み要求に対する論理ディスク上の対応するアドレス303bを算出し書き込み頻度テーブル303上に当該論理ディスクID303aとアドレス303bにおける書き込み判別情報303cを書き込み「有り」として記録して更新する(ステップS501)。
【0041】
続いてデータ書き込み手段202は要求されたデータをキャッシュメモリ140上に格納してホスト計算機10に応答を返却し(ステップS502)、論理ディスク割り当てテーブル301を参照して当該論理ディスク301aの当該アドレス301bに対して割り当てられている物理ブロックの格納プール識別情報301dおよび格納アドレス情報301eを取得し(ステップS503)、性能区分301cから、当該物理ブロックが高速ディスクプール102と低速ディスクプール112のいずれに割り当てられているかを判断する(ステップS504)。
【0042】
当該物理ブロックに割り当てられているのが高速ディスクプール102であれば、キャッシュメモリ140に格納されているデータをそのまま該物理ブロックに書き込んで(ステップS509)終了するが、低速ディスクプール112に割り当てられている場合は、ステップS505からの処理を実施して、該物理ブロックを高速ディスクプール102に付け替える。
【0043】
該物理ブロックを高速ディスクプール102に付け替える処理は、まず高速ディスクプール102内の未割り当ての物理ブロックを新規に割り当てる領域として確保し(ステップS505)、キャッシュメモリ140に格納されているデータを、ステップS505で確保された領域に書き込む(ステップS506)。
【0044】
そして、論理ディスク割り当てテーブル301において、当該論理ディスク301aの当該アドレス301bに対する割り当て領域として、新たに確保した高速ディスクプール102のIDとアドレスを格納プール識別情報301dおよび格納アドレス情報301eに記録して更新する(ステップS507)。最後に、低速ディスクプール112に割り当てられていた元の物理ブロックを未割り当て領域として解放する(ステップS508)。以上で物理ブロックを高速ディスクプール102に付け替える処理が完了する。
【0045】
以上の図7および図8に係る処理で、キャッシュメモリ140にデータを記憶させてホスト計算機10に応答を返却する処理は、従来のストレージ装置で通常行われている処理である。これに低速ディスクプール112から高速ディスクプール102へのデータ再配置についての処理を付加しただけであると言えるので、このデータ再配置に係るストレージ装置および物理ディスクに対する負荷はごく小さく済む。
【0046】
図9は、図2で示したデータ再配置手段203の動作を示すフローチャートである。データ再配置手段203は、タイマ(図示せず)などによって定期的に動作を開始すると、まず読み出し頻度テーブル302および書き込み頻度テーブル303を参照し(ステップS601)、ストレージ装置100上に存在する各々の論理ディスク120に割り当てられた各ブロックのアドレスについて調査を行う。
【0047】
データ再配置手段203は、タイマなどによって自身が動作する一周期以内に、一つの論理ディスクの一つのアドレスについてアクセス、つまり読み出し要求あるいは書き込み要求のうちのいずれかがされたか否かを確認する(ステップS602)。
【0048】
より具体的には、読み出し頻度テーブル302上で当該論理ディスクID302aとアドレス302bにおける読み出し判別情報302cが読み出し「有り」である、もしくは書き込み頻度テーブル303上で当該論理ディスクID303aとアドレス303bにおける書き込み判別情報303cが書き込み「有り」である場合に、当該論理ディスクの当該アドレスに対して過去にアクセスが存在していたと判断する。読み出し判別情報302cと書き込み判別情報303cのいずれも「無し」であった場合は、過去にアクセスが存在していないと判断する。
【0049】
ステップS602で過去にアクセスが存在していないと判断された場合は、無アクセス状況記録テーブル304で、当該論理ディスクID304aの当該アドレス304bにおける無アクセス頻度304cの値に1を加算して(ステップS603)、ステップS605に進む。
【0050】
一方、ステップS602で過去にアクセスが存在したと判断された場合は、当該論理ディスクID304aの当該アドレス304bにおける無アクセス頻度304cの値を「0」として、さらに読み出し頻度テーブル302の当該アドレスの読み出し判別情報302cを読み出し「無し」に、書き込み頻度テーブル303上の当該アドレスの書き込み判別情報303cも書き込み「無し」にそれぞれ変更して(ステップS604)、ステップS605に進む。
【0051】
つまり、データ再配置手段203が動作する一周期以内に図7で示したデータ読み出し手段201の動作が行われないと、読み出し判別情報302cは「無し」のままである。同様に、一周期以内に図8で示したデータ書き込み手段202の動作が行われないと、書き込み判別情報303cは「無し」のままである。これによって、ステップS602で示したアクセスの有無の判断が成立する。
【0052】
続いて、当該論理ディスクID304aの当該アドレス304bにおける無アクセス頻度304cの値が移動条件を満たしているか否かを判断する(ステップS605)。ここでいう移動条件とは、無アクセス頻度304cの値が特定の閾値を超えていることである。この閾値は、固定値として事前に設定してもよいし、また外部環境から変更可能な値としてもよい。移動条件が成立していない場合は、後述のステップS612に進む。
【0053】
ステップS605で移動条件が成立した場合は、データ再配置手段203は低速ディスクプール112上に、未割り当ての物理ブロックを新規に割り当てる領域として確保する(ステップS606)。続いて、当該論理ディスクID304aの当該アドレス304bに現在割り当てられている高速ディスクプール102上の物理ブロックに記録されているデータを読み出して、キャッシュメモリ140に格納する(ステップS607)。
【0054】
そしてデータ再配置手段203は、ステップS606で確保された低速ディスクプール112上の物理ブロックに、ステップS607でキャッシュメモリ140に格納されたデータを書き込む(ステップS608)。
【0055】
そして、論理ディスク割り当てテーブル301において、当該論理ディスク301aの当該アドレス301bに対する割り当て領域として、新たに確保した低速ディスクプール112のIDとアドレスを格納プール識別情報301dおよび格納アドレス情報301eに記録して更新する(ステップS609)。さらに、高速ディスクプール102に割り当てられていた元の物理ブロックを未割り当て領域として解放する(ステップS610)。
【0056】
最後に、当該論理ディスクID304aの当該アドレス304bにおける無アクセス頻度304cの値を「0」とする(ステップS611)。これによって、当該論理ディスクID304aの当該アドレス304bが低速ディスクプール112に割り当てられている場合は、次にデータ再配置手段203が動作する際には無アクセス頻度304c=「0」となるので、低速ディスクプール112に割り当てられている物理ブロックを低速ディスクプール112に移動させるという無意味な動作が生じることもない。
【0057】
以上で、特定の論理ディスクの特定のブロックにおいてデータ再配置に係る判断と処理が完了した。これをチェック対象となる全ての論理ディスクの全てのブロックについてチェックしたかどうかを確認し、未完了であれば次のブロックをチェック対象としてステップS601からの処理を継続する(ステップS612)。
【0058】
本実施の形態では、実際に読み書きが発生した論理ディスクの領域に対して、キャッシュメモリ140を利用して低速ディスクプール112から高速ディスクプール102へのデータ再配置を行うことにより、アクセス頻度の高い論理ディスクの領域を高速ディスクプール102に割り当てる。低速ディスクプール112から高速ディスクプール102へのデータ再配置はデータの読み書き処理の中で実施されるので、ストレージ装置および物理ディスクに対する負荷はごく小さく済む。
【0059】
そしてブロック毎にアクセス頻度を測定して、アクセス頻度の低いブロックを再配置対象と判定して高速ディスクプール102から低速ディスクプール112への再配置を実施することにより、アクセス頻度の低い論理ディスクの領域を低速ディスクプール112に割り当てる。これによって、アクセス頻度に応じて適切に高速ディスクプール102と低速ディスクプール112との間でデータを再配置することができる。
【0060】
低速ディスクプール112から高速ディスクプール102へのデータ再配置は前述のようにデータの読み書き処理の中で実施され、タイマなどによって定期的に実施されるルーチンとしては高速ディスクプール102から低速ディスクプール112への再配置の処理が加わるのみである。従って、この場合もストレージ装置および物理ディスクに対する負荷は小さく済む。
【0061】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【産業上の利用可能性】
【0062】
高速物理ディスクと低速物理ディスクとを複数組み合わせた装置において利用できる。ストレージ専用の装置でなくてもよい。
【符号の説明】
【0063】
10 ホスト計算機
100 ストレージ装置
101、101a、101b 高速物理ディスク
102 高速ディスクプール
103a、103b、113a、113b 物理ブロック
111、111a、111b 低速物理ディスク
112 低速ディスクプール
120 論理ディスク
130 ホストアダプタ
140 キャッシュメモリ
150 制御部
201 データ読み出し手段
202 データ書き込み手段
203 データ再配置手段
301 論理ディスク割り当てテーブル
302 論理ディスク読み出し頻度テーブル
303 論理ディスク書き込み頻度テーブル
304 無アクセス状況記録テーブル

【特許請求の範囲】
【請求項1】
単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、
前記第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、
データを一時的に保存するキャッシュメモリと、
前記第1のディスクプールおよび前記第2のディスクプール上の物理ブロックを論理ディスク上のアドレスに対応させる論理ディスク割当テーブルを使用してホスト計算機からの前記論理ディスクに対する読み出し要求および書き込み要求に対応して前記物理ブロックにデータを読み書きする制御部とを備え、
前記制御部が、前記論理ディスク上のアドレスに対する前記読み出し要求に対応して、第1の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存し、前記第1の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第2の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第1の物理ブロックを解放して前記論理ディスク割当テーブルを更新するデータ読み出し手段を含むことを特徴とするストレージ装置。
【請求項2】
前記制御部が、前記論理ディスク上のアドレスに対する前記書き込み要求に対応して、前記制御部は前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存し、前記論理ディスク上のアドレスに該当する第3の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第4の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第3の物理ブロックを解放して前記論理ディスク割当テーブルを更新するデータ書き込み手段を含むことを特徴とする、請求項1に記載のストレージ装置。
【請求項3】
前記データ読み出し手段が、前記読み出し要求に対応してデータの読み出しを行った前記論理ディスク上のアドレスに対してデータ読み出しの有った旨を、前記制御部があらかじめ備える読み出し頻度テーブルに記録し、
前記データ書き込み手段が、前記書き込み要求に対応してデータの書き込みを行った前記論理ディスク上のアドレスに対してデータ書き込みの有った旨を、前記制御部があらかじめ備える書き込み頻度テーブルに記録することを特徴とする、請求項2に記載のストレージ装置。
【請求項4】
前記制御部が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルを定期的に検査し、所定の間隔内に前記データ読み出しおよび前記データ書き込みのなかった前記論理ディスク上のアドレスに対して無アクセス頻度を前記制御部があらかじめ備える無アクセス頻度テーブルに記録するデータ再配置手段を含むことを特徴とする、請求項3に記載のストレージ装置。
【請求項5】
前記データ再配置手段が、前記第1のディスクプール上の第5の物理ブロックに割り当てられている前記論理ディスク上のアドレスにおける前記無アクセス頻度が所定の閾値を超える場合、前記第2のディスクプール上の第6の物理ブロックに前記第5の物理ブロック上のデータを書き込んだ後に前記第5の物理ブロックを解放して前記論理ディスク割当テーブルを更新して前記無アクセス頻度のデータを消去することを特徴とする、請求項4に記載のストレージ装置。
【請求項6】
前記データ再配置手段が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで、所定の間隔内に前記データ読み出しおよび前記データ書き込みのあった前記論理ディスク上のアドレスに対してデータ読み出しおよび書き込みの有った旨のデータを消去することを特徴とする、請求項4もしくは請求項5に記載のストレージ装置。
【請求項7】
単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、前記第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置でデータの再配置を行う方法であって、
ホスト計算機からの前記論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第1のディスクプールもしくは前記第2のディスクプール上の第1の物理ブロックを特定する第1の物理ブロック特定工程と、
前記第1の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存するデータ読み出し工程と、
前記第1の物理ブロックが前記第1のディスクプールと前記第2のディスクプールのうちいずれに存在するかを特定する第1のディスクプール特定工程と、
前記第1の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第2の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第1の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第1のデータ再配置工程と
を有することを特徴とするデータ再配置方法。
【請求項8】
前記ホスト計算機からの前記論理ディスク上のアドレスに対する書き込み要求を受け、前記論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第1のディスクプールもしくは前記第2のディスクプール上の第3の物理ブロックを特定する第2の物理ブロック特定工程と、
前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存するデータキャッシュ工程と、
前記第3の物理ブロックが前記第1のディスクプールと前記第2のディスクプールのうちいずれに存在するかを特定する第2のディスクプール特定工程と、
前記第3の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第4の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第3の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第2のデータ再配置工程と
を有することを特徴とする、請求項7に記載のデータ再配置方法。
【請求項9】
前記第1のデータ再配置工程が、前記読み出し要求に対応してデータの読み出しを行った前記論理ディスク上のアドレスに対してデータ読み出しの有った旨を、あらかじめ備えられた読み出し頻度テーブルに記録する読み出し頻度記録工程を含み、
前記第2のデータ再配置工程が、前記書き込み要求に対応してデータの書き込みを行った前記論理ディスク上のアドレスに対してデータ書き込みの有った旨を、あらかじめ備えられた書き込み頻度テーブルに記録する書き込み頻度記録工程を含むことを特徴とする、請求項8に記載のデータ再配置方法。
【請求項10】
前記読み出し頻度テーブルおよび前記書き込み頻度テーブルを定期的に検査する頻度検査工程と、
前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで所定の間隔内に前記データ読み出しおよび前記データ書き込みのなかった前記論理ディスク上のアドレスに対して無アクセス頻度をあらかじめ備えられた無アクセス頻度テーブルに記録する無アクセス頻度記録工程を有することを特徴とする、請求項9に記載のデータ再配置方法。
【請求項11】
前記無アクセス頻度テーブルを定期的に検査し、前記第1のディスクプールに割り当てられていてかつ前記無アクセス頻度が所定の閾値を超える前記論理ディスク上のアドレスに対応する第5の物理ブロックを検出する無アクセス検査工程と、
前記第2のディスクプール上の第6の物理ブロックに前記第5の物理ブロック上のデータを書き込んだ後に前記第5の物理ブロックを解放して前記論理ディスク割当テーブルを更新して前記無アクセス頻度のデータを消去する第3のデータ再配置工程を有することを特徴とする、請求項10に記載のデータ再配置方法。
【請求項12】
前記第3のデータ再配置工程が、前記読み出し頻度テーブルおよび前記書き込み頻度テーブルで、所定の間隔内に前記データ読み出しおよび前記データ書き込みのあった前記論理ディスク上のアドレスに対してデータ読み出しおよび書き込みの有った旨のデータを消去する頻度消去工程を含むことを特徴とする、請求項10もしくは請求項11に記載のデータ再配置方法。
【請求項13】
単数または複数の第1の物理ディスク装置を含む第1のディスクプールと、前記第1の物理ディスク装置よりもデータアクセス速度の低い第2の物理ディスク装置を単数または複数含む第2のディスクプールと、データを一時的に保存するキャッシュメモリとを有するストレージ装置を制御するコンピュータに、
ホスト計算機からの前記論理ディスク上のアドレスに対する読み出し要求を受け、あらかじめ備えられた論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第1のディスクプールもしくは前記第2のディスクプール上の第1の物理ブロックを特定する第1の物理ブロック特定処理と、
前記第1の物理ブロックからデータを読み出して前記キャッシュメモリ上に保存するデータ読み出し処理と、
前記第1の物理ブロックが前記第1のディスクプールと前記第2のディスクプールのうちいずれに存在するかを特定する第1のディスクプール特定処理と、
前記第1の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第2の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第1の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第1のデータ再配置処理と
を実行させることを特徴とするデータ再配置プログラム。
【請求項14】
前記ホスト計算機からの前記論理ディスク上のアドレスに対する書き込み要求を受け、前記論理ディスク割当テーブルによって、前記論理ディスク上のアドレスに対応する前記第1のディスクプールもしくは前記第2のディスクプール上の第3の物理ブロックを特定する第2の物理ブロック特定処理と、
前記ホスト計算機から受け取ったデータを前記キャッシュメモリ上に保存するデータキャッシュ処理と、
前記第3の物理ブロックが前記第1のディスクプールと前記第2のディスクプールのうちいずれに存在するかを特定する第2のディスクプール特定処理と、
前記第3の物理ブロックが前記第2のディスクプール上にある場合に、前記第1のディスクプール上の第4の物理ブロックに前記キャッシュメモリ上のデータを書き込んだ後に前記第3の物理ブロックを解放して前記論理ディスク割当テーブルを更新する第2のデータ再配置処理と
を実行させることを特徴とする、請求項13に記載のデータ再配置プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate