JP2016167195A - ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステム - Google Patents
ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステム Download PDFInfo
- Publication number
- JP2016167195A JP2016167195A JP2015047011A JP2015047011A JP2016167195A JP 2016167195 A JP2016167195 A JP 2016167195A JP 2015047011 A JP2015047011 A JP 2015047011A JP 2015047011 A JP2015047011 A JP 2015047011A JP 2016167195 A JP2016167195 A JP 2016167195A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- storage device
- target data
- recording target
- data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
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)
Abstract
【課題】階層制御における高速デバイスの利用効率を向上できる。
【解決手段】制御部1aは、記録対象データごとのアクセス予定回数を算出し、アクセス予定回数にもとづいて再配置対象となる記録対象データを決定する。制御部1aは、算出期間と単位時間当たりのアクセス回数とから、記録対象データごとのアクセス予定回数を算出する。算出期間は、次回更新タイミングによって記録対象データごとに異なる。次回更新タイミングが次回再配置タイミングよりも早い場合、算出期間は、今回再配置タイミングから次回更新タイミングまでの期間である。一方、次回更新タイミングが次回再配置タイミングよりも遅い場合、算出期間は、今回再配置タイミングから次回再配置タイミングまでの期間である。
【選択図】図1
【解決手段】制御部1aは、記録対象データごとのアクセス予定回数を算出し、アクセス予定回数にもとづいて再配置対象となる記録対象データを決定する。制御部1aは、算出期間と単位時間当たりのアクセス回数とから、記録対象データごとのアクセス予定回数を算出する。算出期間は、次回更新タイミングによって記録対象データごとに異なる。次回更新タイミングが次回再配置タイミングよりも早い場合、算出期間は、今回再配置タイミングから次回更新タイミングまでの期間である。一方、次回更新タイミングが次回再配置タイミングよりも遅い場合、算出期間は、今回再配置タイミングから次回再配置タイミングまでの期間である。
【選択図】図1
Description
本発明は、ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステムに関する。
ストレージ装置は、アクセス頻度の高いデータをSSD(Solid State Drive)などの高速なデバイスに配置し、アクセス頻度の低いデータをHDD(Hard Disk Drive)などの低速なデバイスに配置する階層制御をおこなうものがある。
また、ストレージ装置は、ログ構造化ファイルシステムによって管理されるデータを扱う場合があり、上書きによらずに追記によってデータの変更をおこなうことがある。
ストレージ装置は、階層制御において、アクセス速度の速い高速デバイスにアクセス頻度の高いデータが配置されるように、適宜データの再配置をおこなう。
一方、ログ構造化ファイルシステムによって管理されるファイルにおいて更新があった場合、更新後のファイルは、更新前のファイルの格納位置と異なる位置に格納される。そしてファイルの更新後のアクセスのほとんどは、更新後のファイルの格納位置をアクセス先とする。
一方、ログ構造化ファイルシステムによって管理されるファイルにおいて更新があった場合、更新後のファイルは、更新前のファイルの格納位置と異なる位置に格納される。そしてファイルの更新後のアクセスのほとんどは、更新後のファイルの格納位置をアクセス先とする。
そのため、ログ構造化ファイルシステムによって管理されるファイルは、高速デバイスへの再配置後にファイル更新があった場合に、高速デバイスに配置されている更新前ファイルへのアクセス頻度が低下するため、高速デバイスの利用効率を低下させる。
1つの側面では、本発明は、階層制御における高速デバイスの利用効率を向上できるストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステムを提供することを目的とする。
上記目的を達成するために、以下に示すような、ストレージ装置が提供される。ストレージ装置は、ログ構造化データ書き込み方法によりデータを記録するとともに、第1ストレージデバイスとアクセス速度が第1ストレージデバイスより低速な第2ストレージデバイスとの間でデータの再配置をおこなう。ストレージ装置は、制御部を備える。制御部は、記録対象データごとの次回更新タイミングまたは次回再配置タイミングのうちいずれか早いタイミングと、単位時間当たりの記録対象データごとのアクセス回数とから記録対象データごとのアクセス予定回数を算出し、アクセス予定回数が多い記録対象データを前記第1ストレージデバイスに配置する。
1態様によれば、ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステムにおいて、階層制御における高速デバイスの利用効率を向上できる。
以下、図面を参照して実施の形態を詳細に説明する。
[第1の実施形態]
まず、第1の実施形態のストレージ装置について図1を用いて説明する。図1は、第1の実施形態のストレージ装置の構成の一例を示す図である。
[第1の実施形態]
まず、第1の実施形態のストレージ装置について図1を用いて説明する。図1は、第1の実施形態のストレージ装置の構成の一例を示す図である。
ストレージ装置1は、制御部1aを備える。制御部1aは、第1ストレージデバイス2と第2ストレージデバイス3とを制御対象とする。
第1ストレージデバイス2と第2ストレージデバイス3とは、アクセス速度が異なるストレージデバイスであり、第1ストレージデバイス2は、第2ストレージデバイス3と比較して高速なアクセス速度の高速デバイスである。言い換えれば、第2ストレージデバイス3は、第1ストレージデバイス2と比較して低速なアクセス速度の低速デバイスである。たとえば、第1ストレージデバイス2がSSDであるときに、第2ストレージデバイス3は、HDDである。あるいは、第1ストレージデバイス2がオンラインディスクであるときに、第2ストレージデバイス3は、ニアラインディスクである。第1ストレージデバイス2は、第2ストレージデバイス3と比較して高速であるが高コストなストレージデバイスであり、第2ストレージデバイス3は、第1ストレージデバイス2と比較して低速であるが大容量かつ低コストなストレージデバイスである。
第1ストレージデバイス2と第2ストレージデバイス3とは、アクセス速度が異なるストレージデバイスであり、第1ストレージデバイス2は、第2ストレージデバイス3と比較して高速なアクセス速度の高速デバイスである。言い換えれば、第2ストレージデバイス3は、第1ストレージデバイス2と比較して低速なアクセス速度の低速デバイスである。たとえば、第1ストレージデバイス2がSSDであるときに、第2ストレージデバイス3は、HDDである。あるいは、第1ストレージデバイス2がオンラインディスクであるときに、第2ストレージデバイス3は、ニアラインディスクである。第1ストレージデバイス2は、第2ストレージデバイス3と比較して高速であるが高コストなストレージデバイスであり、第2ストレージデバイス3は、第1ストレージデバイス2と比較して低速であるが大容量かつ低コストなストレージデバイスである。
なお、ストレージ装置1は、第1ストレージデバイス2と第2ストレージデバイス3とを内蔵するものであってもよいし、外付けするものであってもよい。また、ストレージ装置1は、第1ストレージデバイス2と第2ストレージデバイス3とネットワークを介して接続するものであってもよい。
制御部1aは、第1ストレージデバイス2、第2ストレージデバイス3にログ構造化データ書き込み方法によりデータを記録できる。ログ構造化データ書き込み方法は、更新前のデータが記憶されている領域と異なる領域に更新後のデータを書き込む方法である。書き込み対象となるデータは、ファイル形式であってもよいし、その他の形式であってもよい。
たとえば、ログ構造化ファイルシステムは、ファイル形式のデータを書き込み対象とし、その場合、制御部1aは、第1ストレージデバイス2、第2ストレージデバイス3にファイルを記録できる。制御部1aは、記録対象データA1を記録対象データA2に更新する場合、記録対象データA2の格納位置が記録対象データA1の格納位置と異なる論理データレイアウトとする。
これにより、ストレージ装置1は、記録対象データA1を記録対象データA2に更新した後に、記録対象データA1を復旧することができる。
制御部1aは、第1ストレージデバイス2と第2ストレージデバイス3との間でデータを再配置する階層制御(ストレージ自動階層制御(Automated Storage Tiering))をおこなうことができる。
制御部1aは、第1ストレージデバイス2と第2ストレージデバイス3との間でデータを再配置する階層制御(ストレージ自動階層制御(Automated Storage Tiering))をおこなうことができる。
これにより、ストレージ装置1は、アクセス頻度の高いデータを高速なストレージデバイスに配置し、アクセス頻度の低いデータを低速なストレージデバイスに再配置することで、コスト抑制とアクセス速度の向上を図ることができる。
たとえば、ストレージ装置1は、アクセス頻度の高い記録対象データA1を高速デバイスに再配置することで、高速デバイスの利用効率を高めることができる。一方で、ストレージ装置1は、ログ構造化ファイルシステムのもとで記録対象データA1が更新されて記録対象データA2が低速デバイスに記録された場合、高速デバイスに再配置されていた記録対象データA1のアクセス頻度の低下を惹起する。
制御部1aは、このような高速デバイスの利用効率の低下を抑制できる。制御部1aは、記録対象データごとのアクセス予定回数を算出し、アクセス予定回数が多い記録対象データを第1ストレージデバイス2に配置する。たとえば、制御部1aは、記録対象データごとのアクセス予定回数をソートして、アクセス予定回数の多い記録対象データを相対的に高速な第1ストレージデバイス2に再配置する。
アクセス予定回数は、今回再配置タイミングから次回再配置タイミングまでに見込める記録対象データごとのアクセス回数である。制御部1aは、算出期間と単位時間当たりのアクセス回数とから、記録対象データごとのアクセス予定回数を算出する。単位時間当たりのアクセス回数は、たとえば、記録対象データごとの統計情報から統計値(平均値や、中央値、最頻値など)として取得することができる。この場合、単位時間当たりのアクセス回数は、直近(前回更新以降の期間)の統計情報を用いるようにしてもよい。
算出期間は、次回更新タイミングによって記録対象データごとに異なる。たとえば、次回更新タイミングは、記録対象データごとの統計情報から統計値(平均値や、中央値、最頻値など)として取得することができる。次回更新タイミングが次回再配置タイミングよりも早い場合、算出期間は、今回再配置タイミングから次回更新タイミングまでの期間である。一方、次回更新タイミングが次回再配置タイミングよりも遅い場合、算出期間は、今回再配置タイミングから次回再配置タイミングまでの期間である。
ここで、算出期間について図2を用いて説明する。図2は、算出期間の一例を示す図である。
たとえば、記録対象データAの次回更新タイミングt1は、次回再配置タイミングより早いことから、記録対象データAの算出期間は、今回再配置タイミングから次回更新タイミングまでの期間である。これにより、ストレージ装置1は、算出期間と、単位時間当たりのアクセス回数とから、記録対象データAのアクセス予定回数ANを算出できる。このようなアクセス予定回数ANは、記録対象データAの次回更新タイミングt1から次回再配置タイミングまでの記録対象データAのアクセス頻度が低下する期間が、算出期間から除外されることで高精度な算出結果が期待できる。
たとえば、記録対象データAの次回更新タイミングt1は、次回再配置タイミングより早いことから、記録対象データAの算出期間は、今回再配置タイミングから次回更新タイミングまでの期間である。これにより、ストレージ装置1は、算出期間と、単位時間当たりのアクセス回数とから、記録対象データAのアクセス予定回数ANを算出できる。このようなアクセス予定回数ANは、記録対象データAの次回更新タイミングt1から次回再配置タイミングまでの記録対象データAのアクセス頻度が低下する期間が、算出期間から除外されることで高精度な算出結果が期待できる。
一方、記録対象データBの次回更新タイミングt2は、次回再配置タイミングより遅いことから、記録対象データBの算出期間は、今回再配置タイミングから次回再配置タイミングまでの期間である。これにより、ストレージ装置1は、算出期間と、単位時間当たりのアクセス回数とから、記録対象データBのアクセス予定回数BNを算出できる。
このようなアクセス予定回数ANおよびアクセス予定回数BNは、ログ構造化されたデータのアクセス予定回数を好適に表わすことができる。
たとえば、高速デバイスに再配置されていた記録対象データA1が更新されて、記録対象データA2が低速デバイスに記録されることがあっても、ストレージ装置1は、記録対象データA1の更新タイミングに応じてアクセス予定回数を算出できる。
たとえば、高速デバイスに再配置されていた記録対象データA1が更新されて、記録対象データA2が低速デバイスに記録されることがあっても、ストレージ装置1は、記録対象データA1の更新タイミングに応じてアクセス予定回数を算出できる。
したがって、ストレージ装置1は、ログ構造化されたデータのアクセス予定回数をより正確に算出することができる。これにより、ストレージ装置1は、正確に算出されたアクセス予定回数を用いてデータの再配置をおこなうことができ、高速デバイスの利用効率を向上可能な階層制御を実現する。
[第2の実施形態]
次に、第2の実施形態のストレージシステムについて図3を用いて説明する。図3は、第2の実施形態のストレージシステムの構成の一例を示す図である。
次に、第2の実施形態のストレージシステムについて図3を用いて説明する。図3は、第2の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム5は、サーバ(情報処理装置)6と、ネットワーク7と、ストレージ装置10とを含む。ネットワーク7は、たとえば1または複数のストレージ装置10と、1または複数のサーバ6を接続する。ストレージ装置10は、ネットワーク7を介してサーバ6と通信可能に接続する。サーバ6は、ストレージ装置10にデータを書き込み、またストレージ装置10からデータを読み込むことができる。
次に、第2の実施形態のストレージ装置について図4を用いて説明する。図4は、第2の実施形態のストレージ装置の構成の一例を示す図である。
ストレージ装置10は、チャネルアダプタ11,12と、リモートアダプタ13,14と、コントローラモジュール(以下、CM(Controller Module))20,30と、ドライブエンクロージャ(以下、DE(Drive Enclosure))50を含む。
ストレージ装置10は、チャネルアダプタ11,12と、リモートアダプタ13,14と、コントローラモジュール(以下、CM(Controller Module))20,30と、ドライブエンクロージャ(以下、DE(Drive Enclosure))50を含む。
ストレージ装置10は、チャネルアダプタ11,12を介してサーバ6と接続する。チャネルアダプタ11は、CM20に対応して備えられ、チャネルアダプタ12は、CM30に対応して備えられる。ストレージ装置10は、リモートアダプタ13,14を介して他のストレージ装置と接続できる。リモートアダプタ13は、CM20に対応して備えられ、リモートアダプタ14は、CM30に対応して備えられる。
DE50は、SSD51,52およびHDD53,54を含む。SSD51,52、とHDD53,54は、アクセス速度の異なるストレージデバイスである。SSD51,52は、HDD53,54と比較してアクセス速度が速い高速デバイスである。言い換えれば、HDD53,54は、SSD51,52と比較してアクセス速度が遅い低速デバイスである。また、一般的に、HDD53,54は、SSD51,52と比較して大容量かつ安価である。
なお、DE50は、SSD51,52およびHDD53,54を含むとしたが、アクセス速度の異なるストレージデバイスの組み合わせは、これに限らない。たとえば、ニアラインディスクとオンラインディスクの組み合わせ、HDDとテープストレージの組み合わせ、あるいはこれ以外の組み合わせであってもよい。また、アクセス速度の異なるストレージデバイスは、2以上のDE50に含まれるものであってもよく、その場合に各々が異なるDEに含まれるものであってもよい。
CM20とCM30は、相互に接続して負荷を分担することができる。なお、ストレージ装置10は、2つのCM20,30を含むが、これに限らず、CM20とCM30のいずれか一方を含むものであってもよいし、3つ以上のCMを含むものであってもよく、たとえば、4つあるいは8つのCMを含むものであってもよい。
CM20は、プロセッサ21と、メモリ22と、ディスクアダプタ23,24を含む。CM30は、プロセッサ31と、メモリ32と、ディスクアダプタ33,34を含む。なお、CM30はCM20と同様の構成を有するため、以下、CM20の説明をもってCM30の説明に代える。
プロセッサ21、メモリ22、およびディスクアダプタ23,24は、図示しないバスを介して接続されている。プロセッサ21は、CM20全体を制御し、階層制御を含むストレージ制御をおこなう。なお、プロセッサ21は、マルチプロセッサであってもよい。プロセッサ21は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ21は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
メモリ22は、SSD51,52あるいはHDD53,54からデータを読み出したときにデータを保持するほか、SSD51,52あるいはHDD53,54にデータを書き込むときのバッファとなる。また、メモリ22は、ユーザデータや制御情報を格納する。
たとえば、メモリ22は、RAM(Random Access Memory)や不揮発性メモリを含む。RAMは、CM20の主記憶装置として使用される。RAMには、プロセッサ21に実行させるオペレーティングシステム(Operating System)のプログラムやファームウェア、アプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAMには、プロセッサ21による処理に必要な各種データが格納される。また、RAMは、各種データの格納に用いるメモリと別体にキャッシュメモリを含むものであってもよい。
不揮発性メモリは、ストレージ装置10の電源遮断時においても記憶内容を保持する。不揮発性メモリは、たとえば、EEPROM(Electrically Erasable and Programmable ROM)やフラッシュメモリなどの半導体記憶装置や、HDDなどである。また、不揮発性メモリは、CM20の補助記憶装置として使用される。不揮発性メモリには、オペレーティングシステムのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。
バスに接続される周辺機器としては、入出力インタフェース、および通信インタフェースがある。入出力インタフェースは、入出力装置と接続して入出力をおこなう。入出力インタフェースは、HDDなどの記憶装置から送られてくる信号やデータをプロセッサ21やメモリ22に送信する。また、入出力インタフェースは、たとえば、プロセッサ21から受信した信号を、他の制御部や、CM20と接続する出力装置に出力する。通信インタフェースは、ストレージ装置10内の他のCM(CM30)との間でデータの送受信をおこなう。
ディスクアダプタ23,24は、SSD51,52およびHDD53,54とのインタフェース制御(アクセス制御)をおこなう。
以上のようなハードウェア構成によって、ストレージ装置10、あるいはCM20,30の処理機能を実現することができる。なお、第1の実施形態に示したストレージ装置1も、ストレージ装置10、あるいはCM20,30と同様のハードウェアにより実現することができる。
以上のようなハードウェア構成によって、ストレージ装置10、あるいはCM20,30の処理機能を実現することができる。なお、第1の実施形態に示したストレージ装置1も、ストレージ装置10、あるいはCM20,30と同様のハードウェアにより実現することができる。
次に、階層制御に用いる統計情報について図5を用いて説明する。図5は、第2の実施形態の統計情報管理テーブルの一例を示す図である。
統計情報管理テーブル200は、階層制御においてファイルの再配置をおこなう場合に、再配置対象となるファイルの選択に用いられる情報である。ストレージ装置10は、ログ構造化ファイルシステムから取得した情報にもとづいて統計情報管理テーブル200を生成することができる。なお、階層制御をおこなう階層制御モジュール、およびログ構造化ファイルシステムは、CM20,30が有するストレージ制御機能の一部として実現できる。また、ログ構造化ファイルシステムは、ストレージ装置10にとってより上位の情報処理装置(たとえば、サーバ6など)が有する情報処理機能の一部として実現されるものであってもよい。
統計情報管理テーブル200は、階層制御においてファイルの再配置をおこなう場合に、再配置対象となるファイルの選択に用いられる情報である。ストレージ装置10は、ログ構造化ファイルシステムから取得した情報にもとづいて統計情報管理テーブル200を生成することができる。なお、階層制御をおこなう階層制御モジュール、およびログ構造化ファイルシステムは、CM20,30が有するストレージ制御機能の一部として実現できる。また、ログ構造化ファイルシステムは、ストレージ装置10にとってより上位の情報処理装置(たとえば、サーバ6など)が有する情報処理機能の一部として実現されるものであってもよい。
階層制御モジュールは、ログ構造化ファイルシステムからファイルごとの更新時刻と読み込み回数を、所定時間ごとに取得する。階層制御モジュールは、取得した情報を集計して、統計情報管理テーブル200を生成することができる。
統計情報管理テーブル200は、ファイル名と、平均更新時間間隔と、最終更新時刻と、読み込み回数を項目に含み、ファイルごとの情報を記録する。ファイル名は、ファイルを特定可能な情報を示す。平均更新時間間隔は、ファイルの更新時間間隔の平均値を示す。なお、平均更新時間間隔は、中央値や最頻値など、その他の統計値を用いて更新時間間隔を示すものであってもよい。最終更新時刻は、ファイルが最後に更新された時刻を示す。読み込み回数は、単位時間(たとえば24時間)当たりにファイルが読み込まれた回数を示す。
統計情報管理テーブル200によれば、たとえば、ファイル名「A」は、平均更新時間間隔「360時間」、最終更新時刻「250時間前」、読み込み回数「3,024」であることを示す。ファイル名「B」は、平均更新時間間隔「30分」、最終更新時刻「15分前」、読み込み回数「856」であることを示す。ファイル名「C」は、平均更新時間間隔「24時間」、最終更新時刻「5時間前」、読み込み回数「225,221」であることを示す。
なお、読み込み回数は、書き込み回数を含むアクセス回数であってもよい。ただし、ログ構造化ファイルシステムでは書き込みがおこなわれた際に最新データの格納位置が移動してしまうことから、書き込み回数が多いとしてもそのファイルを高速デバイスに配置するメリットが小さい。ストレージ装置10は、アクセス回数のうち読み込み回数にもとづいてファイルの再配置をおこなうことで、再配置制御の精度向上を実現する。
なお、階層制御モジュールは、ログ構造化ファイルシステムから情報を取得することに代えて、階層制御モジュールあるいは別途設ける統計情報生成モジュールが各ファイルの情報をポーリングして取得するようにしてもよい。この場合、統計情報生成モジュールは、CM20,30が有するストレージ制御機能の一部として実現できる。
次に、第2の実施形態の再配置処理について図6を用いて説明する。図6は、第2の実施形態の再配置処理のフローチャートを示す図である。
再配置処理は、次回の再配置までの間の読み込み回数(読み込み予定回数)が多く見込めるファイルを高速デバイスに再配置する処理である。階層制御モジュールは、あらかじめ定める実行時刻や実行周期で再配置処理を実行する。なお、前述した統計情報管理テーブル200は、再配置処理の実行周期に比較して十分に短い時間で更新される。
再配置処理は、次回の再配置までの間の読み込み回数(読み込み予定回数)が多く見込めるファイルを高速デバイスに再配置する処理である。階層制御モジュールは、あらかじめ定める実行時刻や実行周期で再配置処理を実行する。なお、前述した統計情報管理テーブル200は、再配置処理の実行周期に比較して十分に短い時間で更新される。
[ステップS11]階層制御モジュールは、統計情報管理テーブル200から全ファイルの更新時間間隔と読み込み回数を取得する。
[ステップS12]階層制御モジュールは、全ファイルのうちから算出対象ファイルを1つ選択する。
[ステップS12]階層制御モジュールは、全ファイルのうちから算出対象ファイルを1つ選択する。
[ステップS13]階層制御モジュールは、算出対象ファイルの予測更新時刻と次回再配置時刻を比較する。階層制御モジュールは、算出対象ファイルの予測更新時刻が次回再配置時刻と同じあるいは次回再配置時刻より早い場合に、ステップS14にすすむ。一方、階層制御モジュールは、算出対象ファイルの予測更新時刻が次回再配置時刻より遅い場合に、ステップS15にすすむ。
算出対象ファイルの予測更新時刻は、最終更新時刻と平均更新時間間隔から、たとえば(1)式を用いて算出できる。
予測更新時刻=最終更新時刻+平均更新時間間隔 … (1)
[ステップS14]階層制御モジュールは、算出対象ファイルについて算出始期から予測更新時刻までを算出対象期間として、算出対象ファイルの読み込み回数を用いて読み込み予定回数を算出する。ステップS14で算出する読み込み予定回数は、本来の算出期間である算出始期から次回再配置時刻までの一部期間であることから、以下、読み込み予定回数(一部期間)とする。読み込み予定回数(一部期間)は、たとえば(2)式を用いて算出できる。
予測更新時刻=最終更新時刻+平均更新時間間隔 … (1)
[ステップS14]階層制御モジュールは、算出対象ファイルについて算出始期から予測更新時刻までを算出対象期間として、算出対象ファイルの読み込み回数を用いて読み込み予定回数を算出する。ステップS14で算出する読み込み予定回数は、本来の算出期間である算出始期から次回再配置時刻までの一部期間であることから、以下、読み込み予定回数(一部期間)とする。読み込み予定回数(一部期間)は、たとえば(2)式を用いて算出できる。
読み込み予定回数(一部期間)=(予測更新時刻−算出始期)×(単位時間当たりの読み込み回数) …(2)
なお、算出始期は、現在時刻を用いることができるが、今回再配置時刻であってもよい。今回再配置時刻は、今回の再配置処理において再配置をおこなう予定時刻である。次回再配置時刻は、今回の再配置処理の次、すなわち次回の再配置処理において再配置をおこなう予定時刻である。
なお、算出始期は、現在時刻を用いることができるが、今回再配置時刻であってもよい。今回再配置時刻は、今回の再配置処理において再配置をおこなう予定時刻である。次回再配置時刻は、今回の再配置処理の次、すなわち次回の再配置処理において再配置をおこなう予定時刻である。
[ステップS15]階層制御モジュールは、算出対象ファイルについて算出始期から次回再配置時刻までを算出対象期間として、算出対象ファイルの読み込み回数を用いて読み込み予定回数を算出する。ステップS15で算出する読み込み予定回数は、本来の算出期間である算出始期から次回再配置時刻までの全部期間であることから、以下、読み込み予定回数(全部期間)とする。読み込み予定回数(全部期間)は、たとえば(3)式を用いて算出できる。
読み込み予定回数(全部期間)=(次回再配置時刻−算出始期)×(単位時間当たりの読み込み回数) …(3)
[ステップS16]階層制御モジュールは、ファイルのエントリに算出結果を記録する。
[ステップS16]階層制御モジュールは、ファイルのエントリに算出結果を記録する。
[ステップS17]階層制御モジュールは、算出対象の全ファイルについて読み込み予定回数を算出したか否かを判定する。階層制御モジュールは、算出対象の全ファイルについて読み込み予定回数を算出した場合にステップS18にすすみ、算出対象の全ファイルについて読み込み予定回数を算出していない場合にステップS12にすすむ。
[ステップS18]階層制御モジュールは、算出結果で全ファイルをソートする。たとえば階層制御モジュールは、読み込み予定回数をソートキーにして読み込み予定回数が多い順に全ファイルをソートする。
[ステップS19]階層制御モジュールは、全ファイルのソート結果から高速デバイスに配置する再配置対象ファイルを選択する。たとえば、階層制御モジュールは、読み込み予定回数が多い順に、合計サイズが所定サイズに達するまでの所定数のファイルを再配置対象ファイルとして選択する。
[ステップS20]階層制御モジュールは、再配置対象ファイルをファイル単位で高速デバイスに配置する再配置をおこない、再配置処理を終了する。
なお、ファイルは、ログ構造化ファイルシステムにおけるデータの管理単位の1つであり、ログ構造化ファイルシステムファイルは、たとえば、ファイル名によってデータを特定できる。ファイルは、より細粒度のデータの管理単位であるページ単位のデータを1以上含む。
なお、ファイルは、ログ構造化ファイルシステムにおけるデータの管理単位の1つであり、ログ構造化ファイルシステムファイルは、たとえば、ファイル名によってデータを特定できる。ファイルは、より細粒度のデータの管理単位であるページ単位のデータを1以上含む。
また、階層制御モジュールは、再配置対象ファイルを高速デバイスに配置した後に、統計情報管理テーブル200にある読み込み回数をリセットする。これにより、階層制御モジュールは、時間経過とともに変化するファイルへのアクセスパタンに対応して、直近のアクセスパタンを反映した読み込み回数にもとづいて階層制御をおこなうことができる。
このようにして、ストレージ装置10は、ログ構造化ファイルシステムで保存されているファイルに対しても高速デバイスに配置された際の読み込み回数を、より正確に見積もることができる。これにより、ストレージ装置10は、アクセス頻度の高いファイルを高速デバイスに再配置した後にデータ更新があっても、最新データの保存領域の移動によるアクセス頻度低下を含めて読み込み予定回数を算出することができる。ストレージ装置10は、このようにして算出した読み込み予定回数にもとづいて高速デバイスへのファイルの再配置をおこなうため、アクセス頻度の高いファイルを高速デバイスに再配置した後にデータ更新によりアクセス頻度が低下する非効率を排除できる。したがって、ストレージ装置10は、高速に処理されるリクエストの割合を高めて、階層制御における高速デバイスの利用効率を向上できる。
[第3の実施形態]
次に、第3の実施形態のストレージシステムについて説明する。第3の実施形態のストレージシステムは、階層制御におけるデータの再配置単位が異なる点で、第2の実施形態のストレージシステムと相違する。第2の実施形態のストレージシステムは、ファイル単位で高速デバイスへのデータの再配置をおこなったが、第3の実施形態のストレージシステムは、1以上のファイルをグループ化したグループ単位で高速デバイスへのデータの再配置をおこなう。なお、第3の実施形態のストレージシステムおよびストレージ装置の構成は、第2の実施形態のストレージシステムおよびストレージ装置の構成と同様であるため、符号を同じにして説明を省略する。
次に、第3の実施形態のストレージシステムについて説明する。第3の実施形態のストレージシステムは、階層制御におけるデータの再配置単位が異なる点で、第2の実施形態のストレージシステムと相違する。第2の実施形態のストレージシステムは、ファイル単位で高速デバイスへのデータの再配置をおこなったが、第3の実施形態のストレージシステムは、1以上のファイルをグループ化したグループ単位で高速デバイスへのデータの再配置をおこなう。なお、第3の実施形態のストレージシステムおよびストレージ装置の構成は、第2の実施形態のストレージシステムおよびストレージ装置の構成と同様であるため、符号を同じにして説明を省略する。
まず、第3の実施形態の再配置処理について図7を用いて説明する。図7は、第3の実施形態の第2再配置処理のフローチャートを示す図である。
第2再配置処理は、第2の実施形態の再配置処理の変形例となる再配置処理である。第2再配置処理は、読み込み予定回数が多く見込めるファイルグループを高速デバイスに再配置する処理である。階層制御モジュールは、あらかじめ定める実行時刻や実行周期で第2再配置処理を実行する。
第2再配置処理は、第2の実施形態の再配置処理の変形例となる再配置処理である。第2再配置処理は、読み込み予定回数が多く見込めるファイルグループを高速デバイスに再配置する処理である。階層制御モジュールは、あらかじめ定める実行時刻や実行周期で第2再配置処理を実行する。
なお、第2の実施形態の統計情報管理テーブル200は、第2再配置処理においても階層制御においてファイルの再配置をおこなう場合に、再配置対象となるファイルの選択に用いられる情報である。また、統計情報管理テーブル200は、第2再配置処理の実行周期に比較して十分に短い時間で更新される。
ステップS11からステップS17は、第2の実施形態の再配置処理のステップS11からステップS17における処理と同様であるため、説明を省略する。
[ステップS181]階層制御モジュールは、算出結果をグループ単位で集計し、算出結果集計テーブルを生成する。算出結果集計テーブルについては、後で図8を用いて説明する。
[ステップS181]階層制御モジュールは、算出結果をグループ単位で集計し、算出結果集計テーブルを生成する。算出結果集計テーブルについては、後で図8を用いて説明する。
[ステップS182]階層制御モジュールは、算出結果でグループをソートする。たとえば階層制御モジュールは、グループ化されているファイルの読み込み予定回数の総和(グループごと読み込み予定回数)をソートキーにしてグループごと読み込み予定回数が多い順に全グループをソートする。
[ステップS191]階層制御モジュールは、全グループのソート結果から高速デバイスに配置する再配置対象グループを選択する。たとえば、階層制御モジュールは、読み込み予定回数が多い順に、合計サイズが所定サイズに達するまでの所定数のグループを選択する。
[ステップS201]階層制御モジュールは、再配置対象グループをグループ単位で高速デバイスに配置する再配置をおこない、第2再配置処理を終了する。
なお、階層制御モジュールは、再配置対象グループを高速デバイスに配置した後に、統計情報管理テーブル200にあるファイルごとの読み込み回数をリセットする。これにより、階層制御モジュールは、時間経過とともに変化するファイルへのアクセスパタンに対応して、直近のアクセスパタンを反映した読み込み回数にもとづいて階層制御をおこなうことができる。
なお、階層制御モジュールは、再配置対象グループを高速デバイスに配置した後に、統計情報管理テーブル200にあるファイルごとの読み込み回数をリセットする。これにより、階層制御モジュールは、時間経過とともに変化するファイルへのアクセスパタンに対応して、直近のアクセスパタンを反映した読み込み回数にもとづいて階層制御をおこなうことができる。
次に、算出結果集計テーブルについて図8を用いて説明する。図8は、第3の実施形態の算出結果集計テーブルの一例を示す図である。
算出結果集計テーブル210は、階層制御においてファイルの再配置をおこなう場合に、再配置対象となるファイルの選択に用いる情報である。算出結果集計テーブル210は、統計情報管理テーブル200にもとづいて生成することができる。
算出結果集計テーブル210は、階層制御においてファイルの再配置をおこなう場合に、再配置対象となるファイルの選択に用いる情報である。算出結果集計テーブル210は、統計情報管理テーブル200にもとづいて生成することができる。
算出結果集計テーブル210は、グループID(IDentification)と、ファイル名と、ファイルごと読み込み予定回数と、グループごと読み込み予定回数を項目に含み、グループごとの情報を記録する。
グループIDは、グループを特定可能な情報を示す。グループは、1以上のファイルをグループ化する単位である。グループは、たとえば、一度にアクセス可能な所定サイズ(たとえば、数MBから数GB)の連続した記憶領域(セグメント)に対応する。
ファイル名は、ファイルを特定可能な情報を示す。ファイルごと読み込み予定回数は、ファイルごとの読み込み予定回数を示し、統計情報管理テーブル200にもとづいて算出される。詳しくは、ファイルごと読み込み予定回数は、第2再配置処理のステップS14でファイルごとに算出される読み込み予定回数(一部期間)、またはステップS15においてファイルごとに算出される読み込み予定回数(全部期間)である。グループごと読み込み予定回数は、グループごとの読み込み予定回数を示し、グループに属するファイルのファイルごと読み込み予定回数の総和である。
算出結果集計テーブル210によれば、たとえば、グループID「#0」で特定されるグループは、ファイル名「A」,「E」,「F」の3つのファイルを含むことを示す。ファイルごと読み込み予定回数は、ファイル名「A」のファイルが「5,022」、ファイル名「E」のファイルが「806」、ファイル名「F」のファイルが「222,523」であることを示す。グループID「#0」で特定されるグループのグループごと読み込み予定回数は、「228,351(=5,022+806+222,523)」であることを示す。
なお、グループ単位をセグメントとした場合、1つのファイルが複数のセグメントにまたがって配置されることがある。1つのファイルが複数のセグメントにまたがって配置される場合、階層制御モジュールは、当該ファイルが配置されているすべてのセグメントに対して当該ファイルのファイルごと読み込み予定回数を加算してもよい。これによれば、ストレージ装置10は、グループごとの読み込み予定回数の算出を簡易におこなうことができる。また、階層制御モジュールは、当該ファイルのファイルごと読み込み予定回数を加算する場合に、またがって配置されるセグメント数に応じて案分した読み込み予定回数を加算してもよい。
これにより、ストレージ装置10は、ログ構造化ファイルシステムで保存されているファイルに対してグループ単位のデータの再配置をおこなうことができる。ストレージ装置10は、アクセス頻度の高いファイルを高速デバイスに再配置した後にデータ更新によりアクセス頻度が低下する非効率を排除できる。したがって、ストレージ装置10は、高速に処理されるリクエストの割合を高めて、階層制御における高速デバイスの利用効率を向上できる。
[第4の実施形態]
次に、第4の実施形態のストレージシステムについて説明する。第4の実施形態のストレージシステムは、統計情報の生成に用いるデータの収集単位、および階層制御におけるデータの再配置単位が異なる点で、第2の実施形態のストレージシステムおよび第3の実施形態のストレージシステムと相違する。第2の実施形態のストレージシステムおよび第3の実施形態のストレージシステムは、統計情報の生成に用いるデータの収集単位がファイル単位であるところ、第4の実施形態のストレージシステムはページ単位である点で相違する。また、第2の実施形態のストレージシステムはファイル単位で、第3の実施形態のストレージシステムは、1以上のファイルをグループ化したグループ単位で高速デバイスへのデータの再配置をおこなった。しかし、第4の実施形態のストレージシステムは、ページ単位で高速デバイスへのデータの再配置をおこなう点で、第2の実施形態のストレージシステムおよび第3の実施形態のストレージシステムと相違する。なお、第4の実施形態のストレージシステムおよびストレージ装置の構成は、第2の実施形態のストレージシステムおよびストレージ装置の構成と同様であるため、符号を同じにして説明を省略する。
次に、第4の実施形態のストレージシステムについて説明する。第4の実施形態のストレージシステムは、統計情報の生成に用いるデータの収集単位、および階層制御におけるデータの再配置単位が異なる点で、第2の実施形態のストレージシステムおよび第3の実施形態のストレージシステムと相違する。第2の実施形態のストレージシステムおよび第3の実施形態のストレージシステムは、統計情報の生成に用いるデータの収集単位がファイル単位であるところ、第4の実施形態のストレージシステムはページ単位である点で相違する。また、第2の実施形態のストレージシステムはファイル単位で、第3の実施形態のストレージシステムは、1以上のファイルをグループ化したグループ単位で高速デバイスへのデータの再配置をおこなった。しかし、第4の実施形態のストレージシステムは、ページ単位で高速デバイスへのデータの再配置をおこなう点で、第2の実施形態のストレージシステムおよび第3の実施形態のストレージシステムと相違する。なお、第4の実施形態のストレージシステムおよびストレージ装置の構成は、第2の実施形態のストレージシステムおよびストレージ装置の構成と同様であるため、符号を同じにして説明を省略する。
まず、階層制御に用いる統計情報について図9を用いて説明する。図9は、第4の実施形態の統計情報管理テーブルの一例を示す図である。
統計情報管理テーブル220は、階層制御においてファイルの再配置をおこなう場合に、再配置対象となるページの選択に用いられる情報である。ストレージ装置10は、ログ構造化ファイルシステムから取得した情報にもとづいて統計情報管理テーブル220を生成することができる。
統計情報管理テーブル220は、階層制御においてファイルの再配置をおこなう場合に、再配置対象となるページの選択に用いられる情報である。ストレージ装置10は、ログ構造化ファイルシステムから取得した情報にもとづいて統計情報管理テーブル220を生成することができる。
階層制御モジュールは、ログ構造化ファイルシステムからページごとの更新時刻と読み込み回数を、所定時間ごとに取得する。階層制御モジュールは、取得した情報を集計して、統計情報管理テーブル220を生成することができる。
統計情報管理テーブル220は、ページIDと、平均更新時間間隔と、最終更新時刻と、読み込み回数を項目に含み、ページごとの情報を記録する。ページIDは、ページを特定可能な情報を示す。ページは、ログ構造化ファイルシステムにおける固定サイズのデータの管理単位である。たとえば、ページサイズは、デバイスの最小アクセス単位である。
なお、1つのページサイズを超えないサイズのファイルは、1つのページから構成される。また、1つのページサイズを超えるサイズのファイルは、複数のページから構成される。たとえば、ページサイズが4KBの場合、1MBのファイルは、256のページから構成される。
平均更新時間間隔は、ページの更新時間間隔の平均値を示す。最終更新時刻は、ページが最後に更新された時刻を示す。読み込み回数は、単位時間当たりにページが読み込まれた回数を示す。
統計情報管理テーブル220によれば、たとえば、ページID「#P0」で特定されるページは、平均更新時間間隔「52時間」、最終更新時刻「2時間前」、読み込み回数「525」であることを示す。ページID「#P1」で特定されるページは、平均更新時間間隔「22分」、最終更新時刻「5分前」、読み込み回数「24,220」であることを示す。ページID「#P2」で特定されるページは、平均更新時間間隔「3,202時間」、最終更新時刻「8,226時間前」、読み込み回数「60,602」であることを示す。
次に、第4の実施形態の再配置処理について図10を用いて説明する。図10は、第4の実施形態の第3再配置処理のフローチャートを示す図である。
第3再配置処理は、第2の実施形態の再配置処理の変形例となる再配置処理である。第3再配置処理は、読み込み予定回数が多く見込めるページを高速デバイスに再配置する処理である。階層制御モジュールは、あらかじめ定める実行時刻や実行周期で第3再配置処理を実行する。なお、統計情報管理テーブル220は、第3再配置処理の実行周期に比較して十分に短い時間で更新される。
第3再配置処理は、第2の実施形態の再配置処理の変形例となる再配置処理である。第3再配置処理は、読み込み予定回数が多く見込めるページを高速デバイスに再配置する処理である。階層制御モジュールは、あらかじめ定める実行時刻や実行周期で第3再配置処理を実行する。なお、統計情報管理テーブル220は、第3再配置処理の実行周期に比較して十分に短い時間で更新される。
[ステップS21]階層制御モジュールは、統計情報管理テーブル220から全ページの更新時間間隔と読み込み回数を取得する。
[ステップS22]階層制御モジュールは、全ページのうちから算出対象ページを1つ選択する。
[ステップS22]階層制御モジュールは、全ページのうちから算出対象ページを1つ選択する。
[ステップS23]階層制御モジュールは、算出対象ページの予測更新時刻と次回再配置時刻を比較する。階層制御モジュールは、算出対象ページの予測更新時刻が次回再配置時刻と同じあるいは次回再配置時刻より早い場合に、ステップS24にすすむ。一方、階層制御モジュールは、算出対象ページの予測更新時刻が次回再配置時刻より遅い場合に、ステップS25にすすむ。
算出対象ページの予測更新時刻は、最終更新時刻と平均更新時間間隔から、たとえば(1)式を用いて算出できる。
[ステップS24]階層制御モジュールは、算出対象ページについて算出始期から予測更新時刻までを算出対象期間として、算出対象ページの読み込み回数を用いて読み込み予定回数(一部期間)を算出する。読み込み予定回数(一部期間)は、たとえば(2)式を用いて算出できる。
[ステップS24]階層制御モジュールは、算出対象ページについて算出始期から予測更新時刻までを算出対象期間として、算出対象ページの読み込み回数を用いて読み込み予定回数(一部期間)を算出する。読み込み予定回数(一部期間)は、たとえば(2)式を用いて算出できる。
[ステップS25]階層制御モジュールは、算出対象ページについて算出始期から次回再配置時刻までを算出対象期間として、算出対象ページの読み込み回数を用いて読み込み予定回数(全部期間)を算出する。読み込み予定回数(全部期間)は、たとえば(3)式を用いて算出できる。
[ステップS26]階層制御モジュールは、ページのエントリに算出結果を記録する。
[ステップS27]階層制御モジュールは、算出対象の全ページについて読み込み予定回数を算出したか否かを判定する。階層制御モジュールは、算出対象の全ページについて読み込み予定回数を算出した場合にステップS28にすすみ、算出対象の全ページについて読み込み予定回数を算出していない場合にステップS22にすすむ。
[ステップS27]階層制御モジュールは、算出対象の全ページについて読み込み予定回数を算出したか否かを判定する。階層制御モジュールは、算出対象の全ページについて読み込み予定回数を算出した場合にステップS28にすすみ、算出対象の全ページについて読み込み予定回数を算出していない場合にステップS22にすすむ。
[ステップS28]階層制御モジュールは、算出結果でページをソートする。たとえば階層制御モジュールは、読み込み予定回数をソートキーにして読み込み予定回数が多い順に全ページをソートする。
[ステップS29]階層制御モジュールは、全ページのソート結果から高速デバイスに配置する再配置対象ページを選択する。たとえば、階層制御モジュールは、読み込み予定回数が多い順に所定数のページを選択する。
[ステップS30]階層制御モジュールは、再配置対象ページをページ単位で高速デバイスに配置する再配置をおこない、第3再配置処理を終了する。
なお、階層制御モジュールは、再配置対象ページを高速デバイスに配置した後に、統計情報管理テーブル220にあるページごとの読み込み回数をリセットする。これにより、階層制御モジュールは、時間経過とともに変化するページへのアクセスパタンに対応して、直近のアクセスパタンを反映した読み込み回数にもとづいて階層制御をおこなうことができる。
なお、階層制御モジュールは、再配置対象ページを高速デバイスに配置した後に、統計情報管理テーブル220にあるページごとの読み込み回数をリセットする。これにより、階層制御モジュールは、時間経過とともに変化するページへのアクセスパタンに対応して、直近のアクセスパタンを反映した読み込み回数にもとづいて階層制御をおこなうことができる。
これにより、ストレージ装置10は、ログ構造化ファイルシステムで保存されているファイルに対してページ単位のデータの再配置をおこなうことができる。このようなストレージ装置10は、より細粒度の統計情報にもとづいて再配置対象データを選択することで、高速デバイスへのデータの再配置をより効率的におこなうことができる。
ストレージ装置10は、アクセス頻度の高いファイルを高速デバイスに再配置した後にデータ更新によりアクセス頻度が低下する非効率を排除できる。したがって、ストレージ装置10は、高速に処理されるリクエストの割合を高めて、階層制御における高速デバイスの利用効率を向上できる。
[第2の実施形態から第4の実施形態の変形例]
第2の実施形態では、ファイル単位の統計情報からファイル単位の読み込み予定回数を算出して、ファイル単位で高速デバイスに再配置した。また、第3の実施形態では、ファイル単位の統計情報からグループ単位の読み込み予定回数を算出して、グループ単位で高速デバイスに再配置した。また、第4の実施形態では、ページ単位の統計情報からページ単位の読み込み予定回数を算出して、ページ単位で高速デバイスに再配置した。このような統計情報の収集単位と、高速デバイスへの再配置単位については、他の組み合わせも取り得る。
第2の実施形態では、ファイル単位の統計情報からファイル単位の読み込み予定回数を算出して、ファイル単位で高速デバイスに再配置した。また、第3の実施形態では、ファイル単位の統計情報からグループ単位の読み込み予定回数を算出して、グループ単位で高速デバイスに再配置した。また、第4の実施形態では、ページ単位の統計情報からページ単位の読み込み予定回数を算出して、ページ単位で高速デバイスに再配置した。このような統計情報の収集単位と、高速デバイスへの再配置単位については、他の組み合わせも取り得る。
たとえば、ストレージ装置10は、ページ単位の統計情報からファイル単位の読み込み予定回数を算出して、ファイル単位で高速デバイスに再配置することができる。あるいは、ストレージ装置10は、ページ単位の統計情報からグループ単位の読み込み予定回数を算出して、グループ単位で高速デバイスに再配置することができる。ストレージ装置10は、このような統計情報の収集単位と高速デバイスへの再配置単位によっても、高速に処理されるリクエストの割合を高めて、階層制御における高速デバイスの利用効率を向上できる。
[第5の実施形態]
次に、第5の実施形態のストレージシステムについて図11を用いて説明する。図11は、第5の実施形態のストレージシステムの構成の一例を示す図である。
次に、第5の実施形態のストレージシステムについて図11を用いて説明する。図11は、第5の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム9は、ストレージ制御装置90と、サーバ91と、ストレージデバイス92,93と、ネットワーク94とを含む。ストレージデバイス92とストレージデバイス93は、アクセス速度の異なるストレージデバイスであり、ストレージデバイス92は、ストレージデバイス93と比較してアクセス速度が速い高速デバイスである。言い換えれば、ストレージデバイス93は、ストレージデバイス92と比較してアクセス速度が遅い低速デバイスである。また、一般的に、ストレージデバイス93は、ストレージデバイス92と比較して大容量かつ安価である。たとえば、ストレージデバイス92はSSDであり、ストレージデバイス93はHDDである。
なお、ストレージデバイス92とストレージデバイス93の組み合わせは、SSDとHDDに限らない。たとえば、ニアラインディスクとオンラインディスクの組み合わせ、HDDとテープストレージの組み合わせ、あるいはこれ以外の組み合わせであってもよい。
ネットワーク94は、たとえば1または複数のストレージ制御装置90と、1または複数のサーバ91と、1または複数のストレージデバイス92と、1または複数のストレージデバイス93を接続する。
ストレージ制御装置90は、ネットワーク94を介してストレージデバイス92とストレージデバイス93と通信可能に接続する。ストレージ制御装置90は、第2の実施形態のCM20,30と同様にストレージデバイス92とストレージデバイス93を対象にした階層制御をおこなうことができる。
サーバ91は、ストレージデバイス92またはストレージデバイス93にデータを書き込み、またストレージデバイス92またはストレージデバイス93からデータを読み込むことができる。なお、サーバ91は、ストレージ制御装置90が有する機能を含み、ストレージ制御装置90と一体に構成されるものであってもよい。
このように、ストレージシステム9は、ストレージ制御装置90とストレージデバイス92とストレージデバイス93とを別体にして含み、ネットワーク94を介して相互に接続する。これによっても、ストレージシステム9は、第1の実施形態から第4の実施形態で説明したストレージ装置1,10と同様に、階層制御における高速デバイスの利用効率を向上できる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ストレージ装置1,10、ストレージ制御装置90が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disk)、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
1,10 ストレージ装置
1a 制御部
2 第1ストレージデバイス
3 第2ストレージデバイス
5,9 ストレージシステム
6,91 サーバ
7,94 ネットワーク
10 ストレージ装置
11,12 チャネルアダプタ
13,14 リモートアダプタ
20,30 コントローラモジュール(CM)
21,31 プロセッサ
22,32 メモリ
23,24,33,34 ディスクアダプタ
50 ドライブエンクロージャ(DE)
51,52 SSD
53,54 HDD
90 ストレージ制御装置
92,93 ストレージデバイス
200,220 統計情報管理テーブル
210 算出結果集計テーブル
1a 制御部
2 第1ストレージデバイス
3 第2ストレージデバイス
5,9 ストレージシステム
6,91 サーバ
7,94 ネットワーク
10 ストレージ装置
11,12 チャネルアダプタ
13,14 リモートアダプタ
20,30 コントローラモジュール(CM)
21,31 プロセッサ
22,32 メモリ
23,24,33,34 ディスクアダプタ
50 ドライブエンクロージャ(DE)
51,52 SSD
53,54 HDD
90 ストレージ制御装置
92,93 ストレージデバイス
200,220 統計情報管理テーブル
210 算出結果集計テーブル
Claims (10)
- ログ構造化データ書き込み方法によりデータを記録するとともに、第1ストレージデバイスとアクセス速度が前記第1ストレージデバイスより低速な第2ストレージデバイスとの間で前記データの再配置をおこなうストレージ装置であって、
記録対象データごとの次回更新タイミングまたは次回再配置タイミングのうちいずれか早いタイミングと、単位時間当たりの前記記録対象データごとのアクセス回数とから前記記録対象データごとのアクセス予定回数を算出し、前記アクセス予定回数が多い記録対象データを前記第1ストレージデバイスに配置する制御部、
を備えるストレージ装置。 - 前記アクセス回数は、前記記録対象データごとの読み込み回数である請求項1記載のストレージ装置。
- 前記制御部は、ファイル単位で取得した更新時間間隔と読み込み回数とから、前記ファイルごとの前記アクセス予定回数を算出し、再配置対象となる前記記録対象データを前記ファイル単位で決定する、
請求項1記載のストレージ装置。 - 前記制御部は、ファイル単位で取得した更新時間間隔と読み込み回数とから、1以上の前記ファイルを含むグループごとの前記アクセス予定回数を算出し、再配置対象となる前記記録対象データを前記グループ単位で決定する、
請求項1記載のストレージ装置。 - 前記制御部は、ページ単位で取得した更新時間間隔と読み込み回数とから、前記ページごとの前記アクセス予定回数を算出し、再配置対象となる前記記録対象データを前記ページ単位で決定する、
請求項1記載のストレージ装置。 - 前記制御部は、ページ単位で取得した更新時間間隔と読み込み回数とから、前記ページを含むファイルごとの前記アクセス予定回数を算出し、再配置対象となる前記記録対象データを前記ファイル単位で決定する、
請求項1記載のストレージ装置。 - 前記制御部は、ページ単位で取得した更新時間間隔と読み込み回数とから、1以上の前記ページを含むグループごとの前記アクセス予定回数を算出し、再配置対象となる前記記録対象データを前記グループ単位で決定する、
請求項1記載のストレージ装置。 - ログ構造化データ書き込み方法によりデータを記録するとともに、第1ストレージデバイスとアクセス速度が前記第1ストレージデバイスより低速な第2ストレージデバイスとの間で前記データの再配置をおこなう情報処理装置のストレージ制御プログラムにおいて、
前記情報処理装置に、
記録対象データごとの次回更新タイミングまたは次回再配置タイミングのうちいずれか早いタイミングと、単位時間当たりの前記記録対象データごとのアクセス回数とから前記記録対象データごとのアクセス予定回数を算出し、前記アクセス予定回数が多い記録対象データを前記第1ストレージデバイスに配置する、
処理を実行させるストレージ制御プログラム。 - ログ構造化データ書き込み方法によりデータを記録するとともに、第1ストレージデバイスとアクセス速度が前記第1ストレージデバイスより低速な第2ストレージデバイスとの間で前記データの再配置をおこなう情報処理装置のストレージ制御方法において、
前記情報処理装置が、
記録対象データごとの次回更新タイミングまたは次回再配置タイミングのうちいずれか早いタイミングと、単位時間当たりの前記記録対象データごとのアクセス回数とから前記記録対象データごとのアクセス予定回数を算出し、前記アクセス予定回数が多い記録対象データを前記第1ストレージデバイスに配置する、
処理を実行するストレージ制御方法。 - 第1ストレージデバイスと、
アクセス速度が前記第1ストレージデバイスより低速な第2ストレージデバイスと、
前記第1ストレージデバイスまたは前記第2ストレージデバイスに、ログ構造化データ書き込み方法によりデータを記録するとともに、前記第1ストレージデバイスと前記第2ストレージデバイスとの間で前記データの再配置をおこなうストレージ制御装置と、を含むストレージシステムであって、
前記ストレージ制御装置は、
記録対象データごとの次回更新タイミングまたは次回再配置タイミングのうちいずれか早いタイミングと、単位時間当たりの前記記録対象データごとのアクセス回数とから前記記録対象データごとのアクセス予定回数を算出し、前記アクセス予定回数が多い記録対象データを前記第1ストレージデバイスに配置する制御部、
を備えるストレージシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015047011A JP2016167195A (ja) | 2015-03-10 | 2015-03-10 | ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステム |
US15/045,626 US9836222B2 (en) | 2015-03-10 | 2016-02-17 | Storage apparatus, storage control method, and storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015047011A JP2016167195A (ja) | 2015-03-10 | 2015-03-10 | ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016167195A true JP2016167195A (ja) | 2016-09-15 |
Family
ID=56887743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015047011A Pending JP2016167195A (ja) | 2015-03-10 | 2015-03-10 | ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9836222B2 (ja) |
JP (1) | JP2016167195A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022037404A (ja) * | 2020-08-25 | 2022-03-09 | 株式会社日立製作所 | ストレージシステムおよびデータ管理方法 |
CN115543930A (zh) * | 2022-03-01 | 2022-12-30 | 荣耀终端有限公司 | 一种在内存中锁定文件的方法、装置及相关设备 |
JP2023502509A (ja) * | 2019-11-25 | 2023-01-24 | マイクロン テクノロジー,インク. | 異なるタイプのメモリ間のページマイグレーションの低減 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250064B (zh) | 2016-08-19 | 2020-05-12 | 深圳大普微电子科技有限公司 | 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 |
JP2022050219A (ja) * | 2020-09-17 | 2022-03-30 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及び情報処理プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216460A (ja) | 2002-01-21 | 2003-07-31 | Hitachi Ltd | 階層ストレージ装置及びその制御装置 |
US7870128B2 (en) * | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
WO2009102425A1 (en) | 2008-02-12 | 2009-08-20 | Netapp, Inc. | Hybrid media storage system architecture |
US8880835B2 (en) * | 2009-07-07 | 2014-11-04 | International Business Machines Corporation | Adjusting location of tiered storage residence based on usage patterns |
WO2012056494A2 (en) * | 2010-10-26 | 2012-05-03 | Hitachi, Ltd. | Storage system and its operation method |
US9658781B2 (en) * | 2014-11-19 | 2017-05-23 | International Business Machines Corporation | Tier based data file management |
-
2015
- 2015-03-10 JP JP2015047011A patent/JP2016167195A/ja active Pending
-
2016
- 2016-02-17 US US15/045,626 patent/US9836222B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023502509A (ja) * | 2019-11-25 | 2023-01-24 | マイクロン テクノロジー,インク. | 異なるタイプのメモリ間のページマイグレーションの低減 |
JP2022037404A (ja) * | 2020-08-25 | 2022-03-09 | 株式会社日立製作所 | ストレージシステムおよびデータ管理方法 |
JP7313321B2 (ja) | 2020-08-25 | 2023-07-24 | 株式会社日立製作所 | ストレージシステムおよびデータ管理方法 |
CN115543930A (zh) * | 2022-03-01 | 2022-12-30 | 荣耀终端有限公司 | 一种在内存中锁定文件的方法、装置及相关设备 |
CN115543930B (zh) * | 2022-03-01 | 2023-10-24 | 荣耀终端有限公司 | 一种在内存中锁定文件的方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US9836222B2 (en) | 2017-12-05 |
US20160266796A1 (en) | 2016-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263149B2 (en) | Cache management of logical-physical translation metadata | |
US11132300B2 (en) | Memory hierarchy using page-based compression | |
US10235101B2 (en) | Log structured block device for hard disk drive | |
JP2016167195A (ja) | ストレージ装置、ストレージ制御プログラム、ストレージ制御方法、およびストレージシステム | |
US20100262760A1 (en) | Command processor for a data storage device | |
US9619150B2 (en) | Data arrangement control method and data arrangement control apparatus | |
US9348517B2 (en) | Using a migration threshold and a candidate list for cache management of sequential write storage | |
US10846226B2 (en) | System and method for prediction of random read commands in virtualized multi-queue memory systems | |
US20140372675A1 (en) | Information processing apparatus, control circuit, and control method | |
KR101782685B1 (ko) | 중복이 제거된 가상 머신 이미지 트랜스퍼 | |
CN105468642A (zh) | 数据的存储方法及装置 | |
US9477605B2 (en) | Memory hierarchy using row-based compression | |
US20140325123A1 (en) | Information processing apparatus, control circuit, and control method | |
CN106598724A (zh) | 用于在计算***中管理内存的方法 | |
JP6402557B2 (ja) | ストレージ装置、ストレージ制御方法およびストレージ制御プログラム | |
US20200285510A1 (en) | High precision load distribution among processors | |
Ma et al. | Alleviating hot data write back effect for shingled magnetic recording storage systems | |
US9699254B2 (en) | Computer system, cache management method, and computer | |
TW201314453A (zh) | 用於藉由一可再程式化電路模組之資料存取之方法及裝置 | |
CN114489475A (zh) | 分布式存储***及其数据存储方法 | |
US20150121033A1 (en) | Information processing apparatus and data transfer control method | |
JP2017027301A (ja) | ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法 | |
JP5966404B2 (ja) | 分散ファイルアクセス装置、分散ファイルアクセスシステム、分散ファイルアクセス方法、及び、分散ファイルアクセスプログラム | |
US11461225B2 (en) | Storage device, control method of storage device, and storage medium | |
US11055622B2 (en) | Data storage apparatus with selective adaptive predictive behavior |