(57)【要約】【課題】階層化ディスクに対するデータブロックの再配置によるデータの断片化を抑止する。【解決手段】階層化ディスク１１を含むストレージ装置１０と、このストレージ装置１０にアクセスする情報処理装置２０とを備えたストレージシステム１において、ストレージ装置１０は、階層化ディスク１１に保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、情報処理装置２０に通知し、情報処理装置２０は、階層化ディスク１１へのアクセスを行なうアプリケーション２１１が用いるファイル毎のアクセス態様情報、および、ストレージ装置１０から通知された各ファイルのブロック情報に基づき、データブロックのアクセス態様を判断し、ストレージ装置１０は、情報処理装置２０において判断されたデータブロックのアクセス態様に基づく階層化ディスク１１に対するデータブロックの再配置を行なう。【選択図】図１
2014191398.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスクを有する階層化ディスクを含むストレージ装置と、前記ストレージ装置にアクセスする情報処理装置とを備えたストレージシステムにおいて、
前記ストレージ装置は、前記階層化ディスクに保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、前記情報処理装置に通知し、
前記情報処理装置は、前記階層化ディスクへのアクセスを行なうアプリケーションが用いるファイル毎のアクセス態様情報、および、前記ストレージ装置から通知された前記各ファイルの前記ブロック情報に基づき、前記データブロックのアクセス態様を判断し、
前記ストレージ装置は、前記情報処理装置において判断された前記データブロックのアクセス態様に基づく前記階層化ディスクに対する前記データブロックの再配置を行なう、ストレージ制御方法。
【請求項２】
前記情報処理装置は、前記データブロックに対するアクセス頻度を前記ストレージ装置から取得し、取得した前記アクセス頻度と、前記情報処理装置において判断された前記データブロックのアクセス態様とに基づき、前記階層化ディスクに対する前記データブロックの再配置の内容を決定し、当該内容に従った前記データブロックの再配置を前記ストレージ装置に指示し、
前記ストレージ装置は、前記情報処理装置から指示された前記データブロックの再配置を前記階層化ディスクに対し行なう、請求項１記載のストレージ制御方法。
【請求項３】
前記情報処理装置は、仮想デバイスによって、前記アプリケーションから入出力要求を受けると前記入出力要求の対象ファイルと前記対象ファイルのアクセス態様とを前記ファイル毎のアクセス態様情報として特定する、請求項１または請求項２に記載のストレージ制御方法。
【請求項４】
前記情報処理装置は、前記仮想デバイスによって特定された前記対象ファイルと前記対象ファイルのアクセス態様とを前記ファイル毎のアクセス態様情報としてテーブルに登録し、前記テーブルに登録された前記ファイル毎のアクセス態様情報と、前記ストレージ装置から通知された前記各ファイルの前記ブロック情報とに基づき、前記データブロックのアクセス態様を判断する、請求項３記載のストレージ制御方法。
【請求項５】
前記仮想デバイスは、前記アプリケーションが用いる前記ファイルのうち、前記テーブルに登録されていない前記対象ファイルについて前記アクセス態様を特定する、請求項４記載のストレージ制御方法。
【請求項６】
前記仮想デバイスは、前記アプリケーションによるアクセス開始後、所定期間だけ前記アクセス態様の特定を行なう、請求項３〜請求項５のいずれか一項に記載のストレージ制御方法。
【請求項７】
前記仮想デバイスは、前記入出力要求が前記対象ファイルの入出力位置をインデックスでシークするか否かを測定し、シークしない場合に前記対象ファイルのアクセス態様をシーケンシャルアクセスと判断する一方、シークする場合に前記対象ファイルのアクセス態様をランダムアクセスと判断する、請求項３〜請求項６のいずれか一項に記載のストレージ制御方法。
【請求項８】
複数のディスクを有する階層化ディスクを含むストレージ装置と、前記ストレージ装置にアクセスする情報処理装置とを備えたストレージシステムであって、
前記ストレージ装置は、
前記階層化ディスクに保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、前記情報処理装置に通知するディスク制御部を有し、
前記情報処理装置は、
前記階層化ディスクへのアクセスを行なうアプリケーションが用いるファイル毎のアクセス態様情報、および、前記ディスク制御部から通知された前記各ファイルの前記ブロック情報に基づき、前記データブロックのアクセス態様を判断する管理部を有し、
前記ストレージ装置の前記ディスク制御部は、前記管理部によって判断された前記データブロックのアクセス態様に基づき、前記階層化ディスクに対する前記データブロックの再配置を行なう、ストレージシステム。
【請求項９】
複数のディスクを有する階層化ディスクを含むストレージ装置と、前記ストレージ装置にアクセスする情報処理装置とを備えたストレージシステムに含まれるコンピュータに、
前記階層化ディスクに保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、前記ストレージ装置から前記情報処理装置に通知し、
前記情報処理装置において、前記階層化ディスクへのアクセスを行なうアプリケーションが用いるファイル毎のアクセス態様情報、および、前記ストレージ装置から通知された前記各ファイルの前記ブロック情報に基づき、前記データブロックのアクセス態様を判断し、
前記ストレージ装置において、前記情報処理装置において判断された前記データブロックのアクセス態様に基づく前記階層化ディスクに対する前記データブロックの再配置を行なう、
処理を実行させる、ストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御方法、ストレージシステム、およびストレージ制御プログラムに関する。
【背景技術】
【０００２】
ディスクアレイシステム等のストレージシステムで使用されるディスクドライブとしては、例えば、ＳＳＤ（Solid State Drive），ＳＡＳ（Serial Attached SCSI (Small Computer System Interface)）ディスク，ＳＡＴＡ（Serial Advanced Technology Attachment）ディスクの３種類が挙げられる。図９に示すように、これら３種類のうち、最も信頼性および性能が高いのはＳＳＤであり、２番目に信頼性および性能が高いのはＳＡＳディスクであり、３番目に信頼性および性能が高いのはＳＡＴＡディスクである。
【０００３】
このように異なる特性をもつ３種類のディスクを有する階層化ディスク（図９参照）を含むストレージ装置を、サーバが用いる場合、以下のようなストレージ階層化制御が行なわれる。つまり、階層化ディスクを用いる構成では、ディスク側において、アクセス頻度に基づき、再配置すべきデータブロックと、そのデータブロックの再配置先のディスクとが決定され、図９に示すように、当該データブロックの再配置が行なわれる。
【０００４】
例えば、ＳＳＤ上のファイルに含まれるデータブロックに対するアクセス頻度が低い場合、当該データブロックは、ＳＳＤからＳＡＳディスクへ移動されＳＡＳディスク上で再配置される。同様に、ＳＡＳディスク上のデータブロックに対するアクセス頻度が低い場合、当該データブロックは、ＳＡＳディスクからＳＡＴＡディスクへ移動されＳＡＴＡディスク上で再配置される。逆に、ＳＡＴＡディスク上のデータブロックに対するアクセス頻度が高くなった場合、当該データブロックは、ＳＡＴＡディスクからＳＡＳディスクへ移動されＳＡＳディスク上で再配置される。同様に、ＳＡＳディスク上のデータブロックに対するアクセス頻度が高くなった場合、当該データブロックは、ＳＡＳディスクからＳＳＤへ移動されＳＳＤ上で再配置される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−４０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＳＳＤ上におけるシーケンシャルアクセスのファイルに含まれるデータブロックの一部をＳＡＳディスク上で再配置した場合、当該ファイルを構成するデータブロックの配置状態は、シーケンシャルでなくなる。このため、ＳＡＳディスク上のデータブロックに対するシーケンシャルアクセスの性能は、ＳＳＤ上のデータブロックに対するアクセス性能と比べて劣化する。そして、当該ファイルの再配置の頻度が高くなると、当該ファイルのデータはより断片化し、ＳＡＳディスク上のデータブロックに対するシーケンシャルアクセスの性能は、より劣化する。
【０００７】
データの断片化を抑止すべく、ファイルに含まれるデータブロックに対するアクセス態様がシーケンシャルアクセスであるか否かを判別してデータブロックの再配置を行なうためには、階層化ディスクにアクセスするアプリケーション側の仕様に係るアクセス(Read/Write)層での情報が必要である。つまり、階層化ディスクを用いるサーバは、階層化ディスクが実際にどのようなアクセス態様でデータ配置を行なっているかに関する情報を有していない。このため、現状の階層化ディスクでは、シーケンシャルアクセスにおける性能劣化や、再配置によるデータの断片化等の悪影響が生じる。
【０００８】
一つの側面で、本発明は、階層化ディスクに対するデータブロックの再配置によるデータの断片化を抑止することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【０００９】
本件のストレージ制御方法は、複数のディスクを有する階層化ディスクを含むストレージ装置と、前記ストレージ装置にアクセスする情報処理装置とを備えたストレージシステムにおいて、前記ストレージ装置は、前記階層化ディスクに保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、前記情報処理装置に通知し、前記情報処理装置は、前記階層化ディスクへのアクセスを行なうアプリケーションが用いるファイル毎のアクセス態様情報、および、前記ストレージ装置から通知された前記各ファイルの前記ブロック情報に基づき、前記データブロックのアクセス態様を判断し、前記ストレージ装置は、前記情報処理装置において判断された前記データブロックのアクセス態様に基づく前記階層化ディスクに対する前記データブロックの再配置を行なう。
【発明の効果】
【００１０】
一実施形態によれば、階層化ディスクに対するデータブロックの再配置によるデータの断片化が抑止される。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のストレージシステムのハードウエア構成および機能構成を示すブロック図である。
【図２】図１に示すストレージシステムの機能や動作を概略的に説明する図である。
【図３】本実施形態のファイルアクセス態様テーブルの例を示す図である。
【図４】図１に示すストレージシステムの動作を説明するフローチャートである。
【図５】本実施形態における対象ファイルのアクセス態様の判断手順を説明するフローチャートである。
【図６】本実施形態におけるＳＳＤからＳＡＳディスクへの再配置手順を説明するフローチャートである。
【図７】図１に示すストレージシステムにおけるデータブロックの具体的な再配置例を示す図である。
【図８】図１に示すストレージシステムにおけるデータブロックの具体的な再配置例を示す図である。
【図９】階層化ディスクおよびストレージ階層化制御を説明する図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して実施の形態を説明する。
〔１〕本実施形態のストレージシステムの構成
図１は、本実施形態のストレージシステム１のハードウエア構成および機能構成を示すブロック図である。図１に示すように、ストレージシステム１は、ストレージ装置１０およびサーバ（情報処理装置）２０を有している。
【００１３】
ストレージ装置１０は、サーバ２０（アプリケーション２１１）によってアクセスされるとともにサーバ２０（管理部２１３）によって管理され、階層化ディスク１１，ＣＰＵ（Central Processing Unit）１２およびメモリ１３を有している。なお、図１では、ストレージ装置１０において論理ユニット１１０が図示されている。論理ユニット１１０は、ＬＵＮ（Logical Unit Number）によって特定されるもので、後述するアプリケーション２１１から見える一つの論理ディスクである。
【００１４】
階層化ディスク１１は、特性の異なる複数のディスクを有する。本実施形態の階層化ディスク１１では、図１に示すように、２種類のディスク、つまりＳＳＤ１１１およびＳＡＳディスク１１２が備えられている。なお、本発明は、これに限定されるものでなく、例えば図９を参照しながら前述したように、階層化ディスク１１が３種類のディスク、つまりＳＳＤ，ＳＡＳディスクおよびＳＡＴＡディスクを有する場合にも本実施形態と同様に適用される。
【００１５】
ここで、ＳＳＤは、ハードディスクのようにディスクをもたないので、読取装置（ヘッド）をディスク上で移動させる時間（シークタイム）や、目的のデータがヘッド位置まで回転してくるまでの待ち時間（サーチタイム）がない。このため、ＳＳＤでは、シーケンシャルアクセスのファイルに含まれるデータブロックが連続的に配置されていても断片化してランダムに配置されていても、アクセス性能に差異はない。
【００１６】
これに対し、ＳＡＳディスクやＳＡＴＡディスクでは、シーケンシャルアクセスのファイルに含まれるデータブロックが、断片化してランダムに配置されていると、連続的に配置されている場合に比べ、シークタイムやサーチタイムを要し、アクセス性能が低下する。
【００１７】
そこで、本実施形態では、少なくともシーケンシャルアクセスのデータブロックをＳＡＳディスクやＳＡＴＡディスク上で再配置する際に、再配置対象のデータブロックのアクセス態様がシーケンシャルアクセスであるか否かを考慮する。
【００１８】
このため、本実施形態では、ＳＳＤ１１１からＳＡＳディスク１１２への再配置を行なう場合、再配置対象のデータブロックのアクセス態様が判断され、判断されたアクセス態様に基づく再配置が実行される。なお、階層化ディスク１１が上述した３種類のディスクを有する場合、ＳＳＤからＳＡＳディスクへの再配置，ＳＡＳディスクからＳＡＴＡディスクへの再配置，ＳＡＴＡディスクからＳＡＳディスクへの再配置を行なう際に本実施形態のごとくアクセス態様に基づく再配置が実行される。また、ＳＡＳディスクからＳＳＤへの再配置を行なう場合、再配置対象のデータブロックのアクセス態様に基づく再配置が実行されてもよいし実行されなくてもよい。
【００１９】
ＣＰＵ（処理部，コンピュータ）１２は、メモリ１３に格納されたプログラムを読み出して実行することで、後述するディスク制御部１２１としての機能を果たす。なお、ディスク制御部１２１は、階層化ディスク１１の制御を行なうもので、図９を参照しながら前述したストレージ階層化制御の機能も果たす。
【００２０】
メモリ１３は、ＲＡＭ（Random Access Memory）等であり、ＣＰＵ１２が実行するプログラムを保存するほか、ストレージ装置１０においてＣＰＵ１２が処理（ディスク制御部１２１による制御処理等）を行なう際に必要となる各種データ等を保存する。
【００２１】
サーバ２０は、ＦＣ（Fibre Channel）／ｉＳＣＳＩを介しストレージ装置１０に接続され、ストレージ装置１０の階層化ディスク１１にアクセスする。また、サーバ２０は、ＬＡＮ（Local Area Network）を介しストレージ装置１０のディスク制御部１２１（ＣＰＵ１２）に接続され、ストレージ装置１０の管理を行なう。サーバ２０は、ＣＰＵ２１およびメモリ２２を有している。
【００２２】
ＣＰＵ２１は、メモリ２２に格納されたアプリケーション（アプリケーションプログラム）２１１を読み出して実行することで、ストレージ装置１０の階層化ディスク１１に対しＲ／Ｗ（Read/Write）命令（入出力要求）を発行する。なお、前述したように、アプリケーション２１１は、階層化ディスク１１を論理ディスク１１０として認識し、論理ディスク１１０に対しＲ／Ｗ命令を発行する。
【００２３】
また、ＣＰＵ２１は、メモリ２２に格納されたプログラムを読み出して実行することで、アプリケーション２１１とストレージ装置１０との間に、後述するアクセス態様特定部として機能する仮想ドライバ（仮想デバイス）２１２を構築する。
【００２４】
さらに、ＣＰＵ２１は、メモリ２２に格納されたプログラムを読み出して実行することで、後述するファイルアクセス態様テーブル２２１を作成し、当該テーブル２２１を用いて、後述する管理部２１３としての機能を果たす。
【００２５】
メモリ２２は、ＲＡＭ等であり、ＣＰＵ２１が実行するプログラムや、テーブル２２１を保存するほか、サーバ２０においてＣＰＵ２１が処理（アプリケーション２１１，仮想ドライバ２１２，管理部２１３による処理等）を行なう際に必要となる各種データ等を保存する。
【００２６】
なお、図１に示すストレージシステム１では、一つのサーバ２０が、アプリケーション２１１，仮想ドライバ２１２，管理部２１３およびテーブル２２１を備えているが、二つのサーバが、アプリケーション２１１，仮想ドライバ２１２，管理部２１３およびテーブル２２１を分けて備えてもよい。例えば、ストレージ装置１０にアクセスする業務サーバが、アプリケーション２１１および仮想ドライバ２１２を備え、管理サーバが、ＬＡＮを介して業務サーバおよびストレージ装置１０に接続され、管理部２１３およびテーブル２２１を備えてもよい。
【００２７】
以下、本実施形態のストレージシステム１におけるディスク制御部１２１，仮想ドライバ２１２および管理部２１３の具体的な機能について、図２を参照しながら説明する。併せて、サーバ２０のメモリ２２に保存されるファイルアクセス態様テーブル２２１の具体例について、図３を参照しながら説明する。なお、図２は、ストレージシステム１の機能や動作を概略的に説明する図、図３は、ファイルアクセス態様テーブル２２１の例を示す図である。
【００２８】
仮想ドライバ（仮想デバイス）２１２は、アプリケーション２１１から、ストレージ装置１０に対するＲ／Ｗ命令（入出力要求）を受けると、ファイル毎のアクセス態様情報を特定するアクセス態様特定部として機能する。アクセス態様情報は、ストレージ装置１０を利用するアプリケーション２１１を特定する情報（アプリケーション名等）と、Ｒ／Ｗ命令の対象ファイルを特定する情報（ファイル名等）と、当該対象ファイルのアクセス態様とを含む。仮想ドライバ２１２は、取得・特定したアクセス態様情報を管理部２１３に通知する（図２の矢印Ａ１参照）。
【００２９】
ここで、仮想ドライバ２１２は、以下のようにして、対象ファイルのアクセス態様がシーケンシャルアクセスであるかランダムアクセスであるかを特定する。つまり、仮想デバイス２１２は、Ｒ／Ｗ命令が対象ファイルのＲ／Ｗ位置（入出力位置）をインデックスでシークしているか否かを測定する。仮想デバイス２１２は、Ｒ／Ｗ命令がインデックスでシークしていない場合、即ち対象ファイルの先頭から読み込んでいる場合、対象ファイルのアクセス態様をシーケンシャルアクセスと判断する。一方、仮想デバイス２１２は、Ｒ／Ｗ命令がインデックスでシークしている場合に対象ファイルのアクセス態様をランダムアクセスと判断する。
【００３０】
なお、仮想ドライバ２１２は、アプリケーション２１１が用いるファイルのうち、テーブル２２１に登録されていない対象ファイルについてアクセス態様を特定する。また、仮想ドライバ２１２は、アプリケーション２１１によるアクセス開始後、所定時間の間、アクセス態様の特定を行なう。
【００３１】
ディスク制御部１２１は、階層化ディスク１１に保存されている各ファイルに含まれるデータブロックの記憶位置（物理位置）を含むブロック情報や、各データブロックに対するアクセス情報を取得し（図２の矢印Ａ２参照）、取得したブロック情報やアクセス情報をサーバ２０の管理部２１３に通知する（図２の矢印Ａ３参照）。ブロック情報には、アプリケーション２１１を特定する情報（アプリケーション名等）と、アプリケーション２１１が用いる対象ファイルを特定する情報（ファイル名等）と、当該対象ファイルに含まれるデータブロックが実際に存在する物理位置（つまりサーバ２０上のアプリケーション２１１が認識している論理ディスク１１０が存在する物理ストレージ）に関する情報とが含まれる。また、アクセス情報は、アプリケーション２１１による、各データブロックに対するアクセス頻度を含む。
【００３２】
管理部２１３は、仮想デバイス２１２から通知されたアクセス態様情報と、ディスク制御部１２１から通知されたブロック情報やアクセス情報とを、メモリ２２上のファイルアクセス態様テーブル２２１に登録する（図２の矢印Ａ４参照）。
【００３３】
ファイルアクセス態様テーブル２２１には、図３に示すように、仮想デバイス２１２から通知されたアクセス態様情報に基づき、アプリケーション２１１のアプリケーション名と、当該アプリケーションが用いる対象ファイルのファイル名と、仮想ドライブ２１２によって特定された対象ファイルのアクセス態様（シーケンシャルアクセスかランダムアクセスか）とが登録される。また、ファイルアクセス態様テーブル２２１には、図３に示すように、ディスク制御部１２１から通知されたブロック情報やアクセス情報が、アプリケーション名やファイル名によってアクセス態様情報に対応付けられて登録される。即ち、対象ファイルに含まれる各データブロックの記憶位置と、各データブロックに対するアクセス頻度とが登録される。図３では、一つのデータブロックの記憶位置およびアクセス頻度が示されているが、実際には、データブロック毎に記憶位置およびアクセス頻度が登録される。なお、図３において、アクセス頻度の単位は、１秒間当たりの読込み／書込み回数を示すＩＯＰＳ（Input/Output Per Second）である。
【００３４】
そして、管理部２１３は、テーブル２２１を参照し（図２の矢印Ａ５参照）、再配置すべきデータブロックを判断する。このとき、管理部２１３は、ＳＳＤ１１１に配置され且つアクセス頻度の低いデータブロックを、ＳＡＳディスク１１２に再配置すべきデータブロックであると判断する。一方、管理部２１３は、ＳＡＳディスク１１２に配置され且つアクセス頻度の高いデータブロックを、ＳＳＤ１１１に再配置すべきデータブロックであると判断する。また、管理部２１３は、テーブル２２１を参照し（図２の矢印Ａ５参照）、再配置対象のデータブロックのアクセス態様（シーケンシャルアクセスかランダムアクセスか）を判断する。つまり、管理部２１３は、アプリケーション２１１が用いるファイル毎のアクセス態様情報、および、ディスク制御部１２１から通知された各ファイルのブロック情報に基づき、データブロックのアクセス態様を判断する。
【００３５】
また、管理部２１３は、アクセス頻度に基づき判断された再配置対象のデータブロックについてのブロック情報（記憶位置）と、管理部２１３によって判断された再配置対象のデータブロックのアクセス態様とに基づき、後述するごとく、階層化ディスク１１に対する再配置の内容を決定する。管理部２１３は、決定された再配置の内容に従ったデータブロックの再配置を行なうように、ストレージ装置１０のディスク制御部１２１に対し指示する（図２の矢印Ａ６参照）。
【００３６】
ストレージ装置１０のディスク制御部１２１は、管理部２１３から指示されたデータブロックの再配置を階層化ディスク１１に対し行なう。
【００３７】
このとき、本実施形態のストレージシステム１では、ＳＳＤ１１１からＳＡＳディスク１１２へデータブロックを再配置する場合、項目(A1)〜(A4)を参照しながら後述するように、管理部２１３によって再配置の内容が決定され、ディスク制御部１２１によって再配置対象のデータブロックの再配置が実行される。なお、管理部２１３による再配置の内容の具体的な決定手法等については後述する。また、ディスク制御部１２１による具体的な再配置例については、図７および図８を参照しながら後述する。
【００３８】
〔２〕本実施形態のストレージシステムの動作
ストレージ装置１０においては、ディスク制御部１２１のストレージ階層化制御の機能によって、データブロック単位でデータ領域へのアクセス情報（アクセス頻度）が測定される。ディスク制御部１２１のストレージ階層化制御の機能によってデータブロック単位で測定されたデータでは、各データブロック内のデータがどのようなアクセス態様（シーケンシャルアクセスかランダムアクセスか）をもつかは不明であった。本実施形態では、ディスク制御部１２１によって得られるブロック情報と、サーバ２０上で仮想ドライバ２１２によって得られるアクセス態様情報とを対応付けることによって、各ファイルを構成するデータブロックのアクセス態様の判断が可能になる。
【００３９】
そして、シーケンシャルアクセスと判断されたデータブロックは、ファイルを構成するデータブロックの連続性が保たれるように再配置される。シーケンシャルアクセスのファイルを構成するデータブロックがＳＳＤ１１１およびＳＡＳディスク１１２の両方に分かれて存在する場合、連続的な再配置を容易に行なえるようデータブロックの前後に空き領域が設けられる。しかし、ＳＡＳディスク１１２に再配置されたデータブロックの前後を単純に空き領域とした場合、ＳＡＳディスク１１２の利用効率が低下する。そこで、管理部２１３は、前後のデータブロックが再配置されるか否かを再配置の頻度から予測し、再配置される可能性が高い場合に、再配置されたデータブロックの前後を空き領域とするようにしてもよい。
【００４０】
以下、本実施形態のストレージシステム１の動作について、図４〜図８を参照しながら説明する。
【００４１】
〔２−１〕ストレージシステムの動作
図４に示すフローチャート（ステップＳ１〜Ｓ９）に従って、ストレージシステム１の動作について説明する。
【００４２】
上述したように、ディスク制御部１２１のストレージ階層化制御機能では、各データブロックに対するアクセス頻度を測定することは可能であるが、各データブロックのアクセス態様を判断することはできなかった。そこで、本実施形態のストレージシステム１においては、サーバ２０上に仮想ドライバ２１２が構築され、仮想ドライバ２１２とディスク制御部１２１のストレージ階層化制御機能とを管理部２１３により連携させることで、各データブロックのアクセス態様の判断が可能になっている。
【００４３】
サーバ２０において、アプリケーション２１１が対象ファイルへＲ／Ｗ命令を発行し、仮想ドライバ２１２がＲ／Ｗ命令を受けると（ステップＳ１のＹＥＳルート）、仮想ドライバ２１２は、管理部２１３を介してメモリ２２のファイルアクセス態様テーブル２２１を参照する。そして、仮想ドライバ２１２は、今回Ｒ／Ｗ命令を発行したアプリケーション２１１のアプリケーション名、および、当該アプリケーション２１１によってアクセスされる対象ファイルのファイル名が、ファイルアクセス態様テーブル２２１に登録されているか否かを判断する（ステップＳ２）。
【００４４】
アプリケーション名およびファイル名の両方が登録されている場合（ステップＳ２のＹＥＳルート）、ストレージシステム１は、ステップＳ３，Ｓ４の処理をスキップし、ステップＳ５の処理に移行する。一方、アプリケーション名およびファイル名の少なくとも一方が登録されていない場合（ステップＳ２のＮＯルート）、仮想ドライバ２１２は、アプリケーション２１１のアプリケーション名と、対象ファイルのファイル名と、当該対象ファイルのアクセス態様とを測定・取得する（ステップＳ３）。ステップＳ３におけるアクセス態様の判断手順については、図５を参照しながら後述する。
【００４５】
そして、仮想ドライバ２１２は、取得したアプリケーション名，ファイル名およびアクセス態様を、管理部２１３に通知し（図２の矢印Ａ１参照）、管理部２１３経由でファイルアクセス態様テーブル２２１に登録する（ステップＳ４；図２の矢印Ａ４参照）。なお、テーブル２２１において、アプリケーション名が登録されているが、ファイル名が登録されていない場合、仮想ドライバ２１２は、ファイル名とアクセス態様とを管理部２１３に通知する。
【００４６】
この後、ステップＳ５において、ディスク制御部１２１は、アプリケーション２１１がアクセスしている対象ファイルのデータブロックの記憶位置（物理位置）を含むブロック情報や、当該データブロックに対するアクセス情報（アクセス情報）を取得する（ステップＳ５；図２の矢印Ａ２参照）。
【００４７】
ディスク制御部１２１は、取得したブロック情報やアクセス情報をサーバ２０の管理部２１３に通知し（図２の矢印Ａ３参照）、管理部２１３経由でファイルアクセス態様テーブル２２１に登録する（ステップＳ６；図２の矢印Ａ４参照）。このとき、前述した通り、ディスク制御部１２１から通知された記憶位置やアクセス頻度が、アプリケーション名やファイル名によってアクセス態様情報に対応付けられて登録される。メモリ２２に保存されるファイルアクセス態様テーブル２２１は、アクセス頻度等の評価を繰り返すことで更新され、管理部２１３は、以下のように、更新されたテーブル２２１に基づき、ディスク制御部に対し、データブロックの再配置の指示を行なう。
【００４８】
つまり、管理部２１３は、ファイルアクセス態様テーブル２２１を参照し（図２の矢印Ａ５参照）、再配置すべきデータブロックを判断する（ステップＳ７）。このとき、管理部２１３は、ＳＳＤ１１１に配置され且つアクセス頻度の低いデータブロックを、ＳＡＳディスク１１２に再配置すべきデータブロックであると判断する。一方、管理部２１３は、ＳＡＳディスク１１２に配置され且つアクセス頻度の高いデータブロックを、ＳＳＤ１１１に再配置すべきデータブロックであると判断する。また、管理部２１３は、テーブル２２１を参照し（図２の矢印Ａ５参照）、再配置対象のデータブロックのアクセス態様（シーケンシャルアクセスかランダムアクセスか）を判断する。
【００４９】
また、管理部２１３は、アクセス頻度に基づき判断された再配置対象のデータブロックについてのブロック情報（記憶位置）と、管理部２１３によって判断された再配置対象のデータブロックのアクセス態様とに基づき、階層化ディスク１１に対する再配置の内容を決定する。つまり、管理部２１３は、テーブル２２１を参照して再配置対象のデータブロックの記憶位置を把握する。記憶位置を把握した結果、ＳＡＳディスク１１２に配置すべきデータブロックがＳＳＤ１１１上に配置されている場合、管理部２１３は、ＳＡＳディスク１１２に再配置対象のデータブロックを再配置するよう再配置の内容を決定する。また、記憶位置を把握した結果、ＳＳＤ１１１に配置すべきデータブロックがＳＡＳディスク１１２上に配置されている場合、管理部２１３は、ＳＳＤ１１１に再配置対象のデータブロックを再配置するよう再配置の内容を決定する。一方、記憶位置を把握した結果、ＳＳＤ１１１に再配置すべきデータブロックが既にＳＳＤ１１１に配置されている場合、管理部２１３は、再配置対象のデータブロックについては現状の配置状態を維持する。同様に、記憶位置を把握した結果、ＳＡＳディスク１１２に再配置すべきデータブロックが既にＳＡＳディスク１１２に配置されている場合、管理部２１３は、再配置対象のデータブロックについては現状の配置状態を維持する。
【００５０】
管理部２１３は、上述のごとく決定された再配置の内容に従ったデータブロックの再配置を行なうように、ストレージ装置１０のディスク制御部１２１に対し指示する（ステップＳ８；図２の矢印Ａ６参照）。
【００５１】
そして、ストレージ装置１０のディスク制御部１２１は、管理部２１３から指示されたデータブロックの再配置の内容に従って、階層化ディスク１１におけるデータブロックの再配置を行なう（ステップＳ９）。
【００５２】
〔２−２〕アクセス態様の判断手順
図２のステップＳ３において、仮想ドライバ２１２は、以下のように、図５に示す手順で対象ファイルのアクセス態様を判断する。図５は、本実施形態における対象ファイルのアクセス態様（アクセス特性）の判断手順を説明するフローチャート（ステップＳ１１〜Ｓ１３）である。
【００５３】
つまり、仮想デバイス２１２は、Ｒ／Ｗ命令が対象ファイルのＲ／Ｗ位置をインデックスでシークしているか否かを測定する（ステップＳ１１）。そして、仮想デバイス２１２は、Ｒ／Ｗ命令がインデックスでシークしていない場合、即ち対象ファイルの先頭から読み込んでいる場合（ステップＳ１１のＮＯルート）、対象ファイルのアクセス態様をシーケンシャルアクセスと判断する（ステップＳ１２）。一方、仮想デバイス２１２は、Ｒ／Ｗ命令がインデックスでシークしている場合（ステップＳ１１のＹＥＳルート）、対象ファイルのアクセス態様をランダムアクセスと判断する（ステップＳ１３）。
【００５４】
〔２−３〕再配置手順
次に、図６に示すフローチャート（ステップＳ２１〜Ｓ２６）に従って、本実施形態におけるＳＳＤ１１１からＳＡＳディスク１１２への再配置手順（図４のステップＳ７〜Ｓ９の処理）について、より具体的に説明する。
【００５５】
まず、管理部２１３は、ファイルアクセス態様テーブル２２１を参照し、アプリケーション２１１がアクセスした対象ファイルのデータブロックのＩ／Ｏ特性（アクセス情報／アクセス頻度）を評価する（ステップＳ２１）。これにより、管理部２１３は、ＳＳＤ１１１に配置され且つアクセス頻度の低いデータブロックを、ＳＡＳディスク１１２に再配置すべきデータブロックであると判断する。
【００５６】
また、管理部２１３は、ファイルアクセス態様テーブル２２１を参照し、再配置対象のデータブロックのアクセス態様がシーケンシャルアクセスであるかランダムアクセスであるかについて判断する（ステップＳ２２）。
【００５７】
さらに、管理部２１３は、再配置対象のデータブロックに関する情報（データブロックの記憶位置）とデータブロックのアクセス態様とに基づき、図４のステップＳ８と同様にして、階層化ディスク１１に対する再配置の内容を決定する。そして、管理部２１３は、決定した再配置の内容に従って、再配置対象のデータブロックをＳＳＤ１１１からＳＡＳディスク１１２へ移動（再配置）する際のデータ配置を、マッピング情報としてメモリ２２に保持させる（ステップＳ２３）。
【００５８】
この後、管理部２１３は、予め定めた評価期間が経過したか否かを判断し（ステップＳ２４）、評価期間が経過していない場合（ステップＳ２４のＮＯルート）、管理部２１３は、上述したステップＳ２１〜Ｓ２４の処理を繰り返し実行する。その際、管理部２１３は、図４のステップＳ１〜Ｓ４の処理によって更新されたファイルアクセス態様テーブル２２１を参照する。
【００５９】
一方、評価期間が経過した場合（ステップＳ２４のＹＥＳルート）、管理部２１３は、メモリ２２に保持されているマッピング情報に基づき、ディスク制御部１２１に対しデータブロックの再配置を指示する（ステップＳ２５）。そして、ディスク制御部１２１は、管理部２１３から指示された再配置の内容に従って、再配置対象のデータブロックを、ＳＳＤ１１１からＳＡＳディスク１１２へ移行（再配置）する（ステップＳ２６）。
【００６０】
なお、管理部２１３は、ＳＡＳディスク１１２に配置され且つアクセス頻度の高いデータブロックを、ＳＳＤ１１１に再配置すべきデータブロックであると判断する。上述した通り、ＳＳＤ１１１では、シーケンシャルアクセスのファイルに含まれるデータブロックが連続的に配置されていても断片化してランダムに配置されていても、アクセス性能に差異はない。このため、ＳＡＳディスク１１２からＳＳＤ１１１への再配置を行なう場合、管理部２１３は、再配置対象のデータブロックのアクセス態様を判断することなく、再配置対象のデータブロックを、ＳＳＤ１１１の適当な空き領域に再配置するよう、ディスク制御部１２１に指示する。ディスク制御部１２１は、このような管理部２１３からの指示に従い、ＳＡＳディスク１１２上の再配置対象のデータブロックをＳＳＤ１１１の適当な空き領域に再配置する。
【００６１】
〔２−４〕データブロックの再配置内容の決定手法
次に、管理部２１３による、図４のステップＳ８や図６のステップＳ２３における再配置内容の決定手法について説明する。ここでは、特に、シーケンシャルアクセスと判断されたデータブロックを、連続性を保ちながら再配置するための再配置内容の決定手法が説明される。なお、以下では、アクセス態様がシーケンシャルアクセスであるファイルをシーケンシャルファイルといい、アクセス態様がランダムアクセスであるファイルをランダムファイルという。
【００６２】
まず、本実施形態のストレージシステム１における再配置内容の決定手法を概略的に説明すると、以下の通りである。シーケンシャルファイルを構成するデータブロックの再配置に際し、管理部２１３は、仮想ドライバ２１２で取得した情報に基づき、データブロックがシーケンシャルな並びになるように再配置内容を決定する。ただし、ファイルを構成する一部のデータブロックが移動し、ファイル全体が連続的に再配置されない場合、管理部２１３は、連続的に再配置された一部のデータブロックの前後に空き領域を配置する。これにより、その後、再配置が実行された際に、管理部２１３は、空き領域を用いて前後のデータブロックを連続的に配置することが可能になる。一方、ランダムファイルを構成するデータブロックの再配置に際し、管理部２１３は、シーケンシャルファイルのデータブロックの領域や、前記空き領域を避けた領域に、ランダムファイルのデータブロックを再配置するように再配置内容を決定する。また、管理部２１３は、シーケンシャルファイルの再配置に際し部分的データブロックの前後に設けた空き領域を、以下のような場合に解放してもよい。つまり、管理部２１３は、ランダムファイルの再配置の契機でディスク制御部１２１のストレージ階層化制御機能によりアクセス頻度評価を再度実施する。そして、その評価結果が変わらない場合、管理部２１３は、空き領域に対しシーケンシャルファイルのデータブロックが再配置されないと判断して、空き領域を解放し、ランダムファイルのデータブロックを再配置を可能にする。なお、前述したように、再配置されたデータブロックの前後を単純に空き領域とした場合、ディスクの利用効率が低下する。そこで、管理部２１３は、前後のデータブロックが再配置されるか否かを再配置の頻度から予測し、再配置される可能性が高い場合に、再配置されたデータブロックの前後を空き領域とするようにしてもよい。
【００６３】
本実施形態のストレージシステム１では、ＳＳＤ１１１からＳＡＳディスク１１２へデータブロックを再配置する場合、以下の項目(A1)〜(A4)のように、管理部２１３によって再配置の内容が決定され、ディスク制御部１２１によって再配置対象のデータブロックの再配置が実行される。
【００６４】
(A1)再配置対象のデータブロックのアクセス態様がシーケンシャルアクセスである場合、且つ、データブロックが再配置されるＳＡＳディスク１１２上に、連続する複数のデータブロックが存在する場合：  管理部２１３は、ＳＡＳディスク１１２上に前記連続する複数のデータブロックを連続的に再配置するよう再配置内容を決定しディスク制御部１２１に対し指示する。これにより、ディスク制御部１２１は、ストレージ装置１０の階層化ディスク１１において、ＳＡＳディスク１１２上に前記連続する複数のデータブロックを連続的に再配置する。
【００６５】
(A2)再配置対象のデータブロックのアクセス態様がシーケンシャルアクセスである場合、且つ、データブロックが再配置されるＳＡＳディスク１１２上に、当該データブロックの前側または後側に続く他のデータブロックが存在しない場合：  管理部２１３は、ＳＡＳディスク１１２上に再配置された当該データブロックの前側または後側に、前記他のデータブロック用の空き領域を設けるよう再配置内容を決定しディスク制御部１２１に対し指示する。これにより、ディスク制御部１２１は、ストレージ装置１０の階層化ディスク１１において、ＳＡＳディスク１１２上に再配置された当該データブロックの前側または後側に、他のデータブロック用の空き領域を設ける。
【００６６】
(A3)空き領域を設けた後、所定期間が経過しても、または、データブロックの再配置処理を所定回数行なっても、空き領域に前記他のデータブロックが再配置されない場合：  管理部２１３は、当該空き領域を解放し、当該空き領域に前記他のデータブロック以外のデータブロックを再配置するよう再配置内容を決定しディスク制御部１２１に対し指示する。これにより、ディスク制御部１２１は、当該空き領域に前記他のデータブロック以外のデータブロックを再配置する。
【００６７】
(A4)再配置対象のデータブロックのアクセス態様がランダムアクセスである場合：  管理部２１３は、当該データブロックを、アクセス態様がシーケンシャルアクセスであるデータブロックの配置状態に応じて再配置するよう再配置内容を決定しディスク制御部１２１に対し指示する。これにより、ディスク制御部１２１は、シーケンシャルアクセスのデータブロックの領域や、前記空き領域を考慮し、これらのシーケンシャルアクセスのデータブロックの領域や、前記空き領域を避けた領域において、ランダムアクセスのデータブロックを再配置する。
【００６８】
次に、図７および図８を参照しながら、ディスク制御部１２１による具体的な再配置例について説明する。図７および図８は、ストレージシステム１におけるデータブロックの具体的な再配置例を示す図である。図７および図８において、４個のブロックＳ１〜Ｓ４は、シーケンシャルファイルＡを構成する、シーケンシャルなデータブロックを示し、この順で連続的に配置されるべき４個のデータブロックＳ１〜Ｓ４によって一つのシーケンシャルファイルＡが構成されている。また、「空」を付されたブロックは、データブロック１個分の容量を有する空き領域を示している。
【００６９】
図７では、ＳＳＤ１１１上に配置されたシーケンシャルファイルに含まれる４個のデータブロックＳ１〜Ｓ４と、ＳＳＤ１１１上に配置されたランダムファイルに含まれる４個のデータブロックＲとが、ＳＡＳディスク１１２で再配置される場合が示されている。この場合、管理部２１３において各データブロックのアクセス態様がシーケンシャルアクセスかランダムアクセスかが判断された上で、ＳＳＤ１１１からＳＡＳディスク１１２へのデータブロックのデフラグ再配置が実行される。つまり、シーケンシャルファイルに含まれる４個のデータブロックＳ１〜Ｓ４は、ＳＡＳディスク１１２上において、シーケンシャルな並びになるように再配置される。そして、ランダムファイルに含まれる４個のデータブロックＲは、ＳＡＳディスク１１２上において、データブロックＳ１〜Ｓ４の配置領域以外の適当な空き領域に再配置される。
【００７０】
図８の上段のＳＡＳディスク１１２では、図７の例と同様、ＳＳＤ１１上のファイルＡおよびファイルＢに含まれる全てのデータブロックが、移動対象（再配置対象）であり、ＳＡＳディスク１１２で再配置される場合が示されている。この場合は、図７と同様の再配置が実行される。
【００７１】
図８の下段のＳＡＳディスク１１２では、ＳＳＤ１１上のファイルＡおよびファイルＢに含まれるデータブロックの一部が、移動対象（再配置対象）であり、ＳＡＳディスク１１２で再配置される場合が示されている。ここでは、シーケンシャルファイルＡに含まれる２個のデータブロックＳ３，Ｓ４と、ランダムファイルＢに含まれる２個のデータブロックＲとが、移動対象（再配置対象）であり、ＳＡＳディスク１１２で再配置される場合が示されている。この場合も、管理部２１３において各データブロックのアクセス態様がシーケンシャルアクセスかランダムアクセスかが判断された上で、ＳＳＤ１１１からＳＡＳディスク１１２へのデータブロックのデフラグ再配置が実行される。つまり、シーケンシャルファイルに含まれる２個のデータブロックＳ３，Ｓ４は、ＳＡＳディスク１１２上において、シーケンシャルな並びになるように再配置される。さらに、データブロックＳ３，Ｓ４の前側には、以降の再配置処理で連続するデータブロックＳ１，Ｓ２が再配置される可能性があるので、データブロック２個分の空き領域が設けられる。そして、ランダムファイルに含まれる２個のデータブロックＲは、ＳＡＳディスク１１２上において、データブロックＳ３，Ｓ４の配置領域と、データブロックＳ３，Ｓ４の前側に設けたデータブロック２個分の空き領域とを除く、適当な空き領域に再配置される。
【００７２】
〔３〕本実施形態のストレージシステム１によれば、以下のような作用効果を得ることができる。
【００７３】
ディスク制御部１２１によって得られるブロック情報と、サーバ２０上で仮想ドライバ２１２によって得られるアクセス態様情報とを対応付けることによって、各ファイルを構成するデータブロックのアクセス態様の判断が可能になる。これにより、データブロックのアクセス態様の判断結果に基づきデータブロックの再配置を行なうことができるので、ＳＳＤ１１１からＳＡＳディスク１１２へ移動したデータについて、シーケンシャルアクセスにおける性能劣化を回避することができる。また、階層化ディスクに対するデータブロックの再配置によるデータの断片化が抑止され、断片化等の悪影響を回避することができる。
【００７４】
また、アプリケーション２１１が用いる対象ファイルごとのアクセス態様が、仮想ドライバ２１２によって判断される。これにより、ＯＳ（Operating System）に近い部分で、ファイルごとに、アクセス態様が、ランダムアクセスであるのか、シーケンシャルアクセスであるのかを確実に判別することができる。ただし、アクセス態様を判断するために仮想ドライバ２１２を単純に用いると、アクセス速度の低下を招く虞がある。そこで、仮想ドライバ２１２は、アプリケーション２１１によるアクセス開始後、所定時間の間だけ、アクセス態様の測定を行ない、所定時間経過後はアクセス態様の測定を行なわないようにする。これにより、アクセス速度の低下を回避することができる。
【００７５】
さらに、仮想ドライバ２１２は、ファイルアクセス態様テーブル２２１に登録されていないファイルのアクセス態様についてのみ、アクセス態様情報を収集する。これにより、ディスクアクセスに対する負荷を増やすことなく、階層化ディスク１１でのブロック配置を最適化することができる。
【００７６】
また、シーケンシャルファイルを構成するデータブロックがＳＳＤ１１１およびＳＡＳディスク１１２の両方に分かれて存在する場合、データブロックの前後に空き領域を設けることで、連続的な再配置を容易に行なうことができる。
【００７７】
このとき、管理部２１３は、前後のデータブロックが再配置されるか否かを再配置の頻度から予測し、再配置される可能性が高い場合に、再配置されたデータブロックの前後に空き領域を設定する。これにより、ＳＡＳディスク１１２の利用効率の低下を招くことなく、ＳＡＳディスク１１２に再配置されたデータブロックの前後に空き領域を設定することができる。
【００７８】
再配置されたデータブロックの前後に空き領域を設けた後、所定期間が経過しても、または、データブロックの再配置処理を所定回数行なっても、空き領域に、連続する他のデータブロックが再配置されない場合、管理部２１３は、当該空き領域を解放する。これにより、管理部２１３は、当該空き領域にデータブロックを再配置することでき、ＳＡＳディスク１１２の領域を有効に利用することが可能になる。
【００７９】
〔４〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【００８０】
なお、本実施形態では、一つのストレージ装置１０に対し一つのサーバ２０を備えた場合について説明したが、ストレージシステム１は、ストレージ装置１０に対し複数のサーバがアクセスするように構成されてもよい。この場合、複数のサーバのうちの少なくとも一つが上述したサーバ２０として機能するように構成し、サーバ２０によって得られる各種情報を前記複数のサーバの間で連携させることで、一つのサーバ２０によって複数のサーバにおいて上述した実施形態と同様の作用効果を得ることができる。
【００８１】
上述したディスク制御部１２１，仮想ドライバ２１２および管理部２１３としての機能の全部もしくは一部は、コピー処理部２４として機能するコンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のプログラム（ストレージ制御プログラム）を実行することによって実現される。
【００８２】
また、上記アプリケーションプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【００８３】
ここで、コンピュータとは、ハードウエアとＯＳとを含む概念であり、ＯＳの制御の下で動作するハードウエアを意味している。また、ＯＳが不要でプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記プログラムは、上述のようなコンピュータに、ディスク制御部１２１，仮想ドライバ２１２および管理部２１３としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、プログラムではなくＯＳによって実現されてもよい。
【００８４】
〔５〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【００８５】
（付記１）
複数のディスクを有する階層化ディスクを含むストレージ装置と、前記ストレージ装置にアクセスする情報処理装置とを備えたストレージシステムにおいて、
前記ストレージ装置は、前記階層化ディスクに保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、前記情報処理装置に通知し、
前記情報処理装置は、前記階層化ディスクへのアクセスを行なうアプリケーションが用いるファイル毎のアクセス態様情報、および、前記ストレージ装置から通知された前記各ファイルの前記ブロック情報に基づき、前記データブロックのアクセス態様を判断し、
前記ストレージ装置は、前記情報処理装置において判断された前記データブロックのアクセス態様に基づく前記階層化ディスクに対する前記データブロックの再配置を行なう、ストレージ制御方法。
【００８６】
（付記２）
前記情報処理装置は、前記データブロックに対するアクセス頻度を前記ストレージ装置から取得し、取得した前記アクセス頻度と、前記情報処理装置において判断された前記データブロックのアクセス態様とに基づき、前記階層化ディスクに対する前記データブロックの再配置の内容を決定し、当該内容に従った前記データブロックの再配置を前記ストレージ装置に指示し、
前記ストレージ装置は、前記情報処理装置から指示された前記データブロックの再配置を前記階層化ディスクに対し行なう、付記１記載のストレージ制御方法。
【００８７】
（付記３）
前記情報処理装置は、仮想デバイスによって、前記アプリケーションから入出力要求を受けると前記入出力要求の対象ファイルと前記対象ファイルのアクセス態様とを前記ファイル毎のアクセス態様情報として特定する、付記１または付記２に記載のストレージ制御方法。
【００８８】
（付記４）
前記情報処理装置は、前記仮想デバイスによって特定された前記対象ファイルと前記対象ファイルのアクセス態様とを前記ファイル毎のアクセス態様情報としてテーブルに登録し、前記テーブルに登録された前記ファイル毎のアクセス態様情報と、前記ストレージ装置から通知された前記各ファイルの前記ブロック情報とに基づき、前記データブロックのアクセス態様を判断する、付記３記載のストレージ制御方法。
【００８９】
（付記５）
前記仮想デバイスは、前記アプリケーションが用いる前記ファイルのうち、前記テーブルに登録されていない前記対象ファイルについて前記アクセス態様を特定する、付記４記載のストレージ制御方法。
【００９０】
（付記６）
前記仮想デバイスは、前記アプリケーションによるアクセス開始後、所定期間だけ前記アクセス態様の特定を行なう、付記３〜付記５のいずれか一項に記載のストレージ制御方法。
【００９１】
（付記７）
前記仮想デバイスは、前記入出力要求が前記対象ファイルの入出力位置をインデックスでシークするか否かを測定し、シークしない場合に前記対象ファイルのアクセス態様をシーケンシャルアクセスと判断する一方、シークする場合に前記対象ファイルのアクセス態様をランダムアクセスと判断する、付記３〜付記６のいずれか一項に記載のストレージ制御方法。
【００９２】
（付記８）
前記ストレージ装置は、前記データブロックのアクセス態様がシーケンシャルアクセスである場合、且つ、前記データブロックが再配置される前記複数のディスクのうちの一のディスク上に、連続する複数の前記データブロックが存在する場合、前記一のディスク上に複数の前記データブロックを連続的に再配置する、付記７記載のストレージ制御方法。
【００９３】
（付記９）
前記ストレージ装置は、前記データブロックのアクセス態様がシーケンシャルアクセスである場合、且つ、前記データブロックが再配置される前記複数のディスクのうちの一のディスク上に、前記データブロックの前側または後側に続く他のデータブロックが存在しない場合、前記一のディスク上に再配置された前記データブロックの前側または後側に、前記他のデータブロック用の空き領域を設ける、付記７または付記８に記載のストレージ制御方法。
【００９４】
（付記１０）
前記ストレージ装置は、前記空き領域を設けた後、所定期間が経過しても、または、前記データブロックの再配置を所定回数行なっても、前記空き領域に前記他のデータブロックが再配置されない場合、前記空き領域を解放する、付記９記載のストレージ制御方法。
【００９５】
（付記１１）
前記ストレージ装置は、アクセス態様がランダムアクセスであるデータブロックを、アクセス態様がシーケンシャルアクセスであるデータブロックの配置状態に応じて再配置する、付記８〜付記１０のいずれか一項に記載のストレージ制御方法。
【００９６】
（付記１２）
複数の情報処理装置が前記ストレージ装置にアクセスする場合、前記複数の情報処理装置のうちの少なくとも一つを前記情報処理装置として機能させる、付記１〜付記１１のいずれか一項に記載のストレージ制御方法。
【００９７】
（付記１３）
複数のディスクを有する階層化ディスクを含むストレージ装置と、前記ストレージ装置にアクセスする情報処理装置とを備えたストレージシステムであって、
前記ストレージ装置は、
前記階層化ディスクに保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、前記情報処理装置に通知するディスク制御部を有し、
前記情報処理装置は、
前記階層化ディスクへのアクセスを行なうアプリケーションが用いるファイル毎のアクセス態様情報、および、前記ディスク制御部から通知された前記各ファイルの前記ブロック情報に基づき、前記データブロックのアクセス態様を判断する管理部を有し、
前記ストレージ装置の前記ディスク制御部は、前記管理部によって判断された前記データブロックのアクセス態様に基づき、前記階層化ディスクに対する前記データブロックの再配置を行なう、ストレージシステム。
【００９８】
（付記１４）
前記情報処理装置の前記管理部は、前記データブロックに対するアクセス頻度を前記ストレージ装置から取得し、取得した前記アクセス頻度と、前記情報処理装置において判断された前記データブロックのアクセス態様とに基づき、前記階層化ディスクに対する前記データブロックの再配置の内容を決定し、当該内容に従った前記データブロックの再配置を前記ストレージ装置に指示し、
前記ストレージ装置の前記ディスク制御部は、前記管理部から指示された前記データブロックの再配置を前記階層化ディスクに対し行なう、付記１３記載のストレージシステム。
【００９９】
（付記１５）
前記情報処理装置は、
前記アプリケーションから入出力要求を受けると前記入出力要求の対象ファイルと前記対象ファイルのアクセス態様とを前記ファイル毎のアクセス態様情報として特定するように構築された仮想デバイスを有する、付記１４記載のストレージシステム。
【０１００】
（付記１６）
前記情報処理装置は、
前記仮想デバイスによって特定された前記対象ファイルに関する情報と前記対象ファイルのアクセス態様とを前記ファイル毎のアクセス態様情報として登録するテーブルを有し、
前記情報処理装置の前記管理部は、
前記テーブルに登録された前記ファイル毎のアクセス態様情報と前記ディスク制御部から通知された前記各ファイルの前記ブロック情報とに基づき、前記データブロックのアクセス態様を判断する、付記１５記載のストレージシステム。
【０１０１】
（付記１７）
前記仮想デバイスは、前記アプリケーションが用いる前記ファイルのうち、前記テーブルに登録されていない前記対象ファイルについて前記アクセス態様を特定する、付記１６記載のストレージシステム。
【０１０２】
（付記１８）
前記仮想デバイスは、前記アプリケーションによるアクセス開始後、所定時間の間、前記アクセス態様の特定を行なう、付記１５〜付記１７のいずれか一項に記載のストレージシステム。
【０１０３】
（付記１９）
前記仮想デバイスは、前記入出力要求が前記対象ファイルの入出力位置をインデックスでシークするか否かを測定し、シークしない場合に前記対象ファイルのアクセス態様をシーケンシャルアクセスと判断する一方、シークする場合に前記対象ファイルのアクセス態様をランダムアクセスと判断する、付記１５〜付記１８のいずれか一項に記載のストレージシステム。
【０１０４】
（付記２０）
複数のディスクを有する階層化ディスクを含むストレージ装置と、前記ストレージ装置にアクセスする情報処理装置とを備えたストレージシステムに含まれるコンピュータに、
前記階層化ディスクに保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、前記ストレージ装置から前記情報処理装置に通知し、
前記情報処理装置において、前記階層化ディスクへのアクセスを行なうアプリケーションが用いるファイル毎のアクセス態様情報、および、前記ストレージ装置から通知された前記各ファイルの前記ブロック情報に基づき、前記データブロックのアクセス態様を判断し、
前記ストレージ装置において、前記情報処理装置において判断された前記データブロックのアクセス態様に基づく前記階層化ディスクに対する前記データブロックの再配置を行なう、
処理を実行させる、ストレージ制御プログラム。
【０１０５】
（付記２１）
複数のディスクを有する階層化ディスクを含むストレージ装置と、前記ストレージ装置にアクセスする情報処理装置とを備えたストレージシステムに含まれるコンピュータに、
前記階層化ディスクに保存された各ファイルに含まれるデータブロックの記憶位置を含むブロック情報を、前記ストレージ装置から前記情報処理装置に通知し、
前記情報処理装置において、前記階層化ディスクへのアクセスを行なうアプリケーションが用いるファイル毎のアクセス態様情報、および、前記ストレージ装置から通知された前記各ファイルの前記ブロック情報に基づき、前記データブロックのアクセス態様を判断し、
前記ストレージ装置において、前記情報処理装置において判断された前記データブロックのアクセス態様に基づく前記階層化ディスクに対する前記データブロックの再配置を行なう、
処理を実行させる、ストレージ制御プログラムを記録したコンピュータ読取可能な記録媒体。
【符号の説明】
【０１０６】
１    ストレージシステム
１０    ストレージ装置
１１    階層化ディスク
１１０    論理ディスク（論理ユニット）
１１１    ＳＳＤ（ディスク）
１１２    ＳＡＳディスク（ディスク）
１２    ＣＰＵ（処理部，コンピュータ）
１２１    ディスク制御部
１３    メモリ
２０    サーバ（情報処理装置）
２１    ＣＰＵ（処理部，コンピュータ）
２１１    アプリケーション（アプリケーションプログラム）
２１２    仮想ドライバ（仮想デバイス，アクセス態様特定部）
２１３    管理部
２２    メモリ
２２１    ファイル・アクセス態様テーブル（テーブル）
【図１】
2014191398.tif 000003
【図２】
2014191398.tif 000004
【図３】
2014191398.tif 000005
【図４】
2014191398.tif 000006
【図５】
2014191398.tif 000007
【図６】
2014191398.tif 000008
【図７】
2014191398.tif 000009
【図８】
2014191398.tif 000010
【図９】
2014191398.tif 000011