JP5895911B2 - Cache control device, cache control method, disk array device and controller thereof, and computer program - Google Patents

Cache control device, cache control method, disk array device and controller thereof, and computer program Download PDF

Info

Publication number
JP5895911B2
JP5895911B2 JP2013186845A JP2013186845A JP5895911B2 JP 5895911 B2 JP5895911 B2 JP 5895911B2 JP 2013186845 A JP2013186845 A JP 2013186845A JP 2013186845 A JP2013186845 A JP 2013186845A JP 5895911 B2 JP5895911 B2 JP 5895911B2
Authority
JP
Japan
Prior art keywords
cache
controller
attribute
slave
determined
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.)
Expired - Fee Related
Application number
JP2013186845A
Other languages
Japanese (ja)
Other versions
JP2015055878A (en
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 JP2013186845A priority Critical patent/JP5895911B2/en
Publication of JP2015055878A publication Critical patent/JP2015055878A/en
Application granted granted Critical
Publication of JP5895911B2 publication Critical patent/JP5895911B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

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, Patent Documents 1 to 3.

特許文献1は、ディスクアレイ装置、ディスクアレイシステム及びキャッシュ制御方法に関する技術を開示する。特許文献1に開示されたディスクアレイ装置は、キャッシュを含むマスタコントローラと、バッファメモリ(以降、「バッファ」と称する)を含むスレーブコントローラとを備える。   Patent Document 1 discloses a technique related to a disk array device, a disk array system, and a cache control method. The disk array device disclosed in Patent Document 1 includes a master controller including a cache and a slave controller including a buffer memory (hereinafter referred to as “buffer”).

係るスレーブコントローラは、サーバ装置からライトデータの書き込み要求を受信した場合に、そのライトデータをバッファに保持する。係るスレーブコントローラは、当該ライトデータをバッファに保持したことを示す識別情報を、受信した書き込み要求に付加する。さらに、係るスレーブコントローラは、識別情報を付加した書き込み要求と、ライトデータとを当該マスタコントローラに対して送信する。   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 Patent Document 1 is configured so that even if one controller is requested to write data to a slave controller that does not have master authority to control the other controller. Write data consistency can be maintained between the caches of the controller and the slave controller.

特許文献2は、アレイコントローラ、ディスクアレイ制御方法及びプログラムに関する技術を開示する。   Patent Document 2 discloses a technique related to an array controller, a disk array control method, and a program.

係るアレイコントローラは、複数のディスクドライブにデータ及びそのデータの冗長データを分散して書き込むように制御するライト制御部と、複数のディスクドライブのうち、当該冗長データが書き込まれるディスクドライブのキャッシュに対してライトバックモードに設定するライトキャッシュ制御部とを備える。   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 Patent Document 2 can reduce the time required to write data in the disk array device.

次に、特許文献3は、キャッシュ一貫性保証機能を有するストレージクラスタシステムに関する技術を開示する。係るストレージクラスタシステムは、複数の記憶デバイス制御装置と、その記憶デバイス制御装置によって管理される物理記憶デバイスとを備える。   Next, Patent Document 3 discloses a technology related to a storage cluster system having a cache consistency guarantee function. The storage cluster system includes a plurality of storage device control devices and physical storage devices managed by the storage device control device.

係る複数の記憶デバイス制御装置は、外部装置からアクセス要求を受信するスレーブノードとして機能する記憶デバイス制御装置と、物理記憶デバイスを管理するマスタノードとして機能する記憶デバイス制御装置と、スレーブノードと当該アクセス要求に含まれるアクセスの対象範囲とを関連付けたディレクトリエントリを管理するディレクトリ管理ノードとして機能する記憶デバイス制御装置とを含む。   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 Patent Document 3 can suppress unnecessary processing associated with a cache operation and guarantee data consistency without using dedicated hardware.

特開2011−192053号公報JP 2011-192053 A 特開2006−277042号公報JP 2006-277042 A 特開2008−123198号公報JP 2008-123198 A

ところで、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 first controller 205 and a second controller 206. The logical DAC group # 1 (second logical DAC group 204) includes a third controller 207 and a fourth controller 208.

図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 cache pair # 0 is configured by the cache # 0 (first cache 209) of the first controller 205 as a cache master and the cache # 1 (second cache 210) of the second controller 206 as a cache slave. The cache # 2 (third cache 211) of the third controller 207 and the cache # 3 (fourth cache 212) of the fourth controller 208 are cache subslave in the cache pair # 0.

また、キャッシュペア#1は、第3キャッシュ211をキャッシュマスタ及び第4キャッシュ212をキャッシュスレーブによって構成する。第1キャッシュ209と第2キャッシュ210とは、キャッシュペア#1においてキャッシュサブスレーブとすることとする。   In the cache pair # 1, the third cache 211 is constituted by a cache master and the fourth cache 212 is constituted by a cache slave. The first cache 209 and the second cache 210 are assumed to be cache subslave in the cache pair # 1.

図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 first controller 205 including the cache master shown in FIG. 8 receives a write request from the server device.

図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 first controller 205 receives a write request from the server device, the first controller 205 transmits the data to the second controller 206 after writing the data to the first cache 209. The second controller 206 receives the data from the first controller 205 and writes the data to the second cache 210. The second controller 206 notifies the first controller 205 that the writing of the data to the second cache 210 has been completed. That is, in FIG. 9A, when the first controller 205 including the cache master receives a write request from the server device, data communication between the controllers is performed once. Further, communication between controllers is performed twice.

図9Bは、図8に示すキャッシュサブスレーブを含む第3コントローラ207がサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。   FIG. 9B is a sequence diagram illustrating the flow of processing in the disk array device when the third controller 207 including the cache sub-slave illustrated in FIG. 8 receives a write request from the server device.

図9Bにおいて、第3コントローラ207がサーバ装置からライト要求を受け付けた場合に、第3コントローラ207は、主としてライト処理を実行することができないため、データを第1コントローラ205に対して送信する。第1コントローラ205は、第3コントローラ207からデータを受信すると共に、そのデータを第1キャッシュ209に書き込む。   In FIG. 9B, when the third controller 207 receives a write request from the server device, the third controller 207 cannot mainly execute write processing, and therefore transmits data to the first controller 205. The first controller 205 receives data from the third controller 207 and writes the data to the first cache 209.

さらに、第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 first controller 205 transmits the data to the second controller 206. The second controller 206 receives the data from the first controller 205 and writes the data to the second cache 210. The second controller 206 notifies the first controller 205 that the writing of the data to the second cache 210 has been completed. The first controller 205 notifies the third controller 207 that the writing of the data has been completed. That is, in FIG. 9B, when the third controller 207 including the cache sub-slave receives a write request from the server device, data communication between the controllers is performed twice. Further, communication between controllers is four times.

図9Cは、図8に示すキャッシュスレーブを含む第2コントローラ206がサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。   FIG. 9C is a sequence diagram illustrating the flow of processing in the disk array device when the second controller 206 including the cache slave shown in FIG. 8 receives a write request from the server device.

図9Cにおいて、第2コントローラ206がサーバ装置からライト要求を受け付けた場合に、第2コントローラ206は、主としてライト処理を実行することができないため、データを第1コントローラ205に対して送信する。第1コントローラ205は、第2コントローラ206から当該データを受信すると共に、そのデータを第1キャッシュ209に書き込む。   In FIG. 9C, when the second controller 206 receives a write request from the server device, the second controller 206 cannot mainly execute write processing, and therefore transmits data to the first controller 205. The first controller 205 receives the data from the second controller 206 and writes the data to the first cache 209.

さらに、第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 first controller 205 transmits the data write request to the second controller 206. The second controller 206 receives the data write request from the first controller 205 and writes the data to the second cache 210. The second controller 206 notifies the first controller 205 that the writing of the data to the second cache 210 has been completed. The first controller 205 notifies the second controller 206 that the writing of the data has been completed. That is, in FIG. 9C, when the second controller 206 including the cache slave receives a write request from the server device, data communication between the controllers is performed once. Further, communication between controllers is four times.

図9Dは、図8に示すキャッシュサブスレーブを含む第4コントローラ208がサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。   FIG. 9D is a sequence diagram illustrating the flow of processing in the disk array device when the fourth controller 208 including the cache sub-slave illustrated in FIG. 8 receives a write request from the server device.

図9Dにおいて、第4コントローラ208がサーバ装置からライト要求を受け付けた場合に、第4コントローラ208は、主としてライト処理を実行することができないため、データを第1コントローラ205に対して送信する。即ち、図9A乃至図9Cにおいて説明したように図9Dにおいて、キャッシュサブスレーブを含む第4コントローラ208がサーバ装置からライト要求を受け付けた場合に、コントローラ間のデータ通信は、2回となる。また、コントローラ間の通信は、4回となる。   In FIG. 9D, when the fourth controller 208 receives a write request from the server device, the fourth controller 208 cannot mainly execute write processing, and therefore transmits data to the first controller 205. That is, as described with reference to FIGS. 9A to 9C, in FIG. 9D, when the fourth controller 208 including the cache sub-slave receives a write request from the server device, data communication between the controllers is performed twice. Further, communication between controllers is four times.

このように、ライト要求を受け付けたコントローラに含まれるキャッシュの属性に応じて、コントローラ間における通信及びデータ通信の回数は、異なる。即ち、キャッシュサブスレーブを含むコントローラがサーバ装置からライト要求を受け付けた場合に、ディスクアレイ装置の性能は、劣化する。   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つ以上のコントローラを備えるディスクアレイ装置においてキャッシュを制御する場合について、考慮されておらず何ら述べられていない。   Patent Document 1 to Patent Document 3 described above only describe a method of controlling caches in two redundant controllers. For example, it relates to I / O processing between a server device and a disk array device. There is no consideration and no mention of controlling the cache when the state or information changes dynamically. Further, Patent Documents 1 to 3 do not describe anything about the case of controlling a cache in a disk array device including four or more controllers.

即ち、特許文献1乃至特許文献3では、サーバ装置とディスクアレイ装置間のI/O負荷や優先度が動的に変化した場合に、キャッシュの属性を適切に変更できない。このため、ディスクアレイ装置は、サーバ装置との間において、I/O処理をすることが安定的に行えないだけでなく、処理速度の低下を招く虞がある。   In other words, in Patent Documents 1 to 3, when the I / O load or priority between the server apparatus and the disk array apparatus is dynamically changed, the cache attribute cannot be changed appropriately. For this reason, the disk array device may not be able to stably perform I / O processing with the server device, but may cause a reduction in processing speed.

本発明の主たる目的は、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.

本発明の第1の実施形態におけるキャッシュ制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the cache control apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるキャッシュ制御装置が行う動作を示すフローチャートである。It is a flowchart which shows the operation | movement which the cache control apparatus in the 1st Embodiment of this invention performs. 本発明の第2の実施形態におけるキャッシュ制御装置を含むコントローラ群の構成を示すブロック図である。It is a block diagram which shows the structure of the controller group containing the cache control apparatus in the 2nd Embodiment of this invention. 本発明の第2の実施形態におけるキャッシュ制御装置により変更する前のキャッシュの属性と、そのキャッシュを含むコントローラとサーバ装置との接続関係を概念的に例示する図である。It is a figure which illustrates notionally the attribute of the cache before changing with the cache control apparatus in the 2nd Embodiment of this invention, and the connection relation of the controller and server apparatus containing the cache. 本発明の第2の実施形態における優先値算出部によって算出した優先値Zを具体的に例示する図である(1度目の算出)。It is a figure which illustrates concretely the priority value Z calculated by the priority value calculation part in the 2nd Embodiment of this invention (1st calculation). 本発明の第2の実施形態における優先値算出部によって算出した優先値Zを具体的に例示する図である(2度目の算出)。It is a figure which illustrates concretely the priority value Z calculated by the priority value calculation part in the 2nd Embodiment of this invention (2nd calculation). 本発明の第2の実施形態における優先値算出部によって算出した優先値Zを具体的に例示する図である(3度目の算出)。It is a figure which illustrates concretely the priority value Z calculated by the priority value calculation part in the 2nd Embodiment of this invention (3rd calculation). 本発明の第2の実施形態におけるキャッシュ属性判定部によって決定されたキャッシュの属性を具体的に例示する図である。It is a figure which illustrates concretely the attribute of the cache determined by the cache attribute determination part in the 2nd Embodiment of this invention. 本発明に係る各実施形態を実現可能な情報処理装置のハードウェア構成を例示的に説明するブロック図である。It is a block diagram explaining illustratively the hardware constitutions of the information processor which can realize each embodiment concerning the present invention. 4つのコントローラの構成と、4つのコントローラに含まれるキャッシュの属性とを概念的に例示する図である。It is a figure which illustrates notionally the composition of four controllers, and the attribute of the cache contained in four controllers. キャッシュマスタを含むコントローラがサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。FIG. 11 is a sequence diagram illustrating the flow of processing in the disk array device when a controller including a cache master receives a write request from a server device. キャッシュサブスレーブを含むコントローラがサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。FIG. 11 is a sequence diagram illustrating a processing flow in the disk array device when a controller including a cache sub-slave receives a write request from a server device. キャッシュスレーブを含むコントローラがサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。FIG. 11 is a sequence diagram illustrating a processing flow in the disk array device when a controller including a cache slave receives a write request from a server device. キャッシュサブスレーブを含むコントローラがサーバ装置からライト要求を受け付けた場合のディスクアレイ装置における処理の流れを例示するシーケンス図である。FIG. 11 is a sequence diagram illustrating a processing flow in the disk array device when a controller including a cache sub-slave receives a write request from a server device.

以下、本発明の実施形態について図面を参照して詳細に説明する。   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 cache control device 1 according to the first embodiment of the present invention.

図1において、キャッシュ制御装置1は、優先値算出部2と、キャッシュ属性制御部3とを備える。   In FIG. 1, the cache control device 1 includes a priority value calculation unit 2 and a cache attribute control unit 3.

より具体的に、優先値算出部2は、例えば、ディスクアレイ装置を制御する複数のコントローラの構成情報を求めると共に、求めた構成情報、負荷情報101及び優先度情報102に基づき所定の演算によって、キャッシュグループを対象として、それぞれの当該コントローラに含まれるキャッシュの優先値Zを、所定の時間周期毎に算出する。優先値算出部2は、後述するように、例えば、係る所定の演算をキャッシュグループ毎に行ってもよい。優先値算出部2は、算出した優先値Zをキャッシュ属性制御部3に対して送信する。   More specifically, the priority value calculation unit 2 obtains, for example, configuration information of a plurality of controllers that control the disk array device, and performs a predetermined calculation based on the obtained configuration information, load information 101, and priority information 102. For a cache group, a cache priority value Z included in each controller is calculated for each predetermined time period. As described later, the priority value calculation unit 2 may perform the predetermined calculation for each cache group, for example. The priority value calculation unit 2 transmits the calculated priority value Z to the cache attribute control unit 3.

本実施形態おいて、キャッシュとは、例えば、一般的に知られたディスクアレイ装置を構成するコントローラに含まれるキャッシュを示す。   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 value calculation unit 2 to obtain the controller configuration information, a general technique can be adopted at present. For this reason, in this embodiment, the detailed description regarding the technique which calculates | requires the structure information which concerns is abbreviate | omitted (hereinafter, the same also in each embodiment).

負荷情報101は、キャッシュグループに関連付けられた制御対象であるRankに対してI/O要求を発行するところのそれぞれのサーバ装置(以降、「情報処理装置」とも記す)における負荷(つまり、I/O負荷)を示す情報を含む。   The load information 101 is a load (i.e., I / O) in each server device (hereinafter also referred to as “information processing device”) that issues an I / O request to a Rank that is a control target associated with a cache group. O load) is included.

