JP6880711B2 - 情報処理装置、ストレージ制御プログラムおよびストレージ制御方法 - Google Patents

情報処理装置、ストレージ制御プログラムおよびストレージ制御方法 Download PDF

Info

Publication number
JP6880711B2
JP6880711B2 JP2016249303A JP2016249303A JP6880711B2 JP 6880711 B2 JP6880711 B2 JP 6880711B2 JP 2016249303 A JP2016249303 A JP 2016249303A JP 2016249303 A JP2016249303 A JP 2016249303A JP 6880711 B2 JP6880711 B2 JP 6880711B2
Authority
JP
Japan
Prior art keywords
access
storage device
unit
information
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016249303A
Other languages
English (en)
Other versions
JP2018106252A (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 JP2016249303A priority Critical patent/JP6880711B2/ja
Priority to US15/826,800 priority patent/US10481829B2/en
Publication of JP2018106252A publication Critical patent/JP2018106252A/ja
Application granted granted Critical
Publication of JP6880711B2 publication Critical patent/JP6880711B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6024History based prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置、ストレージ制御プログラムおよびストレージ制御方法に関する。
ストレージ装置においては、IO(Input Output)アクセスが特定の狭い記憶領域に集中して発生する場合がある。例えば、HDD(Hard Disk Drive)と半導体メモリ装置とを備える階層化ストレージシステムにおいて、HDDにおけるIOアクセスが集中発生する領域のデータを、アクセス速度が高速であるSSD(Solid State Drive)に移動させることで、IOアクセスの集中による性能低下を回避する手法が知られている。
また、ストレージ装置においては、このようなIOアクセス集中が継続する時間を予測することが行なわれている。例えば、IOアクセス集中が発生する都度その継続時間を測定して、1日単位等の比較的長い時間間隔で集計し、その集計値を参照することで、次のIOアクセス集中の継続時間を予測する。
特開平5−225167号公報 特許第5707540号明細書
しかしながら、このような従来のストレージ装置においては、IOアクセス集中の継続時間を、1日単位等の比較的長い時間間隔で集計した集計値を用いて予測している。従って、IOアクセス集中の継続時間分布が1日の途中で変化した場合に、変化前後のデータが混在した集計結果を用いて分析を行なう。そのため、IOアクセス集中の傾向が変化した後の予測精度が低く、IOアクセス集中に関する予測が不正確になるという課題がある。
1つの側面では、本発明は、IOアクセス集中の傾向が変化する場合においても、IOアクセス集中に対する予測を正確に行なうことができるようにすることを目的とする。
このため、この情報処理装置は、記憶装置を備える情報処理装置であって、前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する作成部と、前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集する収集部と、前記記憶装置における、判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第1のタイミングまでの第1の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第1の集中状態傾向情報と、前記第1の期間に先行する、前記第1のタイミングから、該第1のタイミングよりも一定時間間隔前の第2のタイミングまでの第2の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第2の集中状態傾向情報とを比較する比較部とを備え、前記比較部による比較の結果、前記第の集中状態傾向情報前記第の集中状態傾向情報との差分が基準以上である場合に、前記作成部が、記第2の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する。
一実施形態によれば、IOアクセス集中に対する予測を正確に行なうことができる。
実施形態の一例としての階層ストレージ装置を備えるストレージシステムの構成を例示する図である。 実施形態の一例としての階層ストレージ装置の機能構成を示す図である。 実施形態の一例としての階層ストレージ装置におけるIOアクセス集中管理情報を例示する図である。 実施形態の一例としての階層ストレージ装置における比較部による処理を説明するための図である。 実施形態の一例としての階層ストレージ装置における残り継続時間表を例示する図である。 実施形態の一例としての階層ストレージ装置における残り継続時間表の作成方法を説明するためのフローチャートである。 実施形態の一例としての階層ストレージ装置における残り継続時間表作成用期間の変更方法を説明するための図である。 実施形態の一例としての階層ストレージ装置における移動判定部による移動判定方法を説明するための図である。 実施形態の一例としての階層ストレージ装置における移動判定部によるIOアクセス集中発生領域の予測方法を説明するための図である。 実施形態の一例としての階層ストレージ装置における移動判定部によるIOアクセス集中発生領域の予測方法を説明するための図である。 IOアクセス集中予測領域をワークロードフットプリントとともに示す図である。 実施形態の一例としての階層ストレージ装置における階層ストレージ制御装置のハードウェア構成例を示す図である。 実施形態の一例としての階層ストレージ装置における基点時刻Tstartの更新方法を説明するためのフローチャートである。 実施形態の一例としての階層ストレージ装置におけるワークロード分析部による処理を説明するためのフローチャートである。
以下、図面を参照して本情報処理装置、ストレージ制御プログラムおよびストレージ制御方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
〔1〕構成
〔1−1〕ストレージシステムの構成例
図1は実施形態の一例としての階層ストレージ装置1を備えるストレージシステム100の構成を例示する図である。
図1に示すように、ストレージシステム100は、PC(Personal Computer)等のホスト装置2と階層ストレージ装置1とを備える。ホスト装置2と階層ストレージ装置1とは、SAS(Serial Attached Small Computer System Interface)やFC(Fibre Channel)等のインタフェースを介して接続されている。
ホスト装置2は、図示しないCPU(Central Processing Unit)等のプロセッサを備え、このプロセッサによりアプリケーション3を実行することで、種々の機能を実現する。
階層ストレージ装置1は、後述の如く、複数種類の記憶装置(図2に示す例では、SSD20およびDIMM(Dual Inline Memory Module)30)を備え、これらの記憶装置の記憶領域をホスト装置2に提供する。階層ストレージ装置1が提供する記憶領域には、ホスト装置2においてアプリケーション3の実行により生成されたデータや、アプリケーション3を実行するために用いられるデータ等が格納される。
ホスト装置2が階層ストレージ装置1の記憶領域に対してデータのライトやリードを行なうことで、IOアクセスが生じる。
〔1−2〕階層ストレージ装置の機能構成例
図2は実施形態の一例としての階層ストレージ装置1の機能構成を示す図である。図2に示すように、階層ストレージ装置(ストレージ装置)1は、階層ストレージ制御装置(ストレージ制御装置)10,SSD20,及びDIMM30をそなえる。
階層ストレージ制御装置10は、ホスト装置2からのIOアクセスに応じて、SSD20及びDIMM30への種々のアクセスを行なうストレージ制御装置である。例えば、階層ストレージ制御装置10は、SSD20及びDIMM30へのリード又はライト等のアクセスを行なう。階層ストレージ制御装置10としては、PCやサーバ,又はコントローラモジュール(CM;Controller Module)等の情報処理装置が挙げられる。
また、本実施形態に係る階層ストレージ制御装置10は、IOアクセスの頻度に応じて、アクセス頻度が低い領域をSSD20に配置する一方、アクセス頻度が高い領域をDIMM30に配置する、動的階層制御を実現する。
DIMM(第1の記憶装置)30は、種々のデータやプログラム等を格納する記憶装置の一例であり、SSD(第2の記憶装置)20は、DIMM30とは異なる性能の(例えばより低速な)記憶装置の一例である。本実施形態において、互いに異なる記憶装置(以下、便宜上、第1及び第2の記憶装置と表記する場合がある)として、DIMM30等の半導体メモリモジュール,SSD20等の半導体ドライブ装置をそれぞれ例に挙げているが、これに限定されるものではない。第1及び第2の記憶装置として、互いに性能差(例えばリード/ライトの速度差)のある種々の記憶装置が用いられればよい。
SSD20及びDIMM30は、階層ストレージ装置1におけるストレージボリュームを構成する。
以下、ホスト装置2等から認識される1つのストレージボリュームをLUN(Logical Unit Number)という。さらに、LUNを予め決められたサイズで分割した1単位(単位領域)をサブLUN(sub LUN)という。なお、サブLUNのサイズは、例えば、MB(MegaByte)〜GB(GigaByte)のオーダで適宜変更して実施することができる。
なお、サブLUNをセグメントという場合もある。
SSD20及びDIMM30の各々は、ストレージボリューム上のサブLUN(単位領域)のデータを格納可能な記憶領域を含む。階層ストレージ制御装置10は、サブLUN単位で、SSD20とDIMM30との間の領域移動を制御する。以下、SSD20の記憶領域とDIMM30の記憶領域との間におけるデータの移動をマイグレーション(Migration)という場合がある。
なお、図2では、階層ストレージ装置1がそれぞれ1つのSSD20及びDIMM30をそなえるものとしているが、これに限定されるものではなく、それぞれ複数のSSD20及びDIMM30をそなえてもよい
次に、階層ストレージ制御装置10の詳細について説明する。
階層ストレージ制御装置10は、一例として、図2に示すように、階層管理部11,階層ドライバ12,SSDドライバ13及びDIMMドライバ14をそなえる。なお、例えば、階層管理部11は、ユーザ空間で実行されるプログラムとして実現され、階層ドライバ12,SSDドライバ13及びDIMMドライバ14は、OS(Operating System)空間で実行されるプログラムとして実現される。
本実施形態においては、階層ストレージ制御装置10は、例えば、Linux(登録商標) device−mapperの機能を用いるものとする。device−mapperがストレージボリュームをサブLUN単位で監視し、高負荷となったサブLUNのデータをSSD20からDIMM30へ移動することで高負荷領域へのIOを処理する。なお、device−mapperはコンピュータプログラムとして実装されている。
階層管理部11は、サブLUNに対するデータアクセスを分析することで、SSD20からDIMM30へデータを移動させるサブLUNを特定(移動候補抽出)する。また、階層管理部11は、SSD20からDIMM30に対して、または、DIMM30からSSD20に対して、サブLUNのデータを移動させる。
階層管理部11は、例えば収集したIOアクセス情報に基づいて、SSD20又は/及びDIMM30についてトレースされたIOの情報に基づいて、領域移動を行なうサブLUNを判定し、判定したサブLUNのデータの移動を階層ドライバ12に指示する。
階層管理部11は、図2に示すように、データ収集部(収集部)11a,ワークロード分析部11bおよび移動指示部11cとしての機能をそなえる。
階層管理部11は、例えば、Linux上においてはログプール(Log Pool),ワークロード分析およびサブLUN移動指示の3つのコンポーネントを有する分割・構成変更エンジンとして実装される。そして、これらのログプール,ワークロード分析およびサブLUN移動指示の各コンポーネントが、図2に示すデータ収集部11a,ワークロード分析部11bおよび移動指示部11cとしての機能をそれぞれ実現する。
データ収集部(収集部)11aは、SSD20又は/及びDIMM30に対するIOアクセスの情報(IOアクセス情報)を収集する。例えば、データ収集部11aは、Linuxのblktraceを用いてSSD20又は/及びDIMM30についてトレースされたIOの情報を所定間隔(例えば1分間隔)で収集する。データ収集部11aは、IOトレースにより、例えばtimestampやLBA(Logical Block Addressing ),r/w(read/write),length等の情報を採取する。LBAからはサブLUNIDを求めることができる。
ここで、blktraceは、ブロックIOレベルでのIOをトレースするコマンドである。以下、トレースされたIOアクセスの情報を、トレース情報という場合ある。なお、データ収集部11aは、blktraceに代えて、ディスクIOの利用状況を確認するコマンドであるiostat等の他の手法を用いてIOアクセス情報を収集してもよい。なお、blktrace及びiostatはOS空間で実行される。
そして、データ収集部11aは、収集した情報に基づいて、サブLUNごとのIOアクセス数を集計する。
データ収集部11aは、一定時間間隔(t)ごとにサブLUN単位でIOアクセスに関する情報を収集する。例えば、階層管理部11が1分間隔でサブLUNの移動判定を行なう場合には、この一定時間間隔(t)は1分に設定される。
データ収集部11aは、例えば、各サブLUNに対するIO数や、平均応答時間として、Avers,AversWithMg,AveMgTime,AversDimmをそれぞれ収集する。
ここで、“Avers”は、マイグレーションを行なわない場合でのSSD20におけるIOアクセスのアクセス平均応答時間である。“AversWithMg”は、マイグレーションを行なう場合でのSSD20におけるIOアクセスの平均応答時間である。“AveMgTime”は1つのサブLUNをマイグレーションする場合の平均実行時間である。“AversDimm”は、DIMM30におけるIOアクセスの平均応答時間である。
これらのIO数,平均応答時間Avers,AversWithMg,AveMgTime,AversDimm の各値は、例えば階層ドライバ12の機能によって収集もしくは算出される。データ収集部11aは、これらの値を階層ドライバ12から取得し、IOアクセス集中特徴記録DB102に登録する。
また、データ収集部11aは、これらの情報を適宜収集して、IOアクセス集中特徴記録DB102に登録する。
以下、平均応答時間Avers,AversWithMg,AveMgTime,AversDimmをパラメータという場合がある。これらのパラメータは、運用ワークロードやSSD20等の使用機材の影響を受けるため、後述の如く、マイグレーションによる利益の判断に用いるに際して、運用時に直前の平均値等を求めることが望ましい。
また、データ収集部11aは、各セグメント又は/及び全セグメントへのIOのリードライト比(rw比)を集計し、上述した情報に含めてもよい。
このように、データ収集部11aは、SSD20又はHDD30で使用される領域を所
定の大きさで分割した複数の単位領域について、入力されたIOアクセス要求に関する情報を収集する収集部の一例である。
移動指示部11cは、後述するワークロード分析部11b(移動判定部105)からの指示(移動判定通知,移動対象情報)に従って、階層ドライバ12に、選択されたサブLUNのデータの、SSD20からDIMM30への移動、又は、DIMM30からSSD20への移動を指示する。
ワークロード分析部11bは、データ収集部11aによって収集されたIOアクセス情報に基づき、SSD20またはDIMM30におけるデータの移動元となるサブLUNを選択し、選択したサブLUNに関する情報を移動指示部11cに渡す。
以下、本実施形態においては、SSD20からDIMM30へデータを移動させる場合について示す。
ワークロード分析部11bは、図2に示すように、監視部101,IOアクセス集中特徴記録データベース(DB)102,比較部103,残り継続時間表作成部104および移動判定部105を備える。
監視部101は、IOアクセス集中の検出および監視を行なう。監視部101は、データ収集部11aによって収集されたサブLUN単位のIOアクセスについてのトレース情報に基づき、SSD20におけるIOアクセス集中の発生を検出する。
ここで、IOアクセス集中とは、例えば、全ボリューム容量の所定%(例えば、0.1%程度〜数%)までの範囲領域に全IOアクセスの半分以上が集まった状態をいう。
監視部101は、上述した所定の範囲領域に、所定の閾値以上(例えば、全IOアクセスの50%〜90%程度)のアクセスが集中した状態となったことを検出すると、IOアクセス集中状態であると判断する。
なお、IOアクセスの集中を判断するための範囲領域としては、連続した1つの範囲領域を対象として判断してもよく、また、互いに離散した複数の範囲領域の合計を対象として判断してもよい。
なお、1つのIOアクセスの継続時間は、最大でも80分前後であり、短いケースでは、1分未満で終息してしまう場合もある。
また、監視部101は、IOアクセス集中の終息についても検出する。IOアクセス集中の終息とは、今までIOアクセスが集中していた範囲領域に関して、IOアクセス数が、上述した閾値未満となった状態をいう。
なお、IOアクセス数が一瞬低下した後に、すぐに回復するケースもある。そこで、監視部101は、例えば、今までIOアクセスが集中していた範囲領域に関して、IOアクセス数が、上述した閾値未満となってから所定時間(例えば、N分間)経過した時点で、IOアクセス集中が終息したと判断することが望ましい。
監視部101は、IOアクセス集中に関する情報をIOアクセス集中特徴記録DB102に登録する。
IOアクセス集中特徴記録DB102は、本階層ストレージ装置1において検出されたIOアクセス集中に関する情報を記録するデータベースである。IOアクセス集中特徴記録DB102には、IOアクセス集中に関する情報であるIOアクセス集中管理情報が登録される。
図3は実施形態の一例としての階層ストレージ装置1におけるIOアクセス集中管理情報を例示する図である。この図3に示す例においては、便宜上、IOアクセス集中管理情報をテーブルとして示している。以下、複数のIOアクセス集中管理情報をテーブル状に示した情報をIOアクセス集中管理テーブルという。
IOアクセス集中管理情報は、SSD20において発生中のIOアクセス集中に関する情報であり、IOアクセス集中管理テーブルには、SSD20において発生中のIOアクセス集中に関する情報がエントリとして登録される。
図3に示すIOアクセス集中管理情報は、項目としてID,Start sub-LUN,End sub-LUNおよびStart timeを備える。
図9〜図11を用いて後述する如く、SSD20において、IOアクセス集中はストレージボリュームを移動する範囲として観測される。Start sub-LUNはIOアクセス集中領域の始点、すなわちIOアクセス集中の発生位置であるサブLUNを特定するための情報である。また、End sub-LUNは、IOアクセス集中領域の終点、すなわち、IOアクセス集中の移動先位置であるサブLUNを特定するための情報である。
Start timeは、そのIOアクセス集中が発生した時刻を示す。IDはそのIOアクセス集中(エントリ)を特定するための識別情報であり、例えば、IOアクセス集中の発生順にシーケンシャルに付番される。
これらの情報は、監視部101がIOアクセス集中の発生を検出すると、IOアクセス集中管理テーブルに登録する。
また、IOアクセス集中特徴記録DB102には、IOアクセス集中について、終息した時間,IOアクセス集中の継続時間,リード/ライト比(RW比),平均IOPS(Input Output Per Second)等のIOアクセス集中の傾向を示す情報(IOアクセス集中傾向情報)が登録される。これらの情報は、IOアクセス集中の傾向を表し、指標となる情報であり、IOアクセス集中が終息した際に、監視部101により、IOアクセス集中特徴記録DB102に、当該IOアクセス集中のIDに対応付けて登録される。以下、これらの継続時間の最大値,継続時間の平均値,継続時間の最小値,RW比および平均IOPSをIOアクセス集中傾向情報という場合がある。
IOアクセス集中特徴記録DB102におぃては、IOアクセス集中傾向情報は時系列で保存されることが望ましい。
比較部103は、複数の時間区間でのIOアクセス集中傾向情報を比較する。
図4は実施形態の一例としての階層ストレージ装置1における比較部103による処理を説明するための図である。
図4中において、時刻T1,T2,TCは時系列に沿って並んでおり、時刻TCは現在時刻(Current Time)を示し、時刻TC ,T1,T2の順に古くなる。時刻T1から時刻TCまでの期間を期間αと表し、時刻T2から時刻T1までの期間を期間βと表す。
また、時刻T2から時刻T1までの経過時間と、時刻T1から時刻TCまでの経過時間は等しいものとする。従って、期間αの長さと期間βの長さは等しい。
期間αおよび期間βの長さをTintervalと表すと、時刻TCから時刻T1までの長さはTintervalであり、時刻TCから時刻T2までの長さはTinterval×2で表すことができる。
以下、時刻TCをcur_timeという場合がある。時刻T1=cur_time−Tinterval,時刻T2=cur_time−2×Tintervalと、それぞれ表すことができる。
比較部103は、期間αと期間βとに終息したIOアクセス集中に関して、例えば、IOアクセス集中特徴記録DB102から取得した情報に基づき、継続時間の最大値,継続時間の平均値,継続時間の最小値,RW比および平均IOPSをそれぞれ算出する。以下、これらの継続時間の最大値,平均値および最小値,RW比および平均IOPSを、比較要素といい、これらの比較要素をまとめて比較項目Pという。
比較部103は、期間αにおける比較項目Pの各比較要素の値(第1の集中状態傾向情報)と期間βにおける比較項目Pの各比較要素の値(第2の集中状態傾向情報)とを比較する。
すなわち、比較部103は、判断開始時刻(TC)から、判断開始時刻(TC)よりも一定時間間隔(Tinterval)前の第1のタイミング(T1)までの第1期間(α)において収集された第1の集中状態傾向情報と、第1のタイミング(T1)から、第1のタイミング(T1)よりも一定時間間隔(Tinterval)前の第2のタイミング(T2)までの第2期間(β)において収集された第2の集中状態傾向情報とを比較するのである。
そして、比較の結果、これらの比較要素のうち、所定の基準以上変化するものが1つでもある場合に、比較部103は、残り継続時間表作成部104にIOアクセス集中傾向の変化を検出したことを示す通知(IOアクセス集中傾向変化通知)を行なう。
例えば、比較部103は、上述した比較要素のうち、差分が所定の閾値%を超えるものが1つでもある場合に、IOアクセス集中傾向が変化したと判定する。
比較部103は、所定期間である時間Tintervalが経過する毎に、すなわちTinterval間隔で、この時間Tintervalが経過する前後でのIOアクセス集中に関する情報(比較項目P)を比較することで、IOアクセス集中傾向の変化の有無を確認する。
残り継続時間表作成部104は、残り継続時間表1041の作成および更新を行なう。
(a)残り継続時間表1041の作成方法
図5は実施形態の一例としての階層ストレージ装置1における残り継続時間表1041を例示する図である。
残り継続時間表1041は、発生中のIOアクセス集中が終息するまでの残り時間(残り継続時間)の指標を示す。
図5に示すように、残り継続時間表1041は、継続時間,平均継続時間および残り継続時間を対応付けて構成されている。
継続時間は、IOアクセス集中が発生してからの経過時間である。以下、継続時間を符号(A)を用いて表す。例えば、図5中において、継続時間(A)=840は、IOアクセス集中が発生してから840秒経過したことを示す。
平均継続時間は、継続時間(A)だけ継続したIOアクセス集中が発生してから終息するまでの時間の平均値を示す。以下、平均継続時間を符号(D)を用いて表す。例えば、図5中において、継続時間(A)=840に対して、平均継続時間(D)=870.00が対応付けられている。これは、840秒間継続したIOアクセス集中は、平均して870秒継続して存続し、870秒が経過した時点で終息することを示す。
残り継続時間は、発生中のIOアクセス集中が終息するまでの残り時間を示す。以下、残り続時間を符号(D)を用いて表す。例えば、図5中において、継続時間(A)=840に対して、残り継続時間(E)=30.00が対応付けられている。これは、840秒間継続したIOアクセス集中は、30秒後に終息することを示す。
なお、図5中における項目“サンプリング数(B)”および“C=A*B”は、残り継続時間表1041を作成過程で用いられる値である。なお、“*”は乗算(×)を意味する。
実施形態の一例としての階層ストレージ装置1における残り継続時間表作成部104による残り継続時間表1041の作成方法を、図6に示すフローチャート(ステップA1〜A6)に従って説明する。
なお、Tstartは、残り継続時間表1041の作成を行なうに際して用いられる起点時刻である。残り継続時間表作成部104は、時刻Tstartから現在時刻TCまでの期間(残り継続時間表作成用期間)のIOアクセス集中についての情報をIOアクセス集中特徴記録DB102から抽出し、これらの情報を用いて残り継続時間表1041を作成する。
残り継続時間表作成部104は、継続時間(A)の各値(エントリ)に対して、以下の処理を行なうことで、残り継続時間表1041を作成する。
以下、継続時間(A)におけるエントリを符号Aを用いて表す。また、継続時間(A)における処理対象の任意のエントリを符号Nを用いて表す場合がある。
ステップA1において、残り継続時間表作成部104は、IOアクセス集中特徴記録DB102から、Tstart以降のデータを抽出し、これらの抽出したデータを用いて、継続時間(A)のエントリ毎のサンプリング数(B)求める。
例えば、図5に示す例において、継続時間(A)の値が840(A=840)であるエントリについては、そのサンプリング数(B)の値は20(B=20)である。
ステップA2において、残り継続時間表作成部104は、継続時間毎に、継続時間(A)にサンプリング数(B)を乗算してCを算出する(C=A×B)。
例えば、図5に示す例において、継続時間(A)の値が840(A=840)であるエントリについては、サンプリング数(B)の値が20(B=20)であるので、C=840×20=16,800である。
ステップA3において、残り継続時間表作成部104は、処理対象の継続時間N以上の各継続時間(A)のCの合計値(F)を算出する。
例えば、図5に示す例において、継続時間(A)の値が840(A=840)であるエントリについては、この継続時間(A)=840以上の継続時間は、840と900であるので、これら継続時間(A=840,900)の各C(C=16800,18000)の合計値(F)=16800+18000=34800である。
ステップA4において、残り継続時間表作成部104は、処理対象の継続時間N以上の継続時間(A)の各サンプリング数(B)の合計値(G)を算出する。
例えば、図5に示す例において、継続時間(A)の値が840(A=840)であるエントリについては、この継続時間(A)=840以上の継続時間は、840と900であるので、これら継続時間(A=840,900)の各サンプリング数(B)の合計値(G)=20+20=40である。
ステップA5において、残り継続時間表作成部104は、ステップA3において算出したCの合計値(F)を、ステップA4において算出したサンプリング数(B)の合計値で除算することで、IOアクセス集中の平均継続時間(D)を算出する。
例えば、図5に示す例において、継続時間(A)の値が840(A=840)であるエントリについては、平均継続時間(D)=Cの合計値(F)/サンプリング数(B)の合計値=34800/40=870である。
ステップA6において、残り継続時間表作成部104は、ステップA5において算出したIOアクセス集中の平均継続時間(D)から、継続時間(A)を減算することで、IOアクセス集中の残り継続時間(E)を算出する。
例えば、図5に示す例において、継続時間(A)の値が840(A=840)であるエントリについては、残り継続時間(E)=平均継続時間(D)−継続時間(A)=870−840=30である。
(b)残り継続時間表作成用期間の変更
また、残り継続時間表作成部104は、比較部103からIOアクセス集中傾向の変化を検出したことを示す通知(IOアクセス集中傾向変化通知)を受信すると、残り継続時間表1041の作成に用いる、IOアクセス集中特徴記録DB102におけるデータ範囲を変更する。
すなわち、残り継続時間表作成部104は、比較部103がIOアクセス集中傾向の変化を検出すると、その時点での時刻T1をTstartに設定する。残り継続時間表作成部104は、この変更後の時刻Tstartを起点とする残り継続時間表作成用期間のIOアクセス集中についての情報をIOアクセス集中特徴記録DB102から抽出し、これらの情報を用いて残り継続時間表1041を作成する。
図7は実施形態の一例としての階層ストレージ装置1における残り継続時間表作成部104による残り継続時間表作成用期間の変更方法を説明するための図である。
この図7に示す例においては、時刻T3のタイミングでIOアクセス集中傾向の変化が検出された例を示している。
この図7においては、時刻T3よりも前の期間が図4に示す期間βに相当し、時刻T3以後の期間が期間αに相当する。
残り継続時間表作成部104は、この時刻T3をTstartに設定する。これにより、時刻Tstart(T3)から時刻TC(Current Time)までの期間が新たな残り継続時間表作成用期間(期間α)となり、この残り継続時間表作成用期間からは、IOアクセス集中傾向が変化する前の時刻T3以前(期間β)のIOアクセス集中に関する情報が除外される。残り継続時間表作成部104は、この残り継続時間表作成用期間におけるIOアクセス集中に関する情報を用いて残り継続時間表1041を作成する。
このように、残り継続時間表作成部104は、IOアクセス集中傾向が変化した後のIOアクセス集中に関する情報を用いて残り継続時間表1041を作成(再作成)する。すなわち、残り継続時間表1041には、IOアクセス集中傾向が変化する前のIOアクセス集中に関する情報が反映されることがなく、階層ストレージ装置1における最新の傾向に応じたIOアクセス集中の継続時間予測を行なうことができる。
移動判定部105は、残り継続時間表作成部104が作成(再作成)した、残り継続時間表1041を参照して、SSD20上のサブLUN(セグメント)のデータをDIMM30に移動(置換)させるか否かを判定する。
具体的には、移動判定部105は、SSD20からDIMM30へのデータ移動に伴うオーバヘッド(損失,デメリット)と、データ移動を行なうことにより得られる利益(メリット)とを比較することで、データ移動の評価を行なう。そして、この評価(比較)の結果、SSD20からDIMM30へのデータ移動に伴うオーバヘッドよりも、データ移動を行なうことによる利益が上回ると判断した場合に、移動判定部105は、移動指示部11cに通知(移動判定通知)を行なう。
図8は実施形態の一例としての階層ストレージ装置1における移動判定部105による移動判定方法を説明するための図である。
この図8中においては、SSD20からDIMM30へのデータ移動に伴うオーバヘッドを符号Xで表し、データ移動を行なうことにより得られる効果を符号Yで示す。
運用ワークロードは時間経過とともに変化するので、データ収集部11aは、上記パラメータを常に更新することが望ましい。SSD20から取り出せる性能についても、特にランダムライトが多いワークロードでは徐々に悪化するので、データ収集部11aは、やはり上記パラメータを常に更新することが望ましい。
図8に示すグラフは、SSD20からDIMM30へのデータのマイグレーションを行なう際における各過程での平均応答時間およびIOアクセス数を示すものであ。なお、図8中において、縦軸は平均応答時間(Average response time:A)およびIOアクセス数(Number of IO accesses:B)を、横軸は経過時間(Elapse times)を、それぞれ示す。
この図8に示すように、SSD20におけるIOアクセス数が増加し、時刻T4においてIOアクセス集中が検出されたものとする。このIOアクセス集中にともない、現在時刻の後に、IOアクセス集中が生じているSSD20のサブLUNのデータをDIMM30にマイグレーションする。
マイグレーション処理中においては平均応答時間は長くなり(図8中の符号X参照)、マイグレーションの完了後、DIMM30にサブLUNのデータが移動した後には、平均応答時間は短くなる(図8中の符号Y参照)。
図8中において符号Xで示す領域は、SSD20からDIMM30へのデータ移動に伴うオーバヘッドを示し、このX領域の面積が大きいことが、オーバヘッドが大きいことを表す。また、図8中において符号Yで示す領域は、データ移動を行なうことにより得られる効果を示し、このY領域の面積が大きいことは、データ移動を行なうことにより得られる利得が大きいことを示す。
移動判定部105は、以下の式(1),(2)により、オーバヘッドXを求める。
Xduration = AveMgTime* (End sub-LUN - Start sub-LUN) ・・・(1)
X = (AversWithMg - Avers) * Xduration ・・・(2)
なお、Start sub-LUNは、IOアクセス集中領域の始点となるサブLUNを特定する情報であり、End sub-LUN は、IOアクセス集中領域の終点となるサブLUNを特定する情報である(図3参照)。従って、(End sub-LUN - Start sub-LUN)は、IOアクセス集中が発生している領域の数(領域の大きさ)を表す。Xdurationは、IOアクセス集中が生じている複数のサブLUNをマイグレーションするのに要する時間を表す。また、Xはマイグレーションを行なうことで生じる時間的不利益を表す。
また、移動判定部105は、以下の式(3),(4)により、利益Yを求める。
Yduration = Pduration - Xduration ・・・(3)
Y = (Avers - AversDimm) * Yduration ・・・(4)
なお、Pdurationは、IOアクセス集中の残り継続時間を示し、残り継続時間表1041を参照することで得ることができる。Yはマイグレーションを行なわないことで得られる(節約できる)時間的利益を表す。
移動判定部105は、算出したこれらのオーバヘッドXと利益Yとを比較し、利益YがオーバヘッドXよりも大きい場合に(Y>X)、SSD20のサブLUNのデータをDIMM30に移動すべきであると判断する。すなわち、マイグレーションを行なうべきであると判定する。
移動判定部105は、SSD20からDIMM30へのマイグレーションを行なうべきであると判定した場合には、その判定結果を移動指示部11cに通知する。この通知には、マイグレーション対象のサブLUNを特定する情報が移動対象情報として含まれる。
(c)IOアクセス集中領域の予測
また、移動判定部105は、SSD20におけるIOアクセス集中が発生する領域の予測を行なう機能を有する。すなわち、移動判定部105は、SSD20におけるIOアクセス集中の発生位置を予測する予測部として機能する。
図9および図10は、それぞれ実施形態の一例としての階層ストレージ装置1における移動判定部105によるIOアクセス集中発生領域の予測方法を説明するための図である。
この図9中において、縦軸はストレージボリュームのオフセットを、横軸は経過時間を、それぞれ示す。また、図9中において、白抜きの矩形はIOアクセス集中が発生すると予測される領域(IOアクセス集中予測領域)を示し、斜線を付した矩形は、実際にIOアクセス集中が発生した領域を示す。
図9中においては、IOアクセス集中が検出されてから時間Tが経過した時点(現在時刻=T)の状態を示している。移動判定部105は、残り継続時間表1041を参照して残り継続時間を取得することで、IOアクセス集中が後どれだけ続くのかを予測する。
図9中において、現在時刻においては、IOアクセス集中が発生してから一定時間(T)が経過している。移動判定部105は、この経過時間Tに基づいて残り継続時間表1041の継続時間(A)を参照し、この継続時間(A)に対応する残り継続時間(E)を取得し、残り継続時間Tendとする。すなわち、移動判定部105は、経過時間Tに基づいて残り継続時間表1041の継続時間(A)を参照することで、残り継続時間Tendを予測する。
また、移動判定部105は、2つ以上のIOアクセス集中の発生位置とこれらのIOアクセス集中の発生時刻とに基づいて、IOアクセス集中の発生位置の移動速度(Speed)を算出する。また、移動判定部105は、2つ以上のIOアクセス集中の発生位置とこれらのIOアクセス集中の発生時刻とに基づいて、IOアクセス集中の発生位置の移動方向を特定してもよい。
そして、移動判定部105は、残り継続時間TendとIOアクセス集中の発生位置の移動速度(Speed)とを乗算することで、IOアクセス集中予測領域(図9中の白抜き矩形領域)を求める。この際、移動判定部105は、IOアクセス集中の発生位置の移動方向を用いてIOアクセス集中予測領域を求めてもよい。
移動判定部105は、予測したIOアクセス集中予測領域を移動対象情報として移動指示部11cに通知する。
後述する移動指示部11cは、移動判定部105から移動判定通知および移動対象情報を受信すると、この移動判定部105からの指示に基づいて、階層ドライバ12に、選択されたサブLUNのデータの、SSD20からDIMM30への移動を指示する。
すなわち、SSD20におけるIOアクセス集中予測領域に含まれるサブLUNのデータを、DIMM30への移動対象に含める。
これにより、移動判定部105により予測されたSSD20におけるIOアクセス集中予測領域のデータが、DIMM30に移動される。
図10中においては、図9の状態の後、IOアクセス集中が検出されてから時間T2が経過した時点(現在時刻=T2)の状態を示している。
移動判定部105は、この経過時間T2に基づいて残り継続時間表1041の継続時間(A)を参照して、残り継続時間T2endを予測する。
そして、移動判定部105は、新たに予測した継続時間T2endに基づいて、新たなIOアクセス集中予測領域(図10中の白抜き矩形領域)を求める。
移動判定部105は、予測されたIOアクセス集中予測領域のうち、先に移動指示部11cによりDIMM30に移動された部分を除く領域を、移動対象情報として移動指示部11cに通知する。これにより、移動判定部105により予測されたSSD20におけるIOアクセス集中予測領域のデータが、DIMM30に移動されることとなる。
図11はIOアクセス集中予測領域をワークロードフットプリントとともに示す図である。図11中において、符号(a)はIOアクセス集中が検出されてから時間Tが経過した時点(現在時刻=T)の状態を示しており、符号(b)はIOアクセス集中が検出されてから時間T2が経過した時点(現在時刻=T2)の状態を示している。
符号(a)中に示すように、時刻Tにおいて行なったIOアクセス集中予測においてはIOアクセス集中予測領域(移動対象情報)には含まれなかった領域が、符号(b)中に示すように、時刻T2において行なったIOアクセス集中予測においてはIOアクセス集中予測領域(移動対象情報)に新たに含まれている。
図2の説明に戻り、移動指示部11cは、移動判定部105からの指示に基づいて、階層ドライバ12に、選択されたサブLUNのデータの、SSD20からDIMM30への移動、又は、DIMM30からSSD20への移動を指示する。
階層ドライバ12は、ユーザからのストレージボリュームに対するIO要求をSSDドライバ13又はDIMMドライバ14に振り分け、SSDドライバ13又はDIMMドライバ14からのIOレスポンスをユーザに返す。
階層ドライバ12は、移動指示部11cからサブLUN移動指示(セグメント移動指示)を受け取ると、DIMM30又はSSD20の移動対象の単位領域に記憶されたデータをSSD20又はDIMM30に移動する移動処理を実行する。
なお、この階層ドライバ12によるSSD20−HDD30間のデータ移動は、既知の手法により実現することができ、その説明は省略する。
SSDドライバ13は、階層ドライバ12の指示に基づいてSSD20へのアクセスを制御する。DIMMドライバ14は、階層ドライバ12の指示に基づいてDIMM30へのアクセスを制御する。
〔1−3〕階層ストレージ制御装置のハードウェア構成例
次に、図12を参照して、図2に示す階層ストレージ制御装置10のハードウェア構成について説明する。図12は実施形態の一例としての階層ストレージ装置1における階層ストレージ制御装置10のハードウェア構成例を示す図である。
階層ストレージ制御装置10は、図12に示すように、CPU10a,メモリ10b,記憶部10c,インタフェース部10d,入出力部10e,記録媒体10f,及び読取部10gをそなえる。
CPU10aは、対応する各ブロック10b〜10gと接続され、種々の制御や演算を行なう演算処理装置(プロセッサ)である。CPU10aは、メモリ10b,記憶部10c,記録媒体10fや10h,又は図示しないROM(Read Only Memory)等に格納されたプログラムを実行することにより、階層ストレージ制御装置10における種々の機能を実現する。
メモリ10bは、種々のデータやプログラムを格納する記憶装置である。CPU10aは、プログラムを実行する際に、メモリ10bにデータやプログラムを格納し展開する。なお、メモリ10bとしては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。
記憶部10cは、種々のデータやプログラム等を格納するハードウェアである。記憶部10cとしては、例えばHDD等の磁気ディスク装置,SSD等の半導体ドライブ装置,フラッシュメモリ等の不揮発性メモリ等の各種デバイスが挙げられる。なお、記憶部10cとして複数のデバイスが用いられてもよく、これらのデバイスでRAID(Redundant Arrays of Inexpensive Disks)が構成されてもよい。また、記憶部10cは、ストレージクラスメモリ(Storage Class Memory:SCM)であってもよく、また、図2に示すSSD20及びDIMM30を含んでもよい。
インタフェース部10dは、有線又は無線による、ネットワーク(図示省略)や他の情報処理装置との間の接続及び通信の制御等を行なうものである。インタフェース部10dとしては、例えば、LAN(Local Area Network),ファイバチャネル(Fibre Channel;FC),インフィニバンド(InfiniBand)等に準拠したアダプタが挙げられる。
入出力部10eは、マウスやキーボード等の入力装置及びディスプレイやプリンタ等の出力装置の少なくとも一方を含むことができる。例えば、入出力部10eは、階層ストレージ制御装置10の使用者又は管理者等による種々の作業に用いられる。
記録媒体10fは、例えばフラッシュメモリやROM等の記憶装置であり、種々のデータやプログラムを記録することができる。読取部10gは、コンピュータ読取可能な記録媒体10hに記録されたデータやプログラムを読み出す装置である。記録媒体10f及び10hの少なくとも一方には、本実施形態に係る階層ストレージ制御装置10の各種機能の全部もしくは一部を実現する制御プログラムが格納されてもよい。例えば、CPU10aは、記録媒体10fから読み出したプログラム、又は、読取部10gを介して記録媒体10hから読み出したプログラムを、メモリ10b等の記憶装置に展開して実行することができる。これにより、コンピュータ(CPU10a,情報処理装置,各種端末を含む)は、上述した階層ストレージ制御装置10の機能を実現することができる。
なお、記録媒体10hとしては、例えばフレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク等の光ディスクや、USB(Universal Serial Bus)メモリやSDカード等のフラッシュメモリが挙げられる。なお、CDとしては、CD−ROM、CD−R(CD-Recordable)、CD−RW(CD-Rewritable)等が挙げられる。また、DVDとしては、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。
なお、上述した各ブロック10a〜10g間はバスで相互に通信可能に接続される。例えばCPU10aと記憶部10cとの間は、ディスクインタフェースを介して接続される。また、階層ストレージ制御装置10の上述したハードウェア構成は例示である。従って、階層ストレージ制御装置10内でのハードウェアの増減(例えば任意のブロックの追加や省略),分割,任意の組み合わせでの統合,バスの追加又は省略等は適宜行なわれてもよい。
〔2〕動作
先ず、上述の如く構成された実施形態の一例としての階層ストレージ装置1における基点時刻Tstartの更新方法を、図13に示すフローチャート(ステップB1〜B5)に従って説明する。
ステップB1において、残り継続時間表作成部104は、IOアクセス集中特徴記録DB102から、現在時刻TCから時刻T1までの間に発生したIOアクセス集中に関する情報を抽出する。
そして、残り継続時間表作成部104は、抽出した1つ以上のIOアクセス集中について、継続時間の最大値,継続時間の平均値,継続時間の最小値,RW比および平均IOPSをそれぞれ算出する。以下、これらの継続時間の最大値,継続時間の平均値,継続時間の最小値,RW比および平均IOPSを、IOアクセス集中傾向情報(A)という。
ステップB2において、残り継続時間表作成部104は、IOアクセス集中特徴記録DB102から、現在時刻T1から時刻T2までの間に発生したIOアクセス集中に関する情報を抽出する。
そして、残り継続時間表作成部104は、抽出した1つ以上のIOアクセス集中について、継続時間の最大値,継続時間の平均値,継続時間の最小値,RW比および平均IOPSをそれぞれ算出する。以下、これらの継続時間の最大値,継続時間の平均値,継続時間の最小値,RW比および平均IOPSを、IOアクセス集中傾向情報(B)という。
ステップB3において、比較部103は、IOアクセス集中傾向情報(A)とIOアクセス集中傾向情報(B)との各要素(比較要素)の値を比較する。比較部103は、比較の結果、これらの比較要素のうち、差分が所定の閾値%を超えるものが1つでもある場合に、残り継続時間表作成部104にIOアクセス集中傾向の変化を検出したことを示す通知(IOアクセス集中傾向変化通知)を行なう。
残り継続時間表作成部104は、比較部103からIOアクセス集中傾向の変化を検出したことを示すIOアクセス集中傾向変化通知を受信すると、残り継続時間表1041の作成に用いるIOアクセス集中特徴記録DB102におけるデータ範囲を変更する。具体的には、残り継続時間表作成部104は、その時点での時刻T1をTstartに設定する。
ステップB4において、残り継続時間表作成部104は、この変更後の時刻Tstartを起点とする残り継続時間表作成用期間のIOアクセス集中についての情報をIOアクセス集中特徴記録DB102から抽出し、これらの情報を用いて残り継続時間表1041を作成(再作成)する。
その後、ステップB5において、時間Tintervalの間スリープした後、ステップB1に戻る。
次に、実施形態の一例としての階層ストレージ装置1におけるワークロード分析部11bによる処理を、図14に示すフローチャート(ステップC1〜C9)に従って説明する。
ステップC1において、ワークロード分析部11bは、データ収集部11aを介して、階層ドライバ12から、現時点での平均応答時間Avers,AversWithMg,AveMgTime,AversDimmの各値を取得する。
ステップC2において、監視部101は、データ収集部11aから現時点でのIOアクセスのトレース情報を取得し、IOアクセス集中が発生しているかを判断する。IOアクセス集中が発生している場合には、監視部101は、IOアクセス集中が発生しているサブLUNを特定する。
ステップC3において、監視部101は、IOアクセス集中特徴記録DB102(IOアクセス集中管理テーブル)を更新する。
例えば、監視部101は、ステップC2において特定したIOアクセス集中が発生しているサブLUNと、IOアクセス集中管理テーブルに登録されている各エントリのStart sub-LUN〜End sub-LUNとを比較する。
比較の結果、ステップC2において特定したIOアクセス集中が発生しているサブLUNが、IOアクセス集中管理テーブルに登録されている場合には、IOアクセス集中管理テーブルにおける当該エントリを維持する。一方、比較の結果、ステップC2において特定したIOアクセス集中が発生しているサブLUNが、IOアクセス集中管理テーブルに登録されていない場合には、このIOアクセス集中が発生しているサブLUNをIOアクセス集中管理テーブルに新たに登録する。
また、IOアクセス集中管理テーブルに登録済みのIOアクセス集中が、ステップC2において特定されたIOアクセス集中に含まれていない場合には、そのIOアクセス集中は終息したと判断できる。そこで、監視部10は、そのIOアクセス集中に関する情報を、IOアクセス集中管理テーブルから削除する。
ステップC4において、移動判定部105は、IOアクセス集中管理テーブルに登録されたIOアクセス集中管理情報を1つ、判定対象として取り出す。そして、ステップC5において、移動判定部105は、ステップC4において取り出したIOアクセス集中管理情報について、上記式(1),(2)を用いてオーバヘッドXを算出し、式(3),(4)を用いて利益Yを算出する。
ステップC6において、移動判定部105は、算出したこれらのオーバヘッドXと利益Yとを比較する。
比較の結果(ステップC6)、オーバヘッドXが利益Yよりも大きい場合には(ステップC6のYESルート参照)、ステップC7に移行する。
ステップC7においては、移動判定部105は、判定対象のサブLUNのデータをSSD20からDIMM30へ移動すべきであると判断する。移動判定部105は、その判定結果を移動指示部11cに通知して、階層ドライバ12に判定対象のサブLUNのデータをSSD20からDIMM30へ移動させる。その後、ステップC8に移行する。
また、ステップC6における比較の結果、オーバヘッドXが利益Y以下である場合にも(ステップC6のNOルート参照)、ステップC8に移行する。
ステップC8において、移動判定部105は、判定を行なっていないIOアクセス集中がIOアクセス集中管理テーブルに残っているかを確認する。
確認の結果、判定を行なっていないIOアクセス集中管理情報がIOアクセス集中管理テーブルに残っている場合には(ステップC8のYESルート参照)、ステップC4に戻る。
一方、判定を行なっていないIOアクセス集中管理情報がIOアクセス集中管理テーブルに残っていない場合には(ステップC8のNOルート参照)、ステップC9において、一定時間経過するまで待った(スリープした後)、ステップC1に戻る。
〔3〕効果
このように、一実施形態の一例としての階層ストレージ装置1によれば、比較部103が、時間Tintervalが経過する毎に、この時間Tintervalが経過する前後での、比較項目P(継続時間の最大値,継続時間の平均値,継続時間の最小値,RW比および平均IOP)の各値を比較する。そして、これらの比較項目Pのうち、少なくともいずれか1つが閾値%を超えて変化する場合に、比較部103は、残り継続時間表作成部104に対して、IOアクセス集中傾向の変化を検出したことを示す通知(IOアクセス集中傾向変化通知)を行なう。
残り継続時間表作成部104は、IOアクセス集中傾向変化通知を受信すると、IOアクセス集中傾向が変化した以降の期間を残り継続時間表作成用期間とするように変更を行なう。そして、残り継続時間表作成部104は、この変更後の残り継続時間表作成用期間のIOアクセス集中についての情報をIOアクセス集中特徴記録DB102から抽出し、これらの情報を用いて残り継続時間表1041を作成する。
これにより、残り継続時間表作成部104によって作成される残り継続時間表1041には、IOアクセス集中傾向が変化する前のIOアクセス集中に関する情報が含まれることがなく、残り継続時間表1041の精度を向上させることができる。
また、移動判定部105が、高精度な残り継続時間表1041を参照することで、IOアクセス集中について正確な予測を行なうことができる。すなわち、移動判定部105が、高精度な残り継続時間表1041を参照してSSD20上のサブLUNのデータをDIMM30に移動させるか否かを判定することで、DIMM30におけるIOアクセスのヒット率を向上させることができ、本階層ストレージ装置1のアクセス性能を向上させることができる。
また、移動判定部105が、SSD20からDIMM30へのデータ移動に伴う、オーバヘッドXと利益Yとを算出する。そして、算出したこれらのオーバヘッドXと利益Yとを比較し、利益YがオーバヘッドXよりも大きい場合に、SSD20のサブLUNのデータをDIMM30に移動すべきであると判断する。
これにより、SSD20からDIMM30に対して、効果が得られると判断される場合にのみサブLUNのデータの移動(マイグレーション)が行なわれ、確実にマイグレーションの効果を得ることができる。
また、移動判定部105は、残り継続時間表1041を参照して、残り継続時間Tend,T2endを取得し、また、IOアクセス集中の発生位置の移動速度(Speed)を算出する。そして、移動判定部105は、これらの情報を用いて、IOアクセス集中予測領域を特定する。
移動指示部11cは、SSD20におけるIOアクセス集中予測領域に含まれるサブLUNのデータを、DIMM30へ移動させる。これにより、SSD20においてIOアクセス集中が発生するおそれが高いサブLUNのデータを、予めDIMM30に移動させることができる。従って、DIMM30におけるIOアクセスのヒット率を向上させることができ、本階層ストレージ装置1のアクセス性能を向上させることができる。
〔4〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、一実施形態において、SSD20及びDIMM30を用いた階層ストレージ装置1について説明したが、これに限定されるものではなく、例えばキャッシュメモリと主記憶装置とを用いた階層記憶システムにも同様に適用することができる。すなわち、本発明は、不揮発性記憶装置の階層記憶システムだけでなく、揮発性記憶装置を含む階層記憶システムにも同様に適用することができる。
また、一実施形態に係る階層ストレージ装置1は、SSD20及びDIMM30の他に、速度差のある記憶装置にも適用することが可能である。例えばSSD20と、SSDよりも低速なアクセス速度を有するHDDとを用いた階層ストレージ装置等にも適用することが可能である。また、SSD20と、SSDよりも大容量だが低速なテープドライブ等の磁気記録装置とを用いた階層ストレージ装置等にも適用してもよい。
さらに、一実施形態において、階層ストレージ制御装置10の動作を1つのSSD20及び1つのDIMM30に着目して説明したが、複数のSSD20及び複数のDIMM30が階層ストレージ装置1にそなえられる場合も同様である。
また、上述した実施形態においては、階層ストレージ制御装置10がLinux device−mapper等の機能を用いる例を示したが、これに限定されるものではない。例えば、他のボリューム管理用ドライバや他のOSの機能を用いてもよく、種々変形して実施することができる。
また、図2に示す階層ストレージ制御装置10の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
また、ワークロード分析部11cbは、移動対象の領域をサブLUN(セグメント)単位で決定し、移動指示部11cへ階層移動を指示するものとして説明したが、これに限定されるものではない。
例えばワークロード分析部11bにより特定される移動対象の領域は、高負荷領域の近傍の領域を繋ぎ合わせた領域であってもよい。この場合、ワークロード分析部11bは、移動対象のセグメントの情報として、例えばセグメントID又はオフセットの範囲を表す情報を移動指示部11cへ通知してもよい。なお、移動指示部11cは、通知された範囲に含まれる複数のサブLUNの各々について、階層ドライバ12へ移動指示を発行すればよい。
上述した実施形態では、監視部101,IOアクセス集中特徴記録DB102,比較部103,残り継続時間表作成部104および移動判定部105としての機能をワークロード分析部11bに備えた場合について説明したが、これに限定されるものではない。監視部101,IOアクセス集中特徴記録DB102,比較部103,残り継続時間表作成部104および移動判定部105としての機能は、階層管理部11内にそなえられていればよい。
また、上述した実施形態では、本発明を階層ストレージに適用した場合について説明したが、これに限定されるものでなく、本発明は、DIMM等の第1の記憶装置がキャッシュメモリである場合についても上述した実施形態と同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
〔5〕付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
記憶装置を備える情報処理装置であって、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する作成部と、
前記記憶装置における、第1の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第1の集中状態傾向情報と、前記第1の期間に先行する第2の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第2の集中状態傾向情報とを比較する比較部とを備え、
前記比較部による比較の結果、前記第2の集中状態傾向情報が前記第1の集中状態傾向情報に比べて基準以上に変化した場合に、前記作成部が、前記第2の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する
ことを特徴とする、情報処理装置。
(付記2)
前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集する収集部を備え、
前記比較部が、判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第1のタイミングまでの第1の期間において収集された第1の集中状態傾向情報と、前記第1のタイミングから、該第1のタイミングよりも一定時間間隔前の第2のタイミングまでの第2の期間において収集された第2の集中状態傾向情報とを比較する
ことを特徴とする、付記1記載の情報処理装置。
(付記3)
前記記憶装置として、第1の記憶装置と、前記第1の記憶装置とは異なる性能の第2の記憶装置とをそなえ、
前記アクセス予測情報に基づき、前記第1の記憶装置と前記第2の記憶装置との間でデータを移動させる単位領域を特定する特定部と、
前記特定部によって特定された前記単位領域のデータを、前記第1の記憶装置と前記第2の記憶装置との間で移動させる指示を発行する移動指示部と
を備えることを特徴とする、付記2記載の情報処理装置。
(付記4)
前記第1の記憶装置と前記第2の記憶装置との間で前記データの移動を行なうことにより生じる損失と利益とを比較し、利益が損失よりも大きい場合に、前記データの移動を行なわせると判定する移動判定部を備えることを特徴とする、付記3記載の情報処理装置。
(付記5)
前記集中状態の発生位置を予測する予測部を備え、
前記特定部が、予測された前記集中状態の発生位置に含まれる前記単位領域を、前記第1の記憶装置と前記第2の記憶装置との間でデータを移動させる単位領域として特定する
ことを特徴とする、付記3または4に記載の情報処理装置。
(付記6)
前記アクセス予測情報が、前記集中状態が発生してからの複数の経過時間のそれぞれに対して、前記集中状態の残り継続時間の予測値を対応付けて構成されたことを特徴とする、付記1〜5のいずれか1項に記載の情報処理装置。
(付記7)
記憶装置を備えるコンピュータに、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成し、
前記記憶装置における、第1の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第1の集中状態傾向情報と、前記第1の期間に先行する第2の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第2の集中状態傾向情報とを比較し、
比較の結果、前記第2の集中状態傾向情報が前記第1の集中状態傾向情報に比べて基準以上に変化した場合に、前記第2の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する
処理を実行させることを特徴とする、ストレージ制御プログラム。
(付記8)
前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集し、
判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第1のタイミングまでの第1期間において収集された第1の集中状態傾向情報と、前記第1のタイミングから、該第1のタイミングよりも一定時間間隔前の第2のタイミングまでの第2の期間において収集された第2の集中状態傾向情報とを比較する
処理を前記コンピュータに実行させることを特徴とする、付記7記載のストレージ制御プログラム。
(付記9)
前記記憶装置として、第1の記憶装置と、前記第1の記憶装置とは異なる性能の第2の記憶装置とがそなえられ、
前記アクセス予測情報に基づき、前記第1の記憶装置と前記第2の記憶装置との間でデータを移動させる単位領域を特定し、
特定された前記単位領域のデータを、前記第1の記憶装置と前記第2の記憶装置との間で移動させる指示を発行する
処理を前記コンピュータに実行させることを特徴とする、付記8記載のストレージ制御プログラム。
(付記10)
前記第1の記憶装置と前記第2の記憶装置との間で前記データの移動を行なうことにより生じる損失と利益とを比較し、利益が損失よりも大きい場合に、前記データの移動を行なわせると判定する
処理を前記コンピュータに実行させることを特徴とする、付記9記載のストレージ制御プログラム。
(付記11)
前記集中状態の発生位置を予測し、
予測された前記集中状態の発生位置に含まれる前記単位領域を、前記第1の記憶装置と前記第2の記憶装置との間でデータを移動させる単位領域として特定する
処理を前記コンピュータに実行させることを特徴とする、付記9または10記載のストレージ制御プログラム。
(付記12)
前記アクセス予測情報が、前記集中状態が発生してからの複数の経過時間のそれぞれに対して、前記集中状態の残り継続時間の予測値を対応付けて構成されたことを特徴とする、付記7〜11のいずれか1項に記載のストレージ制御プログラム。
(付記13)
記憶装置を備える情報処理装置において、
前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する処理と、
前記記憶装置における、第1の期間に収集された、アクセスが集中した集中状態の単位領域についての前記集中状態の傾向を表す第1の集中状態傾向情報と、前記第1の期間に先行する第2の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第2の集中状態傾向情報とを比較する処理と、
比較の結果、前記第2の集中状態傾向情報が前記第1の集中状態傾向情報に比べて基準以上に変化した場合に、前記第2の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する処理と
を備えることを特徴とする、ストレージ制御方法。
(付記14)
前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集する処理と、
判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第1のタイミングまでの第1の期間において収集された第1の集中状態傾向情報と、前記第1のタイミングから、該第1のタイミングよりも一定時間間隔前の第2のタイミングまでの第2期間において収集された第2の集中状態傾向情報とを比較する処理と
を備えることを特徴とする、付記13記載のストレージ制御方法。
(付記15)
前記記憶装置として、第1の記憶装置と、前記第1の記憶装置とは異なる性能の第2の記憶装置とがそなえられ、
前記アクセス予測情報に基づき、前記第1の記憶装置と前記第2の記憶装置との間でデータを移動させる単位領域を特定する処理と、
特定された前記単位領域のデータを、前記第1の記憶装置と前記第2の記憶装置との間で移動させる指示を発行する処理と
を備えることを特徴とする、付記14記載のストレージ制御方法。
(付記16)
前記第1の記憶装置と前記第2の記憶装置との間で前記データの移動を行なうことにより生じる損失と利益とを比較し、利益が損失よりも大きい場合に、前記データの移動を行なわせると判定する処理
を備えることを特徴とする、付記15記載のストレージ制御方法。
(付記17)
前記集中状態の発生位置を予測する処理と、
予測された前記集中状態の発生位置に含まれる前記単位領域を、前記第1の記憶装置と前記第2の記憶装置との間でデータを移動させる単位領域として特定する
処理と
を備えることを特徴とする、付記15または付記16記載のストレージ制御方法。
(付記18)
前記アクセス予測情報が、前記集中状態が発生してからの複数の経過時間のそれぞれに対して、前記集中状態の残り継続時間の予測値を対応付けて構成されたことを特徴とする、付記13〜付記17のいずれか1項に記載のストレージ制御方法。
1 階層ストレージ装置(ストレージ装置)
2 ホスト装置
10 階層ストレージ制御装置(ストレージ制御装置)
10a CPU
10b メモリ
10c 記憶部
10d インタフェース部
10e 入出力部
10f,10h 記録媒体
10g 読取部
11 階層管理部
11a データ収集部(収集部)
11b ワークロード分析部
101 監視部
102 IOアクセス集中特徴記録DB
103 比較部
104 残り継続時間表作成部(作成部)
1041 残り継続時間表
105 移動判定部(特定部,予測部)
11c 移動指示部
12 階層ドライバ
13 SSDドライバ
14 HDDドライバ
100 ストレージシステム
20 SSD(第2の記憶装置)
30 DIMM(第1の記憶装置)

Claims (7)

  1. 記憶装置を備える情報処理装置であって、
    前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する作成部と、
    前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集する収集部と、
    前記記憶装置における、判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第1のタイミングまでの第1の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第1の集中状態傾向情報と、前記第1の期間に先行する、前記第1のタイミングから、該第1のタイミングよりも一定時間間隔前の第2のタイミングまでの第2の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第2の集中状態傾向情報とを比較する比較部とを備え、
    前記比較部による比較の結果、前記第の集中状態傾向情報前記第の集中状態傾向情報との差分が基準以上である場合に、前記作成部が、前記第2の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する
    ことを特徴とする、情報処理装置。
  2. 前記記憶装置として、第1の記憶装置と、前記第1の記憶装置とは異なる性能の第2の記憶装置とをそなえ、
    前記アクセス予測情報に基づき、前記第1の記憶装置と前記第2の記憶装置との間でデータを移動させる単位領域を特定する特定部と、
    前記特定部によって特定された前記単位領域のデータを、前記第1の記憶装置と前記第2の記憶装置との間で移動させる指示を発行する移動指示部と
    を備えることを特徴とする、請求項記載の情報処理装置。
  3. 前記第1の記憶装置と前記第2の記憶装置との間で前記データの移動を行なうことにより生じる損失と利益とを比較し、利益が損失よりも大きい場合に、前記データの移動を行なわせると判定する移動判定部を備えることを特徴とする、請求項記載の情報処理装置。
  4. 前記集中状態の発生位置を予測する予測部を備え、
    前記特定部が、予測された前記集中状態の発生位置に含まれる前記単位領域を、前記第1の記憶装置と前記第2の記憶装置との間でデータを移動させる単位領域として特定することを特徴とする、請求項またはに記載の情報処理装置。
  5. 前記アクセス予測情報が、前記集中状態が発生してからの複数の経過時間のそれぞれに対して、前記集中状態の残り継続時間の予測値を対応付けて構成されたことを特徴とする、請求項1〜のいずれか1項に記載の情報処理装置。
  6. 記憶装置を備えるコンピュータに、
    前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成し、
    前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集し、
    前記記憶装置における、判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第1のタイミングまでの第1の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第1の集中状態傾向情報と、前記第1の期間に先行する、前記第1のタイミングから、該第1のタイミングよりも一定時間間隔前の第2のタイミングまでの第2の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第2の集中状態傾向情報とを比較し、
    比較の結果、前記第の集中状態傾向情報前記第の集中状態傾向情報との差分が基準以上である場合に、前記第2の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する
    処理を実行させることを特徴とする、ストレージ制御プログラム。
  7. 記憶装置を備える情報処理装置において、
    前記記憶装置の単位領域に対して行なわれたアクセス履歴に基づいて、前記記憶装置に関するアクセス予測情報を作成する処理と、
    前記記憶装置における複数の単位領域のそれぞれについてのアクセスログに基づき、アクセスが集中した集中状態の単位領域における、前記集中状態の傾向を表す集中状態傾向情報を、一定時間間隔の所定タイミング毎に収集する処理と、
    前記記憶装置における、判断開始時刻から、該判断開始時刻よりも一定時間間隔前の第1のタイミングまでの第1の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第1の集中状態傾向情報と、前記第1の期間に先行する、前記第1のタイミングから、該第1のタイミングよりも一定時間間隔前の第2のタイミングまでの第2の期間に収集された、前記集中状態の単位領域についての前記集中状態の傾向を表す第2の集中状態傾向情報とを比較する処理と、
    比較の結果、前記第の集中状態傾向情報前記第の集中状態傾向情報との差分が基準以上である場合に、前記第2の期間に収集されたアクセス履歴を除外したアクセス履歴を用いて、前記アクセス予測情報を再作成する処理と
    を備えることを特徴とする、ストレージ制御方法。
JP2016249303A 2016-12-22 2016-12-22 情報処理装置、ストレージ制御プログラムおよびストレージ制御方法 Active JP6880711B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016249303A JP6880711B2 (ja) 2016-12-22 2016-12-22 情報処理装置、ストレージ制御プログラムおよびストレージ制御方法
US15/826,800 US10481829B2 (en) 2016-12-22 2017-11-30 Information processing apparatus, non-transitory computer-readable recording medium having stored therein a program for controlling storage, and method for controlling storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016249303A JP6880711B2 (ja) 2016-12-22 2016-12-22 情報処理装置、ストレージ制御プログラムおよびストレージ制御方法

Publications (2)

Publication Number Publication Date
JP2018106252A JP2018106252A (ja) 2018-07-05
JP6880711B2 true JP6880711B2 (ja) 2021-06-02

Family

ID=62629688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016249303A Active JP6880711B2 (ja) 2016-12-22 2016-12-22 情報処理装置、ストレージ制御プログラムおよびストレージ制御方法

Country Status (2)

Country Link
US (1) US10481829B2 (ja)
JP (1) JP6880711B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191886A (ja) * 2018-04-24 2019-10-31 富士通株式会社 情報処理装置,情報処理方法およびプログラム
US10983879B1 (en) * 2018-10-31 2021-04-20 EMC IP Holding Company LLC System and method for managing recovery of multi-controller NVMe drives
CN111581601B (zh) * 2020-05-06 2023-04-28 浙江山鹰纸业有限公司 一种节约环保成本的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS577540A (en) 1980-06-17 1982-01-14 Hasutarou Nanba Method of and apparatus for measuring rheologic characteristics of non-newton body
JPH05225167A (ja) 1991-11-25 1993-09-03 Hitachi Ltd データ処理装置
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
US8510528B2 (en) * 2010-12-29 2013-08-13 Teradata Us, Inc. Differential data storage based on predicted access frequency
JP5707540B1 (ja) 2014-01-31 2015-04-30 株式会社東芝 階層化ストレージシステム、ストレージコントローラ、及び階層間のデータ移動を代替する方法

Also Published As

Publication number Publication date
US20180181343A1 (en) 2018-06-28
US10481829B2 (en) 2019-11-19
JP2018106252A (ja) 2018-07-05

Similar Documents

Publication Publication Date Title
JP6065642B2 (ja) ストレージ制御プログラム、ストレージ制御装置、ストレージシステム、及びストレージ制御方法
US8914598B2 (en) Distributed storage resource scheduler and load balancer
US7191283B2 (en) Grouping of storage media based on parameters associated with the storage media
JP4749255B2 (ja) 複数種類の記憶デバイスを備えたストレージシステムの制御装置
US7506101B2 (en) Data migration method and system
US9218276B2 (en) Storage pool-type storage system, method, and computer-readable storage medium for peak load storage management
JP6299169B2 (ja) ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム
JP2015210718A (ja) 記憶制御装置、ストレージシステム、および記憶制御プログラム
JP6880711B2 (ja) 情報処理装置、ストレージ制御プログラムおよびストレージ制御方法
JP2018106462A (ja) 情報処理装置、ストレージ制御プログラムおよびストレージ制御方法
US20200089425A1 (en) Information processing apparatus and non-transitory computer-readable recording medium having stored therein information processing program
JP6260384B2 (ja) ストレージ制御装置,制御プログラム,及び制御方法
US11237893B2 (en) Use of error correction-based metric for identifying poorly performing data storage devices
US9313263B2 (en) Assignment of applications in a virtual machine environment based on data access pattern
US20180341423A1 (en) Storage control device and information processing system
US20140297944A1 (en) Recording medium, system and method
US10725710B2 (en) Hierarchical storage device, hierarchical storage control device, computer-readable recording medium having hierarchical storage control program recorded thereon, and hierarchical storage control method
US10168944B2 (en) Information processing apparatus and method executed by an information processing apparatus
JP6497233B2 (ja) ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
JP5708053B2 (ja) 情報処理装置、デフラグメンテーション方法、およびデフラグメンテーションプログラム
Xu et al. Block Trace Analysis and Storage System Optimization
JP6696220B2 (ja) データ移行装置、データ移行システム、方法およびプログラム
JP2005078604A (ja) 記憶領域自動調整システム及び自動調整方法
CN115269680A (zh) 一种数据处理方法、装置及存储介质

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6880711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150