JP3736134B2 - Distributed storage method, distributed storage system, and recording medium recording distributed storage program - Google Patents

Distributed storage method, distributed storage system, and recording medium recording distributed storage program Download PDF

Info

Publication number
JP3736134B2
JP3736134B2 JP24334298A JP24334298A JP3736134B2 JP 3736134 B2 JP3736134 B2 JP 3736134B2 JP 24334298 A JP24334298 A JP 24334298A JP 24334298 A JP24334298 A JP 24334298A JP 3736134 B2 JP3736134 B2 JP 3736134B2
Authority
JP
Japan
Prior art keywords
data
node
storage medium
distributed storage
host computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP24334298A
Other languages
Japanese (ja)
Other versions
JP2000076207A (en
Inventor
雅浩 上野
重親 木下
眞人 久力
節子 村田
茂太郎 岩津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP24334298A priority Critical patent/JP3736134B2/en
Publication of JP2000076207A publication Critical patent/JP2000076207A/en
Application granted granted Critical
Publication of JP3736134B2 publication Critical patent/JP3736134B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体に係り、特に、地震、洪水等の地域災害に対するデータ保護機能を持ち、該データ保護構成をノード毎に選択できる分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
従来の技術における耐地域災害性を持つ分散記憶装置の一例が、例えば特開平5−324579号公報に開示されている。特開平5−324579号公報に開示されている分散記憶装置においては、
(1) データを格納するファイル装置とパリティデータとしての冗長データを格納する冗長データ格納装置を合わせて3個以上持ち、
(2)冗長データ格納装置を1個以上持つ、
ことを特徴としている。
【0003】
このような特徴を持つため、自然災害等で、あるノードにあるファイル装置が破壊されても他のノードにある冗長データ格納装置に格納されている冗長データと、正常動作しているファイル装置に格納されているデータとから、破壊されたファイル装置に格納されているデータを復元できる。
パリティデータとしては、例えばファイル装置が4台ある場合、各ファイル装置のストライプa0、a1、a2、a3からパリティデータp0は以下の式で算出される。
【0004】
p0=a0+a1+a2+a3(mod2)
ここで’+’はmodulo2の加法を表す。
また、従来の技術における耐地域災害性を持つ分散記憶装置の別の一例として、一般的なRAID(Redundant Array of Independent Disks)装置がある。この装置は、ディスク装置を統括する1個のRAIDコントローラとデータまたは冗長データを格納する2個以上のディスク装置を使用し、RAIDコントローラインターフェースとして例えばFibre Channel SCSI等を使用することにより各装置を広域に分散でき、データ保持についての耐災害性を持つことができる。
【0005】
図7 は従来の技術による分散記憶装置の第1の例であり、複数のコンピュータからアクセスするために複数のRAIDを独立に構築した例を示している。同図に示すように、第1の例はノードA10、ノードB20、及びノードC30から構成され、各ノードは通信路5 30及び通信路5 31によりバス型に接続されている。ノードA10において、ホストコンピュータ5 00はホスト接続手段5 01、RAID制御手段502、データ転送手段503を介してバス接続され、記憶媒体504は記憶媒体接続手段505、データ転送手段506を介してバス接続され、記憶媒体507は記憶媒体接続手段508、データ転送手段509を介してバス接続されている。ノードB20及びノードC30における構成もノードA10における構成と同様である。記憶媒体に接続されている記憶媒体接続手段及びデータ転送手段は、1台のコンピュータにより機能が実現されることが多く、ホストコンピュータに接続したホスト接続手段、RAID制御手段、及びデータ転送手段はホストコンピュータ内に機能が設けられる場合や単独のコンピュータにより機能が実現される場合がある。
【0006】
本構成において、例えば、ホストコンピュータ500は記憶媒体524と記憶媒体517をRAID2を構成する分散記憶媒体として使用し、ホストコンピュータ510は記憶媒体504と記憶媒体527をRAID2を構成する分散記憶媒体として使用し、ホストコンピュータ520は記憶媒体507と記憶媒体514をRAID2を構成する分散記憶媒体として使用する。
【0007】
図8は従来の技術による分散記憶装置の第2の例であり、これも複数のコンピュータからアクセスするために複数のRAIDを独立に構築した例である。
同図に示すように、第2の例はノードA10、ノードB20、及びノードC30から構成されている。ノードA10において、ホストコンピュータ5 00はホスト接続手段5 01、RAID制御手段502、データ転送手段503を介して通信路541に接続され、ノードC30においてデータ転送手段526、記憶媒体接続手段525を介して記憶媒体524に接続される。また、ホストコンピュータ5 00はホスト接続手段5 01、RAID制御手段502、データ転送手段503を介して通信路540に接続され、ノードB20においてデータ転送手段519、記憶媒体接続手段518を介して記憶媒体517に接続される。ホストコンピュータ510及びホストコンピュータ520も同様の構成により記憶媒体と接続される。記憶媒体に接続されている記憶媒体接続手段及びデータ転送手段は、1台のコンピュータにより機能が実現されることが多く、ホストコンピュータに接続したホスト接続手段、RAID制御手段、及びデータ転送手段はホストコンピュータ内に機能が設けられる場合や単独のコンピュータにより機能が実現される場合がある。
【0008】
本構成において、例えば、ホストコンピュータ500は記憶媒体524と記憶媒体517をRAID2を構成する分散記憶媒体として使用し、ホストコンピュータ510は記憶媒体504と記憶媒体527をRAID2を構成する分散記憶媒体として使用し、ホストコンピュータ520は記憶媒体507と記憶媒体514をRAID2を構成する分散記憶媒体として使用する。
【0009】
【発明が解決しようとする課題】
しかしながら、特開平5−324579号公報に開示されている装置は、パリティデータを持つ構成を示しており、パリティデータを持たない最も信頼性と可用性の高いRAIDレベル1(ミラーリング) を構成できない欠点を持つ。
また、高速性と信頼性を高めるために、一般に、RAIDレベル0のディスクアレイ装置を複数用意し、それぞれを1つのディスク装置と見立ててそれらをRAIDレベル1の技術で組み合わせる等、RAID技術を組み合わせることが行われているが、特開平5- 324579号公報に開示されている装置は、パリティデータを持つ構成を示しており、高速性の高さで有用なRAIDレベル0(ストライピング)を構成できない欠点を持つ。また、特開平5- 324579号公報に開示されている装置は、パリティデータをmodulo2 の加法を用いた演算により算出しているため、Hamming コードを使用しているRAIDレベル2を構成できない欠点を持つ。
【0010】
また、1次元冗長度を持つRAIDレベル6では2種類の冗長データ生成アルゴリズムが必要となるが、1種類目としてmodulo2 の加法を選ぶとしたら2種類目はmodulo2 の加法以外の例えばReed-Solomon誤り訂正符号化方法を選ぶ必要がある。特開平5−324579号公報に開示されている装置は、modulo2 の加法のみに対応しているため、1次元冗長度を持つRAIDレベル6を構成できない欠点を持つ。
【0011】
また、2次元冗長度を持つRAIDレベル6では1回のデータ書き込みに対して2回の冗長データ生成(例えばmodulo2 の加法)が必要となるが、特開平5- 324579号公報に開示されている装置は、1回の冗長データの生成しか行わないため、2次元冗長度を持つRAIDレベル6を構成できない欠点を持つ。
更に、従来の技術によると、一般的なRAID装置は、RAIDコントローラを1個しか持たないためRAIDコントローラのある地域に自然災害等が起こり、RAIDコントローラが破壊された場合、システム全体が停止するため、地域災害に対する可用性、すなわち装置が破壊されてもデータアクセス可能である性質を持つことができない欠点を持つ。また、一般的なRAID装置は、RAIDコントローラを1個しか持たないため、複数のコンピュータからアクセスできない欠点を持つ。また、一般的なRAID装置は、複数のコンピュータからアクセスするために複数のRAID装置を使用しなければならず、各装置が全く独立して構築されるため、コストが高くなるという欠点を持つ。すなわち、図7及び図8に示したように、ノード毎に異なるファイルシステムを持ち、各ノードのデータを冗長度を持たせながらそれぞれ他のノードに分散蓄積する場合、従来技術ではデータ転送手段と記憶媒体接続手段のコストがノード数の2乗のオーダに比例してかかるため、構築するために多くの投資が必要という問題点がある。
【0012】
本発明は上記の点に鑑みなされたもので、上記に説明した問題点を解決し、RAIDレベル0及びRAIDレベル1〜6を含むデータ保護機能を各ノード毎で選択して構成でき、地域災害に対して可用性を持ち、複数のコンピュータからのアクセスが可能であり、重複した装置を持たず低コストな分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体を提供することを目的とする。
【0013】
【課題を解決するための手段】
請求項1に記載の発明は、互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶方法であって、各ノードにおいて、ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合するデータ分割統合手段により、複数種類のデータ保護構成から1種類のデータ保護構成が指定され、一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送するデータ転送手段は、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断し、該データを該ホストコンピュータあるいは該分散記憶媒体に振り分け、該分散記憶媒体と該データ転送手段とを接続する記憶媒体接続手段は、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出すことを特徴とする分散記憶方法である。
【0014】
請求項2に記載の分散記憶方法は、前記データ分割統合手段が、前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成し、分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成し、該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する。
【0015】
請求項3に記載の発明は、互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶システムであって、各ノードにおいて、ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合し、複数種類のデータ保護構成から1種類のデータ保護構成を指定するデータ分割統合手段と、一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送し、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断し、該データを該ホストコンピュータあるいは該分散記憶媒体に振り分けるデータ転送手段と、該分散記憶媒体と該データ転送手段とを接続し、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す記憶媒体接続手段とを有する分散記憶システムである。
【0016】
請求項4に記載の分散記憶システムは、前記データ分割統合手段が、前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成する手段と、分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成する手段と、該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する手段と、を有する。
【0017】
請求項5に記載の発明は、互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶方法を各ノードのコンピュータに実行させる分散記憶プログラムを記録した記録媒体であって、前記コンピュータを、ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合し、複数種類のデータ保護構成から1種類のデータ保護構成を指定するデータ分割統合手段、一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送し、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断して該データを該ホストコンピュータあるいは該分散記憶媒体に振り分けるデータ転送手段、該分散記憶媒体とデータ転送手段とを接続し、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す記憶媒体接続手段、として機能させるための分散記憶プログラムを記録した記録媒体である。
【0018】
請求項6に記載の分散記憶プログラムを記録した記録媒体は、前記データ分割統合手段が、前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成する手段と、分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成する手段と、該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する手段とを有する。
【0019】
上記のように、本発明によれば、データ分割統合手段がデータ保護構成を指定し、指定したデータ保護構成に適合した冗長データを生成し、指定したデータ保護構成に適合した場所に該冗長データを格納することができるので、各ノード毎にデータ保護構成機能を選択して実現することができる。また、データ保護構成をRAID0〜6のいずれかとすることにより、各ノード毎にRAID0〜6を選択して実現することができる。
【0020】
また、本発明によれば、各ノードにデータ分割統合手段があるので、地域災害によりあるノードが破壊されても別のノードのデータアクセス性が保持されるため、可用性が実現できる。また、データ転送手段は、他ノードから到着したデータが自ノードのファイルシステムのものか他ノードのファイルシステムのものかを判断し振り分ける機能を持つため、従来の技術では自ノードと他ノード分用意しなければならなかったデータ転送手段を共有でき、記憶媒体接続手段は、単一または複数媒体に接続でき、ノード別に単一または複数媒体の記憶領域を分割し、ノード別に分割データの書き込みと読み出しを行う機能を持つため、従来の技術では他ノード数分あった記憶媒体接続手段を共有できる。したがって、従来の技術においては重複して必要であった装置を削減することができ、コストの削減ができる。更に、各ノードは1つのデータ転送手段に接続するので、従来技術におけるチャネル型構成ではホストコンピュータと記憶媒体間毎に少なくとも一本ずつ必要であった通信路が、ノードとノードの間に少なくとも1本あればよい構成とすることができ、更なるコスト削減が可能となる。
【0021】
【発明の実施の形態】
図1は本発明における第1の実施例の構成を示す図である。同図に示すように、第1の実施例はノードA10、ノードB20、及びノードC30から構成され、各ノードは通信路130及び通信路131によりバス型ネットワーク接続されている。ノードA10はホストコンピュータ100、ホスト接続手段101、データ分割統合手段102、データ接続手段103、記憶媒体接続手段104、記憶媒体105、記憶媒体106から構成され、ノードBはホストコンピュータ110、ホスト接続手段111、データ分割統合手段112、データ転送手段113、記憶媒体接続手段114、記憶媒体115、記憶媒体116から構成され、ノードCはホストコンピュータ120、ホスト接続手段121、データ分割統合手段122、データ転送手段123、記憶媒体接続手段124、記憶装置125、記憶装置126から構成される。各手段の機能と、本実施例の動作については後述するとして、次に各手段の実現例について説明する。
【0022】
ホスト接続手段に、例えば、SCSI(Small Computer System Interface )ターゲット機能を持たせ、ホストコンピュータのインターフェースをSCSIイニシエータとして働かせることにより、ホストコンピュータとホスト接続手段との接続を行い、記憶媒体接続手段に、例えば、SCSIイニシエータ機能を持たせ、SCSIターゲット機能を持つ複数の記憶媒体をディジーチェーン方式で記憶媒体接続手段に接続する。また、通信路130、131としては、例えば、Fibre Channel を用いて、長距離大容量通信を行う。
【0023】
ホスト接続手段とデータ分割統合手段とデータ転送手段と記憶媒体接続手段は、例えば、1つのCPU(Central proccessing unit)を持つハードウェアにSCSIイニシエータ機能とSCSIターゲット機能とFibre Channel 接続機能を付加して実現する。また、データ分割統合手段には、例えば、RAID(Redundant Array of Independent Disks)機能を持たせ、記憶媒体には、例えば、ハードディスク装置や光磁気ディスク装置等の記憶装置を使用する。
【0024】
図2は図1の構成のうち、ノードA10のホストコンピュータ100からのデータ書き込みと読み出しに関係する構成要素のみを記述した図である。図1に示す構成では、それぞれのノードにホストコンピュータを持ち、それぞれのホストコンピュータは他のノードとは独立にデータへのアクセスができるが、ここからは説明を簡単にするために、図2を用いる。なお、ノードB20、ノードC30におけるそれぞれのホストコンピュータのデータアクセス動作はノードA10のホストコンピュータ100のデータアクセス動作と同様である。
【0025】
また、図2においては、ホストコンピュータ100から見た仮想記憶装置141、ノードA10のデータ分割統合手段102から見たノードB20の仮想記憶装置142、ノードA10のデータ分割統合手段102から見たノードC30の仮想記憶装置143を記載している。
次に前述した図1における各手段の機能を図2を用いて説明する。なお、以下図2を用いて説明する機能は、図1に示す各手段の機能と同様である。
【0026】
図2中、ホストコンピュータ100においてホスト接続手段101は、仮想記憶装置141の入出力を行うものとみなされるため、ホストコンピュータ100は、データの書き込みと読み出しを行う際には、仮想記憶装置141の論理的なアドレスを指定する。このアドレスは、例えばSCSIのLBA(Logical Block Address )を使用する。ホスト接続手段101はこの論理的なアドレスをホストコンピュータ100から受け、データ分割統合手段102に送る機能を有する。
【0027】
また、ノードA10のデータ分割統合手段102においてはノードB20に仮想記憶装置142が接続され、ノードC30に仮想記憶装置143が接続されているものとみなされるため、ノードA10のデータ分割統合手段102は、各仮想記憶装置142、143へのデータの書き込みと読み出しを行う際には、142と143の論理的なアドレスを指定する。
【0028】
したがって、ノードA10のデータ分割統合手段102は、データアクセスの際に、ノードA10のホストコンピュータ100から見た仮想記憶装置141の論理的なアドレスをホスト接続手段101から受け、そのアドレスをデータ分割統合手段102から見たノードB20とノードC30の仮想記憶装置142、143の論理的なアドレスに変換を行い、変換したアドレスをデータ転送手段に送る機能を有する。また、データ分割統合手段102は、仮想記憶装置141の論理的なアドレスと仮想記憶142、143の論理的なアドレスの対応付けや、冗長データを蓄積しておくアドレスのための表または算出式を、データ分割蓄積情報として保持する機能を有し、更に、データ分割蓄積情報のバックアップ情報を蓄積しておくための仮想記憶装置142、143の論理的なアドレスを保持する機能を有している。
【0029】
データ転送手段103は各ノード宛のパケットのヘッダを作成し、パケットを通信路に送る機能を有する。また、データ転送手段は自ノード宛のパケットを受け取り、アドレスとデータを記憶媒体に送る機能も有する。
ノードB20の記憶媒体接続手段114は、データ転送手段113からノードB20の仮想記憶装置142の論理的なアドレスを受け、そのアドレスを、ノードB20の記憶媒体115、116のIDと論理的なアドレスへの変換を行う機能を有する。ノードC30についてもノードB20と同様に、ノードC30の記憶媒体接続手段124では、ノードC30の仮想記憶装置143の論理的なアドレスからノードC30の記憶媒体125、126へのIDと論理的なアドレスへの変換を行う。記憶媒体115、116、125、126の論理的なIDとアドレスとしては、例えば、SCSIのIDとLBAを使用する。
【0030】
続いて、図2に示す構成を用いて第1の実施例におけるデータ書き込みの動作を、図3に示すフローチャートを用いて説明する。
ステップ1)ノードA10のホストコンピュータ100は、ノードA10のホスト接続手段101へ、仮想記憶装置141の論理的なアドレスとデータを送る。
【0031】
ステップ2)ノードA10のホスト接続手段101は、データ分割統合手段102へ仮想記憶装置141の論理的なアドレスとデータを送る。
ステップ3)ノードAのデータ分割統合手段102は、データ分割蓄積情報に従って、仮想記憶装置141の論理的なアドレスを仮想記憶装置142、143の論理的なアドレスへ変換する。また、冗長データが必要な場合は冗長なデータを生成し、データ分割蓄積情報に従って、仮想記憶装置142、143の論理的なアドレスを付与する。その後、仮想記憶装置のIDと変換後のアドレスと分割データと冗長データをノードA10のデータ転送手段103へ送る。
【0032】
ステップ4)ノードA10のデータ転送手段103は、仮想記憶装置のIDを基に各ノード宛のパケットのヘッダを作成し、アドレスと分割データまたは冗長データをつけたパケットを通信路130、131へ送信する。
ステップ5)ノードB20ではデータ転送手段113で、ノードC30ではデータ転送手段123で、それぞれ自ノード宛のパケットを受け取る。そして、受け取ったアドレスとデータをそれぞれ記憶媒体接続手段114、124に送る。
【0033】
ステップ6)ノードB20の記憶媒体接続手段114は仮想記憶装置142のアドレスを記憶媒体115、116のIDと論理的なアドレスに変換し、ノードC30の記憶媒体接続手段124は仮想記憶装置143のアドレスを記憶媒体125、126のIDと論理的なアドレスに変換し、それぞれのIDとアドレスに従ってデータをそれぞれの記憶媒体に送り、書き込みを行う。
【0034】
次に、データを読み出す場合の動作を、図4に示すフローチャートを用いて説明する。
ステップ11)ノードA10のホストコンピュータ100は、ノードA10のホスト接続手段101へ、読み出したい仮想記憶装置141の論理的なアドレスを送る。
【0035】
ステップ12)ノードA10のホスト接続手段101は、データ分割統合手段102へ、読み出したい仮想記憶装置141の論理的なアドレスを送る。
ステップ13)ノードA10のデータ分割統合手段102は、データ分割蓄積情報に従って、仮想記憶装置141の論理的なアドレスを仮想記憶装置142、143の論理的なアドレスへ変換する。その後、仮想記憶装置のIDと変換後のアドレスをノードAのデータ転送手段103へ送る。
【0036】
ステップ14)ノードA10のデータ転送手段103は、仮想記憶装置のIDを基に各ノード宛のパケットのヘッダを作成し、アドレスをつけたパケットを通信路130、131へ送信する。
ステップ15)ノードB20ではデータ転送手段113で、ノードC30ではデータ転送手段123で、自ノード宛のパケットを受け取る。そして、アドレスをそれぞれ記憶媒体接続手段114、124に送る。
【0037】
ステップ16)ノードB20の記憶媒体接続手段114は仮想記憶装置142のアドレスを記憶媒体115、116のIDと論理的なアドレスに変換し、ノードC30の記憶媒体接続手段124は仮想記憶装置143のアドレスを記憶媒体125、126のIDと論理的なアドレスに変換し、それぞれのIDとアドレスに従ってデータをそれぞれの記憶媒体から読み出す。記憶媒体115、116から読み出したデータと仮想記憶装置142のアドレスをデータ転送手段113へ返し、記憶媒体125、126から読み出したデータと仮想記憶装置143のアドレスをデータ転送手段123へ返す。
【0038】
ステップ17)ノードB20のデータ転送手段113は、仮想記憶装置142のIDとアドレスとデータから、ノードA10宛に返すパケットを生成し、ノードC30のデータ転送手段123は、仮想記憶装置143のIDとアドレスとデータから、ノードA10宛に返すパケットを生成し、それぞれ通信路130、131へ返信する。
【0039】
ステップ18)ノードA10のデータ転送手段103は、ノードB20とノードC30からのパケットを受け取り、IDとアドレスとデータをノードA10のデータ分割統合手段102へ返す。
ステップ19)ノードA10のデータ分割統合手段102は、データ分割蓄積情報を使用して仮想記憶装置142、143のIDとアドレスを仮想記憶装置141のアドレスに変換し、ノードB20、C30から届いた分割データを統合する。統合したデータをノードA10のホスト接続手段101へ返す。
【0040】
ステップ20)ノードA10のホスト接続手段101は受け取ったデータをノードA10のホストコンピュータ100へ返す。
なお、図2では、各ノードに記憶媒体は2つづつ存在する構成となっているが、各ノードの記憶媒体接続手段114、124は各ノードの仮想記憶装置の論理的なアドレスを記憶媒体のIDとアドレスに変換するだけであるので、記憶媒体の数は2つに限られず、必要な容量にあわせて自由に選ぶことができる。前述したように、上記で説明したホストコンピュータからのデータ書き込みと読み出しの動作は、図1におけるノードB20のホストコンピュータ110とノードC30のホストコンピュータ120においても同様である。
【0041】
また、図1に示す構成では、ノード数が3であるが、ノード数が2以上であればノード数が3の場合と同様な動作と効果を得ることができる。
上記で説明したような構成となっているので、ノードごとに異なるファイルシステムを有する分散記憶装置において、各ノードはホスト接続手段とデータ分割統合手段と記憶媒体接続手段とデータ転送手段を1つにでき、また、チャネル型の構成であっても通信路を共有することが可能となる。その効果として、以下に示すようなノード数にほぼ比例したコストで装置を提供することが可能となる。
【0042】
Total
= {( CHC+ CDI+ CT + CT + CMC) ×N}+ {CC ×( N-1) }
= NCHC+ NCDI+ NCT + NCT + NCMC+(N-1) CC
= NCHC+ NCDI+ 2 NCT + NCMC+(N-1) CC
ただし、CTotal はトータルコスト、CHCはホスト接続手段のコスト、CDIはデータ分割統合手段のコスト、CT はデータ転送手段のコスト、CMCは記憶媒体接続手段のコスト、CC は通信路のコスト、Nはノード数を表す。
【0043】
比較対象として従来の技術における図7において説明した一般的なRAID装置を使ってバス型ネットワーク接続を使用した同一の機能を実現する構成のコストを以下の式に示す。

