(57)【特許請求の範囲】
【請求項１】
複数のストレージ・デバイスの入出力を制御する制御装置において実行される、ファイルの再配置プログラムであって、前記再配置プログラムは、前記制御装置に、
（ａ）前記制御装置の記憶装置から、複数のファイルの各々に対するアクセス要求の履歴情報を読み出すステップと、
（ｂ）前記履歴情報を参照して、各ファイルについて、該ファイルと同時にアクセス要求された回数を全ファイルの各々について求めるステップと、
（ｃ）ステップ（ｂ）の結果に基づいて、同時にアクセス要求された回数の多いファイルどうしを１つのグループにまとめることにより、前記複数のファイルを複数のグループに分類するステップと、
（ｄ）同じグループに分類された複数のファイルを、同じストレージ・デバイスに再配置するステップと、
（ｅ）各ストレージ・デバイスへのアクセス要求を監視することにより、一定期間アクセスのないストレージ・デバイスを省エネルギー・モードに移行させるステップとを実行させ、
前記履歴情報は、前記制御装置において受信された順に並んだ、アクセス対象のファイルの識別情報を含むアクセス要求のリストを含み、
前記ステップ（ｂ）において、前記リストにおいて任意の前記アクセス要求の前後一定範囲に並ぶ各アクセス要求は、前記任意の前記アクセス要求と同時になされた前記アクセス要求とみなされ、
前記一定範囲は、複数のホスト装置において試験用の複数のアプリケーションを実行させ、前記制御装置において、一のアプリケーションからのファイルリクエストと該一のアプリケーションからの次のファイルリクエストとの間にあった他のアプリケーションからのリクエスト数の偏差値のうち所定の値以上の偏差値を求めた場合において、各アプリケーションについて求めた前記所定の値以上の偏差値のうち最大の値とされる、
再配置プログラム。
【請求項２】
前記ステップ（ｃ）は、（ｃ−１）前記再配置対象の各ファイルについて、該ファイルに対して求められた全ファイルの各々の同時にアクセス要求された回数を成分とする同時出現ベクトルを算出するステップと、（ｃ−２）前記各ファイルについて求めた複数の前記同時出現ベクトルのうち、各成分を足し合わせた値が最も大きい前記同時出現ベクトルを基準同時出現ベクトルとして決定するステップと、（ｃ−３）前記各ファイルについて、該ファイルの前記同時出現ベクトルと前記基準同時出現ベクトルとの内積を求め、求めた内積が所定値以上のファイルを、前記基準同時出現ベクトルを有するファイルと同一のグループに分類するステップと、（ｃ−４）ファイルを再配置する対象となる複数のストレージ・デバイスの個数Ｋを取得し、未分類の前記再配置対象の複数のファイルについて、ステップ（ｃ−２）及び（ｃ−３）を、ステップ（ｃ−３）において前記内積が前記所定値以上のファイルが存在することを条件に、Ｋ−１回繰り返すステップとを含む、請求項１に記載の再配置プログラム。
【請求項３】
前記再配置プログラムは、前記制御装置に、（ｆ）前記複数のストレージ・デバイスに格納されている前記複数のファイルから、アクセス頻度の低いファイルを除くステップを更に実行させ、前記アクセス頻度の低いファイルを除いた前記複数のファイルを、再配置対象のファイルとする、請求項１に記載の再配置プログラム。
【請求項４】
前記再配置プログラムは、前記制御装置に、（ｇ）前記複数のファイルの各々に対するアクセス要求を観測する観測時間を、単位観測時間ずつ等分割して、複数の時間帯を定義するステップと、（ｈ）各ファイルを、該ファイルへのアクセス要求が最も多くなされた前記時間帯に対応付けるステップとを更に実行させ、前記ステップ(ｂ)、（ｃ）及び（ｄ）の一連のステップは、各時間帯に対応付けられた複数のファイルごとに実行される、請求項１に記載の再配置プログラム。
【請求項５】
複数のストレージ・デバイスの入出力を制御する制御装置において実行される、ファイルの再配置方法であって、
（ａ）前記制御装置の記憶装置から、複数のファイルの各々に対するアクセス要求の
履歴情報を読み出すステップと、
（ｂ）前記履歴情報を参照して、各ファイルについて、該ファイルと同時にアクセス要求された回数を全ファイルの各々について求めるステップと、
（ｃ）ステップ（ｂ）の結果に基づいて、同時にアクセス要求された回数の多いファイルどうしを１つのグループにまとめることにより、前記複数のファイルを複数のグループに分類するステップと、
（ｄ）同じグループに分類された複数のファイルを、同じストレージ・デバイスに再配置するステップと、
（ｅ）各ストレージ・デバイスへのアクセス要求を監視することにより、一定期間アクセスのないストレージ・デバイスを省エネルギー・モードに移行させるステップとを含み、、
前記履歴情報は、前記制御装置において受信された順に並んだ、アクセス対象のファイルの識別情報を含むアクセス要求のリストを含み、
前記ステップ（ｂ）において、前記リストにおいて任意の前記アクセス要求の前後一定範囲に並ぶ各アクセス要求は、前記任意の前記アクセス要求と同時になされた前記アクセス要求とみなされ、
前記一定範囲は、複数のホスト装置において試験用の複数のアプリケーションを実行させ、前記制御装置において、一のアプリケーションからのファイルリクエストと該一のアプリケーションからの次のファイルリクエストとの間にあった他のアプリケーションからのリクエスト数の偏差値のうち所定の値以上の偏差値を求めた場合において、各アプリケーションについて求めた前記所定の値以上の偏差値のうち最大の値とされる、
再配置方法。
【請求項６】
前記ステップ（ｃ）は、（ｃ−１）前記再配置対象の各ファイルについて、該ファイルに対して求められた全ファイルの各々の同時にアクセス要求された回数を成分とする同時出現ベクトルを算出するステップと、（ｃ−２）前記各ファイルについて求めた複数の前記同時出現ベクトルのうち、各成分を足し合わせた値が最も大きい前記同時出現ベクトルを基準同時出現ベクトルとして決定するステップと、（ｃ−３）前記各ファイルについて、該ファイルの前記同時出現ベクトルと前記基準同時出現ベクトルとの内積を求め、求めた内積が所定値以上のファイルを、前記基準同時出現ベクトルを有するファイルと同一のグループに分類するステップと、（ｃ−４）ファイルを再配置する対象となる複数のストレージ・デバイスの個数Ｋを取得し、未分類の前記再配置対象の複数のファイルについて、ステップ（ｃ−２）及び（ｃ−３）を、ステップ（ｃ−３）において前記内積が前記所定値以上のファイルが存在することを条件に、Ｋ−１回繰り返すステップとを含む、請求項５に記載の再配置方法。
【請求項７】
複数のストレージ・デバイスに接続し、前記複数のストレージ・デバイスに格納されている複数のファイルの再配置を行う再配置装置であって、
前記複数のファイルの各々に対するアクセス要求の履歴情報を格納する履歴情報格納部と、
前記履歴情報を参照して、各ファイルについて、該ファイルと同時にアクセス要求された回数を全ファイルの各々について求めるカウント部と、
前記カウント部により求められた各回数に基づいて、同時にアクセス要求された回数の多いファイルどうしを１つのグループにまとめることにより、前記複数のファイルを複数のグループに分類する分類部と、
同じグループに分類された複数のファイルを、同じストレージ・デバイスに再配置する再配置部と、
各ストレージ・デバイスへのアクセス要求を監視することにより、一定期間アクセスのないストレージ・デバイスを省エネルギー・モードに移行させる移行部とを含み、
前記履歴情報は、前記再配置装置において受信された順に並んだ、アクセス対象のファイルの識別情報を含むアクセス要求のリストを含み、
前記カウント部は、前記リストにおイルの識別情報を含むアクセス要求のリストを含み、前記カウント部は、前記リストにおいて任意の前記アクセス要求の前後一定範囲に並ぶ各前記アクセス要求を、前記任意の前記アクセス要求と同時になされた前記アクセス要求とみなし、
前記一定範囲は、複数のホスト装置において試験用の複数のアプリケーションを実行させ、前記制御装置において、一のアプリケーションからのファイルリクエストと該一のアプリケーションからの次のファイルリクエストとの間にあった他のアプリケーションからのリクエスト数の偏差値のうち所定の値以上の偏差値を求めた場合において、各アプリケーションについて求めた前記所定の値以上の偏差値のうち最大の値とされる、
再配置装置。
【請求項８】
前記再配置対象の各ファイルについて、該ファイルに対して求められた全ファイルの各々の同時にアクセス要求された回数を成分とする同時出現ベクトルを算出する同時出現ベクトル算出部と、
前記分類部による分類が未だなされていない未分類の各ファイルについて求めた複数の前記同時出現ベクトルのうち、各成分を足し合わせた合計値が最も大きい前記同時出現ベクトルを基準同時出現ベクトルとして決定する基準同時出現ベクトル決定部と、
前記未分類の各ファイルについて、該ファイルの前記同時出現ベクトルと前記基準同時出現ベクトルとの内積を求め、求めた前記内積が所定値以上か否かを判定する判定部とを更に含み、
前記分類部は、前記判定部により前記内積が前記所定値以上と判定された前記同時出現ベクトルを有するファイルを前記基準同時出現ベクトルと同一のグループに分類する、請求項７に記載の再配置装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージ・デバイスを含むシステムにおけるファイルの配置方法に関し、詳細には、省電力化の観点からファイルを最適に再配置する技術に関する。
【背景技術】
【０００２】
従来より、各々異なる特性を有する複数の種類のストレージを組み合わせて論理的に1つのストレージ・デバイスを構成する階層ストレージ・システムが知られている。この階層ストレージ・システムでは、高速であるが小容量で高価なストレージ・デバイスを上位に位置付け、大容量で低価格であるが低速なストレージ・デバイスを下位に位置付ける。そして、時間と共に変化するファイルの価値に従って、ファイルを上位の階層のストレージ・デバイスから下位の階層のストレージ・デバイスへ移動させることにより、階層ストレージ・システムでは、コスト効率のよいデータ管理を実現させている。
【０００３】
またストレージ・システムの管理方法として、近年、ＭＡＩＤ（Ｍａｓｓｉｖｅ  Ａｒｒａｙｓ  ｏｆ  Ｉｎａｃｔｉｖｅ  Ｄｉｓｋ）と称される技術が注目されている。ＭＡＩＤは、データのアクセス時に必要なストレージ・デバイスのみを稼動させることで、エネルギー消費の低減を図る技術である。階層ストレージ・システムにおいてＭＡＩＤを採用すれば、アクセス頻度の低いファイルが集められた下位階層のストレージ・デバイスがパワーオフされ、よりコスト効率のよいデータ管理を実現できる（非特許文献１参照）。
【非特許文献１】Ganesh Karche、 Murthy Mamidi、Paul Massiglia、“Ｄｙｎａｍｉｃ  Ｓｔｏｒａｇｅ  Ｔｉｅｒｉｎｇ（ＤＳＴ）の活用方法”、Ｓｙｍａｎｔｅｃ  Ｙｅｌｌｏｗ  Ｂｏｏｋｓ、株式会社シマンテック
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の階層ストレージ・システムでは、ファイルの配置は、アクセス頻度等の個々のファイルの特性に基づいて決定されていた。即ち、従来の階層ストレージ・システムでは、ファイルの配置を決定する際に、ファイル間の依存関係は全く考慮されていなかった。そのため、あるファイルに対し依存関係のあるファイルが存在し、これら複数のファイルが同時にアクセスされることが多い場合に、従来の階層ストレージ・システムでは、依存関係のある複数のファイルがそれぞれ異なるストレージ・デバイスに配置される可能性があり、ＭＡＩＤを採用してもその効果を十分に発揮させることができないという問題があった。
【０００５】
また、ファイルを配置する際にファイル間の依存関係を考慮するとしても、ファイル間の依存関係を知るためには、予めファイルの所有者にその依存関係を登録させるか、ファイルの内容をコンピュータに解析させる必要があり、非常に手間がかかるという問題もあった。
【０００６】
そこで本発明は、上記の課題、即ち、複数のストレージ・デバイスを含むシステムにおいて、ファイル間の依存関係を考慮してファイルの配置を決定することにより、より多くのストレージ・デバイスを省エネルギー・モードに移行させることのできる、ファイルの再配置装置、再配置方法及び再配置プログラムを提供することを目的とする。また本発明は、人手を必要とせず、より簡単な方法でファイル間の依存関係を求めることのできるファイルの再配置装置、再配置方法及び再配置プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明は、ファイル間の依存関係の有無を、同時アクセスされるファイル群であるか否かにより判断し、依存関係のある複数ファイルを同じストレージ・デバイスに配置するようにした。即ち、本発明は、次のような複数のストレージ・デバイスの入出力を制御する制御装置において実行される、ファイルの再配置プログラムによって実現される。この再配置プログラムは、上記制御装置に、（ａ）制御装置の記憶装置から、複数のファイルの各々に対するアクセス要求の履歴情報を読み出すステップと、（ｂ）履歴情報を参照して、各ファイルについて、該ファイルと同時にアクセス要求された回数を全ファイルの各々について求めるステップと、（ｃ）ステップ（ｂ）の結果に基づいて、同時にアクセス要求された回数の多いファイルどうしを１つのグループにまとめることにより、複数のファイルを複数のグループに分類するステップと、（ｄ）同じグループに分類された複数のファイルを、同じストレージ・デバイスに再配置するステップと、（ｅ）各ストレージ・デバイスへのアクセス要求を監視することにより、一定期間アクセスのないストレージ・デバイスを省エネルギー・モードに移行させるステップとを実行させる。なお、本発明において同時とは、完全に同時であるだけでなく、前後一定期間内のずれも含むものとする。
【０００８】
更に好適には、上記履歴情報は、制御装置において受信された順に並んだ、アクセス対象のファイルの識別情報を含むアクセス要求のリストを含み、上記ステップ（ｂ）において、リストにおいて任意のアクセス要求の前後一定範囲に並ぶ各アクセス要求を、任意のアクセス要求と同時になされたアクセス要求とみなす。
【０００９】
また好適には、上ステップ（ｃ）は次の（ｃ−１）乃至（ｃ−４）の各ステップを含む。（ｃ−１）再配置対象の各ファイルについて、該ファイルに対して求められた全ファイルの各々の同時にアクセス要求された回数を成分とする同時出現ベクトルを算出するステップ。（ｃ−２）各ファイルについて求めた複数の同時出現ベクトルのうち、各成分を足し合わせた値が最も大きい同時出現ベクトルを基準同時出現ベクトルとして決定するステップ。（ｃ−３）各ファイルについて、該ファイルの同時出現ベクトルと基準同時出現ベクトルとの内積を求め、求めた内積が所定値以上のファイルを、基準同時出現ベクトルを有するファイルと同一のグループに分類するステップ。（ｃ−４）ファイルの再配置を行う対象となる複数のストレージ・デバイスの個数Ｋを取得し、未分類の再配置対象の複数のファイルについて、ステップ（ｃ−２）及び（ｃ−３）を、ステップ（ｃ−３）において内積が所定値以上のファイルが存在することを条件に、Ｋ−１回繰り返すステップ繰り返すステップ。
【００１０】
また好適には、上記再配置プログラムは、上記制御装置に、（ｆ）複数のストレージ・デバイスに格納される複数のファイルから、アクセス頻度の低いファイルを除くステップを更に実行させる。そして、アクセス頻度の低いファイルを除く複数のファイルを、再配置対象の複数のファイルとする。
【００１１】
また好適には、上記再配置プログラムは、上記制御装置に、（ｇ）複数のファイルに対するアクセス要求を観測する観測時間を、単位観測時間ずつ等分割して、複数の時間帯を定義するステップと、（ｈ）各ファイルを、該ファイルへのアクセス要求が最も多くなされた時間帯に対応付けるステップとを更に実行させる。そして、上記再配置プログラムは、上記制御装置に、上記ステップ(ｂ)、（ｃ）及び（ｄ）の一連のステップを、各時間帯に対応付けられた複数のファイルごとに実行させる。
【００１２】
なお、本発明において単位観測時間とは、複数のファイルに対するアクセス要求の分布に一定の傾向がみられる最小の観測時間である。また、観測時間とは、一定の傾向を示す複数種類のアクセス要求の分布が観測される場合に、全種類の分布を観測するのに必要な最小の観測時間である。例えば、朝、昼、晩と、それぞれ異なるファイルへのアクセス要求の分布が観測される場合、観測時間は２４時間であり、単位観測時間は８時間である。また、曜日によって各ファイルへのアクセス要求の分布が異なる場合、観測時間は１週間であり、単位観測時間は１日である。
【００１３】
以上、複数のストレージ・デバイスの入出力を制御する制御装置において実行される、ファイルの再配置プログラムとして本発明を説明したが、本発明は、そのような制御装置において実行される、ファイルの再配置方法、又はコンピュータに上記再配置プログラムを実行させることにより実現されるファイルの再配置装置として把握することもできる。
【発明の効果】
【００１４】
本発明によれば、複数のストレージ・デバイスに格納される複数のファイルは、依存関係のある複数ファイルごとにグループ分けされ、グループ単位でストレージ・デバイスに再配置される。その結果、本発明に係るストレージ・システムでは、ストレージ・デバイスにおいて一定期間アクセスのない状態が生じやすくなり、より多くのストレージ・デバイスを省エネルギー・モードに移行させることが可能となった。また本発明は、ファイル間の依存関係の有無を、同時アクセスされるファイル群であるか否かにより判断するので、人手を必要とせず、より簡単な方法でファイル間の依存関係を求めることが可能となった。本発明のその他の効果については、各実施の形態の記載から理解される。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明は、背景技術として述べた階層ストレージ・システムだけでなく、任意のストレージ・システムに適用することができる。しかし、以下では一例として、階層ストレージ・システムに適用した場合を説明することにする。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【００１６】
図１は、本発明の実施の形態において使用可能なストレージ・システム１００の代表的なハードウェア構成の一例を示す。本実施形態に係るストレージ・システム１００は、複数のストレージ・デバイス１４０ａ、１４０ｂ、１４０ｃ、１４０ｄと、複数のストレージ・デバイス１４０ａ、１４０ｂ、１４０ｃ、１４０ｄへのデータの入出力を制御する制御装置１１０とを含む。
【００１７】
本実施形態に係る複数のストレージ・デバイス１４０ａ、１４０ｂ、１４０ｃ、１４０ｄは階層構造をなし、第１階層ストレージ・デバイス１４０ａ及び第２階層ストレージ・デバイス１４０ｂは、一例として、半導体メモリや磁気ディスク等の高速なストレージ・デバイスにより構成される。第３階層ストレージ・デバイス１４０ｃ及び第４ストレージ・デバイス１４０ｄは、一例として、光ディスクや磁気テープ等の低速なストレージ・デバイスにより構成される。
【００１８】
制御装置１１０は、通信インタフェース１１８を介して、図示しない１以上のホスト装置からデータ書き込み要求や読み出し要求を受けて、内部のメモリ１１４上に設けられたバッファにそのデータブロックを一時的に記憶する。そして、制御装置１１０は、そのプロセッサ１１２が、記憶装置１１６に格納されるプログラムに従って、複数のストレージ・デバイス１４０ａ、１４０ｂ、１４０ｃ、１４０ｄとの間のデータ書き込み及び読み出しをストレージ・デバイス・インタフェース１２０を介して行うことにより、複数の１４０ａ、１４０ｂ、１４０ｃ、１４０ｄへのデータの入出力を制御する。
【００１９】
本発明に係る制御装置１１０はまた、予め定義されたストレージ管理ポリシーに従って、複数の１４０ａ、１４０ｂ、１４０ｃ、１４０ｄに格納される複数のファイルの再配置を行う。ストレージ管理ポリシー又は再配置処理において参照される各種パラメータは、管理端末１３０を操作する管理者により、ユーザ・インタフェース１２２を介して記憶装置１１６に格納される。本実施形態に係る記憶装置１１６は更に本発明に係るファイルの再配置プログラムを記憶し、制御装置１１０内のプロセッサ１１２は該プログラムに従って、ファイル間の依存関係を考慮してファイルの再配置を行う。
【００２０】
（第一実施形態）図２（ａ）は、第一実施形態に係る制御装置１１０の機能構成の一例を示す。制御装置１１０は、同時出現ベクトル算出部１５０、基準同時出現ベクトル決定部１５２、判定部１５４、カウント部１５５、分類部１５６、再配置部１５８、及び移行部１６０を含む。また図２（ｂ）は、第一実施形態に係る記憶装置１１６が格納するデータの一例を示す。
【００２１】
記憶装置１１６は、複数のファイルの各々に対する１以上のホスト装置からのアクセス要求の履歴情報１７０、同時出現ベクトル算出部１５０により算出された、各ファイルの同時出現ベクトル情報１７２、及び再配置部１５８により決定されたファイルの再配置情報１７４を格納する。各種情報の詳細は後述する。なお上述したように、記憶装置１１６は、図２（ｂ）に図示する以外の情報を更に格納してもよい。
【００２２】
カウント部１５５は、記憶装置１１６に格納される履歴情報１７０を参照して、各ファイルについて、該ファイルと同時にアクセス要求された回数を全ファイルの各々について求める。
【００２３】
分類部１５６は、カウント部１５５により求められた各回数に基づいて、同時にアクセス要求された回数の多いファイルどうしを１つのグループにまとめることにより、複数のストレージ・デバイスに格納される再配置対象の複数のファイルを複数のグループに分類する。なお、上述したように、本明細書において同時とは、完全に同時であるだけでなく、前後一定期間内のずれも含む。また本実施例では、複数のストレージ・デバイスに格納される全ファイルを再配置対象のファイルとする。
【００２４】
履歴情報１７０は、好ましくは、制御装置１１０において受信された順に並んだアクセス対象のファイルの識別情報を含むアクセス要求のリストを含む。以下では、このリストをファイルリクエスト列Ｒと呼び、次のように定義する。Ｒ＝ｒ１ｒ２∧ｒｉ∧ｒｎ。ここでｒは個々のファイルリクエストを示し、添え字はファイルリクエストが各ホスト装置から制御装置１１０に到着した順番を示す。また、各ファイルリクエストｒｉは１つのファイルに対応するものとし、値域となるファイルの集合Ｆ＝｛ｆ１、ｆ２、∧、ｆｊ、∧、ｆｍ｝に対して、ＲからＦへの関数ｅｖａｌ（）を定義する。すると、例えばファイルリクエストｒｉがファイルｆｊに対するアクセス要求であるとすると、ｆｊ＝ｅｖａｌ（ｒｉ）という等式が成り立つ。即ち、ファイルｆはファイルリクエストｒの関数とみることができ、本実施例では、ｒの定義域をｒｉ、ここでｉ＝１、２、…、ｎとし、ｆの値域をｆｊ、ここでｊ＝１、２、…、ｍとする。なお、ストレージ・システム１００においてアクセス要求が途切れ、次のアクセス要求を受信するまでに一定期間要することもある。そのような場合、アクセス要求が途切れる直前に受信したアクセス要求をファイルリクエスト列Ｒの最後のアクセス要求とし、また新たにファイルリクエスト列Ｒを作成し、履歴情報１７０が複数のファイルリクエスト列Ｒを含むようにしてもよい。
【００２５】
カウント部１５５は、ファイルの識別情報のリストにおいて、任意のアクセス要求の前後一定範囲に並ぶ各アクセス要求を、上記任意のアクセス要求と同時になされたアクセス要求とみなす。ここで、上記一定範囲、即ち、ファイルリクエスト列Ｒにおいて、同時にファイルリクエストされたとみなすファイルリクエストの個数に関する閾値を、同時出現閾値Ｃｔｈと定義する。また、ファイルリクエスト列Ｒから、ファイルリクエストｒｉに対して同時なされたファイルリクエスト群ＲＣｔｈを抽出する関数ｃｏ−ｏｃｃｕｒ（）を定義する。すると、例えばファイルリクエストｒｉに対し、ｒｉ―Ｃｔｈｒｉ＋１―Ｃｔｈ∧ｒｉ−１ｒｉ＋１ｒｉ＋２∧ｒｉ＋Ｃｔｈ＝ｃｏ−ｏｃｃｕｒ（ｒｉ）という等式が成り立つ。
【００２６】
なお、同時出現閾値Ｃｔｈは、好ましくは、複数のホスト装置において試験用の複数のアプリケーションを実行させ、ストレージ・システム１００における各アプリケーションからのファイルリクエストを観察することによって決定する。具体的には次のような方法により同時出現閾値Ｃｔｈを決定する。まず、始めに次のようなテスト環境を用意する。
【００２７】
ベンチマークテストに用いられる複数のアプリケーションＡ、Ｂ、…、Ｚが存在し、各アプリケーションが使用するファイルの集合ｆｉｌｅｓｅｔが、アプリケーションＡに対し{ｆａ１、ｆａ２、…、ｆａｍ}、アプリケーションＢに対し{ｆｂ１、ｆｂ２、…、ｆｂｎ}、…、アプリケーションＺに対し{ｆｚ１、ｆｚ２、…、ｆｚｕ}のように、それぞれ存在するとする。ここで、同一のｆｉｌｅｓｅｔに属するファイル同士は、同一のアプリケーションによって使用されることから、互いに相関があると考えることができる。このとき、これら複数のアプリケーションを複数のホスト装置から同時に実行するテスト環境を用意する。次に、ストレージ・システムの通信インタフェース１１８に到着するファイルリクエスト列を観察する。
【００２８】
具体的には、各アプリケーションについて、対応するｆｉｌｅｓｅｔに属するファイルへのファイルリクエスト間の距離のヒストグラムを作成する。ここで、任意のアプリケーションＸに対応するｆｉｌｅｓｅｔに属するファイルへのファイルリクエストｒＸｉとｒＸｉ＋１（ここで、添え字Ｘｉは、ファイルリクエストｒＸｉが、アプリケーションＸに対応するｆｉｌｅｓｅｔに属するファイルへのｉ番目のファイルリクエストであることを示し、添え字Ｘｉ＋１は、ファイルリクエストｒＸｉ＋１が、ｒＸｉの次に現れる、アプリケーションＸに対応するｆｉｌｅｓｅｔに属するファイルへファイルリクエストであることを示す）との間の距離とは、ファイルリクエストｒＸｉとｒＸｉ＋１との間に入る、アプリケーションＸに対応するｆｉｌｅｓｅｔに属さないファイルへのファイルリクエストの個数に１を足したものである。例えば、ファイルリクエスト列Ｒ＝ｒＡ１ｒＢ１ｒＢ２ｒＡ２ｒＺ１ｒＣ１...が観測された場合、アプリケーションＡに対応するｆｉｌｅｓｅｔに属するファイルへのファイルリクエストｒＡ１とｒＡ２との間の距離は３となる。
【００２９】
ヒストグラムの作成が終わると、ヒストグラムの結果を利用して、各アプリケーションＸに対して、偏差値Ｔｉを式Ｔｉ＝１０×（αｉ―μ）／σ＋５０より求める。但し、μ＝Σαｉ／（Ｎ−１）、σ＝｛Σ（αｉ―μ）２／（Ｎ−１）｝１／２である。ここで、Ｎは、観測されたファイルリクエスト列Ｒにおいて、各アプリケーションＸに対応するｆｉｌｅｓｅｔに属するファイルへのファイルリクエスト数である。また、上式においてΣは、添え字ｉについて１からＮ−１までの総和を求めることを示す。更にαｉは、ｒＸｉとｒＸｉ＋１との間の距離である。従って、μはαｉの平均であり、σはαｉの標準偏差である。そして、偏差値Ｔｉ≧８０が成り立つ距離αｉを、ファイルリクエスト列ＲにおけるアプリケーションＸの出現頻度の距離と呼び、ｄ（ｘ）と記載する。
【００３０】
各アプリケーションについて、上式により出現頻度の距離を求める。最後に、各アプリケーションの出現頻度の距離の中から最大のもの、即ち、ｍａｘ｛ｄ（ａ）、ｄ（ｂ）、…、ｄ（ｚ）｝を、同時出現閾値Ｃｔｈとして決定する。各アプリケーションの出現頻度の距離の最大値よりも小さい値を同時出現閾値Ｃｔｈとして決定する場合、相関のある複数のファイルリクエストが、同時になされたファイルリクエスト群として扱われない可能性がある。例えば、複数のホスト装置が接続されるストレージ・システムにおいて、ファイルリクエストに対しラウンドロビン等のスケジューリングが行われる場合などである。
【００３１】
また、各アプリケーションの出現頻度の距離の最大値よりも大きい値を同時出現閾値Ｃｔｈとして決定する場合、例えば同日など比較的長い期間内になされたファイルリクエストは全て相関があるとみなされるため、分類部１５６による分類の精度が落ち、また計算量も増えてしまう。なお、分類部１５６による履歴情報１７０を参照したファイルの分類処理は、好ましくは、同時出現ベクトル算出部１５０、基準同時出現ベクトル決定部１５２、判定部１５４の一連の処理の結果に基づいて行われる。以下では、これら各構成要素について説明する。
【００３２】
同時出現ベクトル算出部１５０は、複数のストレージ・デバイス１４０ａ、１４０ｂ、１４０ｃ、１４０ｄに格納されている再配置対象の各ファイルについて、該ファイルに対してカウント部１５５により求められた全ファイルの各々の同時にアクセス要求された回数を成分とする同時出現ベクトルを算出する。同時出現ベクトルの具体的な算出方法を、図３に示す擬似コードを参照して説明する。まず、ファイルｆｐへのファイルリクエストと同時になされたファイルｆｑへのファイルリクエストの総数ｂｐｑを求めることを考える。
【００３３】
図３に示すように、初めにｂｐｑに初期値０を設定する。次に、ファイルリクエスト列Ｒの各要素ｒｉについて、以下の処理を行う。即ちファイルリクエストｒｉが、ファイルｆｐへのファイルリクエストであるか否か判定する。ファイルリクエストｒｉがファイルｆｐへのファイルリクエストである場合、ファイルリクエストｒｉに対して同時になされたファイルリクエスト群ｃｏ−ｏｃｃｕｒ（ｒｉ）の各要素ｒｊについて、更に以下の処理を行う。即ち、ファイルリクエストｒｊが、ファイルｆｑへのファイルリクエストであるか否か判定し、ファイルリクエストｒｊがファイルｆｑへのファイルリクエストである場合、ｂｐｑに１を加算する。
【００３４】
ファイルリクエスト列Ｒの全要素について上記処理を行うと、最終的に得られるｂｐｑは、ファイルｆｐへのファイルリクエストと同時になされたファイルｆｑへのファイルリクエストの総数を示す。なお、ファイルリクエスト列Ｒが複数ある場合は、各ファイルリクエスト列Ｒについて上記処理を行い、最終的に各ファイルリクエスト列Ｒから得られた結果ｂｐｑを足し合わせる。従って、ファイルｆｐの同時出現ベクトルａｐは、上記ｂｐｑを用いて、ａｐ＝（ｂｐ１、ｂｐ２、∧、ｂｐｍ）と表せる。同時出現ベクトル算出部１５０は、算出した各ファイルの同時出現ベクトルの集合Ａを、２次元の配列情報ｂ（ｉ、ｊ）として記憶装置１１６へ格納する。ここでｉとｊは、それぞれ１〜ｍの整数値をとり、集合Ａ＝｛ａ１、ａ２、∧、ａｐ、∧、ａｍ｝である。そして、同時出現ベクトル算出部１５０は、処理の終了を、後述する基準同時出現ベクトル決定部１５２に通知する。
【００３５】
このように、ファイルｆｐの同時出現ベクトルａｐは、その定義に基づき、ファイルｆｐと同時になされた各ファイルのファイルリクエスト回数をその成分にもつベクトルである。従って、ファイルｆｐの同時出現ベクトルａｐにおいて値の大きい成分に対応するファイルは、ファイルｆｐと強い相関を持っているといえる。即ち、任意のａｕ、ａｖ∈Ａとなる２つの同時出現ベクトルの内積ａｕ・ａｖは、ファイルｆｕとｆｖの相関を表し、内積ａｕ・ａｖの値が大きいほどファイルｆｕとｆｖの相関が強いといえる。なお、同時出現ベクトルの内積は、ｍ次元ベクトルの内積として求められる。
【００３６】
基準同時出現ベクトル決定部１５２は、同時出現ベクトル算出部１５０からの上記通知又は分類部１５６からの後述する通知に応答して、記憶装置１１６からいずれのグループにも分類されていないファイルの同時出現ベクトルを読み出す。そして、基準同時出現ベクトル決定部１５２は、いずれのグループにも未だ分類されていない未分類の各ファイルについて求められた複数の同時出現ベクトルのうち、各成分を足し合わせた値、即ち、総同時出現量が最も大きい同時出現ベクトルａｒを基準同時出現ベクトルとして決定する。なお、基準同時出現ベクトル間の内積ａｒ・ａｒを、以下では、基準同時出現ベクトルの自己相関とよぶ。  基準同時出現ベクトル決定部１５２は、決定した基準同時出現ベクトルａｒを、後述する判定部１５４へ通知する。
【００３７】
判定部１５４は、基準同時出現ベクトル決定部１５２により基準同時出現ベクトルａｒが決定されたことに応答して、いずれのグループにも分類されていない未分類の各ファイルについて、該ファイルの同時出現ベクトルを記憶装置１１６から読み出し、読み出した各ファイルの同時出現ベクトルと基準同時出現ベクトルａｒとの内積を求める。そして、判定部１５４は、求めた内積が所定値、即ち同時出現相関の閾値ｔｃｏｒ以上か否かを判定する。本実施形態に係る同時出現相関の閾値ｔｃｏｒは、基準同時出現ベクトルの自己相関値の１％とする。即ちｔｃｏｒ＝０．０１＊（ａｒ・ａｒ）である。
【００３８】
後述するように、閾値ｔｃｏｒによって基準同時出現ベクトルａｒと同一のグループに分類されるファイルの個数が決まるため、管理者は、グループの希望するサイズに応じて閾値ｔｃｏｒを決定する。同時出現閾値Ｃｔｈや同時出現相関の閾値ｔｃｏｒ、更に後述するファイルの再配置を行う対象の複数のストレージ・デバイスの個数Ｋは、上述した、再配置処理において参照される各種パラメータであり、好ましくは、ユーザ・インタフェース１２２を介して管理者により記憶装置１１６に格納される。
【００３９】
分類部１５６は、判定部１５４による判定結果に基づき、基準同時出現ベクトルａｒとの内積が同時出現相関の閾値ｔｃｏｒ以上の同時出現ベクトルを有するファイルを、基準同時出現ベクトルａｒと同一のグループに分類する。分類部１５６はまた、記憶装置１１６から、ファイルの再配置を行う対象の複数のストレージ・デバイスの個数Ｋを取得する。そして分類部１５６は、それまでに作成したグループの数がＫ−１未満の場合、基準同時出現ベクトル決定部１５２に処理を繰り返すよう通知する。
【００４０】
一方、作成したグループの数がＫ−１の場合、或いは基準同時出現ベクトルａｒとの内積が閾値ｔｃｏｒ以上のファイルが存在しない場合、残りのファイル全てを同じ新しいグループに分類する。そして分類部１５６は、処理の終了を後述する再配置部１５８へ通知する。
【００４１】
再配置部１５８は、分類部１５６による分類結果に基づいて、同じグループに分類された複数のファイルを、同じストレージ・デバイスに再配置し、再配置情報１７４を記憶装置１１６に格納する。なお、グループのサイズがストレージ・デバイスに対して小さい場合は、複数のグループを同じストレージ・デバイスに再配置してもよい。
【００４２】
移行部１６０は、各ストレージ・デバイスへのアクセス要求を監視することにより、一定期間アクセスのないストレージ・デバイスを省エネルギー・モードに移行させる。一例として、移行部１６０は、ヘッドの退避、ヘッドの退避とディスク回転の停止、電源ＯＦＦのいずれかにより、ストレージ・デバイスを省エネルギー・モードに移行させてよい。
【００４３】
なお本実施例では、分類部１５６を含む各構成要素は、複数のストレージ・デバイスに格納される全ファイルを再配置対象のファイルとした。これに代えて、分類部１５６は、複数のストレージ・デバイスに格納される全ファイルからアクセス頻度の低いファイルを取り除き、アクセス頻度の低いファイルを取り除いた後の複数のファイルを再配置対象の複数のファイルとしてもよい。各ファイルのアクセス頻度は、一例として、上述したアクセス対象のファイルの識別情報を含むアクセス要求のリストに基づいて、ファイルごとアクセス回数を計算することにより求めてよい。また、アクセス頻度の低いファイルは、従来技術と同様、下位のストレージ・デバイスに格納する。係る代替法によれば、処理対象となるファイルの数が減るため、各構成要素による計算処理の時間が短くなる。
【００４４】
次に、図４及び図５のフローチャートを参照して、第一実施形態に係る制御装置１１０の動作を説明する。図４において処理はステップ１００から開始し、制御装置１１０は、記憶装置１１６から履歴情報１７０を読み出し、該履歴情報１７０を参照して、各ファイルについて、該ファイルと同時にアクセス要求された回数を全ファイルの各々について求める（ステップ１０４）。そして、制御装置１１０は、求めた各回数に基づいて、同時にアクセス要求された回数の多いファイルどうしを１つのグループにまとめることにより、複数のファイルを複数のグループに分類する（ステップ１０８）。分類処理の詳細は図５を参照して後述する。次に、制御装置１１０は、同じグループに分類された複数のファイルを、同じストレージ・デバイスに再配置する（ステップ１１０）。
【００４５】
処理はステップ１１０からステップ１２０へ進み、制御装置１１０は、各ストレージ・デバイスへのアクセス要求を監視する。
【００４６】
そして制御装置１１０は、ステップ１３０において、一定期間アクセスのないストレージ・デバイスを省エネルギー・モードに移行させる。
【００４７】
次に図５を参照して、図４のステップ１０８のファイルの分類処理の詳細を説明する。図５において処理はステップ２００から開始し、制御装置１１０は、各ファイルについて、該ファイルに対して図４のステップ１０４において求めた、全ファイルの各々の同時アクセス要求回数を成分とする同時出現ベクトルを算出する。次に制御装置１１０は、制御装置１１０が制御するストレージ・デバイスの個数Ｋと、再配置対象のファイルの総数ｍを取得する（ステップ２０５）。
【００４８】
制御装置１１０はまた、基準同時出現ベクトルとして決定された同時出現ベクトルの個数をカウントするための変数ｉと、いずれのグループにも分類されていない未分類のファイルの数をカウントするための変数Ｌと、ｉ番目の基準同時出現ベクトルが分類されるグループに属するファイルの数をカウントするための変数ｓとを、それぞれ順に、１、ｍ、０の値で初期化する（ステップ２１０）。
【００４９】
次に制御装置１１０は、未分類のファイルの数Ｌを、式Ｌ−ｓにより求める（ステップ２１５）。そして制御装置１１０は、未分類のファイルに対しその同時出現ベクトルの各成分を足し合わせ、合計値が最も大きい同時出現ベクトルをｉ番目の基準同時出現ベクトルとして決定する（ステップ２２０）。制御装置１１０はまた、ｉ番目の基準同時出現ベクトルとの相関の有無を判定する閾値を、ｉ番目の基準同時出現ベクトルの自己相関の０．０１％として、算出する（ステップ２２５）。
【００５０】
更に制御装置１１０は、ｉ番目の基準同時出現ベクトルとの内積を求めた同時出現ベクトル（ファイル）の個数をカウントするための変数ｊを値１で初期化し、また上記変数ｓにｉ番目の基準同時出現ベクトルの分として１を代入する（ステップ２３０）。
【００５１】
そして制御装置１１０は、未分類のｊ番目のファイルについて、その同時出現ベクトルと基準同時出現ベクトルとの内積を求め（ステップ２３５）、求めた内積が上記閾値以上であるか否か判定する（ステップ２４０）。閾値以上である場合（ステップ２４０：ＹＥＳ）、制御装置１１０は、ｊ番目のファイルをｉ番目の基準同時出現ベクトルを有するファイルと同一のグループに分類し（ステップ２４５）、変数ｓを１増分する（ステップ２５０）。
【００５２】
ステップ２４０においてＮＯの場合又はステップ２５０から処理はステップ２５５へ進み、制御装置１１０は、変数ｊを１増分し、変数ｊの値が変数Ｌより大きいか否か、即ち未分類の全ファイルに対し、ステップ２３５乃至ステップ２５５の処理を行ったか否かを判定する（ステップ２６０）。変数ｊの値が変数Ｌより大きくない場合（ステップ２６０：ＮＯ）、処理はステップ２３５へ戻る。
【００５３】
一方、変数ｊの値が変数Ｌより大きい場合（ステップ２６０：ＹＥＳ）、制御装置１１０は、変数ｓの値が１より大きいか否か、即ちｉ番目の基準同時出現ベクトルと同じグループに分類されたファイルが存在するか否か判定する（ステップ２６５）。変数ｓの値が１より大きい場合（ステップ２６５：ＹＥＳ）、制御装置１１０は変数ｉを１増分した後、（ステップ２７０）、変数ｉの値がＫに等しいか否か、即ち、ストレージ・デバイスの数Ｋより１少ない数のグループを作成したか否か判定する（ステップ２７５）。
【００５４】
変数ｉの値がＫと等しくない場合（ステップ２７５：ＮＯ）、処理はステップ２１５に戻る。変数ｓの値が１より大きくない場合、即ち１である場合（ステップ２６５：ＮＯ）、又は変数ｉの値がＫに等しい場合（ステップ２７５：ＹＥＳ）、処理はステップ２８０へ進み、制御装置１１０は、残りの未分類のファイル全てを同一の新しいグループに分類する。そして処理は終了する。
【００５５】
（第二実施形態）第二実施形態では、前処理として、再配置対象の各ファイルを、該ファイルへのアクセス要求がなされることが多い時間帯へ対応付ける。そして、同一の時間帯に対応付けられた複数のファイルごとに、第一実施形態に係る制御装置１１０の各構成要素による処理を行う。その結果、第二実施形態に係る制御装置１１０によれば、各構成要素による計算時間が短くなる可能性がある。
【００５６】
図６（ａ）は、第二実施形態に係る制御装置１１０の機能構成の一例を示す。制御装置１１０は、第一実施形態に係る制御装置１１０の各構成要素に加えて、新たに、時間帯定義部１８０及び対応付け部１８２を含む。そこで、繰り返しを避けるためここでは新たに追加される時間帯定義部１８０及び対応付け部１８２について説明する。また図６（ｂ）は、第二実施形態に係る記憶装置１１６が格納するデータの一例を示す。
【００５７】
第二実施形態に係る記憶装置１１６が格納するデータは、基本的に第一実施形態に係る記憶装置１１６が格納するデータと同じである。但し、第二実施形態に係る記憶装置１１６が格納する履歴情報１８４は、制御装置１１０において受信された順に並んだ、アクセス対象のファイルの識別情報と該識別情報により識別されるファイルが制御装置１１０において受信された時刻とを含むアクセス要求のリストである。なお、第二実施形態に係る制御装置１１０の通信インタフェース１１８は、アクセス要求を受信すると、受信時の時刻を該アクセス要求に付加するものとする。
【００５８】
時間帯定義部１８０は、複数のファイルに対するアクセス要求を観測する観測時間Ｔを、単位観測時間Ｓずつ等分割して、複数の時間帯を定義する。なお、便宜上、定義される複数の時間帯に、観測開始の基準時刻に近い方から順に０からＫ−１の番号を振るものとする。
【００５９】
上述したように、本発明において単位観測時間Ｓとは、複数のファイルに対するアクセス要求の分布に一定の傾向がみられる最小の観測時間である。また、観測時間Ｔとは、一定の傾向を示す複数種類のアクセス要求の分布が観測される場合に、全種類の分布を観測するのに必要な最小の観測時間である。例えば、朝、昼、晩と、それぞれ異なるファイルへのアクセス要求の分布が観測される場合、観測時間Ｔは２４時間であり、単位観測時間Ｓは８時間である。従って、基準時刻を０時とすると、２４時間の観測時間に対し、０〜８時間（０番目の時間帯）、８時間〜１６時間（１番目の時間帯）、１６時間〜２４時間（２番目の時間帯）の３つの時間帯を定義できる。なお、観測時間Ｔ、単位観測時間Ｓ及び基準時刻は、好ましくは、ユーザ・インタフェース１２２を介して管理者により記憶装置１１６に格納される。
【００６０】
対応付け部１８２は、各ファイルを、該ファイルへのアクセス要求が最も多くなされた上記いずれかの時間帯に対応付ける。対応付け部１８２によるファイルごとの対応付け処理は、具体的には次のようにして行う。まず、記憶装置１１６から履歴情報１８４を読み出し、任意のファイルｆｘについて、該ファイルｆｘへのアクセス要求を全て抽出する。そして、抽出した各アクセス要求に含まれる受信時刻を、観測開始の基準時刻からの経過時間ｔに変換する。更に、各アクセス要求について、経過時間ｔを式ｔ＝ｎ×Ｓ＋τで表したときのｎを求める。但し、ｎは０以上の整数であり、τは０≦τ＜Ｓを満たすものとする。
【００６１】
そうして、該ファイルｆｘへの各アクセス要求を、ｎｍｏｄ（Ｔ／Ｓ）の値、即ち求めたｎをＴ／Ｓで割った余りに応じて、上記定義されたいずれかの時間帯に対応付ける。即ち、余りが０のアクセス要求は番号０の時間帯に、余りが１のアクセス要求は番号１の時間帯にというように、ファイルｆｘへの各アクセス要求を、求めたｎをＴ／Ｓで割った余りに等しい番号の時間帯に対応付ける。最後に、最も多くのアクセス要求が対応付けられた時間帯に、ファイルｆｘを対応付ける。  
【００６２】
対応付け部１８２の処理が終わると、上述したように、同一の時間帯に対応付けられた複数のファイルごとに、同時出現ベクトル算出部１５０、基準同時出現ベクトル決定部１５２、判定部１５４、分類部１５６、再配置部１５８及び移行部１６０による一連の処理を行う。各構成要素による処理は、第一実施形態に係る各部の処理と同一であるため、説明は省略する。
【００６３】
次に、図７及び図８のフローチャートを参照して、第二実施形態に係る制御装置１１０の動作を説明する。但し、第二実施形態に係る制御装置１１０において新規に追加された構成要素以外の各構成要素の動作については、図４及び図５を参照して説明したのと同じであるから、繰り返しをさけるため、ここでは説明を省略する。図７は、第二実施形態に係る制御装置１１０による前処理の流れの一例を示すフローチャートである。図７において処理はステップ３００から開始し、制御装置１１０は、複数のファイルに対するアクセス要求を観測する観測時間Ｔを、単位観測時間Ｓずつ等分割して、複数の時間帯を定義する。なお、上述したように、定義される複数の時間帯には、観測開始の基準時刻に近い方から順に、０からＫ−１の番号を割り当てる。そして、制御装置１１０は、各ファイルを、該ファイルへのアクセス要求が最も多くなされた時間帯に対応付ける（ステップ３１０）。対応付け処理の詳細は図８を参照して詳述する。そして、処理は終了する。
【００６４】
図８は、第二実施形態に係る制御装置１１０による対応付け処理の流れの一例を示すフローチャートである。図８において処理はステップ３５０から開始し、制御装置１１０は、観測時間Ｔと単位観測時間Ｓを記憶装置１１６から読み出す。制御装置１１０はまた、再配置対象のファイル数ｍを取得する（ステップ３５５）。そして、制御装置１１０は、処理済のファイル数をカウントするための変数ｉを１で初期化する（ステップ３６０）。
【００６５】
次に制御装置１１０は、ｉ番目のファイルｆｉについて、記憶装置１１０に格納される履歴情報１８４からファイルｆｉへのアクセス要求を全て読み出す（ステップ３６５）。次に制御装置１１０は、各アクセス要求に含まれる受信時刻を、観測開始の基準時刻からの経過時間ｔに変換し、変換後の受信時刻ｔを式ｔ＝ｎ×Ｓ＋τで表したときのｎを求める（ステップ３７０）。そして制御装置１１０は、ファイルｆｉへの各アクセス要求を、ｎｍｏｄ（Ｔ／Ｓ）の値に等しい番号の時間帯に割り当てる（ステップ３７５）。ファイルｆｉへの全アクセス要求の割り当てが終わると、制御装置１１０は、ファイルｆｘを、最も多くのアクセス要求が対応付けられた時間帯に対応付ける（ステップ３８０）。
【００６６】
処理はステップ３８５へ進み、制御装置１１０はｉを１増分し、ｉがｍに等しいか否か判定する（ステップ３９０）。ｉがｍに等しくない場合（ステップ３９０：ＮＯ）、制御装置１１０は次のファイルｆｉについて、ステップ３６５乃至ステップ３９０の処理を繰り返す。ｉがｍに等しい場合（ステップ３９０：ＹＥＳ）、処理は終了する。
【００６７】
次に図９に示すファイルリクエストのシミュレーションモデルを用いて、上述した第一実施形態に係るファイルの再配置方法により、同時アクセスされ、従って依存関係のある複数ファイルのグループが、同一のストレージ・デバイスに再配置されることを実証する。このシミュレーションでは、マルコフ連鎖モデルと正規乱数とを用いて、同時にアクセスされるファイルのグループが複数存在し、各グループの出現頻度がある確率で切り替わるモデルを実現した。
【００６８】
図９の（ａ）は、各グループの出現頻度の分布を切り替えるためのマルコフ連鎖モデルにおける状態遷移図を示す。図９の（ａ）において、Ｓ１、Ｓ２、Ｓ３はそれぞれ遷移する状態を示し、各枝に付けられた数値は状態遷移の確率を示す。本シミュレーションでは、図９の（ａ）に示す各状態（Ｓ１、Ｓ２、Ｓ３）において、ファイルリクエストを発生させるため正規乱数を１回生成し、また状態遷移のため一様乱数を１回生成し、これら２つの操作を交互に繰り返した。
【００６９】
なお、図９の（ａ）において、同一状態への遷移確率が０．９９９８９などと高い確率になっているのは、同一状態での正規乱数の生成を約１０００００（状態Ｓ３では１０００回）連続して行うことにより、それぞれの状態における乱数分布に、同時アクセスの相関を施すためである。
【００７０】
図９の（ｂ）は、図９の（ａ）に示す各状態（Ｓ１、Ｓ２、Ｓ３）において、正規乱数を生成させる際に使用するパラメータを示す。即ち、各状態において正規乱数は、図９の（ｂ）に示す対応するパラメータを用いて、0〜1999の範囲の整数を生成した。生成した整数は、アクセス要求されたファイルの番号とした。
【００７１】
図１０の（ａ）は、乱数の生成回数を１００万個としたときの、ファイル番号ごとのファイルリクエスト回数のヒストグラムを示す。ヒストグラムの山は右からＳ１、Ｓ２、Ｓ３の各状態で発生させたファイルリクエストの分布に対応する。このようにしてシミュレーションされた図１０の（ａ）に示されるファイルリクエストの分布を持つファイルリクエストの列に対して、上述した第一実施例に係るファイルの再配置方法を適用して、複数のファイルをＤ１、Ｄ２、Ｄ３の３つのストレージ・デバイスに割り当てた。
【００７２】
図１０の（ｂ）乃至（ｄ）は、それぞれ順に、Ｄ１、Ｄ２、Ｄ３に割り当てられた、複数のファイルに対応するファイル番号ごとのファイルリクエスト回数のヒストグラムを示す。なお、ここでは同時出現閾値Ｃｔｈ＝３として処理をしている。
【００７３】
図１０の（ｂ）に示されるように、状態Ｓ２においてファイルリクエスト回数が３５０回以上なされた複数のファイルが、互いに相関ある複数のファイルとして同一のＤ１に割り当てられている。また、図１０の（ｃ）に示されるように、状態Ｓ３においてファイルリクエスト回数が３００回以上なされた複数のファイルが、互いに相関ある複数のファイルとして同一のＤ２に割り当てられている。
【００７４】
更にまた、図１０の（ｄ）に示されるように、Ｄ１、Ｄ２のいずれにも割り当てられなかった残りのファイル全部が、Ｄ３に割り当てられている。このように本発明によれば、複数のストレージ・デバイスに格納される複数のファイルは、依存関係のある複数ファイルごとにグループ分けされ、グループ単位でストレージ・デバイスに再配置される。その結果、本発明に係るストレージ・システムでは、ストレージ・デバイスにおいて一定期間アクセスのない状態が生じやすくなり、より多くのストレージ・デバイスを省エネルギー・モードに移行させることが可能となる。
【００７５】
なお、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００７６】
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。例えば上記実施例では、本発明を、ストレージ・システム１００を構成する制御装置１１０に実装する場合について説明したが、本発明は、複数のストレージ・システムに接続される任意のコンピュータに実装することができる。このように上記の実施形態に、種々の変更又は改良を加えることが可能であることが当業者に明らかである。従って、そのような変更又は改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施形態に係るストレージ・システム１００のハードウェア構成の一例を示す図である。
【図２】（ａ）は、本発明の第一実施形態に係る制御装置１１０の機能構成の一例を示す図である。（ｂ）は、本発明の第一実施形態に係る記憶装置１１６の一例を示す図である。
【図３】本発明の実施形態に係る同時出現ベクトルの各成分を求める擬似コードの一例を示す図である。
【図４】第一実施形態に係る制御装置１１０による再配置処理の流れを示すフローチャートの一例を示す図である。
【図５】第一実施形態に係る制御装置１１０による分類処理の流れを示すフローチャートの一例を示す図である。
【図６】（ａ）は、本発明の第二実施形態に係る制御装置１１０の機能構成の一例を示す図である。（ｂ）は、本発明の第二実施形態に係る記憶装置１１６の一例を示す図である。
【図７】第二実施形態に係る制御装置１１０による前処理の流れを示すフローチャートの一例を示す図である。
【図８】第二実施形態に係る制御装置１１０による対応付け処理の流れを示すフローチャートの一例を示す図である。
【図９】（ａ）は、ファイルリクエストのシミュレーションモデルの一例を示す図である。（ｂ）は、（ａ）に示すシミュレーションモデルの各状態において、正規乱数を生成させる際に使用したパラメータの表を示す図である。
【図１０】（ａ）は、図９に示すファイルリクエストのシミュレーションモデルによる、ファイル番号ごとのファイルリクエスト回数のヒストグラムを示す図である。（ｂ）は、ディスクＤ２に割り当てられたファイルに対応する、ファイル番号ごとのファイルリクエスト回数のヒストグラムを示す図である。（ｃ）は、ディスクＤ３に割り当てられたファイルに対応する、ファイル番号ごとのファイルリクエスト回数のヒストグラムを示す図である。（ｄ）は、ディスクＤ１に割り当てられたファイルに対応する、ファイル番号ごとのファイルリクエスト回数のヒストグラムを示す図である。
【図１】
0005284685.tif 000002
【図２】
0005284685.tif 000003
【図３】
0005284685.tif 000004
【図４】
0005284685.tif 000005
【図５】
0005284685.tif 000006
【図６】
0005284685.tif 000007
【図７】
0005284685.tif 000008
【図８】
0005284685.tif 000009
【図９】
0005284685.tif 000010
【図１０】
0005284685.tif 000011