(57)【要約】【課題】データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止する。【解決手段】ストレージ制御装置は、アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式による前回データ再配置から現時点までに行われた前記セグメントのそれぞれに対する書込アクセスと、セグメントのそれぞれに対する読出アクセスのアクセス頻度とを監視する監視部と、書込アクセスがされたセグメントについてのそのアクセス頻度を低下させることにより、アクセス頻度を調整する調整部と、調整されたアクセス頻度に基づいて、調整されたアクセス頻度のセグメントに対応するデータを複数の記憶装置のいずれに格納するかを決定する決定部を含むことにより、上記課題の解決を図る。【選択図】図５
2017027301.tif 000002
【特許請求の範囲】
【請求項１】
アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式による前記セグメントのそれぞれに対する前回データ再配置から現時点までに行われた書き込みアクセスと、前記セグメントのそれぞれに対する読み出しアクセスのアクセス頻度とを監視する監視部と、
前記書き込みアクセスがされたセグメントについての前記アクセス頻度を低下させることにより、該アクセス頻度を調整する調整部と、
前記調整されたアクセス頻度に基づいて、該調整されたアクセス頻度のセグメントに対応するデータを前記複数の記憶装置のいずれに格納するかを決定する決定部と、
を備えることを特徴とするストレージ制御装置。
【請求項２】
前記調整部は、前記書き込みアクセスがされたセグメントについてのアクセス頻度に、所定値の逆数を乗じることにより、該アクセス頻度を調整する
ことを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記監視部は、前記書き込みアクセスされたセグメントの書き込みアクセス順を監視し、
前記調整部は、前記書き込みアクセス順に基づいて、前記書き込みアクセスがされてからの経過時間が長いほど、該書き込みアクセス順に対応するセグメントのアクセス頻度をより低下されることにより、該アクセス頻度を調整する
ことを特徴とする請求項１に記載のストレージ制御装置。
【請求項４】
前記決定部は、前記調整したアクセス頻度がより高いセグメントに対応するデータほど、よりアクセス性能のよい記憶装置に格納することを決定する
ことを特徴とする請求項１〜３のうちいずれか１項に記載のストレージ制御装置。
【請求項５】
コンピュータに、
アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式による前記セグメントのそれぞれに対する前回データ再配置から現時点までに行われた書き込みアクセスと、前記セグメントのそれぞれに対する読み出しアクセスのアクセス頻度とを監視し、
前記書き込みアクセスがされたセグメントについての前記アクセス頻度を低下させることにより、該アクセス頻度を調整し、
前記調整されたアクセス頻度に基づいて、該調整されたアクセス頻度のセグメントに対応するデータを前記複数の記憶装置のいずれに格納するかを決定する
処理を実行させる階層化ストレージ制御プログラム。
【請求項６】
コンピュータが、
アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式による前記セグメントのそれぞれに対する前回データ再配置から現時点までに行われた書き込みアクセスと、前記セグメントのそれぞれに対する読み出しアクセスのアクセス頻度とを監視し、
前記書き込みアクセスがされたセグメントについての前記アクセス頻度を低下させることにより、該アクセス頻度を調整し、
前記調整されたアクセス頻度に基づいて、該調整されたアクセス頻度のセグメントに対応するデータを前記複数の記憶装置のいずれに格納するかを決定する
処理を実行する階層化ストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法に関する。
【背景技術】
【０００２】
近年、ストレージのコストパフォーマンスを向上させるために、階層制御という技術が広く用いられるようになっている。階層制御とは、比較的高価な高速の記憶装置と比較的安価な低速の記憶装置を組み合わせ、アクセス頻度の高いデータを高速の記憶装置に、アクセス頻度の低いデータを低速の記憶装置に配置することで価格と性能の目標をバランス良く達成する技術である。
【０００３】
また、データの書き込みを連続する特別な領域に対して行うログ構造化データ技術がある（例えば、特許文献１、特許文献２、特許文献３）。ログ構造化データ技術では、記憶装置に格納されているデータの更新に関して、元のデータを上書きせずに、元のデータを保持しつつ更新されたデータを元データとは異なる位置に格納する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−００６７２８号公報
【特許文献２】特開平０７−２００３９０号公報
【特許文献３】特開平０９−１６０８１３号公報
【非特許文献】
【０００５】
【非特許文献１】Dushyanth Narayanan et al., “Write Off-Loading: Practical Power Management for Enterprise Storage”, FAST ’08: 6th USENIX Conference on File and Storage Technologies, p253-p267
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アクセス頻度の高いデータは、時間の経過によってその内容が変化する場合があるので、一定時間毎にデータの再配置が行われる。
【０００７】
しかしながら、過去のアクセス頻度に基づいたデータ再配置技術は、その上位でログ構造化データ技術が適用されると、期待通りの効果が得られない可能性がある。具体的には、ログ構造化データ技術によるデータ更新がされた場合に、更新前の元データは、今後アクセスされない可能性がある。
【０００８】
そのような場合に、ログ構造化データ技術の下で階層制御を行うと、高速の記憶装置に格納されたデータが、データの更新により今後アクセスされずに、そのまま高速の記憶装置に保持されたままになり、高速な記憶装置の領域を無駄に占有するおそれがある。
【０００９】
本発明の一側面として、データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止する。
【課題を解決するための手段】
【００１０】
本発明の一側面に係るストレージ制御装置は、監視部、調整部、決定部を含む。監視部は、セグメントのそれぞれに対する前回データ再配置から現時点までに行われた書き込みアクセスと、セグメントのそれぞれに対する読み出しアクセスのアクセス頻度とを監視する。セグメントは、アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位である。書き込みアクセスは、アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式によるアクセスである。調整部は、書き込みアクセスがされたセグメントについての前記アクセス頻度を低下させることにより、アクセス頻度を調整する。決定部は、調整されたアクセス頻度に基づいて、調整されたアクセス頻度のセグメントに対応するデータを複数の記憶装置のいずれに格納するかを決定する。
【発明の効果】
【００１１】
本明細書に記載の技術によれば、データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止することができる。
【図面の簡単な説明】
【００１２】
【図１】階層制御を説明するための図である。
【図２】一般的なデータレイアウトでのデータ更新方法を説明するための図である。
【図３】ログ構造化データレイアウトでのデータ更新方法を説明するための図である。
【図４】最新でないデータが高速の記憶装置の記憶領域を占有する例を説明するための図である。
【図５】本実施形態におけるストレージ制御装置の一例を示す。
【図６】本実施形態（実施例１）における、ログ書き領域に指定されてログ書きされたセグメントに対して、ペナルティ（固定値）を与えることを説明するためのグラフである。
【図７】本実施形態（実施例１）におけるストレージ制御装置の一例を示す。
【図８】本実施形態（実施例１）におけるセグメント管理テーブルの一例を示す。
【図９】本実施形態における評価値管理テーブルの一例を示す。
【図１０】本実施形態（実施例１）における、セグメントへアクセスする場合に発生するセグメント管理テーブルの更新フローの一例を示す。
【図１１】本実施形態におけるセグメントの再配置処理のフローの一例を示す。
【図１２】本実施形態（実施例２）におけるログ書き順序に応じたペナルティの与え方を説明するための図である。
【図１３】本実施形態（実施例２）における、ログ書き領域に指定されてログ書きされたセグメントに対して、ペナルティ（変動値）を与えることを説明するためのグラフである。
【図１４】本実施形態（実施例２）におけるストレージ制御装置の一例を示す。
【図１５】本実施形態（実施例２）におけるセグメント管理テーブルの一例を示す。
【図１６】本実施形態（実施例２）におけるデータの読み込み時または書き込み時におけるセグメント管理テーブルの更新フローの一例を示す。
【図１７】本実施形態（実施例２）におけるセグメントの再配置処理のフローの一例を示す。
【図１８】本実施形態を適用していないアルゴリズムを用いたＳＳＤアクセス率と、本実施形態（実施例２）を適用したアルゴリズムを用いたＳＳＤアクセス率との比較結果を示す。
【図１９】本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。
【発明を実施するための形態】
【００１３】
図１は、階層制御を説明するための図である。階層制御では、ユーザがデータの保存されている記憶装置を物理的に意識せずに済むよう、論理的なデータレイアウトが提供される。
【００１４】
論理的なデータレイアウトは、セグメントという単位に分割されている。そして、データは、階層制御によって、セグメント単位で論理的に格納及び管理される。セグメントは数ＭＢ〜数ＧＢの大きな単位であり、一方でアクセスは数ＫＢ〜数百ＫＢの小さな単位で行われる。データの再配置はセグメントの単位で行われる。そして、アクセス頻度に基づいてデータを配置する場合には、階層制御によって、アクセスの多いセグメントに対応するデータは高速の記憶装置に配置され、アクセスの少ないセグメントに対応するデータは低速の記憶装置に配置される。
【００１５】
ユーザからアクセス要求がされた際には、どのセグメントがどちらの記憶装置のどの位置に保存されているかというマッピング情報に基づいて、アクセス要求は、対応するデータを格納する記憶装置へ転送される。
【００１６】
時間が経過するに従ってアクセス頻度の多いデータが変化する場合、一定時間毎（例えば、一日毎や数時間毎）にデータを再配置することが考えられる。例えば、前回の再配置から現在までのセグメント毎のアクセス数を計測し、アクセス数の多い順にセグメントを高速の記憶装置へ容量一杯まで配置し、残りのセグメントを低速の記憶装置に配置することが考えられる。
【００１７】
しかしながら、上述の、過去のアクセス頻度のみに基づいたデータ再配置アルゴリズムの場合、上位でログ構造化データレイアウトが動作していると、期待通りの効果が得られない。ここで、ログ構造化データレイアウトについて説明する。
【００１８】
図２は、一般的なデータレイアウトでのデータ更新方法を説明するための図である。図３は、ログ構造化データレイアウトでのデータ更新方法を説明するための図である。ログ構造化データレイアウトとは、データが更新された際に既存データを上書きするのではなく、所定のログ領域（以下、「ログ書き領域」と称する）に新たにデータを書き込むデータ管理方式である。
【００１９】
図２に示すように、通常、データをＡからＡ’に更新する場合は、データレイアウト上で元データがあった位置にてデータが上書きされる。
【００２０】
しかしながら、ログ構造化データレイアウトでは、図３のように、元データはそのままで保存し、所定のログ書き領域に対してデータを書き込み、データの保存位置情報を更新することでデータＡからＡ’の更新が実現される。
【００２１】
図３に示すように、ログ構造化データレイアウトでは、書き込みを連続した領域に対して行うことができる。そのため、ハードディスクドライブ（ＨＤＤ）への書き込み性能を向上させることができる。また、更新前の古いデータを一定時間参照することもできる。
【００２２】
ログ構造化データレイアウトは、そのデータレイアウトを循環ログとして捉え、新しいデータをログ書き領域に書き込み、そのログ書き領域の末尾の部分を再び空き領域として用いる。したがって、ログ構造化データレイアウトの末尾までデータが書き込まれると、ログ構造化データレイアウトの末尾から再びログ書き領域として用いられる。
【００２３】
上述のように、ログ構造化データレイアウトでは、データ更新によって最新データの保存場所が移動する。そのため、過去のアクセス頻度のみに基づいたデータ再配置方法は、以下で述べるように不適切である。
【００２４】
図４は、最新でないデータが高速の記憶装置の記憶領域を占有する例を説明するための図である。ログ構造化データレイアウトは、より論理側よりのログ構造化データ論理レイアウトと、より物理側よりのログ構造化データ物理レイアウトとを含む。階層制御データレイアウトは、より論理側よりの階層制御データ論理レイアウトと、より物理側よりの階層制御データ物理レイアウトとを含む。このとき、ログ構造化データ物理レイアウトと階層制御データ論理レイアウトとは重複しているとする。
【００２５】
ここで，データを取り扱う場合、ログ構造化データレイアウトと、階層制御データ論理レイアウトとでその取り扱う単位が異なる。ログ構造化データレイアウトでは、データは、所定の取り扱いサイズの単位で管理されているのに対して、階層制御データ論理レイアウトでは、ログ構造化データレイアウトとは異なる所定の取り扱いサイズの単位であるセグメント単位で管理されている。
【００２６】
例えば、データＡを含むセグメントへのアクセス頻度が高いと判定され、図４に示すように、そのセグメントが高速の記憶装置に配置されているとする。
【００２７】
その後、データＡが更新されてデータＡ’になると、ログ構造化データ物理レイヤにおいて、最新データＡ’をデータＡとは異なる領域（ログ書き込み領域）が指定され、指定されたログ書き込み領域に最新データＡ’が書き込まれる。すると、更新前のデータＡについては、今後、使用される可能性が低い。
【００２８】
また、例えば、一定期間毎にアクセス頻度の高い順に、より高速の記憶装置へデータの再配置が行われるとしても、更新前のデータＡが更新されるまでの間のアクセス頻度が高ければ、そのアクセス頻度に基づいてデータの再配置が行われる。その結果、更新前のデータＡは、今後アクセスされる可能性が低いにも関わらず、そのまま高速の記憶装置に保持されたままになる。
【００２９】
このように、高速の記憶装置に割り当てられているデータＡが配置されている領域は今後アクセスされなくなり、高速の記憶装置上の領域を無駄に占有してしまうことになる。
【００３０】
そこで、本実施形態では、データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止して、その記憶装置の利用効率を向上させる。
【００３１】
図５は、本実施形態におけるストレージ制御装置の一例を示す。ストレージ制御装置１は、監視部２、調整部３、決定部４を含む。
【００３２】
監視部２は、一定時間内でのセグメントのそれぞれに対する書き込みアクセスと、セグメントのそれぞれに対する読み出しアクセスの頻度とを監視する。セグメントは、アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位である。書き込みアクセスは、セグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる書込領域へ書き込む書込方式によるアクセスである。監視部２の一例としては、後述する階層制御部１４が挙げられる。
【００３３】
調整部３は、書き込みアクセスがされたセグメントについてのアクセス頻度を低下させることにより、アクセス頻度を調整する。調整部３の一例として、後述する階層制御部１４が挙げられる。
【００３４】
決定部４は、調整されたアクセス頻度に基づいて、調整されたアクセス頻度のセグメントに対応するデータを複数の記憶装置のいずれに格納するかを決定する。決定部４の一例として、後述する階層制御部１４が挙げられる。
【００３５】
このように構成することにより、データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止して、その記憶装置の利用効率を向上させることができる。
【００３６】
調整部２は、所定時間におけるアクセス頻度に対して所定の重み付けを行うことにより、アクセス頻度を調整する。
【００３７】
このように構成することにより、アクセス頻度の高い順からより高速の記憶装置にデータを再配置する場合、更新されたデータに対応するセグメントのアクセス頻度を更新の元データが高速の記憶装置に配置されたままになるのを抑止することができる。
【００３８】
監視部２は、所定時間において書き込みアクセスされたセグメントの書き込みアクセス順を監視する。このとき、調整部３は、書き込みアクセス順に基づいて、書き込みアクセスがされてからの経過時間が長いほど、書き込みアクセス順に対応するセグメントのアクセス頻度をより低下されることにより、アクセス頻度を調整する。
【００３９】
このように構成することにより、アクセス頻度の高い順からより高速の記憶装置にデータを再配置する場合、すでに更新済みの古いアクセスされないデータを多く含む可能性のあるセグメントに対応するデータが高速の記憶装置に配置されたままになるのを抑止することができる。
【００４０】
決定部３は、調整したアクセス頻度がより高いセグメントに対応するデータほど、よりアクセス性能のよい記憶装置に格納することを決定する。
【００４１】
このように構成することにより、調整したアクセス頻度に基づいて、データの再配置を行うことができる。
【００４２】
本実施形態について、以下に詳述する。本実施形態におけるストレージ制御装置によるデータ配置決定方法では、階層制御レイヤが、データのアクセスパターン（例えば、アクセス頻度）から各セグメント内に更新頻度の高いデータが多く含まれるかどうかを推定して、データ再配置を行う。
【００４３】
具体的には、データの配置先となる記憶装置を決定するために用いる評価値を計算する際、階層制御レイヤは、最近ログ書き領域に指定されたセグメントへのアクセス頻度に対して、その頻度を低下させるようにペナルティを与える。これにより、アクセス頻度を評価値として用いる場合、最近ログ書き領域に指定されたセグメントについては、その評価値を低下させ、低速の記憶装置へ配置する可能性を高めることができる。
【００４４】
ペナルティの与え方としては、最近ログ書き領域に指定されたセグメントに対して、ペナルティとして固定値を与える方法と、ペナルティとして時間の経過に応じた変動値を与える方法とがある。この２つの方法について、以下に説明する。
【００４５】
なお、本実施形態は、高速の記憶装置に対してできるだけ多くの読み込み処理が行われることに注力した方法であり、書き込み処理には関与しない。一般的なデータレイアウトであれば、読み込みも書き込みも大差はない。
【００４６】
しかしながら、ログ構造化データレイアウトでは、２つの処理（読み込み、書き込み）は大きく異なる。なぜなら、データの読み込みが最新データの存在位置に対して行われるのに対し、データの書き込みはログ書き領域に対して発生するからである。
【００４７】
したがって書き込み処理が高速の記憶装置に対して行われるようにするためには、ログ書き領域を書き込み開始前に予め高速の記憶装置に配置する必要がある。これを達成するためにはログ構造化データレイヤからログ書き領域の位置を通知してもらうか、ログ構造化データレイヤの通知を前提としない場合は、ガベージコレクション時のアクセスパターンから階層制御レイヤ単独で次のログ書き領域を推測する必要がある。
【００４８】
このようにログ構造化データレイアウトが階層制御レイヤの上位で動作している場合には、読み込みと書き込みを分けて考える必要があり、本実施形態では読み込み処理に着目する。
【００４９】
（実施例１）
実施例１では、最近、ログ書き領域に指定されたセグメントに対して、アクセス頻度を低下させるペナルティとして固定値を与える方法について説明する。
【００５０】
図６は、本実施形態（実施例１）における、ログ書き領域に指定されてログ書きされたセグメントに対して、ペナルティ（固定値）を与えることを説明するためのグラフである。図６において、縦軸は、ペナルティ量を示す。横軸は、ログ書き領域として指定されたセグメントがログ書きされてからの経過時間を示す。
【００５１】
ログ書き領域に指定されたセグメントに対しては最初の再配置時に、そのセグメントに対するアクセス頻度について、ペナルティ（固定値＞１）を与える。最初の再配置が行われるまでは、セグメント内に更新頻度の高いデータが含まれている可能性が高いので、ペナルティを与える。
【００５２】
データの再配置後は、ペナルティが初期化されるので、ペナルティ量は「０」になる。
ここで、最近、ログ書き領域に指定されたセグメントには、最近更新のあったデータが保存されている。全てのデータが一様に同じ頻度で更新されるのではなく、更新頻度の高いデータと低いデータが混在する。
【００５３】
つまり、最近書き込みのあったログ書き領域には、更新頻度が高く、近い将来または既に更新によってアクセスされなくなってしまう可能性の高いデータが数多く存在するということになる。
【００５４】
したがって、最近ログ書き領域に指定されたセグメントは、たとえ読み込み頻度が高かったとしても、高速の記憶装置に積極的に配置すべきではない。 
【００５５】
ただし、最近ログ書きが行われたセグメントの中には、更新頻度が低いものの、今回たまたま更新されたデータや、更新頻度が高いものの読み込み頻度が圧倒的に高いデータなど、高速の記憶装置に配置すべきデータが含まれる可能性がある。
【００５６】
そこで、最近ログ書き領域に指定されたセグメントを必ず低速の記憶装置に配置するのではなく、読み込み頻度から評価値を計算する際に読み込み頻度にペナルティを与えることで、高速の記憶装置に配置される可能性を与える。
【００５７】
ペナルティを与える場合の評価式を以下に示す。
評価式（ペナルティ付与時）＝read_num ×  1/const
各セグメントの読み込み数：read_num
固定値：const  固定値
【００５８】
一方、ログ書き領域に指定されていないセグメントには、ペナルティは課されない。この場合は、そのセグメントの読み込みアクセス頻度がそのままのそのセグメントの評価値となる。
【００５９】
これにより、ログ書き領域に指定されていないセグメントの評価値に対して、ログ書き領域に指定されたセグメントの評価値を相対的に低くすることができる。その結果、アクセス頻度の高い順により高速の記憶装置へデータを配置する場合、ログ書き領域に指定されたセグメントがより高速の記憶装置へ配置される可能性を抑止することができる。
【００６０】
このように、実施例１では、階層制御レイヤは、セグメントに対する評価値計算の際に、対応するログ書き領域に書き込みが行われた否かに応じて読み込みアクセス頻度にペナルティを与えることにより、アクセス頻度を調整する。階層制御レイヤは、その調整したアクセス頻度に基づいて、データの再配置を行う。これにより、階層制御レイヤは、ログ構造化データレイヤからの情報提供を受けることなく、読み込み頻度の多寡だけではなく、推定した更新頻度の多寡も考慮してデータ配置を決定することができる。
【００６１】
より具体的な実施例を以下に示す。
図７は、本実施形態（実施例１）におけるストレージ制御装置の一例を示す。ストレージ制御装置１１は、ＣＰＵ１２、メモリ１５、高速の記憶装置１８、低速の記憶装置１９を含む。
【００６２】
ＣＰＵ（Central Processing Unit）１２は、ストレージ制御装置１１の全体を制御するプロセッサである。ＣＰＵ１２は、記憶装置（不図示）に格納されたログ構造化ソフトウェア及び階層制御ソフトウェアを読み出して実行することにより、ログ構造化部１３、階層制御部１４として機能する。
【００６３】
ログ構造化部１３は、図３で説明したように、データが更新された場合、ログ構造化データレイアウトに基づいて、ログ書き領域に更新後のデータを書き込み、更新前のデータはそのまま保持する。
【００６４】
階層制御部１４は、図１で説明したように、セグメントに分割された論理的なデータレイアウトを用いて、アクセスの多いセグメントは高速の記憶措置１８に、アクセスの少ないセグメントは低速の記憶装置１９に配置する制御を行う。アクセス要求があった場合、階層制御部１４は、どのセグメントがどちらの記憶装置のどの位置に保存されているかというマッピング情報（不図示）に基づいて、対応するデータを格納する記憶装置へそのアクセス要求を転送する。
【００６５】
メモリ１５は、データを一時的に格納する記憶装置である。メモリ１５は、セグメント管理テーブル１６、評価値管理テーブル１７、不図示のマッピング情報等を格納する。セグメント管理テーブル１６、評価値管理テーブル１７は、階層制御部１４により管理される。
【００６６】
高速の記憶装置１８は、高速にデータを読み書きすることができるストレージデバイスであり、例えば、ＳＳＤ（Solid State Drive）である。低速の記憶装置１９は、高速の記憶装置１８よりもデータの読み書き速度が遅いストレージデバイスであり、例えば、ＨＤＤである。
【００６７】
図８は、本実施形態（実施例１）におけるセグメント管理テーブルの一例を示す。セグメント管理テーブル１６は、「セグメントＩＤ」、「読み込み数」、「書き込みフラグ」の項目を含む。「セグメントＩＤ」は、セグメントに分割された論理的なデータレイアウトにおけるセグメントを特定するセグメントＩＤを格納する。「読み込み数」は、セグメントの読み込み数を格納する。「書き込みフラグ」は、そのセグメントに対応するログ書き領域へログ書きが行われたか否かを格納する。フラグの初期値には、そのセグメントに対応するログ書き領域へログ書きされていなことを示す値として「０」が設定されている。そのセグメントに対応するログ書き領域へログ書きが行われた場合には、フラグは「１」に更新される。
【００６８】
まず、図８に示すように、階層制御部１４は、セグメント毎に、セグメントの読み込み数を記録する。この読み込み数は直近の値を計測する必要があるので、データの再配置を行った際は、階層制御部１４は、セグメント管理テーブル１６の全セグメントの「読み込み数」を「０」にリセットする。
【００６９】
ログ書き領域へ書き込まれたセグメントについては、階層制御部１４は、セグメント管理テーブル１６において、そのセグメントのフラグに「１」を設定する。ログ書き領域への書き込みも同様に、データの再配置を行った際は、階層制御部１４は、セグメント管理テーブル１６の全セグメントの「書き込みフラグ」を「０」にリセットする。 
【００７０】
図９は、本実施形態における評価値管理テーブルの一例を示す。評価値管理テーブル１７は、「セグメントＩＤ」、「評価値」の項目を含む。「セグメントＩＤ」は、セグメントＩＤを格納する。「評価値」は、セグメントの読み込み数、またはセグメントの読み込み数とペナルティとから算出された値を、評価値として格納する。
【００７１】
次に、実施例１におけるストレージ制御装置１１の動作について、図１０、図１１を用いて説明する。
【００７２】
図１０は、本実施形態（実施例１）における、セグメントへアクセスする場合に発生するセグメント管理テーブルの更新フローの一例を示す。
【００７３】
階層制御部１４は、ログ構造化部１３からデータに対するアクセス要求を取得する（Ｓ１）。取得したアクセス要求が読み込み要求である場合（Ｓ２で「ＹＥＳ」）、階層制御部１４は、その読み込み要求から、対応するセグメントＩＤを特定する。階層制御部１４は、セグメント管理テーブル１６において、その特定したセグメントＩＤに対応する「読み込み数」をカウントアップする（Ｓ３）。
【００７４】
取得したアクセス要求が書き込み要求である場合（Ｓ２で「ＮＯ」）、階層制御部１４は、その書き込み要求から対応するセグメントＩＤを特定する。セグメント管理テーブル１６において、その特定したセグメントＩＤに対応するフラグが「０」である場合（Ｓ４で「ＹＥＳ」）、階層制御部１４は、そのフラグの値を「１」に更新する（Ｓ５）。
【００７５】
次に、セグメントの再配置処理について説明する。階層制御部１４がログ書き領域にセグメントが指定されたことを検出する方法としては例えば、セグメントへ一度でも書き込みが発生すれば、そのセグメントがログ書き領域に指定されたと考える方法がある。
【００７６】
しかしながら、一口にログ構造化データレイアウトといっても、メタデータ管理のためにログ書き以外の書き込みが発生することもある。この場合は、メタデータ書き込みとは区別してデータ書き込みを検出するために、階層制御部１４は、連続した領域に対して一定以上の書き込みがあったセグメントのみをログ書き領域だと検出してもよい。 
【００７７】
データ再配置を行う際は、図８のセグメント管理テーブル１６を利用して、データ配置を決定するための評価値を計算する。
【００７８】
図１１は、本実施形態におけるセグメントの再配置処理のフローの一例を示す。階層制御部１４は、セグメント管理テーブル１６から、全エントリ（「セグメントＩＤ」、「読み込み数」、「書き込みフラグ」）を取得する（Ｓ１１）。
【００７９】
階層制御部１４は、エントリ毎に、以下で説明するＳ１２〜Ｓ１５の処理を行う。なお、Ｓ１２〜Ｓ１５において、処理対象となっているエントリを対象エントリと称する。
【００８０】
階層制御部１４は、対象エントリのセグメントに対応するログ書き領域への書き込みが発生したか、すなわち、対象エントリに含まれるフラグが「１」であるかを判定する（Ｓ１２）。
【００８１】
ログ書き領域への書き込みが発生した場合（フラグ＝１の場合）（Ｓ１２で「ＹＥＳ」）、階層制御部１４は、対象エントリに含まれる「読み込み数」read_numにペナルティの逆数（＝１／const）を乗じることにより、評価値を算出する（Ｓ１４）。
【００８２】
ログ書き領域への書き込みが発生していない場合（フラグ＝０の場合）（Ｓ１２で「ＮＯ」）、階層制御部１４は、対象エントリに含まれる「読み込み数」を評価値とする（Ｓ１３）。
【００８３】
階層制御部１４は、Ｓ１３またはＳ１４で得られたセグメントの評価値を、評価値管理テーブル１７において、対応するセグメントＩＤのエントリに記録する（Ｓ１５）。
【００８４】
セグメント管理テーブル１６に登録されている全エントリについて、Ｓ１２〜Ｓ１５の処理が終了後、階層制御部１４は、評価値管理テーブル１７において、評価値の降順に、セグメントＩＤをソートする（Ｓ１６）。
【００８５】
階層制御部１４は、評価値管理テーブル１７に基づいて、評価値の大きい順に、セグメントを高速の記憶装置１８に配置し、残りのセグメントを低速の記憶装置１９に配置するように決定する（Ｓ１７）。
【００８６】
その結果に基づいて、階層制御部１４は、評価値の大きい順に、セグメントを高速の記憶装置１８に配置し、残りのセグメントを低速の記憶装置１９に配置する（Ｓ１８）。
【００８７】
階層制御部１４は、セグメント管理テーブル１６の全エントリの読み込み数、及びフラグを「０」で初期化する（Ｓ１９）。
【００８８】
（実施例２）
実施例１では、セグメントに対する評価値計算の際に、そのセグメントに対応するログ書き領域に書き込みが行われた否かに応じて、読み込みアクセス頻度を低下させるペナルティ（固定値）を与えることにより、アクセス頻度を調整した。これに対して、実施例２では、実施例１に加えて、さらにそのログ書きされてからの経過時間に応じてペナルティ量を変動させることによりアクセス頻度を調整する。なお、実施例２では、実施例１と同様の構成、機能または処理については、同一の符号を付し、その説明を省略する。
【００８９】
図１２は、本実施形態（実施例２）におけるログ書き順序に応じたペナルティの与え方を説明するための図である。図１２では、階層制御レイヤがデータ空間を７つのセグメントに分割して管理している例を示す。なお、図１２では、説明の便宜のため、ログ書きの際に指定される書き込み単位であるログ書き領域と、セグメントとのサイズを同一にしているが、このサイズは異なっていてもよい。
【００９０】
この例では、前回のデータ再配置の実行後、現在（今回の再配置判定時）までに３つのセグメントが、セグメントの上に記載した順番（ログ書き順序）で、ログ構造化データレイヤによりログ書き領域に指定されたことが表されている。
【００９１】
この場合、図１２に示したように、階層制御レイヤは、ログ構造化データレイヤによりログ書き領域として指定されなかったセグメントに対してはペナルティを与えることなく、読み込み頻度そのものを評価値とする。
【００９２】
一方、階層制御レイヤは、ログ書き領域に指定されたセグメントに対しては、ログ書きされた順に、読み込み頻度により大きなペナルティを与えることにより、評価値を計算する。
【００９３】
階層制御レイヤは、計算した各セグメントに対する評価値の高い順にセグメントを高速の記憶装置に配置し、残りのセグメントを低速の記憶装置に配置する。 
【００９４】
このように、実施例２では、階層制御レイヤは、ログ書き領域に指定されたセグメントに対する評価値計算の際に、ログ書き順に応じて読み込みアクセス頻度にペナルティを与えることにより、アクセス頻度を調整する。階層制御レイヤは、その調整したアクセス頻度に基づいて、データの再配置を行う。これにより、階層制御レイヤは、ログ構造化データレイヤからの情報提供を受けることなく、読み込み頻度の多寡だけではなく、推定した更新頻度の多寡も考慮してデータ配置を決定することができる。
【００９５】
ここで、前回再配置後にログ書き領域に書き込まれたセグメントの中で比較した場合、書き込み順序が先ということは、データ書き込み後比較的長い時間が経過して、すでに上書きにより最新データが存在していない可能性が高いということである。逆に、書き込み順序が後ということは、データ書き込み後比較的短い時間しか経過していないため、まだ最新データが存在している可能性が高いということである。したがって書き込みが先に行われたセグメントほど、ペナルティを大きく与えている。
【００９６】
図１３は、本実施形態（実施例２）における、ログ書き領域に指定されてログ書きされたセグメントに対して、ペナルティ（変動値）を与えることを説明するためのグラフである。図１３において、縦軸は、ペナルティ量を示す。横軸は、ログ書き領域として指定されたセグメントがログ書きされてからの経過時間を示す。
【００９７】
図１３に示すように、セグメントに対応するデータがログ書き領域に書き込まれてから所定期間は、ログ書き領域に書き込まれたデータのセグメントに対して、ペナルティ量が付与される。ここで、所定期間とは、ログ書きからデータ再配置までの期間である。
【００９８】
図１３の場合では、セグメントに対応するデータが書き込み領域に書き込まれてから所定期間は、より時間が経過するほど、ペナルティ量がｎ次曲線または指数関数的に増加している。なお、セグメントに対応するデータが書き込み領域に書き込まれてから所定期間は、より時間が経過するほど、ペナルティ量が線形的に増加してもよい。
【００９９】
また、所定期間の経過後、ペナルティ量が０になっているのは、セグメントの再配置処理により、ペナルティが初期化されたためである。セグメントの再配置により、よく使用されるセグメントが高速の記憶装置に配置されることになる。
【０１００】
図１４は、本実施形態（実施例２）におけるストレージ制御装置の一例を示す。図１４のストレージ制御装置１１は、セグメント管理テーブル１６をセグメント管理テーブル１６ａに置き換えたものである。それ以外は、図７と同様の構成である。
【０１０１】
図１５は、本実施形態（実施例２）におけるセグメント管理テーブルの一例を示す。セグメント管理テーブル１６ａは、「セグメントＩＤ」、「読み込み数」、「ログ書き順序」の項目を含む。「セグメントＩＤ」は、セグメントに分割された論理的なデータレイアウトにおけるセグメントを特定するセグメントＩＤを格納する。「読み込み数」は、セグメントの読み込み数を格納する。「ログ書き順序」は、セグメントのログ書き領域への書き込みの順序を格納する。「読み込み数」、「ログ書き順序」の初期値として、「０」が設定されている。
【０１０２】
まず、図１５に示すように、階層制御部１４は、セグメント毎に、セグメントの読み込み数を記録する。この読み込み数は直近の値を計測する必要があるので、再配置を行った際は、階層制御部１４は、セグメント管理テーブル１６ａの全セグメントの「読み込み数」を「０」にリセットする。
【０１０３】
ログ書き領域へ書き込まれたセグメントに対して、図１５のように、階層制御部１４は、セグメント管理テーブル１６ａにおいて、対応するセグメントのログ書き順序を記録する。ログ書き領域への書き込みも同様に、データの再配置を行った際は、階層制御部１４は、セグメント管理テーブル１６ａの全セグメントの「ログ書き順序」を「０」にリセットする。 
【０１０４】
次に、実施例２におけるストレージ制御装置１１の動作について、図１６、図１７を用いて説明する。
【０１０５】
図１６は、本実施形態（実施例２）におけるデータの読み込み時または書き込み時におけるセグメント管理テーブルの更新フローの一例を示す。図１６のフローは、図１０のフローのＳ４、Ｓ５を、Ｓ４ａ、Ｓ５ａに置き換えたものである。以下では、取得したアクセス要求が書き込み要求である場合について説明し、取得したアクセス要求が読み込み要求である場合についてはその説明を省略する。
【０１０６】
取得したアクセス要求が書き込み要求である場合（Ｓ２で「ＮＯ」）、階層制御部１４は、その書き込み要求から対応するセグメントＩＤを特定する。セグメント管理テーブル１６ａにおいて、その特定したセグメントＩＤに対応するログ書き順序が「０」である場合（Ｓ４ａで「ＹＥＳ」）、階層制御部１４は、セグメント管理テーブル１６ａ内の「ログ書き順序」列から、最大のログ書き順序を取得する。階層制御部１４は、セグメント管理テーブル１６ａにおいて、その特定したセグメントＩＤに対応するログ書き順序に、取得した最大のログ書き順序に１を加えた値を設定する（Ｓ５ａ）。
【０１０７】
次に、セグメントの再配置処理について説明する。階層制御部１４がログ書き領域にセグメントが指定されたことを検出する方法としては例えば、セグメントに対するログ書き領域へ一度でも書き込みが発生すれば、そのセグメントがログ書き領域に指定されたと考える方法がある。
【０１０８】
しかしながら、一口にログ構造化データレイアウトといっても、メタデータ管理のためにログ書き以外の書き込みが発生することもある。この場合は、メタデータ書き込みとは区別してデータ書き込みを検出するために、階層制御部１４は、連続した領域に対して一定以上の書き込みがあったセグメントのみをログ書き領域だと検出してもよい。 
【０１０９】
データ再配置を行う際は、セグメント管理テーブル１６ａを利用して、データ配置を決定するための評価値を計算する。
【０１１０】
まずログ書き順序が０の（ログ書きされなかった）セグメントの評価値については、読み込み数そのものを評価値とする。
【０１１１】
一方、ログ書き順序が０以外の（ログ書きされた）セグメントの評価値については次のように処理する。すなわち、例えば、最後にログ書き領域に指定されたセグメントの評価値については読み込み数を１／２倍した値、２番目のセグメントの評価値については１／３倍、・・・、ｎ番目のセグメントの評価値については１／（ｎ＋１）倍する。
【０１１２】
これにより、ログ書きに指定された順序が後のセグメントほど、軽いペナルティを与えることができる。
【０１１３】
ペナルティを与える場合の評価式を以下に示す。
評価式（ペナルティ付与時）＝read_num × 1/(written_segs+2- written_order)
各セグメントの読み込み数：read_num
前回の再配置以降書き込みが発生した総セグメント数：written_segs
各セグメントにおいて書き込みが行われた順番：written_order
【０１１４】
再配置判定の際には上記評価値の多い順にセグメントを高速の記憶装置に配置し、残りのセグメントを低速の記憶装置に配置する。以上の手順の詳細については、図１７を用いて説明する。
【０１１５】
図１７は、本実施形態（実施例２）におけるセグメントの再配置処理のフローの一例を示す。図１７のフローは、図１１のフローのＳ１１、Ｓ１４、Ｓ１９をそれぞれ、Ｓ１１ａ、Ｓ１４ａ、Ｓ１９ａに置き換えたものである。
【０１１６】
階層制御部１４は、セグメント管理テーブル１６ａから、全エントリ（「セグメントＩＤ」、「読み込み数」、「ログ書き順序」）を取得する（Ｓ１１ａ）。このとき、階層制御部１４は、取得した全エントリ数を確認し、「ログ書き順序」のエントリ内で最大の値をwritten_segsに設定する。
【０１１７】
階層制御部１４は、エントリ毎に、以下で説明するＳ１２〜Ｓ１５の処理を行う。なお、Ｓ１２〜Ｓ１５において、処理対象となっているエントリを対象エントリと称する。
【０１１８】
階層制御部１４は、対象エントリのセグメントに対応するログ書き領域への書き込みが発生したか、すなわち、対象エントリに含まれる「ログ書き順序」が０以外であるかを判定する（Ｓ１２）。
【０１１９】
ログ書き領域への書き込みが発生した場合（「ログ書き順序」が０以外）（Ｓ１２で「ＹＥＳ」）、階層制御部１４は、次の処理を行う。すなわち、階層制御部１４は、対象エントリに含まれる「読み込み数」read_numに、ペナルティの逆数（１／(written_segs+2- written_order)）を乗じることにより、評価値を算出する（Ｓ１４ａ）。
【０１２０】
ログ書き領域への書き込みが発生していない場合（「ログ書き順序」＝０）（Ｓ１２で「ＮＯ」）、階層制御部１４は、対象エントリに含まれる「読み込み数」を評価値とする（Ｓ１３）。
【０１２１】
階層制御部１４は、Ｓ１３またはＳ１４で得られたセグメントの評価値を、評価値管理テーブル１７において、対応するセグメントＩＤのエントリに記録する（Ｓ１５）。
【０１２２】
セグメント管理テーブル１６ａに登録されている全エントリについて、Ｓ１２〜Ｓ１５の処理が終了後、階層制御部１４は、評価値管理テーブル１７において、評価値の降順に、セグメントＩＤをソートする（Ｓ１６）。
【０１２３】
階層制御部１４は、評価値管理テーブル１７に基づいて、評価値の大きい順に、セグメントを高速の記憶装置１８に配置し、残りのセグメントを低速の記憶装置１９に配置するように決定する（Ｓ１７）。
【０１２４】
階層制御部１４は、その結果に基づいて、評価値の大きい順に、セグメントを高速の記憶装置１８に配置し、残りのセグメントを低速の記憶装置１９に配置する（Ｓ１８）。
階層制御部１４は、セグメント管理テーブル１６ａの全エントリの読み込み数、及びログ書き順序を「０」で初期化する（Ｓ１９ａ）。
【０１２５】
図１８は、本実施形態を適用していないアルゴリズムを用いたＳＳＤアクセス率と、本実施形態（実施例２）を適用したアルゴリズムを用いたＳＳＤアクセス率との比較結果を示す。比較実験では、本実施形態を適用していないアルゴリズムと本実施形態を適用したアルゴリズムとをそれぞれ、シミュレーションで、評価を行った。
【０１２６】
評価では上位でログ構造化データレイアウトによってデータを管理するソフトウェアを動作させ、その下位で階層制御ソフトウェアを動作させ、シミュレーション用のトレースデータを取得した。高速の記憶装置にはＳＳＤ、低速の記憶装置にはＨＤＤを利用した。
【０１２７】
負荷はMicrosoft Research Cambridgeが公開している、社内サービスのストレージトレースデータ（非特許文献1参照）を与えた。このストレージトレースデータセットには３６種類のトレースが含まれるが、その中で書き込み比率が３０％〜７０％の９種類のトレースデータに対して評価を行った。
【０１２８】
なお、ログ構造化データレイアウトで特徴的な動作を示す書き込み要求がある程度含まれ、また読み込み処理の高速化に注目した本発明を評価するために読み込み要求もある程度含まれるという観点で９種類のトレースを選択した。
【０１２９】
評価では各トレースデータの中で負荷の高い２時間分を抜き出し、２度繰り返し再生した。１度目の再生時のアクセスパターンからデータ配置を決定し、２度目の再生時のアクセスパターンにおけるＳＳＤへのアクセス比率を計測した。
【０１３０】
階層制御のセグメントサイズを１ＧＢ、ＳＳＤサイズを各トレースにおけるボリュームサイズの２０％にしたところ、実施形態を適用していないアルゴリズムと本実施形態（実施例２）を適用したアルゴリズムでのトレースごとのＳＳＤアクセス率の比較結果は、図１８に示される。ここで、実施形態を適用していないアルゴリズムとは、ログ書きに利用された順序に応じたペナルティを与えず、計測した読み込み数そのままの値が多い順に高速の記憶装置にセグメントを配置するアルゴリズムである。
【０１３１】
図１８の比較結果において、９種類のトレースのうち、３種類で本実施形態（実施例２）による方法によりＳＳＤアクセス率が増加し、逆に低下したのは１種類のみであった。また、ＳＳＤアクセス率の増加ポイント数の合計は６７ポイントであり、増減のあった４種類のトレースに限ると平均で約１７ポイントの増加となった。本実施形態（実施例２）により、上位でログ構造化データレイアウトが動作する環境で、既存手法より適切なデータ配置を行えていることが分かった。
【０１３２】
本実施形態（実施例２）によれば、ストレージ階層制御を行う際、ログ構造化データレイアウトが上位で動作している場合に、ストレージ階層制御レイヤは、次の処理を行うことができる。すなわち、ストレージ階層制御レイヤは、データへのアクセス頻度だけではなく、更新頻度に応じたデータ配置を、ログ構造化データレイヤからの情報提供を受けずに決定することができる。
【０１３３】
具体的には、ストレージ階層制御レイヤは、データ配置決定のための評価値を計算する際に、データへのアクセス頻度に基づいて、最近ログ書きが行われた領域に対してはログ書きされた順序に応じて、その評価値にペナルティを与える。これにより、データの更新により、今後アクセスされなくなる可能性の高いデータが、高速の記憶装置へ格納される可能性を低減することができる。その結果、高速の記憶装置上の領域が、無駄なデータにより占有されることを抑止することができる。
【０１３４】
なお、実施例1及び２にて用いたペナルティは、一例であって、これに限定されない。
図１９は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ３０は、ストレージ制御装置１，１１として機能する。コンピュータ３０は、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３６、通信Ｉ／Ｆ３４、記憶装置３７、出力Ｉ／Ｆ３１、入力Ｉ／Ｆ３５、読み取り装置３８、バス３９、出力装置４１、入力装置４２によって構成されている。
【０１３５】
ここで、ＣＰＵは、中央演算装置を示す。ＲＯＭは、リードオンリメモリを示す。ＲＡＭは、ランダムアクセスメモリを示す。Ｉ／Ｆは、インターフェースを示す。バス３９には、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３６、通信Ｉ／Ｆ３４、記憶装置３７、出力Ｉ／Ｆ３１、入力Ｉ／Ｆ３５、及び読取装置３８が接続されている。読取装置３８は、可搬型記録媒体を読み出す装置である。出力装置４１は、出力Ｉ／Ｆ３１に接続されている。入力装置４２は、入力Ｉ／Ｆ３５に接続されている。
【０１３６】
記憶装置３７としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置３７またはＲＯＭ３３には、ＣＰＵ３２を監視部２、調整部３、決定部４として機能させる本実施形態に係るプログラムが格納されている。より具体的には、記憶装置３７またはＲＯＭ３３には、階層制御部１４として機能させる本実施形態に係るプログラムが格納されている。また、記憶装置３７またはＲＯＭ３３には、ログ構造化部１３に相当するプログラムが格納されている。記憶装置３７は、本実施形態におけるディスク３１に相当する。
【０１３７】
ＲＡＭ３６には、情報が一時的に記憶される。ＲＡＭ３６は、本実施形態におけるメモリ３０に相当する。
【０１３８】
ＣＰＵ３２は、記憶装置３７またはＲＯＭ３３から本実施形態に係るプログラムを読み出し、当該プログラムを実行する。
【０１３９】
通信Ｉ／Ｆ３４は、ネットワークと接続して他の装置と通信するためのポート等のインターフェースである。
【０１４０】
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク５０、および通信Ｉ／Ｆ３４を介して、例えば記憶装置３７に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読取装置３８にセットされて、ＣＰＵ３２によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカード、ＵＳＢメモリ装置、半導体メモリカードなど様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読取装置３８によって読み取られる。
【０１４１】
入力装置５２には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力装置５１には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。
【０１４２】
ネットワーク５０は、インターネット、ＬＡＮ、ＷＡＮ、専用線、有線、無線等の通信網であってよい。
【０１４３】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１４４】
１      ストレージ制御装置
２      監視部
３      調整部
４      決定部
１１    ストレージ制御装置
１２    ＣＰＵ
１３    ログ構造化部
１４    階層制御部
１５    メモリ
１６，１６ａ    セグメント管理テーブル
１７    評価値管理テーブル
１８    高速の記憶装置
１９    低速の記憶装置
【図１】
2017027301.tif 000003
【図２】
2017027301.tif 000004
【図３】
2017027301.tif 000005
【図４】
2017027301.tif 000006
【図５】
2017027301.tif 000007
【図６】
2017027301.tif 000008
【図７】
2017027301.tif 000009
【図８】
2017027301.tif 000010
【図９】
2017027301.tif 000011
【図１０】
2017027301.tif 000012
【図１１】
2017027301.tif 000013
【図１２】
2017027301.tif 000014
【図１３】
2017027301.tif 000015
【図１４】
2017027301.tif 000016
【図１５】
2017027301.tif 000017
【図１６】
2017027301.tif 000018
【図１７】
2017027301.tif 000019
【図１８】
2017027301.tif 000020
【図１９】
2017027301.tif 000021