Figure 0003736134
ただし、CTotal はトータルコスト、CHCはホスト接続手段のコスト、CDIはデータ分割統合手段のコスト、CT はデータ転送手段のコスト、CMCは記憶媒体接続手段のコスト、CC は通信路のコスト、Nはノード数を表す。
【0044】
後者から前者を引いた差をとって、N(N−1)CT +N(N−2)CMCのコストダウンが図れることがわかる。この結果が示すように、従来の技術にくらべて、コストを低く押さえることができる。
また、データ分割統合手段はRAID0〜6に対応しているため、各ノードはRAID0〜6の機能を実現でき、各ノードにデータ分割統合手段があるので、地域災害によりあるノードが破壊されても別のノードのデータアクセス性は保持され、可用性が実現できる。更に、各ノードにホスト接続手段を持つので、複数コンピュータからのアクセスが可能となる。
【0045】
次に、可用性を示すためにノード障害による復旧の動作について、図2を用いて、図1の構成においてノードA10のホストコンピュータ100が分散記憶媒体に蓄積しているデータに対して障害が起こった場合について説明する。
障害の発生場所としては、ノードB20又はノードC30での発生、及びノードA10での発生の2通りある。まず、ノードB20で発生した場合を説明する。なお、ノードC30で発生しても同様である。
【0046】
データ分割統合手段102がRAIDレベル1を選択している場合、データ分割統合手段102がノードB20にアクセスできなくなったことを検知すると、データ分割統合手段102はノードC30にのみアクセスをする。これにより
ノードB20障害時においてもデータアクセス可能である。ノードB20が復旧した際には、ノードB20が復旧した旨の情報をノードA10が検知し、データ分割蓄積情報に従ってノードC30のデータを基にノードB20のデータを復元し、ノードB20の記憶媒体に格納することでデータ復旧ができる。復旧中は、ホストコンピュータ100からのデータ書き込みによるデータの追加や変更もデータ分割統合手段102にて復元動作に組み入れるため、復帰中もデータのアクセスが可能である。RAIDレベル2〜6についての動作は上記に説明した動作と同様である。
【0047】
次に、ノードA10で障害が発生し、その障害が復旧した後の動作について説明する。
データ分割統合手段102は、分割されたデータの位置情報やRAIDレベル等が書き込まれたデータ分割蓄積情報が消失しているため、ノードB20又はノードC30から記憶媒体の所定の位置にあるバックアップされたデータ分割蓄積情報を取得する。これによりノードA10から各ノードへのアクセスが可能となる。ノードA10の障害では、ホストコンピュータ100に対するデータの消失は無いので、RAIDレベル0〜6を使用した復旧が可能である。
【0048】
図5は本発明の第2の実施例の構成を示す図である。同図に示すように、第2の実施例は、第1の実施例と同様にノードA10、ノードB20、及びノードC30から構成され、各ノード内の構成も接続方法にかかわる部分を除いて第1の実施例と同一である。第2の実施例では、第1の実施例と異なり、各ノードがチャネル型ネットワーク接続により接続されている。すなわち、ノードA10とノードB20は通信路150により接続され、ノードA10とノードC30は通信路151により接続され、ノードB20とノードC30は通信路152により接続されている。
【0049】
図6は図5の構成のうち、ノードA10のホストコンピュータ100からのデータ書き込みと読み出しに関係する構成要素のみを記述した図である。すなわち、図5に示す構成では、それぞれのノードにホストコンピュータを持ち、それぞれのホストコンピュータは他のノードとは独立にデータへのアクセスができるが、図6に示す構成ではホストコンピュータ100からのデータ書き込みと読み出しに関係する構成要素のみ抜き出して記述している。なお、ノードB20、ノードC30におけるそれぞれのホストコンピュータのデータアクセス動作はノードA10のホストコンピュータ100のデータアクセス動作と同様である。
【0050】
また、図6においては、ホストコンピュータ100から見た仮想記憶装置141、ノードA10のデータ分割統合手段102から見たノードB20の仮想記憶装置142、ノードA10のデータ分割統合手段102から見たノードC30の仮想記憶装置143を記載している。
図5に示す各手段の実現例、機能は第1の実施例と同様である。また、図6に示す構成の動作は、図2で説明した第1の実施例における動作と同様である。すなわち、バス型ネットワークあるいはチャネル型ネットワークノードのどちらを接続手段として利用しても、本発明による分散記憶システムは同様の動作を行う。
【0051】
第2の実施例に示す構成においても第1の実施例と同様に、ノードごとに異なるファイルシステムを有する分散記憶装置においては、各ノードはホスト接続手段とデータ分割統合手段と記憶媒体接続手段とデータ転送手段を1つにでき、また、通信路を共有することが可能となる。ここで、第2の実施例のコスト面の効果を示すと、以下のように、通信路以外はノード数にほぼ比例した低いコストで装置を提供することが可能となる。
【0052】
Total
= {( CHC+ CDI+ CT + CT + CMC) ×N}+ {CC ×N(N-1) }
= NCHC+ NCDI+ NCT + NCT + NCMC+N( N-1) CC
= NCHC+ NCDI+ 2 NCT + NCMC+N( N-1) CC
ただし、CTotal はトータルコスト、CHCはホスト接続手段のコスト、CDIはデータ分割統合手段のコスト、CT はデータ転送手段のコスト、CMCは記憶媒体接続手段のコスト、CC は通信路のコスト、Nはノード数を表す。
【0053】
比較対象として従来の技術において図8で説明した一般的なRAID装置を使ってチャネル型ネットワーク接続を使用した同一の機能を実現する構成についてのコストを以下の式に示す。
Figure 0003736134
ただし、CTotal はトータルコスト、CHCはホスト接続手段のコスト、CDIはデータ分割統合手段のコスト、CT はデータ転送手段のコスト、CMCは記憶媒体接続手段のコスト、CC は通信路のコスト、Nはノード数を表す。
【0054】
後者から前者を引いた差をとると、N(N−1)CT +N(N−2)CMCのコストダウンが図れることがわかる。この結果が示すように、従来の技術にくらべて、コストが低く押さえられる。通信路については前者は後者に比較して1/2のコストとなる。
また、第1の実施例と同様に、第2の実施例はデータ分割統合手段はRAID0〜6に対応しているため、各ノードはRAID0〜6の機能を実現でき、各ノードにデータ分割統合手段があるので、地域災害によりあるノードが破壊されても別のノードのデータアクセス性は保持され、可用性が実現できる。更に、各ノードにホスト接続手段を持つので、複数コンピュータからのアクセスが可能となる。
【0055】
次に、本発明における分散記憶プログラムを記録した記録媒体の実施例について説明する。図9は、CPU600、メモリ601、外部記憶装置602、ディスプレイ603、キーボード604、通信処理装置605を備えたコンピュータシステムの構成図であり、本発明における分散記憶プログラムを記録した記録媒体は図9に示すメモリ601又は外部記憶装置602のいずれか又は両方に相当する。また、光磁気ディスク、磁気ディスク、磁気テープ等の可搬媒体、又は電子メモリ、ハードディスク等も本発明の記録媒体に相当し、これらの記録媒体に格納された本発明の手段を有する分散記憶プログラムを、図9に示すコンピュータシステムにローディングし、該コンピュータシステムをホストコンピュータ又は記憶媒体のいずれか又は両方に接続させ、他ノードの本発明による方法を使用したシステムと通信路を介して接続することにより、該コンピュータシステムにおいて上記の分散記憶方法の使用が可能となる。
【0056】
なお、本発明は上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【0057】
【発明の効果】
上記のように、本発明によれば、データ分割統合手段がデータ保護構成を指定し、指定したデータ保護構成に適合した冗長データを生成し、指定したデータ保護構成に適合した場所に該冗長データを格納することができるので、各ノード毎にデータ保護構成機能を選択して実現することができる。また、データ保護構成をRAID0〜6のいずれかとすることにより、各ノード毎にRAID0〜6を選択して実現することができる。
【0058】
また、本発明によれば、各ノードにデータ分割統合手段があるので、地域災害によりあるノードが破壊されても別のノードのデータアクセス性が保持されるため、可用性が実現できる。更に、各ノードにおけるデータ転送手段はデータ振り分け機能を持ち、データ転送手段に接続された記憶媒体接続手段はノード毎に割り当てられた記憶媒体又は記憶領域にデータアクセスすることができるため、単一のデータ転送手段及び記憶媒体接続手段により自ノードのホストコンピュータ及び他ノードの複数ホストコンピュータからのアクセスを受ける複数の記憶媒体を自ノードに設けることが可能となり、コスト削減が可能である。また、チャネル型の構成でも通信路を共有させることができ、更なるコスト削減が可能である。
【図面の簡単な説明】
【図1】本発明における第1の実施例の構成を示す図である。
【図2】本発明における第1の実施例の動作説明のための図である。
【図3】本発明における第1の実施例のホストコンピュータの書き込み動作を示すフローチャートである。
【図4】本発明における第1の実施例のホストコンピュータの読み込み動作を示すフローチャートである。
【図5】本発明における第2の実施例の構成を示す図である。
【図6】本発明における第2の実施例の動作をわかりやすく示すための図である。
【図7】従来の技術における分散記憶装置の第1の例である。
【図8】従来の技術における分散記憶装置の第2の例である。
【図9】本発明の記録媒体の実施例におけるコンピュータシステムの構成図である。
【符号の説明】
10 ノードA
20 ノードB
30 ノードC
100、110、120、500、510、520 ホストコンピュータ
101、111、121、501、511、521 ホスト接続手段
102、112、122 データ分割統合手段
502、512、522 RAID制御手段
103、113、123、503、513、523 データ転送手段
506、516、526、509、519、529 データ転送手段
104、114、124、505、515、525 記憶媒体接続手段
508、518、528 記憶媒体接続手段
504、514、524、507、517、527 記憶媒体
130、131、530、531 通信路
540、541、542、543、544 通信路
600 CPU
601 メモリ
602 外部記憶装置
603 ディスプレイ
604 キーボード
605 通信処理装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a distributed storage method, a distributed storage system, and a recording medium on which a distributed storage program is recorded. In particular, the present invention has a data protection function against local disasters such as earthquakes and floods, and the data protection configuration can be selected for each node. The present invention relates to a storage method, a distributed storage system, and a recording medium on which a distributed storage program is recorded.
[0002]
[Prior art]
An example of a distributed storage device having local disaster resistance in the prior art is disclosed in, for example, Japanese Patent Laid-Open No. 5-324579. In the distributed storage device disclosed in JP-A-5-324579,
 (1) Have three or more file devices that store data and redundant data storage devices that store redundant data as parity data.