優先度情報102は、キャッシュグループに関連付けられた制御対象であるRankに対してI/O要求を発行するところのそれぞれのサーバ装置における優先度を示す情報を含む。   The priority information 102 includes information indicating the priority in each server device that issues an I / O request to a Rank that is a control target associated with the cache group.

ここで、優先度とは、サーバ装置から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 attribute control unit 3 sets the cache attributes (master, slave and sub-slave) for each cache group according to the cache priority value Z calculated for each cache group received from the priority value calculation unit 2. At the same time, the cache attribute is changed based on the determination result.

以下の説明において、より具体的に、本実施形態におけるキャッシュ制御装置1の動作について説明する。   In the following description, the operation of the cache control device 1 in the present embodiment will be described more specifically.

図2は、本発明の第1の実施形態におけるキャッシュ制御装置1が行う動作を示すフローチャートである。係るフローチャートに沿ってキャッシュ制御装置1の動作手順を説明する。   FIG. 2 is a flowchart showing operations performed by the cache control device 1 according to the first embodiment of the present invention. The operation procedure of the cache control device 1 will be described along the flowchart.

ステップS1:
優先値算出部2は、コントローラの構成情報を求めると共に、求めた構成情報と負荷情報101及び優先度情報102に基づき所定の演算によって、キャッシュグループ毎に、それぞれのコントローラに含まれるキャッシュの優先値Zを算出する。優先値算出部2は、算出した優先値Zをキャッシュ属性制御部3に対して送信する。
Step S1:
The priority value calculation unit 2 obtains the controller configuration information, and performs a predetermined calculation based on the obtained configuration information, the load information 101, and the priority information 102, for each cache group, the priority value of the cache included in each controller. Z is calculated. The priority value calculation unit 2 transmits the calculated priority value Z to the cache attribute control unit 3.

より具体的に、一例として、ここでは、優先値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 value calculation unit 2 calculates the priority value Z by, for example, the following equation (1).

Figure 0005895911
Figure 0005895911

式(1)において、各パラメータは、以下の通りである。   In equation (1), each parameter is as follows.

・p:優先値Zの算出対象となるキャッシュを含むキャッシュグループを識別可能なキャッシュグループ番号、
・x:優先値Zの算出対象となるキャッシュを含むコントローラを識別可能なコントローラ番号、
・m:キャッシュグループに関連付けられた制御対象であるRank数、
・n:キャッシュグループを含む1つ以上のキャッシュグループに関連付けられた制御対象であるRankに対してI/O要求を発行するサーバ装置数(全てのサーバ装置数)、
・Aki:キャッシュグループに関連付けられた制御対象であるRankに対してI/O要求を発行するサーバ装置における優先度、
・Bki:キャッシュグループに関連付けられた制御対象であるRankに対してI/O要求を発行するサーバ装置におけるI/O負荷、
・C:キャッシュグループにおいて、コントローラと同一の筐体内に存在するコントローラと異なる他のコントローラに含まれたキャッシュと、優先値Zの算出対象となるキャッシュとの冗長性を判定した結果を示す値、及び
・D:コントローラにおける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は、キャッシュグループに関連付けられた全てのRankに対してI/O要求を発行する全てのサーバ装置における優先度の総和となる。また、要素Bは、キャッシュグループに関連付けられた全ての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 .

さらに、Cは、優先値Zの算出対象となるキャッシュを含むキャッシュグループにおいて、コントローラと同一の筐体内のコントローラと異なる他のコントローラ(つまり、他のコントローラ)に含まれたキャッシュの属性がキャッシュマスタ、またはキャッシュスレーブの何れかの場合に、値を「0」、一方で、キャッシュマスタ、またはキャッシュスレーブの何れかでない場合に、値を「1」とする。ここで、コントローラと同一の筐体内のコントローラと異なる他のコントローラとは、優先値Zの算出対象となるキャッシュを含むキャッシュグループにおいて、コントローラを含む物理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は、キャッシュグループにおいて、コントローラと同一の筐体内にキャッシュマスタとキャッシュスレーブとを含む構成になることを抑制することができる。 Thereby, the cache control device 1 can suppress the cache group p from being configured to include the cache master and the cache slave in the same casing as the controller x .

また、Dは、コントローラにおける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 attribute control unit 3 includes a controller and a cache including a cache corresponding to the priority value Z indicating the largest value among the priority values Z of the respective caches calculated for each cache group received from the priority value calculation unit 2. Ask for a group.

尚、上述した本実施形態では、説明の便宜上、一例として、キャッシュ属性制御部3は、キャッシュグループ毎に算出されたそれぞれのキャッシュの優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含むコントローラとキャッシュグループとを求める構成を例に説明した。   In the embodiment described above, for convenience of explanation, as an example, the cache attribute control unit 3 sets the priority value Z indicating the largest value among the priority values Z of the respective caches calculated for each cache group. The configuration for obtaining the controller and cache group including the corresponding cache has been described as an example.

しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ属性制御部3は、例えば、キャッシュグループ毎に算出されたそれぞれのキャッシュの優先値Zの中から、最も小さい値を示す優先値Zに対応するキャッシュを含むコントローラとキャッシュグループとを求める構成を採用してもよい。   However, the embodiment according to the present invention is not limited to such a configuration. For example, the cache attribute control unit 3 is configured to obtain a controller and a cache group including a cache corresponding to the priority value Z indicating the smallest value from among the cache priority values Z calculated for each cache group. It may be adopted.

この場合に、キャッシュ属性制御部3は、最も小さい値を示す優先値Zに対応するキャッシュをキャッシュサブスレーブに決定する構成を採用することができる。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない(以下、各実施形態においても同様)。   In this case, the cache attribute control unit 3 can adopt a configuration in which the cache corresponding to the priority value Z indicating the smallest value is determined as the cache sub-slave. However, the present invention described using this embodiment as an example is not limited to the configuration described above (hereinafter, the same applies to each embodiment).

ステップS3:
キャッシュ属性制御部3は、求めたキャッシュグループにおいて、既に属性がマスタ(つまり、キャッシュマスタ)に決定しているキャッシュが存在するか否か(つまり、キャッシュの有無)を判別する。
Step S3:
The cache attribute control unit 3 determines whether or not there is a cache whose attribute is already determined to be a master (that is, cache master) in the obtained cache group (that is, whether or not there is a cache).

ステップS3において「YES」:
キャッシュ属性制御部3は、求めたキャッシュグループにおいて、既に属性がキャッシュマスタに決定しているキャッシュの有無を判別した結果、既にキャッシュマスタに決定したキャッシュが有ると判別した場合に、処理をステップS5に進める。
“YES” in step S3:
When the cache attribute control unit 3 determines that there is a cache whose attribute is already determined as the cache master in the obtained cache group, and determines that there is a cache already determined as the cache master, the cache attribute control unit 3 performs the processing in step S5. Proceed to

ステップS3において「NO」:
キャッシュ属性制御部3は、求めたキャッシュグループにおいて、既に属性がキャッシュマスタに決定しているキャッシュの有無を判別した結果、既にキャッシュマスタに決定したキャッシュが無いと判別した場合に、処理をステップS4に進める。
“NO” in step S3:
If the cache attribute control unit 3 determines in the obtained cache group that there is no cache whose attribute has already been determined as the cache master, and determines that there is no cache already determined as the cache master, the process proceeds to step S4. Proceed to

ステップS4:
キャッシュ属性制御部3は、ステップS2において求めたコントローラに含まれるキャッシュの属性を、求めたキャッシュグループにおいてマスタ(つまり、キャッシュマスタ)に決定する。キャッシュ属性制御部3は、処理をステップS7に進める。
Step S4:
The cache attribute control unit 3 determines the cache attribute included in the controller obtained in step S2 as a master (that is, cache master) in the obtained cache group. The cache attribute control unit 3 advances the process to step S7.

ステップS5:
キャッシュ属性制御部3は、ステップS2において求めたコントローラに含まれたキャッシュの属性を、求めたキャッシュグループにおいてスレーブ(つまり、キャッシュスレーブ)に決定する。
Step S5:
The cache attribute control unit 3 determines the attribute of the cache included in the controller obtained in step S2 as a slave (that is, a cache slave) in the obtained cache group.

ステップS6:
キャッシュ属性制御部3は、求めたキャッシュグループにおいて、キャッシュマスタ及びキャッシュスレーブに決定したキャッシュを含むコントローラと異なる他のコントローラに含まれるキャッシュの属性をサブスレーブ(つまり、キャッシュサブスレーブ)に決定する。即ち、キャッシュ属性制御部3は、属性の決定していないキャッシュの属性をサブスレーブに決定する。
Step S6:
In the obtained cache group, the cache attribute control unit 3 determines the attribute of the cache included in another controller different from the controller including the cache determined as the cache master and the cache slave as the sub slave (that is, the cache sub slave). That is, the cache attribute control unit 3 determines a cache attribute whose attribute is not determined as a sub slave.

ステップS7:
キャッシュ属性制御部3は、求めたキャッシュグループと異なる他のキャッシュグループにおいて、求めたコントローラに含まれるキャッシュの属性を、サブスレーブに決定する。
Step S7:
The cache attribute control unit 3 determines the attribute of the cache included in the obtained controller as a sub slave in another cache group different from the obtained cache group.

ステップS8:
キャッシュ属性制御部3は、求めたキャッシュグループを含む1つ以上のキャッシュグループ毎にそれぞれのキャッシュの属性が全て決定したか否かを判別する。
Step S8:
The cache attribute control unit 3 determines whether or not all cache attributes have been determined for each of one or more cache groups including the obtained cache group.

ステップ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 attribute control unit 3 advances the process to step S10 when determining that the cache attribute has been determined.

ステップS8において「NO」:
キャッシュ属性制御部3は、キャッシュグループ毎にそれぞれのキャッシュの属性が全て決定しているか否かを判別した結果、係るキャッシュの属性が決定していないと判別した場合に、処理をステップS9に進める。
“NO” in step S8:
If the cache attribute control unit 3 determines that all the cache attributes have been determined for each cache group and determines that the cache attribute has not been determined, the process proceeds to step S9. .

ステップS9:
優先値算出部2は、コントローラの構成情報を求めると共に、求めた構成情報、負荷情報101及び優先度情報102に基づき所定の演算によって、キャッシュグループ毎に、それぞれのコントローラに含まれるキャッシュの中から属性が決定していないキャッシュの優先値Zを算出する。優先値算出部2は、算出した優先値Zをキャッシュ属性制御部3に対して送信すると共に、処理をステップS2に戻す。
Step S9:
The priority value calculation unit 2 obtains the controller configuration information, and performs a predetermined calculation based on the obtained configuration information, load information 101, and priority information 102, for each cache group, from among the caches included in each controller. The priority value Z of the cache whose attribute is not determined is calculated. The priority value calculation unit 2 transmits the calculated priority value Z to the cache attribute control unit 3 and returns the process to step S2.

尚、上述した本実施形態では、説明の便宜上、一例として、優先値算出部2は、ステップS9において、キャッシュグループ毎に、それぞれのコントローラに含まれるキャッシュの中から属性が決定していないキャッシュの優先値Zを算出する構成を例に説明した。   In the above-described embodiment, for convenience of explanation, as an example, the priority value calculation unit 2 determines, for each cache group, caches whose attributes are not determined from the caches included in each controller in step S9. The configuration for calculating the priority value Z has been described as an example.

しかしながら本発明に係る実施形態は、係る構成に限定されない。優先値算出部2は、ステップS1において説明したキャッシュグループ毎に、それぞれのコントローラに含まれるキャッシュの優先値Zを算出する構成を採用してもよい。   However, the embodiment according to the present invention is not limited to such a configuration. The priority value calculation unit 2 may adopt a configuration for calculating the cache priority value Z included in each controller for each cache group described in step S1.

ステップS10:
キャッシュ属性制御部3は、決定結果に基づいて、キャッシュの属性を変更する。
Step S10:
The cache attribute control unit 3 changes the cache attribute based on the determination result.

尚、上述した本実施形態では、説明の便宜上、一例として、キャッシュ制御装置1は、所定の時間周期毎に上述した処理を実行する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ制御装置1は、優先値Zに優先値Zを算出した時刻を示すパラメータを付加すると共に、付加された時刻に応じて、上述した処理を実行する構成を採用してもよい。これにより、キャッシュ制御装置1は、キャッシュの属性を変更してからあまり時間が経過していない場合に、上述した処理を実行しないように制御することができる。   In the above-described embodiment, as an example, for the sake of convenience of explanation, the cache control device 1 has been described by taking an example of a configuration in which the above-described processing is executed every predetermined time period. However, the embodiment according to the present invention is not limited to such a configuration. The cache control device 1 may employ a configuration in which a parameter indicating the time when the priority value Z is calculated is added to the priority value Z, and the above-described processing is executed according to the added time. As a result, the cache control device 1 can perform control so as not to execute the above-described processing when a long time has not elapsed since the cache attribute was changed.

また、優先値算出部2は、優先値Zの増減値を算出すると共に、その算出した増減値が所定の閾値を超えた場合に、上述した処理を実行する構成を採用してもよい。これにより、キャッシュ制御装置1は、例えば、負荷情報101に含まれたI/O負荷が大幅に増減した場合に、最適なキャッシュの属性を判定することができる。   In addition, the priority value calculation unit 2 may calculate an increase / decrease value of the priority value Z, and may execute a process described above when the calculated increase / decrease value exceeds a predetermined threshold. Thereby, for example, when the I / O load included in the load information 101 greatly increases or decreases, the cache control device 1 can determine the optimal cache attribute.

このように本実施の形態に係るキャッシュ制御装置1によれば、I/O処理に関する状態や情報が動的に変化した場合であっても、ディスクアレイ装置の性能が劣化するのを抑止することができる。その理由は、以下に述べる通りである。   As described above, according to the cache control device 1 according to the present embodiment, it is possible to prevent the performance of the disk array device from deteriorating even when the state and information related to the I / O processing are dynamically changed. Can do. The reason is as described below.

即ち、キャッシュ制御装置1は、I/O処理に関する状態や情報に応じて、複数のキャッシュの中から最適なキャッシュの属性を判定すると共に、判定したキャッシュによりキャッシュグループを構成することができるからである。   In other words, the cache control device 1 can determine an optimal cache attribute from a plurality of caches according to the state and information related to I / O processing, and can configure a cache group with the determined cache. is there.

より具体的に、キャッシュ制御装置1の優先値算出部2は、例えば、サーバ装置とキャッシュ制御装置1を有するディスクアレイ装置間における負荷情報101、優先度情報102と、コントローラの構成情報に基づき所定の演算によって、キャッシュの優先値Zを算出する。キャッシュ属性制御部3は、優先値算出部2が算出した優先値Zに応じて、キャッシュの属性(マスタ、スレーブ及びサブスレーブ)を判定すると共に、その判定結果に基づいて、当該キャッシュの属性を変更することができるからである。即ち、キャッシュ制御装置1は、キャッシュ制御装置1は、サーバ装置とディスクアレイ装置間において、I/O負荷や優先度、ディスクアレイ装置の構成情報に応じて、キャッシュの属性を動的に変更することができるからである。   More specifically, the priority value calculation unit 2 of the cache control device 1 is predetermined based on load information 101, priority information 102, and controller configuration information between the server device and the disk array device having the cache control device 1, for example. The cache priority value Z is calculated by the above calculation. The cache attribute control unit 3 determines a cache attribute (master, slave, and sub-slave) according to the priority value Z calculated by the priority value calculation unit 2, and determines the cache attribute based on the determination result. This is because it can be changed. That is, the cache control device 1 dynamically changes the cache attributes between the server device and the disk array device according to the I / O load, priority, and disk array device configuration information. Because it can.

これにより、例えば、キャッシュ制御装置1を有するディスクアレイ装置は、キャッシュの属性(マスタ、スレーブ及びサブスレーブ)よる性能の劣化を抑制することができる。   Thereby, for example, the disk array device having the cache control device 1 can suppress deterioration in performance due to cache attributes (master, slave, and sub-slave).

さらに、例えば、ユーザは、ディスクアレイ装置を構成するキャッシュの属性による性能差を気にすることなくサーバ装置とディスクアレイ装置とを接続することができる。また、新たに増設するサーバ装置をディスクアレイ装置に接続する場合であっても、ユーザは、サーバ装置とディスクアレイ装置との接続を見直す必要がない。   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 cache control device 1 according to the first embodiment of the present invention described above will be described. In the following description, the characteristic part according to the present embodiment will be mainly described. At this time, the same reference numerals are assigned to the same configurations as those in the above-described embodiments, and duplicate descriptions are omitted.

本発明の第2の実施形態におけるキャッシュ制御装置10について、図2乃至図6を参照して説明する。   A cache control device 10 according to a second embodiment of the present invention will be described with reference to FIGS.

図3は、本発明の第2の実施形態におけるキャッシュ制御装置10を含むコントローラ群20の構成を示すブロック図である。   FIG. 3 is a block diagram showing a configuration of the controller group 20 including the cache control device 10 according to the second embodiment of the present invention.

本実施形態において、説明の便宜上、一例として、図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 controller group 20 shown in FIG. 3 is a controller included in the disk array device. The controller group 20 includes a first controller 21 (controller # 0, a specific controller), a second controller 22 (controller # 1), a third controller 23 (controller # 2), and a fourth controller 24 (controller # 3). It shall have. In FIG. 3, it is assumed that the first controller 21 and the third controller 23 exist in the same casing. Further, it is assumed that the second controller 22 and the fourth controller 24 exist in the same casing. That is, the first controller 21 and the third controller 23 are included in the same physical DAC group (DAC housing). The second controller 22 and the fourth controller 24 are included in the same physical DAC group (DAC housing).

図3において、第1コントローラ21は、キャッシュ制御装置10を有することとする。また、第2コントローラ22乃至第4コントローラ24は、キャッシュ制御装置10aを有することとする。   In FIG. 3, the first controller 21 includes the cache control device 10. Further, the second controller 22 to the fourth controller 24 include the cache control device 10a.

キャッシュ制御装置10は、優先値算出部12と、監視部11と、キャッシュ属性判定部13と、キャッシュ属性変更部14と、設定部15とを備える。   The cache control device 10 includes a priority value calculation unit 12, a monitoring unit 11, a cache attribute determination unit 13, a cache attribute change unit 14, and a setting unit 15.

キャッシュ制御装置10aは、優先値算出部12と、監視部11と、キャッシュ属性変更部14とを備える。   The cache control device 10a includes a priority value calculation unit 12, a monitoring unit 11, and a cache attribute change unit 14.

監視部11は、1つ以上のサーバ装置から1つ以上のRankに対して発行されるI/O要求を監視すると共に、そのI/O要求に基づきサーバ装置を対象として、優先度及びI/O負荷を求める。監視部11は、後述するように、例えば、係る優先度及びI/O負荷をサーバ装置毎に行ってもよい。さらに、監視部11は、求めたサーバ装置毎の優先度及びI/O負荷を、負荷情報及び優先度情報として、優先値算出部12に対して送信する。   The monitoring unit 11 monitors I / O requests issued from one or more server devices to one or more Ranks, and uses the priority and I / O for the server devices based on the I / O requests. Find the O load. As will be described later, the monitoring unit 11 may perform the priority and I / O load for each server device, for example. Furthermore, the monitoring unit 11 transmits the obtained priority and I / O load for each server device to the priority value calculation unit 12 as load information and priority information.

より具体的に、監視部11は、所定の時間に亘って、それぞれのサーバ装置からRankに対して発行されたI/O要求を監視すると共に、そのI/O要求に設定された優先度の平均値を、当該サーバ装置の優先度として求めてもよい。   More specifically, the monitoring unit 11 monitors an I / O request issued from each server device to the Rank over a predetermined time, and the priority set in the I / O request. You may obtain | require an average value as a priority of the said server apparatus.

尚、監視部11がI/O負荷及び優先度を求める技術自体は、現在では一般的な技術を採用することができる。そのため、本実施形態において、係るI/O負荷及び優先度を求める技術に関する詳細な説明は省略する(以下、各実施形態においても同様)。   Incidentally, as the technology for the monitoring unit 11 to obtain the I / O load and the priority, a general technology can be adopted at present. For this reason, in this embodiment, a detailed description of the technique for obtaining the I / O load and priority is omitted (hereinafter, the same applies to each embodiment).

優先値算出部12は、コントローラの構成情報を求めると共に、求めた構成情報、負荷情報101及び優先度情報102に基づき所定の演算によって、キャッシュグループ毎に、当該優先値算出部12を含むコントローラに含まれるキャッシュの優先値Zを算出する。優先値算出部12は、キャッシュグループ毎に算出した優先値Zをキャッシュ属性判定部13に対して送信する。   The priority value calculation unit 12 obtains the controller configuration information, and performs a predetermined calculation on the basis of the obtained configuration information, load information 101 and priority information 102 for each cache group to the controller including the priority value calculation unit 12. The priority value Z of the included cache is calculated. The priority value calculation unit 12 transmits the priority value Z calculated for each cache group to the cache attribute determination unit 13.

次に、キャッシュ属性判定部13とキャッシュ属性変更部14とは、第1の実施形態において説明したキャッシュ属性制御部3に相当する。キャッシュ属性判定部13は、図2に示すステップS2乃至ステップS8において説明した処理を実行する。キャッシュ属性変更部14は、図2に示すステップS10において説明した処理を実行する。   Next, the cache attribute determination unit 13 and the cache attribute change unit 14 correspond to the cache attribute control unit 3 described in the first embodiment. The cache attribute determination unit 13 executes the processing described in steps S2 to S8 shown in FIG. The cache attribute changing unit 14 executes the process described in step S10 illustrated in FIG.

より具体的に、キャッシュ属性判定部13は、優先値算出部12から受信した優先値Zに応じて、キャッシュの属性(マスタ、スレーブ及びサブスレーブ)を判定すると共に、判定結果をキャッシュ属性変更部14に対して送信する。   More specifically, the cache attribute determination unit 13 determines cache attributes (master, slave, and sub-slave) according to the priority value Z received from the priority value calculation unit 12, and the determination result is transmitted to the cache attribute change unit. 14 is transmitted.

キャッシュ属性変更部14は、キャッシュ属性判定部13から受信した判定結果に基づいて、キャッシュの属性を変更する。   The cache attribute change unit 14 changes the cache attribute based on the determination result received from the cache attribute determination unit 13.

設定部15は、例えば、ユーザの操作に応じて、優先値算出部12が優先値Zを算出する際に用いるパラメータを設定する。また、設定部15は、ユーザの操作に応じて、キャッシュの属性を変更する。   For example, the setting unit 15 sets parameters used when the priority value calculation unit 12 calculates the priority value Z in accordance with a user operation. Further, the setting unit 15 changes the cache attribute in accordance with the user's operation.

以下の説明において、より具体的に、本実施形態におけるキャッシュ制御装置10の動作について説明する。   In the following description, the operation of the cache control device 10 in the present embodiment will be described more specifically.

ここで、説明の便宜上、一例として、キャッシュ制御装置10は、第1コントローラ21、第2コントローラ22、第3コントローラ23及び第4コントローラ24の4つのコントローラに含まれるキャッシュの属性を変更することとする。   Here, for convenience of explanation, as an example, the cache control device 10 changes the attributes of the caches included in the four controllers of the first controller 21, the second controller 22, the third controller 23, and the fourth controller 24. To do.

図4は、本発明の第2の実施形態におけるキャッシュ制御装置10により変更する前のキャッシュの属性と、そのキャッシュを含むコントローラとサーバ装置との接続関係を概念的に例示する図である。   FIG. 4 is a diagram conceptually illustrating the attributes of the cache before being changed by the cache control device 10 according to the second embodiment of the present invention, and the connection relationship between the controller including the cache and the server device.

図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 cache master 51 and a cache slave 52. A cache other than the cache master 51 and the cache slave 52 is a cache sub-slave 53 and a cache sub-slave 54. The first cache group 42 (cache group # 1) includes a cache master 55 and a cache slave 56. Caches other than the cache master 55 and the cache slave 56 are a cache sub slave 57 and a cache sub slave 58.

第1サーバ装置43、第2サーバ装置44、第7サーバ装置49及び第8サーバ装置50は、第1コントローラ21に接続されていることとする。   It is assumed that the first server device 43, the second server device 44, the seventh server device 49, and the eighth server device 50 are connected to the first controller 21.

第3サーバ装置45は、第2コントローラ22及び第3コントローラ23に接続されていることとする。第4サーバ装置46は、第2コントローラ22に接続されていることとする。   The third server device 45 is connected to the second controller 22 and the third controller 23. The fourth server device 46 is connected to the second controller 22.

第5サーバ装置47は、第4コントローラ24に接続されていることとする。第6サーバ装置48は、第3コントローラ23及び第4コントローラ24に接続されていることとする。   It is assumed that the fifth server device 47 is connected to the fourth controller 24. The sixth server device 48 is connected to the third controller 23 and the fourth controller 24.

第1サーバ装置43、第6サーバ装置48及び第8サーバ装置50は、Rank1に対してI/O要求を発行することとする。第2サーバ装置44は、Rank3に対してI/O要求を発行することとする。   The first server device 43, the sixth server device 48, and the eighth server device 50 issue an I / O request to Rank1. The second server device 44 issues an I / O request to Rank3.

第3サーバ装置45は、Rank0に対してI/O要求を発行することとする。第4サーバ装置46は、Rank2に対してI/O要求を発行することとする。第5サーバ装置47は、Rank4に対してI/O要求を発行することとする。第7サーバ装置49は、Rank6に対してI/O要求を発行することとする。   The third server device 45 issues an I / O request to Rank0. The fourth server device 46 issues an I / O request to Rank2. The fifth server device 47 issues an I / O request to Rank4. The seventh server device 49 issues an I / O request to the Rank 6.

尚、説明の便宜上、上述した構成を例に説明するが、本実施形態を例に説明する本発明は、この構成にはこれに限定されない(以下の実施形態においても同様)。   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 monitoring unit 11 of the first controller 21 to the fourth controller 24 transmits load information and priority information to the priority value calculation unit 12 of the first controller 21 to the fourth controller 24 for each predetermined time period. .

以下の説明において、説明の便宜上、ここでは、第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 monitoring unit 11 of the first controller 21 to the priority value calculation unit 12 of the first controller 21 are respectively referred to as the first load information. 101a and first priority information 102a. The load information and priority information transmitted from the monitoring unit 11 of the second controller 22 to the priority value calculation unit 12 of the second controller 22 are referred to as second load information 101b and second priority information 102b, respectively.

また、第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 monitoring unit 11 of the third controller 23 to the priority value calculation unit 12 of the third controller 23 are referred to as third load information 101c and third priority information 102c. The load information and priority information transmitted from the monitoring unit 11 of the fourth controller 24 to the priority value calculation unit 12 of the fourth controller 24 are referred to as fourth load information 101d and fourth priority information 102d.

第1コントローラ21乃至第4コントローラ24の優先値算出部12は、第1コントローラ21乃至第4コントローラ24の構成情報を求めると共に、求めた構成情報、負荷情報101(101a、101b、101c及び101d)及び優先度情報102(102a、102b、102c及び102d)に基づき所定の演算によって、キャッシュグループ毎に、コントローラに含まれるキャッシュの優先値Zを算出する。   The priority value calculation unit 12 of the first controller 21 to the fourth controller 24 obtains the configuration information of the first controller 21 to the fourth controller 24 and the obtained configuration information and load information 101 (101a, 101b, 101c, and 101d). The cache priority value Z included in the controller is calculated for each cache group by a predetermined calculation based on the priority information 102 (102a, 102b, 102c and 102d).

より具体的に、一例として、第1コントローラ21の優先値算出部12は、第1コントローラ21の構成情報を求めると共に、求めた構成情報、負荷情報101a及び優先度情報102aに基づき所定の演算によって、キャッシュグループ毎に、第1コントローラ21に含まれるキャッシュの優先値Zを算出する。   More specifically, as an example, the priority value calculation unit 12 of the first controller 21 obtains the configuration information of the first controller 21 and performs a predetermined calculation based on the obtained configuration information, load information 101a, and priority information 102a. The priority value Z of the cache included in the first controller 21 is calculated for each cache group.

より具体的に、ここでは、図4に示すサーバ装置の接続図に基づき、第1キャッシュグループ42を構成する第1コントローラ21に含まれるキャッシュの優先値Zを算出する場合について説明する。   More specifically, here, a case where the priority value Z of the cache included in the first controller 21 configuring the first cache group 42 is calculated based on the connection diagram of the server apparatus illustrated in FIG. 4 will be described.

図4において、第1コントローラ21には、第1サーバ装置43、第2サーバ装置44、第7サーバ装置49及び第8サーバ装置50が接続されている。   In FIG. 4, a first server device 43, a second server device 44, a seventh server device 49, and an eighth server device 50 are connected to the first controller 21.

また、第1キャッシュグループ42は、奇数番号のRankに対するI/O処理を実行する。そのため、第1キャッシュグループ42において、第1コントローラ21に含まれるキャッシュの優先値Zを算出する際に対象となるサーバ装置は、第1サーバ装置43、第2サーバ装置44及び第8サーバ装置50である。   The first cache group 42 executes an I / O process for odd-numbered Ranks. Therefore, in the first cache group 42, the server devices that are the targets when calculating the cache priority value Z included in the first controller 21 are the first server device 43, the second server device 44, and the eighth server device 50. It is.

第1コントローラ21の優先値算出部12は、係るキャッシュの優先値Zを、以下の式(2)によって求める。   The priority value calculation unit 12 of the first controller 21 obtains the cache priority value Z by the following equation (2).

Figure 0005895911
Figure 0005895911

第1コントローラ21乃至第4コントローラ24の優先値算出部12は、算出した優先値Zを、第1コントローラ21のキャッシュ属性判定部13に対して送信する。   The priority value calculation unit 12 of the first controller 21 to the fourth controller 24 transmits the calculated priority value Z to the cache attribute determination unit 13 of the first controller 21.

図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 value calculation unit 12 in the second embodiment of the present invention.

図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 constitute the cache group. The second and third columns represent the cache priority value Z calculated for each cache group by the priority value calculation unit 12 or the cache attribute determined by the cache attribute determination unit 13.

図5Aは、本発明の第2の実施形態における優先値算出部12によって算出した優先値Zを具体的に例示する図である(1度目の算出)。   FIG. 5A is a diagram specifically illustrating the priority value Z calculated by the priority value calculation unit 12 in the second embodiment of the present invention (first calculation).

図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 first controller 21 configuring the first cache group 42.

そのため、キャッシュ属性判定部13は、第1コントローラ21乃至第4コントローラ24の優先値算出部12から受信した優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含むコントローラとキャッシュグループとを求める。   Therefore, the cache attribute determination unit 13 includes a controller including a cache corresponding to the priority value Z indicating the largest value among the priority values Z received from the priority value calculation units 12 of the first controller 21 to the fourth controller 24. Ask for a cash group.

ここでは、キャッシュ属性判定部13は、第1コントローラ21と第1キャッシュグループ42とを求めることとする。   Here, the cache attribute determination unit 13 obtains the first controller 21 and the first cache group 42.

さらに、キャッシュ属性判定部13は、求めた第1キャッシュグループ42において、既にキャッシュマスタに属性を決定したキャッシュが存在するか否かを判別する。   Further, the cache attribute determination unit 13 determines whether or not there is a cache whose attribute has already been determined for the cache master in the obtained first cache group 42.

ここでは、第1キャッシュグループ42において、既にキャッシュマスタに属性を決定したキャッシュが存在しないため、キャッシュ属性判定部13は、求めた第1コントローラ21に含まれるキャッシュの属性を、第1キャッシュグループ42においてキャッシュマスタに決定する。   Here, in the first cache group 42, there is no cache whose attribute has already been determined as the cache master. Therefore, the cache attribute determination unit 13 determines the attribute of the cache included in the first controller 21 as the first cache group 42. To determine the cache master.

さらに、キャッシュ属性判定部13は、求めた第1キャッシュグループ42と異なる他の第0キャッシュグループ41において、第1コントローラ21に含まれるキャッシュの属性を、キャッシュサブスレーブに決定する。   Further, the cache attribute determination unit 13 determines the cache attribute included in the first controller 21 as a cache sub-slave in another 0th cache group 41 different from the obtained first cache group 42.

キャッシュ属性判定部13は、キャッシュグループ(第0キャッシュグループ41及び第1キャッシュグループ42)毎にそれぞれのコントローラに含まれるキャッシュの属性が全て決定しているか否かを判別した結果、係るキャッシュの属性が決定していないと判別する。   The cache attribute determination unit 13 determines whether or not all the cache attributes included in each controller have been determined for each cache group (the zeroth cache group 41 and the first cache group 42), and as a result, the cache attribute Is determined to be undecided.

第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 value calculation unit 12 of the first controller 21 to the fourth controller 24 obtains the configuration information of the first controller 21 to the fourth controller 24 and the obtained configuration information and load information 101 (101a, 101b, 101c, and 101d). And the priority value Z of the cache included in the controller for which the cache attribute included in the cache group is not determined for each cache group by a predetermined calculation based on the priority information 102 (102a, 102b, 102c and 102d). calculate. The priority value calculation unit 12 transmits the calculated priority value Z to the cache attribute control unit 3.

図5Bは、本発明の第2の実施形態における優先値算出部12によって算出した優先値Zを具体的に例示する図である(2度目の算出)。   FIG. 5B is a diagram specifically illustrating the priority value Z calculated by the priority value calculation unit 12 in the second embodiment of the present invention (second calculation).

図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 second controller 22 configuring the 0th cache group 41.

そのため、キャッシュ属性判定部13は、第1コントローラ21乃至第4コントローラ24の優先値算出部12から受信した優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含む第2コントローラ22と第0キャッシュグループ41とを求める。   Therefore, the cache attribute determination unit 13 includes a cache corresponding to the priority value Z indicating the largest value among the priority values Z received from the priority value calculation units 12 of the first controller 21 to the fourth controller 24. The controller 22 and the 0th cache group 41 are obtained.

さらに、キャッシュ属性判定部13は、求めた第0キャッシュグループ41において、既にキャッシュマスタに属性を決定したキャッシュが存在するか否かを判別する。   Further, the cache attribute determination unit 13 determines whether or not there is a cache whose attribute has already been determined for the cache master in the obtained 0th cache group 41.

ここでは、第0キャッシュグループ41において、既にキャッシュマスタに属性を決定したキャッシュが存在しないため、キャッシュ属性判定部13は、求めた第2コントローラ22に含まれるキャッシュの属性を、第0キャッシュグループ41においてキャッシュマスタに決定する。   Here, in the 0th cache group 41, since there is no cache whose attribute has already been determined as the cache master, the cache attribute determination unit 13 determines the cache attribute included in the obtained second controller 22 as the 0th cache group 41. To determine the cache master.

キャッシュ属性判定部13は、求めた第0キャッシュグループ41と異なる他の第1キャッシュグループ42において、第2コントローラ22に含まれるキャッシュの属性を、キャッシュサブスレーブに決定する。   The cache attribute determination unit 13 determines the cache attribute included in the second controller 22 as a cache sub-slave in another first cache group 42 different from the obtained zeroth cache group 41.

キャッシュ属性制御部3は、キャッシュグループ(第0キャッシュグループ41及び第1キャッシュグループ42)毎にそれぞれのコントローラに含まれるキャッシュの属性が全て決定しているか否かを判別した結果、係るキャッシュの属性が決定していないと判別する。   The cache attribute control unit 3 determines whether or not all the cache attributes included in each controller are determined for each cache group (the 0th cache group 41 and the first cache group 42), and as a result, determines the cache attributes. Is determined to be undecided.

第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 value calculation unit 12 of the first controller 21 to the fourth controller 24 obtains the configuration information of the first controller 21 to the fourth controller 24 and the obtained configuration information and load information 101 (101a, 101b, 101c, and 101d). And the priority value Z of the cache included in the controller for which the cache attribute included in the cache group is not determined for each cache group by a predetermined calculation based on the priority information 102 (102a, 102b, 102c and 102d). calculate. The priority value calculation unit 12 transmits the calculated priority value Z to the cache attribute control unit 3.

図5Cは、本発明の第2の実施形態における優先値算出部12によって算出した優先値Zを具体的に例示する図である(3度目の算出)。   FIG. 5C is a diagram specifically illustrating the priority value Z calculated by the priority value calculation unit 12 in the second embodiment of the present invention (third calculation).

図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 third controller 23 configuring the 0th cache group 41.

そのため、キャッシュ属性判定部13は、第1コントローラ21乃至第4コントローラ24の優先値算出部12から受信した優先値Zの中から、最も大きい値を示す優先値Zに対応するキャッシュを含む第3コントローラ23と第0キャッシュグループ41とを求める。   Therefore, the cache attribute determination unit 13 includes a cache corresponding to the priority value Z indicating the largest value among the priority values Z received from the priority value calculation units 12 of the first controller 21 to the fourth controller 24. The controller 23 and the 0th cache group 41 are obtained.

さらに、キャッシュ属性判定部13は、求めた第0キャッシュグループ41において、既にキャッシュマスタに属性を決定したキャッシュが存在するか否かを判別する。   Further, the cache attribute determination unit 13 determines whether or not there is a cache whose attribute has already been determined for the cache master in the obtained 0th cache group 41.

ここでは、第0キャッシュグループ41において、既にキャッシュマスタに属性を決定したキャッシュが存在するため、キャッシュ属性判定部13は、求めた第3コントローラ23に含まれたキャッシュの属性をキャッシュスレーブに決定する。   Here, in the 0th cache group 41, since there is a cache whose attribute has already been determined as the cache master, the cache attribute determination unit 13 determines the cache attribute included in the obtained third controller 23 as a cache slave. .

キャッシュ属性判定部13は、求めた第0キャッシュグループ41と異なる他の第1キャッシュグループ42において、第3コントローラ23に含まれるキャッシュの属性を、キャッシュサブスレーブに決定する。   The cache attribute determination unit 13 determines the cache attribute included in the third controller 23 as a cache sub-slave in another first cache group 42 different from the obtained zeroth cache group 41.

このように、キャッシュ制御装置10は、キャッシュグループ毎に全てのコントローラに含まれるキャッシュの属性が決定するまで上述した処理を繰り返す。   In this way, the cache control device 10 repeats the above-described processing until the cache attributes included in all the controllers are determined for each cache group.

キャッシュ属性判定部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 attribute determination unit 13 determines that all cache attributes have been determined. Is transmitted to the cache attribute changing unit 14.

キャッシュ属性変更部14は、キャッシュ属性判定部13から受信し決定結果に基づいて、キャッシュの属性を変更する。   The cache attribute change unit 14 changes the cache attribute based on the determination result received from the cache attribute determination unit 13.

図6は、本発明の第2の実施形態におけるキャッシュ属性判定部13によって決定されたキャッシュの属性を具体的に例示する図である。   FIG. 6 is a diagram specifically illustrating the cache attributes determined by the cache attribute determination unit 13 according to the second embodiment of the present invention.

図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 attribute determination unit 13.

尚、上述した本実施形態では、説明の便宜上、一例として、キャッシュ属性判定部13を含むキャッシュ制御装置10は、第1コントローラ21が有する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ制御装置10は、第1コントローラ21乃至第4コントローラ24の何れかが有する構成を採用してもよい。   In the above-described embodiment, for the sake of convenience of explanation, the cache controller 10 including the cache attribute determination unit 13 is described as an example of the configuration of the first controller 21. However, the embodiment according to the present invention is not limited to such a configuration. The cache control device 10 may employ a configuration included in any of the first controller 21 to the fourth controller 24.

また、上述した本実施形態では、説明の便宜上、一例として、キャッシュ制御装置10aは、設定部15とキャッシュ属性判定部13とを含まない構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ制御装置10aは、設定部15とキャッシュ属性判定部13とを含む構成を採用してもよい。   Further, in the present embodiment described above, for the sake of convenience of explanation, as an example, the cache control device 10a has been described by taking a configuration that does not include the setting unit 15 and the cache attribute determination unit 13. However, the embodiment according to the present invention is not limited to such a configuration. The cache control device 10a may adopt a configuration including the setting unit 15 and the cache attribute determination unit 13.

その場合に、キャッシュの属性は、1つ以上のキャッシュ属性判定部13のうち何れかのキャッシュ属性判定部13がキャッシュの属性を決定する構成を採用してもよい。   In this case, the cache attribute may be configured such that any one of the one or more cache attribute determination units 13 determines the cache attribute.

また、上述した本実施形態では、説明の便宜上、一例として、キャッシュ制御装置10を4つのコントローラを備えるディスクアレイ装置に適用した場合の動作について説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。キャッシュ制御装置10を4つ以上の、例えば、8つのコントローラを備えるディスクアレイ装置に適用してもよい。   Further, in the present embodiment described above, for convenience of explanation, the operation when the cache control device 10 is applied to a disk array device including four controllers has been described as an example. However, the embodiment according to the present invention is not limited to such a configuration. The cache control device 10 may be applied to a disk array device including four or more, for example, eight controllers.

その場合に、キャッシュグループを4つ用意し、そのキャッシュグループに関連付けるRankを4の倍数により区切ることによって、キャッシュ制御装置10は、キャッシュを制御することが可能である。   In that case, the cache control device 10 can control the cache by preparing four cache groups and dividing the Rank associated with the cache group by a multiple of 4.

また、上述した本実施形態では、説明の便宜上、一例として、監視部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 monitoring unit 11 is described as an example of a configuration for obtaining the I / O load and the priority. However, the embodiment according to the present invention is not limited to such a configuration. For example, when the I / O load or priority exceeds a predetermined threshold, the monitoring unit 11 determines that the I / O request is from a high load or high priority server device, and A configuration in which values are transmitted to the priority value calculation unit 12 as load information 101 and priority information 102 may be employed.

このように本実施の形態に係るキャッシュ制御装置10によれば、各実施形態において説明した効果を享受できると共に、さらに、サーバ装置とディスクアレイ装置との間において、I/O処理に関する状態や情報が動的に変化した場合であっても、より速やかに、ディスクアレイ装置の性能が劣化するのを抑止することができる。   As described above, according to the cache control device 10 according to the present embodiment, the effects described in the embodiments can be enjoyed, and further, the status and information regarding I / O processing between the server device and the disk array device. It is possible to prevent the performance of the disk array device from degrading more quickly even if the disk is dynamically changed.

その理由は、キャッシュ制御装置10(10、10a)をコントローラ毎に備えたからである。そのため、キャッシュ制御装置10の優先値算出部12は、より速やかに、キャッシュグループ毎に、コントローラに含まれるキャッシュの優先値Zを算出することができるからである。   This is because the cache control device 10 (10, 10a) is provided for each controller. Therefore, the priority value calculation unit 12 of the cache control device 10 can more quickly calculate the cache priority value Z included in the controller for each cache group.

(ハードウェア構成例)
上述した実施形態において図面に示した各部は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。これらの各ソフトウェアモジュールは、専用のハードウェアによって実現してもよい。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定されうる。この場合のハードウェア環境の一例を、図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 cache control device 1 shown in FIG. 1 or the cache control device 10 shown in FIG. The hardware environment which can implement | achieve each function in embodiment mentioned above is shown.

図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 information processing apparatus 300 shown in FIG. 7 includes a CPU (Central_Processing_Unit) 301, a ROM (Read_Only_Memory) 302, a RAM (Random_Access_Memory) 303, a hard disk 304 (storage device), and a communication interface (Interface: hereinafter “I”). / F ”) 305, and a reader / writer 308 capable of reading and writing data stored in a storage medium 307 such as a CD-ROM (Compact_Disc_Read_Only_Memory), and these components are connected via a bus 306 (communication line). It is a general computer.

そして、上述した実施形態を例に説明した本発明は、図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 information processing apparatus 300 shown in FIG. This is achieved by supplying a computer program capable of realizing the function and then reading the computer program to the CPU 301 of the hardware and executing it. Further, the computer program supplied to the apparatus may be stored in a nonvolatile storage device such as a readable / writable temporary storage memory (RAM 303) or a hard disk 304.

また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、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 SYMBOLS 1 Cache control apparatus 2 Priority value calculation part 3 Cache attribute control part 10 Cache control apparatus 10a Cache control apparatus 11 Monitoring part 12 Priority value calculation part 13 Cache attribute determination part 14 Cache attribute change part 15 Setting part 20 Controller group 21 1st controller 22 2nd controller 23 3rd controller 24 4th controller 41 0th cache group 42 1st cache group 43 1st server device 44 2nd server device 45 3rd server device 46 4th server device 47 5th server device 48 6th Server device 49 Seventh server device 50 Eighth server device 51 Cache master 52 Cache slave 53 Cache sub-slave 54 Cache sub-slave 55 Cache master 56 Cache slave 57 Cache Sub slave 58 Cache sub slave 101 Load information 101a First load information 101b Second load information 101c Third load information 101d Fourth load information 102 Priority information 102a First priority information 102b Second priority information 102c Third priority Degree information 102d Fourth priority information 201 First physical DAC group 202 Second physical DAC group 203 First logical DAC group 204 Second logical DAC group 205 First controller 206 Second controller 207 Third controller 208 Fourth controller 209 First 1 cache 210 2nd cache 211 3rd cache 212 4th cache 300 Information processing device 301 CPU
302 ROM
303 RAM
304 Hard Disk 305 Communication Interface 306 Bus 307 Storage Medium 308 Reader / Writer

Claims (9)

ディスクアレイ装置を制御する複数のコントローラの構成情報、前記ディスクアレイ装置にI/O要求を発行する情報処理装置におけるI/O負荷を示す負荷情報及び前記情報処理装置における優先度を示す優先度情報に基づき所定の演算によって、該複数のコントローラに含まれるそれぞれのキャッシュのうち、前記I/O要求に応じてI/O処理を実行するに際して主として利用されるマスタという属性をもつキャッシュ及びそのキャッシュに保持されたデータを二重化する際に利用されるスレーブという属性をもつキャッシュによって構成されたキャッシュグループを対象として、前記それぞれのキャッシュの優先値を算出する優先値算出部と、
前記算出した優先値の中から、最も大きい値を示す優先値に対応するキャッシュを含むコントローラと、前記キャッシュグループとを求め、
前記求めたキャッシュグループにおいて、既に属性がマスタに決定しているキャッシュの有無を判別した結果に応じて、前記求めたコントローラに含まれるキャッシュの属性をマスタ、またはスレーブの何れかに決定し、該キャッシュの属性をスレーブに決定した場合には、前記求めたコントローラと異なる他のコントローラに含まれるキャッシュのうち属性が決定していないキャッシュの属性を、マスタ及びスレーブとして利用できないサブスレーブに決定し、
前記求めたキャッシュグループと異なる他のキャッシュグループにおいて、前記求めたコントローラに含まれるキャッシュの属性を前記サブスレーブに決定する、
という一連の処理を実行すると共に、前記それぞれのキャッシュの属性を、該決定した属性に変更するキャッシュ属性制御部と、を備えることを特徴とするキャッシュ制御装置。
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 cache having a master attribute used mainly when executing an I / O process in response to the I / O request among the caches included in the plurality of controllers by a predetermined calculation based on A priority value calculation unit that calculates a priority value of each cache for a cache group configured by a cache having a slave attribute used when duplicating held data ;
From the calculated 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, If the attribute of the cache is determined as a slave, the attribute of the cache whose attribute is not determined among the caches included in another controller different from the obtained controller is determined as a sub-slave that cannot be used as a master and a slave,
In another cache group different from the obtained cache group, the attribute of the cache included in the obtained controller is determined as the sub slave.
And a cache attribute control unit that changes the attribute of each of the caches to the determined attribute.
前記キャッシュ属性制御部は、
前記キャッシュグループ毎に、前記それぞれのキャッシュの属性が決定したか否かを判別し、前記それぞれのキャッシュの属性が決定していないと判別した場合に、前記一連の処理を実行し、
前記優先値算出部は、
前記キャッシュ属性制御部により前記それぞれのキャッシュの属性が決定していないと判別した場合に、前記構成情報、前記負荷情報及び前記優先度情報に基づき前記所定の演算によって、前記キャッシュグループ毎に、前記それぞれのキャッシュの中から属性の決定していないキャッシュの優先値を算出する
ことを特徴とする請求項に記載のキャッシュ制御装置。
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, 2. The cache control apparatus according to claim 1 , wherein a priority value of a cache whose attribute is not determined is calculated from each of the caches.
前記構成情報は、
前記優先値の算出対象となるキャッシュの冗長構成を判定した結果を示す情報と、前記優先値の算出対象となるキャッシュを含むコントローラにおけるI/O処理を制御する制御部の属性を判定した結果を示す情報とを含む
ことを特徴とする請求項1または請求項2に記載のキャッシュ制御装置。
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 device according to claim 1 , wherein the cache control device includes information to be displayed.
前記負荷情報は、
前記キャッシュグループに関連付けられた制御対象である記憶領域に対してI/O要求を発行するそれぞれの情報処理装置における前記I/O負荷を示す情報を含む
ことを特徴とする請求項1乃至請求項の何れかに記載のキャッシュ制御装置。
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. 4. The cache control device according to any one of 3 .
前記優先度情報は、
前記それぞれの情報処理装置における前記優先度を示す情報を含む
ことを特徴とする請求項1乃至請求項の何れかに記載のキャッシュ制御装置。
The priority information is:
The cache control device according to any one of claims 1 to 4, characterized in that it comprises information indicating the priority in the respective information processing apparatus.
請求項1乃至請求項の何れかに記載されたキャッシュ制御装置を含むことを特徴とするディスクアレイ装置のコントローラ。 Controller of the disk array device characterized by including a cache control apparatus according to any one of claims 1 to 5. 1つ以上の情報処理装置からのI/O要求に応じて、I/O処理を実行する複数のコントローラを備えるディスクアレイ装置であって、
前記複数のコントローラのうち特定のコントローラは、
前記情報処理装置から発行される前記I/O要求を監視すると共に、そのI/O要求に基づき前記情報処理装置を対象として、優先度及び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;
Execute I / O processing in response to the I / O request in each of the 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 Included in the specific controller for a cache group composed of a cache having a master attribute that is used mainly when performing cache processing and a cache having a slave attribute that is used when duplicating data held in the cache. A priority value calculation unit for calculating the priority value of the cache to be
Among the priority values calculated by the priority value calculation unit included in the plurality of controllers, a controller including a cache corresponding to a 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, If the attribute of the cache is determined as a slave, the attribute of the cache whose attribute is not determined among the caches included in another controller different from the obtained controller is determined as a sub-slave that cannot be used as a master and a slave,
In another cache group different from the obtained cache group, the attribute of the cache included in the obtained controller is determined as the sub slave.
A cache attribute determination unit that executes a series of processes ,
A cache attribute change 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:
情報処理装置によって、
ディスクアレイ装置を制御する複数のコントローラの構成情報、前記ディスクアレイ装置にI/O要求を発行する情報処理装置におけるI/O負荷を示す負荷情報及び前記情報処理装置における優先度を示す優先度情報に基づき所定の演算によって、該複数のコントローラに含まれるそれぞれのキャッシュのうち、前記I/O要求に応じてI/O処理を実行するに際して主として利用されるマスタという属性をもつキャッシュ及びそのキャッシュに保持されたデータを二重化する際に利用されるスレーブという属性をもつキャッシュによって構成されたキャッシュグループを対象として、前記それぞれのキャッシュの優先値を算出し、
前記算出した優先値の中から、最も大きい値を示す優先値に対応するキャッシュを含むコントローラと、前記キャッシュグループとを求め、
前記求めたキャッシュグループにおいて、既に属性がマスタに決定しているキャッシュの有無を判別した結果に応じて、前記求めたコントローラに含まれるキャッシュの属性をマスタ、またはスレーブの何れかに決定し、該キャッシュの属性をスレーブに決定した場合には、前記求めたコントローラと異なる他のコントローラに含まれるキャッシュのうち属性が決定していないキャッシュの属性を、マスタ及びスレーブとして利用できないサブスレーブに決定し、
前記求めたキャッシュグループと異なる他のキャッシュグループにおいて、前記求めたコントローラに含まれるキャッシュの属性を前記サブスレーブに決定する、
という一連の処理を実行すると共に、前記それぞれのキャッシュの属性を、該決定した属性に変更する、
ことを特徴とするキャッシュの制御方法。
Depending on the information processing device,
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 cache having a master attribute used mainly when executing an I / O process in response to the I / O request among the caches included in the plurality of controllers by a predetermined calculation based on For cache groups configured with caches having the attribute of slaves used when duplexing the retained data, the priority values of the respective caches are calculated,
From the calculated 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, If the attribute of the cache is determined as a slave, the attribute of the cache whose attribute is not determined among the caches included in another controller different from the obtained controller is determined as a sub-slave that cannot be used as a master and a slave,
In another cache group different from the obtained cache group, the attribute of the cache included in the obtained controller is determined as the sub slave.
A series of processes are executed , and the attributes of the respective caches are changed to the determined attributes.
And a cache control method.
ディスクアレイ装置を制御する複数のコントローラの構成情報、前記ディスクアレイ装置にI/O要求を発行する情報処理装置におけるI/O負荷を示す負荷情報及び前記情報処理装置における優先度を示す優先度情報に基づき所定の演算によって、該複数のコントローラに含まれるそれぞれのキャッシュのうち、前記I/O要求に応じてI/O処理を実行するに際して主として利用されるマスタという属性をもつキャッシュ及びそのキャッシュに保持されたデータを二重化する際に利用されるスレーブという属性をもつキャッシュによって構成されたキャッシュグループを対象として、前記それぞれのキャッシュの優先値を算出する機能と、
前記算出した優先値の中から、最も大きい値を示す優先値に対応するキャッシュを含むコントローラと、前記キャッシュグループとを求め、
前記求めたキャッシュグループにおいて、既に属性がマスタに決定しているキャッシュの有無を判別した結果に応じて、前記求めたコントローラに含まれるキャッシュの属性をマスタ、またはスレーブの何れかに決定し、該キャッシュの属性をスレーブに決定した場合には、前記求めたコントローラと異なる他のコントローラに含まれるキャッシュのうち属性が決定していないキャッシュの属性を、マスタ及びスレーブとして利用できないサブスレーブに決定し、
前記求めたキャッシュグループと異なる他のキャッシュグループにおいて、前記求めたコントローラに含まれるキャッシュの属性を前記サブスレーブに決定する、
という一連の処理を実行すると共に、前記それぞれのキャッシュの属性を、該決定した属性に変更する機能と、
をコンピュータに実現させることを特徴とするコンピュータ・プログラム。
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 cache having a master attribute used mainly when executing an I / O process in response to the I / O request among the caches included in the plurality of controllers by a predetermined calculation based on A function for calculating a priority value of each cache for a cache group configured by a cache having a slave attribute used when duplexing held data ; and
From the calculated 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, If the attribute of the cache is determined as a slave, the attribute of the cache whose attribute is not determined among the caches included in another controller different from the obtained controller is determined as a sub-slave that cannot be used as a master and a slave,
In another cache group different from the obtained cache group, the attribute of the cache included in the obtained controller is determined as the sub slave.
And it executes a series of processes of the attributes of the respective cache, and the ability to change the attributes the determined,
A computer program characterized in that a computer is realized.
JP2013186845A 2013-09-10 2013-09-10 Cache control device, cache control method, disk array device and controller thereof, and computer program Expired - Fee Related JP5895911B2 (en)

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 JP2015055878A (en) 2015-03-23
JP5895911B2 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019049866A (en) 2017-09-11 2019-03-28 富士通株式会社 Information processing system, control device and control program
CN110968271B (en) * 2019-11-25 2024-02-20 北京劲群科技有限公司 High-performance data storage method, system and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912669B2 (en) * 2002-02-21 2005-06-28 International Business Machines Corporation Method and apparatus for maintaining cache coherency in a storage system
JP3933027B2 (en) * 2002-10-17 2007-06-20 日本電気株式会社 Cache memory partition management method in disk array system
WO2004114116A1 (en) * 2003-06-19 2004-12-29 Fujitsu Limited Method for write back from mirror cache in cache duplicating method
JP2011170589A (en) * 2010-02-18 2011-09-01 Nec Corp Storage control device, storage device, and storage control method

Also Published As

Publication number Publication date
JP2015055878A (en) 2015-03-23

Similar Documents

Publication Publication Date Title
CN112015583B (en) Data storage method, device and system
US10853139B2 (en) Dynamic workload management based on predictive modeling and recommendation engine for storage systems
US7127557B2 (en) RAID apparatus and logical device expansion method thereof
US9665493B2 (en) Increased cache performance with multi-level queues of complete tracks
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
US9916215B2 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
US10084860B2 (en) Distributed file system using torus network and method for configuring and operating distributed file system using torus network
CN110413694A (en) Metadata management method and relevant apparatus
JP6617461B2 (en) Control device, control program, and control method
CN109313593A (en) Storage system
JP6233403B2 (en) Storage system, storage device, storage device control method and control program, management device, management device control method and control program
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
EP4174630A1 (en) Stripe management method, storage system, stripe management apparatus, and storage medium
US20140122433A1 (en) Storage device and data backup method
CN103500108A (en) System memory access method, node processor and multi-processor system
US11907551B2 (en) Performance efficient and resilient creation of network attached storage objects
JP5949816B2 (en) Cache control device and control method therefor, storage device, and computer program
JP6175785B2 (en) Storage system, disk array device, and storage system control method
US10423506B1 (en) Fast rebuild using layered RAID
US11256428B2 (en) Scaling raid-based storage by redistributing splits
JP4686564B2 (en) Load balancing system
JP2010231295A (en) Analysis system
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