JP6350162B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP6350162B2
JP6350162B2 JP2014189928A JP2014189928A JP6350162B2 JP 6350162 B2 JP6350162 B2 JP 6350162B2 JP 2014189928 A JP2014189928 A JP 2014189928A JP 2014189928 A JP2014189928 A JP 2014189928A JP 6350162 B2 JP6350162 B2 JP 6350162B2
Authority
JP
Japan
Prior art keywords
unit
data unit
storage unit
predetermined
access
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
JP2014189928A
Other languages
English (en)
Other versions
JP2016062315A (ja
Inventor
拓郎 隈部
拓郎 隈部
明人 小林
明人 小林
基裕 酒井
基裕 酒井
振一郎 松村
振一郎 松村
敬宏 大山
敬宏 大山
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2014189928A priority Critical patent/JP6350162B2/ja
Publication of JP2016062315A publication Critical patent/JP2016062315A/ja
Application granted granted Critical
Publication of JP6350162B2 publication Critical patent/JP6350162B2/ja
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to 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; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to 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

Description

本発明は、制御装置に関する。

ストレージシステムでは、AST(Automated Storage Tiering)技術が導入されている。ASTは、所定のポリシに従って、ストレージ階層間でデータを自動的に移動させ再配置する技術である。例えば、レスポンスは高速であるが容量当たりの単価が高価なSSD(Solid State Drive)と、レスポンスは低速であるが容量当たりの単価が低価なHDD(Hard Disk Drive)とで、ストレージ階層が構築される。そして、アクセス頻度が高いデータ単位は、SSDに移動させて再配置される一方、アクセス頻度が低いデータ単位は、HDDに移動させて再配置される。これにより、ストレージシステムにおいて、大容量を維持しつつ高性能化(レスポンスの高速化)を実現することができる。

ここで、図9を参照しながら、AST技術を適用されたストレージシステムの概略的な構成および動作について説明する。図9に示すストレージシステムは、2つのホストコンピュータ(以下、単にホストという)#0,#1と、複数の記憶部(SSD,HDD等)を含む親プール(FTRP;Flexible TieR Pool)と、制御装置とを有する。

当該制御装置は、ホスト#0,#1と親プールFTRPとの間に備えられ、それぞれホスト#0,#1からの入出力要求に応じて親プールFTRPに対する入出力制御を行なう2つの制御部(CM;Controller Module)#0,#1を有している。CM#0,#1には、親プールFTRPにおけるデータ単位を一時的に保持するキャッシュメモリが備えられている。CM#0とCM#1との間はCM間通信可能に接続されている。

親プールFTRPでは、上記複数の記憶部を用いて、RAIDの異なる複数の子プールFTSP、あるいは、RAIDを構成するディスクの種類の異なる複数の子プールFTSPが作成され、ストレージ階層が形成されている。なお、RAIDはRedundant Arrays of Inexpensive Disksの略記であり、FTSPはFlexible Tier Sub Poolの略記である。

特に、図9に示す親プールFTRPでは、3つの子プールFTSP#0,FTSP#1およびFTSP#2が作成され、子プールFTSP#0はCM#0の制御下にあり、子プールFTSP#1およびFTSP#2はCM#1の制御下にある。また、子プールFTSP#0が最も高い性能(最も速いレスポンス)を有し、子プールFTSP#1が2番目に高い性能(2番目に速いレスポンス)を有し、子プールFTSP#2が最も低い性能(最も遅いレスポンス)を有している。例えば、子プールFTSP#0はSSDであり、子プールFTSP#1はRAID1またはオンラインHDDであり、子プールFTSP#2はRAID5またはニアラインHDDである。

このようなストレージシステムにおいて、ASTのボリューム(論理ボリューム)は、親プールFTRPに関連付けられる。ASTのボリュームには、親プールFTRPに書き込まれた段階で子プールFTSP#0〜#2から細かく分割された単位(TPPE;Thin Provisioning Pool Element)が割り当てられる。当該単位はチャンクと呼ばれ、複数の当該単位を一つのグループにまとめたものは、FTRPE,チャンク群,チャンクグループ,データブロック,移動単位もしくはデータ単位と呼ばれる。

そして、データ単位ごとに、性能情報が収集される。性能情報は、例えば、当該データ単位に対するアクセス頻度(所定単位時間当たりのアクセス回数)である。収集されたアクセス頻度に基づき、各データ単位について、上位階層の子プールに移動するか、下位階層の子プールに移動するか、移動を行なわないかの判定が行なわれ、その判定結果に従って各データ単位の移動・再配置が行なわれる。例えば図9に示すように、子プールFTSP#1に配置されているデータ単位D0についてのアクセス頻度が所定閾値よりも高くなると、矢印A0で示すように、当該データ単位D0は、子プールFTSP#1から上位階層の子プールFTSP#0へ移動され再配置される。

なお、下記特許文献1では、互いに接続された複数のキャッシュモジュールと、各キャッシュモジュールに接続されるストレージモジュールとを含むストレージシステムのキャッシュ動作を制御するキャッシュ制御装置が開示されている。当該キャッシュ制御装置では、あるキャッシュモジュールが管理するページのうち、アクセス要求を受ける可能性の高いページは当該キャッシュモジュールのメモリに保持される。一方、アクセス要求を受ける可能性の低いページは、他のキャッシュモジュールに割り当てられる。

また、下記特許文献2では、仮想論理ボリュームの使用率が閾値を超えること且つ仮想論理ボリュームの記憶領域に対応する物理的な記憶領域が他の制御部で管理されている場合に、当該仮想論理ボリュームを実論理ボリュームにマイグレーションする技術が開示されている。

特開2000−181763号公報 特開2011−13800号公報

上述したように、データ単位ごとに性能情報としてアクセス頻度を収集し、単にアクセス頻度の高いデータ単位を上位階層に移動し再配置すると、下記項目(1),(2)のような場合、性能が低下する可能性がある。

(1) データ単位の移動前には当該データ単位に対しストレートアクセスが行なわれ、当該データ単位の移動後には当該データ単位に対しクロスアクセスが行なわれる場合。例えば図9に示すように、移動前のデータ単位D0がCM#1配下の子プールFTSP#1に配置された状態で、ホスト#1からデータ単位D0に対する入出力要求を受けると、データ単位D0に対するストレートアクセスが行なわれる(図9の矢印(i)参照)。このような状態が、データ単位D0をCM#0配下における上位階層の子プールFTSP#0へ移動し再配置した状態に変更されたとする(図9の矢印A0参照)。移動後の状態で、ホスト#1からデータ単位D0に対する入出力要求を受けると、CM#1とCM#0との間での通信を含むクロスアクセスが、子プールFTSP#0上のデータ単位D0に対して行なわれる(図9の矢印(ii)参照)。クロスアクセスはストレートアクセスと異なりCM間通信を含むため、クロスアクセスが生じるとレスポンスが遅くなり性能の低下を招くことになる。

(2) 移動しようとしているデータ単位のキャッシュヒット率が高くディスクへのアクセスがほとんど発生していない場合。例えば図9に示すように、移動対象のデータ単位D0がCM#1のキャッシュメモリに保持された状態で、ホスト#1からデータ単位D0に対する入出力要求を受けると、移動対象のデータ単位D0のキャッシュヒット率が高くなる(矢印(iii)参照)。したがって、子プールFTSP#1へのアクセスがほとんど発生しなくなる。このような状態が、データ単位D0をCM#0配下における上位階層の子プールFTSP#0へ移動し再配置した状態に変更されると(図9の矢印A0参照)、データ単位D0はCM#1のキャッシュメモリでヒットしなくなり、性能の低下を招くことになる。

一つの側面で、本発明は、性能の低下を招くことなく、階層間でデータの再配置を行なえるようにすることを目的とする。

本件の制御装置は、複数階層の記憶部における所定アクセス単位のデータ(以下、データ単位という)の配置状態を制御するもので、採取部,移動判定部および移動制御部を有する。前記採取部は、前記データ単位について複数種類の性能情報を採取する。移動判定部は、前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する。前記移動制御部は、前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する。ここで、前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率とを採取する。そして、前記移動判定部は、前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する。
また、本件の制御装置は、複数階層の記憶部における所定アクセス単位のデータの配置状態を制御するもので、採取部,移動判定部および移動制御部を有する。前記採取部は、前記データ単位について複数種類の性能情報を採取する。移動判定部は、前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する。前記移動制御部は、前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する。ここで、前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位のキャッシュヒット率とを採取する。そして、前記移動判定部は、前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する。
さらに、本件の制御装置は、複数階層の記憶部における所定アクセス単位のデータの配置状態を制御するもので、採取部,移動判定部および移動制御部を有する。前記採取部は、前記データ単位について複数種類の性能情報を採取する。移動判定部は、前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する。前記移動制御部は、前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する。ここで、前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取する。そして、前記移動判定部は、前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する。

性能の低下を招くことなく、階層間でデータの再配置を行なうことができる。

本発明の一実施形態としての制御装置を含むストレージシステムのハードウエア構成を示すブロック図である。 図1に示す制御装置の機能構成を示すブロック図である。 図2に示すCMにおける採取部の動作を説明するフローチャートである。 第1テーブルの例を示す図である。 第2テーブルの例を示す図である。 図2に示すCMにおける移動判定部,移動制御部,切換判定部および切換制御部の動作を説明するフローチャートである。 図6の第1処理(ステップS23の処理)を説明するフローチャートである。 図6の第2処理(ステップS25の処理)を説明するフローチャートである。 AST技術を適用されたストレージシステムの概略的な構成,動作および課題を説明する図である。

以下に、図面を参照し、本願の開示する制御装置の実施形態について、詳細に説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能を含むことができる。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。

〔1〕本実施形態の概要
図9を参照しながら上述したように、上記項目(1),(2)の場合については、単にアクセス頻度の高いデータ単位を上位階層に移動し再配置しただけでは、性能が低下する可能性がある。

そこで、本実施形態の制御装置は、複数階層の記憶部における所定アクセス単位のデータの配置状態をデータ単位ごとに制御するものであって、データ単位ごとに複数種類の性能情報を採取する(採取部)。そして、当該制御装置は、採取された複数種類の性能情報に基づき各データ単位を、保存中の記憶部から上位階層の記憶部に移動するか否かを判定し(移動判定部)、当該判定結果に従って、各データ単位を複数階層の記憶部間で移動する(移動制御部)。

このとき、データ単位ごとに採取される複数種類の性能情報には、例えば、後述のごとく上位階層への移動判定および下位階層への移動判定の両方で用いられるアクセス頻度が含まれる。また、複数種類の性能情報には、例えば、後述のごとく上位階層への移動判定で用いられる、ストレートアクセス率およびキャッシュヒット率の少なくとも一方が含まれる。なお、本実施形態では、ストレートアクセス率およびキャッシュヒット率の両方が、前記複数種類の性能情報として採取される場合について説明する。

ここで、最低限必要な性能情報であるアクセス頻度は、後述するように、データ単位ごとに採取され、第1テーブル(図4の符号T1参照)に登録される。また、詳細な性能情報であるストレートアクセス率およびキャッシュヒット率は、後述するように、アクセス頻度が比較的高く上位階層への移動の可能性の高いデータ単位について採取され、第2テーブル(図5の符号T2参照)に登録される。

このとき、アクセス頻度が比較的高いデータ単位が存在する場合、本実施形態の制御装置は、当該データ単位を直ちに上位階層への移動対象と判定せず、第2テーブルT2を格納するメモリ領域(図2の第2テーブル情報格納領域122b参照)を確保し上記詳細な性能情報を採取してから上位階層への移動判定を行なう。そして、当該データ単位のアクセス頻度が低くなった場合、本実施形態の制御装置は、第2テーブルT2のために確保されたメモリ領域を解放する。これにより、本実施形態の制御装置は、第2テーブルT2のために要するメモリ容量の増加を必要最小限に抑えつつ、詳細な性能情報であるストレートアクセス率およびキャッシュヒット率を採取することができる。

そして、データ単位について採取されたアクセス頻度が高い場合であっても、当該データ単位について採取されたストレートアクセス率が高い場合、上記項目(1)の場合に該当すると考えられる。そこで、このような場合、本実施形態の制御装置は、当該データ単位を上位階層に移動しても性能の低下を招く可能性があると判断し、当該データ単位を上位階層への移動対象としない。

同様に、データ単位について採取されたアクセス頻度が高い場合であっても、当該データ単位について採取されたキャッシュヒット率が高い場合、上記項目(2)の場合に該当すると考えられる。そこで、このような場合、本実施形態の制御装置は、当該データ単位を上位階層に移動しても性能の低下を招く可能性があると判断し、当該データ単位を上位階層への移動対象としない。

〔2〕本実施形態の構成
まず、図1に示すブロック図を参照しながら、本発明の一実施形態としての制御装置10を含むストレージシステム1のハードウエア構成について説明する。

図1に示すストレージシステム1は、AST技術を適用され、2つのホスト2(ホスト#0,#1)と、複数のSSD,HDD等を含む親プール(FTRP;ディスクエンクロージャ)3と、2つのCM12(CM#0,#1)を含む制御装置10とを有する。

親プール(FTRP)3では、複数のSSD,HDD等を用いて、RAIDの異なる複数の子プール(FTSP)30〜32、あるいは、RAIDを構成するディスクの種類の異なる複数の子プール(FTSP)30〜32が作成され、ストレージ階層が形成されている。

特に、図1に示す親プール3では、3つの子プール(複数種類の記憶部)30,31,32(FTSP#0,#1,#2)が作成され、例えば、子プール30はCM#0の制御下にあり、子プール31および32はCM#1の制御下にある。また、子プール30が最も高い性能(最も速いレスポンス)を有し、子プール31が2番目に高い性能(2番目に速いレスポンス)を有し、子プール32が最も低い性能(最も遅いレスポンス)を有している。例えば、子プール30はSSDであり、子プール31はRAID1またはオンラインHDDであり、子プール32はRAID5またはニアラインHDDである。

図9に示した例と同様、本実施形態のストレージシステム1においても、ASTのボリューム(論理ボリューム)は、親プール3に関連付けられる。ASTのボリュームには、親プール3に書き込まれた段階で子プール30〜32から分割された単位(TPPE)が割り当てられる。当該単位はチャンクと呼ばれる。また、複数の当該単位を一つのグループにまとめたものが、所定アクセス単位のデータであり、FTRPE,チャンク群,データブロック,移動単位もしくはデータ単位と呼ばれる。以下、本実施形態では、当該所定アクセス単位のデータをデータ単位と呼ぶ。

本実施形態の制御装置10は、ホスト#0,#1と親プール3との間に備えられる。そして、制御装置10は、CA(Channel Adapter)11と、2つの制御部12(CM#0,#1)とを有する。

CA11は、ホスト#0,#1のそれぞれに対応して備えられ、ホスト2に接続され各ホスト2との通信を制御するインタフェースである。

CM(コンピュータ)12は、それぞれホスト#0,#1からの入出力要求(I/Oコマンド)に応じて親プール3に対する入出力制御を行なうもので、CPU(Central Processing Unit)121,メモリ122,DA(Device Adaper)123およびFRT(Front-end RouTer)124を有する。

メモリ122は、RAM(Random Access Memory),HDD,SSD等である。メモリ122は、親プール3(子プール30〜32)に対するアクセスを行なう際に親プール3におけるデータ単位を一時的に保持するキャッシュメモリとして機能する。また、メモリ122は、CPU121が演算処理を行なう際のメインメモリとして機能する。メモリ122には、第1テーブルT1(図4参照)用の情報を保存する第1テーブル情報格納領域122a(図2参照)が確保されるとともに、第2テーブルT2(図5参照)用の情報を保存する第2テーブル情報格納領域122b(図2参照)が必要に応じて確保される。さらに、メモリ122には、上記キャッシュメモリとして機能するキャッシュ領域122cが確保される。

さらに、メモリ122には、後述する第1閾値〜第5閾値も予め設定され保存されてもよい。メモリ122には、CPU121を、図2を参照しながら後述する各部121a〜121eとして機能させるべくCPU121によって実行される制御プログラムが保存されてもよい。第1閾値〜第5閾値は、上記制御プログラムに組み込まれる形で設定されてもよい。

なお、上記制御プログラムは、フレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、CPU121は、上記制御プログラムを、当該記録媒体から読み取って内部記憶装置(例えばメモリ122)または外部記憶装置に転送し格納して用いる。

DA123は、親プール3と接続され親プール3(各子プール30〜32)に対するアクセスを制御するインタフェースである。

FRT124は、通信経路を介して他のCM12のFRT124に接続され、CM12間で行なう通信を制御するインタフェースである。FRT124によって、CM#0とCM#1との間はCM間通信可能に接続されている。

次に、図2に示すブロック図を参照しながら、図1に示す制御装置10(CM12)の機能構成について説明する。図2に示す機能構成は、2つのCM12のうちの少なくとも一方に備えられる。図2に示すように、CM12を成すCPU121は、上記制御プログラムを実行することで、採取部121a,移動判定部121b,移動制御部121c,切換判定部121dおよび切換制御部121eとしての機能を果たす。また、その際、メモリ122上には、CPU121によって、第1テーブル情報格納領域122aにおける情報に基づき第1テーブルT1が展開されるとともに、第2テーブル情報格納領域122bにおける情報に基づき第2テーブルT2が展開される。そして、メモリ122上に展開された第1テーブルT1および第2テーブルT2が参照されるとともに、メモリ122上の第1閾値〜第5閾値が参照される。

まず、メモリ122上の第1テーブルT1,第2テーブルT2および第1閾値〜第5閾値について説明する。

第1テーブルT1は、後述する採取部121aによってデータ単位ごとに採取された、アクセス頻度などの最低限必要な性能情報を保存する性能情報管理テーブル(図4参照)である。ここで、アクセス頻度は、各データ単位に対する所定単位時間当たりのアクセス回数である。第1テーブルT1に保存される性能情報(アクセス頻度)は、ホスト2からのI/Oコマンドに応じた処理を完了したタイミングで、採取部121aによって更新される。

第2テーブルT2は、後述する採取部121aによってデータ単位ごとに採取された、ストレートアクセス率およびキャッシュヒット率などの詳細な性能情報を保存する性能情報管理テーブル(図5参照)である。ここで、ストレートアクセス率は、各データ単位へのアクセス総数に対する、CM間通信を介すことなく各データ単位に直接的に実行されるアクセス(図9の矢印(i)参照)の回数の割合である。また、キャッシュヒット率は、各データ単位へのアクセス総数に対する、当該データ単位がキャッシュメモリ122cでヒット(図9の矢印(iii)参照)した回数の割合である。第2テーブルT2に保存される性能情報(ストレートアクセス率およびキャッシュヒット率)も、ホスト2からのI/Oコマンドに応じた処理を完了したタイミングで、採取部121aによって更新される。

第1閾値は、後述する切換判定部121dによってアクセス頻度と比較される所定の切換判定閾値である。第1閾値は、後述する移動判定部121bが、第1テーブルT1のみを用いた判定を行なうか、第1テーブルT1および第2テーブルT2の両方を用いた判定を行なうかを決定するために用いられる。

第2閾値は、各データ単位を上位階層へ移動するか否かを決定する際に、後述する移動判定部121bによってアクセス頻度と比較される所定の上位階層移動判定閾値である。

第3閾値は、各データ単位を下位階層へ移動するか否かを決定する際に、後述する移動判定部121bによってアクセス頻度と比較される所定の下位階層移動判定閾値である。

上述のごとくアクセス頻度と比較される第1閾値,第2閾値および第3閾値の大小関係は、以下の通りである。
第2閾値>第1閾値>第3閾値

第4閾値は、各データ単位を上位階層へ移動するか否かを決定する際に、後述する移動判定部121bによってキャッシュヒット率と比較される所定のキャッシュヒット率閾値である。

第5閾値は、各データ単位を上位階層へ移動するか否かを決定する際に、後述する移動判定部121bによってストレートアクセス率と比較される所定のストレートアクセス率閾値である。

ついで、CPU121によって実現される、採取部121a,移動判定部121b,移動制御部121c,切換判定部121dおよび切換制御部121eとしての機能について説明する。

採取部121aは、ホスト2によってアクセスされたデータ単位について、当該データ単位に対するアクセス頻度と、当該データ単位に対するストレートアクセス率と、当該データ単位のキャッシュヒット率とを、複数種類の性能情報として採取する。

ただし、採取部121aは、当該データ単位について第1テーブルT1のみを用いた判定を行なう際にはアクセス頻度のみを採取して第1テーブルT1に保存する。また、採取部121aは、当該データ単位について第1テーブルT1および第2テーブルT2の両方を用いた判定を行なう際には、アクセス頻度を採取して第1テーブルT1に保存するとともに、ストレートアクセス率およびキャッシュヒット率を採取して第2テーブルT2に保存する。

移動判定部121bは、上位階層への移動判定を行なう場合、第1テーブルT1および第2テーブルT2の両方を参照する。そして、移動判定部121bは、アクセス頻度が第2閾値(上位階層移動判定閾値)を超え且つストレートアクセス率が第5閾値(ストレートアクセス率閾値)未満で且つキャッシュヒット率が第4閾値(キャッシュヒット率閾値)未満の場合、判定対象のデータ単位を上位階層への移動対象と判定する。一方、移動判定部121bは、アクセス頻度が第2閾値を超えても、ストレートアクセス率が第5閾値以上の場合またはキャッシュヒット率が第4閾値以上の場合、判定対象のデータ単位を上位階層への移動対象ではないと判定する。

また、移動判定部121bは、下位階層への移動判定を行なう場合、第1テーブルT1を参照する。そして、移動判定部121bは、アクセス頻度が第2閾値(上位階層移動判定閾値)よりも小さい第3閾値(下位階層移動判定閾値)未満の場合、判定対象のデータ単位を下位階層への移動対象と判定する。

移動制御部121cは、移動判定部121bによる判定結果に従って、移動対象であると判定されたデータ単位を複数階層の子プール30〜32間で移動する。

切換判定部121dは、アクセス頻度が、第2閾値(上位階層移動判定閾値)よりも小さく且つ第3閾値(下位階層移動判定閾値)よりも大きい第1閾値(切換判定閾値)よりも大きいか否かを判定する。

切換制御部121eは、切換判定部121dによってアクセス頻度が第1閾値よりも大きいと判定された場合、移動判定部121bが第1テーブルT1および第2テーブルT2の両方を用いて上位階層への移動対象の判定を行なう状態に切り換える。一方、切換制御部121eは、切換判定部121bによってアクセス頻度が第1閾値以下であると判定された場合、移動判定部121bが第1テーブルT1のみを用いて下位階層への移動対象の判定を行なう状態に切り換える。

また、切換制御部121eは、下位階層への移動対象の判定を行なう状態から、上位階層への移動対象の判定を行なう状態への切換時に、第2テーブルT2において、判定対象のデータ単位に対応するストレートアクセス率およびキャッシュヒット率を保存する領域を確保する。一方、切換制御部121eは、上位階層への移動対象の判定を行なう状態から、下位階層への移動対象の判定を行なう状態への切換時に、第2テーブルT2において、判定対象のデータ単位に対応するストレートアクセス率およびキャッシュヒット率を保存する領域を解放する。

〔3〕本実施形態の動作
次に、上述のごとき構成および機能を有する本実施形態の制御装置10の動作について、図3〜図8を参照しながら説明する。

まず、図3〜図5を参照しながら、採取部121aの動作や、第1テーブルT1および第2テーブルT2について説明する。図3は、図2に示すCM12における採取部121aの動作(テーブル更新動作)を説明するフローチャート(ステップS11〜S14)である。図4および図5は、それぞれ、第1テーブルT1および第2テーブルT2の例を示す図である。

ホスト2がI/Oコマンドを発行し、CM12がホスト2からのI/Oコマンドを受信すると(ステップS11)、CM12では、コマンド解析が行なわれる(ステップS12)。このとき、I/OコマンドにおけるOLU(ホスト論理ユニット)番号やOLBA(ホスト論理ブロックアドレス)等の情報に基づき、親プール3内に搭載されている、どのボリュームのどの部分に対して当該I/Oコマンドが発行されているかを判断することができる。

これにより、採取部121aは、当該I/Oコマンドの対象データ単位に対するアクセスが、ストレートアクセスであるか否かを判断することができる。そして、採取部121aは、その判断結果に基づき、対象データ単位について、上述したストレートアクセス率を算出することができる。このとき、採取部121aは、上述のように当該I/Oコマンドの対象であるデータ単位を認識することができるので、当該データ単位に対するアクセス頻度を算出することもできる。なお、ステップS12での解析結果に基づくストレートアクセス率の算出は、当該データ単位について第1テーブルT1および第2テーブルT2の両方を用いた判定を行なう場合に実行される。

そして、ステップS12での解析結果に従って、I/Oコマンドに対応した処理が実行される(ステップS13)。このとき、I/Oコマンドの対象となるデータ単位がメモリ122のキャッシュ領域(キャッシュメモリ)122c上に存在するか否か(キャッシュヒットしたか否か)が判定されるため、採取部121aは、当該データ単位のキャッシュヒット率を算出することができる。なお、ステップS13での処理に基づくキャッシュヒット率の算出は、当該データ単位について第1テーブルT1および第2テーブルT2の両方を用いた判定を行なう場合に実行される。

I/Oコマンドに対応した処理を完了すると、その完了タイミングで、採取部121aは、I/Oコマンドの対象データ単位について採取された性能情報によって、第1テーブルT1および第2テーブルT2を更新する(ステップS14)。当該データ単位の性能情報が第1テーブルT1や第2テーブルT2のどの位置(offset)に保存登録されているかに関する情報は、上述したチャンク(TPPE)を管理するテーブル(図示略)に保持しておく。採取部121aは、性能情報更新の際、当該テーブルを参照して当該データ単位の性能情報の保存領域を決定する。

なお、図4に示すように、第1テーブルT1は、データ単位(FTRPE)ごとのアクセス頻度に対応するI/Oカウント(I/O count)だけを保持する。また、図5に示すように、第2テーブルT2は、上位階層への移動判定対象のデータ単位(FTRPE)ごとの、キャッシュヒット率(Cache Hit Rate)およびストレートアクセス率(Straight Access Rate)を保持する。

ついで、図6〜図8に示すフローチャートに従って、図2に示すCM12における移動判定部121b,移動制御部121c,切換判定部121dおよび切換制御部121eの動作について説明する。図6は、その動作を説明するフローチャート(ステップS21〜S26)である。また、図7は、図6の第1処理(ステップS23の処理)を説明するフローチャート(ステップS31〜S35)であり、図8は、図6の第2処理(ステップS25の処理)を説明するフローチャート(ステップS41〜S46)である。

図6〜図8に示す処理は、CM12のCPU121が制御プログラムを定期的に実行することで行なわれる。まず、図6に示すように、CPU121は、未処理の一データ単位を選択参照し(ステップS21)、当該データ単位が第1テーブルT1のみによって管理されているか否かを判断する(ステップS22)。第1テーブルT1のみによって管理されている場合(ステップS22のYESルート)、CPU121は、図7を参照しながら後述する第1処理を実行する(ステップS23)。この後、CPU121は、全てのデータ単位について処理を完了したか否かを判断する(ステップS24)。

一方、第1テーブルT1のみによって管理されていない場合、つまり当該データ単位が第1テーブルT1および第2テーブルT2の両方によって管理されている場合(ステップS22のNOルート参照)、CPU121は、図8を参照しながら後述する第2処理を実行する(ステップS25)。この後、CPU121は、全てのデータ単位について処理を完了したか否かを判断する(ステップS24)。

そして、全てのデータ単位について処理を完了していない場合(ステップS24のNOルート)、CPU121は、ステップS21の処理に戻る。一方、全てのデータ単位について処理を完了した場合(ステップS24のYESルート)、移動制御部121cは、第1処理または第2処理で移動対象と判定されたデータ単位を、複数階層の子プール30〜32間で移動・再配置する(ステップS26)。この後、CPU121は、処理を終了する。

ついで、図7に示すフローチャートに従って、図6のステップS23で行なわれる第1処理について説明する。上述したように、当該第1処理は、処理対象(判定対象)のデータ単位が第1テーブルT1のみによって管理されている場合に実行される。なお、初めて処理対象になるデータ単位は、第1テーブルT1のみによって管理されているものとして取り扱われる。

第1処理では、まず、切換判定部121dは、第1テーブルT1を参照し、処理対象のデータ単位のアクセス頻度が第1閾値(切換判定閾値)よりも大きいか否かを判定する(ステップS31)。アクセス頻度が第1閾値よりも大きい場合(ステップS31のYESルート)、切換制御部121eは、第2テーブルT2(第2テーブル情報格納領域122b)に、処理対象データ単位のストレートアクセス率およびキャッシュヒット率を保存する領域分の空きがあるか否かを判断する(ステップS32)。

第2テーブルT2に空きが無い場合(ステップS32のNOルート)、CPU121は、そのまま図6のステップS24の処理に戻る。一方、第2テーブルT2に空きがある場合(ステップS32のYESルート)、切換制御部12eは、移動判定部121bが第1テーブルT1および第2テーブルT2の両方を用いて上位階層への移動対象の判定を行なう状態に切り換える(ステップS33)。この後、CPU121は、図6のステップS24の処理に戻る。

このように、本実施形態では、アクセス頻度が初めて第1閾値を超えた処理対象のデータ単位は、たとえ第2閾値(上位階層移動判定閾値)を超えていても、直ちに上位階層への移動対象であると判定されず、第2処理の対象になる。つまり、当該データ単位は、第1テーブルT1および第2テーブルT2の両方による管理・判定対象になる。

一方、処理対象のデータ単位のアクセス頻度が第1閾値(切換判定閾値)以下である場合(ステップS31のNOルート)、移動判定部121bは、下位階層への移動判定を行なう(ステップS34)。このとき、移動判定部121bは、第1テーブルT1を参照し、処理対象のデータ単位のアクセス頻度が第3閾値(下位階層移動判定閾値)未満であるか否かを判定する。

処理対象のデータ単位のアクセス頻度が第3閾値未満の場合(ステップS34のYESルート)、移動判定部121bは、処理対象のデータ単位を下位階層への移動対象と判定し(ステップS35)、CPU121は、図6のステップS24の処理に戻る。一方、処理対象のデータ単位のアクセス頻度が第3閾値以上である場合(ステップS34のNOルート)、CPU121は、そのまま図6のステップS24の処理に戻る。

ついで、図8に示すフローチャートに従って、図6のステップS25で行なわれる第2処理について説明する。上述したように、当該第2処理は、処理対象(判定対象)のデータ単位が第1テーブルT1および第2テーブルT2の両方によって管理されている場合に実行される。

第2処理では、まず、移動判定部121bは、第1テーブルT1を参照し、処理対象のデータ単位のアクセス頻度が第2閾値(上位階層移動判定閾値)よりも大きいか否かを判定する(ステップS41)。アクセス頻度が第2閾値よりも大きい場合(ステップS41のYESルート)、移動判定部121bは、第2テーブルT2を参照し、処理対象のデータ単位のキャッシュヒット率が第4閾値(キャッシュヒット率閾値)未満であるか否かを判定する(ステップS42)。

処理対象のデータ単位のキャッシュヒット率が第4閾値以上である場合(ステップS42のNOルート)、当該データ単位のアクセス頻度が第2閾値を超えていても、上記項目(2)の場合に該当する状況であると考えられる。したがって、移動判定部121bは、処理対象のデータ単位を上位階層への移動対象とすることなく、図6のステップS24の処理に戻る。

処理対象のデータ単位のキャッシュヒット率が第4閾値未満である場合(ステップS42のYESルート)、移動判定部121bは、第2テーブルT2を参照し、処理対象のデータ単位のストレートアクセス率が第5閾値(ストレートアクセス率閾値)未満であるか否かを判定する(ステップS43)。

処理対象のデータ単位のストレートアクセス率が第5閾値以上である場合(ステップS43のNOルート)、当該データ単位のアクセス頻度が第2閾値を超えていても、上記項目(1)の場合に該当する状況であると考えられる。したがって、移動判定部121bは、処理対象のデータ単位を上位階層への移動対象とすることなく、図6のステップS24の処理に戻る。

処理対象のデータ単位のストレートアクセス率が第5閾値未満である場合(ステップS43のYESルート)、上記項目(1),(2)の場合のいずれにも該当していない。したがって、移動判定部121bは、処理対象のデータ単位を上位階層への移動対象と判定し(ステップS44)、CPU121は、図6のステップS24の処理に戻る。

処理対象のデータ単位のアクセス頻度が第2閾値以下である場合(ステップS41のNOルート)、移動判定部121bは、当該データ単位のアクセス頻度が第1閾値(切換判定閾値)よりも大きいか否かを判定する(ステップS45)。アクセス頻度が第1閾値よりも大きい場合(ステップS45のYESルート)、CPU121は、そのまま図6のステップS24の処理に戻る。

一方、アクセス頻度が第1閾値以下である場合(ステップS45のNOルート)、切換制御部121eは、移動判定部121bが第1テーブルT1のみを用いて上位階層への移動対象の判定を行なう状態に切り換える(ステップS46)。このとき、切換制御部121eは、第2テーブルT2において、処理対象のデータ単位に対応するストレートアクセス率およびキャッシュヒット率を保存する領域を解放する。この後、CPU121は、図6のステップS24の処理に戻る。

このように、本実施形態では、第2テーブルT2で管理されているデータ単位のアクセス頻度が第2閾値を上回った場合、さらに当該データ単位のキャッシュヒット率が第4閾値を下回り且つ当該データ単位のストレートアクセス率が第5閾値を下回っていることが確認される。このような確認が成された場合に限り、当該データ単位が上位階層への移動対象であると判定される。

なお、キャッシュヒット率が高い場合、ディスクへのアクセス頻度が低いため、アクセス経路の問題はあまり生じない。そのため、図8では、先にキャッシュヒット率をチェックし、キャッシュヒット率が第4閾値未満の場合(つまりキャッシュヒット率が低い場合)のみ、ストレートアクセス率のチェックが行なわれる。

〔4〕本実施形態の効果
このように、本実施形態の制御装置10やストレージシステム1によれば、以下のような作用効果が得られる。つまり、アクセス頻度が比較的高いデータ単位が存在する場合、当該データ単位は直ちに上位階層への移動対象と判定されず、第2テーブルT2に確保した領域にキャッシュヒット率やストレートアクセス率を採取してから、上位階層への移動判定が行なわれる。そして、当該データ単位のアクセス頻度が低くなった場合、第2テーブルT2に確保された領域が解放される。これにより、第2テーブルT2に要する容量の増加を必要最小限に抑えつつ、ストレートアクセス率およびキャッシュヒット率を採取することができる。

そして、データ単位について採取されたアクセス頻度が高い場合であっても、当該データ単位について採取されたストレートアクセス率が高い場合、上記項目(1)の場合に該当すると考えられる。そこで、このような場合、当該データ単位を上位階層に移動しても性能の低下を招く可能性があると判断され、当該データ単位が上位階層への移動対象であると判定しない。

同様に、データ単位について採取されたアクセス頻度が高い場合であっても、当該データ単位について採取されたキャッシュヒット率が高い場合、上記項目(2)の場合に該当すると考えられる。そこで、このような場合、当該データ単位を上位階層に移動しても性能の低下を招く可能性があると判断し、当該データ単位を上位階層への移動対象としない。

したがって、本実施形態の制御装置10やストレージシステム1によれば、ストレージシステム1の性能の低下を招くことなく、階層間でデータの再配置を行なうことができる。

〔5〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。

例えば、上述した実施形態では、階層を成す記憶部(子プール)の数が3である場合について説明したが、本発明は、これに限定されるものではなく、階層を成す記憶部(子プール)の数は2であっても4以上であってもよい。また、上述した実施形態では、CMの数が2である場合について説明したが、本発明は、これに限定されるものではなく、CMの数は1であっても3以上であってもよい。

また、上述した実施形態では、複数種類の性能情報が、アクセス頻度,キャッシュヒット率およびストレートアクセス率である場合について説明したが、本発明はこれに限定されるものではない。

さらに、上述した実施形態では、複数種類の性能情報として、アクセス頻度,キャッシュヒット率およびストレートアクセス率の3種類を採取して用いる場合について説明したが、本発明は、これに限定されるものではない。例えば、複数種類の性能情報として、アクセス頻度およびキャッシュヒット率の2種類、または、アクセス頻度およびストレートアクセス率の2種類を採取して用いてもよいし、4種類以上の性能情報を採取して用いてもよい。いずれの場合も、上述した実施形態と同様の作用効果を得ることができる。

なお、複数種類の性能情報として、アクセス頻度およびキャッシュヒット率の2種類を用いる場合、図8に示すフローチャートにおけるステップS43の処理が省略される。また、複数種類の性能情報として、アクセス頻度およびストレートアクセス率の2種類を用いる場合、図8に示すフローチャートにおけるステップS42の処理が省略される。

また、上述した実施形態では、複数種類の性能情報の一つとしてストレートアクセス率が含まれる場合について説明したが、ストレートアクセス率に代えてクロスアクセス率を用いても、上述した実施形態と同様の作用効果を得ることができる。ここで、クロスアクセス率は、各データ単位へのアクセス総数に対する。CM間通信を介して各データ単位に間接的に実行されるアクセス(図9の矢印(ii)参照)の回数の割合である。

〔6〕付記
以上の各実施形態を含む実施形態に関し、さらに以下の付記を開示する。

(付記1)
複数階層の記憶部における所定アクセス単位のデータ(以下、データ単位という)の配置状態を制御する制御装置であって、
前記データ単位について複数種類の性能情報を採取する採取部と、
前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有する、制御装置。

(付記2)
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記1に記載の制御装置。

(付記3)
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記1に記載の制御装置。

(付記4)
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記1に記載の制御装置。

(付記5)
前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を前記下位階層の記憶部への移動対象と判定する、付記2〜付記4のいずれか一項に記載の制御装置。

(付記6)
前記採取部によって採取される前記アクセス頻度を保存する第1テーブルと、
前記採取部によって採取される前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する第2テーブルと、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第1テーブルおよび前記第2テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第1テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、付記5に記載の制御装置。

(付記7)
前記切換制御部は、前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する領域を確保する、付記6に記載の制御装置。

(付記8)
前記切換制御部は、前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する領域を解放する、付記6または付記7に記載の制御装置。

(付記9)
複数階層の記憶部と、
前記複数階層の記憶部における所定アクセス単位のデータの配置状態を制御する制御装置と、を有し、
前記制御装置は、
前記データ単位について複数種類の性能情報を採取する採取部と、
前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有する、ストレージシステム。

(付記10)
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記9に記載のストレージシステム。

(付記11)
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記9に記載のストレージシステム。

(付記12)
前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取し、
前記移動判定部は、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、付記9に記載のストレージシステム。

(付記13)
前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を前記下位階層の記憶部への移動対象と判定する、付記10〜付記12のいずれか一項に記載のストレージシステム。

(付記14)
前記制御装置は、
前記採取部によって採取される前記アクセス頻度を保存する第1テーブルと、
前記採取部によって採取される前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する第2テーブルと、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第1テーブルおよび前記第2テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第1テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、付記13に記載のストレージシステム。

(付記15)
前記切換制御部は、前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する領域を確保する、付記14に記載のストレージシステム。

(付記16)
前記切換制御部は、前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する領域を解放する、付記14または付記15に記載のストレージシステム。

(付記17)
複数階層の記憶部における所定アクセス単位のデータ(以下、データ単位という)の配置状態を制御するコンピュータに、
前記データ単位について複数種類の性能情報を採取し、
取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中記憶部よりも上位階層の記憶部に移動するか否かを判定し、
当該判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する、
処理を実行させる、制御プログラム。

(付記18)
前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取し、
前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、
処理を、前記コンピュータに実行させる、付記17に記載の制御プログラム。

(付記19)
前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を前記下位階層の記憶部への移動対象と判定する、
処理を、前記コンピュータに実行させる、付記18に記載の制御プログラム。

(付記20)
前記コンピュータは、採取される前記アクセス頻度を保存する第1テーブルと、採取される前記ストレートアクセス率および前記キャッシュヒット率の少なくとも一方を保存する第2テーブルと、を有し、
前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定し、
前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記第1テーブルおよび前記第2テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記第1テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える、
処理を、前記コンピュータに実行させる、付記19に記載の制御プログラム。

1 ストレージシステム
2 ホストコンピュータ
3 親プール(FTRP,ディスクエンクロージャ)
10 制御装置
11 CA
12 CM(制御部;コンピュータ)
121 CPU
121a 採取部
121b 移動判定部
121c 移動制御部
121d 切換判定部
121e 切換制御部
122 メモリ
122a 第1テーブル情報格納領域
122b 第2テーブル情報格納領域
122c キャッシュ領域
123 DA
124 FRT
30,31,32 子プール(FTSP,複数階層の記憶部)
T1 第1テーブル
T2 第2テーブル

Claims (9)

  1. 複数階層の記憶部における所定アクセス単位のデータ(以下、データ単位という)の配置状態を制御する制御装置であって、
    前記データ単位について複数種類の性能情報を採取する採取部と、
    前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
    前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有し、
    前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率とを採取し、
    前記移動判定部は、
    前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
    前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、制御装置。
  2. 前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を、前記複数階層の記憶部のうち前記保存中の記憶部よりも下位階層の記憶部への移動対象と判定し、
    前記採取部によって採取される前記アクセス頻度を保存する第1テーブルと、
    前記採取部によって採取される前記ストレートアクセス率を保存する第2テーブルと、
    前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
    前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第1テーブルおよび前記第2テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第1テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、請求項1に記載の制御装置。
  3. 前記切換制御部は、
    前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率を保存する領域を確保する一方、
    前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率を保存する領域を解放する、請求項2に記載の制御装置。
  4. 複数階層の記憶部における所定アクセス単位のデータ(以下、データ単位という)の配置状態を制御する制御装置であって、
    前記データ単位について複数種類の性能情報を採取する採取部と、
    前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
    前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有し、
    前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位のキャッシュヒット率とを採取し、
    前記移動判定部は、
    前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
    前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、制御装置。
  5. 前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を、前記複数階層の記憶部のうち前記保存中の記憶部よりも下位階層の記憶部への移動対象と判定し、
    前記採取部によって採取される前記アクセス頻度を保存する第1テーブルと、
    前記採取部によって採取される前記キャッシュヒット率を保存する第2テーブルと、
    前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
    前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第1テーブルおよび前記第2テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第1テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、請求項4に記載の制御装置。
  6. 前記切換制御部は、
    前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記キャッシュヒット率を保存する領域を確保する一方、
    前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記キャッシュヒット率を保存する領域を解放する、請求項5に記載の制御装置。
  7. 複数階層の記憶部における所定アクセス単位のデータ(以下、データ単位という)の配置状態を制御する制御装置であって、
    前記データ単位について複数種類の性能情報を採取する採取部と、
    前記採取部によって採取された前記複数種類の性能情報に基づき、前記データ単位を、保存中の記憶部から、前記複数階層の記憶部のうち前記保存中の記憶部よりも上位階層の記憶部に移動するか否かを判定する移動判定部と、
    前記移動判定部による判定結果に従って、前記データ単位を前記複数階層の記憶部間で移動する移動制御部と、を有し、
    前記採取部は、前記複数種類の性能情報として、前記データ単位に対するアクセス頻度と、前記データ単位へのアクセス総数に対する、前記データ単位に直接的に実行されるアクセスの回数の割合であるストレートアクセス率と、前記データ単位のキャッシュヒット率とを採取し、
    前記移動判定部は、
    前記アクセス頻度が所定の上位階層移動判定閾値を超え且つ前記ストレートアクセス率が所定のストレートアクセス率閾値未満で且つ前記キャッシュヒット率が所定のキャッシュヒット率閾値未満の場合、前記データ単位を前記上位階層の記憶部への移動対象と判定する一方、
    前記アクセス頻度が前記所定の上位階層移動判定閾値を超えても、前記ストレートアクセス率が前記所定のストレートアクセス率閾値以上の場合または前記キャッシュヒット率が前記所定のキャッシュヒット率閾値以上の場合、前記データ単位を前記上位階層の記憶部への移動対象ではないと判定する、制御装置。
  8. 前記移動判定部は、前記アクセス頻度が前記所定の上位階層移動判定閾値よりも小さい所定の下位階層移動判定閾値未満の場合、前記データ単位を、前記複数階層の記憶部のうち前記保存中の記憶部よりも下位階層の記憶部への移動対象と判定し、
    前記採取部によって採取される前記アクセス頻度を保存する第1テーブルと、
    前記採取部によって採取される前記ストレートアクセス率および前記キャッシュヒット率を保存する第2テーブルと、
    前記アクセス頻度が、前記所定の上位階層移動判定閾値よりも小さく且つ前記所定の下位階層移動判定閾値よりも大きい所定の切換判定閾値よりも大きいか否かを判定する切換判定部と、
    前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値よりも大きいと判定された場合、前記移動判定部が前記第1テーブルおよび前記第2テーブルの両方を用いて前記上位階層の記憶部への移動対象の判定を行なう状態に切り換える一方、前記切換判定部によって前記アクセス頻度が前記所定の切換判定閾値以下であると判定された場合、前記移動判定部が前記第1テーブルのみを用いて前記下位階層の記憶部への移動対象の判定を行なう状態に切り換える切換制御部と、を有する、請求項7に記載の制御装置。
  9. 前記切換制御部は、
    前記下位階層の記憶部への移動対象の判定を行なう状態から、前記上位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率を保存する領域を確保する一方、
    前記上位階層の記憶部への移動対象の判定を行なう状態から、前記下位階層の記憶部への移動対象の判定を行なう状態への切換時に、前記第2テーブルにおいて、前記データ単位に対応する前記ストレートアクセス率および前記キャッシュヒット率を保存する領域を解放する、請求項8に記載の制御装置。
JP2014189928A 2014-09-18 2014-09-18 制御装置 Active JP6350162B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014189928A JP6350162B2 (ja) 2014-09-18 2014-09-18 制御装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014189928A JP6350162B2 (ja) 2014-09-18 2014-09-18 制御装置
US14/822,171 US9904474B2 (en) 2014-09-18 2015-08-10 Control device and storage system

Publications (2)

Publication Number Publication Date
JP2016062315A JP2016062315A (ja) 2016-04-25
JP6350162B2 true JP6350162B2 (ja) 2018-07-04

Family

ID=55525753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014189928A Active JP6350162B2 (ja) 2014-09-18 2014-09-18 制御装置

Country Status (2)

Country Link
US (1) US9904474B2 (ja)
JP (1) JP6350162B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496511B2 (en) * 2016-09-26 2019-12-03 Oracle International Corporation Frequent items detection in data sets
US10474588B1 (en) * 2017-04-05 2019-11-12 EMC IP Holding Company LLC Method and system for memory-based data caching

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04165541A (en) * 1990-10-30 1992-06-11 Hitachi Ltd File rearranging method
JP4036992B2 (ja) 1998-12-17 2008-01-23 富士通株式会社 キャッシュモジュール間でデータを動的に管理するキャッシュ制御装置および方法
JP2006301820A (ja) * 2005-04-19 2006-11-02 Hitachi Ltd ストレージシステム及びストレージシステムのデータ移行方法
JP5000234B2 (ja) * 2006-08-24 2012-08-15 株式会社日立製作所 制御装置
JP4905511B2 (ja) 2009-06-30 2012-03-28 富士通株式会社 記憶装置の制御部及び制御方法
US8838927B2 (en) * 2011-05-27 2014-09-16 International Business Machines Corporation Systems, methods, and physical computer storage media to optimize data placement in multi-tiered storage systems
WO2012168967A1 (en) * 2011-06-07 2012-12-13 Hitachi, Ltd. Storage apparatus and data management method
US8627035B2 (en) * 2011-07-18 2014-01-07 Lsi Corporation Dynamic storage tiering
WO2014128910A1 (ja) * 2013-02-22 2014-08-28 株式会社日立製作所 ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法
US20150039825A1 (en) * 2013-08-02 2015-02-05 Seagate Technology Llc Federated Tiering Management
US9298389B2 (en) * 2013-10-28 2016-03-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Operating a memory management controller

Also Published As

Publication number Publication date
US20160085446A1 (en) 2016-03-24
JP2016062315A (ja) 2016-04-25
US9904474B2 (en) 2018-02-27

Similar Documents

Publication Publication Date Title
US7650480B2 (en) Storage system and write distribution method
US10296237B2 (en) System and method for raid management, reallocation, and restripping
CN102770848B (zh) 存储控制器中的转出任务的动态管理
US9116819B2 (en) Reducing metadata in a write-anywhere storage system
CN102576293B (zh) 固态存储设备和分层存储系统中的数据管理
US9378093B2 (en) Controlling data storage in an array of storage devices
US7945733B2 (en) Hierarchical storage management (HSM) for redundant array of independent disks (RAID)
US7536505B2 (en) Storage system and method for controlling block rearrangement
US8639969B2 (en) Fast data recovery from HDD failure
JP5456063B2 (ja) アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステム
JP5537976B2 (ja) 大容量ディスクドライブの使用方法及び装置
JP4749140B2 (ja) データマイグレーション方法及びシステム
JP2008217216A (ja) 負荷分散方法及び計算機システム
US8886882B2 (en) Method and apparatus of storage tier and cache management
JP2006024024A (ja) 論理ディスク管理方法及び装置
JP5942511B2 (ja) バックアップ装置,バックアップ方法,およびバックアッププログラム
EP2302500A2 (en) Application and tier configuration management in dynamic page realloction storage system
US8239626B2 (en) Storage system that executes performance optimization that maintains redundancy
JPH086728A (ja) データ処理システムおよびその操作方法
US9128855B1 (en) Flash cache partitioning
US8627035B2 (en) Dynamic storage tiering
US8775731B2 (en) Write spike performance enhancement in hybrid storage systems
CN102272742B (zh) 为卷提供动态存储分级的在线数据放置的写时分配快照机制
US8447946B2 (en) Storage apparatus and hierarchical data management method for storage apparatus
TWI534702B (zh) 有效管理階層之間的資料轉移的設備

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180521

R150 Certificate of patent or registration of utility model

Ref document number: 6350162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150