(2) having one or more redundant data storage devices;
It is characterized by that.
[0003]
Because of these characteristics, even if a file device in one node is destroyed due to a natural disaster, etc., the redundant data stored in the redundant data storage device in another node and the file device operating normally The data stored in the destroyed file device can be restored from the stored data.
For example, when there are four file devices, the parity data p0 is calculated from the stripes a0, a1, a2, and a3 of each file device by the following formula.
[0004]
p0 = a0 + a1 + a2 + a3 (mod2)
Here, “+” represents modulo 2 addition.
Another example of a conventional distributed storage device having local disaster tolerance is a general RAID (Redundant Array of Independent Disks) device. This device uses one RAID controller that controls the disk device and two or more disk devices that store data or redundant data, and each device can be configured in a wide area by using, for example, Fiber Channel SCSI as a RAID controller interface. Can be distributed and can have disaster tolerance for data retention.
[0005]
FIG. 7 shows a first example of a conventional distributed storage device, in which a plurality of RAIDs are independently constructed for access from a plurality of computers. As shown in the figure, the first example includes a node A 10, a node B 20, and a node C 30, and each node is connected in a bus type by a communication path 5 30 and a communication path 5 31. In the node A 10, the host computer 500 is bus-connected through the host connection unit 500 1, the RAID control unit 502 and the data transfer unit 503, and the storage medium 504 is bus-connected through the storage medium connection unit 505 and the data transfer unit 506. The storage medium 507 is bus-connected via a storage medium connection unit 508 and a data transfer unit 509. The configurations of the node B20 and the node C30 are the same as the configuration of the node A10. The functions of the storage medium connection means and the data transfer means connected to the storage medium are often realized by a single computer, and the host connection means, RAID control means, and data transfer means connected to the host computer are the host. A function may be provided in a computer or a function may be realized by a single computer.
[0006]
In this configuration, for example, the host computer 500 uses the storage medium 524 and the storage medium 517 as a distributed storage medium constituting RAID2, and the host computer 510 uses the storage medium 504 and the storage medium 527 as a distributed storage medium constituting RAID2. Then, the host computer 520 uses the storage medium 507 and the storage medium 514 as a distributed storage medium constituting RAID2.
[0007]
FIG. 8 is a second example of a conventional distributed storage device, which is also an example in which a plurality of RAIDs are independently constructed for access from a plurality of computers.
As shown in the figure, the second example includes a node A10, a node B20, and a node C30. In the node A10, the host computer 500 is connected to the communication path 541 through the host connection unit 5001, the RAID control unit 502, and the data transfer unit 503, and at the node C30 through the data transfer unit 526 and the storage medium connection unit 525. Connected to the storage medium 524. The host computer 500 is connected to the communication path 540 through the host connection unit 5001, the RAID control unit 502, and the data transfer unit 503. In the node B20, the storage medium is connected through the data transfer unit 519 and the storage medium connection unit 518. 517 is connected. The host computer 510 and the host computer 520 are also connected to the storage medium with the same configuration. The functions of the storage medium connection means and the data transfer means connected to the storage medium are often realized by a single computer, and the host connection means, RAID control means, and data transfer means connected to the host computer are the host. A function may be provided in a computer or a function may be realized by a single computer.
[0008]
In this configuration, for example, the host computer 500 uses the storage medium 524 and the storage medium 517 as a distributed storage medium constituting RAID2, and the host computer 510 uses the storage medium 504 and the storage medium 527 as a distributed storage medium constituting RAID2. Then, the host computer 520 uses the storage medium 507 and the storage medium 514 as a distributed storage medium constituting RAID2.
[0009]
[Problems to be solved by the invention]
However, the device disclosed in Japanese Patent Laid-Open No. 5-324579 shows a configuration having parity data, and has the disadvantage that RAID level 1 (mirroring) having the highest reliability and availability without parity data cannot be configured. Have.
In order to increase the speed and reliability, generally, a plurality of RAID level 0 disk array devices are prepared, and each is regarded as a single disk device, and these are combined with a RAID level 1 technology. However, the device disclosed in Japanese Patent Application Laid-Open No. 5-324579 shows a configuration having parity data, and it is not possible to configure RAID level 0 (striping) useful at high speed. Has drawbacks. Further, the apparatus disclosed in Japanese Patent Laid-Open No. 5-324579 has a defect that RAID level 2 using a Hamming code cannot be configured because parity data is calculated by an arithmetic operation using modulo2 addition. .
[0010]
RAID level 6 with one-dimensional redundancy requires two types of redundant data generation algorithms. If modulo2 addition is selected as the first type, the second type is for example a Reed-Solomon error other than modulo2 addition. It is necessary to select a correction encoding method. Since the apparatus disclosed in Japanese Patent Laid-Open No. 5-324579 is compatible only with the addition of modulo 2, it has a drawback that RAID level 6 having one-dimensional redundancy cannot be configured.
[0011]
Further, in RAID level 6 having two-dimensional redundancy, redundant data generation (for example, addition of modulo2) is required for one data write, but this is disclosed in Japanese Patent Laid-Open No. 5-324579. Since the apparatus only generates redundant data once, it has a drawback that RAID level 6 having two-dimensional redundancy cannot be configured.
Furthermore, according to the prior art, a general RAID device has only one RAID controller, so that a natural disaster or the like occurs in an area where the RAID controller is located, and the entire system stops when the RAID controller is destroyed. It has the disadvantage that it cannot have the property that it is accessible to local disasters, that is, the data can be accessed even if the device is destroyed. Further, a general RAID device has only one RAID controller, and therefore has a drawback that it cannot be accessed from a plurality of computers. In addition, a general RAID device has to use a plurality of RAID devices in order to access from a plurality of computers, and each device is constructed completely independently. That is, as shown in FIG. 7 and FIG. 8, when each node has a different file system and the data of each node is distributed and accumulated in each other node with redundancy, the conventional technique uses data transfer means. Since the cost of the storage medium connection means is proportional to the order of the square of the number of nodes, there is a problem that a large amount of investment is required for construction.
[0012]
The present invention has been made in view of the above points, solves the problems described above, and can select and configure a data protection function including RAID level 0 and RAID levels 1 to 6 for each node. An object of the present invention is to provide a low-cost distributed storage method, distributed storage system, and recording medium on which a distributed storage program is recorded, which can be accessed from a plurality of computers without being duplicated. To do.
[0013]
[Means for Solving the Problems]
The invention according to claim 1 is a distributed storage method in which data of a host computer in another node is distributed and accumulated in a distributed storage medium in nodes distant from each other via a communication path. One type of data protection configuration is designated from a plurality of types of data protection configurations by a data division integration unit that divides data when data is written from the host computer to the distributed storage medium and integrates data when data is read. The data transfer means for transferring the data of the host computer and the distributed storage medium to the communication path extending from the one node to the other node is whether the data arriving from the other node is data to the host computer of the one node. Alternatively, it is determined whether the data is for a distributed storage medium installed in the one node, and the data is stored in the host computer. A storage medium connecting unit that distributes data to the distributed storage medium and connects the distributed storage medium and the data transfer unit to the data distributed to the distributed storage medium by a plurality of other nodes that are data transmission sources. In this case, the distributed storage method is characterized in that a plurality of storage media or a plurality of storage areas of a single storage medium are written for each other node and read for each other node.
[0014]
3. The distributed storage method according to claim 2, wherein the data division and integration unit generates redundant data if necessary by the data protection configuration at the time of the data division, and the storage location of the divided data and the redundant data When the redundant data is generated when the data division accumulation information holding the information specifying the data protection information and the information specifying the data protection configuration is generated, if there is data loss at the time of the data integration, the data With reference to the divided accumulation information, the remaining data and the data lost due to the redundant data are restored.
[0015]
According to a third aspect of the present invention, there is provided a distributed storage system in which data of a host computer in another node is distributed and stored in a distributed storage medium in a node distant from each other via a communication path. A data division and integration means for dividing data when writing data from a host computer to a distributed storage medium, integrating data when reading data, and designating one type of data protection configuration from a plurality of types of data protection configurations; and one node Data of the host computer and the distributed storage medium is transferred to a communication path extending from the one node to another node, and the data arriving from the other node is the data to the host computer of the one node or the one of the one node It is determined whether the data is for a distributed storage medium installed in the node, and the data is sent to the host computer or the distributed A data transfer unit that distributes data to a storage medium, and the distributed storage medium and the data transfer unit are connected, and the data distributed to the distributed storage medium is And a storage medium connection means for writing to a plurality of storage areas or a plurality of storage areas of a single storage medium for each node and reading for each other node.
[0016]
The distributed storage system according to claim 4, wherein the data division and integration unit generates redundant data if necessary by the data protection configuration at the time of the data division, and the divided data and the redundant data Means for generating data division accumulation information for holding information for specifying a storage location and information for specifying the data protection configuration, and when the redundant data has been generated, when there is data loss during the data integration Includes means for restoring the remaining data and data lost due to the redundant data with reference to the data division accumulation information.
[0017]
  According to the fifth aspect of the present invention, a distributed storage method for distributing and storing data of a host computer in another node via a communication path in a distributed storage medium in a remote node is executed in the computer of each node. A recording medium on which a distributed storage program is recorded,The computerA data division and integration means for dividing data when writing data from a host computer to a distributed storage medium, integrating data when reading data, and designating one type of data protection configuration from a plurality of types of data protection configurations; Data of the host computer and the distributed storage medium is transferred to a communication path extending from the one node to another node, and the data arriving from the other node is data to the host computer of the one node or the one node Determining whether the data is to be distributed to the distributed storage medium, and transferring the data to the host computer or the distributed storage medium; connecting the distributed storage medium and the data transfer means to the distributed storage medium; When there are a plurality of other nodes as data transmission sources, a plurality of distributed data are assigned to each other node.憶媒 body or write to multiple storage areas of a single storage medium, the storage medium connection means for reading out each said other node,To function asA recording medium on which a distributed storage program is recorded.
[0018]
7. The recording medium on which the distributed storage program according to claim 6 is recorded, wherein the data division and integration means includes means for generating redundant data if necessary according to the data protection configuration at the time of the data division, and the divided data And data division storage information for holding information specifying the storage location of the redundant data, and information specifying the data protection configuration, and when the redundant data is generated, the data is lost when the data is integrated. If there is, there is means for referring to the data division accumulation information and restoring the remaining data and the data lost due to the redundant data.
[0019]
As described above, according to the present invention, the data division and integration means designates a data protection configuration, generates redundant data suitable for the designated data protection configuration, and places the redundant data in a location suitable for the designated data protection configuration. Therefore, the data protection configuration function can be selected and realized for each node. Further, by setting the data protection configuration to any one of RAID0 to RAID6, RAID0 to RAID6 can be selected and realized for each node.
[0020]
Further, according to the present invention, since each node has a data division and integration means, even if a node is destroyed due to a regional disaster, the data accessibility of another node is maintained, so that availability can be realized. In addition, since the data transfer means has a function to determine whether the data arriving from other nodes belongs to the file system of the own node or the file system of the other node, the conventional technology prepares for the own node and other nodes. The data transfer means that had to be shared can be shared, the storage medium connection means can be connected to a single or multiple media, the storage area of single or multiple media is divided by node, and the divided data is written and read by node In the conventional technology, the storage medium connecting means that is equivalent to the number of other nodes can be shared. Therefore, it is possible to reduce the number of devices that are redundantly required in the conventional technique, and it is possible to reduce the cost. Further, since each node is connected to one data transfer means, at least one communication path is required between the host computer and the storage medium in the channel type configuration in the prior art. If it is this, it can be set as a structure and the further cost reduction is attained.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a diagram showing the configuration of the first embodiment of the present invention. As shown in the figure, the first embodiment is composed of a node A 10, a node B 20, and a node C 30, and each node is connected to a bus network by a communication path 130 and a communication path 131. The node A10 includes a host computer 100, a host connection unit 101, a data division and integration unit 102, a data connection unit 103, a storage medium connection unit 104, a storage medium 105, and a storage medium 106, and the node B includes a host computer 110 and a host connection unit. 111, data division integration unit 112, data transfer unit 113, storage medium connection unit 114, storage medium 115, and storage medium 116. Node C is a host computer 120, host connection unit 121, data division integration unit 122, data transfer. It comprises means 123, storage medium connection means 124, storage device 125, and storage device 126. The function of each means and the operation of this embodiment will be described later. Next, an implementation example of each means will be described.
[0022]
For example, the host connection means is provided with a SCSI (Small Computer System Interface) target function, and the host computer interface is operated as a SCSI initiator to connect the host computer and the host connection means. For example, a SCSI initiator function is provided, and a plurality of storage media having a SCSI target function are connected to the storage medium connection means by a daisy chain method. Further, as the communication paths 130 and 131, for example, long distance and large capacity communication is performed using Fiber Channel.
[0023]
The host connection means, data division integration means, data transfer means, and storage medium connection means add, for example, a SCSI initiator function, a SCSI target function, and a Fiber Channel connection function to hardware having one CPU (Central processing unit). Realize. The data division and integration means has, for example, a RAID (Redundant Array of Independent Disks) function, and the storage medium uses a storage device such as a hard disk device or a magneto-optical disk device.
[0024]
FIG. 2 is a diagram describing only the components related to data writing and reading from the host computer 100 of the node A 10 in the configuration of FIG. In the configuration shown in FIG. 1, each node has a host computer, and each host computer can access data independently of other nodes. However, for the sake of simplicity, FIG. Use. Note that the data access operation of each host computer at the node B20 and the node C30 is the same as the data access operation of the host computer 100 at the node A10.
[0025]
In FIG. 2, the virtual storage device 141 viewed from the host computer 100, the virtual storage device 142 of the node B20 viewed from the data division integration unit 102 of the node A10, and the node C30 viewed from the data division integration unit 102 of the node A10. The virtual storage device 143 is described.
Next, the function of each means in FIG. 1 will be described with reference to FIG. In addition, the function demonstrated below using FIG. 2 is the same as the function of each means shown in FIG.
[0026]
In FIG. 2, in the host computer 100, the host connection means 101 is regarded as performing input / output of the virtual storage device 141. Therefore, when the host computer 100 writes and reads data, Specify a logical address. This address uses, for example, SCSI LBA (Logical Block Address). The host connection unit 101 has a function of receiving this logical address from the host computer 100 and sending it to the data division and integration unit 102.
[0027]
Further, in the data division integration unit 102 of the node A10, since the virtual storage device 142 is connected to the node B20 and the virtual storage device 143 is connected to the node C30, the data division integration unit 102 of the node A10 When writing and reading data to and from the virtual storage devices 142 and 143, the logical addresses of 142 and 143 are designated.
[0028]
Therefore, the data division and integration unit 102 of the node A 10 receives the logical address of the virtual storage device 141 as seen from the host computer 100 of the node A 10 from the host connection unit 101 and accesses the data division and integration when accessing data. It has a function of converting the logical addresses of the virtual storage devices 142 and 143 of the node B20 and the node C30 as viewed from the means 102 and sending the converted addresses to the data transfer means. In addition, the data division and integration unit 102 associates a logical address of the virtual storage device 141 with a logical address of the virtual storage 142 or 143, or a table or calculation formula for an address for storing redundant data. Has a function of holding as data division storage information, and further has a function of holding logical addresses of the virtual storage devices 142 and 143 for storing backup information of the data division storage information.
[0029]
The data transfer means 103 has a function of creating a header of a packet addressed to each node and sending the packet to the communication path. The data transfer means also has a function of receiving a packet addressed to its own node and sending an address and data to a storage medium.
The storage medium connection unit 114 of the node B 20 receives the logical address of the virtual storage device 142 of the node B 20 from the data transfer unit 113, and changes the address to the IDs and logical addresses of the storage media 115 and 116 of the node B 20. Has a function of performing the conversion. Similarly to the node B20, the storage medium connecting unit 124 of the node C30 also changes the node C30 from the logical address of the virtual storage device 143 of the node C30 to the ID and logical address of the storage medium 125 and 126 of the node C30. Perform the conversion. As logical IDs and addresses of the storage media 115, 116, 125, 126, for example, SCSI IDs and LBAs are used.
[0030]
Next, the data write operation in the first embodiment will be described with reference to the flowchart shown in FIG. 3 using the configuration shown in FIG.
Step 1) The host computer 100 of the node A10 sends the logical address and data of the virtual storage device 141 to the host connection means 101 of the node A10.
[0031]
Step 2) The host connection unit 101 of the node A10 sends the logical address and data of the virtual storage device 141 to the data division and integration unit 102.
Step 3) The data division integration unit 102 of the node A converts the logical address of the virtual storage device 141 into the logical address of the virtual storage devices 142 and 143 according to the data division accumulation information. If redundant data is required, redundant data is generated, and logical addresses of the virtual storage devices 142 and 143 are assigned according to the data division accumulation information. Thereafter, the virtual storage device ID, the converted address, the divided data, and the redundant data are sent to the data transfer means 103 of the node A10.
[0032]
Step 4) The data transfer means 103 of the node A10 creates a header of the packet addressed to each node based on the virtual storage device ID, and transmits the packet with the address and the divided data or redundant data to the communication paths 130 and 131. To do.
Step 5) The packet addressed to the own node is received by the data transfer means 113 at the node B20 and the data transfer means 123 at the node C30. Then, the received address and data are sent to the storage medium connecting means 114 and 124, respectively.
[0033]
Step 6) The storage medium connection unit 114 of the node B 20 converts the address of the virtual storage device 142 into the ID and logical address of the storage media 115 and 116, and the storage medium connection unit 124 of the node C30 converts the address of the virtual storage device 143. Are converted into IDs and logical addresses of the storage media 125 and 126, and data is sent to the respective storage media according to the respective IDs and addresses for writing.
[0034]
Next, the operation for reading data will be described with reference to the flowchart shown in FIG.
Step 11) The host computer 100 of the node A10 sends the logical address of the virtual storage device 141 to be read to the host connection means 101 of the node A10.
[0035]
Step 12) The host connection unit 101 of the node A10 sends the logical address of the virtual storage device 141 to be read to the data division and integration unit 102.
Step 13) The data division integration means 102 of the node A10 converts the logical address of the virtual storage device 141 into the logical address of the virtual storage devices 142 and 143 according to the data division accumulation information. Thereafter, the ID of the virtual storage device and the converted address are sent to the data transfer means 103 of the node A.
[0036]
Step 14) The data transfer means 103 of the node A10 creates a header of the packet addressed to each node based on the ID of the virtual storage device, and transmits the addressed packet to the communication paths 130 and 131.
Step 15) The node B20 receives the packet addressed to the own node by the data transfer means 113 and the node C30 by the data transfer means 123. Then, the address is sent to the storage medium connecting means 114 and 124, respectively.
[0037]
Step 16) The storage medium connection means 114 of the node B20 converts the address of the virtual storage device 142 into the IDs and logical addresses of the storage media 115 and 116, and the storage medium connection means 124 of the node C30 sets the address of the virtual storage device 143. Are converted into IDs and logical addresses of the storage media 125 and 126, and data is read from the respective storage media according to the respective IDs and addresses. The data read from the storage media 115 and 116 and the address of the virtual storage device 142 are returned to the data transfer means 113, and the data read from the storage media 125 and 126 and the address of the virtual storage device 143 are returned to the data transfer means 123.
[0038]
Step 17) The data transfer means 113 of the node B 20 generates a packet to be returned to the node A 10 from the ID, address and data of the virtual storage device 142, and the data transfer means 123 of the node C 30 determines the ID of the virtual storage device 143. A packet to be returned to the node A10 is generated from the address and data, and is returned to the communication paths 130 and 131, respectively.
[0039]
Step 18) The data transfer means 103 of the node A10 receives the packets from the nodes B20 and C30, and returns the ID, address and data to the data division and integration means 102 of the node A10.
Step 19) The data division integration means 102 of the node A10 converts the ID and address of the virtual storage devices 142 and 143 into the address of the virtual storage device 141 using the data division accumulation information, and the division received from the nodes B20 and C30 Integrate data. The integrated data is returned to the host connection unit 101 of the node A10.
[0040]
Step 20) The host connection means 101 of the node A10 returns the received data to the host computer 100 of the node A10.
In FIG. 2, there are two storage media in each node. However, the storage medium connection means 114 and 124 in each node uses the logical address of the virtual storage device in each node. Since only the ID and address are converted, the number of storage media is not limited to two and can be freely selected according to the required capacity. As described above, the data write and read operations from the host computer described above are the same in the host computer 110 of the node B 20 and the host computer 120 of the node C 30 in FIG.
[0041]
In the configuration shown in FIG. 1, the number of nodes is three. However, if the number of nodes is two or more, the same operation and effect as in the case where the number of nodes is three can be obtained.
Since the configuration is as described above, in the distributed storage device having a different file system for each node, each node has one host connection means, data division integration means, storage medium connection means, and data transfer means. In addition, it is possible to share a communication path even in a channel type configuration. As an effect, it is possible to provide a device at a cost substantially proportional to the number of nodes as shown below.
[0042]
CTotal
= {(CHC+ CDI+ CT+ CT+ CMC) × N} + {CC× (N-1)}
= NCHC+ NCDI+ NCT+ NCT+ NCMC+ (N-1) CC
= NCHC+ NCDI+ 2 NCT+ NCMC+ (N-1) CC
However, CTotalIs the total cost, CHCIs the cost of the host connection, CDIIs the cost of data division integration means, CTIs the cost of the data transfer means, CMCIs the cost of the storage medium connection means, CCRepresents the cost of the communication path, and N represents the number of nodes.
[0043]
As a comparison object, the cost of a configuration for realizing the same function using a bus type network connection using the general RAID device described in FIG.
Figure 0003736134
However, CTotalIs the total cost, CHCIs the cost of the host connection, CDIIs the cost of data division integration means, CTIs the cost of the data transfer means, CMCIs the cost of the storage medium connection means, CCRepresents the cost of the communication path, and N represents the number of nodes.
[0044]
N (N-1) C is calculated by subtracting the former from the latter.T+ N (N-2) CMCIt can be seen that the cost can be reduced. As this result shows, the cost can be reduced compared to the conventional technique.
Further, since the data division and integration means corresponds to RAID 0 to 6, each node can realize the functions of RAID 0 to 6, and each node has the data division and integration means, so even if a node is destroyed due to a regional disaster The data accessibility of another node is maintained and availability can be realized. Further, since each node has a host connection means, access from a plurality of computers is possible.
[0045]
Next, with regard to the recovery operation due to the node failure in order to show the availability, a failure has occurred in the data stored in the distributed storage medium by the host computer 100 of the node A 10 in the configuration of FIG. 1 using FIG. The case will be described.
There are two places where the failure occurs, that is, the occurrence at the node B20 or the node C30 and the occurrence at the node A10. First, a case where it occurs in the node B20 will be described. The same applies to the occurrence at node C30.
[0046]
When the data division integration unit 102 selects RAID level 1, when the data division integration unit 102 detects that the node B 20 cannot be accessed, the data division integration unit 102 accesses only the node C30. This
Data access is possible even when the node B 20 fails. When the node B20 is restored, the node A10 detects information indicating that the node B20 has been restored, restores the data of the node B20 based on the data of the node C30 according to the data division accumulation information, and stores it in the storage medium of the node B20. Data can be recovered by storing. During restoration, data addition and change by data writing from the host computer 100 is incorporated into the restoration operation by the data division and integration means 102, so that data can be accessed even during restoration. The operations for RAID levels 2 to 6 are the same as the operations described above.
[0047]
Next, an operation after a failure has occurred in the node A10 and the failure has been recovered will be described.
The data division and integration means 102 is backed up from a node B20 or a node C30 at a predetermined position on the storage medium because the data division accumulation information in which the position information of the divided data, the RAID level, etc. are written is lost. Acquire data division accumulation information. As a result, the node A10 can access each node. Since there is no loss of data for the host computer 100 due to the failure of the node A10, recovery using RAID levels 0 to 6 is possible.
[0048]
FIG. 5 is a diagram showing the configuration of the second embodiment of the present invention. As shown in the figure, the second embodiment is composed of a node A10, a node B20, and a node C30 as in the first embodiment, and the configuration in each node is the same except for the portion related to the connection method. This is the same as the first embodiment. In the second embodiment, unlike the first embodiment, each node is connected by channel type network connection. That is, the node A 10 and the node B 20 are connected by the communication path 150, the node A 10 and the node C 30 are connected by the communication path 151, and the node B 20 and the node C 30 are connected by the communication path 152.
[0049]
FIG. 6 is a diagram describing only the components related to data writing and reading from the host computer 100 of the node A10 in the configuration of FIG. That is, in the configuration shown in FIG. 5, each node has a host computer, and each host computer can access data independently of other nodes. In the configuration shown in FIG. Only components related to writing and reading are extracted and described. Note that the data access operation of each host computer at the node B20 and the node C30 is the same as the data access operation of the host computer 100 at the node A10.
[0050]
In FIG. 6, the virtual storage device 141 viewed from the host computer 100, the virtual storage device 142 of the node B20 viewed from the data partition integration unit 102 of the node A10, and the node C30 viewed from the data partition integration unit 102 of the node A10. The virtual storage device 143 is described.
The implementation example and function of each means shown in FIG. 5 are the same as those in the first embodiment. The operation of the configuration shown in FIG. 6 is the same as the operation in the first embodiment described in FIG. That is, the distributed storage system according to the present invention performs the same operation regardless of which of the bus type network or the channel type network node is used as the connection means.
[0051]
Also in the configuration shown in the second embodiment, as in the first embodiment, in a distributed storage device having a different file system for each node, each node has host connection means, data division integration means, storage medium connection means, and so on. One data transfer means can be provided, and a communication path can be shared. Here, when the cost effect of the second embodiment is shown, it is possible to provide a device at a low cost substantially proportional to the number of nodes other than the communication path as follows.
[0052]
CTotal
= {(CHC+ CDI+ CT+ CT+ CMC) × N} + {CC× N (N-1)}
= NCHC+ NCDI+ NCT+ NCT+ NCMC+ N (N-1) CC
= NCHC+ NCDI+ 2 NCT+ NCMC+ N (N-1) CC
However, CTotalIs the total cost, CHCIs the cost of the host connection, CDIIs the cost of data division integration means, CTIs the cost of the data transfer means, CMCIs the cost of the storage medium connection means, CCRepresents the cost of the communication path, and N represents the number of nodes.
[0053]
As a comparison target, the cost of a configuration that realizes the same function using the channel type network connection using the general RAID device described in FIG.
Figure 0003736134
However, CTotalIs the total cost, CHCIs the cost of the host connection, CDIIs the cost of data division integration means, CTIs the cost of the data transfer means, CMCIs the cost of the storage medium connection means, CCRepresents the cost of the communication path, and N represents the number of nodes.
[0054]
Taking the difference of the latter from the former, N (N-1) CT+ N (N-2) CMCIt can be seen that the cost can be reduced. As this result shows, the cost can be kept low compared to the prior art. Regarding the communication path, the former costs half as much as the latter.
Similarly to the first embodiment, in the second embodiment, since the data division and integration means corresponds to RAID 0 to 6, each node can realize the functions of RAID 0 to 6, and the data division and integration to each node. Since there is a means, even if a node is destroyed due to a regional disaster, the data accessibility of another node is maintained and availability can be realized. Further, since each node has a host connection means, access from a plurality of computers is possible.
[0055]
Next, an embodiment of a recording medium on which the distributed storage program according to the present invention is recorded will be described. FIG. 9 is a configuration diagram of a computer system including a CPU 600, a memory 601, an external storage device 602, a display 603, a keyboard 604, and a communication processing device 605. A recording medium on which a distributed storage program according to the present invention is recorded is shown in FIG. This corresponds to either or both of the memory 601 and the external storage device 602 shown. Further, a portable storage medium such as a magneto-optical disk, a magnetic disk, or a magnetic tape, or an electronic memory, a hard disk, or the like corresponds to the recording medium of the present invention, and a distributed storage program having the means of the present invention stored in these recording media Is loaded into the computer system shown in FIG. 9, and the computer system is connected to either or both of the host computer and the storage medium, and connected to the system using the method according to the present invention of another node via a communication path. Thus, the above distributed storage method can be used in the computer system.
[0056]
The present invention is not limited to the above-described embodiments, and various modifications and applications can be made within the scope of the claims.
[0057]
【The invention's effect】
As described above, according to the present invention, the data division and integration means designates a data protection configuration, generates redundant data suitable for the designated data protection configuration, and places the redundant data in a location suitable for the designated data protection configuration. Therefore, the data protection configuration function can be selected and realized for each node. Further, by setting the data protection configuration to any one of RAID0 to RAID6, RAID0 to RAID6 can be selected and realized for each node.
[0058]
Further, according to the present invention, since each node has a data division and integration means, even if a node is destroyed due to a regional disaster, the data accessibility of another node is maintained, so that availability can be realized. Further, the data transfer means in each node has a data distribution function, and the storage medium connection means connected to the data transfer means can access data to the storage medium or storage area assigned to each node. A plurality of storage media that are accessed from the host computer of the own node and a plurality of host computers of other nodes can be provided in the own node by the data transfer means and the storage medium connection means, and the cost can be reduced. In addition, a channel type configuration can also share a communication path, and further cost reduction is possible.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first exemplary embodiment of the present invention.
FIG. 2 is a diagram for explaining the operation of the first exemplary embodiment of the present invention.
FIG. 3 is a flowchart showing a write operation of the host computer according to the first embodiment of the present invention.
FIG. 4 is a flowchart showing a read operation of the host computer according to the first embodiment of the present invention.
FIG. 5 is a diagram showing a configuration of a second exemplary embodiment of the present invention.
FIG. 6 is a diagram for clearly showing the operation of the second exemplary embodiment of the present invention.
FIG. 7 is a first example of a distributed storage device in the prior art.
FIG. 8 is a second example of a distributed storage device in the prior art.
FIG. 9 is a configuration diagram of a computer system in an embodiment of a recording medium of the present invention.
[Explanation of symbols]
10 Node A
20 Node B
30 Node C
100, 110, 120, 500, 510, 520 Host computer
101, 111, 121, 501, 511, 521 Host connection means
102, 112, 122 Data division and integration means
502, 512, 522 RAID control means
103, 113, 123, 503, 513, 523 Data transfer means
506, 516, 526, 509, 519, 529 Data transfer means
104, 114, 124, 505, 515, 525 Storage medium connection means
508, 518, 528 Storage medium connection means
504, 514, 524, 507, 517, 527 Storage medium
130, 131, 530, 531 communication path
540, 541, 542, 543, 544 Communication path
600 CPU
601 memory
602 External storage device
603 display
604 keyboard
605 communication processing apparatus

Claims (6)

互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶方法であって、
各ノードにおいて、
ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合するデータ分割統合手段は、複数種類のデータ保護構成から1種類のデータ保護構成を指定し、
一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送するデータ転送手段は、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断し、該データを該ホストコンピュータあるいは該分散記憶媒体に振り分け、
該分散記憶媒体と該データ転送手段とを接続する記憶媒体接続手段は、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す、
ことを特徴とする分散記憶方法。
A distributed storage method in which data of a host computer in another node is distributed and accumulated via a communication path in a distributed storage medium in nodes separated from each other,
At each node
A data division and integration means for dividing data when writing data to a distributed storage medium from a host computer and integrating data when reading data designates one type of data protection configuration from a plurality of types of data protection configurations,
The data transfer means for transferring the data of the host computer of the one node and the distributed storage medium to a communication path extending from the one node to the other node, the data arriving from the other node to the host computer of the one node Or the data to the distributed storage medium installed in the one node, and distribute the data to the host computer or the distributed storage medium,
A storage medium connection unit that connects the distributed storage medium and the data transfer unit is configured to transfer the data distributed to the distributed storage medium for each of the other nodes when there are a plurality of other nodes that are data transmission sources. Write to multiple storage areas or multiple storage areas of a single storage medium and read for each other node,
A distributed storage method.
前記データ分割統合手段は、
前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成し、
分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成し、
該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する、
ことを特徴とする請求項1記載の分散記憶方法。
The data division and integration means includes
When the data is divided, redundant data is generated if necessary by the data protection configuration;
Generating data division accumulation information holding information specifying the storage location of the divided data and the redundant data, and information specifying the data protection configuration;
When the redundant data has been generated, when there is data loss at the time of the data integration, the remaining data and the data lost due to the redundant data are restored by referring to the data division accumulation information.
The distributed storage method according to claim 1.
互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶システムであって、
各ノードにおいて、
ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合し、複数種類のデータ保護構成から1種類のデータ保護構成を指定するデータ分割統合手段と、
一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送し、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断して該データを該ホストコンピュータあるいは該分散記憶媒体に振り分けるデータ転送手段と、
該分散記憶媒体と該データ転送手段とを接続し、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す記憶媒体接続手段と、
を有することを特徴とする分散記憶システム。
A distributed storage system in which data of a host computer at another node is distributed and accumulated via a communication path in a distributed storage medium at nodes distant from each other,
At each node
Data division and integration means for dividing data when writing data from a host computer to a distributed storage medium, integrating data when reading data, and designating one type of data protection configuration from a plurality of types of data protection configurations;
The data of the host computer of the one node and the distributed storage medium are transferred to a communication path extending from the one node to the other node, and the data arriving from the other node is data to the host computer of the one node or Data transfer means for determining whether the data is for a distributed storage medium installed in the one node and distributing the data to the host computer or the distributed storage medium;
When the distributed storage medium and the data transfer means are connected, and the data distributed to the distributed storage medium is a plurality of other storage nodes or data for each of the other nodes, Storage medium connection means for writing to a plurality of storage areas of one storage medium and reading for each of the other nodes;
A distributed storage system comprising:
前記データ分割統合手段は、
前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成する手段と、
分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成する手段と、
該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する手段と、
を有することを特徴とする請求項3記載の分散記憶システム。
The data division and integration means includes
Means for generating redundant data if required by the data protection configuration during the data division;
Means for generating data division accumulation information for holding the divided data and information for specifying the storage location of the redundant data, and information for specifying the data protection configuration;
When the redundant data is generated, when there is data loss at the time of the data integration, means for restoring the remaining data and data lost by the redundant data with reference to the data division storage information,
4. The distributed storage system according to claim 3, further comprising:
互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶方法を各ノードのコンピュータに実行させる分散記憶プログラムを記録した記録媒体であって、前記コンピュータを
ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合し、複数種類のデータ保護構成から1種類のデータ保護構成を指定するデータ分割統合手段、
一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送し、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断して該データを該ホストコンピュータあるいは該分散記憶媒体に振り分けるデータ転送手段、
該分散記憶媒体と該データ転送手段とを接続し、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す記憶媒体接続手段、
として機能させるための分散記憶プログラムを記録した記録媒体。
Recording medium recording a distributed storage program that causes a computer of each node to execute a distributed storage method in which data of a host computer in another node is distributed and stored via a communication path in a distributed storage medium in a remote node And the computer
Data division and integration means for dividing data when writing data from a host computer to a distributed storage medium, integrating data when reading data, and designating one type of data protection configuration from a plurality of types of data protection configurations;
The data of the host computer of the one node and the distributed storage medium are transferred to a communication path extending from the one node to the other node, and the data arriving from the other node is data to the host computer of the one node or Data transfer means for determining whether the data is for a distributed storage medium installed at the one node and distributing the data to the host computer or the distributed storage medium;
When the distributed storage medium and the data transfer means are connected, and the data distributed to the distributed storage medium is a plurality of other storage nodes or data for each of the other nodes, Storage medium connection means for writing to a plurality of storage areas of one storage medium and reading each other node;
A recording medium on which a distributed storage program for functioning as a recording medium is recorded.
前記データ分割統合手段は、
前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成する手段と、
分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成する手段と、
該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する手段と、
を有することを特徴とする請求項5記載の分散記憶プログラムを記録した記録媒体。
The data division and integration means includes
Means for generating redundant data if required by the data protection configuration during the data division;
Means for generating data division accumulation information for holding the divided data and information for specifying the storage location of the redundant data, and information for specifying the data protection configuration;
When the redundant data is generated, when there is data loss at the time of the data integration, means for restoring the remaining data and data lost by the redundant data with reference to the data division storage information,
6. A recording medium on which the distributed storage program according to claim 5 is recorded.
JP24334298A 1998-08-28 1998-08-28 Distributed storage method, distributed storage system, and recording medium recording distributed storage program Expired - Fee Related JP3736134B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24334298A JP3736134B2 (en) 1998-08-28 1998-08-28 Distributed storage method, distributed storage system, and recording medium recording distributed storage program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24334298A JP3736134B2 (en) 1998-08-28 1998-08-28 Distributed storage method, distributed storage system, and recording medium recording distributed storage program

