JP2015055878A - Cache control device, cache control method, disk array device and controller of the same, and computer program - Google Patents
Cache control device, cache control method, disk array device and controller of the same, and computer program Download PDFInfo
- Publication number
- JP2015055878A JP2015055878A JP2013186845A JP2013186845A JP2015055878A JP 2015055878 A JP2015055878 A JP 2015055878A JP 2013186845 A JP2013186845 A JP 2013186845A JP 2013186845 A JP2013186845 A JP 2013186845A JP 2015055878 A JP2015055878 A JP 2015055878A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- controller
- attribute
- information
- priority
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000004590 computer program Methods 0.000 title claims description 10
- 238000004364 calculation method Methods 0.000 claims abstract description 90
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000010365 information processing Effects 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 abstract description 8
- 230000015556 catabolic process Effects 0.000 abstract 1
- 238000006731 degradation reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 3
- 230000002542 deteriorative effect Effects 0.000 description 3
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、複数のキャッシュの中から最適なキャッシュを選定すると共に、選定されたキャッシュに基づきキャッシュグループを構成する技術分野に関する。 The present invention relates to a technical field in which an optimal cache is selected from a plurality of caches and a cache group is configured based on the selected cache.
一般的に知られたディスクアレイ装置(以降、「ストレージシステム」とも記す)では、自装置のコンポーネントを冗長化すると共に、記憶するデータを二重化することにより当該データの信頼性及び耐障害性を高める技術が採用されている。 In a generally known disk array device (hereinafter, also referred to as “storage system”), the reliability of the data is increased and the fault tolerance is improved by making the components of the device redundant and by duplicating the data to be stored. Technology is adopted.
より具体的に、一例として、係る冗長化する技術としては、ディスクアレイ装置を制御する制御部と、係るデータを一時的に保持するキャッシュメモリ(以降、「キャッシュ」と称する)とを含むコントローラを二重化する技術が存在する。 More specifically, as an example, the redundancy technology includes a controller including a control unit that controls the disk array device and a cache memory (hereinafter referred to as “cache”) that temporarily stores the data. There is a technology for duplication.
さらに、この二重化された2つのコントローラに含まれるキャッシュの制御方法は、一方のコントローラに含まれるキャッシュをマスタ(以降、「キャッシュマスタ」と称する)、他方のコントローラに含まれるキャッシュをスレーブ(以降、「キャッシュスレーブ」と称する)として構成すると共に、これらキャッシュを制御するローカルキャッシュ方式が一般的に知られている。 Furthermore, the control method of the cache included in the two duplicated controllers is such that the cache included in one controller is a master (hereinafter referred to as “cache master”) and the cache included in the other controller is a slave (hereinafter referred to as “cache master”). A local cache system is generally known which is configured as a “cache slave”) and controls these caches.
ここで、キャッシュマスタとは、例えば、サーバ装置とディスクアレイ装置との間においてデータの書き込み(ライト)、または読み込み(リード)処理(以下、本願では「I/O(Input/Output)処理」とも記す)を実行するに際して主として利用されるキャッシュである。また、キャッシュスレーブは、キャッシュマスタに保持されたデータを二重化する際に利用されるキャッシュである。 Here, the cache master is, for example, data write (write) or read (read) processing (hereinafter referred to as “I / O (Input / Output) processing”) between the server device and the disk array device. This is a cache mainly used when executing The cache slave is a cache used when data held in the cache master is duplicated.
ローカルキャッシュ方式は、例えば、サーバ装置からデータの書き込み要求(以降、「I/O要求」とも記す)をディスクアレイ装置が受け付けた場合に、当該データを、キャッシュマスタ及びキャッシュスレーブに一時的に保持することによりI/O処理に要する時間を短縮すると共に、当該データを二重化することができる。 In the local cache method, for example, when a disk array device accepts a data write request (hereinafter also referred to as “I / O request”) from a server device, the data is temporarily held in a cache master and a cache slave. As a result, the time required for the I / O processing can be shortened and the data can be duplicated.
ここで、本願出願に先立って存在する関連技術として、例えば、特許文献1乃至特許文献3がある。
Here, as related technologies existing prior to the application of the present application, there are, for example,
特許文献1は、ディスクアレイ装置、ディスクアレイシステム及びキャッシュ制御方法に関する技術を開示する。特許文献1に開示されたディスクアレイ装置は、キャッシュを含むマスタコントローラと、バッファメモリ(以降、「バッファ」と称する)を含むスレーブコントローラとを備える。
係るスレーブコントローラは、サーバ装置からライトデータの書き込み要求を受信した場合に、そのライトデータをバッファに保持する。係るスレーブコントローラは、当該ライトデータをバッファに保持したことを示す識別情報を、受信した書き込み要求に付加する。さらに、係るスレーブコントローラは、識別情報を付加した書き込み要求と、ライトデータとを当該マスタコントローラに対して送信する。 When the slave controller receives a write data write request from the server device, the slave controller holds the write data in a buffer. The slave controller adds identification information indicating that the write data is held in the buffer to the received write request. Further, the slave controller transmits a write request to which the identification information is added and the write data to the master controller.
係るマスタコントローラは、書き込み要求とライトデータとを受信すると共に、受信したライトデータをキャッシュに保持する。当該マスタコントローラは、識別情報が付加された書き込み要求を、当該スレーブコントローラに対して送信する。係るスレーブコントローラは、書き込み要求を受信するのに応じて、バッファの属性をバッファからキャッシュに変更する。 The master controller receives the write request and the write data, and holds the received write data in the cache. The master controller transmits a write request to which the identification information is added to the slave controller. The slave controller changes the buffer attribute from the buffer to the cache in response to receiving the write request.
これにより、特許文献1に開示されたディスクアレイ装置は、一方のコントローラが他方のコントローラを制御するマスタ権限を持たないスレーブコントローラに対してライトデータの書き込みを要求された場合であっても、マスタコントローラとスレーブコントローラとのキャッシュ間において、ライトデータの一貫性を維持することができる。
As a result, the disk array device disclosed in
特許文献2は、アレイコントローラ、ディスクアレイ制御方法及びプログラムに関する技術を開示する。
係るアレイコントローラは、複数のディスクドライブにデータ及びそのデータの冗長データを分散して書き込むように制御するライト制御部と、複数のディスクドライブのうち、当該冗長データが書き込まれるディスクドライブのキャッシュに対してライトバックモードに設定するライトキャッシュ制御部とを備える。 The array controller includes a write control unit that controls to write data and redundant data of the data to a plurality of disk drives in a distributed manner, and a cache of the disk drive in which the redundant data is written among the plurality of disk drives. And a write cache control unit for setting the write back mode.
これにより、特許文献2に開示されたアレイコントローラは、ディスクアレイ装置においてデータの書き込みに要する時間を短縮することができる。
As a result, the array controller disclosed in
次に、特許文献3は、キャッシュ一貫性保証機能を有するストレージクラスタシステムに関する技術を開示する。係るストレージクラスタシステムは、複数の記憶デバイス制御装置と、その記憶デバイス制御装置によって管理される物理記憶デバイスとを備える。
Next,
係る複数の記憶デバイス制御装置は、外部装置からアクセス要求を受信するスレーブノードとして機能する記憶デバイス制御装置と、物理記憶デバイスを管理するマスタノードとして機能する記憶デバイス制御装置と、スレーブノードと当該アクセス要求に含まれるアクセスの対象範囲とを関連付けたディレクトリエントリを管理するディレクトリ管理ノードとして機能する記憶デバイス制御装置とを含む。 The plurality of storage device control apparatuses include a storage device control apparatus that functions as a slave node that receives an access request from an external apparatus, a storage device control apparatus that functions as a master node that manages a physical storage device, a slave node, and the access And a storage device control device that functions as a directory management node that manages a directory entry that associates an access target range included in the request.
係るスレーブノードは、外部装置からアクセス要求を受信した場合に、マスタノードに対してアクセス要求を転送する。当該スレーブノードは、受信したアクセス要求がリード要求を示す場合に、アクセス要求に対してマスタノードから転送されたデータを、キャッシュに保持する。 When the slave node receives an access request from an external device, the slave node transfers the access request to the master node. When the received access request indicates a read request, the slave node holds the data transferred from the master node in response to the access request in the cache.
一方で、当該スレーブノードは、受信したアクセス要求がライト要求を示す場合には、外部装置から転送されたデータをキャッシュに保持する。さらに、複数の記憶デバイス制御装置のうち何れかの記憶デバイス制御装置は、物理記憶デバイスに形成された仮想記憶デバイスに係るデータをライトする。 On the other hand, when the received access request indicates a write request, the slave node holds the data transferred from the external device in the cache. Further, any one of the plurality of storage device control apparatuses writes data related to the virtual storage device formed in the physical storage device.
このように、特許文献3に開示されたストレージクラスタシステムは、専用のハードウェアを用いることなくキャッシュ操作に伴う不要な処理を抑止すると共に、データの一貫性を保証することができる。
As described above, the storage cluster system disclosed in
ところで、2つのコントローラを備えるディスクアレイ装置において、そのコントローラに含まれるキャッシュに対してマスタ、スレーブ及びサブスレーブ等の属性を割り当てる方法は、複数のハードディスクドライブ等の物理記憶装置を、論理的に所定の単位に構成された記憶領域(以下、本願において「Rank」と称する)を識別可能なRank番号に応じて、当該キャッシュに対して属性を割り当てる方法が知られている。 By the way, in a disk array device having two controllers, a method for assigning attributes such as master, slave, and sub-slave to the cache included in the controller is that logical storage devices such as a plurality of hard disk drives are logically predetermined. There is known a method of assigning an attribute to the cache in accordance with a Rank number that can identify a storage area (hereinafter referred to as “Rank” in the present application) configured in units.
より具体的に、一例として、係る属性を割り当てる方法としては、Rank番号が偶数を表す場合に、一方のコントローラ(例えば、コントローラ#0)に含まれるキャッシュをキャッシュマスタとすると共に、他方のコントローラ(例えば、コントローラ#1)に含まれるキャッシュをキャッシュスレーブとする。 More specifically, as an example, as a method of assigning such an attribute, when the Rank number represents an even number, the cache included in one controller (for example, controller # 0) is used as a cache master and the other controller ( For example, a cache included in the controller # 1) is a cache slave.
また、係る属性を割り当てる方法は、Rank番号が奇数を表す場合に、一方のコントローラ(コントローラ#1)に含まれるキャッシュをキャッシュマスタとすると共に、他方のコントローラ(コントローラ#0)に含まれるキャッシュをキャッシュスレーブとする。 In addition, when the Rank number represents an odd number, the attribute is assigned to the cache included in one controller (controller # 1) as a cache master and the cache included in the other controller (controller # 0). A cache slave.
上述した説明では、2つのコントローラにおいて、ローカルキャッシュ方式を採用した場合について説明した。以下の説明では、例えば、4つのコントローラを備えるディスクアレイ装置において、ローカルキャッシュ方式を採用した場合について説明する。 In the above description, the case where the local cache method is adopted in the two controllers has been described. In the following description, for example, a case where a local cache method is adopted in a disk array device including four controllers will be described.
より具体的に、一例として、係る方式は、4つのコントローラのうち2つのコントローラ毎にペアを構成する。さらに、係る方式は、ペアを構成した2つのコントローラにおいて、一方のコントローラに含まれるキャッシュをキャッシュマスタとし、他方のコントローラに含まれるキャッシュをキャッシュスレーブとする。さらに、係る方式は、キャッシュマスタとキャッシュスレーブとのペア(以降、「キャッシュペア」と称する)を構成する。これにより、係る方式は、2つのキャッシュペアを構成することができる。 More specifically, as an example, such a system forms a pair for every two controllers of the four controllers. Further, in such a system, in two controllers constituting a pair, a cache included in one controller is a cache master, and a cache included in the other controller is a cache slave. Further, such a system constitutes a pair of a cache master and a cache slave (hereinafter referred to as “cache pair”). As a result, this method can form two cache pairs.
また、構成したキャッシュペアに対してRankを割り当てる方法としては、Rank番号が偶数を表す場合に、一方のキャッシュペア(例えば、キャッシュペア#0)に割り当てることとする。また、係るRankを割り当てる方法は、Rank番号が奇数を表す場合に、他方のキャッシュペア(例えば、キャッシュペア#1)に割り当てることとする。 In addition, as a method of assigning Rank to the configured cache pair, when the Rank number represents an even number, it is assumed that assignment is made to one cache pair (for example, cache pair # 0). In addition, as a method of assigning the Rank, when the Rank number represents an odd number, the other Rank is assigned to the other cache pair (for example, cache pair # 1).
係るRankを割り当てる方法では、例えば、一方のキャッシュペア(キャッシュペア#0)においてキャッシュの属性(マスタ、またはスレーブ)が既に決定している場合に、他方のキャッシュペア(キャッシュペア#1)において、そのキャッシュをキャッシュマスタ、またはキャッシュスレーブとして利用することができない。 In the method of assigning such Rank, for example, when the cache attribute (master or slave) has already been determined in one cache pair (cache pair # 0), in the other cache pair (cache pair # 1), The cache cannot be used as a cache master or cache slave.
そのため、係るRankを割り当てる方法は、一方のキャッシュペア(キャッシュペア#0)においてキャッシュの属性(マスタ、またはスレーブ)が既に決定している場合に、他方のキャッシュペア(キャッシュペア#1)において、そのキャッシュの属性をキャッシュサブスレーブとする。 Therefore, the method of assigning such Rank is that when the cache attribute (master or slave) has already been determined in one cache pair (cache pair # 0), the other cache pair (cache pair # 1) The cache attribute is the cache sub-slave.
図8は、4つのコントローラの構成と、4つのコントローラに含まれるキャッシュの属性とを概念的に例示する図である。 FIG. 8 is a diagram conceptually illustrating the configuration of four controllers and cache attributes included in the four controllers.
図8において、物理ディスクアレイコントローラ(Disk_Array_Controller:以下、本願では「DAC」と称する)グループ#0(第1物理DACグループ201)は、同一の筐体内にコントローラ#0(第1コントローラ205)とコントローラ#2(第3コントローラ207)とを備える。物理DACグループ#1(第2物理DACグループ202)は、同一の筐体内にコントローラ#1(第2コントローラ206)とコントローラ#3(第4コントローラ208)とを備える。 In FIG. 8, a physical disk array controller (Disk_Array_Controller: hereinafter referred to as “DAC”) group # 0 (first physical DAC group 201) includes controller # 0 (first controller 205) and controller in the same casing. # 2 (third controller 207). The physical DAC group # 1 (second physical DAC group 202) includes a controller # 1 (second controller 206) and a controller # 3 (fourth controller 208) in the same casing.
また、論理DACグループ#0(第1論理DACグループ203)は、第1コントローラ205と第2コントローラ206とを備える。論理DACグループ#1(第2論理DACグループ204)は、第3コントローラ207と第4コントローラ208とを備える。
The logical DAC group # 0 (first logical DAC group 203) includes a
図8において、キャッシュペア#0は、第1コントローラ205のキャッシュ#0(第1キャッシュ209)をキャッシュマスタ及び第2コントローラ206のキャッシュ#1(第2キャッシュ210)をキャッシュスレーブによって構成する。第3コントローラ207のキャッシュ#2(第3キャッシュ211)と第4コントローラ208のキャッシュ#3(第4キャッシュ212)とは、キャッシュペア#0においてキャッシュサブスレーブとすることとする。
In FIG. 8, the
また、キャッシュペア#1は、第3キャッシュ211をキャッシュマスタ及び第4キャッシュ212をキャッシュスレーブによって構成する。第1キャッシュ209と第2キャッシュ210とは、キャッシュペア#1においてキャッシュサブスレーブとすることとする。
In the
図8において例示した構成を有するディスクアレイ装置においては、例えば、サーバ装置からI/O要求を受け付けた場合に、キャッシュの属性(マスタ、スレーブ及びサブスレーブ)によって、レスポンスタイム(応答時間)が異なる。 In the disk array device having the configuration illustrated in FIG. 8, for example, when an I / O request is received from the server device, the response time (response time) varies depending on the cache attributes (master, slave, and subslave). .
より具体的に、一例として、サーバ装置からI/O要求を受け付けたディスクアレイ装置における動作について、図9(図9A、図9B、図9C、図9D)を参照して説明する。 More specifically, as an example, the operation of the disk array device that has received an I / O request from the server device will be described with reference to FIG. 9 (FIGS. 9A, 9B, 9C, and 9D).
図9Aは、図8に示すキャッシュマスタを含む第1コントローラ205がサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。
FIG. 9A is a sequence diagram illustrating the flow of processing in the disk array device when the
図9Aにおいて、第1コントローラ205がサーバ装置からライト要求を受け付けた場合に、第1コントローラ205は、第1キャッシュ209にデータの書き込み後に、第2コントローラ206に対して当該データを送信する。第2コントローラ206は、第1コントローラ205から当該データを受信すると共に、そのデータを第2キャッシュ210に書き込む。第2コントローラ206は、第2キャッシュ210に当該データの書き込みが完了したことを第1コントローラ205に通知する。即ち、図9Aにおいて、キャッシュマスタを含む第1コントローラ205がサーバ装置からライト要求を受け付けた場合に、コントローラ間のデータ通信は、1回となる。また、コントローラ間の通信は、2回となる。
In FIG. 9A, when the
図9Bは、図8に示すキャッシュサブスレーブを含む第3コントローラ207がサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。
FIG. 9B is a sequence diagram illustrating the flow of processing in the disk array device when the
図9Bにおいて、第3コントローラ207がサーバ装置からライト要求を受け付けた場合に、第3コントローラ207は、主としてライト処理を実行することができないため、データを第1コントローラ205に対して送信する。第1コントローラ205は、第3コントローラ207からデータを受信すると共に、そのデータを第1キャッシュ209に書き込む。
In FIG. 9B, when the
さらに、第1コントローラ205は、第2コントローラ206に対して当該データを送信する。第2コントローラ206は、第1コントローラ205から当該データを受信すると共に、そのデータを第2キャッシュ210に書き込む。第2コントローラ206は、第2キャッシュ210に当該データの書き込みが完了したことを第1コントローラ205に通知する。第1コントローラ205は、当該データの書き込みが完了したことを第3コントローラ207に通知する。即ち、図9Bにおいて、キャッシュサブスレーブを含む第3コントローラ207がサーバ装置からライト要求を受け付けた場合に、コントローラ間のデータ通信は、2回となる。また、コントローラ間の通信は、4回となる。
Further, the
図9Cは、図8に示すキャッシュスレーブを含む第2コントローラ206がサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。
FIG. 9C is a sequence diagram illustrating the flow of processing in the disk array device when the
図9Cにおいて、第2コントローラ206がサーバ装置からライト要求を受け付けた場合に、第2コントローラ206は、主としてライト処理を実行することができないため、データを第1コントローラ205に対して送信する。第1コントローラ205は、第2コントローラ206から当該データを受信すると共に、そのデータを第1キャッシュ209に書き込む。
In FIG. 9C, when the
さらに、第1コントローラ205は、第2コントローラ206に対して当該データの書き込み要求を送信する。第2コントローラ206は、第1コントローラ205から当該データの書き込み要求を受信すると共に、当該データを第2キャッシュ210に書き込む。第2コントローラ206は、第2キャッシュ210に当該データの書き込みが完了したことを第1コントローラ205に通知する。第1コントローラ205は、当該データの書き込みが完了したことを第2コントローラ206に通知する。即ち、図9Cにおいて、キャッシュスレーブを含む第2コントローラ206がサーバ装置からライト要求を受け付けた場合に、コントローラ間のデータ通信は、1回となる。また、コントローラ間の通信は、4回となる。
Further, the
図9Dは、図8に示すキャッシュサブスレーブを含む第4コントローラ208がサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。
FIG. 9D is a sequence diagram illustrating the flow of processing in the disk array device when the
図9Dにおいて、第4コントローラ208がサーバ装置からライト要求を受け付けた場合に、第4コントローラ208は、主としてライト処理を実行することができないため、データを第1コントローラ205に対して送信する。即ち、図9A乃至図9Cにおいて説明したように図9Dにおいて、キャッシュサブスレーブを含む第4コントローラ208がサーバ装置からライト要求を受け付けた場合に、コントローラ間のデータ通信は、2回となる。また、コントローラ間の通信は、4回となる。
In FIG. 9D, when the
このように、ライト要求を受け付けたコントローラに含まれるキャッシュの属性に応じて、コントローラ間における通信及びデータ通信の回数は、異なる。即ち、キャッシュサブスレーブを含むコントローラがサーバ装置からライト要求を受け付けた場合に、ディスクアレイ装置の性能は、劣化する。 As described above, the number of communication and data communication between controllers differs according to the attribute of the cache included in the controller that has accepted the write request. That is, when the controller including the cache sub-slave receives a write request from the server device, the performance of the disk array device deteriorates.
そのため、例えば、ユーザは、コントローラに含まれるキャッシュの属性を考慮してサーバ装置とディスクアレイ装置のコントローラとを接続する必要がある。即ち、ユーザにとって係る接続作業は、煩雑となる虞がある。 For this reason, for example, the user needs to connect the server device and the controller of the disk array device in consideration of the attribute of the cache included in the controller. That is, the connection work for the user may be complicated.
また、例えば、ディスクアレイ装置において、特定のサーバ装置からのI/O要求を優先度(優先順位)に応じて、優先的に処理を実行する場合に、ユーザは、当該特定のサーバ装置とキャッシュマスタ、またはキャッシュスレーブを含むコントローラとを接続する必要がある。しかしながら、キャッシュマスタ、またはキャッシュスレーブを含むコントローラと、他のサーバ装置とが既に接続されている場合に、ユーザは、既に接続されたサーバ装置、コントローラ及び特定のサーバ装置を改めて接続する必要がある。 Further, for example, in a disk array device, when an I / O request from a specific server device is preferentially executed according to the priority (priority order), the user can execute a cache with the specific server device. It is necessary to connect to the controller including the master or cache slave. However, when a controller including a cache master or a cache slave is already connected to another server device, the user needs to reconnect the already connected server device, the controller, and the specific server device. .
上述した特許文献1乃至特許文献3には、二重化された2つのコントローラにおいてキャッシュを制御する方法が記載されているに留まり、例えば、サーバ装置とディスクアレイ装置との間において、I/O処理に関する状態や情報が動的に変化する場合にキャッシュを制御することについて、考慮されておらず何ら述べられていない。また、特許文献1乃至特許文献3には、4つ以上のコントローラを備えるディスクアレイ装置においてキャッシュを制御する場合について、考慮されておらず何ら述べられていない。
即ち、特許文献1乃至特許文献3では、サーバ装置とディスクアレイ装置間のI/O負荷や優先度が動的に変化した場合に、キャッシュの属性を適切に変更できない。このため、ディスクアレイ装置は、サーバ装置との間において、I/O処理をすることが安定的に行えないだけでなく、処理速度の低下を招く虞がある。
In other words, in
本発明の主たる目的は、I/O処理に関する状態や情報が動的に変化した場合であっても、ディスクアレイ装置の性能が劣化するのを抑止することが可能なキャッシュ制御装置等を提供することを主たる目的とする。 A main object of the present invention is to provide a cache control device and the like that can prevent the performance of a disk array device from deteriorating even when a state or information related to I / O processing changes dynamically. The main purpose.
上記の課題を達成すべく、本発明に係るキャッシュ制御装置は、以下の構成を備えることを特徴とする。 In order to achieve the above object, a cache control device according to the present invention has the following configuration.
即ち、本発明に係るキャッシュ制御装置は、
ディスクアレイ装置を制御する複数のコントローラの構成情報、前記ディスクアレイ装置にI/O要求を発行する情報処理装置におけるI/O負荷を示す負荷情報及び前記情報処理装置における優先度を示す優先度情報に基づき所定の演算によって、該複数のコントローラに含まれるそれぞれのキャッシュのうち、マスタ及びスレーブという属性をもつキャッシュによって構成されたキャッシュグループを対象として、前記それぞれのキャッシュの優先値を算出する優先値算出部と、
前記算出した優先値に応じて、前記それぞれのキャッシュの属性を判定すると共に、前記それぞれのキャッシュの属性を、該判定した属性に変更するキャッシュ属性制御部と、
を備えることを特徴とする。
That is, the cache control device according to the present invention is
Configuration information of a plurality of controllers that control the disk array device, load information that indicates an I / O load in an information processing device that issues an I / O request to the disk array device, and priority information that indicates a priority in the information processing device A priority value for calculating a priority value of each cache for a cache group constituted by caches having master and slave attributes among the respective caches included in the plurality of controllers by a predetermined calculation based on A calculation unit;
A cache attribute control unit that determines the attribute of each of the caches according to the calculated priority value, and changes the attribute of each of the caches to the determined attribute;
It is characterized by providing.
或いは、同目的は、上記に示すキャッシュ制御装置を含むディスクアレイ装置のコントローラ、またはディスクアレイ装置によっても達成される。 Alternatively, this object can also be achieved by a controller of a disk array device including the cache control device described above or a disk array device.
また、同目的を達成すべく、本発明に係るキャッシュ制御方法は、以下の構成を備えることを特徴とする。 In order to achieve the same object, the cache control method according to the present invention is characterized by having the following configuration.
即ち、本発明に係るキャッシュ制御方法は、
ディスクアレイ装置を制御する複数のコントローラの構成情報、前記ディスクアレイ装置にI/O要求を発行する情報処理装置におけるI/O負荷を示す負荷情報及び前記情報処理装置における優先度を示す優先度情報に基づき所定の演算によって、該複数のコントローラに含まれるそれぞれのキャッシュのうち、マスタ及びスレーブという属性をもつキャッシュによって構成されたキャッシュグループを対象として、前記それぞれのキャッシュの優先値を算出し、
前記算出した優先値に応じて、前記それぞれのキャッシュの属性を判定すると共に、前記それぞれのキャッシュの属性を、該判定した属性に変更する、
ことを特徴とする。
That is, the cache control method according to the present invention is:
Configuration information of a plurality of controllers that control the disk array device, load information that indicates an I / O load in an information processing device that issues an I / O request to the disk array device, and priority information that indicates a priority in the information processing device Based on a predetermined calculation, a cache group configured by caches having master and slave attributes among the caches included in the plurality of controllers is calculated, and a priority value of each cache is calculated.
In accordance with the calculated priority value, the attribute of each cache is determined, and the attribute of each cache is changed to the determined attribute.
It is characterized by that.
尚、同目的は、上記の各構成を有するキャッシュ制御装置及びキャッシュ制御方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、読み取り可能な記憶媒体によっても達成される。 This object is also achieved by a computer program for realizing the cache control device and the cache control method having the above-described configurations by a computer, and a readable storage medium in which the computer program is stored. .
本発明によれば、I/O処理に関する状態や情報が動的に変化した場合であっても、ディスクアレイ装置の性能が劣化するのを抑止することが可能なキャッシュ制御装置等を提供することができる。 According to the present invention, it is possible to provide a cache control device and the like that can prevent the performance of a disk array device from deteriorating even when a state or information related to I / O processing changes dynamically. Can do.
以下、本発明の実施形態について図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<第1の実施形態>
図1は、本発明の第1の実施形態におけるキャッシュ制御装置1の構成を示すブロック図である。
<First Embodiment>
FIG. 1 is a block diagram showing the configuration of the
図1において、キャッシュ制御装置1は、優先値算出部2と、キャッシュ属性制御部3とを備える。
In FIG. 1, the
より具体的に、優先値算出部2は、例えば、ディスクアレイ装置を制御する複数のコントローラの構成情報を求めると共に、求めた構成情報、負荷情報101及び優先度情報102に基づき所定の演算によって、キャッシュグループを対象として、それぞれの当該コントローラに含まれるキャッシュの優先値Zを、所定の時間周期毎に算出する。優先値算出部2は、後述するように、例えば、係る所定の演算をキャッシュグループ毎に行ってもよい。優先値算出部2は、算出した優先値Zをキャッシュ属性制御部3に対して送信する。
More specifically, the priority
本実施形態おいて、キャッシュとは、例えば、一般的に知られたディスクアレイ装置を構成するコントローラに含まれるキャッシュを示す。 In the present embodiment, the cache indicates, for example, a cache included in a controller constituting a generally known disk array device.
また、キャッシュグループは、複数のコントローラに含まれるキャッシュによる冗長構成を示す。キャッシュグループは、当該複数のコントローラに含まれるキャッシュのうち、マスタ及びスレーブという種類の属性をもつキャッシュによって構成される。 The cache group indicates a redundant configuration using caches included in a plurality of controllers. The cache group is constituted by caches having attributes of the master and slave types among the caches included in the plurality of controllers.
より具体的に、キャッシュグループは、I/O処理を実行するに際して主として利用されるキャッシュをキャッシュマスタと、キャッシュマスタに保持されたデータを二重化する際に利用されるキャッシュをキャッシュスレーブとを含む。また、本実施形態において、キャッシュマスタ及びキャッシュスレーブ以外のキャッシュは、キャッシュサブスレーブと称することとする。このキャッシュサブスレーブは、当該複数のコントローラに含まれるキャッシュのうち、上記のキャッシュマスタ及びキャッシュスレーブとして利用できないキャッシュである。 More specifically, the cache group includes a cache master that is used mainly when executing I / O processing, and a cache slave that is used when data held in the cache master is duplicated. In this embodiment, caches other than the cache master and the cache slave are referred to as cache sub-slave. The cache sub-slave is a cache that cannot be used as the cache master and the cache slave among the caches included in the plurality of controllers.
キャッシュを含むコントローラは、Rankに対するI/O処理を制御する制御部を有する。尚、以下の説明において、説明の便宜上、ここでは、Rankに対するI/O処理を主として制御する当該制御部をRankマスタ、他方の制御部をRankスレーブと称する(以下、各実施形態においても同様)。 The controller including the cache has a control unit that controls the I / O processing for the Rank. In the following description, for convenience of explanation, the control unit that mainly controls the I / O processing for the Rank is referred to as a Rank master, and the other control unit is referred to as a Rank slave (the same applies to the following embodiments). .
また、Rankとは、例えば、複数のハードディスクドライブ等の物理記憶装置を、論理的に所定の単位に構成された記憶領域(以降、単に「記憶領域」とも称する)を表す。 The Rank represents a storage area (hereinafter, also simply referred to as “storage area”) in which physical storage devices such as a plurality of hard disk drives are logically configured in a predetermined unit.
尚、優先値算出部2がコントローラの構成情報を求める技術自体は、現在では一般的な技術を採用することができる。このため、本実施形態において、係る構成情報を求める技術に関する詳細な説明は省略する(以下、各実施形態においても同様)。
Note that as the technique for the priority
負荷情報101は、キャッシュグループに関連付けられた制御対象であるRankに対してI/O要求を発行するところのそれぞれのサーバ装置(以降、「情報処理装置」とも記す)における負荷(つまり、I/O負荷)を示す情報を含む。
The
優先度情報102は、キャッシュグループに関連付けられた制御対象であるRankに対してI/O要求を発行するところのそれぞれのサーバ装置における優先度を示す情報を含む。
The
ここで、優先度とは、サーバ装置からRankに対して発行されたI/O要求を優先的に実行可能なように設定された情報である。 Here, the priority is information set so that an I / O request issued from the server apparatus to the Rank can be preferentially executed.
構成情報は、優先値Zの算出対象となるキャッシュの冗長構成を判定した結果を示す情報と、優先値Zの算出対象となるキャッシュを含むコントローラにおけるI/O処理を制御する制御部の属性を判定した結果(つまり、コントローラにRankマスタ、またはRankスレーブを含むか否か)を示す情報とを含む。 The configuration information includes information indicating the result of determining the redundant configuration of the cache whose priority value Z is to be calculated, and the attribute of the control unit that controls the I / O processing in the controller including the cache whose priority value Z is to be calculated. Information indicating a result of the determination (that is, whether or not the controller includes a Rank master or a Rank slave).
より具体的に、一例として、係る冗長構成を示す情報とは、キャッシュグループにおいて、優先値Zの算出対象となるキャッシュを含むコントローラと同一筐体内に存在する当該コントローラと異なる他のコントローラに含まれたキャッシュと、優先値Zの算出対象となるキャッシュとの冗長性を判定した結果を示す情報である。 More specifically, as an example, the information indicating the redundant configuration is included in another controller that is different from the controller in the same casing as the controller including the cache for which the priority value Z is calculated in the cache group. This is information indicating the result of determining the redundancy between the cache and the cache whose priority value Z is to be calculated.
キャッシュ属性制御部3は、優先値算出部2から受信したキャッシュグループ毎に算出されたそれぞれのキャッシュの優先値Zに応じて、キャッシュグループ毎に当該キャッシュの属性(マスタ、スレーブ及びサブスレーブ)を判定すると共に、その判定結果に基づいて、当該キャッシュの属性を変更する。
The cache
以下の説明において、より具体的に、本実施形態におけるキャッシュ制御装置1の動作について説明する。
In the following description, the operation of the
図2は、本発明の第1の実施形態におけるキャッシュ制御装置1が行う動作を示すフローチャートである。係るフローチャートに沿ってキャッシュ制御装置1の動作手順を説明する。
FIG. 2 is a flowchart showing operations performed by the
ステップS1:
優先値算出部2は、コントローラの構成情報を求めると共に、求めた構成情報と負荷情報101及び優先度情報102に基づき所定の演算によって、キャッシュグループ毎に、それぞれのコントローラに含まれるキャッシュの優先値Zを算出する。優先値算出部2は、算出した優先値Zをキャッシュ属性制御部3に対して送信する。
Step S1:
The priority
より具体的に、一例として、ここでは、優先値Zの計算方法について説明する。本実施形態において、優先値算出部2は、優先値Zを、例えば、以下の式(1)によって求める。
More specifically, as an example, a method for calculating the priority value Z will be described here. In the present embodiment, the priority
式(1)において、各パラメータは、以下の通りである。 In equation (1), each parameter is as follows.
・p:優先値Zの算出対象となるキャッシュを含むキャッシュグループを識別可能なキャッシュグループ番号、
・x:優先値Zの算出対象となるキャッシュを含むコントローラを識別可能なコントローラ番号、
・m:キャッシュグループpに関連付けられた制御対象であるRank数、
・n:キャッシュグループpを含む1つ以上のキャッシュグループに関連付けられた制御対象であるRankに対してI/O要求を発行するサーバ装置数(全てのサーバ装置数)、
・Aki:キャッシュグループpに関連付けられた制御対象であるRankiに対してI/O要求を発行するサーバ装置kにおける優先度、
・Bki:キャッシュグループpに関連付けられた制御対象であるRankiに対してI/O要求を発行するサーバ装置kにおけるI/O負荷、
・Cx:キャッシュグループpにおいて、コントローラxと同一の筐体内に存在するコントローラxと異なる他のコントローラに含まれたキャッシュと、優先値Zの算出対象となるキャッシュとの冗長性を判定した結果を示す値、及び
・Dx:コントローラxにおけるI/O処理を制御する制御部の属性を判定した結果を示す値である。
P: a cache group number that can identify a cache group including a cache whose priority value Z is to be calculated,
X: a controller number that can identify a controller including a cache whose priority value Z is to be calculated
M: Number of Ranks to be controlled associated with the cache group p ,
N: the number of server devices (the number of all server devices) that issues an I / O request to a Rank that is a control target associated with one or more cache groups including the cache group p ,
A ki : the priority in the server device k that issues an I / O request to Rank i that is the control target associated with the cache group p ,
B ki : I / O load in the server device k that issues an I / O request to Rank i that is a control target associated with the cache group p ,
· C x: results in a cache group p, determines a cache included in a different other controllers controllers x that present in the same housing and controller x, redundancy cache made subject to calculation of priority values Z D x : A value indicating the result of determining the attribute of the control unit that controls the I / O processing in the controller x .
より具体的に、(1)式において、要素Aは、キャッシュグループpに関連付けられた全てのRankに対してI/O要求を発行する全てのサーバ装置における優先度の総和となる。また、要素Bは、キャッシュグループpに関連付けられた全てのRankに対してI/O要求を発行する全てのサーバ装置における負荷(つまり、I/O負荷)の総和となる。 More specifically, in equation (1), element A is the sum of priorities in all server apparatuses that issue I / O requests to all Ranks associated with the cache group p . Element B is the sum of loads (that is, I / O loads) in all server apparatuses that issue I / O requests to all Ranks associated with the cache group p .
さらに、Cxは、優先値Zの算出対象となるキャッシュを含むキャッシュグループpにおいて、コントローラxと同一の筐体内のコントローラxと異なる他のコントローラ(つまり、他のコントローラ)に含まれたキャッシュの属性がキャッシュマスタ、またはキャッシュスレーブの何れかの場合に、値を「0」、一方で、キャッシュマスタ、またはキャッシュスレーブの何れかでない場合に、値を「1」とする。ここで、コントローラxと同一の筐体内のコントローラxと異なる他のコントローラとは、優先値Zの算出対象となるキャッシュを含むキャッシュグループpにおいて、コントローラxを含む物理DACグループ(DAC筐体)を構成する他のコントローラである。 Furthermore, C x is the cache group p including a cache as a calculation target priority value Z, the same controller x of housing controllers x and another controller different (i.e., another controller) of cash contained in When the attribute is either the cache master or the cache slave, the value is “0”. On the other hand, when the attribute is not the cache master or the cache slave, the value is “1”. Here, and in another controller different controllers x of the same housing and the controller x, in the cache group p including a cache as a calculation target of priority values Z, physical DAC group including a controller x a (DAC housing) It is another controller to configure.
これにより、キャッシュ制御装置1は、キャッシュグループpにおいて、コントローラxと同一の筐体内にキャッシュマスタとキャッシュスレーブとを含む構成になることを抑制することができる。
Thereby, the
また、Dxは、コントローラxにおけるI/O処理を制御する制御部が主として制御するマスタ(Rankマスタ)を表す場合に、値を「2」、スレーブ(Rankスレーブ)を表す場合に、値を「1」、マスタ、またはスレーブでない場合には、値を「0」とする。 Further, D x represents a master (Rank master) that is mainly controlled by a control unit that controls I / O processing in the controller x , and a value of D x represents a slave (Rank slave). If it is not “1”, master or slave, the value is “0”.
尚、α、β、γは、所定のパラメータである。所定のパラメータ(α、β、γ)は、例えば、ユーザによって任意に決める構成を採用することができる。 Α, β, and γ are predetermined parameters. For the predetermined parameters (α, β, γ), for example, a configuration arbitrarily determined by the user can be adopted.
ステップS2:
キャッシュ属性制御部3は、優先値算出部2から受信したキャッシュグループ毎に算出されたそれぞれのキャッシュの優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含むコントローラとキャッシュグループとを求める。
Step S2:
The cache
尚、上述した本実施形態では、説明の便宜上、一例として、キャッシュ属性制御部3は、キャッシュグループ毎に算出されたそれぞれのキャッシュの優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含むコントローラとキャッシュグループとを求める構成を例に説明した。
In the embodiment described above, for convenience of explanation, as an example, the cache
しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ属性制御部3は、例えば、キャッシュグループ毎に算出されたそれぞれのキャッシュの優先値Zの中から、最も小さい値を示す優先値Zに対応するキャッシュを含むコントローラとキャッシュグループとを求める構成を採用してもよい。
However, the embodiment according to the present invention is not limited to such a configuration. For example, the cache
この場合に、キャッシュ属性制御部3は、最も小さい値を示す優先値Zに対応するキャッシュをキャッシュサブスレーブに決定する構成を採用することができる。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない(以下、各実施形態においても同様)。
In this case, the cache
ステップS3:
キャッシュ属性制御部3は、求めたキャッシュグループにおいて、既に属性がマスタ(つまり、キャッシュマスタ)に決定しているキャッシュが存在するか否か(つまり、キャッシュの有無)を判別する。
Step S3:
The cache
ステップS3において「YES」:
キャッシュ属性制御部3は、求めたキャッシュグループにおいて、既に属性がキャッシュマスタに決定しているキャッシュの有無を判別した結果、既にキャッシュマスタに決定したキャッシュが有ると判別した場合に、処理をステップS5に進める。
“YES” in step S3:
When the cache
ステップS3において「NO」:
キャッシュ属性制御部3は、求めたキャッシュグループにおいて、既に属性がキャッシュマスタに決定しているキャッシュの有無を判別した結果、既にキャッシュマスタに決定したキャッシュが無いと判別した場合に、処理をステップS4に進める。
“NO” in step S3:
If the cache
ステップS4:
キャッシュ属性制御部3は、ステップS2において求めたコントローラに含まれるキャッシュの属性を、求めたキャッシュグループにおいてマスタ(つまり、キャッシュマスタ)に決定する。キャッシュ属性制御部3は、処理をステップS7に進める。
Step S4:
The cache
ステップS5:
キャッシュ属性制御部3は、ステップS2において求めたコントローラに含まれたキャッシュの属性を、求めたキャッシュグループにおいてスレーブ(つまり、キャッシュスレーブ)に決定する。
Step S5:
The cache
ステップS6:
キャッシュ属性制御部3は、求めたキャッシュグループにおいて、キャッシュマスタ及びキャッシュスレーブに決定したキャッシュを含むコントローラと異なる他のコントローラに含まれるキャッシュの属性をサブスレーブ(つまり、キャッシュサブスレーブ)に決定する。即ち、キャッシュ属性制御部3は、属性の決定していないキャッシュの属性をサブスレーブに決定する。
Step S6:
In the obtained cache group, the cache
ステップS7:
キャッシュ属性制御部3は、求めたキャッシュグループと異なる他のキャッシュグループにおいて、求めたコントローラに含まれるキャッシュの属性を、サブスレーブに決定する。
Step S7:
The cache
ステップS8:
キャッシュ属性制御部3は、求めたキャッシュグループを含む1つ以上のキャッシュグループ毎にそれぞれのキャッシュの属性が全て決定したか否かを判別する。
Step S8:
The cache
ステップS8において「YES」:
キャッシュ属性制御部3は、キャッシュグループ毎にそれぞれのキャッシュの属性が全て決定したか否かを判別した結果、係るキャッシュの属性が決定したと判別した場合に、処理をステップS10に進める。
“YES” in step S8:
As a result of determining whether or not all the cache attributes have been determined for each cache group, the cache
ステップS8において「NO」:
キャッシュ属性制御部3は、キャッシュグループ毎にそれぞれのキャッシュの属性が全て決定しているか否かを判別した結果、係るキャッシュの属性が決定していないと判別した場合に、処理をステップS9に進める。
“NO” in step S8:
If the cache
ステップS9:
優先値算出部2は、コントローラの構成情報を求めると共に、求めた構成情報、負荷情報101及び優先度情報102に基づき所定の演算によって、キャッシュグループ毎に、それぞれのコントローラに含まれるキャッシュの中から属性が決定していないキャッシュの優先値Zを算出する。優先値算出部2は、算出した優先値Zをキャッシュ属性制御部3に対して送信すると共に、処理をステップS2に戻す。
Step S9:
The priority
尚、上述した本実施形態では、説明の便宜上、一例として、優先値算出部2は、ステップS9において、キャッシュグループ毎に、それぞれのコントローラに含まれるキャッシュの中から属性が決定していないキャッシュの優先値Zを算出する構成を例に説明した。
In the above-described embodiment, for convenience of explanation, as an example, the priority
しかしながら本発明に係る実施形態は、係る構成に限定されない。優先値算出部2は、ステップS1において説明したキャッシュグループ毎に、それぞれのコントローラに含まれるキャッシュの優先値Zを算出する構成を採用してもよい。
However, the embodiment according to the present invention is not limited to such a configuration. The priority
ステップS10:
キャッシュ属性制御部3は、決定結果に基づいて、キャッシュの属性を変更する。
Step S10:
The cache
尚、上述した本実施形態では、説明の便宜上、一例として、キャッシュ制御装置1は、所定の時間周期毎に上述した処理を実行する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ制御装置1は、優先値Zに優先値Zを算出した時刻を示すパラメータを付加すると共に、付加された時刻に応じて、上述した処理を実行する構成を採用してもよい。これにより、キャッシュ制御装置1は、キャッシュの属性を変更してからあまり時間が経過していない場合に、上述した処理を実行しないように制御することができる。
In the above-described embodiment, as an example, for the sake of convenience of explanation, the
また、優先値算出部2は、優先値Zの増減値を算出すると共に、その算出した増減値が所定の閾値を超えた場合に、上述した処理を実行する構成を採用してもよい。これにより、キャッシュ制御装置1は、例えば、負荷情報101に含まれたI/O負荷が大幅に増減した場合に、最適なキャッシュの属性を判定することができる。
In addition, the priority
このように本実施の形態に係るキャッシュ制御装置1によれば、I/O処理に関する状態や情報が動的に変化した場合であっても、ディスクアレイ装置の性能が劣化するのを抑止することができる。その理由は、以下に述べる通りである。
As described above, according to the
即ち、キャッシュ制御装置1は、I/O処理に関する状態や情報に応じて、複数のキャッシュの中から最適なキャッシュの属性を判定すると共に、判定したキャッシュによりキャッシュグループを構成することができるからである。
In other words, the
より具体的に、キャッシュ制御装置1の優先値算出部2は、例えば、サーバ装置とキャッシュ制御装置1を有するディスクアレイ装置間における負荷情報101、優先度情報102と、コントローラの構成情報に基づき所定の演算によって、キャッシュの優先値Zを算出する。キャッシュ属性制御部3は、優先値算出部2が算出した優先値Zに応じて、キャッシュの属性(マスタ、スレーブ及びサブスレーブ)を判定すると共に、その判定結果に基づいて、当該キャッシュの属性を変更することができるからである。即ち、キャッシュ制御装置1は、キャッシュ制御装置1は、サーバ装置とディスクアレイ装置間において、I/O負荷や優先度、ディスクアレイ装置の構成情報に応じて、キャッシュの属性を動的に変更することができるからである。
More specifically, the priority
これにより、例えば、キャッシュ制御装置1を有するディスクアレイ装置は、キャッシュの属性(マスタ、スレーブ及びサブスレーブ)よる性能の劣化を抑制することができる。
Thereby, for example, the disk array device having the
さらに、例えば、ユーザは、ディスクアレイ装置を構成するキャッシュの属性による性能差を気にすることなくサーバ装置とディスクアレイ装置とを接続することができる。また、新たに増設するサーバ装置をディスクアレイ装置に接続する場合であっても、ユーザは、サーバ装置とディスクアレイ装置との接続を見直す必要がない。 Further, for example, the user can connect the server device and the disk array device without worrying about the difference in performance due to the attributes of the cache constituting the disk array device. Further, even when a newly added server device is connected to the disk array device, the user does not need to review the connection between the server device and the disk array device.
<第2の実施形態>
次に、上述した本発明の第1の実施形態に係るキャッシュ制御装置1を基本とする第2の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
<Second Embodiment>
Next, a second embodiment based on the
本発明の第2の実施形態におけるキャッシュ制御装置10について、図2乃至図6を参照して説明する。
A
図3は、本発明の第2の実施形態におけるキャッシュ制御装置10を含むコントローラ群20の構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of the
本実施形態において、説明の便宜上、一例として、図3に示すコントローラ群20は、ディスクアレイ装置に含まれるコントローラである。また、コントローラ群20は、第1コントローラ21(コントローラ#0、特定のコントローラ)、第2コントローラ22(コントローラ#1)、第3コントローラ23(コントローラ#2)及び第4コントローラ24(コントローラ#3)を有することとする。図3において、第1コントローラ21と第3コントローラ23とは、同一の筐体内に存在することとする。また、第2コントローラ22と第4コントローラ24とは、同一の筐体内に存在することとする。即ち、第1コントローラ21と第3コントローラ23とは、同一の物理DACグループ(DAC筐体)に含まれる。また、第2コントローラ22と第4コントローラ24とは、同一の物理DACグループ(DAC筐体)に含まれる。
In the present embodiment, for convenience of explanation, as an example, the
図3において、第1コントローラ21は、キャッシュ制御装置10を有することとする。また、第2コントローラ22乃至第4コントローラ24は、キャッシュ制御装置10aを有することとする。
In FIG. 3, the
キャッシュ制御装置10は、優先値算出部12と、監視部11と、キャッシュ属性判定部13と、キャッシュ属性変更部14と、設定部15とを備える。
The
キャッシュ制御装置10aは、優先値算出部12と、監視部11と、キャッシュ属性変更部14とを備える。
The
監視部11は、1つ以上のサーバ装置から1つ以上のRankに対して発行されるI/O要求を監視すると共に、そのI/O要求に基づきサーバ装置を対象として、優先度及びI/O負荷を求める。監視部11は、後述するように、例えば、係る優先度及びI/O負荷をサーバ装置毎に行ってもよい。さらに、監視部11は、求めたサーバ装置毎の優先度及びI/O負荷を、負荷情報及び優先度情報として、優先値算出部12に対して送信する。
The
より具体的に、監視部11は、所定の時間に亘って、それぞれのサーバ装置からRankに対して発行されたI/O要求を監視すると共に、そのI/O要求に設定された優先度の平均値を、当該サーバ装置の優先度として求めてもよい。
More specifically, the
尚、監視部11がI/O負荷及び優先度を求める技術自体は、現在では一般的な技術を採用することができる。そのため、本実施形態において、係るI/O負荷及び優先度を求める技術に関する詳細な説明は省略する(以下、各実施形態においても同様)。
Incidentally, as the technology for the
優先値算出部12は、コントローラの構成情報を求めると共に、求めた構成情報、負荷情報101及び優先度情報102に基づき所定の演算によって、キャッシュグループ毎に、当該優先値算出部12を含むコントローラに含まれるキャッシュの優先値Zを算出する。優先値算出部12は、キャッシュグループ毎に算出した優先値Zをキャッシュ属性判定部13に対して送信する。
The priority
次に、キャッシュ属性判定部13とキャッシュ属性変更部14とは、第1の実施形態において説明したキャッシュ属性制御部3に相当する。キャッシュ属性判定部13は、図2に示すステップS2乃至ステップS8において説明した処理を実行する。キャッシュ属性変更部14は、図2に示すステップS10において説明した処理を実行する。
Next, the cache
より具体的に、キャッシュ属性判定部13は、優先値算出部12から受信した優先値Zに応じて、キャッシュの属性(マスタ、スレーブ及びサブスレーブ)を判定すると共に、判定結果をキャッシュ属性変更部14に対して送信する。
More specifically, the cache
キャッシュ属性変更部14は、キャッシュ属性判定部13から受信した判定結果に基づいて、キャッシュの属性を変更する。
The cache
設定部15は、例えば、ユーザの操作に応じて、優先値算出部12が優先値Zを算出する際に用いるパラメータを設定する。また、設定部15は、ユーザの操作に応じて、キャッシュの属性を変更する。
For example, the setting
以下の説明において、より具体的に、本実施形態におけるキャッシュ制御装置10の動作について説明する。
In the following description, the operation of the
ここで、説明の便宜上、一例として、キャッシュ制御装置10は、第1コントローラ21、第2コントローラ22、第3コントローラ23及び第4コントローラ24の4つのコントローラに含まれるキャッシュの属性を変更することとする。
Here, for convenience of explanation, as an example, the
図4は、本発明の第2の実施形態におけるキャッシュ制御装置10により変更する前のキャッシュの属性と、そのキャッシュを含むコントローラとサーバ装置との接続関係を概念的に例示する図である。
FIG. 4 is a diagram conceptually illustrating the attributes of the cache before being changed by the
図4において、第0キャッシュグループ41(キャッシュグループ#0)は、キャッシュマスタ51及びキャッシュスレーブ52を含む。キャッシュマスタ51及びキャッシュスレーブ52以外のキャッシュは、キャッシュサブスレーブ53及びキャッシュサブスレーブ54とする。第1キャッシュグループ42(キャッシュグループ#1)は、キャッシュマスタ55及びキャッシュスレーブ56を含む。キャッシュマスタ55及びキャッシュスレーブ56以外のキャッシュは、キャッシュサブスレーブ57及びキャッシュサブスレーブ58とする。
In FIG. 4, the 0th cache group 41 (cache group # 0) includes a
第1サーバ装置43、第2サーバ装置44、第7サーバ装置49及び第8サーバ装置50は、第1コントローラ21に接続されていることとする。
It is assumed that the
第3サーバ装置45は、第2コントローラ22及び第3コントローラ23に接続されていることとする。第4サーバ装置46は、第2コントローラ22に接続されていることとする。
The
第5サーバ装置47は、第4コントローラ24に接続されていることとする。第6サーバ装置48は、第3コントローラ23及び第4コントローラ24に接続されていることとする。
It is assumed that the
第1サーバ装置43、第6サーバ装置48及び第8サーバ装置50は、Rank1に対してI/O要求を発行することとする。第2サーバ装置44は、Rank3に対してI/O要求を発行することとする。
The
第3サーバ装置45は、Rank0に対してI/O要求を発行することとする。第4サーバ装置46は、Rank2に対してI/O要求を発行することとする。第5サーバ装置47は、Rank4に対してI/O要求を発行することとする。第7サーバ装置49は、Rank6に対してI/O要求を発行することとする。
The
尚、説明の便宜上、上述した構成を例に説明するが、本実施形態を例に説明する本発明は、この構成にはこれに限定されない(以下の実施形態においても同様)。 For convenience of explanation, the above-described configuration will be described as an example. However, the present invention described using this embodiment as an example is not limited to this configuration (the same applies to the following embodiments).
第1コントローラ21乃至第4コントローラ24の監視部11は、所定の時間周期毎に、負荷情報及び優先度情報を、第1コントローラ21乃至第4コントローラ24の優先値算出部12に対して送信する。
The
以下の説明において、説明の便宜上、ここでは、第1コントローラ21の監視部11から第1コントローラ21の優先値算出部12に対して送信された負荷情報及び優先度情報を、それぞれ第1負荷情報101a及び第1優先度情報102aと称する。第2コントローラ22の監視部11から第2コントローラ22の優先値算出部12に対して送信された負荷情報及び優先度情報を、それぞれ第2負荷情報101b及び第2優先度情報102bと称する。
In the following description, for convenience of explanation, here, the load information and the priority information transmitted from the
また、第3コントローラ23の監視部11から第3コントローラ23の優先値算出部12に対して送信された負荷情報及び優先度情報を第3負荷情報101c及び第3優先度情報102cと称する。第4コントローラ24の監視部11から第4コントローラ24の優先値算出部12に対して送信された負荷情報及び優先度情報を第4負荷情報101d及び第4優先度情報102dと称する。
The load information and priority information transmitted from the
第1コントローラ21乃至第4コントローラ24の優先値算出部12は、第1コントローラ21乃至第4コントローラ24の構成情報を求めると共に、求めた構成情報、負荷情報101(101a、101b、101c及び101d)及び優先度情報102(102a、102b、102c及び102d)に基づき所定の演算によって、キャッシュグループ毎に、コントローラに含まれるキャッシュの優先値Zを算出する。
The priority
より具体的に、一例として、第1コントローラ21の優先値算出部12は、第1コントローラ21の構成情報を求めると共に、求めた構成情報、負荷情報101a及び優先度情報102aに基づき所定の演算によって、キャッシュグループ毎に、第1コントローラ21に含まれるキャッシュの優先値Zを算出する。
More specifically, as an example, the priority
より具体的に、ここでは、図4に示すサーバ装置の接続図に基づき、第1キャッシュグループ42を構成する第1コントローラ21に含まれるキャッシュの優先値Zを算出する場合について説明する。
More specifically, here, a case where the priority value Z of the cache included in the
図4において、第1コントローラ21には、第1サーバ装置43、第2サーバ装置44、第7サーバ装置49及び第8サーバ装置50が接続されている。
In FIG. 4, a
また、第1キャッシュグループ42は、奇数番号のRankに対するI/O処理を実行する。そのため、第1キャッシュグループ42において、第1コントローラ21に含まれるキャッシュの優先値Zを算出する際に対象となるサーバ装置は、第1サーバ装置43、第2サーバ装置44及び第8サーバ装置50である。
The
第1コントローラ21の優先値算出部12は、係るキャッシュの優先値Zを、以下の式(2)によって求める。
The priority
第1コントローラ21乃至第4コントローラ24の優先値算出部12は、算出した優先値Zを、第1コントローラ21のキャッシュ属性判定部13に対して送信する。
The priority
図5(図5A、図5B及び図5C)は、本発明の第2の実施形態における優先値算出部12によって算出した優先値Zを具体的に例示する図である。
FIG. 5 (FIGS. 5A, 5B, and 5C) is a diagram specifically illustrating the priority value Z calculated by the priority
図5(図5A、図5B及び図5C)において、1列目には、キャッシュグループを構成するキャッシュを含むコントローラの名称(コントローラ名)を表す。2列目及び3列目は、優先値算出部12によりキャッシュグループ毎に算出されたキャッシュの優先値Z、またはキャッシュ属性判定部13により決定されたキャッシュの属性を表す。
In FIG. 5 (FIGS. 5A, 5B, and 5C), the first column represents the name of the controller (controller name) that includes the caches that make up the cache group. The second and third columns represent the cache priority value Z calculated for each cache group by the priority
図5Aは、本発明の第2の実施形態における優先値算出部12によって算出した優先値Zを具体的に例示する図である(1度目の算出)。
FIG. 5A is a diagram specifically illustrating the priority value Z calculated by the priority
図5Aにおいて、優先値Zは、第1キャッシュグループ42を構成する第1コントローラ21に含まれるキャッシュの優先値Z「80」が最も大きい値である。
In FIG. 5A, the priority value Z is the value with the highest cache priority value Z “80” included in the
そのため、キャッシュ属性判定部13は、第1コントローラ21乃至第4コントローラ24の優先値算出部12から受信した優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含むコントローラとキャッシュグループとを求める。
Therefore, the cache
ここでは、キャッシュ属性判定部13は、第1コントローラ21と第1キャッシュグループ42とを求めることとする。
Here, the cache
さらに、キャッシュ属性判定部13は、求めた第1キャッシュグループ42において、既にキャッシュマスタに属性を決定したキャッシュが存在するか否かを判別する。
Further, the cache
ここでは、第1キャッシュグループ42において、既にキャッシュマスタに属性を決定したキャッシュが存在しないため、キャッシュ属性判定部13は、求めた第1コントローラ21に含まれるキャッシュの属性を、第1キャッシュグループ42においてキャッシュマスタに決定する。
Here, in the
さらに、キャッシュ属性判定部13は、求めた第1キャッシュグループ42と異なる他の第0キャッシュグループ41において、第1コントローラ21に含まれるキャッシュの属性を、キャッシュサブスレーブに決定する。
Further, the cache
キャッシュ属性判定部13は、キャッシュグループ(第0キャッシュグループ41及び第1キャッシュグループ42)毎にそれぞれのコントローラに含まれるキャッシュの属性が全て決定しているか否かを判別した結果、係るキャッシュの属性が決定していないと判別する。
The cache
第1コントローラ21乃至第4コントローラ24の優先値算出部12は、第1コントローラ21乃至第4コントローラ24の構成情報を求めると共に、求めた構成情報、負荷情報101(101a、101b、101c及び101d)及び優先度情報102(102a、102b、102c及び102d)に基づき所定の演算によって、キャッシュグループ毎に、そのキャッシュグループに含まれるキャッシュの属性が決定していないコントローラに含まれるキャッシュの優先値Zを算出する。優先値算出部12は、算出した優先値Zをキャッシュ属性制御部3に対して送信する。
The priority
図5Bは、本発明の第2の実施形態における優先値算出部12によって算出した優先値Zを具体的に例示する図である(2度目の算出)。
FIG. 5B is a diagram specifically illustrating the priority value Z calculated by the priority
図5Bにおいて、優先値Zは、第0キャッシュグループ41を構成する第2コントローラ22に含まれるキャッシュの優先値Z「55」が最も大きい値である。
In FIG. 5B, the priority value Z is the value with the highest cache priority value Z “55” included in the
そのため、キャッシュ属性判定部13は、第1コントローラ21乃至第4コントローラ24の優先値算出部12から受信した優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含む第2コントローラ22と第0キャッシュグループ41とを求める。
Therefore, the cache
さらに、キャッシュ属性判定部13は、求めた第0キャッシュグループ41において、既にキャッシュマスタに属性を決定したキャッシュが存在するか否かを判別する。
Further, the cache
ここでは、第0キャッシュグループ41において、既にキャッシュマスタに属性を決定したキャッシュが存在しないため、キャッシュ属性判定部13は、求めた第2コントローラ22に含まれるキャッシュの属性を、第0キャッシュグループ41においてキャッシュマスタに決定する。
Here, in the
キャッシュ属性判定部13は、求めた第0キャッシュグループ41と異なる他の第1キャッシュグループ42において、第2コントローラ22に含まれるキャッシュの属性を、キャッシュサブスレーブに決定する。
The cache
キャッシュ属性制御部3は、キャッシュグループ(第0キャッシュグループ41及び第1キャッシュグループ42)毎にそれぞれのコントローラに含まれるキャッシュの属性が全て決定しているか否かを判別した結果、係るキャッシュの属性が決定していないと判別する。
The cache
第1コントローラ21乃至第4コントローラ24の優先値算出部12は、第1コントローラ21乃至第4コントローラ24の構成情報を求めると共に、求めた構成情報、負荷情報101(101a、101b、101c及び101d)及び優先度情報102(102a、102b、102c及び102d)に基づき所定の演算によって、キャッシュグループ毎に、そのキャッシュグループに含まれるキャッシュの属性が決定していないコントローラに含まれるキャッシュの優先値Zを算出する。優先値算出部12は、算出した優先値Zをキャッシュ属性制御部3に対して送信する。
The priority
図5Cは、本発明の第2の実施形態における優先値算出部12によって算出した優先値Zを具体的に例示する図である(3度目の算出)。
FIG. 5C is a diagram specifically illustrating the priority value Z calculated by the priority
図5Cにおいて、優先値Zは、第0キャッシュグループ41を構成する第3コントローラ23に含まれるキャッシュの優先値Z「30」が最も大きい値である。
In FIG. 5C, the priority value Z is the value with the highest cache priority value Z “30” included in the
そのため、キャッシュ属性判定部13は、第1コントローラ21乃至第4コントローラ24の優先値算出部12から受信した優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含む第3コントローラ23と第0キャッシュグループ41とを求める。
Therefore, the cache
さらに、キャッシュ属性判定部13は、求めた第0キャッシュグループ41において、既にキャッシュマスタに属性を決定したキャッシュが存在するか否かを判別する。
Further, the cache
ここでは、第0キャッシュグループ41において、既にキャッシュマスタに属性を決定したキャッシュが存在するため、キャッシュ属性判定部13は、求めた第3コントローラ23に含まれたキャッシュの属性をキャッシュスレーブに決定する。
Here, in the
キャッシュ属性判定部13は、求めた第0キャッシュグループ41と異なる他の第1キャッシュグループ42において、第3コントローラ23に含まれるキャッシュの属性を、キャッシュサブスレーブに決定する。
The cache
このように、キャッシュ制御装置10は、キャッシュグループ毎に全てのコントローラに含まれるキャッシュの属性が決定するまで上述した処理を繰り返す。
In this way, the
キャッシュ属性判定部13は、キャッシュグループ毎にコントローラに含まれるキャッシュの属性が全て決定しているか否かを判別した結果、全てのキャッシュの属性が決定していると判別した場合に、決定した結果をキャッシュ属性変更部14に対して送信する。
As a result of determining whether or not all cache attributes included in the controller have been determined for each cache group, the cache
キャッシュ属性変更部14は、キャッシュ属性判定部13から受信し決定結果に基づいて、キャッシュの属性を変更する。
The cache
図6は、本発明の第2の実施形態におけるキャッシュ属性判定部13によって決定されたキャッシュの属性を具体的に例示する図である。
FIG. 6 is a diagram specifically illustrating the cache attributes determined by the cache
図6において、1列目には、キャッシュグループを構成するキャッシュを含むコントローラの名称(コントローラ名)を表す。2列目及び3列目は、キャッシュ属性判定部13により決定されたキャッシュの属性を表す。
In FIG. 6, the first column represents the name of the controller (controller name) that includes the caches that make up the cache group. The second and third columns represent cache attributes determined by the cache
尚、上述した本実施形態では、説明の便宜上、一例として、キャッシュ属性判定部13を含むキャッシュ制御装置10は、第1コントローラ21が有する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ制御装置10は、第1コントローラ21乃至第4コントローラ24の何れかが有する構成を採用してもよい。
In the above-described embodiment, for the sake of convenience of explanation, the
また、上述した本実施形態では、説明の便宜上、一例として、キャッシュ制御装置10aは、設定部15とキャッシュ属性判定部13とを含まない構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ制御装置10aは、設定部15とキャッシュ属性判定部13とを含む構成を採用してもよい。
Further, in the present embodiment described above, for the sake of convenience of explanation, as an example, the
その場合に、キャッシュの属性は、1つ以上のキャッシュ属性判定部13のうち何れかのキャッシュ属性判定部13がキャッシュの属性を決定する構成を採用してもよい。
In this case, the cache attribute may be configured such that any one of the one or more cache
また、上述した本実施形態では、説明の便宜上、一例として、キャッシュ制御装置10を4つのコントローラを備えるディスクアレイ装置に適用した場合の動作について説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ制御装置10を4つ以上の、例えば、8つのコントローラを備えるディスクアレイ装置に適用してもよい。
Further, in the present embodiment described above, for convenience of explanation, the operation when the
その場合に、キャッシュグループを4つ用意し、そのキャッシュグループに関連付けるRankを4の倍数により区切ることによって、キャッシュ制御装置10は、キャッシュを制御することが可能である。
In that case, the
また、上述した本実施形態では、説明の便宜上、一例として、監視部11は、I/O負荷と優先度とを求める構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。監視部11は、例えば、所定の閾値をI/O負荷、または優先度が超えた場合に、高負荷、または優先度の高いサーバ装置からのI/O要求であると判別すると共に、所定の値を負荷情報101及び優先度情報102として優先値算出部12に対して送信する構成を採用してもよい。
Further, in the above-described embodiment, for the sake of convenience of explanation, the
このように本実施の形態に係るキャッシュ制御装置10によれば、各実施形態において説明した効果を享受できると共に、さらに、サーバ装置とディスクアレイ装置との間において、I/O処理に関する状態や情報が動的に変化した場合であっても、より速やかに、ディスクアレイ装置の性能が劣化するのを抑止することができる。
As described above, according to the
その理由は、キャッシュ制御装置10(10、10a)をコントローラ毎に備えたからである。そのため、キャッシュ制御装置10の優先値算出部12は、より速やかに、キャッシュグループ毎に、コントローラに含まれるキャッシュの優先値Zを算出することができるからである。
This is because the cache control device 10 (10, 10a) is provided for each controller. Therefore, the priority
(ハードウェア構成例)
上述した実施形態において図面に示した各部は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。これらの各ソフトウェアモジュールは、専用のハードウェアによって実現してもよい。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定されうる。この場合のハードウェア環境の一例を、図7を参照して説明する。
(Hardware configuration example)
Each unit shown in the drawings in the embodiment described above can be regarded as a function (processing) unit (software module) of a software program. Each of these software modules may be realized by dedicated hardware. However, the division of each part shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed in mounting. An example of the hardware environment in this case will be described with reference to FIG.
図7は、本発明の模範的な実施形態に係る端末特定装置を実行可能な情報処理装置300(コンピュータ)の構成を例示的に説明する図である。即ち、図7は、図1に示したキャッシュ制御装置1、或いは、図3に示したキャッシュ制御装置10、の全体または一部のキャッシュ制御装置を実現可能なサーバ等のコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
FIG. 7 is a diagram illustrating an exemplary configuration of an information processing device 300 (computer) that can execute the terminal identification device according to the exemplary embodiment of the present invention. That is, FIG. 7 shows a computer (information processing device) such as a server capable of realizing the
図7に示した情報処理装置300は、CPU(Central_Processing_Unit)301、ROM(Read_Only_Memory)302、RAM(Random_Access_Memory)303、ハードディスク304(記憶装置)、並びに外部装置との通信インタフェース(Interfac:以降、「I/F」と称する)305、CD−ROM(Compact_Disc_Read_Only_Memory)等の記憶媒体307に格納されたデータを読み書き可能なリーダライタ308を備え、これらの構成がバス306(通信線)を介して接続された一般的なコンピュータである。
The
そして、上述した実施形態を例に説明した本発明は、図7に示した情報処理装置300に対して、その説明において参照したブロック構成図(図1、図3)或いはフローチャート(図2)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU301に読み出して実行することによって達成される。また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ(RAM303)またはハードディスク304等の不揮発性の記憶デバイスに格納すれば良い。
The present invention described using the above-described embodiment as an example is based on the block configuration diagram (FIGS. 1 and 3) or the flowchart (FIG. 2) referred to in the description of the
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、CD−ROM等の各種記憶媒体307を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード或いは、そのコードが格納された記憶媒体によって構成されると捉えることができる。 In the above case, the computer program can be supplied to the hardware by a method of installing the computer program via various storage media 307 such as a CD-ROM or a communication line such as the Internet. Currently, a general procedure can be adopted, such as a method of downloading from the outside. In such a case, the present invention can be regarded as being configured by a code constituting the computer program or a storage medium storing the code.
1 キャッシュ制御装置
2 優先値算出部
3 キャッシュ属性制御部
10 キャッシュ制御装置
10a キャッシュ制御装置
11 監視部
12 優先値算出部
13 キャッシュ属性判定部
14 キャッシュ属性変更部
15 設定部
20 コントローラ群
21 第1コントローラ
22 第2コントローラ
23 第3コントローラ
24 第4コントローラ
41 第0キャッシュグループ
42 第1キャッシュグループ
43 第1サーバ装置
44 第2サーバ装置
45 第3サーバ装置
46 第4サーバ装置
47 第5サーバ装置
48 第6サーバ装置
49 第7サーバ装置
50 第8サーバ装置
51 キャッシュマスタ
52 キャッシュスレーブ
53 キャッシュサブスレーブ
54 キャッシュサブスレーブ
55 キャッシュマスタ
56 キャッシュスレーブ
57 キャッシュサブスレーブ
58 キャッシュサブスレーブ
101 負荷情報
101a 第1負荷情報
101b 第2負荷情報
101c 第3負荷情報
101d 第4負荷情報
102 優先度情報
102a 第1優先度情報
102b 第2優先度情報
102c 第3優先度情報
102d 第4優先度情報
201 第1物理DACグループ
202 第2物理DACグループ
203 第1論理DACグループ
204 第2論理DACグループ
205 第1コントローラ
206 第2コントローラ
207 第3コントローラ
208 第4コントローラ
209 第1キャッシュ
210 第2キャッシュ
211 第3キャッシュ
212 第4キャッシュ
300 情報処理装置
301 CPU
302 ROM
303 RAM
304 ハードディスク
305 通信インタフェース
306 バス
307 記憶媒体
308 リーダライタ
DESCRIPTION OF
302 ROM
303 RAM
304
Claims (10)
前記算出した優先値に応じて、前記それぞれのキャッシュの属性を判定すると共に、前記それぞれのキャッシュの属性を、該判定した属性に変更するキャッシュ属性制御部と、
を備えることを特徴とするキャッシュ制御装置。 Configuration information of a plurality of controllers that control the disk array device, load information that indicates an I / O load in an information processing device that issues an I / O request to the disk array device, and priority information that indicates a priority in the information processing device A priority value for calculating a priority value of each cache for a cache group constituted by caches having master and slave attributes among the respective caches included in the plurality of controllers by a predetermined calculation based on A calculation unit;
A cache attribute control unit that determines the attribute of each of the caches according to the calculated priority value, and changes the attribute of each of the caches to the determined attribute;
A cache control apparatus comprising:
前記算出したキャッシュの優先値の中から、最も大きい値を示す優先値に対応するキャッシュを含むコントローラと、前記キャッシュグループとを求め、
前記求めたキャッシュグループにおいて、既に属性がマスタに決定しているキャッシュの有無を判別した結果に応じて、前記求めたコントローラに含まれるキャッシュの属性をマスタ、またはスレーブの何れかに決定し、該キャッシュの属性をスレーブに決定した場合には、前記求めたコントローラと異なる他のコントローラに含まれるキャッシュのうち属性が決定していないキャッシュの属性をサブスレーブに決定し、
前記求めたキャッシュグループと異なる他のキャッシュグループにおいて、前記求めたコントローラに含まれるキャッシュの属性をサブスレーブに決定する
ことを特徴とする請求項1に記載のキャッシュ制御装置。 The cache attribute control unit, as a series of processing,
From the calculated cache priority values, a controller including a cache corresponding to the priority value indicating the largest value and the cache group are obtained,
In the obtained cache group, the cache attribute included in the obtained controller is determined as either a master or a slave according to the result of determining whether or not there is a cache whose attribute is already determined as a master, When the cache attribute is determined to be a slave, the cache attribute that is not determined among the caches included in another controller different from the obtained controller is determined to be a sub-slave,
2. The cache control apparatus according to claim 1, wherein an attribute of a cache included in the obtained controller is determined as a sub slave in another cache group different from the obtained cache group.
前記キャッシュグループ毎に、前記それぞれのキャッシュの属性が決定したか否かを判別し、前記それぞれのキャッシュの属性が決定していないと判別した場合に、前記一連の処理を実行し、
前記優先値算出部は、
前記キャッシュ属性制御部により前記それぞれのキャッシュの属性が決定していないと判別した場合に、前記構成情報、前記負荷情報及び前記優先度情報に基づき前記所定の演算によって、前記キャッシュグループ毎に、前記それぞれのキャッシュの中から属性の決定していないキャッシュの優先値を算出する
ことを特徴とする請求項2に記載のキャッシュ制御装置。 The cache attribute control unit
For each of the cache groups, determine whether or not the respective cache attribute has been determined, and when determining that the respective cache attribute has not been determined, execute the series of processing,
The priority value calculation unit
When it is determined by the cache attribute control unit that the attribute of each cache has not been determined, for each cache group, by the predetermined calculation based on the configuration information, the load information, and the priority information, The cache control apparatus according to claim 2, wherein a priority value of a cache whose attribute is not determined is calculated from each of the caches.
前記優先値の算出対象となるキャッシュの冗長構成を判定した結果を示す情報と、前記優先値の算出対象となるキャッシュを含むコントローラにおけるI/O処理を制御する制御部の属性を判定した結果を示す情報とを含む
ことを特徴とする請求項1乃至請求項3の何れかに記載のキャッシュ制御装置。 The configuration information is
Information indicating the result of determining the redundant configuration of the cache that is the priority value calculation target, and the result of determining the attribute of the control unit that controls the I / O processing in the controller including the cache that is the priority value calculation target The cache control apparatus according to claim 1, further comprising: information to be displayed.
前記キャッシュグループに関連付けられた制御対象である記憶領域に対してI/O要求を発行するそれぞれの情報処理装置における前記I/O負荷を示す情報を含む
ことを特徴とする請求項1乃至請求項4の何れかに記載のキャッシュ制御装置。 The load information is
The information indicating the I / O load in each information processing apparatus that issues an I / O request to a storage area that is a control target associated with the cache group. 5. The cache control device according to any one of 4.
前記それぞれの情報処理装置における前記優先度を示す情報を含む
ことを特徴とする請求項1乃至請求項5の何れかに記載のキャッシュ制御装置。 The priority information is:
6. The cache control device according to claim 1, further comprising information indicating the priority in each of the information processing devices.
前記複数のコントローラのうち特定のコントローラは、
前記情報処理装置から発行される前記I/O要求を監視すると共に、そのI/O要求に基づき前記情報処理装置を対象として、優先度及びI/O負荷を求め、前記求めた優先度とI/O負荷とを、優先度情報と負荷情報として送信する監視部と、
前記特定のコントローラの構成情報、前記負荷情報及び前記優先度情報に基づき所定の演算によって、該複数のコントローラに含まれるそれぞれのキャッシュのうち、マスタ及びスレーブという属性をもつキャッシュによって構成されたキャッシュグループを対象として、前記特定のコントローラに含まれるキャッシュの優先値を算出する優先値算出部と、
前記複数のコントローラに含まれる前記優先値算出部によって算出した優先値に応じて、前記それぞれのキャッシュの属性を判定するキャッシュ属性判定部と、
前記キャッシュグループを対象として、前記それぞれのキャッシュの属性を、該判定した属性に変更するキャッシュ属性変更部と、を備え、
前記特定のコントローラと異なる他のコントローラは、
前記監視部と、
前記異なる他のコントローラの構成情報、前記負荷情報及び前記優先度情報に基づき所定の演算によって、前記キャッシュグループを対象として、前記異なる他のコントローラに含まれるキャッシュの優先値を算出する優先値算出部と、
前記キャッシュ属性変更部と、
を備えることを特徴とするディスクアレイ装置。 A disk array device comprising a plurality of controllers that execute I / O processing in response to an I / O request from one or more information processing devices,
A specific controller among the plurality of controllers is
The I / O request issued from the information processing apparatus is monitored, the priority and I / O load are obtained for the information processing apparatus based on the I / O request, and the obtained priority and I A monitoring unit that transmits / O load as priority information and load information;
A cache group configured by caches having master and slave attributes among the respective caches included in the plurality of controllers by a predetermined calculation based on the configuration information of the specific controller, the load information, and the priority information. A priority value calculation unit that calculates a priority value of a cache included in the specific controller,
A cache attribute determination unit that determines an attribute of each of the caches according to a priority value calculated by the priority value calculation unit included in the plurality of controllers;
A cache attribute changing unit that changes the attribute of each cache to the determined attribute for the cache group;
Other controllers different from the specific controller are:
The monitoring unit;
A priority value calculation unit that calculates the priority value of the cache included in the different other controller for the cache group by a predetermined calculation based on the configuration information of the different controller, the load information, and the priority information. When,
The cache attribute changing unit;
A disk array device comprising:
前記算出した優先値に応じて、前記それぞれのキャッシュの属性を判定すると共に、前記それぞれのキャッシュの属性を、該判定した属性に変更する、
ことを特徴とするキャッシュの制御方法。 Configuration information of a plurality of controllers that control the disk array device, load information that indicates an I / O load in an information processing device that issues an I / O request to the disk array device, and priority information that indicates a priority in the information processing device Based on a predetermined calculation, a cache group configured by caches having master and slave attributes among the caches included in the plurality of controllers is calculated, and a priority value of each cache is calculated.
In accordance with the calculated priority value, the attribute of each cache is determined, and the attribute of each cache is changed to the determined attribute.
And a cache control method.
前記算出した優先値に応じて、前記それぞれのキャッシュの属性を判定すると共に、前記それぞれのキャッシュの属性を、該判定した属性に変更する機能と、
をコンピュータに実現させることを特徴とするコンピュータ・プログラム。 Configuration information of a plurality of controllers that control the disk array device, load information that indicates an I / O load in an information processing device that issues an I / O request to the disk array device, and priority information that indicates a priority in the information processing device A function for calculating a priority value of each cache for a cache group configured by caches having master and slave attributes among the respective caches included in the plurality of controllers by a predetermined calculation based on ,
A function of determining the attribute of each of the caches according to the calculated priority value, and changing the attribute of each of the caches to the determined attribute;
A computer program characterized in that a computer is realized.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013186845A JP5895911B2 (en) | 2013-09-10 | 2013-09-10 | Cache control device, cache control method, disk array device and controller thereof, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013186845A JP5895911B2 (en) | 2013-09-10 | 2013-09-10 | Cache control device, cache control method, disk array device and controller thereof, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015055878A true JP2015055878A (en) | 2015-03-23 |
JP5895911B2 JP5895911B2 (en) | 2016-03-30 |
Family
ID=52820270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013186845A Expired - Fee Related JP5895911B2 (en) | 2013-09-10 | 2013-09-10 | Cache control device, cache control method, disk array device and controller thereof, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5895911B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968271A (en) * | 2019-11-25 | 2020-04-07 | 北京劲群科技有限公司 | High-performance data storage method, system and device |
US11023337B2 (en) | 2017-09-11 | 2021-06-01 | Fujitsu Limited | Information processing system and control apparatus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158999A1 (en) * | 2002-02-21 | 2003-08-21 | International Business Machines Corporation | Method and apparatus for maintaining cache coherency in a storage system |
JP2004139349A (en) * | 2002-10-17 | 2004-05-13 | Nec Corp | Cache memory divided management method in disk array device |
WO2004114115A1 (en) * | 2003-06-19 | 2004-12-29 | Fujitsu Limited | Raid device, raid control method, and raid control program |
JP2011170589A (en) * | 2010-02-18 | 2011-09-01 | Nec Corp | Storage control device, storage device, and storage control method |
-
2013
- 2013-09-10 JP JP2013186845A patent/JP5895911B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158999A1 (en) * | 2002-02-21 | 2003-08-21 | International Business Machines Corporation | Method and apparatus for maintaining cache coherency in a storage system |
JP2004139349A (en) * | 2002-10-17 | 2004-05-13 | Nec Corp | Cache memory divided management method in disk array device |
WO2004114115A1 (en) * | 2003-06-19 | 2004-12-29 | Fujitsu Limited | Raid device, raid control method, and raid control program |
JP2011170589A (en) * | 2010-02-18 | 2011-09-01 | Nec Corp | Storage control device, storage device, and storage control method |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11023337B2 (en) | 2017-09-11 | 2021-06-01 | Fujitsu Limited | Information processing system and control apparatus |
CN110968271A (en) * | 2019-11-25 | 2020-04-07 | 北京劲群科技有限公司 | High-performance data storage method, system and device |
CN110968271B (en) * | 2019-11-25 | 2024-02-20 | 北京劲群科技有限公司 | High-performance data storage method, system and device |
Also Published As
Publication number | Publication date |
---|---|
JP5895911B2 (en) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108780386B (en) | Data storage method, device and system | |
US9665493B2 (en) | Increased cache performance with multi-level queues of complete tracks | |
US9304689B2 (en) | Modeling workload information for a primary storage and a secondary storage | |
US20040133743A1 (en) | RAID apparatus and logical device expansion method thereof | |
CN109213619B (en) | Method, apparatus and computer program product for managing a storage system | |
US11061788B2 (en) | Storage management method, electronic device, and computer program product | |
CN109725830B (en) | Method, apparatus and storage medium for managing redundant array of independent disks | |
US10084860B2 (en) | Distributed file system using torus network and method for configuring and operating distributed file system using torus network | |
US11188258B2 (en) | Distributed storage system | |
JP6233403B2 (en) | Storage system, storage device, storage device control method and control program, management device, management device control method and control program | |
CN113590019A (en) | Method, electronic device and computer program product for storage management | |
JP5895911B2 (en) | Cache control device, cache control method, disk array device and controller thereof, and computer program | |
JP5853109B2 (en) | Computer, computer system controller and recording medium | |
US20140122433A1 (en) | Storage device and data backup method | |
CN108733307B (en) | Storage management method, apparatus and computer readable medium | |
EP4170499A1 (en) | Data storage method, storage system, storage device, and storage medium | |
JP5949816B2 (en) | Cache control device and control method therefor, storage device, and computer program | |
CN112748848A (en) | Method, apparatus and computer program product for storage management | |
JP6175785B2 (en) | Storage system, disk array device, and storage system control method | |
CN117687835A (en) | Data processing system, memory mirroring method, memory mirroring device and computing equipment | |
CN117349075A (en) | Data processing method and related equipment | |
US10423506B1 (en) | Fast rebuild using layered RAID | |
JP2010231295A (en) | Analysis system | |
JP6036736B2 (en) | Cache device, storage device, cache control method, and storage control program | |
US20180113616A1 (en) | Disk array control device, disk array device, disk array control method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160112 |
|
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: 20160202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5895911 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |