JP2017027301A - ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法 - Google Patents

ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法 Download PDF

Info

Publication number
JP2017027301A
JP2017027301A JP2015144222A JP2015144222A JP2017027301A JP 2017027301 A JP2017027301 A JP 2017027301A JP 2015144222 A JP2015144222 A JP 2015144222A JP 2015144222 A JP2015144222 A JP 2015144222A JP 2017027301 A JP2017027301 A JP 2017027301A
Authority
JP
Japan
Prior art keywords
access
segment
data
write
access frequency
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
Application number
JP2015144222A
Other languages
English (en)
Inventor
聡 岩田
Satoshi Iwata
聡 岩田
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 JP2015144222A priority Critical patent/JP2017027301A/ja
Priority to US15/200,010 priority patent/US20170024147A1/en
Publication of JP2017027301A publication Critical patent/JP2017027301A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06F3/0649Lifecycle 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/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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止する。【解決手段】ストレージ制御装置は、アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式による前回データ再配置から現時点までに行われた前記セグメントのそれぞれに対する書込アクセスと、セグメントのそれぞれに対する読出アクセスのアクセス頻度とを監視する監視部と、書込アクセスがされたセグメントについてのそのアクセス頻度を低下させることにより、アクセス頻度を調整する調整部と、調整されたアクセス頻度に基づいて、調整されたアクセス頻度のセグメントに対応するデータを複数の記憶装置のいずれに格納するかを決定する決定部を含むことにより、上記課題の解決を図る。【選択図】図5

Description

