JP6582721B2 - 制御装置、ストレージシステム、及び制御プログラム - Google Patents

制御装置、ストレージシステム、及び制御プログラム Download PDF

Info

Publication number
JP6582721B2
JP6582721B2 JP2015161594A JP2015161594A JP6582721B2 JP 6582721 B2 JP6582721 B2 JP 6582721B2 JP 2015161594 A JP2015161594 A JP 2015161594A JP 2015161594 A JP2015161594 A JP 2015161594A JP 6582721 B2 JP6582721 B2 JP 6582721B2
Authority
JP
Japan
Prior art keywords
storage
data
content
group
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015161594A
Other languages
English (en)
Other versions
JP2017041040A (ja
Inventor
勝 新満
勝 新満
伊藤 実希夫
実希夫 伊藤
木村 修
修 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015161594A priority Critical patent/JP6582721B2/ja
Priority to US15/226,431 priority patent/US10318212B2/en
Publication of JP2017041040A publication Critical patent/JP2017041040A/ja
Application granted granted Critical
Publication of JP6582721B2 publication Critical patent/JP6582721B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、制御装置、ストレージシステム、及び制御プログラムに関する。
データを格納するストレージ装置において、ストレージ装置がそなえる複数の記憶装置のうちの少なくとも1つの記憶装置を停止、例えば電源をオフにすることで、ストレージ装置の消費電力を低減させる手法が知られている。記憶媒体としては、Solid State Drive(SSD)等の半導体ドライブ装置及びHard Disk Drive(HDD)等の磁気ディスク装置等が挙げられる。
特開2006−31668号公報 特開2002−304353号公報
記憶装置を停止させたストレージ装置において、停止状態のストレージ、例えば記憶装置へアクセスが発生した場合、ストレージ装置は停止状態の記憶装置を再起動させてからアクセス要求に係る処理を行なうため、レスポンス遅延が発生してしまう。
1つの側面では、本発明は、ストレージの消費電力を削減すること、又は、レスポンス遅延を抑制することを目的とする。
1つの態様では、本件の制御装置は、分割部と、書込部と、起動制御部と、制御部とをそなえる。前記分割部は、コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第1データと後続の第2データとに分割する。前記書込部は、前記第1データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第1ストレージグループ内の第1ストレージに書き込む。前記書込部はさらに、前記第2データを、前記複数のストレージグループのうちの前記第1ストレージグループよりも稼働率の低い第2ストレージグループ内の第2ストレージに書き込む。前記起動制御部は、前記第2ストレージが停止している場合、前記書込部による前記第2データの書き込み前に、前記第1データの書き込みと並行して、前記第2ストレージを起動させる。また、前記書込部は、前記第1ストレージグループに前記第1データを格納する空き記憶容量がない場合、前記コンテンツの全体を、前記第2ストレージに書き込む。前記制御部は、前記コンテンツの全体が前記第2ストレージに格納されている間は、当該第2ストレージを稼働状態に維持する。
1つの側面では、ストレージの消費電力を削減すること、又は、レスポンス遅延を抑制することができる。
一実施形態の一例としての階層ストレージシステムの構成例を示す図である。 図1に示すCMのハードウェア構成例を示す図である。 ストレージ装置の機能構成例を示す図である。 リソース管理テーブルのデータ構造の一例を示す図である。 判定値管理テーブルのデータ構造の一例を示す図である。 コンテンツ管理テーブルのデータ構造の一例を示す図である。 分割ライト処理の一例を説明する図である。 分割リード処理の一例を説明する図である。 ストレージ装置の全体処理の動作例を説明するフローチャートである。 事前処理の動作例を説明するフローチャートである。 ライト制御処理の動作例を説明するフローチャートである。 ライト制御処理の動作例を説明するフローチャートである。 ライト制御処理の動作例を説明するフローチャートである。 ライト制御処理の動作例を説明するフローチャートである。 ライト制御処理の動作例を説明するフローチャートである。 リード制御処理の動作例を説明するフローチャートである。 再配置処理の動作例を説明するフローチャートである。 再配置処理の動作例を説明するフローチャートである。 再配置処理の動作例を説明するフローチャートである。 再配置処理の動作例を説明するフローチャートである。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
〔1〕一実施形態
〔1−1〕階層ストレージシステムの構成例
図1は一実施形態の一例としての階層ストレージシステム1の構成例を示す図である。図1に示すように、階層ストレージシステム1は、例示的に、階層ストレージ装置2及びサーバ6をそなえる。
サーバ6は、図示しないネットワーク等を介してストレージ装置2と接続され、ストレージ装置2に対して種々のアクセス要求を発行するホスト装置の一例である。
階層ストレージ装置2は、複数の記憶装置をそなえるストレージ装置の一例である。階層ストレージ装置2は、複数の記憶装置5を搭載し、サーバ6に対して記憶領域を提供することができる。一例として、階層ストレージ装置2は、Redundant Arrays of Inexpensive Disks(RAID)を用いて複数の記憶装置にデータを分散又は冗長化した状態で保存し、ホスト装置に対してRAIDグループに基づく複数のストレージボリューム(Logical Unit Number;LUN)を提供することができる。
図1に示すように、階層ストレージ装置2は、例示的に、1以上(図1では1つ)のController Enclosure(CE)3及び1以上(図1では1つ)のDrive Enclosure(DE)4をそなえる。
CE3は、サーバ6からのアクセス要求に応じて、DE4がそなえる記憶装置5へのリード又はライト等の種々のアクセスを制御する制御装置の一例である。
CE3は、例示的に、1以上(図1では1つ)のController Module(CM)31をそなえる。CM31は情報処理装置(コンピュータ)の一例である。
図1及び図2に示すように、CM31は、例示的に、Central Processing Unit(CPU)3a、メモリ3b、記憶部3c、インタフェース部(図1ではIF(Interface)と表記)3d、及び入出力部3eをそなえる。
CPU3aは、種々の制御や演算を行なうプロセッサの一例である。CPU3aは、CM31内の各ブロックとバスで相互に通信可能に接続されてよい。なお、プロセッサとしては、CPU3aに代えて、他の演算処理装置、例えばMicro Processing Unit(MPU)等の集積回路(Integrated Circuit;IC)が用いられてもよい。
メモリ3bは、種々のデータやプログラムを格納するハードウェアの一例である。メモリ3bは、CM31における記憶装置5へのアクセス制御においてキャッシュメモリとして用いられてもよい。メモリ3bとしては、例えばRandom Access Memory(RAM)等の揮発性メモリが挙げられる。
記憶部3cは、種々のデータやプログラム等を格納するハードウェアの一例である。記憶部3cとしては、例えばHDD等の磁気ディスク装置、SSD等の半導体ドライブ装置、フラッシュメモリやRead Only Memory(ROM)等の不揮発性メモリ等の各種記憶装置が挙げられる。
例えば記憶部3cは、CM31の各種機能の全部若しくは一部を実現する制御プログラム30を格納してもよい(図2参照)。この場合、CPU3aは、記憶部3cに格納された制御プログラム30をメモリ3bに展開して実行することにより、CM31の機能を実現することができる。
インタフェース部3dは、サーバ6、DE4、又は図示しない管理端末等との間の接続及び通信の制御等を行なう通信インタフェースの一例である。インタフェース部3dとしては、例えばLocal Area Network(LAN)カード等のネットワークインタフェースや、SAN、FC、インフィニバンド(InfiniBand)等に準拠したインタフェースが挙げられる。なお、図1において、サーバ6と接続されたIF3dはChannel Adapter(CA)の一例であり、DE4と接続されたIF3dはDevice Adapter(DA)の一例である。
また、インタフェース部3dは、記録媒体3fに記録されたデータやプログラムを読み出す読取部をそなえてもよい。読取部は、コンピュータ読取可能な記録媒体3fを接続又は挿入可能な接続端子又は装置を含んでよい。読取部としては、例えばUniversal Serial Bus(USB)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体3fには制御プログラム30が格納されてもよい。
入出力部3eは、マウス、キーボード、操作ボタン等の入力部、並びにディスプレイ等の出力部の少なくとも一部を含むことができる。例えば入力部は、オペレータ等による設定の登録や変更、システムのモード選択(切替)等の各種操作やデータの入力等の作業に用いられてもよく、出力部は、オペレータ等による設定の確認や各種通知等の出力に用いられてもよい。
なお、上述したCM31のハードウェア構成は例示である。従って、CM31内でのハードウェアの増減(例えば任意のブロックの追加や省略)、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。
図1の説明に戻り、DE4は、複数の記憶装置5を搭載する。DE4は、例示的に、CE3からの指示に応じた記憶装置5への入出力を制御する1以上(図1では1つ)のIOM(Input Output Module)をそなえる。記憶装置5としては、例えばSSD等の半導体ドライブ装置及び/又はHDD等の磁気ディスク装置が挙げられる。
なお、図1の例では、階層ストレージ装置2が1つのCE3及び1つのDE4をそなえ、CE3が1つのCM31をそなえるものとしているが、これに限定されるものではない。階層ストレージ装置2は、複数のCE3及び複数のDE4をそなえてもよく、1つのCE3に複数のCM31をそなえてもよい。
〔1−2〕階層ストレージ装置の機能構成例
次に、階層ストレージ装置2の機能構成例について説明する。
図3に示すように、階層ストレージ装置2は、例示的に、キャッシュメモリ21、メモリ部22、制御部23、及びストレージリソース24をそなえる。なお、制御部23はCPU3aがメモリ3b上で制御プログラム30を実行することにより実現されてよく、キャッシュメモリ21及びメモリ部22は例えばそれぞれメモリ3bの少なくとも一部の記憶領域により実現されてもよい。
キャッシュメモリ21は、サーバ6からのアクセス要求に係るデータ、例えばコンテンツ21aを一時的に記憶するとともに、制御部23による制御において用いられるコンテンツ21aに関連する分割データ21b及び21cを一時的に記憶する記憶領域を有する。以下、分割データ21b及び21cをそれぞれ先頭データ21b及び後続データ21cと表記する場合がある。
コンテンツ21aは、階層ストレージ装置2に記憶されるユーザデータである。コンテンツ21aとしては、例えば静止画、動画、及び音声、又はこれらの1以上の組み合わせのマルチメディアファイルや、テキスト、図面、表、又はこれらの1以上の組み合わせのドキュメントファイル、又は種々のプログラム等、全体で1つの意味を成すファイルが挙げられる。キャッシュメモリ21は、例えばサーバ6で動作するアプリケーションプログラム61から送信されたコンテンツ61aをコンテンツ21aとして記憶してもよい。
メモリ部22は、制御部23による制御において用いられるリソース管理テーブル22a、判定値管理テーブル22b、及びコンテンツ管理テーブル22cの各情報を記憶する記憶領域を有する。なお、以下の説明において、便宜上、これらのテーブル22a〜22cをテーブル形式で表すが、実際にはCM31において配列等の情報として扱われ得る。これらのテーブル22a〜22cの詳細な説明は、制御部23の説明において行なう。
制御部23は、複数のストレージ7を含むストレージリソース24を管理し、サーバ6からのアクセス要求に応じてストレージ7に対する種々の制御を行なう。この制御には、コンテンツ21aの分割データ21b及び21への分割、及び、運用方式の異なる複数のストレージ階層8(8a〜8c)の制御が含まれる。
ストレージリソース24は、階層ストレージ装置2で管理されるストレージ7の集合である。ストレージ7は、各々が例えば1以上の記憶装置5により実現される。ストレージ7としては、例えば論理ボリュームであってもよいが、各ストレージ7の起動状態は互いに異なるため、ストレージ7を構成する記憶装置5が他のストレージ7で用いられないことが好ましい。
ストレージ7は、それぞれ異なる運用方式を採っており、図3の例では、オンラインA及びオンラインBのストレージ7は常時運転する(起動している)ストレージ7である。中間A及び中間Bのストレージ7は、基本的に常時運転するが、ストレージ7へのアクセスが無い状態を検出した場合に停止することが許容されたストレージ7である。オフラインA〜オフラインCのストレージ7は、中間A及び中間Bよりも停止期間の長いストレージ7であり、基本的に運転停止状態を維持するが、アクセスのあったときに運転し、その後停止する。
なお、運転又は起動とは、例えばストレージ7を構成する記憶装置5に電源が供給されており(電源ON)、当該ストレージ7へのアクセスが可能な状態をいい、停止とは、例えばストレージ7を構成する記憶装置5への電源の供給が停止した(電源OFF)状態をいう。また、以下の説明において、起動中とは、停止状態において記憶装置5へ電源の供給を開始してから運転状態(起動状態)に遷移するまでの状態をいい、停止中とは、運転状態において電源の供給停止に係る処理を開始してから停止状態に遷移するまでの状態をいう。
このように、階層ストレージ装置2は、動作状態の観点から運転方式の異なるストレージ7を階層的に扱う。例えばオンラインA及びオンラインBのストレージ7は第1ストレージ階層8a、中間A及び中間Bのストレージ7は第2ストレージ階層8b、オフラインA〜オフラインCのストレージ7は第3ストレージ階層8cとして管理される。以下、オンラインA及びオンラインBのストレージ7を単にオンラインストレージ7と表記し、中間オンラインA及びオンラインBのストレージ7を単に中間ストレージ7と表記し、オフラインA〜オフラインCのストレージ7を単にオフラインストレージ7と表記する場合がある。
換言すれば、ストレージリソース24における複数のストレージ階層8は、稼働率が互いに異なる複数のストレージグループの一例である。また、第1ストレージ階層8aは、他のストレージグループよりも稼働率の高い第1ストレージグループの一例であり、第2又は第3ストレージ階層8は、第1ストレージグループよりも稼働率の低い第2ストレージグループの一例である。
なお、ストレージ7は、オンライン、中間、及びオフラインのいずれも同一又は略同一の性能をそなえてもよい。以下、一実施形態に係るストレージリソース24は、オンラインストレージ7、中間ストレージ7、及びオフラインストレージ7のいずれも同様のアクセス性能であるものとする。
図3に示すように、制御部23は、例示的に、事前処理部23a、ライト制御部23b、リード制御部23c、及び再配置制御部23dをそなえる。
事前処理部23aは事前処理を行なう。事前処理には、図4〜図6にそれぞれ例示するリソース管理テーブル22a、判定値管理テーブル22b、及びコンテンツ管理テーブル22cの生成処理が含まれてよい。なお、事前処理が行なわれるタイミングとしては、例えば階層ストレージ装置2の初回起動が行なわれたときや装置構成に変更があったとき等が挙げられる。
リソース管理テーブル22aは、ストレージリソース24を管理する情報の一例である。リソース管理テーブル22aには、図4に示すように、例示的に、ストレージリソース、ストレージ7の総容量及び空き容量、ステータス、起動フラグ、時間帯、起動時間、及び停止時間が含まれる。ストレージリソースは、ストレージリソース24に含まれるストレージ7を特定する情報であり、例えばストレージ名が設定される。ステータスには起動又は停止の状態が設定されるが、オンラインストレージ7は常時起動であるため値が設定されなくてもよい。起動フラグは、ONの場合に、ステータスを起動に維持し、中間又はオフラインストレージ7であっても停止させないことを示すフラグである。時間帯は、当該ストレージ7へのアクセスが発生する目安の時間帯を示す情報である。時間帯の間隔は任意であり、時間、日数、週、又は月単位であってもよい。起動時間は当該ストレージ7を停止状態から起動するのにかかる時間であり、停止時間は当該ストレージ7を起動状態から停止するのにかかる時間である。
このように、リソース管理テーブル22aは、互いに稼働率の異なる第2又は第3ストレージグループ内の複数のストレージ7の各々について、第2又は第3ストレージグループ内の他のストレージ7とは異なる期間が関連付けられたストレージ情報の一例である。
判定値管理テーブル22bは、制御部23による制御に用いられる判定値を管理する情報の一例である。判定値管理テーブル22bには、図5に示すように、例示的に、ストレージリソース、リード性能、及びライト性能が含まれるとともに、判定情報としてオンラインデータサイズ、アクセス数判定値、及び単位時間が含まれる。リード性能及びライト性能は、オンラインストレージ7のアクセス性能を示す情報である。オンラインデータサイズは、オンラインストレージ7に保存するコンテンツ21aの分割を行なうか否かを判定するための閾値であり、分割データ(先頭)21bのサイズの基準値である。アクセス数判定値は、中間ストレージ7及びオフラインストレージ7間での分割データ(後続)21cの再配置を行なうか否かを判定するための閾値であり、単位時間は再配置の判定において用いられる情報である。
コンテンツ管理テーブル22cは、ストレージリソース24に格納されるコンテンツ21aを管理する情報の一例である。コンテンツ管理テーブル22cには、図6に示すように、例示的に、コンテンツID(Identifier)、データ名、データサイズ、後続データサイズ、容量不足フラグ、先頭及び後続データリソース、先頭及び後続データアドレス、再配置フラグ、並びにタイムスタンプが含まれる。コンテンツIDはコンテンツ21aを特定する識別子の一例である。
データ名はサーバ6から受信したコンテンツ61aに設定された名前である。データサイズはコンテンツ21a全体のサイズであり、後続データサイズはコンテンツ21aが分割されたときの分割データ(後続)21cのサイズである。容量不足フラグはコンテンツ21aが容量不足によりオンラインストレージ7に保存されていないことを示すフラグである。先頭データリソース及び先頭データアドレスは、コンテンツ21a全体又は分割データ(先頭)21bが格納されているストレージ7及びアドレスを示す情報である。後続データリソース及び後続データアドレスは、コンテンツ21a全体又は分割データ(後続)21cが格納されているストレージ7及びアドレスを示す情報である。再配置フラグは分割データ(後続)21cの再配置を行なうか否かを示すフラグである。タイムスタンプは当該コンテンツ21aについてアクセスのあった日時を特定する情報であり、複数の日時情報が設定され得る。
このように、コンテンツ管理テーブル22cは、コンテンツ21aについて、先頭データ21b及び後続データ21cの各々の格納先を示すコンテンツ情報の一例である。
事前処理部23aは、事前処理において、管理者等により予めCM31に設定された情報、並びに以下の測定処理及び算出処理により得られる情報に基づき、これらのテーブル22a〜22cの生成を行なう。
事前処理部23aによる測定処理には、一例として、第1ストレージ階層8aのオンラインストレージ7の各々のライト性能及びリード性能の測定と、第2及び第3ストレージ階層8の中間及びオフラインストレージ7の各々の起動時間及び停止時間の測定とが含まれる。
事前処理部23aによる算出処理には、一例として、オンラインデータサイズの算出及びアクセス数判定値の算出が含まれる。
オンラインデータサイズの算出では、例えばオンラインストレージ7のリード性能及びライト性能、並びに、中間及びオフラインストレージ7の起動時間及び停止時間に基づく以下の値が算出され、最大値がオンラインデータサイズとして選択される。
・第2ストレージ階層8bのストレージ7の起動時間+停止時間に第1ストレージ階層8aのストレージ7へライト可能なデータサイズ
・第2ストレージ階層8bのストレージ7の起動時間+停止時間に第1ストレージ階層8aのストレージ7からリード可能なデータサイズ
・第3ストレージ階層8cのストレージ7の起動時間+停止時間に第1ストレージ階層8aのストレージ7へライト可能なデータサイズ
・第3ストレージ階層8cのストレージ7の起動時間+停止時間に第1ストレージ階層8aのストレージ7からリード可能なデータサイズ
オンラインデータサイズとしては、(起動時間+停止時間)×ライト性能又はリード性能の演算がストレージ7の組み合わせごとに行なわれ、演算結果の最大値が選択されてもよい。又は、(起動時間+停止時間)の最大値と、ライト性能又はリード性能の最大値とが先に求められ、これらの値の積算によりオンラインデータサイズが算出されてもよい。
なお、停止状態のストレージ7を起動するのにかかる時間は起動時間であるが、ストレージ7が停止中のときにI/Oアクセスがあった場合には、ストレージ7が停止状態に移行するまでの時間(最大で停止時間)が起動時間に加算される。従って、オンラインデータサイズの算出においては、起動時間に加えて停止時間も考慮するのである。
このように、オンラインデータサイズは、中間又はオフラインストレージ7が非稼働状態から稼働状態に遷移するまでの期間にオンラインストレージ7に対する書き込み又は読み出しが可能なデータサイズであるといえる。
アクセス数判定値の算出では、一例として、単位時間をストレージ7の起動時間及び停止時間の和で除した値が算出される。この算出結果は、ストレージ7の停止から再起動までの処理を単位時間当たり何回実施できるかを示す値といえる。なお、この算出で用いられる起動時間及び停止時間は、第2ストレージ階層8bのストレージ7のものを用いてよく、第2ストレージ階層8bのストレージ7が複数存在する場合には平均値が用いられてもよい。また、第3ストレージ階層8cのストレージ7の起動時間及び停止時間が用いられてもよい。
ライト制御部23bは、サーバ6からのライト要求、例えばコンテンツ61aの書き込み要求の受信に応じて、キャッシュメモリ21に格納されたコンテンツ21aのライト制御処理を実施することができる。
ライト制御部23bによるライト制御処理には、コンテンツ21aのライト処理と、分割ライト処理とが含まれる。
ライト処理は、書き込み対象のコンテンツ21aのコンテンツ容量、例えば総データサイズとオンラインデータサイズとを比較し、総データサイズがオンラインデータサイズよりも小さければ、コンテンツ21aの全データを第1ストレージ階層8aに保存する処理である。
分割ライト処理は、コンテンツ21aの総データサイズがオンラインデータサイズ以上の場合に実施される処理である。以下、図7を参照して分割ライト処理の一例について説明する。
図7に示すように、分割ライト処理では、サーバ6から受信したライト要求に係るコンテンツ21aをオンラインデータサイズで分割し、先頭データ21bを第1ストレージ階層8aへ、後続データ21cを第2又は第3ストレージ階層8へ、それぞれ保存する。例えばライト要求に係るコンテンツ61aが新規保存の場合、後続データ21cは第2ストレージ階層8bに保存され、ライト要求に係るコンテンツ61aがストレージ7に格納済の場合、後続データ21cは現在の後続データ21cの保存先の第2又は第3ストレージ階層8に保存、例えば上書きされる。
なお、先頭データ21bは、コンテンツ21aの先頭からオンラインデータサイズ分のデータであり、後続データ21cは、コンテンツ21aの先頭から先頭データ21bを除いた後続のデータである。
また、分割ライト処理において後続データ21cが保存されるストレージ7は、コンテンツ21aのライト要求に係る時間を含む時間帯が関連付けられたストレージ7であることが好ましい。ライト要求に係る時間を含む時間帯が関連付けられたストレージ7は、リソース管理テーブル22aを参照することにより特定することができる。
ここで、上述のように第2及び第3ストレージ階層8のストレージ7は、アクセスがあったときに停止状態である場合がある。そこで、一実施形態に係るライト制御部23bは、後続データ21cの保存先となる第2又は第3ストレージ階層8のストレージ7が停止状態である場合、以下の制御を行なうことができる。例えばライト制御部23bは、後続データ21cのライト処理に先立ち、先頭データ21bのライト処理と並行して、停止状態のストレージ7に対して起動を指示し、起動状態になったときに後続データ21cのライト処理を実行すればよい。
なお、第1ストレージ階層8aのストレージ7の空き容量が不足する場合、ライト処理における保存対象のコンテンツ21a全体又は分割ライト処理における先頭データ21bは、暫定的に第2ストレージ階層8bに保存されてもよい。第2ストレージ階層8bのストレージ7の空き容量も不足する場合には、さらに下位の階層、例えば第3ストレージ階層8cに保存されてもよい。このとき、分割ライト処理においては、先頭データ21b及び後続データ21cの分割を行なわずに、コンテンツ21a全体を第2又は第3ストレージ階層8に格納してもよい。
第2又は第3ストレージ階層8にコンテンツ21a全体又は先頭データ21bが保存される場合、該当データについてコンテンツ管理テーブル22cの容量不足フラグをONに設定することで管理される。
コンテンツ21a又は先頭データ21bが第2又は第3ストレージ階層8に保存される場合、ライト制御部23bは、当該データの格納先のストレージ7が当該データの格納期間の間、常時起動となるように制御してもよい。常時起動とする制御は、リソース管理テーブル22aの該当ストレージ7について、起動フラグをONに設定することにより実現される。なお、第1ストレージ階層8aのストレージ7の空き容量が増加し、コンテンツ21a全体又は先頭データ21bの保存可能容量に達した場合、制御部23は、当該データを速やかに既存の保存先から第1ストレージ階層8aへ再配置することが好ましい。再配置の処理は、後述する再配置制御部23dにより実施される。
以上のように、ライト制御部23bは、コンテンツ21aの書込要求の受信に応じて、当該コンテンツ21aを先頭の第1データ21bと後続の第2データ21cとに分割する分割部の一例である。また、ライト制御部23bは、第1データ21bを、稼働率の高い第1ストレージグループ内の第1ストレージ7に書き込み、第2データ21cを、第1ストレージグループよりも稼働率の低い第2ストレージグループ内の第2ストレージ7に書き込む書込部の一例である。さらに、ライト制御部23bは、第2ストレージ7が停止している場合、第2データ21cの書き込み前に、第1データ21bの書き込みと並行して、第2ストレージ7を起動させる第1起動制御部の一例である。
リード制御部23cは、サーバ6からのリード要求、例えばコンテンツ21aの読み出し要求の受信に応じて、ストレージ7に格納されたコンテンツ21a又は分割データ21b及び21cのリード制御処理を実施することができる。
リード制御部23cによるリード制御処理には、コンテンツ21aのリード処理と、分割リード処理とが含まれる。
リード処理は、リード対象のコンテンツ21aが分割されているか否かを判定し、分割されていない場合、当該コンテンツ21aの格納ストレージ7、例えば第1ストレージ階層8aのストレージ7からコンテンツ21aを読み出してストレージ7へ応答する処理である。
分割リード処理は、コンテンツ21aが分割されている場合に実施される処理である。以下、図8を参照して分割リード処理の一例について説明する。
図8に示すように、分割リード処理では、サーバ6から受信したリード要求に係るコンテンツ21aのうち、オンラインデータサイズ分のデータサイズを第1ストレージ階層8aから先頭データ21bとして読み出し、以降のデータを現在の保存先の第2又は第3ストレージ階層8から後続データ21cとして読み出す。読み出された先頭データ21b及び後続データ21cは、キャッシュメモリ21上でコンテンツ21aとして統合されてからサーバ6へ送信されてもよいし、読み出しが完了する都度、例えば先頭データ21b、後続データ21cの順にサーバ6へ送信されてもよい。
なお、一実施形態に係るリード制御部23cは、後続データ21cの保存先である第2又は第3ストレージ階層8のストレージ7が停止状態である場合、以下の制御を行なうことができる。例えばリード制御部23cは、後続データ21cのリード処理に先立ち、先頭データ21bのリード処理と並行して、停止状態のストレージ7に対して起動を指示し、起動状態になったときに後続データ21cのリード処理を実行すればよい。
また、先頭データ21bが容量不足フラグONにより後続データ21cとともに第2又は第3ストレージ階層8に格納されている場合、リード制御部23cは、先頭データ21b及び後続データ21c(コンテンツ21a全体)のリード処理を行なうことができる。
このように、リード制御部23cは、コンテンツ21aの読出要求の受信に応じて、メモリ部22が記憶するコンテンツ管理テーブル22cに基づき、第1ストレージグループの第1ストレージ7から第1データ21bを読み出し、第2ストレージグループの第2ストレージ7から第2データ21cを読み出す読出部の一例である。また、リード制御部23cは、第2ストレージ7が停止している場合、第2データ21cの読み出し前に、第2データ21cの読み出しと並行して、第2ストレージ7を起動させる第2起動制御部の一例である。
再配置制御部23dは、コンテンツ21a又は分割データ21b及び21cのストレージ階層間における再配置処理を行なうことができる。なお、再配置処理が行なわれるタイミングは、ライト制御処理又はリード制御処理が行なわれたとき、サーバ6からコンテンツ21aの削除要求を受信したとき、又は所定周期ごと等であってもよい。
再配置制御部23dによる再配置処理には、オンライン再配置処理と、中間/オフライン再配置処理とが含まれる。
オンライン再配置処理は、容量不足フラグがONのコンテンツ21aを対象に、オンラインストレージ7の空き容量が増加したときに、当該コンテンツ21aの先頭データ21bを第2又は第3ストレージ階層8から第1ストレージ階層8aへ再配置する処理である。
オンライン再配置処理における階層移動は、例えばオンラインストレージ7に格納されたコンテンツ21aの削除要求に応じてオンラインストレージ7の空き容量がオンラインデータサイズよりも大きいことを検出したときに実施される。
中間/オフライン再配置処理は、第2又は第3ストレージ階層8に格納された後続データ21c又はコンテンツ21a全体を対象に、当該データに対する直近の単位時間当たりのアクセス回数に応じて第2及び第3ストレージ階層8間で再配置する処理である。なお、第2又は第3ストレージ階層8に格納されたコンテンツ21a全体とは、容量不足フラグONのコンテンツ21aを意味する。
一例として、中間/オフライン再配置処理では、再配置制御部23dは、第2又は第3ストレージ階層8に後続データ21c又は全体が格納されたコンテンツ21aごとに、単位時間内のタイムスタンプの数をアクセス回数として集計する。そして、再配置制御部23dは、アクセス回数とアクセス数判定値とに基づき、当該コンテンツ21aの再配置フラグにONを設定し、再配置フラグがONのコンテンツ21aを他の階層へ再配置する。
再配置フラグにONが設定される条件は、下記に例示するものが挙げられる。
・第2ストレージ階層8bのストレージ7に保存されたコンテンツ21a
アクセス回数<判定値の場合:ON
アクセス回数≧判定値の場合:OFF
・第3ストレージ階層8cのストレージ7に保存されたコンテンツ21a
アクセス回数<判定値の場合:OFF
アクセス回数≧判定値の場合:ON
また、再配置先のストレージ7としては、再配置対象のコンテンツ21aへのアクセス回数を再配置先の階層に含まれるストレージ7に定義された時間帯ごとに集計し、最もアクセス回数の多い時間帯に対応するストレージ7が選択されてよい。
このように、再配置制御部23dは、第2データ21cに対する所定期間におけるアクセス数に応じて、第2ストレージグループ内の第2ストレージ7に格納された第2データ21cを、第2ストレージグループとは異なる稼働率の第3ストレージグループ内の第3ストレージ7に移動させる移動部の一例である。また、移動部の一例としての再配置制御部23dは、リソース管理テーブル22aにおける複数の期間の各々について、第2データ21cに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた第3ストレージ7に、第2データ21cを移動させるといえる。
〔1−3〕階層ストレージシステムの動作例
次に、上述の如く構成された階層ストレージシステム1の動作例を、図9〜図20を参照して説明する。
〔1−3−1〕全体処理の動作例
はじめに、図9を参照して階層ストレージシステム1の階層ストレージ装置2における全体処理の動作例を説明する。
図9に示すように、階層ストレージ装置2の初回起動の際に、制御部23は事前処理部23aによる事前処理を行ない(ステップS1)、サーバ6からの要求を待ち受ける。サーバ6から要求を受信すると、制御部23は、当該要求の種別を判定し(ステップS2、S4、及びS6)、種別に応じた処理を行なう。
例えば受信した要求がコンテンツ61aのライト要求である場合(ステップS2のYesルート)、制御部23はライト制御部23bによるライト制御処理を行ない(ステップS3)、処理がステップS7に移行する。
ステップS7では、制御部23は再配置制御部23dによる再配置制御処理を行ない、ストレージリソース24等の装置構成に変更があるか否かを判定する(ステップS8)。構成変更がない場合(ステップS8のNoルート)、処理がステップS2に移行し、制御部23はサーバ6からの要求を待ち受ける。一方、構成変更がある場合(ステップS8のYesルート)、処理がステップS1に移行し、再度事前処理が実施される。
受信した要求がコンテンツ21aのリード要求である場合(ステップS2のNoルート、ステップS4のYesルート)、制御部23はリード制御部23cによるリード制御処理を行ない(ステップS5)、処理がステップS7に移行する。
受信した要求がコンテンツ21aの削除要求である場合(ステップS4のNoルート、ステップS6のYesルート)、処理がステップS7に移行する。一方、受信した要求がコンテンツ21aの削除要求ではない場合(ステップS6のNoルート)、制御部23は、当該要求に応じた処理を行ない(ステップS9)、処理がステップS8に移行する。
〔1−3−2〕事前処理の動作例
次に、図10を参照して事前処理部23aによる事前処理の動作例を説明する。図10に示すように、事前処理部23aは、予め設定された情報や階層ストレージ装置2から収集した情報に基づき、リソース管理テーブル22a、判定値管理テーブル22b、及びコンテンツ管理テーブル22cを生成する(ステップS11)。
次いで、事前処理部23aは、オンラインストレージ7の各々のライト性能及びリード性能を測定し、測定結果をリソース管理テーブル22aへ登録する(ステップS12)。ライト性能及びリード性能の測定は、各オンラインストレージ7に対して任意のデータサイズの書き込み及び読み出しを実施し、そのときの所要時間を測定して、データサイズを所要時間で除算した結果を得ることで実施可能である。
また、事前処理部23aは、中間及びオフラインストレージ7の各々について、ストレージ7を構成する記憶装置5の起動及び停止の所要時間を測定し、測定結果をリソース管理テーブル22aへ登録する(ステップS13)。起動及び停止の所要時間の測定は、各記憶装置5に対して起動を指示してから起動が完了するまでの時間(起動時間)を測定し、各記憶装置5に対して停止を指示してから停止が完了するまでの時間(停止時間)を測定することにより実施可能である。なお、ストレージ7を構成する記憶装置5が複数ある場合、複数の記憶装置5のうちの起動時間の最大値及び停止時間の最大値をそれぞれ当該ストレージ7の起動時間及び停止時間としてもよい。
次に、事前処理部23aは、リソース管理テーブル22aからストレージ7ごとに起動時間及び停止時間の和を求めて起動時間+停止時間の最大値を取得し、オンラインデータサイズを算出して、算出結果を判定値管理テーブル22bへ登録する(ステップS14)。オンラインデータサイズは、例えばオンラインストレージ7のライト性能及びリード性能のうちの最大値と、起動時間+停止時間の最大値との積算を行なうことにより算出可能である。なお、ライトの場合及びリードの場合のそれぞれのオンラインデータサイズを求め、算出結果のいずれか大きい値を採用してもよい。
また、事前処理部23aは、単位時間と起動時間+停止時間の最大値との積算を行ない、算出結果を判定値として判定値管理テーブル22bへ登録する(ステップS15)。この判定値は、単位時間に実行可能な起動及び停止の回数であり、分割データ(後続)21cの再配置を判定する基準値として用いられる。
さらに、事前処理部23aはリソース管理テーブル22aに各中間又はオフラインストレージ7の時間帯を設定し(ステップS16)、処理が終了する。なお、時間帯は予め階層ストレージ装置2に設定され得る情報であるため、例えばステップS11においてリソース管理テーブル22aに設定されてもよい。
〔1−3−3〕ライト制御処理の動作例
次に、図11〜図15を参照してライト制御部23bによるライト制御処理の動作例を説明する。
はじめに、図11に示すように、ライト制御部23bは、キャッシュメモリ21に格納されたライト要求の対象コンテンツ21aがストレージリソース24に保存済みであるか否かを、コンテンツ管理テーブル22cを参照して判定する(ステップS21)。この判定は、コンテンツ管理テーブル22cに該当コンテンツ21aのデータ名と一致するエントリの有無を判断することにより実現可能である。
対象コンテンツ21aがストレージリソース24に保存されていない場合(ステップS21のNoルート)、ライト制御部23bは対象コンテンツ21aのファイル名やオブジェクト名等のデータ名、及びデータサイズをコンテンツ管理テーブル22cへ登録する(ステップS22)。また、ライト制御部23bは、オンラインストレージ7に対象コンテンツ21aを保存する空き容量が存在するか否かをリソース管理テーブル22aを参照して判定する(ステップS23)。
オンラインストレージ7に空き容量が存在する場合(ステップS23のYesルート)、対象コンテンツ21aのデータサイズが分割サイズ、すなわちオンラインデータサイズ以下であるか否かを、判定値管理テーブル22bを参照して判定する(ステップS24)。
データサイズが分割サイズ以下である場合(ステップS24のYesルート)、ライト制御部23bはライト処理によりオンラインストレージ7へ対象コンテンツ21aを書き込み(ステップS25)、処理がステップS26に移行する。ステップS26では、ライト制御部23bは、コンテンツ管理テーブル22cに対して、先頭データリソース及び先頭データアドレスに対象コンテンツ21aの保存先のストレージ7及びアドレスを設定するとともに、現在時刻をタイムスタンプに設定し、処理が終了する。
一方、対象コンテンツ21aのデータサイズが分割サイズよりも大きい場合(ステップS24のNoルート)、分割ライト処理に移行する。例えばライト制御部23bは、対象コンテンツ21aを分割サイズで分割し(ステップS27)、処理が図12のステップS31に移行する。なお、ライト制御部23bは、対象コンテンツ21aを分割したときの後続データ21cのデータサイズ(コンテンツ21aのデータサイズ−先頭データ21bのデータサイズ(オンラインデータサイズ))をコンテンツ管理テーブル22cに登録する。
図12のステップS31では、ライト制御部23bは、中間ストレージ7に対象コンテンツ21aの後続データ21cを保存する空き容量が存在するか否かを、リソース管理テーブル22a及びコンテンツ管理テーブル22cを参照して判定する。中間ストレージ7に空き容量が存在する場合(ステップS31のYesルート)、ライト制御部23bはライト要求を受信した時間帯に該当する中間ストレージ7を、リソース管理テーブル22aを参照して選択し(ステップS32)、処理がステップS34に移行する。一方、中間ストレージ7に空き容量が存在しない場合(ステップS31のNoルート)、ライト制御部23bはライト要求を受信した時間帯に該当するオフラインストレージ7を、リソース管理テーブル22aを参照して選択し(ステップS33)、処理がステップS34に移行する。
ステップS34では、ライト制御部23bは、ステップS32又はS33で選択したストレージ7が起動しているか否かをリソース管理テーブル22aを参照して判定する。起動している場合、例えばリソース管理テーブル22aのステータスが起動である場合(ステップS34のYesルート)、オンラインストレージ7に先頭データ21bを書き込み(ステップS35)、処理がステップS36に移行する。
ステップS36では、ライト制御部23bは、選択したストレージ7に後続データ21cを書き込む。そして、ライト制御部23bは、コンテンツ管理テーブル22cに対して、先頭/後続データリソース及び先頭/後続データアドレスに分割データ21b及び21cの保存先のストレージ7及びアドレスを設定するとともに、タイムスタンプに現在時刻を設定し(ステップS37)、処理が終了する。
このように、ステップS36では、ステップS32及びS33で選択されたストレージ7に対して後続データ21cが書き込まれる。これにより、コンテンツ21aへのアクセスが発生し得る時間帯別に、後続データ21cを特定の時間帯にアクセスの多くなるストレージ7に集約して片寄配置することができる。従って、中間又はオフラインストレージ7においては、アクセスが集中する時間帯を集約できるため、その他の時間帯における停止状態の期間を延ばすことができ、省電力効率を高めることができる。
一方、ステップS34において、選択したストレージ7が起動していない場合、例えばステータスが停止等である場合(ステップS34のNoルート)、ライト制御部23bは、選択したストレージの起動をDE4へ指示する(ステップS38)。そして、ライト制御部23bは、オンラインストレージ7に先頭データ21bを書き込み(ステップS39)、選択したストレージ7の起動の完了を待ち合わせる(ステップS40及びステップS40のNoルート)。起動が完了すると(ステップS40のYesルート)、ライト制御部23bは、リソース管理テーブル22aに対して選択したストレージ7のステータスに起動を設定し(ステップS41)、処理がステップS36に移行する。
図11の説明に戻り、ステップS23において、オンラインストレージ7に対象コンテンツ21aを保存する空き容量が存在しない場合(ステップS23のNoルート)、処理がステップS28に移行する。ステップS28では、ライト制御部23bは、コンテンツ管理テーブル22cに対して対象コンテンツ21aの容量不足フラグにONを設定し、処理が図13のステップS51に移行する。
図13のステップS51では、ライト制御部23bは、中間ストレージ7に対象コンテンツ21aを保存する空き容量が存在するか否かを、リソース管理テーブル22a及びコンテンツ管理テーブル22cを参照して判定する。中間ストレージ7に空き容量が存在する場合(ステップS51のYesルート)、ライト制御部23bはライト要求に係る時間、例えば受信時間を含む時間帯に該当する中間ストレージ7を、リソース管理テーブル22aを参照して選択し(ステップS52)、処理がステップS54に移行する。一方、中間ストレージ7に空き容量が存在しない場合(ステップS51のNoルート)、ライト制御部23bはライト要求を受信した時間帯に該当するオフラインストレージ7を、リソース管理テーブル22aを参照して選択し(ステップS53)、処理がステップS54に移行する。
ステップS54では、ライト制御部23bは、ステップS52又はS53で選択したストレージ7が起動しているか否かをリソース管理テーブル22aを参照して判定し、起動している場合(ステップS54のYesルート)、処理がステップS55に移行する。
ステップS55では、ライト制御部23bは、選択したストレージ7に対象コンテンツ21a全体を書き込む。そして、ライト制御部23bは、コンテンツ管理テーブル22cに対して、先頭データリソース及び先頭データアドレスにコンテンツ21aの保存先のストレージ7及びアドレスを設定するとともに、現在時刻をタイムスタンプに設定する(ステップS56)。また、ライト制御部23bは、リソース管理テーブル22aに対して選択したストレージ7の起動フラグにONを設定し(ステップS57)、処理が終了する。
一方、ステップS54において、選択したストレージ7が起動していない場合(ステップS54のNoルート)、ライト制御部23bは、選択したストレージ7の起動をDE4へ指示し(ステップS58)、選択したストレージ7の起動の完了を待ち合わせる(ステップS59及びステップS59のNoルート)。起動が完了すると(ステップS59のYesルート)、ライト制御部23bは、リソース管理テーブル22aに対して選択したストレージ7のステータスに起動を設定し(ステップS60)、処理がステップS55に移行する。
再び図11の説明に戻り、ステップS21において、ライト要求の対象コンテンツ21aがストレージリソース24に保存されている場合(ステップS21のYesルート)、処理がステップS29に移行する。なお、このときのライト要求は対象コンテンツ21aの更新要求であるといえる。
ステップS29では、ライト制御部23bは、対象コンテンツ21aの容量不足フラグがOFFであるか否かをコンテンツ管理テーブル22cを参照して判定し、OFFではない場合(ステップS29のNoルート)、処理がステップS22に移行する。一方、容量不足フラグがOFFである場合(ステップS29のYesルート)、処理が図14のステップS61に移行する。
図14のステップS61では、ライト制御部23bは、ライト要求の対象部分がオンラインストレージ7並びに中間又はオフラインストレージ7の両方に存在するか否かを、コンテンツ管理テーブル22cを参照して判定する。
なお、ライト要求の対象部分とは、ライト要求(更新要求)においてサーバ6から受信したライトデータであり、更新要求がコンテンツ21a全体の更新であればコンテンツ21a全体のデータが相当し、コンテンツ21aの一部分の更新であれば更新個所のデータが相当する。対象部分がオンラインストレージ7及び中間又はオフラインストレージ7の両方に存在する場合としては、対象部分がコンテンツ21aの全体又は一部分であり、且つ対象部分がコンテンツ21aの分割の境目を跨いでいる場合が挙げられる。
対象部分がオンラインストレージ7並びに中間又はオフラインストレージ7の両方に存在する場合(ステップS61のYesルート)、ライト制御部23bは、対象部分が保存された中間又はオフラインストレージ7が起動しているか否かをリソース管理テーブル22aを参照して判定する(ステップS62)。当該ストレージ7が起動している場合(ステップS62のYesルート)、ライト制御部23bは、オンラインストレージ7に保存された対象部分を更新し(ステップS63)、処理がステップS64に移行する。
ステップS64では、ライト制御部23bは、中間又はオフラインストレージ7に保存された対象部分を更新する。そして、ライト制御部23bは、コンテンツ管理テーブル22cのタイムスタンプに現在時刻を設定し(ステップS65)、処理が終了する。
一方、ステップS62において、対象部分が保存された中間又はオフラインストレージ7が起動していない場合(ステップS62のNoルート)、ライト制御部23bは、当該ストレージ7の起動をDE4へ指示する(ステップS66)。また、ライト制御部23bは、オンラインストレージ7に保存された対象部分を更新し(ステップS67)、選択したストレージ7の起動の完了を待ち合わせる(ステップS68及びステップS68のNoルート)。起動が完了すると(ステップS68のYesルート)、ライト制御部23bは、リソース管理テーブル22aに対して当該ストレージ7のステータスに起動を設定し(ステップS69)、処理がステップS64に移行する。
また、ステップS61において、対象部分がオンラインストレージ7並びに中間又はオフラインストレージ7の両方に存在しない場合(ステップS61のNoルート)、処理が図15のステップS71に移行する。
図15のステップS71では、ライト制御部23bは、ライト要求の対象部分がオンラインストレージ7に存在するか否かをコンテンツ管理テーブル22cを参照して判定する。なお、対象部分がオンラインストレージ7に存在する場合としては、対象部分がコンテンツ21aの全体であり、且つコンテンツ21aの分割が行なわれていない場合、又は、対象部分がコンテンツ21aの一部分であり、且つ対象部分が先頭データ21bに存在する場合等が挙げられる。
対象部分がオンラインストレージ7に存在する場合(ステップS71のYesルート)、ライト制御部23bは、オンライン先頭データ21bに保存された対象部分を更新し(ステップS72)、処理がステップS75に移行する。
一方、対象部分がオンラインストレージ7に存在しない場合、例えば中間又はオフラインストレージ7に存在する場合(ステップS71のNoルート)、処理がステップS73に移行する。なお、対象部分がオンラインストレージ7に存在しない場合としては、対象部分がコンテンツ21aの全体であり、且つ容量不足により第2又は第3ストレージ階層8に保存された場合が挙げられる。又は、対象部分がコンテンツ21aの一部分であり、且つ対象部分が後続データ21cに存在する場合等も挙げられる。
ステップS73では、ライト制御部23bは、対象部分が保存された中間又はオフラインストレージ7が起動しているか否かをリソース管理テーブル22aを参照して判定する。当該ストレージ7が起動している場合(ステップS73のYesルート)、ライト制御部23bは、中間又はオフラインストレージ7に保存された対象部分を更新し(ステップS74)、処理がステップS75に移行する。
ステップS75では、ライト制御部23bは、コンテンツ管理テーブル22cのタイムスタンプに現在時刻を設定し、処理が終了する。
一方、ステップS73において、対象部分が保存された中間又はオフラインストレージ7が起動していない場合(ステップS73のNoルート)、ライト制御部23bは、当該ストレージ7の起動をDE4へ指示する(ステップS76)。また、ライト制御部23bは、選択したストレージ7の起動の完了を待ち合わせ(ステップS77及びステップS77のNoルート)、起動が完了すると(ステップS77のYesルート)、リソース管理テーブル22aに対して当該ストレージ7のステータスに起動を設定し(ステップS78)、処理がステップS74に移行する。
〔1−3−4〕リード制御処理の動作例
次に、図16を参照してリード制御部23cによるリード制御処理の動作例を説明する。はじめに、図16に示すように、リード制御部23cは、リード要求の対象コンテンツ21aが分割済みであるか否かを、コンテンツ管理テーブル22cを参照して判定する(ステップS81)。この判定は、コンテンツ管理テーブル22cにおける該当コンテンツ21aのエントリに、後続データサイズ、後続データリソース、及び後続データアドレスの少なくとも1つが設定されているか否かを判断することにより実現可能である。
リード要求の対象コンテンツ21aが分割されていない場合(ステップS81のNoルート)、リード制御部23cは、保存先ストレージ7、例えばオンラインストレージ7から対象コンテンツ21aを読み出し、読み出したデータをストレージ7へ送信し(ステップS82)、処理がステップS87に移行する。
一方、リード要求の対象コンテンツ21aが分割済みの場合(ステップS81のYesルート)、リード制御部23cは、コンテンツ管理テーブル22cを参照して後続データ21cが保存された中間又はオフラインストレージ7を特定する(ステップS83)。そして、リード制御部23cは、特定したストレージ7が起動しているか否かをリソース管理テーブル22aを参照して判定する(ステップS84)。
当該ストレージ7が起動している場合(ステップS84のYesルート)、リード制御部23cは、オンラインストレージ7に保存された先頭データ21bを読み出し、読み出したデータをストレージ7へ送信する(ステップS85)。そして、リード制御部23cは、特定したストレージ7に保存された後続データ21cを読み出し、読み出したデータをサーバ6へ送信し(ステップS86)、コンテンツ管理テーブル22cのタイムスタンプに現在時刻を設定して(ステップS87)、処理が終了する。
一方、ステップS84において、特定した中間又はオフラインストレージ7が起動していない場合(ステップS84のNoルート)、リード制御部23cは、当該ストレージ7の起動をDE4へ指示する(ステップS88)。また、リード制御部23cは、オンラインストレージ7に保存された先頭データ21bを読み出し、読み出したデータをサーバ6へ送信して(ステップS89)、特定したストレージ7の起動の完了を待ち合わせる(ステップS90及びステップS90のNoルート)。起動が完了すると(ステップS90のYesルート)、リード制御部23cは、リソース管理テーブル22aに対して当該ストレージ7のステータスに起動を設定し(ステップS91)、処理がステップS86に移行する。
なお、リード制御部23cは、ステップS85又はS89において、読み出した先頭データ21bをサーバ6へ送信しなくてもよい。この場合、リード制御部23cは、ステップS85又はS89で読み出した先頭データ21bとステップS86で読み出した後続データ21cとをキャッシュメモリ21上でマージしてコンテンツ21aを生成し、生成したコンテンツ21aをサーバ6へ送信してもよい。
以上のように、一実施形態に係る階層ストレージ装置2によれば、ライト要求の対象コンテンツ21aは、常時アクセス可能な第1ストレージ階層8a、並びに電力低減のために通常は停止され、アクセス要求に応じて起動する第2又は第3ストレージ階層8に分割して格納される。第1ストレージ階層8aは先頭データの応答性を確保することができるため、リード制御部23cは、リード要求の受信後に速やかに読み出しを開始することができる。また、第2及び第3ストレージ階層8は停止している可能性があるが、アクセス要求に応じて、先頭データ21bが読み出されている間に起動される。従って、リード制御部23cは、先頭データ21bの読み出し完了後又は読み出し中に速やかに第2及び第3ストレージ階層8から後続データ21cを読み出すことができる。
従って、IO処理のレスポンス遅延を抑えつつ、階層ストレージ装置2がそなえる複数の記憶装置5の消費電力を効率的に削減することができる。
また、複数の階層で同様のアクセス性能の記憶装置5が用いられる場合、コンテンツ21aを分割して複数の階層に配置しても、コンテンツ21aを分割せずに1つのストレージ7に格納する場合と同程度のレスポンスを発揮することができる。特にコンテンツ21aのサイズが数GB以上等の大容量データである場合には、分割リード処理に起因する時間のロスを無視できる程度にデータの読み出しに時間がかかるため、IOレスポンスをコンテンツ21aを分割しない場合と同程度に維持することができる。
また、事前処理において、後続データ21cが保存された中間又はオフラインストレージ7が起動状態になるまでの最大の時間に、オンラインストレージ7に対して先頭データ21bをライト又はリード可能な最大のデータサイズが算出される。そして、このデータサイズを基準として、コンテンツ21aの分割が行なわれる。
従って、オンラインストレージ7に対する先頭データ21bのライト又はリードが完了するまでに、中間又はオフラインストレージ7の起動を完了させることができるように、適切な先頭データ21bのサイズを決定することができる。これにより、コンテンツ21aの分割に起因するレスポンス遅延を抑制することができる。
〔1−3−5〕再配置処理の動作例
次に、図17〜図20を参照して再配置制御部23dによる再配置処理の動作例を説明する。はじめに、図17に示すように、再配置制御部23dは、コンテンツ21aの削除要求を受信したか否かを判定し(ステップS101)、削除要求を受信した場合(ステップS101のYesルート)、処理がオンライン再配置処理に移行する。
オンライン再配置処理では、再配置制御部23dは、削除対象の対象ストレージ7から対象コンテンツ21aを削除し(ステップS102)、コンテンツ管理テーブル22cに対して、対象コンテンツ21aのエントリを削除する(ステップS103)。また、再配置制御部23dは、リソース管理テーブル22aの対象ストレージ7の空き容量を更新する(ステップS104)。
次いで、再配置制御部23dは、コンテンツ管理テーブル22cに容量不足フラグにONが設定されたコンテンツ21aが存在するか否かを判定する(ステップS105)。容量不足フラグにONが設定されたコンテンツ21aが存在する場合(ステップS105のYesルート)、再配置制御部23dは、当該コンテンツ21aの1つを選択し、オンラインストレージ7の空き容量が、オンラインデータサイズ、すなわち先頭データ21bのデータサイズ以上であるか否かを判定する(ステップS106)。
オンラインストレージ7の空き容量がオンラインデータサイズ以上である場合(ステップS106のYesルート)、再配置制御部23dは、対象コンテンツ21aが保存された中間又はオフラインストレージ7を特定し(ステップS107)、処理が図18のステップS111に移行する。
図18のステップS111では、再配置制御部23dは、特定したストレージ7が起動しているか否かをリソース管理テーブル22aを参照して判定する。当該ストレージ7が起動している場合(ステップS111のYesルート)、再配置制御部23dは、特定したストレージ7に保存された対象コンテンツ21aをオンラインデータサイズで分割し、先頭データ21bをオンラインストレージ7へ複製する(ステップS112)。
また、再配置制御部23dは、特定したストレージ7から先頭データ21bを削除して後続データ21cを残す(ステップS113)。そして、再配置制御部23dは、コンテンツ管理テーブル22cに対して、先頭/後続データリソース及び先頭/後続データアドレスに分割データ21b及び21cの保存先のストレージ7及びアドレスを設定(更新)するとともに、タイムスタンプに現在時刻を設定する。また、再配置制御部23dは、容量不足フラグにOFFを設定し(ステップS114)、リソース管理テーブル22aの空き容量(オンラインストレージ7及び特定したストレージ7)を更新する(ステップS115)。
また、再配置制御部23dは、コンテンツ管理テーブル22cを参照して、特定したストレージ7に格納されたコンテンツ21aに、容量不足フラグにONが設定されたコンテンツ21aが存在するか否かを判定する(ステップS116)。特定したストレージ7に、容量不足フラグにONが設定されたコンテンツ21aが存在する場合(ステップS116のYesルート)、処理が図17のステップS105に移行する。一方、特定したストレージ7に、容量不足フラグにONが設定されたコンテンツ21aが存在しない場合(ステップS116のNoルート)、再配置制御部23dは、リソース管理テーブル22aに対して、特定したストレージ7の起動フラグにOFFを設定し(ステップS117)、処理が図17のステップS105に移行する。
なお、ステップS111において、特定したストレージ7が起動していない場合(ステップS111のNoルート)、再配置制御部23dは、当該ストレージ7の起動をDE4へ指示する(ステップS118)。また、再配置制御部23dは、特定したストレージ7の起動の完了を待ち合わせる(ステップS119及びステップS119のNoルート)。起動が完了すると(ステップS119のYesルート)、再配置制御部23dは、リソース管理テーブル22aに対して当該ストレージ7のステータスに起動を設定し(ステップS120)、処理がステップS112に移行する。
このように、オンライン再配置処理によれば、オンラインストレージ7の容量不足の解消に応じて、中間又はオフラインストレージ7から先頭データ21b又はコンテンツ21a全体が動的にオンラインストレージ7に再配置される。従って、先頭データ21b又はコンテンツ21a全体が、停止状態の中間又はオフラインストレージ7に存在する確率を低下させることができ、レスポンス遅延を抑制することができる。
図17の説明に戻り、ステップS106において、オンラインストレージ7の空き容量がオンラインデータサイズよりも小さい場合(ステップS106のNoルート)、処理が中間/オフライン再配置処理に移行する。なお、ステップS101において、コンテンツ21aの削除要求を受信していない場合(ステップS101のNoルート)、並びに、ステップS105において、容量不足フラグにONが設定されたコンテンツ21aが存在しない場合(ステップS105のNoルート)も、処理が中間/オフライン再配置処理に移行する。
中間/オフライン再配置処理では、図19に示すように、再配置制御部23dは、中間又はオフラインストレージ7に保存された分割データ21c(後続データ21c)ごとに、直近の単位時間におけるアクセス数を取得する(ステップS121)。直近の単位時間におけるアクセス数の取得は、例えば直近の単位時間に含まれるタイムスタンプの総数をカウントすることにより実現可能である。
また、再配置制御部23dは、判定値管理テーブル22bの判定値と、取得したアクセス数とを比較し、コンテンツ管理テーブル22cにおける各コンテンツ21aの再配置フラグを更新する(ステップS122)。再配置フラグの変更条件は、中間ストレージ7に保存の後続データ21cの場合には、アクセス数が判定値よりも小さいときにONとし、オフラインストレージ7に保存の後続データ21cの場合には、アクセス数が判定値以上のときにONとする。
次いで、再配置制御部23dは、再配置フラグにONが設定されたコンテンツ21aが存在するか否かを判定する(ステップS123)。再配置フラグにONが設定されたコンテンツ21aが存在しない場合(ステップS123のNoルート)、処理が図20のステップS146に移行する。一方、再配置フラグにONが設定されたコンテンツ21aが存在する場合(ステップS123のYesルート)、再配置制御部23dは、再配置フラグONの後続データ21cが保存された中間ストレージ7が起動しているか否かをリソース管理テーブル22aを参照して判定する(ステップS124)。
当該中間ストレージ7が起動している場合(ステップS124のYesルート)、再配置制御部23dは、中間ストレージ7に保存された再配置フラグがONの後続データ21cを選択する。そして、再配置制御部23dは、選択した後続データ21cについて、オフラインストレージ7に定義された時間帯ごとのアクセス数を取得する(ステップS125)。時間帯ごとのアクセス数の取得は、例えば時間帯に含まれるタイムスタンプの総数を、時間帯ごとにカウントすることにより実現可能である。
次いで、再配置制御部23dは、アクセス数の多い時間帯に対応するオフラインストレージ7へ後続データ21cを複製し(ステップS126)、中間ストレージ7から後続データ21cを削除する(ステップS127)。そして、再配置制御部23dは、コンテンツ管理テーブル22cに対して、先頭又は後続データリソース並びに先頭又は後続データアドレスに後続データ21cの保存先のストレージ7及びアドレスを設定(更新)するとともに、タイムスタンプに現在時刻を設定する。また、再配置制御部23dは、再配置フラグにOFFを設定し(ステップS128)、処理が図20のステップS141に移行する。
なお、ステップS124において、再配置フラグONの後続データ21cが保存された中間ストレージ7が起動していない場合(ステップS124のNoルート)、再配置制御部23dは、当該ストレージ7の起動をDE4へ指示する(ステップS129)。また、再配置制御部23dは、当該中間ストレージ7の起動の完了を待ち合わせる(ステップS130及びステップS130のNoルート)。起動が完了すると(ステップS130のYesルート)、再配置制御部23dは、リソース管理テーブル22aに対して当該ストレージ7のステータスに起動を設定し(ステップS131)、処理がステップS125に移行する。
図20のステップS141では、再配置制御部23dは、再配置フラグONの後続データ21cが保存されたオフラインストレージ7が起動しているか否かをリソース管理テーブル22aを参照して判定する。
当該オフラインストレージ7が起動している場合(ステップS141のYesルート)、再配置制御部23dは、オフラインストレージ7に保存された再配置フラグがONの後続データ21cを選択する。そして、再配置制御部23dは、選択した後続データ21cについて、中間ストレージ7に定義された時間帯ごとのアクセス数を取得する(ステップS142)。
次いで、再配置制御部23dは、アクセス数の多い時間帯に対応する中間ストレージ7へ後続データ21cを複製し(ステップS143)、オフラインストレージ7から後続データ21cを削除する(ステップS144)。そして、再配置制御部23dは、コンテンツ管理テーブル22cに対して、先頭又は後続データリソース並びに先頭又は後続データアドレスに後続データ21cの保存先のストレージ7及びアドレスを設定(更新)するとともに、タイムスタンプに現在時刻を設定する。また、再配置制御部23dは、再配置フラグにOFFを設定し(ステップS145)、処理がステップS146に移行する。
ステップS146では、再配置制御部23dは、リソース管理テーブル22a及びコンテンツ管理テーブル22cを参照して、中間又はオフラインストレージ7ごとに、保存するコンテンツ21aへの所定時間内のアクセス要求の有無を判定する。なお、所定時間としては、数秒〜数分程度とすることができる。そして、再配置制御部23dは、所定時間内にアクセス要求が無く、且つ停止フラグにOFFが設定された中間又はオフラインストレージ7が存在するか否かを判定する(ステップS147)。
条件を満たす中間又はオフラインストレージ7が存在しない場合(ステップS147のNoルート)、処理が終了する。一方、条件を満たす中間又はオフラインストレージ7が存在する場合(ステップS147のYesルート)、再配置制御部23dは、DE4に対して当該中間又はオフラインストレージ7の停止を指示する(ステップS148)。また、再配置制御部23dは、当該中間又はオフラインストレージ7の停止の完了を待ち合わせる(ステップS149及びステップS149のNoルート)。停止が完了すると(ステップS149のYesルート)、再配置制御部23dは、リソース管理テーブル22aに対して当該ストレージ7のステータスに停止を設定し(ステップS150)、処理が終了する。
なお、ステップS141において、再配置フラグONの後続データ21cが保存されたオフラインストレージ7が起動していない場合(ステップS141のNoルート)、再配置制御部23dは、当該ストレージ7の起動をDE4へ指示する(ステップS151)。また、再配置制御部23dは、当該オフラインストレージ7の起動の完了を待ち合わせる(ステップS152及びステップS152のNoルート)。起動が完了すると(ステップS152のYesルート)、再配置制御部23dは、リソース管理テーブル22aに対して当該ストレージ7のステータスに起動を設定し(ステップS153)、処理がステップS142に移行する。
なお、図19及び図20の説明において、中間/オフライン再配置処理の対象が後続データ21cであるものとしたが、これに限定されるものではなく、処理対象が容量不足フラグONの先頭データ21b又はコンテンツ21a全体であってもよい。
以上のように、一実施形態に係る階層ストレージ装置2によれば、分割されたコンテンツ21a、例えば後続データ21cについて、直近の単位時間におけるアクセス数に応じて階層間の再配置が行なわれる。また、例えば後続データ21cについて、再配置先の階層のストレージ7に定義された時間帯ごとのアクセス数に応じて、再配置先のストレージ7が決定される。従って、中間/オフラインストレージ7へのアクセスの発生頻度及び発生時間帯をストレージ7ごとに最適化しながら制御することができ、消費電力の削減を効率的に実現することができる。
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
例えば、図3に示す階層ストレージ装置2(CM31)の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
また、図3に示すストレージリソース24は、2つのオンラインストレージ7、2つの中間ストレージ7、3つのオフラインストレージ7をそなえるものとしたが、これに限定されるものではなく、それぞれ任意の数のストレージ7がそなえられてもよい。
また、ストレージリソース24はオンライン、中間、オフラインの3つのストレージ階層を有するものとしたが、これに限定されるものではなく、オンライン及びオフラインの2つ、又は4つ以上の階層を有してもよい。
〔3〕付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第1データと後続の第2データとに分割する分割部と、
前記第1データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第1ストレージグループ内の第1ストレージに書き込み、前記第2データを、前記複数のストレージグループのうちの前記第1ストレージグループよりも稼働率の低い第2ストレージグループ内の第2ストレージに書き込む書込部と、
前記第2ストレージが停止している場合、前記書込部による前記第2データの書き込み前に、前記第1データの書き込みと並行して、前記第2ストレージを起動させる第1起動制御部と、をそなえる
ことを特徴とする、制御装置。
(付記2)
前記第1データのサイズは、前記第2ストレージが非稼働状態から稼働状態に遷移するまでの期間に前記第1ストレージに対する書き込み又は読み出しが可能なデータサイズである
ことを特徴とする、付記1記載の制御装置。
(付記3)
前記書込部は、前記第2ストレージグループ内の複数のストレージの各々について前記第2ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記コンテンツの書込要求に係る時間を含む期間が関連付けられた前記第2ストレージに、前記第2データを書き込むことを特徴とする、付記1又は付記2記載の制御装置。
(付記4)
前記コンテンツの読出要求の受信に応じて、前記コンテンツについて前記第1データ及び前記第2データの各々の格納先を示すコンテンツ情報に基づき、前記第1ストレージグループの前記第1ストレージから前記第1データを読み出し、前記第2ストレージグループの前記第2ストレージから前記第2データを読み出す読出部と、
前記第2ストレージが停止している場合、前記読出部による前記第2データの読み出し前に、前記第データの読み出しと並行して、前記第2ストレージを起動させる第2起動制御部と、をさらにそなえる
ことを特徴とする、付記1〜3のいずれか1項記載の制御装置。
(付記5)
前記第2データに対する所定期間におけるアクセス数に応じて、前記第2ストレージグループ内の前記第2ストレージに格納された前記第2データを、前記複数のストレージグループのうちの前記第2ストレージグループとは異なる稼働率の第3ストレージグループ内の第3ストレージに移動させる移動部をさらにそなえることを特徴とする、付記1〜4のいずれか1項記載の制御装置。
(付記6)
前記移動部は、前記第3ストレージグループ内の複数のストレージの各々について前記第3ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記ストレージ情報における複数の前記期間の各々について、前記第2データに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた前記第3ストレージに、前記第2データを移動させることを特徴とする、付記5記載の制御装置。
(付記7)
前記複数のストレージグループは、それぞれアクセス性能が同一又は略同一の一以上のストレージをそなえることを特徴とする、付記1〜6のいずれか1項記載の制御装置。
(付記8)
稼働率が互いに異なる複数のストレージグループと、
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第1データと後続の第2データとに分割する分割部と、
前記第1データを、前記複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第1ストレージグループ内の第1ストレージに書き込み、前記第2データを、前記複数のストレージグループのうちの前記第1ストレージグループよりも稼働率の低い第2ストレージグループ内の第2ストレージに書き込む書込部と、
前記第2ストレージが停止している場合、前記書込部による前記第2データの書き込み前に、前記第1データの書き込みと並行して、前記第2ストレージを起動させる第1起動制御部と、をそなえる
ことを特徴とする、ストレージシステム。
(付記9)
前記第1データのサイズは、前記第2ストレージが非稼働状態から稼働状態に遷移するまでの期間に前記第1ストレージに対する書き込み又は読み出しが可能なデータサイズである
ことを特徴とする、付記8記載のストレージシステム。
(付記10)
前記書込部は、前記第2ストレージグループ内の複数のストレージの各々について前記第2ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記コンテンツの書込要求に係る時間を含む期間が関連付けられた前記第2ストレージに、前記第2データを書き込むことを特徴とする、付記8又は付記9記載のストレージシステム。
(付記11)
前記コンテンツの読出要求の受信に応じて、前記コンテンツについて前記第1データ及び前記第2データの各々の格納先を示すコンテンツ情報に基づき、前記第1ストレージグループの前記第1ストレージから前記第1データを読み出し、前記第2ストレージグループの前記第2ストレージから前記第2データを読み出す読出部と、
前記第2ストレージが停止している場合、前記読出部による前記第2データの読み出し前に、前記第データの読み出しと並行して、前記第2ストレージを起動させる第2起動制御部と、をさらにそなえる
ことを特徴とする、付記8〜10のいずれか1項記載のストレージシステム。
(付記12)
前記第2データに対する所定期間におけるアクセス数に応じて、前記第2ストレージグループ内の前記第2ストレージに格納された前記第2データを、前記複数のストレージグループのうちの前記第2ストレージグループとは異なる稼働率の第3ストレージグループ内の第3ストレージに移動させる移動部をさらにそなえることを特徴とする、付記8〜11のいずれか1項記載のストレージシステム。
(付記13)
前記移動部は、前記第3ストレージグループ内の複数のストレージの各々について前記第3ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記ストレージ情報における複数の前記期間の各々について、前記第2データに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた前記第3ストレージに、前記第2データを移動させることを特徴とする、付記12記載のストレージシステム。
(付記14)
前記複数のストレージグループは、それぞれアクセス性能が同一又は略同一の一以上のストレージをそなえることを特徴とする、付記8〜13のいずれか1項記載のストレージシステム。
(付記15)
コンピュータに、
コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第1データと後続の第2データとに分割し、
前記第1データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第1ストレージグループ内の第1ストレージに書き込み、
前記第2データを、前記複数のストレージグループのうちの前記第1ストレージグループよりも稼働率の低い第2ストレージグループ内の第2ストレージに書き込み、
前記第2ストレージが停止している場合、前記第2データの書き込み前に、前記第1データの書き込みと並行して、前記第2ストレージを起動させる
処理を実行させることを特徴とする、制御プログラム。
(付記16)
前記第1データのサイズは、前記第2ストレージが非稼働状態から稼働状態に遷移するまでの期間に前記第1ストレージに対する書き込み又は読み出しが可能なデータサイズである
ことを特徴とする、付記15記載の制御プログラム。
(付記17)
前記コンピュータに、
前記第2ストレージグループ内の複数のストレージの各々について前記第2ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記コンテンツの書込要求に係る時間を含む期間が関連付けられた前記第2ストレージを特定し、
特定した前記第2ストレージに、前記第2データを書き込む
処理を実行させることを特徴とする、付記15又は付記16記載の制御プログラム。
(付記18)
前記コンピュータに、
前記コンテンツの読出要求の受信に応じて、前記コンテンツについて前記第1データ及び前記第2データの各々の格納先を示すコンテンツ情報に基づき、前記第1ストレージグループの前記第1ストレージから前記第1データを読み出し、
前記コンテンツ情報に基づき、前記第2ストレージグループの前記第2ストレージから前記第2データを読み出し、
前記第2ストレージが停止している場合、前記第2データの読み出し前に、前記第データの読み出しと並行して、前記第2ストレージを起動させる
処理を実行させることを特徴とする、付記15〜17のいずれか1項記載の制御プログラム。
(付記19)
前記コンピュータに、
前記第2データに対する所定期間におけるアクセス数に応じて、前記第2ストレージグループ内の前記第2ストレージに格納された前記第2データを、前記複数のストレージグループのうちの前記第2ストレージグループとは異なる稼働率の第3ストレージグループ内の第3ストレージに移動させる
処理を実行させることを特徴とする、付記15〜18のいずれか1項記載の制御プログラム。
(付記20)
前記コンピュータに、
前記第3ストレージグループ内の複数のストレージの各々について前記第3ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記ストレージ情報における複数の前記期間の各々について、前記第2データに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた前記第3ストレージを特定し、
特定した前記第3ストレージに、前記第2データを移動させる
処理を実行させることを特徴とする、付記19記載の制御プログラム。
1 階層ストレージシステム
2 階層ストレージ装置
3 CE
3a CPU
3b メモリ
3c 記憶部
3d インタフェース部,IF
3e 入出力部
3f 記録媒体
4 DE
4a IOM
5 記憶装置
6 サーバ
7 ストレージ
8,8a〜8c ストレージ階層
21 キャッシュメモリ
21a,61a コンテンツ
21b 分割データ(先頭),先頭データ
21c 分割データ(後続),後続データ
22 メモリ部
22a リソース管理テーブル
22b 判定値管理テーブル
22c コンテンツ管理テーブル
23 制御部
23a 事前処理部
23b ライト制御部
23c リード制御部
23d 再配置制御部
24 ストレージリソース
30 制御プログラム
31 CM
61 アプリケーションプログラム

Claims (10)

  1. コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第1データと後続の第2データとに分割する分割部と、
    前記第1データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第1ストレージグループ内の第1ストレージに書き込み、前記第2データを、前記複数のストレージグループのうちの前記第1ストレージグループよりも稼働率の低い第2ストレージグループ内の第2ストレージに書き込む書込部と、
    前記第2ストレージが停止している場合、前記書込部による前記第2データの書き込み前に、前記第1データの書き込みと並行して、前記第2ストレージを起動させる第1起動制御部と、をそなえ
    前記書込部は、前記第1ストレージグループに前記第1データを格納する空き記憶容量がない場合、前記コンテンツの全体を、前記第2ストレージに書き込み、
    前記コンテンツの全体が前記第2ストレージに格納されている間は、当該第2ストレージを稼働状態に維持する制御部、をさらにそなえ
    ことを特徴とする、制御装置。
  2. 前記第1ストレージグループに格納された第1コンテンツが削除された場合、前記第2ストレージにコンテンツの全体又は第1データが格納されている第2コンテンツ、を示す情報に基づき、前記第2コンテンツの第1データを前記第1ストレージに移動させる配置制御部、をさらにそなえる
    ことを特徴とする、請求項1記載の制御装置。
  3. 前記第1データのサイズは、前記第2ストレージが非稼働状態から稼働状態に遷移するまでの期間に前記第1ストレージに対する書き込み又は読み出しが可能なデータサイズであり、
    前記書込部は、前記第2ストレージグループ内の複数のストレージの各々について前記第2ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記コンテンツの書込要求に係る時間を含む期間が関連付けられた前記第2ストレージに、前記第2データを書き込むことを特徴とする、請求項1又は請求項2記載の制御装置。
  4. 前記コンテンツの読出要求の受信に応じて、前記コンテンツについて前記第1データ及び前記第2データの各々の格納先を示すコンテンツ情報に基づき、前記第1ストレージグループの前記第1ストレージから前記第1データを読み出し、前記第2ストレージグループの前記第2ストレージから前記第2データを読み出す読出部と、
    前記第2ストレージが停止している場合、前記読出部による前記第2データの読み出し前に、前記第データの読み出しと並行して、前記第2ストレージを起動させる第2起動制御部と、をさらにそなえる
    ことを特徴とする、請求項1〜3のいずれか1項記載の制御装置。
  5. 前記第2データに対する所定期間におけるアクセス数に応じて、前記第2ストレージグループ内の前記第2ストレージに格納された前記第2データを、前記複数のストレージグループのうちの前記第2ストレージグループとは異なる稼働率の第3ストレージグループ内の第3ストレージに移動させる移動部をさらにそなえることを特徴とする、請求項1〜4のいずれか1項記載の制御装置。
  6. 前記移動部は、前記第3ストレージグループ内の複数のストレージの各々について前記第3ストレージグループ内の他のストレージとは異なる期間が関連付けられたストレージ情報に基づき、前記ストレージ情報における複数の前記期間の各々について、前記第2データに対する当該期間におけるアクセス数を集計し、集計したアクセス数の多い期間が関連付けられた前記第3ストレージに、前記第2データを移動させることを特徴とする、請求項5記載の制御装置。
  7. 稼働率が互いに異なる複数のストレージグループと、
    コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第1データと後続の第2データとに分割する分割部と、
    前記第1データを、前記複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第1ストレージグループ内の第1ストレージに書き込み、前記第2データを、前記複数のストレージグループのうちの前記第1ストレージグループよりも稼働率の低い第2ストレージグループ内の第2ストレージに書き込む書込部と、
    前記第2ストレージが停止している場合、前記書込部による前記第2データの書き込み前に、前記第1データの書き込みと並行して、前記第2ストレージを起動させる第1起動制御部と、をそなえ
    前記書込部は、前記第1ストレージグループに前記第1データを格納する空き記憶容量がない場合、前記コンテンツの全体を、前記第2ストレージに書き込み、
    前記コンテンツの全体が前記第2ストレージに格納されている間は、当該第2ストレージを稼働状態に維持する制御部、をさらにそなえ
    ことを特徴とする、ストレージシステム。
  8. 前記第1ストレージグループに格納された第1コンテンツが削除された場合、前記第2ストレージにコンテンツの全体又は第1データが格納されている第2コンテンツ、を示す情報に基づき、前記第2コンテンツの第1データを前記第1ストレージに移動させる配置制御部、をさらにそなえる
    ことを特徴とする、請求項7記載のストレージシステム。
  9. コンピュータに、
    コンテンツの書込要求の受信に応じて、当該コンテンツを先頭の第1データと後続の第2データとに分割し、
    前記第1データを、稼働率が互いに異なる複数のストレージグループのうちの他のストレージグループよりも稼働率の高い第1ストレージグループ内の第1ストレージに書き込み、
    前記第2データを、前記複数のストレージグループのうちの前記第1ストレージグループよりも稼働率の低い第2ストレージグループ内の第2ストレージに書き込み、
    前記第2ストレージが停止している場合、前記第2データの書き込み前に、前記第1データの書き込みと並行して、前記第2ストレージを起動させ
    前記第1ストレージグループに前記第1データを格納する空き記憶容量がない場合、前記コンテンツの全体を、前記第2ストレージに書き込み、
    前記コンテンツの全体が前記第2ストレージに格納されている間は、当該第2ストレージを稼働状態に維持す
    処理を実行させることを特徴とする、制御プログラム。
  10. 前記コンピュータに、
    前記第1ストレージグループに格納された第1コンテンツが削除された場合、前記第2ストレージにコンテンツの全体又は第1データが格納されている第2コンテンツ、を示す情報に基づき、前記第2コンテンツの第1データを前記第1ストレージに移動させる
    処理を実行させることを特徴とする、請求項9記載の制御プログラム。
JP2015161594A 2015-08-19 2015-08-19 制御装置、ストレージシステム、及び制御プログラム Active JP6582721B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015161594A JP6582721B2 (ja) 2015-08-19 2015-08-19 制御装置、ストレージシステム、及び制御プログラム
US15/226,431 US10318212B2 (en) 2015-08-19 2016-08-02 Control device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015161594A JP6582721B2 (ja) 2015-08-19 2015-08-19 制御装置、ストレージシステム、及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2017041040A JP2017041040A (ja) 2017-02-23
JP6582721B2 true JP6582721B2 (ja) 2019-10-02

Family

ID=58158647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015161594A Active JP6582721B2 (ja) 2015-08-19 2015-08-19 制御装置、ストレージシステム、及び制御プログラム

Country Status (2)

Country Link
US (1) US10318212B2 (ja)
JP (1) JP6582721B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868704B2 (en) * 2017-06-30 2024-01-09 Infinera Corporation Method apparatus, and computer readable medium for defining and encoding packets for data exchange over a network
WO2019111303A1 (ja) * 2017-12-04 2019-06-13 株式会社東陽テクニカ データ書き込み装置及び方法
US11113214B2 (en) * 2019-08-23 2021-09-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Controlling data transfers between a tier of persistent data storage and processor memory with a high-speed fabric controller
KR20230095692A (ko) * 2021-12-22 2023-06-29 삼성전자주식회사 메모리 프로세서 제어 방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423046A (en) * 1992-12-17 1995-06-06 International Business Machines Corporation High capacity data storage system using disk array
JP4325817B2 (ja) * 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
JP2002304353A (ja) 2001-04-05 2002-10-18 Sony Corp 情報提供装置、通信システムおよび通信方法
US7177883B2 (en) 2004-07-15 2007-02-13 Hitachi, Ltd. Method and apparatus for hierarchical storage management based on data value and user interest
JP2008112293A (ja) 2006-10-30 2008-05-15 Hitachi Ltd 管理計算機及び電源制御方法並びに計算機システム
JP2008276626A (ja) * 2007-05-02 2008-11-13 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
JP2009193628A (ja) * 2008-02-13 2009-08-27 Victor Co Of Japan Ltd コンテンツ記録・再生装置
KR101459520B1 (ko) * 2008-07-16 2014-11-07 시게이트 테크놀로지 엘엘씨 기입 속도를 향상시킬 수 있는 데이터 저장 장치, 및 이를포함하는 데이터 저장 시스템
JP5342888B2 (ja) 2009-01-30 2013-11-13 株式会社日立製作所 ファイルサーバおよびファイル管理方法
US9703500B2 (en) * 2012-04-25 2017-07-11 International Business Machines Corporation Reducing power consumption by migration of data within a tiered storage system
US9323471B2 (en) * 2014-01-28 2016-04-26 International Business Machines Corporation Management of extent migration on tiered storage

Also Published As

Publication number Publication date
US20170052738A1 (en) 2017-02-23
US10318212B2 (en) 2019-06-11
JP2017041040A (ja) 2017-02-23

Similar Documents

Publication Publication Date Title
CN106354425B (zh) 基于数据属性的数据布局的方法和系统
JP4975396B2 (ja) 記憶制御装置及び記憶制御方法
EP3617867B1 (en) Fragment management method and fragment management apparatus
US9658779B2 (en) Computer system and control method for computer system
US8046537B2 (en) Virtualization engine and method, system, and computer program product for managing the storage of data
US7941625B2 (en) Volume selection method and information processing system
US9436571B2 (en) Estimating data storage device lifespan
US20150331744A1 (en) Data device grouping across multiple-data-storage-devices enclosures for data reconstruction
JP2017021805A (ja) 不揮発性メモリ装置内でデータ属性基盤データ配置を利用可能にするインターフェイス提供方法及びコンピュータ装置
US8521692B1 (en) Storage system and method for controlling storage system
US9424156B2 (en) Identifying a potential failure event for a data storage device
KR20170120489A (ko) 통지와 함께 백그라운드 활동을 효율적으로 관리하는 ssd를 위한 메카니즘
US8849966B2 (en) Server image capacity optimization
JP2007156815A (ja) データマイグレーション方法及びシステム
JP6582721B2 (ja) 制御装置、ストレージシステム、及び制御プログラム
JP2007058637A (ja) ストレージシステム、管理計算機及びデータ移動方法
WO2018171296A1 (zh) 一种文件合并方法及控制器
US9557938B2 (en) Data retrieval based on storage device activation schedules
US8447947B2 (en) Method and interface for allocating storage capacities to plural pools
CN108475201A (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
JP6060276B2 (ja) 監視レコード管理方法及びデバイス
US9766677B2 (en) Cascading startup power draws of enclosures across a network
US9430149B2 (en) Pipeline planning for low latency storage system
JP2017167706A (ja) 情報処理装置、ストレージシステム、情報処理プログラム及び情報処理方法
US11249666B2 (en) Storage control apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190418

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190819

R150 Certificate of patent or registration of utility model

Ref document number: 6582721

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150