JP2016095553A - ストレージシステム、ストレージ装置、及びステージング方法 - Google Patents

ストレージシステム、ストレージ装置、及びステージング方法 Download PDF

Info

Publication number
JP2016095553A
JP2016095553A JP2014229522A JP2014229522A JP2016095553A JP 2016095553 A JP2016095553 A JP 2016095553A JP 2014229522 A JP2014229522 A JP 2014229522A JP 2014229522 A JP2014229522 A JP 2014229522A JP 2016095553 A JP2016095553 A JP 2016095553A
Authority
JP
Japan
Prior art keywords
data
area
trigger
cache
predetermined
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.)
Granted
Application number
JP2014229522A
Other languages
English (en)
Other versions
JP6504337B2 (ja
Inventor
貴之 福谷
Takayuki Fukutani
貴之 福谷
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014229522A priority Critical patent/JP6504337B2/ja
Publication of JP2016095553A publication Critical patent/JP2016095553A/ja
Application granted granted Critical
Publication of JP6504337B2 publication Critical patent/JP6504337B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】ストレージシステムで集中して生じる演算処理を効率よく処理する手法を提供する。
【解決手段】各種データを読み出す所定要求を送出するホストと、ホストからの各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、所定データを含む各種データを記憶したストレージ領域と、を有するストレージと、を有するストレージシステムに、1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対してキャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する手段と、各種トリガーの発生時及び/又は直前に、対応したロードデータを待機用領域からキャッシュ領域に展開する手段と、を設ける。
【選択図】図2

Description

本発明は、ストレージシステムに関し、特に、データを記憶するストレージ領域及びキャッシュ領域を有するストレージシステム、ストレージ装置、及びステージング方法に関する。
近年、コンピュータシステムの有する構成が大きく変貌してきている。
多くのコンピュータがネットワークで接続され、ストレージが大容量化し、仮想化技術の普及も進んでいる。例えば、クラウド上のサーバを構築するデータセンターで、仮想化技術を用いてユーザに仮想OS(Operating System)やプログラムを提供したり、ユーザの個人データを管理することも行われている。また、シンクライアントシステムなどで扱う処理演算量やデータ量が飛躍的に増大している。
サービス提供者は、その時代毎に適切なスケールのコンピュータシステム設備を準備する必要がある。設備量が不足がちになれば、ユーザの利便性が大きく阻害される。他方、余剰設備を有した場合、それはまたユーザが余分なコストを負担することに繋がる。
昨今、様々な要因があるもののCPU(Central Processing Unit)やストレージデバイスの演算量や記憶量当たりの単価が低減している。今後も低減が続くことが期待される。一方で、サービス提供者はその時期毎に設備の適切なスケーリングを行うものの、ピークに合わせて設備を準備することでは、常時的に余剰設備を有することになる。例えば、以下の事例のようなピークを基準に設備を準備することは困難である。
1つの事例は、1ユーザによるピークである。仮想PC(Personal Computer)(仮想ディスクトップ)をユーザ(ユーザ端末)に提供するシンクライアントシステムでは、サーバにユーザがログインした際に多量の演算及びデータ転送がサーバシステム内に発生する。換言すれば、ユーザのログインをトリガーにサーバに高負荷状態が発生する。
また、別の事例は、複数ユーザによるピークである。会社の始業時間近辺では、多くのユーザが同時的にサーバにログインする。このことで、膨大な演算及びデータ転送がサーバシステム内に発生する。換言すれば、ある時間を迎えたことをトリガーにサーバに高負荷状態が発生する。
クライアント端末とサーバとのデータ転送量(通信量)にも気配りが必要であるものの、サーバシステム内でのデータ転送量もシステム構築上の気配りが必要である。
また、同様な問題は、シンクライアントシステムではない、データセンターや、社内サーバなどでも生じる。多数の高負荷状態を生じさせる要求を同時的に受けた際に、データセンター内や社内サーバ内などでのデータ転送量に注目しておく必要がある。例えば、同一物理ディスクにあるデータ群に多くのPCから取得要求を受けた場合に、ディスクを管理している制御系や転送系に高負荷状態が発生する。
これらの問題は、ログインストームやブートストームなどのワードで問題として認知されている。また、クライアント群の同時的なウイルスチェックやアップデートでもデータ処理のストームが生じることがある。
現状のストレージシステムでは、ストレージ装置からの読み出し速度や書き込み速度が他の処理の遅延要因を生じさせる一つの要因と云える。すなわち、ストレージ装置がシステムのボトルネックとなる事例が少なくない。
本発明に関連する先行技術としては、例えば、特許文献1や特許文献2に記載されたステージング手法が挙げられる。
特許文献1では、多くのユーザを抱えるシステムでの各ユーザのログインに備えて、各ユーザのログイン時刻を入場ゲートを各々のユーザが通過した時刻から予測処理して、各ユーザのログイン時刻よりも前に 該当ユーザのログイン用情報を予めキャッシュにステージングする技術を開示している。
特許文献2には、特定の時間帯にホストコンピュータからアクセスされる所定データを予め設定し、その所定データを磁気ディスク装置からキャッシュメモリに予め移動して、所定データへのアクセス時にキャッシュメモリから呼び出す技術が開示されている。
特開2009−93512号公報 特開平11−259363号公報
ストレージシステムで生じるデータ処理の集中、すなわちストームを、ストレージ装置の読み出し速度を向上して、問題を改善する既存手法について、更なる改善を図る。
以下に、既存手法の問題を整理する。
1.ストレージ装置の適切なサイジングによる十分なスペック確保
対策:運用で想定される一時的な負荷に対して事前に十分なスペック(演算リソース、ストレージ量、転送速度確保、など)にサイジングを実行する。
問題:ログインストームのような短時間に発生する負荷への対応のために、高価なメモリやSSD(Solid State Disk)が多量に必要となりコストがかかる。
2.特許文献1に記載した手法(ゲート通過タイミングに基づいた時刻予測によるキャッシュへのログイン用情報のステージング)
対策:管理サーバが、入場ゲートを各々のユーザが通過した時刻から各ユーザのログイン時刻を予測処理して、各ユーザのログイン時刻よりも前に 該当ユーザのログイン用情報をキャッシュメモリにステージングする。
問題:同時刻にログインするユーザ数が多い場合、ログイン用情報がステージングされるキャッシュメモリの容量が多量に必要になる。また、ログイン用情報によるキャッシュメモリの占有問題や、多量なログイン用情報ではキャッシュメモリから溢れる問題も生じ得る。
3.ストレージ装置内での階層化によるストレージ領域の高速化
対策:階層化した 高性能であるSSDと低コストであるHDD(Hard Disk Drive)の間で所要データを逐次移動する。
問題:一時的に高負荷状態を発生させる要求に対応したことによって、SSDとHDDとの間でデータ移動が頻繁に実行される。その結果、ストレージ装置内にデータ転送負荷が多量に発生する。
4.ストレージ装置の2次キャッシュによる高速化
対策:SSDや半導体メモリをストレージ装置の二次キャッシュとして用いる。
問題:ログインなどで1度きりのようなディスクアクセスが多いケースでは、二次キャッシュに格納されたキャッシュデータにヒットする前に上書きされる。
特許文献1や特許文献2で示されている先行技術も、ストレージ装置の読み出し速度をキャッシュへのステージングで向上させて、問題の改善を図っている。
他方で、各手法の機能を適切に発揮するにあたり、様々な要求事項がある。例えば、特許文献1で開示した手法では、ユーザが予め特定のゲートを通過する必要がある。
特許文献2の開示された手法では、予めステージングする時刻と所定データを人為的に設定する必要がある。
このように、様々な要求事項を満たさないかぎり、各手法の機能が有効に発揮されない。また、ホストなどから受けた要求に対して、応答として引き出されるデータの適切度を管理者が知ることが困難なこともある。
本発明は、上記課題に鑑みて成されたものであり、システム内で生じるデータ処理のストームをコスト及び性能観点でより効率よく処理するストレージシステム、ストレージ装置、ステージング方法の提供を目的とする。
本発明に係るストレージシステムは、各種データを読み出す所定要求を送出するホストと、前記ホストからの各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、前記所定データを含む各種データを記憶したストレージ領域と、を有するストレージと、1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する手段と、各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する手段と、を含むことを特徴とする。
また、本発明に係るストレージ装置は、各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、前記所定データを含む各種データを記憶したストレージ領域と、1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する手段と、各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する手段と、を有することを特徴とする。
本発明に係るストレージ装置内でのステージング方法は、各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、前記所定データを含む各種データを記憶したストレージ領域と、を有するストレージ装置で、1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する工程と、各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する工程と、を有することを特徴とする。
本発明に係るプログラムは、各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、前記所定データを含む各種データを記憶したストレージ領域と、を有するストレージ装置の制御部を、1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する待機用領域管理部と、各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開するキャッシュ展開管理部、として動作させることを特徴とする。
本発明によれば、システム内で生じるデータ処理のストームをコスト及び性能観点でより効率よく処理するストレージシステム、ストレージ装置、ステージング方法を提供できる。
一実施形態のストレージシステムを示すブロック図である。 一実施形態のストレージ装置を示すブロック図である。 一実施形態のストレージデバイスの構成概念例を示す説明図である。 一構成例のストレージシステムを示すブロック図である。 キャッシュタグテーブル例を示す説明図である。 キャッシュロード用テーブル例を示す説明図である。 ステージングトリガテーブル例を示す説明図である。 ステージング管理手段の処理動作例を示したフローチャートである。 ファイル/ブロック管理手段の処理動作例を示したフローチャートである。 ステージングボリューム制御手段の処理動作例を示したフローチャートである。 キャッシュテーブル変更手段の処理動作例を示したフローチャートである。 トリガ登録手段を示すフローチャートの処理動作例を示したフローチャートである。 別の構成例のストレージシステムを示すブロック図である。 キャッシュタグテーブル例を示す説明図である。 キャッシュロード用テーブル例を示す説明図である。 ユーザ情報管理テーブル例を示す説明図である。 仮想マシン管理テーブル例を示す説明図である。 ステージングトリガテーブル例を示す説明図である。 ログイン/ログアウト管理手段の処理動作例を示したフローチャートである。 仮想マシン情報管理手段の処理動作例を示したフローチャートである。
本発明の実施形態を図面を参照して説明する。
図1及び図2は、実施形態のストレージシステムの構成例を示すブロック図である。図3は、実施形態のストレージデバイスの構成概念例を示す説明図である。
ストレージシステム1は、ホスト装置2とストレージ装置3を含んでいる。ホスト装置2とストレージ装置3は、通信可能に接続されている。
ホスト装置2は、様々な用途に合わせて構築されたサービスを提供する主体の情報処理装置である。ホスト装置2は複数の情報処理装置群であってもよい。また、ストレージ装置3に各種データを読み出したり書き込んだりする要求を送出する。また、ストレージ装置3の管理機能も有する。
ストレージ装置3は、インターフェイス部10、キャッシュデバイス20、ストレージデバイス30、読み出し待機用領域管理部40、キャッシュ展開管理部50を含み構成されている。なお、読み出し待機用領域管理部40及びキャッシュ展開管理部50の一方又は両方は、必ずしもストレージ装置3内に設ける必要はない。ストレージ装置3に格納された各種データの管理や、ステージング管理、ファイルシステム、ボリューム管理などが可能であれば、例えば、ホスト側に設けてもよい。
インターフェイス部10は、ホスト装置2とのインターフェイスである。インターフェイス部10は、ホスト装置2からの要求を受けて、ホスト装置2とキャッシュデバイス20又はストレージデバイス30との間のデータ伝送を受け持つコントロール手段を装置態様に合わせて適宜含む。
キャッシュデバイス20は、キャッシュ領域として動作するメモリ装置やSSDであり、ストレージデバイス30よりも高速I/O特性を有する記憶装置である。キャッシュデバイス20は、必要に応じて階層構造を採用するとよい。
ストレージデバイス30は、ストレージ領域としてHDDなどの大容量記憶媒体や大容量記憶媒体の組み合わせで構成され、多量のデータを記憶する。また、ストレージデバイス30は読み出し待機用領域を含む。
読み出し待機用領域管理部40は、1ないし複数の所定要求が発生する条件を各々のトリガーとして管理する。また、待機用領域管理部40は、それぞれのトリガーに対してキャッシュデバイス20に予め展開する所定データ群を、トリガーごとに各々のロードデータ(ステージング用データ)としてストレージデバイス30の読み出し待機用領域に記録する。換言すれば、トリガーに紐付けたロードデータ群を読み出し待機用領域に事前に準備する。
読み出し待機用領域は、読み出し待機用論理領域と読み出し待機用物理領域の両方がストレージ装置3がホスト等に利用させるデータ格納領域と別に準備されていることが望ましい。
また、読み出し待機用領域管理部40は、トリガーごとのロードデータの内容を、各種トリガーに関連付けて収集した管理用情報(イベントや履歴)と紐付けて管理し、読み出し待機用領域のロードデータを管理用情報に基づいて構築し直すことを逐次実行してもよい。
また、論理ボリュームのブロック単位毎に管理可能なシステム構成を採用した場合、ロードデータの再構築として、以下の処理を実行することが望ましい。
読み出し待機用領域管理部40は、ロードデータの再構築として、各トリガーのロードデータ内で、キャッシュ領域への展開が不要と判断されたガベージデータ(ダーティデータ)のブロックを抜き取ってボリュームを整列し直す。この処理によって、トリガーに対応している要求を受け付けた際に、キャッシュ又はディスクへのシーケンシャルアクセス時のスループットが向上する。特にキャッシュ領域をSSDの記憶領域で確保する際に、SSDのデータブロックのリード/ライト特性から有益に働く。なお、ガベージデータを削除するのみでも、必要キャッシュ領域の低減に寄与する。
キャッシュ展開管理部50は、各種トリガーの発生時やその直前に、対応したロードデータを読み出し待機用論理領域からキャッシュ領域に展開する。キャッシュ領域が階層構造を採用した場合、ステージングされるロードデータ間での優先度の順位に従い、個々のロードデータのキャッシュ先となるキャッシュ素子を選定してもよい。1次キャッシュにステージングするロードデータは、2次キャッシュにステージングするロードデータよりも優先度が高いデータが望ましい。
例えば、過去のヒット率を、予めロードデータやロードデータ内に含まれるデータに紐付けて、高いヒット率のロードデータに高いステージング優先度を与えれば1次キャッシュ側に有益なロードデータを優先してステージングできる。
なお、ステージング優先度は、人為的に定めてもよいし、トリガーに関連付けて収集した管理用情報やデータ量(データブロック個数)を用いて値を算出して比べてもよい。また、ロードデータ内に含まれる個々のデータに紐付けてもよい。また、トリガー条件の種別を係数として用いてもよい。
なお、ストレージ領域に構築される読み出し待機用論理領域は、ユーザやホストからアクセス不能に設定しておくことも有益と考える。例えば、ボリュームレベルでアクセス不能を実現してもよいし、他のレベル(ファイルやデータブロック、ストレージデバイス、など)でアクセス不能を実現してもよい。
本実施形態のストレージシステム1は、概略以下のように動作する。なお、公知の処理動作について記載を簡略化もしくは省略する。
準備工程:
ストレージシステム1は、準備工程として、読み出し待機用領域管理部40を用いて、想定される高負荷状態の要因となる要求や、一まとまりの読み出し要求が生じる条件をトリガー群として管理する。個々のトリガーは、ストレージシステム1が自ら高負荷状態を検出した際に、その要因となった要求や条件を抽出処理してもよいし、ホスト装置2などから登録されてもよい。例えば、ホスト装置2が仮想ディスクトップを提供するサーバであった場合、クライアント端末からのログイン要求やログアウト要求がトリガーの条件に設定できる。また、複数のログイン要求をグルーピングして、所定数のログイン要求が発生したことや時間帯などを1つのトリガーの条件に設定することも可能である。このように複数の要求を一まとめにすることで、ステージングを実行する際のデータ粒度や頻度を調整できる。なお、トリガーの条件には、サービス提供環境を設定できる。例えば、仮想ディスクトップを提供するサービス環境がホストに構築されていることや、仮想ディスクトップの提供を受けるクライアント端末がネットワークに接続されていることを条件に加えてもよい。
また、読み出し待機用領域管理部40は、それぞれのトリガーに対してキャッシュデバイス20に展開する所定データ群を、トリガーごとに各々のロードデータとしてストレージデバイス30に準備された読み出し待機用論理領域に記録する。
ステージング工程:
ストレージシステム1は、ステージング工程として、各種トリガー条件の発生を監視する。
ストレージシステム1は、ステージング工程として、トリガーに設定した条件が生じた際もしくはその直前に、キャッシュ展開管理部50が、対応したロードデータを読み出し待機用論理領域からキャッシュ領域に展開する。
要求応答工程:
その後、ストレージシステム1は、各種要求によって発生するホスト装置2とストレージ装置3との間でのデータ転送や、ストレージ装置3内でのデータ読み出し処理などを、要求事項に沿って実行する。この際、ストレージシステム1は、あらかじめ、ストレージ装置3のキャッシュ領域に必要となるデータが格納されているため、効率的に要求を処理し終えることになる。
この処理アルゴリズムによれば、キャッシュ領域に展開されたデータのヒット率が高まる。結果的に、性能とコストの関係性が改善される。
加えて、読み出し待機用領域管理部40によって、トリガーごとのロードデータの内容を逐次構築し直すことを実行すれば、更なるヒット率の向上が期待できる。
また、読み出し待機用領域管理部40によって、論理ボリュームのブロック単位毎にロードデータ内のガベージデータを除去すれば、キャッシュ領域に展開するトリガー毎のロードデータ量の削減が図れる。結果、キャッシュ領域に展開できるロードデータ数や量を増やしたり、キャッシュを無駄に消費しない構成を得られる。
また、読み出し待機用領域管理部40によって、ガベージデータを除去後に、ボジューム内で整列し直すことを実行すれば、キャッシュ又はディスクへのシーケンシャルアクセス時に連続読み出し行われる可能性が向上する。結果、スループットが向上する。
例えば、ホスト2が仮想ディスクトップを多くのユーザに提供するシンクライアントサーバであった場合、トリガーとして時間帯を採用することができる。このシンクライアントシステムでは、任意間隔で区分した時間帯(各々の時刻)ごとに、ログインが予想される1ないし複数のユーザ用のログインデータを、ロードファイルに構築して、読み出し待機用論理領域に予め格納する。その後、ストレージ装置3は、時間経過と共に、適切なロードファイル(=適切なログインデータ)をトリガー条件として設定されている時刻に到達した時点で、適宜キャッシュ領域に展開する。このことで、1ないし複数のユーザがログインすることによって生じるピークの影響を軽減できる。
すなわち、このようにストレージシステム1を構成及び動作させることで、システム内で生じるデータ処理のストームをコスト及び性能観点でより効率よく処理できる。なお、上記説明では、ストレージ領域及びキャッシュ領域からの読み出し機能について説明したが、読み出し能力が向上することで、演算部の待ち時間が削減されたり、書き込みに割ける時間やキャッシュ量が増えたりする。読み出し能力の向上は、結果的に演算能力や書き込み能力にも良好に働く。
次に、ストレージシステムの構成例を2つ説明する。
図4は、ストレージシステムの構成例を示すブロック図である。図5ないし図7は、各テーブル情報を例示する説明図である。
本実施例は、ストレージ装置100と業務ホスト群300と管理ホスト400とでストレージシステムを構成する。
ストレージ装置100は、インターフェイス手段、キャッシュ領域、ストレージ領域と共に、読み出し待機用領域管理手段及びキャッシュ展開管理手段を有する。本構成例では、読み出し待機用領域管理手段及びキャッシュ展開管理手段として、ステージング管理手段200、ファイル/ブロック管理手段210、ステージングボリューム制御手段230、キャッシュテーブル変更手段240を有する。
キャッシュ領域は、キャッシュモジュール110とL2キャッシュプール120とで階層構造方式で動作する。本構成性では、二次キャッシュとしてSSDディスク群130を用いたL2キャッシュプール120を利用する。
ストレージ領域には、物理領域と論理領域それぞれに、読み出し待機用領域が準備されている。この読み出し待機用領域は、図示した事前ステージング用ディスクプール160(物理領域)と事前ステージング用ボリューム群150(論理領域)である。また、事前ステージング用ボリューム群150は、業務ホスト群には見せない特殊なボリュームとして構築する。
また、ストレージ領域には、業務ホスト300が利用するための複数の論理ディスク群140が構築されている。
本構成例では、管理手段は各種テーブル(キャッシュタグテーブル260、キャッシュロード用テーブル270、ステージングトリガテーブル420)を用いてその機能を実現する。
キャッシュタグテーブル260は、キャッシュに展開されたロードデータの配置を示したテーブル情報である。
キャッシュロード用テーブル270は、論理ボリュームに記録されたロードデータの配置を示したテーブル情報である。
ステージングトリガテーブル420は、各々のトリガーを管理するためのテーブル情報である。
ステージング管理手段200は、現状とステージングトリガテーブル420に記録されたトリガー条件を定期的に比較して、条件を満たすと、キャッシュテーブル変更手段240に、該当ロードデータのステージングを要求する。
ファイル/ブロック管理手段210は、トリガー条件に該当するI/O特性や、トリガー条件に合致したとの通知、システムの内部状態(例えば時間帯や任意ホストの起動など)を監視する。また、ファイル/ブロック管理手段210は、トリガー条件が満たされた際に、論理ディスク群140に記録されているロードデータとなるデータブロックを識別して事前ステージング用ボリューム群150にコピーする。なお、データブロックの識別は、ファイルとブロックをマッピングして実施すればよい。事前ステージング用ボリューム群150には、トリガー毎にアドレスとブロック配置が整然と並べて記録されることが望ましい。事前ステージング用ボリューム群150に整然と並べて記録することで、事前ステージング用ディスクプール160の連続記録領域に整然と並べて記録される。結果、トリガー毎のロードデータにアクセスする際に、シーケンシャルリードで連続的に効率よく記録データが読み出せることになる。また、ブロック単位ではなく、ファイル単位でデータを扱ってもよい。
ステージングボリューム制御手段230は、事前ステージング用ボリューム群150内で、データが更新されキャッシュにステージングした際に、ダーティデータとなりうる不要なデータを削除する。また、ステージングボリューム制御手段230は、事前ステージング用ボリューム群150内でシーケンシャルアクセスを可能にするために削除された領域の前詰め処理を実施する。
キャッシュテーブル変更手段240は、I/O特性を元に作成されて、事前ステージング用ボリューム群150に記録されているトリガー毎のロードデータを、キャッシュおよび二次キャッシュにステージングする。
業務ホスト群300は、ストレージ領域のうちアクセスが可能な論理ディスク群140に対するI/O発行機能を有する。
管理ホスト400は、運用管理者500がステージングトリガテーブル420に設定した運用ポリシーをストレージ装置100に設定するトリガ登録手段410を有する。ストレージ装置100へのステージングトリガテーブル420の登録は、どのように行ってもよい。
図5は、キャッシュタグテーブル260について示した説明図である。キャッシュタグテーブル260は、データ格納アドレス、ブロック配置を一覧にしたテーブルである。キャッシュモジュールとSSDに対してキャッシュタグテーブルが作成される。
図6は、キャッシュロード用テーブル270について示した説明図である。キャッシュロード用テーブル270は、事前ステージング用ボリューム群150上の利用ブロック配置、論理ディスク番号、論理ディスク群140上の利用ブロック配置、有効/無効フラグを一覧にしたテーブルである。なお、キャッシュロード用のテーブルについては、ブロックレベルでマッピングすることも、ファイルレベルでマッピングすることも可能とする。
図7は、ステージングトリガテーブル420を示した説明図である。ステージングトリガテーブル420は、ストレージ装置100に管理ホスト400上で設定したポリシーを登録する。ステージングトリガテーブル420は、ステージング時間、ファイル蓄積開始時刻、ファイル蓄積時間を一覧にしたテーブルである。この例では、時刻のトリガーを示しているが、I/O特性や、運用内でのイベントドリブンでトリガーを設定してもよい。また、時刻のトリガー、I/O特性のトリガー、イベントドリブンのトリガーなど、異なる設定条件を含むトリガーが混在してもよい。また、1つのトリガーに時刻とI/O特性のように異なる条件要因を含めてもよい。
図8ないし図12は、ステージング管理手段200、ファイル/ブロック管理手段210、ステージングボリューム制御手段230、キャッシュテーブル変更手段240の処理動作を示したフローチャートである。
図8は、ステージング管理手段200の動作を表したフローチャートである。
ステージング管理手段200は、運用中に定期的に動作する手段である。動作を開始したステージング管理手段200はステージングトリガテーブル420を逐次参照する(S101)。
次に、ステージング管理手段200は、トリガー条件を満たしているか確認する(S102)。もし条件を満たしていた場合、ステージング管理手段200は、キャッシュテーブル変更手段240に当該ロードデータのステージングを要求する(S103)。一方、もし条件を満たしていない場合、ステージング管理手段200は最初に戻る。
図9は、ファイル/ブロック管理手段210の動作を表したフローチャートである。
ファイル/ブロック管理手段210は、トリガーに該当する条件(I/Oなど)を検出した場合に動作を開始する(S201)。
ファイル/ブロック管理手段210は、論理ディスク群140のブロックと所要ファイルとをマッピングする(S202)。
次に、ファイル/ブロック管理手段210は、論理ディスク群140から事前ステージング用ボリューム群150にマッピングで識別された該当ブロック群をコピーする(S203)。
該当ブロック群をコピーする際に、ファイル/ブロック管理手段210は、本データに該当するデータがすでに事前ステージング用ボリューム群150に存在しているかどうかを確認する(S204)。
もし、データが存在していない場合、ファイル/ブロック管理手段210は、有効データとして、キャッシュロード用テーブル270を更新する(S205)。
一方、もしデータが存在している場合、ファイル/ブロック管理手段210は、キャッシュロード用テーブル270にある古いデータに対して、無効なデータとしてフラグを立てる(S206)。これは、該当データが更新されたと判断できるため、ステージングするデータとして使用しないためである。
図10は、ステージングボリューム制御手段230の動作を表したフローチャートである。
ステージングボリューム制御手段230は、システムの運用中に定期的に動作する。
ステージングボリューム制御手段230は、キャッシュロード用テーブル270を参照する(S301)。
次にステージングボリューム制御手段230は、有効/無効フラグが無効になっているデータの有無を確認する(S302)。無効に設定されているデータがない場合、ステージングボリューム制御手段230は何もせずに処理を完了する。
無効に設定されているデータがあった場合、ステージングボリューム制御手段230は、事前ステージング用ボリューム群150から該当データを削除すると共に削除したデータ部分を前詰めする(S303)。このことでシーケンシャルなデータ配置を確保する。
その後、ステージングボリューム制御手段230は、キャッシュロード用テーブル270を更新して処理を完了する(S304)。
図11は、キャッシュテーブル変更手段240の動作を表したフローチャートである。
キャッシュテーブル変更手段240は、ステージング管理手段200からのステージング要求を受け動作を開始する。
キャッシュテーブル変更手段240は、キャッシュロード用テーブル270を参照し、ステージングするロードデータを特定する(S401)。
キャッシュテーブル変更手段240は、ステージングするロードデータをキャッシュ領域(キャッシュモジュール110およびL2キャッシュプール120)にステージングする(S402)。
ステージングが完了したキャッシュテーブル変更手段240は、キャッシュタグテーブル260を更新する(S403)。
図12は、トリガ登録手段410の動作を表したフローチャートである。
トリガ登録手段410は、運用管理者500がステージングトリガテーブル420を登録/更新するタイミングで動作する。
トリガ登録手段410は、入力されたポリシー(トリガー条件等)をステージングトリガテーブル420に登録/更新する(S501)。
その後、トリガ登録手段410は、ストレージ装置100に新たなステージングトリガテーブル420を送付して、トリガーポリシーを登録/更新する(S502)。
以上のようにストレージシステムの管理手段を動作させることで、一時的な高負荷を回避するべくサイジング時に確保する 高価なSSDやメモリの量を低減できる。
その理由は、トリガーに従って都度適切にステージングが行われるためである。これは、トリガーを用いずにステージングする方式に比べ、ステージングされたデータの適切度が高くなり、結果ヒット率が向上する。同等の性能を確保する場合に、高価なSSDやメモリの量を低減できる。
また、ステージングしたいデータ量が多量でキャッシュメモリに入りきらないことが有っても、ストレージ領域から該当データを読み出す速度が既存方式よりも早くなる。
別の観点では、同等のコストであれば、本方式は、トリガーを用いずにステージングする方式に比べ、性能が向上している。
また、I/O特性などのトリガーに従って、シーケンシャルなアクセスが確保されたデータをストレージ領域及びキャッシュ領域に準備することが可能になる。このことで、低コストで性能向上を図れる。
また、キャッシュ領域に階層構造を採用していた場合には、1次キャッシュで賄いきれないデータを、二次キャッシュ(SSD)にステージジングできる。さらには、二次キャッシュでも賄えない場合であってディスクデバイスからログインデータを読み込む場合でも、事前ステージング用ボリューム群からシーケンシャルにデータを読み出せるため、ログイン処理の集中による影響を軽減できる。
次に別の構成例を説明する。なお、上記構成例と同様の部分は説明を簡略化する。本構成例は、ログインストームの影響を低減する。多くのログインストームでは、同時刻に大多数のユーザがログインすることで、プロファイルのコピーによる多量のWriteや、ログイン後のウィルススキャンによる多量のReadにも要因がある。本実施例では、これら集中するデータ処理の負荷を効率的に処理する。
図13は、別のストレージシステムの構成例を示すブロック図である。
図14ないし図18は、各テーブル情報を例示する説明図である。
本実施例は、業務ホスト群300内にイベントを通知する手段を有する。
ストレージ装置100は、インターフェイス手段、キャッシュ領域、ストレージ領域と共に、待機用領域管理手段及びキャッシュ展開管理手段を有する。本構成例では、待機用領域管理手段及びキャッシュ展開管理手段として、ステージング管理手段200、ファイル/ブロック管理手段210、ステージングボリューム制御手段230、キャッシュテーブル変更手段240に加え、ログイン/ログアウト管理手段250を有する。
キャッシュ領域及びストレージ領域は、先の構成例と同様である。
本構成例では、管理手段はキャッシュタグテーブル260、キャッシュロード用テーブル270、ステージングトリガテーブル420に加え、ユーザ情報管理テーブル280を用いる。
キャッシュタグテーブル260は、キャッシュに展開されたロードデータの配置を示したテーブル情報である。
キャッシュロード用テーブル270は、論理ボリュームに記録されたロードデータの配置を示したテーブル情報である。本構成例では、ユーザごとのログイン用データのデータブロックを管理するテーブルとなる。
ユーザ情報管理テーブル280は、各々のユーザ(仮想マシン)が使用するストレージ領域を管理するためのテーブル情報である。本構成例では、ユーザごとに管理用情報が記録される。
ステージングトリガテーブル420は、各々のトリガーを管理するためのテーブル情報である。
ステージング管理手段200、ファイル/ブロック管理手段210、ステージングボリューム制御手段230、キャッシュテーブル変更手段240は、先の構成例と同様である。
本構成では、ステージングボリューム制御手段230では、時刻ごとに用意された事前ステージングボリューム群150内のロードデータに含まれる各々のユーザログイン用情報を構成するデータブロックを、該当ユーザのログイン履歴及び属性に基づいて逐次的に整理する。例えば、ユーザ情報管理テーブルを参照して、該当ユーザのログイン回数が閾値を下回った際や、ユーザIDが削除された場合、ステージング不要フラグが設定された場合などに、不要となったデータ(データブロック)の削除と前詰めを実施する。
キャッシュテーブル変更手段240では、各々のユーザがログインするだろう時刻の直前に、ロードデータをキャッシュ領域にステージングする。
ログイン/ログアウト管理手段250は、ログイン完了時にユーザがログインした時刻をユーザ情報管理テーブル280に記録する。この際、ユーザ情報管理テーブル280に蓄積された過去のログイン時刻と今回のログイン時刻に基づいて、ログインする時間帯の直前の時刻を次のステージング時刻として設定する。
この設定では、ステージングトリガテーブル420に設定されている各種ポリシーに従って、ユーザがログインするだろうタイミングに間に合い、且つ必要以上に長時間キャッシュしないように1ないし複数のログイン時刻候補が導出される。例えば、あるユーザは、朝のある時間帯と、昼のある時間帯が、ログインした回数が閾値以上であることとして抽出される。
また、ログイン/ログアウト管理手段250は、ログアウト時に仮想マシン管理テーブル320に記載された情報から、ファイル/ブロック管理手段210に事前ステージング用ボリューム群150の更新を要求する。
業務ホスト群300は、各ユーザに仮想マシン群を提供する。各仮想マシンは、ストレージ領域にアクセス可能な領域(論理ディスク群140の領域)を設定されている。また、業務ホスト群300は、仮想マシン情報管理手段310と仮想マシン管理テーブル320を有する。仮想マシン情報管理手段310は、各仮想マシンのログイン完了時にユーザIDとログイン時刻を、ログアウト時に仮想マシン管理テーブル320の情報をログイン/ログアウト管理手段250に通知する。なお、各々の仮想マシンが直接的にログイン/ログアウト管理手段250に各種情報を通知する構成にしてもよい。
管理ホスト400は、運用管理者500がステージングトリガテーブル420に設定した運用ポリシーをストレージ装置100に設定するトリガ登録手段410を有する。ストレージ装置100へのステージングトリガテーブル420の登録は、どのように行ってもよい。
図14及び図15は、キャッシュタグテーブル260及びキャッシュロード用テーブル270を示した説明図である。
図16は、ユーザ情報管理テーブル280を示した説明図である。本構成例では、ユーザ情報管理テーブル280は、ストレージ装置100が保有し、ユーザID、ログインステータス、ステージング時間、ステージングボリューム利用ブロック配置、過去のログイン時間情報を一覧にしたテーブルである。
図17は、仮想マシン管理テーブル320を示した説明図である。本構成例では、仮想マシン管理テーブル320は、ユーザID(仮想マシン)毎に、仮想マシン配置アドレスを一覧にしたテーブルである。
図18は、ステージングトリガテーブル420を示した説明図である。本構成例では、ステージングトリガテーブル420は、ステージング時間、ステージングする間隔、過去のログイン時刻蓄積回数、ログイン回数の閾値を一覧にしたテーブルである。
ステージング管理手段200、ファイル/ブロック管理手段210、ステージングボリューム制御手段230、キャッシュテーブル変更手段240の処理動作は、先に示したフローチャートとほぼ同じである。なお、本実施例では各処理の途中で、ユーザ情報管理テーブル280が参照される。以下では、ログイン/ログアウト管理手段250と仮想マシン情報管理手段310の動作を説明する。
図19は、ログイン/ログアウト管理手段250の動作例を表したフローチャートである。ログイン/ログアウト管理手段250は、業務ホスト群300上で動作する仮想マシン情報管理手段310から、仮想マシンへのログイン/ログアウトのイベントが通知された際に動作する。
はじめに、ログイン/ログアウト管理手段250は、通知がログインであるかログアウトであるかを判別する(S601)。
通知がログインであった場合、ログイン/ログアウト管理手段250は、ユーザ情報管理テーブル280のユーザIDに、対応するログイン時刻を追加する(S602)。
その後、ログイン/ログアウト管理手段250は、ステージングトリガテーブル420と、ユーザ情報管理テーブル280を参照して、ログインしたユーザの次のステージング時刻を設定する(S603)。
次にログイン/ログアウト管理手段250は、ユーザ情報管理テーブル280のステータスをログインに変更して処理を完了する(S604)。
一方、通知がログアウトであった場合、ログイン/ログアウト管理手段250は、ユーザ情報管理テーブル280のステータスをログアウトに更新する(S605)。
その後、ログイン/ログアウト管理手段250は、ファイル/ブロック管理手段210にログインに必要なデータを事前ステージング用ボリューム群150にコピーする要求を通知する(S606)。
図20は、仮想マシン情報管理手段310の動作例を表したフローチャートである。仮想マシン情報管理手段310は、ユーザが仮想マシンにログインもしくはログアウトしたタイミングで動作を開始する。
仮想マシン情報管理手段310は、任意ユーザのログインもしくはログアウトをイベントとして判別する(S701)。
ユーザがログインした場合、ストレージ装置100上で動作するログイン/ログアウト手段250に、該当ユーザのユーザIDとログイン時刻を通知する(S702)。
一方、ユーザがログアウトした場合、仮想マシン情報管理手段310は、仮想マシン管理テーブル320を参照して、仮想マシンの配置を識別する(S104)。
その後、仮想マシン情報管理手段310は、ログイン/ログアウト手段250に、ユーザIDと仮想マシンの配置を通知する(S703)。
以上の構成例を用いた多くのユーザへの仮想ディスクトップ環境を提供する運用の流れをフェーズごとに簡単に説明する。
運用前:
・運用管理者500は、業務ホスト群300に仮想マシンをユーザに提供可能にする環境を形成する。
・運用管理者500は、運用ポリシーを元に、手動もしくは自動で事前ステージング用ディスクプール160と事前ステージング用ボリューム群150を作成する。
・運用管理者500が運用を開始する前に管理ホスト400上でステージングトリガテーブル420に各種ポリシーを設定して、ストレージ装置100にステージングトリガテーブル420を通知する。
定期的なステージング処理:
・ストレージ装置100は、時刻情報とステージングトリガテーブル420とユーザ情報管理テーブル280を参照して、各々のユーザのログインに間に合うタイミングで、ログイン用情報をキャッシュ領域にステージングする。
このステージング処理過程では、事前ステージング用ボリューム150記録されているデータがシーケンシャルアクセスを考慮して最適化されているため、高速にステージングが可能となる。
・ストレージ装置100は、キャッシュロード用テーブル270およびユーザ情報管理テーブル280を参照して、時刻ごとに用意された事前ステージングボリューム内のロードデータで不要となったデータを整理する。この整理によって、ステージングの高速化、キャッシュでのミスヒット時のドライブ上のデータへのアクセスが高速化する。
以上のようにストレージシステムの管理手段を動作させることで、一時的な高負荷を回避するべくサイジング時に確保する 高価なSSDやメモリの量を低減できる。
その理由は、トリガーに従って都度適切にステージングが行われるためである。これは、トリガーを用いずにステージングする方式に比べ、ステージングされたデータの適切度が高くなり、結果ヒット率が向上する。同等の性能を確保する場合に、高価なSSDやメモリの量を低減できる。
また、ステージングしたいデータ量が多量でキャッシュメモリに入りきらないことが有っても、ストレージ領域から該当データを読み出す速度が既存方式よりも早くなる。
別の観点では、同等のコストであれば、本方式は、トリガーを用いずにステージングする方式に比べ、性能が向上している。
また、I/O特性などのトリガーに従って、シーケンシャルなアクセスが確保されたデータをストレージ領域及びキャッシュ領域に準備することが可能になる。このことで、低コストで性能向上を図れる。
また、キャッシュ領域に階層構造を採用していた場合には、1次キャッシュで賄いきれないデータを、二次キャッシュ(SSD)にステージジングできる。さらには、二次キャッシュでも賄えない場合であってディスクデバイスからログインデータを読み込む場合でも、事前ステージング用ボリューム群からシーケンシャルにデータを読み出せるため、ログイン処理の集中による影響を軽減できる。
なお、ストレージシステムの管理手段は、ハードウェアとソフトウェアの組み合わせを用いて実現すればよい。ハードウェアとソフトウェアとを組み合わせた形態では、RAMに管理用プログラムが展開され、このプログラムに基づいて制御部(CPU)等のハードウェアを管理手段として動作させればよい。また、このプログラムは、記録媒体に非一時的に記録されて頒布されても良い。当該記録媒体に記録されたプログラムは、有線、無線、又は記録媒体そのものを介して、メモリに読込まれ、制御部等を動作させる。尚、記録媒体を例示すれば、オプティカルディスクや磁気ディスク、半導体メモリ装置、ハードディスクなどが挙げられる。
以上、実施形態を図示して説明したが、そのブロック構成の分離併合、手順の入れ替えなどの変更は本発明の趣旨および説明される機能を満たせば自由であり、上記説明が本発明を限定するものではない。
以上説明したように、本発明によれば、システム内で生じるデータ処理のストームをコスト及び性能観点でより効率よく処理するストレージシステム、ストレージ装置、ステージング方法を提供できる。
また、上記の実施形態の一部又は全部は、以下のようにも記載されうる。尚、以下の付記は本発明をなんら限定するものではない。
[付記1]
各種データを読み出す所定要求を送出するホストと、
前記ホストからの各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、
各種データを記憶するキャッシュ領域と、
前記所定データを含む各種データを記憶したストレージ領域と、
を有するストレージと、
1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する手段と、
各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する手段と、
を含むことを特徴とするストレージシステム。
[付記2]
トリガーごとのロードデータの内容を、トリガーに関連付けて収集した管理用情報に基づいて、読み出し待機用領域のロードデータを構築し直す手段を更に含むことを特徴とする上記付記記載のストレージシステム。
[付記3]
前記読み出し待機用領域は、読み出し待機用論理領域と読み出し待機用物理領域の両方が設けられていることを特徴とする上記付記記載のストレージシステム。
[付記4]
前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを削除する手段を更に含むことを特徴とする上記付記記載のストレージシステム。
[付記5]
前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを抜き取ってボリューム内でデータブロックを整列する手段を更に含むことを特徴とする上記付記記載のストレージシステム。
[付記6]
前記ストレージ領域の読み出し待機用領域は、ユーザ端末及びホストからアクセス不能に設定されることを特徴とする上記付記記載のストレージシステム。
[付記7]
前記キャッシュ領域は、異なるキャッシュ素子を用いた階層構造を有してなり、
ステージングされるロードデータ及び/又は該当ロードデータ内に含まれるデータに付与されたステージング優先度に基づいた前記キャッシュ領域に同時に存在させるロードデータ間での優先度順位に従って、キャッシュ先となるキャッシュ素子を選定する手段を更に含むことを特徴とする上記付記記載のストレージシステム。
[付記8]
各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、
各種データを記憶するキャッシュ領域と、
前記所定データを含む各種データを記憶したストレージ領域と、
1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する手段と、
各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する手段と、
を有することを特徴とするストレージ装置。
[付記9]
トリガーごとのロードデータの内容を、トリガーに関連付けて収集した管理用情報に基づいて、読み出し待機用領域のロードデータを構築し直す手段を更に含むことを特徴とする上記付記記載のストレージ装置。
[付記10]
前記読み出し待機用領域は、読み出し待機用論理領域と読み出し待機用物理領域の両方が設けられていることを特徴とする上記付記記載のストレージ装置。
[付記11]
前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを削除する手段を更に含むことを特徴とする上記付記記載のストレージ装置。
[付記12]
前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを抜き取ってボリューム内でデータブロックを整列する手段を更に含むことを特徴とする上記付記記載のストレージ装置。
[付記13]
前記ストレージ領域の読み出し待機用領域は、ユーザ端末及びホストからアクセス不能に設定されることを特徴とする上記付記記載のストレージ装置。
[付記14]
前記キャッシュ領域は、異なるキャッシュ素子を用いた階層構造を有してなり、
ステージングされるロードデータ及び/又は該当ロードデータ内に含まれるデータに付与されたステージング優先度に基づいた前記キャッシュ領域に同時に存在させるロードデータ間での優先度順位に従って、キャッシュ先となるキャッシュ素子を選定する手段を更に含むことを特徴とする上記付記記載のストレージ装置。
[付記15]
各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、前記所定データを含む各種データを記憶したストレージ領域と、を有するストレージ装置で、
1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する第1の工程と、
各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する第2の工程と、
を有することを特徴とするストレージ装置内でのステージング方法。
[付記16]
トリガーごとのロードデータの内容を、トリガーに関連付けて収集した管理用情報に基づいて、読み出し待機用領域のロードデータを構築し直す工程を更に含むことを特徴とする上記付記記載のステージング方法。
[付記17]
前記読み出し待機用領域は、読み出し待機用論理領域と読み出し待機用物理領域の両方が設けられていることを特徴とする上記付記記載のステージング方法。
[付記18]
前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを削除する工程を更に含むことを特徴とする上記付記記載のステージング方法。
[付記19]
前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを抜き取ってボリューム内でデータブロックを整列する工程を更に含むことを特徴とする上記付記記載のステージング方法。
[付記20]
前記ストレージ領域の読み出し待機用領域は、ユーザ端末及びホストからアクセス不能に設定されることを特徴とする上記付記記載のステージング方法。
[付記21]
前記キャッシュ領域は、異なるキャッシュ素子を用いた階層構造を有してなり、
ステージングされるロードデータ及び/又は該当ロードデータ内に含まれるデータに付与されたステージング優先度に基づいた前記キャッシュ領域に同時に存在させるロードデータ間での優先度順位に従って、キャッシュ先となるキャッシュ素子を選定する工程を更に含むことを特徴とする上記付記記載のステージング方法。
[付記22]
各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、前記所定データを含む各種データを記憶したストレージ領域と、を有するストレージ装置の制御部を、
1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する待機用領域管理部と、
各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開するキャッシュ展開管理部、
として動作させることを特徴とするプログラム。
[付記23]
前記制御部を、トリガーごとのロードデータの内容を、トリガーに関連付けて収集した管理用情報に基づいて、読み出し待機用領域のロードデータを構築し直す手段として動作させることを特徴とする上記付記記載のプログラム。
[付記24]
前記制御部を、前記読み出し待機用領域として、読み出し待機用論理領域と読み出し待機用物理領域との両方を用いるように動作させることを特徴とする上記付記記載のプログラム。
[付記25]
前記制御部を、前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを削除する手段として動作させることを特徴とする上記付記記載のプログラム。
[付記26]
前記制御部を、前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを抜き取ってボリューム内でデータブロックを整列する手段として動作させることを特徴とする上記付記記載のプログラム。
[付記27]
前記制御部を、前記ストレージ領域の読み出し待機用領域について、ユーザ端末及びホストからアクセス不能に設定するように動作させることを特徴とする上記付記記載のプログラム。
[付記28]
前記ストレージ装置は、キャッシュ領域として、異なるキャッシュ素子を用いた階層構造を有してなり、
該ストレージ装置の前記制御部を、ステージングされるロードデータ及び/又は該当ロードデータ内に含まれるデータに付与されたステージング優先度に基づいた前記キャッシュ領域に同時に存在させるロードデータ間での優先度順位に従って、キャッシュ先となるキャッシュ素子を選定する手段として動作させることを特徴とする上記付記記載のプログラム。
本発明は、情報処理システム内で予め発生が予測できる読み出し処理を含む処理ピークを有するストレージシステムに適用できる。例えば、クラウド環境を提供するデータセンターや社内ストレージサーバなどに採用できる。
1 ストレージシステム
2 ホスト装置
3 ストレージ装置
10 インターフェイス部(インターフェイス手段)
20 キャッシュデバイス
30 ストレージデバイス
40 読み出し待機用領域管理部(読み出し待機用領域管理手段)
50 キャッシュ展開管理部(キャッシュ展開管理手段)
100 ストレージ装置
110 キャッシュモジュール
120 L2キャッシュプール
130 SSDディスク群
140 論理ディスク群
150 事前ステージング用ボリューム群
160 事前ステージング用ディスクプール
200 ステージング管理手段
210 ファイル/ブロック管理手段
230 ステージングボリューム制御手段
240 キャッシュテーブル変更手段
250 ログイン/ログアウト管理手段
260 キャッシュタグテーブル
270 キャッシュロード用テーブル
280 ユーザ情報管理テーブル
300 業務ホスト群
310 仮想マシン情報管理手段
400 管理ホスト
410 トリガ登録手段
420 ステージングトリガテーブル

Claims (10)

  1. 各種データを読み出す所定要求を送出するホストと、
    前記ホストからの各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、
    各種データを記憶するキャッシュ領域と、
    前記所定データを含む各種データを記憶したストレージ領域と、
    を有するストレージと、
    1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する手段と、
    各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する手段と、
    を含むことを特徴とするストレージシステム。
  2. トリガーごとのロードデータの内容を、トリガーに関連付けて収集した管理用情報に基づいて、読み出し待機用領域のロードデータを構築し直す手段を更に含むことを特徴とする請求項1に記載のストレージシステム。
  3. 前記読み出し待機用領域は、読み出し待機用論理領域と読み出し待機用物理領域の両方が設けられていることを特徴とする請求項1又は2に記載のストレージシステム。
  4. 前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを削除する手段を更に含むことを特徴とする請求項3に記載のストレージシステム。
  5. 前記読み出し待機用論理領域に記録するトリガー毎のロードデータについて、論理ボリュームのブロック単位毎に管理すると共に、前記キャッシュ領域への展開が不要と判断されたガベージデータのブロックを抜き取ってボリューム内でデータブロックを整列する手段を更に含むことを特徴とする請求項3に記載のストレージシステム。
  6. 前記ストレージ領域の読み出し待機用領域は、ユーザ端末及びホストからアクセス不能に設定されることを特徴とする請求項1ないし5の何れか一項に記載のストレージシステム。
  7. 前記キャッシュ領域は、異なるキャッシュ素子を用いた階層構造を有してなり、
    ステージングされるロードデータ及び/又は該当ロードデータ内に含まれるデータに付与されたステージング優先度に基づいた前記キャッシュ領域に同時に存在させるロードデータ間での優先度順位に従って、キャッシュ先となるキャッシュ素子を選定する手段を更に含むことを特徴とする請求項1ないし6の何れか一項に記載のストレージシステム。
  8. 各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、
    各種データを記憶するキャッシュ領域と、
    前記所定データを含む各種データを記憶したストレージ領域と、
    1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する手段と、
    各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する手段と、
    を有することを特徴とするストレージ装置。
  9. 各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、前記所定データを含む各種データを記憶したストレージ領域と、を有するストレージ装置で、
    1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する工程と、
    各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開する工程と、
    を有することを特徴とするストレージ装置内でのステージング方法。
  10. 各種データを読み出す所定要求に対して、記録されている所定データの読み出しに対応するインターフェイス手段と、各種データを記憶するキャッシュ領域と、前記所定データを含む各種データを記憶したストレージ領域と、を有するストレージ装置の制御部を、
    1ないし複数の所定要求が発生する条件を各々のトリガーとして管理しつつ、それぞれのトリガーに対して前記キャッシュ領域に予め展開する所定データ群を、トリガーごとに各々のロードデータとして読み出し待機用領域に記録する待機用領域管理部と、
    各種トリガーの発生時及び/又は直前に、対応したロードデータを前記待機用領域からキャッシュ領域に展開するキャッシュ展開管理部、
    として動作させることを特徴とするプログラム。
JP2014229522A 2014-11-12 2014-11-12 ストレージシステム、ストレージ装置、及びステージング方法 Active JP6504337B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014229522A JP6504337B2 (ja) 2014-11-12 2014-11-12 ストレージシステム、ストレージ装置、及びステージング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014229522A JP6504337B2 (ja) 2014-11-12 2014-11-12 ストレージシステム、ストレージ装置、及びステージング方法

Publications (2)

Publication Number Publication Date
JP2016095553A true JP2016095553A (ja) 2016-05-26
JP6504337B2 JP6504337B2 (ja) 2019-04-24

Family

ID=56071168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014229522A Active JP6504337B2 (ja) 2014-11-12 2014-11-12 ストレージシステム、ストレージ装置、及びステージング方法

Country Status (1)

Country Link
JP (1) JP6504337B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259363A (ja) * 1998-03-09 1999-09-24 Hitachi Ltd 記憶制御装置
JP2005157711A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd アクセスパターンを学習する記憶装置
JP2006146661A (ja) * 2004-11-22 2006-06-08 Nec Corp レプリケーションシステム、方法、レプリカストレージ、およびプログラム
JP2011138321A (ja) * 2009-12-28 2011-07-14 Hitachi Ltd ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
JP2012064158A (ja) * 2010-09-17 2012-03-29 Toshiba Corp メモリ管理装置及びメモリ管理方法
JP2013020504A (ja) * 2011-07-12 2013-01-31 Nec Corp ディスクアレイ装置、論理ディスク制御方法および制御プログラム
JP2014164510A (ja) * 2013-02-25 2014-09-08 Fujitsu Ltd ストレージ制御プログラム、ストレージ制御装置、ストレージシステム、及びストレージ制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259363A (ja) * 1998-03-09 1999-09-24 Hitachi Ltd 記憶制御装置
JP2005157711A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd アクセスパターンを学習する記憶装置
JP2006146661A (ja) * 2004-11-22 2006-06-08 Nec Corp レプリケーションシステム、方法、レプリカストレージ、およびプログラム
JP2011138321A (ja) * 2009-12-28 2011-07-14 Hitachi Ltd ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
JP2012064158A (ja) * 2010-09-17 2012-03-29 Toshiba Corp メモリ管理装置及びメモリ管理方法
JP2013020504A (ja) * 2011-07-12 2013-01-31 Nec Corp ディスクアレイ装置、論理ディスク制御方法および制御プログラム
JP2014164510A (ja) * 2013-02-25 2014-09-08 Fujitsu Ltd ストレージ制御プログラム、ストレージ制御装置、ストレージシステム、及びストレージ制御方法

Also Published As

Publication number Publication date
JP6504337B2 (ja) 2019-04-24

Similar Documents

Publication Publication Date Title
US11425194B1 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
US9971823B2 (en) Dynamic replica failure detection and healing
JP6961844B2 (ja) ストレージボリューム作成方法および装置、サーバ、並びに記憶媒体
US9652161B2 (en) System, method, and medium of optimizing load reallocation in an in-memory data management grid
JP6250189B2 (ja) データストリームのためのクライアント構成可能なセキュリティオプション
KR101925696B1 (ko) 대규모 데이터 스트림들의 획득, 저장, 및 소비를 위한 관리 서비스
US9858322B2 (en) Data stream ingestion and persistence techniques
US9276987B1 (en) Identifying nodes already storing indicated input data to perform distributed execution of an indicated program in a node cluster
US20100274826A1 (en) Method for clipping migration candidate file in hierarchical storage management system
US10061781B2 (en) Shared data storage leveraging dispersed storage devices
EP3575968A1 (en) Method and device for synchronizing active transaction lists
US10795579B2 (en) Methods, apparatuses, system and computer program products for reclaiming storage units
JP2005338985A (ja) 記憶領域管理方法及びシステム
US10019182B2 (en) Management system and management method of computer system
US11429311B1 (en) Method and system for managing requests in a distributed system
US10776173B1 (en) Local placement of resource instances in a distributed system
WO2021187194A1 (ja) 分散処理システム、分散処理システムの制御方法、及び、分散処理システムの制御装置
US11860835B1 (en) Efficient drop column requests in a non-relational data store
JP6504337B2 (ja) ストレージシステム、ストレージ装置、及びステージング方法
KR101589122B1 (ko) 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 장애 복구 방법 및 시스템
US10140190B1 (en) Efficient transaction log flushing
Hassannezhad Najjari et al. A systematic overview of live virtual machine migration methods
JP7458610B2 (ja) データベースシステム、及びクエリ実行方法
JP2019125322A (ja) ストレージ管理装置、ストレージ管理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180925

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: 20190227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190312

R150 Certificate of patent or registration of utility model

Ref document number: 6504337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150