本明細書は、ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法に関する。
近年、ストレージのコストパフォーマンスを向上させるために、階層制御という技術が広く用いられるようになっている。階層制御とは、比較的高価な高速の記憶装置と比較的安価な低速の記憶装置を組み合わせ、アクセス頻度の高いデータを高速の記憶装置に、アクセス頻度の低いデータを低速の記憶装置に配置することで価格と性能の目標をバランス良く達成する技術である。
また、データの書き込みを連続する特別な領域に対して行うログ構造化データ技術がある(例えば、特許文献1、特許文献2、特許文献3)。ログ構造化データ技術では、記憶装置に格納されているデータの更新に関して、元のデータを上書きせずに、元のデータを保持しつつ更新されたデータを元データとは異なる位置に格納する。
特開平08−006728号公報 特開平07−200390号公報 特開平09−160813号公報
Dushyanth Narayanan et al., "Write Off-Loading: Practical Power Management for Enterprise Storage", FAST ’08: 6th USENIX Conference on File and Storage Technologies, p253-p267
アクセス頻度の高いデータは、時間の経過によってその内容が変化する場合があるので、一定時間毎にデータの再配置が行われる。
しかしながら、過去のアクセス頻度に基づいたデータ再配置技術は、その上位でログ構造化データ技術が適用されると、期待通りの効果が得られない可能性がある。具体的には、ログ構造化データ技術によるデータ更新がされた場合に、更新前の元データは、今後アクセスされない可能性がある。
そのような場合に、ログ構造化データ技術の下で階層制御を行うと、高速の記憶装置に格納されたデータが、データの更新により今後アクセスされずに、そのまま高速の記憶装置に保持されたままになり、高速な記憶装置の領域を無駄に占有するおそれがある。
本発明の一側面として、データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止する。
本発明の一側面に係るストレージ制御装置は、監視部、調整部、決定部を含む。監視部は、セグメントのそれぞれに対する前回データ再配置から現時点までに行われた書き込みアクセスと、セグメントのそれぞれに対する読み出しアクセスのアクセス頻度とを監視する。セグメントは、アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位である。書き込みアクセスは、アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式によるアクセスである。調整部は、書き込みアクセスがされたセグメントについての前記アクセス頻度を低下させることにより、アクセス頻度を調整する。決定部は、調整されたアクセス頻度に基づいて、調整されたアクセス頻度のセグメントに対応するデータを複数の記憶装置のいずれに格納するかを決定する。
本明細書に記載の技術によれば、データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止することができる。
階層制御を説明するための図である。 一般的なデータレイアウトでのデータ更新方法を説明するための図である。 ログ構造化データレイアウトでのデータ更新方法を説明するための図である。 最新でないデータが高速の記憶装置の記憶領域を占有する例を説明するための図である。 本実施形態におけるストレージ制御装置の一例を示す。 本実施形態(実施例1)における、ログ書き領域に指定されてログ書きされたセグメントに対して、ペナルティ(固定値)を与えることを説明するためのグラフである。 本実施形態(実施例1)におけるストレージ制御装置の一例を示す。 本実施形態(実施例1)におけるセグメント管理テーブルの一例を示す。 本実施形態における評価値管理テーブルの一例を示す。 本実施形態(実施例1)における、セグメントへアクセスする場合に発生するセグメント管理テーブルの更新フローの一例を示す。 本実施形態におけるセグメントの再配置処理のフローの一例を示す。 本実施形態(実施例2)におけるログ書き順序に応じたペナルティの与え方を説明するための図である。 本実施形態(実施例2)における、ログ書き領域に指定されてログ書きされたセグメントに対して、ペナルティ(変動値)を与えることを説明するためのグラフである。 本実施形態(実施例2)におけるストレージ制御装置の一例を示す。 本実施形態(実施例2)におけるセグメント管理テーブルの一例を示す。 本実施形態(実施例2)におけるデータの読み込み時または書き込み時におけるセグメント管理テーブルの更新フローの一例を示す。 本実施形態(実施例2)におけるセグメントの再配置処理のフローの一例を示す。 本実施形態を適用していないアルゴリズムを用いたSSDアクセス率と、本実施形態(実施例2)を適用したアルゴリズムを用いたSSDアクセス率との比較結果を示す。 本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。
図1は、階層制御を説明するための図である。階層制御では、ユーザがデータの保存されている記憶装置を物理的に意識せずに済むよう、論理的なデータレイアウトが提供される。
論理的なデータレイアウトは、セグメントという単位に分割されている。そして、データは、階層制御によって、セグメント単位で論理的に格納及び管理される。セグメントは数MB〜数GBの大きな単位であり、一方でアクセスは数KB〜数百KBの小さな単位で行われる。データの再配置はセグメントの単位で行われる。そして、アクセス頻度に基づいてデータを配置する場合には、階層制御によって、アクセスの多いセグメントに対応するデータは高速の記憶装置に配置され、アクセスの少ないセグメントに対応するデータは低速の記憶装置に配置される。
ユーザからアクセス要求がされた際には、どのセグメントがどちらの記憶装置のどの位置に保存されているかというマッピング情報に基づいて、アクセス要求は、対応するデータを格納する記憶装置へ転送される。
時間が経過するに従ってアクセス頻度の多いデータが変化する場合、一定時間毎(例えば、一日毎や数時間毎)にデータを再配置することが考えられる。例えば、前回の再配置から現在までのセグメント毎のアクセス数を計測し、アクセス数の多い順にセグメントを高速の記憶装置へ容量一杯まで配置し、残りのセグメントを低速の記憶装置に配置することが考えられる。
しかしながら、上述の、過去のアクセス頻度のみに基づいたデータ再配置アルゴリズムの場合、上位でログ構造化データレイアウトが動作していると、期待通りの効果が得られない。ここで、ログ構造化データレイアウトについて説明する。
図2は、一般的なデータレイアウトでのデータ更新方法を説明するための図である。図3は、ログ構造化データレイアウトでのデータ更新方法を説明するための図である。ログ構造化データレイアウトとは、データが更新された際に既存データを上書きするのではなく、所定のログ領域(以下、「ログ書き領域」と称する)に新たにデータを書き込むデータ管理方式である。
図2に示すように、通常、データをAからA’に更新する場合は、データレイアウト上で元データがあった位置にてデータが上書きされる。
しかしながら、ログ構造化データレイアウトでは、図3のように、元データはそのままで保存し、所定のログ書き領域に対してデータを書き込み、データの保存位置情報を更新することでデータAからA’の更新が実現される。
図3に示すように、ログ構造化データレイアウトでは、書き込みを連続した領域に対して行うことができる。そのため、ハードディスクドライブ(HDD)への書き込み性能を向上させることができる。また、更新前の古いデータを一定時間参照することもできる。
ログ構造化データレイアウトは、そのデータレイアウトを循環ログとして捉え、新しいデータをログ書き領域に書き込み、そのログ書き領域の末尾の部分を再び空き領域として用いる。したがって、ログ構造化データレイアウトの末尾までデータが書き込まれると、ログ構造化データレイアウトの末尾から再びログ書き領域として用いられる。
上述のように、ログ構造化データレイアウトでは、データ更新によって最新データの保存場所が移動する。そのため、過去のアクセス頻度のみに基づいたデータ再配置方法は、以下で述べるように不適切である。
図4は、最新でないデータが高速の記憶装置の記憶領域を占有する例を説明するための図である。ログ構造化データレイアウトは、より論理側よりのログ構造化データ論理レイアウトと、より物理側よりのログ構造化データ物理レイアウトとを含む。階層制御データレイアウトは、より論理側よりの階層制御データ論理レイアウトと、より物理側よりの階層制御データ物理レイアウトとを含む。このとき、ログ構造化データ物理レイアウトと階層制御データ論理レイアウトとは重複しているとする。
ここで,データを取り扱う場合、ログ構造化データレイアウトと、階層制御データ論理レイアウトとでその取り扱う単位が異なる。ログ構造化データレイアウトでは、データは、所定の取り扱いサイズの単位で管理されているのに対して、階層制御データ論理レイアウトでは、ログ構造化データレイアウトとは異なる所定の取り扱いサイズの単位であるセグメント単位で管理されている。
例えば、データAを含むセグメントへのアクセス頻度が高いと判定され、図4に示すように、そのセグメントが高速の記憶装置に配置されているとする。
その後、データAが更新されてデータA’になると、ログ構造化データ物理レイヤにおいて、最新データA’をデータAとは異なる領域(ログ書き込み領域)が指定され、指定されたログ書き込み領域に最新データA’が書き込まれる。すると、更新前のデータAについては、今後、使用される可能性が低い。
また、例えば、一定期間毎にアクセス頻度の高い順に、より高速の記憶装置へデータの再配置が行われるとしても、更新前のデータAが更新されるまでの間のアクセス頻度が高ければ、そのアクセス頻度に基づいてデータの再配置が行われる。その結果、更新前のデータAは、今後アクセスされる可能性が低いにも関わらず、そのまま高速の記憶装置に保持されたままになる。
このように、高速の記憶装置に割り当てられているデータAが配置されている領域は今後アクセスされなくなり、高速の記憶装置上の領域を無駄に占有してしまうことになる。
そこで、本実施形態では、データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止して、その記憶装置の利用効率を向上させる。
図5は、本実施形態におけるストレージ制御装置の一例を示す。ストレージ制御装置1は、監視部2、調整部3、決定部4を含む。
監視部2は、一定時間内でのセグメントのそれぞれに対する書き込みアクセスと、セグメントのそれぞれに対する読み出しアクセスの頻度とを監視する。セグメントは、アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位である。書き込みアクセスは、セグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる書込領域へ書き込む書込方式によるアクセスである。監視部2の一例としては、後述する階層制御部14が挙げられる。
調整部3は、書き込みアクセスがされたセグメントについてのアクセス頻度を低下させることにより、アクセス頻度を調整する。調整部3の一例として、後述する階層制御部14が挙げられる。
決定部4は、調整されたアクセス頻度に基づいて、調整されたアクセス頻度のセグメントに対応するデータを複数の記憶装置のいずれに格納するかを決定する。決定部4の一例として、後述する階層制御部14が挙げられる。
このように構成することにより、データの更新に伴い今後アクセスされない可能性のあるデータによる、アクセス性能の高い記憶装置の記憶領域の占有を抑止して、その記憶装置の利用効率を向上させることができる。
調整部2は、所定時間におけるアクセス頻度に対して所定の重み付けを行うことにより、アクセス頻度を調整する。
このように構成することにより、アクセス頻度の高い順からより高速の記憶装置にデータを再配置する場合、更新されたデータに対応するセグメントのアクセス頻度を更新の元データが高速の記憶装置に配置されたままになるのを抑止することができる。
監視部2は、所定時間において書き込みアクセスされたセグメントの書き込みアクセス順を監視する。このとき、調整部3は、書き込みアクセス順に基づいて、書き込みアクセスがされてからの経過時間が長いほど、書き込みアクセス順に対応するセグメントのアクセス頻度をより低下されることにより、アクセス頻度を調整する。
このように構成することにより、アクセス頻度の高い順からより高速の記憶装置にデータを再配置する場合、すでに更新済みの古いアクセスされないデータを多く含む可能性のあるセグメントに対応するデータが高速の記憶装置に配置されたままになるのを抑止することができる。
決定部3は、調整したアクセス頻度がより高いセグメントに対応するデータほど、よりアクセス性能のよい記憶装置に格納することを決定する。
このように構成することにより、調整したアクセス頻度に基づいて、データの再配置を行うことができる。
本実施形態について、以下に詳述する。本実施形態におけるストレージ制御装置によるデータ配置決定方法では、階層制御レイヤが、データのアクセスパターン(例えば、アクセス頻度)から各セグメント内に更新頻度の高いデータが多く含まれるかどうかを推定して、データ再配置を行う。
具体的には、データの配置先となる記憶装置を決定するために用いる評価値を計算する際、階層制御レイヤは、最近ログ書き領域に指定されたセグメントへのアクセス頻度に対して、その頻度を低下させるようにペナルティを与える。これにより、アクセス頻度を評価値として用いる場合、最近ログ書き領域に指定されたセグメントについては、その評価値を低下させ、低速の記憶装置へ配置する可能性を高めることができる。
ペナルティの与え方としては、最近ログ書き領域に指定されたセグメントに対して、ペナルティとして固定値を与える方法と、ペナルティとして時間の経過に応じた変動値を与える方法とがある。この2つの方法について、以下に説明する。
なお、本実施形態は、高速の記憶装置に対してできるだけ多くの読み込み処理が行われることに注力した方法であり、書き込み処理には関与しない。一般的なデータレイアウトであれば、読み込みも書き込みも大差はない。
しかしながら、ログ構造化データレイアウトでは、2つの処理(読み込み、書き込み)は大きく異なる。なぜなら、データの読み込みが最新データの存在位置に対して行われるのに対し、データの書き込みはログ書き領域に対して発生するからである。
したがって書き込み処理が高速の記憶装置に対して行われるようにするためには、ログ書き領域を書き込み開始前に予め高速の記憶装置に配置する必要がある。これを達成するためにはログ構造化データレイヤからログ書き領域の位置を通知してもらうか、ログ構造化データレイヤの通知を前提としない場合は、ガベージコレクション時のアクセスパターンから階層制御レイヤ単独で次のログ書き領域を推測する必要がある。
このようにログ構造化データレイアウトが階層制御レイヤの上位で動作している場合には、読み込みと書き込みを分けて考える必要があり、本実施形態では読み込み処理に着目する。
(実施例1)
実施例1では、最近、ログ書き領域に指定されたセグメントに対して、アクセス頻度を低下させるペナルティとして固定値を与える方法について説明する。
図6は、本実施形態(実施例1)における、ログ書き領域に指定されてログ書きされたセグメントに対して、ペナルティ(固定値)を与えることを説明するためのグラフである。図6において、縦軸は、ペナルティ量を示す。横軸は、ログ書き領域として指定されたセグメントがログ書きされてからの経過時間を示す。
ログ書き領域に指定されたセグメントに対しては最初の再配置時に、そのセグメントに対するアクセス頻度について、ペナルティ(固定値>1)を与える。最初の再配置が行われるまでは、セグメント内に更新頻度の高いデータが含まれている可能性が高いので、ペナルティを与える。
データの再配置後は、ペナルティが初期化されるので、ペナルティ量は「0」になる。
ここで、最近、ログ書き領域に指定されたセグメントには、最近更新のあったデータが保存されている。全てのデータが一様に同じ頻度で更新されるのではなく、更新頻度の高いデータと低いデータが混在する。
つまり、最近書き込みのあったログ書き領域には、更新頻度が高く、近い将来または既に更新によってアクセスされなくなってしまう可能性の高いデータが数多く存在するということになる。
したがって、最近ログ書き領域に指定されたセグメントは、たとえ読み込み頻度が高かったとしても、高速の記憶装置に積極的に配置すべきではない。
ただし、最近ログ書きが行われたセグメントの中には、更新頻度が低いものの、今回たまたま更新されたデータや、更新頻度が高いものの読み込み頻度が圧倒的に高いデータなど、高速の記憶装置に配置すべきデータが含まれる可能性がある。
そこで、最近ログ書き領域に指定されたセグメントを必ず低速の記憶装置に配置するのではなく、読み込み頻度から評価値を計算する際に読み込み頻度にペナルティを与えることで、高速の記憶装置に配置される可能性を与える。
ペナルティを与える場合の評価式を以下に示す。
評価式(ペナルティ付与時)=read_num × 1/const
各セグメントの読み込み数:read_num
固定値:const 固定値
一方、ログ書き領域に指定されていないセグメントには、ペナルティは課されない。この場合は、そのセグメントの読み込みアクセス頻度がそのままのそのセグメントの評価値となる。
これにより、ログ書き領域に指定されていないセグメントの評価値に対して、ログ書き領域に指定されたセグメントの評価値を相対的に低くすることができる。その結果、アクセス頻度の高い順により高速の記憶装置へデータを配置する場合、ログ書き領域に指定されたセグメントがより高速の記憶装置へ配置される可能性を抑止することができる。
このように、実施例1では、階層制御レイヤは、セグメントに対する評価値計算の際に、対応するログ書き領域に書き込みが行われた否かに応じて読み込みアクセス頻度にペナルティを与えることにより、アクセス頻度を調整する。階層制御レイヤは、その調整したアクセス頻度に基づいて、データの再配置を行う。これにより、階層制御レイヤは、ログ構造化データレイヤからの情報提供を受けることなく、読み込み頻度の多寡だけではなく、推定した更新頻度の多寡も考慮してデータ配置を決定することができる。
より具体的な実施例を以下に示す。
図7は、本実施形態(実施例1)におけるストレージ制御装置の一例を示す。ストレージ制御装置11は、CPU12、メモリ15、高速の記憶装置18、低速の記憶装置19を含む。
CPU(Central Processing Unit)12は、ストレージ制御装置11の全体を制御するプロセッサである。CPU12は、記憶装置(不図示)に格納されたログ構造化ソフトウェア及び階層制御ソフトウェアを読み出して実行することにより、ログ構造化部13、階層制御部14として機能する。
ログ構造化部13は、図3で説明したように、データが更新された場合、ログ構造化データレイアウトに基づいて、ログ書き領域に更新後のデータを書き込み、更新前のデータはそのまま保持する。
階層制御部14は、図1で説明したように、セグメントに分割された論理的なデータレイアウトを用いて、アクセスの多いセグメントは高速の記憶措置18に、アクセスの少ないセグメントは低速の記憶装置19に配置する制御を行う。アクセス要求があった場合、階層制御部14は、どのセグメントがどちらの記憶装置のどの位置に保存されているかというマッピング情報(不図示)に基づいて、対応するデータを格納する記憶装置へそのアクセス要求を転送する。
メモリ15は、データを一時的に格納する記憶装置である。メモリ15は、セグメント管理テーブル16、評価値管理テーブル17、不図示のマッピング情報等を格納する。セグメント管理テーブル16、評価値管理テーブル17は、階層制御部14により管理される。
高速の記憶装置18は、高速にデータを読み書きすることができるストレージデバイスであり、例えば、SSD(Solid State Drive)である。低速の記憶装置19は、高速の記憶装置18よりもデータの読み書き速度が遅いストレージデバイスであり、例えば、HDDである。
図8は、本実施形態(実施例1)におけるセグメント管理テーブルの一例を示す。セグメント管理テーブル16は、「セグメントID」、「読み込み数」、「書き込みフラグ」の項目を含む。「セグメントID」は、セグメントに分割された論理的なデータレイアウトにおけるセグメントを特定するセグメントIDを格納する。「読み込み数」は、セグメントの読み込み数を格納する。「書き込みフラグ」は、そのセグメントに対応するログ書き領域へログ書きが行われたか否かを格納する。フラグの初期値には、そのセグメントに対応するログ書き領域へログ書きされていなことを示す値として「0」が設定されている。そのセグメントに対応するログ書き領域へログ書きが行われた場合には、フラグは「1」に更新される。
まず、図8に示すように、階層制御部14は、セグメント毎に、セグメントの読み込み数を記録する。この読み込み数は直近の値を計測する必要があるので、データの再配置を行った際は、階層制御部14は、セグメント管理テーブル16の全セグメントの「読み込み数」を「0」にリセットする。
ログ書き領域へ書き込まれたセグメントについては、階層制御部14は、セグメント管理テーブル16において、そのセグメントのフラグに「1」を設定する。ログ書き領域への書き込みも同様に、データの再配置を行った際は、階層制御部14は、セグメント管理テーブル16の全セグメントの「書き込みフラグ」を「0」にリセットする。
図9は、本実施形態における評価値管理テーブルの一例を示す。評価値管理テーブル17は、「セグメントID」、「評価値」の項目を含む。「セグメントID」は、セグメントIDを格納する。「評価値」は、セグメントの読み込み数、またはセグメントの読み込み数とペナルティとから算出された値を、評価値として格納する。
次に、実施例1におけるストレージ制御装置11の動作について、図10、図11を用いて説明する。
図10は、本実施形態(実施例1)における、セグメントへアクセスする場合に発生するセグメント管理テーブルの更新フローの一例を示す。
階層制御部14は、ログ構造化部13からデータに対するアクセス要求を取得する(S1)。取得したアクセス要求が読み込み要求である場合(S2で「YES」)、階層制御部14は、その読み込み要求から、対応するセグメントIDを特定する。階層制御部14は、セグメント管理テーブル16において、その特定したセグメントIDに対応する「読み込み数」をカウントアップする(S3)。
取得したアクセス要求が書き込み要求である場合(S2で「NO」)、階層制御部14は、その書き込み要求から対応するセグメントIDを特定する。セグメント管理テーブル16において、その特定したセグメントIDに対応するフラグが「0」である場合(S4で「YES」)、階層制御部14は、そのフラグの値を「1」に更新する(S5)。
次に、セグメントの再配置処理について説明する。階層制御部14がログ書き領域にセグメントが指定されたことを検出する方法としては例えば、セグメントへ一度でも書き込みが発生すれば、そのセグメントがログ書き領域に指定されたと考える方法がある。
しかしながら、一口にログ構造化データレイアウトといっても、メタデータ管理のためにログ書き以外の書き込みが発生することもある。この場合は、メタデータ書き込みとは区別してデータ書き込みを検出するために、階層制御部14は、連続した領域に対して一定以上の書き込みがあったセグメントのみをログ書き領域だと検出してもよい。
データ再配置を行う際は、図8のセグメント管理テーブル16を利用して、データ配置を決定するための評価値を計算する。
図11は、本実施形態におけるセグメントの再配置処理のフローの一例を示す。階層制御部14は、セグメント管理テーブル16から、全エントリ(「セグメントID」、「読み込み数」、「書き込みフラグ」)を取得する(S11)。
階層制御部14は、エントリ毎に、以下で説明するS12〜S15の処理を行う。なお、S12〜S15において、処理対象となっているエントリを対象エントリと称する。
階層制御部14は、対象エントリのセグメントに対応するログ書き領域への書き込みが発生したか、すなわち、対象エントリに含まれるフラグが「1」であるかを判定する(S12)。
ログ書き領域への書き込みが発生した場合(フラグ=1の場合)(S12で「YES」)、階層制御部14は、対象エントリに含まれる「読み込み数」read_numにペナルティの逆数(=1/const)を乗じることにより、評価値を算出する(S14)。
ログ書き領域への書き込みが発生していない場合(フラグ=0の場合)(S12で「NO」)、階層制御部14は、対象エントリに含まれる「読み込み数」を評価値とする(S13)。
階層制御部14は、S13またはS14で得られたセグメントの評価値を、評価値管理テーブル17において、対応するセグメントIDのエントリに記録する(S15)。
セグメント管理テーブル16に登録されている全エントリについて、S12〜S15の処理が終了後、階層制御部14は、評価値管理テーブル17において、評価値の降順に、セグメントIDをソートする(S16)。
階層制御部14は、評価値管理テーブル17に基づいて、評価値の大きい順に、セグメントを高速の記憶装置18に配置し、残りのセグメントを低速の記憶装置19に配置するように決定する(S17)。
その結果に基づいて、階層制御部14は、評価値の大きい順に、セグメントを高速の記憶装置18に配置し、残りのセグメントを低速の記憶装置19に配置する(S18)。
階層制御部14は、セグメント管理テーブル16の全エントリの読み込み数、及びフラグを「0」で初期化する(S19)。
(実施例2)
実施例1では、セグメントに対する評価値計算の際に、そのセグメントに対応するログ書き領域に書き込みが行われた否かに応じて、読み込みアクセス頻度を低下させるペナルティ(固定値)を与えることにより、アクセス頻度を調整した。これに対して、実施例2では、実施例1に加えて、さらにそのログ書きされてからの経過時間に応じてペナルティ量を変動させることによりアクセス頻度を調整する。なお、実施例2では、実施例1と同様の構成、機能または処理については、同一の符号を付し、その説明を省略する。
図12は、本実施形態(実施例2)におけるログ書き順序に応じたペナルティの与え方を説明するための図である。図12では、階層制御レイヤがデータ空間を7つのセグメントに分割して管理している例を示す。なお、図12では、説明の便宜のため、ログ書きの際に指定される書き込み単位であるログ書き領域と、セグメントとのサイズを同一にしているが、このサイズは異なっていてもよい。
この例では、前回のデータ再配置の実行後、現在(今回の再配置判定時)までに3つのセグメントが、セグメントの上に記載した順番(ログ書き順序)で、ログ構造化データレイヤによりログ書き領域に指定されたことが表されている。
この場合、図12に示したように、階層制御レイヤは、ログ構造化データレイヤによりログ書き領域として指定されなかったセグメントに対してはペナルティを与えることなく、読み込み頻度そのものを評価値とする。
一方、階層制御レイヤは、ログ書き領域に指定されたセグメントに対しては、ログ書きされた順に、読み込み頻度により大きなペナルティを与えることにより、評価値を計算する。
階層制御レイヤは、計算した各セグメントに対する評価値の高い順にセグメントを高速の記憶装置に配置し、残りのセグメントを低速の記憶装置に配置する。
このように、実施例2では、階層制御レイヤは、ログ書き領域に指定されたセグメントに対する評価値計算の際に、ログ書き順に応じて読み込みアクセス頻度にペナルティを与えることにより、アクセス頻度を調整する。階層制御レイヤは、その調整したアクセス頻度に基づいて、データの再配置を行う。これにより、階層制御レイヤは、ログ構造化データレイヤからの情報提供を受けることなく、読み込み頻度の多寡だけではなく、推定した更新頻度の多寡も考慮してデータ配置を決定することができる。
ここで、前回再配置後にログ書き領域に書き込まれたセグメントの中で比較した場合、書き込み順序が先ということは、データ書き込み後比較的長い時間が経過して、すでに上書きにより最新データが存在していない可能性が高いということである。逆に、書き込み順序が後ということは、データ書き込み後比較的短い時間しか経過していないため、まだ最新データが存在している可能性が高いということである。したがって書き込みが先に行われたセグメントほど、ペナルティを大きく与えている。
図13は、本実施形態(実施例2)における、ログ書き領域に指定されてログ書きされたセグメントに対して、ペナルティ(変動値)を与えることを説明するためのグラフである。図13において、縦軸は、ペナルティ量を示す。横軸は、ログ書き領域として指定されたセグメントがログ書きされてからの経過時間を示す。
図13に示すように、セグメントに対応するデータがログ書き領域に書き込まれてから所定期間は、ログ書き領域に書き込まれたデータのセグメントに対して、ペナルティ量が付与される。ここで、所定期間とは、ログ書きからデータ再配置までの期間である。
図13の場合では、セグメントに対応するデータが書き込み領域に書き込まれてから所定期間は、より時間が経過するほど、ペナルティ量がn次曲線または指数関数的に増加している。なお、セグメントに対応するデータが書き込み領域に書き込まれてから所定期間は、より時間が経過するほど、ペナルティ量が線形的に増加してもよい。
また、所定期間の経過後、ペナルティ量が0になっているのは、セグメントの再配置処理により、ペナルティが初期化されたためである。セグメントの再配置により、よく使用されるセグメントが高速の記憶装置に配置されることになる。
図14は、本実施形態(実施例2)におけるストレージ制御装置の一例を示す。図14のストレージ制御装置11は、セグメント管理テーブル16をセグメント管理テーブル16aに置き換えたものである。それ以外は、図7と同様の構成である。
図15は、本実施形態(実施例2)におけるセグメント管理テーブルの一例を示す。セグメント管理テーブル16aは、「セグメントID」、「読み込み数」、「ログ書き順序」の項目を含む。「セグメントID」は、セグメントに分割された論理的なデータレイアウトにおけるセグメントを特定するセグメントIDを格納する。「読み込み数」は、セグメントの読み込み数を格納する。「ログ書き順序」は、セグメントのログ書き領域への書き込みの順序を格納する。「読み込み数」、「ログ書き順序」の初期値として、「0」が設定されている。
まず、図15に示すように、階層制御部14は、セグメント毎に、セグメントの読み込み数を記録する。この読み込み数は直近の値を計測する必要があるので、再配置を行った際は、階層制御部14は、セグメント管理テーブル16aの全セグメントの「読み込み数」を「0」にリセットする。
ログ書き領域へ書き込まれたセグメントに対して、図15のように、階層制御部14は、セグメント管理テーブル16aにおいて、対応するセグメントのログ書き順序を記録する。ログ書き領域への書き込みも同様に、データの再配置を行った際は、階層制御部14は、セグメント管理テーブル16aの全セグメントの「ログ書き順序」を「0」にリセットする。
次に、実施例2におけるストレージ制御装置11の動作について、図16、図17を用いて説明する。
図16は、本実施形態(実施例2)におけるデータの読み込み時または書き込み時におけるセグメント管理テーブルの更新フローの一例を示す。図16のフローは、図10のフローのS4、S5を、S4a、S5aに置き換えたものである。以下では、取得したアクセス要求が書き込み要求である場合について説明し、取得したアクセス要求が読み込み要求である場合についてはその説明を省略する。
取得したアクセス要求が書き込み要求である場合(S2で「NO」)、階層制御部14は、その書き込み要求から対応するセグメントIDを特定する。セグメント管理テーブル16aにおいて、その特定したセグメントIDに対応するログ書き順序が「0」である場合(S4aで「YES」)、階層制御部14は、セグメント管理テーブル16a内の「ログ書き順序」列から、最大のログ書き順序を取得する。階層制御部14は、セグメント管理テーブル16aにおいて、その特定したセグメントIDに対応するログ書き順序に、取得した最大のログ書き順序に1を加えた値を設定する(S5a)。
次に、セグメントの再配置処理について説明する。階層制御部14がログ書き領域にセグメントが指定されたことを検出する方法としては例えば、セグメントに対するログ書き領域へ一度でも書き込みが発生すれば、そのセグメントがログ書き領域に指定されたと考える方法がある。
しかしながら、一口にログ構造化データレイアウトといっても、メタデータ管理のためにログ書き以外の書き込みが発生することもある。この場合は、メタデータ書き込みとは区別してデータ書き込みを検出するために、階層制御部14は、連続した領域に対して一定以上の書き込みがあったセグメントのみをログ書き領域だと検出してもよい。
データ再配置を行う際は、セグメント管理テーブル16aを利用して、データ配置を決定するための評価値を計算する。
まずログ書き順序が0の(ログ書きされなかった)セグメントの評価値については、読み込み数そのものを評価値とする。
一方、ログ書き順序が0以外の(ログ書きされた)セグメントの評価値については次のように処理する。すなわち、例えば、最後にログ書き領域に指定されたセグメントの評価値については読み込み数を1/2倍した値、2番目のセグメントの評価値については1/3倍、・・・、n番目のセグメントの評価値については1/(n+1)倍する。
これにより、ログ書きに指定された順序が後のセグメントほど、軽いペナルティを与えることができる。
ペナルティを与える場合の評価式を以下に示す。
評価式(ペナルティ付与時)=read_num × 1/(written_segs+2- written_order)
各セグメントの読み込み数:read_num
前回の再配置以降書き込みが発生した総セグメント数:written_segs
各セグメントにおいて書き込みが行われた順番:written_order
再配置判定の際には上記評価値の多い順にセグメントを高速の記憶装置に配置し、残りのセグメントを低速の記憶装置に配置する。以上の手順の詳細については、図17を用いて説明する。
図17は、本実施形態(実施例2)におけるセグメントの再配置処理のフローの一例を示す。図17のフローは、図11のフローのS11、S14、S19をそれぞれ、S11a、S14a、S19aに置き換えたものである。
階層制御部14は、セグメント管理テーブル16aから、全エントリ(「セグメントID」、「読み込み数」、「ログ書き順序」)を取得する(S11a)。このとき、階層制御部14は、取得した全エントリ数を確認し、「ログ書き順序」のエントリ内で最大の値をwritten_segsに設定する。
階層制御部14は、エントリ毎に、以下で説明するS12〜S15の処理を行う。なお、S12〜S15において、処理対象となっているエントリを対象エントリと称する。
階層制御部14は、対象エントリのセグメントに対応するログ書き領域への書き込みが発生したか、すなわち、対象エントリに含まれる「ログ書き順序」が0以外であるかを判定する(S12)。
ログ書き領域への書き込みが発生した場合(「ログ書き順序」が0以外)(S12で「YES」)、階層制御部14は、次の処理を行う。すなわち、階層制御部14は、対象エントリに含まれる「読み込み数」read_numに、ペナルティの逆数(1/(written_segs+2- written_order))を乗じることにより、評価値を算出する(S14a)。
ログ書き領域への書き込みが発生していない場合(「ログ書き順序」=0)(S12で「NO」)、階層制御部14は、対象エントリに含まれる「読み込み数」を評価値とする(S13)。
階層制御部14は、S13またはS14で得られたセグメントの評価値を、評価値管理テーブル17において、対応するセグメントIDのエントリに記録する(S15)。
セグメント管理テーブル16aに登録されている全エントリについて、S12〜S15の処理が終了後、階層制御部14は、評価値管理テーブル17において、評価値の降順に、セグメントIDをソートする(S16)。
階層制御部14は、評価値管理テーブル17に基づいて、評価値の大きい順に、セグメントを高速の記憶装置18に配置し、残りのセグメントを低速の記憶装置19に配置するように決定する(S17)。
階層制御部14は、その結果に基づいて、評価値の大きい順に、セグメントを高速の記憶装置18に配置し、残りのセグメントを低速の記憶装置19に配置する(S18)。
階層制御部14は、セグメント管理テーブル16aの全エントリの読み込み数、及びログ書き順序を「0」で初期化する(S19a)。
図18は、本実施形態を適用していないアルゴリズムを用いたSSDアクセス率と、本実施形態(実施例2)を適用したアルゴリズムを用いたSSDアクセス率との比較結果を示す。比較実験では、本実施形態を適用していないアルゴリズムと本実施形態を適用したアルゴリズムとをそれぞれ、シミュレーションで、評価を行った。
評価では上位でログ構造化データレイアウトによってデータを管理するソフトウェアを動作させ、その下位で階層制御ソフトウェアを動作させ、シミュレーション用のトレースデータを取得した。高速の記憶装置にはSSD、低速の記憶装置にはHDDを利用した。
負荷はMicrosoft Research Cambridgeが公開している、社内サービスのストレージトレースデータ(非特許文献1参照)を与えた。このストレージトレースデータセットには36種類のトレースが含まれるが、その中で書き込み比率が30%〜70%の9種類のトレースデータに対して評価を行った。
なお、ログ構造化データレイアウトで特徴的な動作を示す書き込み要求がある程度含まれ、また読み込み処理の高速化に注目した本発明を評価するために読み込み要求もある程度含まれるという観点で9種類のトレースを選択した。
評価では各トレースデータの中で負荷の高い2時間分を抜き出し、2度繰り返し再生した。1度目の再生時のアクセスパターンからデータ配置を決定し、2度目の再生時のアクセスパターンにおけるSSDへのアクセス比率を計測した。
階層制御のセグメントサイズを1GB、SSDサイズを各トレースにおけるボリュームサイズの20%にしたところ、実施形態を適用していないアルゴリズムと本実施形態(実施例2)を適用したアルゴリズムでのトレースごとのSSDアクセス率の比較結果は、図18に示される。ここで、実施形態を適用していないアルゴリズムとは、ログ書きに利用された順序に応じたペナルティを与えず、計測した読み込み数そのままの値が多い順に高速の記憶装置にセグメントを配置するアルゴリズムである。
図18の比較結果において、9種類のトレースのうち、3種類で本実施形態(実施例2)による方法によりSSDアクセス率が増加し、逆に低下したのは1種類のみであった。また、SSDアクセス率の増加ポイント数の合計は67ポイントであり、増減のあった4種類のトレースに限ると平均で約17ポイントの増加となった。本実施形態(実施例2)により、上位でログ構造化データレイアウトが動作する環境で、既存手法より適切なデータ配置を行えていることが分かった。
本実施形態(実施例2)によれば、ストレージ階層制御を行う際、ログ構造化データレイアウトが上位で動作している場合に、ストレージ階層制御レイヤは、次の処理を行うことができる。すなわち、ストレージ階層制御レイヤは、データへのアクセス頻度だけではなく、更新頻度に応じたデータ配置を、ログ構造化データレイヤからの情報提供を受けずに決定することができる。
具体的には、ストレージ階層制御レイヤは、データ配置決定のための評価値を計算する際に、データへのアクセス頻度に基づいて、最近ログ書きが行われた領域に対してはログ書きされた順序に応じて、その評価値にペナルティを与える。これにより、データの更新により、今後アクセスされなくなる可能性の高いデータが、高速の記憶装置へ格納される可能性を低減することができる。その結果、高速の記憶装置上の領域が、無駄なデータにより占有されることを抑止することができる。
なお、実施例1及び2にて用いたペナルティは、一例であって、これに限定されない。
図19は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ30は、ストレージ制御装置1,11として機能する。コンピュータ30は、CPU32、ROM33、RAM36、通信I/F34、記憶装置37、出力I/F31、入力I/F35、読み取り装置38、バス39、出力装置41、入力装置42によって構成されている。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス39には、CPU32、ROM33、RAM36、通信I/F34、記憶装置37、出力I/F31、入力I/F35、及び読取装置38が接続されている。読取装置38は、可搬型記録媒体を読み出す装置である。出力装置41は、出力I/F31に接続されている。入力装置42は、入力I/F35に接続されている。
記憶装置37としては、ハードディスク、フラッシュメモリ、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置37またはROM33には、CPU32を監視部2、調整部3、決定部4として機能させる本実施形態に係るプログラムが格納されている。より具体的には、記憶装置37またはROM33には、階層制御部14として機能させる本実施形態に係るプログラムが格納されている。また、記憶装置37またはROM33には、ログ構造化部13に相当するプログラムが格納されている。記憶装置37は、本実施形態におけるディスク31に相当する。
RAM36には、情報が一時的に記憶される。RAM36は、本実施形態におけるメモリ30に相当する。
CPU32は、記憶装置37またはROM33から本実施形態に係るプログラムを読み出し、当該プログラムを実行する。
通信I/F34は、ネットワークと接続して他の装置と通信するためのポート等のインターフェースである。
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク50、および通信I/F34を介して、例えば記憶装置37に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読取装置38にセットされて、CPU32によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置、半導体メモリカードなど様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読取装置38によって読み取られる。
入力装置52には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力装置51には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。
ネットワーク50は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 ストレージ制御装置
2 監視部
3 調整部
4 決定部
11 ストレージ制御装置
12 CPU
13 ログ構造化部
14 階層制御部
15 メモリ
16,16a セグメント管理テーブル
17 評価値管理テーブル
18 高速の記憶装置
19 低速の記憶装置