Publications (2)

Publication Number Publication Date
JP2000076207A JP2000076207A (en) 2000-03-14
JP3736134B2 true JP3736134B2 (en) 2006-01-18

Family

ID=17102408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24334298A Expired - Fee Related JP3736134B2 (en) 1998-08-28 1998-08-28 Distributed storage method, distributed storage system, and recording medium recording distributed storage program

Country Status (1)

Country Link
JP (1) JP3736134B2 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268952A (en) * 2001-03-13 2002-09-20 Mitsubishi Heavy Ind Ltd Distributed storage system of data, program and server
JP4144549B2 (en) 2004-03-31 2008-09-03 日本電気株式会社 Data storage system and control method of the system
US7516354B2 (en) * 2004-08-25 2009-04-07 International Business Machines Corporation Storing parity information for data recovery
JP4546387B2 (en) 2005-11-17 2010-09-15 富士通株式会社 Backup system, method and program
JP4718340B2 (en) 2006-02-02 2011-07-06 富士通株式会社 Storage system, control method and program
JP4767139B2 (en) * 2006-09-15 2011-09-07 富士通株式会社 Storage management program, storage management device, and storage management method
JP4985647B2 (en) 2006-09-29 2012-07-25 富士通株式会社 Repair program, repair device, and repair method
WO2009149388A1 (en) 2008-06-06 2009-12-10 Pivot3 Method and system for distributing commands to targets
US8219750B2 (en) * 2008-06-30 2012-07-10 Pivot3 Method and system for execution of applications in conjunction with distributed RAID
JP5464347B2 (en) * 2010-02-22 2014-04-09 日本電気株式会社 Memory failure processing apparatus, memory failure processing method, and memory failure processing program
JP2012175535A (en) * 2011-02-23 2012-09-10 Brother Ind Ltd Node apparatus, information processing method, and program
US8527699B2 (en) 2011-04-25 2013-09-03 Pivot3, Inc. Method and system for distributed RAID implementation
CN112667153A (en) * 2020-12-22 2021-04-16 军事科学院系统工程研究院网络信息研究所 Multi-site disaster recovery backup method based on distributed raid slices

Also Published As

Publication number Publication date
JP2000076207A (en) 2000-03-14

Similar Documents

Publication Publication Date Title
US9448886B2 (en) Flexible data storage system
JP5038897B2 (en) Storage of parity information for data recovery
JP3742494B2 (en) Mass storage device
US5805788A (en) Raid-5 parity generation and data reconstruction
JP5124792B2 (en) File server for RAID (Redundant Array of Independent Disks) system
US20030084397A1 (en) Apparatus and method for a distributed raid
US10353787B2 (en) Data stripping, allocation and reconstruction
US20040037120A1 (en) Storage system using fast storage devices for storing redundant data
JPH0642193B2 (en) Update recording method and apparatus for DASD array
WO2002003204A1 (en) Three interconnected raid disk controller data processing system architecture
JP3736134B2 (en) Distributed storage method, distributed storage system, and recording medium recording distributed storage program
WO2005043389A2 (en) Method and apparatus for enabling high-reliability storage of distributed data on a plurality of independent storage devices
JP2011530746A (en) System and method for transmitting data between different RAID data storage formats for current data and playback data
US6301711B1 (en) System and method for the network support of full motion video using a redundant array of inexpensive disks
US20070106925A1 (en) Method and system using checksums to repair data
JPH09269871A (en) Data re-redundancy making system in disk array device
JP2011253400A (en) Distributed mirrored disk system, computer device, mirroring method and its program
US7007193B1 (en) Method and system for reconstructing data serially arranged on a magnetic tape track
JP7137612B2 (en) DISTRIBUTED STORAGE SYSTEM, DATA RECOVERY METHOD, AND DATA PROCESSING PROGRAM
JP3584665B2 (en) Library storage device using portable media
JPH09297663A (en) Disk array device
Wu et al. Parity-distribution: a shortcut to reliable cluster computing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041112

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: 20051004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051017

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees