技術分野 Technical field
[0001] 本発明は、 関する [0001] The present invention relates to
背景技術 Background art
[0002] 現在では、さまざまなディスクシステムが実用化されている力 その中でも RAID5は 一般的である。 [0002] At present, various disk systems are being put to practical use. Among them, RAID5 is common.
明 Light
図 1は、 RAID5のディスクシステムの構成を示す図である。 FIG. 1 is a diagram showing a configuration of a RAID5 disk system.
田 Rice field
[0003] ホスト 10力ら、 RAID5システムのチャネルアダプタ CAにホストのアクセスデータ列 が送信される。同図では、 D1— D4がー列に配列された様子がホストのアクセスデー タ列として示されている。これは、センタモジュール CMに送られ、キャッシュにー且格 納された後、デバイスアダプタ DAに送られる。デバイスアダプタ DAでは、受信した ホストアクセスデータ列について、 RAID5の制御を行う。すなわち、データ列を D1— D4のそれぞれのストリップに分割し、パリティ(同図では、 Pと表されている)を付加す る処理を行う。そして、 RAID5制御されたデータ列は、デバイスアダプタ DAに接続 される 4つの物理ディスクに格納される。格納の仕方は、図 1の下に記載されているよ うに、 1つのデータ列であった D1— D4が 4つの物理ディスクに均等に配置されるよう にする。また、パリティも同様にして分配された物理ディスクに格納される。 [0003] The host 10 sends a host access data string to the channel adapter CA of the RAID5 system. In the figure, a state in which D1 to D4 are arranged in a row is shown as a host access data string. This is sent to the center module CM, stored in the cache, and then sent to the device adapter DA. The device adapter DA controls RAID5 for the received host access data sequence. That is, the data string is divided into strips D1 to D4, and a process of adding a parity (indicated as P in the figure) is performed. Then, the data string controlled by RAID5 is stored in four physical disks connected to the device adapter DA. As shown in the lower part of Fig. 1, the data should be stored so that D1-D4, which was one data string, is evenly distributed on four physical disks. The parity is also stored in the distributed physical disks.
[0004] 図 2 図 4は、従来の RAID 5の問題点を説明する図である。 FIG. 2 and FIG. 4 are diagrams for explaining the problems of the conventional RAID 5.
図 2に示すように、従来の RAID5システムでは、一台のディスクの故障が原因でル ープダウンが発生し、そのディスクを含む FC (Fiber Channel)ループ上のディスクが 全て見えなくなる障害が生じる。つまり、従来の RAID5のディスクの組み方では、単 一の FCループ上のディスクのみで RAID5を組んでいたため、ループダウンによって RAIDグノレープを構成する複数のディスクへのアクセスができなくなることがあり、そ の結果、リード/ライトといった通常の入出力の処理が不可能になる場合があった。 As shown in Figure 2, in a conventional RAID5 system, a single disk failure causes a loop-down, causing a failure in which all disks on the FC (Fiber Channel) loop including that disk become invisible. In other words, in the conventional RAID5 disk configuration, RAID5 is configured only with disks on a single FC loop, so that loop-down may prevent access to the multiple disks that make up the RAID group, and As a result, normal input / output processing such as read / write may not be possible.
[0005] そこで、その対策として、図 3のようなシステムが存在する。すなわち、デバイスァダ プタ DA力 ¾つの FCポートを持っており、それぞれのポートに接続されるループに 1
つずつのディスクを接続するものである。この場合、異なるループに接続される合計 4 つのディスクで 1つの RAIDグループを構成するようにする。従って、図 3の 4つのディ スクが 1組となる。ここで、 4つのディスクの内、 1つが故障したとしても、他の 3つのデ イスクはアクセスが可能である。従って、ノ リティを使用して、故障したディスクに格納 されていたデータを復帰することが可能となる。 [0005] Therefore, as a countermeasure, there is a system as shown in FIG. In other words, the device adapter has two FC ports, and one loop is connected to each port. One disk at a time. In this case, make up a RAID group with a total of 4 disks connected to different loops. Therefore, the four disks in Fig. 3 form a set. Here, if one of the four disks fails, the other three disks can still be accessed. Therefore, it is possible to recover the data stored on the failed disk by using the intelligence.
[0006] 図 4は、多くのディスクが接続されている場合にリビルドを実行するときの問題点を 説明する図である。 FIG. 4 is a diagram illustrating a problem when rebuilding is performed when many disks are connected.
図 4の構成は、 16個の物理ディスクを用いて RAID5を構成したものである。リビル ド(冗長性の復元処理)においては、 15個のディスクからデータを読み込み、 XORを 行って、パリティを生成してから、データの書き込みをスペアディスク HSに行う。従つ て、多くのディスクが接続されているほど、リビルドにおいて、読み込みを行う必要の あるディスクが増え、リビルドの処理が遅くなるという問題がある。 The configuration in Fig. 4 is a RAID5 configuration using 16 physical disks. In the rebuild (redundancy restoration process), data is read from 15 disks, XOR is performed, parity is generated, and then data is written to the spare disk HS. Therefore, the more disks are connected, the more disks that need to be read during rebuilding, causing the problem of slower rebuilding processing.
[0007] また、同様な問題としてライト時の時、処理遅延が生じるという問題がある。例えば、 RAID5において、ライトバックをする場合、 RAIDグループがディスク故障等により冗 長性を失った状態でライトを行う場合、特に、データが書き込まれるべきディスクが故 障していた場合には、パリティを除く全てのディスクから読み込んだデータとライトバッ クすべきデータ力ら XORし、パリティを作成し、これをパリティのディスクに書き込む。 従って、全てのディスクに対してリードあるいはライトを行うため、処理が遅延しやすい [0007] As a similar problem, there is a problem that a processing delay occurs at the time of writing. For example, in RAID5, when writing back, when writing in a state where the RAID group loses redundancy due to a disk failure, etc., especially when the disk to which data is to be written has failed, parity XOR the data read from all disks except for the data with the data to be written back, create parity, and write it to the parity disk. Therefore, since reading or writing is performed for all disks, processing is easily delayed.
[0008] 従来のディスクシステムとしては、特許文献 1、特許文献 2、特許文献 3、特許文献 4 に記載されたようなシステムが存在する。 ッサが共有メモリにアクセスする際には、新たに設けられた内蔵でキャッシュを経由さ せる技術が開示されている。特許文献 2においては、ホストアダプタ、ディスクァダプ タ及び一時記憶用キャッシュメモリがコモンバスに接続される共通して接続される技 術が開示されている。特許文献 3においては、アレイディスク処理装置において、スピ ンドル Zブロック書き戻し復元を行うようにした技術が開示されている。特許文献 4に おいては、ディスクアレイにおいて、ディスクドライブの内容を保持する仮想ディスクと
して働くキャッシュメモリを設ける技術が開示されている。 [0008] As conventional disk systems, there are systems as described in Patent Literature 1, Patent Literature 2, Patent Literature 3, and Patent Literature 4. When a processor accesses a shared memory, a technology has been disclosed in which a newly provided built-in cache is passed. Patent Document 2 discloses a technology in which a host adapter, a disk adapter, and a cache memory for temporary storage are commonly connected to a common bus. Patent Document 3 discloses a technique in which a spindle Z block write-back restoration is performed in an array disk processing device. In Patent Document 4, in a disk array, a virtual disk holding the contents of a disk drive is used. There is disclosed a technique of providing a cache memory that functions as a cache memory.
特許文献 1:特開 2001 - 306265号公報 Patent Document 1: Japanese Patent Application Laid-Open No. 2001-306265
特許文献 2:特開平 7 - 20994号公報 Patent Document 2: Japanese Patent Application Laid-Open No. 7-20994
特許文献 3:特開平 11 - 66693号公報 Patent Document 3: JP-A-11-66693
特許文献 4 :特開平 7— 200190号公報 Patent Document 4: JP-A-7-200190
発明の開示 Disclosure of the invention
[0009] 本発明の課題は、拡張性に優れ、かつ、障害が生じたときの冗長性を効率よく実現 することができるディスクシステムを提供することである。 [0009] An object of the present invention is to provide a disk system that is excellent in expandability and that can efficiently realize redundancy when a failure occurs.
本発明のディスクシステムは、冗長構成を採用したディスクシステムであって、ホスト 力 のデータ列をストライプに分割するか否かの設定に従ってデータ列のストライプ 管理を行うストライプ処理管理手段と、該ストライプ処理管理手段からのデータに冗 長性管理を行うか否かの設定に基づいて、データに冗長性を与えて複数の物理ディ スクにデータを格納する冗長性管理手段とを備え、ストライビング管理と冗長性管理 の機能を分離することにより、さまざまな構成のディスクシステムを構成可能としたこと を特徴とする。 The disk system according to the present invention is a disk system employing a redundant configuration, comprising: a stripe processing managing means for performing stripe management of a data string according to a setting of whether or not a data string of a host is divided into stripes; A redundancy management means for providing data redundancy and storing the data on a plurality of physical disks based on the setting of whether or not to perform redundancy management on the data from the management means; By separating the redundancy management function, disk systems of various configurations can be configured.
[0010] 本発明によれば、従来デバイスアダプタで全て行われていたストライビングの管理と 冗長性の管理の機能をセンタモジュールとデバイスアダプタのそれぞれが別々に有 するようにしたので、これらの機能の組み合わせによりさまざまなディスクシステムを簡 単に構築できる。また、冗長性管理手段であるデバイスアダプタ DAを複数設けること によって、ディスクシステムの容量を容易に拡張し、し力、も、分散処理による性能向上 を図ることができる。また、従来の RAID5で生じていたライトペナルティなどの影響は 、 1つのデバイスドライバ(冗長性管理手段)内で閉じるので、影響がディスクシステム 全体に及ぶのを防ぐことができる。 According to the present invention, each of the center module and the device adapter has the functions of managing the striping and managing the redundancy, which are conventionally performed by the device adapter, respectively. Various disk systems can be easily constructed by combining. In addition, by providing a plurality of device adapters DA as redundancy management means, the capacity of the disk system can be easily expanded, and the performance can be improved by distributed processing. In addition, the effect of the write penalty and the like that has occurred in the conventional RAID5 is closed within one device driver (redundancy management means), so that the effect can be prevented from affecting the entire disk system.
[0011] 本発明の別のディスクシステムは、複数の物理ディスクの集合を 1つの仮想ディスク とみなして、ホストからのデータ列をストライビングにより複数の仮想ディスクに振り分 ける第 1のストライビング手段と、それらの仮想ディスクのそれぞれに振り分けられた データ列からパリティを生成し、振り分けられたデータ列と生成されたパリティをストラ ィビングにより複数の物理ディスクに振り分ける第 2のストライビング手段と、それらの
物理ディスクのそれぞれに振り分けられたデータを対応する物理ディスクに書き込む ライト手段とを備える。 [0011] Another disk system according to the present invention is a first striping unit that regards a set of a plurality of physical disks as one virtual disk and distributes a data string from a host to the plurality of virtual disks by striping. A second striping means for generating a parity from the data sequence allocated to each of the virtual disks, and distributing the allocated data sequence and the generated parity to a plurality of physical disks by means of a stripe, and Writing means for writing data allocated to each of the physical disks to the corresponding physical disk.
[0012] このようなディスクシステムによれば、第 1のストライビング手段により、複数の物理デ 段により、各仮想ディスクに振り分けられたデータ列を対象として、冗長化の制御であ る RAID5制御が行われる。したがって、 RAID5を更にストライビングすることが可能 となり、構成の自由度が非常に大きくなるとともに、分散処理による性能改善が期待 できる。また、ライトペナルティの影響は 1つの仮想ディスク内で閉じるので、影響範 囲が小さくて済む。 [0012] According to such a disk system, the first striping means performs the RAID5 control, which is the control of redundancy, on the data sequence allocated to each virtual disk by a plurality of physical devices. Done. Therefore, RAID5 can be further striped, and the degree of freedom in configuration is greatly increased, and performance improvement by distributed processing can be expected. In addition, since the impact of the write penalty is closed within one virtual disk, the extent of the impact can be reduced.
図面の簡単な説明 Brief Description of Drawings
[0013] [図 1]RAID5のディスクシステムの構成を示す図である。 FIG. 1 is a diagram showing a configuration of a RAID5 disk system.
[図 2]従来の RAID5の問題点を説明する図である。 FIG. 2 is a diagram illustrating a problem of a conventional RAID5.
[図 3]従来の RAID5の問題点を説明する図である。 FIG. 3 is a diagram illustrating a problem of conventional RAID5.
[図 4]従来の RAID5の問題点を説明する図である。 FIG. 4 is a diagram illustrating a problem of conventional RAID5.
[図 5]本発明の実施形態に従ったディスクシステムの構成図である。 FIG. 5 is a configuration diagram of a disk system according to the embodiment of the present invention.
[図 6]本発明の実施形態における RAIDグループと物理ディスクとのマッピングの様 子を示した図である。 FIG. 6 is a diagram showing a manner of mapping between a RAID group and a physical disk in the embodiment of the present invention.
[図 7]RLU情報テーブルの構成を示す図である。 FIG. 7 is a diagram showing a configuration of an RLU information table.
[図 8]DLU情報テーブルの構成例である。 FIG. 8 is a configuration example of a DLU information table.
[図 9]センタモジュール CMの動作を示すフローチャートである。 FIG. 9 is a flowchart showing the operation of the center module CM.
[図 10]デバイスアダプタ DAの動作を示すフローチャートである。 FIG. 10 is a flowchart showing an operation of the device adapter DA.
[図 11]本発明の実施形態に従ったディスクシステムを用いた場合の RAID1の構成を 説明する図である。 FIG. 11 is a diagram illustrating a configuration of RAID 1 when a disk system according to an embodiment of the present invention is used.
[図 12]本発明の実施形態に従ったディスクシステムを用いた場合の RAIDO + 1の構 成を説明する図である。 FIG. 12 is a diagram for explaining a configuration of RAIDO + 1 when a disk system according to an embodiment of the present invention is used.
[図 13]本発明の実施形態に従ったディスクシステムを用いた場合の RAID5の構成を 説明する図である。 FIG. 13 is a diagram illustrating a configuration of RAID5 when a disk system according to an embodiment of the present invention is used.
[図 14]本発明の実施形態のディスクシステムを用いた場合の RAIDO + 5の構成を説
明する図である。 FIG. 14 illustrates the configuration of RAIDO + 5 when using the disk system according to the embodiment of the present invention. FIG.
[図 15]RAID0 + 5につレ、て説明する図である。 FIG. 15 is a diagram for explaining RAID0 + 5.
[図 16]本発明の実施形態のディスクシステムにおけるリビルドについて説明する図で める。 FIG. 16 is a diagram explaining rebuilding in the disk system of the embodiment of the present invention.
[図 17]本発明の実施形態のディスクシステムにおける 1FCループのループダウン発 生時のリード/ライトについて説明する図である。 FIG. 17 is a diagram for explaining read / write when a loop down of the 1FC loop occurs in the disk system of the embodiment of the present invention.
[図 18]キャッシュメモリの管理に用いる情報を示す図である。 FIG. 18 is a diagram showing information used for managing a cache memory.
[図 19]ホストリード時の RLU—DLU間の変換を示す図である。 FIG. 19 is a diagram showing conversion between RLU and DLU during host read.
[図 20]ホストライト時の RLU—DLU間の変換を示す図である。 FIG. 20 is a diagram showing conversion between RLU and DLU at the time of host write.
[図 21]CM上でストライプ制御と RAID5制御を行うディスクシステムの構成図である。 発明を実施するための最良の形態 FIG. 21 is a configuration diagram of a disk system that performs stripe control and RAID5 control on a CM. BEST MODE FOR CARRYING OUT THE INVENTION
[0014] 図 5は、本発明の実施形態に従ったディスクシステムの構成図である。 FIG. 5 is a configuration diagram of a disk system according to the embodiment of the present invention.
まず、ホスト 10からホストのアクセスデータ列が送出される。データ列は、チャネルァ ダプタ CAによって受信され、センタモジュール CMに転送される。センタモジユーノレ CMは、ストライプ制御のみを行い、データ列を 2つのデバイスアダプタ DAに振り分 ける。各デバイスアダプタ DAでは、 RAID5制御を行レ、、ノ^ティを生成して、デバイ スアダプタ DAに接続されている 4つの物理ディスクに各ストリップを格納する。 First, the host 10 sends a host access data sequence. The data sequence is received by the channel adapter CA and transferred to the center module CM. The center module performs only stripe control and distributes the data string to the two device adapters DA. Each device adapter DA performs RAID5 control, generates a note, and stores each strip on the four physical disks connected to the device adapter DA.
[0015] 図 5より明らかなように、本発明の実施形態では、センタモジュール CMがデバイス アダプタ DAに接続されてレ、る 4つの物理ディスク群を仮想ディスクとみなして、ストラ イブ制御を行い、その後、各仮想ディスクに対応するデバイスアダプタ DAにおいて、 冗長化の制御である RAID5制御を行うようにしてレ、る。 [0015] As is clear from FIG. 5, in the embodiment of the present invention, the center module CM is connected to the device adapter DA, and the group of four physical disks is regarded as a virtual disk, and drive control is performed. After that, the device adapter DA corresponding to each virtual disk performs RAID5 control as redundancy control.
[0016] 以上の本発明の実施形態によれば、 According to the above embodiment of the present invention,
1)ストライプ制御を行うセンタモジュール CMと RAID5制御を行うデバイスアダプタ D Aとに役割を分担したので、構成の自由度が非常に大きくなる。 1) The roles are divided between the center module CM that performs stripe control and the device adapter DA that performs RAID5 control, which greatly increases the degree of freedom in configuration.
2) RAID5制御を行うデバイスアダプタ DAを複数使用することで、分散処理による性 能改善が期待できる。 2) By using multiple device adapters DA that perform RAID5 control, performance improvement can be expected by distributed processing.
3)—般的に RAID5は、構成するディスク数が多いほどディスク故障時におけるライト ペナルティによる使用ディスク数が多くなるが、本発明の実施形態においては、仮想
ディスク内だけにライトペナルティの影響があるだけで、影響範囲が小さくて済む。 という利点がある。 3) In general, in RAID5, as the number of constituent disks increases, the number of disks used due to a write penalty in the event of a disk failure increases, but in the embodiment of the present invention, The influence of the write penalty only in the disc can be small. There is an advantage.
[0017] センタモジュール CMは、プロセッサと、プロセッサが用いるプログラムおよびデータ を格納するメモリを備える。プロセッサは、メモリを利用してプログラムを実行すること により、ディスクシステムに必要な処理を行う。 [0017] The center module CM includes a processor and a memory that stores programs and data used by the processor. The processor performs necessary processing for the disk system by executing a program using the memory.
[0018] これらのプログラムおよびデータは、ホスト 10等の情報処理装置ゃ可搬記録媒体 によりセンタモジュール CMに供給される。このとき、情報処理装置は、供給されるプ ログラムおよびデータを搬送する搬送信号を生成し、通信ネットワーク上の任意の伝 送媒体を介してセンタモジュール CMに送信する。可搬記録媒体としては、メモリ力 ード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み 取り可能な記録媒体が用レ、られる。 [0018] These programs and data are supplied to the center module CM by an information processing device such as the host 10 or a portable recording medium. At this time, the information processing device generates a carrier signal for carrying the supplied program and data, and transmits the carrier signal to the center module CM via an arbitrary transmission medium on the communication network. As the portable recording medium, any computer-readable recording medium such as a memory card, a flexible disk, an optical disk, and a magneto-optical disk can be used.
[0019] 図 6は、本発明の実施形態における RAIDグループと物理ディスクとのマッピングの 様子を示した図である。 FIG. 6 is a diagram showing a state of mapping between a RAID group and a physical disk in the embodiment of the present invention.
まず、最上位の層では、ディスクシステム全体を示しており、 RAIDグループと呼ぶ 。次の段階で、ストライプ管理を行い、仮想論理ユニットにデータを振り分ける処理を 行う。次に、冗長性管理を行い、物理ディスクに各デー First, the uppermost layer shows the entire disk system and is called a RAID group. At the next stage, stripe management is performed and data is allocated to virtual logical units. Next, redundancy management is performed, and each data is
[0020] ここで、ストライプ管理とは、冗長性を伴わない、単純なストライビングを管理するも のである。また、冗長性管理とは、 RAID1におけるミラーリングや、 RAID5における パリティを含むストライプを管理するものである。ここで、冗長性を伴わない、単純なス トライビングの管理をするストライプ管理のみを行う機能のことを RAIDOと呼ぶことに する。 [0020] Here, the stripe management is to manage simple striping without redundancy. Redundancy management refers to management of mirroring in RAID1 and stripes including parity in RAID5. Here, the function of performing only stripe management that manages simple striping without redundancy is called RAIDO.
[0021] 本発明の実施形態のディスクシステムにおいては、ストライプ管理の有無と、冗長性 管理の有無及び、冗長性管理において、ミラーリング力パリティを含むストライプ処理 かによつてさまざまな形態のディスクシステムを構成することができる。 In the disk system according to the embodiment of the present invention, various types of disk systems can be used depending on whether or not stripe management is performed, whether or not redundancy management is performed, and whether or not stripe processing including mirroring power parity is performed in redundancy management. Can be configured.
[0022] ストライプ管理 冗長性管理 [0022] Stripe management Redundancy management
RAIDO 有り 無し RAIDO Yes No
RAID1 無し ミラーリング
RAIDO + 1 有り ミラーリング Without RAID1 Mirroring RAIDO + 1 Yes Mirroring
RAID 5 無し パリティを含むストライプ RAID 5 None Stripes with parity
RAID0 + 5 有り パリティを含むストライプ RAID0 + 5 Yes Stripe including parity
なお、以下の説明において使用する用語を以下のように定義する。まず、 RLUとは 一つの RAIDグループをあらわすこととする。 RLBAは RLUの LBA (論理ブロックァ ドレス)のこととする。 PLUとは物理ディスク単体をあらわすこととする。 PLBAは、 PL Uの LBAのこととする。 DLUとは論理上、 RLUと PLUの中間に位置する LU (論理 ユニット)で、 RLUからストライプの分割を行ったものであり、 PLUについて冗長性を 考慮したものとする。 DLBAは、 DLUの LBAのこととする。 The terms used in the following description are defined as follows. First, RLU stands for one RAID group. RLBA is the LBA (Logical Block Address) of the RLU. PLU means a single physical disk. PLBA is the LBA of PL U. A DLU is an LU (logical unit) logically located between the RLU and the PLU, and is obtained by dividing stripes from the RLU and considering the redundancy of the PLU. DLBA is the LBA of DLU.
[0023] 図 7は、 RI J情報テーブルの構成を示す図である。 FIG. 7 is a diagram showing a configuration of the RIJ information table.
RLU情報テーブルは、 RLU単位の情報を保持するテーブルである。このテープノレ は、主に、センタモジュール CMが有し、そのうち、必要な部分のコピーをチャネルァ ダプタ CAやデバイスアダプタ DAが有する。 RLUNは、 RLUの番号である。 Define The RLU information table is a table that holds information in RLU units. The tape module is mainly held by the center module CM, and a necessary part of the copy is held by the channel adapter CA and the device adapter DA. RLUN is the RLU number. Define
CM Module IDは、当該 RLUを担当する構成上の CMのモジユーノレ IDである。 The CM Module ID is the module ID of the CM in the configuration responsible for the RLU.
Current CM Module IDは、現在、当該 RLUを担当する CMのモジユーノレ IDで ある。 Raid Levelは、当該 RLUの RAIDレベルを示し、 RAID0や RAID5などが設 定される。 RLBA countは、当該 RLUの総ブロック数である。 Stripe Depthは、ス トライビングするときの 1つのストリップの長さである。 Stripe Sizeは、例えば、 4つの 物理ディスクにそれぞれ 1つずつストリップを害 !jり当てたときの、 4つのストリップの合 計の長さである。すなわち、物理ディスクの数だけのストリップの合計の長さである。そ の他は、本発明の実施形態の説明にあまり関与しないので説明を省略する。 Current CM Module ID is the module ID of the CM currently in charge of the RLU. Raid Level indicates the RAID level of the RLU, and RAID0, RAID5, etc. are set. RLBA count is the total number of blocks of the RLU. Stripe Depth is the length of one strip when striping. The Stripe Size is, for example, the total length of four strips when one physical strip is hit on each of four physical disks. That is, the total length of the strips equal to the number of physical disks. Others are not so involved in the description of the embodiment of the present invention, and thus the description is omitted.
[0024] 図 8は、 DLU情報テーブルの構成例である。 FIG. 8 is a configuration example of a DLU information table.
これは、 DLU単位の情報を保持するテーブルである。このテーブルは、主に、セン タモジュール CMが有し、そのうち、必要な部分のコピーをチャネルアダプタ CAゃデ バイスアダプタ DAが有する。 DLUNは、 DLU番号。 RLUNは、当該 DLUが属する RLU番号。 Member Disk Numberは、当該 DLUがストライプを構成する何番目 の DLUであるかを表す数である。 Start DLBAは、 DLUの先頭 LBA。 Block Co tintは、当該 DLUの総ブロック数。 Stripe Depthと Stripe Sizeは、前述の通りで
ある。 Member Disk Countは、当該 DLUで使用するディスクの個数。 DA ID xxは、当該 DLUにつながる DAのモジユーノレ ID。 PLU in Use xxは、現在の DL Uを構成している PLU番号。 Defined PLU xxは、本構成を作成した時の、デイス クの障害がない状態の PLU番号である。 This is a table that holds information in DLU units. This table is mainly held by the center module CM, and a necessary part of the table is copied by the channel adapter CA ゃ device adapter DA. DLUN is the DLU number. RLUN is the RLU number to which the DLU belongs. The Member Disk Number is a number indicating the DLU number of the stripe constituting the DLU. Start DLBA is the first LBA of DLU. Block Co tint is the total number of blocks of the DLU. Stripe Depth and Stripe Size are as described above. is there. Member Disk Count is the number of disks used by the DLU. DA ID xx is the module ID of the DA connected to the DLU. PLU in Use xx is the PLU number that makes up the current DLU. Defined PLU xx is the PLU number when there is no disk failure when this configuration was created.
[0025] 図 9は、センタモジュール CMの動作を示すフローチャートである。 FIG. 9 is a flowchart showing the operation of the center module CM.
まず、ステップ S10において、ストライプ管理の有無を判断する。ステップ S10にお いて、ストライプ管理有りと判断された場合には、ステップ S 11において、ストライプを 分割する。そして、 RLU情報テーブルを用いて、 RLUNと RLBAの組をこれに対応 する少なくとも一組以上の DLUNと DLBAの組に変換する。ステップ S10において、 ストライプ管理無しと判断された場合には、ステップ S12で、 RLU情報テーブルを用 レ、て、 RLUNと RLBAの組をこれに対応する DLUNと DLBAの組に一対一の変換 をする。 First, in step S10, the presence or absence of stripe management is determined. If it is determined in step S10 that stripe management is performed, the stripe is divided in step S11. Then, using the RLU information table, the set of RLUN and RLBA is converted into at least one or more corresponding set of DLUN and DLBA. If it is determined in step S10 that there is no stripe management, in step S12, a set of RLUN and RLBA is converted one-to-one to a corresponding set of DLUN and DLBA using the RLU information table. .
[0026] ステップ S 13では、冗長性管理の種類を判断する。ステップ S 13において、冗長性 管理がないと判断された場合には、ステップ S 16において、 DLU情報テーブルを用 レ、て、 DLUNと DLBAの組をこれに対応する PLUNと PLBAの組に一対一変換し、 ステップ S 17に進む。 In step S13, the type of redundancy management is determined. If it is determined in step S13 that there is no redundancy management, in step S16, a set of DLUN and DLBA is paired with a corresponding set of PLUN and PLBA using the DLU information table. Convert and proceed to step S17.
[0027] ステップ S 13において、冗長性管理がミラーリングであると判断された場合には、ス テツプ S 15において、ミラーリングを考慮する。 DLU情報テーブルを用いて、 DLUN と DLBAの組をこれに対応する二組の PLUNと PLBAの組に変換し、ステップ S 17 に進む。 [0027] If it is determined in step S13 that the redundancy management is mirroring, mirroring is considered in step S15. Using the DLU information table, the pair of DLUN and DLBA is converted into two corresponding pairs of PLUN and PLBA, and the process proceeds to step S17.
[0028] ステップ S 13において、冗長性管理がパリティを含むストライプであると判断された 場合には、ステップ S14において、デバイスアダプタ DAに DLUNと DLBAの組を指 定して起動し、処理を終了する。 [0028] In step S13, when it is determined that the redundancy management is a stripe including parity, in step S14, a pair of DLUN and DLBA is designated as the device adapter DA, and the device adapter DA is started, and the process ends. I do.
[0029] ステップ S 17では、デバイスアダプタ DAに PLUNと PLBAの組を指定して起動し、 処理を終了する。 [0029] In step S17, a pair of PLUN and PLBA is specified for the device adapter DA and activated, and the process ends.
図 10は、デバイスアダプタ DAの動作を示すフローチャートである。 FIG. 10 is a flowchart showing the operation of the device adapter DA.
[0030] ステップ S20において、指定された LUNの種別を判断する。ステップ S20の判断でIn step S20, the type of the specified LUN is determined. At the judgment of step S20
、種別が、 PLUNと PLBAの組であると判断された場合には、ステップ S21において
、指定された PLUNと PLBAの組に従ってディスクへの処理 (リード、ライト等)を実行 し、処理を終了する。ステップ S20の種別が、 DLUNと DLBAの組であると判断され た場合には、ステップ S22において、従来技術である RAID5の制御を行う。 RAID 5 の制御の過程において、 DLU情報テーブルを用いて、 DLUNと DLBAの組をこれ に対応する少なくとも一組以上の PLUNと PLBAの組に変換し、個々のディスクへの リード、ライトを実行し、処理を終了する。 If it is determined that the type is a pair of PLUN and PLBA, in step S21 Executes the process (read, write, etc.) on the disk according to the specified pair of PLUN and PLBA, and ends the process. If it is determined that the type of step S20 is a combination of DLUN and DLBA, in step S22, the conventional RAID5 control is performed. In the RAID 5 control process, the DLU information table is used to convert a DLUN / DLBA pair into at least one or more corresponding PLUN / PLBA pairs, and read / write to each disk. , And the process ends.
[0031] 図 11は、本発明の実施形態に従ったディスクシステムを用いた場合の RAID1の構 成を説明する図である。 FIG. 11 is a diagram for explaining the configuration of RAID 1 when the disk system according to the embodiment of the present invention is used.
LUNは、ストライプがないため RLUNに対応する DLUNは一つのみで、ミラーリン グでは、 2ディスクを使うので DLUNは 2つ設けられる。 LBAは、ストライプがないため 、 RLBA=DLBAとなる。ミラーリングでは両ディスクに同じ情報が書き込まれるだけ なので、 DLBA= PLBAとなる。 Since the LUN has no stripe, there is only one DLUN corresponding to the RLUN. In mirroring, two DLUNs are provided because two disks are used. Since the LBA has no stripe, RLBA = DLBA. In mirroring, only the same information is written to both disks, so DLBA = PLBA.
[0032] 図 11では、 RAIDグループ RLUが仮想論理ユニット DLUと一対一の関係にあり、 仮想論理ユニット DLUが 2つの物理ディスク PLUにミラーリングを行って、データを 格納する。 In FIG. 11, the RAID group RLU has a one-to-one relationship with the virtual logical unit DLU, and the virtual logical unit DLU mirrors two physical disks PLU to store data.
[0033] 図 12は、本発明の実施形態に従ったディスクシステムを用いた場合の RAID0 + 1 の構成を説明する図である。 FIG. 12 is a diagram for explaining the configuration of RAID0 + 1 when the disk system according to the embodiment of the present invention is used.
RAIDブループ RLUには、 4つの仮想論理ユニット DLUがマッピングされる。この マッピングはストライビングを行うことによって実現される。そして、仮想論理ユニット D LUのそれぞれには、物理ディスク PLUが 2つずつ与えられ、ミラーリングを行ってデ ータを格納する。図 12の下の図は、データがどのように格納されるかを示した図であ る。 DLUは、 # 0 # 3の 4つがあり、それぞれに PLUが 2つずつ対応付けられてい る。データは、ストライビングにより分割され、先頭から D0、 Dl、 · · ·、 Dl 5となってい る。これら力 横方向、すなわち、異なる仮想論理ユニットの方向に 1ストライプずつ格 納されている。 Four virtual logical units DLU are mapped to the RAID group RLU. This mapping is realized by performing striping. Each of the virtual logical units DLU is provided with two physical disks PLU, and performs mirroring to store the data. The diagram below FIG. 12 is a diagram showing how data is stored. There are four DLUs, # 0 # 3, and two PLUs are associated with each. The data is divided by striping and D0, Dl, ..., Dl5 from the beginning. These stripes are stored laterally, that is, in the direction of different virtual logical units, one stripe at a time.
[0034] 図 13は、本発明の実施形態に従ったディスクシステムを用いた場合の RAID5の構 成を説明する図である。 FIG. 13 is a diagram for explaining the configuration of RAID5 when the disk system according to the embodiment of the present invention is used.
図 13の左に記載されてレ、るように、 RAIDグループ RLUと仮想論理ユニット DLU
の対応は一対一である。また、 DLUと物理ディスク PLUの対応は、 1対複数 (今の場 合、 1対 4)であり、 DLUは、 RAID5制御を行って、図 13の右に記載されているよう に、データ列をストライプに分割したものに冗長性制御を行って、ノ^ティと共に、デ 一タを各物理ディスクに格納する。 As shown on the left of Fig. 13, the RAID group RLU and virtual logical unit DLU Is one-to-one. In addition, the correspondence between the DLU and the physical disk PLU is one-to-many (in this case, one-to-four), and the DLU performs RAID5 control, and as shown in the right of FIG. The data is stored in each physical disk together with the notice by performing redundancy control on the data divided into stripes.
[0035] 図 14は、本発明の実施形態のディスクシステムを用いた場合の RAID0 + 5の構成 を説明する図である。 FIG. 14 is a diagram illustrating the configuration of RAID0 + 5 when the disk system according to the embodiment of the present invention is used.
図 14の上に記載されているように、 RAIDグループ RLUには、 2つの仮想論理ュ ニット DLUが対応し、この間は、ストライビングによってマッピングされる。 DLUと物理 ディスク PLUの間は、 1つの DLUに対し、 4つの PLUが対応し、 RAID5制御によつ てマッピングされている。図 14下に示されるように、データは、まず、 2つの DLUにス トライビングによって分けられ、これら力 RAID5制御によって、それぞれ 4つずつの 物理ディスクに分けられる。このとき、 RAID5制御は、冗長性管理を行うので、パリテ ィが生成されている。また、 DLU情報テーブルの Stripe Sizeと RLU情報テーブル の Stripe Depthは等しくなつている。 As described in the upper part of FIG. 14, two virtual logical units DLU correspond to the RAID group RLU, and between them, mapping is performed by striping. Between the DLU and the physical disk PLU, four PLUs correspond to one DLU and are mapped by RAID5 control. As shown in the lower part of Fig. 14, data is first divided into two DLUs by striping, and each is divided into four physical disks by RAID5 control. At this time, since the RAID5 control performs redundancy management, parity is generated. The Stripe Size of the DLU information table is equal to the Stripe Depth of the RLU information table.
[0036] 図 15は、 RAID0 + 5について説明する図である。 FIG. 15 is a diagram illustrating RAID0 + 5.
CMは、ストライプ制御を行い、 4つの DAに対して、各 DLUにマッピングしたデータ を転送する。各 DAは、それぞれ冗長性管理を行って、 4つの物理ディスクに、マツピ ングしたデータを転送する。前述の例では、 CMは、 2つの DAに対する転送を行つ ていたが、 DAとその配下の物理ディスクを単位として増設することができるので、分 散処理による性能改善を行うことができる。また、前述したように、本発明の実施形態 に従ったディスクシステムでは、 RAID0 + 5以外にも、さまざまな構成のディスクシス テムが構成可能である力 これは、ストライプ制御を行う CMと RAID5制御を行う DA とに役割を分担したことによる。 The CM performs stripe control and transfers data mapped to each DLU to four DAs. Each DA performs redundancy management and transfers the mapped data to four physical disks. In the above example, the CM transfers data to two DAs. However, the CM can be added in units of DAs and the physical disks under the DAs, so that performance can be improved by distributed processing. Also, as described above, in the disk system according to the embodiment of the present invention, a disk system having various configurations other than RAID0 + 5 can be configured. The role is shared with DAs who perform
[0037] 図 16は、本発明の実施形態のディスクシステムにおけるリビルドについて説明する 図である。 FIG. 16 is a diagram for explaining rebuilding in the disk system according to the embodiment of the present invention.
DAに FCポートが 4つある場合、異なる FCポートに接続された物理ディスクを 4つ 組み合わせて RAID5を組み、更にその RAID5を 4つ組み合わせて RAID0 + 5を 組むことで、どの DLUについても、リビルドするときにリードするディスクが 3つまでに
限られる。 If a DA has four FC ports, build a RAID5 by combining four physical disks connected to different FC ports, and then build a RAID0 + 5 by combining the four RAID5s to rebuild any DLU. Up to three discs when reading Limited.
[0038] 図 17は、本発明の実施形態のディスクシステムにおける 1FCループのループダウ ン発生時のリード/ライトについて説明する図である。 FIG. 17 is a diagram for explaining reading / writing when a loop down of the 1FC loop occurs in the disk system of the embodiment of the present invention.
DAに FCポートが 4つある場合、図 16の場合と同様にして RAID0 + 5を組むことで 、どの DLUについても、 1FCループのループダウン発生時に残り 3つのディスクを用 いてリード Zライトが可能となり、 RLUとしてもリード Zライトが可能である。 If the DA has four FC ports, RAID0 + 5 is set up in the same way as in Fig. 16, so that any DLU can be read-Z-written using the remaining three disks when a 1FC loop loop-down occurs Thus, RZ can be used for read and Z write.
[0039] RAID0 + 5の概要は、既存の RAID5を一つの仮想的なディスクに見立てて、この 仮想的なディスクを複数用意し、ストライピングを行うということである。 The outline of RAID0 + 5 is that existing RAID5 is regarded as one virtual disk, a plurality of virtual disks are prepared, and striping is performed.
RAID0 + 5は、まず、 RAID5を制御するための Stripe Size/Stripe Depth ( 冗長性管理層として定義する値)を用意し、これとは別に、この RAID5をストライピン グするための Stripe Size/Stripe Depth (ストライプ管理層として定義する値)を 用意することで実現される。この RAIDグループへのアクセスは、ストライプ管理層の 定義に従ってストライプへの分割を行った結果を、冗長性管理層の定義に従って各 物理ディスクに分割することで行われる。 RAID0 + 5 first prepares Stripe Size / Stripe Depth (value defined as the redundancy management layer) for controlling RAID5, and separates this from Stripe Size / Stripe for striping this RAID5. This is realized by preparing Depth (value defined as stripe management layer). Access to this RAID group is performed by dividing the result of the division into stripes according to the definition of the stripe management layer into each physical disk according to the definition of the redundancy management layer.
[0040] 次に、図 18から図 20までを参照しながら、 RAID0 + 5の内部動作についてより詳 細に説明する。 Next, the internal operation of RAID0 + 5 will be described in more detail with reference to FIGS.
図 18に示すように、 CMでは、キャッシュメモリをストリップ単位の大きさに区切り、区 切られた単位毎に使用中かどうかを示す情報と、ライトデータがあるかどうかを示す情 報のリストを持つことで、キャッシュメモリを管理する。 As shown in Fig. 18, the CM divides the cache memory into strip-size units, and lists information indicating whether each unit is in use and information indicating whether there is write data. Having it manages the cache memory.
[0041] 図 18では、簡単のため、区切られた単位毎に使用中かどうかを示す情報と、ライト データが有るかどうかを示す情報について、リストのエントリ上のフラグのように記述し ているが、実際には、ブロック単位のビットマップで表現する等の方法により、ストリツ プよりも小さい単位の処理が可能となっている。 In FIG. 18, for simplicity, information indicating whether or not each divided unit is in use and information indicating whether or not there is write data are described like a flag on a list entry. However, in practice, it is possible to perform processing in a unit smaller than a strip by using a method such as a bitmap representation in a block unit.
[0042] 図 19は、ホストリード時の RLU— DLU間の変換を示している。ホストリード時に、 C Mのキャッシュメモリ上にキャッシュデータが無い場合、 CMは、ストリップ単位に分割 されたキャッシュメモリ領域を、リード要求されたストリップの数だけ用意する。そして、 各ストリップについて使用中を示す情報を持たせ、各ストリップのアドレスをリストにす ることで、 RLUのアドレスリストを作成する。この RLUのアドレスリストによって、複数の
ストリップにまたがるデータ列が表現される。 FIG. 19 shows conversion between RLU and DLU during host read. If there is no cache data in the CM's cache memory at the time of host read, the CM prepares the cache memory area divided into strip units by the number of strips requested to be read. Then, the RLU address list is created by giving information indicating that each strip is in use and listing the addresses of each strip. This RLU address list allows multiple A data string spanning the strip is represented.
[0043] 次に、 DAにディスクからのステージングを行わせるために、 RLU—DLU間の変換 を行う。 Next, in order to cause the DA to perform staging from the disk, conversion between RLU and DLU is performed.
このとき、まず、リード要求された領域について、 RLU情報テーブルの Stripe Siz eと Stripe Depthを用いて、各ストリップがどの DLUに属するかを決定する。そして 、上記 RLUのアドレスリストについて、 DLU毎に各 DLUに属するストリップのアドレス をリスト内の順序を保ったまま集め、 DLU毎に RLUのアドレスリストのエントリ番号の リストを作成する。こうして作成された DLU毎のリストは、 DLBAとして連続した領域を 表している。 At this time, for the read-requested area, it is determined which DLU each strip belongs to, using the Stripe Size and Stripe Depth of the RLU information table. Then, with respect to the RLU address list, the addresses of the strips belonging to each DLU are collected for each DLU while maintaining the order in the list, and a list of entry numbers of the RLU address list is created for each DLU. The list for each DLU created in this way represents a continuous area as a DLBA.
[0044] 次に、 CMは、 DLU毎のリストについて、 DLUを担当する各 DAにステージング処 理を要求し、ステージング処理を要求された DAは、 DLU—PLU間の変換を行う。 Next, the CM requests a staging process from each DA in charge of the DLU for the list for each DLU, and the DA requested to perform the staging process performs a conversion between the DLU and the PLU.
DAは、要求された DLU毎のリストを通常の RAID5の制御に従って処理し、 DLU 情報テーブルの Stripe Sizeと Stripe Depthを用いて、各ディスクからリードした データを対応するストリップのキャッシュメモリアドレスに転送する。 The DA processes the requested list for each DLU according to the normal RAID5 control, and uses the Stripe Size and Stripe Depth of the DLU information table to transfer the data read from each disk to the cache memory address of the corresponding strip. .
[0045] 次に、 CMは、上記 RLUのアドレスリストを CAに通知し、 CAは、そのアドレスリスト に従ってキャッシュメモリ上のデータをホストに転送する。これにより、ホストリードが完 了する。 Next, the CM notifies the CA of the address list of the RLU, and the CA transfers data in the cache memory to the host according to the address list. Thus, the host read is completed.
[0046] 図 20は、ホストライト時の RLU—DLU間の変換を示している。ホストライト時に、 CM のキャッシュメモリ上にキャッシュデータが無い場合、 CMは、ストリップ単位に分割さ れたキャッシュメモリ領域を、ライト要求されたストリップの数だけ用意する。そして、各 ストリップについて使用中を示す情報を持たせ、各ストリップのアドレスをリストにする ことで、 RLUのアドレスリストを作成する。この RLUのアドレスリストによって、複数のス トリップにまたがるデータ列が表現される。 FIG. 20 shows conversion between RLU and DLU during host write. If there is no cache data in the cache memory of the CM at the time of host write, the CM prepares the cache memory area divided into strip units by the number of strips for which a write request was made. Then, the RLU address list is created by giving information indicating that each strip is in use and listing the addresses of each strip. The RLU address list represents a data string that spans multiple strips.
[0047] 次に、 CMは、 RLUのアドレスリストを CAに通知し、 CAは、そのアドレスリストに従 つて、ホストからライトされたデータをキャッシュメモリ上へ転送する。そして、 CMは、 各ストリップについてライトデータ有りを示す情報を持たせる。これにより、ホストライト が完了する。 Next, the CM notifies the CA of the address list of the RLU, and the CA transfers the data written from the host to the cache memory according to the address list. Then, the CM has information indicating that there is write data for each strip. This completes the host write.
[0048] その後、 DAにより、キャッシュメモリ上のデータのライトバックが行われる。 CMは、
DAにライトバックを行わせるために、 RLU—DLU間の変換を行う。 After that, the DA writes back the data in the cache memory. CM is Convert between RLU and DLU to make DA write back.
このとき、まず、ライト要求された領域について、 RLU情報テーブルの Stripe Size と Stripe Depthを用いて、各ストリップがどの DLUに属するかを決定する。そして、 図 19の場合と同様にして、 DLU毎に RLUのアドレスリストのエントリ番号のリストを作 成する。 At this time, first, for the area requested to be written, it is determined which DLU each strip belongs to using the Stripe Size and Stripe Depth of the RLU information table. Then, in the same way as in the case of FIG. 19, a list of entry numbers of the RLU address list is created for each DLU.
[0049] 次に、 CMは、 DLU毎のリストについて、 DLUを担当する各 DAにライトバック処理 を要求し、ライトバック処理を要求された DAは、 DLU—PLU間の変換を行う。 Next, the CM requests a write-back process to each DA in charge of the DLU for the list for each DLU, and the DA requested to perform the write-back process performs conversion between DLU and PLU.
DAは、要求された DLU毎のリストを通常の RAID5の制御に従って処理し、 DLU 情報テーブルの Stripe Sizeと Stripe Depthを用いて、ホストからライトされたデー タを対応するストリップのキャッシュメモリアドレスから転送し、 DA内に一時保持する。 そして、ホストからライトされたデータ、あるいは、ホストからライトされたデータとデイス ク上のデータとパリティを用いて、新しいパリティを作成し、ホストからライトされたデー タと新しいパリティをディスクに書き込む。 The DA processes the requested list for each DLU according to the normal RAID5 control, and transfers the data written by the host from the cache memory address of the corresponding strip using the Stripe Size and Stripe Depth of the DLU information table. And temporarily store it in DA. Then, using the data written from the host or the data written from the host, the data on the disk, and the parity, a new parity is created, and the data written from the host and the new parity are written to the disk.
[0050] 次に、 CMは、各ストリップにつレ、てライトデータ無しを示す情報を持たせる。これに より、ライトバック処理が完了する。 Next, the CM causes each strip to have information indicating no write data. This completes the write-back processing.
以上説明した実施形態では、 CMでストライプ管理を行い、 DAで RAID5制御(冗 長性管理)を行っている力 一つの CM上でストライプ管理と冗長性管理の両方を行 うことも可能である。 In the embodiment described above, stripe management is performed by CM, and RAID5 control (redundancy management) is performed by DA. It is also possible to perform both stripe management and redundancy management on a single CM. .
[0051] 図 21は、このような CMを搭載したディスクシステムの構成図である。 FIG. 21 is a configuration diagram of a disk system equipped with such a CM.
この場合、 CMは、まず、ホスト 10から送出されたデータ列のストライプ制御を行つ て、データ列を 2つの DLUに分割する。次に、それぞれの DLUについて RAID5制 御を行い、ノ^ティを生成して、 4つの物理ディスクに各ストリップを格納する。 In this case, the CM first performs stripe control of the data string transmitted from the host 10 to divide the data string into two DLUs. Next, RAID5 control is performed for each DLU, a notice is generated, and each strip is stored on four physical disks.
産業上の利用可能性 Industrial applicability
[0052] 本発明は、コンピュータシステムの記憶装置として、拡張性に優れ、構成の自由度 が大きぐ性能低下の要因の影響を限定的にして、全体のシステムとしては性能を維 持できるようなディスクシステムを提供することができる。
The present invention has excellent expandability as a storage device of a computer system, has a large degree of freedom in configuration, and can limit the influence of a factor of performance degradation to maintain the performance of the entire system. A disk system can be provided.