Claims (6)

  1. アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式による前記セグメントのそれぞれに対する前回データ再配置から現時点までに行われた書き込みアクセスと、前記セグメントのそれぞれに対する読み出しアクセスのアクセス頻度とを監視する監視部と、
    前記書き込みアクセスがされたセグメントについての前記アクセス頻度を低下させることにより、該アクセス頻度を調整する調整部と、
    前記調整されたアクセス頻度に基づいて、該調整されたアクセス頻度のセグメントに対応するデータを前記複数の記憶装置のいずれに格納するかを決定する決定部と、
    を備えることを特徴とするストレージ制御装置。
  2. 前記調整部は、前記書き込みアクセスがされたセグメントについてのアクセス頻度に、所定値の逆数を乗じることにより、該アクセス頻度を調整する
    ことを特徴とする請求項1に記載のストレージ制御装置。
  3. 前記監視部は、前記書き込みアクセスされたセグメントの書き込みアクセス順を監視し、
    前記調整部は、前記書き込みアクセス順に基づいて、前記書き込みアクセスがされてからの経過時間が長いほど、該書き込みアクセス順に対応するセグメントのアクセス頻度をより低下されることにより、該アクセス頻度を調整する
    ことを特徴とする請求項1に記載のストレージ制御装置。
  4. 前記決定部は、前記調整したアクセス頻度がより高いセグメントに対応するデータほど、よりアクセス性能のよい記憶装置に格納することを決定する
    ことを特徴とする請求項1〜3のうちいずれか1項に記載のストレージ制御装置。
  5. コンピュータに、
    アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式による前記セグメントのそれぞれに対する前回データ再配置から現時点までに行われた書き込みアクセスと、前記セグメントのそれぞれに対する読み出しアクセスのアクセス頻度とを監視し、
    前記書き込みアクセスがされたセグメントについての前記アクセス頻度を低下させることにより、該アクセス頻度を調整し、
    前記調整されたアクセス頻度に基づいて、該調整されたアクセス頻度のセグメントに対応するデータを前記複数の記憶装置のいずれに格納するかを決定する
    処理を実行させる階層化ストレージ制御プログラム。
  6. コンピュータが、
    アクセス性能の異なる複数の記憶装置に格納するデータを論理的に管理する単位であるセグメントのそれぞれに対応する書込領域であって、データが更新される毎に異なる該書込領域へ書き込む書込方式による前記セグメントのそれぞれに対する前回データ再配置から現時点までに行われた書き込みアクセスと、前記セグメントのそれぞれに対する読み出しアクセスのアクセス頻度とを監視し、
    前記書き込みアクセスがされたセグメントについての前記アクセス頻度を低下させることにより、該アクセス頻度を調整し、
    前記調整されたアクセス頻度に基づいて、該調整されたアクセス頻度のセグメントに対応するデータを前記複数の記憶装置のいずれに格納するかを決定する
    処理を実行する階層化ストレージ制御方法。
JP2015144222A 2015-07-21 2015-07-21 ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法 Pending JP2017027301A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015144222A JP2017027301A (ja) 2015-07-21 2015-07-21 ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法
US15/200,010 US20170024147A1 (en) 2015-07-21 2016-07-01 Storage control device and hierarchized storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015144222A JP2017027301A (ja) 2015-07-21 2015-07-21 ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法

Publications (1)

Publication Number Publication Date
JP2017027301A true JP2017027301A (ja) 2017-02-02

Family

ID=57837058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015144222A Pending JP2017027301A (ja) 2015-07-21 2015-07-21 ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法

Country Status (2)

Country Link
US (1) US20170024147A1 (ja)
JP (1) JP2017027301A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221783B2 (en) 2019-03-11 2022-01-11 Fujitsu Limited Information processing apparatus and non-transitory computer-readable recording medium having stored therein information processing program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170336991A1 (en) * 2016-04-28 2017-11-23 Knight Point Systems, Inc. System and methodology for automatic classification and separation of storage resources based on optimizing i/o requirements
CN106959826A (zh) * 2017-03-28 2017-07-18 联想(北京)有限公司 一种数据存储系统及方法
CN108519862B (zh) * 2018-03-30 2020-03-17 百度在线网络技术(北京)有限公司 区块链系统的存储方法、装置、系统和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537566A (en) * 1991-12-17 1996-07-16 Fujitsu Limited Apparatus and method for controlling background processing in disk array device
US7134041B2 (en) * 2001-09-20 2006-11-07 Evault, Inc. Systems and methods for data backup over a network
US8375193B2 (en) * 2009-05-27 2013-02-12 Teradata Us, Inc. System, method, and computer-readable medium for optimized data storage and migration in a database system
JP6146087B2 (ja) * 2013-03-28 2017-06-14 富士通株式会社 ストレージ制御プログラム,ストレージ制御方法,ストレージシステム及びその階層制御装置
JP6260384B2 (ja) * 2014-03-19 2018-01-17 富士通株式会社 ストレージ制御装置,制御プログラム,及び制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221783B2 (en) 2019-03-11 2022-01-11 Fujitsu Limited Information processing apparatus and non-transitory computer-readable recording medium having stored therein information processing program

Also Published As

Publication number Publication date
US20170024147A1 (en) 2017-01-26

Similar Documents

Publication Publication Date Title
JP6564082B2 (ja) バーチャル環境におけるダイナミックストレージ階層化
US10095418B1 (en) Automatic tiering of storage using dynamic grouping
US8782324B1 (en) Techniques for managing placement of extents based on a history of active extents
EP3552109B1 (en) Systems and methods for caching data
US10635323B2 (en) Managing storage system
CN105637470B (zh) 用于脏数据管理的方法和计算设备
US9606937B1 (en) Cache insertion based on threshold access frequency
US20150058548A1 (en) HIERARCHICAL STORAGE FOR LSM-BASED NoSQL STORES
US9971698B2 (en) Using access-frequency hierarchy for selection of eviction destination
US9317207B2 (en) Cache migration
CN103019962A (zh) 数据缓存处理方法、装置以及系统
JP2007058637A (ja) ストレージシステム、管理計算機及びデータ移動方法
JP6711121B2 (ja) 情報処理装置、キャッシュメモリ制御方法、およびキャッシュメモリ制御プログラム
JP2007316725A (ja) 記憶領域管理方法及び管理計算機
JP2016511474A (ja) 階層化ストレージにおける重複排除及びホストベースQoS
US11461287B2 (en) Managing a file system within multiple LUNS while different LUN level policies are applied to the LUNS
JP2017027301A (ja) ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法
US20120290789A1 (en) Preferentially accelerating applications in a multi-tenant storage system via utility driven data caching
Xie et al. ASA-FTL: An adaptive separation aware flash translation layer for solid state drives
JP2016066220A (ja) ストレージ装置、ストレージ装置制御方法及びストレージ装置制御プログラム
KR20170002866A (ko) 분산 환경에서 사용자 애플리케이션의 액세스 특성에 따른 적응형 캐시 관리 방법
CN106156038B (zh) 数据存储方法和装置
JP6112193B2 (ja) アクセス制御プログラム、ディスク装置及びアクセス制御方法
JP2015141545A (ja) ストレージ制御装置、ストレージ制御方法、及び、プログラム
JP6919277B2 (ja) ストレージシステム、ストレージ管理装置、ストレージ管理方法、及びプログラム