JP6900687B2 - ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム - Google Patents

ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム Download PDF

Info

Publication number
JP6900687B2
JP6900687B2 JP2017019989A JP2017019989A JP6900687B2 JP 6900687 B2 JP6900687 B2 JP 6900687B2 JP 2017019989 A JP2017019989 A JP 2017019989A JP 2017019989 A JP2017019989 A JP 2017019989A JP 6900687 B2 JP6900687 B2 JP 6900687B2
Authority
JP
Japan
Prior art keywords
input
output
disk
cache
virtual machine
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
JP2017019989A
Other languages
English (en)
Other versions
JP2018128751A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2017019989A priority Critical patent/JP6900687B2/ja
Priority to US15/875,048 priority patent/US10579268B2/en
Publication of JP2018128751A publication Critical patent/JP2018128751A/ja
Application granted granted Critical
Publication of JP6900687B2 publication Critical patent/JP6900687B2/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/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
    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • 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/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/263Network storage, e.g. SAN or NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • G06F2212/284Plural cache memories being distributed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/314In storage network, e.g. network attached cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • 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/6042Allocation of cache space to multiple users or processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム、特に、論理ディスクの入出力特性に合わせた入出力制御を行うディスク制御装置等、に関する。
近年のディスクアレイ装置は、メニコア、マルチスレッド等の技術を採用して高性能なCPU(Central Processing Unit)や大容量なメモリを搭載している。このようなディスクアレイ装置は、DB(Data Base)サービス、ファイル管理サービス、VOD(Video On Demand)サービス等の、さまざまな用途で使用される論理ディスクを集約管理している。
用途がさまざまであるが故に、論理ディスクの入出力パターンにもさまざまな特性がある。ディスクアレイ装置が、論理ディスクの特性に合わせた入出力制御やリソース割り当てなどを行えば入出力性能を向上させることができる場合が有る。
特許文献1は、バーチャルマシンを利用して、新旧のストレージプログラムを共存させるストレージシステムを開示する。
国際公開第2011/058821号
様々な特性の論理ディスクを集約管理しているディスクアレイ装置が、論理ディスクの特性に合わせた入出力制御やリソース割り当て等を行う場合、或る論理ディスクの性能向上の為の制御が、他の論理ディスクの性能を悪化させてしまう場合が有る。以下は、このような課題の具体例の説明である。
図9は、この課題を説明する為の具体例を示す図である。この例において、ディスクアレイ装置は、DBのような転送長の小さいランダム入出力が多重発行される論理ディスクLUN0と、VODのような多重度は低いが転送長が大きいシーケンシャル入出力が発行される論理ディスクLUN1を制御する。そして、このディスクアレイ装置のメモリに確保されるキャッシュブロックの区画は32Kバイトであり、LUN0の転送長は4Kバイト、LUN1の転送長は1Mバイトであるとする。この状況下では、例えば、以下のような問題が発生する。
1)非効率なメモリリソース管理(図中の(1))
LUN0は、キャッシュブロックとして、総量的には多くないが小さなメモリ区画がたくさん必要になるが、LUN1は総量的に大きなメモリ区画が必要となる。LUN1が大きな区画を確保するためには小さな区画のメモリを整理しなければならない。その為、メモリのガーベージ処理やデフラグ処理が頻繁に必要となる。
2)過剰なCPUリソース占有(図中の(2))
LUN0は、データ量が小さいため相対的に短い時間で応答が可能で、応答すると次々に入出力が発行されてきてしまうためCPU消費量が多くなる。極端な状況ではLUN0の処理ばかりが行われてしまい、LUN1の処理がなかなかCPUスケジューリングされない。この結果、LUN1のレスポンスが大幅に悪化する。
(3)ディスク種別の特性に合わない入出力発行制御(図中の(3))
ここで、ディスク種別は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)を意味する。
LUN1は、ある程度データを貯めてからディスクに書いた方が性能を引き出せる。特にHDDで構成されている場合、LUN1はエレベータシークを効かせてアドレス順に連続して書けると性能がより向上する。そのた為、LUN1は、データをキャッシュ区画上にできるだけ貯めこんで、アドレス順に並べ替えて書いた方がよい。しかし、LUN0の負荷によりキャッシュ区画が多量に消費されると、LUN1のデータを貯めきれずに書かざるを得なくなる。この場合、何度も論理ディスクに対して入出力コマンドを発行することになり、入出力が非効率となる。
一方、LUN1が、SSDで構成されている場合は、貯めこみ並べ替える必要はない。SSDは、ランダムアクセスに強い機構をもつためである。
なお、ディスクを制御する装置が、或る論理ディスクの特性に合わせた入出力制御やリソース割り当て等を行う場合、悪化させてしまう場合が有るのは、他の論理ディスクの性能に限られない。例えば、ディスクを制御する装置が実行するメディアエラーチェック処理の遅延を発生する場合も有る。
本発明は、或る論理ディスクの特性に合わせた入出力制御が、他の処理、例えば、他の論理ディスクの性能劣化を引き起こすことを抑制できるディスク制御装置、ディスク制御方法、および、ディスク制御プログラムを提供することを目的とする。
本発明の1実施の形態のディスク制御装置は、キャッシュを備え、当該キャッシュを用いて論理ディスクの入出力を実行する入出力手段と、前記キャッシュの使用にかかる特性値を測定するキャッシュ測定手段と、前記特性値に基づいて、複数の入出力仮想計算機の中から1つを選択してハイパーバイザに通知する分配判断手段と、を備える制御仮想計算機と、各々異なる制御方式で、前記入出力を実行する前記入出力手段を備える、前記複数の前記入出力仮想計算機と、前記分配判断手段から通知された前記入出力仮想計算機を起動し、前記論理ディスクに対する入出力要求の送付先を、前記制御仮想計算機から起動した前記入出力仮想計算機に切替える前記ハイパーバイザと、を備え、前記論理ディスクを実現するディスク装置に接続される。
本発明の1実施の形態のディスク制御方法は、キャッシュを用いて論理ディスクの入出力を実行し、前記キャッシュの使用にかかる特性値を測定し、前記特性値に基づいて、各々異なる制御方式で前記入出力を実行する複数の入出力仮想計算機の中から1つを起動し、前記論理ディスクに対する入出力要求の送付先を、起動した前記入出力仮想計算機に設定する。
本発明の1実施の形態のディスク制御プログラムは、キャッシュを用いて論理ディスクの入出力を実行し、前記キャッシュの使用にかかる特性値を測定し、前記特性値に基づいて、各々異なる制御方式で、前記入出力を実行する前記入出力処理を備える複数の入出力仮想計算機の中から1つを選択する制御処理と、選択された前記入出力仮想計算機を起動し、前記論理ディスクに対する入出力要求の送付先を、起動した前記入出力仮想計算機に設定するハイパーバイザ処理とを、前記論理ディスクを実現するディスク装置に接続されたコンピュータに実行させる。
本発明のディスク制御装置は、或る論理ディスクの特性に合わせた入出力制御が、他の処理、例えば、他の論理ディスクの入出力性能の劣化を引き起こすことを抑制できる。
図1は、本発明の第1の実施の形態にかかるディスク制御システム40の構成を示す図である。 図2は、コンピュータ装置60の構成図である。 図3は、起動する入出力実行仮想マシン30の選択処理のフローチャートである。 図4は、起動する入出力実行仮想マシン30に対するメモリ量割当処理のフローチャートである。 図5は、起動する入出力実行仮想マシン30に対するCPU割当処理のフローチャートである。 図6は、第1の実施の形態にかかるディスク制御システム40の具体的な構成と動作例を説明する図(その1)である。 図7は、第1の実施の形態にかかるディスク制御システム40の具体的な構成と動作例を説明する図(その2)である。 図8は、本発明の第2の実施の形態にかかるディスク制御装置10の構成を示す図である。 図9は、課題を説明する為の具体例を示す図である。
<第1の実施の形態>
<概要>
ディスク制御装置10は、論理ディスク51毎の特性(例えば、特徴的なI/Oパターンや運用パターン)に合わせた入出力処理を実行する入出力部22が動作する入出力実行仮想マシン30を複数内包している。
制御用の制御仮想マシン20で動作するキャッシュアクセス測定部25が、論理ディスク51への入出力で利用するキャッシュ24のアクセスパターンを分析する。分配判断部26は、分析結果に基づいて、その論理ディスク51の入出力の特性に合った入出力部22が動作する入出力実行仮想マシン30を選択し、特性に合ったリソースを配分して起動する。
その後、ハイパーバイザ11の仮想基盤制御部12は、外部から受信する論理ディスク51への入出力要求のパスを、制御仮想マシン20から、新たに起動した入出力実行仮想マシン30に切り替える。
<構成>
図1は、本発明の第1の実施の形態にかかるディスク制御システム40の構成を示す図である。ディスク制御システム40は、ディスク制御装置10と、当該装置に接続されたディスク装置50を包含する。ディスク制御装置10は、例えば物理ポート1Aを介して、上位装置、例えば汎用情報処理装置から、論理ディスク51に対する入出力要求を受信する。
論理ディスク51は、1台以上のディスク装置50で実現される。論理ディスク51は、例えば、ミラー構成の複数台のディスク装置50で構成される。論理ディスク51は、例えば、ファイルシステムやデータベースを格納する。なお、ディスク装置50は、論理ディスク51のデータ以外に、ディスク制御装置10の実行に必要なデータを格納していても良い。
ディスク制御装置10は、制御仮想マシン20、複数の入出力実行仮想マシン30、および、ハイパーバイザ11を備えている。
ハイパーバイザ11は、制御仮想マシン20、および、入出力実行仮想マシン30を実行する基盤であり、仮想基盤制御部12と仮想マシン実行部13を備える。
仮想マシン実行部13は、構成定義情報に従って入出力実行仮想マシン30に必要なリソース(メモリ/CPUなど)を割り当てて起動する。起動された、入出力実行仮想マシン30は、指定されたゲストOS27やSAN制御部21をロードして実行する。
仮想基盤制御部12は、制御仮想マシン20の基盤パラメータ通知部29からの指示に従って入出力実行仮想マシン30の構成定義情報を作成する。構成定義情報は、割当メモリ量、割当CPU数、使用するゲストOS27/SAN制御部21の指定を含む。
また、仮想基盤制御部12は、入出力パス切り替えを行う。すなわち、仮想基盤制御部12は、上位装置から受信した論理ディスク51に対する入出力要求を、どの仮想マシンに処理させるかの指定の切替えを行う。なお、上位装置からの入出力要求は、ディスク制御装置10の物理ポート1Aで受信されて仮想基盤制御部12に届けられ、仮想基盤制御部12が、選択した仮想マシンの仮想ポート2Aに転送する。転送された入出力要求は、仮想ポート2AからゲストOS27を介して、当該仮想マシンの入出力部22に届く。
制御仮想マシン20は、SAN制御部21とゲストOS27を備えている。
ゲストOS27は、通常のOS機能実行部分に加えて、基盤パラメータ通知部29とパススイッチ管理部28を備える。基盤パラメータ通知部29は、ゲストOS27上のSAN制御部21から仮想基盤制御部12に対し情報を通知することを可能にする。この情報は、例えば、分配判断部26が発する制御仮想マシン20および入出力実行仮想マシン30の構成定義情報である。パススイッチ管理部28は、SAN制御部21から仮想基盤制御部12に対し、制御仮想マシン20が受け取る論理ディスク51への入出力要求を、指定した入出力実行仮想マシン30が受け取るようにパス切り替え指示を出すことを可能とする。
SAN制御部21は、入出力部22、キャッシュアクセス測定部25、分配判断部26を備えている。
入出力部22は、実行部23とキャッシュ24を備える。実行部23は、上位装置から受信した論理ディスク51への入出力要求を受けて、キャッシュ24を用いて、当該論理ディスク51に対する入出力を実行する。入出力部22は、様々な制御方式でことが出来る。ここで、制御方式は、例えば、キャッシュ24の各区画サイズ、HDDエレベータシークの為のデータ貯め込みとアドレス順ソート制御の有無、を意味する。
制御仮想マシン20が備える入出力部22は、所定の制御方式で入出力を行う。なお、複数の入出力実行仮想マシン30は、其々異なる制御方式で入出力を行う入出力部22を備える。
キャッシュアクセス測定部25は、論理ディスク51に対する入出力処理のために使用するキャッシュ24の利用に関する特性値を測定する。このキャッシュアクセス測定部25は、論理ディスク51毎に、例えば、以下の情報を蓄積する。
・キャッシュ24の待ち発生率、キャッシュ24の全体に対する使用頻度
・キャッシュ24を使用する際の要求サイズの平均/標準偏差/最頻値、
・要求論理セクタ番号
・単位時間辺りの同一のキャッシュ24の区画競合率
・入出力の受信間隔時間
分配判断部26は、キャッシュアクセス測定部25から収集された特性値情報を読み取り、そこから判断される論理ディスク51の使われ方の特性に合った制御方式の入出力部22を備える入出力実行仮想マシン30を選択する。さらに、分配判断部26は、当該特性に合った、リソース配分を決定し、選択及び決定した情報を、仮想基盤制御部12および仮想マシン実行部13に通知する。
複数の入出力実行仮想マシン30は、其々異なる制御方式で入出力を行う入出力部22を備える。なお、複数の入出力実行仮想マシン30は、其々異なる制御方式で入出力を行う入出力部22を包含するSAN制御部21備えるように実装しても良い。ここでいう、入出力実行仮想マシン30は、仮想マシン実行部13が、入出力実行仮想マシン30を生成して起動する為の構成定義情報であっても良い。構成定義情報は、各制御方式で入出力を行う入出力部22を包含する雛形を別々に用意しておき、分配判断部26が雛形を選択し、リソース配分量の変更情報と共に、仮想基盤制御部12に送信し雛形を修正させても良い。
ここで、ディスク制御装置10のSAN制御部21(キャッシュ24以外の内部要素を含む)は、論理回路あるいは、専用のPU(Processing Unit)とファームウェアで構成される。
ディスク制御装置10は、コンピュータ装置60でもある。図2は、コンピュータ装置60の構成図である。コンピュータ装置60は、バス64で相互に接続された、プロセッサ61(CPU)、主記憶部63、および、外部記憶装置62を備える。プロセッサ61は、バス64を経由して、主記憶部63、および、外部記憶装置62に対してデータの読み書きを行う。
また、プロセッサ61は、主記憶部63に格納されているプログラム65を実行する。なお、プログラム65は、当初外部記憶装置62に格納されており、コンピュータ装置60の初期設定時に、プロセッサ61が外部記憶装置62から主記憶部63にロードしても良い。
ここで、主記憶部63は半導体メモリ装置である。外部記憶装置62はHDD、または、SDD等の記憶装置である。主記憶部63は、例えば、キャッシュ24として機能する。
ディスク制御装置10のプロセッサ61は、プログラム65を実行することにより、SAN制御部21(キャッシュ24以外の内部要素を含む)として機能する。すなわち、プロセッサ61は、プログラム65を実行することにより、SAN制御部21(キャッシュ24以外の内部要素を含む)が行う処理を実行する。
外部記憶装置62は、特性値の格納域、および、入出力実行仮想マシン30の記憶域として使用されても良い。
なお、図2のプログラム65は、図示されないROM(Read Only Memory)に記憶されたファームウェアであっても良い。すなわち、SAN制御部21(キャッシュ24以外の内部要素を含む)は、ファームウェアによって実現されても良い。
<動作>
1)特性値の測定
ディスク制御装置10が、起動されたとき、全ての論理ディスク51に対する入出力要求は、制御仮想マシン20に転送される。そして、その入出力要求は、制御仮想マシン20の入出力部22で実行され、その過程で、キャッシュアクセス測定部25により、各論理ディスク51の特性値が測定される。
キャッシュアクセス測定部25は、統計的に十分な量のサンプル数が取得できると、その旨を分配判断部26に通知する。分配判断部26は、各論理ディスク51について、その特性値に基づき、起動する入出力実行仮想マシン30の選択と、割り当てるべきリソース量の決定を行う。分配判断部26は、起動後所定時間が経過した時点で、この起動する入出力実行仮想マシン30の選択と、割り当てるべきリソース量の決定を行っても良い。
分配判断部26は、先ず、リソース分配が必要かどうかの判断を行う。すなわち、分配判断部26は、キャッシュ24の待ち発生率を参照して待たされる率が所定値以上高い論理ディスク51があるかどうかを確認し、偏りがあれば分配が必要と判断して、起動する入出力実行仮想マシン30の選択と、割り当てるべきリソース量の決定を開始する。
2)起動する入出力実行仮想マシン30の選択
図3は、起動する入出力実行仮想マシン30の選択処理のフローチャートである。分配判断部26は、図3乃至図5の処理を論理ディスク51ごとに行う。
分配判断部26は、いま処理している論理ディスク51が、SSDのディスク装置50で構成されていれば(S1でYES)、SSDの入出力に特化した入出力部22を有する入出力実行仮想マシン30群を候補とする(S2)。一方、分配判断部26は、いま処理している論理ディスク51が、HDDのディスク装置50で構成されていれば(S1でNO)、HDDの入出力に特化した入出力部22を有する入出力実行仮想マシン30群を候補とする(S7)。HDDの入出力に特化した入出力部22は、例えば、HDDエレベータシークの為のデータ貯め込みとアドレス順ソート制御を行う。
次に、分配判断部26は、キャッシュ24の利用サイズ、すなわち、キャッシュ24を確保する際の要求メモリ量を示す特性値を参照し(S3)、容量効率を判断して、利用サイズ以上で最小のキャッシュ24の区画サイズを持つ入出力実行仮想マシン30を選択する(S4乃至S6)。ここで、キャッシュ24の利用サイズは、例えば、偏差値が所定閾値より低ければ平均を、大きければ最頻値を採用すれば良い。
3)割り当て総メモリ量の決定
図4は、起動する入出力実行仮想マシン30に対するメモリ量割当処理のフローチャートである。
分配判断部26は、割当メモリ量の初期値を所定の標準メモリ量に設定する(S11)。そして、分配判断部26は、いま処理している論理ディスク51のキャッシュ24の利用サイズが所定閾値より大きな場合(S12で「大」)、HDD/SSDの書き込み速度ネックになると判断して割当メモリ量を増加する(S13)。増加分は、一律の値としても良いし、所定閾値との差分に応じた値としても良い。
キャッシュ24の利用サイズが小さい場合で(S12で「小」)、論理ディスク51が、HDDで構成されている場合は(S14でNO)、分配判断部26は、キャッシュ24にデータを貯めて読み書き制御を行った方が良いと判断して、割当メモリ量を増加する(S16)。論理ディスク51が、SDDで構成されている場合は(S14でYES)、分配判断部26は、SSDの高速性を活かせば大量のメモリは不要と判断して、割当メモリ量を減ずる(S16)。
4)割り当てCPU数の決定
図5は、起動する入出力実行仮想マシン30に対するCPU割当処理のフローチャートである。
分配判断部26は、割当CPU数の初期値を所定の標準CPU数に設定する(S21)。そして、分配判断部26は、いま処理している論理ディスク51のキャッシュ24の利用サイズが所定閾値より大きな場合(S22で「大」)、HDD/SSDネックとなりCPUネックとはならないと判断し、割当CPU数を減ずる(S23)。キャッシュ24の利用サイズが小さい場合(S22で「小」)、分配判断部26は、処理実行数が増えると判断し、割当CPU数を増加する(S26)。さらに、論理ディスク51がSDDで構成されている場合は(S27でYES)、分配判断部26は、よりSSDを多く動かした方が効率的と判断し、さらに割当CPU数を増加する(S28)。
次いで、分配判断部26はキャッシュ競合率の判断に進む。キャッシュ24の競合率が高い場合(S24で「多」)、分配判断部26は、今処理中の論理ディスク51は高負荷と判断し、割当CPU数を増加する(S29)。
最後に、上位装置へのレスポンスを最速にしても次の入出力要求が来るまでの時間が長ければ、すなわち、入出力要求の到着インターバルが長ければ(S25で「長」)、分配判断部26は、高速性が求められないと判断し、割当CPU数を減ずる(S30)。
なお、上記において増減するCPUの数は、例えば、ディスク制御装置10に実装されているCPU数の10%とすれば良い。
5)入出力実行仮想マシン30の起動
分配判断部26は、選択した入出力実行仮想マシン30と、決定した割り当てリソース量を、基盤パラメータ通知部29を介して仮想基盤制御部12に通知する。仮想基盤制御部12が、通知された情報に従って、例えば、入出力実行仮想マシン30の構成情報雛形を選択し、かつ、リソース量定義の修正をし、仮想マシン実行部13が、与えられた構成情報に基づいて、入出力実行仮想マシン30を起動する。起動された入出力実行仮想マシン30は、指定されたゲストOS27と、SAN制御部21(全体ではなく、入出力部22だけでも良い)をロードして実行する。
6)入出力要求転送先の切替え
入出力実行仮想マシン30の入出力部22は、入出力要求を受信できる状態になった段階で、パススイッチ管理部28を介して仮想基盤制御部12にパススイッチ可能を通知する。パススイッチ可能通知を受けた仮想基盤制御部12は、制御仮想マシン20のゲストOS27に、パススイッチ準備完了を通知する。
制御仮想マシン20のゲストOS27のパススイッチ管理部28は、準備完了通知を受け取ると、入出力部22にキャッシュ24をOFFするように指示を出す。これにより、入出力部22は、制御仮想マシン20の残存キャッシング情報の掃出しと以降の入出力の非キャッシング化を行う。これにより、制御仮想マシン20の動作CPUを限定してCPU使用量を減らすことが出来る。
制御仮想マシン20の入出力部22は、キャッシュ24をOFF状態にしたら、パススイッチ管理部28を介してパス切り替え実行指示を、仮想基盤制御部12に出す。パス切り替え実行指示を受けた仮想基盤制御部12は、その入出力実行仮想マシン30が処理する論理ディスク51に関する以降の入出力要求転送先を、起動した入出力実行仮想マシン30に切り替える。
なお、入出力部22の制御方式は、上述した例に限られない。入出力部22の制御方式は、ディスク種別やキャッシュ24の区画以外の要素についての制御方式を含んでいても良い。また、入出力要求の転送先切り替えの単位は、論理ディスク51単位以外に論理ディスク51の論理アドレス範囲単位でも良い。
このような仕組みを設けることで、入出力処理に関して適切で無駄のないリソース割当と、効率の良い制御を行うことが可能となる。そして、特定の論理ディスク51によるリソースの偏った占有を防止し、ディスク制御システム40全体としての総入出力処理量をバランスよく増加させることが可能となる。
<具体例の動作の説明>
図6および図7は、第1の実施の形態にかかるディスク制御システム40の具体的な構成と動作例を説明する図である。
まず、ディスク制御装置10は、仮想化基盤を備えている(図6中(1))。
特性値の分析を実施するファームウェア(SANFW)が動作する制御仮想マシン20(VM(A))のOS(A)と、用途の特色にあったファームウェアが動作するOS(B)/(C)/・・・が用意される。OS(A)は、32KBメモリ区画で動作するファームウェアを、OS(B)は、4KBメモリ区画で動作するランダムライトに特化したファームウェアを動作させる。さらに、OS(C)は、1MBメモリ区画でデータを貯めこみ並べ替えディスクアクセスさせるのに特化したファームウェアを動作させる(図6中(2))。
ディスク制御装置10は、初期の段階では、全CPUと全メモリを割り当てて、OS(A)をロードしたVM(A)を、1台起動して全論理ディスク51への入出力を処理する。論理ユニット番号0番の論理ディスク51(LUN0)は、平均4KB程度の小さいサイズの書き込みが高負荷であり、局所性は持つが広範囲に渡りランダムにアクセスされている。論理ユニット番号1番の論理ディスク51(LUN1)は、平均1MBの大きいサイズの書き込みが中負荷であり、シーケンシャルなアドレスでアクセスされている。
VM(A)のキャッシュアクセス測定部25は、キャッシュ24を使用する際に、要求論理ディスク番号/開始セクタ番号/サイズ情報/要求数/要求インターバル情報/待ち行列数などの情報を蓄積する(図6中(3-1))。
この蓄積結果から以下の状況が読み取れる。
a)LUN0に関して
・開始セクタ番号は、32KB区画の中で一定の位置ではない、すなわち、LUN0は、32KBより小さい単位で入出力されている。
・キャッシュ24は、小さいサイズで要求され、競合数が多いが、短い待ち時間で取得できている。
・要求数がLUN1よりも多い。
b)LUN1に関して
・開始セクタ番号が32KB区画の先頭から揃っている。
・キャッシュ24に対する要求サイズが大きく取得に時間がかかっている。
・総要求量として、多くのメモリが使われる。
VM(A)の分配判断部26は、この情報に基づいてリソース分配が必要と判断する。さらに分配判断部26は、OS(B)を搭載する入出力実行仮想マシン30(VM(B)にLUN0の、OS(C)を搭載する入出力実行仮想マシン30(VM(C))にLUN1の入出力要求を処理させると決定する。続いて、VM(A)の分配判断部26は、VM(B)にはメモリ少、CPU多というパラメータを作成、VM(C)にはメモリ大、CPU少という基盤パラメータを作成し仮想基盤制御部12に通知する(図6中(3-2))。
仮想基盤制御部12は、与えられた基盤パラメータに基づいて、VM(B)とVM(C)の構造定義情報を完成させる。仮想マシン実行部13が、それに従って、リソースを割り当ててVM(B)とVM(C)を起動する。起動されたVM(B)とVM(C)の上では、各々OS(B)とOS(C)が動作を開始する(図7の(4))。
ここで、OS(B)とOS(C)上では、その上のファームウェアも動作を開始する。動作を開始するとVM(B)とVM(C)のファームウェアの入出力部22が、VM(A)に切り替え可能を通知する(図7の(5))。
切り替え可能通知を受けたVM(A)のファームウェアの入出力部22は、LUN0/1で使用しているキャッシュ24をOFFし、CPU使用量を減らし、切り替え指示を仮想基盤制御部12に出す(図7の(6))。
VM(A)から指示を受けた仮想基盤制御部12は、LUN0/1の入出力要求転送先を、其々VM(B)、VM(C)に切り替える(図7の(7))。
負荷状況が時間帯によって変わるケース(例えば運用で夜間バックアップ作業のみを行うなど)では、ディスク制御装置10は、幾つかの入出力実行仮想マシン30を停止して、少ないメモリとCPUで動作させても良い。
<効果>
第1の実施の形態のディスク制御装置10は、或る論理ディスク51の特性に合わせた入出力制御が、他の処理、例えば、他の論理ディスク51の性能劣化を引き起こすことを抑制できる。その理由は、分配判断部26が論理ディスク51のキャッシュ24の使用に関する特性値に基づいて、複数の入出力実行仮想マシン30の中から当該特性値に適した1つを選択して起動し、当該論理ディスク51の入出力を実行させるからである。
第2の効果は、リソースの効率的な使用が可能なことである。すなわち、ディスク制御装置10は、適切な制御方式の入出力実行仮想マシン30を、別々に割り当てたリソースで起動することで過剰なCPUの使用を防止し、どの論理ディスク51も効率よく動作させることができる。その理由は、分配判断部26が論理ディスク51のキャッシュ24の使用に関する特性値に基づいて、入出力実行仮想マシン30に適切なリソースを割り当てて起動するからである。
さらに、以下の効果が生じる。
1)論理ディスク51の負荷パターンに適した入出力実行仮想マシン30に、当該論理ディスク51の入出力要求を割り振ることで、キャッシュ24を効率よく使用することができるためヒット率・応答性能・スループットが向上する。
2)さまざまな用途の論理ディスク51に適した、さまざまな制御方式の入出力部22を内包することで、運用方法に適した動作を必要な時間帯に必要な分だけ動作させることが可能となる。
3)キャッシュ24へのアクセスパターン分析のみで容易に適切なリソース配分ができる。
<第2の実施形態>
図8は、本発明の第2の実施の形態にかかるディスク制御装置10の構成を示す図である。
本実施の形態のディスク制御装置10は、論理ディスク51を実現するディスク装置50に接続されている。また、ディスク制御装置10は、制御仮想マシン20と、複数の入出力実行仮想マシン30と、ハイパーバイザ11を備える。
制御仮想マシン20は、キャッシュ24を備え、当該キャッシュ24を用いて論理ディスク51の入出力を実行する入出力部22を備える。さらに、制御仮想マシン20は、キャッシュ24の使用にかかる特性値を測定するキャッシュアクセス測定部25と、特性値に基づいて、複数の入出力実行仮想マシン30の中から1つを選択してハイパーバイザ11に通知する分配判断部26と、を備える。
複数の入出力実行仮想マシン30は、各々異なる制御方式で、入出力を実行する入出力部22を備える。ハイパーバイザ11は、分配判断部26から通知された入出力実行仮想マシン30を起動し、論理ディスク51に対する入出力要求の送付先を、制御仮想マシン20から起動した入出力実行仮想マシン30に切替える。
本実施の形態においては、第1の実装の形態と異なり、入出力部22、キャッシュアクセス測定部25、および、分配判断部26は、SAN制御部21のような単位で実装されていない。入出力部22、キャッシュアクセス測定部25、および、分配判断部26は、各々単独で実装されていても良い。この場合、入出力実行仮想マシン30は、入出力部22だけを備えていれば十分である。
また、分配判断部26は、ゲストOS27を経由せず、プロセッサ61の不正命令による割り出し等を利用して、直接ハイパーバイザ11と通信しても良い。
本実施の形態においては、入出力実行仮想マシン30は、一律、標準メモリ量と標準CPU数を割り当てられて起動されても良い。
第2の実施の形態のディスク制御装置10は、或る論理ディスク51の特性に合わせた入出力制御が、他の処理、例えば、他の論理ディスク51の性能劣化を引き起こすことを抑制できる。その理由は、分配判断部26が論理ディスク51のキャッシュ24の使用に関する特性値に基づいて、複数の入出力実行仮想マシン30の中から当該特性値に適した1つを選択して起動し、当該論理ディスク51の入出力を実行させるからである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 ディスク制御装置
11 ハイパーバイザ
12 仮想基盤制御部
13 仮想マシン実行部
1A 物理ポート
20 制御仮想マシン
21 SAN制御部
22 入出力部
23 実行部
24 キャッシュ
25 キャッシュアクセス測定部
26 分配判断部
27 ゲストOS
28 パススイッチ管理部
29 基盤パラメータ通知部
2A 仮想ポート
30 入出力実行仮想マシン
40 ディスク制御システム
50 ディスク装置
51 論理ディスク
60 コンピュータ装置
61 プロセッサ
62 外部記憶装置
63 主記憶部
64 バス
65 プログラム

Claims (10)

  1. キャッシュを備え、当該キャッシュを用いて論理ディスクの入出力を実行する入出力手段と、前記キャッシュの使用にかかる特性値を測定するキャッシュ測定手段と、前記特性値に基づいて、複数の入出力仮想計算機の中から1つを選択してハイパーバイザに通知する分配判断手段と、を備える制御仮想計算機と、
    各々異なる制御方式で、前記入出力を実行する前記入出力手段を備える、前記複数の前記入出力仮想計算機と、
    前記分配判断手段から通知された前記入出力仮想計算機を起動し、前記論理ディスクに対する入出力要求の送付先を、前記制御仮想計算機から起動した前記入出力仮想計算機に切替える前記ハイパーバイザと、を備え、
    前記論理ディスクを実現するディスク装置に接続されたディスク制御装置。
  2. 前記キャッシュ測定手段は、前記ディスク装置上に実現された複数の前記論理ディスクの各々を対象に前記特性値を測定し、
    前記分配判断手段は、前記複数の前記論理ディスクの各々を対象に前記特性値に基づいて、前記複数の前記入出力仮想計算機から1つを選択して前記ハイパーバイザに通知する、請求項1のディスク制御装置。
  3. 前記キャッシュ測定手段が測定する前記特性値は、利用される前記キャッシュを確保する際の要求サイズを包含し、
    前記入出力仮想計算機の前記制御方式は、前記キャッシュの区画サイズを包含し、
    前記分配判断手段は、前記要求サイズ以上であって最小の前記区画サイズの前記キャッシュを有する前記入出力仮想計算機を選択する、請求項1乃至請求項2の何れか1項のディスク制御装置。
  4. 前記キャッシュ測定手段が測定する前記特性値は、前記論理ディスクを実現する前記ディスク装置が、磁気ディスク装置であるか否かの判断値を包含し、
    前記入出力仮想計算機の前記制御方式は、アドレス順アクセスの為のデータ蓄積を行うか否かの選択を包含し、
    前記分配判断手段は、前記論理ディスクを実現する前記ディスク装置が、磁気ディスク装置である場合、前記アドレス順アクセスの為のデータ蓄積を行う前記入出力仮想計算機を選択する、請求項1乃至請求項3の何れか1項のディスク制御装置。
  5. 前記分配判断手段は、前記特性値に基づいて、前記入出力仮想計算機を選択するとともに割当てるリソースの量を決定して前記ハイパーバイザに通知し、
    前記ハイパーバイザは、通知された前記入出力仮想計算機に、通知された量の前記リソースを割り当てて起動する、請求項1乃至請求項4の何れか1項のディスク制御装置。
  6. 前記キャッシュ測定手段が測定する前記特性値は、前記キャッシュの利用量、および、前記論理ディスクを実現する前記ディスク装置が、磁気ディスク装置であるか否かの判断値を包含し、
    前記分配判断手段は、a)前記利用量が所定値より大きければ、前記入出力仮想計算機に所定の標準メモリ量より大きな量のメモリ、および、所定の標準CPU量より小さな量のCPUを割り当て、b)前記利用量が前記所定値未満で、前記論理ディスクを実現する前記ディスク装置が、磁気ディスク装置であれば、前記入出力仮想計算機に前記標準メモリ量より大きな量のメモリ、および、前記標準CPU量より大きな量のCPUを割り当て、c)前記利用量が前記所定値未満で、前記論理ディスクを実現する前記ディスク装置が、磁気ディスク装置でなければ、前記入出力仮想計算機に前記標準メモリ量より少ない量のメモリ、および、前記標準CPU量より大きな量のCPUを割り当てる、請求項1乃至請求項5の何れか1項のディスク制御装置。
  7. 前記キャッシュ測定手段が測定する前記特性値は、前記入出力要求の到着インターバルを包含し、
    前記分配判断手段は、前記到着インターバルが所定値より長ければ、短い場合より、小さな量のCPUを割り当てる、請求項1乃至請求項5の何れか1項のディスク制御装置。
  8. 前記制御仮想計算機の前記入出力手段は、前記キャッシュ上のデータの前記論理ディスクへの書き込み、および、前記キャッシュのメモリ解放/無効化、を実施した後、前記ハイパーバイザにパス切り替え指示を出力し、
    前記ハイパーバイザは、前記パス切り替え指示受領後に、前記制御仮想計算機から起動した前記入出力仮想計算機に切替える、請求項1乃至請求項7の何れか1項のディスク制御装置。
  9. 論理ディスクを実現するディスク装置に接続されたコンピュータが、
    キャッシュを用いて前記論理ディスクの入出力を実行し、前記キャッシュの使用にかかる特性値を測定し、前記特性値に基づいて、各々異なる制御方式で前記入出力を実行する複数の入出力仮想計算機の中から1つを選択し、
    前記選択された前記入出力仮想計算機を起動し、前記論理ディスクに対する入出力要求の送付先を、起動した前記入出力仮想計算機に設定するハイパーバイザ処理を行う、
    ディスク制御方法。
  10. キャッシュを用いて論理ディスクの入出力を実行し、前記キャッシュの使用にかかる特性値を測定し、前記特性値に基づいて、各々異なる制御方式で、前記入出力を実行する入出力手段を備える複数の入出力仮想計算機の中から1つを選択する制御処理と、
    選択された前記入出力仮想計算機を起動し、前記論理ディスクに対する入出力要求の送付先を、起動した前記入出力仮想計算機に設定するハイパーバイザ処理を、前記論理ディスクを実現するディスク装置に接続されたコンピュータに実行させる、ディスク制御プログラム。
JP2017019989A 2017-02-07 2017-02-07 ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム Active JP6900687B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017019989A JP6900687B2 (ja) 2017-02-07 2017-02-07 ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム
US15/875,048 US10579268B2 (en) 2017-02-07 2018-01-19 Disk control device, disk control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017019989A JP6900687B2 (ja) 2017-02-07 2017-02-07 ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム

Publications (2)

Publication Number Publication Date
JP2018128751A JP2018128751A (ja) 2018-08-16
JP6900687B2 true JP6900687B2 (ja) 2021-07-07

Family

ID=63037739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017019989A Active JP6900687B2 (ja) 2017-02-07 2017-02-07 ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム

Country Status (2)

Country Link
US (1) US10579268B2 (ja)
JP (1) JP6900687B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4257783B2 (ja) * 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
JP2008257572A (ja) * 2007-04-06 2008-10-23 Hitachi Ltd 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法
WO2011058821A1 (ja) 2009-11-11 2011-05-19 日本電気株式会社 ストレージシステム、ストレージプログラム更新方法、及びプログラム
US8863139B2 (en) * 2011-04-12 2014-10-14 Hitachi, Ltd. Management system and management method for managing a plurality of storage subsystems
US9313263B2 (en) * 2013-12-16 2016-04-12 Vmware, Inc. Assignment of applications in a virtual machine environment based on data access pattern
US20160364268A1 (en) * 2014-06-26 2016-12-15 Hitachi, Ltd. Computer system, management computer, and management method
US9977723B2 (en) * 2014-11-26 2018-05-22 Vmware, Inc. Workload selection and cache capacity planning for a virtual storage area network
US9983997B2 (en) * 2015-07-24 2018-05-29 Futurewei Technologies, Inc. Event based pre-fetch caching storage controller

