JP2000298556A - Disk array device - Google Patents

Disk array device

Info

Publication number
JP2000298556A
JP2000298556A JP11105030A JP10503099A JP2000298556A JP 2000298556 A JP2000298556 A JP 2000298556A JP 11105030 A JP11105030 A JP 11105030A JP 10503099 A JP10503099 A JP 10503099A JP 2000298556 A JP2000298556 A JP 2000298556A
Authority
JP
Japan
Prior art keywords
disk
real
virtual
devices
array
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
Application number
JP11105030A
Other languages
Japanese (ja)
Other versions
JP3454183B2 (en
Inventor
Naotaka Nakamura
尚貴 中村
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 JP10503099A priority Critical patent/JP3454183B2/en
Publication of JP2000298556A publication Critical patent/JP2000298556A/en
Application granted granted Critical
Publication of JP3454183B2 publication Critical patent/JP3454183B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To construct a disk array having the same or almost the same capacity as that of all disk devices by using plural disk devices having respectively different capacity values. SOLUTION: A size calculation part 6 in a disk array controller 10 determines the greatest common measure of capacity values of plural real disk devices Disk1 to DiskN as the size of a virtual disk device. A control part 3 sets up individual divided areas obtained by dividing the disk areas of respective real disk devices Disk1 to DiskN by the size as virtual disk devices and constructs a disk array by using plural virtual disk devices including plural virtual disk devices generated on the same disk device. When read and write requests are outputted from a master device to the disk array, an address conversion part 4 refers to a disk constitution table and converts the addresses of the virtual disk devices into the addresses of the real disk devices.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はディスクアレイ装置
に関し、特に容量の異なるディスク装置を使ってディス
クアレイを構築する技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array device, and more particularly to a technique for constructing a disk array using disk devices having different capacities.

【0002】[0002]

【従来の技術】複数のディスク装置にデータを分散させ
て記憶させるディスクアレイ装置は、データをどのよう
に分散して記憶させるかによって、RAID0〜RAI
D5などの構成に分類されるが、何れも、全て同じ容量
のディスク装置を使って構築されるのが一般的であっ
た。異なった容量のディスク装置を使用してディスクア
レイを構成することも可能であるが、その場合には、各
ディスク装置の容量がいくらであっても、ディスクアレ
イを構成するうちの最小容量のディスク装置と同じ容量
としてしか使用されず、ディスク容量の使用効率が著し
く低下していた。
2. Description of the Related Art A disk array device that stores data in a distributed manner on a plurality of disk devices depends on how the data is distributed and stored.
D5, etc., are all constructed using disk devices of the same capacity. It is possible to configure a disk array using disk devices of different capacities, but in such a case, no matter how large the capacity of each disk device, the disk with the smallest capacity of the disk array It was only used as the same capacity as the device, and the use efficiency of the disk capacity was significantly reduced.

【0003】このような事情に鑑み、異なる容量のディ
スク装置を使ってディスクアレイを構築する際に、従来
ディスクアレイとして使用できなかったディスク領域も
ディスクアレイに使用できるようにする技術として、特
開平8−249132号公報に記載される技術がある。
この技術(以下、従来技術と称す)では、各ディスク装
置におけるディスク領域の先頭から最小容量のディスク
装置と同じ容量分のディスク領域までを使って1つのデ
ィスクアレイを構成し、最小容量以外のディスク装置に
おける余ったディスク領域を別のディスクアレイに利用
する。例えば、1Gバイトのディスク装置4台と、50
0Mバイトのディスク装置1台とが存在する場合、1G
バイトのディスク装置の先頭500Mバイトのディスク
領域と500Mバイトのディスク装置の全ディスク領域
とを使って、500M×5=2.5Gバイトのディスク
アレイを構成し、1Gバイトのディスク装置の残り50
0Mバイトのディスク領域を使って、500M×4=2
Gバイトの別のディスクアレイを構成する。同様な技術
は特開平9−120342号公報にも記載されている。
In view of such circumstances, when a disk array is constructed using disk devices of different capacities, a technique for making it possible to use a disk area which could not be used as a conventional disk array in the disk array is disclosed in Japanese Patent Laid-Open Publication No. HEI 9 (1994). There is a technique described in JP-A-8-249132.
In this technology (hereinafter, referred to as a conventional technology), one disk array is configured using the disk area of the same capacity as the disk apparatus having the minimum capacity from the head of the disk area in each disk apparatus, and disks other than the minimum capacity are configured. The surplus disk area in the device is used for another disk array. For example, four 1 Gbyte disk units and 50
If there is one 0 Mbyte disk unit, 1G
A disk array of 500 M × 5 = 2.5 Gbytes is configured by using the first 500 Mbytes of the disk area of the 1-byte disk unit and the remaining 50 Mbytes of the 1 Gbyte disk unit.
500M × 4 = 2 using 0MB disk area
Configure another disk array of G bytes. A similar technique is described in JP-A-9-120342.

【0004】[0004]

【発明が解決しようとする課題】上述した従来技術によ
れば、ディスクアレイとして従来使用できなかったディ
スク領域もディスクアレイに使用することができ、ディ
スク領域の使用効率を向上させることができる。しかし
ながら、構築可能な1つのディスクアレイの最大容量
は、「最小容量のディスク容量×ディスク装置台数」に
制限されてしまい、ディスクアレイの最大の特徴である
大容量化が実現できない。
According to the above-mentioned prior art, a disk area which cannot be used as a disk array in the past can be used for the disk array, and the use efficiency of the disk area can be improved. However, the maximum capacity of a single disk array that can be constructed is limited to “the minimum disk capacity × the number of disk devices”, and the largest feature of the disk array, that is, large capacity cannot be realized.

【0005】そこで本発明の目的は、異なった容量のデ
ィスク装置を使って、全ディスク装置の容量の合計と同
じか、それにほぼ近い容量のディスクアレイを構築でき
るようにすることにある。
Accordingly, an object of the present invention is to make it possible to construct a disk array having a capacity equal to or nearly equal to the sum of the capacities of all the disk drives using disk drives of different capacities.

【0006】[0006]

【課題を解決するための手段】本発明は上記の目的を達
成するために、少なくとも何れか2つの実ディスク装置
の容量が異なっている複数の実ディスク装置を同じ容量
のディスク領域に分割したときの個々のディスク領域を
仮想ディスク装置とし、同じ実ディスク装置上に生成さ
れた複数の仮想ディスク装置を含め、同容量の複数の仮
想ディスク装置を使ってディスクアレイを構成する。よ
り具体的には、少なくとも何れか2つの実ディスク装置
の容量が異なっている複数の実ディスク装置と、該複数
の実ディスク装置に接続された制御装置とから構成され
たディスクアレイ装置において、前記制御装置は、前記
複数の実ディスク装置のディスク領域を分割するサイズ
を保持するサイズレジスタと、前記複数の実ディスク装
置を前記サイズで分割した個々のディスク領域を仮想デ
ィスク装置とし、各仮想ディスク装置と前記実ディスク
装置との対応関係を示すディスク構成テーブルを生成す
る手段と、同じ実ディスク装置上に生成された複数の仮
想ディスク装置を含め、複数の仮想ディスク装置を使っ
てディスクアレイを構成する手段と、上位装置からのデ
ィスクアレイに対するリードおよびライト要求時、前記
ディスク構成テーブルを参照して仮想ディスク装置に対
するアドレスから対応する前記実ディスク装置に対する
アドレスに変換する手段とを備えている。
According to the present invention, in order to achieve the above object, at least any two real disk devices having different capacities are divided into disk areas of the same capacity. Are used as virtual disk devices, and a disk array is configured using a plurality of virtual disk devices of the same capacity, including a plurality of virtual disk devices generated on the same real disk device. More specifically, in a disk array device including a plurality of real disk devices having different capacities of at least any two real disk devices and a control device connected to the plurality of real disk devices, The control device includes a size register that holds a size for dividing a disk area of the plurality of real disk devices, and a virtual disk device that defines individual disk regions obtained by dividing the plurality of real disk devices by the size. Means for generating a disk configuration table indicating the correspondence between the virtual disk device and the real disk device, and configuring a disk array using a plurality of virtual disk devices including a plurality of virtual disk devices generated on the same real disk device Means for reading and writing the disk configuration data when read and write requests are made to the disk array from a higher-level device. And means for converting the address for the actual disk device from the corresponding address for the virtual disk device with reference to the table.

【0007】また本発明は、生成された全ての仮想ディ
スク装置を使ってRAID0に相当するディスクアレイ
を構成する。
According to the present invention, a disk array corresponding to RAID0 is configured using all generated virtual disk devices.

【0008】また本発明は、マスタとなる仮想ディスク
装置とスレーブとなる仮想ディスク装置とが同じ実ディ
スク装置上に存在しない条件を満足する範囲内で、でき
るだけ多くの仮想ディスク装置を使ってRAID1に相
当するディスクアレイを構成する。
The present invention also provides a RAID1 using as many virtual disk devices as possible within a range satisfying a condition that a master virtual disk device and a slave virtual disk device do not exist on the same real disk device. Configure a corresponding disk array.

【0009】また本発明は、生成された仮想ディスク装
置の数が最小の実ディスク装置における仮想ディスク装
置をパリティ用ディスク、他の実ディスク装置上に生成
された仮想ディスク装置をデータ用ディスクにそれぞれ
使ってRAID3に相当するディスクアレイを構成す
る。
Further, according to the present invention, a virtual disk device in a real disk device with the smallest number of virtual disk devices generated is used as a parity disk, and a virtual disk device generated on another real disk device is used as a data disk. A disk array corresponding to RAID3 is configured by using these.

【0010】また本発明は、更に、前記複数の実ディス
ク装置の容量の最大公約数を求める手段を備え、該手段
で求められた値を前記サイズレジスタに設定する。
Further, the present invention further comprises means for calculating the greatest common divisor of the capacities of the plurality of real disk devices, and sets the value obtained by the means in the size register.

【0011】また本発明は、更に、最小サイズを保持す
るサイズ設定レジスタと、前記複数の実ディスク装置の
容量の最大公約数を求める手段とを備え、該手段で求め
られた値が前記最小サイズより小さくなる場合には前記
最小サイズを前記サイズレジスタに設定し、それ以外は
前記求められた値を前記サイズレジスタに設定する。
Further, the present invention further comprises a size setting register for holding a minimum size, and means for calculating the greatest common divisor of the capacities of the plurality of real disk devices, wherein the value obtained by the means is the minimum size. If smaller, the minimum size is set in the size register; otherwise, the determined value is set in the size register.

【0012】本発明のディスクアレイ装置にあっては、
複数の実ディスク装置を同じ容量のディスク領域に分割
したときの個々のディスク領域を仮想ディスク装置と
し、同じ実ディスク装置上に生成された複数の仮想ディ
スク装置を含め、同容量の複数の仮想ディスク装置を使
ってディスクアレイを構成するため、全ディスク装置の
容量の合計と同じか、それにほぼ近い容量のディスクア
レイを構築することが可能となる。
In the disk array device of the present invention,
When a plurality of real disk devices are divided into disk regions of the same capacity, each disk area is defined as a virtual disk device, and a plurality of virtual disks of the same capacity are included, including a plurality of virtual disk devices generated on the same real disk device. Since a disk array is configured using the devices, it is possible to construct a disk array having a capacity equal to or substantially equal to the sum of the capacities of all the disk devices.

【0013】[0013]

【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0014】図1は本発明の一実施の形態の原理説明図
である。今、図1(a)に示されるように、容量の異な
る2つの実ディスク装置D1,D2を使ってディスクア
レイを構築する場合を考える。ここで、実ディスク装置
D1の容量は実ディスク装置D2の1.5倍あるものとす
る。従来は、容量の小さい実ディスク装置D2の全ディ
スク領域と、実ディスク装置D1の先頭から実ディスク
装置D2の容量分のディスク領域とで、1つのディスク
アレイを構成しており、実ディスク装置D1の残りのデ
ィスク領域は使用されていなかった。特開平8−249
132号公報では、この使用されていなかった実ディス
ク装置D1の残りのディスク領域を別のディスクアレイ
として活用する。従って、ディスク領域の使用効率は向
上するが、実ディスク装置D2の容量の2倍のディスク
アレイと、実ディスク装置D2の容量の半分のディスク
アレイとの2つのディスクアレイができていた。
FIG. 1 is a view for explaining the principle of an embodiment of the present invention. Now, consider a case where a disk array is constructed using two real disk devices D1 and D2 having different capacities as shown in FIG. Here, it is assumed that the capacity of the real disk device D1 is 1.5 times that of the real disk device D2. Conventionally, the entire disk area of the real disk device D2 having a small capacity and the disk area corresponding to the capacity of the real disk device D2 from the beginning of the real disk device D1 constitute one disk array. The remaining disk space was unused. JP-A-8-249
In Japanese Patent Publication No. 132, the remaining disk area of the unused actual disk device D1 is used as another disk array. Therefore, although the use efficiency of the disk area is improved, two disk arrays, that is, a disk array having twice the capacity of the real disk device D2 and a disk array having half the capacity of the real disk device D2, have been formed.

【0015】本発明の場合は、図1(b)に示すよう
に、実ディスク装置D1,D2のディスク領域を、例え
ば各容量の最大公約数のサイズで分割し、その各々の分
割領域を仮想ディスク装置D11〜D13,D21,D
22とし、これらの仮想ディスク装置D11〜D13,
D21,D22の各々を1つの実ディスク装置に見立て
て、1つのディスクアレイを構成する。この結果、ディ
スクアレイの容量は実ディスク装置D1,D2の容量の
合計値に等しくなり、大容量のディスクアレイが構築で
きる。以下、本発明の実施の形態の実施例について説明
する。
In the case of the present invention, as shown in FIG. 1B, the disk areas of the real disk devices D1 and D2 are divided by, for example, the greatest common divisor size of each capacity, and each of the divided areas is virtually divided. Disk devices D11 to D13, D21, D
22, the virtual disk devices D11 to D13,
One disk array is configured by treating each of D21 and D22 as one real disk device. As a result, the capacity of the disk array becomes equal to the sum of the capacities of the real disk devices D1 and D2, and a large-capacity disk array can be constructed. Hereinafter, examples of the embodiment of the present invention will be described.

【0016】[0016]

【実施例】図2を参照すると、本発明のディスクアレイ
装置の一実施例は、上位装置であるCPU1に接続され
たディスクアレイコントローラ(DAC)10と、この
ディスクアレイコントローラ10にアドレス線12及び
データ線13を通じて接続された複数の実ディスク装置
Disk1〜DiskNとから構成されている。ここ
で、複数の実ディスク装置Disk1〜DiskNのう
ち、少なくとも何れか2つの実ディスク装置は互いに容
量が異なっている。
Referring to FIG. 2, an embodiment of a disk array apparatus according to the present invention includes a disk array controller (DAC) 10 connected to a CPU 1, which is a host apparatus, and an address line 12 and an address line 12 connected to the disk array controller 10. It is composed of a plurality of real disk devices Disk 1 to Disk N connected via the data line 13. Here, at least any two of the real disk devices Disk1 to DiskN have different capacities from each other.

【0017】また、ディスクアレイコントローラ10
は、制御部3と、この制御部3とCPU1との間に接続
されたインターフェース2と、制御部3に接続された仮
想ディスク構成部11とを含んでいる。
The disk array controller 10
Includes a control unit 3, an interface 2 connected between the control unit 3 and the CPU 1, and a virtual disk configuration unit 11 connected to the control unit 3.

【0018】更に、仮想ディスク構成部11は、制御部
3に接続されたアドレス変換部4およびサイズ算出部6
と、アドレス変換部4とサイズ算出部6との間に設けら
れたサイズレジスタ5とを有し、アドレス変換部4はデ
ィスク構成テーブル7を内蔵している。
Further, the virtual disk configuration unit 11 includes an address conversion unit 4 and a size calculation unit 6 connected to the control unit 3.
And a size register 5 provided between the address conversion unit 4 and the size calculation unit 6. The address conversion unit 4 includes a disk configuration table 7.

【0019】図3を参照すると、制御部3の一実施例
は、インターフェース2に接続されたMPU301と、
このMPU301が実行すべきプログラムや各種の情報
を保持するRAM303と、MPU301に接続された
キャッシュ302、セレクタ304、インターフェース
306,307と、セレクタ304と各実ディスク装置
Disk1〜DiskNとの間に設けられたディスクイ
ンターフェース305−1〜305−Nとを有し、アド
レス変換部4とはインターフェース306を介して、ま
たサイズ算出部6とはインターフェース307を介し
て、それぞれ接続されている。
Referring to FIG. 3, one embodiment of the control unit 3 includes an MPU 301 connected to the interface 2,
A RAM 303 for holding programs to be executed by the MPU 301 and various kinds of information, a cache 302 connected to the MPU 301, a selector 304, interfaces 306 and 307, and between the selector 304 and each of the real disk devices Disk1 to DiskN. The disk interfaces 305-1 to 305-N are connected to the address conversion unit 4 via the interface 306 and to the size calculation unit 6 via the interface 307, respectively.

【0020】図4は複数の実ディスク装置を使ってディ
スクアレイを構築する手順の一例を示すフローチャート
である。まず、ディスクアレイに使う実ディスク装置を
決定する(ステップS1)。これは、システム管理者が
決定して、CPU1経由でディスクアレイコントローラ
10の制御部3におけるMPU301に通知することで
行う。また、ディスクアレイコントローラ10に実際に
接続されている実ディスク装置すべてをディスクアレイ
に使う場合には、MPU301がセレクタ304,ディ
スクインターフェース305−1〜305−Nを介して
実装されている実ディスク装置を認識することで、自動
的に決定することも可能である。以下では、実ディスク
装置Disk1〜DiskNの全てを使って1つのディ
スクアレイを構築するものとする。
FIG. 4 is a flowchart showing an example of a procedure for constructing a disk array using a plurality of real disk devices. First, a real disk device to be used for a disk array is determined (step S1). This is performed by the system administrator determining and notifying the MPU 301 in the control unit 3 of the disk array controller 10 via the CPU 1. When all of the real disk devices actually connected to the disk array controller 10 are used for the disk array, the MPU 301 is mounted on the real disk device via the selector 304 and the disk interfaces 305-1 to 305-N. Can be automatically determined by recognizing. Hereinafter, it is assumed that one disk array is constructed using all of the real disk devices Disk1 to DiskN.

【0021】次に、ディスクアレイに使う各実ディスク
装置の番号(ID)と容量を取得し、RAM303に一
次的に保存する(ステップS2)。これは、制御部3の
MPU301が各実ディスク装置Disk1〜Disk
Nの番号と容量を取得してRAM303に記憶しても良
く、システム管理者自身がCPU1経由でディスクアレ
イコントローラ10の制御部3内のRAM303に記憶
させるようにしても良い。
Next, the number (ID) and the capacity of each real disk device used for the disk array are obtained and temporarily stored in the RAM 303 (step S2). This is because the MPU 301 of the control unit 3 controls each of the real disk devices Disk 1 to Disk
The number and capacity of N may be acquired and stored in the RAM 303, or the system administrator may store it in the RAM 303 in the control unit 3 of the disk array controller 10 via the CPU 1.

【0022】次に、仮想ディスク装置の容量(サイズ)
を決定する(ステップS3)。これは、ディスクアレイ
に使う各実ディスク装置の容量をRAM303から読み
出して、制御部3からインターフェース307を通じて
サイズ算出部6に与えることで、サイズ算出部6で決定
させる。サイズ算出部6は、本実施例の場合、与えられ
た各実ディスク装置の容量の最大公約数を求め、その値
を仮想ディスク装置のサイズに決定し、MPU301に
通知すると共にサイズレジスタ5に記憶させる。
Next, the capacity (size) of the virtual disk device
Is determined (step S3). This is done by reading the capacity of each real disk device used for the disk array from the RAM 303 and giving it to the size calculation unit 6 from the control unit 3 through the interface 307 so that the size calculation unit 6 determines the size. In the case of the present embodiment, the size calculation unit 6 obtains the greatest common divisor of the given capacity of each real disk device, determines the value as the size of the virtual disk device, notifies the MPU 301 and stores it in the size register 5. Let it.

【0023】次に、制御部3のMPU301は、通知さ
れたサイズで各実ディスク装置Disk1〜DiskN
のディスク領域を分割したときの個々の分割領域を1つ
の仮想ディスク装置とし、仮想ディスク装置と実ディス
ク装置との対応関係を示すディスク構成テーブルを作成
する(ステップS4)。図5にディスク構成テーブルの
例を示す。ディスク構成テーブルでは、各仮想ディスク
装置毎に、それがどの実ディスク装置上に生成されてい
るかを示す実ディスク装置の番号と、その実ディスク装
置の何番目の仮想ディスク装置であるかを示す通し番号
とが記録されている。通し番号は、実ディスク装置のデ
ィスク領域の先頭のものから順に1,2,…と採番され
る。例えば、図6に示すように、或る実ディスク装置の
先頭から(N−1)×サイズよりN×サイズまでのディ
スク領域に対応する仮想ディスク装置DINの場合、通
し番号はNである。以上のようにして作成されたディス
ク構成テーブルは、制御部3のRAM303に記憶され
ると共に、インターフェース306を介してアドレス変
換部4に送られ、ディスク構成テーブル7としてアドレ
ス変換部4に保持される。
Next, the MPU 301 of the control unit 3 makes each of the real disk devices Disk1 to DiskN in the notified size.
Each divided area when the disk area is divided into one virtual disk device, and a disk configuration table showing the correspondence between the virtual disk device and the real disk device is created (step S4). FIG. 5 shows an example of the disk configuration table. In the disk configuration table, for each virtual disk device, the number of the real disk device indicating on which real disk device it is generated, the serial number indicating the number of the virtual disk device of the real disk device, and the like. Is recorded. The serial numbers are numbered 1, 2,... Sequentially from the head of the disk area of the real disk device. For example, as shown in FIG. 6, the serial number is N in the case of a virtual disk device DIN corresponding to a disk area from (N−1) × size to N × size from the head of a certain real disk device. The disk configuration table created as described above is stored in the RAM 303 of the control unit 3, sent to the address conversion unit 4 via the interface 306, and held as the disk configuration table 7 in the address conversion unit 4. .

【0024】次に、以上のようにして生成された複数の
仮想ディスク装置を使って1つのディスクアレイを構築
すべく、ディスクアレイ構成情報を作成し、RAM30
3に記憶する(ステップS5)。この処理は、実ディス
ク装置によってディスクアレイを構築する際とほぼ同じ
処理であり、ただ、実ディスク装置の代わりに仮想ディ
スク装置を使用する点が異なる。構築できるディスクア
レイは、本実施例の場合、RAID0,RAID1,R
AID3の3種類である。何れを作成するかは、例えば
CPU1を通じてシステム管理者がMPU301に指定
する。勿論、作成するRAIDの種類がRAM303に
記憶された制御パラメータで事前に指定されている場合
には、システム管理者からの指定は不要である。以下、
各RAID毎に具体的なディスクアレイの構成例を説明
する。
Next, in order to construct one disk array using the plurality of virtual disk devices generated as described above, disk array configuration information is created, and the RAM 30
3 (step S5). This process is almost the same as the process of constructing a disk array using real disk devices, except that a virtual disk device is used instead of a real disk device. In this embodiment, the disk arrays that can be constructed are RAID0, RAID1, and R.
AID3. Which one to create is specified by the system administrator to the MPU 301 through the CPU 1, for example. Of course, if the type of RAID to be created is specified in advance by the control parameters stored in the RAM 303, the specification from the system administrator is unnecessary. Less than,
A specific configuration example of the disk array will be described for each RAID.

【0025】なお、説明の便宜上、ディスクアレイに使
う実ディスク装置はD1,D2,D3の3つであり、容
量は実ディスク装置D3が最も小さく、実ディスク装置
D2は実ディスク装置D3の倍の容量があり、実ディス
ク装置D1は実ディスク装置D2のさらに倍の容量があ
るものとする。また、サイズ算出部6では、最大公約数
として実ディスク装置D3の容量と同じ値を決定し、そ
のため、実ディスク装置D1は4分割されて4つの仮想
ディスク装置D11,D12,D13,D14が生成さ
れ、実ディスク装置D2は2分割されて2つの仮想ディ
スク装置D21,D22が生成され、実ディスク装置D
3は分割されずに1つの仮想ディスク装置D31が生成
されたものとする。
For convenience of explanation, there are three real disk devices D1, D2 and D3 used for the disk array, and the real disk device D3 has the smallest capacity, and the real disk device D2 has twice the capacity of the real disk device D3. It is assumed that there is a capacity, and the real disk device D1 has twice the capacity of the real disk device D2. In addition, the size calculation unit 6 determines the same value as the capacity of the real disk device D3 as the greatest common divisor. Therefore, the real disk device D1 is divided into four to generate four virtual disk devices D11, D12, D13, and D14. The real disk device D2 is divided into two to generate two virtual disk devices D21 and D22.
It is assumed that one virtual disk device D31 is generated without being divided.

【0026】(1)RAID0 RAID0の場合、図7に示すように、実ディスク装置
D1上の4つの仮想ディスク装置D11〜D14と、実
ディスク装置D2上の2つの仮想ディスク装置D21,
D22と、実ディスク装置D3上の1つの仮想ディスク
装置D31との合計7つの仮想ディスク装置すべてを使
ってディスクアレイを構築する。そして、各仮想ディス
ク装置のディスク領域に対し図7の1からnまでに示さ
れるような論理アドレス付けが行われ、ディスクアレイ
構成情報として、例えば図8に示すように、各論理アド
レス毎に、その論理アドレスが指し示す領域が存在する
仮想ディスク装置の番号と、ディスク内アドレス(先頭
からのオフセットアドレス)とを記録した情報が生成さ
れる。なお、Sは仮想ディスク装置のサイズ、Lは1論
理アドレス当たりのアドレス増分値である。
(1) RAID0 In the case of RAID0, as shown in FIG. 7, four virtual disk devices D11 to D14 on the real disk device D1, and two virtual disk devices D21,
A disk array is constructed using a total of seven virtual disk devices D22 and one virtual disk device D31 on the real disk device D3. Then, logical addresses are assigned to the disk areas of each virtual disk device as indicated by 1 to n in FIG. 7, and as the disk array configuration information, for example, as shown in FIG. Information that records the number of the virtual disk device in which the area indicated by the logical address exists and the address in the disk (offset address from the head) is generated. Note that S is the size of the virtual disk device, and L is the address increment value per logical address.

【0027】(2)RAID1 RAID1の場合、マスタとなる仮想ディスク装置とス
レーブとなる仮想ディスク装置とをペアにするので、偶
数個の仮想ディスク装置を使用する。また、マスタとな
る仮想ディスク装置とスレーブとなる仮想ディスク装置
とは同じ実ディスク装置上に存在しないようにする。こ
れらの条件を満足する範囲内で、できるだけ多くの仮想
ディスク装置を使ってRAID1に相当するディスクア
レイを構成する。今の例では、図9に示すように、仮想
ディスク装置D14以外の6つの仮想ディスク装置D1
1〜D13,D21,D22,D31を使ってディスク
アレイを構築し、D11とD21,D12とD31,D
13とD22をそれぞれペアとする。そして、各仮想デ
ィスク装置D11〜D13,D21,D22,D31の
ディスク領域に対し図9の1からnまでに示されるよう
な論理アドレス付けが行われ、ディスクアレイ構成情報
として、例えば図10に示すように、各論理アドレス毎
に、マスタとなる仮想ディスク装置の番号と、スレーブ
となる仮想ディスク装置の番号と、ディスク内アドレス
(先頭からのオフセットアドレス)とを記録した情報が
生成される。
(2) RAID1 In the case of RAID1, since a virtual disk device serving as a master and a virtual disk device serving as a slave are paired, an even number of virtual disk devices are used. In addition, the master virtual disk device and the slave virtual disk device do not exist on the same real disk device. A disk array corresponding to RAID 1 is configured using as many virtual disk devices as possible within a range satisfying these conditions. In the present example, as shown in FIG. 9, six virtual disk devices D1 other than the virtual disk device D14 are used.
A disk array is constructed using D1 to D13, D21, D22, and D31, and D11 and D21, D12 and D31, D
13 and D22 are each paired. Then, the logical areas shown in 1 to n in FIG. 9 are assigned to the disk areas of the respective virtual disk devices D11 to D13, D21, D22, and D31. As described above, information recording the number of the master virtual disk device, the number of the slave virtual disk device, and the in-disk address (offset address from the head) is generated for each logical address.

【0028】なお、生成された仮想ディスク装置が奇数
個であった場合に、どの1つの仮想ディスク装置を未使
用とするかは、CPU1を通じてシステム管理者がMP
U301に指定しても良く、また、MPU301自身
が、例えば最大数の仮想ディスク装置が生成された実デ
ィスク装置の最後の仮想ディスク装置(ディスク領域の
先頭から最も遠くにあるもの)を未使用にするようにし
ても良い。さらに、ペアにする仮想ディスク装置の指定
はCPU1を通じてシステム管理者がMPU301に指
定しても良く、MPU301自身が、マスタとなる仮想
ディスク装置とスレーブとなる仮想ディスク装置とが同
じ実ディスク装置上に存在しない条件を満足する範囲内
で、できるだけ多くのペアを求める組み合わせ問題を解
くことで決定しても良い。
When an odd number of virtual disk devices are generated, the system administrator determines which one of the virtual disk devices is to be unused through the CPU 1.
The UPU 301 may designate the last virtual disk device (the one farthest from the head of the disk area) of the last real disk device in which the maximum number of virtual disk devices have been generated, for example. You may do it. Furthermore, the system administrator may specify the virtual disk devices to be paired to the MPU 301 through the CPU 1, and the MPU 301 itself sets the master virtual disk device and the slave virtual disk device on the same real disk device. The determination may be made by solving a combination problem that seeks as many pairs as possible within a range that satisfies a condition that does not exist.

【0029】(3)RAID3 RAID3の場合、MPU301は、生成された仮想デ
ィスク装置の数が最小の実ディスク装置における仮想デ
ィスク装置をパリティ用ディスク、他の実ディスク装置
上に生成された仮想ディスク装置をデータ用ディスクに
それぞれ使ってRAID3に相当するディスクアレイを
構築する。従って、今の例では、図11に示すように、
実ディスク装置D3上の仮想ディスク装置D31がパリ
ティ用ディスク、実ディスク装置D3以外の実ディスク
装置D1,D2上の仮想ディスク装置D11〜D14,
D21,D22がデータ用ディスクとして使ったディス
クアレイが構築される。勿論、CPU1を通じてシステ
ム管理者がパリティ用ディスクとして使用する仮想ディ
スク装置、データ用ディスクとして使用する仮想ディス
ク装置をMPU301に指定するようにしても良い。そ
して、各仮想ディスク装置D11〜D14,D21,D
22,D31のディスク領域に対し図11のA−1から
n−6までに示されるような論理アドレス付けが行わ
れ、ディスクアレイ構成情報として、例えば図12に示
すように、各論理アドレス毎に、データ用仮想ディスク
装置の番号およびそのディスク内アドレス(先頭からの
オフセットアドレス)と、パリティ用仮想ディスク装置
の番号およびそのディスク内アドレス(先頭からのオフ
セット)とを記録した情報が生成される。
(3) RAID3 In the case of RAID3, the MPU 301 uses a virtual disk device in a real disk device with the smallest number of virtual disk devices generated as a parity disk and a virtual disk device generated on another real disk device. Are used as data disks to construct a disk array equivalent to RAID3. Therefore, in the present example, as shown in FIG.
A virtual disk device D31 on the real disk device D3 is a parity disk, and virtual disk devices D11 to D14 on real disk devices D1 and D2 other than the real disk device D3.
A disk array used by D21 and D22 as data disks is constructed. Of course, the system administrator may specify the virtual disk device used as the parity disk and the virtual disk device used as the data disk to the MPU 301 through the CPU 1. Then, each of the virtual disk devices D11 to D14, D21, D
Logical addresses are assigned to the disk areas 22 and D31 as shown in A-1 to n-6 in FIG. 11, and as the disk array configuration information, for example, as shown in FIG. In addition, information is recorded which records the number of the data virtual disk device and its disk address (offset address from the head), and the parity virtual disk device number and its disk address (offset from the head).

【0030】次に、上述のようにして構築されたディス
クアレイに対するリード,ライト時の動作を説明する。
Next, the operation at the time of reading and writing to the disk array constructed as described above will be described.

【0031】(1)RAID0 CPU1から論理アドレスを指定したリード要求または
ライト要求がインターフェース2を通じて制御部3に与
えられると、制御部3のMPU301は、RAM303
に記憶された図8に示したようなディスクアレイ構成情
報をその論理アドレスで検索し、仮想ディスク装置番号
とディスク内アドレスとを取得する。次に、この取得し
た仮想ディスク装置番号を持つ仮想ディスク装置の先頭
アドレスが、どの実ディスク装置のどの物理アドレスに
相当するかを調べるために、前記取得した仮想ディスク
装置番号をインターフェース306を通じてアドレス変
換部4に送る。
(1) When a read request or a write request specifying a logical address is given from the RAID0 CPU 1 to the control unit 3 through the interface 2, the MPU 301 of the control unit 3
The disk array configuration information as shown in FIG. 8 is searched by its logical address, and the virtual disk device number and the in-disk address are obtained. Next, the obtained virtual disk device number is converted through the interface 306 in order to check which physical address of the real disk device corresponds to the start address of the virtual disk device having the obtained virtual disk device number. Send to Part 4.

【0032】アドレス変換部4は、受信した仮想ディス
ク装置番号で図5に示したようなディスク構成テーブル
を検索して実ディスク装置番号と通し番号とを取得し、
この取得した通し番号とサイズレジスタ5に記憶されて
いる仮想ディスク装置のサイズとから、 (通し番号−1)×サイズ を計算し、この計算結果と前記取得した実ディスク装置
番号とをインターフェース306を通じてMPU301
に返却する。
The address translator 4 searches the disk configuration table as shown in FIG. 5 by the received virtual disk device number to obtain the actual disk device number and the serial number.
From the obtained serial number and the size of the virtual disk device stored in the size register 5, (serial number-1) × size is calculated, and the calculation result and the obtained real disk device number are transferred to the MPU 301 through the interface 306.
Return to.

【0033】MPU301は、返却された計算結果に前
記ディスク内アドレスを加算することで、返却された実
ディスク装置番号を持つ実ディスク装置上でのアドレス
を求め、当該実ディスク装置の当該アドレスに対するア
クセス処理を行う。まず、キャッシュ302に、当該実
ディスク装置の当該アドレスのデータのコピーが存在す
るか否かを調べ、存在すれば、リード要求であればキャ
ッシュ302から読み出したデータをインターフェース
2を通じてCPU1に返却し、ライト要求であればCP
U1からライト要求時に渡されたデータをキャッシュ3
02に書き込むと同時にセレクタ304を介して当該実
ディスク装置の当該アドレスにも書き込む。なお、キャ
ッシュ302のみを更新し、実ディスク装置上のデータ
はキャッシュ302の掃き出し時に行うようにしても良
い。
The MPU 301 obtains an address on the real disk device having the returned real disk device number by adding the address in the disk to the returned calculation result, and accesses the address of the real disk device to the address. Perform processing. First, it is checked whether or not a copy of the data at the address of the real disk device exists in the cache 302, and if so, the data read from the cache 302 is returned to the CPU 1 through the interface 2 if it is a read request, CP for write request
Cache data transferred from U1 at the time of write request
02 is written to the corresponding address of the real disk device via the selector 304 at the same time. Alternatively, only the cache 302 may be updated, and data on the actual disk device may be updated when the cache 302 is flushed.

【0034】他方、キャッシュ302に、当該実ディス
ク装置の当該アドレスのデータのコピーが存在しなけれ
ば、リード要求の場合は、セレクタ304を介して当該
実ディスク装置の当該アドレスからデータを読み出して
CPU1に返却すると共にキャッシュ302にキャッシ
ングする。ライト要求の場合は、セレクタ304を介し
て当該実ディスク装置の当該アドレスにCPU1からラ
イト要求時に渡されたデータを書き込む。
On the other hand, if there is no copy of the data at the address of the real disk device in the cache 302, in the case of a read request, the data is read from the address of the real disk device via the selector 304 and the CPU 1 And cached in the cache 302. In the case of a write request, the data passed from the CPU 1 at the time of the write request is written to the address of the real disk device via the selector 304.

【0035】(2)RAID1 (A)リード要求 CPU1から論理アドレスを指定したリード要求がイン
ターフェース2を通じて制御部3に与えられると、制御
部3のMPU301は、RAM303に記憶された図1
0に示したようなディスクアレイ構成情報をその論理ア
ドレスで検索し、マスタ側仮想ディスク装置番号とディ
スク内アドレスとを取得する。次に、この取得したマス
タ側仮想ディスク装置番号を持つ仮想ディスク装置の先
頭アドレスが、どの実ディスク装置のどの物理アドレス
に相当するかをRAID0の場合と同様にアドレス変換
部4によって求め、前記マスタ側仮想ディスク装置番号
とディスク内アドレスとに対応する、実ディスク装置番
号および実ディスク装置内アドレスを求める。そして、
当該実ディスク装置の当該アドレスに対するアクセス処
理をRAID0の場合と同様に行う。
(2) RAID1 (A) Read Request When a read request specifying a logical address is given from the CPU 1 to the control unit 3 through the interface 2, the MPU 301 of the control unit 3 stores the read request shown in FIG.
The disk array configuration information such as 0 is searched by its logical address, and the master-side virtual disk device number and the disk address are obtained. Next, the address translation unit 4 determines the physical address of the real disk device to which the head address of the virtual disk device having the acquired master-side virtual disk device number corresponds, as in the case of RAID0. A real disk device number and a real disk device address corresponding to the side virtual disk device number and the disk address are obtained. And
The access processing for the address of the real disk device is performed in the same manner as in the case of RAID0.

【0036】(B)ライト要求 CPU1から論理アドレスを指定したライト要求がイン
ターフェース2を通じて制御部3に与えられると、制御
部3のMPU301は、RAM303に記憶された図1
0に示したようなディスクアレイ構成情報をその論理ア
ドレスで検索し、マスタ側仮想ディスク装置番号とスレ
ーブ側仮想ディスク装置番号とディスク内アドレスとを
取得する。次に、この取得したマスタ側仮想ディスク装
置番号を持つ仮想ディスク装置の先頭アドレスがどの実
ディスク装置のどの物理アドレスに相当するか、およ
び、前記取得したスレーブ側仮想ディスク装置番号を持
つ仮想ディスク装置の先頭アドレスがどの実ディスク装
置のどの物理アドレスに相当するかを、RAID0の場
合と同様にアドレス変換部4によって求め、前記マスタ
側仮想ディスク装置番号とディスク内アドレスとに対応
する実ディスク装置番号および実ディスク装置内アドレ
ス、および、前記スレーブ側仮想ディスク装置番号とデ
ィスク内アドレスとに対応する実ディスク装置番号およ
び実ディスク装置内アドレスを求める。そして、当該実
ディスク装置の当該アドレスに対する2つのアクセス処
理をRAID0の場合と同様に行う。マスタとなる仮想
ディスク装置とスレーブとなる仮想ディスク装置とは異
なる実ディスク装置上に生成されているので、マスタ,
スレーブに対する更新は並行して実施可能である。
(B) Write Request When a write request specifying a logical address is given from the CPU 1 to the control unit 3 through the interface 2, the MPU 301 of the control unit 3 stores the write request shown in FIG.
The disk array configuration information such as 0 is searched by its logical address, and the master-side virtual disk device number, the slave-side virtual disk device number, and the in-disk address are obtained. Next, which physical address of the real disk device corresponds to the starting address of the virtual disk device having the acquired master-side virtual disk device number, and the virtual disk device having the acquired slave-side virtual disk device number The physical address of the real disk device corresponding to the physical address of the real disk device is determined by the address conversion unit 4 as in the case of RAID 0, and the real disk device number corresponding to the master-side virtual disk device number and the disk address And a real disk device address, and a real disk device number and a real disk device address corresponding to the slave virtual disk device number and the disk address. Then, two access processes for the address of the real disk device are performed in the same manner as in the case of RAID0. Since the master virtual disk device and the slave virtual disk device are created on different real disk devices, the master,
Updates to slaves can be performed in parallel.

【0037】(3)RAID3 (A)リード要求 CPU1から論理アドレスとして、例えばA−1を指定
したリード要求がインターフェース2を通じて制御部3
に与えられると、制御部3のMPU301は、RAM3
03に記憶された図12に示したようなディスクアレイ
構成情報を論理アドレス(A−x)(xは任意の値)で
検索し、論理アドレスA−1〜A−6の各々に対応する
データ用仮想ディスク装置番号とディスク内アドレス、
および、パリティ用仮想ディスク装置番号とディスク内
アドレスとを取得する。
(3) RAID 3 (A) Read request A read request specifying, for example, A-1 as a logical address from the CPU 1 is sent to the control unit 3 through the interface 2.
, The MPU 301 of the control unit 3
The disk array configuration information as shown in FIG. 12 stored at 03 is searched by the logical address (A-x) (x is an arbitrary value), and data corresponding to each of the logical addresses A-1 to A-6 is retrieved. Virtual disk unit number and disk address,
Then, the virtual disk device number for parity and the address in the disk are obtained.

【0038】次に、この取得したデータ用仮想ディスク
装置番号、パリティ用仮想ディスク装置用番号を持つ仮
想ディスク装置の先頭アドレスが、それぞれどの実ディ
スク装置のどの物理アドレスに相当するかをRAID0
の場合と同様にアドレス変換部4によって求め、前記デ
ータ用仮想ディスク装置番号とディスク内アドレスとに
対応する実ディスク装置番号および実ディスク装置内ア
ドレス、前記パリティ用仮想ディスク装置番号とディス
ク内アドレスとに対応する実ディスク装置番号および実
ディスク装置内アドレスを求める。
Next, the physical address of each real disk device corresponding to the obtained virtual disk device number for the data and the virtual disk device number having the virtual disk device number for the parity corresponds to RAID0.
In the same manner as in the case of (1), the real disk device number and the address in the real disk device corresponding to the data virtual disk device number and the address in the disk, the virtual disk device number for parity and the address in the disk are obtained. Of the real disk device number and the address in the real disk device corresponding to the above.

【0039】そして、当該実ディスク装置の当該アドレ
スに対するリード処理をRAID0の場合と同様に行っ
て、論理アドレスA−1〜A−6に記憶されているデー
タとそのパリティとを取得する。この際、異なる実ディ
スク装置上の仮想ディスク装置に対するアクセスは並行
して実施することができる。次に、パリティチェックを
行い、エラーが無ければ、リード要求された論理アドレ
スA−1に対応するデータをCPU1に返却し、エラー
が有れば、その旨をCPU1に返却する。
Then, the read processing for the address of the real disk device is performed in the same manner as in the case of RAID 0, and the data stored in the logical addresses A-1 to A-6 and the parity thereof are obtained. At this time, access to virtual disk devices on different real disk devices can be performed in parallel. Next, a parity check is performed. If there is no error, the data corresponding to the logical address A-1 requested to be read is returned to the CPU 1, and if there is an error, the fact is returned to the CPU 1.

【0040】(B)ライト要求 CPU1から論理アドレスとして、例えばA−1を指定
したライト要求がインターフェース2を通じて制御部3
に与えられると、制御部3のMPU301は、RAM3
03に記憶された図12に示したようなディスクアレイ
構成情報を論理アドレス(A−1)で検索し、論理アド
レスA−1に対応するデータ用仮想ディスク装置番号と
ディスク内アドレス、および、パリティ用仮想ディスク
装置番号とディスク内アドレスを取得する。
(B) Write Request A write request specifying, for example, A-1 as a logical address from the CPU 1 is sent to the control unit 3 through the interface 2.
, The MPU 301 of the control unit 3
The disk array configuration information as shown in FIG. 12 stored at 03 is searched by the logical address (A-1), and the data virtual disk device number, disk address, and parity corresponding to the logical address A-1 are retrieved. Obtain the virtual disk device number for use and the address in the disk.

【0041】次に、この取得したデータ用仮想ディスク
装置番号、パリティ用仮想ディスク装置用番号を持つ仮
想ディスク装置の先頭アドレスが、それぞれどの実ディ
スク装置のどの物理アドレスに相当するかをRAID0
の場合と同様にアドレス変換部4によって求め、前記デ
ータ用仮想ディスク装置番号とディスク内アドレスとに
対応する実ディスク装置番号および実ディスク装置内ア
ドレス、前記パリティ用仮想ディスク装置番号とディス
ク内アドレスとに対応する実ディスク装置番号および実
ディスク装置内アドレスを求める。
Next, the physical address of the real disk device corresponding to the obtained virtual disk device number for data and the virtual disk device number having the virtual disk device number for parity correspond to which physical address in RAID0.
In the same manner as in the case of (1), the real disk device number and the address in the real disk device corresponding to the data virtual disk device number and the address in the disk, the virtual disk device number for parity and the address in the disk are obtained. Of the real disk device number and the address in the real disk device corresponding to the above.

【0042】そして、当該実ディスク装置の当該アドレ
スに対するリード処理をRAID0の場合と同様に行っ
て、論理アドレスA−1に記憶されているデータとその
パリティとを取得する。データ用仮想ディスク装置とパ
リティ用仮想ディスク装置とは異なる実ディスク装置上
に生成されているため、並行して処理することが可能で
ある。
Then, the read process for the address of the real disk device is performed in the same manner as in the case of RAID 0, and the data stored at the logical address A-1 and its parity are obtained. Since the data virtual disk device and the parity virtual disk device are created on different real disk devices, they can be processed in parallel.

【0043】次に、取得した論理アドレスA−1のデー
タと、ライト要求時にCPU1から渡されたデータと、
取得したパリティとから、新たなパリティを生成し、こ
のパリティと、CPU1から渡されたデータとを、RA
ID0の場合と同様にキャッシュ302または実ディス
ク装置の元の場所に書き戻す。このときも並行して処理
することが可能である。
Next, the acquired data of the logical address A-1, the data passed from the CPU 1 at the time of the write request,
A new parity is generated from the acquired parity, and the parity and the data passed from the CPU 1 are written in RA.
As in the case of ID0, the data is written back to the cache 302 or the original location of the real disk device. At this time, the processing can be performed in parallel.

【0044】図13は本発明のディスクアレイ装置の別
の実施例のブロック図である。この実施例が図2に示し
た実施例と相違するところは、仮想ディスク構成部11
内に、CPU1,インターフェース2,制御部3を通じ
てシステム管理者が任意の値を設定できるサイズ設定レ
ジスタ20を備え、サイズ算出部6は、ディスクアレイ
に使用する複数の実ディスク装置の容量の最大公約数が
サイズ設定レジスタ20に設定された値より小さくなる
場合には、サイズ設定レジスタ20に設定された値を仮
想ディスク装置のサイズに決定し、小さくない場合は、
前記求めた最大公約数を仮想ディスク装置のサイズに決
定するようにした点にある。
FIG. 13 is a block diagram of another embodiment of the disk array device of the present invention. This embodiment is different from the embodiment shown in FIG.
A size setting register 20 in which a system administrator can set an arbitrary value through the CPU 1, the interface 2, and the control unit 3 is provided. The size calculation unit 6 has a maximum common capacity of a plurality of real disk devices used for the disk array. If the number is smaller than the value set in the size setting register 20, the value set in the size setting register 20 is determined as the size of the virtual disk device.
The point is that the obtained greatest common divisor is determined as the size of the virtual disk device.

【0045】例えば、2GBの実ディスク装置と、1.2
GBの実ディスク装置との2つの実ディスク装置がある
場合、図2の実施例では、その最大公約数である400
MBに従って、合計8個の仮想ディスク装置が生成され
るが、サイズ設定レジスタ20に例えば1GBを設定し
ておくと、仮想ディスク装置のサイズは1GBとなり、
1GBの仮想ディスクが3つ生成される。これにより、
0.2GBは未使用となるが、仮想ディスク装置のサイズ
が極端に小さくなる事態を避けることができる。
For example, a 2 GB real disk device,
In a case where there are two real disk devices including a GB real disk device, in the embodiment shown in FIG.
According to the MB, a total of eight virtual disk devices are generated. If, for example, 1 GB is set in the size setting register 20, the size of the virtual disk device becomes 1 GB.
Three 1 GB virtual disks are created. This allows
Although 0.2 GB is unused, it is possible to avoid a situation where the size of the virtual disk device becomes extremely small.

【0046】図14は本発明のディスクアレイ装置の更
に別の実施例のブロック図である。この実施例が図2に
示した実施例と相違するところは、サイズ算出部6を取
り除き、システム管理者がCPU1,インターフェース
2および制御部3を通じてサイズレジスタ5に仮想ディ
スク装置のサイズを直接設定できるようにした点にあ
る。仮想ディスク装置のサイズをシステム管理者自身が
決定しなければならないため、システム管理者の作業負
荷が高まるが、仮想ディスク装置のサイズ、仮想ディス
ク装置の合計台数をシステム管理者自身が調整できる利
点がある。
FIG. 14 is a block diagram of still another embodiment of the disk array device of the present invention. This embodiment differs from the embodiment shown in FIG. 2 in that the size calculation unit 6 is eliminated, and the system administrator can directly set the size of the virtual disk device in the size register 5 through the CPU 1, the interface 2, and the control unit 3. That's the point. Since the system administrator must determine the size of the virtual disk unit, the workload of the system administrator increases, but the advantage is that the system administrator can adjust the size of the virtual disk unit and the total number of virtual disk units. is there.

【0047】[0047]

【発明の効果】以上説明したように、本発明によれば、
同じ実ディスク装置上に生成された複数の仮想ディスク
装置を含め、同容量の複数の仮想ディスク装置を使って
ディスクアレイを構成するため、容量の異なる複数の実
ディスク装置を使って全ディスク装置の容量の合計と同
じか、それにほぼ近い大容量のディスクアレイを構築す
ることが可能となる。
As described above, according to the present invention,
To configure a disk array using multiple virtual disk units of the same capacity, including multiple virtual disk units created on the same physical disk unit, use multiple real disk units of different capacities to configure all disk units. It is possible to construct a large-capacity disk array equal to or nearly equal to the total capacity.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施の形態の原理説明図である。FIG. 1 is a diagram illustrating the principle of an embodiment of the present invention.

【図2】本発明のディスクアレイ装置の一実施例のブロ
ック図である。
FIG. 2 is a block diagram of an embodiment of a disk array device according to the present invention.

【図3】制御部の一実施例のブロック図である。FIG. 3 is a block diagram of an embodiment of a control unit.

【図4】複数の実ディスク装置を使ってディスクアレイ
を構築する手順の一例を示すフローチャートである。
FIG. 4 is a flowchart illustrating an example of a procedure for constructing a disk array using a plurality of real disk devices.

【図5】ディスク構成テーブルの例を示す図である。FIG. 5 is a diagram showing an example of a disk configuration table.

【図6】仮想ディスクと実ディスクとの対応関係を示す
図である。
FIG. 6 is a diagram showing the correspondence between virtual disks and real disks.

【図7】複数の仮想ディスク装置を使って構成されるR
AID0のディスクアレイの構成例を示す図である。
FIG. 7 illustrates an R configured using a plurality of virtual disk devices.
FIG. 3 is a diagram illustrating a configuration example of a disk array of AID0.

【図8】複数の仮想ディスク装置を使って構成されるR
AID0のディスクアレイ用のディスクアレイ構成情報
の例を示す図である。
FIG. 8 illustrates an R configured using a plurality of virtual disk devices.
FIG. 14 is a diagram illustrating an example of disk array configuration information for a disk array of AID0.

【図9】複数の仮想ディスク装置を使って構成されるR
AID1のディスクアレイの構成例を示す図である。
FIG. 9 illustrates an R configured using a plurality of virtual disk devices.
FIG. 3 is a diagram illustrating a configuration example of a disk array of AID1.

【図10】複数の仮想ディスク装置を使って構成される
RAID1のディスクアレイ用のディスクアレイ構成情
報の例を示す図である。
FIG. 10 is a diagram illustrating an example of disk array configuration information for a RAID 1 disk array configured using a plurality of virtual disk devices.

【図11】複数の仮想ディスク装置を使って構成される
RAID3のディスクアレイの構成例を示す図である。
FIG. 11 is a diagram illustrating a configuration example of a RAID3 disk array configured using a plurality of virtual disk devices.

【図12】複数の仮想ディスク装置を使って構成される
RAID3のディスクアレイ用のディスクアレイ構成情
報の例を示す図である。
FIG. 12 is a diagram illustrating an example of disk array configuration information for a RAID3 disk array configured using a plurality of virtual disk devices.

【図13】本発明のディスクアレイ装置の別の実施例の
ブロック図である。
FIG. 13 is a block diagram of another embodiment of the disk array device of the present invention.

【図14】本発明のディスクアレイ装置の更に別の実施
例のブロック図である。
FIG. 14 is a block diagram of still another embodiment of the disk array device of the present invention.

【符号の説明】[Explanation of symbols]

1…CPU 2…インターフェース 3…制御部 4…アドレス変換部 5…サイズレジスタ 6…サイズ算出部 7…ディスク構成テーブル 10…ディスクアレイコントローラ(DAC) 11…仮想ディスク構成部 20…サイズ設定レジスタ DESCRIPTION OF SYMBOLS 1 ... CPU 2 ... Interface 3 ... Control part 4 ... Address conversion part 5 ... Size register 6 ... Size calculation part 7 ... Disk configuration table 10 ... Disk array controller (DAC) 11 ... Virtual disk configuration part 20 ... Size setting register

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも何れか2つの実ディスク装置
の容量が異なっている複数の実ディスク装置を同じ容量
のディスク領域に分割したときの個々のディスク領域を
仮想ディスク装置とし、同じ実ディスク装置上に生成さ
れた複数の仮想ディスク装置を含め、同容量の複数の仮
想ディスク装置を使ってディスクアレイを構成したディ
スクアレイ装置。
1. A virtual disk device when each of a plurality of real disk devices having different capacities of at least two real disk devices having different capacities is divided into disk regions of the same capacity is used as a virtual disk device. A disk array device comprising a plurality of virtual disk devices of the same capacity, including a plurality of virtual disk devices generated in the above.
【請求項2】 少なくとも何れか2つの実ディスク装置
の容量が異なっている複数の実ディスク装置と、該複数
の実ディスク装置に接続された制御装置とから構成され
たディスクアレイ装置において、 前記制御装置は、 前記複数の実ディスク装置のディスク領域を分割するサ
イズを保持するサイズレジスタと、 前記複数の実ディスク装置を前記サイズで分割した個々
のディスク領域を仮想ディスク装置とし、各仮想ディス
ク装置と前記実ディスク装置との対応関係を示すディス
ク構成テーブルを生成する手段と、 同じ実ディスク装置上に生成された複数の仮想ディスク
装置を含め、複数の仮想ディスク装置を使ってディスク
アレイを構成する手段と、 上位装置からのディスクアレイに対するリードおよびラ
イト要求時、前記ディスク構成テーブルを参照して仮想
ディスク装置に対するアドレスから対応する前記実ディ
スク装置に対するアドレスに変換する手段とを備えるこ
とを特徴とするディスクアレイ装置。
2. A disk array device comprising: a plurality of real disk devices having at least any two real disk devices having different capacities; and a control device connected to the plurality of real disk devices. The apparatus includes: a size register that holds a size for dividing a disk area of the plurality of real disk devices; and an individual disk area obtained by dividing the plurality of real disk devices by the size as a virtual disk device. Means for generating a disk configuration table indicating the correspondence relationship with the real disk devices, and means for configuring a disk array using a plurality of virtual disk devices, including a plurality of virtual disk devices generated on the same real disk device And when a read / write request to the disk array is made from a higher-level device, the disk configuration The disk array apparatus comprising: a means for converting said in address to the real disk device from the corresponding address for the virtual disk device with reference to the table.
【請求項3】 生成された全ての仮想ディスク装置を使
ってRAID0に相当するディスクアレイを構成した請
求項2記載のディスクアレイ装置。
3. The disk array device according to claim 2, wherein a disk array corresponding to RAID0 is configured using all the generated virtual disk devices.
【請求項4】 マスタとなる仮想ディスク装置とスレー
ブとなる仮想ディスク装置とが同じ実ディスク装置上に
存在しない条件を満足する範囲内で、できるだけ多くの
仮想ディスク装置を使ってRAID1に相当するディス
クアレイを構成した請求項2記載のディスクアレイ装
置。
4. A disk corresponding to RAID 1 using as many virtual disk devices as possible within a range satisfying a condition that a master virtual disk device and a slave virtual disk device do not exist on the same real disk device. 3. The disk array device according to claim 2, wherein said disk array device comprises an array.
【請求項5】 生成された仮想ディスク装置の数が最小
の実ディスク装置における仮想ディスク装置をパリティ
用ディスク、他の実ディスク装置上に生成された仮想デ
ィスク装置をデータ用ディスクにそれぞれ使ってRAI
D3に相当するディスクアレイを構成した請求項2記載
のディスクアレイ装置。
5. The RAI using a virtual disk device in a real disk device with the smallest number of virtual disk devices generated as a parity disk and a virtual disk device generated on another real disk device as a data disk, respectively.
3. The disk array device according to claim 2, wherein a disk array corresponding to D3 is configured.
【請求項6】 前記複数の実ディスク装置の容量の最大
公約数を求める手段を備え、該手段で求められた値を前
記サイズレジスタに設定する請求項2,3,4または5
記載のディスクアレイ装置。
6. The apparatus according to claim 2, further comprising means for obtaining a greatest common divisor of the capacities of said plurality of real disk devices, wherein the value obtained by said means is set in said size register.
The disk array device according to the above.
【請求項7】 最小サイズを保持するサイズ設定レジス
タと、前記複数の実ディスク装置の容量の最大公約数を
求める手段とを備え、該手段で求められた値が前記最小
サイズより小さくなる場合には前記最小サイズを前記サ
イズレジスタに設定し、それ以外は前記求められた値を
前記サイズレジスタに設定する請求項2,3,4または
5記載のディスクアレイ装置。
7. A size setting register for holding a minimum size, and means for obtaining a greatest common divisor of the capacities of the plurality of real disk devices, wherein a value obtained by the means is smaller than the minimum size. 6. The disk array device according to claim 2, wherein the minimum size is set in the size register, and the other values are set in the size register otherwise.
JP10503099A 1999-04-13 1999-04-13 Disk array device Expired - Fee Related JP3454183B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10503099A JP3454183B2 (en) 1999-04-13 1999-04-13 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10503099A JP3454183B2 (en) 1999-04-13 1999-04-13 Disk array device

Publications (2)

Publication Number Publication Date
JP2000298556A true JP2000298556A (en) 2000-10-24
JP3454183B2 JP3454183B2 (en) 2003-10-06

Family

ID=14396637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10503099A Expired - Fee Related JP3454183B2 (en) 1999-04-13 1999-04-13 Disk array device

Country Status (1)

Country Link
JP (1) JP3454183B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006505065A (en) * 2002-10-31 2006-02-09 リング テクノロジー エンタープライズィズ,エルエルシー Method and system for storage system
US7213124B2 (en) 2003-05-28 2007-05-01 Hitachi, Ltd. Method for allocating storage area to virtual volume
JP2007265409A (en) * 2006-03-29 2007-10-11 Internatl Business Mach Corp <Ibm> Computer implementation method, data processing system and computer program (amorphous raid)
JP2009532812A (en) * 2006-04-04 2009-09-10 パーマビット インコーポレイテッド Storage Allocation and Erasure Coding Techniques for Scalable and Fault Tolerant Storage Systems
JP2016091164A (en) * 2014-10-31 2016-05-23 株式会社バッファロー Disk control apparatus, disk control method, and program
JP6078180B1 (en) * 2016-01-22 2017-02-08 西日本電信電話株式会社 Data distribution apparatus, data distribution method, and data distribution program
JP2021515298A (en) * 2018-02-26 2021-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Virtual storage drive management in a data storage system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844503A (en) * 1994-06-22 1996-02-16 Hewlett Packard Co <Hp> Method for usage of storate disks of different capacity at inside of single storage volume in hierarchical disk array
JPH09120342A (en) * 1995-08-23 1997-05-06 Fujitsu Ltd Disk array device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844503A (en) * 1994-06-22 1996-02-16 Hewlett Packard Co <Hp> Method for usage of storate disks of different capacity at inside of single storage volume in hierarchical disk array
JPH09120342A (en) * 1995-08-23 1997-05-06 Fujitsu Ltd Disk array device

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006505065A (en) * 2002-10-31 2006-02-09 リング テクノロジー エンタープライズィズ,エルエルシー Method and system for storage system
US7213124B2 (en) 2003-05-28 2007-05-01 Hitachi, Ltd. Method for allocating storage area to virtual volume
US7257694B2 (en) 2003-05-28 2007-08-14 Hitachi, Ltd. Method for allocating storage area to virtual volume
US7484071B2 (en) 2003-05-28 2009-01-27 Hitachi, Ltd. Method for allocating storage area to virtual volume
JP2007265409A (en) * 2006-03-29 2007-10-11 Internatl Business Mach Corp <Ibm> Computer implementation method, data processing system and computer program (amorphous raid)
JP2009532812A (en) * 2006-04-04 2009-09-10 パーマビット インコーポレイテッド Storage Allocation and Erasure Coding Techniques for Scalable and Fault Tolerant Storage Systems
US8364891B2 (en) 2006-04-04 2013-01-29 Permabit Technology Corporation Storage assignment technique for scalable and fault tolerant storage system
JP2016091164A (en) * 2014-10-31 2016-05-23 株式会社バッファロー Disk control apparatus, disk control method, and program
JP6078180B1 (en) * 2016-01-22 2017-02-08 西日本電信電話株式会社 Data distribution apparatus, data distribution method, and data distribution program
JP2017130143A (en) * 2016-01-22 2017-07-27 西日本電信電話株式会社 Data distribution device, data distribution method, and data distribution program
JP2021515298A (en) * 2018-02-26 2021-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Virtual storage drive management in a data storage system
JP7139435B2 (en) 2018-02-26 2022-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション Virtual storage drive management in data storage systems

Also Published As

Publication number Publication date
JP3454183B2 (en) 2003-10-06

Similar Documents

Publication Publication Date Title
US5619690A (en) Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
US6567888B2 (en) Method and apparatus for efficiently destaging data from a cache to two or more non-contiguous storage locations
US5129088A (en) Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device
JP3135751B2 (en) Data storage device
US5689678A (en) Distributed storage array system having a plurality of modular control units
EP0768607B1 (en) Disk array controller for performing exclusive or operations
US6058489A (en) On-line disk array reconfiguration
US6021462A (en) Methods and apparatus for system memory efficient disk access to a raid system using stripe control information
EP0654736A2 (en) Dynamically expandable storage unit array system
JP3200500B2 (en) Disk device and disk control method
JP2004213064A (en) Raid device and logic device expansion method therefor
JP2007102760A (en) Automatic allocation of volume in storage area network
JP4401305B2 (en) Configuration definition setting method of disk array device and disk array device
JP3247075B2 (en) Parity block generator
US9009440B2 (en) Adjustment of data storage capacity provided by a storage system
US20060053287A1 (en) Storage apparatus, system and method using a plurality of object-based storage devices
JP3454183B2 (en) Disk array device
JP2003006135A (en) Input/output controller, input/output control method and information storage system
JP4252102B2 (en) Computer system and secondary storage device
JPH09288547A (en) Array-type storage device
JP2003131818A (en) Configuration of raid among clusters in cluster configuring storage
JPH07152498A (en) Information processing system
US6934803B2 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller
JP2006178926A (en) Storage apparatus, system and method using a plurality of object-based storage devices
JP4128206B2 (en) Computer system and secondary storage device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees