JP2003223285A - Data storage device, data management method, and program - Google Patents

Data storage device, data management method, and program

Info

Publication number
JP2003223285A
JP2003223285A JP2002024260A JP2002024260A JP2003223285A JP 2003223285 A JP2003223285 A JP 2003223285A JP 2002024260 A JP2002024260 A JP 2002024260A JP 2002024260 A JP2002024260 A JP 2002024260A JP 2003223285 A JP2003223285 A JP 2003223285A
Authority
JP
Japan
Prior art keywords
data
storage devices
disk
disks
storage device
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
JP2002024260A
Other languages
Japanese (ja)
Other versions
JP4259800B2 (en
Inventor
Yosuke Kaneko
洋介 金子
Hidehiro Shimizu
英弘 清水
Mitsunori Kori
光則 郡
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002024260A priority Critical patent/JP4259800B2/en
Publication of JP2003223285A publication Critical patent/JP2003223285A/en
Application granted granted Critical
Publication of JP4259800B2 publication Critical patent/JP4259800B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that it is impossible to maximize the reliability of the entire system at a mirroring constitution unless taking due account that which disks are to be coupled to write original data and duplicate data. <P>SOLUTION: A data storage means allocates data dispersedly with the uniform number of blocks by a data block unit to a plurality of storage devices by dividing the data into a plurality of data blocks of every uniform data quantity and stores the data block having identical contents redundantly at every prescribed number of the storage devices and a readout means reads out the data stored in a plurality of storage devices dispersedly by single or plural data block unit for every prescribed number of the storage devices are provided. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明はデータの冗長多重
度に合わせて複数の2次記憶装置のグループを作成し、
データを各グループに書き込むデータ格納装置、データ
管理方法及びプログラムに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention creates a group of a plurality of secondary storage devices according to the redundancy multiplicity of data,
The present invention relates to a data storage device, a data management method and a program for writing data in each group.

【0002】[0002]

【従来の技術】近年、2次記憶装置(以下、ディスクと
称する)の大容量化が進み、ディスクからデータを高速
に転送する手法やディスクの高信頼性が求められてい
る。これらの要求に答えるための手法の1つとして、デ
ィスクアレイ装置がある。このディスクアレイ装置に
は、いくつかのデータ管理方法が提案されている。
2. Description of the Related Art In recent years, the capacity of a secondary storage device (hereinafter referred to as a disk) has been increased, and a method of transferring data from the disk at high speed and a high reliability of the disk are required. There is a disk array device as one of the methods to meet these demands. Several data management methods have been proposed for this disk array device.

【0003】ディスクアレイ装置のデータ管理方法の1
つにミラーリングがある。このミラーリングは、RAI
D1(RAID:Redundant Arrays
ofInexpensive Disks)とも呼ばれ
る。その概要は、2つのディスクに同一のデータを書き
込むことによってディスクの信頼性を向上させるもので
ある。
One of data management methods for disk array devices
One is mirroring. This mirroring is RAI
D1 (RAID: Redundant Arrays)
Also called ofInexpensive Disks). The outline is to improve the reliability of the disks by writing the same data to the two disks.

【0004】図27はミラーリングを用いたデータ格納
例を示す図である。図において、#D1〜#D4がそれ
ぞれ物理ディスクを表しており、B1〜B24は物理デ
ィスク#D1〜#D4に格納されるデータを示してい
る。ここで、物理ディスク#D1と物理ディスク#D
2、物理ディスク#D3と物理ディスク#D4が対をな
している。これら物理ディスクの対が1つの論理ディス
クを構成する。対となる物理ディスクには同一のデータ
が書き込まれる。つまり、物理ディスク#D1と物理デ
ィスク#D2にはデータB1〜B12が格納され、物理
ディスク#D3と物理ディスク#D4にはデータB13
〜B24が格納される。
FIG. 27 is a diagram showing an example of data storage using mirroring. In the figure, # D1 to # D4 represent physical disks, and B1 to B24 represent data stored in the physical disks # D1 to # D4. Here, physical disk # D1 and physical disk #D
2. Physical disk # D3 and physical disk # D4 form a pair. A pair of these physical disks constitutes one logical disk. The same data is written on the paired physical disks. That is, the data B1 to B12 are stored in the physical disks # D1 and # D2, and the data B13 is stored in the physical disks # D3 and # D4.
To B24 are stored.

【0005】このように構成して、物理ディスク#D1
に障害が発生した時には物理ディスク#D2にアクセス
し、反対に物理ディスク#D2に障害が発生すると物理
ディスク#D1にアクセスするように動作する。これに
よって、対となる物理ディスクが同時に故障しない限り
はデータアクセスが可能である。
With this configuration, physical disk # D1
When a failure occurs in the physical disk # D2, the physical disk # D2 is accessed, and when a failure occurs in the physical disk # D2, the physical disk # D1 is accessed. As a result, data can be accessed as long as the paired physical disks do not fail at the same time.

【0006】上述したミラーリングには、データ転送時
に各物理ディスクの負荷が均等になるように、データを
転送するディスクを選択してディスクの全体的なデータ
転送性能を向上させる負荷分散機能を有するものがあ
る。具体的に説明すると、ミラーリング構成をとる論理
ディスクに対してデータ転送要求が発行された場合に、
要求されたデータが物理ディスクから転送されてくる待
ち時間の間に、次のデータ転送要求を物理ディスク対の
他方に対して発行するものである。これにより、データ
転送が同時平行に行われるため、データの転送効率が向
上する。
The above-mentioned mirroring has a load distribution function for improving the overall data transfer performance of the disks by selecting the disks to transfer the data so that the loads on the physical disks are equalized during the data transfer. There is. Specifically, when a data transfer request is issued to a logical disk with a mirroring configuration,
During the waiting time when the requested data is transferred from the physical disk, the next data transfer request is issued to the other physical disk pair. As a result, the data transfer is performed in parallel at the same time, which improves the data transfer efficiency.

【0007】以上のように、ミラーリングは同一のデー
タを2つのディスクに格納する手法であり、ディスクの
高信頼性、高速転送を実現する。
As described above, the mirroring is a method of storing the same data in two disks, and realizes high reliability and high speed transfer of the disks.

【0008】また、通常のミラーリングのようにディス
クの対を作り、元データ、複製データを格納する以外の
方法も提案されている。例えば、特開平6−18710
1号公報には元データの複製を複数のディスクに格納す
る従来のデータ格納装置(ディスクアレイ)が開示され
ている。
Further, a method other than forming the pair of disks and storing the original data and the duplicated data as in ordinary mirroring has been proposed. For example, JP-A-6-18710
Japanese Patent No. 1 discloses a conventional data storage device (disk array) that stores a copy of original data in a plurality of disks.

【0009】図28は、上述した特開平6−18710
1号公報に開示される従来のディスクアレイによるデー
タ格納例を示す図であり、(a)は各ディスクの複製を
他の全てのディスクに対して配置した例を示し、(b)
は元データの複製を2台以上の複製用のディスクに分け
て格納した例を示している。
FIG. 28 shows the above-mentioned Japanese Patent Laid-Open No. 6-18710.
FIG. 3 is a diagram showing an example of data storage by the conventional disk array disclosed in Japanese Patent Publication No. 1-A, FIG. 1A shows an example in which a copy of each disk is arranged for all other disks, and FIG.
Shows an example in which a copy of the original data is divided and stored in two or more copy disks.

【0010】次に概要について説明する。図28
(a)、(b)のデータ管理方法では、ディスクに格納
されたデータを転送する時に、各ディスクから並列にデ
ータを転送するため、高速な転送が実現できる。また、
特定のディスクにデータ転送要求が集中した場合にも他
のディスクに負荷を分散させることが可能である。さら
に、ディスクに故障が発生してデータをバックアップす
る際に、複数のディスクから並列にデータを転送してス
ペアディスクに書き込むことができる。このため、通常
のミラーリングシステムと比較して、障害復旧、バック
アップが速いといった利点もある。
Next, an outline will be described. FIG. 28
In the data management methods (a) and (b), when the data stored in the disks is transferred, the data is transferred in parallel from each disk, so that high-speed transfer can be realized. Also,
Even when data transfer requests are concentrated on a specific disk, it is possible to distribute the load to other disks. Furthermore, when a disk fails and data is backed up, data can be transferred from a plurality of disks in parallel and written to a spare disk. Therefore, it has the advantage of faster failure recovery and faster backup than the normal mirroring system.

【0011】[0011]

【発明が解決しようとする課題】従来のデータ格納装置
は以上のように構成されているので、ミラーリング構成
において、どのディスク同士を対として、元データや複
製データの書き込みを行うかを十分に考慮しないと、シ
ステム全体としての信頼性を最大限に引き出すことがで
きないという課題があった。
Since the conventional data storage device is configured as described above, in the mirroring configuration, it is necessary to fully consider which disk is paired with the original data and the duplicated data for writing. Otherwise, there was a problem that the reliability of the entire system could not be maximized.

【0012】上記課題を具体的に説明すると、例えば図
27のミラーリング構成において、物理ディスク#D1
と物理ディスク#D2が同一のマシンに置かれていた場
合を考える。このとき、マシンレベルで障害が発生する
と、物理ディスク#D1と物理ディスク#D2に同時に
アクセスができなくなってしまう。これについては、図
28(b)に示すデータ管理方法においても、同様のこ
とが言える。つまり、このようなミラーリング構成で
は、ディスク障害以外の障害には耐えることができな
い。
The above problem will be described in detail. For example, in the mirroring configuration of FIG. 27, physical disk # D1
And the physical disk # D2 are placed in the same machine. At this time, if a failure occurs at the machine level, the physical disks # D1 and # D2 cannot be simultaneously accessed. The same applies to the data management method shown in FIG. 28B. That is, such a mirroring configuration cannot withstand failures other than disk failures.

【0013】また、通常のミラーリングでは、元データ
を格納するディスクとその複製データを格納するディス
クに同時に障害が起こらない限り、全てのデータにアク
セス可能である。つまり、通常N台のディスクで構成さ
れるミラーリングシステムでは最大N/2台のディスク
が故障しても動作する。しかしながら、図28(a)に
示す例では、任意の2台のディスクに障害が発生すると
アクセスできなくなるデータが必ず発生してしまうとい
う課題がある。
In normal mirroring, all data can be accessed as long as the disk storing the original data and the disk storing the duplicated data do not fail at the same time. In other words, in a mirroring system that is normally composed of N disks, it operates even if a maximum of N / 2 disks fails. However, in the example shown in FIG. 28A, there is a problem that inaccessible data is always generated when a failure occurs in any two disks.

【0014】さらに、図28(b)の構成においては、
ディスクの本数によっては必ずしもデータの配置が均等
にならないため、データ転送時に各ディスクにかかる負
荷が均等にならないという課題がある。
Further, in the configuration of FIG. 28 (b),
Depending on the number of disks, the data arrangement is not always uniform, which causes a problem that the load on each disk during data transfer is not uniform.

【0015】このように、従来のデータ転送時に負荷分
散を行うミラーリング構成においては、ディスクが故障
していなければ、各ディスクからデータ転送量が均等化
するようにデータ転送ディスクの選択が行われる。しか
しながら、ディスクに故障が発生すると、故障ディスク
と対を組む物理ディスクのデータ転送量が増大してしま
う。このため、そのディスクのデータ転送時間がボトル
ネックとなり、システム全体のスループットの低下につ
ながるという課題があった。
As described above, in the conventional mirroring configuration in which the load is distributed at the time of data transfer, the data transfer disks are selected so that the data transfer amounts from the respective disks are equalized unless the disks fail. However, if a disk fails, the amount of data transferred to the physical disk paired with the failed disk increases. Therefore, there is a problem that the data transfer time of the disk becomes a bottleneck and the throughput of the entire system is reduced.

【0016】この発明は上記のような課題を解決するた
めになされたもので、複数のディスクを用意し、各ディ
スクに格納するデータ量及び各ディスクからのデータ転
送量を均等化することで、システム全体のスループット
の低下を最小限に抑えることができるデータ格納装置、
データ管理方法及びプログラムを得ることを目的とす
る。
The present invention has been made to solve the above problems, and by preparing a plurality of disks and equalizing the amount of data stored in each disk and the amount of data transferred from each disk, A data storage device that can minimize the decrease in overall system throughput,
The purpose is to obtain a data management method and program.

【0017】また、この発明は、ディスク間の距離情報
を元に同時に障害が起こりにくいディスク同士をグルー
プ化し、各グループに同一のデータを書き込んでミラー
リングを行うことで、システム内に保持されたデータの
信頼性を向上させることができるデータ格納装置、デー
タ管理方法及びプログラムを得ることを目的とする。
Further, according to the present invention, the disks held in the system are grouped by grouping the disks which are less likely to cause a failure at the same time on the basis of the distance information between the disks, and writing the same data in each group to perform mirroring. An object of the present invention is to obtain a data storage device, a data management method, and a program that can improve the reliability of the.

【0018】さらに、この発明は、ディスクの多重冗長
構成を構築するデータ格納装置、データ管理方法及びプ
ログラムを得ることを目的とする。
A further object of the present invention is to obtain a data storage device, a data management method and a program for constructing a multiple redundant configuration of disks.

【0019】[0019]

【課題を解決するための手段】この発明に係るデータ格
納装置は、データを同一データ量ごとの複数のデータブ
ロックに分割して、該データブロック単位で複数の記憶
装置に同一ブロック数ずつ分散配置させると共に、所定
数の記憶装置ごとに同一内容のデータブロックを重複し
て格納するデータ格納手段と、複数の記憶装置に分散し
て格納されたデータを所定数の記憶装置ごとに1又は複
数のデータブロック単位で読み出す読み出し手段とを備
えるものである。
A data storage device according to the present invention divides data into a plurality of data blocks of the same data amount, and disposes the same number of blocks in a plurality of storage devices in units of the data blocks. In addition, the data storage means stores the data blocks of the same content in duplicate for each of the predetermined number of storage devices, and the data stored in the plurality of storage devices in a distributed manner is one or more for each of the predetermined number of storage devices. A reading means for reading in data block units is provided.

【0020】この発明に係るデータ格納装置は、複数の
記憶装置の各記憶装置間における相互作用の指標である
距離情報を用いて、相互作用の小さい記憶装置同士をま
とめた冗長グループを構成し、データを複数の記憶装置
に分散して格納するにあたり、該データを同一データ量
ごとの複数のデータブロックに分割し、冗長グループ内
の各記憶装置に同一内容のデータブロックを重複して格
納するデータ格納手段と、複数の記憶装置に分散して格
納されたデータを冗長グループごとに1又は複数のデー
タブロック単位で読み出す読み出し手段とを備えるもの
である。
The data storage device according to the present invention uses the distance information, which is an index of the interaction between the storage devices of the plurality of storage devices, to form a redundant group in which the storage devices having a small interaction are put together. Data in which data is distributed and stored in a plurality of storage devices, the data is divided into a plurality of data blocks of the same data amount, and data blocks of the same content are redundantly stored in each storage device in the redundancy group. The storage device includes a storage unit and a read unit that reads out data stored in a distributed manner in a plurality of storage devices in units of one or a plurality of data blocks for each redundancy group.

【0021】この発明に係るデータ格納装置は、複数の
記憶装置の各記憶装置間における相互作用の指標である
距離情報を用いて、相互作用の小さい記憶装置同士をま
とめた冗長グループを構成し、データを複数の記憶装置
に分散して格納するにあたり、該データを同一データ量
ごとの複数のデータブロックに分割し、冗長グループ内
の各記憶装置に同一内容のデータブロックを重複して格
納するものである。
The data storage device according to the present invention uses the distance information, which is an index of the interaction between the storage devices of the plurality of storage devices, to form a redundant group in which the storage devices having a small interaction are put together. When data is distributed and stored in a plurality of storage devices, the data is divided into a plurality of data blocks of the same data amount, and the data blocks of the same content are redundantly stored in each storage device in the redundancy group. Is.

【0022】この発明に係るデータ格納装置は、データ
格納手段が複数の記憶装置に対してラウンドロビンでデ
ータブロックを格納するものである。
In the data storage device according to the present invention, the data storage means stores data blocks in a plurality of storage devices in a round robin manner.

【0023】この発明に係るデータ格納装置は、データ
格納手段がハッシュ分散を用いてデータブロックを格納
すべき記憶装置を決定するものである。
In the data storage device according to the present invention, the data storage means uses hash distribution to determine the storage device in which the data block should be stored.

【0024】この発明に係るデータ格納装置は、データ
格納手段が各記憶装置から一度に読み出される複数のデ
ータブロックをそれぞれの記憶領域内で隣接して配置す
るものである。
In the data storage device according to the present invention, the data storage means arranges a plurality of data blocks read at once from each storage device adjacently in each storage area.

【0025】この発明に係るデータ格納装置は、いずれ
かの記憶装置がデータ読み出し不可となると、該記憶装
置から読み出されるべきデータブロック群を、これと同
一内容のデータブロック群を分散して格納する他の複数
の記憶装置から均等に読み出すものである。
The data storage device according to the present invention stores the data block group to be read from the storage device in a distributed manner when the data reading is impossible in any of the storage devices. The data is evenly read from a plurality of other storage devices.

【0026】この発明に係るデータ格納装置は、複数の
記憶装置が構成する階層構造に基づいて距離情報を求め
るものである。
A data storage device according to the present invention obtains distance information based on a hierarchical structure formed by a plurality of storage devices.

【0027】この発明に係るデータ格納装置は、各記憶
装置が配置される位置情報に基づいて距離情報を求める
ものである。
The data storage device according to the present invention obtains the distance information based on the position information in which each storage device is arranged.

【0028】この発明に係るデータ格納装置は、各記憶
装置間の接続経路に応じて決定される故障率に基づいて
距離情報を求めるものである。
The data storage device according to the present invention obtains distance information based on the failure rate determined according to the connection path between the storage devices.

【0029】この発明に係るデータ格納装置は、同一内
容のデータブロックを重複させる度合いである多重度を
冗長グループごとに設定するものである。
The data storage device according to the present invention sets the multiplicity, which is the degree to which data blocks having the same content are overlapped, for each redundancy group.

【0030】この発明に係るデータ格納装置は、距離情
報に基づいて信頼性のレベルを冗長グループごとに設定
するものである。
The data storage device according to the present invention sets the reliability level for each redundancy group based on the distance information.

【0031】この発明に係るデータ管理方法は、データ
を同一データ量ごとの複数のデータブロックに分割し
て、該データブロック単位で複数の記憶装置に同一ブロ
ック数ずつ分散配置させると共に、所定数の記憶装置ご
とに同一内容のデータブロックを重複して格納するデー
タ格納ステップと、複数の記憶装置に分散して格納され
たデータを所定数の記憶装置ごとに1又は複数のデータ
ブロック単位で読み出す読み出しステップとを備えるも
のである。
In the data management method according to the present invention, the data is divided into a plurality of data blocks of the same data amount, and the same number of blocks are distributed and arranged in the plurality of storage devices in units of the data blocks. A data storage step of redundantly storing data blocks of the same content for each storage device, and reading of data stored in a distributed manner in a plurality of storage devices in units of one or a plurality of data blocks for each predetermined number of storage devices And steps.

【0032】この発明に係るデータ管理方法は、データ
格納ステップにて、複数の記憶装置の各記憶装置間にお
ける相互作用の指標である距離情報を用いて、相互作用
の小さい記憶装置同士をまとめた冗長グループを構成
し、データを複数の記憶装置に分散して格納するにあた
り、該データを同一データ量ごとの複数のデータブロッ
クに分割し、冗長グループ内の各記憶装置に同一内容の
データブロックを重複して格納するものである。
In the data management method according to the present invention, in the data storing step, the storage devices having a small interaction are put together by using the distance information which is an index of the interaction between the storage devices of the plurality of storage devices. When a redundant group is formed and data is distributed and stored in a plurality of storage devices, the data is divided into a plurality of data blocks of the same data amount, and data blocks having the same content are stored in each storage device in the redundancy group. It is stored in duplicate.

【0033】この発明に係るプログラムは、データを同
一データ量ごとの複数のデータブロックに分割して、該
データブロック単位で複数の記憶装置に同一ブロック数
ずつ分散配置させると共に、所定数の記憶装置ごとに同
一内容のデータブロックを重複して格納するデータ格納
手段、複数の記憶装置に分散して格納されたデータを所
定数の記憶装置ごとに1又は複数のデータブロック単位
で読み出す読み出し手段としてコンピュータを機能させ
るものである。
A program according to the present invention divides data into a plurality of data blocks of the same data amount, disperses and arranges the same number of blocks in a plurality of storage devices in units of the data blocks, and a predetermined number of storage devices. A computer as a data storage unit that stores data blocks of the same content in duplicate for each unit, and a read unit that reads out the data stored in a distributed manner in a plurality of storage units in units of one or a plurality of data blocks for each predetermined number of storage units Is to function.

【0034】この発明に係るプログラムは、複数の記憶
装置の各記憶装置間における相互作用の指標である距離
情報を用いて、相互作用の小さい記憶装置同士をまとめ
た冗長グループを構成し、データを同一データ量ごとの
複数のデータブロックに分割して、該データブロック単
位で複数の記憶装置に同一ブロック数ずつ分散配置させ
ると共に、冗長グループ内の各記憶装置に同一内容のデ
ータブロックを重複して格納するデータ格納手段、複数
の記憶装置に分散して格納されたデータを冗長グループ
ごとに1又は複数のデータブロック単位で読み出す読み
出し手段としてコンピュータを機能させるものである。
The program according to the present invention uses the distance information, which is an index of the interaction between the storage devices of the plurality of storage devices, to configure a redundant group in which the storage devices having a small interaction are grouped and data is stored. The data blocks are divided into a plurality of data blocks of the same data amount, the same number of blocks are distributed and arranged in the plurality of storage devices in units of the data blocks, and the data blocks of the same content are duplicated in each storage device in the redundancy group. The computer is made to function as a data storage means for storing and a reading means for reading out data stored in a distributed manner in a plurality of storage devices in units of one or a plurality of data blocks for each redundancy group.

【0035】この発明に係るプログラムは、複数の記憶
装置の各記憶装置間における相互作用の指標である距離
情報を用いて、相互作用の小さい記憶装置同士をまとめ
た冗長グループを構成し、データを複数の記憶装置に分
散して格納するにあたり、該データを同一データ量ごと
の複数のデータブロックに分割し、冗長グループ内の各
記憶装置に同一内容のデータブロックを重複して格納す
るデータ格納手段としてコンピュータを機能させるもの
である。
The program according to the present invention uses the distance information, which is an index of the interaction between the storage devices of the plurality of storage devices, to configure a redundant group in which the storage devices having a small interaction are put together, and data is stored. A data storage unit that divides the data into a plurality of data blocks of the same data amount and stores the data blocks of the same content in duplicate in each storage device in the redundant group when the data blocks are distributed and stored in the plurality of storage devices. It makes a computer function as.

【0036】[0036]

【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるデ
ータ格納装置の構成例を示す図である。図において、1
はネットワーク2を介してn台のノードマシン3−1〜
3−nと接続するホストマシン(データ格納装置)であ
って、実施の形態1によるデータ格納を実現するプログ
ラムを実行するコンピュータ装置である。2はホストマ
シン1とノードマシンを接続するネットワークで、イン
ターネットやイントラネットなどの通信インフラが考え
られる。3−1〜3−nはノードマシンであって、2次
記憶装置であるディスクを有するコンピュータ装置であ
る。これらホストマシン1、ネットワーク2及びノード
マシン3−1〜3−nによって、全体的に1つのシステ
ムが構成される。ここで、ホストマシン1とノードマシ
ン3−1〜3−nとを接続する媒体としては、ネットワ
ーク2に限られず、バスを用いて接続して並列システム
を構成してもよい。また、ノードマシン3としては、I
/O制御装置やSCSIなどでも構わない。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described below. Embodiment 1. 1 is a diagram showing a configuration example of a data storage device according to a first embodiment of the present invention. In the figure, 1
Are connected to the n node machines 3-1 to 3-1 via the network 2.
A host machine (data storage device) connected to 3-n, which is a computer device that executes a program that realizes data storage according to the first embodiment. Reference numeral 2 denotes a network connecting the host machine 1 and the node machine, and a communication infrastructure such as the Internet or an intranet can be considered. 3-1 to 3-n are node machines, which are computer devices having disks as secondary storage devices. The host machine 1, the network 2, and the node machines 3-1 to 3-n form one system as a whole. Here, the medium for connecting the host machine 1 and the node machines 3-1 to 3-n is not limited to the network 2, and may be connected using a bus to form a parallel system. Further, as the node machine 3, I
An I / O control device or SCSI may be used.

【0037】図2は図1中のホストマシンの構成を示す
図である。図において、4は主記憶装置であって、オペ
レーティングシステム5、データ転送制御部(読み出し
手段)6、ファイルブロック管理部(データ格納手段)
7、通信制御部8及びノードマシン管理部(データ格納
手段)9などの機能を実現するソフトウェアが格納され
ている。また、主記憶装置4に格納されるオペレーティ
ングシステム5によってホストマシン1のハードウェア
全体が制御される。10はホストマシン1を構成するコ
ンピュータ装置の中央演算処理装置(データ格納手段、
読み出し手段)で、主記憶装置4内の各ソフトウェアを
実行する。11はネットワークアダプタであって、ホス
トマシン1によるネットワーク2への接続を制御する。
12aは主記憶装置4と中央演算処理装置10とを接続
するシステムバスで、12bはネットワークアダプタ1
1やディスクコントローラ14、及び、他のデバイスを
接続するPCIバスである。13はバス結合装置であっ
て、システムバス12aとPCIバス12bを結合す
る。14はディスク装置(記憶装置)15,16を制御
するディスクコントローラ14である。
FIG. 2 is a diagram showing the configuration of the host machine shown in FIG. In the figure, reference numeral 4 denotes a main storage device, which includes an operating system 5, a data transfer control unit (reading unit) 6, and a file block management unit (data storage unit).
Software for implementing functions such as 7, a communication control unit 8 and a node machine management unit (data storage unit) 9 is stored. The operating system 5 stored in the main storage device 4 controls the entire hardware of the host machine 1. Reference numeral 10 represents a central processing unit (data storage means,
The reading means) executes each software in the main storage device 4. A network adapter 11 controls connection of the host machine 1 to the network 2.
Reference numeral 12a is a system bus that connects the main storage device 4 and the central processing unit 10, and 12b is a network adapter 1
1 and the disk controller 14, and a PCI bus for connecting other devices. A bus coupler 13 couples the system bus 12a and the PCI bus 12b. A disk controller 14 controls the disk devices (storage devices) 15 and 16.

【0038】ここで、データ転送制御部6、ファイルブ
ロック管理部7、通信制御部8、及びノードマシン管理
部9としては、上述ではソフトウェアで実現する例を示
したが、ファームウェアとしても良いし、上記機能を実
現するハードウェアとして構成してもよい。また、ソフ
トウェアとファームウェアとハードウェアの組み合わせ
でもよい。
Here, the data transfer control unit 6, the file block management unit 7, the communication control unit 8, and the node machine management unit 9 have been described as an example realized by software, but they may be firmware. You may comprise as the hardware which implement | achieves the said function. Also, a combination of software, firmware and hardware may be used.

【0039】図3はこの発明の実施の形態1よるデータ
格納装置の各ソフトウェアの関係を示す図である。図に
おいて、7aは主記憶装置4に格納されるファイルブロ
ック管理テーブルであって、データ転送時に各ディスク
から転送するファイルブロックであるリードブロックを
特定する情報を格納する。9aはノードマシン管理テー
ブルで、ノードマシンの管理に関する情報を格納する。
また、ノードマシン3−1〜3−nは、オペレーティン
グシステム17、通信制御部18及びディスクアクセス
制御部19の機能を実現するソフトウェアを実行し、2
次記憶装置として複数のディスク装置(記憶装置)20
を有するものとする。
FIG. 3 is a diagram showing the relationship of each software of the data storage device according to the first embodiment of the present invention. In the figure, 7a is a file block management table stored in the main storage device 4, and stores information for specifying a read block which is a file block transferred from each disk at the time of data transfer. A node machine management table 9a stores information related to management of node machines.
The node machines 3-1 to 3-n execute software that realizes the functions of the operating system 17, the communication control unit 18, and the disk access control unit 19, and
A plurality of disk devices (storage devices) 20 as the next storage device
Shall have.

【0040】図4は図3中のノードマシン管理テーブル
の構成を示す図である。図において、21はノードマシ
ン管理テーブル9aを構成する情報の1つであるノード
マシン管理情報であって、各ノードマシンを特定する情
報としてノードマシン番号21a、IPアドレス21
b、ポート番号21cが設定される。ノードマシン管理
部9は、このノードマシン管理情報21を元にして各ノ
ードマシンに接続するディスクを特定するディスク情報
22を取得し、ディスク情報22におけるディスク番号
22a、ノードマシン番号22bの設定を行う。22は
ノードマシンに接続するディスクを特定するディスク情
報で、ディスクを特定するディスク番号22a、各ノー
ドマシンを特定するノードマシン番号及びその冗長グル
ープを特定する冗長グループ番号22cから構成され
る。23は階層情報であって、各ノードマシンに接続さ
れたディスクの階層関係を特定する下位階層情報23a
及び上位階層情報23bから構成される。24は距離情
報で、2つのノードマシン間で同時にアクセス不能とな
る可能性を示す指標である。つまり、距離情報24は、
ディスク間の相互作用を示す指標であると言える。
FIG. 4 is a diagram showing the structure of the node machine management table in FIG. In the figure, reference numeral 21 is node machine management information, which is one of the pieces of information constituting the node machine management table 9a, and the node machine number 21a and IP address 21 are used as information for identifying each node machine.
b and port number 21c are set. The node machine management unit 9 acquires the disk information 22 that identifies the disk connected to each node machine based on this node machine management information 21, and sets the disk number 22a and node machine number 22b in the disk information 22. . Reference numeral 22 is disk information for specifying a disk connected to the node machine, which is composed of a disk number 22a for specifying the disk, a node machine number for specifying each node machine and a redundancy group number 22c for specifying the redundancy group. Reference numeral 23 is layer information, which is lower layer information 23a that identifies the layer relationship of the disks connected to each node machine.
And upper layer information 23b. Reference numeral 24 is distance information, which is an index indicating the possibility of inaccessibility between two node machines at the same time. That is, the distance information 24 is
It can be said that this is an index showing the interaction between the disks.

【0041】次に初期設定時における階層情報23の設
定例について説明する。図5は実施の形態1によるデー
タ格納装置を構成するディスクの階層関係の一例を示す
図である。図において、#D1〜#D8はデータ格納装
置を構成するディスクである。また、符号25−1,2
5−2,26−1,26−2を付した枠で囲まれたディ
スクは、各ノードマシンに接続されたディスクであるこ
とを表している。さらに、符号25,26を付した枠で
囲まれたディスクは、同一のフロアに存在するノードマ
シンに接続されたディスクであることを表している。ま
た、27は実施の形態1によるデータ格納装置を構成す
るシステム全体を表している。このようにシステムの全
体を表すものをルートと呼ぶこととする。また、ノード
マシン、フロアのように、ディスクを分類する枠をフレ
ームと呼ぶこととする。つまり、ディスクの階層関係に
おいてノードマシン、フロアを指す用語として、ノード
マシンフレーム25−1、ノードマシンフレーム25−
2、フロアフレーム25を用いる。
Next, an example of setting the hierarchy information 23 at the time of initial setting will be described. FIG. 5 is a diagram showing an example of a hierarchical relationship of disks constituting the data storage device according to the first embodiment. In the figure, # D1 to # D8 are disks constituting a data storage device. Also, reference numerals 25-1 and 25-2
Disks surrounded by boxes 5-2, 26-1, and 26-2 represent disks connected to each node machine. Further, the disks enclosed by the frames 25 and 26 are connected to the node machines existing on the same floor. Further, 27 represents the entire system that constitutes the data storage device according to the first embodiment. In this way, what represents the entire system is called a root. A frame for classifying disks, such as a node machine or a floor, is called a frame. That is, in the hierarchical relationship of the disks, node machine frame 25-1, node machine frame 25-
2. Use the floor frame 25.

【0042】ここで、ノードマシンフレーム25−1に
属するディスクは#D1,#D2であり、フロアフレー
ム25に属するディスクは#D1〜#D4である。ま
た、ルート27に属するディスクはシステム内の全ての
ディスクであり、#D1〜#D8となる。つまり、この
ようなフレーム同士には、階層関係が存在する。図5の
例では、ノードマシンフレーム25−1に属するディス
クは#D1,#D2であり、フロアフレーム25に属す
るディスクは、ノードマシンフレーム25−1,25−
2に属するディスクである。また、ルート27に属する
ディスクは、フロアフレーム25,26に属するディス
クでもある。
The disks belonging to the node machine frame 25-1 are # D1 and # D2, and the disks belonging to the floor frame 25 are # D1 to # D4. The disks belonging to the route 27 are all disks in the system and are # D1 to # D8. That is, there is a hierarchical relationship between such frames. In the example of FIG. 5, the disks belonging to the node machine frame 25-1 are # D1 and # D2, and the disks belonging to the floor frame 25 are the node machine frames 25-1 and 25-.
It is a disc belonging to 2. The discs belonging to the route 27 are also discs belonging to the floor frames 25 and 26.

【0043】具体的に説明すると、ディスク#D1に対
して、上位階層はディスク#D1が属する、ノードマシ
ンフレーム25−1であり、ノードマシンフレーム25
−1の上位階層はノードマシンフレーム25−1が属す
るフロアフレーム25であり、フロアフレーム25の上
位階層はルート27となる。
More specifically, with respect to the disk # D1, the upper layer is the node machine frame 25-1 to which the disk # D1 belongs.
The upper layer of -1 is the floor frame 25 to which the node machine frame 25-1 belongs, and the upper layer of the floor frame 25 is the root 27.

【0044】図4の例では、下位階層情報23aがディ
スク#D1であり、その上位階層情報23bはノードマ
シンフレーム25−1となる。同様にディスク#D2を
下位階層情報23aとすると、その上位階層情報23b
はノードマシンフレーム25−1となる。以下、他の全
てのディスクを下位階層情報23aとして、その上位階
層情報23bを設定する。
In the example of FIG. 4, the lower layer information 23a is the disk # D1 and the upper layer information 23b is the node machine frame 25-1. Similarly, if the disk # D2 is the lower layer information 23a, its upper layer information 23b.
Becomes the node machine frame 25-1. Hereinafter, all the other disks are set as the lower layer information 23a and the upper layer information 23b is set.

【0045】また、ノードマシンフレーム25−1を下
位階層情報23aとすると、その上位階層情報23bは
フロアフレーム25となる。同様にノードマシンフレー
ム25−2を下位階層情報23aとすると、その上位階
層情報23bはフロアフレーム25となる。以下、他の
全てのノードマシンフレームを下位階層情報とし、上位
階層情報23bを設定する。
When the node machine frame 25-1 is the lower layer information 23a, the upper layer information 23b is the floor frame 25. Similarly, when the node machine frame 25-2 is the lower layer information 23a, the upper layer information 23b is the floor frame 25. Hereinafter, all other node machine frames are used as lower layer information, and the upper layer information 23b is set.

【0046】さらに、フロアフレーム25,26を下位
階層情報23aとすると、その上位階層情報23bはル
ート27となる。
Further, when the floor frames 25 and 26 are the lower layer information 23a, the upper layer information 23b is the route 27.

【0047】ノードマシン管理部9は、以上のような階
層関係を階層情報23としてノードマシン管理テーブル
9aに設定する。この階層情報23を用いることで、各
ディスクからルートまでの階層関係が決定される。
The node machine management unit 9 sets the above hierarchical relationship as the hierarchy information 23 in the node machine management table 9a. By using this layer information 23, the layer relationship from each disk to the root is determined.

【0048】ここで、本発明のデータ格納装置におい
て、ディスクを分類する時のフレームは自由に設定して
良い。図5では、ノードマシン、フロアのフレームを設
定したが、例えば地域のような更に大きなフレームを追
加したり、バスのように更に小さなフレームを追加した
りすることも任意に行って良い。つまり、階層情報は1
階層からN階層まで任意に設定することが可能である。
Here, in the data storage device of the present invention, the frame for classifying the disks may be set freely. In FIG. 5, the frame of the node machine and the floor are set, but a larger frame such as a region or a smaller frame such as a bus may be added arbitrarily. That is, the hierarchy information is 1
It is possible to arbitrarily set from the hierarchy to the N hierarchy.

【0049】図6は実施の形態1によるデータ格納装置
を構成するディスクの階層関係の他例を示す図である。
図6に示すように、同一階層において複数のフレームに
属するディスク、ノードマシンがあってもよい。つま
り、ノードマシンフレーム26−1はフロアフレーム2
5,26の両方に属しており、このノードマシンフレー
ム26−1を下位階層情報23aとすると、上位階層情
報23bはフロアフレーム25,26の両方が設定され
ることになる。
FIG. 6 is a diagram showing another example of the hierarchical relationship of the disks constituting the data storage device according to the first embodiment.
As shown in FIG. 6, there may be disks and node machines belonging to a plurality of frames in the same layer. That is, the node machine frame 26-1 is the floor frame 2
5 and 26, and if the node machine frame 26-1 is the lower layer information 23a, both the floor frames 25 and 26 are set in the upper layer information 23b.

【0050】一般的に低い階層で同一のフレームに属す
るディスクは、システム障害時に同時にアクセス不能と
なる可能性が高い。例えば、図5に示すように、フロア
フレーム25に対応するフロアで災害が発生すると、デ
ィスク#D1,#D2,#D3,#D4のディスクへの
アクセスが不能となる。また、ノードマシンフレーム2
5−1に対応するノードマシンが故障した時にも、ディ
スク#D1,#D2へのアクセスが不能となる。
Generally, disks belonging to the same frame in a lower hierarchy are likely to be inaccessible at the same time when a system failure occurs. For example, as shown in FIG. 5, when a disaster occurs on the floor corresponding to the floor frame 25, it becomes impossible to access the disks of the disks # D1, # D2, # D3 and # D4. Also, node machine frame 2
Even when the node machine corresponding to 5-1 fails, access to the disks # D1 and # D2 becomes impossible.

【0051】つまり、ノードマシンフレーム25−1の
ような低い階層に分類されるディスク#D1,#D2
は、ノードマシンフレーム25−1が属するフロアフレ
ーム25のような上位階層のフレームで障害が発生して
もアクセスが同時に不能となる。反対に、ディスク#D
1とディスク#D8のような組み合わせであれば、2つ
のディスクが同時にアクセス不能となる可能性が低い。
That is, the disks # D1 and # D2 classified into a lower hierarchy like the node machine frame 25-1.
Is disabled at the same time even if a failure occurs in a higher-level frame such as the floor frame 25 to which the node machine frame 25-1 belongs. On the contrary, disk #D
With a combination of 1 and disk # D8, it is unlikely that two disks will be inaccessible at the same time.

【0052】また、階層構造のルートにホストマシン1
を置くことによって、ホストマシン1から見た階層構造
を構築することができる。例えば、図5で示された階層
構造を有するシステムにおいて、フロアフレーム25に
対応するフロアにホストマシン1を設置した場合を考え
る。
The host machine 1 is located at the root of the hierarchical structure.
By placing, the hierarchical structure viewed from the host machine 1 can be constructed. For example, consider a case where the host machine 1 is installed on the floor corresponding to the floor frame 25 in the system having the hierarchical structure shown in FIG.

【0053】図7は上述のように配置したホストマシン
から見たシステムの階層構造を示す図である。図におい
て、#HD1,#HD2はホストマシン1に接続された
ディスクであり、ホストマシンフレーム29に属する。
28は階層構造の最上位階層に対応するホストマシン階
層、29はホストマシン1に接続されたディスクである
ことを示すホストマシンフレームである。
FIG. 7 is a diagram showing the hierarchical structure of the system viewed from the host machine arranged as described above. In the figure, # HD1 and # HD2 are disks connected to the host machine 1 and belong to the host machine frame 29.
Reference numeral 28 is a host machine hierarchy corresponding to the highest hierarchy of the hierarchical structure, and 29 is a host machine frame indicating that the disk is connected to the host machine 1.

【0054】図7に示すように、フロアフレーム25に
対応するフロアに設置されたホストマシン1を中心に階
層構造を構築すると、ノードマシンフレーム25−1,
25−2及びフロアフレーム26は、ホストマシン階層
28を上位階層とする同一階層のフレームとして分類さ
れる。このようにシステムの階層構造を考慮すること
で、階層構造のルートに設置するものによってそれを中
心としたシステムの階層構造を築くことができる。
As shown in FIG. 7, when a hierarchical structure is built around the host machine 1 installed on the floor corresponding to the floor frame 25, the node machine frames 25-1,
The frame 25-2 and the floor frame 26 are classified as frames in the same layer with the host machine layer 28 as an upper layer. In this way, by considering the hierarchical structure of the system, it is possible to build the hierarchical structure of the system centered on the system installed at the root of the hierarchical structure.

【0055】次に初期設定時における距離情報24の設
定例について説明する。ここで、距離情報は同時にアク
セス不能となりやすいディスク同士においては値が小さ
くなり、同時にアクセス不能となりにくいディスク同士
においては値が大きくなるように設定される。
Next, an example of setting the distance information 24 at the time of initial setting will be described. Here, the distance information is set to have a small value for disks that are likely to be inaccessible at the same time and a large value for disks that are less likely to be inaccessible at the same time.

【0056】階層情報23を用いて距離情報24を設定
する手順について説明する。階層情報23を用いた場
合、2つのディスクが低い階層で同一のフレームに属す
るならば、距離情報24は小さくなる。逆に、低い階層
で同一のフレームに属さず、高い階層で同一のフレーム
に属するならば、距離情報24は大きくなる。
A procedure for setting the distance information 24 using the layer information 23 will be described. When the layer information 23 is used, if the two discs belong to the same frame in the lower layer, the distance information 24 becomes small. Conversely, if the lower layer does not belong to the same frame but the higher layer belongs to the same frame, the distance information 24 becomes large.

【0057】つまり、階層情報23と距離情報24の関
係から、ディスク間の距離情報24が小さい2つのディ
スクは、同時にアクセス不能となる可能性が高く、逆に
ディスク間の距離情報が大きい2つのディスクは、同時
にアクセス不能となる可能性が低いと決定することがで
きる。
That is, from the relationship between the layer information 23 and the distance information 24, two discs having a small distance information 24 between discs are likely to be inaccessible at the same time, and conversely, two discs having a large distance information between discs. The disk can be determined to be unlikely to be inaccessible at the same time.

【0058】ここで、階層情報23の設定時に、図7に
示すようにルートにホストマシン1を置いた場合を挙げ
ると、階層情報23と距離情報24の関係から、ディス
ク間の距離情報24が小さい2つのディスクは、ホスト
マシン1から見て同時にアクセス不能となる可能性が高
いと判断することができる。一方、逆にディスク間の距
離情報24が大きい2つのディスクは、ホストマシン1
から見て同時にアクセス不能となる可能性が低いと判断
される。また、ホストマシン1に接続するディスクと、
ホストマシン以外に設置されたディスクとの距離情報2
4は、全距離情報の中で最大の値をとる。従って、ホス
トマシン1から見て、同時にアクセス不能となる可能性
が最も低いということになる。
Here, when the host machine 1 is placed at the root as shown in FIG. 7 when the layer information 23 is set, the distance information 24 between the disks is determined from the relationship between the layer information 23 and the distance information 24. It can be determined that the two small disks are highly inaccessible at the same time when viewed from the host machine 1. On the other hand, conversely, two disks with large distance information 24 between the disks are
From the viewpoint, it is judged that there is a low possibility that access will be disabled at the same time. Also, a disk connected to the host machine 1,
Distance information for disks installed outside the host machine 2
4 takes the maximum value in the total distance information. Therefore, from the viewpoint of the host machine 1, the possibility of being inaccessible at the same time is the lowest.

【0059】次に動作について説明する。図8は実施の
形態1によるデータ格納装置の動作を示すフロー図であ
り、この図に沿って階層情報23を用いて距離情報24
を設定する動作について説明する。また、具体例とし
て、図5中のディスク#D1とディスク#D3との間の
距離情報24を設定する場合についても併せて説明す
る。
Next, the operation will be described. FIG. 8 is a flow chart showing the operation of the data storage device according to the first embodiment. Along with this flow chart, the distance information 24 is obtained by using the hierarchy information 23.
The operation of setting will be described. Further, as a specific example, a case of setting the distance information 24 between the disc # D1 and the disc # D3 in FIG. 5 will also be described.

【0060】先ず、ノードマシン管理部9は、システム
全体の階層情報23を調べてシステムの最大の階層数を
取得する(ステップST1)。ここで、最大の階層数と
は、ルートまでの階層数が最も多いディスクのルートま
での階層数である。この値は、距離情報24の最大値と
して使用する。図5の例では、ディスク#D1〜#D8
からルートまでの階層数は、全て等しく4段である。
First, the node machine management unit 9 checks the hierarchy information 23 of the entire system and acquires the maximum number of layers of the system (step ST1). Here, the maximum number of layers is the number of layers up to the root of the disk having the largest number of layers up to the root. This value is used as the maximum value of the distance information 24. In the example of FIG. 5, disks # D1 to # D8
The number of layers from the root to the root is all four.

【0061】次に、ノードマシン管理部9は、全てのデ
ィスクの組み合わせに対して距離情報24の設定が完了
しているか否かを判定する(ステップST2)。このと
き、全てのディスクの組み合わせに対して設定が完了し
ていなければ、ノードマシン管理部9は、ディスク間の
距離情報24の設定が完了していない2つのディスクを
選択して、その距離情報24の値に最大値(階層の段
数)を設定する(ステップST3)。一方、全てのディ
スクの組み合わせに対して設定が完了していれば、ノー
ドマシン管理部9は処理を終了する。図5の例では、デ
ィスク#D1とディスク#D3との間の距離情報24の
設定が完了していないので、その値として最大の階層数
4が設定される。
Next, the node machine management unit 9 judges whether or not the setting of the distance information 24 has been completed for all combinations of disks (step ST2). At this time, if the setting is not completed for all the combinations of the disks, the node machine management unit 9 selects two disks for which the setting of the distance information 24 between the disks is not completed, and the distance information is selected. The maximum value (the number of layers in the hierarchy) is set to the value of 24 (step ST3). On the other hand, if the setting is completed for all the combinations of disks, the node machine management unit 9 ends the process. In the example of FIG. 5, since the setting of the distance information 24 between the disks # D1 and # D3 has not been completed, the maximum number of tiers 4 is set as the value.

【0062】ステップST3において距離情報24に最
大値(階層の段数)が設定した2つのディスクに対し
て、ノードマシン管理部9は、各ディスクからルートま
での階層情報23を調べる(ステップST4)。図5の
例では、ノードマシン管理部9によってディスク#D1
からルートまで、及び、ディスク#D3からルートまで
の階層情報が求められる。これにより、ディスク#D1
の階層情報として、ディスク#D1→ノードマシンフレ
ーム25−1→フロアフレーム25→ルートが求められ
る。また、ディスク#D3の階層情報として、ディスク
#D3→ノードマシンフレーム25−2→フロアフレー
ム25→ルートが求められる。
For the two disks for which the maximum value (the number of layers of the hierarchy) is set in the distance information 24 in step ST3, the node machine management section 9 checks the hierarchy information 23 from each disk to the root (step ST4). In the example of FIG. 5, the node machine management unit 9 causes the disk # D1 to
To root, and layer information from disk # D3 to root is obtained. This allows disk # D1
As the hierarchical information, the disk # D1 → node machine frame 25-1 → floor frame 25 → root is obtained. Further, as the layer information of the disk # D3, the disk # D3 → node machine frame 25-2 → floor frame 25 → route is obtained.

【0063】次に、ステップST4で調べた階層情報2
3を用いて、ノードマシン管理部9は、ルートからディ
スク方向へ階層情報23をたどりながら、選択した2つ
のディスクの各階層情報23が共通する部分を有するか
否かを判定する(ステップST5)。具体的に説明する
と、ノードマシン管理部9は、先ず、選択した2つのデ
ィスクの最上位階層の階層情報23を比較する。ここ
で、階層情報23が異なる場合は、2つのディスクの距
離情報24の設定を終了し、ステップST2の処理に戻
る。図5の例では、先ず、ディスク#D1,#D3の階
層情報23のうち、最上位の情報が比較される。
Next, the hierarchy information 2 checked in step ST4
3, the node machine management unit 9 traces the layer information 23 from the root toward the disk, and determines whether or not each layer information 23 of the two selected disks has a common part (step ST5). . More specifically, the node machine management unit 9 first compares the layer information 23 of the highest layer of the two selected disks. Here, when the layer information 23 is different, the setting of the distance information 24 of the two discs is ended, and the process returns to step ST2. In the example of FIG. 5, first, the highest level information among the layer information 23 of the disks # D1 and # D3 is compared.

【0064】一方、階層情報23が等しい場合には、ノ
ードマシン管理部9は、2つのディスクの距離情報24
の値を1減少させる(ステップST6)。図5の例で
は、階層情報23のうち、最上位の情報がディスク#D
1,#D3どちらもルートで等しいと判定される。これ
により、これらの距離情報24の値が4から1減じられ
て3となる。
On the other hand, when the tier information 23 is the same, the node machine management section 9 determines the distance information 24 of the two disks.
Is decreased by 1 (step ST6). In the example of FIG. 5, the highest information among the layer information 23 is the disk #D.
It is determined that both 1 and # D3 are equal in the route. As a result, the value of the distance information 24 is subtracted from 4 by 1 to become 3.

【0065】続いて、ノードマシン管理部9は、ルート
からディスク方向へ階層情報23をたどりながら、当該
2つのディスクの各階層情報23をさらに取得し(ステ
ップST7)、ステップST5の処理に戻って各階層情
報23が共通する部分を有するか否かを判定する。図5
の例では、ディスク#D1,#D3の階層情報23を1
つディスク方向へたどり、再度比較すると、これらはフ
ロアフレーム25に属する部分で共通する。このため、
ディスク#D1,#D3の距離情報24の値は2とな
る。
Subsequently, the node machine management unit 9 further acquires each layer information 23 of the two disks while tracing the layer information 23 from the root toward the disk (step ST7), and returns to the processing of step ST5. It is determined whether or not each layer information 23 has a common part. Figure 5
In the above example, the layer information 23 of the disks # D1 and # D3 is 1
When they are traced in the disc direction and compared again, these are common to the portions belonging to the floor frame 25. For this reason,
The value of the distance information 24 of the disks # D1 and # D3 is 2.

【0066】さらに、ノードマシン管理部9は、上述し
た操作を2つのディスクの階層情報23における共通部
分がなくなるまで、階層情報23をディスク方向へ下げ
る手順を繰り返し、2つのディスク間の距離情報24を
設定する。図5の例では、階層情報を1つディスク方向
へたどり、再比較を行うと、ディスク#D1,#D3の
階層情報23は、ノードマシン25−1,25−2で異
なる。これにより、ディスク#D1とディスク#D3と
の間の距離情報24の値は、2が設定される。
Further, the node machine management unit 9 repeats the above-mentioned operation until the common part in the hierarchy information 23 of the two disks disappears, and repeats the procedure of lowering the hierarchy information 23 in the disk direction. To set. In the example of FIG. 5, if one layer information is traced in the disk direction and recomparison is performed, the layer information 23 of the disks # D1 and # D3 differs between the node machines 25-1 and 25-2. As a result, the value of the distance information 24 between the disc # D1 and the disc # D3 is set to 2.

【0067】以上の操作を全てのディスク同士に適用す
ることによって、階層情報23を元にして距離情報24
を設定することができる。
By applying the above operation to all the disks, the distance information 24 is obtained based on the layer information 23.
Can be set.

【0068】また、図6に示すディスク#D5,#D6
のように、複数のフレームにまたがって存在するディス
クの距離情報24を設定する場合を考える。この場合、
図8のステップST4でディスク#D5,#D6からル
ートまでの階層情報23を求める際に全ての組み合わせ
の階層情報23を求める。つまり、図6に示すディスク
#D5からルートまでの階層情報23は、ディスク#D
5→ノードマシンフレーム26−1→フロアフレーム2
5→ルートと、ディスク#D5→ノードマシンフレーム
26−1→フロアフレーム26→ルートの2つの組み合
わせからなる。
Further, the disks # D5 and # D6 shown in FIG.
Consider the case where the distance information 24 of the disk existing over a plurality of frames is set as described above. in this case,
In step ST4 of FIG. 8, when obtaining the layer information 23 from the disks # D5, # D6 to the root, the layer information 23 of all combinations is obtained. That is, the layer information 23 from the disk # D5 to the root shown in FIG.
5 → node machine frame 26-1 → floor frame 2
5 → root and disk # D5 → node machine frame 26-1 → floor frame 26 → root.

【0069】ここで、ディスク#D5と他のディスクと
の距離情報24を設定する時は、ディスク#D5からル
ートまでの上記2種類の階層情報を使用して、距離情報
24の値が大きくなる方を使用する。例えば、ディスク
#D1とディスク#D5との間の距離情報24を求める
場合、ディスク#D5の階層情報23としてフロアフレ
ーム25を経由する方を用いると、距離情報24の値は
2となる。一方、フロアフレーム26を経由する方を用
いると、距離情報24の値は3となる。このため、ディ
スク#D1とディスク#D5との間の距離情報24の値
は3に設定される。
Here, when setting the distance information 24 between the disk # D5 and another disk, the value of the distance information 24 is increased by using the above-mentioned two types of hierarchical information from the disk # D5 to the root. Use one. For example, when the distance information 24 between the disc # D1 and the disc # D5 is obtained, the value of the distance information 24 becomes 2 when the layer information 23 of the disc # D5 that passes through the floor frame 25 is used. On the other hand, if the one passing through the floor frame 26 is used, the value of the distance information 24 becomes 3. Therefore, the value of the distance information 24 between the disc # D1 and the disc # D5 is set to 3.

【0070】次に、距離情報24を設定する他の方法に
ついて説明する。ここでは、階層情報23を用いずに、
ディスクの故障率を元にして稼働率を算出し、これを距
離情報24として設定する方法を説明する。図9は実施
の形態1によるデータ格納装置の構成とディスクの階層
関係における故障率とを示す図である。図において、3
0−1,30−2はノードマシンであって、ルータ31
−1を経由してホストマシン32に接続されており、ノ
ードマシン30−3,30−4がルータ31−2を経由
してホストマシン32に接続されている。ここで、ホス
トマシン32は、図1中のホストマシン1と同一構成を
有するものとする。また、ディスク#D1,#D2はノ
ードマシン30−1に接続している。B1はディスク#
D1とノードマシン30−1との間の故障率を示してお
り、B2はディスク#D2とノードマシン30−1との
間の故障率を示している。同様に、ディスク#D3〜#
D8に対しても接続しているノードマシンとの間の故障
率B3〜B8が設定される。
Next, another method of setting the distance information 24 will be described. Here, without using the hierarchy information 23,
A method of calculating the operating rate based on the disk failure rate and setting it as the distance information 24 will be described. FIG. 9 is a diagram showing the configuration of the data storage device according to the first embodiment and the failure rate in the hierarchical relationship of the disks. In the figure, 3
0-1 and 30-2 are node machines, which are routers 31
-1 is connected to the host machine 32, and the node machines 30-3 and 30-4 are connected to the host machine 32 via the router 31-2. Here, the host machine 32 is assumed to have the same configuration as the host machine 1 in FIG. The disks # D1 and # D2 are connected to the node machine 30-1. B1 is disk #
The failure rate between D1 and the node machine 30-1 is shown, and B2 shows the failure rate between the disk # D2 and the node machine 30-1. Similarly, disks # D3 to #
The failure rates B3 to B8 with the node machine connected to D8 are also set.

【0071】また、B9はノードマシン30−1とルー
タ31−1との間の故障率である。同様にしてノードマ
シン30−2,30−3,30−4に対しても接続され
ているルータとの間の故障率B9〜B12が設定され
る。さらに、B13はルータ31−1とホストマシン3
2との間の故障率であり、B14はルータ31−2とホ
ストマシン32との間の故障率である。
B9 is the failure rate between the node machine 30-1 and the router 31-1. Similarly, failure rates B9 to B12 with the routers connected to the node machines 30-2, 30-3, and 30-4 are also set. Further, B13 is a router 31-1 and a host machine 3
2 is the failure rate, and B14 is the failure rate between the router 31-2 and the host machine 32.

【0072】ノードマシン管理部9は、ホストマシン3
2から2つのディスクのどちらかへのアクセス経路が稼
動している状態を稼動状態として稼働率を算出し、当該
稼働率を2つのディスクの距離情報24として設定す
る。ここで、稼働率は、稼働率=(1−故障率)で規定
される。従って、ディスク#D1とノードマシン30−
1との間の稼働率は、(1−B1)となる。また、ルー
タ31−1からディスク#D1のように経路が1つしか
ない場合の稼働率は、(1−B1)(1−B9)とな
る。さらに、ディスク#D1,#D2が同時に故障する
確率はB1*B2となる。このため、ノードマシン30
−1からディスク#D1,#D2のどちらかへのアクセ
ス経路が稼動している状態の稼働率は、(1−B1*B
2)となる。
The node machine management unit 9 uses the host machine 3
The operating rate is calculated assuming that the access path from 2 to either of the two disks is operating, and the operating rate is set as the distance information 24 of the two disks. Here, the operating rate is defined by operating rate = (1−failure rate). Therefore, the disk # D1 and the node machine 30-
The operating rate between 1 and 1 is (1-B1). Further, the operation rate when there is only one route from the router 31-1 to the disk # D1 is (1-B1) (1-B9). Further, the probability that the disks # D1 and # D2 will simultaneously fail is B1 * B2. Therefore, the node machine 30
The operating rate when the access path from -1 to either of the disks # D1 and # D2 is operating is (1-B1 * B
2).

【0073】次に図9に示すディスク#D1,#D5の
距離情報24を設定する場合について説明する。このと
き、ホストマシン32からディスク#D1まで稼働率
は、(1−B1)(1−B9)(1−B13)となる。
一方、ホストマシン32からディスク#D5までの稼働
率は、(1−B5)(1−B11)(1−B14)とな
る。
Next, a case where the distance information 24 of the disks # D1 and # D5 shown in FIG. 9 is set will be described. At this time, the operating rates from the host machine 32 to the disk # D1 are (1-B1) (1-B9) (1-B13).
On the other hand, the operating rates from the host machine 32 to the disk # D5 are (1-B5) (1-B11) (1-B14).

【0074】ここで、ホストマシン32からディスク#
D1,#D5のどちらかへのアクセス経路が確立してい
る状態の稼働率を算出すると、{1−{1−(1−B
1)(1−B9)(1−B13)}{1−(1−B5)
(1−B11)(1−B14)}}となる。この値がデ
ィスク#D1と#D5の距離情報24として設定され
る。
Here, from the host machine 32, the disk #
If the operation rate in the state where the access route to either D1 or # D5 is established is calculated, {1- {1- (1-B
1) (1-B9) (1-B13)} {1- (1-B5)
(1-B11) (1-B14)}}. This value is set as the distance information 24 between the disks # D1 and # D5.

【0075】また、次の例として、ディスク#D1,#
D3の距離情報24を設定する場合について説明する。
このとき、ディスク#D1とディスク#D3とでは、ル
ータ31−1まで異なる経路をとり、ルータ31−1か
らホストマシン32までは共通の経路をとる。この例で
は、先ず、ルータ31−1から見て、ディスク#D1,
#D3のどちらかへのアクセス経路が確立している状態
の稼働率を算出する。図9を参照すると、この稼働率
は、{1−{1−(1−B1)(1−B9)}{1−
(1−B3)(1−B10)}}となる。
Further, as the next example, the disks # D1, #
A case of setting the distance information 24 of D3 will be described.
At this time, the disks # D1 and # D3 take different routes to the router 31-1, and a common route from the router 31-1 to the host machine 32. In this example, first, as viewed from the router 31-1, the disk # D1,
The operation rate in the state where the access route to either # D3 is established is calculated. Referring to FIG. 9, this operating rate is {1- {1- (1-B1) (1-B9)} {1-
(1-B3) (1-B10)}}.

【0076】この値とルータ31−1からホストマシン
32までの稼働率を用いて、ホストマシン32からディ
スク#D1,#D3のどちらかへのアクセス経路が確立
している状態の稼働率を求めると、{1−{1−(1−
B1)(1−B9)}{1−(1−B3)(1−B1
0)}}(1−B13)となる。この値がディスク#D
1,#D3の距離情報24として設定される。
Using this value and the operating rate from the router 31-1 to the host machine 32, the operating rate in the state where the access path from the host machine 32 to either of the disks # D1 and # D3 is established is obtained. And {1- {1- (1-
B1) (1-B9)} {1- (1-B3) (1-B1
0)}} (1-B13). This value is disk #D
It is set as the distance information 24 of 1 and # D3.

【0077】同様に全てのディスク同士の故障率を求め
ることによって、距離情報24を設定することができ
る。
Similarly, the distance information 24 can be set by obtaining the failure rates of all the disks.