Also Published As

Publication number Publication date
US20180225043A1 (en) 2018-08-09
JP2018128751A (ja) 2018-08-16
US10579268B2 (en) 2020-03-03

Similar Documents

Publication Publication Date Title
KR102456085B1 (ko) 로우 버퍼 충돌을 감소시키기 위한 동적 메모리 재매핑
US9652159B2 (en) Relocating data in tiered pool using multiple modes of moving data
US9971508B2 (en) Invoking input/output (I/O) threads on processors to demote tracks from a cache
KR100942740B1 (ko) 스케줄 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 스케줄 제어 방법
US10956069B2 (en) Positional indexing for a tiered data storage system
EP2784683B1 (en) Storage control program, storage control method, storage system and hierarchy control apparatus thereof
US9003087B2 (en) Compound storage system and storage control method
US11556391B2 (en) CPU utilization for service level I/O scheduling
CN108733585B (zh) 缓存系统及相关方法
US9817583B2 (en) Storage system and method for allocating virtual volumes based on access frequency
US10826848B2 (en) Balanced, opportunistic multicore I/O scheduling from non-SMP applications
US9465745B2 (en) Managing access commands by multiple level caching
JP6171430B2 (ja) コンピュータ装置と方法とプログラム
US10346070B2 (en) Storage control apparatus and storage control method
JP6900687B2 (ja) ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム
JP2015191604A (ja) 制御装置、制御プログラム、および制御方法
CN104182359A (zh) 一种缓存分配方法及装置
US11372560B2 (en) Utilization-efficient resource allocation
US8990523B1 (en) Storage apparatus and its data processing method
US20160313915A1 (en) Management apparatus, storage system, method, and computer readable medium
US9058113B2 (en) Storage region providing device, storage region providing method, and recording medium
US20140281343A1 (en) Information processing apparatus, program, and memory area allocation method
US10949256B2 (en) Thread-aware controller
US10430087B1 (en) Shared layered physical space
US10209888B2 (en) Computer and optimization method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210408

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210408

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210420

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210531

R150 Certificate of patent or registration of utility model

Ref document number: 6900687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350