(57)【要約】【課題】ＩＯアクセス集中に対する予測を正確に行なう。【解決手段】記憶装置２０の単位領域に対して行なわれたアクセス履歴に基づいて、記憶装置２０に関するアクセス予測情報を作成する作成部１０４と、記憶装置２０における、第１の期間に収集された、アクセスが集中した集中状態の単位領域についての集中状態の傾向を表す第１の集中状態傾向情報と、第１の期間に先行する第２の期間に収集された、集中状態の単位領域についての集中状態の傾向を表す第２の集中状態傾向情報とを比較する比較部１０３とを備え、第２の集中状態傾向情報が第１の集中状態傾向情報に比べて基準以上に変化した場合に、作成部１０４が、前記第２の期間に収集されたアクセス履歴を除外したアクセス履歴を用いてアクセス予測情報を再作成する。【選択図】図２
2018106252.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を備える情報処理装置であって、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する作成部と、
前記記憶装置における、第１の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第１の集中状態傾向情報と、前記第１の期間に先行する第２の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第２の集中状態傾向情報とを比較する比較部とを備え、
前記比較部による比較の結果、前記第２の集中状態傾向情報が前記第１の集中状態傾向情報に比べて基準以上に変化した場合に、前記作成部が、前記第２の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する
ことを特徴とする、情報処理装置。
【請求項２】
前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集する収集部を備え、
前記比較部が、判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第１のタイミングまでの第１期間において収集された第１の集中状態傾向情報と、前記第１のタイミングから、該第１のタイミングよりも一定時間間隔前の第２のタイミングまでの第２の期間において収集された第２の集中状態傾向情報とを比較する
ことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記記憶装置として、第１の記憶装置と、前記第１の記憶装置とは異なる性能の第２の記憶装置とをそなえ、
前記アクセス予測情報に基づき、前記第１の記憶装置と前記第２の記憶装置との間でデータを移動させる単位領域を特定する特定部と、
前記特定部によって特定された前記単位領域のデータを、前記第１の記憶装置と前記第２の記憶装置との間で移動させる指示を発行する移動指示部と
を備えることを特徴とする、請求項２記載の情報処理装置。
【請求項４】
前記第１の記憶装置と前記第２の記憶装置との間で前記データの移動を行なうことにより生じる損失と利益とを比較し、利益が損失よりも大きい場合に、前記データの移動を行なわせると判定する移動判定部を備えることを特徴とする、請求項３記載の情報処理装置。
【請求項５】
前記集中状態の発生位置を予測する予測部を備え、
前記特定部が、予測された前記集中状態の発生位置に含まれる前記単位領域を、前記第１の記憶装置と前記第２の記憶装置との間でデータを移動させる単位領域として特定する
ことを特徴とする、請求項３または４に記載の情報処理装置。
【請求項６】
前記アクセス予測情報が、前記集中状態が発生してからの複数の経過時間のそれぞれに対して、前記集中状態の残り継続時間の予測値を対応付けて構成されたことを特徴とする、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
記憶装置を備えるコンピュータに、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成し、
前記記憶装置における、第１の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第１の集中状態傾向情報と、前記第１の期間に先行する第２の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第２の集中状態傾向情報とを比較し、
比較の結果、前記第２の集中状態傾向情報が前記第１の集中状態傾向情報に比べて基準以上に変化した場合に、前記第２の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する
処理を実行させることを特徴とする、ストレージ制御プログラム。
【請求項８】
記憶装置を備える情報処理装置において、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する処理と、
前記記憶装置における、第１の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第１の集中状態傾向情報と、前記第１の期間に先行する第２の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第２の集中状態傾向情報とを比較する処理と、
比較の結果、前記第２の集中状態傾向情報が前記第１の集中状態傾向情報に比べて基準以上に変化した場合に、前記第２の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する処理と
を備えることを特徴とする、ストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ストレージ制御プログラムおよびストレージ制御方法に関する。
【背景技術】
【０００２】
ストレージ装置においては、ＩＯ（Input Output）アクセスが特定の狭い記憶領域に集中して発生する場合がある。例えば、ＨＤＤ（Hard Disk Drive）と半導体メモリ装置とを備える階層化ストレージシステムにおいて、ＨＤＤにおけるＩＯアクセスが集中発生する領域のデータを、アクセス速度が高速であるＳＳＤ（Solid State Drive）に移動させることで、ＩＯアクセスの集中による性能低下を回避する手法が知られている。
【０００３】
また、ストレージ装置においては、このようなＩＯアクセス集中が継続する時間を予測することが行なわれている。例えば、ＩＯアクセス集中が発生する都度その継続時間を測定して、１日単位等の比較的長い時間間隔で集計し、その集計値を参照することで、次のＩＯアクセス集中の継続時間を予測する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２２５１６７号公報
【特許文献２】特許第５７０７５４０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のストレージ装置においては、ＩＯアクセス集中の継続時間を、１日単位等の比較的長い時間間隔で集計した集計値を用いて予測している。従って、ＩＯアクセス集中の継続時間分布が１日の途中で変化した場合に、変化前後のデータが混在した集計結果を用いて分析を行なう。そのため、ＩＯアクセス集中の傾向が変化した後の予測精度が低く、ＩＯアクセス集中に関する予測が不正確になるという課題がある。
【０００６】
１つの側面では、本発明は、ＩＯアクセス集中の傾向が変化する場合においても、ＩＯアクセス集中に対する予測を正確に行なうことができるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
このため、この情報処理装置は、記憶装置を備える情報処理装置であって、前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する作成部と、前記記憶装置における、第１の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第１の集中状態傾向情報と、前記第１の期間に先行する第２の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第２の集中状態傾向情報とを比較する比較部とを備え、前記比較部による比較の結果、前記第２の集中状態傾向情報が前記第１の集中状態傾向情報に比べて基準以上に変化した場合に、前記作成部が、記第２の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する。
【発明の効果】
【０００８】
一実施形態によれば、ＩＯアクセス集中に対する予測を正確に行なうことができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態の一例としての階層ストレージ装置を備えるストレージシステムの構成を例示する図である。
【図２】実施形態の一例としての階層ストレージ装置の機能構成を示す図である。
【図３】実施形態の一例としての階層ストレージ装置におけるＩＯアクセス集中管理情報を例示する図である。
【図４】実施形態の一例としての階層ストレージ装置における比較部による処理を説明するための図である。
【図５】実施形態の一例としての階層ストレージ装置における残り継続時間表を例示する図である。
【図６】実施形態の一例としての階層ストレージ装置における残り継続時間表の作成方法を説明するためのフローチャートである。
【図７】実施形態の一例としての階層ストレージ装置における残り継続時間表作成用期間の変更方法を説明するための図である。
【図８】実施形態の一例としての階層ストレージ装置における移動判定部による移動判定方法を説明するための図である。
【図９】実施形態の一例としての階層ストレージ装置における移動判定部によるＩＯアクセス集中発生領域の予測方法を説明するための図である。
【図１０】実施形態の一例としての階層ストレージ装置における移動判定部によるＩＯアクセス集中発生領域の予測方法を説明するための図である。
【図１１】ＩＯアクセス集中予測領域をワークロードフットプリントとともに示す図である。
【図１２】実施形態の一例としての階層ストレージ装置における階層ストレージ制御装置のハードウェア構成例を示す図である。
【図１３】実施形態の一例としての階層ストレージ装置における基点時刻Tstartの更新方法を説明するためのフローチャートである。
【図１４】実施形態の一例としての階層ストレージ装置におけるワークロード分析部による処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本情報処理装置、ストレージ制御プログラムおよびストレージ制御方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１１】
〔１〕構成
〔１−１〕ストレージシステムの構成例
図１は実施形態の一例としての階層ストレージ装置１を備えるストレージシステム１００の構成を例示する図である。
【００１２】
図１に示すように、ストレージシステム１００は、ＰＣ（Personal Computer）等のホスト装置２と階層ストレージ装置１とを備える。ホスト装置２と階層ストレージ装置１とは、ＳＡＳ（Serial Attached Small Computer System Interface）やＦＣ（Fibre Channel）等のインタフェースを介して接続されている。
【００１３】
ホスト装置２は、図示しないＣＰＵ（Central Processing Unit）等のプロセッサを備え、このプロセッサによりアプリケーション３を実行することで、種々の機能を実現する。
【００１４】
階層ストレージ装置１は、後述の如く、複数種類の記憶装置（図２に示す例では、ＳＳＤ２０およびＤＩＭＭ（Dual Inline Memory Module）３０）を備え、これらの記憶装置の記憶領域をホスト装置２に提供する。階層ストレージ装置１が提供する記憶領域には、ホスト装置２においてアプリケーション３の実行により生成されたデータや、アプリケーション３を実行するために用いられるデータ等が格納される。
【００１５】
ホスト装置２が階層ストレージ装置１の記憶領域に対してデータのライトやリードを行なうことで、ＩＯアクセスが生じる。
【００１６】
〔１−２〕階層ストレージ装置の機能構成例
図２は実施形態の一例としての階層ストレージ装置１の機能構成を示す図である。図２に示すように、階層ストレージ装置（ストレージ装置）１は、階層ストレージ制御装置（ストレージ制御装置）１０，ＳＳＤ２０，及びＤＩＭＭ３０をそなえる。
【００１７】
階層ストレージ制御装置１０は、ホスト装置２からのＩＯアクセスに応じて、ＳＳＤ２０及びＤＩＭＭ３０への種々のアクセスを行なうストレージ制御装置である。例えば、階層ストレージ制御装置１０は、ＳＳＤ２０及びＤＩＭＭ３０へのリード又はライト等のアクセスを行なう。階層ストレージ制御装置１０としては、ＰＣやサーバ，又はコントローラモジュール（ＣＭ；Controller Module）等の情報処理装置が挙げられる。
【００１８】
また、本実施形態に係る階層ストレージ制御装置１０は、ＩＯアクセスの頻度に応じて、アクセス頻度が低い領域をＳＳＤ２０に配置する一方、アクセス頻度が高い領域をＤＩＭＭ３０に配置する、動的階層制御を実現する。
【００１９】
ＤＩＭＭ（第１の記憶装置）３０は、種々のデータやプログラム等を格納する記憶装置の一例であり、ＳＳＤ（第２の記憶装置）２０は、ＤＩＭＭ３０とは異なる性能の（例えばより低速な）記憶装置の一例である。本実施形態において、互いに異なる記憶装置（以下、便宜上、第１及び第２の記憶装置と表記する場合がある）として、ＤＩＭＭ３０等の半導体メモリモジュール，ＳＳＤ２０等の半導体ドライブ装置をそれぞれ例に挙げているが、これに限定されるものではない。第１及び第２の記憶装置として、互いに性能差（例えばリード／ライトの速度差）のある種々の記憶装置が用いられればよい。
【００２０】
ＳＳＤ２０及びＤＩＭＭ３０は、階層ストレージ装置１におけるストレージボリュームを構成する。
【００２１】
以下、ホスト装置２等から認識される１つのストレージボリュームをＬＵＮ（Logical Unit Number）という。さらに、ＬＵＮを予め決められたサイズで分割した１単位（単位領域）をサブＬＵＮ（ｓｕｂ  ＬＵＮ）という。なお、サブＬＵＮのサイズは、例えば、ＭＢ（MegaByte）〜ＧＢ（GigaByte）のオーダで適宜変更して実施することができる。
なお、サブＬＵＮをセグメントという場合もある。
【００２２】
ＳＳＤ２０及びＤＩＭＭ３０の各々は、ストレージボリューム上のサブＬＵＮ（単位領域）のデータを格納可能な記憶領域を含む。階層ストレージ制御装置１０は、サブＬＵＮ単位で、ＳＳＤ２０とＤＩＭＭ３０との間の領域移動を制御する。以下、ＳＳＤ２０の記憶領域とＤＩＭＭ３０の記憶領域との間におけるデータの移動をマイグレーション（Migration）という場合がある。
【００２３】
なお、図２では、階層ストレージ装置１がそれぞれ１つのＳＳＤ２０及びＤＩＭＭ３０をそなえるものとしているが、これに限定されるものではなく、それぞれ複数のＳＳＤ２０及びＤＩＭＭ３０をそなえてもよい
【００２４】
次に、階層ストレージ制御装置１０の詳細について説明する。
階層ストレージ制御装置１０は、一例として、図２に示すように、階層管理部１１，階層ドライバ１２，ＳＳＤドライバ１３及びＤＩＭＭドライバ１４をそなえる。なお、例えば、階層管理部１１は、ユーザ空間で実行されるプログラムとして実現され、階層ドライバ１２，ＳＳＤドライバ１３及びＤＩＭＭドライバ１４は、ＯＳ（Operating System）空間で実行されるプログラムとして実現される。
【００２５】
本実施形態においては、階層ストレージ制御装置１０は、例えば、Ｌｉｎｕｘ（登録商標）  ｄｅｖｉｃｅ−ｍａｐｐｅｒの機能を用いるものとする。ｄｅｖｉｃｅ−ｍａｐｐｅｒがストレージボリュームをサブＬＵＮ単位で監視し、高負荷となったサブＬＵＮのデータをＳＳＤ２０からＤＩＭＭ３０へ移動することで高負荷領域へのＩＯを処理する。なお、ｄｅｖｉｃｅ−ｍａｐｐｅｒはコンピュータプログラムとして実装されている。
【００２６】
階層管理部１１は、サブＬＵＮに対するデータアクセスを分析することで、ＳＳＤ２０からＤＩＭＭ３０へデータを移動させるサブＬＵＮを特定（移動候補抽出）する。また、階層管理部１１は、ＳＳＤ２０からＤＩＭＭ３０に対して、または、ＤＩＭＭ３０からＳＳＤ２０に対して、サブＬＵＮのデータを移動させる。
【００２７】
階層管理部１１は、例えば収集したＩＯアクセス情報に基づいて、ＳＳＤ２０又は／及びＤＩＭＭ３０についてトレースされたＩＯの情報に基づいて、領域移動を行なうサブＬＵＮを判定し、判定したサブＬＵＮのデータの移動を階層ドライバ１２に指示する。
【００２８】
階層管理部１１は、図２に示すように、データ収集部（収集部）１１ａ，ワークロード分析部１１ｂおよび移動指示部１１ｃとしての機能をそなえる。
【００２９】
階層管理部１１は、例えば、Ｌｉｎｕｘ上においてはログプール（Log Pool），ワークロード分析およびサブＬＵＮ移動指示の３つのコンポーネントを有する分割・構成変更エンジンとして実装される。そして、これらのログプール，ワークロード分析およびサブＬＵＮ移動指示の各コンポーネントが、図２に示すデータ収集部１１ａ，ワークロード分析部１１ｂおよび移動指示部１１ｃとしての機能をそれぞれ実現する。
【００３０】
データ収集部（収集部）１１ａは、ＳＳＤ２０又は／ＤＩＭＭ３０に対するＩＯアクセスの情報（ＩＯアクセス情報）を収集する。例えば、データ収集部１１ａは、Ｌｉｎｕｘのｂｌｋｔｒａｃｅを用いてＳＳＤ２０又は／ＤＩＭＭ３０についてトレースされたＩＯの情報を所定間隔（例えば１分間隔）で収集する。データ収集部１１ａは、ＩＯトレースにより、例えばｔｉｍｅｓｔａｍｐやＬＢＡ（Logical Block Addressing ），ｒ／ｗ（ｒｅａｄ／ｗｒｉｔｅ），ｌｅｎｇｔｈ等の情報を採取する。ＬＢＡからはサブＬＵＮ  ＩＤを求めることができる。
【００３１】
ここで、ｂｌｋｔｒａｃｅは、ブロックＩＯレベルでのＩＯをトレースするコマンドである。以下、トレースされたＩＯアクセスの情報を、トレース情報という場合ある。なお、データ収集部１１ａは、ｂｌｋｔｒａｃｅに代えて、ディスクＩＯの利用状況を確認するコマンドであるｉｏｓｔａｔ等の他の手法を用いてＩＯアクセス情報を収集してもよい。なお、ｂｌｋｔｒａｃｅ及びｉｏｓｔａｔはＯＳ空間で実行される。
【００３２】
そして、データ収集部１１ａは、収集した情報に基づいて、サブＬＵＮごとのＩＯアクセス数を集計する。
【００３３】
データ収集部１１ａは、一定時間間隔（ｔ）ごとにサブＬＵＮ単位でＩＯアクセスに関する情報を収集する。例えば、階層管理部１１が１分間隔でサブＬＵＮの移動判定を行なう場合には、この一定時間間隔（ｔ）は１分に設定される。
【００３４】
データ収集部１１ａは、例えば、各サブＬＵＮに対するＩＯ数や、平均応答時間として、Avers，AversWithMg，AveMgTime，AversDimmをそれぞれ収集する。
【００３５】
ここで、“Avers”は、マイグレーションを行なわない場合でのＳＳＤ２０におけるＩＯアクセスのアクセス平均応答時間である。“AversWithMg”は、マイグレーションを行なう場合でのＳＳＤ２０におけるＩＯアクセスの平均応答時間である。“AveMgTime”は１つのサブＬＵＮをマイグレーションする場合の平均実行時間である。“AversDimm”は、ＤＩＭＭ３０におけるＩＯアクセスの平均応答時間である。
【００３６】
これらのＩＯ数，平均応答時間Avers，AversWithMg，AveMgTime，AversDimm の各値は、例えば階層ドライバ１２の機能によって収集もしくは算出される。データ収集部１１ａは、これらの値を階層ドライバ１２から取得し、ＩＯアクセス集中特徴記録ＤＢ１０２に登録する。
【００３７】
また、データ収集部１１ａは、これらの情報を適宜収集して、ＩＯアクセス集中特徴記録ＤＢ１０２に登録する。
【００３８】
以下、平均応答時間Avers，AversWithMg，AveMgTime，AversDimmをパラメータという場合がある。これらのパラメータは、運用ワークロードやＳＳＤ２０等の使用機材の影響を受けるため、後述の如く、マイグレーションによる利益の判断に用いるに際して、運用時に直前の平均値等を求めることが望ましい。
【００３９】
また、データ収集部１１ａは、各セグメント又は／及び全セグメントへのＩＯのリードライト比（ｒｗ比）を集計し、上述した情報に含めてもよい。
このように、データ収集部１１ａは、ＳＳＤ２０又はＨＤＤ３０で使用される領域を所
定の大きさで分割した複数の単位領域について、入力されたＩＯアクセス要求に関する情報を収集する収集部の一例である。
【００４０】
移動指示部１１ｃは、後述するワークロード分析部１１ｂ（移動判定部１０５）からの指示（移動判定通知，移動対象情報）に従って、階層ドライバ１２に、選択されたサブＬＵＮのデータの、ＳＳＤ２０からＤＩＭＭ３０への移動、又は、ＤＩＭＭ３０からＳＳＤ２０への移動を指示する。
【００４１】
ワークロード分析部１１ｂは、データ収集部１１ａによって収集されたＩＯアクセス情報に基づき、ＳＳＤ２０またはＤＩＭＭ３０におけるデータの移動元となるサブＬＵＮを選択し、選択したサブＬＵＮに関する情報を移動指示部１１ｃに渡す。
【００４２】
以下、本実施形態においては、ＳＳＤ２０からＤＩＭＭ３０へデータを移動させる場合について示す。
【００４３】
ワークロード分析部１１ｂは、図２に示すように、監視部１０１，ＩＯアクセス集中特徴記録データベース（ＤＢ）１０２，比較部１０３，残り継続時間表作成部１０４および移動判定部１０５を備える。
【００４４】
監視部１０１は、ＩＯアクセス集中の検出および監視を行なう。監視部１０１は、データ収集部１１ａによって収集されたサブＬＵＮ単位のＩＯアクセスについてのトレース情報に基づき、ＳＳＤ２０におけるＩＯアクセス集中の発生を検出する。
【００４５】
ここで、ＩＯアクセス集中とは、例えば、全ボリューム容量の所定％（例えば、０．１％程度〜数％）までの範囲領域に全ＩＯアクセスの半分以上が集まった状態をいう。
【００４６】
監視部１０１は、上述した所定の範囲領域に、所定の閾値以上（例えば、全ＩＯアクセスの５０％〜９０％程度）のアクセスが集中した状態となったことを検出すると、ＩＯアクセス集中状態であると判断する。
【００４７】
なお、ＩＯアクセスの集中を判断するための範囲領域としては、連続した１つの範囲領域を対象として判断してもよく、また、互いに離散した複数の範囲領域の合計を対象として判断してもよい。
【００４８】
なお、１つのＩＯアクセスの継続時間は、最大でも８０分前後であり、短いケースでは、１分未満で終息してしまう場合もある。
【００４９】
また、監視部１０１は、ＩＯアクセス集中の終息についても検出する。ＩＯアクセス集中の終息とは、今までＩＯアクセスが集中していた範囲領域に関して、ＩＯアクセス数が、上述した閾値未満となった状態をいう。
【００５０】
なお、ＩＯアクセス数が一瞬低下した後に、すぐに回復するケースもある。そこで、監視部１０１は、例えば、今までＩＯアクセスが集中していた範囲領域に関して、ＩＯアクセス数が、上述した閾値未満となってから所定時間（例えば、Ｎ分間）経過した時点で、ＩＯアクセス集中が終息したと判断することが望ましい。
【００５１】
監視部１０１は、ＩＯアクセス集中に関する情報をＩＯアクセス集中特徴記録ＤＢ１０２に登録する。
【００５２】
ＩＯアクセス集中特徴記録ＤＢ１０２は、本階層ストレージ装置１において検出されたＩＯアクセス集中に関する情報を記録するデータベースである。ＩＯアクセス集中特徴記録ＤＢ１０２には、ＩＯアクセス集中に関する情報であるＩＯアクセス集中管理情報が登録される。
【００５３】
図３は実施形態の一例としての階層ストレージ装置１におけるＩＯアクセス集中管理情報を例示する図である。この図３に示す例においては、便宜上、ＩＯアクセス集中管理情報をテーブルとして示している。以下、複数のＩＯアクセス集中管理情報をテーブル状に示した情報をＩＯアクセス集中管理テーブルという。
【００５４】
ＩＯアクセス集中管理情報は、ＳＳＤ２０において発生中のＩＯアクセス集中に関する情報であり、ＩＯアクセス集中管理テーブルには、ＳＳＤ２０において発生中のＩＯアクセス集中に関する情報がエントリとして登録される。
【００５５】
図３に示すＩＯアクセス集中管理情報は、項目としてID，Start sub-LUN，End sub-LUNおよびStart timeを備える。
【００５６】
図９〜図１１を用いて後述する如く、ＳＳＤ２０において、ＩＯアクセス集中はストレージボリュームを移動する範囲として観測される。Start sub-LUNはＩＯアクセス集中領域の始点、すなわちＩＯアクセス集中の発生位置であるサブＬＵＮを特定するための情報である。また、End sub-LUNは、ＩＯアクセス集中領域の終点、すなわち、ＩＯアクセス集中の移動先位置であるサブＬＵＮを特定するための情報である。
【００５７】
Start timeは、そのＩＯアクセス集中が発生した時刻を示す。IDはそのＩＯアクセス集中（エントリ）を特定するための識別情報であり、例えば、ＩＯアクセス集中の発生順にシーケンシャルに付番される。
【００５８】
これらの情報は、監視部１０１がＩＯアクセス集中の発生を検出すると、ＩＯアクセス集中管理テーブルに登録する。
【００５９】
また、ＩＯアクセス集中特徴記録ＤＢ１０２には、ＩＯアクセス集中について、終息した時間，ＩＯアクセス集中の継続時間，リード／ライト比（ＲＷ比），平均ＩＯＰＳ（Input Output Per Second）等のＩＯアクセス集中の傾向を示す情報（ＩＯアクセス集中傾向情報）が登録される。これらの情報は、ＩＯアクセス集中の傾向を表し、指標となる情報であり、ＩＯアクセス集中が終息した際に、監視部１０１により、ＩＯアクセス集中特徴記録ＤＢ１０２に、当該ＩＯアクセス集中のIDに対応付けて登録される。以下、これらの継続時間の最大値，継続時間の平均値，継続時間の最小値，ＲＷ比および平均ＩＯＰＳをＩＯアクセス集中傾向情報という場合がある。
【００６０】
ＩＯアクセス集中特徴記録ＤＢ１０２におぃては、ＩＯアクセス集中傾向情報は時系列で保存されることが望ましい。
【００６１】
比較部１０３は、複数の時間区間でのＩＯアクセス集中傾向情報を比較する。
【００６２】
図４は実施形態の一例としての階層ストレージ装置１における比較部１０３による処理を説明するための図である。
【００６３】
図４中において、時刻T1，T2，TCは時系列に沿って並んでおり、時刻TCは現在時刻（Current Time）を示し、時刻TC ，T1，T2の順に古くなる。時刻T1から時刻TCまでの期間を期間αと表し、時刻T2から時刻T1までの期間を期間βと表す。
【００６４】
また、時刻T2から時刻T1までの経過時間と、時刻T1から時刻TCまでの経過時間は等しいものとする。従って、期間αの長さと期間βの長さは等しい。
【００６５】
期間αおよび期間βの長さをTintervalと表すと、時刻TCから時刻T１までの長さはTintervalであり、時刻TCから時刻T2までの長さはTinterval×２で表すことができる。
【００６６】
以下、時刻TCをcur_timeという場合がある。時刻T1＝cur_time−Tinterval，時刻T2＝cur_time−２×Tintervalと、それぞれ表すことができる。
【００６７】
比較部１０３は、期間αと期間βとに終息したＩＯアクセス集中に関して、例えば、ＩＯアクセス集中特徴記録ＤＢ１０２から取得した情報に基づき、継続時間の最大値，継続時間の平均値，継続時間の最小値，ＲＷ比および平均ＩＯＰＳをそれぞれ算出する。以下、これらの継続時間の最大値，平均値および最小値，ＲＷ比および平均ＩＯＰＳを、比較要素といい、これらの比較要素をまとめて比較項目Ｐという。
【００６８】
比較部１０３は、期間αにおける比較項目Ｐの各比較要素の値（第１の集中状態傾向情報）と期間βにおける比較項目Ｐの各比較要素の値（第２の集中状態傾向情報）とを比較する。
【００６９】
すなわち、比較部１０３は、判断開始時刻（TC）から、判断開始時刻（TC）よりも一定時間間隔（Tinterval）前の第１のタイミング（T1）までの第１期間（α）において収集された第１の集中状態傾向情報と、第１のタイミング（T1）から、第１のタイミング（T1）よりも一定時間間隔（Tinterval）前の第２のタイミング（T2）までの第２期間（β）において収集された第２の集中状態傾向情報とを比較するのである。
【００７０】
そして、比較の結果、これらの比較要素のうち、所定の基準以上変化するものが１つでもある場合に、比較部１０３は、残り継続時間表作成部１０４にＩＯアクセス集中傾向の変化を検出したことを示す通知（ＩＯアクセス集中傾向変化通知）を行なう。
【００７１】
例えば、比較部１０３は、上述した比較要素のうち、差分が所定の閾値％を超えるものが１つでもある場合に、ＩＯアクセス集中傾向が変化したと判定する。
【００７２】
比較部１０３は、所定期間である時間Tintervalが経過する毎に、すなわちTinterval間隔で、この時間Tintervalが経過する前後でのＩＯアクセス集中に関する情報（比較項目Ｐ）を比較することで、ＩＯアクセス集中傾向の変化の有無を確認する。
【００７３】
残り継続時間表作成部１０４は、残り継続時間表１０４１の作成および更新を行なう。
【００７４】
（ａ）残り継続時間表１０４１の作成方法
図５は実施形態の一例としての階層ストレージ装置１における残り継続時間表１０４１を例示する図である。
【００７５】
残り継続時間表１０４１は、発生中のＩＯアクセス集中が終息するまでの残り時間（残り継続時間）の指標を示す。
【００７６】
図５に示すように、残り継続時間表１０４１は、継続時間，平均継続時間および残り継続時間を対応付けて構成されている。
【００７７】
継続時間は、ＩＯアクセス集中が発生してからの経過時間である。以下、継続時間を符号（Ａ）を用いて表す。例えば、図５中において、継続時間（Ａ）＝８４０は、ＩＯアクセス集中が発生してから８４０秒経過したことを示す。
【００７８】
平均継続時間は、継続時間（Ａ）だけ継続したＩＯアクセス集中が発生してから終息するまでの時間の平均値を示す。以下、平均継続時間を符号（Ｄ）を用いて表す。例えば、図５中において、継続時間（Ａ）＝８４０に対して、平均継続時間（Ｄ）＝８７０．００が対応付けられている。これは、８４０秒間継続したＩＯアクセス集中は、平均して８７０秒継続して存続し、８７０秒が経過した時点で終息することを示す。
【００７９】
残り継続時間は、発生中のＩＯアクセス集中が終息するまでの残り時間を示す。以下、残り続時間を符号（Ｄ）を用いて表す。例えば、図５中において、継続時間（Ａ）＝８４０に対して、残り継続時間（Ｅ）＝３０．００が対応付けられている。これは、８４０秒間継続したＩＯアクセス集中は、３０秒後に終息することを示す。
【００８０】
なお、図５中における項目“サンプリング数（Ｂ）”および“Ｃ＝Ａ＊Ｂ”は、残り継続時間表１０４１を作成過程で用いられる値である。なお、“＊”は乗算（×）を意味する。
【００８１】
実施形態の一例としての階層ストレージ装置１における残り継続時間表作成部１０４による残り継続時間表１０４１の作成方法を、図６に示すフローチャート（ステップＡ１〜Ａ６）に従って説明する。
【００８２】
なお、Tstartは、残り継続時間表１０４１の作成を行なうに際して用いられる起点時刻である。残り継続時間表作成部１０４は、時刻Tstartから現在時刻TCまでの期間（残り継続時間表作成用期間）のＩＯアクセス集中についての情報をＩＯアクセス集中特徴記録ＤＢ１０２から抽出し、これらの情報を用いて残り継続時間表１０４１を作成する。
【００８３】
残り継続時間表作成部１０４は、継続時間（Ａ）の各値（エントリ）に対して、以下の処理を行なうことで、残り継続時間表１０４１を作成する。
【００８４】
以下、継続時間（Ａ）におけるエントリを符号Ａを用いて表す。また、継続時間（Ａ）における処理対象の任意のエントリを符号Ｎを用いて表す場合がある。
【００８５】
ステップＡ１において、残り継続時間表作成部１０４は、ＩＯアクセス集中特徴記録ＤＢ１０２から、Tstart以降のデータを抽出し、これらの抽出したデータを用いて、継続時間（Ａ）のエントリ毎のサンプリング数（Ｂ）求める。
【００８６】
例えば、図５に示す例において、継続時間（Ａ）の値が８４０（Ａ＝８４０）であるエントリについては、そのサンプリング数（Ｂ）の値は２０（Ｂ＝２０）である。
【００８７】
ステップＡ２において、残り継続時間表作成部１０４は、継続時間毎に、継続時間（Ａ）にサンプリング数（Ｂ）を乗算してＣを算出する（Ｃ＝Ａ×Ｂ）。
【００８８】
例えば、図５に示す例において、継続時間（Ａ）の値が８４０（Ａ＝８４０）であるエントリについては、サンプリング数（Ｂ）の値が２０（Ｂ＝２０）であるので、Ｃ＝８４０×２０＝１６，８００である。
【００８９】
ステップＡ３において、残り継続時間表作成部１０４は、処理対象の継続時間Ｎ以上の各継続時間（Ａ）のＣの合計値（Ｆ）を算出する。
【００９０】
例えば、図５に示す例において、継続時間（Ａ）の値が８４０（Ａ＝８４０）であるエントリについては、この継続時間（Ａ）＝８４０以上の継続時間は、８４０と９００であるので、これら継続時間（Ａ＝８４０，９００）の各Ｃ（Ｃ＝１６８００，１８０００）の合計値（Ｆ）＝１６８００＋１８０００＝３４８００である。
【００９１】
ステップＡ４において、残り継続時間表作成部１０４は、処理対象の継続時間Ｎ以上の継続時間（Ａ）の各サンプリング数（Ｂ）の合計値（Ｇ）を算出する。
【００９２】
例えば、図５に示す例において、継続時間（Ａ）の値が８４０（Ａ＝８４０）であるエントリについては、この継続時間（Ａ）＝８４０以上の継続時間は、８４０と９００であるので、これら継続時間（Ａ＝８４０，９００）の各サンプリング数（Ｂ）の合計値（Ｇ）＝２０＋２０＝４０である。
【００９３】
ステップＡ５において、残り継続時間表作成部１０４は、ステップＡ３において算出したＣの合計値（Ｆ）を、ステップＡ４において算出したサンプリング数（Ｂ）の合計値で除算することで、ＩＯアクセス集中の平均継続時間（Ｄ）を算出する。
【００９４】
例えば、図５に示す例において、継続時間（Ａ）の値が８４０（Ａ＝８４０）であるエントリについては、平均継続時間（Ｄ）＝Ｃの合計値（Ｆ）／サンプリング数（Ｂ）の合計値＝３４８００／４０＝８７０である。
【００９５】
ステップＡ６において、残り継続時間表作成部１０４は、ステップＡ５において算出したＩＯアクセス集中の平均継続時間（Ｄ）から、継続時間（Ａ）を減算することで、ＩＯアクセス集中の残り継続時間（Ｅ）を算出する。
【００９６】
例えば、図５に示す例において、継続時間（Ａ）の値が８４０（Ａ＝８４０）であるエントリについては、残り継続時間（Ｅ）＝平均継続時間（Ｄ）−継続時間（Ａ）＝８７０−８４０＝３０である。
【００９７】
（ｂ）残り継続時間表作成用期間の変更
また、残り継続時間表作成部１０４は、比較部１０３からＩＯアクセス集中傾向の変化を検出したことを示す通知（ＩＯアクセス集中傾向変化通知）を受信すると、残り継続時間表１０４１の作成に用いる、ＩＯアクセス集中特徴記録ＤＢ１０２におけるデータ範囲を変更する。
【００９８】
すなわち、残り継続時間表作成部１０４は、比較部１０３がＩＯアクセス集中傾向の変化を検出すると、その時点での時刻T1をTstartに設定する。残り継続時間表作成部１０４は、この変更後の時刻Tstartを起点とする残り継続時間表作成用期間のＩＯアクセス集中についての情報をＩＯアクセス集中特徴記録ＤＢ１０２から抽出し、これらの情報を用いて残り継続時間表１０４１を作成する。
【００９９】
図７は実施形態の一例としての階層ストレージ装置１における残り継続時間表作成部１０４による残り継続時間表作成用期間の変更方法を説明するための図である。
【０１００】
この図７に示す例においては、時刻T3のタイミングでＩＯアクセス集中傾向の変化が検出された例を示している。
【０１０１】
この図７においては、時刻T3よりも前の期間が図４に示す期間βに相当し、時刻T3以後の期間が期間αに相当する。
【０１０２】
残り継続時間表作成部１０４は、この時刻T3をTstartに設定する。これにより、時刻Tstart（Ｔ３）から時刻TC（Current Time）までの期間が新たな残り継続時間表作成用期間（期間α）となり、この残り継続時間表作成用期間からは、ＩＯアクセス集中傾向が変化する前の時刻Ｔ３以前（期間β）のＩＯアクセス集中に関する情報が除外される。残り継続時間表作成部１０４は、この残り継続時間表作成用期間におけるＩＯアクセス集中に関する情報を用いて残り継続時間表１０４１を作成する。
【０１０３】
このように、残り継続時間表作成部１０４は、ＩＯアクセス集中傾向が変化した後のＩＯアクセス集中に関する情報を用いて残り継続時間表１０４１を作成（再作成）する。すなわち、残り継続時間表１０４１には、ＩＯアクセス集中傾向が変化する前のＩＯアクセス集中に関する情報が反映されることがなく、階層ストレージ装置１における最新の傾向に応じたＩＯアクセス集中の継続時間予測を行なうことができる。
【０１０４】
移動判定部１０５は、残り継続時間表作成部１０４が作成（再作成）した、残り継続時間表１０４１を参照して、ＳＳＤ２０上のサブＬＵＮ（セグメント）のデータをＤＩＭＭ３０に移動（置換）させるか否かを判定する。
【０１０５】
具体的には、移動判定部１０５は、ＳＳＤ２０からＤＩＭＭ３０へのデータ移動に伴うオーバヘッド（損失，デメリット）と、データ移動を行なうことにより得られる利益（メリット）とを比較することで、データ移動の評価を行なう。そして、この評価（比較）の結果、ＳＳＤ２０からＤＩＭＭ３０へのデータ移動に伴うオーバヘッドよりも、データ移動を行なうことによる利益が上回ると判断した場合に、移動判定部１０５は、移動指示部１１ｃに通知（移動判定通知）を行なう。
【０１０６】
図８は実施形態の一例としての階層ストレージ装置１における移動判定部１０５による移動判定方法を説明するための図である。
【０１０７】
この図８中においては、ＳＳＤ２０からＤＩＭＭ３０へのデータ移動に伴うオーバヘッドを符号Ｘで表し、データ移動を行なうことにより得られる効果を符号Ｙで示す。
【０１０８】
運用ワークロードは時間経過とともに変化するので、データ収集部１１ａは、上記パラメータを常に更新することが望ましい。ＳＳＤ２０から取り出せる性能についても、特にランダムライトが多いワークロードでは徐々に悪化するので、データ収集部１１ａは、やはり上記パラメータを常に更新することが望ましい。
【０１０９】
図８に示すグラフは、ＳＳＤ２０からＤＩＭＭ３０へのデータのマイグレーションを行なう際における各過程での平均応答時間およびＩＯアクセス数を示すものであ。なお、図８中において、縦軸は平均応答時間（Average response time：Ａ）およびＩＯアクセス数（Number of IO accesses：Ｂ）を、横軸は経過時間（Elapse times）を、それぞれ示す。
【０１１０】
この図８に示すように、ＳＳＤ２０におけるＩＯアクセス数が増加し、時刻Ｔ４においてＩＯアクセス集中が検出されたものとする。このＩＯアクセス集中にともない、現在時刻の後に、ＩＯアクセス集中が生じているＳＳＤ２０のサブＬＵＮのデータをＤＩＭＭ３０にマイグレーションする。
【０１１１】
マイグレーション処理中においては平均応答時間は長くなり（図８中の符号Ｘ参照）、マイグレーションの完了後、ＤＩＭＭ３０にサブＬＵＮのデータが移動した後には、平均応答時間は短くなる（図８中の符号Ｙ参照）。
【０１１２】
図８中において符号Xで示す領域は、ＳＳＤ２０からＤＩＭＭ３０へのデータ移動に伴うオーバヘッドを示し、このX領域の面積が大きいことが、オーバヘッドが大きいことを表す。また、図８中において符号Yで示す領域は、データ移動を行なうことにより得られる効果を示し、このY領域の面積が大きいことは、データ移動を行なうことにより得られる利得が大きいことを示す。
【０１１３】
移動判定部１０５は、以下の式（１），（２）により、オーバヘッドＸを求める。
【０１１４】
Xduration = AveMgTime* (End sub-LUN - Start sub-LUN)  ・・・（１）
X = (AversWithMg - Avers) * Xduration  ・・・（２）
【０１１５】
なお、Start sub-LUNは、ＩＯアクセス集中領域の始点となるサブＬＵＮを特定する情報であり、End sub-LUN は、ＩＯアクセス集中領域の終点となるサブＬＵＮを特定する情報である（図３参照）。従って、(End sub-LUN - Start sub-LUN)は、ＩＯアクセス集中が発生している領域の数（領域の大きさ）を表す。Xdurationは、ＩＯアクセス集中が生じている複数のサブＬＵＮをマイグレーションするのに要する時間を表す。また、Xはマイグレーションを行なうことで生じる時間的不利益を表す。
【０１１６】
また、移動判定部１０５は、以下の式（３），（４）により、利益Ｙを求める。
【０１１７】
Yduration = Pduration - Xduration  ・・・（３）
Y = (Avers - AversDimm) * Yduration  ・・・（４）
【０１１８】
なお、Pdurationは、ＩＯアクセス集中の残り継続時間を示し、残り継続時間表１０４１を参照することで得ることができる。Yはマイグレーションを行なわないことで得られる（節約できる）時間的利益を表す。
【０１１９】
移動判定部１０５は、算出したこれらのオーバヘッドXと利益Yとを比較し、利益YがオーバヘッドXよりも大きい場合に（Y＞X）、ＳＳＤ２０のサブＬＵＮのデータをＤＩＭＭ３０に移動すべきであると判断する。すなわち、マイグレーションを行なうべきであると判定する。
【０１２０】
移動判定部１０５は、ＳＳＤ２０からＤＩＭＭ３０へのマイグレーションを行なうべきであると判定した場合には、その判定結果を移動指示部１１ｃに通知する。この通知には、マイグレーション対象のサブＬＵＮを特定する情報が移動対象情報として含まれる。
【０１２１】
（ｃ）ＩＯアクセス集中領域の予測
また、移動判定部１０５は、ＳＳＤ２０におけるＩＯアクセス集中が発生する領域の予測を行なう機能を有する。すなわち、移動判定部１０５は、ＳＳＤ２０におけるＩＯアクセス集中の発生位置を予測する予測部として機能する。
【０１２２】
図９および図１０は、それぞれ実施形態の一例としての階層ストレージ装置１における移動判定部１０５によるＩＯアクセス集中発生領域の予測方法を説明するための図である。
【０１２３】
この図９中において、縦軸はストレージボリュームのオフセットを、横軸は経過時間を、それぞれ示す。また、図９中において、白抜きの矩形はＩＯアクセス集中が発生すると予測される領域（ＩＯアクセス集中予測領域）を示し、斜線を付した矩形は、実際にＩＯアクセス集中が発生した領域を示す。
【０１２４】
図９中においては、ＩＯアクセス集中が検出されてから時間Ｔが経過した時点（現在時刻＝T）の状態を示している。移動判定部１０５は、残り継続時間表１０４１を参照して残り継続時間を取得することで、ＩＯアクセス集中が後どれだけ続くのかを予測する。
【０１２５】
図９中において、現在時刻においては、ＩＯアクセス集中が発生してから一定時間（Ｔ）が経過している。移動判定部１０５は、この経過時間Tに基づいて残り継続時間表１０４１の継続時間（Ａ）を参照し、この継続時間（Ａ）に対応する残り継続時間（Ｅ）を取得し、残り継続時間Tendとする。すなわち、移動判定部１０５は、経過時間Tに基づいて残り継続時間表１０４１の継続時間（Ａ）を参照することで、残り継続時間Tendを予測する。
【０１２６】
また、移動判定部１０５は、２つ以上のＩＯアクセス集中の発生位置とこれらのＩＯアクセス集中の発生時刻とに基づいて、ＩＯアクセス集中の発生位置の移動速度（Speed）を算出する。また、移動判定部１０５は、２つ以上のＩＯアクセス集中の発生位置とこれらのＩＯアクセス集中の発生時刻とに基づいて、ＩＯアクセス集中の発生位置の移動方向を特定してもよい。
【０１２７】
そして、移動判定部１０５は、残り継続時間TendとＩＯアクセス集中の発生位置の移動速度（Speed）とを乗算することで、ＩＯアクセス集中予測領域（図９中の白抜き矩形領域）を求める。この際、移動判定部１０５は、ＩＯアクセス集中の発生位置の移動方向を用いてＩＯアクセス集中予測領域を求めてもよい。
【０１２８】
移動判定部１０５は、予測したＩＯアクセス集中予測領域を移動対象情報として移動指示部１１ｃに通知する。
【０１２９】
後述する移動指示部１１ｃは、移動判定部１０５から移動判定通知および移動対象情報を受信すると、この移動判定部１０５からの指示に基づいて、階層ドライバ１２に、選択されたサブＬＵＮのデータの、ＳＳＤ２０からＤＩＭＭ３０への移動を指示する。
【０１３０】
すなわち、ＳＳＤ２０におけるＩＯアクセス集中予測領域に含まれるサブＬＵＮのデータを、ＤＩＭＭ３０への移動対象に含める。
【０１３１】
これにより、移動判定部１０５により予測されたＳＳＤ２０におけるＩＯアクセス集中予測領域のデータが、ＤＩＭＭ３０に移動される。
【０１３２】
図１０中においては、図９の状態の後、ＩＯアクセス集中が検出されてから時間Ｔ2が経過した時点（現在時刻＝Ｔ2）の状態を示している。
【０１３３】
移動判定部１０５は、この経過時間T2に基づいて残り継続時間表１０４１の継続時間（Ａ）を参照して、残り継続時間T2endを予測する。
【０１３４】
そして、移動判定部１０５は、新たに予測した継続時間T2endに基づいて、新たなＩＯアクセス集中予測領域（図１０中の白抜き矩形領域）を求める。
【０１３５】
移動判定部１０５は、予測されたＩＯアクセス集中予測領域のうち、先に移動指示部１１ｃによりＤＩＭＭ３０に移動された部分を除く領域を、移動対象情報として移動指示部１１ｃに通知する。これにより、移動判定部１０５により予測されたＳＳＤ２０におけるＩＯアクセス集中予測領域のデータが、ＤＩＭＭ３０に移動されることとなる。
【０１３６】
図１１はＩＯアクセス集中予測領域をワークロードフットプリントとともに示す図である。図１１中において、符号（ａ）はＩＯアクセス集中が検出されてから時間Ｔが経過した時点（現在時刻＝T）の状態を示しており、符号（ｂ）はＩＯアクセス集中が検出されてから時間Ｔ2が経過した時点（現在時刻＝T2）の状態を示している。
【０１３７】
符号（ａ）中に示すように、時刻Tにおいて行なったＩＯアクセス集中予測においてはＩＯアクセス集中予測領域（移動対象情報）には含まれなかった領域が、符号（ｂ）中に示すように、時刻T2において行なったＩＯアクセス集中予測においてはＩＯアクセス集中予測領域（移動対象情報）に新たに含まれている。
【０１３８】
図２の説明に戻り、移動指示部１１ｃは、移動判定部１０５からの指示に基づいて、階層ドライバ１２に、選択されたサブＬＵＮのデータの、ＳＳＤ２０からＤＩＭＭ３０への移動、又は、ＤＩＭＭ３０からＳＳＤ２０への移動を指示する。
【０１３９】
階層ドライバ１２は、ユーザからのストレージボリュームに対するＩＯ要求をＳＳＤドライバ１３又はＤＩＭＭドライバ１４に振り分け、ＳＳＤドライバ１３又はＤＩＭＭドライバ１４からのＩＯレスポンスをユーザに返す。
【０１４０】
階層ドライバ１２は、移動指示部１１ｃからサブＬＵＮ移動指示（セグメント移動指示）を受け取ると、ＤＩＭＭ３０又はＳＳＤ２０の移動対象の単位領域に記憶されたデータをＳＳＤ２０又はＤＩＭＭ３０に移動する移動処理を実行する。
【０１４１】
なお、この階層ドライバ１２によるＳＳＤ２０−ＨＤＤ３０間のデータ移動は、既知の手法により実現することができ、その説明は省略する。
【０１４２】
ＳＳＤドライバ１３は、階層ドライバ１２の指示に基づいてＳＳＤ２０へのアクセスを制御する。ＤＩＭＭドライバ１４は、階層ドライバ１２の指示に基づいてＤＩＭＭ３０へのアクセスを制御する。
【０１４３】
〔１−３〕階層ストレージ制御装置のハードウェア構成例
次に、図１２を参照して、図２に示す階層ストレージ制御装置１０のハードウェア構成について説明する。図１２は実施形態の一例としての階層ストレージ装置１における階層ストレージ制御装置１０のハードウェア構成例を示す図である。
【０１４４】
階層ストレージ制御装置１０は、図１２に示すように、ＣＰＵ１０ａ，メモリ１０ｂ，記憶部１０ｃ，インタフェース部１０ｄ，入出力部１０ｅ，記録媒体１０ｆ，及び読取部１０ｇをそなえる。
【０１４５】
ＣＰＵ１０ａは、対応する各ブロック１０ｂ〜１０ｇと接続され、種々の制御や演算を行なう演算処理装置（プロセッサ）である。ＣＰＵ１０ａは、メモリ１０ｂ，記憶部１０ｃ，記録媒体１０ｆや１０ｈ，又は図示しないＲＯＭ（Read Only Memory）等に格納されたプログラムを実行することにより、階層ストレージ制御装置１０における種々の機能を実現する。
【０１４６】
メモリ１０ｂは、種々のデータやプログラムを格納する記憶装置である。ＣＰＵ１０ａは、プログラムを実行する際に、メモリ１０ｂにデータやプログラムを格納し展開する。なお、メモリ１０ｂとしては、例えばＲＡＭ（Random Access Memory）等の揮発性メモリが挙げられる。
【０１４７】
記憶部１０ｃは、種々のデータやプログラム等を格納するハードウェアである。記憶部１０ｃとしては、例えばＨＤＤ等の磁気ディスク装置，ＳＳＤ等の半導体ドライブ装置，フラッシュメモリ等の不揮発性メモリ等の各種デバイスが挙げられる。なお、記憶部１０ｃとして複数のデバイスが用いられてもよく、これらのデバイスでＲＡＩＤ（Redundant Arrays of Inexpensive Disks）が構成されてもよい。また、記憶部１０ｃは、ストレージクラスメモリ（Storage Class Memory：ＳＣＭ）であってもよく、また、図２に示すＳＳＤ２０及びＤＩＭＭ３０を含んでもよい。
【０１４８】
インタフェース部１０ｄは、有線又は無線による、ネットワーク（図示省略）や他の情報処理装置との間の接続及び通信の制御等を行なうものである。インタフェース部１０ｄとしては、例えば、ＬＡＮ（Local Area Network），ファイバチャネル（Fibre Channel；ＦＣ），インフィニバンド（InfiniBand）等に準拠したアダプタが挙げられる。
【０１４９】
入出力部１０ｅは、マウスやキーボード等の入力装置及びディスプレイやプリンタ等の出力装置の少なくとも一方を含むことができる。例えば、入出力部１０ｅは、階層ストレージ制御装置１０の使用者又は管理者等による種々の作業に用いられる。
【０１５０】
記録媒体１０ｆは、例えばフラッシュメモリやＲＯＭ等の記憶装置であり、種々のデータやプログラムを記録することができる。読取部１０ｇは、コンピュータ読取可能な記録媒体１０ｈに記録されたデータやプログラムを読み出す装置である。記録媒体１０ｆ及び１０ｈの少なくとも一方には、本実施形態に係る階層ストレージ制御装置１０の各種機能の全部もしくは一部を実現する制御プログラムが格納されてもよい。例えば、ＣＰＵ１０ａは、記録媒体１０ｆから読み出したプログラム、又は、読取部１０ｇを介して記録媒体１０ｈから読み出したプログラムを、メモリ１０ｂ等の記憶装置に展開して実行することができる。これにより、コンピュータ（ＣＰＵ１０ａ，情報処理装置，各種端末を含む）は、上述した階層ストレージ制御装置１０の機能を実現することができる。
【０１５１】
なお、記録媒体１０ｈとしては、例えばフレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク等の光ディスクや、ＵＳＢ（Universal Serial Bus）メモリやＳＤカード等のフラッシュメモリが挙げられる。なお、ＣＤとしては、ＣＤ−ＲＯＭ、ＣＤ−Ｒ（CD-Recordable）、ＣＤ−ＲＷ（CD-Rewritable）等が挙げられる。また、ＤＶＤとしては、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。
【０１５２】
なお、上述した各ブロック１０ａ〜１０ｇ間はバスで相互に通信可能に接続される。例えばＣＰＵ１０ａと記憶部１０ｃとの間は、ディスクインタフェースを介して接続される。また、階層ストレージ制御装置１０の上述したハードウェア構成は例示である。従って、階層ストレージ制御装置１０内でのハードウェアの増減（例えば任意のブロックの追加や省略），分割，任意の組み合わせでの統合，バスの追加又は省略等は適宜行なわれてもよい。
【０１５３】
〔２〕動作
先ず、上述の如く構成された実施形態の一例としての階層ストレージ装置１における基点時刻Tstartの更新方法を、図１３に示すフローチャート（ステップＢ１〜Ｂ５）に従って説明する。
【０１５４】
ステップＢ１において、残り継続時間表作成部１０４は、ＩＯアクセス集中特徴記録ＤＢ１０２から、現在時刻TCから時刻T1までの間に発生したＩＯアクセス集中に関する情報を抽出する。
【０１５５】
そして、残り継続時間表作成部１０４は、抽出した１つ以上のＩＯアクセス集中について、継続時間の最大値，継続時間の平均値，継続時間の最小値，ＲＷ比および平均ＩＯＰＳをそれぞれ算出する。以下、これらの継続時間の最大値，継続時間の平均値，継続時間の最小値，ＲＷ比および平均ＩＯＰＳを、ＩＯアクセス集中傾向情報（Ａ）という。
【０１５６】
ステップＢ２において、残り継続時間表作成部１０４は、ＩＯアクセス集中特徴記録ＤＢ１０２から、現在時刻T1から時刻T2までの間に発生したＩＯアクセス集中に関する情報を抽出する。
【０１５７】
そして、残り継続時間表作成部１０４は、抽出した１つ以上のＩＯアクセス集中について、継続時間の最大値，継続時間の平均値，継続時間の最小値，ＲＷ比および平均ＩＯＰＳをそれぞれ算出する。以下、これらの継続時間の最大値，継続時間の平均値，継続時間の最小値，ＲＷ比および平均ＩＯＰＳを、ＩＯアクセス集中傾向情報（Ｂ）という。
【０１５８】
ステップＢ３において、比較部１０３は、ＩＯアクセス集中傾向情報（Ａ）とＩＯアクセス集中傾向情報（Ｂ）との各要素（比較要素）の値を比較する。比較部１０３は、比較の結果、これらの比較要素のうち、差分が所定の閾値％を超えるものが１つでもある場合に、残り継続時間表作成部１０４にＩＯアクセス集中傾向の変化を検出したことを示す通知（ＩＯアクセス集中傾向変化通知）を行なう。
【０１５９】
残り継続時間表作成部１０４は、比較部１０３からＩＯアクセス集中傾向の変化を検出したことを示すＩＯアクセス集中傾向変化通知を受信すると、残り継続時間表１０４１の作成に用いるＩＯアクセス集中特徴記録ＤＢ１０２におけるデータ範囲を変更する。具体的には、残り継続時間表作成部１０４は、その時点での時刻Ｔ１をTstartに設定する。
【０１６０】
ステップＢ４において、残り継続時間表作成部１０４は、この変更後の時刻Tstartを起点とする残り継続時間表作成用期間のＩＯアクセス集中についての情報をＩＯアクセス集中特徴記録ＤＢ１０２から抽出し、これらの情報を用いて残り継続時間表１０４１を作成（再作成）する。
【０１６１】
その後、ステップＢ５において、時間Tintervalの間スリープした後、ステップＢ１に戻る。
【０１６２】
次に、実施形態の一例としての階層ストレージ装置１におけるワークロード分析部１１ｂによる処理を、図１４に示すフローチャート（ステップＣ１〜Ｃ９）に従って説明する。
【０１６３】
ステップＣ１において、ワークロード分析部１１ｂは、データ収集部１１ａを介して、階層ドライバ１２から、現時点での平均応答時間Avers，AversWithMg，AveMgTime，AversDimmの各値を取得する。
【０１６４】
ステップＣ２において、監視部１０１は、データ収集部１１ａから現時点でのＩＯアクセスのトレース情報を取得し、ＩＯアクセス集中が発生しているかを判断する。ＩＯアクセス集中が発生している場合には、監視部１０１は、ＩＯアクセス集中が発生しているサブＬＵＮを特定する。
【０１６５】
ステップＣ３において、監視部１０１は、ＩＯアクセス集中特徴記録ＤＢ１０２（ＩＯアクセス集中管理テーブル）を更新する。
【０１６６】
例えば、監視部１０１は、ステップＣ２において特定したＩＯアクセス集中が発生しているサブＬＵＮと、ＩＯアクセス集中管理テーブルに登録されている各エントリのStart sub-LUN〜End sub-LUNとを比較する。
【０１６７】
比較の結果、ステップＣ２において特定したＩＯアクセス集中が発生しているサブＬＵＮが、ＩＯアクセス集中管理テーブルに登録されている場合には、ＩＯアクセス集中管理テーブルにおける当該エントリを維持する。一方、比較の結果、ステップＣ２において特定したＩＯアクセス集中が発生しているサブＬＵＮが、ＩＯアクセス集中管理テーブルに登録されていない場合には、このＩＯアクセス集中が発生しているサブＬＵＮをＩＯアクセス集中管理テーブルに新たに登録する。
【０１６８】
また、ＩＯアクセス集中管理テーブルに登録済みのＩＯアクセス集中が、ステップＣ２において特定されたＩＯアクセス集中に含まれていない場合には、そのＩＯアクセス集中は終息したと判断できる。そこで、監視部１０は、そのＩＯアクセス集中に関する情報を、ＩＯアクセス集中管理テーブルから削除する。
【０１６９】
ステップＣ４において、移動判定部１０５は、ＩＯアクセス集中管理テーブルに登録されたＩＯアクセス集中管理情報を１つ、判定対象として取り出す。そして、ステップＣ５において、移動判定部１０５は、ステップＣ４において取り出したＩＯアクセス集中管理情報について、上記式（１），（２）を用いてオーバヘッドXを算出し、式（３），（４）を用いて利益Yを算出する。
【０１７０】
ステップＣ６において、移動判定部１０５は、算出したこれらのオーバヘッドXと利益Yとを比較する。
【０１７１】
比較の結果（ステップＣ６）、オーバヘッドXが利益Yよりも大きい場合には（ステップＣ６のＹＥＳルート参照）、ステップＣ７に移行する。
【０１７２】
ステップＣ７においては、移動判定部１０５は、判定対象のサブＬＵＮのデータをＳＳＤ２０からＤＩＭＭ３０へ移動すべきであると判断する。移動判定部１０５は、その判定結果を移動指示部１１ｃに通知して、階層ドライバ１２に判定対象のサブＬＵＮのデータをＳＳＤ２０からＤＩＭＭ３０へ移動させる。その後、ステップＣ８に移行する。
【０１７３】
また、ステップＣ６における比較の結果、オーバヘッドXが利益Y以下である場合にも（ステップＣ６のＮＯルート参照）、ステップＣ８に移行する。
【０１７４】
ステップＣ８において、移動判定部１０５は、判定を行なっていないＩＯアクセス集中がＩＯアクセス集中管理テーブルに残っているかを確認する。
【０１７５】
確認の結果、判定を行なっていないＩＯアクセス集中管理情報がＩＯアクセス集中管理テーブルに残っている場合には（ステップＣ８のＹＥＳルート参照）、ステップＣ４に戻る。
【０１７６】
一方、判定を行なっていないＩＯアクセス集中管理情報がＩＯアクセス集中管理テーブルに残っていない場合には（ステップＣ８のＮＯルート参照）、ステップＣ９において、一定時間経過するまで待った（スリープした後）、ステップＣ１に戻る。
【０１７７】
〔３〕効果
このように、一実施形態の一例としての階層ストレージ装置１によれば、比較部１０３が、時間Tintervalが経過する毎に、この時間Tintervalが経過する前後での、比較項目Ｐ（継続時間の最大値，継続時間の平均値，継続時間の最小値，ＲＷ比および平均ＩＯＰ）の各値を比較する。そして、これらの比較項目Ｐのうち、少なくともいずれか１つが閾値％を超えて変化する場合に、比較部１０３は、残り継続時間表作成部１０４に対して、ＩＯアクセス集中傾向の変化を検出したことを示す通知（ＩＯアクセス集中傾向変化通知）を行なう。
【０１７８】
残り継続時間表作成部１０４は、ＩＯアクセス集中傾向変化通知を受信すると、ＩＯアクセス集中傾向が変化した以降の期間を残り継続時間表作成用期間とするように変更を行なう。そして、残り継続時間表作成部１０４は、この変更後の残り継続時間表作成用期間のＩＯアクセス集中についての情報をＩＯアクセス集中特徴記録ＤＢ１０２から抽出し、これらの情報を用いて残り継続時間表１０４１を作成する。
【０１７９】
これにより、残り継続時間表作成部１０４によって作成される残り継続時間表１０４１には、ＩＯアクセス集中傾向が変化する前のＩＯアクセス集中に関する情報が含まれることがなく、残り継続時間表１０４１の精度を向上させることができる。
【０１８０】
また、移動判定部１０５が、高精度な残り継続時間表１０４１を参照することで、ＩＯアクセス集中について正確な予測を行なうことができる。すなわち、移動判定部１０５が、高精度な残り継続時間表１０４１を参照してＳＳＤ２０上のサブＬＵＮのデータをＤＩＭＭ３０に移動させるか否かを判定することで、ＤＩＭＭ３０におけるＩＯアクセスのヒット率を向上させることができ、本階層ストレージ装置１のアクセス性能を向上させることができる。
【０１８１】
また、移動判定部１０５が、ＳＳＤ２０からＤＩＭＭ３０へのデータ移動に伴う、オーバヘッドXと利益Yとを算出する。そして、算出したこれらのオーバヘッドXと利益Yとを比較し、利益YがオーバヘッドXよりも大きい場合に、ＳＳＤ２０のサブＬＵＮのデータをＤＩＭＭ３０に移動すべきであると判断する。
【０１８２】
これにより、ＳＳＤ２０からＤＩＭＭ３０に対して、効果が得られると判断される場合にのみサブＬＵＮのデータの移動（マイグレーション）が行なわれ、確実にマイグレーションの効果を得ることができる。
【０１８３】
また、移動判定部１０５は、残り継続時間表１０４１を参照して、残り継続時間Tend，T2endを取得し、また、ＩＯアクセス集中の発生位置の移動速度（Speed）を算出する。そして、移動判定部１０５は、これらの情報を用いて、ＩＯアクセス集中予測領域を特定する。
【０１８４】
移動指示部１１ｃは、ＳＳＤ２０におけるＩＯアクセス集中予測領域に含まれるサブＬＵＮのデータを、ＤＩＭＭ３０へ移動させる。これにより、ＳＳＤ２０においてＩＯアクセス集中が発生するおそれが高いサブＬＵＮのデータを、予めＤＩＭＭ３０に移動させることができる。従って、ＤＩＭＭ３０におけるＩＯアクセスのヒット率を向上させることができ、本階層ストレージ装置１のアクセス性能を向上させることができる。
【０１８５】
〔４〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１８６】
例えば、一実施形態において、ＳＳＤ２０及びＤＩＭＭ３０を用いた階層ストレージ装置１について説明したが、これに限定されるものではなく、例えばキャッシュメモリと主記憶装置とを用いた階層記憶システムにも同様に適用することができる。すなわち、本発明は、不揮発性記憶装置の階層記憶システムだけでなく、揮発性記憶装置を含む階層記憶システムにも同様に適用することができる。
【０１８７】
また、一実施形態に係る階層ストレージ装置１は、ＳＳＤ２０及びＤＩＭＭ３０の他に、速度差のある記憶装置にも適用することが可能である。例えばＳＳＤ２０と、ＳＳＤよりも低速なアクセス速度を有するＨＤＤとを用いた階層ストレージ装置等にも適用することが可能である。また、ＳＳＤ２０と、ＳＳＤよりも大容量だが低速なテープドライブ等の磁気記録装置とを用いた階層ストレージ装置等にも適用してもよい。
【０１８８】
さらに、一実施形態において、階層ストレージ制御装置１０の動作を１つのＳＳＤ２０及び１つのＤＩＭＭ３０に着目して説明したが、複数のＳＳＤ２０及び複数のＤＩＭＭ３０が階層ストレージ装置１にそなえられる場合も同様である。
【０１８９】
また、上述した実施形態においては、階層ストレージ制御装置１０がＬｉｎｕｘ  ｄｅｖｉｃｅ−ｍａｐｐｅｒ等の機能を用いる例を示したが、これに限定されるものではない。例えば、他のボリューム管理用ドライバや他のＯＳの機能を用いてもよく、種々変形して実施することができる。
【０１９０】
また、図２に示す階層ストレージ制御装置１０の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【０１９１】
また、ワークロード分析部１１ｃｂは、移動対象の領域をサブＬＵＮ（セグメント）単位で決定し、移動指示部１１ｃへ階層移動を指示するものとして説明したが、これに限定されるものではない。
【０１９２】
例えばワークロード分析部１１ｂにより特定される移動対象の領域は、高負荷領域の近傍の領域を繋ぎ合わせた領域であってもよい。この場合、ワークロード分析部１１ｂは、移動対象のセグメントの情報として、例えばセグメントＩＤ又はオフセットの範囲を表す情報を移動指示部１１ｃへ通知してもよい。なお、移動指示部１１ｃは、通知された範囲に含まれる複数のサブＬＵＮの各々について、階層ドライバ１２へ移動指示を発行すればよい。
【０１９３】
上述した実施形態では、監視部１０１，ＩＯアクセス集中特徴記録ＤＢ１０２，比較部１０３，残り継続時間表作成部１０４および移動判定部１０５としての機能をワークロード分析部１１ｂに備えた場合について説明したが、これに限定されるものではない。監視部１０１，ＩＯアクセス集中特徴記録ＤＢ１０２，比較部１０３，残り継続時間表作成部１０４および移動判定部１０５としての機能は、階層管理部１１内にそなえられていればよい。
【０１９４】
また、上述した実施形態では、本発明を階層ストレージに適用した場合について説明したが、これに限定されるものでなく、本発明は、ＤＩＭＭ等の第１の記憶装置がキャッシュメモリである場合についても上述した実施形態と同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
【０１９５】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【０１９６】
〔５〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【０１９７】
（付記１）
記憶装置を備える情報処理装置であって、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する作成部と、
前記記憶装置における、第１の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第１の集中状態傾向情報と、前記第１の期間に先行する第２の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第２の集中状態傾向情報とを比較する比較部とを備え、
前記比較部による比較の結果、前記第２の集中状態傾向情報が前記第１の集中状態傾向情報に比べて基準以上に変化した場合に、前記作成部が、前記第２の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する
ことを特徴とする、情報処理装置。
【０１９８】
（付記２）
前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集する収集部を備え、
前記比較部が、判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第１のタイミングまでの第１の期間において収集された第１の集中状態傾向情報と、前記第１のタイミングから、該第１のタイミングよりも一定時間間隔前の第２のタイミングまでの第２の期間において収集された第２の集中状態傾向情報とを比較する
ことを特徴とする、付記１記載の情報処理装置。
【０１９９】
（付記３）
前記記憶装置として、第１の記憶装置と、前記第１の記憶装置とは異なる性能の第２の記憶装置とをそなえ、
前記アクセス予測情報に基づき、前記第１の記憶装置と前記第２の記憶装置との間でデータを移動させる単位領域を特定する特定部と、
前記特定部によって特定された前記単位領域のデータを、前記第１の記憶装置と前記第２の記憶装置との間で移動させる指示を発行する移動指示部と
を備えることを特徴とする、付記２記載の情報処理装置。
【０２００】
（付記４）
前記第１の記憶装置と前記第２の記憶装置との間で前記データの移動を行なうことにより生じる損失と利益とを比較し、利益が損失よりも大きい場合に、前記データの移動を行なわせると判定する移動判定部を備えることを特徴とする、付記３記載の情報処理装置。
【０２０１】
（付記５）
前記集中状態の発生位置を予測する予測部を備え、
前記特定部が、予測された前記集中状態の発生位置に含まれる前記単位領域を、前記第１の記憶装置と前記第２の記憶装置との間でデータを移動させる単位領域として特定する
ことを特徴とする、付記３または４に記載の情報処理装置。
【０２０２】
（付記６）
前記アクセス予測情報が、前記集中状態が発生してからの複数の経過時間のそれぞれに対して、前記集中状態の残り継続時間の予測値を対応付けて構成されたことを特徴とする、付記１〜５のいずれか１項に記載の情報処理装置。
【０２０３】
（付記７）
記憶装置を備えるコンピュータに、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成し、
前記記憶装置における、第１の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第１の集中状態傾向情報と、前記第１の期間に先行する第２の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第２の集中状態傾向情報とを比較し、
比較の結果、前記第２の集中状態傾向情報が前記第１の集中状態傾向情報に比べて基準以上に変化した場合に、前記第２の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する
処理を実行させることを特徴とする、ストレージ制御プログラム。
【０２０４】
（付記８）
前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集し、
判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第１のタイミングまでの第１期間において収集された第１の集中状態傾向情報と、前記第１のタイミングから、該第１のタイミングよりも一定時間間隔前の第２のタイミングまでの第２の期間において収集された第２の集中状態傾向情報とを比較する
処理を前記コンピュータに実行させることを特徴とする、付記７記載のストレージ制御プログラム。
【０２０５】
（付記９）
前記記憶装置として、第１の記憶装置と、前記第１の記憶装置とは異なる性能の第２の記憶装置とがそなえられ、
前記アクセス予測情報に基づき、前記第１の記憶装置と前記第２の記憶装置との間でデータを移動させる単位領域を特定し、
特定された前記単位領域のデータを、前記第１の記憶装置と前記第２の記憶装置との間で移動させる指示を発行する
処理を前記コンピュータに実行させることを特徴とする、付記８記載のストレージ制御プログラム。
【０２０６】
（付記１０）
前記第１の記憶装置と前記第２の記憶装置との間で前記データの移動を行なうことにより生じる損失と利益とを比較し、利益が損失よりも大きい場合に、前記データの移動を行なわせると判定する
処理を前記コンピュータに実行させることを特徴とする、付記９記載のストレージ制御プログラム。
【０２０７】
（付記１１）
前記集中状態の発生位置を予測し、
予測された前記集中状態の発生位置に含まれる前記単位領域を、前記第１の記憶装置と前記第２の記憶装置との間でデータを移動させる単位領域として特定する
処理を前記コンピュータに実行させることを特徴とする、付記９または１０記載のストレージ制御プログラム。
【０２０８】
（付記１２）
前記アクセス予測情報が、前記集中状態が発生してからの複数の経過時間のそれぞれに対して、前記集中状態の残り継続時間の予測値を対応付けて構成されたことを特徴とする、付記７〜１１のいずれか１項に記載のストレージ制御プログラム。
【０２０９】
（付記１３）
記憶装置を備える情報処理装置において、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する処理と、
前記記憶装置における、第１の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第１の集中状態傾向情報と、前記第１の期間に先行する第２の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第２の集中状態傾向情報とを比較する処理と、
比較の結果、前記第２の集中状態傾向情報が前記第１の集中状態傾向情報に比べて基準以上に変化した場合に、前記第２の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する処理と
を備えることを特徴とする、ストレージ制御方法。
【０２１０】
（付記１４）
前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集する処理と、
判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第１のタイミングまでの第１の期間において収集された第１の集中状態傾向情報と、前記第１のタイミングから、該第１のタイミングよりも一定時間間隔前の第２のタイミングまでの第２期間において収集された第２の集中状態傾向情報とを比較する処理と
を備えることを特徴とする、付記１３記載のストレージ制御方法。
【０２１１】
（付記１５）
前記記憶装置として、第１の記憶装置と、前記第１の記憶装置とは異なる性能の第２の記憶装置とがそなえられ、
前記アクセス予測情報に基づき、前記第１の記憶装置と前記第２の記憶装置との間でデータを移動させる単位領域を特定する処理と、
特定された前記単位領域のデータを、前記第１の記憶装置と前記第２の記憶装置との間で移動させる指示を発行する処理と
を備えることを特徴とする、付記１４記載のストレージ制御方法。
【０２１２】
（付記１６）
前記第１の記憶装置と前記第２の記憶装置との間で前記データの移動を行なうことにより生じる損失と利益とを比較し、利益が損失よりも大きい場合に、前記データの移動を行なわせると判定する処理
を備えることを特徴とする、付記１５記載のストレージ制御方法。
【０２１３】
（付記１７）
前記集中状態の発生位置を予測する処理と、
予測された前記集中状態の発生位置に含まれる前記単位領域を、前記第１の記憶装置と前記第２の記憶装置との間でデータを移動させる単位領域として特定する
処理と
を備えることを特徴とする、付記１５または付記１６記載のストレージ制御方法。
【０２１４】
（付記１８）
前記アクセス予測情報が、前記集中状態が発生してからの複数の経過時間のそれぞれに対して、前記集中状態の残り継続時間の予測値を対応付けて構成されたことを特徴とする、付記１３〜付記１７のいずれか１項に記載のストレージ制御方法。
【符号の説明】
【０２１５】
１    階層ストレージ装置（ストレージ装置）
２    ホスト装置
１０    階層ストレージ制御装置（ストレージ制御装置）
１０ａ    ＣＰＵ
１０ｂ    メモリ
１０ｃ    記憶部
１０ｄ    インタフェース部
１０ｅ    入出力部
１０ｆ，１０ｈ    記録媒体
１０ｇ    読取部
１１  階層管理部
１１ａ  データ収集部（収集部）
１１ｂ  ワークロード分析部
１０１    監視部
１０２    ＩＯアクセス集中特徴記録ＤＢ
１０３    比較部
１０４    残り継続時間表作成部（作成部）
１０４１    残り継続時間表
１０５    移動判定部（特定部，予測部）
１１ｃ  移動指示部
１２  階層ドライバ
１３    ＳＳＤドライバ
１４    ＨＤＤドライバ
１００    ストレージシステム
２０    ＳＳＤ（第２の記憶装置）
３０    ＤＩＭＭ（第１の記憶装置）
【図１】
2018106252.tif 000003
【図２】
2018106252.tif 000004
【図３】
2018106252.tif 000005
【図４】
2018106252.tif 000006
【図５】
2018106252.tif 000007
【図６】
2018106252.tif 000008
【図７】
2018106252.tif 000009
【図８】
2018106252.tif 000010
【図９】
2018106252.tif 000011
【図１０】
2018106252.tif 000012
【図１１】
2018106252.tif 000013
【図１２】
2018106252.tif 000014
【図１３】
2018106252.tif 000015
【図１４】
2018106252.tif 000016