【0078】また、図10は実施の形態1によるデータ
格納装置の他の構成とディスクの階層関係における故障
率とを示す図である。図10に示すように、システムに
よっては、ディスクからホストマシンまで、複数の経路
を持つ場合もある。ここで、図10は、図9に示す構成
にノードマシン30−3とルータ31−1との経路が追
加され、故障率はB15である。また、ノードマシン3
0−2とルータ31−2との経路も追加され、故障率B
16である。このような場合でもホストマシン32から
2つのディスクへの稼働率を算出し、当該稼働率を2つ
のディスクの距離情報24として設定することができ
る。
FIG. 10 is a diagram showing another configuration of the data storage device according to the first embodiment and the failure rate in the hierarchical relationship of the disks. As shown in FIG. 10, some systems may have a plurality of paths from the disk to the host machine. Here, in FIG. 10, the route between the node machine 30-3 and the router 31-1 is added to the configuration shown in FIG. 9, and the failure rate is B15. Also, the node machine 3
The route between 0-2 and router 31-2 is also added, and the failure rate B
Sixteen. Even in such a case, the operating rate from the host machine 32 to the two disks can be calculated, and the operating rate can be set as the distance information 24 of the two disks.

【0079】次に初期設定時の冗長グループの作成につ
いて説明する。ここで、冗長グループとは、同一のデー
タが格納されるディスクの集合であり、同時にアクセス
不能となりにくいディスク同士を組み合わせたものであ
る。先ず、冗長グループを作成する一例として、距離情
報24を元にしてディスクを組み合わせる方法について
説明する。
Next, the creation of a redundant group at the time of initial setting will be described. Here, the redundant group is a set of disks in which the same data is stored, and is a combination of disks that are unlikely to be inaccessible at the same time. First, as an example of creating a redundant group, a method of combining disks based on the distance information 24 will be described.

【0080】この場合、ノードマシン管理部9は、各冗
長グループ内のディスク数をデータの多重度によって決
定する。つまり、M(M;2以上の整数)多重のデータ
冗長構成をとるシステムでは、M個のディスクを1つの
冗長グループとして組み合わせる。
In this case, the node machine management unit 9 determines the number of disks in each redundancy group according to the data multiplicity. That is, in a system having an M (M; integer of 2 or more) multiplex data redundancy configuration, M disks are combined as one redundancy group.

【0081】具体的に説明すると、ノードマシン管理部
9は、ある1つの冗長グループの組み合わせを作成した
時に、当該冗長グループ内でディスク間の距離情報24
が最大となる値を求める。この値を任意に組み合わせた
各冗長グループ内においても求めて、この中で距離情報
24が最小となる値を求める。そして、ノードマシン管
理部9は、全ての冗長グループの組み合わせに対して上
記距離情報24が最小となる値を求め、これらのうち最
も大きい値を有する冗長グループの組み合わせを選択す
る。
More specifically, when the node machine management unit 9 creates a certain redundant group combination, the distance information 24 between the disks in the redundant group is created.
Find the maximum value of. This value is also obtained in each redundancy group that is arbitrarily combined, and the value that minimizes the distance information 24 is obtained. Then, the node machine management unit 9 obtains a value that minimizes the distance information 24 for all combinations of redundant groups, and selects a combination of redundant groups having the largest value among these.

