JP6070371B2 - データ配置プログラム、及び情報処理装置 - Google Patents

データ配置プログラム、及び情報処理装置 Download PDF

Info

Publication number
JP6070371B2
JP6070371B2 JP2013075027A JP2013075027A JP6070371B2 JP 6070371 B2 JP6070371 B2 JP 6070371B2 JP 2013075027 A JP2013075027 A JP 2013075027A JP 2013075027 A JP2013075027 A JP 2013075027A JP 6070371 B2 JP6070371 B2 JP 6070371B2
Authority
JP
Japan
Prior art keywords
data
virtual
arrangement
hierarchy
capacity
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.)
Expired - Fee Related
Application number
JP2013075027A
Other languages
English (en)
Other versions
JP2014199596A (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 JP2013075027A priority Critical patent/JP6070371B2/ja
Priority to US14/219,085 priority patent/US20140297983A1/en
Publication of JP2014199596A publication Critical patent/JP2014199596A/ja
Application granted granted Critical
Publication of JP6070371B2 publication Critical patent/JP6070371B2/ja
Expired - Fee Related 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/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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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

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参照)。
特開2010−257094号公報
しかしながら、例えば高速なディスクと低速なディスクとの間で再配置が頻繁に行われるデータは、そのデータに実際に要求されるアクセス速度(アクセス性能)があまり変化していないにもかかわらず、頻繁な移動が生じてしまう。そのため、データの移動処理に対する負荷が大きくなってしまう。
1つの側面では、本発明は、データの再配置による負荷を軽減してアクセス性能を効率よく向上させることを目的とする。
一態様におけるデータ配置プログラムは、物理記憶装置の記憶領域に設定された複数の階層間でデータの移動を行う際に、前記物理記憶装置の記憶領域に記憶されたデータについて、前記複数の階層のそれぞれを分割して設定された仮想階層に対応付けて、実際に記憶されたデータの配置に対して割り当てた場合の配置を示す第1の配置情報と、予め設定された再配置条件に基づいて配置先を割り当てた場合の該配置先を示す第2の配置情報を用いて指標値を取得し、取得した前記指標値に基づいて前記データの移動の可否を決定する、処理をコンピュータに実行させる。
アクセス性能を効率よく向上させることができる。
第1実施形態におけるストレージシステムの構成例を示す図である。 第2実施形態におけるストレージシステムの構成例を示す図である。 データ配置処理が実現可能なハードウェア構成の一例を示す図である。 データ配置処理の一例を示すフローチャートである。 再配置処理の一例を示すフローチャートである。 新規作成処理の一例を示すフローチャートである。 仮想階層作成処理の一例を示すフローチャートである。 物理階層テーブルの一例を示す図である。 仮想階層テーブルの一例を示す図である。 現実仮想配置へのデータ割り当て処理の一例を示すフローチャートである。 理想仮想配置へのデータ割り当て処理の一例を示す図である。 暫定仮想配置の決定手法の一例を示すフローチャートである。 仮想配置テーブルの一例を示す図である。 暫定仮想配置テーブルの一例を示す図である。 各仮想配置の具体例を示す図である。 データ容量のチェック処理の一例を示すフローチャートである。 容量オーバー解消処理の一例を示すフローチャート(その1)である。 容量オーバー解消処理の一例を示すフローチャート(その2)である。 容量オーバー解消処理を説明するための図である。 移動データの決定処理の一例を示すフローチャートである。 移動リストの一例を示す図である。
以下、添付図面を参照しながら実施例について詳細に説明する。なお、以下の説明では、データの再配置を行うシステム構成の一例とでストレージシステムを例に説明するが、これに限定されるものではない。
<第1実施形態>
図1は、第1実施形態におけるストレージシステムの構成例を示す図である。図1に示すストレージシステム10は、情報処理装置の一例としてのストレージ装置11と、端末12と、管理サーバ13とを有する。ストレージ装置11と、端末12と、管理サーバ13とは、例えばインターネットやLocal Area Network(LAN)等に代表される通信ネットワーク14によりデータの送受信が可能な状態で接続されている。
ストレージ装置11は、所定のサービスを提供したり、業務を実施するために必要な各種データを記憶する記憶手段である。ストレージ装置11は、例えば自動階層化における効率的なデータ配置を実現すると共に、データを絶対的ではなく相対的に配置する。また、ストレージ装置11は、例えば高い階層や高速ストレージを有効に使用し、仮想階層を用いて移動の効果が低いデータについては移動させないようにする。
端末12は、ストレージ装置11に記憶された各種データを必要に応じて選択的に利用するユーザが使用する端末であり、管理サーバ12やストレージ装置11にデータ要求等の指示を送信したり、要求に対応するデータを受信する。
管理サーバ13は、ストレージ装置11に対するデータのアクセス等を管理したり、端末12毎におけるデータの利用履歴等を管理するための管理手段であり、管理者が使用する端末である。
端末12及び管理サーバ13としては、例えばPersonal Computer(PC)やタブレット端末等があるが、これに限定されるものではない。
次に、ストレージ装置11の具体的な機能構成例について説明する。ストレージ装置11は、構成情報管理部21と、算出部の一例としてのアクセス回数カウント部22と、仮想階層作成部23と、決定部の一例としての再配置場所決定部24と、再配置実行部25と、新規データ書き込み判定部26と、物理記憶装置27とを有する。
構成情報管理部21は、物理記憶装置27内の構成情報を管理する。構成情報とは、例えば物理記憶装置27における物理階層の数や、物理階層毎の記憶容量や空き容量等であるが、これに限定されるものではなく、例えばアクセス(Input/Output)速度等のアクセス性能を有していてもよい。物理階層とは、例えばアクセス速度の異なるディスクの種類等を基準に階層化することができるが、これに限定されるものではない。構成情報管理部21は、各ディスクに物理階層を割り当てることで、物理階層の全容量を把握することができる。また、構成情報管理部21は、例えば各データに対する単位時間あたりのアクセス頻度(回数)や最終更新日時等のデータ管理情報等も管理することができる。
また、構成情報管理部21は、物理記憶装置27内の構成情報が変更されたか否かを管理し、変更された場合には、管理情報を更新する。構成情報管理部21は、例えば初回起動時やディスクが追加されたり交換された時等のタイミングで更新を行うが、これに限定されるものではない。
アクセス回数カウント部22は、物理記憶装置27内にデータのアクセスがあった場合に、そのアクセス回数(頻度)をカウントする。アクセス回数カウント部22は、アクセスされたデータ毎にアクセス回数等をカウントすることができるが、これに限定されるものではなく、例えば物理記憶装置27内の各ディスクのアクセス回数をカウントしてもよい。また、アクセス回数カウント部22は、例えばアクセス頻度(例えば、単位時間あたりアクセス回数の平均)等を取得することができるが、これに限定されるものではない。カウントされたアクセス回数等は、例えば構成情報管理部21にて管理される。
また、アクセス回数カウント部22は、例えば、最後にアクセスされてからの時間や最高層(最上位層)の使用率等をカウントすることもできるが、これに限定されるものではない。
仮想階層作成部23は、再配置場所を決定するために、物理記憶装置27内の物理階層に対する仮想階層を作成する。仮想階層作成部23により作成された仮想階層を用いることで、データの移動のコストを数値化することができ、移動効果が高いデータを移動させ、移動効果が低いデータの移動を削減することができる。これにより、無駄なディスク間のデータ移動(入出力)が減少するためアクセス性能の低下を防止することができる。
なお、仮想階層作成部23は、仮想階層を作成する前に予め一部又は全ての階層において空き容量を確保する。これにより、例えばある一定量の空き容量を高層に存在させることで、新規データを高層に書き込めるため、新規データに対してのアクセス性能は非常に高くなる。
再配置場所決定部24は、仮想階層作成部23により作成された仮想階層領域を用いて、データの再配置場所を決定する。再配置場所決定部24は、実際のデータの配置に対応する現実仮想階層へのデータ割り当てを行い、更に予め設定された再配置条件に対応した理想とする配置に対応する理想仮想階層へのデータ割り当てを行う。
再配置条件とは、例えばデータへのアクセス頻度(回数)が所定の閾値を超えるか否かを条件にすることができるがこれに限定されるものではない。例えば、最後に再配置してからの時間や最高層(最上位層)の使用率等が、所定の閾値を超えるか否かを条件にしてもよく、上述した複数の条件を組み合わせてもよい。
また、再配置場所決定部24は、現実仮想階層でのデータ配置と、理想仮想階層でのデータ配置とを比較して各データに対する指標値を取得し、取得した指標値に基づいて、各データの移動の可否を決定する。また、再配置場所決定部24は、決定された各データの移動の可否に基づいて暫定的な仮想配置を決定する。なお、指標値の一例としては、例えば現実仮想階層でのデータ配置と、理想仮想階層でのデータ配置との移動幅である。再配置場所決定部24は、取得した移動幅と、予め設定された閾値とに基づいて暫定的な仮想配置を決定する。
また、再配置場所決定部24は、その暫定的な仮想配置のデータ容量をチェックし、必要であれば容量オーバーの解消を行ってもよい。再配置場所決定部24は、最終的に調整された移動データを再配置実行部25に出力する。
再配置実行部25は、再配置場所決定部24から得られる移動リストに基づいてデータを移動して再配置を実行する。なお、上述した仮想階層作成部23、再配置場所決定部24、再配置実行部25における処理は、予め設定された再配置メソッドを呼び出して実行することができる。この再配置メソッドには、例えば「空き容量の確保」、「相対評価による高層優先配置の導入」、及び「仮想階層の導入」等のうち、少なくとも1つの処理を有する。また、再配置メソッドは、例えば予期せぬエラー(容量不足等)が生じた場合に、端末12や管理サーバ13等にエラーメッセージ等の例外処理を通知する。
新規データ書き込み判定部26は、例えば端末12又は管理サーバ13等から物理記憶装置27に対してアクセスが生じた場合に、そのアクセスが新規データの作成(書き込み)であるか否かを判定する。例えば、新規データ書き込み判定部26は、そのアクセスが新規データの作成である場合には、空き容量がある高層の物理階層から新規作成データを書き込む。なお、新規データ書き込み判定部26は、上述した処理を行う新規作成メソッドを呼び出して実行してもよい。高層の物理階層とは、例えば物理記憶装置27内の含まれる複数のディスクのうち、高速アクセスが可能な上位の階層であるが、これに限定されるものではない。
また、新規データ書き込み判定部26は、新規データに対する読み込みがあったか否かを判定してもよい。また、新規データ書き込み判定部26は、例えば新規作成メソッド等で予期せぬエラー(例えば、容量不足等)が生じた場合に、端末12や管理サーバ13等にエラーメッセージ等の例外処理を通知する。
新規データ書き込み判定部26は、新規データの書き込みや読み込み等が終了後、構成情報管理部21にデータ管理情報の更新を行わせる。なお、新規データ書き込み判定部26は、例えば端末12又は管理サーバ13等から物理記憶装置27に対してアクセスが生じた場合に、そのアクセスが新規データの作成(書き込み)でない場合には、通常通りの処理を行う。
物理記憶装置27は、1又は複数のディスク装置やドライブ装置を有し、それぞれが同一又は異なるアクセス速度や記憶容量を有している。物理記憶装置27としては、例えばHard Disk Drive(HDD)やSolid State Drive(SSD)等であるが、これに限定されるものではない。
第1実施形態では、データを絶対評価ではなく相対評価により上位の階層から順にデータを配置することができるため、アクセス性能の高いディスクを有効に活用できる。そのため、全体のアクセススピードを向上させることができる。
また、第1実施形態では、データを再配置する際に、予めデータを割り当てない領域(空き領域)を高層に作成し、新規データによる書き込みが起こった場合に、高速アクセス可能な高層ディスクに書き込むことができるため、高いアクセス性能を実現できる。
<第2実施形態>
なお、上述した第1実施形態では、上述した各構成(構成情報管理部21、アクセス回数カウント部22、仮想階層作成部23、再配置場所決定部24、再配置実行部25、新規データ書き込み判定部26)をストレージ装置11に設けた構成にしている。しかしながら、システム構成についてはこれに限定されるものではなく、例えば上述した構成の一部又は全部を管理サーバ13等の他の装置に持たせた構成にしてもよい。
図2は、第2実施形態におけるストレージシステムの構成例を示す図である。なお、第1実施形態で説明した各構成と同一の機能を有する部分については、同一の符号を付すものとし、ここでの具体的な説明は省略する。
図2に示すストレージシステム10'は、ストレージ装置11'と、端末12と、情報処理装置の一例としての管理サーバ13'とを有する。ストレージ装置11'と、端末12と、管理サーバ13'とは、例えば通信ネットワーク14によりデータの送受信が可能な状態で接続されている。
図2に示すストレージ装置11'は、物理記憶装置27を有する。また、管理サーバ13'は、構成情報管理部21と、アクセス回数カウント部22と、仮想階層作成部23と、再配置場所決定部24と、再配置実行部25と、新規データ書き込み判定部26とを有する。
上述した図1に示す第1実施形態では、データ配置処理に必要な構成をストレージ装置11として組み込んだが、図2に示す第2実施形態では、管理サーバ13'側に上述した構成をソフトウェアとして組み込んでいる。管理サーバ13'は通信ネットワーク14を介してストレージ装置11'の物理記憶装置27を参照しながら、上述した第1実施形態と同様のデータ再配置処理を行う。なお、第1実施形態におけるストレージ装置11と、第2実施形態における管理サーバ13'とは、共に上述したデータ再配置処理を行う情報処理装置である。
<ハードウェア構成例>
各機能をコンピュータに実行させることができる実行プログラム(データ配置プログラム)を、例えば汎用のPCやサーバ等にインストールすることにより、本実施形態におけるデータ配置処理を実現することができる。ここで、情報処理装置におけるデータ配置処理が実現可能なコンピュータのハードウェア構成例について図を用いて説明する。
図3は、データ配置処理が実現可能なハードウェア構成の一例を示す図である。図3におけるコンピュータ本体には、入力装置31と、出力装置32と、ドライブ装置33と、補助記憶装置34と、主記憶装置35と、各種制御を行うCentral Processing Unit(CPU)36と、ネットワーク接続装置37とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
入力装置31は、管理者等のユーザが操作するキーボード及びマウス等のポインティングデバイスや、マイクロフォン等の音声入力デバイスを有する。入力手段31は、ユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。
出力装置32は、本実施形態における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU36が有する制御プログラムによりプログラムの実行経過や結果等を表示する。
ここで、本実施形態においてコンピュータ本体にインストールされる実行プログラムは、例えば、Universal Serial Bus(USB)メモリやCD−ROM、DVD等の可搬型の記録媒体38等により提供される。プログラムを記録した記録媒体38は、ドライブ装置33にセット可能であり、CPU36からの制御信号に基づき、記録媒体38に含まれる実行プログラムが、記録媒体38からドライブ装置33を介して補助記憶装置34にインストールされる。
補助記憶装置34は、ハードディスク等のストレージ手段であり、CPU36からの制御信号に基づき、本実施形態における実行プログラムや、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置34は、CPU36からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
主記憶装置35は、CPU36により補助記憶装置34から読み出された実行プログラム等を格納する。なお、主記憶装置35は、Read Only Memory(ROM)やRandom Access Memory(RAM)等である。なお、補助記憶装置34及び主記憶装置35は、例えば上述した記憶手段13に対応している。
CPU36は、オペレーティングシステム等の制御プログラム、及び主記憶装置35に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現することができる。なお、プログラムの実行中に必要な各種情報等は、補助記憶装置34から取得することができ、また実行結果等を格納することもできる。
具体的には、CPU36は、例えば入力装置31から得られるプログラムの実行指示等に基づき、補助記憶装置34にインストールされたデータ配置プログラムを実行させることにより、主記憶装置35上でプログラムに対応する処理を行う。
例えば、CPU36は、データ配置プログラムを実行させることで、上述した構成情報管理部21における構成情報の管理、アクセス回数カウント部22によるアクセス回数(頻度)の算出等の処理を行う。また、CPU36は、データ配置プログラムを実行させることで、仮想階層作成部23による仮想階層の作成、再配置場所決定部24による再配置場所の決定等の処理を行う。また、CPU36は、データ配置プログラムを実行させることで、再配置実行部25による再配置の実行、新規データ書き込み判定部26による新規データの書き込み判定及びデータの書き込み等の処理を行う。なお、CPU36における処理内容は、これに限定されるものではない。
ネットワーク接続装置37は、CPU36からの制御信号に基づき、通信ネットワーク等と接続することにより、実行プログラムやソフトウェア、設定情報等を、通信ネットワーク14に接続されている外部装置等から取得する。また、ネットワーク接続装置37は、プログラムを実行することで得られた実行結果又は本実施形態における実行プログラム自体を外部装置等に提供することができる。
上述したようなハードウェア構成により、本実施形態におけるデータ配置処理を実行することができる。また、プログラムをインストールすることにより、汎用のPCやサーバ等で本実施形態におけるデータ配置処理を容易に実現することができる。
<データ配置処理例>
次に、データ配置処理の一例についてフローチャートを用いて説明する。なお、以下の説明では、一例として上述した第1実施形態の構成に基づくデータ配置処理について説明するが、第2実施形態についても同様に適用することができる。
図4は、データ配置処理の一例を示すフローチャートである。図4の例において、構成情報管理手段21は、物理記憶装置27内における構成情報が変更されたか否かを判断する(S01)。なお、構成情報管理手段21は、例えば物理記憶装置27内における物理階層毎の容量やアクセス(入出力)速度の変化の有無等により、構成情報の変更等を判断することができるが、これに限定されるものではない。また、S01の処理は、例えば初回起動時又は物理記憶装置27内へのディスク追加時等を基準に判断してもよいが、これに限定されるものではない。
次に、構成情報管理手段21は、構成情報が変更された場合(S01において、YES)、変更された構成情報を取得する(S02)。例えば、構成情報管理手段21は、ディスクの容量やアクセス速度等の情報に基づいて、物理記憶装置27に物理階層を割り当てることで、各物理階層の全容量を把握し、その構成情報を取得する。
S01の処理において構成情報が変更されていない場合(S01において、NO)、又は、S02の処理後、再配置場所決定部24は、予め設定された再配置条件を満たすか否かを判断する(S03)。再配置条件とは、例えばデータへのアクセス頻度や、最後に再配置してからの時間、最高階層の使用率等が、所定の閾値を超えるか否かを条件にすることができるがこれに限定されるものではなく、例えば上述した条件のうちの複数を組み合わせてもよい。
再配置条件を満たす場合(S03において、YES)、再配置実行手段26は、予め設定された再配置メソッド等を呼び出し、再配置処理を実行する(S04)。
また、S03の処理において再配置条件を満たさない場合(S03において、NO)、又は、S04の処理後、新規データ書き込み判定部26は、データアクセスが発生したか否かを判断する(S05)。新規データ書き込み判定部26は、データのアクセスが発生していない場合(S05において、NO)、S01の処理に戻る。また、新規データ書き込み判定部26は、データアクセスが発生した場合(S05において、YES)、そのアクセスがデータの新規作成か否かを判断する(S06)。
ここで、新規データ書き込み判定部26は、データの新規作成である場合(S06において、YES)、予め設定された新規作成メソッドを呼び出し、新規作成処理を実行する(S07)。なお、S07の処理では、データを新規作成する場合に、空き容量が十分な高層階層のディスクから書き込む処理を含んでいてもよい。
また、新規データ書き込み判定部26は、データの新規作成でない場合(S06において、NO)、通常の該当データの読み込み、又は、追加書き込み等の通常通りの処理を行う(S08)。
構成情報管理手段21は、S07又はS08の処理後、データの管理情報を更新する(S09)。次に、構成情報管理手段21は、処理を終了するか否かを判断し(S10)、処理を終了しない場合(S10において、NO)、S01の処理に戻る。また、構成情報管理手段21は、ユーザからの指示等により処理を終了する場合(S10において、YES)、データ配置処理を終了する。
なお、上述したS04における再配置処理やS07における新規作成処理において、例えば容量不足等の予期せぬエラーが生じた場合はその旨(例外処理)を通知してもよい。
<S04:再配置処理について>
次に、上述したS04の処理(再配置メソッド)についてフローチャートを用いて説明する。図5は、再配置処理の一例を示すフローチャートである。図5の例において、仮想階層作成部23は、仮想階層を作成する(S21)。なお、S21の処理において、仮想階層作成部23は、仮想階層を作成する前に予め一部又は全ての階層において空き容量を確保する。
次に、再配置場所決定部24は、現在のデータの配置に対応する現実仮想階層へのデータ割り当てを行う(S22)。また、再配置場所決定部24は、予め設定された理想とする配置に対応する理想仮想階層へのデータ割り当てを行う(S23)。
次に、再配置場所決定部24は、上述したS22の処理で得られたデータの配置と、S23の処理で得られたデータの配置とを比較し、各データの移動幅によるコストが予め設定された閾値以下の場合に移動対象として暫定的な仮想配置を決定する(S24)。次に、再配置場所決定部24は、その暫定的な仮想配置のデータ容量をチェックし、必要であれば容量オーバーの解消を行う(S25)。
また、再配置場所決定部24は、S25の処理で最終的に得られた物理配置と、現在の物理配置との差分から移動データを決定する(S26)。次に、再配置実行部25は、S26の処理で得られる移動データに基づいて各データの再配置を実行する(S27)。
ここで、既存手法では、主にデータを格納する物理階層を決めるためのポリシー(閾値)等を取得後、そのポリシーにしたがってデータを配置するが、このポリシーは、配置する階層をデータのアクセス回数の絶対値で評価するものである。そのため、従来では、空き容量の作成やデータの相対的配置ができず、高層にデータがあまり配置されないことや中低層に過剰に配置される恐れがあった。そこで、本実施形態では、上述した再配置処理を行うことで、アクセス性能を効率よく向上させることができる。
<S07:新規作成処理について>
次に、上述したS07の新規作成処理についてフローチャートを用いて説明する。図6は、新規作成処理の一例を示すフローチャートである。図6の例において、新規データ書き込み判定部26は、まず物理記憶装置27内の最高の物理階層を選択し(S31)、新規のデータサイズがその選択した物理階層の空き容量よりも大きいか否かを判断する(S32)。
新規データ書き込み判定部26は、データサイズが空き容量よりも大きい場合(S32において、YES)、現在の階層が物理記憶装置27内の最低の層か否かを判断する(S33)。新規データ書き込み判定部26は、最低の層でない場合(S33において、NO)、1つ下の物理階層を選択し(S34)、S32の処理に戻る。通常、下層の物理階層の場合には、上層の物理階層よりもアクセス速度が遅いが大容量である場合が多い。そのため、S34の処理のように、1つ下の物理階層を選択して容量のチェックを行う。
また、新規データ書き込み判定部26は、最低の層である場合(S33において、YES)、例外処理として、例えば容量不足である旨をユーザ等に通知する。なお、S33の処理において、選択した物理階層が最低の層である場合に、新規データ書き込み判定部26が例外処理を行うのは、その層より下の物理階層が存在せず、この時点で新規のデータが物理階層に書き込めないと判断されるからである。
また、新規データ書き込み判定部26は、S32の処理においてデータサイズがその選択した物理階層の空き容量よりも大きくない場合(S32において、NO)、その新規のデータを選択階層に書き込み(S36)、管理情報を更新する(S37)。管理情報としては、例えばデータID、格納物理階層、データサイズ、アクセス回数等があるが、これに限定されるものではない。この方法によって、新規データは、常に書き込み可能な最高層に書き込むことができる。新規データは、一定期間は頻繁にアクセスされるため、最高層に書き込むことで、新規データのアクセス効率がよくなると共に、全体のアクセス効率もよくなる。
<S21:仮想階層作成処理について>
次に、上述したS21の処理(仮想階層作成処理)についてフローチャートを用いて説明する。図7は、仮想階層作成処理の一例を示すフローチャートである。仮想階層作成部23は、データを移動する際に生じるコストを調べるために、仮想階層を作成する。また、仮想階層作成部23は、作成する際に一部を空き容量として残し、作成した仮想階層は全て仮想階層テーブルに書き込む。
図7の例において、仮想階層作成部23は、最高の物理階層を選択し(S41)、選択物理階層の容量の一部を、仮想階層に割り当てない「空きスペース」として定義する(S42)。
次に、仮想階層作成部23は、空きスペース以外の容量を分割し、各々を仮想階層の容量とし(S43)、予め設定された仮想階層テーブルに物理階層を識別するための番号と、作成した仮想階層の番号や空き容量等の必要情報を書き込む(S44)。
次に、仮想階層作成部23は、物理階層が最低の層か否かを判断し(S45)、最低の層でない場合(S45において、NO)、1つ下の物理階層を選択し(S46)、S42の処理に戻る。これにより、上述した仮想階層の作成を全ての物理階層で行うことができる。
仮想階層作成部23は、S45の処理において、物理階層が最低の層である場合(S45において、YES)、処理を終了する。
<物理階層テーブル>
ここで、図8は、物理階層テーブルの一例を示す図である。図8に示す物理階層テーブルの項目としては、例えば「物理階層番号」、「合計容量(GB)」、「空き容量(GB)」等があるが、これに限定されるものではない。
物理階層テーブルは、物理記憶装置27内に設定された各物理階層の記憶領域を管理するものであり、1つのカラムに1つの物理階層に関する情報が格納されている。各物理階層は番号で識別され、物理階層毎に合計容量及び空き容量が管理されている。なお、この情報は、ストレージ装置11が有していてもよく、管理サーバ13が有していてもよい。
図8の例では、階層番号が小さい方が上位の物理階層とし、上の物理階層は下の物理階層よりもアクセス速度が速いがデータ容量は小さい。図8に示す物理階層テーブルは、予め準備の段階で作成され、上述した仮想階層の作成時やデータ容量のチェック時、容量オーバーの解消の際に参照や更新が行われる。
<仮想階層テーブル>
図9は、仮想階層テーブルの一例を示す図である。図9に示す仮想階層テーブルの項目としては、例えば「仮想階層番号」、「物理階層番号」、「理想空き容量(GB)」、「理想格納データID」、「現実空き容量」、「現実格納データID」等があるが、これに限定されるものではない。
仮想階層番号と物理階層番号とは、仮想階層と物理階層とをそれぞれ識別するための識別情報である。仮想階層テーブルには、仮想階層毎に、理想の格納データと、現実の格納データとがそれぞれデータIDで管理されている。1つの仮想階層には、理想の空き容量と現実の空き容量に対応した1又は複数のデータIDが格納される。
図9の例では、1つのカラムに対して1つの仮想階層に関する情報が格納されている。図9に示す仮想階層テーブルは、仮想階層を作成する際に作成され、理想仮想階層や現実仮想階層へのデータ割り当ての際に参照や更新が行われる。
<S22:現実仮想配置へのデータ割り当て処理について>
次に、上述したS22の処理(現実仮想配置へのデータ割り当て処理)についてフローチャートを用いて説明する。図10は、現実仮想配置へのデータ割り当て処理の一例を示すフローチャートである。
図10の例において、再配置場所決定部24は、最高の物理階層を選択し(S51)、選択物理階層内にあるデータを、例えばアクセス頻度等で降順にソートし、最も高いアクセス頻度のデータを選択する(S52)。また、再配置場所決定部24は、選択物理階層内において最高の仮想階層を選択し(S53)、S52の処理で選択された選択データより選択仮想階層の空き容量が大きいか否かを判断する(S54)。
再配置場所決定部24は、選択仮想階層の空き容量が大きい場合(S54において、YES)、仮想階層テーブルの空き容量をデータ分だけ引き、現実仮想配置テーブルにデータID、データサイズ、現実選択階層(現実仮想配置情報)を格納する(S55)。このとき、再配置場所決定部24は、格納したデータに対応させて仮想階層テーブルの現実格納データIDと現実空き容量を更新してもよい。
次に、再配置場所決定部24は、選択物理階層内の全てのデータが仮想階層に格納されたか否かを判断し(S56)、全てのデータが仮想階層に格納されていない場合(S56において、NO)、選択物理階層内にあるデータのうち、次にアクセス頻度の高いデータを選択し(S57)、S54の処理に戻る。
また、再配置場所決定部24は、S54の処理において選択データより選択仮想階層の空き容量が大きくない場合(S54において、NO)、選択仮想階層が最低の層か否かを判断する(S58)。再配置場所決定部24は、選択仮想階層が最低の層でない場合(S58において、NO)、1つ下の仮想階層を選択し(S59)、S54の処理に戻る。また、再配置場所決定部24は、S58の処理において選択仮想階層が最低の層である場合(S58において、YES)、残りのデータを全て選択階層に割り当てる(S60)。
再配置場所決定部24は、S56の処理において選択物理階層内の全てのデータが仮想階層に格納された場合(S56において、YES)、又は、S60の処理後、選択物理階層が最低の層か否かを判断し(S61)、最低の層でない場合(S61において、NO)、1つ下の物理階層を選択し(S62)、S52の処理に戻る。また、再配置場所決定部24は、最低の層である場合(S61において、YES)、処理を終了する。
図10の例では、データを選択した物理階層から作成された仮想階層に、高層からデータを配置する。つまり、図10の例では、物理階層を超えない範囲でデータを相対的に上から順に仮想階層に配置する。再配置場所決定部24は、アクセス頻度が同じである場合は、そのデータを最終アクセス日時やデータサイズ等の基準で並べる。また、S52の処理におけるソートのキーはアクセス頻度に限定されるものではなく、例えば各データに対する最終アクセス日時等を基準にソートしてもよい。また、管理情報には、現実仮想階層の更新を行い、仮想階層テーブルには格納するデータのIDや空き容量を更新する。
<S23:理想仮想階層のデータ割り当てについて>
次に、上述したS23の処理(理想仮想配置へのデータ割り当て処理)についてフローチャートを用いて説明する。図11は、理想仮想配置へのデータ割り当て処理の一例を示す図である。
図11の例において、再配置場所決定部24は、最高の仮想階層を選択する(S71)。また、再配置場所決定部24は、全てのデータをアクセス頻度で降順にソートする(S72)。
次に、再配置場所決定部24は、S72の処理で得られた結果から、まだ配置されてない最も高いアクセス頻度を持つデータを選択し(S73)、選択されたデータより仮想階層の空き容量が大きいか否かを判断する(S74)。
再配置場所決定部24は、選択されたデータより仮想階層の空き容量が大きい場合(S74において、YES)、仮想階層テーブルの空き容量をデータ分だけ引き、理想仮想配置テーブルにデータID、データサイズ、理想選択階層(理想仮想配置情報)を格納する(S75)。このとき、再配置場所決定部24は、格納したデータに対応させて仮想階層テーブルの理想格納データIDと理想空き容量を更新してもよい。
次に、再配置場所決定部24は、全てのデータが仮想階層に格納されたか否かを判断し(S76)、全てのデータが仮想階層に格納されていない場合(S76において、NO)、S73の処理に戻る。
また、再配置場所決定部24は、S74の処理において選択されたデータより仮想階層の空き容量が大きくない場合(S74において、NO)、選択仮想階層が最低の層か否かを判断する(S77)。再配置場所決定部24は、選択仮想階層が最低の層でない場合(S77において、NO)、1つ下の仮想階層を選択し(S78)、S73の処理に戻る。また、再配置場所決定部24は、S77の処理において選択仮想階層が最低の層である場合(S77において、YES)、残りのデータを仮想階層の最低の層に割り当て(S79)、処理を終了する。また、再配置場所決定部24は、S76の処理において全てのデータが仮想階層に格納された場合(S76において、YES)、処理を終了する。
図11の例では、全てのデータを対象として理想仮想階層の高層から順に配置する。つまり、図11の例では、物理階層を超えてデータを相対的に上から順に仮想階層に配置する。なお、再配置場所決定部24は、アクセス頻度が同じデータがある場合、そのデータを最終アクセス日時やデータサイズ等の基準で並べる。また、S72の処理におけるソートのキーはアクセス頻度に限定されるものではなく、例えば各データに対する最終アクセス日時等を基準にソートしてもよい。また、管理情報には、理想仮想階層の更新を行い、仮想階層テーブルには格納するデータのIDや空き容量を更新する。
<S24:暫定仮想配置決定手法について>
次に、上述したS24の処理(暫定仮想配置決定処理)についてフローチャートを用いて説明する。図12は、暫定仮想配置決定処理の一例を示すフローチャートである。図12の例において、再配置場所決定部24は、暫定仮想階層が未決定のデータIDを選択する(S81)。なお、暫定仮想階層が未決定であるか否かの判断は、例えば暫定仮想配置テーブルに含まれる「暫定仮想階層」の欄が空欄である場合に未決定として判断することができるが、これに限定されるものではない。
次に、再配置場所決定部24は、選択したデータIDの理想仮想階層と現実仮想階層との差分の絶対値が予め設定された閾値より大きいか否かを判断する(S82)。再配置場所決定部24は、差分の絶対値が閾値より大きい場合(S82において、YES)、暫定仮想階層に理想仮想階層と同じ値を入れる(S83)。また、再配置場所決定部24は、S82の処理において差分の絶対値が閾値より大きくない場合(S82において、NO)、そのデータの移動による効果が低いとして暫定仮想階層に現実仮想階層を同じ値を入れる(S84)。
次に、再配置場所決定部24は、全ての暫定仮想配置が決定したか否かを判断し(S85)、全ての暫定仮想配置が決定していない場合(S85において、NO)、S81の処理に戻る。また、再配置場所決定部24は、全ての暫定仮想配置が決定した場合(S85において、YES)、処理を終了する。
<仮想配置テーブル>
図13は、仮想配置テーブルの一例を示す図である。なお、図13(A)は、現実仮想配置テーブルの一例を示し、図13(B)は、理想仮想配置テーブルの一例を示している。
図13(A)に示す現実仮想配置テーブルの項目としては、例えば「データID」、「格納物理階層」、「データサイズ(GB)」、「現実仮想配置情報」等があるが、これに限定されるものではない。図13(A)は、上述した図10に示す現実仮想配置へのデータ割り当て処理により作成される。
図13(B)に示す理想仮想配置テーブルの項目としては、例えば「データID」、「格納物理階層」、「データサイズ(GB)」、「理想仮想配置情報」等があるが、これに限定されるものではない。図13(B)は、上述した図11に示す理想仮想配置へのデータ割り当て処理により作成される。
本実施形態では、図13(A)に示す現実仮想配置テーブルの現実仮想配置情報の階層と、図13(B)に示す理想仮想配置テーブルの理想仮想配置情報の階層とを比較することで、異なる部分を抽出し、抽出された情報に基づいて再配置位置を決定し、決定した再配置位置に再配置を行う。なお、階層が異なる場合には、その移動幅の絶対値が予め設定された閾値を超える場合に再配置を行い、閾値以下の場合には移動を行わないようにすることができる。
図14は、暫定仮想配置テーブルの一例を示す図である。図14に示す暫定仮想配置テーブルの項目としては、例えば「データID」、「現実仮想配置情報」、「理想仮想配置情報」、「仮想階層移動幅」、「暫定仮想階層」等であるが、これに限定されるものではない。
図14に示す現実仮想配置情報は、図13(A)の現実仮想配置テーブルから取得した情報である。また、図14に示す理想仮想配置情報は、図13(B)の理想仮想配置テーブルから取得した情報である。図14に示す仮想階層移動幅には、現実仮想配置情報と理想仮想配置情報との差分情報(現実仮想配置情報−理想仮想配置情報)が格納されている。なお、移動幅は、絶対値情報であってもよい。
ここで、例えば移動幅が3以上のデータを理想仮想配置に移動させるように設定していた場合、図14の例では、データIDの32及び120の移動幅(絶対値)が3以上であるため、移動対象となる。したがって、32と120のデータIDについては、理想仮想配置の値を暫定仮想配置とし、それ以外のデータIDは、全て現実仮想配置の値を暫定仮想配置に入れる。本実施形態では、所定数以上の階層の移動は、移動の効果が高いため移動を行い、所定数未満の階層の移動は、移動の効果が低く、移動によるシステムの負荷もあるため、移動させないようにする。
なお、移動幅については、絶対値ではなく、図14に示すように正負の符号で管理してもよく、その場合は、上限値と下限値とで別々の閾値を設けてもよい。例えば、上限閾値2以上、下限閾値−5以下等であるが、これに限定されるものではない。これにより、上層への移動を優先したり、下層への移動を制限することができる。
<各仮想配置の具体例>
図15は、各仮想配置の具体例を示す図である。図15(A)は、現実仮想配置の一例を示し、図15(B)は、理想仮想配置の一例を示し、図15(C)は暫定仮想配置の一例を示している。また、図15に例では、高層、中層、低層の3層の物理階層(記憶領域)を有し、それぞれのアクセス速度は「高層>中層>低層」の関係を有している。
また、図15の例において、高層には1つの仮想階層(仮想階層1)を有し、中層には2つの階層(仮想階層2,3)を有し、低層には3つの仮想階層(仮想階層4〜6)を有しているが、各階層数については、これに限定されるものではない。
物理階層に対する仮想階層の分割手法については、例えば、ある一定容量(例えば、10GB毎等)に分割してもよく、また全ての物理階層を等分割(例えば、各物理階層を3分割ずつ等)があるが、これに限定されるものではない。
図15に示す○内の数字は、データIDを示すものであるが、説明の便宜上、アクセス回数にも相当するものとする。
本実施形態では、各層毎に少なくとも1つの仮想階層を設定し、設定した仮想階層を用いて現実に記憶されたデータに対する現実仮想階層(図15(A))を割り当てる。また、本実施形態では、アクセス頻度(回数)等の所定の条件に基づいてソートされた順番に理想仮想階層(図15(B))を割り当てる。そして、本実施形態では、それぞれの仮想階層の移動幅の大きさに基づいて、移動するデータを決定し、その結果に基づく暫定仮想階層を設定する(図15(C))。
<S25:データ容量チェック処理について>
次に、上述したS25の処理(データ容量チェック処理)についてフローチャートを用いて説明する。図16は、データ容量チェック処理の一例を示すフローチャートである。図16の例において、再配置場所決定部24は、最高の物理階層を選択し(S91)、例えば仮想階層テーブルから選択物理階層と同じ物理階層番号を持つ仮想階層番号を得る(S92)。
次に、再配置場所決定部24は、例えば暫定仮想配置テーブルから得た仮想階層番号と同じ暫定仮想階層を持つデータを順に探し、その各データ容量(データサイズ)を合計する(S93)。各データ容量は、例えば現実仮想配置テーブルや理想仮想配置テーブル等から取得することができるが、これに限定されるものではない。
次に、再配置場所決定部24は、選択物理階層と同じ物理階層番号の空き容量と、合計した容量とを比較し(S94)、合計容量が大きいか否かを判断する(S95)。再配置場所決定部24は、合計容量が大きい場合(S95において、YES)、容量オーバー解消処理を行う(S96)。また、再配置場所決定部24は、合計容量が大きくない場合(S95において、NO)、又は、S96の処理後、選択物理階層が最低の層か否かを判断する(S97)、最低の層でない場合(S97において、NO)、1つ下の物理階層を選択し(S98)、S92の処理に戻る。また、選択階層が最低の層である場合(S97において、YES)、当該処理を終了する。
暫定仮想階層の決定の際には、移動のキャンセルを行うことで、その階層の物理容量をオーバーする可能性がある。そこで、データ容量チェック処理は、上述したように上から物理階層を選択し、選択された階層から作成された暫定仮想階層に配置されるデータの合計量を計算する。その合計量が物理容量を超えない場合には1つ下の階層に進み、超えるのであればS96の容量オーバー解消処理を行う。
<S96:容量オーバー解消処理について>
次に、上述したS96の処理(容量オーバー解消処理)についてフローチャートを用いて説明する。図17,図18は、容量オーバー解消処理の一例を示すフローチャート(その1,その2)である。なお、以下の説明では、図17に示す処理を第1の容量オーバー解消処理とし、図18に示す処理を第2の容量オーバー解消処理とする。
図17の例において、再配置場所決定部24は、最高の物理階層を選択し(S101)、選択物理階層が最低の層か否かを判断する(S102)。再配置場所決定部24は、選択物理階層が最低の層でない場合(S102において、NO)、選択物理階層が容量オーバーか否かを判断する(S103)。再配置場所決定部24は、容量オーバーでない場合(S103において、NO)、1つ下の物理階層を選択し(S104)、S102の処理に戻る。
また、再配置場所決定部24は、S103の処理において容量オーバーである場合(S103において、YES)、現在の選択物理階層の中で最もアクセス頻度の低いデータを選択し、そのデータの暫定物理階層を1つ下の物理階層に置き換える(S105)。なお、暫定仮想階層のデータは、物理階層毎にリストアップしてアクセス頻度でソートされていてもよいが、これに限定されるものではない。
次に、再配置場所決定部24は、選択物理階層が容量不足を解消したか否かを判断し(S106)、解消していない場合(S106において、NO)、S105の処理に戻る。また、再配置場所決定部24は、S106の処理において容量不足を解消している場合(S106において、YES)、1つ下の物理階層を選択し(S107)、S102の処理に戻る。
また、再配置場所決定部24は、S102の処理において選択物理階層が最低の層である場合(S102において、YES)、選択物理階層が容量オーバーであるか否かを判断し(S108)、容量オーバーである場合(S108において、YES)、図18に示す第2の容量オーバー解消処理を行う(S109)。
また、再配置場所決定部24は、容量オーバーしている場合(S108において、NO)、又は、S109の処理後、処理を終了する。
次に、図18に示す第2の容量オーバー解消処理について説明する。再配置場所決定部24は、最低の物理階層を選択し(S111)、選択物理階層の最もアクセス頻度の高いデータを選択し、そのデータの暫定物理階層を1つ上の物理階層に書き換える(S112)。なお、暫定仮想階層のデータは、物理階層毎にリストアップしてアクセス頻度でソートされていてもよいが、これに限定されるものではない。
次に、再配置場所決定部24は、選択物理階層が容量不足を解消したか否かを判断し(S113)、容量不足を解消していない場合(S113において、NO)、S112の処理に戻る。また、再配置場所決定部24は、容量不足を解消している場合(S113において、YES)、1つ上の物理階層が容量オーバーか否かを判断する(S114)。再配置場所決定部24は、容量オーバーである場合(S114において、YES)、1つ上の物理階層が最高の物理階層か否かを判断する(S115)。再配置場所決定部24は、最高の物理階層である場合(S115において、YES)、更に上の物理階層が存在しないため、この時点で容量オーバーが解消できなかったと判断し、例外処理として、容量オーバーである旨をユーザに通知し(S116)、処理を終了する。
また、再配置場所決定部24は、S115の処理において最高の物理階層でない場合(S115において、NO)、1つ上の物理階層を選択し(S117)、S112の処理に戻る。なお、図17、図18に示す容量オーバー解消処理により移動したデータの情報は、例えば格納物理階層として記憶される。
<容量オーバー解消処理を説明するための図>
図19は、容量オーバー解消処理を説明するための図である。また、図19に示す○内の数字は、データIDを示すものであるが、説明の便宜上、アクセス回数にも相当するものとする。図19(A)は、上述した図15(C)の暫定仮想階層に対応している。
容量オーバー解消処理は、図19(A)に示す状態から、1つの物理階層を選択し、この物理階層に暫定配置されたデータの合計容量が物理層の合計容量を超えるか否かをチェックする。また、オーバーしている場合には、選択物理階層にあるデータのうち、最も低いアクセス回数のデータを選択する。
図19(A)の例では、データID200、120、70の合計容量が、高層の合計容量を超えている。したがって、再配置場所決定部24は、高層にあるデータのうち、最も低いアクセス回数のデータであるデータID70が選択される。また、再配置場所決定部24は、選択したデータを1つ下の物理階層に移動させる。図19(B)の例では、データID70を中層に移動させている。
上述したような処理を同一階層について容量オーバーが解消されるまで行う。また、再配置場所決定部24は、容量オーバーが解消したら、1つ下の階層(中層)が容量オーバーしている階層がないかチェックする。
また、再配置場所決定部24は、最低層がオーバーしていなければ終了とし、最低層がオーバーしている場合には、上述した図18に示す第2の容量オーバー解消処理を行う。
第2の容量オーバー解消処理は、例えば低層が容量オーバーしている場合に、その中で最も高いアクセス頻度を持つデータを選択し、そのデータIDを1つ上の物理階層に移動する。上述の処理を低層の容量オーバーが解消されるまで行う。図19(C)の例では、データID67、60の順で中層に移動させている。
次に、再配置場所決定部24は、1つ上の物理階層(図19の例において、中層)を選択し、その階層が容量オーバーしていないかチェックする。再配置場所決定部24は、容量オーバーしていない場合には、第2の容量オーバー解消処理を終了する。
また、再配置場所決定部24は、中層で容量オーバーしていた場合には、その階層の中で最も高いアクセス頻度を持つデータ(例えば、データID108)を選択し、そのデータIDを1つ上の物理階層(図19の例において、高層)に移動する。上述の処理を中層の容量オーバーが解消されるまで行う。ここで、もし高層のデータが容量オーバーした場合には、容量オーバーとして例外処理(例えば、エラーメッセージの通知)等を行う。
<S26:移動データ決定処理について>
次に、上述したS26の処理(移動データ決定処理)についてフローチャートを用いて説明する。図20は、移動データの決定処理の一例を示すフローチャートである。
図20の例において、再配置場所決定部24は、例えば暫定仮想配置テーブル等から一番小さいデータIDを持つデータを選択し(S121)、選択したデータIDに対して、暫定仮想配置テーブルに示す暫定物理階層と、例えば現実仮想配置テーブルに示す格納物理階層とが異なるか否かを判断する(S122)。再配置場所決定部24は、暫定物理階層と格納物理階層とが異なる場合(S122において、YES)、格納物理階層の内容を移動リストに加える(S123)。
また、再配置場所決定部24は、S122の処理において、暫定物理階層と格納物理階層とが異なっていない場合(S122において、NO)、又は、S123の処理後、全てのデータを調べたか否かを判断する(S124)。再配置場所決定部24は、全てのデータを調べていない場合(S124において、NO)、次に小さい番号を選択し(S125)、S122の処理に戻る。また、再配置場所決定部24は、全てのデータを調べた場合(S124において、YES)、処理を終了する。
<移動リストの一例>
図21は、移動リストの一例を示す図である。図21に示す移動リストの項目としては、例えば「データID」、「移動元物理階層」、「移動先物理階層」等があるが、これに限定されるものではない。
図21に示す移動リストの移動元物理階層及び移動先物理階層には、各物理階層(例えば、高層、中層、低層等)が格納されているが、これに限定されるものではなく、例えば物理階層を識別するための番号(物理階層番号)等が格納されていてもよい。
本実施形態では、図21に示すような移動リストの情報に基づいて、再配置実行部25にてデータの再配置処理が実行される。これにより、物理記憶装置27に対する適切なデータ移動を実現することができ、アクセス性能を効率よく向上させることができる。
上述したように本実施形態によれば、データの再配置による負荷を軽減してアクセス性能を効率よく向上させることができる。具体的には、本実施形態では、物理的な階層を細分化し、仮想的な階層を作成し、作成した仮想階層内において、相対的評価でデータを理想的な配置と現実の配置を作成し比較することで、効果の低いデータの移動をキャンセルする。
この場合、本実施形態では、空き容量を確保したり、相対評価による高層優先配置を導入したり、仮想階層の導入等を行う。空き容量の確保では、データを再配置する際に予めデータを割り当てない領域を高層に作ることで、データを新規作成する際の書き込むスペースを空ける。これにより、新規データによる書き込みが起こった場合、高層、つまり高速アクセス可能なディスクの空き容量に書き込むことが可能となり、結果として高いアクセス性能を実現できる。
また、相対評価による高層優先配置の導入では、再配置する際にデータを絶対評価ではなく、一定の指標値に基づいた相対評価を行い、高層から順に配置する。例えば、アクセス頻度を降順で並べ、高層から順にデータを配置する。これにより、本実施形態では、高層から順にアクセス頻度の高いデータを配置することで絶対評価による配置よりも高いアクセス性能を実現できる。
更に、仮想階層の導入では、仮想階層を導入することで移動のコストをシミュレーションすることができ、効果の低い移動を抽出できる。例えば、本実施形態では、物理階層を更に細かく分割した仮想階層を用いて、理想的なデータの配置と現実のデータの配置を仮想階層に作成する。また、本実施形態では、2つの配置を比較し、指標値を用いることで移動のコストを計算し、それに対して閾値を設けることで移動の可否を判定する。
なお、本実施形態における移動のコストには、例えば仮想階層間の移動幅や、データサイズ(データサイズの大きいものを移動しにくくするような評価)、最終移動時間(最近移動したものは移動しにくくするような評価)等を用いて計算する。これにより、物理階層間の移動として捉えるのではなく、仮想階層間の移動として捉えることで、従来手法よりも詳細にデータ移動の妥当性を評価することができる。したがって、相対評価による小さな変化を、全て効果の低い移動として抽出でき、階層間のデータの移動をキャンセルさせることが可能となる。
なお、評価した結果、閾値や判断基準を設けることで、移動の妥当性を判断することができる。このように無駄な移動がなくなることで、アクセス回数が減少し、全体のアクセス性能が向上させることができる。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
なお、以上の実施例に関し、更に以下の付記を開示する。
(付記1)
階層化された記憶領域間でデータの移動を行う際に、前記階層化された記憶領域に記憶されたデータに対し、予め設定された再配置条件に基づく指標値を取得し、
取得した前記指標値に基づいて前記データの移動の可否を決定する、処理をコンピュータに実行させるためのデータ配置プログラム。
(付記2)
前記再配置条件は、前記データに対するアクセス頻度を有し、
前記記憶領域に記憶される他のデータとの相対的なアクセス頻度に基づいて前記指標値を取得することを特徴とする付記1に記載のデータ配置プログラム。
(付記3)
前記階層化された記憶領域に対する仮想階層を設定し、設定された前記仮想階層に、実際に記憶されたデータを割り当てた結果と、予め設定された条件に基づいてデータを割り当てた結果とを用いて前記指標値を取得することを特徴とする付記1又は2に記載のデータ配置プログラム。
(付記4)
前記指標値は、前記実際に記憶されたデータを割り当てた結果に対応する仮想階層数と、前記予め設定された条件に基づいてデータを割り当てた結果に対応する仮想階層数との差分であることを特徴とする付記3に記載のデータ配置プログラム。
(付記5)
前記差分が、予め設定された閾値を超える場合に、前記データを移動対象とすることを特徴とする付記4に記載のデータ配置プログラム。
(付記6)
前記指標値に基づいて決定されたデータの移動の可否から暫定的な仮想配置を決定し、
決定した前記暫定的な仮想配置に属するデータ容量と、前記階層化された記憶領域の容量とを比較し、前記記憶領域の容量がオーバーする場合に、前記オーバーを解消する処理を実行することを特徴とする付記1乃至5の何れか1項に記載のデータ配置プログラム。
(付記7)
前記階層化された記憶領域に新規に作成されたデータを書き込む場合に、前記データをより高層の記憶領域に書き込ませることを特徴とする付記1乃至6の何れか1項に記載のデータ配置プログラム。
(付記8)
情報処理装置が、
階層化された記憶領域間でデータの移動を行う際に、前記階層化された記憶領域に記憶されたデータに対し、予め設定された再配置条件に基づく指標値を取得する指標値取得ステップと、
前記指標値取得ステップにより取得した前記指標値に基づいて前記データの移動の可否を決定する決定ステップとを有することを特徴とするデータ配置方法。
(付記9)
階層化された記憶領域間でデータの移動を行う際に、前記階層化された記憶領域に記憶されたデータに対し、予め設定された再配置条件に基づく指標値を取得し、取得した前記指標値に基づいて前記データの移動の可否を決定する決定部を有することを特徴とする情報処理装置。
10,10' ストレージシステム
11,11' ストレージ装置
12 端末
13,13' 管理サーバ
14 通信ネットワーク
21 構成情報管理部
22 アクセス回数カウント部(算出部)
23 仮想階層作成部
24 再配置場所決定部(決定部)
25 再配置実行部
26 新規データ書き込み判定部
27 物理記憶装置
31 入力装置
32 出力装置
33 ドライブ装置
34 補助記憶装置
35 主記憶装置
36 CPU
37 ネットワーク接続装置
38 記録媒体

Claims (7)

  1. 物理記憶装置の記憶領域に設定された複数の階層間でデータの移動を行う際に、
    前記物理記憶装置の記憶領域に記憶されたデータについて、前記複数の階層のそれぞれを分割して設定された仮想階層に対応付けて、実際に記憶されたデータの配置に対して割り当てた場合の配置を示す第1の配置情報と、予め設定された再配置条件に基づいて配置先を割り当てた場合の該配置先を示す第2の配置情報を用いて指標値を取得し、
    取得した前記指標値に基づいて前記データの移動の可否を決定する、処理をコンピュータに実行させるためのデータ配置プログラム。
  2. 前記再配置条件は、前記データに対するアクセス頻度を含み
    記アクセス頻度の順位に基づいて前記指標値を取得することを特徴とする請求項1に記載のデータ配置プログラム。
  3. 前記指標値は、前記第1の配置情報に含まれる仮想階層を示す値と、前記第2の配置情報に含まれる仮想階層を示す値との差分であることを特徴とする請求項1または2に記載のデータ配置プログラム。
  4. 前記指標値に基づいて決定されたデータの移動の可否から暫定的な仮想配置を決定し、
    決定した前記暫定的な仮想配置に属するデータ容量と、前記記憶領域の容量とを比較し、前記記憶領域の容量がオーバーする場合に、前記オーバーを解消する、処理をコンピュータに実行させることを特徴とする請求項1乃至の何れか1項に記載のデータ配置プログラム。
  5. 物理記憶装置の記憶領域に設定された複数の階層間でデータの移動を行う際に、
    前記物理記憶装置の記憶領域に記憶されたデータについて、前記複数の階層のそれぞれを分割して設定された仮想階層に対応付けて、実際に記憶されたデータの配置に対して割り当てた場合の配置を示す第1の配置情報と、予め設定された再配置条件に基づいて配置先を割り当てた場合の該配置先を示す第2の配置情報を用いて指標値を取得し、
    取得した前記指標値に基づいて前記データの移動の可否を決定する、処理を実行する機能を有することを特徴とする情報処理装置。
  6. 前記指標値は、前記第1の配置情報に含まれる仮想階層を示す値と、前記第2の配置情報に含まれる仮想階層を示す値との差分であることを特徴とする請求項5に記載の情報処理装置。
  7. 前記指標値に基づいて決定されたデータの移動の可否から暫定的な仮想配置を決定し、
    決定した前記暫定的な仮想配置に属するデータ容量と、前記記憶領域の容量とを比較し、前記記憶領域の容量がオーバーする場合に、前記オーバーを解消する処理を実行することを特徴とする請求項5または6に記載の情報処理装置。
JP2013075027A 2013-03-29 2013-03-29 データ配置プログラム、及び情報処理装置 Expired - Fee Related JP6070371B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013075027A JP6070371B2 (ja) 2013-03-29 2013-03-29 データ配置プログラム、及び情報処理装置
US14/219,085 US20140297983A1 (en) 2013-03-29 2014-03-19 Method of arranging data, information processing apparatus, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013075027A JP6070371B2 (ja) 2013-03-29 2013-03-29 データ配置プログラム、及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2014199596A JP2014199596A (ja) 2014-10-23
JP6070371B2 true JP6070371B2 (ja) 2017-02-01

Family

ID=51622017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013075027A Expired - Fee Related JP6070371B2 (ja) 2013-03-29 2013-03-29 データ配置プログラム、及び情報処理装置

Country Status (2)

Country Link
US (1) US20140297983A1 (ja)
JP (1) JP6070371B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5790532B2 (ja) * 2012-02-13 2015-10-07 セイコーエプソン株式会社 電子機器、及びメモリー制御方法
US10168945B2 (en) * 2014-10-29 2019-01-01 Hitachi, Ltd. Storage apparatus and storage system
JP6365454B2 (ja) 2015-08-03 2018-08-01 京セラドキュメントソリューションズ株式会社 画像形成装置
JP6253752B1 (ja) 2016-11-29 2017-12-27 株式会社東芝 階層化ストレージシステム
US10795583B2 (en) * 2017-07-19 2020-10-06 Samsung Electronics Co., Ltd. Automatic data placement manager in multi-tier all-flash datacenter
JP7068573B2 (ja) 2018-01-17 2022-05-17 富士通株式会社 データ処理装置、データ処理システムおよびデータ処理プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898667B2 (en) * 2002-05-23 2005-05-24 Hewlett-Packard Development Company, L.P. Managing data in a multi-level raid storage array
US7933936B2 (en) * 2005-06-10 2011-04-26 Network Appliance, Inc. Method and system for automatic management of storage space
US8370597B1 (en) * 2007-04-13 2013-02-05 American Megatrends, Inc. Data migration between multiple tiers in a storage system using age and frequency statistics
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
WO2009032710A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
US7822939B1 (en) * 2007-09-25 2010-10-26 Emc Corporation Data de-duplication using thin provisioning
KR101553532B1 (ko) * 2008-04-17 2015-09-16 삼성전자주식회사 스토리지 장치
US8315995B1 (en) * 2008-09-09 2012-11-20 Peer Fusion, Inc. Hybrid storage system
JP5106377B2 (ja) * 2008-12-25 2012-12-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 記録媒体に記録されたデータの移行のための装置及び方法
US8429346B1 (en) * 2009-12-28 2013-04-23 Emc Corporation Automated data relocation among storage tiers based on storage load
US8510528B2 (en) * 2010-12-29 2013-08-13 Teradata Us, Inc. Differential data storage based on predicted access frequency
JP5716537B2 (ja) * 2011-05-20 2015-05-13 日本電気株式会社 記憶媒体制御装置、記憶装置、記憶媒体制御方法、プログラム
US8688909B2 (en) * 2011-06-07 2014-04-01 Hitachi, Ltd. Storage apparatus and data management method
US9146679B2 (en) * 2011-06-18 2015-09-29 International Business Machines Corporation Effectively limitless apparent free space on storage device
WO2013046258A1 (en) * 2011-09-28 2013-04-04 Hitachi, Ltd. Method for calculating tier relocation cost and storage system using the same

Also Published As

Publication number Publication date
US20140297983A1 (en) 2014-10-02
JP2014199596A (ja) 2014-10-23

Similar Documents

Publication Publication Date Title
JP6070371B2 (ja) データ配置プログラム、及び情報処理装置
WO2013164878A1 (ja) 計算機システムの管理装置および管理方法
JP4139675B2 (ja) 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
US9971698B2 (en) Using access-frequency hierarchy for selection of eviction destination
US20100125715A1 (en) Storage System and Operation Method Thereof
JP4801761B2 (ja) データベース管理方法およびシステム並びにその処理プログラム
JP2015001828A (ja) 割当プログラム、割当装置および割当方法
JP5944536B2 (ja) ストレージ装置及び記憶制御方法
JP2007042034A (ja) 計算機システム、管理計算機及び論理記憶領域の管理方法
KR20160061863A (ko) 이기종 스토리지 및 처리 메커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법
JP4748950B2 (ja) 記憶領域管理方法及びシステム
JP5668982B2 (ja) ストレージシステム、アクセスパス状態更新方法およびアクセスパス状態更新プログラム
WO2024078429A1 (zh) 内存管理方法、装置、计算机设备及存储介质
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
US20190332261A1 (en) Storage system, method of controlling storage system, and management node
TW202215248A (zh) 操作儲存系統的方法、以及對儲存資源的層級進行分區的方法
JP2022172400A (ja) アクセス処理の方法、機器、記憶媒体及びプログラム
Liu et al. Prophet: Optimizing LSM-Based Key-Value Store on ZNS SSDs with File Lifetime Prediction and Compaction Compensation
KR101077782B1 (ko) 가상머신의 메모리 관리 시스템 및 관리 방법
JP2011070464A (ja) 計算機システム及び計算機システムの性能管理方法
CN109783006A (zh) 计算***及操作计算***的方法
CN1333346C (zh) 一种访问文件的方法
JP2012181673A (ja) リソース割当装置、リソース割当方法、およびプログラム
JP2006277530A (ja) 割当システム、割当装置、割当方法及びそのプログラム
Liu et al. SDFS: A software‐defined file system for multitenant cloud storage

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161219

R150 Certificate of patent or registration of utility model

Ref document number: 6070371

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees