JP2023130038A - Disk array device, load distribution method, and load distribution program - Google Patents
Disk array device, load distribution method, and load distribution program Download PDFInfo
- Publication number
- JP2023130038A JP2023130038A JP2022034480A JP2022034480A JP2023130038A JP 2023130038 A JP2023130038 A JP 2023130038A JP 2022034480 A JP2022034480 A JP 2022034480A JP 2022034480 A JP2022034480 A JP 2022034480A JP 2023130038 A JP2023130038 A JP 2023130038A
- Authority
- JP
- Japan
- Prior art keywords
- swap
- data block
- management table
- access
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000001186 cumulative effect Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Abstract
Description
本発明は、ディスクアレイ装置、負荷分散方法、及び負荷分散プログラムに関する。 The present invention relates to a disk array device, a load distribution method, and a load distribution program.
ディスクアレイ装置は、外部記憶装置(例えば、ハードディスク)を複数搭載し、大容量ディスクとして扱う装置である。ディスクアレイ装置では、信頼性或いは処理能力を向上させるために、RAID(Redundant Arrays of Inexpensive Disks)技術が採用されている。尚、ディスクアレイ装置は、RAID技術が採用されていることから、「レイド」と呼ばれることもある。 A disk array device is a device equipped with a plurality of external storage devices (for example, hard disks) and treated as a large-capacity disk. In disk array devices, RAID (Redundant Arrays of Inexpensive Disks) technology is employed to improve reliability or processing performance. Note that the disk array device is sometimes called "RAID" because it uses RAID technology.
ディスクアレイ装置には、RAIDグループ(RAID技術によって複数の外部記憶装置が論理的に1つの外部記憶装置とされたもの)を複数備えるものがある。以下の特許文献1には、2つのRAIDグループを備えるディスクアレイ装置が開示されている。このディスクアレイ装置では、2つのRAIDグループ(「RAIDグループA」、「RAIDグループB」とする)の何れか一方にアクセス負荷が集中するのを防止することで処理性能の向上を図っている。
Some disk array devices include a plurality of RAID groups (a plurality of external storage devices are logically combined into one external storage device using RAID technology).
具体的に、以下の特許文献1に開示されたディスクアレイ装置は、RAIDグループAとRAIDグループBの各々に設けられたデータブロックへのアクセス回数を集計する。そして、RAIDグループAで最もアクセス回数が多いデータブロックと、RAIDグループBで最もアクセス回数が少ないデータブロックとをスワップする。続いて、RAIDグループAで2番目にアクセス回数が多いデータブロックと、RAIDグループBで2番目にアクセス回数が少ないデータブロックとをスワップする。このような方法で、RAIDグループAとRAIDグループBとのアクセス回数が平均化されるまでデータブロックのスワップを行うことで、2つのRAIDグループの何れか一方にアクセス負荷が集中するのを防止している。
Specifically, the disk array device disclosed in
ところで、上記の特許文献1に開示されたディスクアレイ装置は、データブロックのスワップ処理が開始されてから終了するまで、データブロックへのアクセス回数の集計を停止している。これにより、データブロックへの実際のアクセス回数と集計されたアクセス回数との間に乖離が生ずるため、負荷分散の正確性が若干欠けるという問題があった。
By the way, the disk array device disclosed in
本発明は上述の課題を解決するディスクアレイ装置、負荷分散方法、及び負荷分散プログラムを提供することを目的とする。 An object of the present invention is to provide a disk array device, a load distribution method, and a load distribution program that solve the above-mentioned problems.
上記課題を解決するために、本発明の一態様によるディスクアレイ装置は、複数のデータブロックを有する複数のRAIDグループの、前記データブロック毎のアクセス状況を示すアクセス情報を第1の管理テーブル及び第2の管理テーブルの何れか一方に記録する記録手段と、前記第1の管理テーブル及び第2の管理テーブルの何れか一方に記録された前記アクセス情報を用いて、前記複数のRAIDグループ間で前記データブロックのスワップを行うスワップ制御手段と、前記スワップ制御手段が、前記第1の管理テーブル及び第2の管理テーブルの何れか一方に記録された前記アクセス情報を用いて前記スワップを行い、前記記録手段が、前記第1の管理テーブル及び第2の管理テーブルの何れか他方に前記アクセス情報を記録するように前記スワップ制御手段及び前記記録手段を制御する制御手段と、を備える。 In order to solve the above problems, a disk array device according to one aspect of the present invention stores access information indicating the access status of each data block of a plurality of RAID groups having a plurality of data blocks in a first management table and a first management table. The access information recorded in one of the first management table and the second management table is used to record the information in one of the two management tables, and the access information recorded in one of the first management table and the second management table. swap control means for swapping data blocks, and the swap control means performs the swap using the access information recorded in either the first management table or the second management table, and the swap control means performs the swap using the access information recorded in either the first management table or the second management table, The means includes a control means for controlling the swap control means and the recording means so as to record the access information in either the first management table or the second management table.
上記課題を解決するために、本発明の一態様による負荷分散方法は、複数のデータブロックを有する複数のRAIDグループの、前記データブロック毎のアクセス状況を示すアクセス情報を第1の管理テーブル及び第2の管理テーブルの何れか一方に記録するステップと、前記第1の管理テーブル及び第2の管理テーブルの何れか一方に記録された前記アクセス情報を用いて、前記複数のRAIDグループ間で前記データブロックのスワップを行うステップと、前記第1の管理テーブル及び第2の管理テーブルの何れか一方に記録された前記アクセス情報を用いて前記スワップが行われ、前記第1の管理テーブル及び第2の管理テーブルの何れか他方に前記アクセス情報が記録されるように制御するステップと、を有する。 In order to solve the above problems, a load balancing method according to one aspect of the present invention stores access information indicating the access status of each data block of a plurality of RAID groups having a plurality of data blocks in a first management table and a first management table. the access information recorded in either the first management table or the second management table, the data is stored between the plurality of RAID groups; swapping blocks; and performing the swap using the access information recorded in either the first management table or the second management table; and controlling the access information to be recorded in either one of the management tables.
上記課題を解決するために、本発明の一態様による負荷分散プログラムは、上記の負荷分散方法をコンピュータに実行させる。 In order to solve the above problems, a load balancing program according to one aspect of the present invention causes a computer to execute the above load balancing method.
本発明によれば、より正確な負荷分散を行うことができるという効果がある。 According to the present invention, there is an effect that more accurate load distribution can be performed.
以下、図面を参照して本発明の実施形態によるディスクアレイ装置、負荷分散方法、及び負荷分散プログラムについて詳細に説明する。 Hereinafter, a disk array device, a load distribution method, and a load distribution program according to embodiments of the present invention will be described in detail with reference to the drawings.
〈ディスクアレイ装置の構成〉
図1は、本発明の一実施形態によるディスクアレイ装置の要部構成を示すブロック図である。図1に示す通り、本実施形態のディスクアレイ装置1は、ディスクアレイコントローラ2、RAIDグループ3、及びRAIDグループ4を備える。このようなディスクアレイ装置1は、ホストコンピュータHCから出力されるアクセス指示に基づいて、RAIDグループ3,4に対するデータの読み出し及び書き込みを行う。
<Disk array device configuration>
FIG. 1 is a block diagram showing the main configuration of a disk array device according to an embodiment of the present invention. As shown in FIG. 1, the
尚、以下では、説明の便宜上、RAIDグループ3を「RAIDグループA」といい、RAIDグループ4を「RAIDグループB」という。また、本実施形態では、ディスクアレイ装置1が、2つのRAIDグループ(RAIDグループA及びRAIDグループB)を備える例について説明するが、ディスクアレイ装置1は、3つ以上のRAIDグループを備えていてもよい。
Note that, hereinafter, for convenience of explanation,
ディスクアレイコントローラ2は、主制御部20(制御手段)、R/Wアクセス時間データ記録制御部21(記録手段)、データブロックスワップ制御部22(スワップ制御手段)、管理テーブル23(第1の管理テーブル)、管理テーブル24(第2の管理テーブル)、スワップ先記憶部25(スワップ先記憶手段)、データブロックキャッシュ26(第1のキャッシュ)、及びデータブロックキャッシュ27(第2のキャッシュ)を備える。
The
主制御部20は、ホストコンピュータHCからのアクセス指示に基づいて、R/Wアクセス時間データ記録制御部21及びデータブロックスワップ制御部22に対して制御指示を行う。具体的に、主制御部20は、R/Wアクセス時間データ記録制御部21が、管理テーブル23,24の何れにデータの記録を行うかを制御し、データブロックスワップ制御部22が管理テーブル23,24の何れに記録されたデータを用いるかを制御する。例えば、主制御部20は、データブロックスワップ制御部22が管理テーブル23に記録されたデータを用いる場合には、R/Wアクセス時間データ記録制御部21が、管理テーブル24にデータの記録を行うように制御する。或いは、主制御部20は、データブロックスワップ制御部22が管理テーブル24に記録されたデータを用いる場合には、R/Wアクセス時間データ記録制御部21が、管理テーブル23にデータの記録を行うように制御する。
The
R/Wアクセス時間データ記録制御部21は、RAIDグループA及びRAIDグループBの各データブロックにアクセスした回数を示すアクセス回数と、アクセスした時間を示すアクセス時間とを計測する。R/Wアクセス時間データ記録制御部21は、計測したアクセス時間を、RAIDグループA及びRAIDグループBのデータブロック単位で積算した累積アクセス時間を求める。R/Wアクセス時間データ記録制御部21は、データブロック毎のアクセス回数及び累積アクセス時間を、管理テーブル23又は管理テーブル24に記録する。
The R/W access time data
ここで、RAIDグループA及びRAIDグループBの各データブロックに対するアクセスの種類としては、読み出し(Read)及び書き込み(Write)等がある。このため、R/Wアクセス時間データ記録制御部21は、データブロック毎のアクセス回数及び累積アクセス時間を、データブロックに対するアクセスの種類毎に記録する。例えば、R/Wアクセス時間データ記録制御部21は、データブロック毎に、読み出しについてのアクセス回数及び累積アクセス時間と、書き込みについてのアクセス回数及び累積アクセス時間とを記録する。
Here, the types of access to each data block of RAID group A and RAID group B include read and write. Therefore, the R/W access time data
データブロックスワップ制御部22は、管理テーブル23又は管理テーブル24に記録された情報に基づいて、データブロックキャッシュ26.27を介したデータブロックのスワップ処理を行う。データブロックスワップ制御部22は、RAIDグループAが有する全てのデータブロックの累積アクセス時間を合計した総アクセス時間と、RAIDグループBが有する全てのデータブロックの累積アクセス時間を合計した総アクセス時間とを算出する。そして、データブロックスワップ制御部22は、算出した総アクセス時間に基づいて、スワップ処理を実行するか否か、或いはスワップ処理を継続するか否かを制御する。
The data block
データブロックスワップ制御部22は、スワップ処理を行っている間に、スワップが行われるデータブロックの一方又は他方へのアクセスがあった場合には、データブロックキャッシュ26,27をアクセスの対象とする。データブロックスワップ制御部22は、スワップ処理が終了した場合には、データブロックキャッシュ26,27をアクセスの対象から解除する。尚、データブロックスワップ制御部22が行うスワップ処理の詳細については後述する。
If one or the other of the data blocks to be swapped is accessed during swap processing, the data block
管理テーブル23,24は、RAIDグループA及びRAIDグループBの、データブロック毎のアクセス状況を示すアクセス情報が記録されるテーブルである。管理テーブル23,24に記録されるアクセス情報としては、RAIDグループA及びRAIDグループBのデータブロック毎のアクセス回数及び累積アクセス時間が挙げられる。尚、管理テーブル23,24は、機能的には同じものである。 The management tables 23 and 24 are tables in which access information indicating the access status of each data block of RAID group A and RAID group B is recorded. The access information recorded in the management tables 23 and 24 includes the number of accesses and cumulative access time for each data block of RAID group A and RAID group B. Note that the management tables 23 and 24 are functionally the same.
スワップ先記憶部25は、データブロックスワップ制御部22によるデータブロックのスワップ処理が完了した場合に、スワップが行われたデータブロックのスワップ先を示す情報を記憶する。尚、スワップが行われたデータブロックへのアクセスは、スワップ先記憶部25に記憶された情報を参照して行われる。
The swap
データブロックキャッシュ26,27は、データブロックスワップ制御部22によりスワップ処理が行われる場合に、スワップが行われるデータブロックを一時的に記憶する。また、データブロックキャッシュ26,27は、上述した通り、スワップが行われるデータブロックへのアクセスがあった場合には、アクセスの対象とされる。このため、データブロックキャッシュ26,27は、例えば、ホストコンピュータHCからアクセスがあった場合に、データブロックをキャッシュする。尚、データブロックキャッシュ26,27は、機能的には同じものである。
The data block caches 26 and 27 temporarily store data blocks to be swapped when the data block
RAIDグループAは、データブロックA#0(30)、A#1(31)、A#2(32)、A#3(33)、A#4(34)を有する。RAIDグループBは、データブロックB#0(40)、B#1(41)、B#2(42)、B#3(43)、B#4(44)を有する。RAIDグループAのデータブロック30~34、及び、RAIDグループBのデータブロック40~44は、データブロックキャッシュ26,27のデータサイズと同じサイズで分割されている。
RAID group A has data blocks A#0 (30), A#1 (31), A#2 (32), A#3 (33), and A#4 (34). RAID group B has data blocks B#0 (40), B#1 (41), B#2 (42), B#3 (43), and B#4 (44). The data blocks 30 to 34 of RAID group A and the data blocks 40 to 44 of RAID group B are divided into the same size as the data size of
〈ディスクアレイ装置の動作〉
図2は、本発明の一実施形態によるディスクアレイ装置の動作例を示すフローチャートである。尚、ディスクアレイ装置1が備える各ブロックのメモリ状態は、システム起動時に全て「0」でクリアされているものとする。
<Operation of disk array device>
FIG. 2 is a flowchart showing an example of the operation of the disk array device according to an embodiment of the present invention. It is assumed that the memory state of each block provided in the
[ステップS10]
例えば、ホストコンピュータHCが、ディスクアレイコントローラ2の主制御部20に対してアクセス監視の開始を指示する。この指示により、主制御部20は、例えば、R/Wアクセス時間データ記録制御部21を制御して、管理テーブル24に各種データの記録をさせるようにする。
[Step S10]
For example, the host computer HC instructs the
[ステップS11]
R/Wアクセス時間データ記録制御部21は、管理テーブル23に対し、RAIDグループA及びRAIDグループBのデータブロック毎のアクセス情報の記録を開始する。具体的に、ホストコンピュータHCからデータのアクセス要求があると、RAIDグループA又はRAIDグループBへのデータアクセスが行われる。R/Wアクセス時間データ記録制御部21は、そのデータアクセスの状況を示す情報を受け取ってアクセス回数及びアクセス時間の計測を開始する。
[Step S11]
The R/W access time data recording
R/Wアクセス時間データ記録制御部21は、RAIDグループA及びRAIDグループBのデータブロックへのアクセスに要した時間を計測し、その計測データをアクセスの種類毎(Read/Write毎)、データブロック毎に積算して累積アクセス時間を算出する。また、R/Wアクセス時間データ記録制御部21は、RAIDグループA及びRAIDグループBに対するアクセスがある度に、アクセスのあったデータブロックのアクセス回数をインクリメントする(+1のカウントを行う)。R/Wアクセス時間データ記録制御部21は、アクセスの種類毎、データブロック毎の累積アクセス時間及びアクセス回数を管理テーブル23に記録する。
The R/W access time data recording
[ステップS12]
主制御部20が、R/Wアクセス時間データ記録制御部21及びデータブロックスワップ制御部22を制御し、管理テーブルを入れ替えてスワップ処理を開始させる。具体的に、主制御部20は、データブロックスワップ制御部22が管理テーブル23に記録されたデータを用いてスワップ処理を行い、R/Wアクセス時間データ記録制御部21が、管理テーブル24にデータの記録を行うように制御する。
[Step S12]
The
[ステップS13]
データブロックスワップ制御部22が、スワップを行うデータブロックの特定、及び、スワップ前の総アクセス時間とスワップ後の総アクセス時間の算出を行う。具体的に、データブロックスワップ制御部22は、まず、スワップ前の総アクセス時間を算出する。具体的には、管理テーブル23に記録されたアクセス情報を用いて、スワップ前のRAIDグループAについての総アクセス時間と、スワップ前のRAIDグループBについての総アクセス時間とを算出する。
[Step S13]
The data block
次に、データブロックスワップ制御部22は、スワップを行うデータブロックを特定する。具体的には、総アクセス時間が大きいRAIDグループの累積アクセス時間が最も大きいデータブロックと、総アクセス時間が小さいRAIDグループの累積アクセス時間が最も小さいデータブロックとをスワップを行うデータブロックとして特定する。このようなデータブロックを特定するのは、総アクセス時間が大きいRAIDグループの負荷を、総アクセス時間が小さいRAIDグループに効率的に分散させるためである。
Next, the data block
次いで、データブロックスワップ制御部22は、スワップ後の総アクセス時間を算出する。具体的には、スワップを行うデータブロックとして特定されたデータブロックが仮にスワップされたとした場合の、RAIDグループAについての総アクセス時間と、RAIDグループBについての総アクセス時間とを算出する。
Next, the data block
[ステップS14]
データブロックスワップ制御部22は、ステップS13で算出されたスワップ前後の総アクセス時間に基づいて、特定されたデータブロックがスワップされた場合のRAIDグループAとRAIDグループBとの総アクセス時間の差が短縮されるか否かを判断する。具体的に、データブロックスワップ制御部22は、スワップ後のRAIDグループAとRAIDグループBとの総アクセス時間の差が、スワップ前のRAIDグループAとRAIDグループBとの総アクセス時間の差よりも小さくなっているか否かを判断する。短縮されると判断した場合(YES)には、ステップS15に進み、短縮されないと判断した場合(NO)には、ステップS17に進む。
[Step S14]
The data block
[ステップS15]
データブロックスワップ制御部22は、ステップS13で特定されたデータブロックのスワップを実行する。尚、スワップ処理の詳細については後述する。データブロックのスワップが完了すると、データブロックスワップ制御部22は、ステップS13で総アクセス時間を算出する過程で得られたデータを管理テーブル23に反映する。
[Step S15]
The data block
[ステップS16]
データブロックスワップ制御部22は、RAIDグループAとRAIDグループBとの総アクセス時間の差が、予め規定された一定値以下であるか否かを判断する。一定値以下であると判断した場合(YES)には、RAIDグループAとRAIDグループBとの総アクセス時間の差が無くなったものとして、ステップS17に進む。これに対し、一定値以下でないと判断した場合(NO)には、RAIDグループAとRAIDグループBとの総アクセス時間の差を更に無くすために、ステップS13に進む。
[Step S16]
The data block
[ステップS17]
データブロックスワップ制御部22は、スワップ処理を終了する。スワップ処理が完了すると、管理テーブル23のデータは必要がなくなるため、データブロックスワップ制御部22は、管理テーブル23のデータをクリアする。尚、ステップS17が終了すると、ステップS12に進む。以上にて、図2に示す一連の処理が終了する。
[Step S17]
The data block
図3は、図2中のステップS15の詳細な処理を示すフローチャートである。尚、以下では、RAIDグループAの総アクセス時間が、RAIDグループBの総アクセス時間よりも大きいとする。また、累積アクセス時間が最も大きいデータブロックが、データブロックがA#3(33)であり、累積アクセス時間が最も小さいデータブロックが、データブロックがB#0(10)であるとする。よって、以下では、データブロックA#3とデータブロックB#0とがスワップされる場合を例に挙げて説明する。
FIG. 3 is a flowchart showing detailed processing of step S15 in FIG. In the following, it is assumed that the total access time of RAID group A is longer than the total access time of RAID group B. Further, assume that the data block with the longest cumulative access time is data block A#3 (33), and the data block with the shortest cumulative access time is data block B#0 (10). Therefore, in the following description, a case will be described as an example in which data
[ステップS20]
データブロックスワップ制御部22は、データブロックキャッシュ26,27を、ホストコンピュータHCからデータブロックA#3,B#0に対するアクセス(Read/Writeアクセス)があった場合のアクセス対象にそれぞれ設定する。
[Step S20]
The data block
[ステップS21]
データブロックスワップ制御部22は、データブロックA#3をデータブロックキャッシュ26にコピーし、データブロックB#0をデータブロックキャッシュ27にコピーする。ここで、コピー処理中に、ホストコンピュータHCからデータブロックA#3へのアクセスがあった場合には、データブロックキャッシュ26を介してデータブロックA#3がアクセスされる。また、ホストコンピュータHCからデータブロックB#0へのアクセスがあった場合には、データブロックキャッシュ27を介してデータブロックB#0がアクセスされる。
[Step S21]
The data block
[ステップS22]
データブロックスワップ制御部22は、データブロックキャッシュ26とデータブロックキャッシュ27との全ての入出力インターフェースを切り替える。これにより、データブロックキャッシュ26に記憶されたデータブロックは、データブロックB#0に対するものになり、データブロックキャッシュ27に記憶されたデータブロックは、データブロックA#3に対するものになる。
[Step S22]
The data block
[ステップS23]
データブロックスワップ制御部22は、データブロックキャッシュ26に記憶されているデータをデータブロックB#0にコピーし、データブロックキャッシュ27に記憶されているデータをデータブロックA#3にコピーする。ここで、コピー処理中に、ホストコンピュータHCからデータブロックA#3へのアクセスがあった場合には、データブロックキャッシュ27を介してデータブロックA#3がアクセスされる。また、ホストコンピュータHCからデータブロックB#0へのアクセスがあった場合には、データブロックキャッシュ26を介してデータブロックB#0がアクセスされる。
[Step S23]
The data block
[ステップS24]
データブロックスワップ制御部22は、データブロックキャッシュ26,27を、ホストコンピュータHCからのアクセス対象から切り離す。
[Step S24]
The data block
[ステップS25]
データブロックスワップ制御部22は、データブロックA#3,B#0のスワップ先を示す情報をスワップ先記憶部25に記憶させる。以後、データブロックA#3,B#0へのアクセスはスワップ先記憶部25に記憶されたスワップ先を示す情報を参照して行われる。
[Step S25]
The data block
図4A,図4Bは、本発明の一実施形態において管理テーブルに記録される情報の一例を示す図である。尚、図4Aは、スワップ処理が行われる前のものであり、図4Bは、スワップ処理が行われた後のものである。尚、ここでは、前述した例と同様に、スワップ処理が行われる前において、RAIDグループAの総アクセス時間が、RAIDグループBの総アクセス時間よりも大きいとする。また、図4A,図4Bでは、理解を容易にするために、RAIDグループA及びRAIDグループBの総アクセス時間(TOTAL)及び平均時間も図示している。 FIGS. 4A and 4B are diagrams showing an example of information recorded in a management table in an embodiment of the present invention. Note that FIG. 4A shows the image before the swap process is performed, and FIG. 4B shows the image after the swap process is performed. Here, it is assumed that the total access time of RAID group A is greater than the total access time of RAID group B before the swap process is performed, similar to the above-described example. Further, in FIGS. 4A and 4B, the total access time (TOTAL) and average time of RAID group A and RAID group B are also illustrated for easy understanding.
図4Aに示す例において、累積アクセス時間の差は、RAIDグループAのデータブロックA#3とRAIDグループBのデータブロックB#0との間で最も大きく、RAIDグループAのデータブロックA#2とRAIDグループBのデータブロックB#2との間で次に大きい。尚、RAIDグループAの総アクセス時間は222秒であり、RAIDグループBの総アクセス時間は123秒であり、RAIDグループAとRAIDグループBとの総アクセス時間に差が見られる。
In the example shown in FIG. 4A, the difference in cumulative access time is largest between data
ここで、図1に示す通り、RAIDグループAのデータブロックA#3とRAIDグループBのデータブロックB#0とのスワップ、及び、RAIDグループAのデータブロックA#2とRAIDグループBのデータブロックB#2とのスワップが行われたとする。図4Bを参照すると、RAIDグループA及びRAIDグループBの総アクセス時間が共に153秒になっており、RAIDグループAとRAIDグループBとの総アクセス時間に差が無くなっている。これは、負荷分散が行われたことを示している。
Here, as shown in FIG. 1, data
図5は、本発明の一実施形態においてスワップ先記憶部に記憶される情報の一例を示す図である。図5に示す例では、RAIDグループAのブロック番号「3」については、スワップ先「B」、ブロック番号「0」が設定されている。これは、データブロックA#3のスワップ先がデータブロックB#0であることを示している。また、RAIDグループBのブロック番号「0」については、スワップ先「A」、ブロック番号「3」が設定されている。これは、データブロックB#0のスワップ先がデータブロックA#3であることを示している。
FIG. 5 is a diagram showing an example of information stored in the swap destination storage unit in an embodiment of the present invention. In the example shown in FIG. 5, for block number "3" of RAID group A, swap destination "B" and block number "0" are set. This indicates that the swap destination of data
同様に、図5に示す例では、RAIDグループAのブロック番号「2」については、スワップ先「B」、ブロック番号「2」が設定されている。また、RAIDグループBのブロック番号「2」については、スワップ先「A」、ブロック番号「2」が設定されている。 Similarly, in the example shown in FIG. 5, for block number "2" of RAID group A, swap destination "B" and block number "2" are set. Furthermore, for block number "2" of RAID group B, swap destination "A" and block number "2" are set.
図6は、本発明の一実施形態において、スワップが行われた後のRAIDグループの様子の一例を示す図である。図6に例示するものは、RAIDグループAのデータブロックA#3とRAIDグループBのデータブロックB#0とのスワップ、及び、RAIDグループAのデータブロックA#2とRAIDグループBのデータブロックB#2とのスワップが行われたものである。
FIG. 6 is a diagram illustrating an example of the state of a RAID group after swapping is performed in an embodiment of the present invention. What is illustrated in FIG. 6 is a swap between data
以上の通り、本実施形態では、RAIDグループA及びRAIDグループBのデータブロックへのアクセス情報が記録される2つの管理テーブル23,24を設けている。そして、データブロックスワップ制御部22が、管理テーブル23,24の何れか一方に記録されたアクセス情報を用いてスワップ処理を行っている間、R/Wアクセス時間データ記録制御部21が管理テーブル23,24の何れか他方にアクセス情報を記録するようにしている。これにより、スワップ処理が行われている間も、RAIDグループA及びRAIDグループBのアクセス情報を記録することができるため、より正確な負荷分散を行うことができる。
As described above, in this embodiment, two management tables 23 and 24 are provided in which access information to data blocks of RAID group A and RAID group B is recorded. While the data block
また、本実施形態では、RAIDグループA及びRAIDグループBのデータブロックへのアクセス回数のみならず、アクセス時間を計測して累計アクセス時間を算出している。このため、HDD(Hard Disk Drive)やSSD(Solid State Drive)等のデバイスの種類によるアクセス時間の違い、Read/Write等のアクセスの種類によるアクセス時間の違いを考慮することができる。これにより、より正確に負荷分散を行うことが可能となる。 Furthermore, in this embodiment, not only the number of accesses to the data blocks of RAID group A and RAID group B but also the access time are measured to calculate the cumulative access time. Therefore, it is possible to take into account differences in access time depending on the type of device such as HDD (Hard Disk Drive) and SSD (Solid State Drive), and differences in access time depending on the type of access such as Read/Write. This makes it possible to perform load distribution more accurately.
また、本実施形態では、スワップが行われる一対のデータブロックを記憶する2つのデータブロックキャッシュ26,27を設け、これらデータブロックキャッシュ26,27を介してデータブロックのスワップ処理を行うようにしている。これにより、ホストコンピュータHCからのアクセスを止めることなく、常時アクセス可能となるため、スワップ処理中におけるホストコンピュータHCのアクセス待ち時間を大きく削減することが可能となる。
Further, in this embodiment, two
〈変形例〉
RAIDグループA及びRAIDグループBの具体的なRAID構成は、特定のRAID構成に限定されることはなく、任意のRAID構成でよい。例えば、RAIDグループA及びRAIDグループBの具体的なRAID構成は、RAID1構成であってもよく、RAID5構成であってもよい。また、ディスクアレイコントローラ2は、これらのRAIDグループを自由に構築することができる。
<Modified example>
The specific RAID configurations of RAID group A and RAID group B are not limited to specific RAID configurations, and may be any RAID configuration. For example, the specific RAID configuration of RAID group A and RAID group B may be a RAID1 configuration or a RAID5 configuration. Furthermore, the
〈最小構成例〉
図7は、本発明の一実施形態によるディスクアレイ装置の最小構成例を示す図である。図7に示す通り、ディスクアレイ装置1は、少なくとも、記録手段51、スワップ制御手段52、及び制御手段53を備える。記録手段51は、複数のデータブロックを有する複数のRAIDグループの、データブロック毎のアクセス情報を第1の管理テーブル及び第2の管理テーブルの何れか一方に記録する。スワップ制御手段52は、第1の管理テーブル及び第2の管理テーブルの何れか一方に記録されたアクセス情報を用いて、複数のRAIDグループ間でデータブロックのスワップを行う。制御手段53は、スワップ制御手段52が、第1の管理テーブル及び第2の管理テーブルの何れか一方に記録されたアクセス情報を用いてスワップを行い、記録手段51が、第1の管理テーブル及び第2の管理テーブルの何れか他方にアクセス情報を記録するようにスワップ制御手段52及び記録手段51を制御する。
<Minimum configuration example>
FIG. 7 is a diagram showing an example of the minimum configuration of a disk array device according to an embodiment of the present invention. As shown in FIG. 7, the
上記のディスクアレイ装置1は、内部にコンピュータシステムを有している。そして、ディスクアレイコントローラ2の機能は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって実現される。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
The
尚、図1におけるディスクアレイ装置1のディスクアレイコントローラ2の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりディスクアレイコントローラ2の機能の全て又は一部を実現してもよい。尚、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(或いは、表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
Note that a program for realizing the functions of the
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、或いは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。 Further, the program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in a transmission medium. Here, the "transmission medium" that transmits the program refers to a medium that has a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Moreover, the above program may be for realizing a part of the above-mentioned functions. Furthermore, it may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system.
1 ディスクアレイ装置
3,4 RAIDグループ
20 主制御部
21 R/Wアクセス時間データ記録制御部
22 データブロックスワップ制御部
23,24 管理テーブル
25 スワップ先記憶部
26,27 データブロックキャッシュ
30~34 データブロック
40~44 データブロック
51 記録手段
52 スワップ制御手段
53 制御手段
1
Claims (10)
前記第1の管理テーブル及び第2の管理テーブルの何れか一方に記録された前記アクセス情報を用いて、前記複数のRAIDグループ間で前記データブロックのスワップを行うスワップ制御手段と、
前記スワップ制御手段が、前記第1の管理テーブル及び第2の管理テーブルの何れか一方に記録された前記アクセス情報を用いて前記スワップを行い、前記記録手段が、前記第1の管理テーブル及び第2の管理テーブルの何れか他方に前記アクセス情報を記録するように前記スワップ制御手段及び前記記録手段を制御する制御手段と、
を備えるディスクアレイ装置。 Recording means for recording access information indicating access status for each data block of a plurality of RAID groups having a plurality of data blocks in either a first management table or a second management table;
Swap control means for swapping the data blocks between the plurality of RAID groups using the access information recorded in either the first management table or the second management table;
The swap control means performs the swap using the access information recorded in either the first management table or the second management table, and the recording means performs the swap using the access information recorded in either the first management table or the second management table. control means for controlling the swap control means and the recording means so as to record the access information in one of the two management tables;
A disk array device comprising:
前記スワップが行われる前記データブロックの他方を記憶する第2のキャッシュと、
を備え、
前記スワップ制御手段は、前記スワップが行われる前記データブロックの一方を前記第1のキャッシュにコピーするとともに前記スワップが行われる前記データブロックの他方を前記第2のキャッシュにコピーした後に、前記第1のキャッシュと前記第2のキャッシュとの入れ替えを行い、前記第1のキャッシュにコピーされた前記データブロックを前記スワップが行われる前記データブロックの他方にコピーするとともに前記第2のキャッシュにコピーされた前記データブロックを前記スワップが行われる前記データブロックの一方にコピーすることで前記スワップを行う、
請求項1から請求項4の何れか一項に記載のディスクアレイ装置。 a first cache storing one of the data blocks to be swapped;
a second cache storing the other of the data blocks to which the swap is performed;
Equipped with
The swap control means copies one of the data blocks to be swapped to the first cache and copies the other data block to be swapped to the second cache, and then and the second cache, copying the data block copied to the first cache to the other data block to which the swap is performed, and copying the data block copied to the second cache. performing the swap by copying the data block to one of the data blocks to which the swap is performed;
The disk array device according to any one of claims 1 to 4.
前記スワップが行われた前記データブロックへのアクセスは、前記スワップ先記憶手段に記憶された情報を参照して行われる、
請求項1から請求項7の何れか一項に記載のディスクアレイ装置。 comprising swap destination storage means for storing information indicating swap destinations of one and the other of the data blocks swapped by the swap control means;
Access to the data block to which the swap has been performed is performed with reference to information stored in the swap destination storage means;
The disk array device according to any one of claims 1 to 7.
前記第1の管理テーブル及び第2の管理テーブルの何れか一方に記録された前記アクセス情報を用いて、前記複数のRAIDグループ間で前記データブロックのスワップを行うステップと、
前記第1の管理テーブル及び第2の管理テーブルの何れか一方に記録された前記アクセス情報を用いて前記スワップが行われ、前記第1の管理テーブル及び第2の管理テーブルの何れか他方に前記アクセス情報が記録されるように制御するステップと、
を有する負荷分散方法。 recording access information indicating access status for each data block of a plurality of RAID groups having a plurality of data blocks in either a first management table or a second management table;
Swapping the data blocks between the plurality of RAID groups using the access information recorded in either the first management table or the second management table;
The swap is performed using the access information recorded in either the first management table or the second management table, and the swap is performed using the access information recorded in either the first management table or the second management table. controlling that access information is recorded;
A load balancing method with
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022034480A JP7468914B2 (en) | 2022-03-07 | 2022-03-07 | Disk array device, load balancing method, and load balancing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022034480A JP7468914B2 (en) | 2022-03-07 | 2022-03-07 | Disk array device, load balancing method, and load balancing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023130038A true JP2023130038A (en) | 2023-09-20 |
JP7468914B2 JP7468914B2 (en) | 2024-04-16 |
Family
ID=88024844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022034480A Active JP7468914B2 (en) | 2022-03-07 | 2022-03-07 | Disk array device, load balancing method, and load balancing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7468914B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150324A (en) | 2001-11-16 | 2003-05-23 | Hitachi Ltd | Disk array device |
JP4710530B2 (en) | 2005-10-06 | 2011-06-29 | 日本電気株式会社 | Disk array device, data swap method, and program |
JP2008090372A (en) | 2006-09-29 | 2008-04-17 | Hitachi Ltd | Storage device and load balancing method |
JP4862770B2 (en) | 2007-07-20 | 2012-01-25 | 日本電気株式会社 | Memory management method and method in virtual machine system, and program |
WO2013114420A1 (en) | 2012-01-30 | 2013-08-08 | Hitachi, Ltd. | Storage apparatus |
JP2014211849A (en) | 2013-04-22 | 2014-11-13 | 富士通株式会社 | Storage control device, storage device, and control program |
-
2022
- 2022-03-07 JP JP2022034480A patent/JP7468914B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP7468914B2 (en) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6330642B1 (en) | Three interconnected raid disk controller data processing system architecture | |
US7975168B2 (en) | Storage system executing parallel correction write | |
JP5621909B2 (en) | Information processing apparatus, storage system, and write control method | |
US5802345A (en) | Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts | |
US6230239B1 (en) | Method of data migration | |
US8612675B2 (en) | Storage controller and firmware updating method | |
JP3422370B2 (en) | Disk cache controller | |
EP1434125A2 (en) | Raid apparatus and logical device expansion method thereof | |
US20070266203A1 (en) | Storage control method and system for performing backup and/or restoration | |
JP2005301497A (en) | Storage management system, restoration method and its program | |
US8650339B2 (en) | Control of data transfer | |
US9319067B2 (en) | Storage control apparatus, storage system, and storage control method | |
JPH10105344A (en) | Data recorder system and data write method therefor | |
JP2014041471A (en) | Storage system, storage control method, and storage control program | |
US9804781B2 (en) | Storage media performance management | |
US8006049B2 (en) | Export of logical volumes by pools | |
JP2023130038A (en) | Disk array device, load distribution method, and load distribution program | |
WO2016059715A1 (en) | Computer system | |
US8433868B2 (en) | Concurrent copy of system configuration global metadata | |
JP5729043B2 (en) | Storage device and control device | |
JP2806749B2 (en) | I / O load distribution control method when file devices are duplicated | |
JP2634867B2 (en) | Disk cache data transfer control method | |
JP2003271425A (en) | Storage control device | |
JP2005316697A (en) | Disk array system and method for data backup | |
JPH0954658A (en) | Parallel secondary storage device and its access method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230623 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230919 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20231114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240109 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20240118 |
|
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: 20240305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240328 |