【0082】例えば、図5に示す構成で、多重度2の冗
長グループの組み合わせを作成する場合を考える。この
場合、ノードマシン管理部9が{#D1,#D5},
{#D2,#D6},{#D3,#D7},{#D4,
#D8}のような冗長グループの組み合わせを選択する
と、各冗長グループ内で距離情報24の最大値が3とな
る。このため、その中での最小値も3となる。図5に示
す構造を有するシステムでは、この最小値が全ての冗長
グループの組み合わせの中で最大の値となる。従って、
このシステムの多重度2における冗長グループの組み合
わせとして上記組み合わせが選択される。
For example, consider a case where a combination of redundancy groups with a multiplicity of 2 is created with the configuration shown in FIG. In this case, the node machine management unit 9 sends {# D1, # D5},
{# D2, # D6}, {# D3, # D7}, {# D4
When a combination of redundant groups such as # D8} is selected, the maximum value of the distance information 24 is 3 in each redundant group. Therefore, the minimum value among them is 3. In the system having the structure shown in FIG. 5, this minimum value is the maximum value among all the combinations of redundancy groups. Therefore,
The above combination is selected as the combination of the redundancy groups in the multiplicity 2 of this system.

【0083】同様に、各冗長グループ内のディスクの数
をMに増やすことで、M多重の冗長構成を構築すること
ができる。
Similarly, by increasing the number of disks in each redundancy group to M, it is possible to construct an M multiplex redundant configuration.

【0084】また、全ての冗長グループ内に、距離情報
24がN以上のディスクの組み合わせを1つ以上持たせ
ることにより、N−1階層以下で障害が発生した場合に
も動作するシステムを構築することができる。
Further, by providing at least one combination of disks having the distance information 24 of N or more in all the redundancy groups, a system which operates even when a failure occurs in the N-1 or lower hierarchy is constructed. be able to.

【0085】さらに、冗長グループごとにデータの多重
度を変更してもよい。つまり、ある冗長グループのデー
タの多重度はM多重であり、他の冗長グループのデータ
の多重度はN多重などという冗長構成も可能である。
Furthermore, the data multiplicity may be changed for each redundancy group. That is, it is possible to have a redundant configuration in which the data multiplicity of a certain redundancy group is M-multiplexing and the data multiplicity of another redundancy group is N-multiplexing.

【0086】なお、上記では、冗長グループを作成する
時に階層情報23から求めた距離情報24を使用する例
を示したが、各ディスク間の物理的な距離を基にして求
められるディスク間の距離を使用して冗長グループの組
み合わせを求めるようにしてもよい。
In the above, the example in which the distance information 24 obtained from the hierarchy information 23 is used when creating the redundant group has been shown. However, the distance between the disks obtained based on the physical distance between the disks. May be used to find the combination of redundancy groups.

【0087】ここで、物理的な距離を基に求められるデ
ィスク間の距離を使用して、冗長グループを作成する手
順について説明する。ノードマシン管理部9は、ある1
つの冗長グループの組み合わせを作成すると、当該冗長
グループ内でディスク間の物理的な距離が最大となる値
を求める。この値を任意に組み合わせた各冗長グループ
内においても求めて、この中で最小となる値を求める。
そして、ノードマシン管理部9は、全ての冗長グループ
の組み合わせに対して、この最小となる値を求め、これ
らのうち最も大きい値を有する冗長グループの組み合わ
せを選択する。
Here, a procedure for creating a redundancy group using the distance between disks obtained based on the physical distance will be described. The node machine management unit 9 has 1
When a combination of two redundancy groups is created, a value that maximizes the physical distance between the disks in the redundancy group is calculated. This value is also obtained in each redundant group that is arbitrarily combined, and the minimum value is obtained.
Then, the node machine management unit 9 obtains this minimum value for all combinations of redundancy groups, and selects the combination of redundancy groups having the largest value among these.

【0088】図11は同一フロアに設置されたディスク
の物理的な位置関係を示す図である。例えば、ディスク
#D1とディスク#D2はフロア内で近い位置に設置さ
れたディスクであり、ディスク#D3とディスク#D7
はフロア内で遠い位置に配置されたディスクであること
を示している。ノードマシン管理部9は、例えば図11
に示されるような平面上に配置されたディスク集合に対
して、ディスク間の物理的な位置情報を基にして求めた
ディスク間の距離を使用し、冗長グループを作成する。
FIG. 11 is a diagram showing the physical positional relationship of the disks installed on the same floor. For example, the disc # D1 and the disc # D2 are discs installed at positions close to each other on the floor, and the disc # D3 and the disc # D7.
Indicates that the disk is located far away on the floor. The node machine management unit 9 is, for example, as shown in FIG.
For a set of disks arranged on a plane as shown in (3), a redundancy group is created by using the distance between the disks obtained based on the physical position information between the disks.

【0089】図11に示す条件で、多重2の冗長グルー
プを作成する場合を考える。この場合、ノードマシン管
理部9が{#D1,#D8},{#D2,#D7},
{#D3,#D5},{#D4,#D6}のような冗長
グループの組み合わせを選択すると、各冗長グループ内
で距離の最大値を求める。次に、ノードマシン管理部9
は、その中での最小値を求めると、ディスク#D4とデ
ィスク#D6の距離の値となる。この値は、全冗長グル
ープの組み合わせに対して求めた中においても、最大の
値となる。このため、作成された冗長グループの組み合
わせが、図11に示す構成を有するシステムの多重度2
における冗長グループとして選択されることとなる。
Consider a case where a redundant group of multiplex 2 is created under the conditions shown in FIG. In this case, the node machine management unit 9 causes the {# D1, # D8}, {# D2, # D7},
When a combination of redundant groups such as {# D3, # D5}, {# D4, # D6} is selected, the maximum distance value is obtained in each redundant group. Next, the node machine management unit 9
Is the value of the distance between the disks # D4 and # D6 when the minimum value among them is calculated. This value is the maximum value among the values obtained for the combination of all redundancy groups. For this reason, the created redundancy group combination has a multiplicity of 2 in the system having the configuration shown in FIG.
Will be selected as a redundancy group in.

【0090】同様に、各冗長グループ内のディスク数を
Mに増やすことで、M多重のデータ冗長構成を構築する
こともできる。
Similarly, by increasing the number of disks in each redundancy group to M, it is possible to construct an M-multiplexed data redundancy configuration.

【0091】また、図11の例において、冗長グループ
ごとにデータの多重度を変更することも可能である。つ
まり、ある冗長グループのデータの多重度はM多重であ
り、他の冗長グループのデータの多重度はN多重などと
いう冗長構成も可能である。
Further, in the example of FIG. 11, it is possible to change the data multiplicity for each redundancy group. That is, it is possible to have a redundant configuration in which the data multiplicity of a certain redundancy group is M-multiplexing and the data multiplicity of another redundancy group is N-multiplexing.

【0092】次に実施の形態1によるデータ格納装置の
各ディスクへのデータ書き込み動作について説明する。
図12は実施の形態1によるデータ格納装置のデータ書
き込み動作を示すフロー図であり、この図に沿って書き
込み動作の一例を説明する。中央演算処理装置10から
のデータ書き込み命令は、上位アプリケーションよりフ
ァイルブロック管理部7に対して発行される(ステップ
ST1a)。これにより、ファイルブロック管理部7
は、ノードマシン管理部9に問い合わせて、冗長グルー
プ番号22cを取得する(ステップST2a)。
Next, the data writing operation to each disk of the data storage device according to the first embodiment will be described.
FIG. 12 is a flowchart showing the data write operation of the data storage device according to the first embodiment, and an example of the write operation will be described with reference to this figure. A data write command from the central processing unit 10 is issued from the upper application to the file block management unit 7 (step ST1a). As a result, the file block management unit 7
Inquires of the node machine management unit 9 to acquire the redundancy group number 22c (step ST2a).

【0093】次に、ファイルブロック管理部7は、書き
込みデータをブロック単位に分割する(ステップST3
a)。続いて、ファイルブロック管理部7は、冗長グル
ープに全てのデータブロックの書き込みが完了したか否
かを判定する(ステップST4a)。このとき、全ての
データブロックの書き込みが完了していれば、データ書
き込み動作を終了する。一方、全てのデータブロックの
書き込みが完了していない場合は、ステップST5aの
処理に移行する。
Next, the file block management section 7 divides the write data into blocks (step ST3).
a). Subsequently, the file block management unit 7 determines whether or not writing of all data blocks in the redundancy group has been completed (step ST4a). At this time, if the writing of all the data blocks is completed, the data writing operation is ended. On the other hand, if writing of all data blocks has not been completed, the process proceeds to step ST5a.

【0094】ステップST5aにおいて、ファイルブロ
ック管理部7は、冗長グループ番号22cを参照して、
冗長グループにブロックが均等に配置されるように、書
き込む冗長グループを選択する。このあと、ファイルブ
ロック管理部7は、同一の冗長グループ内のディスクに
対して、ディスクの先頭から順次、同一のブロックを書
き込み、全てのブロックに対して実行する(ステップS
T6a)。
In step ST5a, the file block management section 7 refers to the redundancy group number 22c,
The redundancy group to be written is selected so that the blocks are evenly arranged in the redundancy group. After that, the file block management unit 7 sequentially writes the same block to the disks in the same redundancy group from the head of the disk and executes the same for all the blocks (step S
T6a).

【0095】ここで、ノードマシン3−1〜3−nへの
実際のデータ書き込み処理は、ファイルブロック管理部
7が通信制御部8、オペレーティングシステム5、ネッ
トワーク2、オペレーティングシステム17、通信制御
部18を介して、ディスクアクセス制御部19にディス
クへの書き込み命令を発行することで実行される。
Here, in the actual data writing process to the node machines 3-1 to 3-n, the file block management unit 7 uses the communication control unit 8, the operating system 5, the network 2, the operating system 17, and the communication control unit 18. It is executed by issuing a disk write command to the disk access control unit 19 via the.

【0096】図13は図12に示す書き込みフローで各
ディスクに書き込まれたブロックの格納図を示す図であ
る。図において、符号33−1,33−2,33−3,
33−4を付した枠で囲まれたディスクは同一の冗長グ
ループを表している。図13に示すように、各冗長グル
ープ内のディスクには、均等なデータ量でデータが格納
されている。
FIG. 13 is a diagram showing a storage diagram of blocks written in each disk in the write flow shown in FIG. In the figure, reference numerals 33-1, 33-2, 33-3,
Disks surrounded by a frame 33-4 represent the same redundancy group. As shown in FIG. 13, data is stored in the disks in each redundancy group in an equal amount of data.

【0097】また、図13ではデータの多重度が2であ
る例を示したが、冗長グループのディスクの数をMにす
ることで、M多重の冗長構成を構築することもできる。
Further, although FIG. 13 shows an example in which the data multiplicity is 2, by setting the number of disks in the redundant group to M, it is possible to construct an M-multiplexed redundant configuration.

【0098】なお、データブロックを書き込むグループ
の決定法としては、ハッシュ分散を用いてもよく、ラウ
ンドロビンに行われてもよい。
Note that hash distribution may be used as the method of determining the group in which the data block is written, or round robin may be used.

【0099】次に、各ディスクのリードブロック番号7
a−2を設定する動作について説明する。図14は図3
中のファイルブロック管理テーブルの内部構成を示す図
である。図において、7a−1は各ディスクを特定する
ディスク番号である。7a−2はリードブロック番号で
あって、データ転送時に各ディスクから転送するファイ
ルブロックであるリードブロックを特定する。
Next, read block number 7 of each disk
The operation of setting a-2 will be described. FIG. 14 shows FIG.
It is a figure which shows the internal structure of the file block management table inside. In the figure, 7a-1 is a disc number for identifying each disc. 7a-2 is a read block number, which identifies a read block which is a file block transferred from each disk at the time of data transfer.

【0100】ファイルブロック管理部7は、データ書き
込み時にファイルブロック管理テーブル7aの更新を行
う。ここで、ファイルブロック管理部7は、データ転送
時に各ディスクから転送するファイルブロックをリード
ブロックとして予め決定しておき、これを特定する情報
をファイルブロック管理テーブル7aにリードブロック
番号7a−2として保持する。
The file block management unit 7 updates the file block management table 7a when writing data. Here, the file block management unit 7 predetermines a file block to be transferred from each disk as a read block at the time of data transfer, and holds information identifying this as a read block number 7a-2 in the file block management table 7a. To do.

【0101】図15は実施の形態1のデータ格納装置に
よるデータ書き込み時に設定するリードブロック番号を
示す図である。図15に示すように、ファイルブロック
管理部7は、冗長グループ33−1,33−2,33−
3,33−4からブロックの転送を行うにあたり、同一
の冗長グループ33−1,33−2,33−3,33−
4に属する各ディスクにおいて重複したブロックにアク
セスしないように、リードブロック番号7a−2を決定
する。例えば、冗長グループ33−1に属するディスク
#D1に対して、ファイルブロック管理部7は、符号3
4−1を付した枠で囲まれたデータブロックを特定する
情報をリードブロック番号7a−2として設定する。こ
のとき、ディスク#D5に対してはディスク#D1と重
複しない、符号34−2を付した枠で囲まれたデータブ
ロックを特定する情報が、リードブロック番号7a−2
として指定される。以下、他の冗長グループ33−2〜
33−4についても同様である。
FIG. 15 is a diagram showing a read block number set at the time of writing data by the data storage device of the first embodiment. As shown in FIG. 15, the file block management unit 7 includes redundancy groups 33-1, 33-2, 33-.
The same redundant groups 33-1, 33-2, 33-3, 33- are used to transfer blocks from 3, 33-4.
The read block number 7a-2 is determined so that duplicated blocks are not accessed in each disk belonging to No. 4. For example, for the disk # D1 belonging to the redundancy group 33-1, the file block management unit 7 sets the code 3
Information for identifying a data block surrounded by a frame with 4-1 is set as a read block number 7a-2. At this time, for the disk # D5, the information specifying the data block enclosed by the frame with the reference numeral 34-2, which does not overlap with the disk # D1, is the read block number 7a-2.
Is specified as. Hereinafter, other redundant groups 33-2 to
The same applies to 33-4.

【0102】また、M多重構成を持つ冗長グループに対
しては、冗長グループ内のあるディスクの全ブロック数
をNとすると、各ディスクはN/M個の連続したブロッ
クをリードブロックとして設定する。
For a redundant group having an M multiplex structure, assuming that the total number of blocks of a disk in the redundant group is N, each disk sets N / M consecutive blocks as a read block.

【0103】次にデータ転送時の動作について説明す
る。図16は実施の形態1によるデータ格納装置のデー
タ転送動作を示すフロー図である。先ず、上位アプリケ
ーションよりデータ転送制御部6にデータの転送命令を
発行する(ステップST1b)。これにより、データ転
送制御部6は、転送データ情報をファイルブロック管理
部7へ渡す。
Next, the operation during data transfer will be described. FIG. 16 is a flowchart showing the data transfer operation of the data storage device according to the first embodiment. First, the upper application issues a data transfer instruction to the data transfer control unit 6 (step ST1b). As a result, the data transfer control unit 6 passes the transfer data information to the file block management unit 7.

【0104】ファイルブロック管理部7では、ファイル
ブロック管理テーブル7aを参照して、転送ブロックが
リードブロック番号7a−2となっているディスクを探
索する(ステップST2b)。このあと、ファイルブロ
ック管理部7は、該当するディスクのディスク番号7a
−1及びリードブロック番号7a−2をデータ転送制御
部6に返信する。
The file block management section 7 refers to the file block management table 7a to search for a disk whose transfer block is the read block number 7a-2 (step ST2b). After that, the file block management unit 7 determines the disk number 7a of the corresponding disk.
-1 and the read block number 7a-2 are returned to the data transfer control unit 6.

【0105】次に、データ転送制御部6は、ファイルブ
ロック管理部7から返信されたディスク番号7a−1及
びリードブロック番号7a−2を元にして、ディスクア
クセス制御部19にブロック転送命令を発行する(ステ
ップST3b)。
Next, the data transfer control unit 6 issues a block transfer instruction to the disk access control unit 19 based on the disk number 7a-1 and the read block number 7a-2 returned from the file block management unit 7. Yes (step ST3b).

【0106】ここで、実施の形態1のデータ格納装置に
よるディスク故障時の動作を説明する。ディスクの故障
が検出されると、故障したディスクのディスク番号がノ
ードマシン管理部9に渡される。続いて、ノードマシン
管理部9は、故障ディスクのディスク番号22a、及
び、故障ディスクが属する冗長グループ番号22cをフ
ァイルブロック管理部7に送出する。これによって、フ
ァイルブロック管理部7は、ノードマシン管理部9から
受け取った冗長グループ番号22cを元にして、その冗
長グループに属するディスクのリードブロック番号7a
−2を書き換える。
The operation of the data storage device according to the first embodiment when a disk fails will be described. When a disk failure is detected, the disk number of the failed disk is passed to the node machine management unit 9. Subsequently, the node machine management unit 9 sends the disk number 22a of the failed disk and the redundancy group number 22c to which the failed disk belongs to the file block management unit 7. As a result, the file block management unit 7 uses the redundancy group number 22c received from the node machine management unit 9 as a basis, and reads block numbers 7a of the disks belonging to the redundancy group.
Rewrite -2.

【0107】以下に、ファイルブロック管理部7による
リードブロック番号の書き換え動作について詳細に説明
する。図17は実施の形態1のデータ格納装置によって
ディスク故障時に設定したリードブロック番号を示す図
である。図17の例では、ディスク#D7、#D8が故
障したことを表している。先ず、ファイルブロック管理
部7は、ディスク#D7が故障したため、ディスク#D
7と同一の冗長グループに属するディスク#D2とにお
けるリードブロック番号7a−2の書き換えを行う。こ
の書き換えを行うにあたり、ファイルブロック管理部7
は、冗長グループ内で動作可能なディスクに負荷が均等
にかかるようにリードブロック番号7a−2を設定す
る。つまり、冗長グループ33−2では、動作可能なデ
ィスクがディスク#D2の1台である。このため、ディ
スク#D2では、冗長グループの全データがリードブロ
ック番号7a−2として設定される。次に、ディスク#
D7は動作不可能なディスクであるため、リードブロッ
ク番号7a−2の設定を空にする。同様に、冗長グルー
プ33−3に属するディスク#D3,#D8に対して、
リードブロック番号7a−2の書き換えを行う。
The rewriting operation of the read block number by the file block management unit 7 will be described in detail below. FIG. 17 is a diagram showing the read block numbers set by the data storage device according to the first embodiment when a disk fails. The example of FIG. 17 indicates that the disks # D7 and # D8 have failed. First, since the disk # D7 has failed, the file block management unit 7
The read block number 7a-2 in the disk # D2 belonging to the same redundant group as 7 is rewritten. In performing this rewriting, the file block management unit 7
Sets the read block number 7a-2 so that the load can be evenly applied to the disks operable in the redundancy group. That is, in the redundant group 33-2, the only operable disk is the disk # D2. Therefore, in the disk # D2, all data in the redundancy group is set as the read block number 7a-2. Then disk #
Since D7 is an inoperable disc, the read block number 7a-2 is set to empty. Similarly, for the disks # D3 and # D8 belonging to the redundancy group 33-3,
The read block number 7a-2 is rewritten.

【0108】次にディスク増設時における動作の一例を
説明する。ディスクの増設時には、ノードマシン管理部
9が増設ディスクの情報登録作業を行う。このとき、ノ
ードマシン管理部9は、ノードマシン管理テーブル9a
のディスク情報22に対して増設ディスクに関する設定
欄を追加し、ディスク番号22aの割り当てやノードマ
シン番号22bの設定を行う。さらに、増設ディスクを
いずれかの冗長グループに分類し、冗長グループ番号2
2cを設定する。続いて、ノードマシン管理部9は、増
設ディスクと他のディスクとの距離情報24を設定す
る。
Next, an example of operation at the time of adding disks will be described. At the time of adding a disk, the node machine management unit 9 performs information registration work of the added disk. At this time, the node machine management unit 9 uses the node machine management table 9a.
A setting field relating to the additional disk is added to the disk information 22 of No. 2, and the disk number 22a is allocated and the node machine number 22b is set. Furthermore, classify the additional disks into one of the redundancy groups, and set the redundancy group number 2
Set 2c. Subsequently, the node machine management unit 9 sets the distance information 24 between the additional disk and another disk.

【0109】増設ディスクの情報登録作業が完了する
と、ノードマシン管理部9は、増設ディスクの冗長グル
ープ番号22cをファイルブロック管理部9に渡す。フ
ァイルブロック管理部9では、追加ディスクが属する冗
長グループのディスク負荷が均等になるように、リード
ブロック番号7a−2の書き換えを行う。
When the information registration work for the additional disk is completed, the node machine management section 9 transfers the redundant group number 22c of the additional disk to the file block management section 9. The file block management unit 9 rewrites the read block number 7a-2 so that the disk load of the redundant group to which the additional disk belongs is equalized.

【0110】以上のように、この実施の形態1によれ
ば、データを同一データ量ごとの複数のデータブロック
に分割して、該データブロック単位で複数のディスク装
置に同一ブロック数ずつ分散配置させると共に、所定数
のディスク装置(冗長グループ)ごとに同一内容のデー
タブロックを重複して格納し、複数のディスク装置に分
散して格納されたデータを冗長グループごとに1又は複
数のデータブロック単位で読み出すので、各ディスク装
置のデータ量が均等になるようにデータが格納されると
共に、データ転送時の各ディスク装置からのデータ転送
量が均等になることから、システム全体のスループット
の低下を最小限に抑えることができる。また、各データ
ブロックを冗長グループごとにシーケンシャルに格納す
ることで、データ転送処理を行う際、冗長グループ内の
どのディスクからデータを転送するかを決定するにあた
り、特別な計算が不要であることから全てのデータをデ
ィスクの先頭から順次転送するような処理において高速
に動作させることができる。
As described above, according to the first embodiment, data is divided into a plurality of data blocks of the same data amount, and the same number of blocks are distributed and arranged in the plurality of disk devices in units of the data blocks. At the same time, data blocks of the same content are stored redundantly for each predetermined number of disk devices (redundancy groups), and the data stored by being distributed to a plurality of disk devices is stored in units of one or more data blocks for each redundancy group. Since it is read, the data is stored so that the data amount of each disk device becomes equal, and the data transfer amount from each disk device at the time of data transfer becomes equal, so that the decrease in the throughput of the entire system is minimized. Can be suppressed to Also, by storing each data block sequentially for each redundancy group, no special calculation is required when deciding from which disk in the redundancy group the data will be transferred when performing the data transfer process. It is possible to operate at high speed in the process of sequentially transferring all the data from the head of the disc.

【0111】また、この実施の形態1によれば、システ
ムの階層関係からディスク間の距離情報を定義し、当該
距離情報を元にして各ディスクをグループ化するので、
システムの特定階層における障害に対応することができ
る。
Further, according to the first embodiment, the distance information between the disks is defined from the hierarchical relation of the system, and the disks are grouped based on the distance information.
It is possible to cope with a failure in a specific hierarchy of the system.

【0112】さらに、この実施の形態1によれば、シス
テムの特定の部分を中心とした冗長構成を構築すること
ができる。
Furthermore, according to the first embodiment, it is possible to construct a redundant configuration centering on a specific part of the system.

【0113】さらに、この実施の形態1によれば、ディ
スクの冗長グループを作成し、冗長グループ単位でデー
タの多重度を設定するので、特定のディスク、特定の冗
長グループに対するデータの多重度の変更を適宜行うこ
とができる。
Further, according to the first embodiment, since the redundancy group of the disks is created and the data multiplicity is set in the redundancy group unit, the data multiplicity is changed for the specific disk and the specific redundancy group. Can be appropriately performed.

【0114】さらに、この実施の形態1によれば、冗長
グループ内にディスクを追加し、データの多重度を上げ
ることによって、システムの信頼性を向上させることが
できると共に、データ転送を高速化することができる。
Furthermore, according to the first embodiment, by adding a disk in the redundancy group and increasing the data multiplicity, the system reliability can be improved and the data transfer speed can be increased. be able to.

【0115】さらに、この実施の形態1によれば、並列
システムにおいて、データの転送性能の悪いディスクを
持つ冗長グループに新たなディスクを追加することによ
って、並列システム全体のスループットを向上させるこ
とができる。
Further, according to the first embodiment, in the parallel system, the throughput of the parallel system as a whole can be improved by adding a new disk to the redundant group having the disk having the poor data transfer performance. .

【0116】実施の形態2.この実施の形態2では、冗
長グループを作成する手順、及び、各冗長グループへデ
ータブロックを書き込む手順が上記実施の形態1と異な
る。例えば、データの多重度がMの時、1つのブロック
を書き込むディスク数はMであり、あるディスクの複製
ブロックを全て同一のM本のディスクが保持するのでは
なく、2*(M−1)本のディスクに分散して格納す
る。
Embodiment 2. The second embodiment differs from the first embodiment in the procedure of creating a redundant group and the procedure of writing a data block to each redundant group. For example, when the data multiplicity is M, the number of disks in which one block is written is M, and duplicated blocks of a certain disk are not all held by the same M disks, but 2 * (M-1). It is distributed and stored in the book disk.

【0117】この実施の形態2によるデータ格納装置の
基本的なハードウェア構成は、上記実施の形態1と同様
である。また、冗長グループも上記実施の形態1と同様
にして距離情報が大きいディスクの組み合わせて作成さ
れる。ここで、上記実施の形態1と異なる点としては、
ディスクごとに冗長グループが存在することにある。つ
まり、この実施の形態2では、N個のディスクが存在す
る場合、N個の冗長グループが存在することになる。な
お、冗長グループの構成において、オリジナルデータを
書き込むディスクを元ディスク、元ディスクの複製を書
き込むディスクを複製ディスクと呼ぶこととする。
The basic hardware configuration of the data storage device according to the second embodiment is the same as that of the first embodiment. Further, the redundant group is also created by combining disks having large distance information in the same manner as in the first embodiment. Here, the difference from the first embodiment is that
There is a redundancy group for each disk. That is, in the second embodiment, when N disks exist, N redundancy groups exist. In the configuration of the redundant group, the disk in which the original data is written is called the original disk, and the disk in which the copy of the original disk is written is called the duplicate disk.

【0118】次に動作について説明する。図18は実施
の形態2によるデータ格納装置の動作を示すフロー図で
あり、この図及び図5に示すディスクの階層関係の一例
を用いてデータの多重度2の冗長グループ作成動作を説
明する。先ず、ノードマシン管理部9は、全てのディス
クに対して冗長グループの割り当てが完了しているか否
かを判定する(ステップST1c)。このとき、全ての
ディスクに対する冗長グループの割り当てが完了してい
れば、処理を終了する。一方、全てのディスクに対する
冗長グループの割り当てが完了していなければ、ノード
マシン管理部9は、冗長グループの割り当てが完了して
いない任意のディスクを1つの元ディスクとして選択す
る(ステップST2c)。ここで、図5の例では、ディ
スク#D1が選択されたものとする。
Next, the operation will be described. FIG. 18 is a flow chart showing the operation of the data storage device according to the second embodiment, and the redundant group creating operation with the data multiplicity of 2 will be described using this example and the example of the hierarchical relationship of the disks shown in FIG. First, the node machine management unit 9 determines whether or not the allocation of redundant groups has been completed for all disks (step ST1c). At this time, if the allocation of the redundant group to all the disks has been completed, the processing ends. On the other hand, if the assignment of the redundant groups to all the disks has not been completed, the node machine management unit 9 selects an arbitrary disk for which the assignment of the redundant groups has not been completed as one original disk (step ST2c). Here, in the example of FIG. 5, it is assumed that the disk # D1 is selected.

【0119】次に、ノードマシン管理部9は、データの
多重度Mの場合、元ディスクと複製ディスクの数の和が
2*(M−1)+1個になるまで、元ディスクの冗長グ
ループを作成する。具体的には、ノードマシン管理部9
が元ディスクの冗長グループを作成するにあたり、複製
ディスク数が2*(M−1)個になっているか否かを常
に判定する(ステップST3c)。このとき、複製ディ
スクの数が2*(M−1)個になっていれば、ステップ
ST1cの処理に戻って上述した動作を繰り返す。一
方、複製ディスクの数が2*(M−1)個になっていな
ければ、ステップST4cの処理に移行する。図5の例
では、データの多重度が2であるため、ノードマシン管
理部9は、元ディスクと複製ディスクの和が3個になる
まで、ディスク#D1の冗長グループを作成する。
Next, in the case of the data multiplicity M, the node machine management unit 9 sets the redundant groups of the original disks until the sum of the numbers of the original disks and the duplicate disks becomes 2 * (M-1) +1. create. Specifically, the node machine management unit 9
Always creates a redundant group of original disks, and always determines whether the number of duplicate disks is 2 * (M-1) (step ST3c). At this time, if the number of duplicate disks is 2 * (M-1), the process returns to step ST1c and the above-described operation is repeated. On the other hand, if the number of duplicate disks is not 2 * (M-1), the process proceeds to step ST4c. In the example of FIG. 5, since the data multiplicity is 2, the node machine management unit 9 creates the redundant group of the disk # D1 until the sum of the original disk and the duplicate disk becomes three.

【0120】ステップST4cにおいて、ノードマシン
管理部9は、元ディスクと最も距離情報の大きいディス
クを選択する。図5の例では、ディスク#D1と最も距
離情報の大きいディスクはディスク#D5〜#D8とな
る。
At step ST4c, the node machine management section 9 selects the disk having the largest distance information from the original disk. In the example of FIG. 5, the disks having the largest distance information with the disk # D1 are the disks # D5 to # D8.

【0121】ここで、ノードマシン管理部9は、元ディ
スクと最も距離情報の大きいディスクとして選択された
ディスクが複数存在するか否かを判定する(ステップS
T5c)。このとき、選択されたディスクが1つであれ
ば、ノードマシン管理部9は、ステップST15cに進
んで当該ディスクを元ディスクの冗長グループとすると
共に、選択されたディスクの冗長グループにも元ディス
クを追加する。
Here, the node machine management unit 9 determines whether or not there are a plurality of disks selected as disks having the largest distance information from the original disk (step S).
T5c). At this time, if the number of selected disks is one, the node machine management unit 9 proceeds to step ST15c to set the disk as a redundant group of the original disk, and also sets the original disk in the redundant group of the selected disk. to add.

【0122】一方、選択されたディスクが複数存在する
場合、ノードマシン管理部9は、元ディスクの複製ディ
スクと最も距離情報の大きいディスクを再選択する(ス
テップST6c)。図5の例では、現在ディスク#D1
の複製ディスクが存在しないため、ステップST6cに
おいて再選択された後でも変わらず、ディスク#D5〜
#D8が選択される。
On the other hand, when there are a plurality of selected disks, the node machine management section 9 reselects the disk having the largest distance information from the duplicate disk of the original disk (step ST6c). In the example of FIG. 5, the current disk # D1
Since there is no duplicate disk, the disk remains unchanged after being reselected in step ST6c.
# D8 is selected.

【0123】続いて、ノードマシン管理部9は、ステッ
プST6cにて再度選択されたディスクが複数存在する
か否かを判定する(ステップST7c)。このとき、選
択されたディスクが1つであれば、ノードマシン管理部
9は、ステップST15cの処理に進む。一方、選択さ
れたディスクが複数存在する場合、ノードマシン管理部
9は、選択されたディスクの中で割り当てられている複
製ディスクが最も少ないディスクを選択する(ステップ
ST8c)。図5の例では、ディスク#D5〜#D8に
は複製ディスクが割り当てられていないため、いずれも
割り当てられた複製ディスクの数が0となり、再びディ
スク#D5〜#D8が選択される。
Subsequently, the node machine management section 9 determines whether or not there are a plurality of disks selected again in step ST6c (step ST7c). At this time, if the number of selected disks is one, the node machine management unit 9 proceeds to the process of step ST15c. On the other hand, when there are a plurality of selected disks, the node machine management unit 9 selects the disk with the smallest number of allocated duplicate disks among the selected disks (step ST8c). In the example of FIG. 5, since the duplicate disks are not assigned to the disks # D5 to # D8, the number of assigned duplicate disks is 0, and the disks # D5 to # D8 are selected again.

【0124】このあと、ノードマシン管理部9は、ステ
ップST8cにて選択されたディスクが複数存在するか
否かを判定する(ステップST9c)。このとき、選択
されたディスクが1つであれば、ノードマシン管理部9
は、ステップST15cの処理に進む。一方、選択され
たディスクが複数存在する場合、ノードマシン管理部9
は、選択されたディスクの上位階層で複製ディスクの割
り当てが最も少ない上位階層を選択し、その上位階層に
含まれるディスクを選択する(ステップST10c)。
図5の例では、ディスク#D5〜#D8の上位階層であ
るノードマシンフレーム26−1とノードマシンフレー
ム26−2に割り当てられた複製ディスクの数が比較さ
れる。
Thereafter, the node machine management section 9 determines whether or not there are a plurality of disks selected in step ST8c (step ST9c). At this time, if the number of selected disks is one, the node machine management unit 9
Advances to the process of step ST15c. On the other hand, when there are a plurality of selected disks, the node machine management unit 9
Selects the upper layer having the smallest allocation of duplicate disks in the upper layer of the selected disks, and selects the disks included in the upper layer (step ST10c).
In the example of FIG. 5, the number of duplicate disks allocated to the node machine frame 26-1 and the node machine frame 26-2, which are the upper layers of the disks # D5 to # D8, is compared.

【0125】ここで、ノードマシンフレーム26−1の
複製ディスクの数は、ディスク#D5,#D6に割り当
てられた複製ディスクの数となる。また、ノードマシン
フレーム26−2の複製ディスクの数は、ディスク#D
7,#D8に割り当てられた複製ディスクの数となる。
図5の例では、ディスク#D5〜#D8には複製ディス
クが割り当てられていない。このため、ノードマシンフ
レーム26−1,26−2に割り当てられた複製ディス
クの数は、いずれも0になる。従って、ステップST1
0cにおいても、ディスク#D5〜#D8が選択され
る。
Here, the number of duplicate disks of the node machine frame 26-1 is the number of duplicate disks assigned to the disks # D5 and # D6. The number of duplicate disks of the node machine frame 26-2 is disk #D.
This is the number of duplicate disks allocated to # 7 and # D8.
In the example of FIG. 5, the duplicate disks are not assigned to the disks # D5 to # D8. Therefore, the number of duplicate disks assigned to the node machine frames 26-1 and 26-2 is 0. Therefore, step ST1
Also in 0c, the disks # D5 to # D8 are selected.

【0126】続いて、ノードマシン管理部9は、ステッ
プST10cにて選択されたディスクが複数存在するか
否かを判定する(ステップST11c)。このとき、選
択されたディスクが1つであれば、ノードマシン管理部
9は、ステップST15cの処理に進む。
Subsequently, the node machine management section 9 determines whether or not there are a plurality of disks selected in step ST10c (step ST11c). At this time, if the number of selected disks is one, the node machine management unit 9 proceeds to the process of step ST15c.

【0127】一方、選択されたディスクが複数存在する
場合、ノードマシン管理部9は、ディスクを選択すべき
階層を1つ上げて、ディスクを選択すべき上位階層があ
るか否かを判定する(ステップST12c)。このと
き、ディスクを選択すべき上位階層がある場合は、ステ
ップST10cの処理に戻って、ノードマシン管理部9
は、当該上位階層において複製ディスクの割り当てられ
た個数の比較を行う。図5の例では、ノードマシンフレ
ーム26−1,26−2の上位階層はフロアフレーム2
6で等しい。このため、当該上位階層においても割り当
てられた複製ディスク数は等しくなり、ディスク#D5
〜#D8が選択される。
On the other hand, when there are a plurality of selected disks, the node machine management unit 9 raises the hierarchy by which the disk should be selected by one and judges whether or not there is an upper hierarchy by which the disk should be selected ( Step ST12c). At this time, if there is an upper layer for which a disk should be selected, the process returns to step ST10c and the node machine management unit 9
Compares the allocated number of duplicate disks in the upper layer. In the example of FIG. 5, the upper layer of the node machine frames 26-1 and 26-2 is the floor frame 2.
Equal to six. Therefore, the number of duplicated disks allocated in the upper layer is equal, and the disk # D5
~ # D8 is selected.

【0128】このあと、ステップST11cにおいてさ
らに複数のディスクが存在すると判定されると、ノード
マシン管理部9は、ステップST12cに進んでさらに
上位階層を1つ上げて、当該上位階層において複製ディ
スクの割り当てられた個数の比較を行う。この動作をス
テップST12cにて上位階層がないと判定されるまで
繰り返す。
After that, if it is determined in step ST11c that a plurality of disks are present, the node machine management unit 9 proceeds to step ST12c to further raise the upper layer by one, and allocates a duplicate disk in the upper layer. Compare the number of items. This operation is repeated until it is determined in step ST12c that there is no upper layer.

【0129】また、ステップST12cにおいて、ディ
スクを選択すべき上位階層がないと判定されると、ノー
ドマシン管理部9は、ステップST13cに進んで、ス
テップST10cにて選択されたディスクが複数存在す
るか否かを判定する。このとき、選択されたディスクが
1つであれば、ノードマシン管理部9は、ステップST
15cの処理に進む。一方、選択されたディスクが複数
存在する場合、ノードマシン管理部9は、選択された複
数のディスクから任意のディスクを選択する(ステップ
ST14c)。このあと、ステップST15cの処理に
移行する。
If it is determined in step ST12c that there is no upper layer from which a disk should be selected, the node machine management section 9 proceeds to step ST13c and determines whether there are a plurality of disks selected in step ST10c. Determine whether or not. At this time, if the number of selected disks is one, the node machine management unit 9 proceeds to step ST.
It progresses to the processing of 15c. On the other hand, when there are a plurality of selected disks, the node machine management unit 9 selects an arbitrary disk from the plurality of selected disks (step ST14c). After this, the process proceeds to step ST15c.

【0130】図5の例では、最上位階層まで複製ディス
クの個数が等しくなる。このため、ステップST14c
にてディスク#D5〜#D8のうちから任意のディスク
が選択される。ここで、ディスク#D5が選択される
と、ステップST15cにおいて、ディスク#D1の冗
長グループとしてディスク#D5が設定され、これに応
じてディスク#D5の冗長グループとしてディスク#D
1が設定される。
In the example of FIG. 5, the number of duplicate disks is the same up to the highest layer. Therefore, step ST14c
At, any disc is selected from the discs # D5 to # D8. Here, when the disk # D5 is selected, the disk # D5 is set as the redundant group of the disk # D1 in step ST15c, and accordingly, the disk # D5 is set as the redundant group of the disk # D5.
1 is set.

【0131】図19は図5中の階層関係に対して作成し
た冗長グループの対応表を示す図である。ここで、デー
タ多重度2に対応する冗長グループは、上述した図18
のフローによって作成したものである。
FIG. 19 is a diagram showing a correspondence table of redundant groups created for the hierarchical relationships in FIG. Here, the redundancy group corresponding to the data multiplicity of 2 is the one shown in FIG.
It is created by the flow of.

【0132】次に、データの多重度がM(M;2以上の
整数)のディスク冗長構成をとるシステムにおいて、冗
長グループを設定する動作について説明する。先ず、上
述した図18のフローによって、全ての元ディスクに対
して多重度2のディスク冗長構成をとる冗長グループの
設定を行う。次に、データの多重度を増加させると共
に、全ての元ディスクに対して、冗長グループ数を増加
させていく。
Next, the operation of setting a redundancy group in a system having a disk redundancy configuration in which the data multiplicity is M (M; an integer of 2 or more) will be described. First, according to the flow of FIG. 18 described above, a redundant group having a disk redundancy configuration with a multiplicity of 2 is set for all the original disks. Next, while increasing the data multiplicity, the number of redundant groups is increased for all the original disks.

【0133】例えば、データ多重度3のディスク冗長構
成をとる場合、ディスク#D1の冗長グループは、デー
タ多重度2におけるディスク#D1の冗長グループのメ
ンバであるディスク#D5とディスク#D7の冗長グル
ープのメンバを新たにディスク#D1の冗長グループと
して加える。
For example, in the case of a disk redundancy configuration with a data multiplicity of 3, the redundancy group of disk # D1 is a redundancy group of disks # D5 and # D7 which are members of the redundancy group of disk # D1 with a data multiplicity of 2. Is newly added as a redundant group of the disk # D1.

【0134】つまり、データ多重度2において、ディス
ク#D5の冗長グループは、ディスク#D1,#D4で
ある。また、ディスク#D7の冗長グループは、ディス
ク#D1,#D3である。このため、データ多重度3の
システムにおいては、ディスク#D1の冗長グループは
{#D3,#D4,#D5,#D7}となる。
That is, in the data multiplicity 2, the redundant group of the disk # D5 is the disks # D1 and # D4. The redundant group of the disk # D7 is the disks # D1 and # D3. Therefore, in the system having the data multiplicity of 3, the redundancy group of the disk # D1 is {# D3, # D4, # D5, # D7}.

【0135】同様に他の元ディスクに対して、冗長グル
ープを決定すると、図19に示す多重度3の冗長グルー
プが設定される。データの多重度を1上げるごとに同様
の手順で全ての元ディスクの冗長グループ数を増加させ
ていくことで、多重度Mのディスク冗長構成をとるシス
テムにおいて冗長グループを設定することができる。
Similarly, when a redundant group is determined for another source disk, a redundant group with a multiplicity of 3 shown in FIG. 19 is set. A redundant group can be set in a system having a disk redundancy configuration with a multiplicity of M by increasing the number of redundant groups of all the original disks by the same procedure each time the data multiplicity is increased.

【0136】また、この実施の形態2においても、デー
タは冗長グループ単位にデータ量が均等になるように書
込まれる。
Also in the second embodiment, the data is written so that the data amount becomes even in the redundant group unit.

【0137】次に実施の形態2におけるデータ書き込み
動作について説明する。図20は実施の形態2のデータ
格納装置によるデータ書き込み動作を示すフロー図であ
り、この図に沿って図19に示す冗長グループ構成を有
するディスクに対するデータ書き込み動作について説明
する。先ず、ファイルブロック管理部7は、データ書き
込みを行う冗長グループの順序を決定する(ステップS
T1d)。具体的に説明すると、ファイルブロック管理
部7は、最初に任意の元ディスクを選択する。例えば、
図5の構成で図19の多重度2の場合の冗長グループ設
定がなされているシステムにおいて、ディスク#D1が
選択されたものとする。この次に、ファイルブロック管
理部7は、ディスク#D1の冗長グループの中で距離情
報の最も大きいものを1つ選択する。上記システムで
は、ディスク#D1の冗長グループはディスク#D5,
#D7であり、どちらも距離情報が等しい。このため、
どちらを選択しても良い。ここでは、例としてディスク
#D5を選択する。
Next, the data write operation in the second embodiment will be described. FIG. 20 is a flow chart showing the data write operation by the data storage device of the second embodiment, and the data write operation for the disk having the redundant group configuration shown in FIG. 19 will be described with reference to this figure. First, the file block management unit 7 determines the order of the redundant groups for writing data (step S).
T1d). More specifically, the file block management unit 7 first selects an arbitrary original disk. For example,
It is assumed that the disk # D1 is selected in the system having the configuration of FIG. 5 and the redundancy group setting in the case of the multiplicity of 2 in FIG. Next, the file block management unit 7 selects one having the largest distance information in the redundancy group of the disk # D1. In the above system, the redundancy group of disk # D1 is disk # D5,
# D7, and both have the same distance information. For this reason,
Either may be selected. Here, the disk # D5 is selected as an example.

【0138】続いて、ファイルブロック管理部7は、デ
ィスク#D5の冗長グループの中で距離情報の最も大き
いものを選択する。つまり、ディスク#D5の冗長グル
ープに属するディスク#D1,#D4のいずれかが選択
される。ここでは、ディスク#D1がすでに選択されて
いるため、ディスク#D4が選択される。以下、全ての
ディスクに対して同様の操作を繰り返す。これにより、
ファイルブロック管理部7は、データブロックの書き込
みをディスク#D1,ディスク#D5,ディスク#D
4,ディスク#D8,ディスク#D2,ディスク#D
6,ディスク#D3,ディスク#D7の順序で行うこと
を決定する。
Then, the file block management section 7 selects the one having the largest distance information in the redundancy group of the disk # D5. That is, one of the disks # D1 and # D4 belonging to the redundancy group of the disk # D5 is selected. Here, since the disk # D1 has already been selected, the disk # D4 is selected. Hereinafter, the same operation is repeated for all the disks. This allows
The file block management unit 7 writes the data block to the disk # D1, the disk # D5, and the disk #D.
4, disk # D8, disk # D2, disk #D
6, disc # D3, and disc # D7 are decided in this order.

【0139】次に、ファイルブロック管理部7は、書き
込みデータをブロック単位に分割する(ステップST2
d)。続いて、ファイルブロック管理部7は、冗長グル
ープに全てのデータブロックの書き込みが完了したか否
かを判定する(ステップST3d)。このとき、全ての
データブロックの書き込みが完了していれば、データ書
き込み動作を終了する。一方、全てのデータブロックの
書き込みが完了していない場合は、ステップST4dの
処理に移行する。
Next, the file block management section 7 divides the write data into blocks (step ST2).
d). Subsequently, the file block management unit 7 determines whether or not writing of all data blocks in the redundancy group has been completed (step ST3d). At this time, if the writing of all the data blocks is completed, the data writing operation is ended. On the other hand, if the writing of all the data blocks is not completed, the process proceeds to step ST4d.

【0140】ステップST4dにおいて、ファイルブロ
ック管理部7は、上述のようにして決定した書き込み順
序に従って、先ず元ディスクに対してデータブロックの
書き込みを行う。このあと、ファイルブロック管理部7
は、データ多重度がM(M;2以上の整数)であれば、
元ディスクに書込んだデータブロックと同一のデータブ
ロックを、当該元ディスクが属する冗長グループの(M
−1)個の複製ディスクに対して書き込む。具体的に説
明すると、ファイルブロック管理部7は、(M−1)個
の複製ディスクにデータブロックを書き込んだか否かを
判定しながら、当該冗長グループにおいて元ディスクを
除く2*(M−1)個のディスクから複製ディスクを選
択してデータブロックを書き込む(ステップST5
d)。このとき、(M−1)個の複製ディスクにデータ
ブロックを書き込んでいれば、ステップST2dの処理
に戻って、上述した操作を繰り返す。
In step ST4d, the file block management section 7 first writes a data block to the original disk in the writing order determined as described above. After this, the file block management unit 7
If the data multiplicity is M (M; integer of 2 or more),
A data block that is the same as the data block written to the original disk is stored in the redundancy group (M
-1) Write on the duplicate disks. More specifically, the file block management unit 7 excludes the original disk in the redundancy group while determining whether or not the data block has been written to the (M-1) duplicate disks, and 2 * (M-1). A duplicate disk is selected from the individual disks and a data block is written (step ST5).
d). At this time, if the data blocks have been written to the (M-1) duplicate disks, the process returns to step ST2d and the above-described operation is repeated.

【0141】一方、(M−1)個の複製ディスクにデー
タブロックを書き込んでいないと、ファイルブロック管
理部7は、既にブロックを書き込んだディスクを除い
て、元ディスクから最も距離情報の大きいディスクを選
択する(ステップST6d)。
On the other hand, if the data block is not written to the (M-1) duplicated disks, the file block management unit 7 selects the disk having the largest distance information from the original disk, excluding the disk to which the block has already been written. Select (step ST6d).

【0142】このあと、ファイルブロック管理部7は、
ステップST6dにて選択したディスクが複数存在する
か否かを判定する(ステップST7d)。このとき、選
択したディスクが複数存在しなければ、ファイルブロッ
ク管理部7は、ステップST11dの処理に進んで選択
したディスクにデータブロックの書き込みを行い、ステ
ップST5dの処理に戻る。
After that, the file block management unit 7
It is determined whether or not there are a plurality of disks selected in step ST6d (step ST7d). At this time, if a plurality of selected disks do not exist, the file block management unit 7 proceeds to the processing of step ST11d to write the data block to the selected disk, and returns to the processing of step ST5d.

【0143】一方、選択したディスクが複数存在する場
合、ファイルブロック管理部7は、選択したディスクの
中で書き込まれたデータブロック数(書き込みブロック
数)が最も少ないディスクを選択する(ステップST8
d)。つまり、各ディスクにブロックが均等に書込まれ
るようにディスクを選択する。
On the other hand, when there are a plurality of selected disks, the file block management section 7 selects the disk with the smallest number of written data blocks (the number of written blocks) among the selected disks (step ST8).
d). That is, the disks are selected so that blocks are written evenly on each disk.

【0144】続いて、ファイルブロック管理部7は、ス
テップST8dにて選択したディスクが複数存在するか
否かを判定する(ステップST9d)。このとき、選択
したディスクが複数存在しなければ、ファイルブロック
管理部7は、ステップST11dの処理に進む。一方、
選択したディスクが複数存在する場合、ファイルブロッ
ク管理部7は、ステップST8dにて選択した複数のデ
ィスクのうち任意のディスクを1つ選択する(ステップ
ST10d)。
Subsequently, the file block management section 7 determines whether or not there are a plurality of disks selected in step ST8d (step ST9d). At this time, if there are not a plurality of selected disks, the file block management unit 7 proceeds to the process of step ST11d. on the other hand,
When there are a plurality of selected disks, the file block management unit 7 selects one of the plurality of disks selected in step ST8d (step ST10d).

【0145】このあと、ファイルブロック管理部7は、
ステップST11dに進み、ステップST10dにて選
択したディスクに対してデータブロックを書き込む。こ
の動作を繰り返して、(M−1)個の複製ディスクに複
製データブロックの書き込みを行う。
After that, the file block management unit 7
In step ST11d, the data block is written to the disc selected in step ST10d. By repeating this operation, the duplicate data block is written to the (M-1) duplicate disks.

【0146】図21は図19の多重度2に対応する冗長
グループ設定がなされているシステムのデータブロック
格納例を示す図である。ここで、図21におけるデータ
ブロック格納は、上述した図20のフローによって行っ
たものである。
FIG. 21 is a diagram showing a data block storage example of a system in which a redundancy group setting corresponding to the multiplicity of 2 in FIG. 19 is made. Here, the data block storage in FIG. 21 is performed by the flow of FIG. 20 described above.

【0147】ファイルブロック管理部7は、データ書き
込み時にファイルブロック管理テーブル7aの更新を行
い、リードブロック番号7a−2の設定を行う。このと
き、元ディスクとして書き込みを行ったブロックを各デ
ィスクのリードブロックとして設定する。
The file block management section 7 updates the file block management table 7a when writing data and sets the read block number 7a-2. At this time, the block written as the original disk is set as the read block of each disk.

【0148】図22は図21の構成にリードブロックを
設定した場合を示す図である。図において、丸記号で囲
まれたデータブロックがリードブロックとして設定され
ることを示している。例えば、ディスク#D1では{B
1、B9、B17}がリードブロックに設定される。図
22に示すように、オリジナルデータを構成するデータ
ブロックB1〜B24が各ディスクのリードブロックと
してそれぞれ割り当てられる。
FIG. 22 is a diagram showing a case where a read block is set in the configuration of FIG. In the figure, it is shown that the data block surrounded by a circle symbol is set as a read block. For example, for disk # D1 {B
1, B9, B17} is set to the read block. As shown in FIG. 22, the data blocks B1 to B24 forming the original data are assigned as the read blocks of the respective disks.

【0149】また、この実施の形態2のデータ格納装置
によるデータ転送時の動作は、上記実施の形態1と同様
に図16のフローで行われる。これにより、重複する説
明を省略する。
Further, the operation at the time of data transfer by the data storage device of the second embodiment is performed by the flow of FIG. 16 as in the first embodiment. Therefore, duplicated description will be omitted.

【0150】次に実施の形態2におけるディスク故障時
の動作について説明する。先ず、ディスクの故障が検出
されると、上記実施の形態1と同様にして、ノードマシ
ン管理9によってノードマシン管理テーブル9aの修正
が行われる。このあと、ファイルブロック管理部7は、
ファイルブロック管理テーブル7aの修正を行う。この
ファイルブロック管理テーブル7aの修正動作を詳細に
説明する。
Next, the operation at the time of a disk failure in the second embodiment will be described. First, when a disk failure is detected, the node machine management table 9a is corrected by the node machine management 9 as in the first embodiment. After that, the file block management unit 7
The file block management table 7a is modified. The correction operation of the file block management table 7a will be described in detail.

【0151】図23は図21の構成でディスク故障時に
設定されるリードブロック番号を示す図である。図にお
いて、ディスク#D2に縦線が付されているのは、当該
ディスク#D2が故障したことを示している。また、図
22の場合と同様に、丸記号で囲まれたデータブロック
がリードブロックである。図23では、ディスク#D2
故障時に、ファイルブロック管理テーブル7aの修正を
行った後、リードブロックとなるブロックを丸記号で囲
んでいる。例えば、ディスク#D2の故障前、ディスク
#D8のリードブロックは、図22に示すように{B
6、B14、B22}であった。しかしながら、ディス
ク#D2故障後では、ディスク#D8のリードブロック
は、図23に示すように{B5、B6、B13、B2
1}となる。
FIG. 23 is a diagram showing the read block numbers set when the disk fails in the configuration of FIG. In the figure, the vertical line attached to the disk # D2 indicates that the disk # D2 has failed. Further, as in the case of FIG. 22, the data block surrounded by the circle symbol is the read block. In FIG. 23, disk # D2
After the file block management table 7a is corrected at the time of failure, the block to be the read block is surrounded by a circle symbol. For example, before the failure of the disk # D2, the read block of the disk # D8 is {B as shown in FIG.
6, B14, B22}. However, after the failure of the disk # D2, the read blocks of the disk # D8 are {B5, B6, B13, B2 as shown in FIG.
1}.

【0152】図24は実施の形態2のデータ格納装置に
よるディスク故障時の動作を示すフロー図であり、この
図、図22及び図23を用いて詳細に説明する。先ず、
ファイルブロック管理部7は、ファイルブロック管理テ
ーブル7aを修正するにあたり、ノードマシン管理部9
から対象となるディスク総数、故障ディスクのディスク
番号を取得する(ステップST1e)。図23の例で
は、故障ディスクのディスク番号は#D2であり、ディ
スク総数は7となる。
FIG. 24 is a flowchart showing the operation of the data storage device according to the second embodiment when a disk fails, which will be described in detail with reference to this figure, FIG. 22 and FIG. First,
The file block management unit 7 modifies the file block management table 7a when the node machine management unit 9
The total number of target disks and the disk number of the failed disk are acquired from (step ST1e). In the example of FIG. 23, the disk number of the failed disk is # D2, and the total number of disks is 7.

【0153】次に、ファイルブロック管理部7は、ファ
イルブロック管理テーブル7aを参照して、故障ディス
クのリードブロック番号7a−2を取得する(ステップ
ST2e)。図23の例では、ファイルブロック管理部
7が故障ディスク#D2のリードブロック番号{B5、
B13、B21}を取得する。
Next, the file block management section 7 refers to the file block management table 7a and acquires the read block number 7a-2 of the failed disk (step ST2e). In the example of FIG. 23, the file block management unit 7 determines that the read block number of the failed disk # D2 is {B5,
B13, B21} is acquired.

【0154】続いて、ファイルブロック管理部7は、オ
リジナルデータを構成する全てのデータブロックがいず
れかのディスクのリードブロックとして割り当てられて
いるか否かを判定する(ステップST3e)。このと
き、全てのブロックがいずれかのディスクに割り当てら
れていれば、ファイルブロック管理部7は、処理を終了
する。
Subsequently, the file block management unit 7 determines whether or not all the data blocks forming the original data are assigned as the read blocks of any disk (step ST3e). At this time, if all the blocks are assigned to any of the disks, the file block management unit 7 ends the process.

【0155】一方、割り当てられていないブロックが存
在する場合、ファイルブロック管理部7は、いずれのデ
ィスクにも割り当てられていないリードブロックの複製
を有するディスクを選択する(ステップST4e)。具
体的に説明すると、ファイルブロック管理部7は、故障
ディスクのリードブロック番号7a−2の複製を格納す
るディスクを選択する。図23の例では、ディスク#D
2のリードブロック番号7a−2の複製を格納するディ
スクは、ディスク#D8である。このため、ファイルブ
ロック管理部7は、ディスク#D8を選択してリードブ
ロック番号7a−2の再割り当てを行うこととなる。
On the other hand, if there is an unallocated block, the file block management section 7 selects a disk having a copy of the read block that is not allocated to any disk (step ST4e). Specifically, the file block management unit 7 selects a disk that stores a copy of the read block number 7a-2 of the failed disk. In the example of FIG. 23, disk #D
The disk storing the copy of the read block number 7a-2 of No. 2 is disk # D8. Therefore, the file block management unit 7 selects the disk # D8 and reassigns the read block number 7a-2.

【0156】次に、ファイルブロック管理部7は、ステ
ップST4eにて選択されたディスクに新しく割り当て
るリードブロック数を求める(ステップST5e)。こ
こでは、下記式(1)によって新しく割り当てるブロッ
ク数を求める。 New_B=ceil(Rem_B/(Rem_D+1)) ・・・(1) ただし、New_Bは新しく割り当てるブロック数であ
り、Rem_Bは割り当ての決まっていないブロック
数、Rem_Dはリードブロックが再割り当てされてい
ないディスク数を示している。また、ceil( )は
小数点以下切上げを意味する。
Next, the file block management section 7 obtains the number of read blocks to be newly assigned to the disk selected in step ST4e (step ST5e). Here, the number of blocks to be newly allocated is calculated by the following equation (1). New_B = ceil (Rem_B / (Rem_D + 1)) (1) where New_B is the number of blocks to be newly allocated, Rem_B is the number of blocks whose allocation has not been decided, and Rem_D is the number of disks to which read blocks have not been reallocated. Shows. Also, ceil () means rounding up after the decimal point.

【0157】ここで、オリジナルデータを構成するブロ
ックのうち、現在どのディスクにもリードブロックとし
て割り当てられていないブロックを、他のディスクに均
等に割り当てるには、選択されたディスクに対して、最
低いくつのブロックを新たに割り当てればよいかを求め
なければならない。上記式(1)は、この新しく割り当
てるブロック数を決定するための数式である。
Here, among the blocks forming the original data, in order to evenly allocate the blocks which are not currently assigned as read blocks to any of the disks to the other disks, at least the number of blocks of the selected disk must be set. You must ask if you should newly allocate the block. The above formula (1) is a formula for determining the number of blocks to be newly allocated.

【0158】図23の例では、ディスク#D8について
は、New_B=ceil(3/(7−1+1))=1
となり、新たに1つのリードブロックを割り当てる必要
がある。つまり、現在割り当てられている3個のリード
ブロックに新たに1個のリードブロックが加えられ、再
割り当て後のリードブロックは合計4個となる。
In the example of FIG. 23, for disk # D8, New_B = ceil (3 / (7-1 + 1)) = 1
Therefore, it is necessary to newly allocate one read block. That is, one read block is newly added to the three read blocks currently allocated, and the total number of read blocks after the reallocation becomes four.

【0159】次に、ファイルブロック管理部7は、現在
どのディスクにも割り当てられていないリードブロック
を全て選択し、これらリードブロックと、ステップST
4eで選択したディスクに現在割り当てられているリー
ドブロックとから、ステップST5eにて求めた新たに
割り当てるべきリードブロック数分のブロックを選択す
る(ステップST6e)。図23の例では、ディスク#
D8に新たに設定するリードブロックとして、現在どの
ディスクにもリードブロックとして割り当てられていな
い{B5、B13、B21}と、現在ディスク#D8に
リードブロックとして割り当てられている{B6、B1
4、B22}とから、新しく割り当てるブロックの数、
即ち、1個のリードブロックが選択される。
Next, the file block management section 7 selects all the read blocks that are not currently assigned to any disk, and selects these read blocks and step ST.
From the read blocks currently assigned to the disk selected in 4e, blocks corresponding to the number of read blocks to be newly assigned in step ST5e are selected (step ST6e). In the example of FIG. 23, the disk #
As a read block newly set to D8, {B5, B13, B21} which is not currently assigned to any disk as a read block, and {B6, B1 which is currently assigned to a disk # D8 as a read block.
4, B22}, the number of blocks to be newly allocated,
That is, one read block is selected.

【0160】従って、ディスク#D8に新たに設定され
るリードブロックは、{B5、B6、B13、B21}
となる。この情報を元にして、ファイルブロック管理部
7は、ファイルブロック管理テーブル7aのリードブロ
ック番号7a−2の書き換えを行う(ステップST7
e)。
Therefore, the read block newly set on the disk # D8 is {B5, B6, B13, B21}.
Becomes Based on this information, the file block management unit 7 rewrites the read block number 7a-2 of the file block management table 7a (step ST7).
e).

【0161】このあと、ファイルブロック管理部7は、
ステップST3eの処理に戻って同様にディスク#D
4,#D5についても新しいリードブロック番号を求
め、ファイルブロック管理テーブル7aの書き換えを行
う。
After that, the file block management unit 7
Return to the processing of step ST3e, and similarly perform disk #D.
For 4 and # D5, new read block numbers are obtained and the file block management table 7a is rewritten.

【0162】以上の動作によって、ディスク#D2の故
障後に各ディスクのリードブロックは、図23のように
再設定される。
By the above operation, the read block of each disk is reset as shown in FIG. 23 after the failure of the disk # D2.

【0163】なお、図23の例ではデータの多重度が2
であるが、同様の手順でデータの多重度Mの場合でも実
現することができる。
In the example of FIG. 23, the data multiplicity is 2
However, the same procedure can be used to achieve the data multiplicity M.

【0164】さらに、この実施の形態2によるデータ格
納装置において上位階層で障害が発生した場合の動作に
ついて説明する。図25は図5の構成のシステムを実施
の形態2の手順に基づいてデータを分散配置させたディ
スク格納例を示す図であり、ノードマシンフレーム25
−1に障害が発生してディスク#D1,#D2のデータ
アクセスができない状況を示している。
Further, the operation of the data storage device according to the second embodiment when a failure occurs in the upper hierarchy will be described. FIG. 25 is a diagram showing an example of disk storage in which data is distributed in the system having the configuration of FIG. 5 based on the procedure of the second embodiment.
1 shows a situation in which a failure occurs in -1 and data access to disks # D1 and # D2 is not possible.

【0165】図25に示すように、複数のディスクに同
時に障害が発生した場合にも図24で示すフローでリー
ドブロック番号7a−2の再配置を行うことで、各ディ
スクの負荷が均等に分散されている。
As shown in FIG. 25, even when failures occur in a plurality of disks at the same time, the read block number 7a-2 is rearranged by the flow shown in FIG. 24 so that the load of each disk is evenly distributed. Has been done.

【0166】また、図25において、データの多重度は
2であるが、データの多重度Mにおいても同様の手順で
実現することができる。
In FIG. 25, the data multiplicity is 2, but the data multiplicity M can be realized by the same procedure.

【0167】以上のように、この実施の形態2によれ
ば、いずれかのディスクがデータ読み出し不可となる
と、該ディスクから読み出されるべきデータブロック群
を、これと同一内容のデータブロック群を分散して格納
する他の複数のディスクから均等に読み出すので、ディ
スク故障時には故障したディスクのリードブロックが非
故障のディスクに均等に設定されることから、ディスク
故障時に特定のディスクがボトルネックとなって並列シ
ステム全体におけるスループットが低下するという不具
合が発生しない。また、複数のディスクに障害が発生し
た時にも同様の効果が得られる。
As described above, according to the second embodiment, when data cannot be read from any of the disks, the data block group to be read from the disk is distributed to the data block groups having the same contents. Since the read blocks of the failed disk are set evenly on non-failed disks because the disks are read evenly from other disks that are stored in parallel, the specific disk becomes a bottleneck at the time of the disk failure and becomes parallel. The problem that the throughput of the entire system is reduced does not occur. Also, the same effect can be obtained when a failure occurs in a plurality of disks.

【0168】また、この実施の形態2によれば、ディス
ク間に距離情報を定義し、同時に故障が起こりにくいデ
ィスク同士で冗長グループを構成しディスクの複製を作
成することで、上位階層での障害発生時にもデータへの
アクセスが可能な並列システムを提供することができ
る。
Further, according to the second embodiment, the distance information is defined between the disks, and at the same time, a redundant group is made up of disks which are less likely to fail and a copy of the disks is created, so that a failure in the upper layer is caused. It is possible to provide a parallel system in which data can be accessed even when it occurs.

【0169】なお、上記実施の形態2において、ホスト
マシンのディスクを含めてグループ化を行い、ホストマ
シンにデータを配置しても良い。
In the second embodiment, the disks of the host machine may be included in the group and the data may be arranged in the host machine.

【0170】実施の形態3.この実施の形態3は、上記
実施の形態2に対してデータの格納が異なる。つまり、
実施の形態3では各ディスクを2つのパーティションに
分割してデータの書き込みを行うものである。
Third embodiment. The third embodiment is different from the second embodiment in data storage. That is,
In the third embodiment, each disk is divided into two partitions to write data.

【0171】図26はこの発明の実施の形態3によるデ
ータ格納装置のブロック格納例を示す図である。図にお
いて、1つのディスクを表す円筒形状中に付した境界線
によって分けられる各部分は、当該ディスクのパーティ
ションを示している。このように、実施の形態3では、
リードブロックに設定されているブロック(図中、丸記
号で囲まれたデータ)と、他のディスクの複製データと
を異なるパーティションに格納する。
FIG. 26 is a diagram showing an example of block storage of the data storage device according to the third embodiment of the present invention. In the figure, each part separated by a boundary line attached to a cylindrical shape representing one disk indicates a partition of the disk. Thus, in the third embodiment,
The block set in the read block (data surrounded by a circle in the figure) and the duplicated data of another disk are stored in different partitions.

【0172】ここで、実施の形態3によるファイルブロ
ック管理部7は、各ディスクにデータブロックを書き込
むにあたり、リードブロックに設定されているブロック
と他のディスクの複製データとを交互に異なるパーティ
ションに書き込む。これ以外の動作は、上記実施の形態
と同様である。
Here, when writing the data block to each disk, the file block management unit 7 according to the third embodiment alternately writes the block set as the read block and the duplicated data of another disk to different partitions. . The other operations are the same as those in the above embodiment.

【0173】以上のように、この実施の形態3によれ
ば、ブロックをシーケンシャルにアクセスし、データ転
送を行う時に、各ディスクから転送するデータが特定の
パーティションにまとまって配置されていることから、
各ディスクからブロックを高速に転送することができる
と共に、ブロックデータ転送性能の劣化が少ない。ま
た、大量データのシーケンシャルアクセスに対してシー
ク回数を少なくすることができる。
As described above, according to the third embodiment, when the blocks are accessed sequentially and the data is transferred, the data transferred from each disk are arranged in a specific partition.
Blocks can be transferred from each disk at high speed, and block data transfer performance is not significantly deteriorated. Moreover, the number of seeks can be reduced for sequential access of a large amount of data.

【0174】また、図26の例ではデータの多重度が2
であるが、データの多重度Mの場合も同様に実現するこ
とができる。
In the example of FIG. 26, the data multiplicity is 2
However, the case of the data multiplicity M can be similarly realized.

【0175】さらに、上記実施の形態3において、ホス
トマシンのディスクも含めてグループ化を行い、ホスト
マシンにデータを配置しても良い。
Further, in the third embodiment, the disks of the host machine may be grouped and the data may be arranged in the host machine.

【0176】なお、上記実施の形態1から3において、
距離情報に基づいて信頼性のレベルを冗長グループごと
に設定するようにしてもよい。つまり、冗長グループを
設定するにあたり、バスレベル、マシンレベル、地域レ
ベルなどに分類してそれぞれ異なる信頼性レベルを有す
るように、これらを構成するディスクを選択する。この
ようにすることで、各冗長グループにて異なる信頼性レ
ベルで障害に対応することができる。
In the first to third embodiments described above,
The reliability level may be set for each redundancy group based on the distance information. That is, when setting the redundancy group, disks constituting these are selected so that they are classified into a bus level, a machine level, a regional level, etc. and have different reliability levels. By doing so, it is possible to deal with the failure with different reliability levels in each redundancy group.

【0177】[0177]

【発明の効果】以上のように、この発明によれば、デー
タを同一データ量ごとの複数のデータブロックに分割し
て、該データブロック単位で複数の記憶装置に同一ブロ
ック数ずつ分散配置させると共に、所定数の記憶装置ご
とに同一内容のデータブロックを重複して格納し、複数
の記憶装置に分散して格納されたデータを所定数の記憶
装置ごとに1又は複数のデータブロック単位で読み出す
ので、各記憶装置のデータ量が均等になるようにデータ
が格納されると共に、データ転送時の各記憶装置からの
データ転送量が均等になることから、装置全体のスルー
プットの低下を最小限に抑えることができるという効果
がある。また、各データブロックを冗長グループごとに
シーケンシャルに格納することで、データ転送処理を行
う際、冗長グループ内のどの記憶装置からデータを転送
するかを決定するにあたり、特別な計算が不要であるこ
とから、全てのデータを記憶装置の先頭から順次転送す
るような処理において高速に動作させることができると
いう効果がある。
As described above, according to the present invention, data is divided into a plurality of data blocks of the same data amount, and the same number of blocks are distributed and arranged in a plurality of storage devices in units of the data blocks. Since the data blocks of the same content are redundantly stored for each of the predetermined number of storage devices, and the data stored in a distributed manner in the plurality of storage devices are read in units of one or more data blocks for each of the predetermined number of storage devices. Since the data is stored so that the data amount of each storage device becomes equal, and the data transfer amount from each storage device at the time of data transfer becomes equal, the decrease in the throughput of the entire device is minimized. The effect is that you can. Also, by storing each data block sequentially for each redundancy group, no special calculation is required when deciding from which storage device in the redundancy group the data should be transferred when performing the data transfer process. Therefore, there is an effect that it is possible to operate at high speed in the process of sequentially transferring all the data from the head of the storage device.

【0178】この発明によれば、複数の記憶装置の各記
憶装置間における相互作用の指標である距離情報を用い
て、相互作用の小さい記憶装置同士をまとめた冗長グル
ープを構成し、データを複数の記憶装置に分散して格納
するにあたり、該データを同一データ量ごとの複数のデ
ータブロックに分割し、冗長グループ内の各記憶装置に
同一内容のデータブロックを重複して格納し、複数の記
憶装置に分散して格納されたデータを冗長グループごと
に1又は複数のデータブロック単位で読み出すので、各
記憶装置のデータ量が均等になるようにデータが格納さ
れると共に、データ転送時の各記憶装置からのデータ転
送量が均等になることから、装置全体のスループットの
低下を最小限に抑えることができるという効果がある。
また、記憶装置間の特定の相互作用による障害に柔軟に
対応する信頼性の高いデータ格納装置を提供することが
できるという効果がある。
According to the present invention, the distance information, which is an index of the interaction between the storage devices of the plurality of storage devices, is used to form a redundant group in which the storage devices having a small interaction are put together, and a plurality of data are stored. When storing the data blocks in different storage devices, the data is divided into a plurality of data blocks of the same data amount, and the data blocks of the same content are stored in duplicate in each storage device in the redundancy group. Since the data distributed and stored in the device is read in units of one or a plurality of data blocks for each redundancy group, the data is stored so that the data amount of each storage device is equalized, and each storage device at the time of data transfer is read. Since the amount of data transferred from the device becomes even, there is an effect that a decrease in throughput of the entire device can be suppressed to a minimum.
Further, there is an effect that it is possible to provide a highly reliable data storage device that flexibly copes with a failure due to a specific interaction between the storage devices.

【0179】この発明によれば、複数の記憶装置に対し
てラウンドロビンでデータブロックを格納するので、各
記憶装置のデータ量が均等になるようにデータを格納す
ることができるという効果がある。
According to the present invention, since the data blocks are stored in a plurality of storage devices by round robin, there is an effect that the data can be stored so that the data amount of each storage device becomes equal.

【0180】この発明によれば、ハッシュ分散を用いて
データブロックを格納すべき記憶装置を決定するので、
各記憶装置のデータ量が均等になるようにデータを格納
することができるという効果がある。
According to the present invention, since the storage device in which the data block is to be stored is determined by using the hash distribution,
There is an effect that the data can be stored so that the data amount of each storage device becomes equal.

【0181】この発明によれば、各記憶装置から一度に
読み出される複数のデータブロックをそれぞれの記憶領
域内で隣接して配置するので、各記憶装置からデータブ
ロックを高速に転送することができると共に、データブ
ロックの転送性能の劣化が少ないという効果がある。ま
た、大量データのシーケンシャルアクセスに対してシー
ク回数を少なくすることができるという効果がある。
According to the present invention, since a plurality of data blocks read at once from each storage device are arranged adjacent to each other in each storage area, the data blocks can be transferred from each storage device at high speed. The advantage is that the transfer performance of the data block is less deteriorated. Further, there is an effect that the number of seeks can be reduced for the sequential access of a large amount of data.

【0182】この発明によれば、いずれかの記憶装置が
データ読み出し不可となると、該記憶装置から読み出さ
れるべきデータブロック群を、これと同一内容のデータ
ブロック群を分散して格納する他の複数の記憶装置から
均等に読み出すので、故障した記憶装置から読み出すべ
きデータブロックが非故障の記憶装置から均等に読み出
されることから、故障時に特定の記憶装置がボトルネッ
クとなって装置全体におけるスループットが低下すると
いう不具合を抑制することができるという効果がある。
According to the present invention, when data cannot be read from any of the storage devices, a plurality of data blocks to be read from the storage device are stored in a distributed manner with the data block groups having the same contents as those stored therein. Since the data blocks that should be read from the failed storage device are read evenly from the non-failed storage device, the specific storage device becomes a bottleneck at the time of the failure, and the throughput of the entire device decreases. This has the effect of suppressing the problem of

【0183】この発明によれば、複数の記憶装置が構成
する階層構造に基づいて距離情報を求めるので、記憶装
置の特定階層における障害に柔軟に対応することができ
るという効果がある。また、装置の特定の部分を中心と
した冗長構成を構築することができるという効果もあ
る。
According to the present invention, since the distance information is obtained based on the hierarchical structure formed by a plurality of storage devices, there is an effect that it is possible to flexibly cope with a failure in a specific hierarchy of the storage device. There is also an effect that a redundant configuration can be built around a specific part of the device.

【0184】この発明によれば、各記憶装置が配置され
る位置情報に基づいて距離情報を求めるので、記憶装置
の位置関係に起因する障害に柔軟に対応することができ
るという効果がある。
According to the present invention, since the distance information is obtained based on the position information of each storage device, there is an effect that it is possible to flexibly cope with a failure caused by the positional relationship of the storage devices.

【0185】この発明によれば、各記憶装置間の接続経
路に応じて決定される故障率に基づいて距離情報を求め
るので、記憶装置の接続関係に起因する障害に柔軟に対
応することができるという効果がある。
According to the present invention, the distance information is obtained based on the failure rate determined according to the connection path between the storage devices, so that it is possible to flexibly cope with the failure caused by the connection relation of the storage devices. There is an effect.

【0186】この発明によれば、同一内容のデータブロ
ックを重複させる度合いである多重度を冗長グループご
とに設定するので、装置の信頼性を向上させることがで
きると共に、データ転送を高速化することができるとい
う効果がある。
According to the present invention, since the multiplicity, which is the degree to which data blocks having the same contents are overlapped, is set for each redundancy group, the reliability of the device can be improved and the data transfer can be speeded up. There is an effect that can be.

【0187】この発明によれば、距離情報に基づいて信
頼性のレベルを冗長グループごとに設定するので、冗長
グループごとに異なる信頼性レベルで障害に対応するこ
とができるという効果がある。
According to the present invention, since the reliability level is set for each redundancy group based on the distance information, there is an effect that a failure can be dealt with at a different reliability level for each redundancy group.

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

【図1】 この発明の実施の形態1によるデータ格納装
置の構成例を示す図である。
FIG. 1 is a diagram showing a configuration example of a data storage device according to a first embodiment of the present invention.

【図2】 図1中のホストマシンの構成を示す図であ
る。
FIG. 2 is a diagram showing a configuration of a host machine in FIG.

【図3】 この発明の実施の形態1よるデータ格納装置
の各ソフトウェアの関係を示す図である。
FIG. 3 is a diagram showing the relationship of each software of the data storage device according to the first embodiment of the present invention.

【図4】 図3中のノードマシン管理テーブルの構成を
示す図である。
FIG. 4 is a diagram showing a configuration of a node machine management table in FIG.

【図5】 実施の形態1によるデータ格納装置を構成す
るディスクの階層関係の一例を示す図である。
FIG. 5 is a diagram showing an example of a hierarchical relationship of disks constituting the data storage device according to the first embodiment.

【図6】 実施の形態1によるデータ格納装置を構成す
るディスクの階層関係の他例を示す図である。
FIG. 6 is a diagram showing another example of the hierarchical relationship of disks constituting the data storage device according to the first embodiment.

【図7】 ホストマシンから見たシステムの階層構造を
示す図である。
FIG. 7 is a diagram showing a hierarchical structure of the system viewed from the host machine.

【図8】 実施の形態1によるデータ格納装置の動作を
示すフロー図である。
FIG. 8 is a flowchart showing the operation of the data storage device according to the first embodiment.

【図9】 実施の形態1によるデータ格納装置の構成と
ディスクの階層関係における故障率とを示す図である。
FIG. 9 is a diagram showing a configuration of the data storage device according to the first embodiment and a failure rate in a hierarchical relationship of disks.

【図10】 実施の形態1によるデータ格納装置の他の
構成とディスクの階層関係における故障率とを示す図で
ある。
FIG. 10 is a diagram showing another configuration of the data storage device according to the first embodiment and a failure rate in a hierarchical relationship of disks.

【図11】 同一フロアに設置されたディスクの物理的
な位置関係を示す図である。
FIG. 11 is a diagram showing a physical positional relationship of disks installed on the same floor.

【図12】 実施の形態1によるデータ格納装置のデー
タ書き込み動作を示すフロー図である。
FIG. 12 is a flowchart showing a data write operation of the data storage device according to the first embodiment.

【図13】 図12に示す書き込みフローで各ディスク
に書き込まれたブロックの格納図を示す図である。
FIG. 13 is a diagram showing a storage diagram of blocks written in each disc in the write flow shown in FIG. 12;

【図14】 図3中のファイルブロック管理テーブルの
内部構成を示す図である。
FIG. 14 is a diagram showing an internal structure of a file block management table in FIG.

【図15】 実施の形態1のデータ格納装置によるデー
タ書き込み時に設定するリードブロック番号を示す図で
ある。
FIG. 15 is a diagram showing a read block number set at the time of writing data by the data storage device of the first embodiment.

【図16】 実施の形態1によるデータ格納装置のデー
タ転送動作を示すフロー図である。
FIG. 16 is a flowchart showing a data transfer operation of the data storage device according to the first embodiment.

【図17】 実施の形態1のデータ格納装置によってデ
ィスク故障時に設定したリードブロック番号を示す図で
ある。
FIG. 17 is a diagram showing a read block number set when a disk fails by the data storage device according to the first embodiment.

【図18】 実施の形態2によるデータ格納装置の動作
を示すフロー図である。
FIG. 18 is a flowchart showing the operation of the data storage device according to the second embodiment.

【図19】 図5中の階層関係に対して作成した冗長グ
ループの対応表を示す図である。
19 is a diagram showing a redundancy group correspondence table created for the hierarchical relationship in FIG.

【図20】 実施の形態2のデータ格納装置によるデー
タ書き込み動作を示すフロー図である。
FIG. 20 is a flowchart showing a data write operation by the data storage device according to the second embodiment.

【図21】 図19の多重度2に対応する冗長グループ
設定がなされているシステムのデータブロック格納例を
示す図である。
FIG. 21 is a diagram showing an example of data block storage in a system in which a redundant group setting corresponding to the multiplicity of 2 in FIG. 19 is made.

【図22】 図21の構成にリードブロックを設定した
場合を示す図である。
22 is a diagram showing a case where a read block is set in the configuration of FIG.

【図23】 図21の構成でディスク故障時に設定され
るリードブロック番号を示す図である。
FIG. 23 is a diagram showing a read block number set when a disk fails in the configuration of FIG. 21.

【図24】 実施の形態2のデータ格納装置によるディ
スク故障時の動作を示すフロー図である。
FIG. 24 is a flowchart showing an operation when a disk fails in the data storage device according to the second embodiment.

【図25】 図5の構成のシステムを実施の形態2の手
順に基づいてデータを分散配置させたディスク格納例を
示す図である。
FIG. 25 is a diagram showing an example of disk storage in which data is distributed in the system having the configuration of FIG. 5 based on the procedure of the second embodiment.

【図26】 この発明の実施の形態3によるデータ格納
装置のブロック格納例を示す図である。
FIG. 26 is a diagram showing an example of block storage of a data storage device according to a third embodiment of the present invention.

【図27】 ミラーリングを用いたデータ格納例を示す
図である。
FIG. 27 is a diagram showing an example of data storage using mirroring.

【図28】 従来のディスクアレイによるデータ格納例
を示す図である。
FIG. 28 is a diagram showing an example of data storage by a conventional disk array.

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

1 ホストマシン(データ格納装置)、2 ネットワー
ク、3−1〜3−nノードマシン、4 主記憶装置、5
オペレーティングシステム、6 データ転送制御部
(読み出し手段)、7 ファイルブロック管理部(デー
タ格納手段)、7a ファイルブロック管理テーブル、
7a−1 ディスク番号、7a−2 リードブロック番
号、8 通信制御部、9 ノードマシン管理部(データ
格納手段)、9a ノードマシン管理テーブル、10
中央演算処理装置(データ格納手段、読み出し手段)、
11 ネットワークアダプタ、12a システムバス、
12b PCIバス、13 バス結合装置、14 ディ
スクコントローラ、15,16 ディスク装置(記憶装
置)、17 オペレーティングシステム、18 通信制
御部、19 ディスクアクセス制御部、20 ディスク
装置(記憶装置)、21 ノードマシン管理情報、21
a ノードマシン番号、21b IPアドレス、21c
ポート番号、22 ディスク情報、22a ディスク
番号、22bノードマシン番号、23 階層情報、23
a 下位階層情報、23b 上位階層情報、24 距離
情報、25,26 フロアフレーム、25−1,25−
2,26,26−1,26−2 ノードマシンフレー
ム、27 システム全体、28ホストマシン階層、29
ホストマシンフレーム、30−1,30−2,30−
3,30−4 ノードマシン、31−1,31−2 ル
ータ、32 ホストマシン、33−1,33−2,33
−3,33−4 冗長グループ。
1 host machine (data storage device), 2 network, 3-1 to 3-n node machine, 4 main storage device, 5
Operating system, 6 data transfer control unit (reading unit), 7 file block management unit (data storage unit), 7a file block management table,
7a-1 disk number, 7a-2 read block number, 8 communication control unit, 9 node machine management unit (data storage means), 9a node machine management table, 10
Central processing unit (data storage means, reading means),
11 network adapter, 12a system bus,
12b PCI bus, 13 bus coupling device, 14 disk controller, 15, 16 disk device (storage device), 17 operating system, 18 communication control unit, 19 disk access control unit, 20 disk device (storage device), 21 node machine management Information, 21
a Node machine number, 21b IP address, 21c
Port number, 22 disk information, 22a disk number, 22b node machine number, 23 layer information, 23
a lower layer information, 23b upper layer information, 24 distance information, 25,26 floor frame, 25-1,25
2, 26, 26-1, 26-2 node machine frame, 27 whole system, 28 host machine hierarchy, 29
Host machine frame, 30-1, 30-2, 30-
3, 30-4 node machine, 31-1, 31-2 router, 32 host machine, 33-1, 33-2, 33
-3, 33-4 Redundancy group.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 郡 光則 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 Fターム(参考) 5B018 GA04 HA04 MA14 5B065 BA01 CA12 CC08 CH13 CH18 EA31    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Mitsunori Gun             2-3 2-3 Marunouchi, Chiyoda-ku, Tokyo             Inside Ryo Electric Co., Ltd. F-term (reference) 5B018 GA04 HA04 MA14                 5B065 BA01 CA12 CC08 CH13 CH18                       EA31

Claims (17)

【特許請求の範囲】[Claims] 【請求項1】 データを同一データ量ごとの複数のデー
タブロックに分割して、該データブロック単位で複数の
記憶装置に同一ブロック数ずつ分散配置させると共に、
所定数の上記記憶装置ごとに同一内容の上記データブロ
ックを重複して格納するデータ格納手段と、 上記複数の記憶装置に分散して格納されたデータを上記
所定数の記憶装置ごとに1又は複数のデータブロック単
位で読み出す読み出し手段とを備えたデータ格納装置。
1. Data is divided into a plurality of data blocks of the same data amount, and the same number of blocks are distributed and arranged in a plurality of storage devices in units of the data blocks.
Data storage means for redundantly storing the same data block for each predetermined number of the storage devices, and one or a plurality of data stored in a distributed manner in the plurality of storage devices. And a data storage device having a reading means for reading the data block by unit.
【請求項2】 複数の記憶装置の各記憶装置間における
相互作用の指標である距離情報を用いて、相互作用の小
さい上記記憶装置同士をまとめた冗長グループを構成
し、データを上記複数の記憶装置に分散して格納するに
あたり、該データを同一データ量ごとの複数のデータブ
ロックに分割し、上記冗長グループ内の各記憶装置に同
一内容の上記データブロックを重複して格納するデータ
格納手段と、 上記複数の記憶装置に分散して格納されたデータを上記
冗長グループごとに1又は複数のデータブロック単位で
読み出す読み出し手段とを備えたデータ格納装置。
2. A redundant group in which the storage devices having a small interaction are grouped together by using distance information which is an index of the interaction between the storage devices of the plurality of storage devices, and data is stored in the plurality of storage devices. A data storage unit that divides the data into a plurality of data blocks of the same data amount and stores the data blocks of the same content in duplicate in each storage device in the redundancy group when the data blocks are distributed and stored in the devices. A data storage device comprising: a reading unit that reads out data stored in a distributed manner in the plurality of storage devices in units of one or a plurality of data blocks for each of the redundancy groups.
【請求項3】 複数の記憶装置の各記憶装置間における
相互作用の指標である距離情報を用いて、相互作用の小
さい上記記憶装置同士をまとめた冗長グループを構成
し、データを上記複数の記憶装置に分散して格納するに
あたり、該データを同一データ量ごとの複数のデータブ
ロックに分割し、上記冗長グループ内の各記憶装置に同
一内容の上記データブロックを重複して格納するデータ
格納装置。
3. A redundant group in which the storage devices having a small interaction are grouped together by using distance information, which is an index of interaction between the storage devices of the plurality of storage devices, and data is stored in the plurality of storage devices. A data storage device that divides the data into a plurality of data blocks of the same data amount and stores the data blocks of the same content in duplicate in each storage device in the redundancy group when the data blocks are distributed and stored in the devices.
【請求項4】 データ格納手段は、複数の記憶装置に対
してラウンドロビンでデータブロックを格納することを
特徴とする請求項1又は請求項2記載のデータ格納装
置。
4. The data storage device according to claim 1, wherein the data storage means stores the data block in a round robin manner in a plurality of storage devices.
【請求項5】 データ格納手段は、ハッシュ分散を用い
てデータブロックを格納すべき記憶装置を決定すること
を特徴とする請求項1又は請求項2記載のデータ格納装
置。
5. The data storage device according to claim 1, wherein the data storage means determines the storage device in which the data block should be stored by using hash distribution.
【請求項6】 データ格納手段は、各記憶装置から一度
に読み出される複数のデータブロックをそれぞれの記憶
領域内で隣接して配置することを特徴とする請求項1又
は請求項2記載のデータ格納装置。
6. The data storage according to claim 1, wherein the data storage means arranges a plurality of data blocks read at a time from each storage device adjacently in each storage area. apparatus.
【請求項7】 読み出し手段は、いずれかの記憶装置が
データ読み出し不可となると、該記憶装置から読み出さ
れるべきデータブロック群を、これと同一内容のデータ
ブロック群を分散して格納する他の複数の記憶装置から
均等に読み出すことを特徴とする請求項1又は請求項2
記載のデータ格納装置。
7. A plurality of reading units store a data block group to be read from the storage device in a distributed manner when the storage device cannot read data in any of the storage devices. 3. Evenly reading from the storage device of claim 1.
The described data storage device.
【請求項8】 複数の記憶装置が構成する階層構造に基
づいて距離情報を求めることを特徴とする請求項3記載
のデータ格納装置。
8. The data storage device according to claim 3, wherein the distance information is obtained based on a hierarchical structure formed by a plurality of storage devices.
【請求項9】 各記憶装置が配置される位置情報に基づ
いて距離情報を求めることを特徴とする請求項3記載の
データ格納装置。
9. The data storage device according to claim 3, wherein distance information is obtained based on position information in which each storage device is arranged.
【請求項10】 各記憶装置間の接続経路に応じて決定
される故障率に基づいて距離情報を求めることを特徴と
する請求項3記載のデータ格納装置。
10. The data storage device according to claim 3, wherein the distance information is obtained based on a failure rate determined according to a connection path between the storage devices.
【請求項11】 同一内容のデータブロックを重複させ
る度合いである多重度を冗長グループごとに設定するこ
とを特徴とする請求項3記載のデータ格納装置。
11. The data storage device according to claim 3, wherein a multiplicity, which is a degree of overlapping data blocks having the same content, is set for each redundancy group.
【請求項12】 距離情報に基づいて信頼性のレベルを
冗長グループごとに設定することを特徴とする請求項3
記載のデータ格納装置。
12. The reliability level is set for each redundancy group based on the distance information.
The described data storage device.
【請求項13】 データを同一データ量ごとの複数のデ
ータブロックに分割して、該データブロック単位で複数
の記憶装置に同一ブロック数ずつ分散配置させると共
に、所定数の上記記憶装置ごとに同一内容の上記データ
ブロックを重複して格納するデータ格納ステップと、 上記複数の記憶装置に分散して格納されたデータを上記
所定数の記憶装置ごとに1又は複数のデータブロック単
位で読み出す読み出しステップとを備えたデータ管理方
法。
13. The data is divided into a plurality of data blocks of the same data amount, and the same number of blocks are distributed and arranged in a plurality of storage devices in units of the data blocks, and the same contents are stored for each predetermined number of the storage devices. A data storing step of storing the data blocks in duplicate, and a reading step of reading the data stored in a distributed manner in the plurality of storage devices in units of one or a plurality of data blocks for each of the predetermined number of storage devices. Prepared data management method.
【請求項14】 データ格納ステップにて、複数の記憶
装置の各記憶装置間における相互作用の指標である距離
情報を用いて、相互作用の小さい上記記憶装置同士をま
とめた冗長グループを構成し、データを上記複数の記憶
装置に分散して格納するにあたり、該データを同一デー
タ量ごとの複数のデータブロックに分割し、上記冗長グ
ループ内の各記憶装置に同一内容の上記データブロック
を重複して格納することを特徴とする請求項13記載の
データ管理方法。
14. In the data storing step, a distance group, which is an index of the interaction between the storage devices of the plurality of storage devices, is used to form a redundant group in which the storage devices having a small interaction are put together. When the data is distributed and stored in the plurality of storage devices, the data is divided into a plurality of data blocks of the same data amount, and the storage device in the redundancy group is duplicated with the same data block. 14. The data management method according to claim 13, wherein the data is stored.
【請求項15】 データを同一データ量ごとの複数のデ
ータブロックに分割して、該データブロック単位で複数
の記憶装置に同一ブロック数ずつ分散配置させると共
に、所定数の上記記憶装置ごとに同一内容の上記データ
ブロックを重複して格納するデータ格納手段、 上記複数の記憶装置に分散して格納されたデータを上記
所定数の記憶装置ごとに1又は複数のデータブロック単
位で読み出す読み出し手段としてコンピュータを機能さ
せるためのプログラム。
15. The data is divided into a plurality of data blocks of the same amount of data, the same number of blocks are distributed and arranged in a plurality of storage devices in units of the data blocks, and the same contents are stored for each of a predetermined number of the storage devices. A data storage means for storing the data blocks in duplicate, a computer as a read means for reading out the data stored dispersedly in the plurality of storage devices in units of one or a plurality of data blocks for each of the predetermined number of storage devices. A program to make it work.
【請求項16】 複数の記憶装置の各記憶装置間におけ
る相互作用の指標である距離情報を用いて、相互作用の
小さい上記記憶装置同士をまとめた冗長グループを構成
し、データを同一データ量ごとの複数のデータブロック
に分割して、該データブロック単位で上記複数の記憶装
置に同一ブロック数ずつ分散配置させると共に、上記冗
長グループ内の各記憶装置に同一内容の上記データブロ
ックを重複して格納するデータ格納手段、 上記複数の記憶装置に分散して格納されたデータを上記
冗長グループごとに1又は複数のデータブロック単位で
読み出す読み出し手段としてコンピュータを機能させる
ためのプログラム。
16. A redundant group in which the storage devices having a small interaction are grouped together by using distance information, which is an index of interaction between the storage devices of a plurality of storage devices, and data is stored in the same amount of data. Divided into a plurality of data blocks, and the same number of blocks are distributed and arranged in the plurality of storage devices in units of the data blocks, and the data blocks having the same content are redundantly stored in the storage devices in the redundancy group. A program for causing a computer to function as a reading unit that reads out data stored in a distributed manner in the plurality of storage devices in units of one or a plurality of data blocks for each of the redundancy groups.
【請求項17】 複数の記憶装置の各記憶装置間におけ
る相互作用の指標である距離情報を用いて、相互作用の
小さい上記記憶装置同士をまとめた冗長グループを構成
し、データを上記複数の記憶装置に分散して格納するに
あたり、該データを同一データ量ごとの複数のデータブ
ロックに分割し、上記冗長グループ内の各記憶装置に同
一内容の上記データブロックを重複して格納するデータ
格納手段としてコンピュータを機能させるためのプログ
ラム。
17. A redundant group in which the storage devices having a small interaction are grouped together by using distance information, which is an index of interaction between the storage devices of the plurality of storage devices, and data is stored in the plurality of storage devices. As a data storage unit that divides the data into a plurality of data blocks of the same data amount and stores the data blocks of the same content in duplicate in each storage device in the redundant group when the data blocks are distributed and stored in the devices. A program for operating a computer.
JP2002024260A 2002-01-31 2002-01-31 Data storage device, data management method and program Expired - Lifetime JP4259800B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002024260A JP4259800B2 (en) 2002-01-31 2002-01-31 Data storage device, data management method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002024260A JP4259800B2 (en) 2002-01-31 2002-01-31 Data storage device, data management method and program

Publications (2)

Publication Number Publication Date
JP2003223285A true JP2003223285A (en) 2003-08-08
JP4259800B2 JP4259800B2 (en) 2009-04-30

Family

ID=27746748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002024260A Expired - Lifetime JP4259800B2 (en) 2002-01-31 2002-01-31 Data storage device, data management method and program

Country Status (1)

Country Link
JP (1) JP4259800B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252336A (en) * 2005-03-11 2006-09-21 Mitsubishi Electric Corp Inter-device data transfer apparatus, inter-device data transfer method and program
JP2007193536A (en) * 2006-01-18 2007-08-02 Fujitsu Ltd Disk device, disk control method and command control method
JP2008519356A (en) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド Storage system status indicator and method
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
JP2012103856A (en) * 2010-11-09 2012-05-31 Nippon Hoso Kyokai <Nhk> Recording device
US10203895B2 (en) 2015-08-04 2019-02-12 Kabushiki Kaisha Toshiba Storage management apparatus, storage system, and storage management method
JP2020064473A (en) * 2018-10-17 2020-04-23 株式会社日立製作所 Storage system and data placement method in storage system
US11435917B2 (en) 2019-12-17 2022-09-06 Fujitsu Limited Storage control device for determining storage device to read collectively blocks of object, storage system for determining storage device to read collectively blocks of object, and computer-readable recording medium storing program for determining storage device to read collectively blocks of object

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043639B2 (en) 2004-11-05 2015-05-26 Drobo, Inc. Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare
JP2008519356A (en) * 2004-11-05 2008-06-05 データ ロボティクス インコーポレイテッド Storage system status indicator and method
US7814272B2 (en) 2004-11-05 2010-10-12 Data Robotics, Inc. Dynamically upgradeable fault-tolerant storage system permitting variously sized storage devices and method
US7814273B2 (en) 2004-11-05 2010-10-12 Data Robotics, Inc. Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7818531B2 (en) 2004-11-05 2010-10-19 Data Robotics, Inc. Storage system condition indicator and method
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
JP4870678B2 (en) * 2004-11-05 2012-02-08 ドロボ, インコーポレイテッド Storage system status indicator and method
JP2006252336A (en) * 2005-03-11 2006-09-21 Mitsubishi Electric Corp Inter-device data transfer apparatus, inter-device data transfer method and program
JP2007193536A (en) * 2006-01-18 2007-08-02 Fujitsu Ltd Disk device, disk control method and command control method
JP2012103856A (en) * 2010-11-09 2012-05-31 Nippon Hoso Kyokai <Nhk> Recording device
US10203895B2 (en) 2015-08-04 2019-02-12 Kabushiki Kaisha Toshiba Storage management apparatus, storage system, and storage management method
JP2020064473A (en) * 2018-10-17 2020-04-23 株式会社日立製作所 Storage system and data placement method in storage system
JP2022003556A (en) * 2018-10-17 2022-01-11 株式会社日立製作所 Storage system and data arrangement method in storage system
US11301137B2 (en) 2018-10-17 2022-04-12 Hitachi, Ltd. Storage system and data arrangement method of storage system
JP7140898B2 (en) 2018-10-17 2022-09-21 株式会社日立製作所 Storage system and data allocation method in the storage system
US11435917B2 (en) 2019-12-17 2022-09-06 Fujitsu Limited Storage control device for determining storage device to read collectively blocks of object, storage system for determining storage device to read collectively blocks of object, and computer-readable recording medium storing program for determining storage device to read collectively blocks of object

Also Published As

Publication number Publication date
JP4259800B2 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
JP5342086B2 (en) Computer system, management method thereof, and program
US5991804A (en) Continuous media file server for cold restriping following capacity change by repositioning data blocks in the multiple data servers
US7694072B2 (en) System and method for flexible physical-logical mapping raid arrays
KR100392382B1 (en) Method of The Logical Volume Manager supporting Dynamic Online resizing and Software RAID
US8838889B2 (en) Method of allocating raid group members in a mass storage system
US20090089534A1 (en) Thin Provisioning Migration and Scrubbing
WO2010086921A1 (en) Storage system
JPH08249132A (en) Disk array device
JP5946472B2 (en) Method, system and computer program for managing application processing in a computer system
CN110413201A (en) For managing the method, equipment and computer program product of storage system
JP2018508073A (en) Data removal, allocation and reconstruction
JP2016024563A (en) Storage control apparatus, storage system, and storage control program
JP7167078B2 (en) Distributed storage system and storage control method
JP4259800B2 (en) Data storage device, data management method and program
JP6617461B2 (en) Control device, control program, and control method
JPH0863298A (en) Disk array device
CN110058785B (en) Method and apparatus for managing storage system
CN107704206A (en) Method, apparatus, equipment and the storage medium of online migration heterogeneous system data
US7877471B2 (en) Detecting system reconfiguration and maintaining persistent I/O configuration data in a clustered computer system
US20220107871A1 (en) Creating and distributing spare capacity of a disk array
US20220066878A1 (en) Reliable RAID System with Embedded Spare Capacity and Flexible Growth
US20210334183A1 (en) Method, device, and storage medium for managing stripe in storage system
WO2018229944A1 (en) Storage system and storage system control method
JP2003131818A (en) Configuration of raid among clusters in cluster configuring storage
JP5169993B2 (en) Data storage system and data area management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071031

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071031

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090106

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4259800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term