(57)【特許請求の範囲】
【請求項１】
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第１データと後続の第２データとに分割する分割部と、
前記第１データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第１ストレージグループ内の第１ストレージに書き込み、前記第２データを、前記複数のストレージグループのうちの前記第１ストレージグループよりも稼働率の低い第２ストレージグループ内の第２ストレージに書き込む書込部と、
前記第２ストレージが停止している場合、前記書込部による前記第２データの書き込み前に、前記第１データの書き込みと並行して、前記第２ストレージを起動させる第１起動制御部と、をそなえ、
前記書込部は、前記第１ストレージグループに前記第１データを格納する空き記憶容量がない場合、前記コンテンツの全体を、前記第２ストレージに書き込み、
前記コンテンツの全体が前記第２ストレージに格納されている間は、当該第２ストレージを稼働状態に維持する制御部、をさらにそなえる
ことを特徴とする、制御装置。
【請求項２】
前記第１ストレージグループに格納された第１コンテンツが削除された場合、前記第２ストレージにコンテンツの全体又は第１データが格納されている第２コンテンツ、を示す情報に基づき、前記第２コンテンツの第１データを前記第１ストレージに移動させる配置制御部、をさらにそなえる
ことを特徴とする、請求項１記載の制御装置。
【請求項３】
前記第１データのサイズは、前記第２ストレージが非稼働状態から稼働状態に遷移するまでの期間に前記第１ストレージに対する書き込み又は読み出しが可能なデータサイズであり、
前記書込部は、前記第２ストレージグループ内の複数のストレージの各々について前記第２ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記コンテンツの書込要求に係る時間を含む期間が関連付けられた前記第２ストレージに、前記第２データを書き込むことを特徴とする、請求項１又は請求項２記載の制御装置。
【請求項４】
前記コンテンツの読出要求の受信に応じて、前記コンテンツについて前記第１データ及び前記第２データの各々の格納先を示すコンテンツ情報に基づき、前記第１ストレージグループの前記第１ストレージから前記第１データを読み出し、前記第２ストレージグループの前記第２ストレージから前記第２データを読み出す読出部と、
前記第２ストレージが停止している場合、前記読出部による前記第２データの読み出し前に、前記第１データの読み出しと並行して、前記第２ストレージを起動させる第２起動制御部と、をさらにそなえる
ことを特徴とする、請求項１〜３のいずれか１項記載の制御装置。
【請求項５】
前記第２データに対する所定期間におけるアクセス数に応じて、前記第２ストレージグループ内の前記第２ストレージに格納された前記第２データを、前記複数のストレージグループのうちの前記第２ストレージグループとは異なる稼働率の第３ストレージグループ内の第３ストレージに移動させる移動部をさらにそなえることを特徴とする、請求項１〜４のいずれか１項記載の制御装置。
【請求項６】
前記移動部は、前記第３ストレージグループ内の複数のストレージの各々について前記第３ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記ストレージ情報における複数の前記期間の各々について、前記第２データに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた前記第３ストレージに、前記第２データを移動させることを特徴とする、請求項５記載の制御装置。
【請求項７】
稼働率が互いに異なる複数のストレージグループと、
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第１データと後続の第２データとに分割する分割部と、
前記第１データを、前記複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第１ストレージグループ内の第１ストレージに書き込み、前記第２データを、前記複数のストレージグループのうちの前記第１ストレージグループよりも稼働率の低い第２ストレージグループ内の第２ストレージに書き込む書込部と、
前記第２ストレージが停止している場合、前記書込部による前記第２データの書き込み前に、前記第１データの書き込みと並行して、前記第２ストレージを起動させる第１起動制御部と、をそなえ、
前記書込部は、前記第１ストレージグループに前記第１データを格納する空き記憶容量がない場合、前記コンテンツの全体を、前記第２ストレージに書き込み、
前記コンテンツの全体が前記第２ストレージに格納されている間は、当該第２ストレージを稼働状態に維持する制御部、をさらにそなえる
ことを特徴とする、ストレージシステム。
【請求項８】
前記第１ストレージグループに格納された第１コンテンツが削除された場合、前記第２ストレージにコンテンツの全体又は第１データが格納されている第２コンテンツ、を示す情報に基づき、前記第２コンテンツの第１データを前記第１ストレージに移動させる配置制御部、をさらにそなえる
ことを特徴とする、請求項７記載のストレージシステム。
【請求項９】
コンピュータに、
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第１データと後続の第２データとに分割し、
前記第１データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第１ストレージグループ内の第１ストレージに書き込み、
前記第２データを、前記複数のストレージグループのうちの前記第１ストレージグループよりも稼働率の低い第２ストレージグループ内の第２ストレージに書き込み、
前記第２ストレージが停止している場合、前記第２データの書き込み前に、前記第１データの書き込みと並行して、前記第２ストレージを起動させ、
前記第１ストレージグループに前記第１データを格納する空き記憶容量がない場合、前記コンテンツの全体を、前記第２ストレージに書き込み、
前記コンテンツの全体が前記第２ストレージに格納されている間は、当該第２ストレージを稼働状態に維持する
処理を実行させることを特徴とする、制御プログラム。
【請求項１０】
前記コンピュータに、
前記第１ストレージグループに格納された第１コンテンツが削除された場合、前記第２ストレージにコンテンツの全体又は第１データが格納されている第２コンテンツ、を示す情報に基づき、前記第２コンテンツの第１データを前記第１ストレージに移動させる
処理を実行させることを特徴とする、請求項９記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ストレージシステム、及び制御プログラムに関する。
【背景技術】
【０００２】
データを格納するストレージ装置において、ストレージ装置がそなえる複数の記憶装置のうちの少なくとも１つの記憶装置を停止、例えば電源をオフにすることで、ストレージ装置の消費電力を低減させる手法が知られている。記憶媒体としては、Solid State Drive（ＳＳＤ）等の半導体ドライブ装置及びHard Disk Drive（ＨＤＤ）等の磁気ディスク装置等が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３１６６８号公報
【特許文献２】特開２００２−３０４３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
記憶装置を停止させたストレージ装置において、停止状態のストレージ、例えば記憶装置へアクセスが発生した場合、ストレージ装置は停止状態の記憶装置を再起動させてからアクセス要求に係る処理を行なうため、レスポンス遅延が発生してしまう。
【０００５】
１つの側面では、本発明は、ストレージの消費電力を削減すること、又は、レスポンス遅延を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、本件の制御装置は、分割部と、書込部と、起動制御部と、制御部とをそなえる。前記分割部は、コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第１データと後続の第２データとに分割する。前記書込部は、前記第１データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第１ストレージグループ内の第１ストレージに書き込む。前記書込部はさらに、前記第２データを、前記複数のストレージグループのうちの前記第１ストレージグループよりも稼働率の低い第２ストレージグループ内の第２ストレージに書き込む。前記起動制御部は、前記第２ストレージが停止している場合、前記書込部による前記第２データの書き込み前に、前記第１データの書き込みと並行して、前記第２ストレージを起動させる。また、前記書込部は、前記第１ストレージグループに前記第１データを格納する空き記憶容量がない場合、前記コンテンツの全体を、前記第２ストレージに書き込む。前記制御部は、前記コンテンツの全体が前記第２ストレージに格納されている間は、当該第２ストレージを稼働状態に維持する。
【発明の効果】
【０００７】
１つの側面では、ストレージの消費電力を削減すること、又は、レスポンス遅延を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態の一例としての階層ストレージシステムの構成例を示す図である。
【図２】図１に示すＣＭのハードウェア構成例を示す図である。
【図３】ストレージ装置の機能構成例を示す図である。
【図４】リソース管理テーブルのデータ構造の一例を示す図である。
【図５】判定値管理テーブルのデータ構造の一例を示す図である。
【図６】コンテンツ管理テーブルのデータ構造の一例を示す図である。
【図７】分割ライト処理の一例を説明する図である。
【図８】分割リード処理の一例を説明する図である。
【図９】ストレージ装置の全体処理の動作例を説明するフローチャートである。
【図１０】事前処理の動作例を説明するフローチャートである。
【図１１】ライト制御処理の動作例を説明するフローチャートである。
【図１２】ライト制御処理の動作例を説明するフローチャートである。
【図１３】ライト制御処理の動作例を説明するフローチャートである。
【図１４】ライト制御処理の動作例を説明するフローチャートである。
【図１５】ライト制御処理の動作例を説明するフローチャートである。
【図１６】リード制御処理の動作例を説明するフローチャートである。
【図１７】再配置処理の動作例を説明するフローチャートである。
【図１８】再配置処理の動作例を説明するフローチャートである。
【図１９】再配置処理の動作例を説明するフローチャートである。
【図２０】再配置処理の動作例を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１０】
〔１〕一実施形態
〔１−１〕階層ストレージシステムの構成例
図１は一実施形態の一例としての階層ストレージシステム１の構成例を示す図である。図１に示すように、階層ストレージシステム１は、例示的に、階層ストレージ装置２及びサーバ６をそなえる。
【００１１】
サーバ６は、図示しないネットワーク等を介してストレージ装置２と接続され、ストレージ装置２に対して種々のアクセス要求を発行するホスト装置の一例である。
【００１２】
階層ストレージ装置２は、複数の記憶装置をそなえるストレージ装置の一例である。階層ストレージ装置２は、複数の記憶装置５を搭載し、サーバ６に対して記憶領域を提供することができる。一例として、階層ストレージ装置２は、Redundant Arrays of Inexpensive Disks（ＲＡＩＤ）を用いて複数の記憶装置にデータを分散又は冗長化した状態で保存し、ホスト装置に対してＲＡＩＤグループに基づく複数のストレージボリューム（Logical Unit Number；ＬＵＮ）を提供することができる。
【００１３】
図１に示すように、階層ストレージ装置２は、例示的に、１以上（図１では１つ）のController Enclosure（ＣＥ）３及び１以上（図１では１つ）のDrive Enclosure（ＤＥ）４をそなえる。
【００１４】
ＣＥ３は、サーバ６からのアクセス要求に応じて、ＤＥ４がそなえる記憶装置５へのリード又はライト等の種々のアクセスを制御する制御装置の一例である。
【００１５】
ＣＥ３は、例示的に、１以上（図１では１つ）のController Module（ＣＭ）３１をそなえる。ＣＭ３１は情報処理装置（コンピュータ）の一例である。
【００１６】
図１及び図２に示すように、ＣＭ３１は、例示的に、Central Processing Unit（ＣＰＵ）３ａ、メモリ３ｂ、記憶部３ｃ、インタフェース部（図１ではＩＦ（Interface）と表記）３ｄ、及び入出力部３ｅをそなえる。
【００１７】
ＣＰＵ３ａは、種々の制御や演算を行なうプロセッサの一例である。ＣＰＵ３ａは、ＣＭ３１内の各ブロックとバスで相互に通信可能に接続されてよい。なお、プロセッサとしては、ＣＰＵ３ａに代えて、他の演算処理装置、例えばMicro Processing Unit（ＭＰＵ）等の集積回路（Integrated Circuit；ＩＣ）が用いられてもよい。
【００１８】
メモリ３ｂは、種々のデータやプログラムを格納するハードウェアの一例である。メモリ３ｂは、ＣＭ３１における記憶装置５へのアクセス制御においてキャッシュメモリとして用いられてもよい。メモリ３ｂとしては、例えばRandom Access Memory（ＲＡＭ）等の揮発性メモリが挙げられる。
【００１９】
記憶部３ｃは、種々のデータやプログラム等を格納するハードウェアの一例である。記憶部３ｃとしては、例えばＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、フラッシュメモリやRead Only Memory（ＲＯＭ）等の不揮発性メモリ等の各種記憶装置が挙げられる。
【００２０】
例えば記憶部３ｃは、ＣＭ３１の各種機能の全部若しくは一部を実現する制御プログラム３０を格納してもよい（図２参照）。この場合、ＣＰＵ３ａは、記憶部３ｃに格納された制御プログラム３０をメモリ３ｂに展開して実行することにより、ＣＭ３１の機能を実現することができる。
【００２１】
インタフェース部３ｄは、サーバ６、ＤＥ４、又は図示しない管理端末等との間の接続及び通信の制御等を行なう通信インタフェースの一例である。インタフェース部３ｄとしては、例えばLocal Area Network（ＬＡＮ）カード等のネットワークインタフェースや、ＳＡＮ、ＦＣ、インフィニバンド（InfiniBand）等に準拠したインタフェースが挙げられる。なお、図１において、サーバ６と接続されたＩＦ３ｄはChannel Adapter（ＣＡ）の一例であり、ＤＥ４と接続されたＩＦ３ｄはDevice Adapter（ＤＡ）の一例である。
【００２２】
また、インタフェース部３ｄは、記録媒体３ｆに記録されたデータやプログラムを読み出す読取部をそなえてもよい。読取部は、コンピュータ読取可能な記録媒体３ｆを接続又は挿入可能な接続端子又は装置を含んでよい。読取部としては、例えばUniversal Serial Bus（ＵＳＢ）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体３ｆには制御プログラム３０が格納されてもよい。
【００２３】
入出力部３ｅは、マウス、キーボード、操作ボタン等の入力部、並びにディスプレイ等の出力部の少なくとも一部を含むことができる。例えば入力部は、オペレータ等による設定の登録や変更、システムのモード選択（切替）等の各種操作やデータの入力等の作業に用いられてもよく、出力部は、オペレータ等による設定の確認や各種通知等の出力に用いられてもよい。
【００２４】
なお、上述したＣＭ３１のハードウェア構成は例示である。従って、ＣＭ３１内でのハードウェアの増減（例えば任意のブロックの追加や省略）、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。
【００２５】
図１の説明に戻り、ＤＥ４は、複数の記憶装置５を搭載する。ＤＥ４は、例示的に、ＣＥ３からの指示に応じた記憶装置５への入出力を制御する１以上（図１では１つ）のＩＯＭ（Input Output Module）をそなえる。記憶装置５としては、例えばＳＳＤ等の半導体ドライブ装置及び／又はＨＤＤ等の磁気ディスク装置が挙げられる。
【００２６】
なお、図１の例では、階層ストレージ装置２が１つのＣＥ３及び１つのＤＥ４をそなえ、ＣＥ３が１つのＣＭ３１をそなえるものとしているが、これに限定されるものではない。階層ストレージ装置２は、複数のＣＥ３及び複数のＤＥ４をそなえてもよく、１つのＣＥ３に複数のＣＭ３１をそなえてもよい。
【００２７】
〔１−２〕階層ストレージ装置の機能構成例
次に、階層ストレージ装置２の機能構成例について説明する。
図３に示すように、階層ストレージ装置２は、例示的に、キャッシュメモリ２１、メモリ部２２、制御部２３、及びストレージリソース２４をそなえる。なお、制御部２３はＣＰＵ３ａがメモリ３ｂ上で制御プログラム３０を実行することにより実現されてよく、キャッシュメモリ２１及びメモリ部２２は例えばそれぞれメモリ３ｂの少なくとも一部の記憶領域により実現されてもよい。
【００２８】
キャッシュメモリ２１は、サーバ６からのアクセス要求に係るデータ、例えばコンテンツ２１ａを一時的に記憶するとともに、制御部２３による制御において用いられるコンテンツ２１ａに関連する分割データ２１ｂ及び２１ｃを一時的に記憶する記憶領域を有する。以下、分割データ２１ｂ及び２１ｃをそれぞれ先頭データ２１ｂ及び後続データ２１ｃと表記する場合がある。
【００２９】
コンテンツ２１ａは、階層ストレージ装置２に記憶されるユーザデータである。コンテンツ２１ａとしては、例えば静止画、動画、及び音声、又はこれらの１以上の組み合わせのマルチメディアファイルや、テキスト、図面、表、又はこれらの１以上の組み合わせのドキュメントファイル、又は種々のプログラム等、全体で１つの意味を成すファイルが挙げられる。キャッシュメモリ２１は、例えばサーバ６で動作するアプリケーションプログラム６１から送信されたコンテンツ６１ａをコンテンツ２１ａとして記憶してもよい。
【００３０】
メモリ部２２は、制御部２３による制御において用いられるリソース管理テーブル２２ａ、判定値管理テーブル２２ｂ、及びコンテンツ管理テーブル２２ｃの各情報を記憶する記憶領域を有する。なお、以下の説明において、便宜上、これらのテーブル２２ａ〜２２ｃをテーブル形式で表すが、実際にはＣＭ３１において配列等の情報として扱われ得る。これらのテーブル２２ａ〜２２ｃの詳細な説明は、制御部２３の説明において行なう。
【００３１】
制御部２３は、複数のストレージ７を含むストレージリソース２４を管理し、サーバ６からのアクセス要求に応じてストレージ７に対する種々の制御を行なう。この制御には、コンテンツ２１ａの分割データ２１ｂ及び２１への分割、及び、運用方式の異なる複数のストレージ階層８（８ａ〜８ｃ）の制御が含まれる。
【００３２】
ストレージリソース２４は、階層ストレージ装置２で管理されるストレージ７の集合である。ストレージ７は、各々が例えば１以上の記憶装置５により実現される。ストレージ７としては、例えば論理ボリュームであってもよいが、各ストレージ７の起動状態は互いに異なるため、ストレージ７を構成する記憶装置５が他のストレージ７で用いられないことが好ましい。
【００３３】
ストレージ７は、それぞれ異なる運用方式を採っており、図３の例では、オンラインＡ及びオンラインＢのストレージ７は常時運転する（起動している）ストレージ７である。中間Ａ及び中間Ｂのストレージ７は、基本的に常時運転するが、ストレージ７へのアクセスが無い状態を検出した場合に停止することが許容されたストレージ７である。オフラインＡ〜オフラインＣのストレージ７は、中間Ａ及び中間Ｂよりも停止期間の長いストレージ７であり、基本的に運転停止状態を維持するが、アクセスのあったときに運転し、その後停止する。
【００３４】
なお、運転又は起動とは、例えばストレージ７を構成する記憶装置５に電源が供給されており（電源ＯＮ）、当該ストレージ７へのアクセスが可能な状態をいい、停止とは、例えばストレージ７を構成する記憶装置５への電源の供給が停止した（電源ＯＦＦ）状態をいう。また、以下の説明において、起動中とは、停止状態において記憶装置５へ電源の供給を開始してから運転状態（起動状態）に遷移するまでの状態をいい、停止中とは、運転状態において電源の供給停止に係る処理を開始してから停止状態に遷移するまでの状態をいう。
【００３５】
このように、階層ストレージ装置２は、動作状態の観点から運転方式の異なるストレージ７を階層的に扱う。例えばオンラインＡ及びオンラインＢのストレージ７は第１ストレージ階層８ａ、中間Ａ及び中間Ｂのストレージ７は第２ストレージ階層８ｂ、オフラインＡ〜オフラインＣのストレージ７は第３ストレージ階層８ｃとして管理される。以下、オンラインＡ及びオンラインＢのストレージ７を単にオンラインストレージ７と表記し、中間オンラインＡ及びオンラインＢのストレージ７を単に中間ストレージ７と表記し、オフラインＡ〜オフラインＣのストレージ７を単にオフラインストレージ７と表記する場合がある。
【００３６】
換言すれば、ストレージリソース２４における複数のストレージ階層８は、稼働率が互いに異なる複数のストレージグループの一例である。また、第１ストレージ階層８ａは、他のストレージグループよりも稼働率の高い第１ストレージグループの一例であり、第２又は第３ストレージ階層８は、第１ストレージグループよりも稼働率の低い第２ストレージグループの一例である。
【００３７】
なお、ストレージ７は、オンライン、中間、及びオフラインのいずれも同一又は略同一の性能をそなえてもよい。以下、一実施形態に係るストレージリソース２４は、オンラインストレージ７、中間ストレージ７、及びオフラインストレージ７のいずれも同様のアクセス性能であるものとする。
【００３８】
図３に示すように、制御部２３は、例示的に、事前処理部２３ａ、ライト制御部２３ｂ、リード制御部２３ｃ、及び再配置制御部２３ｄをそなえる。
【００３９】
事前処理部２３ａは事前処理を行なう。事前処理には、図４〜図６にそれぞれ例示するリソース管理テーブル２２ａ、判定値管理テーブル２２ｂ、及びコンテンツ管理テーブル２２ｃの生成処理が含まれてよい。なお、事前処理が行なわれるタイミングとしては、例えば階層ストレージ装置２の初回起動が行なわれたときや装置構成に変更があったとき等が挙げられる。
【００４０】
リソース管理テーブル２２ａは、ストレージリソース２４を管理する情報の一例である。リソース管理テーブル２２ａには、図４に示すように、例示的に、ストレージリソース、ストレージ７の総容量及び空き容量、ステータス、起動フラグ、時間帯、起動時間、及び停止時間が含まれる。ストレージリソースは、ストレージリソース２４に含まれるストレージ７を特定する情報であり、例えばストレージ名が設定される。ステータスには起動又は停止の状態が設定されるが、オンラインストレージ７は常時起動であるため値が設定されなくてもよい。起動フラグは、ＯＮの場合に、ステータスを起動に維持し、中間又はオフラインストレージ７であっても停止させないことを示すフラグである。時間帯は、当該ストレージ７へのアクセスが発生する目安の時間帯を示す情報である。時間帯の間隔は任意であり、時間、日数、週、又は月単位であってもよい。起動時間は当該ストレージ７を停止状態から起動するのにかかる時間であり、停止時間は当該ストレージ７を起動状態から停止するのにかかる時間である。
【００４１】
このように、リソース管理テーブル２２ａは、互いに稼働率の異なる第２又は第３ストレージグループ内の複数のストレージ７の各々について、第２又は第３ストレージグループ内の他のストレージ７とは異なる期間が関連付けられたストレージ情報の一例である。
【００４２】
判定値管理テーブル２２ｂは、制御部２３による制御に用いられる判定値を管理する情報の一例である。判定値管理テーブル２２ｂには、図５に示すように、例示的に、ストレージリソース、リード性能、及びライト性能が含まれるとともに、判定情報としてオンラインデータサイズ、アクセス数判定値、及び単位時間が含まれる。リード性能及びライト性能は、オンラインストレージ７のアクセス性能を示す情報である。オンラインデータサイズは、オンラインストレージ７に保存するコンテンツ２１ａの分割を行なうか否かを判定するための閾値であり、分割データ（先頭）２１ｂのサイズの基準値である。アクセス数判定値は、中間ストレージ７及びオフラインストレージ７間での分割データ（後続）２１ｃの再配置を行なうか否かを判定するための閾値であり、単位時間は再配置の判定において用いられる情報である。
【００４３】
コンテンツ管理テーブル２２ｃは、ストレージリソース２４に格納されるコンテンツ２１ａを管理する情報の一例である。コンテンツ管理テーブル２２ｃには、図６に示すように、例示的に、コンテンツＩＤ（Identifier）、データ名、データサイズ、後続データサイズ、容量不足フラグ、先頭及び後続データリソース、先頭及び後続データアドレス、再配置フラグ、並びにタイムスタンプが含まれる。コンテンツＩＤはコンテンツ２１ａを特定する識別子の一例である。
【００４４】
データ名はサーバ６から受信したコンテンツ６１ａに設定された名前である。データサイズはコンテンツ２１ａ全体のサイズであり、後続データサイズはコンテンツ２１ａが分割されたときの分割データ（後続）２１ｃのサイズである。容量不足フラグはコンテンツ２１ａが容量不足によりオンラインストレージ７に保存されていないことを示すフラグである。先頭データリソース及び先頭データアドレスは、コンテンツ２１ａ全体又は分割データ（先頭）２１ｂが格納されているストレージ７及びアドレスを示す情報である。後続データリソース及び後続データアドレスは、コンテンツ２１ａ全体又は分割データ（後続）２１ｃが格納されているストレージ７及びアドレスを示す情報である。再配置フラグは分割データ（後続）２１ｃの再配置を行なうか否かを示すフラグである。タイムスタンプは当該コンテンツ２１ａについてアクセスのあった日時を特定する情報であり、複数の日時情報が設定され得る。
【００４５】
このように、コンテンツ管理テーブル２２ｃは、コンテンツ２１ａについて、先頭データ２１ｂ及び後続データ２１ｃの各々の格納先を示すコンテンツ情報の一例である。
【００４６】
事前処理部２３ａは、事前処理において、管理者等により予めＣＭ３１に設定された情報、並びに以下の測定処理及び算出処理により得られる情報に基づき、これらのテーブル２２ａ〜２２ｃの生成を行なう。
【００４７】
事前処理部２３ａによる測定処理には、一例として、第１ストレージ階層８ａのオンラインストレージ７の各々のライト性能及びリード性能の測定と、第２及び第３ストレージ階層８の中間及びオフラインストレージ７の各々の起動時間及び停止時間の測定とが含まれる。
【００４８】
事前処理部２３ａによる算出処理には、一例として、オンラインデータサイズの算出及びアクセス数判定値の算出が含まれる。
【００４９】
オンラインデータサイズの算出では、例えばオンラインストレージ７のリード性能及びライト性能、並びに、中間及びオフラインストレージ７の起動時間及び停止時間に基づく以下の値が算出され、最大値がオンラインデータサイズとして選択される。
【００５０】
・第２ストレージ階層８ｂのストレージ７の起動時間＋停止時間に第１ストレージ階層８ａのストレージ７へライト可能なデータサイズ
・第２ストレージ階層８ｂのストレージ７の起動時間＋停止時間に第１ストレージ階層８ａのストレージ７からリード可能なデータサイズ
・第３ストレージ階層８ｃのストレージ７の起動時間＋停止時間に第１ストレージ階層８ａのストレージ７へライト可能なデータサイズ
・第３ストレージ階層８ｃのストレージ７の起動時間＋停止時間に第１ストレージ階層８ａのストレージ７からリード可能なデータサイズ
【００５１】
オンラインデータサイズとしては、（起動時間＋停止時間）×ライト性能又はリード性能の演算がストレージ７の組み合わせごとに行なわれ、演算結果の最大値が選択されてもよい。又は、（起動時間＋停止時間）の最大値と、ライト性能又はリード性能の最大値とが先に求められ、これらの値の積算によりオンラインデータサイズが算出されてもよい。
【００５２】
なお、停止状態のストレージ７を起動するのにかかる時間は起動時間であるが、ストレージ７が停止中のときにＩ／Ｏアクセスがあった場合には、ストレージ７が停止状態に移行するまでの時間（最大で停止時間）が起動時間に加算される。従って、オンラインデータサイズの算出においては、起動時間に加えて停止時間も考慮するのである。
【００５３】
このように、オンラインデータサイズは、中間又はオフラインストレージ７が非稼働状態から稼働状態に遷移するまでの期間にオンラインストレージ７に対する書き込み又は読み出しが可能なデータサイズであるといえる。
【００５４】
アクセス数判定値の算出では、一例として、単位時間をストレージ７の起動時間及び停止時間の和で除した値が算出される。この算出結果は、ストレージ７の停止から再起動までの処理を単位時間当たり何回実施できるかを示す値といえる。なお、この算出で用いられる起動時間及び停止時間は、第２ストレージ階層８ｂのストレージ７のものを用いてよく、第２ストレージ階層８ｂのストレージ７が複数存在する場合には平均値が用いられてもよい。また、第３ストレージ階層８ｃのストレージ７の起動時間及び停止時間が用いられてもよい。
【００５５】
ライト制御部２３ｂは、サーバ６からのライト要求、例えばコンテンツ６１ａの書き込み要求の受信に応じて、キャッシュメモリ２１に格納されたコンテンツ２１ａのライト制御処理を実施することができる。
【００５６】
ライト制御部２３ｂによるライト制御処理には、コンテンツ２１ａのライト処理と、分割ライト処理とが含まれる。
【００５７】
ライト処理は、書き込み対象のコンテンツ２１ａのコンテンツ容量、例えば総データサイズとオンラインデータサイズとを比較し、総データサイズがオンラインデータサイズよりも小さければ、コンテンツ２１ａの全データを第１ストレージ階層８ａに保存する処理である。
【００５８】
分割ライト処理は、コンテンツ２１ａの総データサイズがオンラインデータサイズ以上の場合に実施される処理である。以下、図７を参照して分割ライト処理の一例について説明する。
【００５９】
図７に示すように、分割ライト処理では、サーバ６から受信したライト要求に係るコンテンツ２１ａをオンラインデータサイズで分割し、先頭データ２１ｂを第１ストレージ階層８ａへ、後続データ２１ｃを第２又は第３ストレージ階層８へ、それぞれ保存する。例えばライト要求に係るコンテンツ６１ａが新規保存の場合、後続データ２１ｃは第２ストレージ階層８ｂに保存され、ライト要求に係るコンテンツ６１ａがストレージ７に格納済の場合、後続データ２１ｃは現在の後続データ２１ｃの保存先の第２又は第３ストレージ階層８に保存、例えば上書きされる。
【００６０】
なお、先頭データ２１ｂは、コンテンツ２１ａの先頭からオンラインデータサイズ分のデータであり、後続データ２１ｃは、コンテンツ２１ａの先頭から先頭データ２１ｂを除いた後続のデータである。
【００６１】
また、分割ライト処理において後続データ２１ｃが保存されるストレージ７は、コンテンツ２１ａのライト要求に係る時間を含む時間帯が関連付けられたストレージ７であることが好ましい。ライト要求に係る時間を含む時間帯が関連付けられたストレージ７は、リソース管理テーブル２２ａを参照することにより特定することができる。
【００６２】
ここで、上述のように第２及び第３ストレージ階層８のストレージ７は、アクセスがあったときに停止状態である場合がある。そこで、一実施形態に係るライト制御部２３ｂは、後続データ２１ｃの保存先となる第２又は第３ストレージ階層８のストレージ７が停止状態である場合、以下の制御を行なうことができる。例えばライト制御部２３ｂは、後続データ２１ｃのライト処理に先立ち、先頭データ２１ｂのライト処理と並行して、停止状態のストレージ７に対して起動を指示し、起動状態になったときに後続データ２１ｃのライト処理を実行すればよい。
【００６３】
なお、第１ストレージ階層８ａのストレージ７の空き容量が不足する場合、ライト処理における保存対象のコンテンツ２１ａ全体又は分割ライト処理における先頭データ２１ｂは、暫定的に第２ストレージ階層８ｂに保存されてもよい。第２ストレージ階層８ｂのストレージ７の空き容量も不足する場合には、さらに下位の階層、例えば第３ストレージ階層８ｃに保存されてもよい。このとき、分割ライト処理においては、先頭データ２１ｂ及び後続データ２１ｃの分割を行なわずに、コンテンツ２１ａ全体を第２又は第３ストレージ階層８に格納してもよい。
【００６４】
第２又は第３ストレージ階層８にコンテンツ２１ａ全体又は先頭データ２１ｂが保存される場合、該当データについてコンテンツ管理テーブル２２ｃの容量不足フラグをＯＮに設定することで管理される。
【００６５】
コンテンツ２１ａ又は先頭データ２１ｂが第２又は第３ストレージ階層８に保存される場合、ライト制御部２３ｂは、当該データの格納先のストレージ７が当該データの格納期間の間、常時起動となるように制御してもよい。常時起動とする制御は、リソース管理テーブル２２ａの該当ストレージ７について、起動フラグをＯＮに設定することにより実現される。なお、第１ストレージ階層８ａのストレージ７の空き容量が増加し、コンテンツ２１ａ全体又は先頭データ２１ｂの保存可能容量に達した場合、制御部２３は、当該データを速やかに既存の保存先から第１ストレージ階層８ａへ再配置することが好ましい。再配置の処理は、後述する再配置制御部２３ｄにより実施される。
【００６６】
以上のように、ライト制御部２３ｂは、コンテンツ２１ａの書込要求の受信に応じて、当該コンテンツ２１ａを先頭の第１データ２１ｂと後続の第２データ２１ｃとに分割する分割部の一例である。また、ライト制御部２３ｂは、第１データ２１ｂを、稼働率の高い第１ストレージグループ内の第１ストレージ７に書き込み、第２データ２１ｃを、第１ストレージグループよりも稼働率の低い第２ストレージグループ内の第２ストレージ７に書き込む書込部の一例である。さらに、ライト制御部２３ｂは、第２ストレージ７が停止している場合、第２データ２１ｃの書き込み前に、第１データ２１ｂの書き込みと並行して、第２ストレージ７を起動させる第１起動制御部の一例である。
【００６７】
リード制御部２３ｃは、サーバ６からのリード要求、例えばコンテンツ２１ａの読み出し要求の受信に応じて、ストレージ７に格納されたコンテンツ２１ａ又は分割データ２１ｂ及び２１ｃのリード制御処理を実施することができる。
【００６８】
リード制御部２３ｃによるリード制御処理には、コンテンツ２１ａのリード処理と、分割リード処理とが含まれる。
【００６９】
リード処理は、リード対象のコンテンツ２１ａが分割されているか否かを判定し、分割されていない場合、当該コンテンツ２１ａの格納ストレージ７、例えば第１ストレージ階層８ａのストレージ７からコンテンツ２１ａを読み出してストレージ７へ応答する処理である。
【００７０】
分割リード処理は、コンテンツ２１ａが分割されている場合に実施される処理である。以下、図８を参照して分割リード処理の一例について説明する。
【００７１】
図８に示すように、分割リード処理では、サーバ６から受信したリード要求に係るコンテンツ２１ａのうち、オンラインデータサイズ分のデータサイズを第１ストレージ階層８ａから先頭データ２１ｂとして読み出し、以降のデータを現在の保存先の第２又は第３ストレージ階層８から後続データ２１ｃとして読み出す。読み出された先頭データ２１ｂ及び後続データ２１ｃは、キャッシュメモリ２１上でコンテンツ２１ａとして統合されてからサーバ６へ送信されてもよいし、読み出しが完了する都度、例えば先頭データ２１ｂ、後続データ２１ｃの順にサーバ６へ送信されてもよい。
【００７２】
なお、一実施形態に係るリード制御部２３ｃは、後続データ２１ｃの保存先である第２又は第３ストレージ階層８のストレージ７が停止状態である場合、以下の制御を行なうことができる。例えばリード制御部２３ｃは、後続データ２１ｃのリード処理に先立ち、先頭データ２１ｂのリード処理と並行して、停止状態のストレージ７に対して起動を指示し、起動状態になったときに後続データ２１ｃのリード処理を実行すればよい。
【００７３】
また、先頭データ２１ｂが容量不足フラグＯＮにより後続データ２１ｃとともに第２又は第３ストレージ階層８に格納されている場合、リード制御部２３ｃは、先頭データ２１ｂ及び後続データ２１ｃ（コンテンツ２１ａ全体）のリード処理を行なうことができる。
【００７４】
このように、リード制御部２３ｃは、コンテンツ２１ａの読出要求の受信に応じて、メモリ部２２が記憶するコンテンツ管理テーブル２２ｃに基づき、第１ストレージグループの第１ストレージ７から第１データ２１ｂを読み出し、第２ストレージグループの第２ストレージ７から第２データ２１ｃを読み出す読出部の一例である。また、リード制御部２３ｃは、第２ストレージ７が停止している場合、第２データ２１ｃの読み出し前に、第２データ２１ｃの読み出しと並行して、第２ストレージ７を起動させる第２起動制御部の一例である。
【００７５】
再配置制御部２３ｄは、コンテンツ２１ａ又は分割データ２１ｂ及び２１ｃのストレージ階層間における再配置処理を行なうことができる。なお、再配置処理が行なわれるタイミングは、ライト制御処理又はリード制御処理が行なわれたとき、サーバ６からコンテンツ２１ａの削除要求を受信したとき、又は所定周期ごと等であってもよい。
【００７６】
再配置制御部２３ｄによる再配置処理には、オンライン再配置処理と、中間／オフライン再配置処理とが含まれる。
【００７７】
オンライン再配置処理は、容量不足フラグがＯＮのコンテンツ２１ａを対象に、オンラインストレージ７の空き容量が増加したときに、当該コンテンツ２１ａの先頭データ２１ｂを第２又は第３ストレージ階層８から第１ストレージ階層８ａへ再配置する処理である。
【００７８】
オンライン再配置処理における階層移動は、例えばオンラインストレージ７に格納されたコンテンツ２１ａの削除要求に応じてオンラインストレージ７の空き容量がオンラインデータサイズよりも大きいことを検出したときに実施される。
【００７９】
中間／オフライン再配置処理は、第２又は第３ストレージ階層８に格納された後続データ２１ｃ又はコンテンツ２１ａ全体を対象に、当該データに対する直近の単位時間当たりのアクセス回数に応じて第２及び第３ストレージ階層８間で再配置する処理である。なお、第２又は第３ストレージ階層８に格納されたコンテンツ２１ａ全体とは、容量不足フラグＯＮのコンテンツ２１ａを意味する。
【００８０】
一例として、中間／オフライン再配置処理では、再配置制御部２３ｄは、第２又は第３ストレージ階層８に後続データ２１ｃ又は全体が格納されたコンテンツ２１ａごとに、単位時間内のタイムスタンプの数をアクセス回数として集計する。そして、再配置制御部２３ｄは、アクセス回数とアクセス数判定値とに基づき、当該コンテンツ２１ａの再配置フラグにＯＮを設定し、再配置フラグがＯＮのコンテンツ２１ａを他の階層へ再配置する。
【００８１】
再配置フラグにＯＮが設定される条件は、下記に例示するものが挙げられる。
・第２ストレージ階層８ｂのストレージ７に保存されたコンテンツ２１ａ
アクセス回数＜判定値の場合：ＯＮ
アクセス回数≧判定値の場合：ＯＦＦ
・第３ストレージ階層８ｃのストレージ７に保存されたコンテンツ２１ａ
アクセス回数＜判定値の場合：ＯＦＦ
アクセス回数≧判定値の場合：ＯＮ
【００８２】
また、再配置先のストレージ７としては、再配置対象のコンテンツ２１ａへのアクセス回数を再配置先の階層に含まれるストレージ７に定義された時間帯ごとに集計し、最もアクセス回数の多い時間帯に対応するストレージ７が選択されてよい。
【００８３】
このように、再配置制御部２３ｄは、第２データ２１ｃに対する所定期間におけるアクセス数に応じて、第２ストレージグループ内の第２ストレージ７に格納された第２データ２１ｃを、第２ストレージグループとは異なる稼働率の第３ストレージグループ内の第３ストレージ７に移動させる移動部の一例である。また、移動部の一例としての再配置制御部２３ｄは、リソース管理テーブル２２ａにおける複数の期間の各々について、第２データ２１ｃに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた第３ストレージ７に、第２データ２１ｃを移動させるといえる。
【００８４】
〔１−３〕階層ストレージシステムの動作例
次に、上述の如く構成された階層ストレージシステム１の動作例を、図９〜図２０を参照して説明する。
【００８５】
〔１−３−１〕全体処理の動作例
はじめに、図９を参照して階層ストレージシステム１の階層ストレージ装置２における全体処理の動作例を説明する。
【００８６】
図９に示すように、階層ストレージ装置２の初回起動の際に、制御部２３は事前処理部２３ａによる事前処理を行ない（ステップＳ１）、サーバ６からの要求を待ち受ける。サーバ６から要求を受信すると、制御部２３は、当該要求の種別を判定し（ステップＳ２、Ｓ４、及びＳ６）、種別に応じた処理を行なう。
【００８７】
例えば受信した要求がコンテンツ６１ａのライト要求である場合（ステップＳ２のＹｅｓルート）、制御部２３はライト制御部２３ｂによるライト制御処理を行ない（ステップＳ３）、処理がステップＳ７に移行する。
【００８８】
ステップＳ７では、制御部２３は再配置制御部２３ｄによる再配置制御処理を行ない、ストレージリソース２４等の装置構成に変更があるか否かを判定する（ステップＳ８）。構成変更がない場合（ステップＳ８のＮｏルート）、処理がステップＳ２に移行し、制御部２３はサーバ６からの要求を待ち受ける。一方、構成変更がある場合（ステップＳ８のＹｅｓルート）、処理がステップＳ１に移行し、再度事前処理が実施される。
【００８９】
受信した要求がコンテンツ２１ａのリード要求である場合（ステップＳ２のＮｏルート、ステップＳ４のＹｅｓルート）、制御部２３はリード制御部２３ｃによるリード制御処理を行ない（ステップＳ５）、処理がステップＳ７に移行する。
【００９０】
受信した要求がコンテンツ２１ａの削除要求である場合（ステップＳ４のＮｏルート、ステップＳ６のＹｅｓルート）、処理がステップＳ７に移行する。一方、受信した要求がコンテンツ２１ａの削除要求ではない場合（ステップＳ６のＮｏルート）、制御部２３は、当該要求に応じた処理を行ない（ステップＳ９）、処理がステップＳ８に移行する。
【００９１】
〔１−３−２〕事前処理の動作例
次に、図１０を参照して事前処理部２３ａによる事前処理の動作例を説明する。図１０に示すように、事前処理部２３ａは、予め設定された情報や階層ストレージ装置２から収集した情報に基づき、リソース管理テーブル２２ａ、判定値管理テーブル２２ｂ、及びコンテンツ管理テーブル２２ｃを生成する（ステップＳ１１）。
【００９２】
次いで、事前処理部２３ａは、オンラインストレージ７の各々のライト性能及びリード性能を測定し、測定結果をリソース管理テーブル２２ａへ登録する（ステップＳ１２）。ライト性能及びリード性能の測定は、各オンラインストレージ７に対して任意のデータサイズの書き込み及び読み出しを実施し、そのときの所要時間を測定して、データサイズを所要時間で除算した結果を得ることで実施可能である。
【００９３】
また、事前処理部２３ａは、中間及びオフラインストレージ７の各々について、ストレージ７を構成する記憶装置５の起動及び停止の所要時間を測定し、測定結果をリソース管理テーブル２２ａへ登録する（ステップＳ１３）。起動及び停止の所要時間の測定は、各記憶装置５に対して起動を指示してから起動が完了するまでの時間（起動時間）を測定し、各記憶装置５に対して停止を指示してから停止が完了するまでの時間（停止時間）を測定することにより実施可能である。なお、ストレージ７を構成する記憶装置５が複数ある場合、複数の記憶装置５のうちの起動時間の最大値及び停止時間の最大値をそれぞれ当該ストレージ７の起動時間及び停止時間としてもよい。
【００９４】
次に、事前処理部２３ａは、リソース管理テーブル２２ａからストレージ７ごとに起動時間及び停止時間の和を求めて起動時間＋停止時間の最大値を取得し、オンラインデータサイズを算出して、算出結果を判定値管理テーブル２２ｂへ登録する（ステップＳ１４）。オンラインデータサイズは、例えばオンラインストレージ７のライト性能及びリード性能のうちの最大値と、起動時間＋停止時間の最大値との積算を行なうことにより算出可能である。なお、ライトの場合及びリードの場合のそれぞれのオンラインデータサイズを求め、算出結果のいずれか大きい値を採用してもよい。
【００９５】
また、事前処理部２３ａは、単位時間と起動時間＋停止時間の最大値との積算を行ない、算出結果を判定値として判定値管理テーブル２２ｂへ登録する（ステップＳ１５）。この判定値は、単位時間に実行可能な起動及び停止の回数であり、分割データ（後続）２１ｃの再配置を判定する基準値として用いられる。
【００９６】
さらに、事前処理部２３ａはリソース管理テーブル２２ａに各中間又はオフラインストレージ７の時間帯を設定し（ステップＳ１６）、処理が終了する。なお、時間帯は予め階層ストレージ装置２に設定され得る情報であるため、例えばステップＳ１１においてリソース管理テーブル２２ａに設定されてもよい。
【００９７】
〔１−３−３〕ライト制御処理の動作例
次に、図１１〜図１５を参照してライト制御部２３ｂによるライト制御処理の動作例を説明する。
【００９８】
はじめに、図１１に示すように、ライト制御部２３ｂは、キャッシュメモリ２１に格納されたライト要求の対象コンテンツ２１ａがストレージリソース２４に保存済みであるか否かを、コンテンツ管理テーブル２２ｃを参照して判定する（ステップＳ２１）。この判定は、コンテンツ管理テーブル２２ｃに該当コンテンツ２１ａのデータ名と一致するエントリの有無を判断することにより実現可能である。
【００９９】
対象コンテンツ２１ａがストレージリソース２４に保存されていない場合（ステップＳ２１のＮｏルート）、ライト制御部２３ｂは対象コンテンツ２１ａのファイル名やオブジェクト名等のデータ名、及びデータサイズをコンテンツ管理テーブル２２ｃへ登録する（ステップＳ２２）。また、ライト制御部２３ｂは、オンラインストレージ７に対象コンテンツ２１ａを保存する空き容量が存在するか否かをリソース管理テーブル２２ａを参照して判定する（ステップＳ２３）。
【０１００】
オンラインストレージ７に空き容量が存在する場合（ステップＳ２３のＹｅｓルート）、対象コンテンツ２１ａのデータサイズが分割サイズ、すなわちオンラインデータサイズ以下であるか否かを、判定値管理テーブル２２ｂを参照して判定する（ステップＳ２４）。
【０１０１】
データサイズが分割サイズ以下である場合（ステップＳ２４のＹｅｓルート）、ライト制御部２３ｂはライト処理によりオンラインストレージ７へ対象コンテンツ２１ａを書き込み（ステップＳ２５）、処理がステップＳ２６に移行する。ステップＳ２６では、ライト制御部２３ｂは、コンテンツ管理テーブル２２ｃに対して、先頭データリソース及び先頭データアドレスに対象コンテンツ２１ａの保存先のストレージ７及びアドレスを設定するとともに、現在時刻をタイムスタンプに設定し、処理が終了する。
【０１０２】
一方、対象コンテンツ２１ａのデータサイズが分割サイズよりも大きい場合（ステップＳ２４のＮｏルート）、分割ライト処理に移行する。例えばライト制御部２３ｂは、対象コンテンツ２１ａを分割サイズで分割し（ステップＳ２７）、処理が図１２のステップＳ３１に移行する。なお、ライト制御部２３ｂは、対象コンテンツ２１ａを分割したときの後続データ２１ｃのデータサイズ（コンテンツ２１ａのデータサイズ−先頭データ２１ｂのデータサイズ（オンラインデータサイズ））をコンテンツ管理テーブル２２ｃに登録する。
【０１０３】
図１２のステップＳ３１では、ライト制御部２３ｂは、中間ストレージ７に対象コンテンツ２１ａの後続データ２１ｃを保存する空き容量が存在するか否かを、リソース管理テーブル２２ａ及びコンテンツ管理テーブル２２ｃを参照して判定する。中間ストレージ７に空き容量が存在する場合（ステップＳ３１のＹｅｓルート）、ライト制御部２３ｂはライト要求を受信した時間帯に該当する中間ストレージ７を、リソース管理テーブル２２ａを参照して選択し（ステップＳ３２）、処理がステップＳ３４に移行する。一方、中間ストレージ７に空き容量が存在しない場合（ステップＳ３１のＮｏルート）、ライト制御部２３ｂはライト要求を受信した時間帯に該当するオフラインストレージ７を、リソース管理テーブル２２ａを参照して選択し（ステップＳ３３）、処理がステップＳ３４に移行する。
【０１０４】
ステップＳ３４では、ライト制御部２３ｂは、ステップＳ３２又はＳ３３で選択したストレージ７が起動しているか否かをリソース管理テーブル２２ａを参照して判定する。起動している場合、例えばリソース管理テーブル２２ａのステータスが起動である場合（ステップＳ３４のＹｅｓルート）、オンラインストレージ７に先頭データ２１ｂを書き込み（ステップＳ３５）、処理がステップＳ３６に移行する。
【０１０５】
ステップＳ３６では、ライト制御部２３ｂは、選択したストレージ７に後続データ２１ｃを書き込む。そして、ライト制御部２３ｂは、コンテンツ管理テーブル２２ｃに対して、先頭／後続データリソース及び先頭／後続データアドレスに分割データ２１ｂ及び２１ｃの保存先のストレージ７及びアドレスを設定するとともに、タイムスタンプに現在時刻を設定し（ステップＳ３７）、処理が終了する。
【０１０６】
このように、ステップＳ３６では、ステップＳ３２及びＳ３３で選択されたストレージ７に対して後続データ２１ｃが書き込まれる。これにより、コンテンツ２１ａへのアクセスが発生し得る時間帯別に、後続データ２１ｃを特定の時間帯にアクセスの多くなるストレージ７に集約して片寄配置することができる。従って、中間又はオフラインストレージ７においては、アクセスが集中する時間帯を集約できるため、その他の時間帯における停止状態の期間を延ばすことができ、省電力効率を高めることができる。
【０１０７】
一方、ステップＳ３４において、選択したストレージ７が起動していない場合、例えばステータスが停止等である場合（ステップＳ３４のＮｏルート）、ライト制御部２３ｂは、選択したストレージの起動をＤＥ４へ指示する（ステップＳ３８）。そして、ライト制御部２３ｂは、オンラインストレージ７に先頭データ２１ｂを書き込み（ステップＳ３９）、選択したストレージ７の起動の完了を待ち合わせる（ステップＳ４０及びステップＳ４０のＮｏルート）。起動が完了すると（ステップＳ４０のＹｅｓルート）、ライト制御部２３ｂは、リソース管理テーブル２２ａに対して選択したストレージ７のステータスに起動を設定し（ステップＳ４１）、処理がステップＳ３６に移行する。
【０１０８】
図１１の説明に戻り、ステップＳ２３において、オンラインストレージ７に対象コンテンツ２１ａを保存する空き容量が存在しない場合（ステップＳ２３のＮｏルート）、処理がステップＳ２８に移行する。ステップＳ２８では、ライト制御部２３ｂは、コンテンツ管理テーブル２２ｃに対して対象コンテンツ２１ａの容量不足フラグにＯＮを設定し、処理が図１３のステップＳ５１に移行する。
【０１０９】
図１３のステップＳ５１では、ライト制御部２３ｂは、中間ストレージ７に対象コンテンツ２１ａを保存する空き容量が存在するか否かを、リソース管理テーブル２２ａ及びコンテンツ管理テーブル２２ｃを参照して判定する。中間ストレージ７に空き容量が存在する場合（ステップＳ５１のＹｅｓルート）、ライト制御部２３ｂはライト要求に係る時間、例えば受信時間を含む時間帯に該当する中間ストレージ７を、リソース管理テーブル２２ａを参照して選択し（ステップＳ５２）、処理がステップＳ５４に移行する。一方、中間ストレージ７に空き容量が存在しない場合（ステップＳ５１のＮｏルート）、ライト制御部２３ｂはライト要求を受信した時間帯に該当するオフラインストレージ７を、リソース管理テーブル２２ａを参照して選択し（ステップＳ５３）、処理がステップＳ５４に移行する。
【０１１０】
ステップＳ５４では、ライト制御部２３ｂは、ステップＳ５２又はＳ５３で選択したストレージ７が起動しているか否かをリソース管理テーブル２２ａを参照して判定し、起動している場合（ステップＳ５４のＹｅｓルート）、処理がステップＳ５５に移行する。
【０１１１】
ステップＳ５５では、ライト制御部２３ｂは、選択したストレージ７に対象コンテンツ２１ａ全体を書き込む。そして、ライト制御部２３ｂは、コンテンツ管理テーブル２２ｃに対して、先頭データリソース及び先頭データアドレスにコンテンツ２１ａの保存先のストレージ７及びアドレスを設定するとともに、現在時刻をタイムスタンプに設定する（ステップＳ５６）。また、ライト制御部２３ｂは、リソース管理テーブル２２ａに対して選択したストレージ７の起動フラグにＯＮを設定し（ステップＳ５７）、処理が終了する。
【０１１２】
一方、ステップＳ５４において、選択したストレージ７が起動していない場合（ステップＳ５４のＮｏルート）、ライト制御部２３ｂは、選択したストレージ７の起動をＤＥ４へ指示し（ステップＳ５８）、選択したストレージ７の起動の完了を待ち合わせる（ステップＳ５９及びステップＳ５９のＮｏルート）。起動が完了すると（ステップＳ５９のＹｅｓルート）、ライト制御部２３ｂは、リソース管理テーブル２２ａに対して選択したストレージ７のステータスに起動を設定し（ステップＳ６０）、処理がステップＳ５５に移行する。
【０１１３】
再び図１１の説明に戻り、ステップＳ２１において、ライト要求の対象コンテンツ２１ａがストレージリソース２４に保存されている場合（ステップＳ２１のＹｅｓルート）、処理がステップＳ２９に移行する。なお、このときのライト要求は対象コンテンツ２１ａの更新要求であるといえる。
【０１１４】
ステップＳ２９では、ライト制御部２３ｂは、対象コンテンツ２１ａの容量不足フラグがＯＦＦであるか否かをコンテンツ管理テーブル２２ｃを参照して判定し、ＯＦＦではない場合（ステップＳ２９のＮｏルート）、処理がステップＳ２２に移行する。一方、容量不足フラグがＯＦＦである場合（ステップＳ２９のＹｅｓルート）、処理が図１４のステップＳ６１に移行する。
【０１１５】
図１４のステップＳ６１では、ライト制御部２３ｂは、ライト要求の対象部分がオンラインストレージ７並びに中間又はオフラインストレージ７の両方に存在するか否かを、コンテンツ管理テーブル２２ｃを参照して判定する。
【０１１６】
なお、ライト要求の対象部分とは、ライト要求（更新要求）においてサーバ６から受信したライトデータであり、更新要求がコンテンツ２１ａ全体の更新であればコンテンツ２１ａ全体のデータが相当し、コンテンツ２１ａの一部分の更新であれば更新個所のデータが相当する。対象部分がオンラインストレージ７及び中間又はオフラインストレージ７の両方に存在する場合としては、対象部分がコンテンツ２１ａの全体又は一部分であり、且つ対象部分がコンテンツ２１ａの分割の境目を跨いでいる場合が挙げられる。
【０１１７】
対象部分がオンラインストレージ７並びに中間又はオフラインストレージ７の両方に存在する場合（ステップＳ６１のＹｅｓルート）、ライト制御部２３ｂは、対象部分が保存された中間又はオフラインストレージ７が起動しているか否かをリソース管理テーブル２２ａを参照して判定する（ステップＳ６２）。当該ストレージ７が起動している場合（ステップＳ６２のＹｅｓルート）、ライト制御部２３ｂは、オンラインストレージ７に保存された対象部分を更新し（ステップＳ６３）、処理がステップＳ６４に移行する。
【０１１８】
ステップＳ６４では、ライト制御部２３ｂは、中間又はオフラインストレージ７に保存された対象部分を更新する。そして、ライト制御部２３ｂは、コンテンツ管理テーブル２２ｃのタイムスタンプに現在時刻を設定し（ステップＳ６５）、処理が終了する。
【０１１９】
一方、ステップＳ６２において、対象部分が保存された中間又はオフラインストレージ７が起動していない場合（ステップＳ６２のＮｏルート）、ライト制御部２３ｂは、当該ストレージ７の起動をＤＥ４へ指示する（ステップＳ６６）。また、ライト制御部２３ｂは、オンラインストレージ７に保存された対象部分を更新し（ステップＳ６７）、選択したストレージ７の起動の完了を待ち合わせる（ステップＳ６８及びステップＳ６８のＮｏルート）。起動が完了すると（ステップＳ６８のＹｅｓルート）、ライト制御部２３ｂは、リソース管理テーブル２２ａに対して当該ストレージ７のステータスに起動を設定し（ステップＳ６９）、処理がステップＳ６４に移行する。
【０１２０】
また、ステップＳ６１において、対象部分がオンラインストレージ７並びに中間又はオフラインストレージ７の両方に存在しない場合（ステップＳ６１のＮｏルート）、処理が図１５のステップＳ７１に移行する。
【０１２１】
図１５のステップＳ７１では、ライト制御部２３ｂは、ライト要求の対象部分がオンラインストレージ７に存在するか否かをコンテンツ管理テーブル２２ｃを参照して判定する。なお、対象部分がオンラインストレージ７に存在する場合としては、対象部分がコンテンツ２１ａの全体であり、且つコンテンツ２１ａの分割が行なわれていない場合、又は、対象部分がコンテンツ２１ａの一部分であり、且つ対象部分が先頭データ２１ｂに存在する場合等が挙げられる。
【０１２２】
対象部分がオンラインストレージ７に存在する場合（ステップＳ７１のＹｅｓルート）、ライト制御部２３ｂは、オンライン先頭データ２１ｂに保存された対象部分を更新し（ステップＳ７２）、処理がステップＳ７５に移行する。
【０１２３】
一方、対象部分がオンラインストレージ７に存在しない場合、例えば中間又はオフラインストレージ７に存在する場合（ステップＳ７１のＮｏルート）、処理がステップＳ７３に移行する。なお、対象部分がオンラインストレージ７に存在しない場合としては、対象部分がコンテンツ２１ａの全体であり、且つ容量不足により第２又は第３ストレージ階層８に保存された場合が挙げられる。又は、対象部分がコンテンツ２１ａの一部分であり、且つ対象部分が後続データ２１ｃに存在する場合等も挙げられる。
【０１２４】
ステップＳ７３では、ライト制御部２３ｂは、対象部分が保存された中間又はオフラインストレージ７が起動しているか否かをリソース管理テーブル２２ａを参照して判定する。当該ストレージ７が起動している場合（ステップＳ７３のＹｅｓルート）、ライト制御部２３ｂは、中間又はオフラインストレージ７に保存された対象部分を更新し（ステップＳ７４）、処理がステップＳ７５に移行する。
【０１２５】
ステップＳ７５では、ライト制御部２３ｂは、コンテンツ管理テーブル２２ｃのタイムスタンプに現在時刻を設定し、処理が終了する。
【０１２６】
一方、ステップＳ７３において、対象部分が保存された中間又はオフラインストレージ７が起動していない場合（ステップＳ７３のＮｏルート）、ライト制御部２３ｂは、当該ストレージ７の起動をＤＥ４へ指示する（ステップＳ７６）。また、ライト制御部２３ｂは、選択したストレージ７の起動の完了を待ち合わせ（ステップＳ７７及びステップＳ７７のＮｏルート）、起動が完了すると（ステップＳ７７のＹｅｓルート）、リソース管理テーブル２２ａに対して当該ストレージ７のステータスに起動を設定し（ステップＳ７８）、処理がステップＳ７４に移行する。
【０１２７】
〔１−３−４〕リード制御処理の動作例
次に、図１６を参照してリード制御部２３ｃによるリード制御処理の動作例を説明する。はじめに、図１６に示すように、リード制御部２３ｃは、リード要求の対象コンテンツ２１ａが分割済みであるか否かを、コンテンツ管理テーブル２２ｃを参照して判定する（ステップＳ８１）。この判定は、コンテンツ管理テーブル２２ｃにおける該当コンテンツ２１ａのエントリに、後続データサイズ、後続データリソース、及び後続データアドレスの少なくとも１つが設定されているか否かを判断することにより実現可能である。
【０１２８】
リード要求の対象コンテンツ２１ａが分割されていない場合（ステップＳ８１のＮｏルート）、リード制御部２３ｃは、保存先ストレージ７、例えばオンラインストレージ７から対象コンテンツ２１ａを読み出し、読み出したデータをストレージ７へ送信し（ステップＳ８２）、処理がステップＳ８７に移行する。
【０１２９】
一方、リード要求の対象コンテンツ２１ａが分割済みの場合（ステップＳ８１のＹｅｓルート）、リード制御部２３ｃは、コンテンツ管理テーブル２２ｃを参照して後続データ２１ｃが保存された中間又はオフラインストレージ７を特定する（ステップＳ８３）。そして、リード制御部２３ｃは、特定したストレージ７が起動しているか否かをリソース管理テーブル２２ａを参照して判定する（ステップＳ８４）。
【０１３０】
当該ストレージ７が起動している場合（ステップＳ８４のＹｅｓルート）、リード制御部２３ｃは、オンラインストレージ７に保存された先頭データ２１ｂを読み出し、読み出したデータをストレージ７へ送信する（ステップＳ８５）。そして、リード制御部２３ｃは、特定したストレージ７に保存された後続データ２１ｃを読み出し、読み出したデータをサーバ６へ送信し（ステップＳ８６）、コンテンツ管理テーブル２２ｃのタイムスタンプに現在時刻を設定して（ステップＳ８７）、処理が終了する。
【０１３１】
一方、ステップＳ８４において、特定した中間又はオフラインストレージ７が起動していない場合（ステップＳ８４のＮｏルート）、リード制御部２３ｃは、当該ストレージ７の起動をＤＥ４へ指示する（ステップＳ８８）。また、リード制御部２３ｃは、オンラインストレージ７に保存された先頭データ２１ｂを読み出し、読み出したデータをサーバ６へ送信して（ステップＳ８９）、特定したストレージ７の起動の完了を待ち合わせる（ステップＳ９０及びステップＳ９０のＮｏルート）。起動が完了すると（ステップＳ９０のＹｅｓルート）、リード制御部２３ｃは、リソース管理テーブル２２ａに対して当該ストレージ７のステータスに起動を設定し（ステップＳ９１）、処理がステップＳ８６に移行する。
【０１３２】
なお、リード制御部２３ｃは、ステップＳ８５又はＳ８９において、読み出した先頭データ２１ｂをサーバ６へ送信しなくてもよい。この場合、リード制御部２３ｃは、ステップＳ８５又はＳ８９で読み出した先頭データ２１ｂとステップＳ８６で読み出した後続データ２１ｃとをキャッシュメモリ２１上でマージしてコンテンツ２１ａを生成し、生成したコンテンツ２１ａをサーバ６へ送信してもよい。
【０１３３】
以上のように、一実施形態に係る階層ストレージ装置２によれば、ライト要求の対象コンテンツ２１ａは、常時アクセス可能な第１ストレージ階層８ａ、並びに電力低減のために通常は停止され、アクセス要求に応じて起動する第２又は第３ストレージ階層８に分割して格納される。第１ストレージ階層８ａは先頭データの応答性を確保することができるため、リード制御部２３ｃは、リード要求の受信後に速やかに読み出しを開始することができる。また、第２及び第３ストレージ階層８は停止している可能性があるが、アクセス要求に応じて、先頭データ２１ｂが読み出されている間に起動される。従って、リード制御部２３ｃは、先頭データ２１ｂの読み出し完了後又は読み出し中に速やかに第２及び第３ストレージ階層８から後続データ２１ｃを読み出すことができる。
【０１３４】
従って、ＩＯ処理のレスポンス遅延を抑えつつ、階層ストレージ装置２がそなえる複数の記憶装置５の消費電力を効率的に削減することができる。
【０１３５】
また、複数の階層で同様のアクセス性能の記憶装置５が用いられる場合、コンテンツ２１ａを分割して複数の階層に配置しても、コンテンツ２１ａを分割せずに１つのストレージ７に格納する場合と同程度のレスポンスを発揮することができる。特にコンテンツ２１ａのサイズが数ＧＢ以上等の大容量データである場合には、分割リード処理に起因する時間のロスを無視できる程度にデータの読み出しに時間がかかるため、ＩＯレスポンスをコンテンツ２１ａを分割しない場合と同程度に維持することができる。
【０１３６】
また、事前処理において、後続データ２１ｃが保存された中間又はオフラインストレージ７が起動状態になるまでの最大の時間に、オンラインストレージ７に対して先頭データ２１ｂをライト又はリード可能な最大のデータサイズが算出される。そして、このデータサイズを基準として、コンテンツ２１ａの分割が行なわれる。
【０１３７】
従って、オンラインストレージ７に対する先頭データ２１ｂのライト又はリードが完了するまでに、中間又はオフラインストレージ７の起動を完了させることができるように、適切な先頭データ２１ｂのサイズを決定することができる。これにより、コンテンツ２１ａの分割に起因するレスポンス遅延を抑制することができる。
【０１３８】
〔１−３−５〕再配置処理の動作例
次に、図１７〜図２０を参照して再配置制御部２３ｄによる再配置処理の動作例を説明する。はじめに、図１７に示すように、再配置制御部２３ｄは、コンテンツ２１ａの削除要求を受信したか否かを判定し（ステップＳ１０１）、削除要求を受信した場合（ステップＳ１０１のＹｅｓルート）、処理がオンライン再配置処理に移行する。
【０１３９】
オンライン再配置処理では、再配置制御部２３ｄは、削除対象の対象ストレージ７から対象コンテンツ２１ａを削除し（ステップＳ１０２）、コンテンツ管理テーブル２２ｃに対して、対象コンテンツ２１ａのエントリを削除する（ステップＳ１０３）。また、再配置制御部２３ｄは、リソース管理テーブル２２ａの対象ストレージ７の空き容量を更新する（ステップＳ１０４）。
【０１４０】
次いで、再配置制御部２３ｄは、コンテンツ管理テーブル２２ｃに容量不足フラグにＯＮが設定されたコンテンツ２１ａが存在するか否かを判定する（ステップＳ１０５）。容量不足フラグにＯＮが設定されたコンテンツ２１ａが存在する場合（ステップＳ１０５のＹｅｓルート）、再配置制御部２３ｄは、当該コンテンツ２１ａの１つを選択し、オンラインストレージ７の空き容量が、オンラインデータサイズ、すなわち先頭データ２１ｂのデータサイズ以上であるか否かを判定する（ステップＳ１０６）。
【０１４１】
オンラインストレージ７の空き容量がオンラインデータサイズ以上である場合（ステップＳ１０６のＹｅｓルート）、再配置制御部２３ｄは、対象コンテンツ２１ａが保存された中間又はオフラインストレージ７を特定し（ステップＳ１０７）、処理が図１８のステップＳ１１１に移行する。
【０１４２】
図１８のステップＳ１１１では、再配置制御部２３ｄは、特定したストレージ７が起動しているか否かをリソース管理テーブル２２ａを参照して判定する。当該ストレージ７が起動している場合（ステップＳ１１１のＹｅｓルート）、再配置制御部２３ｄは、特定したストレージ７に保存された対象コンテンツ２１ａをオンラインデータサイズで分割し、先頭データ２１ｂをオンラインストレージ７へ複製する（ステップＳ１１２）。
【０１４３】
また、再配置制御部２３ｄは、特定したストレージ７から先頭データ２１ｂを削除して後続データ２１ｃを残す（ステップＳ１１３）。そして、再配置制御部２３ｄは、コンテンツ管理テーブル２２ｃに対して、先頭／後続データリソース及び先頭／後続データアドレスに分割データ２１ｂ及び２１ｃの保存先のストレージ７及びアドレスを設定（更新）するとともに、タイムスタンプに現在時刻を設定する。また、再配置制御部２３ｄは、容量不足フラグにＯＦＦを設定し（ステップＳ１１４）、リソース管理テーブル２２ａの空き容量（オンラインストレージ７及び特定したストレージ７）を更新する（ステップＳ１１５）。
【０１４４】
また、再配置制御部２３ｄは、コンテンツ管理テーブル２２ｃを参照して、特定したストレージ７に格納されたコンテンツ２１ａに、容量不足フラグにＯＮが設定されたコンテンツ２１ａが存在するか否かを判定する（ステップＳ１１６）。特定したストレージ７に、容量不足フラグにＯＮが設定されたコンテンツ２１ａが存在する場合（ステップＳ１１６のＹｅｓルート）、処理が図１７のステップＳ１０５に移行する。一方、特定したストレージ７に、容量不足フラグにＯＮが設定されたコンテンツ２１ａが存在しない場合（ステップＳ１１６のＮｏルート）、再配置制御部２３ｄは、リソース管理テーブル２２ａに対して、特定したストレージ７の起動フラグにＯＦＦを設定し（ステップＳ１１７）、処理が図１７のステップＳ１０５に移行する。
【０１４５】
なお、ステップＳ１１１において、特定したストレージ７が起動していない場合（ステップＳ１１１のＮｏルート）、再配置制御部２３ｄは、当該ストレージ７の起動をＤＥ４へ指示する（ステップＳ１１８）。また、再配置制御部２３ｄは、特定したストレージ７の起動の完了を待ち合わせる（ステップＳ１１９及びステップＳ１１９のＮｏルート）。起動が完了すると（ステップＳ１１９のＹｅｓルート）、再配置制御部２３ｄは、リソース管理テーブル２２ａに対して当該ストレージ７のステータスに起動を設定し（ステップＳ１２０）、処理がステップＳ１１２に移行する。
【０１４６】
このように、オンライン再配置処理によれば、オンラインストレージ７の容量不足の解消に応じて、中間又はオフラインストレージ７から先頭データ２１ｂ又はコンテンツ２１ａ全体が動的にオンラインストレージ７に再配置される。従って、先頭データ２１ｂ又はコンテンツ２１ａ全体が、停止状態の中間又はオフラインストレージ７に存在する確率を低下させることができ、レスポンス遅延を抑制することができる。
【０１４７】
図１７の説明に戻り、ステップＳ１０６において、オンラインストレージ７の空き容量がオンラインデータサイズよりも小さい場合（ステップＳ１０６のＮｏルート）、処理が中間／オフライン再配置処理に移行する。なお、ステップＳ１０１において、コンテンツ２１ａの削除要求を受信していない場合（ステップＳ１０１のＮｏルート）、並びに、ステップＳ１０５において、容量不足フラグにＯＮが設定されたコンテンツ２１ａが存在しない場合（ステップＳ１０５のＮｏルート）も、処理が中間／オフライン再配置処理に移行する。
【０１４８】
中間／オフライン再配置処理では、図１９に示すように、再配置制御部２３ｄは、中間又はオフラインストレージ７に保存された分割データ２１ｃ（後続データ２１ｃ）ごとに、直近の単位時間におけるアクセス数を取得する（ステップＳ１２１）。直近の単位時間におけるアクセス数の取得は、例えば直近の単位時間に含まれるタイムスタンプの総数をカウントすることにより実現可能である。
【０１４９】
また、再配置制御部２３ｄは、判定値管理テーブル２２ｂの判定値と、取得したアクセス数とを比較し、コンテンツ管理テーブル２２ｃにおける各コンテンツ２１ａの再配置フラグを更新する（ステップＳ１２２）。再配置フラグの変更条件は、中間ストレージ７に保存の後続データ２１ｃの場合には、アクセス数が判定値よりも小さいときにＯＮとし、オフラインストレージ７に保存の後続データ２１ｃの場合には、アクセス数が判定値以上のときにＯＮとする。
【０１５０】
次いで、再配置制御部２３ｄは、再配置フラグにＯＮが設定されたコンテンツ２１ａが存在するか否かを判定する（ステップＳ１２３）。再配置フラグにＯＮが設定されたコンテンツ２１ａが存在しない場合（ステップＳ１２３のＮｏルート）、処理が図２０のステップＳ１４６に移行する。一方、再配置フラグにＯＮが設定されたコンテンツ２１ａが存在する場合（ステップＳ１２３のＹｅｓルート）、再配置制御部２３ｄは、再配置フラグＯＮの後続データ２１ｃが保存された中間ストレージ７が起動しているか否かをリソース管理テーブル２２ａを参照して判定する（ステップＳ１２４）。
【０１５１】
当該中間ストレージ７が起動している場合（ステップＳ１２４のＹｅｓルート）、再配置制御部２３ｄは、中間ストレージ７に保存された再配置フラグがＯＮの後続データ２１ｃを選択する。そして、再配置制御部２３ｄは、選択した後続データ２１ｃについて、オフラインストレージ７に定義された時間帯ごとのアクセス数を取得する（ステップＳ１２５）。時間帯ごとのアクセス数の取得は、例えば時間帯に含まれるタイムスタンプの総数を、時間帯ごとにカウントすることにより実現可能である。
【０１５２】
次いで、再配置制御部２３ｄは、アクセス数の多い時間帯に対応するオフラインストレージ７へ後続データ２１ｃを複製し（ステップＳ１２６）、中間ストレージ７から後続データ２１ｃを削除する（ステップＳ１２７）。そして、再配置制御部２３ｄは、コンテンツ管理テーブル２２ｃに対して、先頭又は後続データリソース並びに先頭又は後続データアドレスに後続データ２１ｃの保存先のストレージ７及びアドレスを設定（更新）するとともに、タイムスタンプに現在時刻を設定する。また、再配置制御部２３ｄは、再配置フラグにＯＦＦを設定し（ステップＳ１２８）、処理が図２０のステップＳ１４１に移行する。
【０１５３】
なお、ステップＳ１２４において、再配置フラグＯＮの後続データ２１ｃが保存された中間ストレージ７が起動していない場合（ステップＳ１２４のＮｏルート）、再配置制御部２３ｄは、当該ストレージ７の起動をＤＥ４へ指示する（ステップＳ１２９）。また、再配置制御部２３ｄは、当該中間ストレージ７の起動の完了を待ち合わせる（ステップＳ１３０及びステップＳ１３０のＮｏルート）。起動が完了すると（ステップＳ１３０のＹｅｓルート）、再配置制御部２３ｄは、リソース管理テーブル２２ａに対して当該ストレージ７のステータスに起動を設定し（ステップＳ１３１）、処理がステップＳ１２５に移行する。
【０１５４】
図２０のステップＳ１４１では、再配置制御部２３ｄは、再配置フラグＯＮの後続データ２１ｃが保存されたオフラインストレージ７が起動しているか否かをリソース管理テーブル２２ａを参照して判定する。
【０１５５】
当該オフラインストレージ７が起動している場合（ステップＳ１４１のＹｅｓルート）、再配置制御部２３ｄは、オフラインストレージ７に保存された再配置フラグがＯＮの後続データ２１ｃを選択する。そして、再配置制御部２３ｄは、選択した後続データ２１ｃについて、中間ストレージ７に定義された時間帯ごとのアクセス数を取得する（ステップＳ１４２）。
【０１５６】
次いで、再配置制御部２３ｄは、アクセス数の多い時間帯に対応する中間ストレージ７へ後続データ２１ｃを複製し（ステップＳ１４３）、オフラインストレージ７から後続データ２１ｃを削除する（ステップＳ１４４）。そして、再配置制御部２３ｄは、コンテンツ管理テーブル２２ｃに対して、先頭又は後続データリソース並びに先頭又は後続データアドレスに後続データ２１ｃの保存先のストレージ７及びアドレスを設定（更新）するとともに、タイムスタンプに現在時刻を設定する。また、再配置制御部２３ｄは、再配置フラグにＯＦＦを設定し（ステップＳ１４５）、処理がステップＳ１４６に移行する。
【０１５７】
ステップＳ１４６では、再配置制御部２３ｄは、リソース管理テーブル２２ａ及びコンテンツ管理テーブル２２ｃを参照して、中間又はオフラインストレージ７ごとに、保存するコンテンツ２１ａへの所定時間内のアクセス要求の有無を判定する。なお、所定時間としては、数秒〜数分程度とすることができる。そして、再配置制御部２３ｄは、所定時間内にアクセス要求が無く、且つ停止フラグにＯＦＦが設定された中間又はオフラインストレージ７が存在するか否かを判定する（ステップＳ１４７）。
【０１５８】
条件を満たす中間又はオフラインストレージ７が存在しない場合（ステップＳ１４７のＮｏルート）、処理が終了する。一方、条件を満たす中間又はオフラインストレージ７が存在する場合（ステップＳ１４７のＹｅｓルート）、再配置制御部２３ｄは、ＤＥ４に対して当該中間又はオフラインストレージ７の停止を指示する（ステップＳ１４８）。また、再配置制御部２３ｄは、当該中間又はオフラインストレージ７の停止の完了を待ち合わせる（ステップＳ１４９及びステップＳ１４９のＮｏルート）。停止が完了すると（ステップＳ１４９のＹｅｓルート）、再配置制御部２３ｄは、リソース管理テーブル２２ａに対して当該ストレージ７のステータスに停止を設定し（ステップＳ１５０）、処理が終了する。
【０１５９】
なお、ステップＳ１４１において、再配置フラグＯＮの後続データ２１ｃが保存されたオフラインストレージ７が起動していない場合（ステップＳ１４１のＮｏルート）、再配置制御部２３ｄは、当該ストレージ７の起動をＤＥ４へ指示する（ステップＳ１５１）。また、再配置制御部２３ｄは、当該オフラインストレージ７の起動の完了を待ち合わせる（ステップＳ１５２及びステップＳ１５２のＮｏルート）。起動が完了すると（ステップＳ１５２のＹｅｓルート）、再配置制御部２３ｄは、リソース管理テーブル２２ａに対して当該ストレージ７のステータスに起動を設定し（ステップＳ１５３）、処理がステップＳ１４２に移行する。
【０１６０】
なお、図１９及び図２０の説明において、中間／オフライン再配置処理の対象が後続データ２１ｃであるものとしたが、これに限定されるものではなく、処理対象が容量不足フラグＯＮの先頭データ２１ｂ又はコンテンツ２１ａ全体であってもよい。
【０１６１】
以上のように、一実施形態に係る階層ストレージ装置２によれば、分割されたコンテンツ２１ａ、例えば後続データ２１ｃについて、直近の単位時間におけるアクセス数に応じて階層間の再配置が行なわれる。また、例えば後続データ２１ｃについて、再配置先の階層のストレージ７に定義された時間帯ごとのアクセス数に応じて、再配置先のストレージ７が決定される。従って、中間／オフラインストレージ７へのアクセスの発生頻度及び発生時間帯をストレージ７ごとに最適化しながら制御することができ、消費電力の削減を効率的に実現することができる。
【０１６２】
〔２〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【０１６３】
例えば、図３に示す階層ストレージ装置２（ＣＭ３１）の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【０１６４】
また、図３に示すストレージリソース２４は、２つのオンラインストレージ７、２つの中間ストレージ７、３つのオフラインストレージ７をそなえるものとしたが、これに限定されるものではなく、それぞれ任意の数のストレージ７がそなえられてもよい。
【０１６５】
また、ストレージリソース２４はオンライン、中間、オフラインの３つのストレージ階層を有するものとしたが、これに限定されるものではなく、オンライン及びオフラインの２つ、又は４つ以上の階層を有してもよい。
【０１６６】
〔３〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【０１６７】
（付記１）
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第１データと後続の第２データとに分割する分割部と、
前記第１データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第１ストレージグループ内の第１ストレージに書き込み、前記第２データを、前記複数のストレージグループのうちの前記第１ストレージグループよりも稼働率の低い第２ストレージグループ内の第２ストレージに書き込む書込部と、
前記第２ストレージが停止している場合、前記書込部による前記第２データの書き込み前に、前記第１データの書き込みと並行して、前記第２ストレージを起動させる第１起動制御部と、をそなえる
ことを特徴とする、制御装置。
【０１６８】
（付記２）
前記第１データのサイズは、前記第２ストレージが非稼働状態から稼働状態に遷移するまでの期間に前記第１ストレージに対する書き込み又は読み出しが可能なデータサイズである
ことを特徴とする、付記１記載の制御装置。
【０１６９】
（付記３）
前記書込部は、前記第２ストレージグループ内の複数のストレージの各々について前記第２ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記コンテンツの書込要求に係る時間を含む期間が関連付けられた前記第２ストレージに、前記第２データを書き込むことを特徴とする、付記１又は付記２記載の制御装置。
【０１７０】
（付記４）
前記コンテンツの読出要求の受信に応じて、前記コンテンツについて前記第１データ及び前記第２データの各々の格納先を示すコンテンツ情報に基づき、前記第１ストレージグループの前記第１ストレージから前記第１データを読み出し、前記第２ストレージグループの前記第２ストレージから前記第２データを読み出す読出部と、
前記第２ストレージが停止している場合、前記読出部による前記第２データの読み出し前に、前記第１データの読み出しと並行して、前記第２ストレージを起動させる第２起動制御部と、をさらにそなえる
ことを特徴とする、付記１〜３のいずれか１項記載の制御装置。
【０１７１】
（付記５）
前記第２データに対する所定期間におけるアクセス数に応じて、前記第２ストレージグループ内の前記第２ストレージに格納された前記第２データを、前記複数のストレージグループのうちの前記第２ストレージグループとは異なる稼働率の第３ストレージグループ内の第３ストレージに移動させる移動部をさらにそなえることを特徴とする、付記１〜４のいずれか１項記載の制御装置。
【０１７２】
（付記６）
前記移動部は、前記第３ストレージグループ内の複数のストレージの各々について前記第３ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記ストレージ情報における複数の前記期間の各々について、前記第２データに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた前記第３ストレージに、前記第２データを移動させることを特徴とする、付記５記載の制御装置。
【０１７３】
（付記７）
前記複数のストレージグループは、それぞれアクセス性能が同一又は略同一の一以上のストレージをそなえることを特徴とする、付記１〜６のいずれか１項記載の制御装置。
【０１７４】
（付記８）
稼働率が互いに異なる複数のストレージグループと、
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第１データと後続の第２データとに分割する分割部と、
前記第１データを、前記複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第１ストレージグループ内の第１ストレージに書き込み、前記第２データを、前記複数のストレージグループのうちの前記第１ストレージグループよりも稼働率の低い第２ストレージグループ内の第２ストレージに書き込む書込部と、
前記第２ストレージが停止している場合、前記書込部による前記第２データの書き込み前に、前記第１データの書き込みと並行して、前記第２ストレージを起動させる第１起動制御部と、をそなえる
ことを特徴とする、ストレージシステム。
【０１７５】
（付記９）
前記第１データのサイズは、前記第２ストレージが非稼働状態から稼働状態に遷移するまでの期間に前記第１ストレージに対する書き込み又は読み出しが可能なデータサイズである
ことを特徴とする、付記８記載のストレージシステム。
【０１７６】
（付記１０）
前記書込部は、前記第２ストレージグループ内の複数のストレージの各々について前記第２ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記コンテンツの書込要求に係る時間を含む期間が関連付けられた前記第２ストレージに、前記第２データを書き込むことを特徴とする、付記８又は付記９記載のストレージシステム。
【０１７７】
（付記１１）
前記コンテンツの読出要求の受信に応じて、前記コンテンツについて前記第１データ及び前記第２データの各々の格納先を示すコンテンツ情報に基づき、前記第１ストレージグループの前記第１ストレージから前記第１データを読み出し、前記第２ストレージグループの前記第２ストレージから前記第２データを読み出す読出部と、
前記第２ストレージが停止している場合、前記読出部による前記第２データの読み出し前に、前記第１データの読み出しと並行して、前記第２ストレージを起動させる第２起動制御部と、をさらにそなえる
ことを特徴とする、付記８〜１０のいずれか１項記載のストレージシステム。
【０１７８】
（付記１２）
前記第２データに対する所定期間におけるアクセス数に応じて、前記第２ストレージグループ内の前記第２ストレージに格納された前記第２データを、前記複数のストレージグループのうちの前記第２ストレージグループとは異なる稼働率の第３ストレージグループ内の第３ストレージに移動させる移動部をさらにそなえることを特徴とする、付記８〜１１のいずれか１項記載のストレージシステム。
【０１７９】
（付記１３）
前記移動部は、前記第３ストレージグループ内の複数のストレージの各々について前記第３ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記ストレージ情報における複数の前記期間の各々について、前記第２データに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた前記第３ストレージに、前記第２データを移動させることを特徴とする、付記１２記載のストレージシステム。
【０１８０】
（付記１４）
前記複数のストレージグループは、それぞれアクセス性能が同一又は略同一の一以上のストレージをそなえることを特徴とする、付記８〜１３のいずれか１項記載のストレージシステム。
【０１８１】
（付記１５）
コンピュータに、
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第１データと後続の第２データとに分割し、
前記第１データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第１ストレージグループ内の第１ストレージに書き込み、
前記第２データを、前記複数のストレージグループのうちの前記第１ストレージグループよりも稼働率の低い第２ストレージグループ内の第２ストレージに書き込み、
前記第２ストレージが停止している場合、前記第２データの書き込み前に、前記第１データの書き込みと並行して、前記第２ストレージを起動させる
処理を実行させることを特徴とする、制御プログラム。
【０１８２】
（付記１６）
前記第１データのサイズは、前記第２ストレージが非稼働状態から稼働状態に遷移するまでの期間に前記第１ストレージに対する書き込み又は読み出しが可能なデータサイズである
ことを特徴とする、付記１５記載の制御プログラム。
【０１８３】
（付記１７）
前記コンピュータに、
前記第２ストレージグループ内の複数のストレージの各々について前記第２ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記コンテンツの書込要求に係る時間を含む期間が関連付けられた前記第２ストレージを特定し、
特定した前記第２ストレージに、前記第２データを書き込む
処理を実行させることを特徴とする、付記１５又は付記１６記載の制御プログラム。
【０１８４】
（付記１８）
前記コンピュータに、
前記コンテンツの読出要求の受信に応じて、前記コンテンツについて前記第１データ及び前記第２データの各々の格納先を示すコンテンツ情報に基づき、前記第１ストレージグループの前記第１ストレージから前記第１データを読み出し、
前記コンテンツ情報に基づき、前記第２ストレージグループの前記第２ストレージから前記第２データを読み出し、
前記第２ストレージが停止している場合、前記第２データの読み出し前に、前記第１データの読み出しと並行して、前記第２ストレージを起動させる
処理を実行させることを特徴とする、付記１５〜１７のいずれか１項記載の制御プログラム。
【０１８５】
（付記１９）
前記コンピュータに、
前記第２データに対する所定期間におけるアクセス数に応じて、前記第２ストレージグループ内の前記第２ストレージに格納された前記第２データを、前記複数のストレージグループのうちの前記第２ストレージグループとは異なる稼働率の第３ストレージグループ内の第３ストレージに移動させる
処理を実行させることを特徴とする、付記１５〜１８のいずれか１項記載の制御プログラム。
【０１８６】
（付記２０）
前記コンピュータに、
前記第３ストレージグループ内の複数のストレージの各々について前記第３ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記ストレージ情報における複数の前記期間の各々について、前記第２データに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた前記第３ストレージを特定し、
特定した前記第３ストレージに、前記第２データを移動させる
処理を実行させることを特徴とする、付記１９記載の制御プログラム。
【符号の説明】
【０１８７】
１    階層ストレージシステム
２    階層ストレージ装置
３    ＣＥ
３ａ    ＣＰＵ
３ｂ    メモリ
３ｃ    記憶部
３ｄ    インタフェース部，ＩＦ
３ｅ    入出力部
３ｆ    記録媒体
４    ＤＥ
４ａ    ＩＯＭ
５    記憶装置
６    サーバ
７    ストレージ
８，８ａ〜８ｃ    ストレージ階層
２１    キャッシュメモリ
２１ａ，６１ａ    コンテンツ
２１ｂ    分割データ（先頭），先頭データ
２１ｃ    分割データ（後続），後続データ
２２    メモリ部
２２ａ    リソース管理テーブル
２２ｂ    判定値管理テーブル
２２ｃ    コンテンツ管理テーブル
２３    制御部
２３ａ    事前処理部
２３ｂ    ライト制御部
２３ｃ    リード制御部
２３ｄ    再配置制御部
２４    ストレージリソース
３０    制御プログラム
３１    ＣＭ
６１    アプリケーションプログラム
【図１】
0006582721.tif 000002
【図２】
0006582721.tif 000003
【図３】
0006582721.tif 000004
【図４】
0006582721.tif 000005
【図５】
0006582721.tif 000006
【図６】
0006582721.tif 000007
【図７】
0006582721.tif 000008
【図８】
0006582721.tif 000009
【図９】
0006582721.tif 000010
【図１０】
0006582721.tif 000011
【図１１】
0006582721.tif 000012
【図１２】
0006582721.tif 000013
【図１３】
0006582721.tif 000014
【図１４】
0006582721.tif 000015
【図１５】
0006582721.tif 000016
【図１６】
0006582721.tif 000017
【図１７】
0006582721.tif 000018
【図１８】
0006582721.tif 000019
【図１９】
0006582721.tif 000020
【図２０】
0006582721.tif 000021